From 56c6682a245c395dbfe3b8e43b9f9d5a930631c5 Mon Sep 17 00:00:00 2001 From: zeluisping Date: Tue, 19 Aug 2025 00:06:11 +0100 Subject: [PATCH 01/16] sdr min v1.0.3 & fixed versions for ethers and hardhat --- packages/contracts/package.json | 8 +- pnpm-lock.yaml | 499 ++++++++++++++++++-------------- 2 files changed, 279 insertions(+), 228 deletions(-) diff --git a/packages/contracts/package.json b/packages/contracts/package.json index 8ff7a3c..5bcc2ab 100644 --- a/packages/contracts/package.json +++ b/packages/contracts/package.json @@ -24,8 +24,8 @@ "types": "dist/index.d.ts", "devDependencies": { "@account-abstraction/contracts": "0.7.0", - "@appliedblockchain/silentdatarollup-core": "^1.0.1", - "@appliedblockchain/silentdatarollup-hardhat-plugin": "^1.0.1", + "@appliedblockchain/silentdatarollup-core": "^1.0.3", + "@appliedblockchain/silentdatarollup-hardhat-plugin": "^1.0.3", "@nomicfoundation/ethereumjs-util": "^9.0.4", "@nomicfoundation/hardhat-chai-matchers": "^2.0.2", "@nomicfoundation/hardhat-ethers": "^3.0.5", @@ -47,8 +47,8 @@ "chai": "^4.3.10", "dotenv": "^16.5.0", "eslint-config-xs": "^2.6.3", - "ethers": "^6.12.0", - "hardhat": "^2.22.14", + "ethers": "6.13.2", + "hardhat": "2.22.10", "hardhat-gas-reporter": "^1.0.9", "hardhat-tracer": "^3.1.0", "mocha": "^10.7.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5386a22..f425a85 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -61,38 +61,38 @@ importers: specifier: 0.7.0 version: 0.7.0 '@appliedblockchain/silentdatarollup-core': - specifier: ^1.0.1 - version: 1.0.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + specifier: ^1.0.3 + version: 1.0.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@appliedblockchain/silentdatarollup-hardhat-plugin': - specifier: ^1.0.1 - version: 1.0.1(bufferutil@4.0.9)(ethers@6.14.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10) + specifier: ^1.0.3 + version: 1.0.3(bufferutil@4.0.9)(ethers@6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10) '@nomicfoundation/ethereumjs-util': specifier: ^9.0.4 version: 9.0.4 '@nomicfoundation/hardhat-chai-matchers': specifier: ^2.0.2 - version: 2.0.8(@nomicfoundation/hardhat-ethers@3.0.8(ethers@6.14.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)))(chai@4.5.0)(ethers@6.14.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)) + version: 2.0.8(@nomicfoundation/hardhat-ethers@3.0.8(ethers@6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)))(chai@4.5.0)(ethers@6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)) '@nomicfoundation/hardhat-ethers': specifier: ^3.0.5 - version: 3.0.8(ethers@6.14.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)) + version: 3.0.8(ethers@6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)) '@nomicfoundation/hardhat-foundry': specifier: ^1.1.3 - version: 1.1.3(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)) + version: 1.1.3(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)) '@nomicfoundation/hardhat-ignition': specifier: ^0.15.7 - version: 0.15.11(@nomicfoundation/hardhat-verify@2.0.13(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)))(bufferutil@4.0.9)(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10) + version: 0.15.11(@nomicfoundation/hardhat-verify@2.0.13(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)))(bufferutil@4.0.9)(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10) '@nomicfoundation/hardhat-ignition-ethers': specifier: ^0.15.7 - version: 0.15.11(@nomicfoundation/hardhat-ethers@3.0.8(ethers@6.14.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)))(@nomicfoundation/hardhat-ignition@0.15.11(@nomicfoundation/hardhat-verify@2.0.13(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)))(bufferutil@4.0.9)(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10))(@nomicfoundation/ignition-core@0.15.11(bufferutil@4.0.9)(utf-8-validate@5.0.10))(ethers@6.14.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)) + version: 0.15.11(@nomicfoundation/hardhat-ethers@3.0.8(ethers@6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)))(@nomicfoundation/hardhat-ignition@0.15.11(@nomicfoundation/hardhat-verify@2.0.13(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)))(bufferutil@4.0.9)(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10))(@nomicfoundation/ignition-core@0.15.11(bufferutil@4.0.9)(utf-8-validate@5.0.10))(ethers@6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)) '@nomicfoundation/hardhat-network-helpers': specifier: ^1.0.9 - version: 1.0.12(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)) + version: 1.0.12(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)) '@nomicfoundation/hardhat-toolbox': specifier: ^5.0.0 - version: 5.0.0(vjoiztjg7maob2f5tg55u4qsgy) + version: 5.0.0(a5bv3rhc7zwc5e3ixgdc6q4a2i) '@nomicfoundation/hardhat-verify': specifier: ^2.0.6 - version: 2.0.13(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)) + version: 2.0.13(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)) '@nomicfoundation/ignition-core': specifier: ^0.15.1 version: 0.15.11(bufferutil@4.0.9)(utf-8-validate@5.0.10) @@ -107,10 +107,10 @@ importers: version: 2.3.15 '@typechain/ethers-v6': specifier: ^0.5.1 - version: 0.5.1(ethers@6.14.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(typechain@8.3.2(typescript@5.5.4))(typescript@5.5.4) + version: 0.5.1(ethers@6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10))(typechain@8.3.2(typescript@5.5.4))(typescript@5.5.4) '@typechain/hardhat': specifier: ^9.1.0 - version: 9.1.0(@typechain/ethers-v6@0.5.1(ethers@6.14.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(typechain@8.3.2(typescript@5.5.4))(typescript@5.5.4))(ethers@6.14.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))(typechain@8.3.2(typescript@5.5.4)) + version: 9.1.0(@typechain/ethers-v6@0.5.1(ethers@6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10))(typechain@8.3.2(typescript@5.5.4))(typescript@5.5.4))(ethers@6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))(typechain@8.3.2(typescript@5.5.4)) '@types/chai': specifier: ^4.3.11 version: 4.3.20 @@ -130,23 +130,23 @@ importers: specifier: ^2.6.3 version: 2.6.10(@types/eslint@8.56.12)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4)) ethers: - specifier: ^6.12.0 - version: 6.14.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + specifier: 6.13.2 + version: 6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) hardhat: - specifier: ^2.22.14 - version: 2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10) + specifier: 2.22.10 + version: 2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10) hardhat-gas-reporter: specifier: ^1.0.9 - version: 1.0.10(bufferutil@4.0.9)(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10) + version: 1.0.10(bufferutil@4.0.9)(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10) hardhat-tracer: specifier: ^3.1.0 - version: 3.2.0(bufferutil@4.0.9)(chai@4.5.0)(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10) + version: 3.2.0(bufferutil@4.0.9)(chai@4.5.0)(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10) mocha: specifier: ^10.7.3 version: 10.8.2 solidity-coverage: specifier: ^0.8.5 - version: 0.8.16(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)) + version: 0.8.16(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)) ts-node: specifier: ^10.9.1 version: 10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4) @@ -233,12 +233,12 @@ packages: resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} engines: {node: '>=10'} - '@appliedblockchain/silentdatarollup-core@1.0.1': - resolution: {integrity: sha512-a9b7UtgP6ROYsz2yFDzRGCbGWkquOcj9z8v2iZfO1+I3TAKQE6cyUpwrQoVDhRJF/r9N49ffqM6KLn+GVJYl7Q==} + '@appliedblockchain/silentdatarollup-core@1.0.3': + resolution: {integrity: sha512-WM5nc0UML0OXRZD4/KqVwBdye5BXWEtIomb7UPlIp4E692FLtmtwv8YxBBWQVXG14iDNaCZ1SSUonswSwPik1Q==} engines: {node: '>=18.0.0'} - '@appliedblockchain/silentdatarollup-hardhat-plugin@1.0.1': - resolution: {integrity: sha512-oS8oU3MhJM+mgEjffZxxpKa9TGT2joZuCY/H+nnHwSL23F5nF/iXnUj9mnTlte4ffKmCmvXvllicbl1SVitRYg==} + '@appliedblockchain/silentdatarollup-hardhat-plugin@1.0.3': + resolution: {integrity: sha512-J98UcfW/a6gEizwta9cxhmgNlKd/ndHRfXsTxzNqtXmf5ft+J/GfjF/7fu8jpltj/BVrcRnY2+YmD3KUOjvkHQ==} engines: {node: '>=18.0.0'} peerDependencies: ethers: 6.13.2 @@ -547,11 +547,6 @@ packages: engines: {node: '>=14'} hasBin: true - '@ethereumjs/rlp@5.0.2': - resolution: {integrity: sha512-DziebCdg4JpGlEqEdGgXmjqcFoJi+JGulUXwEjsZGAscAQ7MyD/7LE/GVCP29vEQxKc7AAwjT3A2ywHp2xfoCA==} - engines: {node: '>=18'} - hasBin: true - '@ethereumjs/tx@4.2.0': resolution: {integrity: sha512-1nc6VO4jtFd172BbSnTnDQVr9IYBFl1y4xPzZdtkrkKIncBCkdbgfdRV+MiTkJYAtTxvV12GRZLqBFT1PNK6Yw==} engines: {node: '>=14'} @@ -560,10 +555,6 @@ packages: resolution: {integrity: sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==} engines: {node: '>=14'} - '@ethereumjs/util@9.1.0': - resolution: {integrity: sha512-XBEKsYqLGXLah9PNJbgdkigthkG7TAGvlD/sH12beMXEyHDyigfcbdvHhmLyDWgDyOJn4QwiQUaF7yeuhnjdog==} - engines: {node: '>=18'} - '@ethersproject/abi@5.8.0': resolution: {integrity: sha512-b9YS/43ObplgyV6SlyQsG53/vkSal0MNA1fskSC4mbnCMi8R+NkcH8K9FPYNESf6jUefBUniE4SOKms0E/KK1Q==} @@ -855,6 +846,10 @@ packages: resolution: {integrity: sha512-whiUMPlAOrVGmX8aKYVPvlKyG4CpQXiNNyt74vE1xb5sPvmx5oA7B/kOi/JdBvhGQq97U1/AVdXEdk2zkP8qyA==} engines: {node: '>=14.0.0'} + '@metamask/eth-sig-util@4.0.1': + resolution: {integrity: sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ==} + engines: {node: '>=12.0.0'} + '@metamask/json-rpc-engine@7.3.3': resolution: {integrity: sha512-dwZPq8wx9yV3IX2caLi9q9xZBw2XeIoYqdyihDDDpuHVCEiqadJLwqM3zy+uwf6F1QYQ65A8aOMQg1Uw7LMLNg==} engines: {node: '>=16.0.0'} @@ -1175,43 +1170,55 @@ packages: resolution: {integrity: sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==} engines: {node: '>=12.4.0'} - '@nomicfoundation/edr-darwin-arm64@0.11.0': - resolution: {integrity: sha512-aYTVdcSs27XG7ayTzvZ4Yn9z/ABSaUwicrtrYK2NR8IH0ik4N4bWzo/qH8rax6rewVLbHUkGyGYnsy5ZN4iiMw==} + '@nomicfoundation/edr-darwin-arm64@0.5.2': + resolution: {integrity: sha512-Gm4wOPKhbDjGTIRyFA2QUAPfCXA1AHxYOKt3yLSGJkQkdy9a5WW+qtqKeEKHc/+4wpJSLtsGQfpzyIzggFfo/A==} engines: {node: '>= 18'} - '@nomicfoundation/edr-darwin-x64@0.11.0': - resolution: {integrity: sha512-RxX7UYgvJrfcyT/uHUn44Nsy1XaoW+Q1khKMdHKxeW7BrgIi+Lz+siz3bX5vhSoAnKilDPhIVLrnC8zxQhjR2A==} + '@nomicfoundation/edr-darwin-x64@0.5.2': + resolution: {integrity: sha512-ClyABq2dFCsrYEED3/UIO0c7p4H1/4vvlswFlqUyBpOkJccr75qIYvahOSJRM62WgUFRhbSS0OJXFRwc/PwmVg==} engines: {node: '>= 18'} - '@nomicfoundation/edr-linux-arm64-gnu@0.11.0': - resolution: {integrity: sha512-J0j+rs0s11FuSipt/ymqrFmpJ7c0FSz1/+FohCIlUXDxFv//+1R/8lkGPjEYFmy8DPpk/iO8mcpqHTGckREbqA==} + '@nomicfoundation/edr-linux-arm64-gnu@0.5.2': + resolution: {integrity: sha512-HWMTVk1iOabfvU2RvrKLDgtFjJZTC42CpHiw2h6rfpsgRqMahvIlx2jdjWYzFNy1jZKPTN1AStQ/91MRrg5KnA==} engines: {node: '>= 18'} - '@nomicfoundation/edr-linux-arm64-musl@0.11.0': - resolution: {integrity: sha512-4r32zkGMN7WT/CMEuW0VjbuEdIeCskHNDMW4SSgQSJOE/N9L1KSLJCSsAbPD3aYE+e4WRDTyOwmuLjeUTcLZKQ==} + '@nomicfoundation/edr-linux-arm64-musl@0.5.2': + resolution: {integrity: sha512-CwsQ10xFx/QAD5y3/g5alm9+jFVuhc7uYMhrZAu9UVF+KtVjeCvafj0PaVsZ8qyijjqVuVsJ8hD1x5ob7SMcGg==} engines: {node: '>= 18'} - '@nomicfoundation/edr-linux-x64-gnu@0.11.0': - resolution: {integrity: sha512-SmdncQHLYtVNWLIMyGaY6LpAfamzTDe3fxjkirmJv3CWR5tcEyC6LMui/GsIVnJzXeNJBXAzwl8hTUAxHTM6kQ==} + '@nomicfoundation/edr-linux-x64-gnu@0.5.2': + resolution: {integrity: sha512-CWVCEdhWJ3fmUpzWHCRnC0/VLBDbqtqTGTR6yyY1Ep3S3BOrHEAvt7h5gx85r2vLcztisu2vlDq51auie4IU1A==} engines: {node: '>= 18'} - '@nomicfoundation/edr-linux-x64-musl@0.11.0': - resolution: {integrity: sha512-w6hUqpn/trwiH6SRuRGysj37LsQVCX5XDCA3Xi81sbOaLhbHrNvK9TXWyZmcuzbdTKQQW6VNywcSxDdOiChcJg==} + '@nomicfoundation/edr-linux-x64-musl@0.5.2': + resolution: {integrity: sha512-+aJDfwhkddy2pP5u1ISg3IZVAm0dO836tRlDTFWtvvSMQ5hRGqPcWwlsbobhDQsIxhPJyT7phL0orCg5W3WMeA==} engines: {node: '>= 18'} - '@nomicfoundation/edr-win32-x64-msvc@0.11.0': - resolution: {integrity: sha512-BLmULjRKoH9BsX+c4Na2ypV7NGeJ+M6Zpqj/faPOwleVscDdSr/IhriyPaXCe8dyfwbge7lWsbekiADtPSnB2Q==} + '@nomicfoundation/edr-win32-x64-msvc@0.5.2': + resolution: {integrity: sha512-CcvvuA3sAv7liFNPsIR/68YlH6rrybKzYttLlMr80d4GKJjwJ5OKb3YgE6FdZZnOfP19HEHhsLcE0DPLtY3r0w==} engines: {node: '>= 18'} - '@nomicfoundation/edr@0.11.0': - resolution: {integrity: sha512-36WERf8ldvyHR6UAbcYsa+vpbW7tCrJGBwF4gXSsb8+STj1n66Hz85Y/O7B9+8AauX3PhglvV5dKl91tk43mWw==} + '@nomicfoundation/edr@0.5.2': + resolution: {integrity: sha512-hW/iLvUQZNTVjFyX/I40rtKvvDOqUEyIi96T28YaLfmPL+3LW2lxmYLUXEJ6MI14HzqxDqrLyhf6IbjAa2r3Dw==} engines: {node: '>= 18'} + '@nomicfoundation/ethereumjs-common@4.0.4': + resolution: {integrity: sha512-9Rgb658lcWsjiicr5GzNCjI1llow/7r0k50dLL95OJ+6iZJcVbi15r3Y0xh2cIO+zgX0WIHcbzIu6FeQf9KPrg==} + '@nomicfoundation/ethereumjs-rlp@5.0.4': resolution: {integrity: sha512-8H1S3s8F6QueOc/X92SdrA4RDenpiAEqMg5vJH99kcQaCy/a3Q6fgseo75mgWlbanGJXSlAPtnCeG9jvfTYXlw==} engines: {node: '>=18'} hasBin: true + '@nomicfoundation/ethereumjs-tx@5.0.4': + resolution: {integrity: sha512-Xjv8wAKJGMrP1f0n2PeyfFCCojHd7iS3s/Ab7qzF1S64kxZ8Z22LCMynArYsVqiFx6rzYy548HNVEyI+AYN/kw==} + engines: {node: '>=18'} + peerDependencies: + c-kzg: ^2.1.2 + peerDependenciesMeta: + c-kzg: + optional: true + '@nomicfoundation/ethereumjs-util@9.0.4': resolution: {integrity: sha512-sLOzjnSrlx9Bb9EFNtHzK/FJFsfg2re6bsGqinFinH1gCqVfz9YYlXiMWwDM4C/L4ywuHFCYwfKTVr/QHQcU0Q==} engines: {node: '>=18'} @@ -1976,6 +1983,9 @@ packages: hardhat: ^2.9.9 typechain: ^8.3.2 + '@types/bn.js@4.11.6': + resolution: {integrity: sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==} + '@types/bn.js@5.1.6': resolution: {integrity: sha512-Xh8vSwUeMKeYYrj3cX4lGQgFSF/N03r+tv4AiLl1SucqV+uTQpxRcnM8AkXKHwYP9ZPXOYXRr2KPXpVlIvqh9w==} @@ -3753,6 +3763,13 @@ packages: ethereum-cryptography@2.2.1: resolution: {integrity: sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==} + ethereumjs-abi@0.6.8: + resolution: {integrity: sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==} + deprecated: This library has been deprecated and usage is discouraged. + + ethereumjs-util@6.2.1: + resolution: {integrity: sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==} + ethereumjs-util@7.1.5: resolution: {integrity: sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==} engines: {node: '>=10.0.0'} @@ -3764,14 +3781,14 @@ packages: resolution: {integrity: sha512-9VkriTTed+/27BGuY1s0hf441kqwHJ1wtN2edksEtiRvXx+soxRX3iSXTfFqq2+YwrOqbDoTHjIhQnjJRlzKmg==} engines: {node: '>=14.0.0'} - ethers@6.14.1: - resolution: {integrity: sha512-JnFiPFi3sK2Z6y7jZ3qrafDMwiXmU+6cNZ0M+kPq+mTy9skqEzwqAdFW3nb/em2xjlIVXX6Lz8ID6i3LmS4+fQ==} - engines: {node: '>=14.0.0'} - ethjs-unit@0.1.6: resolution: {integrity: sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==} engines: {node: '>=6.5.0', npm: '>=3'} + ethjs-util@0.1.6: + resolution: {integrity: sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==} + engines: {node: '>=6.5.0', npm: '>=3'} + event-target-shim@5.0.1: resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} engines: {node: '>=6'} @@ -3896,8 +3913,9 @@ packages: resolution: {integrity: sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==} engines: {node: '>=4.0.0'} - find-root@1.1.0: - resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} + find-up@2.1.0: + resolution: {integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==} + engines: {node: '>=4'} find-up@4.1.0: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} @@ -4062,6 +4080,10 @@ packages: resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==} deprecated: Glob versions prior to v9 are no longer supported + glob@7.2.0: + resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==} + deprecated: Glob versions prior to v9 are no longer supported + glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Glob versions prior to v9 are no longer supported @@ -4133,8 +4155,8 @@ packages: chai: 4.x hardhat: '>=2.22.5 <3.x' - hardhat@2.24.0: - resolution: {integrity: sha512-wDkD5GPmttYv21MR7tGDkyQ22tO2V86OEV8pA7NcXWYUpibe8XZ2EanXCeRHO61vwEx0f7/M+NqrhJwasaNMJg==} + hardhat@2.22.10: + resolution: {integrity: sha512-JRUDdiystjniAvBGFmJRsiIZSOP2/6s++8xRDe3TzLeQXlWWHsXBrd9wd3JWFyKXvgMqMeLL5Sz/oNxXKYw9vg==} hasBin: true peerDependencies: ts-node: '*' @@ -4548,10 +4570,6 @@ packages: json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - json-stream-stringify@3.1.6: - resolution: {integrity: sha512-x7fpwxOkbhFCaJDJ8vb1fBY3DdSa4AlITaz+HHILQJzdPMnHEFjxPwVUi1ALIbcIxDE0PNe/0i7frnY8QnBQog==} - engines: {node: '>=7.10.1'} - json-stringify-safe@5.0.1: resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} @@ -4654,6 +4672,10 @@ packages: localforage@1.10.0: resolution: {integrity: sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==} + locate-path@2.0.0: + resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} + engines: {node: '>=4'} + locate-path@5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} engines: {node: '>=8'} @@ -4752,15 +4774,9 @@ packages: resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} engines: {node: '>= 0.6'} - micro-eth-signer@0.14.0: - resolution: {integrity: sha512-5PLLzHiVYPWClEvZIXXFu5yutzpadb73rnQCpUqIHu3No3coFuWQNfE5tkBQJ7djuLYl6aRLaS0MgWJYGoqiBw==} - micro-ftch@0.3.1: resolution: {integrity: sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==} - micro-packed@0.7.3: - resolution: {integrity: sha512-2Milxs+WNC00TRlem41oRswvw31146GiSaoCT7s3Xi2gMUglW5QBeqlQaZeHr5tJx9nm3i57LNXPqxOOaWtTYg==} - micromatch@4.0.8: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} @@ -5082,6 +5098,10 @@ packages: typescript: optional: true + p-limit@1.3.0: + resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} + engines: {node: '>=4'} + p-limit@2.3.0: resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} engines: {node: '>=6'} @@ -5090,6 +5110,10 @@ packages: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} + p-locate@2.0.0: + resolution: {integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==} + engines: {node: '>=4'} + p-locate@4.1.0: resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} engines: {node: '>=8'} @@ -5102,6 +5126,10 @@ packages: resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} engines: {node: '>=10'} + p-try@1.0.0: + resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==} + engines: {node: '>=4'} + p-try@2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} @@ -5128,6 +5156,10 @@ packages: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} + path-exists@3.0.0: + resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} + engines: {node: '>=4'} + path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -5945,6 +5977,7 @@ packages: source-map@0.8.0-beta.0: resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} engines: {node: '>= 8'} + deprecated: The work that was done in this beta branch won't be included in future versions spdx-correct@3.2.0: resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} @@ -6256,9 +6289,6 @@ packages: tslib@2.4.0: resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} - tslib@2.7.0: - resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} - tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} @@ -6298,9 +6328,15 @@ packages: tunnel-agent@0.6.0: resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + tweetnacl-util@0.15.1: + resolution: {integrity: sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==} + tweetnacl@0.14.5: resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} + tweetnacl@1.0.3: + resolution: {integrity: sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==} + type-check@0.3.2: resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} engines: {node: '>= 0.8.0'} @@ -6859,7 +6895,7 @@ snapshots: '@alloc/quick-lru@5.2.0': {} - '@appliedblockchain/silentdatarollup-core@1.0.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@appliedblockchain/silentdatarollup-core@1.0.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: debug: 4.3.7 ethers: 6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) @@ -6868,13 +6904,13 @@ snapshots: - supports-color - utf-8-validate - '@appliedblockchain/silentdatarollup-hardhat-plugin@1.0.1(bufferutil@4.0.9)(ethers@6.14.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10)': + '@appliedblockchain/silentdatarollup-hardhat-plugin@1.0.3(bufferutil@4.0.9)(ethers@6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10)': dependencies: - '@appliedblockchain/silentdatarollup-core': 1.0.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@nomicfoundation/hardhat-ethers': 3.0.8(ethers@6.14.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)) + '@appliedblockchain/silentdatarollup-core': 1.0.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@nomicfoundation/hardhat-ethers': 3.0.8(ethers@6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)) debug: 4.3.7 - ethers: 6.14.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) - hardhat: 2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10) + ethers: 6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) + hardhat: 2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - supports-color @@ -7176,8 +7212,6 @@ snapshots: '@ethereumjs/rlp@4.0.1': {} - '@ethereumjs/rlp@5.0.2': {} - '@ethereumjs/tx@4.2.0': dependencies: '@ethereumjs/common': 3.2.0 @@ -7191,11 +7225,6 @@ snapshots: ethereum-cryptography: 2.2.1 micro-ftch: 0.3.1 - '@ethereumjs/util@9.1.0': - dependencies: - '@ethereumjs/rlp': 5.0.2 - ethereum-cryptography: 2.2.1 - '@ethersproject/abi@5.8.0': dependencies: '@ethersproject/address': 5.8.0 @@ -7481,7 +7510,7 @@ snapshots: dependencies: duplexify: 4.1.3 fastify-plugin: 4.5.1 - ws: 8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + ws: 8.18.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - utf-8-validate @@ -7647,6 +7676,14 @@ snapshots: transitivePeerDependencies: - supports-color + '@metamask/eth-sig-util@4.0.1': + dependencies: + ethereumjs-abi: 0.6.8 + ethereumjs-util: 6.2.1 + ethjs-util: 0.1.6 + tweetnacl: 1.0.3 + tweetnacl-util: 0.15.1 + '@metamask/json-rpc-engine@7.3.3': dependencies: '@metamask/rpc-errors': 6.4.0 @@ -7996,79 +8033,92 @@ snapshots: '@nolyfill/is-core-module@1.0.39': {} - '@nomicfoundation/edr-darwin-arm64@0.11.0': {} + '@nomicfoundation/edr-darwin-arm64@0.5.2': {} - '@nomicfoundation/edr-darwin-x64@0.11.0': {} + '@nomicfoundation/edr-darwin-x64@0.5.2': {} - '@nomicfoundation/edr-linux-arm64-gnu@0.11.0': {} + '@nomicfoundation/edr-linux-arm64-gnu@0.5.2': {} - '@nomicfoundation/edr-linux-arm64-musl@0.11.0': {} + '@nomicfoundation/edr-linux-arm64-musl@0.5.2': {} - '@nomicfoundation/edr-linux-x64-gnu@0.11.0': {} + '@nomicfoundation/edr-linux-x64-gnu@0.5.2': {} - '@nomicfoundation/edr-linux-x64-musl@0.11.0': {} + '@nomicfoundation/edr-linux-x64-musl@0.5.2': {} - '@nomicfoundation/edr-win32-x64-msvc@0.11.0': {} + '@nomicfoundation/edr-win32-x64-msvc@0.5.2': {} - '@nomicfoundation/edr@0.11.0': + '@nomicfoundation/edr@0.5.2': dependencies: - '@nomicfoundation/edr-darwin-arm64': 0.11.0 - '@nomicfoundation/edr-darwin-x64': 0.11.0 - '@nomicfoundation/edr-linux-arm64-gnu': 0.11.0 - '@nomicfoundation/edr-linux-arm64-musl': 0.11.0 - '@nomicfoundation/edr-linux-x64-gnu': 0.11.0 - '@nomicfoundation/edr-linux-x64-musl': 0.11.0 - '@nomicfoundation/edr-win32-x64-msvc': 0.11.0 + '@nomicfoundation/edr-darwin-arm64': 0.5.2 + '@nomicfoundation/edr-darwin-x64': 0.5.2 + '@nomicfoundation/edr-linux-arm64-gnu': 0.5.2 + '@nomicfoundation/edr-linux-arm64-musl': 0.5.2 + '@nomicfoundation/edr-linux-x64-gnu': 0.5.2 + '@nomicfoundation/edr-linux-x64-musl': 0.5.2 + '@nomicfoundation/edr-win32-x64-msvc': 0.5.2 + + '@nomicfoundation/ethereumjs-common@4.0.4': + dependencies: + '@nomicfoundation/ethereumjs-util': 9.0.4 + transitivePeerDependencies: + - c-kzg '@nomicfoundation/ethereumjs-rlp@5.0.4': {} + '@nomicfoundation/ethereumjs-tx@5.0.4': + dependencies: + '@nomicfoundation/ethereumjs-common': 4.0.4 + '@nomicfoundation/ethereumjs-rlp': 5.0.4 + '@nomicfoundation/ethereumjs-util': 9.0.4 + ethereum-cryptography: 0.1.3 + '@nomicfoundation/ethereumjs-util@9.0.4': dependencies: '@nomicfoundation/ethereumjs-rlp': 5.0.4 ethereum-cryptography: 0.1.3 - '@nomicfoundation/hardhat-chai-matchers@2.0.8(@nomicfoundation/hardhat-ethers@3.0.8(ethers@6.14.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)))(chai@4.5.0)(ethers@6.14.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))': + '@nomicfoundation/hardhat-chai-matchers@2.0.8(@nomicfoundation/hardhat-ethers@3.0.8(ethers@6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)))(chai@4.5.0)(ethers@6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))': dependencies: - '@nomicfoundation/hardhat-ethers': 3.0.8(ethers@6.14.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)) + '@nomicfoundation/hardhat-ethers': 3.0.8(ethers@6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)) '@types/chai-as-promised': 7.1.8 chai: 4.5.0 chai-as-promised: 7.1.2(chai@4.5.0) deep-eql: 4.1.4 - ethers: 6.14.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) - hardhat: 2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10) + ethers: 6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) + hardhat: 2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10) ordinal: 1.0.3 - '@nomicfoundation/hardhat-ethers@3.0.8(ethers@6.14.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))': + '@nomicfoundation/hardhat-ethers@3.0.8(ethers@6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))': dependencies: debug: 4.4.1(supports-color@8.1.1) - ethers: 6.14.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) - hardhat: 2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10) + ethers: 6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) + hardhat: 2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10) lodash.isequal: 4.5.0 transitivePeerDependencies: - supports-color - '@nomicfoundation/hardhat-foundry@1.1.3(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))': + '@nomicfoundation/hardhat-foundry@1.1.3(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))': dependencies: - hardhat: 2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10) + hardhat: 2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10) picocolors: 1.1.1 - '@nomicfoundation/hardhat-ignition-ethers@0.15.11(@nomicfoundation/hardhat-ethers@3.0.8(ethers@6.14.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)))(@nomicfoundation/hardhat-ignition@0.15.11(@nomicfoundation/hardhat-verify@2.0.13(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)))(bufferutil@4.0.9)(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10))(@nomicfoundation/ignition-core@0.15.11(bufferutil@4.0.9)(utf-8-validate@5.0.10))(ethers@6.14.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))': + '@nomicfoundation/hardhat-ignition-ethers@0.15.11(@nomicfoundation/hardhat-ethers@3.0.8(ethers@6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)))(@nomicfoundation/hardhat-ignition@0.15.11(@nomicfoundation/hardhat-verify@2.0.13(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)))(bufferutil@4.0.9)(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10))(@nomicfoundation/ignition-core@0.15.11(bufferutil@4.0.9)(utf-8-validate@5.0.10))(ethers@6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))': dependencies: - '@nomicfoundation/hardhat-ethers': 3.0.8(ethers@6.14.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)) - '@nomicfoundation/hardhat-ignition': 0.15.11(@nomicfoundation/hardhat-verify@2.0.13(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)))(bufferutil@4.0.9)(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10) + '@nomicfoundation/hardhat-ethers': 3.0.8(ethers@6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)) + '@nomicfoundation/hardhat-ignition': 0.15.11(@nomicfoundation/hardhat-verify@2.0.13(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)))(bufferutil@4.0.9)(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10) '@nomicfoundation/ignition-core': 0.15.11(bufferutil@4.0.9)(utf-8-validate@5.0.10) - ethers: 6.14.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) - hardhat: 2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10) + ethers: 6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) + hardhat: 2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10) - '@nomicfoundation/hardhat-ignition@0.15.11(@nomicfoundation/hardhat-verify@2.0.13(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)))(bufferutil@4.0.9)(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10)': + '@nomicfoundation/hardhat-ignition@0.15.11(@nomicfoundation/hardhat-verify@2.0.13(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)))(bufferutil@4.0.9)(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10)': dependencies: - '@nomicfoundation/hardhat-verify': 2.0.13(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)) + '@nomicfoundation/hardhat-verify': 2.0.13(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)) '@nomicfoundation/ignition-core': 0.15.11(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@nomicfoundation/ignition-ui': 0.15.11 chalk: 4.1.2 debug: 4.4.1(supports-color@8.1.1) fs-extra: 10.1.0 - hardhat: 2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10) + hardhat: 2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10) json5: 2.2.3 prompts: 2.4.2 transitivePeerDependencies: @@ -8076,39 +8126,39 @@ snapshots: - supports-color - utf-8-validate - '@nomicfoundation/hardhat-network-helpers@1.0.12(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))': + '@nomicfoundation/hardhat-network-helpers@1.0.12(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))': dependencies: ethereumjs-util: 7.1.5 - hardhat: 2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10) + hardhat: 2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10) - '@nomicfoundation/hardhat-toolbox@5.0.0(vjoiztjg7maob2f5tg55u4qsgy)': + '@nomicfoundation/hardhat-toolbox@5.0.0(a5bv3rhc7zwc5e3ixgdc6q4a2i)': dependencies: - '@nomicfoundation/hardhat-chai-matchers': 2.0.8(@nomicfoundation/hardhat-ethers@3.0.8(ethers@6.14.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)))(chai@4.5.0)(ethers@6.14.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)) - '@nomicfoundation/hardhat-ethers': 3.0.8(ethers@6.14.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)) - '@nomicfoundation/hardhat-ignition-ethers': 0.15.11(@nomicfoundation/hardhat-ethers@3.0.8(ethers@6.14.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)))(@nomicfoundation/hardhat-ignition@0.15.11(@nomicfoundation/hardhat-verify@2.0.13(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)))(bufferutil@4.0.9)(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10))(@nomicfoundation/ignition-core@0.15.11(bufferutil@4.0.9)(utf-8-validate@5.0.10))(ethers@6.14.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)) - '@nomicfoundation/hardhat-network-helpers': 1.0.12(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)) - '@nomicfoundation/hardhat-verify': 2.0.13(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)) - '@typechain/ethers-v6': 0.5.1(ethers@6.14.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(typechain@8.3.2(typescript@5.5.4))(typescript@5.5.4) - '@typechain/hardhat': 9.1.0(@typechain/ethers-v6@0.5.1(ethers@6.14.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(typechain@8.3.2(typescript@5.5.4))(typescript@5.5.4))(ethers@6.14.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))(typechain@8.3.2(typescript@5.5.4)) + '@nomicfoundation/hardhat-chai-matchers': 2.0.8(@nomicfoundation/hardhat-ethers@3.0.8(ethers@6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)))(chai@4.5.0)(ethers@6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)) + '@nomicfoundation/hardhat-ethers': 3.0.8(ethers@6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)) + '@nomicfoundation/hardhat-ignition-ethers': 0.15.11(@nomicfoundation/hardhat-ethers@3.0.8(ethers@6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)))(@nomicfoundation/hardhat-ignition@0.15.11(@nomicfoundation/hardhat-verify@2.0.13(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)))(bufferutil@4.0.9)(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10))(@nomicfoundation/ignition-core@0.15.11(bufferutil@4.0.9)(utf-8-validate@5.0.10))(ethers@6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)) + '@nomicfoundation/hardhat-network-helpers': 1.0.12(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)) + '@nomicfoundation/hardhat-verify': 2.0.13(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)) + '@typechain/ethers-v6': 0.5.1(ethers@6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10))(typechain@8.3.2(typescript@5.5.4))(typescript@5.5.4) + '@typechain/hardhat': 9.1.0(@typechain/ethers-v6@0.5.1(ethers@6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10))(typechain@8.3.2(typescript@5.5.4))(typescript@5.5.4))(ethers@6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))(typechain@8.3.2(typescript@5.5.4)) '@types/chai': 4.3.20 '@types/mocha': 10.0.10 '@types/node': 22.7.5 chai: 4.5.0 - ethers: 6.14.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) - hardhat: 2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10) - hardhat-gas-reporter: 1.0.10(bufferutil@4.0.9)(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10) - solidity-coverage: 0.8.16(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)) + ethers: 6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) + hardhat: 2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10) + hardhat-gas-reporter: 1.0.10(bufferutil@4.0.9)(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10) + solidity-coverage: 0.8.16(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)) ts-node: 10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4) typechain: 8.3.2(typescript@5.5.4) typescript: 5.5.4 - '@nomicfoundation/hardhat-verify@2.0.13(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))': + '@nomicfoundation/hardhat-verify@2.0.13(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))': dependencies: '@ethersproject/abi': 5.8.0 '@ethersproject/address': 5.8.0 cbor: 8.1.0 debug: 4.4.1(supports-color@8.1.1) - hardhat: 2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10) + hardhat: 2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10) lodash.clonedeep: 4.5.0 picocolors: 1.1.1 semver: 6.3.1 @@ -8123,7 +8173,7 @@ snapshots: '@nomicfoundation/solidity-analyzer': 0.1.2 cbor: 9.0.2 debug: 4.4.1(supports-color@8.1.1) - ethers: 6.14.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + ethers: 6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) fs-extra: 10.1.0 immer: 10.0.2 lodash: 4.17.21 @@ -8560,7 +8610,7 @@ snapshots: dependencies: big.js: 6.2.2 dayjs: 1.11.13 - viem: 2.29.2(bufferutil@4.0.9)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.22.4) + viem: 2.31.6(bufferutil@4.0.9)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.22.4) transitivePeerDependencies: - bufferutil - typescript @@ -8571,7 +8621,7 @@ snapshots: dependencies: big.js: 6.2.2 dayjs: 1.11.13 - viem: 2.29.2(bufferutil@4.0.9)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.25.1) + viem: 2.31.6(bufferutil@4.0.9)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.25.1) transitivePeerDependencies: - bufferutil - typescript @@ -8606,7 +8656,7 @@ snapshots: '@reown/appkit-wallet': 1.7.3(bufferutil@4.0.9)(typescript@5.5.4)(utf-8-validate@5.0.10) '@walletconnect/universal-provider': 2.19.2(bufferutil@4.0.9)(ioredis@5.6.1)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.25.1) valtio: 1.13.2(@types/react@19.1.4)(react@19.1.0) - viem: 2.29.2(bufferutil@4.0.9)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.25.1) + viem: 2.31.6(bufferutil@4.0.9)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.25.1) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -8860,7 +8910,7 @@ snapshots: '@walletconnect/logger': 2.1.2 '@walletconnect/universal-provider': 2.19.2(bufferutil@4.0.9)(ioredis@5.6.1)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.25.1) valtio: 1.13.2(@types/react@19.1.4)(react@19.1.0) - viem: 2.29.2(bufferutil@4.0.9)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.25.1) + viem: 2.31.6(bufferutil@4.0.9)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.25.1) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -8960,7 +9010,7 @@ snapshots: '@walletconnect/universal-provider': 2.19.2(bufferutil@4.0.9)(ioredis@5.6.1)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.25.1) bs58: 6.0.0 valtio: 1.13.2(@types/react@19.1.4)(react@19.1.0) - viem: 2.29.2(bufferutil@4.0.9)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.25.1) + viem: 2.31.6(bufferutil@4.0.9)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.25.1) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -9331,22 +9381,26 @@ snapshots: tslib: 2.8.1 optional: true - '@typechain/ethers-v6@0.5.1(ethers@6.14.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(typechain@8.3.2(typescript@5.5.4))(typescript@5.5.4)': + '@typechain/ethers-v6@0.5.1(ethers@6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10))(typechain@8.3.2(typescript@5.5.4))(typescript@5.5.4)': dependencies: - ethers: 6.14.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + ethers: 6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) lodash: 4.17.21 ts-essentials: 7.0.3(typescript@5.5.4) typechain: 8.3.2(typescript@5.5.4) typescript: 5.5.4 - '@typechain/hardhat@9.1.0(@typechain/ethers-v6@0.5.1(ethers@6.14.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(typechain@8.3.2(typescript@5.5.4))(typescript@5.5.4))(ethers@6.14.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))(typechain@8.3.2(typescript@5.5.4))': + '@typechain/hardhat@9.1.0(@typechain/ethers-v6@0.5.1(ethers@6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10))(typechain@8.3.2(typescript@5.5.4))(typescript@5.5.4))(ethers@6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))(typechain@8.3.2(typescript@5.5.4))': dependencies: - '@typechain/ethers-v6': 0.5.1(ethers@6.14.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(typechain@8.3.2(typescript@5.5.4))(typescript@5.5.4) - ethers: 6.14.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@typechain/ethers-v6': 0.5.1(ethers@6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10))(typechain@8.3.2(typescript@5.5.4))(typescript@5.5.4) + ethers: 6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) fs-extra: 9.1.0 - hardhat: 2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10) + hardhat: 2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10) typechain: 8.3.2(typescript@5.5.4) + '@types/bn.js@4.11.6': + dependencies: + '@types/node': 20.17.48 + '@types/bn.js@5.1.6': dependencies: '@types/node': 20.17.48 @@ -11710,7 +11764,7 @@ snapshots: dependencies: '@ecies/ciphers': 0.2.3(@noble/ciphers@1.3.0) '@noble/ciphers': 1.3.0 - '@noble/curves': 1.9.1 + '@noble/curves': 1.9.2 '@noble/hashes': 1.8.0 ee-first@1.1.1: {} @@ -12301,6 +12355,21 @@ snapshots: '@scure/bip32': 1.4.0 '@scure/bip39': 1.3.0 + ethereumjs-abi@0.6.8: + dependencies: + bn.js: 4.12.2 + ethereumjs-util: 6.2.1 + + ethereumjs-util@6.2.1: + dependencies: + '@types/bn.js': 4.11.6 + bn.js: 4.12.2 + create-hash: 1.2.0 + elliptic: 6.6.1 + ethereum-cryptography: 0.1.3 + ethjs-util: 0.1.6 + rlp: 2.2.7 + ethereumjs-util@7.1.5: dependencies: '@types/bn.js': 5.1.6 @@ -12358,24 +12427,16 @@ snapshots: - bufferutil - utf-8-validate - ethers@6.14.1(bufferutil@4.0.9)(utf-8-validate@5.0.10): - dependencies: - '@adraffy/ens-normalize': 1.10.1 - '@noble/curves': 1.2.0 - '@noble/hashes': 1.3.2 - '@types/node': 22.7.5 - aes-js: 4.0.0-beta.5 - tslib: 2.7.0 - ws: 8.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) - transitivePeerDependencies: - - bufferutil - - utf-8-validate - ethjs-unit@0.1.6: dependencies: bn.js: 4.11.6 number-to-bn: 1.7.0 + ethjs-util@0.1.6: + dependencies: + is-hex-prefixed: 1.0.0 + strip-hex-prefix: 1.0.0 + event-target-shim@5.0.1: {} eventemitter2@6.4.9: {} @@ -12553,7 +12614,9 @@ snapshots: dependencies: array-back: 3.1.0 - find-root@1.1.0: {} + find-up@2.1.0: + dependencies: + locate-path: 2.0.0 find-up@4.1.0: dependencies: @@ -12749,6 +12812,15 @@ snapshots: once: 1.4.0 path-is-absolute: 1.0.1 + glob@7.2.0: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + glob@7.2.3: dependencies: fs.realpath: 1.0.0 @@ -12839,11 +12911,11 @@ snapshots: ajv: 6.12.6 har-schema: 2.0.0 - hardhat-gas-reporter@1.0.10(bufferutil@4.0.9)(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10): + hardhat-gas-reporter@1.0.10(bufferutil@4.0.9)(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10): dependencies: array-uniq: 1.0.3 eth-gas-reporter: 0.2.27(bufferutil@4.0.9)(utf-8-validate@5.0.10) - hardhat: 2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10) + hardhat: 2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10) sha1: 1.1.1 transitivePeerDependencies: - '@codechecks/client' @@ -12851,24 +12923,27 @@ snapshots: - debug - utf-8-validate - hardhat-tracer@3.2.0(bufferutil@4.0.9)(chai@4.5.0)(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10): + hardhat-tracer@3.2.0(bufferutil@4.0.9)(chai@4.5.0)(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10): dependencies: chai: 4.5.0 chalk: 4.1.2 debug: 4.4.1(supports-color@8.1.1) ethers: 5.8.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - hardhat: 2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10) + hardhat: 2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10) semver: 7.7.2 transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10): + hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10): dependencies: - '@ethereumjs/util': 9.1.0 '@ethersproject/abi': 5.8.0 - '@nomicfoundation/edr': 0.11.0 + '@metamask/eth-sig-util': 4.0.1 + '@nomicfoundation/edr': 0.5.2 + '@nomicfoundation/ethereumjs-common': 4.0.4 + '@nomicfoundation/ethereumjs-tx': 5.0.4 + '@nomicfoundation/ethereumjs-util': 9.0.4 '@nomicfoundation/solidity-analyzer': 0.1.2 '@sentry/node': 5.30.0 '@types/bn.js': 5.1.6 @@ -12877,32 +12952,31 @@ snapshots: aggregate-error: 3.1.0 ansi-escapes: 4.3.2 boxen: 5.1.2 - chokidar: 4.0.3 + chalk: 2.4.2 + chokidar: 3.6.0 ci-info: 2.0.0 debug: 4.4.1(supports-color@8.1.1) enquirer: 2.4.1 env-paths: 2.2.1 ethereum-cryptography: 1.2.0 - find-up: 5.0.0 + ethereumjs-abi: 0.6.8 + find-up: 2.1.0 fp-ts: 1.19.3 fs-extra: 7.0.1 + glob: 7.2.0 immutable: 4.3.7 io-ts: 1.10.4 - json-stream-stringify: 3.1.6 keccak: 3.0.4 lodash: 4.17.21 - micro-eth-signer: 0.14.0 mnemonist: 0.38.5 mocha: 10.8.2 p-map: 4.0.0 - picocolors: 1.1.1 raw-body: 2.5.2 resolve: 1.17.0 semver: 6.3.1 solc: 0.8.26(debug@4.4.1) source-map-support: 0.5.21 stacktrace-parser: 0.1.11 - tinyglobby: 0.2.13 tsort: 0.0.1 undici: 5.29.0 uuid: 8.3.2 @@ -12912,6 +12986,7 @@ snapshots: typescript: 5.5.4 transitivePeerDependencies: - bufferutil + - c-kzg - supports-color - utf-8-validate @@ -13323,8 +13398,6 @@ snapshots: json-stable-stringify-without-jsonify@1.0.1: {} - json-stream-stringify@3.1.6: {} - json-stringify-safe@5.0.1: {} json5@1.0.2: @@ -13450,6 +13523,11 @@ snapshots: dependencies: lie: 3.1.1 + locate-path@2.0.0: + dependencies: + p-locate: 2.0.0 + path-exists: 3.0.0 + locate-path@5.0.0: dependencies: p-locate: 4.1.0 @@ -13527,18 +13605,8 @@ snapshots: methods@1.1.2: {} - micro-eth-signer@0.14.0: - dependencies: - '@noble/curves': 1.8.2 - '@noble/hashes': 1.7.2 - micro-packed: 0.7.3 - micro-ftch@0.3.1: {} - micro-packed@0.7.3: - dependencies: - '@scure/base': 1.2.5 - micromatch@4.0.8: dependencies: braces: 3.0.3 @@ -13864,10 +13932,10 @@ snapshots: ox@0.6.7(typescript@5.5.4)(zod@3.25.1): dependencies: '@adraffy/ens-normalize': 1.11.0 - '@noble/curves': 1.9.1 + '@noble/curves': 1.9.2 '@noble/hashes': 1.8.0 - '@scure/bip32': 1.6.2 - '@scure/bip39': 1.5.4 + '@scure/bip32': 1.7.0 + '@scure/bip39': 1.6.0 abitype: 1.0.8(typescript@5.5.4)(zod@3.25.1) eventemitter3: 5.0.1 optionalDependencies: @@ -13875,24 +13943,10 @@ snapshots: transitivePeerDependencies: - zod - ox@0.6.9(typescript@5.5.4)(zod@3.22.4): - dependencies: - '@adraffy/ens-normalize': 1.11.0 - '@noble/curves': 1.9.1 - '@noble/hashes': 1.8.0 - '@scure/bip32': 1.6.2 - '@scure/bip39': 1.5.4 - abitype: 1.0.8(typescript@5.5.4)(zod@3.22.4) - eventemitter3: 5.0.1 - optionalDependencies: - typescript: 5.5.4 - transitivePeerDependencies: - - zod - ox@0.6.9(typescript@5.5.4)(zod@3.25.1): dependencies: '@adraffy/ens-normalize': 1.11.0 - '@noble/curves': 1.9.1 + '@noble/curves': 1.9.2 '@noble/hashes': 1.8.0 '@scure/bip32': 1.6.2 '@scure/bip39': 1.5.4 @@ -13948,6 +14002,10 @@ snapshots: transitivePeerDependencies: - zod + p-limit@1.3.0: + dependencies: + p-try: 1.0.0 + p-limit@2.3.0: dependencies: p-try: 2.2.0 @@ -13956,6 +14014,10 @@ snapshots: dependencies: yocto-queue: 0.1.0 + p-locate@2.0.0: + dependencies: + p-limit: 1.3.0 + p-locate@4.1.0: dependencies: p-limit: 2.3.0 @@ -13968,6 +14030,8 @@ snapshots: dependencies: aggregate-error: 3.1.0 + p-try@1.0.0: {} + p-try@2.2.0: {} package-json-from-dist@1.0.1: {} @@ -13992,6 +14056,8 @@ snapshots: parseurl@1.3.3: {} + path-exists@3.0.0: {} + path-exists@4.0.0: {} path-is-absolute@1.0.1: {} @@ -14852,7 +14918,7 @@ snapshots: transitivePeerDependencies: - debug - solidity-coverage@0.8.16(hardhat@2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)): + solidity-coverage@0.8.16(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)): dependencies: '@ethersproject/abi': 5.8.0 '@solidity-parser/parser': 0.20.1 @@ -14863,7 +14929,7 @@ snapshots: ghost-testrpc: 0.0.2 global-modules: 2.0.0 globby: 10.0.2 - hardhat: 2.24.0(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10) + hardhat: 2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10) jsonschema: 1.5.0 lodash: 4.17.21 mocha: 10.8.2 @@ -15286,8 +15352,6 @@ snapshots: tslib@2.4.0: {} - tslib@2.7.0: {} - tslib@2.8.1: {} tsort@0.0.1: {} @@ -15338,8 +15402,12 @@ snapshots: dependencies: safe-buffer: 5.2.1 + tweetnacl-util@0.15.1: {} + tweetnacl@0.14.5: {} + tweetnacl@1.0.3: {} + type-check@0.3.2: dependencies: prelude-ls: 1.1.2 @@ -15584,23 +15652,6 @@ snapshots: - utf-8-validate - zod - viem@2.29.2(bufferutil@4.0.9)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.22.4): - dependencies: - '@noble/curves': 1.8.2 - '@noble/hashes': 1.7.2 - '@scure/bip32': 1.6.2 - '@scure/bip39': 1.5.4 - abitype: 1.0.8(typescript@5.5.4)(zod@3.22.4) - isows: 1.0.6(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)) - ox: 0.6.9(typescript@5.5.4)(zod@3.22.4) - ws: 8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) - optionalDependencies: - typescript: 5.5.4 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - - zod - viem@2.29.2(bufferutil@4.0.9)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.25.1): dependencies: '@noble/curves': 1.8.2 From 180c2bedd6fe531c6cae814c21e02d2be9f77d3e Mon Sep 17 00:00:00 2001 From: zeluisping Date: Tue, 19 Aug 2025 00:08:46 +0100 Subject: [PATCH 02/16] hardhat SDR config + salt change for fresh deploy --- packages/contracts/.env.example | 6 +++++- packages/contracts/hardhat.config.ts | 12 ++++++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/packages/contracts/.env.example b/packages/contracts/.env.example index 1d4f3e0..575d1ef 100644 --- a/packages/contracts/.env.example +++ b/packages/contracts/.env.example @@ -1,2 +1,6 @@ +BASE_RPC_URL=https://base-sepolia.infura.io/v3/22358d2028354afcba8406f1e346a1bd BASE_SEPOLIA_RPC_URL=https://base-sepolia.infura.io/v3/22358d2028354afcba8406f1e346a1bd -BASE_PRIVATE_KEY= +BASE_PRIVATE_KEY= + +SDR_TESTNET_RPC_URL=https://testnet.silentdata.com/ +SDR_PRIVATE_KEY= diff --git a/packages/contracts/hardhat.config.ts b/packages/contracts/hardhat.config.ts index 1b2d8cd..80093d9 100644 --- a/packages/contracts/hardhat.config.ts +++ b/packages/contracts/hardhat.config.ts @@ -1,3 +1,4 @@ +import { SignatureType } from '@appliedblockchain/silentdatarollup-core'; import * as dotenv from 'dotenv'; import { TASK_COMPILE } from 'hardhat/builtin-tasks/task-names'; import type { HardhatUserConfig } from 'hardhat/config'; @@ -49,7 +50,14 @@ const config: HardhatUserConfig = { url: process.env.BASE_RPC_URL ?? 'https://base.llamarpc.com', accounts: process.env.BASE_PRIVATE_KEY ? [process.env.BASE_PRIVATE_KEY] : [], chainId: 8453, - } + }, + 'sdr-testnet': { + enableRip7212: true, + url: process.env.SDR_TESTNET_RPC_URL, + accounts: process.env.SDR_PRIVATE_KEY ? [process.env.SDR_PRIVATE_KEY] : [], + chainId: 381185, + silentdata: { authSignatureType: SignatureType.Raw }, + }, }, gasReporter: { enabled: true, @@ -60,7 +68,7 @@ const config: HardhatUserConfig = { ignition: { strategyConfig: { create2: { - salt: '0xAB000000000000000000000000000000000000000000000000000000000000AB', + salt: '0xABC00000000000000000000000000000000000000000000000000000000000AB', }, }, }, From 372ce32b76f5da148923ca87aa7713c9c282184b Mon Sep 17 00:00:00 2001 From: zeluisping Date: Tue, 19 Aug 2025 00:09:52 +0100 Subject: [PATCH 03/16] SDR contracts deployment with changed salt for fresh deploy --- ... => 10397222448282512679b90dde2eaa23.json} | 190788 ++++++++------- ... => 7a666ce27bb9e35ebaa3dab6aa458c3e.json} | 36260 +-- .../chain-381185/deployed_addresses.json | 7 +- .../deployments/chain-381185/journal.jsonl | 48 +- 4 files changed, 127489 insertions(+), 99614 deletions(-) rename packages/contracts/ignition/deployments/chain-381185/build-info/{81a2a3a08146b694391d463053af6aa9.json => 10397222448282512679b90dde2eaa23.json} (76%) rename packages/contracts/ignition/deployments/chain-381185/build-info/{1fab896a088877b259151afd76aa932b.json => 7a666ce27bb9e35ebaa3dab6aa458c3e.json} (92%) diff --git a/packages/contracts/ignition/deployments/chain-381185/build-info/81a2a3a08146b694391d463053af6aa9.json b/packages/contracts/ignition/deployments/chain-381185/build-info/10397222448282512679b90dde2eaa23.json similarity index 76% rename from packages/contracts/ignition/deployments/chain-381185/build-info/81a2a3a08146b694391d463053af6aa9.json rename to packages/contracts/ignition/deployments/chain-381185/build-info/10397222448282512679b90dde2eaa23.json index 6c90b8a..080366e 100644 --- a/packages/contracts/ignition/deployments/chain-381185/build-info/81a2a3a08146b694391d463053af6aa9.json +++ b/packages/contracts/ignition/deployments/chain-381185/build-info/10397222448282512679b90dde2eaa23.json @@ -1,22 +1,61 @@ { - "id": "81a2a3a08146b694391d463053af6aa9", + "id": "10397222448282512679b90dde2eaa23", "_format": "hh-sol-build-info-1", "solcVersion": "0.8.28", "solcLongVersion": "0.8.28+commit.7893614a", "input": { "language": "Solidity", "sources": { + "@account-abstraction/contracts/core/BasePaymaster.sol": { + "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity ^0.8.23;\n\n/* solhint-disable reason-string */\n\nimport \"@openzeppelin/contracts/access/Ownable.sol\";\nimport \"@openzeppelin/contracts/utils/introspection/IERC165.sol\";\nimport \"../interfaces/IPaymaster.sol\";\nimport \"../interfaces/IEntryPoint.sol\";\nimport \"./UserOperationLib.sol\";\n/**\n * Helper class for creating a paymaster.\n * provides helper methods for staking.\n * Validates that the postOp is called only by the entryPoint.\n */\nabstract contract BasePaymaster is IPaymaster, Ownable {\n IEntryPoint public immutable entryPoint;\n\n uint256 internal constant PAYMASTER_VALIDATION_GAS_OFFSET = UserOperationLib.PAYMASTER_VALIDATION_GAS_OFFSET;\n uint256 internal constant PAYMASTER_POSTOP_GAS_OFFSET = UserOperationLib.PAYMASTER_POSTOP_GAS_OFFSET;\n uint256 internal constant PAYMASTER_DATA_OFFSET = UserOperationLib.PAYMASTER_DATA_OFFSET;\n\n constructor(IEntryPoint _entryPoint) Ownable(msg.sender) {\n _validateEntryPointInterface(_entryPoint);\n entryPoint = _entryPoint;\n }\n\n //sanity check: make sure this EntryPoint was compiled against the same\n // IEntryPoint of this paymaster\n function _validateEntryPointInterface(IEntryPoint _entryPoint) internal virtual {\n require(IERC165(address(_entryPoint)).supportsInterface(type(IEntryPoint).interfaceId), \"IEntryPoint interface mismatch\");\n }\n\n /// @inheritdoc IPaymaster\n function validatePaymasterUserOp(\n PackedUserOperation calldata userOp,\n bytes32 userOpHash,\n uint256 maxCost\n ) external override returns (bytes memory context, uint256 validationData) {\n _requireFromEntryPoint();\n return _validatePaymasterUserOp(userOp, userOpHash, maxCost);\n }\n\n /**\n * Validate a user operation.\n * @param userOp - The user operation.\n * @param userOpHash - The hash of the user operation.\n * @param maxCost - The maximum cost of the user operation.\n */\n function _validatePaymasterUserOp(\n PackedUserOperation calldata userOp,\n bytes32 userOpHash,\n uint256 maxCost\n ) internal virtual returns (bytes memory context, uint256 validationData);\n\n /// @inheritdoc IPaymaster\n function postOp(\n PostOpMode mode,\n bytes calldata context,\n uint256 actualGasCost,\n uint256 actualUserOpFeePerGas\n ) external override {\n _requireFromEntryPoint();\n _postOp(mode, context, actualGasCost, actualUserOpFeePerGas);\n }\n\n /**\n * Post-operation handler.\n * (verified to be called only through the entryPoint)\n * @dev If subclass returns a non-empty context from validatePaymasterUserOp,\n * it must also implement this method.\n * @param mode - Enum with the following options:\n * opSucceeded - User operation succeeded.\n * opReverted - User op reverted. The paymaster still has to pay for gas.\n * postOpReverted - never passed in a call to postOp().\n * @param context - The context value returned by validatePaymasterUserOp\n * @param actualGasCost - Actual gas used so far (without this postOp call).\n * @param actualUserOpFeePerGas - the gas price this UserOp pays. This value is based on the UserOp's maxFeePerGas\n * and maxPriorityFee (and basefee)\n * It is not the same as tx.gasprice, which is what the bundler pays.\n */\n function _postOp(\n PostOpMode mode,\n bytes calldata context,\n uint256 actualGasCost,\n uint256 actualUserOpFeePerGas\n ) internal virtual {\n (mode, context, actualGasCost, actualUserOpFeePerGas); // unused params\n // subclass must override this method if validatePaymasterUserOp returns a context\n revert(\"must override\");\n }\n\n /**\n * Add a deposit for this paymaster, used for paying for transaction fees.\n */\n function deposit() public payable {\n entryPoint.depositTo{value: msg.value}(address(this));\n }\n\n /**\n * Withdraw value from the deposit.\n * @param withdrawAddress - Target to send to.\n * @param amount - Amount to withdraw.\n */\n function withdrawTo(\n address payable withdrawAddress,\n uint256 amount\n ) public onlyOwner {\n entryPoint.withdrawTo(withdrawAddress, amount);\n }\n\n /**\n * Add stake for this paymaster.\n * This method can also carry eth value to add to the current stake.\n * @param unstakeDelaySec - The unstake delay for this paymaster. Can only be increased.\n */\n function addStake(uint32 unstakeDelaySec) external payable onlyOwner {\n entryPoint.addStake{value: msg.value}(unstakeDelaySec);\n }\n\n /**\n * Return current paymaster's deposit on the entryPoint.\n */\n function getDeposit() public view returns (uint256) {\n return entryPoint.balanceOf(address(this));\n }\n\n /**\n * Unlock the stake, in order to withdraw it.\n * The paymaster can't serve requests once unlocked, until it calls addStake again\n */\n function unlockStake() external onlyOwner {\n entryPoint.unlockStake();\n }\n\n /**\n * Withdraw the entire paymaster's stake.\n * stake must be unlocked first (and then wait for the unstakeDelay to be over)\n * @param withdrawAddress - The address to send withdrawn value.\n */\n function withdrawStake(address payable withdrawAddress) external onlyOwner {\n entryPoint.withdrawStake(withdrawAddress);\n }\n\n /**\n * Validate the call is made from a valid entrypoint\n */\n function _requireFromEntryPoint() internal virtual {\n require(msg.sender == address(entryPoint), \"Sender not EntryPoint\");\n }\n}\n" + }, "@account-abstraction/contracts/core/Helpers.sol": { - "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.28;\n\n/* solhint-disable no-inline-assembly */\n\n\n /*\n * For simulation purposes, validateUserOp (and validatePaymasterUserOp)\n * must return this value in case of signature failure, instead of revert.\n */\nuint256 constant SIG_VALIDATION_FAILED = 1;\n\n\n/*\n * For simulation purposes, validateUserOp (and validatePaymasterUserOp)\n * return this value on success.\n */\nuint256 constant SIG_VALIDATION_SUCCESS = 0;\n\n\n/**\n * Returned data from validateUserOp.\n * validateUserOp returns a uint256, which is created by `_packedValidationData` and\n * parsed by `_parseValidationData`.\n * @param aggregator - address(0) - The account validated the signature by itself.\n * address(1) - The account failed to validate the signature.\n * otherwise - This is an address of a signature aggregator that must\n * be used to validate the signature.\n * @param validAfter - This UserOp is valid only after this timestamp.\n * @param validUntil - Last timestamp this operation is valid at, or 0 for \"indefinitely\".\n */\nstruct ValidationData {\n address aggregator;\n uint48 validAfter;\n uint48 validUntil;\n}\n\n/**\n * Extract aggregator/sigFailed, validAfter, validUntil.\n * Also convert zero validUntil to type(uint48).max.\n * @param validationData - The packed validation data.\n * @return data - The unpacked in-memory validation data.\n */\nfunction _parseValidationData(\n uint256 validationData\n) pure returns (ValidationData memory data) {\n address aggregator = address(uint160(validationData));\n uint48 validUntil = uint48(validationData >> 160);\n if (validUntil == 0) {\n validUntil = type(uint48).max;\n }\n uint48 validAfter = uint48(validationData >> (48 + 160));\n return ValidationData(aggregator, validAfter, validUntil);\n}\n\n/**\n * Helper to pack the return value for validateUserOp.\n * @param data - The ValidationData to pack.\n * @return the packed validation data.\n */\nfunction _packValidationData(\n ValidationData memory data\n) pure returns (uint256) {\n return\n uint160(data.aggregator) |\n (uint256(data.validUntil) << 160) |\n (uint256(data.validAfter) << (160 + 48));\n}\n\n/**\n * Helper to pack the return value for validateUserOp, when not using an aggregator.\n * @param sigFailed - True for signature failure, false for success.\n * @param validUntil - Last timestamp this operation is valid at, or 0 for \"indefinitely\".\n * @param validAfter - First timestamp this UserOperation is valid.\n * @return the packed validation data.\n */\nfunction _packValidationData(\n bool sigFailed,\n uint48 validUntil,\n uint48 validAfter\n) pure returns (uint256) {\n return\n (sigFailed ? SIG_VALIDATION_FAILED : SIG_VALIDATION_SUCCESS) |\n (uint256(validUntil) << 160) |\n (uint256(validAfter) << (160 + 48));\n}\n\n/**\n * keccak function over calldata.\n * @dev copy calldata into memory, do keccak and drop allocated memory. Strangely, this is more efficient than letting solidity do it.\n *\n * @param data - the calldata bytes array to perform keccak on.\n * @return ret - the keccak hash of the 'data' array.\n */\n function calldataKeccak(bytes calldata data) pure returns (bytes32 ret) {\n assembly (\"memory-safe\") {\n let mem := mload(0x40)\n let len := data.length\n calldatacopy(mem, data.offset, len)\n ret := keccak256(mem, len)\n }\n }\n\n\n/**\n * The minimum of two numbers.\n * @param a - First number.\n * @param b - Second number.\n * @return - the minimum value.\n */\n function min(uint256 a, uint256 b) pure returns (uint256) {\n return a < b ? a : b;\n }\n\n/**\n * standard solidity memory allocation finalization.\n * copied from solidity generated code\n * @param memPointer - The current memory pointer\n * @param allocationSize - Bytes allocated from memPointer.\n */\n function finalizeAllocation(uint256 memPointer, uint256 allocationSize) pure {\n\n assembly (\"memory-safe\"){\n finalize_allocation(memPointer, allocationSize)\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n mstore(64, newFreePtr)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n }\n }\n" + "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity ^0.8.23;\n\n/* solhint-disable no-inline-assembly */\n\n\n /*\n * For simulation purposes, validateUserOp (and validatePaymasterUserOp)\n * must return this value in case of signature failure, instead of revert.\n */\nuint256 constant SIG_VALIDATION_FAILED = 1;\n\n\n/*\n * For simulation purposes, validateUserOp (and validatePaymasterUserOp)\n * return this value on success.\n */\nuint256 constant SIG_VALIDATION_SUCCESS = 0;\n\n\n/**\n * Returned data from validateUserOp.\n * validateUserOp returns a uint256, which is created by `_packedValidationData` and\n * parsed by `_parseValidationData`.\n * @param aggregator - address(0) - The account validated the signature by itself.\n * address(1) - The account failed to validate the signature.\n * otherwise - This is an address of a signature aggregator that must\n * be used to validate the signature.\n * @param validAfter - This UserOp is valid only after this timestamp.\n * @param validaUntil - This UserOp is valid only up to this timestamp.\n */\nstruct ValidationData {\n address aggregator;\n uint48 validAfter;\n uint48 validUntil;\n}\n\n/**\n * Extract sigFailed, validAfter, validUntil.\n * Also convert zero validUntil to type(uint48).max.\n * @param validationData - The packed validation data.\n */\nfunction _parseValidationData(\n uint256 validationData\n) pure returns (ValidationData memory data) {\n address aggregator = address(uint160(validationData));\n uint48 validUntil = uint48(validationData >> 160);\n if (validUntil == 0) {\n validUntil = type(uint48).max;\n }\n uint48 validAfter = uint48(validationData >> (48 + 160));\n return ValidationData(aggregator, validAfter, validUntil);\n}\n\n/**\n * Helper to pack the return value for validateUserOp.\n * @param data - The ValidationData to pack.\n */\nfunction _packValidationData(\n ValidationData memory data\n) pure returns (uint256) {\n return\n uint160(data.aggregator) |\n (uint256(data.validUntil) << 160) |\n (uint256(data.validAfter) << (160 + 48));\n}\n\n/**\n * Helper to pack the return value for validateUserOp, when not using an aggregator.\n * @param sigFailed - True for signature failure, false for success.\n * @param validUntil - Last timestamp this UserOperation is valid (or zero for infinite).\n * @param validAfter - First timestamp this UserOperation is valid.\n */\nfunction _packValidationData(\n bool sigFailed,\n uint48 validUntil,\n uint48 validAfter\n) pure returns (uint256) {\n return\n (sigFailed ? 1 : 0) |\n (uint256(validUntil) << 160) |\n (uint256(validAfter) << (160 + 48));\n}\n\n/**\n * keccak function over calldata.\n * @dev copy calldata into memory, do keccak and drop allocated memory. Strangely, this is more efficient than letting solidity do it.\n */\n function calldataKeccak(bytes calldata data) pure returns (bytes32 ret) {\n assembly (\"memory-safe\") {\n let mem := mload(0x40)\n let len := data.length\n calldatacopy(mem, data.offset, len)\n ret := keccak256(mem, len)\n }\n }\n\n\n/**\n * The minimum of two numbers.\n * @param a - First number.\n * @param b - Second number.\n */\n function min(uint256 a, uint256 b) pure returns (uint256) {\n return a < b ? a : b;\n }\n" }, "@account-abstraction/contracts/core/UserOperationLib.sol": { - "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.28;\n\n/* solhint-disable no-inline-assembly */\n\nimport \"../interfaces/PackedUserOperation.sol\";\nimport {calldataKeccak, min} from \"./Helpers.sol\";\n\n/**\n * Utility functions helpful when working with UserOperation structs.\n */\nlibrary UserOperationLib {\n\n uint256 public constant PAYMASTER_VALIDATION_GAS_OFFSET = 20;\n uint256 public constant PAYMASTER_POSTOP_GAS_OFFSET = 36;\n uint256 public constant PAYMASTER_DATA_OFFSET = 52;\n\n /**\n * Relayer/block builder might submit the TX with higher priorityFee,\n * but the user should not pay above what he signed for.\n * @param userOp - The user operation data.\n */\n function gasPrice(\n PackedUserOperation calldata userOp\n ) internal view returns (uint256) {\n unchecked {\n (uint256 maxPriorityFeePerGas, uint256 maxFeePerGas) = unpackUints(userOp.gasFees);\n return min(maxFeePerGas, maxPriorityFeePerGas + block.basefee);\n }\n }\n\n bytes32 internal constant PACKED_USEROP_TYPEHASH =\n keccak256(\n \"PackedUserOperation(address sender,uint256 nonce,bytes initCode,bytes callData,bytes32 accountGasLimits,uint256 preVerificationGas,bytes32 gasFees,bytes paymasterAndData)\"\n );\n\n /**\n * Pack the user operation data into bytes for hashing.\n * @param userOp - The user operation data.\n * @param overrideInitCodeHash - If set, encode this instead of the initCode field in the userOp.\n */\n function encode(\n PackedUserOperation calldata userOp,\n bytes32 overrideInitCodeHash\n ) internal pure returns (bytes memory ret) {\n address sender = userOp.sender;\n uint256 nonce = userOp.nonce;\n bytes32 hashInitCode = overrideInitCodeHash != 0 ? overrideInitCodeHash : calldataKeccak(userOp.initCode);\n bytes32 hashCallData = calldataKeccak(userOp.callData);\n bytes32 accountGasLimits = userOp.accountGasLimits;\n uint256 preVerificationGas = userOp.preVerificationGas;\n bytes32 gasFees = userOp.gasFees;\n bytes32 hashPaymasterAndData = calldataKeccak(userOp.paymasterAndData);\n\n return abi.encode(\n UserOperationLib.PACKED_USEROP_TYPEHASH,\n sender, nonce,\n hashInitCode, hashCallData,\n accountGasLimits, preVerificationGas, gasFees,\n hashPaymasterAndData\n );\n }\n\n function unpackUints(\n bytes32 packed\n ) internal pure returns (uint256 high128, uint256 low128) {\n return (unpackHigh128(packed), unpackLow128(packed));\n }\n\n // Unpack just the high 128-bits from a packed value\n function unpackHigh128(bytes32 packed) internal pure returns (uint256) {\n return uint256(packed) >> 128;\n }\n\n // Unpack just the low 128-bits from a packed value\n function unpackLow128(bytes32 packed) internal pure returns (uint256) {\n return uint128(uint256(packed));\n }\n\n function unpackMaxPriorityFeePerGas(PackedUserOperation calldata userOp)\n internal pure returns (uint256) {\n return unpackHigh128(userOp.gasFees);\n }\n\n function unpackMaxFeePerGas(PackedUserOperation calldata userOp)\n internal pure returns (uint256) {\n return unpackLow128(userOp.gasFees);\n }\n\n function unpackVerificationGasLimit(PackedUserOperation calldata userOp)\n internal pure returns (uint256) {\n return unpackHigh128(userOp.accountGasLimits);\n }\n\n function unpackCallGasLimit(PackedUserOperation calldata userOp)\n internal pure returns (uint256) {\n return unpackLow128(userOp.accountGasLimits);\n }\n\n function unpackPaymasterVerificationGasLimit(PackedUserOperation calldata userOp)\n internal pure returns (uint256) {\n return uint128(bytes16(userOp.paymasterAndData[PAYMASTER_VALIDATION_GAS_OFFSET : PAYMASTER_POSTOP_GAS_OFFSET]));\n }\n\n function unpackPostOpGasLimit(PackedUserOperation calldata userOp)\n internal pure returns (uint256) {\n return uint128(bytes16(userOp.paymasterAndData[PAYMASTER_POSTOP_GAS_OFFSET : PAYMASTER_DATA_OFFSET]));\n }\n\n function unpackPaymasterStaticFields(\n bytes calldata paymasterAndData\n ) internal pure returns (address paymaster, uint256 validationGasLimit, uint256 postOpGasLimit) {\n return (\n address(bytes20(paymasterAndData[: PAYMASTER_VALIDATION_GAS_OFFSET])),\n uint128(bytes16(paymasterAndData[PAYMASTER_VALIDATION_GAS_OFFSET : PAYMASTER_POSTOP_GAS_OFFSET])),\n uint128(bytes16(paymasterAndData[PAYMASTER_POSTOP_GAS_OFFSET : PAYMASTER_DATA_OFFSET]))\n );\n }\n\n /**\n * Hash the user operation data.\n * @param userOp - The user operation data.\n * @param overrideInitCodeHash - If set, the initCode hash will be replaced with this value just for UserOp hashing.\n */\n function hash(\n PackedUserOperation calldata userOp,\n bytes32 overrideInitCodeHash\n ) internal pure returns (bytes32) {\n return keccak256(encode(userOp, overrideInitCodeHash));\n }\n}\n" + "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity ^0.8.23;\n\n/* solhint-disable no-inline-assembly */\n\nimport \"../interfaces/PackedUserOperation.sol\";\nimport {calldataKeccak, min} from \"./Helpers.sol\";\n\n/**\n * Utility functions helpful when working with UserOperation structs.\n */\nlibrary UserOperationLib {\n\n uint256 public constant PAYMASTER_VALIDATION_GAS_OFFSET = 20;\n uint256 public constant PAYMASTER_POSTOP_GAS_OFFSET = 36;\n uint256 public constant PAYMASTER_DATA_OFFSET = 52;\n /**\n * Get sender from user operation data.\n * @param userOp - The user operation data.\n */\n function getSender(\n PackedUserOperation calldata userOp\n ) internal pure returns (address) {\n address data;\n //read sender from userOp, which is first userOp member (saves 800 gas...)\n assembly {\n data := calldataload(userOp)\n }\n return address(uint160(data));\n }\n\n /**\n * Relayer/block builder might submit the TX with higher priorityFee,\n * but the user should not pay above what he signed for.\n * @param userOp - The user operation data.\n */\n function gasPrice(\n PackedUserOperation calldata userOp\n ) internal view returns (uint256) {\n unchecked {\n (uint256 maxPriorityFeePerGas, uint256 maxFeePerGas) = unpackUints(userOp.gasFees);\n if (maxFeePerGas == maxPriorityFeePerGas) {\n //legacy mode (for networks that don't support basefee opcode)\n return maxFeePerGas;\n }\n return min(maxFeePerGas, maxPriorityFeePerGas + block.basefee);\n }\n }\n\n /**\n * Pack the user operation data into bytes for hashing.\n * @param userOp - The user operation data.\n */\n function encode(\n PackedUserOperation calldata userOp\n ) internal pure returns (bytes memory ret) {\n address sender = getSender(userOp);\n uint256 nonce = userOp.nonce;\n bytes32 hashInitCode = calldataKeccak(userOp.initCode);\n bytes32 hashCallData = calldataKeccak(userOp.callData);\n bytes32 accountGasLimits = userOp.accountGasLimits;\n uint256 preVerificationGas = userOp.preVerificationGas;\n bytes32 gasFees = userOp.gasFees;\n bytes32 hashPaymasterAndData = calldataKeccak(userOp.paymasterAndData);\n\n return abi.encode(\n sender, nonce,\n hashInitCode, hashCallData,\n accountGasLimits, preVerificationGas, gasFees,\n hashPaymasterAndData\n );\n }\n\n function unpackUints(\n bytes32 packed\n ) internal pure returns (uint256 high128, uint256 low128) {\n return (uint128(bytes16(packed)), uint128(uint256(packed)));\n }\n\n //unpack just the high 128-bits from a packed value\n function unpackHigh128(bytes32 packed) internal pure returns (uint256) {\n return uint256(packed) >> 128;\n }\n\n // unpack just the low 128-bits from a packed value\n function unpackLow128(bytes32 packed) internal pure returns (uint256) {\n return uint128(uint256(packed));\n }\n\n function unpackMaxPriorityFeePerGas(PackedUserOperation calldata userOp)\n internal pure returns (uint256) {\n return unpackHigh128(userOp.gasFees);\n }\n\n function unpackMaxFeePerGas(PackedUserOperation calldata userOp)\n internal pure returns (uint256) {\n return unpackLow128(userOp.gasFees);\n }\n\n function unpackVerificationGasLimit(PackedUserOperation calldata userOp)\n internal pure returns (uint256) {\n return unpackHigh128(userOp.accountGasLimits);\n }\n\n function unpackCallGasLimit(PackedUserOperation calldata userOp)\n internal pure returns (uint256) {\n return unpackLow128(userOp.accountGasLimits);\n }\n\n function unpackPaymasterVerificationGasLimit(PackedUserOperation calldata userOp)\n internal pure returns (uint256) {\n return uint128(bytes16(userOp.paymasterAndData[PAYMASTER_VALIDATION_GAS_OFFSET : PAYMASTER_POSTOP_GAS_OFFSET]));\n }\n\n function unpackPostOpGasLimit(PackedUserOperation calldata userOp)\n internal pure returns (uint256) {\n return uint128(bytes16(userOp.paymasterAndData[PAYMASTER_POSTOP_GAS_OFFSET : PAYMASTER_DATA_OFFSET]));\n }\n\n function unpackPaymasterStaticFields(\n bytes calldata paymasterAndData\n ) internal pure returns (address paymaster, uint256 validationGasLimit, uint256 postOpGasLimit) {\n return (\n address(bytes20(paymasterAndData[: PAYMASTER_VALIDATION_GAS_OFFSET])),\n uint128(bytes16(paymasterAndData[PAYMASTER_VALIDATION_GAS_OFFSET : PAYMASTER_POSTOP_GAS_OFFSET])),\n uint128(bytes16(paymasterAndData[PAYMASTER_POSTOP_GAS_OFFSET : PAYMASTER_DATA_OFFSET]))\n );\n }\n\n /**\n * Hash the user operation data.\n * @param userOp - The user operation data.\n */\n function hash(\n PackedUserOperation calldata userOp\n ) internal pure returns (bytes32) {\n return keccak256(encode(userOp));\n }\n}\n" }, "@account-abstraction/contracts/interfaces/IAccount.sol": { - "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.28;\n\nimport \"./PackedUserOperation.sol\";\n\ninterface IAccount {\n /**\n * Validate user's signature and nonce\n * the entryPoint will make the call to the recipient only if this validation call returns successfully.\n * signature failure should be reported by returning SIG_VALIDATION_FAILED (1).\n * This allows making a \"simulation call\" without a valid signature\n * Other failures (e.g. nonce mismatch, or invalid signature format) should still revert to signal failure.\n *\n * @dev Must validate caller is the entryPoint.\n * Must validate the signature and nonce\n * @param userOp - The operation that is about to be executed.\n * @param userOpHash - Hash of the user's request data. can be used as the basis for signature.\n * @param missingAccountFunds - Missing funds on the account's deposit in the entrypoint.\n * This is the minimum amount to transfer to the sender(entryPoint) to be\n * able to make the call. The excess is left as a deposit in the entrypoint\n * for future calls. Can be withdrawn anytime using \"entryPoint.withdrawTo()\".\n * In case there is a paymaster in the request (or the current deposit is high\n * enough), this value will be zero.\n * @return validationData - Packaged ValidationData structure. use `_packValidationData` and\n * `_unpackValidationData` to encode and decode.\n * <20-byte> aggregatorOrSigFail - 0 for valid signature, 1 to mark signature failure,\n * otherwise, an address of an \"aggregator\" contract.\n * <6-byte> validUntil - Last timestamp this operation is valid at, or 0 for \"indefinitely\"\n * <6-byte> validAfter - First timestamp this operation is valid\n * If an account doesn't use time-range, it is enough to\n * return SIG_VALIDATION_FAILED value (1) for signature failure.\n * Note that the validation code cannot use block.timestamp (or block.number) directly.\n */\n function validateUserOp(\n PackedUserOperation calldata userOp,\n bytes32 userOpHash,\n uint256 missingAccountFunds\n ) external returns (uint256 validationData);\n}\n" + "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.7.5;\n\nimport \"./PackedUserOperation.sol\";\n\ninterface IAccount {\n /**\n * Validate user's signature and nonce\n * the entryPoint will make the call to the recipient only if this validation call returns successfully.\n * signature failure should be reported by returning SIG_VALIDATION_FAILED (1).\n * This allows making a \"simulation call\" without a valid signature\n * Other failures (e.g. nonce mismatch, or invalid signature format) should still revert to signal failure.\n *\n * @dev Must validate caller is the entryPoint.\n * Must validate the signature and nonce\n * @param userOp - The operation that is about to be executed.\n * @param userOpHash - Hash of the user's request data. can be used as the basis for signature.\n * @param missingAccountFunds - Missing funds on the account's deposit in the entrypoint.\n * This is the minimum amount to transfer to the sender(entryPoint) to be\n * able to make the call. The excess is left as a deposit in the entrypoint\n * for future calls. Can be withdrawn anytime using \"entryPoint.withdrawTo()\".\n * In case there is a paymaster in the request (or the current deposit is high\n * enough), this value will be zero.\n * @return validationData - Packaged ValidationData structure. use `_packValidationData` and\n * `_unpackValidationData` to encode and decode.\n * <20-byte> sigAuthorizer - 0 for valid signature, 1 to mark signature failure,\n * otherwise, an address of an \"authorizer\" contract.\n * <6-byte> validUntil - Last timestamp this operation is valid. 0 for \"indefinite\"\n * <6-byte> validAfter - First timestamp this operation is valid\n * If an account doesn't use time-range, it is enough to\n * return SIG_VALIDATION_FAILED value (1) for signature failure.\n * Note that the validation code cannot use block.timestamp (or block.number) directly.\n */\n function validateUserOp(\n PackedUserOperation calldata userOp,\n bytes32 userOpHash,\n uint256 missingAccountFunds\n ) external returns (uint256 validationData);\n}\n" + }, + "@account-abstraction/contracts/interfaces/IAggregator.sol": { + "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.7.5;\n\nimport \"./PackedUserOperation.sol\";\n\n/**\n * Aggregated Signatures validator.\n */\ninterface IAggregator {\n /**\n * Validate aggregated signature.\n * Revert if the aggregated signature does not match the given list of operations.\n * @param userOps - Array of UserOperations to validate the signature for.\n * @param signature - The aggregated signature.\n */\n function validateSignatures(\n PackedUserOperation[] calldata userOps,\n bytes calldata signature\n ) external view;\n\n /**\n * Validate signature of a single userOp.\n * This method should be called by bundler after EntryPointSimulation.simulateValidation() returns\n * the aggregator this account uses.\n * First it validates the signature over the userOp. Then it returns data to be used when creating the handleOps.\n * @param userOp - The userOperation received from the user.\n * @return sigForUserOp - The value to put into the signature field of the userOp when calling handleOps.\n * (usually empty, unless account and aggregator support some kind of \"multisig\".\n */\n function validateUserOpSignature(\n PackedUserOperation calldata userOp\n ) external view returns (bytes memory sigForUserOp);\n\n /**\n * Aggregate multiple signatures into a single value.\n * This method is called off-chain to calculate the signature to pass with handleOps()\n * bundler MAY use optimized custom code perform this aggregation.\n * @param userOps - Array of UserOperations to collect the signatures from.\n * @return aggregatedSignature - The aggregated signature.\n */\n function aggregateSignatures(\n PackedUserOperation[] calldata userOps\n ) external view returns (bytes memory aggregatedSignature);\n}\n" + }, + "@account-abstraction/contracts/interfaces/IEntryPoint.sol": { + "content": "/**\n ** Account-Abstraction (EIP-4337) singleton EntryPoint implementation.\n ** Only one instance required on each chain.\n **/\n// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.7.5;\n\n/* solhint-disable avoid-low-level-calls */\n/* solhint-disable no-inline-assembly */\n/* solhint-disable reason-string */\n\nimport \"./PackedUserOperation.sol\";\nimport \"./IStakeManager.sol\";\nimport \"./IAggregator.sol\";\nimport \"./INonceManager.sol\";\n\ninterface IEntryPoint is IStakeManager, INonceManager {\n /***\n * An event emitted after each successful request.\n * @param userOpHash - Unique identifier for the request (hash its entire content, except signature).\n * @param sender - The account that generates this request.\n * @param paymaster - If non-null, the paymaster that pays for this request.\n * @param nonce - The nonce value from the request.\n * @param success - True if the sender transaction succeeded, false if reverted.\n * @param actualGasCost - Actual amount paid (by account or paymaster) for this UserOperation.\n * @param actualGasUsed - Total gas used by this UserOperation (including preVerification, creation,\n * validation and execution).\n */\n event UserOperationEvent(\n bytes32 indexed userOpHash,\n address indexed sender,\n address indexed paymaster,\n uint256 nonce,\n bool success,\n uint256 actualGasCost,\n uint256 actualGasUsed\n );\n\n /**\n * Account \"sender\" was deployed.\n * @param userOpHash - The userOp that deployed this account. UserOperationEvent will follow.\n * @param sender - The account that is deployed\n * @param factory - The factory used to deploy this account (in the initCode)\n * @param paymaster - The paymaster used by this UserOp\n */\n event AccountDeployed(\n bytes32 indexed userOpHash,\n address indexed sender,\n address factory,\n address paymaster\n );\n\n /**\n * An event emitted if the UserOperation \"callData\" reverted with non-zero length.\n * @param userOpHash - The request unique identifier.\n * @param sender - The sender of this request.\n * @param nonce - The nonce used in the request.\n * @param revertReason - The return bytes from the (reverted) call to \"callData\".\n */\n event UserOperationRevertReason(\n bytes32 indexed userOpHash,\n address indexed sender,\n uint256 nonce,\n bytes revertReason\n );\n\n /**\n * An event emitted if the UserOperation Paymaster's \"postOp\" call reverted with non-zero length.\n * @param userOpHash - The request unique identifier.\n * @param sender - The sender of this request.\n * @param nonce - The nonce used in the request.\n * @param revertReason - The return bytes from the (reverted) call to \"callData\".\n */\n event PostOpRevertReason(\n bytes32 indexed userOpHash,\n address indexed sender,\n uint256 nonce,\n bytes revertReason\n );\n\n /**\n * UserOp consumed more than prefund. The UserOperation is reverted, and no refund is made.\n * @param userOpHash - The request unique identifier.\n * @param sender - The sender of this request.\n * @param nonce - The nonce used in the request.\n */\n event UserOperationPrefundTooLow(\n bytes32 indexed userOpHash,\n address indexed sender,\n uint256 nonce\n );\n\n /**\n * An event emitted by handleOps(), before starting the execution loop.\n * Any event emitted before this event, is part of the validation.\n */\n event BeforeExecution();\n\n /**\n * Signature aggregator used by the following UserOperationEvents within this bundle.\n * @param aggregator - The aggregator used for the following UserOperationEvents.\n */\n event SignatureAggregatorChanged(address indexed aggregator);\n\n /**\n * A custom revert error of handleOps, to identify the offending op.\n * Should be caught in off-chain handleOps simulation and not happen on-chain.\n * Useful for mitigating DoS attempts against batchers or for troubleshooting of factory/account/paymaster reverts.\n * NOTE: If simulateValidation passes successfully, there should be no reason for handleOps to fail on it.\n * @param opIndex - Index into the array of ops to the failed one (in simulateValidation, this is always zero).\n * @param reason - Revert reason. The string starts with a unique code \"AAmn\",\n * where \"m\" is \"1\" for factory, \"2\" for account and \"3\" for paymaster issues,\n * so a failure can be attributed to the correct entity.\n */\n error FailedOp(uint256 opIndex, string reason);\n\n /**\n * A custom revert error of handleOps, to report a revert by account or paymaster.\n * @param opIndex - Index into the array of ops to the failed one (in simulateValidation, this is always zero).\n * @param reason - Revert reason. see FailedOp(uint256,string), above\n * @param inner - data from inner cought revert reason\n * @dev note that inner is truncated to 2048 bytes\n */\n error FailedOpWithRevert(uint256 opIndex, string reason, bytes inner);\n\n error PostOpReverted(bytes returnData);\n\n /**\n * Error case when a signature aggregator fails to verify the aggregated signature it had created.\n * @param aggregator The aggregator that failed to verify the signature\n */\n error SignatureValidationFailed(address aggregator);\n\n // Return value of getSenderAddress.\n error SenderAddressResult(address sender);\n\n // UserOps handled, per aggregator.\n struct UserOpsPerAggregator {\n PackedUserOperation[] userOps;\n // Aggregator address\n IAggregator aggregator;\n // Aggregated signature\n bytes signature;\n }\n\n /**\n * Execute a batch of UserOperations.\n * No signature aggregator is used.\n * If any account requires an aggregator (that is, it returned an aggregator when\n * performing simulateValidation), then handleAggregatedOps() must be used instead.\n * @param ops - The operations to execute.\n * @param beneficiary - The address to receive the fees.\n */\n function handleOps(\n PackedUserOperation[] calldata ops,\n address payable beneficiary\n ) external;\n\n /**\n * Execute a batch of UserOperation with Aggregators\n * @param opsPerAggregator - The operations to execute, grouped by aggregator (or address(0) for no-aggregator accounts).\n * @param beneficiary - The address to receive the fees.\n */\n function handleAggregatedOps(\n UserOpsPerAggregator[] calldata opsPerAggregator,\n address payable beneficiary\n ) external;\n\n /**\n * Generate a request Id - unique identifier for this request.\n * The request ID is a hash over the content of the userOp (except the signature), the entrypoint and the chainid.\n * @param userOp - The user operation to generate the request ID for.\n * @return hash the hash of this UserOperation\n */\n function getUserOpHash(\n PackedUserOperation calldata userOp\n ) external view returns (bytes32);\n\n /**\n * Gas and return values during simulation.\n * @param preOpGas - The gas used for validation (including preValidationGas)\n * @param prefund - The required prefund for this operation\n * @param accountValidationData - returned validationData from account.\n * @param paymasterValidationData - return validationData from paymaster.\n * @param paymasterContext - Returned by validatePaymasterUserOp (to be passed into postOp)\n */\n struct ReturnInfo {\n uint256 preOpGas;\n uint256 prefund;\n uint256 accountValidationData;\n uint256 paymasterValidationData;\n bytes paymasterContext;\n }\n\n /**\n * Returned aggregated signature info:\n * The aggregator returned by the account, and its current stake.\n */\n struct AggregatorStakeInfo {\n address aggregator;\n StakeInfo stakeInfo;\n }\n\n /**\n * Get counterfactual sender address.\n * Calculate the sender contract address that will be generated by the initCode and salt in the UserOperation.\n * This method always revert, and returns the address in SenderAddressResult error\n * @param initCode - The constructor code to be passed into the UserOperation.\n */\n function getSenderAddress(bytes memory initCode) external;\n\n error DelegateAndRevert(bool success, bytes ret);\n\n /**\n * Helper method for dry-run testing.\n * @dev calling this method, the EntryPoint will make a delegatecall to the given data, and report (via revert) the result.\n * The method always revert, so is only useful off-chain for dry run calls, in cases where state-override to replace\n * actual EntryPoint code is less convenient.\n * @param target a target contract to make a delegatecall from entrypoint\n * @param data data to pass to target in a delegatecall\n */\n function delegateAndRevert(address target, bytes calldata data) external;\n}\n" + }, + "@account-abstraction/contracts/interfaces/INonceManager.sol": { + "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.7.5;\n\ninterface INonceManager {\n\n /**\n * Return the next nonce for this sender.\n * Within a given key, the nonce values are sequenced (starting with zero, and incremented by one on each userop)\n * But UserOp with different keys can come with arbitrary order.\n *\n * @param sender the account address\n * @param key the high 192 bit of the nonce\n * @return nonce a full nonce to pass for next UserOp with this sender.\n */\n function getNonce(address sender, uint192 key)\n external view returns (uint256 nonce);\n\n /**\n * Manually increment the nonce of the sender.\n * This method is exposed just for completeness..\n * Account does NOT need to call it, neither during validation, nor elsewhere,\n * as the EntryPoint will update the nonce regardless.\n * Possible use-case is call it with various keys to \"initialize\" their nonces to one, so that future\n * UserOperations will not pay extra for the first transaction with a given key.\n */\n function incrementNonce(uint192 key) external;\n}\n" + }, + "@account-abstraction/contracts/interfaces/IPaymaster.sol": { + "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.7.5;\n\nimport \"./PackedUserOperation.sol\";\n\n/**\n * The interface exposed by a paymaster contract, who agrees to pay the gas for user's operations.\n * A paymaster must hold a stake to cover the required entrypoint stake and also the gas for the transaction.\n */\ninterface IPaymaster {\n enum PostOpMode {\n // User op succeeded.\n opSucceeded,\n // User op reverted. Still has to pay for gas.\n opReverted,\n // Only used internally in the EntryPoint (cleanup after postOp reverts). Never calling paymaster with this value\n postOpReverted\n }\n\n /**\n * Payment validation: check if paymaster agrees to pay.\n * Must verify sender is the entryPoint.\n * Revert to reject this request.\n * Note that bundlers will reject this method if it changes the state, unless the paymaster is trusted (whitelisted).\n * The paymaster pre-pays using its deposit, and receive back a refund after the postOp method returns.\n * @param userOp - The user operation.\n * @param userOpHash - Hash of the user's request data.\n * @param maxCost - The maximum cost of this transaction (based on maximum gas and gas price from userOp).\n * @return context - Value to send to a postOp. Zero length to signify postOp is not required.\n * @return validationData - Signature and time-range of this operation, encoded the same as the return\n * value of validateUserOperation.\n * <20-byte> sigAuthorizer - 0 for valid signature, 1 to mark signature failure,\n * other values are invalid for paymaster.\n * <6-byte> validUntil - last timestamp this operation is valid. 0 for \"indefinite\"\n * <6-byte> validAfter - first timestamp this operation is valid\n * Note that the validation code cannot use block.timestamp (or block.number) directly.\n */\n function validatePaymasterUserOp(\n PackedUserOperation calldata userOp,\n bytes32 userOpHash,\n uint256 maxCost\n ) external returns (bytes memory context, uint256 validationData);\n\n /**\n * Post-operation handler.\n * Must verify sender is the entryPoint.\n * @param mode - Enum with the following options:\n * opSucceeded - User operation succeeded.\n * opReverted - User op reverted. The paymaster still has to pay for gas.\n * postOpReverted - never passed in a call to postOp().\n * @param context - The context value returned by validatePaymasterUserOp\n * @param actualGasCost - Actual gas used so far (without this postOp call).\n * @param actualUserOpFeePerGas - the gas price this UserOp pays. This value is based on the UserOp's maxFeePerGas\n * and maxPriorityFee (and basefee)\n * It is not the same as tx.gasprice, which is what the bundler pays.\n */\n function postOp(\n PostOpMode mode,\n bytes calldata context,\n uint256 actualGasCost,\n uint256 actualUserOpFeePerGas\n ) external;\n}\n" + }, + "@account-abstraction/contracts/interfaces/IStakeManager.sol": { + "content": "// SPDX-License-Identifier: GPL-3.0-only\npragma solidity >=0.7.5;\n\n/**\n * Manage deposits and stakes.\n * Deposit is just a balance used to pay for UserOperations (either by a paymaster or an account).\n * Stake is value locked for at least \"unstakeDelay\" by the staked entity.\n */\ninterface IStakeManager {\n event Deposited(address indexed account, uint256 totalDeposit);\n\n event Withdrawn(\n address indexed account,\n address withdrawAddress,\n uint256 amount\n );\n\n // Emitted when stake or unstake delay are modified.\n event StakeLocked(\n address indexed account,\n uint256 totalStaked,\n uint256 unstakeDelaySec\n );\n\n // Emitted once a stake is scheduled for withdrawal.\n event StakeUnlocked(address indexed account, uint256 withdrawTime);\n\n event StakeWithdrawn(\n address indexed account,\n address withdrawAddress,\n uint256 amount\n );\n\n /**\n * @param deposit - The entity's deposit.\n * @param staked - True if this entity is staked.\n * @param stake - Actual amount of ether staked for this entity.\n * @param unstakeDelaySec - Minimum delay to withdraw the stake.\n * @param withdrawTime - First block timestamp where 'withdrawStake' will be callable, or zero if already locked.\n * @dev Sizes were chosen so that deposit fits into one cell (used during handleOp)\n * and the rest fit into a 2nd cell (used during stake/unstake)\n * - 112 bit allows for 10^15 eth\n * - 48 bit for full timestamp\n * - 32 bit allows 150 years for unstake delay\n */\n struct DepositInfo {\n uint256 deposit;\n bool staked;\n uint112 stake;\n uint32 unstakeDelaySec;\n uint48 withdrawTime;\n }\n\n // API struct used by getStakeInfo and simulateValidation.\n struct StakeInfo {\n uint256 stake;\n uint256 unstakeDelaySec;\n }\n\n /**\n * Get deposit info.\n * @param account - The account to query.\n * @return info - Full deposit information of given account.\n */\n function getDepositInfo(\n address account\n ) external view returns (DepositInfo memory info);\n\n /**\n * Get account balance.\n * @param account - The account to query.\n * @return - The deposit (for gas payment) of the account.\n */\n function balanceOf(address account) external view returns (uint256);\n\n /**\n * Add to the deposit of the given account.\n * @param account - The account to add to.\n */\n function depositTo(address account) external payable;\n\n /**\n * Add to the account's stake - amount and delay\n * any pending unstake is first cancelled.\n * @param _unstakeDelaySec - The new lock duration before the deposit can be withdrawn.\n */\n function addStake(uint32 _unstakeDelaySec) external payable;\n\n /**\n * Attempt to unlock the stake.\n * The value can be withdrawn (using withdrawStake) after the unstake delay.\n */\n function unlockStake() external;\n\n /**\n * Withdraw from the (unlocked) stake.\n * Must first call unlockStake and wait for the unstakeDelay to pass.\n * @param withdrawAddress - The address to send withdrawn value.\n */\n function withdrawStake(address payable withdrawAddress) external;\n\n /**\n * Withdraw from the deposit.\n * @param withdrawAddress - The address to send withdrawn value.\n * @param withdrawAmount - The amount to withdraw.\n */\n function withdrawTo(\n address payable withdrawAddress,\n uint256 withdrawAmount\n ) external;\n}\n" }, "@account-abstraction/contracts/interfaces/PackedUserOperation.sol": { - "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.28;\n\n/**\n * User Operation struct\n * @param sender - The sender account of this request.\n * @param nonce - Unique value the sender uses to verify it is not a replay.\n * @param initCode - If set, the account contract will be created by this constructor\n * @param callData - The method call to execute on this account.\n * @param accountGasLimits - Packed gas limits for validateUserOp and gas limit passed to the callData method call.\n * @param preVerificationGas - Gas not calculated by the handleOps method, but added to the gas paid.\n * Covers batch overhead.\n * @param gasFees - packed gas fields maxPriorityFeePerGas and maxFeePerGas - Same as EIP-1559 gas parameters.\n * @param paymasterAndData - If set, this field holds the paymaster address, verification gas limit, postOp gas limit and paymaster-specific extra data\n * The paymaster will pay for the transaction instead of the sender.\n * @param signature - Sender-verified signature over the entire request, the EntryPoint address and the chain ID.\n */\nstruct PackedUserOperation {\n address sender;\n uint256 nonce;\n bytes initCode;\n bytes callData;\n bytes32 accountGasLimits;\n uint256 preVerificationGas;\n bytes32 gasFees;\n bytes paymasterAndData;\n bytes signature;\n}\n" + "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.7.5;\n\n/**\n * User Operation struct\n * @param sender - The sender account of this request.\n * @param nonce - Unique value the sender uses to verify it is not a replay.\n * @param initCode - If set, the account contract will be created by this constructor/\n * @param callData - The method call to execute on this account.\n * @param accountGasLimits - Packed gas limits for validateUserOp and gas limit passed to the callData method call.\n * @param preVerificationGas - Gas not calculated by the handleOps method, but added to the gas paid.\n * Covers batch overhead.\n * @param gasFees - packed gas fields maxPriorityFeePerGas and maxFeePerGas - Same as EIP-1559 gas parameters.\n * @param paymasterAndData - If set, this field holds the paymaster address, verification gas limit, postOp gas limit and paymaster-specific extra data\n * The paymaster will pay for the transaction instead of the sender.\n * @param signature - Sender-verified signature over the entire request, the EntryPoint address and the chain ID.\n */\nstruct PackedUserOperation {\n address sender;\n uint256 nonce;\n bytes initCode;\n bytes callData;\n bytes32 accountGasLimits;\n uint256 preVerificationGas;\n bytes32 gasFees;\n bytes paymasterAndData;\n bytes signature;\n}\n" + }, + "@openzeppelin/contracts/access/Ownable.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol)\n\npragma solidity ^0.8.20;\n\nimport {Context} from \"../utils/Context.sol\";\n\n/**\n * @dev Contract module which provides a basic access control mechanism, where\n * there is an account (an owner) that can be granted exclusive access to\n * specific functions.\n *\n * The initial owner is set to the address provided by the deployer. This can\n * later be changed with {transferOwnership}.\n *\n * This module is used through inheritance. It will make available the modifier\n * `onlyOwner`, which can be applied to your functions to restrict their use to\n * the owner.\n */\nabstract contract Ownable is Context {\n address private _owner;\n\n /**\n * @dev The caller account is not authorized to perform an operation.\n */\n error OwnableUnauthorizedAccount(address account);\n\n /**\n * @dev The owner is not a valid owner account. (eg. `address(0)`)\n */\n error OwnableInvalidOwner(address owner);\n\n event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\n\n /**\n * @dev Initializes the contract setting the address provided by the deployer as the initial owner.\n */\n constructor(address initialOwner) {\n if (initialOwner == address(0)) {\n revert OwnableInvalidOwner(address(0));\n }\n _transferOwnership(initialOwner);\n }\n\n /**\n * @dev Throws if called by any account other than the owner.\n */\n modifier onlyOwner() {\n _checkOwner();\n _;\n }\n\n /**\n * @dev Returns the address of the current owner.\n */\n function owner() public view virtual returns (address) {\n return _owner;\n }\n\n /**\n * @dev Throws if the sender is not the owner.\n */\n function _checkOwner() internal view virtual {\n if (owner() != _msgSender()) {\n revert OwnableUnauthorizedAccount(_msgSender());\n }\n }\n\n /**\n * @dev Leaves the contract without owner. It will not be possible to call\n * `onlyOwner` functions. Can only be called by the current owner.\n *\n * NOTE: Renouncing ownership will leave the contract without an owner,\n * thereby disabling any functionality that is only available to the owner.\n */\n function renounceOwnership() public virtual onlyOwner {\n _transferOwnership(address(0));\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\n * Can only be called by the current owner.\n */\n function transferOwnership(address newOwner) public virtual onlyOwner {\n if (newOwner == address(0)) {\n revert OwnableInvalidOwner(address(0));\n }\n _transferOwnership(newOwner);\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\n * Internal function without access restriction.\n */\n function _transferOwnership(address newOwner) internal virtual {\n address oldOwner = _owner;\n _owner = newOwner;\n emit OwnershipTransferred(oldOwner, newOwner);\n }\n}\n" + }, + "@openzeppelin/contracts/interfaces/draft-IERC6093.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (interfaces/draft-IERC6093.sol)\npragma solidity ^0.8.20;\n\n/**\n * @dev Standard ERC-20 Errors\n * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-20 tokens.\n */\ninterface IERC20Errors {\n /**\n * @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers.\n * @param sender Address whose tokens are being transferred.\n * @param balance Current balance for the interacting account.\n * @param needed Minimum amount required to perform a transfer.\n */\n error ERC20InsufficientBalance(address sender, uint256 balance, uint256 needed);\n\n /**\n * @dev Indicates a failure with the token `sender`. Used in transfers.\n * @param sender Address whose tokens are being transferred.\n */\n error ERC20InvalidSender(address sender);\n\n /**\n * @dev Indicates a failure with the token `receiver`. Used in transfers.\n * @param receiver Address to which tokens are being transferred.\n */\n error ERC20InvalidReceiver(address receiver);\n\n /**\n * @dev Indicates a failure with the `spender`’s `allowance`. Used in transfers.\n * @param spender Address that may be allowed to operate on tokens without being their owner.\n * @param allowance Amount of tokens a `spender` is allowed to operate with.\n * @param needed Minimum amount required to perform a transfer.\n */\n error ERC20InsufficientAllowance(address spender, uint256 allowance, uint256 needed);\n\n /**\n * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n * @param approver Address initiating an approval operation.\n */\n error ERC20InvalidApprover(address approver);\n\n /**\n * @dev Indicates a failure with the `spender` to be approved. Used in approvals.\n * @param spender Address that may be allowed to operate on tokens without being their owner.\n */\n error ERC20InvalidSpender(address spender);\n}\n\n/**\n * @dev Standard ERC-721 Errors\n * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-721 tokens.\n */\ninterface IERC721Errors {\n /**\n * @dev Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in ERC-20.\n * Used in balance queries.\n * @param owner Address of the current owner of a token.\n */\n error ERC721InvalidOwner(address owner);\n\n /**\n * @dev Indicates a `tokenId` whose `owner` is the zero address.\n * @param tokenId Identifier number of a token.\n */\n error ERC721NonexistentToken(uint256 tokenId);\n\n /**\n * @dev Indicates an error related to the ownership over a particular token. Used in transfers.\n * @param sender Address whose tokens are being transferred.\n * @param tokenId Identifier number of a token.\n * @param owner Address of the current owner of a token.\n */\n error ERC721IncorrectOwner(address sender, uint256 tokenId, address owner);\n\n /**\n * @dev Indicates a failure with the token `sender`. Used in transfers.\n * @param sender Address whose tokens are being transferred.\n */\n error ERC721InvalidSender(address sender);\n\n /**\n * @dev Indicates a failure with the token `receiver`. Used in transfers.\n * @param receiver Address to which tokens are being transferred.\n */\n error ERC721InvalidReceiver(address receiver);\n\n /**\n * @dev Indicates a failure with the `operator`’s approval. Used in transfers.\n * @param operator Address that may be allowed to operate on tokens without being their owner.\n * @param tokenId Identifier number of a token.\n */\n error ERC721InsufficientApproval(address operator, uint256 tokenId);\n\n /**\n * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n * @param approver Address initiating an approval operation.\n */\n error ERC721InvalidApprover(address approver);\n\n /**\n * @dev Indicates a failure with the `operator` to be approved. Used in approvals.\n * @param operator Address that may be allowed to operate on tokens without being their owner.\n */\n error ERC721InvalidOperator(address operator);\n}\n\n/**\n * @dev Standard ERC-1155 Errors\n * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-1155 tokens.\n */\ninterface IERC1155Errors {\n /**\n * @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers.\n * @param sender Address whose tokens are being transferred.\n * @param balance Current balance for the interacting account.\n * @param needed Minimum amount required to perform a transfer.\n * @param tokenId Identifier number of a token.\n */\n error ERC1155InsufficientBalance(address sender, uint256 balance, uint256 needed, uint256 tokenId);\n\n /**\n * @dev Indicates a failure with the token `sender`. Used in transfers.\n * @param sender Address whose tokens are being transferred.\n */\n error ERC1155InvalidSender(address sender);\n\n /**\n * @dev Indicates a failure with the token `receiver`. Used in transfers.\n * @param receiver Address to which tokens are being transferred.\n */\n error ERC1155InvalidReceiver(address receiver);\n\n /**\n * @dev Indicates a failure with the `operator`’s approval. Used in transfers.\n * @param operator Address that may be allowed to operate on tokens without being their owner.\n * @param owner Address of the current owner of a token.\n */\n error ERC1155MissingApprovalForAll(address operator, address owner);\n\n /**\n * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n * @param approver Address initiating an approval operation.\n */\n error ERC1155InvalidApprover(address approver);\n\n /**\n * @dev Indicates a failure with the `operator` to be approved. Used in approvals.\n * @param operator Address that may be allowed to operate on tokens without being their owner.\n */\n error ERC1155InvalidOperator(address operator);\n\n /**\n * @dev Indicates an array length mismatch between ids and values in a safeBatchTransferFrom operation.\n * Used in batch transfers.\n * @param idsLength Length of the array of token identifiers\n * @param valuesLength Length of the array of token amounts\n */\n error ERC1155InvalidArrayLength(uint256 idsLength, uint256 valuesLength);\n}\n" + }, + "@openzeppelin/contracts/token/ERC20/ERC20.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.3.0) (token/ERC20/ERC20.sol)\n\npragma solidity ^0.8.20;\n\nimport {IERC20} from \"./IERC20.sol\";\nimport {IERC20Metadata} from \"./extensions/IERC20Metadata.sol\";\nimport {Context} from \"../../utils/Context.sol\";\nimport {IERC20Errors} from \"../../interfaces/draft-IERC6093.sol\";\n\n/**\n * @dev Implementation of the {IERC20} interface.\n *\n * This implementation is agnostic to the way tokens are created. This means\n * that a supply mechanism has to be added in a derived contract using {_mint}.\n *\n * TIP: For a detailed writeup see our guide\n * https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How\n * to implement supply mechanisms].\n *\n * The default value of {decimals} is 18. To change this, you should override\n * this function so it returns a different value.\n *\n * We have followed general OpenZeppelin Contracts guidelines: functions revert\n * instead returning `false` on failure. This behavior is nonetheless\n * conventional and does not conflict with the expectations of ERC-20\n * applications.\n */\nabstract contract ERC20 is Context, IERC20, IERC20Metadata, IERC20Errors {\n mapping(address account => uint256) private _balances;\n\n mapping(address account => mapping(address spender => uint256)) private _allowances;\n\n uint256 private _totalSupply;\n\n string private _name;\n string private _symbol;\n\n /**\n * @dev Sets the values for {name} and {symbol}.\n *\n * Both values are immutable: they can only be set once during construction.\n */\n constructor(string memory name_, string memory symbol_) {\n _name = name_;\n _symbol = symbol_;\n }\n\n /**\n * @dev Returns the name of the token.\n */\n function name() public view virtual returns (string memory) {\n return _name;\n }\n\n /**\n * @dev Returns the symbol of the token, usually a shorter version of the\n * name.\n */\n function symbol() public view virtual returns (string memory) {\n return _symbol;\n }\n\n /**\n * @dev Returns the number of decimals used to get its user representation.\n * For example, if `decimals` equals `2`, a balance of `505` tokens should\n * be displayed to a user as `5.05` (`505 / 10 ** 2`).\n *\n * Tokens usually opt for a value of 18, imitating the relationship between\n * Ether and Wei. This is the default value returned by this function, unless\n * it's overridden.\n *\n * NOTE: This information is only used for _display_ purposes: it in\n * no way affects any of the arithmetic of the contract, including\n * {IERC20-balanceOf} and {IERC20-transfer}.\n */\n function decimals() public view virtual returns (uint8) {\n return 18;\n }\n\n /**\n * @dev See {IERC20-totalSupply}.\n */\n function totalSupply() public view virtual returns (uint256) {\n return _totalSupply;\n }\n\n /**\n * @dev See {IERC20-balanceOf}.\n */\n function balanceOf(address account) public view virtual returns (uint256) {\n return _balances[account];\n }\n\n /**\n * @dev See {IERC20-transfer}.\n *\n * Requirements:\n *\n * - `to` cannot be the zero address.\n * - the caller must have a balance of at least `value`.\n */\n function transfer(address to, uint256 value) public virtual returns (bool) {\n address owner = _msgSender();\n _transfer(owner, to, value);\n return true;\n }\n\n /**\n * @dev See {IERC20-allowance}.\n */\n function allowance(address owner, address spender) public view virtual returns (uint256) {\n return _allowances[owner][spender];\n }\n\n /**\n * @dev See {IERC20-approve}.\n *\n * NOTE: If `value` is the maximum `uint256`, the allowance is not updated on\n * `transferFrom`. This is semantically equivalent to an infinite approval.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n */\n function approve(address spender, uint256 value) public virtual returns (bool) {\n address owner = _msgSender();\n _approve(owner, spender, value);\n return true;\n }\n\n /**\n * @dev See {IERC20-transferFrom}.\n *\n * Skips emitting an {Approval} event indicating an allowance update. This is not\n * required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve].\n *\n * NOTE: Does not update the allowance if the current allowance\n * is the maximum `uint256`.\n *\n * Requirements:\n *\n * - `from` and `to` cannot be the zero address.\n * - `from` must have a balance of at least `value`.\n * - the caller must have allowance for ``from``'s tokens of at least\n * `value`.\n */\n function transferFrom(address from, address to, uint256 value) public virtual returns (bool) {\n address spender = _msgSender();\n _spendAllowance(from, spender, value);\n _transfer(from, to, value);\n return true;\n }\n\n /**\n * @dev Moves a `value` amount of tokens from `from` to `to`.\n *\n * This internal function is equivalent to {transfer}, and can be used to\n * e.g. implement automatic token fees, slashing mechanisms, etc.\n *\n * Emits a {Transfer} event.\n *\n * NOTE: This function is not virtual, {_update} should be overridden instead.\n */\n function _transfer(address from, address to, uint256 value) internal {\n if (from == address(0)) {\n revert ERC20InvalidSender(address(0));\n }\n if (to == address(0)) {\n revert ERC20InvalidReceiver(address(0));\n }\n _update(from, to, value);\n }\n\n /**\n * @dev Transfers a `value` amount of tokens from `from` to `to`, or alternatively mints (or burns) if `from`\n * (or `to`) is the zero address. All customizations to transfers, mints, and burns should be done by overriding\n * this function.\n *\n * Emits a {Transfer} event.\n */\n function _update(address from, address to, uint256 value) internal virtual {\n if (from == address(0)) {\n // Overflow check required: The rest of the code assumes that totalSupply never overflows\n _totalSupply += value;\n } else {\n uint256 fromBalance = _balances[from];\n if (fromBalance < value) {\n revert ERC20InsufficientBalance(from, fromBalance, value);\n }\n unchecked {\n // Overflow not possible: value <= fromBalance <= totalSupply.\n _balances[from] = fromBalance - value;\n }\n }\n\n if (to == address(0)) {\n unchecked {\n // Overflow not possible: value <= totalSupply or value <= fromBalance <= totalSupply.\n _totalSupply -= value;\n }\n } else {\n unchecked {\n // Overflow not possible: balance + value is at most totalSupply, which we know fits into a uint256.\n _balances[to] += value;\n }\n }\n\n emit Transfer(from, to, value);\n }\n\n /**\n * @dev Creates a `value` amount of tokens and assigns them to `account`, by transferring it from address(0).\n * Relies on the `_update` mechanism\n *\n * Emits a {Transfer} event with `from` set to the zero address.\n *\n * NOTE: This function is not virtual, {_update} should be overridden instead.\n */\n function _mint(address account, uint256 value) internal {\n if (account == address(0)) {\n revert ERC20InvalidReceiver(address(0));\n }\n _update(address(0), account, value);\n }\n\n /**\n * @dev Destroys a `value` amount of tokens from `account`, lowering the total supply.\n * Relies on the `_update` mechanism.\n *\n * Emits a {Transfer} event with `to` set to the zero address.\n *\n * NOTE: This function is not virtual, {_update} should be overridden instead\n */\n function _burn(address account, uint256 value) internal {\n if (account == address(0)) {\n revert ERC20InvalidSender(address(0));\n }\n _update(account, address(0), value);\n }\n\n /**\n * @dev Sets `value` as the allowance of `spender` over the `owner`'s tokens.\n *\n * This internal function is equivalent to `approve`, and can be used to\n * e.g. set automatic allowances for certain subsystems, etc.\n *\n * Emits an {Approval} event.\n *\n * Requirements:\n *\n * - `owner` cannot be the zero address.\n * - `spender` cannot be the zero address.\n *\n * Overrides to this logic should be done to the variant with an additional `bool emitEvent` argument.\n */\n function _approve(address owner, address spender, uint256 value) internal {\n _approve(owner, spender, value, true);\n }\n\n /**\n * @dev Variant of {_approve} with an optional flag to enable or disable the {Approval} event.\n *\n * By default (when calling {_approve}) the flag is set to true. On the other hand, approval changes made by\n * `_spendAllowance` during the `transferFrom` operation set the flag to false. This saves gas by not emitting any\n * `Approval` event during `transferFrom` operations.\n *\n * Anyone who wishes to continue emitting `Approval` events on the`transferFrom` operation can force the flag to\n * true using the following override:\n *\n * ```solidity\n * function _approve(address owner, address spender, uint256 value, bool) internal virtual override {\n * super._approve(owner, spender, value, true);\n * }\n * ```\n *\n * Requirements are the same as {_approve}.\n */\n function _approve(address owner, address spender, uint256 value, bool emitEvent) internal virtual {\n if (owner == address(0)) {\n revert ERC20InvalidApprover(address(0));\n }\n if (spender == address(0)) {\n revert ERC20InvalidSpender(address(0));\n }\n _allowances[owner][spender] = value;\n if (emitEvent) {\n emit Approval(owner, spender, value);\n }\n }\n\n /**\n * @dev Updates `owner`'s allowance for `spender` based on spent `value`.\n *\n * Does not update the allowance value in case of infinite allowance.\n * Revert if not enough allowance is available.\n *\n * Does not emit an {Approval} event.\n */\n function _spendAllowance(address owner, address spender, uint256 value) internal virtual {\n uint256 currentAllowance = allowance(owner, spender);\n if (currentAllowance < type(uint256).max) {\n if (currentAllowance < value) {\n revert ERC20InsufficientAllowance(spender, currentAllowance, value);\n }\n unchecked {\n _approve(owner, spender, currentAllowance - value, false);\n }\n }\n }\n}\n" + }, + "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (token/ERC20/extensions/IERC20Metadata.sol)\n\npragma solidity ^0.8.20;\n\nimport {IERC20} from \"../IERC20.sol\";\n\n/**\n * @dev Interface for the optional metadata functions from the ERC-20 standard.\n */\ninterface IERC20Metadata is IERC20 {\n /**\n * @dev Returns the name of the token.\n */\n function name() external view returns (string memory);\n\n /**\n * @dev Returns the symbol of the token.\n */\n function symbol() external view returns (string memory);\n\n /**\n * @dev Returns the decimals places of the token.\n */\n function decimals() external view returns (uint8);\n}\n" + }, + "@openzeppelin/contracts/token/ERC20/IERC20.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (token/ERC20/IERC20.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Interface of the ERC-20 standard as defined in the ERC.\n */\ninterface IERC20 {\n /**\n * @dev Emitted when `value` tokens are moved from one account (`from`) to\n * another (`to`).\n *\n * Note that `value` may be zero.\n */\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n /**\n * @dev Emitted when the allowance of a `spender` for an `owner` is set by\n * a call to {approve}. `value` is the new allowance.\n */\n event Approval(address indexed owner, address indexed spender, uint256 value);\n\n /**\n * @dev Returns the value of tokens in existence.\n */\n function totalSupply() external view returns (uint256);\n\n /**\n * @dev Returns the value of tokens owned by `account`.\n */\n function balanceOf(address account) external view returns (uint256);\n\n /**\n * @dev Moves a `value` amount of tokens from the caller's account to `to`.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transfer(address to, uint256 value) external returns (bool);\n\n /**\n * @dev Returns the remaining number of tokens that `spender` will be\n * allowed to spend on behalf of `owner` through {transferFrom}. This is\n * zero by default.\n *\n * This value changes when {approve} or {transferFrom} are called.\n */\n function allowance(address owner, address spender) external view returns (uint256);\n\n /**\n * @dev Sets a `value` amount of tokens as the allowance of `spender` over the\n * caller's tokens.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * IMPORTANT: Beware that changing an allowance with this method brings the risk\n * that someone may use both the old and the new allowance by unfortunate\n * transaction ordering. One possible solution to mitigate this race\n * condition is to first reduce the spender's allowance to 0 and set the\n * desired value afterwards:\n * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n *\n * Emits an {Approval} event.\n */\n function approve(address spender, uint256 value) external returns (bool);\n\n /**\n * @dev Moves a `value` amount of tokens from `from` to `to` using the\n * allowance mechanism. `value` is then deducted from the caller's\n * allowance.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transferFrom(address from, address to, uint256 value) external returns (bool);\n}\n" + }, + "@openzeppelin/contracts/utils/Context.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Provides information about the current execution context, including the\n * sender of the transaction and its data. While these are generally available\n * via msg.sender and msg.data, they should not be accessed in such a direct\n * manner, since when dealing with meta-transactions the account sending and\n * paying for execution may not be the actual sender (as far as an application\n * is concerned).\n *\n * This contract is only required for intermediate, library-like contracts.\n */\nabstract contract Context {\n function _msgSender() internal view virtual returns (address) {\n return msg.sender;\n }\n\n function _msgData() internal view virtual returns (bytes calldata) {\n return msg.data;\n }\n\n function _contextSuffixLength() internal view virtual returns (uint256) {\n return 0;\n }\n}\n" + }, + "@openzeppelin/contracts/utils/introspection/IERC165.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (utils/introspection/IERC165.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Interface of the ERC-165 standard, as defined in the\n * https://eips.ethereum.org/EIPS/eip-165[ERC].\n *\n * Implementers can declare support of contract interfaces, which can then be\n * queried by others ({ERC165Checker}).\n *\n * For an implementation, see {ERC165}.\n */\ninterface IERC165 {\n /**\n * @dev Returns true if this contract implements the interface defined by\n * `interfaceId`. See the corresponding\n * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section]\n * to learn more about how these ids are created.\n *\n * This function call must use less than 30 000 gas.\n */\n function supportsInterface(bytes4 interfaceId) external view returns (bool);\n}\n" }, "FreshCryptoLib/FCL_ecdsa.sol": { "content": "//********************************************************************************************/\n// ___ _ ___ _ _ _ _\n// | __| _ ___ __| |_ / __|_ _ _ _ _ __| |_ ___ | | (_) |__\n// | _| '_/ -_|_-< ' \\ | (__| '_| || | '_ \\ _/ _ \\ | |__| | '_ \\\n// |_||_| \\___/__/_||_| \\___|_| \\_, | .__/\\__\\___/ |____|_|_.__/\n// |__/|_|\n///* Copyright (C) 2022 - Renaud Dubois - This file is part of FCL (Fresh CryptoLib) project\n///* License: This software is licensed under MIT License\n///* This Code may be reused including license and copyright notice.\n///* See LICENSE file at the root folder of the project.\n///* FILE: FCL_ecdsa.sol\n///*\n///*\n///* DESCRIPTION: ecdsa verification implementation\n///*\n//**************************************************************************************/\n//* WARNING: this code SHALL not be used for non prime order curves for security reasons.\n// Code is optimized for a=-3 only curves with prime order, constant like -1, -2 shall be replaced\n// if ever used for other curve than sec256R1\n// SPDX-License-Identifier: MIT\npragma solidity >=0.8.19 <0.9.0;\n\n\nimport {FCL_Elliptic_ZZ} from \"./FCL_elliptic.sol\";\n\n\n\nlibrary FCL_ecdsa {\n // Set parameters for curve sec256r1.public\n //curve order (number of points)\n uint256 constant n = FCL_Elliptic_ZZ.n;\n \n /**\n * @dev ECDSA verification, given , signature, and public key.\n */\n\n /**\n * @dev ECDSA verification, given , signature, and public key, no calldata version\n */\n function ecdsa_verify(bytes32 message, uint256 r, uint256 s, uint256 Qx, uint256 Qy) internal view returns (bool){\n\n if (r == 0 || r >= FCL_Elliptic_ZZ.n || s == 0 || s >= FCL_Elliptic_ZZ.n) {\n return false;\n }\n \n if (!FCL_Elliptic_ZZ.ecAff_isOnCurve(Qx, Qy)) {\n return false;\n }\n\n uint256 sInv = FCL_Elliptic_ZZ.FCL_nModInv(s);\n\n uint256 scalar_u = mulmod(uint256(message), sInv, FCL_Elliptic_ZZ.n);\n uint256 scalar_v = mulmod(r, sInv, FCL_Elliptic_ZZ.n);\n uint256 x1;\n\n x1 = FCL_Elliptic_ZZ.ecZZ_mulmuladd_S_asm(Qx, Qy, scalar_u, scalar_v);\n\n x1= addmod(x1, n-r,n );\n \n return x1 == 0;\n }\n\n function ec_recover_r1(uint256 h, uint256 v, uint256 r, uint256 s) internal view returns (address)\n {\n if (r == 0 || r >= FCL_Elliptic_ZZ.n || s == 0 || s >= FCL_Elliptic_ZZ.n) {\n return address(0);\n }\n uint256 y=FCL_Elliptic_ZZ.ec_Decompress(r, v-27);\n uint256 rinv=FCL_Elliptic_ZZ.FCL_nModInv(r);\n uint256 u1=mulmod(FCL_Elliptic_ZZ.n-addmod(0,h,FCL_Elliptic_ZZ.n), rinv,FCL_Elliptic_ZZ.n);//-hr^-1\n uint256 u2=mulmod(s, rinv,FCL_Elliptic_ZZ.n);//sr^-1\n\n uint256 Qx;\n uint256 Qy;\n (Qx,Qy)=FCL_Elliptic_ZZ.ecZZ_mulmuladd(r,y, u1, u2);\n\n return address(uint160(uint256(keccak256(abi.encodePacked(Qx, Qy)))));\n }\n\n function ecdsa_precomputed_verify(bytes32 message, uint256 r, uint256 s, address Shamir8)\n internal view\n returns (bool)\n {\n \n if (r == 0 || r >= n || s == 0 || s >= n) {\n return false;\n }\n /* Q is pushed via the contract at address Shamir8 assumed to be correct\n if (!isOnCurve(Q[0], Q[1])) {\n return false;\n }*/\n\n uint256 sInv = FCL_Elliptic_ZZ.FCL_nModInv(s);\n\n uint256 X;\n\n //Shamir 8 dimensions\n X = FCL_Elliptic_ZZ.ecZZ_mulmuladd_S8_extcode(mulmod(uint256(message), sInv, n), mulmod(r, sInv, n), Shamir8);\n\n X= addmod(X, n-r,n );\n\n return X == 0;\n } //end ecdsa_precomputed_verify()\n\n function ecdsa_precomputed_verify(bytes32 message, uint256[2] calldata rs, address Shamir8)\n internal view\n returns (bool)\n {\n uint256 r = rs[0];\n uint256 s = rs[1];\n if (r == 0 || r >= n || s == 0 || s >= n) {\n return false;\n }\n /* Q is pushed via the contract at address Shamir8 assumed to be correct\n if (!isOnCurve(Q[0], Q[1])) {\n return false;\n }*/\n\n uint256 sInv = FCL_Elliptic_ZZ.FCL_nModInv(s);\n\n uint256 X;\n\n //Shamir 8 dimensions\n X = FCL_Elliptic_ZZ.ecZZ_mulmuladd_S8_extcode(mulmod(uint256(message), sInv, n), mulmod(r, sInv, n), Shamir8);\n\n X= addmod(X, n-r,n );\n\n return X == 0;\n } //end ecdsa_precomputed_verify()\n\n}\n" @@ -49,7 +88,7 @@ "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.4;\n\nimport {CallContextChecker} from \"./CallContextChecker.sol\";\n\n/// @notice UUPS proxy mixin.\n/// @author Solady (https://github.com/vectorized/solady/blob/main/src/utils/UUPSUpgradeable.sol)\n/// @author Modified from OpenZeppelin\n/// (https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/proxy/utils/UUPSUpgradeable.sol)\n///\n/// @dev Note:\n/// - This implementation is intended to be used with ERC1967 proxies.\n/// See: `LibClone.deployERC1967` and related functions.\n/// - This implementation is NOT compatible with legacy OpenZeppelin proxies\n/// which do not store the implementation at `_ERC1967_IMPLEMENTATION_SLOT`.\nabstract contract UUPSUpgradeable is CallContextChecker {\n /*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*/\n /* CUSTOM ERRORS */\n /*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*/\n\n /// @dev The upgrade failed.\n error UpgradeFailed();\n\n /*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*/\n /* EVENTS */\n /*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*/\n\n /// @dev Emitted when the proxy's implementation is upgraded.\n event Upgraded(address indexed implementation);\n\n /// @dev `keccak256(bytes(\"Upgraded(address)\"))`.\n uint256 private constant _UPGRADED_EVENT_SIGNATURE =\n 0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b;\n\n /*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*/\n /* STORAGE */\n /*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*/\n\n /// @dev The ERC-1967 storage slot for the implementation in the proxy.\n /// `uint256(keccak256(\"eip1967.proxy.implementation\")) - 1`.\n bytes32 internal constant _ERC1967_IMPLEMENTATION_SLOT =\n 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;\n\n /*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*/\n /* UUPS OPERATIONS */\n /*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*/\n\n /// @dev Please override this function to check if `msg.sender` is authorized\n /// to upgrade the proxy to `newImplementation`, reverting if not.\n /// ```\n /// function _authorizeUpgrade(address) internal override onlyOwner {}\n /// ```\n function _authorizeUpgrade(address newImplementation) internal virtual;\n\n /// @dev Returns the storage slot used by the implementation,\n /// as specified in [ERC1822](https://eips.ethereum.org/EIPS/eip-1822).\n ///\n /// Note: The `notDelegated` modifier prevents accidental upgrades to\n /// an implementation that is a proxy contract.\n function proxiableUUID() public view virtual notDelegated returns (bytes32) {\n // This function must always return `_ERC1967_IMPLEMENTATION_SLOT` to comply with ERC1967.\n return _ERC1967_IMPLEMENTATION_SLOT;\n }\n\n /// @dev Upgrades the proxy's implementation to `newImplementation`.\n /// Emits a {Upgraded} event.\n ///\n /// Note: Passing in empty `data` skips the delegatecall to `newImplementation`.\n function upgradeToAndCall(address newImplementation, bytes calldata data)\n public\n payable\n virtual\n onlyProxy\n {\n _authorizeUpgrade(newImplementation);\n /// @solidity memory-safe-assembly\n assembly {\n newImplementation := shr(96, shl(96, newImplementation)) // Clears upper 96 bits.\n mstore(0x00, returndatasize())\n mstore(0x01, 0x52d1902d) // `proxiableUUID()`.\n let s := _ERC1967_IMPLEMENTATION_SLOT\n // Check if `newImplementation` implements `proxiableUUID` correctly.\n if iszero(eq(mload(staticcall(gas(), newImplementation, 0x1d, 0x04, 0x01, 0x20)), s)) {\n mstore(0x01, 0x55299b49) // `UpgradeFailed()`.\n revert(0x1d, 0x04)\n }\n // Emit the {Upgraded} event.\n log2(codesize(), 0x00, _UPGRADED_EVENT_SIGNATURE, newImplementation)\n sstore(s, newImplementation) // Updates the implementation.\n\n // Perform a delegatecall to `newImplementation` if `data` is non-empty.\n if data.length {\n // Forwards the `data` to `newImplementation` via delegatecall.\n let m := mload(0x40)\n calldatacopy(m, data.offset, data.length)\n if iszero(delegatecall(gas(), newImplementation, m, data.length, codesize(), 0x00))\n {\n // Bubble up the revert if the call reverts.\n returndatacopy(m, 0x00, returndatasize())\n revert(m, returndatasize())\n }\n }\n }\n }\n}\n" }, "src/AuthenticatedStaticCaller.sol": { - "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.28;\nimport {ERC1271} from './ERC1271.sol';\n\nstruct StaticCall {\n address target;\n bytes data;\n uint256 signedAt;\n bytes signature;\n}\n\nabstract contract AuthenticatedStaticCaller is ERC1271 {\n error SignatureExpired(uint256 expiredAt, uint256 currentTimestamp);\n error InvalidSignature();\n\n //TODO: Make this configurable?\n uint256 constant signatureLifetime = 30 minutes;\n\n function signedStaticCall(StaticCall calldata call) external view returns (bytes memory) {\n if (call.signedAt + signatureLifetime < block.timestamp) {\n revert SignatureExpired(call.signedAt + signatureLifetime, block.timestamp);\n }\n bytes32 hash = keccak256(bytes.concat(this.signedStaticCall.selector, bytes32(call.signedAt)));\n if (!_isValidSignature(replaySafeHash(hash), call.signature)) {\n revert InvalidSignature();\n }\n (bool success, bytes memory result) = call.target.staticcall(call.data);\n if (!success) {\n assembly {\n revert(add(result, 32), mload(result))\n }\n }\n return result;\n }\n}\n" + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.28;\nimport {ERC1271} from './ERC1271.sol';\n\nstruct StaticCall {\n address target;\n bytes data;\n uint256 signedAt;\n bytes signature;\n}\n\nabstract contract AuthenticatedStaticCaller is ERC1271 {\n error SignatureExpired(uint256 expiredAt, uint256 currentTimestamp);\n error InvalidSignature();\n\n //TODO: Make this configurable?\n uint256 constant signatureLifetime = 30 minutes;\n\n function getSignatureLifetime() external view returns (uint256) {\n return signatureLifetime;\n }\n\n function signedStaticCall(StaticCall calldata call) external view returns (bytes memory) {\n if (call.signedAt + signatureLifetime < block.timestamp) {\n revert SignatureExpired(call.signedAt + signatureLifetime, block.timestamp);\n }\n bytes32 hash = keccak256(bytes.concat(this.signedStaticCall.selector, bytes32(call.signedAt)));\n if (!_isValidSignature(replaySafeHash(hash), call.signature)) {\n revert InvalidSignature();\n }\n (bool success, bytes memory result) = call.target.staticcall(call.data);\n if (!success) {\n assembly {\n revert(add(result, 32), mload(result))\n }\n }\n return result;\n }\n}\n" }, "src/CredentialKeyMapper.sol": { "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.28;\n\n/**\n * @title CredentialKeyMapper\n * @notice Maps a WebAuthn credential ID to its corresponding elliptic-curve\n * public key. Each credential can be registered **once** and later\n * looked up or removed by proving possession of that key.\n * @author Applied Blockchain\n * @dev The contract relies on the `WebAuthn.verify` helper to authenticate the\n * caller via an ECDSA-P256 signature produced by the WebAuthn authenticator\n * that owns the credential. All state-changing methods compute an EIP-191\n * style hash of the exact calldata being authorised and feed it to\n * `WebAuthn.verify`. This protects against both signature malleability\n * and replay across different contract methods.\n */\nimport {WebAuthn} from 'webauthn-sol/WebAuthn.sol';\n\ncontract CredentialKeyMapper {\n /**\n * @dev Affine coordinates of a P-256 public key.\n */\n struct PublicKey {\n /// @custom:field x X-coordinate of the point on secp256r1.\n bytes32 x;\n /// @custom:field y Y-coordinate of the point on secp256r1.\n bytes32 y;\n }\n\n /**\n * @dev Reverts when attempting to register a credential ID that is already\n * present in `_keys`.\n * @param idHash The hash of the credential ID that has already been set.\n */\n error CredentialIdAlreadySet(bytes32 idHash);\n\n error InvalidKey(bytes32 x, bytes32 y);\n error EmptyCredentialId();\n\n /// @dev Maps the hash of a credential ID (`id`) to its corresponding public key.\n mapping(bytes32 => PublicKey) private _keys;\n\n /**\n * @notice Internal helper that reverts unless `signature` is a valid\n * WebAuthn assertion over `hash` produced by the holder of the\n * `(x, y)` public key.\n *\n * @param hash The EIP-191 compliant hash that must have been signed.\n * @param signature The raw CBOR-encoded WebAuthn assertion data returned by\n * the client (see `WebAuthn.WebAuthnAuth`).\n * @param x X-coordinate of the expected public key.\n * @param y Y-coordinate of the expected public key.\n *\n * @dev The function is `view` because `WebAuthn.verify` does not modify\n * state; it will revert if verification fails.\n */\n function _validSignature(bytes32 hash, bytes calldata signature, bytes32 x, bytes32 y) private view {\n WebAuthn.WebAuthnAuth memory auth = abi.decode(signature, (WebAuthn.WebAuthnAuth));\n WebAuthn.verify({challenge: abi.encode(hash), requireUV: false, webAuthnAuth: auth, x: uint256(x), y: uint256(y)});\n }\n\n /**\n * @notice Register a new credential → public-key mapping.\n *\n * @param idHash The keccak256 hash of the credential ID returned by the authenticator during\n * WebAuthn registration.\n * @param key The public key (affine coordinates) that corresponds to\n * `id`.\n * @custom:reverts CredentialIdAlreadySet When `id` is already in `_keys`.\n * @custom:reverts InvalidKey When no key is stored under `id`.\n * @custom:reverts (from _validSignature) When the signature fails to\n * validate.\n */\n function setCredentialKey(bytes32 idHash, PublicKey calldata key) external {\n if (_keys[idHash].x != bytes32(0)) {\n revert CredentialIdAlreadySet(idHash);\n }\n\n if (idHash.length == 0) {\n revert EmptyCredentialId();\n }\n\n if (key.x == bytes32(0) || key.y == bytes32(0)) {\n revert InvalidKey(key.x, key.y);\n }\n\n _keys[idHash] = key;\n }\n\n /**\n * @notice Retrieve the public key associated with a credential ID.\n * @param idHash The credential identifier whose public key is requested.\n * @return key The stored `PublicKey` struct (`x`, `y`). If the credential is\n * unknown, both coordinates will be zero.\n */\n function getCredentialKey(bytes32 idHash) external view returns (PublicKey memory key) {\n key = _keys[idHash];\n }\n\n /**\n * @notice Remove an existing credential → public-key mapping.\n *\n * @param idHash The hash of the credential ID to forget.\n * @param signature A valid WebAuthn assertion proving control of the key\n * currently registered under `id`.\n *\n * @dev The hash that must be signed is\n * `keccak256(this.removeCredentialKey.selector || id)`.\n */\n function removeCredentialKey(bytes32 idHash, bytes calldata signature) external {\n bytes32 hash = keccak256(bytes.concat(this.removeCredentialKey.selector, idHash));\n _validSignature(hash, signature, _keys[idHash].x, _keys[idHash].y);\n delete _keys[idHash];\n }\n}\n" @@ -58,19 +97,25 @@ "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.4;\n\n/// @title ERC-1271\n///\n/// @notice Abstract ERC-1271 implementation (based on Solady's) with guards to handle the same\n/// signer being used on multiple accounts.\n///\n/// @dev To prevent the same signature from being validated on different accounts owned by the samer signer,\n/// we introduce an anti cross-account-replay layer: the original hash is input into a new EIP-712 compliant\n/// hash. The domain separator of this outer hash contains the chain id and address of this contract, so that\n/// it cannot be used on two accounts (see `replaySafeHash()` for the implementation details).\n///\n/// @author Applied Blockchain (https://github.com/appliedblockchain/giano)\n/// @author Coinbase (https://github.com/coinbase/smart-wallet)\n/// @author Solady (https://github.com/vectorized/solady/blob/main/src/accounts/ERC1271.sol)\nabstract contract ERC1271 {\n /// @dev Precomputed `typeHash` used to produce EIP-712 compliant hash when applying the anti\n /// cross-account-replay layer.\n ///\n /// The original hash must either be:\n /// - An EIP-191 hash: keccak256(\"\\x19Ethereum Signed Message:\\n\" || len(someMessage) || someMessage)\n /// - An EIP-712 hash: keccak256(\"\\x19\\x01\" || someDomainSeparator || hashStruct(someStruct))\n bytes32 private constant _MESSAGE_TYPEHASH = keccak256(\"GianoSmartWalletMessage(bytes32 hash)\");\n\n /// @notice Returns information about the `EIP712Domain` used to create EIP-712 compliant hashes.\n ///\n /// @dev Follows ERC-5267 (see https://eips.ethereum.org/EIPS/eip-5267).\n ///\n /// @return fields The bitmap of used fields.\n /// @return name The value of the `EIP712Domain.name` field.\n /// @return version The value of the `EIP712Domain.version` field.\n /// @return chainId The value of the `EIP712Domain.chainId` field.\n /// @return verifyingContract The value of the `EIP712Domain.verifyingContract` field.\n /// @return salt The value of the `EIP712Domain.salt` field.\n /// @return extensions The list of EIP numbers, that extends EIP-712 with new domain fields.\n function eip712Domain()\n external\n view\n virtual\n returns (\n bytes1 fields,\n string memory name,\n string memory version,\n uint256 chainId,\n address verifyingContract,\n bytes32 salt,\n uint256[] memory extensions\n )\n {\n fields = hex\"0f\"; // `0b1111`.\n (name, version) = _domainNameAndVersion();\n chainId = block.chainid;\n verifyingContract = address(this);\n salt = salt; // `bytes32(0)`.\n extensions = extensions; // `new uint256[](0)`.\n }\n\n /// @notice Validates the `signature` against the given `hash`.\n ///\n /// @dev This implementation follows ERC-1271. See https://eips.ethereum.org/EIPS/eip-1271.\n /// @dev IMPORTANT: Signature verification is performed on the hash produced AFTER applying the anti\n /// cross-account-replay layer on the given `hash` (i.e., verification is run on the replay-safe\n /// hash version).\n ///\n /// @param hash The original hash.\n /// @param signature The signature of the replay-safe hash to validate.\n ///\n /// @return result `0x1626ba7e` if validation succeeded, else `0xffffffff`.\n function isValidSignature(bytes32 hash, bytes calldata signature) public view virtual returns (bytes4 result) {\n if (_isValidSignature({hash: replaySafeHash(hash), signature: signature})) {\n // bytes4(keccak256(\"isValidSignature(bytes32,bytes)\"))\n return 0x1626ba7e;\n }\n\n return 0xffffffff;\n }\n\n /// @notice Wrapper around `_eip712Hash()` to produce a replay-safe hash fron the given `hash`.\n ///\n /// @dev The returned EIP-712 compliant replay-safe hash is the result of:\n /// keccak256(\n /// \\x19\\x01 ||\n /// this.domainSeparator ||\n /// hashStruct(GianoSmartWalletMessage({ hash: `hash`}))\n /// )\n ///\n /// @param hash The original hash.\n ///\n /// @return The corresponding replay-safe hash.\n function replaySafeHash(bytes32 hash) public view virtual returns (bytes32) {\n return _eip712Hash(hash);\n }\n\n /// @notice Returns the `domainSeparator` used to create EIP-712 compliant hashes.\n ///\n /// @dev Implements domainSeparator = hashStruct(eip712Domain).\n /// See https://eips.ethereum.org/EIPS/eip-712#definition-of-domainseparator.\n ///\n /// @return The 32 bytes domain separator result.\n function domainSeparator() public view returns (bytes32) {\n (string memory name, string memory version) = _domainNameAndVersion();\n return keccak256(\n abi.encode(\n keccak256(\"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\"),\n keccak256(bytes(name)),\n keccak256(bytes(version)),\n block.chainid,\n address(this)\n )\n );\n }\n\n /// @notice Returns the EIP-712 typed hash of the `GianoSmartWalletMessage(bytes32 hash)` data structure.\n ///\n /// @dev Implements encode(domainSeparator : 𝔹²⁵⁶, message : 𝕊) = \"\\x19\\x01\" || domainSeparator ||\n /// hashStruct(message).\n /// @dev See https://eips.ethereum.org/EIPS/eip-712#specification.\n ///\n /// @param hash The `GianoSmartWalletMessage.hash` field to hash.\n ////\n /// @return The resulting EIP-712 hash.\n function _eip712Hash(bytes32 hash) internal view virtual returns (bytes32) {\n return keccak256(abi.encodePacked(\"\\x19\\x01\", domainSeparator(), _hashStruct(hash)));\n }\n\n /// @notice Returns the EIP-712 `hashStruct` result of the `GianoSmartWalletMessage(bytes32 hash)` data\n /// structure.\n ///\n /// @dev Implements hashStruct(s : 𝕊) = keccak256(typeHash || encodeData(s)).\n /// @dev See https://eips.ethereum.org/EIPS/eip-712#definition-of-hashstruct.\n ///\n /// @param hash The `GianoSmartWalletMessage.hash` field.\n ///\n /// @return The EIP-712 `hashStruct` result.\n function _hashStruct(bytes32 hash) internal view virtual returns (bytes32) {\n return keccak256(abi.encode(_MESSAGE_TYPEHASH, hash));\n }\n\n /// @notice Returns the domain name and version to use when creating EIP-712 signatures.\n ///\n /// @dev MUST be defined by the implementation.\n ///\n /// @return name The user readable name of signing domain.\n /// @return version The current major version of the signing domain.\n function _domainNameAndVersion() internal view virtual returns (string memory name, string memory version);\n\n /// @notice Validates the `signature` against the given `hash`.\n ///\n /// @dev MUST be defined by the implementation.\n ///\n /// @param hash The hash whose signature has been performed on.\n /// @param signature The signature associated with `hash`.\n ///\n /// @return `true` is the signature is valid, else `false`.\n function _isValidSignature(bytes32 hash, bytes calldata signature) internal view virtual returns (bool);\n}\n" }, "src/GianoSmartWallet.sol": { - "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.28;\n\nimport {IAccount} from '@account-abstraction/contracts/interfaces/IAccount.sol';\n\nimport {PackedUserOperation} from '@account-abstraction/contracts/interfaces/PackedUserOperation.sol';\nimport {UserOperationLib} from '@account-abstraction/contracts/core/UserOperationLib.sol';\nimport {Receiver} from 'solady/accounts/Receiver.sol';\nimport {SignatureCheckerLib} from 'solady/utils/SignatureCheckerLib.sol';\nimport {UUPSUpgradeable} from 'solady/utils/UUPSUpgradeable.sol';\nimport {WebAuthn} from 'webauthn-sol/WebAuthn.sol';\nimport {AuthenticatedStaticCaller} from './AuthenticatedStaticCaller.sol';\n\nimport {ERC1271} from './ERC1271.sol';\nimport {MultiOwnable} from './MultiOwnable.sol';\n\n/// @title Giano Smart Wallet\n///\n/// @notice ERC-4337-compatible smart account, based on Solady's ERC4337 account implementation\n/// with inspiration from Alchemy's LightAccount and Daimo's DaimoAccount.\n///\n/// @author Applied Blockchain (https://github.com/appliedblockchain/giano)\n/// @author Coinbase (https://github.com/coinbase/smart-wallet)\n/// @author Solady (https://github.com/vectorized/solady/blob/main/src/accounts/ERC4337.sol)\ncontract GianoSmartWallet is ERC1271, IAccount, MultiOwnable, UUPSUpgradeable, Receiver, AuthenticatedStaticCaller {\n /// @notice A wrapper struct used for signature validation so that callers\n /// can identify the owner that signed.\n struct SignatureWrapper {\n /// @dev The index of the owner that signed, see `MultiOwnable.ownerAtIndex`\n uint256 ownerIndex;\n /// @dev If `MultiOwnable.ownerAtIndex` is an Ethereum address, this should be `abi.encodePacked(r, s, v)`\n /// If `MultiOwnable.ownerAtIndex` is a public key, this should be `abi.encode(WebAuthnAuth)`.\n bytes signatureData;\n }\n\n /// @notice Represents a call to make.\n struct Call {\n /// @dev The address to call.\n address target;\n /// @dev The value to send when making the call.\n uint256 value;\n /// @dev The data of the call.\n bytes data;\n }\n\n /// @notice Reserved nonce key (upper 192 bits of `UserOperation.nonce`) for cross-chain replayable\n /// transactions.\n ///\n /// @dev MUST BE the `UserOperation.nonce` key when `UserOperation.calldata` is calling\n /// `executeWithoutChainIdValidation`and MUST NOT BE `UserOperation.nonce` key when `UserOperation.calldata` is\n /// NOT calling `executeWithoutChainIdValidation`.\n ///\n /// @dev Helps enforce sequential sequencing of replayable transactions.\n uint256 public constant REPLAYABLE_NONCE_KEY = 8453;\n\n /// @notice Thrown when `initialize` is called but the account already has had at least one owner.\n error Initialized();\n\n /// @notice Thrown when a call is passed to `executeWithoutChainIdValidation` that is not allowed by\n /// `canSkipChainIdValidation`\n ///\n /// @param selector The selector of the call.\n error SelectorNotAllowed(bytes4 selector);\n\n /// @notice Thrown in validateUserOp if the key of `UserOperation.nonce` does not match the calldata.\n ///\n /// @dev Calls to `this.executeWithoutChainIdValidation` MUST use `REPLAYABLE_NONCE_KEY` and\n /// calls NOT to `this.executeWithoutChainIdValidation` MUST NOT use `REPLAYABLE_NONCE_KEY`.\n ///\n /// @param key The invalid `UserOperation.nonce` key.\n error InvalidNonceKey(uint256 key);\n\n /// @notice Reverts if the caller is not the EntryPoint.\n modifier onlyEntryPoint() virtual {\n if (msg.sender != entryPoint()) {\n revert Unauthorized();\n }\n\n _;\n }\n\n /// @notice Reverts if the caller is neither the EntryPoint, the owner, nor the account itself.\n modifier onlyEntryPointOrOwner() virtual {\n if (msg.sender != entryPoint()) {\n _checkOwner();\n }\n\n _;\n }\n\n /// @notice Sends to the EntryPoint (i.e. `msg.sender`) the missing funds for this transaction.\n ///\n /// @dev Subclass MAY override this modifier for better funds management (e.g. send to the\n /// EntryPoint more than the minimum required, so that in future transactions it will not\n /// be required to send again).\n ///\n /// @param missingAccountFunds The minimum value this modifier should send the EntryPoint which\n /// MAY be zero, in case there is enough deposit, or the userOp has a\n /// paymaster.\n modifier payPrefund(uint256 missingAccountFunds) virtual {\n _;\n\n assembly ('memory-safe') {\n if missingAccountFunds {\n // Ignore failure (it's EntryPoint's job to verify, not the account's).\n pop(call(gas(), caller(), missingAccountFunds, codesize(), 0x00, codesize(), 0x00))\n }\n }\n }\n\n constructor() {\n // Implementation should not be initializable (does not affect proxies which use their own storage).\n bytes[] memory owners = new bytes[](1);\n owners[0] = abi.encode(address(0));\n _initializeOwners(owners);\n }\n\n /// @notice Initializes the account with the `owners`.\n ///\n /// @dev Reverts if the account has had at least one owner, i.e. has been initialized.\n ///\n /// @param owners Array of initial owners for this account. Each item should be\n /// an ABI encoded Ethereum address, i.e. 32 bytes with 12 leading 0 bytes,\n /// or a 64 byte public key.\n function initialize(bytes[] calldata owners) external payable virtual {\n if (nextOwnerIndex() != 0) {\n revert Initialized();\n }\n\n _initializeOwners(owners);\n }\n\n /// @inheritdoc IAccount\n ///\n /// @notice ERC-4337 `validateUserOp` method. The EntryPoint will\n /// call `UserOperation.sender.call(UserOperation.callData)` only if this validation call returns\n /// successfully.\n ///\n /// @dev Signature failure should be reported by returning 1 (see: `this._isValidSignature`). This\n /// allows making a \"simulation call\" without a valid signature. Other failures (e.g. invalid signature format)\n /// should still revert to signal failure.\n /// @dev Reverts if the `UserOperation.nonce` key is invalid for `UserOperation.calldata`.\n /// @dev Reverts if the signature format is incorrect or invalid for owner type.\n ///\n /// @param userOp The `UserOperation` to validate.\n /// @param userOpHash The `UserOperation` hash, as computed by `EntryPoint.getUserOpHash(UserOperation)`.\n /// @param missingAccountFunds The missing account funds that must be deposited on the Entrypoint.\n ///\n /// @return validationData The encoded `ValidationData` structure:\n /// `(uint256(validAfter) << (160 + 48)) | (uint256(validUntil) << 160) | (success ? 0 : 1)`\n /// where `validUntil` is 0 (indefinite) and `validAfter` is 0.\n function validateUserOp(\n PackedUserOperation calldata userOp,\n bytes32 userOpHash,\n uint256 missingAccountFunds\n ) external virtual onlyEntryPoint payPrefund(missingAccountFunds) returns (uint256 validationData) {\n uint256 key = userOp.nonce >> 64;\n\n if (bytes4(userOp.callData) == this.executeWithoutChainIdValidation.selector) {\n userOpHash = getUserOpHashWithoutChainId(userOp);\n if (key != REPLAYABLE_NONCE_KEY) {\n revert InvalidNonceKey(key);\n }\n } else {\n if (key == REPLAYABLE_NONCE_KEY) {\n revert InvalidNonceKey(key);\n }\n }\n\n // Return 0 if the recovered address matches the owner.\n if (_isValidSignature(userOpHash, userOp.signature)) {\n return 0;\n }\n\n // Else return 1\n return 1;\n }\n\n /// @notice Executes `calls` on this account (i.e. self call).\n ///\n /// @dev Can only be called by the Entrypoint.\n /// @dev Reverts if the given call is not authorized to skip the chain ID validtion.\n /// @dev `validateUserOp()` will recompute the `userOpHash` without the chain ID before validating\n /// it if the `UserOperation.calldata` is calling this function. This allows certain UserOperations\n /// to be replayed for all accounts sharing the same address across chains. E.g. This may be\n /// useful for syncing owner changes.\n ///\n /// @param calls An array of calldata to use for separate self calls.\n function executeWithoutChainIdValidation(bytes[] calldata calls) external payable virtual onlyEntryPoint {\n for (uint256 i; i < calls.length; i++) {\n bytes calldata call = calls[i];\n bytes4 selector = bytes4(call);\n if (!canSkipChainIdValidation(selector)) {\n revert SelectorNotAllowed(selector);\n }\n\n _call(address(this), 0, call);\n }\n }\n\n /// @notice Executes the given call from this account.\n ///\n /// @dev Can only be called by the Entrypoint or an owner of this account (including itself).\n ///\n /// @param target The address to call.\n /// @param value The value to send with the call.\n /// @param data The data of the call.\n function execute(address target, uint256 value, bytes calldata data) external payable virtual onlyEntryPointOrOwner {\n _call(target, value, data);\n }\n\n /// @notice Executes batch of `Call`s.\n ///\n /// @dev Can only be called by the Entrypoint or an owner of this account (including itself).\n ///\n /// @param calls The list of `Call`s to execute.\n function executeBatch(Call[] calldata calls) external payable virtual onlyEntryPointOrOwner {\n for (uint256 i; i < calls.length; i++) {\n _call(calls[i].target, calls[i].value, calls[i].data);\n }\n }\n\n /// @notice Returns the address of the EntryPoint v0.8.\n ///\n /// @return The address of the EntryPoint v0.8\n function entryPoint() public view virtual returns (address) {\n return 0x4337084D9E255Ff0702461CF8895CE9E3b5Ff108;\n }\n\n /// @notice Computes the hash of the `UserOperation` in the same way as EntryPoint v0.6, but\n /// leaves out the chain ID.\n ///\n /// @dev This allows accounts to sign a hash that can be used on many chains.\n ///\n /// @param userOp The `UserOperation` to compute the hash for.\n ///\n /// @return The `UserOperation` hash, which does not depend on chain ID.\n function getUserOpHashWithoutChainId(PackedUserOperation calldata userOp) public view virtual returns (bytes32) {\n return keccak256(abi.encode(UserOperationLib.hash(userOp, bytes32(0)), entryPoint()));\n }\n\n /// @notice Returns the implementation of the ERC1967 proxy.\n ///\n /// @return $ The address of implementation contract.\n function implementation() public view returns (address $) {\n assembly {\n $ := sload(_ERC1967_IMPLEMENTATION_SLOT)\n }\n }\n\n /// @notice Returns whether `functionSelector` can be called in `executeWithoutChainIdValidation`.\n ///\n /// @param functionSelector The function selector to check.\n ////\n /// @return `true` is the function selector is allowed to skip the chain ID validation, else `false`.\n function canSkipChainIdValidation(bytes4 functionSelector) public pure returns (bool) {\n if (\n functionSelector == MultiOwnable.addOwnerPublicKey.selector ||\n functionSelector == MultiOwnable.addOwnerAddress.selector ||\n functionSelector == MultiOwnable.removeOwnerAtIndex.selector ||\n functionSelector == MultiOwnable.removeLastOwner.selector ||\n functionSelector == UUPSUpgradeable.upgradeToAndCall.selector\n ) {\n return true;\n }\n return false;\n }\n\n /// @notice Executes the given call from this account.\n ///\n /// @dev Reverts if the call reverted.\n /// @dev Implementation taken from\n /// https://github.com/alchemyplatform/light-account/blob/43f625afdda544d5e5af9c370c9f4be0943e4e90/src/common/BaseLightAccount.sol#L125\n ///\n /// @param target The target call address.\n /// @param value The call value to user.\n /// @param data The raw call data.\n function _call(address target, uint256 value, bytes memory data) internal {\n (bool success, bytes memory result) = target.call{value: value}(data);\n if (!success) {\n assembly ('memory-safe') {\n revert(add(result, 32), mload(result))\n }\n }\n }\n\n /// @inheritdoc ERC1271\n ///\n /// @dev Used by both `ERC1271.isValidSignature` AND `IAccount.validateUserOp` signature validation.\n /// @dev Reverts if owner at `ownerIndex` is not compatible with `signature` format.\n ///\n /// @param signature ABI encoded `SignatureWrapper`.\n function _isValidSignature(bytes32 hash, bytes calldata signature) internal view virtual override returns (bool) {\n SignatureWrapper memory sigWrapper = abi.decode(signature, (SignatureWrapper));\n bytes memory ownerBytes = ownerAtIndex(sigWrapper.ownerIndex);\n\n if (ownerBytes.length == 32) {\n if (uint256(bytes32(ownerBytes)) > type(uint160).max) {\n // technically should be impossible given owners can only be added with\n // addOwnerAddress and addOwnerPublicKey, but we leave incase of future changes.\n revert InvalidEthereumAddressOwner(ownerBytes);\n }\n\n address owner;\n assembly ('memory-safe') {\n owner := mload(add(ownerBytes, 32))\n }\n\n return SignatureCheckerLib.isValidSignatureNow(owner, hash, sigWrapper.signatureData);\n }\n\n if (ownerBytes.length == 64) {\n (uint256 x, uint256 y) = abi.decode(ownerBytes, (uint256, uint256));\n\n WebAuthn.WebAuthnAuth memory auth = abi.decode(sigWrapper.signatureData, (WebAuthn.WebAuthnAuth));\n\n return WebAuthn.verify({challenge: abi.encode(hash), requireUV: false, webAuthnAuth: auth, x: x, y: y});\n }\n\n revert InvalidOwnerBytesLength(ownerBytes);\n }\n\n /// @inheritdoc UUPSUpgradeable\n ///\n /// @dev Authorization logic is only based on the `msg.sender` being an owner of this account,\n /// or `address(this)`.\n function _authorizeUpgrade(address) internal view virtual override(UUPSUpgradeable) onlyOwner {}\n\n /// @inheritdoc ERC1271\n function _domainNameAndVersion() internal pure override(ERC1271) returns (string memory, string memory) {\n return ('Giano Smart Wallet', '1');\n }\n}\n" + "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.28;\n\nimport {IAccount} from '@account-abstraction/contracts/interfaces/IAccount.sol';\n\nimport {PackedUserOperation} from '@account-abstraction/contracts/interfaces/PackedUserOperation.sol';\nimport {UserOperationLib} from '@account-abstraction/contracts/core/UserOperationLib.sol';\nimport {Receiver} from 'solady/accounts/Receiver.sol';\nimport {SignatureCheckerLib} from 'solady/utils/SignatureCheckerLib.sol';\nimport {UUPSUpgradeable} from 'solady/utils/UUPSUpgradeable.sol';\nimport {WebAuthn} from 'webauthn-sol/WebAuthn.sol';\nimport {AuthenticatedStaticCaller} from './AuthenticatedStaticCaller.sol';\n\nimport {ERC1271} from './ERC1271.sol';\nimport {MultiOwnable} from './MultiOwnable.sol';\n\n/// @title Giano Smart Wallet\n///\n/// @notice ERC-4337-compatible smart account, based on Solady's ERC4337 account implementation\n/// with inspiration from Alchemy's LightAccount and Daimo's DaimoAccount.\n///\n/// @author Applied Blockchain (https://github.com/appliedblockchain/giano)\n/// @author Coinbase (https://github.com/coinbase/smart-wallet)\n/// @author Solady (https://github.com/vectorized/solady/blob/main/src/accounts/ERC4337.sol)\ncontract GianoSmartWallet is ERC1271, IAccount, MultiOwnable, UUPSUpgradeable, Receiver, AuthenticatedStaticCaller {\n /// @notice A wrapper struct used for signature validation so that callers\n /// can identify the owner that signed.\n struct SignatureWrapper {\n /// @dev The owner bytes that signed, should be ABI encoded address (32 bytes) or public key (64 bytes)\n bytes ownerBytes;\n /// @dev If `ownerBytes` is an Ethereum address, this should be `abi.encodePacked(r, s, v)`\n /// If `ownerBytes` is a public key, this should be `abi.encode(WebAuthnAuth)`.\n bytes signatureData;\n }\n\n /// @notice Represents a call to make.\n struct Call {\n /// @dev The address to call.\n address target;\n /// @dev The value to send when making the call.\n uint256 value;\n /// @dev The data of the call.\n bytes data;\n }\n\n /// @notice Reserved nonce key (upper 192 bits of `UserOperation.nonce`) for cross-chain replayable\n /// transactions.\n ///\n /// @dev MUST BE the `UserOperation.nonce` key when `UserOperation.calldata` is calling\n /// `executeWithoutChainIdValidation`and MUST NOT BE `UserOperation.nonce` key when `UserOperation.calldata` is\n /// NOT calling `executeWithoutChainIdValidation`.\n ///\n /// @dev Helps enforce sequential sequencing of replayable transactions.\n uint256 public constant REPLAYABLE_NONCE_KEY = 8453;\n\n /// @notice Thrown when `initialize` is called but the account already has had at least one owner.\n error Initialized();\n\n /// @notice Thrown when a call is passed to `executeWithoutChainIdValidation` that is not allowed by\n /// `canSkipChainIdValidation`\n ///\n /// @param selector The selector of the call.\n error SelectorNotAllowed(bytes4 selector);\n\n /// @notice Thrown in validateUserOp if the key of `UserOperation.nonce` does not match the calldata.\n ///\n /// @dev Calls to `this.executeWithoutChainIdValidation` MUST use `REPLAYABLE_NONCE_KEY` and\n /// calls NOT to `this.executeWithoutChainIdValidation` MUST NOT use `REPLAYABLE_NONCE_KEY`.\n ///\n /// @param key The invalid `UserOperation.nonce` key.\n error InvalidNonceKey(uint256 key);\n\n /// @notice Thrown when an upgrade is attempted to an implementation that does not exist.\n ///\n /// @param implementation The address of the implementation that has no code.\n error InvalidImplementation(address implementation);\n\n /// @notice Reverts if the caller is not the EntryPoint.\n modifier onlyEntryPoint() virtual {\n if (msg.sender != entryPoint()) {\n revert Unauthorized();\n }\n\n _;\n }\n\n /// @notice Reverts if the caller is neither the EntryPoint, the owner, nor the account itself.\n modifier onlyEntryPointOrOwner() virtual {\n if (msg.sender != entryPoint()) {\n _checkOwner();\n }\n\n _;\n }\n\n /// @notice Sends to the EntryPoint (i.e. `msg.sender`) the missing funds for this transaction.\n ///\n /// @dev Subclass MAY override this modifier for better funds management (e.g. send to the\n /// EntryPoint more than the minimum required, so that in future transactions it will not\n /// be required to send again).\n ///\n /// @param missingAccountFunds The minimum value this modifier should send the EntryPoint which\n /// MAY be zero, in case there is enough deposit, or the userOp has a\n /// paymaster.\n modifier payPrefund(uint256 missingAccountFunds) virtual {\n _;\n\n assembly ('memory-safe') {\n if missingAccountFunds {\n // Ignore failure (it's EntryPoint's job to verify, not the account's).\n pop(call(gas(), caller(), missingAccountFunds, codesize(), 0x00, codesize(), 0x00))\n }\n }\n }\n\n constructor() {\n // Implementation should not be initializable (does not affect proxies which use their own storage).\n bytes[] memory owners = new bytes[](1);\n owners[0] = abi.encode(address(0));\n _initializeOwners(owners);\n }\n\n /// @notice Initializes the account with the `owners`.\n ///\n /// @dev Reverts if the account has had at least one owner, i.e. has been initialized.\n ///\n /// @param owners Array of initial owners for this account. Each item should be\n /// an ABI encoded Ethereum address, i.e. 32 bytes with 12 leading 0 bytes,\n /// or a 64 byte public key.\n function initialize(bytes[] calldata owners) external payable virtual {\n if (nextOwnerIndex() != 0) {\n revert Initialized();\n }\n\n _initializeOwners(owners);\n }\n\n /// @inheritdoc IAccount\n ///\n /// @notice ERC-4337 `validateUserOp` method. The EntryPoint will\n /// call `UserOperation.sender.call(UserOperation.callData)` only if this validation call returns\n /// successfully.\n ///\n /// @dev Signature failure should be reported by returning 1 (see: `this._isValidSignature`). This\n /// allows making a \"simulation call\" without a valid signature. Other failures (e.g. invalid signature format)\n /// should still revert to signal failure.\n /// @dev Reverts if the `UserOperation.nonce` key is invalid for `UserOperation.calldata`.\n /// @dev Reverts if the signature format is incorrect or invalid for owner type.\n ///\n /// @param userOp The `UserOperation` to validate.\n /// @param userOpHash The `UserOperation` hash, as computed by `EntryPoint.getUserOpHash(UserOperation)`.\n /// @param missingAccountFunds The missing account funds that must be deposited on the Entrypoint.\n ///\n /// @return validationData The encoded `ValidationData` structure:\n /// `(uint256(validAfter) << (160 + 48)) | (uint256(validUntil) << 160) | (success ? 0 : 1)`\n /// where `validUntil` is 0 (indefinite) and `validAfter` is 0.\n function validateUserOp(\n PackedUserOperation calldata userOp,\n bytes32 userOpHash,\n uint256 missingAccountFunds\n ) external virtual onlyEntryPoint payPrefund(missingAccountFunds) returns (uint256 validationData) {\n uint256 key = userOp.nonce >> 64;\n\n if (bytes4(userOp.callData) == this.executeWithoutChainIdValidation.selector) {\n userOpHash = getUserOpHashWithoutChainId(userOp);\n if (key != REPLAYABLE_NONCE_KEY) {\n revert InvalidNonceKey(key);\n }\n\n // Check for upgrade calls in the batch and validate implementation has code\n bytes[] memory calls = abi.decode(userOp.callData[4:], (bytes[]));\n for (uint256 i; i < calls.length; i++) {\n bytes memory callData = calls[i];\n bytes4 selector = bytes4(callData);\n\n if (selector == UUPSUpgradeable.upgradeToAndCall.selector) {\n address newImplementation;\n assembly {\n // Skip reading the first 32 bytes (length prefix) + 4 bytes (function selector)\n newImplementation := mload(add(callData, 36))\n }\n if (newImplementation.code.length == 0) revert InvalidImplementation(newImplementation);\n }\n }\n } else {\n if (key == REPLAYABLE_NONCE_KEY) {\n revert InvalidNonceKey(key);\n }\n }\n\n // Return 0 if the recovered address matches the owner.\n if (_isValidSignature(userOpHash, userOp.signature)) {\n return 0;\n }\n\n // Else return 1\n return 1;\n }\n\n /// @notice Executes `calls` on this account (i.e. self call).\n ///\n /// @dev Can only be called by the Entrypoint.\n /// @dev Reverts if the given call is not authorized to skip the chain ID validtion.\n /// @dev `validateUserOp()` will recompute the `userOpHash` without the chain ID before validating\n /// it if the `UserOperation.calldata` is calling this function. This allows certain UserOperations\n /// to be replayed for all accounts sharing the same address across chains. E.g. This may be\n /// useful for syncing owner changes.\n ///\n /// @param calls An array of calldata to use for separate self calls.\n function executeWithoutChainIdValidation(bytes[] calldata calls) external payable virtual onlyEntryPoint {\n for (uint256 i; i < calls.length; i++) {\n bytes calldata call = calls[i];\n bytes4 selector = bytes4(call);\n if (!canSkipChainIdValidation(selector)) {\n revert SelectorNotAllowed(selector);\n }\n\n _call(address(this), 0, call);\n }\n }\n\n /// @notice Executes the given call from this account.\n ///\n /// @dev Can only be called by the Entrypoint or an owner of this account (including itself).\n ///\n /// @param target The address to call.\n /// @param value The value to send with the call.\n /// @param data The data of the call.\n function execute(address target, uint256 value, bytes calldata data) external payable virtual onlyEntryPointOrOwner {\n _call(target, value, data);\n }\n\n /// @notice Executes batch of `Call`s.\n ///\n /// @dev Can only be called by the Entrypoint or an owner of this account (including itself).\n ///\n /// @param calls The list of `Call`s to execute.\n function executeBatch(Call[] calldata calls) external payable virtual onlyEntryPointOrOwner {\n for (uint256 i; i < calls.length; i++) {\n _call(calls[i].target, calls[i].value, calls[i].data);\n }\n }\n\n /// @notice Returns the address of the EntryPoint v0.7.\n ///\n /// @return The address of the EntryPoint v0.7\n function entryPoint() public view virtual returns (address) {\n return 0xB10F0BF29439a89A18f9969326c5d212c7E09611;\n }\n\n /// @notice Computes the hash of the `UserOperation` in the same way as EntryPoint v0.6, but\n /// leaves out the chain ID.\n ///\n /// @dev This allows accounts to sign a hash that can be used on many chains.\n ///\n /// @param userOp The `UserOperation` to compute the hash for.\n ///\n /// @return The `UserOperation` hash, which does not depend on chain ID.\n function getUserOpHashWithoutChainId(PackedUserOperation calldata userOp) public view virtual returns (bytes32) {\n return keccak256(abi.encode(UserOperationLib.hash(userOp), entryPoint()));\n }\n\n /// @notice Returns the implementation of the ERC1967 proxy.\n ///\n /// @return $ The address of implementation contract.\n function implementation() public view returns (address $) {\n assembly {\n $ := sload(_ERC1967_IMPLEMENTATION_SLOT)\n }\n }\n\n /// @notice Returns whether `functionSelector` can be called in `executeWithoutChainIdValidation`.\n ///\n /// @param functionSelector The function selector to check.\n ////\n /// @return `true` is the function selector is allowed to skip the chain ID validation, else `false`.\n function canSkipChainIdValidation(bytes4 functionSelector) public pure returns (bool) {\n if (\n functionSelector == MultiOwnable.addOwnerPublicKey.selector ||\n functionSelector == MultiOwnable.addOwnerAddress.selector ||\n functionSelector == MultiOwnable.removeOwnerAtIndex.selector ||\n functionSelector == MultiOwnable.removeLastOwner.selector ||\n functionSelector == UUPSUpgradeable.upgradeToAndCall.selector\n ) {\n return true;\n }\n return false;\n }\n\n /// @notice Executes the given call from this account.\n ///\n /// @dev Reverts if the call reverted.\n /// @dev Implementation taken from\n /// https://github.com/alchemyplatform/light-account/blob/43f625afdda544d5e5af9c370c9f4be0943e4e90/src/common/BaseLightAccount.sol#L125\n ///\n /// @param target The target call address.\n /// @param value The call value to user.\n /// @param data The raw call data.\n function _call(address target, uint256 value, bytes memory data) internal {\n (bool success, bytes memory result) = target.call{value: value}(data);\n if (!success) {\n assembly ('memory-safe') {\n revert(add(result, 32), mload(result))\n }\n }\n }\n\n /// @inheritdoc ERC1271\n ///\n /// @dev Used by both `ERC1271.isValidSignature` AND `IAccount.validateUserOp` signature validation.\n /// @dev Reverts if `ownerBytes` is not compatible with `signature` format.\n ///\n /// @param signature ABI encoded `SignatureWrapper`.\n function _isValidSignature(bytes32 hash, bytes calldata signature) internal view virtual override returns (bool) {\n SignatureWrapper memory sigWrapper = abi.decode(signature, (SignatureWrapper));\n bytes memory ownerBytes = sigWrapper.ownerBytes;\n\n // First validate that the provided owner bytes are actually an owner\n if (!isOwnerBytes(ownerBytes)) {\n return false;\n }\n\n if (ownerBytes.length == 32) {\n if (uint256(bytes32(ownerBytes)) > type(uint160).max) {\n // technically should be impossible given owners can only be added with\n // addOwnerAddress and addOwnerPublicKey, but we leave incase of future changes.\n revert InvalidEthereumAddressOwner(ownerBytes);\n }\n\n address owner;\n assembly ('memory-safe') {\n owner := mload(add(ownerBytes, 32))\n }\n\n return SignatureCheckerLib.isValidSignatureNow(owner, hash, sigWrapper.signatureData);\n }\n\n if (ownerBytes.length == 64) {\n (uint256 x, uint256 y) = abi.decode(ownerBytes, (uint256, uint256));\n\n WebAuthn.WebAuthnAuth memory auth = abi.decode(sigWrapper.signatureData, (WebAuthn.WebAuthnAuth));\n\n return WebAuthn.verify({challenge: abi.encode(hash), requireUV: false, webAuthnAuth: auth, x: x, y: y});\n }\n\n revert InvalidOwnerBytesLength(ownerBytes);\n }\n\n /// @inheritdoc UUPSUpgradeable\n ///\n /// @dev Authorization logic is only based on the `msg.sender` being an owner of this account,\n /// or `address(this)`.\n function _authorizeUpgrade(address) internal view virtual override(UUPSUpgradeable) onlyOwner {}\n\n /// @inheritdoc ERC1271\n function _domainNameAndVersion() internal pure override(ERC1271) returns (string memory, string memory) {\n return ('Giano Smart Wallet', '1');\n }\n}\n" }, "src/GianoSmartWalletFactory.sol": { - "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.4;\n\nimport {GianoSmartWallet} from './GianoSmartWallet.sol';\nimport {LibClone} from 'solady/utils/LibClone.sol';\n\n/// @title Giano Smart Wallet Factory\n///\n/// @notice GianoSmartWallet factory, based on Solady's ERC4337Factory.\n///\n/// @author Applied Blockchain (https://github.com/appliedblockchain/giano)\n/// @author Coinbase (https://github.com/coinbase/smart-wallet)\n/// @author Solady (https://github.com/vectorized/solady/blob/main/src/accounts/ERC4337Factory.sol)\ncontract GianoSmartWalletFactory {\n /// @notice Address of the ERC-4337 implementation used as implementation for new accounts.\n address public immutable implementation;\n\n /// @notice Thrown when trying to create a new `GianoSmartWallet` account without any owner.\n error OwnerRequired();\n\n /// @notice Factory constructor used to initialize the implementation address to use for future\n /// GianoSmartWallet deployments.\n ///\n /// @param implementation_ The address of the GianoSmartWallet implementation which new accounts will proxy to.\n constructor(address implementation_) payable {\n implementation = implementation_;\n }\n\n /// @notice Returns the deterministic address for a GianoSmartWallet created with `owners` and `nonce`\n /// deploys and initializes contract if it has not yet been created.\n ///\n /// @dev Deployed as a ERC-1967 proxy that's implementation is `this.implementation`.\n ///\n /// @param owners Array of initial owners. Each item should be an ABI encoded address or 64 byte public key.\n /// @param nonce The nonce of the account, a caller defined value which allows multiple accounts\n /// with the same `owners` to exist at different addresses.\n ///\n /// @return account The address of the ERC-1967 proxy created with inputs `owners`, `nonce`, and\n /// `this.implementation`.\n function createAccount(bytes[] calldata owners, uint256 nonce) external payable virtual returns (GianoSmartWallet account) {\n if (owners.length == 0) {\n revert OwnerRequired();\n }\n\n (bool alreadyDeployed, address accountAddress) = LibClone.createDeterministicERC1967(msg.value, implementation, _getSalt(owners, nonce));\n\n account = GianoSmartWallet(payable(accountAddress));\n\n if (!alreadyDeployed) {\n account.initialize(owners);\n }\n }\n\n /// @notice Returns the deterministic address of the account that would be created by `createAccount`.\n ///\n /// @param owners Array of initial owners. Each item should be an ABI encoded address or 64 byte public key.\n /// @param nonce The nonce provided to `createAccount()`.\n ///\n /// @return The predicted account deployment address.\n function getAddress(bytes[] calldata owners, uint256 nonce) external view returns (address) {\n return LibClone.predictDeterministicAddress(initCodeHash(), _getSalt(owners, nonce), address(this));\n }\n\n /// @notice Returns the initialization code hash of the account:\n /// a ERC1967 proxy that's implementation is `this.implementation`.\n ///\n /// @return The initialization code hash.\n function initCodeHash() public view virtual returns (bytes32) {\n return LibClone.initCodeHashERC1967(implementation);\n }\n\n /// @notice Returns the create2 salt for `LibClone.predictDeterministicAddress`\n ///\n /// @param owners Array of initial owners. Each item should be an ABI encoded address or 64 byte public key.\n /// @param nonce The nonce provided to `createAccount()`.\n ///\n /// @return The computed salt.\n function _getSalt(bytes[] calldata owners, uint256 nonce) internal pure returns (bytes32) {\n return keccak256(abi.encode(owners, nonce));\n }\n}\n" + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.4;\n\nimport {GianoSmartWallet} from './GianoSmartWallet.sol';\nimport {LibClone} from 'solady/utils/LibClone.sol';\n\n/// @title Giano Smart Wallet Factory\n///\n/// @notice GianoSmartWallet factory, based on Solady's ERC4337Factory.\n///\n/// @author Applied Blockchain (https://github.com/appliedblockchain/giano)\n/// @author Coinbase (https://github.com/coinbase/smart-wallet)\n/// @author Solady (https://github.com/vectorized/solady/blob/main/src/accounts/ERC4337Factory.sol)\ncontract GianoSmartWalletFactory {\n /// @notice Address of the ERC-4337 implementation used as implementation for new accounts.\n address public immutable implementation;\n\n /// @notice Emitted when a new account is created.\n ///\n /// @param account The address of the created account.\n /// @param owners Array of initial owners.\n /// @param nonce The nonce of the created account.\n event AccountCreated(address indexed account, bytes[] owners, uint256 nonce);\n\n /// @notice Thrown when trying to construct with an implementation that is not deployed.\n error ImplementationUndeployed();\n\n\n /// @notice Thrown when trying to create a new `GianoSmartWallet` account without any owner.\n error OwnerRequired();\n\n /// @notice Factory constructor used to initialize the implementation address to use for future\n /// GianoSmartWallet deployments.\n ///\n /// @param implementation_ The address of the GianoSmartWallet implementation which new accounts will proxy to.\n constructor(address implementation_) payable {\n if (implementation_.code.length == 0) revert ImplementationUndeployed();\n implementation = implementation_;\n }\n\n /// @notice Returns the deterministic address for a GianoSmartWallet created with `owners` and `nonce`\n /// deploys and initializes contract if it has not yet been created.\n ///\n /// @dev Deployed as a ERC-1967 proxy that's implementation is `this.implementation`.\n ///\n /// @param owners Array of initial owners. Each item should be an ABI encoded address or 64 byte public key.\n /// @param nonce The nonce of the account, a caller defined value which allows multiple accounts\n /// with the same `owners` to exist at different addresses.\n ///\n /// @return account The address of the ERC-1967 proxy created with inputs `owners`, `nonce`, and\n /// `this.implementation`.\n function createAccount(bytes[] calldata owners, uint256 nonce) external payable virtual returns (GianoSmartWallet account) {\n if (owners.length == 0) {\n revert OwnerRequired();\n }\n\n (bool alreadyDeployed, address accountAddress) = LibClone.createDeterministicERC1967(msg.value, implementation, _getSalt(owners, nonce));\n\n account = GianoSmartWallet(payable(accountAddress));\n\n if (!alreadyDeployed) {\n emit AccountCreated(accountAddress, owners, nonce);\n account.initialize(owners);\n }\n }\n\n /// @notice Returns the deterministic address of the account that would be created by `createAccount`.\n ///\n /// @param owners Array of initial owners. Each item should be an ABI encoded address or 64 byte public key.\n /// @param nonce The nonce provided to `createAccount()`.\n ///\n /// @return The predicted account deployment address.\n function getAddress(bytes[] calldata owners, uint256 nonce) external view returns (address) {\n return LibClone.predictDeterministicAddress(initCodeHash(), _getSalt(owners, nonce), address(this));\n }\n\n /// @notice Returns the initialization code hash of the account:\n /// a ERC1967 proxy that's implementation is `this.implementation`.\n ///\n /// @return The initialization code hash.\n function initCodeHash() public view virtual returns (bytes32) {\n return LibClone.initCodeHashERC1967(implementation);\n }\n\n /// @notice Returns the create2 salt for `LibClone.predictDeterministicAddress`\n ///\n /// @param owners Array of initial owners. Each item should be an ABI encoded address or 64 byte public key.\n /// @param nonce The nonce provided to `createAccount()`.\n ///\n /// @return The computed salt.\n function _getSalt(bytes[] calldata owners, uint256 nonce) internal pure returns (bytes32) {\n return keccak256(abi.encode(owners, nonce));\n }\n}\n" }, "src/MultiOwnable.sol": { "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.18;\n\n/// @notice Storage layout used by this contract.\n///\n/// @custom:storage-location erc7201:appliedblockchain.storage.MultiOwnable\nstruct MultiOwnableStorage {\n /// @dev Tracks the index of the next owner to add.\n uint256 nextOwnerIndex;\n /// @dev Tracks number of owners that have been removed.\n uint256 removedOwnersCount;\n /// @dev Maps index to owner bytes, used to idenfitied owners via a uint256 index.\n ///\n /// Some uses—-such as signature validation for secp256r1 public key owners—-\n /// requires the caller to assert the public key of the caller. To economize calldata,\n /// we allow an index to identify an owner, so that the full owner bytes do\n /// not need to be passed.\n ///\n /// The `owner` bytes should either be\n /// - An ABI encoded Ethereum address\n /// - An ABI encoded public key\n mapping(uint256 index => bytes owner) ownerAtIndex;\n /// @dev Mapping of bytes to booleans indicating whether or not\n /// bytes_ is an owner of this contract.\n mapping(bytes bytes_ => bool isOwner_) isOwner;\n}\n\n/// @title Multi Ownable\n///\n/// @notice Auth contract allowing multiple owners, each identified as bytes.\n///\n/// @author Applied Blockchain (https://github.com/appliedblockchain/giano)\n/// @author Coinbase (https://github.com/coinbase/smart-wallet)\ncontract MultiOwnable {\n /// @dev Slot for the `MultiOwnableStorage` struct in storage.\n /// Computed from\n /// keccak256(abi.encode(uint256(keccak256(\"appliedblockchain.storage.MultiOwnable\")) - 1)) & ~bytes32(uint256(0xff))\n /// Follows ERC-7201 (see https://eips.ethereum.org/EIPS/eip-7201).\n bytes32 private constant MUTLI_OWNABLE_STORAGE_LOCATION =\n 0x0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f500;\n\n /// @notice Thrown when the `msg.sender` is not an owner and is trying to call a privileged function.\n error Unauthorized();\n\n /// @notice Thrown when trying to add an already registered owner.\n ///\n /// @param owner The owner bytes.\n error AlreadyOwner(bytes owner);\n\n /// @notice Thrown when trying to remove an owner from an index that is empty.\n ///\n /// @param index The targeted index for removal.\n error NoOwnerAtIndex(uint256 index);\n\n /// @notice Thrown when `owner` argument does not match owner found at index.\n ///\n /// @param index The index of the owner to be removed.\n /// @param expectedOwner The owner passed in the remove call.\n /// @param actualOwner The actual owner at `index`.\n error WrongOwnerAtIndex(uint256 index, bytes expectedOwner, bytes actualOwner);\n\n /// @notice Thrown when a provided owner is neither 64 bytes long (for public key)\n /// nor a ABI encoded address.\n ///\n /// @param owner The invalid owner.\n error InvalidOwnerBytesLength(bytes owner);\n\n /// @notice Thrown if a provided owner is 32 bytes long but does not fit in an `address` type.\n ///\n /// @param owner The invalid owner.\n error InvalidEthereumAddressOwner(bytes owner);\n\n /// @notice Thrown when removeOwnerAtIndex is called and there is only one current owner.\n error LastOwner();\n\n /// @notice Thrown when removeLastOwner is called and there is more than one current owner.\n ///\n /// @param ownersRemaining The number of current owners.\n error NotLastOwner(uint256 ownersRemaining);\n\n /// @notice Emitted when a new owner is registered.\n ///\n /// @param index The owner index of the owner added.\n /// @param owner The owner added.\n event AddOwner(uint256 indexed index, bytes owner);\n\n /// @notice Emitted when an owner is removed.\n ///\n /// @param index The owner index of the owner removed.\n /// @param owner The owner removed.\n event RemoveOwner(uint256 indexed index, bytes owner);\n\n /// @notice Access control modifier ensuring the caller is an authorized owner\n modifier onlyOwner() virtual {\n _checkOwner();\n _;\n }\n\n /// @notice Adds a new Ethereum-address owner.\n ///\n /// @param owner The owner address.\n function addOwnerAddress(address owner) external virtual onlyOwner {\n _addOwnerAtIndex(abi.encode(owner), _getMultiOwnableStorage().nextOwnerIndex++);\n }\n\n /// @notice Adds a new public-key owner.\n ///\n /// @param x The owner public key x coordinate.\n /// @param y The owner public key y coordinate.\n function addOwnerPublicKey(bytes32 x, bytes32 y) external virtual onlyOwner {\n _addOwnerAtIndex(abi.encode(x, y), _getMultiOwnableStorage().nextOwnerIndex++);\n }\n\n /// @notice Removes owner at the given `index`.\n ///\n /// @dev Reverts if the owner is not registered at `index`.\n /// @dev Reverts if there is currently only one owner.\n /// @dev Reverts if `owner` does not match bytes found at `index`.\n ///\n /// @param index The index of the owner to be removed.\n /// @param owner The ABI encoded bytes of the owner to be removed.\n function removeOwnerAtIndex(uint256 index, bytes calldata owner) external virtual onlyOwner {\n if (ownerCount() == 1) {\n revert LastOwner();\n }\n\n _removeOwnerAtIndex(index, owner);\n }\n\n /// @notice Removes owner at the given `index`, which should be the only current owner.\n ///\n /// @dev Reverts if the owner is not registered at `index`.\n /// @dev Reverts if there is currently more than one owner.\n /// @dev Reverts if `owner` does not match bytes found at `index`.\n ///\n /// @param index The index of the owner to be removed.\n /// @param owner The ABI encoded bytes of the owner to be removed.\n function removeLastOwner(uint256 index, bytes calldata owner) external virtual onlyOwner {\n uint256 ownersRemaining = ownerCount();\n if (ownersRemaining > 1) {\n revert NotLastOwner(ownersRemaining);\n }\n\n _removeOwnerAtIndex(index, owner);\n }\n\n /// @notice Checks if the given `account` address is registered as owner.\n ///\n /// @param account The account address to check.\n ///\n /// @return `true` if the account is an owner else `false`.\n function isOwnerAddress(address account) public view virtual returns (bool) {\n return _getMultiOwnableStorage().isOwner[abi.encode(account)];\n }\n\n /// @notice Checks if the given `x`, `y` public key is registered as owner.\n ///\n /// @param x The public key x coordinate.\n /// @param y The public key y coordinate.\n ///\n /// @return `true` if the account is an owner else `false`.\n function isOwnerPublicKey(bytes32 x, bytes32 y) public view virtual returns (bool) {\n return _getMultiOwnableStorage().isOwner[abi.encode(x, y)];\n }\n\n /// @notice Checks if the given `account` bytes is registered as owner.\n ///\n /// @param account The account, should be ABI encoded address or public key.\n ///\n /// @return `true` if the account is an owner else `false`.\n function isOwnerBytes(bytes memory account) public view virtual returns (bool) {\n return _getMultiOwnableStorage().isOwner[account];\n }\n\n /// @notice Returns the owner bytes at the given `index`.\n ///\n /// @param index The index to lookup.\n ///\n /// @return The owner bytes (empty if no owner is registered at this `index`).\n function ownerAtIndex(uint256 index) public view virtual returns (bytes memory) {\n return _getMultiOwnableStorage().ownerAtIndex[index];\n }\n\n /// @notice Returns the next index that will be used to add a new owner.\n ///\n /// @return The next index that will be used to add a new owner.\n function nextOwnerIndex() public view virtual returns (uint256) {\n return _getMultiOwnableStorage().nextOwnerIndex;\n }\n\n /// @notice Returns the current number of owners\n ///\n /// @return The current owner count\n function ownerCount() public view virtual returns (uint256) {\n MultiOwnableStorage storage $ = _getMultiOwnableStorage();\n return $.nextOwnerIndex - $.removedOwnersCount;\n }\n\n /// @notice Tracks the number of owners removed\n ///\n /// @dev Used with `this.nextOwnerIndex` to avoid removing all owners\n ///\n /// @return The number of owners that have been removed.\n function removedOwnersCount() public view virtual returns (uint256) {\n return _getMultiOwnableStorage().removedOwnersCount;\n }\n\n /// @notice Initialize the owners of this contract.\n ///\n /// @dev Intended to be called contract is first deployed and never again.\n /// @dev Reverts if a provided owner is neither 64 bytes long (for public key) nor a valid address.\n ///\n /// @param owners The initial set of owners.\n function _initializeOwners(bytes[] memory owners) internal virtual {\n MultiOwnableStorage storage $ = _getMultiOwnableStorage();\n uint256 nextOwnerIndex_ = $.nextOwnerIndex;\n for (uint256 i; i < owners.length; i++) {\n if (owners[i].length != 32 && owners[i].length != 64) {\n revert InvalidOwnerBytesLength(owners[i]);\n }\n\n if (owners[i].length == 32 && uint256(bytes32(owners[i])) > type(uint160).max) {\n revert InvalidEthereumAddressOwner(owners[i]);\n }\n\n _addOwnerAtIndex(owners[i], nextOwnerIndex_++);\n }\n $.nextOwnerIndex = nextOwnerIndex_;\n }\n\n /// @notice Adds an owner at the given `index`.\n ///\n /// @dev Reverts if `owner` is already registered as an owner.\n ///\n /// @param owner The owner raw bytes to register.\n /// @param index The index to write to.\n function _addOwnerAtIndex(bytes memory owner, uint256 index) internal virtual {\n if (isOwnerBytes(owner)) revert AlreadyOwner(owner);\n\n MultiOwnableStorage storage $ = _getMultiOwnableStorage();\n $.isOwner[owner] = true;\n $.ownerAtIndex[index] = owner;\n\n emit AddOwner(index, owner);\n }\n\n /// @notice Removes owner at the given `index`.\n ///\n /// @dev Reverts if the owner is not registered at `index`.\n /// @dev Reverts if `owner` does not match bytes found at `index`.\n ///\n /// @param index The index of the owner to be removed.\n /// @param owner The ABI encoded bytes of the owner to be removed.\n function _removeOwnerAtIndex(uint256 index, bytes calldata owner) internal virtual {\n bytes memory owner_ = ownerAtIndex(index);\n if (owner_.length == 0) revert NoOwnerAtIndex(index);\n if (keccak256(owner_) != keccak256(owner)) {\n revert WrongOwnerAtIndex({index: index, expectedOwner: owner, actualOwner: owner_});\n }\n\n MultiOwnableStorage storage $ = _getMultiOwnableStorage();\n delete $.isOwner[owner];\n delete $.ownerAtIndex[index];\n $.removedOwnersCount++;\n\n emit RemoveOwner(index, owner);\n }\n\n /// @notice Checks if the sender is an owner of this contract or the contract itself.\n ///\n /// @dev Revert if the sender is not an owner fo the contract itself.\n function _checkOwner() internal view virtual {\n if (isOwnerAddress(msg.sender) || (msg.sender == address(this))) {\n return;\n }\n\n revert Unauthorized();\n }\n\n /// @notice Helper function to get a storage reference to the `MultiOwnableStorage` struct.\n ///\n /// @return $ A storage reference to the `MultiOwnableStorage` struct.\n function _getMultiOwnableStorage() internal pure returns (MultiOwnableStorage storage $) {\n assembly (\"memory-safe\") {\n $.slot := MUTLI_OWNABLE_STORAGE_LOCATION\n }\n }\n}\n" }, + "src/testing/PermissivePaymaster.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.28;\nimport {PackedUserOperation} from '@account-abstraction/contracts/interfaces/PackedUserOperation.sol';\nimport {BasePaymaster} from '@account-abstraction/contracts/core/BasePaymaster.sol';\nimport {IEntryPoint} from '@account-abstraction/contracts/interfaces/IEntryPoint.sol';\n\nerror OnlyEntrypoint();\n\ncontract PermissivePaymaster is BasePaymaster {\n\n constructor(address _entryPoint) BasePaymaster(IEntryPoint(_entryPoint)) {\n entryPoint = IEntryPoint(_entryPoint);\n }\n\n function _validatePaymasterUserOp(\n PackedUserOperation calldata,\n bytes32 /* userOpHash */,\n uint256 /* maxCost */\n ) internal view override returns (bytes memory context, uint256 validationData) {\n if (msg.sender != address(entryPoint)) {\n revert OnlyEntrypoint();\n }\n // Always approve: return empty context and 0 validationData (valid forever)\n return ('', 0);\n }\n\n function _postOp(BasePaymaster.PostOpMode, bytes calldata, uint256, uint256) internal view override {\n if (msg.sender != address(entryPoint)) {\n revert OnlyEntrypoint();\n }\n }\n\n // deposit any amounts it receives to the EntryPoint\n receive() external payable {\n entryPoint.depositTo{value: msg.value}(address(this));\n }\n}\n" + }, + "src/testing/PrivateERC20.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.28;\n\nimport '@openzeppelin/contracts/token/ERC20/ERC20.sol';\n\ncontract PrivateERC20 is ERC20 {\n error Unauthorized(address expectedSender, address actualSender);\n\n constructor(uint256 initialSupply) ERC20('Private ERC20', 'PE2') {\n _mint(msg.sender, initialSupply);\n }\n\n\tfunction mint(uint256 amount) public {\n\t\t_mint(msg.sender, amount);\n\t}\n\n function privateBalanceOf(address account) public view returns (uint256) {\n require(account == msg.sender, Unauthorized(account, msg.sender));\n return super.balanceOf(account);\n }\n}\n" + }, "src/utils/ERC1271InputGenerator.sol": { "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\nimport {GianoSmartWallet} from \"../GianoSmartWallet.sol\";\n\n/// @title ERC1271 Input Generator\n///\n/// @notice Helper contract for generating an ERC-1271 input hash to sign for deployed and undeployed\n/// GianoSmartWallet. May be useful for generating ERC-6492 compliant signatures.\n/// Inspired by Ambire's DeploylessUniversalSigValidator\n/// https://github.com/AmbireTech/signature-validator/blob/d5f84f5fc00bfdf79b80205b983a8258b6d1b3ea/contracts/DeploylessUniversalSigValidator.sol.\n///\n/// @dev This contract is not meant to ever actually be deployed, only mock deployed and used via a static eth_call.\n///\n/// @author Applied Blockchain (https://github.com/appliedblockchain/giano)\n/// @author Coinbase (https://github.com/coinbase/smart-wallet)\ncontract ERC1271InputGenerator {\n /// @notice Thrown when call to `accountFactory` with `factoryCalldata` fails.\n error AccountDeploymentFailed();\n\n /// @notice Thrown when the address returned from call to `accountFactory` does not\n /// match passed account\n ///\n /// @param account The passed account\n /// @param returned The returned account\n error ReturnedAddressDoesNotMatchAccount(address account, address returned);\n\n /// @notice Computes and returns the expected ERC-1271 replay-safe hash for a GianoSmartWallet.\n ///\n /// @dev `accountFactory` can be any address if the account is already deployed.\n /// @dev `factoryCalldata` can be 0x if the account is already deployed.\n /// @dev If calling with solidity, the `replaySafeHash` will be `.code`.\n ///\n /// @param account The account that will receive the ERC-1271 `isValidSignature` call.\n /// @param hash The hash the wallet was asked to sign.\n /// @param accountFactory The factory that will be used to deploy the account (if not already deployed).\n /// @param factoryCalldata The calldata that will be used to deploy the account (if not already deployed).\n constructor(GianoSmartWallet account, bytes32 hash, address accountFactory, bytes memory factoryCalldata) {\n // This allows us to get a replay-safe hash on any deployed or undeployed account\n // in a single eth_call, i.e. without deploying the contract. We do this by calling replaySafeHash on a deployed\n // account,\n // or by simulating the deployment of an undeployed account and then calling replaySafeHash on it.\n bytes32 replaySafeHash = _gianoSmartWallet1271Input(account, hash, accountFactory, factoryCalldata);\n assembly {\n // store replay safe hash\n mstore(0x80, replaySafeHash)\n // return replay safe hash\n return(0x80, 0x20)\n }\n }\n\n /// @notice Helper method to get a replay-safe hash from the given `account` by calling its `replaySafeHash()`\n /// method.\n ///\n ///\n /// @dev Deploys the account if not already deployed before calling `replaySafeHash` on it.\n /// @dev Implements ERC-6492, see https://eips.ethereum.org/EIPS/eip-6492.\n ///\n /// @param account The account that will receive the ERC-1271 `isValidSignature` call.\n /// @param hash The hash the wallet was asked to sign.\n /// @param accountFactory The factory that will be used to deploy the account (if not already deployed).\n /// @param factoryCalldata The calldata that will be used to deploy the account (if not already deployed).\n ///\n /// @return The replay-safe hash.\n function _gianoSmartWallet1271Input(\n GianoSmartWallet account,\n bytes32 hash,\n address accountFactory,\n bytes memory factoryCalldata\n ) internal returns (bytes32) {\n // If the account is already deployed, call and return replaySafeHash.\n if (address(account).code.length > 0) {\n return account.replaySafeHash(hash);\n }\n\n // Deploy the account.\n (bool success, bytes memory result) = accountFactory.call(factoryCalldata);\n if (!success) {\n revert AccountDeploymentFailed();\n }\n\n address returnAddress = abi.decode(result, (address));\n if (returnAddress != address(account)) {\n revert ReturnedAddressDoesNotMatchAccount(address(account), returnAddress);\n }\n\n // Call and return replaySafeHash on the now-deployed account.\n return account.replaySafeHash(hash);\n }\n}\n" }, "webauthn-sol/WebAuthn.sol": { - "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\nimport {FCL_ecdsa} from \"FreshCryptoLib/FCL_ecdsa.sol\";\nimport {FCL_Elliptic_ZZ} from \"FreshCryptoLib/FCL_elliptic.sol\";\nimport {Base64} from \"openzeppelin-contracts/contracts/utils/Base64.sol\";\nimport {LibString} from \"solady/utils/LibString.sol\";\n\n/// @title WebAuthn\n///\n/// @notice A library for verifying WebAuthn Authentication Assertions, built off the work\n/// of Daimo.\n///\n/// @dev Attempts to use the RIP-7212 precompile for signature verification.\n/// If precompile verification fails, it falls back to FreshCryptoLib.\n///\n/// @author Coinbase (https://github.com/base-org/webauthn-sol)\n/// @author Daimo (https://github.com/daimo-eth/p256-verifier/blob/master/src/WebAuthn.sol)\nlibrary WebAuthn {\n using LibString for string;\n\n struct WebAuthnAuth {\n /// @dev The WebAuthn authenticator data.\n /// See https://www.w3.org/TR/webauthn-2/#dom-authenticatorassertionresponse-authenticatordata.\n bytes authenticatorData;\n /// @dev The WebAuthn client data JSON.\n /// See https://www.w3.org/TR/webauthn-2/#dom-authenticatorresponse-clientdatajson.\n string clientDataJSON;\n /// @dev The index at which \"challenge\":\"...\" occurs in `clientDataJSON`.\n uint256 challengeIndex;\n /// @dev The index at which \"type\":\"...\" occurs in `clientDataJSON`.\n uint256 typeIndex;\n /// @dev The r value of secp256r1 signature\n uint256 r;\n /// @dev The s value of secp256r1 signature\n uint256 s;\n }\n\n /// @dev Bit 0 of the authenticator data struct, corresponding to the \"User Present\" bit.\n /// See https://www.w3.org/TR/webauthn-2/#flags.\n bytes1 private constant _AUTH_DATA_FLAGS_UP = 0x01;\n\n /// @dev Bit 2 of the authenticator data struct, corresponding to the \"User Verified\" bit.\n /// See https://www.w3.org/TR/webauthn-2/#flags.\n bytes1 private constant _AUTH_DATA_FLAGS_UV = 0x04;\n\n /// @dev Secp256r1 curve order / 2 used as guard to prevent signature malleability issue.\n uint256 private constant _P256_N_DIV_2 = FCL_Elliptic_ZZ.n / 2;\n\n /// @dev The precompiled contract address to use for signature verification in the “secp256r1” elliptic curve.\n /// See https://github.com/ethereum/RIPs/blob/master/RIPS/rip-7212.md.\n address private constant _VERIFIER = address(0x100);\n\n /// @dev The expected type (hash) in the client data JSON when verifying assertion signatures.\n /// See https://www.w3.org/TR/webauthn-2/#dom-collectedclientdata-type\n bytes32 private constant _EXPECTED_TYPE_HASH = keccak256('\"type\":\"webauthn.get\"');\n\n ///\n /// @notice Verifies a Webauthn Authentication Assertion as described\n /// in https://www.w3.org/TR/webauthn-2/#sctn-verifying-assertion.\n ///\n /// @dev We do not verify all the steps as described in the specification, only ones relevant to our context.\n /// Please carefully read through this list before usage.\n ///\n /// Specifically, we do verify the following:\n /// - Verify that authenticatorData (which comes from the authenticator, such as iCloud Keychain) indicates\n /// a well-formed assertion with the user present bit set. If `requireUV` is set, checks that the authenticator\n /// enforced user verification. User verification should be required if, and only if, options.userVerification\n /// is set to required in the request.\n /// - Verifies that the client JSON is of type \"webauthn.get\", i.e. the client was responding to a request to\n /// assert authentication.\n /// - Verifies that the client JSON contains the requested challenge.\n /// - Verifies that (r, s) constitute a valid signature over both the authenicatorData and client JSON, for public\n /// key (x, y).\n ///\n /// We make some assumptions about the particular use case of this verifier, so we do NOT verify the following:\n /// - Does NOT verify that the origin in the `clientDataJSON` matches the Relying Party's origin: tt is considered\n /// the authenticator's responsibility to ensure that the user is interacting with the correct RP. This is\n /// enforced by most high quality authenticators properly, particularly the iCloud Keychain and Google Password\n /// Manager were tested.\n /// - Does NOT verify That `topOrigin` in `clientDataJSON` is well-formed: We assume it would never be present, i.e.\n /// the credentials are never used in a cross-origin/iframe context. The website/app set up should disallow\n /// cross-origin usage of the credentials. This is the default behaviour for created credentials in common settings.\n /// - Does NOT verify that the `rpIdHash` in `authenticatorData` is the SHA-256 hash of the RP ID expected by the Relying\n /// Party: this means that we rely on the authenticator to properly enforce credentials to be used only by the correct RP.\n /// This is generally enforced with features like Apple App Site Association and Google Asset Links. To protect from\n /// edge cases in which a previously-linked RP ID is removed from the authorised RP IDs, we recommend that messages\n /// signed by the authenticator include some expiry mechanism.\n /// - Does NOT verify the credential backup state: this assumes the credential backup state is NOT used as part of Relying\n /// Party business logic or policy.\n /// - Does NOT verify the values of the client extension outputs: this assumes that the Relying Party does not use client\n /// extension outputs.\n /// - Does NOT verify the signature counter: signature counters are intended to enable risk scoring for the Relying Party.\n /// This assumes risk scoring is not used as part of Relying Party business logic or policy.\n /// - Does NOT verify the attestation object: this assumes that response.attestationObject is NOT present in the response,\n /// i.e. the RP does not intend to verify an attestation.\n ///\n /// @param challenge The challenge that was provided by the relying party.\n /// @param requireUV A boolean indicating whether user verification is required.\n /// @param webAuthnAuth The `WebAuthnAuth` struct.\n /// @param x The x coordinate of the public key.\n /// @param y The y coordinate of the public key.\n ///\n /// @return `true` if the authentication assertion passed validation, else `false`.\n function verify(bytes memory challenge, bool requireUV, WebAuthnAuth memory webAuthnAuth, uint256 x, uint256 y) internal view returns (bool) {\n if (webAuthnAuth.s > _P256_N_DIV_2) {\n // guard against signature malleability\n return false;\n }\n\n // 11. Verify that the value of C.type is the string webauthn.get.\n // bytes(\"type\":\"webauthn.get\").length = 21\n string memory _type = webAuthnAuth.clientDataJSON.slice(webAuthnAuth.typeIndex, webAuthnAuth.typeIndex + 21);\n if (keccak256(bytes(_type)) != _EXPECTED_TYPE_HASH) {\n return false;\n }\n\n // 12. Verify that the value of C.challenge equals the base64url encoding of options.challenge.\n bytes memory expectedChallenge = bytes(string.concat('\"challenge\":\"', Base64.encodeURL(challenge), '\"'));\n string memory actualChallenge = webAuthnAuth.clientDataJSON.slice(webAuthnAuth.challengeIndex, webAuthnAuth.challengeIndex + expectedChallenge.length);\n if (keccak256(bytes(actualChallenge)) != keccak256(expectedChallenge)) {\n return false;\n }\n\n // Skip 13., 14., 15.\n\n // 16. Verify that the UP bit of the flags in authData is set.\n if (webAuthnAuth.authenticatorData[32] & _AUTH_DATA_FLAGS_UP != _AUTH_DATA_FLAGS_UP) {\n return false;\n }\n\n // 17. If user verification is required for this assertion, verify that the User Verified bit of the flags in\n // authData is set.\n if (requireUV && (webAuthnAuth.authenticatorData[32] & _AUTH_DATA_FLAGS_UV) != _AUTH_DATA_FLAGS_UV) {\n return false;\n }\n\n // skip 18.\n\n // 19. Let hash be the result of computing a hash over the cData using SHA-256.\n bytes32 clientDataJSONHash = sha256(bytes(webAuthnAuth.clientDataJSON));\n\n // 20. Using credentialPublicKey, verify that sig is a valid signature over the binary concatenation of authData\n // and hash.\n bytes32 messageHash = sha256(abi.encodePacked(webAuthnAuth.authenticatorData, clientDataJSONHash));\n bytes memory args = abi.encode(messageHash, webAuthnAuth.r, webAuthnAuth.s, x, y);\n // try the RIP-7212 precompile address\n (bool success, bytes memory ret) = _VERIFIER.staticcall(args);\n // staticcall will not revert if address has no code\n // check return length\n // note that even if precompile exists, ret.length is 0 when verification returns false\n // so an invalid signature will be checked twice: once by the precompile and once by FCL.\n // Ideally this signature failure is simulated offchain and no one actually pay this gas.\n bool valid = ret.length > 0;\n if (success && valid) return abi.decode(ret, (uint256)) == 1;\n\n return FCL_ecdsa.ecdsa_verify(messageHash, webAuthnAuth.r, webAuthnAuth.s, x, y);\n }\n}\n" + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\nimport {FCL_ecdsa} from \"FreshCryptoLib/FCL_ecdsa.sol\";\nimport {FCL_Elliptic_ZZ} from \"FreshCryptoLib/FCL_elliptic.sol\";\nimport {Base64} from \"openzeppelin-contracts/contracts/utils/Base64.sol\";\nimport {LibString} from \"solady/utils/LibString.sol\";\n\n/// @title WebAuthn\n///\n/// @notice A library for verifying WebAuthn Authentication Assertions, built off the work\n/// of Daimo.\n///\n/// @dev Attempts to use the RIP-7212 precompile for signature verification.\n/// If precompile verification fails, it falls back to FreshCryptoLib.\n///\n/// @author Coinbase (https://github.com/base-org/webauthn-sol)\n/// @author Daimo (https://github.com/daimo-eth/p256-verifier/blob/master/src/WebAuthn.sol)\nlibrary WebAuthn {\n using LibString for string;\n\n struct WebAuthnAuth {\n /// @dev The WebAuthn authenticator data.\n /// See https://www.w3.org/TR/webauthn-2/#dom-authenticatorassertionresponse-authenticatordata.\n bytes authenticatorData;\n /// @dev The WebAuthn client data JSON.\n /// See https://www.w3.org/TR/webauthn-2/#dom-authenticatorresponse-clientdatajson.\n string clientDataJSON;\n /// @dev The index at which \"challenge\":\"...\" occurs in `clientDataJSON`.\n uint256 challengeIndex;\n /// @dev The index at which \"type\":\"...\" occurs in `clientDataJSON`.\n uint256 typeIndex;\n /// @dev The r value of secp256r1 signature\n uint256 r;\n /// @dev The s value of secp256r1 signature\n uint256 s;\n }\n\n /// @dev Bit 0 of the authenticator data struct, corresponding to the \"User Present\" bit.\n /// See https://www.w3.org/TR/webauthn-2/#flags.\n bytes1 private constant _AUTH_DATA_FLAGS_UP = 0x01;\n\n /// @dev Bit 2 of the authenticator data struct, corresponding to the \"User Verified\" bit.\n /// See https://www.w3.org/TR/webauthn-2/#flags.\n bytes1 private constant _AUTH_DATA_FLAGS_UV = 0x04;\n\n /// @dev Secp256r1 curve order / 2 used as guard to prevent signature malleability issue.\n uint256 private constant _P256_N_DIV_2 = FCL_Elliptic_ZZ.n / 2;\n\n /// @dev The precompiled contract address to use for signature verification in the “secp256r1” elliptic curve.\n /// See https://github.com/ethereum/RIPs/blob/master/RIPS/rip-7212.md.\n address private constant _VERIFIER = address(0x100);\n\n /// @dev The expected type (hash) in the client data JSON when verifying assertion signatures.\n /// See https://www.w3.org/TR/webauthn-2/#dom-collectedclientdata-type\n bytes32 private constant _EXPECTED_TYPE_HASH = keccak256('\"type\":\"webauthn.get\"');\n\n ///\n /// @notice Verifies a Webauthn Authentication Assertion as described\n /// in https://www.w3.org/TR/webauthn-2/#sctn-verifying-assertion.\n ///\n /// @dev We do not verify all the steps as described in the specification, only ones relevant to our context.\n /// Please carefully read through this list before usage.\n ///\n /// Specifically, we do verify the following:\n /// - Verify that authenticatorData (which comes from the authenticator, such as iCloud Keychain) indicates\n /// a well-formed assertion with the user present bit set. If `requireUV` is set, checks that the authenticator\n /// enforced user verification. User verification should be required if, and only if, options.userVerification\n /// is set to required in the request.\n /// - Verifies that the client JSON is of type \"webauthn.get\", i.e. the client was responding to a request to\n /// assert authentication.\n /// - Verifies that the client JSON contains the requested challenge.\n /// - Verifies that (r, s) constitute a valid signature over both the authenicatorData and client JSON, for public\n /// key (x, y).\n ///\n /// We make some assumptions about the particular use case of this verifier, so we do NOT verify the following:\n /// - Does NOT verify that the origin in the `clientDataJSON` matches the Relying Party's origin: tt is considered\n /// the authenticator's responsibility to ensure that the user is interacting with the correct RP. This is\n /// enforced by most high quality authenticators properly, particularly the iCloud Keychain and Google Password\n /// Manager were tested.\n /// - Does NOT verify That `topOrigin` in `clientDataJSON` is well-formed: We assume it would never be present, i.e.\n /// the credentials are never used in a cross-origin/iframe context. The website/app set up should disallow\n /// cross-origin usage of the credentials. This is the default behaviour for created credentials in common settings.\n /// - Does NOT verify that the `rpIdHash` in `authenticatorData` is the SHA-256 hash of the RP ID expected by the Relying\n /// Party: this means that we rely on the authenticator to properly enforce credentials to be used only by the correct RP.\n /// This is generally enforced with features like Apple App Site Association and Google Asset Links. To protect from\n /// edge cases in which a previously-linked RP ID is removed from the authorised RP IDs, we recommend that messages\n /// signed by the authenticator include some expiry mechanism.\n /// - Does NOT verify the credential backup state: this assumes the credential backup state is NOT used as part of Relying\n /// Party business logic or policy.\n /// - Does NOT verify the values of the client extension outputs: this assumes that the Relying Party does not use client\n /// extension outputs.\n /// - Does NOT verify the signature counter: signature counters are intended to enable risk scoring for the Relying Party.\n /// This assumes risk scoring is not used as part of Relying Party business logic or policy.\n /// - Does NOT verify the attestation object: this assumes that response.attestationObject is NOT present in the response,\n /// i.e. the RP does not intend to verify an attestation.\n ///\n /// @param challenge The challenge that was provided by the relying party.\n /// @param requireUV A boolean indicating whether user verification is required.\n /// @param webAuthnAuth The `WebAuthnAuth` struct.\n /// @param x The x coordinate of the public key.\n /// @param y The y coordinate of the public key.\n ///\n /// @return `true` if the authentication assertion passed validation, else `false`.\n function verify(bytes memory challenge, bool requireUV, WebAuthnAuth memory webAuthnAuth, uint256 x, uint256 y)\n internal\n view\n returns (bool)\n {\n if (webAuthnAuth.s > _P256_N_DIV_2) {\n // guard against signature malleability\n return false;\n }\n\n // 11. Verify that the value of C.type is the string webauthn.get.\n // bytes(\"type\":\"webauthn.get\").length = 21\n string memory _type = webAuthnAuth.clientDataJSON.slice(webAuthnAuth.typeIndex, webAuthnAuth.typeIndex + 21);\n if (keccak256(bytes(_type)) != _EXPECTED_TYPE_HASH) {\n return false;\n }\n\n // 12. Verify that the value of C.challenge equals the base64url encoding of options.challenge.\n bytes memory expectedChallenge = bytes(string.concat('\"challenge\":\"', Base64.encodeURL(challenge), '\"'));\n string memory actualChallenge =\n webAuthnAuth.clientDataJSON.slice(webAuthnAuth.challengeIndex, webAuthnAuth.challengeIndex + expectedChallenge.length);\n if (keccak256(bytes(actualChallenge)) != keccak256(expectedChallenge)) {\n return false;\n }\n\n // Skip 13., 14., 15.\n\n // 16. Verify that the UP bit of the flags in authData is set.\n if (webAuthnAuth.authenticatorData[32] & _AUTH_DATA_FLAGS_UP != _AUTH_DATA_FLAGS_UP) {\n return false;\n }\n\n // 17. If user verification is required for this assertion, verify that the User Verified bit of the flags in\n // authData is set.\n if (requireUV && (webAuthnAuth.authenticatorData[32] & _AUTH_DATA_FLAGS_UV) != _AUTH_DATA_FLAGS_UV) {\n return false;\n }\n\n // skip 18.\n\n // 19. Let hash be the result of computing a hash over the cData using SHA-256.\n bytes32 clientDataJSONHash = sha256(bytes(webAuthnAuth.clientDataJSON));\n\n // 20. Using credentialPublicKey, verify that sig is a valid signature over the binary concatenation of authData\n // and hash.\n bytes32 messageHash = sha256(abi.encodePacked(webAuthnAuth.authenticatorData, clientDataJSONHash));\n bytes memory args = abi.encode(messageHash, webAuthnAuth.r, webAuthnAuth.s, x, y);\n // try the RIP-7212 precompile address\n (bool success, bytes memory ret) = _VERIFIER.staticcall(args);\n // staticcall will not revert if address has no code\n // check return length\n // note that even if precompile exists, ret.length is 0 when verification returns false\n // so an invalid signature will be checked twice: once by the precompile and once by FCL.\n // Ideally this signature failure is simulated offchain and no one actually pay this gas.\n bool valid = ret.length > 0;\n if (success && valid) return abi.decode(ret, (uint256)) == 1;\n\n return FCL_ecdsa.ecdsa_verify(messageHash, webAuthnAuth.r, webAuthnAuth.s, x, y);\n }\n}\n" } }, "settings": { @@ -97,39 +142,68 @@ } }, "output": { + "errors": [ + { + "component": "general", + "errorCode": "2018", + "formattedMessage": "Warning: Function state mutability can be restricted to pure\n --> src/AuthenticatedStaticCaller.sol:19:5:\n |\n19 | function getSignatureLifetime() external view returns (uint256) {\n | ^ (Relevant source part starts here and spans across multiple lines).\n\n", + "message": "Function state mutability can be restricted to pure", + "severity": "warning", + "sourceLocation": { + "end": 559, + "file": "src/AuthenticatedStaticCaller.sol", + "start": 454 + }, + "type": "Warning" + } + ], "sources": { - "@account-abstraction/contracts/core/Helpers.sol": { + "@account-abstraction/contracts/core/BasePaymaster.sol": { "ast": { - "absolutePath": "@account-abstraction/contracts/core/Helpers.sol", + "absolutePath": "@account-abstraction/contracts/core/BasePaymaster.sol", "exportedSymbols": { - "SIG_VALIDATION_FAILED": [ - 4 + "BasePaymaster": [ + 270 ], - "SIG_VALIDATION_SUCCESS": [ - 7 + "Context": [ + 2157 ], - "ValidationData": [ - 15 + "IAggregator": [ + 857 ], - "_packValidationData": [ - 112, - 150 + "IERC165": [ + 2169 ], - "_parseValidationData": [ - 75 + "IEntryPoint": [ + 1041 ], - "calldataKeccak": [ - 160 + "INonceManager": [ + 1060 + ], + "IPaymaster": [ + 1097 + ], + "IStakeManager": [ + 1201 + ], + "Ownable": [ + 1371 + ], + "PackedUserOperation": [ + 1223 + ], + "UserOperationLib": [ + 806 ], - "finalizeAllocation": [ - 188 + "calldataKeccak": [ + 431 ], "min": [ - 178 + 449 ] }, - "id": 189, - "license": "MIT", + "id": 271, + "license": "GPL-3.0", "nodeType": "SourceUnit", "nodes": [ { @@ -138,1299 +212,2022 @@ "solidity", "^", "0.8", - ".28" + ".23" ], "nodeType": "PragmaDirective", - "src": "32:24:0" + "src": "36:24:0" }, { - "constant": true, + "absolutePath": "@openzeppelin/contracts/access/Ownable.sol", + "file": "@openzeppelin/contracts/access/Ownable.sol", + "id": 2, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 271, + "sourceUnit": 1372, + "src": "99:52:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol", + "file": "@openzeppelin/contracts/utils/introspection/IERC165.sol", + "id": 3, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 271, + "sourceUnit": 2170, + "src": "152:65:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@account-abstraction/contracts/interfaces/IPaymaster.sol", + "file": "../interfaces/IPaymaster.sol", "id": 4, - "mutability": "constant", - "name": "SIG_VALIDATION_FAILED", - "nameLocation": "277:21:0", - "nodeType": "VariableDeclaration", - "scope": 189, - "src": "260:42:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "260:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "31", - "id": 3, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "301:1:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "internal" + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 271, + "sourceUnit": 1098, + "src": "218:38:0", + "symbolAliases": [], + "unitAlias": "" }, { - "constant": true, - "id": 7, - "mutability": "constant", - "name": "SIG_VALIDATION_SUCCESS", - "nameLocation": "436:22:0", - "nodeType": "VariableDeclaration", - "scope": 189, - "src": "419:43:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "419:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "30", - "id": 6, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "461:1:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "internal" + "absolutePath": "@account-abstraction/contracts/interfaces/IEntryPoint.sol", + "file": "../interfaces/IEntryPoint.sol", + "id": 5, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 271, + "sourceUnit": 1042, + "src": "257:39:0", + "symbolAliases": [], + "unitAlias": "" }, { - "canonicalName": "ValidationData", + "absolutePath": "@account-abstraction/contracts/core/UserOperationLib.sol", + "file": "./UserOperationLib.sol", + "id": 6, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 271, + "sourceUnit": 807, + "src": "297:32:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 8, + "name": "IPaymaster", + "nameLocations": [ + "518:10:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1097, + "src": "518:10:0" + }, + "id": 9, + "nodeType": "InheritanceSpecifier", + "src": "518:10:0" + }, + { + "baseName": { + "id": 10, + "name": "Ownable", + "nameLocations": [ + "530:7:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1371, + "src": "530:7:0" + }, + "id": 11, + "nodeType": "InheritanceSpecifier", + "src": "530:7:0" + } + ], + "canonicalName": "BasePaymaster", + "contractDependencies": [], + "contractKind": "contract", "documentation": { - "id": 8, + "id": 7, "nodeType": "StructuredDocumentation", - "src": "466:659:0", - "text": " Returned data from validateUserOp.\n validateUserOp returns a uint256, which is created by `_packedValidationData` and\n parsed by `_parseValidationData`.\n @param aggregator - address(0) - The account validated the signature by itself.\n address(1) - The account failed to validate the signature.\n otherwise - This is an address of a signature aggregator that must\n be used to validate the signature.\n @param validAfter - This UserOp is valid only after this timestamp.\n @param validUntil - Last timestamp this operation is valid at, or 0 for \"indefinitely\"." + "src": "330:152:0", + "text": " Helper class for creating a paymaster.\n provides helper methods for staking.\n Validates that the postOp is called only by the entryPoint." }, - "id": 15, - "members": [ + "fullyImplemented": false, + "id": 270, + "linearizedBaseContracts": [ + 270, + 1371, + 2157, + 1097 + ], + "name": "BasePaymaster", + "nameLocation": "501:13:0", + "nodeType": "ContractDefinition", + "nodes": [ { "constant": false, - "id": 10, - "mutability": "mutable", - "name": "aggregator", - "nameLocation": "1162:10:0", + "functionSelector": "b0d691fe", + "id": 14, + "mutability": "immutable", + "name": "entryPoint", + "nameLocation": "573:10:0", "nodeType": "VariableDeclaration", - "scope": 15, - "src": "1154:18:0", - "stateVariable": false, + "scope": 270, + "src": "544:39:0", + "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_contract$_IEntryPoint_$1041", + "typeString": "contract IEntryPoint" }, "typeName": { - "id": 9, - "name": "address", + "id": 13, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 12, + "name": "IEntryPoint", + "nameLocations": [ + "544:11:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1041, + "src": "544:11:0" + }, + "referencedDeclaration": 1041, + "src": "544:11:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEntryPoint_$1041", + "typeString": "contract IEntryPoint" + } + }, + "visibility": "public" + }, + { + "constant": true, + "id": 18, + "mutability": "constant", + "name": "PAYMASTER_VALIDATION_GAS_OFFSET", + "nameLocation": "616:31:0", + "nodeType": "VariableDeclaration", + "scope": 270, + "src": "590:108:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1154:7:0", - "stateMutability": "nonpayable", + "src": "590:7:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "expression": { + "id": 16, + "name": "UserOperationLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 806, + "src": "650:16:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_UserOperationLib_$806_$", + "typeString": "type(library UserOperationLib)" + } + }, + "id": 17, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "667:31:0", + "memberName": "PAYMASTER_VALIDATION_GAS_OFFSET", + "nodeType": "MemberAccess", + "referencedDeclaration": 459, + "src": "650:48:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "visibility": "internal" }, { - "constant": false, - "id": 12, - "mutability": "mutable", - "name": "validAfter", - "nameLocation": "1185:10:0", + "constant": true, + "id": 22, + "mutability": "constant", + "name": "PAYMASTER_POSTOP_GAS_OFFSET", + "nameLocation": "730:27:0", "nodeType": "VariableDeclaration", - "scope": 15, - "src": "1178:17:0", - "stateVariable": false, + "scope": 270, + "src": "704:100:0", + "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint48", - "typeString": "uint48" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": 11, - "name": "uint48", + "id": 19, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1178:6:0", + "src": "704:7:0", "typeDescriptions": { - "typeIdentifier": "t_uint48", - "typeString": "uint48" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "expression": { + "id": 20, + "name": "UserOperationLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 806, + "src": "760:16:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_UserOperationLib_$806_$", + "typeString": "type(library UserOperationLib)" + } + }, + "id": 21, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "777:27:0", + "memberName": "PAYMASTER_POSTOP_GAS_OFFSET", + "nodeType": "MemberAccess", + "referencedDeclaration": 462, + "src": "760:44:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "visibility": "internal" }, { - "constant": false, - "id": 14, - "mutability": "mutable", - "name": "validUntil", - "nameLocation": "1208:10:0", + "constant": true, + "id": 26, + "mutability": "constant", + "name": "PAYMASTER_DATA_OFFSET", + "nameLocation": "836:21:0", "nodeType": "VariableDeclaration", - "scope": 15, - "src": "1201:17:0", - "stateVariable": false, + "scope": 270, + "src": "810:88:0", + "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint48", - "typeString": "uint48" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": 13, - "name": "uint48", + "id": 23, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1201:6:0", + "src": "810:7:0", "typeDescriptions": { - "typeIdentifier": "t_uint48", - "typeString": "uint48" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "expression": { + "id": 24, + "name": "UserOperationLib", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 806, + "src": "860:16:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_UserOperationLib_$806_$", + "typeString": "type(library UserOperationLib)" + } + }, + "id": 25, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "877:21:0", + "memberName": "PAYMASTER_DATA_OFFSET", + "nodeType": "MemberAccess", + "referencedDeclaration": 465, + "src": "860:38:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "visibility": "internal" - } - ], - "name": "ValidationData", - "nameLocation": "1133:14:0", - "nodeType": "StructDefinition", - "scope": 189, - "src": "1126:95:0", - "visibility": "public" - }, - { - "body": { - "id": 74, - "nodeType": "Block", - "src": "1556:314:0", - "statements": [ - { - "assignments": [ - 25 - ], - "declarations": [ + }, + { + "body": { + "id": 44, + "nodeType": "Block", + "src": "962:92:0", + "statements": [ { - "constant": false, - "id": 25, - "mutability": "mutable", - "name": "aggregator", - "nameLocation": "1570:10:0", - "nodeType": "VariableDeclaration", - "scope": 74, - "src": "1562:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 24, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1562:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 33, - "initialValue": { - "arguments": [ - { + "expression": { "arguments": [ { - "id": 30, - "name": "validationData", + "id": 37, + "name": "_entryPoint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 18, - "src": "1599:14:0", + "referencedDeclaration": 29, + "src": "1001:11:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_contract$_IEntryPoint_$1041", + "typeString": "contract IEntryPoint" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_contract$_IEntryPoint_$1041", + "typeString": "contract IEntryPoint" } ], - "id": 29, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1591:7:0", + "id": 36, + "name": "_validateEntryPointInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 68, + "src": "972:28:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 28, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "1591:7:0", - "typeDescriptions": {} + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IEntryPoint_$1041_$returns$__$", + "typeString": "function (contract IEntryPoint)" } }, - "id": 31, + "id": 38, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "typeConversion", + "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1591:23:0", + "src": "972:41:0", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } - ], - "id": 27, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1583:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" }, - "typeName": { - "id": 26, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1583:7:0", - "typeDescriptions": {} - } + "id": 39, + "nodeType": "ExpressionStatement", + "src": "972:41:0" }, - "id": 32, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1583:32:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1562:53:0" - }, - { - "assignments": [ - 35 - ], - "declarations": [ { - "constant": false, - "id": 35, - "mutability": "mutable", - "name": "validUntil", - "nameLocation": "1628:10:0", - "nodeType": "VariableDeclaration", - "scope": 74, - "src": "1621:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint48", - "typeString": "uint48" - }, - "typeName": { - "id": 34, - "name": "uint48", - "nodeType": "ElementaryTypeName", - "src": "1621:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint48", - "typeString": "uint48" - } - }, - "visibility": "internal" - } - ], - "id": 42, - "initialValue": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 40, + "expression": { + "id": 42, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftExpression": { - "id": 38, - "name": "validationData", + "leftHandSide": { + "id": 40, + "name": "entryPoint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 18, - "src": "1648:14:0", + "referencedDeclaration": 14, + "src": "1023:10:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_contract$_IEntryPoint_$1041", + "typeString": "contract IEntryPoint" } }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "313630", - "id": 39, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1666:3:0", + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 41, + "name": "_entryPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 29, + "src": "1036:11:0", "typeDescriptions": { - "typeIdentifier": "t_rational_160_by_1", - "typeString": "int_const 160" - }, - "value": "160" + "typeIdentifier": "t_contract$_IEntryPoint_$1041", + "typeString": "contract IEntryPoint" + } }, - "src": "1648:21:0", + "src": "1023:24:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_contract$_IEntryPoint_$1041", + "typeString": "contract IEntryPoint" } - ], - "id": 37, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1641:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint48_$", - "typeString": "type(uint48)" }, - "typeName": { - "id": 36, - "name": "uint48", - "nodeType": "ElementaryTypeName", - "src": "1641:6:0", - "typeDescriptions": {} - } - }, - "id": 41, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1641:29:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint48", - "typeString": "uint48" + "id": 43, + "nodeType": "ExpressionStatement", + "src": "1023:24:0" } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1621:49:0" + ] }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint48", - "typeString": "uint48" - }, - "id": 45, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 43, - "name": "validUntil", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "1680:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint48", - "typeString": "uint48" + "id": 45, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "expression": { + "id": 32, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "950:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 33, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "954:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "950:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } } + ], + "id": 34, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 31, + "name": "Ownable", + "nameLocations": [ + "942:7:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1371, + "src": "942:7:0" }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 44, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1694:1:0", + "nodeType": "ModifierInvocation", + "src": "942:19:0" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 30, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 29, + "mutability": "mutable", + "name": "_entryPoint", + "nameLocation": "929:11:0", + "nodeType": "VariableDeclaration", + "scope": 45, + "src": "917:23:0", + "stateVariable": false, + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" + "typeIdentifier": "t_contract$_IEntryPoint_$1041", + "typeString": "contract IEntryPoint" }, - "value": "0" - }, - "src": "1680:15:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeName": { + "id": 28, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 27, + "name": "IEntryPoint", + "nameLocations": [ + "917:11:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1041, + "src": "917:11:0" + }, + "referencedDeclaration": 1041, + "src": "917:11:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEntryPoint_$1041", + "typeString": "contract IEntryPoint" + } + }, + "visibility": "internal" } - }, - "id": 55, - "nodeType": "IfStatement", - "src": "1676:67:0", - "trueBody": { - "id": 54, - "nodeType": "Block", - "src": "1697:46:0", - "statements": [ - { - "expression": { - "id": 52, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 46, - "name": "validUntil", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "1707:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint48", - "typeString": "uint48" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "arguments": [ - { - "id": 49, + ], + "src": "916:25:0" + }, + "returnParameters": { + "id": 35, + "nodeType": "ParameterList", + "parameters": [], + "src": "962:0:0" + }, + "scope": 270, + "src": "905:149:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 67, + "nodeType": "Block", + "src": "1253:138:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "arguments": [ + { + "id": 60, + "name": "IEntryPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1041, + "src": "1324:11:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IEntryPoint_$1041_$", + "typeString": "type(contract IEntryPoint)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_contract$_IEntryPoint_$1041_$", + "typeString": "type(contract IEntryPoint)" + } + ], + "id": 59, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "1319:4:0", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 61, "isConstant": false, "isLValue": false, "isPure": true, + "kind": "functionCall", "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1725:6:0", + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1319:17:0", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint48_$", - "typeString": "type(uint48)" - }, - "typeName": { - "id": 48, - "name": "uint48", - "nodeType": "ElementaryTypeName", - "src": "1725:6:0", - "typeDescriptions": {} + "typeIdentifier": "t_magic_meta_type_t_contract$_IEntryPoint_$1041", + "typeString": "type(contract IEntryPoint)" } + }, + "id": 62, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1337:11:0", + "memberName": "interfaceId", + "nodeType": "MemberAccess", + "src": "1319:29:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" } ], "expression": { - "argumentTypes": [ + "arguments": [ { - "typeIdentifier": "t_type$_t_uint48_$", - "typeString": "type(uint48)" + "arguments": [ + { + "id": 55, + "name": "_entryPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 48, + "src": "1287:11:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEntryPoint_$1041", + "typeString": "contract IEntryPoint" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IEntryPoint_$1041", + "typeString": "contract IEntryPoint" + } + ], + "id": 54, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1279:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 53, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1279:7:0", + "typeDescriptions": {} + } + }, + "id": 56, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1279:20:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } } ], - "id": 47, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "1720:4:0", + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 52, + "name": "IERC165", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2169, + "src": "1271:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC165_$2169_$", + "typeString": "type(contract IERC165)" + } + }, + "id": 57, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1271:29:0", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" + "typeIdentifier": "t_contract$_IERC165_$2169", + "typeString": "contract IERC165" } }, - "id": 50, + "id": 58, "isConstant": false, "isLValue": false, - "isPure": true, - "kind": "functionCall", + "isPure": false, "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1720:12:0", - "tryCall": false, + "memberLocation": "1301:17:0", + "memberName": "supportsInterface", + "nodeType": "MemberAccess", + "referencedDeclaration": 2168, + "src": "1271:47:0", "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_uint48", - "typeString": "type(uint48)" + "typeIdentifier": "t_function_external_view$_t_bytes4_$returns$_t_bool_$", + "typeString": "function (bytes4) view external returns (bool)" } }, - "id": 51, + "id": 63, "isConstant": false, "isLValue": false, - "isPure": true, + "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "memberLocation": "1733:3:0", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "1720:16:0", + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1271:78:0", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint48", - "typeString": "uint48" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "src": "1707:29:0", + { + "hexValue": "49456e747279506f696e7420696e74657266616365206d69736d61746368", + "id": 64, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1351:32:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7960c93a5f91001fe3b3e9a56f8716da93c29bf7a3aa7adb703901f21a308af8", + "typeString": "literal_string \"IEntryPoint interface mismatch\"" + }, + "value": "IEntryPoint interface mismatch" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_7960c93a5f91001fe3b3e9a56f8716da93c29bf7a3aa7adb703901f21a308af8", + "typeString": "literal_string \"IEntryPoint interface mismatch\"" + } + ], + "id": 51, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1263:7:0", "typeDescriptions": { - "typeIdentifier": "t_uint48", - "typeString": "uint48" + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" } }, - "id": 53, - "nodeType": "ExpressionStatement", - "src": "1707:29:0" - } - ] - } + "id": 65, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1263:121:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 66, + "nodeType": "ExpressionStatement", + "src": "1263:121:0" + } + ] }, - { - "assignments": [ - 57 - ], - "declarations": [ + "id": 68, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_validateEntryPointInterface", + "nameLocation": "1182:28:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 49, + "nodeType": "ParameterList", + "parameters": [ { "constant": false, - "id": 57, + "id": 48, "mutability": "mutable", - "name": "validAfter", - "nameLocation": "1755:10:0", + "name": "_entryPoint", + "nameLocation": "1223:11:0", "nodeType": "VariableDeclaration", - "scope": 74, - "src": "1748:17:0", + "scope": 68, + "src": "1211:23:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint48", - "typeString": "uint48" + "typeIdentifier": "t_contract$_IEntryPoint_$1041", + "typeString": "contract IEntryPoint" }, "typeName": { - "id": 56, - "name": "uint48", - "nodeType": "ElementaryTypeName", - "src": "1748:6:0", + "id": 47, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 46, + "name": "IEntryPoint", + "nameLocations": [ + "1211:11:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1041, + "src": "1211:11:0" + }, + "referencedDeclaration": 1041, + "src": "1211:11:0", "typeDescriptions": { - "typeIdentifier": "t_uint48", - "typeString": "uint48" + "typeIdentifier": "t_contract$_IEntryPoint_$1041", + "typeString": "contract IEntryPoint" } }, "visibility": "internal" } ], - "id": 67, - "initialValue": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "src": "1210:25:0" + }, + "returnParameters": { + "id": 50, + "nodeType": "ParameterList", + "parameters": [], + "src": "1253:0:0" + }, + "scope": 270, + "src": "1173:218:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "baseFunctions": [ + 1083 + ], + "body": { + "id": 93, + "nodeType": "Block", + "src": "1638:111:0", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 84, + "name": "_requireFromEntryPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 269, + "src": "1648:22:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } }, - "id": 65, + "id": 85, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "leftExpression": { - "id": 60, - "name": "validationData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18, - "src": "1775:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1648:24:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 86, + "nodeType": "ExpressionStatement", + "src": "1648:24:0" + }, + { + "expression": { + "arguments": [ + { + "id": 88, + "name": "userOp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 72, + "src": "1714:6:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_calldata_ptr", + "typeString": "struct PackedUserOperation calldata" + } + }, + { + "id": 89, + "name": "userOpHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 74, + "src": "1722:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 90, + "name": "maxCost", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 76, + "src": "1734:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "components": [ + ], + "expression": { + "argumentTypes": [ { - "commonType": { - "typeIdentifier": "t_rational_208_by_1", - "typeString": "int_const 208" - }, - "id": 63, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3438", - "id": 61, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1794:2:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_48_by_1", - "typeString": "int_const 48" - }, - "value": "48" - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "313630", - "id": 62, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1799:3:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_160_by_1", - "typeString": "int_const 160" - }, - "value": "160" - }, - "src": "1794:8:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_208_by_1", - "typeString": "int_const 208" - } + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_calldata_ptr", + "typeString": "struct PackedUserOperation calldata" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } ], - "id": 64, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1793:10:0", + "id": 87, + "name": "_validatePaymasterUserOp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 109, + "src": "1689:24:0", "typeDescriptions": { - "typeIdentifier": "t_rational_208_by_1", - "typeString": "int_const 208" + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_PackedUserOperation_$1223_calldata_ptr_$_t_bytes32_$_t_uint256_$returns$_t_bytes_memory_ptr_$_t_uint256_$", + "typeString": "function (struct PackedUserOperation calldata,bytes32,uint256) returns (bytes memory,uint256)" } }, - "src": "1775:28:0", + "id": 91, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1689:53:0", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_tuple$_t_bytes_memory_ptr_$_t_uint256_$", + "typeString": "tuple(bytes memory,uint256)" } - ], - "id": 59, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1768:6:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint48_$", - "typeString": "type(uint48)" }, - "typeName": { - "id": 58, - "name": "uint48", - "nodeType": "ElementaryTypeName", - "src": "1768:6:0", - "typeDescriptions": {} - } - }, - "id": 66, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1768:36:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint48", - "typeString": "uint48" + "functionReturnParameters": 83, + "id": 92, + "nodeType": "Return", + "src": "1682:60:0" } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1748:56:0" + ] }, - { - "expression": { - "arguments": [ - { - "id": 69, - "name": "aggregator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25, - "src": "1832:10:0", + "documentation": { + "id": 69, + "nodeType": "StructuredDocumentation", + "src": "1397:26:0", + "text": "@inheritdoc IPaymaster" + }, + "functionSelector": "52b7512c", + "id": 94, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "validatePaymasterUserOp", + "nameLocation": "1437:23:0", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 78, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1574:8:0" + }, + "parameters": { + "id": 77, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 72, + "mutability": "mutable", + "name": "userOp", + "nameLocation": "1499:6:0", + "nodeType": "VariableDeclaration", + "scope": 94, + "src": "1470:35:0", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_calldata_ptr", + "typeString": "struct PackedUserOperation" + }, + "typeName": { + "id": 71, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 70, + "name": "PackedUserOperation", + "nameLocations": [ + "1470:19:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1223, + "src": "1470:19:0" + }, + "referencedDeclaration": 1223, + "src": "1470:19:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_storage_ptr", + "typeString": "struct PackedUserOperation" } }, - { - "id": 70, - "name": "validAfter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 57, - "src": "1844:10:0", + "visibility": "internal" + }, + { + "constant": false, + "id": 74, + "mutability": "mutable", + "name": "userOpHash", + "nameLocation": "1523:10:0", + "nodeType": "VariableDeclaration", + "scope": 94, + "src": "1515:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 73, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1515:7:0", "typeDescriptions": { - "typeIdentifier": "t_uint48", - "typeString": "uint48" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - { - "id": 71, - "name": "validUntil", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "1856:10:0", + "visibility": "internal" + }, + { + "constant": false, + "id": 76, + "mutability": "mutable", + "name": "maxCost", + "nameLocation": "1551:7:0", + "nodeType": "VariableDeclaration", + "scope": 94, + "src": "1543:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 75, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1543:7:0", "typeDescriptions": { - "typeIdentifier": "t_uint48", - "typeString": "uint48" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint48", - "typeString": "uint48" - }, - { - "typeIdentifier": "t_uint48", - "typeString": "uint48" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - ], - "id": 68, - "name": "ValidationData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15, - "src": "1817:14:0", + }, + "visibility": "internal" + } + ], + "src": "1460:104:0" + }, + "returnParameters": { + "id": 83, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 80, + "mutability": "mutable", + "name": "context", + "nameLocation": "1605:7:0", + "nodeType": "VariableDeclaration", + "scope": 94, + "src": "1592:20:0", + "stateVariable": false, + "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_ValidationData_$15_storage_ptr_$", - "typeString": "type(struct ValidationData storage pointer)" - } + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 79, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1592:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" }, - "id": 72, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1817:50:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_ValidationData_$15_memory_ptr", - "typeString": "struct ValidationData memory" - } - }, - "functionReturnParameters": 23, - "id": 73, - "nodeType": "Return", - "src": "1810:57:0" - } - ] - }, - "documentation": { - "id": 16, - "nodeType": "StructuredDocumentation", - "src": "1223:230:0", - "text": " Extract aggregator/sigFailed, validAfter, validUntil.\n Also convert zero validUntil to type(uint48).max.\n @param validationData - The packed validation data.\n @return data - The unpacked in-memory validation data." - }, - "id": 75, - "implemented": true, - "kind": "freeFunction", - "modifiers": [], - "name": "_parseValidationData", - "nameLocation": "1463:20:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 19, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 18, - "mutability": "mutable", - "name": "validationData", - "nameLocation": "1497:14:0", - "nodeType": "VariableDeclaration", - "scope": 75, - "src": "1489:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 17, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1489:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + { + "constant": false, + "id": 82, + "mutability": "mutable", + "name": "validationData", + "nameLocation": "1622:14:0", + "nodeType": "VariableDeclaration", + "scope": 94, + "src": "1614:22:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 81, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1614:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" } - }, - "visibility": "internal" - } - ], - "src": "1483:30:0" - }, - "returnParameters": { - "id": 23, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 22, - "mutability": "mutable", - "name": "data", - "nameLocation": "1550:4:0", - "nodeType": "VariableDeclaration", - "scope": 75, - "src": "1528:26:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ValidationData_$15_memory_ptr", - "typeString": "struct ValidationData" - }, - "typeName": { - "id": 21, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 20, - "name": "ValidationData", - "nameLocations": [ - "1528:14:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 15, - "src": "1528:14:0" + ], + "src": "1591:46:0" + }, + "scope": 270, + "src": "1428:321:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 95, + "nodeType": "StructuredDocumentation", + "src": "1755:218:0", + "text": " Validate a user operation.\n @param userOp - The user operation.\n @param userOpHash - The hash of the user operation.\n @param maxCost - The maximum cost of the user operation." + }, + "id": 109, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "_validatePaymasterUserOp", + "nameLocation": "1987:24:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 103, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 98, + "mutability": "mutable", + "name": "userOp", + "nameLocation": "2050:6:0", + "nodeType": "VariableDeclaration", + "scope": 109, + "src": "2021:35:0", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_calldata_ptr", + "typeString": "struct PackedUserOperation" + }, + "typeName": { + "id": 97, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 96, + "name": "PackedUserOperation", + "nameLocations": [ + "2021:19:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1223, + "src": "2021:19:0" + }, + "referencedDeclaration": 1223, + "src": "2021:19:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_storage_ptr", + "typeString": "struct PackedUserOperation" + } + }, + "visibility": "internal" }, - "referencedDeclaration": 15, - "src": "1528:14:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ValidationData_$15_storage_ptr", - "typeString": "struct ValidationData" + { + "constant": false, + "id": 100, + "mutability": "mutable", + "name": "userOpHash", + "nameLocation": "2074:10:0", + "nodeType": "VariableDeclaration", + "scope": 109, + "src": "2066:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 99, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2066:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 102, + "mutability": "mutable", + "name": "maxCost", + "nameLocation": "2102:7:0", + "nodeType": "VariableDeclaration", + "scope": 109, + "src": "2094:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 101, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2094:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" } - }, - "visibility": "internal" - } - ], - "src": "1527:28:0" - }, - "scope": 189, - "src": "1454:416:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 111, - "nodeType": "Block", - "src": "2105:143:0", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + ], + "src": "2011:104:0" + }, + "returnParameters": { + "id": 108, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 105, + "mutability": "mutable", + "name": "context", + "nameLocation": "2155:7:0", + "nodeType": "VariableDeclaration", + "scope": 109, + "src": "2142:20:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 104, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2142:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" }, - "id": 109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { + { + "constant": false, + "id": 107, + "mutability": "mutable", + "name": "validationData", + "nameLocation": "2172:14:0", + "nodeType": "VariableDeclaration", + "scope": 109, + "src": "2164:22:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 97, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { + "typeName": { + "id": 106, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2164:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2141:46:0" + }, + "scope": 270, + "src": "1978:210:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "baseFunctions": [ + 1096 + ], + "body": { + "id": 133, + "nodeType": "Block", + "src": "2392:111:0", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 123, + "name": "_requireFromEntryPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 269, + "src": "2402:22:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2402:24:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 125, + "nodeType": "ExpressionStatement", + "src": "2402:24:0" + }, + { + "expression": { "arguments": [ { - "expression": { - "id": 86, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 79, - "src": "2134:4:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ValidationData_$15_memory_ptr", - "typeString": "struct ValidationData memory" - } - }, - "id": 87, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2139:10:0", - "memberName": "aggregator", - "nodeType": "MemberAccess", - "referencedDeclaration": 10, - "src": "2134:15:0", + "id": 127, + "name": "mode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 113, + "src": "2444:4:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_enum$_PostOpMode_$1068", + "typeString": "enum IPaymaster.PostOpMode" + } + }, + { + "id": 128, + "name": "context", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115, + "src": "2450:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + { + "id": 129, + "name": "actualGasCost", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 117, + "src": "2459:13:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 130, + "name": "actualUserOpFeePerGas", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119, + "src": "2474:21:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_enum$_PostOpMode_$1068", + "typeString": "enum IPaymaster.PostOpMode" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } ], - "id": 85, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2126:7:0", + "id": 126, + "name": "_postOp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 158, + "src": "2436:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 84, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "2126:7:0", - "typeDescriptions": {} + "typeIdentifier": "t_function_internal_nonpayable$_t_enum$_PostOpMode_$1068_$_t_bytes_calldata_ptr_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (enum IPaymaster.PostOpMode,bytes calldata,uint256,uint256)" } }, - "id": 88, + "id": 131, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "typeConversion", + "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2126:24:0", + "src": "2436:60:0", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "nodeType": "BinaryOperation", - "operator": "|", - "rightExpression": { + "id": 132, + "nodeType": "ExpressionStatement", + "src": "2436:60:0" + } + ] + }, + "documentation": { + "id": 110, + "nodeType": "StructuredDocumentation", + "src": "2194:26:0", + "text": "@inheritdoc IPaymaster" + }, + "functionSelector": "7c627b21", + "id": 134, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "postOp", + "nameLocation": "2234:6:0", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 121, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2383:8:0" + }, + "parameters": { + "id": 120, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 113, + "mutability": "mutable", + "name": "mode", + "nameLocation": "2261:4:0", + "nodeType": "VariableDeclaration", + "scope": 134, + "src": "2250:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PostOpMode_$1068", + "typeString": "enum IPaymaster.PostOpMode" + }, + "typeName": { + "id": 112, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 111, + "name": "PostOpMode", + "nameLocations": [ + "2250:10:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1068, + "src": "2250:10:0" + }, + "referencedDeclaration": 1068, + "src": "2250:10:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PostOpMode_$1068", + "typeString": "enum IPaymaster.PostOpMode" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 115, + "mutability": "mutable", + "name": "context", + "nameLocation": "2290:7:0", + "nodeType": "VariableDeclaration", + "scope": 134, + "src": "2275:22:0", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 114, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2275:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 117, + "mutability": "mutable", + "name": "actualGasCost", + "nameLocation": "2315:13:0", + "nodeType": "VariableDeclaration", + "scope": 134, + "src": "2307:21:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 116, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2307:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 119, + "mutability": "mutable", + "name": "actualUserOpFeePerGas", + "nameLocation": "2346:21:0", + "nodeType": "VariableDeclaration", + "scope": 134, + "src": "2338:29:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 118, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2338:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2240:133:0" + }, + "returnParameters": { + "id": 122, + "nodeType": "ParameterList", + "parameters": [], + "src": "2392:0:0" + }, + "scope": 270, + "src": "2225:278:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 157, + "nodeType": "Block", + "src": "3674:211:0", + "statements": [ + { + "expression": { "components": [ { - "commonType": { + "id": 147, + "name": "mode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 138, + "src": "3685:4:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PostOpMode_$1068", + "typeString": "enum IPaymaster.PostOpMode" + } + }, + { + "id": 148, + "name": "context", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "3691:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + { + "id": 149, + "name": "actualGasCost", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 142, + "src": "3700:13:0", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" - }, - "id": 95, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "expression": { - "id": 91, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 79, - "src": "2170:4:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ValidationData_$15_memory_ptr", - "typeString": "struct ValidationData memory" - } - }, - "id": 92, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2175:10:0", - "memberName": "validUntil", - "nodeType": "MemberAccess", - "referencedDeclaration": 14, - "src": "2170:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint48", - "typeString": "uint48" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint48", - "typeString": "uint48" - } - ], - "id": 90, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2162:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 89, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2162:7:0", - "typeDescriptions": {} - } - }, - "id": 93, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2162:24:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<<", - "rightExpression": { - "hexValue": "313630", - "id": 94, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2190:3:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_160_by_1", - "typeString": "int_const 160" - }, - "value": "160" - }, - "src": "2162:31:0", + } + }, + { + "id": 150, + "name": "actualUserOpFeePerGas", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 144, + "src": "3715:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 96, + "id": 151, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "2161:33:0", + "src": "3684:53:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_enum$_PostOpMode_$1068_$_t_bytes_calldata_ptr_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(enum IPaymaster.PostOpMode,bytes calldata,uint256,uint256)" + } + }, + "id": 152, + "nodeType": "ExpressionStatement", + "src": "3684:53:0" + }, + { + "expression": { + "arguments": [ + { + "hexValue": "6d757374206f76657272696465", + "id": 154, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3862:15:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cfebc7a599a78eb43bf12fd80d02a05464d681b0cdda54c5b6b39e95676c7f1d", + "typeString": "literal_string \"must override\"" + }, + "value": "must override" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_cfebc7a599a78eb43bf12fd80d02a05464d681b0cdda54c5b6b39e95676c7f1d", + "typeString": "literal_string \"must override\"" + } + ], + "id": 153, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -19, + -19 + ], + "referencedDeclaration": -19, + "src": "3855:6:0", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory) pure" + } + }, + "id": 155, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3855:23:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 156, + "nodeType": "ExpressionStatement", + "src": "3855:23:0" + } + ] + }, + "documentation": { + "id": 135, + "nodeType": "StructuredDocumentation", + "src": "2509:993:0", + "text": " Post-operation handler.\n (verified to be called only through the entryPoint)\n @dev If subclass returns a non-empty context from validatePaymasterUserOp,\n it must also implement this method.\n @param mode - Enum with the following options:\n opSucceeded - User operation succeeded.\n opReverted - User op reverted. The paymaster still has to pay for gas.\n postOpReverted - never passed in a call to postOp().\n @param context - The context value returned by validatePaymasterUserOp\n @param actualGasCost - Actual gas used so far (without this postOp call).\n @param actualUserOpFeePerGas - the gas price this UserOp pays. This value is based on the UserOp's maxFeePerGas\n and maxPriorityFee (and basefee)\n It is not the same as tx.gasprice, which is what the bundler pays." + }, + "id": 158, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_postOp", + "nameLocation": "3516:7:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 145, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 138, + "mutability": "mutable", + "name": "mode", + "nameLocation": "3544:4:0", + "nodeType": "VariableDeclaration", + "scope": 158, + "src": "3533:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PostOpMode_$1068", + "typeString": "enum IPaymaster.PostOpMode" + }, + "typeName": { + "id": 137, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 136, + "name": "PostOpMode", + "nameLocations": [ + "3533:10:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1068, + "src": "3533:10:0" + }, + "referencedDeclaration": 1068, + "src": "3533:10:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PostOpMode_$1068", + "typeString": "enum IPaymaster.PostOpMode" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 140, + "mutability": "mutable", + "name": "context", + "nameLocation": "3573:7:0", + "nodeType": "VariableDeclaration", + "scope": 158, + "src": "3558:22:0", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 139, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3558:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 142, + "mutability": "mutable", + "name": "actualGasCost", + "nameLocation": "3598:13:0", + "nodeType": "VariableDeclaration", + "scope": 158, + "src": "3590:21:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 141, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3590:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2126:68:0", + "visibility": "internal" + }, + { + "constant": false, + "id": 144, + "mutability": "mutable", + "name": "actualUserOpFeePerGas", + "nameLocation": "3629:21:0", + "nodeType": "VariableDeclaration", + "scope": 158, + "src": "3621:29:0", + "stateVariable": false, + "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "|", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 107, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { + }, + "typeName": { + "id": 143, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3621:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3523:133:0" + }, + "returnParameters": { + "id": 146, + "nodeType": "ParameterList", + "parameters": [], + "src": "3674:0:0" + }, + "scope": 270, + "src": "3507:378:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 174, + "nodeType": "Block", + "src": "4020:70:0", + "statements": [ + { + "expression": { + "arguments": [ + { "arguments": [ { - "expression": { - "id": 100, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 79, - "src": "2214:4:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ValidationData_$15_memory_ptr", - "typeString": "struct ValidationData memory" - } - }, - "id": 101, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2219:10:0", - "memberName": "validAfter", - "nodeType": "MemberAccess", - "referencedDeclaration": 12, - "src": "2214:15:0", + "id": 170, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "4077:4:0", "typeDescriptions": { - "typeIdentifier": "t_uint48", - "typeString": "uint48" + "typeIdentifier": "t_contract$_BasePaymaster_$270", + "typeString": "contract BasePaymaster" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_uint48", - "typeString": "uint48" + "typeIdentifier": "t_contract$_BasePaymaster_$270", + "typeString": "contract BasePaymaster" } ], - "id": 99, + "id": 169, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2206:7:0", + "src": "4069:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" }, "typeName": { - "id": 98, - "name": "uint256", + "id": 168, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "2206:7:0", + "src": "4069:7:0", "typeDescriptions": {} } }, - "id": 102, + "id": 171, "isConstant": false, "isLValue": false, "isPure": false, @@ -1439,474 +2236,609 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2206:24:0", + "src": "4069:13:0", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } - }, - "nodeType": "BinaryOperation", - "operator": "<<", - "rightExpression": { - "components": [ + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": [ { - "commonType": { - "typeIdentifier": "t_rational_208_by_1", - "typeString": "int_const 208" - }, - "id": 105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "313630", - "id": 103, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2235:3:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_160_by_1", - "typeString": "int_const 160" - }, - "value": "160" - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "3438", - "id": 104, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2241:2:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_48_by_1", - "typeString": "int_const 48" - }, - "value": "48" - }, - "src": "2235:8:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_208_by_1", - "typeString": "int_const 208" - } + "typeIdentifier": "t_address", + "typeString": "address" } ], - "id": 106, + "expression": { + "id": 162, + "name": "entryPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14, + "src": "4030:10:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEntryPoint_$1041", + "typeString": "contract IEntryPoint" + } + }, + "id": 164, "isConstant": false, - "isInlineArray": false, "isLValue": false, - "isPure": true, + "isPure": false, "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2234:10:0", + "memberLocation": "4041:9:0", + "memberName": "depositTo", + "nodeType": "MemberAccess", + "referencedDeclaration": 1176, + "src": "4030:20:0", "typeDescriptions": { - "typeIdentifier": "t_rational_208_by_1", - "typeString": "int_const 208" + "typeIdentifier": "t_function_external_payable$_t_address_$returns$__$", + "typeString": "function (address) payable external" } }, - "src": "2206:38:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 108, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2205:40:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2126:119:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 83, - "id": 110, - "nodeType": "Return", - "src": "2111:134:0" - } - ] - }, - "documentation": { - "id": 76, - "nodeType": "StructuredDocumentation", - "src": "1872:146:0", - "text": " Helper to pack the return value for validateUserOp.\n @param data - The ValidationData to pack.\n @return the packed validation data." - }, - "id": 112, - "implemented": true, - "kind": "freeFunction", - "modifiers": [], - "name": "_packValidationData", - "nameLocation": "2028:19:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 80, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 79, - "mutability": "mutable", - "name": "data", - "nameLocation": "2075:4:0", - "nodeType": "VariableDeclaration", - "scope": 112, - "src": "2053:26:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ValidationData_$15_memory_ptr", - "typeString": "struct ValidationData" - }, - "typeName": { - "id": 78, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 77, - "name": "ValidationData", - "nameLocations": [ - "2053:14:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 15, - "src": "2053:14:0" - }, - "referencedDeclaration": 15, - "src": "2053:14:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ValidationData_$15_storage_ptr", - "typeString": "struct ValidationData" - } - }, - "visibility": "internal" - } - ], - "src": "2047:34:0" - }, - "returnParameters": { - "id": 83, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 112, - "src": "2096:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2096:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2095:9:0" - }, - "scope": 189, - "src": "2019:229:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 149, - "nodeType": "Block", - "src": "2731:170:0", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "condition": { - "id": 124, - "name": "sigFailed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 115, - "src": "2753:9:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "id": 126, - "name": "SIG_VALIDATION_SUCCESS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7, - "src": "2790:22:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 127, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "2753:59:0", - "trueExpression": { - "id": 125, - "name": "SIG_VALIDATION_FAILED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4, - "src": "2766:21:0", + "id": 167, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "expression": { + "id": 165, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "4058:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 166, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4062:5:0", + "memberName": "value", + "nodeType": "MemberAccess", + "src": "4058:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } - }, + } + ], + "src": "4030:38:0", + "typeDescriptions": { + "typeIdentifier": "t_function_external_payable$_t_address_$returns$__$value", + "typeString": "function (address) payable external" + } + }, + "id": 172, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4030:53:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 173, + "nodeType": "ExpressionStatement", + "src": "4030:53:0" + } + ] + }, + "documentation": { + "id": 159, + "nodeType": "StructuredDocumentation", + "src": "3891:90:0", + "text": " Add a deposit for this paymaster, used for paying for transaction fees." + }, + "functionSelector": "d0e30db0", + "id": 175, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "deposit", + "nameLocation": "3995:7:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 160, + "nodeType": "ParameterList", + "parameters": [], + "src": "4002:2:0" + }, + "returnParameters": { + "id": 161, + "nodeType": "ParameterList", + "parameters": [], + "src": "4020:0:0" + }, + "scope": 270, + "src": "3986:104:0", + "stateMutability": "payable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 192, + "nodeType": "Block", + "src": "4363:63:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 188, + "name": "withdrawAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 178, + "src": "4395:15:0", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "id": 189, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 180, + "src": "4412:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 128, + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 185, + "name": "entryPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14, + "src": "4373:10:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEntryPoint_$1041", + "typeString": "contract IEntryPoint" + } + }, + "id": 187, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4384:10:0", + "memberName": "withdrawTo", + "nodeType": "MemberAccess", + "referencedDeclaration": 1200, + "src": "4373:21:0", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_payable_$_t_uint256_$returns$__$", + "typeString": "function (address payable,uint256) external" + } + }, + "id": 190, "isConstant": false, - "isInlineArray": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2752:61:0", + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4373:46:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 191, + "nodeType": "ExpressionStatement", + "src": "4373:46:0" + } + ] + }, + "documentation": { + "id": 176, + "nodeType": "StructuredDocumentation", + "src": "4096:154:0", + "text": " Withdraw value from the deposit.\n @param withdrawAddress - Target to send to.\n @param amount - Amount to withdraw." + }, + "functionSelector": "205c2878", + "id": 193, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 183, + "kind": "modifierInvocation", + "modifierName": { + "id": 182, + "name": "onlyOwner", + "nameLocations": [ + "4353:9:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1282, + "src": "4353:9:0" + }, + "nodeType": "ModifierInvocation", + "src": "4353:9:0" + } + ], + "name": "withdrawTo", + "nameLocation": "4264:10:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 181, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 178, + "mutability": "mutable", + "name": "withdrawAddress", + "nameLocation": "4300:15:0", + "nodeType": "VariableDeclaration", + "scope": 193, + "src": "4284:31:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 177, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4284:15:0", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 180, + "mutability": "mutable", + "name": "amount", + "nameLocation": "4333:6:0", + "nodeType": "VariableDeclaration", + "scope": 193, + "src": "4325:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 179, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4325:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "nodeType": "BinaryOperation", - "operator": "|", - "rightExpression": { - "components": [ + "visibility": "internal" + } + ], + "src": "4274:71:0" + }, + "returnParameters": { + "id": 184, + "nodeType": "ParameterList", + "parameters": [], + "src": "4363:0:0" + }, + "scope": 270, + "src": "4255:171:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 210, + "nodeType": "Block", + "src": "4720:71:0", + "statements": [ + { + "expression": { + "arguments": [ { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "id": 207, + "name": "unstakeDelaySec", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 196, + "src": "4768:15:0", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + ], + "expression": { + "id": 201, + "name": "entryPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14, + "src": "4730:10:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEntryPoint_$1041", + "typeString": "contract IEntryPoint" + } }, - "id": 134, + "id": 203, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 131, - "name": "validUntil", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 117, - "src": "2833:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint48", - "typeString": "uint48" - } - } - ], + "memberLocation": "4741:8:0", + "memberName": "addStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 1182, + "src": "4730:19:0", + "typeDescriptions": { + "typeIdentifier": "t_function_external_payable$_t_uint32_$returns$__$", + "typeString": "function (uint32) payable external" + } + }, + "id": 206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint48", - "typeString": "uint48" - } - ], - "id": 130, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2825:7:0", + "id": 204, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "4757:3:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 129, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2825:7:0", - "typeDescriptions": {} + "typeIdentifier": "t_magic_message", + "typeString": "msg" } }, - "id": 132, + "id": 205, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "typeConversion", "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2825:19:0", - "tryCall": false, + "memberLocation": "4761:5:0", + "memberName": "value", + "nodeType": "MemberAccess", + "src": "4757:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } - }, - "nodeType": "BinaryOperation", - "operator": "<<", - "rightExpression": { - "hexValue": "313630", - "id": 133, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2848:3:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_160_by_1", - "typeString": "int_const 160" - }, - "value": "160" - }, - "src": "2825:26:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" } + ], + "src": "4730:37:0", + "typeDescriptions": { + "typeIdentifier": "t_function_external_payable$_t_uint32_$returns$__$value", + "typeString": "function (uint32) payable external" } - ], - "id": 135, + }, + "id": 208, "isConstant": false, - "isInlineArray": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2824:28:0", + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4730:54:0", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "src": "2752:100:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "id": 209, + "nodeType": "ExpressionStatement", + "src": "4730:54:0" + } + ] + }, + "documentation": { + "id": 194, + "nodeType": "StructuredDocumentation", + "src": "4432:214:0", + "text": " Add stake for this paymaster.\n This method can also carry eth value to add to the current stake.\n @param unstakeDelaySec - The unstake delay for this paymaster. Can only be increased." + }, + "functionSelector": "0396cb60", + "id": 211, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 199, + "kind": "modifierInvocation", + "modifierName": { + "id": 198, + "name": "onlyOwner", + "nameLocations": [ + "4710:9:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1282, + "src": "4710:9:0" }, - "nodeType": "BinaryOperation", - "operator": "|", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { + "nodeType": "ModifierInvocation", + "src": "4710:9:0" + } + ], + "name": "addStake", + "nameLocation": "4660:8:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 197, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 196, + "mutability": "mutable", + "name": "unstakeDelaySec", + "nameLocation": "4676:15:0", + "nodeType": "VariableDeclaration", + "scope": 211, + "src": "4669:22:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 195, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "4669:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + } + ], + "src": "4668:24:0" + }, + "returnParameters": { + "id": 200, + "nodeType": "ParameterList", + "parameters": [], + "src": "4720:0:0" + }, + "scope": 270, + "src": "4651:140:0", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 225, + "nodeType": "Block", + "src": "4926:59:0", + "statements": [ + { + "expression": { + "arguments": [ + { "arguments": [ { - "id": 139, - "name": "validAfter", + "id": 221, + "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119, - "src": "2872:10:0", + "referencedDeclaration": -28, + "src": "4972:4:0", "typeDescriptions": { - "typeIdentifier": "t_uint48", - "typeString": "uint48" + "typeIdentifier": "t_contract$_BasePaymaster_$270", + "typeString": "contract BasePaymaster" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_uint48", - "typeString": "uint48" + "typeIdentifier": "t_contract$_BasePaymaster_$270", + "typeString": "contract BasePaymaster" } ], - "id": 138, + "id": 220, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2864:7:0", + "src": "4964:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" }, "typeName": { - "id": 137, - "name": "uint256", + "id": 219, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "2864:7:0", + "src": "4964:7:0", "typeDescriptions": {} } }, - "id": 140, + "id": 222, "isConstant": false, "isLValue": false, "isPure": false, @@ -1915,3300 +2847,3551 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2864:19:0", + "src": "4964:13:0", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } - }, - "nodeType": "BinaryOperation", - "operator": "<<", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_rational_208_by_1", - "typeString": "int_const 208" - }, - "id": 143, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "313630", - "id": 141, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2888:3:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_160_by_1", - "typeString": "int_const 160" - }, - "value": "160" - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "3438", - "id": 142, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2894:2:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_48_by_1", - "typeString": "int_const 48" - }, - "value": "48" - }, - "src": "2888:8:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_208_by_1", - "typeString": "int_const 208" - } - } - ], - "id": 144, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2887:10:0", + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 217, + "name": "entryPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14, + "src": "4943:10:0", "typeDescriptions": { - "typeIdentifier": "t_rational_208_by_1", - "typeString": "int_const 208" + "typeIdentifier": "t_contract$_IEntryPoint_$1041", + "typeString": "contract IEntryPoint" } }, - "src": "2864:33:0", + "id": 218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4954:9:0", + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 1170, + "src": "4943:20:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" } + }, + "id": 223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4943:35:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - ], - "id": 146, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2863:35:0", + }, + "functionReturnParameters": 216, + "id": 224, + "nodeType": "Return", + "src": "4936:42:0" + } + ] + }, + "documentation": { + "id": 212, + "nodeType": "StructuredDocumentation", + "src": "4797:72:0", + "text": " Return current paymaster's deposit on the entryPoint." + }, + "functionSelector": "c399ec88", + "id": 226, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getDeposit", + "nameLocation": "4883:10:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 213, + "nodeType": "ParameterList", + "parameters": [], + "src": "4893:2:0" + }, + "returnParameters": { + "id": 216, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 215, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 226, + "src": "4917:7:0", + "stateVariable": false, + "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" - } - }, - "src": "2752:146:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 123, - "id": 148, - "nodeType": "Return", - "src": "2737:161:0" - } - ] - }, - "documentation": { - "id": 113, - "nodeType": "StructuredDocumentation", - "src": "2250:360:0", - "text": " Helper to pack the return value for validateUserOp, when not using an aggregator.\n @param sigFailed - True for signature failure, false for success.\n @param validUntil - Last timestamp this operation is valid at, or 0 for \"indefinitely\".\n @param validAfter - First timestamp this UserOperation is valid.\n @return the packed validation data." - }, - "id": 150, - "implemented": true, - "kind": "freeFunction", - "modifiers": [], - "name": "_packValidationData", - "nameLocation": "2620:19:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 120, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 115, - "mutability": "mutable", - "name": "sigFailed", - "nameLocation": "2650:9:0", - "nodeType": "VariableDeclaration", - "scope": 150, - "src": "2645:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 114, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2645:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 117, - "mutability": "mutable", - "name": "validUntil", - "nameLocation": "2672:10:0", - "nodeType": "VariableDeclaration", - "scope": 150, - "src": "2665:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint48", - "typeString": "uint48" - }, - "typeName": { - "id": 116, - "name": "uint48", - "nodeType": "ElementaryTypeName", - "src": "2665:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint48", - "typeString": "uint48" + }, + "typeName": { + "id": 214, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4917:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" } - }, - "visibility": "internal" + ], + "src": "4916:9:0" }, - { - "constant": false, - "id": 119, - "mutability": "mutable", - "name": "validAfter", - "nameLocation": "2695:10:0", - "nodeType": "VariableDeclaration", - "scope": 150, - "src": "2688:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint48", - "typeString": "uint48" - }, - "typeName": { - "id": 118, - "name": "uint48", - "nodeType": "ElementaryTypeName", - "src": "2688:6:0", - "typeDescriptions": { - "typeIdentifier": "t_uint48", - "typeString": "uint48" - } - }, - "visibility": "internal" - } - ], - "src": "2639:68:0" - }, - "returnParameters": { - "id": 123, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 122, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 150, - "src": "2722:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 121, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2722:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2721:9:0" - }, - "scope": 189, - "src": "2611:290:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 159, - "nodeType": "Block", - "src": "3277:209:0", - "statements": [ - { - "AST": { - "nativeSrc": "3312:168:0", - "nodeType": "YulBlock", - "src": "3312:168:0", - "statements": [ - { - "nativeSrc": "3326:22:0", - "nodeType": "YulVariableDeclaration", - "src": "3326:22:0", - "value": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "3343:4:0", - "nodeType": "YulLiteral", - "src": "3343:4:0", - "type": "", - "value": "0x40" + "scope": 270, + "src": "4874:111:0", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 237, + "nodeType": "Block", + "src": "5186:41:0", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 232, + "name": "entryPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14, + "src": "5196:10:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEntryPoint_$1041", + "typeString": "contract IEntryPoint" } - ], - "functionName": { - "name": "mload", - "nativeSrc": "3337:5:0", - "nodeType": "YulIdentifier", - "src": "3337:5:0" }, - "nativeSrc": "3337:11:0", - "nodeType": "YulFunctionCall", - "src": "3337:11:0" - }, - "variables": [ - { - "name": "mem", - "nativeSrc": "3330:3:0", - "nodeType": "YulTypedName", - "src": "3330:3:0", - "type": "" + "id": 234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5207:11:0", + "memberName": "unlockStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 1186, + "src": "5196:22:0", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$__$returns$__$", + "typeString": "function () external" } - ] - }, - { - "nativeSrc": "3361:22:0", - "nodeType": "YulVariableDeclaration", - "src": "3361:22:0", - "value": { - "name": "data.length", - "nativeSrc": "3372:11:0", - "nodeType": "YulIdentifier", - "src": "3372:11:0" }, - "variables": [ + "id": 235, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5196:24:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 236, + "nodeType": "ExpressionStatement", + "src": "5196:24:0" + } + ] + }, + "documentation": { + "id": 227, + "nodeType": "StructuredDocumentation", + "src": "4991:148:0", + "text": " Unlock the stake, in order to withdraw it.\n The paymaster can't serve requests once unlocked, until it calls addStake again" + }, + "functionSelector": "bb9fe6bf", + "id": 238, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 230, + "kind": "modifierInvocation", + "modifierName": { + "id": 229, + "name": "onlyOwner", + "nameLocations": [ + "5176:9:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1282, + "src": "5176:9:0" + }, + "nodeType": "ModifierInvocation", + "src": "5176:9:0" + } + ], + "name": "unlockStake", + "nameLocation": "5153:11:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 228, + "nodeType": "ParameterList", + "parameters": [], + "src": "5164:2:0" + }, + "returnParameters": { + "id": 231, + "nodeType": "ParameterList", + "parameters": [], + "src": "5186:0:0" + }, + "scope": 270, + "src": "5144:83:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 252, + "nodeType": "Block", + "src": "5523:58:0", + "statements": [ + { + "expression": { + "arguments": [ { - "name": "len", - "nativeSrc": "3365:3:0", - "nodeType": "YulTypedName", - "src": "3365:3:0", - "type": "" + "id": 249, + "name": "withdrawAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 241, + "src": "5558:15:0", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } } - ] - }, - { + ], "expression": { - "arguments": [ - { - "name": "mem", - "nativeSrc": "3409:3:0", - "nodeType": "YulIdentifier", - "src": "3409:3:0" - }, - { - "name": "data.offset", - "nativeSrc": "3414:11:0", - "nodeType": "YulIdentifier", - "src": "3414:11:0" - }, + "argumentTypes": [ { - "name": "len", - "nativeSrc": "3427:3:0", - "nodeType": "YulIdentifier", - "src": "3427:3:0" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } ], - "functionName": { - "name": "calldatacopy", - "nativeSrc": "3396:12:0", - "nodeType": "YulIdentifier", - "src": "3396:12:0" - }, - "nativeSrc": "3396:35:0", - "nodeType": "YulFunctionCall", - "src": "3396:35:0" - }, - "nativeSrc": "3396:35:0", - "nodeType": "YulExpressionStatement", - "src": "3396:35:0" - }, - { - "nativeSrc": "3444:26:0", - "nodeType": "YulAssignment", - "src": "3444:26:0", - "value": { - "arguments": [ - { - "name": "mem", - "nativeSrc": "3461:3:0", - "nodeType": "YulIdentifier", - "src": "3461:3:0" - }, - { - "name": "len", - "nativeSrc": "3466:3:0", - "nodeType": "YulIdentifier", - "src": "3466:3:0" + "expression": { + "id": 246, + "name": "entryPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14, + "src": "5533:10:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEntryPoint_$1041", + "typeString": "contract IEntryPoint" } - ], - "functionName": { - "name": "keccak256", - "nativeSrc": "3451:9:0", - "nodeType": "YulIdentifier", - "src": "3451:9:0" }, - "nativeSrc": "3451:19:0", - "nodeType": "YulFunctionCall", - "src": "3451:19:0" - }, - "variableNames": [ - { - "name": "ret", - "nativeSrc": "3444:3:0", - "nodeType": "YulIdentifier", - "src": "3444:3:0" + "id": 248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5544:13:0", + "memberName": "withdrawStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 1192, + "src": "5533:24:0", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_payable_$returns$__$", + "typeString": "function (address payable) external" } - ] - } - ] - }, - "evmVersion": "paris", - "externalReferences": [ - { - "declaration": 153, - "isOffset": false, - "isSlot": false, - "src": "3372:11:0", - "suffix": "length", - "valueSize": 1 - }, - { - "declaration": 153, - "isOffset": true, - "isSlot": false, - "src": "3414:11:0", - "suffix": "offset", - "valueSize": 1 - }, - { - "declaration": 156, - "isOffset": false, - "isSlot": false, - "src": "3444:3:0", - "valueSize": 1 + }, + "id": 250, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5533:41:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 251, + "nodeType": "ExpressionStatement", + "src": "5533:41:0" } - ], - "flags": [ - "memory-safe" - ], - "id": 158, - "nodeType": "InlineAssembly", - "src": "3287:193:0" - } - ] - }, - "documentation": { - "id": 151, - "nodeType": "StructuredDocumentation", - "src": "2903:297:0", - "text": " keccak function over calldata.\n @dev copy calldata into memory, do keccak and drop allocated memory. Strangely, this is more efficient than letting solidity do it.\n @param data - the calldata bytes array to perform keccak on.\n @return ret - the keccak hash of the 'data' array." - }, - "id": 160, - "implemented": true, - "kind": "freeFunction", - "modifiers": [], - "name": "calldataKeccak", - "nameLocation": "3214:14:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 154, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 153, - "mutability": "mutable", - "name": "data", - "nameLocation": "3244:4:0", - "nodeType": "VariableDeclaration", - "scope": 160, - "src": "3229:19:0", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 152, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3229:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "3228:21:0" - }, - "returnParameters": { - "id": 157, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 156, - "mutability": "mutable", - "name": "ret", - "nameLocation": "3272:3:0", - "nodeType": "VariableDeclaration", - "scope": 160, - "src": "3264:11:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 155, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3264:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "3263:13:0" - }, - "scope": 189, - "src": "3205:281:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 177, - "nodeType": "Block", - "src": "3679:37:0", - "statements": [ - { - "expression": { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 172, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 170, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 163, - "src": "3696:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + ] + }, + "documentation": { + "id": 239, + "nodeType": "StructuredDocumentation", + "src": "5233:210:0", + "text": " Withdraw the entire paymaster's stake.\n stake must be unlocked first (and then wait for the unstakeDelay to be over)\n @param withdrawAddress - The address to send withdrawn value." + }, + "functionSelector": "c23a5cea", + "id": 253, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 244, + "kind": "modifierInvocation", + "modifierName": { + "id": 243, + "name": "onlyOwner", + "nameLocations": [ + "5513:9:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1282, + "src": "5513:9:0" + }, + "nodeType": "ModifierInvocation", + "src": "5513:9:0" + } + ], + "name": "withdrawStake", + "nameLocation": "5457:13:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 242, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 241, + "mutability": "mutable", + "name": "withdrawAddress", + "nameLocation": "5487:15:0", + "nodeType": "VariableDeclaration", + "scope": 253, + "src": "5471:31:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 171, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 165, - "src": "3700:1:0", + "typeName": { + "id": 240, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5471:15:0", + "stateMutability": "payable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, - "src": "3696:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "id": 174, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 165, - "src": "3708:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 175, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "3696:13:0", - "trueExpression": { - "id": 173, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 163, - "src": "3704:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 169, - "id": 176, - "nodeType": "Return", - "src": "3689:20:0" - } - ] - }, - "documentation": { - "id": 161, - "nodeType": "StructuredDocumentation", - "src": "3489:127:0", - "text": " The minimum of two numbers.\n @param a - First number.\n @param b - Second number.\n @return - the minimum value." - }, - "id": 178, - "implemented": true, - "kind": "freeFunction", - "modifiers": [], - "name": "min", - "nameLocation": "3630:3:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 166, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 163, - "mutability": "mutable", - "name": "a", - "nameLocation": "3642:1:0", - "nodeType": "VariableDeclaration", - "scope": 178, - "src": "3634:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 162, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3634:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "visibility": "internal" } - }, - "visibility": "internal" + ], + "src": "5470:33:0" }, - { - "constant": false, - "id": 165, - "mutability": "mutable", - "name": "b", - "nameLocation": "3653:1:0", - "nodeType": "VariableDeclaration", - "scope": 178, - "src": "3645:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 164, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3645:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3633:22:0" - }, - "returnParameters": { - "id": 169, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 168, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 178, - "src": "3670:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 167, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3670:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3669:9:0" - }, - "scope": 189, - "src": "3621:95:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 187, - "nodeType": "Block", - "src": "4009:430:0", - "statements": [ - { - "AST": { - "nativeSrc": "4044:389:0", - "nodeType": "YulBlock", - "src": "4044:389:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "memPointer", - "nativeSrc": "4078:10:0", - "nodeType": "YulIdentifier", - "src": "4078:10:0" + "returnParameters": { + "id": 245, + "nodeType": "ParameterList", + "parameters": [], + "src": "5523:0:0" + }, + "scope": 270, + "src": "5448:133:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 268, + "nodeType": "Block", + "src": "5711:84:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" }, - { - "name": "allocationSize", - "nativeSrc": "4090:14:0", - "nodeType": "YulIdentifier", - "src": "4090:14:0" - } - ], - "functionName": { - "name": "finalize_allocation", - "nativeSrc": "4058:19:0", - "nodeType": "YulIdentifier", - "src": "4058:19:0" - }, - "nativeSrc": "4058:47:0", - "nodeType": "YulFunctionCall", - "src": "4058:47:0" - }, - "nativeSrc": "4058:47:0", - "nodeType": "YulExpressionStatement", - "src": "4058:47:0" - }, - { - "body": { - "nativeSrc": "4162:129:0", - "nodeType": "YulBlock", - "src": "4162:129:0", - "statements": [ - { - "nativeSrc": "4180:58:0", - "nodeType": "YulVariableDeclaration", - "src": "4180:58:0", - "value": { - "arguments": [ - { - "name": "memPtr", - "nativeSrc": "4202:6:0", - "nodeType": "YulIdentifier", - "src": "4202:6:0" - }, - { - "arguments": [ - { - "name": "size", - "nativeSrc": "4232:4:0", - "nodeType": "YulIdentifier", - "src": "4232:4:0" - } - ], - "functionName": { - "name": "round_up_to_mul_of_32", - "nativeSrc": "4210:21:0", - "nodeType": "YulIdentifier", - "src": "4210:21:0" - }, - "nativeSrc": "4210:27:0", - "nodeType": "YulFunctionCall", - "src": "4210:27:0" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "4198:3:0", - "nodeType": "YulIdentifier", - "src": "4198:3:0" - }, - "nativeSrc": "4198:40:0", - "nodeType": "YulFunctionCall", - "src": "4198:40:0" + "id": 264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 258, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "5729:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } }, - "variables": [ + "id": 259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5733:6:0", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "5729:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ { - "name": "newFreePtr", - "nativeSrc": "4184:10:0", - "nodeType": "YulTypedName", - "src": "4184:10:0", - "type": "" + "id": 262, + "name": "entryPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14, + "src": "5751:10:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEntryPoint_$1041", + "typeString": "contract IEntryPoint" + } } - ] - }, - { + ], "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "4262:2:0", - "nodeType": "YulLiteral", - "src": "4262:2:0", - "type": "", - "value": "64" - }, + "argumentTypes": [ { - "name": "newFreePtr", - "nativeSrc": "4266:10:0", - "nodeType": "YulIdentifier", - "src": "4266:10:0" + "typeIdentifier": "t_contract$_IEntryPoint_$1041", + "typeString": "contract IEntryPoint" } ], - "functionName": { - "name": "mstore", - "nativeSrc": "4255:6:0", - "nodeType": "YulIdentifier", - "src": "4255:6:0" + "id": 261, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5743:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" }, - "nativeSrc": "4255:22:0", - "nodeType": "YulFunctionCall", - "src": "4255:22:0" + "typeName": { + "id": 260, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5743:7:0", + "typeDescriptions": {} + } }, - "nativeSrc": "4255:22:0", - "nodeType": "YulExpressionStatement", - "src": "4255:22:0" + "id": 263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5743:19:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5729:33:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" } - ] - }, - "name": "finalize_allocation", - "nativeSrc": "4119:172:0", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nativeSrc": "4148:6:0", - "nodeType": "YulTypedName", - "src": "4148:6:0", - "type": "" }, { - "name": "size", - "nativeSrc": "4156:4:0", - "nodeType": "YulTypedName", - "src": "4156:4:0", - "type": "" + "hexValue": "53656e646572206e6f7420456e747279506f696e74", + "id": 265, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5764:23:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4f1183fece38266d89bbd94d1c93e02d713970166951c4c8f2c10a21e7cddae9", + "typeString": "literal_string \"Sender not EntryPoint\"" + }, + "value": "Sender not EntryPoint" } ], - "src": "4119:172:0" - }, - { - "body": { - "nativeSrc": "4353:70:0", - "nodeType": "YulBlock", - "src": "4353:70:0", - "statements": [ - { - "nativeSrc": "4371:38:0", - "nodeType": "YulAssignment", - "src": "4371:38:0", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nativeSrc": "4389:5:0", - "nodeType": "YulIdentifier", - "src": "4389:5:0" - }, - { - "kind": "number", - "nativeSrc": "4396:2:0", - "nodeType": "YulLiteral", - "src": "4396:2:0", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "4385:3:0", - "nodeType": "YulIdentifier", - "src": "4385:3:0" - }, - "nativeSrc": "4385:14:0", - "nodeType": "YulFunctionCall", - "src": "4385:14:0" - }, - { - "arguments": [ - { - "kind": "number", - "nativeSrc": "4405:2:0", - "nodeType": "YulLiteral", - "src": "4405:2:0", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nativeSrc": "4401:3:0", - "nodeType": "YulIdentifier", - "src": "4401:3:0" - }, - "nativeSrc": "4401:7:0", - "nodeType": "YulFunctionCall", - "src": "4401:7:0" - } - ], - "functionName": { - "name": "and", - "nativeSrc": "4381:3:0", - "nodeType": "YulIdentifier", - "src": "4381:3:0" - }, - "nativeSrc": "4381:28:0", - "nodeType": "YulFunctionCall", - "src": "4381:28:0" - }, - "variableNames": [ - { - "name": "result", - "nativeSrc": "4371:6:0", - "nodeType": "YulIdentifier", - "src": "4371:6:0" - } - ] + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_4f1183fece38266d89bbd94d1c93e02d713970166951c4c8f2c10a21e7cddae9", + "typeString": "literal_string \"Sender not EntryPoint\"" } - ] - }, - "name": "round_up_to_mul_of_32", - "nativeSrc": "4305:118:0", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "4336:5:0", - "nodeType": "YulTypedName", - "src": "4336:5:0", - "type": "" - } - ], - "returnVariables": [ - { - "name": "result", - "nativeSrc": "4346:6:0", - "nodeType": "YulTypedName", - "src": "4346:6:0", - "type": "" + ], + "id": 257, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5721:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" } - ], - "src": "4305:118:0" - } - ] - }, - "evmVersion": "paris", - "externalReferences": [ - { - "declaration": 183, - "isOffset": false, - "isSlot": false, - "src": "4090:14:0", - "valueSize": 1 - }, - { - "declaration": 181, - "isOffset": false, - "isSlot": false, - "src": "4078:10:0", - "valueSize": 1 - } - ], - "flags": [ - "memory-safe" - ], - "id": 186, - "nodeType": "InlineAssembly", - "src": "4020:413:0" - } - ] - }, - "documentation": { - "id": 179, - "nodeType": "StructuredDocumentation", - "src": "3718:209:0", - "text": " standard solidity memory allocation finalization.\n copied from solidity generated code\n @param memPointer - The current memory pointer\n @param allocationSize - Bytes allocated from memPointer." - }, - "id": 188, - "implemented": true, - "kind": "freeFunction", - "modifiers": [], - "name": "finalizeAllocation", - "nameLocation": "3941:18:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 184, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 181, - "mutability": "mutable", - "name": "memPointer", - "nameLocation": "3968:10:0", - "nodeType": "VariableDeclaration", - "scope": 188, - "src": "3960:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 180, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3960:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + }, + "id": 266, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5721:67:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 267, + "nodeType": "ExpressionStatement", + "src": "5721:67:0" } - }, - "visibility": "internal" + ] }, - { - "constant": false, - "id": 183, - "mutability": "mutable", - "name": "allocationSize", - "nameLocation": "3988:14:0", - "nodeType": "VariableDeclaration", - "scope": 188, - "src": "3980:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 182, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3980:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3959:44:0" - }, - "returnParameters": { - "id": 185, - "nodeType": "ParameterList", - "parameters": [], - "src": "4009:0:0" - }, - "scope": 189, - "src": "3932:507:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" + "documentation": { + "id": 254, + "nodeType": "StructuredDocumentation", + "src": "5587:68:0", + "text": " Validate the call is made from a valid entrypoint" + }, + "id": 269, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_requireFromEntryPoint", + "nameLocation": "5669:22:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 255, + "nodeType": "ParameterList", + "parameters": [], + "src": "5691:2:0" + }, + "returnParameters": { + "id": 256, + "nodeType": "ParameterList", + "parameters": [], + "src": "5711:0:0" + }, + "scope": 270, + "src": "5660:135:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + } + ], + "scope": 271, + "src": "483:5314:0", + "usedErrors": [ + 1237, + 1242 + ], + "usedEvents": [ + 1248 + ] } ], - "src": "32:4408:0" + "src": "36:5762:0" }, "id": 0 }, - "@account-abstraction/contracts/core/UserOperationLib.sol": { + "@account-abstraction/contracts/core/Helpers.sol": { "ast": { - "absolutePath": "@account-abstraction/contracts/core/UserOperationLib.sol", + "absolutePath": "@account-abstraction/contracts/core/Helpers.sol", "exportedSymbols": { - "PackedUserOperation": [ - 563 + "SIG_VALIDATION_FAILED": [ + 275 ], - "UserOperationLib": [ - 524 + "SIG_VALIDATION_SUCCESS": [ + 278 + ], + "ValidationData": [ + 286 + ], + "_packValidationData": [ + 383, + 421 + ], + "_parseValidationData": [ + 346 ], "calldataKeccak": [ - 160 + 431 ], "min": [ - 178 + 449 ] }, - "id": 525, - "license": "MIT", + "id": 450, + "license": "GPL-3.0", "nodeType": "SourceUnit", "nodes": [ { - "id": 190, + "id": 272, "literals": [ "solidity", "^", "0.8", - ".28" + ".23" ], "nodeType": "PragmaDirective", - "src": "32:24:1" + "src": "36:24:1" }, { - "absolutePath": "@account-abstraction/contracts/interfaces/PackedUserOperation.sol", - "file": "../interfaces/PackedUserOperation.sol", - "id": 191, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 525, - "sourceUnit": 564, - "src": "100:47:1", - "symbolAliases": [], - "unitAlias": "" + "constant": true, + "id": 275, + "mutability": "constant", + "name": "SIG_VALIDATION_FAILED", + "nameLocation": "281:21:1", + "nodeType": "VariableDeclaration", + "scope": 450, + "src": "264:42:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 273, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "264:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "31", + "id": 274, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "305:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "visibility": "internal" }, { - "absolutePath": "@account-abstraction/contracts/core/Helpers.sol", - "file": "./Helpers.sol", - "id": 194, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 525, - "sourceUnit": 189, - "src": "148:50:1", - "symbolAliases": [ - { - "foreign": { - "id": 192, - "name": "calldataKeccak", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 160, - "src": "156:14:1", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 193, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 178, - "src": "172:3:1", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" + "constant": true, + "id": 278, + "mutability": "constant", + "name": "SIG_VALIDATION_SUCCESS", + "nameLocation": "440:22:1", + "nodeType": "VariableDeclaration", + "scope": 450, + "src": "423:43:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 276, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "423:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - ], - "unitAlias": "" + }, + "value": { + "hexValue": "30", + "id": 277, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "465:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "visibility": "internal" }, { - "abstract": false, - "baseContracts": [], - "canonicalName": "UserOperationLib", - "contractDependencies": [], - "contractKind": "library", + "canonicalName": "ValidationData", "documentation": { - "id": 195, + "id": 279, "nodeType": "StructuredDocumentation", - "src": "200:77:1", - "text": " Utility functions helpful when working with UserOperation structs." + "src": "470:640:1", + "text": " Returned data from validateUserOp.\n validateUserOp returns a uint256, which is created by `_packedValidationData` and\n parsed by `_parseValidationData`.\n @param aggregator - address(0) - The account validated the signature by itself.\n address(1) - The account failed to validate the signature.\n otherwise - This is an address of a signature aggregator that must\n be used to validate the signature.\n @param validAfter - This UserOp is valid only after this timestamp.\n @param validaUntil - This UserOp is valid only up to this timestamp." }, - "fullyImplemented": true, - "id": 524, - "linearizedBaseContracts": [ - 524 - ], - "name": "UserOperationLib", - "nameLocation": "286:16:1", - "nodeType": "ContractDefinition", - "nodes": [ + "id": 286, + "members": [ { - "constant": true, - "functionSelector": "b29a8ff4", - "id": 198, - "mutability": "constant", - "name": "PAYMASTER_VALIDATION_GAS_OFFSET", - "nameLocation": "334:31:1", + "constant": false, + "id": 281, + "mutability": "mutable", + "name": "aggregator", + "nameLocation": "1147:10:1", "nodeType": "VariableDeclaration", - "scope": 524, - "src": "310:60:1", - "stateVariable": true, + "scope": 286, + "src": "1139:18:1", + "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 196, - "name": "uint256", + "id": 280, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "310:7:1", + "src": "1139:7:1", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "value": { - "hexValue": "3230", - "id": 197, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "368:2:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_20_by_1", - "typeString": "int_const 20" - }, - "value": "20" - }, - "visibility": "public" + "visibility": "internal" }, { - "constant": true, - "functionSelector": "25093e1b", - "id": 201, - "mutability": "constant", - "name": "PAYMASTER_POSTOP_GAS_OFFSET", - "nameLocation": "400:27:1", + "constant": false, + "id": 283, + "mutability": "mutable", + "name": "validAfter", + "nameLocation": "1170:10:1", "nodeType": "VariableDeclaration", - "scope": 524, - "src": "376:56:1", - "stateVariable": true, + "scope": 286, + "src": "1163:17:1", + "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint48", + "typeString": "uint48" }, "typeName": { - "id": 199, - "name": "uint256", + "id": 282, + "name": "uint48", "nodeType": "ElementaryTypeName", - "src": "376:7:1", + "src": "1163:6:1", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint48", + "typeString": "uint48" } }, - "value": { - "hexValue": "3336", - "id": 200, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "430:2:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_36_by_1", - "typeString": "int_const 36" - }, - "value": "36" - }, - "visibility": "public" + "visibility": "internal" }, { - "constant": true, - "functionSelector": "ede31502", - "id": 204, - "mutability": "constant", - "name": "PAYMASTER_DATA_OFFSET", - "nameLocation": "462:21:1", + "constant": false, + "id": 285, + "mutability": "mutable", + "name": "validUntil", + "nameLocation": "1193:10:1", "nodeType": "VariableDeclaration", - "scope": 524, - "src": "438:50:1", - "stateVariable": true, + "scope": 286, + "src": "1186:17:1", + "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint48", + "typeString": "uint48" }, "typeName": { - "id": 202, - "name": "uint256", + "id": 284, + "name": "uint48", "nodeType": "ElementaryTypeName", - "src": "438:7:1", + "src": "1186:6:1", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint48", + "typeString": "uint48" } }, - "value": { - "hexValue": "3532", - "id": 203, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "486:2:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_52_by_1", - "typeString": "int_const 52" - }, - "value": "52" - }, - "visibility": "public" - }, - { - "body": { - "id": 231, - "nodeType": "Block", - "src": "795:209:1", - "statements": [ + "visibility": "internal" + } + ], + "name": "ValidationData", + "nameLocation": "1118:14:1", + "nodeType": "StructDefinition", + "scope": 450, + "src": "1111:95:1", + "visibility": "public" + }, + { + "body": { + "id": 345, + "nodeType": "Block", + "src": "1472:314:1", + "statements": [ + { + "assignments": [ + 296 + ], + "declarations": [ { - "id": 230, - "nodeType": "UncheckedBlock", - "src": "805:193:1", - "statements": [ - { - "assignments": [ - 214, - 216 - ], - "declarations": [ - { - "constant": false, - "id": 214, - "mutability": "mutable", - "name": "maxPriorityFeePerGas", - "nameLocation": "838:20:1", - "nodeType": "VariableDeclaration", - "scope": 230, - "src": "830:28:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 213, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "830:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, + "constant": false, + "id": 296, + "mutability": "mutable", + "name": "aggregator", + "nameLocation": "1486:10:1", + "nodeType": "VariableDeclaration", + "scope": 345, + "src": "1478:18:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 295, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1478:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 304, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "id": 301, + "name": "validationData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 289, + "src": "1515:14:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ { - "constant": false, - "id": 216, - "mutability": "mutable", - "name": "maxFeePerGas", - "nameLocation": "868:12:1", - "nodeType": "VariableDeclaration", - "scope": 230, - "src": "860:20:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 215, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "860:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } ], - "id": 221, - "initialValue": { - "arguments": [ - { - "expression": { - "id": 218, - "name": "userOp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 208, - "src": "896:6:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", - "typeString": "struct PackedUserOperation calldata" - } - }, - "id": 219, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "903:7:1", - "memberName": "gasFees", - "nodeType": "MemberAccess", - "referencedDeclaration": 558, - "src": "896:14:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 217, - "name": "unpackUints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 332, - "src": "884:11:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (bytes32) pure returns (uint256,uint256)" - } - }, - "id": 220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "884:27:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } + "id": 300, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1507:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" }, - "nodeType": "VariableDeclarationStatement", - "src": "829:82:1" + "typeName": { + "id": 299, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "1507:7:1", + "typeDescriptions": {} + } }, - { - "expression": { - "arguments": [ - { - "id": 223, - "name": "maxFeePerGas", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 216, - "src": "936:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 224, - "name": "maxPriorityFeePerGas", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 214, - "src": "950:20:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "expression": { - "id": 225, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "973:5:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "979:7:1", - "memberName": "basefee", - "nodeType": "MemberAccess", - "src": "973:13:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "950:36:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 222, - "name": "min", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 178, - "src": "932:3:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "932:55:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 212, - "id": 229, - "nodeType": "Return", - "src": "925:62:1" + "id": 302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1507:23:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" } - ] - } - ] - }, - "documentation": { - "id": 205, - "nodeType": "StructuredDocumentation", - "src": "495:194:1", - "text": " Relayer/block builder might submit the TX with higher priorityFee,\n but the user should not pay above what he signed for.\n @param userOp - The user operation data." - }, - "id": 232, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "gasPrice", - "nameLocation": "703:8:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 209, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 208, - "mutability": "mutable", - "name": "userOp", - "nameLocation": "750:6:1", - "nodeType": "VariableDeclaration", - "scope": 232, - "src": "721:35:1", - "stateVariable": false, - "storageLocation": "calldata", + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 298, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1499:7:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", - "typeString": "struct PackedUserOperation" + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" }, "typeName": { - "id": 207, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 206, - "name": "PackedUserOperation", - "nameLocations": [ - "721:19:1" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 563, - "src": "721:19:1" - }, - "referencedDeclaration": 563, - "src": "721:19:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_storage_ptr", - "typeString": "struct PackedUserOperation" - } - }, - "visibility": "internal" + "id": 297, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1499:7:1", + "typeDescriptions": {} + } + }, + "id": 303, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1499:32:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" } - ], - "src": "711:51:1" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1478:53:1" }, - "returnParameters": { - "id": 212, - "nodeType": "ParameterList", - "parameters": [ + { + "assignments": [ + 306 + ], + "declarations": [ { "constant": false, - "id": 211, + "id": 306, "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", + "name": "validUntil", + "nameLocation": "1544:10:1", "nodeType": "VariableDeclaration", - "scope": 232, - "src": "786:7:1", + "scope": 345, + "src": "1537:17:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint48", + "typeString": "uint48" }, "typeName": { - "id": 210, - "name": "uint256", + "id": 305, + "name": "uint48", "nodeType": "ElementaryTypeName", - "src": "786:7:1", + "src": "1537:6:1", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint48", + "typeString": "uint48" } }, "visibility": "internal" } ], - "src": "785:9:1" - }, - "scope": 524, - "src": "694:310:1", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "constant": true, - "id": 237, - "mutability": "constant", - "name": "PACKED_USEROP_TYPEHASH", - "nameLocation": "1036:22:1", - "nodeType": "VariableDeclaration", - "scope": 524, - "src": "1010:252:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 233, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1010:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "5061636b6564557365724f7065726174696f6e28616464726573732073656e6465722c75696e74323536206e6f6e63652c627974657320696e6974436f64652c62797465732063616c6c446174612c62797465733332206163636f756e744761734c696d6974732c75696e7432353620707265566572696669636174696f6e4761732c6279746573333220676173466565732c6279746573207061796d6173746572416e644461746129", - "id": 235, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1084:172:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e", - "typeString": "literal_string \"PackedUserOperation(address sender,uint256 nonce,bytes initCode,bytes callData,bytes32 accountGasLimits,uint256 preVerificationGas,bytes32 gasFees,bytes paymasterAndData)\"" - }, - "value": "PackedUserOperation(address sender,uint256 nonce,bytes initCode,bytes callData,bytes32 accountGasLimits,uint256 preVerificationGas,bytes32 gasFees,bytes paymasterAndData)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e", - "typeString": "literal_string \"PackedUserOperation(address sender,uint256 nonce,bytes initCode,bytes callData,bytes32 accountGasLimits,uint256 preVerificationGas,bytes32 gasFees,bytes paymasterAndData)\"" - } - ], - "id": 234, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "1065:9:1", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 236, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1065:197:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "body": { "id": 313, - "nodeType": "Block", - "src": "1641:761:1", - "statements": [ - { - "assignments": [ - 249 - ], - "declarations": [ - { - "constant": false, - "id": 249, - "mutability": "mutable", - "name": "sender", - "nameLocation": "1659:6:1", - "nodeType": "VariableDeclaration", - "scope": 313, - "src": "1651:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 248, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1651:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 252, - "initialValue": { - "expression": { - "id": 250, - "name": "userOp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 241, - "src": "1668:6:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", - "typeString": "struct PackedUserOperation calldata" - } + "initialValue": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, - "id": 251, + "id": 311, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1675:6:1", - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": 546, - "src": "1668:13:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1651:30:1" - }, - { - "assignments": [ - 254 - ], - "declarations": [ - { - "constant": false, - "id": 254, - "mutability": "mutable", - "name": "nonce", - "nameLocation": "1699:5:1", - "nodeType": "VariableDeclaration", - "scope": 313, - "src": "1691:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 253, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1691:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 257, - "initialValue": { - "expression": { - "id": 255, - "name": "userOp", + "leftExpression": { + "id": 309, + "name": "validationData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 241, - "src": "1707:6:1", + "referencedDeclaration": 289, + "src": "1564:14:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", - "typeString": "struct PackedUserOperation calldata" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1714:5:1", - "memberName": "nonce", - "nodeType": "MemberAccess", - "referencedDeclaration": 548, - "src": "1707:12:1", + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "313630", + "id": 310, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1582:3:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_160_by_1", + "typeString": "int_const 160" + }, + "value": "160" + }, + "src": "1564:21:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1691:28:1" - }, - { - "assignments": [ - 259 - ], - "declarations": [ + } + ], + "expression": { + "argumentTypes": [ { - "constant": false, - "id": 259, - "mutability": "mutable", - "name": "hashInitCode", - "nameLocation": "1737:12:1", - "nodeType": "VariableDeclaration", - "scope": 313, - "src": "1729:20:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 258, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1729:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } ], - "id": 269, - "initialValue": { - "condition": { - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 262, + "id": 308, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1557:6:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint48_$", + "typeString": "type(uint48)" + }, + "typeName": { + "id": 307, + "name": "uint48", + "nodeType": "ElementaryTypeName", + "src": "1557:6:1", + "typeDescriptions": {} + } + }, + "id": 312, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1557:29:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1537:49:1" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + }, + "id": 316, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 314, + "name": "validUntil", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 306, + "src": "1596:10:1", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 315, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1610:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1596:15:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 326, + "nodeType": "IfStatement", + "src": "1592:67:1", + "trueBody": { + "id": 325, + "nodeType": "Block", + "src": "1613:46:1", + "statements": [ + { + "expression": { + "id": 323, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftExpression": { - "id": 260, - "name": "overrideInitCodeHash", + "leftHandSide": { + "id": 317, + "name": "validUntil", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 243, - "src": "1752:20:1", + "referencedDeclaration": 306, + "src": "1623:10:1", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint48", + "typeString": "uint48" } }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "30", - "id": 261, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1776:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1752:25:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "arguments": [ - { + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "arguments": [ + { + "id": 320, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1641:6:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint48_$", + "typeString": "type(uint48)" + }, + "typeName": { + "id": 319, + "name": "uint48", + "nodeType": "ElementaryTypeName", + "src": "1641:6:1", + "typeDescriptions": {} + } + } + ], "expression": { - "id": 265, - "name": "userOp", + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint48_$", + "typeString": "type(uint48)" + } + ], + "id": 318, + "name": "type", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 241, - "src": "1818:6:1", + "referencedDeclaration": -27, + "src": "1636:4:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", - "typeString": "struct PackedUserOperation calldata" + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" } }, - "id": 266, + "id": 321, "isConstant": false, "isLValue": false, - "isPure": false, + "isPure": true, + "kind": "functionCall", "lValueRequested": false, - "memberLocation": "1825:8:1", - "memberName": "initCode", - "nodeType": "MemberAccess", - "referencedDeclaration": 550, - "src": "1818:15:1", + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1636:12:1", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" + "typeIdentifier": "t_magic_meta_type_t_uint48", + "typeString": "type(uint48)" } - ], - "id": 264, - "name": "calldataKeccak", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 160, - "src": "1803:14:1", + }, + "id": 322, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1649:3:1", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "1636:16:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_calldata_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes calldata) pure returns (bytes32)" + "typeIdentifier": "t_uint48", + "typeString": "uint48" } }, - "id": 267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1803:31:1", - "tryCall": false, + "src": "1623:29:1", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint48", + "typeString": "uint48" } }, - "id": 268, + "id": 324, + "nodeType": "ExpressionStatement", + "src": "1623:29:1" + } + ] + } + }, + { + "assignments": [ + 328 + ], + "declarations": [ + { + "constant": false, + "id": 328, + "mutability": "mutable", + "name": "validAfter", + "nameLocation": "1671:10:1", + "nodeType": "VariableDeclaration", + "scope": 345, + "src": "1664:17:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + }, + "typeName": { + "id": 327, + "name": "uint48", + "nodeType": "ElementaryTypeName", + "src": "1664:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "visibility": "internal" + } + ], + "id": 338, + "initialValue": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 336, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "nodeType": "Conditional", - "src": "1752:82:1", - "trueExpression": { - "id": 263, - "name": "overrideInitCodeHash", + "leftExpression": { + "id": 331, + "name": "validationData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 243, - "src": "1780:20:1", + "referencedDeclaration": 289, + "src": "1691:14:1", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_rational_208_by_1", + "typeString": "int_const 208" + }, + "id": 334, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3438", + "id": 332, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1710:2:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_48_by_1", + "typeString": "int_const 48" + }, + "value": "48" + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "313630", + "id": 333, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1715:3:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_160_by_1", + "typeString": "int_const 160" + }, + "value": "160" + }, + "src": "1710:8:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_208_by_1", + "typeString": "int_const 208" + } + } + ], + "id": 335, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1709:10:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_208_by_1", + "typeString": "int_const 208" } }, + "src": "1691:28:1", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } + ], + "id": 330, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1684:6:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint48_$", + "typeString": "type(uint48)" }, - "nodeType": "VariableDeclarationStatement", - "src": "1729:105:1" + "typeName": { + "id": 329, + "name": "uint48", + "nodeType": "ElementaryTypeName", + "src": "1684:6:1", + "typeDescriptions": {} + } }, - { - "assignments": [ - 271 - ], - "declarations": [ + "id": 337, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1684:36:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1664:56:1" + }, + { + "expression": { + "arguments": [ + { + "id": 340, + "name": "aggregator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 296, + "src": "1748:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 341, + "name": "validAfter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 328, + "src": "1760:10:1", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + { + "id": 342, + "name": "validUntil", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 306, + "src": "1772:10:1", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + } + ], + "expression": { + "argumentTypes": [ { - "constant": false, - "id": 271, - "mutability": "mutable", - "name": "hashCallData", - "nameLocation": "1852:12:1", - "nodeType": "VariableDeclaration", - "scope": 313, - "src": "1844:20:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 270, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1844:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + }, + { + "typeIdentifier": "t_uint48", + "typeString": "uint48" } ], - "id": 276, - "initialValue": { + "id": 339, + "name": "ValidationData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 286, + "src": "1733:14:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_ValidationData_$286_storage_ptr_$", + "typeString": "type(struct ValidationData storage pointer)" + } + }, + "id": 343, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1733:50:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_ValidationData_$286_memory_ptr", + "typeString": "struct ValidationData memory" + } + }, + "functionReturnParameters": 294, + "id": 344, + "nodeType": "Return", + "src": "1726:57:1" + } + ] + }, + "documentation": { + "id": 287, + "nodeType": "StructuredDocumentation", + "src": "1208:161:1", + "text": " Extract sigFailed, validAfter, validUntil.\n Also convert zero validUntil to type(uint48).max.\n @param validationData - The packed validation data." + }, + "id": 346, + "implemented": true, + "kind": "freeFunction", + "modifiers": [], + "name": "_parseValidationData", + "nameLocation": "1379:20:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 290, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 289, + "mutability": "mutable", + "name": "validationData", + "nameLocation": "1413:14:1", + "nodeType": "VariableDeclaration", + "scope": 346, + "src": "1405:22:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 288, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1405:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1399:30:1" + }, + "returnParameters": { + "id": 294, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 293, + "mutability": "mutable", + "name": "data", + "nameLocation": "1466:4:1", + "nodeType": "VariableDeclaration", + "scope": 346, + "src": "1444:26:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ValidationData_$286_memory_ptr", + "typeString": "struct ValidationData" + }, + "typeName": { + "id": 292, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 291, + "name": "ValidationData", + "nameLocations": [ + "1444:14:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 286, + "src": "1444:14:1" + }, + "referencedDeclaration": 286, + "src": "1444:14:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ValidationData_$286_storage_ptr", + "typeString": "struct ValidationData" + } + }, + "visibility": "internal" + } + ], + "src": "1443:28:1" + }, + "scope": 450, + "src": "1370:416:1", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 382, + "nodeType": "Block", + "src": "1982:143:1", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 380, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 368, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { "arguments": [ { "expression": { - "id": 273, - "name": "userOp", + "id": 357, + "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 241, - "src": "1882:6:1", + "referencedDeclaration": 350, + "src": "2011:4:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", - "typeString": "struct PackedUserOperation calldata" + "typeIdentifier": "t_struct$_ValidationData_$286_memory_ptr", + "typeString": "struct ValidationData memory" } }, - "id": 274, + "id": 358, "isConstant": false, - "isLValue": false, + "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "1889:8:1", - "memberName": "callData", + "memberLocation": "2016:10:1", + "memberName": "aggregator", "nodeType": "MemberAccess", - "referencedDeclaration": 552, - "src": "1882:15:1", + "referencedDeclaration": 281, + "src": "2011:15:1", "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" + "typeIdentifier": "t_address", + "typeString": "address" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" + "typeIdentifier": "t_address", + "typeString": "address" } ], - "id": 272, - "name": "calldataKeccak", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 160, - "src": "1867:14:1", + "id": 356, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2003:7:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_calldata_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes calldata) pure returns (bytes32)" + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 355, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "2003:7:1", + "typeDescriptions": {} } }, - "id": 275, + "id": 359, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", + "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1867:31:1", + "src": "2003:24:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1844:54:1" - }, - { - "assignments": [ - 278 - ], - "declarations": [ - { - "constant": false, - "id": 278, - "mutability": "mutable", - "name": "accountGasLimits", - "nameLocation": "1916:16:1", - "nodeType": "VariableDeclaration", - "scope": 313, - "src": "1908:24:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 277, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1908:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 281, - "initialValue": { - "expression": { - "id": 279, - "name": "userOp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 241, - "src": "1935:6:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", - "typeString": "struct PackedUserOperation calldata" - } - }, - "id": 280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1942:16:1", - "memberName": "accountGasLimits", - "nodeType": "MemberAccess", - "referencedDeclaration": 554, - "src": "1935:23:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint160", + "typeString": "uint160" } }, - "nodeType": "VariableDeclarationStatement", - "src": "1908:50:1" - }, - { - "assignments": [ - 283 - ], - "declarations": [ - { - "constant": false, - "id": 283, - "mutability": "mutable", - "name": "preVerificationGas", - "nameLocation": "1976:18:1", - "nodeType": "VariableDeclaration", - "scope": 313, - "src": "1968:26:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 282, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1968:7:1", + "nodeType": "BinaryOperation", + "operator": "|", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 366, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "expression": { + "id": 362, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 350, + "src": "2047:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ValidationData_$286_memory_ptr", + "typeString": "struct ValidationData memory" + } + }, + "id": 363, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2052:10:1", + "memberName": "validUntil", + "nodeType": "MemberAccess", + "referencedDeclaration": 285, + "src": "2047:15:1", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + ], + "id": 361, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2039:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 360, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2039:7:1", + "typeDescriptions": {} + } + }, + "id": 364, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2039:24:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "313630", + "id": 365, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2067:3:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_160_by_1", + "typeString": "int_const 160" + }, + "value": "160" + }, + "src": "2039:31:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } - }, - "visibility": "internal" - } - ], - "id": 286, - "initialValue": { - "expression": { - "id": 284, - "name": "userOp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 241, - "src": "1997:6:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", - "typeString": "struct PackedUserOperation calldata" } - }, - "id": 285, + ], + "id": 367, "isConstant": false, + "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "2004:18:1", - "memberName": "preVerificationGas", - "nodeType": "MemberAccess", - "referencedDeclaration": 556, - "src": "1997:25:1", + "nodeType": "TupleExpression", + "src": "2038:33:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "nodeType": "VariableDeclarationStatement", - "src": "1968:54:1" + "src": "2003:68:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } }, - { - "assignments": [ - 288 - ], - "declarations": [ + "nodeType": "BinaryOperation", + "operator": "|", + "rightExpression": { + "components": [ { - "constant": false, - "id": 288, - "mutability": "mutable", - "name": "gasFees", - "nameLocation": "2040:7:1", - "nodeType": "VariableDeclaration", - "scope": 313, - "src": "2032:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, - "typeName": { - "id": 287, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2032:7:1", + "id": 378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "expression": { + "id": 371, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 350, + "src": "2091:4:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ValidationData_$286_memory_ptr", + "typeString": "struct ValidationData memory" + } + }, + "id": 372, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2096:10:1", + "memberName": "validAfter", + "nodeType": "MemberAccess", + "referencedDeclaration": 283, + "src": "2091:15:1", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + ], + "id": 370, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2083:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 369, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2083:7:1", + "typeDescriptions": {} + } + }, + "id": 373, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2083:24:1", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "visibility": "internal" - } - ], - "id": 291, - "initialValue": { - "expression": { - "id": 289, - "name": "userOp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 241, - "src": "2050:6:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", - "typeString": "struct PackedUserOperation calldata" - } - }, - "id": 290, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2057:7:1", - "memberName": "gasFees", - "nodeType": "MemberAccess", - "referencedDeclaration": 558, - "src": "2050:14:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2032:32:1" - }, - { - "assignments": [ - 293 - ], - "declarations": [ - { - "constant": false, - "id": 293, - "mutability": "mutable", - "name": "hashPaymasterAndData", - "nameLocation": "2082:20:1", - "nodeType": "VariableDeclaration", - "scope": 313, - "src": "2074:28:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 292, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2074:7:1", + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_rational_208_by_1", + "typeString": "int_const 208" + }, + "id": 376, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "313630", + "id": 374, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2112:3:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_160_by_1", + "typeString": "int_const 160" + }, + "value": "160" + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "3438", + "id": 375, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2118:2:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_48_by_1", + "typeString": "int_const 48" + }, + "value": "48" + }, + "src": "2112:8:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_208_by_1", + "typeString": "int_const 208" + } + } + ], + "id": 377, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2111:10:1", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_rational_208_by_1", + "typeString": "int_const 208" } }, - "visibility": "internal" + "src": "2083:38:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } } ], - "id": 298, - "initialValue": { - "arguments": [ + "id": 379, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2082:40:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2003:119:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 354, + "id": 381, + "nodeType": "Return", + "src": "1988:134:1" + } + ] + }, + "documentation": { + "id": 347, + "nodeType": "StructuredDocumentation", + "src": "1788:107:1", + "text": " Helper to pack the return value for validateUserOp.\n @param data - The ValidationData to pack." + }, + "id": 383, + "implemented": true, + "kind": "freeFunction", + "modifiers": [], + "name": "_packValidationData", + "nameLocation": "1905:19:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 351, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 350, + "mutability": "mutable", + "name": "data", + "nameLocation": "1952:4:1", + "nodeType": "VariableDeclaration", + "scope": 383, + "src": "1930:26:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ValidationData_$286_memory_ptr", + "typeString": "struct ValidationData" + }, + "typeName": { + "id": 349, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 348, + "name": "ValidationData", + "nameLocations": [ + "1930:14:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 286, + "src": "1930:14:1" + }, + "referencedDeclaration": 286, + "src": "1930:14:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ValidationData_$286_storage_ptr", + "typeString": "struct ValidationData" + } + }, + "visibility": "internal" + } + ], + "src": "1924:34:1" + }, + "returnParameters": { + "id": 354, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 353, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 383, + "src": "1973:7:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 352, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1973:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1972:9:1" + }, + "scope": 450, + "src": "1896:229:1", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 420, + "nodeType": "Block", + "src": "2568:128:1", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 407, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ { - "expression": { - "id": 295, - "name": "userOp", + "condition": { + "id": 395, + "name": "sigFailed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 241, - "src": "2120:6:1", + "referencedDeclaration": 386, + "src": "2590:9:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", - "typeString": "struct PackedUserOperation calldata" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "id": 296, + "falseExpression": { + "hexValue": "30", + "id": 397, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2606:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "id": 398, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "2127:16:1", - "memberName": "paymasterAndData", - "nodeType": "MemberAccess", - "referencedDeclaration": 560, - "src": "2120:23:1", + "nodeType": "Conditional", + "src": "2590:17:1", + "trueExpression": { + "hexValue": "31", + "id": 396, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2602:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } } ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "id": 294, - "name": "calldataKeccak", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 160, - "src": "2105:14:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_calldata_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes calldata) pure returns (bytes32)" - } - }, - "id": 297, + "id": 399, "isConstant": false, + "isInlineArray": false, "isLValue": false, "isPure": false, - "kind": "functionCall", "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2105:39:1", - "tryCall": false, + "nodeType": "TupleExpression", + "src": "2589:19:1", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } }, - "nodeType": "VariableDeclarationStatement", - "src": "2074:70:1" - }, - { - "expression": { - "arguments": [ + "nodeType": "BinaryOperation", + "operator": "|", + "rightExpression": { + "components": [ { - "expression": { - "id": 301, - "name": "UserOperationLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 524, - "src": "2186:16:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UserOperationLib_$524_$", - "typeString": "type(library UserOperationLib)" - } + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, - "id": 302, + "id": 405, "isConstant": false, "isLValue": false, - "isPure": true, + "isPure": false, "lValueRequested": false, - "memberLocation": "2203:22:1", - "memberName": "PACKED_USEROP_TYPEHASH", - "nodeType": "MemberAccess", - "referencedDeclaration": 237, - "src": "2186:39:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 303, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 249, - "src": "2239:6:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 304, - "name": "nonce", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 254, - "src": "2247:5:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 305, - "name": "hashInitCode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 259, - "src": "2266:12:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 306, - "name": "hashCallData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 271, - "src": "2280:12:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 307, - "name": "accountGasLimits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 278, - "src": "2306:16:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 308, - "name": "preVerificationGas", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 283, - "src": "2324:18:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 309, - "name": "gasFees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 288, - "src": "2344:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 310, - "name": "hashPaymasterAndData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 293, - "src": "2365:20:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "leftExpression": { + "arguments": [ + { + "id": 402, + "name": "validUntil", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 388, + "src": "2628:10:1", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + ], + "id": 401, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2620:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 400, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2620:7:1", + "typeDescriptions": {} + } + }, + "id": 403, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2620:19:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "313630", + "id": 404, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2643:3:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_160_by_1", + "typeString": "int_const 160" + }, + "value": "160" }, - { + "src": "2620:26:1", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 299, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "2162:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" } - }, - "id": 300, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "2166:6:1", - "memberName": "encode", - "nodeType": "MemberAccess", - "src": "2162:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" } - }, - "id": 311, + ], + "id": 406, "isConstant": false, + "isInlineArray": false, "isLValue": false, "isPure": false, - "kind": "functionCall", "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2162:233:1", - "tryCall": false, + "nodeType": "TupleExpression", + "src": "2619:28:1", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "functionReturnParameters": 247, - "id": 312, - "nodeType": "Return", - "src": "2155:240:1" - } - ] - }, - "documentation": { - "id": 238, - "nodeType": "StructuredDocumentation", - "src": "1269:221:1", - "text": " Pack the user operation data into bytes for hashing.\n @param userOp - The user operation data.\n @param overrideInitCodeHash - If set, encode this instead of the initCode field in the userOp." - }, - "id": 314, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "encode", - "nameLocation": "1504:6:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 244, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 241, - "mutability": "mutable", - "name": "userOp", - "nameLocation": "1549:6:1", - "nodeType": "VariableDeclaration", - "scope": 314, - "src": "1520:35:1", - "stateVariable": false, - "storageLocation": "calldata", + "src": "2589:58:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", - "typeString": "struct PackedUserOperation" - }, - "typeName": { - "id": 240, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 239, - "name": "PackedUserOperation", - "nameLocations": [ - "1520:19:1" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 563, - "src": "1520:19:1" - }, - "referencedDeclaration": 563, - "src": "1520:19:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_storage_ptr", - "typeString": "struct PackedUserOperation" - } - }, - "visibility": "internal" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } }, - { - "constant": false, - "id": 243, - "mutability": "mutable", - "name": "overrideInitCodeHash", - "nameLocation": "1573:20:1", - "nodeType": "VariableDeclaration", - "scope": 314, - "src": "1565:28:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 242, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1565:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "1510:89:1" - }, - "returnParameters": { - "id": 247, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 246, - "mutability": "mutable", - "name": "ret", - "nameLocation": "1636:3:1", - "nodeType": "VariableDeclaration", - "scope": 314, - "src": "1623:16:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 245, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1623:5:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "1622:18:1" - }, - "scope": 524, - "src": "1495:907:1", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 331, - "nodeType": "Block", - "src": "2515:69:1", - "statements": [ - { - "expression": { - "components": [ - { + "nodeType": "BinaryOperation", + "operator": "|", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 416, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { "arguments": [ { - "id": 324, - "name": "packed", + "id": 410, + "name": "validAfter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 316, - "src": "2547:6:1", + "referencedDeclaration": 390, + "src": "2667:10:1", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint48", + "typeString": "uint48" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint48", + "typeString": "uint48" } ], - "id": 323, - "name": "unpackHigh128", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 347, - "src": "2533:13:1", + "id": 409, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2659:7:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_uint256_$", - "typeString": "function (bytes32) pure returns (uint256)" + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 408, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2659:7:1", + "typeDescriptions": {} } }, - "id": 325, + "id": 411, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", + "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2533:21:1", + "src": "2659:19:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - { - "arguments": [ + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "components": [ { - "id": 327, - "name": "packed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 316, - "src": "2569:6:1", + "commonType": { + "typeIdentifier": "t_rational_208_by_1", + "typeString": "int_const 208" + }, + "id": 414, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "313630", + "id": 412, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2683:3:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_160_by_1", + "typeString": "int_const 160" + }, + "value": "160" + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "3438", + "id": 413, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2689:2:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_48_by_1", + "typeString": "int_const 48" + }, + "value": "48" + }, + "src": "2683:8:1", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_rational_208_by_1", + "typeString": "int_const 208" } } ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 326, - "name": "unpackLow128", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 363, - "src": "2556:12:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_uint256_$", - "typeString": "function (bytes32) pure returns (uint256)" - } - }, - "id": 328, + "id": 415, "isConstant": false, + "isInlineArray": false, "isLValue": false, - "isPure": false, - "kind": "functionCall", + "isPure": true, "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2556:20:1", - "tryCall": false, + "nodeType": "TupleExpression", + "src": "2682:10:1", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_rational_208_by_1", + "typeString": "int_const 208" } + }, + "src": "2659:33:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - ], - "id": 329, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2532:45:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "functionReturnParameters": 322, - "id": 330, - "nodeType": "Return", - "src": "2525:52:1" - } - ] - }, - "id": 332, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "unpackUints", - "nameLocation": "2417:11:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 317, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 316, - "mutability": "mutable", - "name": "packed", - "nameLocation": "2446:6:1", - "nodeType": "VariableDeclaration", - "scope": 332, - "src": "2438:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 315, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2438:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" } - }, - "visibility": "internal" - } - ], - "src": "2428:30:1" - }, - "returnParameters": { - "id": 322, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 319, - "mutability": "mutable", - "name": "high128", - "nameLocation": "2490:7:1", - "nodeType": "VariableDeclaration", - "scope": 332, - "src": "2482:15:1", - "stateVariable": false, - "storageLocation": "default", + ], + "id": 417, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2658:35:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" - }, - "typeName": { - "id": 318, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2482:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" + } }, - { - "constant": false, - "id": 321, - "mutability": "mutable", - "name": "low128", - "nameLocation": "2507:6:1", - "nodeType": "VariableDeclaration", - "scope": 332, - "src": "2499:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 320, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2499:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" + "src": "2589:104:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - ], - "src": "2481:33:1" + }, + "functionReturnParameters": 394, + "id": 419, + "nodeType": "Return", + "src": "2574:119:1" + } + ] + }, + "documentation": { + "id": 384, + "nodeType": "StructuredDocumentation", + "src": "2127:320:1", + "text": " Helper to pack the return value for validateUserOp, when not using an aggregator.\n @param sigFailed - True for signature failure, false for success.\n @param validUntil - Last timestamp this UserOperation is valid (or zero for infinite).\n @param validAfter - First timestamp this UserOperation is valid." + }, + "id": 421, + "implemented": true, + "kind": "freeFunction", + "modifiers": [], + "name": "_packValidationData", + "nameLocation": "2457:19:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 391, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 386, + "mutability": "mutable", + "name": "sigFailed", + "nameLocation": "2487:9:1", + "nodeType": "VariableDeclaration", + "scope": 421, + "src": "2482:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 385, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2482:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" }, - "scope": 524, - "src": "2408:176:1", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 346, - "nodeType": "Block", - "src": "2718:46:1", - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 344, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { + { + "constant": false, + "id": 388, + "mutability": "mutable", + "name": "validUntil", + "nameLocation": "2509:10:1", + "nodeType": "VariableDeclaration", + "scope": 421, + "src": "2502:17:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + }, + "typeName": { + "id": 387, + "name": "uint48", + "nodeType": "ElementaryTypeName", + "src": "2502:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 390, + "mutability": "mutable", + "name": "validAfter", + "nameLocation": "2532:10:1", + "nodeType": "VariableDeclaration", + "scope": 421, + "src": "2525:17:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + }, + "typeName": { + "id": 389, + "name": "uint48", + "nodeType": "ElementaryTypeName", + "src": "2525:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "visibility": "internal" + } + ], + "src": "2476:68:1" + }, + "returnParameters": { + "id": 394, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 393, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 421, + "src": "2559:7:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 392, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2559:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2558:9:1" + }, + "scope": 450, + "src": "2448:248:1", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 430, + "nodeType": "Block", + "src": "2951:209:1", + "statements": [ + { + "AST": { + "nativeSrc": "2986:168:1", + "nodeType": "YulBlock", + "src": "2986:168:1", + "statements": [ + { + "nativeSrc": "3000:22:1", + "nodeType": "YulVariableDeclaration", + "src": "3000:22:1", + "value": { "arguments": [ { - "id": 341, - "name": "packed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 334, - "src": "2743:6:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } + "kind": "number", + "nativeSrc": "3017:4:1", + "nodeType": "YulLiteral", + "src": "3017:4:1", + "type": "", + "value": "0x40" } ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 340, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2735:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 339, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2735:7:1", - "typeDescriptions": {} - } + "functionName": { + "name": "mload", + "nativeSrc": "3011:5:1", + "nodeType": "YulIdentifier", + "src": "3011:5:1" }, - "id": 342, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2735:15:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "nativeSrc": "3011:11:1", + "nodeType": "YulFunctionCall", + "src": "3011:11:1" + }, + "variables": [ + { + "name": "mem", + "nativeSrc": "3004:3:1", + "nodeType": "YulTypedName", + "src": "3004:3:1", + "type": "" } + ] + }, + { + "nativeSrc": "3035:22:1", + "nodeType": "YulVariableDeclaration", + "src": "3035:22:1", + "value": { + "name": "data.length", + "nativeSrc": "3046:11:1", + "nodeType": "YulIdentifier", + "src": "3046:11:1" }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "313238", - "id": 343, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2754:3:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_128_by_1", - "typeString": "int_const 128" + "variables": [ + { + "name": "len", + "nativeSrc": "3039:3:1", + "nodeType": "YulTypedName", + "src": "3039:3:1", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "mem", + "nativeSrc": "3083:3:1", + "nodeType": "YulIdentifier", + "src": "3083:3:1" + }, + { + "name": "data.offset", + "nativeSrc": "3088:11:1", + "nodeType": "YulIdentifier", + "src": "3088:11:1" + }, + { + "name": "len", + "nativeSrc": "3101:3:1", + "nodeType": "YulIdentifier", + "src": "3101:3:1" + } + ], + "functionName": { + "name": "calldatacopy", + "nativeSrc": "3070:12:1", + "nodeType": "YulIdentifier", + "src": "3070:12:1" }, - "value": "128" + "nativeSrc": "3070:35:1", + "nodeType": "YulFunctionCall", + "src": "3070:35:1" }, - "src": "2735:22:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "nativeSrc": "3070:35:1", + "nodeType": "YulExpressionStatement", + "src": "3070:35:1" }, - "functionReturnParameters": 338, - "id": 345, - "nodeType": "Return", - "src": "2728:29:1" - } - ] - }, - "id": 347, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "unpackHigh128", - "nameLocation": "2656:13:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 335, - "nodeType": "ParameterList", - "parameters": [ + { + "nativeSrc": "3118:26:1", + "nodeType": "YulAssignment", + "src": "3118:26:1", + "value": { + "arguments": [ + { + "name": "mem", + "nativeSrc": "3135:3:1", + "nodeType": "YulIdentifier", + "src": "3135:3:1" + }, + { + "name": "len", + "nativeSrc": "3140:3:1", + "nodeType": "YulIdentifier", + "src": "3140:3:1" + } + ], + "functionName": { + "name": "keccak256", + "nativeSrc": "3125:9:1", + "nodeType": "YulIdentifier", + "src": "3125:9:1" + }, + "nativeSrc": "3125:19:1", + "nodeType": "YulFunctionCall", + "src": "3125:19:1" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "3118:3:1", + "nodeType": "YulIdentifier", + "src": "3118:3:1" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ { - "constant": false, - "id": 334, - "mutability": "mutable", - "name": "packed", - "nameLocation": "2678:6:1", - "nodeType": "VariableDeclaration", - "scope": 347, - "src": "2670:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 333, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2670:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" + "declaration": 424, + "isOffset": false, + "isSlot": false, + "src": "3046:11:1", + "suffix": "length", + "valueSize": 1 + }, + { + "declaration": 424, + "isOffset": true, + "isSlot": false, + "src": "3088:11:1", + "suffix": "offset", + "valueSize": 1 + }, + { + "declaration": 427, + "isOffset": false, + "isSlot": false, + "src": "3118:3:1", + "valueSize": 1 } ], - "src": "2669:16:1" - }, - "returnParameters": { - "id": 338, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 337, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 347, - "src": "2709:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { + "flags": [ + "memory-safe" + ], + "id": 429, + "nodeType": "InlineAssembly", + "src": "2961:193:1" + } + ] + }, + "documentation": { + "id": 422, + "nodeType": "StructuredDocumentation", + "src": "2698:176:1", + "text": " keccak function over calldata.\n @dev copy calldata into memory, do keccak and drop allocated memory. Strangely, this is more efficient than letting solidity do it." + }, + "id": 431, + "implemented": true, + "kind": "freeFunction", + "modifiers": [], + "name": "calldataKeccak", + "nameLocation": "2888:14:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 425, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 424, + "mutability": "mutable", + "name": "data", + "nameLocation": "2918:4:1", + "nodeType": "VariableDeclaration", + "scope": 431, + "src": "2903:19:1", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 423, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2903:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "2902:21:1" + }, + "returnParameters": { + "id": 428, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 427, + "mutability": "mutable", + "name": "ret", + "nameLocation": "2946:3:1", + "nodeType": "VariableDeclaration", + "scope": 431, + "src": "2938:11:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 426, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2938:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "2937:13:1" + }, + "scope": 450, + "src": "2879:281:1", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 448, + "nodeType": "Block", + "src": "3321:37:1", + "statements": [ + { + "expression": { + "condition": { + "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "typeName": { - "id": 336, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2709:7:1", + "id": 443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 441, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 434, + "src": "3338:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "visibility": "internal" + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 442, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 436, + "src": "3342:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3338:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "id": 445, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 436, + "src": "3350:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 446, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "3338:13:1", + "trueExpression": { + "id": 444, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 434, + "src": "3346:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - ], - "src": "2708:9:1" + }, + "functionReturnParameters": 440, + "id": 447, + "nodeType": "Return", + "src": "3331:20:1" + } + ] + }, + "documentation": { + "id": 432, + "nodeType": "StructuredDocumentation", + "src": "3163:95:1", + "text": " The minimum of two numbers.\n @param a - First number.\n @param b - Second number." + }, + "id": 449, + "implemented": true, + "kind": "freeFunction", + "modifiers": [], + "name": "min", + "nameLocation": "3272:3:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 437, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 434, + "mutability": "mutable", + "name": "a", + "nameLocation": "3284:1:1", + "nodeType": "VariableDeclaration", + "scope": 449, + "src": "3276:9:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 433, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3276:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" }, - "scope": 524, - "src": "2647:117:1", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" + { + "constant": false, + "id": 436, + "mutability": "mutable", + "name": "b", + "nameLocation": "3295:1:1", + "nodeType": "VariableDeclaration", + "scope": 449, + "src": "3287:9:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 435, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3287:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3275:22:1" + }, + "returnParameters": { + "id": 440, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 439, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 449, + "src": "3312:7:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 438, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3312:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3311:9:1" + }, + "scope": 450, + "src": "3263:95:1", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "src": "36:3323:1" + }, + "id": 1 + }, + "@account-abstraction/contracts/core/UserOperationLib.sol": { + "ast": { + "absolutePath": "@account-abstraction/contracts/core/UserOperationLib.sol", + "exportedSymbols": { + "PackedUserOperation": [ + 1223 + ], + "UserOperationLib": [ + 806 + ], + "calldataKeccak": [ + 431 + ], + "min": [ + 449 + ] + }, + "id": 807, + "license": "GPL-3.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 451, + "literals": [ + "solidity", + "^", + "0.8", + ".23" + ], + "nodeType": "PragmaDirective", + "src": "36:24:2" + }, + { + "absolutePath": "@account-abstraction/contracts/interfaces/PackedUserOperation.sol", + "file": "../interfaces/PackedUserOperation.sol", + "id": 452, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 807, + "sourceUnit": 1224, + "src": "104:47:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@account-abstraction/contracts/core/Helpers.sol", + "file": "./Helpers.sol", + "id": 455, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 807, + "sourceUnit": 450, + "src": "152:50:2", + "symbolAliases": [ + { + "foreign": { + "id": 453, + "name": "calldataKeccak", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 431, + "src": "160:14:2", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 454, + "name": "min", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "176:3:2", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "UserOperationLib", + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 456, + "nodeType": "StructuredDocumentation", + "src": "204:77:2", + "text": " Utility functions helpful when working with UserOperation structs." + }, + "fullyImplemented": true, + "id": 806, + "linearizedBaseContracts": [ + 806 + ], + "name": "UserOperationLib", + "nameLocation": "290:16:2", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "functionSelector": "b29a8ff4", + "id": 459, + "mutability": "constant", + "name": "PAYMASTER_VALIDATION_GAS_OFFSET", + "nameLocation": "338:31:2", + "nodeType": "VariableDeclaration", + "scope": 806, + "src": "314:60:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 457, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "314:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "3230", + "id": 458, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "372:2:2", + "typeDescriptions": { + "typeIdentifier": "t_rational_20_by_1", + "typeString": "int_const 20" + }, + "value": "20" + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "25093e1b", + "id": 462, + "mutability": "constant", + "name": "PAYMASTER_POSTOP_GAS_OFFSET", + "nameLocation": "404:27:2", + "nodeType": "VariableDeclaration", + "scope": 806, + "src": "380:56:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 460, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "380:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "3336", + "id": 461, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "434:2:2", + "typeDescriptions": { + "typeIdentifier": "t_rational_36_by_1", + "typeString": "int_const 36" + }, + "value": "36" + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "ede31502", + "id": 465, + "mutability": "constant", + "name": "PAYMASTER_DATA_OFFSET", + "nameLocation": "466:21:2", + "nodeType": "VariableDeclaration", + "scope": 806, + "src": "442:50:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 463, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "442:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "3532", + "id": 464, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "490:2:2", + "typeDescriptions": { + "typeIdentifier": "t_rational_52_by_1", + "typeString": "int_const 52" + }, + "value": "52" + }, + "visibility": "public" }, { "body": { - "id": 362, + "id": 486, "nodeType": "Block", - "src": "2896:48:1", + "src": "708:221:2", "statements": [ + { + "assignments": [ + 475 + ], + "declarations": [ + { + "constant": false, + "id": 475, + "mutability": "mutable", + "name": "data", + "nameLocation": "726:4:2", + "nodeType": "VariableDeclaration", + "scope": 486, + "src": "718:12:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 474, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "718:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 476, + "nodeType": "VariableDeclarationStatement", + "src": "718:12:2" + }, + { + "AST": { + "nativeSrc": "832:52:2", + "nodeType": "YulBlock", + "src": "832:52:2", + "statements": [ + { + "nativeSrc": "846:28:2", + "nodeType": "YulAssignment", + "src": "846:28:2", + "value": { + "arguments": [ + { + "name": "userOp", + "nativeSrc": "867:6:2", + "nodeType": "YulIdentifier", + "src": "867:6:2" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "854:12:2", + "nodeType": "YulIdentifier", + "src": "854:12:2" + }, + "nativeSrc": "854:20:2", + "nodeType": "YulFunctionCall", + "src": "854:20:2" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "846:4:2", + "nodeType": "YulIdentifier", + "src": "846:4:2" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 475, + "isOffset": false, + "isSlot": false, + "src": "846:4:2", + "valueSize": 1 + }, + { + "declaration": 469, + "isOffset": false, + "isSlot": false, + "src": "867:6:2", + "valueSize": 1 + } + ], + "id": 477, + "nodeType": "InlineAssembly", + "src": "823:61:2" + }, { "expression": { "arguments": [ { "arguments": [ { - "id": 358, - "name": "packed", + "id": 482, + "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 349, - "src": "2929:6:1", + "referencedDeclaration": 475, + "src": "916:4:2", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_address", + "typeString": "address" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_address", + "typeString": "address" } ], - "id": 357, + "id": 481, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2921:7:1", + "src": "908:7:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" }, "typeName": { - "id": 356, - "name": "uint256", + "id": 480, + "name": "uint160", "nodeType": "ElementaryTypeName", - "src": "2921:7:1", + "src": "908:7:2", "typeDescriptions": {} } }, - "id": 359, + "id": 483, "isConstant": false, "isLValue": false, "isPure": false, @@ -5217,41 +6400,41 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2921:15:1", + "src": "908:13:2", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint160", + "typeString": "uint160" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint160", + "typeString": "uint160" } ], - "id": 355, + "id": 479, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2913:7:1", + "src": "900:7:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint128_$", - "typeString": "type(uint128)" + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" }, "typeName": { - "id": 354, - "name": "uint128", + "id": 478, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "2913:7:1", + "src": "900:7:2", "typeDescriptions": {} } }, - "id": 360, + "id": 484, "isConstant": false, "isLValue": false, "isPure": false, @@ -5260,244 +6443,521 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2913:24:1", + "src": "900:22:2", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "functionReturnParameters": 353, - "id": 361, + "functionReturnParameters": 473, + "id": 485, "nodeType": "Return", - "src": "2906:31:1" + "src": "893:29:2" } ] }, - "id": 363, + "documentation": { + "id": 466, + "nodeType": "StructuredDocumentation", + "src": "498:103:2", + "text": " Get sender from user operation data.\n @param userOp - The user operation data." + }, + "id": 487, "implemented": true, "kind": "function", "modifiers": [], - "name": "unpackLow128", - "nameLocation": "2835:12:1", + "name": "getSender", + "nameLocation": "615:9:2", "nodeType": "FunctionDefinition", "parameters": { - "id": 350, + "id": 470, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 349, + "id": 469, "mutability": "mutable", - "name": "packed", - "nameLocation": "2856:6:1", + "name": "userOp", + "nameLocation": "663:6:2", "nodeType": "VariableDeclaration", - "scope": 363, - "src": "2848:14:1", + "scope": 487, + "src": "634:35:2", "stateVariable": false, - "storageLocation": "default", + "storageLocation": "calldata", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_calldata_ptr", + "typeString": "struct PackedUserOperation" }, "typeName": { - "id": 348, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2848:7:1", + "id": 468, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 467, + "name": "PackedUserOperation", + "nameLocations": [ + "634:19:2" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1223, + "src": "634:19:2" + }, + "referencedDeclaration": 1223, + "src": "634:19:2", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_storage_ptr", + "typeString": "struct PackedUserOperation" } }, "visibility": "internal" } ], - "src": "2847:16:1" + "src": "624:51:2" }, "returnParameters": { - "id": 353, + "id": 473, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 352, + "id": 472, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 363, - "src": "2887:7:1", + "scope": 487, + "src": "699:7:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 351, - "name": "uint256", + "id": 471, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "2887:7:1", + "src": "699:7:2", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "internal" } ], - "src": "2886:9:1" + "src": "698:9:2" }, - "scope": 524, - "src": "2826:118:1", + "scope": 806, + "src": "606:323:2", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 376, + "id": 521, "nodeType": "Block", - "src": "3059:53:1", + "src": "1235:395:2", "statements": [ { - "expression": { - "arguments": [ - { + "id": 520, + "nodeType": "UncheckedBlock", + "src": "1245:379:2", + "statements": [ + { + "assignments": [ + 497, + 499 + ], + "declarations": [ + { + "constant": false, + "id": 497, + "mutability": "mutable", + "name": "maxPriorityFeePerGas", + "nameLocation": "1278:20:2", + "nodeType": "VariableDeclaration", + "scope": 520, + "src": "1270:28:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 496, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1270:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 499, + "mutability": "mutable", + "name": "maxFeePerGas", + "nameLocation": "1308:12:2", + "nodeType": "VariableDeclaration", + "scope": 520, + "src": "1300:20:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 498, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1300:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 504, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 501, + "name": "userOp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 491, + "src": "1336:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_calldata_ptr", + "typeString": "struct PackedUserOperation calldata" + } + }, + "id": 502, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1343:7:2", + "memberName": "gasFees", + "nodeType": "MemberAccess", + "referencedDeclaration": 1218, + "src": "1336:14:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], "expression": { - "id": 372, - "name": "userOp", + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 500, + "name": "unpackUints", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "3090:6:1", + "referencedDeclaration": 617, + "src": "1324:11:2", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", - "typeString": "struct PackedUserOperation calldata" + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes32) pure returns (uint256,uint256)" } }, - "id": 373, + "id": 503, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "memberLocation": "3097:7:1", - "memberName": "gasFees", - "nodeType": "MemberAccess", - "referencedDeclaration": 558, - "src": "3090:14:1", + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1324:27:2", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1269:82:2" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 507, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 505, + "name": "maxFeePerGas", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 499, + "src": "1369:12:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 506, + "name": "maxPriorityFeePerGas", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 497, + "src": "1385:20:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1369:36:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" } - ], - "id": 371, - "name": "unpackHigh128", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 347, - "src": "3076:13:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_uint256_$", - "typeString": "function (bytes32) pure returns (uint256)" + }, + "id": 511, + "nodeType": "IfStatement", + "src": "1365:173:2", + "trueBody": { + "id": 510, + "nodeType": "Block", + "src": "1407:131:2", + "statements": [ + { + "expression": { + "id": 508, + "name": "maxFeePerGas", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 499, + "src": "1511:12:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 495, + "id": 509, + "nodeType": "Return", + "src": "1504:19:2" + } + ] } }, - "id": 374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3076:29:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + { + "expression": { + "arguments": [ + { + "id": 513, + "name": "maxFeePerGas", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 499, + "src": "1562:12:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 517, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 514, + "name": "maxPriorityFeePerGas", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 497, + "src": "1576:20:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 515, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "1599:5:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 516, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1605:7:2", + "memberName": "basefee", + "nodeType": "MemberAccess", + "src": "1599:13:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1576:36:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 512, + "name": "min", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "1558:3:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 518, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1558:55:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 495, + "id": 519, + "nodeType": "Return", + "src": "1551:62:2" } - }, - "functionReturnParameters": 370, - "id": 375, - "nodeType": "Return", - "src": "3069:36:1" + ] } ] }, - "id": 377, + "documentation": { + "id": 488, + "nodeType": "StructuredDocumentation", + "src": "935:194:2", + "text": " Relayer/block builder might submit the TX with higher priorityFee,\n but the user should not pay above what he signed for.\n @param userOp - The user operation data." + }, + "id": 522, "implemented": true, "kind": "function", "modifiers": [], - "name": "unpackMaxPriorityFeePerGas", - "nameLocation": "2959:26:1", + "name": "gasPrice", + "nameLocation": "1143:8:2", "nodeType": "FunctionDefinition", "parameters": { - "id": 367, + "id": 492, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 366, + "id": 491, "mutability": "mutable", "name": "userOp", - "nameLocation": "3015:6:1", + "nameLocation": "1190:6:2", "nodeType": "VariableDeclaration", - "scope": 377, - "src": "2986:35:1", + "scope": 522, + "src": "1161:35:2", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_calldata_ptr", "typeString": "struct PackedUserOperation" }, "typeName": { - "id": 365, + "id": 490, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 364, + "id": 489, "name": "PackedUserOperation", "nameLocations": [ - "2986:19:1" + "1161:19:2" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 563, - "src": "2986:19:1" + "referencedDeclaration": 1223, + "src": "1161:19:2" }, - "referencedDeclaration": 563, - "src": "2986:19:1", + "referencedDeclaration": 1223, + "src": "1161:19:2", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_storage_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_storage_ptr", "typeString": "struct PackedUserOperation" } }, "visibility": "internal" } ], - "src": "2985:37:1" + "src": "1151:51:2" }, "returnParameters": { - "id": 370, + "id": 495, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 369, + "id": 494, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 377, - "src": "3050:7:1", + "scope": 522, + "src": "1226:7:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5505,10 +6965,10 @@ "typeString": "uint256" }, "typeName": { - "id": 368, + "id": 493, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3050:7:1", + "src": "1226:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5517,71 +6977,256 @@ "visibility": "internal" } ], - "src": "3049:9:1" + "src": "1225:9:2" }, - "scope": 524, - "src": "2950:162:1", - "stateMutability": "pure", + "scope": 806, + "src": "1134:496:2", + "stateMutability": "view", "virtual": false, "visibility": "internal" }, { "body": { - "id": 390, + "id": 590, "nodeType": "Block", - "src": "3219:52:1", + "src": "1868:661:2", "statements": [ { - "expression": { + "assignments": [ + 532 + ], + "declarations": [ + { + "constant": false, + "id": 532, + "mutability": "mutable", + "name": "sender", + "nameLocation": "1886:6:2", + "nodeType": "VariableDeclaration", + "scope": 590, + "src": "1878:14:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 531, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1878:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 536, + "initialValue": { + "arguments": [ + { + "id": 534, + "name": "userOp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 526, + "src": "1905:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_calldata_ptr", + "typeString": "struct PackedUserOperation calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_calldata_ptr", + "typeString": "struct PackedUserOperation calldata" + } + ], + "id": 533, + "name": "getSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 487, + "src": "1895:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_PackedUserOperation_$1223_calldata_ptr_$returns$_t_address_$", + "typeString": "function (struct PackedUserOperation calldata) pure returns (address)" + } + }, + "id": 535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1895:17:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1878:34:2" + }, + { + "assignments": [ + 538 + ], + "declarations": [ + { + "constant": false, + "id": 538, + "mutability": "mutable", + "name": "nonce", + "nameLocation": "1930:5:2", + "nodeType": "VariableDeclaration", + "scope": 590, + "src": "1922:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 537, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1922:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 541, + "initialValue": { + "expression": { + "id": 539, + "name": "userOp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 526, + "src": "1938:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_calldata_ptr", + "typeString": "struct PackedUserOperation calldata" + } + }, + "id": 540, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1945:5:2", + "memberName": "nonce", + "nodeType": "MemberAccess", + "referencedDeclaration": 1208, + "src": "1938:12:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1922:28:2" + }, + { + "assignments": [ + 543 + ], + "declarations": [ + { + "constant": false, + "id": 543, + "mutability": "mutable", + "name": "hashInitCode", + "nameLocation": "1968:12:2", + "nodeType": "VariableDeclaration", + "scope": 590, + "src": "1960:20:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 542, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1960:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 548, + "initialValue": { "arguments": [ { "expression": { - "id": 386, + "id": 545, "name": "userOp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 380, - "src": "3249:6:1", + "referencedDeclaration": 526, + "src": "1998:6:2", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_calldata_ptr", "typeString": "struct PackedUserOperation calldata" } }, - "id": 387, + "id": 546, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "3256:7:1", - "memberName": "gasFees", + "memberLocation": "2005:8:2", + "memberName": "initCode", "nodeType": "MemberAccess", - "referencedDeclaration": 558, - "src": "3249:14:1", + "referencedDeclaration": 1210, + "src": "1998:15:2", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" } ], - "id": 385, - "name": "unpackLow128", + "id": 544, + "name": "calldataKeccak", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 363, - "src": "3236:12:1", + "referencedDeclaration": 431, + "src": "1983:14:2", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_uint256_$", - "typeString": "function (bytes32) pure returns (uint256)" + "typeIdentifier": "t_function_internal_pure$_t_bytes_calldata_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes calldata) pure returns (bytes32)" } }, - "id": 388, + "id": 547, "isConstant": false, "isLValue": false, "isPure": false, @@ -5590,168 +7235,100 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3236:28:1", + "src": "1983:31:2", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 384, - "id": 389, - "nodeType": "Return", - "src": "3229:35:1" - } - ] - }, - "id": 391, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "unpackMaxFeePerGas", - "nameLocation": "3127:18:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 381, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 380, - "mutability": "mutable", - "name": "userOp", - "nameLocation": "3175:6:1", - "nodeType": "VariableDeclaration", - "scope": 391, - "src": "3146:35:1", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", - "typeString": "struct PackedUserOperation" - }, - "typeName": { - "id": 379, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 378, - "name": "PackedUserOperation", - "nameLocations": [ - "3146:19:1" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 563, - "src": "3146:19:1" - }, - "referencedDeclaration": 563, - "src": "3146:19:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_storage_ptr", - "typeString": "struct PackedUserOperation" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "visibility": "internal" - } - ], - "src": "3145:37:1" - }, - "returnParameters": { - "id": 384, - "nodeType": "ParameterList", - "parameters": [ + "nodeType": "VariableDeclarationStatement", + "src": "1960:54:2" + }, { - "constant": false, - "id": 383, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 391, - "src": "3210:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 382, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3210:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "assignments": [ + 550 + ], + "declarations": [ + { + "constant": false, + "id": 550, + "mutability": "mutable", + "name": "hashCallData", + "nameLocation": "2032:12:2", + "nodeType": "VariableDeclaration", + "scope": 590, + "src": "2024:20:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 549, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2024:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" } - }, - "visibility": "internal" - } - ], - "src": "3209:9:1" - }, - "scope": 524, - "src": "3118:153:1", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 404, - "nodeType": "Block", - "src": "3386:62:1", - "statements": [ - { - "expression": { + ], + "id": 555, + "initialValue": { "arguments": [ { "expression": { - "id": 400, + "id": 552, "name": "userOp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 394, - "src": "3417:6:1", + "referencedDeclaration": 526, + "src": "2062:6:2", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_calldata_ptr", "typeString": "struct PackedUserOperation calldata" } }, - "id": 401, + "id": 553, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "3424:16:1", - "memberName": "accountGasLimits", + "memberLocation": "2069:8:2", + "memberName": "callData", "nodeType": "MemberAccess", - "referencedDeclaration": 554, - "src": "3417:23:1", + "referencedDeclaration": 1212, + "src": "2062:15:2", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" } ], - "id": 399, - "name": "unpackHigh128", + "id": 551, + "name": "calldataKeccak", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 347, - "src": "3403:13:1", + "referencedDeclaration": 431, + "src": "2047:14:2", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_uint256_$", - "typeString": "function (bytes32) pure returns (uint256)" + "typeIdentifier": "t_function_internal_pure$_t_bytes_calldata_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes calldata) pure returns (bytes32)" } }, - "id": 402, + "id": 554, "isConstant": false, "isLValue": false, "isPure": false, @@ -5760,143 +7337,407 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3403:38:1", + "src": "2047:31:2", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "functionReturnParameters": 398, - "id": 403, - "nodeType": "Return", - "src": "3396:45:1" - } - ] - }, - "id": 405, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "unpackVerificationGasLimit", - "nameLocation": "3286:26:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 395, - "nodeType": "ParameterList", - "parameters": [ + "nodeType": "VariableDeclarationStatement", + "src": "2024:54:2" + }, { - "constant": false, - "id": 394, - "mutability": "mutable", - "name": "userOp", - "nameLocation": "3342:6:1", - "nodeType": "VariableDeclaration", - "scope": 405, - "src": "3313:35:1", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", - "typeString": "struct PackedUserOperation" - }, - "typeName": { - "id": 393, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 392, - "name": "PackedUserOperation", - "nameLocations": [ - "3313:19:1" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 563, - "src": "3313:19:1" + "assignments": [ + 557 + ], + "declarations": [ + { + "constant": false, + "id": 557, + "mutability": "mutable", + "name": "accountGasLimits", + "nameLocation": "2096:16:2", + "nodeType": "VariableDeclaration", + "scope": 590, + "src": "2088:24:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 556, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2088:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 560, + "initialValue": { + "expression": { + "id": 558, + "name": "userOp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 526, + "src": "2115:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_calldata_ptr", + "typeString": "struct PackedUserOperation calldata" + } }, - "referencedDeclaration": 563, - "src": "3313:19:1", + "id": 559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2122:16:2", + "memberName": "accountGasLimits", + "nodeType": "MemberAccess", + "referencedDeclaration": 1214, + "src": "2115:23:2", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_storage_ptr", - "typeString": "struct PackedUserOperation" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "visibility": "internal" - } - ], - "src": "3312:37:1" - }, - "returnParameters": { - "id": 398, - "nodeType": "ParameterList", - "parameters": [ + "nodeType": "VariableDeclarationStatement", + "src": "2088:50:2" + }, { - "constant": false, - "id": 397, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 405, - "src": "3377:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 396, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3377:7:1", + "assignments": [ + 562 + ], + "declarations": [ + { + "constant": false, + "id": 562, + "mutability": "mutable", + "name": "preVerificationGas", + "nameLocation": "2156:18:2", + "nodeType": "VariableDeclaration", + "scope": 590, + "src": "2148:26:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 561, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2148:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 565, + "initialValue": { + "expression": { + "id": 563, + "name": "userOp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 526, + "src": "2177:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_calldata_ptr", + "typeString": "struct PackedUserOperation calldata" + } + }, + "id": 564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2184:18:2", + "memberName": "preVerificationGas", + "nodeType": "MemberAccess", + "referencedDeclaration": 1216, + "src": "2177:25:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "visibility": "internal" - } - ], - "src": "3376:9:1" - }, - "scope": 524, - "src": "3277:171:1", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 418, - "nodeType": "Block", - "src": "3555:61:1", - "statements": [ + "nodeType": "VariableDeclarationStatement", + "src": "2148:54:2" + }, { - "expression": { + "assignments": [ + 567 + ], + "declarations": [ + { + "constant": false, + "id": 567, + "mutability": "mutable", + "name": "gasFees", + "nameLocation": "2220:7:2", + "nodeType": "VariableDeclaration", + "scope": 590, + "src": "2212:15:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 566, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2212:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 570, + "initialValue": { + "expression": { + "id": 568, + "name": "userOp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 526, + "src": "2230:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_calldata_ptr", + "typeString": "struct PackedUserOperation calldata" + } + }, + "id": 569, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2237:7:2", + "memberName": "gasFees", + "nodeType": "MemberAccess", + "referencedDeclaration": 1218, + "src": "2230:14:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2212:32:2" + }, + { + "assignments": [ + 572 + ], + "declarations": [ + { + "constant": false, + "id": 572, + "mutability": "mutable", + "name": "hashPaymasterAndData", + "nameLocation": "2262:20:2", + "nodeType": "VariableDeclaration", + "scope": 590, + "src": "2254:28:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 571, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2254:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 577, + "initialValue": { "arguments": [ { "expression": { - "id": 414, + "id": 574, "name": "userOp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 408, - "src": "3585:6:1", + "referencedDeclaration": 526, + "src": "2300:6:2", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_calldata_ptr", "typeString": "struct PackedUserOperation calldata" } }, - "id": 415, + "id": 575, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "3592:16:1", - "memberName": "accountGasLimits", + "memberLocation": "2307:16:2", + "memberName": "paymasterAndData", "nodeType": "MemberAccess", - "referencedDeclaration": 554, - "src": "3585:23:1", + "referencedDeclaration": 1220, + "src": "2300:23:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 573, + "name": "calldataKeccak", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 431, + "src": "2285:14:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_calldata_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes calldata) pure returns (bytes32)" + } + }, + "id": 576, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2285:39:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2254:70:2" + }, + { + "expression": { + "arguments": [ + { + "id": 580, + "name": "sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 532, + "src": "2366:6:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 581, + "name": "nonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 538, + "src": "2374:5:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 582, + "name": "hashInitCode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 543, + "src": "2393:12:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 583, + "name": "hashCallData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 550, + "src": "2407:12:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 584, + "name": "accountGasLimits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 557, + "src": "2433:16:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 585, + "name": "preVerificationGas", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 562, + "src": "2451:18:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 586, + "name": "gasFees", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 567, + "src": "2471:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 587, + "name": "hashPaymasterAndData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 572, + "src": "2492:20:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5905,23 +7746,66 @@ ], "expression": { "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], - "id": 413, - "name": "unpackLow128", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 363, - "src": "3572:12:1", + "expression": { + "id": 578, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2342:3:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 579, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2346:6:2", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "2342:10:2", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_uint256_$", - "typeString": "function (bytes32) pure returns (uint256)" + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" } }, - "id": 416, + "id": 588, "isConstant": false, "isLValue": false, "isPure": false, @@ -5930,215 +7814,213 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3572:37:1", + "src": "2342:180:2", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" } }, - "functionReturnParameters": 412, - "id": 417, + "functionReturnParameters": 530, + "id": 589, "nodeType": "Return", - "src": "3565:44:1" + "src": "2335:187:2" } ] }, - "id": 419, + "documentation": { + "id": 523, + "nodeType": "StructuredDocumentation", + "src": "1636:119:2", + "text": " Pack the user operation data into bytes for hashing.\n @param userOp - The user operation data." + }, + "id": 591, "implemented": true, "kind": "function", "modifiers": [], - "name": "unpackCallGasLimit", - "nameLocation": "3463:18:1", + "name": "encode", + "nameLocation": "1769:6:2", "nodeType": "FunctionDefinition", "parameters": { - "id": 409, + "id": 527, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 408, + "id": 526, "mutability": "mutable", "name": "userOp", - "nameLocation": "3511:6:1", + "nameLocation": "1814:6:2", "nodeType": "VariableDeclaration", - "scope": 419, - "src": "3482:35:1", + "scope": 591, + "src": "1785:35:2", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_calldata_ptr", "typeString": "struct PackedUserOperation" }, "typeName": { - "id": 407, + "id": 525, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 406, + "id": 524, "name": "PackedUserOperation", "nameLocations": [ - "3482:19:1" + "1785:19:2" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 563, - "src": "3482:19:1" + "referencedDeclaration": 1223, + "src": "1785:19:2" }, - "referencedDeclaration": 563, - "src": "3482:19:1", + "referencedDeclaration": 1223, + "src": "1785:19:2", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_storage_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_storage_ptr", "typeString": "struct PackedUserOperation" } }, "visibility": "internal" } ], - "src": "3481:37:1" + "src": "1775:51:2" }, "returnParameters": { - "id": 412, + "id": 530, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 411, + "id": 529, "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", + "name": "ret", + "nameLocation": "1863:3:2", "nodeType": "VariableDeclaration", - "scope": 419, - "src": "3546:7:1", + "scope": 591, + "src": "1850:16:2", "stateVariable": false, - "storageLocation": "default", + "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" }, "typeName": { - "id": 410, - "name": "uint256", + "id": 528, + "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "3546:7:1", + "src": "1850:5:2", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" } }, "visibility": "internal" } ], - "src": "3545:9:1" + "src": "1849:18:2" }, - "scope": 524, - "src": "3454:162:1", + "scope": 806, + "src": "1760:769:2", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 439, + "id": 616, "nodeType": "Block", - "src": "3740:128:1", + "src": "2642:76:2", "statements": [ { "expression": { - "arguments": [ + "components": [ { "arguments": [ { - "baseExpression": { - "expression": { - "id": 431, - "name": "userOp", + "arguments": [ + { + "id": 604, + "name": "packed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 422, - "src": "3773:6:1", + "referencedDeclaration": 593, + "src": "2676:6:2", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", - "typeString": "struct PackedUserOperation calldata" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } - }, - "id": 432, + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 603, "isConstant": false, "isLValue": false, - "isPure": false, + "isPure": true, "lValueRequested": false, - "memberLocation": "3780:16:1", - "memberName": "paymasterAndData", - "nodeType": "MemberAccess", - "referencedDeclaration": 560, - "src": "3773:23:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "endExpression": { - "id": 434, - "name": "PAYMASTER_POSTOP_GAS_OFFSET", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 201, - "src": "3831:27:1", + "nodeType": "ElementaryTypeNameExpression", + "src": "2668:7:2", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_type$_t_bytes16_$", + "typeString": "type(bytes16)" + }, + "typeName": { + "id": 602, + "name": "bytes16", + "nodeType": "ElementaryTypeName", + "src": "2668:7:2", + "typeDescriptions": {} } }, - "id": 435, + "id": 605, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "typeConversion", "lValueRequested": false, - "nodeType": "IndexRangeAccess", - "src": "3773:86:1", - "startExpression": { - "id": 433, - "name": "PAYMASTER_VALIDATION_GAS_OFFSET", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 198, - "src": "3797:31:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2668:15:2", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr_slice", - "typeString": "bytes calldata slice" + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bytes_calldata_ptr_slice", - "typeString": "bytes calldata slice" + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" } ], - "id": 430, + "id": 601, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3765:7:1", + "src": "2660:7:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes16_$", - "typeString": "type(bytes16)" + "typeIdentifier": "t_type$_t_uint128_$", + "typeString": "type(uint128)" }, "typeName": { - "id": 429, - "name": "bytes16", + "id": 600, + "name": "uint128", "nodeType": "ElementaryTypeName", - "src": "3765:7:1", + "src": "2660:7:2", "typeDescriptions": {} } }, - "id": 436, + "id": 606, "isConstant": false, "isLValue": false, "isPure": false, @@ -6147,258 +8029,100 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3765:95:1", + "src": "2660:24:2", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_bytes16", - "typeString": "bytes16" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes16", - "typeString": "bytes16" + "typeIdentifier": "t_uint128", + "typeString": "uint128" } - ], - "id": 428, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3757:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint128_$", - "typeString": "type(uint128)" }, - "typeName": { - "id": 427, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "3757:7:1", - "typeDescriptions": {} - } - }, - "id": 437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3757:104:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "functionReturnParameters": 426, - "id": 438, - "nodeType": "Return", - "src": "3750:111:1" - } - ] - }, - "id": 440, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "unpackPaymasterVerificationGasLimit", - "nameLocation": "3631:35:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 423, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 422, - "mutability": "mutable", - "name": "userOp", - "nameLocation": "3696:6:1", - "nodeType": "VariableDeclaration", - "scope": 440, - "src": "3667:35:1", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", - "typeString": "struct PackedUserOperation" - }, - "typeName": { - "id": 421, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 420, - "name": "PackedUserOperation", - "nameLocations": [ - "3667:19:1" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 563, - "src": "3667:19:1" - }, - "referencedDeclaration": 563, - "src": "3667:19:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_storage_ptr", - "typeString": "struct PackedUserOperation" - } - }, - "visibility": "internal" - } - ], - "src": "3666:37:1" - }, - "returnParameters": { - "id": 426, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 425, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 440, - "src": "3731:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 424, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3731:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3730:9:1" - }, - "scope": 524, - "src": "3622:246:1", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 460, - "nodeType": "Block", - "src": "3977:118:1", - "statements": [ - { - "expression": { - "arguments": [ { "arguments": [ { - "baseExpression": { - "expression": { - "id": 452, - "name": "userOp", + "arguments": [ + { + "id": 611, + "name": "packed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 443, - "src": "4010:6:1", + "referencedDeclaration": 593, + "src": "2702:6:2", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", - "typeString": "struct PackedUserOperation calldata" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } - }, - "id": 453, + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 610, "isConstant": false, "isLValue": false, - "isPure": false, + "isPure": true, "lValueRequested": false, - "memberLocation": "4017:16:1", - "memberName": "paymasterAndData", - "nodeType": "MemberAccess", - "referencedDeclaration": 560, - "src": "4010:23:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "endExpression": { - "id": 455, - "name": "PAYMASTER_DATA_OFFSET", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 204, - "src": "4064:21:1", + "nodeType": "ElementaryTypeNameExpression", + "src": "2694:7:2", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 609, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2694:7:2", + "typeDescriptions": {} } }, - "id": 456, + "id": 612, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "typeConversion", "lValueRequested": false, - "nodeType": "IndexRangeAccess", - "src": "4010:76:1", - "startExpression": { - "id": 454, - "name": "PAYMASTER_POSTOP_GAS_OFFSET", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 201, - "src": "4034:27:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2694:15:2", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr_slice", - "typeString": "bytes calldata slice" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bytes_calldata_ptr_slice", - "typeString": "bytes calldata slice" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } ], - "id": 451, + "id": 608, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4002:7:1", + "src": "2686:7:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes16_$", - "typeString": "type(bytes16)" + "typeIdentifier": "t_type$_t_uint128_$", + "typeString": "type(uint128)" }, "typeName": { - "id": 450, - "name": "bytes16", + "id": 607, + "name": "uint128", "nodeType": "ElementaryTypeName", - "src": "4002:7:1", + "src": "2686:7:2", "typeDescriptions": {} } }, - "id": 457, + "id": 613, "isConstant": false, "isLValue": false, "isPure": false, @@ -6407,127 +8131,115 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4002:85:1", + "src": "2686:24:2", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_bytes16", - "typeString": "bytes16" + "typeIdentifier": "t_uint128", + "typeString": "uint128" } } ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes16", - "typeString": "bytes16" - } - ], - "id": 449, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3994:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint128_$", - "typeString": "type(uint128)" - }, - "typeName": { - "id": 448, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "3994:7:1", - "typeDescriptions": {} - } - }, - "id": 458, + "id": 614, "isConstant": false, + "isInlineArray": false, "isLValue": false, "isPure": false, - "kind": "typeConversion", "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3994:94:1", - "tryCall": false, + "nodeType": "TupleExpression", + "src": "2659:52:2", "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" + "typeIdentifier": "t_tuple$_t_uint128_$_t_uint128_$", + "typeString": "tuple(uint128,uint128)" } }, - "functionReturnParameters": 447, - "id": 459, + "functionReturnParameters": 599, + "id": 615, "nodeType": "Return", - "src": "3987:101:1" + "src": "2652:59:2" } ] }, - "id": 461, + "id": 617, "implemented": true, "kind": "function", "modifiers": [], - "name": "unpackPostOpGasLimit", - "nameLocation": "3883:20:1", + "name": "unpackUints", + "nameLocation": "2544:11:2", "nodeType": "FunctionDefinition", "parameters": { - "id": 444, + "id": 594, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 443, + "id": 593, "mutability": "mutable", - "name": "userOp", - "nameLocation": "3933:6:1", + "name": "packed", + "nameLocation": "2573:6:2", "nodeType": "VariableDeclaration", - "scope": 461, - "src": "3904:35:1", + "scope": 617, + "src": "2565:14:2", "stateVariable": false, - "storageLocation": "calldata", + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", - "typeString": "struct PackedUserOperation" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, "typeName": { - "id": 442, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 441, - "name": "PackedUserOperation", - "nameLocations": [ - "3904:19:1" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 563, - "src": "3904:19:1" - }, - "referencedDeclaration": 563, - "src": "3904:19:1", + "id": 592, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2565:7:2", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_storage_ptr", - "typeString": "struct PackedUserOperation" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, "visibility": "internal" } ], - "src": "3903:37:1" + "src": "2555:30:2" }, "returnParameters": { - "id": 447, + "id": 599, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 446, + "id": 596, "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", + "name": "high128", + "nameLocation": "2617:7:2", + "nodeType": "VariableDeclaration", + "scope": 617, + "src": "2609:15:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 595, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2609:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 598, + "mutability": "mutable", + "name": "low128", + "nameLocation": "2634:6:2", "nodeType": "VariableDeclaration", - "scope": 461, - "src": "3968:7:1", + "scope": 617, + "src": "2626:14:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6535,10 +8247,10 @@ "typeString": "uint256" }, "typeName": { - "id": 445, + "id": 597, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3968:7:1", + "src": "2626:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6547,413 +8259,251 @@ "visibility": "internal" } ], - "src": "3967:9:1" + "src": "2608:33:2" }, - "scope": 524, - "src": "3874:221:1", + "scope": 806, + "src": "2535:183:2", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 503, + "id": 631, "nodeType": "Block", - "src": "4279:329:1", + "src": "2851:46:2", "statements": [ { "expression": { - "components": [ - { - "arguments": [ - { - "arguments": [ - { - "baseExpression": { - "id": 476, - "name": "paymasterAndData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 463, - "src": "4326:16:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "endExpression": { - "id": 477, - "name": "PAYMASTER_VALIDATION_GAS_OFFSET", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 198, - "src": "4345:31:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexRangeAccess", - "src": "4326:51:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr_slice", - "typeString": "bytes calldata slice" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr_slice", - "typeString": "bytes calldata slice" - } - ], - "id": 475, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4318:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes20_$", - "typeString": "type(bytes20)" - }, - "typeName": { - "id": 474, - "name": "bytes20", - "nodeType": "ElementaryTypeName", - "src": "4318:7:1", - "typeDescriptions": {} - } - }, - "id": 479, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4318:60:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes20", - "typeString": "bytes20" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes20", - "typeString": "bytes20" - } - ], - "id": 473, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4310:7:1", + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 629, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 626, + "name": "packed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 619, + "src": "2876:6:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 472, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4310:7:1", - "typeDescriptions": {} + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } - }, - "id": 480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4310:69:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" } - }, - { - "arguments": [ + ], + "expression": { + "argumentTypes": [ { - "arguments": [ - { - "baseExpression": { - "id": 485, - "name": "paymasterAndData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 463, - "src": "4409:16:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "endExpression": { - "id": 487, - "name": "PAYMASTER_POSTOP_GAS_OFFSET", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 201, - "src": "4460:27:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 488, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexRangeAccess", - "src": "4409:79:1", - "startExpression": { - "id": 486, - "name": "PAYMASTER_VALIDATION_GAS_OFFSET", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 198, - "src": "4426:31:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr_slice", - "typeString": "bytes calldata slice" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr_slice", - "typeString": "bytes calldata slice" - } - ], - "id": 484, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4401:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes16_$", - "typeString": "type(bytes16)" - }, - "typeName": { - "id": 483, - "name": "bytes16", - "nodeType": "ElementaryTypeName", - "src": "4401:7:1", - "typeDescriptions": {} - } - }, - "id": 489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4401:88:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes16", - "typeString": "bytes16" - } + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes16", - "typeString": "bytes16" - } - ], - "id": 482, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4393:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint128_$", - "typeString": "type(uint128)" - }, - "typeName": { - "id": 481, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "4393:7:1", - "typeDescriptions": {} - } - }, - "id": 490, + "id": 625, "isConstant": false, "isLValue": false, - "isPure": false, - "kind": "typeConversion", + "isPure": true, "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4393:97:1", - "tryCall": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2868:7:2", "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 624, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2868:7:2", + "typeDescriptions": {} } }, + "id": 627, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2868:15:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">>", + "rightExpression": { + "hexValue": "313238", + "id": 628, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2887:3:2", + "typeDescriptions": { + "typeIdentifier": "t_rational_128_by_1", + "typeString": "int_const 128" + }, + "value": "128" + }, + "src": "2868:22:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 623, + "id": 630, + "nodeType": "Return", + "src": "2861:29:2" + } + ] + }, + "id": 632, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "unpackHigh128", + "nameLocation": "2789:13:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 620, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 619, + "mutability": "mutable", + "name": "packed", + "nameLocation": "2811:6:2", + "nodeType": "VariableDeclaration", + "scope": 632, + "src": "2803:14:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 618, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2803:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "2802:16:2" + }, + "returnParameters": { + "id": 623, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 622, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 632, + "src": "2842:7:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 621, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2842:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2841:9:2" + }, + "scope": 806, + "src": "2780:117:2", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 647, + "nodeType": "Block", + "src": "3029:48:2", + "statements": [ + { + "expression": { + "arguments": [ { "arguments": [ { - "arguments": [ - { - "baseExpression": { - "id": 495, - "name": "paymasterAndData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 463, - "src": "4520:16:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "endExpression": { - "id": 497, - "name": "PAYMASTER_DATA_OFFSET", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 204, - "src": "4567:21:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 498, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexRangeAccess", - "src": "4520:69:1", - "startExpression": { - "id": 496, - "name": "PAYMASTER_POSTOP_GAS_OFFSET", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 201, - "src": "4537:27:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr_slice", - "typeString": "bytes calldata slice" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr_slice", - "typeString": "bytes calldata slice" - } - ], - "id": 494, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4512:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes16_$", - "typeString": "type(bytes16)" - }, - "typeName": { - "id": 493, - "name": "bytes16", - "nodeType": "ElementaryTypeName", - "src": "4512:7:1", - "typeDescriptions": {} - } - }, - "id": 499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4512:78:1", - "tryCall": false, + "id": 643, + "name": "packed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 634, + "src": "3062:6:2", "typeDescriptions": { - "typeIdentifier": "t_bytes16", - "typeString": "bytes16" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bytes16", - "typeString": "bytes16" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } ], - "id": 492, + "id": 642, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4504:7:1", + "src": "3054:7:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint128_$", - "typeString": "type(uint128)" + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" }, "typeName": { - "id": 491, - "name": "uint128", + "id": 641, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4504:7:1", + "src": "3054:7:2", "typeDescriptions": {} } }, - "id": 500, + "id": 644, "isConstant": false, "isLValue": false, "isPure": false, @@ -6962,143 +8512,117 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4504:87:1", + "src": "3054:15:2", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } ], - "id": 501, + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 640, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3046:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint128_$", + "typeString": "type(uint128)" + }, + "typeName": { + "id": 639, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "3046:7:2", + "typeDescriptions": {} + } + }, + "id": 645, "isConstant": false, - "isInlineArray": false, "isLValue": false, "isPure": false, + "kind": "typeConversion", "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4296:305:1", + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3046:24:2", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_address_$_t_uint128_$_t_uint128_$", - "typeString": "tuple(address,uint128,uint128)" + "typeIdentifier": "t_uint128", + "typeString": "uint128" } }, - "functionReturnParameters": 471, - "id": 502, + "functionReturnParameters": 638, + "id": 646, "nodeType": "Return", - "src": "4289:312:1" + "src": "3039:31:2" } ] }, - "id": 504, + "id": 648, "implemented": true, "kind": "function", "modifiers": [], - "name": "unpackPaymasterStaticFields", - "nameLocation": "4110:27:1", + "name": "unpackLow128", + "nameLocation": "2968:12:2", "nodeType": "FunctionDefinition", "parameters": { - "id": 464, + "id": 635, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 463, + "id": 634, "mutability": "mutable", - "name": "paymasterAndData", - "nameLocation": "4162:16:1", + "name": "packed", + "nameLocation": "2989:6:2", "nodeType": "VariableDeclaration", - "scope": 504, - "src": "4147:31:1", + "scope": 648, + "src": "2981:14:2", "stateVariable": false, - "storageLocation": "calldata", + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, "typeName": { - "id": 462, - "name": "bytes", + "id": 633, + "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "4147:5:1", + "src": "2981:7:2", "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, "visibility": "internal" } ], - "src": "4137:47:1" + "src": "2980:16:2" }, "returnParameters": { - "id": 471, + "id": 638, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 466, - "mutability": "mutable", - "name": "paymaster", - "nameLocation": "4216:9:1", - "nodeType": "VariableDeclaration", - "scope": 504, - "src": "4208:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 465, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4208:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 468, - "mutability": "mutable", - "name": "validationGasLimit", - "nameLocation": "4235:18:1", - "nodeType": "VariableDeclaration", - "scope": 504, - "src": "4227:26:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 467, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4227:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 470, + "id": 637, "mutability": "mutable", - "name": "postOpGasLimit", - "nameLocation": "4263:14:1", + "name": "", + "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 504, - "src": "4255:22:1", + "scope": 648, + "src": "3020:7:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7106,10 +8630,10 @@ "typeString": "uint256" }, "typeName": { - "id": 469, + "id": 636, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4255:7:1", + "src": "3020:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7118,108 +8642,71 @@ "visibility": "internal" } ], - "src": "4207:71:1" + "src": "3019:9:2" }, - "scope": 524, - "src": "4101:507:1", + "scope": 806, + "src": "2959:118:2", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 522, + "id": 661, "nodeType": "Block", - "src": "4971:71:1", + "src": "3192:53:2", "statements": [ { "expression": { "arguments": [ { - "arguments": [ - { - "id": 517, - "name": "userOp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 508, - "src": "5005:6:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", - "typeString": "struct PackedUserOperation calldata" - } - }, - { - "id": 518, - "name": "overrideInitCodeHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "5013:20:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", - "typeString": "struct PackedUserOperation calldata" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 516, - "name": "encode", + "id": 657, + "name": "userOp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 314, - "src": "4998:6:1", + "referencedDeclaration": 651, + "src": "3223:6:2", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_PackedUserOperation_$563_calldata_ptr_$_t_bytes32_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (struct PackedUserOperation calldata,bytes32) pure returns (bytes memory)" + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_calldata_ptr", + "typeString": "struct PackedUserOperation calldata" } }, - "id": 519, + "id": 658, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4998:36:1", - "tryCall": false, + "memberLocation": "3230:7:2", + "memberName": "gasFees", + "nodeType": "MemberAccess", + "referencedDeclaration": 1218, + "src": "3223:14:2", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } ], - "id": 515, - "name": "keccak256", + "id": 656, + "name": "unpackHigh128", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "4988:9:1", + "referencedDeclaration": 632, + "src": "3209:13:2", "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) pure returns (uint256)" } }, - "id": 520, + "id": 659, "isConstant": false, "isLValue": false, "isPure": false, @@ -7228,334 +8715,254 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4988:47:1", + "src": "3209:29:2", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "functionReturnParameters": 514, - "id": 521, + "functionReturnParameters": 655, + "id": 660, "nodeType": "Return", - "src": "4981:54:1" + "src": "3202:36:2" } ] }, - "documentation": { - "id": 505, - "nodeType": "StructuredDocumentation", - "src": "4614:217:1", - "text": " Hash the user operation data.\n @param userOp - The user operation data.\n @param overrideInitCodeHash - If set, the initCode hash will be replaced with this value just for UserOp hashing." - }, - "id": 523, + "id": 662, "implemented": true, "kind": "function", "modifiers": [], - "name": "hash", - "nameLocation": "4845:4:1", + "name": "unpackMaxPriorityFeePerGas", + "nameLocation": "3092:26:2", "nodeType": "FunctionDefinition", "parameters": { - "id": 511, + "id": 652, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 508, + "id": 651, "mutability": "mutable", "name": "userOp", - "nameLocation": "4888:6:1", + "nameLocation": "3148:6:2", "nodeType": "VariableDeclaration", - "scope": 523, - "src": "4859:35:1", + "scope": 662, + "src": "3119:35:2", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_calldata_ptr", "typeString": "struct PackedUserOperation" }, "typeName": { - "id": 507, + "id": 650, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 506, + "id": 649, "name": "PackedUserOperation", "nameLocations": [ - "4859:19:1" + "3119:19:2" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 563, - "src": "4859:19:1" + "referencedDeclaration": 1223, + "src": "3119:19:2" }, - "referencedDeclaration": 563, - "src": "4859:19:1", + "referencedDeclaration": 1223, + "src": "3119:19:2", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_storage_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_storage_ptr", "typeString": "struct PackedUserOperation" } }, "visibility": "internal" - }, - { - "constant": false, - "id": 510, - "mutability": "mutable", - "name": "overrideInitCodeHash", - "nameLocation": "4912:20:1", - "nodeType": "VariableDeclaration", - "scope": 523, - "src": "4904:28:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 509, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4904:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" } ], - "src": "4849:89:1" + "src": "3118:37:2" }, "returnParameters": { - "id": 514, + "id": 655, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 513, + "id": 654, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 523, - "src": "4962:7:1", + "scope": 662, + "src": "3183:7:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": 512, - "name": "bytes32", + "id": 653, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4962:7:1", + "src": "3183:7:2", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "visibility": "internal" } ], - "src": "4961:9:1" + "src": "3182:9:2" }, - "scope": 524, - "src": "4836:206:1", + "scope": 806, + "src": "3083:162:2", "stateMutability": "pure", "virtual": false, "visibility": "internal" - } - ], - "scope": 525, - "src": "278:4766:1", - "usedErrors": [], - "usedEvents": [] - } - ], - "src": "32:5013:1" - }, - "id": 1 - }, - "@account-abstraction/contracts/interfaces/IAccount.sol": { - "ast": { - "absolutePath": "@account-abstraction/contracts/interfaces/IAccount.sol", - "exportedSymbols": { - "IAccount": [ - 541 - ], - "PackedUserOperation": [ - 563 - ] - }, - "id": 542, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 526, - "literals": [ - "solidity", - "^", - "0.8", - ".28" - ], - "nodeType": "PragmaDirective", - "src": "32:24:2" - }, - { - "absolutePath": "@account-abstraction/contracts/interfaces/PackedUserOperation.sol", - "file": "./PackedUserOperation.sol", - "id": 527, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 542, - "sourceUnit": 564, - "src": "58:35:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "IAccount", - "contractDependencies": [], - "contractKind": "interface", - "fullyImplemented": false, - "id": 541, - "linearizedBaseContracts": [ - 541 - ], - "name": "IAccount", - "nameLocation": "105:8:2", - "nodeType": "ContractDefinition", - "nodes": [ + }, { - "documentation": { - "id": 528, - "nodeType": "StructuredDocumentation", - "src": "120:2304:2", - "text": " Validate user's signature and nonce\n the entryPoint will make the call to the recipient only if this validation call returns successfully.\n signature failure should be reported by returning SIG_VALIDATION_FAILED (1).\n This allows making a \"simulation call\" without a valid signature\n Other failures (e.g. nonce mismatch, or invalid signature format) should still revert to signal failure.\n @dev Must validate caller is the entryPoint.\n Must validate the signature and nonce\n @param userOp - The operation that is about to be executed.\n @param userOpHash - Hash of the user's request data. can be used as the basis for signature.\n @param missingAccountFunds - Missing funds on the account's deposit in the entrypoint.\n This is the minimum amount to transfer to the sender(entryPoint) to be\n able to make the call. The excess is left as a deposit in the entrypoint\n for future calls. Can be withdrawn anytime using \"entryPoint.withdrawTo()\".\n In case there is a paymaster in the request (or the current deposit is high\n enough), this value will be zero.\n @return validationData - Packaged ValidationData structure. use `_packValidationData` and\n `_unpackValidationData` to encode and decode.\n <20-byte> aggregatorOrSigFail - 0 for valid signature, 1 to mark signature failure,\n otherwise, an address of an \"aggregator\" contract.\n <6-byte> validUntil - Last timestamp this operation is valid at, or 0 for \"indefinitely\"\n <6-byte> validAfter - First timestamp this operation is valid\n If an account doesn't use time-range, it is enough to\n return SIG_VALIDATION_FAILED value (1) for signature failure.\n Note that the validation code cannot use block.timestamp (or block.number) directly." + "body": { + "id": 675, + "nodeType": "Block", + "src": "3352:52:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 671, + "name": "userOp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 665, + "src": "3382:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_calldata_ptr", + "typeString": "struct PackedUserOperation calldata" + } + }, + "id": 672, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3389:7:2", + "memberName": "gasFees", + "nodeType": "MemberAccess", + "referencedDeclaration": 1218, + "src": "3382:14:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 670, + "name": "unpackLow128", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 648, + "src": "3369:12:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) pure returns (uint256)" + } + }, + "id": 673, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3369:28:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 669, + "id": 674, + "nodeType": "Return", + "src": "3362:35:2" + } + ] }, - "functionSelector": "19822f7c", - "id": 540, - "implemented": false, + "id": 676, + "implemented": true, "kind": "function", "modifiers": [], - "name": "validateUserOp", - "nameLocation": "2438:14:2", + "name": "unpackMaxFeePerGas", + "nameLocation": "3260:18:2", "nodeType": "FunctionDefinition", "parameters": { - "id": 536, + "id": 666, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 531, + "id": 665, "mutability": "mutable", "name": "userOp", - "nameLocation": "2491:6:2", + "nameLocation": "3308:6:2", "nodeType": "VariableDeclaration", - "scope": 540, - "src": "2462:35:2", + "scope": 676, + "src": "3279:35:2", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_calldata_ptr", "typeString": "struct PackedUserOperation" }, "typeName": { - "id": 530, + "id": 664, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 529, + "id": 663, "name": "PackedUserOperation", "nameLocations": [ - "2462:19:2" + "3279:19:2" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 563, - "src": "2462:19:2" + "referencedDeclaration": 1223, + "src": "3279:19:2" }, - "referencedDeclaration": 563, - "src": "2462:19:2", + "referencedDeclaration": 1223, + "src": "3279:19:2", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_storage_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_storage_ptr", "typeString": "struct PackedUserOperation" } }, "visibility": "internal" - }, - { - "constant": false, - "id": 533, - "mutability": "mutable", - "name": "userOpHash", - "nameLocation": "2515:10:2", - "nodeType": "VariableDeclaration", - "scope": 540, - "src": "2507:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 532, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2507:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 535, - "mutability": "mutable", - "name": "missingAccountFunds", - "nameLocation": "2543:19:2", - "nodeType": "VariableDeclaration", - "scope": 540, - "src": "2535:27:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 534, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2535:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" } ], - "src": "2452:116:2" + "src": "3278:37:2" }, "returnParameters": { - "id": 539, + "id": 669, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 538, + "id": 668, "mutability": "mutable", - "name": "validationData", - "nameLocation": "2595:14:2", + "name": "", + "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 540, - "src": "2587:22:2", + "scope": 676, + "src": "3343:7:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7563,10 +8970,10 @@ "typeString": "uint256" }, "typeName": { - "id": 537, + "id": 667, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2587:7:2", + "src": "3343:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7575,955 +8982,241 @@ "visibility": "internal" } ], - "src": "2586:24:2" + "src": "3342:9:2" }, - "scope": 541, - "src": "2429:182:2", - "stateMutability": "nonpayable", + "scope": 806, + "src": "3251:153:2", + "stateMutability": "pure", "virtual": false, - "visibility": "external" - } - ], - "scope": 542, - "src": "95:2518:2", - "usedErrors": [], - "usedEvents": [] - } - ], - "src": "32:2582:2" - }, - "id": 2 - }, - "@account-abstraction/contracts/interfaces/PackedUserOperation.sol": { - "ast": { - "absolutePath": "@account-abstraction/contracts/interfaces/PackedUserOperation.sol", - "exportedSymbols": { - "PackedUserOperation": [ - 563 - ] - }, - "id": 564, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 543, - "literals": [ - "solidity", - "^", - "0.8", - ".28" - ], - "nodeType": "PragmaDirective", - "src": "32:24:3" - }, - { - "canonicalName": "PackedUserOperation", - "documentation": { - "id": 544, - "nodeType": "StructuredDocumentation", - "src": "58:1163:3", - "text": " User Operation struct\n @param sender - The sender account of this request.\n @param nonce - Unique value the sender uses to verify it is not a replay.\n @param initCode - If set, the account contract will be created by this constructor\n @param callData - The method call to execute on this account.\n @param accountGasLimits - Packed gas limits for validateUserOp and gas limit passed to the callData method call.\n @param preVerificationGas - Gas not calculated by the handleOps method, but added to the gas paid.\n Covers batch overhead.\n @param gasFees - packed gas fields maxPriorityFeePerGas and maxFeePerGas - Same as EIP-1559 gas parameters.\n @param paymasterAndData - If set, this field holds the paymaster address, verification gas limit, postOp gas limit and paymaster-specific extra data\n The paymaster will pay for the transaction instead of the sender.\n @param signature - Sender-verified signature over the entire request, the EntryPoint address and the chain ID." - }, - "id": 563, - "members": [ - { - "constant": false, - "id": 546, - "mutability": "mutable", - "name": "sender", - "nameLocation": "1263:6:3", - "nodeType": "VariableDeclaration", - "scope": 563, - "src": "1255:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 545, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1255:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 548, - "mutability": "mutable", - "name": "nonce", - "nameLocation": "1283:5:3", - "nodeType": "VariableDeclaration", - "scope": 563, - "src": "1275:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 547, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1275:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 550, - "mutability": "mutable", - "name": "initCode", - "nameLocation": "1300:8:3", - "nodeType": "VariableDeclaration", - "scope": 563, - "src": "1294:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 549, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1294:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 552, - "mutability": "mutable", - "name": "callData", - "nameLocation": "1320:8:3", - "nodeType": "VariableDeclaration", - "scope": 563, - "src": "1314:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 551, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1314:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 554, - "mutability": "mutable", - "name": "accountGasLimits", - "nameLocation": "1342:16:3", - "nodeType": "VariableDeclaration", - "scope": 563, - "src": "1334:24:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 553, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1334:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 556, - "mutability": "mutable", - "name": "preVerificationGas", - "nameLocation": "1372:18:3", - "nodeType": "VariableDeclaration", - "scope": 563, - "src": "1364:26:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 555, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1364:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 558, - "mutability": "mutable", - "name": "gasFees", - "nameLocation": "1404:7:3", - "nodeType": "VariableDeclaration", - "scope": 563, - "src": "1396:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 557, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1396:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 560, - "mutability": "mutable", - "name": "paymasterAndData", - "nameLocation": "1423:16:3", - "nodeType": "VariableDeclaration", - "scope": 563, - "src": "1417:22:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 559, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1417:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 562, - "mutability": "mutable", - "name": "signature", - "nameLocation": "1451:9:3", - "nodeType": "VariableDeclaration", - "scope": 563, - "src": "1445:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 561, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1445:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "name": "PackedUserOperation", - "nameLocation": "1229:19:3", - "nodeType": "StructDefinition", - "scope": 564, - "src": "1222:241:3", - "visibility": "public" - } - ], - "src": "32:1432:3" - }, - "id": 3 - }, - "FreshCryptoLib/FCL_ecdsa.sol": { - "ast": { - "absolutePath": "FreshCryptoLib/FCL_ecdsa.sol", - "exportedSymbols": { - "FCL_Elliptic_ZZ": [ - 2298 - ], - "FCL_ecdsa": [ - 957 - ] - }, - "id": 958, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 565, - "literals": [ - "solidity", - ">=", - "0.8", - ".19", - "<", - "0.9", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "1127:32:4" - }, - { - "absolutePath": "FreshCryptoLib/FCL_elliptic.sol", - "file": "./FCL_elliptic.sol", - "id": 567, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 958, - "sourceUnit": 2299, - "src": "1162:51:4", - "symbolAliases": [ - { - "foreign": { - "id": 566, - "name": "FCL_Elliptic_ZZ", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2298, - "src": "1170:15:4", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "FCL_ecdsa", - "contractDependencies": [], - "contractKind": "library", - "fullyImplemented": true, - "id": 957, - "linearizedBaseContracts": [ - 957 - ], - "name": "FCL_ecdsa", - "nameLocation": "1225:9:4", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 571, - "mutability": "constant", - "name": "n", - "nameLocation": "1345:1:4", - "nodeType": "VariableDeclaration", - "scope": 957, - "src": "1328:38:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 568, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1328:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "expression": { - "id": 569, - "name": "FCL_Elliptic_ZZ", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2298, - "src": "1349:15:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2298_$", - "typeString": "type(library FCL_Elliptic_ZZ)" - } - }, - "id": 570, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "1365:1:4", - "memberName": "n", - "nodeType": "MemberAccess", - "referencedDeclaration": 980, - "src": "1349:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, "visibility": "internal" }, { "body": { - "id": 673, + "id": 689, "nodeType": "Block", - "src": "1676:589:4", + "src": "3519:62:2", "statements": [ { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 603, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 598, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 589, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 587, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 576, - "src": "1691:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 588, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1696:1:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1691:6:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 590, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 576, - "src": "1701:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "expression": { - "id": 591, - "name": "FCL_Elliptic_ZZ", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2298, - "src": "1706:15:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2298_$", - "typeString": "type(library FCL_Elliptic_ZZ)" - } - }, - "id": 592, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "1722:1:4", - "memberName": "n", - "nodeType": "MemberAccess", - "referencedDeclaration": 980, - "src": "1706:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1701:22:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1691:32:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 595, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 578, - "src": "1727:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 596, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1732:1:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1727:6:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1691:42:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 602, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 599, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 578, - "src": "1737:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { + "expression": { + "arguments": [ + { "expression": { - "id": 600, - "name": "FCL_Elliptic_ZZ", + "id": 685, + "name": "userOp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2298, - "src": "1742:15:4", + "referencedDeclaration": 679, + "src": "3550:6:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2298_$", - "typeString": "type(library FCL_Elliptic_ZZ)" + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_calldata_ptr", + "typeString": "struct PackedUserOperation calldata" } }, - "id": 601, + "id": 686, "isConstant": false, "isLValue": false, - "isPure": true, + "isPure": false, "lValueRequested": false, - "memberLocation": "1758:1:4", - "memberName": "n", + "memberLocation": "3557:16:2", + "memberName": "accountGasLimits", "nodeType": "MemberAccess", - "referencedDeclaration": 980, - "src": "1742:17:4", + "referencedDeclaration": 1214, + "src": "3550:23:2", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } - }, - "src": "1737:22:4", + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 684, + "name": "unpackHigh128", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 632, + "src": "3536:13:2", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) pure returns (uint256)" } }, - "src": "1691:68:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 607, - "nodeType": "IfStatement", - "src": "1687:111:4", - "trueBody": { - "id": 606, - "nodeType": "Block", - "src": "1761:37:4", - "statements": [ - { - "expression": { - "hexValue": "66616c7365", - "id": 604, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1782:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 586, - "id": 605, - "nodeType": "Return", - "src": "1775:12:4" - } - ] - } - }, - { - "condition": { - "id": 613, + "id": 687, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "1820:40:4", - "subExpression": { - "arguments": [ - { - "id": 610, - "name": "Qx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 580, - "src": "1853:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 611, - "name": "Qy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 582, - "src": "1857:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3536:38:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 683, + "id": 688, + "nodeType": "Return", + "src": "3529:45:2" + } + ] + }, + "id": 690, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "unpackVerificationGasLimit", + "nameLocation": "3419:26:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 680, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 679, + "mutability": "mutable", + "name": "userOp", + "nameLocation": "3475:6:2", + "nodeType": "VariableDeclaration", + "scope": 690, + "src": "3446:35:2", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_calldata_ptr", + "typeString": "struct PackedUserOperation" + }, + "typeName": { + "id": 678, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 677, + "name": "PackedUserOperation", + "nameLocations": [ + "3446:19:2" ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1223, + "src": "3446:19:2" + }, + "referencedDeclaration": 1223, + "src": "3446:19:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_storage_ptr", + "typeString": "struct PackedUserOperation" + } + }, + "visibility": "internal" + } + ], + "src": "3445:37:2" + }, + "returnParameters": { + "id": 683, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 682, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 690, + "src": "3510:7:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 681, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3510:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3509:9:2" + }, + "scope": 806, + "src": "3410:171:2", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 703, + "nodeType": "Block", + "src": "3688:61:2", + "statements": [ + { + "expression": { + "arguments": [ + { "expression": { - "id": 608, - "name": "FCL_Elliptic_ZZ", + "id": 699, + "name": "userOp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2298, - "src": "1821:15:4", + "referencedDeclaration": 693, + "src": "3718:6:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2298_$", - "typeString": "type(library FCL_Elliptic_ZZ)" + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_calldata_ptr", + "typeString": "struct PackedUserOperation calldata" } }, - "id": 609, + "id": 700, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1837:15:4", - "memberName": "ecAff_isOnCurve", + "memberLocation": "3725:16:2", + "memberName": "accountGasLimits", "nodeType": "MemberAccess", - "referencedDeclaration": 1674, - "src": "1821:31:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256) pure returns (bool)" - } - }, - "id": 612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1821:39:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 617, - "nodeType": "IfStatement", - "src": "1816:83:4", - "trueBody": { - "id": 616, - "nodeType": "Block", - "src": "1862:37:4", - "statements": [ - { - "expression": { - "hexValue": "66616c7365", - "id": 614, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1883:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 586, - "id": 615, - "nodeType": "Return", - "src": "1876:12:4" - } - ] - } - }, - { - "assignments": [ - 619 - ], - "declarations": [ - { - "constant": false, - "id": 619, - "mutability": "mutable", - "name": "sInv", - "nameLocation": "1917:4:4", - "nodeType": "VariableDeclaration", - "scope": 673, - "src": "1909:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 618, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1909:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 624, - "initialValue": { - "arguments": [ - { - "id": 622, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 578, - "src": "1952:1:4", + "referencedDeclaration": 1214, + "src": "3718:23:2", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } ], - "expression": { - "id": 620, - "name": "FCL_Elliptic_ZZ", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2298, - "src": "1924:15:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2298_$", - "typeString": "type(library FCL_Elliptic_ZZ)" - } - }, - "id": 621, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1940:11:4", - "memberName": "FCL_nModInv", - "nodeType": "MemberAccess", - "referencedDeclaration": 1008, - "src": "1924:27:4", + "id": 698, + "name": "unpackLow128", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 648, + "src": "3705:12:2", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) pure returns (uint256)" } }, - "id": 623, + "id": 701, "isConstant": false, "isLValue": false, "isPure": false, @@ -8532,94 +9225,215 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1924:30:4", + "src": "3705:37:2", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "nodeType": "VariableDeclarationStatement", - "src": "1909:45:4" - }, + "functionReturnParameters": 697, + "id": 702, + "nodeType": "Return", + "src": "3698:44:2" + } + ] + }, + "id": 704, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "unpackCallGasLimit", + "nameLocation": "3596:18:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 694, + "nodeType": "ParameterList", + "parameters": [ { - "assignments": [ - 626 - ], - "declarations": [ - { - "constant": false, - "id": 626, - "mutability": "mutable", - "name": "scalar_u", - "nameLocation": "1973:8:4", - "nodeType": "VariableDeclaration", - "scope": 673, - "src": "1965:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 625, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1965:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" + "constant": false, + "id": 693, + "mutability": "mutable", + "name": "userOp", + "nameLocation": "3644:6:2", + "nodeType": "VariableDeclaration", + "scope": 704, + "src": "3615:35:2", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_calldata_ptr", + "typeString": "struct PackedUserOperation" + }, + "typeName": { + "id": 692, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 691, + "name": "PackedUserOperation", + "nameLocations": [ + "3615:19:2" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1223, + "src": "3615:19:2" + }, + "referencedDeclaration": 1223, + "src": "3615:19:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_storage_ptr", + "typeString": "struct PackedUserOperation" } - ], - "id": 636, - "initialValue": { + }, + "visibility": "internal" + } + ], + "src": "3614:37:2" + }, + "returnParameters": { + "id": 697, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 696, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 704, + "src": "3679:7:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 695, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3679:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3678:9:2" + }, + "scope": 806, + "src": "3587:162:2", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 724, + "nodeType": "Block", + "src": "3873:128:2", + "statements": [ + { + "expression": { "arguments": [ { "arguments": [ { - "id": 630, - "name": "message", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 574, - "src": "1999:7:4", + "baseExpression": { + "expression": { + "id": 716, + "name": "userOp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 707, + "src": "3906:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_calldata_ptr", + "typeString": "struct PackedUserOperation calldata" + } + }, + "id": 717, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3913:16:2", + "memberName": "paymasterAndData", + "nodeType": "MemberAccess", + "referencedDeclaration": 1220, + "src": "3906:23:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "endExpression": { + "id": 719, + "name": "PAYMASTER_POSTOP_GAS_OFFSET", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 462, + "src": "3964:27:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 720, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexRangeAccess", + "src": "3906:86:2", + "startExpression": { + "id": 718, + "name": "PAYMASTER_VALIDATION_GAS_OFFSET", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 459, + "src": "3930:31:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_bytes_calldata_ptr_slice", + "typeString": "bytes calldata slice" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_bytes_calldata_ptr_slice", + "typeString": "bytes calldata slice" } ], - "id": 629, + "id": 715, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1991:7:4", + "src": "3898:7:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" + "typeIdentifier": "t_type$_t_bytes16_$", + "typeString": "type(bytes16)" }, "typeName": { - "id": 628, - "name": "uint256", + "id": 714, + "name": "bytes16", "nodeType": "ElementaryTypeName", - "src": "1991:7:4", + "src": "3898:7:2", "typeDescriptions": {} } }, - "id": 631, + "id": 721, "isConstant": false, "isLValue": false, "isPure": false, @@ -8628,717 +9442,931 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1991:16:4", + "src": "3898:95:2", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 632, - "name": "sInv", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 619, - "src": "2009:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 633, - "name": "FCL_Elliptic_ZZ", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2298, - "src": "2015:15:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2298_$", - "typeString": "type(library FCL_Elliptic_ZZ)" - } - }, - "id": 634, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "2031:1:4", - "memberName": "n", - "nodeType": "MemberAccess", - "referencedDeclaration": 980, - "src": "2015:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" } ], - "id": 627, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "1984:6:4", + "id": 713, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3890:7:2", "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 635, - "isConstant": false, + "typeIdentifier": "t_type$_t_uint128_$", + "typeString": "type(uint128)" + }, + "typeName": { + "id": 712, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "3890:7:2", + "typeDescriptions": {} + } + }, + "id": 722, + "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", + "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1984:49:4", + "src": "3890:104:2", "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint128", + "typeString": "uint128" + } + }, + "functionReturnParameters": 711, + "id": 723, + "nodeType": "Return", + "src": "3883:111:2" + } + ] + }, + "id": 725, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "unpackPaymasterVerificationGasLimit", + "nameLocation": "3764:35:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 708, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 707, + "mutability": "mutable", + "name": "userOp", + "nameLocation": "3829:6:2", + "nodeType": "VariableDeclaration", + "scope": 725, + "src": "3800:35:2", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_calldata_ptr", + "typeString": "struct PackedUserOperation" + }, + "typeName": { + "id": 706, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 705, + "name": "PackedUserOperation", + "nameLocations": [ + "3800:19:2" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1223, + "src": "3800:19:2" + }, + "referencedDeclaration": 1223, + "src": "3800:19:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_storage_ptr", + "typeString": "struct PackedUserOperation" + } + }, + "visibility": "internal" + } + ], + "src": "3799:37:2" + }, + "returnParameters": { + "id": 711, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 710, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 725, + "src": "3864:7:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 709, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3864:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "nodeType": "VariableDeclarationStatement", - "src": "1965:68:4" - }, + "visibility": "internal" + } + ], + "src": "3863:9:2" + }, + "scope": 806, + "src": "3755:246:2", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 745, + "nodeType": "Block", + "src": "4110:118:2", + "statements": [ { - "assignments": [ - 638 - ], - "declarations": [ - { - "constant": false, - "id": 638, - "mutability": "mutable", - "name": "scalar_v", - "nameLocation": "2051:8:4", - "nodeType": "VariableDeclaration", - "scope": 673, - "src": "2043:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 637, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2043:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 645, - "initialValue": { + "expression": { "arguments": [ { - "id": 640, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 576, - "src": "2069:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 641, - "name": "sInv", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 619, - "src": "2072:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { + "arguments": [ + { + "baseExpression": { + "expression": { + "id": 737, + "name": "userOp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 728, + "src": "4143:6:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_calldata_ptr", + "typeString": "struct PackedUserOperation calldata" + } + }, + "id": 738, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4150:16:2", + "memberName": "paymasterAndData", + "nodeType": "MemberAccess", + "referencedDeclaration": 1220, + "src": "4143:23:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "endExpression": { + "id": 740, + "name": "PAYMASTER_DATA_OFFSET", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 465, + "src": "4197:21:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 741, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexRangeAccess", + "src": "4143:76:2", + "startExpression": { + "id": 739, + "name": "PAYMASTER_POSTOP_GAS_OFFSET", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 462, + "src": "4167:27:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr_slice", + "typeString": "bytes calldata slice" + } + } + ], "expression": { - "id": 642, - "name": "FCL_Elliptic_ZZ", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2298, - "src": "2078:15:4", + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr_slice", + "typeString": "bytes calldata slice" + } + ], + "id": 736, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4135:7:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2298_$", - "typeString": "type(library FCL_Elliptic_ZZ)" + "typeIdentifier": "t_type$_t_bytes16_$", + "typeString": "type(bytes16)" + }, + "typeName": { + "id": 735, + "name": "bytes16", + "nodeType": "ElementaryTypeName", + "src": "4135:7:2", + "typeDescriptions": {} } }, - "id": 643, + "id": 742, "isConstant": false, "isLValue": false, - "isPure": true, + "isPure": false, + "kind": "typeConversion", "lValueRequested": false, - "memberLocation": "2094:1:4", - "memberName": "n", - "nodeType": "MemberAccess", - "referencedDeclaration": 980, - "src": "2078:17:4", + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4135:85:2", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" } ], - "id": 639, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "2062:6:4", + "id": 734, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4127:7:2", "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + "typeIdentifier": "t_type$_t_uint128_$", + "typeString": "type(uint128)" + }, + "typeName": { + "id": 733, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "4127:7:2", + "typeDescriptions": {} } }, - "id": 644, + "id": 743, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", + "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2062:34:4", + "src": "4127:94:2", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint128", + "typeString": "uint128" } }, - "nodeType": "VariableDeclarationStatement", - "src": "2043:53:4" - }, + "functionReturnParameters": 732, + "id": 744, + "nodeType": "Return", + "src": "4120:101:2" + } + ] + }, + "id": 746, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "unpackPostOpGasLimit", + "nameLocation": "4016:20:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 729, + "nodeType": "ParameterList", + "parameters": [ { - "assignments": [ - 647 - ], - "declarations": [ - { - "constant": false, - "id": 647, - "mutability": "mutable", - "name": "x1", - "nameLocation": "2114:2:4", - "nodeType": "VariableDeclaration", - "scope": 673, - "src": "2106:10:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 646, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2106:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" + "constant": false, + "id": 728, + "mutability": "mutable", + "name": "userOp", + "nameLocation": "4066:6:2", + "nodeType": "VariableDeclaration", + "scope": 746, + "src": "4037:35:2", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_calldata_ptr", + "typeString": "struct PackedUserOperation" + }, + "typeName": { + "id": 727, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 726, + "name": "PackedUserOperation", + "nameLocations": [ + "4037:19:2" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1223, + "src": "4037:19:2" + }, + "referencedDeclaration": 1223, + "src": "4037:19:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_storage_ptr", + "typeString": "struct PackedUserOperation" } - ], - "id": 648, - "nodeType": "VariableDeclarationStatement", - "src": "2106:10:4" - }, + }, + "visibility": "internal" + } + ], + "src": "4036:37:2" + }, + "returnParameters": { + "id": 732, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 731, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 746, + "src": "4101:7:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 730, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4101:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4100:9:2" + }, + "scope": 806, + "src": "4007:221:2", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 788, + "nodeType": "Block", + "src": "4412:329:2", + "statements": [ { "expression": { - "id": 657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 649, - "name": "x1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 647, - "src": "2127:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 652, - "name": "Qx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 580, - "src": "2169:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 653, - "name": "Qy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 582, - "src": "2173:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "components": [ + { + "arguments": [ + { + "arguments": [ + { + "baseExpression": { + "id": 761, + "name": "paymasterAndData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 748, + "src": "4459:16:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "endExpression": { + "id": 762, + "name": "PAYMASTER_VALIDATION_GAS_OFFSET", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 459, + "src": "4478:31:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 763, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexRangeAccess", + "src": "4459:51:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr_slice", + "typeString": "bytes calldata slice" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr_slice", + "typeString": "bytes calldata slice" + } + ], + "id": 760, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4451:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes20_$", + "typeString": "type(bytes20)" + }, + "typeName": { + "id": 759, + "name": "bytes20", + "nodeType": "ElementaryTypeName", + "src": "4451:7:2", + "typeDescriptions": {} + } + }, + "id": 764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4451:60:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes20", + "typeString": "bytes20" + } } - }, - { - "id": 654, - "name": "scalar_u", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 626, - "src": "2177:8:4", + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes20", + "typeString": "bytes20" + } + ], + "id": 758, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4443:7:2", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 757, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4443:7:2", + "typeDescriptions": {} } }, - { - "id": 655, - "name": "scalar_v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 638, - "src": "2187:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "id": 765, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4443:69:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, + }, + { + "arguments": [ { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "arguments": [ + { + "baseExpression": { + "id": 770, + "name": "paymasterAndData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 748, + "src": "4542:16:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "endExpression": { + "id": 772, + "name": "PAYMASTER_POSTOP_GAS_OFFSET", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 462, + "src": "4593:27:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 773, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexRangeAccess", + "src": "4542:79:2", + "startExpression": { + "id": 771, + "name": "PAYMASTER_VALIDATION_GAS_OFFSET", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 459, + "src": "4559:31:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr_slice", + "typeString": "bytes calldata slice" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr_slice", + "typeString": "bytes calldata slice" + } + ], + "id": 769, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4534:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes16_$", + "typeString": "type(bytes16)" + }, + "typeName": { + "id": 768, + "name": "bytes16", + "nodeType": "ElementaryTypeName", + "src": "4534:7:2", + "typeDescriptions": {} + } + }, + "id": 774, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4534:88:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" + } } ], "expression": { - "id": 650, - "name": "FCL_Elliptic_ZZ", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2298, - "src": "2132:15:4", + "argumentTypes": [ + { + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" + } + ], + "id": 767, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4526:7:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2298_$", - "typeString": "type(library FCL_Elliptic_ZZ)" + "typeIdentifier": "t_type$_t_uint128_$", + "typeString": "type(uint128)" + }, + "typeName": { + "id": 766, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "4526:7:2", + "typeDescriptions": {} } }, - "id": 651, + "id": 775, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "typeConversion", "lValueRequested": false, - "memberLocation": "2148:20:4", - "memberName": "ecZZ_mulmuladd_S_asm", - "nodeType": "MemberAccess", - "referencedDeclaration": 1856, - "src": "2132:36:4", + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4526:97:2", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) view returns (uint256)" + "typeIdentifier": "t_uint128", + "typeString": "uint128" } }, - "id": 656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2132:64:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2127:69:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 658, - "nodeType": "ExpressionStatement", - "src": "2127:69:4" - }, - { - "expression": { - "id": 667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 659, - "name": "x1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 647, - "src": "2207:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 661, - "name": "x1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 647, - "src": "2218:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + { + "arguments": [ + { + "arguments": [ + { + "baseExpression": { + "id": 780, + "name": "paymasterAndData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 748, + "src": "4653:16:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "endExpression": { + "id": 782, + "name": "PAYMASTER_DATA_OFFSET", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 465, + "src": "4700:21:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 783, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexRangeAccess", + "src": "4653:69:2", + "startExpression": { + "id": 781, + "name": "PAYMASTER_POSTOP_GAS_OFFSET", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 462, + "src": "4670:27:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr_slice", + "typeString": "bytes calldata slice" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr_slice", + "typeString": "bytes calldata slice" + } + ], + "id": 779, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4645:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes16_$", + "typeString": "type(bytes16)" + }, + "typeName": { + "id": 778, + "name": "bytes16", + "nodeType": "ElementaryTypeName", + "src": "4645:7:2", + "typeDescriptions": {} + } + }, + "id": 784, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4645:78:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" + } } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 664, + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" + } + ], + "id": 777, "isConstant": false, "isLValue": false, - "isPure": false, + "isPure": true, "lValueRequested": false, - "leftExpression": { - "id": 662, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 571, - "src": "2222:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 663, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 576, - "src": "2224:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2222:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 665, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 571, - "src": "2226:1:4", + "nodeType": "ElementaryTypeNameExpression", + "src": "4637:7:2", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_type$_t_uint128_$", + "typeString": "type(uint128)" }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeName": { + "id": 776, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "4637:7:2", + "typeDescriptions": {} } - ], - "id": 660, - "name": "addmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -2, - "src": "2211:6:4", + }, + "id": 785, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4637:87:2", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_function_addmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + "typeIdentifier": "t_uint128", + "typeString": "uint128" } - }, - "id": 666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2211:18:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" } - }, - "src": "2207:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 668, - "nodeType": "ExpressionStatement", - "src": "2207:22:4" - }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 671, + ], + "id": 786, "isConstant": false, + "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftExpression": { - "id": 669, - "name": "x1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 647, - "src": "2251:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 670, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2257:1:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2251:7:4", + "nodeType": "TupleExpression", + "src": "4429:305:2", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_tuple$_t_address_$_t_uint128_$_t_uint128_$", + "typeString": "tuple(address,uint128,uint128)" } }, - "functionReturnParameters": 586, - "id": 672, + "functionReturnParameters": 756, + "id": 787, "nodeType": "Return", - "src": "2244:14:4" + "src": "4422:312:2" } ] }, - "documentation": { - "id": 572, - "nodeType": "StructuredDocumentation", - "src": "1459:98:4", - "text": " @dev ECDSA verification, given , signature, and public key, no calldata version" - }, - "id": 674, + "id": 789, "implemented": true, "kind": "function", "modifiers": [], - "name": "ecdsa_verify", - "nameLocation": "1571:12:4", + "name": "unpackPaymasterStaticFields", + "nameLocation": "4243:27:2", "nodeType": "FunctionDefinition", "parameters": { - "id": 583, + "id": 749, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 574, - "mutability": "mutable", - "name": "message", - "nameLocation": "1592:7:4", - "nodeType": "VariableDeclaration", - "scope": 674, - "src": "1584:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 573, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1584:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 576, + "id": 748, "mutability": "mutable", - "name": "r", - "nameLocation": "1609:1:4", + "name": "paymasterAndData", + "nameLocation": "4295:16:2", "nodeType": "VariableDeclaration", - "scope": 674, - "src": "1601:9:4", + "scope": 789, + "src": "4280:31:2", "stateVariable": false, - "storageLocation": "default", + "storageLocation": "calldata", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" }, "typeName": { - "id": 575, - "name": "uint256", + "id": 747, + "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1601:7:4", + "src": "4280:5:2", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" } }, "visibility": "internal" - }, + } + ], + "src": "4270:47:2" + }, + "returnParameters": { + "id": 756, + "nodeType": "ParameterList", + "parameters": [ { "constant": false, - "id": 578, + "id": 751, "mutability": "mutable", - "name": "s", - "nameLocation": "1620:1:4", + "name": "paymaster", + "nameLocation": "4349:9:2", "nodeType": "VariableDeclaration", - "scope": 674, - "src": "1612:9:4", + "scope": 789, + "src": "4341:17:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 577, - "name": "uint256", + "id": 750, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "1612:7:4", + "src": "4341:7:2", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "internal" }, { "constant": false, - "id": 580, + "id": 753, "mutability": "mutable", - "name": "Qx", - "nameLocation": "1631:2:4", + "name": "validationGasLimit", + "nameLocation": "4368:18:2", "nodeType": "VariableDeclaration", - "scope": 674, - "src": "1623:10:4", + "scope": 789, + "src": "4360:26:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9346,10 +10374,10 @@ "typeString": "uint256" }, "typeName": { - "id": 579, + "id": 752, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1623:7:4", + "src": "4360:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9359,13 +10387,13 @@ }, { "constant": false, - "id": 582, + "id": 755, "mutability": "mutable", - "name": "Qy", - "nameLocation": "1643:2:4", + "name": "postOpGasLimit", + "nameLocation": "4396:14:2", "nodeType": "VariableDeclaration", - "scope": 674, - "src": "1635:10:4", + "scope": 789, + "src": "4388:22:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9373,10 +10401,10 @@ "typeString": "uint256" }, "typeName": { - "id": 581, + "id": 754, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1635:7:4", + "src": "4388:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9385,529 +10413,92 @@ "visibility": "internal" } ], - "src": "1583:63:4" - }, - "returnParameters": { - "id": 586, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 585, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 674, - "src": "1671:4:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 584, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1671:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "1670:6:4" + "src": "4340:71:2" }, - "scope": 957, - "src": "1562:703:4", - "stateMutability": "view", + "scope": 806, + "src": "4234:507:2", + "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 789, + "id": 804, "nodeType": "Block", - "src": "2374:595:4", + "src": "4945:49:2", "statements": [ { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 703, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 689, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 687, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 680, - "src": "2389:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 688, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2394:1:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2389:6:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 693, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 690, - "name": "r", + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 800, + "name": "userOp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 680, - "src": "2399:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "expression": { - "id": 691, - "name": "FCL_Elliptic_ZZ", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2298, - "src": "2404:15:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2298_$", - "typeString": "type(library FCL_Elliptic_ZZ)" - } - }, - "id": 692, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "2420:1:4", - "memberName": "n", - "nodeType": "MemberAccess", - "referencedDeclaration": 980, - "src": "2404:17:4", + "referencedDeclaration": 793, + "src": "4979:6:2", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_calldata_ptr", + "typeString": "struct PackedUserOperation calldata" } - }, - "src": "2399:22:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "2389:32:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 695, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 682, - "src": "2425:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 696, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2430:1:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2425:6:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "2389:42:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 699, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 682, - "src": "2435:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "expression": { - "id": 700, - "name": "FCL_Elliptic_ZZ", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2298, - "src": "2440:15:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2298_$", - "typeString": "type(library FCL_Elliptic_ZZ)" - } - }, - "id": 701, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "2456:1:4", - "memberName": "n", - "nodeType": "MemberAccess", - "referencedDeclaration": 980, - "src": "2440:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2435:22:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "2389:68:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 710, - "nodeType": "IfStatement", - "src": "2385:116:4", - "trueBody": { - "id": 709, - "nodeType": "Block", - "src": "2459:42:4", - "statements": [ - { + ], "expression": { - "arguments": [ + "argumentTypes": [ { - "hexValue": "30", - "id": 706, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2488:1:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_calldata_ptr", + "typeString": "struct PackedUserOperation calldata" } ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 705, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2480:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 704, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2480:7:4", - "typeDescriptions": {} - } - }, - "id": 707, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2480:10:4", - "tryCall": false, + "id": 799, + "name": "encode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 591, + "src": "4972:6:2", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_function_internal_pure$_t_struct$_PackedUserOperation_$1223_calldata_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (struct PackedUserOperation calldata) pure returns (bytes memory)" } }, - "functionReturnParameters": 686, - "id": 708, - "nodeType": "Return", - "src": "2473:17:4" - } - ] - } - }, - { - "assignments": [ - 712 - ], - "declarations": [ - { - "constant": false, - "id": 712, - "mutability": "mutable", - "name": "y", - "nameLocation": "2518:1:4", - "nodeType": "VariableDeclaration", - "scope": 789, - "src": "2510:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 711, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2510:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 720, - "initialValue": { - "arguments": [ - { - "id": 715, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 680, - "src": "2550:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 718, + "id": 801, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "leftExpression": { - "id": 716, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 678, - "src": "2553:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "3237", - "id": 717, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2555:2:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_27_by_1", - "typeString": "int_const 27" - }, - "value": "27" - }, - "src": "2553:4:4", + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4972:14:2", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" } ], - "expression": { - "id": 713, - "name": "FCL_Elliptic_ZZ", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2298, - "src": "2520:15:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2298_$", - "typeString": "type(library FCL_Elliptic_ZZ)" - } - }, - "id": 714, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2536:13:4", - "memberName": "ec_Decompress", - "nodeType": "MemberAccess", - "referencedDeclaration": 1405, - "src": "2520:29:4", + "id": 798, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "4962:9:2", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256)" + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 719, + "id": 802, "isConstant": false, "isLValue": false, "isPure": false, @@ -9916,1074 +10507,967 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2520:38:4", + "src": "4962:25:2", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "nodeType": "VariableDeclarationStatement", - "src": "2510:48:4" - }, + "functionReturnParameters": 797, + "id": 803, + "nodeType": "Return", + "src": "4955:32:2" + } + ] + }, + "documentation": { + "id": 790, + "nodeType": "StructuredDocumentation", + "src": "4747:96:2", + "text": " Hash the user operation data.\n @param userOp - The user operation data." + }, + "id": 805, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hash", + "nameLocation": "4857:4:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 794, + "nodeType": "ParameterList", + "parameters": [ { - "assignments": [ - 722 - ], - "declarations": [ - { - "constant": false, - "id": 722, - "mutability": "mutable", - "name": "rinv", - "nameLocation": "2576:4:4", - "nodeType": "VariableDeclaration", - "scope": 789, - "src": "2568:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 721, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2568:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 727, - "initialValue": { - "arguments": [ - { - "id": 725, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 680, - "src": "2609:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "constant": false, + "id": 793, + "mutability": "mutable", + "name": "userOp", + "nameLocation": "4900:6:2", + "nodeType": "VariableDeclaration", + "scope": 805, + "src": "4871:35:2", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_calldata_ptr", + "typeString": "struct PackedUserOperation" + }, + "typeName": { + "id": 792, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 791, + "name": "PackedUserOperation", + "nameLocations": [ + "4871:19:2" ], - "expression": { - "id": 723, - "name": "FCL_Elliptic_ZZ", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2298, - "src": "2581:15:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2298_$", - "typeString": "type(library FCL_Elliptic_ZZ)" - } - }, - "id": 724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2597:11:4", - "memberName": "FCL_nModInv", - "nodeType": "MemberAccess", - "referencedDeclaration": 1008, - "src": "2581:27:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } + "nodeType": "IdentifierPath", + "referencedDeclaration": 1223, + "src": "4871:19:2" }, - "id": 726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2581:30:4", - "tryCall": false, + "referencedDeclaration": 1223, + "src": "4871:19:2", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_storage_ptr", + "typeString": "struct PackedUserOperation" } }, - "nodeType": "VariableDeclarationStatement", - "src": "2568:43:4" - }, + "visibility": "internal" + } + ], + "src": "4861:51:2" + }, + "returnParameters": { + "id": 797, + "nodeType": "ParameterList", + "parameters": [ { - "assignments": [ - 729 - ], - "declarations": [ - { - "constant": false, - "id": 729, - "mutability": "mutable", - "name": "u1", - "nameLocation": "2629:2:4", - "nodeType": "VariableDeclaration", - "scope": 789, - "src": "2621:10:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 728, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2621:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 744, - "initialValue": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 739, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 731, - "name": "FCL_Elliptic_ZZ", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2298, - "src": "2639:15:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2298_$", - "typeString": "type(library FCL_Elliptic_ZZ)" - } - }, - "id": 732, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "2655:1:4", - "memberName": "n", - "nodeType": "MemberAccess", - "referencedDeclaration": 980, - "src": "2639:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 734, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2664:1:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "id": 735, - "name": "h", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 676, - "src": "2666:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 736, - "name": "FCL_Elliptic_ZZ", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2298, - "src": "2668:15:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2298_$", - "typeString": "type(library FCL_Elliptic_ZZ)" - } - }, - "id": 737, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "2684:1:4", - "memberName": "n", - "nodeType": "MemberAccess", - "referencedDeclaration": 980, - "src": "2668:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 733, - "name": "addmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -2, - "src": "2657:6:4", - "typeDescriptions": { - "typeIdentifier": "t_function_addmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2657:29:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2639:47:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 740, - "name": "rinv", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 722, - "src": "2688:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 741, - "name": "FCL_Elliptic_ZZ", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2298, - "src": "2693:15:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2298_$", - "typeString": "type(library FCL_Elliptic_ZZ)" - } - }, - "id": 742, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "2709:1:4", - "memberName": "n", - "nodeType": "MemberAccess", - "referencedDeclaration": 980, - "src": "2693:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 730, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "2632:6:4", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2632:79:4", - "tryCall": false, + "constant": false, + "id": 796, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 805, + "src": "4936:7:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 795, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4936:7:2", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "nodeType": "VariableDeclarationStatement", - "src": "2621:90:4" - }, + "visibility": "internal" + } + ], + "src": "4935:9:2" + }, + "scope": 806, + "src": "4848:146:2", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 807, + "src": "282:4714:2", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "36:4961:2" + }, + "id": 2 + }, + "@account-abstraction/contracts/interfaces/IAccount.sol": { + "ast": { + "absolutePath": "@account-abstraction/contracts/interfaces/IAccount.sol", + "exportedSymbols": { + "IAccount": [ + 823 + ], + "PackedUserOperation": [ + 1223 + ] + }, + "id": 824, + "license": "GPL-3.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 808, + "literals": [ + "solidity", + ">=", + "0.7", + ".5" + ], + "nodeType": "PragmaDirective", + "src": "36:24:3" + }, + { + "absolutePath": "@account-abstraction/contracts/interfaces/PackedUserOperation.sol", + "file": "./PackedUserOperation.sol", + "id": 809, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 824, + "sourceUnit": 1224, + "src": "62:35:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IAccount", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "id": 823, + "linearizedBaseContracts": [ + 823 + ], + "name": "IAccount", + "nameLocation": "109:8:3", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 810, + "nodeType": "StructuredDocumentation", + "src": "124:2290:3", + "text": " Validate user's signature and nonce\n the entryPoint will make the call to the recipient only if this validation call returns successfully.\n signature failure should be reported by returning SIG_VALIDATION_FAILED (1).\n This allows making a \"simulation call\" without a valid signature\n Other failures (e.g. nonce mismatch, or invalid signature format) should still revert to signal failure.\n @dev Must validate caller is the entryPoint.\n Must validate the signature and nonce\n @param userOp - The operation that is about to be executed.\n @param userOpHash - Hash of the user's request data. can be used as the basis for signature.\n @param missingAccountFunds - Missing funds on the account's deposit in the entrypoint.\n This is the minimum amount to transfer to the sender(entryPoint) to be\n able to make the call. The excess is left as a deposit in the entrypoint\n for future calls. Can be withdrawn anytime using \"entryPoint.withdrawTo()\".\n In case there is a paymaster in the request (or the current deposit is high\n enough), this value will be zero.\n @return validationData - Packaged ValidationData structure. use `_packValidationData` and\n `_unpackValidationData` to encode and decode.\n <20-byte> sigAuthorizer - 0 for valid signature, 1 to mark signature failure,\n otherwise, an address of an \"authorizer\" contract.\n <6-byte> validUntil - Last timestamp this operation is valid. 0 for \"indefinite\"\n <6-byte> validAfter - First timestamp this operation is valid\n If an account doesn't use time-range, it is enough to\n return SIG_VALIDATION_FAILED value (1) for signature failure.\n Note that the validation code cannot use block.timestamp (or block.number) directly." + }, + "functionSelector": "19822f7c", + "id": 822, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "validateUserOp", + "nameLocation": "2428:14:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 818, + "nodeType": "ParameterList", + "parameters": [ { - "assignments": [ - 746 - ], - "declarations": [ - { - "constant": false, - "id": 746, - "mutability": "mutable", - "name": "u2", - "nameLocation": "2737:2:4", - "nodeType": "VariableDeclaration", - "scope": 789, - "src": "2729:10:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 745, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2729:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 753, - "initialValue": { - "arguments": [ - { - "id": 748, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 682, - "src": "2747:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 749, - "name": "rinv", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 722, - "src": "2750:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 750, - "name": "FCL_Elliptic_ZZ", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2298, - "src": "2755:15:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2298_$", - "typeString": "type(library FCL_Elliptic_ZZ)" - } - }, - "id": 751, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "2771:1:4", - "memberName": "n", - "nodeType": "MemberAccess", - "referencedDeclaration": 980, - "src": "2755:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "constant": false, + "id": 813, + "mutability": "mutable", + "name": "userOp", + "nameLocation": "2481:6:3", + "nodeType": "VariableDeclaration", + "scope": 822, + "src": "2452:35:3", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_calldata_ptr", + "typeString": "struct PackedUserOperation" + }, + "typeName": { + "id": 812, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 811, + "name": "PackedUserOperation", + "nameLocations": [ + "2452:19:3" ], - "id": 747, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "2740:6:4", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } + "nodeType": "IdentifierPath", + "referencedDeclaration": 1223, + "src": "2452:19:3" }, - "id": 752, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2740:33:4", - "tryCall": false, + "referencedDeclaration": 1223, + "src": "2452:19:3", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_storage_ptr", + "typeString": "struct PackedUserOperation" } }, - "nodeType": "VariableDeclarationStatement", - "src": "2729:44:4" + "visibility": "internal" }, { - "assignments": [ - 755 - ], - "declarations": [ - { - "constant": false, - "id": 755, - "mutability": "mutable", - "name": "Qx", - "nameLocation": "2799:2:4", - "nodeType": "VariableDeclaration", - "scope": 789, - "src": "2791:10:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 754, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2791:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" + "constant": false, + "id": 815, + "mutability": "mutable", + "name": "userOpHash", + "nameLocation": "2505:10:3", + "nodeType": "VariableDeclaration", + "scope": 822, + "src": "2497:18:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 814, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2497:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } - ], - "id": 756, - "nodeType": "VariableDeclarationStatement", - "src": "2791:10:4" + }, + "visibility": "internal" }, { - "assignments": [ - 758 - ], - "declarations": [ - { - "constant": false, - "id": 758, - "mutability": "mutable", - "name": "Qy", - "nameLocation": "2819:2:4", - "nodeType": "VariableDeclaration", - "scope": 789, - "src": "2811:10:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 757, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2811:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" + "constant": false, + "id": 817, + "mutability": "mutable", + "name": "missingAccountFunds", + "nameLocation": "2533:19:3", + "nodeType": "VariableDeclaration", + "scope": 822, + "src": "2525:27:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 816, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2525:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - ], - "id": 759, - "nodeType": "VariableDeclarationStatement", - "src": "2811:10:4" - }, + }, + "visibility": "internal" + } + ], + "src": "2442:116:3" + }, + "returnParameters": { + "id": 821, + "nodeType": "ParameterList", + "parameters": [ { - "expression": { - "id": 770, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "components": [ - { - "id": 760, - "name": "Qx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 755, - "src": "2832:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 761, - "name": "Qy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 758, - "src": "2835:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 762, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "2831:7:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 765, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 680, - "src": "2870:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 766, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 712, - "src": "2872:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 767, - "name": "u1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 729, - "src": "2875:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 768, - "name": "u2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 746, - "src": "2879:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "constant": false, + "id": 820, + "mutability": "mutable", + "name": "validationData", + "nameLocation": "2585:14:3", + "nodeType": "VariableDeclaration", + "scope": 822, + "src": "2577:22:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 819, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2577:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2576:24:3" + }, + "scope": 823, + "src": "2419:182:3", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 824, + "src": "99:2504:3", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "36:2568:3" + }, + "id": 3 + }, + "@account-abstraction/contracts/interfaces/IAggregator.sol": { + "ast": { + "absolutePath": "@account-abstraction/contracts/interfaces/IAggregator.sol", + "exportedSymbols": { + "IAggregator": [ + 857 + ], + "PackedUserOperation": [ + 1223 + ] + }, + "id": 858, + "license": "GPL-3.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 825, + "literals": [ + "solidity", + ">=", + "0.7", + ".5" + ], + "nodeType": "PragmaDirective", + "src": "36:24:4" + }, + { + "absolutePath": "@account-abstraction/contracts/interfaces/PackedUserOperation.sol", + "file": "./PackedUserOperation.sol", + "id": 826, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 858, + "sourceUnit": 1224, + "src": "62:35:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IAggregator", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 827, + "nodeType": "StructuredDocumentation", + "src": "99:43:4", + "text": " Aggregated Signatures validator." + }, + "fullyImplemented": false, + "id": 857, + "linearizedBaseContracts": [ + 857 + ], + "name": "IAggregator", + "nameLocation": "153:11:4", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 828, + "nodeType": "StructuredDocumentation", + "src": "171:269:4", + "text": " Validate aggregated signature.\n Revert if the aggregated signature does not match the given list of operations.\n @param userOps - Array of UserOperations to validate the signature for.\n @param signature - The aggregated signature." + }, + "functionSelector": "2dd81133", + "id": 837, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "validateSignatures", + "nameLocation": "454:18:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 835, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 832, + "mutability": "mutable", + "name": "userOps", + "nameLocation": "513:7:4", + "nodeType": "VariableDeclaration", + "scope": 837, + "src": "482:38:4", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PackedUserOperation_$1223_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct PackedUserOperation[]" + }, + "typeName": { + "baseType": { + "id": 830, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 829, + "name": "PackedUserOperation", + "nameLocations": [ + "482:19:4" ], - "expression": { - "id": 763, - "name": "FCL_Elliptic_ZZ", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2298, - "src": "2839:15:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2298_$", - "typeString": "type(library FCL_Elliptic_ZZ)" - } - }, - "id": 764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2855:14:4", - "memberName": "ecZZ_mulmuladd", - "nodeType": "MemberAccess", - "referencedDeclaration": 1930, - "src": "2839:30:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) view returns (uint256,uint256)" - } + "nodeType": "IdentifierPath", + "referencedDeclaration": 1223, + "src": "482:19:4" }, - "id": 769, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2839:43:4", - "tryCall": false, + "referencedDeclaration": 1223, + "src": "482:19:4", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_storage_ptr", + "typeString": "struct PackedUserOperation" } }, - "src": "2831:51:4", + "id": 831, + "nodeType": "ArrayTypeName", + "src": "482:21:4", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_array$_t_struct$_PackedUserOperation_$1223_storage_$dyn_storage_ptr", + "typeString": "struct PackedUserOperation[]" } }, - "id": 771, - "nodeType": "ExpressionStatement", - "src": "2831:51:4" + "visibility": "internal" }, { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "id": 781, - "name": "Qx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 755, - "src": "2951:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 782, - "name": "Qy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 758, - "src": "2955:2:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 779, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "2934:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 780, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "2938:12:4", - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "2934:16:4", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 783, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2934:24:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 778, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "2924:9:4", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2924:35:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 777, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2916:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 776, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2916:7:4", - "typeDescriptions": {} - } - }, - "id": 785, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2916:44:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 775, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2908:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 774, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "2908:7:4", - "typeDescriptions": {} - } - }, - "id": 786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2908:53:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } + "constant": false, + "id": 834, + "mutability": "mutable", + "name": "signature", + "nameLocation": "545:9:4", + "nodeType": "VariableDeclaration", + "scope": 837, + "src": "530:24:4", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 833, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "530:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "472:88:4" + }, + "returnParameters": { + "id": 836, + "nodeType": "ParameterList", + "parameters": [], + "src": "574:0:4" + }, + "scope": 857, + "src": "445:130:4", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 838, + "nodeType": "StructuredDocumentation", + "src": "581:610:4", + "text": " Validate signature of a single userOp.\n This method should be called by bundler after EntryPointSimulation.simulateValidation() returns\n the aggregator this account uses.\n First it validates the signature over the userOp. Then it returns data to be used when creating the handleOps.\n @param userOp - The userOperation received from the user.\n @return sigForUserOp - The value to put into the signature field of the userOp when calling handleOps.\n (usually empty, unless account and aggregator support some kind of \"multisig\"." + }, + "functionSelector": "062a422b", + "id": 846, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "validateUserOpSignature", + "nameLocation": "1205:23:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 842, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 841, + "mutability": "mutable", + "name": "userOp", + "nameLocation": "1267:6:4", + "nodeType": "VariableDeclaration", + "scope": 846, + "src": "1238:35:4", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_calldata_ptr", + "typeString": "struct PackedUserOperation" + }, + "typeName": { + "id": 840, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 839, + "name": "PackedUserOperation", + "nameLocations": [ + "1238:19:4" ], - "id": 773, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2900:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 772, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2900:7:4", - "typeDescriptions": {} - } + "nodeType": "IdentifierPath", + "referencedDeclaration": 1223, + "src": "1238:19:4" }, - "id": 787, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2900:62:4", - "tryCall": false, + "referencedDeclaration": 1223, + "src": "1238:19:4", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_storage_ptr", + "typeString": "struct PackedUserOperation" } }, - "functionReturnParameters": 686, - "id": 788, - "nodeType": "Return", - "src": "2893:69:4" + "visibility": "internal" } - ] + ], + "src": "1228:51:4" }, - "id": 790, - "implemented": true, + "returnParameters": { + "id": 845, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 844, + "mutability": "mutable", + "name": "sigForUserOp", + "nameLocation": "1316:12:4", + "nodeType": "VariableDeclaration", + "scope": 846, + "src": "1303:25:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 843, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1303:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "1302:27:4" + }, + "scope": 857, + "src": "1196:134:4", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 847, + "nodeType": "StructuredDocumentation", + "src": "1336:387:4", + "text": " Aggregate multiple signatures into a single value.\n This method is called off-chain to calculate the signature to pass with handleOps()\n bundler MAY use optimized custom code perform this aggregation.\n @param userOps - Array of UserOperations to collect the signatures from.\n @return aggregatedSignature - The aggregated signature." + }, + "functionSelector": "ae574a43", + "id": 856, + "implemented": false, "kind": "function", "modifiers": [], - "name": "ec_recover_r1", - "nameLocation": "2280:13:4", + "name": "aggregateSignatures", + "nameLocation": "1737:19:4", "nodeType": "FunctionDefinition", "parameters": { - "id": 683, + "id": 852, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 676, + "id": 851, "mutability": "mutable", - "name": "h", - "nameLocation": "2302:1:4", + "name": "userOps", + "nameLocation": "1797:7:4", + "nodeType": "VariableDeclaration", + "scope": 856, + "src": "1766:38:4", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PackedUserOperation_$1223_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct PackedUserOperation[]" + }, + "typeName": { + "baseType": { + "id": 849, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 848, + "name": "PackedUserOperation", + "nameLocations": [ + "1766:19:4" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1223, + "src": "1766:19:4" + }, + "referencedDeclaration": 1223, + "src": "1766:19:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_storage_ptr", + "typeString": "struct PackedUserOperation" + } + }, + "id": 850, + "nodeType": "ArrayTypeName", + "src": "1766:21:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PackedUserOperation_$1223_storage_$dyn_storage_ptr", + "typeString": "struct PackedUserOperation[]" + } + }, + "visibility": "internal" + } + ], + "src": "1756:54:4" + }, + "returnParameters": { + "id": 855, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 854, + "mutability": "mutable", + "name": "aggregatedSignature", + "nameLocation": "1847:19:4", + "nodeType": "VariableDeclaration", + "scope": 856, + "src": "1834:32:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 853, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1834:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "1833:34:4" + }, + "scope": 857, + "src": "1728:140:4", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 858, + "src": "143:1727:4", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "36:1835:4" + }, + "id": 4 + }, + "@account-abstraction/contracts/interfaces/IEntryPoint.sol": { + "ast": { + "absolutePath": "@account-abstraction/contracts/interfaces/IEntryPoint.sol", + "exportedSymbols": { + "IAggregator": [ + 857 + ], + "IEntryPoint": [ + 1041 + ], + "INonceManager": [ + 1060 + ], + "IStakeManager": [ + 1201 + ], + "PackedUserOperation": [ + 1223 + ] + }, + "id": 1042, + "license": "GPL-3.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 859, + "literals": [ + "solidity", + ">=", + "0.7", + ".5" + ], + "nodeType": "PragmaDirective", + "src": "163:24:5" + }, + { + "absolutePath": "@account-abstraction/contracts/interfaces/PackedUserOperation.sol", + "file": "./PackedUserOperation.sol", + "id": 860, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1042, + "sourceUnit": 1224, + "src": "311:35:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@account-abstraction/contracts/interfaces/IStakeManager.sol", + "file": "./IStakeManager.sol", + "id": 861, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1042, + "sourceUnit": 1202, + "src": "347:29:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@account-abstraction/contracts/interfaces/IAggregator.sol", + "file": "./IAggregator.sol", + "id": 862, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1042, + "sourceUnit": 858, + "src": "377:27:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@account-abstraction/contracts/interfaces/INonceManager.sol", + "file": "./INonceManager.sol", + "id": 863, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1042, + "sourceUnit": 1061, + "src": "405:29:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 864, + "name": "IStakeManager", + "nameLocations": [ + "461:13:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1201, + "src": "461:13:5" + }, + "id": 865, + "nodeType": "InheritanceSpecifier", + "src": "461:13:5" + }, + { + "baseName": { + "id": 866, + "name": "INonceManager", + "nameLocations": [ + "476:13:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1060, + "src": "476:13:5" + }, + "id": 867, + "nodeType": "InheritanceSpecifier", + "src": "476:13:5" + } + ], + "canonicalName": "IEntryPoint", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "id": 1041, + "linearizedBaseContracts": [ + 1041, + 1060, + 1201 + ], + "name": "IEntryPoint", + "nameLocation": "446:11:5", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "eventSelector": "49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f", + "id": 883, + "name": "UserOperationEvent", + "nameLocation": "1255:18:5", + "nodeType": "EventDefinition", + "parameters": { + "id": 882, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 869, + "indexed": true, + "mutability": "mutable", + "name": "userOpHash", + "nameLocation": "1299:10:5", "nodeType": "VariableDeclaration", - "scope": 790, - "src": "2294:9:4", + "scope": 883, + "src": "1283:26:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, "typeName": { - "id": 675, - "name": "uint256", + "id": 868, + "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2294:7:4", + "src": "1283:7:5", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, "visibility": "internal" }, { "constant": false, - "id": 678, + "id": 871, + "indexed": true, "mutability": "mutable", - "name": "v", - "nameLocation": "2313:1:4", + "name": "sender", + "nameLocation": "1335:6:5", + "nodeType": "VariableDeclaration", + "scope": 883, + "src": "1319:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 870, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1319:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 873, + "indexed": true, + "mutability": "mutable", + "name": "paymaster", + "nameLocation": "1367:9:5", + "nodeType": "VariableDeclaration", + "scope": 883, + "src": "1351:25:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 872, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1351:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 875, + "indexed": false, + "mutability": "mutable", + "name": "nonce", + "nameLocation": "1394:5:5", "nodeType": "VariableDeclaration", - "scope": 790, - "src": "2305:9:4", + "scope": 883, + "src": "1386:13:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10991,10 +11475,10 @@ "typeString": "uint256" }, "typeName": { - "id": 677, + "id": 874, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2305:7:4", + "src": "1386:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11004,13 +11488,42 @@ }, { "constant": false, - "id": 680, + "id": 877, + "indexed": false, "mutability": "mutable", - "name": "r", - "nameLocation": "2324:1:4", + "name": "success", + "nameLocation": "1414:7:5", + "nodeType": "VariableDeclaration", + "scope": 883, + "src": "1409:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 876, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1409:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 879, + "indexed": false, + "mutability": "mutable", + "name": "actualGasCost", + "nameLocation": "1439:13:5", "nodeType": "VariableDeclaration", - "scope": 790, - "src": "2316:9:4", + "scope": 883, + "src": "1431:21:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11018,10 +11531,10 @@ "typeString": "uint256" }, "typeName": { - "id": 679, + "id": 878, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2316:7:4", + "src": "1431:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11031,13 +11544,14 @@ }, { "constant": false, - "id": 682, + "id": 881, + "indexed": false, "mutability": "mutable", - "name": "s", - "nameLocation": "2335:1:4", + "name": "actualGasUsed", + "nameLocation": "1470:13:5", "nodeType": "VariableDeclaration", - "scope": 790, - "src": "2327:9:4", + "scope": 883, + "src": "1462:21:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11045,10 +11559,10 @@ "typeString": "uint256" }, "typeName": { - "id": 681, + "id": 880, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2327:7:4", + "src": "1462:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11057,21 +11571,123 @@ "visibility": "internal" } ], - "src": "2293:44:4" + "src": "1273:216:5" }, - "returnParameters": { - "id": 686, + "src": "1249:241:5" + }, + { + "anonymous": false, + "documentation": { + "id": 884, + "nodeType": "StructuredDocumentation", + "src": "1496:349:5", + "text": " Account \"sender\" was deployed.\n @param userOpHash - The userOp that deployed this account. UserOperationEvent will follow.\n @param sender - The account that is deployed\n @param factory - The factory used to deploy this account (in the initCode)\n @param paymaster - The paymaster used by this UserOp" + }, + "eventSelector": "d51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d", + "id": 894, + "name": "AccountDeployed", + "nameLocation": "1856:15:5", + "nodeType": "EventDefinition", + "parameters": { + "id": 893, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 685, + "id": 886, + "indexed": true, "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", + "name": "userOpHash", + "nameLocation": "1897:10:5", + "nodeType": "VariableDeclaration", + "scope": 894, + "src": "1881:26:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 885, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1881:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 888, + "indexed": true, + "mutability": "mutable", + "name": "sender", + "nameLocation": "1933:6:5", + "nodeType": "VariableDeclaration", + "scope": 894, + "src": "1917:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 887, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1917:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 890, + "indexed": false, + "mutability": "mutable", + "name": "factory", + "nameLocation": "1957:7:5", + "nodeType": "VariableDeclaration", + "scope": 894, + "src": "1949:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 889, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1949:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 892, + "indexed": false, + "mutability": "mutable", + "name": "paymaster", + "nameLocation": "1982:9:5", "nodeType": "VariableDeclaration", - "scope": 790, - "src": "2361:7:4", + "scope": 894, + "src": "1974:17:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11079,10 +11695,10 @@ "typeString": "address" }, "typeName": { - "id": 684, + "id": 891, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2361:7:4", + "src": "1974:7:5", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -11092,950 +11708,307 @@ "visibility": "internal" } ], - "src": "2360:9:4" + "src": "1871:126:5" }, - "scope": 957, - "src": "2271:698:4", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" + "src": "1850:148:5" }, { - "body": { - "id": 866, - "nodeType": "Block", - "src": "3114:541:4", - "statements": [ + "anonymous": false, + "documentation": { + "id": 895, + "nodeType": "StructuredDocumentation", + "src": "2004:361:5", + "text": " An event emitted if the UserOperation \"callData\" reverted with non-zero length.\n @param userOpHash - The request unique identifier.\n @param sender - The sender of this request.\n @param nonce - The nonce used in the request.\n @param revertReason - The return bytes from the (reverted) call to \"callData\"." + }, + "eventSelector": "1c4fada7374c0a9ee8841fc38afe82932dc0f8e69012e927f061a8bae611a201", + "id": 905, + "name": "UserOperationRevertReason", + "nameLocation": "2376:25:5", + "nodeType": "EventDefinition", + "parameters": { + "id": 904, + "nodeType": "ParameterList", + "parameters": [ { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 805, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 803, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 794, - "src": "3136:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 804, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3141:1:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3136:6:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 806, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 794, - "src": "3146:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 807, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 571, - "src": "3151:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3146:6:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "3136:16:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 810, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 796, - "src": "3156:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 811, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3161:1:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3156:6:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "3136:26:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 814, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 796, - "src": "3166:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 815, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 571, - "src": "3171:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3166:6:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "3136:36:4", + "constant": false, + "id": 897, + "indexed": true, + "mutability": "mutable", + "name": "userOpHash", + "nameLocation": "2427:10:5", + "nodeType": "VariableDeclaration", + "scope": 905, + "src": "2411:26:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 896, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2411:7:5", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "id": 821, - "nodeType": "IfStatement", - "src": "3132:79:4", - "trueBody": { - "id": 820, - "nodeType": "Block", - "src": "3174:37:4", - "statements": [ - { - "expression": { - "hexValue": "66616c7365", - "id": 818, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3195:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 802, - "id": 819, - "nodeType": "Return", - "src": "3188:12:4" - } - ] - } + "visibility": "internal" }, { - "assignments": [ - 823 - ], - "declarations": [ - { - "constant": false, - "id": 823, - "mutability": "mutable", - "name": "sInv", - "nameLocation": "3386:4:4", - "nodeType": "VariableDeclaration", - "scope": 866, - "src": "3378:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 822, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3378:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" + "constant": false, + "id": 899, + "indexed": true, + "mutability": "mutable", + "name": "sender", + "nameLocation": "2463:6:5", + "nodeType": "VariableDeclaration", + "scope": 905, + "src": "2447:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 898, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2447:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" } - ], - "id": 828, - "initialValue": { - "arguments": [ - { - "id": 826, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 796, - "src": "3421:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 824, - "name": "FCL_Elliptic_ZZ", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2298, - "src": "3393:15:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2298_$", - "typeString": "type(library FCL_Elliptic_ZZ)" - } - }, - "id": 825, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3409:11:4", - "memberName": "FCL_nModInv", - "nodeType": "MemberAccess", - "referencedDeclaration": 1008, - "src": "3393:27:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3393:30:4", - "tryCall": false, + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 901, + "indexed": false, + "mutability": "mutable", + "name": "nonce", + "nameLocation": "2487:5:5", + "nodeType": "VariableDeclaration", + "scope": 905, + "src": "2479:13:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 900, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2479:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "nodeType": "VariableDeclarationStatement", - "src": "3378:45:4" + "visibility": "internal" }, { - "assignments": [ - 830 - ], - "declarations": [ - { - "constant": false, - "id": 830, - "mutability": "mutable", - "name": "X", - "nameLocation": "3442:1:4", - "nodeType": "VariableDeclaration", - "scope": 866, - "src": "3434:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 829, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3434:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" + "constant": false, + "id": 903, + "indexed": false, + "mutability": "mutable", + "name": "revertReason", + "nameLocation": "2508:12:5", + "nodeType": "VariableDeclaration", + "scope": 905, + "src": "2502:18:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 902, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2502:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" } - ], - "id": 831, - "nodeType": "VariableDeclarationStatement", - "src": "3434:9:4" + }, + "visibility": "internal" + } + ], + "src": "2401:125:5" + }, + "src": "2370:157:5" + }, + { + "anonymous": false, + "documentation": { + "id": 906, + "nodeType": "StructuredDocumentation", + "src": "2533:376:5", + "text": " An event emitted if the UserOperation Paymaster's \"postOp\" call reverted with non-zero length.\n @param userOpHash - The request unique identifier.\n @param sender - The sender of this request.\n @param nonce - The nonce used in the request.\n @param revertReason - The return bytes from the (reverted) call to \"callData\"." + }, + "eventSelector": "f62676f440ff169a3a9afdbf812e89e7f95975ee8e5c31214ffdef631c5f4792", + "id": 916, + "name": "PostOpRevertReason", + "nameLocation": "2920:18:5", + "nodeType": "EventDefinition", + "parameters": { + "id": 915, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 908, + "indexed": true, + "mutability": "mutable", + "name": "userOpHash", + "nameLocation": "2964:10:5", + "nodeType": "VariableDeclaration", + "scope": 916, + "src": "2948:26:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 907, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2948:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" }, { - "expression": { - "id": 850, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 832, - "name": "X", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 830, - "src": "3484:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "id": 838, - "name": "message", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "3545:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 837, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3537:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 836, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3537:7:4", - "typeDescriptions": {} - } - }, - "id": 839, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3537:16:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 840, - "name": "sInv", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 823, - "src": "3555:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 841, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 571, - "src": "3561:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 835, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "3530:6:4", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 842, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3530:33:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "arguments": [ - { - "id": 844, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 794, - "src": "3572:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 845, - "name": "sInv", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 823, - "src": "3575:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 846, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 571, - "src": "3581:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 843, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "3565:6:4", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3565:18:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 848, - "name": "Shamir8", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 798, - "src": "3585:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 833, - "name": "FCL_Elliptic_ZZ", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2298, - "src": "3488:15:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2298_$", - "typeString": "type(library FCL_Elliptic_ZZ)" - } - }, - "id": 834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3504:25:4", - "memberName": "ecZZ_mulmuladd_S8_extcode", - "nodeType": "MemberAccess", - "referencedDeclaration": 2074, - "src": "3488:41:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_address_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,address) view returns (uint256)" - } - }, - "id": 849, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3488:105:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3484:109:4", + "constant": false, + "id": 910, + "indexed": true, + "mutability": "mutable", + "name": "sender", + "nameLocation": "3000:6:5", + "nodeType": "VariableDeclaration", + "scope": 916, + "src": "2984:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 909, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2984:7:5", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 851, - "nodeType": "ExpressionStatement", - "src": "3484:109:4" + "visibility": "internal" }, { - "expression": { - "id": 860, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 852, - "name": "X", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 830, - "src": "3604:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 854, - "name": "X", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 830, - "src": "3614:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 857, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 855, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 571, - "src": "3617:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 856, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 794, - "src": "3619:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3617:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 858, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 571, - "src": "3621:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 853, - "name": "addmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -2, - "src": "3607:6:4", - "typeDescriptions": { - "typeIdentifier": "t_function_addmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3607:17:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3604:20:4", + "constant": false, + "id": 912, + "indexed": false, + "mutability": "mutable", + "name": "nonce", + "nameLocation": "3024:5:5", + "nodeType": "VariableDeclaration", + "scope": 916, + "src": "3016:13:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 911, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3016:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 861, - "nodeType": "ExpressionStatement", - "src": "3604:20:4" + "visibility": "internal" }, { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 862, - "name": "X", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 830, - "src": "3642:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 863, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3647:1:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3642:6:4", + "constant": false, + "id": 914, + "indexed": false, + "mutability": "mutable", + "name": "revertReason", + "nameLocation": "3045:12:5", + "nodeType": "VariableDeclaration", + "scope": 916, + "src": "3039:18:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 913, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3039:5:5", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" } }, - "functionReturnParameters": 802, - "id": 865, - "nodeType": "Return", - "src": "3635:13:4" + "visibility": "internal" } - ] + ], + "src": "2938:125:5" }, - "id": 867, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ecdsa_precomputed_verify", - "nameLocation": "2984:24:4", - "nodeType": "FunctionDefinition", + "src": "2914:150:5" + }, + { + "anonymous": false, + "documentation": { + "id": 917, + "nodeType": "StructuredDocumentation", + "src": "3070:284:5", + "text": " UserOp consumed more than prefund. The UserOperation is reverted, and no refund is made.\n @param userOpHash - The request unique identifier.\n @param sender - The sender of this request.\n @param nonce - The nonce used in the request." + }, + "eventSelector": "67b4fa9642f42120bf031f3051d1824b0fe25627945b27b8a6a65d5761d5482e", + "id": 925, + "name": "UserOperationPrefundTooLow", + "nameLocation": "3365:26:5", + "nodeType": "EventDefinition", "parameters": { - "id": 799, + "id": 924, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 792, + "id": 919, + "indexed": true, "mutability": "mutable", - "name": "message", - "nameLocation": "3017:7:4", + "name": "userOpHash", + "nameLocation": "3417:10:5", "nodeType": "VariableDeclaration", - "scope": 867, - "src": "3009:15:4", + "scope": 925, + "src": "3401:26:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12043,10 +12016,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 791, + "id": 918, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3009:7:4", + "src": "3401:7:5", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12056,40 +12029,43 @@ }, { "constant": false, - "id": 794, + "id": 921, + "indexed": true, "mutability": "mutable", - "name": "r", - "nameLocation": "3034:1:4", + "name": "sender", + "nameLocation": "3453:6:5", "nodeType": "VariableDeclaration", - "scope": 867, - "src": "3026:9:4", + "scope": 925, + "src": "3437:22:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 793, - "name": "uint256", + "id": 920, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "3026:7:4", + "src": "3437:7:5", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "internal" }, { "constant": false, - "id": 796, + "id": 923, + "indexed": false, "mutability": "mutable", - "name": "s", - "nameLocation": "3045:1:4", + "name": "nonce", + "nameLocation": "3477:5:5", "nodeType": "VariableDeclaration", - "scope": 867, - "src": "3037:9:4", + "scope": 925, + "src": "3469:13:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12097,26 +12073,70 @@ "typeString": "uint256" }, "typeName": { - "id": 795, + "id": 922, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3037:7:4", + "src": "3469:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" - }, + } + ], + "src": "3391:97:5" + }, + "src": "3359:130:5" + }, + { + "anonymous": false, + "documentation": { + "id": 926, + "nodeType": "StructuredDocumentation", + "src": "3495:158:5", + "text": " An event emitted by handleOps(), before starting the execution loop.\n Any event emitted before this event, is part of the validation." + }, + "eventSelector": "bb47ee3e183a558b1a2ff0874b079f3fc5478b7454eacf2bfc5af2ff5878f972", + "id": 928, + "name": "BeforeExecution", + "nameLocation": "3664:15:5", + "nodeType": "EventDefinition", + "parameters": { + "id": 927, + "nodeType": "ParameterList", + "parameters": [], + "src": "3679:2:5" + }, + "src": "3658:24:5" + }, + { + "anonymous": false, + "documentation": { + "id": 929, + "nodeType": "StructuredDocumentation", + "src": "3688:187:5", + "text": " Signature aggregator used by the following UserOperationEvents within this bundle.\n @param aggregator - The aggregator used for the following UserOperationEvents." + }, + "eventSelector": "575ff3acadd5ab348fe1855e217e0f3678f8d767d7494c9f9fefbee2e17cca4d", + "id": 933, + "name": "SignatureAggregatorChanged", + "nameLocation": "3886:26:5", + "nodeType": "EventDefinition", + "parameters": { + "id": 932, + "nodeType": "ParameterList", + "parameters": [ { "constant": false, - "id": 798, + "id": 931, + "indexed": true, "mutability": "mutable", - "name": "Shamir8", - "nameLocation": "3056:7:4", + "name": "aggregator", + "nameLocation": "3929:10:5", "nodeType": "VariableDeclaration", - "scope": 867, - "src": "3048:15:4", + "scope": 933, + "src": "3913:26:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12124,10 +12144,10 @@ "typeString": "address" }, "typeName": { - "id": 797, + "id": 930, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3048:7:4", + "src": "3913:7:5", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -12137,2502 +12157,1383 @@ "visibility": "internal" } ], - "src": "3008:56:4" + "src": "3912:28:5" }, - "returnParameters": { - "id": 802, + "src": "3880:61:5" + }, + { + "documentation": { + "id": 934, + "nodeType": "StructuredDocumentation", + "src": "3947:776:5", + "text": " A custom revert error of handleOps, to identify the offending op.\n Should be caught in off-chain handleOps simulation and not happen on-chain.\n Useful for mitigating DoS attempts against batchers or for troubleshooting of factory/account/paymaster reverts.\n NOTE: If simulateValidation passes successfully, there should be no reason for handleOps to fail on it.\n @param opIndex - Index into the array of ops to the failed one (in simulateValidation, this is always zero).\n @param reason - Revert reason. The string starts with a unique code \"AAmn\",\n where \"m\" is \"1\" for factory, \"2\" for account and \"3\" for paymaster issues,\n so a failure can be attributed to the correct entity." + }, + "errorSelector": "220266b6", + "id": 940, + "name": "FailedOp", + "nameLocation": "4734:8:5", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 939, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 801, + "id": 936, "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", + "name": "opIndex", + "nameLocation": "4751:7:5", "nodeType": "VariableDeclaration", - "scope": 867, - "src": "3104:4:4", + "scope": 940, + "src": "4743:15:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": 800, - "name": "bool", + "id": 935, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3104:4:4", + "src": "4743:7:5", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 938, + "mutability": "mutable", + "name": "reason", + "nameLocation": "4767:6:5", + "nodeType": "VariableDeclaration", + "scope": 940, + "src": "4760:13:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 937, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4760:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" } }, "visibility": "internal" } ], - "src": "3103:6:4" + "src": "4742:32:5" }, - "scope": 957, - "src": "2975:680:4", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" + "src": "4728:47:5" }, { - "body": { - "id": 955, - "nodeType": "Block", - "src": "3837:587:4", - "statements": [ + "documentation": { + "id": 941, + "nodeType": "StructuredDocumentation", + "src": "4781:405:5", + "text": " A custom revert error of handleOps, to report a revert by account or paymaster.\n @param opIndex - Index into the array of ops to the failed one (in simulateValidation, this is always zero).\n @param reason - Revert reason. see FailedOp(uint256,string), above\n @param inner - data from inner cought revert reason\n @dev note that inner is truncated to 2048 bytes" + }, + "errorSelector": "65c8fd4d", + "id": 949, + "name": "FailedOpWithRevert", + "nameLocation": "5197:18:5", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 948, + "nodeType": "ParameterList", + "parameters": [ { - "assignments": [ - 881 - ], - "declarations": [ - { - "constant": false, - "id": 881, - "mutability": "mutable", - "name": "r", - "nameLocation": "3855:1:4", - "nodeType": "VariableDeclaration", - "scope": 955, - "src": "3847:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 880, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3847:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 885, - "initialValue": { - "baseExpression": { - "id": 882, - "name": "rs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 873, - "src": "3859:2:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2] calldata" - } - }, - "id": 884, - "indexExpression": { - "hexValue": "30", - "id": 883, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3862:1:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3859:5:4", + "constant": false, + "id": 943, + "mutability": "mutable", + "name": "opIndex", + "nameLocation": "5224:7:5", + "nodeType": "VariableDeclaration", + "scope": 949, + "src": "5216:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 942, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5216:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "nodeType": "VariableDeclarationStatement", - "src": "3847:17:4" + "visibility": "internal" }, { - "assignments": [ - 887 - ], - "declarations": [ - { - "constant": false, - "id": 887, - "mutability": "mutable", - "name": "s", - "nameLocation": "3882:1:4", - "nodeType": "VariableDeclaration", - "scope": 955, - "src": "3874:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 886, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3874:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 891, - "initialValue": { - "baseExpression": { - "id": 888, - "name": "rs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 873, - "src": "3886:2:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2] calldata" - } - }, - "id": 890, - "indexExpression": { - "hexValue": "31", - "id": 889, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3889:1:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3886:5:4", + "constant": false, + "id": 945, + "mutability": "mutable", + "name": "reason", + "nameLocation": "5240:6:5", + "nodeType": "VariableDeclaration", + "scope": 949, + "src": "5233:13:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 944, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5233:6:5", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" } }, - "nodeType": "VariableDeclarationStatement", - "src": "3874:17:4" + "visibility": "internal" }, { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 898, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 894, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 892, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 881, - "src": "3905:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 893, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3910:1:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3905:6:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 895, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 881, - "src": "3915:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 896, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 571, - "src": "3920:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3915:6:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "3905:16:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 901, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 899, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 887, - "src": "3925:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 900, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3930:1:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3925:6:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "3905:26:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 903, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 887, - "src": "3935:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 904, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 571, - "src": "3940:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3935:6:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "3905:36:4", + "constant": false, + "id": 947, + "mutability": "mutable", + "name": "inner", + "nameLocation": "5254:5:5", + "nodeType": "VariableDeclaration", + "scope": 949, + "src": "5248:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 946, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5248:5:5", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" } }, - "id": 910, - "nodeType": "IfStatement", - "src": "3901:79:4", - "trueBody": { - "id": 909, - "nodeType": "Block", - "src": "3943:37:4", - "statements": [ - { - "expression": { - "hexValue": "66616c7365", - "id": 907, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3964:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 879, - "id": 908, - "nodeType": "Return", - "src": "3957:12:4" - } - ] - } - }, + "visibility": "internal" + } + ], + "src": "5215:45:5" + }, + "src": "5191:70:5" + }, + { + "errorSelector": "ad7954bc", + "id": 953, + "name": "PostOpReverted", + "nameLocation": "5273:14:5", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 952, + "nodeType": "ParameterList", + "parameters": [ { - "assignments": [ - 912 - ], - "declarations": [ - { - "constant": false, - "id": 912, - "mutability": "mutable", - "name": "sInv", - "nameLocation": "4155:4:4", - "nodeType": "VariableDeclaration", - "scope": 955, - "src": "4147:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 911, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4147:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 917, - "initialValue": { - "arguments": [ - { - "id": 915, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 887, - "src": "4190:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 913, - "name": "FCL_Elliptic_ZZ", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2298, - "src": "4162:15:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2298_$", - "typeString": "type(library FCL_Elliptic_ZZ)" - } - }, - "id": 914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4178:11:4", - "memberName": "FCL_nModInv", - "nodeType": "MemberAccess", - "referencedDeclaration": 1008, - "src": "4162:27:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 916, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4162:30:4", - "tryCall": false, + "constant": false, + "id": 951, + "mutability": "mutable", + "name": "returnData", + "nameLocation": "5294:10:5", + "nodeType": "VariableDeclaration", + "scope": 953, + "src": "5288:16:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 950, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5288:5:5", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" } }, - "nodeType": "VariableDeclarationStatement", - "src": "4147:45:4" - }, + "visibility": "internal" + } + ], + "src": "5287:18:5" + }, + "src": "5267:39:5" + }, + { + "documentation": { + "id": 954, + "nodeType": "StructuredDocumentation", + "src": "5312:190:5", + "text": " Error case when a signature aggregator fails to verify the aggregated signature it had created.\n @param aggregator The aggregator that failed to verify the signature" + }, + "errorSelector": "86a9f750", + "id": 958, + "name": "SignatureValidationFailed", + "nameLocation": "5513:25:5", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 957, + "nodeType": "ParameterList", + "parameters": [ { - "assignments": [ - 919 - ], - "declarations": [ - { - "constant": false, - "id": 919, - "mutability": "mutable", - "name": "X", - "nameLocation": "4211:1:4", - "nodeType": "VariableDeclaration", - "scope": 955, - "src": "4203:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 918, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4203:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" + "constant": false, + "id": 956, + "mutability": "mutable", + "name": "aggregator", + "nameLocation": "5547:10:5", + "nodeType": "VariableDeclaration", + "scope": 958, + "src": "5539:18:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 955, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5539:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" } - ], - "id": 920, - "nodeType": "VariableDeclarationStatement", - "src": "4203:9:4" - }, + }, + "visibility": "internal" + } + ], + "src": "5538:20:5" + }, + "src": "5507:52:5" + }, + { + "errorSelector": "6ca7b806", + "id": 962, + "name": "SenderAddressResult", + "nameLocation": "5612:19:5", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 961, + "nodeType": "ParameterList", + "parameters": [ { - "expression": { - "id": 939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 921, - "name": "X", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 919, - "src": "4253:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "id": 927, - "name": "message", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 869, - "src": "4314:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 926, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4306:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 925, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4306:7:4", - "typeDescriptions": {} - } - }, - "id": 928, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4306:16:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 929, - "name": "sInv", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 912, - "src": "4324:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 930, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 571, - "src": "4330:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 924, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "4299:6:4", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4299:33:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "arguments": [ - { - "id": 933, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 881, - "src": "4341:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 934, - "name": "sInv", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 912, - "src": "4344:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 935, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 571, - "src": "4350:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 932, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "4334:6:4", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 936, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4334:18:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 937, - "name": "Shamir8", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 875, - "src": "4354:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 922, - "name": "FCL_Elliptic_ZZ", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2298, - "src": "4257:15:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2298_$", - "typeString": "type(library FCL_Elliptic_ZZ)" - } - }, - "id": 923, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4273:25:4", - "memberName": "ecZZ_mulmuladd_S8_extcode", - "nodeType": "MemberAccess", - "referencedDeclaration": 2074, - "src": "4257:41:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_address_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,address) view returns (uint256)" - } - }, - "id": 938, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4257:105:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4253:109:4", + "constant": false, + "id": 960, + "mutability": "mutable", + "name": "sender", + "nameLocation": "5640:6:5", + "nodeType": "VariableDeclaration", + "scope": 962, + "src": "5632:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 959, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5632:7:5", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 940, - "nodeType": "ExpressionStatement", - "src": "4253:109:4" + "visibility": "internal" + } + ], + "src": "5631:16:5" + }, + "src": "5606:42:5" + }, + { + "canonicalName": "IEntryPoint.UserOpsPerAggregator", + "id": 972, + "members": [ + { + "constant": false, + "id": 966, + "mutability": "mutable", + "name": "userOps", + "nameLocation": "5754:7:5", + "nodeType": "VariableDeclaration", + "scope": 972, + "src": "5732:29:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PackedUserOperation_$1223_storage_$dyn_storage_ptr", + "typeString": "struct PackedUserOperation[]" }, - { - "expression": { - "id": 949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 941, - "name": "X", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 919, - "src": "4373:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 943, - "name": "X", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 919, - "src": "4383:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 944, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 571, - "src": "4386:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 945, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 881, - "src": "4388:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4386:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 947, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 571, - "src": "4390:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } + "typeName": { + "baseType": { + "id": 964, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 963, + "name": "PackedUserOperation", + "nameLocations": [ + "5732:19:5" ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 942, - "name": "addmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -2, - "src": "4376:6:4", - "typeDescriptions": { - "typeIdentifier": "t_function_addmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4376:17:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "nodeType": "IdentifierPath", + "referencedDeclaration": 1223, + "src": "5732:19:5" }, - "src": "4373:20:4", + "referencedDeclaration": 1223, + "src": "5732:19:5", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_storage_ptr", + "typeString": "struct PackedUserOperation" } }, - "id": 950, - "nodeType": "ExpressionStatement", - "src": "4373:20:4" + "id": 965, + "nodeType": "ArrayTypeName", + "src": "5732:21:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PackedUserOperation_$1223_storage_$dyn_storage_ptr", + "typeString": "struct PackedUserOperation[]" + } }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 951, - "name": "X", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 919, - "src": "4411:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 952, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4416:1:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4411:6:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } + "visibility": "internal" + }, + { + "constant": false, + "id": 969, + "mutability": "mutable", + "name": "aggregator", + "nameLocation": "5813:10:5", + "nodeType": "VariableDeclaration", + "scope": 972, + "src": "5801:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAggregator_$857", + "typeString": "contract IAggregator" + }, + "typeName": { + "id": 968, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 967, + "name": "IAggregator", + "nameLocations": [ + "5801:11:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 857, + "src": "5801:11:5" }, - "functionReturnParameters": 879, - "id": 954, - "nodeType": "Return", - "src": "4404:13:4" - } - ] + "referencedDeclaration": 857, + "src": "5801:11:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAggregator_$857", + "typeString": "contract IAggregator" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 971, + "mutability": "mutable", + "name": "signature", + "nameLocation": "5871:9:5", + "nodeType": "VariableDeclaration", + "scope": 972, + "src": "5865:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 970, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5865:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "name": "UserOpsPerAggregator", + "nameLocation": "5701:20:5", + "nodeType": "StructDefinition", + "scope": 1041, + "src": "5694:193:5", + "visibility": "public" + }, + { + "documentation": { + "id": 973, + "nodeType": "StructuredDocumentation", + "src": "5893:383:5", + "text": " Execute a batch of UserOperations.\n No signature aggregator is used.\n If any account requires an aggregator (that is, it returned an aggregator when\n performing simulateValidation), then handleAggregatedOps() must be used instead.\n @param ops - The operations to execute.\n @param beneficiary - The address to receive the fees." }, - "id": 956, - "implemented": true, + "functionSelector": "765e827f", + "id": 982, + "implemented": false, "kind": "function", "modifiers": [], - "name": "ecdsa_precomputed_verify", - "nameLocation": "3705:24:4", + "name": "handleOps", + "nameLocation": "6290:9:5", "nodeType": "FunctionDefinition", "parameters": { - "id": 876, + "id": 980, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 869, + "id": 977, "mutability": "mutable", - "name": "message", - "nameLocation": "3738:7:4", + "name": "ops", + "nameLocation": "6340:3:5", + "nodeType": "VariableDeclaration", + "scope": 982, + "src": "6309:34:5", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PackedUserOperation_$1223_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct PackedUserOperation[]" + }, + "typeName": { + "baseType": { + "id": 975, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 974, + "name": "PackedUserOperation", + "nameLocations": [ + "6309:19:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1223, + "src": "6309:19:5" + }, + "referencedDeclaration": 1223, + "src": "6309:19:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_storage_ptr", + "typeString": "struct PackedUserOperation" + } + }, + "id": 976, + "nodeType": "ArrayTypeName", + "src": "6309:21:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PackedUserOperation_$1223_storage_$dyn_storage_ptr", + "typeString": "struct PackedUserOperation[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 979, + "mutability": "mutable", + "name": "beneficiary", + "nameLocation": "6369:11:5", "nodeType": "VariableDeclaration", - "scope": 956, - "src": "3730:15:4", + "scope": 982, + "src": "6353:27:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" }, "typeName": { - "id": 868, - "name": "bytes32", + "id": 978, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "3730:7:4", + "src": "6353:15:5", + "stateMutability": "payable", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, "visibility": "internal" - }, + } + ], + "src": "6299:87:5" + }, + "returnParameters": { + "id": 981, + "nodeType": "ParameterList", + "parameters": [], + "src": "6395:0:5" + }, + "scope": 1041, + "src": "6281:115:5", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 983, + "nodeType": "StructuredDocumentation", + "src": "6402:260:5", + "text": " Execute a batch of UserOperation with Aggregators\n @param opsPerAggregator - The operations to execute, grouped by aggregator (or address(0) for no-aggregator accounts).\n @param beneficiary - The address to receive the fees." + }, + "functionSelector": "dbed18e0", + "id": 992, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "handleAggregatedOps", + "nameLocation": "6676:19:5", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 990, + "nodeType": "ParameterList", + "parameters": [ { "constant": false, - "id": 873, + "id": 987, "mutability": "mutable", - "name": "rs", - "nameLocation": "3767:2:4", + "name": "opsPerAggregator", + "nameLocation": "6737:16:5", "nodeType": "VariableDeclaration", - "scope": 956, - "src": "3747:22:4", + "scope": 992, + "src": "6705:48:5", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", - "typeString": "uint256[2]" + "typeIdentifier": "t_array$_t_struct$_UserOpsPerAggregator_$972_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct IEntryPoint.UserOpsPerAggregator[]" }, "typeName": { "baseType": { - "id": 870, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3747:7:4", + "id": 985, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 984, + "name": "UserOpsPerAggregator", + "nameLocations": [ + "6705:20:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 972, + "src": "6705:20:5" + }, + "referencedDeclaration": 972, + "src": "6705:20:5", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_struct$_UserOpsPerAggregator_$972_storage_ptr", + "typeString": "struct IEntryPoint.UserOpsPerAggregator" } }, - "id": 872, - "length": { - "hexValue": "32", - "id": 871, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3755:1:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, + "id": 986, "nodeType": "ArrayTypeName", - "src": "3747:10:4", + "src": "6705:22:5", "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", - "typeString": "uint256[2]" + "typeIdentifier": "t_array$_t_struct$_UserOpsPerAggregator_$972_storage_$dyn_storage_ptr", + "typeString": "struct IEntryPoint.UserOpsPerAggregator[]" } }, "visibility": "internal" }, { "constant": false, - "id": 875, + "id": 989, "mutability": "mutable", - "name": "Shamir8", - "nameLocation": "3779:7:4", + "name": "beneficiary", + "nameLocation": "6779:11:5", "nodeType": "VariableDeclaration", - "scope": 956, - "src": "3771:15:4", + "scope": 992, + "src": "6763:27:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" }, "typeName": { - "id": 874, + "id": 988, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3771:7:4", - "stateMutability": "nonpayable", + "src": "6763:15:5", + "stateMutability": "payable", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "visibility": "internal" + } + ], + "src": "6695:101:5" + }, + "returnParameters": { + "id": 991, + "nodeType": "ParameterList", + "parameters": [], + "src": "6805:0:5" + }, + "scope": 1041, + "src": "6667:139:5", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 993, + "nodeType": "StructuredDocumentation", + "src": "6812:322:5", + "text": " Generate a request Id - unique identifier for this request.\n The request ID is a hash over the content of the userOp (except the signature), the entrypoint and the chainid.\n @param userOp - The user operation to generate the request ID for.\n @return hash the hash of this UserOperation" + }, + "functionSelector": "22cdde4c", + "id": 1001, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getUserOpHash", + "nameLocation": "7148:13:5", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 997, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 996, + "mutability": "mutable", + "name": "userOp", + "nameLocation": "7200:6:5", + "nodeType": "VariableDeclaration", + "scope": 1001, + "src": "7171:35:5", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_calldata_ptr", + "typeString": "struct PackedUserOperation" + }, + "typeName": { + "id": 995, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 994, + "name": "PackedUserOperation", + "nameLocations": [ + "7171:19:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1223, + "src": "7171:19:5" + }, + "referencedDeclaration": 1223, + "src": "7171:19:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_storage_ptr", + "typeString": "struct PackedUserOperation" } }, "visibility": "internal" } ], - "src": "3729:58:4" + "src": "7161:51:5" }, "returnParameters": { - "id": 879, + "id": 1000, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 878, + "id": 999, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 956, - "src": "3827:4:4", + "scope": 1001, + "src": "7236:7:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, "typeName": { - "id": 877, - "name": "bool", + "id": 998, + "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3827:4:4", + "src": "7236:7:5", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, "visibility": "internal" } ], - "src": "3826:6:4" + "src": "7235:9:5" }, - "scope": 957, - "src": "3696:728:4", + "scope": 1041, + "src": "7139:106:5", "stateMutability": "view", "virtual": false, - "visibility": "internal" - } - ], - "scope": 958, - "src": "1217:3244:4", - "usedErrors": [], - "usedEvents": [] - } - ], - "src": "1127:3335:4" - }, - "id": 4 - }, - "FreshCryptoLib/FCL_elliptic.sol": { - "ast": { - "absolutePath": "FreshCryptoLib/FCL_elliptic.sol", - "exportedSymbols": { - "FCL_Elliptic_ZZ": [ - 2298 - ] - }, - "id": 2299, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 959, - "literals": [ - "solidity", - ">=", - "0.8", - ".19", - "<", - "0.9", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "1186:32:5" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "FCL_Elliptic_ZZ", - "contractDependencies": [], - "contractKind": "library", - "fullyImplemented": true, - "id": 2298, - "linearizedBaseContracts": [ - 2298 - ], - "name": "FCL_Elliptic_ZZ", - "nameLocation": "1228:15:5", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 962, - "mutability": "constant", - "name": "MODEXP_PRECOMPILE", - "nameLocation": "1410:17:5", - "nodeType": "VariableDeclaration", - "scope": 2298, - "src": "1393:79:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 960, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1393:7:5", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": { - "hexValue": "307830303030303030303030303030303030303030303030303030303030303030303030303030303035", - "id": 961, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1430:42:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "value": "0x0000000000000000000000000000000000000005" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 965, - "mutability": "constant", - "name": "p", - "nameLocation": "1527:1:5", - "nodeType": "VariableDeclaration", - "scope": 2298, - "src": "1510:87:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 963, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1510:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "307846464646464646463030303030303031303030303030303030303030303030303030303030303030464646464646464646464646464646464646464646464646", - "id": 964, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1531:66:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_115792089210356248762697446949407573530086143415290314195533631308867097853951_by_1", - "typeString": "int_const 1157...(70 digits omitted)...3951" - }, - "value": "0xFFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 968, - "mutability": "constant", - "name": "a", - "nameLocation": "1662:1:5", - "nodeType": "VariableDeclaration", - "scope": 2298, - "src": "1645:87:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 966, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1645:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "307846464646464646463030303030303031303030303030303030303030303030303030303030303030464646464646464646464646464646464646464646464643", - "id": 967, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1666:66:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_115792089210356248762697446949407573530086143415290314195533631308867097853948_by_1", - "typeString": "int_const 1157...(70 digits omitted)...3948" - }, - "value": "0xFFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 971, - "mutability": "constant", - "name": "b", - "nameLocation": "1798:1:5", - "nodeType": "VariableDeclaration", - "scope": 2298, - "src": "1781:87:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 969, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1781:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "307835414336333544384141334139334537423345424244353537363938383642433635314430364230434335334230463633424345334333453237443236303442", - "id": 970, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1802:66:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_41058363725152142129326129780047268409114441015993725554835256314039467401291_by_1", - "typeString": "int_const 4105...(69 digits omitted)...1291" - }, - "value": "0x5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 974, - "mutability": "constant", - "name": "gx", - "nameLocation": "1933:2:5", - "nodeType": "VariableDeclaration", - "scope": 2298, - "src": "1916:88:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 972, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1916:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "307836423137443146324531324334323437463842434536453536334134343046323737303337443831324445423333413046344131333934354438393843323936", - "id": 973, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1938:66:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_48439561293906451759052585252797914202762949526041747995844080717082404635286_by_1", - "typeString": "int_const 4843...(69 digits omitted)...5286" - }, - "value": "0x6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 977, - "mutability": "constant", - "name": "gy", - "nameLocation": "2027:2:5", - "nodeType": "VariableDeclaration", - "scope": 2298, - "src": "2010:88:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 975, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2010:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "307834464533343245324645314137463942384545374542344137433046394531363242434533333537364233313545434543424236343036383337424635314635", - "id": 976, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2032:66:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_36134250956749795798585127919587881956611106672985015071877198253568414405109_by_1", - "typeString": "int_const 3613...(69 digits omitted)...5109" - }, - "value": "0x4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5" - }, - "visibility": "internal" + "visibility": "external" }, { - "constant": true, - "id": 980, - "mutability": "constant", - "name": "n", - "nameLocation": "2158:1:5", - "nodeType": "VariableDeclaration", - "scope": 2298, - "src": "2141:87:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 978, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2141:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "canonicalName": "IEntryPoint.ReturnInfo", + "documentation": { + "id": 1002, + "nodeType": "StructuredDocumentation", + "src": "7251:474:5", + "text": " Gas and return values during simulation.\n @param preOpGas - The gas used for validation (including preValidationGas)\n @param prefund - The required prefund for this operation\n @param accountValidationData - returned validationData from account.\n @param paymasterValidationData - return validationData from paymaster.\n @param paymasterContext - Returned by validatePaymasterUserOp (to be passed into postOp)" }, - "value": { - "hexValue": "307846464646464646463030303030303030464646464646464646464646464646464243453646414144413731373945383446334239434143324643363332353531", - "id": 979, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2162:66:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_115792089210356248762697446949407573529996955224135760342422259061068512044369_by_1", - "typeString": "int_const 1157...(70 digits omitted)...4369" + "id": 1013, + "members": [ + { + "constant": false, + "id": 1004, + "mutability": "mutable", + "name": "preOpGas", + "nameLocation": "7766:8:5", + "nodeType": "VariableDeclaration", + "scope": 1013, + "src": "7758:16:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1003, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7758:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" }, - "value": "0xFFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 983, - "mutability": "constant", - "name": "minus_2", - "nameLocation": "2336:7:5", - "nodeType": "VariableDeclaration", - "scope": 2298, - "src": "2319:93:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 981, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2319:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "307846464646464646463030303030303031303030303030303030303030303030303030303030303030464646464646464646464646464646464646464646464644", - "id": 982, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2346:66:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_115792089210356248762697446949407573530086143415290314195533631308867097853949_by_1", - "typeString": "int_const 1157...(70 digits omitted)...3949" + { + "constant": false, + "id": 1006, + "mutability": "mutable", + "name": "prefund", + "nameLocation": "7792:7:5", + "nodeType": "VariableDeclaration", + "scope": 1013, + "src": "7784:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1005, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7784:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" }, - "value": "0xFFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFD" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 986, - "mutability": "constant", - "name": "minus_2modn", - "nameLocation": "2490:11:5", - "nodeType": "VariableDeclaration", - "scope": 2298, - "src": "2473:97:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 984, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2473:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "307846464646464646463030303030303030464646464646464646464646464646464243453646414144413731373945383446334239434143324643363332353446", - "id": 985, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2504:66:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_115792089210356248762697446949407573529996955224135760342422259061068512044367_by_1", - "typeString": "int_const 1157...(70 digits omitted)...4367" + { + "constant": false, + "id": 1008, + "mutability": "mutable", + "name": "accountValidationData", + "nameLocation": "7817:21:5", + "nodeType": "VariableDeclaration", + "scope": 1013, + "src": "7809:29:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1007, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7809:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" }, - "value": "0xFFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC63254F" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 989, - "mutability": "constant", - "name": "minus_1", - "nameLocation": "2594:7:5", - "nodeType": "VariableDeclaration", - "scope": 2298, - "src": "2577:93:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 987, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2577:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "307846464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646", - "id": 988, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2604:66:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1", - "typeString": "int_const 1157...(70 digits omitted)...9935" + { + "constant": false, + "id": 1010, + "mutability": "mutable", + "name": "paymasterValidationData", + "nameLocation": "7856:23:5", + "nodeType": "VariableDeclaration", + "scope": 1013, + "src": "7848:31:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1009, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7848:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" }, - "value": "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 992, - "mutability": "constant", - "name": "pp1div4", - "nameLocation": "2709:7:5", - "nodeType": "VariableDeclaration", - "scope": 2298, - "src": "2692:91:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 990, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2692:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + { + "constant": false, + "id": 1012, + "mutability": "mutable", + "name": "paymasterContext", + "nameLocation": "7895:16:5", + "nodeType": "VariableDeclaration", + "scope": 1013, + "src": "7889:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1011, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7889:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" } - }, - "value": { - "hexValue": "307833666666666666666330303030303030343030303030303030303030303030303030303030303030343030303030303030303030303030303030303030303030", - "id": 991, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2717:66:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_28948022302589062190674361737351893382521535853822578548883407827216774463488_by_1", - "typeString": "int_const 2894...(69 digits omitted)...3488" - }, - "value": "0x3fffffffc0000000400000000000000000000000400000000000000000000000" - }, - "visibility": "internal" + ], + "name": "ReturnInfo", + "nameLocation": "7737:10:5", + "nodeType": "StructDefinition", + "scope": 1041, + "src": "7730:188:5", + "visibility": "public" }, { - "constant": true, - "id": 995, - "mutability": "constant", - "name": "_NOTSQUARE", - "nameLocation": "2867:10:5", - "nodeType": "VariableDeclaration", - "scope": 2298, - "src": "2850:94:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 993, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2850:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "canonicalName": "IEntryPoint.AggregatorStakeInfo", + "documentation": { + "id": 1014, + "nodeType": "StructuredDocumentation", + "src": "7924:124:5", + "text": " Returned aggregated signature info:\n The aggregator returned by the account, and its current stake." }, - "value": { - "hexValue": "307846464646464646463030303030303032303030303030303030303030303030303030303030303030464646464646464646464646464646464646464646464646", - "id": 994, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2878:66:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_115792089210356248768974548684794254293921932838497980611635986753331132366847_by_1", - "typeString": "int_const 1157...(70 digits omitted)...6847" + "id": 1020, + "members": [ + { + "constant": false, + "id": 1016, + "mutability": "mutable", + "name": "aggregator", + "nameLocation": "8098:10:5", + "nodeType": "VariableDeclaration", + "scope": 1020, + "src": "8090:18:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1015, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8090:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" }, - "value": "0xFFFFFFFF00000002000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 998, - "mutability": "constant", - "name": "_NOTONCURVE", - "nameLocation": "2967:11:5", - "nodeType": "VariableDeclaration", - "scope": 2298, - "src": "2950:95:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 996, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2950:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + { + "constant": false, + "id": 1019, + "mutability": "mutable", + "name": "stakeInfo", + "nameLocation": "8128:9:5", + "nodeType": "VariableDeclaration", + "scope": 1020, + "src": "8118:19:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInfo_$1153_storage_ptr", + "typeString": "struct IStakeManager.StakeInfo" + }, + "typeName": { + "id": 1018, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1017, + "name": "StakeInfo", + "nameLocations": [ + "8118:9:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1153, + "src": "8118:9:5" + }, + "referencedDeclaration": 1153, + "src": "8118:9:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInfo_$1153_storage_ptr", + "typeString": "struct IStakeManager.StakeInfo" + } + }, + "visibility": "internal" } - }, - "value": { - "hexValue": "307846464646464646463030303030303033303030303030303030303030303030303030303030303030464646464646464646464646464646464646464646464646", - "id": 997, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2979:66:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_115792089210356248775251650420180935057757722261705647027738342197795166879743_by_1", - "typeString": "int_const 1157...(70 digits omitted)...9743" - }, - "value": "0xFFFFFFFF00000003000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF" - }, - "visibility": "internal" + ], + "name": "AggregatorStakeInfo", + "nameLocation": "8060:19:5", + "nodeType": "StructDefinition", + "scope": 1041, + "src": "8053:91:5", + "visibility": "public" }, { - "body": { - "id": 1007, - "nodeType": "Block", - "src": "3225:663:5", - "statements": [ - { - "AST": { - "nativeSrc": "3244:638:5", - "nodeType": "YulBlock", - "src": "3244:638:5", - "statements": [ - { - "nativeSrc": "3258:26:5", - "nodeType": "YulVariableDeclaration", - "src": "3258:26:5", - "value": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "3279:4:5", - "nodeType": "YulLiteral", - "src": "3279:4:5", - "type": "", - "value": "0x40" - } - ], - "functionName": { - "name": "mload", - "nativeSrc": "3273:5:5", - "nodeType": "YulIdentifier", - "src": "3273:5:5" - }, - "nativeSrc": "3273:11:5", - "nodeType": "YulFunctionCall", - "src": "3273:11:5" - }, - "variables": [ - { - "name": "pointer", - "nativeSrc": "3262:7:5", - "nodeType": "YulTypedName", - "src": "3262:7:5", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pointer", - "nativeSrc": "3381:7:5", - "nodeType": "YulIdentifier", - "src": "3381:7:5" - }, - { - "kind": "number", - "nativeSrc": "3390:4:5", - "nodeType": "YulLiteral", - "src": "3390:4:5", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "3374:6:5", - "nodeType": "YulIdentifier", - "src": "3374:6:5" - }, - "nativeSrc": "3374:21:5", - "nodeType": "YulFunctionCall", - "src": "3374:21:5" - }, - "nativeSrc": "3374:21:5", - "nodeType": "YulExpressionStatement", - "src": "3374:21:5" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pointer", - "nativeSrc": "3419:7:5", - "nodeType": "YulIdentifier", - "src": "3419:7:5" - }, - { - "kind": "number", - "nativeSrc": "3428:4:5", - "nodeType": "YulLiteral", - "src": "3428:4:5", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "3415:3:5", - "nodeType": "YulIdentifier", - "src": "3415:3:5" - }, - "nativeSrc": "3415:18:5", - "nodeType": "YulFunctionCall", - "src": "3415:18:5" - }, - { - "kind": "number", - "nativeSrc": "3435:4:5", - "nodeType": "YulLiteral", - "src": "3435:4:5", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "3408:6:5", - "nodeType": "YulIdentifier", - "src": "3408:6:5" - }, - "nativeSrc": "3408:32:5", - "nodeType": "YulFunctionCall", - "src": "3408:32:5" - }, - "nativeSrc": "3408:32:5", - "nodeType": "YulExpressionStatement", - "src": "3408:32:5" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pointer", - "nativeSrc": "3464:7:5", - "nodeType": "YulIdentifier", - "src": "3464:7:5" - }, - { - "kind": "number", - "nativeSrc": "3473:4:5", - "nodeType": "YulLiteral", - "src": "3473:4:5", - "type": "", - "value": "0x40" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "3460:3:5", - "nodeType": "YulIdentifier", - "src": "3460:3:5" - }, - "nativeSrc": "3460:18:5", - "nodeType": "YulFunctionCall", - "src": "3460:18:5" - }, - { - "kind": "number", - "nativeSrc": "3480:4:5", - "nodeType": "YulLiteral", - "src": "3480:4:5", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "3453:6:5", - "nodeType": "YulIdentifier", - "src": "3453:6:5" - }, - "nativeSrc": "3453:32:5", - "nodeType": "YulFunctionCall", - "src": "3453:32:5" - }, - "nativeSrc": "3453:32:5", - "nodeType": "YulExpressionStatement", - "src": "3453:32:5" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pointer", - "nativeSrc": "3568:7:5", - "nodeType": "YulIdentifier", - "src": "3568:7:5" - }, - { - "kind": "number", - "nativeSrc": "3577:4:5", - "nodeType": "YulLiteral", - "src": "3577:4:5", - "type": "", - "value": "0x60" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "3564:3:5", - "nodeType": "YulIdentifier", - "src": "3564:3:5" - }, - "nativeSrc": "3564:18:5", - "nodeType": "YulFunctionCall", - "src": "3564:18:5" - }, - { - "name": "u", - "nativeSrc": "3584:1:5", - "nodeType": "YulIdentifier", - "src": "3584:1:5" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "3557:6:5", - "nodeType": "YulIdentifier", - "src": "3557:6:5" - }, - "nativeSrc": "3557:29:5", - "nodeType": "YulFunctionCall", - "src": "3557:29:5" - }, - "nativeSrc": "3557:29:5", - "nodeType": "YulExpressionStatement", - "src": "3557:29:5" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pointer", - "nativeSrc": "3610:7:5", - "nodeType": "YulIdentifier", - "src": "3610:7:5" - }, - { - "kind": "number", - "nativeSrc": "3619:4:5", - "nodeType": "YulLiteral", - "src": "3619:4:5", - "type": "", - "value": "0x80" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "3606:3:5", - "nodeType": "YulIdentifier", - "src": "3606:3:5" - }, - "nativeSrc": "3606:18:5", - "nodeType": "YulFunctionCall", - "src": "3606:18:5" - }, - { - "name": "minus_2modn", - "nativeSrc": "3626:11:5", - "nodeType": "YulIdentifier", - "src": "3626:11:5" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "3599:6:5", - "nodeType": "YulIdentifier", - "src": "3599:6:5" - }, - "nativeSrc": "3599:39:5", - "nodeType": "YulFunctionCall", - "src": "3599:39:5" - }, - "nativeSrc": "3599:39:5", - "nodeType": "YulExpressionStatement", - "src": "3599:39:5" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pointer", - "nativeSrc": "3662:7:5", - "nodeType": "YulIdentifier", - "src": "3662:7:5" - }, - { - "kind": "number", - "nativeSrc": "3671:4:5", - "nodeType": "YulLiteral", - "src": "3671:4:5", - "type": "", - "value": "0xa0" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "3658:3:5", - "nodeType": "YulIdentifier", - "src": "3658:3:5" - }, - "nativeSrc": "3658:18:5", - "nodeType": "YulFunctionCall", - "src": "3658:18:5" - }, - { - "name": "n", - "nativeSrc": "3678:1:5", - "nodeType": "YulIdentifier", - "src": "3678:1:5" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "3651:6:5", - "nodeType": "YulIdentifier", - "src": "3651:6:5" - }, - "nativeSrc": "3651:29:5", - "nodeType": "YulFunctionCall", - "src": "3651:29:5" - }, - "nativeSrc": "3651:29:5", - "nodeType": "YulExpressionStatement", - "src": "3651:29:5" - }, - { - "body": { - "nativeSrc": "3819:16:5", - "nodeType": "YulBlock", - "src": "3819:16:5", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "3828:1:5", - "nodeType": "YulLiteral", - "src": "3828:1:5", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "3831:1:5", - "nodeType": "YulLiteral", - "src": "3831:1:5", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "3821:6:5", - "nodeType": "YulIdentifier", - "src": "3821:6:5" - }, - "nativeSrc": "3821:12:5", - "nodeType": "YulFunctionCall", - "src": "3821:12:5" - }, - "nativeSrc": "3821:12:5", - "nodeType": "YulExpressionStatement", - "src": "3821:12:5" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nativeSrc": "3778:1:5", - "nodeType": "YulLiteral", - "src": "3778:1:5", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nativeSrc": "3774:3:5", - "nodeType": "YulIdentifier", - "src": "3774:3:5" - }, - "nativeSrc": "3774:6:5", - "nodeType": "YulFunctionCall", - "src": "3774:6:5" - }, - { - "kind": "number", - "nativeSrc": "3782:4:5", - "nodeType": "YulLiteral", - "src": "3782:4:5", - "type": "", - "value": "0x05" - }, - { - "name": "pointer", - "nativeSrc": "3788:7:5", - "nodeType": "YulIdentifier", - "src": "3788:7:5" - }, - { - "kind": "number", - "nativeSrc": "3797:4:5", - "nodeType": "YulLiteral", - "src": "3797:4:5", - "type": "", - "value": "0xc0" - }, - { - "name": "pointer", - "nativeSrc": "3803:7:5", - "nodeType": "YulIdentifier", - "src": "3803:7:5" - }, - { - "kind": "number", - "nativeSrc": "3812:4:5", - "nodeType": "YulLiteral", - "src": "3812:4:5", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "staticcall", - "nativeSrc": "3763:10:5", - "nodeType": "YulIdentifier", - "src": "3763:10:5" - }, - "nativeSrc": "3763:54:5", - "nodeType": "YulFunctionCall", - "src": "3763:54:5" - } - ], - "functionName": { - "name": "iszero", - "nativeSrc": "3756:6:5", - "nodeType": "YulIdentifier", - "src": "3756:6:5" - }, - "nativeSrc": "3756:62:5", - "nodeType": "YulFunctionCall", - "src": "3756:62:5" - }, - "nativeSrc": "3753:82:5", - "nodeType": "YulIf", - "src": "3753:82:5" - }, - { - "nativeSrc": "3848:24:5", - "nodeType": "YulAssignment", - "src": "3848:24:5", - "value": { - "arguments": [ - { - "name": "pointer", - "nativeSrc": "3864:7:5", - "nodeType": "YulIdentifier", - "src": "3864:7:5" - } - ], - "functionName": { - "name": "mload", - "nativeSrc": "3858:5:5", - "nodeType": "YulIdentifier", - "src": "3858:5:5" - }, - "nativeSrc": "3858:14:5", - "nodeType": "YulFunctionCall", - "src": "3858:14:5" - }, - "variableNames": [ - { - "name": "result", - "nativeSrc": "3848:6:5", - "nodeType": "YulIdentifier", - "src": "3848:6:5" - } - ] - } - ] - }, - "evmVersion": "paris", - "externalReferences": [ - { - "declaration": 986, - "isOffset": false, - "isSlot": false, - "src": "3626:11:5", - "valueSize": 1 - }, - { - "declaration": 980, - "isOffset": false, - "isSlot": false, - "src": "3678:1:5", - "valueSize": 1 - }, - { - "declaration": 1004, - "isOffset": false, - "isSlot": false, - "src": "3848:6:5", - "valueSize": 1 - }, - { - "declaration": 1001, - "isOffset": false, - "isSlot": false, - "src": "3584:1:5", - "valueSize": 1 - } - ], - "id": 1006, - "nodeType": "InlineAssembly", - "src": "3235:647:5" - } - ] - }, "documentation": { - "id": 999, + "id": 1021, "nodeType": "StructuredDocumentation", - "src": "3052:97:5", - "text": " /* inversion mod n via a^(n-2), use of precompiled using little Fermat theorem" + "src": "8150:338:5", + "text": " Get counterfactual sender address.\n Calculate the sender contract address that will be generated by the initCode and salt in the UserOperation.\n This method always revert, and returns the address in SenderAddressResult error\n @param initCode - The constructor code to be passed into the UserOperation." }, - "id": 1008, - "implemented": true, + "functionSelector": "9b249f69", + "id": 1026, + "implemented": false, "kind": "function", "modifiers": [], - "name": "FCL_nModInv", - "nameLocation": "3163:11:5", + "name": "getSenderAddress", + "nameLocation": "8502:16:5", "nodeType": "FunctionDefinition", "parameters": { - "id": 1002, + "id": 1024, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1001, + "id": 1023, "mutability": "mutable", - "name": "u", - "nameLocation": "3183:1:5", + "name": "initCode", + "nameLocation": "8532:8:5", "nodeType": "VariableDeclaration", - "scope": 1008, - "src": "3175:9:5", + "scope": 1026, + "src": "8519:21:5", "stateVariable": false, - "storageLocation": "default", + "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" }, "typeName": { - "id": 1000, - "name": "uint256", + "id": 1022, + "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "3175:7:5", + "src": "8519:5:5", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" } }, "visibility": "internal" } ], - "src": "3174:11:5" + "src": "8518:23:5" }, "returnParameters": { - "id": 1005, + "id": 1025, + "nodeType": "ParameterList", + "parameters": [], + "src": "8550:0:5" + }, + "scope": 1041, + "src": "8493:58:5", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "errorSelector": "99410554", + "id": 1032, + "name": "DelegateAndRevert", + "nameLocation": "8563:17:5", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 1031, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1004, + "id": 1028, "mutability": "mutable", - "name": "result", - "nameLocation": "3217:6:5", + "name": "success", + "nameLocation": "8586:7:5", "nodeType": "VariableDeclaration", - "scope": 1008, - "src": "3209:14:5", + "scope": 1032, + "src": "8581:12:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" }, "typeName": { - "id": 1003, - "name": "uint256", + "id": 1027, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8581:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1030, + "mutability": "mutable", + "name": "ret", + "nameLocation": "8601:3:5", + "nodeType": "VariableDeclaration", + "scope": 1032, + "src": "8595:9:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1029, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8595:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "8580:25:5" + }, + "src": "8557:49:5" + }, + { + "documentation": { + "id": 1033, + "nodeType": "StructuredDocumentation", + "src": "8612:492:5", + "text": " Helper method for dry-run testing.\n @dev calling this method, the EntryPoint will make a delegatecall to the given data, and report (via revert) the result.\n The method always revert, so is only useful off-chain for dry run calls, in cases where state-override to replace\n actual EntryPoint code is less convenient.\n @param target a target contract to make a delegatecall from entrypoint\n @param data data to pass to target in a delegatecall" + }, + "functionSelector": "850aaf62", + "id": 1040, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "delegateAndRevert", + "nameLocation": "9118:17:5", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1038, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1035, + "mutability": "mutable", + "name": "target", + "nameLocation": "9144:6:5", + "nodeType": "VariableDeclaration", + "scope": 1040, + "src": "9136:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1034, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9136:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1037, + "mutability": "mutable", + "name": "data", + "nameLocation": "9167:4:5", + "nodeType": "VariableDeclaration", + "scope": 1040, + "src": "9152:19:5", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1036, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "9152:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "9135:37:5" + }, + "returnParameters": { + "id": 1039, + "nodeType": "ParameterList", + "parameters": [], + "src": "9181:0:5" + }, + "scope": 1041, + "src": "9109:73:5", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 1042, + "src": "436:8748:5", + "usedErrors": [ + 940, + 949, + 953, + 958, + 962, + 1032 + ], + "usedEvents": [ + 883, + 894, + 905, + 916, + 925, + 928, + 933, + 1106, + 1114, + 1122, + 1128, + 1136 + ] + } + ], + "src": "163:9022:5" + }, + "id": 5 + }, + "@account-abstraction/contracts/interfaces/INonceManager.sol": { + "ast": { + "absolutePath": "@account-abstraction/contracts/interfaces/INonceManager.sol", + "exportedSymbols": { + "INonceManager": [ + 1060 + ] + }, + "id": 1061, + "license": "GPL-3.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1043, + "literals": [ + "solidity", + ">=", + "0.7", + ".5" + ], + "nodeType": "PragmaDirective", + "src": "36:24:6" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "INonceManager", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "id": 1060, + "linearizedBaseContracts": [ + 1060 + ], + "name": "INonceManager", + "nameLocation": "72:13:6", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 1044, + "nodeType": "StructuredDocumentation", + "src": "93:416:6", + "text": " Return the next nonce for this sender.\n Within a given key, the nonce values are sequenced (starting with zero, and incremented by one on each userop)\n But UserOp with different keys can come with arbitrary order.\n @param sender the account address\n @param key the high 192 bit of the nonce\n @return nonce a full nonce to pass for next UserOp with this sender." + }, + "functionSelector": "35567e1a", + "id": 1053, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getNonce", + "nameLocation": "523:8:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1049, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1046, + "mutability": "mutable", + "name": "sender", + "nameLocation": "540:6:6", + "nodeType": "VariableDeclaration", + "scope": 1053, + "src": "532:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1045, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "532:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1048, + "mutability": "mutable", + "name": "key", + "nameLocation": "556:3:6", + "nodeType": "VariableDeclaration", + "scope": 1053, + "src": "548:11:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint192", + "typeString": "uint192" + }, + "typeName": { + "id": 1047, + "name": "uint192", + "nodeType": "ElementaryTypeName", + "src": "548:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint192", + "typeString": "uint192" + } + }, + "visibility": "internal" + } + ], + "src": "531:29:6" + }, + "returnParameters": { + "id": 1052, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1051, + "mutability": "mutable", + "name": "nonce", + "nameLocation": "596:5:6", + "nodeType": "VariableDeclaration", + "scope": 1053, + "src": "588:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1050, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3209:7:5", + "src": "588:7:6", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14641,578 +13542,268 @@ "visibility": "internal" } ], - "src": "3208:16:5" + "src": "587:15:6" }, - "scope": 2298, - "src": "3154:734:5", + "scope": 1060, + "src": "514:89:6", "stateMutability": "view", "virtual": false, - "visibility": "internal" + "visibility": "external" }, { - "body": { - "id": 1017, - "nodeType": "Block", - "src": "4071:659:5", - "statements": [ + "documentation": { + "id": 1054, + "nodeType": "StructuredDocumentation", + "src": "609:449:6", + "text": " Manually increment the nonce of the sender.\n This method is exposed just for completeness..\n Account does NOT need to call it, neither during validation, nor elsewhere,\n as the EntryPoint will update the nonce regardless.\n Possible use-case is call it with various keys to \"initialize\" their nonces to one, so that future\n UserOperations will not pay extra for the first transaction with a given key." + }, + "functionSelector": "0bd28e3b", + "id": 1059, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "incrementNonce", + "nameLocation": "1072:14:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1057, + "nodeType": "ParameterList", + "parameters": [ { - "AST": { - "nativeSrc": "4090:634:5", - "nodeType": "YulBlock", - "src": "4090:634:5", - "statements": [ - { - "nativeSrc": "4104:26:5", - "nodeType": "YulVariableDeclaration", - "src": "4104:26:5", - "value": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "4125:4:5", - "nodeType": "YulLiteral", - "src": "4125:4:5", - "type": "", - "value": "0x40" - } - ], - "functionName": { - "name": "mload", - "nativeSrc": "4119:5:5", - "nodeType": "YulIdentifier", - "src": "4119:5:5" - }, - "nativeSrc": "4119:11:5", - "nodeType": "YulFunctionCall", - "src": "4119:11:5" - }, - "variables": [ - { - "name": "pointer", - "nativeSrc": "4108:7:5", - "nodeType": "YulTypedName", - "src": "4108:7:5", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pointer", - "nativeSrc": "4227:7:5", - "nodeType": "YulIdentifier", - "src": "4227:7:5" - }, - { - "kind": "number", - "nativeSrc": "4236:4:5", - "nodeType": "YulLiteral", - "src": "4236:4:5", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "4220:6:5", - "nodeType": "YulIdentifier", - "src": "4220:6:5" - }, - "nativeSrc": "4220:21:5", - "nodeType": "YulFunctionCall", - "src": "4220:21:5" - }, - "nativeSrc": "4220:21:5", - "nodeType": "YulExpressionStatement", - "src": "4220:21:5" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pointer", - "nativeSrc": "4265:7:5", - "nodeType": "YulIdentifier", - "src": "4265:7:5" - }, - { - "kind": "number", - "nativeSrc": "4274:4:5", - "nodeType": "YulLiteral", - "src": "4274:4:5", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "4261:3:5", - "nodeType": "YulIdentifier", - "src": "4261:3:5" - }, - "nativeSrc": "4261:18:5", - "nodeType": "YulFunctionCall", - "src": "4261:18:5" - }, - { - "kind": "number", - "nativeSrc": "4281:4:5", - "nodeType": "YulLiteral", - "src": "4281:4:5", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "4254:6:5", - "nodeType": "YulIdentifier", - "src": "4254:6:5" - }, - "nativeSrc": "4254:32:5", - "nodeType": "YulFunctionCall", - "src": "4254:32:5" - }, - "nativeSrc": "4254:32:5", - "nodeType": "YulExpressionStatement", - "src": "4254:32:5" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pointer", - "nativeSrc": "4310:7:5", - "nodeType": "YulIdentifier", - "src": "4310:7:5" - }, - { - "kind": "number", - "nativeSrc": "4319:4:5", - "nodeType": "YulLiteral", - "src": "4319:4:5", - "type": "", - "value": "0x40" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "4306:3:5", - "nodeType": "YulIdentifier", - "src": "4306:3:5" - }, - "nativeSrc": "4306:18:5", - "nodeType": "YulFunctionCall", - "src": "4306:18:5" - }, - { - "kind": "number", - "nativeSrc": "4326:4:5", - "nodeType": "YulLiteral", - "src": "4326:4:5", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "4299:6:5", - "nodeType": "YulIdentifier", - "src": "4299:6:5" - }, - "nativeSrc": "4299:32:5", - "nodeType": "YulFunctionCall", - "src": "4299:32:5" - }, - "nativeSrc": "4299:32:5", - "nodeType": "YulExpressionStatement", - "src": "4299:32:5" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pointer", - "nativeSrc": "4414:7:5", - "nodeType": "YulIdentifier", - "src": "4414:7:5" - }, - { - "kind": "number", - "nativeSrc": "4423:4:5", - "nodeType": "YulLiteral", - "src": "4423:4:5", - "type": "", - "value": "0x60" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "4410:3:5", - "nodeType": "YulIdentifier", - "src": "4410:3:5" - }, - "nativeSrc": "4410:18:5", - "nodeType": "YulFunctionCall", - "src": "4410:18:5" - }, - { - "name": "u", - "nativeSrc": "4430:1:5", - "nodeType": "YulIdentifier", - "src": "4430:1:5" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "4403:6:5", - "nodeType": "YulIdentifier", - "src": "4403:6:5" - }, - "nativeSrc": "4403:29:5", - "nodeType": "YulFunctionCall", - "src": "4403:29:5" - }, - "nativeSrc": "4403:29:5", - "nodeType": "YulExpressionStatement", - "src": "4403:29:5" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pointer", - "nativeSrc": "4456:7:5", - "nodeType": "YulIdentifier", - "src": "4456:7:5" - }, - { - "kind": "number", - "nativeSrc": "4465:4:5", - "nodeType": "YulLiteral", - "src": "4465:4:5", - "type": "", - "value": "0x80" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "4452:3:5", - "nodeType": "YulIdentifier", - "src": "4452:3:5" - }, - "nativeSrc": "4452:18:5", - "nodeType": "YulFunctionCall", - "src": "4452:18:5" - }, - { - "name": "minus_2", - "nativeSrc": "4472:7:5", - "nodeType": "YulIdentifier", - "src": "4472:7:5" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "4445:6:5", - "nodeType": "YulIdentifier", - "src": "4445:6:5" - }, - "nativeSrc": "4445:35:5", - "nodeType": "YulFunctionCall", - "src": "4445:35:5" - }, - "nativeSrc": "4445:35:5", - "nodeType": "YulExpressionStatement", - "src": "4445:35:5" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pointer", - "nativeSrc": "4504:7:5", - "nodeType": "YulIdentifier", - "src": "4504:7:5" - }, - { - "kind": "number", - "nativeSrc": "4513:4:5", - "nodeType": "YulLiteral", - "src": "4513:4:5", - "type": "", - "value": "0xa0" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "4500:3:5", - "nodeType": "YulIdentifier", - "src": "4500:3:5" - }, - "nativeSrc": "4500:18:5", - "nodeType": "YulFunctionCall", - "src": "4500:18:5" - }, - { - "name": "p", - "nativeSrc": "4520:1:5", - "nodeType": "YulIdentifier", - "src": "4520:1:5" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "4493:6:5", - "nodeType": "YulIdentifier", - "src": "4493:6:5" - }, - "nativeSrc": "4493:29:5", - "nodeType": "YulFunctionCall", - "src": "4493:29:5" - }, - "nativeSrc": "4493:29:5", - "nodeType": "YulExpressionStatement", - "src": "4493:29:5" - }, - { - "body": { - "nativeSrc": "4661:16:5", - "nodeType": "YulBlock", - "src": "4661:16:5", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "4670:1:5", - "nodeType": "YulLiteral", - "src": "4670:1:5", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "4673:1:5", - "nodeType": "YulLiteral", - "src": "4673:1:5", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "4663:6:5", - "nodeType": "YulIdentifier", - "src": "4663:6:5" - }, - "nativeSrc": "4663:12:5", - "nodeType": "YulFunctionCall", - "src": "4663:12:5" - }, - "nativeSrc": "4663:12:5", - "nodeType": "YulExpressionStatement", - "src": "4663:12:5" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nativeSrc": "4620:1:5", - "nodeType": "YulLiteral", - "src": "4620:1:5", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nativeSrc": "4616:3:5", - "nodeType": "YulIdentifier", - "src": "4616:3:5" - }, - "nativeSrc": "4616:6:5", - "nodeType": "YulFunctionCall", - "src": "4616:6:5" - }, - { - "kind": "number", - "nativeSrc": "4624:4:5", - "nodeType": "YulLiteral", - "src": "4624:4:5", - "type": "", - "value": "0x05" - }, - { - "name": "pointer", - "nativeSrc": "4630:7:5", - "nodeType": "YulIdentifier", - "src": "4630:7:5" - }, - { - "kind": "number", - "nativeSrc": "4639:4:5", - "nodeType": "YulLiteral", - "src": "4639:4:5", - "type": "", - "value": "0xc0" - }, - { - "name": "pointer", - "nativeSrc": "4645:7:5", - "nodeType": "YulIdentifier", - "src": "4645:7:5" - }, - { - "kind": "number", - "nativeSrc": "4654:4:5", - "nodeType": "YulLiteral", - "src": "4654:4:5", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "staticcall", - "nativeSrc": "4605:10:5", - "nodeType": "YulIdentifier", - "src": "4605:10:5" - }, - "nativeSrc": "4605:54:5", - "nodeType": "YulFunctionCall", - "src": "4605:54:5" - } - ], - "functionName": { - "name": "iszero", - "nativeSrc": "4598:6:5", - "nodeType": "YulIdentifier", - "src": "4598:6:5" - }, - "nativeSrc": "4598:62:5", - "nodeType": "YulFunctionCall", - "src": "4598:62:5" - }, - "nativeSrc": "4595:82:5", - "nodeType": "YulIf", - "src": "4595:82:5" - }, - { - "nativeSrc": "4690:24:5", - "nodeType": "YulAssignment", - "src": "4690:24:5", - "value": { - "arguments": [ - { - "name": "pointer", - "nativeSrc": "4706:7:5", - "nodeType": "YulIdentifier", - "src": "4706:7:5" - } - ], - "functionName": { - "name": "mload", - "nativeSrc": "4700:5:5", - "nodeType": "YulIdentifier", - "src": "4700:5:5" - }, - "nativeSrc": "4700:14:5", - "nodeType": "YulFunctionCall", - "src": "4700:14:5" - }, - "variableNames": [ - { - "name": "result", - "nativeSrc": "4690:6:5", - "nodeType": "YulIdentifier", - "src": "4690:6:5" - } - ] - } - ] + "constant": false, + "id": 1056, + "mutability": "mutable", + "name": "key", + "nameLocation": "1095:3:6", + "nodeType": "VariableDeclaration", + "scope": 1059, + "src": "1087:11:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint192", + "typeString": "uint192" }, - "evmVersion": "paris", - "externalReferences": [ - { - "declaration": 983, - "isOffset": false, - "isSlot": false, - "src": "4472:7:5", - "valueSize": 1 - }, - { - "declaration": 965, - "isOffset": false, - "isSlot": false, - "src": "4520:1:5", - "valueSize": 1 - }, - { - "declaration": 1014, - "isOffset": false, - "isSlot": false, - "src": "4690:6:5", - "valueSize": 1 - }, - { - "declaration": 1011, - "isOffset": false, - "isSlot": false, - "src": "4430:1:5", - "valueSize": 1 + "typeName": { + "id": 1055, + "name": "uint192", + "nodeType": "ElementaryTypeName", + "src": "1087:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint192", + "typeString": "uint192" } - ], - "id": 1016, - "nodeType": "InlineAssembly", - "src": "4081:643:5" + }, + "visibility": "internal" } - ] + ], + "src": "1086:13:6" + }, + "returnParameters": { + "id": 1058, + "nodeType": "ParameterList", + "parameters": [], + "src": "1108:0:6" }, + "scope": 1060, + "src": "1063:46:6", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 1061, + "src": "62:1049:6", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "36:1076:6" + }, + "id": 6 + }, + "@account-abstraction/contracts/interfaces/IPaymaster.sol": { + "ast": { + "absolutePath": "@account-abstraction/contracts/interfaces/IPaymaster.sol", + "exportedSymbols": { + "IPaymaster": [ + 1097 + ], + "PackedUserOperation": [ + 1223 + ] + }, + "id": 1098, + "license": "GPL-3.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1062, + "literals": [ + "solidity", + ">=", + "0.7", + ".5" + ], + "nodeType": "PragmaDirective", + "src": "36:24:7" + }, + { + "absolutePath": "@account-abstraction/contracts/interfaces/PackedUserOperation.sol", + "file": "./PackedUserOperation.sol", + "id": 1063, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1098, + "sourceUnit": 1224, + "src": "62:35:7", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IPaymaster", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 1064, + "nodeType": "StructuredDocumentation", + "src": "99:216:7", + "text": " The interface exposed by a paymaster contract, who agrees to pay the gas for user's operations.\n A paymaster must hold a stake to cover the required entrypoint stake and also the gas for the transaction." + }, + "fullyImplemented": false, + "id": 1097, + "linearizedBaseContracts": [ + 1097 + ], + "name": "IPaymaster", + "nameLocation": "326:10:7", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "IPaymaster.PostOpMode", + "id": 1068, + "members": [ + { + "id": 1065, + "name": "opSucceeded", + "nameLocation": "399:11:7", + "nodeType": "EnumValue", + "src": "399:11:7" + }, + { + "id": 1066, + "name": "opReverted", + "nameLocation": "475:10:7", + "nodeType": "EnumValue", + "src": "475:10:7" + }, + { + "id": 1067, + "name": "postOpReverted", + "nameLocation": "617:14:7", + "nodeType": "EnumValue", + "src": "617:14:7" + } + ], + "name": "PostOpMode", + "nameLocation": "348:10:7", + "nodeType": "EnumDefinition", + "src": "343:294:7" + }, + { "documentation": { - "id": 1009, + "id": 1069, "nodeType": "StructuredDocumentation", - "src": "3893:101:5", - "text": " /* @dev inversion mod nusing little Fermat theorem via a^(n-2), use of precompiled" + "src": "643:1430:7", + "text": " Payment validation: check if paymaster agrees to pay.\n Must verify sender is the entryPoint.\n Revert to reject this request.\n Note that bundlers will reject this method if it changes the state, unless the paymaster is trusted (whitelisted).\n The paymaster pre-pays using its deposit, and receive back a refund after the postOp method returns.\n @param userOp - The user operation.\n @param userOpHash - Hash of the user's request data.\n @param maxCost - The maximum cost of this transaction (based on maximum gas and gas price from userOp).\n @return context - Value to send to a postOp. Zero length to signify postOp is not required.\n @return validationData - Signature and time-range of this operation, encoded the same as the return\n value of validateUserOperation.\n <20-byte> sigAuthorizer - 0 for valid signature, 1 to mark signature failure,\n other values are invalid for paymaster.\n <6-byte> validUntil - last timestamp this operation is valid. 0 for \"indefinite\"\n <6-byte> validAfter - first timestamp this operation is valid\n Note that the validation code cannot use block.timestamp (or block.number) directly." }, - "id": 1018, - "implemented": true, + "functionSelector": "52b7512c", + "id": 1083, + "implemented": false, "kind": "function", "modifiers": [], - "name": "FCL_pModInv", - "nameLocation": "4009:11:5", + "name": "validatePaymasterUserOp", + "nameLocation": "2087:23:7", "nodeType": "FunctionDefinition", "parameters": { - "id": 1012, + "id": 1077, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1011, + "id": 1072, "mutability": "mutable", - "name": "u", - "nameLocation": "4029:1:5", + "name": "userOp", + "nameLocation": "2149:6:7", + "nodeType": "VariableDeclaration", + "scope": 1083, + "src": "2120:35:7", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_calldata_ptr", + "typeString": "struct PackedUserOperation" + }, + "typeName": { + "id": 1071, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1070, + "name": "PackedUserOperation", + "nameLocations": [ + "2120:19:7" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1223, + "src": "2120:19:7" + }, + "referencedDeclaration": 1223, + "src": "2120:19:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_storage_ptr", + "typeString": "struct PackedUserOperation" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1074, + "mutability": "mutable", + "name": "userOpHash", + "nameLocation": "2173:10:7", + "nodeType": "VariableDeclaration", + "scope": 1083, + "src": "2165:18:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1073, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2165:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1076, + "mutability": "mutable", + "name": "maxCost", + "nameLocation": "2201:7:7", "nodeType": "VariableDeclaration", - "scope": 1018, - "src": "4021:9:5", + "scope": 1083, + "src": "2193:15:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15220,10 +13811,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1010, + "id": 1075, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4021:7:5", + "src": "2193:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15232,21 +13823,48 @@ "visibility": "internal" } ], - "src": "4020:11:5" + "src": "2110:104:7" }, "returnParameters": { - "id": 1015, + "id": 1082, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1014, + "id": 1079, "mutability": "mutable", - "name": "result", - "nameLocation": "4063:6:5", + "name": "context", + "nameLocation": "2246:7:7", + "nodeType": "VariableDeclaration", + "scope": 1083, + "src": "2233:20:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1078, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2233:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1081, + "mutability": "mutable", + "name": "validationData", + "nameLocation": "2263:14:7", "nodeType": "VariableDeclaration", - "scope": 1018, - "src": "4055:14:5", + "scope": 1083, + "src": "2255:22:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15254,10 +13872,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1013, + "id": 1080, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4055:7:5", + "src": "2255:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15266,870 +13884,373 @@ "visibility": "internal" } ], - "src": "4054:16:5" + "src": "2232:46:7" }, - "scope": 2298, - "src": "4000:730:5", - "stateMutability": "view", + "scope": 1097, + "src": "2078:201:7", + "stateMutability": "nonpayable", "virtual": false, - "visibility": "internal" + "visibility": "external" }, { - "body": { - "id": 1093, - "nodeType": "Block", - "src": "4972:318:5", - "statements": [ + "documentation": { + "id": 1084, + "nodeType": "StructuredDocumentation", + "src": "2285:849:7", + "text": " Post-operation handler.\n Must verify sender is the entryPoint.\n @param mode - Enum with the following options:\n opSucceeded - User operation succeeded.\n opReverted - User op reverted. The paymaster still has to pay for gas.\n postOpReverted - never passed in a call to postOp().\n @param context - The context value returned by validatePaymasterUserOp\n @param actualGasCost - Actual gas used so far (without this postOp call).\n @param actualUserOpFeePerGas - the gas price this UserOp pays. This value is based on the UserOp's maxFeePerGas\n and maxPriorityFee (and basefee)\n It is not the same as tx.gasprice, which is what the bundler pays." + }, + "functionSelector": "7c627b21", + "id": 1096, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "postOp", + "nameLocation": "3148:6:7", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1094, + "nodeType": "ParameterList", + "parameters": [ { - "assignments": [ - 1040 - ], - "declarations": [ - { - "constant": false, - "id": 1040, - "mutability": "mutable", - "name": "alpha2", - "nameLocation": "4998:6:5", - "nodeType": "VariableDeclaration", - "scope": 1093, - "src": "4990:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1039, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4990:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1046, - "initialValue": { - "arguments": [ - { - "id": 1042, - "name": "alpha", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1020, - "src": "5012:5:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1043, - "name": "alpha", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1020, - "src": "5018:5:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1044, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "5024:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "constant": false, + "id": 1087, + "mutability": "mutable", + "name": "mode", + "nameLocation": "3175:4:7", + "nodeType": "VariableDeclaration", + "scope": 1096, + "src": "3164:15:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PostOpMode_$1068", + "typeString": "enum IPaymaster.PostOpMode" + }, + "typeName": { + "id": 1086, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1085, + "name": "PostOpMode", + "nameLocations": [ + "3164:10:7" ], - "id": 1041, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "5005:6:5", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } + "nodeType": "IdentifierPath", + "referencedDeclaration": 1068, + "src": "3164:10:7" }, - "id": 1045, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5005:21:5", - "tryCall": false, + "referencedDeclaration": 1068, + "src": "3164:10:7", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_enum$_PostOpMode_$1068", + "typeString": "enum IPaymaster.PostOpMode" } }, - "nodeType": "VariableDeclarationStatement", - "src": "4990:36:5" + "visibility": "internal" }, { - "expression": { - "id": 1053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1047, - "name": "x3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1031, - "src": "5044:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 1049, - "name": "alpha2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1040, - "src": "5054:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1050, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1022, - "src": "5062:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1051, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "5064:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1048, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "5047:6:5", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 1052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5047:19:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5044:22:5", + "constant": false, + "id": 1089, + "mutability": "mutable", + "name": "context", + "nameLocation": "3204:7:7", + "nodeType": "VariableDeclaration", + "scope": 1096, + "src": "3189:22:7", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1088, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3189:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1091, + "mutability": "mutable", + "name": "actualGasCost", + "nameLocation": "3229:13:7", + "nodeType": "VariableDeclaration", + "scope": 1096, + "src": "3221:21:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1090, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3221:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1054, - "nodeType": "ExpressionStatement", - "src": "5044:22:5" + "visibility": "internal" }, { - "expression": { - "id": 1065, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1055, - "name": "y3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1033, - "src": "5089:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "id": 1058, - "name": "alpha", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1020, - "src": "5106:5:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1059, - "name": "alpha2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1040, - "src": "5113:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1060, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "5120:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1057, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "5099:6:5", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 1061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5099:23:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1062, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1024, - "src": "5124:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1063, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "5126:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1056, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "5092:6:5", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 1064, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5092:36:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5089:39:5", + "constant": false, + "id": 1093, + "mutability": "mutable", + "name": "actualUserOpFeePerGas", + "nameLocation": "3260:21:7", + "nodeType": "VariableDeclaration", + "scope": 1096, + "src": "3252:29:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1092, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3252:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1066, - "nodeType": "ExpressionStatement", - "src": "5089:39:5" - }, + "visibility": "internal" + } + ], + "src": "3154:133:7" + }, + "returnParameters": { + "id": 1095, + "nodeType": "ParameterList", + "parameters": [], + "src": "3296:0:7" + }, + "scope": 1097, + "src": "3139:158:7", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 1098, + "src": "316:2983:7", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "36:3264:7" + }, + "id": 7 + }, + "@account-abstraction/contracts/interfaces/IStakeManager.sol": { + "ast": { + "absolutePath": "@account-abstraction/contracts/interfaces/IStakeManager.sol", + "exportedSymbols": { + "IStakeManager": [ + 1201 + ] + }, + "id": 1202, + "license": "GPL-3.0-only", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1099, + "literals": [ + "solidity", + ">=", + "0.7", + ".5" + ], + "nodeType": "PragmaDirective", + "src": "41:24:8" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IStakeManager", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 1100, + "nodeType": "StructuredDocumentation", + "src": "67:212:8", + "text": " Manage deposits and stakes.\n Deposit is just a balance used to pay for UserOperations (either by a paymaster or an account).\n Stake is value locked for at least \"unstakeDelay\" by the staked entity." + }, + "fullyImplemented": false, + "id": 1201, + "linearizedBaseContracts": [ + 1201 + ], + "name": "IStakeManager", + "nameLocation": "290:13:8", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "eventSelector": "2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4", + "id": 1106, + "name": "Deposited", + "nameLocation": "316:9:8", + "nodeType": "EventDefinition", + "parameters": { + "id": 1105, + "nodeType": "ParameterList", + "parameters": [ { - "expression": { - "id": 1073, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1067, - "name": "zz3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1035, - "src": "5139:3:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 1069, - "name": "zz", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1026, - "src": "5150:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1070, - "name": "alpha2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1040, - "src": "5153:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1071, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "5160:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1068, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "5143:6:5", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 1072, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5143:19:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5139:23:5", + "constant": false, + "id": 1102, + "indexed": true, + "mutability": "mutable", + "name": "account", + "nameLocation": "342:7:8", + "nodeType": "VariableDeclaration", + "scope": 1106, + "src": "326:23:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1101, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "326:7:8", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 1074, - "nodeType": "ExpressionStatement", - "src": "5139:23:5" + "visibility": "internal" }, { - "expression": { - "id": 1085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1075, - "name": "zzz3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1037, - "src": "5184:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 1077, - "name": "zzz", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1028, - "src": "5196:3:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "arguments": [ - { - "id": 1079, - "name": "alpha", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1020, - "src": "5207:5:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1080, - "name": "alpha2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1040, - "src": "5214:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1081, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "5221:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1078, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "5200:6:5", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 1082, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5200:23:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1083, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "5224:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1076, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "5189:6:5", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 1084, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5189:37:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5184:42:5", + "constant": false, + "id": 1104, + "indexed": false, + "mutability": "mutable", + "name": "totalDeposit", + "nameLocation": "359:12:8", + "nodeType": "VariableDeclaration", + "scope": 1106, + "src": "351:20:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1103, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "351:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1086, - "nodeType": "ExpressionStatement", - "src": "5184:42:5" - }, - { - "expression": { - "components": [ - { - "id": 1087, - "name": "x3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1031, - "src": "5266:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1088, - "name": "y3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1033, - "src": "5270:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1089, - "name": "zz3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1035, - "src": "5274:3:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1090, - "name": "zzz3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1037, - "src": "5279:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1091, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5265:19:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,uint256)" - } - }, - "functionReturnParameters": 1038, - "id": 1092, - "nodeType": "Return", - "src": "5258:26:5" + "visibility": "internal" } - ] + ], + "src": "325:47:8" }, - "id": 1094, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ecZZ_Coronize", - "nameLocation": "4817:13:5", - "nodeType": "FunctionDefinition", + "src": "310:63:8" + }, + { + "anonymous": false, + "eventSelector": "d1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb", + "id": 1114, + "name": "Withdrawn", + "nameLocation": "385:9:8", + "nodeType": "EventDefinition", "parameters": { - "id": 1029, + "id": 1113, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1020, + "id": 1108, + "indexed": true, "mutability": "mutable", - "name": "alpha", - "nameLocation": "4839:5:5", + "name": "account", + "nameLocation": "420:7:8", "nodeType": "VariableDeclaration", - "scope": 1094, - "src": "4831:13:5", + "scope": 1114, + "src": "404:23:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 1019, - "name": "uint256", + "id": 1107, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "4831:7:5", + "src": "404:7:8", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "internal" }, { "constant": false, - "id": 1022, + "id": 1110, + "indexed": false, "mutability": "mutable", - "name": "x", - "nameLocation": "4854:1:5", + "name": "withdrawAddress", + "nameLocation": "445:15:8", "nodeType": "VariableDeclaration", - "scope": 1094, - "src": "4846:9:5", + "scope": 1114, + "src": "437:23:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 1021, - "name": "uint256", + "id": 1109, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "4846:7:5", + "src": "437:7:8", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "internal" }, { "constant": false, - "id": 1024, + "id": 1112, + "indexed": false, "mutability": "mutable", - "name": "y", - "nameLocation": "4865:1:5", + "name": "amount", + "nameLocation": "478:6:8", "nodeType": "VariableDeclaration", - "scope": 1094, - "src": "4857:9:5", + "scope": 1114, + "src": "470:14:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16137,26 +14258,72 @@ "typeString": "uint256" }, "typeName": { - "id": 1023, + "id": 1111, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4857:7:5", + "src": "470:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" + } + ], + "src": "394:96:8" + }, + "src": "379:112:8" + }, + { + "anonymous": false, + "eventSelector": "a5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c01", + "id": 1122, + "name": "StakeLocked", + "nameLocation": "560:11:8", + "nodeType": "EventDefinition", + "parameters": { + "id": 1121, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1116, + "indexed": true, + "mutability": "mutable", + "name": "account", + "nameLocation": "597:7:8", + "nodeType": "VariableDeclaration", + "scope": 1122, + "src": "581:23:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1115, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "581:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" }, { "constant": false, - "id": 1026, + "id": 1118, + "indexed": false, "mutability": "mutable", - "name": "zz", - "nameLocation": "4877:2:5", + "name": "totalStaked", + "nameLocation": "622:11:8", "nodeType": "VariableDeclaration", - "scope": 1094, - "src": "4869:10:5", + "scope": 1122, + "src": "614:19:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16164,10 +14331,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1025, + "id": 1117, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4869:7:5", + "src": "614:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16177,13 +14344,14 @@ }, { "constant": false, - "id": 1028, + "id": 1120, + "indexed": false, "mutability": "mutable", - "name": "zzz", - "nameLocation": "4889:3:5", + "name": "unstakeDelaySec", + "nameLocation": "651:15:8", "nodeType": "VariableDeclaration", - "scope": 1094, - "src": "4881:11:5", + "scope": 1122, + "src": "643:23:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16191,10 +14359,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1027, + "id": 1119, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4881:7:5", + "src": "643:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16203,48 +14371,60 @@ "visibility": "internal" } ], - "src": "4830:63:5" + "src": "571:101:8" }, - "returnParameters": { - "id": 1038, + "src": "554:119:8" + }, + { + "anonymous": false, + "eventSelector": "fa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a", + "id": 1128, + "name": "StakeUnlocked", + "nameLocation": "742:13:8", + "nodeType": "EventDefinition", + "parameters": { + "id": 1127, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1031, + "id": 1124, + "indexed": true, "mutability": "mutable", - "name": "x3", - "nameLocation": "4926:2:5", + "name": "account", + "nameLocation": "772:7:8", "nodeType": "VariableDeclaration", - "scope": 1094, - "src": "4918:10:5", + "scope": 1128, + "src": "756:23:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 1030, - "name": "uint256", + "id": 1123, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "4918:7:5", + "src": "756:7:8", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "internal" }, { "constant": false, - "id": 1033, + "id": 1126, + "indexed": false, "mutability": "mutable", - "name": "y3", - "nameLocation": "4938:2:5", + "name": "withdrawTime", + "nameLocation": "789:12:8", "nodeType": "VariableDeclaration", - "scope": 1094, - "src": "4930:10:5", + "scope": 1128, + "src": "781:20:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16252,53 +14432,101 @@ "typeString": "uint256" }, "typeName": { - "id": 1032, + "id": 1125, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4930:7:5", + "src": "781:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" + } + ], + "src": "755:47:8" + }, + "src": "736:67:8" + }, + { + "anonymous": false, + "eventSelector": "b7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda3", + "id": 1136, + "name": "StakeWithdrawn", + "nameLocation": "815:14:8", + "nodeType": "EventDefinition", + "parameters": { + "id": 1135, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1130, + "indexed": true, + "mutability": "mutable", + "name": "account", + "nameLocation": "855:7:8", + "nodeType": "VariableDeclaration", + "scope": 1136, + "src": "839:23:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1129, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "839:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" }, { "constant": false, - "id": 1035, + "id": 1132, + "indexed": false, "mutability": "mutable", - "name": "zz3", - "nameLocation": "4950:3:5", + "name": "withdrawAddress", + "nameLocation": "880:15:8", "nodeType": "VariableDeclaration", - "scope": 1094, - "src": "4942:11:5", + "scope": 1136, + "src": "872:23:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 1034, - "name": "uint256", + "id": 1131, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "4942:7:5", + "src": "872:7:8", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "internal" }, { "constant": false, - "id": 1037, + "id": 1134, + "indexed": false, "mutability": "mutable", - "name": "zzz3", - "nameLocation": "4963:4:5", + "name": "amount", + "nameLocation": "913:6:8", "nodeType": "VariableDeclaration", - "scope": 1094, - "src": "4955:12:5", + "scope": 1136, + "src": "905:14:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16306,10 +14534,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1036, + "id": 1133, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4955:7:5", + "src": "905:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16318,723 +14546,1512 @@ "visibility": "internal" } ], - "src": "4917:51:5" + "src": "829:96:8" }, - "scope": 2298, - "src": "4808:482:5", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" + "src": "809:117:8" }, { - "body": { - "id": 1273, - "nodeType": "Block", - "src": "5491:757:5", - "statements": [ + "canonicalName": "IStakeManager.DepositInfo", + "documentation": { + "id": 1137, + "nodeType": "StructuredDocumentation", + "src": "932:697:8", + "text": " @param deposit - The entity's deposit.\n @param staked - True if this entity is staked.\n @param stake - Actual amount of ether staked for this entity.\n @param unstakeDelaySec - Minimum delay to withdraw the stake.\n @param withdrawTime - First block timestamp where 'withdrawStake' will be callable, or zero if already locked.\n @dev Sizes were chosen so that deposit fits into one cell (used during handleOp)\n and the rest fit into a 2nd cell (used during stake/unstake)\n - 112 bit allows for 10^15 eth\n - 48 bit for full timestamp\n - 32 bit allows 150 years for unstake delay" + }, + "id": 1148, + "members": [ + { + "constant": false, + "id": 1139, + "mutability": "mutable", + "name": "deposit", + "nameLocation": "1671:7:8", + "nodeType": "VariableDeclaration", + "scope": 1148, + "src": "1663:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1138, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1663:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1141, + "mutability": "mutable", + "name": "staked", + "nameLocation": "1693:6:8", + "nodeType": "VariableDeclaration", + "scope": 1148, + "src": "1688:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1140, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1688:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1143, + "mutability": "mutable", + "name": "stake", + "nameLocation": "1717:5:8", + "nodeType": "VariableDeclaration", + "scope": 1148, + "src": "1709:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint112", + "typeString": "uint112" + }, + "typeName": { + "id": 1142, + "name": "uint112", + "nodeType": "ElementaryTypeName", + "src": "1709:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint112", + "typeString": "uint112" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1145, + "mutability": "mutable", + "name": "unstakeDelaySec", + "nameLocation": "1739:15:8", + "nodeType": "VariableDeclaration", + "scope": 1148, + "src": "1732:22:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 1144, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "1732:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1147, + "mutability": "mutable", + "name": "withdrawTime", + "nameLocation": "1771:12:8", + "nodeType": "VariableDeclaration", + "scope": 1148, + "src": "1764:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + }, + "typeName": { + "id": 1146, + "name": "uint48", + "nodeType": "ElementaryTypeName", + "src": "1764:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint48", + "typeString": "uint48" + } + }, + "visibility": "internal" + } + ], + "name": "DepositInfo", + "nameLocation": "1641:11:8", + "nodeType": "StructDefinition", + "scope": 1201, + "src": "1634:156:8", + "visibility": "public" + }, + { + "canonicalName": "IStakeManager.StakeInfo", + "id": 1153, + "members": [ + { + "constant": false, + "id": 1150, + "mutability": "mutable", + "name": "stake", + "nameLocation": "1894:5:8", + "nodeType": "VariableDeclaration", + "scope": 1153, + "src": "1886:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1149, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1886:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1152, + "mutability": "mutable", + "name": "unstakeDelaySec", + "nameLocation": "1917:15:8", + "nodeType": "VariableDeclaration", + "scope": 1153, + "src": "1909:23:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1151, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1909:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "name": "StakeInfo", + "nameLocation": "1866:9:8", + "nodeType": "StructDefinition", + "scope": 1201, + "src": "1859:80:8", + "visibility": "public" + }, + { + "documentation": { + "id": 1154, + "nodeType": "StructuredDocumentation", + "src": "1945:149:8", + "text": " Get deposit info.\n @param account - The account to query.\n @return info - Full deposit information of given account." + }, + "functionSelector": "5287ce12", + "id": 1162, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getDepositInfo", + "nameLocation": "2108:14:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1157, + "nodeType": "ParameterList", + "parameters": [ { - "assignments": [ - 1122 - ], - "declarations": [ - { - "constant": false, - "id": 1122, - "mutability": "mutable", - "name": "u1", - "nameLocation": "5505:2:5", - "nodeType": "VariableDeclaration", - "scope": 1273, - "src": "5497:10:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1121, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5497:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1128, - "initialValue": { - "arguments": [ - { - "id": 1124, - "name": "x1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1096, - "src": "5515:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1125, - "name": "zz2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1108, - "src": "5518:3:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1126, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "5522:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1123, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "5508:6:5", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 1127, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5508:16:5", - "tryCall": false, + "constant": false, + "id": 1156, + "mutability": "mutable", + "name": "account", + "nameLocation": "2140:7:8", + "nodeType": "VariableDeclaration", + "scope": 1162, + "src": "2132:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1155, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2132:7:8", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "nodeType": "VariableDeclarationStatement", - "src": "5497:27:5" - }, + "visibility": "internal" + } + ], + "src": "2122:31:8" + }, + "returnParameters": { + "id": 1161, + "nodeType": "ParameterList", + "parameters": [ { - "assignments": [ - 1130 - ], - "declarations": [ - { - "constant": false, - "id": 1130, - "mutability": "mutable", - "name": "u2", - "nameLocation": "5553:2:5", - "nodeType": "VariableDeclaration", - "scope": 1273, - "src": "5545:10:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1129, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5545:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1136, - "initialValue": { - "arguments": [ - { - "id": 1132, - "name": "x2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1104, - "src": "5563:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1133, - "name": "zz1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1100, - "src": "5567:3:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1134, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "5571:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "constant": false, + "id": 1160, + "mutability": "mutable", + "name": "info", + "nameLocation": "2196:4:8", + "nodeType": "VariableDeclaration", + "scope": 1162, + "src": "2177:23:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DepositInfo_$1148_memory_ptr", + "typeString": "struct IStakeManager.DepositInfo" + }, + "typeName": { + "id": 1159, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1158, + "name": "DepositInfo", + "nameLocations": [ + "2177:11:8" ], - "id": 1131, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "5556:6:5", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } + "nodeType": "IdentifierPath", + "referencedDeclaration": 1148, + "src": "2177:11:8" }, - "id": 1135, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5556:17:5", - "tryCall": false, + "referencedDeclaration": 1148, + "src": "2177:11:8", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_struct$_DepositInfo_$1148_storage_ptr", + "typeString": "struct IStakeManager.DepositInfo" } }, - "nodeType": "VariableDeclarationStatement", - "src": "5545:28:5" - }, - { - "expression": { - "id": 1145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1137, - "name": "u2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1130, - "src": "5609:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 1139, - "name": "u2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1130, - "src": "5619:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1140, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "5623:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 1141, - "name": "u1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1122, - "src": "5625:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5623:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1143, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "5629:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1138, - "name": "addmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -2, - "src": "5612:6:5", - "typeDescriptions": { - "typeIdentifier": "t_function_addmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 1144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5612:19:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5609:22:5", + "visibility": "internal" + } + ], + "src": "2176:25:8" + }, + "scope": 1201, + "src": "2099:103:8", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1163, + "nodeType": "StructuredDocumentation", + "src": "2208:155:8", + "text": " Get account balance.\n @param account - The account to query.\n @return - The deposit (for gas payment) of the account." + }, + "functionSelector": "70a08231", + "id": 1170, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "2377:9:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1166, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1165, + "mutability": "mutable", + "name": "account", + "nameLocation": "2395:7:8", + "nodeType": "VariableDeclaration", + "scope": 1170, + "src": "2387:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1164, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2387:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2386:17:8" + }, + "returnParameters": { + "id": 1169, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1168, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1170, + "src": "2427:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1167, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2427:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1146, - "nodeType": "ExpressionStatement", - "src": "5609:22:5" + "visibility": "internal" + } + ], + "src": "2426:9:8" + }, + "scope": 1201, + "src": "2368:68:8", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1171, + "nodeType": "StructuredDocumentation", + "src": "2442:106:8", + "text": " Add to the deposit of the given account.\n @param account - The account to add to." + }, + "functionSelector": "b760faf9", + "id": 1176, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "depositTo", + "nameLocation": "2562:9:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1174, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1173, + "mutability": "mutable", + "name": "account", + "nameLocation": "2580:7:8", + "nodeType": "VariableDeclaration", + "scope": 1176, + "src": "2572:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1172, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2572:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2571:17:8" + }, + "returnParameters": { + "id": 1175, + "nodeType": "ParameterList", + "parameters": [], + "src": "2605:0:8" + }, + "scope": 1201, + "src": "2553:53:8", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1177, + "nodeType": "StructuredDocumentation", + "src": "2612:203:8", + "text": " Add to the account's stake - amount and delay\n any pending unstake is first cancelled.\n @param _unstakeDelaySec - The new lock duration before the deposit can be withdrawn." + }, + "functionSelector": "0396cb60", + "id": 1182, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "addStake", + "nameLocation": "2829:8:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1180, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1179, + "mutability": "mutable", + "name": "_unstakeDelaySec", + "nameLocation": "2845:16:8", + "nodeType": "VariableDeclaration", + "scope": 1182, + "src": "2838:23:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 1178, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "2838:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + } + ], + "src": "2837:25:8" + }, + "returnParameters": { + "id": 1181, + "nodeType": "ParameterList", + "parameters": [], + "src": "2879:0:8" + }, + "scope": 1201, + "src": "2820:60:8", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1183, + "nodeType": "StructuredDocumentation", + "src": "2886:128:8", + "text": " Attempt to unlock the stake.\n The value can be withdrawn (using withdrawStake) after the unstake delay." + }, + "functionSelector": "bb9fe6bf", + "id": 1186, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "unlockStake", + "nameLocation": "3028:11:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1184, + "nodeType": "ParameterList", + "parameters": [], + "src": "3039:2:8" + }, + "returnParameters": { + "id": 1185, + "nodeType": "ParameterList", + "parameters": [], + "src": "3050:0:8" + }, + "scope": 1201, + "src": "3019:32:8", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1187, + "nodeType": "StructuredDocumentation", + "src": "3057:197:8", + "text": " Withdraw from the (unlocked) stake.\n Must first call unlockStake and wait for the unstakeDelay to pass.\n @param withdrawAddress - The address to send withdrawn value." + }, + "functionSelector": "c23a5cea", + "id": 1192, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "withdrawStake", + "nameLocation": "3268:13:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1190, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1189, + "mutability": "mutable", + "name": "withdrawAddress", + "nameLocation": "3298:15:8", + "nodeType": "VariableDeclaration", + "scope": 1192, + "src": "3282:31:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 1188, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3282:15:8", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "visibility": "internal" + } + ], + "src": "3281:33:8" + }, + "returnParameters": { + "id": 1191, + "nodeType": "ParameterList", + "parameters": [], + "src": "3323:0:8" + }, + "scope": 1201, + "src": "3259:65:8", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1193, + "nodeType": "StructuredDocumentation", + "src": "3330:170:8", + "text": " Withdraw from the deposit.\n @param withdrawAddress - The address to send withdrawn value.\n @param withdrawAmount - The amount to withdraw." + }, + "functionSelector": "205c2878", + "id": 1200, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "withdrawTo", + "nameLocation": "3514:10:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1198, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1195, + "mutability": "mutable", + "name": "withdrawAddress", + "nameLocation": "3550:15:8", + "nodeType": "VariableDeclaration", + "scope": 1200, + "src": "3534:31:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 1194, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3534:15:8", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "visibility": "internal" }, { - "expression": { - "id": 1153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1147, - "name": "x1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1096, - "src": "5650:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 1149, - "name": "u2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1130, - "src": "5660:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1150, - "name": "u2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1130, - "src": "5664:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1151, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "5668:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1148, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "5653:6:5", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 1152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5653:17:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5650:20:5", + "constant": false, + "id": 1197, + "mutability": "mutable", + "name": "withdrawAmount", + "nameLocation": "3583:14:8", + "nodeType": "VariableDeclaration", + "scope": 1200, + "src": "3575:22:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1196, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3575:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1154, - "nodeType": "ExpressionStatement", - "src": "5650:20:5" + "visibility": "internal" + } + ], + "src": "3524:79:8" + }, + "returnParameters": { + "id": 1199, + "nodeType": "ParameterList", + "parameters": [], + "src": "3612:0:8" + }, + "scope": 1201, + "src": "3505:108:8", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 1202, + "src": "280:3335:8", + "usedErrors": [], + "usedEvents": [ + 1106, + 1114, + 1122, + 1128, + 1136 + ] + } + ], + "src": "41:3575:8" + }, + "id": 8 + }, + "@account-abstraction/contracts/interfaces/PackedUserOperation.sol": { + "ast": { + "absolutePath": "@account-abstraction/contracts/interfaces/PackedUserOperation.sol", + "exportedSymbols": { + "PackedUserOperation": [ + 1223 + ] + }, + "id": 1224, + "license": "GPL-3.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1203, + "literals": [ + "solidity", + ">=", + "0.7", + ".5" + ], + "nodeType": "PragmaDirective", + "src": "36:24:9" + }, + { + "canonicalName": "PackedUserOperation", + "documentation": { + "id": 1204, + "nodeType": "StructuredDocumentation", + "src": "62:1164:9", + "text": " User Operation struct\n @param sender - The sender account of this request.\n @param nonce - Unique value the sender uses to verify it is not a replay.\n @param initCode - If set, the account contract will be created by this constructor/\n @param callData - The method call to execute on this account.\n @param accountGasLimits - Packed gas limits for validateUserOp and gas limit passed to the callData method call.\n @param preVerificationGas - Gas not calculated by the handleOps method, but added to the gas paid.\n Covers batch overhead.\n @param gasFees - packed gas fields maxPriorityFeePerGas and maxFeePerGas - Same as EIP-1559 gas parameters.\n @param paymasterAndData - If set, this field holds the paymaster address, verification gas limit, postOp gas limit and paymaster-specific extra data\n The paymaster will pay for the transaction instead of the sender.\n @param signature - Sender-verified signature over the entire request, the EntryPoint address and the chain ID." + }, + "id": 1223, + "members": [ + { + "constant": false, + "id": 1206, + "mutability": "mutable", + "name": "sender", + "nameLocation": "1268:6:9", + "nodeType": "VariableDeclaration", + "scope": 1223, + "src": "1260:14:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1205, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1260:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1208, + "mutability": "mutable", + "name": "nonce", + "nameLocation": "1288:5:9", + "nodeType": "VariableDeclaration", + "scope": 1223, + "src": "1280:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1207, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1280:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1210, + "mutability": "mutable", + "name": "initCode", + "nameLocation": "1305:8:9", + "nodeType": "VariableDeclaration", + "scope": 1223, + "src": "1299:14:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1209, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1299:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1212, + "mutability": "mutable", + "name": "callData", + "nameLocation": "1325:8:9", + "nodeType": "VariableDeclaration", + "scope": 1223, + "src": "1319:14:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1211, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1319:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1214, + "mutability": "mutable", + "name": "accountGasLimits", + "nameLocation": "1347:16:9", + "nodeType": "VariableDeclaration", + "scope": 1223, + "src": "1339:24:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1213, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1339:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1216, + "mutability": "mutable", + "name": "preVerificationGas", + "nameLocation": "1377:18:9", + "nodeType": "VariableDeclaration", + "scope": 1223, + "src": "1369:26:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1215, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1369:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1218, + "mutability": "mutable", + "name": "gasFees", + "nameLocation": "1409:7:9", + "nodeType": "VariableDeclaration", + "scope": 1223, + "src": "1401:15:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1217, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1401:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1220, + "mutability": "mutable", + "name": "paymasterAndData", + "nameLocation": "1428:16:9", + "nodeType": "VariableDeclaration", + "scope": 1223, + "src": "1422:22:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1219, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1422:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1222, + "mutability": "mutable", + "name": "signature", + "nameLocation": "1456:9:9", + "nodeType": "VariableDeclaration", + "scope": 1223, + "src": "1450:15:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1221, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1450:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "name": "PackedUserOperation", + "nameLocation": "1234:19:9", + "nodeType": "StructDefinition", + "scope": 1224, + "src": "1227:241:9", + "visibility": "public" + } + ], + "src": "36:1433:9" + }, + "id": 9 + }, + "@openzeppelin/contracts/access/Ownable.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/access/Ownable.sol", + "exportedSymbols": { + "Context": [ + 2157 + ], + "Ownable": [ + 1371 + ] + }, + "id": 1372, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1225, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "102:24:10" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/Context.sol", + "file": "../utils/Context.sol", + "id": 1227, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1372, + "sourceUnit": 2158, + "src": "128:45:10", + "symbolAliases": [ + { + "foreign": { + "id": 1226, + "name": "Context", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2157, + "src": "136:7:10", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 1229, + "name": "Context", + "nameLocations": [ + "692:7:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2157, + "src": "692:7:10" + }, + "id": 1230, + "nodeType": "InheritanceSpecifier", + "src": "692:7:10" + } + ], + "canonicalName": "Ownable", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 1228, + "nodeType": "StructuredDocumentation", + "src": "175:487:10", + "text": " @dev Contract module which provides a basic access control mechanism, where\n there is an account (an owner) that can be granted exclusive access to\n specific functions.\n The initial owner is set to the address provided by the deployer. This can\n later be changed with {transferOwnership}.\n This module is used through inheritance. It will make available the modifier\n `onlyOwner`, which can be applied to your functions to restrict their use to\n the owner." + }, + "fullyImplemented": true, + "id": 1371, + "linearizedBaseContracts": [ + 1371, + 2157 + ], + "name": "Ownable", + "nameLocation": "681:7:10", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 1232, + "mutability": "mutable", + "name": "_owner", + "nameLocation": "722:6:10", + "nodeType": "VariableDeclaration", + "scope": 1371, + "src": "706:22:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1231, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "706:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "private" + }, + { + "documentation": { + "id": 1233, + "nodeType": "StructuredDocumentation", + "src": "735:85:10", + "text": " @dev The caller account is not authorized to perform an operation." + }, + "errorSelector": "118cdaa7", + "id": 1237, + "name": "OwnableUnauthorizedAccount", + "nameLocation": "831:26:10", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 1236, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1235, + "mutability": "mutable", + "name": "account", + "nameLocation": "866:7:10", + "nodeType": "VariableDeclaration", + "scope": 1237, + "src": "858:15:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1234, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "858:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "857:17:10" + }, + "src": "825:50:10" + }, + { + "documentation": { + "id": 1238, + "nodeType": "StructuredDocumentation", + "src": "881:82:10", + "text": " @dev The owner is not a valid owner account. (eg. `address(0)`)" + }, + "errorSelector": "1e4fbdf7", + "id": 1242, + "name": "OwnableInvalidOwner", + "nameLocation": "974:19:10", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 1241, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1240, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1002:5:10", + "nodeType": "VariableDeclaration", + "scope": 1242, + "src": "994:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1239, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "994:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "993:15:10" + }, + "src": "968:41:10" + }, + { + "anonymous": false, + "eventSelector": "8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "id": 1248, + "name": "OwnershipTransferred", + "nameLocation": "1021:20:10", + "nodeType": "EventDefinition", + "parameters": { + "id": 1247, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1244, + "indexed": true, + "mutability": "mutable", + "name": "previousOwner", + "nameLocation": "1058:13:10", + "nodeType": "VariableDeclaration", + "scope": 1248, + "src": "1042:29:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1243, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1042:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" }, { - "expression": { - "id": 1161, + "constant": false, + "id": 1246, + "indexed": true, + "mutability": "mutable", + "name": "newOwner", + "nameLocation": "1089:8:10", + "nodeType": "VariableDeclaration", + "scope": 1248, + "src": "1073:24:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1245, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1073:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1041:57:10" + }, + "src": "1015:84:10" + }, + { + "body": { + "id": 1273, + "nodeType": "Block", + "src": "1259:153:10", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1259, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftHandSide": { - "id": 1155, - "name": "x2", + "leftExpression": { + "id": 1254, + "name": "initialOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1104, - "src": "5680:2:5", + "referencedDeclaration": 1251, + "src": "1273:12:10", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { "arguments": [ { - "id": 1157, - "name": "x1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1096, - "src": "5690:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1158, - "name": "u2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1130, - "src": "5694:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1159, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "5698:1:5", + "hexValue": "30", + "id": 1257, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1297:1:10", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" } ], - "id": 1156, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "5683:6:5", + "id": 1256, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1289:7:10", "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1255, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1289:7:10", + "typeDescriptions": {} } }, - "id": 1160, + "id": 1258, "isConstant": false, "isLValue": false, - "isPure": false, - "kind": "functionCall", + "isPure": true, + "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5683:17:5", + "src": "1289:10:10", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "src": "5680:20:5", + "src": "1273:26:10", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "id": 1162, - "nodeType": "ExpressionStatement", - "src": "5680:20:5" - }, - { - "expression": { - "id": 1173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1163, - "name": "zz3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1117, - "src": "5716:3:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 1165, - "name": "x1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1096, - "src": "5727:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { + "id": 1268, + "nodeType": "IfStatement", + "src": "1269:95:10", + "trueBody": { + "id": 1267, + "nodeType": "Block", + "src": "1301:63:10", + "statements": [ + { + "errorCall": { "arguments": [ { - "id": 1167, - "name": "zz1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1100, - "src": "5738:3:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1168, - "name": "zz2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1108, - "src": "5743:3:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1169, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "5748:1:5", + "arguments": [ + { + "hexValue": "30", + "id": 1263, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1350:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1262, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1342:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1261, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1342:7:10", + "typeDescriptions": {} + } + }, + "id": 1264, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1342:10:10", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } ], - "id": 1166, - "name": "mulmod", + "id": 1260, + "name": "OwnableInvalidOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "5731:6:5", + "referencedDeclaration": 1242, + "src": "1322:19:10", "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + "typeIdentifier": "t_function_error_pure$_t_address_$returns$_t_error_$", + "typeString": "function (address) pure returns (error)" } }, - "id": 1170, + "id": 1265, "isConstant": false, "isLValue": false, "isPure": false, @@ -17043,346 +16060,325 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5731:19:5", + "src": "1322:31:10", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_error", + "typeString": "error" } }, - { - "id": 1171, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "5751:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1164, - "name": "mulmod", + "id": 1266, + "nodeType": "RevertStatement", + "src": "1315:38:10" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 1270, + "name": "initialOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "5720:6:5", + "referencedDeclaration": 1251, + "src": "1392:12:10", "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + "typeIdentifier": "t_address", + "typeString": "address" } - }, - "id": 1172, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5720:33:5", - "tryCall": false, + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1269, + "name": "_transferOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1370, + "src": "1373:18:10", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" } }, - "src": "5716:37:5", + "id": 1271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1373:32:10", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "id": 1174, + "id": 1272, "nodeType": "ExpressionStatement", - "src": "5716:37:5" - }, + "src": "1373:32:10" + } + ] + }, + "documentation": { + "id": 1249, + "nodeType": "StructuredDocumentation", + "src": "1105:115:10", + "text": " @dev Initializes the contract setting the address provided by the deployer as the initial owner." + }, + "id": 1274, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1252, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1251, + "mutability": "mutable", + "name": "initialOwner", + "nameLocation": "1245:12:10", + "nodeType": "VariableDeclaration", + "scope": 1274, + "src": "1237:20:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1250, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1237:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1236:22:10" + }, + "returnParameters": { + "id": 1253, + "nodeType": "ParameterList", + "parameters": [], + "src": "1259:0:10" + }, + "scope": 1371, + "src": "1225:187:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1281, + "nodeType": "Block", + "src": "1521:41:10", + "statements": [ { "expression": { - "id": 1185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1175, - "name": "zzz3", + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1277, + "name": "_checkOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1119, - "src": "5779:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 1177, - "name": "zzz1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1102, - "src": "5791:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "arguments": [ - { - "id": 1179, - "name": "zzz2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1110, - "src": "5804:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1180, - "name": "x2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1104, - "src": "5810:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1181, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "5814:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1178, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "5797:6:5", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 1182, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5797:19:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1183, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "5817:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1176, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "5784:6:5", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 1184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5784:35:5", - "tryCall": false, + "referencedDeclaration": 1308, + "src": "1531:11:10", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_internal_view$__$returns$__$", + "typeString": "function () view" } }, - "src": "5779:40:5", + "id": 1278, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1531:13:10", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "id": 1186, + "id": 1279, "nodeType": "ExpressionStatement", - "src": "5779:40:5" + "src": "1531:13:10" }, + { + "id": 1280, + "nodeType": "PlaceholderStatement", + "src": "1554:1:10" + } + ] + }, + "documentation": { + "id": 1275, + "nodeType": "StructuredDocumentation", + "src": "1418:77:10", + "text": " @dev Throws if called by any account other than the owner." + }, + "id": 1282, + "name": "onlyOwner", + "nameLocation": "1509:9:10", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 1276, + "nodeType": "ParameterList", + "parameters": [], + "src": "1518:2:10" + }, + "src": "1500:62:10", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1290, + "nodeType": "Block", + "src": "1693:30:10", + "statements": [ { "expression": { - "id": 1193, + "id": 1288, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "1710:6:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 1287, + "id": 1289, + "nodeType": "Return", + "src": "1703:13:10" + } + ] + }, + "documentation": { + "id": 1283, + "nodeType": "StructuredDocumentation", + "src": "1568:65:10", + "text": " @dev Returns the address of the current owner." + }, + "functionSelector": "8da5cb5b", + "id": 1291, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "owner", + "nameLocation": "1647:5:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1284, + "nodeType": "ParameterList", + "parameters": [], + "src": "1652:2:10" + }, + "returnParameters": { + "id": 1287, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1286, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1291, + "src": "1684:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1285, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1684:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1683:9:10" + }, + "scope": 1371, + "src": "1638:85:10", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 1307, + "nodeType": "Block", + "src": "1841:117:10", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1299, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftHandSide": { - "id": 1187, - "name": "zz1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1100, - "src": "5848:3:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 1189, - "name": "y1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1098, - "src": "5859:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1190, - "name": "zzz2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1110, - "src": "5863:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1191, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "5868:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], + "leftExpression": { + "arguments": [], "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1188, - "name": "mulmod", + "argumentTypes": [], + "id": 1295, + "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "5852:6:5", + "referencedDeclaration": 1291, + "src": "1855:5:10", "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" } }, - "id": 1192, + "id": 1296, "isConstant": false, "isLValue": false, "isPure": false, @@ -17391,110 +16387,31 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5852:18:5", + "src": "1855:7:10", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5848:22:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1194, - "nodeType": "ExpressionStatement", - "src": "5848:22:5" - }, - { - "expression": { - "id": 1201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1195, - "name": "zz2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1108, - "src": "5893:3:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 1197, - "name": "y2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1106, - "src": "5904:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1198, - "name": "zzz1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1102, - "src": "5908:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1199, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "5914:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [], "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1196, - "name": "mulmod", + "argumentTypes": [], + "id": 1297, + "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "5897:6:5", + "referencedDeclaration": 2139, + "src": "1866:10:10", "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" } }, - "id": 1200, + "id": 1298, "isConstant": false, "isLValue": false, "isPure": false, @@ -17503,546 +16420,486 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5897:19:5", + "src": "1866:12:10", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "src": "5893:23:5", + "src": "1855:23:10", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "id": 1202, - "nodeType": "ExpressionStatement", - "src": "5893:23:5" - }, - { - "expression": { - "id": 1211, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1203, - "name": "zz2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1108, - "src": "5942:3:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 1205, - "name": "zz2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1108, - "src": "5953:3:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1208, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1206, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "5958:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "id": 1306, + "nodeType": "IfStatement", + "src": "1851:101:10", + "trueBody": { + "id": 1305, + "nodeType": "Block", + "src": "1880:72:10", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1301, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2139, + "src": "1928:10:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 1302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1928:12:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 1207, - "name": "zz1", + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1300, + "name": "OwnableUnauthorizedAccount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1100, - "src": "5960:3:5", + "referencedDeclaration": 1237, + "src": "1901:26:10", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_error_pure$_t_address_$returns$_t_error_$", + "typeString": "function (address) pure returns (error)" } }, - "src": "5958:5:5", + "id": 1303, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1901:40:10", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_error", + "typeString": "error" } }, - { - "id": 1209, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "5965:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, + "id": 1304, + "nodeType": "RevertStatement", + "src": "1894:47:10" + } + ] + } + } + ] + }, + "documentation": { + "id": 1292, + "nodeType": "StructuredDocumentation", + "src": "1729:62:10", + "text": " @dev Throws if the sender is not the owner." + }, + "id": 1308, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_checkOwner", + "nameLocation": "1805:11:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1293, + "nodeType": "ParameterList", + "parameters": [], + "src": "1816:2:10" + }, + "returnParameters": { + "id": 1294, + "nodeType": "ParameterList", + "parameters": [], + "src": "1841:0:10" + }, + "scope": 1371, + "src": "1796:162:10", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 1321, + "nodeType": "Block", + "src": "2347:47:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "hexValue": "30", + "id": 1317, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2384:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" } ], - "id": 1204, - "name": "addmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -2, - "src": "5946:6:5", + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1316, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2376:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1315, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2376:7:10", + "typeDescriptions": {} + } + }, + "id": 1318, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2376:10:10", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_function_addmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + "typeIdentifier": "t_address", + "typeString": "address" } - }, - "id": 1210, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5946:21:5", - "tryCall": false, + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1314, + "name": "_transferOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1370, + "src": "2357:18:10", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" } }, - "src": "5942:25:5", + "id": 1319, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2357:30:10", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "id": 1212, + "id": 1320, "nodeType": "ExpressionStatement", - "src": "5942:25:5" + "src": "2357:30:10" + } + ] + }, + "documentation": { + "id": 1309, + "nodeType": "StructuredDocumentation", + "src": "1964:324:10", + "text": " @dev Leaves the contract without owner. It will not be possible to call\n `onlyOwner` functions. Can only be called by the current owner.\n NOTE: Renouncing ownership will leave the contract without an owner,\n thereby disabling any functionality that is only available to the owner." + }, + "functionSelector": "715018a6", + "id": 1322, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 1312, + "kind": "modifierInvocation", + "modifierName": { + "id": 1311, + "name": "onlyOwner", + "nameLocations": [ + "2337:9:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1282, + "src": "2337:9:10" }, + "nodeType": "ModifierInvocation", + "src": "2337:9:10" + } + ], + "name": "renounceOwnership", + "nameLocation": "2302:17:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1310, + "nodeType": "ParameterList", + "parameters": [], + "src": "2319:2:10" + }, + "returnParameters": { + "id": 1313, + "nodeType": "ParameterList", + "parameters": [], + "src": "2347:0:10" + }, + "scope": 1371, + "src": "2293:101:10", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 1349, + "nodeType": "Block", + "src": "2613:145:10", + "statements": [ { - "expression": { - "id": 1219, + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1335, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftHandSide": { - "id": 1213, - "name": "zzz1", + "leftExpression": { + "id": 1330, + "name": "newOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1102, - "src": "5984:4:5", + "referencedDeclaration": 1325, + "src": "2627:8:10", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { "arguments": [ { - "id": 1215, - "name": "u1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1122, - "src": "5996:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1216, - "name": "x1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1096, - "src": "6000:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1217, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "6003:1:5", + "hexValue": "30", + "id": 1333, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2647:1:10", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" } ], - "id": 1214, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "5989:6:5", + "id": 1332, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2639:7:10", "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1331, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2639:7:10", + "typeDescriptions": {} } }, - "id": 1218, + "id": 1334, "isConstant": false, "isLValue": false, - "isPure": false, - "kind": "functionCall", + "isPure": true, + "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5989:16:5", + "src": "2639:10:10", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "src": "5984:21:5", + "src": "2627:22:10", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "id": 1220, - "nodeType": "ExpressionStatement", - "src": "5984:21:5" - }, - { - "expression": { - "id": 1241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1221, - "name": "x3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1113, - "src": "6023:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "id": 1225, - "name": "zz2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1108, - "src": "6048:3:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1226, - "name": "zz2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1108, - "src": "6053:3:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, + "id": 1344, + "nodeType": "IfStatement", + "src": "2623:91:10", + "trueBody": { + "id": 1343, + "nodeType": "Block", + "src": "2651:63:10", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "arguments": [ { - "id": 1227, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "6058:1:5", + "hexValue": "30", + "id": 1339, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2700:1:10", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" } ], - "id": 1224, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "6041:6:5", + "id": 1338, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2692:7:10", "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1337, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2692:7:10", + "typeDescriptions": {} } }, - "id": 1228, + "id": 1340, "isConstant": false, "isLValue": false, - "isPure": false, - "kind": "functionCall", + "isPure": true, + "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "6041:19:5", + "src": "2692:10:10", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1231, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1229, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "6062:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 1230, - "name": "x2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1104, - "src": "6064:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6062:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1232, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "6067:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1223, - "name": "addmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -2, - "src": "6034:6:5", - "typeDescriptions": { - "typeIdentifier": "t_function_addmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 1233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6034:35:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "arguments": [ - { - "id": 1235, - "name": "minus_2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 983, - "src": "6078:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1236, - "name": "zzz1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1102, - "src": "6087:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1237, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "6092:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } ], - "id": 1234, - "name": "mulmod", + "id": 1336, + "name": "OwnableInvalidOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "6071:6:5", + "referencedDeclaration": 1242, + "src": "2672:19:10", "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + "typeIdentifier": "t_function_error_pure$_t_address_$returns$_t_error_$", + "typeString": "function (address) pure returns (error)" } }, - "id": 1238, + "id": 1341, "isConstant": false, "isLValue": false, "isPure": false, @@ -18051,603 +16908,504 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "6071:23:5", + "src": "2672:31:10", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_error", + "typeString": "error" } }, - { - "id": 1239, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "6095:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1222, - "name": "addmod", + "id": 1342, + "nodeType": "RevertStatement", + "src": "2665:38:10" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 1346, + "name": "newOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": -2, - "src": "6027:6:5", + "referencedDeclaration": 1325, + "src": "2742:8:10", "typeDescriptions": { - "typeIdentifier": "t_function_addmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + "typeIdentifier": "t_address", + "typeString": "address" } - }, - "id": 1240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6027:70:5", - "tryCall": false, + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1345, + "name": "_transferOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1370, + "src": "2723:18:10", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" } }, - "src": "6023:74:5", + "id": 1347, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2723:28:10", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "id": 1242, + "id": 1348, "nodeType": "ExpressionStatement", - "src": "6023:74:5" + "src": "2723:28:10" + } + ] + }, + "documentation": { + "id": 1323, + "nodeType": "StructuredDocumentation", + "src": "2400:138:10", + "text": " @dev Transfers ownership of the contract to a new account (`newOwner`).\n Can only be called by the current owner." + }, + "functionSelector": "f2fde38b", + "id": 1350, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 1328, + "kind": "modifierInvocation", + "modifierName": { + "id": 1327, + "name": "onlyOwner", + "nameLocations": [ + "2603:9:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1282, + "src": "2603:9:10" + }, + "nodeType": "ModifierInvocation", + "src": "2603:9:10" + } + ], + "name": "transferOwnership", + "nameLocation": "2552:17:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1326, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1325, + "mutability": "mutable", + "name": "newOwner", + "nameLocation": "2578:8:10", + "nodeType": "VariableDeclaration", + "scope": 1350, + "src": "2570:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1324, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2570:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2569:18:10" + }, + "returnParameters": { + "id": 1329, + "nodeType": "ParameterList", + "parameters": [], + "src": "2613:0:10" + }, + "scope": 1371, + "src": "2543:215:10", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 1369, + "nodeType": "Block", + "src": "2975:124:10", + "statements": [ + { + "assignments": [ + 1357 + ], + "declarations": [ + { + "constant": false, + "id": 1357, + "mutability": "mutable", + "name": "oldOwner", + "nameLocation": "2993:8:10", + "nodeType": "VariableDeclaration", + "scope": 1369, + "src": "2985:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1356, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2985:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 1359, + "initialValue": { + "id": 1358, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "3004:6:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2985:25:10" }, { "expression": { - "id": 1265, + "id": 1362, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 1243, - "name": "y3", + "id": 1360, + "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1115, - "src": "6121:2:5", + "referencedDeclaration": 1232, + "src": "3020:6:10", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "id": 1246, - "name": "zz2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1108, - "src": "6139:3:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "arguments": [ - { - "id": 1248, - "name": "zzz1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1102, - "src": "6151:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1249, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "6157:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 1250, - "name": "x3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1113, - "src": "6159:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6157:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1252, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "6163:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1247, - "name": "addmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -2, - "src": "6144:6:5", - "typeDescriptions": { - "typeIdentifier": "t_function_addmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 1253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6144:21:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1254, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "6166:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1245, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "6132:6:5", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 1255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6132:36:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1256, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "6170:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "arguments": [ - { - "id": 1258, - "name": "zz1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1100, - "src": "6179:3:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1259, - "name": "x2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1104, - "src": "6184:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1260, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "6188:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1257, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "6172:6:5", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 1261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6172:18:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6170:20:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1263, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "6191:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1244, - "name": "addmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -2, - "src": "6124:6:5", - "typeDescriptions": { - "typeIdentifier": "t_function_addmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 1264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6124:69:5", - "tryCall": false, + "id": 1361, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1353, + "src": "3029:8:10", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "src": "6121:72:5", + "src": "3020:17:10", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 1266, + "id": 1363, "nodeType": "ExpressionStatement", - "src": "6121:72:5" + "src": "3020:17:10" }, { - "expression": { - "components": [ - { - "id": 1267, - "name": "x3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1113, - "src": "6225:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1268, - "name": "y3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1115, - "src": "6229:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, + "eventCall": { + "arguments": [ { - "id": 1269, - "name": "zz3", + "id": 1365, + "name": "oldOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1117, - "src": "6233:3:5", + "referencedDeclaration": 1357, + "src": "3073:8:10", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, { - "id": 1270, - "name": "zzz3", + "id": 1366, + "name": "newOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1119, - "src": "6238:4:5", + "referencedDeclaration": 1353, + "src": "3083:8:10", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } } ], - "id": 1271, + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1364, + "name": "OwnershipTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1248, + "src": "3052:20:10", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 1367, "isConstant": false, - "isInlineArray": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6224:19:5", + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3052:40:10", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,uint256)" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "functionReturnParameters": 1120, - "id": 1272, - "nodeType": "Return", - "src": "6217:26:5" + "id": 1368, + "nodeType": "EmitStatement", + "src": "3047:45:10" } ] }, - "id": 1274, + "documentation": { + "id": 1351, + "nodeType": "StructuredDocumentation", + "src": "2764:143:10", + "text": " @dev Transfers ownership of the contract to a new account (`newOwner`).\n Internal function without access restriction." + }, + "id": 1370, "implemented": true, "kind": "function", "modifiers": [], - "name": "ecZZ_Add", - "nameLocation": "5303:8:5", + "name": "_transferOwnership", + "nameLocation": "2921:18:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 1111, + "id": 1354, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1096, + "id": 1353, "mutability": "mutable", - "name": "x1", - "nameLocation": "5320:2:5", + "name": "newOwner", + "nameLocation": "2948:8:10", "nodeType": "VariableDeclaration", - "scope": 1274, - "src": "5312:10:5", + "scope": 1370, + "src": "2940:16:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 1095, - "name": "uint256", + "id": 1352, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "5312:7:5", + "src": "2940:7:10", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "internal" - }, + } + ], + "src": "2939:18:10" + }, + "returnParameters": { + "id": 1355, + "nodeType": "ParameterList", + "parameters": [], + "src": "2975:0:10" + }, + "scope": 1371, + "src": "2912:187:10", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + } + ], + "scope": 1372, + "src": "663:2438:10", + "usedErrors": [ + 1237, + 1242 + ], + "usedEvents": [ + 1248 + ] + } + ], + "src": "102:3000:10" + }, + "id": 10 + }, + "@openzeppelin/contracts/interfaces/draft-IERC6093.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/interfaces/draft-IERC6093.sol", + "exportedSymbols": { + "IERC1155Errors": [ + 1508 + ], + "IERC20Errors": [ + 1413 + ], + "IERC721Errors": [ + 1461 + ] + }, + "id": 1509, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1373, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "112:24:11" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IERC20Errors", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 1374, + "nodeType": "StructuredDocumentation", + "src": "138:141:11", + "text": " @dev Standard ERC-20 Errors\n Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-20 tokens." + }, + "fullyImplemented": true, + "id": 1413, + "linearizedBaseContracts": [ + 1413 + ], + "name": "IERC20Errors", + "nameLocation": "290:12:11", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 1375, + "nodeType": "StructuredDocumentation", + "src": "309:309:11", + "text": " @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers.\n @param sender Address whose tokens are being transferred.\n @param balance Current balance for the interacting account.\n @param needed Minimum amount required to perform a transfer." + }, + "errorSelector": "e450d38c", + "id": 1383, + "name": "ERC20InsufficientBalance", + "nameLocation": "629:24:11", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 1382, + "nodeType": "ParameterList", + "parameters": [ { "constant": false, - "id": 1098, + "id": 1377, "mutability": "mutable", - "name": "y1", - "nameLocation": "5332:2:5", + "name": "sender", + "nameLocation": "662:6:11", "nodeType": "VariableDeclaration", - "scope": 1274, - "src": "5324:10:5", + "scope": 1383, + "src": "654:14:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 1097, - "name": "uint256", + "id": 1376, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "5324:7:5", + "src": "654:7:11", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "internal" }, { "constant": false, - "id": 1100, + "id": 1379, "mutability": "mutable", - "name": "zz1", - "nameLocation": "5344:3:5", + "name": "balance", + "nameLocation": "678:7:11", "nodeType": "VariableDeclaration", - "scope": 1274, - "src": "5336:11:5", + "scope": 1383, + "src": "670:15:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18655,10 +17413,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1099, + "id": 1378, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5336:7:5", + "src": "670:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18668,13 +17426,13 @@ }, { "constant": false, - "id": 1102, + "id": 1381, "mutability": "mutable", - "name": "zzz1", - "nameLocation": "5357:4:5", + "name": "needed", + "nameLocation": "695:6:11", "nodeType": "VariableDeclaration", - "scope": 1274, - "src": "5349:12:5", + "scope": 1383, + "src": "687:14:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18682,107 +17440,173 @@ "typeString": "uint256" }, "typeName": { - "id": 1101, + "id": 1380, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5349:7:5", + "src": "687:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" - }, + } + ], + "src": "653:49:11" + }, + "src": "623:80:11" + }, + { + "documentation": { + "id": 1384, + "nodeType": "StructuredDocumentation", + "src": "709:152:11", + "text": " @dev Indicates a failure with the token `sender`. Used in transfers.\n @param sender Address whose tokens are being transferred." + }, + "errorSelector": "96c6fd1e", + "id": 1388, + "name": "ERC20InvalidSender", + "nameLocation": "872:18:11", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 1387, + "nodeType": "ParameterList", + "parameters": [ { "constant": false, - "id": 1104, + "id": 1386, "mutability": "mutable", - "name": "x2", - "nameLocation": "5371:2:5", + "name": "sender", + "nameLocation": "899:6:11", "nodeType": "VariableDeclaration", - "scope": 1274, - "src": "5363:10:5", + "scope": 1388, + "src": "891:14:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 1103, - "name": "uint256", + "id": 1385, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "5363:7:5", + "src": "891:7:11", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "internal" - }, + } + ], + "src": "890:16:11" + }, + "src": "866:41:11" + }, + { + "documentation": { + "id": 1389, + "nodeType": "StructuredDocumentation", + "src": "913:159:11", + "text": " @dev Indicates a failure with the token `receiver`. Used in transfers.\n @param receiver Address to which tokens are being transferred." + }, + "errorSelector": "ec442f05", + "id": 1393, + "name": "ERC20InvalidReceiver", + "nameLocation": "1083:20:11", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 1392, + "nodeType": "ParameterList", + "parameters": [ { "constant": false, - "id": 1106, + "id": 1391, "mutability": "mutable", - "name": "y2", - "nameLocation": "5383:2:5", + "name": "receiver", + "nameLocation": "1112:8:11", "nodeType": "VariableDeclaration", - "scope": 1274, - "src": "5375:10:5", + "scope": 1393, + "src": "1104:16:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 1105, - "name": "uint256", + "id": 1390, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "5375:7:5", + "src": "1104:7:11", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "internal" - }, + } + ], + "src": "1103:18:11" + }, + "src": "1077:45:11" + }, + { + "documentation": { + "id": 1394, + "nodeType": "StructuredDocumentation", + "src": "1128:345:11", + "text": " @dev Indicates a failure with the `spender`’s `allowance`. Used in transfers.\n @param spender Address that may be allowed to operate on tokens without being their owner.\n @param allowance Amount of tokens a `spender` is allowed to operate with.\n @param needed Minimum amount required to perform a transfer." + }, + "errorSelector": "fb8f41b2", + "id": 1402, + "name": "ERC20InsufficientAllowance", + "nameLocation": "1484:26:11", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 1401, + "nodeType": "ParameterList", + "parameters": [ { "constant": false, - "id": 1108, + "id": 1396, "mutability": "mutable", - "name": "zz2", - "nameLocation": "5395:3:5", + "name": "spender", + "nameLocation": "1519:7:11", "nodeType": "VariableDeclaration", - "scope": 1274, - "src": "5387:11:5", + "scope": 1402, + "src": "1511:15:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 1107, - "name": "uint256", + "id": 1395, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "5387:7:5", + "src": "1511:7:11", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "internal" }, { "constant": false, - "id": 1110, + "id": 1398, "mutability": "mutable", - "name": "zzz2", - "nameLocation": "5408:4:5", + "name": "allowance", + "nameLocation": "1536:9:11", "nodeType": "VariableDeclaration", - "scope": 1274, - "src": "5400:12:5", + "scope": 1402, + "src": "1528:17:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18790,33 +17614,26 @@ "typeString": "uint256" }, "typeName": { - "id": 1109, + "id": 1397, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5400:7:5", + "src": "1528:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" - } - ], - "src": "5311:102:5" - }, - "returnParameters": { - "id": 1120, - "nodeType": "ParameterList", - "parameters": [ + }, { "constant": false, - "id": 1113, + "id": 1400, "mutability": "mutable", - "name": "x3", - "nameLocation": "5446:2:5", + "name": "needed", + "nameLocation": "1555:6:11", "nodeType": "VariableDeclaration", - "scope": 1274, - "src": "5438:10:5", + "scope": 1402, + "src": "1547:14:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18824,91 +17641,239 @@ "typeString": "uint256" }, "typeName": { - "id": 1112, + "id": 1399, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5438:7:5", + "src": "1547:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" - }, + } + ], + "src": "1510:52:11" + }, + "src": "1478:85:11" + }, + { + "documentation": { + "id": 1403, + "nodeType": "StructuredDocumentation", + "src": "1569:174:11", + "text": " @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n @param approver Address initiating an approval operation." + }, + "errorSelector": "e602df05", + "id": 1407, + "name": "ERC20InvalidApprover", + "nameLocation": "1754:20:11", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 1406, + "nodeType": "ParameterList", + "parameters": [ { "constant": false, - "id": 1115, + "id": 1405, "mutability": "mutable", - "name": "y3", - "nameLocation": "5458:2:5", + "name": "approver", + "nameLocation": "1783:8:11", "nodeType": "VariableDeclaration", - "scope": 1274, - "src": "5450:10:5", + "scope": 1407, + "src": "1775:16:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 1114, - "name": "uint256", + "id": 1404, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "5450:7:5", + "src": "1775:7:11", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "internal" - }, + } + ], + "src": "1774:18:11" + }, + "src": "1748:45:11" + }, + { + "documentation": { + "id": 1408, + "nodeType": "StructuredDocumentation", + "src": "1799:195:11", + "text": " @dev Indicates a failure with the `spender` to be approved. Used in approvals.\n @param spender Address that may be allowed to operate on tokens without being their owner." + }, + "errorSelector": "94280d62", + "id": 1412, + "name": "ERC20InvalidSpender", + "nameLocation": "2005:19:11", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 1411, + "nodeType": "ParameterList", + "parameters": [ { "constant": false, - "id": 1117, + "id": 1410, "mutability": "mutable", - "name": "zz3", - "nameLocation": "5470:3:5", + "name": "spender", + "nameLocation": "2033:7:11", "nodeType": "VariableDeclaration", - "scope": 1274, - "src": "5462:11:5", + "scope": 1412, + "src": "2025:15:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 1116, - "name": "uint256", + "id": 1409, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "5462:7:5", + "src": "2025:7:11", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "internal" - }, - { - "constant": false, - "id": 1119, - "mutability": "mutable", - "name": "zzz3", - "nameLocation": "5483:4:5", - "nodeType": "VariableDeclaration", - "scope": 1274, - "src": "5475:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1118, + } + ], + "src": "2024:17:11" + }, + "src": "1999:43:11" + } + ], + "scope": 1509, + "src": "280:1764:11", + "usedErrors": [ + 1383, + 1388, + 1393, + 1402, + 1407, + 1412 + ], + "usedEvents": [] + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IERC721Errors", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 1414, + "nodeType": "StructuredDocumentation", + "src": "2046:143:11", + "text": " @dev Standard ERC-721 Errors\n Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-721 tokens." + }, + "fullyImplemented": true, + "id": 1461, + "linearizedBaseContracts": [ + 1461 + ], + "name": "IERC721Errors", + "nameLocation": "2200:13:11", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 1415, + "nodeType": "StructuredDocumentation", + "src": "2220:219:11", + "text": " @dev Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in ERC-20.\n Used in balance queries.\n @param owner Address of the current owner of a token." + }, + "errorSelector": "89c62b64", + "id": 1419, + "name": "ERC721InvalidOwner", + "nameLocation": "2450:18:11", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 1418, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1417, + "mutability": "mutable", + "name": "owner", + "nameLocation": "2477:5:11", + "nodeType": "VariableDeclaration", + "scope": 1419, + "src": "2469:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1416, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2469:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2468:15:11" + }, + "src": "2444:40:11" + }, + { + "documentation": { + "id": 1420, + "nodeType": "StructuredDocumentation", + "src": "2490:132:11", + "text": " @dev Indicates a `tokenId` whose `owner` is the zero address.\n @param tokenId Identifier number of a token." + }, + "errorSelector": "7e273289", + "id": 1424, + "name": "ERC721NonexistentToken", + "nameLocation": "2633:22:11", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 1423, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1422, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "2664:7:11", + "nodeType": "VariableDeclaration", + "scope": 1424, + "src": "2656:15:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1421, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5475:7:5", + "src": "2656:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18917,1215 +17882,265 @@ "visibility": "internal" } ], - "src": "5437:51:5" + "src": "2655:17:11" }, - "scope": 2298, - "src": "5294:954:5", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" + "src": "2627:46:11" }, { - "body": { - "id": 1298, - "nodeType": "Block", - "src": "6701:1432:5", - "statements": [ + "documentation": { + "id": 1425, + "nodeType": "StructuredDocumentation", + "src": "2679:289:11", + "text": " @dev Indicates an error related to the ownership over a particular token. Used in transfers.\n @param sender Address whose tokens are being transferred.\n @param tokenId Identifier number of a token.\n @param owner Address of the current owner of a token." + }, + "errorSelector": "64283d7b", + "id": 1433, + "name": "ERC721IncorrectOwner", + "nameLocation": "2979:20:11", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 1432, + "nodeType": "ParameterList", + "parameters": [ { - "AST": { - "nativeSrc": "6729:1314:5", - "nodeType": "YulBlock", - "src": "6729:1314:5", - "statements": [ - { - "nativeSrc": "6785:26:5", - "nodeType": "YulVariableDeclaration", - "src": "6785:26:5", - "value": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "6806:4:5", - "nodeType": "YulLiteral", - "src": "6806:4:5", - "type": "", - "value": "0x40" - } - ], - "functionName": { - "name": "mload", - "nativeSrc": "6800:5:5", - "nodeType": "YulIdentifier", - "src": "6800:5:5" - }, - "nativeSrc": "6800:11:5", - "nodeType": "YulFunctionCall", - "src": "6800:11:5" - }, - "variables": [ - { - "name": "pointer", - "nativeSrc": "6789:7:5", - "nodeType": "YulTypedName", - "src": "6789:7:5", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pointer", - "nativeSrc": "6869:7:5", - "nodeType": "YulIdentifier", - "src": "6869:7:5" - }, - { - "kind": "number", - "nativeSrc": "6878:4:5", - "nodeType": "YulLiteral", - "src": "6878:4:5", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "6862:6:5", - "nodeType": "YulIdentifier", - "src": "6862:6:5" - }, - "nativeSrc": "6862:21:5", - "nodeType": "YulFunctionCall", - "src": "6862:21:5" - }, - "nativeSrc": "6862:21:5", - "nodeType": "YulExpressionStatement", - "src": "6862:21:5" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pointer", - "nativeSrc": "6947:7:5", - "nodeType": "YulIdentifier", - "src": "6947:7:5" - }, - { - "kind": "number", - "nativeSrc": "6956:4:5", - "nodeType": "YulLiteral", - "src": "6956:4:5", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "6943:3:5", - "nodeType": "YulIdentifier", - "src": "6943:3:5" - }, - "nativeSrc": "6943:18:5", - "nodeType": "YulFunctionCall", - "src": "6943:18:5" - }, - { - "kind": "number", - "nativeSrc": "6963:4:5", - "nodeType": "YulLiteral", - "src": "6963:4:5", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "6936:6:5", - "nodeType": "YulIdentifier", - "src": "6936:6:5" - }, - "nativeSrc": "6936:32:5", - "nodeType": "YulFunctionCall", - "src": "6936:32:5" - }, - "nativeSrc": "6936:32:5", - "nodeType": "YulExpressionStatement", - "src": "6936:32:5" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pointer", - "nativeSrc": "7031:7:5", - "nodeType": "YulIdentifier", - "src": "7031:7:5" - }, - { - "kind": "number", - "nativeSrc": "7040:4:5", - "nodeType": "YulLiteral", - "src": "7040:4:5", - "type": "", - "value": "0x40" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "7027:3:5", - "nodeType": "YulIdentifier", - "src": "7027:3:5" - }, - "nativeSrc": "7027:18:5", - "nodeType": "YulFunctionCall", - "src": "7027:18:5" - }, - { - "kind": "number", - "nativeSrc": "7047:4:5", - "nodeType": "YulLiteral", - "src": "7047:4:5", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "7020:6:5", - "nodeType": "YulIdentifier", - "src": "7020:6:5" - }, - "nativeSrc": "7020:32:5", - "nodeType": "YulFunctionCall", - "src": "7020:32:5" - }, - "nativeSrc": "7020:32:5", - "nodeType": "YulExpressionStatement", - "src": "7020:32:5" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pointer", - "nativeSrc": "7109:7:5", - "nodeType": "YulIdentifier", - "src": "7109:7:5" - }, - { - "kind": "number", - "nativeSrc": "7118:4:5", - "nodeType": "YulLiteral", - "src": "7118:4:5", - "type": "", - "value": "0x60" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "7105:3:5", - "nodeType": "YulIdentifier", - "src": "7105:3:5" - }, - "nativeSrc": "7105:18:5", - "nodeType": "YulFunctionCall", - "src": "7105:18:5" - }, - { - "name": "self", - "nativeSrc": "7125:4:5", - "nodeType": "YulIdentifier", - "src": "7125:4:5" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "7098:6:5", - "nodeType": "YulIdentifier", - "src": "7098:6:5" - }, - "nativeSrc": "7098:32:5", - "nodeType": "YulFunctionCall", - "src": "7098:32:5" - }, - "nativeSrc": "7098:32:5", - "nodeType": "YulExpressionStatement", - "src": "7098:32:5" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pointer", - "nativeSrc": "7185:7:5", - "nodeType": "YulIdentifier", - "src": "7185:7:5" - }, - { - "kind": "number", - "nativeSrc": "7194:4:5", - "nodeType": "YulLiteral", - "src": "7194:4:5", - "type": "", - "value": "0x80" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "7181:3:5", - "nodeType": "YulIdentifier", - "src": "7181:3:5" - }, - "nativeSrc": "7181:18:5", - "nodeType": "YulFunctionCall", - "src": "7181:18:5" - }, - { - "name": "pp1div4", - "nativeSrc": "7201:7:5", - "nodeType": "YulIdentifier", - "src": "7201:7:5" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "7174:6:5", - "nodeType": "YulIdentifier", - "src": "7174:6:5" - }, - "nativeSrc": "7174:35:5", - "nodeType": "YulFunctionCall", - "src": "7174:35:5" - }, - "nativeSrc": "7174:35:5", - "nodeType": "YulExpressionStatement", - "src": "7174:35:5" - }, - { - "nativeSrc": "7396:33:5", - "nodeType": "YulVariableDeclaration", - "src": "7396:33:5", - "value": { - "arguments": [ - { - "name": "pointer", - "nativeSrc": "7415:7:5", - "nodeType": "YulIdentifier", - "src": "7415:7:5" - }, - { - "kind": "number", - "nativeSrc": "7424:4:5", - "nodeType": "YulLiteral", - "src": "7424:4:5", - "type": "", - "value": "0xa0" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "7411:3:5", - "nodeType": "YulIdentifier", - "src": "7411:3:5" - }, - "nativeSrc": "7411:18:5", - "nodeType": "YulFunctionCall", - "src": "7411:18:5" - }, - "variables": [ - { - "name": "_result", - "nativeSrc": "7400:7:5", - "nodeType": "YulTypedName", - "src": "7400:7:5", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "_result", - "nativeSrc": "7479:7:5", - "nodeType": "YulIdentifier", - "src": "7479:7:5" - }, - { - "name": "p", - "nativeSrc": "7488:1:5", - "nodeType": "YulIdentifier", - "src": "7488:1:5" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "7472:6:5", - "nodeType": "YulIdentifier", - "src": "7472:6:5" - }, - "nativeSrc": "7472:18:5", - "nodeType": "YulFunctionCall", - "src": "7472:18:5" - }, - "nativeSrc": "7472:18:5", - "nodeType": "YulExpressionStatement", - "src": "7472:18:5" - }, - { - "body": { - "nativeSrc": "7964:16:5", - "nodeType": "YulBlock", - "src": "7964:16:5", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "7973:1:5", - "nodeType": "YulLiteral", - "src": "7973:1:5", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nativeSrc": "7976:1:5", - "nodeType": "YulLiteral", - "src": "7976:1:5", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "7966:6:5", - "nodeType": "YulIdentifier", - "src": "7966:6:5" - }, - "nativeSrc": "7966:12:5", - "nodeType": "YulFunctionCall", - "src": "7966:12:5" - }, - "nativeSrc": "7966:12:5", - "nodeType": "YulExpressionStatement", - "src": "7966:12:5" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nativeSrc": "7640:1:5", - "nodeType": "YulLiteral", - "src": "7640:1:5", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nativeSrc": "7636:3:5", - "nodeType": "YulIdentifier", - "src": "7636:3:5" - }, - "nativeSrc": "7636:6:5", - "nodeType": "YulFunctionCall", - "src": "7636:6:5" - }, - { - "name": "MODEXP_PRECOMPILE", - "nativeSrc": "7685:17:5", - "nodeType": "YulIdentifier", - "src": "7685:17:5" - }, - { - "name": "pointer", - "nativeSrc": "7730:7:5", - "nodeType": "YulIdentifier", - "src": "7730:7:5" - }, - { - "kind": "number", - "nativeSrc": "7769:4:5", - "nodeType": "YulLiteral", - "src": "7769:4:5", - "type": "", - "value": "0xc0" - }, - { - "name": "_result", - "nativeSrc": "7818:7:5", - "nodeType": "YulIdentifier", - "src": "7818:7:5" - }, - { - "kind": "number", - "nativeSrc": "7913:4:5", - "nodeType": "YulLiteral", - "src": "7913:4:5", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "staticcall", - "nativeSrc": "7608:10:5", - "nodeType": "YulIdentifier", - "src": "7608:10:5" - }, - "nativeSrc": "7608:345:5", - "nodeType": "YulFunctionCall", - "src": "7608:345:5" - } - ], - "functionName": { - "name": "iszero", - "nativeSrc": "7588:6:5", - "nodeType": "YulIdentifier", - "src": "7588:6:5" - }, - "nativeSrc": "7588:375:5", - "nodeType": "YulFunctionCall", - "src": "7588:375:5" - }, - "nativeSrc": "7585:395:5", - "nodeType": "YulIf", - "src": "7585:395:5" - }, - { - "nativeSrc": "7984:24:5", - "nodeType": "YulAssignment", - "src": "7984:24:5", - "value": { - "arguments": [ - { - "name": "_result", - "nativeSrc": "8000:7:5", - "nodeType": "YulIdentifier", - "src": "8000:7:5" - } - ], - "functionName": { - "name": "mload", - "nativeSrc": "7994:5:5", - "nodeType": "YulIdentifier", - "src": "7994:5:5" - }, - "nativeSrc": "7994:14:5", - "nodeType": "YulFunctionCall", - "src": "7994:14:5" - }, - "variableNames": [ - { - "name": "result", - "nativeSrc": "7984:6:5", - "nodeType": "YulIdentifier", - "src": "7984:6:5" - } - ] - } - ] + "constant": false, + "id": 1427, + "mutability": "mutable", + "name": "sender", + "nameLocation": "3008:6:11", + "nodeType": "VariableDeclaration", + "scope": 1433, + "src": "3000:14:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" }, - "evmVersion": "paris", - "externalReferences": [ - { - "declaration": 962, - "isOffset": false, - "isSlot": false, - "src": "7685:17:5", - "valueSize": 1 - }, - { - "declaration": 965, - "isOffset": false, - "isSlot": false, - "src": "7488:1:5", - "valueSize": 1 - }, - { - "declaration": 992, - "isOffset": false, - "isSlot": false, - "src": "7201:7:5", - "valueSize": 1 - }, - { - "declaration": 1280, - "isOffset": false, - "isSlot": false, - "src": "7984:6:5", - "valueSize": 1 - }, - { - "declaration": 1277, - "isOffset": false, - "isSlot": false, - "src": "7125:4:5", - "valueSize": 1 + "typeName": { + "id": 1426, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3000:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" } - ], - "flags": [ - "memory-safe" - ], - "id": 1282, - "nodeType": "InlineAssembly", - "src": "6704:1339:5" + }, + "visibility": "internal" }, { - "condition": { - "commonType": { + "constant": false, + "id": 1429, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "3024:7:11", + "nodeType": "VariableDeclaration", + "scope": 1433, + "src": "3016:15:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1428, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3016:7:11", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" - }, - "id": 1289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 1284, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1280, - "src": "8057:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1285, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1280, - "src": "8064:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1286, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "8071:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1283, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "8050:6:5", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 1287, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8050:23:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 1288, - "name": "self", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1277, - "src": "8075:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8050:29:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" } }, - "id": 1295, - "nodeType": "IfStatement", - "src": "8047:63:5", - "trueBody": { - "id": 1294, - "nodeType": "Block", - "src": "8080:30:5", - "statements": [ - { - "expression": { - "id": 1292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1290, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1280, - "src": "8087:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 1291, - "name": "_NOTSQUARE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 995, - "src": "8094:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8087:17:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1293, - "nodeType": "ExpressionStatement", - "src": "8087:17:5" - } - ] - } + "visibility": "internal" }, { - "expression": { - "id": 1296, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1280, - "src": "8124:6:5", + "constant": false, + "id": 1431, + "mutability": "mutable", + "name": "owner", + "nameLocation": "3041:5:11", + "nodeType": "VariableDeclaration", + "scope": 1433, + "src": "3033:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1430, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3033:7:11", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "functionReturnParameters": 1281, - "id": 1297, - "nodeType": "Return", - "src": "8117:13:5" + "visibility": "internal" } - ] + ], + "src": "2999:48:11" }, + "src": "2973:75:11" + }, + { "documentation": { - "id": 1275, + "id": 1434, "nodeType": "StructuredDocumentation", - "src": "6250:381:5", - "text": "@notice Calculate one modular square root of a given integer. Assume that p=3 mod 4.\n @dev Uses the ModExp precompiled contract at address 0x05 for fast computation using little Fermat theorem\n @param self The integer of which to find the modular inverse\n @return result The modular inverse of the input integer. If the modular inverse doesn't exist, it revert the tx" + "src": "3054:152:11", + "text": " @dev Indicates a failure with the token `sender`. Used in transfers.\n @param sender Address whose tokens are being transferred." }, - "id": 1299, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "SqrtMod", - "nameLocation": "6641:7:5", - "nodeType": "FunctionDefinition", + "errorSelector": "73c6ac6e", + "id": 1438, + "name": "ERC721InvalidSender", + "nameLocation": "3217:19:11", + "nodeType": "ErrorDefinition", "parameters": { - "id": 1278, + "id": 1437, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1277, + "id": 1436, "mutability": "mutable", - "name": "self", - "nameLocation": "6657:4:5", + "name": "sender", + "nameLocation": "3245:6:11", "nodeType": "VariableDeclaration", - "scope": 1299, - "src": "6649:12:5", + "scope": 1438, + "src": "3237:14:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 1276, - "name": "uint256", + "id": 1435, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "6649:7:5", + "src": "3237:7:11", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "internal" } ], - "src": "6648:14:5" + "src": "3236:16:11" }, - "returnParameters": { - "id": 1281, + "src": "3211:42:11" + }, + { + "documentation": { + "id": 1439, + "nodeType": "StructuredDocumentation", + "src": "3259:159:11", + "text": " @dev Indicates a failure with the token `receiver`. Used in transfers.\n @param receiver Address to which tokens are being transferred." + }, + "errorSelector": "64a0ae92", + "id": 1443, + "name": "ERC721InvalidReceiver", + "nameLocation": "3429:21:11", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 1442, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1280, + "id": 1441, "mutability": "mutable", - "name": "result", - "nameLocation": "6694:6:5", + "name": "receiver", + "nameLocation": "3459:8:11", "nodeType": "VariableDeclaration", - "scope": 1299, - "src": "6686:14:5", + "scope": 1443, + "src": "3451:16:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 1279, - "name": "uint256", + "id": 1440, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "6686:7:5", + "src": "3451:7:11", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "internal" } ], - "src": "6685:16:5" + "src": "3450:18:11" }, - "scope": 2298, - "src": "6632:1501:5", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" + "src": "3423:46:11" }, { - "body": { - "id": 1336, - "nodeType": "Block", - "src": "8294:138:5", - "statements": [ - { - "id": 1335, - "nodeType": "UncheckedBlock", - "src": "8304:122:5", - "statements": [ - { - "expression": { - "id": 1315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 1311, - "name": "P", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1309, - "src": "8328:1:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$4_memory_ptr", - "typeString": "uint256[4] memory" - } - }, - "id": 1313, - "indexExpression": { - "hexValue": "32", - "id": 1312, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8330:1:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8328:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "31", - "id": 1314, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8335:1:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "8328:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1316, - "nodeType": "ExpressionStatement", - "src": "8328:8:5" - }, - { - "expression": { - "id": 1321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 1317, - "name": "P", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1309, - "src": "8355:1:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$4_memory_ptr", - "typeString": "uint256[4] memory" - } - }, - "id": 1319, - "indexExpression": { - "hexValue": "33", - "id": 1318, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8357:1:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8355:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "31", - "id": 1320, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8362:1:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "8355:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1322, - "nodeType": "ExpressionStatement", - "src": "8355:8:5" - }, - { - "expression": { - "id": 1327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 1323, - "name": "P", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1309, - "src": "8383:1:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$4_memory_ptr", - "typeString": "uint256[4] memory" - } - }, - "id": 1325, - "indexExpression": { - "hexValue": "30", - "id": 1324, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8385:1:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8383:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 1326, - "name": "x0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1302, - "src": "8390:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8383:9:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1328, - "nodeType": "ExpressionStatement", - "src": "8383:9:5" - }, - { - "expression": { - "id": 1333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 1329, - "name": "P", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1309, - "src": "8406:1:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$4_memory_ptr", - "typeString": "uint256[4] memory" - } - }, - "id": 1331, - "indexExpression": { - "hexValue": "31", - "id": 1330, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8408:1:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8406:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 1332, - "name": "y0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1304, - "src": "8413:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8406:9:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1334, - "nodeType": "ExpressionStatement", - "src": "8406:9:5" - } - ] - } - ] - }, "documentation": { - "id": 1300, + "id": 1444, "nodeType": "StructuredDocumentation", - "src": "8138:62:5", - "text": " /* @dev Convert from affine rep to XYZZ rep" + "src": "3475:247:11", + "text": " @dev Indicates a failure with the `operator`’s approval. Used in transfers.\n @param operator Address that may be allowed to operate on tokens without being their owner.\n @param tokenId Identifier number of a token." }, - "id": 1337, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ecAff_SetZZ", - "nameLocation": "8214:11:5", - "nodeType": "FunctionDefinition", + "errorSelector": "177e802f", + "id": 1450, + "name": "ERC721InsufficientApproval", + "nameLocation": "3733:26:11", + "nodeType": "ErrorDefinition", "parameters": { - "id": 1305, + "id": 1449, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1302, + "id": 1446, "mutability": "mutable", - "name": "x0", - "nameLocation": "8234:2:5", + "name": "operator", + "nameLocation": "3768:8:11", "nodeType": "VariableDeclaration", - "scope": 1337, - "src": "8226:10:5", + "scope": 1450, + "src": "3760:16:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 1301, - "name": "uint256", + "id": 1445, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "8226:7:5", + "src": "3760:7:11", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "internal" }, { "constant": false, - "id": 1304, + "id": 1448, "mutability": "mutable", - "name": "y0", - "nameLocation": "8246:2:5", + "name": "tokenId", + "nameLocation": "3786:7:11", "nodeType": "VariableDeclaration", - "scope": 1337, - "src": "8238:10:5", + "scope": 1450, + "src": "3778:15:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20133,10 +18148,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1303, + "id": 1447, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8238:7:5", + "src": "3778:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20145,1660 +18160,1579 @@ "visibility": "internal" } ], - "src": "8225:24:5" + "src": "3759:35:11" }, - "returnParameters": { - "id": 1310, + "src": "3727:68:11" + }, + { + "documentation": { + "id": 1451, + "nodeType": "StructuredDocumentation", + "src": "3801:174:11", + "text": " @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n @param approver Address initiating an approval operation." + }, + "errorSelector": "a9fbf51f", + "id": 1455, + "name": "ERC721InvalidApprover", + "nameLocation": "3986:21:11", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 1454, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1309, + "id": 1453, "mutability": "mutable", - "name": "P", - "nameLocation": "8291:1:5", + "name": "approver", + "nameLocation": "4016:8:11", "nodeType": "VariableDeclaration", - "scope": 1337, - "src": "8273:19:5", + "scope": 1455, + "src": "4008:16:11", "stateVariable": false, - "storageLocation": "memory", + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$4_memory_ptr", - "typeString": "uint256[4]" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "baseType": { - "id": 1306, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8273:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1308, - "length": { - "hexValue": "34", - "id": 1307, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8281:1:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "nodeType": "ArrayTypeName", - "src": "8273:10:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$4_storage_ptr", - "typeString": "uint256[4]" + "id": 1452, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4008:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "internal" } ], - "src": "8272:21:5" + "src": "4007:18:11" }, - "scope": 2298, - "src": "8205:227:5", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" + "src": "3980:46:11" }, { - "body": { - "id": 1404, - "nodeType": "Block", - "src": "8520:271:5", - "statements": [ + "documentation": { + "id": 1456, + "nodeType": "StructuredDocumentation", + "src": "4032:197:11", + "text": " @dev Indicates a failure with the `operator` to be approved. Used in approvals.\n @param operator Address that may be allowed to operate on tokens without being their owner." + }, + "errorSelector": "5b08ba18", + "id": 1460, + "name": "ERC721InvalidOperator", + "nameLocation": "4240:21:11", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 1459, + "nodeType": "ParameterList", + "parameters": [ { - "assignments": [ - 1347 - ], - "declarations": [ - { - "constant": false, - "id": 1347, - "mutability": "mutable", - "name": "y2", - "nameLocation": "8540:2:5", - "nodeType": "VariableDeclaration", - "scope": 1404, - "src": "8532:10:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1346, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8532:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" + "constant": false, + "id": 1458, + "mutability": "mutable", + "name": "operator", + "nameLocation": "4270:8:11", + "nodeType": "VariableDeclaration", + "scope": 1460, + "src": "4262:16:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1457, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4262:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" } - ], - "id": 1357, - "initialValue": { - "arguments": [ - { - "id": 1349, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1339, - "src": "8550:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "arguments": [ - { - "id": 1351, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1339, - "src": "8559:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1352, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1339, - "src": "8561:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1353, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "8563:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1350, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "8552:6:5", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 1354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8552:13:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1355, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "8566:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1348, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "8543:6:5", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 1356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8543:25:5", - "tryCall": false, + }, + "visibility": "internal" + } + ], + "src": "4261:18:11" + }, + "src": "4234:46:11" + } + ], + "scope": 1509, + "src": "2190:2092:11", + "usedErrors": [ + 1419, + 1424, + 1433, + 1438, + 1443, + 1450, + 1455, + 1460 + ], + "usedEvents": [] + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IERC1155Errors", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 1462, + "nodeType": "StructuredDocumentation", + "src": "4284:145:11", + "text": " @dev Standard ERC-1155 Errors\n Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-1155 tokens." + }, + "fullyImplemented": true, + "id": 1508, + "linearizedBaseContracts": [ + 1508 + ], + "name": "IERC1155Errors", + "nameLocation": "4440:14:11", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 1463, + "nodeType": "StructuredDocumentation", + "src": "4461:361:11", + "text": " @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers.\n @param sender Address whose tokens are being transferred.\n @param balance Current balance for the interacting account.\n @param needed Minimum amount required to perform a transfer.\n @param tokenId Identifier number of a token." + }, + "errorSelector": "03dee4c5", + "id": 1473, + "name": "ERC1155InsufficientBalance", + "nameLocation": "4833:26:11", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 1472, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1465, + "mutability": "mutable", + "name": "sender", + "nameLocation": "4868:6:11", + "nodeType": "VariableDeclaration", + "scope": 1473, + "src": "4860:14:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1464, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4860:7:11", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "nodeType": "VariableDeclarationStatement", - "src": "8532:36:5" + "visibility": "internal" }, { - "expression": { - "id": 1372, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1358, - "name": "y2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1347, - "src": "8582:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 1360, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 971, - "src": "8592:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "arguments": [ - { - "id": 1362, - "name": "y2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1347, - "src": "8601:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "arguments": [ - { - "id": 1364, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1339, - "src": "8611:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1365, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 968, - "src": "8613:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1366, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "8615:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1363, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "8604:6:5", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 1367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8604:13:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1368, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "8618:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1361, - "name": "addmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -2, - "src": "8594:6:5", - "typeDescriptions": { - "typeIdentifier": "t_function_addmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 1369, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8594:26:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1370, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "8621:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1359, - "name": "addmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -2, - "src": "8585:6:5", - "typeDescriptions": { - "typeIdentifier": "t_function_addmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 1371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8585:38:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8582:41:5", + "constant": false, + "id": 1467, + "mutability": "mutable", + "name": "balance", + "nameLocation": "4884:7:11", + "nodeType": "VariableDeclaration", + "scope": 1473, + "src": "4876:15:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1466, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4876:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1373, - "nodeType": "ExpressionStatement", - "src": "8582:41:5" + "visibility": "internal" }, { - "expression": { - "id": 1378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1374, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1344, - "src": "8643:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 1376, - "name": "y2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1347, - "src": "8653:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1375, - "name": "SqrtMod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1299, - "src": "8645:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 1377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8645:11:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8643:13:5", + "constant": false, + "id": 1469, + "mutability": "mutable", + "name": "needed", + "nameLocation": "4901:6:11", + "nodeType": "VariableDeclaration", + "scope": 1473, + "src": "4893:14:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1468, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4893:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1379, - "nodeType": "ExpressionStatement", - "src": "8643:13:5" + "visibility": "internal" }, { - "condition": { - "commonType": { + "constant": false, + "id": 1471, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "4917:7:11", + "nodeType": "VariableDeclaration", + "scope": 1473, + "src": "4909:15:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1470, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4909:7:11", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" - }, - "id": 1382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1380, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1344, - "src": "8669:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 1381, - "name": "_NOTSQUARE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 995, - "src": "8672:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8669:13:5", + } + }, + "visibility": "internal" + } + ], + "src": "4859:66:11" + }, + "src": "4827:99:11" + }, + { + "documentation": { + "id": 1474, + "nodeType": "StructuredDocumentation", + "src": "4932:152:11", + "text": " @dev Indicates a failure with the token `sender`. Used in transfers.\n @param sender Address whose tokens are being transferred." + }, + "errorSelector": "01a83514", + "id": 1478, + "name": "ERC1155InvalidSender", + "nameLocation": "5095:20:11", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 1477, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1476, + "mutability": "mutable", + "name": "sender", + "nameLocation": "5124:6:11", + "nodeType": "VariableDeclaration", + "scope": 1478, + "src": "5116:14:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1475, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5116:7:11", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 1386, - "nodeType": "IfStatement", - "src": "8666:59:5", - "trueBody": { - "id": 1385, - "nodeType": "Block", - "src": "8683:42:5", - "statements": [ - { - "expression": { - "id": 1383, - "name": "_NOTONCURVE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 998, - "src": "8703:11:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1345, - "id": 1384, - "nodeType": "Return", - "src": "8696:18:5" - } - ] - } - }, + "visibility": "internal" + } + ], + "src": "5115:16:11" + }, + "src": "5089:43:11" + }, + { + "documentation": { + "id": 1479, + "nodeType": "StructuredDocumentation", + "src": "5138:159:11", + "text": " @dev Indicates a failure with the token `receiver`. Used in transfers.\n @param receiver Address to which tokens are being transferred." + }, + "errorSelector": "57f447ce", + "id": 1483, + "name": "ERC1155InvalidReceiver", + "nameLocation": "5308:22:11", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 1482, + "nodeType": "ParameterList", + "parameters": [ { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1395, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1387, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1344, - "src": "8738:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "hexValue": "31", - "id": 1388, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8740:1:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "8738:3:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1390, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8737:5:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1393, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1391, - "name": "parity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1341, - "src": "8745:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "hexValue": "31", - "id": 1392, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8752:1:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "8745:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1394, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8744:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8737:17:5", + "constant": false, + "id": 1481, + "mutability": "mutable", + "name": "receiver", + "nameLocation": "5339:8:11", + "nodeType": "VariableDeclaration", + "scope": 1483, + "src": "5331:16:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1480, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5331:7:11", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 1403, - "nodeType": "IfStatement", - "src": "8734:51:5", - "trueBody": { - "id": 1402, - "nodeType": "Block", - "src": "8755:30:5", - "statements": [ - { - "expression": { - "id": 1400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1396, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1344, - "src": "8769:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1397, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "8771:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 1398, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1344, - "src": "8773:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8771:3:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8769:5:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1401, - "nodeType": "ExpressionStatement", - "src": "8769:5:5" - } - ] - } + "visibility": "internal" } - ] + ], + "src": "5330:18:11" }, - "id": 1405, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ec_Decompress", - "nameLocation": "8447:13:5", - "nodeType": "FunctionDefinition", + "src": "5302:47:11" + }, + { + "documentation": { + "id": 1484, + "nodeType": "StructuredDocumentation", + "src": "5355:256:11", + "text": " @dev Indicates a failure with the `operator`’s approval. Used in transfers.\n @param operator Address that may be allowed to operate on tokens without being their owner.\n @param owner Address of the current owner of a token." + }, + "errorSelector": "e237d922", + "id": 1490, + "name": "ERC1155MissingApprovalForAll", + "nameLocation": "5622:28:11", + "nodeType": "ErrorDefinition", "parameters": { - "id": 1342, + "id": 1489, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1339, + "id": 1486, "mutability": "mutable", - "name": "x", - "nameLocation": "8469:1:5", + "name": "operator", + "nameLocation": "5659:8:11", "nodeType": "VariableDeclaration", - "scope": 1405, - "src": "8461:9:5", + "scope": 1490, + "src": "5651:16:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 1338, - "name": "uint256", + "id": 1485, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "8461:7:5", + "src": "5651:7:11", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "internal" }, { "constant": false, - "id": 1341, + "id": 1488, "mutability": "mutable", - "name": "parity", - "nameLocation": "8480:6:5", + "name": "owner", + "nameLocation": "5677:5:11", "nodeType": "VariableDeclaration", - "scope": 1405, - "src": "8472:14:5", + "scope": 1490, + "src": "5669:13:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 1340, - "name": "uint256", + "id": 1487, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "8472:7:5", + "src": "5669:7:11", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "internal" } ], - "src": "8460:27:5" + "src": "5650:33:11" }, - "returnParameters": { - "id": 1345, + "src": "5616:68:11" + }, + { + "documentation": { + "id": 1491, + "nodeType": "StructuredDocumentation", + "src": "5690:174:11", + "text": " @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n @param approver Address initiating an approval operation." + }, + "errorSelector": "3e31884e", + "id": 1495, + "name": "ERC1155InvalidApprover", + "nameLocation": "5875:22:11", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 1494, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1344, + "id": 1493, "mutability": "mutable", - "name": "y", - "nameLocation": "8518:1:5", + "name": "approver", + "nameLocation": "5906:8:11", "nodeType": "VariableDeclaration", - "scope": 1405, - "src": "8510:9:5", + "scope": 1495, + "src": "5898:16:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 1343, - "name": "uint256", + "id": 1492, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "8510:7:5", + "src": "5898:7:11", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "internal" } ], - "src": "8509:11:5" + "src": "5897:18:11" }, - "scope": 2298, - "src": "8438:353:5", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" + "src": "5869:47:11" }, { - "body": { - "id": 1459, - "nodeType": "Block", - "src": "9069:236:5", - "statements": [ + "documentation": { + "id": 1496, + "nodeType": "StructuredDocumentation", + "src": "5922:197:11", + "text": " @dev Indicates a failure with the `operator` to be approved. Used in approvals.\n @param operator Address that may be allowed to operate on tokens without being their owner." + }, + "errorSelector": "ced3e100", + "id": 1500, + "name": "ERC1155InvalidOperator", + "nameLocation": "6130:22:11", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 1499, + "nodeType": "ParameterList", + "parameters": [ { - "assignments": [ - 1422 - ], - "declarations": [ - { - "constant": false, - "id": 1422, - "mutability": "mutable", - "name": "zzzInv", - "nameLocation": "9087:6:5", - "nodeType": "VariableDeclaration", - "scope": 1459, - "src": "9079:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1421, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9079:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1426, - "initialValue": { - "arguments": [ - { - "id": 1424, - "name": "zzz", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1414, - "src": "9108:3:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1423, - "name": "FCL_pModInv", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1018, - "src": "9096:11:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 1425, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9096:16:5", - "tryCall": false, + "constant": false, + "id": 1498, + "mutability": "mutable", + "name": "operator", + "nameLocation": "6161:8:11", + "nodeType": "VariableDeclaration", + "scope": 1500, + "src": "6153:16:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1497, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6153:7:11", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "nodeType": "VariableDeclarationStatement", - "src": "9079:33:5" - }, + "visibility": "internal" + } + ], + "src": "6152:18:11" + }, + "src": "6124:47:11" + }, + { + "documentation": { + "id": 1501, + "nodeType": "StructuredDocumentation", + "src": "6177:280:11", + "text": " @dev Indicates an array length mismatch between ids and values in a safeBatchTransferFrom operation.\n Used in batch transfers.\n @param idsLength Length of the array of token identifiers\n @param valuesLength Length of the array of token amounts" + }, + "errorSelector": "5b059991", + "id": 1507, + "name": "ERC1155InvalidArrayLength", + "nameLocation": "6468:25:11", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 1506, + "nodeType": "ParameterList", + "parameters": [ { - "expression": { - "id": 1433, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1427, - "name": "y1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1419, - "src": "9130:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 1429, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1410, - "src": "9142:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1430, - "name": "zzzInv", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1422, - "src": "9145:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1431, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "9153:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1428, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "9135:6:5", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 1432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9135:20:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9130:25:5", + "constant": false, + "id": 1503, + "mutability": "mutable", + "name": "idsLength", + "nameLocation": "6502:9:11", + "nodeType": "VariableDeclaration", + "scope": 1507, + "src": "6494:17:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1502, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6494:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1434, - "nodeType": "ExpressionStatement", - "src": "9130:25:5" + "visibility": "internal" }, { - "assignments": [ - 1436 - ], - "declarations": [ - { - "constant": false, - "id": 1436, - "mutability": "mutable", - "name": "_b", - "nameLocation": "9181:2:5", - "nodeType": "VariableDeclaration", - "scope": 1459, - "src": "9173:10:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1435, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9173:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1442, - "initialValue": { - "arguments": [ - { - "id": 1438, - "name": "zz", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1412, - "src": "9193:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1439, - "name": "zzzInv", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1422, - "src": "9197:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1440, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "9205:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1437, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "9186:6:5", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 1441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9186:21:5", - "tryCall": false, + "constant": false, + "id": 1505, + "mutability": "mutable", + "name": "valuesLength", + "nameLocation": "6521:12:11", + "nodeType": "VariableDeclaration", + "scope": 1507, + "src": "6513:20:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1504, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6513:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "nodeType": "VariableDeclarationStatement", - "src": "9173:34:5" + "visibility": "internal" + } + ], + "src": "6493:41:11" + }, + "src": "6462:73:11" + } + ], + "scope": 1509, + "src": "4430:2107:11", + "usedErrors": [ + 1473, + 1478, + 1483, + 1490, + 1495, + 1500, + 1507 + ], + "usedEvents": [] + } + ], + "src": "112:6426:11" + }, + "id": 11 + }, + "@openzeppelin/contracts/token/ERC20/ERC20.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", + "exportedSymbols": { + "Context": [ + 2157 + ], + "ERC20": [ + 2023 + ], + "IERC20": [ + 2101 + ], + "IERC20Errors": [ + 1413 + ], + "IERC20Metadata": [ + 2127 + ] + }, + "id": 2024, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1510, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "105:24:12" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", + "file": "./IERC20.sol", + "id": 1512, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2024, + "sourceUnit": 2102, + "src": "131:36:12", + "symbolAliases": [ + { + "foreign": { + "id": 1511, + "name": "IERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2101, + "src": "139:6:12", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol", + "file": "./extensions/IERC20Metadata.sol", + "id": 1514, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2024, + "sourceUnit": 2128, + "src": "168:63:12", + "symbolAliases": [ + { + "foreign": { + "id": 1513, + "name": "IERC20Metadata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2127, + "src": "176:14:12", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/Context.sol", + "file": "../../utils/Context.sol", + "id": 1516, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2024, + "sourceUnit": 2158, + "src": "232:48:12", + "symbolAliases": [ + { + "foreign": { + "id": 1515, + "name": "Context", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2157, + "src": "240:7:12", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/interfaces/draft-IERC6093.sol", + "file": "../../interfaces/draft-IERC6093.sol", + "id": 1518, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2024, + "sourceUnit": 1509, + "src": "281:65:12", + "symbolAliases": [ + { + "foreign": { + "id": 1517, + "name": "IERC20Errors", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1413, + "src": "289:12:12", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 1520, + "name": "Context", + "nameLocations": [ + "1133:7:12" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2157, + "src": "1133:7:12" + }, + "id": 1521, + "nodeType": "InheritanceSpecifier", + "src": "1133:7:12" + }, + { + "baseName": { + "id": 1522, + "name": "IERC20", + "nameLocations": [ + "1142:6:12" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2101, + "src": "1142:6:12" + }, + "id": 1523, + "nodeType": "InheritanceSpecifier", + "src": "1142:6:12" + }, + { + "baseName": { + "id": 1524, + "name": "IERC20Metadata", + "nameLocations": [ + "1150:14:12" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2127, + "src": "1150:14:12" + }, + "id": 1525, + "nodeType": "InheritanceSpecifier", + "src": "1150:14:12" + }, + { + "baseName": { + "id": 1526, + "name": "IERC20Errors", + "nameLocations": [ + "1166:12:12" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1413, + "src": "1166:12:12" + }, + "id": 1527, + "nodeType": "InheritanceSpecifier", + "src": "1166:12:12" + } + ], + "canonicalName": "ERC20", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 1519, + "nodeType": "StructuredDocumentation", + "src": "348:757:12", + "text": " @dev Implementation of the {IERC20} interface.\n This implementation is agnostic to the way tokens are created. This means\n that a supply mechanism has to be added in a derived contract using {_mint}.\n TIP: For a detailed writeup see our guide\n https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How\n to implement supply mechanisms].\n The default value of {decimals} is 18. To change this, you should override\n this function so it returns a different value.\n We have followed general OpenZeppelin Contracts guidelines: functions revert\n instead returning `false` on failure. This behavior is nonetheless\n conventional and does not conflict with the expectations of ERC-20\n applications." + }, + "fullyImplemented": true, + "id": 2023, + "linearizedBaseContracts": [ + 2023, + 1413, + 2127, + 2101, + 2157 + ], + "name": "ERC20", + "nameLocation": "1124:5:12", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 1531, + "mutability": "mutable", + "name": "_balances", + "nameLocation": "1229:9:12", + "nodeType": "VariableDeclaration", + "scope": 2023, + "src": "1185:53:12", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 1530, + "keyName": "account", + "keyNameLocation": "1201:7:12", + "keyType": { + "id": 1528, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1193:7:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1185:35:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 1529, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1212:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 1537, + "mutability": "mutable", + "name": "_allowances", + "nameLocation": "1317:11:12", + "nodeType": "VariableDeclaration", + "scope": 2023, + "src": "1245:83:12", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + }, + "typeName": { + "id": 1536, + "keyName": "account", + "keyNameLocation": "1261:7:12", + "keyType": { + "id": 1532, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1253:7:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1245:63:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 1535, + "keyName": "spender", + "keyNameLocation": "1288:7:12", + "keyType": { + "id": 1533, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1280:7:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1272:35:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 1534, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1299:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 1539, + "mutability": "mutable", + "name": "_totalSupply", + "nameLocation": "1351:12:12", + "nodeType": "VariableDeclaration", + "scope": 2023, + "src": "1335:28:12", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1538, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1335:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 1541, + "mutability": "mutable", + "name": "_name", + "nameLocation": "1385:5:12", + "nodeType": "VariableDeclaration", + "scope": 2023, + "src": "1370:20:12", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 1540, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1370:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 1543, + "mutability": "mutable", + "name": "_symbol", + "nameLocation": "1411:7:12", + "nodeType": "VariableDeclaration", + "scope": 2023, + "src": "1396:22:12", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 1542, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1396:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "private" + }, + { + "body": { + "id": 1559, + "nodeType": "Block", + "src": "1638:57:12", + "statements": [ { "expression": { - "id": 1449, + "id": 1553, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 1443, - "name": "zzzInv", + "id": 1551, + "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1422, - "src": "9223:6:5", + "referencedDeclaration": 1541, + "src": "1648:5:12", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "arguments": [ - { - "id": 1445, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1436, - "src": "9239:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1446, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1436, - "src": "9243:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1447, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "9247:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1444, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "9232:6:5", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 1448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9232:17:5", - "tryCall": false, + "id": 1552, + "name": "name_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1546, + "src": "1656:5:12", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" } }, - "src": "9223:26:5", + "src": "1648:13:12", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" } }, - "id": 1450, + "id": 1554, "nodeType": "ExpressionStatement", - "src": "9223:26:5" + "src": "1648:13:12" }, { "expression": { - "id": 1457, + "id": 1557, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 1451, - "name": "x1", + "id": 1555, + "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1417, - "src": "9266:2:5", + "referencedDeclaration": 1543, + "src": "1671:7:12", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "arguments": [ - { - "id": 1453, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1408, - "src": "9278:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1454, - "name": "zzzInv", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1422, - "src": "9281:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1455, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "9289:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1452, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "9271:6:5", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 1456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9271:20:5", - "tryCall": false, + "id": 1556, + "name": "symbol_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1548, + "src": "1681:7:12", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" } }, - "src": "9266:25:5", + "src": "1671:17:12", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" } }, - "id": 1458, + "id": 1558, "nodeType": "ExpressionStatement", - "src": "9266:25:5" + "src": "1671:17:12" } ] }, "documentation": { - "id": 1406, + "id": 1544, "nodeType": "StructuredDocumentation", - "src": "8797:62:5", - "text": " /* @dev Convert from XYZZ rep to affine rep" + "src": "1425:152:12", + "text": " @dev Sets the values for {name} and {symbol}.\n Both values are immutable: they can only be set once during construction." }, - "id": 1460, + "id": 1560, "implemented": true, - "kind": "function", + "kind": "constructor", "modifiers": [], - "name": "ecZZ_SetAff", - "nameLocation": "8963:11:5", + "name": "", + "nameLocation": "-1:-1:-1", "nodeType": "FunctionDefinition", "parameters": { - "id": 1415, + "id": 1549, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1408, + "id": 1546, "mutability": "mutable", - "name": "x", - "nameLocation": "8983:1:5", + "name": "name_", + "nameLocation": "1608:5:12", "nodeType": "VariableDeclaration", - "scope": 1460, - "src": "8975:9:5", + "scope": 1560, + "src": "1594:19:12", "stateVariable": false, - "storageLocation": "default", + "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" }, "typeName": { - "id": 1407, - "name": "uint256", + "id": 1545, + "name": "string", "nodeType": "ElementaryTypeName", - "src": "8975:7:5", + "src": "1594:6:12", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" } }, "visibility": "internal" }, { "constant": false, - "id": 1410, + "id": 1548, "mutability": "mutable", - "name": "y", - "nameLocation": "8994:1:5", + "name": "symbol_", + "nameLocation": "1629:7:12", "nodeType": "VariableDeclaration", - "scope": 1460, - "src": "8986:9:5", + "scope": 1560, + "src": "1615:21:12", "stateVariable": false, - "storageLocation": "default", + "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" }, "typeName": { - "id": 1409, - "name": "uint256", + "id": 1547, + "name": "string", "nodeType": "ElementaryTypeName", - "src": "8986:7:5", + "src": "1615:6:12", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" } }, "visibility": "internal" - }, + } + ], + "src": "1593:44:12" + }, + "returnParameters": { + "id": 1550, + "nodeType": "ParameterList", + "parameters": [], + "src": "1638:0:12" + }, + "scope": 2023, + "src": "1582:113:12", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "baseFunctions": [ + 2114 + ], + "body": { + "id": 1568, + "nodeType": "Block", + "src": "1820:29:12", + "statements": [ + { + "expression": { + "id": 1566, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1541, + "src": "1837:5:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "functionReturnParameters": 1565, + "id": 1567, + "nodeType": "Return", + "src": "1830:12:12" + } + ] + }, + "documentation": { + "id": 1561, + "nodeType": "StructuredDocumentation", + "src": "1701:54:12", + "text": " @dev Returns the name of the token." + }, + "functionSelector": "06fdde03", + "id": 1569, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "name", + "nameLocation": "1769:4:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1562, + "nodeType": "ParameterList", + "parameters": [], + "src": "1773:2:12" + }, + "returnParameters": { + "id": 1565, + "nodeType": "ParameterList", + "parameters": [ { "constant": false, - "id": 1412, + "id": 1564, "mutability": "mutable", - "name": "zz", - "nameLocation": "9005:2:5", + "name": "", + "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 1460, - "src": "8997:10:5", + "scope": 1569, + "src": "1805:13:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1563, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1805:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1804:15:12" + }, + "scope": 2023, + "src": "1760:89:12", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 2120 + ], + "body": { + "id": 1577, + "nodeType": "Block", + "src": "2024:31:12", + "statements": [ + { + "expression": { + "id": 1575, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1543, + "src": "2041:7:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "functionReturnParameters": 1574, + "id": 1576, + "nodeType": "Return", + "src": "2034:14:12" + } + ] + }, + "documentation": { + "id": 1570, + "nodeType": "StructuredDocumentation", + "src": "1855:102:12", + "text": " @dev Returns the symbol of the token, usually a shorter version of the\n name." + }, + "functionSelector": "95d89b41", + "id": 1578, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "symbol", + "nameLocation": "1971:6:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1571, + "nodeType": "ParameterList", + "parameters": [], + "src": "1977:2:12" + }, + "returnParameters": { + "id": 1574, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1573, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1578, + "src": "2009:13:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1572, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2009:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2008:15:12" + }, + "scope": 2023, + "src": "1962:93:12", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 2126 + ], + "body": { + "id": 1586, + "nodeType": "Block", + "src": "2744:26:12", + "statements": [ + { + "expression": { + "hexValue": "3138", + "id": 1584, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2761:2:12", + "typeDescriptions": { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + }, + "value": "18" + }, + "functionReturnParameters": 1583, + "id": 1585, + "nodeType": "Return", + "src": "2754:9:12" + } + ] + }, + "documentation": { + "id": 1579, + "nodeType": "StructuredDocumentation", + "src": "2061:622:12", + "text": " @dev Returns the number of decimals used to get its user representation.\n For example, if `decimals` equals `2`, a balance of `505` tokens should\n be displayed to a user as `5.05` (`505 / 10 ** 2`).\n Tokens usually opt for a value of 18, imitating the relationship between\n Ether and Wei. This is the default value returned by this function, unless\n it's overridden.\n NOTE: This information is only used for _display_ purposes: it in\n no way affects any of the arithmetic of the contract, including\n {IERC20-balanceOf} and {IERC20-transfer}." + }, + "functionSelector": "313ce567", + "id": 1587, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "decimals", + "nameLocation": "2697:8:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1580, + "nodeType": "ParameterList", + "parameters": [], + "src": "2705:2:12" + }, + "returnParameters": { + "id": 1583, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1582, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1587, + "src": "2737:5:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint8", + "typeString": "uint8" }, "typeName": { - "id": 1411, - "name": "uint256", + "id": 1581, + "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "8997:7:5", + "src": "2737:5:12", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "src": "2736:7:12" + }, + "scope": 2023, + "src": "2688:82:12", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 2050 + ], + "body": { + "id": 1595, + "nodeType": "Block", + "src": "2891:36:12", + "statements": [ + { + "expression": { + "id": 1593, + "name": "_totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1539, + "src": "2908:12:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "visibility": "internal" - }, + "functionReturnParameters": 1592, + "id": 1594, + "nodeType": "Return", + "src": "2901:19:12" + } + ] + }, + "documentation": { + "id": 1588, + "nodeType": "StructuredDocumentation", + "src": "2776:49:12", + "text": " @dev See {IERC20-totalSupply}." + }, + "functionSelector": "18160ddd", + "id": 1596, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "totalSupply", + "nameLocation": "2839:11:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1589, + "nodeType": "ParameterList", + "parameters": [], + "src": "2850:2:12" + }, + "returnParameters": { + "id": 1592, + "nodeType": "ParameterList", + "parameters": [ { "constant": false, - "id": 1414, + "id": 1591, "mutability": "mutable", - "name": "zzz", - "nameLocation": "9017:3:5", + "name": "", + "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 1460, - "src": "9009:11:5", + "scope": 1596, + "src": "2882:7:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21806,10 +19740,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1413, + "id": 1590, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9009:7:5", + "src": "2882:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21818,48 +19752,130 @@ "visibility": "internal" } ], - "src": "8974:47:5" + "src": "2881:9:12" }, - "returnParameters": { - "id": 1420, + "scope": 2023, + "src": "2830:97:12", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 2058 + ], + "body": { + "id": 1608, + "nodeType": "Block", + "src": "3059:42:12", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 1604, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1531, + "src": "3076:9:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1606, + "indexExpression": { + "id": 1605, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1599, + "src": "3086:7:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3076:18:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1603, + "id": 1607, + "nodeType": "Return", + "src": "3069:25:12" + } + ] + }, + "documentation": { + "id": 1597, + "nodeType": "StructuredDocumentation", + "src": "2933:47:12", + "text": " @dev See {IERC20-balanceOf}." + }, + "functionSelector": "70a08231", + "id": 1609, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "2994:9:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1600, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1417, + "id": 1599, "mutability": "mutable", - "name": "x1", - "nameLocation": "9053:2:5", + "name": "account", + "nameLocation": "3012:7:12", "nodeType": "VariableDeclaration", - "scope": 1460, - "src": "9045:10:5", + "scope": 1609, + "src": "3004:15:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 1416, - "name": "uint256", + "id": 1598, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "9045:7:5", + "src": "3004:7:12", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "internal" - }, + } + ], + "src": "3003:17:12" + }, + "returnParameters": { + "id": 1603, + "nodeType": "ParameterList", + "parameters": [ { "constant": false, - "id": 1419, + "id": 1602, "mutability": "mutable", - "name": "y1", - "nameLocation": "9065:2:5", + "name": "", + "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 1460, - "src": "9057:10:5", + "scope": 1609, + "src": "3050:7:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21867,10 +19883,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1418, + "id": 1601, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9057:7:5", + "src": "3050:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21879,1228 +19895,257 @@ "visibility": "internal" } ], - "src": "9044:24:5" + "src": "3049:9:12" }, - "scope": 2298, - "src": "8954:351:5", + "scope": 2023, + "src": "2985:116:12", "stateMutability": "view", - "virtual": false, - "visibility": "internal" + "virtual": true, + "visibility": "public" }, { + "baseFunctions": [ + 2068 + ], "body": { - "id": 1488, + "id": 1632, "nodeType": "Block", - "src": "9578:764:5", + "src": "3371:103:12", "statements": [ { - "id": 1481, - "nodeType": "UncheckedBlock", - "src": "9588:715:5", - "statements": [ + "assignments": [ + 1620 + ], + "declarations": [ { - "AST": { - "nativeSrc": "9621:672:5", - "nodeType": "YulBlock", - "src": "9621:672:5", - "statements": [ - { - "nativeSrc": "9639:21:5", - "nodeType": "YulAssignment", - "src": "9639:21:5", - "value": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "9652:1:5", - "nodeType": "YulLiteral", - "src": "9652:1:5", - "type": "", - "value": "2" - }, - { - "name": "y", - "nativeSrc": "9655:1:5", - "nodeType": "YulIdentifier", - "src": "9655:1:5" - }, - { - "name": "p", - "nativeSrc": "9658:1:5", - "nodeType": "YulIdentifier", - "src": "9658:1:5" - } - ], - "functionName": { - "name": "mulmod", - "nativeSrc": "9645:6:5", - "nodeType": "YulIdentifier", - "src": "9645:6:5" - }, - "nativeSrc": "9645:15:5", - "nodeType": "YulFunctionCall", - "src": "9645:15:5" - }, - "variableNames": [ - { - "name": "P0", - "nativeSrc": "9639:2:5", - "nodeType": "YulIdentifier", - "src": "9639:2:5" - } - ] - }, - { - "nativeSrc": "9688:23:5", - "nodeType": "YulAssignment", - "src": "9688:23:5", - "value": { - "arguments": [ - { - "name": "P0", - "nativeSrc": "9701:2:5", - "nodeType": "YulIdentifier", - "src": "9701:2:5" - }, - { - "name": "P0", - "nativeSrc": "9705:2:5", - "nodeType": "YulIdentifier", - "src": "9705:2:5" - }, - { - "name": "p", - "nativeSrc": "9709:1:5", - "nodeType": "YulIdentifier", - "src": "9709:1:5" - } - ], - "functionName": { - "name": "mulmod", - "nativeSrc": "9694:6:5", - "nodeType": "YulIdentifier", - "src": "9694:6:5" - }, - "nativeSrc": "9694:17:5", - "nodeType": "YulFunctionCall", - "src": "9694:17:5" - }, - "variableNames": [ - { - "name": "P2", - "nativeSrc": "9688:2:5", - "nodeType": "YulIdentifier", - "src": "9688:2:5" - } - ] - }, - { - "nativeSrc": "9737:22:5", - "nodeType": "YulAssignment", - "src": "9737:22:5", - "value": { - "arguments": [ - { - "name": "x", - "nativeSrc": "9750:1:5", - "nodeType": "YulIdentifier", - "src": "9750:1:5" - }, - { - "name": "P2", - "nativeSrc": "9753:2:5", - "nodeType": "YulIdentifier", - "src": "9753:2:5" - }, - { - "name": "p", - "nativeSrc": "9757:1:5", - "nodeType": "YulIdentifier", - "src": "9757:1:5" - } - ], - "functionName": { - "name": "mulmod", - "nativeSrc": "9743:6:5", - "nodeType": "YulIdentifier", - "src": "9743:6:5" - }, - "nativeSrc": "9743:16:5", - "nodeType": "YulFunctionCall", - "src": "9743:16:5" - }, - "variableNames": [ - { - "name": "P3", - "nativeSrc": "9737:2:5", - "nodeType": "YulIdentifier", - "src": "9737:2:5" - } - ] - }, - { - "nativeSrc": "9788:23:5", - "nodeType": "YulAssignment", - "src": "9788:23:5", - "value": { - "arguments": [ - { - "name": "P0", - "nativeSrc": "9801:2:5", - "nodeType": "YulIdentifier", - "src": "9801:2:5" - }, - { - "name": "P2", - "nativeSrc": "9805:2:5", - "nodeType": "YulIdentifier", - "src": "9805:2:5" - }, - { - "name": "p", - "nativeSrc": "9809:1:5", - "nodeType": "YulIdentifier", - "src": "9809:1:5" - } - ], - "functionName": { - "name": "mulmod", - "nativeSrc": "9794:6:5", - "nodeType": "YulIdentifier", - "src": "9794:6:5" - }, - "nativeSrc": "9794:17:5", - "nodeType": "YulFunctionCall", - "src": "9794:17:5" - }, - "variableNames": [ - { - "name": "P1", - "nativeSrc": "9788:2:5", - "nodeType": "YulIdentifier", - "src": "9788:2:5" - } - ] - }, - { - "nativeSrc": "9836:23:5", - "nodeType": "YulAssignment", - "src": "9836:23:5", - "value": { - "arguments": [ - { - "name": "P2", - "nativeSrc": "9849:2:5", - "nodeType": "YulIdentifier", - "src": "9849:2:5" - }, - { - "name": "zz", - "nativeSrc": "9853:2:5", - "nodeType": "YulIdentifier", - "src": "9853:2:5" - }, - { - "name": "p", - "nativeSrc": "9857:1:5", - "nodeType": "YulIdentifier", - "src": "9857:1:5" - } - ], - "functionName": { - "name": "mulmod", - "nativeSrc": "9842:6:5", - "nodeType": "YulIdentifier", - "src": "9842:6:5" - }, - "nativeSrc": "9842:17:5", - "nodeType": "YulFunctionCall", - "src": "9842:17:5" - }, - "variableNames": [ - { - "name": "P2", - "nativeSrc": "9836:2:5", - "nodeType": "YulIdentifier", - "src": "9836:2:5" - } - ] - }, - { - "nativeSrc": "9888:73:5", - "nodeType": "YulAssignment", - "src": "9888:73:5", - "value": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "9901:1:5", - "nodeType": "YulLiteral", - "src": "9901:1:5", - "type": "", - "value": "3" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "x", - "nativeSrc": "9918:1:5", - "nodeType": "YulIdentifier", - "src": "9918:1:5" - }, - { - "arguments": [ - { - "name": "p", - "nativeSrc": "9925:1:5", - "nodeType": "YulIdentifier", - "src": "9925:1:5" - }, - { - "name": "zz", - "nativeSrc": "9928:2:5", - "nodeType": "YulIdentifier", - "src": "9928:2:5" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "9921:3:5", - "nodeType": "YulIdentifier", - "src": "9921:3:5" - }, - "nativeSrc": "9921:10:5", - "nodeType": "YulFunctionCall", - "src": "9921:10:5" - }, - { - "name": "p", - "nativeSrc": "9933:1:5", - "nodeType": "YulIdentifier", - "src": "9933:1:5" - } - ], - "functionName": { - "name": "addmod", - "nativeSrc": "9911:6:5", - "nodeType": "YulIdentifier", - "src": "9911:6:5" - }, - "nativeSrc": "9911:24:5", - "nodeType": "YulFunctionCall", - "src": "9911:24:5" - }, - { - "arguments": [ - { - "name": "x", - "nativeSrc": "9944:1:5", - "nodeType": "YulIdentifier", - "src": "9944:1:5" - }, - { - "name": "zz", - "nativeSrc": "9947:2:5", - "nodeType": "YulIdentifier", - "src": "9947:2:5" - }, - { - "name": "p", - "nativeSrc": "9951:1:5", - "nodeType": "YulIdentifier", - "src": "9951:1:5" - } - ], - "functionName": { - "name": "addmod", - "nativeSrc": "9937:6:5", - "nodeType": "YulIdentifier", - "src": "9937:6:5" - }, - "nativeSrc": "9937:16:5", - "nodeType": "YulFunctionCall", - "src": "9937:16:5" - }, - { - "name": "p", - "nativeSrc": "9955:1:5", - "nodeType": "YulIdentifier", - "src": "9955:1:5" - } - ], - "functionName": { - "name": "mulmod", - "nativeSrc": "9904:6:5", - "nodeType": "YulIdentifier", - "src": "9904:6:5" - }, - "nativeSrc": "9904:53:5", - "nodeType": "YulFunctionCall", - "src": "9904:53:5" - }, - { - "name": "p", - "nativeSrc": "9959:1:5", - "nodeType": "YulIdentifier", - "src": "9959:1:5" - } - ], - "functionName": { - "name": "mulmod", - "nativeSrc": "9894:6:5", - "nodeType": "YulIdentifier", - "src": "9894:6:5" - }, - "nativeSrc": "9894:67:5", - "nodeType": "YulFunctionCall", - "src": "9894:67:5" - }, - "variableNames": [ - { - "name": "zz", - "nativeSrc": "9888:2:5", - "nodeType": "YulIdentifier", - "src": "9888:2:5" - } - ] - }, - { - "nativeSrc": "10002:58:5", - "nodeType": "YulAssignment", - "src": "10002:58:5", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "zz", - "nativeSrc": "10022:2:5", - "nodeType": "YulIdentifier", - "src": "10022:2:5" - }, - { - "name": "zz", - "nativeSrc": "10026:2:5", - "nodeType": "YulIdentifier", - "src": "10026:2:5" - }, - { - "name": "p", - "nativeSrc": "10030:1:5", - "nodeType": "YulIdentifier", - "src": "10030:1:5" - } - ], - "functionName": { - "name": "mulmod", - "nativeSrc": "10015:6:5", - "nodeType": "YulIdentifier", - "src": "10015:6:5" - }, - "nativeSrc": "10015:17:5", - "nodeType": "YulFunctionCall", - "src": "10015:17:5" - }, - { - "arguments": [ - { - "name": "minus_2", - "nativeSrc": "10041:7:5", - "nodeType": "YulIdentifier", - "src": "10041:7:5" - }, - { - "name": "P3", - "nativeSrc": "10050:2:5", - "nodeType": "YulIdentifier", - "src": "10050:2:5" - }, - { - "name": "p", - "nativeSrc": "10054:1:5", - "nodeType": "YulIdentifier", - "src": "10054:1:5" - } - ], - "functionName": { - "name": "mulmod", - "nativeSrc": "10034:6:5", - "nodeType": "YulIdentifier", - "src": "10034:6:5" - }, - "nativeSrc": "10034:22:5", - "nodeType": "YulFunctionCall", - "src": "10034:22:5" - }, - { - "name": "p", - "nativeSrc": "10058:1:5", - "nodeType": "YulIdentifier", - "src": "10058:1:5" - } - ], - "functionName": { - "name": "addmod", - "nativeSrc": "10008:6:5", - "nodeType": "YulIdentifier", - "src": "10008:6:5" - }, - "nativeSrc": "10008:52:5", - "nodeType": "YulFunctionCall", - "src": "10008:52:5" - }, - "variableNames": [ - { - "name": "P0", - "nativeSrc": "10002:2:5", - "nodeType": "YulIdentifier", - "src": "10002:2:5" - } - ] - }, - { - "nativeSrc": "10089:45:5", - "nodeType": "YulAssignment", - "src": "10089:45:5", - "value": { - "arguments": [ - { - "name": "zz", - "nativeSrc": "10101:2:5", - "nodeType": "YulIdentifier", - "src": "10101:2:5" - }, - { - "arguments": [ - { - "name": "P3", - "nativeSrc": "10112:2:5", - "nodeType": "YulIdentifier", - "src": "10112:2:5" - }, - { - "arguments": [ - { - "name": "p", - "nativeSrc": "10120:1:5", - "nodeType": "YulIdentifier", - "src": "10120:1:5" - }, - { - "name": "P0", - "nativeSrc": "10123:2:5", - "nodeType": "YulIdentifier", - "src": "10123:2:5" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "10116:3:5", - "nodeType": "YulIdentifier", - "src": "10116:3:5" - }, - "nativeSrc": "10116:10:5", - "nodeType": "YulFunctionCall", - "src": "10116:10:5" - }, - { - "name": "p", - "nativeSrc": "10128:1:5", - "nodeType": "YulIdentifier", - "src": "10128:1:5" - } - ], - "functionName": { - "name": "addmod", - "nativeSrc": "10105:6:5", - "nodeType": "YulIdentifier", - "src": "10105:6:5" - }, - "nativeSrc": "10105:25:5", - "nodeType": "YulFunctionCall", - "src": "10105:25:5" - }, - { - "name": "p", - "nativeSrc": "10132:1:5", - "nodeType": "YulIdentifier", - "src": "10132:1:5" - } - ], - "functionName": { - "name": "mulmod", - "nativeSrc": "10094:6:5", - "nodeType": "YulIdentifier", - "src": "10094:6:5" - }, - "nativeSrc": "10094:40:5", - "nodeType": "YulFunctionCall", - "src": "10094:40:5" - }, - "variableNames": [ - { - "name": "x", - "nativeSrc": "10089:1:5", - "nodeType": "YulIdentifier", - "src": "10089:1:5" - } - ] - }, - { - "nativeSrc": "10161:24:5", - "nodeType": "YulAssignment", - "src": "10161:24:5", - "value": { - "arguments": [ - { - "name": "P1", - "nativeSrc": "10174:2:5", - "nodeType": "YulIdentifier", - "src": "10174:2:5" - }, - { - "name": "zzz", - "nativeSrc": "10178:3:5", - "nodeType": "YulIdentifier", - "src": "10178:3:5" - }, - { - "name": "p", - "nativeSrc": "10183:1:5", - "nodeType": "YulIdentifier", - "src": "10183:1:5" - } - ], - "functionName": { - "name": "mulmod", - "nativeSrc": "10167:6:5", - "nodeType": "YulIdentifier", - "src": "10167:6:5" - }, - "nativeSrc": "10167:18:5", - "nodeType": "YulFunctionCall", - "src": "10167:18:5" - }, - "variableNames": [ - { - "name": "P3", - "nativeSrc": "10161:2:5", - "nodeType": "YulIdentifier", - "src": "10161:2:5" - } - ] - }, - { - "nativeSrc": "10216:44:5", - "nodeType": "YulAssignment", - "src": "10216:44:5", - "value": { - "arguments": [ - { - "name": "x", - "nativeSrc": "10229:1:5", - "nodeType": "YulIdentifier", - "src": "10229:1:5" - }, - { - "arguments": [ - { - "name": "p", - "nativeSrc": "10236:1:5", - "nodeType": "YulIdentifier", - "src": "10236:1:5" - }, - { - "arguments": [ - { - "name": "P1", - "nativeSrc": "10246:2:5", - "nodeType": "YulIdentifier", - "src": "10246:2:5" - }, - { - "name": "y", - "nativeSrc": "10250:1:5", - "nodeType": "YulIdentifier", - "src": "10250:1:5" - }, - { - "name": "p", - "nativeSrc": "10253:1:5", - "nodeType": "YulIdentifier", - "src": "10253:1:5" - } - ], - "functionName": { - "name": "mulmod", - "nativeSrc": "10239:6:5", - "nodeType": "YulIdentifier", - "src": "10239:6:5" - }, - "nativeSrc": "10239:16:5", - "nodeType": "YulFunctionCall", - "src": "10239:16:5" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "10232:3:5", - "nodeType": "YulIdentifier", - "src": "10232:3:5" - }, - "nativeSrc": "10232:24:5", - "nodeType": "YulFunctionCall", - "src": "10232:24:5" - }, - { - "name": "p", - "nativeSrc": "10258:1:5", - "nodeType": "YulIdentifier", - "src": "10258:1:5" - } - ], - "functionName": { - "name": "addmod", - "nativeSrc": "10222:6:5", - "nodeType": "YulIdentifier", - "src": "10222:6:5" - }, - "nativeSrc": "10222:38:5", - "nodeType": "YulFunctionCall", - "src": "10222:38:5" - }, - "variableNames": [ - { - "name": "P1", - "nativeSrc": "10216:2:5", - "nodeType": "YulIdentifier", - "src": "10216:2:5" - } - ] - } - ] + "constant": false, + "id": 1620, + "mutability": "mutable", + "name": "owner", + "nameLocation": "3389:5:12", + "nodeType": "VariableDeclaration", + "scope": 1632, + "src": "3381:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" }, - "evmVersion": "paris", - "externalReferences": [ - { - "declaration": 1472, - "isOffset": false, - "isSlot": false, - "src": "10002:2:5", - "valueSize": 1 - }, - { - "declaration": 1472, - "isOffset": false, - "isSlot": false, - "src": "10123:2:5", - "valueSize": 1 - }, - { - "declaration": 1472, - "isOffset": false, - "isSlot": false, - "src": "9639:2:5", - "valueSize": 1 - }, - { - "declaration": 1472, - "isOffset": false, - "isSlot": false, - "src": "9701:2:5", - "valueSize": 1 - }, - { - "declaration": 1472, - "isOffset": false, - "isSlot": false, - "src": "9705:2:5", - "valueSize": 1 - }, - { - "declaration": 1472, - "isOffset": false, - "isSlot": false, - "src": "9801:2:5", - "valueSize": 1 - }, - { - "declaration": 1474, - "isOffset": false, - "isSlot": false, - "src": "10174:2:5", - "valueSize": 1 - }, - { - "declaration": 1474, - "isOffset": false, - "isSlot": false, - "src": "10216:2:5", - "valueSize": 1 - }, - { - "declaration": 1474, - "isOffset": false, - "isSlot": false, - "src": "10246:2:5", - "valueSize": 1 - }, - { - "declaration": 1474, - "isOffset": false, - "isSlot": false, - "src": "9788:2:5", - "valueSize": 1 - }, - { - "declaration": 1476, - "isOffset": false, - "isSlot": false, - "src": "9688:2:5", - "valueSize": 1 - }, - { - "declaration": 1476, - "isOffset": false, - "isSlot": false, - "src": "9753:2:5", - "valueSize": 1 - }, - { - "declaration": 1476, - "isOffset": false, - "isSlot": false, - "src": "9805:2:5", - "valueSize": 1 - }, - { - "declaration": 1476, - "isOffset": false, - "isSlot": false, - "src": "9836:2:5", - "valueSize": 1 - }, - { - "declaration": 1476, - "isOffset": false, - "isSlot": false, - "src": "9849:2:5", - "valueSize": 1 - }, - { - "declaration": 1478, - "isOffset": false, - "isSlot": false, - "src": "10050:2:5", - "valueSize": 1 - }, - { - "declaration": 1478, - "isOffset": false, - "isSlot": false, - "src": "10112:2:5", - "valueSize": 1 - }, - { - "declaration": 1478, - "isOffset": false, - "isSlot": false, - "src": "10161:2:5", - "valueSize": 1 - }, - { - "declaration": 1478, - "isOffset": false, - "isSlot": false, - "src": "9737:2:5", - "valueSize": 1 - }, - { - "declaration": 983, - "isOffset": false, - "isSlot": false, - "src": "10041:7:5", - "valueSize": 1 - }, - { - "declaration": 965, - "isOffset": false, - "isSlot": false, - "src": "10030:1:5", - "valueSize": 1 - }, - { - "declaration": 965, - "isOffset": false, - "isSlot": false, - "src": "10054:1:5", - "valueSize": 1 - }, - { - "declaration": 965, - "isOffset": false, - "isSlot": false, - "src": "10058:1:5", - "valueSize": 1 - }, - { - "declaration": 965, - "isOffset": false, - "isSlot": false, - "src": "10120:1:5", - "valueSize": 1 - }, - { - "declaration": 965, - "isOffset": false, - "isSlot": false, - "src": "10128:1:5", - "valueSize": 1 - }, - { - "declaration": 965, - "isOffset": false, - "isSlot": false, - "src": "10132:1:5", - "valueSize": 1 - }, - { - "declaration": 965, - "isOffset": false, - "isSlot": false, - "src": "10183:1:5", - "valueSize": 1 - }, - { - "declaration": 965, - "isOffset": false, - "isSlot": false, - "src": "10236:1:5", - "valueSize": 1 - }, - { - "declaration": 965, - "isOffset": false, - "isSlot": false, - "src": "10253:1:5", - "valueSize": 1 - }, - { - "declaration": 965, - "isOffset": false, - "isSlot": false, - "src": "10258:1:5", - "valueSize": 1 - }, - { - "declaration": 965, - "isOffset": false, - "isSlot": false, - "src": "9658:1:5", - "valueSize": 1 - }, - { - "declaration": 965, - "isOffset": false, - "isSlot": false, - "src": "9709:1:5", - "valueSize": 1 - }, - { - "declaration": 965, - "isOffset": false, - "isSlot": false, - "src": "9757:1:5", - "valueSize": 1 - }, - { - "declaration": 965, - "isOffset": false, - "isSlot": false, - "src": "9809:1:5", - "valueSize": 1 - }, - { - "declaration": 965, - "isOffset": false, - "isSlot": false, - "src": "9857:1:5", - "valueSize": 1 - }, - { - "declaration": 965, - "isOffset": false, - "isSlot": false, - "src": "9925:1:5", - "valueSize": 1 - }, - { - "declaration": 965, - "isOffset": false, - "isSlot": false, - "src": "9933:1:5", - "valueSize": 1 - }, - { - "declaration": 965, - "isOffset": false, - "isSlot": false, - "src": "9951:1:5", - "valueSize": 1 - }, - { - "declaration": 965, - "isOffset": false, - "isSlot": false, - "src": "9955:1:5", - "valueSize": 1 - }, - { - "declaration": 965, - "isOffset": false, - "isSlot": false, - "src": "9959:1:5", - "valueSize": 1 - }, - { - "declaration": 1463, - "isOffset": false, - "isSlot": false, - "src": "10089:1:5", - "valueSize": 1 - }, - { - "declaration": 1463, - "isOffset": false, - "isSlot": false, - "src": "10229:1:5", - "valueSize": 1 - }, - { - "declaration": 1463, - "isOffset": false, - "isSlot": false, - "src": "9750:1:5", - "valueSize": 1 - }, - { - "declaration": 1463, - "isOffset": false, - "isSlot": false, - "src": "9918:1:5", - "valueSize": 1 - }, - { - "declaration": 1463, - "isOffset": false, - "isSlot": false, - "src": "9944:1:5", - "valueSize": 1 - }, - { - "declaration": 1465, - "isOffset": false, - "isSlot": false, - "src": "10250:1:5", - "valueSize": 1 - }, - { - "declaration": 1465, - "isOffset": false, - "isSlot": false, - "src": "9655:1:5", - "valueSize": 1 - }, - { - "declaration": 1467, - "isOffset": false, - "isSlot": false, - "src": "10022:2:5", - "valueSize": 1 - }, - { - "declaration": 1467, - "isOffset": false, - "isSlot": false, - "src": "10026:2:5", - "valueSize": 1 - }, - { - "declaration": 1467, - "isOffset": false, - "isSlot": false, - "src": "10101:2:5", - "valueSize": 1 - }, - { - "declaration": 1467, - "isOffset": false, - "isSlot": false, - "src": "9853:2:5", - "valueSize": 1 - }, - { - "declaration": 1467, - "isOffset": false, - "isSlot": false, - "src": "9888:2:5", - "valueSize": 1 - }, - { - "declaration": 1467, - "isOffset": false, - "isSlot": false, - "src": "9928:2:5", - "valueSize": 1 - }, - { - "declaration": 1467, - "isOffset": false, - "isSlot": false, - "src": "9947:2:5", - "valueSize": 1 - }, - { - "declaration": 1469, - "isOffset": false, - "isSlot": false, - "src": "10178:3:5", - "valueSize": 1 + "typeName": { + "id": 1619, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3381:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" } - ], - "id": 1480, - "nodeType": "InlineAssembly", - "src": "9612:681:5" + }, + "visibility": "internal" } - ] + ], + "id": 1623, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1621, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2139, + "src": "3397:10:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 1622, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3397:12:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3381:28:12" }, { "expression": { - "components": [ + "arguments": [ { - "id": 1482, - "name": "P0", + "id": 1625, + "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1472, - "src": "10320:2:5", + "referencedDeclaration": 1620, + "src": "3429:5:12", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, { - "id": 1483, - "name": "P1", + "id": 1626, + "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1474, - "src": "10324:2:5", + "referencedDeclaration": 1612, + "src": "3436:2:12", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, { - "id": 1484, - "name": "P2", + "id": 1627, + "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1476, - "src": "10328:2:5", + "referencedDeclaration": 1614, + "src": "3440:5:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } - }, - { - "id": 1485, - "name": "P3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1478, - "src": "10332:2:5", - "typeDescriptions": { + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { "typeIdentifier": "t_uint256", "typeString": "uint256" } + ], + "id": 1624, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1753, + "src": "3419:9:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" } - ], - "id": 1486, + }, + "id": 1628, "isConstant": false, - "isInlineArray": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10319:16:5", + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3419:27:12", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,uint256)" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "functionReturnParameters": 1479, - "id": 1487, + "id": 1629, + "nodeType": "ExpressionStatement", + "src": "3419:27:12" + }, + { + "expression": { + "hexValue": "74727565", + "id": 1630, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3463:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1618, + "id": 1631, "nodeType": "Return", - "src": "10312:23:5" + "src": "3456:11:12" } ] }, "documentation": { - "id": 1461, + "id": 1610, "nodeType": "StructuredDocumentation", - "src": "9311:50:5", - "text": " /* @dev Sutherland2008 doubling" + "src": "3107:184:12", + "text": " @dev See {IERC20-transfer}.\n Requirements:\n - `to` cannot be the zero address.\n - the caller must have a balance of at least `value`." }, - "id": 1489, + "functionSelector": "a9059cbb", + "id": 1633, "implemented": true, "kind": "function", "modifiers": [], - "name": "ecZZ_Dbl", - "nameLocation": "9423:8:5", + "name": "transfer", + "nameLocation": "3305:8:12", "nodeType": "FunctionDefinition", "parameters": { - "id": 1470, + "id": 1615, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1463, + "id": 1612, "mutability": "mutable", - "name": "x", - "nameLocation": "9440:1:5", + "name": "to", + "nameLocation": "3322:2:12", "nodeType": "VariableDeclaration", - "scope": 1489, - "src": "9432:9:5", + "scope": 1633, + "src": "3314:10:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 1462, - "name": "uint256", + "id": 1611, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "9432:7:5", + "src": "3314:7:12", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "internal" }, { "constant": false, - "id": 1465, + "id": 1614, "mutability": "mutable", - "name": "y", - "nameLocation": "9451:1:5", + "name": "value", + "nameLocation": "3334:5:12", "nodeType": "VariableDeclaration", - "scope": 1489, - "src": "9443:9:5", + "scope": 1633, + "src": "3326:13:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23108,168 +20153,229 @@ "typeString": "uint256" }, "typeName": { - "id": 1464, + "id": 1613, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9443:7:5", + "src": "3326:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" - }, + } + ], + "src": "3313:27:12" + }, + "returnParameters": { + "id": 1618, + "nodeType": "ParameterList", + "parameters": [ { "constant": false, - "id": 1467, + "id": 1617, "mutability": "mutable", - "name": "zz", - "nameLocation": "9462:2:5", + "name": "", + "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 1489, - "src": "9454:10:5", + "scope": 1633, + "src": "3365:4:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" }, "typeName": { - "id": 1466, - "name": "uint256", + "id": 1616, + "name": "bool", "nodeType": "ElementaryTypeName", - "src": "9454:7:5", + "src": "3365:4:12", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, "visibility": "internal" - }, + } + ], + "src": "3364:6:12" + }, + "scope": 2023, + "src": "3296:178:12", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 2078 + ], + "body": { + "id": 1649, + "nodeType": "Block", + "src": "3621:51:12", + "statements": [ { - "constant": false, - "id": 1469, - "mutability": "mutable", - "name": "zzz", - "nameLocation": "9474:3:5", - "nodeType": "VariableDeclaration", - "scope": 1489, - "src": "9466:11:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1468, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9466:7:5", + "expression": { + "baseExpression": { + "baseExpression": { + "id": 1643, + "name": "_allowances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1537, + "src": "3638:11:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 1645, + "indexExpression": { + "id": 1644, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1636, + "src": "3650:5:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3638:18:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1647, + "indexExpression": { + "id": 1646, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1638, + "src": "3657:7:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3638:27:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "visibility": "internal" + "functionReturnParameters": 1642, + "id": 1648, + "nodeType": "Return", + "src": "3631:34:12" } - ], - "src": "9431:47:5" + ] }, - "returnParameters": { - "id": 1479, + "documentation": { + "id": 1634, + "nodeType": "StructuredDocumentation", + "src": "3480:47:12", + "text": " @dev See {IERC20-allowance}." + }, + "functionSelector": "dd62ed3e", + "id": 1650, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "allowance", + "nameLocation": "3541:9:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1639, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1472, - "mutability": "mutable", - "name": "P0", - "nameLocation": "9534:2:5", - "nodeType": "VariableDeclaration", - "scope": 1489, - "src": "9526:10:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1471, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9526:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1474, + "id": 1636, "mutability": "mutable", - "name": "P1", - "nameLocation": "9546:2:5", + "name": "owner", + "nameLocation": "3559:5:12", "nodeType": "VariableDeclaration", - "scope": 1489, - "src": "9538:10:5", + "scope": 1650, + "src": "3551:13:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 1473, - "name": "uint256", + "id": 1635, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "9538:7:5", + "src": "3551:7:12", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "internal" }, { "constant": false, - "id": 1476, + "id": 1638, "mutability": "mutable", - "name": "P2", - "nameLocation": "9558:2:5", + "name": "spender", + "nameLocation": "3574:7:12", "nodeType": "VariableDeclaration", - "scope": 1489, - "src": "9550:10:5", + "scope": 1650, + "src": "3566:15:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 1475, - "name": "uint256", + "id": 1637, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "9550:7:5", + "src": "3566:7:12", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "internal" - }, + } + ], + "src": "3550:32:12" + }, + "returnParameters": { + "id": 1642, + "nodeType": "ParameterList", + "parameters": [ { "constant": false, - "id": 1478, + "id": 1641, "mutability": "mutable", - "name": "P3", - "nameLocation": "9570:2:5", + "name": "", + "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 1489, - "src": "9562:10:5", + "scope": 1650, + "src": "3612:7:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23277,10 +20383,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1477, + "id": 1640, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9562:7:5", + "src": "3612:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23289,1400 +20395,260 @@ "visibility": "internal" } ], - "src": "9525:48:5" + "src": "3611:9:12" }, - "scope": 2298, - "src": "9414:928:5", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" + "scope": 2023, + "src": "3532:140:12", + "stateMutability": "view", + "virtual": true, + "visibility": "public" }, { + "baseFunctions": [ + 2088 + ], "body": { - "id": 1532, + "id": 1673, "nodeType": "Block", - "src": "10752:880:5", + "src": "4058:107:12", "statements": [ { - "id": 1525, - "nodeType": "UncheckedBlock", - "src": "10762:815:5", - "statements": [ + "assignments": [ + 1661 + ], + "declarations": [ { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1513, - "name": "y1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1494, - "src": "10790:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 1514, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10796:1:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10790:7:5", + "constant": false, + "id": 1661, + "mutability": "mutable", + "name": "owner", + "nameLocation": "4076:5:12", + "nodeType": "VariableDeclaration", + "scope": 1673, + "src": "4068:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1660, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4068:7:12", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 1523, - "nodeType": "IfStatement", - "src": "10786:67:5", - "trueBody": { - "id": 1522, - "nodeType": "Block", - "src": "10799:54:5", - "statements": [ - { - "expression": { - "components": [ - { - "id": 1516, - "name": "x2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1500, - "src": "10825:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1517, - "name": "y2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1502, - "src": "10829:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "31", - "id": 1518, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10833:1:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - { - "hexValue": "31", - "id": 1519, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10836:1:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "id": 1520, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10824:14:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_rational_1_by_1_$_t_rational_1_by_1_$", - "typeString": "tuple(uint256,uint256,int_const 1,int_const 1)" - } - }, - "functionReturnParameters": 1512, - "id": 1521, - "nodeType": "Return", - "src": "10817:21:5" - } - ] + "visibility": "internal" + } + ], + "id": 1664, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1662, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2139, + "src": "4084:10:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" } }, - { - "AST": { - "nativeSrc": "10876:664:5", - "nodeType": "YulBlock", - "src": "10876:664:5", - "statements": [ - { - "nativeSrc": "10894:16:5", - "nodeType": "YulAssignment", - "src": "10894:16:5", - "value": { - "arguments": [ - { - "name": "p", - "nativeSrc": "10904:1:5", - "nodeType": "YulIdentifier", - "src": "10904:1:5" - }, - { - "name": "y1", - "nativeSrc": "10907:2:5", - "nodeType": "YulIdentifier", - "src": "10907:2:5" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "10900:3:5", - "nodeType": "YulIdentifier", - "src": "10900:3:5" - }, - "nativeSrc": "10900:10:5", - "nodeType": "YulFunctionCall", - "src": "10900:10:5" - }, - "variableNames": [ - { - "name": "y1", - "nativeSrc": "10894:2:5", - "nodeType": "YulIdentifier", - "src": "10894:2:5" - } - ] - }, - { - "nativeSrc": "10927:40:5", - "nodeType": "YulAssignment", - "src": "10927:40:5", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "y2", - "nativeSrc": "10947:2:5", - "nodeType": "YulIdentifier", - "src": "10947:2:5" - }, - { - "name": "zzz1", - "nativeSrc": "10951:4:5", - "nodeType": "YulIdentifier", - "src": "10951:4:5" - }, - { - "name": "p", - "nativeSrc": "10957:1:5", - "nodeType": "YulIdentifier", - "src": "10957:1:5" - } - ], - "functionName": { - "name": "mulmod", - "nativeSrc": "10940:6:5", - "nodeType": "YulIdentifier", - "src": "10940:6:5" - }, - "nativeSrc": "10940:19:5", - "nodeType": "YulFunctionCall", - "src": "10940:19:5" - }, - { - "name": "y1", - "nativeSrc": "10961:2:5", - "nodeType": "YulIdentifier", - "src": "10961:2:5" - }, - { - "name": "p", - "nativeSrc": "10965:1:5", - "nodeType": "YulIdentifier", - "src": "10965:1:5" - } - ], - "functionName": { - "name": "addmod", - "nativeSrc": "10933:6:5", - "nodeType": "YulIdentifier", - "src": "10933:6:5" - }, - "nativeSrc": "10933:34:5", - "nodeType": "YulFunctionCall", - "src": "10933:34:5" - }, - "variableNames": [ - { - "name": "y2", - "nativeSrc": "10927:2:5", - "nodeType": "YulIdentifier", - "src": "10927:2:5" - } - ] - }, - { - "nativeSrc": "10984:47:5", - "nodeType": "YulAssignment", - "src": "10984:47:5", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "x2", - "nativeSrc": "11004:2:5", - "nodeType": "YulIdentifier", - "src": "11004:2:5" - }, - { - "name": "zz1", - "nativeSrc": "11008:3:5", - "nodeType": "YulIdentifier", - "src": "11008:3:5" - }, - { - "name": "p", - "nativeSrc": "11013:1:5", - "nodeType": "YulIdentifier", - "src": "11013:1:5" - } - ], - "functionName": { - "name": "mulmod", - "nativeSrc": "10997:6:5", - "nodeType": "YulIdentifier", - "src": "10997:6:5" - }, - "nativeSrc": "10997:18:5", - "nodeType": "YulFunctionCall", - "src": "10997:18:5" - }, - { - "arguments": [ - { - "name": "p", - "nativeSrc": "11021:1:5", - "nodeType": "YulIdentifier", - "src": "11021:1:5" - }, - { - "name": "x1", - "nativeSrc": "11024:2:5", - "nodeType": "YulIdentifier", - "src": "11024:2:5" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "11017:3:5", - "nodeType": "YulIdentifier", - "src": "11017:3:5" - }, - "nativeSrc": "11017:10:5", - "nodeType": "YulFunctionCall", - "src": "11017:10:5" - }, - { - "name": "p", - "nativeSrc": "11029:1:5", - "nodeType": "YulIdentifier", - "src": "11029:1:5" - } - ], - "functionName": { - "name": "addmod", - "nativeSrc": "10990:6:5", - "nodeType": "YulIdentifier", - "src": "10990:6:5" - }, - "nativeSrc": "10990:41:5", - "nodeType": "YulFunctionCall", - "src": "10990:41:5" - }, - "variableNames": [ - { - "name": "x2", - "nativeSrc": "10984:2:5", - "nodeType": "YulIdentifier", - "src": "10984:2:5" - } - ] - }, - { - "nativeSrc": "11048:23:5", - "nodeType": "YulAssignment", - "src": "11048:23:5", - "value": { - "arguments": [ - { - "name": "x2", - "nativeSrc": "11061:2:5", - "nodeType": "YulIdentifier", - "src": "11061:2:5" - }, - { - "name": "x2", - "nativeSrc": "11065:2:5", - "nodeType": "YulIdentifier", - "src": "11065:2:5" - }, - { - "name": "p", - "nativeSrc": "11069:1:5", - "nodeType": "YulIdentifier", - "src": "11069:1:5" - } - ], - "functionName": { - "name": "mulmod", - "nativeSrc": "11054:6:5", - "nodeType": "YulIdentifier", - "src": "11054:6:5" - }, - "nativeSrc": "11054:17:5", - "nodeType": "YulFunctionCall", - "src": "11054:17:5" - }, - "variableNames": [ - { - "name": "P0", - "nativeSrc": "11048:2:5", - "nodeType": "YulIdentifier", - "src": "11048:2:5" - } - ] - }, - { - "nativeSrc": "11099:23:5", - "nodeType": "YulAssignment", - "src": "11099:23:5", - "value": { - "arguments": [ - { - "name": "P0", - "nativeSrc": "11112:2:5", - "nodeType": "YulIdentifier", - "src": "11112:2:5" - }, - { - "name": "x2", - "nativeSrc": "11116:2:5", - "nodeType": "YulIdentifier", - "src": "11116:2:5" - }, - { - "name": "p", - "nativeSrc": "11120:1:5", - "nodeType": "YulIdentifier", - "src": "11120:1:5" - } - ], - "functionName": { - "name": "mulmod", - "nativeSrc": "11105:6:5", - "nodeType": "YulIdentifier", - "src": "11105:6:5" - }, - "nativeSrc": "11105:17:5", - "nodeType": "YulFunctionCall", - "src": "11105:17:5" - }, - "variableNames": [ - { - "name": "P1", - "nativeSrc": "11099:2:5", - "nodeType": "YulIdentifier", - "src": "11099:2:5" - } - ] - }, - { - "nativeSrc": "11152:24:5", - "nodeType": "YulAssignment", - "src": "11152:24:5", - "value": { - "arguments": [ - { - "name": "zz1", - "nativeSrc": "11165:3:5", - "nodeType": "YulIdentifier", - "src": "11165:3:5" - }, - { - "name": "P0", - "nativeSrc": "11170:2:5", - "nodeType": "YulIdentifier", - "src": "11170:2:5" - }, - { - "name": "p", - "nativeSrc": "11174:1:5", - "nodeType": "YulIdentifier", - "src": "11174:1:5" - } - ], - "functionName": { - "name": "mulmod", - "nativeSrc": "11158:6:5", - "nodeType": "YulIdentifier", - "src": "11158:6:5" - }, - "nativeSrc": "11158:18:5", - "nodeType": "YulFunctionCall", - "src": "11158:18:5" - }, - "variableNames": [ - { - "name": "P2", - "nativeSrc": "11152:2:5", - "nodeType": "YulIdentifier", - "src": "11152:2:5" - } - ] - }, - { - "nativeSrc": "11210:25:5", - "nodeType": "YulAssignment", - "src": "11210:25:5", - "value": { - "arguments": [ - { - "name": "zzz1", - "nativeSrc": "11223:4:5", - "nodeType": "YulIdentifier", - "src": "11223:4:5" - }, - { - "name": "P1", - "nativeSrc": "11229:2:5", - "nodeType": "YulIdentifier", - "src": "11229:2:5" - }, - { - "name": "p", - "nativeSrc": "11233:1:5", - "nodeType": "YulIdentifier", - "src": "11233:1:5" - } - ], - "functionName": { - "name": "mulmod", - "nativeSrc": "11216:6:5", - "nodeType": "YulIdentifier", - "src": "11216:6:5" - }, - "nativeSrc": "11216:19:5", - "nodeType": "YulFunctionCall", - "src": "11216:19:5" - }, - "variableNames": [ - { - "name": "P3", - "nativeSrc": "11210:2:5", - "nodeType": "YulIdentifier", - "src": "11210:2:5" - } - ] - }, - { - "nativeSrc": "11272:24:5", - "nodeType": "YulAssignment", - "src": "11272:24:5", - "value": { - "arguments": [ - { - "name": "x1", - "nativeSrc": "11286:2:5", - "nodeType": "YulIdentifier", - "src": "11286:2:5" - }, - { - "name": "P0", - "nativeSrc": "11290:2:5", - "nodeType": "YulIdentifier", - "src": "11290:2:5" - }, - { - "name": "p", - "nativeSrc": "11294:1:5", - "nodeType": "YulIdentifier", - "src": "11294:1:5" - } - ], - "functionName": { - "name": "mulmod", - "nativeSrc": "11279:6:5", - "nodeType": "YulIdentifier", - "src": "11279:6:5" - }, - "nativeSrc": "11279:17:5", - "nodeType": "YulFunctionCall", - "src": "11279:17:5" - }, - "variableNames": [ - { - "name": "zz1", - "nativeSrc": "11272:3:5", - "nodeType": "YulIdentifier", - "src": "11272:3:5" - } - ] - }, - { - "nativeSrc": "11325:82:5", - "nodeType": "YulAssignment", - "src": "11325:82:5", - "value": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "y2", - "nativeSrc": "11352:2:5", - "nodeType": "YulIdentifier", - "src": "11352:2:5" - }, - { - "name": "y2", - "nativeSrc": "11356:2:5", - "nodeType": "YulIdentifier", - "src": "11356:2:5" - }, - { - "name": "p", - "nativeSrc": "11360:1:5", - "nodeType": "YulIdentifier", - "src": "11360:1:5" - } - ], - "functionName": { - "name": "mulmod", - "nativeSrc": "11345:6:5", - "nodeType": "YulIdentifier", - "src": "11345:6:5" - }, - "nativeSrc": "11345:17:5", - "nodeType": "YulFunctionCall", - "src": "11345:17:5" - }, - { - "arguments": [ - { - "name": "p", - "nativeSrc": "11368:1:5", - "nodeType": "YulIdentifier", - "src": "11368:1:5" - }, - { - "name": "P1", - "nativeSrc": "11371:2:5", - "nodeType": "YulIdentifier", - "src": "11371:2:5" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "11364:3:5", - "nodeType": "YulIdentifier", - "src": "11364:3:5" - }, - "nativeSrc": "11364:10:5", - "nodeType": "YulFunctionCall", - "src": "11364:10:5" - }, - { - "name": "p", - "nativeSrc": "11376:1:5", - "nodeType": "YulIdentifier", - "src": "11376:1:5" - } - ], - "functionName": { - "name": "addmod", - "nativeSrc": "11338:6:5", - "nodeType": "YulIdentifier", - "src": "11338:6:5" - }, - "nativeSrc": "11338:40:5", - "nodeType": "YulFunctionCall", - "src": "11338:40:5" - }, - { - "arguments": [ - { - "name": "minus_2", - "nativeSrc": "11387:7:5", - "nodeType": "YulIdentifier", - "src": "11387:7:5" - }, - { - "name": "zz1", - "nativeSrc": "11396:3:5", - "nodeType": "YulIdentifier", - "src": "11396:3:5" - }, - { - "name": "p", - "nativeSrc": "11401:1:5", - "nodeType": "YulIdentifier", - "src": "11401:1:5" - } - ], - "functionName": { - "name": "mulmod", - "nativeSrc": "11380:6:5", - "nodeType": "YulIdentifier", - "src": "11380:6:5" - }, - "nativeSrc": "11380:23:5", - "nodeType": "YulFunctionCall", - "src": "11380:23:5" - }, - { - "name": "p", - "nativeSrc": "11405:1:5", - "nodeType": "YulIdentifier", - "src": "11405:1:5" - } - ], - "functionName": { - "name": "addmod", - "nativeSrc": "11331:6:5", - "nodeType": "YulIdentifier", - "src": "11331:6:5" - }, - "nativeSrc": "11331:76:5", - "nodeType": "YulFunctionCall", - "src": "11331:76:5" - }, - "variableNames": [ - { - "name": "P0", - "nativeSrc": "11325:2:5", - "nodeType": "YulIdentifier", - "src": "11325:2:5" - } - ] - }, - { - "nativeSrc": "11438:77:5", - "nodeType": "YulAssignment", - "src": "11438:77:5", - "value": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "zz1", - "nativeSrc": "11465:3:5", - "nodeType": "YulIdentifier", - "src": "11465:3:5" - }, - { - "arguments": [ - { - "name": "p", - "nativeSrc": "11474:1:5", - "nodeType": "YulIdentifier", - "src": "11474:1:5" - }, - { - "name": "P0", - "nativeSrc": "11477:2:5", - "nodeType": "YulIdentifier", - "src": "11477:2:5" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "11470:3:5", - "nodeType": "YulIdentifier", - "src": "11470:3:5" - }, - "nativeSrc": "11470:10:5", - "nodeType": "YulFunctionCall", - "src": "11470:10:5" - }, - { - "name": "p", - "nativeSrc": "11482:1:5", - "nodeType": "YulIdentifier", - "src": "11482:1:5" - } - ], - "functionName": { - "name": "addmod", - "nativeSrc": "11458:6:5", - "nodeType": "YulIdentifier", - "src": "11458:6:5" - }, - "nativeSrc": "11458:26:5", - "nodeType": "YulFunctionCall", - "src": "11458:26:5" - }, - { - "name": "y2", - "nativeSrc": "11486:2:5", - "nodeType": "YulIdentifier", - "src": "11486:2:5" - }, - { - "name": "p", - "nativeSrc": "11490:1:5", - "nodeType": "YulIdentifier", - "src": "11490:1:5" - } - ], - "functionName": { - "name": "mulmod", - "nativeSrc": "11451:6:5", - "nodeType": "YulIdentifier", - "src": "11451:6:5" - }, - "nativeSrc": "11451:41:5", - "nodeType": "YulFunctionCall", - "src": "11451:41:5" - }, - { - "arguments": [ - { - "name": "y1", - "nativeSrc": "11501:2:5", - "nodeType": "YulIdentifier", - "src": "11501:2:5" - }, - { - "name": "P1", - "nativeSrc": "11505:2:5", - "nodeType": "YulIdentifier", - "src": "11505:2:5" - }, - { - "name": "p", - "nativeSrc": "11509:1:5", - "nodeType": "YulIdentifier", - "src": "11509:1:5" - } - ], - "functionName": { - "name": "mulmod", - "nativeSrc": "11494:6:5", - "nodeType": "YulIdentifier", - "src": "11494:6:5" - }, - "nativeSrc": "11494:17:5", - "nodeType": "YulFunctionCall", - "src": "11494:17:5" - }, - { - "name": "p", - "nativeSrc": "11513:1:5", - "nodeType": "YulIdentifier", - "src": "11513:1:5" - } - ], - "functionName": { - "name": "addmod", - "nativeSrc": "11444:6:5", - "nodeType": "YulIdentifier", - "src": "11444:6:5" - }, - "nativeSrc": "11444:71:5", - "nodeType": "YulFunctionCall", - "src": "11444:71:5" - }, - "variableNames": [ - { - "name": "P1", - "nativeSrc": "11438:2:5", - "nodeType": "YulIdentifier", - "src": "11438:2:5" - } - ] - } - ] - }, - "evmVersion": "paris", - "externalReferences": [ - { - "declaration": 1505, - "isOffset": false, - "isSlot": false, - "src": "11048:2:5", - "valueSize": 1 - }, - { - "declaration": 1505, - "isOffset": false, - "isSlot": false, - "src": "11112:2:5", - "valueSize": 1 - }, - { - "declaration": 1505, - "isOffset": false, - "isSlot": false, - "src": "11170:2:5", - "valueSize": 1 - }, - { - "declaration": 1505, - "isOffset": false, - "isSlot": false, - "src": "11290:2:5", - "valueSize": 1 - }, - { - "declaration": 1505, - "isOffset": false, - "isSlot": false, - "src": "11325:2:5", - "valueSize": 1 - }, - { - "declaration": 1505, - "isOffset": false, - "isSlot": false, - "src": "11477:2:5", - "valueSize": 1 - }, - { - "declaration": 1507, - "isOffset": false, - "isSlot": false, - "src": "11099:2:5", - "valueSize": 1 - }, - { - "declaration": 1507, - "isOffset": false, - "isSlot": false, - "src": "11229:2:5", - "valueSize": 1 - }, - { - "declaration": 1507, - "isOffset": false, - "isSlot": false, - "src": "11371:2:5", - "valueSize": 1 - }, - { - "declaration": 1507, - "isOffset": false, - "isSlot": false, - "src": "11438:2:5", - "valueSize": 1 - }, - { - "declaration": 1507, - "isOffset": false, - "isSlot": false, - "src": "11505:2:5", - "valueSize": 1 - }, - { - "declaration": 1509, - "isOffset": false, - "isSlot": false, - "src": "11152:2:5", - "valueSize": 1 - }, - { - "declaration": 1511, - "isOffset": false, - "isSlot": false, - "src": "11210:2:5", - "valueSize": 1 - }, - { - "declaration": 983, - "isOffset": false, - "isSlot": false, - "src": "11387:7:5", - "valueSize": 1 - }, - { - "declaration": 965, - "isOffset": false, - "isSlot": false, - "src": "10904:1:5", - "valueSize": 1 - }, - { - "declaration": 965, - "isOffset": false, - "isSlot": false, - "src": "10957:1:5", - "valueSize": 1 - }, - { - "declaration": 965, - "isOffset": false, - "isSlot": false, - "src": "10965:1:5", - "valueSize": 1 - }, - { - "declaration": 965, - "isOffset": false, - "isSlot": false, - "src": "11013:1:5", - "valueSize": 1 - }, - { - "declaration": 965, - "isOffset": false, - "isSlot": false, - "src": "11021:1:5", - "valueSize": 1 - }, - { - "declaration": 965, - "isOffset": false, - "isSlot": false, - "src": "11029:1:5", - "valueSize": 1 - }, - { - "declaration": 965, - "isOffset": false, - "isSlot": false, - "src": "11069:1:5", - "valueSize": 1 - }, - { - "declaration": 965, - "isOffset": false, - "isSlot": false, - "src": "11120:1:5", - "valueSize": 1 - }, - { - "declaration": 965, - "isOffset": false, - "isSlot": false, - "src": "11174:1:5", - "valueSize": 1 - }, - { - "declaration": 965, - "isOffset": false, - "isSlot": false, - "src": "11233:1:5", - "valueSize": 1 - }, - { - "declaration": 965, - "isOffset": false, - "isSlot": false, - "src": "11294:1:5", - "valueSize": 1 - }, - { - "declaration": 965, - "isOffset": false, - "isSlot": false, - "src": "11360:1:5", - "valueSize": 1 - }, - { - "declaration": 965, - "isOffset": false, - "isSlot": false, - "src": "11368:1:5", - "valueSize": 1 - }, - { - "declaration": 965, - "isOffset": false, - "isSlot": false, - "src": "11376:1:5", - "valueSize": 1 - }, - { - "declaration": 965, - "isOffset": false, - "isSlot": false, - "src": "11401:1:5", - "valueSize": 1 - }, - { - "declaration": 965, - "isOffset": false, - "isSlot": false, - "src": "11405:1:5", - "valueSize": 1 - }, - { - "declaration": 965, - "isOffset": false, - "isSlot": false, - "src": "11474:1:5", - "valueSize": 1 - }, - { - "declaration": 965, - "isOffset": false, - "isSlot": false, - "src": "11482:1:5", - "valueSize": 1 - }, - { - "declaration": 965, - "isOffset": false, - "isSlot": false, - "src": "11490:1:5", - "valueSize": 1 - }, - { - "declaration": 965, - "isOffset": false, - "isSlot": false, - "src": "11509:1:5", - "valueSize": 1 - }, - { - "declaration": 965, - "isOffset": false, - "isSlot": false, - "src": "11513:1:5", - "valueSize": 1 - }, - { - "declaration": 1492, - "isOffset": false, - "isSlot": false, - "src": "11024:2:5", - "valueSize": 1 - }, - { - "declaration": 1492, - "isOffset": false, - "isSlot": false, - "src": "11286:2:5", - "valueSize": 1 - }, - { - "declaration": 1500, - "isOffset": false, - "isSlot": false, - "src": "10984:2:5", - "valueSize": 1 - }, - { - "declaration": 1500, - "isOffset": false, - "isSlot": false, - "src": "11004:2:5", - "valueSize": 1 - }, - { - "declaration": 1500, - "isOffset": false, - "isSlot": false, - "src": "11061:2:5", - "valueSize": 1 - }, - { - "declaration": 1500, - "isOffset": false, - "isSlot": false, - "src": "11065:2:5", - "valueSize": 1 - }, - { - "declaration": 1500, - "isOffset": false, - "isSlot": false, - "src": "11116:2:5", - "valueSize": 1 - }, - { - "declaration": 1494, - "isOffset": false, - "isSlot": false, - "src": "10894:2:5", - "valueSize": 1 - }, - { - "declaration": 1494, - "isOffset": false, - "isSlot": false, - "src": "10907:2:5", - "valueSize": 1 - }, - { - "declaration": 1494, - "isOffset": false, - "isSlot": false, - "src": "10961:2:5", - "valueSize": 1 - }, - { - "declaration": 1494, - "isOffset": false, - "isSlot": false, - "src": "11501:2:5", - "valueSize": 1 - }, - { - "declaration": 1502, - "isOffset": false, - "isSlot": false, - "src": "10927:2:5", - "valueSize": 1 - }, - { - "declaration": 1502, - "isOffset": false, - "isSlot": false, - "src": "10947:2:5", - "valueSize": 1 - }, - { - "declaration": 1502, - "isOffset": false, - "isSlot": false, - "src": "11352:2:5", - "valueSize": 1 - }, - { - "declaration": 1502, - "isOffset": false, - "isSlot": false, - "src": "11356:2:5", - "valueSize": 1 - }, - { - "declaration": 1502, - "isOffset": false, - "isSlot": false, - "src": "11486:2:5", - "valueSize": 1 - }, - { - "declaration": 1496, - "isOffset": false, - "isSlot": false, - "src": "11008:3:5", - "valueSize": 1 - }, - { - "declaration": 1496, - "isOffset": false, - "isSlot": false, - "src": "11165:3:5", - "valueSize": 1 - }, - { - "declaration": 1496, - "isOffset": false, - "isSlot": false, - "src": "11272:3:5", - "valueSize": 1 - }, - { - "declaration": 1496, - "isOffset": false, - "isSlot": false, - "src": "11396:3:5", - "valueSize": 1 - }, - { - "declaration": 1496, - "isOffset": false, - "isSlot": false, - "src": "11465:3:5", - "valueSize": 1 - }, - { - "declaration": 1498, - "isOffset": false, - "isSlot": false, - "src": "10951:4:5", - "valueSize": 1 - }, - { - "declaration": 1498, - "isOffset": false, - "isSlot": false, - "src": "11223:4:5", - "valueSize": 1 - } - ], - "id": 1524, - "nodeType": "InlineAssembly", - "src": "10867:673:5" + "id": 1663, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4084:12:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" } - ] + }, + "nodeType": "VariableDeclarationStatement", + "src": "4068:28:12" }, { "expression": { - "components": [ + "arguments": [ { - "id": 1526, - "name": "P0", + "id": 1666, + "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1505, - "src": "11610:2:5", + "referencedDeclaration": 1661, + "src": "4115:5:12", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, { - "id": 1527, - "name": "P1", + "id": 1667, + "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1507, - "src": "11614:2:5", + "referencedDeclaration": 1653, + "src": "4122:7:12", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, { - "id": 1528, - "name": "P2", + "id": 1668, + "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1509, - "src": "11618:2:5", + "referencedDeclaration": 1655, + "src": "4131:5:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } - }, - { - "id": 1529, - "name": "P3", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1511, - "src": "11622:2:5", - "typeDescriptions": { + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { "typeIdentifier": "t_uint256", "typeString": "uint256" } + ], + "id": 1665, + "name": "_approve", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1914, + 1974 + ], + "referencedDeclaration": 1914, + "src": "4106:8:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" } - ], - "id": 1530, + }, + "id": 1669, "isConstant": false, - "isInlineArray": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "11609:16:5", + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4106:31:12", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,uint256)" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "functionReturnParameters": 1512, - "id": 1531, + "id": 1670, + "nodeType": "ExpressionStatement", + "src": "4106:31:12" + }, + { + "expression": { + "hexValue": "74727565", + "id": 1671, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4154:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1659, + "id": 1672, "nodeType": "Return", - "src": "11602:23:5" + "src": "4147:11:12" } ] }, "documentation": { - "id": 1490, + "id": 1651, "nodeType": "StructuredDocumentation", - "src": "10348:205:5", - "text": " @dev Sutherland2008 add a ZZ point with a normalized point and greedy formulae\n warning: assume that P1(x1,y1)!=P2(x2,y2), true in multiplication loop with prime order (cofactor 1)" + "src": "3678:296:12", + "text": " @dev See {IERC20-approve}.\n NOTE: If `value` is the maximum `uint256`, the allowance is not updated on\n `transferFrom`. This is semantically equivalent to an infinite approval.\n Requirements:\n - `spender` cannot be the zero address." }, - "id": 1533, + "functionSelector": "095ea7b3", + "id": 1674, "implemented": true, "kind": "function", "modifiers": [], - "name": "ecZZ_AddN", - "nameLocation": "10568:9:5", + "name": "approve", + "nameLocation": "3988:7:12", "nodeType": "FunctionDefinition", "parameters": { - "id": 1503, + "id": 1656, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1492, + "id": 1653, "mutability": "mutable", - "name": "x1", - "nameLocation": "10586:2:5", + "name": "spender", + "nameLocation": "4004:7:12", "nodeType": "VariableDeclaration", - "scope": 1533, - "src": "10578:10:5", + "scope": 1674, + "src": "3996:15:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 1491, - "name": "uint256", + "id": 1652, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "10578:7:5", + "src": "3996:7:12", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "internal" }, { "constant": false, - "id": 1494, + "id": 1655, "mutability": "mutable", - "name": "y1", - "nameLocation": "10598:2:5", + "name": "value", + "nameLocation": "4021:5:12", "nodeType": "VariableDeclaration", - "scope": 1533, - "src": "10590:10:5", + "scope": 1674, + "src": "4013:13:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24690,429 +20656,417 @@ "typeString": "uint256" }, "typeName": { - "id": 1493, + "id": 1654, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10590:7:5", + "src": "4013:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" - }, + } + ], + "src": "3995:32:12" + }, + "returnParameters": { + "id": 1659, + "nodeType": "ParameterList", + "parameters": [ { "constant": false, - "id": 1496, + "id": 1658, "mutability": "mutable", - "name": "zz1", - "nameLocation": "10610:3:5", + "name": "", + "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 1533, - "src": "10602:11:5", + "scope": 1674, + "src": "4052:4:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" }, "typeName": { - "id": 1495, - "name": "uint256", + "id": 1657, + "name": "bool", "nodeType": "ElementaryTypeName", - "src": "10602:7:5", + "src": "4052:4:12", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, "visibility": "internal" - }, + } + ], + "src": "4051:6:12" + }, + "scope": 2023, + "src": "3979:186:12", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 2100 + ], + "body": { + "id": 1705, + "nodeType": "Block", + "src": "4850:151:12", + "statements": [ { - "constant": false, - "id": 1498, - "mutability": "mutable", - "name": "zzz1", - "nameLocation": "10623:4:5", - "nodeType": "VariableDeclaration", - "scope": 1533, - "src": "10615:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1497, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10615:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1500, - "mutability": "mutable", - "name": "x2", - "nameLocation": "10637:2:5", - "nodeType": "VariableDeclaration", - "scope": 1533, - "src": "10629:10:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1499, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10629:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1502, - "mutability": "mutable", - "name": "y2", - "nameLocation": "10649:2:5", - "nodeType": "VariableDeclaration", - "scope": 1533, - "src": "10641:10:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1501, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10641:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "10577:75:5" - }, - "returnParameters": { - "id": 1512, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1505, - "mutability": "mutable", - "name": "P0", - "nameLocation": "10708:2:5", - "nodeType": "VariableDeclaration", - "scope": 1533, - "src": "10700:10:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1504, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10700:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "assignments": [ + 1687 + ], + "declarations": [ + { + "constant": false, + "id": 1687, + "mutability": "mutable", + "name": "spender", + "nameLocation": "4868:7:12", + "nodeType": "VariableDeclaration", + "scope": 1705, + "src": "4860:15:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1686, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4860:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1507, - "mutability": "mutable", - "name": "P1", - "nameLocation": "10720:2:5", - "nodeType": "VariableDeclaration", - "scope": 1533, - "src": "10712:10:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1506, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10712:7:5", + ], + "id": 1690, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1688, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2139, + "src": "4878:10:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 1689, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4878:12:12", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "visibility": "internal" + "nodeType": "VariableDeclarationStatement", + "src": "4860:30:12" }, { - "constant": false, - "id": 1509, - "mutability": "mutable", - "name": "P2", - "nameLocation": "10732:2:5", - "nodeType": "VariableDeclaration", - "scope": 1533, - "src": "10724:10:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1508, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10724:7:5", + "expression": { + "arguments": [ + { + "id": 1692, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1677, + "src": "4916:4:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1693, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1687, + "src": "4922:7:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1694, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1681, + "src": "4931:5:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1691, + "name": "_spendAllowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2022, + "src": "4900:15:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 1695, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4900:37:12", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "visibility": "internal" + "id": 1696, + "nodeType": "ExpressionStatement", + "src": "4900:37:12" }, - { - "constant": false, - "id": 1511, - "mutability": "mutable", - "name": "P3", - "nameLocation": "10744:2:5", - "nodeType": "VariableDeclaration", - "scope": 1533, - "src": "10736:10:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1510, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10736:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "10699:48:5" - }, - "scope": 2298, - "src": "10559:1073:5", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1551, - "nodeType": "Block", - "src": "11803:36:5", - "statements": [ { "expression": { - "components": [ + "arguments": [ { - "hexValue": "30", - "id": 1545, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11821:1:5", + "id": 1698, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1677, + "src": "4957:4:12", "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" + "typeIdentifier": "t_address", + "typeString": "address" + } }, { - "hexValue": "30", - "id": 1546, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11824:1:5", + "id": 1699, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1679, + "src": "4963:2:12", "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" + "typeIdentifier": "t_address", + "typeString": "address" + } }, { - "hexValue": "30", - "id": 1547, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11827:1:5", + "id": 1700, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1681, + "src": "4967:5:12", "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" }, - "value": "0" - }, - { - "hexValue": "30", - "id": 1548, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11830:1:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" + { + "typeIdentifier": "t_address", + "typeString": "address" }, - "value": "0" + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1697, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1753, + "src": "4947:9:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" } - ], - "id": 1549, + }, + "id": 1701, "isConstant": false, - "isInlineArray": false, "isLValue": false, - "isPure": true, + "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "11820:12:5", + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4947:26:12", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$_t_rational_0_by_1_$_t_rational_0_by_1_$", - "typeString": "tuple(int_const 0,int_const 0,int_const 0,int_const 0)" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "functionReturnParameters": 1544, - "id": 1550, + "id": 1702, + "nodeType": "ExpressionStatement", + "src": "4947:26:12" + }, + { + "expression": { + "hexValue": "74727565", + "id": 1703, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4990:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1685, + "id": 1704, "nodeType": "Return", - "src": "11813:19:5" + "src": "4983:11:12" } ] }, "documentation": { - "id": 1534, + "id": 1675, "nodeType": "StructuredDocumentation", - "src": "11638:66:5", - "text": " @dev Return the zero curve in XYZZ coordinates." + "src": "4171:581:12", + "text": " @dev See {IERC20-transferFrom}.\n Skips emitting an {Approval} event indicating an allowance update. This is not\n required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve].\n NOTE: Does not update the allowance if the current allowance\n is the maximum `uint256`.\n Requirements:\n - `from` and `to` cannot be the zero address.\n - `from` must have a balance of at least `value`.\n - the caller must have allowance for ``from``'s tokens of at least\n `value`." }, - "id": 1552, + "functionSelector": "23b872dd", + "id": 1706, "implemented": true, "kind": "function", "modifiers": [], - "name": "ecZZ_SetZero", - "nameLocation": "11718:12:5", + "name": "transferFrom", + "nameLocation": "4766:12:12", "nodeType": "FunctionDefinition", "parameters": { - "id": 1535, - "nodeType": "ParameterList", - "parameters": [], - "src": "11730:2:5" - }, - "returnParameters": { - "id": 1544, + "id": 1682, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1537, + "id": 1677, "mutability": "mutable", - "name": "x", - "nameLocation": "11764:1:5", + "name": "from", + "nameLocation": "4787:4:12", "nodeType": "VariableDeclaration", - "scope": 1552, - "src": "11756:9:5", + "scope": 1706, + "src": "4779:12:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 1536, - "name": "uint256", + "id": 1676, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "11756:7:5", + "src": "4779:7:12", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "internal" }, { "constant": false, - "id": 1539, + "id": 1679, "mutability": "mutable", - "name": "y", - "nameLocation": "11775:1:5", + "name": "to", + "nameLocation": "4801:2:12", "nodeType": "VariableDeclaration", - "scope": 1552, - "src": "11767:9:5", + "scope": 1706, + "src": "4793:10:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 1538, - "name": "uint256", + "id": 1678, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "11767:7:5", + "src": "4793:7:12", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "internal" }, { "constant": false, - "id": 1541, + "id": 1681, "mutability": "mutable", - "name": "zz", - "nameLocation": "11786:2:5", + "name": "value", + "nameLocation": "4813:5:12", "nodeType": "VariableDeclaration", - "scope": 1552, - "src": "11778:10:5", + "scope": 1706, + "src": "4805:13:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25120,220 +21074,648 @@ "typeString": "uint256" }, "typeName": { - "id": 1540, + "id": 1680, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "11778:7:5", + "src": "4805:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" - }, + } + ], + "src": "4778:41:12" + }, + "returnParameters": { + "id": 1685, + "nodeType": "ParameterList", + "parameters": [ { "constant": false, - "id": 1543, + "id": 1684, "mutability": "mutable", - "name": "zzz", - "nameLocation": "11798:3:5", + "name": "", + "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 1552, - "src": "11790:11:5", + "scope": 1706, + "src": "4844:4:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" }, "typeName": { - "id": 1542, - "name": "uint256", + "id": 1683, + "name": "bool", "nodeType": "ElementaryTypeName", - "src": "11790:7:5", + "src": "4844:4:12", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, "visibility": "internal" } ], - "src": "11755:47:5" + "src": "4843:6:12" }, - "scope": 2298, - "src": "11709:130:5", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" + "scope": 2023, + "src": "4757:244:12", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" }, { "body": { - "id": 1570, + "id": 1752, "nodeType": "Block", - "src": "12062:31:5", + "src": "5443:231:12", "statements": [ { - "expression": { + "condition": { "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, - "id": 1568, + "id": 1721, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1566, - "name": "y0", + "id": 1716, + "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1557, - "src": "12079:2:5", + "referencedDeclaration": 1709, + "src": "5457:4:12", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "hexValue": "30", - "id": 1567, + "arguments": [ + { + "hexValue": "30", + "id": 1719, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5473:1:12", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1718, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5465:7:12", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1717, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5465:7:12", + "typeDescriptions": {} + } + }, + "id": 1720, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "number", + "kind": "typeConversion", "lValueRequested": false, - "nodeType": "Literal", - "src": "12085:1:5", + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5465:10:12", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5457:18:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1730, + "nodeType": "IfStatement", + "src": "5453:86:12", + "trueBody": { + "id": 1729, + "nodeType": "Block", + "src": "5477:62:12", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 1725, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5525:1:12", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1724, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5517:7:12", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1723, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5517:7:12", + "typeDescriptions": {} + } + }, + "id": 1726, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5517:10:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1722, + "name": "ERC20InvalidSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1388, + "src": "5498:18:12", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$_t_error_$", + "typeString": "function (address) pure returns (error)" + } + }, + "id": 1727, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5498:30:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_error", + "typeString": "error" + } + }, + "id": 1728, + "nodeType": "RevertStatement", + "src": "5491:37:12" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1736, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1731, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1711, + "src": "5552:2:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 1734, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5566:1:12", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1733, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5558:7:12", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1732, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5558:7:12", + "typeDescriptions": {} + } }, - "value": "0" + "id": 1735, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5558:10:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } }, - "src": "12079:7:5", + "src": "5552:16:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 1565, - "id": 1569, - "nodeType": "Return", - "src": "12072:14:5" + "id": 1745, + "nodeType": "IfStatement", + "src": "5548:86:12", + "trueBody": { + "id": 1744, + "nodeType": "Block", + "src": "5570:64:12", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 1740, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5620:1:12", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1739, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5612:7:12", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1738, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5612:7:12", + "typeDescriptions": {} + } + }, + "id": 1741, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5612:10:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1737, + "name": "ERC20InvalidReceiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1393, + "src": "5591:20:12", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$_t_error_$", + "typeString": "function (address) pure returns (error)" + } + }, + "id": 1742, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5591:32:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_error", + "typeString": "error" + } + }, + "id": 1743, + "nodeType": "RevertStatement", + "src": "5584:39:12" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 1747, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1709, + "src": "5651:4:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1748, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1711, + "src": "5657:2:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1749, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1713, + "src": "5661:5:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1746, + "name": "_update", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1830, + "src": "5643:7:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 1750, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5643:24:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1751, + "nodeType": "ExpressionStatement", + "src": "5643:24:12" } ] }, "documentation": { - "id": 1553, + "id": 1707, "nodeType": "StructuredDocumentation", - "src": "11844:66:5", - "text": " @dev Check if point is the neutral of the curve" + "src": "5007:362:12", + "text": " @dev Moves a `value` amount of tokens from `from` to `to`.\n This internal function is equivalent to {transfer}, and can be used to\n e.g. implement automatic token fees, slashing mechanisms, etc.\n Emits a {Transfer} event.\n NOTE: This function is not virtual, {_update} should be overridden instead." }, - "id": 1571, + "id": 1753, "implemented": true, "kind": "function", "modifiers": [], - "name": "ecZZ_IsZero", - "nameLocation": "11982:11:5", + "name": "_transfer", + "nameLocation": "5383:9:12", "nodeType": "FunctionDefinition", "parameters": { - "id": 1562, + "id": 1714, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1555, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1571, - "src": "11994:7:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1554, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11994:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1557, + "id": 1709, "mutability": "mutable", - "name": "y0", - "nameLocation": "12011:2:5", + "name": "from", + "nameLocation": "5401:4:12", "nodeType": "VariableDeclaration", - "scope": 1571, - "src": "12003:10:5", + "scope": 1753, + "src": "5393:12:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 1556, - "name": "uint256", + "id": 1708, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "12003:7:5", + "src": "5393:7:12", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "internal" }, { "constant": false, - "id": 1559, + "id": 1711, "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", + "name": "to", + "nameLocation": "5415:2:12", "nodeType": "VariableDeclaration", - "scope": 1571, - "src": "12015:7:5", + "scope": 1753, + "src": "5407:10:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 1558, - "name": "uint256", + "id": 1710, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "12015:7:5", + "src": "5407:7:12", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "internal" }, { "constant": false, - "id": 1561, + "id": 1713, "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", + "name": "value", + "nameLocation": "5427:5:12", "nodeType": "VariableDeclaration", - "scope": 1571, - "src": "12024:7:5", + "scope": 1753, + "src": "5419:13:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25341,10 +21723,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1560, + "id": 1712, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "12024:7:5", + "src": "5419:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25353,169 +21735,903 @@ "visibility": "internal" } ], - "src": "11993:39:5" + "src": "5392:41:12" }, "returnParameters": { - "id": 1565, + "id": 1715, "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1564, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1571, - "src": "12056:4:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1563, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12056:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "12055:6:5" + "parameters": [], + "src": "5443:0:12" }, - "scope": 2298, - "src": "11973:120:5", - "stateMutability": "pure", + "scope": 2023, + "src": "5374:300:12", + "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 1583, + "id": 1829, "nodeType": "Block", - "src": "12296:30:5", + "src": "6064:1032:12", "statements": [ { - "expression": { - "components": [ - { - "hexValue": "30", - "id": 1579, + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1768, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1763, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1756, + "src": "6078:4:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 1766, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6094:1:12", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1765, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "number", "lValueRequested": false, - "nodeType": "Literal", - "src": "12314:1:5", + "nodeType": "ElementaryTypeNameExpression", + "src": "6086:7:12", "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" }, - "value": "0" + "typeName": { + "id": 1764, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6086:7:12", + "typeDescriptions": {} + } }, - { - "hexValue": "30", - "id": 1580, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12317:1:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" + "id": 1767, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6086:10:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" } - ], - "id": 1581, - "isConstant": false, - "isInlineArray": false, + }, + "src": "6078:18:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 1800, + "nodeType": "Block", + "src": "6252:362:12", + "statements": [ + { + "assignments": [ + 1775 + ], + "declarations": [ + { + "constant": false, + "id": 1775, + "mutability": "mutable", + "name": "fromBalance", + "nameLocation": "6274:11:12", + "nodeType": "VariableDeclaration", + "scope": 1800, + "src": "6266:19:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1774, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6266:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1779, + "initialValue": { + "baseExpression": { + "id": 1776, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1531, + "src": "6288:9:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1778, + "indexExpression": { + "id": 1777, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1756, + "src": "6298:4:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6288:15:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6266:37:12" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1782, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1780, + "name": "fromBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1775, + "src": "6321:11:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 1781, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1760, + "src": "6335:5:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6321:19:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1790, + "nodeType": "IfStatement", + "src": "6317:115:12", + "trueBody": { + "id": 1789, + "nodeType": "Block", + "src": "6342:90:12", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "id": 1784, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1756, + "src": "6392:4:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1785, + "name": "fromBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1775, + "src": "6398:11:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1786, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1760, + "src": "6411:5:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1783, + "name": "ERC20InsufficientBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1383, + "src": "6367:24:12", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$_t_uint256_$_t_uint256_$returns$_t_error_$", + "typeString": "function (address,uint256,uint256) pure returns (error)" + } + }, + "id": 1787, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6367:50:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_error", + "typeString": "error" + } + }, + "id": 1788, + "nodeType": "RevertStatement", + "src": "6360:57:12" + } + ] + } + }, + { + "id": 1799, + "nodeType": "UncheckedBlock", + "src": "6445:159:12", + "statements": [ + { + "expression": { + "id": 1797, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 1791, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1531, + "src": "6552:9:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1793, + "indexExpression": { + "id": 1792, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1756, + "src": "6562:4:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6552:15:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1796, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1794, + "name": "fromBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1775, + "src": "6570:11:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 1795, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1760, + "src": "6584:5:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6570:19:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6552:37:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1798, + "nodeType": "ExpressionStatement", + "src": "6552:37:12" + } + ] + } + ] + }, + "id": 1801, + "nodeType": "IfStatement", + "src": "6074:540:12", + "trueBody": { + "id": 1773, + "nodeType": "Block", + "src": "6098:148:12", + "statements": [ + { + "expression": { + "id": 1771, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1769, + "name": "_totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1539, + "src": "6214:12:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 1770, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1760, + "src": "6230:5:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6214:21:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1772, + "nodeType": "ExpressionStatement", + "src": "6214:21:12" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1807, + "isConstant": false, "isLValue": false, - "isPure": true, + "isPure": false, "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12313:6:5", + "leftExpression": { + "id": 1802, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1758, + "src": "6628:2:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 1805, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6642:1:12", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1804, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6634:7:12", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1803, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6634:7:12", + "typeDescriptions": {} + } + }, + "id": 1806, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6634:10:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6628:16:12", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$", - "typeString": "tuple(int_const 0,int_const 0)" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "functionReturnParameters": 1578, - "id": 1582, - "nodeType": "Return", - "src": "12306:13:5" + "falseBody": { + "id": 1821, + "nodeType": "Block", + "src": "6843:206:12", + "statements": [ + { + "id": 1820, + "nodeType": "UncheckedBlock", + "src": "6857:182:12", + "statements": [ + { + "expression": { + "id": 1818, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 1814, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1531, + "src": "7002:9:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 1816, + "indexExpression": { + "id": 1815, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1758, + "src": "7012:2:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7002:13:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 1817, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1760, + "src": "7019:5:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7002:22:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1819, + "nodeType": "ExpressionStatement", + "src": "7002:22:12" + } + ] + } + ] + }, + "id": 1822, + "nodeType": "IfStatement", + "src": "6624:425:12", + "trueBody": { + "id": 1813, + "nodeType": "Block", + "src": "6646:191:12", + "statements": [ + { + "id": 1812, + "nodeType": "UncheckedBlock", + "src": "6660:167:12", + "statements": [ + { + "expression": { + "id": 1810, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1808, + "name": "_totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1539, + "src": "6791:12:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 1809, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1760, + "src": "6807:5:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6791:21:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1811, + "nodeType": "ExpressionStatement", + "src": "6791:21:12" + } + ] + } + ] + } + }, + { + "eventCall": { + "arguments": [ + { + "id": 1824, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1756, + "src": "7073:4:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1825, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1758, + "src": "7079:2:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1826, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1760, + "src": "7083:5:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1823, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2035, + "src": "7064:8:12", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 1827, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7064:25:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1828, + "nodeType": "EmitStatement", + "src": "7059:30:12" } ] }, "documentation": { - "id": 1572, + "id": 1754, "nodeType": "StructuredDocumentation", - "src": "12098:122:5", - "text": " @dev Return the zero curve in affine coordinates. Compatible with the double formulae (no special case)" + "src": "5680:304:12", + "text": " @dev Transfers a `value` amount of tokens from `from` to `to`, or alternatively mints (or burns) if `from`\n (or `to`) is the zero address. All customizations to transfers, mints, and burns should be done by overriding\n this function.\n Emits a {Transfer} event." }, - "id": 1584, + "id": 1830, "implemented": true, "kind": "function", "modifiers": [], - "name": "ecAff_SetZero", - "nameLocation": "12235:13:5", + "name": "_update", + "nameLocation": "5998:7:12", "nodeType": "FunctionDefinition", "parameters": { - "id": 1573, - "nodeType": "ParameterList", - "parameters": [], - "src": "12248:2:5" - }, - "returnParameters": { - "id": 1578, + "id": 1761, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1575, + "id": 1756, "mutability": "mutable", - "name": "x", - "nameLocation": "12282:1:5", + "name": "from", + "nameLocation": "6014:4:12", "nodeType": "VariableDeclaration", - "scope": 1584, - "src": "12274:9:5", + "scope": 1830, + "src": "6006:12:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 1574, - "name": "uint256", + "id": 1755, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "12274:7:5", + "src": "6006:7:12", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "internal" }, { "constant": false, - "id": 1577, + "id": 1758, "mutability": "mutable", - "name": "y", - "nameLocation": "12293:1:5", + "name": "to", + "nameLocation": "6028:2:12", + "nodeType": "VariableDeclaration", + "scope": 1830, + "src": "6020:10:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1757, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6020:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1760, + "mutability": "mutable", + "name": "value", + "nameLocation": "6040:5:12", "nodeType": "VariableDeclaration", - "scope": 1584, - "src": "12285:9:5", + "scope": 1830, + "src": "6032:13:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25523,10 +22639,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1576, + "id": 1759, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "12285:7:5", + "src": "6032:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25535,143 +22651,423 @@ "visibility": "internal" } ], - "src": "12273:22:5" + "src": "6005:41:12" }, - "scope": 2298, - "src": "12226:100:5", - "stateMutability": "pure", - "virtual": false, + "returnParameters": { + "id": 1762, + "nodeType": "ParameterList", + "parameters": [], + "src": "6064:0:12" + }, + "scope": 2023, + "src": "5989:1107:12", + "stateMutability": "nonpayable", + "virtual": true, "visibility": "internal" }, { "body": { - "id": 1599, + "id": 1862, "nodeType": "Block", - "src": "12517:32:5", + "src": "7495:152:12", "statements": [ { - "expression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1594, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1589, - "src": "12535:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1838, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1833, + "src": "7509:7:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { "hexValue": "30", - "id": 1595, + "id": 1841, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12540:1:5", + "src": "7528:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1840, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7520:7:12", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1839, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7520:7:12", + "typeDescriptions": {} + } + }, + "id": 1842, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7520:10:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "7509:21:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1852, + "nodeType": "IfStatement", + "src": "7505:91:12", + "trueBody": { + "id": 1851, + "nodeType": "Block", + "src": "7532:64:12", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 1847, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7582:1:12", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1846, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7574:7:12", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1845, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7574:7:12", + "typeDescriptions": {} + } + }, + "id": 1848, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7574:10:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1844, + "name": "ERC20InvalidReceiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1393, + "src": "7553:20:12", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$_t_error_$", + "typeString": "function (address) pure returns (error)" + } + }, + "id": 1849, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7553:32:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_error", + "typeString": "error" + } + }, + "id": 1850, + "nodeType": "RevertStatement", + "src": "7546:39:12" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 1856, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7621:1:12", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1855, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7613:7:12", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1854, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7613:7:12", + "typeDescriptions": {} + } }, - "src": "12535:6:5", + "id": 1857, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7613:10:12", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1858, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1833, + "src": "7625:7:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1859, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1835, + "src": "7634:5:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } ], - "id": 1597, + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1853, + "name": "_update", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1830, + "src": "7605:7:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 1860, "isConstant": false, - "isInlineArray": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12534:8:5", + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7605:35:12", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "functionReturnParameters": 1593, - "id": 1598, - "nodeType": "Return", - "src": "12527:15:5" + "id": 1861, + "nodeType": "ExpressionStatement", + "src": "7605:35:12" } ] }, "documentation": { - "id": 1585, + "id": 1831, "nodeType": "StructuredDocumentation", - "src": "12332:75:5", - "text": " @dev Check if the curve is the zero curve in affine rep." + "src": "7102:332:12", + "text": " @dev Creates a `value` amount of tokens and assigns them to `account`, by transferring it from address(0).\n Relies on the `_update` mechanism\n Emits a {Transfer} event with `from` set to the zero address.\n NOTE: This function is not virtual, {_update} should be overridden instead." }, - "id": 1600, + "id": 1863, "implemented": true, "kind": "function", "modifiers": [], - "name": "ecAff_IsZero", - "nameLocation": "12450:12:5", + "name": "_mint", + "nameLocation": "7448:5:12", "nodeType": "FunctionDefinition", "parameters": { - "id": 1590, + "id": 1836, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1587, + "id": 1833, "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", + "name": "account", + "nameLocation": "7462:7:12", "nodeType": "VariableDeclaration", - "scope": 1600, - "src": "12463:7:5", + "scope": 1863, + "src": "7454:15:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 1586, - "name": "uint256", + "id": 1832, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "12463:7:5", + "src": "7454:7:12", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "internal" }, { "constant": false, - "id": 1589, + "id": 1835, "mutability": "mutable", - "name": "y", - "nameLocation": "12480:1:5", + "name": "value", + "nameLocation": "7479:5:12", "nodeType": "VariableDeclaration", - "scope": 1600, - "src": "12472:9:5", + "scope": 1863, + "src": "7471:13:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25679,10 +23075,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1588, + "id": 1834, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "12472:7:5", + "src": "7471:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25691,1031 +23087,423 @@ "visibility": "internal" } ], - "src": "12462:20:5" + "src": "7453:32:12" }, "returnParameters": { - "id": 1593, + "id": 1837, "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1592, - "mutability": "mutable", - "name": "flag", - "nameLocation": "12511:4:5", - "nodeType": "VariableDeclaration", - "scope": 1600, - "src": "12506:9:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1591, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12506:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "12505:11:5" + "parameters": [], + "src": "7495:0:12" }, - "scope": 2298, - "src": "12441:108:5", - "stateMutability": "pure", + "scope": 2023, + "src": "7439:208:12", + "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 1673, + "id": 1895, "nodeType": "Block", - "src": "12760:362:5", + "src": "8021:150:12", "statements": [ { "condition": { "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" }, - "id": 1627, + "id": 1876, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1610, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1603, - "src": "12774:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 1611, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "12779:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12774:6:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1615, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1613, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "12784:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 1614, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "12789:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12784:6:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12774:16:5", + "id": 1871, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1866, + "src": "8035:7:12", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" } }, "nodeType": "BinaryOperation", - "operator": "||", + "operator": "==", "rightExpression": { - "components": [ + "arguments": [ { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1625, + "hexValue": "30", + "id": 1874, "isConstant": false, "isLValue": false, - "isPure": false, + "isPure": true, + "kind": "number", "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1617, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1603, - "src": "12796:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { + "nodeType": "Literal", + "src": "8054:1:12", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1873, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8046:7:12", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1872, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8046:7:12", + "typeDescriptions": {} + } + }, + "id": 1875, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8046:10:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "8035:21:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1885, + "nodeType": "IfStatement", + "src": "8031:89:12", + "trueBody": { + "id": 1884, + "nodeType": "Block", + "src": "8058:62:12", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "arguments": [ + { "hexValue": "30", - "id": 1618, + "id": 1880, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12801:1:5", + "src": "8106:1:12", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" - }, - "src": "12796:6:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" } - } - ], - "id": 1620, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12795:8:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1623, + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1879, "isConstant": false, "isLValue": false, - "isPure": false, + "isPure": true, "lValueRequested": false, - "leftExpression": { - "id": 1621, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "12808:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 1622, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12813:1:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12808:6:5", + "nodeType": "ElementaryTypeNameExpression", + "src": "8098:7:12", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1878, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8098:7:12", + "typeDescriptions": {} } + }, + "id": 1881, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8098:10:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" } ], - "id": 1624, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12807:8:5", + "id": 1877, + "name": "ERC20InvalidSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1388, + "src": "8079:18:12", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_function_error_pure$_t_address_$returns$_t_error_$", + "typeString": "function (address) pure returns (error)" } }, - "src": "12795:20:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 1626, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12794:22:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12774:42:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1631, - "nodeType": "IfStatement", - "src": "12770:85:5", - "trueBody": { - "id": 1630, - "nodeType": "Block", - "src": "12818:37:5", - "statements": [ - { - "expression": { - "hexValue": "66616c7365", - "id": 1628, + "id": 1882, "isConstant": false, "isLValue": false, - "isPure": true, - "kind": "bool", + "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "nodeType": "Literal", - "src": "12839:5:5", + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8079:30:12", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" + "typeIdentifier": "t_error", + "typeString": "error" + } }, - "functionReturnParameters": 1609, - "id": 1629, - "nodeType": "Return", - "src": "12832:12:5" + "id": 1883, + "nodeType": "RevertStatement", + "src": "8072:37:12" } ] } }, { - "id": 1672, - "nodeType": "UncheckedBlock", - "src": "12864:252:5", - "statements": [ - { - "assignments": [ - 1633 - ], - "declarations": [ - { - "constant": false, - "id": 1633, - "mutability": "mutable", - "name": "LHS", - "nameLocation": "12896:3:5", - "nodeType": "VariableDeclaration", - "scope": 1672, - "src": "12888:11:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1632, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12888:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1639, - "initialValue": { - "arguments": [ - { - "id": 1635, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "12909:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1636, - "name": "y", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "12912:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1637, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "12915:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1634, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "12902:6:5", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 1638, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12902:15:5", - "tryCall": false, + "expression": { + "arguments": [ + { + "id": 1887, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1866, + "src": "8137:7:12", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "nodeType": "VariableDeclarationStatement", - "src": "12888:29:5" - }, - { - "assignments": [ - 1641 - ], - "declarations": [ - { - "constant": false, - "id": 1641, - "mutability": "mutable", - "name": "RHS", - "nameLocation": "12946:3:5", - "nodeType": "VariableDeclaration", - "scope": 1672, - "src": "12938:11:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1640, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12938:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1659, - "initialValue": { + { "arguments": [ { - "arguments": [ - { - "arguments": [ - { - "id": 1645, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1603, - "src": "12973:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1646, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1603, - "src": "12976:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1647, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "12979:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1644, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "12966:6:5", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 1648, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12966:15:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1649, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1603, - "src": "12983:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1650, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "12986:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1643, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "12959:6:5", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 1651, + "hexValue": "30", + "id": 1890, "isConstant": false, "isLValue": false, - "isPure": false, - "kind": "functionCall", + "isPure": true, + "kind": "number", "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12959:29:5", - "tryCall": false, + "nodeType": "Literal", + "src": "8154:1:12", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "arguments": [ - { - "id": 1653, - "name": "x", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1603, - "src": "12997:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1654, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 968, - "src": "13000:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1655, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "13003:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1652, - "name": "mulmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -16, - "src": "12990:6:5", - "typeDescriptions": { - "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" }, - "id": 1656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12990:15:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1657, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "13007:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "value": "0" } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" } ], - "id": 1642, - "name": "addmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -2, - "src": "12952:6:5", + "id": 1889, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8146:7:12", "typeDescriptions": { - "typeIdentifier": "t_function_addmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1888, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8146:7:12", + "typeDescriptions": {} } }, - "id": 1658, + "id": 1891, "isConstant": false, "isLValue": false, - "isPure": false, - "kind": "functionCall", + "isPure": true, + "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "12952:57:5", + "src": "8146:10:12", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "nodeType": "VariableDeclarationStatement", - "src": "12938:71:5" - }, - { - "expression": { - "id": 1666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1660, - "name": "RHS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1641, - "src": "13033:3:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 1662, - "name": "RHS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1641, - "src": "13046:3:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1663, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 971, - "src": "13051:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1664, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "13054:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1661, - "name": "addmod", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -2, - "src": "13039:6:5", - "typeDescriptions": { - "typeIdentifier": "t_function_addmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 1665, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13039:17:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13033:23:5", + { + "id": 1892, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1868, + "src": "8158:5:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } - }, - "id": 1667, - "nodeType": "ExpressionStatement", - "src": "13033:23:5" - }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1668, - "name": "LHS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1633, - "src": "13095:3:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 1669, - "name": "RHS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1641, - "src": "13102:3:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + { + "typeIdentifier": "t_address", + "typeString": "address" }, - "src": "13095:10:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - }, - "functionReturnParameters": 1609, - "id": 1671, - "nodeType": "Return", - "src": "13088:17:5" + ], + "id": 1886, + "name": "_update", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1830, + "src": "8129:7:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 1893, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8129:35:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } - ] + }, + "id": 1894, + "nodeType": "ExpressionStatement", + "src": "8129:35:12" } ] }, "documentation": { - "id": 1601, + "id": 1864, "nodeType": "StructuredDocumentation", - "src": "12555:124:5", - "text": " @dev Check if a point in affine coordinates is on the curve (reject Neutral that is indeed on the curve)." + "src": "7653:307:12", + "text": " @dev Destroys a `value` amount of tokens from `account`, lowering the total supply.\n Relies on the `_update` mechanism.\n Emits a {Transfer} event with `to` set to the zero address.\n NOTE: This function is not virtual, {_update} should be overridden instead" }, - "id": 1674, + "id": 1896, "implemented": true, "kind": "function", "modifiers": [], - "name": "ecAff_isOnCurve", - "nameLocation": "12693:15:5", + "name": "_burn", + "nameLocation": "7974:5:12", "nodeType": "FunctionDefinition", "parameters": { - "id": 1606, + "id": 1869, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1603, + "id": 1866, "mutability": "mutable", - "name": "x", - "nameLocation": "12717:1:5", + "name": "account", + "nameLocation": "7988:7:12", "nodeType": "VariableDeclaration", - "scope": 1674, - "src": "12709:9:5", + "scope": 1896, + "src": "7980:15:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 1602, - "name": "uint256", + "id": 1865, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "12709:7:5", + "src": "7980:7:12", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "internal" }, { "constant": false, - "id": 1605, + "id": 1868, "mutability": "mutable", - "name": "y", - "nameLocation": "12728:1:5", + "name": "value", + "nameLocation": "8005:5:12", "nodeType": "VariableDeclaration", - "scope": 1674, - "src": "12720:9:5", + "scope": 1896, + "src": "7997:13:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26723,10 +23511,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1604, + "id": 1867, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "12720:7:5", + "src": "7997:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26735,295 +23523,116 @@ "visibility": "internal" } ], - "src": "12708:22:5" + "src": "7979:32:12" }, "returnParameters": { - "id": 1609, + "id": 1870, "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1608, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1674, - "src": "12754:4:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1607, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12754:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "12753:6:5" + "parameters": [], + "src": "8021:0:12" }, - "scope": 2298, - "src": "12684:438:5", - "stateMutability": "pure", + "scope": 2023, + "src": "7965:206:12", + "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 1761, + "id": 1913, "nodeType": "Block", - "src": "13332:391:5", + "src": "8781:54:12", "statements": [ { - "assignments": [ - 1691 - ], - "declarations": [ - { - "constant": false, - "id": 1691, - "mutability": "mutable", - "name": "zz0", - "nameLocation": "13350:3:5", - "nodeType": "VariableDeclaration", - "scope": 1761, - "src": "13342:11:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1690, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13342:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1692, - "nodeType": "VariableDeclarationStatement", - "src": "13342:11:5" - }, - { - "assignments": [ - 1694 - ], - "declarations": [ - { - "constant": false, - "id": 1694, - "mutability": "mutable", - "name": "zzz0", - "nameLocation": "13371:4:5", - "nodeType": "VariableDeclaration", - "scope": 1761, - "src": "13363:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1693, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13363:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1695, - "nodeType": "VariableDeclarationStatement", - "src": "13363:12:5" - }, - { - "condition": { + "expression": { "arguments": [ { - "id": 1697, - "name": "x0", + "id": 1907, + "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1677, - "src": "13403:2:5", + "referencedDeclaration": 1899, + "src": "8800:5:12", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, { - "id": 1698, - "name": "y0", + "id": 1908, + "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1679, - "src": "13407:2:5", + "referencedDeclaration": 1901, + "src": "8807:7:12", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1696, - "name": "ecAff_IsZero", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1600, - "src": "13390:12:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256) pure returns (bool)" - } - }, - "id": 1699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13390:20:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1704, - "nodeType": "IfStatement", - "src": "13386:41:5", - "trueBody": { - "expression": { - "components": [ - { - "id": 1700, - "name": "x1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1681, - "src": "13420:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1701, - "name": "y1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1683, - "src": "13424:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "typeIdentifier": "t_address", + "typeString": "address" } - ], - "id": 1702, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13419:8:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "functionReturnParameters": 1689, - "id": 1703, - "nodeType": "Return", - "src": "13412:15:5" - } - }, - { - "condition": { - "arguments": [ + }, { - "id": 1706, - "name": "x1", + "id": 1909, + "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1681, - "src": "13454:2:5", + "referencedDeclaration": 1903, + "src": "8816:5:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 1707, - "name": "y1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1683, - "src": "13458:2:5", + "hexValue": "74727565", + "id": 1910, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8823:4:12", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" } ], - "id": 1705, - "name": "ecAff_IsZero", + "id": 1906, + "name": "_approve", "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1600, - "src": "13441:12:5", + "overloadedDeclarations": [ + 1914, + 1974 + ], + "referencedDeclaration": 1974, + "src": "8791:8:12", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256) pure returns (bool)" + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bool_$returns$__$", + "typeString": "function (address,address,uint256,bool)" } }, - "id": 1708, + "id": 1911, "isConstant": false, "isLValue": false, "isPure": false, @@ -27032,809 +23641,839 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "13441:20:5", + "src": "8791:37:12", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "id": 1713, - "nodeType": "IfStatement", - "src": "13437:41:5", - "trueBody": { - "expression": { - "components": [ - { - "id": 1709, - "name": "x0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1677, - "src": "13471:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1710, - "name": "y0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1679, - "src": "13475:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1711, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13470:8:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "functionReturnParameters": 1689, - "id": 1712, - "nodeType": "Return", - "src": "13463:15:5" - } + "id": 1912, + "nodeType": "ExpressionStatement", + "src": "8791:37:12" + } + ] + }, + "documentation": { + "id": 1897, + "nodeType": "StructuredDocumentation", + "src": "8177:525:12", + "text": " @dev Sets `value` as the allowance of `spender` over the `owner`'s tokens.\n This internal function is equivalent to `approve`, and can be used to\n e.g. set automatic allowances for certain subsystems, etc.\n Emits an {Approval} event.\n Requirements:\n - `owner` cannot be the zero address.\n - `spender` cannot be the zero address.\n Overrides to this logic should be done to the variant with an additional `bool emitEvent` argument." + }, + "id": 1914, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_approve", + "nameLocation": "8716:8:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1904, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1899, + "mutability": "mutable", + "name": "owner", + "nameLocation": "8733:5:12", + "nodeType": "VariableDeclaration", + "scope": 1914, + "src": "8725:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1898, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8725:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1901, + "mutability": "mutable", + "name": "spender", + "nameLocation": "8748:7:12", + "nodeType": "VariableDeclaration", + "scope": 1914, + "src": "8740:15:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1900, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8740:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" }, + { + "constant": false, + "id": 1903, + "mutability": "mutable", + "name": "value", + "nameLocation": "8765:5:12", + "nodeType": "VariableDeclaration", + "scope": 1914, + "src": "8757:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1902, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8757:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8724:47:12" + }, + "returnParameters": { + "id": 1905, + "nodeType": "ParameterList", + "parameters": [], + "src": "8781:0:12" + }, + "scope": 2023, + "src": "8707:128:12", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1973, + "nodeType": "Block", + "src": "9780:334:12", + "statements": [ { "condition": { "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" }, - "id": 1722, + "id": 1931, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1716, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1714, - "name": "x0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1677, - "src": "13492:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 1715, - "name": "x1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1681, - "src": "13496:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13492:6:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 1717, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13491:8:5", + "id": 1926, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1917, + "src": "9794:5:12", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" } }, "nodeType": "BinaryOperation", - "operator": "&&", + "operator": "==", "rightExpression": { - "components": [ + "arguments": [ { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1720, + "hexValue": "30", + "id": 1929, "isConstant": false, "isLValue": false, - "isPure": false, + "isPure": true, + "kind": "number", "lValueRequested": false, - "leftExpression": { - "id": 1718, - "name": "y0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1679, - "src": "13502:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 1719, - "name": "y1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1683, - "src": "13506:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13502:6:5", + "nodeType": "Literal", + "src": "9811:1:12", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" } ], - "id": 1721, + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1928, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9803:7:12", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1927, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9803:7:12", + "typeDescriptions": {} + } + }, + "id": 1930, "isConstant": false, - "isInlineArray": false, "isLValue": false, - "isPure": false, + "isPure": true, + "kind": "typeConversion", "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13501:8:5", + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9803:10:12", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "src": "13491:18:5", + "src": "9794:19:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "falseBody": { - "id": 1752, + "id": 1940, + "nodeType": "IfStatement", + "src": "9790:89:12", + "trueBody": { + "id": 1939, "nodeType": "Block", - "src": "13591:78:5", + "src": "9815:64:12", "statements": [ { - "expression": { - "id": 1750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "components": [ - { - "id": 1737, - "name": "x0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1677, - "src": "13606:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1738, - "name": "y0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1679, - "src": "13610:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1739, - "name": "zz0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1691, - "src": "13614:3:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1740, - "name": "zzz0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1694, - "src": "13619:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1741, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "13605:19:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 1743, - "name": "x0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1677, - "src": "13637:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1744, - "name": "y0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1679, - "src": "13641:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "errorCall": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 1935, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9865:1:12", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" } - }, - { - "hexValue": "31", - "id": 1745, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13645:1:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - { - "hexValue": "31", - "id": 1746, + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1934, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "number", "lValueRequested": false, - "nodeType": "Literal", - "src": "13648:1:5", + "nodeType": "ElementaryTypeNameExpression", + "src": "9857:7:12", "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" }, - "value": "1" - }, - { - "id": 1747, - "name": "x1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1681, - "src": "13651:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeName": { + "id": 1933, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9857:7:12", + "typeDescriptions": {} } }, + "id": 1936, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9857:10:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ { - "id": 1748, - "name": "y1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1683, - "src": "13655:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "typeIdentifier": "t_address", + "typeString": "address" } ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1742, - "name": "ecZZ_AddN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1533, - "src": "13627:9:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256,uint256,uint256) pure returns (uint256,uint256,uint256,uint256)" - } - }, - "id": 1749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13627:31:5", - "tryCall": false, + "id": 1932, + "name": "ERC20InvalidApprover", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1407, + "src": "9836:20:12", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,uint256)" + "typeIdentifier": "t_function_error_pure$_t_address_$returns$_t_error_$", + "typeString": "function (address) pure returns (error)" } }, - "src": "13605:53:5", + "id": 1937, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9836:32:12", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_error", + "typeString": "error" } }, - "id": 1751, - "nodeType": "ExpressionStatement", - "src": "13605:53:5" + "id": 1938, + "nodeType": "RevertStatement", + "src": "9829:39:12" } ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1946, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1941, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1919, + "src": "9892:7:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 1944, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9911:1:12", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1943, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9903:7:12", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1942, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9903:7:12", + "typeDescriptions": {} + } + }, + "id": 1945, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9903:10:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "9892:21:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } }, - "id": 1753, + "id": 1955, "nodeType": "IfStatement", - "src": "13488:181:5", + "src": "9888:90:12", "trueBody": { - "id": 1736, + "id": 1954, "nodeType": "Block", - "src": "13511:67:5", + "src": "9915:63:12", "statements": [ { - "expression": { - "id": 1734, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "components": [ - { - "id": 1723, - "name": "x0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1677, - "src": "13526:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1724, - "name": "y0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1679, - "src": "13530:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1725, - "name": "zz0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1691, - "src": "13534:3:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1726, - "name": "zzz0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1694, - "src": "13539:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1727, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "13525:19:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 1729, - "name": "x0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1677, - "src": "13556:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1730, - "name": "y0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1679, - "src": "13560:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "errorCall": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 1950, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9964:1:12", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" } - }, - { - "hexValue": "31", - "id": 1731, + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1949, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "number", "lValueRequested": false, - "nodeType": "Literal", - "src": "13563:1:5", + "nodeType": "ElementaryTypeNameExpression", + "src": "9956:7:12", "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" }, - "value": "1" + "typeName": { + "id": 1948, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9956:7:12", + "typeDescriptions": {} + } }, + "id": 1951, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9956:10:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ { - "hexValue": "31", - "id": 1732, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13565:1:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" + "typeIdentifier": "t_address", + "typeString": "address" } ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "id": 1728, - "name": "ecZZ_Dbl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1489, - "src": "13547:8:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256,uint256,uint256)" - } - }, - "id": 1733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13547:20:5", - "tryCall": false, + "id": 1947, + "name": "ERC20InvalidSpender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1412, + "src": "9936:19:12", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,uint256)" + "typeIdentifier": "t_function_error_pure$_t_address_$returns$_t_error_$", + "typeString": "function (address) pure returns (error)" } }, - "src": "13525:42:5", + "id": 1952, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9936:31:12", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_error", + "typeString": "error" } }, - "id": 1735, - "nodeType": "ExpressionStatement", - "src": "13525:42:5" + "id": 1953, + "nodeType": "RevertStatement", + "src": "9929:38:12" } ] } }, { "expression": { - "arguments": [ - { - "id": 1755, - "name": "x0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1677, - "src": "13698:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1756, - "name": "y0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1679, - "src": "13702:2:5", + "id": 1962, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "id": 1956, + "name": "_allowances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1537, + "src": "9987:11:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 1959, + "indexExpression": { + "id": 1957, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1917, + "src": "9999:5:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9987:18:12", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" } }, - { - "id": 1757, - "name": "zz0", + "id": 1960, + "indexExpression": { + "id": 1958, + "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1691, - "src": "13706:3:5", + "referencedDeclaration": 1919, + "src": "10006:7:12", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, - { - "id": 1758, - "name": "zzz0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1694, - "src": "13711:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9987:27:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1754, - "name": "ecZZ_SetAff", + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1961, + "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1460, - "src": "13686:11:5", + "referencedDeclaration": 1921, + "src": "10017:5:12", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) view returns (uint256,uint256)" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 1759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13686:30:5", - "tryCall": false, + "src": "9987:35:12", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "functionReturnParameters": 1689, - "id": 1760, - "nodeType": "Return", - "src": "13679:37:5" + "id": 1963, + "nodeType": "ExpressionStatement", + "src": "9987:35:12" + }, + { + "condition": { + "id": 1964, + "name": "emitEvent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1923, + "src": "10036:9:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1972, + "nodeType": "IfStatement", + "src": "10032:76:12", + "trueBody": { + "id": 1971, + "nodeType": "Block", + "src": "10047:61:12", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "id": 1966, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1917, + "src": "10075:5:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1967, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1919, + "src": "10082:7:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1968, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1921, + "src": "10091:5:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1965, + "name": "Approval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2044, + "src": "10066:8:12", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 1969, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10066:31:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1970, + "nodeType": "EmitStatement", + "src": "10061:36:12" + } + ] + } } ] }, "documentation": { - "id": 1675, + "id": 1915, "nodeType": "StructuredDocumentation", - "src": "13128:90:5", - "text": " @dev Add two elliptic curve points in affine coordinates. Deal with P=Q" + "src": "8841:836:12", + "text": " @dev Variant of {_approve} with an optional flag to enable or disable the {Approval} event.\n By default (when calling {_approve}) the flag is set to true. On the other hand, approval changes made by\n `_spendAllowance` during the `transferFrom` operation set the flag to false. This saves gas by not emitting any\n `Approval` event during `transferFrom` operations.\n Anyone who wishes to continue emitting `Approval` events on the`transferFrom` operation can force the flag to\n true using the following override:\n ```solidity\n function _approve(address owner, address spender, uint256 value, bool) internal virtual override {\n super._approve(owner, spender, value, true);\n }\n ```\n Requirements are the same as {_approve}." }, - "id": 1762, + "id": 1974, "implemented": true, "kind": "function", "modifiers": [], - "name": "ecAff_add", - "nameLocation": "13233:9:5", + "name": "_approve", + "nameLocation": "9691:8:12", "nodeType": "FunctionDefinition", "parameters": { - "id": 1684, + "id": 1924, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1677, + "id": 1917, "mutability": "mutable", - "name": "x0", - "nameLocation": "13251:2:5", + "name": "owner", + "nameLocation": "9708:5:12", "nodeType": "VariableDeclaration", - "scope": 1762, - "src": "13243:10:5", + "scope": 1974, + "src": "9700:13:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 1676, - "name": "uint256", + "id": 1916, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "13243:7:5", + "src": "9700:7:12", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "internal" }, { "constant": false, - "id": 1679, + "id": 1919, "mutability": "mutable", - "name": "y0", - "nameLocation": "13263:2:5", + "name": "spender", + "nameLocation": "9723:7:12", "nodeType": "VariableDeclaration", - "scope": 1762, - "src": "13255:10:5", + "scope": 1974, + "src": "9715:15:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 1678, - "name": "uint256", + "id": 1918, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "13255:7:5", + "src": "9715:7:12", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "internal" }, { "constant": false, - "id": 1681, + "id": 1921, "mutability": "mutable", - "name": "x1", - "nameLocation": "13275:2:5", + "name": "value", + "nameLocation": "9740:5:12", "nodeType": "VariableDeclaration", - "scope": 1762, - "src": "13267:10:5", + "scope": 1974, + "src": "9732:13:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27842,10 +24481,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1680, + "id": 1920, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13267:7:5", + "src": "9732:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27855,121 +24494,66 @@ }, { "constant": false, - "id": 1683, + "id": 1923, "mutability": "mutable", - "name": "y1", - "nameLocation": "13287:2:5", + "name": "emitEvent", + "nameLocation": "9752:9:12", "nodeType": "VariableDeclaration", - "scope": 1762, - "src": "13279:10:5", + "scope": 1974, + "src": "9747:14:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" }, "typeName": { - "id": 1682, - "name": "uint256", + "id": 1922, + "name": "bool", "nodeType": "ElementaryTypeName", - "src": "13279:7:5", + "src": "9747:4:12", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, "visibility": "internal" } ], - "src": "13242:48:5" + "src": "9699:63:12" }, "returnParameters": { - "id": 1689, + "id": 1925, "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1686, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1762, - "src": "13314:7:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1685, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13314:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1688, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1762, - "src": "13323:7:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1687, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13323:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "13313:18:5" - }, - "scope": 2298, - "src": "13224:499:5", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 1855, - "nodeType": "Block", - "src": "14088:6394:5", - "statements": [ + "parameters": [], + "src": "9780:0:12" + }, + "scope": 2023, + "src": "9682:432:12", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 2021, + "nodeType": "Block", + "src": "10485:387:12", + "statements": [ { "assignments": [ - 1777 + 1985 ], "declarations": [ { "constant": false, - "id": 1777, + "id": 1985, "mutability": "mutable", - "name": "zz", - "nameLocation": "14106:2:5", + "name": "currentAllowance", + "nameLocation": "10503:16:12", "nodeType": "VariableDeclaration", - "scope": 1855, - "src": "14098:10:5", + "scope": 2021, + "src": "10495:24:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27977,10 +24561,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1776, + "id": 1984, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14098:7:5", + "src": "10495:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27989,744 +24573,271 @@ "visibility": "internal" } ], - "id": 1778, - "nodeType": "VariableDeclarationStatement", - "src": "14098:10:5" - }, - { - "assignments": [ - 1780 - ], - "declarations": [ - { - "constant": false, - "id": 1780, - "mutability": "mutable", - "name": "zzz", - "nameLocation": "14126:3:5", - "nodeType": "VariableDeclaration", - "scope": 1855, - "src": "14118:11:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1779, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14118:7:5", + "id": 1990, + "initialValue": { + "arguments": [ + { + "id": 1987, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1977, + "src": "10532:5:12", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "visibility": "internal" - } - ], - "id": 1781, - "nodeType": "VariableDeclarationStatement", - "src": "14118:11:5" - }, - { - "assignments": [ - 1783 - ], - "declarations": [ - { - "constant": false, - "id": 1783, - "mutability": "mutable", - "name": "Y", - "nameLocation": "14147:1:5", - "nodeType": "VariableDeclaration", - "scope": 1855, - "src": "14139:9:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1782, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14139:7:5", + { + "id": 1988, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1979, + "src": "10539:7:12", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } - }, - "visibility": "internal" - } - ], - "id": 1784, - "nodeType": "VariableDeclarationStatement", - "src": "14139:9:5" - }, - { - "assignments": [ - 1786 - ], - "declarations": [ - { - "constant": false, - "id": 1786, - "mutability": "mutable", - "name": "index", - "nameLocation": "14166:5:5", - "nodeType": "VariableDeclaration", - "scope": 1855, - "src": "14158:13:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1785, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14158:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" } - }, - "visibility": "internal" - } - ], - "id": 1788, - "initialValue": { - "hexValue": "323535", - "id": 1787, + ], + "id": 1986, + "name": "allowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1650, + "src": "10522:9:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address) view returns (uint256)" + } + }, + "id": 1989, "isConstant": false, "isLValue": false, - "isPure": true, - "kind": "number", + "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "nodeType": "Literal", - "src": "14174:3:5", + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10522:25:12", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_rational_255_by_1", - "typeString": "int_const 255" - }, - "value": "255" - }, - "nodeType": "VariableDeclarationStatement", - "src": "14158:19:5" - }, - { - "assignments": [ - 1790 - ], - "declarations": [ - { - "constant": false, - "id": 1790, - "mutability": "mutable", - "name": "H0", - "nameLocation": "14195:2:5", - "nodeType": "VariableDeclaration", - "scope": 1855, - "src": "14187:10:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1789, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14187:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - ], - "id": 1791, + }, "nodeType": "VariableDeclarationStatement", - "src": "14187:10:5" + "src": "10495:52:12" }, { - "assignments": [ - 1793 - ], - "declarations": [ - { - "constant": false, - "id": 1793, - "mutability": "mutable", - "name": "H1", - "nameLocation": "14215:2:5", - "nodeType": "VariableDeclaration", - "scope": 1855, - "src": "14207:10:5", - "stateVariable": false, - "storageLocation": "default", + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1997, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1991, + "name": "currentAllowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1985, + "src": "10561:16:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" - }, - "typeName": { - "id": 1792, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14207:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1794, - "nodeType": "VariableDeclarationStatement", - "src": "14207:10:5" - }, - { - "id": 1852, - "nodeType": "UncheckedBlock", - "src": "14228:6213:5", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1801, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1797, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1795, - "name": "scalar_u", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1769, - "src": "14256:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 1796, + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 1994, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "number", "lValueRequested": false, - "nodeType": "Literal", - "src": "14268:1:5", + "nodeType": "ElementaryTypeNameExpression", + "src": "10585:7:12", "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" }, - "value": "0" - }, - "src": "14256:13:5", + "typeName": { + "id": 1993, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10585:7:12", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "id": 1992, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "10580:4:12", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" } }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { + "id": 1995, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10580:13:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 1996, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "10594:3:12", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "10580:17:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10561:36:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2020, + "nodeType": "IfStatement", + "src": "10557:309:12", + "trueBody": { + "id": 2019, + "nodeType": "Block", + "src": "10599:267:12", + "statements": [ + { + "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1800, + "id": 2000, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1798, - "name": "scalar_v", + "id": 1998, + "name": "currentAllowance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1771, - "src": "14273:8:5", + "referencedDeclaration": 1985, + "src": "10617:16:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", - "operator": "==", + "operator": "<", "rightExpression": { - "hexValue": "30", - "id": 1799, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14285:1:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14273:13:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14256:30:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1804, - "nodeType": "IfStatement", - "src": "14252:44:5", - "trueBody": { - "expression": { - "hexValue": "30", - "id": 1802, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14295:1:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 1775, - "id": 1803, - "nodeType": "Return", - "src": "14288:8:5" - } - }, - { - "expression": { - "id": 1814, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "components": [ - { - "id": 1805, - "name": "H0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1790, - "src": "14312:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1806, - "name": "H1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1793, - "src": "14316:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1807, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "14311:8:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 1809, - "name": "gx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 974, - "src": "14332:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1810, - "name": "gy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 977, - "src": "14336:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1811, - "name": "Q0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1765, - "src": "14340:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1812, - "name": "Q1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1767, - "src": "14344:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1808, - "name": "ecAff_add", + "id": 1999, + "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1762, - "src": "14322:9:5", + "referencedDeclaration": 1981, + "src": "10636:5:12", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) view returns (uint256,uint256)" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 1813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14322:25:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "src": "14311:36:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1815, - "nodeType": "ExpressionStatement", - "src": "14311:36:5" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1824, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1818, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1816, - "name": "H0", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1790, - "src": "14366:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 1817, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14370:1:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14366:5:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 1819, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "14365:7:5", + "src": "10617:24:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "components": [ + "id": 2008, + "nodeType": "IfStatement", + "src": "10613:130:12", + "trueBody": { + "id": 2007, + "nodeType": "Block", + "src": "10643:100:12", + "statements": [ { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1822, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1820, - "name": "H1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1793, - "src": "14375:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 1821, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14379:1:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14375:5:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 1823, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "14374:7:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14365:16:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1850, - "nodeType": "IfStatement", - "src": "14362:211:5", - "trueBody": { - "id": 1849, - "nodeType": "Block", - "src": "14410:163:5", - "statements": [ - { - "expression": { - "id": 1833, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1825, - "name": "scalar_u", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1769, - "src": "14428:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { + "errorCall": { "arguments": [ { - "id": 1827, - "name": "scalar_u", + "id": 2002, + "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1769, - "src": "14444:8:5", + "referencedDeclaration": 1979, + "src": "10695:7:12", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1830, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1828, - "name": "n", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 980, - "src": "14454:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 1829, - "name": "scalar_v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1771, - "src": "14456:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14454:10:5", + "id": 2003, + "name": "currentAllowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1985, + "src": "10704:16:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 1831, - "name": "n", + "id": 2004, + "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 980, - "src": "14466:1:5", + "referencedDeclaration": 1981, + "src": "10722:5:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28736,8 +24847,8 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, { "typeIdentifier": "t_uint256", @@ -28748,18 +24859,18 @@ "typeString": "uint256" } ], - "id": 1826, - "name": "addmod", + "id": 2001, + "name": "ERC20InsufficientAllowance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": -2, - "src": "14437:6:5", + "referencedDeclaration": 1402, + "src": "10668:26:12", "typeDescriptions": { - "typeIdentifier": "t_function_addmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + "typeIdentifier": "t_function_error_pure$_t_address_$_t_uint256_$_t_uint256_$returns$_t_error_$", + "typeString": "function (address,uint256,uint256) pure returns (error)" } }, - "id": 1832, + "id": 2005, "isConstant": false, "isLValue": false, "isPure": false, @@ -28768,456 +24879,23320 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "14437:31:5", + "src": "10668:60:12", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_error", + "typeString": "error" } }, - "src": "14428:40:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1834, - "nodeType": "ExpressionStatement", - "src": "14428:40:5" - }, + "id": 2006, + "nodeType": "RevertStatement", + "src": "10661:67:12" + } + ] + } + }, + { + "id": 2018, + "nodeType": "UncheckedBlock", + "src": "10756:100:12", + "statements": [ { "expression": { - "id": 1837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1835, - "name": "scalar_v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1771, - "src": "14486:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "30", - "id": 1836, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14495:1:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14486:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1838, - "nodeType": "ExpressionStatement", - "src": "14486:10:5" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "arguments": [ + { + "id": 2010, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1977, + "src": "10793:5:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } }, - "id": 1841, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1839, - "name": "scalar_u", + { + "id": 2011, + "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1769, - "src": "14518:8:5", + "referencedDeclaration": 1979, + "src": "10800:7:12", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 1840, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2014, "isConstant": false, "isLValue": false, - "isPure": true, - "kind": "number", + "isPure": false, "lValueRequested": false, - "nodeType": "Literal", - "src": "14530:1:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" + "leftExpression": { + "id": 2012, + "name": "currentAllowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1985, + "src": "10809:16:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } }, - "value": "0" - }, - "src": "14518:13:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1842, - "name": "scalar_v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1771, - "src": "14535:8:5", + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 2013, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1981, + "src": "10828:5:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10809:24:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 1843, + { + "hexValue": "66616c7365", + "id": 2015, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "number", + "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "14547:1:5", + "src": "10835:5:12", "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" + "typeIdentifier": "t_bool", + "typeString": "bool" }, - "value": "0" - }, - "src": "14535:13:5", + "value": "false" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2009, + "name": "_approve", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1914, + 1974 + ], + "referencedDeclaration": 1974, + "src": "10784:8:12", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bool_$returns$__$", + "typeString": "function (address,address,uint256,bool)" } }, - "src": "14518:30:5", + "id": 2016, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10784:57:12", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "id": 1848, - "nodeType": "IfStatement", - "src": "14514:44:5", - "trueBody": { - "expression": { - "hexValue": "30", - "id": 1846, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14557:1:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 1775, - "id": 1847, - "nodeType": "Return", - "src": "14550:8:5" - } + "id": 2017, + "nodeType": "ExpressionStatement", + "src": "10784:57:12" } ] } - }, - { - "AST": { - "nativeSrc": "14595:5821:5", - "nodeType": "YulBlock", - "src": "14595:5821:5", - "statements": [ - { - "body": { - "nativeSrc": "14874:2:5", - "nodeType": "YulBlock", - "src": "14874:2:5", - "statements": [] - }, - "condition": { - "arguments": [ - { - "name": "T4", - "nativeSrc": "14706:2:5", - "nodeType": "YulIdentifier", - "src": "14706:2:5" - }, - { - "kind": "number", - "nativeSrc": "14710:1:5", - "nodeType": "YulLiteral", - "src": "14710:1:5", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "eq", - "nativeSrc": "14703:2:5", - "nodeType": "YulIdentifier", - "src": "14703:2:5" - }, - "nativeSrc": "14703:9:5", - "nodeType": "YulFunctionCall", - "src": "14703:9:5" - }, - "nativeSrc": "14613:263:5", - "nodeType": "YulForLoop", - "post": { - "nativeSrc": "14713:160:5", - "nodeType": "YulBlock", - "src": "14713:160:5", - "statements": [ - { - "nativeSrc": "14735:22:5", - "nodeType": "YulAssignment", - "src": "14735:22:5", - "value": { - "arguments": [ - { - "name": "index", - "nativeSrc": "14748:5:5", - "nodeType": "YulIdentifier", - "src": "14748:5:5" - }, - { - "kind": "number", - "nativeSrc": "14755:1:5", - "nodeType": "YulLiteral", - "src": "14755:1:5", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nativeSrc": "14744:3:5", - "nodeType": "YulIdentifier", - "src": "14744:3:5" - }, - "nativeSrc": "14744:13:5", - "nodeType": "YulFunctionCall", - "src": "14744:13:5" - }, - "variableNames": [ - { - "name": "index", - "nativeSrc": "14735:5:5", - "nodeType": "YulIdentifier", - "src": "14735:5:5" - } - ] - }, - { - "nativeSrc": "14778:77:5", - "nodeType": "YulAssignment", - "src": "14778:77:5", - "value": { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nativeSrc": "14792:1:5", - "nodeType": "YulLiteral", - "src": "14792:1:5", - "type": "", - "value": "1" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "index", - "nativeSrc": "14803:5:5", - "nodeType": "YulIdentifier", - "src": "14803:5:5" - }, - { - "name": "scalar_v", - "nativeSrc": "14810:8:5", - "nodeType": "YulIdentifier", - "src": "14810:8:5" - } - ], - "functionName": { - "name": "shr", - "nativeSrc": "14799:3:5", - "nodeType": "YulIdentifier", - "src": "14799:3:5" - }, - "nativeSrc": "14799:20:5", - "nodeType": "YulFunctionCall", - "src": "14799:20:5" - }, - { - "kind": "number", - "nativeSrc": "14821:1:5", - "nodeType": "YulLiteral", - "src": "14821:1:5", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nativeSrc": "14795:3:5", - "nodeType": "YulIdentifier", - "src": "14795:3:5" - }, - "nativeSrc": "14795:28:5", - "nodeType": "YulFunctionCall", - "src": "14795:28:5" - } - ], - "functionName": { - "name": "shl", - "nativeSrc": "14788:3:5", - "nodeType": "YulIdentifier", - "src": "14788:3:5" - }, - "nativeSrc": "14788:36:5", - "nodeType": "YulFunctionCall", - "src": "14788:36:5" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "index", - "nativeSrc": "14834:5:5", - "nodeType": "YulIdentifier", - "src": "14834:5:5" - }, + ] + } + } + ] + }, + "documentation": { + "id": 1975, + "nodeType": "StructuredDocumentation", + "src": "10120:271:12", + "text": " @dev Updates `owner`'s allowance for `spender` based on spent `value`.\n Does not update the allowance value in case of infinite allowance.\n Revert if not enough allowance is available.\n Does not emit an {Approval} event." + }, + "id": 2022, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_spendAllowance", + "nameLocation": "10405:15:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1982, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1977, + "mutability": "mutable", + "name": "owner", + "nameLocation": "10429:5:12", + "nodeType": "VariableDeclaration", + "scope": 2022, + "src": "10421:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1976, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10421:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1979, + "mutability": "mutable", + "name": "spender", + "nameLocation": "10444:7:12", + "nodeType": "VariableDeclaration", + "scope": 2022, + "src": "10436:15:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1978, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10436:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1981, + "mutability": "mutable", + "name": "value", + "nameLocation": "10461:5:12", + "nodeType": "VariableDeclaration", + "scope": 2022, + "src": "10453:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1980, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10453:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10420:47:12" + }, + "returnParameters": { + "id": 1983, + "nodeType": "ParameterList", + "parameters": [], + "src": "10485:0:12" + }, + "scope": 2023, + "src": "10396:476:12", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + } + ], + "scope": 2024, + "src": "1106:9768:12", + "usedErrors": [ + 1383, + 1388, + 1393, + 1402, + 1407, + 1412 + ], + "usedEvents": [ + 2035, + 2044 + ] + } + ], + "src": "105:10770:12" + }, + "id": 12 + }, + "@openzeppelin/contracts/token/ERC20/IERC20.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", + "exportedSymbols": { + "IERC20": [ + 2101 + ] + }, + "id": 2102, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2025, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "106:24:13" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IERC20", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 2026, + "nodeType": "StructuredDocumentation", + "src": "132:71:13", + "text": " @dev Interface of the ERC-20 standard as defined in the ERC." + }, + "fullyImplemented": false, + "id": 2101, + "linearizedBaseContracts": [ + 2101 + ], + "name": "IERC20", + "nameLocation": "214:6:13", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": { + "id": 2027, + "nodeType": "StructuredDocumentation", + "src": "227:158:13", + "text": " @dev Emitted when `value` tokens are moved from one account (`from`) to\n another (`to`).\n Note that `value` may be zero." + }, + "eventSelector": "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "id": 2035, + "name": "Transfer", + "nameLocation": "396:8:13", + "nodeType": "EventDefinition", + "parameters": { + "id": 2034, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2029, + "indexed": true, + "mutability": "mutable", + "name": "from", + "nameLocation": "421:4:13", + "nodeType": "VariableDeclaration", + "scope": 2035, + "src": "405:20:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2028, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "405:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2031, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nameLocation": "443:2:13", + "nodeType": "VariableDeclaration", + "scope": 2035, + "src": "427:18:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2030, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "427:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2033, + "indexed": false, + "mutability": "mutable", + "name": "value", + "nameLocation": "455:5:13", + "nodeType": "VariableDeclaration", + "scope": 2035, + "src": "447:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2032, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "447:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "404:57:13" + }, + "src": "390:72:13" + }, + { + "anonymous": false, + "documentation": { + "id": 2036, + "nodeType": "StructuredDocumentation", + "src": "468:148:13", + "text": " @dev Emitted when the allowance of a `spender` for an `owner` is set by\n a call to {approve}. `value` is the new allowance." + }, + "eventSelector": "8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "id": 2044, + "name": "Approval", + "nameLocation": "627:8:13", + "nodeType": "EventDefinition", + "parameters": { + "id": 2043, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2038, + "indexed": true, + "mutability": "mutable", + "name": "owner", + "nameLocation": "652:5:13", + "nodeType": "VariableDeclaration", + "scope": 2044, + "src": "636:21:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2037, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "636:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2040, + "indexed": true, + "mutability": "mutable", + "name": "spender", + "nameLocation": "675:7:13", + "nodeType": "VariableDeclaration", + "scope": 2044, + "src": "659:23:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2039, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "659:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2042, + "indexed": false, + "mutability": "mutable", + "name": "value", + "nameLocation": "692:5:13", + "nodeType": "VariableDeclaration", + "scope": 2044, + "src": "684:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2041, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "684:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "635:63:13" + }, + "src": "621:78:13" + }, + { + "documentation": { + "id": 2045, + "nodeType": "StructuredDocumentation", + "src": "705:65:13", + "text": " @dev Returns the value of tokens in existence." + }, + "functionSelector": "18160ddd", + "id": 2050, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "totalSupply", + "nameLocation": "784:11:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2046, + "nodeType": "ParameterList", + "parameters": [], + "src": "795:2:13" + }, + "returnParameters": { + "id": 2049, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2048, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2050, + "src": "821:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2047, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "821:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "820:9:13" + }, + "scope": 2101, + "src": "775:55:13", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 2051, + "nodeType": "StructuredDocumentation", + "src": "836:71:13", + "text": " @dev Returns the value of tokens owned by `account`." + }, + "functionSelector": "70a08231", + "id": 2058, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "921:9:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2054, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2053, + "mutability": "mutable", + "name": "account", + "nameLocation": "939:7:13", + "nodeType": "VariableDeclaration", + "scope": 2058, + "src": "931:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2052, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "931:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "930:17:13" + }, + "returnParameters": { + "id": 2057, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2056, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2058, + "src": "971:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2055, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "971:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "970:9:13" + }, + "scope": 2101, + "src": "912:68:13", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 2059, + "nodeType": "StructuredDocumentation", + "src": "986:213:13", + "text": " @dev Moves a `value` amount of tokens from the caller's account to `to`.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event." + }, + "functionSelector": "a9059cbb", + "id": 2068, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "transfer", + "nameLocation": "1213:8:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2064, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2061, + "mutability": "mutable", + "name": "to", + "nameLocation": "1230:2:13", + "nodeType": "VariableDeclaration", + "scope": 2068, + "src": "1222:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2060, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1222:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2063, + "mutability": "mutable", + "name": "value", + "nameLocation": "1242:5:13", + "nodeType": "VariableDeclaration", + "scope": 2068, + "src": "1234:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2062, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1234:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1221:27:13" + }, + "returnParameters": { + "id": 2067, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2066, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2068, + "src": "1267:4:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2065, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1267:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1266:6:13" + }, + "scope": 2101, + "src": "1204:69:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 2069, + "nodeType": "StructuredDocumentation", + "src": "1279:264:13", + "text": " @dev Returns the remaining number of tokens that `spender` will be\n allowed to spend on behalf of `owner` through {transferFrom}. This is\n zero by default.\n This value changes when {approve} or {transferFrom} are called." + }, + "functionSelector": "dd62ed3e", + "id": 2078, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "allowance", + "nameLocation": "1557:9:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2074, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2071, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1575:5:13", + "nodeType": "VariableDeclaration", + "scope": 2078, + "src": "1567:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2070, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1567:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2073, + "mutability": "mutable", + "name": "spender", + "nameLocation": "1590:7:13", + "nodeType": "VariableDeclaration", + "scope": 2078, + "src": "1582:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2072, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1582:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1566:32:13" + }, + "returnParameters": { + "id": 2077, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2076, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2078, + "src": "1622:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2075, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1622:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1621:9:13" + }, + "scope": 2101, + "src": "1548:83:13", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 2079, + "nodeType": "StructuredDocumentation", + "src": "1637:667:13", + "text": " @dev Sets a `value` amount of tokens as the allowance of `spender` over the\n caller's tokens.\n Returns a boolean value indicating whether the operation succeeded.\n IMPORTANT: Beware that changing an allowance with this method brings the risk\n that someone may use both the old and the new allowance by unfortunate\n transaction ordering. One possible solution to mitigate this race\n condition is to first reduce the spender's allowance to 0 and set the\n desired value afterwards:\n https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n Emits an {Approval} event." + }, + "functionSelector": "095ea7b3", + "id": 2088, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "approve", + "nameLocation": "2318:7:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2084, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2081, + "mutability": "mutable", + "name": "spender", + "nameLocation": "2334:7:13", + "nodeType": "VariableDeclaration", + "scope": 2088, + "src": "2326:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2080, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2326:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2083, + "mutability": "mutable", + "name": "value", + "nameLocation": "2351:5:13", + "nodeType": "VariableDeclaration", + "scope": 2088, + "src": "2343:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2082, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2343:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2325:32:13" + }, + "returnParameters": { + "id": 2087, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2086, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2088, + "src": "2376:4:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2085, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2376:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2375:6:13" + }, + "scope": 2101, + "src": "2309:73:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 2089, + "nodeType": "StructuredDocumentation", + "src": "2388:297:13", + "text": " @dev Moves a `value` amount of tokens from `from` to `to` using the\n allowance mechanism. `value` is then deducted from the caller's\n allowance.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event." + }, + "functionSelector": "23b872dd", + "id": 2100, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "transferFrom", + "nameLocation": "2699:12:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2096, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2091, + "mutability": "mutable", + "name": "from", + "nameLocation": "2720:4:13", + "nodeType": "VariableDeclaration", + "scope": 2100, + "src": "2712:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2090, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2712:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2093, + "mutability": "mutable", + "name": "to", + "nameLocation": "2734:2:13", + "nodeType": "VariableDeclaration", + "scope": 2100, + "src": "2726:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2092, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2726:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2095, + "mutability": "mutable", + "name": "value", + "nameLocation": "2746:5:13", + "nodeType": "VariableDeclaration", + "scope": 2100, + "src": "2738:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2094, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2738:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2711:41:13" + }, + "returnParameters": { + "id": 2099, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2098, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2100, + "src": "2771:4:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2097, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2771:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2770:6:13" + }, + "scope": 2101, + "src": "2690:87:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 2102, + "src": "204:2575:13", + "usedErrors": [], + "usedEvents": [ + 2035, + 2044 + ] + } + ], + "src": "106:2674:13" + }, + "id": 13 + }, + "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol", + "exportedSymbols": { + "IERC20": [ + 2101 + ], + "IERC20Metadata": [ + 2127 + ] + }, + "id": 2128, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2103, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "125:24:14" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", + "file": "../IERC20.sol", + "id": 2105, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2128, + "sourceUnit": 2102, + "src": "151:37:14", + "symbolAliases": [ + { + "foreign": { + "id": 2104, + "name": "IERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2101, + "src": "159:6:14", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 2107, + "name": "IERC20", + "nameLocations": [ + "306:6:14" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2101, + "src": "306:6:14" + }, + "id": 2108, + "nodeType": "InheritanceSpecifier", + "src": "306:6:14" + } + ], + "canonicalName": "IERC20Metadata", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 2106, + "nodeType": "StructuredDocumentation", + "src": "190:87:14", + "text": " @dev Interface for the optional metadata functions from the ERC-20 standard." + }, + "fullyImplemented": false, + "id": 2127, + "linearizedBaseContracts": [ + 2127, + 2101 + ], + "name": "IERC20Metadata", + "nameLocation": "288:14:14", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 2109, + "nodeType": "StructuredDocumentation", + "src": "319:54:14", + "text": " @dev Returns the name of the token." + }, + "functionSelector": "06fdde03", + "id": 2114, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "name", + "nameLocation": "387:4:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2110, + "nodeType": "ParameterList", + "parameters": [], + "src": "391:2:14" + }, + "returnParameters": { + "id": 2113, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2112, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2114, + "src": "417:13:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2111, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "417:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "416:15:14" + }, + "scope": 2127, + "src": "378:54:14", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 2115, + "nodeType": "StructuredDocumentation", + "src": "438:56:14", + "text": " @dev Returns the symbol of the token." + }, + "functionSelector": "95d89b41", + "id": 2120, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "symbol", + "nameLocation": "508:6:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2116, + "nodeType": "ParameterList", + "parameters": [], + "src": "514:2:14" + }, + "returnParameters": { + "id": 2119, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2118, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2120, + "src": "540:13:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2117, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "540:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "539:15:14" + }, + "scope": 2127, + "src": "499:56:14", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 2121, + "nodeType": "StructuredDocumentation", + "src": "561:65:14", + "text": " @dev Returns the decimals places of the token." + }, + "functionSelector": "313ce567", + "id": 2126, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "decimals", + "nameLocation": "640:8:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2122, + "nodeType": "ParameterList", + "parameters": [], + "src": "648:2:14" + }, + "returnParameters": { + "id": 2125, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2124, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2126, + "src": "674:5:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 2123, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "674:5:14", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "src": "673:7:14" + }, + "scope": 2127, + "src": "631:50:14", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 2128, + "src": "278:405:14", + "usedErrors": [], + "usedEvents": [ + 2035, + 2044 + ] + } + ], + "src": "125:559:14" + }, + "id": 14 + }, + "@openzeppelin/contracts/utils/Context.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/Context.sol", + "exportedSymbols": { + "Context": [ + 2157 + ] + }, + "id": 2158, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2129, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "101:24:15" + }, + { + "abstract": true, + "baseContracts": [], + "canonicalName": "Context", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 2130, + "nodeType": "StructuredDocumentation", + "src": "127:496:15", + "text": " @dev Provides information about the current execution context, including the\n sender of the transaction and its data. While these are generally available\n via msg.sender and msg.data, they should not be accessed in such a direct\n manner, since when dealing with meta-transactions the account sending and\n paying for execution may not be the actual sender (as far as an application\n is concerned).\n This contract is only required for intermediate, library-like contracts." + }, + "fullyImplemented": true, + "id": 2157, + "linearizedBaseContracts": [ + 2157 + ], + "name": "Context", + "nameLocation": "642:7:15", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 2138, + "nodeType": "Block", + "src": "718:34:15", + "statements": [ + { + "expression": { + "expression": { + "id": 2135, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "735:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2136, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "739:6:15", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "735:10:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 2134, + "id": 2137, + "nodeType": "Return", + "src": "728:17:15" + } + ] + }, + "id": 2139, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_msgSender", + "nameLocation": "665:10:15", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2131, + "nodeType": "ParameterList", + "parameters": [], + "src": "675:2:15" + }, + "returnParameters": { + "id": 2134, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2133, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2139, + "src": "709:7:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2132, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "709:7:15", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "708:9:15" + }, + "scope": 2157, + "src": "656:96:15", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 2147, + "nodeType": "Block", + "src": "825:32:15", + "statements": [ + { + "expression": { + "expression": { + "id": 2144, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "842:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "846:4:15", + "memberName": "data", + "nodeType": "MemberAccess", + "src": "842:8:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "functionReturnParameters": 2143, + "id": 2146, + "nodeType": "Return", + "src": "835:15:15" + } + ] + }, + "id": 2148, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_msgData", + "nameLocation": "767:8:15", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2140, + "nodeType": "ParameterList", + "parameters": [], + "src": "775:2:15" + }, + "returnParameters": { + "id": 2143, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2142, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2148, + "src": "809:14:15", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2141, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "809:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "808:16:15" + }, + "scope": 2157, + "src": "758:99:15", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 2155, + "nodeType": "Block", + "src": "935:25:15", + "statements": [ + { + "expression": { + "hexValue": "30", + "id": 2153, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "952:1:15", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 2152, + "id": 2154, + "nodeType": "Return", + "src": "945:8:15" + } + ] + }, + "id": 2156, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_contextSuffixLength", + "nameLocation": "872:20:15", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2149, + "nodeType": "ParameterList", + "parameters": [], + "src": "892:2:15" + }, + "returnParameters": { + "id": 2152, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2151, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2156, + "src": "926:7:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2150, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "926:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "925:9:15" + }, + "scope": 2157, + "src": "863:97:15", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + } + ], + "scope": 2158, + "src": "624:338:15", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "101:862:15" + }, + "id": 15 + }, + "@openzeppelin/contracts/utils/introspection/IERC165.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol", + "exportedSymbols": { + "IERC165": [ + 2169 + ] + }, + "id": 2170, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2159, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "115:24:16" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IERC165", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 2160, + "nodeType": "StructuredDocumentation", + "src": "141:280:16", + "text": " @dev Interface of the ERC-165 standard, as defined in the\n https://eips.ethereum.org/EIPS/eip-165[ERC].\n Implementers can declare support of contract interfaces, which can then be\n queried by others ({ERC165Checker}).\n For an implementation, see {ERC165}." + }, + "fullyImplemented": false, + "id": 2169, + "linearizedBaseContracts": [ + 2169 + ], + "name": "IERC165", + "nameLocation": "432:7:16", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 2161, + "nodeType": "StructuredDocumentation", + "src": "446:340:16", + "text": " @dev Returns true if this contract implements the interface defined by\n `interfaceId`. See the corresponding\n https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section]\n to learn more about how these ids are created.\n This function call must use less than 30 000 gas." + }, + "functionSelector": "01ffc9a7", + "id": 2168, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "800:17:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2164, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2163, + "mutability": "mutable", + "name": "interfaceId", + "nameLocation": "825:11:16", + "nodeType": "VariableDeclaration", + "scope": 2168, + "src": "818:18:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 2162, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "818:6:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "817:20:16" + }, + "returnParameters": { + "id": 2167, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2166, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2168, + "src": "861:4:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2165, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "861:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "860:6:16" + }, + "scope": 2169, + "src": "791:76:16", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 2170, + "src": "422:447:16", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "115:755:16" + }, + "id": 16 + }, + "FreshCryptoLib/FCL_ecdsa.sol": { + "ast": { + "absolutePath": "FreshCryptoLib/FCL_ecdsa.sol", + "exportedSymbols": { + "FCL_Elliptic_ZZ": [ + 3904 + ], + "FCL_ecdsa": [ + 2563 + ] + }, + "id": 2564, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2171, + "literals": [ + "solidity", + ">=", + "0.8", + ".19", + "<", + "0.9", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "1127:32:17" + }, + { + "absolutePath": "FreshCryptoLib/FCL_elliptic.sol", + "file": "./FCL_elliptic.sol", + "id": 2173, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2564, + "sourceUnit": 3905, + "src": "1162:51:17", + "symbolAliases": [ + { + "foreign": { + "id": 2172, + "name": "FCL_Elliptic_ZZ", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3904, + "src": "1170:15:17", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "FCL_ecdsa", + "contractDependencies": [], + "contractKind": "library", + "fullyImplemented": true, + "id": 2563, + "linearizedBaseContracts": [ + 2563 + ], + "name": "FCL_ecdsa", + "nameLocation": "1225:9:17", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 2177, + "mutability": "constant", + "name": "n", + "nameLocation": "1345:1:17", + "nodeType": "VariableDeclaration", + "scope": 2563, + "src": "1328:38:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2174, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1328:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "expression": { + "id": 2175, + "name": "FCL_Elliptic_ZZ", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3904, + "src": "1349:15:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$3904_$", + "typeString": "type(library FCL_Elliptic_ZZ)" + } + }, + "id": 2176, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1365:1:17", + "memberName": "n", + "nodeType": "MemberAccess", + "referencedDeclaration": 2586, + "src": "1349:17:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "body": { + "id": 2279, + "nodeType": "Block", + "src": "1676:589:17", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2204, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2200, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2193, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2182, + "src": "1691:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 2194, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1696:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1691:6:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2196, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2182, + "src": "1701:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "expression": { + "id": 2197, + "name": "FCL_Elliptic_ZZ", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3904, + "src": "1706:15:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$3904_$", + "typeString": "type(library FCL_Elliptic_ZZ)" + } + }, + "id": 2198, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1722:1:17", + "memberName": "n", + "nodeType": "MemberAccess", + "referencedDeclaration": 2586, + "src": "1706:17:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1701:22:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1691:32:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2203, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2201, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2184, + "src": "1727:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 2202, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1732:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1727:6:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1691:42:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2208, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2205, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2184, + "src": "1737:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "expression": { + "id": 2206, + "name": "FCL_Elliptic_ZZ", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3904, + "src": "1742:15:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$3904_$", + "typeString": "type(library FCL_Elliptic_ZZ)" + } + }, + "id": 2207, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1758:1:17", + "memberName": "n", + "nodeType": "MemberAccess", + "referencedDeclaration": 2586, + "src": "1742:17:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1737:22:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1691:68:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2213, + "nodeType": "IfStatement", + "src": "1687:111:17", + "trueBody": { + "id": 2212, + "nodeType": "Block", + "src": "1761:37:17", + "statements": [ + { + "expression": { + "hexValue": "66616c7365", + "id": 2210, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1782:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 2192, + "id": 2211, + "nodeType": "Return", + "src": "1775:12:17" + } + ] + } + }, + { + "condition": { + "id": 2219, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1820:40:17", + "subExpression": { + "arguments": [ + { + "id": 2216, + "name": "Qx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2186, + "src": "1853:2:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2217, + "name": "Qy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2188, + "src": "1857:2:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 2214, + "name": "FCL_Elliptic_ZZ", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3904, + "src": "1821:15:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$3904_$", + "typeString": "type(library FCL_Elliptic_ZZ)" + } + }, + "id": 2215, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1837:15:17", + "memberName": "ecAff_isOnCurve", + "nodeType": "MemberAccess", + "referencedDeclaration": 3280, + "src": "1821:31:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) pure returns (bool)" + } + }, + "id": 2218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1821:39:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2223, + "nodeType": "IfStatement", + "src": "1816:83:17", + "trueBody": { + "id": 2222, + "nodeType": "Block", + "src": "1862:37:17", + "statements": [ + { + "expression": { + "hexValue": "66616c7365", + "id": 2220, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1883:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 2192, + "id": 2221, + "nodeType": "Return", + "src": "1876:12:17" + } + ] + } + }, + { + "assignments": [ + 2225 + ], + "declarations": [ + { + "constant": false, + "id": 2225, + "mutability": "mutable", + "name": "sInv", + "nameLocation": "1917:4:17", + "nodeType": "VariableDeclaration", + "scope": 2279, + "src": "1909:12:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2224, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1909:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2230, + "initialValue": { + "arguments": [ + { + "id": 2228, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2184, + "src": "1952:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 2226, + "name": "FCL_Elliptic_ZZ", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3904, + "src": "1924:15:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$3904_$", + "typeString": "type(library FCL_Elliptic_ZZ)" + } + }, + "id": 2227, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1940:11:17", + "memberName": "FCL_nModInv", + "nodeType": "MemberAccess", + "referencedDeclaration": 2614, + "src": "1924:27:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view returns (uint256)" + } + }, + "id": 2229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1924:30:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1909:45:17" + }, + { + "assignments": [ + 2232 + ], + "declarations": [ + { + "constant": false, + "id": 2232, + "mutability": "mutable", + "name": "scalar_u", + "nameLocation": "1973:8:17", + "nodeType": "VariableDeclaration", + "scope": 2279, + "src": "1965:16:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2231, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1965:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2242, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "id": 2236, + "name": "message", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2180, + "src": "1999:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2235, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1991:7:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 2234, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1991:7:17", + "typeDescriptions": {} + } + }, + "id": 2237, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1991:16:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2238, + "name": "sInv", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2225, + "src": "2009:4:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 2239, + "name": "FCL_Elliptic_ZZ", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3904, + "src": "2015:15:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$3904_$", + "typeString": "type(library FCL_Elliptic_ZZ)" + } + }, + "id": 2240, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2031:1:17", + "memberName": "n", + "nodeType": "MemberAccess", + "referencedDeclaration": 2586, + "src": "2015:17:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2233, + "name": "mulmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -16, + "src": "1984:6:17", + "typeDescriptions": { + "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 2241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1984:49:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1965:68:17" + }, + { + "assignments": [ + 2244 + ], + "declarations": [ + { + "constant": false, + "id": 2244, + "mutability": "mutable", + "name": "scalar_v", + "nameLocation": "2051:8:17", + "nodeType": "VariableDeclaration", + "scope": 2279, + "src": "2043:16:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2243, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2043:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2251, + "initialValue": { + "arguments": [ + { + "id": 2246, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2182, + "src": "2069:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2247, + "name": "sInv", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2225, + "src": "2072:4:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 2248, + "name": "FCL_Elliptic_ZZ", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3904, + "src": "2078:15:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$3904_$", + "typeString": "type(library FCL_Elliptic_ZZ)" + } + }, + "id": 2249, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2094:1:17", + "memberName": "n", + "nodeType": "MemberAccess", + "referencedDeclaration": 2586, + "src": "2078:17:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2245, + "name": "mulmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -16, + "src": "2062:6:17", + "typeDescriptions": { + "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 2250, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2062:34:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2043:53:17" + }, + { + "assignments": [ + 2253 + ], + "declarations": [ + { + "constant": false, + "id": 2253, + "mutability": "mutable", + "name": "x1", + "nameLocation": "2114:2:17", + "nodeType": "VariableDeclaration", + "scope": 2279, + "src": "2106:10:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2252, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2106:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2254, + "nodeType": "VariableDeclarationStatement", + "src": "2106:10:17" + }, + { + "expression": { + "id": 2263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2255, + "name": "x1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2253, + "src": "2127:2:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 2258, + "name": "Qx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2186, + "src": "2169:2:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2259, + "name": "Qy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2188, + "src": "2173:2:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2260, + "name": "scalar_u", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2232, + "src": "2177:8:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2261, + "name": "scalar_v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2244, + "src": "2187:8:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 2256, + "name": "FCL_Elliptic_ZZ", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3904, + "src": "2132:15:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$3904_$", + "typeString": "type(library FCL_Elliptic_ZZ)" + } + }, + "id": 2257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2148:20:17", + "memberName": "ecZZ_mulmuladd_S_asm", + "nodeType": "MemberAccess", + "referencedDeclaration": 3462, + "src": "2132:36:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256,uint256) view returns (uint256)" + } + }, + "id": 2262, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2132:64:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2127:69:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2264, + "nodeType": "ExpressionStatement", + "src": "2127:69:17" + }, + { + "expression": { + "id": 2273, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2265, + "name": "x1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2253, + "src": "2207:2:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 2267, + "name": "x1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2253, + "src": "2218:2:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2270, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2268, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2177, + "src": "2222:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 2269, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2182, + "src": "2224:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2222:3:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2271, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2177, + "src": "2226:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2266, + "name": "addmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -2, + "src": "2211:6:17", + "typeDescriptions": { + "typeIdentifier": "t_function_addmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 2272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2211:18:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2207:22:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2274, + "nodeType": "ExpressionStatement", + "src": "2207:22:17" + }, + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2277, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2275, + "name": "x1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2253, + "src": "2251:2:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 2276, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2257:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2251:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2192, + "id": 2278, + "nodeType": "Return", + "src": "2244:14:17" + } + ] + }, + "documentation": { + "id": 2178, + "nodeType": "StructuredDocumentation", + "src": "1459:98:17", + "text": " @dev ECDSA verification, given , signature, and public key, no calldata version" + }, + "id": 2280, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ecdsa_verify", + "nameLocation": "1571:12:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2189, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2180, + "mutability": "mutable", + "name": "message", + "nameLocation": "1592:7:17", + "nodeType": "VariableDeclaration", + "scope": 2280, + "src": "1584:15:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2179, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1584:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2182, + "mutability": "mutable", + "name": "r", + "nameLocation": "1609:1:17", + "nodeType": "VariableDeclaration", + "scope": 2280, + "src": "1601:9:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2181, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1601:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2184, + "mutability": "mutable", + "name": "s", + "nameLocation": "1620:1:17", + "nodeType": "VariableDeclaration", + "scope": 2280, + "src": "1612:9:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2183, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1612:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2186, + "mutability": "mutable", + "name": "Qx", + "nameLocation": "1631:2:17", + "nodeType": "VariableDeclaration", + "scope": 2280, + "src": "1623:10:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2185, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1623:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2188, + "mutability": "mutable", + "name": "Qy", + "nameLocation": "1643:2:17", + "nodeType": "VariableDeclaration", + "scope": 2280, + "src": "1635:10:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2187, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1635:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1583:63:17" + }, + "returnParameters": { + "id": 2192, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2191, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2280, + "src": "1671:4:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2190, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1671:4:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1670:6:17" + }, + "scope": 2563, + "src": "1562:703:17", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2395, + "nodeType": "Block", + "src": "2374:595:17", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2309, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2304, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2300, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2293, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2286, + "src": "2389:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 2294, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2394:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2389:6:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2299, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2296, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2286, + "src": "2399:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "expression": { + "id": 2297, + "name": "FCL_Elliptic_ZZ", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3904, + "src": "2404:15:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$3904_$", + "typeString": "type(library FCL_Elliptic_ZZ)" + } + }, + "id": 2298, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2420:1:17", + "memberName": "n", + "nodeType": "MemberAccess", + "referencedDeclaration": 2586, + "src": "2404:17:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2399:22:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2389:32:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2303, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2301, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2288, + "src": "2425:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 2302, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2430:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2425:6:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2389:42:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2308, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2305, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2288, + "src": "2435:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "expression": { + "id": 2306, + "name": "FCL_Elliptic_ZZ", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3904, + "src": "2440:15:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$3904_$", + "typeString": "type(library FCL_Elliptic_ZZ)" + } + }, + "id": 2307, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2456:1:17", + "memberName": "n", + "nodeType": "MemberAccess", + "referencedDeclaration": 2586, + "src": "2440:17:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2435:22:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2389:68:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2316, + "nodeType": "IfStatement", + "src": "2385:116:17", + "trueBody": { + "id": 2315, + "nodeType": "Block", + "src": "2459:42:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "hexValue": "30", + "id": 2312, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2488:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 2311, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2480:7:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2310, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2480:7:17", + "typeDescriptions": {} + } + }, + "id": 2313, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2480:10:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 2292, + "id": 2314, + "nodeType": "Return", + "src": "2473:17:17" + } + ] + } + }, + { + "assignments": [ + 2318 + ], + "declarations": [ + { + "constant": false, + "id": 2318, + "mutability": "mutable", + "name": "y", + "nameLocation": "2518:1:17", + "nodeType": "VariableDeclaration", + "scope": 2395, + "src": "2510:9:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2317, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2510:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2326, + "initialValue": { + "arguments": [ + { + "id": 2321, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2286, + "src": "2550:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2324, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2322, + "name": "v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2284, + "src": "2553:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "3237", + "id": 2323, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2555:2:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_27_by_1", + "typeString": "int_const 27" + }, + "value": "27" + }, + "src": "2553:4:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 2319, + "name": "FCL_Elliptic_ZZ", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3904, + "src": "2520:15:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$3904_$", + "typeString": "type(library FCL_Elliptic_ZZ)" + } + }, + "id": 2320, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2536:13:17", + "memberName": "ec_Decompress", + "nodeType": "MemberAccess", + "referencedDeclaration": 3011, + "src": "2520:29:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) view returns (uint256)" + } + }, + "id": 2325, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2520:38:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2510:48:17" + }, + { + "assignments": [ + 2328 + ], + "declarations": [ + { + "constant": false, + "id": 2328, + "mutability": "mutable", + "name": "rinv", + "nameLocation": "2576:4:17", + "nodeType": "VariableDeclaration", + "scope": 2395, + "src": "2568:12:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2327, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2568:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2333, + "initialValue": { + "arguments": [ + { + "id": 2331, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2286, + "src": "2609:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 2329, + "name": "FCL_Elliptic_ZZ", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3904, + "src": "2581:15:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$3904_$", + "typeString": "type(library FCL_Elliptic_ZZ)" + } + }, + "id": 2330, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2597:11:17", + "memberName": "FCL_nModInv", + "nodeType": "MemberAccess", + "referencedDeclaration": 2614, + "src": "2581:27:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view returns (uint256)" + } + }, + "id": 2332, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2581:30:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2568:43:17" + }, + { + "assignments": [ + 2335 + ], + "declarations": [ + { + "constant": false, + "id": 2335, + "mutability": "mutable", + "name": "u1", + "nameLocation": "2629:2:17", + "nodeType": "VariableDeclaration", + "scope": 2395, + "src": "2621:10:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2334, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2621:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2350, + "initialValue": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2345, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 2337, + "name": "FCL_Elliptic_ZZ", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3904, + "src": "2639:15:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$3904_$", + "typeString": "type(library FCL_Elliptic_ZZ)" + } + }, + "id": 2338, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2655:1:17", + "memberName": "n", + "nodeType": "MemberAccess", + "referencedDeclaration": 2586, + "src": "2639:17:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 2340, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2664:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "id": 2341, + "name": "h", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2282, + "src": "2666:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 2342, + "name": "FCL_Elliptic_ZZ", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3904, + "src": "2668:15:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$3904_$", + "typeString": "type(library FCL_Elliptic_ZZ)" + } + }, + "id": 2343, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2684:1:17", + "memberName": "n", + "nodeType": "MemberAccess", + "referencedDeclaration": 2586, + "src": "2668:17:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2339, + "name": "addmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -2, + "src": "2657:6:17", + "typeDescriptions": { + "typeIdentifier": "t_function_addmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 2344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2657:29:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2639:47:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2346, + "name": "rinv", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2328, + "src": "2688:4:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 2347, + "name": "FCL_Elliptic_ZZ", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3904, + "src": "2693:15:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$3904_$", + "typeString": "type(library FCL_Elliptic_ZZ)" + } + }, + "id": 2348, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2709:1:17", + "memberName": "n", + "nodeType": "MemberAccess", + "referencedDeclaration": 2586, + "src": "2693:17:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2336, + "name": "mulmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -16, + "src": "2632:6:17", + "typeDescriptions": { + "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 2349, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2632:79:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2621:90:17" + }, + { + "assignments": [ + 2352 + ], + "declarations": [ + { + "constant": false, + "id": 2352, + "mutability": "mutable", + "name": "u2", + "nameLocation": "2737:2:17", + "nodeType": "VariableDeclaration", + "scope": 2395, + "src": "2729:10:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2351, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2729:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2359, + "initialValue": { + "arguments": [ + { + "id": 2354, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2288, + "src": "2747:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2355, + "name": "rinv", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2328, + "src": "2750:4:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 2356, + "name": "FCL_Elliptic_ZZ", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3904, + "src": "2755:15:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$3904_$", + "typeString": "type(library FCL_Elliptic_ZZ)" + } + }, + "id": 2357, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2771:1:17", + "memberName": "n", + "nodeType": "MemberAccess", + "referencedDeclaration": 2586, + "src": "2755:17:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2353, + "name": "mulmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -16, + "src": "2740:6:17", + "typeDescriptions": { + "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 2358, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2740:33:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2729:44:17" + }, + { + "assignments": [ + 2361 + ], + "declarations": [ + { + "constant": false, + "id": 2361, + "mutability": "mutable", + "name": "Qx", + "nameLocation": "2799:2:17", + "nodeType": "VariableDeclaration", + "scope": 2395, + "src": "2791:10:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2360, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2791:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2362, + "nodeType": "VariableDeclarationStatement", + "src": "2791:10:17" + }, + { + "assignments": [ + 2364 + ], + "declarations": [ + { + "constant": false, + "id": 2364, + "mutability": "mutable", + "name": "Qy", + "nameLocation": "2819:2:17", + "nodeType": "VariableDeclaration", + "scope": 2395, + "src": "2811:10:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2363, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2811:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2365, + "nodeType": "VariableDeclarationStatement", + "src": "2811:10:17" + }, + { + "expression": { + "id": 2376, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "components": [ + { + "id": 2366, + "name": "Qx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2361, + "src": "2832:2:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2367, + "name": "Qy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2364, + "src": "2835:2:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 2368, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "2831:7:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 2371, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2286, + "src": "2870:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2372, + "name": "y", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2318, + "src": "2872:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2373, + "name": "u1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2335, + "src": "2875:2:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2374, + "name": "u2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2352, + "src": "2879:2:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 2369, + "name": "FCL_Elliptic_ZZ", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3904, + "src": "2839:15:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$3904_$", + "typeString": "type(library FCL_Elliptic_ZZ)" + } + }, + "id": 2370, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2855:14:17", + "memberName": "ecZZ_mulmuladd", + "nodeType": "MemberAccess", + "referencedDeclaration": 3536, + "src": "2839:30:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256,uint256) view returns (uint256,uint256)" + } + }, + "id": 2375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2839:43:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "2831:51:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2377, + "nodeType": "ExpressionStatement", + "src": "2831:51:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "id": 2387, + "name": "Qx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2361, + "src": "2951:2:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2388, + "name": "Qy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2364, + "src": "2955:2:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 2385, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2934:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 2386, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2938:12:17", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "2934:16:17", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 2389, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2934:24:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2384, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "2924:9:17", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 2390, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2924:35:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2383, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2916:7:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 2382, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2916:7:17", + "typeDescriptions": {} + } + }, + "id": 2391, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2916:44:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2381, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2908:7:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 2380, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "2908:7:17", + "typeDescriptions": {} + } + }, + "id": 2392, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2908:53:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 2379, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2900:7:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2378, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2900:7:17", + "typeDescriptions": {} + } + }, + "id": 2393, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2900:62:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 2292, + "id": 2394, + "nodeType": "Return", + "src": "2893:69:17" + } + ] + }, + "id": 2396, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ec_recover_r1", + "nameLocation": "2280:13:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2289, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2282, + "mutability": "mutable", + "name": "h", + "nameLocation": "2302:1:17", + "nodeType": "VariableDeclaration", + "scope": 2396, + "src": "2294:9:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2281, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2294:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2284, + "mutability": "mutable", + "name": "v", + "nameLocation": "2313:1:17", + "nodeType": "VariableDeclaration", + "scope": 2396, + "src": "2305:9:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2283, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2305:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2286, + "mutability": "mutable", + "name": "r", + "nameLocation": "2324:1:17", + "nodeType": "VariableDeclaration", + "scope": 2396, + "src": "2316:9:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2285, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2316:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2288, + "mutability": "mutable", + "name": "s", + "nameLocation": "2335:1:17", + "nodeType": "VariableDeclaration", + "scope": 2396, + "src": "2327:9:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2287, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2327:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2293:44:17" + }, + "returnParameters": { + "id": 2292, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2291, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2396, + "src": "2361:7:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2290, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2361:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2360:9:17" + }, + "scope": 2563, + "src": "2271:698:17", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2472, + "nodeType": "Block", + "src": "3114:541:17", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2423, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2419, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2415, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2409, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2400, + "src": "3136:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 2410, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3141:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3136:6:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2414, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2412, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2400, + "src": "3146:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 2413, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2177, + "src": "3151:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3146:6:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3136:16:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2416, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2402, + "src": "3156:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 2417, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3161:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3156:6:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3136:26:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2422, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2420, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2402, + "src": "3166:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 2421, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2177, + "src": "3171:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3166:6:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3136:36:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2427, + "nodeType": "IfStatement", + "src": "3132:79:17", + "trueBody": { + "id": 2426, + "nodeType": "Block", + "src": "3174:37:17", + "statements": [ + { + "expression": { + "hexValue": "66616c7365", + "id": 2424, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3195:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 2408, + "id": 2425, + "nodeType": "Return", + "src": "3188:12:17" + } + ] + } + }, + { + "assignments": [ + 2429 + ], + "declarations": [ + { + "constant": false, + "id": 2429, + "mutability": "mutable", + "name": "sInv", + "nameLocation": "3386:4:17", + "nodeType": "VariableDeclaration", + "scope": 2472, + "src": "3378:12:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2428, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3378:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2434, + "initialValue": { + "arguments": [ + { + "id": 2432, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2402, + "src": "3421:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 2430, + "name": "FCL_Elliptic_ZZ", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3904, + "src": "3393:15:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$3904_$", + "typeString": "type(library FCL_Elliptic_ZZ)" + } + }, + "id": 2431, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3409:11:17", + "memberName": "FCL_nModInv", + "nodeType": "MemberAccess", + "referencedDeclaration": 2614, + "src": "3393:27:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view returns (uint256)" + } + }, + "id": 2433, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3393:30:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3378:45:17" + }, + { + "assignments": [ + 2436 + ], + "declarations": [ + { + "constant": false, + "id": 2436, + "mutability": "mutable", + "name": "X", + "nameLocation": "3442:1:17", + "nodeType": "VariableDeclaration", + "scope": 2472, + "src": "3434:9:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2435, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3434:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2437, + "nodeType": "VariableDeclarationStatement", + "src": "3434:9:17" + }, + { + "expression": { + "id": 2456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2438, + "name": "X", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2436, + "src": "3484:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "id": 2444, + "name": "message", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2398, + "src": "3545:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2443, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3537:7:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 2442, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3537:7:17", + "typeDescriptions": {} + } + }, + "id": 2445, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3537:16:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2446, + "name": "sInv", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2429, + "src": "3555:4:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2447, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2177, + "src": "3561:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2441, + "name": "mulmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -16, + "src": "3530:6:17", + "typeDescriptions": { + "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 2448, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3530:33:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "id": 2450, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2400, + "src": "3572:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2451, + "name": "sInv", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2429, + "src": "3575:4:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2452, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2177, + "src": "3581:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2449, + "name": "mulmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -16, + "src": "3565:6:17", + "typeDescriptions": { + "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 2453, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3565:18:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2454, + "name": "Shamir8", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2404, + "src": "3585:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 2439, + "name": "FCL_Elliptic_ZZ", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3904, + "src": "3488:15:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$3904_$", + "typeString": "type(library FCL_Elliptic_ZZ)" + } + }, + "id": 2440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3504:25:17", + "memberName": "ecZZ_mulmuladd_S8_extcode", + "nodeType": "MemberAccess", + "referencedDeclaration": 3680, + "src": "3488:41:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_address_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,address) view returns (uint256)" + } + }, + "id": 2455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3488:105:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3484:109:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2457, + "nodeType": "ExpressionStatement", + "src": "3484:109:17" + }, + { + "expression": { + "id": 2466, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2458, + "name": "X", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2436, + "src": "3604:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 2460, + "name": "X", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2436, + "src": "3614:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2463, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2461, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2177, + "src": "3617:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 2462, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2400, + "src": "3619:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3617:3:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2464, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2177, + "src": "3621:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2459, + "name": "addmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -2, + "src": "3607:6:17", + "typeDescriptions": { + "typeIdentifier": "t_function_addmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 2465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3607:17:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3604:20:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2467, + "nodeType": "ExpressionStatement", + "src": "3604:20:17" + }, + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2470, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2468, + "name": "X", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2436, + "src": "3642:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 2469, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3647:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3642:6:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2408, + "id": 2471, + "nodeType": "Return", + "src": "3635:13:17" + } + ] + }, + "id": 2473, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ecdsa_precomputed_verify", + "nameLocation": "2984:24:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2405, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2398, + "mutability": "mutable", + "name": "message", + "nameLocation": "3017:7:17", + "nodeType": "VariableDeclaration", + "scope": 2473, + "src": "3009:15:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2397, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3009:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2400, + "mutability": "mutable", + "name": "r", + "nameLocation": "3034:1:17", + "nodeType": "VariableDeclaration", + "scope": 2473, + "src": "3026:9:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2399, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3026:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2402, + "mutability": "mutable", + "name": "s", + "nameLocation": "3045:1:17", + "nodeType": "VariableDeclaration", + "scope": 2473, + "src": "3037:9:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2401, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3037:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2404, + "mutability": "mutable", + "name": "Shamir8", + "nameLocation": "3056:7:17", + "nodeType": "VariableDeclaration", + "scope": 2473, + "src": "3048:15:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2403, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3048:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3008:56:17" + }, + "returnParameters": { + "id": 2408, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2407, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2473, + "src": "3104:4:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2406, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3104:4:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "3103:6:17" + }, + "scope": 2563, + "src": "2975:680:17", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2561, + "nodeType": "Block", + "src": "3837:587:17", + "statements": [ + { + "assignments": [ + 2487 + ], + "declarations": [ + { + "constant": false, + "id": 2487, + "mutability": "mutable", + "name": "r", + "nameLocation": "3855:1:17", + "nodeType": "VariableDeclaration", + "scope": 2561, + "src": "3847:9:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2486, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3847:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2491, + "initialValue": { + "baseExpression": { + "id": 2488, + "name": "rs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2479, + "src": "3859:2:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", + "typeString": "uint256[2] calldata" + } + }, + "id": 2490, + "indexExpression": { + "hexValue": "30", + "id": 2489, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3862:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3859:5:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3847:17:17" + }, + { + "assignments": [ + 2493 + ], + "declarations": [ + { + "constant": false, + "id": 2493, + "mutability": "mutable", + "name": "s", + "nameLocation": "3882:1:17", + "nodeType": "VariableDeclaration", + "scope": 2561, + "src": "3874:9:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2492, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3874:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2497, + "initialValue": { + "baseExpression": { + "id": 2494, + "name": "rs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2479, + "src": "3886:2:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", + "typeString": "uint256[2] calldata" + } + }, + "id": 2496, + "indexExpression": { + "hexValue": "31", + "id": 2495, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3889:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3886:5:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3874:17:17" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2512, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2508, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2504, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2500, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2498, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2487, + "src": "3905:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 2499, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3910:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3905:6:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2503, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2501, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2487, + "src": "3915:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 2502, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2177, + "src": "3920:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3915:6:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3905:16:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2507, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2505, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2493, + "src": "3925:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 2506, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3930:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3925:6:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3905:26:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2511, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2509, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2493, + "src": "3935:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 2510, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2177, + "src": "3940:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3935:6:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3905:36:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2516, + "nodeType": "IfStatement", + "src": "3901:79:17", + "trueBody": { + "id": 2515, + "nodeType": "Block", + "src": "3943:37:17", + "statements": [ + { + "expression": { + "hexValue": "66616c7365", + "id": 2513, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3964:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 2485, + "id": 2514, + "nodeType": "Return", + "src": "3957:12:17" + } + ] + } + }, + { + "assignments": [ + 2518 + ], + "declarations": [ + { + "constant": false, + "id": 2518, + "mutability": "mutable", + "name": "sInv", + "nameLocation": "4155:4:17", + "nodeType": "VariableDeclaration", + "scope": 2561, + "src": "4147:12:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2517, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4147:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2523, + "initialValue": { + "arguments": [ + { + "id": 2521, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2493, + "src": "4190:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 2519, + "name": "FCL_Elliptic_ZZ", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3904, + "src": "4162:15:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$3904_$", + "typeString": "type(library FCL_Elliptic_ZZ)" + } + }, + "id": 2520, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4178:11:17", + "memberName": "FCL_nModInv", + "nodeType": "MemberAccess", + "referencedDeclaration": 2614, + "src": "4162:27:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view returns (uint256)" + } + }, + "id": 2522, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4162:30:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4147:45:17" + }, + { + "assignments": [ + 2525 + ], + "declarations": [ + { + "constant": false, + "id": 2525, + "mutability": "mutable", + "name": "X", + "nameLocation": "4211:1:17", + "nodeType": "VariableDeclaration", + "scope": 2561, + "src": "4203:9:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2524, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4203:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2526, + "nodeType": "VariableDeclarationStatement", + "src": "4203:9:17" + }, + { + "expression": { + "id": 2545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2527, + "name": "X", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2525, + "src": "4253:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "id": 2533, + "name": "message", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2475, + "src": "4314:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2532, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4306:7:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 2531, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4306:7:17", + "typeDescriptions": {} + } + }, + "id": 2534, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4306:16:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2535, + "name": "sInv", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2518, + "src": "4324:4:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2536, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2177, + "src": "4330:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2530, + "name": "mulmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -16, + "src": "4299:6:17", + "typeDescriptions": { + "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 2537, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4299:33:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "id": 2539, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2487, + "src": "4341:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2540, + "name": "sInv", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2518, + "src": "4344:4:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2541, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2177, + "src": "4350:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2538, + "name": "mulmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -16, + "src": "4334:6:17", + "typeDescriptions": { + "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 2542, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4334:18:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2543, + "name": "Shamir8", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2481, + "src": "4354:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 2528, + "name": "FCL_Elliptic_ZZ", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3904, + "src": "4257:15:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$3904_$", + "typeString": "type(library FCL_Elliptic_ZZ)" + } + }, + "id": 2529, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4273:25:17", + "memberName": "ecZZ_mulmuladd_S8_extcode", + "nodeType": "MemberAccess", + "referencedDeclaration": 3680, + "src": "4257:41:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_address_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,address) view returns (uint256)" + } + }, + "id": 2544, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4257:105:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4253:109:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2546, + "nodeType": "ExpressionStatement", + "src": "4253:109:17" + }, + { + "expression": { + "id": 2555, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2547, + "name": "X", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2525, + "src": "4373:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 2549, + "name": "X", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2525, + "src": "4383:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2552, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2550, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2177, + "src": "4386:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 2551, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2487, + "src": "4388:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4386:3:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2553, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2177, + "src": "4390:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2548, + "name": "addmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -2, + "src": "4376:6:17", + "typeDescriptions": { + "typeIdentifier": "t_function_addmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 2554, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4376:17:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4373:20:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2556, + "nodeType": "ExpressionStatement", + "src": "4373:20:17" + }, + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2557, + "name": "X", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2525, + "src": "4411:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 2558, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4416:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4411:6:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2485, + "id": 2560, + "nodeType": "Return", + "src": "4404:13:17" + } + ] + }, + "id": 2562, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ecdsa_precomputed_verify", + "nameLocation": "3705:24:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2482, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2475, + "mutability": "mutable", + "name": "message", + "nameLocation": "3738:7:17", + "nodeType": "VariableDeclaration", + "scope": 2562, + "src": "3730:15:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2474, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3730:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2479, + "mutability": "mutable", + "name": "rs", + "nameLocation": "3767:2:17", + "nodeType": "VariableDeclaration", + "scope": 2562, + "src": "3747:22:17", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", + "typeString": "uint256[2]" + }, + "typeName": { + "baseType": { + "id": 2476, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3747:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2478, + "length": { + "hexValue": "32", + "id": 2477, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3755:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "ArrayTypeName", + "src": "3747:10:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", + "typeString": "uint256[2]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2481, + "mutability": "mutable", + "name": "Shamir8", + "nameLocation": "3779:7:17", + "nodeType": "VariableDeclaration", + "scope": 2562, + "src": "3771:15:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2480, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3771:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3729:58:17" + }, + "returnParameters": { + "id": 2485, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2484, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2562, + "src": "3827:4:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2483, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3827:4:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "3826:6:17" + }, + "scope": 2563, + "src": "3696:728:17", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 2564, + "src": "1217:3244:17", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "1127:3335:17" + }, + "id": 17 + }, + "FreshCryptoLib/FCL_elliptic.sol": { + "ast": { + "absolutePath": "FreshCryptoLib/FCL_elliptic.sol", + "exportedSymbols": { + "FCL_Elliptic_ZZ": [ + 3904 + ] + }, + "id": 3905, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2565, + "literals": [ + "solidity", + ">=", + "0.8", + ".19", + "<", + "0.9", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "1186:32:18" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "FCL_Elliptic_ZZ", + "contractDependencies": [], + "contractKind": "library", + "fullyImplemented": true, + "id": 3904, + "linearizedBaseContracts": [ + 3904 + ], + "name": "FCL_Elliptic_ZZ", + "nameLocation": "1228:15:18", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 2568, + "mutability": "constant", + "name": "MODEXP_PRECOMPILE", + "nameLocation": "1410:17:18", + "nodeType": "VariableDeclaration", + "scope": 3904, + "src": "1393:79:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2566, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1393:7:18", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "hexValue": "307830303030303030303030303030303030303030303030303030303030303030303030303030303035", + "id": 2567, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1430:42:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "value": "0x0000000000000000000000000000000000000005" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 2571, + "mutability": "constant", + "name": "p", + "nameLocation": "1527:1:18", + "nodeType": "VariableDeclaration", + "scope": 3904, + "src": "1510:87:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2569, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1510:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "307846464646464646463030303030303031303030303030303030303030303030303030303030303030464646464646464646464646464646464646464646464646", + "id": 2570, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1531:66:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_115792089210356248762697446949407573530086143415290314195533631308867097853951_by_1", + "typeString": "int_const 1157...(70 digits omitted)...3951" + }, + "value": "0xFFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 2574, + "mutability": "constant", + "name": "a", + "nameLocation": "1662:1:18", + "nodeType": "VariableDeclaration", + "scope": 3904, + "src": "1645:87:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2572, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1645:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "307846464646464646463030303030303031303030303030303030303030303030303030303030303030464646464646464646464646464646464646464646464643", + "id": 2573, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1666:66:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_115792089210356248762697446949407573530086143415290314195533631308867097853948_by_1", + "typeString": "int_const 1157...(70 digits omitted)...3948" + }, + "value": "0xFFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 2577, + "mutability": "constant", + "name": "b", + "nameLocation": "1798:1:18", + "nodeType": "VariableDeclaration", + "scope": 3904, + "src": "1781:87:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2575, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1781:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "307835414336333544384141334139334537423345424244353537363938383642433635314430364230434335334230463633424345334333453237443236303442", + "id": 2576, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1802:66:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_41058363725152142129326129780047268409114441015993725554835256314039467401291_by_1", + "typeString": "int_const 4105...(69 digits omitted)...1291" + }, + "value": "0x5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 2580, + "mutability": "constant", + "name": "gx", + "nameLocation": "1933:2:18", + "nodeType": "VariableDeclaration", + "scope": 3904, + "src": "1916:88:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2578, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1916:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "307836423137443146324531324334323437463842434536453536334134343046323737303337443831324445423333413046344131333934354438393843323936", + "id": 2579, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1938:66:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_48439561293906451759052585252797914202762949526041747995844080717082404635286_by_1", + "typeString": "int_const 4843...(69 digits omitted)...5286" + }, + "value": "0x6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 2583, + "mutability": "constant", + "name": "gy", + "nameLocation": "2027:2:18", + "nodeType": "VariableDeclaration", + "scope": 3904, + "src": "2010:88:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2581, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2010:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "307834464533343245324645314137463942384545374542344137433046394531363242434533333537364233313545434543424236343036383337424635314635", + "id": 2582, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2032:66:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_36134250956749795798585127919587881956611106672985015071877198253568414405109_by_1", + "typeString": "int_const 3613...(69 digits omitted)...5109" + }, + "value": "0x4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 2586, + "mutability": "constant", + "name": "n", + "nameLocation": "2158:1:18", + "nodeType": "VariableDeclaration", + "scope": 3904, + "src": "2141:87:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2584, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2141:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "307846464646464646463030303030303030464646464646464646464646464646464243453646414144413731373945383446334239434143324643363332353531", + "id": 2585, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2162:66:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_115792089210356248762697446949407573529996955224135760342422259061068512044369_by_1", + "typeString": "int_const 1157...(70 digits omitted)...4369" + }, + "value": "0xFFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 2589, + "mutability": "constant", + "name": "minus_2", + "nameLocation": "2336:7:18", + "nodeType": "VariableDeclaration", + "scope": 3904, + "src": "2319:93:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2587, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2319:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "307846464646464646463030303030303031303030303030303030303030303030303030303030303030464646464646464646464646464646464646464646464644", + "id": 2588, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2346:66:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_115792089210356248762697446949407573530086143415290314195533631308867097853949_by_1", + "typeString": "int_const 1157...(70 digits omitted)...3949" + }, + "value": "0xFFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFD" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 2592, + "mutability": "constant", + "name": "minus_2modn", + "nameLocation": "2490:11:18", + "nodeType": "VariableDeclaration", + "scope": 3904, + "src": "2473:97:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2590, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2473:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "307846464646464646463030303030303030464646464646464646464646464646464243453646414144413731373945383446334239434143324643363332353446", + "id": 2591, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2504:66:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_115792089210356248762697446949407573529996955224135760342422259061068512044367_by_1", + "typeString": "int_const 1157...(70 digits omitted)...4367" + }, + "value": "0xFFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC63254F" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 2595, + "mutability": "constant", + "name": "minus_1", + "nameLocation": "2594:7:18", + "nodeType": "VariableDeclaration", + "scope": 3904, + "src": "2577:93:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2593, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2577:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "307846464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646", + "id": 2594, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2604:66:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1", + "typeString": "int_const 1157...(70 digits omitted)...9935" + }, + "value": "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 2598, + "mutability": "constant", + "name": "pp1div4", + "nameLocation": "2709:7:18", + "nodeType": "VariableDeclaration", + "scope": 3904, + "src": "2692:91:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2596, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2692:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "307833666666666666666330303030303030343030303030303030303030303030303030303030303030343030303030303030303030303030303030303030303030", + "id": 2597, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2717:66:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_28948022302589062190674361737351893382521535853822578548883407827216774463488_by_1", + "typeString": "int_const 2894...(69 digits omitted)...3488" + }, + "value": "0x3fffffffc0000000400000000000000000000000400000000000000000000000" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 2601, + "mutability": "constant", + "name": "_NOTSQUARE", + "nameLocation": "2867:10:18", + "nodeType": "VariableDeclaration", + "scope": 3904, + "src": "2850:94:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2599, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2850:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "307846464646464646463030303030303032303030303030303030303030303030303030303030303030464646464646464646464646464646464646464646464646", + "id": 2600, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2878:66:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_115792089210356248768974548684794254293921932838497980611635986753331132366847_by_1", + "typeString": "int_const 1157...(70 digits omitted)...6847" + }, + "value": "0xFFFFFFFF00000002000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 2604, + "mutability": "constant", + "name": "_NOTONCURVE", + "nameLocation": "2967:11:18", + "nodeType": "VariableDeclaration", + "scope": 3904, + "src": "2950:95:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2602, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2950:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "307846464646464646463030303030303033303030303030303030303030303030303030303030303030464646464646464646464646464646464646464646464646", + "id": 2603, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2979:66:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_115792089210356248775251650420180935057757722261705647027738342197795166879743_by_1", + "typeString": "int_const 1157...(70 digits omitted)...9743" + }, + "value": "0xFFFFFFFF00000003000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF" + }, + "visibility": "internal" + }, + { + "body": { + "id": 2613, + "nodeType": "Block", + "src": "3225:663:18", + "statements": [ + { + "AST": { + "nativeSrc": "3244:638:18", + "nodeType": "YulBlock", + "src": "3244:638:18", + "statements": [ + { + "nativeSrc": "3258:26:18", + "nodeType": "YulVariableDeclaration", + "src": "3258:26:18", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3279:4:18", + "nodeType": "YulLiteral", + "src": "3279:4:18", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3273:5:18", + "nodeType": "YulIdentifier", + "src": "3273:5:18" + }, + "nativeSrc": "3273:11:18", + "nodeType": "YulFunctionCall", + "src": "3273:11:18" + }, + "variables": [ + { + "name": "pointer", + "nativeSrc": "3262:7:18", + "nodeType": "YulTypedName", + "src": "3262:7:18", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pointer", + "nativeSrc": "3381:7:18", + "nodeType": "YulIdentifier", + "src": "3381:7:18" + }, + { + "kind": "number", + "nativeSrc": "3390:4:18", + "nodeType": "YulLiteral", + "src": "3390:4:18", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3374:6:18", + "nodeType": "YulIdentifier", + "src": "3374:6:18" + }, + "nativeSrc": "3374:21:18", + "nodeType": "YulFunctionCall", + "src": "3374:21:18" + }, + "nativeSrc": "3374:21:18", + "nodeType": "YulExpressionStatement", + "src": "3374:21:18" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pointer", + "nativeSrc": "3419:7:18", + "nodeType": "YulIdentifier", + "src": "3419:7:18" + }, + { + "kind": "number", + "nativeSrc": "3428:4:18", + "nodeType": "YulLiteral", + "src": "3428:4:18", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3415:3:18", + "nodeType": "YulIdentifier", + "src": "3415:3:18" + }, + "nativeSrc": "3415:18:18", + "nodeType": "YulFunctionCall", + "src": "3415:18:18" + }, + { + "kind": "number", + "nativeSrc": "3435:4:18", + "nodeType": "YulLiteral", + "src": "3435:4:18", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3408:6:18", + "nodeType": "YulIdentifier", + "src": "3408:6:18" + }, + "nativeSrc": "3408:32:18", + "nodeType": "YulFunctionCall", + "src": "3408:32:18" + }, + "nativeSrc": "3408:32:18", + "nodeType": "YulExpressionStatement", + "src": "3408:32:18" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pointer", + "nativeSrc": "3464:7:18", + "nodeType": "YulIdentifier", + "src": "3464:7:18" + }, + { + "kind": "number", + "nativeSrc": "3473:4:18", + "nodeType": "YulLiteral", + "src": "3473:4:18", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3460:3:18", + "nodeType": "YulIdentifier", + "src": "3460:3:18" + }, + "nativeSrc": "3460:18:18", + "nodeType": "YulFunctionCall", + "src": "3460:18:18" + }, + { + "kind": "number", + "nativeSrc": "3480:4:18", + "nodeType": "YulLiteral", + "src": "3480:4:18", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3453:6:18", + "nodeType": "YulIdentifier", + "src": "3453:6:18" + }, + "nativeSrc": "3453:32:18", + "nodeType": "YulFunctionCall", + "src": "3453:32:18" + }, + "nativeSrc": "3453:32:18", + "nodeType": "YulExpressionStatement", + "src": "3453:32:18" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pointer", + "nativeSrc": "3568:7:18", + "nodeType": "YulIdentifier", + "src": "3568:7:18" + }, + { + "kind": "number", + "nativeSrc": "3577:4:18", + "nodeType": "YulLiteral", + "src": "3577:4:18", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3564:3:18", + "nodeType": "YulIdentifier", + "src": "3564:3:18" + }, + "nativeSrc": "3564:18:18", + "nodeType": "YulFunctionCall", + "src": "3564:18:18" + }, + { + "name": "u", + "nativeSrc": "3584:1:18", + "nodeType": "YulIdentifier", + "src": "3584:1:18" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3557:6:18", + "nodeType": "YulIdentifier", + "src": "3557:6:18" + }, + "nativeSrc": "3557:29:18", + "nodeType": "YulFunctionCall", + "src": "3557:29:18" + }, + "nativeSrc": "3557:29:18", + "nodeType": "YulExpressionStatement", + "src": "3557:29:18" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pointer", + "nativeSrc": "3610:7:18", + "nodeType": "YulIdentifier", + "src": "3610:7:18" + }, + { + "kind": "number", + "nativeSrc": "3619:4:18", + "nodeType": "YulLiteral", + "src": "3619:4:18", + "type": "", + "value": "0x80" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3606:3:18", + "nodeType": "YulIdentifier", + "src": "3606:3:18" + }, + "nativeSrc": "3606:18:18", + "nodeType": "YulFunctionCall", + "src": "3606:18:18" + }, + { + "name": "minus_2modn", + "nativeSrc": "3626:11:18", + "nodeType": "YulIdentifier", + "src": "3626:11:18" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3599:6:18", + "nodeType": "YulIdentifier", + "src": "3599:6:18" + }, + "nativeSrc": "3599:39:18", + "nodeType": "YulFunctionCall", + "src": "3599:39:18" + }, + "nativeSrc": "3599:39:18", + "nodeType": "YulExpressionStatement", + "src": "3599:39:18" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pointer", + "nativeSrc": "3662:7:18", + "nodeType": "YulIdentifier", + "src": "3662:7:18" + }, + { + "kind": "number", + "nativeSrc": "3671:4:18", + "nodeType": "YulLiteral", + "src": "3671:4:18", + "type": "", + "value": "0xa0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3658:3:18", + "nodeType": "YulIdentifier", + "src": "3658:3:18" + }, + "nativeSrc": "3658:18:18", + "nodeType": "YulFunctionCall", + "src": "3658:18:18" + }, + { + "name": "n", + "nativeSrc": "3678:1:18", + "nodeType": "YulIdentifier", + "src": "3678:1:18" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3651:6:18", + "nodeType": "YulIdentifier", + "src": "3651:6:18" + }, + "nativeSrc": "3651:29:18", + "nodeType": "YulFunctionCall", + "src": "3651:29:18" + }, + "nativeSrc": "3651:29:18", + "nodeType": "YulExpressionStatement", + "src": "3651:29:18" + }, + { + "body": { + "nativeSrc": "3819:16:18", + "nodeType": "YulBlock", + "src": "3819:16:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3828:1:18", + "nodeType": "YulLiteral", + "src": "3828:1:18", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "3831:1:18", + "nodeType": "YulLiteral", + "src": "3831:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "3821:6:18", + "nodeType": "YulIdentifier", + "src": "3821:6:18" + }, + "nativeSrc": "3821:12:18", + "nodeType": "YulFunctionCall", + "src": "3821:12:18" + }, + "nativeSrc": "3821:12:18", + "nodeType": "YulExpressionStatement", + "src": "3821:12:18" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3778:1:18", + "nodeType": "YulLiteral", + "src": "3778:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "3774:3:18", + "nodeType": "YulIdentifier", + "src": "3774:3:18" + }, + "nativeSrc": "3774:6:18", + "nodeType": "YulFunctionCall", + "src": "3774:6:18" + }, + { + "kind": "number", + "nativeSrc": "3782:4:18", + "nodeType": "YulLiteral", + "src": "3782:4:18", + "type": "", + "value": "0x05" + }, + { + "name": "pointer", + "nativeSrc": "3788:7:18", + "nodeType": "YulIdentifier", + "src": "3788:7:18" + }, + { + "kind": "number", + "nativeSrc": "3797:4:18", + "nodeType": "YulLiteral", + "src": "3797:4:18", + "type": "", + "value": "0xc0" + }, + { + "name": "pointer", + "nativeSrc": "3803:7:18", + "nodeType": "YulIdentifier", + "src": "3803:7:18" + }, + { + "kind": "number", + "nativeSrc": "3812:4:18", + "nodeType": "YulLiteral", + "src": "3812:4:18", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "staticcall", + "nativeSrc": "3763:10:18", + "nodeType": "YulIdentifier", + "src": "3763:10:18" + }, + "nativeSrc": "3763:54:18", + "nodeType": "YulFunctionCall", + "src": "3763:54:18" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "3756:6:18", + "nodeType": "YulIdentifier", + "src": "3756:6:18" + }, + "nativeSrc": "3756:62:18", + "nodeType": "YulFunctionCall", + "src": "3756:62:18" + }, + "nativeSrc": "3753:82:18", + "nodeType": "YulIf", + "src": "3753:82:18" + }, + { + "nativeSrc": "3848:24:18", + "nodeType": "YulAssignment", + "src": "3848:24:18", + "value": { + "arguments": [ + { + "name": "pointer", + "nativeSrc": "3864:7:18", + "nodeType": "YulIdentifier", + "src": "3864:7:18" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3858:5:18", + "nodeType": "YulIdentifier", + "src": "3858:5:18" + }, + "nativeSrc": "3858:14:18", + "nodeType": "YulFunctionCall", + "src": "3858:14:18" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "3848:6:18", + "nodeType": "YulIdentifier", + "src": "3848:6:18" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 2592, + "isOffset": false, + "isSlot": false, + "src": "3626:11:18", + "valueSize": 1 + }, + { + "declaration": 2586, + "isOffset": false, + "isSlot": false, + "src": "3678:1:18", + "valueSize": 1 + }, + { + "declaration": 2610, + "isOffset": false, + "isSlot": false, + "src": "3848:6:18", + "valueSize": 1 + }, + { + "declaration": 2607, + "isOffset": false, + "isSlot": false, + "src": "3584:1:18", + "valueSize": 1 + } + ], + "id": 2612, + "nodeType": "InlineAssembly", + "src": "3235:647:18" + } + ] + }, + "documentation": { + "id": 2605, + "nodeType": "StructuredDocumentation", + "src": "3052:97:18", + "text": " /* inversion mod n via a^(n-2), use of precompiled using little Fermat theorem" + }, + "id": 2614, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "FCL_nModInv", + "nameLocation": "3163:11:18", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2608, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2607, + "mutability": "mutable", + "name": "u", + "nameLocation": "3183:1:18", + "nodeType": "VariableDeclaration", + "scope": 2614, + "src": "3175:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2606, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3175:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3174:11:18" + }, + "returnParameters": { + "id": 2611, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2610, + "mutability": "mutable", + "name": "result", + "nameLocation": "3217:6:18", + "nodeType": "VariableDeclaration", + "scope": 2614, + "src": "3209:14:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2609, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3209:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3208:16:18" + }, + "scope": 3904, + "src": "3154:734:18", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2623, + "nodeType": "Block", + "src": "4071:659:18", + "statements": [ + { + "AST": { + "nativeSrc": "4090:634:18", + "nodeType": "YulBlock", + "src": "4090:634:18", + "statements": [ + { + "nativeSrc": "4104:26:18", + "nodeType": "YulVariableDeclaration", + "src": "4104:26:18", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "4125:4:18", + "nodeType": "YulLiteral", + "src": "4125:4:18", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "4119:5:18", + "nodeType": "YulIdentifier", + "src": "4119:5:18" + }, + "nativeSrc": "4119:11:18", + "nodeType": "YulFunctionCall", + "src": "4119:11:18" + }, + "variables": [ + { + "name": "pointer", + "nativeSrc": "4108:7:18", + "nodeType": "YulTypedName", + "src": "4108:7:18", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pointer", + "nativeSrc": "4227:7:18", + "nodeType": "YulIdentifier", + "src": "4227:7:18" + }, + { + "kind": "number", + "nativeSrc": "4236:4:18", + "nodeType": "YulLiteral", + "src": "4236:4:18", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4220:6:18", + "nodeType": "YulIdentifier", + "src": "4220:6:18" + }, + "nativeSrc": "4220:21:18", + "nodeType": "YulFunctionCall", + "src": "4220:21:18" + }, + "nativeSrc": "4220:21:18", + "nodeType": "YulExpressionStatement", + "src": "4220:21:18" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pointer", + "nativeSrc": "4265:7:18", + "nodeType": "YulIdentifier", + "src": "4265:7:18" + }, + { + "kind": "number", + "nativeSrc": "4274:4:18", + "nodeType": "YulLiteral", + "src": "4274:4:18", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4261:3:18", + "nodeType": "YulIdentifier", + "src": "4261:3:18" + }, + "nativeSrc": "4261:18:18", + "nodeType": "YulFunctionCall", + "src": "4261:18:18" + }, + { + "kind": "number", + "nativeSrc": "4281:4:18", + "nodeType": "YulLiteral", + "src": "4281:4:18", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4254:6:18", + "nodeType": "YulIdentifier", + "src": "4254:6:18" + }, + "nativeSrc": "4254:32:18", + "nodeType": "YulFunctionCall", + "src": "4254:32:18" + }, + "nativeSrc": "4254:32:18", + "nodeType": "YulExpressionStatement", + "src": "4254:32:18" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pointer", + "nativeSrc": "4310:7:18", + "nodeType": "YulIdentifier", + "src": "4310:7:18" + }, + { + "kind": "number", + "nativeSrc": "4319:4:18", + "nodeType": "YulLiteral", + "src": "4319:4:18", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4306:3:18", + "nodeType": "YulIdentifier", + "src": "4306:3:18" + }, + "nativeSrc": "4306:18:18", + "nodeType": "YulFunctionCall", + "src": "4306:18:18" + }, + { + "kind": "number", + "nativeSrc": "4326:4:18", + "nodeType": "YulLiteral", + "src": "4326:4:18", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4299:6:18", + "nodeType": "YulIdentifier", + "src": "4299:6:18" + }, + "nativeSrc": "4299:32:18", + "nodeType": "YulFunctionCall", + "src": "4299:32:18" + }, + "nativeSrc": "4299:32:18", + "nodeType": "YulExpressionStatement", + "src": "4299:32:18" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pointer", + "nativeSrc": "4414:7:18", + "nodeType": "YulIdentifier", + "src": "4414:7:18" + }, + { + "kind": "number", + "nativeSrc": "4423:4:18", + "nodeType": "YulLiteral", + "src": "4423:4:18", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4410:3:18", + "nodeType": "YulIdentifier", + "src": "4410:3:18" + }, + "nativeSrc": "4410:18:18", + "nodeType": "YulFunctionCall", + "src": "4410:18:18" + }, + { + "name": "u", + "nativeSrc": "4430:1:18", + "nodeType": "YulIdentifier", + "src": "4430:1:18" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4403:6:18", + "nodeType": "YulIdentifier", + "src": "4403:6:18" + }, + "nativeSrc": "4403:29:18", + "nodeType": "YulFunctionCall", + "src": "4403:29:18" + }, + "nativeSrc": "4403:29:18", + "nodeType": "YulExpressionStatement", + "src": "4403:29:18" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pointer", + "nativeSrc": "4456:7:18", + "nodeType": "YulIdentifier", + "src": "4456:7:18" + }, + { + "kind": "number", + "nativeSrc": "4465:4:18", + "nodeType": "YulLiteral", + "src": "4465:4:18", + "type": "", + "value": "0x80" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4452:3:18", + "nodeType": "YulIdentifier", + "src": "4452:3:18" + }, + "nativeSrc": "4452:18:18", + "nodeType": "YulFunctionCall", + "src": "4452:18:18" + }, + { + "name": "minus_2", + "nativeSrc": "4472:7:18", + "nodeType": "YulIdentifier", + "src": "4472:7:18" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4445:6:18", + "nodeType": "YulIdentifier", + "src": "4445:6:18" + }, + "nativeSrc": "4445:35:18", + "nodeType": "YulFunctionCall", + "src": "4445:35:18" + }, + "nativeSrc": "4445:35:18", + "nodeType": "YulExpressionStatement", + "src": "4445:35:18" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pointer", + "nativeSrc": "4504:7:18", + "nodeType": "YulIdentifier", + "src": "4504:7:18" + }, + { + "kind": "number", + "nativeSrc": "4513:4:18", + "nodeType": "YulLiteral", + "src": "4513:4:18", + "type": "", + "value": "0xa0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4500:3:18", + "nodeType": "YulIdentifier", + "src": "4500:3:18" + }, + "nativeSrc": "4500:18:18", + "nodeType": "YulFunctionCall", + "src": "4500:18:18" + }, + { + "name": "p", + "nativeSrc": "4520:1:18", + "nodeType": "YulIdentifier", + "src": "4520:1:18" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4493:6:18", + "nodeType": "YulIdentifier", + "src": "4493:6:18" + }, + "nativeSrc": "4493:29:18", + "nodeType": "YulFunctionCall", + "src": "4493:29:18" + }, + "nativeSrc": "4493:29:18", + "nodeType": "YulExpressionStatement", + "src": "4493:29:18" + }, + { + "body": { + "nativeSrc": "4661:16:18", + "nodeType": "YulBlock", + "src": "4661:16:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "4670:1:18", + "nodeType": "YulLiteral", + "src": "4670:1:18", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "4673:1:18", + "nodeType": "YulLiteral", + "src": "4673:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "4663:6:18", + "nodeType": "YulIdentifier", + "src": "4663:6:18" + }, + "nativeSrc": "4663:12:18", + "nodeType": "YulFunctionCall", + "src": "4663:12:18" + }, + "nativeSrc": "4663:12:18", + "nodeType": "YulExpressionStatement", + "src": "4663:12:18" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "4620:1:18", + "nodeType": "YulLiteral", + "src": "4620:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "4616:3:18", + "nodeType": "YulIdentifier", + "src": "4616:3:18" + }, + "nativeSrc": "4616:6:18", + "nodeType": "YulFunctionCall", + "src": "4616:6:18" + }, + { + "kind": "number", + "nativeSrc": "4624:4:18", + "nodeType": "YulLiteral", + "src": "4624:4:18", + "type": "", + "value": "0x05" + }, + { + "name": "pointer", + "nativeSrc": "4630:7:18", + "nodeType": "YulIdentifier", + "src": "4630:7:18" + }, + { + "kind": "number", + "nativeSrc": "4639:4:18", + "nodeType": "YulLiteral", + "src": "4639:4:18", + "type": "", + "value": "0xc0" + }, + { + "name": "pointer", + "nativeSrc": "4645:7:18", + "nodeType": "YulIdentifier", + "src": "4645:7:18" + }, + { + "kind": "number", + "nativeSrc": "4654:4:18", + "nodeType": "YulLiteral", + "src": "4654:4:18", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "staticcall", + "nativeSrc": "4605:10:18", + "nodeType": "YulIdentifier", + "src": "4605:10:18" + }, + "nativeSrc": "4605:54:18", + "nodeType": "YulFunctionCall", + "src": "4605:54:18" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "4598:6:18", + "nodeType": "YulIdentifier", + "src": "4598:6:18" + }, + "nativeSrc": "4598:62:18", + "nodeType": "YulFunctionCall", + "src": "4598:62:18" + }, + "nativeSrc": "4595:82:18", + "nodeType": "YulIf", + "src": "4595:82:18" + }, + { + "nativeSrc": "4690:24:18", + "nodeType": "YulAssignment", + "src": "4690:24:18", + "value": { + "arguments": [ + { + "name": "pointer", + "nativeSrc": "4706:7:18", + "nodeType": "YulIdentifier", + "src": "4706:7:18" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "4700:5:18", + "nodeType": "YulIdentifier", + "src": "4700:5:18" + }, + "nativeSrc": "4700:14:18", + "nodeType": "YulFunctionCall", + "src": "4700:14:18" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "4690:6:18", + "nodeType": "YulIdentifier", + "src": "4690:6:18" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 2589, + "isOffset": false, + "isSlot": false, + "src": "4472:7:18", + "valueSize": 1 + }, + { + "declaration": 2571, + "isOffset": false, + "isSlot": false, + "src": "4520:1:18", + "valueSize": 1 + }, + { + "declaration": 2620, + "isOffset": false, + "isSlot": false, + "src": "4690:6:18", + "valueSize": 1 + }, + { + "declaration": 2617, + "isOffset": false, + "isSlot": false, + "src": "4430:1:18", + "valueSize": 1 + } + ], + "id": 2622, + "nodeType": "InlineAssembly", + "src": "4081:643:18" + } + ] + }, + "documentation": { + "id": 2615, + "nodeType": "StructuredDocumentation", + "src": "3893:101:18", + "text": " /* @dev inversion mod nusing little Fermat theorem via a^(n-2), use of precompiled" + }, + "id": 2624, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "FCL_pModInv", + "nameLocation": "4009:11:18", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2618, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2617, + "mutability": "mutable", + "name": "u", + "nameLocation": "4029:1:18", + "nodeType": "VariableDeclaration", + "scope": 2624, + "src": "4021:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2616, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4021:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4020:11:18" + }, + "returnParameters": { + "id": 2621, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2620, + "mutability": "mutable", + "name": "result", + "nameLocation": "4063:6:18", + "nodeType": "VariableDeclaration", + "scope": 2624, + "src": "4055:14:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2619, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4055:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4054:16:18" + }, + "scope": 3904, + "src": "4000:730:18", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2699, + "nodeType": "Block", + "src": "4972:318:18", + "statements": [ + { + "assignments": [ + 2646 + ], + "declarations": [ + { + "constant": false, + "id": 2646, + "mutability": "mutable", + "name": "alpha2", + "nameLocation": "4998:6:18", + "nodeType": "VariableDeclaration", + "scope": 2699, + "src": "4990:14:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2645, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4990:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2652, + "initialValue": { + "arguments": [ + { + "id": 2648, + "name": "alpha", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2626, + "src": "5012:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2649, + "name": "alpha", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2626, + "src": "5018:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2650, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "5024:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2647, + "name": "mulmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -16, + "src": "5005:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 2651, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5005:21:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4990:36:18" + }, + { + "expression": { + "id": 2659, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2653, + "name": "x3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2637, + "src": "5044:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 2655, + "name": "alpha2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2646, + "src": "5054:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2656, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2628, + "src": "5062:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2657, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "5064:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2654, + "name": "mulmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -16, + "src": "5047:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 2658, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5047:19:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5044:22:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2660, + "nodeType": "ExpressionStatement", + "src": "5044:22:18" + }, + { + "expression": { + "id": 2671, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2661, + "name": "y3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2639, + "src": "5089:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "id": 2664, + "name": "alpha", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2626, + "src": "5106:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2665, + "name": "alpha2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2646, + "src": "5113:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2666, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "5120:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2663, + "name": "mulmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -16, + "src": "5099:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 2667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5099:23:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2668, + "name": "y", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2630, + "src": "5124:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2669, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "5126:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2662, + "name": "mulmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -16, + "src": "5092:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 2670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5092:36:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5089:39:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2672, + "nodeType": "ExpressionStatement", + "src": "5089:39:18" + }, + { + "expression": { + "id": 2679, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2673, + "name": "zz3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2641, + "src": "5139:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 2675, + "name": "zz", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2632, + "src": "5150:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2676, + "name": "alpha2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2646, + "src": "5153:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2677, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "5160:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2674, + "name": "mulmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -16, + "src": "5143:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 2678, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5143:19:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5139:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2680, + "nodeType": "ExpressionStatement", + "src": "5139:23:18" + }, + { + "expression": { + "id": 2691, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2681, + "name": "zzz3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2643, + "src": "5184:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 2683, + "name": "zzz", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2634, + "src": "5196:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "id": 2685, + "name": "alpha", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2626, + "src": "5207:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2686, + "name": "alpha2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2646, + "src": "5214:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2687, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "5221:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2684, + "name": "mulmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -16, + "src": "5200:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 2688, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5200:23:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2689, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "5224:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2682, + "name": "mulmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -16, + "src": "5189:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 2690, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5189:37:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5184:42:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2692, + "nodeType": "ExpressionStatement", + "src": "5184:42:18" + }, + { + "expression": { + "components": [ + { + "id": 2693, + "name": "x3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2637, + "src": "5266:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2694, + "name": "y3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2639, + "src": "5270:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2695, + "name": "zz3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2641, + "src": "5274:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2696, + "name": "zzz3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2643, + "src": "5279:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 2697, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "5265:19:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256,uint256,uint256)" + } + }, + "functionReturnParameters": 2644, + "id": 2698, + "nodeType": "Return", + "src": "5258:26:18" + } + ] + }, + "id": 2700, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ecZZ_Coronize", + "nameLocation": "4817:13:18", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2635, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2626, + "mutability": "mutable", + "name": "alpha", + "nameLocation": "4839:5:18", + "nodeType": "VariableDeclaration", + "scope": 2700, + "src": "4831:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2625, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4831:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2628, + "mutability": "mutable", + "name": "x", + "nameLocation": "4854:1:18", + "nodeType": "VariableDeclaration", + "scope": 2700, + "src": "4846:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2627, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4846:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2630, + "mutability": "mutable", + "name": "y", + "nameLocation": "4865:1:18", + "nodeType": "VariableDeclaration", + "scope": 2700, + "src": "4857:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2629, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4857:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2632, + "mutability": "mutable", + "name": "zz", + "nameLocation": "4877:2:18", + "nodeType": "VariableDeclaration", + "scope": 2700, + "src": "4869:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2631, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4869:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2634, + "mutability": "mutable", + "name": "zzz", + "nameLocation": "4889:3:18", + "nodeType": "VariableDeclaration", + "scope": 2700, + "src": "4881:11:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2633, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4881:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4830:63:18" + }, + "returnParameters": { + "id": 2644, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2637, + "mutability": "mutable", + "name": "x3", + "nameLocation": "4926:2:18", + "nodeType": "VariableDeclaration", + "scope": 2700, + "src": "4918:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2636, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4918:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2639, + "mutability": "mutable", + "name": "y3", + "nameLocation": "4938:2:18", + "nodeType": "VariableDeclaration", + "scope": 2700, + "src": "4930:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2638, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4930:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2641, + "mutability": "mutable", + "name": "zz3", + "nameLocation": "4950:3:18", + "nodeType": "VariableDeclaration", + "scope": 2700, + "src": "4942:11:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2640, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4942:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2643, + "mutability": "mutable", + "name": "zzz3", + "nameLocation": "4963:4:18", + "nodeType": "VariableDeclaration", + "scope": 2700, + "src": "4955:12:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2642, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4955:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4917:51:18" + }, + "scope": 3904, + "src": "4808:482:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2879, + "nodeType": "Block", + "src": "5491:757:18", + "statements": [ + { + "assignments": [ + 2728 + ], + "declarations": [ + { + "constant": false, + "id": 2728, + "mutability": "mutable", + "name": "u1", + "nameLocation": "5505:2:18", + "nodeType": "VariableDeclaration", + "scope": 2879, + "src": "5497:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2727, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5497:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2734, + "initialValue": { + "arguments": [ + { + "id": 2730, + "name": "x1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2702, + "src": "5515:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2731, + "name": "zz2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2714, + "src": "5518:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2732, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "5522:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2729, + "name": "mulmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -16, + "src": "5508:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 2733, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5508:16:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5497:27:18" + }, + { + "assignments": [ + 2736 + ], + "declarations": [ + { + "constant": false, + "id": 2736, + "mutability": "mutable", + "name": "u2", + "nameLocation": "5553:2:18", + "nodeType": "VariableDeclaration", + "scope": 2879, + "src": "5545:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2735, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5545:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2742, + "initialValue": { + "arguments": [ + { + "id": 2738, + "name": "x2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2710, + "src": "5563:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2739, + "name": "zz1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2706, + "src": "5567:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2740, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "5571:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2737, + "name": "mulmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -16, + "src": "5556:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 2741, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5556:17:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5545:28:18" + }, + { + "expression": { + "id": 2751, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2743, + "name": "u2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2736, + "src": "5609:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 2745, + "name": "u2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2736, + "src": "5619:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2748, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2746, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "5623:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 2747, + "name": "u1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2728, + "src": "5625:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5623:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2749, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "5629:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2744, + "name": "addmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -2, + "src": "5612:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_addmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 2750, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5612:19:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5609:22:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2752, + "nodeType": "ExpressionStatement", + "src": "5609:22:18" + }, + { + "expression": { + "id": 2759, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2753, + "name": "x1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2702, + "src": "5650:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 2755, + "name": "u2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2736, + "src": "5660:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2756, + "name": "u2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2736, + "src": "5664:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2757, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "5668:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2754, + "name": "mulmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -16, + "src": "5653:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 2758, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5653:17:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5650:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2760, + "nodeType": "ExpressionStatement", + "src": "5650:20:18" + }, + { + "expression": { + "id": 2767, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2761, + "name": "x2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2710, + "src": "5680:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 2763, + "name": "x1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2702, + "src": "5690:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2764, + "name": "u2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2736, + "src": "5694:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2765, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "5698:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2762, + "name": "mulmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -16, + "src": "5683:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 2766, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5683:17:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5680:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2768, + "nodeType": "ExpressionStatement", + "src": "5680:20:18" + }, + { + "expression": { + "id": 2779, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2769, + "name": "zz3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2723, + "src": "5716:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 2771, + "name": "x1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2702, + "src": "5727:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "id": 2773, + "name": "zz1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2706, + "src": "5738:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2774, + "name": "zz2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2714, + "src": "5743:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2775, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "5748:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2772, + "name": "mulmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -16, + "src": "5731:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 2776, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5731:19:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2777, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "5751:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2770, + "name": "mulmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -16, + "src": "5720:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 2778, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5720:33:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5716:37:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2780, + "nodeType": "ExpressionStatement", + "src": "5716:37:18" + }, + { + "expression": { + "id": 2791, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2781, + "name": "zzz3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2725, + "src": "5779:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 2783, + "name": "zzz1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2708, + "src": "5791:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "id": 2785, + "name": "zzz2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2716, + "src": "5804:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2786, + "name": "x2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2710, + "src": "5810:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2787, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "5814:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2784, + "name": "mulmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -16, + "src": "5797:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 2788, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5797:19:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2789, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "5817:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2782, + "name": "mulmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -16, + "src": "5784:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 2790, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5784:35:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5779:40:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2792, + "nodeType": "ExpressionStatement", + "src": "5779:40:18" + }, + { + "expression": { + "id": 2799, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2793, + "name": "zz1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2706, + "src": "5848:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 2795, + "name": "y1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2704, + "src": "5859:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2796, + "name": "zzz2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2716, + "src": "5863:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2797, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "5868:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2794, + "name": "mulmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -16, + "src": "5852:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 2798, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5852:18:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5848:22:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2800, + "nodeType": "ExpressionStatement", + "src": "5848:22:18" + }, + { + "expression": { + "id": 2807, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2801, + "name": "zz2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2714, + "src": "5893:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 2803, + "name": "y2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2712, + "src": "5904:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2804, + "name": "zzz1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2708, + "src": "5908:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2805, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "5914:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2802, + "name": "mulmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -16, + "src": "5897:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 2806, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5897:19:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5893:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2808, + "nodeType": "ExpressionStatement", + "src": "5893:23:18" + }, + { + "expression": { + "id": 2817, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2809, + "name": "zz2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2714, + "src": "5942:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 2811, + "name": "zz2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2714, + "src": "5953:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2814, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2812, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "5958:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 2813, + "name": "zz1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2706, + "src": "5960:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5958:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2815, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "5965:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2810, + "name": "addmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -2, + "src": "5946:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_addmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 2816, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5946:21:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5942:25:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2818, + "nodeType": "ExpressionStatement", + "src": "5942:25:18" + }, + { + "expression": { + "id": 2825, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2819, + "name": "zzz1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2708, + "src": "5984:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 2821, + "name": "u1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2728, + "src": "5996:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2822, + "name": "x1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2702, + "src": "6000:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2823, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "6003:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2820, + "name": "mulmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -16, + "src": "5989:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 2824, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5989:16:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5984:21:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2826, + "nodeType": "ExpressionStatement", + "src": "5984:21:18" + }, + { + "expression": { + "id": 2847, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2827, + "name": "x3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2719, + "src": "6023:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "id": 2831, + "name": "zz2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2714, + "src": "6048:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2832, + "name": "zz2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2714, + "src": "6053:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2833, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "6058:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2830, + "name": "mulmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -16, + "src": "6041:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 2834, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6041:19:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2837, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2835, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "6062:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 2836, + "name": "x2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2710, + "src": "6064:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6062:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2838, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "6067:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2829, + "name": "addmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -2, + "src": "6034:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_addmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 2839, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6034:35:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "id": 2841, + "name": "minus_2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2589, + "src": "6078:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2842, + "name": "zzz1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2708, + "src": "6087:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2843, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "6092:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2840, + "name": "mulmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -16, + "src": "6071:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 2844, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6071:23:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2845, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "6095:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2828, + "name": "addmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -2, + "src": "6027:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_addmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 2846, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6027:70:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6023:74:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2848, + "nodeType": "ExpressionStatement", + "src": "6023:74:18" + }, + { + "expression": { + "id": 2871, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2849, + "name": "y3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2721, + "src": "6121:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "id": 2852, + "name": "zz2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2714, + "src": "6139:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "id": 2854, + "name": "zzz1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2708, + "src": "6151:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2857, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2855, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "6157:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 2856, + "name": "x3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2719, + "src": "6159:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6157:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2858, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "6163:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2853, + "name": "addmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -2, + "src": "6144:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_addmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 2859, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6144:21:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2860, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "6166:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2851, + "name": "mulmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -16, + "src": "6132:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 2861, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6132:36:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2868, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2862, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "6170:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "arguments": [ + { + "id": 2864, + "name": "zz1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2706, + "src": "6179:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2865, + "name": "x2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2710, + "src": "6184:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2866, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "6188:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2863, + "name": "mulmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -16, + "src": "6172:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 2867, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6172:18:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6170:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2869, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "6191:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2850, + "name": "addmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -2, + "src": "6124:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_addmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 2870, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6124:69:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6121:72:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2872, + "nodeType": "ExpressionStatement", + "src": "6121:72:18" + }, + { + "expression": { + "components": [ + { + "id": 2873, + "name": "x3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2719, + "src": "6225:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2874, + "name": "y3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2721, + "src": "6229:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2875, + "name": "zz3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2723, + "src": "6233:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2876, + "name": "zzz3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2725, + "src": "6238:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 2877, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6224:19:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256,uint256,uint256)" + } + }, + "functionReturnParameters": 2726, + "id": 2878, + "nodeType": "Return", + "src": "6217:26:18" + } + ] + }, + "id": 2880, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ecZZ_Add", + "nameLocation": "5303:8:18", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2717, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2702, + "mutability": "mutable", + "name": "x1", + "nameLocation": "5320:2:18", + "nodeType": "VariableDeclaration", + "scope": 2880, + "src": "5312:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2701, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5312:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2704, + "mutability": "mutable", + "name": "y1", + "nameLocation": "5332:2:18", + "nodeType": "VariableDeclaration", + "scope": 2880, + "src": "5324:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2703, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5324:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2706, + "mutability": "mutable", + "name": "zz1", + "nameLocation": "5344:3:18", + "nodeType": "VariableDeclaration", + "scope": 2880, + "src": "5336:11:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2705, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5336:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2708, + "mutability": "mutable", + "name": "zzz1", + "nameLocation": "5357:4:18", + "nodeType": "VariableDeclaration", + "scope": 2880, + "src": "5349:12:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2707, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5349:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2710, + "mutability": "mutable", + "name": "x2", + "nameLocation": "5371:2:18", + "nodeType": "VariableDeclaration", + "scope": 2880, + "src": "5363:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2709, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5363:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2712, + "mutability": "mutable", + "name": "y2", + "nameLocation": "5383:2:18", + "nodeType": "VariableDeclaration", + "scope": 2880, + "src": "5375:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2711, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5375:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2714, + "mutability": "mutable", + "name": "zz2", + "nameLocation": "5395:3:18", + "nodeType": "VariableDeclaration", + "scope": 2880, + "src": "5387:11:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2713, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5387:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2716, + "mutability": "mutable", + "name": "zzz2", + "nameLocation": "5408:4:18", + "nodeType": "VariableDeclaration", + "scope": 2880, + "src": "5400:12:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2715, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5400:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5311:102:18" + }, + "returnParameters": { + "id": 2726, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2719, + "mutability": "mutable", + "name": "x3", + "nameLocation": "5446:2:18", + "nodeType": "VariableDeclaration", + "scope": 2880, + "src": "5438:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2718, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5438:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2721, + "mutability": "mutable", + "name": "y3", + "nameLocation": "5458:2:18", + "nodeType": "VariableDeclaration", + "scope": 2880, + "src": "5450:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2720, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5450:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2723, + "mutability": "mutable", + "name": "zz3", + "nameLocation": "5470:3:18", + "nodeType": "VariableDeclaration", + "scope": 2880, + "src": "5462:11:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2722, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5462:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2725, + "mutability": "mutable", + "name": "zzz3", + "nameLocation": "5483:4:18", + "nodeType": "VariableDeclaration", + "scope": 2880, + "src": "5475:12:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2724, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5475:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5437:51:18" + }, + "scope": 3904, + "src": "5294:954:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2904, + "nodeType": "Block", + "src": "6701:1432:18", + "statements": [ + { + "AST": { + "nativeSrc": "6729:1314:18", + "nodeType": "YulBlock", + "src": "6729:1314:18", + "statements": [ + { + "nativeSrc": "6785:26:18", + "nodeType": "YulVariableDeclaration", + "src": "6785:26:18", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6806:4:18", + "nodeType": "YulLiteral", + "src": "6806:4:18", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "6800:5:18", + "nodeType": "YulIdentifier", + "src": "6800:5:18" + }, + "nativeSrc": "6800:11:18", + "nodeType": "YulFunctionCall", + "src": "6800:11:18" + }, + "variables": [ + { + "name": "pointer", + "nativeSrc": "6789:7:18", + "nodeType": "YulTypedName", + "src": "6789:7:18", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pointer", + "nativeSrc": "6869:7:18", + "nodeType": "YulIdentifier", + "src": "6869:7:18" + }, + { + "kind": "number", + "nativeSrc": "6878:4:18", + "nodeType": "YulLiteral", + "src": "6878:4:18", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6862:6:18", + "nodeType": "YulIdentifier", + "src": "6862:6:18" + }, + "nativeSrc": "6862:21:18", + "nodeType": "YulFunctionCall", + "src": "6862:21:18" + }, + "nativeSrc": "6862:21:18", + "nodeType": "YulExpressionStatement", + "src": "6862:21:18" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pointer", + "nativeSrc": "6947:7:18", + "nodeType": "YulIdentifier", + "src": "6947:7:18" + }, + { + "kind": "number", + "nativeSrc": "6956:4:18", + "nodeType": "YulLiteral", + "src": "6956:4:18", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6943:3:18", + "nodeType": "YulIdentifier", + "src": "6943:3:18" + }, + "nativeSrc": "6943:18:18", + "nodeType": "YulFunctionCall", + "src": "6943:18:18" + }, + { + "kind": "number", + "nativeSrc": "6963:4:18", + "nodeType": "YulLiteral", + "src": "6963:4:18", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6936:6:18", + "nodeType": "YulIdentifier", + "src": "6936:6:18" + }, + "nativeSrc": "6936:32:18", + "nodeType": "YulFunctionCall", + "src": "6936:32:18" + }, + "nativeSrc": "6936:32:18", + "nodeType": "YulExpressionStatement", + "src": "6936:32:18" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pointer", + "nativeSrc": "7031:7:18", + "nodeType": "YulIdentifier", + "src": "7031:7:18" + }, + { + "kind": "number", + "nativeSrc": "7040:4:18", + "nodeType": "YulLiteral", + "src": "7040:4:18", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7027:3:18", + "nodeType": "YulIdentifier", + "src": "7027:3:18" + }, + "nativeSrc": "7027:18:18", + "nodeType": "YulFunctionCall", + "src": "7027:18:18" + }, + { + "kind": "number", + "nativeSrc": "7047:4:18", + "nodeType": "YulLiteral", + "src": "7047:4:18", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "7020:6:18", + "nodeType": "YulIdentifier", + "src": "7020:6:18" + }, + "nativeSrc": "7020:32:18", + "nodeType": "YulFunctionCall", + "src": "7020:32:18" + }, + "nativeSrc": "7020:32:18", + "nodeType": "YulExpressionStatement", + "src": "7020:32:18" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pointer", + "nativeSrc": "7109:7:18", + "nodeType": "YulIdentifier", + "src": "7109:7:18" + }, + { + "kind": "number", + "nativeSrc": "7118:4:18", + "nodeType": "YulLiteral", + "src": "7118:4:18", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7105:3:18", + "nodeType": "YulIdentifier", + "src": "7105:3:18" + }, + "nativeSrc": "7105:18:18", + "nodeType": "YulFunctionCall", + "src": "7105:18:18" + }, + { + "name": "self", + "nativeSrc": "7125:4:18", + "nodeType": "YulIdentifier", + "src": "7125:4:18" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "7098:6:18", + "nodeType": "YulIdentifier", + "src": "7098:6:18" + }, + "nativeSrc": "7098:32:18", + "nodeType": "YulFunctionCall", + "src": "7098:32:18" + }, + "nativeSrc": "7098:32:18", + "nodeType": "YulExpressionStatement", + "src": "7098:32:18" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pointer", + "nativeSrc": "7185:7:18", + "nodeType": "YulIdentifier", + "src": "7185:7:18" + }, + { + "kind": "number", + "nativeSrc": "7194:4:18", + "nodeType": "YulLiteral", + "src": "7194:4:18", + "type": "", + "value": "0x80" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7181:3:18", + "nodeType": "YulIdentifier", + "src": "7181:3:18" + }, + "nativeSrc": "7181:18:18", + "nodeType": "YulFunctionCall", + "src": "7181:18:18" + }, + { + "name": "pp1div4", + "nativeSrc": "7201:7:18", + "nodeType": "YulIdentifier", + "src": "7201:7:18" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "7174:6:18", + "nodeType": "YulIdentifier", + "src": "7174:6:18" + }, + "nativeSrc": "7174:35:18", + "nodeType": "YulFunctionCall", + "src": "7174:35:18" + }, + "nativeSrc": "7174:35:18", + "nodeType": "YulExpressionStatement", + "src": "7174:35:18" + }, + { + "nativeSrc": "7396:33:18", + "nodeType": "YulVariableDeclaration", + "src": "7396:33:18", + "value": { + "arguments": [ + { + "name": "pointer", + "nativeSrc": "7415:7:18", + "nodeType": "YulIdentifier", + "src": "7415:7:18" + }, + { + "kind": "number", + "nativeSrc": "7424:4:18", + "nodeType": "YulLiteral", + "src": "7424:4:18", + "type": "", + "value": "0xa0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7411:3:18", + "nodeType": "YulIdentifier", + "src": "7411:3:18" + }, + "nativeSrc": "7411:18:18", + "nodeType": "YulFunctionCall", + "src": "7411:18:18" + }, + "variables": [ + { + "name": "_result", + "nativeSrc": "7400:7:18", + "nodeType": "YulTypedName", + "src": "7400:7:18", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "_result", + "nativeSrc": "7479:7:18", + "nodeType": "YulIdentifier", + "src": "7479:7:18" + }, + { + "name": "p", + "nativeSrc": "7488:1:18", + "nodeType": "YulIdentifier", + "src": "7488:1:18" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "7472:6:18", + "nodeType": "YulIdentifier", + "src": "7472:6:18" + }, + "nativeSrc": "7472:18:18", + "nodeType": "YulFunctionCall", + "src": "7472:18:18" + }, + "nativeSrc": "7472:18:18", + "nodeType": "YulExpressionStatement", + "src": "7472:18:18" + }, + { + "body": { + "nativeSrc": "7964:16:18", + "nodeType": "YulBlock", + "src": "7964:16:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "7973:1:18", + "nodeType": "YulLiteral", + "src": "7973:1:18", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "7976:1:18", + "nodeType": "YulLiteral", + "src": "7976:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "7966:6:18", + "nodeType": "YulIdentifier", + "src": "7966:6:18" + }, + "nativeSrc": "7966:12:18", + "nodeType": "YulFunctionCall", + "src": "7966:12:18" + }, + "nativeSrc": "7966:12:18", + "nodeType": "YulExpressionStatement", + "src": "7966:12:18" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "7640:1:18", + "nodeType": "YulLiteral", + "src": "7640:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "7636:3:18", + "nodeType": "YulIdentifier", + "src": "7636:3:18" + }, + "nativeSrc": "7636:6:18", + "nodeType": "YulFunctionCall", + "src": "7636:6:18" + }, + { + "name": "MODEXP_PRECOMPILE", + "nativeSrc": "7685:17:18", + "nodeType": "YulIdentifier", + "src": "7685:17:18" + }, + { + "name": "pointer", + "nativeSrc": "7730:7:18", + "nodeType": "YulIdentifier", + "src": "7730:7:18" + }, + { + "kind": "number", + "nativeSrc": "7769:4:18", + "nodeType": "YulLiteral", + "src": "7769:4:18", + "type": "", + "value": "0xc0" + }, + { + "name": "_result", + "nativeSrc": "7818:7:18", + "nodeType": "YulIdentifier", + "src": "7818:7:18" + }, + { + "kind": "number", + "nativeSrc": "7913:4:18", + "nodeType": "YulLiteral", + "src": "7913:4:18", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "staticcall", + "nativeSrc": "7608:10:18", + "nodeType": "YulIdentifier", + "src": "7608:10:18" + }, + "nativeSrc": "7608:345:18", + "nodeType": "YulFunctionCall", + "src": "7608:345:18" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "7588:6:18", + "nodeType": "YulIdentifier", + "src": "7588:6:18" + }, + "nativeSrc": "7588:375:18", + "nodeType": "YulFunctionCall", + "src": "7588:375:18" + }, + "nativeSrc": "7585:395:18", + "nodeType": "YulIf", + "src": "7585:395:18" + }, + { + "nativeSrc": "7984:24:18", + "nodeType": "YulAssignment", + "src": "7984:24:18", + "value": { + "arguments": [ + { + "name": "_result", + "nativeSrc": "8000:7:18", + "nodeType": "YulIdentifier", + "src": "8000:7:18" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "7994:5:18", + "nodeType": "YulIdentifier", + "src": "7994:5:18" + }, + "nativeSrc": "7994:14:18", + "nodeType": "YulFunctionCall", + "src": "7994:14:18" + }, + "variableNames": [ + { + "name": "result", + "nativeSrc": "7984:6:18", + "nodeType": "YulIdentifier", + "src": "7984:6:18" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 2568, + "isOffset": false, + "isSlot": false, + "src": "7685:17:18", + "valueSize": 1 + }, + { + "declaration": 2571, + "isOffset": false, + "isSlot": false, + "src": "7488:1:18", + "valueSize": 1 + }, + { + "declaration": 2598, + "isOffset": false, + "isSlot": false, + "src": "7201:7:18", + "valueSize": 1 + }, + { + "declaration": 2886, + "isOffset": false, + "isSlot": false, + "src": "7984:6:18", + "valueSize": 1 + }, + { + "declaration": 2883, + "isOffset": false, + "isSlot": false, + "src": "7125:4:18", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 2888, + "nodeType": "InlineAssembly", + "src": "6704:1339:18" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2895, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 2890, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2886, + "src": "8057:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2891, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2886, + "src": "8064:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2892, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "8071:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2889, + "name": "mulmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -16, + "src": "8050:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 2893, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8050:23:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 2894, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2883, + "src": "8075:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8050:29:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2901, + "nodeType": "IfStatement", + "src": "8047:63:18", + "trueBody": { + "id": 2900, + "nodeType": "Block", + "src": "8080:30:18", + "statements": [ + { + "expression": { + "id": 2898, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2896, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2886, + "src": "8087:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2897, + "name": "_NOTSQUARE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2601, + "src": "8094:10:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8087:17:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2899, + "nodeType": "ExpressionStatement", + "src": "8087:17:18" + } + ] + } + }, + { + "expression": { + "id": 2902, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2886, + "src": "8124:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2887, + "id": 2903, + "nodeType": "Return", + "src": "8117:13:18" + } + ] + }, + "documentation": { + "id": 2881, + "nodeType": "StructuredDocumentation", + "src": "6250:381:18", + "text": "@notice Calculate one modular square root of a given integer. Assume that p=3 mod 4.\n @dev Uses the ModExp precompiled contract at address 0x05 for fast computation using little Fermat theorem\n @param self The integer of which to find the modular inverse\n @return result The modular inverse of the input integer. If the modular inverse doesn't exist, it revert the tx" + }, + "id": 2905, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "SqrtMod", + "nameLocation": "6641:7:18", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2884, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2883, + "mutability": "mutable", + "name": "self", + "nameLocation": "6657:4:18", + "nodeType": "VariableDeclaration", + "scope": 2905, + "src": "6649:12:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2882, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6649:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6648:14:18" + }, + "returnParameters": { + "id": 2887, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2886, + "mutability": "mutable", + "name": "result", + "nameLocation": "6694:6:18", + "nodeType": "VariableDeclaration", + "scope": 2905, + "src": "6686:14:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2885, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6686:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6685:16:18" + }, + "scope": 3904, + "src": "6632:1501:18", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2942, + "nodeType": "Block", + "src": "8294:138:18", + "statements": [ + { + "id": 2941, + "nodeType": "UncheckedBlock", + "src": "8304:122:18", + "statements": [ + { + "expression": { + "id": 2921, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 2917, + "name": "P", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2915, + "src": "8328:1:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$4_memory_ptr", + "typeString": "uint256[4] memory" + } + }, + "id": 2919, + "indexExpression": { + "hexValue": "32", + "id": 2918, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8330:1:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8328:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "31", + "id": 2920, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8335:1:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "8328:8:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2922, + "nodeType": "ExpressionStatement", + "src": "8328:8:18" + }, + { + "expression": { + "id": 2927, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 2923, + "name": "P", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2915, + "src": "8355:1:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$4_memory_ptr", + "typeString": "uint256[4] memory" + } + }, + "id": 2925, + "indexExpression": { + "hexValue": "33", + "id": 2924, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8357:1:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8355:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "31", + "id": 2926, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8362:1:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "8355:8:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2928, + "nodeType": "ExpressionStatement", + "src": "8355:8:18" + }, + { + "expression": { + "id": 2933, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 2929, + "name": "P", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2915, + "src": "8383:1:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$4_memory_ptr", + "typeString": "uint256[4] memory" + } + }, + "id": 2931, + "indexExpression": { + "hexValue": "30", + "id": 2930, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8385:1:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8383:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2932, + "name": "x0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2908, + "src": "8390:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8383:9:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2934, + "nodeType": "ExpressionStatement", + "src": "8383:9:18" + }, + { + "expression": { + "id": 2939, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 2935, + "name": "P", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2915, + "src": "8406:1:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$4_memory_ptr", + "typeString": "uint256[4] memory" + } + }, + "id": 2937, + "indexExpression": { + "hexValue": "31", + "id": 2936, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8408:1:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8406:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2938, + "name": "y0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2910, + "src": "8413:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8406:9:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2940, + "nodeType": "ExpressionStatement", + "src": "8406:9:18" + } + ] + } + ] + }, + "documentation": { + "id": 2906, + "nodeType": "StructuredDocumentation", + "src": "8138:62:18", + "text": " /* @dev Convert from affine rep to XYZZ rep" + }, + "id": 2943, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ecAff_SetZZ", + "nameLocation": "8214:11:18", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2911, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2908, + "mutability": "mutable", + "name": "x0", + "nameLocation": "8234:2:18", + "nodeType": "VariableDeclaration", + "scope": 2943, + "src": "8226:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2907, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8226:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2910, + "mutability": "mutable", + "name": "y0", + "nameLocation": "8246:2:18", + "nodeType": "VariableDeclaration", + "scope": 2943, + "src": "8238:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2909, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8238:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8225:24:18" + }, + "returnParameters": { + "id": 2916, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2915, + "mutability": "mutable", + "name": "P", + "nameLocation": "8291:1:18", + "nodeType": "VariableDeclaration", + "scope": 2943, + "src": "8273:19:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$4_memory_ptr", + "typeString": "uint256[4]" + }, + "typeName": { + "baseType": { + "id": 2912, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8273:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2914, + "length": { + "hexValue": "34", + "id": 2913, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8281:1:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "nodeType": "ArrayTypeName", + "src": "8273:10:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$4_storage_ptr", + "typeString": "uint256[4]" + } + }, + "visibility": "internal" + } + ], + "src": "8272:21:18" + }, + "scope": 3904, + "src": "8205:227:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3010, + "nodeType": "Block", + "src": "8520:271:18", + "statements": [ + { + "assignments": [ + 2953 + ], + "declarations": [ + { + "constant": false, + "id": 2953, + "mutability": "mutable", + "name": "y2", + "nameLocation": "8540:2:18", + "nodeType": "VariableDeclaration", + "scope": 3010, + "src": "8532:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2952, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8532:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2963, + "initialValue": { + "arguments": [ + { + "id": 2955, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2945, + "src": "8550:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "id": 2957, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2945, + "src": "8559:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2958, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2945, + "src": "8561:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2959, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "8563:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2956, + "name": "mulmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -16, + "src": "8552:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 2960, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8552:13:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2961, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "8566:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2954, + "name": "mulmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -16, + "src": "8543:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 2962, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8543:25:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8532:36:18" + }, + { + "expression": { + "id": 2978, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2964, + "name": "y2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2953, + "src": "8582:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 2966, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2577, + "src": "8592:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "id": 2968, + "name": "y2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2953, + "src": "8601:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "id": 2970, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2945, + "src": "8611:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2971, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2574, + "src": "8613:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2972, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "8615:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2969, + "name": "mulmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -16, + "src": "8604:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 2973, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8604:13:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2974, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "8618:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2967, + "name": "addmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -2, + "src": "8594:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_addmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 2975, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8594:26:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2976, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "8621:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2965, + "name": "addmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -2, + "src": "8585:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_addmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 2977, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8585:38:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8582:41:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2979, + "nodeType": "ExpressionStatement", + "src": "8582:41:18" + }, + { + "expression": { + "id": 2984, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2980, + "name": "y", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2950, + "src": "8643:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 2982, + "name": "y2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2953, + "src": "8653:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2981, + "name": "SqrtMod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2905, + "src": "8645:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view returns (uint256)" + } + }, + "id": 2983, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8645:11:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8643:13:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2985, + "nodeType": "ExpressionStatement", + "src": "8643:13:18" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2988, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2986, + "name": "y", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2950, + "src": "8669:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 2987, + "name": "_NOTSQUARE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2601, + "src": "8672:10:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8669:13:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2992, + "nodeType": "IfStatement", + "src": "8666:59:18", + "trueBody": { + "id": 2991, + "nodeType": "Block", + "src": "8683:42:18", + "statements": [ + { + "expression": { + "id": 2989, + "name": "_NOTONCURVE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2604, + "src": "8703:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2951, + "id": 2990, + "nodeType": "Return", + "src": "8696:18:18" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3001, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2995, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2993, + "name": "y", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2950, + "src": "8738:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "&", + "rightExpression": { + "hexValue": "31", + "id": 2994, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8740:1:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "8738:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 2996, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "8737:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2999, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2997, + "name": "parity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2947, + "src": "8745:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "&", + "rightExpression": { + "hexValue": "31", + "id": 2998, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8752:1:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "8745:8:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 3000, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "8744:10:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8737:17:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3009, + "nodeType": "IfStatement", + "src": "8734:51:18", + "trueBody": { + "id": 3008, + "nodeType": "Block", + "src": "8755:30:18", + "statements": [ + { + "expression": { + "id": 3006, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3002, + "name": "y", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2950, + "src": "8769:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3005, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3003, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "8771:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 3004, + "name": "y", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2950, + "src": "8773:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8771:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8769:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3007, + "nodeType": "ExpressionStatement", + "src": "8769:5:18" + } + ] + } + } + ] + }, + "id": 3011, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ec_Decompress", + "nameLocation": "8447:13:18", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2948, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2945, + "mutability": "mutable", + "name": "x", + "nameLocation": "8469:1:18", + "nodeType": "VariableDeclaration", + "scope": 3011, + "src": "8461:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2944, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8461:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2947, + "mutability": "mutable", + "name": "parity", + "nameLocation": "8480:6:18", + "nodeType": "VariableDeclaration", + "scope": 3011, + "src": "8472:14:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2946, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8472:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8460:27:18" + }, + "returnParameters": { + "id": 2951, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2950, + "mutability": "mutable", + "name": "y", + "nameLocation": "8518:1:18", + "nodeType": "VariableDeclaration", + "scope": 3011, + "src": "8510:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2949, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8510:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8509:11:18" + }, + "scope": 3904, + "src": "8438:353:18", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3065, + "nodeType": "Block", + "src": "9069:236:18", + "statements": [ + { + "assignments": [ + 3028 + ], + "declarations": [ + { + "constant": false, + "id": 3028, + "mutability": "mutable", + "name": "zzzInv", + "nameLocation": "9087:6:18", + "nodeType": "VariableDeclaration", + "scope": 3065, + "src": "9079:14:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3027, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9079:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3032, + "initialValue": { + "arguments": [ + { + "id": 3030, + "name": "zzz", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3020, + "src": "9108:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3029, + "name": "FCL_pModInv", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2624, + "src": "9096:11:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view returns (uint256)" + } + }, + "id": 3031, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9096:16:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9079:33:18" + }, + { + "expression": { + "id": 3039, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3033, + "name": "y1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3025, + "src": "9130:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 3035, + "name": "y", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3016, + "src": "9142:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3036, + "name": "zzzInv", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3028, + "src": "9145:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3037, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "9153:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3034, + "name": "mulmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -16, + "src": "9135:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 3038, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9135:20:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9130:25:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3040, + "nodeType": "ExpressionStatement", + "src": "9130:25:18" + }, + { + "assignments": [ + 3042 + ], + "declarations": [ + { + "constant": false, + "id": 3042, + "mutability": "mutable", + "name": "_b", + "nameLocation": "9181:2:18", + "nodeType": "VariableDeclaration", + "scope": 3065, + "src": "9173:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3041, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9173:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3048, + "initialValue": { + "arguments": [ + { + "id": 3044, + "name": "zz", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3018, + "src": "9193:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3045, + "name": "zzzInv", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3028, + "src": "9197:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3046, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "9205:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3043, + "name": "mulmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -16, + "src": "9186:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 3047, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9186:21:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9173:34:18" + }, + { + "expression": { + "id": 3055, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3049, + "name": "zzzInv", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3028, + "src": "9223:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 3051, + "name": "_b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3042, + "src": "9239:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3052, + "name": "_b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3042, + "src": "9243:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3053, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "9247:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3050, + "name": "mulmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -16, + "src": "9232:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 3054, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9232:17:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9223:26:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3056, + "nodeType": "ExpressionStatement", + "src": "9223:26:18" + }, + { + "expression": { + "id": 3063, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3057, + "name": "x1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3023, + "src": "9266:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 3059, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3014, + "src": "9278:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3060, + "name": "zzzInv", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3028, + "src": "9281:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3061, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "9289:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3058, + "name": "mulmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -16, + "src": "9271:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 3062, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9271:20:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9266:25:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3064, + "nodeType": "ExpressionStatement", + "src": "9266:25:18" + } + ] + }, + "documentation": { + "id": 3012, + "nodeType": "StructuredDocumentation", + "src": "8797:62:18", + "text": " /* @dev Convert from XYZZ rep to affine rep" + }, + "id": 3066, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ecZZ_SetAff", + "nameLocation": "8963:11:18", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3021, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3014, + "mutability": "mutable", + "name": "x", + "nameLocation": "8983:1:18", + "nodeType": "VariableDeclaration", + "scope": 3066, + "src": "8975:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3013, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8975:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3016, + "mutability": "mutable", + "name": "y", + "nameLocation": "8994:1:18", + "nodeType": "VariableDeclaration", + "scope": 3066, + "src": "8986:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3015, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8986:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3018, + "mutability": "mutable", + "name": "zz", + "nameLocation": "9005:2:18", + "nodeType": "VariableDeclaration", + "scope": 3066, + "src": "8997:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3017, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8997:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3020, + "mutability": "mutable", + "name": "zzz", + "nameLocation": "9017:3:18", + "nodeType": "VariableDeclaration", + "scope": 3066, + "src": "9009:11:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3019, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9009:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8974:47:18" + }, + "returnParameters": { + "id": 3026, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3023, + "mutability": "mutable", + "name": "x1", + "nameLocation": "9053:2:18", + "nodeType": "VariableDeclaration", + "scope": 3066, + "src": "9045:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3022, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9045:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3025, + "mutability": "mutable", + "name": "y1", + "nameLocation": "9065:2:18", + "nodeType": "VariableDeclaration", + "scope": 3066, + "src": "9057:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3024, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9057:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "9044:24:18" + }, + "scope": 3904, + "src": "8954:351:18", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3094, + "nodeType": "Block", + "src": "9578:764:18", + "statements": [ + { + "id": 3087, + "nodeType": "UncheckedBlock", + "src": "9588:715:18", + "statements": [ + { + "AST": { + "nativeSrc": "9621:672:18", + "nodeType": "YulBlock", + "src": "9621:672:18", + "statements": [ + { + "nativeSrc": "9639:21:18", + "nodeType": "YulAssignment", + "src": "9639:21:18", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9652:1:18", + "nodeType": "YulLiteral", + "src": "9652:1:18", + "type": "", + "value": "2" + }, + { + "name": "y", + "nativeSrc": "9655:1:18", + "nodeType": "YulIdentifier", + "src": "9655:1:18" + }, + { + "name": "p", + "nativeSrc": "9658:1:18", + "nodeType": "YulIdentifier", + "src": "9658:1:18" + } + ], + "functionName": { + "name": "mulmod", + "nativeSrc": "9645:6:18", + "nodeType": "YulIdentifier", + "src": "9645:6:18" + }, + "nativeSrc": "9645:15:18", + "nodeType": "YulFunctionCall", + "src": "9645:15:18" + }, + "variableNames": [ + { + "name": "P0", + "nativeSrc": "9639:2:18", + "nodeType": "YulIdentifier", + "src": "9639:2:18" + } + ] + }, + { + "nativeSrc": "9688:23:18", + "nodeType": "YulAssignment", + "src": "9688:23:18", + "value": { + "arguments": [ + { + "name": "P0", + "nativeSrc": "9701:2:18", + "nodeType": "YulIdentifier", + "src": "9701:2:18" + }, + { + "name": "P0", + "nativeSrc": "9705:2:18", + "nodeType": "YulIdentifier", + "src": "9705:2:18" + }, + { + "name": "p", + "nativeSrc": "9709:1:18", + "nodeType": "YulIdentifier", + "src": "9709:1:18" + } + ], + "functionName": { + "name": "mulmod", + "nativeSrc": "9694:6:18", + "nodeType": "YulIdentifier", + "src": "9694:6:18" + }, + "nativeSrc": "9694:17:18", + "nodeType": "YulFunctionCall", + "src": "9694:17:18" + }, + "variableNames": [ + { + "name": "P2", + "nativeSrc": "9688:2:18", + "nodeType": "YulIdentifier", + "src": "9688:2:18" + } + ] + }, + { + "nativeSrc": "9737:22:18", + "nodeType": "YulAssignment", + "src": "9737:22:18", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "9750:1:18", + "nodeType": "YulIdentifier", + "src": "9750:1:18" + }, + { + "name": "P2", + "nativeSrc": "9753:2:18", + "nodeType": "YulIdentifier", + "src": "9753:2:18" + }, + { + "name": "p", + "nativeSrc": "9757:1:18", + "nodeType": "YulIdentifier", + "src": "9757:1:18" + } + ], + "functionName": { + "name": "mulmod", + "nativeSrc": "9743:6:18", + "nodeType": "YulIdentifier", + "src": "9743:6:18" + }, + "nativeSrc": "9743:16:18", + "nodeType": "YulFunctionCall", + "src": "9743:16:18" + }, + "variableNames": [ + { + "name": "P3", + "nativeSrc": "9737:2:18", + "nodeType": "YulIdentifier", + "src": "9737:2:18" + } + ] + }, + { + "nativeSrc": "9788:23:18", + "nodeType": "YulAssignment", + "src": "9788:23:18", + "value": { + "arguments": [ + { + "name": "P0", + "nativeSrc": "9801:2:18", + "nodeType": "YulIdentifier", + "src": "9801:2:18" + }, + { + "name": "P2", + "nativeSrc": "9805:2:18", + "nodeType": "YulIdentifier", + "src": "9805:2:18" + }, + { + "name": "p", + "nativeSrc": "9809:1:18", + "nodeType": "YulIdentifier", + "src": "9809:1:18" + } + ], + "functionName": { + "name": "mulmod", + "nativeSrc": "9794:6:18", + "nodeType": "YulIdentifier", + "src": "9794:6:18" + }, + "nativeSrc": "9794:17:18", + "nodeType": "YulFunctionCall", + "src": "9794:17:18" + }, + "variableNames": [ + { + "name": "P1", + "nativeSrc": "9788:2:18", + "nodeType": "YulIdentifier", + "src": "9788:2:18" + } + ] + }, + { + "nativeSrc": "9836:23:18", + "nodeType": "YulAssignment", + "src": "9836:23:18", + "value": { + "arguments": [ + { + "name": "P2", + "nativeSrc": "9849:2:18", + "nodeType": "YulIdentifier", + "src": "9849:2:18" + }, + { + "name": "zz", + "nativeSrc": "9853:2:18", + "nodeType": "YulIdentifier", + "src": "9853:2:18" + }, + { + "name": "p", + "nativeSrc": "9857:1:18", + "nodeType": "YulIdentifier", + "src": "9857:1:18" + } + ], + "functionName": { + "name": "mulmod", + "nativeSrc": "9842:6:18", + "nodeType": "YulIdentifier", + "src": "9842:6:18" + }, + "nativeSrc": "9842:17:18", + "nodeType": "YulFunctionCall", + "src": "9842:17:18" + }, + "variableNames": [ + { + "name": "P2", + "nativeSrc": "9836:2:18", + "nodeType": "YulIdentifier", + "src": "9836:2:18" + } + ] + }, + { + "nativeSrc": "9888:73:18", + "nodeType": "YulAssignment", + "src": "9888:73:18", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9901:1:18", + "nodeType": "YulLiteral", + "src": "9901:1:18", + "type": "", + "value": "3" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "x", + "nativeSrc": "9918:1:18", + "nodeType": "YulIdentifier", + "src": "9918:1:18" + }, + { + "arguments": [ + { + "name": "p", + "nativeSrc": "9925:1:18", + "nodeType": "YulIdentifier", + "src": "9925:1:18" + }, + { + "name": "zz", + "nativeSrc": "9928:2:18", + "nodeType": "YulIdentifier", + "src": "9928:2:18" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "9921:3:18", + "nodeType": "YulIdentifier", + "src": "9921:3:18" + }, + "nativeSrc": "9921:10:18", + "nodeType": "YulFunctionCall", + "src": "9921:10:18" + }, + { + "name": "p", + "nativeSrc": "9933:1:18", + "nodeType": "YulIdentifier", + "src": "9933:1:18" + } + ], + "functionName": { + "name": "addmod", + "nativeSrc": "9911:6:18", + "nodeType": "YulIdentifier", + "src": "9911:6:18" + }, + "nativeSrc": "9911:24:18", + "nodeType": "YulFunctionCall", + "src": "9911:24:18" + }, + { + "arguments": [ + { + "name": "x", + "nativeSrc": "9944:1:18", + "nodeType": "YulIdentifier", + "src": "9944:1:18" + }, + { + "name": "zz", + "nativeSrc": "9947:2:18", + "nodeType": "YulIdentifier", + "src": "9947:2:18" + }, + { + "name": "p", + "nativeSrc": "9951:1:18", + "nodeType": "YulIdentifier", + "src": "9951:1:18" + } + ], + "functionName": { + "name": "addmod", + "nativeSrc": "9937:6:18", + "nodeType": "YulIdentifier", + "src": "9937:6:18" + }, + "nativeSrc": "9937:16:18", + "nodeType": "YulFunctionCall", + "src": "9937:16:18" + }, + { + "name": "p", + "nativeSrc": "9955:1:18", + "nodeType": "YulIdentifier", + "src": "9955:1:18" + } + ], + "functionName": { + "name": "mulmod", + "nativeSrc": "9904:6:18", + "nodeType": "YulIdentifier", + "src": "9904:6:18" + }, + "nativeSrc": "9904:53:18", + "nodeType": "YulFunctionCall", + "src": "9904:53:18" + }, + { + "name": "p", + "nativeSrc": "9959:1:18", + "nodeType": "YulIdentifier", + "src": "9959:1:18" + } + ], + "functionName": { + "name": "mulmod", + "nativeSrc": "9894:6:18", + "nodeType": "YulIdentifier", + "src": "9894:6:18" + }, + "nativeSrc": "9894:67:18", + "nodeType": "YulFunctionCall", + "src": "9894:67:18" + }, + "variableNames": [ + { + "name": "zz", + "nativeSrc": "9888:2:18", + "nodeType": "YulIdentifier", + "src": "9888:2:18" + } + ] + }, + { + "nativeSrc": "10002:58:18", + "nodeType": "YulAssignment", + "src": "10002:58:18", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "zz", + "nativeSrc": "10022:2:18", + "nodeType": "YulIdentifier", + "src": "10022:2:18" + }, + { + "name": "zz", + "nativeSrc": "10026:2:18", + "nodeType": "YulIdentifier", + "src": "10026:2:18" + }, + { + "name": "p", + "nativeSrc": "10030:1:18", + "nodeType": "YulIdentifier", + "src": "10030:1:18" + } + ], + "functionName": { + "name": "mulmod", + "nativeSrc": "10015:6:18", + "nodeType": "YulIdentifier", + "src": "10015:6:18" + }, + "nativeSrc": "10015:17:18", + "nodeType": "YulFunctionCall", + "src": "10015:17:18" + }, + { + "arguments": [ + { + "name": "minus_2", + "nativeSrc": "10041:7:18", + "nodeType": "YulIdentifier", + "src": "10041:7:18" + }, + { + "name": "P3", + "nativeSrc": "10050:2:18", + "nodeType": "YulIdentifier", + "src": "10050:2:18" + }, + { + "name": "p", + "nativeSrc": "10054:1:18", + "nodeType": "YulIdentifier", + "src": "10054:1:18" + } + ], + "functionName": { + "name": "mulmod", + "nativeSrc": "10034:6:18", + "nodeType": "YulIdentifier", + "src": "10034:6:18" + }, + "nativeSrc": "10034:22:18", + "nodeType": "YulFunctionCall", + "src": "10034:22:18" + }, + { + "name": "p", + "nativeSrc": "10058:1:18", + "nodeType": "YulIdentifier", + "src": "10058:1:18" + } + ], + "functionName": { + "name": "addmod", + "nativeSrc": "10008:6:18", + "nodeType": "YulIdentifier", + "src": "10008:6:18" + }, + "nativeSrc": "10008:52:18", + "nodeType": "YulFunctionCall", + "src": "10008:52:18" + }, + "variableNames": [ + { + "name": "P0", + "nativeSrc": "10002:2:18", + "nodeType": "YulIdentifier", + "src": "10002:2:18" + } + ] + }, + { + "nativeSrc": "10089:45:18", + "nodeType": "YulAssignment", + "src": "10089:45:18", + "value": { + "arguments": [ + { + "name": "zz", + "nativeSrc": "10101:2:18", + "nodeType": "YulIdentifier", + "src": "10101:2:18" + }, + { + "arguments": [ + { + "name": "P3", + "nativeSrc": "10112:2:18", + "nodeType": "YulIdentifier", + "src": "10112:2:18" + }, + { + "arguments": [ + { + "name": "p", + "nativeSrc": "10120:1:18", + "nodeType": "YulIdentifier", + "src": "10120:1:18" + }, + { + "name": "P0", + "nativeSrc": "10123:2:18", + "nodeType": "YulIdentifier", + "src": "10123:2:18" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "10116:3:18", + "nodeType": "YulIdentifier", + "src": "10116:3:18" + }, + "nativeSrc": "10116:10:18", + "nodeType": "YulFunctionCall", + "src": "10116:10:18" + }, + { + "name": "p", + "nativeSrc": "10128:1:18", + "nodeType": "YulIdentifier", + "src": "10128:1:18" + } + ], + "functionName": { + "name": "addmod", + "nativeSrc": "10105:6:18", + "nodeType": "YulIdentifier", + "src": "10105:6:18" + }, + "nativeSrc": "10105:25:18", + "nodeType": "YulFunctionCall", + "src": "10105:25:18" + }, + { + "name": "p", + "nativeSrc": "10132:1:18", + "nodeType": "YulIdentifier", + "src": "10132:1:18" + } + ], + "functionName": { + "name": "mulmod", + "nativeSrc": "10094:6:18", + "nodeType": "YulIdentifier", + "src": "10094:6:18" + }, + "nativeSrc": "10094:40:18", + "nodeType": "YulFunctionCall", + "src": "10094:40:18" + }, + "variableNames": [ + { + "name": "x", + "nativeSrc": "10089:1:18", + "nodeType": "YulIdentifier", + "src": "10089:1:18" + } + ] + }, + { + "nativeSrc": "10161:24:18", + "nodeType": "YulAssignment", + "src": "10161:24:18", + "value": { + "arguments": [ + { + "name": "P1", + "nativeSrc": "10174:2:18", + "nodeType": "YulIdentifier", + "src": "10174:2:18" + }, + { + "name": "zzz", + "nativeSrc": "10178:3:18", + "nodeType": "YulIdentifier", + "src": "10178:3:18" + }, + { + "name": "p", + "nativeSrc": "10183:1:18", + "nodeType": "YulIdentifier", + "src": "10183:1:18" + } + ], + "functionName": { + "name": "mulmod", + "nativeSrc": "10167:6:18", + "nodeType": "YulIdentifier", + "src": "10167:6:18" + }, + "nativeSrc": "10167:18:18", + "nodeType": "YulFunctionCall", + "src": "10167:18:18" + }, + "variableNames": [ + { + "name": "P3", + "nativeSrc": "10161:2:18", + "nodeType": "YulIdentifier", + "src": "10161:2:18" + } + ] + }, + { + "nativeSrc": "10216:44:18", + "nodeType": "YulAssignment", + "src": "10216:44:18", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "10229:1:18", + "nodeType": "YulIdentifier", + "src": "10229:1:18" + }, + { + "arguments": [ + { + "name": "p", + "nativeSrc": "10236:1:18", + "nodeType": "YulIdentifier", + "src": "10236:1:18" + }, + { + "arguments": [ + { + "name": "P1", + "nativeSrc": "10246:2:18", + "nodeType": "YulIdentifier", + "src": "10246:2:18" + }, + { + "name": "y", + "nativeSrc": "10250:1:18", + "nodeType": "YulIdentifier", + "src": "10250:1:18" + }, + { + "name": "p", + "nativeSrc": "10253:1:18", + "nodeType": "YulIdentifier", + "src": "10253:1:18" + } + ], + "functionName": { + "name": "mulmod", + "nativeSrc": "10239:6:18", + "nodeType": "YulIdentifier", + "src": "10239:6:18" + }, + "nativeSrc": "10239:16:18", + "nodeType": "YulFunctionCall", + "src": "10239:16:18" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "10232:3:18", + "nodeType": "YulIdentifier", + "src": "10232:3:18" + }, + "nativeSrc": "10232:24:18", + "nodeType": "YulFunctionCall", + "src": "10232:24:18" + }, + { + "name": "p", + "nativeSrc": "10258:1:18", + "nodeType": "YulIdentifier", + "src": "10258:1:18" + } + ], + "functionName": { + "name": "addmod", + "nativeSrc": "10222:6:18", + "nodeType": "YulIdentifier", + "src": "10222:6:18" + }, + "nativeSrc": "10222:38:18", + "nodeType": "YulFunctionCall", + "src": "10222:38:18" + }, + "variableNames": [ + { + "name": "P1", + "nativeSrc": "10216:2:18", + "nodeType": "YulIdentifier", + "src": "10216:2:18" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 3078, + "isOffset": false, + "isSlot": false, + "src": "10002:2:18", + "valueSize": 1 + }, + { + "declaration": 3078, + "isOffset": false, + "isSlot": false, + "src": "10123:2:18", + "valueSize": 1 + }, + { + "declaration": 3078, + "isOffset": false, + "isSlot": false, + "src": "9639:2:18", + "valueSize": 1 + }, + { + "declaration": 3078, + "isOffset": false, + "isSlot": false, + "src": "9701:2:18", + "valueSize": 1 + }, + { + "declaration": 3078, + "isOffset": false, + "isSlot": false, + "src": "9705:2:18", + "valueSize": 1 + }, + { + "declaration": 3078, + "isOffset": false, + "isSlot": false, + "src": "9801:2:18", + "valueSize": 1 + }, + { + "declaration": 3080, + "isOffset": false, + "isSlot": false, + "src": "10174:2:18", + "valueSize": 1 + }, + { + "declaration": 3080, + "isOffset": false, + "isSlot": false, + "src": "10216:2:18", + "valueSize": 1 + }, + { + "declaration": 3080, + "isOffset": false, + "isSlot": false, + "src": "10246:2:18", + "valueSize": 1 + }, + { + "declaration": 3080, + "isOffset": false, + "isSlot": false, + "src": "9788:2:18", + "valueSize": 1 + }, + { + "declaration": 3082, + "isOffset": false, + "isSlot": false, + "src": "9688:2:18", + "valueSize": 1 + }, + { + "declaration": 3082, + "isOffset": false, + "isSlot": false, + "src": "9753:2:18", + "valueSize": 1 + }, + { + "declaration": 3082, + "isOffset": false, + "isSlot": false, + "src": "9805:2:18", + "valueSize": 1 + }, + { + "declaration": 3082, + "isOffset": false, + "isSlot": false, + "src": "9836:2:18", + "valueSize": 1 + }, + { + "declaration": 3082, + "isOffset": false, + "isSlot": false, + "src": "9849:2:18", + "valueSize": 1 + }, + { + "declaration": 3084, + "isOffset": false, + "isSlot": false, + "src": "10050:2:18", + "valueSize": 1 + }, + { + "declaration": 3084, + "isOffset": false, + "isSlot": false, + "src": "10112:2:18", + "valueSize": 1 + }, + { + "declaration": 3084, + "isOffset": false, + "isSlot": false, + "src": "10161:2:18", + "valueSize": 1 + }, + { + "declaration": 3084, + "isOffset": false, + "isSlot": false, + "src": "9737:2:18", + "valueSize": 1 + }, + { + "declaration": 2589, + "isOffset": false, + "isSlot": false, + "src": "10041:7:18", + "valueSize": 1 + }, + { + "declaration": 2571, + "isOffset": false, + "isSlot": false, + "src": "10030:1:18", + "valueSize": 1 + }, + { + "declaration": 2571, + "isOffset": false, + "isSlot": false, + "src": "10054:1:18", + "valueSize": 1 + }, + { + "declaration": 2571, + "isOffset": false, + "isSlot": false, + "src": "10058:1:18", + "valueSize": 1 + }, + { + "declaration": 2571, + "isOffset": false, + "isSlot": false, + "src": "10120:1:18", + "valueSize": 1 + }, + { + "declaration": 2571, + "isOffset": false, + "isSlot": false, + "src": "10128:1:18", + "valueSize": 1 + }, + { + "declaration": 2571, + "isOffset": false, + "isSlot": false, + "src": "10132:1:18", + "valueSize": 1 + }, + { + "declaration": 2571, + "isOffset": false, + "isSlot": false, + "src": "10183:1:18", + "valueSize": 1 + }, + { + "declaration": 2571, + "isOffset": false, + "isSlot": false, + "src": "10236:1:18", + "valueSize": 1 + }, + { + "declaration": 2571, + "isOffset": false, + "isSlot": false, + "src": "10253:1:18", + "valueSize": 1 + }, + { + "declaration": 2571, + "isOffset": false, + "isSlot": false, + "src": "10258:1:18", + "valueSize": 1 + }, + { + "declaration": 2571, + "isOffset": false, + "isSlot": false, + "src": "9658:1:18", + "valueSize": 1 + }, + { + "declaration": 2571, + "isOffset": false, + "isSlot": false, + "src": "9709:1:18", + "valueSize": 1 + }, + { + "declaration": 2571, + "isOffset": false, + "isSlot": false, + "src": "9757:1:18", + "valueSize": 1 + }, + { + "declaration": 2571, + "isOffset": false, + "isSlot": false, + "src": "9809:1:18", + "valueSize": 1 + }, + { + "declaration": 2571, + "isOffset": false, + "isSlot": false, + "src": "9857:1:18", + "valueSize": 1 + }, + { + "declaration": 2571, + "isOffset": false, + "isSlot": false, + "src": "9925:1:18", + "valueSize": 1 + }, + { + "declaration": 2571, + "isOffset": false, + "isSlot": false, + "src": "9933:1:18", + "valueSize": 1 + }, + { + "declaration": 2571, + "isOffset": false, + "isSlot": false, + "src": "9951:1:18", + "valueSize": 1 + }, + { + "declaration": 2571, + "isOffset": false, + "isSlot": false, + "src": "9955:1:18", + "valueSize": 1 + }, + { + "declaration": 2571, + "isOffset": false, + "isSlot": false, + "src": "9959:1:18", + "valueSize": 1 + }, + { + "declaration": 3069, + "isOffset": false, + "isSlot": false, + "src": "10089:1:18", + "valueSize": 1 + }, + { + "declaration": 3069, + "isOffset": false, + "isSlot": false, + "src": "10229:1:18", + "valueSize": 1 + }, + { + "declaration": 3069, + "isOffset": false, + "isSlot": false, + "src": "9750:1:18", + "valueSize": 1 + }, + { + "declaration": 3069, + "isOffset": false, + "isSlot": false, + "src": "9918:1:18", + "valueSize": 1 + }, + { + "declaration": 3069, + "isOffset": false, + "isSlot": false, + "src": "9944:1:18", + "valueSize": 1 + }, + { + "declaration": 3071, + "isOffset": false, + "isSlot": false, + "src": "10250:1:18", + "valueSize": 1 + }, + { + "declaration": 3071, + "isOffset": false, + "isSlot": false, + "src": "9655:1:18", + "valueSize": 1 + }, + { + "declaration": 3073, + "isOffset": false, + "isSlot": false, + "src": "10022:2:18", + "valueSize": 1 + }, + { + "declaration": 3073, + "isOffset": false, + "isSlot": false, + "src": "10026:2:18", + "valueSize": 1 + }, + { + "declaration": 3073, + "isOffset": false, + "isSlot": false, + "src": "10101:2:18", + "valueSize": 1 + }, + { + "declaration": 3073, + "isOffset": false, + "isSlot": false, + "src": "9853:2:18", + "valueSize": 1 + }, + { + "declaration": 3073, + "isOffset": false, + "isSlot": false, + "src": "9888:2:18", + "valueSize": 1 + }, + { + "declaration": 3073, + "isOffset": false, + "isSlot": false, + "src": "9928:2:18", + "valueSize": 1 + }, + { + "declaration": 3073, + "isOffset": false, + "isSlot": false, + "src": "9947:2:18", + "valueSize": 1 + }, + { + "declaration": 3075, + "isOffset": false, + "isSlot": false, + "src": "10178:3:18", + "valueSize": 1 + } + ], + "id": 3086, + "nodeType": "InlineAssembly", + "src": "9612:681:18" + } + ] + }, + { + "expression": { + "components": [ + { + "id": 3088, + "name": "P0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3078, + "src": "10320:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3089, + "name": "P1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3080, + "src": "10324:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3090, + "name": "P2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3082, + "src": "10328:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3091, + "name": "P3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3084, + "src": "10332:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 3092, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "10319:16:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256,uint256,uint256)" + } + }, + "functionReturnParameters": 3085, + "id": 3093, + "nodeType": "Return", + "src": "10312:23:18" + } + ] + }, + "documentation": { + "id": 3067, + "nodeType": "StructuredDocumentation", + "src": "9311:50:18", + "text": " /* @dev Sutherland2008 doubling" + }, + "id": 3095, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ecZZ_Dbl", + "nameLocation": "9423:8:18", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3076, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3069, + "mutability": "mutable", + "name": "x", + "nameLocation": "9440:1:18", + "nodeType": "VariableDeclaration", + "scope": 3095, + "src": "9432:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3068, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9432:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3071, + "mutability": "mutable", + "name": "y", + "nameLocation": "9451:1:18", + "nodeType": "VariableDeclaration", + "scope": 3095, + "src": "9443:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3070, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9443:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3073, + "mutability": "mutable", + "name": "zz", + "nameLocation": "9462:2:18", + "nodeType": "VariableDeclaration", + "scope": 3095, + "src": "9454:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3072, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9454:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3075, + "mutability": "mutable", + "name": "zzz", + "nameLocation": "9474:3:18", + "nodeType": "VariableDeclaration", + "scope": 3095, + "src": "9466:11:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3074, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9466:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "9431:47:18" + }, + "returnParameters": { + "id": 3085, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3078, + "mutability": "mutable", + "name": "P0", + "nameLocation": "9534:2:18", + "nodeType": "VariableDeclaration", + "scope": 3095, + "src": "9526:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3077, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9526:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3080, + "mutability": "mutable", + "name": "P1", + "nameLocation": "9546:2:18", + "nodeType": "VariableDeclaration", + "scope": 3095, + "src": "9538:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3079, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9538:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3082, + "mutability": "mutable", + "name": "P2", + "nameLocation": "9558:2:18", + "nodeType": "VariableDeclaration", + "scope": 3095, + "src": "9550:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3081, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9550:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3084, + "mutability": "mutable", + "name": "P3", + "nameLocation": "9570:2:18", + "nodeType": "VariableDeclaration", + "scope": 3095, + "src": "9562:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3083, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9562:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "9525:48:18" + }, + "scope": 3904, + "src": "9414:928:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3138, + "nodeType": "Block", + "src": "10752:880:18", + "statements": [ + { + "id": 3131, + "nodeType": "UncheckedBlock", + "src": "10762:815:18", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3121, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3119, + "name": "y1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3100, + "src": "10790:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 3120, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10796:1:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "10790:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3129, + "nodeType": "IfStatement", + "src": "10786:67:18", + "trueBody": { + "id": 3128, + "nodeType": "Block", + "src": "10799:54:18", + "statements": [ + { + "expression": { + "components": [ + { + "id": 3122, + "name": "x2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3106, + "src": "10825:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3123, + "name": "y2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3108, + "src": "10829:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "31", + "id": 3124, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10833:1:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + { + "hexValue": "31", + "id": 3125, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10836:1:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "id": 3126, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "10824:14:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_rational_1_by_1_$_t_rational_1_by_1_$", + "typeString": "tuple(uint256,uint256,int_const 1,int_const 1)" + } + }, + "functionReturnParameters": 3118, + "id": 3127, + "nodeType": "Return", + "src": "10817:21:18" + } + ] + } + }, + { + "AST": { + "nativeSrc": "10876:664:18", + "nodeType": "YulBlock", + "src": "10876:664:18", + "statements": [ + { + "nativeSrc": "10894:16:18", + "nodeType": "YulAssignment", + "src": "10894:16:18", + "value": { + "arguments": [ + { + "name": "p", + "nativeSrc": "10904:1:18", + "nodeType": "YulIdentifier", + "src": "10904:1:18" + }, + { + "name": "y1", + "nativeSrc": "10907:2:18", + "nodeType": "YulIdentifier", + "src": "10907:2:18" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "10900:3:18", + "nodeType": "YulIdentifier", + "src": "10900:3:18" + }, + "nativeSrc": "10900:10:18", + "nodeType": "YulFunctionCall", + "src": "10900:10:18" + }, + "variableNames": [ + { + "name": "y1", + "nativeSrc": "10894:2:18", + "nodeType": "YulIdentifier", + "src": "10894:2:18" + } + ] + }, + { + "nativeSrc": "10927:40:18", + "nodeType": "YulAssignment", + "src": "10927:40:18", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "y2", + "nativeSrc": "10947:2:18", + "nodeType": "YulIdentifier", + "src": "10947:2:18" + }, + { + "name": "zzz1", + "nativeSrc": "10951:4:18", + "nodeType": "YulIdentifier", + "src": "10951:4:18" + }, + { + "name": "p", + "nativeSrc": "10957:1:18", + "nodeType": "YulIdentifier", + "src": "10957:1:18" + } + ], + "functionName": { + "name": "mulmod", + "nativeSrc": "10940:6:18", + "nodeType": "YulIdentifier", + "src": "10940:6:18" + }, + "nativeSrc": "10940:19:18", + "nodeType": "YulFunctionCall", + "src": "10940:19:18" + }, + { + "name": "y1", + "nativeSrc": "10961:2:18", + "nodeType": "YulIdentifier", + "src": "10961:2:18" + }, + { + "name": "p", + "nativeSrc": "10965:1:18", + "nodeType": "YulIdentifier", + "src": "10965:1:18" + } + ], + "functionName": { + "name": "addmod", + "nativeSrc": "10933:6:18", + "nodeType": "YulIdentifier", + "src": "10933:6:18" + }, + "nativeSrc": "10933:34:18", + "nodeType": "YulFunctionCall", + "src": "10933:34:18" + }, + "variableNames": [ + { + "name": "y2", + "nativeSrc": "10927:2:18", + "nodeType": "YulIdentifier", + "src": "10927:2:18" + } + ] + }, + { + "nativeSrc": "10984:47:18", + "nodeType": "YulAssignment", + "src": "10984:47:18", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "x2", + "nativeSrc": "11004:2:18", + "nodeType": "YulIdentifier", + "src": "11004:2:18" + }, + { + "name": "zz1", + "nativeSrc": "11008:3:18", + "nodeType": "YulIdentifier", + "src": "11008:3:18" + }, + { + "name": "p", + "nativeSrc": "11013:1:18", + "nodeType": "YulIdentifier", + "src": "11013:1:18" + } + ], + "functionName": { + "name": "mulmod", + "nativeSrc": "10997:6:18", + "nodeType": "YulIdentifier", + "src": "10997:6:18" + }, + "nativeSrc": "10997:18:18", + "nodeType": "YulFunctionCall", + "src": "10997:18:18" + }, + { + "arguments": [ + { + "name": "p", + "nativeSrc": "11021:1:18", + "nodeType": "YulIdentifier", + "src": "11021:1:18" + }, + { + "name": "x1", + "nativeSrc": "11024:2:18", + "nodeType": "YulIdentifier", + "src": "11024:2:18" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "11017:3:18", + "nodeType": "YulIdentifier", + "src": "11017:3:18" + }, + "nativeSrc": "11017:10:18", + "nodeType": "YulFunctionCall", + "src": "11017:10:18" + }, + { + "name": "p", + "nativeSrc": "11029:1:18", + "nodeType": "YulIdentifier", + "src": "11029:1:18" + } + ], + "functionName": { + "name": "addmod", + "nativeSrc": "10990:6:18", + "nodeType": "YulIdentifier", + "src": "10990:6:18" + }, + "nativeSrc": "10990:41:18", + "nodeType": "YulFunctionCall", + "src": "10990:41:18" + }, + "variableNames": [ + { + "name": "x2", + "nativeSrc": "10984:2:18", + "nodeType": "YulIdentifier", + "src": "10984:2:18" + } + ] + }, + { + "nativeSrc": "11048:23:18", + "nodeType": "YulAssignment", + "src": "11048:23:18", + "value": { + "arguments": [ + { + "name": "x2", + "nativeSrc": "11061:2:18", + "nodeType": "YulIdentifier", + "src": "11061:2:18" + }, + { + "name": "x2", + "nativeSrc": "11065:2:18", + "nodeType": "YulIdentifier", + "src": "11065:2:18" + }, + { + "name": "p", + "nativeSrc": "11069:1:18", + "nodeType": "YulIdentifier", + "src": "11069:1:18" + } + ], + "functionName": { + "name": "mulmod", + "nativeSrc": "11054:6:18", + "nodeType": "YulIdentifier", + "src": "11054:6:18" + }, + "nativeSrc": "11054:17:18", + "nodeType": "YulFunctionCall", + "src": "11054:17:18" + }, + "variableNames": [ + { + "name": "P0", + "nativeSrc": "11048:2:18", + "nodeType": "YulIdentifier", + "src": "11048:2:18" + } + ] + }, + { + "nativeSrc": "11099:23:18", + "nodeType": "YulAssignment", + "src": "11099:23:18", + "value": { + "arguments": [ + { + "name": "P0", + "nativeSrc": "11112:2:18", + "nodeType": "YulIdentifier", + "src": "11112:2:18" + }, + { + "name": "x2", + "nativeSrc": "11116:2:18", + "nodeType": "YulIdentifier", + "src": "11116:2:18" + }, + { + "name": "p", + "nativeSrc": "11120:1:18", + "nodeType": "YulIdentifier", + "src": "11120:1:18" + } + ], + "functionName": { + "name": "mulmod", + "nativeSrc": "11105:6:18", + "nodeType": "YulIdentifier", + "src": "11105:6:18" + }, + "nativeSrc": "11105:17:18", + "nodeType": "YulFunctionCall", + "src": "11105:17:18" + }, + "variableNames": [ + { + "name": "P1", + "nativeSrc": "11099:2:18", + "nodeType": "YulIdentifier", + "src": "11099:2:18" + } + ] + }, + { + "nativeSrc": "11152:24:18", + "nodeType": "YulAssignment", + "src": "11152:24:18", + "value": { + "arguments": [ + { + "name": "zz1", + "nativeSrc": "11165:3:18", + "nodeType": "YulIdentifier", + "src": "11165:3:18" + }, + { + "name": "P0", + "nativeSrc": "11170:2:18", + "nodeType": "YulIdentifier", + "src": "11170:2:18" + }, + { + "name": "p", + "nativeSrc": "11174:1:18", + "nodeType": "YulIdentifier", + "src": "11174:1:18" + } + ], + "functionName": { + "name": "mulmod", + "nativeSrc": "11158:6:18", + "nodeType": "YulIdentifier", + "src": "11158:6:18" + }, + "nativeSrc": "11158:18:18", + "nodeType": "YulFunctionCall", + "src": "11158:18:18" + }, + "variableNames": [ + { + "name": "P2", + "nativeSrc": "11152:2:18", + "nodeType": "YulIdentifier", + "src": "11152:2:18" + } + ] + }, + { + "nativeSrc": "11210:25:18", + "nodeType": "YulAssignment", + "src": "11210:25:18", + "value": { + "arguments": [ + { + "name": "zzz1", + "nativeSrc": "11223:4:18", + "nodeType": "YulIdentifier", + "src": "11223:4:18" + }, + { + "name": "P1", + "nativeSrc": "11229:2:18", + "nodeType": "YulIdentifier", + "src": "11229:2:18" + }, + { + "name": "p", + "nativeSrc": "11233:1:18", + "nodeType": "YulIdentifier", + "src": "11233:1:18" + } + ], + "functionName": { + "name": "mulmod", + "nativeSrc": "11216:6:18", + "nodeType": "YulIdentifier", + "src": "11216:6:18" + }, + "nativeSrc": "11216:19:18", + "nodeType": "YulFunctionCall", + "src": "11216:19:18" + }, + "variableNames": [ + { + "name": "P3", + "nativeSrc": "11210:2:18", + "nodeType": "YulIdentifier", + "src": "11210:2:18" + } + ] + }, + { + "nativeSrc": "11272:24:18", + "nodeType": "YulAssignment", + "src": "11272:24:18", + "value": { + "arguments": [ + { + "name": "x1", + "nativeSrc": "11286:2:18", + "nodeType": "YulIdentifier", + "src": "11286:2:18" + }, + { + "name": "P0", + "nativeSrc": "11290:2:18", + "nodeType": "YulIdentifier", + "src": "11290:2:18" + }, + { + "name": "p", + "nativeSrc": "11294:1:18", + "nodeType": "YulIdentifier", + "src": "11294:1:18" + } + ], + "functionName": { + "name": "mulmod", + "nativeSrc": "11279:6:18", + "nodeType": "YulIdentifier", + "src": "11279:6:18" + }, + "nativeSrc": "11279:17:18", + "nodeType": "YulFunctionCall", + "src": "11279:17:18" + }, + "variableNames": [ + { + "name": "zz1", + "nativeSrc": "11272:3:18", + "nodeType": "YulIdentifier", + "src": "11272:3:18" + } + ] + }, + { + "nativeSrc": "11325:82:18", + "nodeType": "YulAssignment", + "src": "11325:82:18", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "y2", + "nativeSrc": "11352:2:18", + "nodeType": "YulIdentifier", + "src": "11352:2:18" + }, + { + "name": "y2", + "nativeSrc": "11356:2:18", + "nodeType": "YulIdentifier", + "src": "11356:2:18" + }, + { + "name": "p", + "nativeSrc": "11360:1:18", + "nodeType": "YulIdentifier", + "src": "11360:1:18" + } + ], + "functionName": { + "name": "mulmod", + "nativeSrc": "11345:6:18", + "nodeType": "YulIdentifier", + "src": "11345:6:18" + }, + "nativeSrc": "11345:17:18", + "nodeType": "YulFunctionCall", + "src": "11345:17:18" + }, + { + "arguments": [ + { + "name": "p", + "nativeSrc": "11368:1:18", + "nodeType": "YulIdentifier", + "src": "11368:1:18" + }, + { + "name": "P1", + "nativeSrc": "11371:2:18", + "nodeType": "YulIdentifier", + "src": "11371:2:18" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "11364:3:18", + "nodeType": "YulIdentifier", + "src": "11364:3:18" + }, + "nativeSrc": "11364:10:18", + "nodeType": "YulFunctionCall", + "src": "11364:10:18" + }, + { + "name": "p", + "nativeSrc": "11376:1:18", + "nodeType": "YulIdentifier", + "src": "11376:1:18" + } + ], + "functionName": { + "name": "addmod", + "nativeSrc": "11338:6:18", + "nodeType": "YulIdentifier", + "src": "11338:6:18" + }, + "nativeSrc": "11338:40:18", + "nodeType": "YulFunctionCall", + "src": "11338:40:18" + }, + { + "arguments": [ + { + "name": "minus_2", + "nativeSrc": "11387:7:18", + "nodeType": "YulIdentifier", + "src": "11387:7:18" + }, + { + "name": "zz1", + "nativeSrc": "11396:3:18", + "nodeType": "YulIdentifier", + "src": "11396:3:18" + }, + { + "name": "p", + "nativeSrc": "11401:1:18", + "nodeType": "YulIdentifier", + "src": "11401:1:18" + } + ], + "functionName": { + "name": "mulmod", + "nativeSrc": "11380:6:18", + "nodeType": "YulIdentifier", + "src": "11380:6:18" + }, + "nativeSrc": "11380:23:18", + "nodeType": "YulFunctionCall", + "src": "11380:23:18" + }, + { + "name": "p", + "nativeSrc": "11405:1:18", + "nodeType": "YulIdentifier", + "src": "11405:1:18" + } + ], + "functionName": { + "name": "addmod", + "nativeSrc": "11331:6:18", + "nodeType": "YulIdentifier", + "src": "11331:6:18" + }, + "nativeSrc": "11331:76:18", + "nodeType": "YulFunctionCall", + "src": "11331:76:18" + }, + "variableNames": [ + { + "name": "P0", + "nativeSrc": "11325:2:18", + "nodeType": "YulIdentifier", + "src": "11325:2:18" + } + ] + }, + { + "nativeSrc": "11438:77:18", + "nodeType": "YulAssignment", + "src": "11438:77:18", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "zz1", + "nativeSrc": "11465:3:18", + "nodeType": "YulIdentifier", + "src": "11465:3:18" + }, + { + "arguments": [ + { + "name": "p", + "nativeSrc": "11474:1:18", + "nodeType": "YulIdentifier", + "src": "11474:1:18" + }, + { + "name": "P0", + "nativeSrc": "11477:2:18", + "nodeType": "YulIdentifier", + "src": "11477:2:18" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "11470:3:18", + "nodeType": "YulIdentifier", + "src": "11470:3:18" + }, + "nativeSrc": "11470:10:18", + "nodeType": "YulFunctionCall", + "src": "11470:10:18" + }, + { + "name": "p", + "nativeSrc": "11482:1:18", + "nodeType": "YulIdentifier", + "src": "11482:1:18" + } + ], + "functionName": { + "name": "addmod", + "nativeSrc": "11458:6:18", + "nodeType": "YulIdentifier", + "src": "11458:6:18" + }, + "nativeSrc": "11458:26:18", + "nodeType": "YulFunctionCall", + "src": "11458:26:18" + }, + { + "name": "y2", + "nativeSrc": "11486:2:18", + "nodeType": "YulIdentifier", + "src": "11486:2:18" + }, + { + "name": "p", + "nativeSrc": "11490:1:18", + "nodeType": "YulIdentifier", + "src": "11490:1:18" + } + ], + "functionName": { + "name": "mulmod", + "nativeSrc": "11451:6:18", + "nodeType": "YulIdentifier", + "src": "11451:6:18" + }, + "nativeSrc": "11451:41:18", + "nodeType": "YulFunctionCall", + "src": "11451:41:18" + }, + { + "arguments": [ + { + "name": "y1", + "nativeSrc": "11501:2:18", + "nodeType": "YulIdentifier", + "src": "11501:2:18" + }, + { + "name": "P1", + "nativeSrc": "11505:2:18", + "nodeType": "YulIdentifier", + "src": "11505:2:18" + }, + { + "name": "p", + "nativeSrc": "11509:1:18", + "nodeType": "YulIdentifier", + "src": "11509:1:18" + } + ], + "functionName": { + "name": "mulmod", + "nativeSrc": "11494:6:18", + "nodeType": "YulIdentifier", + "src": "11494:6:18" + }, + "nativeSrc": "11494:17:18", + "nodeType": "YulFunctionCall", + "src": "11494:17:18" + }, + { + "name": "p", + "nativeSrc": "11513:1:18", + "nodeType": "YulIdentifier", + "src": "11513:1:18" + } + ], + "functionName": { + "name": "addmod", + "nativeSrc": "11444:6:18", + "nodeType": "YulIdentifier", + "src": "11444:6:18" + }, + "nativeSrc": "11444:71:18", + "nodeType": "YulFunctionCall", + "src": "11444:71:18" + }, + "variableNames": [ + { + "name": "P1", + "nativeSrc": "11438:2:18", + "nodeType": "YulIdentifier", + "src": "11438:2:18" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 3111, + "isOffset": false, + "isSlot": false, + "src": "11048:2:18", + "valueSize": 1 + }, + { + "declaration": 3111, + "isOffset": false, + "isSlot": false, + "src": "11112:2:18", + "valueSize": 1 + }, + { + "declaration": 3111, + "isOffset": false, + "isSlot": false, + "src": "11170:2:18", + "valueSize": 1 + }, + { + "declaration": 3111, + "isOffset": false, + "isSlot": false, + "src": "11290:2:18", + "valueSize": 1 + }, + { + "declaration": 3111, + "isOffset": false, + "isSlot": false, + "src": "11325:2:18", + "valueSize": 1 + }, + { + "declaration": 3111, + "isOffset": false, + "isSlot": false, + "src": "11477:2:18", + "valueSize": 1 + }, + { + "declaration": 3113, + "isOffset": false, + "isSlot": false, + "src": "11099:2:18", + "valueSize": 1 + }, + { + "declaration": 3113, + "isOffset": false, + "isSlot": false, + "src": "11229:2:18", + "valueSize": 1 + }, + { + "declaration": 3113, + "isOffset": false, + "isSlot": false, + "src": "11371:2:18", + "valueSize": 1 + }, + { + "declaration": 3113, + "isOffset": false, + "isSlot": false, + "src": "11438:2:18", + "valueSize": 1 + }, + { + "declaration": 3113, + "isOffset": false, + "isSlot": false, + "src": "11505:2:18", + "valueSize": 1 + }, + { + "declaration": 3115, + "isOffset": false, + "isSlot": false, + "src": "11152:2:18", + "valueSize": 1 + }, + { + "declaration": 3117, + "isOffset": false, + "isSlot": false, + "src": "11210:2:18", + "valueSize": 1 + }, + { + "declaration": 2589, + "isOffset": false, + "isSlot": false, + "src": "11387:7:18", + "valueSize": 1 + }, + { + "declaration": 2571, + "isOffset": false, + "isSlot": false, + "src": "10904:1:18", + "valueSize": 1 + }, + { + "declaration": 2571, + "isOffset": false, + "isSlot": false, + "src": "10957:1:18", + "valueSize": 1 + }, + { + "declaration": 2571, + "isOffset": false, + "isSlot": false, + "src": "10965:1:18", + "valueSize": 1 + }, + { + "declaration": 2571, + "isOffset": false, + "isSlot": false, + "src": "11013:1:18", + "valueSize": 1 + }, + { + "declaration": 2571, + "isOffset": false, + "isSlot": false, + "src": "11021:1:18", + "valueSize": 1 + }, + { + "declaration": 2571, + "isOffset": false, + "isSlot": false, + "src": "11029:1:18", + "valueSize": 1 + }, + { + "declaration": 2571, + "isOffset": false, + "isSlot": false, + "src": "11069:1:18", + "valueSize": 1 + }, + { + "declaration": 2571, + "isOffset": false, + "isSlot": false, + "src": "11120:1:18", + "valueSize": 1 + }, + { + "declaration": 2571, + "isOffset": false, + "isSlot": false, + "src": "11174:1:18", + "valueSize": 1 + }, + { + "declaration": 2571, + "isOffset": false, + "isSlot": false, + "src": "11233:1:18", + "valueSize": 1 + }, + { + "declaration": 2571, + "isOffset": false, + "isSlot": false, + "src": "11294:1:18", + "valueSize": 1 + }, + { + "declaration": 2571, + "isOffset": false, + "isSlot": false, + "src": "11360:1:18", + "valueSize": 1 + }, + { + "declaration": 2571, + "isOffset": false, + "isSlot": false, + "src": "11368:1:18", + "valueSize": 1 + }, + { + "declaration": 2571, + "isOffset": false, + "isSlot": false, + "src": "11376:1:18", + "valueSize": 1 + }, + { + "declaration": 2571, + "isOffset": false, + "isSlot": false, + "src": "11401:1:18", + "valueSize": 1 + }, + { + "declaration": 2571, + "isOffset": false, + "isSlot": false, + "src": "11405:1:18", + "valueSize": 1 + }, + { + "declaration": 2571, + "isOffset": false, + "isSlot": false, + "src": "11474:1:18", + "valueSize": 1 + }, + { + "declaration": 2571, + "isOffset": false, + "isSlot": false, + "src": "11482:1:18", + "valueSize": 1 + }, + { + "declaration": 2571, + "isOffset": false, + "isSlot": false, + "src": "11490:1:18", + "valueSize": 1 + }, + { + "declaration": 2571, + "isOffset": false, + "isSlot": false, + "src": "11509:1:18", + "valueSize": 1 + }, + { + "declaration": 2571, + "isOffset": false, + "isSlot": false, + "src": "11513:1:18", + "valueSize": 1 + }, + { + "declaration": 3098, + "isOffset": false, + "isSlot": false, + "src": "11024:2:18", + "valueSize": 1 + }, + { + "declaration": 3098, + "isOffset": false, + "isSlot": false, + "src": "11286:2:18", + "valueSize": 1 + }, + { + "declaration": 3106, + "isOffset": false, + "isSlot": false, + "src": "10984:2:18", + "valueSize": 1 + }, + { + "declaration": 3106, + "isOffset": false, + "isSlot": false, + "src": "11004:2:18", + "valueSize": 1 + }, + { + "declaration": 3106, + "isOffset": false, + "isSlot": false, + "src": "11061:2:18", + "valueSize": 1 + }, + { + "declaration": 3106, + "isOffset": false, + "isSlot": false, + "src": "11065:2:18", + "valueSize": 1 + }, + { + "declaration": 3106, + "isOffset": false, + "isSlot": false, + "src": "11116:2:18", + "valueSize": 1 + }, + { + "declaration": 3100, + "isOffset": false, + "isSlot": false, + "src": "10894:2:18", + "valueSize": 1 + }, + { + "declaration": 3100, + "isOffset": false, + "isSlot": false, + "src": "10907:2:18", + "valueSize": 1 + }, + { + "declaration": 3100, + "isOffset": false, + "isSlot": false, + "src": "10961:2:18", + "valueSize": 1 + }, + { + "declaration": 3100, + "isOffset": false, + "isSlot": false, + "src": "11501:2:18", + "valueSize": 1 + }, + { + "declaration": 3108, + "isOffset": false, + "isSlot": false, + "src": "10927:2:18", + "valueSize": 1 + }, + { + "declaration": 3108, + "isOffset": false, + "isSlot": false, + "src": "10947:2:18", + "valueSize": 1 + }, + { + "declaration": 3108, + "isOffset": false, + "isSlot": false, + "src": "11352:2:18", + "valueSize": 1 + }, + { + "declaration": 3108, + "isOffset": false, + "isSlot": false, + "src": "11356:2:18", + "valueSize": 1 + }, + { + "declaration": 3108, + "isOffset": false, + "isSlot": false, + "src": "11486:2:18", + "valueSize": 1 + }, + { + "declaration": 3102, + "isOffset": false, + "isSlot": false, + "src": "11008:3:18", + "valueSize": 1 + }, + { + "declaration": 3102, + "isOffset": false, + "isSlot": false, + "src": "11165:3:18", + "valueSize": 1 + }, + { + "declaration": 3102, + "isOffset": false, + "isSlot": false, + "src": "11272:3:18", + "valueSize": 1 + }, + { + "declaration": 3102, + "isOffset": false, + "isSlot": false, + "src": "11396:3:18", + "valueSize": 1 + }, + { + "declaration": 3102, + "isOffset": false, + "isSlot": false, + "src": "11465:3:18", + "valueSize": 1 + }, + { + "declaration": 3104, + "isOffset": false, + "isSlot": false, + "src": "10951:4:18", + "valueSize": 1 + }, + { + "declaration": 3104, + "isOffset": false, + "isSlot": false, + "src": "11223:4:18", + "valueSize": 1 + } + ], + "id": 3130, + "nodeType": "InlineAssembly", + "src": "10867:673:18" + } + ] + }, + { + "expression": { + "components": [ + { + "id": 3132, + "name": "P0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3111, + "src": "11610:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3133, + "name": "P1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3113, + "src": "11614:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3134, + "name": "P2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3115, + "src": "11618:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3135, + "name": "P3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3117, + "src": "11622:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 3136, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "11609:16:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256,uint256,uint256)" + } + }, + "functionReturnParameters": 3118, + "id": 3137, + "nodeType": "Return", + "src": "11602:23:18" + } + ] + }, + "documentation": { + "id": 3096, + "nodeType": "StructuredDocumentation", + "src": "10348:205:18", + "text": " @dev Sutherland2008 add a ZZ point with a normalized point and greedy formulae\n warning: assume that P1(x1,y1)!=P2(x2,y2), true in multiplication loop with prime order (cofactor 1)" + }, + "id": 3139, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ecZZ_AddN", + "nameLocation": "10568:9:18", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3109, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3098, + "mutability": "mutable", + "name": "x1", + "nameLocation": "10586:2:18", + "nodeType": "VariableDeclaration", + "scope": 3139, + "src": "10578:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3097, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10578:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3100, + "mutability": "mutable", + "name": "y1", + "nameLocation": "10598:2:18", + "nodeType": "VariableDeclaration", + "scope": 3139, + "src": "10590:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3099, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10590:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3102, + "mutability": "mutable", + "name": "zz1", + "nameLocation": "10610:3:18", + "nodeType": "VariableDeclaration", + "scope": 3139, + "src": "10602:11:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3101, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10602:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3104, + "mutability": "mutable", + "name": "zzz1", + "nameLocation": "10623:4:18", + "nodeType": "VariableDeclaration", + "scope": 3139, + "src": "10615:12:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3103, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10615:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3106, + "mutability": "mutable", + "name": "x2", + "nameLocation": "10637:2:18", + "nodeType": "VariableDeclaration", + "scope": 3139, + "src": "10629:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3105, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10629:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3108, + "mutability": "mutable", + "name": "y2", + "nameLocation": "10649:2:18", + "nodeType": "VariableDeclaration", + "scope": 3139, + "src": "10641:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3107, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10641:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10577:75:18" + }, + "returnParameters": { + "id": 3118, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3111, + "mutability": "mutable", + "name": "P0", + "nameLocation": "10708:2:18", + "nodeType": "VariableDeclaration", + "scope": 3139, + "src": "10700:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3110, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10700:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3113, + "mutability": "mutable", + "name": "P1", + "nameLocation": "10720:2:18", + "nodeType": "VariableDeclaration", + "scope": 3139, + "src": "10712:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3112, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10712:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3115, + "mutability": "mutable", + "name": "P2", + "nameLocation": "10732:2:18", + "nodeType": "VariableDeclaration", + "scope": 3139, + "src": "10724:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3114, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10724:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3117, + "mutability": "mutable", + "name": "P3", + "nameLocation": "10744:2:18", + "nodeType": "VariableDeclaration", + "scope": 3139, + "src": "10736:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3116, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10736:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10699:48:18" + }, + "scope": 3904, + "src": "10559:1073:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3157, + "nodeType": "Block", + "src": "11803:36:18", + "statements": [ + { + "expression": { + "components": [ + { + "hexValue": "30", + "id": 3151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11821:1:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "hexValue": "30", + "id": 3152, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11824:1:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "hexValue": "30", + "id": 3153, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11827:1:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "hexValue": "30", + "id": 3154, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11830:1:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "id": 3155, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "11820:12:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$_t_rational_0_by_1_$_t_rational_0_by_1_$", + "typeString": "tuple(int_const 0,int_const 0,int_const 0,int_const 0)" + } + }, + "functionReturnParameters": 3150, + "id": 3156, + "nodeType": "Return", + "src": "11813:19:18" + } + ] + }, + "documentation": { + "id": 3140, + "nodeType": "StructuredDocumentation", + "src": "11638:66:18", + "text": " @dev Return the zero curve in XYZZ coordinates." + }, + "id": 3158, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ecZZ_SetZero", + "nameLocation": "11718:12:18", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3141, + "nodeType": "ParameterList", + "parameters": [], + "src": "11730:2:18" + }, + "returnParameters": { + "id": 3150, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3143, + "mutability": "mutable", + "name": "x", + "nameLocation": "11764:1:18", + "nodeType": "VariableDeclaration", + "scope": 3158, + "src": "11756:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3142, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11756:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3145, + "mutability": "mutable", + "name": "y", + "nameLocation": "11775:1:18", + "nodeType": "VariableDeclaration", + "scope": 3158, + "src": "11767:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3144, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11767:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3147, + "mutability": "mutable", + "name": "zz", + "nameLocation": "11786:2:18", + "nodeType": "VariableDeclaration", + "scope": 3158, + "src": "11778:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3146, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11778:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3149, + "mutability": "mutable", + "name": "zzz", + "nameLocation": "11798:3:18", + "nodeType": "VariableDeclaration", + "scope": 3158, + "src": "11790:11:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3148, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11790:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "11755:47:18" + }, + "scope": 3904, + "src": "11709:130:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3176, + "nodeType": "Block", + "src": "12062:31:18", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3172, + "name": "y0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3163, + "src": "12079:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 3173, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12085:1:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12079:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 3171, + "id": 3175, + "nodeType": "Return", + "src": "12072:14:18" + } + ] + }, + "documentation": { + "id": 3159, + "nodeType": "StructuredDocumentation", + "src": "11844:66:18", + "text": " @dev Check if point is the neutral of the curve" + }, + "id": 3177, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ecZZ_IsZero", + "nameLocation": "11982:11:18", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3168, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3161, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3177, + "src": "11994:7:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3160, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11994:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3163, + "mutability": "mutable", + "name": "y0", + "nameLocation": "12011:2:18", + "nodeType": "VariableDeclaration", + "scope": 3177, + "src": "12003:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3162, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12003:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3165, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3177, + "src": "12015:7:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3164, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12015:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3167, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3177, + "src": "12024:7:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3166, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12024:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "11993:39:18" + }, + "returnParameters": { + "id": 3171, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3170, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3177, + "src": "12056:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3169, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12056:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "12055:6:18" + }, + "scope": 3904, + "src": "11973:120:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3189, + "nodeType": "Block", + "src": "12296:30:18", + "statements": [ + { + "expression": { + "components": [ + { + "hexValue": "30", + "id": 3185, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12314:1:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "hexValue": "30", + "id": 3186, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12317:1:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "id": 3187, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "12313:6:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$", + "typeString": "tuple(int_const 0,int_const 0)" + } + }, + "functionReturnParameters": 3184, + "id": 3188, + "nodeType": "Return", + "src": "12306:13:18" + } + ] + }, + "documentation": { + "id": 3178, + "nodeType": "StructuredDocumentation", + "src": "12098:122:18", + "text": " @dev Return the zero curve in affine coordinates. Compatible with the double formulae (no special case)" + }, + "id": 3190, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ecAff_SetZero", + "nameLocation": "12235:13:18", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3179, + "nodeType": "ParameterList", + "parameters": [], + "src": "12248:2:18" + }, + "returnParameters": { + "id": 3184, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3181, + "mutability": "mutable", + "name": "x", + "nameLocation": "12282:1:18", + "nodeType": "VariableDeclaration", + "scope": 3190, + "src": "12274:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3180, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12274:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3183, + "mutability": "mutable", + "name": "y", + "nameLocation": "12293:1:18", + "nodeType": "VariableDeclaration", + "scope": 3190, + "src": "12285:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3182, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12285:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12273:22:18" + }, + "scope": 3904, + "src": "12226:100:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3205, + "nodeType": "Block", + "src": "12517:32:18", + "statements": [ + { + "expression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3202, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3200, + "name": "y", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3195, + "src": "12535:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 3201, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12540:1:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12535:6:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 3203, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "12534:8:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 3199, + "id": 3204, + "nodeType": "Return", + "src": "12527:15:18" + } + ] + }, + "documentation": { + "id": 3191, + "nodeType": "StructuredDocumentation", + "src": "12332:75:18", + "text": " @dev Check if the curve is the zero curve in affine rep." + }, + "id": 3206, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ecAff_IsZero", + "nameLocation": "12450:12:18", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3196, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3193, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3206, + "src": "12463:7:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3192, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12463:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3195, + "mutability": "mutable", + "name": "y", + "nameLocation": "12480:1:18", + "nodeType": "VariableDeclaration", + "scope": 3206, + "src": "12472:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3194, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12472:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12462:20:18" + }, + "returnParameters": { + "id": 3199, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3198, + "mutability": "mutable", + "name": "flag", + "nameLocation": "12511:4:18", + "nodeType": "VariableDeclaration", + "scope": 3206, + "src": "12506:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3197, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12506:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "12505:11:18" + }, + "scope": 3904, + "src": "12441:108:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3279, + "nodeType": "Block", + "src": "12760:362:18", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3233, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3216, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3209, + "src": "12774:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 3217, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "12779:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12774:6:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3221, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3219, + "name": "y", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3211, + "src": "12784:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 3220, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "12789:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12784:6:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "12774:16:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3223, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3209, + "src": "12796:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 3224, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12801:1:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12796:6:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 3226, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "12795:8:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3227, + "name": "y", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3211, + "src": "12808:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 3228, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12813:1:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12808:6:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 3230, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "12807:8:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "12795:20:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 3232, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "12794:22:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "12774:42:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3237, + "nodeType": "IfStatement", + "src": "12770:85:18", + "trueBody": { + "id": 3236, + "nodeType": "Block", + "src": "12818:37:18", + "statements": [ + { + "expression": { + "hexValue": "66616c7365", + "id": 3234, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12839:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 3215, + "id": 3235, + "nodeType": "Return", + "src": "12832:12:18" + } + ] + } + }, + { + "id": 3278, + "nodeType": "UncheckedBlock", + "src": "12864:252:18", + "statements": [ + { + "assignments": [ + 3239 + ], + "declarations": [ + { + "constant": false, + "id": 3239, + "mutability": "mutable", + "name": "LHS", + "nameLocation": "12896:3:18", + "nodeType": "VariableDeclaration", + "scope": 3278, + "src": "12888:11:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3238, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12888:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3245, + "initialValue": { + "arguments": [ + { + "id": 3241, + "name": "y", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3211, + "src": "12909:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3242, + "name": "y", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3211, + "src": "12912:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3243, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "12915:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3240, + "name": "mulmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -16, + "src": "12902:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 3244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12902:15:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12888:29:18" + }, + { + "assignments": [ + 3247 + ], + "declarations": [ + { + "constant": false, + "id": 3247, + "mutability": "mutable", + "name": "RHS", + "nameLocation": "12946:3:18", + "nodeType": "VariableDeclaration", + "scope": 3278, + "src": "12938:11:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3246, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12938:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3265, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "id": 3251, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3209, + "src": "12973:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3252, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3209, + "src": "12976:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3253, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "12979:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3250, + "name": "mulmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -16, + "src": "12966:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 3254, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12966:15:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3255, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3209, + "src": "12983:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3256, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "12986:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3249, + "name": "mulmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -16, + "src": "12959:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 3257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12959:29:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "id": 3259, + "name": "x", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3209, + "src": "12997:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3260, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2574, + "src": "13000:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3261, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "13003:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3258, + "name": "mulmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -16, + "src": "12990:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 3262, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12990:15:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3263, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "13007:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3248, + "name": "addmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -2, + "src": "12952:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_addmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 3264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12952:57:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12938:71:18" + }, + { + "expression": { + "id": 3272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3266, + "name": "RHS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3247, + "src": "13033:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 3268, + "name": "RHS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3247, + "src": "13046:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3269, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2577, + "src": "13051:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3270, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2571, + "src": "13054:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3267, + "name": "addmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -2, + "src": "13039:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_addmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 3271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13039:17:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13033:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3273, + "nodeType": "ExpressionStatement", + "src": "13033:23:18" + }, + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3276, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3274, + "name": "LHS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3239, + "src": "13095:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 3275, + "name": "RHS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3247, + "src": "13102:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13095:10:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 3215, + "id": 3277, + "nodeType": "Return", + "src": "13088:17:18" + } + ] + } + ] + }, + "documentation": { + "id": 3207, + "nodeType": "StructuredDocumentation", + "src": "12555:124:18", + "text": " @dev Check if a point in affine coordinates is on the curve (reject Neutral that is indeed on the curve)." + }, + "id": 3280, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ecAff_isOnCurve", + "nameLocation": "12693:15:18", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3212, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3209, + "mutability": "mutable", + "name": "x", + "nameLocation": "12717:1:18", + "nodeType": "VariableDeclaration", + "scope": 3280, + "src": "12709:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3208, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12709:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3211, + "mutability": "mutable", + "name": "y", + "nameLocation": "12728:1:18", + "nodeType": "VariableDeclaration", + "scope": 3280, + "src": "12720:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3210, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12720:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12708:22:18" + }, + "returnParameters": { + "id": 3215, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3214, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3280, + "src": "12754:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3213, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12754:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "12753:6:18" + }, + "scope": 3904, + "src": "12684:438:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3367, + "nodeType": "Block", + "src": "13332:391:18", + "statements": [ + { + "assignments": [ + 3297 + ], + "declarations": [ + { + "constant": false, + "id": 3297, + "mutability": "mutable", + "name": "zz0", + "nameLocation": "13350:3:18", + "nodeType": "VariableDeclaration", + "scope": 3367, + "src": "13342:11:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3296, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13342:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3298, + "nodeType": "VariableDeclarationStatement", + "src": "13342:11:18" + }, + { + "assignments": [ + 3300 + ], + "declarations": [ + { + "constant": false, + "id": 3300, + "mutability": "mutable", + "name": "zzz0", + "nameLocation": "13371:4:18", + "nodeType": "VariableDeclaration", + "scope": 3367, + "src": "13363:12:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3299, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13363:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3301, + "nodeType": "VariableDeclarationStatement", + "src": "13363:12:18" + }, + { + "condition": { + "arguments": [ + { + "id": 3303, + "name": "x0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3283, + "src": "13403:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3304, + "name": "y0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3285, + "src": "13407:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3302, + "name": "ecAff_IsZero", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3206, + "src": "13390:12:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) pure returns (bool)" + } + }, + "id": 3305, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13390:20:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3310, + "nodeType": "IfStatement", + "src": "13386:41:18", + "trueBody": { + "expression": { + "components": [ + { + "id": 3306, + "name": "x1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3287, + "src": "13420:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3307, + "name": "y1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3289, + "src": "13424:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 3308, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "13419:8:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "functionReturnParameters": 3295, + "id": 3309, + "nodeType": "Return", + "src": "13412:15:18" + } + }, + { + "condition": { + "arguments": [ + { + "id": 3312, + "name": "x1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3287, + "src": "13454:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3313, + "name": "y1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3289, + "src": "13458:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3311, + "name": "ecAff_IsZero", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3206, + "src": "13441:12:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) pure returns (bool)" + } + }, + "id": 3314, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13441:20:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3319, + "nodeType": "IfStatement", + "src": "13437:41:18", + "trueBody": { + "expression": { + "components": [ + { + "id": 3315, + "name": "x0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3283, + "src": "13471:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3316, + "name": "y0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3285, + "src": "13475:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 3317, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "13470:8:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "functionReturnParameters": 3295, + "id": 3318, + "nodeType": "Return", + "src": "13463:15:18" + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3328, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3320, + "name": "x0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3283, + "src": "13492:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 3321, + "name": "x1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3287, + "src": "13496:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13492:6:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 3323, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "13491:8:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3326, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3324, + "name": "y0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3285, + "src": "13502:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 3325, + "name": "y1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3289, + "src": "13506:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13502:6:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 3327, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "13501:8:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "13491:18:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 3358, + "nodeType": "Block", + "src": "13591:78:18", + "statements": [ + { + "expression": { + "id": 3356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "components": [ + { + "id": 3343, + "name": "x0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3283, + "src": "13606:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3344, + "name": "y0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3285, + "src": "13610:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3345, + "name": "zz0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3297, + "src": "13614:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3346, + "name": "zzz0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3300, + "src": "13619:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 3347, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "13605:19:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256,uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 3349, + "name": "x0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3283, + "src": "13637:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3350, + "name": "y0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3285, + "src": "13641:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "31", + "id": 3351, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13645:1:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + { + "hexValue": "31", + "id": 3352, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13648:1:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + { + "id": 3353, + "name": "x1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3287, + "src": "13651:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3354, + "name": "y1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3289, + "src": "13655:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3348, + "name": "ecZZ_AddN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3139, + "src": "13627:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256,uint256,uint256,uint256) pure returns (uint256,uint256,uint256,uint256)" + } + }, + "id": 3355, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13627:31:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256,uint256,uint256)" + } + }, + "src": "13605:53:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3357, + "nodeType": "ExpressionStatement", + "src": "13605:53:18" + } + ] + }, + "id": 3359, + "nodeType": "IfStatement", + "src": "13488:181:18", + "trueBody": { + "id": 3342, + "nodeType": "Block", + "src": "13511:67:18", + "statements": [ + { + "expression": { + "id": 3340, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "components": [ + { + "id": 3329, + "name": "x0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3283, + "src": "13526:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3330, + "name": "y0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3285, + "src": "13530:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3331, + "name": "zz0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3297, + "src": "13534:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3332, + "name": "zzz0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3300, + "src": "13539:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 3333, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "13525:19:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256,uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 3335, + "name": "x0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3283, + "src": "13556:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3336, + "name": "y0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3285, + "src": "13560:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "31", + "id": 3337, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13563:1:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + { + "hexValue": "31", + "id": 3338, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13565:1:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "id": 3334, + "name": "ecZZ_Dbl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3095, + "src": "13547:8:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256,uint256,uint256)" + } + }, + "id": 3339, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13547:20:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256,uint256,uint256)" + } + }, + "src": "13525:42:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3341, + "nodeType": "ExpressionStatement", + "src": "13525:42:18" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 3361, + "name": "x0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3283, + "src": "13698:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3362, + "name": "y0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3285, + "src": "13702:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3363, + "name": "zz0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3297, + "src": "13706:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3364, + "name": "zzz0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3300, + "src": "13711:4:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3360, + "name": "ecZZ_SetAff", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3066, + "src": "13686:11:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256,uint256) view returns (uint256,uint256)" + } + }, + "id": 3365, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13686:30:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "functionReturnParameters": 3295, + "id": 3366, + "nodeType": "Return", + "src": "13679:37:18" + } + ] + }, + "documentation": { + "id": 3281, + "nodeType": "StructuredDocumentation", + "src": "13128:90:18", + "text": " @dev Add two elliptic curve points in affine coordinates. Deal with P=Q" + }, + "id": 3368, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ecAff_add", + "nameLocation": "13233:9:18", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3290, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3283, + "mutability": "mutable", + "name": "x0", + "nameLocation": "13251:2:18", + "nodeType": "VariableDeclaration", + "scope": 3368, + "src": "13243:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3282, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13243:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3285, + "mutability": "mutable", + "name": "y0", + "nameLocation": "13263:2:18", + "nodeType": "VariableDeclaration", + "scope": 3368, + "src": "13255:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3284, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13255:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3287, + "mutability": "mutable", + "name": "x1", + "nameLocation": "13275:2:18", + "nodeType": "VariableDeclaration", + "scope": 3368, + "src": "13267:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3286, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13267:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3289, + "mutability": "mutable", + "name": "y1", + "nameLocation": "13287:2:18", + "nodeType": "VariableDeclaration", + "scope": 3368, + "src": "13279:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3288, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13279:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "13242:48:18" + }, + "returnParameters": { + "id": 3295, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3292, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3368, + "src": "13314:7:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3291, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13314:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3294, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3368, + "src": "13323:7:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3293, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13323:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "13313:18:18" + }, + "scope": 3904, + "src": "13224:499:18", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3461, + "nodeType": "Block", + "src": "14088:6394:18", + "statements": [ + { + "assignments": [ + 3383 + ], + "declarations": [ + { + "constant": false, + "id": 3383, + "mutability": "mutable", + "name": "zz", + "nameLocation": "14106:2:18", + "nodeType": "VariableDeclaration", + "scope": 3461, + "src": "14098:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3382, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14098:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3384, + "nodeType": "VariableDeclarationStatement", + "src": "14098:10:18" + }, + { + "assignments": [ + 3386 + ], + "declarations": [ + { + "constant": false, + "id": 3386, + "mutability": "mutable", + "name": "zzz", + "nameLocation": "14126:3:18", + "nodeType": "VariableDeclaration", + "scope": 3461, + "src": "14118:11:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3385, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14118:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3387, + "nodeType": "VariableDeclarationStatement", + "src": "14118:11:18" + }, + { + "assignments": [ + 3389 + ], + "declarations": [ + { + "constant": false, + "id": 3389, + "mutability": "mutable", + "name": "Y", + "nameLocation": "14147:1:18", + "nodeType": "VariableDeclaration", + "scope": 3461, + "src": "14139:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3388, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14139:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3390, + "nodeType": "VariableDeclarationStatement", + "src": "14139:9:18" + }, + { + "assignments": [ + 3392 + ], + "declarations": [ + { + "constant": false, + "id": 3392, + "mutability": "mutable", + "name": "index", + "nameLocation": "14166:5:18", + "nodeType": "VariableDeclaration", + "scope": 3461, + "src": "14158:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3391, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14158:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3394, + "initialValue": { + "hexValue": "323535", + "id": 3393, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14174:3:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_255_by_1", + "typeString": "int_const 255" + }, + "value": "255" + }, + "nodeType": "VariableDeclarationStatement", + "src": "14158:19:18" + }, + { + "assignments": [ + 3396 + ], + "declarations": [ + { + "constant": false, + "id": 3396, + "mutability": "mutable", + "name": "H0", + "nameLocation": "14195:2:18", + "nodeType": "VariableDeclaration", + "scope": 3461, + "src": "14187:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3395, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14187:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3397, + "nodeType": "VariableDeclarationStatement", + "src": "14187:10:18" + }, + { + "assignments": [ + 3399 + ], + "declarations": [ + { + "constant": false, + "id": 3399, + "mutability": "mutable", + "name": "H1", + "nameLocation": "14215:2:18", + "nodeType": "VariableDeclaration", + "scope": 3461, + "src": "14207:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3398, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14207:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3400, + "nodeType": "VariableDeclarationStatement", + "src": "14207:10:18" + }, + { + "id": 3458, + "nodeType": "UncheckedBlock", + "src": "14228:6213:18", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3407, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3403, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3401, + "name": "scalar_u", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3375, + "src": "14256:8:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 3402, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14268:1:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "14256:13:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3404, + "name": "scalar_v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3377, + "src": "14273:8:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 3405, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14285:1:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "14273:13:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "14256:30:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3410, + "nodeType": "IfStatement", + "src": "14252:44:18", + "trueBody": { + "expression": { + "hexValue": "30", + "id": 3408, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14295:1:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 3381, + "id": 3409, + "nodeType": "Return", + "src": "14288:8:18" + } + }, + { + "expression": { + "id": 3420, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "components": [ + { + "id": 3411, + "name": "H0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3396, + "src": "14312:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3412, + "name": "H1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3399, + "src": "14316:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 3413, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "14311:8:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 3415, + "name": "gx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2580, + "src": "14332:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3416, + "name": "gy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2583, + "src": "14336:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3417, + "name": "Q0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3371, + "src": "14340:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3418, + "name": "Q1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3373, + "src": "14344:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3414, + "name": "ecAff_add", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3368, + "src": "14322:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256,uint256) view returns (uint256,uint256)" + } + }, + "id": 3419, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14322:25:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "14311:36:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3421, + "nodeType": "ExpressionStatement", + "src": "14311:36:18" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3424, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3422, + "name": "H0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3396, + "src": "14366:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 3423, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14370:1:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "14366:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 3425, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "14365:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3428, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3426, + "name": "H1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3399, + "src": "14375:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 3427, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14379:1:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "14375:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 3429, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "14374:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "14365:16:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3456, + "nodeType": "IfStatement", + "src": "14362:211:18", + "trueBody": { + "id": 3455, + "nodeType": "Block", + "src": "14410:163:18", + "statements": [ + { + "expression": { + "id": 3439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3431, + "name": "scalar_u", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3375, + "src": "14428:8:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 3433, + "name": "scalar_u", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3375, + "src": "14444:8:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3436, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3434, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2586, + "src": "14454:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 3435, + "name": "scalar_v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3377, + "src": "14456:8:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14454:10:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3437, + "name": "n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2586, + "src": "14466:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3432, + "name": "addmod", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -2, + "src": "14437:6:18", + "typeDescriptions": { + "typeIdentifier": "t_function_addmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 3438, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14437:31:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14428:40:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3440, + "nodeType": "ExpressionStatement", + "src": "14428:40:18" + }, + { + "expression": { + "id": 3443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3441, + "name": "scalar_v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3377, + "src": "14486:8:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 3442, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14495:1:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "14486:10:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3444, + "nodeType": "ExpressionStatement", + "src": "14486:10:18" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3451, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3447, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3445, + "name": "scalar_u", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3375, + "src": "14518:8:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 3446, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14530:1:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "14518:13:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3448, + "name": "scalar_v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3377, + "src": "14535:8:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 3449, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14547:1:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "14535:13:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "14518:30:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3454, + "nodeType": "IfStatement", + "src": "14514:44:18", + "trueBody": { + "expression": { + "hexValue": "30", + "id": 3452, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14557:1:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 3381, + "id": 3453, + "nodeType": "Return", + "src": "14550:8:18" + } + } + ] + } + }, + { + "AST": { + "nativeSrc": "14595:5821:18", + "nodeType": "YulBlock", + "src": "14595:5821:18", + "statements": [ + { + "body": { + "nativeSrc": "14874:2:18", + "nodeType": "YulBlock", + "src": "14874:2:18", + "statements": [] + }, + "condition": { + "arguments": [ + { + "name": "T4", + "nativeSrc": "14706:2:18", + "nodeType": "YulIdentifier", + "src": "14706:2:18" + }, + { + "kind": "number", + "nativeSrc": "14710:1:18", + "nodeType": "YulLiteral", + "src": "14710:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "14703:2:18", + "nodeType": "YulIdentifier", + "src": "14703:2:18" + }, + "nativeSrc": "14703:9:18", + "nodeType": "YulFunctionCall", + "src": "14703:9:18" + }, + "nativeSrc": "14613:263:18", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "14713:160:18", + "nodeType": "YulBlock", + "src": "14713:160:18", + "statements": [ + { + "nativeSrc": "14735:22:18", + "nodeType": "YulAssignment", + "src": "14735:22:18", + "value": { + "arguments": [ + { + "name": "index", + "nativeSrc": "14748:5:18", + "nodeType": "YulIdentifier", + "src": "14748:5:18" + }, + { + "kind": "number", + "nativeSrc": "14755:1:18", + "nodeType": "YulLiteral", + "src": "14755:1:18", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "14744:3:18", + "nodeType": "YulIdentifier", + "src": "14744:3:18" + }, + "nativeSrc": "14744:13:18", + "nodeType": "YulFunctionCall", + "src": "14744:13:18" + }, + "variableNames": [ + { + "name": "index", + "nativeSrc": "14735:5:18", + "nodeType": "YulIdentifier", + "src": "14735:5:18" + } + ] + }, + { + "nativeSrc": "14778:77:18", + "nodeType": "YulAssignment", + "src": "14778:77:18", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "14792:1:18", + "nodeType": "YulLiteral", + "src": "14792:1:18", + "type": "", + "value": "1" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "index", + "nativeSrc": "14803:5:18", + "nodeType": "YulIdentifier", + "src": "14803:5:18" + }, + { + "name": "scalar_v", + "nativeSrc": "14810:8:18", + "nodeType": "YulIdentifier", + "src": "14810:8:18" + } + ], + "functionName": { + "name": "shr", + "nativeSrc": "14799:3:18", + "nodeType": "YulIdentifier", + "src": "14799:3:18" + }, + "nativeSrc": "14799:20:18", + "nodeType": "YulFunctionCall", + "src": "14799:20:18" + }, + { + "kind": "number", + "nativeSrc": "14821:1:18", + "nodeType": "YulLiteral", + "src": "14821:1:18", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "14795:3:18", + "nodeType": "YulIdentifier", + "src": "14795:3:18" + }, + "nativeSrc": "14795:28:18", + "nodeType": "YulFunctionCall", + "src": "14795:28:18" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "14788:3:18", + "nodeType": "YulIdentifier", + "src": "14788:3:18" + }, + "nativeSrc": "14788:36:18", + "nodeType": "YulFunctionCall", + "src": "14788:36:18" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "index", + "nativeSrc": "14834:5:18", + "nodeType": "YulIdentifier", + "src": "14834:5:18" + }, { "name": "scalar_u", - "nativeSrc": "14841:8:5", + "nativeSrc": "14841:8:18", "nodeType": "YulIdentifier", - "src": "14841:8:5" + "src": "14841:8:18" } ], "functionName": { "name": "shr", - "nativeSrc": "14830:3:5", + "nativeSrc": "14830:3:18", "nodeType": "YulIdentifier", - "src": "14830:3:5" + "src": "14830:3:18" }, - "nativeSrc": "14830:20:5", + "nativeSrc": "14830:20:18", "nodeType": "YulFunctionCall", - "src": "14830:20:5" + "src": "14830:20:18" }, { "kind": "number", - "nativeSrc": "14852:1:5", + "nativeSrc": "14852:1:18", "nodeType": "YulLiteral", - "src": "14852:1:5", + "src": "14852:1:18", "type": "", "value": "1" } ], "functionName": { "name": "and", - "nativeSrc": "14826:3:5", + "nativeSrc": "14826:3:18", "nodeType": "YulIdentifier", - "src": "14826:3:5" + "src": "14826:3:18" }, - "nativeSrc": "14826:28:5", + "nativeSrc": "14826:28:18", "nodeType": "YulFunctionCall", - "src": "14826:28:5" + "src": "14826:28:18" } ], "functionName": { "name": "add", - "nativeSrc": "14784:3:5", + "nativeSrc": "14784:3:18", "nodeType": "YulIdentifier", - "src": "14784:3:5" + "src": "14784:3:18" }, - "nativeSrc": "14784:71:5", + "nativeSrc": "14784:71:18", "nodeType": "YulFunctionCall", - "src": "14784:71:5" + "src": "14784:71:18" }, "variableNames": [ { "name": "T4", - "nativeSrc": "14778:2:5", + "nativeSrc": "14778:2:18", "nodeType": "YulIdentifier", - "src": "14778:2:5" + "src": "14778:2:18" } ] } ] }, "pre": { - "nativeSrc": "14617:85:5", + "nativeSrc": "14617:85:18", "nodeType": "YulBlock", - "src": "14617:85:5", + "src": "14617:85:18", "statements": [ { - "nativeSrc": "14619:81:5", + "nativeSrc": "14619:81:18", "nodeType": "YulVariableDeclaration", - "src": "14619:81:5", + "src": "14619:81:18", "value": { "arguments": [ { "arguments": [ { "kind": "number", - "nativeSrc": "14637:1:5", + "nativeSrc": "14637:1:18", "nodeType": "YulLiteral", - "src": "14637:1:5", + "src": "14637:1:18", "type": "", "value": "1" }, @@ -29227,56 +48202,56 @@ "arguments": [ { "name": "index", - "nativeSrc": "14648:5:5", + "nativeSrc": "14648:5:18", "nodeType": "YulIdentifier", - "src": "14648:5:5" + "src": "14648:5:18" }, { "name": "scalar_v", - "nativeSrc": "14655:8:5", + "nativeSrc": "14655:8:18", "nodeType": "YulIdentifier", - "src": "14655:8:5" + "src": "14655:8:18" } ], "functionName": { "name": "shr", - "nativeSrc": "14644:3:5", + "nativeSrc": "14644:3:18", "nodeType": "YulIdentifier", - "src": "14644:3:5" + "src": "14644:3:18" }, - "nativeSrc": "14644:20:5", + "nativeSrc": "14644:20:18", "nodeType": "YulFunctionCall", - "src": "14644:20:5" + "src": "14644:20:18" }, { "kind": "number", - "nativeSrc": "14666:1:5", + "nativeSrc": "14666:1:18", "nodeType": "YulLiteral", - "src": "14666:1:5", + "src": "14666:1:18", "type": "", "value": "1" } ], "functionName": { "name": "and", - "nativeSrc": "14640:3:5", + "nativeSrc": "14640:3:18", "nodeType": "YulIdentifier", - "src": "14640:3:5" + "src": "14640:3:18" }, - "nativeSrc": "14640:28:5", + "nativeSrc": "14640:28:18", "nodeType": "YulFunctionCall", - "src": "14640:28:5" + "src": "14640:28:18" } ], "functionName": { "name": "shl", - "nativeSrc": "14633:3:5", + "nativeSrc": "14633:3:18", "nodeType": "YulIdentifier", - "src": "14633:3:5" + "src": "14633:3:18" }, - "nativeSrc": "14633:36:5", + "nativeSrc": "14633:36:18", "nodeType": "YulFunctionCall", - "src": "14633:36:5" + "src": "14633:36:18" }, { "arguments": [ @@ -29284,84 +48259,84 @@ "arguments": [ { "name": "index", - "nativeSrc": "14679:5:5", + "nativeSrc": "14679:5:18", "nodeType": "YulIdentifier", - "src": "14679:5:5" + "src": "14679:5:18" }, { "name": "scalar_u", - "nativeSrc": "14686:8:5", + "nativeSrc": "14686:8:18", "nodeType": "YulIdentifier", - "src": "14686:8:5" + "src": "14686:8:18" } ], "functionName": { "name": "shr", - "nativeSrc": "14675:3:5", + "nativeSrc": "14675:3:18", "nodeType": "YulIdentifier", - "src": "14675:3:5" + "src": "14675:3:18" }, - "nativeSrc": "14675:20:5", + "nativeSrc": "14675:20:18", "nodeType": "YulFunctionCall", - "src": "14675:20:5" + "src": "14675:20:18" }, { "kind": "number", - "nativeSrc": "14697:1:5", + "nativeSrc": "14697:1:18", "nodeType": "YulLiteral", - "src": "14697:1:5", + "src": "14697:1:18", "type": "", "value": "1" } ], "functionName": { "name": "and", - "nativeSrc": "14671:3:5", + "nativeSrc": "14671:3:18", "nodeType": "YulIdentifier", - "src": "14671:3:5" + "src": "14671:3:18" }, - "nativeSrc": "14671:28:5", + "nativeSrc": "14671:28:18", "nodeType": "YulFunctionCall", - "src": "14671:28:5" + "src": "14671:28:18" } ], "functionName": { "name": "add", - "nativeSrc": "14629:3:5", + "nativeSrc": "14629:3:18", "nodeType": "YulIdentifier", - "src": "14629:3:5" + "src": "14629:3:18" }, - "nativeSrc": "14629:71:5", + "nativeSrc": "14629:71:18", "nodeType": "YulFunctionCall", - "src": "14629:71:5" + "src": "14629:71:18" }, "variables": [ { "name": "T4", - "nativeSrc": "14623:2:5", + "nativeSrc": "14623:2:18", "nodeType": "YulTypedName", - "src": "14623:2:5", + "src": "14623:2:18", "type": "" } ] } ] }, - "src": "14613:263:5" + "src": "14613:263:18" }, { - "nativeSrc": "14893:77:5", + "nativeSrc": "14893:77:18", "nodeType": "YulAssignment", - "src": "14893:77:5", + "src": "14893:77:18", "value": { "arguments": [ { "arguments": [ { "kind": "number", - "nativeSrc": "14907:1:5", + "nativeSrc": "14907:1:18", "nodeType": "YulLiteral", - "src": "14907:1:5", + "src": "14907:1:18", "type": "", "value": "1" }, @@ -29371,56 +48346,56 @@ "arguments": [ { "name": "index", - "nativeSrc": "14918:5:5", + "nativeSrc": "14918:5:18", "nodeType": "YulIdentifier", - "src": "14918:5:5" + "src": "14918:5:18" }, { "name": "scalar_v", - "nativeSrc": "14925:8:5", + "nativeSrc": "14925:8:18", "nodeType": "YulIdentifier", - "src": "14925:8:5" + "src": "14925:8:18" } ], "functionName": { "name": "shr", - "nativeSrc": "14914:3:5", + "nativeSrc": "14914:3:18", "nodeType": "YulIdentifier", - "src": "14914:3:5" + "src": "14914:3:18" }, - "nativeSrc": "14914:20:5", + "nativeSrc": "14914:20:18", "nodeType": "YulFunctionCall", - "src": "14914:20:5" + "src": "14914:20:18" }, { "kind": "number", - "nativeSrc": "14936:1:5", + "nativeSrc": "14936:1:18", "nodeType": "YulLiteral", - "src": "14936:1:5", + "src": "14936:1:18", "type": "", "value": "1" } ], "functionName": { "name": "and", - "nativeSrc": "14910:3:5", + "nativeSrc": "14910:3:18", "nodeType": "YulIdentifier", - "src": "14910:3:5" + "src": "14910:3:18" }, - "nativeSrc": "14910:28:5", + "nativeSrc": "14910:28:18", "nodeType": "YulFunctionCall", - "src": "14910:28:5" + "src": "14910:28:18" } ], "functionName": { "name": "shl", - "nativeSrc": "14903:3:5", + "nativeSrc": "14903:3:18", "nodeType": "YulIdentifier", - "src": "14903:3:5" + "src": "14903:3:18" }, - "nativeSrc": "14903:36:5", + "nativeSrc": "14903:36:18", "nodeType": "YulFunctionCall", - "src": "14903:36:5" + "src": "14903:36:18" }, { "arguments": [ @@ -29428,107 +48403,107 @@ "arguments": [ { "name": "index", - "nativeSrc": "14949:5:5", + "nativeSrc": "14949:5:18", "nodeType": "YulIdentifier", - "src": "14949:5:5" + "src": "14949:5:18" }, { "name": "scalar_u", - "nativeSrc": "14956:8:5", + "nativeSrc": "14956:8:18", "nodeType": "YulIdentifier", - "src": "14956:8:5" + "src": "14956:8:18" } ], "functionName": { "name": "shr", - "nativeSrc": "14945:3:5", + "nativeSrc": "14945:3:18", "nodeType": "YulIdentifier", - "src": "14945:3:5" + "src": "14945:3:18" }, - "nativeSrc": "14945:20:5", + "nativeSrc": "14945:20:18", "nodeType": "YulFunctionCall", - "src": "14945:20:5" + "src": "14945:20:18" }, { "kind": "number", - "nativeSrc": "14967:1:5", + "nativeSrc": "14967:1:18", "nodeType": "YulLiteral", - "src": "14967:1:5", + "src": "14967:1:18", "type": "", "value": "1" } ], "functionName": { "name": "and", - "nativeSrc": "14941:3:5", + "nativeSrc": "14941:3:18", "nodeType": "YulIdentifier", - "src": "14941:3:5" + "src": "14941:3:18" }, - "nativeSrc": "14941:28:5", + "nativeSrc": "14941:28:18", "nodeType": "YulFunctionCall", - "src": "14941:28:5" + "src": "14941:28:18" } ], "functionName": { "name": "add", - "nativeSrc": "14899:3:5", + "nativeSrc": "14899:3:18", "nodeType": "YulIdentifier", - "src": "14899:3:5" + "src": "14899:3:18" }, - "nativeSrc": "14899:71:5", + "nativeSrc": "14899:71:18", "nodeType": "YulFunctionCall", - "src": "14899:71:5" + "src": "14899:71:18" }, "variableNames": [ { "name": "zz", - "nativeSrc": "14893:2:5", + "nativeSrc": "14893:2:18", "nodeType": "YulIdentifier", - "src": "14893:2:5" + "src": "14893:2:18" } ] }, { "body": { - "nativeSrc": "15001:75:5", + "nativeSrc": "15001:75:18", "nodeType": "YulBlock", - "src": "15001:75:5", + "src": "15001:75:18", "statements": [ { - "nativeSrc": "15023:7:5", + "nativeSrc": "15023:7:18", "nodeType": "YulAssignment", - "src": "15023:7:5", + "src": "15023:7:18", "value": { "name": "gx", - "nativeSrc": "15028:2:5", + "nativeSrc": "15028:2:18", "nodeType": "YulIdentifier", - "src": "15028:2:5" + "src": "15028:2:18" }, "variableNames": [ { "name": "X", - "nativeSrc": "15023:1:5", + "nativeSrc": "15023:1:18", "nodeType": "YulIdentifier", - "src": "15023:1:5" + "src": "15023:1:18" } ] }, { - "nativeSrc": "15051:7:5", + "nativeSrc": "15051:7:18", "nodeType": "YulAssignment", - "src": "15051:7:5", + "src": "15051:7:18", "value": { "name": "gy", - "nativeSrc": "15056:2:5", + "nativeSrc": "15056:2:18", "nodeType": "YulIdentifier", - "src": "15056:2:5" + "src": "15056:2:18" }, "variableNames": [ { "name": "Y", - "nativeSrc": "15051:1:5", + "nativeSrc": "15051:1:18", "nodeType": "YulIdentifier", - "src": "15051:1:5" + "src": "15051:1:18" } ] } @@ -29538,74 +48513,74 @@ "arguments": [ { "name": "zz", - "nativeSrc": "14994:2:5", + "nativeSrc": "14994:2:18", "nodeType": "YulIdentifier", - "src": "14994:2:5" + "src": "14994:2:18" }, { "kind": "number", - "nativeSrc": "14998:1:5", + "nativeSrc": "14998:1:18", "nodeType": "YulLiteral", - "src": "14998:1:5", + "src": "14998:1:18", "type": "", "value": "1" } ], "functionName": { "name": "eq", - "nativeSrc": "14991:2:5", + "nativeSrc": "14991:2:18", "nodeType": "YulIdentifier", - "src": "14991:2:5" + "src": "14991:2:18" }, - "nativeSrc": "14991:9:5", + "nativeSrc": "14991:9:18", "nodeType": "YulFunctionCall", - "src": "14991:9:5" + "src": "14991:9:18" }, - "nativeSrc": "14988:88:5", + "nativeSrc": "14988:88:18", "nodeType": "YulIf", - "src": "14988:88:5" + "src": "14988:88:18" }, { "body": { - "nativeSrc": "15106:75:5", + "nativeSrc": "15106:75:18", "nodeType": "YulBlock", - "src": "15106:75:5", + "src": "15106:75:18", "statements": [ { - "nativeSrc": "15128:7:5", + "nativeSrc": "15128:7:18", "nodeType": "YulAssignment", - "src": "15128:7:5", + "src": "15128:7:18", "value": { "name": "Q0", - "nativeSrc": "15133:2:5", + "nativeSrc": "15133:2:18", "nodeType": "YulIdentifier", - "src": "15133:2:5" + "src": "15133:2:18" }, "variableNames": [ { "name": "X", - "nativeSrc": "15128:1:5", + "nativeSrc": "15128:1:18", "nodeType": "YulIdentifier", - "src": "15128:1:5" + "src": "15128:1:18" } ] }, { - "nativeSrc": "15156:7:5", + "nativeSrc": "15156:7:18", "nodeType": "YulAssignment", - "src": "15156:7:5", + "src": "15156:7:18", "value": { "name": "Q1", - "nativeSrc": "15161:2:5", + "nativeSrc": "15161:2:18", "nodeType": "YulIdentifier", - "src": "15161:2:5" + "src": "15161:2:18" }, "variableNames": [ { "name": "Y", - "nativeSrc": "15156:1:5", + "nativeSrc": "15156:1:18", "nodeType": "YulIdentifier", - "src": "15156:1:5" + "src": "15156:1:18" } ] } @@ -29615,74 +48590,74 @@ "arguments": [ { "name": "zz", - "nativeSrc": "15099:2:5", + "nativeSrc": "15099:2:18", "nodeType": "YulIdentifier", - "src": "15099:2:5" + "src": "15099:2:18" }, { "kind": "number", - "nativeSrc": "15103:1:5", + "nativeSrc": "15103:1:18", "nodeType": "YulLiteral", - "src": "15103:1:5", + "src": "15103:1:18", "type": "", "value": "2" } ], "functionName": { "name": "eq", - "nativeSrc": "15096:2:5", + "nativeSrc": "15096:2:18", "nodeType": "YulIdentifier", - "src": "15096:2:5" + "src": "15096:2:18" }, - "nativeSrc": "15096:9:5", + "nativeSrc": "15096:9:18", "nodeType": "YulFunctionCall", - "src": "15096:9:5" + "src": "15096:9:18" }, - "nativeSrc": "15093:88:5", + "nativeSrc": "15093:88:18", "nodeType": "YulIf", - "src": "15093:88:5" + "src": "15093:88:18" }, { "body": { - "nativeSrc": "15211:75:5", + "nativeSrc": "15211:75:18", "nodeType": "YulBlock", - "src": "15211:75:5", + "src": "15211:75:18", "statements": [ { - "nativeSrc": "15233:7:5", + "nativeSrc": "15233:7:18", "nodeType": "YulAssignment", - "src": "15233:7:5", + "src": "15233:7:18", "value": { "name": "H0", - "nativeSrc": "15238:2:5", + "nativeSrc": "15238:2:18", "nodeType": "YulIdentifier", - "src": "15238:2:5" + "src": "15238:2:18" }, "variableNames": [ { "name": "X", - "nativeSrc": "15233:1:5", + "nativeSrc": "15233:1:18", "nodeType": "YulIdentifier", - "src": "15233:1:5" + "src": "15233:1:18" } ] }, { - "nativeSrc": "15261:7:5", + "nativeSrc": "15261:7:18", "nodeType": "YulAssignment", - "src": "15261:7:5", + "src": "15261:7:18", "value": { "name": "H1", - "nativeSrc": "15266:2:5", + "nativeSrc": "15266:2:18", "nodeType": "YulIdentifier", - "src": "15266:2:5" + "src": "15266:2:18" }, "variableNames": [ { "name": "Y", - "nativeSrc": "15261:1:5", + "nativeSrc": "15261:1:18", "nodeType": "YulIdentifier", - "src": "15261:1:5" + "src": "15261:1:18" } ] } @@ -29692,313 +48667,313 @@ "arguments": [ { "name": "zz", - "nativeSrc": "15204:2:5", + "nativeSrc": "15204:2:18", "nodeType": "YulIdentifier", - "src": "15204:2:5" + "src": "15204:2:18" }, { "kind": "number", - "nativeSrc": "15208:1:5", + "nativeSrc": "15208:1:18", "nodeType": "YulLiteral", - "src": "15208:1:5", + "src": "15208:1:18", "type": "", "value": "3" } ], "functionName": { "name": "eq", - "nativeSrc": "15201:2:5", + "nativeSrc": "15201:2:18", "nodeType": "YulIdentifier", - "src": "15201:2:5" + "src": "15201:2:18" }, - "nativeSrc": "15201:9:5", + "nativeSrc": "15201:9:18", "nodeType": "YulFunctionCall", - "src": "15201:9:5" + "src": "15201:9:18" }, - "nativeSrc": "15198:88:5", + "nativeSrc": "15198:88:18", "nodeType": "YulIf", - "src": "15198:88:5" + "src": "15198:88:18" }, { - "nativeSrc": "15304:22:5", + "nativeSrc": "15304:22:18", "nodeType": "YulAssignment", - "src": "15304:22:5", + "src": "15304:22:18", "value": { "arguments": [ { "name": "index", - "nativeSrc": "15317:5:5", + "nativeSrc": "15317:5:18", "nodeType": "YulIdentifier", - "src": "15317:5:5" + "src": "15317:5:18" }, { "kind": "number", - "nativeSrc": "15324:1:5", + "nativeSrc": "15324:1:18", "nodeType": "YulLiteral", - "src": "15324:1:5", + "src": "15324:1:18", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "15313:3:5", + "nativeSrc": "15313:3:18", "nodeType": "YulIdentifier", - "src": "15313:3:5" + "src": "15313:3:18" }, - "nativeSrc": "15313:13:5", + "nativeSrc": "15313:13:18", "nodeType": "YulFunctionCall", - "src": "15313:13:5" + "src": "15313:13:18" }, "variableNames": [ { "name": "index", - "nativeSrc": "15304:5:5", + "nativeSrc": "15304:5:18", "nodeType": "YulIdentifier", - "src": "15304:5:5" + "src": "15304:5:18" } ] }, { - "nativeSrc": "15343:7:5", + "nativeSrc": "15343:7:18", "nodeType": "YulAssignment", - "src": "15343:7:5", + "src": "15343:7:18", "value": { "kind": "number", - "nativeSrc": "15349:1:5", + "nativeSrc": "15349:1:18", "nodeType": "YulLiteral", - "src": "15349:1:5", + "src": "15349:1:18", "type": "", "value": "1" }, "variableNames": [ { "name": "zz", - "nativeSrc": "15343:2:5", + "nativeSrc": "15343:2:18", "nodeType": "YulIdentifier", - "src": "15343:2:5" + "src": "15343:2:18" } ] }, { - "nativeSrc": "15367:8:5", + "nativeSrc": "15367:8:18", "nodeType": "YulAssignment", - "src": "15367:8:5", + "src": "15367:8:18", "value": { "kind": "number", - "nativeSrc": "15374:1:5", + "nativeSrc": "15374:1:18", "nodeType": "YulLiteral", - "src": "15374:1:5", + "src": "15374:1:18", "type": "", "value": "1" }, "variableNames": [ { "name": "zzz", - "nativeSrc": "15367:3:5", + "nativeSrc": "15367:3:18", "nodeType": "YulIdentifier", - "src": "15367:3:5" + "src": "15367:3:18" } ] }, { "body": { - "nativeSrc": "15446:3972:5", + "nativeSrc": "15446:3972:18", "nodeType": "YulBlock", - "src": "15446:3972:5", + "src": "15446:3972:18", "statements": [ { - "nativeSrc": "15508:25:5", + "nativeSrc": "15508:25:18", "nodeType": "YulVariableDeclaration", - "src": "15508:25:5", + "src": "15508:25:18", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "15525:1:5", + "nativeSrc": "15525:1:18", "nodeType": "YulLiteral", - "src": "15525:1:5", + "src": "15525:1:18", "type": "", "value": "2" }, { "name": "Y", - "nativeSrc": "15528:1:5", + "nativeSrc": "15528:1:18", "nodeType": "YulIdentifier", - "src": "15528:1:5" + "src": "15528:1:18" }, { "name": "p", - "nativeSrc": "15531:1:5", + "nativeSrc": "15531:1:18", "nodeType": "YulIdentifier", - "src": "15531:1:5" + "src": "15531:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "15518:6:5", + "nativeSrc": "15518:6:18", "nodeType": "YulIdentifier", - "src": "15518:6:5" + "src": "15518:6:18" }, - "nativeSrc": "15518:15:5", + "nativeSrc": "15518:15:18", "nodeType": "YulFunctionCall", - "src": "15518:15:5" + "src": "15518:15:18" }, "variables": [ { "name": "T1", - "nativeSrc": "15512:2:5", + "nativeSrc": "15512:2:18", "nodeType": "YulTypedName", - "src": "15512:2:5", + "src": "15512:2:18", "type": "" } ] }, { - "nativeSrc": "15573:27:5", + "nativeSrc": "15573:27:18", "nodeType": "YulVariableDeclaration", - "src": "15573:27:5", + "src": "15573:27:18", "value": { "arguments": [ { "name": "T1", - "nativeSrc": "15590:2:5", + "nativeSrc": "15590:2:18", "nodeType": "YulIdentifier", - "src": "15590:2:5" + "src": "15590:2:18" }, { "name": "T1", - "nativeSrc": "15594:2:5", + "nativeSrc": "15594:2:18", "nodeType": "YulIdentifier", - "src": "15594:2:5" + "src": "15594:2:18" }, { "name": "p", - "nativeSrc": "15598:1:5", + "nativeSrc": "15598:1:18", "nodeType": "YulIdentifier", - "src": "15598:1:5" + "src": "15598:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "15583:6:5", + "nativeSrc": "15583:6:18", "nodeType": "YulIdentifier", - "src": "15583:6:5" + "src": "15583:6:18" }, - "nativeSrc": "15583:17:5", + "nativeSrc": "15583:17:18", "nodeType": "YulFunctionCall", - "src": "15583:17:5" + "src": "15583:17:18" }, "variables": [ { "name": "T2", - "nativeSrc": "15577:2:5", + "nativeSrc": "15577:2:18", "nodeType": "YulTypedName", - "src": "15577:2:5", + "src": "15577:2:18", "type": "" } ] }, { - "nativeSrc": "15630:26:5", + "nativeSrc": "15630:26:18", "nodeType": "YulVariableDeclaration", - "src": "15630:26:5", + "src": "15630:26:18", "value": { "arguments": [ { "name": "X", - "nativeSrc": "15647:1:5", + "nativeSrc": "15647:1:18", "nodeType": "YulIdentifier", - "src": "15647:1:5" + "src": "15647:1:18" }, { "name": "T2", - "nativeSrc": "15650:2:5", + "nativeSrc": "15650:2:18", "nodeType": "YulIdentifier", - "src": "15650:2:5" + "src": "15650:2:18" }, { "name": "p", - "nativeSrc": "15654:1:5", + "nativeSrc": "15654:1:18", "nodeType": "YulIdentifier", - "src": "15654:1:5" + "src": "15654:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "15640:6:5", + "nativeSrc": "15640:6:18", "nodeType": "YulIdentifier", - "src": "15640:6:5" + "src": "15640:6:18" }, - "nativeSrc": "15640:16:5", + "nativeSrc": "15640:16:18", "nodeType": "YulFunctionCall", - "src": "15640:16:5" + "src": "15640:16:18" }, "variables": [ { "name": "T3", - "nativeSrc": "15634:2:5", + "nativeSrc": "15634:2:18", "nodeType": "YulTypedName", - "src": "15634:2:5", + "src": "15634:2:18", "type": "" } ] }, { - "nativeSrc": "15689:23:5", + "nativeSrc": "15689:23:18", "nodeType": "YulAssignment", - "src": "15689:23:5", + "src": "15689:23:18", "value": { "arguments": [ { "name": "T1", - "nativeSrc": "15702:2:5", + "nativeSrc": "15702:2:18", "nodeType": "YulIdentifier", - "src": "15702:2:5" + "src": "15702:2:18" }, { "name": "T2", - "nativeSrc": "15706:2:5", + "nativeSrc": "15706:2:18", "nodeType": "YulIdentifier", - "src": "15706:2:5" + "src": "15706:2:18" }, { "name": "p", - "nativeSrc": "15710:1:5", + "nativeSrc": "15710:1:18", "nodeType": "YulIdentifier", - "src": "15710:1:5" + "src": "15710:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "15695:6:5", + "nativeSrc": "15695:6:18", "nodeType": "YulIdentifier", - "src": "15695:6:5" + "src": "15695:6:18" }, - "nativeSrc": "15695:17:5", + "nativeSrc": "15695:17:18", "nodeType": "YulFunctionCall", - "src": "15695:17:5" + "src": "15695:17:18" }, "variableNames": [ { "name": "T1", - "nativeSrc": "15689:2:5", + "nativeSrc": "15689:2:18", "nodeType": "YulIdentifier", - "src": "15689:2:5" + "src": "15689:2:18" } ] }, { - "nativeSrc": "15741:77:5", + "nativeSrc": "15741:77:18", "nodeType": "YulVariableDeclaration", - "src": "15741:77:5", + "src": "15741:77:18", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "15758:1:5", + "nativeSrc": "15758:1:18", "nodeType": "YulLiteral", - "src": "15758:1:5", + "src": "15758:1:18", "type": "", "value": "3" }, @@ -30008,484 +48983,484 @@ "arguments": [ { "name": "X", - "nativeSrc": "15775:1:5", + "nativeSrc": "15775:1:18", "nodeType": "YulIdentifier", - "src": "15775:1:5" + "src": "15775:1:18" }, { "arguments": [ { "name": "p", - "nativeSrc": "15782:1:5", + "nativeSrc": "15782:1:18", "nodeType": "YulIdentifier", - "src": "15782:1:5" + "src": "15782:1:18" }, { "name": "zz", - "nativeSrc": "15785:2:5", + "nativeSrc": "15785:2:18", "nodeType": "YulIdentifier", - "src": "15785:2:5" + "src": "15785:2:18" } ], "functionName": { "name": "sub", - "nativeSrc": "15778:3:5", + "nativeSrc": "15778:3:18", "nodeType": "YulIdentifier", - "src": "15778:3:5" + "src": "15778:3:18" }, - "nativeSrc": "15778:10:5", + "nativeSrc": "15778:10:18", "nodeType": "YulFunctionCall", - "src": "15778:10:5" + "src": "15778:10:18" }, { "name": "p", - "nativeSrc": "15790:1:5", + "nativeSrc": "15790:1:18", "nodeType": "YulIdentifier", - "src": "15790:1:5" + "src": "15790:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "15768:6:5", + "nativeSrc": "15768:6:18", "nodeType": "YulIdentifier", - "src": "15768:6:5" + "src": "15768:6:18" }, - "nativeSrc": "15768:24:5", + "nativeSrc": "15768:24:18", "nodeType": "YulFunctionCall", - "src": "15768:24:5" + "src": "15768:24:18" }, { "arguments": [ { "name": "X", - "nativeSrc": "15801:1:5", + "nativeSrc": "15801:1:18", "nodeType": "YulIdentifier", - "src": "15801:1:5" + "src": "15801:1:18" }, { "name": "zz", - "nativeSrc": "15804:2:5", + "nativeSrc": "15804:2:18", "nodeType": "YulIdentifier", - "src": "15804:2:5" + "src": "15804:2:18" }, { "name": "p", - "nativeSrc": "15808:1:5", + "nativeSrc": "15808:1:18", "nodeType": "YulIdentifier", - "src": "15808:1:5" + "src": "15808:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "15794:6:5", + "nativeSrc": "15794:6:18", "nodeType": "YulIdentifier", - "src": "15794:6:5" + "src": "15794:6:18" }, - "nativeSrc": "15794:16:5", + "nativeSrc": "15794:16:18", "nodeType": "YulFunctionCall", - "src": "15794:16:5" + "src": "15794:16:18" }, { "name": "p", - "nativeSrc": "15812:1:5", + "nativeSrc": "15812:1:18", "nodeType": "YulIdentifier", - "src": "15812:1:5" + "src": "15812:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "15761:6:5", + "nativeSrc": "15761:6:18", "nodeType": "YulIdentifier", - "src": "15761:6:5" + "src": "15761:6:18" }, - "nativeSrc": "15761:53:5", + "nativeSrc": "15761:53:18", "nodeType": "YulFunctionCall", - "src": "15761:53:5" + "src": "15761:53:18" }, { "name": "p", - "nativeSrc": "15816:1:5", + "nativeSrc": "15816:1:18", "nodeType": "YulIdentifier", - "src": "15816:1:5" + "src": "15816:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "15751:6:5", + "nativeSrc": "15751:6:18", "nodeType": "YulIdentifier", - "src": "15751:6:5" + "src": "15751:6:18" }, - "nativeSrc": "15751:67:5", + "nativeSrc": "15751:67:18", "nodeType": "YulFunctionCall", - "src": "15751:67:5" + "src": "15751:67:18" }, "variables": [ { "name": "T4", - "nativeSrc": "15745:2:5", + "nativeSrc": "15745:2:18", "nodeType": "YulTypedName", - "src": "15745:2:5", + "src": "15745:2:18", "type": "" } ] }, { - "nativeSrc": "15863:25:5", + "nativeSrc": "15863:25:18", "nodeType": "YulAssignment", - "src": "15863:25:5", + "src": "15863:25:18", "value": { "arguments": [ { "name": "T1", - "nativeSrc": "15877:2:5", + "nativeSrc": "15877:2:18", "nodeType": "YulIdentifier", - "src": "15877:2:5" + "src": "15877:2:18" }, { "name": "zzz", - "nativeSrc": "15881:3:5", + "nativeSrc": "15881:3:18", "nodeType": "YulIdentifier", - "src": "15881:3:5" + "src": "15881:3:18" }, { "name": "p", - "nativeSrc": "15886:1:5", + "nativeSrc": "15886:1:18", "nodeType": "YulIdentifier", - "src": "15886:1:5" + "src": "15886:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "15870:6:5", + "nativeSrc": "15870:6:18", "nodeType": "YulIdentifier", - "src": "15870:6:5" + "src": "15870:6:18" }, - "nativeSrc": "15870:18:5", + "nativeSrc": "15870:18:18", "nodeType": "YulFunctionCall", - "src": "15870:18:5" + "src": "15870:18:18" }, "variableNames": [ { "name": "zzz", - "nativeSrc": "15863:3:5", + "nativeSrc": "15863:3:18", "nodeType": "YulIdentifier", - "src": "15863:3:5" + "src": "15863:3:18" } ] }, { - "nativeSrc": "15923:23:5", + "nativeSrc": "15923:23:18", "nodeType": "YulAssignment", - "src": "15923:23:5", + "src": "15923:23:18", "value": { "arguments": [ { "name": "T2", - "nativeSrc": "15936:2:5", + "nativeSrc": "15936:2:18", "nodeType": "YulIdentifier", - "src": "15936:2:5" + "src": "15936:2:18" }, { "name": "zz", - "nativeSrc": "15940:2:5", + "nativeSrc": "15940:2:18", "nodeType": "YulIdentifier", - "src": "15940:2:5" + "src": "15940:2:18" }, { "name": "p", - "nativeSrc": "15944:1:5", + "nativeSrc": "15944:1:18", "nodeType": "YulIdentifier", - "src": "15944:1:5" + "src": "15944:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "15929:6:5", + "nativeSrc": "15929:6:18", "nodeType": "YulIdentifier", - "src": "15929:6:5" + "src": "15929:6:18" }, - "nativeSrc": "15929:17:5", + "nativeSrc": "15929:17:18", "nodeType": "YulFunctionCall", - "src": "15929:17:5" + "src": "15929:17:18" }, "variableNames": [ { "name": "zz", - "nativeSrc": "15923:2:5", + "nativeSrc": "15923:2:18", "nodeType": "YulIdentifier", - "src": "15923:2:5" + "src": "15923:2:18" } ] }, { - "nativeSrc": "15988:57:5", + "nativeSrc": "15988:57:18", "nodeType": "YulAssignment", - "src": "15988:57:5", + "src": "15988:57:18", "value": { "arguments": [ { "arguments": [ { "name": "T4", - "nativeSrc": "16007:2:5", + "nativeSrc": "16007:2:18", "nodeType": "YulIdentifier", - "src": "16007:2:5" + "src": "16007:2:18" }, { "name": "T4", - "nativeSrc": "16011:2:5", + "nativeSrc": "16011:2:18", "nodeType": "YulIdentifier", - "src": "16011:2:5" + "src": "16011:2:18" }, { "name": "p", - "nativeSrc": "16015:1:5", + "nativeSrc": "16015:1:18", "nodeType": "YulIdentifier", - "src": "16015:1:5" + "src": "16015:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "16000:6:5", + "nativeSrc": "16000:6:18", "nodeType": "YulIdentifier", - "src": "16000:6:5" + "src": "16000:6:18" }, - "nativeSrc": "16000:17:5", + "nativeSrc": "16000:17:18", "nodeType": "YulFunctionCall", - "src": "16000:17:5" + "src": "16000:17:18" }, { "arguments": [ { "name": "minus_2", - "nativeSrc": "16026:7:5", + "nativeSrc": "16026:7:18", "nodeType": "YulIdentifier", - "src": "16026:7:5" + "src": "16026:7:18" }, { "name": "T3", - "nativeSrc": "16035:2:5", + "nativeSrc": "16035:2:18", "nodeType": "YulIdentifier", - "src": "16035:2:5" + "src": "16035:2:18" }, { "name": "p", - "nativeSrc": "16039:1:5", + "nativeSrc": "16039:1:18", "nodeType": "YulIdentifier", - "src": "16039:1:5" + "src": "16039:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "16019:6:5", + "nativeSrc": "16019:6:18", "nodeType": "YulIdentifier", - "src": "16019:6:5" + "src": "16019:6:18" }, - "nativeSrc": "16019:22:5", + "nativeSrc": "16019:22:18", "nodeType": "YulFunctionCall", - "src": "16019:22:5" + "src": "16019:22:18" }, { "name": "p", - "nativeSrc": "16043:1:5", + "nativeSrc": "16043:1:18", "nodeType": "YulIdentifier", - "src": "16043:1:5" + "src": "16043:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "15993:6:5", + "nativeSrc": "15993:6:18", "nodeType": "YulIdentifier", - "src": "15993:6:5" + "src": "15993:6:18" }, - "nativeSrc": "15993:52:5", + "nativeSrc": "15993:52:18", "nodeType": "YulFunctionCall", - "src": "15993:52:5" + "src": "15993:52:18" }, "variableNames": [ { "name": "X", - "nativeSrc": "15988:1:5", + "nativeSrc": "15988:1:18", "nodeType": "YulIdentifier", - "src": "15988:1:5" + "src": "15988:1:18" } ] }, { - "nativeSrc": "16078:45:5", + "nativeSrc": "16078:45:18", "nodeType": "YulAssignment", - "src": "16078:45:5", + "src": "16078:45:18", "value": { "arguments": [ { "name": "T4", - "nativeSrc": "16091:2:5", + "nativeSrc": "16091:2:18", "nodeType": "YulIdentifier", - "src": "16091:2:5" + "src": "16091:2:18" }, { "arguments": [ { "name": "X", - "nativeSrc": "16102:1:5", + "nativeSrc": "16102:1:18", "nodeType": "YulIdentifier", - "src": "16102:1:5" + "src": "16102:1:18" }, { "arguments": [ { "name": "p", - "nativeSrc": "16109:1:5", + "nativeSrc": "16109:1:18", "nodeType": "YulIdentifier", - "src": "16109:1:5" + "src": "16109:1:18" }, { "name": "T3", - "nativeSrc": "16112:2:5", + "nativeSrc": "16112:2:18", "nodeType": "YulIdentifier", - "src": "16112:2:5" + "src": "16112:2:18" } ], "functionName": { "name": "sub", - "nativeSrc": "16105:3:5", + "nativeSrc": "16105:3:18", "nodeType": "YulIdentifier", - "src": "16105:3:5" + "src": "16105:3:18" }, - "nativeSrc": "16105:10:5", + "nativeSrc": "16105:10:18", "nodeType": "YulFunctionCall", - "src": "16105:10:5" + "src": "16105:10:18" }, { "name": "p", - "nativeSrc": "16117:1:5", + "nativeSrc": "16117:1:18", "nodeType": "YulIdentifier", - "src": "16117:1:5" + "src": "16117:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "16095:6:5", + "nativeSrc": "16095:6:18", "nodeType": "YulIdentifier", - "src": "16095:6:5" + "src": "16095:6:18" }, - "nativeSrc": "16095:24:5", + "nativeSrc": "16095:24:18", "nodeType": "YulFunctionCall", - "src": "16095:24:5" + "src": "16095:24:18" }, { "name": "p", - "nativeSrc": "16121:1:5", + "nativeSrc": "16121:1:18", "nodeType": "YulIdentifier", - "src": "16121:1:5" + "src": "16121:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "16084:6:5", + "nativeSrc": "16084:6:18", "nodeType": "YulIdentifier", - "src": "16084:6:5" + "src": "16084:6:18" }, - "nativeSrc": "16084:39:5", + "nativeSrc": "16084:39:18", "nodeType": "YulFunctionCall", - "src": "16084:39:5" + "src": "16084:39:18" }, "variableNames": [ { "name": "T2", - "nativeSrc": "16078:2:5", + "nativeSrc": "16078:2:18", "nodeType": "YulIdentifier", - "src": "16078:2:5" + "src": "16078:2:18" } ] }, { - "nativeSrc": "16163:36:5", + "nativeSrc": "16163:36:18", "nodeType": "YulAssignment", - "src": "16163:36:5", + "src": "16163:36:18", "value": { "arguments": [ { "arguments": [ { "name": "T1", - "nativeSrc": "16182:2:5", + "nativeSrc": "16182:2:18", "nodeType": "YulIdentifier", - "src": "16182:2:5" + "src": "16182:2:18" }, { "name": "Y", - "nativeSrc": "16186:1:5", + "nativeSrc": "16186:1:18", "nodeType": "YulIdentifier", - "src": "16186:1:5" + "src": "16186:1:18" }, { "name": "p", - "nativeSrc": "16189:1:5", + "nativeSrc": "16189:1:18", "nodeType": "YulIdentifier", - "src": "16189:1:5" + "src": "16189:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "16175:6:5", + "nativeSrc": "16175:6:18", "nodeType": "YulIdentifier", - "src": "16175:6:5" + "src": "16175:6:18" }, - "nativeSrc": "16175:16:5", + "nativeSrc": "16175:16:18", "nodeType": "YulFunctionCall", - "src": "16175:16:5" + "src": "16175:16:18" }, { "name": "T2", - "nativeSrc": "16193:2:5", + "nativeSrc": "16193:2:18", "nodeType": "YulIdentifier", - "src": "16193:2:5" + "src": "16193:2:18" }, { "name": "p", - "nativeSrc": "16197:1:5", + "nativeSrc": "16197:1:18", "nodeType": "YulIdentifier", - "src": "16197:1:5" + "src": "16197:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "16168:6:5", + "nativeSrc": "16168:6:18", "nodeType": "YulIdentifier", - "src": "16168:6:5" + "src": "16168:6:18" }, - "nativeSrc": "16168:31:5", + "nativeSrc": "16168:31:18", "nodeType": "YulFunctionCall", - "src": "16168:31:5" + "src": "16168:31:18" }, "variableNames": [ { "name": "Y", - "nativeSrc": "16163:1:5", + "nativeSrc": "16163:1:18", "nodeType": "YulIdentifier", - "src": "16163:1:5" + "src": "16163:1:18" } ] }, { - "nativeSrc": "16285:3115:5", + "nativeSrc": "16285:3115:18", "nodeType": "YulBlock", - "src": "16285:3115:5", + "src": "16285:3115:18", "statements": [ { - "nativeSrc": "16352:77:5", + "nativeSrc": "16352:77:18", "nodeType": "YulAssignment", - "src": "16352:77:5", + "src": "16352:77:18", "value": { "arguments": [ { "arguments": [ { "kind": "number", - "nativeSrc": "16366:1:5", + "nativeSrc": "16366:1:18", "nodeType": "YulLiteral", - "src": "16366:1:5", + "src": "16366:1:18", "type": "", "value": "1" }, @@ -30495,56 +49470,56 @@ "arguments": [ { "name": "index", - "nativeSrc": "16377:5:5", + "nativeSrc": "16377:5:18", "nodeType": "YulIdentifier", - "src": "16377:5:5" + "src": "16377:5:18" }, { "name": "scalar_v", - "nativeSrc": "16384:8:5", + "nativeSrc": "16384:8:18", "nodeType": "YulIdentifier", - "src": "16384:8:5" + "src": "16384:8:18" } ], "functionName": { "name": "shr", - "nativeSrc": "16373:3:5", + "nativeSrc": "16373:3:18", "nodeType": "YulIdentifier", - "src": "16373:3:5" + "src": "16373:3:18" }, - "nativeSrc": "16373:20:5", + "nativeSrc": "16373:20:18", "nodeType": "YulFunctionCall", - "src": "16373:20:5" + "src": "16373:20:18" }, { "kind": "number", - "nativeSrc": "16395:1:5", + "nativeSrc": "16395:1:18", "nodeType": "YulLiteral", - "src": "16395:1:5", + "src": "16395:1:18", "type": "", "value": "1" } ], "functionName": { "name": "and", - "nativeSrc": "16369:3:5", + "nativeSrc": "16369:3:18", "nodeType": "YulIdentifier", - "src": "16369:3:5" + "src": "16369:3:18" }, - "nativeSrc": "16369:28:5", + "nativeSrc": "16369:28:18", "nodeType": "YulFunctionCall", - "src": "16369:28:5" + "src": "16369:28:18" } ], "functionName": { "name": "shl", - "nativeSrc": "16362:3:5", + "nativeSrc": "16362:3:18", "nodeType": "YulIdentifier", - "src": "16362:3:5" + "src": "16362:3:18" }, - "nativeSrc": "16362:36:5", + "nativeSrc": "16362:36:18", "nodeType": "YulFunctionCall", - "src": "16362:36:5" + "src": "16362:36:18" }, { "arguments": [ @@ -30552,114 +49527,114 @@ "arguments": [ { "name": "index", - "nativeSrc": "16408:5:5", + "nativeSrc": "16408:5:18", "nodeType": "YulIdentifier", - "src": "16408:5:5" + "src": "16408:5:18" }, { "name": "scalar_u", - "nativeSrc": "16415:8:5", + "nativeSrc": "16415:8:18", "nodeType": "YulIdentifier", - "src": "16415:8:5" + "src": "16415:8:18" } ], "functionName": { "name": "shr", - "nativeSrc": "16404:3:5", + "nativeSrc": "16404:3:18", "nodeType": "YulIdentifier", - "src": "16404:3:5" + "src": "16404:3:18" }, - "nativeSrc": "16404:20:5", + "nativeSrc": "16404:20:18", "nodeType": "YulFunctionCall", - "src": "16404:20:5" + "src": "16404:20:18" }, { "kind": "number", - "nativeSrc": "16426:1:5", + "nativeSrc": "16426:1:18", "nodeType": "YulLiteral", - "src": "16426:1:5", + "src": "16426:1:18", "type": "", "value": "1" } ], "functionName": { "name": "and", - "nativeSrc": "16400:3:5", + "nativeSrc": "16400:3:18", "nodeType": "YulIdentifier", - "src": "16400:3:5" + "src": "16400:3:18" }, - "nativeSrc": "16400:28:5", + "nativeSrc": "16400:28:18", "nodeType": "YulFunctionCall", - "src": "16400:28:5" + "src": "16400:28:18" } ], "functionName": { "name": "add", - "nativeSrc": "16358:3:5", + "nativeSrc": "16358:3:18", "nodeType": "YulIdentifier", - "src": "16358:3:5" + "src": "16358:3:18" }, - "nativeSrc": "16358:71:5", + "nativeSrc": "16358:71:18", "nodeType": "YulFunctionCall", - "src": "16358:71:5" + "src": "16358:71:18" }, "variableNames": [ { "name": "T4", - "nativeSrc": "16352:2:5", + "nativeSrc": "16352:2:18", "nodeType": "YulIdentifier", - "src": "16352:2:5" + "src": "16352:2:18" } ] }, { "body": { - "nativeSrc": "16469:134:5", + "nativeSrc": "16469:134:18", "nodeType": "YulBlock", - "src": "16469:134:5", + "src": "16469:134:18", "statements": [ { - "nativeSrc": "16499:14:5", + "nativeSrc": "16499:14:18", "nodeType": "YulAssignment", - "src": "16499:14:5", + "src": "16499:14:18", "value": { "arguments": [ { "name": "p", - "nativeSrc": "16508:1:5", + "nativeSrc": "16508:1:18", "nodeType": "YulIdentifier", - "src": "16508:1:5" + "src": "16508:1:18" }, { "name": "Y", - "nativeSrc": "16511:1:5", + "nativeSrc": "16511:1:18", "nodeType": "YulIdentifier", - "src": "16511:1:5" + "src": "16511:1:18" } ], "functionName": { "name": "sub", - "nativeSrc": "16504:3:5", + "nativeSrc": "16504:3:18", "nodeType": "YulIdentifier", - "src": "16504:3:5" + "src": "16504:3:18" }, - "nativeSrc": "16504:9:5", + "nativeSrc": "16504:9:18", "nodeType": "YulFunctionCall", - "src": "16504:9:5" + "src": "16504:9:18" }, "variableNames": [ { "name": "Y", - "nativeSrc": "16499:1:5", + "nativeSrc": "16499:1:18", "nodeType": "YulIdentifier", - "src": "16499:1:5" + "src": "16499:1:18" } ] }, { - "nativeSrc": "16569:8:5", + "nativeSrc": "16569:8:18", "nodeType": "YulContinue", - "src": "16569:8:5" + "src": "16569:8:18" } ] }, @@ -30667,66 +49642,66 @@ "arguments": [ { "name": "T4", - "nativeSrc": "16465:2:5", + "nativeSrc": "16465:2:18", "nodeType": "YulIdentifier", - "src": "16465:2:5" + "src": "16465:2:18" } ], "functionName": { "name": "iszero", - "nativeSrc": "16458:6:5", + "nativeSrc": "16458:6:18", "nodeType": "YulIdentifier", - "src": "16458:6:5" + "src": "16458:6:18" }, - "nativeSrc": "16458:10:5", + "nativeSrc": "16458:10:18", "nodeType": "YulFunctionCall", - "src": "16458:10:5" + "src": "16458:10:18" }, - "nativeSrc": "16455:148:5", + "nativeSrc": "16455:148:18", "nodeType": "YulIf", - "src": "16455:148:5" + "src": "16455:148:18" }, { "body": { - "nativeSrc": "16654:101:5", + "nativeSrc": "16654:101:18", "nodeType": "YulBlock", - "src": "16654:101:5", + "src": "16654:101:18", "statements": [ { - "nativeSrc": "16684:8:5", + "nativeSrc": "16684:8:18", "nodeType": "YulAssignment", - "src": "16684:8:5", + "src": "16684:8:18", "value": { "name": "gx", - "nativeSrc": "16690:2:5", + "nativeSrc": "16690:2:18", "nodeType": "YulIdentifier", - "src": "16690:2:5" + "src": "16690:2:18" }, "variableNames": [ { "name": "T1", - "nativeSrc": "16684:2:5", + "nativeSrc": "16684:2:18", "nodeType": "YulIdentifier", - "src": "16684:2:5" + "src": "16684:2:18" } ] }, { - "nativeSrc": "16721:8:5", + "nativeSrc": "16721:8:18", "nodeType": "YulAssignment", - "src": "16721:8:5", + "src": "16721:8:18", "value": { "name": "gy", - "nativeSrc": "16727:2:5", + "nativeSrc": "16727:2:18", "nodeType": "YulIdentifier", - "src": "16727:2:5" + "src": "16727:2:18" }, "variableNames": [ { "name": "T2", - "nativeSrc": "16721:2:5", + "nativeSrc": "16721:2:18", "nodeType": "YulIdentifier", - "src": "16721:2:5" + "src": "16721:2:18" } ] } @@ -30736,74 +49711,74 @@ "arguments": [ { "name": "T4", - "nativeSrc": "16647:2:5", + "nativeSrc": "16647:2:18", "nodeType": "YulIdentifier", - "src": "16647:2:5" + "src": "16647:2:18" }, { "kind": "number", - "nativeSrc": "16651:1:5", + "nativeSrc": "16651:1:18", "nodeType": "YulLiteral", - "src": "16651:1:5", + "src": "16651:1:18", "type": "", "value": "1" } ], "functionName": { "name": "eq", - "nativeSrc": "16644:2:5", + "nativeSrc": "16644:2:18", "nodeType": "YulIdentifier", - "src": "16644:2:5" + "src": "16644:2:18" }, - "nativeSrc": "16644:9:5", + "nativeSrc": "16644:9:18", "nodeType": "YulFunctionCall", - "src": "16644:9:5" + "src": "16644:9:18" }, - "nativeSrc": "16641:114:5", + "nativeSrc": "16641:114:18", "nodeType": "YulIf", - "src": "16641:114:5" + "src": "16641:114:18" }, { "body": { - "nativeSrc": "16793:101:5", + "nativeSrc": "16793:101:18", "nodeType": "YulBlock", - "src": "16793:101:5", + "src": "16793:101:18", "statements": [ { - "nativeSrc": "16823:8:5", + "nativeSrc": "16823:8:18", "nodeType": "YulAssignment", - "src": "16823:8:5", + "src": "16823:8:18", "value": { "name": "Q0", - "nativeSrc": "16829:2:5", + "nativeSrc": "16829:2:18", "nodeType": "YulIdentifier", - "src": "16829:2:5" + "src": "16829:2:18" }, "variableNames": [ { "name": "T1", - "nativeSrc": "16823:2:5", + "nativeSrc": "16823:2:18", "nodeType": "YulIdentifier", - "src": "16823:2:5" + "src": "16823:2:18" } ] }, { - "nativeSrc": "16860:8:5", + "nativeSrc": "16860:8:18", "nodeType": "YulAssignment", - "src": "16860:8:5", + "src": "16860:8:18", "value": { "name": "Q1", - "nativeSrc": "16866:2:5", + "nativeSrc": "16866:2:18", "nodeType": "YulIdentifier", - "src": "16866:2:5" + "src": "16866:2:18" }, "variableNames": [ { "name": "T2", - "nativeSrc": "16860:2:5", + "nativeSrc": "16860:2:18", "nodeType": "YulIdentifier", - "src": "16860:2:5" + "src": "16860:2:18" } ] } @@ -30813,74 +49788,74 @@ "arguments": [ { "name": "T4", - "nativeSrc": "16786:2:5", + "nativeSrc": "16786:2:18", "nodeType": "YulIdentifier", - "src": "16786:2:5" + "src": "16786:2:18" }, { "kind": "number", - "nativeSrc": "16790:1:5", + "nativeSrc": "16790:1:18", "nodeType": "YulLiteral", - "src": "16790:1:5", + "src": "16790:1:18", "type": "", "value": "2" } ], "functionName": { "name": "eq", - "nativeSrc": "16783:2:5", + "nativeSrc": "16783:2:18", "nodeType": "YulIdentifier", - "src": "16783:2:5" + "src": "16783:2:18" }, - "nativeSrc": "16783:9:5", + "nativeSrc": "16783:9:18", "nodeType": "YulFunctionCall", - "src": "16783:9:5" + "src": "16783:9:18" }, - "nativeSrc": "16780:114:5", + "nativeSrc": "16780:114:18", "nodeType": "YulIf", - "src": "16780:114:5" + "src": "16780:114:18" }, { "body": { - "nativeSrc": "16932:101:5", + "nativeSrc": "16932:101:18", "nodeType": "YulBlock", - "src": "16932:101:5", + "src": "16932:101:18", "statements": [ { - "nativeSrc": "16962:8:5", + "nativeSrc": "16962:8:18", "nodeType": "YulAssignment", - "src": "16962:8:5", + "src": "16962:8:18", "value": { "name": "H0", - "nativeSrc": "16968:2:5", + "nativeSrc": "16968:2:18", "nodeType": "YulIdentifier", - "src": "16968:2:5" + "src": "16968:2:18" }, "variableNames": [ { "name": "T1", - "nativeSrc": "16962:2:5", + "nativeSrc": "16962:2:18", "nodeType": "YulIdentifier", - "src": "16962:2:5" + "src": "16962:2:18" } ] }, { - "nativeSrc": "16999:8:5", + "nativeSrc": "16999:8:18", "nodeType": "YulAssignment", - "src": "16999:8:5", + "src": "16999:8:18", "value": { "name": "H1", - "nativeSrc": "17005:2:5", + "nativeSrc": "17005:2:18", "nodeType": "YulIdentifier", - "src": "17005:2:5" + "src": "17005:2:18" }, "variableNames": [ { "name": "T2", - "nativeSrc": "16999:2:5", + "nativeSrc": "16999:2:18", "nodeType": "YulIdentifier", - "src": "16999:2:5" + "src": "16999:2:18" } ] } @@ -30890,123 +49865,123 @@ "arguments": [ { "name": "T4", - "nativeSrc": "16925:2:5", + "nativeSrc": "16925:2:18", "nodeType": "YulIdentifier", - "src": "16925:2:5" + "src": "16925:2:18" }, { "kind": "number", - "nativeSrc": "16929:1:5", + "nativeSrc": "16929:1:18", "nodeType": "YulLiteral", - "src": "16929:1:5", + "src": "16929:1:18", "type": "", "value": "3" } ], "functionName": { "name": "eq", - "nativeSrc": "16922:2:5", + "nativeSrc": "16922:2:18", "nodeType": "YulIdentifier", - "src": "16922:2:5" + "src": "16922:2:18" }, - "nativeSrc": "16922:9:5", + "nativeSrc": "16922:9:18", "nodeType": "YulFunctionCall", - "src": "16922:9:5" + "src": "16922:9:18" }, - "nativeSrc": "16919:114:5", + "nativeSrc": "16919:114:18", "nodeType": "YulIf", - "src": "16919:114:5" + "src": "16919:114:18" }, { "body": { - "nativeSrc": "17072:209:5", + "nativeSrc": "17072:209:18", "nodeType": "YulBlock", - "src": "17072:209:5", + "src": "17072:209:18", "statements": [ { - "nativeSrc": "17102:7:5", + "nativeSrc": "17102:7:18", "nodeType": "YulAssignment", - "src": "17102:7:5", + "src": "17102:7:18", "value": { "name": "T1", - "nativeSrc": "17107:2:5", + "nativeSrc": "17107:2:18", "nodeType": "YulIdentifier", - "src": "17107:2:5" + "src": "17107:2:18" }, "variableNames": [ { "name": "X", - "nativeSrc": "17102:1:5", + "nativeSrc": "17102:1:18", "nodeType": "YulIdentifier", - "src": "17102:1:5" + "src": "17102:1:18" } ] }, { - "nativeSrc": "17138:7:5", + "nativeSrc": "17138:7:18", "nodeType": "YulAssignment", - "src": "17138:7:5", + "src": "17138:7:18", "value": { "name": "T2", - "nativeSrc": "17143:2:5", + "nativeSrc": "17143:2:18", "nodeType": "YulIdentifier", - "src": "17143:2:5" + "src": "17143:2:18" }, "variableNames": [ { "name": "Y", - "nativeSrc": "17138:1:5", + "nativeSrc": "17138:1:18", "nodeType": "YulIdentifier", - "src": "17138:1:5" + "src": "17138:1:18" } ] }, { - "nativeSrc": "17174:7:5", + "nativeSrc": "17174:7:18", "nodeType": "YulAssignment", - "src": "17174:7:5", + "src": "17174:7:18", "value": { "kind": "number", - "nativeSrc": "17180:1:5", + "nativeSrc": "17180:1:18", "nodeType": "YulLiteral", - "src": "17180:1:5", + "src": "17180:1:18", "type": "", "value": "1" }, "variableNames": [ { "name": "zz", - "nativeSrc": "17174:2:5", + "nativeSrc": "17174:2:18", "nodeType": "YulIdentifier", - "src": "17174:2:5" + "src": "17174:2:18" } ] }, { - "nativeSrc": "17210:8:5", + "nativeSrc": "17210:8:18", "nodeType": "YulAssignment", - "src": "17210:8:5", + "src": "17210:8:18", "value": { "kind": "number", - "nativeSrc": "17217:1:5", + "nativeSrc": "17217:1:18", "nodeType": "YulLiteral", - "src": "17217:1:5", + "src": "17217:1:18", "type": "", "value": "1" }, "variableNames": [ { "name": "zzz", - "nativeSrc": "17210:3:5", + "nativeSrc": "17210:3:18", "nodeType": "YulIdentifier", - "src": "17210:3:5" + "src": "17210:3:18" } ] }, { - "nativeSrc": "17247:8:5", + "nativeSrc": "17247:8:18", "nodeType": "YulContinue", - "src": "17247:8:5" + "src": "17247:8:18" } ] }, @@ -31014,873 +49989,873 @@ "arguments": [ { "name": "zz", - "nativeSrc": "17068:2:5", + "nativeSrc": "17068:2:18", "nodeType": "YulIdentifier", - "src": "17068:2:5" + "src": "17068:2:18" } ], "functionName": { "name": "iszero", - "nativeSrc": "17061:6:5", + "nativeSrc": "17061:6:18", "nodeType": "YulIdentifier", - "src": "17061:6:5" + "src": "17061:6:18" }, - "nativeSrc": "17061:10:5", + "nativeSrc": "17061:10:18", "nodeType": "YulFunctionCall", - "src": "17061:10:5" + "src": "17061:10:18" }, - "nativeSrc": "17058:223:5", + "nativeSrc": "17058:223:18", "nodeType": "YulIf", - "src": "17058:223:5" + "src": "17058:223:18" }, { - "nativeSrc": "17424:42:5", + "nativeSrc": "17424:42:18", "nodeType": "YulVariableDeclaration", - "src": "17424:42:5", + "src": "17424:42:18", "value": { "arguments": [ { "arguments": [ { "name": "T2", - "nativeSrc": "17448:2:5", + "nativeSrc": "17448:2:18", "nodeType": "YulIdentifier", - "src": "17448:2:5" + "src": "17448:2:18" }, { "name": "zzz", - "nativeSrc": "17452:3:5", + "nativeSrc": "17452:3:18", "nodeType": "YulIdentifier", - "src": "17452:3:5" + "src": "17452:3:18" }, { "name": "p", - "nativeSrc": "17457:1:5", + "nativeSrc": "17457:1:18", "nodeType": "YulIdentifier", - "src": "17457:1:5" + "src": "17457:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "17441:6:5", + "nativeSrc": "17441:6:18", "nodeType": "YulIdentifier", - "src": "17441:6:5" + "src": "17441:6:18" }, - "nativeSrc": "17441:18:5", + "nativeSrc": "17441:18:18", "nodeType": "YulFunctionCall", - "src": "17441:18:5" + "src": "17441:18:18" }, { "name": "Y", - "nativeSrc": "17461:1:5", + "nativeSrc": "17461:1:18", "nodeType": "YulIdentifier", - "src": "17461:1:5" + "src": "17461:1:18" }, { "name": "p", - "nativeSrc": "17464:1:5", + "nativeSrc": "17464:1:18", "nodeType": "YulIdentifier", - "src": "17464:1:5" + "src": "17464:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "17434:6:5", + "nativeSrc": "17434:6:18", "nodeType": "YulIdentifier", - "src": "17434:6:5" + "src": "17434:6:18" }, - "nativeSrc": "17434:32:5", + "nativeSrc": "17434:32:18", "nodeType": "YulFunctionCall", - "src": "17434:32:5" + "src": "17434:32:18" }, "variables": [ { "name": "y2", - "nativeSrc": "17428:2:5", + "nativeSrc": "17428:2:18", "nodeType": "YulTypedName", - "src": "17428:2:5", + "src": "17428:2:18", "type": "" } ] }, { - "nativeSrc": "17495:45:5", + "nativeSrc": "17495:45:18", "nodeType": "YulAssignment", - "src": "17495:45:5", + "src": "17495:45:18", "value": { "arguments": [ { "arguments": [ { "name": "T1", - "nativeSrc": "17515:2:5", + "nativeSrc": "17515:2:18", "nodeType": "YulIdentifier", - "src": "17515:2:5" + "src": "17515:2:18" }, { "name": "zz", - "nativeSrc": "17519:2:5", + "nativeSrc": "17519:2:18", "nodeType": "YulIdentifier", - "src": "17519:2:5" + "src": "17519:2:18" }, { "name": "p", - "nativeSrc": "17523:1:5", + "nativeSrc": "17523:1:18", "nodeType": "YulIdentifier", - "src": "17523:1:5" + "src": "17523:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "17508:6:5", + "nativeSrc": "17508:6:18", "nodeType": "YulIdentifier", - "src": "17508:6:5" + "src": "17508:6:18" }, - "nativeSrc": "17508:17:5", + "nativeSrc": "17508:17:18", "nodeType": "YulFunctionCall", - "src": "17508:17:5" + "src": "17508:17:18" }, { "arguments": [ { "name": "p", - "nativeSrc": "17531:1:5", + "nativeSrc": "17531:1:18", "nodeType": "YulIdentifier", - "src": "17531:1:5" + "src": "17531:1:18" }, { "name": "X", - "nativeSrc": "17534:1:5", + "nativeSrc": "17534:1:18", "nodeType": "YulIdentifier", - "src": "17534:1:5" + "src": "17534:1:18" } ], "functionName": { "name": "sub", - "nativeSrc": "17527:3:5", + "nativeSrc": "17527:3:18", "nodeType": "YulIdentifier", - "src": "17527:3:5" + "src": "17527:3:18" }, - "nativeSrc": "17527:9:5", + "nativeSrc": "17527:9:18", "nodeType": "YulFunctionCall", - "src": "17527:9:5" + "src": "17527:9:18" }, { "name": "p", - "nativeSrc": "17538:1:5", + "nativeSrc": "17538:1:18", "nodeType": "YulIdentifier", - "src": "17538:1:5" + "src": "17538:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "17501:6:5", + "nativeSrc": "17501:6:18", "nodeType": "YulIdentifier", - "src": "17501:6:5" + "src": "17501:6:18" }, - "nativeSrc": "17501:39:5", + "nativeSrc": "17501:39:18", "nodeType": "YulFunctionCall", - "src": "17501:39:5" + "src": "17501:39:18" }, "variableNames": [ { "name": "T2", - "nativeSrc": "17495:2:5", + "nativeSrc": "17495:2:18", "nodeType": "YulIdentifier", - "src": "17495:2:5" + "src": "17495:2:18" } ] }, { "body": { - "nativeSrc": "17769:1029:5", + "nativeSrc": "17769:1029:18", "nodeType": "YulBlock", - "src": "17769:1029:5", + "src": "17769:1029:18", "statements": [ { "body": { - "nativeSrc": "17813:959:5", + "nativeSrc": "17813:959:18", "nodeType": "YulBlock", - "src": "17813:959:5", + "src": "17813:959:18", "statements": [ { - "nativeSrc": "17847:27:5", + "nativeSrc": "17847:27:18", "nodeType": "YulAssignment", - "src": "17847:27:5", + "src": "17847:27:18", "value": { "arguments": [ { "name": "minus_2", - "nativeSrc": "17860:7:5", + "nativeSrc": "17860:7:18", "nodeType": "YulIdentifier", - "src": "17860:7:5" + "src": "17860:7:18" }, { "name": "Y", - "nativeSrc": "17869:1:5", + "nativeSrc": "17869:1:18", "nodeType": "YulIdentifier", - "src": "17869:1:5" + "src": "17869:1:18" }, { "name": "p", - "nativeSrc": "17872:1:5", + "nativeSrc": "17872:1:18", "nodeType": "YulIdentifier", - "src": "17872:1:5" + "src": "17872:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "17853:6:5", + "nativeSrc": "17853:6:18", "nodeType": "YulIdentifier", - "src": "17853:6:5" + "src": "17853:6:18" }, - "nativeSrc": "17853:21:5", + "nativeSrc": "17853:21:18", "nodeType": "YulFunctionCall", - "src": "17853:21:5" + "src": "17853:21:18" }, "variableNames": [ { "name": "T1", - "nativeSrc": "17847:2:5", + "nativeSrc": "17847:2:18", "nodeType": "YulIdentifier", - "src": "17847:2:5" + "src": "17847:2:18" } ] }, { - "nativeSrc": "17926:23:5", + "nativeSrc": "17926:23:18", "nodeType": "YulAssignment", - "src": "17926:23:5", + "src": "17926:23:18", "value": { "arguments": [ { "name": "T1", - "nativeSrc": "17939:2:5", + "nativeSrc": "17939:2:18", "nodeType": "YulIdentifier", - "src": "17939:2:5" + "src": "17939:2:18" }, { "name": "T1", - "nativeSrc": "17943:2:5", + "nativeSrc": "17943:2:18", "nodeType": "YulIdentifier", - "src": "17943:2:5" + "src": "17943:2:18" }, { "name": "p", - "nativeSrc": "17947:1:5", + "nativeSrc": "17947:1:18", "nodeType": "YulIdentifier", - "src": "17947:1:5" + "src": "17947:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "17932:6:5", + "nativeSrc": "17932:6:18", "nodeType": "YulIdentifier", - "src": "17932:6:5" + "src": "17932:6:18" }, - "nativeSrc": "17932:17:5", + "nativeSrc": "17932:17:18", "nodeType": "YulFunctionCall", - "src": "17932:17:5" + "src": "17932:17:18" }, "variableNames": [ { "name": "T2", - "nativeSrc": "17926:2:5", + "nativeSrc": "17926:2:18", "nodeType": "YulIdentifier", - "src": "17926:2:5" + "src": "17926:2:18" } ] }, { - "nativeSrc": "17991:22:5", + "nativeSrc": "17991:22:18", "nodeType": "YulAssignment", - "src": "17991:22:5", + "src": "17991:22:18", "value": { "arguments": [ { "name": "X", - "nativeSrc": "18004:1:5", + "nativeSrc": "18004:1:18", "nodeType": "YulIdentifier", - "src": "18004:1:5" + "src": "18004:1:18" }, { "name": "T2", - "nativeSrc": "18007:2:5", + "nativeSrc": "18007:2:18", "nodeType": "YulIdentifier", - "src": "18007:2:5" + "src": "18007:2:18" }, { "name": "p", - "nativeSrc": "18011:1:5", + "nativeSrc": "18011:1:18", "nodeType": "YulIdentifier", - "src": "18011:1:5" + "src": "18011:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "17997:6:5", + "nativeSrc": "17997:6:18", "nodeType": "YulIdentifier", - "src": "17997:6:5" + "src": "17997:6:18" }, - "nativeSrc": "17997:16:5", + "nativeSrc": "17997:16:18", "nodeType": "YulFunctionCall", - "src": "17997:16:5" + "src": "17997:16:18" }, "variableNames": [ { "name": "T3", - "nativeSrc": "17991:2:5", + "nativeSrc": "17991:2:18", "nodeType": "YulIdentifier", - "src": "17991:2:5" + "src": "17991:2:18" } ] }, { - "nativeSrc": "18059:23:5", + "nativeSrc": "18059:23:18", "nodeType": "YulAssignment", - "src": "18059:23:5", + "src": "18059:23:18", "value": { "arguments": [ { "name": "T1", - "nativeSrc": "18072:2:5", + "nativeSrc": "18072:2:18", "nodeType": "YulIdentifier", - "src": "18072:2:5" + "src": "18072:2:18" }, { "name": "T2", - "nativeSrc": "18076:2:5", + "nativeSrc": "18076:2:18", "nodeType": "YulIdentifier", - "src": "18076:2:5" + "src": "18076:2:18" }, { "name": "p", - "nativeSrc": "18080:1:5", + "nativeSrc": "18080:1:18", "nodeType": "YulIdentifier", - "src": "18080:1:5" + "src": "18080:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "18065:6:5", + "nativeSrc": "18065:6:18", "nodeType": "YulIdentifier", - "src": "18065:6:5" + "src": "18065:6:18" }, - "nativeSrc": "18065:17:5", + "nativeSrc": "18065:17:18", "nodeType": "YulFunctionCall", - "src": "18065:17:5" + "src": "18065:17:18" }, "variableNames": [ { "name": "T1", - "nativeSrc": "18059:2:5", + "nativeSrc": "18059:2:18", "nodeType": "YulIdentifier", - "src": "18059:2:5" + "src": "18059:2:18" } ] }, { - "nativeSrc": "18123:59:5", + "nativeSrc": "18123:59:18", "nodeType": "YulAssignment", - "src": "18123:59:5", + "src": "18123:59:18", "value": { "arguments": [ { "arguments": [ { "name": "X", - "nativeSrc": "18143:1:5", + "nativeSrc": "18143:1:18", "nodeType": "YulIdentifier", - "src": "18143:1:5" + "src": "18143:1:18" }, { "name": "zz", - "nativeSrc": "18146:2:5", + "nativeSrc": "18146:2:18", "nodeType": "YulIdentifier", - "src": "18146:2:5" + "src": "18146:2:18" }, { "name": "p", - "nativeSrc": "18150:1:5", + "nativeSrc": "18150:1:18", "nodeType": "YulIdentifier", - "src": "18150:1:5" + "src": "18150:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "18136:6:5", + "nativeSrc": "18136:6:18", "nodeType": "YulIdentifier", - "src": "18136:6:5" + "src": "18136:6:18" }, - "nativeSrc": "18136:16:5", + "nativeSrc": "18136:16:18", "nodeType": "YulFunctionCall", - "src": "18136:16:5" + "src": "18136:16:18" }, { "arguments": [ { "name": "X", - "nativeSrc": "18161:1:5", + "nativeSrc": "18161:1:18", "nodeType": "YulIdentifier", - "src": "18161:1:5" + "src": "18161:1:18" }, { "arguments": [ { "name": "p", - "nativeSrc": "18168:1:5", + "nativeSrc": "18168:1:18", "nodeType": "YulIdentifier", - "src": "18168:1:5" + "src": "18168:1:18" }, { "name": "zz", - "nativeSrc": "18171:2:5", + "nativeSrc": "18171:2:18", "nodeType": "YulIdentifier", - "src": "18171:2:5" + "src": "18171:2:18" } ], "functionName": { "name": "sub", - "nativeSrc": "18164:3:5", + "nativeSrc": "18164:3:18", "nodeType": "YulIdentifier", - "src": "18164:3:5" + "src": "18164:3:18" }, - "nativeSrc": "18164:10:5", + "nativeSrc": "18164:10:18", "nodeType": "YulFunctionCall", - "src": "18164:10:5" + "src": "18164:10:18" }, { "name": "p", - "nativeSrc": "18176:1:5", + "nativeSrc": "18176:1:18", "nodeType": "YulIdentifier", - "src": "18176:1:5" + "src": "18176:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "18154:6:5", + "nativeSrc": "18154:6:18", "nodeType": "YulIdentifier", - "src": "18154:6:5" + "src": "18154:6:18" }, - "nativeSrc": "18154:24:5", + "nativeSrc": "18154:24:18", "nodeType": "YulFunctionCall", - "src": "18154:24:5" + "src": "18154:24:18" }, { "name": "p", - "nativeSrc": "18180:1:5", + "nativeSrc": "18180:1:18", "nodeType": "YulIdentifier", - "src": "18180:1:5" + "src": "18180:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "18129:6:5", + "nativeSrc": "18129:6:18", "nodeType": "YulIdentifier", - "src": "18129:6:5" + "src": "18129:6:18" }, - "nativeSrc": "18129:53:5", + "nativeSrc": "18129:53:18", "nodeType": "YulFunctionCall", - "src": "18129:53:5" + "src": "18129:53:18" }, "variableNames": [ { "name": "y2", - "nativeSrc": "18123:2:5", + "nativeSrc": "18123:2:18", "nodeType": "YulIdentifier", - "src": "18123:2:5" + "src": "18123:2:18" } ] }, { - "nativeSrc": "18230:22:5", + "nativeSrc": "18230:22:18", "nodeType": "YulAssignment", - "src": "18230:22:5", + "src": "18230:22:18", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "18243:1:5", + "nativeSrc": "18243:1:18", "nodeType": "YulLiteral", - "src": "18243:1:5", + "src": "18243:1:18", "type": "", "value": "3" }, { "name": "y2", - "nativeSrc": "18246:2:5", + "nativeSrc": "18246:2:18", "nodeType": "YulIdentifier", - "src": "18246:2:5" + "src": "18246:2:18" }, { "name": "p", - "nativeSrc": "18250:1:5", + "nativeSrc": "18250:1:18", "nodeType": "YulIdentifier", - "src": "18250:1:5" + "src": "18250:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "18236:6:5", + "nativeSrc": "18236:6:18", "nodeType": "YulIdentifier", - "src": "18236:6:5" + "src": "18236:6:18" }, - "nativeSrc": "18236:16:5", + "nativeSrc": "18236:16:18", "nodeType": "YulFunctionCall", - "src": "18236:16:5" + "src": "18236:16:18" }, "variableNames": [ { "name": "T4", - "nativeSrc": "18230:2:5", + "nativeSrc": "18230:2:18", "nodeType": "YulIdentifier", - "src": "18230:2:5" + "src": "18230:2:18" } ] }, { - "nativeSrc": "18305:25:5", + "nativeSrc": "18305:25:18", "nodeType": "YulAssignment", - "src": "18305:25:5", + "src": "18305:25:18", "value": { "arguments": [ { "name": "T1", - "nativeSrc": "18319:2:5", + "nativeSrc": "18319:2:18", "nodeType": "YulIdentifier", - "src": "18319:2:5" + "src": "18319:2:18" }, { "name": "zzz", - "nativeSrc": "18323:3:5", + "nativeSrc": "18323:3:18", "nodeType": "YulIdentifier", - "src": "18323:3:5" + "src": "18323:3:18" }, { "name": "p", - "nativeSrc": "18328:1:5", + "nativeSrc": "18328:1:18", "nodeType": "YulIdentifier", - "src": "18328:1:5" + "src": "18328:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "18312:6:5", + "nativeSrc": "18312:6:18", "nodeType": "YulIdentifier", - "src": "18312:6:5" + "src": "18312:6:18" }, - "nativeSrc": "18312:18:5", + "nativeSrc": "18312:18:18", "nodeType": "YulFunctionCall", - "src": "18312:18:5" + "src": "18312:18:18" }, "variableNames": [ { "name": "zzz", - "nativeSrc": "18305:3:5", + "nativeSrc": "18305:3:18", "nodeType": "YulIdentifier", - "src": "18305:3:5" + "src": "18305:3:18" } ] }, { - "nativeSrc": "18377:23:5", + "nativeSrc": "18377:23:18", "nodeType": "YulAssignment", - "src": "18377:23:5", + "src": "18377:23:18", "value": { "arguments": [ { "name": "T2", - "nativeSrc": "18390:2:5", + "nativeSrc": "18390:2:18", "nodeType": "YulIdentifier", - "src": "18390:2:5" + "src": "18390:2:18" }, { "name": "zz", - "nativeSrc": "18394:2:5", + "nativeSrc": "18394:2:18", "nodeType": "YulIdentifier", - "src": "18394:2:5" + "src": "18394:2:18" }, { "name": "p", - "nativeSrc": "18398:1:5", + "nativeSrc": "18398:1:18", "nodeType": "YulIdentifier", - "src": "18398:1:5" + "src": "18398:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "18383:6:5", + "nativeSrc": "18383:6:18", "nodeType": "YulIdentifier", - "src": "18383:6:5" + "src": "18383:6:18" }, - "nativeSrc": "18383:17:5", + "nativeSrc": "18383:17:18", "nodeType": "YulFunctionCall", - "src": "18383:17:5" + "src": "18383:17:18" }, "variableNames": [ { "name": "zz", - "nativeSrc": "18377:2:5", + "nativeSrc": "18377:2:18", "nodeType": "YulIdentifier", - "src": "18377:2:5" + "src": "18377:2:18" } ] }, { - "nativeSrc": "18454:57:5", + "nativeSrc": "18454:57:18", "nodeType": "YulAssignment", - "src": "18454:57:5", + "src": "18454:57:18", "value": { "arguments": [ { "arguments": [ { "name": "T4", - "nativeSrc": "18473:2:5", + "nativeSrc": "18473:2:18", "nodeType": "YulIdentifier", - "src": "18473:2:5" + "src": "18473:2:18" }, { "name": "T4", - "nativeSrc": "18477:2:5", + "nativeSrc": "18477:2:18", "nodeType": "YulIdentifier", - "src": "18477:2:5" + "src": "18477:2:18" }, { "name": "p", - "nativeSrc": "18481:1:5", + "nativeSrc": "18481:1:18", "nodeType": "YulIdentifier", - "src": "18481:1:5" + "src": "18481:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "18466:6:5", + "nativeSrc": "18466:6:18", "nodeType": "YulIdentifier", - "src": "18466:6:5" + "src": "18466:6:18" }, - "nativeSrc": "18466:17:5", + "nativeSrc": "18466:17:18", "nodeType": "YulFunctionCall", - "src": "18466:17:5" + "src": "18466:17:18" }, { "arguments": [ { "name": "minus_2", - "nativeSrc": "18492:7:5", + "nativeSrc": "18492:7:18", "nodeType": "YulIdentifier", - "src": "18492:7:5" + "src": "18492:7:18" }, { "name": "T3", - "nativeSrc": "18501:2:5", + "nativeSrc": "18501:2:18", "nodeType": "YulIdentifier", - "src": "18501:2:5" + "src": "18501:2:18" }, { "name": "p", - "nativeSrc": "18505:1:5", + "nativeSrc": "18505:1:18", "nodeType": "YulIdentifier", - "src": "18505:1:5" + "src": "18505:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "18485:6:5", + "nativeSrc": "18485:6:18", "nodeType": "YulIdentifier", - "src": "18485:6:5" + "src": "18485:6:18" }, - "nativeSrc": "18485:22:5", + "nativeSrc": "18485:22:18", "nodeType": "YulFunctionCall", - "src": "18485:22:5" + "src": "18485:22:18" }, { "name": "p", - "nativeSrc": "18509:1:5", + "nativeSrc": "18509:1:18", "nodeType": "YulIdentifier", - "src": "18509:1:5" + "src": "18509:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "18459:6:5", + "nativeSrc": "18459:6:18", "nodeType": "YulIdentifier", - "src": "18459:6:5" + "src": "18459:6:18" }, - "nativeSrc": "18459:52:5", + "nativeSrc": "18459:52:18", "nodeType": "YulFunctionCall", - "src": "18459:52:5" + "src": "18459:52:18" }, "variableNames": [ { "name": "X", - "nativeSrc": "18454:1:5", + "nativeSrc": "18454:1:18", "nodeType": "YulIdentifier", - "src": "18454:1:5" + "src": "18454:1:18" } ] }, { - "nativeSrc": "18556:45:5", + "nativeSrc": "18556:45:18", "nodeType": "YulAssignment", - "src": "18556:45:5", + "src": "18556:45:18", "value": { "arguments": [ { "name": "T4", - "nativeSrc": "18569:2:5", + "nativeSrc": "18569:2:18", "nodeType": "YulIdentifier", - "src": "18569:2:5" + "src": "18569:2:18" }, { "arguments": [ { "name": "T3", - "nativeSrc": "18580:2:5", + "nativeSrc": "18580:2:18", "nodeType": "YulIdentifier", - "src": "18580:2:5" + "src": "18580:2:18" }, { "arguments": [ { "name": "p", - "nativeSrc": "18588:1:5", + "nativeSrc": "18588:1:18", "nodeType": "YulIdentifier", - "src": "18588:1:5" + "src": "18588:1:18" }, { "name": "X", - "nativeSrc": "18591:1:5", + "nativeSrc": "18591:1:18", "nodeType": "YulIdentifier", - "src": "18591:1:5" + "src": "18591:1:18" } ], "functionName": { "name": "sub", - "nativeSrc": "18584:3:5", + "nativeSrc": "18584:3:18", "nodeType": "YulIdentifier", - "src": "18584:3:5" + "src": "18584:3:18" }, - "nativeSrc": "18584:9:5", + "nativeSrc": "18584:9:18", "nodeType": "YulFunctionCall", - "src": "18584:9:5" + "src": "18584:9:18" }, { "name": "p", - "nativeSrc": "18595:1:5", + "nativeSrc": "18595:1:18", "nodeType": "YulIdentifier", - "src": "18595:1:5" + "src": "18595:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "18573:6:5", + "nativeSrc": "18573:6:18", "nodeType": "YulIdentifier", - "src": "18573:6:5" + "src": "18573:6:18" }, - "nativeSrc": "18573:24:5", + "nativeSrc": "18573:24:18", "nodeType": "YulFunctionCall", - "src": "18573:24:5" + "src": "18573:24:18" }, { "name": "p", - "nativeSrc": "18599:1:5", + "nativeSrc": "18599:1:18", "nodeType": "YulIdentifier", - "src": "18599:1:5" + "src": "18599:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "18562:6:5", + "nativeSrc": "18562:6:18", "nodeType": "YulIdentifier", - "src": "18562:6:5" + "src": "18562:6:18" }, - "nativeSrc": "18562:39:5", + "nativeSrc": "18562:39:18", "nodeType": "YulFunctionCall", - "src": "18562:39:5" + "src": "18562:39:18" }, "variableNames": [ { "name": "T2", - "nativeSrc": "18556:2:5", + "nativeSrc": "18556:2:18", "nodeType": "YulIdentifier", - "src": "18556:2:5" + "src": "18556:2:18" } ] }, { - "nativeSrc": "18645:36:5", + "nativeSrc": "18645:36:18", "nodeType": "YulAssignment", - "src": "18645:36:5", + "src": "18645:36:18", "value": { "arguments": [ { "name": "T2", - "nativeSrc": "18657:2:5", + "nativeSrc": "18657:2:18", "nodeType": "YulIdentifier", - "src": "18657:2:5" + "src": "18657:2:18" }, { "arguments": [ { "name": "T1", - "nativeSrc": "18668:2:5", + "nativeSrc": "18668:2:18", "nodeType": "YulIdentifier", - "src": "18668:2:5" + "src": "18668:2:18" }, { "name": "Y", - "nativeSrc": "18672:1:5", + "nativeSrc": "18672:1:18", "nodeType": "YulIdentifier", - "src": "18672:1:5" + "src": "18672:1:18" }, { "name": "p", - "nativeSrc": "18675:1:5", + "nativeSrc": "18675:1:18", "nodeType": "YulIdentifier", - "src": "18675:1:5" + "src": "18675:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "18661:6:5", + "nativeSrc": "18661:6:18", "nodeType": "YulIdentifier", - "src": "18661:6:5" + "src": "18661:6:18" }, - "nativeSrc": "18661:16:5", + "nativeSrc": "18661:16:18", "nodeType": "YulFunctionCall", - "src": "18661:16:5" + "src": "18661:16:18" }, { "name": "p", - "nativeSrc": "18679:1:5", + "nativeSrc": "18679:1:18", "nodeType": "YulIdentifier", - "src": "18679:1:5" + "src": "18679:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "18650:6:5", + "nativeSrc": "18650:6:18", "nodeType": "YulIdentifier", - "src": "18650:6:5" + "src": "18650:6:18" }, - "nativeSrc": "18650:31:5", + "nativeSrc": "18650:31:18", "nodeType": "YulFunctionCall", - "src": "18650:31:5" + "src": "18650:31:18" }, "variableNames": [ { "name": "Y", - "nativeSrc": "18645:1:5", + "nativeSrc": "18645:1:18", "nodeType": "YulIdentifier", - "src": "18645:1:5" + "src": "18645:1:18" } ] }, { - "nativeSrc": "18734:8:5", + "nativeSrc": "18734:8:18", "nodeType": "YulContinue", - "src": "18734:8:5" + "src": "18734:8:18" } ] }, @@ -31888,24 +50863,24 @@ "arguments": [ { "name": "T2", - "nativeSrc": "17809:2:5", + "nativeSrc": "17809:2:18", "nodeType": "YulIdentifier", - "src": "17809:2:5" + "src": "17809:2:18" } ], "functionName": { "name": "iszero", - "nativeSrc": "17802:6:5", + "nativeSrc": "17802:6:18", "nodeType": "YulIdentifier", - "src": "17802:6:5" + "src": "17802:6:18" }, - "nativeSrc": "17802:10:5", + "nativeSrc": "17802:10:18", "nodeType": "YulFunctionCall", - "src": "17802:10:5" + "src": "17802:10:18" }, - "nativeSrc": "17799:973:5", + "nativeSrc": "17799:973:18", "nodeType": "YulIf", - "src": "17799:973:5" + "src": "17799:973:18" } ] }, @@ -31913,251 +50888,251 @@ "arguments": [ { "name": "y2", - "nativeSrc": "17765:2:5", + "nativeSrc": "17765:2:18", "nodeType": "YulIdentifier", - "src": "17765:2:5" + "src": "17765:2:18" } ], "functionName": { "name": "iszero", - "nativeSrc": "17758:6:5", + "nativeSrc": "17758:6:18", "nodeType": "YulIdentifier", - "src": "17758:6:5" + "src": "17758:6:18" }, - "nativeSrc": "17758:10:5", + "nativeSrc": "17758:10:18", "nodeType": "YulFunctionCall", - "src": "17758:10:5" + "src": "17758:10:18" }, - "nativeSrc": "17755:1043:5", + "nativeSrc": "17755:1043:18", "nodeType": "YulIf", - "src": "17755:1043:5" + "src": "17755:1043:18" }, { - "nativeSrc": "18824:23:5", + "nativeSrc": "18824:23:18", "nodeType": "YulAssignment", - "src": "18824:23:5", + "src": "18824:23:18", "value": { "arguments": [ { "name": "T2", - "nativeSrc": "18837:2:5", + "nativeSrc": "18837:2:18", "nodeType": "YulIdentifier", - "src": "18837:2:5" + "src": "18837:2:18" }, { "name": "T2", - "nativeSrc": "18841:2:5", + "nativeSrc": "18841:2:18", "nodeType": "YulIdentifier", - "src": "18841:2:5" + "src": "18841:2:18" }, { "name": "p", - "nativeSrc": "18845:1:5", + "nativeSrc": "18845:1:18", "nodeType": "YulIdentifier", - "src": "18845:1:5" + "src": "18845:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "18830:6:5", + "nativeSrc": "18830:6:18", "nodeType": "YulIdentifier", - "src": "18830:6:5" + "src": "18830:6:18" }, - "nativeSrc": "18830:17:5", + "nativeSrc": "18830:17:18", "nodeType": "YulFunctionCall", - "src": "18830:17:5" + "src": "18830:17:18" }, "variableNames": [ { "name": "T4", - "nativeSrc": "18824:2:5", + "nativeSrc": "18824:2:18", "nodeType": "YulIdentifier", - "src": "18824:2:5" + "src": "18824:2:18" } ] }, { - "nativeSrc": "18877:28:5", + "nativeSrc": "18877:28:18", "nodeType": "YulVariableDeclaration", - "src": "18877:28:5", + "src": "18877:28:18", "value": { "arguments": [ { "name": "T4", - "nativeSrc": "18895:2:5", + "nativeSrc": "18895:2:18", "nodeType": "YulIdentifier", - "src": "18895:2:5" + "src": "18895:2:18" }, { "name": "T2", - "nativeSrc": "18899:2:5", + "nativeSrc": "18899:2:18", "nodeType": "YulIdentifier", - "src": "18899:2:5" + "src": "18899:2:18" }, { "name": "p", - "nativeSrc": "18903:1:5", + "nativeSrc": "18903:1:18", "nodeType": "YulIdentifier", - "src": "18903:1:5" + "src": "18903:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "18888:6:5", + "nativeSrc": "18888:6:18", "nodeType": "YulIdentifier", - "src": "18888:6:5" + "src": "18888:6:18" }, - "nativeSrc": "18888:17:5", + "nativeSrc": "18888:17:18", "nodeType": "YulFunctionCall", - "src": "18888:17:5" + "src": "18888:17:18" }, "variables": [ { "name": "TT1", - "nativeSrc": "18881:3:5", + "nativeSrc": "18881:3:18", "nodeType": "YulTypedName", - "src": "18881:3:5", + "src": "18881:3:18", "type": "" } ] }, { - "nativeSrc": "18998:23:5", + "nativeSrc": "18998:23:18", "nodeType": "YulAssignment", - "src": "18998:23:5", + "src": "18998:23:18", "value": { "arguments": [ { "name": "zz", - "nativeSrc": "19011:2:5", + "nativeSrc": "19011:2:18", "nodeType": "YulIdentifier", - "src": "19011:2:5" + "src": "19011:2:18" }, { "name": "T4", - "nativeSrc": "19015:2:5", + "nativeSrc": "19015:2:18", "nodeType": "YulIdentifier", - "src": "19015:2:5" + "src": "19015:2:18" }, { "name": "p", - "nativeSrc": "19019:1:5", + "nativeSrc": "19019:1:18", "nodeType": "YulIdentifier", - "src": "19019:1:5" + "src": "19019:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "19004:6:5", + "nativeSrc": "19004:6:18", "nodeType": "YulIdentifier", - "src": "19004:6:5" + "src": "19004:6:18" }, - "nativeSrc": "19004:17:5", + "nativeSrc": "19004:17:18", "nodeType": "YulFunctionCall", - "src": "19004:17:5" + "src": "19004:17:18" }, "variableNames": [ { "name": "zz", - "nativeSrc": "18998:2:5", + "nativeSrc": "18998:2:18", "nodeType": "YulIdentifier", - "src": "18998:2:5" + "src": "18998:2:18" } ] }, { - "nativeSrc": "19046:26:5", + "nativeSrc": "19046:26:18", "nodeType": "YulAssignment", - "src": "19046:26:5", + "src": "19046:26:18", "value": { "arguments": [ { "name": "zzz", - "nativeSrc": "19060:3:5", + "nativeSrc": "19060:3:18", "nodeType": "YulIdentifier", - "src": "19060:3:5" + "src": "19060:3:18" }, { "name": "TT1", - "nativeSrc": "19065:3:5", + "nativeSrc": "19065:3:18", "nodeType": "YulIdentifier", - "src": "19065:3:5" + "src": "19065:3:18" }, { "name": "p", - "nativeSrc": "19070:1:5", + "nativeSrc": "19070:1:18", "nodeType": "YulIdentifier", - "src": "19070:1:5" + "src": "19070:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "19053:6:5", + "nativeSrc": "19053:6:18", "nodeType": "YulIdentifier", - "src": "19053:6:5" + "src": "19053:6:18" }, - "nativeSrc": "19053:19:5", + "nativeSrc": "19053:19:18", "nodeType": "YulFunctionCall", - "src": "19053:19:5" + "src": "19053:19:18" }, "variableNames": [ { "name": "zzz", - "nativeSrc": "19046:3:5", + "nativeSrc": "19046:3:18", "nodeType": "YulIdentifier", - "src": "19046:3:5" + "src": "19046:3:18" } ] }, { - "nativeSrc": "19109:27:5", + "nativeSrc": "19109:27:18", "nodeType": "YulVariableDeclaration", - "src": "19109:27:5", + "src": "19109:27:18", "value": { "arguments": [ { "name": "X", - "nativeSrc": "19127:1:5", + "nativeSrc": "19127:1:18", "nodeType": "YulIdentifier", - "src": "19127:1:5" + "src": "19127:1:18" }, { "name": "T4", - "nativeSrc": "19130:2:5", + "nativeSrc": "19130:2:18", "nodeType": "YulIdentifier", - "src": "19130:2:5" + "src": "19130:2:18" }, { "name": "p", - "nativeSrc": "19134:1:5", + "nativeSrc": "19134:1:18", "nodeType": "YulIdentifier", - "src": "19134:1:5" + "src": "19134:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "19120:6:5", + "nativeSrc": "19120:6:18", "nodeType": "YulIdentifier", - "src": "19120:6:5" + "src": "19120:6:18" }, - "nativeSrc": "19120:16:5", + "nativeSrc": "19120:16:18", "nodeType": "YulFunctionCall", - "src": "19120:16:5" + "src": "19120:16:18" }, "variables": [ { "name": "TT2", - "nativeSrc": "19113:3:5", + "nativeSrc": "19113:3:18", "nodeType": "YulTypedName", - "src": "19113:3:5", + "src": "19113:3:18", "type": "" } ] }, { - "nativeSrc": "19161:83:5", + "nativeSrc": "19161:83:18", "nodeType": "YulAssignment", - "src": "19161:83:5", + "src": "19161:83:18", "value": { "arguments": [ { @@ -32166,136 +51141,136 @@ "arguments": [ { "name": "y2", - "nativeSrc": "19188:2:5", + "nativeSrc": "19188:2:18", "nodeType": "YulIdentifier", - "src": "19188:2:5" + "src": "19188:2:18" }, { "name": "y2", - "nativeSrc": "19192:2:5", + "nativeSrc": "19192:2:18", "nodeType": "YulIdentifier", - "src": "19192:2:5" + "src": "19192:2:18" }, { "name": "p", - "nativeSrc": "19196:1:5", + "nativeSrc": "19196:1:18", "nodeType": "YulIdentifier", - "src": "19196:1:5" + "src": "19196:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "19181:6:5", + "nativeSrc": "19181:6:18", "nodeType": "YulIdentifier", - "src": "19181:6:5" + "src": "19181:6:18" }, - "nativeSrc": "19181:17:5", + "nativeSrc": "19181:17:18", "nodeType": "YulFunctionCall", - "src": "19181:17:5" + "src": "19181:17:18" }, { "arguments": [ { "name": "p", - "nativeSrc": "19204:1:5", + "nativeSrc": "19204:1:18", "nodeType": "YulIdentifier", - "src": "19204:1:5" + "src": "19204:1:18" }, { "name": "TT1", - "nativeSrc": "19207:3:5", + "nativeSrc": "19207:3:18", "nodeType": "YulIdentifier", - "src": "19207:3:5" + "src": "19207:3:18" } ], "functionName": { "name": "sub", - "nativeSrc": "19200:3:5", + "nativeSrc": "19200:3:18", "nodeType": "YulIdentifier", - "src": "19200:3:5" + "src": "19200:3:18" }, - "nativeSrc": "19200:11:5", + "nativeSrc": "19200:11:18", "nodeType": "YulFunctionCall", - "src": "19200:11:5" + "src": "19200:11:18" }, { "name": "p", - "nativeSrc": "19213:1:5", + "nativeSrc": "19213:1:18", "nodeType": "YulIdentifier", - "src": "19213:1:5" + "src": "19213:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "19174:6:5", + "nativeSrc": "19174:6:18", "nodeType": "YulIdentifier", - "src": "19174:6:5" + "src": "19174:6:18" }, - "nativeSrc": "19174:41:5", + "nativeSrc": "19174:41:18", "nodeType": "YulFunctionCall", - "src": "19174:41:5" + "src": "19174:41:18" }, { "arguments": [ { "name": "minus_2", - "nativeSrc": "19224:7:5", + "nativeSrc": "19224:7:18", "nodeType": "YulIdentifier", - "src": "19224:7:5" + "src": "19224:7:18" }, { "name": "TT2", - "nativeSrc": "19233:3:5", + "nativeSrc": "19233:3:18", "nodeType": "YulIdentifier", - "src": "19233:3:5" + "src": "19233:3:18" }, { "name": "p", - "nativeSrc": "19238:1:5", + "nativeSrc": "19238:1:18", "nodeType": "YulIdentifier", - "src": "19238:1:5" + "src": "19238:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "19217:6:5", + "nativeSrc": "19217:6:18", "nodeType": "YulIdentifier", - "src": "19217:6:5" + "src": "19217:6:18" }, - "nativeSrc": "19217:23:5", + "nativeSrc": "19217:23:18", "nodeType": "YulFunctionCall", - "src": "19217:23:5" + "src": "19217:23:18" }, { "name": "p", - "nativeSrc": "19242:1:5", + "nativeSrc": "19242:1:18", "nodeType": "YulIdentifier", - "src": "19242:1:5" + "src": "19242:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "19167:6:5", + "nativeSrc": "19167:6:18", "nodeType": "YulIdentifier", - "src": "19167:6:5" + "src": "19167:6:18" }, - "nativeSrc": "19167:77:5", + "nativeSrc": "19167:77:18", "nodeType": "YulFunctionCall", - "src": "19167:77:5" + "src": "19167:77:18" }, "variableNames": [ { "name": "T4", - "nativeSrc": "19161:2:5", + "nativeSrc": "19161:2:18", "nodeType": "YulIdentifier", - "src": "19161:2:5" + "src": "19161:2:18" } ] }, { - "nativeSrc": "19269:76:5", + "nativeSrc": "19269:76:18", "nodeType": "YulAssignment", - "src": "19269:76:5", + "src": "19269:76:18", "value": { "arguments": [ { @@ -32304,148 +51279,148 @@ "arguments": [ { "name": "TT2", - "nativeSrc": "19295:3:5", + "nativeSrc": "19295:3:18", "nodeType": "YulIdentifier", - "src": "19295:3:5" + "src": "19295:3:18" }, { "arguments": [ { "name": "p", - "nativeSrc": "19304:1:5", + "nativeSrc": "19304:1:18", "nodeType": "YulIdentifier", - "src": "19304:1:5" + "src": "19304:1:18" }, { "name": "T4", - "nativeSrc": "19307:2:5", + "nativeSrc": "19307:2:18", "nodeType": "YulIdentifier", - "src": "19307:2:5" + "src": "19307:2:18" } ], "functionName": { "name": "sub", - "nativeSrc": "19300:3:5", + "nativeSrc": "19300:3:18", "nodeType": "YulIdentifier", - "src": "19300:3:5" + "src": "19300:3:18" }, - "nativeSrc": "19300:10:5", + "nativeSrc": "19300:10:18", "nodeType": "YulFunctionCall", - "src": "19300:10:5" + "src": "19300:10:18" }, { "name": "p", - "nativeSrc": "19312:1:5", + "nativeSrc": "19312:1:18", "nodeType": "YulIdentifier", - "src": "19312:1:5" + "src": "19312:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "19288:6:5", + "nativeSrc": "19288:6:18", "nodeType": "YulIdentifier", - "src": "19288:6:5" + "src": "19288:6:18" }, - "nativeSrc": "19288:26:5", + "nativeSrc": "19288:26:18", "nodeType": "YulFunctionCall", - "src": "19288:26:5" + "src": "19288:26:18" }, { "name": "y2", - "nativeSrc": "19316:2:5", + "nativeSrc": "19316:2:18", "nodeType": "YulIdentifier", - "src": "19316:2:5" + "src": "19316:2:18" }, { "name": "p", - "nativeSrc": "19320:1:5", + "nativeSrc": "19320:1:18", "nodeType": "YulIdentifier", - "src": "19320:1:5" + "src": "19320:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "19281:6:5", + "nativeSrc": "19281:6:18", "nodeType": "YulIdentifier", - "src": "19281:6:5" + "src": "19281:6:18" }, - "nativeSrc": "19281:41:5", + "nativeSrc": "19281:41:18", "nodeType": "YulFunctionCall", - "src": "19281:41:5" + "src": "19281:41:18" }, { "arguments": [ { "name": "Y", - "nativeSrc": "19331:1:5", + "nativeSrc": "19331:1:18", "nodeType": "YulIdentifier", - "src": "19331:1:5" + "src": "19331:1:18" }, { "name": "TT1", - "nativeSrc": "19334:3:5", + "nativeSrc": "19334:3:18", "nodeType": "YulIdentifier", - "src": "19334:3:5" + "src": "19334:3:18" }, { "name": "p", - "nativeSrc": "19339:1:5", + "nativeSrc": "19339:1:18", "nodeType": "YulIdentifier", - "src": "19339:1:5" + "src": "19339:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "19324:6:5", + "nativeSrc": "19324:6:18", "nodeType": "YulIdentifier", - "src": "19324:6:5" + "src": "19324:6:18" }, - "nativeSrc": "19324:17:5", + "nativeSrc": "19324:17:18", "nodeType": "YulFunctionCall", - "src": "19324:17:5" + "src": "19324:17:18" }, { "name": "p", - "nativeSrc": "19343:1:5", + "nativeSrc": "19343:1:18", "nodeType": "YulIdentifier", - "src": "19343:1:5" + "src": "19343:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "19274:6:5", + "nativeSrc": "19274:6:18", "nodeType": "YulIdentifier", - "src": "19274:6:5" + "src": "19274:6:18" }, - "nativeSrc": "19274:71:5", + "nativeSrc": "19274:71:18", "nodeType": "YulFunctionCall", - "src": "19274:71:5" + "src": "19274:71:18" }, "variableNames": [ { "name": "Y", - "nativeSrc": "19269:1:5", + "nativeSrc": "19269:1:18", "nodeType": "YulIdentifier", - "src": "19269:1:5" + "src": "19269:1:18" } ] }, { - "nativeSrc": "19371:7:5", + "nativeSrc": "19371:7:18", "nodeType": "YulAssignment", - "src": "19371:7:5", + "src": "19371:7:18", "value": { "name": "T4", - "nativeSrc": "19376:2:5", + "nativeSrc": "19376:2:18", "nodeType": "YulIdentifier", - "src": "19376:2:5" + "src": "19376:2:18" }, "variableNames": [ { "name": "X", - "nativeSrc": "19371:1:5", + "nativeSrc": "19371:1:18", "nodeType": "YulIdentifier", - "src": "19371:1:5" + "src": "19371:1:18" } ] } @@ -32457,115 +51432,115 @@ "arguments": [ { "name": "minus_1", - "nativeSrc": "15403:7:5", + "nativeSrc": "15403:7:18", "nodeType": "YulIdentifier", - "src": "15403:7:5" + "src": "15403:7:18" }, { "name": "index", - "nativeSrc": "15412:5:5", + "nativeSrc": "15412:5:18", "nodeType": "YulIdentifier", - "src": "15412:5:5" + "src": "15412:5:18" } ], "functionName": { "name": "gt", - "nativeSrc": "15400:2:5", + "nativeSrc": "15400:2:18", "nodeType": "YulIdentifier", - "src": "15400:2:5" + "src": "15400:2:18" }, - "nativeSrc": "15400:18:5", + "nativeSrc": "15400:18:18", "nodeType": "YulFunctionCall", - "src": "15400:18:5" + "src": "15400:18:18" }, - "nativeSrc": "15393:4025:5", + "nativeSrc": "15393:4025:18", "nodeType": "YulForLoop", "post": { - "nativeSrc": "15419:26:5", + "nativeSrc": "15419:26:18", "nodeType": "YulBlock", - "src": "15419:26:5", + "src": "15419:26:18", "statements": [ { - "nativeSrc": "15421:22:5", + "nativeSrc": "15421:22:18", "nodeType": "YulAssignment", - "src": "15421:22:5", + "src": "15421:22:18", "value": { "arguments": [ { "name": "index", - "nativeSrc": "15434:5:5", + "nativeSrc": "15434:5:18", "nodeType": "YulIdentifier", - "src": "15434:5:5" + "src": "15434:5:18" }, { "kind": "number", - "nativeSrc": "15441:1:5", + "nativeSrc": "15441:1:18", "nodeType": "YulLiteral", - "src": "15441:1:5", + "src": "15441:1:18", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "15430:3:5", + "nativeSrc": "15430:3:18", "nodeType": "YulIdentifier", - "src": "15430:3:5" + "src": "15430:3:18" }, - "nativeSrc": "15430:13:5", + "nativeSrc": "15430:13:18", "nodeType": "YulFunctionCall", - "src": "15430:13:5" + "src": "15430:13:18" }, "variableNames": [ { "name": "index", - "nativeSrc": "15421:5:5", + "nativeSrc": "15421:5:18", "nodeType": "YulIdentifier", - "src": "15421:5:5" + "src": "15421:5:18" } ] } ] }, "pre": { - "nativeSrc": "15397:2:5", + "nativeSrc": "15397:2:18", "nodeType": "YulBlock", - "src": "15397:2:5", + "src": "15397:2:18", "statements": [] }, - "src": "15393:4025:5" + "src": "15393:4025:18" }, { - "nativeSrc": "19446:20:5", + "nativeSrc": "19446:20:18", "nodeType": "YulVariableDeclaration", - "src": "19446:20:5", + "src": "19446:20:18", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "19461:4:5", + "nativeSrc": "19461:4:18", "nodeType": "YulLiteral", - "src": "19461:4:5", + "src": "19461:4:18", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "19455:5:5", + "nativeSrc": "19455:5:18", "nodeType": "YulIdentifier", - "src": "19455:5:5" + "src": "19455:5:18" }, - "nativeSrc": "19455:11:5", + "nativeSrc": "19455:11:18", "nodeType": "YulFunctionCall", - "src": "19455:11:5" + "src": "19455:11:18" }, "variables": [ { "name": "T", - "nativeSrc": "19450:1:5", + "nativeSrc": "19450:1:18", "nodeType": "YulTypedName", - "src": "19450:1:5", + "src": "19450:1:18", "type": "" } ] @@ -32577,81 +51552,81 @@ "arguments": [ { "name": "T", - "nativeSrc": "19494:1:5", + "nativeSrc": "19494:1:18", "nodeType": "YulIdentifier", - "src": "19494:1:5" + "src": "19494:1:18" }, { "kind": "number", - "nativeSrc": "19497:4:5", + "nativeSrc": "19497:4:18", "nodeType": "YulLiteral", - "src": "19497:4:5", + "src": "19497:4:18", "type": "", "value": "0x60" } ], "functionName": { "name": "add", - "nativeSrc": "19490:3:5", + "nativeSrc": "19490:3:18", "nodeType": "YulIdentifier", - "src": "19490:3:5" + "src": "19490:3:18" }, - "nativeSrc": "19490:12:5", + "nativeSrc": "19490:12:18", "nodeType": "YulFunctionCall", - "src": "19490:12:5" + "src": "19490:12:18" }, { "name": "zz", - "nativeSrc": "19504:2:5", + "nativeSrc": "19504:2:18", "nodeType": "YulIdentifier", - "src": "19504:2:5" + "src": "19504:2:18" } ], "functionName": { "name": "mstore", - "nativeSrc": "19483:6:5", + "nativeSrc": "19483:6:18", "nodeType": "YulIdentifier", - "src": "19483:6:5" + "src": "19483:6:18" }, - "nativeSrc": "19483:24:5", + "nativeSrc": "19483:24:18", "nodeType": "YulFunctionCall", - "src": "19483:24:5" + "src": "19483:24:18" }, - "nativeSrc": "19483:24:5", + "nativeSrc": "19483:24:18", "nodeType": "YulExpressionStatement", - "src": "19483:24:5" + "src": "19483:24:18" }, { "expression": { "arguments": [ { "name": "T", - "nativeSrc": "19766:1:5", + "nativeSrc": "19766:1:18", "nodeType": "YulIdentifier", - "src": "19766:1:5" + "src": "19766:1:18" }, { "kind": "number", - "nativeSrc": "19769:4:5", + "nativeSrc": "19769:4:18", "nodeType": "YulLiteral", - "src": "19769:4:5", + "src": "19769:4:18", "type": "", "value": "0x20" } ], "functionName": { "name": "mstore", - "nativeSrc": "19759:6:5", + "nativeSrc": "19759:6:18", "nodeType": "YulIdentifier", - "src": "19759:6:5" + "src": "19759:6:18" }, - "nativeSrc": "19759:15:5", + "nativeSrc": "19759:15:18", "nodeType": "YulFunctionCall", - "src": "19759:15:5" + "src": "19759:15:18" }, - "nativeSrc": "19759:15:5", + "nativeSrc": "19759:15:18", "nodeType": "YulExpressionStatement", - "src": "19759:15:5" + "src": "19759:15:18" }, { "expression": { @@ -32660,51 +51635,51 @@ "arguments": [ { "name": "T", - "nativeSrc": "19802:1:5", + "nativeSrc": "19802:1:18", "nodeType": "YulIdentifier", - "src": "19802:1:5" + "src": "19802:1:18" }, { "kind": "number", - "nativeSrc": "19805:4:5", + "nativeSrc": "19805:4:18", "nodeType": "YulLiteral", - "src": "19805:4:5", + "src": "19805:4:18", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "19798:3:5", + "nativeSrc": "19798:3:18", "nodeType": "YulIdentifier", - "src": "19798:3:5" + "src": "19798:3:18" }, - "nativeSrc": "19798:12:5", + "nativeSrc": "19798:12:18", "nodeType": "YulFunctionCall", - "src": "19798:12:5" + "src": "19798:12:18" }, { "kind": "number", - "nativeSrc": "19812:4:5", + "nativeSrc": "19812:4:18", "nodeType": "YulLiteral", - "src": "19812:4:5", + "src": "19812:4:18", "type": "", "value": "0x20" } ], "functionName": { "name": "mstore", - "nativeSrc": "19791:6:5", + "nativeSrc": "19791:6:18", "nodeType": "YulIdentifier", - "src": "19791:6:5" + "src": "19791:6:18" }, - "nativeSrc": "19791:26:5", + "nativeSrc": "19791:26:18", "nodeType": "YulFunctionCall", - "src": "19791:26:5" + "src": "19791:26:18" }, - "nativeSrc": "19791:26:5", + "nativeSrc": "19791:26:18", "nodeType": "YulExpressionStatement", - "src": "19791:26:5" + "src": "19791:26:18" }, { "expression": { @@ -32713,51 +51688,51 @@ "arguments": [ { "name": "T", - "nativeSrc": "19845:1:5", + "nativeSrc": "19845:1:18", "nodeType": "YulIdentifier", - "src": "19845:1:5" + "src": "19845:1:18" }, { "kind": "number", - "nativeSrc": "19848:4:5", + "nativeSrc": "19848:4:18", "nodeType": "YulLiteral", - "src": "19848:4:5", + "src": "19848:4:18", "type": "", "value": "0x40" } ], "functionName": { "name": "add", - "nativeSrc": "19841:3:5", + "nativeSrc": "19841:3:18", "nodeType": "YulIdentifier", - "src": "19841:3:5" + "src": "19841:3:18" }, - "nativeSrc": "19841:12:5", + "nativeSrc": "19841:12:18", "nodeType": "YulFunctionCall", - "src": "19841:12:5" + "src": "19841:12:18" }, { "kind": "number", - "nativeSrc": "19855:4:5", + "nativeSrc": "19855:4:18", "nodeType": "YulLiteral", - "src": "19855:4:5", + "src": "19855:4:18", "type": "", "value": "0x20" } ], "functionName": { "name": "mstore", - "nativeSrc": "19834:6:5", + "nativeSrc": "19834:6:18", "nodeType": "YulIdentifier", - "src": "19834:6:5" + "src": "19834:6:18" }, - "nativeSrc": "19834:26:5", + "nativeSrc": "19834:26:18", "nodeType": "YulFunctionCall", - "src": "19834:26:5" + "src": "19834:26:18" }, - "nativeSrc": "19834:26:5", + "nativeSrc": "19834:26:18", "nodeType": "YulExpressionStatement", - "src": "19834:26:5" + "src": "19834:26:18" }, { "expression": { @@ -32766,49 +51741,49 @@ "arguments": [ { "name": "T", - "nativeSrc": "19999:1:5", + "nativeSrc": "19999:1:18", "nodeType": "YulIdentifier", - "src": "19999:1:5" + "src": "19999:1:18" }, { "kind": "number", - "nativeSrc": "20002:4:5", + "nativeSrc": "20002:4:18", "nodeType": "YulLiteral", - "src": "20002:4:5", + "src": "20002:4:18", "type": "", "value": "0x80" } ], "functionName": { "name": "add", - "nativeSrc": "19995:3:5", + "nativeSrc": "19995:3:18", "nodeType": "YulIdentifier", - "src": "19995:3:5" + "src": "19995:3:18" }, - "nativeSrc": "19995:12:5", + "nativeSrc": "19995:12:18", "nodeType": "YulFunctionCall", - "src": "19995:12:5" + "src": "19995:12:18" }, { "name": "minus_2", - "nativeSrc": "20009:7:5", + "nativeSrc": "20009:7:18", "nodeType": "YulIdentifier", - "src": "20009:7:5" + "src": "20009:7:18" } ], "functionName": { "name": "mstore", - "nativeSrc": "19988:6:5", + "nativeSrc": "19988:6:18", "nodeType": "YulIdentifier", - "src": "19988:6:5" + "src": "19988:6:18" }, - "nativeSrc": "19988:29:5", + "nativeSrc": "19988:29:18", "nodeType": "YulFunctionCall", - "src": "19988:29:5" + "src": "19988:29:18" }, - "nativeSrc": "19988:29:5", + "nativeSrc": "19988:29:18", "nodeType": "YulExpressionStatement", - "src": "19988:29:5" + "src": "19988:29:18" }, { "expression": { @@ -32817,89 +51792,89 @@ "arguments": [ { "name": "T", - "nativeSrc": "20045:1:5", + "nativeSrc": "20045:1:18", "nodeType": "YulIdentifier", - "src": "20045:1:5" + "src": "20045:1:18" }, { "kind": "number", - "nativeSrc": "20048:4:5", + "nativeSrc": "20048:4:18", "nodeType": "YulLiteral", - "src": "20048:4:5", + "src": "20048:4:18", "type": "", "value": "0xa0" } ], "functionName": { "name": "add", - "nativeSrc": "20041:3:5", + "nativeSrc": "20041:3:18", "nodeType": "YulIdentifier", - "src": "20041:3:5" + "src": "20041:3:18" }, - "nativeSrc": "20041:12:5", + "nativeSrc": "20041:12:18", "nodeType": "YulFunctionCall", - "src": "20041:12:5" + "src": "20041:12:18" }, { "name": "p", - "nativeSrc": "20055:1:5", + "nativeSrc": "20055:1:18", "nodeType": "YulIdentifier", - "src": "20055:1:5" + "src": "20055:1:18" } ], "functionName": { "name": "mstore", - "nativeSrc": "20034:6:5", + "nativeSrc": "20034:6:18", "nodeType": "YulIdentifier", - "src": "20034:6:5" + "src": "20034:6:18" }, - "nativeSrc": "20034:23:5", + "nativeSrc": "20034:23:18", "nodeType": "YulFunctionCall", - "src": "20034:23:5" + "src": "20034:23:18" }, - "nativeSrc": "20034:23:5", + "nativeSrc": "20034:23:18", "nodeType": "YulExpressionStatement", - "src": "20034:23:5" + "src": "20034:23:18" }, { "body": { - "nativeSrc": "20192:16:5", + "nativeSrc": "20192:16:18", "nodeType": "YulBlock", - "src": "20192:16:5", + "src": "20192:16:18", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "20201:1:5", + "nativeSrc": "20201:1:18", "nodeType": "YulLiteral", - "src": "20201:1:5", + "src": "20201:1:18", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "20204:1:5", + "nativeSrc": "20204:1:18", "nodeType": "YulLiteral", - "src": "20204:1:5", + "src": "20204:1:18", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "20194:6:5", + "nativeSrc": "20194:6:18", "nodeType": "YulIdentifier", - "src": "20194:6:5" + "src": "20194:6:18" }, - "nativeSrc": "20194:12:5", + "nativeSrc": "20194:12:18", "nodeType": "YulFunctionCall", - "src": "20194:12:5" + "src": "20194:12:18" }, - "nativeSrc": "20194:12:5", + "nativeSrc": "20194:12:18", "nodeType": "YulExpressionStatement", - "src": "20194:12:5" + "src": "20194:12:18" } ] }, @@ -32911,139 +51886,139 @@ "arguments": [ { "kind": "number", - "nativeSrc": "20163:1:5", + "nativeSrc": "20163:1:18", "nodeType": "YulLiteral", - "src": "20163:1:5", + "src": "20163:1:18", "type": "", "value": "0" } ], "functionName": { "name": "not", - "nativeSrc": "20159:3:5", + "nativeSrc": "20159:3:18", "nodeType": "YulIdentifier", - "src": "20159:3:5" + "src": "20159:3:18" }, - "nativeSrc": "20159:6:5", + "nativeSrc": "20159:6:18", "nodeType": "YulFunctionCall", - "src": "20159:6:5" + "src": "20159:6:18" }, { "kind": "number", - "nativeSrc": "20167:4:5", + "nativeSrc": "20167:4:18", "nodeType": "YulLiteral", - "src": "20167:4:5", + "src": "20167:4:18", "type": "", "value": "0x05" }, { "name": "T", - "nativeSrc": "20173:1:5", + "nativeSrc": "20173:1:18", "nodeType": "YulIdentifier", - "src": "20173:1:5" + "src": "20173:1:18" }, { "kind": "number", - "nativeSrc": "20176:4:5", + "nativeSrc": "20176:4:18", "nodeType": "YulLiteral", - "src": "20176:4:5", + "src": "20176:4:18", "type": "", "value": "0xc0" }, { "name": "T", - "nativeSrc": "20182:1:5", + "nativeSrc": "20182:1:18", "nodeType": "YulIdentifier", - "src": "20182:1:5" + "src": "20182:1:18" }, { "kind": "number", - "nativeSrc": "20185:4:5", + "nativeSrc": "20185:4:18", "nodeType": "YulLiteral", - "src": "20185:4:5", + "src": "20185:4:18", "type": "", "value": "0x20" } ], "functionName": { "name": "staticcall", - "nativeSrc": "20148:10:5", + "nativeSrc": "20148:10:18", "nodeType": "YulIdentifier", - "src": "20148:10:5" + "src": "20148:10:18" }, - "nativeSrc": "20148:42:5", + "nativeSrc": "20148:42:18", "nodeType": "YulFunctionCall", - "src": "20148:42:5" + "src": "20148:42:18" } ], "functionName": { "name": "iszero", - "nativeSrc": "20141:6:5", + "nativeSrc": "20141:6:18", "nodeType": "YulIdentifier", - "src": "20141:6:5" + "src": "20141:6:18" }, - "nativeSrc": "20141:50:5", + "nativeSrc": "20141:50:18", "nodeType": "YulFunctionCall", - "src": "20141:50:5" + "src": "20141:50:18" }, - "nativeSrc": "20138:70:5", + "nativeSrc": "20138:70:18", "nodeType": "YulIf", - "src": "20138:70:5" + "src": "20138:70:18" }, { - "nativeSrc": "20368:27:5", + "nativeSrc": "20368:27:18", "nodeType": "YulAssignment", - "src": "20368:27:5", + "src": "20368:27:18", "value": { "arguments": [ { "name": "X", - "nativeSrc": "20380:1:5", + "nativeSrc": "20380:1:18", "nodeType": "YulIdentifier", - "src": "20380:1:5" + "src": "20380:1:18" }, { "arguments": [ { "name": "T", - "nativeSrc": "20389:1:5", + "nativeSrc": "20389:1:18", "nodeType": "YulIdentifier", - "src": "20389:1:5" + "src": "20389:1:18" } ], "functionName": { "name": "mload", - "nativeSrc": "20383:5:5", + "nativeSrc": "20383:5:18", "nodeType": "YulIdentifier", - "src": "20383:5:5" + "src": "20383:5:18" }, - "nativeSrc": "20383:8:5", + "nativeSrc": "20383:8:18", "nodeType": "YulFunctionCall", - "src": "20383:8:5" + "src": "20383:8:18" }, { "name": "p", - "nativeSrc": "20393:1:5", + "nativeSrc": "20393:1:18", "nodeType": "YulIdentifier", - "src": "20393:1:5" + "src": "20393:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "20373:6:5", + "nativeSrc": "20373:6:18", "nodeType": "YulIdentifier", - "src": "20373:6:5" + "src": "20373:6:18" }, - "nativeSrc": "20373:22:5", + "nativeSrc": "20373:22:18", "nodeType": "YulFunctionCall", - "src": "20373:22:5" + "src": "20373:22:18" }, "variableNames": [ { "name": "X", - "nativeSrc": "20368:1:5", + "nativeSrc": "20368:1:18", "nodeType": "YulIdentifier", - "src": "20368:1:5" + "src": "20368:1:18" } ] } @@ -33052,1206 +52027,1206 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 1790, + "declaration": 3396, "isOffset": false, "isSlot": false, - "src": "15238:2:5", + "src": "15238:2:18", "valueSize": 1 }, { - "declaration": 1790, + "declaration": 3396, "isOffset": false, "isSlot": false, - "src": "16968:2:5", + "src": "16968:2:18", "valueSize": 1 }, { - "declaration": 1793, + "declaration": 3399, "isOffset": false, "isSlot": false, - "src": "15266:2:5", + "src": "15266:2:18", "valueSize": 1 }, { - "declaration": 1793, + "declaration": 3399, "isOffset": false, "isSlot": false, - "src": "17005:2:5", + "src": "17005:2:18", "valueSize": 1 }, { - "declaration": 1765, + "declaration": 3371, "isOffset": false, "isSlot": false, - "src": "15133:2:5", + "src": "15133:2:18", "valueSize": 1 }, { - "declaration": 1765, + "declaration": 3371, "isOffset": false, "isSlot": false, - "src": "16829:2:5", + "src": "16829:2:18", "valueSize": 1 }, { - "declaration": 1767, + "declaration": 3373, "isOffset": false, "isSlot": false, - "src": "15161:2:5", + "src": "15161:2:18", "valueSize": 1 }, { - "declaration": 1767, + "declaration": 3373, "isOffset": false, "isSlot": false, - "src": "16866:2:5", + "src": "16866:2:18", "valueSize": 1 }, { - "declaration": 1774, + "declaration": 3380, "isOffset": false, "isSlot": false, - "src": "15023:1:5", + "src": "15023:1:18", "valueSize": 1 }, { - "declaration": 1774, + "declaration": 3380, "isOffset": false, "isSlot": false, - "src": "15128:1:5", + "src": "15128:1:18", "valueSize": 1 }, { - "declaration": 1774, + "declaration": 3380, "isOffset": false, "isSlot": false, - "src": "15233:1:5", + "src": "15233:1:18", "valueSize": 1 }, { - "declaration": 1774, + "declaration": 3380, "isOffset": false, "isSlot": false, - "src": "15647:1:5", + "src": "15647:1:18", "valueSize": 1 }, { - "declaration": 1774, + "declaration": 3380, "isOffset": false, "isSlot": false, - "src": "15775:1:5", + "src": "15775:1:18", "valueSize": 1 }, { - "declaration": 1774, + "declaration": 3380, "isOffset": false, "isSlot": false, - "src": "15801:1:5", + "src": "15801:1:18", "valueSize": 1 }, { - "declaration": 1774, + "declaration": 3380, "isOffset": false, "isSlot": false, - "src": "15988:1:5", + "src": "15988:1:18", "valueSize": 1 }, { - "declaration": 1774, + "declaration": 3380, "isOffset": false, "isSlot": false, - "src": "16102:1:5", + "src": "16102:1:18", "valueSize": 1 }, { - "declaration": 1774, + "declaration": 3380, "isOffset": false, "isSlot": false, - "src": "17102:1:5", + "src": "17102:1:18", "valueSize": 1 }, { - "declaration": 1774, + "declaration": 3380, "isOffset": false, "isSlot": false, - "src": "17534:1:5", + "src": "17534:1:18", "valueSize": 1 }, { - "declaration": 1774, + "declaration": 3380, "isOffset": false, "isSlot": false, - "src": "18004:1:5", + "src": "18004:1:18", "valueSize": 1 }, { - "declaration": 1774, + "declaration": 3380, "isOffset": false, "isSlot": false, - "src": "18143:1:5", + "src": "18143:1:18", "valueSize": 1 }, { - "declaration": 1774, + "declaration": 3380, "isOffset": false, "isSlot": false, - "src": "18161:1:5", + "src": "18161:1:18", "valueSize": 1 }, { - "declaration": 1774, + "declaration": 3380, "isOffset": false, "isSlot": false, - "src": "18454:1:5", + "src": "18454:1:18", "valueSize": 1 }, { - "declaration": 1774, + "declaration": 3380, "isOffset": false, "isSlot": false, - "src": "18591:1:5", + "src": "18591:1:18", "valueSize": 1 }, { - "declaration": 1774, + "declaration": 3380, "isOffset": false, "isSlot": false, - "src": "19127:1:5", + "src": "19127:1:18", "valueSize": 1 }, { - "declaration": 1774, + "declaration": 3380, "isOffset": false, "isSlot": false, - "src": "19371:1:5", + "src": "19371:1:18", "valueSize": 1 }, { - "declaration": 1774, + "declaration": 3380, "isOffset": false, "isSlot": false, - "src": "20368:1:5", + "src": "20368:1:18", "valueSize": 1 }, { - "declaration": 1774, + "declaration": 3380, "isOffset": false, "isSlot": false, - "src": "20380:1:5", + "src": "20380:1:18", "valueSize": 1 }, { - "declaration": 1783, + "declaration": 3389, "isOffset": false, "isSlot": false, - "src": "15051:1:5", + "src": "15051:1:18", "valueSize": 1 }, { - "declaration": 1783, + "declaration": 3389, "isOffset": false, "isSlot": false, - "src": "15156:1:5", + "src": "15156:1:18", "valueSize": 1 }, { - "declaration": 1783, + "declaration": 3389, "isOffset": false, "isSlot": false, - "src": "15261:1:5", + "src": "15261:1:18", "valueSize": 1 }, { - "declaration": 1783, + "declaration": 3389, "isOffset": false, "isSlot": false, - "src": "15528:1:5", + "src": "15528:1:18", "valueSize": 1 }, { - "declaration": 1783, + "declaration": 3389, "isOffset": false, "isSlot": false, - "src": "16163:1:5", + "src": "16163:1:18", "valueSize": 1 }, { - "declaration": 1783, + "declaration": 3389, "isOffset": false, "isSlot": false, - "src": "16186:1:5", + "src": "16186:1:18", "valueSize": 1 }, { - "declaration": 1783, + "declaration": 3389, "isOffset": false, "isSlot": false, - "src": "16499:1:5", + "src": "16499:1:18", "valueSize": 1 }, { - "declaration": 1783, + "declaration": 3389, "isOffset": false, "isSlot": false, - "src": "16511:1:5", + "src": "16511:1:18", "valueSize": 1 }, { - "declaration": 1783, + "declaration": 3389, "isOffset": false, "isSlot": false, - "src": "17138:1:5", + "src": "17138:1:18", "valueSize": 1 }, { - "declaration": 1783, + "declaration": 3389, "isOffset": false, "isSlot": false, - "src": "17461:1:5", + "src": "17461:1:18", "valueSize": 1 }, { - "declaration": 1783, + "declaration": 3389, "isOffset": false, "isSlot": false, - "src": "17869:1:5", + "src": "17869:1:18", "valueSize": 1 }, { - "declaration": 1783, + "declaration": 3389, "isOffset": false, "isSlot": false, - "src": "18645:1:5", + "src": "18645:1:18", "valueSize": 1 }, { - "declaration": 1783, + "declaration": 3389, "isOffset": false, "isSlot": false, - "src": "18672:1:5", + "src": "18672:1:18", "valueSize": 1 }, { - "declaration": 1783, + "declaration": 3389, "isOffset": false, "isSlot": false, - "src": "19269:1:5", + "src": "19269:1:18", "valueSize": 1 }, { - "declaration": 1783, + "declaration": 3389, "isOffset": false, "isSlot": false, - "src": "19331:1:5", + "src": "19331:1:18", "valueSize": 1 }, { - "declaration": 974, + "declaration": 2580, "isOffset": false, "isSlot": false, - "src": "15028:2:5", + "src": "15028:2:18", "valueSize": 1 }, { - "declaration": 974, + "declaration": 2580, "isOffset": false, "isSlot": false, - "src": "16690:2:5", + "src": "16690:2:18", "valueSize": 1 }, { - "declaration": 977, + "declaration": 2583, "isOffset": false, "isSlot": false, - "src": "15056:2:5", + "src": "15056:2:18", "valueSize": 1 }, { - "declaration": 977, + "declaration": 2583, "isOffset": false, "isSlot": false, - "src": "16727:2:5", + "src": "16727:2:18", "valueSize": 1 }, { - "declaration": 1786, + "declaration": 3392, "isOffset": false, "isSlot": false, - "src": "14648:5:5", + "src": "14648:5:18", "valueSize": 1 }, { - "declaration": 1786, + "declaration": 3392, "isOffset": false, "isSlot": false, - "src": "14679:5:5", + "src": "14679:5:18", "valueSize": 1 }, { - "declaration": 1786, + "declaration": 3392, "isOffset": false, "isSlot": false, - "src": "14735:5:5", + "src": "14735:5:18", "valueSize": 1 }, { - "declaration": 1786, + "declaration": 3392, "isOffset": false, "isSlot": false, - "src": "14748:5:5", + "src": "14748:5:18", "valueSize": 1 }, { - "declaration": 1786, + "declaration": 3392, "isOffset": false, "isSlot": false, - "src": "14803:5:5", + "src": "14803:5:18", "valueSize": 1 }, { - "declaration": 1786, + "declaration": 3392, "isOffset": false, "isSlot": false, - "src": "14834:5:5", + "src": "14834:5:18", "valueSize": 1 }, { - "declaration": 1786, + "declaration": 3392, "isOffset": false, "isSlot": false, - "src": "14918:5:5", + "src": "14918:5:18", "valueSize": 1 }, { - "declaration": 1786, + "declaration": 3392, "isOffset": false, "isSlot": false, - "src": "14949:5:5", + "src": "14949:5:18", "valueSize": 1 }, { - "declaration": 1786, + "declaration": 3392, "isOffset": false, "isSlot": false, - "src": "15304:5:5", + "src": "15304:5:18", "valueSize": 1 }, { - "declaration": 1786, + "declaration": 3392, "isOffset": false, "isSlot": false, - "src": "15317:5:5", + "src": "15317:5:18", "valueSize": 1 }, { - "declaration": 1786, + "declaration": 3392, "isOffset": false, "isSlot": false, - "src": "15412:5:5", + "src": "15412:5:18", "valueSize": 1 }, { - "declaration": 1786, + "declaration": 3392, "isOffset": false, "isSlot": false, - "src": "15421:5:5", + "src": "15421:5:18", "valueSize": 1 }, { - "declaration": 1786, + "declaration": 3392, "isOffset": false, "isSlot": false, - "src": "15434:5:5", + "src": "15434:5:18", "valueSize": 1 }, { - "declaration": 1786, + "declaration": 3392, "isOffset": false, "isSlot": false, - "src": "16377:5:5", + "src": "16377:5:18", "valueSize": 1 }, { - "declaration": 1786, + "declaration": 3392, "isOffset": false, "isSlot": false, - "src": "16408:5:5", + "src": "16408:5:18", "valueSize": 1 }, { - "declaration": 989, + "declaration": 2595, "isOffset": false, "isSlot": false, - "src": "15403:7:5", + "src": "15403:7:18", "valueSize": 1 }, { - "declaration": 983, + "declaration": 2589, "isOffset": false, "isSlot": false, - "src": "16026:7:5", + "src": "16026:7:18", "valueSize": 1 }, { - "declaration": 983, + "declaration": 2589, "isOffset": false, "isSlot": false, - "src": "17860:7:5", + "src": "17860:7:18", "valueSize": 1 }, { - "declaration": 983, + "declaration": 2589, "isOffset": false, "isSlot": false, - "src": "18492:7:5", + "src": "18492:7:18", "valueSize": 1 }, { - "declaration": 983, + "declaration": 2589, "isOffset": false, "isSlot": false, - "src": "19224:7:5", + "src": "19224:7:18", "valueSize": 1 }, { - "declaration": 983, + "declaration": 2589, "isOffset": false, "isSlot": false, - "src": "20009:7:5", + "src": "20009:7:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "15531:1:5", + "src": "15531:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "15598:1:5", + "src": "15598:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "15654:1:5", + "src": "15654:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "15710:1:5", + "src": "15710:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "15782:1:5", + "src": "15782:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "15790:1:5", + "src": "15790:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "15808:1:5", + "src": "15808:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "15812:1:5", + "src": "15812:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "15816:1:5", + "src": "15816:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "15886:1:5", + "src": "15886:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "15944:1:5", + "src": "15944:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "16015:1:5", + "src": "16015:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "16039:1:5", + "src": "16039:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "16043:1:5", + "src": "16043:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "16109:1:5", + "src": "16109:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "16117:1:5", + "src": "16117:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "16121:1:5", + "src": "16121:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "16189:1:5", + "src": "16189:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "16197:1:5", + "src": "16197:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "16508:1:5", + "src": "16508:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "17457:1:5", + "src": "17457:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "17464:1:5", + "src": "17464:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "17523:1:5", + "src": "17523:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "17531:1:5", + "src": "17531:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "17538:1:5", + "src": "17538:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "17872:1:5", + "src": "17872:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "17947:1:5", + "src": "17947:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "18011:1:5", + "src": "18011:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "18080:1:5", + "src": "18080:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "18150:1:5", + "src": "18150:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "18168:1:5", + "src": "18168:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "18176:1:5", + "src": "18176:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "18180:1:5", + "src": "18180:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "18250:1:5", + "src": "18250:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "18328:1:5", + "src": "18328:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "18398:1:5", + "src": "18398:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "18481:1:5", + "src": "18481:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "18505:1:5", + "src": "18505:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "18509:1:5", + "src": "18509:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "18588:1:5", + "src": "18588:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "18595:1:5", + "src": "18595:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "18599:1:5", + "src": "18599:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "18675:1:5", + "src": "18675:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "18679:1:5", + "src": "18679:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "18845:1:5", + "src": "18845:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "18903:1:5", + "src": "18903:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "19019:1:5", + "src": "19019:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "19070:1:5", + "src": "19070:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "19134:1:5", + "src": "19134:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "19196:1:5", + "src": "19196:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "19204:1:5", + "src": "19204:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "19213:1:5", + "src": "19213:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "19238:1:5", + "src": "19238:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "19242:1:5", + "src": "19242:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "19304:1:5", + "src": "19304:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "19312:1:5", + "src": "19312:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "19320:1:5", + "src": "19320:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "19339:1:5", + "src": "19339:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "19343:1:5", + "src": "19343:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "20055:1:5", + "src": "20055:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "20393:1:5", + "src": "20393:1:18", "valueSize": 1 }, { - "declaration": 1769, + "declaration": 3375, "isOffset": false, "isSlot": false, - "src": "14686:8:5", + "src": "14686:8:18", "valueSize": 1 }, { - "declaration": 1769, + "declaration": 3375, "isOffset": false, "isSlot": false, - "src": "14841:8:5", + "src": "14841:8:18", "valueSize": 1 }, { - "declaration": 1769, + "declaration": 3375, "isOffset": false, "isSlot": false, - "src": "14956:8:5", + "src": "14956:8:18", "valueSize": 1 }, { - "declaration": 1769, + "declaration": 3375, "isOffset": false, "isSlot": false, - "src": "16415:8:5", + "src": "16415:8:18", "valueSize": 1 }, { - "declaration": 1771, + "declaration": 3377, "isOffset": false, "isSlot": false, - "src": "14655:8:5", + "src": "14655:8:18", "valueSize": 1 }, { - "declaration": 1771, + "declaration": 3377, "isOffset": false, "isSlot": false, - "src": "14810:8:5", + "src": "14810:8:18", "valueSize": 1 }, { - "declaration": 1771, + "declaration": 3377, "isOffset": false, "isSlot": false, - "src": "14925:8:5", + "src": "14925:8:18", "valueSize": 1 }, { - "declaration": 1771, + "declaration": 3377, "isOffset": false, "isSlot": false, - "src": "16384:8:5", + "src": "16384:8:18", "valueSize": 1 }, { - "declaration": 1777, + "declaration": 3383, "isOffset": false, "isSlot": false, - "src": "14893:2:5", + "src": "14893:2:18", "valueSize": 1 }, { - "declaration": 1777, + "declaration": 3383, "isOffset": false, "isSlot": false, - "src": "14994:2:5", + "src": "14994:2:18", "valueSize": 1 }, { - "declaration": 1777, + "declaration": 3383, "isOffset": false, "isSlot": false, - "src": "15099:2:5", + "src": "15099:2:18", "valueSize": 1 }, { - "declaration": 1777, + "declaration": 3383, "isOffset": false, "isSlot": false, - "src": "15204:2:5", + "src": "15204:2:18", "valueSize": 1 }, { - "declaration": 1777, + "declaration": 3383, "isOffset": false, "isSlot": false, - "src": "15343:2:5", + "src": "15343:2:18", "valueSize": 1 }, { - "declaration": 1777, + "declaration": 3383, "isOffset": false, "isSlot": false, - "src": "15785:2:5", + "src": "15785:2:18", "valueSize": 1 }, { - "declaration": 1777, + "declaration": 3383, "isOffset": false, "isSlot": false, - "src": "15804:2:5", + "src": "15804:2:18", "valueSize": 1 }, { - "declaration": 1777, + "declaration": 3383, "isOffset": false, "isSlot": false, - "src": "15923:2:5", + "src": "15923:2:18", "valueSize": 1 }, { - "declaration": 1777, + "declaration": 3383, "isOffset": false, "isSlot": false, - "src": "15940:2:5", + "src": "15940:2:18", "valueSize": 1 }, { - "declaration": 1777, + "declaration": 3383, "isOffset": false, "isSlot": false, - "src": "17068:2:5", + "src": "17068:2:18", "valueSize": 1 }, { - "declaration": 1777, + "declaration": 3383, "isOffset": false, "isSlot": false, - "src": "17174:2:5", + "src": "17174:2:18", "valueSize": 1 }, { - "declaration": 1777, + "declaration": 3383, "isOffset": false, "isSlot": false, - "src": "17519:2:5", + "src": "17519:2:18", "valueSize": 1 }, { - "declaration": 1777, + "declaration": 3383, "isOffset": false, "isSlot": false, - "src": "18146:2:5", + "src": "18146:2:18", "valueSize": 1 }, { - "declaration": 1777, + "declaration": 3383, "isOffset": false, "isSlot": false, - "src": "18171:2:5", + "src": "18171:2:18", "valueSize": 1 }, { - "declaration": 1777, + "declaration": 3383, "isOffset": false, "isSlot": false, - "src": "18377:2:5", + "src": "18377:2:18", "valueSize": 1 }, { - "declaration": 1777, + "declaration": 3383, "isOffset": false, "isSlot": false, - "src": "18394:2:5", + "src": "18394:2:18", "valueSize": 1 }, { - "declaration": 1777, + "declaration": 3383, "isOffset": false, "isSlot": false, - "src": "18998:2:5", + "src": "18998:2:18", "valueSize": 1 }, { - "declaration": 1777, + "declaration": 3383, "isOffset": false, "isSlot": false, - "src": "19011:2:5", + "src": "19011:2:18", "valueSize": 1 }, { - "declaration": 1777, + "declaration": 3383, "isOffset": false, "isSlot": false, - "src": "19504:2:5", + "src": "19504:2:18", "valueSize": 1 }, { - "declaration": 1780, + "declaration": 3386, "isOffset": false, "isSlot": false, - "src": "15367:3:5", + "src": "15367:3:18", "valueSize": 1 }, { - "declaration": 1780, + "declaration": 3386, "isOffset": false, "isSlot": false, - "src": "15863:3:5", + "src": "15863:3:18", "valueSize": 1 }, { - "declaration": 1780, + "declaration": 3386, "isOffset": false, "isSlot": false, - "src": "15881:3:5", + "src": "15881:3:18", "valueSize": 1 }, { - "declaration": 1780, + "declaration": 3386, "isOffset": false, "isSlot": false, - "src": "17210:3:5", + "src": "17210:3:18", "valueSize": 1 }, { - "declaration": 1780, + "declaration": 3386, "isOffset": false, "isSlot": false, - "src": "17452:3:5", + "src": "17452:3:18", "valueSize": 1 }, { - "declaration": 1780, + "declaration": 3386, "isOffset": false, "isSlot": false, - "src": "18305:3:5", + "src": "18305:3:18", "valueSize": 1 }, { - "declaration": 1780, + "declaration": 3386, "isOffset": false, "isSlot": false, - "src": "18323:3:5", + "src": "18323:3:18", "valueSize": 1 }, { - "declaration": 1780, + "declaration": 3386, "isOffset": false, "isSlot": false, - "src": "19046:3:5", + "src": "19046:3:18", "valueSize": 1 }, { - "declaration": 1780, + "declaration": 3386, "isOffset": false, "isSlot": false, - "src": "19060:3:5", + "src": "19060:3:18", "valueSize": 1 } ], - "id": 1851, + "id": 3457, "nodeType": "InlineAssembly", - "src": "14586:5830:5" + "src": "14586:5830:18" } ] }, { "expression": { - "id": 1853, + "id": 3459, "name": "X", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1774, - "src": "20474:1:5", + "referencedDeclaration": 3380, + "src": "20474:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1775, - "id": 1854, + "functionReturnParameters": 3381, + "id": 3460, "nodeType": "Return", - "src": "20467:8:5" + "src": "20467:8:18" } ] }, "documentation": { - "id": 1763, + "id": 3369, "nodeType": "StructuredDocumentation", - "src": "13729:161:5", + "src": "13729:161:18", "text": " @dev Computation of uG+vQ using Strauss-Shamir's trick, G basepoint, Q public key\n Returns only x for ECDSA use \n " }, - "id": 1856, + "id": 3462, "implemented": true, "kind": "function", "modifiers": [], "name": "ecZZ_mulmuladd_S_asm", - "nameLocation": "13904:20:5", + "nameLocation": "13904:20:18", "nodeType": "FunctionDefinition", "parameters": { - "id": 1772, + "id": 3378, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1765, + "id": 3371, "mutability": "mutable", "name": "Q0", - "nameLocation": "13942:2:5", + "nameLocation": "13942:2:18", "nodeType": "VariableDeclaration", - "scope": 1856, - "src": "13934:10:5", + "scope": 3462, + "src": "13934:10:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -34259,10 +53234,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1764, + "id": 3370, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13934:7:5", + "src": "13934:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -34272,13 +53247,13 @@ }, { "constant": false, - "id": 1767, + "id": 3373, "mutability": "mutable", "name": "Q1", - "nameLocation": "13962:2:5", + "nameLocation": "13962:2:18", "nodeType": "VariableDeclaration", - "scope": 1856, - "src": "13954:10:5", + "scope": 3462, + "src": "13954:10:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -34286,10 +53261,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1766, + "id": 3372, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13954:7:5", + "src": "13954:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -34299,13 +53274,13 @@ }, { "constant": false, - "id": 1769, + "id": 3375, "mutability": "mutable", "name": "scalar_u", - "nameLocation": "14013:8:5", + "nameLocation": "14013:8:18", "nodeType": "VariableDeclaration", - "scope": 1856, - "src": "14005:16:5", + "scope": 3462, + "src": "14005:16:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -34313,10 +53288,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1768, + "id": 3374, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14005:7:5", + "src": "14005:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -34326,13 +53301,13 @@ }, { "constant": false, - "id": 1771, + "id": 3377, "mutability": "mutable", "name": "scalar_v", - "nameLocation": "14039:8:5", + "nameLocation": "14039:8:18", "nodeType": "VariableDeclaration", - "scope": 1856, - "src": "14031:16:5", + "scope": 3462, + "src": "14031:16:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -34340,10 +53315,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1770, + "id": 3376, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14031:7:5", + "src": "14031:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -34352,21 +53327,21 @@ "visibility": "internal" } ], - "src": "13924:129:5" + "src": "13924:129:18" }, "returnParameters": { - "id": 1775, + "id": 3381, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1774, + "id": 3380, "mutability": "mutable", "name": "X", - "nameLocation": "14085:1:5", + "nameLocation": "14085:1:18", "nodeType": "VariableDeclaration", - "scope": 1856, - "src": "14077:9:5", + "scope": 3462, + "src": "14077:9:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -34374,10 +53349,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1773, + "id": 3379, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14077:7:5", + "src": "14077:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -34386,34 +53361,34 @@ "visibility": "internal" } ], - "src": "14076:11:5" + "src": "14076:11:18" }, - "scope": 2298, - "src": "13895:6587:5", + "scope": 3904, + "src": "13895:6587:18", "stateMutability": "view", "virtual": false, "visibility": "internal" }, { "body": { - "id": 1929, + "id": 3535, "nodeType": "Block", - "src": "20871:6233:5", + "src": "20871:6233:18", "statements": [ { "assignments": [ - 1873 + 3479 ], "declarations": [ { "constant": false, - "id": 1873, + "id": 3479, "mutability": "mutable", "name": "zz", - "nameLocation": "20889:2:5", + "nameLocation": "20889:2:18", "nodeType": "VariableDeclaration", - "scope": 1929, - "src": "20881:10:5", + "scope": 3535, + "src": "20881:10:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -34421,10 +53396,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1872, + "id": 3478, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "20881:7:5", + "src": "20881:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -34433,24 +53408,24 @@ "visibility": "internal" } ], - "id": 1874, + "id": 3480, "nodeType": "VariableDeclarationStatement", - "src": "20881:10:5" + "src": "20881:10:18" }, { "assignments": [ - 1876 + 3482 ], "declarations": [ { "constant": false, - "id": 1876, + "id": 3482, "mutability": "mutable", "name": "zzz", - "nameLocation": "20909:3:5", + "nameLocation": "20909:3:18", "nodeType": "VariableDeclaration", - "scope": 1929, - "src": "20901:11:5", + "scope": 3535, + "src": "20901:11:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -34458,10 +53433,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1875, + "id": 3481, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "20901:7:5", + "src": "20901:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -34470,24 +53445,24 @@ "visibility": "internal" } ], - "id": 1877, + "id": 3483, "nodeType": "VariableDeclarationStatement", - "src": "20901:11:5" + "src": "20901:11:18" }, { "assignments": [ - 1879 + 3485 ], "declarations": [ { "constant": false, - "id": 1879, + "id": 3485, "mutability": "mutable", "name": "index", - "nameLocation": "20930:5:5", + "nameLocation": "20930:5:18", "nodeType": "VariableDeclaration", - "scope": 1929, - "src": "20922:13:5", + "scope": 3535, + "src": "20922:13:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -34495,10 +53470,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1878, + "id": 3484, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "20922:7:5", + "src": "20922:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -34507,17 +53482,17 @@ "visibility": "internal" } ], - "id": 1881, + "id": 3487, "initialValue": { "hexValue": "323535", - "id": 1880, + "id": 3486, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20938:3:5", + "src": "20938:3:18", "typeDescriptions": { "typeIdentifier": "t_rational_255_by_1", "typeString": "int_const 255" @@ -34525,22 +53500,22 @@ "value": "255" }, "nodeType": "VariableDeclarationStatement", - "src": "20922:19:5" + "src": "20922:19:18" }, { "assignments": [ - 1887 + 3493 ], "declarations": [ { "constant": false, - "id": 1887, + "id": 3493, "mutability": "mutable", "name": "T", - "nameLocation": "20969:1:5", + "nameLocation": "20969:1:18", "nodeType": "VariableDeclaration", - "scope": 1929, - "src": "20951:19:5", + "scope": 3535, + "src": "20951:19:18", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -34549,26 +53524,26 @@ }, "typeName": { "baseType": { - "id": 1885, + "id": 3491, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "20951:7:5", + "src": "20951:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1886, + "id": 3492, "length": { "hexValue": "36", - "id": 1884, + "id": 3490, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20959:1:5", + "src": "20959:1:18", "typeDescriptions": { "typeIdentifier": "t_rational_6_by_1", "typeString": "int_const 6" @@ -34576,7 +53551,7 @@ "value": "6" }, "nodeType": "ArrayTypeName", - "src": "20951:10:5", + "src": "20951:10:18", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_storage_ptr", "typeString": "uint256[6]" @@ -34585,24 +53560,24 @@ "visibility": "internal" } ], - "id": 1888, + "id": 3494, "nodeType": "VariableDeclarationStatement", - "src": "20951:19:5" + "src": "20951:19:18" }, { "assignments": [ - 1894 + 3500 ], "declarations": [ { "constant": false, - "id": 1894, + "id": 3500, "mutability": "mutable", "name": "H", - "nameLocation": "20998:1:5", + "nameLocation": "20998:1:18", "nodeType": "VariableDeclaration", - "scope": 1929, - "src": "20980:19:5", + "scope": 3535, + "src": "20980:19:18", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -34611,26 +53586,26 @@ }, "typeName": { "baseType": { - "id": 1892, + "id": 3498, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "20980:7:5", + "src": "20980:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1893, + "id": 3499, "length": { "hexValue": "32", - "id": 1891, + "id": 3497, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20988:1:5", + "src": "20988:1:18", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -34638,7 +53613,7 @@ "value": "2" }, "nodeType": "ArrayTypeName", - "src": "20980:10:5", + "src": "20980:10:18", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", "typeString": "uint256[2]" @@ -34647,14 +53622,14 @@ "visibility": "internal" } ], - "id": 1895, + "id": 3501, "nodeType": "VariableDeclarationStatement", - "src": "20980:19:5" + "src": "20980:19:18" }, { - "id": 1924, + "id": 3530, "nodeType": "UncheckedBlock", - "src": "21011:6048:5", + "src": "21011:6048:18", "statements": [ { "condition": { @@ -34662,7 +53637,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1902, + "id": 3508, "isConstant": false, "isLValue": false, "isPure": false, @@ -34672,18 +53647,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1898, + "id": 3504, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1896, + "id": 3502, "name": "scalar_u", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1863, - "src": "21039:8:5", + "referencedDeclaration": 3469, + "src": "21039:8:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -34693,21 +53668,21 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 1897, + "id": 3503, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "21051:1:5", + "src": "21051:1:18", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "21039:13:5", + "src": "21039:13:18", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -34720,18 +53695,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1901, + "id": 3507, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1899, + "id": 3505, "name": "scalar_v", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1865, - "src": "21056:8:5", + "referencedDeclaration": 3471, + "src": "21056:8:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -34741,48 +53716,48 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 1900, + "id": 3506, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "21068:1:5", + "src": "21068:1:18", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "21056:13:5", + "src": "21056:13:18", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "21039:30:5", + "src": "21039:30:18", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1907, + "id": 3513, "nodeType": "IfStatement", - "src": "21035:48:5", + "src": "21035:48:18", "trueBody": { "expression": { "components": [ { "hexValue": "30", - "id": 1903, + "id": 3509, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "21079:1:5", + "src": "21079:1:18", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -34791,14 +53766,14 @@ }, { "hexValue": "30", - "id": 1904, + "id": 3510, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "21081:1:5", + "src": "21081:1:18", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -34806,28 +53781,28 @@ "value": "0" } ], - "id": 1905, + "id": 3511, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "21078:5:5", + "src": "21078:5:18", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$", "typeString": "tuple(int_const 0,int_const 0)" } }, - "functionReturnParameters": 1871, - "id": 1906, + "functionReturnParameters": 3477, + "id": 3512, "nodeType": "Return", - "src": "21071:12:5" + "src": "21071:12:18" } }, { "expression": { - "id": 1921, + "id": 3527, "isConstant": false, "isLValue": false, "isPure": false, @@ -34836,28 +53811,28 @@ "components": [ { "baseExpression": { - "id": 1908, + "id": 3514, "name": "H", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1894, - "src": "21099:1:5", + "referencedDeclaration": 3500, + "src": "21099:1:18", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", "typeString": "uint256[2] memory" } }, - "id": 1910, + "id": 3516, "indexExpression": { "hexValue": "30", - "id": 1909, + "id": 3515, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "21101:1:5", + "src": "21101:1:18", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -34869,7 +53844,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "21099:4:5", + "src": "21099:4:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -34877,28 +53852,28 @@ }, { "baseExpression": { - "id": 1911, + "id": 3517, "name": "H", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1894, - "src": "21105:1:5", + "referencedDeclaration": 3500, + "src": "21105:1:18", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", "typeString": "uint256[2] memory" } }, - "id": 1913, + "id": 3519, "indexExpression": { "hexValue": "31", - "id": 1912, + "id": 3518, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "21107:1:5", + "src": "21107:1:18", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -34910,21 +53885,21 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "21105:4:5", + "src": "21105:4:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 1914, + "id": 3520, "isConstant": false, "isInlineArray": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "TupleExpression", - "src": "21098:12:5", + "src": "21098:12:18", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" @@ -34935,48 +53910,48 @@ "rightHandSide": { "arguments": [ { - "id": 1916, + "id": 3522, "name": "gx", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 974, - "src": "21123:2:5", + "referencedDeclaration": 2580, + "src": "21123:2:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 1917, + "id": 3523, "name": "gy", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 977, - "src": "21127:2:5", + "referencedDeclaration": 2583, + "src": "21127:2:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 1918, + "id": 3524, "name": "Q0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1859, - "src": "21131:2:5", + "referencedDeclaration": 3465, + "src": "21131:2:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 1919, + "id": 3525, "name": "Q1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1861, - "src": "21135:2:5", + "referencedDeclaration": 3467, + "src": "21135:2:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -35002,18 +53977,18 @@ "typeString": "uint256" } ], - "id": 1915, + "id": 3521, "name": "ecAff_add", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1762, - "src": "21113:9:5", + "referencedDeclaration": 3368, + "src": "21113:9:18", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", "typeString": "function (uint256,uint256,uint256,uint256) view returns (uint256,uint256)" } }, - "id": 1920, + "id": 3526, "isConstant": false, "isLValue": false, "isPure": false, @@ -35022,123 +53997,123 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "21113:25:5", + "src": "21113:25:18", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" } }, - "src": "21098:40:5", + "src": "21098:40:18", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1922, + "id": 3528, "nodeType": "ExpressionStatement", - "src": "21098:40:5" + "src": "21098:40:18" }, { "AST": { - "nativeSrc": "21216:5818:5", + "nativeSrc": "21216:5818:18", "nodeType": "YulBlock", - "src": "21216:5818:5", + "src": "21216:5818:18", "statements": [ { "body": { - "nativeSrc": "21495:2:5", + "nativeSrc": "21495:2:18", "nodeType": "YulBlock", - "src": "21495:2:5", + "src": "21495:2:18", "statements": [] }, "condition": { "arguments": [ { "name": "T4", - "nativeSrc": "21327:2:5", + "nativeSrc": "21327:2:18", "nodeType": "YulIdentifier", - "src": "21327:2:5" + "src": "21327:2:18" }, { "kind": "number", - "nativeSrc": "21331:1:5", + "nativeSrc": "21331:1:18", "nodeType": "YulLiteral", - "src": "21331:1:5", + "src": "21331:1:18", "type": "", "value": "0" } ], "functionName": { "name": "eq", - "nativeSrc": "21324:2:5", + "nativeSrc": "21324:2:18", "nodeType": "YulIdentifier", - "src": "21324:2:5" + "src": "21324:2:18" }, - "nativeSrc": "21324:9:5", + "nativeSrc": "21324:9:18", "nodeType": "YulFunctionCall", - "src": "21324:9:5" + "src": "21324:9:18" }, - "nativeSrc": "21234:263:5", + "nativeSrc": "21234:263:18", "nodeType": "YulForLoop", "post": { - "nativeSrc": "21334:160:5", + "nativeSrc": "21334:160:18", "nodeType": "YulBlock", - "src": "21334:160:5", + "src": "21334:160:18", "statements": [ { - "nativeSrc": "21356:22:5", + "nativeSrc": "21356:22:18", "nodeType": "YulAssignment", - "src": "21356:22:5", + "src": "21356:22:18", "value": { "arguments": [ { "name": "index", - "nativeSrc": "21369:5:5", + "nativeSrc": "21369:5:18", "nodeType": "YulIdentifier", - "src": "21369:5:5" + "src": "21369:5:18" }, { "kind": "number", - "nativeSrc": "21376:1:5", + "nativeSrc": "21376:1:18", "nodeType": "YulLiteral", - "src": "21376:1:5", + "src": "21376:1:18", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "21365:3:5", + "nativeSrc": "21365:3:18", "nodeType": "YulIdentifier", - "src": "21365:3:5" + "src": "21365:3:18" }, - "nativeSrc": "21365:13:5", + "nativeSrc": "21365:13:18", "nodeType": "YulFunctionCall", - "src": "21365:13:5" + "src": "21365:13:18" }, "variableNames": [ { "name": "index", - "nativeSrc": "21356:5:5", + "nativeSrc": "21356:5:18", "nodeType": "YulIdentifier", - "src": "21356:5:5" + "src": "21356:5:18" } ] }, { - "nativeSrc": "21399:77:5", + "nativeSrc": "21399:77:18", "nodeType": "YulAssignment", - "src": "21399:77:5", + "src": "21399:77:18", "value": { "arguments": [ { "arguments": [ { "kind": "number", - "nativeSrc": "21413:1:5", + "nativeSrc": "21413:1:18", "nodeType": "YulLiteral", - "src": "21413:1:5", + "src": "21413:1:18", "type": "", "value": "1" }, @@ -35148,56 +54123,56 @@ "arguments": [ { "name": "index", - "nativeSrc": "21424:5:5", + "nativeSrc": "21424:5:18", "nodeType": "YulIdentifier", - "src": "21424:5:5" + "src": "21424:5:18" }, { "name": "scalar_v", - "nativeSrc": "21431:8:5", + "nativeSrc": "21431:8:18", "nodeType": "YulIdentifier", - "src": "21431:8:5" + "src": "21431:8:18" } ], "functionName": { "name": "shr", - "nativeSrc": "21420:3:5", + "nativeSrc": "21420:3:18", "nodeType": "YulIdentifier", - "src": "21420:3:5" + "src": "21420:3:18" }, - "nativeSrc": "21420:20:5", + "nativeSrc": "21420:20:18", "nodeType": "YulFunctionCall", - "src": "21420:20:5" + "src": "21420:20:18" }, { "kind": "number", - "nativeSrc": "21442:1:5", + "nativeSrc": "21442:1:18", "nodeType": "YulLiteral", - "src": "21442:1:5", + "src": "21442:1:18", "type": "", "value": "1" } ], "functionName": { "name": "and", - "nativeSrc": "21416:3:5", + "nativeSrc": "21416:3:18", "nodeType": "YulIdentifier", - "src": "21416:3:5" + "src": "21416:3:18" }, - "nativeSrc": "21416:28:5", + "nativeSrc": "21416:28:18", "nodeType": "YulFunctionCall", - "src": "21416:28:5" + "src": "21416:28:18" } ], "functionName": { "name": "shl", - "nativeSrc": "21409:3:5", + "nativeSrc": "21409:3:18", "nodeType": "YulIdentifier", - "src": "21409:3:5" + "src": "21409:3:18" }, - "nativeSrc": "21409:36:5", + "nativeSrc": "21409:36:18", "nodeType": "YulFunctionCall", - "src": "21409:36:5" + "src": "21409:36:18" }, { "arguments": [ @@ -35205,86 +54180,86 @@ "arguments": [ { "name": "index", - "nativeSrc": "21455:5:5", + "nativeSrc": "21455:5:18", "nodeType": "YulIdentifier", - "src": "21455:5:5" + "src": "21455:5:18" }, { "name": "scalar_u", - "nativeSrc": "21462:8:5", + "nativeSrc": "21462:8:18", "nodeType": "YulIdentifier", - "src": "21462:8:5" + "src": "21462:8:18" } ], "functionName": { "name": "shr", - "nativeSrc": "21451:3:5", + "nativeSrc": "21451:3:18", "nodeType": "YulIdentifier", - "src": "21451:3:5" + "src": "21451:3:18" }, - "nativeSrc": "21451:20:5", + "nativeSrc": "21451:20:18", "nodeType": "YulFunctionCall", - "src": "21451:20:5" + "src": "21451:20:18" }, { "kind": "number", - "nativeSrc": "21473:1:5", + "nativeSrc": "21473:1:18", "nodeType": "YulLiteral", - "src": "21473:1:5", + "src": "21473:1:18", "type": "", "value": "1" } ], "functionName": { "name": "and", - "nativeSrc": "21447:3:5", + "nativeSrc": "21447:3:18", "nodeType": "YulIdentifier", - "src": "21447:3:5" + "src": "21447:3:18" }, - "nativeSrc": "21447:28:5", + "nativeSrc": "21447:28:18", "nodeType": "YulFunctionCall", - "src": "21447:28:5" + "src": "21447:28:18" } ], "functionName": { "name": "add", - "nativeSrc": "21405:3:5", + "nativeSrc": "21405:3:18", "nodeType": "YulIdentifier", - "src": "21405:3:5" + "src": "21405:3:18" }, - "nativeSrc": "21405:71:5", + "nativeSrc": "21405:71:18", "nodeType": "YulFunctionCall", - "src": "21405:71:5" + "src": "21405:71:18" }, "variableNames": [ { "name": "T4", - "nativeSrc": "21399:2:5", + "nativeSrc": "21399:2:18", "nodeType": "YulIdentifier", - "src": "21399:2:5" + "src": "21399:2:18" } ] } ] }, "pre": { - "nativeSrc": "21238:85:5", + "nativeSrc": "21238:85:18", "nodeType": "YulBlock", - "src": "21238:85:5", + "src": "21238:85:18", "statements": [ { - "nativeSrc": "21240:81:5", + "nativeSrc": "21240:81:18", "nodeType": "YulVariableDeclaration", - "src": "21240:81:5", + "src": "21240:81:18", "value": { "arguments": [ { "arguments": [ { "kind": "number", - "nativeSrc": "21258:1:5", + "nativeSrc": "21258:1:18", "nodeType": "YulLiteral", - "src": "21258:1:5", + "src": "21258:1:18", "type": "", "value": "1" }, @@ -35294,56 +54269,56 @@ "arguments": [ { "name": "index", - "nativeSrc": "21269:5:5", + "nativeSrc": "21269:5:18", "nodeType": "YulIdentifier", - "src": "21269:5:5" + "src": "21269:5:18" }, { "name": "scalar_v", - "nativeSrc": "21276:8:5", + "nativeSrc": "21276:8:18", "nodeType": "YulIdentifier", - "src": "21276:8:5" + "src": "21276:8:18" } ], "functionName": { "name": "shr", - "nativeSrc": "21265:3:5", + "nativeSrc": "21265:3:18", "nodeType": "YulIdentifier", - "src": "21265:3:5" + "src": "21265:3:18" }, - "nativeSrc": "21265:20:5", + "nativeSrc": "21265:20:18", "nodeType": "YulFunctionCall", - "src": "21265:20:5" + "src": "21265:20:18" }, { "kind": "number", - "nativeSrc": "21287:1:5", + "nativeSrc": "21287:1:18", "nodeType": "YulLiteral", - "src": "21287:1:5", + "src": "21287:1:18", "type": "", "value": "1" } ], "functionName": { "name": "and", - "nativeSrc": "21261:3:5", + "nativeSrc": "21261:3:18", "nodeType": "YulIdentifier", - "src": "21261:3:5" + "src": "21261:3:18" }, - "nativeSrc": "21261:28:5", + "nativeSrc": "21261:28:18", "nodeType": "YulFunctionCall", - "src": "21261:28:5" + "src": "21261:28:18" } ], "functionName": { "name": "shl", - "nativeSrc": "21254:3:5", + "nativeSrc": "21254:3:18", "nodeType": "YulIdentifier", - "src": "21254:3:5" + "src": "21254:3:18" }, - "nativeSrc": "21254:36:5", + "nativeSrc": "21254:36:18", "nodeType": "YulFunctionCall", - "src": "21254:36:5" + "src": "21254:36:18" }, { "arguments": [ @@ -35351,84 +54326,84 @@ "arguments": [ { "name": "index", - "nativeSrc": "21300:5:5", + "nativeSrc": "21300:5:18", "nodeType": "YulIdentifier", - "src": "21300:5:5" + "src": "21300:5:18" }, { "name": "scalar_u", - "nativeSrc": "21307:8:5", + "nativeSrc": "21307:8:18", "nodeType": "YulIdentifier", - "src": "21307:8:5" + "src": "21307:8:18" } ], "functionName": { "name": "shr", - "nativeSrc": "21296:3:5", + "nativeSrc": "21296:3:18", "nodeType": "YulIdentifier", - "src": "21296:3:5" + "src": "21296:3:18" }, - "nativeSrc": "21296:20:5", + "nativeSrc": "21296:20:18", "nodeType": "YulFunctionCall", - "src": "21296:20:5" + "src": "21296:20:18" }, { "kind": "number", - "nativeSrc": "21318:1:5", + "nativeSrc": "21318:1:18", "nodeType": "YulLiteral", - "src": "21318:1:5", + "src": "21318:1:18", "type": "", "value": "1" } ], "functionName": { "name": "and", - "nativeSrc": "21292:3:5", + "nativeSrc": "21292:3:18", "nodeType": "YulIdentifier", - "src": "21292:3:5" + "src": "21292:3:18" }, - "nativeSrc": "21292:28:5", + "nativeSrc": "21292:28:18", "nodeType": "YulFunctionCall", - "src": "21292:28:5" + "src": "21292:28:18" } ], "functionName": { "name": "add", - "nativeSrc": "21250:3:5", + "nativeSrc": "21250:3:18", "nodeType": "YulIdentifier", - "src": "21250:3:5" + "src": "21250:3:18" }, - "nativeSrc": "21250:71:5", + "nativeSrc": "21250:71:18", "nodeType": "YulFunctionCall", - "src": "21250:71:5" + "src": "21250:71:18" }, "variables": [ { "name": "T4", - "nativeSrc": "21244:2:5", + "nativeSrc": "21244:2:18", "nodeType": "YulTypedName", - "src": "21244:2:5", + "src": "21244:2:18", "type": "" } ] } ] }, - "src": "21234:263:5" + "src": "21234:263:18" }, { - "nativeSrc": "21514:77:5", + "nativeSrc": "21514:77:18", "nodeType": "YulAssignment", - "src": "21514:77:5", + "src": "21514:77:18", "value": { "arguments": [ { "arguments": [ { "kind": "number", - "nativeSrc": "21528:1:5", + "nativeSrc": "21528:1:18", "nodeType": "YulLiteral", - "src": "21528:1:5", + "src": "21528:1:18", "type": "", "value": "1" }, @@ -35438,56 +54413,56 @@ "arguments": [ { "name": "index", - "nativeSrc": "21539:5:5", + "nativeSrc": "21539:5:18", "nodeType": "YulIdentifier", - "src": "21539:5:5" + "src": "21539:5:18" }, { "name": "scalar_v", - "nativeSrc": "21546:8:5", + "nativeSrc": "21546:8:18", "nodeType": "YulIdentifier", - "src": "21546:8:5" + "src": "21546:8:18" } ], "functionName": { "name": "shr", - "nativeSrc": "21535:3:5", + "nativeSrc": "21535:3:18", "nodeType": "YulIdentifier", - "src": "21535:3:5" + "src": "21535:3:18" }, - "nativeSrc": "21535:20:5", + "nativeSrc": "21535:20:18", "nodeType": "YulFunctionCall", - "src": "21535:20:5" + "src": "21535:20:18" }, { "kind": "number", - "nativeSrc": "21557:1:5", + "nativeSrc": "21557:1:18", "nodeType": "YulLiteral", - "src": "21557:1:5", + "src": "21557:1:18", "type": "", "value": "1" } ], "functionName": { "name": "and", - "nativeSrc": "21531:3:5", + "nativeSrc": "21531:3:18", "nodeType": "YulIdentifier", - "src": "21531:3:5" + "src": "21531:3:18" }, - "nativeSrc": "21531:28:5", + "nativeSrc": "21531:28:18", "nodeType": "YulFunctionCall", - "src": "21531:28:5" + "src": "21531:28:18" } ], "functionName": { "name": "shl", - "nativeSrc": "21524:3:5", + "nativeSrc": "21524:3:18", "nodeType": "YulIdentifier", - "src": "21524:3:5" + "src": "21524:3:18" }, - "nativeSrc": "21524:36:5", + "nativeSrc": "21524:36:18", "nodeType": "YulFunctionCall", - "src": "21524:36:5" + "src": "21524:36:18" }, { "arguments": [ @@ -35495,107 +54470,107 @@ "arguments": [ { "name": "index", - "nativeSrc": "21570:5:5", + "nativeSrc": "21570:5:18", "nodeType": "YulIdentifier", - "src": "21570:5:5" + "src": "21570:5:18" }, { "name": "scalar_u", - "nativeSrc": "21577:8:5", + "nativeSrc": "21577:8:18", "nodeType": "YulIdentifier", - "src": "21577:8:5" + "src": "21577:8:18" } ], "functionName": { "name": "shr", - "nativeSrc": "21566:3:5", + "nativeSrc": "21566:3:18", "nodeType": "YulIdentifier", - "src": "21566:3:5" + "src": "21566:3:18" }, - "nativeSrc": "21566:20:5", + "nativeSrc": "21566:20:18", "nodeType": "YulFunctionCall", - "src": "21566:20:5" + "src": "21566:20:18" }, { "kind": "number", - "nativeSrc": "21588:1:5", + "nativeSrc": "21588:1:18", "nodeType": "YulLiteral", - "src": "21588:1:5", + "src": "21588:1:18", "type": "", "value": "1" } ], "functionName": { "name": "and", - "nativeSrc": "21562:3:5", + "nativeSrc": "21562:3:18", "nodeType": "YulIdentifier", - "src": "21562:3:5" + "src": "21562:3:18" }, - "nativeSrc": "21562:28:5", + "nativeSrc": "21562:28:18", "nodeType": "YulFunctionCall", - "src": "21562:28:5" + "src": "21562:28:18" } ], "functionName": { "name": "add", - "nativeSrc": "21520:3:5", + "nativeSrc": "21520:3:18", "nodeType": "YulIdentifier", - "src": "21520:3:5" + "src": "21520:3:18" }, - "nativeSrc": "21520:71:5", + "nativeSrc": "21520:71:18", "nodeType": "YulFunctionCall", - "src": "21520:71:5" + "src": "21520:71:18" }, "variableNames": [ { "name": "zz", - "nativeSrc": "21514:2:5", + "nativeSrc": "21514:2:18", "nodeType": "YulIdentifier", - "src": "21514:2:5" + "src": "21514:2:18" } ] }, { "body": { - "nativeSrc": "21622:75:5", + "nativeSrc": "21622:75:18", "nodeType": "YulBlock", - "src": "21622:75:5", + "src": "21622:75:18", "statements": [ { - "nativeSrc": "21644:7:5", + "nativeSrc": "21644:7:18", "nodeType": "YulAssignment", - "src": "21644:7:5", + "src": "21644:7:18", "value": { "name": "gx", - "nativeSrc": "21649:2:5", + "nativeSrc": "21649:2:18", "nodeType": "YulIdentifier", - "src": "21649:2:5" + "src": "21649:2:18" }, "variableNames": [ { "name": "X", - "nativeSrc": "21644:1:5", + "nativeSrc": "21644:1:18", "nodeType": "YulIdentifier", - "src": "21644:1:5" + "src": "21644:1:18" } ] }, { - "nativeSrc": "21672:7:5", + "nativeSrc": "21672:7:18", "nodeType": "YulAssignment", - "src": "21672:7:5", + "src": "21672:7:18", "value": { "name": "gy", - "nativeSrc": "21677:2:5", + "nativeSrc": "21677:2:18", "nodeType": "YulIdentifier", - "src": "21677:2:5" + "src": "21677:2:18" }, "variableNames": [ { "name": "Y", - "nativeSrc": "21672:1:5", + "nativeSrc": "21672:1:18", "nodeType": "YulIdentifier", - "src": "21672:1:5" + "src": "21672:1:18" } ] } @@ -35605,74 +54580,74 @@ "arguments": [ { "name": "zz", - "nativeSrc": "21615:2:5", + "nativeSrc": "21615:2:18", "nodeType": "YulIdentifier", - "src": "21615:2:5" + "src": "21615:2:18" }, { "kind": "number", - "nativeSrc": "21619:1:5", + "nativeSrc": "21619:1:18", "nodeType": "YulLiteral", - "src": "21619:1:5", + "src": "21619:1:18", "type": "", "value": "1" } ], "functionName": { "name": "eq", - "nativeSrc": "21612:2:5", + "nativeSrc": "21612:2:18", "nodeType": "YulIdentifier", - "src": "21612:2:5" + "src": "21612:2:18" }, - "nativeSrc": "21612:9:5", + "nativeSrc": "21612:9:18", "nodeType": "YulFunctionCall", - "src": "21612:9:5" + "src": "21612:9:18" }, - "nativeSrc": "21609:88:5", + "nativeSrc": "21609:88:18", "nodeType": "YulIf", - "src": "21609:88:5" + "src": "21609:88:18" }, { "body": { - "nativeSrc": "21727:75:5", + "nativeSrc": "21727:75:18", "nodeType": "YulBlock", - "src": "21727:75:5", + "src": "21727:75:18", "statements": [ { - "nativeSrc": "21749:7:5", + "nativeSrc": "21749:7:18", "nodeType": "YulAssignment", - "src": "21749:7:5", + "src": "21749:7:18", "value": { "name": "Q0", - "nativeSrc": "21754:2:5", + "nativeSrc": "21754:2:18", "nodeType": "YulIdentifier", - "src": "21754:2:5" + "src": "21754:2:18" }, "variableNames": [ { "name": "X", - "nativeSrc": "21749:1:5", + "nativeSrc": "21749:1:18", "nodeType": "YulIdentifier", - "src": "21749:1:5" + "src": "21749:1:18" } ] }, { - "nativeSrc": "21777:7:5", + "nativeSrc": "21777:7:18", "nodeType": "YulAssignment", - "src": "21777:7:5", + "src": "21777:7:18", "value": { "name": "Q1", - "nativeSrc": "21782:2:5", + "nativeSrc": "21782:2:18", "nodeType": "YulIdentifier", - "src": "21782:2:5" + "src": "21782:2:18" }, "variableNames": [ { "name": "Y", - "nativeSrc": "21777:1:5", + "nativeSrc": "21777:1:18", "nodeType": "YulIdentifier", - "src": "21777:1:5" + "src": "21777:1:18" } ] } @@ -35682,121 +54657,121 @@ "arguments": [ { "name": "zz", - "nativeSrc": "21720:2:5", + "nativeSrc": "21720:2:18", "nodeType": "YulIdentifier", - "src": "21720:2:5" + "src": "21720:2:18" }, { "kind": "number", - "nativeSrc": "21724:1:5", + "nativeSrc": "21724:1:18", "nodeType": "YulLiteral", - "src": "21724:1:5", + "src": "21724:1:18", "type": "", "value": "2" } ], "functionName": { "name": "eq", - "nativeSrc": "21717:2:5", + "nativeSrc": "21717:2:18", "nodeType": "YulIdentifier", - "src": "21717:2:5" + "src": "21717:2:18" }, - "nativeSrc": "21717:9:5", + "nativeSrc": "21717:9:18", "nodeType": "YulFunctionCall", - "src": "21717:9:5" + "src": "21717:9:18" }, - "nativeSrc": "21714:88:5", + "nativeSrc": "21714:88:18", "nodeType": "YulIf", - "src": "21714:88:5" + "src": "21714:88:18" }, { "body": { - "nativeSrc": "21832:95:5", + "nativeSrc": "21832:95:18", "nodeType": "YulBlock", - "src": "21832:95:5", + "src": "21832:95:18", "statements": [ { - "nativeSrc": "21854:21:5", + "nativeSrc": "21854:21:18", "nodeType": "YulAssignment", - "src": "21854:21:5", + "src": "21854:21:18", "value": { "arguments": [ { "arguments": [ { "name": "H", - "nativeSrc": "21869:1:5", + "nativeSrc": "21869:1:18", "nodeType": "YulIdentifier", - "src": "21869:1:5" + "src": "21869:1:18" }, { "kind": "number", - "nativeSrc": "21871:2:5", + "nativeSrc": "21871:2:18", "nodeType": "YulLiteral", - "src": "21871:2:5", + "src": "21871:2:18", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "21865:3:5", + "nativeSrc": "21865:3:18", "nodeType": "YulIdentifier", - "src": "21865:3:5" + "src": "21865:3:18" }, - "nativeSrc": "21865:9:5", + "nativeSrc": "21865:9:18", "nodeType": "YulFunctionCall", - "src": "21865:9:5" + "src": "21865:9:18" } ], "functionName": { "name": "mload", - "nativeSrc": "21859:5:5", + "nativeSrc": "21859:5:18", "nodeType": "YulIdentifier", - "src": "21859:5:5" + "src": "21859:5:18" }, - "nativeSrc": "21859:16:5", + "nativeSrc": "21859:16:18", "nodeType": "YulFunctionCall", - "src": "21859:16:5" + "src": "21859:16:18" }, "variableNames": [ { "name": "Y", - "nativeSrc": "21854:1:5", + "nativeSrc": "21854:1:18", "nodeType": "YulIdentifier", - "src": "21854:1:5" + "src": "21854:1:18" } ] }, { - "nativeSrc": "21896:13:5", + "nativeSrc": "21896:13:18", "nodeType": "YulAssignment", - "src": "21896:13:5", + "src": "21896:13:18", "value": { "arguments": [ { "name": "H", - "nativeSrc": "21907:1:5", + "nativeSrc": "21907:1:18", "nodeType": "YulIdentifier", - "src": "21907:1:5" + "src": "21907:1:18" } ], "functionName": { "name": "mload", - "nativeSrc": "21901:5:5", + "nativeSrc": "21901:5:18", "nodeType": "YulIdentifier", - "src": "21901:5:5" + "src": "21901:5:18" }, - "nativeSrc": "21901:8:5", + "nativeSrc": "21901:8:18", "nodeType": "YulFunctionCall", - "src": "21901:8:5" + "src": "21901:8:18" }, "variableNames": [ { "name": "X", - "nativeSrc": "21896:1:5", + "nativeSrc": "21896:1:18", "nodeType": "YulIdentifier", - "src": "21896:1:5" + "src": "21896:1:18" } ] } @@ -35806,313 +54781,313 @@ "arguments": [ { "name": "zz", - "nativeSrc": "21825:2:5", + "nativeSrc": "21825:2:18", "nodeType": "YulIdentifier", - "src": "21825:2:5" + "src": "21825:2:18" }, { "kind": "number", - "nativeSrc": "21829:1:5", + "nativeSrc": "21829:1:18", "nodeType": "YulLiteral", - "src": "21829:1:5", + "src": "21829:1:18", "type": "", "value": "3" } ], "functionName": { "name": "eq", - "nativeSrc": "21822:2:5", + "nativeSrc": "21822:2:18", "nodeType": "YulIdentifier", - "src": "21822:2:5" + "src": "21822:2:18" }, - "nativeSrc": "21822:9:5", + "nativeSrc": "21822:9:18", "nodeType": "YulFunctionCall", - "src": "21822:9:5" + "src": "21822:9:18" }, - "nativeSrc": "21819:108:5", + "nativeSrc": "21819:108:18", "nodeType": "YulIf", - "src": "21819:108:5" + "src": "21819:108:18" }, { - "nativeSrc": "21945:22:5", + "nativeSrc": "21945:22:18", "nodeType": "YulAssignment", - "src": "21945:22:5", + "src": "21945:22:18", "value": { "arguments": [ { "name": "index", - "nativeSrc": "21958:5:5", + "nativeSrc": "21958:5:18", "nodeType": "YulIdentifier", - "src": "21958:5:5" + "src": "21958:5:18" }, { "kind": "number", - "nativeSrc": "21965:1:5", + "nativeSrc": "21965:1:18", "nodeType": "YulLiteral", - "src": "21965:1:5", + "src": "21965:1:18", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "21954:3:5", + "nativeSrc": "21954:3:18", "nodeType": "YulIdentifier", - "src": "21954:3:5" + "src": "21954:3:18" }, - "nativeSrc": "21954:13:5", + "nativeSrc": "21954:13:18", "nodeType": "YulFunctionCall", - "src": "21954:13:5" + "src": "21954:13:18" }, "variableNames": [ { "name": "index", - "nativeSrc": "21945:5:5", + "nativeSrc": "21945:5:18", "nodeType": "YulIdentifier", - "src": "21945:5:5" + "src": "21945:5:18" } ] }, { - "nativeSrc": "21984:7:5", + "nativeSrc": "21984:7:18", "nodeType": "YulAssignment", - "src": "21984:7:5", + "src": "21984:7:18", "value": { "kind": "number", - "nativeSrc": "21990:1:5", + "nativeSrc": "21990:1:18", "nodeType": "YulLiteral", - "src": "21990:1:5", + "src": "21990:1:18", "type": "", "value": "1" }, "variableNames": [ { "name": "zz", - "nativeSrc": "21984:2:5", + "nativeSrc": "21984:2:18", "nodeType": "YulIdentifier", - "src": "21984:2:5" + "src": "21984:2:18" } ] }, { - "nativeSrc": "22008:8:5", + "nativeSrc": "22008:8:18", "nodeType": "YulAssignment", - "src": "22008:8:5", + "src": "22008:8:18", "value": { "kind": "number", - "nativeSrc": "22015:1:5", + "nativeSrc": "22015:1:18", "nodeType": "YulLiteral", - "src": "22015:1:5", + "src": "22015:1:18", "type": "", "value": "1" }, "variableNames": [ { "name": "zzz", - "nativeSrc": "22008:3:5", + "nativeSrc": "22008:3:18", "nodeType": "YulIdentifier", - "src": "22008:3:5" + "src": "22008:3:18" } ] }, { "body": { - "nativeSrc": "22087:3992:5", + "nativeSrc": "22087:3992:18", "nodeType": "YulBlock", - "src": "22087:3992:5", + "src": "22087:3992:18", "statements": [ { - "nativeSrc": "22149:25:5", + "nativeSrc": "22149:25:18", "nodeType": "YulVariableDeclaration", - "src": "22149:25:5", + "src": "22149:25:18", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "22166:1:5", + "nativeSrc": "22166:1:18", "nodeType": "YulLiteral", - "src": "22166:1:5", + "src": "22166:1:18", "type": "", "value": "2" }, { "name": "Y", - "nativeSrc": "22169:1:5", + "nativeSrc": "22169:1:18", "nodeType": "YulIdentifier", - "src": "22169:1:5" + "src": "22169:1:18" }, { "name": "p", - "nativeSrc": "22172:1:5", + "nativeSrc": "22172:1:18", "nodeType": "YulIdentifier", - "src": "22172:1:5" + "src": "22172:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "22159:6:5", + "nativeSrc": "22159:6:18", "nodeType": "YulIdentifier", - "src": "22159:6:5" + "src": "22159:6:18" }, - "nativeSrc": "22159:15:5", + "nativeSrc": "22159:15:18", "nodeType": "YulFunctionCall", - "src": "22159:15:5" + "src": "22159:15:18" }, "variables": [ { "name": "T1", - "nativeSrc": "22153:2:5", + "nativeSrc": "22153:2:18", "nodeType": "YulTypedName", - "src": "22153:2:5", + "src": "22153:2:18", "type": "" } ] }, { - "nativeSrc": "22214:27:5", + "nativeSrc": "22214:27:18", "nodeType": "YulVariableDeclaration", - "src": "22214:27:5", + "src": "22214:27:18", "value": { "arguments": [ { "name": "T1", - "nativeSrc": "22231:2:5", + "nativeSrc": "22231:2:18", "nodeType": "YulIdentifier", - "src": "22231:2:5" + "src": "22231:2:18" }, { "name": "T1", - "nativeSrc": "22235:2:5", + "nativeSrc": "22235:2:18", "nodeType": "YulIdentifier", - "src": "22235:2:5" + "src": "22235:2:18" }, { "name": "p", - "nativeSrc": "22239:1:5", + "nativeSrc": "22239:1:18", "nodeType": "YulIdentifier", - "src": "22239:1:5" + "src": "22239:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "22224:6:5", + "nativeSrc": "22224:6:18", "nodeType": "YulIdentifier", - "src": "22224:6:5" + "src": "22224:6:18" }, - "nativeSrc": "22224:17:5", + "nativeSrc": "22224:17:18", "nodeType": "YulFunctionCall", - "src": "22224:17:5" + "src": "22224:17:18" }, "variables": [ { "name": "T2", - "nativeSrc": "22218:2:5", + "nativeSrc": "22218:2:18", "nodeType": "YulTypedName", - "src": "22218:2:5", + "src": "22218:2:18", "type": "" } ] }, { - "nativeSrc": "22271:26:5", + "nativeSrc": "22271:26:18", "nodeType": "YulVariableDeclaration", - "src": "22271:26:5", + "src": "22271:26:18", "value": { "arguments": [ { "name": "X", - "nativeSrc": "22288:1:5", + "nativeSrc": "22288:1:18", "nodeType": "YulIdentifier", - "src": "22288:1:5" + "src": "22288:1:18" }, { "name": "T2", - "nativeSrc": "22291:2:5", + "nativeSrc": "22291:2:18", "nodeType": "YulIdentifier", - "src": "22291:2:5" + "src": "22291:2:18" }, { "name": "p", - "nativeSrc": "22295:1:5", + "nativeSrc": "22295:1:18", "nodeType": "YulIdentifier", - "src": "22295:1:5" + "src": "22295:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "22281:6:5", + "nativeSrc": "22281:6:18", "nodeType": "YulIdentifier", - "src": "22281:6:5" + "src": "22281:6:18" }, - "nativeSrc": "22281:16:5", + "nativeSrc": "22281:16:18", "nodeType": "YulFunctionCall", - "src": "22281:16:5" + "src": "22281:16:18" }, "variables": [ { "name": "T3", - "nativeSrc": "22275:2:5", + "nativeSrc": "22275:2:18", "nodeType": "YulTypedName", - "src": "22275:2:5", + "src": "22275:2:18", "type": "" } ] }, { - "nativeSrc": "22330:23:5", + "nativeSrc": "22330:23:18", "nodeType": "YulAssignment", - "src": "22330:23:5", + "src": "22330:23:18", "value": { "arguments": [ { "name": "T1", - "nativeSrc": "22343:2:5", + "nativeSrc": "22343:2:18", "nodeType": "YulIdentifier", - "src": "22343:2:5" + "src": "22343:2:18" }, { "name": "T2", - "nativeSrc": "22347:2:5", + "nativeSrc": "22347:2:18", "nodeType": "YulIdentifier", - "src": "22347:2:5" + "src": "22347:2:18" }, { "name": "p", - "nativeSrc": "22351:1:5", + "nativeSrc": "22351:1:18", "nodeType": "YulIdentifier", - "src": "22351:1:5" + "src": "22351:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "22336:6:5", + "nativeSrc": "22336:6:18", "nodeType": "YulIdentifier", - "src": "22336:6:5" + "src": "22336:6:18" }, - "nativeSrc": "22336:17:5", + "nativeSrc": "22336:17:18", "nodeType": "YulFunctionCall", - "src": "22336:17:5" + "src": "22336:17:18" }, "variableNames": [ { "name": "T1", - "nativeSrc": "22330:2:5", + "nativeSrc": "22330:2:18", "nodeType": "YulIdentifier", - "src": "22330:2:5" + "src": "22330:2:18" } ] }, { - "nativeSrc": "22382:77:5", + "nativeSrc": "22382:77:18", "nodeType": "YulVariableDeclaration", - "src": "22382:77:5", + "src": "22382:77:18", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "22399:1:5", + "nativeSrc": "22399:1:18", "nodeType": "YulLiteral", - "src": "22399:1:5", + "src": "22399:1:18", "type": "", "value": "3" }, @@ -36122,484 +55097,484 @@ "arguments": [ { "name": "X", - "nativeSrc": "22416:1:5", + "nativeSrc": "22416:1:18", "nodeType": "YulIdentifier", - "src": "22416:1:5" + "src": "22416:1:18" }, { "arguments": [ { "name": "p", - "nativeSrc": "22423:1:5", + "nativeSrc": "22423:1:18", "nodeType": "YulIdentifier", - "src": "22423:1:5" + "src": "22423:1:18" }, { "name": "zz", - "nativeSrc": "22426:2:5", + "nativeSrc": "22426:2:18", "nodeType": "YulIdentifier", - "src": "22426:2:5" + "src": "22426:2:18" } ], "functionName": { "name": "sub", - "nativeSrc": "22419:3:5", + "nativeSrc": "22419:3:18", "nodeType": "YulIdentifier", - "src": "22419:3:5" + "src": "22419:3:18" }, - "nativeSrc": "22419:10:5", + "nativeSrc": "22419:10:18", "nodeType": "YulFunctionCall", - "src": "22419:10:5" + "src": "22419:10:18" }, { "name": "p", - "nativeSrc": "22431:1:5", + "nativeSrc": "22431:1:18", "nodeType": "YulIdentifier", - "src": "22431:1:5" + "src": "22431:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "22409:6:5", + "nativeSrc": "22409:6:18", "nodeType": "YulIdentifier", - "src": "22409:6:5" + "src": "22409:6:18" }, - "nativeSrc": "22409:24:5", + "nativeSrc": "22409:24:18", "nodeType": "YulFunctionCall", - "src": "22409:24:5" + "src": "22409:24:18" }, { "arguments": [ { "name": "X", - "nativeSrc": "22442:1:5", + "nativeSrc": "22442:1:18", "nodeType": "YulIdentifier", - "src": "22442:1:5" + "src": "22442:1:18" }, { "name": "zz", - "nativeSrc": "22445:2:5", + "nativeSrc": "22445:2:18", "nodeType": "YulIdentifier", - "src": "22445:2:5" + "src": "22445:2:18" }, { "name": "p", - "nativeSrc": "22449:1:5", + "nativeSrc": "22449:1:18", "nodeType": "YulIdentifier", - "src": "22449:1:5" + "src": "22449:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "22435:6:5", + "nativeSrc": "22435:6:18", "nodeType": "YulIdentifier", - "src": "22435:6:5" + "src": "22435:6:18" }, - "nativeSrc": "22435:16:5", + "nativeSrc": "22435:16:18", "nodeType": "YulFunctionCall", - "src": "22435:16:5" + "src": "22435:16:18" }, { "name": "p", - "nativeSrc": "22453:1:5", + "nativeSrc": "22453:1:18", "nodeType": "YulIdentifier", - "src": "22453:1:5" + "src": "22453:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "22402:6:5", + "nativeSrc": "22402:6:18", "nodeType": "YulIdentifier", - "src": "22402:6:5" + "src": "22402:6:18" }, - "nativeSrc": "22402:53:5", + "nativeSrc": "22402:53:18", "nodeType": "YulFunctionCall", - "src": "22402:53:5" + "src": "22402:53:18" }, { "name": "p", - "nativeSrc": "22457:1:5", + "nativeSrc": "22457:1:18", "nodeType": "YulIdentifier", - "src": "22457:1:5" + "src": "22457:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "22392:6:5", + "nativeSrc": "22392:6:18", "nodeType": "YulIdentifier", - "src": "22392:6:5" + "src": "22392:6:18" }, - "nativeSrc": "22392:67:5", + "nativeSrc": "22392:67:18", "nodeType": "YulFunctionCall", - "src": "22392:67:5" + "src": "22392:67:18" }, "variables": [ { "name": "T4", - "nativeSrc": "22386:2:5", + "nativeSrc": "22386:2:18", "nodeType": "YulTypedName", - "src": "22386:2:5", + "src": "22386:2:18", "type": "" } ] }, { - "nativeSrc": "22504:25:5", + "nativeSrc": "22504:25:18", "nodeType": "YulAssignment", - "src": "22504:25:5", + "src": "22504:25:18", "value": { "arguments": [ { "name": "T1", - "nativeSrc": "22518:2:5", + "nativeSrc": "22518:2:18", "nodeType": "YulIdentifier", - "src": "22518:2:5" + "src": "22518:2:18" }, { "name": "zzz", - "nativeSrc": "22522:3:5", + "nativeSrc": "22522:3:18", "nodeType": "YulIdentifier", - "src": "22522:3:5" + "src": "22522:3:18" }, { "name": "p", - "nativeSrc": "22527:1:5", + "nativeSrc": "22527:1:18", "nodeType": "YulIdentifier", - "src": "22527:1:5" + "src": "22527:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "22511:6:5", + "nativeSrc": "22511:6:18", "nodeType": "YulIdentifier", - "src": "22511:6:5" + "src": "22511:6:18" }, - "nativeSrc": "22511:18:5", + "nativeSrc": "22511:18:18", "nodeType": "YulFunctionCall", - "src": "22511:18:5" + "src": "22511:18:18" }, "variableNames": [ { "name": "zzz", - "nativeSrc": "22504:3:5", + "nativeSrc": "22504:3:18", "nodeType": "YulIdentifier", - "src": "22504:3:5" + "src": "22504:3:18" } ] }, { - "nativeSrc": "22564:23:5", + "nativeSrc": "22564:23:18", "nodeType": "YulAssignment", - "src": "22564:23:5", + "src": "22564:23:18", "value": { "arguments": [ { "name": "T2", - "nativeSrc": "22577:2:5", + "nativeSrc": "22577:2:18", "nodeType": "YulIdentifier", - "src": "22577:2:5" + "src": "22577:2:18" }, { "name": "zz", - "nativeSrc": "22581:2:5", + "nativeSrc": "22581:2:18", "nodeType": "YulIdentifier", - "src": "22581:2:5" + "src": "22581:2:18" }, { "name": "p", - "nativeSrc": "22585:1:5", + "nativeSrc": "22585:1:18", "nodeType": "YulIdentifier", - "src": "22585:1:5" + "src": "22585:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "22570:6:5", + "nativeSrc": "22570:6:18", "nodeType": "YulIdentifier", - "src": "22570:6:5" + "src": "22570:6:18" }, - "nativeSrc": "22570:17:5", + "nativeSrc": "22570:17:18", "nodeType": "YulFunctionCall", - "src": "22570:17:5" + "src": "22570:17:18" }, "variableNames": [ { "name": "zz", - "nativeSrc": "22564:2:5", + "nativeSrc": "22564:2:18", "nodeType": "YulIdentifier", - "src": "22564:2:5" + "src": "22564:2:18" } ] }, { - "nativeSrc": "22629:57:5", + "nativeSrc": "22629:57:18", "nodeType": "YulAssignment", - "src": "22629:57:5", + "src": "22629:57:18", "value": { "arguments": [ { "arguments": [ { "name": "T4", - "nativeSrc": "22648:2:5", + "nativeSrc": "22648:2:18", "nodeType": "YulIdentifier", - "src": "22648:2:5" + "src": "22648:2:18" }, { "name": "T4", - "nativeSrc": "22652:2:5", + "nativeSrc": "22652:2:18", "nodeType": "YulIdentifier", - "src": "22652:2:5" + "src": "22652:2:18" }, { "name": "p", - "nativeSrc": "22656:1:5", + "nativeSrc": "22656:1:18", "nodeType": "YulIdentifier", - "src": "22656:1:5" + "src": "22656:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "22641:6:5", + "nativeSrc": "22641:6:18", "nodeType": "YulIdentifier", - "src": "22641:6:5" + "src": "22641:6:18" }, - "nativeSrc": "22641:17:5", + "nativeSrc": "22641:17:18", "nodeType": "YulFunctionCall", - "src": "22641:17:5" + "src": "22641:17:18" }, { "arguments": [ { "name": "minus_2", - "nativeSrc": "22667:7:5", + "nativeSrc": "22667:7:18", "nodeType": "YulIdentifier", - "src": "22667:7:5" + "src": "22667:7:18" }, { "name": "T3", - "nativeSrc": "22676:2:5", + "nativeSrc": "22676:2:18", "nodeType": "YulIdentifier", - "src": "22676:2:5" + "src": "22676:2:18" }, { "name": "p", - "nativeSrc": "22680:1:5", + "nativeSrc": "22680:1:18", "nodeType": "YulIdentifier", - "src": "22680:1:5" + "src": "22680:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "22660:6:5", + "nativeSrc": "22660:6:18", "nodeType": "YulIdentifier", - "src": "22660:6:5" + "src": "22660:6:18" }, - "nativeSrc": "22660:22:5", + "nativeSrc": "22660:22:18", "nodeType": "YulFunctionCall", - "src": "22660:22:5" + "src": "22660:22:18" }, { "name": "p", - "nativeSrc": "22684:1:5", + "nativeSrc": "22684:1:18", "nodeType": "YulIdentifier", - "src": "22684:1:5" + "src": "22684:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "22634:6:5", + "nativeSrc": "22634:6:18", "nodeType": "YulIdentifier", - "src": "22634:6:5" + "src": "22634:6:18" }, - "nativeSrc": "22634:52:5", + "nativeSrc": "22634:52:18", "nodeType": "YulFunctionCall", - "src": "22634:52:5" + "src": "22634:52:18" }, "variableNames": [ { "name": "X", - "nativeSrc": "22629:1:5", + "nativeSrc": "22629:1:18", "nodeType": "YulIdentifier", - "src": "22629:1:5" + "src": "22629:1:18" } ] }, { - "nativeSrc": "22719:45:5", + "nativeSrc": "22719:45:18", "nodeType": "YulAssignment", - "src": "22719:45:5", + "src": "22719:45:18", "value": { "arguments": [ { "name": "T4", - "nativeSrc": "22732:2:5", + "nativeSrc": "22732:2:18", "nodeType": "YulIdentifier", - "src": "22732:2:5" + "src": "22732:2:18" }, { "arguments": [ { "name": "X", - "nativeSrc": "22743:1:5", + "nativeSrc": "22743:1:18", "nodeType": "YulIdentifier", - "src": "22743:1:5" + "src": "22743:1:18" }, { "arguments": [ { "name": "p", - "nativeSrc": "22750:1:5", + "nativeSrc": "22750:1:18", "nodeType": "YulIdentifier", - "src": "22750:1:5" + "src": "22750:1:18" }, { "name": "T3", - "nativeSrc": "22753:2:5", + "nativeSrc": "22753:2:18", "nodeType": "YulIdentifier", - "src": "22753:2:5" + "src": "22753:2:18" } ], "functionName": { "name": "sub", - "nativeSrc": "22746:3:5", + "nativeSrc": "22746:3:18", "nodeType": "YulIdentifier", - "src": "22746:3:5" + "src": "22746:3:18" }, - "nativeSrc": "22746:10:5", + "nativeSrc": "22746:10:18", "nodeType": "YulFunctionCall", - "src": "22746:10:5" + "src": "22746:10:18" }, { "name": "p", - "nativeSrc": "22758:1:5", + "nativeSrc": "22758:1:18", "nodeType": "YulIdentifier", - "src": "22758:1:5" + "src": "22758:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "22736:6:5", + "nativeSrc": "22736:6:18", "nodeType": "YulIdentifier", - "src": "22736:6:5" + "src": "22736:6:18" }, - "nativeSrc": "22736:24:5", + "nativeSrc": "22736:24:18", "nodeType": "YulFunctionCall", - "src": "22736:24:5" + "src": "22736:24:18" }, { "name": "p", - "nativeSrc": "22762:1:5", + "nativeSrc": "22762:1:18", "nodeType": "YulIdentifier", - "src": "22762:1:5" + "src": "22762:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "22725:6:5", + "nativeSrc": "22725:6:18", "nodeType": "YulIdentifier", - "src": "22725:6:5" + "src": "22725:6:18" }, - "nativeSrc": "22725:39:5", + "nativeSrc": "22725:39:18", "nodeType": "YulFunctionCall", - "src": "22725:39:5" + "src": "22725:39:18" }, "variableNames": [ { "name": "T2", - "nativeSrc": "22719:2:5", + "nativeSrc": "22719:2:18", "nodeType": "YulIdentifier", - "src": "22719:2:5" + "src": "22719:2:18" } ] }, { - "nativeSrc": "22804:36:5", + "nativeSrc": "22804:36:18", "nodeType": "YulAssignment", - "src": "22804:36:5", + "src": "22804:36:18", "value": { "arguments": [ { "arguments": [ { "name": "T1", - "nativeSrc": "22823:2:5", + "nativeSrc": "22823:2:18", "nodeType": "YulIdentifier", - "src": "22823:2:5" + "src": "22823:2:18" }, { "name": "Y", - "nativeSrc": "22827:1:5", + "nativeSrc": "22827:1:18", "nodeType": "YulIdentifier", - "src": "22827:1:5" + "src": "22827:1:18" }, { "name": "p", - "nativeSrc": "22830:1:5", + "nativeSrc": "22830:1:18", "nodeType": "YulIdentifier", - "src": "22830:1:5" + "src": "22830:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "22816:6:5", + "nativeSrc": "22816:6:18", "nodeType": "YulIdentifier", - "src": "22816:6:5" + "src": "22816:6:18" }, - "nativeSrc": "22816:16:5", + "nativeSrc": "22816:16:18", "nodeType": "YulFunctionCall", - "src": "22816:16:5" + "src": "22816:16:18" }, { "name": "T2", - "nativeSrc": "22834:2:5", + "nativeSrc": "22834:2:18", "nodeType": "YulIdentifier", - "src": "22834:2:5" + "src": "22834:2:18" }, { "name": "p", - "nativeSrc": "22838:1:5", + "nativeSrc": "22838:1:18", "nodeType": "YulIdentifier", - "src": "22838:1:5" + "src": "22838:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "22809:6:5", + "nativeSrc": "22809:6:18", "nodeType": "YulIdentifier", - "src": "22809:6:5" + "src": "22809:6:18" }, - "nativeSrc": "22809:31:5", + "nativeSrc": "22809:31:18", "nodeType": "YulFunctionCall", - "src": "22809:31:5" + "src": "22809:31:18" }, "variableNames": [ { "name": "Y", - "nativeSrc": "22804:1:5", + "nativeSrc": "22804:1:18", "nodeType": "YulIdentifier", - "src": "22804:1:5" + "src": "22804:1:18" } ] }, { - "nativeSrc": "22926:3135:5", + "nativeSrc": "22926:3135:18", "nodeType": "YulBlock", - "src": "22926:3135:5", + "src": "22926:3135:18", "statements": [ { - "nativeSrc": "22993:77:5", + "nativeSrc": "22993:77:18", "nodeType": "YulAssignment", - "src": "22993:77:5", + "src": "22993:77:18", "value": { "arguments": [ { "arguments": [ { "kind": "number", - "nativeSrc": "23007:1:5", + "nativeSrc": "23007:1:18", "nodeType": "YulLiteral", - "src": "23007:1:5", + "src": "23007:1:18", "type": "", "value": "1" }, @@ -36609,56 +55584,56 @@ "arguments": [ { "name": "index", - "nativeSrc": "23018:5:5", + "nativeSrc": "23018:5:18", "nodeType": "YulIdentifier", - "src": "23018:5:5" + "src": "23018:5:18" }, { "name": "scalar_v", - "nativeSrc": "23025:8:5", + "nativeSrc": "23025:8:18", "nodeType": "YulIdentifier", - "src": "23025:8:5" + "src": "23025:8:18" } ], "functionName": { "name": "shr", - "nativeSrc": "23014:3:5", + "nativeSrc": "23014:3:18", "nodeType": "YulIdentifier", - "src": "23014:3:5" + "src": "23014:3:18" }, - "nativeSrc": "23014:20:5", + "nativeSrc": "23014:20:18", "nodeType": "YulFunctionCall", - "src": "23014:20:5" + "src": "23014:20:18" }, { "kind": "number", - "nativeSrc": "23036:1:5", + "nativeSrc": "23036:1:18", "nodeType": "YulLiteral", - "src": "23036:1:5", + "src": "23036:1:18", "type": "", "value": "1" } ], "functionName": { "name": "and", - "nativeSrc": "23010:3:5", + "nativeSrc": "23010:3:18", "nodeType": "YulIdentifier", - "src": "23010:3:5" + "src": "23010:3:18" }, - "nativeSrc": "23010:28:5", + "nativeSrc": "23010:28:18", "nodeType": "YulFunctionCall", - "src": "23010:28:5" + "src": "23010:28:18" } ], "functionName": { "name": "shl", - "nativeSrc": "23003:3:5", + "nativeSrc": "23003:3:18", "nodeType": "YulIdentifier", - "src": "23003:3:5" + "src": "23003:3:18" }, - "nativeSrc": "23003:36:5", + "nativeSrc": "23003:36:18", "nodeType": "YulFunctionCall", - "src": "23003:36:5" + "src": "23003:36:18" }, { "arguments": [ @@ -36666,114 +55641,114 @@ "arguments": [ { "name": "index", - "nativeSrc": "23049:5:5", + "nativeSrc": "23049:5:18", "nodeType": "YulIdentifier", - "src": "23049:5:5" + "src": "23049:5:18" }, { "name": "scalar_u", - "nativeSrc": "23056:8:5", + "nativeSrc": "23056:8:18", "nodeType": "YulIdentifier", - "src": "23056:8:5" + "src": "23056:8:18" } ], "functionName": { "name": "shr", - "nativeSrc": "23045:3:5", + "nativeSrc": "23045:3:18", "nodeType": "YulIdentifier", - "src": "23045:3:5" + "src": "23045:3:18" }, - "nativeSrc": "23045:20:5", + "nativeSrc": "23045:20:18", "nodeType": "YulFunctionCall", - "src": "23045:20:5" + "src": "23045:20:18" }, { "kind": "number", - "nativeSrc": "23067:1:5", + "nativeSrc": "23067:1:18", "nodeType": "YulLiteral", - "src": "23067:1:5", + "src": "23067:1:18", "type": "", "value": "1" } ], "functionName": { "name": "and", - "nativeSrc": "23041:3:5", + "nativeSrc": "23041:3:18", "nodeType": "YulIdentifier", - "src": "23041:3:5" + "src": "23041:3:18" }, - "nativeSrc": "23041:28:5", + "nativeSrc": "23041:28:18", "nodeType": "YulFunctionCall", - "src": "23041:28:5" + "src": "23041:28:18" } ], "functionName": { "name": "add", - "nativeSrc": "22999:3:5", + "nativeSrc": "22999:3:18", "nodeType": "YulIdentifier", - "src": "22999:3:5" + "src": "22999:3:18" }, - "nativeSrc": "22999:71:5", + "nativeSrc": "22999:71:18", "nodeType": "YulFunctionCall", - "src": "22999:71:5" + "src": "22999:71:18" }, "variableNames": [ { "name": "T4", - "nativeSrc": "22993:2:5", + "nativeSrc": "22993:2:18", "nodeType": "YulIdentifier", - "src": "22993:2:5" + "src": "22993:2:18" } ] }, { "body": { - "nativeSrc": "23110:134:5", + "nativeSrc": "23110:134:18", "nodeType": "YulBlock", - "src": "23110:134:5", + "src": "23110:134:18", "statements": [ { - "nativeSrc": "23140:14:5", + "nativeSrc": "23140:14:18", "nodeType": "YulAssignment", - "src": "23140:14:5", + "src": "23140:14:18", "value": { "arguments": [ { "name": "p", - "nativeSrc": "23149:1:5", + "nativeSrc": "23149:1:18", "nodeType": "YulIdentifier", - "src": "23149:1:5" + "src": "23149:1:18" }, { "name": "Y", - "nativeSrc": "23152:1:5", + "nativeSrc": "23152:1:18", "nodeType": "YulIdentifier", - "src": "23152:1:5" + "src": "23152:1:18" } ], "functionName": { "name": "sub", - "nativeSrc": "23145:3:5", + "nativeSrc": "23145:3:18", "nodeType": "YulIdentifier", - "src": "23145:3:5" + "src": "23145:3:18" }, - "nativeSrc": "23145:9:5", + "nativeSrc": "23145:9:18", "nodeType": "YulFunctionCall", - "src": "23145:9:5" + "src": "23145:9:18" }, "variableNames": [ { "name": "Y", - "nativeSrc": "23140:1:5", + "nativeSrc": "23140:1:18", "nodeType": "YulIdentifier", - "src": "23140:1:5" + "src": "23140:1:18" } ] }, { - "nativeSrc": "23210:8:5", + "nativeSrc": "23210:8:18", "nodeType": "YulContinue", - "src": "23210:8:5" + "src": "23210:8:18" } ] }, @@ -36781,66 +55756,66 @@ "arguments": [ { "name": "T4", - "nativeSrc": "23106:2:5", + "nativeSrc": "23106:2:18", "nodeType": "YulIdentifier", - "src": "23106:2:5" + "src": "23106:2:18" } ], "functionName": { "name": "iszero", - "nativeSrc": "23099:6:5", + "nativeSrc": "23099:6:18", "nodeType": "YulIdentifier", - "src": "23099:6:5" + "src": "23099:6:18" }, - "nativeSrc": "23099:10:5", + "nativeSrc": "23099:10:18", "nodeType": "YulFunctionCall", - "src": "23099:10:5" + "src": "23099:10:18" }, - "nativeSrc": "23096:148:5", + "nativeSrc": "23096:148:18", "nodeType": "YulIf", - "src": "23096:148:5" + "src": "23096:148:18" }, { "body": { - "nativeSrc": "23295:101:5", + "nativeSrc": "23295:101:18", "nodeType": "YulBlock", - "src": "23295:101:5", + "src": "23295:101:18", "statements": [ { - "nativeSrc": "23325:8:5", + "nativeSrc": "23325:8:18", "nodeType": "YulAssignment", - "src": "23325:8:5", + "src": "23325:8:18", "value": { "name": "gx", - "nativeSrc": "23331:2:5", + "nativeSrc": "23331:2:18", "nodeType": "YulIdentifier", - "src": "23331:2:5" + "src": "23331:2:18" }, "variableNames": [ { "name": "T1", - "nativeSrc": "23325:2:5", + "nativeSrc": "23325:2:18", "nodeType": "YulIdentifier", - "src": "23325:2:5" + "src": "23325:2:18" } ] }, { - "nativeSrc": "23362:8:5", + "nativeSrc": "23362:8:18", "nodeType": "YulAssignment", - "src": "23362:8:5", + "src": "23362:8:18", "value": { "name": "gy", - "nativeSrc": "23368:2:5", + "nativeSrc": "23368:2:18", "nodeType": "YulIdentifier", - "src": "23368:2:5" + "src": "23368:2:18" }, "variableNames": [ { "name": "T2", - "nativeSrc": "23362:2:5", + "nativeSrc": "23362:2:18", "nodeType": "YulIdentifier", - "src": "23362:2:5" + "src": "23362:2:18" } ] } @@ -36850,74 +55825,74 @@ "arguments": [ { "name": "T4", - "nativeSrc": "23288:2:5", + "nativeSrc": "23288:2:18", "nodeType": "YulIdentifier", - "src": "23288:2:5" + "src": "23288:2:18" }, { "kind": "number", - "nativeSrc": "23292:1:5", + "nativeSrc": "23292:1:18", "nodeType": "YulLiteral", - "src": "23292:1:5", + "src": "23292:1:18", "type": "", "value": "1" } ], "functionName": { "name": "eq", - "nativeSrc": "23285:2:5", + "nativeSrc": "23285:2:18", "nodeType": "YulIdentifier", - "src": "23285:2:5" + "src": "23285:2:18" }, - "nativeSrc": "23285:9:5", + "nativeSrc": "23285:9:18", "nodeType": "YulFunctionCall", - "src": "23285:9:5" + "src": "23285:9:18" }, - "nativeSrc": "23282:114:5", + "nativeSrc": "23282:114:18", "nodeType": "YulIf", - "src": "23282:114:5" + "src": "23282:114:18" }, { "body": { - "nativeSrc": "23434:101:5", + "nativeSrc": "23434:101:18", "nodeType": "YulBlock", - "src": "23434:101:5", + "src": "23434:101:18", "statements": [ { - "nativeSrc": "23464:8:5", + "nativeSrc": "23464:8:18", "nodeType": "YulAssignment", - "src": "23464:8:5", + "src": "23464:8:18", "value": { "name": "Q0", - "nativeSrc": "23470:2:5", + "nativeSrc": "23470:2:18", "nodeType": "YulIdentifier", - "src": "23470:2:5" + "src": "23470:2:18" }, "variableNames": [ { "name": "T1", - "nativeSrc": "23464:2:5", + "nativeSrc": "23464:2:18", "nodeType": "YulIdentifier", - "src": "23464:2:5" + "src": "23464:2:18" } ] }, { - "nativeSrc": "23501:8:5", + "nativeSrc": "23501:8:18", "nodeType": "YulAssignment", - "src": "23501:8:5", + "src": "23501:8:18", "value": { "name": "Q1", - "nativeSrc": "23507:2:5", + "nativeSrc": "23507:2:18", "nodeType": "YulIdentifier", - "src": "23507:2:5" + "src": "23507:2:18" }, "variableNames": [ { "name": "T2", - "nativeSrc": "23501:2:5", + "nativeSrc": "23501:2:18", "nodeType": "YulIdentifier", - "src": "23501:2:5" + "src": "23501:2:18" } ] } @@ -36927,121 +55902,121 @@ "arguments": [ { "name": "T4", - "nativeSrc": "23427:2:5", + "nativeSrc": "23427:2:18", "nodeType": "YulIdentifier", - "src": "23427:2:5" + "src": "23427:2:18" }, { "kind": "number", - "nativeSrc": "23431:1:5", + "nativeSrc": "23431:1:18", "nodeType": "YulLiteral", - "src": "23431:1:5", + "src": "23431:1:18", "type": "", "value": "2" } ], "functionName": { "name": "eq", - "nativeSrc": "23424:2:5", + "nativeSrc": "23424:2:18", "nodeType": "YulIdentifier", - "src": "23424:2:5" + "src": "23424:2:18" }, - "nativeSrc": "23424:9:5", + "nativeSrc": "23424:9:18", "nodeType": "YulFunctionCall", - "src": "23424:9:5" + "src": "23424:9:18" }, - "nativeSrc": "23421:114:5", + "nativeSrc": "23421:114:18", "nodeType": "YulIf", - "src": "23421:114:5" + "src": "23421:114:18" }, { "body": { - "nativeSrc": "23573:121:5", + "nativeSrc": "23573:121:18", "nodeType": "YulBlock", - "src": "23573:121:5", + "src": "23573:121:18", "statements": [ { - "nativeSrc": "23603:14:5", + "nativeSrc": "23603:14:18", "nodeType": "YulAssignment", - "src": "23603:14:5", + "src": "23603:14:18", "value": { "arguments": [ { "name": "H", - "nativeSrc": "23615:1:5", + "nativeSrc": "23615:1:18", "nodeType": "YulIdentifier", - "src": "23615:1:5" + "src": "23615:1:18" } ], "functionName": { "name": "mload", - "nativeSrc": "23609:5:5", + "nativeSrc": "23609:5:18", "nodeType": "YulIdentifier", - "src": "23609:5:5" + "src": "23609:5:18" }, - "nativeSrc": "23609:8:5", + "nativeSrc": "23609:8:18", "nodeType": "YulFunctionCall", - "src": "23609:8:5" + "src": "23609:8:18" }, "variableNames": [ { "name": "T1", - "nativeSrc": "23603:2:5", + "nativeSrc": "23603:2:18", "nodeType": "YulIdentifier", - "src": "23603:2:5" + "src": "23603:2:18" } ] }, { - "nativeSrc": "23646:22:5", + "nativeSrc": "23646:22:18", "nodeType": "YulAssignment", - "src": "23646:22:5", + "src": "23646:22:18", "value": { "arguments": [ { "arguments": [ { "name": "H", - "nativeSrc": "23662:1:5", + "nativeSrc": "23662:1:18", "nodeType": "YulIdentifier", - "src": "23662:1:5" + "src": "23662:1:18" }, { "kind": "number", - "nativeSrc": "23664:2:5", + "nativeSrc": "23664:2:18", "nodeType": "YulLiteral", - "src": "23664:2:5", + "src": "23664:2:18", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "23658:3:5", + "nativeSrc": "23658:3:18", "nodeType": "YulIdentifier", - "src": "23658:3:5" + "src": "23658:3:18" }, - "nativeSrc": "23658:9:5", + "nativeSrc": "23658:9:18", "nodeType": "YulFunctionCall", - "src": "23658:9:5" + "src": "23658:9:18" } ], "functionName": { "name": "mload", - "nativeSrc": "23652:5:5", + "nativeSrc": "23652:5:18", "nodeType": "YulIdentifier", - "src": "23652:5:5" + "src": "23652:5:18" }, - "nativeSrc": "23652:16:5", + "nativeSrc": "23652:16:18", "nodeType": "YulFunctionCall", - "src": "23652:16:5" + "src": "23652:16:18" }, "variableNames": [ { "name": "T2", - "nativeSrc": "23646:2:5", + "nativeSrc": "23646:2:18", "nodeType": "YulIdentifier", - "src": "23646:2:5" + "src": "23646:2:18" } ] } @@ -37051,123 +56026,123 @@ "arguments": [ { "name": "T4", - "nativeSrc": "23566:2:5", + "nativeSrc": "23566:2:18", "nodeType": "YulIdentifier", - "src": "23566:2:5" + "src": "23566:2:18" }, { "kind": "number", - "nativeSrc": "23570:1:5", + "nativeSrc": "23570:1:18", "nodeType": "YulLiteral", - "src": "23570:1:5", + "src": "23570:1:18", "type": "", "value": "3" } ], "functionName": { "name": "eq", - "nativeSrc": "23563:2:5", + "nativeSrc": "23563:2:18", "nodeType": "YulIdentifier", - "src": "23563:2:5" + "src": "23563:2:18" }, - "nativeSrc": "23563:9:5", + "nativeSrc": "23563:9:18", "nodeType": "YulFunctionCall", - "src": "23563:9:5" + "src": "23563:9:18" }, - "nativeSrc": "23560:134:5", + "nativeSrc": "23560:134:18", "nodeType": "YulIf", - "src": "23560:134:5" + "src": "23560:134:18" }, { "body": { - "nativeSrc": "23733:209:5", + "nativeSrc": "23733:209:18", "nodeType": "YulBlock", - "src": "23733:209:5", + "src": "23733:209:18", "statements": [ { - "nativeSrc": "23763:7:5", + "nativeSrc": "23763:7:18", "nodeType": "YulAssignment", - "src": "23763:7:5", + "src": "23763:7:18", "value": { "name": "T1", - "nativeSrc": "23768:2:5", + "nativeSrc": "23768:2:18", "nodeType": "YulIdentifier", - "src": "23768:2:5" + "src": "23768:2:18" }, "variableNames": [ { "name": "X", - "nativeSrc": "23763:1:5", + "nativeSrc": "23763:1:18", "nodeType": "YulIdentifier", - "src": "23763:1:5" + "src": "23763:1:18" } ] }, { - "nativeSrc": "23799:7:5", + "nativeSrc": "23799:7:18", "nodeType": "YulAssignment", - "src": "23799:7:5", + "src": "23799:7:18", "value": { "name": "T2", - "nativeSrc": "23804:2:5", + "nativeSrc": "23804:2:18", "nodeType": "YulIdentifier", - "src": "23804:2:5" + "src": "23804:2:18" }, "variableNames": [ { "name": "Y", - "nativeSrc": "23799:1:5", + "nativeSrc": "23799:1:18", "nodeType": "YulIdentifier", - "src": "23799:1:5" + "src": "23799:1:18" } ] }, { - "nativeSrc": "23835:7:5", + "nativeSrc": "23835:7:18", "nodeType": "YulAssignment", - "src": "23835:7:5", + "src": "23835:7:18", "value": { "kind": "number", - "nativeSrc": "23841:1:5", + "nativeSrc": "23841:1:18", "nodeType": "YulLiteral", - "src": "23841:1:5", + "src": "23841:1:18", "type": "", "value": "1" }, "variableNames": [ { "name": "zz", - "nativeSrc": "23835:2:5", + "nativeSrc": "23835:2:18", "nodeType": "YulIdentifier", - "src": "23835:2:5" + "src": "23835:2:18" } ] }, { - "nativeSrc": "23871:8:5", + "nativeSrc": "23871:8:18", "nodeType": "YulAssignment", - "src": "23871:8:5", + "src": "23871:8:18", "value": { "kind": "number", - "nativeSrc": "23878:1:5", + "nativeSrc": "23878:1:18", "nodeType": "YulLiteral", - "src": "23878:1:5", + "src": "23878:1:18", "type": "", "value": "1" }, "variableNames": [ { "name": "zzz", - "nativeSrc": "23871:3:5", + "nativeSrc": "23871:3:18", "nodeType": "YulIdentifier", - "src": "23871:3:5" + "src": "23871:3:18" } ] }, { - "nativeSrc": "23908:8:5", + "nativeSrc": "23908:8:18", "nodeType": "YulContinue", - "src": "23908:8:5" + "src": "23908:8:18" } ] }, @@ -37175,873 +56150,873 @@ "arguments": [ { "name": "zz", - "nativeSrc": "23729:2:5", + "nativeSrc": "23729:2:18", "nodeType": "YulIdentifier", - "src": "23729:2:5" + "src": "23729:2:18" } ], "functionName": { "name": "iszero", - "nativeSrc": "23722:6:5", + "nativeSrc": "23722:6:18", "nodeType": "YulIdentifier", - "src": "23722:6:5" + "src": "23722:6:18" }, - "nativeSrc": "23722:10:5", + "nativeSrc": "23722:10:18", "nodeType": "YulFunctionCall", - "src": "23722:10:5" + "src": "23722:10:18" }, - "nativeSrc": "23719:223:5", + "nativeSrc": "23719:223:18", "nodeType": "YulIf", - "src": "23719:223:5" + "src": "23719:223:18" }, { - "nativeSrc": "24085:42:5", + "nativeSrc": "24085:42:18", "nodeType": "YulVariableDeclaration", - "src": "24085:42:5", + "src": "24085:42:18", "value": { "arguments": [ { "arguments": [ { "name": "T2", - "nativeSrc": "24109:2:5", + "nativeSrc": "24109:2:18", "nodeType": "YulIdentifier", - "src": "24109:2:5" + "src": "24109:2:18" }, { "name": "zzz", - "nativeSrc": "24113:3:5", + "nativeSrc": "24113:3:18", "nodeType": "YulIdentifier", - "src": "24113:3:5" + "src": "24113:3:18" }, { "name": "p", - "nativeSrc": "24118:1:5", + "nativeSrc": "24118:1:18", "nodeType": "YulIdentifier", - "src": "24118:1:5" + "src": "24118:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "24102:6:5", + "nativeSrc": "24102:6:18", "nodeType": "YulIdentifier", - "src": "24102:6:5" + "src": "24102:6:18" }, - "nativeSrc": "24102:18:5", + "nativeSrc": "24102:18:18", "nodeType": "YulFunctionCall", - "src": "24102:18:5" + "src": "24102:18:18" }, { "name": "Y", - "nativeSrc": "24122:1:5", + "nativeSrc": "24122:1:18", "nodeType": "YulIdentifier", - "src": "24122:1:5" + "src": "24122:1:18" }, { "name": "p", - "nativeSrc": "24125:1:5", + "nativeSrc": "24125:1:18", "nodeType": "YulIdentifier", - "src": "24125:1:5" + "src": "24125:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "24095:6:5", + "nativeSrc": "24095:6:18", "nodeType": "YulIdentifier", - "src": "24095:6:5" + "src": "24095:6:18" }, - "nativeSrc": "24095:32:5", + "nativeSrc": "24095:32:18", "nodeType": "YulFunctionCall", - "src": "24095:32:5" + "src": "24095:32:18" }, "variables": [ { "name": "y2", - "nativeSrc": "24089:2:5", + "nativeSrc": "24089:2:18", "nodeType": "YulTypedName", - "src": "24089:2:5", + "src": "24089:2:18", "type": "" } ] }, { - "nativeSrc": "24156:45:5", + "nativeSrc": "24156:45:18", "nodeType": "YulAssignment", - "src": "24156:45:5", + "src": "24156:45:18", "value": { "arguments": [ { "arguments": [ { "name": "T1", - "nativeSrc": "24176:2:5", + "nativeSrc": "24176:2:18", "nodeType": "YulIdentifier", - "src": "24176:2:5" + "src": "24176:2:18" }, { "name": "zz", - "nativeSrc": "24180:2:5", + "nativeSrc": "24180:2:18", "nodeType": "YulIdentifier", - "src": "24180:2:5" + "src": "24180:2:18" }, { "name": "p", - "nativeSrc": "24184:1:5", + "nativeSrc": "24184:1:18", "nodeType": "YulIdentifier", - "src": "24184:1:5" + "src": "24184:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "24169:6:5", + "nativeSrc": "24169:6:18", "nodeType": "YulIdentifier", - "src": "24169:6:5" + "src": "24169:6:18" }, - "nativeSrc": "24169:17:5", + "nativeSrc": "24169:17:18", "nodeType": "YulFunctionCall", - "src": "24169:17:5" + "src": "24169:17:18" }, { "arguments": [ { "name": "p", - "nativeSrc": "24192:1:5", + "nativeSrc": "24192:1:18", "nodeType": "YulIdentifier", - "src": "24192:1:5" + "src": "24192:1:18" }, { "name": "X", - "nativeSrc": "24195:1:5", + "nativeSrc": "24195:1:18", "nodeType": "YulIdentifier", - "src": "24195:1:5" + "src": "24195:1:18" } ], "functionName": { "name": "sub", - "nativeSrc": "24188:3:5", + "nativeSrc": "24188:3:18", "nodeType": "YulIdentifier", - "src": "24188:3:5" + "src": "24188:3:18" }, - "nativeSrc": "24188:9:5", + "nativeSrc": "24188:9:18", "nodeType": "YulFunctionCall", - "src": "24188:9:5" + "src": "24188:9:18" }, { "name": "p", - "nativeSrc": "24199:1:5", + "nativeSrc": "24199:1:18", "nodeType": "YulIdentifier", - "src": "24199:1:5" + "src": "24199:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "24162:6:5", + "nativeSrc": "24162:6:18", "nodeType": "YulIdentifier", - "src": "24162:6:5" + "src": "24162:6:18" }, - "nativeSrc": "24162:39:5", + "nativeSrc": "24162:39:18", "nodeType": "YulFunctionCall", - "src": "24162:39:5" + "src": "24162:39:18" }, "variableNames": [ { "name": "T2", - "nativeSrc": "24156:2:5", + "nativeSrc": "24156:2:18", "nodeType": "YulIdentifier", - "src": "24156:2:5" + "src": "24156:2:18" } ] }, { "body": { - "nativeSrc": "24430:1029:5", + "nativeSrc": "24430:1029:18", "nodeType": "YulBlock", - "src": "24430:1029:5", + "src": "24430:1029:18", "statements": [ { "body": { - "nativeSrc": "24474:959:5", + "nativeSrc": "24474:959:18", "nodeType": "YulBlock", - "src": "24474:959:5", + "src": "24474:959:18", "statements": [ { - "nativeSrc": "24508:27:5", + "nativeSrc": "24508:27:18", "nodeType": "YulAssignment", - "src": "24508:27:5", + "src": "24508:27:18", "value": { "arguments": [ { "name": "minus_2", - "nativeSrc": "24521:7:5", + "nativeSrc": "24521:7:18", "nodeType": "YulIdentifier", - "src": "24521:7:5" + "src": "24521:7:18" }, { "name": "Y", - "nativeSrc": "24530:1:5", + "nativeSrc": "24530:1:18", "nodeType": "YulIdentifier", - "src": "24530:1:5" + "src": "24530:1:18" }, { "name": "p", - "nativeSrc": "24533:1:5", + "nativeSrc": "24533:1:18", "nodeType": "YulIdentifier", - "src": "24533:1:5" + "src": "24533:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "24514:6:5", + "nativeSrc": "24514:6:18", "nodeType": "YulIdentifier", - "src": "24514:6:5" + "src": "24514:6:18" }, - "nativeSrc": "24514:21:5", + "nativeSrc": "24514:21:18", "nodeType": "YulFunctionCall", - "src": "24514:21:5" + "src": "24514:21:18" }, "variableNames": [ { "name": "T1", - "nativeSrc": "24508:2:5", + "nativeSrc": "24508:2:18", "nodeType": "YulIdentifier", - "src": "24508:2:5" + "src": "24508:2:18" } ] }, { - "nativeSrc": "24587:23:5", + "nativeSrc": "24587:23:18", "nodeType": "YulAssignment", - "src": "24587:23:5", + "src": "24587:23:18", "value": { "arguments": [ { "name": "T1", - "nativeSrc": "24600:2:5", + "nativeSrc": "24600:2:18", "nodeType": "YulIdentifier", - "src": "24600:2:5" + "src": "24600:2:18" }, { "name": "T1", - "nativeSrc": "24604:2:5", + "nativeSrc": "24604:2:18", "nodeType": "YulIdentifier", - "src": "24604:2:5" + "src": "24604:2:18" }, { "name": "p", - "nativeSrc": "24608:1:5", + "nativeSrc": "24608:1:18", "nodeType": "YulIdentifier", - "src": "24608:1:5" + "src": "24608:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "24593:6:5", + "nativeSrc": "24593:6:18", "nodeType": "YulIdentifier", - "src": "24593:6:5" + "src": "24593:6:18" }, - "nativeSrc": "24593:17:5", + "nativeSrc": "24593:17:18", "nodeType": "YulFunctionCall", - "src": "24593:17:5" + "src": "24593:17:18" }, "variableNames": [ { "name": "T2", - "nativeSrc": "24587:2:5", + "nativeSrc": "24587:2:18", "nodeType": "YulIdentifier", - "src": "24587:2:5" + "src": "24587:2:18" } ] }, { - "nativeSrc": "24652:22:5", + "nativeSrc": "24652:22:18", "nodeType": "YulAssignment", - "src": "24652:22:5", + "src": "24652:22:18", "value": { "arguments": [ { "name": "X", - "nativeSrc": "24665:1:5", + "nativeSrc": "24665:1:18", "nodeType": "YulIdentifier", - "src": "24665:1:5" + "src": "24665:1:18" }, { "name": "T2", - "nativeSrc": "24668:2:5", + "nativeSrc": "24668:2:18", "nodeType": "YulIdentifier", - "src": "24668:2:5" + "src": "24668:2:18" }, { "name": "p", - "nativeSrc": "24672:1:5", + "nativeSrc": "24672:1:18", "nodeType": "YulIdentifier", - "src": "24672:1:5" + "src": "24672:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "24658:6:5", + "nativeSrc": "24658:6:18", "nodeType": "YulIdentifier", - "src": "24658:6:5" + "src": "24658:6:18" }, - "nativeSrc": "24658:16:5", + "nativeSrc": "24658:16:18", "nodeType": "YulFunctionCall", - "src": "24658:16:5" + "src": "24658:16:18" }, "variableNames": [ { "name": "T3", - "nativeSrc": "24652:2:5", + "nativeSrc": "24652:2:18", "nodeType": "YulIdentifier", - "src": "24652:2:5" + "src": "24652:2:18" } ] }, { - "nativeSrc": "24720:23:5", + "nativeSrc": "24720:23:18", "nodeType": "YulAssignment", - "src": "24720:23:5", + "src": "24720:23:18", "value": { "arguments": [ { "name": "T1", - "nativeSrc": "24733:2:5", + "nativeSrc": "24733:2:18", "nodeType": "YulIdentifier", - "src": "24733:2:5" + "src": "24733:2:18" }, { "name": "T2", - "nativeSrc": "24737:2:5", + "nativeSrc": "24737:2:18", "nodeType": "YulIdentifier", - "src": "24737:2:5" + "src": "24737:2:18" }, { "name": "p", - "nativeSrc": "24741:1:5", + "nativeSrc": "24741:1:18", "nodeType": "YulIdentifier", - "src": "24741:1:5" + "src": "24741:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "24726:6:5", + "nativeSrc": "24726:6:18", "nodeType": "YulIdentifier", - "src": "24726:6:5" + "src": "24726:6:18" }, - "nativeSrc": "24726:17:5", + "nativeSrc": "24726:17:18", "nodeType": "YulFunctionCall", - "src": "24726:17:5" + "src": "24726:17:18" }, "variableNames": [ { "name": "T1", - "nativeSrc": "24720:2:5", + "nativeSrc": "24720:2:18", "nodeType": "YulIdentifier", - "src": "24720:2:5" + "src": "24720:2:18" } ] }, { - "nativeSrc": "24784:59:5", + "nativeSrc": "24784:59:18", "nodeType": "YulAssignment", - "src": "24784:59:5", + "src": "24784:59:18", "value": { "arguments": [ { "arguments": [ { "name": "X", - "nativeSrc": "24804:1:5", + "nativeSrc": "24804:1:18", "nodeType": "YulIdentifier", - "src": "24804:1:5" + "src": "24804:1:18" }, { "name": "zz", - "nativeSrc": "24807:2:5", + "nativeSrc": "24807:2:18", "nodeType": "YulIdentifier", - "src": "24807:2:5" + "src": "24807:2:18" }, { "name": "p", - "nativeSrc": "24811:1:5", + "nativeSrc": "24811:1:18", "nodeType": "YulIdentifier", - "src": "24811:1:5" + "src": "24811:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "24797:6:5", + "nativeSrc": "24797:6:18", "nodeType": "YulIdentifier", - "src": "24797:6:5" + "src": "24797:6:18" }, - "nativeSrc": "24797:16:5", + "nativeSrc": "24797:16:18", "nodeType": "YulFunctionCall", - "src": "24797:16:5" + "src": "24797:16:18" }, { "arguments": [ { "name": "X", - "nativeSrc": "24822:1:5", + "nativeSrc": "24822:1:18", "nodeType": "YulIdentifier", - "src": "24822:1:5" + "src": "24822:1:18" }, { "arguments": [ { "name": "p", - "nativeSrc": "24829:1:5", + "nativeSrc": "24829:1:18", "nodeType": "YulIdentifier", - "src": "24829:1:5" + "src": "24829:1:18" }, { "name": "zz", - "nativeSrc": "24832:2:5", + "nativeSrc": "24832:2:18", "nodeType": "YulIdentifier", - "src": "24832:2:5" + "src": "24832:2:18" } ], "functionName": { "name": "sub", - "nativeSrc": "24825:3:5", + "nativeSrc": "24825:3:18", "nodeType": "YulIdentifier", - "src": "24825:3:5" + "src": "24825:3:18" }, - "nativeSrc": "24825:10:5", + "nativeSrc": "24825:10:18", "nodeType": "YulFunctionCall", - "src": "24825:10:5" + "src": "24825:10:18" }, { "name": "p", - "nativeSrc": "24837:1:5", + "nativeSrc": "24837:1:18", "nodeType": "YulIdentifier", - "src": "24837:1:5" + "src": "24837:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "24815:6:5", + "nativeSrc": "24815:6:18", "nodeType": "YulIdentifier", - "src": "24815:6:5" + "src": "24815:6:18" }, - "nativeSrc": "24815:24:5", + "nativeSrc": "24815:24:18", "nodeType": "YulFunctionCall", - "src": "24815:24:5" + "src": "24815:24:18" }, { "name": "p", - "nativeSrc": "24841:1:5", + "nativeSrc": "24841:1:18", "nodeType": "YulIdentifier", - "src": "24841:1:5" + "src": "24841:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "24790:6:5", + "nativeSrc": "24790:6:18", "nodeType": "YulIdentifier", - "src": "24790:6:5" + "src": "24790:6:18" }, - "nativeSrc": "24790:53:5", + "nativeSrc": "24790:53:18", "nodeType": "YulFunctionCall", - "src": "24790:53:5" + "src": "24790:53:18" }, "variableNames": [ { "name": "y2", - "nativeSrc": "24784:2:5", + "nativeSrc": "24784:2:18", "nodeType": "YulIdentifier", - "src": "24784:2:5" + "src": "24784:2:18" } ] }, { - "nativeSrc": "24891:22:5", + "nativeSrc": "24891:22:18", "nodeType": "YulAssignment", - "src": "24891:22:5", + "src": "24891:22:18", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "24904:1:5", + "nativeSrc": "24904:1:18", "nodeType": "YulLiteral", - "src": "24904:1:5", + "src": "24904:1:18", "type": "", "value": "3" }, { "name": "y2", - "nativeSrc": "24907:2:5", + "nativeSrc": "24907:2:18", "nodeType": "YulIdentifier", - "src": "24907:2:5" + "src": "24907:2:18" }, { "name": "p", - "nativeSrc": "24911:1:5", + "nativeSrc": "24911:1:18", "nodeType": "YulIdentifier", - "src": "24911:1:5" + "src": "24911:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "24897:6:5", + "nativeSrc": "24897:6:18", "nodeType": "YulIdentifier", - "src": "24897:6:5" + "src": "24897:6:18" }, - "nativeSrc": "24897:16:5", + "nativeSrc": "24897:16:18", "nodeType": "YulFunctionCall", - "src": "24897:16:5" + "src": "24897:16:18" }, "variableNames": [ { "name": "T4", - "nativeSrc": "24891:2:5", + "nativeSrc": "24891:2:18", "nodeType": "YulIdentifier", - "src": "24891:2:5" + "src": "24891:2:18" } ] }, { - "nativeSrc": "24966:25:5", + "nativeSrc": "24966:25:18", "nodeType": "YulAssignment", - "src": "24966:25:5", + "src": "24966:25:18", "value": { "arguments": [ { "name": "T1", - "nativeSrc": "24980:2:5", + "nativeSrc": "24980:2:18", "nodeType": "YulIdentifier", - "src": "24980:2:5" + "src": "24980:2:18" }, { "name": "zzz", - "nativeSrc": "24984:3:5", + "nativeSrc": "24984:3:18", "nodeType": "YulIdentifier", - "src": "24984:3:5" + "src": "24984:3:18" }, { "name": "p", - "nativeSrc": "24989:1:5", + "nativeSrc": "24989:1:18", "nodeType": "YulIdentifier", - "src": "24989:1:5" + "src": "24989:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "24973:6:5", + "nativeSrc": "24973:6:18", "nodeType": "YulIdentifier", - "src": "24973:6:5" + "src": "24973:6:18" }, - "nativeSrc": "24973:18:5", + "nativeSrc": "24973:18:18", "nodeType": "YulFunctionCall", - "src": "24973:18:5" + "src": "24973:18:18" }, "variableNames": [ { "name": "zzz", - "nativeSrc": "24966:3:5", + "nativeSrc": "24966:3:18", "nodeType": "YulIdentifier", - "src": "24966:3:5" + "src": "24966:3:18" } ] }, { - "nativeSrc": "25038:23:5", + "nativeSrc": "25038:23:18", "nodeType": "YulAssignment", - "src": "25038:23:5", + "src": "25038:23:18", "value": { "arguments": [ { "name": "T2", - "nativeSrc": "25051:2:5", + "nativeSrc": "25051:2:18", "nodeType": "YulIdentifier", - "src": "25051:2:5" + "src": "25051:2:18" }, { "name": "zz", - "nativeSrc": "25055:2:5", + "nativeSrc": "25055:2:18", "nodeType": "YulIdentifier", - "src": "25055:2:5" + "src": "25055:2:18" }, { "name": "p", - "nativeSrc": "25059:1:5", + "nativeSrc": "25059:1:18", "nodeType": "YulIdentifier", - "src": "25059:1:5" + "src": "25059:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "25044:6:5", + "nativeSrc": "25044:6:18", "nodeType": "YulIdentifier", - "src": "25044:6:5" + "src": "25044:6:18" }, - "nativeSrc": "25044:17:5", + "nativeSrc": "25044:17:18", "nodeType": "YulFunctionCall", - "src": "25044:17:5" + "src": "25044:17:18" }, "variableNames": [ { "name": "zz", - "nativeSrc": "25038:2:5", + "nativeSrc": "25038:2:18", "nodeType": "YulIdentifier", - "src": "25038:2:5" + "src": "25038:2:18" } ] }, { - "nativeSrc": "25115:57:5", + "nativeSrc": "25115:57:18", "nodeType": "YulAssignment", - "src": "25115:57:5", + "src": "25115:57:18", "value": { "arguments": [ { "arguments": [ { "name": "T4", - "nativeSrc": "25134:2:5", + "nativeSrc": "25134:2:18", "nodeType": "YulIdentifier", - "src": "25134:2:5" + "src": "25134:2:18" }, { "name": "T4", - "nativeSrc": "25138:2:5", + "nativeSrc": "25138:2:18", "nodeType": "YulIdentifier", - "src": "25138:2:5" + "src": "25138:2:18" }, { "name": "p", - "nativeSrc": "25142:1:5", + "nativeSrc": "25142:1:18", "nodeType": "YulIdentifier", - "src": "25142:1:5" + "src": "25142:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "25127:6:5", + "nativeSrc": "25127:6:18", "nodeType": "YulIdentifier", - "src": "25127:6:5" + "src": "25127:6:18" }, - "nativeSrc": "25127:17:5", + "nativeSrc": "25127:17:18", "nodeType": "YulFunctionCall", - "src": "25127:17:5" + "src": "25127:17:18" }, { "arguments": [ { "name": "minus_2", - "nativeSrc": "25153:7:5", + "nativeSrc": "25153:7:18", "nodeType": "YulIdentifier", - "src": "25153:7:5" + "src": "25153:7:18" }, { "name": "T3", - "nativeSrc": "25162:2:5", + "nativeSrc": "25162:2:18", "nodeType": "YulIdentifier", - "src": "25162:2:5" + "src": "25162:2:18" }, { "name": "p", - "nativeSrc": "25166:1:5", + "nativeSrc": "25166:1:18", "nodeType": "YulIdentifier", - "src": "25166:1:5" + "src": "25166:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "25146:6:5", + "nativeSrc": "25146:6:18", "nodeType": "YulIdentifier", - "src": "25146:6:5" + "src": "25146:6:18" }, - "nativeSrc": "25146:22:5", + "nativeSrc": "25146:22:18", "nodeType": "YulFunctionCall", - "src": "25146:22:5" + "src": "25146:22:18" }, { "name": "p", - "nativeSrc": "25170:1:5", + "nativeSrc": "25170:1:18", "nodeType": "YulIdentifier", - "src": "25170:1:5" + "src": "25170:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "25120:6:5", + "nativeSrc": "25120:6:18", "nodeType": "YulIdentifier", - "src": "25120:6:5" + "src": "25120:6:18" }, - "nativeSrc": "25120:52:5", + "nativeSrc": "25120:52:18", "nodeType": "YulFunctionCall", - "src": "25120:52:5" + "src": "25120:52:18" }, "variableNames": [ { "name": "X", - "nativeSrc": "25115:1:5", + "nativeSrc": "25115:1:18", "nodeType": "YulIdentifier", - "src": "25115:1:5" + "src": "25115:1:18" } ] }, { - "nativeSrc": "25217:45:5", + "nativeSrc": "25217:45:18", "nodeType": "YulAssignment", - "src": "25217:45:5", + "src": "25217:45:18", "value": { "arguments": [ { "name": "T4", - "nativeSrc": "25230:2:5", + "nativeSrc": "25230:2:18", "nodeType": "YulIdentifier", - "src": "25230:2:5" + "src": "25230:2:18" }, { "arguments": [ { "name": "T3", - "nativeSrc": "25241:2:5", + "nativeSrc": "25241:2:18", "nodeType": "YulIdentifier", - "src": "25241:2:5" + "src": "25241:2:18" }, { "arguments": [ { "name": "p", - "nativeSrc": "25249:1:5", + "nativeSrc": "25249:1:18", "nodeType": "YulIdentifier", - "src": "25249:1:5" + "src": "25249:1:18" }, { "name": "X", - "nativeSrc": "25252:1:5", + "nativeSrc": "25252:1:18", "nodeType": "YulIdentifier", - "src": "25252:1:5" + "src": "25252:1:18" } ], "functionName": { "name": "sub", - "nativeSrc": "25245:3:5", + "nativeSrc": "25245:3:18", "nodeType": "YulIdentifier", - "src": "25245:3:5" + "src": "25245:3:18" }, - "nativeSrc": "25245:9:5", + "nativeSrc": "25245:9:18", "nodeType": "YulFunctionCall", - "src": "25245:9:5" + "src": "25245:9:18" }, { "name": "p", - "nativeSrc": "25256:1:5", + "nativeSrc": "25256:1:18", "nodeType": "YulIdentifier", - "src": "25256:1:5" + "src": "25256:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "25234:6:5", + "nativeSrc": "25234:6:18", "nodeType": "YulIdentifier", - "src": "25234:6:5" + "src": "25234:6:18" }, - "nativeSrc": "25234:24:5", + "nativeSrc": "25234:24:18", "nodeType": "YulFunctionCall", - "src": "25234:24:5" + "src": "25234:24:18" }, { "name": "p", - "nativeSrc": "25260:1:5", + "nativeSrc": "25260:1:18", "nodeType": "YulIdentifier", - "src": "25260:1:5" + "src": "25260:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "25223:6:5", + "nativeSrc": "25223:6:18", "nodeType": "YulIdentifier", - "src": "25223:6:5" + "src": "25223:6:18" }, - "nativeSrc": "25223:39:5", + "nativeSrc": "25223:39:18", "nodeType": "YulFunctionCall", - "src": "25223:39:5" + "src": "25223:39:18" }, "variableNames": [ { "name": "T2", - "nativeSrc": "25217:2:5", + "nativeSrc": "25217:2:18", "nodeType": "YulIdentifier", - "src": "25217:2:5" + "src": "25217:2:18" } ] }, { - "nativeSrc": "25306:36:5", + "nativeSrc": "25306:36:18", "nodeType": "YulAssignment", - "src": "25306:36:5", + "src": "25306:36:18", "value": { "arguments": [ { "name": "T2", - "nativeSrc": "25318:2:5", + "nativeSrc": "25318:2:18", "nodeType": "YulIdentifier", - "src": "25318:2:5" + "src": "25318:2:18" }, { "arguments": [ { "name": "T1", - "nativeSrc": "25329:2:5", + "nativeSrc": "25329:2:18", "nodeType": "YulIdentifier", - "src": "25329:2:5" + "src": "25329:2:18" }, { "name": "Y", - "nativeSrc": "25333:1:5", + "nativeSrc": "25333:1:18", "nodeType": "YulIdentifier", - "src": "25333:1:5" + "src": "25333:1:18" }, { "name": "p", - "nativeSrc": "25336:1:5", + "nativeSrc": "25336:1:18", "nodeType": "YulIdentifier", - "src": "25336:1:5" + "src": "25336:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "25322:6:5", + "nativeSrc": "25322:6:18", "nodeType": "YulIdentifier", - "src": "25322:6:5" + "src": "25322:6:18" }, - "nativeSrc": "25322:16:5", + "nativeSrc": "25322:16:18", "nodeType": "YulFunctionCall", - "src": "25322:16:5" + "src": "25322:16:18" }, { "name": "p", - "nativeSrc": "25340:1:5", + "nativeSrc": "25340:1:18", "nodeType": "YulIdentifier", - "src": "25340:1:5" + "src": "25340:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "25311:6:5", + "nativeSrc": "25311:6:18", "nodeType": "YulIdentifier", - "src": "25311:6:5" + "src": "25311:6:18" }, - "nativeSrc": "25311:31:5", + "nativeSrc": "25311:31:18", "nodeType": "YulFunctionCall", - "src": "25311:31:5" + "src": "25311:31:18" }, "variableNames": [ { "name": "Y", - "nativeSrc": "25306:1:5", + "nativeSrc": "25306:1:18", "nodeType": "YulIdentifier", - "src": "25306:1:5" + "src": "25306:1:18" } ] }, { - "nativeSrc": "25395:8:5", + "nativeSrc": "25395:8:18", "nodeType": "YulContinue", - "src": "25395:8:5" + "src": "25395:8:18" } ] }, @@ -38049,24 +57024,24 @@ "arguments": [ { "name": "T2", - "nativeSrc": "24470:2:5", + "nativeSrc": "24470:2:18", "nodeType": "YulIdentifier", - "src": "24470:2:5" + "src": "24470:2:18" } ], "functionName": { "name": "iszero", - "nativeSrc": "24463:6:5", + "nativeSrc": "24463:6:18", "nodeType": "YulIdentifier", - "src": "24463:6:5" + "src": "24463:6:18" }, - "nativeSrc": "24463:10:5", + "nativeSrc": "24463:10:18", "nodeType": "YulFunctionCall", - "src": "24463:10:5" + "src": "24463:10:18" }, - "nativeSrc": "24460:973:5", + "nativeSrc": "24460:973:18", "nodeType": "YulIf", - "src": "24460:973:5" + "src": "24460:973:18" } ] }, @@ -38074,251 +57049,251 @@ "arguments": [ { "name": "y2", - "nativeSrc": "24426:2:5", + "nativeSrc": "24426:2:18", "nodeType": "YulIdentifier", - "src": "24426:2:5" + "src": "24426:2:18" } ], "functionName": { "name": "iszero", - "nativeSrc": "24419:6:5", + "nativeSrc": "24419:6:18", "nodeType": "YulIdentifier", - "src": "24419:6:5" + "src": "24419:6:18" }, - "nativeSrc": "24419:10:5", + "nativeSrc": "24419:10:18", "nodeType": "YulFunctionCall", - "src": "24419:10:5" + "src": "24419:10:18" }, - "nativeSrc": "24416:1043:5", + "nativeSrc": "24416:1043:18", "nodeType": "YulIf", - "src": "24416:1043:5" + "src": "24416:1043:18" }, { - "nativeSrc": "25485:23:5", + "nativeSrc": "25485:23:18", "nodeType": "YulAssignment", - "src": "25485:23:5", + "src": "25485:23:18", "value": { "arguments": [ { "name": "T2", - "nativeSrc": "25498:2:5", + "nativeSrc": "25498:2:18", "nodeType": "YulIdentifier", - "src": "25498:2:5" + "src": "25498:2:18" }, { "name": "T2", - "nativeSrc": "25502:2:5", + "nativeSrc": "25502:2:18", "nodeType": "YulIdentifier", - "src": "25502:2:5" + "src": "25502:2:18" }, { "name": "p", - "nativeSrc": "25506:1:5", + "nativeSrc": "25506:1:18", "nodeType": "YulIdentifier", - "src": "25506:1:5" + "src": "25506:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "25491:6:5", + "nativeSrc": "25491:6:18", "nodeType": "YulIdentifier", - "src": "25491:6:5" + "src": "25491:6:18" }, - "nativeSrc": "25491:17:5", + "nativeSrc": "25491:17:18", "nodeType": "YulFunctionCall", - "src": "25491:17:5" + "src": "25491:17:18" }, "variableNames": [ { "name": "T4", - "nativeSrc": "25485:2:5", + "nativeSrc": "25485:2:18", "nodeType": "YulIdentifier", - "src": "25485:2:5" + "src": "25485:2:18" } ] }, { - "nativeSrc": "25538:28:5", + "nativeSrc": "25538:28:18", "nodeType": "YulVariableDeclaration", - "src": "25538:28:5", + "src": "25538:28:18", "value": { "arguments": [ { "name": "T4", - "nativeSrc": "25556:2:5", + "nativeSrc": "25556:2:18", "nodeType": "YulIdentifier", - "src": "25556:2:5" + "src": "25556:2:18" }, { "name": "T2", - "nativeSrc": "25560:2:5", + "nativeSrc": "25560:2:18", "nodeType": "YulIdentifier", - "src": "25560:2:5" + "src": "25560:2:18" }, { "name": "p", - "nativeSrc": "25564:1:5", + "nativeSrc": "25564:1:18", "nodeType": "YulIdentifier", - "src": "25564:1:5" + "src": "25564:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "25549:6:5", + "nativeSrc": "25549:6:18", "nodeType": "YulIdentifier", - "src": "25549:6:5" + "src": "25549:6:18" }, - "nativeSrc": "25549:17:5", + "nativeSrc": "25549:17:18", "nodeType": "YulFunctionCall", - "src": "25549:17:5" + "src": "25549:17:18" }, "variables": [ { "name": "TT1", - "nativeSrc": "25542:3:5", + "nativeSrc": "25542:3:18", "nodeType": "YulTypedName", - "src": "25542:3:5", + "src": "25542:3:18", "type": "" } ] }, { - "nativeSrc": "25659:23:5", + "nativeSrc": "25659:23:18", "nodeType": "YulAssignment", - "src": "25659:23:5", + "src": "25659:23:18", "value": { "arguments": [ { "name": "zz", - "nativeSrc": "25672:2:5", + "nativeSrc": "25672:2:18", "nodeType": "YulIdentifier", - "src": "25672:2:5" + "src": "25672:2:18" }, { "name": "T4", - "nativeSrc": "25676:2:5", + "nativeSrc": "25676:2:18", "nodeType": "YulIdentifier", - "src": "25676:2:5" + "src": "25676:2:18" }, { "name": "p", - "nativeSrc": "25680:1:5", + "nativeSrc": "25680:1:18", "nodeType": "YulIdentifier", - "src": "25680:1:5" + "src": "25680:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "25665:6:5", + "nativeSrc": "25665:6:18", "nodeType": "YulIdentifier", - "src": "25665:6:5" + "src": "25665:6:18" }, - "nativeSrc": "25665:17:5", + "nativeSrc": "25665:17:18", "nodeType": "YulFunctionCall", - "src": "25665:17:5" + "src": "25665:17:18" }, "variableNames": [ { "name": "zz", - "nativeSrc": "25659:2:5", + "nativeSrc": "25659:2:18", "nodeType": "YulIdentifier", - "src": "25659:2:5" + "src": "25659:2:18" } ] }, { - "nativeSrc": "25707:26:5", + "nativeSrc": "25707:26:18", "nodeType": "YulAssignment", - "src": "25707:26:5", + "src": "25707:26:18", "value": { "arguments": [ { "name": "zzz", - "nativeSrc": "25721:3:5", + "nativeSrc": "25721:3:18", "nodeType": "YulIdentifier", - "src": "25721:3:5" + "src": "25721:3:18" }, { "name": "TT1", - "nativeSrc": "25726:3:5", + "nativeSrc": "25726:3:18", "nodeType": "YulIdentifier", - "src": "25726:3:5" + "src": "25726:3:18" }, { "name": "p", - "nativeSrc": "25731:1:5", + "nativeSrc": "25731:1:18", "nodeType": "YulIdentifier", - "src": "25731:1:5" + "src": "25731:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "25714:6:5", + "nativeSrc": "25714:6:18", "nodeType": "YulIdentifier", - "src": "25714:6:5" + "src": "25714:6:18" }, - "nativeSrc": "25714:19:5", + "nativeSrc": "25714:19:18", "nodeType": "YulFunctionCall", - "src": "25714:19:5" + "src": "25714:19:18" }, "variableNames": [ { "name": "zzz", - "nativeSrc": "25707:3:5", + "nativeSrc": "25707:3:18", "nodeType": "YulIdentifier", - "src": "25707:3:5" + "src": "25707:3:18" } ] }, { - "nativeSrc": "25770:27:5", + "nativeSrc": "25770:27:18", "nodeType": "YulVariableDeclaration", - "src": "25770:27:5", + "src": "25770:27:18", "value": { "arguments": [ { "name": "X", - "nativeSrc": "25788:1:5", + "nativeSrc": "25788:1:18", "nodeType": "YulIdentifier", - "src": "25788:1:5" + "src": "25788:1:18" }, { "name": "T4", - "nativeSrc": "25791:2:5", + "nativeSrc": "25791:2:18", "nodeType": "YulIdentifier", - "src": "25791:2:5" + "src": "25791:2:18" }, { "name": "p", - "nativeSrc": "25795:1:5", + "nativeSrc": "25795:1:18", "nodeType": "YulIdentifier", - "src": "25795:1:5" + "src": "25795:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "25781:6:5", + "nativeSrc": "25781:6:18", "nodeType": "YulIdentifier", - "src": "25781:6:5" + "src": "25781:6:18" }, - "nativeSrc": "25781:16:5", + "nativeSrc": "25781:16:18", "nodeType": "YulFunctionCall", - "src": "25781:16:5" + "src": "25781:16:18" }, "variables": [ { "name": "TT2", - "nativeSrc": "25774:3:5", + "nativeSrc": "25774:3:18", "nodeType": "YulTypedName", - "src": "25774:3:5", + "src": "25774:3:18", "type": "" } ] }, { - "nativeSrc": "25822:83:5", + "nativeSrc": "25822:83:18", "nodeType": "YulAssignment", - "src": "25822:83:5", + "src": "25822:83:18", "value": { "arguments": [ { @@ -38327,136 +57302,136 @@ "arguments": [ { "name": "y2", - "nativeSrc": "25849:2:5", + "nativeSrc": "25849:2:18", "nodeType": "YulIdentifier", - "src": "25849:2:5" + "src": "25849:2:18" }, { "name": "y2", - "nativeSrc": "25853:2:5", + "nativeSrc": "25853:2:18", "nodeType": "YulIdentifier", - "src": "25853:2:5" + "src": "25853:2:18" }, { "name": "p", - "nativeSrc": "25857:1:5", + "nativeSrc": "25857:1:18", "nodeType": "YulIdentifier", - "src": "25857:1:5" + "src": "25857:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "25842:6:5", + "nativeSrc": "25842:6:18", "nodeType": "YulIdentifier", - "src": "25842:6:5" + "src": "25842:6:18" }, - "nativeSrc": "25842:17:5", + "nativeSrc": "25842:17:18", "nodeType": "YulFunctionCall", - "src": "25842:17:5" + "src": "25842:17:18" }, { "arguments": [ { "name": "p", - "nativeSrc": "25865:1:5", + "nativeSrc": "25865:1:18", "nodeType": "YulIdentifier", - "src": "25865:1:5" + "src": "25865:1:18" }, { "name": "TT1", - "nativeSrc": "25868:3:5", + "nativeSrc": "25868:3:18", "nodeType": "YulIdentifier", - "src": "25868:3:5" + "src": "25868:3:18" } ], "functionName": { "name": "sub", - "nativeSrc": "25861:3:5", + "nativeSrc": "25861:3:18", "nodeType": "YulIdentifier", - "src": "25861:3:5" + "src": "25861:3:18" }, - "nativeSrc": "25861:11:5", + "nativeSrc": "25861:11:18", "nodeType": "YulFunctionCall", - "src": "25861:11:5" + "src": "25861:11:18" }, { "name": "p", - "nativeSrc": "25874:1:5", + "nativeSrc": "25874:1:18", "nodeType": "YulIdentifier", - "src": "25874:1:5" + "src": "25874:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "25835:6:5", + "nativeSrc": "25835:6:18", "nodeType": "YulIdentifier", - "src": "25835:6:5" + "src": "25835:6:18" }, - "nativeSrc": "25835:41:5", + "nativeSrc": "25835:41:18", "nodeType": "YulFunctionCall", - "src": "25835:41:5" + "src": "25835:41:18" }, { "arguments": [ { "name": "minus_2", - "nativeSrc": "25885:7:5", + "nativeSrc": "25885:7:18", "nodeType": "YulIdentifier", - "src": "25885:7:5" + "src": "25885:7:18" }, { "name": "TT2", - "nativeSrc": "25894:3:5", + "nativeSrc": "25894:3:18", "nodeType": "YulIdentifier", - "src": "25894:3:5" + "src": "25894:3:18" }, { "name": "p", - "nativeSrc": "25899:1:5", + "nativeSrc": "25899:1:18", "nodeType": "YulIdentifier", - "src": "25899:1:5" + "src": "25899:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "25878:6:5", + "nativeSrc": "25878:6:18", "nodeType": "YulIdentifier", - "src": "25878:6:5" + "src": "25878:6:18" }, - "nativeSrc": "25878:23:5", + "nativeSrc": "25878:23:18", "nodeType": "YulFunctionCall", - "src": "25878:23:5" + "src": "25878:23:18" }, { "name": "p", - "nativeSrc": "25903:1:5", + "nativeSrc": "25903:1:18", "nodeType": "YulIdentifier", - "src": "25903:1:5" + "src": "25903:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "25828:6:5", + "nativeSrc": "25828:6:18", "nodeType": "YulIdentifier", - "src": "25828:6:5" + "src": "25828:6:18" }, - "nativeSrc": "25828:77:5", + "nativeSrc": "25828:77:18", "nodeType": "YulFunctionCall", - "src": "25828:77:5" + "src": "25828:77:18" }, "variableNames": [ { "name": "T4", - "nativeSrc": "25822:2:5", + "nativeSrc": "25822:2:18", "nodeType": "YulIdentifier", - "src": "25822:2:5" + "src": "25822:2:18" } ] }, { - "nativeSrc": "25930:76:5", + "nativeSrc": "25930:76:18", "nodeType": "YulAssignment", - "src": "25930:76:5", + "src": "25930:76:18", "value": { "arguments": [ { @@ -38465,148 +57440,148 @@ "arguments": [ { "name": "TT2", - "nativeSrc": "25956:3:5", + "nativeSrc": "25956:3:18", "nodeType": "YulIdentifier", - "src": "25956:3:5" + "src": "25956:3:18" }, { "arguments": [ { "name": "p", - "nativeSrc": "25965:1:5", + "nativeSrc": "25965:1:18", "nodeType": "YulIdentifier", - "src": "25965:1:5" + "src": "25965:1:18" }, { "name": "T4", - "nativeSrc": "25968:2:5", + "nativeSrc": "25968:2:18", "nodeType": "YulIdentifier", - "src": "25968:2:5" + "src": "25968:2:18" } ], "functionName": { "name": "sub", - "nativeSrc": "25961:3:5", + "nativeSrc": "25961:3:18", "nodeType": "YulIdentifier", - "src": "25961:3:5" + "src": "25961:3:18" }, - "nativeSrc": "25961:10:5", + "nativeSrc": "25961:10:18", "nodeType": "YulFunctionCall", - "src": "25961:10:5" + "src": "25961:10:18" }, { "name": "p", - "nativeSrc": "25973:1:5", + "nativeSrc": "25973:1:18", "nodeType": "YulIdentifier", - "src": "25973:1:5" + "src": "25973:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "25949:6:5", + "nativeSrc": "25949:6:18", "nodeType": "YulIdentifier", - "src": "25949:6:5" + "src": "25949:6:18" }, - "nativeSrc": "25949:26:5", + "nativeSrc": "25949:26:18", "nodeType": "YulFunctionCall", - "src": "25949:26:5" + "src": "25949:26:18" }, { "name": "y2", - "nativeSrc": "25977:2:5", + "nativeSrc": "25977:2:18", "nodeType": "YulIdentifier", - "src": "25977:2:5" + "src": "25977:2:18" }, { "name": "p", - "nativeSrc": "25981:1:5", + "nativeSrc": "25981:1:18", "nodeType": "YulIdentifier", - "src": "25981:1:5" + "src": "25981:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "25942:6:5", + "nativeSrc": "25942:6:18", "nodeType": "YulIdentifier", - "src": "25942:6:5" + "src": "25942:6:18" }, - "nativeSrc": "25942:41:5", + "nativeSrc": "25942:41:18", "nodeType": "YulFunctionCall", - "src": "25942:41:5" + "src": "25942:41:18" }, { "arguments": [ { "name": "Y", - "nativeSrc": "25992:1:5", + "nativeSrc": "25992:1:18", "nodeType": "YulIdentifier", - "src": "25992:1:5" + "src": "25992:1:18" }, { "name": "TT1", - "nativeSrc": "25995:3:5", + "nativeSrc": "25995:3:18", "nodeType": "YulIdentifier", - "src": "25995:3:5" + "src": "25995:3:18" }, { "name": "p", - "nativeSrc": "26000:1:5", + "nativeSrc": "26000:1:18", "nodeType": "YulIdentifier", - "src": "26000:1:5" + "src": "26000:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "25985:6:5", + "nativeSrc": "25985:6:18", "nodeType": "YulIdentifier", - "src": "25985:6:5" + "src": "25985:6:18" }, - "nativeSrc": "25985:17:5", + "nativeSrc": "25985:17:18", "nodeType": "YulFunctionCall", - "src": "25985:17:5" + "src": "25985:17:18" }, { "name": "p", - "nativeSrc": "26004:1:5", + "nativeSrc": "26004:1:18", "nodeType": "YulIdentifier", - "src": "26004:1:5" + "src": "26004:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "25935:6:5", + "nativeSrc": "25935:6:18", "nodeType": "YulIdentifier", - "src": "25935:6:5" + "src": "25935:6:18" }, - "nativeSrc": "25935:71:5", + "nativeSrc": "25935:71:18", "nodeType": "YulFunctionCall", - "src": "25935:71:5" + "src": "25935:71:18" }, "variableNames": [ { "name": "Y", - "nativeSrc": "25930:1:5", + "nativeSrc": "25930:1:18", "nodeType": "YulIdentifier", - "src": "25930:1:5" + "src": "25930:1:18" } ] }, { - "nativeSrc": "26032:7:5", + "nativeSrc": "26032:7:18", "nodeType": "YulAssignment", - "src": "26032:7:5", + "src": "26032:7:18", "value": { "name": "T4", - "nativeSrc": "26037:2:5", + "nativeSrc": "26037:2:18", "nodeType": "YulIdentifier", - "src": "26037:2:5" + "src": "26037:2:18" }, "variableNames": [ { "name": "X", - "nativeSrc": "26032:1:5", + "nativeSrc": "26032:1:18", "nodeType": "YulIdentifier", - "src": "26032:1:5" + "src": "26032:1:18" } ] } @@ -38618,83 +57593,83 @@ "arguments": [ { "name": "minus_1", - "nativeSrc": "22044:7:5", + "nativeSrc": "22044:7:18", "nodeType": "YulIdentifier", - "src": "22044:7:5" + "src": "22044:7:18" }, { "name": "index", - "nativeSrc": "22053:5:5", + "nativeSrc": "22053:5:18", "nodeType": "YulIdentifier", - "src": "22053:5:5" + "src": "22053:5:18" } ], "functionName": { "name": "gt", - "nativeSrc": "22041:2:5", + "nativeSrc": "22041:2:18", "nodeType": "YulIdentifier", - "src": "22041:2:5" + "src": "22041:2:18" }, - "nativeSrc": "22041:18:5", + "nativeSrc": "22041:18:18", "nodeType": "YulFunctionCall", - "src": "22041:18:5" + "src": "22041:18:18" }, - "nativeSrc": "22034:4045:5", + "nativeSrc": "22034:4045:18", "nodeType": "YulForLoop", "post": { - "nativeSrc": "22060:26:5", + "nativeSrc": "22060:26:18", "nodeType": "YulBlock", - "src": "22060:26:5", + "src": "22060:26:18", "statements": [ { - "nativeSrc": "22062:22:5", + "nativeSrc": "22062:22:18", "nodeType": "YulAssignment", - "src": "22062:22:5", + "src": "22062:22:18", "value": { "arguments": [ { "name": "index", - "nativeSrc": "22075:5:5", + "nativeSrc": "22075:5:18", "nodeType": "YulIdentifier", - "src": "22075:5:5" + "src": "22075:5:18" }, { "kind": "number", - "nativeSrc": "22082:1:5", + "nativeSrc": "22082:1:18", "nodeType": "YulLiteral", - "src": "22082:1:5", + "src": "22082:1:18", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "22071:3:5", + "nativeSrc": "22071:3:18", "nodeType": "YulIdentifier", - "src": "22071:3:5" + "src": "22071:3:18" }, - "nativeSrc": "22071:13:5", + "nativeSrc": "22071:13:18", "nodeType": "YulFunctionCall", - "src": "22071:13:5" + "src": "22071:13:18" }, "variableNames": [ { "name": "index", - "nativeSrc": "22062:5:5", + "nativeSrc": "22062:5:18", "nodeType": "YulIdentifier", - "src": "22062:5:5" + "src": "22062:5:18" } ] } ] }, "pre": { - "nativeSrc": "22038:2:5", + "nativeSrc": "22038:2:18", "nodeType": "YulBlock", - "src": "22038:2:5", + "src": "22038:2:18", "statements": [] }, - "src": "22034:4045:5" + "src": "22034:4045:18" }, { "expression": { @@ -38703,81 +57678,81 @@ "arguments": [ { "name": "T", - "nativeSrc": "26118:1:5", + "nativeSrc": "26118:1:18", "nodeType": "YulIdentifier", - "src": "26118:1:5" + "src": "26118:1:18" }, { "kind": "number", - "nativeSrc": "26121:4:5", + "nativeSrc": "26121:4:18", "nodeType": "YulLiteral", - "src": "26121:4:5", + "src": "26121:4:18", "type": "", "value": "0x60" } ], "functionName": { "name": "add", - "nativeSrc": "26114:3:5", + "nativeSrc": "26114:3:18", "nodeType": "YulIdentifier", - "src": "26114:3:5" + "src": "26114:3:18" }, - "nativeSrc": "26114:12:5", + "nativeSrc": "26114:12:18", "nodeType": "YulFunctionCall", - "src": "26114:12:5" + "src": "26114:12:18" }, { "name": "zzz", - "nativeSrc": "26128:3:5", + "nativeSrc": "26128:3:18", "nodeType": "YulIdentifier", - "src": "26128:3:5" + "src": "26128:3:18" } ], "functionName": { "name": "mstore", - "nativeSrc": "26107:6:5", + "nativeSrc": "26107:6:18", "nodeType": "YulIdentifier", - "src": "26107:6:5" + "src": "26107:6:18" }, - "nativeSrc": "26107:25:5", + "nativeSrc": "26107:25:18", "nodeType": "YulFunctionCall", - "src": "26107:25:5" + "src": "26107:25:18" }, - "nativeSrc": "26107:25:5", + "nativeSrc": "26107:25:18", "nodeType": "YulExpressionStatement", - "src": "26107:25:5" + "src": "26107:25:18" }, { "expression": { "arguments": [ { "name": "T", - "nativeSrc": "26391:1:5", + "nativeSrc": "26391:1:18", "nodeType": "YulIdentifier", - "src": "26391:1:5" + "src": "26391:1:18" }, { "kind": "number", - "nativeSrc": "26394:4:5", + "nativeSrc": "26394:4:18", "nodeType": "YulLiteral", - "src": "26394:4:5", + "src": "26394:4:18", "type": "", "value": "0x20" } ], "functionName": { "name": "mstore", - "nativeSrc": "26384:6:5", + "nativeSrc": "26384:6:18", "nodeType": "YulIdentifier", - "src": "26384:6:5" + "src": "26384:6:18" }, - "nativeSrc": "26384:15:5", + "nativeSrc": "26384:15:18", "nodeType": "YulFunctionCall", - "src": "26384:15:5" + "src": "26384:15:18" }, - "nativeSrc": "26384:15:5", + "nativeSrc": "26384:15:18", "nodeType": "YulExpressionStatement", - "src": "26384:15:5" + "src": "26384:15:18" }, { "expression": { @@ -38786,51 +57761,51 @@ "arguments": [ { "name": "T", - "nativeSrc": "26427:1:5", + "nativeSrc": "26427:1:18", "nodeType": "YulIdentifier", - "src": "26427:1:5" + "src": "26427:1:18" }, { "kind": "number", - "nativeSrc": "26430:4:5", + "nativeSrc": "26430:4:18", "nodeType": "YulLiteral", - "src": "26430:4:5", + "src": "26430:4:18", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "26423:3:5", + "nativeSrc": "26423:3:18", "nodeType": "YulIdentifier", - "src": "26423:3:5" + "src": "26423:3:18" }, - "nativeSrc": "26423:12:5", + "nativeSrc": "26423:12:18", "nodeType": "YulFunctionCall", - "src": "26423:12:5" + "src": "26423:12:18" }, { "kind": "number", - "nativeSrc": "26437:4:5", + "nativeSrc": "26437:4:18", "nodeType": "YulLiteral", - "src": "26437:4:5", + "src": "26437:4:18", "type": "", "value": "0x20" } ], "functionName": { "name": "mstore", - "nativeSrc": "26416:6:5", + "nativeSrc": "26416:6:18", "nodeType": "YulIdentifier", - "src": "26416:6:5" + "src": "26416:6:18" }, - "nativeSrc": "26416:26:5", + "nativeSrc": "26416:26:18", "nodeType": "YulFunctionCall", - "src": "26416:26:5" + "src": "26416:26:18" }, - "nativeSrc": "26416:26:5", + "nativeSrc": "26416:26:18", "nodeType": "YulExpressionStatement", - "src": "26416:26:5" + "src": "26416:26:18" }, { "expression": { @@ -38839,51 +57814,51 @@ "arguments": [ { "name": "T", - "nativeSrc": "26470:1:5", + "nativeSrc": "26470:1:18", "nodeType": "YulIdentifier", - "src": "26470:1:5" + "src": "26470:1:18" }, { "kind": "number", - "nativeSrc": "26473:4:5", + "nativeSrc": "26473:4:18", "nodeType": "YulLiteral", - "src": "26473:4:5", + "src": "26473:4:18", "type": "", "value": "0x40" } ], "functionName": { "name": "add", - "nativeSrc": "26466:3:5", + "nativeSrc": "26466:3:18", "nodeType": "YulIdentifier", - "src": "26466:3:5" + "src": "26466:3:18" }, - "nativeSrc": "26466:12:5", + "nativeSrc": "26466:12:18", "nodeType": "YulFunctionCall", - "src": "26466:12:5" + "src": "26466:12:18" }, { "kind": "number", - "nativeSrc": "26480:4:5", + "nativeSrc": "26480:4:18", "nodeType": "YulLiteral", - "src": "26480:4:5", + "src": "26480:4:18", "type": "", "value": "0x20" } ], "functionName": { "name": "mstore", - "nativeSrc": "26459:6:5", + "nativeSrc": "26459:6:18", "nodeType": "YulIdentifier", - "src": "26459:6:5" + "src": "26459:6:18" }, - "nativeSrc": "26459:26:5", + "nativeSrc": "26459:26:18", "nodeType": "YulFunctionCall", - "src": "26459:26:5" + "src": "26459:26:18" }, - "nativeSrc": "26459:26:5", + "nativeSrc": "26459:26:18", "nodeType": "YulExpressionStatement", - "src": "26459:26:5" + "src": "26459:26:18" }, { "expression": { @@ -38892,49 +57867,49 @@ "arguments": [ { "name": "T", - "nativeSrc": "26624:1:5", + "nativeSrc": "26624:1:18", "nodeType": "YulIdentifier", - "src": "26624:1:5" + "src": "26624:1:18" }, { "kind": "number", - "nativeSrc": "26627:4:5", + "nativeSrc": "26627:4:18", "nodeType": "YulLiteral", - "src": "26627:4:5", + "src": "26627:4:18", "type": "", "value": "0x80" } ], "functionName": { "name": "add", - "nativeSrc": "26620:3:5", + "nativeSrc": "26620:3:18", "nodeType": "YulIdentifier", - "src": "26620:3:5" + "src": "26620:3:18" }, - "nativeSrc": "26620:12:5", + "nativeSrc": "26620:12:18", "nodeType": "YulFunctionCall", - "src": "26620:12:5" + "src": "26620:12:18" }, { "name": "minus_2", - "nativeSrc": "26634:7:5", + "nativeSrc": "26634:7:18", "nodeType": "YulIdentifier", - "src": "26634:7:5" + "src": "26634:7:18" } ], "functionName": { "name": "mstore", - "nativeSrc": "26613:6:5", + "nativeSrc": "26613:6:18", "nodeType": "YulIdentifier", - "src": "26613:6:5" + "src": "26613:6:18" }, - "nativeSrc": "26613:29:5", + "nativeSrc": "26613:29:18", "nodeType": "YulFunctionCall", - "src": "26613:29:5" + "src": "26613:29:18" }, - "nativeSrc": "26613:29:5", + "nativeSrc": "26613:29:18", "nodeType": "YulExpressionStatement", - "src": "26613:29:5" + "src": "26613:29:18" }, { "expression": { @@ -38943,89 +57918,89 @@ "arguments": [ { "name": "T", - "nativeSrc": "26670:1:5", + "nativeSrc": "26670:1:18", "nodeType": "YulIdentifier", - "src": "26670:1:5" + "src": "26670:1:18" }, { "kind": "number", - "nativeSrc": "26673:4:5", + "nativeSrc": "26673:4:18", "nodeType": "YulLiteral", - "src": "26673:4:5", + "src": "26673:4:18", "type": "", "value": "0xa0" } ], "functionName": { "name": "add", - "nativeSrc": "26666:3:5", + "nativeSrc": "26666:3:18", "nodeType": "YulIdentifier", - "src": "26666:3:5" + "src": "26666:3:18" }, - "nativeSrc": "26666:12:5", + "nativeSrc": "26666:12:18", "nodeType": "YulFunctionCall", - "src": "26666:12:5" + "src": "26666:12:18" }, { "name": "p", - "nativeSrc": "26680:1:5", + "nativeSrc": "26680:1:18", "nodeType": "YulIdentifier", - "src": "26680:1:5" + "src": "26680:1:18" } ], "functionName": { "name": "mstore", - "nativeSrc": "26659:6:5", + "nativeSrc": "26659:6:18", "nodeType": "YulIdentifier", - "src": "26659:6:5" + "src": "26659:6:18" }, - "nativeSrc": "26659:23:5", + "nativeSrc": "26659:23:18", "nodeType": "YulFunctionCall", - "src": "26659:23:5" + "src": "26659:23:18" }, - "nativeSrc": "26659:23:5", + "nativeSrc": "26659:23:18", "nodeType": "YulExpressionStatement", - "src": "26659:23:5" + "src": "26659:23:18" }, { "body": { - "nativeSrc": "26817:16:5", + "nativeSrc": "26817:16:18", "nodeType": "YulBlock", - "src": "26817:16:5", + "src": "26817:16:18", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "26826:1:5", + "nativeSrc": "26826:1:18", "nodeType": "YulLiteral", - "src": "26826:1:5", + "src": "26826:1:18", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "26829:1:5", + "nativeSrc": "26829:1:18", "nodeType": "YulLiteral", - "src": "26829:1:5", + "src": "26829:1:18", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "26819:6:5", + "nativeSrc": "26819:6:18", "nodeType": "YulIdentifier", - "src": "26819:6:5" + "src": "26819:6:18" }, - "nativeSrc": "26819:12:5", + "nativeSrc": "26819:12:18", "nodeType": "YulFunctionCall", - "src": "26819:12:5" + "src": "26819:12:18" }, - "nativeSrc": "26819:12:5", + "nativeSrc": "26819:12:18", "nodeType": "YulExpressionStatement", - "src": "26819:12:5" + "src": "26819:12:18" } ] }, @@ -39037,284 +58012,284 @@ "arguments": [ { "kind": "number", - "nativeSrc": "26788:1:5", + "nativeSrc": "26788:1:18", "nodeType": "YulLiteral", - "src": "26788:1:5", + "src": "26788:1:18", "type": "", "value": "0" } ], "functionName": { "name": "not", - "nativeSrc": "26784:3:5", + "nativeSrc": "26784:3:18", "nodeType": "YulIdentifier", - "src": "26784:3:5" + "src": "26784:3:18" }, - "nativeSrc": "26784:6:5", + "nativeSrc": "26784:6:18", "nodeType": "YulFunctionCall", - "src": "26784:6:5" + "src": "26784:6:18" }, { "kind": "number", - "nativeSrc": "26792:4:5", + "nativeSrc": "26792:4:18", "nodeType": "YulLiteral", - "src": "26792:4:5", + "src": "26792:4:18", "type": "", "value": "0x05" }, { "name": "T", - "nativeSrc": "26798:1:5", + "nativeSrc": "26798:1:18", "nodeType": "YulIdentifier", - "src": "26798:1:5" + "src": "26798:1:18" }, { "kind": "number", - "nativeSrc": "26801:4:5", + "nativeSrc": "26801:4:18", "nodeType": "YulLiteral", - "src": "26801:4:5", + "src": "26801:4:18", "type": "", "value": "0xc0" }, { "name": "T", - "nativeSrc": "26807:1:5", + "nativeSrc": "26807:1:18", "nodeType": "YulIdentifier", - "src": "26807:1:5" + "src": "26807:1:18" }, { "kind": "number", - "nativeSrc": "26810:4:5", + "nativeSrc": "26810:4:18", "nodeType": "YulLiteral", - "src": "26810:4:5", + "src": "26810:4:18", "type": "", "value": "0x20" } ], "functionName": { "name": "staticcall", - "nativeSrc": "26773:10:5", + "nativeSrc": "26773:10:18", "nodeType": "YulIdentifier", - "src": "26773:10:5" + "src": "26773:10:18" }, - "nativeSrc": "26773:42:5", + "nativeSrc": "26773:42:18", "nodeType": "YulFunctionCall", - "src": "26773:42:5" + "src": "26773:42:18" } ], "functionName": { "name": "iszero", - "nativeSrc": "26766:6:5", + "nativeSrc": "26766:6:18", "nodeType": "YulIdentifier", - "src": "26766:6:5" + "src": "26766:6:18" }, - "nativeSrc": "26766:50:5", + "nativeSrc": "26766:50:18", "nodeType": "YulFunctionCall", - "src": "26766:50:5" + "src": "26766:50:18" }, - "nativeSrc": "26763:70:5", + "nativeSrc": "26763:70:18", "nodeType": "YulIf", - "src": "26763:70:5" + "src": "26763:70:18" }, { - "nativeSrc": "26851:23:5", + "nativeSrc": "26851:23:18", "nodeType": "YulAssignment", - "src": "26851:23:5", + "src": "26851:23:18", "value": { "arguments": [ { "name": "Y", - "nativeSrc": "26861:1:5", + "nativeSrc": "26861:1:18", "nodeType": "YulIdentifier", - "src": "26861:1:5" + "src": "26861:1:18" }, { "arguments": [ { "name": "T", - "nativeSrc": "26869:1:5", + "nativeSrc": "26869:1:18", "nodeType": "YulIdentifier", - "src": "26869:1:5" + "src": "26869:1:18" } ], "functionName": { "name": "mload", - "nativeSrc": "26863:5:5", + "nativeSrc": "26863:5:18", "nodeType": "YulIdentifier", - "src": "26863:5:5" + "src": "26863:5:18" }, - "nativeSrc": "26863:8:5", + "nativeSrc": "26863:8:18", "nodeType": "YulFunctionCall", - "src": "26863:8:5" + "src": "26863:8:18" }, { "name": "p", - "nativeSrc": "26872:1:5", + "nativeSrc": "26872:1:18", "nodeType": "YulIdentifier", - "src": "26872:1:5" + "src": "26872:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "26854:6:5", + "nativeSrc": "26854:6:18", "nodeType": "YulIdentifier", - "src": "26854:6:5" + "src": "26854:6:18" }, - "nativeSrc": "26854:20:5", + "nativeSrc": "26854:20:18", "nodeType": "YulFunctionCall", - "src": "26854:20:5" + "src": "26854:20:18" }, "variableNames": [ { "name": "Y", - "nativeSrc": "26851:1:5", + "nativeSrc": "26851:1:18", "nodeType": "YulIdentifier", - "src": "26851:1:5" + "src": "26851:1:18" } ] }, { - "nativeSrc": "26898:27:5", + "nativeSrc": "26898:27:18", "nodeType": "YulAssignment", - "src": "26898:27:5", + "src": "26898:27:18", "value": { "arguments": [ { "name": "zz", - "nativeSrc": "26910:2:5", + "nativeSrc": "26910:2:18", "nodeType": "YulIdentifier", - "src": "26910:2:5" + "src": "26910:2:18" }, { "arguments": [ { "name": "T", - "nativeSrc": "26920:1:5", + "nativeSrc": "26920:1:18", "nodeType": "YulIdentifier", - "src": "26920:1:5" + "src": "26920:1:18" } ], "functionName": { "name": "mload", - "nativeSrc": "26914:5:5", + "nativeSrc": "26914:5:18", "nodeType": "YulIdentifier", - "src": "26914:5:5" + "src": "26914:5:18" }, - "nativeSrc": "26914:8:5", + "nativeSrc": "26914:8:18", "nodeType": "YulFunctionCall", - "src": "26914:8:5" + "src": "26914:8:18" }, { "name": "p", - "nativeSrc": "26923:1:5", + "nativeSrc": "26923:1:18", "nodeType": "YulIdentifier", - "src": "26923:1:5" + "src": "26923:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "26903:6:5", + "nativeSrc": "26903:6:18", "nodeType": "YulIdentifier", - "src": "26903:6:5" + "src": "26903:6:18" }, - "nativeSrc": "26903:22:5", + "nativeSrc": "26903:22:18", "nodeType": "YulFunctionCall", - "src": "26903:22:5" + "src": "26903:22:18" }, "variableNames": [ { "name": "zz", - "nativeSrc": "26898:2:5", + "nativeSrc": "26898:2:18", "nodeType": "YulIdentifier", - "src": "26898:2:5" + "src": "26898:2:18" } ] }, { - "nativeSrc": "26948:20:5", + "nativeSrc": "26948:20:18", "nodeType": "YulAssignment", - "src": "26948:20:5", + "src": "26948:20:18", "value": { "arguments": [ { "name": "zz", - "nativeSrc": "26960:2:5", + "nativeSrc": "26960:2:18", "nodeType": "YulIdentifier", - "src": "26960:2:5" + "src": "26960:2:18" }, { "name": "zz", - "nativeSrc": "26963:2:5", + "nativeSrc": "26963:2:18", "nodeType": "YulIdentifier", - "src": "26963:2:5" + "src": "26963:2:18" }, { "name": "p", - "nativeSrc": "26966:1:5", + "nativeSrc": "26966:1:18", "nodeType": "YulIdentifier", - "src": "26966:1:5" + "src": "26966:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "26953:6:5", + "nativeSrc": "26953:6:18", "nodeType": "YulIdentifier", - "src": "26953:6:5" + "src": "26953:6:18" }, - "nativeSrc": "26953:15:5", + "nativeSrc": "26953:15:18", "nodeType": "YulFunctionCall", - "src": "26953:15:5" + "src": "26953:15:18" }, "variableNames": [ { "name": "zz", - "nativeSrc": "26948:2:5", + "nativeSrc": "26948:2:18", "nodeType": "YulIdentifier", - "src": "26948:2:5" + "src": "26948:2:18" } ] }, { - "nativeSrc": "26992:21:5", + "nativeSrc": "26992:21:18", "nodeType": "YulAssignment", - "src": "26992:21:5", + "src": "26992:21:18", "value": { "arguments": [ { "name": "X", - "nativeSrc": "27004:1:5", + "nativeSrc": "27004:1:18", "nodeType": "YulIdentifier", - "src": "27004:1:5" + "src": "27004:1:18" }, { "name": "zz", - "nativeSrc": "27007:2:5", + "nativeSrc": "27007:2:18", "nodeType": "YulIdentifier", - "src": "27007:2:5" + "src": "27007:2:18" }, { "name": "p", - "nativeSrc": "27011:1:5", + "nativeSrc": "27011:1:18", "nodeType": "YulIdentifier", - "src": "27011:1:5" + "src": "27011:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "26997:6:5", + "nativeSrc": "26997:6:18", "nodeType": "YulIdentifier", - "src": "26997:6:5" + "src": "26997:6:18" }, - "nativeSrc": "26997:16:5", + "nativeSrc": "26997:16:18", "nodeType": "YulFunctionCall", - "src": "26997:16:5" + "src": "26997:16:18" }, "variableNames": [ { "name": "X", - "nativeSrc": "26992:1:5", + "nativeSrc": "26992:1:18", "nodeType": "YulIdentifier", - "src": "26992:1:5" + "src": "26992:1:18" } ] } @@ -39323,1304 +58298,1304 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 1894, + "declaration": 3500, "isOffset": false, "isSlot": false, - "src": "21869:1:5", + "src": "21869:1:18", "valueSize": 1 }, { - "declaration": 1894, + "declaration": 3500, "isOffset": false, "isSlot": false, - "src": "21907:1:5", + "src": "21907:1:18", "valueSize": 1 }, { - "declaration": 1894, + "declaration": 3500, "isOffset": false, "isSlot": false, - "src": "23615:1:5", + "src": "23615:1:18", "valueSize": 1 }, { - "declaration": 1894, + "declaration": 3500, "isOffset": false, "isSlot": false, - "src": "23662:1:5", + "src": "23662:1:18", "valueSize": 1 }, { - "declaration": 1859, + "declaration": 3465, "isOffset": false, "isSlot": false, - "src": "21754:2:5", + "src": "21754:2:18", "valueSize": 1 }, { - "declaration": 1859, + "declaration": 3465, "isOffset": false, "isSlot": false, - "src": "23470:2:5", + "src": "23470:2:18", "valueSize": 1 }, { - "declaration": 1861, + "declaration": 3467, "isOffset": false, "isSlot": false, - "src": "21782:2:5", + "src": "21782:2:18", "valueSize": 1 }, { - "declaration": 1861, + "declaration": 3467, "isOffset": false, "isSlot": false, - "src": "23507:2:5", + "src": "23507:2:18", "valueSize": 1 }, { - "declaration": 1887, + "declaration": 3493, "isOffset": false, "isSlot": false, - "src": "26118:1:5", + "src": "26118:1:18", "valueSize": 1 }, { - "declaration": 1887, + "declaration": 3493, "isOffset": false, "isSlot": false, - "src": "26391:1:5", + "src": "26391:1:18", "valueSize": 1 }, { - "declaration": 1887, + "declaration": 3493, "isOffset": false, "isSlot": false, - "src": "26427:1:5", + "src": "26427:1:18", "valueSize": 1 }, { - "declaration": 1887, + "declaration": 3493, "isOffset": false, "isSlot": false, - "src": "26470:1:5", + "src": "26470:1:18", "valueSize": 1 }, { - "declaration": 1887, + "declaration": 3493, "isOffset": false, "isSlot": false, - "src": "26624:1:5", + "src": "26624:1:18", "valueSize": 1 }, { - "declaration": 1887, + "declaration": 3493, "isOffset": false, "isSlot": false, - "src": "26670:1:5", + "src": "26670:1:18", "valueSize": 1 }, { - "declaration": 1887, + "declaration": 3493, "isOffset": false, "isSlot": false, - "src": "26798:1:5", + "src": "26798:1:18", "valueSize": 1 }, { - "declaration": 1887, + "declaration": 3493, "isOffset": false, "isSlot": false, - "src": "26807:1:5", + "src": "26807:1:18", "valueSize": 1 }, { - "declaration": 1887, + "declaration": 3493, "isOffset": false, "isSlot": false, - "src": "26869:1:5", + "src": "26869:1:18", "valueSize": 1 }, { - "declaration": 1887, + "declaration": 3493, "isOffset": false, "isSlot": false, - "src": "26920:1:5", + "src": "26920:1:18", "valueSize": 1 }, { - "declaration": 1868, + "declaration": 3474, "isOffset": false, "isSlot": false, - "src": "21644:1:5", + "src": "21644:1:18", "valueSize": 1 }, { - "declaration": 1868, + "declaration": 3474, "isOffset": false, "isSlot": false, - "src": "21749:1:5", + "src": "21749:1:18", "valueSize": 1 }, { - "declaration": 1868, + "declaration": 3474, "isOffset": false, "isSlot": false, - "src": "21896:1:5", + "src": "21896:1:18", "valueSize": 1 }, { - "declaration": 1868, + "declaration": 3474, "isOffset": false, "isSlot": false, - "src": "22288:1:5", + "src": "22288:1:18", "valueSize": 1 }, { - "declaration": 1868, + "declaration": 3474, "isOffset": false, "isSlot": false, - "src": "22416:1:5", + "src": "22416:1:18", "valueSize": 1 }, { - "declaration": 1868, + "declaration": 3474, "isOffset": false, "isSlot": false, - "src": "22442:1:5", + "src": "22442:1:18", "valueSize": 1 }, { - "declaration": 1868, + "declaration": 3474, "isOffset": false, "isSlot": false, - "src": "22629:1:5", + "src": "22629:1:18", "valueSize": 1 }, { - "declaration": 1868, + "declaration": 3474, "isOffset": false, "isSlot": false, - "src": "22743:1:5", + "src": "22743:1:18", "valueSize": 1 }, { - "declaration": 1868, + "declaration": 3474, "isOffset": false, "isSlot": false, - "src": "23763:1:5", + "src": "23763:1:18", "valueSize": 1 }, { - "declaration": 1868, + "declaration": 3474, "isOffset": false, "isSlot": false, - "src": "24195:1:5", + "src": "24195:1:18", "valueSize": 1 }, { - "declaration": 1868, + "declaration": 3474, "isOffset": false, "isSlot": false, - "src": "24665:1:5", + "src": "24665:1:18", "valueSize": 1 }, { - "declaration": 1868, + "declaration": 3474, "isOffset": false, "isSlot": false, - "src": "24804:1:5", + "src": "24804:1:18", "valueSize": 1 }, { - "declaration": 1868, + "declaration": 3474, "isOffset": false, "isSlot": false, - "src": "24822:1:5", + "src": "24822:1:18", "valueSize": 1 }, { - "declaration": 1868, + "declaration": 3474, "isOffset": false, "isSlot": false, - "src": "25115:1:5", + "src": "25115:1:18", "valueSize": 1 }, { - "declaration": 1868, + "declaration": 3474, "isOffset": false, "isSlot": false, - "src": "25252:1:5", + "src": "25252:1:18", "valueSize": 1 }, { - "declaration": 1868, + "declaration": 3474, "isOffset": false, "isSlot": false, - "src": "25788:1:5", + "src": "25788:1:18", "valueSize": 1 }, { - "declaration": 1868, + "declaration": 3474, "isOffset": false, "isSlot": false, - "src": "26032:1:5", + "src": "26032:1:18", "valueSize": 1 }, { - "declaration": 1868, + "declaration": 3474, "isOffset": false, "isSlot": false, - "src": "26992:1:5", + "src": "26992:1:18", "valueSize": 1 }, { - "declaration": 1868, + "declaration": 3474, "isOffset": false, "isSlot": false, - "src": "27004:1:5", + "src": "27004:1:18", "valueSize": 1 }, { - "declaration": 1870, + "declaration": 3476, "isOffset": false, "isSlot": false, - "src": "21672:1:5", + "src": "21672:1:18", "valueSize": 1 }, { - "declaration": 1870, + "declaration": 3476, "isOffset": false, "isSlot": false, - "src": "21777:1:5", + "src": "21777:1:18", "valueSize": 1 }, { - "declaration": 1870, + "declaration": 3476, "isOffset": false, "isSlot": false, - "src": "21854:1:5", + "src": "21854:1:18", "valueSize": 1 }, { - "declaration": 1870, + "declaration": 3476, "isOffset": false, "isSlot": false, - "src": "22169:1:5", + "src": "22169:1:18", "valueSize": 1 }, { - "declaration": 1870, + "declaration": 3476, "isOffset": false, "isSlot": false, - "src": "22804:1:5", + "src": "22804:1:18", "valueSize": 1 }, { - "declaration": 1870, + "declaration": 3476, "isOffset": false, "isSlot": false, - "src": "22827:1:5", + "src": "22827:1:18", "valueSize": 1 }, { - "declaration": 1870, + "declaration": 3476, "isOffset": false, "isSlot": false, - "src": "23140:1:5", + "src": "23140:1:18", "valueSize": 1 }, { - "declaration": 1870, + "declaration": 3476, "isOffset": false, "isSlot": false, - "src": "23152:1:5", + "src": "23152:1:18", "valueSize": 1 }, { - "declaration": 1870, + "declaration": 3476, "isOffset": false, "isSlot": false, - "src": "23799:1:5", + "src": "23799:1:18", "valueSize": 1 }, { - "declaration": 1870, + "declaration": 3476, "isOffset": false, "isSlot": false, - "src": "24122:1:5", + "src": "24122:1:18", "valueSize": 1 }, { - "declaration": 1870, + "declaration": 3476, "isOffset": false, "isSlot": false, - "src": "24530:1:5", + "src": "24530:1:18", "valueSize": 1 }, { - "declaration": 1870, + "declaration": 3476, "isOffset": false, "isSlot": false, - "src": "25306:1:5", + "src": "25306:1:18", "valueSize": 1 }, { - "declaration": 1870, + "declaration": 3476, "isOffset": false, "isSlot": false, - "src": "25333:1:5", + "src": "25333:1:18", "valueSize": 1 }, { - "declaration": 1870, + "declaration": 3476, "isOffset": false, "isSlot": false, - "src": "25930:1:5", + "src": "25930:1:18", "valueSize": 1 }, { - "declaration": 1870, + "declaration": 3476, "isOffset": false, "isSlot": false, - "src": "25992:1:5", + "src": "25992:1:18", "valueSize": 1 }, { - "declaration": 1870, + "declaration": 3476, "isOffset": false, "isSlot": false, - "src": "26851:1:5", + "src": "26851:1:18", "valueSize": 1 }, { - "declaration": 1870, + "declaration": 3476, "isOffset": false, "isSlot": false, - "src": "26861:1:5", + "src": "26861:1:18", "valueSize": 1 }, { - "declaration": 974, + "declaration": 2580, "isOffset": false, "isSlot": false, - "src": "21649:2:5", + "src": "21649:2:18", "valueSize": 1 }, { - "declaration": 974, + "declaration": 2580, "isOffset": false, "isSlot": false, - "src": "23331:2:5", + "src": "23331:2:18", "valueSize": 1 }, { - "declaration": 977, + "declaration": 2583, "isOffset": false, "isSlot": false, - "src": "21677:2:5", + "src": "21677:2:18", "valueSize": 1 }, { - "declaration": 977, + "declaration": 2583, "isOffset": false, "isSlot": false, - "src": "23368:2:5", + "src": "23368:2:18", "valueSize": 1 }, { - "declaration": 1879, + "declaration": 3485, "isOffset": false, "isSlot": false, - "src": "21269:5:5", + "src": "21269:5:18", "valueSize": 1 }, { - "declaration": 1879, + "declaration": 3485, "isOffset": false, "isSlot": false, - "src": "21300:5:5", + "src": "21300:5:18", "valueSize": 1 }, { - "declaration": 1879, + "declaration": 3485, "isOffset": false, "isSlot": false, - "src": "21356:5:5", + "src": "21356:5:18", "valueSize": 1 }, { - "declaration": 1879, + "declaration": 3485, "isOffset": false, "isSlot": false, - "src": "21369:5:5", + "src": "21369:5:18", "valueSize": 1 }, { - "declaration": 1879, + "declaration": 3485, "isOffset": false, "isSlot": false, - "src": "21424:5:5", + "src": "21424:5:18", "valueSize": 1 }, { - "declaration": 1879, + "declaration": 3485, "isOffset": false, "isSlot": false, - "src": "21455:5:5", + "src": "21455:5:18", "valueSize": 1 }, { - "declaration": 1879, + "declaration": 3485, "isOffset": false, "isSlot": false, - "src": "21539:5:5", + "src": "21539:5:18", "valueSize": 1 }, { - "declaration": 1879, + "declaration": 3485, "isOffset": false, "isSlot": false, - "src": "21570:5:5", + "src": "21570:5:18", "valueSize": 1 }, { - "declaration": 1879, + "declaration": 3485, "isOffset": false, "isSlot": false, - "src": "21945:5:5", + "src": "21945:5:18", "valueSize": 1 }, { - "declaration": 1879, + "declaration": 3485, "isOffset": false, "isSlot": false, - "src": "21958:5:5", + "src": "21958:5:18", "valueSize": 1 }, { - "declaration": 1879, + "declaration": 3485, "isOffset": false, "isSlot": false, - "src": "22053:5:5", + "src": "22053:5:18", "valueSize": 1 }, { - "declaration": 1879, + "declaration": 3485, "isOffset": false, "isSlot": false, - "src": "22062:5:5", + "src": "22062:5:18", "valueSize": 1 }, { - "declaration": 1879, + "declaration": 3485, "isOffset": false, "isSlot": false, - "src": "22075:5:5", + "src": "22075:5:18", "valueSize": 1 }, { - "declaration": 1879, + "declaration": 3485, "isOffset": false, "isSlot": false, - "src": "23018:5:5", + "src": "23018:5:18", "valueSize": 1 }, { - "declaration": 1879, + "declaration": 3485, "isOffset": false, "isSlot": false, - "src": "23049:5:5", + "src": "23049:5:18", "valueSize": 1 }, { - "declaration": 989, + "declaration": 2595, "isOffset": false, "isSlot": false, - "src": "22044:7:5", + "src": "22044:7:18", "valueSize": 1 }, { - "declaration": 983, + "declaration": 2589, "isOffset": false, "isSlot": false, - "src": "22667:7:5", + "src": "22667:7:18", "valueSize": 1 }, { - "declaration": 983, + "declaration": 2589, "isOffset": false, "isSlot": false, - "src": "24521:7:5", + "src": "24521:7:18", "valueSize": 1 }, { - "declaration": 983, + "declaration": 2589, "isOffset": false, "isSlot": false, - "src": "25153:7:5", + "src": "25153:7:18", "valueSize": 1 }, { - "declaration": 983, + "declaration": 2589, "isOffset": false, "isSlot": false, - "src": "25885:7:5", + "src": "25885:7:18", "valueSize": 1 }, { - "declaration": 983, + "declaration": 2589, "isOffset": false, "isSlot": false, - "src": "26634:7:5", + "src": "26634:7:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "22172:1:5", + "src": "22172:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "22239:1:5", + "src": "22239:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "22295:1:5", + "src": "22295:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "22351:1:5", + "src": "22351:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "22423:1:5", + "src": "22423:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "22431:1:5", + "src": "22431:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "22449:1:5", + "src": "22449:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "22453:1:5", + "src": "22453:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "22457:1:5", + "src": "22457:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "22527:1:5", + "src": "22527:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "22585:1:5", + "src": "22585:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "22656:1:5", + "src": "22656:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "22680:1:5", + "src": "22680:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "22684:1:5", + "src": "22684:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "22750:1:5", + "src": "22750:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "22758:1:5", + "src": "22758:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "22762:1:5", + "src": "22762:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "22830:1:5", + "src": "22830:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "22838:1:5", + "src": "22838:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "23149:1:5", + "src": "23149:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "24118:1:5", + "src": "24118:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "24125:1:5", + "src": "24125:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "24184:1:5", + "src": "24184:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "24192:1:5", + "src": "24192:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "24199:1:5", + "src": "24199:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "24533:1:5", + "src": "24533:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "24608:1:5", + "src": "24608:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "24672:1:5", + "src": "24672:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "24741:1:5", + "src": "24741:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "24811:1:5", + "src": "24811:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "24829:1:5", + "src": "24829:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "24837:1:5", + "src": "24837:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "24841:1:5", + "src": "24841:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "24911:1:5", + "src": "24911:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "24989:1:5", + "src": "24989:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "25059:1:5", + "src": "25059:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "25142:1:5", + "src": "25142:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "25166:1:5", + "src": "25166:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "25170:1:5", + "src": "25170:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "25249:1:5", + "src": "25249:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "25256:1:5", + "src": "25256:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "25260:1:5", + "src": "25260:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "25336:1:5", + "src": "25336:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "25340:1:5", + "src": "25340:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "25506:1:5", + "src": "25506:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "25564:1:5", + "src": "25564:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "25680:1:5", + "src": "25680:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "25731:1:5", + "src": "25731:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "25795:1:5", + "src": "25795:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "25857:1:5", + "src": "25857:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "25865:1:5", + "src": "25865:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "25874:1:5", + "src": "25874:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "25899:1:5", + "src": "25899:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "25903:1:5", + "src": "25903:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "25965:1:5", + "src": "25965:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "25973:1:5", + "src": "25973:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "25981:1:5", + "src": "25981:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "26000:1:5", + "src": "26000:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "26004:1:5", + "src": "26004:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "26680:1:5", + "src": "26680:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "26872:1:5", + "src": "26872:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "26923:1:5", + "src": "26923:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "26966:1:5", + "src": "26966:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "27011:1:5", + "src": "27011:1:18", "valueSize": 1 }, { - "declaration": 1863, + "declaration": 3469, "isOffset": false, "isSlot": false, - "src": "21307:8:5", + "src": "21307:8:18", "valueSize": 1 }, { - "declaration": 1863, + "declaration": 3469, "isOffset": false, "isSlot": false, - "src": "21462:8:5", + "src": "21462:8:18", "valueSize": 1 }, { - "declaration": 1863, + "declaration": 3469, "isOffset": false, "isSlot": false, - "src": "21577:8:5", + "src": "21577:8:18", "valueSize": 1 }, { - "declaration": 1863, + "declaration": 3469, "isOffset": false, "isSlot": false, - "src": "23056:8:5", + "src": "23056:8:18", "valueSize": 1 }, { - "declaration": 1865, + "declaration": 3471, "isOffset": false, "isSlot": false, - "src": "21276:8:5", + "src": "21276:8:18", "valueSize": 1 }, { - "declaration": 1865, + "declaration": 3471, "isOffset": false, "isSlot": false, - "src": "21431:8:5", + "src": "21431:8:18", "valueSize": 1 }, { - "declaration": 1865, + "declaration": 3471, "isOffset": false, "isSlot": false, - "src": "21546:8:5", + "src": "21546:8:18", "valueSize": 1 }, { - "declaration": 1865, + "declaration": 3471, "isOffset": false, "isSlot": false, - "src": "23025:8:5", + "src": "23025:8:18", "valueSize": 1 }, { - "declaration": 1873, + "declaration": 3479, "isOffset": false, "isSlot": false, - "src": "21514:2:5", + "src": "21514:2:18", "valueSize": 1 }, { - "declaration": 1873, + "declaration": 3479, "isOffset": false, "isSlot": false, - "src": "21615:2:5", + "src": "21615:2:18", "valueSize": 1 }, { - "declaration": 1873, + "declaration": 3479, "isOffset": false, "isSlot": false, - "src": "21720:2:5", + "src": "21720:2:18", "valueSize": 1 }, { - "declaration": 1873, + "declaration": 3479, "isOffset": false, "isSlot": false, - "src": "21825:2:5", + "src": "21825:2:18", "valueSize": 1 }, { - "declaration": 1873, + "declaration": 3479, "isOffset": false, "isSlot": false, - "src": "21984:2:5", + "src": "21984:2:18", "valueSize": 1 }, { - "declaration": 1873, + "declaration": 3479, "isOffset": false, "isSlot": false, - "src": "22426:2:5", + "src": "22426:2:18", "valueSize": 1 }, { - "declaration": 1873, + "declaration": 3479, "isOffset": false, "isSlot": false, - "src": "22445:2:5", + "src": "22445:2:18", "valueSize": 1 }, { - "declaration": 1873, + "declaration": 3479, "isOffset": false, "isSlot": false, - "src": "22564:2:5", + "src": "22564:2:18", "valueSize": 1 }, { - "declaration": 1873, + "declaration": 3479, "isOffset": false, "isSlot": false, - "src": "22581:2:5", + "src": "22581:2:18", "valueSize": 1 }, { - "declaration": 1873, + "declaration": 3479, "isOffset": false, "isSlot": false, - "src": "23729:2:5", + "src": "23729:2:18", "valueSize": 1 }, { - "declaration": 1873, + "declaration": 3479, "isOffset": false, "isSlot": false, - "src": "23835:2:5", + "src": "23835:2:18", "valueSize": 1 }, { - "declaration": 1873, + "declaration": 3479, "isOffset": false, "isSlot": false, - "src": "24180:2:5", + "src": "24180:2:18", "valueSize": 1 }, { - "declaration": 1873, + "declaration": 3479, "isOffset": false, "isSlot": false, - "src": "24807:2:5", + "src": "24807:2:18", "valueSize": 1 }, { - "declaration": 1873, + "declaration": 3479, "isOffset": false, "isSlot": false, - "src": "24832:2:5", + "src": "24832:2:18", "valueSize": 1 }, { - "declaration": 1873, + "declaration": 3479, "isOffset": false, "isSlot": false, - "src": "25038:2:5", + "src": "25038:2:18", "valueSize": 1 }, { - "declaration": 1873, + "declaration": 3479, "isOffset": false, "isSlot": false, - "src": "25055:2:5", + "src": "25055:2:18", "valueSize": 1 }, { - "declaration": 1873, + "declaration": 3479, "isOffset": false, "isSlot": false, - "src": "25659:2:5", + "src": "25659:2:18", "valueSize": 1 }, { - "declaration": 1873, + "declaration": 3479, "isOffset": false, "isSlot": false, - "src": "25672:2:5", + "src": "25672:2:18", "valueSize": 1 }, { - "declaration": 1873, + "declaration": 3479, "isOffset": false, "isSlot": false, - "src": "26898:2:5", + "src": "26898:2:18", "valueSize": 1 }, { - "declaration": 1873, + "declaration": 3479, "isOffset": false, "isSlot": false, - "src": "26910:2:5", + "src": "26910:2:18", "valueSize": 1 }, { - "declaration": 1873, + "declaration": 3479, "isOffset": false, "isSlot": false, - "src": "26948:2:5", + "src": "26948:2:18", "valueSize": 1 }, { - "declaration": 1873, + "declaration": 3479, "isOffset": false, "isSlot": false, - "src": "26960:2:5", + "src": "26960:2:18", "valueSize": 1 }, { - "declaration": 1873, + "declaration": 3479, "isOffset": false, "isSlot": false, - "src": "26963:2:5", + "src": "26963:2:18", "valueSize": 1 }, { - "declaration": 1873, + "declaration": 3479, "isOffset": false, "isSlot": false, - "src": "27007:2:5", + "src": "27007:2:18", "valueSize": 1 }, { - "declaration": 1876, + "declaration": 3482, "isOffset": false, "isSlot": false, - "src": "22008:3:5", + "src": "22008:3:18", "valueSize": 1 }, { - "declaration": 1876, + "declaration": 3482, "isOffset": false, "isSlot": false, - "src": "22504:3:5", + "src": "22504:3:18", "valueSize": 1 }, { - "declaration": 1876, + "declaration": 3482, "isOffset": false, "isSlot": false, - "src": "22522:3:5", + "src": "22522:3:18", "valueSize": 1 }, { - "declaration": 1876, + "declaration": 3482, "isOffset": false, "isSlot": false, - "src": "23871:3:5", + "src": "23871:3:18", "valueSize": 1 }, { - "declaration": 1876, + "declaration": 3482, "isOffset": false, "isSlot": false, - "src": "24113:3:5", + "src": "24113:3:18", "valueSize": 1 }, { - "declaration": 1876, + "declaration": 3482, "isOffset": false, "isSlot": false, - "src": "24966:3:5", + "src": "24966:3:18", "valueSize": 1 }, { - "declaration": 1876, + "declaration": 3482, "isOffset": false, "isSlot": false, - "src": "24984:3:5", + "src": "24984:3:18", "valueSize": 1 }, { - "declaration": 1876, + "declaration": 3482, "isOffset": false, "isSlot": false, - "src": "25707:3:5", + "src": "25707:3:18", "valueSize": 1 }, { - "declaration": 1876, + "declaration": 3482, "isOffset": false, "isSlot": false, - "src": "25721:3:5", + "src": "25721:3:18", "valueSize": 1 }, { - "declaration": 1876, + "declaration": 3482, "isOffset": false, "isSlot": false, - "src": "26128:3:5", + "src": "26128:3:18", "valueSize": 1 } ], - "id": 1923, + "id": 3529, "nodeType": "InlineAssembly", - "src": "21207:5827:5" + "src": "21207:5827:18" } ] }, @@ -40628,76 +59603,76 @@ "expression": { "components": [ { - "id": 1925, + "id": 3531, "name": "X", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1868, - "src": "27093:1:5", + "referencedDeclaration": 3474, + "src": "27093:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 1926, + "id": 3532, "name": "Y", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1870, - "src": "27095:1:5", + "referencedDeclaration": 3476, + "src": "27095:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 1927, + "id": 3533, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "27092:5:5", + "src": "27092:5:18", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256)" } }, - "functionReturnParameters": 1871, - "id": 1928, + "functionReturnParameters": 3477, + "id": 3534, "nodeType": "Return", - "src": "27085:12:5" + "src": "27085:12:18" } ] }, "documentation": { - "id": 1857, + "id": 3463, "nodeType": "StructuredDocumentation", - "src": "20489:179:5", + "src": "20489:179:18", "text": " @dev Computation of uG+vQ using Strauss-Shamir's trick, G basepoint, Q public key\n Returns affine representation of point (normalized) \n " }, - "id": 1930, + "id": 3536, "implemented": true, "kind": "function", "modifiers": [], "name": "ecZZ_mulmuladd", - "nameLocation": "20682:14:5", + "nameLocation": "20682:14:18", "nodeType": "FunctionDefinition", "parameters": { - "id": 1866, + "id": 3472, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1859, + "id": 3465, "mutability": "mutable", "name": "Q0", - "nameLocation": "20714:2:5", + "nameLocation": "20714:2:18", "nodeType": "VariableDeclaration", - "scope": 1930, - "src": "20706:10:5", + "scope": 3536, + "src": "20706:10:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -40705,10 +59680,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1858, + "id": 3464, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "20706:7:5", + "src": "20706:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -40718,13 +59693,13 @@ }, { "constant": false, - "id": 1861, + "id": 3467, "mutability": "mutable", "name": "Q1", - "nameLocation": "20734:2:5", + "nameLocation": "20734:2:18", "nodeType": "VariableDeclaration", - "scope": 1930, - "src": "20726:10:5", + "scope": 3536, + "src": "20726:10:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -40732,10 +59707,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1860, + "id": 3466, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "20726:7:5", + "src": "20726:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -40745,13 +59720,13 @@ }, { "constant": false, - "id": 1863, + "id": 3469, "mutability": "mutable", "name": "scalar_u", - "nameLocation": "20785:8:5", + "nameLocation": "20785:8:18", "nodeType": "VariableDeclaration", - "scope": 1930, - "src": "20777:16:5", + "scope": 3536, + "src": "20777:16:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -40759,10 +59734,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1862, + "id": 3468, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "20777:7:5", + "src": "20777:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -40772,13 +59747,13 @@ }, { "constant": false, - "id": 1865, + "id": 3471, "mutability": "mutable", "name": "scalar_v", - "nameLocation": "20811:8:5", + "nameLocation": "20811:8:18", "nodeType": "VariableDeclaration", - "scope": 1930, - "src": "20803:16:5", + "scope": 3536, + "src": "20803:16:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -40786,10 +59761,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1864, + "id": 3470, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "20803:7:5", + "src": "20803:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -40798,21 +59773,21 @@ "visibility": "internal" } ], - "src": "20696:129:5" + "src": "20696:129:18" }, "returnParameters": { - "id": 1871, + "id": 3477, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1868, + "id": 3474, "mutability": "mutable", "name": "X", - "nameLocation": "20857:1:5", + "nameLocation": "20857:1:18", "nodeType": "VariableDeclaration", - "scope": 1930, - "src": "20849:9:5", + "scope": 3536, + "src": "20849:9:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -40820,10 +59795,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1867, + "id": 3473, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "20849:7:5", + "src": "20849:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -40833,13 +59808,13 @@ }, { "constant": false, - "id": 1870, + "id": 3476, "mutability": "mutable", "name": "Y", - "nameLocation": "20868:1:5", + "nameLocation": "20868:1:18", "nodeType": "VariableDeclaration", - "scope": 1930, - "src": "20860:9:5", + "scope": 3536, + "src": "20860:9:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -40847,10 +59822,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1869, + "id": 3475, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "20860:7:5", + "src": "20860:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -40859,39 +59834,39 @@ "visibility": "internal" } ], - "src": "20848:22:5" + "src": "20848:22:18" }, - "scope": 2298, - "src": "20673:6431:5", + "scope": 3904, + "src": "20673:6431:18", "stateMutability": "view", "virtual": false, "visibility": "internal" }, { "body": { - "id": 2073, + "id": 3679, "nodeType": "Block", - "src": "27601:6511:5", + "src": "27601:6511:18", "statements": [ { - "id": 2072, + "id": 3678, "nodeType": "UncheckedBlock", - "src": "27611:6479:5", + "src": "27611:6479:18", "statements": [ { "assignments": [ - 1942 + 3548 ], "declarations": [ { "constant": false, - "id": 1942, + "id": 3548, "mutability": "mutable", "name": "zz", - "nameLocation": "27643:2:5", + "nameLocation": "27643:2:18", "nodeType": "VariableDeclaration", - "scope": 2072, - "src": "27635:10:5", + "scope": 3678, + "src": "27635:10:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -40899,10 +59874,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1941, + "id": 3547, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "27635:7:5", + "src": "27635:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -40911,24 +59886,24 @@ "visibility": "internal" } ], - "id": 1943, + "id": 3549, "nodeType": "VariableDeclarationStatement", - "src": "27635:10:5" + "src": "27635:10:18" }, { "assignments": [ - 1949 + 3555 ], "declarations": [ { "constant": false, - "id": 1949, + "id": 3555, "mutability": "mutable", "name": "T", - "nameLocation": "27717:1:5", + "nameLocation": "27717:1:18", "nodeType": "VariableDeclaration", - "scope": 2072, - "src": "27699:19:5", + "scope": 3678, + "src": "27699:19:18", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -40937,26 +59912,26 @@ }, "typeName": { "baseType": { - "id": 1947, + "id": 3553, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "27699:7:5", + "src": "27699:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1948, + "id": 3554, "length": { "hexValue": "36", - "id": 1946, + "id": 3552, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "27707:1:5", + "src": "27707:1:18", "typeDescriptions": { "typeIdentifier": "t_rational_6_by_1", "typeString": "int_const 6" @@ -40964,7 +59939,7 @@ "value": "6" }, "nodeType": "ArrayTypeName", - "src": "27699:10:5", + "src": "27699:10:18", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_storage_ptr", "typeString": "uint256[6]" @@ -40973,24 +59948,24 @@ "visibility": "internal" } ], - "id": 1950, + "id": 3556, "nodeType": "VariableDeclarationStatement", - "src": "27699:19:5" + "src": "27699:19:18" }, { "expression": { - "id": 1953, + "id": 3559, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 1951, + "id": 3557, "name": "zz", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1942, - "src": "27732:2:5", + "referencedDeclaration": 3548, + "src": "27732:2:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -41000,50 +59975,50 @@ "operator": "=", "rightHandSide": { "hexValue": "323536", - "id": 1952, + "id": 3558, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "27737:3:5", + "src": "27737:3:18", "typeDescriptions": { "typeIdentifier": "t_rational_256_by_1", "typeString": "int_const 256" }, "value": "256" }, - "src": "27732:8:5", + "src": "27732:8:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1954, + "id": 3560, "nodeType": "ExpressionStatement", - "src": "27732:8:5" + "src": "27732:8:18" }, { "body": { - "id": 2069, + "id": 3675, "nodeType": "Block", - "src": "27787:552:5", + "src": "27787:552:18", "statements": [ { "expression": { - "id": 1964, + "id": 3570, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 1960, + "id": 3566, "name": "zz", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1942, - "src": "27805:2:5", + "referencedDeclaration": 3548, + "src": "27805:2:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -41056,18 +60031,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1963, + "id": 3569, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1961, + "id": 3567, "name": "zz", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1942, - "src": "27810:2:5", + "referencedDeclaration": 3548, + "src": "27810:2:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -41077,67 +60052,67 @@ "operator": "-", "rightExpression": { "hexValue": "31", - "id": 1962, + "id": 3568, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "27815:1:5", + "src": "27815:1:18", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "27810:6:5", + "src": "27810:6:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "27805:11:5", + "src": "27805:11:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1965, + "id": 3571, "nodeType": "ExpressionStatement", - "src": "27805:11:5" + "src": "27805:11:18" }, { "expression": { - "id": 2067, + "id": 3673, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 1966, + "id": 3572, "name": "T", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1949, - "src": "27884:1:5", + "referencedDeclaration": 3555, + "src": "27884:1:18", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" } }, - "id": 1968, + "id": 3574, "indexExpression": { "hexValue": "30", - "id": 1967, + "id": 3573, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "27886:1:5", + "src": "27886:1:18", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -41149,7 +60124,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "27884:4:5", + "src": "27884:4:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -41162,21 +60137,21 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2066, + "id": 3672, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "3634", - "id": 1969, + "id": 3575, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "27891:2:5", + "src": "27891:2:18", "typeDescriptions": { "typeIdentifier": "t_rational_64_by_1", "typeString": "int_const 64" @@ -41192,7 +60167,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2064, + "id": 3670, "isConstant": false, "isLValue": false, "isPure": false, @@ -41202,7 +60177,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2053, + "id": 3659, "isConstant": false, "isLValue": false, "isPure": false, @@ -41212,7 +60187,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2040, + "id": 3646, "isConstant": false, "isLValue": false, "isPure": false, @@ -41222,7 +60197,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2027, + "id": 3633, "isConstant": false, "isLValue": false, "isPure": false, @@ -41232,7 +60207,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2017, + "id": 3623, "isConstant": false, "isLValue": false, "isPure": false, @@ -41242,7 +60217,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2004, + "id": 3610, "isConstant": false, "isLValue": false, "isPure": false, @@ -41252,7 +60227,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1991, + "id": 3597, "isConstant": false, "isLValue": false, "isPure": false, @@ -41262,21 +60237,21 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1978, + "id": 3584, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "313238", - "id": 1970, + "id": 3576, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "27942:3:5", + "src": "27942:3:18", "typeDescriptions": { "typeIdentifier": "t_rational_128_by_1", "typeString": "int_const 128" @@ -41292,7 +60267,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1976, + "id": 3582, "isConstant": false, "isLValue": false, "isPure": false, @@ -41304,18 +60279,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1973, + "id": 3579, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1971, + "id": 3577, "name": "scalar_v", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1934, - "src": "27950:8:5", + "referencedDeclaration": 3540, + "src": "27950:8:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -41324,32 +60299,32 @@ "nodeType": "BinaryOperation", "operator": ">>", "rightExpression": { - "id": 1972, + "id": 3578, "name": "zz", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1942, - "src": "27962:2:5", + "referencedDeclaration": 3548, + "src": "27962:2:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "27950:14:5", + "src": "27950:14:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 1974, + "id": 3580, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "27949:16:5", + "src": "27949:16:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -41359,41 +60334,41 @@ "operator": "&", "rightExpression": { "hexValue": "31", - "id": 1975, + "id": 3581, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "27968:1:5", + "src": "27968:1:18", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "27949:20:5", + "src": "27949:20:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 1977, + "id": 3583, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "27948:22:5", + "src": "27948:22:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "27942:28:5", + "src": "27942:28:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -41406,21 +60381,21 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1990, + "id": 3596, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "3634", - "id": 1979, + "id": 3585, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "27973:2:5", + "src": "27973:2:18", "typeDescriptions": { "typeIdentifier": "t_rational_64_by_1", "typeString": "int_const 64" @@ -41436,7 +60411,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1988, + "id": 3594, "isConstant": false, "isLValue": false, "isPure": false, @@ -41448,18 +60423,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1985, + "id": 3591, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1980, + "id": 3586, "name": "scalar_v", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1934, - "src": "27980:8:5", + "referencedDeclaration": 3540, + "src": "27980:8:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -41474,18 +60449,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1983, + "id": 3589, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1981, + "id": 3587, "name": "zz", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1942, - "src": "27993:2:5", + "referencedDeclaration": 3548, + "src": "27993:2:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -41495,55 +60470,55 @@ "operator": "-", "rightExpression": { "hexValue": "3634", - "id": 1982, + "id": 3588, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "27998:2:5", + "src": "27998:2:18", "typeDescriptions": { "typeIdentifier": "t_rational_64_by_1", "typeString": "int_const 64" }, "value": "64" }, - "src": "27993:7:5", + "src": "27993:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 1984, + "id": 3590, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "27992:9:5", + "src": "27992:9:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "27980:21:5", + "src": "27980:21:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 1986, + "id": 3592, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "27979:23:5", + "src": "27979:23:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -41553,47 +60528,47 @@ "operator": "&", "rightExpression": { "hexValue": "31", - "id": 1987, + "id": 3593, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "28005:1:5", + "src": "28005:1:18", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "27979:27:5", + "src": "27979:27:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 1989, + "id": 3595, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "27978:29:5", + "src": "27978:29:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "27973:34:5", + "src": "27973:34:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "27942:65:5", + "src": "27942:65:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -41606,21 +60581,21 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2003, + "id": 3609, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "3332", - "id": 1992, + "id": 3598, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "28038:2:5", + "src": "28038:2:18", "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" @@ -41636,7 +60611,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2001, + "id": 3607, "isConstant": false, "isLValue": false, "isPure": false, @@ -41648,18 +60623,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1998, + "id": 3604, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1993, + "id": 3599, "name": "scalar_v", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1934, - "src": "28045:8:5", + "referencedDeclaration": 3540, + "src": "28045:8:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -41674,18 +60649,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1996, + "id": 3602, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1994, + "id": 3600, "name": "zz", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1942, - "src": "28058:2:5", + "referencedDeclaration": 3548, + "src": "28058:2:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -41695,55 +60670,55 @@ "operator": "-", "rightExpression": { "hexValue": "313238", - "id": 1995, + "id": 3601, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "28063:3:5", + "src": "28063:3:18", "typeDescriptions": { "typeIdentifier": "t_rational_128_by_1", "typeString": "int_const 128" }, "value": "128" }, - "src": "28058:8:5", + "src": "28058:8:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 1997, + "id": 3603, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "28057:10:5", + "src": "28057:10:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "28045:22:5", + "src": "28045:22:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 1999, + "id": 3605, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "28044:24:5", + "src": "28044:24:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -41753,47 +60728,47 @@ "operator": "&", "rightExpression": { "hexValue": "31", - "id": 2000, + "id": 3606, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "28071:1:5", + "src": "28071:1:18", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "28044:28:5", + "src": "28044:28:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 2002, + "id": 3608, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "28043:30:5", + "src": "28043:30:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "28038:35:5", + "src": "28038:35:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "27942:131:5", + "src": "27942:131:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -41806,21 +60781,21 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2016, + "id": 3622, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "3136", - "id": 2005, + "id": 3611, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "28076:2:5", + "src": "28076:2:18", "typeDescriptions": { "typeIdentifier": "t_rational_16_by_1", "typeString": "int_const 16" @@ -41836,7 +60811,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2014, + "id": 3620, "isConstant": false, "isLValue": false, "isPure": false, @@ -41848,18 +60823,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2011, + "id": 3617, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2006, + "id": 3612, "name": "scalar_v", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1934, - "src": "28083:8:5", + "referencedDeclaration": 3540, + "src": "28083:8:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -41874,18 +60849,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2009, + "id": 3615, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2007, + "id": 3613, "name": "zz", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1942, - "src": "28096:2:5", + "referencedDeclaration": 3548, + "src": "28096:2:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -41895,55 +60870,55 @@ "operator": "-", "rightExpression": { "hexValue": "313932", - "id": 2008, + "id": 3614, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "28101:3:5", + "src": "28101:3:18", "typeDescriptions": { "typeIdentifier": "t_rational_192_by_1", "typeString": "int_const 192" }, "value": "192" }, - "src": "28096:8:5", + "src": "28096:8:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 2010, + "id": 3616, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "28095:10:5", + "src": "28095:10:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "28083:22:5", + "src": "28083:22:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 2012, + "id": 3618, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "28082:24:5", + "src": "28082:24:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -41953,47 +60928,47 @@ "operator": "&", "rightExpression": { "hexValue": "31", - "id": 2013, + "id": 3619, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "28109:1:5", + "src": "28109:1:18", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "28082:28:5", + "src": "28082:28:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 2015, + "id": 3621, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "28081:30:5", + "src": "28081:30:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "28076:35:5", + "src": "28076:35:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "27942:169:5", + "src": "27942:169:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -42006,21 +60981,21 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2026, + "id": 3632, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "38", - "id": 2018, + "id": 3624, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "28142:1:5", + "src": "28142:1:18", "typeDescriptions": { "typeIdentifier": "t_rational_8_by_1", "typeString": "int_const 8" @@ -42036,7 +61011,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2024, + "id": 3630, "isConstant": false, "isLValue": false, "isPure": false, @@ -42048,18 +61023,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2021, + "id": 3627, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2019, + "id": 3625, "name": "scalar_u", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1932, - "src": "28148:8:5", + "referencedDeclaration": 3538, + "src": "28148:8:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -42068,32 +61043,32 @@ "nodeType": "BinaryOperation", "operator": ">>", "rightExpression": { - "id": 2020, + "id": 3626, "name": "zz", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1942, - "src": "28160:2:5", + "referencedDeclaration": 3548, + "src": "28160:2:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "28148:14:5", + "src": "28148:14:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 2022, + "id": 3628, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "28147:16:5", + "src": "28147:16:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -42103,47 +61078,47 @@ "operator": "&", "rightExpression": { "hexValue": "31", - "id": 2023, + "id": 3629, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "28166:1:5", + "src": "28166:1:18", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "28147:20:5", + "src": "28147:20:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 2025, + "id": 3631, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "28146:22:5", + "src": "28146:22:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "28142:26:5", + "src": "28142:26:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "27942:226:5", + "src": "27942:226:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -42156,21 +61131,21 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2039, + "id": 3645, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "34", - "id": 2028, + "id": 3634, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "28171:1:5", + "src": "28171:1:18", "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", "typeString": "int_const 4" @@ -42186,7 +61161,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2037, + "id": 3643, "isConstant": false, "isLValue": false, "isPure": false, @@ -42198,18 +61173,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2034, + "id": 3640, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2029, + "id": 3635, "name": "scalar_u", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1932, - "src": "28177:8:5", + "referencedDeclaration": 3538, + "src": "28177:8:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -42224,18 +61199,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2032, + "id": 3638, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2030, + "id": 3636, "name": "zz", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1942, - "src": "28190:2:5", + "referencedDeclaration": 3548, + "src": "28190:2:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -42245,55 +61220,55 @@ "operator": "-", "rightExpression": { "hexValue": "3634", - "id": 2031, + "id": 3637, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "28195:2:5", + "src": "28195:2:18", "typeDescriptions": { "typeIdentifier": "t_rational_64_by_1", "typeString": "int_const 64" }, "value": "64" }, - "src": "28190:7:5", + "src": "28190:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 2033, + "id": 3639, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "28189:9:5", + "src": "28189:9:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "28177:21:5", + "src": "28177:21:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 2035, + "id": 3641, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "28176:23:5", + "src": "28176:23:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -42303,47 +61278,47 @@ "operator": "&", "rightExpression": { "hexValue": "31", - "id": 2036, + "id": 3642, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "28202:1:5", + "src": "28202:1:18", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "28176:27:5", + "src": "28176:27:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 2038, + "id": 3644, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "28175:29:5", + "src": "28175:29:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "28171:33:5", + "src": "28171:33:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "27942:262:5", + "src": "27942:262:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -42356,21 +61331,21 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2052, + "id": 3658, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "32", - "id": 2041, + "id": 3647, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "28235:1:5", + "src": "28235:1:18", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -42386,7 +61361,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2050, + "id": 3656, "isConstant": false, "isLValue": false, "isPure": false, @@ -42398,18 +61373,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2047, + "id": 3653, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2042, + "id": 3648, "name": "scalar_u", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1932, - "src": "28241:8:5", + "referencedDeclaration": 3538, + "src": "28241:8:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -42424,18 +61399,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2045, + "id": 3651, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2043, + "id": 3649, "name": "zz", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1942, - "src": "28254:2:5", + "referencedDeclaration": 3548, + "src": "28254:2:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -42445,55 +61420,55 @@ "operator": "-", "rightExpression": { "hexValue": "313238", - "id": 2044, + "id": 3650, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "28259:3:5", + "src": "28259:3:18", "typeDescriptions": { "typeIdentifier": "t_rational_128_by_1", "typeString": "int_const 128" }, "value": "128" }, - "src": "28254:8:5", + "src": "28254:8:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 2046, + "id": 3652, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "28253:10:5", + "src": "28253:10:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "28241:22:5", + "src": "28241:22:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 2048, + "id": 3654, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "28240:24:5", + "src": "28240:24:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -42503,47 +61478,47 @@ "operator": "&", "rightExpression": { "hexValue": "31", - "id": 2049, + "id": 3655, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "28267:1:5", + "src": "28267:1:18", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "28240:28:5", + "src": "28240:28:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 2051, + "id": 3657, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "28239:30:5", + "src": "28239:30:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "28235:34:5", + "src": "28235:34:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "27942:327:5", + "src": "27942:327:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -42558,7 +61533,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2062, + "id": 3668, "isConstant": false, "isLValue": false, "isPure": false, @@ -42570,18 +61545,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2059, + "id": 3665, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2054, + "id": 3660, "name": "scalar_u", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1932, - "src": "28274:8:5", + "referencedDeclaration": 3538, + "src": "28274:8:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -42596,18 +61571,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2057, + "id": 3663, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2055, + "id": 3661, "name": "zz", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1942, - "src": "28287:2:5", + "referencedDeclaration": 3548, + "src": "28287:2:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -42617,55 +61592,55 @@ "operator": "-", "rightExpression": { "hexValue": "313932", - "id": 2056, + "id": 3662, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "28292:3:5", + "src": "28292:3:18", "typeDescriptions": { "typeIdentifier": "t_rational_192_by_1", "typeString": "int_const 192" }, "value": "192" }, - "src": "28287:8:5", + "src": "28287:8:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 2058, + "id": 3664, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "28286:10:5", + "src": "28286:10:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "28274:22:5", + "src": "28274:22:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 2060, + "id": 3666, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "28273:24:5", + "src": "28273:24:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -42675,75 +61650,75 @@ "operator": "&", "rightExpression": { "hexValue": "31", - "id": 2061, + "id": 3667, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "28300:1:5", + "src": "28300:1:18", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "28273:28:5", + "src": "28273:28:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 2063, + "id": 3669, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "28272:30:5", + "src": "28272:30:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "27942:360:5", + "src": "27942:360:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 2065, + "id": 3671, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "27916:408:5", + "src": "27916:408:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "27891:433:5", + "src": "27891:433:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "27884:440:5", + "src": "27884:440:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2068, + "id": 3674, "nodeType": "ExpressionStatement", - "src": "27884:440:5" + "src": "27884:440:18" } ] }, @@ -42752,35 +61727,35 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1959, + "id": 3565, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "baseExpression": { - "id": 1955, + "id": 3561, "name": "T", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1949, - "src": "27776:1:5", + "referencedDeclaration": 3555, + "src": "27776:1:18", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" } }, - "id": 1957, + "id": 3563, "indexExpression": { "hexValue": "30", - "id": 1956, + "id": 3562, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "27778:1:5", + "src": "27778:1:18", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -42792,7 +61767,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "27776:4:5", + "src": "27776:4:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -42802,467 +61777,467 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 1958, + "id": 3564, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "27784:1:5", + "src": "27784:1:18", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "27776:9:5", + "src": "27776:9:18", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 2070, + "id": 3676, "nodeType": "WhileStatement", - "src": "27769:570:5" + "src": "27769:570:18" }, { "AST": { - "nativeSrc": "28361:5719:5", + "nativeSrc": "28361:5719:18", "nodeType": "YulBlock", - "src": "28361:5719:5", + "src": "28361:5719:18", "statements": [ { "expression": { "arguments": [ { "name": "dataPointer", - "nativeSrc": "28391:11:5", + "nativeSrc": "28391:11:18", "nodeType": "YulIdentifier", - "src": "28391:11:5" + "src": "28391:11:18" }, { "name": "T", - "nativeSrc": "28404:1:5", + "nativeSrc": "28404:1:18", "nodeType": "YulIdentifier", - "src": "28404:1:5" + "src": "28404:1:18" }, { "arguments": [ { "name": "T", - "nativeSrc": "28413:1:5", + "nativeSrc": "28413:1:18", "nodeType": "YulIdentifier", - "src": "28413:1:5" + "src": "28413:1:18" } ], "functionName": { "name": "mload", - "nativeSrc": "28407:5:5", + "nativeSrc": "28407:5:18", "nodeType": "YulIdentifier", - "src": "28407:5:5" + "src": "28407:5:18" }, - "nativeSrc": "28407:8:5", + "nativeSrc": "28407:8:18", "nodeType": "YulFunctionCall", - "src": "28407:8:5" + "src": "28407:8:18" }, { "kind": "number", - "nativeSrc": "28417:2:5", + "nativeSrc": "28417:2:18", "nodeType": "YulLiteral", - "src": "28417:2:5", + "src": "28417:2:18", "type": "", "value": "64" } ], "functionName": { "name": "extcodecopy", - "nativeSrc": "28379:11:5", + "nativeSrc": "28379:11:18", "nodeType": "YulIdentifier", - "src": "28379:11:5" + "src": "28379:11:18" }, - "nativeSrc": "28379:41:5", + "nativeSrc": "28379:41:18", "nodeType": "YulFunctionCall", - "src": "28379:41:5" + "src": "28379:41:18" }, - "nativeSrc": "28379:41:5", + "nativeSrc": "28379:41:18", "nodeType": "YulExpressionStatement", - "src": "28379:41:5" + "src": "28379:41:18" }, { - "nativeSrc": "28437:23:5", + "nativeSrc": "28437:23:18", "nodeType": "YulVariableDeclaration", - "src": "28437:23:5", + "src": "28437:23:18", "value": { "arguments": [ { "name": "zz", - "nativeSrc": "28454:2:5", + "nativeSrc": "28454:2:18", "nodeType": "YulIdentifier", - "src": "28454:2:5" + "src": "28454:2:18" }, { "kind": "number", - "nativeSrc": "28458:1:5", + "nativeSrc": "28458:1:18", "nodeType": "YulLiteral", - "src": "28458:1:5", + "src": "28458:1:18", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "28450:3:5", + "nativeSrc": "28450:3:18", "nodeType": "YulIdentifier", - "src": "28450:3:5" + "src": "28450:3:18" }, - "nativeSrc": "28450:10:5", + "nativeSrc": "28450:10:18", "nodeType": "YulFunctionCall", - "src": "28450:10:5" + "src": "28450:10:18" }, "variables": [ { "name": "index", - "nativeSrc": "28441:5:5", + "nativeSrc": "28441:5:18", "nodeType": "YulTypedName", - "src": "28441:5:5", + "src": "28441:5:18", "type": "" } ] }, { - "nativeSrc": "28477:13:5", + "nativeSrc": "28477:13:18", "nodeType": "YulAssignment", - "src": "28477:13:5", + "src": "28477:13:18", "value": { "arguments": [ { "name": "T", - "nativeSrc": "28488:1:5", + "nativeSrc": "28488:1:18", "nodeType": "YulIdentifier", - "src": "28488:1:5" + "src": "28488:1:18" } ], "functionName": { "name": "mload", - "nativeSrc": "28482:5:5", + "nativeSrc": "28482:5:18", "nodeType": "YulIdentifier", - "src": "28482:5:5" + "src": "28482:5:18" }, - "nativeSrc": "28482:8:5", + "nativeSrc": "28482:8:18", "nodeType": "YulFunctionCall", - "src": "28482:8:5" + "src": "28482:8:18" }, "variableNames": [ { "name": "X", - "nativeSrc": "28477:1:5", + "nativeSrc": "28477:1:18", "nodeType": "YulIdentifier", - "src": "28477:1:5" + "src": "28477:1:18" } ] }, { - "nativeSrc": "28507:26:5", + "nativeSrc": "28507:26:18", "nodeType": "YulVariableDeclaration", - "src": "28507:26:5", + "src": "28507:26:18", "value": { "arguments": [ { "arguments": [ { "name": "T", - "nativeSrc": "28526:1:5", + "nativeSrc": "28526:1:18", "nodeType": "YulIdentifier", - "src": "28526:1:5" + "src": "28526:1:18" }, { "kind": "number", - "nativeSrc": "28529:2:5", + "nativeSrc": "28529:2:18", "nodeType": "YulLiteral", - "src": "28529:2:5", + "src": "28529:2:18", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "28522:3:5", + "nativeSrc": "28522:3:18", "nodeType": "YulIdentifier", - "src": "28522:3:5" + "src": "28522:3:18" }, - "nativeSrc": "28522:10:5", + "nativeSrc": "28522:10:18", "nodeType": "YulFunctionCall", - "src": "28522:10:5" + "src": "28522:10:18" } ], "functionName": { "name": "mload", - "nativeSrc": "28516:5:5", + "nativeSrc": "28516:5:18", "nodeType": "YulIdentifier", - "src": "28516:5:5" + "src": "28516:5:18" }, - "nativeSrc": "28516:17:5", + "nativeSrc": "28516:17:18", "nodeType": "YulFunctionCall", - "src": "28516:17:5" + "src": "28516:17:18" }, "variables": [ { "name": "Y", - "nativeSrc": "28511:1:5", + "nativeSrc": "28511:1:18", "nodeType": "YulTypedName", - "src": "28511:1:5", + "src": "28511:1:18", "type": "" } ] }, { - "nativeSrc": "28550:12:5", + "nativeSrc": "28550:12:18", "nodeType": "YulVariableDeclaration", - "src": "28550:12:5", + "src": "28550:12:18", "value": { "kind": "number", - "nativeSrc": "28561:1:5", + "nativeSrc": "28561:1:18", "nodeType": "YulLiteral", - "src": "28561:1:5", + "src": "28561:1:18", "type": "", "value": "1" }, "variables": [ { "name": "zzz", - "nativeSrc": "28554:3:5", + "nativeSrc": "28554:3:18", "nodeType": "YulTypedName", - "src": "28554:3:5", + "src": "28554:3:18", "type": "" } ] }, { - "nativeSrc": "28579:7:5", + "nativeSrc": "28579:7:18", "nodeType": "YulAssignment", - "src": "28579:7:5", + "src": "28579:7:18", "value": { "kind": "number", - "nativeSrc": "28585:1:5", + "nativeSrc": "28585:1:18", "nodeType": "YulLiteral", - "src": "28585:1:5", + "src": "28585:1:18", "type": "", "value": "1" }, "variableNames": [ { "name": "zz", - "nativeSrc": "28579:2:5", + "nativeSrc": "28579:2:18", "nodeType": "YulIdentifier", - "src": "28579:2:5" + "src": "28579:2:18" } ] }, { "body": { - "nativeSrc": "28734:4501:5", + "nativeSrc": "28734:4501:18", "nodeType": "YulBlock", - "src": "28734:4501:5", + "src": "28734:4501:18", "statements": [ { - "nativeSrc": "28792:1095:5", + "nativeSrc": "28792:1095:18", "nodeType": "YulBlock", - "src": "28792:1095:5", + "src": "28792:1095:18", "statements": [ { - "nativeSrc": "28818:26:5", + "nativeSrc": "28818:26:18", "nodeType": "YulVariableDeclaration", - "src": "28818:26:5", + "src": "28818:26:18", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "28836:1:5", + "nativeSrc": "28836:1:18", "nodeType": "YulLiteral", - "src": "28836:1:5", + "src": "28836:1:18", "type": "", "value": "2" }, { "name": "Y", - "nativeSrc": "28839:1:5", + "nativeSrc": "28839:1:18", "nodeType": "YulIdentifier", - "src": "28839:1:5" + "src": "28839:1:18" }, { "name": "p", - "nativeSrc": "28842:1:5", + "nativeSrc": "28842:1:18", "nodeType": "YulIdentifier", - "src": "28842:1:5" + "src": "28842:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "28829:6:5", + "nativeSrc": "28829:6:18", "nodeType": "YulIdentifier", - "src": "28829:6:5" + "src": "28829:6:18" }, - "nativeSrc": "28829:15:5", + "nativeSrc": "28829:15:18", "nodeType": "YulFunctionCall", - "src": "28829:15:5" + "src": "28829:15:18" }, "variables": [ { "name": "TT1", - "nativeSrc": "28822:3:5", + "nativeSrc": "28822:3:18", "nodeType": "YulTypedName", - "src": "28822:3:5", + "src": "28822:3:18", "type": "" } ] }, { - "nativeSrc": "28888:29:5", + "nativeSrc": "28888:29:18", "nodeType": "YulVariableDeclaration", - "src": "28888:29:5", + "src": "28888:29:18", "value": { "arguments": [ { "name": "TT1", - "nativeSrc": "28905:3:5", + "nativeSrc": "28905:3:18", "nodeType": "YulIdentifier", - "src": "28905:3:5" + "src": "28905:3:18" }, { "name": "TT1", - "nativeSrc": "28910:3:5", + "nativeSrc": "28910:3:18", "nodeType": "YulIdentifier", - "src": "28910:3:5" + "src": "28910:3:18" }, { "name": "p", - "nativeSrc": "28915:1:5", + "nativeSrc": "28915:1:18", "nodeType": "YulIdentifier", - "src": "28915:1:5" + "src": "28915:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "28898:6:5", + "nativeSrc": "28898:6:18", "nodeType": "YulIdentifier", - "src": "28898:6:5" + "src": "28898:6:18" }, - "nativeSrc": "28898:19:5", + "nativeSrc": "28898:19:18", "nodeType": "YulFunctionCall", - "src": "28898:19:5" + "src": "28898:19:18" }, "variables": [ { "name": "T2", - "nativeSrc": "28892:2:5", + "nativeSrc": "28892:2:18", "nodeType": "YulTypedName", - "src": "28892:2:5", + "src": "28892:2:18", "type": "" } ] }, { - "nativeSrc": "28951:26:5", + "nativeSrc": "28951:26:18", "nodeType": "YulVariableDeclaration", - "src": "28951:26:5", + "src": "28951:26:18", "value": { "arguments": [ { "name": "X", - "nativeSrc": "28968:1:5", + "nativeSrc": "28968:1:18", "nodeType": "YulIdentifier", - "src": "28968:1:5" + "src": "28968:1:18" }, { "name": "T2", - "nativeSrc": "28971:2:5", + "nativeSrc": "28971:2:18", "nodeType": "YulIdentifier", - "src": "28971:2:5" + "src": "28971:2:18" }, { "name": "p", - "nativeSrc": "28975:1:5", + "nativeSrc": "28975:1:18", "nodeType": "YulIdentifier", - "src": "28975:1:5" + "src": "28975:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "28961:6:5", + "nativeSrc": "28961:6:18", "nodeType": "YulIdentifier", - "src": "28961:6:5" + "src": "28961:6:18" }, - "nativeSrc": "28961:16:5", + "nativeSrc": "28961:16:18", "nodeType": "YulFunctionCall", - "src": "28961:16:5" + "src": "28961:16:18" }, "variables": [ { "name": "T3", - "nativeSrc": "28955:2:5", + "nativeSrc": "28955:2:18", "nodeType": "YulTypedName", - "src": "28955:2:5", + "src": "28955:2:18", "type": "" } ] }, { - "nativeSrc": "29014:28:5", + "nativeSrc": "29014:28:18", "nodeType": "YulVariableDeclaration", - "src": "29014:28:5", + "src": "29014:28:18", "value": { "arguments": [ { "name": "TT1", - "nativeSrc": "29031:3:5", + "nativeSrc": "29031:3:18", "nodeType": "YulIdentifier", - "src": "29031:3:5" + "src": "29031:3:18" }, { "name": "T2", - "nativeSrc": "29036:2:5", + "nativeSrc": "29036:2:18", "nodeType": "YulIdentifier", - "src": "29036:2:5" + "src": "29036:2:18" }, { "name": "p", - "nativeSrc": "29040:1:5", + "nativeSrc": "29040:1:18", "nodeType": "YulIdentifier", - "src": "29040:1:5" + "src": "29040:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "29024:6:5", + "nativeSrc": "29024:6:18", "nodeType": "YulIdentifier", - "src": "29024:6:5" + "src": "29024:6:18" }, - "nativeSrc": "29024:18:5", + "nativeSrc": "29024:18:18", "nodeType": "YulFunctionCall", - "src": "29024:18:5" + "src": "29024:18:18" }, "variables": [ { "name": "T1", - "nativeSrc": "29018:2:5", + "nativeSrc": "29018:2:18", "nodeType": "YulTypedName", - "src": "29018:2:5", + "src": "29018:2:18", "type": "" } ] }, { - "nativeSrc": "29075:77:5", + "nativeSrc": "29075:77:18", "nodeType": "YulVariableDeclaration", - "src": "29075:77:5", + "src": "29075:77:18", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "29092:1:5", + "nativeSrc": "29092:1:18", "nodeType": "YulLiteral", - "src": "29092:1:5", + "src": "29092:1:18", "type": "", "value": "3" }, @@ -43272,487 +62247,487 @@ "arguments": [ { "name": "X", - "nativeSrc": "29109:1:5", + "nativeSrc": "29109:1:18", "nodeType": "YulIdentifier", - "src": "29109:1:5" + "src": "29109:1:18" }, { "arguments": [ { "name": "p", - "nativeSrc": "29116:1:5", + "nativeSrc": "29116:1:18", "nodeType": "YulIdentifier", - "src": "29116:1:5" + "src": "29116:1:18" }, { "name": "zz", - "nativeSrc": "29119:2:5", + "nativeSrc": "29119:2:18", "nodeType": "YulIdentifier", - "src": "29119:2:5" + "src": "29119:2:18" } ], "functionName": { "name": "sub", - "nativeSrc": "29112:3:5", + "nativeSrc": "29112:3:18", "nodeType": "YulIdentifier", - "src": "29112:3:5" + "src": "29112:3:18" }, - "nativeSrc": "29112:10:5", + "nativeSrc": "29112:10:18", "nodeType": "YulFunctionCall", - "src": "29112:10:5" + "src": "29112:10:18" }, { "name": "p", - "nativeSrc": "29124:1:5", + "nativeSrc": "29124:1:18", "nodeType": "YulIdentifier", - "src": "29124:1:5" + "src": "29124:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "29102:6:5", + "nativeSrc": "29102:6:18", "nodeType": "YulIdentifier", - "src": "29102:6:5" + "src": "29102:6:18" }, - "nativeSrc": "29102:24:5", + "nativeSrc": "29102:24:18", "nodeType": "YulFunctionCall", - "src": "29102:24:5" + "src": "29102:24:18" }, { "arguments": [ { "name": "X", - "nativeSrc": "29135:1:5", + "nativeSrc": "29135:1:18", "nodeType": "YulIdentifier", - "src": "29135:1:5" + "src": "29135:1:18" }, { "name": "zz", - "nativeSrc": "29138:2:5", + "nativeSrc": "29138:2:18", "nodeType": "YulIdentifier", - "src": "29138:2:5" + "src": "29138:2:18" }, { "name": "p", - "nativeSrc": "29142:1:5", + "nativeSrc": "29142:1:18", "nodeType": "YulIdentifier", - "src": "29142:1:5" + "src": "29142:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "29128:6:5", + "nativeSrc": "29128:6:18", "nodeType": "YulIdentifier", - "src": "29128:6:5" + "src": "29128:6:18" }, - "nativeSrc": "29128:16:5", + "nativeSrc": "29128:16:18", "nodeType": "YulFunctionCall", - "src": "29128:16:5" + "src": "29128:16:18" }, { "name": "p", - "nativeSrc": "29146:1:5", + "nativeSrc": "29146:1:18", "nodeType": "YulIdentifier", - "src": "29146:1:5" + "src": "29146:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "29095:6:5", + "nativeSrc": "29095:6:18", "nodeType": "YulIdentifier", - "src": "29095:6:5" + "src": "29095:6:18" }, - "nativeSrc": "29095:53:5", + "nativeSrc": "29095:53:18", "nodeType": "YulFunctionCall", - "src": "29095:53:5" + "src": "29095:53:18" }, { "name": "p", - "nativeSrc": "29150:1:5", + "nativeSrc": "29150:1:18", "nodeType": "YulIdentifier", - "src": "29150:1:5" + "src": "29150:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "29085:6:5", + "nativeSrc": "29085:6:18", "nodeType": "YulIdentifier", - "src": "29085:6:5" + "src": "29085:6:18" }, - "nativeSrc": "29085:67:5", + "nativeSrc": "29085:67:18", "nodeType": "YulFunctionCall", - "src": "29085:67:5" + "src": "29085:67:18" }, "variables": [ { "name": "T4", - "nativeSrc": "29079:2:5", + "nativeSrc": "29079:2:18", "nodeType": "YulTypedName", - "src": "29079:2:5", + "src": "29079:2:18", "type": "" } ] }, { - "nativeSrc": "29201:25:5", + "nativeSrc": "29201:25:18", "nodeType": "YulAssignment", - "src": "29201:25:5", + "src": "29201:25:18", "value": { "arguments": [ { "name": "T1", - "nativeSrc": "29215:2:5", + "nativeSrc": "29215:2:18", "nodeType": "YulIdentifier", - "src": "29215:2:5" + "src": "29215:2:18" }, { "name": "zzz", - "nativeSrc": "29219:3:5", + "nativeSrc": "29219:3:18", "nodeType": "YulIdentifier", - "src": "29219:3:5" + "src": "29219:3:18" }, { "name": "p", - "nativeSrc": "29224:1:5", + "nativeSrc": "29224:1:18", "nodeType": "YulIdentifier", - "src": "29224:1:5" + "src": "29224:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "29208:6:5", + "nativeSrc": "29208:6:18", "nodeType": "YulIdentifier", - "src": "29208:6:5" + "src": "29208:6:18" }, - "nativeSrc": "29208:18:5", + "nativeSrc": "29208:18:18", "nodeType": "YulFunctionCall", - "src": "29208:18:5" + "src": "29208:18:18" }, "variableNames": [ { "name": "zzz", - "nativeSrc": "29201:3:5", + "nativeSrc": "29201:3:18", "nodeType": "YulIdentifier", - "src": "29201:3:5" + "src": "29201:3:18" } ] }, { - "nativeSrc": "29265:23:5", + "nativeSrc": "29265:23:18", "nodeType": "YulAssignment", - "src": "29265:23:5", + "src": "29265:23:18", "value": { "arguments": [ { "name": "T2", - "nativeSrc": "29278:2:5", + "nativeSrc": "29278:2:18", "nodeType": "YulIdentifier", - "src": "29278:2:5" + "src": "29278:2:18" }, { "name": "zz", - "nativeSrc": "29282:2:5", + "nativeSrc": "29282:2:18", "nodeType": "YulIdentifier", - "src": "29282:2:5" + "src": "29282:2:18" }, { "name": "p", - "nativeSrc": "29286:1:5", + "nativeSrc": "29286:1:18", "nodeType": "YulIdentifier", - "src": "29286:1:5" + "src": "29286:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "29271:6:5", + "nativeSrc": "29271:6:18", "nodeType": "YulIdentifier", - "src": "29271:6:5" + "src": "29271:6:18" }, - "nativeSrc": "29271:17:5", + "nativeSrc": "29271:17:18", "nodeType": "YulFunctionCall", - "src": "29271:17:5" + "src": "29271:17:18" }, "variableNames": [ { "name": "zz", - "nativeSrc": "29265:2:5", + "nativeSrc": "29265:2:18", "nodeType": "YulIdentifier", - "src": "29265:2:5" + "src": "29265:2:18" } ] }, { - "nativeSrc": "29334:57:5", + "nativeSrc": "29334:57:18", "nodeType": "YulAssignment", - "src": "29334:57:5", + "src": "29334:57:18", "value": { "arguments": [ { "arguments": [ { "name": "T4", - "nativeSrc": "29353:2:5", + "nativeSrc": "29353:2:18", "nodeType": "YulIdentifier", - "src": "29353:2:5" + "src": "29353:2:18" }, { "name": "T4", - "nativeSrc": "29357:2:5", + "nativeSrc": "29357:2:18", "nodeType": "YulIdentifier", - "src": "29357:2:5" + "src": "29357:2:18" }, { "name": "p", - "nativeSrc": "29361:1:5", + "nativeSrc": "29361:1:18", "nodeType": "YulIdentifier", - "src": "29361:1:5" + "src": "29361:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "29346:6:5", + "nativeSrc": "29346:6:18", "nodeType": "YulIdentifier", - "src": "29346:6:5" + "src": "29346:6:18" }, - "nativeSrc": "29346:17:5", + "nativeSrc": "29346:17:18", "nodeType": "YulFunctionCall", - "src": "29346:17:5" + "src": "29346:17:18" }, { "arguments": [ { "name": "minus_2", - "nativeSrc": "29372:7:5", + "nativeSrc": "29372:7:18", "nodeType": "YulIdentifier", - "src": "29372:7:5" + "src": "29372:7:18" }, { "name": "T3", - "nativeSrc": "29381:2:5", + "nativeSrc": "29381:2:18", "nodeType": "YulIdentifier", - "src": "29381:2:5" + "src": "29381:2:18" }, { "name": "p", - "nativeSrc": "29385:1:5", + "nativeSrc": "29385:1:18", "nodeType": "YulIdentifier", - "src": "29385:1:5" + "src": "29385:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "29365:6:5", + "nativeSrc": "29365:6:18", "nodeType": "YulIdentifier", - "src": "29365:6:5" + "src": "29365:6:18" }, - "nativeSrc": "29365:22:5", + "nativeSrc": "29365:22:18", "nodeType": "YulFunctionCall", - "src": "29365:22:5" + "src": "29365:22:18" }, { "name": "p", - "nativeSrc": "29389:1:5", + "nativeSrc": "29389:1:18", "nodeType": "YulIdentifier", - "src": "29389:1:5" + "src": "29389:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "29339:6:5", + "nativeSrc": "29339:6:18", "nodeType": "YulIdentifier", - "src": "29339:6:5" + "src": "29339:6:18" }, - "nativeSrc": "29339:52:5", + "nativeSrc": "29339:52:18", "nodeType": "YulFunctionCall", - "src": "29339:52:5" + "src": "29339:52:18" }, "variableNames": [ { "name": "X", - "nativeSrc": "29334:1:5", + "nativeSrc": "29334:1:18", "nodeType": "YulIdentifier", - "src": "29334:1:5" + "src": "29334:1:18" } ] }, { - "nativeSrc": "29504:49:5", + "nativeSrc": "29504:49:18", "nodeType": "YulVariableDeclaration", - "src": "29504:49:5", + "src": "29504:49:18", "value": { "arguments": [ { "name": "T4", - "nativeSrc": "29521:2:5", + "nativeSrc": "29521:2:18", "nodeType": "YulIdentifier", - "src": "29521:2:5" + "src": "29521:2:18" }, { "arguments": [ { "name": "X", - "nativeSrc": "29532:1:5", + "nativeSrc": "29532:1:18", "nodeType": "YulIdentifier", - "src": "29532:1:5" + "src": "29532:1:18" }, { "arguments": [ { "name": "p", - "nativeSrc": "29539:1:5", + "nativeSrc": "29539:1:18", "nodeType": "YulIdentifier", - "src": "29539:1:5" + "src": "29539:1:18" }, { "name": "T3", - "nativeSrc": "29542:2:5", + "nativeSrc": "29542:2:18", "nodeType": "YulIdentifier", - "src": "29542:2:5" + "src": "29542:2:18" } ], "functionName": { "name": "sub", - "nativeSrc": "29535:3:5", + "nativeSrc": "29535:3:18", "nodeType": "YulIdentifier", - "src": "29535:3:5" + "src": "29535:3:18" }, - "nativeSrc": "29535:10:5", + "nativeSrc": "29535:10:18", "nodeType": "YulFunctionCall", - "src": "29535:10:5" + "src": "29535:10:18" }, { "name": "p", - "nativeSrc": "29547:1:5", + "nativeSrc": "29547:1:18", "nodeType": "YulIdentifier", - "src": "29547:1:5" + "src": "29547:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "29525:6:5", + "nativeSrc": "29525:6:18", "nodeType": "YulIdentifier", - "src": "29525:6:5" + "src": "29525:6:18" }, - "nativeSrc": "29525:24:5", + "nativeSrc": "29525:24:18", "nodeType": "YulFunctionCall", - "src": "29525:24:5" + "src": "29525:24:18" }, { "name": "p", - "nativeSrc": "29551:1:5", + "nativeSrc": "29551:1:18", "nodeType": "YulIdentifier", - "src": "29551:1:5" + "src": "29551:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "29514:6:5", + "nativeSrc": "29514:6:18", "nodeType": "YulIdentifier", - "src": "29514:6:5" + "src": "29514:6:18" }, - "nativeSrc": "29514:39:5", + "nativeSrc": "29514:39:18", "nodeType": "YulFunctionCall", - "src": "29514:39:5" + "src": "29514:39:18" }, "variables": [ { "name": "T5", - "nativeSrc": "29508:2:5", + "nativeSrc": "29508:2:18", "nodeType": "YulTypedName", - "src": "29508:2:5", + "src": "29508:2:18", "type": "" } ] }, { - "nativeSrc": "29687:36:5", + "nativeSrc": "29687:36:18", "nodeType": "YulAssignment", - "src": "29687:36:5", + "src": "29687:36:18", "value": { "arguments": [ { "arguments": [ { "name": "T1", - "nativeSrc": "29706:2:5", + "nativeSrc": "29706:2:18", "nodeType": "YulIdentifier", - "src": "29706:2:5" + "src": "29706:2:18" }, { "name": "Y", - "nativeSrc": "29710:1:5", + "nativeSrc": "29710:1:18", "nodeType": "YulIdentifier", - "src": "29710:1:5" + "src": "29710:1:18" }, { "name": "p", - "nativeSrc": "29713:1:5", + "nativeSrc": "29713:1:18", "nodeType": "YulIdentifier", - "src": "29713:1:5" + "src": "29713:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "29699:6:5", + "nativeSrc": "29699:6:18", "nodeType": "YulIdentifier", - "src": "29699:6:5" + "src": "29699:6:18" }, - "nativeSrc": "29699:16:5", + "nativeSrc": "29699:16:18", "nodeType": "YulFunctionCall", - "src": "29699:16:5" + "src": "29699:16:18" }, { "name": "T5", - "nativeSrc": "29717:2:5", + "nativeSrc": "29717:2:18", "nodeType": "YulIdentifier", - "src": "29717:2:5" + "src": "29717:2:18" }, { "name": "p", - "nativeSrc": "29721:1:5", + "nativeSrc": "29721:1:18", "nodeType": "YulIdentifier", - "src": "29721:1:5" + "src": "29721:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "29692:6:5", + "nativeSrc": "29692:6:18", "nodeType": "YulIdentifier", - "src": "29692:6:5" + "src": "29692:6:18" }, - "nativeSrc": "29692:31:5", + "nativeSrc": "29692:31:18", "nodeType": "YulFunctionCall", - "src": "29692:31:5" + "src": "29692:31:18" }, "variableNames": [ { "name": "Y", - "nativeSrc": "29687:1:5", + "nativeSrc": "29687:1:18", "nodeType": "YulIdentifier", - "src": "29687:1:5" + "src": "29687:1:18" } ] } ] }, { - "nativeSrc": "29908:1058:5", + "nativeSrc": "29908:1058:18", "nodeType": "YulBlock", - "src": "29908:1058:5", + "src": "29908:1058:18", "statements": [ { - "nativeSrc": "29934:90:5", + "nativeSrc": "29934:90:18", "nodeType": "YulVariableDeclaration", - "src": "29934:90:5", + "src": "29934:90:18", "value": { "arguments": [ { "arguments": [ { "kind": "number", - "nativeSrc": "29952:2:5", + "nativeSrc": "29952:2:18", "nodeType": "YulLiteral", - "src": "29952:2:5", + "src": "29952:2:18", "type": "", "value": "13" }, @@ -43762,64 +62737,64 @@ "arguments": [ { "name": "index", - "nativeSrc": "29964:5:5", + "nativeSrc": "29964:5:18", "nodeType": "YulIdentifier", - "src": "29964:5:5" + "src": "29964:5:18" }, { "name": "scalar_v", - "nativeSrc": "29971:8:5", + "nativeSrc": "29971:8:18", "nodeType": "YulIdentifier", - "src": "29971:8:5" + "src": "29971:8:18" } ], "functionName": { "name": "shr", - "nativeSrc": "29960:3:5", + "nativeSrc": "29960:3:18", "nodeType": "YulIdentifier", - "src": "29960:3:5" + "src": "29960:3:18" }, - "nativeSrc": "29960:20:5", + "nativeSrc": "29960:20:18", "nodeType": "YulFunctionCall", - "src": "29960:20:5" + "src": "29960:20:18" }, { "kind": "number", - "nativeSrc": "29982:1:5", + "nativeSrc": "29982:1:18", "nodeType": "YulLiteral", - "src": "29982:1:5", + "src": "29982:1:18", "type": "", "value": "1" } ], "functionName": { "name": "and", - "nativeSrc": "29956:3:5", + "nativeSrc": "29956:3:18", "nodeType": "YulIdentifier", - "src": "29956:3:5" + "src": "29956:3:18" }, - "nativeSrc": "29956:28:5", + "nativeSrc": "29956:28:18", "nodeType": "YulFunctionCall", - "src": "29956:28:5" + "src": "29956:28:18" } ], "functionName": { "name": "shl", - "nativeSrc": "29948:3:5", + "nativeSrc": "29948:3:18", "nodeType": "YulIdentifier", - "src": "29948:3:5" + "src": "29948:3:18" }, - "nativeSrc": "29948:37:5", + "nativeSrc": "29948:37:18", "nodeType": "YulFunctionCall", - "src": "29948:37:5" + "src": "29948:37:18" }, { "arguments": [ { "kind": "number", - "nativeSrc": "29991:1:5", + "nativeSrc": "29991:1:18", "nodeType": "YulLiteral", - "src": "29991:1:5", + "src": "29991:1:18", "type": "", "value": "9" }, @@ -43829,130 +62804,130 @@ "arguments": [ { "name": "index", - "nativeSrc": "30002:5:5", + "nativeSrc": "30002:5:18", "nodeType": "YulIdentifier", - "src": "30002:5:5" + "src": "30002:5:18" }, { "name": "scalar_u", - "nativeSrc": "30009:8:5", + "nativeSrc": "30009:8:18", "nodeType": "YulIdentifier", - "src": "30009:8:5" + "src": "30009:8:18" } ], "functionName": { "name": "shr", - "nativeSrc": "29998:3:5", + "nativeSrc": "29998:3:18", "nodeType": "YulIdentifier", - "src": "29998:3:5" + "src": "29998:3:18" }, - "nativeSrc": "29998:20:5", + "nativeSrc": "29998:20:18", "nodeType": "YulFunctionCall", - "src": "29998:20:5" + "src": "29998:20:18" }, { "kind": "number", - "nativeSrc": "30020:1:5", + "nativeSrc": "30020:1:18", "nodeType": "YulLiteral", - "src": "30020:1:5", + "src": "30020:1:18", "type": "", "value": "1" } ], "functionName": { "name": "and", - "nativeSrc": "29994:3:5", + "nativeSrc": "29994:3:18", "nodeType": "YulIdentifier", - "src": "29994:3:5" + "src": "29994:3:18" }, - "nativeSrc": "29994:28:5", + "nativeSrc": "29994:28:18", "nodeType": "YulFunctionCall", - "src": "29994:28:5" + "src": "29994:28:18" } ], "functionName": { "name": "shl", - "nativeSrc": "29987:3:5", + "nativeSrc": "29987:3:18", "nodeType": "YulIdentifier", - "src": "29987:3:5" + "src": "29987:3:18" }, - "nativeSrc": "29987:36:5", + "nativeSrc": "29987:36:18", "nodeType": "YulFunctionCall", - "src": "29987:36:5" + "src": "29987:36:18" } ], "functionName": { "name": "add", - "nativeSrc": "29944:3:5", + "nativeSrc": "29944:3:18", "nodeType": "YulIdentifier", - "src": "29944:3:5" + "src": "29944:3:18" }, - "nativeSrc": "29944:80:5", + "nativeSrc": "29944:80:18", "nodeType": "YulFunctionCall", - "src": "29944:80:5" + "src": "29944:80:18" }, "variables": [ { "name": "T4", - "nativeSrc": "29938:2:5", + "nativeSrc": "29938:2:18", "nodeType": "YulTypedName", - "src": "29938:2:5", + "src": "29938:2:18", "type": "" } ] }, { - "nativeSrc": "30049:28:5", + "nativeSrc": "30049:28:18", "nodeType": "YulVariableDeclaration", - "src": "30049:28:5", + "src": "30049:28:18", "value": { "arguments": [ { "name": "index", - "nativeSrc": "30067:5:5", + "nativeSrc": "30067:5:18", "nodeType": "YulIdentifier", - "src": "30067:5:5" + "src": "30067:5:18" }, { "kind": "number", - "nativeSrc": "30074:2:5", + "nativeSrc": "30074:2:18", "nodeType": "YulLiteral", - "src": "30074:2:5", + "src": "30074:2:18", "type": "", "value": "64" } ], "functionName": { "name": "sub", - "nativeSrc": "30063:3:5", + "nativeSrc": "30063:3:18", "nodeType": "YulIdentifier", - "src": "30063:3:5" + "src": "30063:3:18" }, - "nativeSrc": "30063:14:5", + "nativeSrc": "30063:14:18", "nodeType": "YulFunctionCall", - "src": "30063:14:5" + "src": "30063:14:18" }, "variables": [ { "name": "index2", - "nativeSrc": "30053:6:5", + "nativeSrc": "30053:6:18", "nodeType": "YulTypedName", - "src": "30053:6:5", + "src": "30053:6:18", "type": "" } ] }, { - "nativeSrc": "30102:129:5", + "nativeSrc": "30102:129:18", "nodeType": "YulVariableDeclaration", - "src": "30102:129:5", + "src": "30102:129:18", "value": { "arguments": [ { "name": "T4", - "nativeSrc": "30144:2:5", + "nativeSrc": "30144:2:18", "nodeType": "YulIdentifier", - "src": "30144:2:5" + "src": "30144:2:18" }, { "arguments": [ @@ -43960,9 +62935,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "30156:2:5", + "nativeSrc": "30156:2:18", "nodeType": "YulLiteral", - "src": "30156:2:5", + "src": "30156:2:18", "type": "", "value": "12" }, @@ -43972,64 +62947,64 @@ "arguments": [ { "name": "index2", - "nativeSrc": "30168:6:5", + "nativeSrc": "30168:6:18", "nodeType": "YulIdentifier", - "src": "30168:6:5" + "src": "30168:6:18" }, { "name": "scalar_v", - "nativeSrc": "30176:8:5", + "nativeSrc": "30176:8:18", "nodeType": "YulIdentifier", - "src": "30176:8:5" + "src": "30176:8:18" } ], "functionName": { "name": "shr", - "nativeSrc": "30164:3:5", + "nativeSrc": "30164:3:18", "nodeType": "YulIdentifier", - "src": "30164:3:5" + "src": "30164:3:18" }, - "nativeSrc": "30164:21:5", + "nativeSrc": "30164:21:18", "nodeType": "YulFunctionCall", - "src": "30164:21:5" + "src": "30164:21:18" }, { "kind": "number", - "nativeSrc": "30187:1:5", + "nativeSrc": "30187:1:18", "nodeType": "YulLiteral", - "src": "30187:1:5", + "src": "30187:1:18", "type": "", "value": "1" } ], "functionName": { "name": "and", - "nativeSrc": "30160:3:5", + "nativeSrc": "30160:3:18", "nodeType": "YulIdentifier", - "src": "30160:3:5" + "src": "30160:3:18" }, - "nativeSrc": "30160:29:5", + "nativeSrc": "30160:29:18", "nodeType": "YulFunctionCall", - "src": "30160:29:5" + "src": "30160:29:18" } ], "functionName": { "name": "shl", - "nativeSrc": "30152:3:5", + "nativeSrc": "30152:3:18", "nodeType": "YulIdentifier", - "src": "30152:3:5" + "src": "30152:3:18" }, - "nativeSrc": "30152:38:5", + "nativeSrc": "30152:38:18", "nodeType": "YulFunctionCall", - "src": "30152:38:5" + "src": "30152:38:18" }, { "arguments": [ { "kind": "number", - "nativeSrc": "30196:1:5", + "nativeSrc": "30196:1:18", "nodeType": "YulLiteral", - "src": "30196:1:5", + "src": "30196:1:18", "type": "", "value": "8" }, @@ -44039,141 +63014,141 @@ "arguments": [ { "name": "index2", - "nativeSrc": "30207:6:5", + "nativeSrc": "30207:6:18", "nodeType": "YulIdentifier", - "src": "30207:6:5" + "src": "30207:6:18" }, { "name": "scalar_u", - "nativeSrc": "30215:8:5", + "nativeSrc": "30215:8:18", "nodeType": "YulIdentifier", - "src": "30215:8:5" + "src": "30215:8:18" } ], "functionName": { "name": "shr", - "nativeSrc": "30203:3:5", + "nativeSrc": "30203:3:18", "nodeType": "YulIdentifier", - "src": "30203:3:5" + "src": "30203:3:18" }, - "nativeSrc": "30203:21:5", + "nativeSrc": "30203:21:18", "nodeType": "YulFunctionCall", - "src": "30203:21:5" + "src": "30203:21:18" }, { "kind": "number", - "nativeSrc": "30226:1:5", + "nativeSrc": "30226:1:18", "nodeType": "YulLiteral", - "src": "30226:1:5", + "src": "30226:1:18", "type": "", "value": "1" } ], "functionName": { "name": "and", - "nativeSrc": "30199:3:5", + "nativeSrc": "30199:3:18", "nodeType": "YulIdentifier", - "src": "30199:3:5" + "src": "30199:3:18" }, - "nativeSrc": "30199:29:5", + "nativeSrc": "30199:29:18", "nodeType": "YulFunctionCall", - "src": "30199:29:5" + "src": "30199:29:18" } ], "functionName": { "name": "shl", - "nativeSrc": "30192:3:5", + "nativeSrc": "30192:3:18", "nodeType": "YulIdentifier", - "src": "30192:3:5" + "src": "30192:3:18" }, - "nativeSrc": "30192:37:5", + "nativeSrc": "30192:37:18", "nodeType": "YulFunctionCall", - "src": "30192:37:5" + "src": "30192:37:18" } ], "functionName": { "name": "add", - "nativeSrc": "30148:3:5", + "nativeSrc": "30148:3:18", "nodeType": "YulIdentifier", - "src": "30148:3:5" + "src": "30148:3:18" }, - "nativeSrc": "30148:82:5", + "nativeSrc": "30148:82:18", "nodeType": "YulFunctionCall", - "src": "30148:82:5" + "src": "30148:82:18" } ], "functionName": { "name": "add", - "nativeSrc": "30140:3:5", + "nativeSrc": "30140:3:18", "nodeType": "YulIdentifier", - "src": "30140:3:5" + "src": "30140:3:18" }, - "nativeSrc": "30140:91:5", + "nativeSrc": "30140:91:18", "nodeType": "YulFunctionCall", - "src": "30140:91:5" + "src": "30140:91:18" }, "variables": [ { "name": "T3", - "nativeSrc": "30106:2:5", + "nativeSrc": "30106:2:18", "nodeType": "YulTypedName", - "src": "30106:2:5", + "src": "30106:2:18", "type": "" } ] }, { - "nativeSrc": "30256:29:5", + "nativeSrc": "30256:29:18", "nodeType": "YulVariableDeclaration", - "src": "30256:29:5", + "src": "30256:29:18", "value": { "arguments": [ { "name": "index2", - "nativeSrc": "30274:6:5", + "nativeSrc": "30274:6:18", "nodeType": "YulIdentifier", - "src": "30274:6:5" + "src": "30274:6:18" }, { "kind": "number", - "nativeSrc": "30282:2:5", + "nativeSrc": "30282:2:18", "nodeType": "YulLiteral", - "src": "30282:2:5", + "src": "30282:2:18", "type": "", "value": "64" } ], "functionName": { "name": "sub", - "nativeSrc": "30270:3:5", + "nativeSrc": "30270:3:18", "nodeType": "YulIdentifier", - "src": "30270:3:5" + "src": "30270:3:18" }, - "nativeSrc": "30270:15:5", + "nativeSrc": "30270:15:18", "nodeType": "YulFunctionCall", - "src": "30270:15:5" + "src": "30270:15:18" }, "variables": [ { "name": "index3", - "nativeSrc": "30260:6:5", + "nativeSrc": "30260:6:18", "nodeType": "YulTypedName", - "src": "30260:6:5", + "src": "30260:6:18", "type": "" } ] }, { - "nativeSrc": "30310:129:5", + "nativeSrc": "30310:129:18", "nodeType": "YulVariableDeclaration", - "src": "30310:129:5", + "src": "30310:129:18", "value": { "arguments": [ { "name": "T3", - "nativeSrc": "30352:2:5", + "nativeSrc": "30352:2:18", "nodeType": "YulIdentifier", - "src": "30352:2:5" + "src": "30352:2:18" }, { "arguments": [ @@ -44181,9 +63156,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "30364:2:5", + "nativeSrc": "30364:2:18", "nodeType": "YulLiteral", - "src": "30364:2:5", + "src": "30364:2:18", "type": "", "value": "11" }, @@ -44193,64 +63168,64 @@ "arguments": [ { "name": "index3", - "nativeSrc": "30376:6:5", + "nativeSrc": "30376:6:18", "nodeType": "YulIdentifier", - "src": "30376:6:5" + "src": "30376:6:18" }, { "name": "scalar_v", - "nativeSrc": "30384:8:5", + "nativeSrc": "30384:8:18", "nodeType": "YulIdentifier", - "src": "30384:8:5" + "src": "30384:8:18" } ], "functionName": { "name": "shr", - "nativeSrc": "30372:3:5", + "nativeSrc": "30372:3:18", "nodeType": "YulIdentifier", - "src": "30372:3:5" + "src": "30372:3:18" }, - "nativeSrc": "30372:21:5", + "nativeSrc": "30372:21:18", "nodeType": "YulFunctionCall", - "src": "30372:21:5" + "src": "30372:21:18" }, { "kind": "number", - "nativeSrc": "30395:1:5", + "nativeSrc": "30395:1:18", "nodeType": "YulLiteral", - "src": "30395:1:5", + "src": "30395:1:18", "type": "", "value": "1" } ], "functionName": { "name": "and", - "nativeSrc": "30368:3:5", + "nativeSrc": "30368:3:18", "nodeType": "YulIdentifier", - "src": "30368:3:5" + "src": "30368:3:18" }, - "nativeSrc": "30368:29:5", + "nativeSrc": "30368:29:18", "nodeType": "YulFunctionCall", - "src": "30368:29:5" + "src": "30368:29:18" } ], "functionName": { "name": "shl", - "nativeSrc": "30360:3:5", + "nativeSrc": "30360:3:18", "nodeType": "YulIdentifier", - "src": "30360:3:5" + "src": "30360:3:18" }, - "nativeSrc": "30360:38:5", + "nativeSrc": "30360:38:18", "nodeType": "YulFunctionCall", - "src": "30360:38:5" + "src": "30360:38:18" }, { "arguments": [ { "kind": "number", - "nativeSrc": "30404:1:5", + "nativeSrc": "30404:1:18", "nodeType": "YulLiteral", - "src": "30404:1:5", + "src": "30404:1:18", "type": "", "value": "7" }, @@ -44260,140 +63235,140 @@ "arguments": [ { "name": "index3", - "nativeSrc": "30415:6:5", + "nativeSrc": "30415:6:18", "nodeType": "YulIdentifier", - "src": "30415:6:5" + "src": "30415:6:18" }, { "name": "scalar_u", - "nativeSrc": "30423:8:5", + "nativeSrc": "30423:8:18", "nodeType": "YulIdentifier", - "src": "30423:8:5" + "src": "30423:8:18" } ], "functionName": { "name": "shr", - "nativeSrc": "30411:3:5", + "nativeSrc": "30411:3:18", "nodeType": "YulIdentifier", - "src": "30411:3:5" + "src": "30411:3:18" }, - "nativeSrc": "30411:21:5", + "nativeSrc": "30411:21:18", "nodeType": "YulFunctionCall", - "src": "30411:21:5" + "src": "30411:21:18" }, { "kind": "number", - "nativeSrc": "30434:1:5", + "nativeSrc": "30434:1:18", "nodeType": "YulLiteral", - "src": "30434:1:5", + "src": "30434:1:18", "type": "", "value": "1" } ], "functionName": { "name": "and", - "nativeSrc": "30407:3:5", + "nativeSrc": "30407:3:18", "nodeType": "YulIdentifier", - "src": "30407:3:5" + "src": "30407:3:18" }, - "nativeSrc": "30407:29:5", + "nativeSrc": "30407:29:18", "nodeType": "YulFunctionCall", - "src": "30407:29:5" + "src": "30407:29:18" } ], "functionName": { "name": "shl", - "nativeSrc": "30400:3:5", + "nativeSrc": "30400:3:18", "nodeType": "YulIdentifier", - "src": "30400:3:5" + "src": "30400:3:18" }, - "nativeSrc": "30400:37:5", + "nativeSrc": "30400:37:18", "nodeType": "YulFunctionCall", - "src": "30400:37:5" + "src": "30400:37:18" } ], "functionName": { "name": "add", - "nativeSrc": "30356:3:5", + "nativeSrc": "30356:3:18", "nodeType": "YulIdentifier", - "src": "30356:3:5" + "src": "30356:3:18" }, - "nativeSrc": "30356:82:5", + "nativeSrc": "30356:82:18", "nodeType": "YulFunctionCall", - "src": "30356:82:5" + "src": "30356:82:18" } ], "functionName": { "name": "add", - "nativeSrc": "30348:3:5", + "nativeSrc": "30348:3:18", "nodeType": "YulIdentifier", - "src": "30348:3:5" + "src": "30348:3:18" }, - "nativeSrc": "30348:91:5", + "nativeSrc": "30348:91:18", "nodeType": "YulFunctionCall", - "src": "30348:91:5" + "src": "30348:91:18" }, "variables": [ { "name": "T2", - "nativeSrc": "30314:2:5", + "nativeSrc": "30314:2:18", "nodeType": "YulTypedName", - "src": "30314:2:5", + "src": "30314:2:18", "type": "" } ] }, { - "nativeSrc": "30464:24:5", + "nativeSrc": "30464:24:18", "nodeType": "YulAssignment", - "src": "30464:24:5", + "src": "30464:24:18", "value": { "arguments": [ { "name": "index3", - "nativeSrc": "30477:6:5", + "nativeSrc": "30477:6:18", "nodeType": "YulIdentifier", - "src": "30477:6:5" + "src": "30477:6:18" }, { "kind": "number", - "nativeSrc": "30485:2:5", + "nativeSrc": "30485:2:18", "nodeType": "YulLiteral", - "src": "30485:2:5", + "src": "30485:2:18", "type": "", "value": "64" } ], "functionName": { "name": "sub", - "nativeSrc": "30473:3:5", + "nativeSrc": "30473:3:18", "nodeType": "YulIdentifier", - "src": "30473:3:5" + "src": "30473:3:18" }, - "nativeSrc": "30473:15:5", + "nativeSrc": "30473:15:18", "nodeType": "YulFunctionCall", - "src": "30473:15:5" + "src": "30473:15:18" }, "variableNames": [ { "name": "index", - "nativeSrc": "30464:5:5", + "nativeSrc": "30464:5:18", "nodeType": "YulIdentifier", - "src": "30464:5:5" + "src": "30464:5:18" } ] }, { - "nativeSrc": "30513:127:5", + "nativeSrc": "30513:127:18", "nodeType": "YulVariableDeclaration", - "src": "30513:127:5", + "src": "30513:127:18", "value": { "arguments": [ { "name": "T2", - "nativeSrc": "30555:2:5", + "nativeSrc": "30555:2:18", "nodeType": "YulIdentifier", - "src": "30555:2:5" + "src": "30555:2:18" }, { "arguments": [ @@ -44401,9 +63376,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "30567:2:5", + "nativeSrc": "30567:2:18", "nodeType": "YulLiteral", - "src": "30567:2:5", + "src": "30567:2:18", "type": "", "value": "10" }, @@ -44413,64 +63388,64 @@ "arguments": [ { "name": "index", - "nativeSrc": "30579:5:5", + "nativeSrc": "30579:5:18", "nodeType": "YulIdentifier", - "src": "30579:5:5" + "src": "30579:5:18" }, { "name": "scalar_v", - "nativeSrc": "30586:8:5", + "nativeSrc": "30586:8:18", "nodeType": "YulIdentifier", - "src": "30586:8:5" + "src": "30586:8:18" } ], "functionName": { "name": "shr", - "nativeSrc": "30575:3:5", + "nativeSrc": "30575:3:18", "nodeType": "YulIdentifier", - "src": "30575:3:5" + "src": "30575:3:18" }, - "nativeSrc": "30575:20:5", + "nativeSrc": "30575:20:18", "nodeType": "YulFunctionCall", - "src": "30575:20:5" + "src": "30575:20:18" }, { "kind": "number", - "nativeSrc": "30597:1:5", + "nativeSrc": "30597:1:18", "nodeType": "YulLiteral", - "src": "30597:1:5", + "src": "30597:1:18", "type": "", "value": "1" } ], "functionName": { "name": "and", - "nativeSrc": "30571:3:5", + "nativeSrc": "30571:3:18", "nodeType": "YulIdentifier", - "src": "30571:3:5" + "src": "30571:3:18" }, - "nativeSrc": "30571:28:5", + "nativeSrc": "30571:28:18", "nodeType": "YulFunctionCall", - "src": "30571:28:5" + "src": "30571:28:18" } ], "functionName": { "name": "shl", - "nativeSrc": "30563:3:5", + "nativeSrc": "30563:3:18", "nodeType": "YulIdentifier", - "src": "30563:3:5" + "src": "30563:3:18" }, - "nativeSrc": "30563:37:5", + "nativeSrc": "30563:37:18", "nodeType": "YulFunctionCall", - "src": "30563:37:5" + "src": "30563:37:18" }, { "arguments": [ { "kind": "number", - "nativeSrc": "30606:1:5", + "nativeSrc": "30606:1:18", "nodeType": "YulLiteral", - "src": "30606:1:5", + "src": "30606:1:18", "type": "", "value": "6" }, @@ -44480,137 +63455,137 @@ "arguments": [ { "name": "index", - "nativeSrc": "30617:5:5", + "nativeSrc": "30617:5:18", "nodeType": "YulIdentifier", - "src": "30617:5:5" + "src": "30617:5:18" }, { "name": "scalar_u", - "nativeSrc": "30624:8:5", + "nativeSrc": "30624:8:18", "nodeType": "YulIdentifier", - "src": "30624:8:5" + "src": "30624:8:18" } ], "functionName": { "name": "shr", - "nativeSrc": "30613:3:5", + "nativeSrc": "30613:3:18", "nodeType": "YulIdentifier", - "src": "30613:3:5" + "src": "30613:3:18" }, - "nativeSrc": "30613:20:5", + "nativeSrc": "30613:20:18", "nodeType": "YulFunctionCall", - "src": "30613:20:5" + "src": "30613:20:18" }, { "kind": "number", - "nativeSrc": "30635:1:5", + "nativeSrc": "30635:1:18", "nodeType": "YulLiteral", - "src": "30635:1:5", + "src": "30635:1:18", "type": "", "value": "1" } ], "functionName": { "name": "and", - "nativeSrc": "30609:3:5", + "nativeSrc": "30609:3:18", "nodeType": "YulIdentifier", - "src": "30609:3:5" + "src": "30609:3:18" }, - "nativeSrc": "30609:28:5", + "nativeSrc": "30609:28:18", "nodeType": "YulFunctionCall", - "src": "30609:28:5" + "src": "30609:28:18" } ], "functionName": { "name": "shl", - "nativeSrc": "30602:3:5", + "nativeSrc": "30602:3:18", "nodeType": "YulIdentifier", - "src": "30602:3:5" + "src": "30602:3:18" }, - "nativeSrc": "30602:36:5", + "nativeSrc": "30602:36:18", "nodeType": "YulFunctionCall", - "src": "30602:36:5" + "src": "30602:36:18" } ], "functionName": { "name": "add", - "nativeSrc": "30559:3:5", + "nativeSrc": "30559:3:18", "nodeType": "YulIdentifier", - "src": "30559:3:5" + "src": "30559:3:18" }, - "nativeSrc": "30559:80:5", + "nativeSrc": "30559:80:18", "nodeType": "YulFunctionCall", - "src": "30559:80:5" + "src": "30559:80:18" } ], "functionName": { "name": "add", - "nativeSrc": "30551:3:5", + "nativeSrc": "30551:3:18", "nodeType": "YulIdentifier", - "src": "30551:3:5" + "src": "30551:3:18" }, - "nativeSrc": "30551:89:5", + "nativeSrc": "30551:89:18", "nodeType": "YulFunctionCall", - "src": "30551:89:5" + "src": "30551:89:18" }, "variables": [ { "name": "T1", - "nativeSrc": "30517:2:5", + "nativeSrc": "30517:2:18", "nodeType": "YulTypedName", - "src": "30517:2:5", + "src": "30517:2:18", "type": "" } ] }, { "body": { - "nativeSrc": "30776:108:5", + "nativeSrc": "30776:108:18", "nodeType": "YulBlock", - "src": "30776:108:5", + "src": "30776:108:18", "statements": [ { - "nativeSrc": "30806:14:5", + "nativeSrc": "30806:14:18", "nodeType": "YulAssignment", - "src": "30806:14:5", + "src": "30806:14:18", "value": { "arguments": [ { "name": "p", - "nativeSrc": "30815:1:5", + "nativeSrc": "30815:1:18", "nodeType": "YulIdentifier", - "src": "30815:1:5" + "src": "30815:1:18" }, { "name": "Y", - "nativeSrc": "30818:1:5", + "nativeSrc": "30818:1:18", "nodeType": "YulIdentifier", - "src": "30818:1:5" + "src": "30818:1:18" } ], "functionName": { "name": "sub", - "nativeSrc": "30811:3:5", + "nativeSrc": "30811:3:18", "nodeType": "YulIdentifier", - "src": "30811:3:5" + "src": "30811:3:18" }, - "nativeSrc": "30811:9:5", + "nativeSrc": "30811:9:18", "nodeType": "YulFunctionCall", - "src": "30811:9:5" + "src": "30811:9:18" }, "variableNames": [ { "name": "Y", - "nativeSrc": "30806:1:5", + "nativeSrc": "30806:1:18", "nodeType": "YulIdentifier", - "src": "30806:1:5" + "src": "30806:1:18" } ] }, { - "nativeSrc": "30850:8:5", + "nativeSrc": "30850:8:18", "nodeType": "YulContinue", - "src": "30850:8:5" + "src": "30850:8:18" } ] }, @@ -44618,213 +63593,213 @@ "arguments": [ { "name": "T1", - "nativeSrc": "30772:2:5", + "nativeSrc": "30772:2:18", "nodeType": "YulIdentifier", - "src": "30772:2:5" + "src": "30772:2:18" } ], "functionName": { "name": "iszero", - "nativeSrc": "30765:6:5", + "nativeSrc": "30765:6:18", "nodeType": "YulIdentifier", - "src": "30765:6:5" + "src": "30765:6:18" }, - "nativeSrc": "30765:10:5", + "nativeSrc": "30765:10:18", "nodeType": "YulFunctionCall", - "src": "30765:10:5" + "src": "30765:10:18" }, - "nativeSrc": "30762:122:5", + "nativeSrc": "30762:122:18", "nodeType": "YulIf", - "src": "30762:122:5" + "src": "30762:122:18" }, { "expression": { "arguments": [ { "name": "dataPointer", - "nativeSrc": "30921:11:5", + "nativeSrc": "30921:11:18", "nodeType": "YulIdentifier", - "src": "30921:11:5" + "src": "30921:11:18" }, { "name": "T", - "nativeSrc": "30934:1:5", + "nativeSrc": "30934:1:18", "nodeType": "YulIdentifier", - "src": "30934:1:5" + "src": "30934:1:18" }, { "name": "T1", - "nativeSrc": "30937:2:5", + "nativeSrc": "30937:2:18", "nodeType": "YulIdentifier", - "src": "30937:2:5" + "src": "30937:2:18" }, { "kind": "number", - "nativeSrc": "30941:2:5", + "nativeSrc": "30941:2:18", "nodeType": "YulLiteral", - "src": "30941:2:5", + "src": "30941:2:18", "type": "", "value": "64" } ], "functionName": { "name": "extcodecopy", - "nativeSrc": "30909:11:5", + "nativeSrc": "30909:11:18", "nodeType": "YulIdentifier", - "src": "30909:11:5" + "src": "30909:11:18" }, - "nativeSrc": "30909:35:5", + "nativeSrc": "30909:35:18", "nodeType": "YulFunctionCall", - "src": "30909:35:5" + "src": "30909:35:18" }, - "nativeSrc": "30909:35:5", + "nativeSrc": "30909:35:18", "nodeType": "YulExpressionStatement", - "src": "30909:35:5" + "src": "30909:35:18" } ] }, { - "nativeSrc": "30988:2229:5", + "nativeSrc": "30988:2229:18", "nodeType": "YulBlock", - "src": "30988:2229:5", + "src": "30988:2229:18", "statements": [ { "body": { - "nativeSrc": "31155:231:5", + "nativeSrc": "31155:231:18", "nodeType": "YulBlock", - "src": "31155:231:5", + "src": "31155:231:18", "statements": [ { - "nativeSrc": "31185:13:5", + "nativeSrc": "31185:13:18", "nodeType": "YulAssignment", - "src": "31185:13:5", + "src": "31185:13:18", "value": { "arguments": [ { "name": "T", - "nativeSrc": "31196:1:5", + "nativeSrc": "31196:1:18", "nodeType": "YulIdentifier", - "src": "31196:1:5" + "src": "31196:1:18" } ], "functionName": { "name": "mload", - "nativeSrc": "31190:5:5", + "nativeSrc": "31190:5:18", "nodeType": "YulIdentifier", - "src": "31190:5:5" + "src": "31190:5:18" }, - "nativeSrc": "31190:8:5", + "nativeSrc": "31190:8:18", "nodeType": "YulFunctionCall", - "src": "31190:8:5" + "src": "31190:8:18" }, "variableNames": [ { "name": "X", - "nativeSrc": "31185:1:5", + "nativeSrc": "31185:1:18", "nodeType": "YulIdentifier", - "src": "31185:1:5" + "src": "31185:1:18" } ] }, { - "nativeSrc": "31227:22:5", + "nativeSrc": "31227:22:18", "nodeType": "YulAssignment", - "src": "31227:22:5", + "src": "31227:22:18", "value": { "arguments": [ { "arguments": [ { "name": "T", - "nativeSrc": "31242:1:5", + "nativeSrc": "31242:1:18", "nodeType": "YulIdentifier", - "src": "31242:1:5" + "src": "31242:1:18" }, { "kind": "number", - "nativeSrc": "31245:2:5", + "nativeSrc": "31245:2:18", "nodeType": "YulLiteral", - "src": "31245:2:5", + "src": "31245:2:18", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "31238:3:5", + "nativeSrc": "31238:3:18", "nodeType": "YulIdentifier", - "src": "31238:3:5" + "src": "31238:3:18" }, - "nativeSrc": "31238:10:5", + "nativeSrc": "31238:10:18", "nodeType": "YulFunctionCall", - "src": "31238:10:5" + "src": "31238:10:18" } ], "functionName": { "name": "mload", - "nativeSrc": "31232:5:5", + "nativeSrc": "31232:5:18", "nodeType": "YulIdentifier", - "src": "31232:5:5" + "src": "31232:5:18" }, - "nativeSrc": "31232:17:5", + "nativeSrc": "31232:17:18", "nodeType": "YulFunctionCall", - "src": "31232:17:5" + "src": "31232:17:18" }, "variableNames": [ { "name": "Y", - "nativeSrc": "31227:1:5", + "nativeSrc": "31227:1:18", "nodeType": "YulIdentifier", - "src": "31227:1:5" + "src": "31227:1:18" } ] }, { - "nativeSrc": "31278:7:5", + "nativeSrc": "31278:7:18", "nodeType": "YulAssignment", - "src": "31278:7:5", + "src": "31278:7:18", "value": { "kind": "number", - "nativeSrc": "31284:1:5", + "nativeSrc": "31284:1:18", "nodeType": "YulLiteral", - "src": "31284:1:5", + "src": "31284:1:18", "type": "", "value": "1" }, "variableNames": [ { "name": "zz", - "nativeSrc": "31278:2:5", + "nativeSrc": "31278:2:18", "nodeType": "YulIdentifier", - "src": "31278:2:5" + "src": "31278:2:18" } ] }, { - "nativeSrc": "31314:8:5", + "nativeSrc": "31314:8:18", "nodeType": "YulAssignment", - "src": "31314:8:5", + "src": "31314:8:18", "value": { "kind": "number", - "nativeSrc": "31321:1:5", + "nativeSrc": "31321:1:18", "nodeType": "YulLiteral", - "src": "31321:1:5", + "src": "31321:1:18", "type": "", "value": "1" }, "variableNames": [ { "name": "zzz", - "nativeSrc": "31314:3:5", + "nativeSrc": "31314:3:18", "nodeType": "YulIdentifier", - "src": "31314:3:5" + "src": "31314:3:18" } ] }, { - "nativeSrc": "31352:8:5", + "nativeSrc": "31352:8:18", "nodeType": "YulContinue", - "src": "31352:8:5" + "src": "31352:8:18" } ] }, @@ -44832,29 +63807,29 @@ "arguments": [ { "name": "zz", - "nativeSrc": "31151:2:5", + "nativeSrc": "31151:2:18", "nodeType": "YulIdentifier", - "src": "31151:2:5" + "src": "31151:2:18" } ], "functionName": { "name": "iszero", - "nativeSrc": "31144:6:5", + "nativeSrc": "31144:6:18", "nodeType": "YulIdentifier", - "src": "31144:6:5" + "src": "31144:6:18" }, - "nativeSrc": "31144:10:5", + "nativeSrc": "31144:10:18", "nodeType": "YulFunctionCall", - "src": "31144:10:5" + "src": "31144:10:18" }, - "nativeSrc": "31141:245:5", + "nativeSrc": "31141:245:18", "nodeType": "YulIf", - "src": "31141:245:5" + "src": "31141:245:18" }, { - "nativeSrc": "31412:57:5", + "nativeSrc": "31412:57:18", "nodeType": "YulVariableDeclaration", - "src": "31412:57:5", + "src": "31412:57:18", "value": { "arguments": [ { @@ -44865,100 +63840,100 @@ "arguments": [ { "name": "T", - "nativeSrc": "31446:1:5", + "nativeSrc": "31446:1:18", "nodeType": "YulIdentifier", - "src": "31446:1:5" + "src": "31446:1:18" }, { "kind": "number", - "nativeSrc": "31449:2:5", + "nativeSrc": "31449:2:18", "nodeType": "YulLiteral", - "src": "31449:2:5", + "src": "31449:2:18", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "31442:3:5", + "nativeSrc": "31442:3:18", "nodeType": "YulIdentifier", - "src": "31442:3:5" + "src": "31442:3:18" }, - "nativeSrc": "31442:10:5", + "nativeSrc": "31442:10:18", "nodeType": "YulFunctionCall", - "src": "31442:10:5" + "src": "31442:10:18" } ], "functionName": { "name": "mload", - "nativeSrc": "31436:5:5", + "nativeSrc": "31436:5:18", "nodeType": "YulIdentifier", - "src": "31436:5:5" + "src": "31436:5:18" }, - "nativeSrc": "31436:17:5", + "nativeSrc": "31436:17:18", "nodeType": "YulFunctionCall", - "src": "31436:17:5" + "src": "31436:17:18" }, { "name": "zzz", - "nativeSrc": "31455:3:5", + "nativeSrc": "31455:3:18", "nodeType": "YulIdentifier", - "src": "31455:3:5" + "src": "31455:3:18" }, { "name": "p", - "nativeSrc": "31460:1:5", + "nativeSrc": "31460:1:18", "nodeType": "YulIdentifier", - "src": "31460:1:5" + "src": "31460:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "31429:6:5", + "nativeSrc": "31429:6:18", "nodeType": "YulIdentifier", - "src": "31429:6:5" + "src": "31429:6:18" }, - "nativeSrc": "31429:33:5", + "nativeSrc": "31429:33:18", "nodeType": "YulFunctionCall", - "src": "31429:33:5" + "src": "31429:33:18" }, { "name": "Y", - "nativeSrc": "31464:1:5", + "nativeSrc": "31464:1:18", "nodeType": "YulIdentifier", - "src": "31464:1:5" + "src": "31464:1:18" }, { "name": "p", - "nativeSrc": "31467:1:5", + "nativeSrc": "31467:1:18", "nodeType": "YulIdentifier", - "src": "31467:1:5" + "src": "31467:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "31422:6:5", + "nativeSrc": "31422:6:18", "nodeType": "YulIdentifier", - "src": "31422:6:5" + "src": "31422:6:18" }, - "nativeSrc": "31422:47:5", + "nativeSrc": "31422:47:18", "nodeType": "YulFunctionCall", - "src": "31422:47:5" + "src": "31422:47:18" }, "variables": [ { "name": "y2", - "nativeSrc": "31416:2:5", + "nativeSrc": "31416:2:18", "nodeType": "YulTypedName", - "src": "31416:2:5", + "src": "31416:2:18", "type": "" } ] }, { - "nativeSrc": "31494:55:5", + "nativeSrc": "31494:55:18", "nodeType": "YulVariableDeclaration", - "src": "31494:55:5", + "src": "31494:55:18", "value": { "arguments": [ { @@ -44967,789 +63942,789 @@ "arguments": [ { "name": "T", - "nativeSrc": "31524:1:5", + "nativeSrc": "31524:1:18", "nodeType": "YulIdentifier", - "src": "31524:1:5" + "src": "31524:1:18" } ], "functionName": { "name": "mload", - "nativeSrc": "31518:5:5", + "nativeSrc": "31518:5:18", "nodeType": "YulIdentifier", - "src": "31518:5:5" + "src": "31518:5:18" }, - "nativeSrc": "31518:8:5", + "nativeSrc": "31518:8:18", "nodeType": "YulFunctionCall", - "src": "31518:8:5" + "src": "31518:8:18" }, { "name": "zz", - "nativeSrc": "31528:2:5", + "nativeSrc": "31528:2:18", "nodeType": "YulIdentifier", - "src": "31528:2:5" + "src": "31528:2:18" }, { "name": "p", - "nativeSrc": "31532:1:5", + "nativeSrc": "31532:1:18", "nodeType": "YulIdentifier", - "src": "31532:1:5" + "src": "31532:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "31511:6:5", + "nativeSrc": "31511:6:18", "nodeType": "YulIdentifier", - "src": "31511:6:5" + "src": "31511:6:18" }, - "nativeSrc": "31511:23:5", + "nativeSrc": "31511:23:18", "nodeType": "YulFunctionCall", - "src": "31511:23:5" + "src": "31511:23:18" }, { "arguments": [ { "name": "p", - "nativeSrc": "31540:1:5", + "nativeSrc": "31540:1:18", "nodeType": "YulIdentifier", - "src": "31540:1:5" + "src": "31540:1:18" }, { "name": "X", - "nativeSrc": "31543:1:5", + "nativeSrc": "31543:1:18", "nodeType": "YulIdentifier", - "src": "31543:1:5" + "src": "31543:1:18" } ], "functionName": { "name": "sub", - "nativeSrc": "31536:3:5", + "nativeSrc": "31536:3:18", "nodeType": "YulIdentifier", - "src": "31536:3:5" + "src": "31536:3:18" }, - "nativeSrc": "31536:9:5", + "nativeSrc": "31536:9:18", "nodeType": "YulFunctionCall", - "src": "31536:9:5" + "src": "31536:9:18" }, { "name": "p", - "nativeSrc": "31547:1:5", + "nativeSrc": "31547:1:18", "nodeType": "YulIdentifier", - "src": "31547:1:5" + "src": "31547:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "31504:6:5", + "nativeSrc": "31504:6:18", "nodeType": "YulIdentifier", - "src": "31504:6:5" + "src": "31504:6:18" }, - "nativeSrc": "31504:45:5", + "nativeSrc": "31504:45:18", "nodeType": "YulFunctionCall", - "src": "31504:45:5" + "src": "31504:45:18" }, "variables": [ { "name": "T2", - "nativeSrc": "31498:2:5", + "nativeSrc": "31498:2:18", "nodeType": "YulTypedName", - "src": "31498:2:5", + "src": "31498:2:18", "type": "" } ] }, { "body": { - "nativeSrc": "31645:1041:5", + "nativeSrc": "31645:1041:18", "nodeType": "YulBlock", - "src": "31645:1041:5", + "src": "31645:1041:18", "statements": [ { "body": { - "nativeSrc": "31689:971:5", + "nativeSrc": "31689:971:18", "nodeType": "YulBlock", - "src": "31689:971:5", + "src": "31689:971:18", "statements": [ { - "nativeSrc": "31723:31:5", + "nativeSrc": "31723:31:18", "nodeType": "YulVariableDeclaration", - "src": "31723:31:5", + "src": "31723:31:18", "value": { "arguments": [ { "name": "minus_2", - "nativeSrc": "31740:7:5", + "nativeSrc": "31740:7:18", "nodeType": "YulIdentifier", - "src": "31740:7:5" + "src": "31740:7:18" }, { "name": "Y", - "nativeSrc": "31749:1:5", + "nativeSrc": "31749:1:18", "nodeType": "YulIdentifier", - "src": "31749:1:5" + "src": "31749:1:18" }, { "name": "p", - "nativeSrc": "31752:1:5", + "nativeSrc": "31752:1:18", "nodeType": "YulIdentifier", - "src": "31752:1:5" + "src": "31752:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "31733:6:5", + "nativeSrc": "31733:6:18", "nodeType": "YulIdentifier", - "src": "31733:6:5" + "src": "31733:6:18" }, - "nativeSrc": "31733:21:5", + "nativeSrc": "31733:21:18", "nodeType": "YulFunctionCall", - "src": "31733:21:5" + "src": "31733:21:18" }, "variables": [ { "name": "T1", - "nativeSrc": "31727:2:5", + "nativeSrc": "31727:2:18", "nodeType": "YulTypedName", - "src": "31727:2:5", + "src": "31727:2:18", "type": "" } ] }, { - "nativeSrc": "31806:23:5", + "nativeSrc": "31806:23:18", "nodeType": "YulAssignment", - "src": "31806:23:5", + "src": "31806:23:18", "value": { "arguments": [ { "name": "T1", - "nativeSrc": "31819:2:5", + "nativeSrc": "31819:2:18", "nodeType": "YulIdentifier", - "src": "31819:2:5" + "src": "31819:2:18" }, { "name": "T1", - "nativeSrc": "31823:2:5", + "nativeSrc": "31823:2:18", "nodeType": "YulIdentifier", - "src": "31823:2:5" + "src": "31823:2:18" }, { "name": "p", - "nativeSrc": "31827:1:5", + "nativeSrc": "31827:1:18", "nodeType": "YulIdentifier", - "src": "31827:1:5" + "src": "31827:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "31812:6:5", + "nativeSrc": "31812:6:18", "nodeType": "YulIdentifier", - "src": "31812:6:5" + "src": "31812:6:18" }, - "nativeSrc": "31812:17:5", + "nativeSrc": "31812:17:18", "nodeType": "YulFunctionCall", - "src": "31812:17:5" + "src": "31812:17:18" }, "variableNames": [ { "name": "T2", - "nativeSrc": "31806:2:5", + "nativeSrc": "31806:2:18", "nodeType": "YulIdentifier", - "src": "31806:2:5" + "src": "31806:2:18" } ] }, { - "nativeSrc": "31871:26:5", + "nativeSrc": "31871:26:18", "nodeType": "YulVariableDeclaration", - "src": "31871:26:5", + "src": "31871:26:18", "value": { "arguments": [ { "name": "X", - "nativeSrc": "31888:1:5", + "nativeSrc": "31888:1:18", "nodeType": "YulIdentifier", - "src": "31888:1:5" + "src": "31888:1:18" }, { "name": "T2", - "nativeSrc": "31891:2:5", + "nativeSrc": "31891:2:18", "nodeType": "YulIdentifier", - "src": "31891:2:5" + "src": "31891:2:18" }, { "name": "p", - "nativeSrc": "31895:1:5", + "nativeSrc": "31895:1:18", "nodeType": "YulIdentifier", - "src": "31895:1:5" + "src": "31895:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "31881:6:5", + "nativeSrc": "31881:6:18", "nodeType": "YulIdentifier", - "src": "31881:6:5" + "src": "31881:6:18" }, - "nativeSrc": "31881:16:5", + "nativeSrc": "31881:16:18", "nodeType": "YulFunctionCall", - "src": "31881:16:5" + "src": "31881:16:18" }, "variables": [ { "name": "T3", - "nativeSrc": "31875:2:5", + "nativeSrc": "31875:2:18", "nodeType": "YulTypedName", - "src": "31875:2:5", + "src": "31875:2:18", "type": "" } ] }, { - "nativeSrc": "31943:23:5", + "nativeSrc": "31943:23:18", "nodeType": "YulAssignment", - "src": "31943:23:5", + "src": "31943:23:18", "value": { "arguments": [ { "name": "T1", - "nativeSrc": "31956:2:5", + "nativeSrc": "31956:2:18", "nodeType": "YulIdentifier", - "src": "31956:2:5" + "src": "31956:2:18" }, { "name": "T2", - "nativeSrc": "31960:2:5", + "nativeSrc": "31960:2:18", "nodeType": "YulIdentifier", - "src": "31960:2:5" + "src": "31960:2:18" }, { "name": "p", - "nativeSrc": "31964:1:5", + "nativeSrc": "31964:1:18", "nodeType": "YulIdentifier", - "src": "31964:1:5" + "src": "31964:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "31949:6:5", + "nativeSrc": "31949:6:18", "nodeType": "YulIdentifier", - "src": "31949:6:5" + "src": "31949:6:18" }, - "nativeSrc": "31949:17:5", + "nativeSrc": "31949:17:18", "nodeType": "YulFunctionCall", - "src": "31949:17:5" + "src": "31949:17:18" }, "variableNames": [ { "name": "T1", - "nativeSrc": "31943:2:5", + "nativeSrc": "31943:2:18", "nodeType": "YulIdentifier", - "src": "31943:2:5" + "src": "31943:2:18" } ] }, { - "nativeSrc": "32007:59:5", + "nativeSrc": "32007:59:18", "nodeType": "YulAssignment", - "src": "32007:59:5", + "src": "32007:59:18", "value": { "arguments": [ { "arguments": [ { "name": "X", - "nativeSrc": "32027:1:5", + "nativeSrc": "32027:1:18", "nodeType": "YulIdentifier", - "src": "32027:1:5" + "src": "32027:1:18" }, { "name": "zz", - "nativeSrc": "32030:2:5", + "nativeSrc": "32030:2:18", "nodeType": "YulIdentifier", - "src": "32030:2:5" + "src": "32030:2:18" }, { "name": "p", - "nativeSrc": "32034:1:5", + "nativeSrc": "32034:1:18", "nodeType": "YulIdentifier", - "src": "32034:1:5" + "src": "32034:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "32020:6:5", + "nativeSrc": "32020:6:18", "nodeType": "YulIdentifier", - "src": "32020:6:5" + "src": "32020:6:18" }, - "nativeSrc": "32020:16:5", + "nativeSrc": "32020:16:18", "nodeType": "YulFunctionCall", - "src": "32020:16:5" + "src": "32020:16:18" }, { "arguments": [ { "name": "X", - "nativeSrc": "32045:1:5", + "nativeSrc": "32045:1:18", "nodeType": "YulIdentifier", - "src": "32045:1:5" + "src": "32045:1:18" }, { "arguments": [ { "name": "p", - "nativeSrc": "32052:1:5", + "nativeSrc": "32052:1:18", "nodeType": "YulIdentifier", - "src": "32052:1:5" + "src": "32052:1:18" }, { "name": "zz", - "nativeSrc": "32055:2:5", + "nativeSrc": "32055:2:18", "nodeType": "YulIdentifier", - "src": "32055:2:5" + "src": "32055:2:18" } ], "functionName": { "name": "sub", - "nativeSrc": "32048:3:5", + "nativeSrc": "32048:3:18", "nodeType": "YulIdentifier", - "src": "32048:3:5" + "src": "32048:3:18" }, - "nativeSrc": "32048:10:5", + "nativeSrc": "32048:10:18", "nodeType": "YulFunctionCall", - "src": "32048:10:5" + "src": "32048:10:18" }, { "name": "p", - "nativeSrc": "32060:1:5", + "nativeSrc": "32060:1:18", "nodeType": "YulIdentifier", - "src": "32060:1:5" + "src": "32060:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "32038:6:5", + "nativeSrc": "32038:6:18", "nodeType": "YulIdentifier", - "src": "32038:6:5" + "src": "32038:6:18" }, - "nativeSrc": "32038:24:5", + "nativeSrc": "32038:24:18", "nodeType": "YulFunctionCall", - "src": "32038:24:5" + "src": "32038:24:18" }, { "name": "p", - "nativeSrc": "32064:1:5", + "nativeSrc": "32064:1:18", "nodeType": "YulIdentifier", - "src": "32064:1:5" + "src": "32064:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "32013:6:5", + "nativeSrc": "32013:6:18", "nodeType": "YulIdentifier", - "src": "32013:6:5" + "src": "32013:6:18" }, - "nativeSrc": "32013:53:5", + "nativeSrc": "32013:53:18", "nodeType": "YulFunctionCall", - "src": "32013:53:5" + "src": "32013:53:18" }, "variableNames": [ { "name": "y2", - "nativeSrc": "32007:2:5", + "nativeSrc": "32007:2:18", "nodeType": "YulIdentifier", - "src": "32007:2:5" + "src": "32007:2:18" } ] }, { - "nativeSrc": "32114:26:5", + "nativeSrc": "32114:26:18", "nodeType": "YulVariableDeclaration", - "src": "32114:26:5", + "src": "32114:26:18", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "32131:1:5", + "nativeSrc": "32131:1:18", "nodeType": "YulLiteral", - "src": "32131:1:5", + "src": "32131:1:18", "type": "", "value": "3" }, { "name": "y2", - "nativeSrc": "32134:2:5", + "nativeSrc": "32134:2:18", "nodeType": "YulIdentifier", - "src": "32134:2:5" + "src": "32134:2:18" }, { "name": "p", - "nativeSrc": "32138:1:5", + "nativeSrc": "32138:1:18", "nodeType": "YulIdentifier", - "src": "32138:1:5" + "src": "32138:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "32124:6:5", + "nativeSrc": "32124:6:18", "nodeType": "YulIdentifier", - "src": "32124:6:5" + "src": "32124:6:18" }, - "nativeSrc": "32124:16:5", + "nativeSrc": "32124:16:18", "nodeType": "YulFunctionCall", - "src": "32124:16:5" + "src": "32124:16:18" }, "variables": [ { "name": "T4", - "nativeSrc": "32118:2:5", + "nativeSrc": "32118:2:18", "nodeType": "YulTypedName", - "src": "32118:2:5", + "src": "32118:2:18", "type": "" } ] }, { - "nativeSrc": "32193:25:5", + "nativeSrc": "32193:25:18", "nodeType": "YulAssignment", - "src": "32193:25:5", + "src": "32193:25:18", "value": { "arguments": [ { "name": "T1", - "nativeSrc": "32207:2:5", + "nativeSrc": "32207:2:18", "nodeType": "YulIdentifier", - "src": "32207:2:5" + "src": "32207:2:18" }, { "name": "zzz", - "nativeSrc": "32211:3:5", + "nativeSrc": "32211:3:18", "nodeType": "YulIdentifier", - "src": "32211:3:5" + "src": "32211:3:18" }, { "name": "p", - "nativeSrc": "32216:1:5", + "nativeSrc": "32216:1:18", "nodeType": "YulIdentifier", - "src": "32216:1:5" + "src": "32216:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "32200:6:5", + "nativeSrc": "32200:6:18", "nodeType": "YulIdentifier", - "src": "32200:6:5" + "src": "32200:6:18" }, - "nativeSrc": "32200:18:5", + "nativeSrc": "32200:18:18", "nodeType": "YulFunctionCall", - "src": "32200:18:5" + "src": "32200:18:18" }, "variableNames": [ { "name": "zzz", - "nativeSrc": "32193:3:5", + "nativeSrc": "32193:3:18", "nodeType": "YulIdentifier", - "src": "32193:3:5" + "src": "32193:3:18" } ] }, { - "nativeSrc": "32265:23:5", + "nativeSrc": "32265:23:18", "nodeType": "YulAssignment", - "src": "32265:23:5", + "src": "32265:23:18", "value": { "arguments": [ { "name": "T2", - "nativeSrc": "32278:2:5", + "nativeSrc": "32278:2:18", "nodeType": "YulIdentifier", - "src": "32278:2:5" + "src": "32278:2:18" }, { "name": "zz", - "nativeSrc": "32282:2:5", + "nativeSrc": "32282:2:18", "nodeType": "YulIdentifier", - "src": "32282:2:5" + "src": "32282:2:18" }, { "name": "p", - "nativeSrc": "32286:1:5", + "nativeSrc": "32286:1:18", "nodeType": "YulIdentifier", - "src": "32286:1:5" + "src": "32286:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "32271:6:5", + "nativeSrc": "32271:6:18", "nodeType": "YulIdentifier", - "src": "32271:6:5" + "src": "32271:6:18" }, - "nativeSrc": "32271:17:5", + "nativeSrc": "32271:17:18", "nodeType": "YulFunctionCall", - "src": "32271:17:5" + "src": "32271:17:18" }, "variableNames": [ { "name": "zz", - "nativeSrc": "32265:2:5", + "nativeSrc": "32265:2:18", "nodeType": "YulIdentifier", - "src": "32265:2:5" + "src": "32265:2:18" } ] }, { - "nativeSrc": "32342:57:5", + "nativeSrc": "32342:57:18", "nodeType": "YulAssignment", - "src": "32342:57:5", + "src": "32342:57:18", "value": { "arguments": [ { "arguments": [ { "name": "T4", - "nativeSrc": "32361:2:5", + "nativeSrc": "32361:2:18", "nodeType": "YulIdentifier", - "src": "32361:2:5" + "src": "32361:2:18" }, { "name": "T4", - "nativeSrc": "32365:2:5", + "nativeSrc": "32365:2:18", "nodeType": "YulIdentifier", - "src": "32365:2:5" + "src": "32365:2:18" }, { "name": "p", - "nativeSrc": "32369:1:5", + "nativeSrc": "32369:1:18", "nodeType": "YulIdentifier", - "src": "32369:1:5" + "src": "32369:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "32354:6:5", + "nativeSrc": "32354:6:18", "nodeType": "YulIdentifier", - "src": "32354:6:5" + "src": "32354:6:18" }, - "nativeSrc": "32354:17:5", + "nativeSrc": "32354:17:18", "nodeType": "YulFunctionCall", - "src": "32354:17:5" + "src": "32354:17:18" }, { "arguments": [ { "name": "minus_2", - "nativeSrc": "32380:7:5", + "nativeSrc": "32380:7:18", "nodeType": "YulIdentifier", - "src": "32380:7:5" + "src": "32380:7:18" }, { "name": "T3", - "nativeSrc": "32389:2:5", + "nativeSrc": "32389:2:18", "nodeType": "YulIdentifier", - "src": "32389:2:5" + "src": "32389:2:18" }, { "name": "p", - "nativeSrc": "32393:1:5", + "nativeSrc": "32393:1:18", "nodeType": "YulIdentifier", - "src": "32393:1:5" + "src": "32393:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "32373:6:5", + "nativeSrc": "32373:6:18", "nodeType": "YulIdentifier", - "src": "32373:6:5" + "src": "32373:6:18" }, - "nativeSrc": "32373:22:5", + "nativeSrc": "32373:22:18", "nodeType": "YulFunctionCall", - "src": "32373:22:5" + "src": "32373:22:18" }, { "name": "p", - "nativeSrc": "32397:1:5", + "nativeSrc": "32397:1:18", "nodeType": "YulIdentifier", - "src": "32397:1:5" + "src": "32397:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "32347:6:5", + "nativeSrc": "32347:6:18", "nodeType": "YulIdentifier", - "src": "32347:6:5" + "src": "32347:6:18" }, - "nativeSrc": "32347:52:5", + "nativeSrc": "32347:52:18", "nodeType": "YulFunctionCall", - "src": "32347:52:5" + "src": "32347:52:18" }, "variableNames": [ { "name": "X", - "nativeSrc": "32342:1:5", + "nativeSrc": "32342:1:18", "nodeType": "YulIdentifier", - "src": "32342:1:5" + "src": "32342:1:18" } ] }, { - "nativeSrc": "32444:45:5", + "nativeSrc": "32444:45:18", "nodeType": "YulAssignment", - "src": "32444:45:5", + "src": "32444:45:18", "value": { "arguments": [ { "name": "T4", - "nativeSrc": "32457:2:5", + "nativeSrc": "32457:2:18", "nodeType": "YulIdentifier", - "src": "32457:2:5" + "src": "32457:2:18" }, { "arguments": [ { "name": "T3", - "nativeSrc": "32468:2:5", + "nativeSrc": "32468:2:18", "nodeType": "YulIdentifier", - "src": "32468:2:5" + "src": "32468:2:18" }, { "arguments": [ { "name": "p", - "nativeSrc": "32476:1:5", + "nativeSrc": "32476:1:18", "nodeType": "YulIdentifier", - "src": "32476:1:5" + "src": "32476:1:18" }, { "name": "X", - "nativeSrc": "32479:1:5", + "nativeSrc": "32479:1:18", "nodeType": "YulIdentifier", - "src": "32479:1:5" + "src": "32479:1:18" } ], "functionName": { "name": "sub", - "nativeSrc": "32472:3:5", + "nativeSrc": "32472:3:18", "nodeType": "YulIdentifier", - "src": "32472:3:5" + "src": "32472:3:18" }, - "nativeSrc": "32472:9:5", + "nativeSrc": "32472:9:18", "nodeType": "YulFunctionCall", - "src": "32472:9:5" + "src": "32472:9:18" }, { "name": "p", - "nativeSrc": "32483:1:5", + "nativeSrc": "32483:1:18", "nodeType": "YulIdentifier", - "src": "32483:1:5" + "src": "32483:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "32461:6:5", + "nativeSrc": "32461:6:18", "nodeType": "YulIdentifier", - "src": "32461:6:5" + "src": "32461:6:18" }, - "nativeSrc": "32461:24:5", + "nativeSrc": "32461:24:18", "nodeType": "YulFunctionCall", - "src": "32461:24:5" + "src": "32461:24:18" }, { "name": "p", - "nativeSrc": "32487:1:5", + "nativeSrc": "32487:1:18", "nodeType": "YulIdentifier", - "src": "32487:1:5" + "src": "32487:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "32450:6:5", + "nativeSrc": "32450:6:18", "nodeType": "YulIdentifier", - "src": "32450:6:5" + "src": "32450:6:18" }, - "nativeSrc": "32450:39:5", + "nativeSrc": "32450:39:18", "nodeType": "YulFunctionCall", - "src": "32450:39:5" + "src": "32450:39:18" }, "variableNames": [ { "name": "T2", - "nativeSrc": "32444:2:5", + "nativeSrc": "32444:2:18", "nodeType": "YulIdentifier", - "src": "32444:2:5" + "src": "32444:2:18" } ] }, { - "nativeSrc": "32533:36:5", + "nativeSrc": "32533:36:18", "nodeType": "YulAssignment", - "src": "32533:36:5", + "src": "32533:36:18", "value": { "arguments": [ { "name": "T2", - "nativeSrc": "32545:2:5", + "nativeSrc": "32545:2:18", "nodeType": "YulIdentifier", - "src": "32545:2:5" + "src": "32545:2:18" }, { "arguments": [ { "name": "T1", - "nativeSrc": "32556:2:5", + "nativeSrc": "32556:2:18", "nodeType": "YulIdentifier", - "src": "32556:2:5" + "src": "32556:2:18" }, { "name": "Y", - "nativeSrc": "32560:1:5", + "nativeSrc": "32560:1:18", "nodeType": "YulIdentifier", - "src": "32560:1:5" + "src": "32560:1:18" }, { "name": "p", - "nativeSrc": "32563:1:5", + "nativeSrc": "32563:1:18", "nodeType": "YulIdentifier", - "src": "32563:1:5" + "src": "32563:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "32549:6:5", + "nativeSrc": "32549:6:18", "nodeType": "YulIdentifier", - "src": "32549:6:5" + "src": "32549:6:18" }, - "nativeSrc": "32549:16:5", + "nativeSrc": "32549:16:18", "nodeType": "YulFunctionCall", - "src": "32549:16:5" + "src": "32549:16:18" }, { "name": "p", - "nativeSrc": "32567:1:5", + "nativeSrc": "32567:1:18", "nodeType": "YulIdentifier", - "src": "32567:1:5" + "src": "32567:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "32538:6:5", + "nativeSrc": "32538:6:18", "nodeType": "YulIdentifier", - "src": "32538:6:5" + "src": "32538:6:18" }, - "nativeSrc": "32538:31:5", + "nativeSrc": "32538:31:18", "nodeType": "YulFunctionCall", - "src": "32538:31:5" + "src": "32538:31:18" }, "variableNames": [ { "name": "Y", - "nativeSrc": "32533:1:5", + "nativeSrc": "32533:1:18", "nodeType": "YulIdentifier", - "src": "32533:1:5" + "src": "32533:1:18" } ] }, { - "nativeSrc": "32622:8:5", + "nativeSrc": "32622:8:18", "nodeType": "YulContinue", - "src": "32622:8:5" + "src": "32622:8:18" } ] }, @@ -45757,24 +64732,24 @@ "arguments": [ { "name": "T2", - "nativeSrc": "31685:2:5", + "nativeSrc": "31685:2:18", "nodeType": "YulIdentifier", - "src": "31685:2:5" + "src": "31685:2:18" } ], "functionName": { "name": "iszero", - "nativeSrc": "31678:6:5", + "nativeSrc": "31678:6:18", "nodeType": "YulIdentifier", - "src": "31678:6:5" + "src": "31678:6:18" }, - "nativeSrc": "31678:10:5", + "nativeSrc": "31678:10:18", "nodeType": "YulFunctionCall", - "src": "31678:10:5" + "src": "31678:10:18" }, - "nativeSrc": "31675:985:5", + "nativeSrc": "31675:985:18", "nodeType": "YulIf", - "src": "31675:985:5" + "src": "31675:985:18" } ] }, @@ -45782,252 +64757,252 @@ "arguments": [ { "name": "y2", - "nativeSrc": "31641:2:5", + "nativeSrc": "31641:2:18", "nodeType": "YulIdentifier", - "src": "31641:2:5" + "src": "31641:2:18" } ], "functionName": { "name": "iszero", - "nativeSrc": "31634:6:5", + "nativeSrc": "31634:6:18", "nodeType": "YulIdentifier", - "src": "31634:6:5" + "src": "31634:6:18" }, - "nativeSrc": "31634:10:5", + "nativeSrc": "31634:10:18", "nodeType": "YulFunctionCall", - "src": "31634:10:5" + "src": "31634:10:18" }, - "nativeSrc": "31631:1055:5", + "nativeSrc": "31631:1055:18", "nodeType": "YulIf", - "src": "31631:1055:5" + "src": "31631:1055:18" }, { - "nativeSrc": "32712:27:5", + "nativeSrc": "32712:27:18", "nodeType": "YulVariableDeclaration", - "src": "32712:27:5", + "src": "32712:27:18", "value": { "arguments": [ { "name": "T2", - "nativeSrc": "32729:2:5", + "nativeSrc": "32729:2:18", "nodeType": "YulIdentifier", - "src": "32729:2:5" + "src": "32729:2:18" }, { "name": "T2", - "nativeSrc": "32733:2:5", + "nativeSrc": "32733:2:18", "nodeType": "YulIdentifier", - "src": "32733:2:5" + "src": "32733:2:18" }, { "name": "p", - "nativeSrc": "32737:1:5", + "nativeSrc": "32737:1:18", "nodeType": "YulIdentifier", - "src": "32737:1:5" + "src": "32737:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "32722:6:5", + "nativeSrc": "32722:6:18", "nodeType": "YulIdentifier", - "src": "32722:6:5" + "src": "32722:6:18" }, - "nativeSrc": "32722:17:5", + "nativeSrc": "32722:17:18", "nodeType": "YulFunctionCall", - "src": "32722:17:5" + "src": "32722:17:18" }, "variables": [ { "name": "T4", - "nativeSrc": "32716:2:5", + "nativeSrc": "32716:2:18", "nodeType": "YulTypedName", - "src": "32716:2:5", + "src": "32716:2:18", "type": "" } ] }, { - "nativeSrc": "32764:27:5", + "nativeSrc": "32764:27:18", "nodeType": "YulVariableDeclaration", - "src": "32764:27:5", + "src": "32764:27:18", "value": { "arguments": [ { "name": "T4", - "nativeSrc": "32781:2:5", + "nativeSrc": "32781:2:18", "nodeType": "YulIdentifier", - "src": "32781:2:5" + "src": "32781:2:18" }, { "name": "T2", - "nativeSrc": "32785:2:5", + "nativeSrc": "32785:2:18", "nodeType": "YulIdentifier", - "src": "32785:2:5" + "src": "32785:2:18" }, { "name": "p", - "nativeSrc": "32789:1:5", + "nativeSrc": "32789:1:18", "nodeType": "YulIdentifier", - "src": "32789:1:5" + "src": "32789:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "32774:6:5", + "nativeSrc": "32774:6:18", "nodeType": "YulIdentifier", - "src": "32774:6:5" + "src": "32774:6:18" }, - "nativeSrc": "32774:17:5", + "nativeSrc": "32774:17:18", "nodeType": "YulFunctionCall", - "src": "32774:17:5" + "src": "32774:17:18" }, "variables": [ { "name": "T1", - "nativeSrc": "32768:2:5", + "nativeSrc": "32768:2:18", "nodeType": "YulTypedName", - "src": "32768:2:5", + "src": "32768:2:18", "type": "" } ] }, { - "nativeSrc": "32819:23:5", + "nativeSrc": "32819:23:18", "nodeType": "YulAssignment", - "src": "32819:23:5", + "src": "32819:23:18", "value": { "arguments": [ { "name": "zz", - "nativeSrc": "32832:2:5", + "nativeSrc": "32832:2:18", "nodeType": "YulIdentifier", - "src": "32832:2:5" + "src": "32832:2:18" }, { "name": "T4", - "nativeSrc": "32836:2:5", + "nativeSrc": "32836:2:18", "nodeType": "YulIdentifier", - "src": "32836:2:5" + "src": "32836:2:18" }, { "name": "p", - "nativeSrc": "32840:1:5", + "nativeSrc": "32840:1:18", "nodeType": "YulIdentifier", - "src": "32840:1:5" + "src": "32840:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "32825:6:5", + "nativeSrc": "32825:6:18", "nodeType": "YulIdentifier", - "src": "32825:6:5" + "src": "32825:6:18" }, - "nativeSrc": "32825:17:5", + "nativeSrc": "32825:17:18", "nodeType": "YulFunctionCall", - "src": "32825:17:5" + "src": "32825:17:18" }, "variableNames": [ { "name": "zz", - "nativeSrc": "32819:2:5", + "nativeSrc": "32819:2:18", "nodeType": "YulIdentifier", - "src": "32819:2:5" + "src": "32819:2:18" } ] }, { - "nativeSrc": "32904:25:5", + "nativeSrc": "32904:25:18", "nodeType": "YulAssignment", - "src": "32904:25:5", + "src": "32904:25:18", "value": { "arguments": [ { "name": "zzz", - "nativeSrc": "32918:3:5", + "nativeSrc": "32918:3:18", "nodeType": "YulIdentifier", - "src": "32918:3:5" + "src": "32918:3:18" }, { "name": "T1", - "nativeSrc": "32923:2:5", + "nativeSrc": "32923:2:18", "nodeType": "YulIdentifier", - "src": "32923:2:5" + "src": "32923:2:18" }, { "name": "p", - "nativeSrc": "32927:1:5", + "nativeSrc": "32927:1:18", "nodeType": "YulIdentifier", - "src": "32927:1:5" + "src": "32927:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "32911:6:5", + "nativeSrc": "32911:6:18", "nodeType": "YulIdentifier", - "src": "32911:6:5" + "src": "32911:6:18" }, - "nativeSrc": "32911:18:5", + "nativeSrc": "32911:18:18", "nodeType": "YulFunctionCall", - "src": "32911:18:5" + "src": "32911:18:18" }, "variableNames": [ { "name": "zzz", - "nativeSrc": "32904:3:5", + "nativeSrc": "32904:3:18", "nodeType": "YulIdentifier", - "src": "32904:3:5" + "src": "32904:3:18" } ] }, { - "nativeSrc": "32963:27:5", + "nativeSrc": "32963:27:18", "nodeType": "YulVariableDeclaration", - "src": "32963:27:5", + "src": "32963:27:18", "value": { "arguments": [ { "name": "X", - "nativeSrc": "32981:1:5", + "nativeSrc": "32981:1:18", "nodeType": "YulIdentifier", - "src": "32981:1:5" + "src": "32981:1:18" }, { "name": "T4", - "nativeSrc": "32984:2:5", + "nativeSrc": "32984:2:18", "nodeType": "YulIdentifier", - "src": "32984:2:5" + "src": "32984:2:18" }, { "name": "p", - "nativeSrc": "32988:1:5", + "nativeSrc": "32988:1:18", "nodeType": "YulIdentifier", - "src": "32988:1:5" + "src": "32988:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "32974:6:5", + "nativeSrc": "32974:6:18", "nodeType": "YulIdentifier", - "src": "32974:6:5" + "src": "32974:6:18" }, - "nativeSrc": "32974:16:5", + "nativeSrc": "32974:16:18", "nodeType": "YulFunctionCall", - "src": "32974:16:5" + "src": "32974:16:18" }, "variables": [ { "name": "zz1", - "nativeSrc": "32967:3:5", + "nativeSrc": "32967:3:18", "nodeType": "YulTypedName", - "src": "32967:3:5", + "src": "32967:3:18", "type": "" } ] }, { - "nativeSrc": "33015:81:5", + "nativeSrc": "33015:81:18", "nodeType": "YulAssignment", - "src": "33015:81:5", + "src": "33015:81:18", "value": { "arguments": [ { @@ -46036,136 +65011,136 @@ "arguments": [ { "name": "y2", - "nativeSrc": "33041:2:5", + "nativeSrc": "33041:2:18", "nodeType": "YulIdentifier", - "src": "33041:2:5" + "src": "33041:2:18" }, { "name": "y2", - "nativeSrc": "33045:2:5", + "nativeSrc": "33045:2:18", "nodeType": "YulIdentifier", - "src": "33045:2:5" + "src": "33045:2:18" }, { "name": "p", - "nativeSrc": "33049:1:5", + "nativeSrc": "33049:1:18", "nodeType": "YulIdentifier", - "src": "33049:1:5" + "src": "33049:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "33034:6:5", + "nativeSrc": "33034:6:18", "nodeType": "YulIdentifier", - "src": "33034:6:5" + "src": "33034:6:18" }, - "nativeSrc": "33034:17:5", + "nativeSrc": "33034:17:18", "nodeType": "YulFunctionCall", - "src": "33034:17:5" + "src": "33034:17:18" }, { "arguments": [ { "name": "p", - "nativeSrc": "33057:1:5", + "nativeSrc": "33057:1:18", "nodeType": "YulIdentifier", - "src": "33057:1:5" + "src": "33057:1:18" }, { "name": "T1", - "nativeSrc": "33060:2:5", + "nativeSrc": "33060:2:18", "nodeType": "YulIdentifier", - "src": "33060:2:5" + "src": "33060:2:18" } ], "functionName": { "name": "sub", - "nativeSrc": "33053:3:5", + "nativeSrc": "33053:3:18", "nodeType": "YulIdentifier", - "src": "33053:3:5" + "src": "33053:3:18" }, - "nativeSrc": "33053:10:5", + "nativeSrc": "33053:10:18", "nodeType": "YulFunctionCall", - "src": "33053:10:5" + "src": "33053:10:18" }, { "name": "p", - "nativeSrc": "33065:1:5", + "nativeSrc": "33065:1:18", "nodeType": "YulIdentifier", - "src": "33065:1:5" + "src": "33065:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "33027:6:5", + "nativeSrc": "33027:6:18", "nodeType": "YulIdentifier", - "src": "33027:6:5" + "src": "33027:6:18" }, - "nativeSrc": "33027:40:5", + "nativeSrc": "33027:40:18", "nodeType": "YulFunctionCall", - "src": "33027:40:5" + "src": "33027:40:18" }, { "arguments": [ { "name": "minus_2", - "nativeSrc": "33076:7:5", + "nativeSrc": "33076:7:18", "nodeType": "YulIdentifier", - "src": "33076:7:5" + "src": "33076:7:18" }, { "name": "zz1", - "nativeSrc": "33085:3:5", + "nativeSrc": "33085:3:18", "nodeType": "YulIdentifier", - "src": "33085:3:5" + "src": "33085:3:18" }, { "name": "p", - "nativeSrc": "33090:1:5", + "nativeSrc": "33090:1:18", "nodeType": "YulIdentifier", - "src": "33090:1:5" + "src": "33090:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "33069:6:5", + "nativeSrc": "33069:6:18", "nodeType": "YulIdentifier", - "src": "33069:6:5" + "src": "33069:6:18" }, - "nativeSrc": "33069:23:5", + "nativeSrc": "33069:23:18", "nodeType": "YulFunctionCall", - "src": "33069:23:5" + "src": "33069:23:18" }, { "name": "p", - "nativeSrc": "33094:1:5", + "nativeSrc": "33094:1:18", "nodeType": "YulIdentifier", - "src": "33094:1:5" + "src": "33094:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "33020:6:5", + "nativeSrc": "33020:6:18", "nodeType": "YulIdentifier", - "src": "33020:6:5" + "src": "33020:6:18" }, - "nativeSrc": "33020:76:5", + "nativeSrc": "33020:76:18", "nodeType": "YulFunctionCall", - "src": "33020:76:5" + "src": "33020:76:18" }, "variableNames": [ { "name": "X", - "nativeSrc": "33015:1:5", + "nativeSrc": "33015:1:18", "nodeType": "YulIdentifier", - "src": "33015:1:5" + "src": "33015:1:18" } ] }, { - "nativeSrc": "33121:74:5", + "nativeSrc": "33121:74:18", "nodeType": "YulAssignment", - "src": "33121:74:5", + "src": "33121:74:18", "value": { "arguments": [ { @@ -46174,129 +65149,129 @@ "arguments": [ { "name": "zz1", - "nativeSrc": "33147:3:5", + "nativeSrc": "33147:3:18", "nodeType": "YulIdentifier", - "src": "33147:3:5" + "src": "33147:3:18" }, { "arguments": [ { "name": "p", - "nativeSrc": "33156:1:5", + "nativeSrc": "33156:1:18", "nodeType": "YulIdentifier", - "src": "33156:1:5" + "src": "33156:1:18" }, { "name": "X", - "nativeSrc": "33159:1:5", + "nativeSrc": "33159:1:18", "nodeType": "YulIdentifier", - "src": "33159:1:5" + "src": "33159:1:18" } ], "functionName": { "name": "sub", - "nativeSrc": "33152:3:5", + "nativeSrc": "33152:3:18", "nodeType": "YulIdentifier", - "src": "33152:3:5" + "src": "33152:3:18" }, - "nativeSrc": "33152:9:5", + "nativeSrc": "33152:9:18", "nodeType": "YulFunctionCall", - "src": "33152:9:5" + "src": "33152:9:18" }, { "name": "p", - "nativeSrc": "33163:1:5", + "nativeSrc": "33163:1:18", "nodeType": "YulIdentifier", - "src": "33163:1:5" + "src": "33163:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "33140:6:5", + "nativeSrc": "33140:6:18", "nodeType": "YulIdentifier", - "src": "33140:6:5" + "src": "33140:6:18" }, - "nativeSrc": "33140:25:5", + "nativeSrc": "33140:25:18", "nodeType": "YulFunctionCall", - "src": "33140:25:5" + "src": "33140:25:18" }, { "name": "y2", - "nativeSrc": "33167:2:5", + "nativeSrc": "33167:2:18", "nodeType": "YulIdentifier", - "src": "33167:2:5" + "src": "33167:2:18" }, { "name": "p", - "nativeSrc": "33171:1:5", + "nativeSrc": "33171:1:18", "nodeType": "YulIdentifier", - "src": "33171:1:5" + "src": "33171:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "33133:6:5", + "nativeSrc": "33133:6:18", "nodeType": "YulIdentifier", - "src": "33133:6:5" + "src": "33133:6:18" }, - "nativeSrc": "33133:40:5", + "nativeSrc": "33133:40:18", "nodeType": "YulFunctionCall", - "src": "33133:40:5" + "src": "33133:40:18" }, { "arguments": [ { "name": "Y", - "nativeSrc": "33182:1:5", + "nativeSrc": "33182:1:18", "nodeType": "YulIdentifier", - "src": "33182:1:5" + "src": "33182:1:18" }, { "name": "T1", - "nativeSrc": "33185:2:5", + "nativeSrc": "33185:2:18", "nodeType": "YulIdentifier", - "src": "33185:2:5" + "src": "33185:2:18" }, { "name": "p", - "nativeSrc": "33189:1:5", + "nativeSrc": "33189:1:18", "nodeType": "YulIdentifier", - "src": "33189:1:5" + "src": "33189:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "33175:6:5", + "nativeSrc": "33175:6:18", "nodeType": "YulIdentifier", - "src": "33175:6:5" + "src": "33175:6:18" }, - "nativeSrc": "33175:16:5", + "nativeSrc": "33175:16:18", "nodeType": "YulFunctionCall", - "src": "33175:16:5" + "src": "33175:16:18" }, { "name": "p", - "nativeSrc": "33193:1:5", + "nativeSrc": "33193:1:18", "nodeType": "YulIdentifier", - "src": "33193:1:5" + "src": "33193:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "33126:6:5", + "nativeSrc": "33126:6:18", "nodeType": "YulIdentifier", - "src": "33126:6:5" + "src": "33126:6:18" }, - "nativeSrc": "33126:69:5", + "nativeSrc": "33126:69:18", "nodeType": "YulFunctionCall", - "src": "33126:69:5" + "src": "33126:69:18" }, "variableNames": [ { "name": "Y", - "nativeSrc": "33121:1:5", + "nativeSrc": "33121:1:18", "nodeType": "YulIdentifier", - "src": "33121:1:5" + "src": "33121:1:18" } ] } @@ -46308,85 +65283,85 @@ "arguments": [ { "name": "index", - "nativeSrc": "28693:5:5", + "nativeSrc": "28693:5:18", "nodeType": "YulIdentifier", - "src": "28693:5:5" + "src": "28693:5:18" }, { "kind": "number", - "nativeSrc": "28700:3:5", + "nativeSrc": "28700:3:18", "nodeType": "YulLiteral", - "src": "28700:3:5", + "src": "28700:3:18", "type": "", "value": "191" } ], "functionName": { "name": "gt", - "nativeSrc": "28690:2:5", + "nativeSrc": "28690:2:18", "nodeType": "YulIdentifier", - "src": "28690:2:5" + "src": "28690:2:18" }, - "nativeSrc": "28690:14:5", + "nativeSrc": "28690:14:18", "nodeType": "YulFunctionCall", - "src": "28690:14:5" + "src": "28690:14:18" }, - "nativeSrc": "28683:4552:5", + "nativeSrc": "28683:4552:18", "nodeType": "YulForLoop", "post": { - "nativeSrc": "28705:28:5", + "nativeSrc": "28705:28:18", "nodeType": "YulBlock", - "src": "28705:28:5", + "src": "28705:28:18", "statements": [ { - "nativeSrc": "28707:24:5", + "nativeSrc": "28707:24:18", "nodeType": "YulAssignment", - "src": "28707:24:5", + "src": "28707:24:18", "value": { "arguments": [ { "name": "index", - "nativeSrc": "28720:5:5", + "nativeSrc": "28720:5:18", "nodeType": "YulIdentifier", - "src": "28720:5:5" + "src": "28720:5:18" }, { "kind": "number", - "nativeSrc": "28727:3:5", + "nativeSrc": "28727:3:18", "nodeType": "YulLiteral", - "src": "28727:3:5", + "src": "28727:3:18", "type": "", "value": "191" } ], "functionName": { "name": "add", - "nativeSrc": "28716:3:5", + "nativeSrc": "28716:3:18", "nodeType": "YulIdentifier", - "src": "28716:3:5" + "src": "28716:3:18" }, - "nativeSrc": "28716:15:5", + "nativeSrc": "28716:15:18", "nodeType": "YulFunctionCall", - "src": "28716:15:5" + "src": "28716:15:18" }, "variableNames": [ { "name": "index", - "nativeSrc": "28707:5:5", + "nativeSrc": "28707:5:18", "nodeType": "YulIdentifier", - "src": "28707:5:5" + "src": "28707:5:18" } ] } ] }, "pre": { - "nativeSrc": "28687:2:5", + "nativeSrc": "28687:2:18", "nodeType": "YulBlock", - "src": "28687:2:5", + "src": "28687:2:18", "statements": [] }, - "src": "28683:4552:5" + "src": "28683:4552:18" }, { "expression": { @@ -46395,81 +65370,81 @@ "arguments": [ { "name": "T", - "nativeSrc": "33274:1:5", + "nativeSrc": "33274:1:18", "nodeType": "YulIdentifier", - "src": "33274:1:5" + "src": "33274:1:18" }, { "kind": "number", - "nativeSrc": "33277:4:5", + "nativeSrc": "33277:4:18", "nodeType": "YulLiteral", - "src": "33277:4:5", + "src": "33277:4:18", "type": "", "value": "0x60" } ], "functionName": { "name": "add", - "nativeSrc": "33270:3:5", + "nativeSrc": "33270:3:18", "nodeType": "YulIdentifier", - "src": "33270:3:5" + "src": "33270:3:18" }, - "nativeSrc": "33270:12:5", + "nativeSrc": "33270:12:18", "nodeType": "YulFunctionCall", - "src": "33270:12:5" + "src": "33270:12:18" }, { "name": "zz", - "nativeSrc": "33284:2:5", + "nativeSrc": "33284:2:18", "nodeType": "YulIdentifier", - "src": "33284:2:5" + "src": "33284:2:18" } ], "functionName": { "name": "mstore", - "nativeSrc": "33263:6:5", + "nativeSrc": "33263:6:18", "nodeType": "YulIdentifier", - "src": "33263:6:5" + "src": "33263:6:18" }, - "nativeSrc": "33263:24:5", + "nativeSrc": "33263:24:18", "nodeType": "YulFunctionCall", - "src": "33263:24:5" + "src": "33263:24:18" }, - "nativeSrc": "33263:24:5", + "nativeSrc": "33263:24:18", "nodeType": "YulExpressionStatement", - "src": "33263:24:5" + "src": "33263:24:18" }, { "expression": { "arguments": [ { "name": "T", - "nativeSrc": "33547:1:5", + "nativeSrc": "33547:1:18", "nodeType": "YulIdentifier", - "src": "33547:1:5" + "src": "33547:1:18" }, { "kind": "number", - "nativeSrc": "33550:4:5", + "nativeSrc": "33550:4:18", "nodeType": "YulLiteral", - "src": "33550:4:5", + "src": "33550:4:18", "type": "", "value": "0x20" } ], "functionName": { "name": "mstore", - "nativeSrc": "33540:6:5", + "nativeSrc": "33540:6:18", "nodeType": "YulIdentifier", - "src": "33540:6:5" + "src": "33540:6:18" }, - "nativeSrc": "33540:15:5", + "nativeSrc": "33540:15:18", "nodeType": "YulFunctionCall", - "src": "33540:15:5" + "src": "33540:15:18" }, - "nativeSrc": "33540:15:5", + "nativeSrc": "33540:15:18", "nodeType": "YulExpressionStatement", - "src": "33540:15:5" + "src": "33540:15:18" }, { "expression": { @@ -46478,51 +65453,51 @@ "arguments": [ { "name": "T", - "nativeSrc": "33583:1:5", + "nativeSrc": "33583:1:18", "nodeType": "YulIdentifier", - "src": "33583:1:5" + "src": "33583:1:18" }, { "kind": "number", - "nativeSrc": "33586:4:5", + "nativeSrc": "33586:4:18", "nodeType": "YulLiteral", - "src": "33586:4:5", + "src": "33586:4:18", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "33579:3:5", + "nativeSrc": "33579:3:18", "nodeType": "YulIdentifier", - "src": "33579:3:5" + "src": "33579:3:18" }, - "nativeSrc": "33579:12:5", + "nativeSrc": "33579:12:18", "nodeType": "YulFunctionCall", - "src": "33579:12:5" + "src": "33579:12:18" }, { "kind": "number", - "nativeSrc": "33593:4:5", + "nativeSrc": "33593:4:18", "nodeType": "YulLiteral", - "src": "33593:4:5", + "src": "33593:4:18", "type": "", "value": "0x20" } ], "functionName": { "name": "mstore", - "nativeSrc": "33572:6:5", + "nativeSrc": "33572:6:18", "nodeType": "YulIdentifier", - "src": "33572:6:5" + "src": "33572:6:18" }, - "nativeSrc": "33572:26:5", + "nativeSrc": "33572:26:18", "nodeType": "YulFunctionCall", - "src": "33572:26:5" + "src": "33572:26:18" }, - "nativeSrc": "33572:26:5", + "nativeSrc": "33572:26:18", "nodeType": "YulExpressionStatement", - "src": "33572:26:5" + "src": "33572:26:18" }, { "expression": { @@ -46531,51 +65506,51 @@ "arguments": [ { "name": "T", - "nativeSrc": "33626:1:5", + "nativeSrc": "33626:1:18", "nodeType": "YulIdentifier", - "src": "33626:1:5" + "src": "33626:1:18" }, { "kind": "number", - "nativeSrc": "33629:4:5", + "nativeSrc": "33629:4:18", "nodeType": "YulLiteral", - "src": "33629:4:5", + "src": "33629:4:18", "type": "", "value": "0x40" } ], "functionName": { "name": "add", - "nativeSrc": "33622:3:5", + "nativeSrc": "33622:3:18", "nodeType": "YulIdentifier", - "src": "33622:3:5" + "src": "33622:3:18" }, - "nativeSrc": "33622:12:5", + "nativeSrc": "33622:12:18", "nodeType": "YulFunctionCall", - "src": "33622:12:5" + "src": "33622:12:18" }, { "kind": "number", - "nativeSrc": "33636:4:5", + "nativeSrc": "33636:4:18", "nodeType": "YulLiteral", - "src": "33636:4:5", + "src": "33636:4:18", "type": "", "value": "0x20" } ], "functionName": { "name": "mstore", - "nativeSrc": "33615:6:5", + "nativeSrc": "33615:6:18", "nodeType": "YulIdentifier", - "src": "33615:6:5" + "src": "33615:6:18" }, - "nativeSrc": "33615:26:5", + "nativeSrc": "33615:26:18", "nodeType": "YulFunctionCall", - "src": "33615:26:5" + "src": "33615:26:18" }, - "nativeSrc": "33615:26:5", + "nativeSrc": "33615:26:18", "nodeType": "YulExpressionStatement", - "src": "33615:26:5" + "src": "33615:26:18" }, { "expression": { @@ -46584,49 +65559,49 @@ "arguments": [ { "name": "T", - "nativeSrc": "33780:1:5", + "nativeSrc": "33780:1:18", "nodeType": "YulIdentifier", - "src": "33780:1:5" + "src": "33780:1:18" }, { "kind": "number", - "nativeSrc": "33783:4:5", + "nativeSrc": "33783:4:18", "nodeType": "YulLiteral", - "src": "33783:4:5", + "src": "33783:4:18", "type": "", "value": "0x80" } ], "functionName": { "name": "add", - "nativeSrc": "33776:3:5", + "nativeSrc": "33776:3:18", "nodeType": "YulIdentifier", - "src": "33776:3:5" + "src": "33776:3:18" }, - "nativeSrc": "33776:12:5", + "nativeSrc": "33776:12:18", "nodeType": "YulFunctionCall", - "src": "33776:12:5" + "src": "33776:12:18" }, { "name": "minus_2", - "nativeSrc": "33790:7:5", + "nativeSrc": "33790:7:18", "nodeType": "YulIdentifier", - "src": "33790:7:5" + "src": "33790:7:18" } ], "functionName": { "name": "mstore", - "nativeSrc": "33769:6:5", + "nativeSrc": "33769:6:18", "nodeType": "YulIdentifier", - "src": "33769:6:5" + "src": "33769:6:18" }, - "nativeSrc": "33769:29:5", + "nativeSrc": "33769:29:18", "nodeType": "YulFunctionCall", - "src": "33769:29:5" + "src": "33769:29:18" }, - "nativeSrc": "33769:29:5", + "nativeSrc": "33769:29:18", "nodeType": "YulExpressionStatement", - "src": "33769:29:5" + "src": "33769:29:18" }, { "expression": { @@ -46635,89 +65610,89 @@ "arguments": [ { "name": "T", - "nativeSrc": "33826:1:5", + "nativeSrc": "33826:1:18", "nodeType": "YulIdentifier", - "src": "33826:1:5" + "src": "33826:1:18" }, { "kind": "number", - "nativeSrc": "33829:4:5", + "nativeSrc": "33829:4:18", "nodeType": "YulLiteral", - "src": "33829:4:5", + "src": "33829:4:18", "type": "", "value": "0xa0" } ], "functionName": { "name": "add", - "nativeSrc": "33822:3:5", + "nativeSrc": "33822:3:18", "nodeType": "YulIdentifier", - "src": "33822:3:5" + "src": "33822:3:18" }, - "nativeSrc": "33822:12:5", + "nativeSrc": "33822:12:18", "nodeType": "YulFunctionCall", - "src": "33822:12:5" + "src": "33822:12:18" }, { "name": "p", - "nativeSrc": "33836:1:5", + "nativeSrc": "33836:1:18", "nodeType": "YulIdentifier", - "src": "33836:1:5" + "src": "33836:1:18" } ], "functionName": { "name": "mstore", - "nativeSrc": "33815:6:5", + "nativeSrc": "33815:6:18", "nodeType": "YulIdentifier", - "src": "33815:6:5" + "src": "33815:6:18" }, - "nativeSrc": "33815:23:5", + "nativeSrc": "33815:23:18", "nodeType": "YulFunctionCall", - "src": "33815:23:5" + "src": "33815:23:18" }, - "nativeSrc": "33815:23:5", + "nativeSrc": "33815:23:18", "nodeType": "YulExpressionStatement", - "src": "33815:23:5" + "src": "33815:23:18" }, { "body": { - "nativeSrc": "33973:16:5", + "nativeSrc": "33973:16:18", "nodeType": "YulBlock", - "src": "33973:16:5", + "src": "33973:16:18", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "33982:1:5", + "nativeSrc": "33982:1:18", "nodeType": "YulLiteral", - "src": "33982:1:5", + "src": "33982:1:18", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "33985:1:5", + "nativeSrc": "33985:1:18", "nodeType": "YulLiteral", - "src": "33985:1:5", + "src": "33985:1:18", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "33975:6:5", + "nativeSrc": "33975:6:18", "nodeType": "YulIdentifier", - "src": "33975:6:5" + "src": "33975:6:18" }, - "nativeSrc": "33975:12:5", + "nativeSrc": "33975:12:18", "nodeType": "YulFunctionCall", - "src": "33975:12:5" + "src": "33975:12:18" }, - "nativeSrc": "33975:12:5", + "nativeSrc": "33975:12:18", "nodeType": "YulExpressionStatement", - "src": "33975:12:5" + "src": "33975:12:18" } ] }, @@ -46729,158 +65704,158 @@ "arguments": [ { "kind": "number", - "nativeSrc": "33944:1:5", + "nativeSrc": "33944:1:18", "nodeType": "YulLiteral", - "src": "33944:1:5", + "src": "33944:1:18", "type": "", "value": "0" } ], "functionName": { "name": "not", - "nativeSrc": "33940:3:5", + "nativeSrc": "33940:3:18", "nodeType": "YulIdentifier", - "src": "33940:3:5" + "src": "33940:3:18" }, - "nativeSrc": "33940:6:5", + "nativeSrc": "33940:6:18", "nodeType": "YulFunctionCall", - "src": "33940:6:5" + "src": "33940:6:18" }, { "kind": "number", - "nativeSrc": "33948:4:5", + "nativeSrc": "33948:4:18", "nodeType": "YulLiteral", - "src": "33948:4:5", + "src": "33948:4:18", "type": "", "value": "0x05" }, { "name": "T", - "nativeSrc": "33954:1:5", + "nativeSrc": "33954:1:18", "nodeType": "YulIdentifier", - "src": "33954:1:5" + "src": "33954:1:18" }, { "kind": "number", - "nativeSrc": "33957:4:5", + "nativeSrc": "33957:4:18", "nodeType": "YulLiteral", - "src": "33957:4:5", + "src": "33957:4:18", "type": "", "value": "0xc0" }, { "name": "T", - "nativeSrc": "33963:1:5", + "nativeSrc": "33963:1:18", "nodeType": "YulIdentifier", - "src": "33963:1:5" + "src": "33963:1:18" }, { "kind": "number", - "nativeSrc": "33966:4:5", + "nativeSrc": "33966:4:18", "nodeType": "YulLiteral", - "src": "33966:4:5", + "src": "33966:4:18", "type": "", "value": "0x20" } ], "functionName": { "name": "staticcall", - "nativeSrc": "33929:10:5", + "nativeSrc": "33929:10:18", "nodeType": "YulIdentifier", - "src": "33929:10:5" + "src": "33929:10:18" }, - "nativeSrc": "33929:42:5", + "nativeSrc": "33929:42:18", "nodeType": "YulFunctionCall", - "src": "33929:42:5" + "src": "33929:42:18" } ], "functionName": { "name": "iszero", - "nativeSrc": "33922:6:5", + "nativeSrc": "33922:6:18", "nodeType": "YulIdentifier", - "src": "33922:6:5" + "src": "33922:6:18" }, - "nativeSrc": "33922:50:5", + "nativeSrc": "33922:50:18", "nodeType": "YulFunctionCall", - "src": "33922:50:5" + "src": "33922:50:18" }, - "nativeSrc": "33919:70:5", + "nativeSrc": "33919:70:18", "nodeType": "YulIf", - "src": "33919:70:5" + "src": "33919:70:18" }, { - "nativeSrc": "34007:14:5", + "nativeSrc": "34007:14:18", "nodeType": "YulAssignment", - "src": "34007:14:5", + "src": "34007:14:18", "value": { "arguments": [ { "name": "T", - "nativeSrc": "34019:1:5", + "nativeSrc": "34019:1:18", "nodeType": "YulIdentifier", - "src": "34019:1:5" + "src": "34019:1:18" } ], "functionName": { "name": "mload", - "nativeSrc": "34013:5:5", + "nativeSrc": "34013:5:18", "nodeType": "YulIdentifier", - "src": "34013:5:5" + "src": "34013:5:18" }, - "nativeSrc": "34013:8:5", + "nativeSrc": "34013:8:18", "nodeType": "YulFunctionCall", - "src": "34013:8:5" + "src": "34013:8:18" }, "variableNames": [ { "name": "zz", - "nativeSrc": "34007:2:5", + "nativeSrc": "34007:2:18", "nodeType": "YulIdentifier", - "src": "34007:2:5" + "src": "34007:2:18" } ] }, { - "nativeSrc": "34038:21:5", + "nativeSrc": "34038:21:18", "nodeType": "YulAssignment", - "src": "34038:21:5", + "src": "34038:21:18", "value": { "arguments": [ { "name": "X", - "nativeSrc": "34050:1:5", + "nativeSrc": "34050:1:18", "nodeType": "YulIdentifier", - "src": "34050:1:5" + "src": "34050:1:18" }, { "name": "zz", - "nativeSrc": "34053:2:5", + "nativeSrc": "34053:2:18", "nodeType": "YulIdentifier", - "src": "34053:2:5" + "src": "34053:2:18" }, { "name": "p", - "nativeSrc": "34057:1:5", + "nativeSrc": "34057:1:18", "nodeType": "YulIdentifier", - "src": "34057:1:5" + "src": "34057:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "34043:6:5", + "nativeSrc": "34043:6:18", "nodeType": "YulIdentifier", - "src": "34043:6:5" + "src": "34043:6:18" }, - "nativeSrc": "34043:16:5", + "nativeSrc": "34043:16:18", "nodeType": "YulFunctionCall", - "src": "34043:16:5" + "src": "34043:16:18" }, "variableNames": [ { "name": "X", - "nativeSrc": "34038:1:5", + "nativeSrc": "34038:1:18", "nodeType": "YulIdentifier", - "src": "34038:1:5" + "src": "34038:1:18" } ] } @@ -46889,944 +65864,944 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 1949, + "declaration": 3555, "isOffset": false, "isSlot": false, - "src": "28404:1:5", + "src": "28404:1:18", "valueSize": 1 }, { - "declaration": 1949, + "declaration": 3555, "isOffset": false, "isSlot": false, - "src": "28413:1:5", + "src": "28413:1:18", "valueSize": 1 }, { - "declaration": 1949, + "declaration": 3555, "isOffset": false, "isSlot": false, - "src": "28488:1:5", + "src": "28488:1:18", "valueSize": 1 }, { - "declaration": 1949, + "declaration": 3555, "isOffset": false, "isSlot": false, - "src": "28526:1:5", + "src": "28526:1:18", "valueSize": 1 }, { - "declaration": 1949, + "declaration": 3555, "isOffset": false, "isSlot": false, - "src": "30934:1:5", + "src": "30934:1:18", "valueSize": 1 }, { - "declaration": 1949, + "declaration": 3555, "isOffset": false, "isSlot": false, - "src": "31196:1:5", + "src": "31196:1:18", "valueSize": 1 }, { - "declaration": 1949, + "declaration": 3555, "isOffset": false, "isSlot": false, - "src": "31242:1:5", + "src": "31242:1:18", "valueSize": 1 }, { - "declaration": 1949, + "declaration": 3555, "isOffset": false, "isSlot": false, - "src": "31446:1:5", + "src": "31446:1:18", "valueSize": 1 }, { - "declaration": 1949, + "declaration": 3555, "isOffset": false, "isSlot": false, - "src": "31524:1:5", + "src": "31524:1:18", "valueSize": 1 }, { - "declaration": 1949, + "declaration": 3555, "isOffset": false, "isSlot": false, - "src": "33274:1:5", + "src": "33274:1:18", "valueSize": 1 }, { - "declaration": 1949, + "declaration": 3555, "isOffset": false, "isSlot": false, - "src": "33547:1:5", + "src": "33547:1:18", "valueSize": 1 }, { - "declaration": 1949, + "declaration": 3555, "isOffset": false, "isSlot": false, - "src": "33583:1:5", + "src": "33583:1:18", "valueSize": 1 }, { - "declaration": 1949, + "declaration": 3555, "isOffset": false, "isSlot": false, - "src": "33626:1:5", + "src": "33626:1:18", "valueSize": 1 }, { - "declaration": 1949, + "declaration": 3555, "isOffset": false, "isSlot": false, - "src": "33780:1:5", + "src": "33780:1:18", "valueSize": 1 }, { - "declaration": 1949, + "declaration": 3555, "isOffset": false, "isSlot": false, - "src": "33826:1:5", + "src": "33826:1:18", "valueSize": 1 }, { - "declaration": 1949, + "declaration": 3555, "isOffset": false, "isSlot": false, - "src": "33954:1:5", + "src": "33954:1:18", "valueSize": 1 }, { - "declaration": 1949, + "declaration": 3555, "isOffset": false, "isSlot": false, - "src": "33963:1:5", + "src": "33963:1:18", "valueSize": 1 }, { - "declaration": 1949, + "declaration": 3555, "isOffset": false, "isSlot": false, - "src": "34019:1:5", + "src": "34019:1:18", "valueSize": 1 }, { - "declaration": 1939, + "declaration": 3545, "isOffset": false, "isSlot": false, - "src": "28477:1:5", + "src": "28477:1:18", "valueSize": 1 }, { - "declaration": 1939, + "declaration": 3545, "isOffset": false, "isSlot": false, - "src": "28968:1:5", + "src": "28968:1:18", "valueSize": 1 }, { - "declaration": 1939, + "declaration": 3545, "isOffset": false, "isSlot": false, - "src": "29109:1:5", + "src": "29109:1:18", "valueSize": 1 }, { - "declaration": 1939, + "declaration": 3545, "isOffset": false, "isSlot": false, - "src": "29135:1:5", + "src": "29135:1:18", "valueSize": 1 }, { - "declaration": 1939, + "declaration": 3545, "isOffset": false, "isSlot": false, - "src": "29334:1:5", + "src": "29334:1:18", "valueSize": 1 }, { - "declaration": 1939, + "declaration": 3545, "isOffset": false, "isSlot": false, - "src": "29532:1:5", + "src": "29532:1:18", "valueSize": 1 }, { - "declaration": 1939, + "declaration": 3545, "isOffset": false, "isSlot": false, - "src": "31185:1:5", + "src": "31185:1:18", "valueSize": 1 }, { - "declaration": 1939, + "declaration": 3545, "isOffset": false, "isSlot": false, - "src": "31543:1:5", + "src": "31543:1:18", "valueSize": 1 }, { - "declaration": 1939, + "declaration": 3545, "isOffset": false, "isSlot": false, - "src": "31888:1:5", + "src": "31888:1:18", "valueSize": 1 }, { - "declaration": 1939, + "declaration": 3545, "isOffset": false, "isSlot": false, - "src": "32027:1:5", + "src": "32027:1:18", "valueSize": 1 }, { - "declaration": 1939, + "declaration": 3545, "isOffset": false, "isSlot": false, - "src": "32045:1:5", + "src": "32045:1:18", "valueSize": 1 }, { - "declaration": 1939, + "declaration": 3545, "isOffset": false, "isSlot": false, - "src": "32342:1:5", + "src": "32342:1:18", "valueSize": 1 }, { - "declaration": 1939, + "declaration": 3545, "isOffset": false, "isSlot": false, - "src": "32479:1:5", + "src": "32479:1:18", "valueSize": 1 }, { - "declaration": 1939, + "declaration": 3545, "isOffset": false, "isSlot": false, - "src": "32981:1:5", + "src": "32981:1:18", "valueSize": 1 }, { - "declaration": 1939, + "declaration": 3545, "isOffset": false, "isSlot": false, - "src": "33015:1:5", + "src": "33015:1:18", "valueSize": 1 }, { - "declaration": 1939, + "declaration": 3545, "isOffset": false, "isSlot": false, - "src": "33159:1:5", + "src": "33159:1:18", "valueSize": 1 }, { - "declaration": 1939, + "declaration": 3545, "isOffset": false, "isSlot": false, - "src": "34038:1:5", + "src": "34038:1:18", "valueSize": 1 }, { - "declaration": 1939, + "declaration": 3545, "isOffset": false, "isSlot": false, - "src": "34050:1:5", + "src": "34050:1:18", "valueSize": 1 }, { - "declaration": 1936, + "declaration": 3542, "isOffset": false, "isSlot": false, - "src": "28391:11:5", + "src": "28391:11:18", "valueSize": 1 }, { - "declaration": 1936, + "declaration": 3542, "isOffset": false, "isSlot": false, - "src": "30921:11:5", + "src": "30921:11:18", "valueSize": 1 }, { - "declaration": 983, + "declaration": 2589, "isOffset": false, "isSlot": false, - "src": "29372:7:5", + "src": "29372:7:18", "valueSize": 1 }, { - "declaration": 983, + "declaration": 2589, "isOffset": false, "isSlot": false, - "src": "31740:7:5", + "src": "31740:7:18", "valueSize": 1 }, { - "declaration": 983, + "declaration": 2589, "isOffset": false, "isSlot": false, - "src": "32380:7:5", + "src": "32380:7:18", "valueSize": 1 }, { - "declaration": 983, + "declaration": 2589, "isOffset": false, "isSlot": false, - "src": "33076:7:5", + "src": "33076:7:18", "valueSize": 1 }, { - "declaration": 983, + "declaration": 2589, "isOffset": false, "isSlot": false, - "src": "33790:7:5", + "src": "33790:7:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "28842:1:5", + "src": "28842:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "28915:1:5", + "src": "28915:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "28975:1:5", + "src": "28975:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "29040:1:5", + "src": "29040:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "29116:1:5", + "src": "29116:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "29124:1:5", + "src": "29124:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "29142:1:5", + "src": "29142:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "29146:1:5", + "src": "29146:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "29150:1:5", + "src": "29150:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "29224:1:5", + "src": "29224:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "29286:1:5", + "src": "29286:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "29361:1:5", + "src": "29361:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "29385:1:5", + "src": "29385:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "29389:1:5", + "src": "29389:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "29539:1:5", + "src": "29539:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "29547:1:5", + "src": "29547:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "29551:1:5", + "src": "29551:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "29713:1:5", + "src": "29713:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "29721:1:5", + "src": "29721:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "30815:1:5", + "src": "30815:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "31460:1:5", + "src": "31460:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "31467:1:5", + "src": "31467:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "31532:1:5", + "src": "31532:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "31540:1:5", + "src": "31540:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "31547:1:5", + "src": "31547:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "31752:1:5", + "src": "31752:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "31827:1:5", + "src": "31827:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "31895:1:5", + "src": "31895:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "31964:1:5", + "src": "31964:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "32034:1:5", + "src": "32034:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "32052:1:5", + "src": "32052:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "32060:1:5", + "src": "32060:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "32064:1:5", + "src": "32064:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "32138:1:5", + "src": "32138:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "32216:1:5", + "src": "32216:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "32286:1:5", + "src": "32286:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "32369:1:5", + "src": "32369:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "32393:1:5", + "src": "32393:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "32397:1:5", + "src": "32397:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "32476:1:5", + "src": "32476:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "32483:1:5", + "src": "32483:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "32487:1:5", + "src": "32487:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "32563:1:5", + "src": "32563:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "32567:1:5", + "src": "32567:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "32737:1:5", + "src": "32737:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "32789:1:5", + "src": "32789:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "32840:1:5", + "src": "32840:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "32927:1:5", + "src": "32927:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "32988:1:5", + "src": "32988:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "33049:1:5", + "src": "33049:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "33057:1:5", + "src": "33057:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "33065:1:5", + "src": "33065:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "33090:1:5", + "src": "33090:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "33094:1:5", + "src": "33094:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "33156:1:5", + "src": "33156:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "33163:1:5", + "src": "33163:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "33171:1:5", + "src": "33171:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "33189:1:5", + "src": "33189:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "33193:1:5", + "src": "33193:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "33836:1:5", + "src": "33836:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "34057:1:5", + "src": "34057:1:18", "valueSize": 1 }, { - "declaration": 1932, + "declaration": 3538, "isOffset": false, "isSlot": false, - "src": "30009:8:5", + "src": "30009:8:18", "valueSize": 1 }, { - "declaration": 1932, + "declaration": 3538, "isOffset": false, "isSlot": false, - "src": "30215:8:5", + "src": "30215:8:18", "valueSize": 1 }, { - "declaration": 1932, + "declaration": 3538, "isOffset": false, "isSlot": false, - "src": "30423:8:5", + "src": "30423:8:18", "valueSize": 1 }, { - "declaration": 1932, + "declaration": 3538, "isOffset": false, "isSlot": false, - "src": "30624:8:5", + "src": "30624:8:18", "valueSize": 1 }, { - "declaration": 1934, + "declaration": 3540, "isOffset": false, "isSlot": false, - "src": "29971:8:5", + "src": "29971:8:18", "valueSize": 1 }, { - "declaration": 1934, + "declaration": 3540, "isOffset": false, "isSlot": false, - "src": "30176:8:5", + "src": "30176:8:18", "valueSize": 1 }, { - "declaration": 1934, + "declaration": 3540, "isOffset": false, "isSlot": false, - "src": "30384:8:5", + "src": "30384:8:18", "valueSize": 1 }, { - "declaration": 1934, + "declaration": 3540, "isOffset": false, "isSlot": false, - "src": "30586:8:5", + "src": "30586:8:18", "valueSize": 1 }, { - "declaration": 1942, + "declaration": 3548, "isOffset": false, "isSlot": false, - "src": "28454:2:5", + "src": "28454:2:18", "valueSize": 1 }, { - "declaration": 1942, + "declaration": 3548, "isOffset": false, "isSlot": false, - "src": "28579:2:5", + "src": "28579:2:18", "valueSize": 1 }, { - "declaration": 1942, + "declaration": 3548, "isOffset": false, "isSlot": false, - "src": "29119:2:5", + "src": "29119:2:18", "valueSize": 1 }, { - "declaration": 1942, + "declaration": 3548, "isOffset": false, "isSlot": false, - "src": "29138:2:5", + "src": "29138:2:18", "valueSize": 1 }, { - "declaration": 1942, + "declaration": 3548, "isOffset": false, "isSlot": false, - "src": "29265:2:5", + "src": "29265:2:18", "valueSize": 1 }, { - "declaration": 1942, + "declaration": 3548, "isOffset": false, "isSlot": false, - "src": "29282:2:5", + "src": "29282:2:18", "valueSize": 1 }, { - "declaration": 1942, + "declaration": 3548, "isOffset": false, "isSlot": false, - "src": "31151:2:5", + "src": "31151:2:18", "valueSize": 1 }, { - "declaration": 1942, + "declaration": 3548, "isOffset": false, "isSlot": false, - "src": "31278:2:5", + "src": "31278:2:18", "valueSize": 1 }, { - "declaration": 1942, + "declaration": 3548, "isOffset": false, "isSlot": false, - "src": "31528:2:5", + "src": "31528:2:18", "valueSize": 1 }, { - "declaration": 1942, + "declaration": 3548, "isOffset": false, "isSlot": false, - "src": "32030:2:5", + "src": "32030:2:18", "valueSize": 1 }, { - "declaration": 1942, + "declaration": 3548, "isOffset": false, "isSlot": false, - "src": "32055:2:5", + "src": "32055:2:18", "valueSize": 1 }, { - "declaration": 1942, + "declaration": 3548, "isOffset": false, "isSlot": false, - "src": "32265:2:5", + "src": "32265:2:18", "valueSize": 1 }, { - "declaration": 1942, + "declaration": 3548, "isOffset": false, "isSlot": false, - "src": "32282:2:5", + "src": "32282:2:18", "valueSize": 1 }, { - "declaration": 1942, + "declaration": 3548, "isOffset": false, "isSlot": false, - "src": "32819:2:5", + "src": "32819:2:18", "valueSize": 1 }, { - "declaration": 1942, + "declaration": 3548, "isOffset": false, "isSlot": false, - "src": "32832:2:5", + "src": "32832:2:18", "valueSize": 1 }, { - "declaration": 1942, + "declaration": 3548, "isOffset": false, "isSlot": false, - "src": "33284:2:5", + "src": "33284:2:18", "valueSize": 1 }, { - "declaration": 1942, + "declaration": 3548, "isOffset": false, "isSlot": false, - "src": "34007:2:5", + "src": "34007:2:18", "valueSize": 1 }, { - "declaration": 1942, + "declaration": 3548, "isOffset": false, "isSlot": false, - "src": "34053:2:5", + "src": "34053:2:18", "valueSize": 1 } ], - "id": 2071, + "id": 3677, "nodeType": "InlineAssembly", - "src": "28352:5728:5" + "src": "28352:5728:18" } ] } ] }, - "id": 2074, + "id": 3680, "implemented": true, "kind": "function", "modifiers": [], "name": "ecZZ_mulmuladd_S8_extcode", - "nameLocation": "27450:25:5", + "nameLocation": "27450:25:18", "nodeType": "FunctionDefinition", "parameters": { - "id": 1937, + "id": 3543, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1932, + "id": 3538, "mutability": "mutable", "name": "scalar_u", - "nameLocation": "27484:8:5", + "nameLocation": "27484:8:18", "nodeType": "VariableDeclaration", - "scope": 2074, - "src": "27476:16:5", + "scope": 3680, + "src": "27476:16:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -47834,10 +66809,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1931, + "id": 3537, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "27476:7:5", + "src": "27476:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -47847,13 +66822,13 @@ }, { "constant": false, - "id": 1934, + "id": 3540, "mutability": "mutable", "name": "scalar_v", - "nameLocation": "27502:8:5", + "nameLocation": "27502:8:18", "nodeType": "VariableDeclaration", - "scope": 2074, - "src": "27494:16:5", + "scope": 3680, + "src": "27494:16:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -47861,10 +66836,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1933, + "id": 3539, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "27494:7:5", + "src": "27494:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -47874,13 +66849,13 @@ }, { "constant": false, - "id": 1936, + "id": 3542, "mutability": "mutable", "name": "dataPointer", - "nameLocation": "27520:11:5", + "nameLocation": "27520:11:18", "nodeType": "VariableDeclaration", - "scope": 2074, - "src": "27512:19:5", + "scope": 3680, + "src": "27512:19:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -47888,10 +66863,10 @@ "typeString": "address" }, "typeName": { - "id": 1935, + "id": 3541, "name": "address", "nodeType": "ElementaryTypeName", - "src": "27512:7:5", + "src": "27512:7:18", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -47901,21 +66876,21 @@ "visibility": "internal" } ], - "src": "27475:57:5" + "src": "27475:57:18" }, "returnParameters": { - "id": 1940, + "id": 3546, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1939, + "id": 3545, "mutability": "mutable", "name": "X", - "nameLocation": "27580:1:5", + "nameLocation": "27580:1:18", "nodeType": "VariableDeclaration", - "scope": 2074, - "src": "27572:9:5", + "scope": 3680, + "src": "27572:9:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -47923,10 +66898,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1938, + "id": 3544, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "27572:7:5", + "src": "27572:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -47935,34 +66910,34 @@ "visibility": "internal" } ], - "src": "27571:25:5" + "src": "27571:25:18" }, - "scope": 2298, - "src": "27441:6671:5", + "scope": 3904, + "src": "27441:6671:18", "stateMutability": "view", "virtual": false, "visibility": "internal" }, { "body": { - "id": 2217, + "id": 3823, "nodeType": "Block", - "src": "34356:4828:5", + "src": "34356:4828:18", "statements": [ { "assignments": [ - 2086 + 3692 ], "declarations": [ { "constant": false, - "id": 2086, + "id": 3692, "mutability": "mutable", "name": "zz", - "nameLocation": "34374:2:5", + "nameLocation": "34374:2:18", "nodeType": "VariableDeclaration", - "scope": 2217, - "src": "34366:10:5", + "scope": 3823, + "src": "34366:10:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -47970,10 +66945,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2085, + "id": 3691, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "34366:7:5", + "src": "34366:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -47982,24 +66957,24 @@ "visibility": "internal" } ], - "id": 2087, + "id": 3693, "nodeType": "VariableDeclarationStatement", - "src": "34366:10:5" + "src": "34366:10:18" }, { "assignments": [ - 2093 + 3699 ], "declarations": [ { "constant": false, - "id": 2093, + "id": 3699, "mutability": "mutable", "name": "T", - "nameLocation": "34444:1:5", + "nameLocation": "34444:1:18", "nodeType": "VariableDeclaration", - "scope": 2217, - "src": "34426:19:5", + "scope": 3823, + "src": "34426:19:18", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -48008,26 +66983,26 @@ }, "typeName": { "baseType": { - "id": 2091, + "id": 3697, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "34426:7:5", + "src": "34426:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2092, + "id": 3698, "length": { "hexValue": "36", - "id": 2090, + "id": 3696, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "34434:1:5", + "src": "34434:1:18", "typeDescriptions": { "typeIdentifier": "t_rational_6_by_1", "typeString": "int_const 6" @@ -48035,7 +67010,7 @@ "value": "6" }, "nodeType": "ArrayTypeName", - "src": "34426:10:5", + "src": "34426:10:18", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_storage_ptr", "typeString": "uint256[6]" @@ -48044,24 +67019,24 @@ "visibility": "internal" } ], - "id": 2094, + "id": 3700, "nodeType": "VariableDeclarationStatement", - "src": "34426:19:5" + "src": "34426:19:18" }, { "expression": { - "id": 2097, + "id": 3703, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 2095, + "id": 3701, "name": "zz", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2086, - "src": "34455:2:5", + "referencedDeclaration": 3692, + "src": "34455:2:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -48071,55 +67046,55 @@ "operator": "=", "rightHandSide": { "hexValue": "323536", - "id": 2096, + "id": 3702, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "34460:3:5", + "src": "34460:3:18", "typeDescriptions": { "typeIdentifier": "t_rational_256_by_1", "typeString": "int_const 256" }, "value": "256" }, - "src": "34455:8:5", + "src": "34455:8:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2098, + "id": 3704, "nodeType": "ExpressionStatement", - "src": "34455:8:5" + "src": "34455:8:18" }, { - "id": 2216, + "id": 3822, "nodeType": "UncheckedBlock", - "src": "34488:4674:5", + "src": "34488:4674:18", "statements": [ { "body": { - "id": 2213, + "id": 3819, "nodeType": "Block", - "src": "34530:552:5", + "src": "34530:552:18", "statements": [ { "expression": { - "id": 2108, + "id": 3714, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 2104, + "id": 3710, "name": "zz", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2086, - "src": "34548:2:5", + "referencedDeclaration": 3692, + "src": "34548:2:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -48132,18 +67107,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2107, + "id": 3713, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2105, + "id": 3711, "name": "zz", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2086, - "src": "34553:2:5", + "referencedDeclaration": 3692, + "src": "34553:2:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -48153,67 +67128,67 @@ "operator": "-", "rightExpression": { "hexValue": "31", - "id": 2106, + "id": 3712, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "34558:1:5", + "src": "34558:1:18", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "34553:6:5", + "src": "34553:6:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "34548:11:5", + "src": "34548:11:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2109, + "id": 3715, "nodeType": "ExpressionStatement", - "src": "34548:11:5" + "src": "34548:11:18" }, { "expression": { - "id": 2211, + "id": 3817, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 2110, + "id": 3716, "name": "T", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2093, - "src": "34627:1:5", + "referencedDeclaration": 3699, + "src": "34627:1:18", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" } }, - "id": 2112, + "id": 3718, "indexExpression": { "hexValue": "30", - "id": 2111, + "id": 3717, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "34629:1:5", + "src": "34629:1:18", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -48225,7 +67200,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "34627:4:5", + "src": "34627:4:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -48238,21 +67213,21 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2210, + "id": 3816, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "3634", - "id": 2113, + "id": 3719, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "34634:2:5", + "src": "34634:2:18", "typeDescriptions": { "typeIdentifier": "t_rational_64_by_1", "typeString": "int_const 64" @@ -48268,7 +67243,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2208, + "id": 3814, "isConstant": false, "isLValue": false, "isPure": false, @@ -48278,7 +67253,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2197, + "id": 3803, "isConstant": false, "isLValue": false, "isPure": false, @@ -48288,7 +67263,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2184, + "id": 3790, "isConstant": false, "isLValue": false, "isPure": false, @@ -48298,7 +67273,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2171, + "id": 3777, "isConstant": false, "isLValue": false, "isPure": false, @@ -48308,7 +67283,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2161, + "id": 3767, "isConstant": false, "isLValue": false, "isPure": false, @@ -48318,7 +67293,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2148, + "id": 3754, "isConstant": false, "isLValue": false, "isPure": false, @@ -48328,7 +67303,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2135, + "id": 3741, "isConstant": false, "isLValue": false, "isPure": false, @@ -48338,21 +67313,21 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2122, + "id": 3728, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "313238", - "id": 2114, + "id": 3720, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "34685:3:5", + "src": "34685:3:18", "typeDescriptions": { "typeIdentifier": "t_rational_128_by_1", "typeString": "int_const 128" @@ -48368,7 +67343,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2120, + "id": 3726, "isConstant": false, "isLValue": false, "isPure": false, @@ -48380,18 +67355,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2117, + "id": 3723, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2115, + "id": 3721, "name": "scalar_v", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2078, - "src": "34693:8:5", + "referencedDeclaration": 3684, + "src": "34693:8:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -48400,32 +67375,32 @@ "nodeType": "BinaryOperation", "operator": ">>", "rightExpression": { - "id": 2116, + "id": 3722, "name": "zz", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2086, - "src": "34705:2:5", + "referencedDeclaration": 3692, + "src": "34705:2:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "34693:14:5", + "src": "34693:14:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 2118, + "id": 3724, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "34692:16:5", + "src": "34692:16:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -48435,41 +67410,41 @@ "operator": "&", "rightExpression": { "hexValue": "31", - "id": 2119, + "id": 3725, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "34711:1:5", + "src": "34711:1:18", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "34692:20:5", + "src": "34692:20:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 2121, + "id": 3727, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "34691:22:5", + "src": "34691:22:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "34685:28:5", + "src": "34685:28:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -48482,21 +67457,21 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2134, + "id": 3740, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "3634", - "id": 2123, + "id": 3729, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "34716:2:5", + "src": "34716:2:18", "typeDescriptions": { "typeIdentifier": "t_rational_64_by_1", "typeString": "int_const 64" @@ -48512,7 +67487,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2132, + "id": 3738, "isConstant": false, "isLValue": false, "isPure": false, @@ -48524,18 +67499,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2129, + "id": 3735, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2124, + "id": 3730, "name": "scalar_v", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2078, - "src": "34723:8:5", + "referencedDeclaration": 3684, + "src": "34723:8:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -48550,18 +67525,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2127, + "id": 3733, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2125, + "id": 3731, "name": "zz", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2086, - "src": "34736:2:5", + "referencedDeclaration": 3692, + "src": "34736:2:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -48571,55 +67546,55 @@ "operator": "-", "rightExpression": { "hexValue": "3634", - "id": 2126, + "id": 3732, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "34741:2:5", + "src": "34741:2:18", "typeDescriptions": { "typeIdentifier": "t_rational_64_by_1", "typeString": "int_const 64" }, "value": "64" }, - "src": "34736:7:5", + "src": "34736:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 2128, + "id": 3734, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "34735:9:5", + "src": "34735:9:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "34723:21:5", + "src": "34723:21:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 2130, + "id": 3736, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "34722:23:5", + "src": "34722:23:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -48629,47 +67604,47 @@ "operator": "&", "rightExpression": { "hexValue": "31", - "id": 2131, + "id": 3737, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "34748:1:5", + "src": "34748:1:18", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "34722:27:5", + "src": "34722:27:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 2133, + "id": 3739, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "34721:29:5", + "src": "34721:29:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "34716:34:5", + "src": "34716:34:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "34685:65:5", + "src": "34685:65:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -48682,21 +67657,21 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2147, + "id": 3753, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "3332", - "id": 2136, + "id": 3742, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "34781:2:5", + "src": "34781:2:18", "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" @@ -48712,7 +67687,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2145, + "id": 3751, "isConstant": false, "isLValue": false, "isPure": false, @@ -48724,18 +67699,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2142, + "id": 3748, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2137, + "id": 3743, "name": "scalar_v", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2078, - "src": "34788:8:5", + "referencedDeclaration": 3684, + "src": "34788:8:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -48750,18 +67725,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2140, + "id": 3746, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2138, + "id": 3744, "name": "zz", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2086, - "src": "34801:2:5", + "referencedDeclaration": 3692, + "src": "34801:2:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -48771,55 +67746,55 @@ "operator": "-", "rightExpression": { "hexValue": "313238", - "id": 2139, + "id": 3745, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "34806:3:5", + "src": "34806:3:18", "typeDescriptions": { "typeIdentifier": "t_rational_128_by_1", "typeString": "int_const 128" }, "value": "128" }, - "src": "34801:8:5", + "src": "34801:8:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 2141, + "id": 3747, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "34800:10:5", + "src": "34800:10:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "34788:22:5", + "src": "34788:22:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 2143, + "id": 3749, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "34787:24:5", + "src": "34787:24:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -48829,47 +67804,47 @@ "operator": "&", "rightExpression": { "hexValue": "31", - "id": 2144, + "id": 3750, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "34814:1:5", + "src": "34814:1:18", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "34787:28:5", + "src": "34787:28:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 2146, + "id": 3752, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "34786:30:5", + "src": "34786:30:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "34781:35:5", + "src": "34781:35:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "34685:131:5", + "src": "34685:131:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -48882,21 +67857,21 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2160, + "id": 3766, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "3136", - "id": 2149, + "id": 3755, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "34819:2:5", + "src": "34819:2:18", "typeDescriptions": { "typeIdentifier": "t_rational_16_by_1", "typeString": "int_const 16" @@ -48912,7 +67887,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2158, + "id": 3764, "isConstant": false, "isLValue": false, "isPure": false, @@ -48924,18 +67899,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2155, + "id": 3761, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2150, + "id": 3756, "name": "scalar_v", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2078, - "src": "34826:8:5", + "referencedDeclaration": 3684, + "src": "34826:8:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -48950,18 +67925,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2153, + "id": 3759, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2151, + "id": 3757, "name": "zz", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2086, - "src": "34839:2:5", + "referencedDeclaration": 3692, + "src": "34839:2:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -48971,55 +67946,55 @@ "operator": "-", "rightExpression": { "hexValue": "313932", - "id": 2152, + "id": 3758, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "34844:3:5", + "src": "34844:3:18", "typeDescriptions": { "typeIdentifier": "t_rational_192_by_1", "typeString": "int_const 192" }, "value": "192" }, - "src": "34839:8:5", + "src": "34839:8:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 2154, + "id": 3760, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "34838:10:5", + "src": "34838:10:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "34826:22:5", + "src": "34826:22:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 2156, + "id": 3762, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "34825:24:5", + "src": "34825:24:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -49029,47 +68004,47 @@ "operator": "&", "rightExpression": { "hexValue": "31", - "id": 2157, + "id": 3763, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "34852:1:5", + "src": "34852:1:18", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "34825:28:5", + "src": "34825:28:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 2159, + "id": 3765, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "34824:30:5", + "src": "34824:30:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "34819:35:5", + "src": "34819:35:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "34685:169:5", + "src": "34685:169:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -49082,21 +68057,21 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2170, + "id": 3776, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "38", - "id": 2162, + "id": 3768, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "34885:1:5", + "src": "34885:1:18", "typeDescriptions": { "typeIdentifier": "t_rational_8_by_1", "typeString": "int_const 8" @@ -49112,7 +68087,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2168, + "id": 3774, "isConstant": false, "isLValue": false, "isPure": false, @@ -49124,18 +68099,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2165, + "id": 3771, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2163, + "id": 3769, "name": "scalar_u", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2076, - "src": "34891:8:5", + "referencedDeclaration": 3682, + "src": "34891:8:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -49144,32 +68119,32 @@ "nodeType": "BinaryOperation", "operator": ">>", "rightExpression": { - "id": 2164, + "id": 3770, "name": "zz", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2086, - "src": "34903:2:5", + "referencedDeclaration": 3692, + "src": "34903:2:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "34891:14:5", + "src": "34891:14:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 2166, + "id": 3772, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "34890:16:5", + "src": "34890:16:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -49179,47 +68154,47 @@ "operator": "&", "rightExpression": { "hexValue": "31", - "id": 2167, + "id": 3773, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "34909:1:5", + "src": "34909:1:18", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "34890:20:5", + "src": "34890:20:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 2169, + "id": 3775, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "34889:22:5", + "src": "34889:22:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "34885:26:5", + "src": "34885:26:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "34685:226:5", + "src": "34685:226:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -49232,21 +68207,21 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2183, + "id": 3789, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "34", - "id": 2172, + "id": 3778, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "34914:1:5", + "src": "34914:1:18", "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", "typeString": "int_const 4" @@ -49262,7 +68237,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2181, + "id": 3787, "isConstant": false, "isLValue": false, "isPure": false, @@ -49274,18 +68249,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2178, + "id": 3784, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2173, + "id": 3779, "name": "scalar_u", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2076, - "src": "34920:8:5", + "referencedDeclaration": 3682, + "src": "34920:8:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -49300,18 +68275,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2176, + "id": 3782, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2174, + "id": 3780, "name": "zz", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2086, - "src": "34933:2:5", + "referencedDeclaration": 3692, + "src": "34933:2:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -49321,55 +68296,55 @@ "operator": "-", "rightExpression": { "hexValue": "3634", - "id": 2175, + "id": 3781, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "34938:2:5", + "src": "34938:2:18", "typeDescriptions": { "typeIdentifier": "t_rational_64_by_1", "typeString": "int_const 64" }, "value": "64" }, - "src": "34933:7:5", + "src": "34933:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 2177, + "id": 3783, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "34932:9:5", + "src": "34932:9:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "34920:21:5", + "src": "34920:21:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 2179, + "id": 3785, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "34919:23:5", + "src": "34919:23:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -49379,47 +68354,47 @@ "operator": "&", "rightExpression": { "hexValue": "31", - "id": 2180, + "id": 3786, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "34945:1:5", + "src": "34945:1:18", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "34919:27:5", + "src": "34919:27:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 2182, + "id": 3788, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "34918:29:5", + "src": "34918:29:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "34914:33:5", + "src": "34914:33:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "34685:262:5", + "src": "34685:262:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -49432,21 +68407,21 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2196, + "id": 3802, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "32", - "id": 2185, + "id": 3791, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "34978:1:5", + "src": "34978:1:18", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -49462,7 +68437,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2194, + "id": 3800, "isConstant": false, "isLValue": false, "isPure": false, @@ -49474,18 +68449,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2191, + "id": 3797, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2186, + "id": 3792, "name": "scalar_u", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2076, - "src": "34984:8:5", + "referencedDeclaration": 3682, + "src": "34984:8:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -49500,18 +68475,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2189, + "id": 3795, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2187, + "id": 3793, "name": "zz", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2086, - "src": "34997:2:5", + "referencedDeclaration": 3692, + "src": "34997:2:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -49521,55 +68496,55 @@ "operator": "-", "rightExpression": { "hexValue": "313238", - "id": 2188, + "id": 3794, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "35002:3:5", + "src": "35002:3:18", "typeDescriptions": { "typeIdentifier": "t_rational_128_by_1", "typeString": "int_const 128" }, "value": "128" }, - "src": "34997:8:5", + "src": "34997:8:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 2190, + "id": 3796, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "34996:10:5", + "src": "34996:10:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "34984:22:5", + "src": "34984:22:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 2192, + "id": 3798, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "34983:24:5", + "src": "34983:24:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -49579,47 +68554,47 @@ "operator": "&", "rightExpression": { "hexValue": "31", - "id": 2193, + "id": 3799, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "35010:1:5", + "src": "35010:1:18", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "34983:28:5", + "src": "34983:28:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 2195, + "id": 3801, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "34982:30:5", + "src": "34982:30:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "34978:34:5", + "src": "34978:34:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "34685:327:5", + "src": "34685:327:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -49634,7 +68609,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2206, + "id": 3812, "isConstant": false, "isLValue": false, "isPure": false, @@ -49646,18 +68621,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2203, + "id": 3809, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2198, + "id": 3804, "name": "scalar_u", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2076, - "src": "35017:8:5", + "referencedDeclaration": 3682, + "src": "35017:8:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -49672,18 +68647,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2201, + "id": 3807, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2199, + "id": 3805, "name": "zz", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2086, - "src": "35030:2:5", + "referencedDeclaration": 3692, + "src": "35030:2:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -49693,55 +68668,55 @@ "operator": "-", "rightExpression": { "hexValue": "313932", - "id": 2200, + "id": 3806, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "35035:3:5", + "src": "35035:3:18", "typeDescriptions": { "typeIdentifier": "t_rational_192_by_1", "typeString": "int_const 192" }, "value": "192" }, - "src": "35030:8:5", + "src": "35030:8:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 2202, + "id": 3808, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "35029:10:5", + "src": "35029:10:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "35017:22:5", + "src": "35017:22:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 2204, + "id": 3810, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "35016:24:5", + "src": "35016:24:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -49751,75 +68726,75 @@ "operator": "&", "rightExpression": { "hexValue": "31", - "id": 2205, + "id": 3811, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "35043:1:5", + "src": "35043:1:18", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "35016:28:5", + "src": "35016:28:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 2207, + "id": 3813, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "35015:30:5", + "src": "35015:30:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "34685:360:5", + "src": "34685:360:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 2209, + "id": 3815, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "34659:408:5", + "src": "34659:408:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "34634:433:5", + "src": "34634:433:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "34627:440:5", + "src": "34627:440:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2212, + "id": 3818, "nodeType": "ExpressionStatement", - "src": "34627:440:5" + "src": "34627:440:18" } ] }, @@ -49828,35 +68803,35 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2103, + "id": 3709, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "baseExpression": { - "id": 2099, + "id": 3705, "name": "T", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2093, - "src": "34519:1:5", + "referencedDeclaration": 3699, + "src": "34519:1:18", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" } }, - "id": 2101, + "id": 3707, "indexExpression": { "hexValue": "30", - "id": 2100, + "id": 3706, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "34521:1:5", + "src": "34521:1:18", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -49868,7 +68843,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "34519:4:5", + "src": "34519:4:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -49878,44 +68853,44 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 2102, + "id": 3708, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "34527:1:5", + "src": "34527:1:18", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "34519:9:5", + "src": "34519:9:18", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 2214, + "id": 3820, "nodeType": "WhileStatement", - "src": "34512:570:5" + "src": "34512:570:18" }, { "AST": { - "nativeSrc": "35104:4048:5", + "nativeSrc": "35104:4048:18", "nodeType": "YulBlock", - "src": "35104:4048:5", + "src": "35104:4048:18", "statements": [ { "expression": { "arguments": [ { "name": "T", - "nativeSrc": "35131:1:5", + "nativeSrc": "35131:1:18", "nodeType": "YulIdentifier", - "src": "35131:1:5" + "src": "35131:1:18" }, { "arguments": [ @@ -49923,388 +68898,388 @@ "arguments": [ { "name": "T", - "nativeSrc": "35144:1:5", + "nativeSrc": "35144:1:18", "nodeType": "YulIdentifier", - "src": "35144:1:5" + "src": "35144:1:18" } ], "functionName": { "name": "mload", - "nativeSrc": "35138:5:5", + "nativeSrc": "35138:5:18", "nodeType": "YulIdentifier", - "src": "35138:5:5" + "src": "35138:5:18" }, - "nativeSrc": "35138:8:5", + "nativeSrc": "35138:8:18", "nodeType": "YulFunctionCall", - "src": "35138:8:5" + "src": "35138:8:18" }, { "name": "dataPointer", - "nativeSrc": "35148:11:5", + "nativeSrc": "35148:11:18", "nodeType": "YulIdentifier", - "src": "35148:11:5" + "src": "35148:11:18" } ], "functionName": { "name": "add", - "nativeSrc": "35134:3:5", + "nativeSrc": "35134:3:18", "nodeType": "YulIdentifier", - "src": "35134:3:5" + "src": "35134:3:18" }, - "nativeSrc": "35134:26:5", + "nativeSrc": "35134:26:18", "nodeType": "YulFunctionCall", - "src": "35134:26:5" + "src": "35134:26:18" }, { "kind": "number", - "nativeSrc": "35162:2:5", + "nativeSrc": "35162:2:18", "nodeType": "YulLiteral", - "src": "35162:2:5", + "src": "35162:2:18", "type": "", "value": "64" } ], "functionName": { "name": "codecopy", - "nativeSrc": "35122:8:5", + "nativeSrc": "35122:8:18", "nodeType": "YulIdentifier", - "src": "35122:8:5" + "src": "35122:8:18" }, - "nativeSrc": "35122:43:5", + "nativeSrc": "35122:43:18", "nodeType": "YulFunctionCall", - "src": "35122:43:5" + "src": "35122:43:18" }, - "nativeSrc": "35122:43:5", + "nativeSrc": "35122:43:18", "nodeType": "YulExpressionStatement", - "src": "35122:43:5" + "src": "35122:43:18" }, { - "nativeSrc": "35182:13:5", + "nativeSrc": "35182:13:18", "nodeType": "YulAssignment", - "src": "35182:13:5", + "src": "35182:13:18", "value": { "arguments": [ { "name": "T", - "nativeSrc": "35193:1:5", + "nativeSrc": "35193:1:18", "nodeType": "YulIdentifier", - "src": "35193:1:5" + "src": "35193:1:18" } ], "functionName": { "name": "mload", - "nativeSrc": "35187:5:5", + "nativeSrc": "35187:5:18", "nodeType": "YulIdentifier", - "src": "35187:5:5" + "src": "35187:5:18" }, - "nativeSrc": "35187:8:5", + "nativeSrc": "35187:8:18", "nodeType": "YulFunctionCall", - "src": "35187:8:5" + "src": "35187:8:18" }, "variableNames": [ { "name": "X", - "nativeSrc": "35182:1:5", + "nativeSrc": "35182:1:18", "nodeType": "YulIdentifier", - "src": "35182:1:5" + "src": "35182:1:18" } ] }, { - "nativeSrc": "35212:26:5", + "nativeSrc": "35212:26:18", "nodeType": "YulVariableDeclaration", - "src": "35212:26:5", + "src": "35212:26:18", "value": { "arguments": [ { "arguments": [ { "name": "T", - "nativeSrc": "35231:1:5", + "nativeSrc": "35231:1:18", "nodeType": "YulIdentifier", - "src": "35231:1:5" + "src": "35231:1:18" }, { "kind": "number", - "nativeSrc": "35234:2:5", + "nativeSrc": "35234:2:18", "nodeType": "YulLiteral", - "src": "35234:2:5", + "src": "35234:2:18", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "35227:3:5", + "nativeSrc": "35227:3:18", "nodeType": "YulIdentifier", - "src": "35227:3:5" + "src": "35227:3:18" }, - "nativeSrc": "35227:10:5", + "nativeSrc": "35227:10:18", "nodeType": "YulFunctionCall", - "src": "35227:10:5" + "src": "35227:10:18" } ], "functionName": { "name": "mload", - "nativeSrc": "35221:5:5", + "nativeSrc": "35221:5:18", "nodeType": "YulIdentifier", - "src": "35221:5:5" + "src": "35221:5:18" }, - "nativeSrc": "35221:17:5", + "nativeSrc": "35221:17:18", "nodeType": "YulFunctionCall", - "src": "35221:17:5" + "src": "35221:17:18" }, "variables": [ { "name": "Y", - "nativeSrc": "35216:1:5", + "nativeSrc": "35216:1:18", "nodeType": "YulTypedName", - "src": "35216:1:5", + "src": "35216:1:18", "type": "" } ] }, { - "nativeSrc": "35255:12:5", + "nativeSrc": "35255:12:18", "nodeType": "YulVariableDeclaration", - "src": "35255:12:5", + "src": "35255:12:18", "value": { "kind": "number", - "nativeSrc": "35266:1:5", + "nativeSrc": "35266:1:18", "nodeType": "YulLiteral", - "src": "35266:1:5", + "src": "35266:1:18", "type": "", "value": "1" }, "variables": [ { "name": "zzz", - "nativeSrc": "35259:3:5", + "nativeSrc": "35259:3:18", "nodeType": "YulTypedName", - "src": "35259:3:5", + "src": "35259:3:18", "type": "" } ] }, { - "nativeSrc": "35284:7:5", + "nativeSrc": "35284:7:18", "nodeType": "YulAssignment", - "src": "35284:7:5", + "src": "35284:7:18", "value": { "kind": "number", - "nativeSrc": "35290:1:5", + "nativeSrc": "35290:1:18", "nodeType": "YulLiteral", - "src": "35290:1:5", + "src": "35290:1:18", "type": "", "value": "1" }, "variableNames": [ { "name": "zz", - "nativeSrc": "35284:2:5", + "nativeSrc": "35284:2:18", "nodeType": "YulIdentifier", - "src": "35284:2:5" + "src": "35284:2:18" } ] }, { "body": { - "nativeSrc": "35457:2850:5", + "nativeSrc": "35457:2850:18", "nodeType": "YulBlock", - "src": "35457:2850:5", + "src": "35457:2850:18", "statements": [ { - "nativeSrc": "35479:25:5", + "nativeSrc": "35479:25:18", "nodeType": "YulVariableDeclaration", - "src": "35479:25:5", + "src": "35479:25:18", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "35496:1:5", + "nativeSrc": "35496:1:18", "nodeType": "YulLiteral", - "src": "35496:1:5", + "src": "35496:1:18", "type": "", "value": "2" }, { "name": "Y", - "nativeSrc": "35499:1:5", + "nativeSrc": "35499:1:18", "nodeType": "YulIdentifier", - "src": "35499:1:5" + "src": "35499:1:18" }, { "name": "p", - "nativeSrc": "35502:1:5", + "nativeSrc": "35502:1:18", "nodeType": "YulIdentifier", - "src": "35502:1:5" + "src": "35502:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "35489:6:5", + "nativeSrc": "35489:6:18", "nodeType": "YulIdentifier", - "src": "35489:6:5" + "src": "35489:6:18" }, - "nativeSrc": "35489:15:5", + "nativeSrc": "35489:15:18", "nodeType": "YulFunctionCall", - "src": "35489:15:5" + "src": "35489:15:18" }, "variables": [ { "name": "T1", - "nativeSrc": "35483:2:5", + "nativeSrc": "35483:2:18", "nodeType": "YulTypedName", - "src": "35483:2:5", + "src": "35483:2:18", "type": "" } ] }, { - "nativeSrc": "35544:27:5", + "nativeSrc": "35544:27:18", "nodeType": "YulVariableDeclaration", - "src": "35544:27:5", + "src": "35544:27:18", "value": { "arguments": [ { "name": "T1", - "nativeSrc": "35561:2:5", + "nativeSrc": "35561:2:18", "nodeType": "YulIdentifier", - "src": "35561:2:5" + "src": "35561:2:18" }, { "name": "T1", - "nativeSrc": "35565:2:5", + "nativeSrc": "35565:2:18", "nodeType": "YulIdentifier", - "src": "35565:2:5" + "src": "35565:2:18" }, { "name": "p", - "nativeSrc": "35569:1:5", + "nativeSrc": "35569:1:18", "nodeType": "YulIdentifier", - "src": "35569:1:5" + "src": "35569:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "35554:6:5", + "nativeSrc": "35554:6:18", "nodeType": "YulIdentifier", - "src": "35554:6:5" + "src": "35554:6:18" }, - "nativeSrc": "35554:17:5", + "nativeSrc": "35554:17:18", "nodeType": "YulFunctionCall", - "src": "35554:17:5" + "src": "35554:17:18" }, "variables": [ { "name": "T2", - "nativeSrc": "35548:2:5", + "nativeSrc": "35548:2:18", "nodeType": "YulTypedName", - "src": "35548:2:5", + "src": "35548:2:18", "type": "" } ] }, { - "nativeSrc": "35601:26:5", + "nativeSrc": "35601:26:18", "nodeType": "YulVariableDeclaration", - "src": "35601:26:5", + "src": "35601:26:18", "value": { "arguments": [ { "name": "X", - "nativeSrc": "35618:1:5", + "nativeSrc": "35618:1:18", "nodeType": "YulIdentifier", - "src": "35618:1:5" + "src": "35618:1:18" }, { "name": "T2", - "nativeSrc": "35621:2:5", + "nativeSrc": "35621:2:18", "nodeType": "YulIdentifier", - "src": "35621:2:5" + "src": "35621:2:18" }, { "name": "p", - "nativeSrc": "35625:1:5", + "nativeSrc": "35625:1:18", "nodeType": "YulIdentifier", - "src": "35625:1:5" + "src": "35625:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "35611:6:5", + "nativeSrc": "35611:6:18", "nodeType": "YulIdentifier", - "src": "35611:6:5" + "src": "35611:6:18" }, - "nativeSrc": "35611:16:5", + "nativeSrc": "35611:16:18", "nodeType": "YulFunctionCall", - "src": "35611:16:5" + "src": "35611:16:18" }, "variables": [ { "name": "T3", - "nativeSrc": "35605:2:5", + "nativeSrc": "35605:2:18", "nodeType": "YulTypedName", - "src": "35605:2:5", + "src": "35605:2:18", "type": "" } ] }, { - "nativeSrc": "35660:23:5", + "nativeSrc": "35660:23:18", "nodeType": "YulAssignment", - "src": "35660:23:5", + "src": "35660:23:18", "value": { "arguments": [ { "name": "T1", - "nativeSrc": "35673:2:5", + "nativeSrc": "35673:2:18", "nodeType": "YulIdentifier", - "src": "35673:2:5" + "src": "35673:2:18" }, { "name": "T2", - "nativeSrc": "35677:2:5", + "nativeSrc": "35677:2:18", "nodeType": "YulIdentifier", - "src": "35677:2:5" + "src": "35677:2:18" }, { "name": "p", - "nativeSrc": "35681:1:5", + "nativeSrc": "35681:1:18", "nodeType": "YulIdentifier", - "src": "35681:1:5" + "src": "35681:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "35666:6:5", + "nativeSrc": "35666:6:18", "nodeType": "YulIdentifier", - "src": "35666:6:5" + "src": "35666:6:18" }, - "nativeSrc": "35666:17:5", + "nativeSrc": "35666:17:18", "nodeType": "YulFunctionCall", - "src": "35666:17:5" + "src": "35666:17:18" }, "variableNames": [ { "name": "T1", - "nativeSrc": "35660:2:5", + "nativeSrc": "35660:2:18", "nodeType": "YulIdentifier", - "src": "35660:2:5" + "src": "35660:2:18" } ] }, { - "nativeSrc": "35712:77:5", + "nativeSrc": "35712:77:18", "nodeType": "YulVariableDeclaration", - "src": "35712:77:5", + "src": "35712:77:18", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "35729:1:5", + "nativeSrc": "35729:1:18", "nodeType": "YulLiteral", - "src": "35729:1:5", + "src": "35729:1:18", "type": "", "value": "3" }, @@ -50314,479 +69289,479 @@ "arguments": [ { "name": "X", - "nativeSrc": "35746:1:5", + "nativeSrc": "35746:1:18", "nodeType": "YulIdentifier", - "src": "35746:1:5" + "src": "35746:1:18" }, { "arguments": [ { "name": "p", - "nativeSrc": "35753:1:5", + "nativeSrc": "35753:1:18", "nodeType": "YulIdentifier", - "src": "35753:1:5" + "src": "35753:1:18" }, { "name": "zz", - "nativeSrc": "35756:2:5", + "nativeSrc": "35756:2:18", "nodeType": "YulIdentifier", - "src": "35756:2:5" + "src": "35756:2:18" } ], "functionName": { "name": "sub", - "nativeSrc": "35749:3:5", + "nativeSrc": "35749:3:18", "nodeType": "YulIdentifier", - "src": "35749:3:5" + "src": "35749:3:18" }, - "nativeSrc": "35749:10:5", + "nativeSrc": "35749:10:18", "nodeType": "YulFunctionCall", - "src": "35749:10:5" + "src": "35749:10:18" }, { "name": "p", - "nativeSrc": "35761:1:5", + "nativeSrc": "35761:1:18", "nodeType": "YulIdentifier", - "src": "35761:1:5" + "src": "35761:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "35739:6:5", + "nativeSrc": "35739:6:18", "nodeType": "YulIdentifier", - "src": "35739:6:5" + "src": "35739:6:18" }, - "nativeSrc": "35739:24:5", + "nativeSrc": "35739:24:18", "nodeType": "YulFunctionCall", - "src": "35739:24:5" + "src": "35739:24:18" }, { "arguments": [ { "name": "X", - "nativeSrc": "35772:1:5", + "nativeSrc": "35772:1:18", "nodeType": "YulIdentifier", - "src": "35772:1:5" + "src": "35772:1:18" }, { "name": "zz", - "nativeSrc": "35775:2:5", + "nativeSrc": "35775:2:18", "nodeType": "YulIdentifier", - "src": "35775:2:5" + "src": "35775:2:18" }, { "name": "p", - "nativeSrc": "35779:1:5", + "nativeSrc": "35779:1:18", "nodeType": "YulIdentifier", - "src": "35779:1:5" + "src": "35779:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "35765:6:5", + "nativeSrc": "35765:6:18", "nodeType": "YulIdentifier", - "src": "35765:6:5" + "src": "35765:6:18" }, - "nativeSrc": "35765:16:5", + "nativeSrc": "35765:16:18", "nodeType": "YulFunctionCall", - "src": "35765:16:5" + "src": "35765:16:18" }, { "name": "p", - "nativeSrc": "35783:1:5", + "nativeSrc": "35783:1:18", "nodeType": "YulIdentifier", - "src": "35783:1:5" + "src": "35783:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "35732:6:5", + "nativeSrc": "35732:6:18", "nodeType": "YulIdentifier", - "src": "35732:6:5" + "src": "35732:6:18" }, - "nativeSrc": "35732:53:5", + "nativeSrc": "35732:53:18", "nodeType": "YulFunctionCall", - "src": "35732:53:5" + "src": "35732:53:18" }, { "name": "p", - "nativeSrc": "35787:1:5", + "nativeSrc": "35787:1:18", "nodeType": "YulIdentifier", - "src": "35787:1:5" + "src": "35787:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "35722:6:5", + "nativeSrc": "35722:6:18", "nodeType": "YulIdentifier", - "src": "35722:6:5" + "src": "35722:6:18" }, - "nativeSrc": "35722:67:5", + "nativeSrc": "35722:67:18", "nodeType": "YulFunctionCall", - "src": "35722:67:5" + "src": "35722:67:18" }, "variables": [ { "name": "T4", - "nativeSrc": "35716:2:5", + "nativeSrc": "35716:2:18", "nodeType": "YulTypedName", - "src": "35716:2:5", + "src": "35716:2:18", "type": "" } ] }, { - "nativeSrc": "35834:25:5", + "nativeSrc": "35834:25:18", "nodeType": "YulAssignment", - "src": "35834:25:5", + "src": "35834:25:18", "value": { "arguments": [ { "name": "T1", - "nativeSrc": "35848:2:5", + "nativeSrc": "35848:2:18", "nodeType": "YulIdentifier", - "src": "35848:2:5" + "src": "35848:2:18" }, { "name": "zzz", - "nativeSrc": "35852:3:5", + "nativeSrc": "35852:3:18", "nodeType": "YulIdentifier", - "src": "35852:3:5" + "src": "35852:3:18" }, { "name": "p", - "nativeSrc": "35857:1:5", + "nativeSrc": "35857:1:18", "nodeType": "YulIdentifier", - "src": "35857:1:5" + "src": "35857:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "35841:6:5", + "nativeSrc": "35841:6:18", "nodeType": "YulIdentifier", - "src": "35841:6:5" + "src": "35841:6:18" }, - "nativeSrc": "35841:18:5", + "nativeSrc": "35841:18:18", "nodeType": "YulFunctionCall", - "src": "35841:18:5" + "src": "35841:18:18" }, "variableNames": [ { "name": "zzz", - "nativeSrc": "35834:3:5", + "nativeSrc": "35834:3:18", "nodeType": "YulIdentifier", - "src": "35834:3:5" + "src": "35834:3:18" } ] }, { - "nativeSrc": "35894:23:5", + "nativeSrc": "35894:23:18", "nodeType": "YulAssignment", - "src": "35894:23:5", + "src": "35894:23:18", "value": { "arguments": [ { "name": "T2", - "nativeSrc": "35907:2:5", + "nativeSrc": "35907:2:18", "nodeType": "YulIdentifier", - "src": "35907:2:5" + "src": "35907:2:18" }, { "name": "zz", - "nativeSrc": "35911:2:5", + "nativeSrc": "35911:2:18", "nodeType": "YulIdentifier", - "src": "35911:2:5" + "src": "35911:2:18" }, { "name": "p", - "nativeSrc": "35915:1:5", + "nativeSrc": "35915:1:18", "nodeType": "YulIdentifier", - "src": "35915:1:5" + "src": "35915:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "35900:6:5", + "nativeSrc": "35900:6:18", "nodeType": "YulIdentifier", - "src": "35900:6:5" + "src": "35900:6:18" }, - "nativeSrc": "35900:17:5", + "nativeSrc": "35900:17:18", "nodeType": "YulFunctionCall", - "src": "35900:17:5" + "src": "35900:17:18" }, "variableNames": [ { "name": "zz", - "nativeSrc": "35894:2:5", + "nativeSrc": "35894:2:18", "nodeType": "YulIdentifier", - "src": "35894:2:5" + "src": "35894:2:18" } ] }, { - "nativeSrc": "35959:57:5", + "nativeSrc": "35959:57:18", "nodeType": "YulAssignment", - "src": "35959:57:5", + "src": "35959:57:18", "value": { "arguments": [ { "arguments": [ { "name": "T4", - "nativeSrc": "35978:2:5", + "nativeSrc": "35978:2:18", "nodeType": "YulIdentifier", - "src": "35978:2:5" + "src": "35978:2:18" }, { "name": "T4", - "nativeSrc": "35982:2:5", + "nativeSrc": "35982:2:18", "nodeType": "YulIdentifier", - "src": "35982:2:5" + "src": "35982:2:18" }, { "name": "p", - "nativeSrc": "35986:1:5", + "nativeSrc": "35986:1:18", "nodeType": "YulIdentifier", - "src": "35986:1:5" + "src": "35986:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "35971:6:5", + "nativeSrc": "35971:6:18", "nodeType": "YulIdentifier", - "src": "35971:6:5" + "src": "35971:6:18" }, - "nativeSrc": "35971:17:5", + "nativeSrc": "35971:17:18", "nodeType": "YulFunctionCall", - "src": "35971:17:5" + "src": "35971:17:18" }, { "arguments": [ { "name": "minus_2", - "nativeSrc": "35997:7:5", + "nativeSrc": "35997:7:18", "nodeType": "YulIdentifier", - "src": "35997:7:5" + "src": "35997:7:18" }, { "name": "T3", - "nativeSrc": "36006:2:5", + "nativeSrc": "36006:2:18", "nodeType": "YulIdentifier", - "src": "36006:2:5" + "src": "36006:2:18" }, { "name": "p", - "nativeSrc": "36010:1:5", + "nativeSrc": "36010:1:18", "nodeType": "YulIdentifier", - "src": "36010:1:5" + "src": "36010:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "35990:6:5", + "nativeSrc": "35990:6:18", "nodeType": "YulIdentifier", - "src": "35990:6:5" + "src": "35990:6:18" }, - "nativeSrc": "35990:22:5", + "nativeSrc": "35990:22:18", "nodeType": "YulFunctionCall", - "src": "35990:22:5" + "src": "35990:22:18" }, { "name": "p", - "nativeSrc": "36014:1:5", + "nativeSrc": "36014:1:18", "nodeType": "YulIdentifier", - "src": "36014:1:5" + "src": "36014:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "35964:6:5", + "nativeSrc": "35964:6:18", "nodeType": "YulIdentifier", - "src": "35964:6:5" + "src": "35964:6:18" }, - "nativeSrc": "35964:52:5", + "nativeSrc": "35964:52:18", "nodeType": "YulFunctionCall", - "src": "35964:52:5" + "src": "35964:52:18" }, "variableNames": [ { "name": "X", - "nativeSrc": "35959:1:5", + "nativeSrc": "35959:1:18", "nodeType": "YulIdentifier", - "src": "35959:1:5" + "src": "35959:1:18" } ] }, { - "nativeSrc": "36121:45:5", + "nativeSrc": "36121:45:18", "nodeType": "YulAssignment", - "src": "36121:45:5", + "src": "36121:45:18", "value": { "arguments": [ { "name": "T4", - "nativeSrc": "36134:2:5", + "nativeSrc": "36134:2:18", "nodeType": "YulIdentifier", - "src": "36134:2:5" + "src": "36134:2:18" }, { "arguments": [ { "name": "X", - "nativeSrc": "36145:1:5", + "nativeSrc": "36145:1:18", "nodeType": "YulIdentifier", - "src": "36145:1:5" + "src": "36145:1:18" }, { "arguments": [ { "name": "p", - "nativeSrc": "36152:1:5", + "nativeSrc": "36152:1:18", "nodeType": "YulIdentifier", - "src": "36152:1:5" + "src": "36152:1:18" }, { "name": "T3", - "nativeSrc": "36155:2:5", + "nativeSrc": "36155:2:18", "nodeType": "YulIdentifier", - "src": "36155:2:5" + "src": "36155:2:18" } ], "functionName": { "name": "sub", - "nativeSrc": "36148:3:5", + "nativeSrc": "36148:3:18", "nodeType": "YulIdentifier", - "src": "36148:3:5" + "src": "36148:3:18" }, - "nativeSrc": "36148:10:5", + "nativeSrc": "36148:10:18", "nodeType": "YulFunctionCall", - "src": "36148:10:5" + "src": "36148:10:18" }, { "name": "p", - "nativeSrc": "36160:1:5", + "nativeSrc": "36160:1:18", "nodeType": "YulIdentifier", - "src": "36160:1:5" + "src": "36160:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "36138:6:5", + "nativeSrc": "36138:6:18", "nodeType": "YulIdentifier", - "src": "36138:6:5" + "src": "36138:6:18" }, - "nativeSrc": "36138:24:5", + "nativeSrc": "36138:24:18", "nodeType": "YulFunctionCall", - "src": "36138:24:5" + "src": "36138:24:18" }, { "name": "p", - "nativeSrc": "36164:1:5", + "nativeSrc": "36164:1:18", "nodeType": "YulIdentifier", - "src": "36164:1:5" + "src": "36164:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "36127:6:5", + "nativeSrc": "36127:6:18", "nodeType": "YulIdentifier", - "src": "36127:6:5" + "src": "36127:6:18" }, - "nativeSrc": "36127:39:5", + "nativeSrc": "36127:39:18", "nodeType": "YulFunctionCall", - "src": "36127:39:5" + "src": "36127:39:18" }, "variableNames": [ { "name": "T2", - "nativeSrc": "36121:2:5", + "nativeSrc": "36121:2:18", "nodeType": "YulIdentifier", - "src": "36121:2:5" + "src": "36121:2:18" } ] }, { - "nativeSrc": "36292:36:5", + "nativeSrc": "36292:36:18", "nodeType": "YulAssignment", - "src": "36292:36:5", + "src": "36292:36:18", "value": { "arguments": [ { "arguments": [ { "name": "T1", - "nativeSrc": "36311:2:5", + "nativeSrc": "36311:2:18", "nodeType": "YulIdentifier", - "src": "36311:2:5" + "src": "36311:2:18" }, { "name": "Y", - "nativeSrc": "36315:1:5", + "nativeSrc": "36315:1:18", "nodeType": "YulIdentifier", - "src": "36315:1:5" + "src": "36315:1:18" }, { "name": "p", - "nativeSrc": "36318:1:5", + "nativeSrc": "36318:1:18", "nodeType": "YulIdentifier", - "src": "36318:1:5" + "src": "36318:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "36304:6:5", + "nativeSrc": "36304:6:18", "nodeType": "YulIdentifier", - "src": "36304:6:5" + "src": "36304:6:18" }, - "nativeSrc": "36304:16:5", + "nativeSrc": "36304:16:18", "nodeType": "YulFunctionCall", - "src": "36304:16:5" + "src": "36304:16:18" }, { "name": "T2", - "nativeSrc": "36322:2:5", + "nativeSrc": "36322:2:18", "nodeType": "YulIdentifier", - "src": "36322:2:5" + "src": "36322:2:18" }, { "name": "p", - "nativeSrc": "36326:1:5", + "nativeSrc": "36326:1:18", "nodeType": "YulIdentifier", - "src": "36326:1:5" + "src": "36326:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "36297:6:5", + "nativeSrc": "36297:6:18", "nodeType": "YulIdentifier", - "src": "36297:6:5" + "src": "36297:6:18" }, - "nativeSrc": "36297:31:5", + "nativeSrc": "36297:31:18", "nodeType": "YulFunctionCall", - "src": "36297:31:5" + "src": "36297:31:18" }, "variableNames": [ { "name": "Y", - "nativeSrc": "36292:1:5", + "nativeSrc": "36292:1:18", "nodeType": "YulIdentifier", - "src": "36292:1:5" + "src": "36292:1:18" } ] }, { - "nativeSrc": "36487:86:5", + "nativeSrc": "36487:86:18", "nodeType": "YulAssignment", - "src": "36487:86:5", + "src": "36487:86:18", "value": { "arguments": [ { "arguments": [ { "kind": "number", - "nativeSrc": "36501:2:5", + "nativeSrc": "36501:2:18", "nodeType": "YulLiteral", - "src": "36501:2:5", + "src": "36501:2:18", "type": "", "value": "13" }, @@ -50796,64 +69771,64 @@ "arguments": [ { "name": "index", - "nativeSrc": "36513:5:5", + "nativeSrc": "36513:5:18", "nodeType": "YulIdentifier", - "src": "36513:5:5" + "src": "36513:5:18" }, { "name": "scalar_v", - "nativeSrc": "36520:8:5", + "nativeSrc": "36520:8:18", "nodeType": "YulIdentifier", - "src": "36520:8:5" + "src": "36520:8:18" } ], "functionName": { "name": "shr", - "nativeSrc": "36509:3:5", + "nativeSrc": "36509:3:18", "nodeType": "YulIdentifier", - "src": "36509:3:5" + "src": "36509:3:18" }, - "nativeSrc": "36509:20:5", + "nativeSrc": "36509:20:18", "nodeType": "YulFunctionCall", - "src": "36509:20:5" + "src": "36509:20:18" }, { "kind": "number", - "nativeSrc": "36531:1:5", + "nativeSrc": "36531:1:18", "nodeType": "YulLiteral", - "src": "36531:1:5", + "src": "36531:1:18", "type": "", "value": "1" } ], "functionName": { "name": "and", - "nativeSrc": "36505:3:5", + "nativeSrc": "36505:3:18", "nodeType": "YulIdentifier", - "src": "36505:3:5" + "src": "36505:3:18" }, - "nativeSrc": "36505:28:5", + "nativeSrc": "36505:28:18", "nodeType": "YulFunctionCall", - "src": "36505:28:5" + "src": "36505:28:18" } ], "functionName": { "name": "shl", - "nativeSrc": "36497:3:5", + "nativeSrc": "36497:3:18", "nodeType": "YulIdentifier", - "src": "36497:3:5" + "src": "36497:3:18" }, - "nativeSrc": "36497:37:5", + "nativeSrc": "36497:37:18", "nodeType": "YulFunctionCall", - "src": "36497:37:5" + "src": "36497:37:18" }, { "arguments": [ { "kind": "number", - "nativeSrc": "36540:1:5", + "nativeSrc": "36540:1:18", "nodeType": "YulLiteral", - "src": "36540:1:5", + "src": "36540:1:18", "type": "", "value": "9" }, @@ -50863,128 +69838,128 @@ "arguments": [ { "name": "index", - "nativeSrc": "36551:5:5", + "nativeSrc": "36551:5:18", "nodeType": "YulIdentifier", - "src": "36551:5:5" + "src": "36551:5:18" }, { "name": "scalar_u", - "nativeSrc": "36558:8:5", + "nativeSrc": "36558:8:18", "nodeType": "YulIdentifier", - "src": "36558:8:5" + "src": "36558:8:18" } ], "functionName": { "name": "shr", - "nativeSrc": "36547:3:5", + "nativeSrc": "36547:3:18", "nodeType": "YulIdentifier", - "src": "36547:3:5" + "src": "36547:3:18" }, - "nativeSrc": "36547:20:5", + "nativeSrc": "36547:20:18", "nodeType": "YulFunctionCall", - "src": "36547:20:5" + "src": "36547:20:18" }, { "kind": "number", - "nativeSrc": "36569:1:5", + "nativeSrc": "36569:1:18", "nodeType": "YulLiteral", - "src": "36569:1:5", + "src": "36569:1:18", "type": "", "value": "1" } ], "functionName": { "name": "and", - "nativeSrc": "36543:3:5", + "nativeSrc": "36543:3:18", "nodeType": "YulIdentifier", - "src": "36543:3:5" + "src": "36543:3:18" }, - "nativeSrc": "36543:28:5", + "nativeSrc": "36543:28:18", "nodeType": "YulFunctionCall", - "src": "36543:28:5" + "src": "36543:28:18" } ], "functionName": { "name": "shl", - "nativeSrc": "36536:3:5", + "nativeSrc": "36536:3:18", "nodeType": "YulIdentifier", - "src": "36536:3:5" + "src": "36536:3:18" }, - "nativeSrc": "36536:36:5", + "nativeSrc": "36536:36:18", "nodeType": "YulFunctionCall", - "src": "36536:36:5" + "src": "36536:36:18" } ], "functionName": { "name": "add", - "nativeSrc": "36493:3:5", + "nativeSrc": "36493:3:18", "nodeType": "YulIdentifier", - "src": "36493:3:5" + "src": "36493:3:18" }, - "nativeSrc": "36493:80:5", + "nativeSrc": "36493:80:18", "nodeType": "YulFunctionCall", - "src": "36493:80:5" + "src": "36493:80:18" }, "variableNames": [ { "name": "T4", - "nativeSrc": "36487:2:5", + "nativeSrc": "36487:2:18", "nodeType": "YulIdentifier", - "src": "36487:2:5" + "src": "36487:2:18" } ] }, { - "nativeSrc": "36594:23:5", + "nativeSrc": "36594:23:18", "nodeType": "YulAssignment", - "src": "36594:23:5", + "src": "36594:23:18", "value": { "arguments": [ { "name": "index", - "nativeSrc": "36607:5:5", + "nativeSrc": "36607:5:18", "nodeType": "YulIdentifier", - "src": "36607:5:5" + "src": "36607:5:18" }, { "kind": "number", - "nativeSrc": "36614:2:5", + "nativeSrc": "36614:2:18", "nodeType": "YulLiteral", - "src": "36614:2:5", + "src": "36614:2:18", "type": "", "value": "64" } ], "functionName": { "name": "sub", - "nativeSrc": "36603:3:5", + "nativeSrc": "36603:3:18", "nodeType": "YulIdentifier", - "src": "36603:3:5" + "src": "36603:3:18" }, - "nativeSrc": "36603:14:5", + "nativeSrc": "36603:14:18", "nodeType": "YulFunctionCall", - "src": "36603:14:5" + "src": "36603:14:18" }, "variableNames": [ { "name": "index", - "nativeSrc": "36594:5:5", + "nativeSrc": "36594:5:18", "nodeType": "YulIdentifier", - "src": "36594:5:5" + "src": "36594:5:18" } ] }, { - "nativeSrc": "36638:95:5", + "nativeSrc": "36638:95:18", "nodeType": "YulAssignment", - "src": "36638:95:5", + "src": "36638:95:18", "value": { "arguments": [ { "name": "T4", - "nativeSrc": "36648:2:5", + "nativeSrc": "36648:2:18", "nodeType": "YulIdentifier", - "src": "36648:2:5" + "src": "36648:2:18" }, { "arguments": [ @@ -50992,9 +69967,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "36660:2:5", + "nativeSrc": "36660:2:18", "nodeType": "YulLiteral", - "src": "36660:2:5", + "src": "36660:2:18", "type": "", "value": "12" }, @@ -51004,64 +69979,64 @@ "arguments": [ { "name": "index", - "nativeSrc": "36672:5:5", + "nativeSrc": "36672:5:18", "nodeType": "YulIdentifier", - "src": "36672:5:5" + "src": "36672:5:18" }, { "name": "scalar_v", - "nativeSrc": "36679:8:5", + "nativeSrc": "36679:8:18", "nodeType": "YulIdentifier", - "src": "36679:8:5" + "src": "36679:8:18" } ], "functionName": { "name": "shr", - "nativeSrc": "36668:3:5", + "nativeSrc": "36668:3:18", "nodeType": "YulIdentifier", - "src": "36668:3:5" + "src": "36668:3:18" }, - "nativeSrc": "36668:20:5", + "nativeSrc": "36668:20:18", "nodeType": "YulFunctionCall", - "src": "36668:20:5" + "src": "36668:20:18" }, { "kind": "number", - "nativeSrc": "36690:1:5", + "nativeSrc": "36690:1:18", "nodeType": "YulLiteral", - "src": "36690:1:5", + "src": "36690:1:18", "type": "", "value": "1" } ], "functionName": { "name": "and", - "nativeSrc": "36664:3:5", + "nativeSrc": "36664:3:18", "nodeType": "YulIdentifier", - "src": "36664:3:5" + "src": "36664:3:18" }, - "nativeSrc": "36664:28:5", + "nativeSrc": "36664:28:18", "nodeType": "YulFunctionCall", - "src": "36664:28:5" + "src": "36664:28:18" } ], "functionName": { "name": "shl", - "nativeSrc": "36656:3:5", + "nativeSrc": "36656:3:18", "nodeType": "YulIdentifier", - "src": "36656:3:5" + "src": "36656:3:18" }, - "nativeSrc": "36656:37:5", + "nativeSrc": "36656:37:18", "nodeType": "YulFunctionCall", - "src": "36656:37:5" + "src": "36656:37:18" }, { "arguments": [ { "kind": "number", - "nativeSrc": "36699:1:5", + "nativeSrc": "36699:1:18", "nodeType": "YulLiteral", - "src": "36699:1:5", + "src": "36699:1:18", "type": "", "value": "8" }, @@ -51071,139 +70046,139 @@ "arguments": [ { "name": "index", - "nativeSrc": "36710:5:5", + "nativeSrc": "36710:5:18", "nodeType": "YulIdentifier", - "src": "36710:5:5" + "src": "36710:5:18" }, { "name": "scalar_u", - "nativeSrc": "36717:8:5", + "nativeSrc": "36717:8:18", "nodeType": "YulIdentifier", - "src": "36717:8:5" + "src": "36717:8:18" } ], "functionName": { "name": "shr", - "nativeSrc": "36706:3:5", + "nativeSrc": "36706:3:18", "nodeType": "YulIdentifier", - "src": "36706:3:5" + "src": "36706:3:18" }, - "nativeSrc": "36706:20:5", + "nativeSrc": "36706:20:18", "nodeType": "YulFunctionCall", - "src": "36706:20:5" + "src": "36706:20:18" }, { "kind": "number", - "nativeSrc": "36728:1:5", + "nativeSrc": "36728:1:18", "nodeType": "YulLiteral", - "src": "36728:1:5", + "src": "36728:1:18", "type": "", "value": "1" } ], "functionName": { "name": "and", - "nativeSrc": "36702:3:5", + "nativeSrc": "36702:3:18", "nodeType": "YulIdentifier", - "src": "36702:3:5" + "src": "36702:3:18" }, - "nativeSrc": "36702:28:5", + "nativeSrc": "36702:28:18", "nodeType": "YulFunctionCall", - "src": "36702:28:5" + "src": "36702:28:18" } ], "functionName": { "name": "shl", - "nativeSrc": "36695:3:5", + "nativeSrc": "36695:3:18", "nodeType": "YulIdentifier", - "src": "36695:3:5" + "src": "36695:3:18" }, - "nativeSrc": "36695:36:5", + "nativeSrc": "36695:36:18", "nodeType": "YulFunctionCall", - "src": "36695:36:5" + "src": "36695:36:18" } ], "functionName": { "name": "add", - "nativeSrc": "36652:3:5", + "nativeSrc": "36652:3:18", "nodeType": "YulIdentifier", - "src": "36652:3:5" + "src": "36652:3:18" }, - "nativeSrc": "36652:80:5", + "nativeSrc": "36652:80:18", "nodeType": "YulFunctionCall", - "src": "36652:80:5" + "src": "36652:80:18" } ], "functionName": { "name": "add", - "nativeSrc": "36644:3:5", + "nativeSrc": "36644:3:18", "nodeType": "YulIdentifier", - "src": "36644:3:5" + "src": "36644:3:18" }, - "nativeSrc": "36644:89:5", + "nativeSrc": "36644:89:18", "nodeType": "YulFunctionCall", - "src": "36644:89:5" + "src": "36644:89:18" }, "variableNames": [ { "name": "T4", - "nativeSrc": "36638:2:5", + "nativeSrc": "36638:2:18", "nodeType": "YulIdentifier", - "src": "36638:2:5" + "src": "36638:2:18" } ] }, { - "nativeSrc": "36754:23:5", + "nativeSrc": "36754:23:18", "nodeType": "YulAssignment", - "src": "36754:23:5", + "src": "36754:23:18", "value": { "arguments": [ { "name": "index", - "nativeSrc": "36767:5:5", + "nativeSrc": "36767:5:18", "nodeType": "YulIdentifier", - "src": "36767:5:5" + "src": "36767:5:18" }, { "kind": "number", - "nativeSrc": "36774:2:5", + "nativeSrc": "36774:2:18", "nodeType": "YulLiteral", - "src": "36774:2:5", + "src": "36774:2:18", "type": "", "value": "64" } ], "functionName": { "name": "sub", - "nativeSrc": "36763:3:5", + "nativeSrc": "36763:3:18", "nodeType": "YulIdentifier", - "src": "36763:3:5" + "src": "36763:3:18" }, - "nativeSrc": "36763:14:5", + "nativeSrc": "36763:14:18", "nodeType": "YulFunctionCall", - "src": "36763:14:5" + "src": "36763:14:18" }, "variableNames": [ { "name": "index", - "nativeSrc": "36754:5:5", + "nativeSrc": "36754:5:18", "nodeType": "YulIdentifier", - "src": "36754:5:5" + "src": "36754:5:18" } ] }, { - "nativeSrc": "36798:95:5", + "nativeSrc": "36798:95:18", "nodeType": "YulAssignment", - "src": "36798:95:5", + "src": "36798:95:18", "value": { "arguments": [ { "name": "T4", - "nativeSrc": "36808:2:5", + "nativeSrc": "36808:2:18", "nodeType": "YulIdentifier", - "src": "36808:2:5" + "src": "36808:2:18" }, { "arguments": [ @@ -51211,9 +70186,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "36820:2:5", + "nativeSrc": "36820:2:18", "nodeType": "YulLiteral", - "src": "36820:2:5", + "src": "36820:2:18", "type": "", "value": "11" }, @@ -51223,64 +70198,64 @@ "arguments": [ { "name": "index", - "nativeSrc": "36832:5:5", + "nativeSrc": "36832:5:18", "nodeType": "YulIdentifier", - "src": "36832:5:5" + "src": "36832:5:18" }, { "name": "scalar_v", - "nativeSrc": "36839:8:5", + "nativeSrc": "36839:8:18", "nodeType": "YulIdentifier", - "src": "36839:8:5" + "src": "36839:8:18" } ], "functionName": { "name": "shr", - "nativeSrc": "36828:3:5", + "nativeSrc": "36828:3:18", "nodeType": "YulIdentifier", - "src": "36828:3:5" + "src": "36828:3:18" }, - "nativeSrc": "36828:20:5", + "nativeSrc": "36828:20:18", "nodeType": "YulFunctionCall", - "src": "36828:20:5" + "src": "36828:20:18" }, { "kind": "number", - "nativeSrc": "36850:1:5", + "nativeSrc": "36850:1:18", "nodeType": "YulLiteral", - "src": "36850:1:5", + "src": "36850:1:18", "type": "", "value": "1" } ], "functionName": { "name": "and", - "nativeSrc": "36824:3:5", + "nativeSrc": "36824:3:18", "nodeType": "YulIdentifier", - "src": "36824:3:5" + "src": "36824:3:18" }, - "nativeSrc": "36824:28:5", + "nativeSrc": "36824:28:18", "nodeType": "YulFunctionCall", - "src": "36824:28:5" + "src": "36824:28:18" } ], "functionName": { "name": "shl", - "nativeSrc": "36816:3:5", + "nativeSrc": "36816:3:18", "nodeType": "YulIdentifier", - "src": "36816:3:5" + "src": "36816:3:18" }, - "nativeSrc": "36816:37:5", + "nativeSrc": "36816:37:18", "nodeType": "YulFunctionCall", - "src": "36816:37:5" + "src": "36816:37:18" }, { "arguments": [ { "kind": "number", - "nativeSrc": "36859:1:5", + "nativeSrc": "36859:1:18", "nodeType": "YulLiteral", - "src": "36859:1:5", + "src": "36859:1:18", "type": "", "value": "7" }, @@ -51290,139 +70265,139 @@ "arguments": [ { "name": "index", - "nativeSrc": "36870:5:5", + "nativeSrc": "36870:5:18", "nodeType": "YulIdentifier", - "src": "36870:5:5" + "src": "36870:5:18" }, { "name": "scalar_u", - "nativeSrc": "36877:8:5", + "nativeSrc": "36877:8:18", "nodeType": "YulIdentifier", - "src": "36877:8:5" + "src": "36877:8:18" } ], "functionName": { "name": "shr", - "nativeSrc": "36866:3:5", + "nativeSrc": "36866:3:18", "nodeType": "YulIdentifier", - "src": "36866:3:5" + "src": "36866:3:18" }, - "nativeSrc": "36866:20:5", + "nativeSrc": "36866:20:18", "nodeType": "YulFunctionCall", - "src": "36866:20:5" + "src": "36866:20:18" }, { "kind": "number", - "nativeSrc": "36888:1:5", + "nativeSrc": "36888:1:18", "nodeType": "YulLiteral", - "src": "36888:1:5", + "src": "36888:1:18", "type": "", "value": "1" } ], "functionName": { "name": "and", - "nativeSrc": "36862:3:5", + "nativeSrc": "36862:3:18", "nodeType": "YulIdentifier", - "src": "36862:3:5" + "src": "36862:3:18" }, - "nativeSrc": "36862:28:5", + "nativeSrc": "36862:28:18", "nodeType": "YulFunctionCall", - "src": "36862:28:5" + "src": "36862:28:18" } ], "functionName": { "name": "shl", - "nativeSrc": "36855:3:5", + "nativeSrc": "36855:3:18", "nodeType": "YulIdentifier", - "src": "36855:3:5" + "src": "36855:3:18" }, - "nativeSrc": "36855:36:5", + "nativeSrc": "36855:36:18", "nodeType": "YulFunctionCall", - "src": "36855:36:5" + "src": "36855:36:18" } ], "functionName": { "name": "add", - "nativeSrc": "36812:3:5", + "nativeSrc": "36812:3:18", "nodeType": "YulIdentifier", - "src": "36812:3:5" + "src": "36812:3:18" }, - "nativeSrc": "36812:80:5", + "nativeSrc": "36812:80:18", "nodeType": "YulFunctionCall", - "src": "36812:80:5" + "src": "36812:80:18" } ], "functionName": { "name": "add", - "nativeSrc": "36804:3:5", + "nativeSrc": "36804:3:18", "nodeType": "YulIdentifier", - "src": "36804:3:5" + "src": "36804:3:18" }, - "nativeSrc": "36804:89:5", + "nativeSrc": "36804:89:18", "nodeType": "YulFunctionCall", - "src": "36804:89:5" + "src": "36804:89:18" }, "variableNames": [ { "name": "T4", - "nativeSrc": "36798:2:5", + "nativeSrc": "36798:2:18", "nodeType": "YulIdentifier", - "src": "36798:2:5" + "src": "36798:2:18" } ] }, { - "nativeSrc": "36914:23:5", + "nativeSrc": "36914:23:18", "nodeType": "YulAssignment", - "src": "36914:23:5", + "src": "36914:23:18", "value": { "arguments": [ { "name": "index", - "nativeSrc": "36927:5:5", + "nativeSrc": "36927:5:18", "nodeType": "YulIdentifier", - "src": "36927:5:5" + "src": "36927:5:18" }, { "kind": "number", - "nativeSrc": "36934:2:5", + "nativeSrc": "36934:2:18", "nodeType": "YulLiteral", - "src": "36934:2:5", + "src": "36934:2:18", "type": "", "value": "64" } ], "functionName": { "name": "sub", - "nativeSrc": "36923:3:5", + "nativeSrc": "36923:3:18", "nodeType": "YulIdentifier", - "src": "36923:3:5" + "src": "36923:3:18" }, - "nativeSrc": "36923:14:5", + "nativeSrc": "36923:14:18", "nodeType": "YulFunctionCall", - "src": "36923:14:5" + "src": "36923:14:18" }, "variableNames": [ { "name": "index", - "nativeSrc": "36914:5:5", + "nativeSrc": "36914:5:18", "nodeType": "YulIdentifier", - "src": "36914:5:5" + "src": "36914:5:18" } ] }, { - "nativeSrc": "36958:95:5", + "nativeSrc": "36958:95:18", "nodeType": "YulAssignment", - "src": "36958:95:5", + "src": "36958:95:18", "value": { "arguments": [ { "name": "T4", - "nativeSrc": "36968:2:5", + "nativeSrc": "36968:2:18", "nodeType": "YulIdentifier", - "src": "36968:2:5" + "src": "36968:2:18" }, { "arguments": [ @@ -51430,9 +70405,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "36980:2:5", + "nativeSrc": "36980:2:18", "nodeType": "YulLiteral", - "src": "36980:2:5", + "src": "36980:2:18", "type": "", "value": "10" }, @@ -51442,64 +70417,64 @@ "arguments": [ { "name": "index", - "nativeSrc": "36992:5:5", + "nativeSrc": "36992:5:18", "nodeType": "YulIdentifier", - "src": "36992:5:5" + "src": "36992:5:18" }, { "name": "scalar_v", - "nativeSrc": "36999:8:5", + "nativeSrc": "36999:8:18", "nodeType": "YulIdentifier", - "src": "36999:8:5" + "src": "36999:8:18" } ], "functionName": { "name": "shr", - "nativeSrc": "36988:3:5", + "nativeSrc": "36988:3:18", "nodeType": "YulIdentifier", - "src": "36988:3:5" + "src": "36988:3:18" }, - "nativeSrc": "36988:20:5", + "nativeSrc": "36988:20:18", "nodeType": "YulFunctionCall", - "src": "36988:20:5" + "src": "36988:20:18" }, { "kind": "number", - "nativeSrc": "37010:1:5", + "nativeSrc": "37010:1:18", "nodeType": "YulLiteral", - "src": "37010:1:5", + "src": "37010:1:18", "type": "", "value": "1" } ], "functionName": { "name": "and", - "nativeSrc": "36984:3:5", + "nativeSrc": "36984:3:18", "nodeType": "YulIdentifier", - "src": "36984:3:5" + "src": "36984:3:18" }, - "nativeSrc": "36984:28:5", + "nativeSrc": "36984:28:18", "nodeType": "YulFunctionCall", - "src": "36984:28:5" + "src": "36984:28:18" } ], "functionName": { "name": "shl", - "nativeSrc": "36976:3:5", + "nativeSrc": "36976:3:18", "nodeType": "YulIdentifier", - "src": "36976:3:5" + "src": "36976:3:18" }, - "nativeSrc": "36976:37:5", + "nativeSrc": "36976:37:18", "nodeType": "YulFunctionCall", - "src": "36976:37:5" + "src": "36976:37:18" }, { "arguments": [ { "kind": "number", - "nativeSrc": "37019:1:5", + "nativeSrc": "37019:1:18", "nodeType": "YulLiteral", - "src": "37019:1:5", + "src": "37019:1:18", "type": "", "value": "6" }, @@ -51509,136 +70484,136 @@ "arguments": [ { "name": "index", - "nativeSrc": "37030:5:5", + "nativeSrc": "37030:5:18", "nodeType": "YulIdentifier", - "src": "37030:5:5" + "src": "37030:5:18" }, { "name": "scalar_u", - "nativeSrc": "37037:8:5", + "nativeSrc": "37037:8:18", "nodeType": "YulIdentifier", - "src": "37037:8:5" + "src": "37037:8:18" } ], "functionName": { "name": "shr", - "nativeSrc": "37026:3:5", + "nativeSrc": "37026:3:18", "nodeType": "YulIdentifier", - "src": "37026:3:5" + "src": "37026:3:18" }, - "nativeSrc": "37026:20:5", + "nativeSrc": "37026:20:18", "nodeType": "YulFunctionCall", - "src": "37026:20:5" + "src": "37026:20:18" }, { "kind": "number", - "nativeSrc": "37048:1:5", + "nativeSrc": "37048:1:18", "nodeType": "YulLiteral", - "src": "37048:1:5", + "src": "37048:1:18", "type": "", "value": "1" } ], "functionName": { "name": "and", - "nativeSrc": "37022:3:5", + "nativeSrc": "37022:3:18", "nodeType": "YulIdentifier", - "src": "37022:3:5" + "src": "37022:3:18" }, - "nativeSrc": "37022:28:5", + "nativeSrc": "37022:28:18", "nodeType": "YulFunctionCall", - "src": "37022:28:5" + "src": "37022:28:18" } ], "functionName": { "name": "shl", - "nativeSrc": "37015:3:5", + "nativeSrc": "37015:3:18", "nodeType": "YulIdentifier", - "src": "37015:3:5" + "src": "37015:3:18" }, - "nativeSrc": "37015:36:5", + "nativeSrc": "37015:36:18", "nodeType": "YulFunctionCall", - "src": "37015:36:5" + "src": "37015:36:18" } ], "functionName": { "name": "add", - "nativeSrc": "36972:3:5", + "nativeSrc": "36972:3:18", "nodeType": "YulIdentifier", - "src": "36972:3:5" + "src": "36972:3:18" }, - "nativeSrc": "36972:80:5", + "nativeSrc": "36972:80:18", "nodeType": "YulFunctionCall", - "src": "36972:80:5" + "src": "36972:80:18" } ], "functionName": { "name": "add", - "nativeSrc": "36964:3:5", + "nativeSrc": "36964:3:18", "nodeType": "YulIdentifier", - "src": "36964:3:5" + "src": "36964:3:18" }, - "nativeSrc": "36964:89:5", + "nativeSrc": "36964:89:18", "nodeType": "YulFunctionCall", - "src": "36964:89:5" + "src": "36964:89:18" }, "variableNames": [ { "name": "T4", - "nativeSrc": "36958:2:5", + "nativeSrc": "36958:2:18", "nodeType": "YulIdentifier", - "src": "36958:2:5" + "src": "36958:2:18" } ] }, { "body": { - "nativeSrc": "37263:96:5", + "nativeSrc": "37263:96:18", "nodeType": "YulBlock", - "src": "37263:96:5", + "src": "37263:96:18", "statements": [ { - "nativeSrc": "37289:14:5", + "nativeSrc": "37289:14:18", "nodeType": "YulAssignment", - "src": "37289:14:5", + "src": "37289:14:18", "value": { "arguments": [ { "name": "p", - "nativeSrc": "37298:1:5", + "nativeSrc": "37298:1:18", "nodeType": "YulIdentifier", - "src": "37298:1:5" + "src": "37298:1:18" }, { "name": "Y", - "nativeSrc": "37301:1:5", + "nativeSrc": "37301:1:18", "nodeType": "YulIdentifier", - "src": "37301:1:5" + "src": "37301:1:18" } ], "functionName": { "name": "sub", - "nativeSrc": "37294:3:5", + "nativeSrc": "37294:3:18", "nodeType": "YulIdentifier", - "src": "37294:3:5" + "src": "37294:3:18" }, - "nativeSrc": "37294:9:5", + "nativeSrc": "37294:9:18", "nodeType": "YulFunctionCall", - "src": "37294:9:5" + "src": "37294:9:18" }, "variableNames": [ { "name": "Y", - "nativeSrc": "37289:1:5", + "nativeSrc": "37289:1:18", "nodeType": "YulIdentifier", - "src": "37289:1:5" + "src": "37289:1:18" } ] }, { - "nativeSrc": "37329:8:5", + "nativeSrc": "37329:8:18", "nodeType": "YulContinue", - "src": "37329:8:5" + "src": "37329:8:18" } ] }, @@ -51646,91 +70621,91 @@ "arguments": [ { "name": "T4", - "nativeSrc": "37259:2:5", + "nativeSrc": "37259:2:18", "nodeType": "YulIdentifier", - "src": "37259:2:5" + "src": "37259:2:18" } ], "functionName": { "name": "iszero", - "nativeSrc": "37252:6:5", + "nativeSrc": "37252:6:18", "nodeType": "YulIdentifier", - "src": "37252:6:5" + "src": "37252:6:18" }, - "nativeSrc": "37252:10:5", + "nativeSrc": "37252:10:18", "nodeType": "YulFunctionCall", - "src": "37252:10:5" + "src": "37252:10:18" }, - "nativeSrc": "37249:110:5", + "nativeSrc": "37249:110:18", "nodeType": "YulIf", - "src": "37249:110:5" + "src": "37249:110:18" }, { - "nativeSrc": "37380:909:5", + "nativeSrc": "37380:909:18", "nodeType": "YulBlock", - "src": "37380:909:5", + "src": "37380:909:18", "statements": [ { "expression": { "arguments": [ { "name": "T", - "nativeSrc": "37496:1:5", + "nativeSrc": "37496:1:18", "nodeType": "YulIdentifier", - "src": "37496:1:5" + "src": "37496:1:18" }, { "arguments": [ { "name": "T4", - "nativeSrc": "37503:2:5", + "nativeSrc": "37503:2:18", "nodeType": "YulIdentifier", - "src": "37503:2:5" + "src": "37503:2:18" }, { "name": "dataPointer", - "nativeSrc": "37507:11:5", + "nativeSrc": "37507:11:18", "nodeType": "YulIdentifier", - "src": "37507:11:5" + "src": "37507:11:18" } ], "functionName": { "name": "add", - "nativeSrc": "37499:3:5", + "nativeSrc": "37499:3:18", "nodeType": "YulIdentifier", - "src": "37499:3:5" + "src": "37499:3:18" }, - "nativeSrc": "37499:20:5", + "nativeSrc": "37499:20:18", "nodeType": "YulFunctionCall", - "src": "37499:20:5" + "src": "37499:20:18" }, { "kind": "number", - "nativeSrc": "37521:2:5", + "nativeSrc": "37521:2:18", "nodeType": "YulLiteral", - "src": "37521:2:5", + "src": "37521:2:18", "type": "", "value": "64" } ], "functionName": { "name": "codecopy", - "nativeSrc": "37487:8:5", + "nativeSrc": "37487:8:18", "nodeType": "YulIdentifier", - "src": "37487:8:5" + "src": "37487:8:18" }, - "nativeSrc": "37487:37:5", + "nativeSrc": "37487:37:18", "nodeType": "YulFunctionCall", - "src": "37487:37:5" + "src": "37487:37:18" }, - "nativeSrc": "37487:37:5", + "nativeSrc": "37487:37:18", "nodeType": "YulExpressionStatement", - "src": "37487:37:5" + "src": "37487:37:18" }, { - "nativeSrc": "37596:57:5", + "nativeSrc": "37596:57:18", "nodeType": "YulVariableDeclaration", - "src": "37596:57:5", + "src": "37596:57:18", "value": { "arguments": [ { @@ -51741,100 +70716,100 @@ "arguments": [ { "name": "T", - "nativeSrc": "37630:1:5", + "nativeSrc": "37630:1:18", "nodeType": "YulIdentifier", - "src": "37630:1:5" + "src": "37630:1:18" }, { "kind": "number", - "nativeSrc": "37633:2:5", + "nativeSrc": "37633:2:18", "nodeType": "YulLiteral", - "src": "37633:2:5", + "src": "37633:2:18", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "37626:3:5", + "nativeSrc": "37626:3:18", "nodeType": "YulIdentifier", - "src": "37626:3:5" + "src": "37626:3:18" }, - "nativeSrc": "37626:10:5", + "nativeSrc": "37626:10:18", "nodeType": "YulFunctionCall", - "src": "37626:10:5" + "src": "37626:10:18" } ], "functionName": { "name": "mload", - "nativeSrc": "37620:5:5", + "nativeSrc": "37620:5:18", "nodeType": "YulIdentifier", - "src": "37620:5:5" + "src": "37620:5:18" }, - "nativeSrc": "37620:17:5", + "nativeSrc": "37620:17:18", "nodeType": "YulFunctionCall", - "src": "37620:17:5" + "src": "37620:17:18" }, { "name": "zzz", - "nativeSrc": "37639:3:5", + "nativeSrc": "37639:3:18", "nodeType": "YulIdentifier", - "src": "37639:3:5" + "src": "37639:3:18" }, { "name": "p", - "nativeSrc": "37644:1:5", + "nativeSrc": "37644:1:18", "nodeType": "YulIdentifier", - "src": "37644:1:5" + "src": "37644:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "37613:6:5", + "nativeSrc": "37613:6:18", "nodeType": "YulIdentifier", - "src": "37613:6:5" + "src": "37613:6:18" }, - "nativeSrc": "37613:33:5", + "nativeSrc": "37613:33:18", "nodeType": "YulFunctionCall", - "src": "37613:33:5" + "src": "37613:33:18" }, { "name": "Y", - "nativeSrc": "37648:1:5", + "nativeSrc": "37648:1:18", "nodeType": "YulIdentifier", - "src": "37648:1:5" + "src": "37648:1:18" }, { "name": "p", - "nativeSrc": "37651:1:5", + "nativeSrc": "37651:1:18", "nodeType": "YulIdentifier", - "src": "37651:1:5" + "src": "37651:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "37606:6:5", + "nativeSrc": "37606:6:18", "nodeType": "YulIdentifier", - "src": "37606:6:5" + "src": "37606:6:18" }, - "nativeSrc": "37606:47:5", + "nativeSrc": "37606:47:18", "nodeType": "YulFunctionCall", - "src": "37606:47:5" + "src": "37606:47:18" }, "variables": [ { "name": "y2", - "nativeSrc": "37600:2:5", + "nativeSrc": "37600:2:18", "nodeType": "YulTypedName", - "src": "37600:2:5", + "src": "37600:2:18", "type": "" } ] }, { - "nativeSrc": "37678:51:5", + "nativeSrc": "37678:51:18", "nodeType": "YulAssignment", - "src": "37678:51:5", + "src": "37678:51:18", "value": { "arguments": [ { @@ -51843,320 +70818,320 @@ "arguments": [ { "name": "T", - "nativeSrc": "37704:1:5", + "nativeSrc": "37704:1:18", "nodeType": "YulIdentifier", - "src": "37704:1:5" + "src": "37704:1:18" } ], "functionName": { "name": "mload", - "nativeSrc": "37698:5:5", + "nativeSrc": "37698:5:18", "nodeType": "YulIdentifier", - "src": "37698:5:5" + "src": "37698:5:18" }, - "nativeSrc": "37698:8:5", + "nativeSrc": "37698:8:18", "nodeType": "YulFunctionCall", - "src": "37698:8:5" + "src": "37698:8:18" }, { "name": "zz", - "nativeSrc": "37708:2:5", + "nativeSrc": "37708:2:18", "nodeType": "YulIdentifier", - "src": "37708:2:5" + "src": "37708:2:18" }, { "name": "p", - "nativeSrc": "37712:1:5", + "nativeSrc": "37712:1:18", "nodeType": "YulIdentifier", - "src": "37712:1:5" + "src": "37712:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "37691:6:5", + "nativeSrc": "37691:6:18", "nodeType": "YulIdentifier", - "src": "37691:6:5" + "src": "37691:6:18" }, - "nativeSrc": "37691:23:5", + "nativeSrc": "37691:23:18", "nodeType": "YulFunctionCall", - "src": "37691:23:5" + "src": "37691:23:18" }, { "arguments": [ { "name": "p", - "nativeSrc": "37720:1:5", + "nativeSrc": "37720:1:18", "nodeType": "YulIdentifier", - "src": "37720:1:5" + "src": "37720:1:18" }, { "name": "X", - "nativeSrc": "37723:1:5", + "nativeSrc": "37723:1:18", "nodeType": "YulIdentifier", - "src": "37723:1:5" + "src": "37723:1:18" } ], "functionName": { "name": "sub", - "nativeSrc": "37716:3:5", + "nativeSrc": "37716:3:18", "nodeType": "YulIdentifier", - "src": "37716:3:5" + "src": "37716:3:18" }, - "nativeSrc": "37716:9:5", + "nativeSrc": "37716:9:18", "nodeType": "YulFunctionCall", - "src": "37716:9:5" + "src": "37716:9:18" }, { "name": "p", - "nativeSrc": "37727:1:5", + "nativeSrc": "37727:1:18", "nodeType": "YulIdentifier", - "src": "37727:1:5" + "src": "37727:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "37684:6:5", + "nativeSrc": "37684:6:18", "nodeType": "YulIdentifier", - "src": "37684:6:5" + "src": "37684:6:18" }, - "nativeSrc": "37684:45:5", + "nativeSrc": "37684:45:18", "nodeType": "YulFunctionCall", - "src": "37684:45:5" + "src": "37684:45:18" }, "variableNames": [ { "name": "T2", - "nativeSrc": "37678:2:5", + "nativeSrc": "37678:2:18", "nodeType": "YulIdentifier", - "src": "37678:2:5" + "src": "37678:2:18" } ] }, { - "nativeSrc": "37754:23:5", + "nativeSrc": "37754:23:18", "nodeType": "YulAssignment", - "src": "37754:23:5", + "src": "37754:23:18", "value": { "arguments": [ { "name": "T2", - "nativeSrc": "37767:2:5", + "nativeSrc": "37767:2:18", "nodeType": "YulIdentifier", - "src": "37767:2:5" + "src": "37767:2:18" }, { "name": "T2", - "nativeSrc": "37771:2:5", + "nativeSrc": "37771:2:18", "nodeType": "YulIdentifier", - "src": "37771:2:5" + "src": "37771:2:18" }, { "name": "p", - "nativeSrc": "37775:1:5", + "nativeSrc": "37775:1:18", "nodeType": "YulIdentifier", - "src": "37775:1:5" + "src": "37775:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "37760:6:5", + "nativeSrc": "37760:6:18", "nodeType": "YulIdentifier", - "src": "37760:6:5" + "src": "37760:6:18" }, - "nativeSrc": "37760:17:5", + "nativeSrc": "37760:17:18", "nodeType": "YulFunctionCall", - "src": "37760:17:5" + "src": "37760:17:18" }, "variableNames": [ { "name": "T4", - "nativeSrc": "37754:2:5", + "nativeSrc": "37754:2:18", "nodeType": "YulIdentifier", - "src": "37754:2:5" + "src": "37754:2:18" } ] }, { - "nativeSrc": "37802:23:5", + "nativeSrc": "37802:23:18", "nodeType": "YulAssignment", - "src": "37802:23:5", + "src": "37802:23:18", "value": { "arguments": [ { "name": "T4", - "nativeSrc": "37815:2:5", + "nativeSrc": "37815:2:18", "nodeType": "YulIdentifier", - "src": "37815:2:5" + "src": "37815:2:18" }, { "name": "T2", - "nativeSrc": "37819:2:5", + "nativeSrc": "37819:2:18", "nodeType": "YulIdentifier", - "src": "37819:2:5" + "src": "37819:2:18" }, { "name": "p", - "nativeSrc": "37823:1:5", + "nativeSrc": "37823:1:18", "nodeType": "YulIdentifier", - "src": "37823:1:5" + "src": "37823:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "37808:6:5", + "nativeSrc": "37808:6:18", "nodeType": "YulIdentifier", - "src": "37808:6:5" + "src": "37808:6:18" }, - "nativeSrc": "37808:17:5", + "nativeSrc": "37808:17:18", "nodeType": "YulFunctionCall", - "src": "37808:17:5" + "src": "37808:17:18" }, "variableNames": [ { "name": "T1", - "nativeSrc": "37802:2:5", + "nativeSrc": "37802:2:18", "nodeType": "YulIdentifier", - "src": "37802:2:5" + "src": "37802:2:18" } ] }, { - "nativeSrc": "37850:23:5", + "nativeSrc": "37850:23:18", "nodeType": "YulAssignment", - "src": "37850:23:5", + "src": "37850:23:18", "value": { "arguments": [ { "name": "zz", - "nativeSrc": "37863:2:5", + "nativeSrc": "37863:2:18", "nodeType": "YulIdentifier", - "src": "37863:2:5" + "src": "37863:2:18" }, { "name": "T4", - "nativeSrc": "37867:2:5", + "nativeSrc": "37867:2:18", "nodeType": "YulIdentifier", - "src": "37867:2:5" + "src": "37867:2:18" }, { "name": "p", - "nativeSrc": "37871:1:5", + "nativeSrc": "37871:1:18", "nodeType": "YulIdentifier", - "src": "37871:1:5" + "src": "37871:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "37856:6:5", + "nativeSrc": "37856:6:18", "nodeType": "YulIdentifier", - "src": "37856:6:5" + "src": "37856:6:18" }, - "nativeSrc": "37856:17:5", + "nativeSrc": "37856:17:18", "nodeType": "YulFunctionCall", - "src": "37856:17:5" + "src": "37856:17:18" }, "variableNames": [ { "name": "T2", - "nativeSrc": "37850:2:5", + "nativeSrc": "37850:2:18", "nodeType": "YulIdentifier", - "src": "37850:2:5" + "src": "37850:2:18" } ] }, { - "nativeSrc": "37906:25:5", + "nativeSrc": "37906:25:18", "nodeType": "YulAssignment", - "src": "37906:25:5", + "src": "37906:25:18", "value": { "arguments": [ { "name": "zzz", - "nativeSrc": "37920:3:5", + "nativeSrc": "37920:3:18", "nodeType": "YulIdentifier", - "src": "37920:3:5" + "src": "37920:3:18" }, { "name": "T1", - "nativeSrc": "37925:2:5", + "nativeSrc": "37925:2:18", "nodeType": "YulIdentifier", - "src": "37925:2:5" + "src": "37925:2:18" }, { "name": "p", - "nativeSrc": "37929:1:5", + "nativeSrc": "37929:1:18", "nodeType": "YulIdentifier", - "src": "37929:1:5" + "src": "37929:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "37913:6:5", + "nativeSrc": "37913:6:18", "nodeType": "YulIdentifier", - "src": "37913:6:5" + "src": "37913:6:18" }, - "nativeSrc": "37913:18:5", + "nativeSrc": "37913:18:18", "nodeType": "YulFunctionCall", - "src": "37913:18:5" + "src": "37913:18:18" }, "variableNames": [ { "name": "zzz", - "nativeSrc": "37906:3:5", + "nativeSrc": "37906:3:18", "nodeType": "YulIdentifier", - "src": "37906:3:5" + "src": "37906:3:18" } ] }, { - "nativeSrc": "37968:27:5", + "nativeSrc": "37968:27:18", "nodeType": "YulVariableDeclaration", - "src": "37968:27:5", + "src": "37968:27:18", "value": { "arguments": [ { "name": "X", - "nativeSrc": "37986:1:5", + "nativeSrc": "37986:1:18", "nodeType": "YulIdentifier", - "src": "37986:1:5" + "src": "37986:1:18" }, { "name": "T4", - "nativeSrc": "37989:2:5", + "nativeSrc": "37989:2:18", "nodeType": "YulIdentifier", - "src": "37989:2:5" + "src": "37989:2:18" }, { "name": "p", - "nativeSrc": "37993:1:5", + "nativeSrc": "37993:1:18", "nodeType": "YulIdentifier", - "src": "37993:1:5" + "src": "37993:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "37979:6:5", + "nativeSrc": "37979:6:18", "nodeType": "YulIdentifier", - "src": "37979:6:5" + "src": "37979:6:18" }, - "nativeSrc": "37979:16:5", + "nativeSrc": "37979:16:18", "nodeType": "YulFunctionCall", - "src": "37979:16:5" + "src": "37979:16:18" }, "variables": [ { "name": "zz1", - "nativeSrc": "37972:3:5", + "nativeSrc": "37972:3:18", "nodeType": "YulTypedName", - "src": "37972:3:5", + "src": "37972:3:18", "type": "" } ] }, { - "nativeSrc": "38020:82:5", + "nativeSrc": "38020:82:18", "nodeType": "YulAssignment", - "src": "38020:82:5", + "src": "38020:82:18", "value": { "arguments": [ { @@ -52165,136 +71140,136 @@ "arguments": [ { "name": "y2", - "nativeSrc": "38047:2:5", + "nativeSrc": "38047:2:18", "nodeType": "YulIdentifier", - "src": "38047:2:5" + "src": "38047:2:18" }, { "name": "y2", - "nativeSrc": "38051:2:5", + "nativeSrc": "38051:2:18", "nodeType": "YulIdentifier", - "src": "38051:2:5" + "src": "38051:2:18" }, { "name": "p", - "nativeSrc": "38055:1:5", + "nativeSrc": "38055:1:18", "nodeType": "YulIdentifier", - "src": "38055:1:5" + "src": "38055:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "38040:6:5", + "nativeSrc": "38040:6:18", "nodeType": "YulIdentifier", - "src": "38040:6:5" + "src": "38040:6:18" }, - "nativeSrc": "38040:17:5", + "nativeSrc": "38040:17:18", "nodeType": "YulFunctionCall", - "src": "38040:17:5" + "src": "38040:17:18" }, { "arguments": [ { "name": "p", - "nativeSrc": "38063:1:5", + "nativeSrc": "38063:1:18", "nodeType": "YulIdentifier", - "src": "38063:1:5" + "src": "38063:1:18" }, { "name": "T1", - "nativeSrc": "38066:2:5", + "nativeSrc": "38066:2:18", "nodeType": "YulIdentifier", - "src": "38066:2:5" + "src": "38066:2:18" } ], "functionName": { "name": "sub", - "nativeSrc": "38059:3:5", + "nativeSrc": "38059:3:18", "nodeType": "YulIdentifier", - "src": "38059:3:5" + "src": "38059:3:18" }, - "nativeSrc": "38059:10:5", + "nativeSrc": "38059:10:18", "nodeType": "YulFunctionCall", - "src": "38059:10:5" + "src": "38059:10:18" }, { "name": "p", - "nativeSrc": "38071:1:5", + "nativeSrc": "38071:1:18", "nodeType": "YulIdentifier", - "src": "38071:1:5" + "src": "38071:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "38033:6:5", + "nativeSrc": "38033:6:18", "nodeType": "YulIdentifier", - "src": "38033:6:5" + "src": "38033:6:18" }, - "nativeSrc": "38033:40:5", + "nativeSrc": "38033:40:18", "nodeType": "YulFunctionCall", - "src": "38033:40:5" + "src": "38033:40:18" }, { "arguments": [ { "name": "minus_2", - "nativeSrc": "38082:7:5", + "nativeSrc": "38082:7:18", "nodeType": "YulIdentifier", - "src": "38082:7:5" + "src": "38082:7:18" }, { "name": "zz1", - "nativeSrc": "38091:3:5", + "nativeSrc": "38091:3:18", "nodeType": "YulIdentifier", - "src": "38091:3:5" + "src": "38091:3:18" }, { "name": "p", - "nativeSrc": "38096:1:5", + "nativeSrc": "38096:1:18", "nodeType": "YulIdentifier", - "src": "38096:1:5" + "src": "38096:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "38075:6:5", + "nativeSrc": "38075:6:18", "nodeType": "YulIdentifier", - "src": "38075:6:5" + "src": "38075:6:18" }, - "nativeSrc": "38075:23:5", + "nativeSrc": "38075:23:18", "nodeType": "YulFunctionCall", - "src": "38075:23:5" + "src": "38075:23:18" }, { "name": "p", - "nativeSrc": "38100:1:5", + "nativeSrc": "38100:1:18", "nodeType": "YulIdentifier", - "src": "38100:1:5" + "src": "38100:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "38026:6:5", + "nativeSrc": "38026:6:18", "nodeType": "YulIdentifier", - "src": "38026:6:5" + "src": "38026:6:18" }, - "nativeSrc": "38026:76:5", + "nativeSrc": "38026:76:18", "nodeType": "YulFunctionCall", - "src": "38026:76:5" + "src": "38026:76:18" }, "variableNames": [ { "name": "T4", - "nativeSrc": "38020:2:5", + "nativeSrc": "38020:2:18", "nodeType": "YulIdentifier", - "src": "38020:2:5" + "src": "38020:2:18" } ] }, { - "nativeSrc": "38127:75:5", + "nativeSrc": "38127:75:18", "nodeType": "YulAssignment", - "src": "38127:75:5", + "src": "38127:75:18", "value": { "arguments": [ { @@ -52303,167 +71278,167 @@ "arguments": [ { "name": "zz1", - "nativeSrc": "38153:3:5", + "nativeSrc": "38153:3:18", "nodeType": "YulIdentifier", - "src": "38153:3:5" + "src": "38153:3:18" }, { "arguments": [ { "name": "p", - "nativeSrc": "38162:1:5", + "nativeSrc": "38162:1:18", "nodeType": "YulIdentifier", - "src": "38162:1:5" + "src": "38162:1:18" }, { "name": "T4", - "nativeSrc": "38165:2:5", + "nativeSrc": "38165:2:18", "nodeType": "YulIdentifier", - "src": "38165:2:5" + "src": "38165:2:18" } ], "functionName": { "name": "sub", - "nativeSrc": "38158:3:5", + "nativeSrc": "38158:3:18", "nodeType": "YulIdentifier", - "src": "38158:3:5" + "src": "38158:3:18" }, - "nativeSrc": "38158:10:5", + "nativeSrc": "38158:10:18", "nodeType": "YulFunctionCall", - "src": "38158:10:5" + "src": "38158:10:18" }, { "name": "p", - "nativeSrc": "38170:1:5", + "nativeSrc": "38170:1:18", "nodeType": "YulIdentifier", - "src": "38170:1:5" + "src": "38170:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "38146:6:5", + "nativeSrc": "38146:6:18", "nodeType": "YulIdentifier", - "src": "38146:6:5" + "src": "38146:6:18" }, - "nativeSrc": "38146:26:5", + "nativeSrc": "38146:26:18", "nodeType": "YulFunctionCall", - "src": "38146:26:5" + "src": "38146:26:18" }, { "name": "y2", - "nativeSrc": "38174:2:5", + "nativeSrc": "38174:2:18", "nodeType": "YulIdentifier", - "src": "38174:2:5" + "src": "38174:2:18" }, { "name": "p", - "nativeSrc": "38178:1:5", + "nativeSrc": "38178:1:18", "nodeType": "YulIdentifier", - "src": "38178:1:5" + "src": "38178:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "38139:6:5", + "nativeSrc": "38139:6:18", "nodeType": "YulIdentifier", - "src": "38139:6:5" + "src": "38139:6:18" }, - "nativeSrc": "38139:41:5", + "nativeSrc": "38139:41:18", "nodeType": "YulFunctionCall", - "src": "38139:41:5" + "src": "38139:41:18" }, { "arguments": [ { "name": "Y", - "nativeSrc": "38189:1:5", + "nativeSrc": "38189:1:18", "nodeType": "YulIdentifier", - "src": "38189:1:5" + "src": "38189:1:18" }, { "name": "T1", - "nativeSrc": "38192:2:5", + "nativeSrc": "38192:2:18", "nodeType": "YulIdentifier", - "src": "38192:2:5" + "src": "38192:2:18" }, { "name": "p", - "nativeSrc": "38196:1:5", + "nativeSrc": "38196:1:18", "nodeType": "YulIdentifier", - "src": "38196:1:5" + "src": "38196:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "38182:6:5", + "nativeSrc": "38182:6:18", "nodeType": "YulIdentifier", - "src": "38182:6:5" + "src": "38182:6:18" }, - "nativeSrc": "38182:16:5", + "nativeSrc": "38182:16:18", "nodeType": "YulFunctionCall", - "src": "38182:16:5" + "src": "38182:16:18" }, { "name": "p", - "nativeSrc": "38200:1:5", + "nativeSrc": "38200:1:18", "nodeType": "YulIdentifier", - "src": "38200:1:5" + "src": "38200:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "38132:6:5", + "nativeSrc": "38132:6:18", "nodeType": "YulIdentifier", - "src": "38132:6:5" + "src": "38132:6:18" }, - "nativeSrc": "38132:70:5", + "nativeSrc": "38132:70:18", "nodeType": "YulFunctionCall", - "src": "38132:70:5" + "src": "38132:70:18" }, "variableNames": [ { "name": "Y", - "nativeSrc": "38127:1:5", + "nativeSrc": "38127:1:18", "nodeType": "YulIdentifier", - "src": "38127:1:5" + "src": "38127:1:18" } ] }, { - "nativeSrc": "38227:8:5", + "nativeSrc": "38227:8:18", "nodeType": "YulAssignment", - "src": "38227:8:5", + "src": "38227:8:18", "value": { "name": "T2", - "nativeSrc": "38233:2:5", + "nativeSrc": "38233:2:18", "nodeType": "YulIdentifier", - "src": "38233:2:5" + "src": "38233:2:18" }, "variableNames": [ { "name": "zz", - "nativeSrc": "38227:2:5", + "nativeSrc": "38227:2:18", "nodeType": "YulIdentifier", - "src": "38227:2:5" + "src": "38227:2:18" } ] }, { - "nativeSrc": "38260:7:5", + "nativeSrc": "38260:7:18", "nodeType": "YulAssignment", - "src": "38260:7:5", + "src": "38260:7:18", "value": { "name": "T4", - "nativeSrc": "38265:2:5", + "nativeSrc": "38265:2:18", "nodeType": "YulIdentifier", - "src": "38265:2:5" + "src": "38265:2:18" }, "variableNames": [ { "name": "X", - "nativeSrc": "38260:1:5", + "nativeSrc": "38260:1:18", "nodeType": "YulIdentifier", - "src": "38260:1:5" + "src": "38260:1:18" } ] } @@ -52475,108 +71450,108 @@ "arguments": [ { "name": "index", - "nativeSrc": "35416:5:5", + "nativeSrc": "35416:5:18", "nodeType": "YulIdentifier", - "src": "35416:5:5" + "src": "35416:5:18" }, { "kind": "number", - "nativeSrc": "35423:3:5", + "nativeSrc": "35423:3:18", "nodeType": "YulLiteral", - "src": "35423:3:5", + "src": "35423:3:18", "type": "", "value": "191" } ], "functionName": { "name": "gt", - "nativeSrc": "35413:2:5", + "nativeSrc": "35413:2:18", "nodeType": "YulIdentifier", - "src": "35413:2:5" + "src": "35413:2:18" }, - "nativeSrc": "35413:14:5", + "nativeSrc": "35413:14:18", "nodeType": "YulFunctionCall", - "src": "35413:14:5" + "src": "35413:14:18" }, - "nativeSrc": "35388:2919:5", + "nativeSrc": "35388:2919:18", "nodeType": "YulForLoop", "post": { - "nativeSrc": "35428:28:5", + "nativeSrc": "35428:28:18", "nodeType": "YulBlock", - "src": "35428:28:5", + "src": "35428:28:18", "statements": [ { - "nativeSrc": "35430:24:5", + "nativeSrc": "35430:24:18", "nodeType": "YulAssignment", - "src": "35430:24:5", + "src": "35430:24:18", "value": { "arguments": [ { "name": "index", - "nativeSrc": "35443:5:5", + "nativeSrc": "35443:5:18", "nodeType": "YulIdentifier", - "src": "35443:5:5" + "src": "35443:5:18" }, { "kind": "number", - "nativeSrc": "35450:3:5", + "nativeSrc": "35450:3:18", "nodeType": "YulLiteral", - "src": "35450:3:5", + "src": "35450:3:18", "type": "", "value": "191" } ], "functionName": { "name": "add", - "nativeSrc": "35439:3:5", + "nativeSrc": "35439:3:18", "nodeType": "YulIdentifier", - "src": "35439:3:5" + "src": "35439:3:18" }, - "nativeSrc": "35439:15:5", + "nativeSrc": "35439:15:18", "nodeType": "YulFunctionCall", - "src": "35439:15:5" + "src": "35439:15:18" }, "variableNames": [ { "name": "index", - "nativeSrc": "35430:5:5", + "nativeSrc": "35430:5:18", "nodeType": "YulIdentifier", - "src": "35430:5:5" + "src": "35430:5:18" } ] } ] }, "pre": { - "nativeSrc": "35392:20:5", + "nativeSrc": "35392:20:18", "nodeType": "YulBlock", - "src": "35392:20:5", + "src": "35392:20:18", "statements": [ { - "nativeSrc": "35394:16:5", + "nativeSrc": "35394:16:18", "nodeType": "YulVariableDeclaration", - "src": "35394:16:5", + "src": "35394:16:18", "value": { "kind": "number", - "nativeSrc": "35407:3:5", + "nativeSrc": "35407:3:18", "nodeType": "YulLiteral", - "src": "35407:3:5", + "src": "35407:3:18", "type": "", "value": "254" }, "variables": [ { "name": "index", - "nativeSrc": "35398:5:5", + "nativeSrc": "35398:5:18", "nodeType": "YulTypedName", - "src": "35398:5:5", + "src": "35398:5:18", "type": "" } ] } ] }, - "src": "35388:2919:5" + "src": "35388:2919:18" }, { "expression": { @@ -52585,81 +71560,81 @@ "arguments": [ { "name": "T", - "nativeSrc": "38346:1:5", + "nativeSrc": "38346:1:18", "nodeType": "YulIdentifier", - "src": "38346:1:5" + "src": "38346:1:18" }, { "kind": "number", - "nativeSrc": "38349:4:5", + "nativeSrc": "38349:4:18", "nodeType": "YulLiteral", - "src": "38349:4:5", + "src": "38349:4:18", "type": "", "value": "0x60" } ], "functionName": { "name": "add", - "nativeSrc": "38342:3:5", + "nativeSrc": "38342:3:18", "nodeType": "YulIdentifier", - "src": "38342:3:5" + "src": "38342:3:18" }, - "nativeSrc": "38342:12:5", + "nativeSrc": "38342:12:18", "nodeType": "YulFunctionCall", - "src": "38342:12:5" + "src": "38342:12:18" }, { "name": "zz", - "nativeSrc": "38356:2:5", + "nativeSrc": "38356:2:18", "nodeType": "YulIdentifier", - "src": "38356:2:5" + "src": "38356:2:18" } ], "functionName": { "name": "mstore", - "nativeSrc": "38335:6:5", + "nativeSrc": "38335:6:18", "nodeType": "YulIdentifier", - "src": "38335:6:5" + "src": "38335:6:18" }, - "nativeSrc": "38335:24:5", + "nativeSrc": "38335:24:18", "nodeType": "YulFunctionCall", - "src": "38335:24:5" + "src": "38335:24:18" }, - "nativeSrc": "38335:24:5", + "nativeSrc": "38335:24:18", "nodeType": "YulExpressionStatement", - "src": "38335:24:5" + "src": "38335:24:18" }, { "expression": { "arguments": [ { "name": "T", - "nativeSrc": "38619:1:5", + "nativeSrc": "38619:1:18", "nodeType": "YulIdentifier", - "src": "38619:1:5" + "src": "38619:1:18" }, { "kind": "number", - "nativeSrc": "38622:4:5", + "nativeSrc": "38622:4:18", "nodeType": "YulLiteral", - "src": "38622:4:5", + "src": "38622:4:18", "type": "", "value": "0x20" } ], "functionName": { "name": "mstore", - "nativeSrc": "38612:6:5", + "nativeSrc": "38612:6:18", "nodeType": "YulIdentifier", - "src": "38612:6:5" + "src": "38612:6:18" }, - "nativeSrc": "38612:15:5", + "nativeSrc": "38612:15:18", "nodeType": "YulFunctionCall", - "src": "38612:15:5" + "src": "38612:15:18" }, - "nativeSrc": "38612:15:5", + "nativeSrc": "38612:15:18", "nodeType": "YulExpressionStatement", - "src": "38612:15:5" + "src": "38612:15:18" }, { "expression": { @@ -52668,51 +71643,51 @@ "arguments": [ { "name": "T", - "nativeSrc": "38655:1:5", + "nativeSrc": "38655:1:18", "nodeType": "YulIdentifier", - "src": "38655:1:5" + "src": "38655:1:18" }, { "kind": "number", - "nativeSrc": "38658:4:5", + "nativeSrc": "38658:4:18", "nodeType": "YulLiteral", - "src": "38658:4:5", + "src": "38658:4:18", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "38651:3:5", + "nativeSrc": "38651:3:18", "nodeType": "YulIdentifier", - "src": "38651:3:5" + "src": "38651:3:18" }, - "nativeSrc": "38651:12:5", + "nativeSrc": "38651:12:18", "nodeType": "YulFunctionCall", - "src": "38651:12:5" + "src": "38651:12:18" }, { "kind": "number", - "nativeSrc": "38665:4:5", + "nativeSrc": "38665:4:18", "nodeType": "YulLiteral", - "src": "38665:4:5", + "src": "38665:4:18", "type": "", "value": "0x20" } ], "functionName": { "name": "mstore", - "nativeSrc": "38644:6:5", + "nativeSrc": "38644:6:18", "nodeType": "YulIdentifier", - "src": "38644:6:5" + "src": "38644:6:18" }, - "nativeSrc": "38644:26:5", + "nativeSrc": "38644:26:18", "nodeType": "YulFunctionCall", - "src": "38644:26:5" + "src": "38644:26:18" }, - "nativeSrc": "38644:26:5", + "nativeSrc": "38644:26:18", "nodeType": "YulExpressionStatement", - "src": "38644:26:5" + "src": "38644:26:18" }, { "expression": { @@ -52721,51 +71696,51 @@ "arguments": [ { "name": "T", - "nativeSrc": "38698:1:5", + "nativeSrc": "38698:1:18", "nodeType": "YulIdentifier", - "src": "38698:1:5" + "src": "38698:1:18" }, { "kind": "number", - "nativeSrc": "38701:4:5", + "nativeSrc": "38701:4:18", "nodeType": "YulLiteral", - "src": "38701:4:5", + "src": "38701:4:18", "type": "", "value": "0x40" } ], "functionName": { "name": "add", - "nativeSrc": "38694:3:5", + "nativeSrc": "38694:3:18", "nodeType": "YulIdentifier", - "src": "38694:3:5" + "src": "38694:3:18" }, - "nativeSrc": "38694:12:5", + "nativeSrc": "38694:12:18", "nodeType": "YulFunctionCall", - "src": "38694:12:5" + "src": "38694:12:18" }, { "kind": "number", - "nativeSrc": "38708:4:5", + "nativeSrc": "38708:4:18", "nodeType": "YulLiteral", - "src": "38708:4:5", + "src": "38708:4:18", "type": "", "value": "0x20" } ], "functionName": { "name": "mstore", - "nativeSrc": "38687:6:5", + "nativeSrc": "38687:6:18", "nodeType": "YulIdentifier", - "src": "38687:6:5" + "src": "38687:6:18" }, - "nativeSrc": "38687:26:5", + "nativeSrc": "38687:26:18", "nodeType": "YulFunctionCall", - "src": "38687:26:5" + "src": "38687:26:18" }, - "nativeSrc": "38687:26:5", + "nativeSrc": "38687:26:18", "nodeType": "YulExpressionStatement", - "src": "38687:26:5" + "src": "38687:26:18" }, { "expression": { @@ -52774,49 +71749,49 @@ "arguments": [ { "name": "T", - "nativeSrc": "38852:1:5", + "nativeSrc": "38852:1:18", "nodeType": "YulIdentifier", - "src": "38852:1:5" + "src": "38852:1:18" }, { "kind": "number", - "nativeSrc": "38855:4:5", + "nativeSrc": "38855:4:18", "nodeType": "YulLiteral", - "src": "38855:4:5", + "src": "38855:4:18", "type": "", "value": "0x80" } ], "functionName": { "name": "add", - "nativeSrc": "38848:3:5", + "nativeSrc": "38848:3:18", "nodeType": "YulIdentifier", - "src": "38848:3:5" + "src": "38848:3:18" }, - "nativeSrc": "38848:12:5", + "nativeSrc": "38848:12:18", "nodeType": "YulFunctionCall", - "src": "38848:12:5" + "src": "38848:12:18" }, { "name": "minus_2", - "nativeSrc": "38862:7:5", + "nativeSrc": "38862:7:18", "nodeType": "YulIdentifier", - "src": "38862:7:5" + "src": "38862:7:18" } ], "functionName": { "name": "mstore", - "nativeSrc": "38841:6:5", + "nativeSrc": "38841:6:18", "nodeType": "YulIdentifier", - "src": "38841:6:5" + "src": "38841:6:18" }, - "nativeSrc": "38841:29:5", + "nativeSrc": "38841:29:18", "nodeType": "YulFunctionCall", - "src": "38841:29:5" + "src": "38841:29:18" }, - "nativeSrc": "38841:29:5", + "nativeSrc": "38841:29:18", "nodeType": "YulExpressionStatement", - "src": "38841:29:5" + "src": "38841:29:18" }, { "expression": { @@ -52825,89 +71800,89 @@ "arguments": [ { "name": "T", - "nativeSrc": "38898:1:5", + "nativeSrc": "38898:1:18", "nodeType": "YulIdentifier", - "src": "38898:1:5" + "src": "38898:1:18" }, { "kind": "number", - "nativeSrc": "38901:4:5", + "nativeSrc": "38901:4:18", "nodeType": "YulLiteral", - "src": "38901:4:5", + "src": "38901:4:18", "type": "", "value": "0xa0" } ], "functionName": { "name": "add", - "nativeSrc": "38894:3:5", + "nativeSrc": "38894:3:18", "nodeType": "YulIdentifier", - "src": "38894:3:5" + "src": "38894:3:18" }, - "nativeSrc": "38894:12:5", + "nativeSrc": "38894:12:18", "nodeType": "YulFunctionCall", - "src": "38894:12:5" + "src": "38894:12:18" }, { "name": "p", - "nativeSrc": "38908:1:5", + "nativeSrc": "38908:1:18", "nodeType": "YulIdentifier", - "src": "38908:1:5" + "src": "38908:1:18" } ], "functionName": { "name": "mstore", - "nativeSrc": "38887:6:5", + "nativeSrc": "38887:6:18", "nodeType": "YulIdentifier", - "src": "38887:6:5" + "src": "38887:6:18" }, - "nativeSrc": "38887:23:5", + "nativeSrc": "38887:23:18", "nodeType": "YulFunctionCall", - "src": "38887:23:5" + "src": "38887:23:18" }, - "nativeSrc": "38887:23:5", + "nativeSrc": "38887:23:18", "nodeType": "YulExpressionStatement", - "src": "38887:23:5" + "src": "38887:23:18" }, { "body": { - "nativeSrc": "39045:16:5", + "nativeSrc": "39045:16:18", "nodeType": "YulBlock", - "src": "39045:16:5", + "src": "39045:16:18", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "39054:1:5", + "nativeSrc": "39054:1:18", "nodeType": "YulLiteral", - "src": "39054:1:5", + "src": "39054:1:18", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "39057:1:5", + "nativeSrc": "39057:1:18", "nodeType": "YulLiteral", - "src": "39057:1:5", + "src": "39057:1:18", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "39047:6:5", + "nativeSrc": "39047:6:18", "nodeType": "YulIdentifier", - "src": "39047:6:5" + "src": "39047:6:18" }, - "nativeSrc": "39047:12:5", + "nativeSrc": "39047:12:18", "nodeType": "YulFunctionCall", - "src": "39047:12:5" + "src": "39047:12:18" }, - "nativeSrc": "39047:12:5", + "nativeSrc": "39047:12:18", "nodeType": "YulExpressionStatement", - "src": "39047:12:5" + "src": "39047:12:18" } ] }, @@ -52919,158 +71894,158 @@ "arguments": [ { "kind": "number", - "nativeSrc": "39016:1:5", + "nativeSrc": "39016:1:18", "nodeType": "YulLiteral", - "src": "39016:1:5", + "src": "39016:1:18", "type": "", "value": "0" } ], "functionName": { "name": "not", - "nativeSrc": "39012:3:5", + "nativeSrc": "39012:3:18", "nodeType": "YulIdentifier", - "src": "39012:3:5" + "src": "39012:3:18" }, - "nativeSrc": "39012:6:5", + "nativeSrc": "39012:6:18", "nodeType": "YulFunctionCall", - "src": "39012:6:5" + "src": "39012:6:18" }, { "kind": "number", - "nativeSrc": "39020:4:5", + "nativeSrc": "39020:4:18", "nodeType": "YulLiteral", - "src": "39020:4:5", + "src": "39020:4:18", "type": "", "value": "0x05" }, { "name": "T", - "nativeSrc": "39026:1:5", + "nativeSrc": "39026:1:18", "nodeType": "YulIdentifier", - "src": "39026:1:5" + "src": "39026:1:18" }, { "kind": "number", - "nativeSrc": "39029:4:5", + "nativeSrc": "39029:4:18", "nodeType": "YulLiteral", - "src": "39029:4:5", + "src": "39029:4:18", "type": "", "value": "0xc0" }, { "name": "T", - "nativeSrc": "39035:1:5", + "nativeSrc": "39035:1:18", "nodeType": "YulIdentifier", - "src": "39035:1:5" + "src": "39035:1:18" }, { "kind": "number", - "nativeSrc": "39038:4:5", + "nativeSrc": "39038:4:18", "nodeType": "YulLiteral", - "src": "39038:4:5", + "src": "39038:4:18", "type": "", "value": "0x20" } ], "functionName": { "name": "staticcall", - "nativeSrc": "39001:10:5", + "nativeSrc": "39001:10:18", "nodeType": "YulIdentifier", - "src": "39001:10:5" + "src": "39001:10:18" }, - "nativeSrc": "39001:42:5", + "nativeSrc": "39001:42:18", "nodeType": "YulFunctionCall", - "src": "39001:42:5" + "src": "39001:42:18" } ], "functionName": { "name": "iszero", - "nativeSrc": "38994:6:5", + "nativeSrc": "38994:6:18", "nodeType": "YulIdentifier", - "src": "38994:6:5" + "src": "38994:6:18" }, - "nativeSrc": "38994:50:5", + "nativeSrc": "38994:50:18", "nodeType": "YulFunctionCall", - "src": "38994:50:5" + "src": "38994:50:18" }, - "nativeSrc": "38991:70:5", + "nativeSrc": "38991:70:18", "nodeType": "YulIf", - "src": "38991:70:5" + "src": "38991:70:18" }, { - "nativeSrc": "39079:14:5", + "nativeSrc": "39079:14:18", "nodeType": "YulAssignment", - "src": "39079:14:5", + "src": "39079:14:18", "value": { "arguments": [ { "name": "T", - "nativeSrc": "39091:1:5", + "nativeSrc": "39091:1:18", "nodeType": "YulIdentifier", - "src": "39091:1:5" + "src": "39091:1:18" } ], "functionName": { "name": "mload", - "nativeSrc": "39085:5:5", + "nativeSrc": "39085:5:18", "nodeType": "YulIdentifier", - "src": "39085:5:5" + "src": "39085:5:18" }, - "nativeSrc": "39085:8:5", + "nativeSrc": "39085:8:18", "nodeType": "YulFunctionCall", - "src": "39085:8:5" + "src": "39085:8:18" }, "variableNames": [ { "name": "zz", - "nativeSrc": "39079:2:5", + "nativeSrc": "39079:2:18", "nodeType": "YulIdentifier", - "src": "39079:2:5" + "src": "39079:2:18" } ] }, { - "nativeSrc": "39110:21:5", + "nativeSrc": "39110:21:18", "nodeType": "YulAssignment", - "src": "39110:21:5", + "src": "39110:21:18", "value": { "arguments": [ { "name": "X", - "nativeSrc": "39122:1:5", + "nativeSrc": "39122:1:18", "nodeType": "YulIdentifier", - "src": "39122:1:5" + "src": "39122:1:18" }, { "name": "zz", - "nativeSrc": "39125:2:5", + "nativeSrc": "39125:2:18", "nodeType": "YulIdentifier", - "src": "39125:2:5" + "src": "39125:2:18" }, { "name": "p", - "nativeSrc": "39129:1:5", + "nativeSrc": "39129:1:18", "nodeType": "YulIdentifier", - "src": "39129:1:5" + "src": "39129:1:18" } ], "functionName": { "name": "mulmod", - "nativeSrc": "39115:6:5", + "nativeSrc": "39115:6:18", "nodeType": "YulIdentifier", - "src": "39115:6:5" + "src": "39115:6:18" }, - "nativeSrc": "39115:16:5", + "nativeSrc": "39115:16:18", "nodeType": "YulFunctionCall", - "src": "39115:16:5" + "src": "39115:16:18" }, "variableNames": [ { "name": "X", - "nativeSrc": "39110:1:5", + "nativeSrc": "39110:1:18", "nodeType": "YulIdentifier", - "src": "39110:1:5" + "src": "39110:1:18" } ] } @@ -53079,685 +72054,685 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2093, + "declaration": 3699, "isOffset": false, "isSlot": false, - "src": "35131:1:5", + "src": "35131:1:18", "valueSize": 1 }, { - "declaration": 2093, + "declaration": 3699, "isOffset": false, "isSlot": false, - "src": "35144:1:5", + "src": "35144:1:18", "valueSize": 1 }, { - "declaration": 2093, + "declaration": 3699, "isOffset": false, "isSlot": false, - "src": "35193:1:5", + "src": "35193:1:18", "valueSize": 1 }, { - "declaration": 2093, + "declaration": 3699, "isOffset": false, "isSlot": false, - "src": "35231:1:5", + "src": "35231:1:18", "valueSize": 1 }, { - "declaration": 2093, + "declaration": 3699, "isOffset": false, "isSlot": false, - "src": "37496:1:5", + "src": "37496:1:18", "valueSize": 1 }, { - "declaration": 2093, + "declaration": 3699, "isOffset": false, "isSlot": false, - "src": "37630:1:5", + "src": "37630:1:18", "valueSize": 1 }, { - "declaration": 2093, + "declaration": 3699, "isOffset": false, "isSlot": false, - "src": "37704:1:5", + "src": "37704:1:18", "valueSize": 1 }, { - "declaration": 2093, + "declaration": 3699, "isOffset": false, "isSlot": false, - "src": "38346:1:5", + "src": "38346:1:18", "valueSize": 1 }, { - "declaration": 2093, + "declaration": 3699, "isOffset": false, "isSlot": false, - "src": "38619:1:5", + "src": "38619:1:18", "valueSize": 1 }, { - "declaration": 2093, + "declaration": 3699, "isOffset": false, "isSlot": false, - "src": "38655:1:5", + "src": "38655:1:18", "valueSize": 1 }, { - "declaration": 2093, + "declaration": 3699, "isOffset": false, "isSlot": false, - "src": "38698:1:5", + "src": "38698:1:18", "valueSize": 1 }, { - "declaration": 2093, + "declaration": 3699, "isOffset": false, "isSlot": false, - "src": "38852:1:5", + "src": "38852:1:18", "valueSize": 1 }, { - "declaration": 2093, + "declaration": 3699, "isOffset": false, "isSlot": false, - "src": "38898:1:5", + "src": "38898:1:18", "valueSize": 1 }, { - "declaration": 2093, + "declaration": 3699, "isOffset": false, "isSlot": false, - "src": "39026:1:5", + "src": "39026:1:18", "valueSize": 1 }, { - "declaration": 2093, + "declaration": 3699, "isOffset": false, "isSlot": false, - "src": "39035:1:5", + "src": "39035:1:18", "valueSize": 1 }, { - "declaration": 2093, + "declaration": 3699, "isOffset": false, "isSlot": false, - "src": "39091:1:5", + "src": "39091:1:18", "valueSize": 1 }, { - "declaration": 2083, + "declaration": 3689, "isOffset": false, "isSlot": false, - "src": "35182:1:5", + "src": "35182:1:18", "valueSize": 1 }, { - "declaration": 2083, + "declaration": 3689, "isOffset": false, "isSlot": false, - "src": "35618:1:5", + "src": "35618:1:18", "valueSize": 1 }, { - "declaration": 2083, + "declaration": 3689, "isOffset": false, "isSlot": false, - "src": "35746:1:5", + "src": "35746:1:18", "valueSize": 1 }, { - "declaration": 2083, + "declaration": 3689, "isOffset": false, "isSlot": false, - "src": "35772:1:5", + "src": "35772:1:18", "valueSize": 1 }, { - "declaration": 2083, + "declaration": 3689, "isOffset": false, "isSlot": false, - "src": "35959:1:5", + "src": "35959:1:18", "valueSize": 1 }, { - "declaration": 2083, + "declaration": 3689, "isOffset": false, "isSlot": false, - "src": "36145:1:5", + "src": "36145:1:18", "valueSize": 1 }, { - "declaration": 2083, + "declaration": 3689, "isOffset": false, "isSlot": false, - "src": "37723:1:5", + "src": "37723:1:18", "valueSize": 1 }, { - "declaration": 2083, + "declaration": 3689, "isOffset": false, "isSlot": false, - "src": "37986:1:5", + "src": "37986:1:18", "valueSize": 1 }, { - "declaration": 2083, + "declaration": 3689, "isOffset": false, "isSlot": false, - "src": "38260:1:5", + "src": "38260:1:18", "valueSize": 1 }, { - "declaration": 2083, + "declaration": 3689, "isOffset": false, "isSlot": false, - "src": "39110:1:5", + "src": "39110:1:18", "valueSize": 1 }, { - "declaration": 2083, + "declaration": 3689, "isOffset": false, "isSlot": false, - "src": "39122:1:5", + "src": "39122:1:18", "valueSize": 1 }, { - "declaration": 2080, + "declaration": 3686, "isOffset": false, "isSlot": false, - "src": "35148:11:5", + "src": "35148:11:18", "valueSize": 1 }, { - "declaration": 2080, + "declaration": 3686, "isOffset": false, "isSlot": false, - "src": "37507:11:5", + "src": "37507:11:18", "valueSize": 1 }, { - "declaration": 983, + "declaration": 2589, "isOffset": false, "isSlot": false, - "src": "35997:7:5", + "src": "35997:7:18", "valueSize": 1 }, { - "declaration": 983, + "declaration": 2589, "isOffset": false, "isSlot": false, - "src": "38082:7:5", + "src": "38082:7:18", "valueSize": 1 }, { - "declaration": 983, + "declaration": 2589, "isOffset": false, "isSlot": false, - "src": "38862:7:5", + "src": "38862:7:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "35502:1:5", + "src": "35502:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "35569:1:5", + "src": "35569:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "35625:1:5", + "src": "35625:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "35681:1:5", + "src": "35681:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "35753:1:5", + "src": "35753:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "35761:1:5", + "src": "35761:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "35779:1:5", + "src": "35779:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "35783:1:5", + "src": "35783:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "35787:1:5", + "src": "35787:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "35857:1:5", + "src": "35857:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "35915:1:5", + "src": "35915:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "35986:1:5", + "src": "35986:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "36010:1:5", + "src": "36010:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "36014:1:5", + "src": "36014:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "36152:1:5", + "src": "36152:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "36160:1:5", + "src": "36160:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "36164:1:5", + "src": "36164:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "36318:1:5", + "src": "36318:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "36326:1:5", + "src": "36326:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "37298:1:5", + "src": "37298:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "37644:1:5", + "src": "37644:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "37651:1:5", + "src": "37651:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "37712:1:5", + "src": "37712:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "37720:1:5", + "src": "37720:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "37727:1:5", + "src": "37727:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "37775:1:5", + "src": "37775:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "37823:1:5", + "src": "37823:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "37871:1:5", + "src": "37871:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "37929:1:5", + "src": "37929:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "37993:1:5", + "src": "37993:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "38055:1:5", + "src": "38055:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "38063:1:5", + "src": "38063:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "38071:1:5", + "src": "38071:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "38096:1:5", + "src": "38096:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "38100:1:5", + "src": "38100:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "38162:1:5", + "src": "38162:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "38170:1:5", + "src": "38170:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "38178:1:5", + "src": "38178:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "38196:1:5", + "src": "38196:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "38200:1:5", + "src": "38200:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "38908:1:5", + "src": "38908:1:18", "valueSize": 1 }, { - "declaration": 965, + "declaration": 2571, "isOffset": false, "isSlot": false, - "src": "39129:1:5", + "src": "39129:1:18", "valueSize": 1 }, { - "declaration": 2076, + "declaration": 3682, "isOffset": false, "isSlot": false, - "src": "36558:8:5", + "src": "36558:8:18", "valueSize": 1 }, { - "declaration": 2076, + "declaration": 3682, "isOffset": false, "isSlot": false, - "src": "36717:8:5", + "src": "36717:8:18", "valueSize": 1 }, { - "declaration": 2076, + "declaration": 3682, "isOffset": false, "isSlot": false, - "src": "36877:8:5", + "src": "36877:8:18", "valueSize": 1 }, { - "declaration": 2076, + "declaration": 3682, "isOffset": false, "isSlot": false, - "src": "37037:8:5", + "src": "37037:8:18", "valueSize": 1 }, { - "declaration": 2078, + "declaration": 3684, "isOffset": false, "isSlot": false, - "src": "36520:8:5", + "src": "36520:8:18", "valueSize": 1 }, { - "declaration": 2078, + "declaration": 3684, "isOffset": false, "isSlot": false, - "src": "36679:8:5", + "src": "36679:8:18", "valueSize": 1 }, { - "declaration": 2078, + "declaration": 3684, "isOffset": false, "isSlot": false, - "src": "36839:8:5", + "src": "36839:8:18", "valueSize": 1 }, { - "declaration": 2078, + "declaration": 3684, "isOffset": false, "isSlot": false, - "src": "36999:8:5", + "src": "36999:8:18", "valueSize": 1 }, { - "declaration": 2086, + "declaration": 3692, "isOffset": false, "isSlot": false, - "src": "35284:2:5", + "src": "35284:2:18", "valueSize": 1 }, { - "declaration": 2086, + "declaration": 3692, "isOffset": false, "isSlot": false, - "src": "35756:2:5", + "src": "35756:2:18", "valueSize": 1 }, { - "declaration": 2086, + "declaration": 3692, "isOffset": false, "isSlot": false, - "src": "35775:2:5", + "src": "35775:2:18", "valueSize": 1 }, { - "declaration": 2086, + "declaration": 3692, "isOffset": false, "isSlot": false, - "src": "35894:2:5", + "src": "35894:2:18", "valueSize": 1 }, { - "declaration": 2086, + "declaration": 3692, "isOffset": false, "isSlot": false, - "src": "35911:2:5", + "src": "35911:2:18", "valueSize": 1 }, { - "declaration": 2086, + "declaration": 3692, "isOffset": false, "isSlot": false, - "src": "37708:2:5", + "src": "37708:2:18", "valueSize": 1 }, { - "declaration": 2086, + "declaration": 3692, "isOffset": false, "isSlot": false, - "src": "37863:2:5", + "src": "37863:2:18", "valueSize": 1 }, { - "declaration": 2086, + "declaration": 3692, "isOffset": false, "isSlot": false, - "src": "38227:2:5", + "src": "38227:2:18", "valueSize": 1 }, { - "declaration": 2086, + "declaration": 3692, "isOffset": false, "isSlot": false, - "src": "38356:2:5", + "src": "38356:2:18", "valueSize": 1 }, { - "declaration": 2086, + "declaration": 3692, "isOffset": false, "isSlot": false, - "src": "39079:2:5", + "src": "39079:2:18", "valueSize": 1 }, { - "declaration": 2086, + "declaration": 3692, "isOffset": false, "isSlot": false, - "src": "39125:2:5", + "src": "39125:2:18", "valueSize": 1 } ], - "id": 2215, + "id": 3821, "nodeType": "InlineAssembly", - "src": "35095:4057:5" + "src": "35095:4057:18" } ] } ] }, - "id": 2218, + "id": 3824, "implemented": true, "kind": "function", "modifiers": [], "name": "ecZZ_mulmuladd_S8_hackmem", - "nameLocation": "34205:25:5", + "nameLocation": "34205:25:18", "nodeType": "FunctionDefinition", "parameters": { - "id": 2081, + "id": 3687, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2076, + "id": 3682, "mutability": "mutable", "name": "scalar_u", - "nameLocation": "34239:8:5", + "nameLocation": "34239:8:18", "nodeType": "VariableDeclaration", - "scope": 2218, - "src": "34231:16:5", + "scope": 3824, + "src": "34231:16:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -53765,10 +72740,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2075, + "id": 3681, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "34231:7:5", + "src": "34231:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -53778,13 +72753,13 @@ }, { "constant": false, - "id": 2078, + "id": 3684, "mutability": "mutable", "name": "scalar_v", - "nameLocation": "34257:8:5", + "nameLocation": "34257:8:18", "nodeType": "VariableDeclaration", - "scope": 2218, - "src": "34249:16:5", + "scope": 3824, + "src": "34249:16:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -53792,10 +72767,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2077, + "id": 3683, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "34249:7:5", + "src": "34249:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -53805,13 +72780,13 @@ }, { "constant": false, - "id": 2080, + "id": 3686, "mutability": "mutable", "name": "dataPointer", - "nameLocation": "34275:11:5", + "nameLocation": "34275:11:18", "nodeType": "VariableDeclaration", - "scope": 2218, - "src": "34267:19:5", + "scope": 3824, + "src": "34267:19:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -53819,10 +72794,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2079, + "id": 3685, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "34267:7:5", + "src": "34267:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -53831,21 +72806,21 @@ "visibility": "internal" } ], - "src": "34230:57:5" + "src": "34230:57:18" }, "returnParameters": { - "id": 2084, + "id": 3690, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2083, + "id": 3689, "mutability": "mutable", "name": "X", - "nameLocation": "34335:1:5", + "nameLocation": "34335:1:18", "nodeType": "VariableDeclaration", - "scope": 2218, - "src": "34327:9:5", + "scope": 3824, + "src": "34327:9:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -53853,10 +72828,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2082, + "id": 3688, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "34327:7:5", + "src": "34327:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -53865,34 +72840,34 @@ "visibility": "internal" } ], - "src": "34326:25:5" + "src": "34326:25:18" }, - "scope": 2298, - "src": "34196:4988:5", + "scope": 3904, + "src": "34196:4988:18", "stateMutability": "view", "virtual": false, "visibility": "internal" }, { "body": { - "id": 2296, + "id": 3902, "nodeType": "Block", - "src": "39920:574:5", + "src": "39920:574:18", "statements": [ { "assignments": [ - 2233 + 3839 ], "declarations": [ { "constant": false, - "id": 2233, + "id": 3839, "mutability": "mutable", "name": "r", - "nameLocation": "39938:1:5", + "nameLocation": "39938:1:18", "nodeType": "VariableDeclaration", - "scope": 2296, - "src": "39930:9:5", + "scope": 3902, + "src": "39930:9:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -53900,10 +72875,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2232, + "id": 3838, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "39930:7:5", + "src": "39930:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -53912,31 +72887,31 @@ "visibility": "internal" } ], - "id": 2237, + "id": 3843, "initialValue": { "baseExpression": { - "id": 2234, + "id": 3840, "name": "rs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2225, - "src": "39942:2:5", + "referencedDeclaration": 3831, + "src": "39942:2:18", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", "typeString": "uint256[2] calldata" } }, - "id": 2236, + "id": 3842, "indexExpression": { "hexValue": "30", - "id": 2235, + "id": 3841, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "39945:1:5", + "src": "39945:1:18", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -53948,29 +72923,29 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "39942:5:5", + "src": "39942:5:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "39930:17:5" + "src": "39930:17:18" }, { "assignments": [ - 2239 + 3845 ], "declarations": [ { "constant": false, - "id": 2239, + "id": 3845, "mutability": "mutable", "name": "s", - "nameLocation": "39965:1:5", + "nameLocation": "39965:1:18", "nodeType": "VariableDeclaration", - "scope": 2296, - "src": "39957:9:5", + "scope": 3902, + "src": "39957:9:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -53978,10 +72953,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2238, + "id": 3844, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "39957:7:5", + "src": "39957:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -53990,31 +72965,31 @@ "visibility": "internal" } ], - "id": 2243, + "id": 3849, "initialValue": { "baseExpression": { - "id": 2240, + "id": 3846, "name": "rs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2225, - "src": "39969:2:5", + "referencedDeclaration": 3831, + "src": "39969:2:18", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", "typeString": "uint256[2] calldata" } }, - "id": 2242, + "id": 3848, "indexExpression": { "hexValue": "31", - "id": 2241, + "id": 3847, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "39972:1:5", + "src": "39972:1:18", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -54026,14 +73001,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "39969:5:5", + "src": "39969:5:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "39957:17:5" + "src": "39957:17:18" }, { "condition": { @@ -54041,7 +73016,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 2258, + "id": 3864, "isConstant": false, "isLValue": false, "isPure": false, @@ -54051,7 +73026,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 2254, + "id": 3860, "isConstant": false, "isLValue": false, "isPure": false, @@ -54061,7 +73036,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 2250, + "id": 3856, "isConstant": false, "isLValue": false, "isPure": false, @@ -54071,18 +73046,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2246, + "id": 3852, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2244, + "id": 3850, "name": "r", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2233, - "src": "39988:1:5", + "referencedDeclaration": 3839, + "src": "39988:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -54092,21 +73067,21 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 2245, + "id": 3851, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "39993:1:5", + "src": "39993:1:18", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "39988:6:5", + "src": "39988:6:18", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -54119,18 +73094,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2249, + "id": 3855, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2247, + "id": 3853, "name": "r", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2233, - "src": "39998:1:5", + "referencedDeclaration": 3839, + "src": "39998:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -54139,24 +73114,24 @@ "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { - "id": 2248, + "id": 3854, "name": "n", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 980, - "src": "40003:1:5", + "referencedDeclaration": 2586, + "src": "40003:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "39998:6:5", + "src": "39998:6:18", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "39988:16:5", + "src": "39988:16:18", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -54169,18 +73144,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2253, + "id": 3859, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2251, + "id": 3857, "name": "s", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2239, - "src": "40008:1:5", + "referencedDeclaration": 3845, + "src": "40008:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -54190,27 +73165,27 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 2252, + "id": 3858, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "40013:1:5", + "src": "40013:1:18", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "40008:6:5", + "src": "40008:6:18", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "39988:26:5", + "src": "39988:26:18", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -54223,18 +73198,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2257, + "id": 3863, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2255, + "id": 3861, "name": "s", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2239, - "src": "40018:1:5", + "referencedDeclaration": 3845, + "src": "40018:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -54243,76 +73218,76 @@ "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { - "id": 2256, + "id": 3862, "name": "n", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 980, - "src": "40023:1:5", + "referencedDeclaration": 2586, + "src": "40023:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "40018:6:5", + "src": "40018:6:18", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "39988:36:5", + "src": "39988:36:18", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 2262, + "id": 3868, "nodeType": "IfStatement", - "src": "39984:79:5", + "src": "39984:79:18", "trueBody": { - "id": 2261, + "id": 3867, "nodeType": "Block", - "src": "40026:37:5", + "src": "40026:37:18", "statements": [ { "expression": { "hexValue": "66616c7365", - "id": 2259, + "id": 3865, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "40047:5:5", + "src": "40047:5:18", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, - "functionReturnParameters": 2231, - "id": 2260, + "functionReturnParameters": 3837, + "id": 3866, "nodeType": "Return", - "src": "40040:12:5" + "src": "40040:12:18" } ] } }, { "assignments": [ - 2264 + 3870 ], "declarations": [ { "constant": false, - "id": 2264, + "id": 3870, "mutability": "mutable", "name": "sInv", - "nameLocation": "40215:4:5", + "nameLocation": "40215:4:18", "nodeType": "VariableDeclaration", - "scope": 2296, - "src": "40207:12:5", + "scope": 3902, + "src": "40207:12:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -54320,10 +73295,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2263, + "id": 3869, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "40207:7:5", + "src": "40207:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -54332,16 +73307,16 @@ "visibility": "internal" } ], - "id": 2268, + "id": 3874, "initialValue": { "arguments": [ { - "id": 2266, + "id": 3872, "name": "s", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2239, - "src": "40234:1:5", + "referencedDeclaration": 3845, + "src": "40234:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -54355,18 +73330,18 @@ "typeString": "uint256" } ], - "id": 2265, + "id": 3871, "name": "FCL_nModInv", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1008, - "src": "40222:11:5", + "referencedDeclaration": 2614, + "src": "40222:11:18", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) view returns (uint256)" } }, - "id": 2267, + "id": 3873, "isConstant": false, "isLValue": false, "isPure": false, @@ -54375,7 +73350,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "40222:14:5", + "src": "40222:14:18", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -54383,22 +73358,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "40207:29:5" + "src": "40207:29:18" }, { "assignments": [ - 2270 + 3876 ], "declarations": [ { "constant": false, - "id": 2270, + "id": 3876, "mutability": "mutable", "name": "X", - "nameLocation": "40254:1:5", + "nameLocation": "40254:1:18", "nodeType": "VariableDeclaration", - "scope": 2296, - "src": "40246:9:5", + "scope": 3902, + "src": "40246:9:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -54406,10 +73381,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2269, + "id": 3875, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "40246:7:5", + "src": "40246:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -54418,24 +73393,24 @@ "visibility": "internal" } ], - "id": 2271, + "id": 3877, "nodeType": "VariableDeclarationStatement", - "src": "40246:9:5" + "src": "40246:9:18" }, { "expression": { - "id": 2289, + "id": 3895, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 2272, + "id": 3878, "name": "X", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2270, - "src": "40296:1:5", + "referencedDeclaration": 3876, + "src": "40296:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -54450,12 +73425,12 @@ { "arguments": [ { - "id": 2277, + "id": 3883, "name": "message", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2221, - "src": "40341:7:5", + "referencedDeclaration": 3827, + "src": "40341:7:18", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -54469,26 +73444,26 @@ "typeString": "bytes32" } ], - "id": 2276, + "id": 3882, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "40333:7:5", + "src": "40333:7:18", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 2275, + "id": 3881, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "40333:7:5", + "src": "40333:7:18", "typeDescriptions": {} } }, - "id": 2278, + "id": 3884, "isConstant": false, "isLValue": false, "isPure": false, @@ -54497,7 +73472,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "40333:16:5", + "src": "40333:16:18", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -54505,24 +73480,24 @@ } }, { - "id": 2279, + "id": 3885, "name": "sInv", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2264, - "src": "40351:4:5", + "referencedDeclaration": 3870, + "src": "40351:4:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 2280, + "id": 3886, "name": "n", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 980, - "src": "40357:1:5", + "referencedDeclaration": 2586, + "src": "40357:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -54544,18 +73519,18 @@ "typeString": "uint256" } ], - "id": 2274, + "id": 3880, "name": "mulmod", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -16, - "src": "40326:6:5", + "src": "40326:6:18", "typeDescriptions": { "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 2281, + "id": 3887, "isConstant": false, "isLValue": false, "isPure": false, @@ -54564,7 +73539,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "40326:33:5", + "src": "40326:33:18", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -54574,36 +73549,36 @@ { "arguments": [ { - "id": 2283, + "id": 3889, "name": "r", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2233, - "src": "40368:1:5", + "referencedDeclaration": 3839, + "src": "40368:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 2284, + "id": 3890, "name": "sInv", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2264, - "src": "40371:4:5", + "referencedDeclaration": 3870, + "src": "40371:4:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 2285, + "id": 3891, "name": "n", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 980, - "src": "40377:1:5", + "referencedDeclaration": 2586, + "src": "40377:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -54625,18 +73600,18 @@ "typeString": "uint256" } ], - "id": 2282, + "id": 3888, "name": "mulmod", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -16, - "src": "40361:6:5", + "src": "40361:6:18", "typeDescriptions": { "typeIdentifier": "t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 2286, + "id": 3892, "isConstant": false, "isLValue": false, "isPure": false, @@ -54645,7 +73620,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "40361:18:5", + "src": "40361:18:18", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -54653,12 +73628,12 @@ } }, { - "id": 2287, + "id": 3893, "name": "endcontract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2227, - "src": "40381:11:5", + "referencedDeclaration": 3833, + "src": "40381:11:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -54680,18 +73655,18 @@ "typeString": "uint256" } ], - "id": 2273, + "id": 3879, "name": "ecZZ_mulmuladd_S8_hackmem", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2218, - "src": "40300:25:5", + "referencedDeclaration": 3824, + "src": "40300:25:18", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) view returns (uint256)" } }, - "id": 2288, + "id": 3894, "isConstant": false, "isLValue": false, "isPure": false, @@ -54700,89 +73675,89 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "40300:93:5", + "src": "40300:93:18", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "40296:97:5", + "src": "40296:97:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2290, + "id": 3896, "nodeType": "ExpressionStatement", - "src": "40296:97:5" + "src": "40296:97:18" }, { "AST": { - "nativeSrc": "40413:52:5", + "nativeSrc": "40413:52:18", "nodeType": "YulBlock", - "src": "40413:52:5", + "src": "40413:52:18", "statements": [ { - "nativeSrc": "40427:28:5", + "nativeSrc": "40427:28:18", "nodeType": "YulAssignment", - "src": "40427:28:5", + "src": "40427:28:18", "value": { "arguments": [ { "name": "X", - "nativeSrc": "40439:1:5", + "nativeSrc": "40439:1:18", "nodeType": "YulIdentifier", - "src": "40439:1:5" + "src": "40439:1:18" }, { "arguments": [ { "name": "n", - "nativeSrc": "40446:1:5", + "nativeSrc": "40446:1:18", "nodeType": "YulIdentifier", - "src": "40446:1:5" + "src": "40446:1:18" }, { "name": "r", - "nativeSrc": "40449:1:5", + "nativeSrc": "40449:1:18", "nodeType": "YulIdentifier", - "src": "40449:1:5" + "src": "40449:1:18" } ], "functionName": { "name": "sub", - "nativeSrc": "40442:3:5", + "nativeSrc": "40442:3:18", "nodeType": "YulIdentifier", - "src": "40442:3:5" + "src": "40442:3:18" }, - "nativeSrc": "40442:9:5", + "nativeSrc": "40442:9:18", "nodeType": "YulFunctionCall", - "src": "40442:9:5" + "src": "40442:9:18" }, { "name": "n", - "nativeSrc": "40453:1:5", + "nativeSrc": "40453:1:18", "nodeType": "YulIdentifier", - "src": "40453:1:5" + "src": "40453:1:18" } ], "functionName": { "name": "addmod", - "nativeSrc": "40432:6:5", + "nativeSrc": "40432:6:18", "nodeType": "YulIdentifier", - "src": "40432:6:5" + "src": "40432:6:18" }, - "nativeSrc": "40432:23:5", + "nativeSrc": "40432:23:18", "nodeType": "YulFunctionCall", - "src": "40432:23:5" + "src": "40432:23:18" }, "variableNames": [ { "name": "X", - "nativeSrc": "40427:1:5", + "nativeSrc": "40427:1:18", "nodeType": "YulIdentifier", - "src": "40427:1:5" + "src": "40427:1:18" } ] } @@ -54791,44 +73766,44 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2270, + "declaration": 3876, "isOffset": false, "isSlot": false, - "src": "40427:1:5", + "src": "40427:1:18", "valueSize": 1 }, { - "declaration": 2270, + "declaration": 3876, "isOffset": false, "isSlot": false, - "src": "40439:1:5", + "src": "40439:1:18", "valueSize": 1 }, { - "declaration": 980, + "declaration": 2586, "isOffset": false, "isSlot": false, - "src": "40446:1:5", + "src": "40446:1:18", "valueSize": 1 }, { - "declaration": 980, + "declaration": 2586, "isOffset": false, "isSlot": false, - "src": "40453:1:5", + "src": "40453:1:18", "valueSize": 1 }, { - "declaration": 2233, + "declaration": 3839, "isOffset": false, "isSlot": false, - "src": "40449:1:5", + "src": "40449:1:18", "valueSize": 1 } ], - "id": 2291, + "id": 3897, "nodeType": "InlineAssembly", - "src": "40404:61:5" + "src": "40404:61:18" }, { "expression": { @@ -54836,18 +73811,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2294, + "id": 3900, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2292, + "id": 3898, "name": "X", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2270, - "src": "40481:1:5", + "referencedDeclaration": 3876, + "src": "40481:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -54857,59 +73832,59 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 2293, + "id": 3899, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "40486:1:5", + "src": "40486:1:18", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "40481:6:5", + "src": "40481:6:18", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 2231, - "id": 2295, + "functionReturnParameters": 3837, + "id": 3901, "nodeType": "Return", - "src": "40474:13:5" + "src": "40474:13:18" } ] }, "documentation": { - "id": 2219, + "id": 3825, "nodeType": "StructuredDocumentation", - "src": "39476:292:5", + "src": "39476:292:18", "text": " @dev ECDSA verification using a precomputed table of multiples of P and Q appended at end of contract at address endcontract\n generation of contract bytecode for precomputations is done using sagemath code\n (see sage directory, WebAuthn_precompute.sage)" }, - "id": 2297, + "id": 3903, "implemented": true, "kind": "function", "modifiers": [], "name": "ecdsa_precomputed_hackmem", - "nameLocation": "39783:25:5", + "nameLocation": "39783:25:18", "nodeType": "FunctionDefinition", "parameters": { - "id": 2228, + "id": 3834, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2221, + "id": 3827, "mutability": "mutable", "name": "message", - "nameLocation": "39817:7:5", + "nameLocation": "39817:7:18", "nodeType": "VariableDeclaration", - "scope": 2297, - "src": "39809:15:5", + "scope": 3903, + "src": "39809:15:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -54917,10 +73892,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 2220, + "id": 3826, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "39809:7:5", + "src": "39809:7:18", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -54930,13 +73905,13 @@ }, { "constant": false, - "id": 2225, + "id": 3831, "mutability": "mutable", "name": "rs", - "nameLocation": "39846:2:5", + "nameLocation": "39846:2:18", "nodeType": "VariableDeclaration", - "scope": 2297, - "src": "39826:22:5", + "scope": 3903, + "src": "39826:22:18", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -54945,26 +73920,26 @@ }, "typeName": { "baseType": { - "id": 2222, + "id": 3828, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "39826:7:5", + "src": "39826:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2224, + "id": 3830, "length": { "hexValue": "32", - "id": 2223, + "id": 3829, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "39834:1:5", + "src": "39834:1:18", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -54972,7 +73947,7 @@ "value": "2" }, "nodeType": "ArrayTypeName", - "src": "39826:10:5", + "src": "39826:10:18", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", "typeString": "uint256[2]" @@ -54982,13 +73957,13 @@ }, { "constant": false, - "id": 2227, + "id": 3833, "mutability": "mutable", "name": "endcontract", - "nameLocation": "39858:11:5", + "nameLocation": "39858:11:18", "nodeType": "VariableDeclaration", - "scope": 2297, - "src": "39850:19:5", + "scope": 3903, + "src": "39850:19:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -54996,10 +73971,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2226, + "id": 3832, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "39850:7:5", + "src": "39850:7:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -55008,21 +73983,21 @@ "visibility": "internal" } ], - "src": "39808:62:5" + "src": "39808:62:18" }, "returnParameters": { - "id": 2231, + "id": 3837, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2230, + "id": 3836, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2297, - "src": "39910:4:5", + "scope": 3903, + "src": "39910:4:18", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -55030,10 +74005,10 @@ "typeString": "bool" }, "typeName": { - "id": 2229, + "id": 3835, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "39910:4:5", + "src": "39910:4:18", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -55042,39 +74017,39 @@ "visibility": "internal" } ], - "src": "39909:6:5" + "src": "39909:6:18" }, - "scope": 2298, - "src": "39774:720:5", + "scope": 3904, + "src": "39774:720:18", "stateMutability": "view", "virtual": false, "visibility": "internal" } ], - "scope": 2299, - "src": "1220:39313:5", + "scope": 3905, + "src": "1220:39313:18", "usedErrors": [], "usedEvents": [] } ], - "src": "1186:39354:5" + "src": "1186:39354:18" }, - "id": 5 + "id": 18 }, "openzeppelin-contracts/contracts/utils/Base64.sol": { "ast": { "absolutePath": "openzeppelin-contracts/contracts/utils/Base64.sol", "exportedSymbols": { "Base64": [ - 2393 + 3999 ] }, - "id": 2394, + "id": 4000, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 2300, + "id": 3906, "literals": [ "solidity", "^", @@ -55082,7 +74057,7 @@ ".20" ], "nodeType": "PragmaDirective", - "src": "100:24:6" + "src": "100:24:19" }, { "abstract": false, @@ -55091,35 +74066,35 @@ "contractDependencies": [], "contractKind": "library", "documentation": { - "id": 2301, + "id": 3907, "nodeType": "StructuredDocumentation", - "src": "126:75:6", + "src": "126:75:19", "text": " @dev Provides a set of functions to operate with Base64 strings." }, "fullyImplemented": true, - "id": 2393, + "id": 3999, "linearizedBaseContracts": [ - 2393 + 3999 ], "name": "Base64", - "nameLocation": "210:6:6", + "nameLocation": "210:6:19", "nodeType": "ContractDefinition", "nodes": [ { "constant": true, "documentation": { - "id": 2302, + "id": 3908, "nodeType": "StructuredDocumentation", - "src": "223:131:6", + "src": "223:131:19", "text": " @dev Base64 Encoding/Decoding Table\n See sections 4 and 5 of https://datatracker.ietf.org/doc/html/rfc4648" }, - "id": 2305, + "id": 3911, "mutability": "constant", "name": "_TABLE", - "nameLocation": "384:6:6", + "nameLocation": "384:6:19", "nodeType": "VariableDeclaration", - "scope": 2393, - "src": "359:100:6", + "scope": 3999, + "src": "359:100:19", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -55127,10 +74102,10 @@ "typeString": "string" }, "typeName": { - "id": 2303, + "id": 3909, "name": "string", "nodeType": "ElementaryTypeName", - "src": "359:6:6", + "src": "359:6:19", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -55138,14 +74113,14 @@ }, "value": { "hexValue": "4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f", - "id": 2304, + "id": 3910, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "393:66:6", + "src": "393:66:19", "typeDescriptions": { "typeIdentifier": "t_stringliteral_84d8a590de33e00cbdc16e1f28c3506f5ec15c599fab9a6a4bcd575cc2f110ce", "typeString": "literal_string \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\"" @@ -55156,13 +74131,13 @@ }, { "constant": true, - "id": 2308, + "id": 3914, "mutability": "constant", "name": "_TABLE_URL", - "nameLocation": "490:10:6", + "nameLocation": "490:10:19", "nodeType": "VariableDeclaration", - "scope": 2393, - "src": "465:104:6", + "scope": 3999, + "src": "465:104:19", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -55170,10 +74145,10 @@ "typeString": "string" }, "typeName": { - "id": 2306, + "id": 3912, "name": "string", "nodeType": "ElementaryTypeName", - "src": "465:6:6", + "src": "465:6:19", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -55181,14 +74156,14 @@ }, "value": { "hexValue": "4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392d5f", - "id": 2307, + "id": 3913, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "503:66:6", + "src": "503:66:19", "typeDescriptions": { "typeIdentifier": "t_stringliteral_5f7e6d3cba140c1411e96b7033571a229a3135b5c436a9698b398a19a1c64b50", "typeString": "literal_string \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_\"" @@ -55199,32 +74174,32 @@ }, { "body": { - "id": 2322, + "id": 3928, "nodeType": "Block", - "src": "736:51:6", + "src": "736:51:19", "statements": [ { "expression": { "arguments": [ { - "id": 2317, + "id": 3923, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2311, - "src": "761:4:6", + "referencedDeclaration": 3917, + "src": "761:4:19", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { - "id": 2318, + "id": 3924, "name": "_TABLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2305, - "src": "767:6:6", + "referencedDeclaration": 3911, + "src": "767:6:19", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -55232,14 +74207,14 @@ }, { "hexValue": "74727565", - "id": 2319, + "id": 3925, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "775:4:6", + "src": "775:4:19", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -55262,18 +74237,18 @@ "typeString": "bool" } ], - "id": 2316, + "id": 3922, "name": "_encode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2392, - "src": "753:7:6", + "referencedDeclaration": 3998, + "src": "753:7:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_string_memory_ptr_$_t_bool_$returns$_t_string_memory_ptr_$", "typeString": "function (bytes memory,string memory,bool) pure returns (string memory)" } }, - "id": 2320, + "id": 3926, "isConstant": false, "isLValue": false, "isPure": false, @@ -55282,46 +74257,46 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "753:27:6", + "src": "753:27:19", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "functionReturnParameters": 2315, - "id": 2321, + "functionReturnParameters": 3921, + "id": 3927, "nodeType": "Return", - "src": "746:34:6" + "src": "746:34:19" } ] }, "documentation": { - "id": 2309, + "id": 3915, "nodeType": "StructuredDocumentation", - "src": "576:82:6", + "src": "576:82:19", "text": " @dev Converts a `bytes` to its Bytes64 `string` representation." }, - "id": 2323, + "id": 3929, "implemented": true, "kind": "function", "modifiers": [], "name": "encode", - "nameLocation": "672:6:6", + "nameLocation": "672:6:19", "nodeType": "FunctionDefinition", "parameters": { - "id": 2312, + "id": 3918, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2311, + "id": 3917, "mutability": "mutable", "name": "data", - "nameLocation": "692:4:6", + "nameLocation": "692:4:19", "nodeType": "VariableDeclaration", - "scope": 2323, - "src": "679:17:6", + "scope": 3929, + "src": "679:17:19", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -55329,10 +74304,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2310, + "id": 3916, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "679:5:6", + "src": "679:5:19", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -55341,21 +74316,21 @@ "visibility": "internal" } ], - "src": "678:19:6" + "src": "678:19:19" }, "returnParameters": { - "id": 2315, + "id": 3921, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2314, + "id": 3920, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2323, - "src": "721:13:6", + "scope": 3929, + "src": "721:13:19", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -55363,10 +74338,10 @@ "typeString": "string" }, "typeName": { - "id": 2313, + "id": 3919, "name": "string", "nodeType": "ElementaryTypeName", - "src": "721:6:6", + "src": "721:6:19", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -55375,42 +74350,42 @@ "visibility": "internal" } ], - "src": "720:15:6" + "src": "720:15:19" }, - "scope": 2393, - "src": "663:124:6", + "scope": 3999, + "src": "663:124:19", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 2337, + "id": 3943, "nodeType": "Block", - "src": "1061:56:6", + "src": "1061:56:19", "statements": [ { "expression": { "arguments": [ { - "id": 2332, + "id": 3938, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2326, - "src": "1086:4:6", + "referencedDeclaration": 3932, + "src": "1086:4:19", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { - "id": 2333, + "id": 3939, "name": "_TABLE_URL", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2308, - "src": "1092:10:6", + "referencedDeclaration": 3914, + "src": "1092:10:19", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -55418,14 +74393,14 @@ }, { "hexValue": "66616c7365", - "id": 2334, + "id": 3940, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1104:5:6", + "src": "1104:5:19", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -55448,18 +74423,18 @@ "typeString": "bool" } ], - "id": 2331, + "id": 3937, "name": "_encode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2392, - "src": "1078:7:6", + "referencedDeclaration": 3998, + "src": "1078:7:19", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_string_memory_ptr_$_t_bool_$returns$_t_string_memory_ptr_$", "typeString": "function (bytes memory,string memory,bool) pure returns (string memory)" } }, - "id": 2335, + "id": 3941, "isConstant": false, "isLValue": false, "isPure": false, @@ -55468,46 +74443,46 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1078:32:6", + "src": "1078:32:19", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "functionReturnParameters": 2330, - "id": 2336, + "functionReturnParameters": 3936, + "id": 3942, "nodeType": "Return", - "src": "1071:39:6" + "src": "1071:39:19" } ] }, "documentation": { - "id": 2324, + "id": 3930, "nodeType": "StructuredDocumentation", - "src": "793:187:6", + "src": "793:187:19", "text": " @dev Converts a `bytes` to its Bytes64Url `string` representation.\n Output is not padded with `=` as specified in https://www.rfc-editor.org/rfc/rfc4648[rfc4648]." }, - "id": 2338, + "id": 3944, "implemented": true, "kind": "function", "modifiers": [], "name": "encodeURL", - "nameLocation": "994:9:6", + "nameLocation": "994:9:19", "nodeType": "FunctionDefinition", "parameters": { - "id": 2327, + "id": 3933, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2326, + "id": 3932, "mutability": "mutable", "name": "data", - "nameLocation": "1017:4:6", + "nameLocation": "1017:4:19", "nodeType": "VariableDeclaration", - "scope": 2338, - "src": "1004:17:6", + "scope": 3944, + "src": "1004:17:19", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -55515,10 +74490,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2325, + "id": 3931, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1004:5:6", + "src": "1004:5:19", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -55527,21 +74502,21 @@ "visibility": "internal" } ], - "src": "1003:19:6" + "src": "1003:19:19" }, "returnParameters": { - "id": 2330, + "id": 3936, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2329, + "id": 3935, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2338, - "src": "1046:13:6", + "scope": 3944, + "src": "1046:13:19", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -55549,10 +74524,10 @@ "typeString": "string" }, "typeName": { - "id": 2328, + "id": 3934, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1046:6:6", + "src": "1046:6:19", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -55561,19 +74536,19 @@ "visibility": "internal" } ], - "src": "1045:15:6" + "src": "1045:15:19" }, - "scope": 2393, - "src": "985:132:6", + "scope": 3999, + "src": "985:132:19", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 2391, + "id": 3997, "nodeType": "Block", - "src": "1298:3910:6", + "src": "1298:3910:19", "statements": [ { "condition": { @@ -55581,33 +74556,33 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2353, + "id": 3959, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 2350, + "id": 3956, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2341, - "src": "1515:4:6", + "referencedDeclaration": 3947, + "src": "1515:4:19", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 2351, + "id": 3957, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1520:6:6", + "memberLocation": "1520:6:19", "memberName": "length", "nodeType": "MemberAccess", - "src": "1515:11:6", + "src": "1515:11:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -55617,67 +74592,67 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 2352, + "id": 3958, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1530:1:6", + "src": "1530:1:19", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "1515:16:6", + "src": "1515:16:19", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "documentation": " Inspired by Brecht Devos (Brechtpd) implementation - MIT licence\n https://github.com/Brechtpd/base64/blob/e78d9fd951e7b0977ddca77d92dc85183770daf4/base64.sol", - "id": 2356, + "id": 3962, "nodeType": "IfStatement", - "src": "1511:31:6", + "src": "1511:31:19", "trueBody": { "expression": { "hexValue": "", - "id": 2354, + "id": 3960, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1540:2:6", + "src": "1540:2:19", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", "typeString": "literal_string \"\"" }, "value": "" }, - "functionReturnParameters": 2349, - "id": 2355, + "functionReturnParameters": 3955, + "id": 3961, "nodeType": "Return", - "src": "1533:9:6" + "src": "1533:9:19" } }, { "assignments": [ - 2358 + 3964 ], "declarations": [ { "constant": false, - "id": 2358, + "id": 3964, "mutability": "mutable", "name": "resultLength", - "nameLocation": "2488:12:6", + "nameLocation": "2488:12:19", "nodeType": "VariableDeclaration", - "scope": 2391, - "src": "2480:20:6", + "scope": 3997, + "src": "2480:20:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -55685,10 +74660,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2357, + "id": 3963, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2480:7:6", + "src": "2480:7:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -55697,15 +74672,15 @@ "visibility": "internal" } ], - "id": 2380, + "id": 3986, "initialValue": { "condition": { - "id": 2359, + "id": 3965, "name": "withPadding", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2345, - "src": "2503:11:6", + "referencedDeclaration": 3951, + "src": "2503:11:19", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -55716,7 +74691,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2378, + "id": 3984, "isConstant": false, "isLValue": false, "isPure": false, @@ -55728,7 +74703,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2375, + "id": 3981, "isConstant": false, "isLValue": false, "isPure": false, @@ -55738,21 +74713,21 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2373, + "id": 3979, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "34", - "id": 2370, + "id": 3976, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2548:1:6", + "src": "2548:1:19", "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", "typeString": "int_const 4" @@ -55763,32 +74738,32 @@ "operator": "*", "rightExpression": { "expression": { - "id": 2371, + "id": 3977, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2341, - "src": "2552:4:6", + "referencedDeclaration": 3947, + "src": "2552:4:19", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 2372, + "id": 3978, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "2557:6:6", + "memberLocation": "2557:6:19", "memberName": "length", "nodeType": "MemberAccess", - "src": "2552:11:6", + "src": "2552:11:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2548:15:6", + "src": "2548:15:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -55798,35 +74773,35 @@ "operator": "+", "rightExpression": { "hexValue": "32", - "id": 2374, + "id": 3980, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2566:1:6", + "src": "2566:1:19", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, - "src": "2548:19:6", + "src": "2548:19:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 2376, + "id": 3982, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "2547:21:6", + "src": "2547:21:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -55836,53 +74811,53 @@ "operator": "/", "rightExpression": { "hexValue": "33", - "id": 2377, + "id": 3983, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2571:1:6", + "src": "2571:1:19", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" }, "value": "3" }, - "src": "2547:25:6", + "src": "2547:25:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2379, + "id": 3985, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "2503:69:6", + "src": "2503:69:19", "trueExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2369, + "id": 3975, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "34", - "id": 2360, + "id": 3966, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2517:1:6", + "src": "2517:1:19", "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", "typeString": "int_const 4" @@ -55898,7 +74873,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2367, + "id": 3973, "isConstant": false, "isLValue": false, "isPure": false, @@ -55910,33 +74885,33 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2364, + "id": 3970, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 2361, + "id": 3967, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2341, - "src": "2523:4:6", + "referencedDeclaration": 3947, + "src": "2523:4:19", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 2362, + "id": 3968, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "2528:6:6", + "memberLocation": "2528:6:19", "memberName": "length", "nodeType": "MemberAccess", - "src": "2523:11:6", + "src": "2523:11:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -55946,35 +74921,35 @@ "operator": "+", "rightExpression": { "hexValue": "32", - "id": 2363, + "id": 3969, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2537:1:6", + "src": "2537:1:19", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, - "src": "2523:15:6", + "src": "2523:15:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 2365, + "id": 3971, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "2522:17:6", + "src": "2522:17:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -55984,41 +74959,41 @@ "operator": "/", "rightExpression": { "hexValue": "33", - "id": 2366, + "id": 3972, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2542:1:6", + "src": "2542:1:19", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" }, "value": "3" }, - "src": "2522:21:6", + "src": "2522:21:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 2368, + "id": 3974, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "2521:23:6", + "src": "2521:23:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2517:27:6", + "src": "2517:27:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -56030,22 +75005,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "2480:92:6" + "src": "2480:92:19" }, { "assignments": [ - 2382 + 3988 ], "declarations": [ { "constant": false, - "id": 2382, + "id": 3988, "mutability": "mutable", "name": "result", - "nameLocation": "2597:6:6", + "nameLocation": "2597:6:19", "nodeType": "VariableDeclaration", - "scope": 2391, - "src": "2583:20:6", + "scope": 3997, + "src": "2583:20:19", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -56053,10 +75028,10 @@ "typeString": "string" }, "typeName": { - "id": 2381, + "id": 3987, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2583:6:6", + "src": "2583:6:19", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -56065,16 +75040,16 @@ "visibility": "internal" } ], - "id": 2387, + "id": 3993, "initialValue": { "arguments": [ { - "id": 2385, + "id": 3991, "name": "resultLength", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2358, - "src": "2617:12:6", + "referencedDeclaration": 3964, + "src": "2617:12:19", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -56088,29 +75063,29 @@ "typeString": "uint256" } ], - "id": 2384, + "id": 3990, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", - "src": "2606:10:6", + "src": "2606:10:19", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_string_memory_ptr_$", "typeString": "function (uint256) pure returns (string memory)" }, "typeName": { - "id": 2383, + "id": 3989, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2610:6:6", + "src": "2610:6:19", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } } }, - "id": 2386, + "id": 3992, "isConstant": false, "isLValue": false, "isPure": false, @@ -56119,7 +75094,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2606:24:6", + "src": "2606:24:19", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -56127,238 +75102,238 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "2583:47:6" + "src": "2583:47:19" }, { "AST": { - "nativeSrc": "2666:2512:6", + "nativeSrc": "2666:2512:19", "nodeType": "YulBlock", - "src": "2666:2512:6", + "src": "2666:2512:19", "statements": [ { - "nativeSrc": "2751:29:6", + "nativeSrc": "2751:29:19", "nodeType": "YulVariableDeclaration", - "src": "2751:29:6", + "src": "2751:29:19", "value": { "arguments": [ { "name": "table", - "nativeSrc": "2771:5:6", + "nativeSrc": "2771:5:19", "nodeType": "YulIdentifier", - "src": "2771:5:6" + "src": "2771:5:19" }, { "kind": "number", - "nativeSrc": "2778:1:6", + "nativeSrc": "2778:1:19", "nodeType": "YulLiteral", - "src": "2778:1:6", + "src": "2778:1:19", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "2767:3:6", + "nativeSrc": "2767:3:19", "nodeType": "YulIdentifier", - "src": "2767:3:6" + "src": "2767:3:19" }, - "nativeSrc": "2767:13:6", + "nativeSrc": "2767:13:19", "nodeType": "YulFunctionCall", - "src": "2767:13:6" + "src": "2767:13:19" }, "variables": [ { "name": "tablePtr", - "nativeSrc": "2755:8:6", + "nativeSrc": "2755:8:19", "nodeType": "YulTypedName", - "src": "2755:8:6", + "src": "2755:8:19", "type": "" } ] }, { - "nativeSrc": "2850:34:6", + "nativeSrc": "2850:34:19", "nodeType": "YulVariableDeclaration", - "src": "2850:34:6", + "src": "2850:34:19", "value": { "arguments": [ { "name": "result", - "nativeSrc": "2871:6:6", + "nativeSrc": "2871:6:19", "nodeType": "YulIdentifier", - "src": "2871:6:6" + "src": "2871:6:19" }, { "kind": "number", - "nativeSrc": "2879:4:6", + "nativeSrc": "2879:4:19", "nodeType": "YulLiteral", - "src": "2879:4:6", + "src": "2879:4:19", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "2867:3:6", + "nativeSrc": "2867:3:19", "nodeType": "YulIdentifier", - "src": "2867:3:6" + "src": "2867:3:19" }, - "nativeSrc": "2867:17:6", + "nativeSrc": "2867:17:19", "nodeType": "YulFunctionCall", - "src": "2867:17:6" + "src": "2867:17:19" }, "variables": [ { "name": "resultPtr", - "nativeSrc": "2854:9:6", + "nativeSrc": "2854:9:19", "nodeType": "YulTypedName", - "src": "2854:9:6", + "src": "2854:9:19", "type": "" } ] }, { - "nativeSrc": "2897:19:6", + "nativeSrc": "2897:19:19", "nodeType": "YulVariableDeclaration", - "src": "2897:19:6", + "src": "2897:19:19", "value": { "name": "data", - "nativeSrc": "2912:4:6", + "nativeSrc": "2912:4:19", "nodeType": "YulIdentifier", - "src": "2912:4:6" + "src": "2912:4:19" }, "variables": [ { "name": "dataPtr", - "nativeSrc": "2901:7:6", + "nativeSrc": "2901:7:19", "nodeType": "YulTypedName", - "src": "2901:7:6", + "src": "2901:7:19", "type": "" } ] }, { - "nativeSrc": "2929:36:6", + "nativeSrc": "2929:36:19", "nodeType": "YulVariableDeclaration", - "src": "2929:36:6", + "src": "2929:36:19", "value": { "arguments": [ { "name": "data", - "nativeSrc": "2947:4:6", + "nativeSrc": "2947:4:19", "nodeType": "YulIdentifier", - "src": "2947:4:6" + "src": "2947:4:19" }, { "arguments": [ { "name": "data", - "nativeSrc": "2959:4:6", + "nativeSrc": "2959:4:19", "nodeType": "YulIdentifier", - "src": "2959:4:6" + "src": "2959:4:19" } ], "functionName": { "name": "mload", - "nativeSrc": "2953:5:6", + "nativeSrc": "2953:5:19", "nodeType": "YulIdentifier", - "src": "2953:5:6" + "src": "2953:5:19" }, - "nativeSrc": "2953:11:6", + "nativeSrc": "2953:11:19", "nodeType": "YulFunctionCall", - "src": "2953:11:6" + "src": "2953:11:19" } ], "functionName": { "name": "add", - "nativeSrc": "2943:3:6", + "nativeSrc": "2943:3:19", "nodeType": "YulIdentifier", - "src": "2943:3:6" + "src": "2943:3:19" }, - "nativeSrc": "2943:22:6", + "nativeSrc": "2943:22:19", "nodeType": "YulFunctionCall", - "src": "2943:22:6" + "src": "2943:22:19" }, "variables": [ { "name": "endPtr", - "nativeSrc": "2933:6:6", + "nativeSrc": "2933:6:19", "nodeType": "YulTypedName", - "src": "2933:6:6", + "src": "2933:6:19", "type": "" } ] }, { - "nativeSrc": "3179:33:6", + "nativeSrc": "3179:33:19", "nodeType": "YulVariableDeclaration", - "src": "3179:33:6", + "src": "3179:33:19", "value": { "arguments": [ { "name": "endPtr", - "nativeSrc": "3199:6:6", + "nativeSrc": "3199:6:19", "nodeType": "YulIdentifier", - "src": "3199:6:6" + "src": "3199:6:19" }, { "kind": "number", - "nativeSrc": "3207:4:6", + "nativeSrc": "3207:4:19", "nodeType": "YulLiteral", - "src": "3207:4:6", + "src": "3207:4:19", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "3195:3:6", + "nativeSrc": "3195:3:19", "nodeType": "YulIdentifier", - "src": "3195:3:6" + "src": "3195:3:19" }, - "nativeSrc": "3195:17:6", + "nativeSrc": "3195:17:19", "nodeType": "YulFunctionCall", - "src": "3195:17:6" + "src": "3195:17:19" }, "variables": [ { "name": "afterPtr", - "nativeSrc": "3183:8:6", + "nativeSrc": "3183:8:19", "nodeType": "YulTypedName", - "src": "3183:8:6", + "src": "3183:8:19", "type": "" } ] }, { - "nativeSrc": "3225:33:6", + "nativeSrc": "3225:33:19", "nodeType": "YulVariableDeclaration", - "src": "3225:33:6", + "src": "3225:33:19", "value": { "arguments": [ { "name": "afterPtr", - "nativeSrc": "3249:8:6", + "nativeSrc": "3249:8:19", "nodeType": "YulIdentifier", - "src": "3249:8:6" + "src": "3249:8:19" } ], "functionName": { "name": "mload", - "nativeSrc": "3243:5:6", + "nativeSrc": "3243:5:19", "nodeType": "YulIdentifier", - "src": "3243:5:6" + "src": "3243:5:19" }, - "nativeSrc": "3243:15:6", + "nativeSrc": "3243:15:19", "nodeType": "YulFunctionCall", - "src": "3243:15:6" + "src": "3243:15:19" }, "variables": [ { "name": "afterCache", - "nativeSrc": "3229:10:6", + "nativeSrc": "3229:10:19", "nodeType": "YulTypedName", - "src": "3229:10:6", + "src": "3229:10:19", "type": "" } ] @@ -56368,108 +75343,108 @@ "arguments": [ { "name": "afterPtr", - "nativeSrc": "3278:8:6", + "nativeSrc": "3278:8:19", "nodeType": "YulIdentifier", - "src": "3278:8:6" + "src": "3278:8:19" }, { "kind": "number", - "nativeSrc": "3288:4:6", + "nativeSrc": "3288:4:19", "nodeType": "YulLiteral", - "src": "3288:4:6", + "src": "3288:4:19", "type": "", "value": "0x00" } ], "functionName": { "name": "mstore", - "nativeSrc": "3271:6:6", + "nativeSrc": "3271:6:19", "nodeType": "YulIdentifier", - "src": "3271:6:6" + "src": "3271:6:19" }, - "nativeSrc": "3271:22:6", + "nativeSrc": "3271:22:19", "nodeType": "YulFunctionCall", - "src": "3271:22:6" + "src": "3271:22:19" }, - "nativeSrc": "3271:22:6", + "nativeSrc": "3271:22:19", "nodeType": "YulExpressionStatement", - "src": "3271:22:6" + "src": "3271:22:19" }, { "body": { - "nativeSrc": "3418:1201:6", + "nativeSrc": "3418:1201:19", "nodeType": "YulBlock", - "src": "3418:1201:6", + "src": "3418:1201:19", "statements": [ { - "nativeSrc": "3471:26:6", + "nativeSrc": "3471:26:19", "nodeType": "YulAssignment", - "src": "3471:26:6", + "src": "3471:26:19", "value": { "arguments": [ { "name": "dataPtr", - "nativeSrc": "3486:7:6", + "nativeSrc": "3486:7:19", "nodeType": "YulIdentifier", - "src": "3486:7:6" + "src": "3486:7:19" }, { "kind": "number", - "nativeSrc": "3495:1:6", + "nativeSrc": "3495:1:19", "nodeType": "YulLiteral", - "src": "3495:1:6", + "src": "3495:1:19", "type": "", "value": "3" } ], "functionName": { "name": "add", - "nativeSrc": "3482:3:6", + "nativeSrc": "3482:3:19", "nodeType": "YulIdentifier", - "src": "3482:3:6" + "src": "3482:3:19" }, - "nativeSrc": "3482:15:6", + "nativeSrc": "3482:15:19", "nodeType": "YulFunctionCall", - "src": "3482:15:6" + "src": "3482:15:19" }, "variableNames": [ { "name": "dataPtr", - "nativeSrc": "3471:7:6", + "nativeSrc": "3471:7:19", "nodeType": "YulIdentifier", - "src": "3471:7:6" + "src": "3471:7:19" } ] }, { - "nativeSrc": "3514:27:6", + "nativeSrc": "3514:27:19", "nodeType": "YulVariableDeclaration", - "src": "3514:27:6", + "src": "3514:27:19", "value": { "arguments": [ { "name": "dataPtr", - "nativeSrc": "3533:7:6", + "nativeSrc": "3533:7:19", "nodeType": "YulIdentifier", - "src": "3533:7:6" + "src": "3533:7:19" } ], "functionName": { "name": "mload", - "nativeSrc": "3527:5:6", + "nativeSrc": "3527:5:19", "nodeType": "YulIdentifier", - "src": "3527:5:6" + "src": "3527:5:19" }, - "nativeSrc": "3527:14:6", + "nativeSrc": "3527:14:19", "nodeType": "YulFunctionCall", - "src": "3527:14:6" + "src": "3527:14:19" }, "variables": [ { "name": "input", - "nativeSrc": "3518:5:6", + "nativeSrc": "3518:5:19", "nodeType": "YulTypedName", - "src": "3518:5:6", + "src": "3518:5:19", "type": "" } ] @@ -56479,9 +75454,9 @@ "arguments": [ { "name": "resultPtr", - "nativeSrc": "4069:9:6", + "nativeSrc": "4069:9:19", "nodeType": "YulIdentifier", - "src": "4069:9:6" + "src": "4069:9:19" }, { "arguments": [ @@ -56489,9 +75464,9 @@ "arguments": [ { "name": "tablePtr", - "nativeSrc": "4090:8:6", + "nativeSrc": "4090:8:19", "nodeType": "YulIdentifier", - "src": "4090:8:6" + "src": "4090:8:19" }, { "arguments": [ @@ -56499,122 +75474,122 @@ "arguments": [ { "kind": "number", - "nativeSrc": "4108:2:6", + "nativeSrc": "4108:2:19", "nodeType": "YulLiteral", - "src": "4108:2:6", + "src": "4108:2:19", "type": "", "value": "18" }, { "name": "input", - "nativeSrc": "4112:5:6", + "nativeSrc": "4112:5:19", "nodeType": "YulIdentifier", - "src": "4112:5:6" + "src": "4112:5:19" } ], "functionName": { "name": "shr", - "nativeSrc": "4104:3:6", + "nativeSrc": "4104:3:19", "nodeType": "YulIdentifier", - "src": "4104:3:6" + "src": "4104:3:19" }, - "nativeSrc": "4104:14:6", + "nativeSrc": "4104:14:19", "nodeType": "YulFunctionCall", - "src": "4104:14:6" + "src": "4104:14:19" }, { "kind": "number", - "nativeSrc": "4120:4:6", + "nativeSrc": "4120:4:19", "nodeType": "YulLiteral", - "src": "4120:4:6", + "src": "4120:4:19", "type": "", "value": "0x3F" } ], "functionName": { "name": "and", - "nativeSrc": "4100:3:6", + "nativeSrc": "4100:3:19", "nodeType": "YulIdentifier", - "src": "4100:3:6" + "src": "4100:3:19" }, - "nativeSrc": "4100:25:6", + "nativeSrc": "4100:25:19", "nodeType": "YulFunctionCall", - "src": "4100:25:6" + "src": "4100:25:19" } ], "functionName": { "name": "add", - "nativeSrc": "4086:3:6", + "nativeSrc": "4086:3:19", "nodeType": "YulIdentifier", - "src": "4086:3:6" + "src": "4086:3:19" }, - "nativeSrc": "4086:40:6", + "nativeSrc": "4086:40:19", "nodeType": "YulFunctionCall", - "src": "4086:40:6" + "src": "4086:40:19" } ], "functionName": { "name": "mload", - "nativeSrc": "4080:5:6", + "nativeSrc": "4080:5:19", "nodeType": "YulIdentifier", - "src": "4080:5:6" + "src": "4080:5:19" }, - "nativeSrc": "4080:47:6", + "nativeSrc": "4080:47:19", "nodeType": "YulFunctionCall", - "src": "4080:47:6" + "src": "4080:47:19" } ], "functionName": { "name": "mstore8", - "nativeSrc": "4061:7:6", + "nativeSrc": "4061:7:19", "nodeType": "YulIdentifier", - "src": "4061:7:6" + "src": "4061:7:19" }, - "nativeSrc": "4061:67:6", + "nativeSrc": "4061:67:19", "nodeType": "YulFunctionCall", - "src": "4061:67:6" + "src": "4061:67:19" }, - "nativeSrc": "4061:67:6", + "nativeSrc": "4061:67:19", "nodeType": "YulExpressionStatement", - "src": "4061:67:6" + "src": "4061:67:19" }, { - "nativeSrc": "4145:30:6", + "nativeSrc": "4145:30:19", "nodeType": "YulAssignment", - "src": "4145:30:6", + "src": "4145:30:19", "value": { "arguments": [ { "name": "resultPtr", - "nativeSrc": "4162:9:6", + "nativeSrc": "4162:9:19", "nodeType": "YulIdentifier", - "src": "4162:9:6" + "src": "4162:9:19" }, { "kind": "number", - "nativeSrc": "4173:1:6", + "nativeSrc": "4173:1:19", "nodeType": "YulLiteral", - "src": "4173:1:6", + "src": "4173:1:19", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "4158:3:6", + "nativeSrc": "4158:3:19", "nodeType": "YulIdentifier", - "src": "4158:3:6" + "src": "4158:3:19" }, - "nativeSrc": "4158:17:6", + "nativeSrc": "4158:17:19", "nodeType": "YulFunctionCall", - "src": "4158:17:6" + "src": "4158:17:19" }, "variableNames": [ { "name": "resultPtr", - "nativeSrc": "4145:9:6", + "nativeSrc": "4145:9:19", "nodeType": "YulIdentifier", - "src": "4145:9:6" + "src": "4145:9:19" } ] }, @@ -56623,9 +75598,9 @@ "arguments": [ { "name": "resultPtr", - "nativeSrc": "4212:9:6", + "nativeSrc": "4212:9:19", "nodeType": "YulIdentifier", - "src": "4212:9:6" + "src": "4212:9:19" }, { "arguments": [ @@ -56633,9 +75608,9 @@ "arguments": [ { "name": "tablePtr", - "nativeSrc": "4233:8:6", + "nativeSrc": "4233:8:19", "nodeType": "YulIdentifier", - "src": "4233:8:6" + "src": "4233:8:19" }, { "arguments": [ @@ -56643,122 +75618,122 @@ "arguments": [ { "kind": "number", - "nativeSrc": "4251:2:6", + "nativeSrc": "4251:2:19", "nodeType": "YulLiteral", - "src": "4251:2:6", + "src": "4251:2:19", "type": "", "value": "12" }, { "name": "input", - "nativeSrc": "4255:5:6", + "nativeSrc": "4255:5:19", "nodeType": "YulIdentifier", - "src": "4255:5:6" + "src": "4255:5:19" } ], "functionName": { "name": "shr", - "nativeSrc": "4247:3:6", + "nativeSrc": "4247:3:19", "nodeType": "YulIdentifier", - "src": "4247:3:6" + "src": "4247:3:19" }, - "nativeSrc": "4247:14:6", + "nativeSrc": "4247:14:19", "nodeType": "YulFunctionCall", - "src": "4247:14:6" + "src": "4247:14:19" }, { "kind": "number", - "nativeSrc": "4263:4:6", + "nativeSrc": "4263:4:19", "nodeType": "YulLiteral", - "src": "4263:4:6", + "src": "4263:4:19", "type": "", "value": "0x3F" } ], "functionName": { "name": "and", - "nativeSrc": "4243:3:6", + "nativeSrc": "4243:3:19", "nodeType": "YulIdentifier", - "src": "4243:3:6" + "src": "4243:3:19" }, - "nativeSrc": "4243:25:6", + "nativeSrc": "4243:25:19", "nodeType": "YulFunctionCall", - "src": "4243:25:6" + "src": "4243:25:19" } ], "functionName": { "name": "add", - "nativeSrc": "4229:3:6", + "nativeSrc": "4229:3:19", "nodeType": "YulIdentifier", - "src": "4229:3:6" + "src": "4229:3:19" }, - "nativeSrc": "4229:40:6", + "nativeSrc": "4229:40:19", "nodeType": "YulFunctionCall", - "src": "4229:40:6" + "src": "4229:40:19" } ], "functionName": { "name": "mload", - "nativeSrc": "4223:5:6", + "nativeSrc": "4223:5:19", "nodeType": "YulIdentifier", - "src": "4223:5:6" + "src": "4223:5:19" }, - "nativeSrc": "4223:47:6", + "nativeSrc": "4223:47:19", "nodeType": "YulFunctionCall", - "src": "4223:47:6" + "src": "4223:47:19" } ], "functionName": { "name": "mstore8", - "nativeSrc": "4204:7:6", + "nativeSrc": "4204:7:19", "nodeType": "YulIdentifier", - "src": "4204:7:6" + "src": "4204:7:19" }, - "nativeSrc": "4204:67:6", + "nativeSrc": "4204:67:19", "nodeType": "YulFunctionCall", - "src": "4204:67:6" + "src": "4204:67:19" }, - "nativeSrc": "4204:67:6", + "nativeSrc": "4204:67:19", "nodeType": "YulExpressionStatement", - "src": "4204:67:6" + "src": "4204:67:19" }, { - "nativeSrc": "4288:30:6", + "nativeSrc": "4288:30:19", "nodeType": "YulAssignment", - "src": "4288:30:6", + "src": "4288:30:19", "value": { "arguments": [ { "name": "resultPtr", - "nativeSrc": "4305:9:6", + "nativeSrc": "4305:9:19", "nodeType": "YulIdentifier", - "src": "4305:9:6" + "src": "4305:9:19" }, { "kind": "number", - "nativeSrc": "4316:1:6", + "nativeSrc": "4316:1:19", "nodeType": "YulLiteral", - "src": "4316:1:6", + "src": "4316:1:19", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "4301:3:6", + "nativeSrc": "4301:3:19", "nodeType": "YulIdentifier", - "src": "4301:3:6" + "src": "4301:3:19" }, - "nativeSrc": "4301:17:6", + "nativeSrc": "4301:17:19", "nodeType": "YulFunctionCall", - "src": "4301:17:6" + "src": "4301:17:19" }, "variableNames": [ { "name": "resultPtr", - "nativeSrc": "4288:9:6", + "nativeSrc": "4288:9:19", "nodeType": "YulIdentifier", - "src": "4288:9:6" + "src": "4288:9:19" } ] }, @@ -56767,9 +75742,9 @@ "arguments": [ { "name": "resultPtr", - "nativeSrc": "4355:9:6", + "nativeSrc": "4355:9:19", "nodeType": "YulIdentifier", - "src": "4355:9:6" + "src": "4355:9:19" }, { "arguments": [ @@ -56777,9 +75752,9 @@ "arguments": [ { "name": "tablePtr", - "nativeSrc": "4376:8:6", + "nativeSrc": "4376:8:19", "nodeType": "YulIdentifier", - "src": "4376:8:6" + "src": "4376:8:19" }, { "arguments": [ @@ -56787,122 +75762,122 @@ "arguments": [ { "kind": "number", - "nativeSrc": "4394:1:6", + "nativeSrc": "4394:1:19", "nodeType": "YulLiteral", - "src": "4394:1:6", + "src": "4394:1:19", "type": "", "value": "6" }, { "name": "input", - "nativeSrc": "4397:5:6", + "nativeSrc": "4397:5:19", "nodeType": "YulIdentifier", - "src": "4397:5:6" + "src": "4397:5:19" } ], "functionName": { "name": "shr", - "nativeSrc": "4390:3:6", + "nativeSrc": "4390:3:19", "nodeType": "YulIdentifier", - "src": "4390:3:6" + "src": "4390:3:19" }, - "nativeSrc": "4390:13:6", + "nativeSrc": "4390:13:19", "nodeType": "YulFunctionCall", - "src": "4390:13:6" + "src": "4390:13:19" }, { "kind": "number", - "nativeSrc": "4405:4:6", + "nativeSrc": "4405:4:19", "nodeType": "YulLiteral", - "src": "4405:4:6", + "src": "4405:4:19", "type": "", "value": "0x3F" } ], "functionName": { "name": "and", - "nativeSrc": "4386:3:6", + "nativeSrc": "4386:3:19", "nodeType": "YulIdentifier", - "src": "4386:3:6" + "src": "4386:3:19" }, - "nativeSrc": "4386:24:6", + "nativeSrc": "4386:24:19", "nodeType": "YulFunctionCall", - "src": "4386:24:6" + "src": "4386:24:19" } ], "functionName": { "name": "add", - "nativeSrc": "4372:3:6", + "nativeSrc": "4372:3:19", "nodeType": "YulIdentifier", - "src": "4372:3:6" + "src": "4372:3:19" }, - "nativeSrc": "4372:39:6", + "nativeSrc": "4372:39:19", "nodeType": "YulFunctionCall", - "src": "4372:39:6" + "src": "4372:39:19" } ], "functionName": { "name": "mload", - "nativeSrc": "4366:5:6", + "nativeSrc": "4366:5:19", "nodeType": "YulIdentifier", - "src": "4366:5:6" + "src": "4366:5:19" }, - "nativeSrc": "4366:46:6", + "nativeSrc": "4366:46:19", "nodeType": "YulFunctionCall", - "src": "4366:46:6" + "src": "4366:46:19" } ], "functionName": { "name": "mstore8", - "nativeSrc": "4347:7:6", + "nativeSrc": "4347:7:19", "nodeType": "YulIdentifier", - "src": "4347:7:6" + "src": "4347:7:19" }, - "nativeSrc": "4347:66:6", + "nativeSrc": "4347:66:19", "nodeType": "YulFunctionCall", - "src": "4347:66:6" + "src": "4347:66:19" }, - "nativeSrc": "4347:66:6", + "nativeSrc": "4347:66:19", "nodeType": "YulExpressionStatement", - "src": "4347:66:6" + "src": "4347:66:19" }, { - "nativeSrc": "4430:30:6", + "nativeSrc": "4430:30:19", "nodeType": "YulAssignment", - "src": "4430:30:6", + "src": "4430:30:19", "value": { "arguments": [ { "name": "resultPtr", - "nativeSrc": "4447:9:6", + "nativeSrc": "4447:9:19", "nodeType": "YulIdentifier", - "src": "4447:9:6" + "src": "4447:9:19" }, { "kind": "number", - "nativeSrc": "4458:1:6", + "nativeSrc": "4458:1:19", "nodeType": "YulLiteral", - "src": "4458:1:6", + "src": "4458:1:19", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "4443:3:6", + "nativeSrc": "4443:3:19", "nodeType": "YulIdentifier", - "src": "4443:3:6" + "src": "4443:3:19" }, - "nativeSrc": "4443:17:6", + "nativeSrc": "4443:17:19", "nodeType": "YulFunctionCall", - "src": "4443:17:6" + "src": "4443:17:19" }, "variableNames": [ { "name": "resultPtr", - "nativeSrc": "4430:9:6", + "nativeSrc": "4430:9:19", "nodeType": "YulIdentifier", - "src": "4430:9:6" + "src": "4430:9:19" } ] }, @@ -56911,9 +75886,9 @@ "arguments": [ { "name": "resultPtr", - "nativeSrc": "4497:9:6", + "nativeSrc": "4497:9:19", "nodeType": "YulIdentifier", - "src": "4497:9:6" + "src": "4497:9:19" }, { "arguments": [ @@ -56921,111 +75896,111 @@ "arguments": [ { "name": "tablePtr", - "nativeSrc": "4518:8:6", + "nativeSrc": "4518:8:19", "nodeType": "YulIdentifier", - "src": "4518:8:6" + "src": "4518:8:19" }, { "arguments": [ { "name": "input", - "nativeSrc": "4532:5:6", + "nativeSrc": "4532:5:19", "nodeType": "YulIdentifier", - "src": "4532:5:6" + "src": "4532:5:19" }, { "kind": "number", - "nativeSrc": "4539:4:6", + "nativeSrc": "4539:4:19", "nodeType": "YulLiteral", - "src": "4539:4:6", + "src": "4539:4:19", "type": "", "value": "0x3F" } ], "functionName": { "name": "and", - "nativeSrc": "4528:3:6", + "nativeSrc": "4528:3:19", "nodeType": "YulIdentifier", - "src": "4528:3:6" + "src": "4528:3:19" }, - "nativeSrc": "4528:16:6", + "nativeSrc": "4528:16:19", "nodeType": "YulFunctionCall", - "src": "4528:16:6" + "src": "4528:16:19" } ], "functionName": { "name": "add", - "nativeSrc": "4514:3:6", + "nativeSrc": "4514:3:19", "nodeType": "YulIdentifier", - "src": "4514:3:6" + "src": "4514:3:19" }, - "nativeSrc": "4514:31:6", + "nativeSrc": "4514:31:19", "nodeType": "YulFunctionCall", - "src": "4514:31:6" + "src": "4514:31:19" } ], "functionName": { "name": "mload", - "nativeSrc": "4508:5:6", + "nativeSrc": "4508:5:19", "nodeType": "YulIdentifier", - "src": "4508:5:6" + "src": "4508:5:19" }, - "nativeSrc": "4508:38:6", + "nativeSrc": "4508:38:19", "nodeType": "YulFunctionCall", - "src": "4508:38:6" + "src": "4508:38:19" } ], "functionName": { "name": "mstore8", - "nativeSrc": "4489:7:6", + "nativeSrc": "4489:7:19", "nodeType": "YulIdentifier", - "src": "4489:7:6" + "src": "4489:7:19" }, - "nativeSrc": "4489:58:6", + "nativeSrc": "4489:58:19", "nodeType": "YulFunctionCall", - "src": "4489:58:6" + "src": "4489:58:19" }, - "nativeSrc": "4489:58:6", + "nativeSrc": "4489:58:19", "nodeType": "YulExpressionStatement", - "src": "4489:58:6" + "src": "4489:58:19" }, { - "nativeSrc": "4564:30:6", + "nativeSrc": "4564:30:19", "nodeType": "YulAssignment", - "src": "4564:30:6", + "src": "4564:30:19", "value": { "arguments": [ { "name": "resultPtr", - "nativeSrc": "4581:9:6", + "nativeSrc": "4581:9:19", "nodeType": "YulIdentifier", - "src": "4581:9:6" + "src": "4581:9:19" }, { "kind": "number", - "nativeSrc": "4592:1:6", + "nativeSrc": "4592:1:19", "nodeType": "YulLiteral", - "src": "4592:1:6", + "src": "4592:1:19", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "4577:3:6", + "nativeSrc": "4577:3:19", "nodeType": "YulIdentifier", - "src": "4577:3:6" + "src": "4577:3:19" }, - "nativeSrc": "4577:17:6", + "nativeSrc": "4577:17:19", "nodeType": "YulFunctionCall", - "src": "4577:17:6" + "src": "4577:17:19" }, "variableNames": [ { "name": "resultPtr", - "nativeSrc": "4564:9:6", + "nativeSrc": "4564:9:19", "nodeType": "YulIdentifier", - "src": "4564:9:6" + "src": "4564:9:19" } ] } @@ -57035,86 +76010,86 @@ "arguments": [ { "name": "dataPtr", - "nativeSrc": "3384:7:6", + "nativeSrc": "3384:7:19", "nodeType": "YulIdentifier", - "src": "3384:7:6" + "src": "3384:7:19" }, { "name": "endPtr", - "nativeSrc": "3393:6:6", + "nativeSrc": "3393:6:19", "nodeType": "YulIdentifier", - "src": "3393:6:6" + "src": "3393:6:19" } ], "functionName": { "name": "lt", - "nativeSrc": "3381:2:6", + "nativeSrc": "3381:2:19", "nodeType": "YulIdentifier", - "src": "3381:2:6" + "src": "3381:2:19" }, - "nativeSrc": "3381:19:6", + "nativeSrc": "3381:19:19", "nodeType": "YulFunctionCall", - "src": "3381:19:6" + "src": "3381:19:19" }, - "nativeSrc": "3360:1259:6", + "nativeSrc": "3360:1259:19", "nodeType": "YulForLoop", "post": { - "nativeSrc": "3401:16:6", + "nativeSrc": "3401:16:19", "nodeType": "YulBlock", - "src": "3401:16:6", + "src": "3401:16:19", "statements": [] }, "pre": { - "nativeSrc": "3364:16:6", + "nativeSrc": "3364:16:19", "nodeType": "YulBlock", - "src": "3364:16:6", + "src": "3364:16:19", "statements": [] }, - "src": "3360:1259:6" + "src": "3360:1259:19" }, { "expression": { "arguments": [ { "name": "afterPtr", - "nativeSrc": "4687:8:6", + "nativeSrc": "4687:8:19", "nodeType": "YulIdentifier", - "src": "4687:8:6" + "src": "4687:8:19" }, { "name": "afterCache", - "nativeSrc": "4697:10:6", + "nativeSrc": "4697:10:19", "nodeType": "YulIdentifier", - "src": "4697:10:6" + "src": "4697:10:19" } ], "functionName": { "name": "mstore", - "nativeSrc": "4680:6:6", + "nativeSrc": "4680:6:19", "nodeType": "YulIdentifier", - "src": "4680:6:6" + "src": "4680:6:19" }, - "nativeSrc": "4680:28:6", + "nativeSrc": "4680:28:19", "nodeType": "YulFunctionCall", - "src": "4680:28:6" + "src": "4680:28:19" }, - "nativeSrc": "4680:28:6", + "nativeSrc": "4680:28:19", "nodeType": "YulExpressionStatement", - "src": "4680:28:6" + "src": "4680:28:19" }, { "body": { - "nativeSrc": "4737:431:6", + "nativeSrc": "4737:431:19", "nodeType": "YulBlock", - "src": "4737:431:6", + "src": "4737:431:19", "statements": [ { "cases": [ { "body": { - "nativeSrc": "4933:125:6", + "nativeSrc": "4933:125:19", "nodeType": "YulBlock", - "src": "4933:125:6", + "src": "4933:125:19", "statements": [ { "expression": { @@ -57123,51 +76098,51 @@ "arguments": [ { "name": "resultPtr", - "nativeSrc": "4967:9:6", + "nativeSrc": "4967:9:19", "nodeType": "YulIdentifier", - "src": "4967:9:6" + "src": "4967:9:19" }, { "kind": "number", - "nativeSrc": "4978:1:6", + "nativeSrc": "4978:1:19", "nodeType": "YulLiteral", - "src": "4978:1:6", + "src": "4978:1:19", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "4963:3:6", + "nativeSrc": "4963:3:19", "nodeType": "YulIdentifier", - "src": "4963:3:6" + "src": "4963:3:19" }, - "nativeSrc": "4963:17:6", + "nativeSrc": "4963:17:19", "nodeType": "YulFunctionCall", - "src": "4963:17:6" + "src": "4963:17:19" }, { "kind": "number", - "nativeSrc": "4982:4:6", + "nativeSrc": "4982:4:19", "nodeType": "YulLiteral", - "src": "4982:4:6", + "src": "4982:4:19", "type": "", "value": "0x3d" } ], "functionName": { "name": "mstore8", - "nativeSrc": "4955:7:6", + "nativeSrc": "4955:7:19", "nodeType": "YulIdentifier", - "src": "4955:7:6" + "src": "4955:7:19" }, - "nativeSrc": "4955:32:6", + "nativeSrc": "4955:32:19", "nodeType": "YulFunctionCall", - "src": "4955:32:6" + "src": "4955:32:19" }, - "nativeSrc": "4955:32:6", + "nativeSrc": "4955:32:19", "nodeType": "YulExpressionStatement", - "src": "4955:32:6" + "src": "4955:32:19" }, { "expression": { @@ -57176,71 +76151,71 @@ "arguments": [ { "name": "resultPtr", - "nativeSrc": "5020:9:6", + "nativeSrc": "5020:9:19", "nodeType": "YulIdentifier", - "src": "5020:9:6" + "src": "5020:9:19" }, { "kind": "number", - "nativeSrc": "5031:1:6", + "nativeSrc": "5031:1:19", "nodeType": "YulLiteral", - "src": "5031:1:6", + "src": "5031:1:19", "type": "", "value": "2" } ], "functionName": { "name": "sub", - "nativeSrc": "5016:3:6", + "nativeSrc": "5016:3:19", "nodeType": "YulIdentifier", - "src": "5016:3:6" + "src": "5016:3:19" }, - "nativeSrc": "5016:17:6", + "nativeSrc": "5016:17:19", "nodeType": "YulFunctionCall", - "src": "5016:17:6" + "src": "5016:17:19" }, { "kind": "number", - "nativeSrc": "5035:4:6", + "nativeSrc": "5035:4:19", "nodeType": "YulLiteral", - "src": "5035:4:6", + "src": "5035:4:19", "type": "", "value": "0x3d" } ], "functionName": { "name": "mstore8", - "nativeSrc": "5008:7:6", + "nativeSrc": "5008:7:19", "nodeType": "YulIdentifier", - "src": "5008:7:6" + "src": "5008:7:19" }, - "nativeSrc": "5008:32:6", + "nativeSrc": "5008:32:19", "nodeType": "YulFunctionCall", - "src": "5008:32:6" + "src": "5008:32:19" }, - "nativeSrc": "5008:32:6", + "nativeSrc": "5008:32:19", "nodeType": "YulExpressionStatement", - "src": "5008:32:6" + "src": "5008:32:19" } ] }, - "nativeSrc": "4926:132:6", + "nativeSrc": "4926:132:19", "nodeType": "YulCase", - "src": "4926:132:6", + "src": "4926:132:19", "value": { "kind": "number", - "nativeSrc": "4931:1:6", + "nativeSrc": "4931:1:19", "nodeType": "YulLiteral", - "src": "4931:1:6", + "src": "4931:1:19", "type": "", "value": "1" } }, { "body": { - "nativeSrc": "5082:72:6", + "nativeSrc": "5082:72:19", "nodeType": "YulBlock", - "src": "5082:72:6", + "src": "5082:72:19", "statements": [ { "expression": { @@ -57249,62 +76224,62 @@ "arguments": [ { "name": "resultPtr", - "nativeSrc": "5116:9:6", + "nativeSrc": "5116:9:19", "nodeType": "YulIdentifier", - "src": "5116:9:6" + "src": "5116:9:19" }, { "kind": "number", - "nativeSrc": "5127:1:6", + "nativeSrc": "5127:1:19", "nodeType": "YulLiteral", - "src": "5127:1:6", + "src": "5127:1:19", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "5112:3:6", + "nativeSrc": "5112:3:19", "nodeType": "YulIdentifier", - "src": "5112:3:6" + "src": "5112:3:19" }, - "nativeSrc": "5112:17:6", + "nativeSrc": "5112:17:19", "nodeType": "YulFunctionCall", - "src": "5112:17:6" + "src": "5112:17:19" }, { "kind": "number", - "nativeSrc": "5131:4:6", + "nativeSrc": "5131:4:19", "nodeType": "YulLiteral", - "src": "5131:4:6", + "src": "5131:4:19", "type": "", "value": "0x3d" } ], "functionName": { "name": "mstore8", - "nativeSrc": "5104:7:6", + "nativeSrc": "5104:7:19", "nodeType": "YulIdentifier", - "src": "5104:7:6" + "src": "5104:7:19" }, - "nativeSrc": "5104:32:6", + "nativeSrc": "5104:32:19", "nodeType": "YulFunctionCall", - "src": "5104:32:6" + "src": "5104:32:19" }, - "nativeSrc": "5104:32:6", + "nativeSrc": "5104:32:19", "nodeType": "YulExpressionStatement", - "src": "5104:32:6" + "src": "5104:32:19" } ] }, - "nativeSrc": "5075:79:6", + "nativeSrc": "5075:79:19", "nodeType": "YulCase", - "src": "5075:79:6", + "src": "5075:79:19", "value": { "kind": "number", - "nativeSrc": "5080:1:6", + "nativeSrc": "5080:1:19", "nodeType": "YulLiteral", - "src": "5080:1:6", + "src": "5080:1:19", "type": "", "value": "2" } @@ -57316,163 +76291,163 @@ "arguments": [ { "name": "data", - "nativeSrc": "4900:4:6", + "nativeSrc": "4900:4:19", "nodeType": "YulIdentifier", - "src": "4900:4:6" + "src": "4900:4:19" } ], "functionName": { "name": "mload", - "nativeSrc": "4894:5:6", + "nativeSrc": "4894:5:19", "nodeType": "YulIdentifier", - "src": "4894:5:6" + "src": "4894:5:19" }, - "nativeSrc": "4894:11:6", + "nativeSrc": "4894:11:19", "nodeType": "YulFunctionCall", - "src": "4894:11:6" + "src": "4894:11:19" }, { "kind": "number", - "nativeSrc": "4907:1:6", + "nativeSrc": "4907:1:19", "nodeType": "YulLiteral", - "src": "4907:1:6", + "src": "4907:1:19", "type": "", "value": "3" } ], "functionName": { "name": "mod", - "nativeSrc": "4890:3:6", + "nativeSrc": "4890:3:19", "nodeType": "YulIdentifier", - "src": "4890:3:6" + "src": "4890:3:19" }, - "nativeSrc": "4890:19:6", + "nativeSrc": "4890:19:19", "nodeType": "YulFunctionCall", - "src": "4890:19:6" + "src": "4890:19:19" }, - "nativeSrc": "4883:271:6", + "nativeSrc": "4883:271:19", "nodeType": "YulSwitch", - "src": "4883:271:6" + "src": "4883:271:19" } ] }, "condition": { "name": "withPadding", - "nativeSrc": "4725:11:6", + "nativeSrc": "4725:11:19", "nodeType": "YulIdentifier", - "src": "4725:11:6" + "src": "4725:11:19" }, - "nativeSrc": "4722:446:6", + "nativeSrc": "4722:446:19", "nodeType": "YulIf", - "src": "4722:446:6" + "src": "4722:446:19" } ] }, "evmVersion": "paris", "externalReferences": [ { - "declaration": 2341, + "declaration": 3947, "isOffset": false, "isSlot": false, - "src": "2912:4:6", + "src": "2912:4:19", "valueSize": 1 }, { - "declaration": 2341, + "declaration": 3947, "isOffset": false, "isSlot": false, - "src": "2947:4:6", + "src": "2947:4:19", "valueSize": 1 }, { - "declaration": 2341, + "declaration": 3947, "isOffset": false, "isSlot": false, - "src": "2959:4:6", + "src": "2959:4:19", "valueSize": 1 }, { - "declaration": 2341, + "declaration": 3947, "isOffset": false, "isSlot": false, - "src": "4900:4:6", + "src": "4900:4:19", "valueSize": 1 }, { - "declaration": 2382, + "declaration": 3988, "isOffset": false, "isSlot": false, - "src": "2871:6:6", + "src": "2871:6:19", "valueSize": 1 }, { - "declaration": 2343, + "declaration": 3949, "isOffset": false, "isSlot": false, - "src": "2771:5:6", + "src": "2771:5:19", "valueSize": 1 }, { - "declaration": 2345, + "declaration": 3951, "isOffset": false, "isSlot": false, - "src": "4725:11:6", + "src": "4725:11:19", "valueSize": 1 } ], "flags": [ "memory-safe" ], - "id": 2388, + "id": 3994, "nodeType": "InlineAssembly", - "src": "2641:2537:6" + "src": "2641:2537:19" }, { "expression": { - "id": 2389, + "id": 3995, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2382, - "src": "5195:6:6", + "referencedDeclaration": 3988, + "src": "5195:6:19", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "functionReturnParameters": 2349, - "id": 2390, + "functionReturnParameters": 3955, + "id": 3996, "nodeType": "Return", - "src": "5188:13:6" + "src": "5188:13:19" } ] }, "documentation": { - "id": 2339, + "id": 3945, "nodeType": "StructuredDocumentation", - "src": "1123:58:6", + "src": "1123:58:19", "text": " @dev Internal table-agnostic conversion" }, - "id": 2392, + "id": 3998, "implemented": true, "kind": "function", "modifiers": [], "name": "_encode", - "nameLocation": "1195:7:6", + "nameLocation": "1195:7:19", "nodeType": "FunctionDefinition", "parameters": { - "id": 2346, + "id": 3952, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2341, + "id": 3947, "mutability": "mutable", "name": "data", - "nameLocation": "1216:4:6", + "nameLocation": "1216:4:19", "nodeType": "VariableDeclaration", - "scope": 2392, - "src": "1203:17:6", + "scope": 3998, + "src": "1203:17:19", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -57480,10 +76455,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2340, + "id": 3946, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1203:5:6", + "src": "1203:5:19", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -57493,13 +76468,13 @@ }, { "constant": false, - "id": 2343, + "id": 3949, "mutability": "mutable", "name": "table", - "nameLocation": "1236:5:6", + "nameLocation": "1236:5:19", "nodeType": "VariableDeclaration", - "scope": 2392, - "src": "1222:19:6", + "scope": 3998, + "src": "1222:19:19", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -57507,10 +76482,10 @@ "typeString": "string" }, "typeName": { - "id": 2342, + "id": 3948, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1222:6:6", + "src": "1222:6:19", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -57520,13 +76495,13 @@ }, { "constant": false, - "id": 2345, + "id": 3951, "mutability": "mutable", "name": "withPadding", - "nameLocation": "1248:11:6", + "nameLocation": "1248:11:19", "nodeType": "VariableDeclaration", - "scope": 2392, - "src": "1243:16:6", + "scope": 3998, + "src": "1243:16:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -57534,10 +76509,10 @@ "typeString": "bool" }, "typeName": { - "id": 2344, + "id": 3950, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1243:4:6", + "src": "1243:4:19", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -57546,21 +76521,21 @@ "visibility": "internal" } ], - "src": "1202:58:6" + "src": "1202:58:19" }, "returnParameters": { - "id": 2349, + "id": 3955, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2348, + "id": 3954, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2392, - "src": "1283:13:6", + "scope": 3998, + "src": "1283:13:19", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -57568,10 +76543,10 @@ "typeString": "string" }, "typeName": { - "id": 2347, + "id": 3953, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1283:6:6", + "src": "1283:6:19", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -57580,39 +76555,39 @@ "visibility": "internal" } ], - "src": "1282:15:6" + "src": "1282:15:19" }, - "scope": 2393, - "src": "1186:4022:6", + "scope": 3999, + "src": "1186:4022:19", "stateMutability": "pure", "virtual": false, "visibility": "private" } ], - "scope": 2394, - "src": "202:5008:6", + "scope": 4000, + "src": "202:5008:19", "usedErrors": [], "usedEvents": [] } ], - "src": "100:5111:6" + "src": "100:5111:19" }, - "id": 6 + "id": 19 }, "solady/accounts/Receiver.sol": { "ast": { "absolutePath": "solady/accounts/Receiver.sol", "exportedSymbols": { "Receiver": [ - 2448 + 4054 ] }, - "id": 2449, + "id": 4055, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 2395, + "id": 4001, "literals": [ "solidity", "^", @@ -57620,7 +76595,7 @@ ".4" ], "nodeType": "PragmaDirective", - "src": "32:23:7" + "src": "32:23:20" }, { "abstract": true, @@ -57629,54 +76604,54 @@ "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 2396, + "id": 4002, "nodeType": "StructuredDocumentation", - "src": "57:374:7", + "src": "57:374:20", "text": "@notice Receiver mixin for ETH and safe-transferred ERC721 and ERC1155 tokens.\n @author Solady (https://github.com/Vectorized/solady/blob/main/src/accounts/Receiver.sol)\n @dev Note:\n - Handles all ERC721 and ERC1155 token safety callbacks.\n - Collapses function table gas overhead and code size.\n - Utilizes fallback so unknown calldata will pass on." }, "fullyImplemented": true, - "id": 2448, + "id": 4054, "linearizedBaseContracts": [ - 2448 + 4054 ], "name": "Receiver", - "nameLocation": "449:8:7", + "nameLocation": "449:8:20", "nodeType": "ContractDefinition", "nodes": [ { "documentation": { - "id": 2397, + "id": 4003, "nodeType": "StructuredDocumentation", - "src": "747:49:7", + "src": "747:49:20", "text": "@dev The function selector is not recognized." }, "errorSelector": "3c10b94e", - "id": 2399, + "id": 4005, "name": "FnSelectorNotRecognized", - "nameLocation": "807:23:7", + "nameLocation": "807:23:20", "nodeType": "ErrorDefinition", "parameters": { - "id": 2398, + "id": 4004, "nodeType": "ParameterList", "parameters": [], - "src": "830:2:7" + "src": "830:2:20" }, - "src": "801:32:7" + "src": "801:32:20" }, { "body": { - "id": 2403, + "id": 4009, "nodeType": "Block", - "src": "1189:2:7", + "src": "1189:2:20", "statements": [] }, "documentation": { - "id": 2400, + "id": 4006, "nodeType": "StructuredDocumentation", - "src": "1122:27:7", + "src": "1122:27:20", "text": "@dev For receiving ETH." }, - "id": 2404, + "id": 4010, "implemented": true, "kind": "receive", "modifiers": [], @@ -57684,185 +76659,185 @@ "nameLocation": "-1:-1:-1", "nodeType": "FunctionDefinition", "parameters": { - "id": 2401, + "id": 4007, "nodeType": "ParameterList", "parameters": [], - "src": "1161:2:7" + "src": "1161:2:20" }, "returnParameters": { - "id": 2402, + "id": 4008, "nodeType": "ParameterList", "parameters": [], - "src": "1189:0:7" + "src": "1189:0:20" }, - "scope": 2448, - "src": "1154:37:7", + "scope": 4054, + "src": "1154:37:20", "stateMutability": "payable", "virtual": true, "visibility": "external" }, { "body": { - "id": 2411, + "id": 4017, "nodeType": "Block", - "src": "1319:179:7", + "src": "1319:179:20", "statements": [ { "AST": { - "nativeSrc": "1381:111:7", + "nativeSrc": "1381:111:20", "nodeType": "YulBlock", - "src": "1381:111:7", + "src": "1381:111:20", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "1402:4:7", + "nativeSrc": "1402:4:20", "nodeType": "YulLiteral", - "src": "1402:4:7", + "src": "1402:4:20", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "1408:10:7", + "nativeSrc": "1408:10:20", "nodeType": "YulLiteral", - "src": "1408:10:7", + "src": "1408:10:20", "type": "", "value": "0x3c10b94e" } ], "functionName": { "name": "mstore", - "nativeSrc": "1395:6:7", + "nativeSrc": "1395:6:20", "nodeType": "YulIdentifier", - "src": "1395:6:7" + "src": "1395:6:20" }, - "nativeSrc": "1395:24:7", + "nativeSrc": "1395:24:20", "nodeType": "YulFunctionCall", - "src": "1395:24:7" + "src": "1395:24:20" }, - "nativeSrc": "1395:24:7", + "nativeSrc": "1395:24:20", "nodeType": "YulExpressionStatement", - "src": "1395:24:7" + "src": "1395:24:20" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "1471:4:7", + "nativeSrc": "1471:4:20", "nodeType": "YulLiteral", - "src": "1471:4:7", + "src": "1471:4:20", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "1477:4:7", + "nativeSrc": "1477:4:20", "nodeType": "YulLiteral", - "src": "1477:4:7", + "src": "1477:4:20", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "1464:6:7", + "nativeSrc": "1464:6:20", "nodeType": "YulIdentifier", - "src": "1464:6:7" + "src": "1464:6:20" }, - "nativeSrc": "1464:18:7", + "nativeSrc": "1464:18:20", "nodeType": "YulFunctionCall", - "src": "1464:18:7" + "src": "1464:18:20" }, - "nativeSrc": "1464:18:7", + "nativeSrc": "1464:18:20", "nodeType": "YulExpressionStatement", - "src": "1464:18:7" + "src": "1464:18:20" } ] }, "documentation": "@solidity memory-safe-assembly", "evmVersion": "paris", "externalReferences": [], - "id": 2410, + "id": 4016, "nodeType": "InlineAssembly", - "src": "1372:120:7" + "src": "1372:120:20" } ] }, "documentation": { - "id": 2405, + "id": 4011, "nodeType": "StructuredDocumentation", - "src": "1197:64:7", + "src": "1197:64:20", "text": "@dev Fallback function with the `receiverFallback` modifier." }, - "id": 2412, + "id": 4018, "implemented": true, "kind": "fallback", "modifiers": [ { - "id": 2408, + "id": 4014, "kind": "modifierInvocation", "modifierName": { - "id": 2407, + "id": 4013, "name": "receiverFallback", "nameLocations": [ - "1302:16:7" + "1302:16:20" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 2428, - "src": "1302:16:7" + "referencedDeclaration": 4034, + "src": "1302:16:20" }, "nodeType": "ModifierInvocation", - "src": "1302:16:7" + "src": "1302:16:20" } ], "name": "", "nameLocation": "-1:-1:-1", "nodeType": "FunctionDefinition", "parameters": { - "id": 2406, + "id": 4012, "nodeType": "ParameterList", "parameters": [], - "src": "1274:2:7" + "src": "1274:2:20" }, "returnParameters": { - "id": 2409, + "id": 4015, "nodeType": "ParameterList", "parameters": [], - "src": "1319:0:7" + "src": "1319:0:20" }, - "scope": 2448, - "src": "1266:232:7", + "scope": 4054, + "src": "1266:232:20", "stateMutability": "payable", "virtual": true, "visibility": "external" }, { "body": { - "id": 2427, + "id": 4033, "nodeType": "Block", - "src": "1615:870:7", + "src": "1615:870:20", "statements": [ { "expression": { "arguments": [], "expression": { "argumentTypes": [], - "id": 2415, + "id": 4021, "name": "_beforeReceiverFallbackBody", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2442, - "src": "1625:27:7", + "referencedDeclaration": 4048, + "src": "1625:27:20", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 2416, + "id": 4022, "isConstant": false, "isLValue": false, "isPure": false, @@ -57871,34 +76846,34 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1625:29:7", + "src": "1625:29:20", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2417, + "id": 4023, "nodeType": "ExpressionStatement", - "src": "1625:29:7" + "src": "1625:29:20" }, { "condition": { "arguments": [], "expression": { "argumentTypes": [], - "id": 2418, + "id": 4024, "name": "_useReceiverFallbackBody", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2437, - "src": "1668:24:7", + "referencedDeclaration": 4043, + "src": "1668:24:20", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", "typeString": "function () view returns (bool)" } }, - "id": 2419, + "id": 4025, "isConstant": false, "isLValue": false, "isPure": false, @@ -57907,38 +76882,38 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1668:26:7", + "src": "1668:26:20", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 2422, + "id": 4028, "nodeType": "IfStatement", - "src": "1664:766:7", + "src": "1664:766:20", "trueBody": { - "id": 2421, + "id": 4027, "nodeType": "Block", - "src": "1696:734:7", + "src": "1696:734:20", "statements": [ { "AST": { - "nativeSrc": "1766:654:7", + "nativeSrc": "1766:654:20", "nodeType": "YulBlock", - "src": "1766:654:7", + "src": "1766:654:20", "statements": [ { - "nativeSrc": "1784:34:7", + "nativeSrc": "1784:34:20", "nodeType": "YulVariableDeclaration", - "src": "1784:34:7", + "src": "1784:34:20", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "1797:3:7", + "nativeSrc": "1797:3:20", "nodeType": "YulLiteral", - "src": "1797:3:7", + "src": "1797:3:20", "type": "", "value": "224" }, @@ -57946,115 +76921,115 @@ "arguments": [ { "kind": "number", - "nativeSrc": "1815:1:7", + "nativeSrc": "1815:1:20", "nodeType": "YulLiteral", - "src": "1815:1:7", + "src": "1815:1:20", "type": "", "value": "0" } ], "functionName": { "name": "calldataload", - "nativeSrc": "1802:12:7", + "nativeSrc": "1802:12:20", "nodeType": "YulIdentifier", - "src": "1802:12:7" + "src": "1802:12:20" }, - "nativeSrc": "1802:15:7", + "nativeSrc": "1802:15:20", "nodeType": "YulFunctionCall", - "src": "1802:15:7" + "src": "1802:15:20" } ], "functionName": { "name": "shr", - "nativeSrc": "1793:3:7", + "nativeSrc": "1793:3:20", "nodeType": "YulIdentifier", - "src": "1793:3:7" + "src": "1793:3:20" }, - "nativeSrc": "1793:25:7", + "nativeSrc": "1793:25:20", "nodeType": "YulFunctionCall", - "src": "1793:25:7" + "src": "1793:25:20" }, "variables": [ { "name": "s", - "nativeSrc": "1788:1:7", + "nativeSrc": "1788:1:20", "nodeType": "YulTypedName", - "src": "1788:1:7", + "src": "1788:1:20", "type": "" } ] }, { "body": { - "nativeSrc": "2175:231:7", + "nativeSrc": "2175:231:20", "nodeType": "YulBlock", - "src": "2175:231:7", + "src": "2175:231:20", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "2300:4:7", + "nativeSrc": "2300:4:20", "nodeType": "YulLiteral", - "src": "2300:4:7", + "src": "2300:4:20", "type": "", "value": "0x20" }, { "name": "s", - "nativeSrc": "2306:1:7", + "nativeSrc": "2306:1:20", "nodeType": "YulIdentifier", - "src": "2306:1:7" + "src": "2306:1:20" } ], "functionName": { "name": "mstore", - "nativeSrc": "2293:6:7", + "nativeSrc": "2293:6:20", "nodeType": "YulIdentifier", - "src": "2293:6:7" + "src": "2293:6:20" }, - "nativeSrc": "2293:15:7", + "nativeSrc": "2293:15:20", "nodeType": "YulFunctionCall", - "src": "2293:15:7" + "src": "2293:15:20" }, - "nativeSrc": "2293:15:7", + "nativeSrc": "2293:15:20", "nodeType": "YulExpressionStatement", - "src": "2293:15:7" + "src": "2293:15:20" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "2356:4:7", + "nativeSrc": "2356:4:20", "nodeType": "YulLiteral", - "src": "2356:4:7", + "src": "2356:4:20", "type": "", "value": "0x3c" }, { "kind": "number", - "nativeSrc": "2362:4:7", + "nativeSrc": "2362:4:20", "nodeType": "YulLiteral", - "src": "2362:4:7", + "src": "2362:4:20", "type": "", "value": "0x20" } ], "functionName": { "name": "return", - "nativeSrc": "2349:6:7", + "nativeSrc": "2349:6:20", "nodeType": "YulIdentifier", - "src": "2349:6:7" + "src": "2349:6:20" }, - "nativeSrc": "2349:18:7", + "nativeSrc": "2349:18:20", "nodeType": "YulFunctionCall", - "src": "2349:18:7" + "src": "2349:18:20" }, - "nativeSrc": "2349:18:7", + "nativeSrc": "2349:18:20", "nodeType": "YulExpressionStatement", - "src": "2349:18:7" + "src": "2349:18:20" } ] }, @@ -58064,28 +77039,28 @@ "arguments": [ { "name": "s", - "nativeSrc": "2117:1:7", + "nativeSrc": "2117:1:20", "nodeType": "YulIdentifier", - "src": "2117:1:7" + "src": "2117:1:20" }, { "kind": "number", - "nativeSrc": "2120:10:7", + "nativeSrc": "2120:10:20", "nodeType": "YulLiteral", - "src": "2120:10:7", + "src": "2120:10:20", "type": "", "value": "0x150b7a02" } ], "functionName": { "name": "eq", - "nativeSrc": "2114:2:7", + "nativeSrc": "2114:2:20", "nodeType": "YulIdentifier", - "src": "2114:2:7" + "src": "2114:2:20" }, - "nativeSrc": "2114:17:7", + "nativeSrc": "2114:17:20", "nodeType": "YulFunctionCall", - "src": "2114:17:7" + "src": "2114:17:20" }, { "arguments": [ @@ -58093,90 +77068,90 @@ "arguments": [ { "name": "s", - "nativeSrc": "2139:1:7", + "nativeSrc": "2139:1:20", "nodeType": "YulIdentifier", - "src": "2139:1:7" + "src": "2139:1:20" }, { "kind": "number", - "nativeSrc": "2142:10:7", + "nativeSrc": "2142:10:20", "nodeType": "YulLiteral", - "src": "2142:10:7", + "src": "2142:10:20", "type": "", "value": "0xf23a6e61" } ], "functionName": { "name": "eq", - "nativeSrc": "2136:2:7", + "nativeSrc": "2136:2:20", "nodeType": "YulIdentifier", - "src": "2136:2:7" + "src": "2136:2:20" }, - "nativeSrc": "2136:17:7", + "nativeSrc": "2136:17:20", "nodeType": "YulFunctionCall", - "src": "2136:17:7" + "src": "2136:17:20" }, { "arguments": [ { "name": "s", - "nativeSrc": "2158:1:7", + "nativeSrc": "2158:1:20", "nodeType": "YulIdentifier", - "src": "2158:1:7" + "src": "2158:1:20" }, { "kind": "number", - "nativeSrc": "2161:10:7", + "nativeSrc": "2161:10:20", "nodeType": "YulLiteral", - "src": "2161:10:7", + "src": "2161:10:20", "type": "", "value": "0xbc197c81" } ], "functionName": { "name": "eq", - "nativeSrc": "2155:2:7", + "nativeSrc": "2155:2:20", "nodeType": "YulIdentifier", - "src": "2155:2:7" + "src": "2155:2:20" }, - "nativeSrc": "2155:17:7", + "nativeSrc": "2155:17:20", "nodeType": "YulFunctionCall", - "src": "2155:17:7" + "src": "2155:17:20" } ], "functionName": { "name": "or", - "nativeSrc": "2133:2:7", + "nativeSrc": "2133:2:20", "nodeType": "YulIdentifier", - "src": "2133:2:7" + "src": "2133:2:20" }, - "nativeSrc": "2133:40:7", + "nativeSrc": "2133:40:20", "nodeType": "YulFunctionCall", - "src": "2133:40:7" + "src": "2133:40:20" } ], "functionName": { "name": "or", - "nativeSrc": "2111:2:7", + "nativeSrc": "2111:2:20", "nodeType": "YulIdentifier", - "src": "2111:2:7" + "src": "2111:2:20" }, - "nativeSrc": "2111:63:7", + "nativeSrc": "2111:63:20", "nodeType": "YulFunctionCall", - "src": "2111:63:7" + "src": "2111:63:20" }, - "nativeSrc": "2108:298:7", + "nativeSrc": "2108:298:20", "nodeType": "YulIf", - "src": "2108:298:7" + "src": "2108:298:20" } ] }, "documentation": "@solidity memory-safe-assembly", "evmVersion": "paris", "externalReferences": [], - "id": 2420, + "id": 4026, "nodeType": "InlineAssembly", - "src": "1757:663:7" + "src": "1757:663:20" } ] } @@ -58186,18 +77161,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 2423, + "id": 4029, "name": "_afterReceiverFallbackBody", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2447, - "src": "2439:26:7", + "referencedDeclaration": 4053, + "src": "2439:26:20", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 2424, + "id": 4030, "isConstant": false, "isLValue": false, "isPure": false, @@ -58206,106 +77181,106 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2439:28:7", + "src": "2439:28:20", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2425, + "id": 4031, "nodeType": "ExpressionStatement", - "src": "2439:28:7" + "src": "2439:28:20" }, { - "id": 2426, + "id": 4032, "nodeType": "PlaceholderStatement", - "src": "2477:1:7" + "src": "2477:1:20" } ] }, "documentation": { - "id": 2413, + "id": 4019, "nodeType": "StructuredDocumentation", - "src": "1504:70:7", + "src": "1504:70:20", "text": "@dev Modifier for the fallback function to handle token callbacks." }, - "id": 2428, + "id": 4034, "name": "receiverFallback", - "nameLocation": "1588:16:7", + "nameLocation": "1588:16:20", "nodeType": "ModifierDefinition", "parameters": { - "id": 2414, + "id": 4020, "nodeType": "ParameterList", "parameters": [], - "src": "1604:2:7" + "src": "1604:2:20" }, - "src": "1579:906:7", + "src": "1579:906:20", "virtual": true, "visibility": "internal" }, { "body": { - "id": 2436, + "id": 4042, "nodeType": "Block", - "src": "2645:28:7", + "src": "2645:28:20", "statements": [ { "expression": { "hexValue": "74727565", - "id": 2434, + "id": 4040, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "2662:4:7", + "src": "2662:4:20", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "functionReturnParameters": 2433, - "id": 2435, + "functionReturnParameters": 4039, + "id": 4041, "nodeType": "Return", - "src": "2655:11:7" + "src": "2655:11:20" } ] }, "documentation": { - "id": 2429, + "id": 4035, "nodeType": "StructuredDocumentation", - "src": "2491:76:7", + "src": "2491:76:20", "text": "@dev Whether we want to use the body of the `receiverFallback` modifier." }, - "id": 2437, + "id": 4043, "implemented": true, "kind": "function", "modifiers": [], "name": "_useReceiverFallbackBody", - "nameLocation": "2581:24:7", + "nameLocation": "2581:24:20", "nodeType": "FunctionDefinition", "parameters": { - "id": 2430, + "id": 4036, "nodeType": "ParameterList", "parameters": [], - "src": "2605:2:7" + "src": "2605:2:20" }, "returnParameters": { - "id": 2433, + "id": 4039, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2432, + "id": 4038, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2437, - "src": "2639:4:7", + "scope": 4043, + "src": "2639:4:20", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -58313,10 +77288,10 @@ "typeString": "bool" }, "typeName": { - "id": 2431, + "id": 4037, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2639:4:7", + "src": "2639:4:20", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -58325,117 +77300,117 @@ "visibility": "internal" } ], - "src": "2638:6:7" + "src": "2638:6:20" }, - "scope": 2448, - "src": "2572:101:7", + "scope": 4054, + "src": "2572:101:20", "stateMutability": "view", "virtual": true, "visibility": "internal" }, { "body": { - "id": 2441, + "id": 4047, "nodeType": "Block", - "src": "2807:2:7", + "src": "2807:2:20", "statements": [] }, "documentation": { - "id": 2438, + "id": 4044, "nodeType": "StructuredDocumentation", - "src": "2679:67:7", + "src": "2679:67:20", "text": "@dev Called before the body of the `receiverFallback` modifier." }, - "id": 2442, + "id": 4048, "implemented": true, "kind": "function", "modifiers": [], "name": "_beforeReceiverFallbackBody", - "nameLocation": "2760:27:7", + "nameLocation": "2760:27:20", "nodeType": "FunctionDefinition", "parameters": { - "id": 2439, + "id": 4045, "nodeType": "ParameterList", "parameters": [], - "src": "2787:2:7" + "src": "2787:2:20" }, "returnParameters": { - "id": 2440, + "id": 4046, "nodeType": "ParameterList", "parameters": [], - "src": "2807:0:7" + "src": "2807:0:20" }, - "scope": 2448, - "src": "2751:58:7", + "scope": 4054, + "src": "2751:58:20", "stateMutability": "nonpayable", "virtual": true, "visibility": "internal" }, { "body": { - "id": 2446, + "id": 4052, "nodeType": "Block", - "src": "2941:2:7", + "src": "2941:2:20", "statements": [] }, "documentation": { - "id": 2443, + "id": 4049, "nodeType": "StructuredDocumentation", - "src": "2815:66:7", + "src": "2815:66:20", "text": "@dev Called after the body of the `receiverFallback` modifier." }, - "id": 2447, + "id": 4053, "implemented": true, "kind": "function", "modifiers": [], "name": "_afterReceiverFallbackBody", - "nameLocation": "2895:26:7", + "nameLocation": "2895:26:20", "nodeType": "FunctionDefinition", "parameters": { - "id": 2444, + "id": 4050, "nodeType": "ParameterList", "parameters": [], - "src": "2921:2:7" + "src": "2921:2:20" }, "returnParameters": { - "id": 2445, + "id": 4051, "nodeType": "ParameterList", "parameters": [], - "src": "2941:0:7" + "src": "2941:0:20" }, - "scope": 2448, - "src": "2886:57:7", + "scope": 4054, + "src": "2886:57:20", "stateMutability": "nonpayable", "virtual": true, "visibility": "internal" } ], - "scope": 2449, - "src": "431:2514:7", + "scope": 4055, + "src": "431:2514:20", "usedErrors": [ - 2399 + 4005 ], "usedEvents": [] } ], - "src": "32:2914:7" + "src": "32:2914:20" }, - "id": 7 + "id": 20 }, "solady/utils/CallContextChecker.sol": { "ast": { "absolutePath": "solady/utils/CallContextChecker.sol", "exportedSymbols": { "CallContextChecker": [ - 2572 + 4178 ] }, - "id": 2573, + "id": 4179, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 2450, + "id": 4056, "literals": [ "solidity", "^", @@ -58443,7 +77418,7 @@ ".4" ], "nodeType": "PragmaDirective", - "src": "32:23:8" + "src": "32:23:21" }, { "abstract": false, @@ -58452,55 +77427,55 @@ "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 2451, + "id": 4057, "nodeType": "StructuredDocumentation", - "src": "57:141:8", + "src": "57:141:21", "text": "@notice Call context checker mixin.\n @author Solady (https://github.com/vectorized/solady/blob/main/src/utils/CallContextChecker.sol)" }, "fullyImplemented": true, - "id": 2572, + "id": 4178, "linearizedBaseContracts": [ - 2572 + 4178 ], "name": "CallContextChecker", - "nameLocation": "207:18:8", + "nameLocation": "207:18:21", "nodeType": "ContractDefinition", "nodes": [ { "documentation": { - "id": 2452, + "id": 4058, "nodeType": "StructuredDocumentation", - "src": "515:55:8", + "src": "515:55:21", "text": "@dev The call is from an unauthorized call context." }, "errorSelector": "9f03a026", - "id": 2454, + "id": 4060, "name": "UnauthorizedCallContext", - "nameLocation": "581:23:8", + "nameLocation": "581:23:21", "nodeType": "ErrorDefinition", "parameters": { - "id": 2453, + "id": 4059, "nodeType": "ParameterList", "parameters": [], - "src": "604:2:8" + "src": "604:2:21" }, - "src": "575:32:8" + "src": "575:32:21" }, { "constant": false, "documentation": { - "id": 2455, + "id": 4061, "nodeType": "StructuredDocumentation", - "src": "896:319:8", + "src": "896:319:21", "text": "@dev For checking if the context is a delegate call.\n Note: To enable use cases with an immutable default implementation in the bytecode,\n (see: ERC6551Proxy), we don't require that the proxy address must match the\n value stored in the implementation slot, which may not be initialized." }, - "id": 2467, + "id": 4073, "mutability": "immutable", "name": "__self", - "nameLocation": "1246:6:8", + "nameLocation": "1246:6:21", "nodeType": "VariableDeclaration", - "scope": 2572, - "src": "1220:66:8", + "scope": 4178, + "src": "1220:66:21", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -58508,10 +77483,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2456, + "id": 4062, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1220:7:8", + "src": "1220:7:21", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -58524,14 +77499,14 @@ { "arguments": [ { - "id": 2463, + "id": 4069, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, - "src": "1279:4:8", + "src": "1279:4:21", "typeDescriptions": { - "typeIdentifier": "t_contract$_CallContextChecker_$2572", + "typeIdentifier": "t_contract$_CallContextChecker_$4178", "typeString": "contract CallContextChecker" } } @@ -58539,30 +77514,30 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_CallContextChecker_$2572", + "typeIdentifier": "t_contract$_CallContextChecker_$4178", "typeString": "contract CallContextChecker" } ], - "id": 2462, + "id": 4068, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1271:7:8", + "src": "1271:7:21", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 2461, + "id": 4067, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1271:7:8", + "src": "1271:7:21", "typeDescriptions": {} } }, - "id": 2464, + "id": 4070, "isConstant": false, "isLValue": false, "isPure": false, @@ -58571,7 +77546,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1271:13:8", + "src": "1271:13:21", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -58586,26 +77561,26 @@ "typeString": "address" } ], - "id": 2460, + "id": 4066, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1263:7:8", + "src": "1263:7:21", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint160_$", "typeString": "type(uint160)" }, "typeName": { - "id": 2459, + "id": 4065, "name": "uint160", "nodeType": "ElementaryTypeName", - "src": "1263:7:8", + "src": "1263:7:21", "typeDescriptions": {} } }, - "id": 2465, + "id": 4071, "isConstant": false, "isLValue": false, "isPure": false, @@ -58614,7 +77589,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1263:22:8", + "src": "1263:22:21", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint160", @@ -58629,26 +77604,26 @@ "typeString": "uint160" } ], - "id": 2458, + "id": 4064, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1255:7:8", + "src": "1255:7:21", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 2457, + "id": 4063, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1255:7:8", + "src": "1255:7:21", "typeDescriptions": {} } }, - "id": 2466, + "id": 4072, "isConstant": false, "isLValue": false, "isPure": false, @@ -58657,7 +77632,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1255:31:8", + "src": "1255:31:21", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -58668,15 +77643,15 @@ }, { "body": { - "id": 2474, + "id": 4080, "nodeType": "Block", - "src": "1917:385:8", + "src": "1917:385:21", "statements": [ { "AST": { - "nativeSrc": "1979:317:8", + "nativeSrc": "1979:317:21", "nodeType": "YulBlock", - "src": "1979:317:8", + "src": "1979:317:21", "statements": [ { "expression": { @@ -58685,64 +77660,64 @@ "arguments": [], "functionName": { "name": "address", - "nativeSrc": "2005:7:8", + "nativeSrc": "2005:7:21", "nodeType": "YulIdentifier", - "src": "2005:7:8" + "src": "2005:7:21" }, - "nativeSrc": "2005:9:8", + "nativeSrc": "2005:9:21", "nodeType": "YulFunctionCall", - "src": "2005:9:8" + "src": "2005:9:21" }, { "kind": "number", - "nativeSrc": "2016:4:8", + "nativeSrc": "2016:4:21", "nodeType": "YulLiteral", - "src": "2016:4:8", + "src": "2016:4:21", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "2022:4:8", + "nativeSrc": "2022:4:21", "nodeType": "YulLiteral", - "src": "2022:4:8", + "src": "2022:4:21", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "2028:4:8", + "nativeSrc": "2028:4:21", "nodeType": "YulLiteral", - "src": "2028:4:8", + "src": "2028:4:21", "type": "", "value": "0x20" } ], "functionName": { "name": "extcodecopy", - "nativeSrc": "1993:11:8", + "nativeSrc": "1993:11:21", "nodeType": "YulIdentifier", - "src": "1993:11:8" + "src": "1993:11:21" }, - "nativeSrc": "1993:40:8", + "nativeSrc": "1993:40:21", "nodeType": "YulFunctionCall", - "src": "1993:40:8" + "src": "1993:40:21" }, - "nativeSrc": "1993:40:8", + "nativeSrc": "1993:40:21", "nodeType": "YulExpressionStatement", - "src": "1993:40:8" + "src": "1993:40:21" }, { - "nativeSrc": "2243:43:8", + "nativeSrc": "2243:43:21", "nodeType": "YulAssignment", - "src": "2243:43:8", + "src": "2243:43:21", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "2256:6:8", + "nativeSrc": "2256:6:21", "nodeType": "YulLiteral", - "src": "2256:6:8", + "src": "2256:6:21", "type": "", "value": "0xef01" }, @@ -58750,9 +77725,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "2268:3:8", + "nativeSrc": "2268:3:21", "nodeType": "YulLiteral", - "src": "2268:3:8", + "src": "2268:3:21", "type": "", "value": "240" }, @@ -58760,51 +77735,51 @@ "arguments": [ { "kind": "number", - "nativeSrc": "2279:4:8", + "nativeSrc": "2279:4:21", "nodeType": "YulLiteral", - "src": "2279:4:8", + "src": "2279:4:21", "type": "", "value": "0x00" } ], "functionName": { "name": "mload", - "nativeSrc": "2273:5:8", + "nativeSrc": "2273:5:21", "nodeType": "YulIdentifier", - "src": "2273:5:8" + "src": "2273:5:21" }, - "nativeSrc": "2273:11:8", + "nativeSrc": "2273:11:21", "nodeType": "YulFunctionCall", - "src": "2273:11:8" + "src": "2273:11:21" } ], "functionName": { "name": "shr", - "nativeSrc": "2264:3:8", + "nativeSrc": "2264:3:21", "nodeType": "YulIdentifier", - "src": "2264:3:8" + "src": "2264:3:21" }, - "nativeSrc": "2264:21:8", + "nativeSrc": "2264:21:21", "nodeType": "YulFunctionCall", - "src": "2264:21:8" + "src": "2264:21:21" } ], "functionName": { "name": "eq", - "nativeSrc": "2253:2:8", + "nativeSrc": "2253:2:21", "nodeType": "YulIdentifier", - "src": "2253:2:8" + "src": "2253:2:21" }, - "nativeSrc": "2253:33:8", + "nativeSrc": "2253:33:21", "nodeType": "YulFunctionCall", - "src": "2253:33:8" + "src": "2253:33:21" }, "variableNames": [ { "name": "result", - "nativeSrc": "2243:6:8", + "nativeSrc": "2243:6:21", "nodeType": "YulIdentifier", - "src": "2243:6:8" + "src": "2243:6:21" } ] } @@ -58814,51 +77789,51 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2471, + "declaration": 4077, "isOffset": false, "isSlot": false, - "src": "2243:6:8", + "src": "2243:6:21", "valueSize": 1 } ], - "id": 2473, + "id": 4079, "nodeType": "InlineAssembly", - "src": "1970:326:8" + "src": "1970:326:21" } ] }, "documentation": { - "id": 2468, + "id": 4074, "nodeType": "StructuredDocumentation", - "src": "1721:116:8", + "src": "1721:116:21", "text": "@dev Returns whether the current call context is on a EIP7702 authority\n (i.e. externally owned account)." }, - "id": 2475, + "id": 4081, "implemented": true, "kind": "function", "modifiers": [], "name": "_onEIP7702Authority", - "nameLocation": "1851:19:8", + "nameLocation": "1851:19:21", "nodeType": "FunctionDefinition", "parameters": { - "id": 2469, + "id": 4075, "nodeType": "ParameterList", "parameters": [], - "src": "1870:2:8" + "src": "1870:2:21" }, "returnParameters": { - "id": 2472, + "id": 4078, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2471, + "id": 4077, "mutability": "mutable", "name": "result", - "nameLocation": "1909:6:8", + "nameLocation": "1909:6:21", "nodeType": "VariableDeclaration", - "scope": 2475, - "src": "1904:11:8", + "scope": 4081, + "src": "1904:11:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -58866,10 +77841,10 @@ "typeString": "bool" }, "typeName": { - "id": 2470, + "id": 4076, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1904:4:8", + "src": "1904:4:21", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -58878,19 +77853,19 @@ "visibility": "internal" } ], - "src": "1903:13:8" + "src": "1903:13:21" }, - "scope": 2572, - "src": "1842:460:8", + "scope": 4178, + "src": "1842:460:21", "stateMutability": "view", "virtual": true, "visibility": "internal" }, { "body": { - "id": 2489, + "id": 4095, "nodeType": "Block", - "src": "2437:48:8", + "src": "2437:48:21", "statements": [ { "expression": { @@ -58898,12 +77873,12 @@ { "arguments": [ { - "id": 2485, + "id": 4091, "name": "__self", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2467, - "src": "2470:6:8", + "referencedDeclaration": 4073, + "src": "2470:6:21", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -58917,26 +77892,26 @@ "typeString": "uint256" } ], - "id": 2484, + "id": 4090, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2462:7:8", + "src": "2462:7:21", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint160_$", "typeString": "type(uint160)" }, "typeName": { - "id": 2483, + "id": 4089, "name": "uint160", "nodeType": "ElementaryTypeName", - "src": "2462:7:8", + "src": "2462:7:21", "typeDescriptions": {} } }, - "id": 2486, + "id": 4092, "isConstant": false, "isLValue": false, "isPure": false, @@ -58945,7 +77920,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2462:15:8", + "src": "2462:15:21", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint160", @@ -58960,26 +77935,26 @@ "typeString": "uint160" } ], - "id": 2482, + "id": 4088, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2454:7:8", + "src": "2454:7:21", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 2481, + "id": 4087, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2454:7:8", + "src": "2454:7:21", "typeDescriptions": {} } }, - "id": 2487, + "id": 4093, "isConstant": false, "isLValue": false, "isPure": false, @@ -58988,52 +77963,52 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2454:24:8", + "src": "2454:24:21", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 2480, - "id": 2488, + "functionReturnParameters": 4086, + "id": 4094, "nodeType": "Return", - "src": "2447:31:8" + "src": "2447:31:21" } ] }, "documentation": { - "id": 2476, + "id": 4082, "nodeType": "StructuredDocumentation", - "src": "2308:53:8", + "src": "2308:53:21", "text": "@dev Returns the implementation of this contract." }, - "id": 2490, + "id": 4096, "implemented": true, "kind": "function", "modifiers": [], "name": "_selfImplementation", - "nameLocation": "2375:19:8", + "nameLocation": "2375:19:21", "nodeType": "FunctionDefinition", "parameters": { - "id": 2477, + "id": 4083, "nodeType": "ParameterList", "parameters": [], - "src": "2394:2:8" + "src": "2394:2:21" }, "returnParameters": { - "id": 2480, + "id": 4086, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2479, + "id": 4085, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2490, - "src": "2428:7:8", + "scope": 4096, + "src": "2428:7:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -59041,10 +78016,10 @@ "typeString": "address" }, "typeName": { - "id": 2478, + "id": 4084, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2428:7:8", + "src": "2428:7:21", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -59054,19 +78029,19 @@ "visibility": "internal" } ], - "src": "2427:9:8" + "src": "2427:9:21" }, - "scope": 2572, - "src": "2366:119:8", + "scope": 4178, + "src": "2366:119:21", "stateMutability": "view", "virtual": true, "visibility": "internal" }, { "body": { - "id": 2506, + "id": 4112, "nodeType": "Block", - "src": "2644:56:8", + "src": "2644:56:21", "statements": [ { "expression": { @@ -59074,18 +78049,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2504, + "id": 4110, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2496, + "id": 4102, "name": "__self", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2467, - "src": "2661:6:8", + "referencedDeclaration": 4073, + "src": "2661:6:21", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -59098,14 +78073,14 @@ { "arguments": [ { - "id": 2501, + "id": 4107, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, - "src": "2687:4:8", + "src": "2687:4:21", "typeDescriptions": { - "typeIdentifier": "t_contract$_CallContextChecker_$2572", + "typeIdentifier": "t_contract$_CallContextChecker_$4178", "typeString": "contract CallContextChecker" } } @@ -59113,30 +78088,30 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_CallContextChecker_$2572", + "typeIdentifier": "t_contract$_CallContextChecker_$4178", "typeString": "contract CallContextChecker" } ], - "id": 2500, + "id": 4106, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2679:7:8", + "src": "2679:7:21", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 2499, + "id": 4105, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2679:7:8", + "src": "2679:7:21", "typeDescriptions": {} } }, - "id": 2502, + "id": 4108, "isConstant": false, "isLValue": false, "isPure": false, @@ -59145,7 +78120,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2679:13:8", + "src": "2679:13:21", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -59160,26 +78135,26 @@ "typeString": "address" } ], - "id": 2498, + "id": 4104, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2671:7:8", + "src": "2671:7:21", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint160_$", "typeString": "type(uint160)" }, "typeName": { - "id": 2497, + "id": 4103, "name": "uint160", "nodeType": "ElementaryTypeName", - "src": "2671:7:8", + "src": "2671:7:21", "typeDescriptions": {} } }, - "id": 2503, + "id": 4109, "isConstant": false, "isLValue": false, "isPure": false, @@ -59188,58 +78163,58 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2671:22:8", + "src": "2671:22:21", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint160", "typeString": "uint160" } }, - "src": "2661:32:8", + "src": "2661:32:21", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 2495, - "id": 2505, + "functionReturnParameters": 4101, + "id": 4111, "nodeType": "Return", - "src": "2654:39:8" + "src": "2654:39:21" } ] }, "documentation": { - "id": 2491, + "id": 4097, "nodeType": "StructuredDocumentation", - "src": "2491:82:8", + "src": "2491:82:21", "text": "@dev Returns whether the current call context is on the implementation itself." }, - "id": 2507, + "id": 4113, "implemented": true, "kind": "function", "modifiers": [], "name": "_onImplementation", - "nameLocation": "2587:17:8", + "nameLocation": "2587:17:21", "nodeType": "FunctionDefinition", "parameters": { - "id": 2492, + "id": 4098, "nodeType": "ParameterList", "parameters": [], - "src": "2604:2:8" + "src": "2604:2:21" }, "returnParameters": { - "id": 2495, + "id": 4101, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2494, + "id": 4100, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2507, - "src": "2638:4:8", + "scope": 4113, + "src": "2638:4:21", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -59247,10 +78222,10 @@ "typeString": "bool" }, "typeName": { - "id": 2493, + "id": 4099, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2638:4:8", + "src": "2638:4:21", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -59259,23 +78234,23 @@ "visibility": "internal" } ], - "src": "2637:6:8" + "src": "2637:6:21" }, - "scope": 2572, - "src": "2578:122:8", + "scope": 4178, + "src": "2578:122:21", "stateMutability": "view", "virtual": true, "visibility": "internal" }, { "body": { - "id": 2518, + "id": 4124, "nodeType": "Block", - "src": "2856:77:8", + "src": "2856:77:21", "statements": [ { "condition": { - "id": 2513, + "id": 4119, "isConstant": false, "isLValue": false, "isPure": false, @@ -59283,23 +78258,23 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "2870:22:8", + "src": "2870:22:21", "subExpression": { "arguments": [], "expression": { "argumentTypes": [], - "id": 2511, + "id": 4117, "name": "_onEIP7702Authority", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2475, - "src": "2871:19:8", + "referencedDeclaration": 4081, + "src": "2871:19:21", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", "typeString": "function () view returns (bool)" } }, - "id": 2512, + "id": 4118, "isConstant": false, "isLValue": false, "isPure": false, @@ -59308,7 +78283,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2871:21:8", + "src": "2871:21:21", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -59320,26 +78295,26 @@ "typeString": "bool" } }, - "id": 2517, + "id": 4123, "nodeType": "IfStatement", - "src": "2866:60:8", + "src": "2866:60:21", "trueBody": { "expression": { "arguments": [], "expression": { "argumentTypes": [], - "id": 2514, + "id": 4120, "name": "_revertUnauthorizedCallContext", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2571, - "src": "2894:30:8", + "referencedDeclaration": 4177, + "src": "2894:30:21", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 2515, + "id": 4121, "isConstant": false, "isLValue": false, "isPure": false, @@ -59348,74 +78323,74 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2894:32:8", + "src": "2894:32:21", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2516, + "id": 4122, "nodeType": "ExpressionStatement", - "src": "2894:32:8" + "src": "2894:32:21" } } ] }, "documentation": { - "id": 2508, + "id": 4114, "nodeType": "StructuredDocumentation", - "src": "2706:85:8", + "src": "2706:85:21", "text": "@dev Requires that the current call context is performed via a EIP7702 authority." }, - "id": 2519, + "id": 4125, "implemented": true, "kind": "function", "modifiers": [], "name": "_checkOnlyEIP7702Authority", - "nameLocation": "2805:26:8", + "nameLocation": "2805:26:21", "nodeType": "FunctionDefinition", "parameters": { - "id": 2509, + "id": 4115, "nodeType": "ParameterList", "parameters": [], - "src": "2831:2:8" + "src": "2831:2:21" }, "returnParameters": { - "id": 2510, + "id": 4116, "nodeType": "ParameterList", "parameters": [], - "src": "2856:0:8" + "src": "2856:0:21" }, - "scope": 2572, - "src": "2796:137:8", + "scope": 4178, + "src": "2796:137:21", "stateMutability": "view", "virtual": true, "visibility": "internal" }, { "body": { - "id": 2529, + "id": 4135, "nodeType": "Block", - "src": "3066:74:8", + "src": "3066:74:21", "statements": [ { "condition": { "arguments": [], "expression": { "argumentTypes": [], - "id": 2523, + "id": 4129, "name": "_onImplementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2507, - "src": "3080:17:8", + "referencedDeclaration": 4113, + "src": "3080:17:21", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", "typeString": "function () view returns (bool)" } }, - "id": 2524, + "id": 4130, "isConstant": false, "isLValue": false, "isPure": false, @@ -59424,33 +78399,33 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3080:19:8", + "src": "3080:19:21", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 2528, + "id": 4134, "nodeType": "IfStatement", - "src": "3076:57:8", + "src": "3076:57:21", "trueBody": { "expression": { "arguments": [], "expression": { "argumentTypes": [], - "id": 2525, + "id": 4131, "name": "_revertUnauthorizedCallContext", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2571, - "src": "3101:30:8", + "referencedDeclaration": 4177, + "src": "3101:30:21", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 2526, + "id": 4132, "isConstant": false, "isLValue": false, "isPure": false, @@ -59459,60 +78434,60 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3101:32:8", + "src": "3101:32:21", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2527, + "id": 4133, "nodeType": "ExpressionStatement", - "src": "3101:32:8" + "src": "3101:32:21" } } ] }, "documentation": { - "id": 2520, + "id": 4126, "nodeType": "StructuredDocumentation", - "src": "2939:73:8", + "src": "2939:73:21", "text": "@dev Requires that the current call context is performed via a proxy." }, - "id": 2530, + "id": 4136, "implemented": true, "kind": "function", "modifiers": [], "name": "_checkOnlyProxy", - "nameLocation": "3026:15:8", + "nameLocation": "3026:15:21", "nodeType": "FunctionDefinition", "parameters": { - "id": 2521, + "id": 4127, "nodeType": "ParameterList", "parameters": [], - "src": "3041:2:8" + "src": "3041:2:21" }, "returnParameters": { - "id": 2522, + "id": 4128, "nodeType": "ParameterList", "parameters": [], - "src": "3066:0:8" + "src": "3066:0:21" }, - "scope": 2572, - "src": "3017:123:8", + "scope": 4178, + "src": "3017:123:21", "stateMutability": "view", "virtual": true, "visibility": "internal" }, { "body": { - "id": 2541, + "id": 4147, "nodeType": "Block", - "src": "3330:75:8", + "src": "3330:75:21", "statements": [ { "condition": { - "id": 2536, + "id": 4142, "isConstant": false, "isLValue": false, "isPure": false, @@ -59520,23 +78495,23 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "3344:20:8", + "src": "3344:20:21", "subExpression": { "arguments": [], "expression": { "argumentTypes": [], - "id": 2534, + "id": 4140, "name": "_onImplementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2507, - "src": "3345:17:8", + "referencedDeclaration": 4113, + "src": "3345:17:21", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", "typeString": "function () view returns (bool)" } }, - "id": 2535, + "id": 4141, "isConstant": false, "isLValue": false, "isPure": false, @@ -59545,7 +78520,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3345:19:8", + "src": "3345:19:21", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -59557,26 +78532,26 @@ "typeString": "bool" } }, - "id": 2540, + "id": 4146, "nodeType": "IfStatement", - "src": "3340:58:8", + "src": "3340:58:21", "trueBody": { "expression": { "arguments": [], "expression": { "argumentTypes": [], - "id": 2537, + "id": 4143, "name": "_revertUnauthorizedCallContext", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2571, - "src": "3366:30:8", + "referencedDeclaration": 4177, + "src": "3366:30:21", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 2538, + "id": 4144, "isConstant": false, "isLValue": false, "isPure": false, @@ -59585,74 +78560,74 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3366:32:8", + "src": "3366:32:21", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2539, + "id": 4145, "nodeType": "ExpressionStatement", - "src": "3366:32:8" + "src": "3366:32:21" } } ] }, "documentation": { - "id": 2531, + "id": 4137, "nodeType": "StructuredDocumentation", - "src": "3146:127:8", + "src": "3146:127:21", "text": "@dev Requires that the current call context is NOT performed via a proxy.\n This is the opposite of `checkOnlyProxy`." }, - "id": 2542, + "id": 4148, "implemented": true, "kind": "function", "modifiers": [], "name": "_checkNotDelegated", - "nameLocation": "3287:18:8", + "nameLocation": "3287:18:21", "nodeType": "FunctionDefinition", "parameters": { - "id": 2532, + "id": 4138, "nodeType": "ParameterList", "parameters": [], - "src": "3305:2:8" + "src": "3305:2:21" }, "returnParameters": { - "id": 2533, + "id": 4139, "nodeType": "ParameterList", "parameters": [], - "src": "3330:0:8" + "src": "3330:0:21" }, - "scope": 2572, - "src": "3278:127:8", + "scope": 4178, + "src": "3278:127:21", "stateMutability": "view", "virtual": true, "visibility": "internal" }, { "body": { - "id": 2549, + "id": 4155, "nodeType": "Block", - "src": "3541:56:8", + "src": "3541:56:21", "statements": [ { "expression": { "arguments": [], "expression": { "argumentTypes": [], - "id": 2545, + "id": 4151, "name": "_checkOnlyEIP7702Authority", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2519, - "src": "3551:26:8", + "referencedDeclaration": 4125, + "src": "3551:26:21", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$__$", "typeString": "function () view" } }, - "id": 2546, + "id": 4152, "isConstant": false, "isLValue": false, "isPure": false, @@ -59661,67 +78636,67 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3551:28:8", + "src": "3551:28:21", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2547, + "id": 4153, "nodeType": "ExpressionStatement", - "src": "3551:28:8" + "src": "3551:28:21" }, { - "id": 2548, + "id": 4154, "nodeType": "PlaceholderStatement", - "src": "3589:1:8" + "src": "3589:1:21" } ] }, "documentation": { - "id": 2543, + "id": 4149, "nodeType": "StructuredDocumentation", - "src": "3411:85:8", + "src": "3411:85:21", "text": "@dev Requires that the current call context is performed via a EIP7702 authority." }, - "id": 2550, + "id": 4156, "name": "onlyEIP7702Authority", - "nameLocation": "3510:20:8", + "nameLocation": "3510:20:21", "nodeType": "ModifierDefinition", "parameters": { - "id": 2544, + "id": 4150, "nodeType": "ParameterList", "parameters": [], - "src": "3530:2:8" + "src": "3530:2:21" }, - "src": "3501:96:8", + "src": "3501:96:21", "virtual": true, "visibility": "internal" }, { "body": { - "id": 2557, + "id": 4163, "nodeType": "Block", - "src": "3710:45:8", + "src": "3710:45:21", "statements": [ { "expression": { "arguments": [], "expression": { "argumentTypes": [], - "id": 2553, + "id": 4159, "name": "_checkOnlyProxy", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2530, - "src": "3720:15:8", + "referencedDeclaration": 4136, + "src": "3720:15:21", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$__$", "typeString": "function () view" } }, - "id": 2554, + "id": 4160, "isConstant": false, "isLValue": false, "isPure": false, @@ -59730,67 +78705,67 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3720:17:8", + "src": "3720:17:21", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2555, + "id": 4161, "nodeType": "ExpressionStatement", - "src": "3720:17:8" + "src": "3720:17:21" }, { - "id": 2556, + "id": 4162, "nodeType": "PlaceholderStatement", - "src": "3747:1:8" + "src": "3747:1:21" } ] }, "documentation": { - "id": 2551, + "id": 4157, "nodeType": "StructuredDocumentation", - "src": "3603:73:8", + "src": "3603:73:21", "text": "@dev Requires that the current call context is performed via a proxy." }, - "id": 2558, + "id": 4164, "name": "onlyProxy", - "nameLocation": "3690:9:8", + "nameLocation": "3690:9:21", "nodeType": "ModifierDefinition", "parameters": { - "id": 2552, + "id": 4158, "nodeType": "ParameterList", "parameters": [], - "src": "3699:2:8" + "src": "3699:2:21" }, - "src": "3681:74:8", + "src": "3681:74:21", "virtual": true, "visibility": "internal" }, { "body": { - "id": 2565, + "id": 4171, "nodeType": "Block", - "src": "3920:48:8", + "src": "3920:48:21", "statements": [ { "expression": { "arguments": [], "expression": { "argumentTypes": [], - "id": 2561, + "id": 4167, "name": "_checkNotDelegated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2542, - "src": "3930:18:8", + "referencedDeclaration": 4148, + "src": "3930:18:21", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$__$", "typeString": "function () view" } }, - "id": 2562, + "id": 4168, "isConstant": false, "isLValue": false, "isPure": false, @@ -59799,187 +78774,187 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3930:20:8", + "src": "3930:20:21", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2563, + "id": 4169, "nodeType": "ExpressionStatement", - "src": "3930:20:8" + "src": "3930:20:21" }, { - "id": 2564, + "id": 4170, "nodeType": "PlaceholderStatement", - "src": "3960:1:8" + "src": "3960:1:21" } ] }, "documentation": { - "id": 2559, + "id": 4165, "nodeType": "StructuredDocumentation", - "src": "3761:122:8", + "src": "3761:122:21", "text": "@dev Requires that the current call context is NOT performed via a proxy.\n This is the opposite of `onlyProxy`." }, - "id": 2566, + "id": 4172, "name": "notDelegated", - "nameLocation": "3897:12:8", + "nameLocation": "3897:12:21", "nodeType": "ModifierDefinition", "parameters": { - "id": 2560, + "id": 4166, "nodeType": "ParameterList", "parameters": [], - "src": "3909:2:8" + "src": "3909:2:21" }, - "src": "3888:80:8", + "src": "3888:80:21", "virtual": true, "visibility": "internal" }, { "body": { - "id": 2570, + "id": 4176, "nodeType": "Block", - "src": "4312:179:8", + "src": "4312:179:21", "statements": [ { "AST": { - "nativeSrc": "4374:111:8", + "nativeSrc": "4374:111:21", "nodeType": "YulBlock", - "src": "4374:111:8", + "src": "4374:111:21", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "4395:4:8", + "nativeSrc": "4395:4:21", "nodeType": "YulLiteral", - "src": "4395:4:8", + "src": "4395:4:21", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "4401:10:8", + "nativeSrc": "4401:10:21", "nodeType": "YulLiteral", - "src": "4401:10:8", + "src": "4401:10:21", "type": "", "value": "0x9f03a026" } ], "functionName": { "name": "mstore", - "nativeSrc": "4388:6:8", + "nativeSrc": "4388:6:21", "nodeType": "YulIdentifier", - "src": "4388:6:8" + "src": "4388:6:21" }, - "nativeSrc": "4388:24:8", + "nativeSrc": "4388:24:21", "nodeType": "YulFunctionCall", - "src": "4388:24:8" + "src": "4388:24:21" }, - "nativeSrc": "4388:24:8", + "nativeSrc": "4388:24:21", "nodeType": "YulExpressionStatement", - "src": "4388:24:8" + "src": "4388:24:21" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "4464:4:8", + "nativeSrc": "4464:4:21", "nodeType": "YulLiteral", - "src": "4464:4:8", + "src": "4464:4:21", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "4470:4:8", + "nativeSrc": "4470:4:21", "nodeType": "YulLiteral", - "src": "4470:4:8", + "src": "4470:4:21", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "4457:6:8", + "nativeSrc": "4457:6:21", "nodeType": "YulIdentifier", - "src": "4457:6:8" + "src": "4457:6:21" }, - "nativeSrc": "4457:18:8", + "nativeSrc": "4457:18:21", "nodeType": "YulFunctionCall", - "src": "4457:18:8" + "src": "4457:18:21" }, - "nativeSrc": "4457:18:8", + "nativeSrc": "4457:18:21", "nodeType": "YulExpressionStatement", - "src": "4457:18:8" + "src": "4457:18:21" } ] }, "documentation": "@solidity memory-safe-assembly", "evmVersion": "paris", "externalReferences": [], - "id": 2569, + "id": 4175, "nodeType": "InlineAssembly", - "src": "4365:120:8" + "src": "4365:120:21" } ] }, - "id": 2571, + "id": 4177, "implemented": true, "kind": "function", "modifiers": [], "name": "_revertUnauthorizedCallContext", - "nameLocation": "4266:30:8", + "nameLocation": "4266:30:21", "nodeType": "FunctionDefinition", "parameters": { - "id": 2567, + "id": 4173, "nodeType": "ParameterList", "parameters": [], - "src": "4296:2:8" + "src": "4296:2:21" }, "returnParameters": { - "id": 2568, + "id": 4174, "nodeType": "ParameterList", "parameters": [], - "src": "4312:0:8" + "src": "4312:0:21" }, - "scope": 2572, - "src": "4257:234:8", + "scope": 4178, + "src": "4257:234:21", "stateMutability": "pure", "virtual": false, "visibility": "private" } ], - "scope": 2573, - "src": "198:4295:8", + "scope": 4179, + "src": "198:4295:21", "usedErrors": [ - 2454 + 4060 ], "usedEvents": [] } ], - "src": "32:4462:8" + "src": "32:4462:21" }, - "id": 8 + "id": 21 }, "solady/utils/LibBytes.sol": { "ast": { "absolutePath": "solady/utils/LibBytes.sol", "exportedSymbols": { "LibBytes": [ - 3078 + 4684 ] }, - "id": 3079, + "id": 4685, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 2574, + "id": 4180, "literals": [ "solidity", "^", @@ -59987,7 +78962,7 @@ ".4" ], "nodeType": "PragmaDirective", - "src": "32:23:9" + "src": "32:23:22" }, { "abstract": false, @@ -59996,39 +78971,39 @@ "contractDependencies": [], "contractKind": "library", "documentation": { - "id": 2575, + "id": 4181, "nodeType": "StructuredDocumentation", - "src": "57:140:9", + "src": "57:140:22", "text": "@notice Library for byte related operations.\n @author Solady (https://github.com/vectorized/solady/blob/main/src/utils/LibBytes.sol)" }, "fullyImplemented": true, - "id": 3078, + "id": 4684, "linearizedBaseContracts": [ - 3078 + 4684 ], "name": "LibBytes", - "nameLocation": "205:8:9", + "nameLocation": "205:8:22", "nodeType": "ContractDefinition", "nodes": [ { "canonicalName": "LibBytes.BytesStorage", "documentation": { - "id": 2576, + "id": 4182, "nodeType": "StructuredDocumentation", - "src": "503:235:9", + "src": "503:235:22", "text": "@dev Goated bytes storage struct that totally MOGs, no cap, fr.\n Uses less gas and bytecode than Solidity's native bytes storage. It's meta af.\n Packs length with the first 31 bytes if <255 bytes, so it’s mad tight." }, - "id": 2579, + "id": 4185, "members": [ { "constant": false, - "id": 2578, + "id": 4184, "mutability": "mutable", "name": "_spacer", - "nameLocation": "781:7:9", + "nameLocation": "781:7:22", "nodeType": "VariableDeclaration", - "scope": 2579, - "src": "773:15:9", + "scope": 4185, + "src": "773:15:22", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -60036,10 +79011,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 2577, + "id": 4183, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "773:7:9", + "src": "773:7:22", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -60049,27 +79024,27 @@ } ], "name": "BytesStorage", - "nameLocation": "750:12:9", + "nameLocation": "750:12:22", "nodeType": "StructDefinition", - "scope": 3078, - "src": "743:52:9", + "scope": 4684, + "src": "743:52:22", "visibility": "public" }, { "constant": true, "documentation": { - "id": 2580, + "id": 4186, "nodeType": "StructuredDocumentation", - "src": "1084:75:9", + "src": "1084:75:22", "text": "@dev The constant returned when the `search` is not found in the bytes." }, - "id": 2587, + "id": 4193, "mutability": "constant", "name": "NOT_FOUND", - "nameLocation": "1190:9:9", + "nameLocation": "1190:9:22", "nodeType": "VariableDeclaration", - "scope": 3078, - "src": "1164:55:9", + "scope": 4684, + "src": "1164:55:22", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -60077,10 +79052,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2581, + "id": 4187, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1164:7:9", + "src": "1164:7:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -60090,22 +79065,22 @@ "expression": { "arguments": [ { - "id": 2584, + "id": 4190, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1207:7:9", + "src": "1207:7:22", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 2583, + "id": 4189, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1207:7:9", + "src": "1207:7:22", "typeDescriptions": {} } } @@ -60117,18 +79092,18 @@ "typeString": "type(uint256)" } ], - "id": 2582, + "id": 4188, "name": "type", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -27, - "src": "1202:4:9", + "src": "1202:4:22", "typeDescriptions": { "typeIdentifier": "t_function_metatype_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 2585, + "id": 4191, "isConstant": false, "isLValue": false, "isPure": true, @@ -60137,22 +79112,22 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1202:13:9", + "src": "1202:13:22", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_magic_meta_type_t_uint256", "typeString": "type(uint256)" } }, - "id": 2586, + "id": 4192, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "1216:3:9", + "memberLocation": "1216:3:22", "memberName": "max", "nodeType": "MemberAccess", - "src": "1202:17:9", + "src": "1202:17:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -60162,60 +79137,60 @@ }, { "body": { - "id": 2597, + "id": 4203, "nodeType": "Block", - "src": "1632:772:9", + "src": "1632:772:22", "statements": [ { "AST": { - "nativeSrc": "1694:704:9", + "nativeSrc": "1694:704:22", "nodeType": "YulBlock", - "src": "1694:704:9", + "src": "1694:704:22", "statements": [ { - "nativeSrc": "1708:17:9", + "nativeSrc": "1708:17:22", "nodeType": "YulVariableDeclaration", - "src": "1708:17:9", + "src": "1708:17:22", "value": { "arguments": [ { "name": "s", - "nativeSrc": "1723:1:9", + "nativeSrc": "1723:1:22", "nodeType": "YulIdentifier", - "src": "1723:1:9" + "src": "1723:1:22" } ], "functionName": { "name": "mload", - "nativeSrc": "1717:5:9", + "nativeSrc": "1717:5:22", "nodeType": "YulIdentifier", - "src": "1717:5:9" + "src": "1717:5:22" }, - "nativeSrc": "1717:8:9", + "nativeSrc": "1717:8:22", "nodeType": "YulFunctionCall", - "src": "1717:8:9" + "src": "1717:8:22" }, "variables": [ { "name": "n", - "nativeSrc": "1712:1:9", + "nativeSrc": "1712:1:22", "nodeType": "YulTypedName", - "src": "1712:1:9", + "src": "1712:1:22", "type": "" } ] }, { - "nativeSrc": "1738:33:9", + "nativeSrc": "1738:33:22", "nodeType": "YulVariableDeclaration", - "src": "1738:33:9", + "src": "1738:33:22", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "1755:4:9", + "nativeSrc": "1755:4:22", "nodeType": "YulLiteral", - "src": "1755:4:9", + "src": "1755:4:22", "type": "", "value": "0xff" }, @@ -60223,102 +79198,102 @@ "arguments": [ { "kind": "number", - "nativeSrc": "1765:1:9", + "nativeSrc": "1765:1:22", "nodeType": "YulLiteral", - "src": "1765:1:9", + "src": "1765:1:22", "type": "", "value": "8" }, { "name": "n", - "nativeSrc": "1768:1:9", + "nativeSrc": "1768:1:22", "nodeType": "YulIdentifier", - "src": "1768:1:9" + "src": "1768:1:22" } ], "functionName": { "name": "shl", - "nativeSrc": "1761:3:9", + "nativeSrc": "1761:3:22", "nodeType": "YulIdentifier", - "src": "1761:3:9" + "src": "1761:3:22" }, - "nativeSrc": "1761:9:9", + "nativeSrc": "1761:9:22", "nodeType": "YulFunctionCall", - "src": "1761:9:9" + "src": "1761:9:22" } ], "functionName": { "name": "or", - "nativeSrc": "1752:2:9", + "nativeSrc": "1752:2:22", "nodeType": "YulIdentifier", - "src": "1752:2:9" + "src": "1752:2:22" }, - "nativeSrc": "1752:19:9", + "nativeSrc": "1752:19:22", "nodeType": "YulFunctionCall", - "src": "1752:19:9" + "src": "1752:19:22" }, "variables": [ { "name": "packed", - "nativeSrc": "1742:6:9", + "nativeSrc": "1742:6:22", "nodeType": "YulTypedName", - "src": "1742:6:9", + "src": "1742:6:22", "type": "" } ] }, { "body": { - "nativeSrc": "1808:545:9", + "nativeSrc": "1808:545:22", "nodeType": "YulBlock", - "src": "1808:545:9", + "src": "1808:545:22", "statements": [ { "body": { - "nativeSrc": "1849:161:9", + "nativeSrc": "1849:161:22", "nodeType": "YulBlock", - "src": "1849:161:9", + "src": "1849:161:22", "statements": [ { - "nativeSrc": "1871:9:9", + "nativeSrc": "1871:9:22", "nodeType": "YulAssignment", - "src": "1871:9:9", + "src": "1871:9:22", "value": { "kind": "number", - "nativeSrc": "1876:4:9", + "nativeSrc": "1876:4:22", "nodeType": "YulLiteral", - "src": "1876:4:9", + "src": "1876:4:22", "type": "", "value": "0x1f" }, "variableNames": [ { "name": "i", - "nativeSrc": "1871:1:9", + "nativeSrc": "1871:1:22", "nodeType": "YulIdentifier", - "src": "1871:1:9" + "src": "1871:1:22" } ] }, { - "nativeSrc": "1901:41:9", + "nativeSrc": "1901:41:22", "nodeType": "YulAssignment", - "src": "1901:41:9", + "src": "1901:41:22", "value": { "arguments": [ { "name": "n", - "nativeSrc": "1914:1:9", + "nativeSrc": "1914:1:22", "nodeType": "YulIdentifier", - "src": "1914:1:9" + "src": "1914:1:22" }, { "arguments": [ { "kind": "number", - "nativeSrc": "1921:1:9", + "nativeSrc": "1921:1:22", "nodeType": "YulLiteral", - "src": "1921:1:9", + "src": "1921:1:22", "type": "", "value": "8" }, @@ -60328,79 +79303,79 @@ "arguments": [ { "name": "s", - "nativeSrc": "1934:1:9", + "nativeSrc": "1934:1:22", "nodeType": "YulIdentifier", - "src": "1934:1:9" + "src": "1934:1:22" }, { "name": "i", - "nativeSrc": "1937:1:9", + "nativeSrc": "1937:1:22", "nodeType": "YulIdentifier", - "src": "1937:1:9" + "src": "1937:1:22" } ], "functionName": { "name": "add", - "nativeSrc": "1930:3:9", + "nativeSrc": "1930:3:22", "nodeType": "YulIdentifier", - "src": "1930:3:9" + "src": "1930:3:22" }, - "nativeSrc": "1930:9:9", + "nativeSrc": "1930:9:22", "nodeType": "YulFunctionCall", - "src": "1930:9:9" + "src": "1930:9:22" } ], "functionName": { "name": "mload", - "nativeSrc": "1924:5:9", + "nativeSrc": "1924:5:22", "nodeType": "YulIdentifier", - "src": "1924:5:9" + "src": "1924:5:22" }, - "nativeSrc": "1924:16:9", + "nativeSrc": "1924:16:22", "nodeType": "YulFunctionCall", - "src": "1924:16:9" + "src": "1924:16:22" } ], "functionName": { "name": "shl", - "nativeSrc": "1917:3:9", + "nativeSrc": "1917:3:22", "nodeType": "YulIdentifier", - "src": "1917:3:9" + "src": "1917:3:22" }, - "nativeSrc": "1917:24:9", + "nativeSrc": "1917:24:22", "nodeType": "YulFunctionCall", - "src": "1917:24:9" + "src": "1917:24:22" } ], "functionName": { "name": "or", - "nativeSrc": "1911:2:9", + "nativeSrc": "1911:2:22", "nodeType": "YulIdentifier", - "src": "1911:2:9" + "src": "1911:2:22" }, - "nativeSrc": "1911:31:9", + "nativeSrc": "1911:31:22", "nodeType": "YulFunctionCall", - "src": "1911:31:9" + "src": "1911:31:22" }, "variableNames": [ { "name": "packed", - "nativeSrc": "1901:6:9", + "nativeSrc": "1901:6:22", "nodeType": "YulIdentifier", - "src": "1901:6:9" + "src": "1901:6:22" } ] }, { "body": { - "nativeSrc": "1983:9:9", + "nativeSrc": "1983:9:22", "nodeType": "YulBlock", - "src": "1983:9:9", + "src": "1983:9:22", "statements": [ { - "nativeSrc": "1985:5:9", + "nativeSrc": "1985:5:22", "nodeType": "YulBreak", - "src": "1985:5:9" + "src": "1985:5:22" } ] }, @@ -60410,41 +79385,41 @@ "arguments": [ { "name": "n", - "nativeSrc": "1976:1:9", + "nativeSrc": "1976:1:22", "nodeType": "YulIdentifier", - "src": "1976:1:9" + "src": "1976:1:22" }, { "name": "i", - "nativeSrc": "1979:1:9", + "nativeSrc": "1979:1:22", "nodeType": "YulIdentifier", - "src": "1979:1:9" + "src": "1979:1:22" } ], "functionName": { "name": "gt", - "nativeSrc": "1973:2:9", + "nativeSrc": "1973:2:22", "nodeType": "YulIdentifier", - "src": "1973:2:9" + "src": "1973:2:22" }, - "nativeSrc": "1973:8:9", + "nativeSrc": "1973:8:22", "nodeType": "YulFunctionCall", - "src": "1973:8:9" + "src": "1973:8:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "1966:6:9", + "nativeSrc": "1966:6:22", "nodeType": "YulIdentifier", - "src": "1966:6:9" + "src": "1966:6:22" }, - "nativeSrc": "1966:16:9", + "nativeSrc": "1966:16:22", "nodeType": "YulFunctionCall", - "src": "1966:16:9" + "src": "1966:16:22" }, - "nativeSrc": "1963:29:9", + "nativeSrc": "1963:29:22", "nodeType": "YulIf", - "src": "1963:29:9" + "src": "1963:29:22" } ] }, @@ -60454,81 +79429,81 @@ "arguments": [ { "name": "n", - "nativeSrc": "1839:1:9", + "nativeSrc": "1839:1:22", "nodeType": "YulIdentifier", - "src": "1839:1:9" + "src": "1839:1:22" }, { "kind": "number", - "nativeSrc": "1842:4:9", + "nativeSrc": "1842:4:22", "nodeType": "YulLiteral", - "src": "1842:4:9", + "src": "1842:4:22", "type": "", "value": "0xfe" } ], "functionName": { "name": "gt", - "nativeSrc": "1836:2:9", + "nativeSrc": "1836:2:22", "nodeType": "YulIdentifier", - "src": "1836:2:9" + "src": "1836:2:22" }, - "nativeSrc": "1836:11:9", + "nativeSrc": "1836:11:22", "nodeType": "YulFunctionCall", - "src": "1836:11:9" + "src": "1836:11:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "1829:6:9", + "nativeSrc": "1829:6:22", "nodeType": "YulIdentifier", - "src": "1829:6:9" + "src": "1829:6:22" }, - "nativeSrc": "1829:19:9", + "nativeSrc": "1829:19:22", "nodeType": "YulFunctionCall", - "src": "1829:19:9" + "src": "1829:19:22" }, - "nativeSrc": "1826:184:9", + "nativeSrc": "1826:184:22", "nodeType": "YulIf", - "src": "1826:184:9" + "src": "1826:184:22" }, { - "nativeSrc": "2027:21:9", + "nativeSrc": "2027:21:22", "nodeType": "YulVariableDeclaration", - "src": "2027:21:9", + "src": "2027:21:22", "value": { "arguments": [ { "name": "s", - "nativeSrc": "2040:1:9", + "nativeSrc": "2040:1:22", "nodeType": "YulIdentifier", - "src": "2040:1:9" + "src": "2040:1:22" }, { "kind": "number", - "nativeSrc": "2043:4:9", + "nativeSrc": "2043:4:22", "nodeType": "YulLiteral", - "src": "2043:4:9", + "src": "2043:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "2036:3:9", + "nativeSrc": "2036:3:22", "nodeType": "YulIdentifier", - "src": "2036:3:9" + "src": "2036:3:22" }, - "nativeSrc": "2036:12:9", + "nativeSrc": "2036:12:22", "nodeType": "YulFunctionCall", - "src": "2036:12:9" + "src": "2036:12:22" }, "variables": [ { "name": "o", - "nativeSrc": "2031:1:9", + "nativeSrc": "2031:1:22", "nodeType": "YulTypedName", - "src": "2031:1:9", + "src": "2031:1:22", "type": "" } ] @@ -60538,38 +79513,38 @@ "arguments": [ { "kind": "number", - "nativeSrc": "2072:4:9", + "nativeSrc": "2072:4:22", "nodeType": "YulLiteral", - "src": "2072:4:9", + "src": "2072:4:22", "type": "", "value": "0x00" }, { "name": "$.slot", - "nativeSrc": "2078:6:9", + "nativeSrc": "2078:6:22", "nodeType": "YulIdentifier", - "src": "2078:6:9" + "src": "2078:6:22" } ], "functionName": { "name": "mstore", - "nativeSrc": "2065:6:9", + "nativeSrc": "2065:6:22", "nodeType": "YulIdentifier", - "src": "2065:6:9" + "src": "2065:6:22" }, - "nativeSrc": "2065:20:9", + "nativeSrc": "2065:20:22", "nodeType": "YulFunctionCall", - "src": "2065:20:9" + "src": "2065:20:22" }, - "nativeSrc": "2065:20:9", + "nativeSrc": "2065:20:22", "nodeType": "YulExpressionStatement", - "src": "2065:20:9" + "src": "2065:20:22" }, { "body": { - "nativeSrc": "2146:171:9", + "nativeSrc": "2146:171:22", "nodeType": "YulBlock", - "src": "2146:171:9", + "src": "2146:171:22", "statements": [ { "expression": { @@ -60578,47 +79553,47 @@ "arguments": [ { "name": "p", - "nativeSrc": "2179:1:9", + "nativeSrc": "2179:1:22", "nodeType": "YulIdentifier", - "src": "2179:1:9" + "src": "2179:1:22" }, { "arguments": [ { "kind": "number", - "nativeSrc": "2186:1:9", + "nativeSrc": "2186:1:22", "nodeType": "YulLiteral", - "src": "2186:1:9", + "src": "2186:1:22", "type": "", "value": "5" }, { "name": "i", - "nativeSrc": "2189:1:9", + "nativeSrc": "2189:1:22", "nodeType": "YulIdentifier", - "src": "2189:1:9" + "src": "2189:1:22" } ], "functionName": { "name": "shr", - "nativeSrc": "2182:3:9", + "nativeSrc": "2182:3:22", "nodeType": "YulIdentifier", - "src": "2182:3:9" + "src": "2182:3:22" }, - "nativeSrc": "2182:9:9", + "nativeSrc": "2182:9:22", "nodeType": "YulFunctionCall", - "src": "2182:9:9" + "src": "2182:9:22" } ], "functionName": { "name": "add", - "nativeSrc": "2175:3:9", + "nativeSrc": "2175:3:22", "nodeType": "YulIdentifier", - "src": "2175:3:9" + "src": "2175:3:22" }, - "nativeSrc": "2175:17:9", + "nativeSrc": "2175:17:22", "nodeType": "YulFunctionCall", - "src": "2175:17:9" + "src": "2175:17:22" }, { "arguments": [ @@ -60626,103 +79601,103 @@ "arguments": [ { "name": "o", - "nativeSrc": "2204:1:9", + "nativeSrc": "2204:1:22", "nodeType": "YulIdentifier", - "src": "2204:1:9" + "src": "2204:1:22" }, { "name": "i", - "nativeSrc": "2207:1:9", + "nativeSrc": "2207:1:22", "nodeType": "YulIdentifier", - "src": "2207:1:9" + "src": "2207:1:22" } ], "functionName": { "name": "add", - "nativeSrc": "2200:3:9", + "nativeSrc": "2200:3:22", "nodeType": "YulIdentifier", - "src": "2200:3:9" + "src": "2200:3:22" }, - "nativeSrc": "2200:9:9", + "nativeSrc": "2200:9:22", "nodeType": "YulFunctionCall", - "src": "2200:9:9" + "src": "2200:9:22" } ], "functionName": { "name": "mload", - "nativeSrc": "2194:5:9", + "nativeSrc": "2194:5:22", "nodeType": "YulIdentifier", - "src": "2194:5:9" + "src": "2194:5:22" }, - "nativeSrc": "2194:16:9", + "nativeSrc": "2194:16:22", "nodeType": "YulFunctionCall", - "src": "2194:16:9" + "src": "2194:16:22" } ], "functionName": { "name": "sstore", - "nativeSrc": "2168:6:9", + "nativeSrc": "2168:6:22", "nodeType": "YulIdentifier", - "src": "2168:6:9" + "src": "2168:6:22" }, - "nativeSrc": "2168:43:9", + "nativeSrc": "2168:43:22", "nodeType": "YulFunctionCall", - "src": "2168:43:9" + "src": "2168:43:22" }, - "nativeSrc": "2168:43:9", + "nativeSrc": "2168:43:22", "nodeType": "YulExpressionStatement", - "src": "2168:43:9" + "src": "2168:43:22" }, { - "nativeSrc": "2232:17:9", + "nativeSrc": "2232:17:22", "nodeType": "YulAssignment", - "src": "2232:17:9", + "src": "2232:17:22", "value": { "arguments": [ { "name": "i", - "nativeSrc": "2241:1:9", + "nativeSrc": "2241:1:22", "nodeType": "YulIdentifier", - "src": "2241:1:9" + "src": "2241:1:22" }, { "kind": "number", - "nativeSrc": "2244:4:9", + "nativeSrc": "2244:4:22", "nodeType": "YulLiteral", - "src": "2244:4:9", + "src": "2244:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "2237:3:9", + "nativeSrc": "2237:3:22", "nodeType": "YulIdentifier", - "src": "2237:3:9" + "src": "2237:3:22" }, - "nativeSrc": "2237:12:9", + "nativeSrc": "2237:12:22", "nodeType": "YulFunctionCall", - "src": "2237:12:9" + "src": "2237:12:22" }, "variableNames": [ { "name": "i", - "nativeSrc": "2232:1:9", + "nativeSrc": "2232:1:22", "nodeType": "YulIdentifier", - "src": "2232:1:9" + "src": "2232:1:22" } ] }, { "body": { - "nativeSrc": "2290:9:9", + "nativeSrc": "2290:9:22", "nodeType": "YulBlock", - "src": "2290:9:9", + "src": "2290:9:22", "statements": [ { - "nativeSrc": "2292:5:9", + "nativeSrc": "2292:5:22", "nodeType": "YulBreak", - "src": "2292:5:9" + "src": "2292:5:22" } ] }, @@ -60732,195 +79707,195 @@ "arguments": [ { "name": "i", - "nativeSrc": "2283:1:9", + "nativeSrc": "2283:1:22", "nodeType": "YulIdentifier", - "src": "2283:1:9" + "src": "2283:1:22" }, { "name": "n", - "nativeSrc": "2286:1:9", + "nativeSrc": "2286:1:22", "nodeType": "YulIdentifier", - "src": "2286:1:9" + "src": "2286:1:22" } ], "functionName": { "name": "lt", - "nativeSrc": "2280:2:9", + "nativeSrc": "2280:2:22", "nodeType": "YulIdentifier", - "src": "2280:2:9" + "src": "2280:2:22" }, - "nativeSrc": "2280:8:9", + "nativeSrc": "2280:8:22", "nodeType": "YulFunctionCall", - "src": "2280:8:9" + "src": "2280:8:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "2273:6:9", + "nativeSrc": "2273:6:22", "nodeType": "YulIdentifier", - "src": "2273:6:9" + "src": "2273:6:22" }, - "nativeSrc": "2273:16:9", + "nativeSrc": "2273:16:22", "nodeType": "YulFunctionCall", - "src": "2273:16:9" + "src": "2273:16:22" }, - "nativeSrc": "2270:29:9", + "nativeSrc": "2270:29:22", "nodeType": "YulIf", - "src": "2270:29:9" + "src": "2270:29:22" } ] }, "condition": { "kind": "number", - "nativeSrc": "2141:1:9", + "nativeSrc": "2141:1:22", "nodeType": "YulLiteral", - "src": "2141:1:9", + "src": "2141:1:22", "type": "", "value": "1" }, - "nativeSrc": "2102:215:9", + "nativeSrc": "2102:215:22", "nodeType": "YulForLoop", "post": { - "nativeSrc": "2143:2:9", + "nativeSrc": "2143:2:22", "nodeType": "YulBlock", - "src": "2143:2:9", + "src": "2143:2:22", "statements": [] }, "pre": { - "nativeSrc": "2106:34:9", + "nativeSrc": "2106:34:22", "nodeType": "YulBlock", - "src": "2106:34:9", + "src": "2106:34:22", "statements": [ { - "nativeSrc": "2108:30:9", + "nativeSrc": "2108:30:22", "nodeType": "YulVariableDeclaration", - "src": "2108:30:9", + "src": "2108:30:22", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "2127:4:9", + "nativeSrc": "2127:4:22", "nodeType": "YulLiteral", - "src": "2127:4:9", + "src": "2127:4:22", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "2133:4:9", + "nativeSrc": "2133:4:22", "nodeType": "YulLiteral", - "src": "2133:4:9", + "src": "2133:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "keccak256", - "nativeSrc": "2117:9:9", + "nativeSrc": "2117:9:22", "nodeType": "YulIdentifier", - "src": "2117:9:9" + "src": "2117:9:22" }, - "nativeSrc": "2117:21:9", + "nativeSrc": "2117:21:22", "nodeType": "YulFunctionCall", - "src": "2117:21:9" + "src": "2117:21:22" }, "variables": [ { "name": "p", - "nativeSrc": "2112:1:9", + "nativeSrc": "2112:1:22", "nodeType": "YulTypedName", - "src": "2112:1:9", + "src": "2112:1:22", "type": "" } ] } ] }, - "src": "2102:215:9" + "src": "2102:215:22" }, { - "nativeSrc": "2334:5:9", + "nativeSrc": "2334:5:22", "nodeType": "YulBreak", - "src": "2334:5:9" + "src": "2334:5:22" } ] }, "condition": { "kind": "number", - "nativeSrc": "1803:1:9", + "nativeSrc": "1803:1:22", "nodeType": "YulLiteral", - "src": "1803:1:9", + "src": "1803:1:22", "type": "", "value": "1" }, - "nativeSrc": "1784:569:9", + "nativeSrc": "1784:569:22", "nodeType": "YulForLoop", "post": { - "nativeSrc": "1805:2:9", + "nativeSrc": "1805:2:22", "nodeType": "YulBlock", - "src": "1805:2:9", + "src": "1805:2:22", "statements": [] }, "pre": { - "nativeSrc": "1788:14:9", + "nativeSrc": "1788:14:22", "nodeType": "YulBlock", - "src": "1788:14:9", + "src": "1788:14:22", "statements": [ { - "nativeSrc": "1790:10:9", + "nativeSrc": "1790:10:22", "nodeType": "YulVariableDeclaration", - "src": "1790:10:9", + "src": "1790:10:22", "value": { "kind": "number", - "nativeSrc": "1799:1:9", + "nativeSrc": "1799:1:22", "nodeType": "YulLiteral", - "src": "1799:1:9", + "src": "1799:1:22", "type": "", "value": "0" }, "variables": [ { "name": "i", - "nativeSrc": "1794:1:9", + "nativeSrc": "1794:1:22", "nodeType": "YulTypedName", - "src": "1794:1:9", + "src": "1794:1:22", "type": "" } ] } ] }, - "src": "1784:569:9" + "src": "1784:569:22" }, { "expression": { "arguments": [ { "name": "$.slot", - "nativeSrc": "2373:6:9", + "nativeSrc": "2373:6:22", "nodeType": "YulIdentifier", - "src": "2373:6:9" + "src": "2373:6:22" }, { "name": "packed", - "nativeSrc": "2381:6:9", + "nativeSrc": "2381:6:22", "nodeType": "YulIdentifier", - "src": "2381:6:9" + "src": "2381:6:22" } ], "functionName": { "name": "sstore", - "nativeSrc": "2366:6:9", + "nativeSrc": "2366:6:22", "nodeType": "YulIdentifier", - "src": "2366:6:9" + "src": "2366:6:22" }, - "nativeSrc": "2366:22:9", + "nativeSrc": "2366:22:22", "nodeType": "YulFunctionCall", - "src": "2366:22:9" + "src": "2366:22:22" }, - "nativeSrc": "2366:22:9", + "nativeSrc": "2366:22:22", "nodeType": "YulExpressionStatement", - "src": "2366:22:9" + "src": "2366:22:22" } ] }, @@ -60928,98 +79903,98 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2591, + "declaration": 4197, "isOffset": false, "isSlot": true, - "src": "2078:6:9", + "src": "2078:6:22", "suffix": "slot", "valueSize": 1 }, { - "declaration": 2591, + "declaration": 4197, "isOffset": false, "isSlot": true, - "src": "2373:6:9", + "src": "2373:6:22", "suffix": "slot", "valueSize": 1 }, { - "declaration": 2593, + "declaration": 4199, "isOffset": false, "isSlot": false, - "src": "1723:1:9", + "src": "1723:1:22", "valueSize": 1 }, { - "declaration": 2593, + "declaration": 4199, "isOffset": false, "isSlot": false, - "src": "1934:1:9", + "src": "1934:1:22", "valueSize": 1 }, { - "declaration": 2593, + "declaration": 4199, "isOffset": false, "isSlot": false, - "src": "2040:1:9", + "src": "2040:1:22", "valueSize": 1 } ], - "id": 2596, + "id": 4202, "nodeType": "InlineAssembly", - "src": "1685:713:9" + "src": "1685:713:22" } ] }, "documentation": { - "id": 2588, + "id": 4194, "nodeType": "StructuredDocumentation", - "src": "1509:56:9", + "src": "1509:56:22", "text": "@dev Sets the value of the bytes storage `$` to `s`." }, - "id": 2598, + "id": 4204, "implemented": true, "kind": "function", "modifiers": [], "name": "set", - "nameLocation": "1579:3:9", + "nameLocation": "1579:3:22", "nodeType": "FunctionDefinition", "parameters": { - "id": 2594, + "id": 4200, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2591, + "id": 4197, "mutability": "mutable", "name": "$", - "nameLocation": "1604:1:9", + "nameLocation": "1604:1:22", "nodeType": "VariableDeclaration", - "scope": 2598, - "src": "1583:22:9", + "scope": 4204, + "src": "1583:22:22", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$4185_storage_ptr", "typeString": "struct LibBytes.BytesStorage" }, "typeName": { - "id": 2590, + "id": 4196, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 2589, + "id": 4195, "name": "BytesStorage", "nameLocations": [ - "1583:12:9" + "1583:12:22" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 2579, - "src": "1583:12:9" + "referencedDeclaration": 4185, + "src": "1583:12:22" }, - "referencedDeclaration": 2579, - "src": "1583:12:9", + "referencedDeclaration": 4185, + "src": "1583:12:22", "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$4185_storage_ptr", "typeString": "struct LibBytes.BytesStorage" } }, @@ -61027,13 +80002,13 @@ }, { "constant": false, - "id": 2593, + "id": 4199, "mutability": "mutable", "name": "s", - "nameLocation": "1620:1:9", + "nameLocation": "1620:1:22", "nodeType": "VariableDeclaration", - "scope": 2598, - "src": "1607:14:9", + "scope": 4204, + "src": "1607:14:22", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -61041,10 +80016,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2592, + "id": 4198, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1607:5:9", + "src": "1607:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -61053,43 +80028,43 @@ "visibility": "internal" } ], - "src": "1582:40:9" + "src": "1582:40:22" }, "returnParameters": { - "id": 2595, + "id": 4201, "nodeType": "ParameterList", "parameters": [], - "src": "1632:0:9" + "src": "1632:0:22" }, - "scope": 3078, - "src": "1570:834:9", + "scope": 4684, + "src": "1570:834:22", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 2608, + "id": 4214, "nodeType": "Block", - "src": "2543:767:9", + "src": "2543:767:22", "statements": [ { "AST": { - "nativeSrc": "2605:699:9", + "nativeSrc": "2605:699:22", "nodeType": "YulBlock", - "src": "2605:699:9", + "src": "2605:699:22", "statements": [ { - "nativeSrc": "2619:40:9", + "nativeSrc": "2619:40:22", "nodeType": "YulVariableDeclaration", - "src": "2619:40:9", + "src": "2619:40:22", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "2636:4:9", + "nativeSrc": "2636:4:22", "nodeType": "YulLiteral", - "src": "2636:4:9", + "src": "2636:4:22", "type": "", "value": "0xff" }, @@ -61097,102 +80072,102 @@ "arguments": [ { "kind": "number", - "nativeSrc": "2646:1:9", + "nativeSrc": "2646:1:22", "nodeType": "YulLiteral", - "src": "2646:1:9", + "src": "2646:1:22", "type": "", "value": "8" }, { "name": "s.length", - "nativeSrc": "2649:8:9", + "nativeSrc": "2649:8:22", "nodeType": "YulIdentifier", - "src": "2649:8:9" + "src": "2649:8:22" } ], "functionName": { "name": "shl", - "nativeSrc": "2642:3:9", + "nativeSrc": "2642:3:22", "nodeType": "YulIdentifier", - "src": "2642:3:9" + "src": "2642:3:22" }, - "nativeSrc": "2642:16:9", + "nativeSrc": "2642:16:22", "nodeType": "YulFunctionCall", - "src": "2642:16:9" + "src": "2642:16:22" } ], "functionName": { "name": "or", - "nativeSrc": "2633:2:9", + "nativeSrc": "2633:2:22", "nodeType": "YulIdentifier", - "src": "2633:2:9" + "src": "2633:2:22" }, - "nativeSrc": "2633:26:9", + "nativeSrc": "2633:26:22", "nodeType": "YulFunctionCall", - "src": "2633:26:9" + "src": "2633:26:22" }, "variables": [ { "name": "packed", - "nativeSrc": "2623:6:9", + "nativeSrc": "2623:6:22", "nodeType": "YulTypedName", - "src": "2623:6:9", + "src": "2623:6:22", "type": "" } ] }, { "body": { - "nativeSrc": "2696:563:9", + "nativeSrc": "2696:563:22", "nodeType": "YulBlock", - "src": "2696:563:9", + "src": "2696:563:22", "statements": [ { "body": { - "nativeSrc": "2744:189:9", + "nativeSrc": "2744:189:22", "nodeType": "YulBlock", - "src": "2744:189:9", + "src": "2744:189:22", "statements": [ { - "nativeSrc": "2766:9:9", + "nativeSrc": "2766:9:22", "nodeType": "YulAssignment", - "src": "2766:9:9", + "src": "2766:9:22", "value": { "kind": "number", - "nativeSrc": "2771:4:9", + "nativeSrc": "2771:4:22", "nodeType": "YulLiteral", - "src": "2771:4:9", + "src": "2771:4:22", "type": "", "value": "0x1f" }, "variableNames": [ { "name": "i", - "nativeSrc": "2766:1:9", + "nativeSrc": "2766:1:22", "nodeType": "YulIdentifier", - "src": "2766:1:9" + "src": "2766:1:22" } ] }, { - "nativeSrc": "2796:62:9", + "nativeSrc": "2796:62:22", "nodeType": "YulAssignment", - "src": "2796:62:9", + "src": "2796:62:22", "value": { "arguments": [ { "name": "s.length", - "nativeSrc": "2809:8:9", + "nativeSrc": "2809:8:22", "nodeType": "YulIdentifier", - "src": "2809:8:9" + "src": "2809:8:22" }, { "arguments": [ { "kind": "number", - "nativeSrc": "2823:1:9", + "nativeSrc": "2823:1:22", "nodeType": "YulLiteral", - "src": "2823:1:9", + "src": "2823:1:22", "type": "", "value": "8" }, @@ -61200,9 +80175,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "2830:1:9", + "nativeSrc": "2830:1:22", "nodeType": "YulLiteral", - "src": "2830:1:9", + "src": "2830:1:22", "type": "", "value": "8" }, @@ -61210,73 +80185,73 @@ "arguments": [ { "name": "s.offset", - "nativeSrc": "2846:8:9", + "nativeSrc": "2846:8:22", "nodeType": "YulIdentifier", - "src": "2846:8:9" + "src": "2846:8:22" } ], "functionName": { "name": "calldataload", - "nativeSrc": "2833:12:9", + "nativeSrc": "2833:12:22", "nodeType": "YulIdentifier", - "src": "2833:12:9" + "src": "2833:12:22" }, - "nativeSrc": "2833:22:9", + "nativeSrc": "2833:22:22", "nodeType": "YulFunctionCall", - "src": "2833:22:9" + "src": "2833:22:22" } ], "functionName": { "name": "shr", - "nativeSrc": "2826:3:9", + "nativeSrc": "2826:3:22", "nodeType": "YulIdentifier", - "src": "2826:3:9" + "src": "2826:3:22" }, - "nativeSrc": "2826:30:9", + "nativeSrc": "2826:30:22", "nodeType": "YulFunctionCall", - "src": "2826:30:9" + "src": "2826:30:22" } ], "functionName": { "name": "shl", - "nativeSrc": "2819:3:9", + "nativeSrc": "2819:3:22", "nodeType": "YulIdentifier", - "src": "2819:3:9" + "src": "2819:3:22" }, - "nativeSrc": "2819:38:9", + "nativeSrc": "2819:38:22", "nodeType": "YulFunctionCall", - "src": "2819:38:9" + "src": "2819:38:22" } ], "functionName": { "name": "or", - "nativeSrc": "2806:2:9", + "nativeSrc": "2806:2:22", "nodeType": "YulIdentifier", - "src": "2806:2:9" + "src": "2806:2:22" }, - "nativeSrc": "2806:52:9", + "nativeSrc": "2806:52:22", "nodeType": "YulFunctionCall", - "src": "2806:52:9" + "src": "2806:52:22" }, "variableNames": [ { "name": "packed", - "nativeSrc": "2796:6:9", + "nativeSrc": "2796:6:22", "nodeType": "YulIdentifier", - "src": "2796:6:9" + "src": "2796:6:22" } ] }, { "body": { - "nativeSrc": "2906:9:9", + "nativeSrc": "2906:9:22", "nodeType": "YulBlock", - "src": "2906:9:9", + "src": "2906:9:22", "statements": [ { - "nativeSrc": "2908:5:9", + "nativeSrc": "2908:5:22", "nodeType": "YulBreak", - "src": "2908:5:9" + "src": "2908:5:22" } ] }, @@ -61286,41 +80261,41 @@ "arguments": [ { "name": "s.length", - "nativeSrc": "2892:8:9", + "nativeSrc": "2892:8:22", "nodeType": "YulIdentifier", - "src": "2892:8:9" + "src": "2892:8:22" }, { "name": "i", - "nativeSrc": "2902:1:9", + "nativeSrc": "2902:1:22", "nodeType": "YulIdentifier", - "src": "2902:1:9" + "src": "2902:1:22" } ], "functionName": { "name": "gt", - "nativeSrc": "2889:2:9", + "nativeSrc": "2889:2:22", "nodeType": "YulIdentifier", - "src": "2889:2:9" + "src": "2889:2:22" }, - "nativeSrc": "2889:15:9", + "nativeSrc": "2889:15:22", "nodeType": "YulFunctionCall", - "src": "2889:15:9" + "src": "2889:15:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "2882:6:9", + "nativeSrc": "2882:6:22", "nodeType": "YulIdentifier", - "src": "2882:6:9" + "src": "2882:6:22" }, - "nativeSrc": "2882:23:9", + "nativeSrc": "2882:23:22", "nodeType": "YulFunctionCall", - "src": "2882:23:9" + "src": "2882:23:22" }, - "nativeSrc": "2879:36:9", + "nativeSrc": "2879:36:22", "nodeType": "YulIf", - "src": "2879:36:9" + "src": "2879:36:22" } ] }, @@ -61330,81 +80305,81 @@ "arguments": [ { "name": "s.length", - "nativeSrc": "2727:8:9", + "nativeSrc": "2727:8:22", "nodeType": "YulIdentifier", - "src": "2727:8:9" + "src": "2727:8:22" }, { "kind": "number", - "nativeSrc": "2737:4:9", + "nativeSrc": "2737:4:22", "nodeType": "YulLiteral", - "src": "2737:4:9", + "src": "2737:4:22", "type": "", "value": "0xfe" } ], "functionName": { "name": "gt", - "nativeSrc": "2724:2:9", + "nativeSrc": "2724:2:22", "nodeType": "YulIdentifier", - "src": "2724:2:9" + "src": "2724:2:22" }, - "nativeSrc": "2724:18:9", + "nativeSrc": "2724:18:22", "nodeType": "YulFunctionCall", - "src": "2724:18:9" + "src": "2724:18:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "2717:6:9", + "nativeSrc": "2717:6:22", "nodeType": "YulIdentifier", - "src": "2717:6:9" + "src": "2717:6:22" }, - "nativeSrc": "2717:26:9", + "nativeSrc": "2717:26:22", "nodeType": "YulFunctionCall", - "src": "2717:26:9" + "src": "2717:26:22" }, - "nativeSrc": "2714:219:9", + "nativeSrc": "2714:219:22", "nodeType": "YulIf", - "src": "2714:219:9" + "src": "2714:219:22" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "2957:4:9", + "nativeSrc": "2957:4:22", "nodeType": "YulLiteral", - "src": "2957:4:9", + "src": "2957:4:22", "type": "", "value": "0x00" }, { "name": "$.slot", - "nativeSrc": "2963:6:9", + "nativeSrc": "2963:6:22", "nodeType": "YulIdentifier", - "src": "2963:6:9" + "src": "2963:6:22" } ], "functionName": { "name": "mstore", - "nativeSrc": "2950:6:9", + "nativeSrc": "2950:6:22", "nodeType": "YulIdentifier", - "src": "2950:6:9" + "src": "2950:6:22" }, - "nativeSrc": "2950:20:9", + "nativeSrc": "2950:20:22", "nodeType": "YulFunctionCall", - "src": "2950:20:9" + "src": "2950:20:22" }, - "nativeSrc": "2950:20:9", + "nativeSrc": "2950:20:22", "nodeType": "YulExpressionStatement", - "src": "2950:20:9" + "src": "2950:20:22" }, { "body": { - "nativeSrc": "3031:192:9", + "nativeSrc": "3031:192:22", "nodeType": "YulBlock", - "src": "3031:192:9", + "src": "3031:192:22", "statements": [ { "expression": { @@ -61413,47 +80388,47 @@ "arguments": [ { "name": "p", - "nativeSrc": "3064:1:9", + "nativeSrc": "3064:1:22", "nodeType": "YulIdentifier", - "src": "3064:1:9" + "src": "3064:1:22" }, { "arguments": [ { "kind": "number", - "nativeSrc": "3071:1:9", + "nativeSrc": "3071:1:22", "nodeType": "YulLiteral", - "src": "3071:1:9", + "src": "3071:1:22", "type": "", "value": "5" }, { "name": "i", - "nativeSrc": "3074:1:9", + "nativeSrc": "3074:1:22", "nodeType": "YulIdentifier", - "src": "3074:1:9" + "src": "3074:1:22" } ], "functionName": { "name": "shr", - "nativeSrc": "3067:3:9", + "nativeSrc": "3067:3:22", "nodeType": "YulIdentifier", - "src": "3067:3:9" + "src": "3067:3:22" }, - "nativeSrc": "3067:9:9", + "nativeSrc": "3067:9:22", "nodeType": "YulFunctionCall", - "src": "3067:9:9" + "src": "3067:9:22" } ], "functionName": { "name": "add", - "nativeSrc": "3060:3:9", + "nativeSrc": "3060:3:22", "nodeType": "YulIdentifier", - "src": "3060:3:9" + "src": "3060:3:22" }, - "nativeSrc": "3060:17:9", + "nativeSrc": "3060:17:22", "nodeType": "YulFunctionCall", - "src": "3060:17:9" + "src": "3060:17:22" }, { "arguments": [ @@ -61461,103 +80436,103 @@ "arguments": [ { "name": "s.offset", - "nativeSrc": "3096:8:9", + "nativeSrc": "3096:8:22", "nodeType": "YulIdentifier", - "src": "3096:8:9" + "src": "3096:8:22" }, { "name": "i", - "nativeSrc": "3106:1:9", + "nativeSrc": "3106:1:22", "nodeType": "YulIdentifier", - "src": "3106:1:9" + "src": "3106:1:22" } ], "functionName": { "name": "add", - "nativeSrc": "3092:3:9", + "nativeSrc": "3092:3:22", "nodeType": "YulIdentifier", - "src": "3092:3:9" + "src": "3092:3:22" }, - "nativeSrc": "3092:16:9", + "nativeSrc": "3092:16:22", "nodeType": "YulFunctionCall", - "src": "3092:16:9" + "src": "3092:16:22" } ], "functionName": { "name": "calldataload", - "nativeSrc": "3079:12:9", + "nativeSrc": "3079:12:22", "nodeType": "YulIdentifier", - "src": "3079:12:9" + "src": "3079:12:22" }, - "nativeSrc": "3079:30:9", + "nativeSrc": "3079:30:22", "nodeType": "YulFunctionCall", - "src": "3079:30:9" + "src": "3079:30:22" } ], "functionName": { "name": "sstore", - "nativeSrc": "3053:6:9", + "nativeSrc": "3053:6:22", "nodeType": "YulIdentifier", - "src": "3053:6:9" + "src": "3053:6:22" }, - "nativeSrc": "3053:57:9", + "nativeSrc": "3053:57:22", "nodeType": "YulFunctionCall", - "src": "3053:57:9" + "src": "3053:57:22" }, - "nativeSrc": "3053:57:9", + "nativeSrc": "3053:57:22", "nodeType": "YulExpressionStatement", - "src": "3053:57:9" + "src": "3053:57:22" }, { - "nativeSrc": "3131:17:9", + "nativeSrc": "3131:17:22", "nodeType": "YulAssignment", - "src": "3131:17:9", + "src": "3131:17:22", "value": { "arguments": [ { "name": "i", - "nativeSrc": "3140:1:9", + "nativeSrc": "3140:1:22", "nodeType": "YulIdentifier", - "src": "3140:1:9" + "src": "3140:1:22" }, { "kind": "number", - "nativeSrc": "3143:4:9", + "nativeSrc": "3143:4:22", "nodeType": "YulLiteral", - "src": "3143:4:9", + "src": "3143:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "3136:3:9", + "nativeSrc": "3136:3:22", "nodeType": "YulIdentifier", - "src": "3136:3:9" + "src": "3136:3:22" }, - "nativeSrc": "3136:12:9", + "nativeSrc": "3136:12:22", "nodeType": "YulFunctionCall", - "src": "3136:12:9" + "src": "3136:12:22" }, "variableNames": [ { "name": "i", - "nativeSrc": "3131:1:9", + "nativeSrc": "3131:1:22", "nodeType": "YulIdentifier", - "src": "3131:1:9" + "src": "3131:1:22" } ] }, { "body": { - "nativeSrc": "3196:9:9", + "nativeSrc": "3196:9:22", "nodeType": "YulBlock", - "src": "3196:9:9", + "src": "3196:9:22", "statements": [ { - "nativeSrc": "3198:5:9", + "nativeSrc": "3198:5:22", "nodeType": "YulBreak", - "src": "3198:5:9" + "src": "3198:5:22" } ] }, @@ -61567,195 +80542,195 @@ "arguments": [ { "name": "i", - "nativeSrc": "3182:1:9", + "nativeSrc": "3182:1:22", "nodeType": "YulIdentifier", - "src": "3182:1:9" + "src": "3182:1:22" }, { "name": "s.length", - "nativeSrc": "3185:8:9", + "nativeSrc": "3185:8:22", "nodeType": "YulIdentifier", - "src": "3185:8:9" + "src": "3185:8:22" } ], "functionName": { "name": "lt", - "nativeSrc": "3179:2:9", + "nativeSrc": "3179:2:22", "nodeType": "YulIdentifier", - "src": "3179:2:9" + "src": "3179:2:22" }, - "nativeSrc": "3179:15:9", + "nativeSrc": "3179:15:22", "nodeType": "YulFunctionCall", - "src": "3179:15:9" + "src": "3179:15:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "3172:6:9", + "nativeSrc": "3172:6:22", "nodeType": "YulIdentifier", - "src": "3172:6:9" + "src": "3172:6:22" }, - "nativeSrc": "3172:23:9", + "nativeSrc": "3172:23:22", "nodeType": "YulFunctionCall", - "src": "3172:23:9" + "src": "3172:23:22" }, - "nativeSrc": "3169:36:9", + "nativeSrc": "3169:36:22", "nodeType": "YulIf", - "src": "3169:36:9" + "src": "3169:36:22" } ] }, "condition": { "kind": "number", - "nativeSrc": "3026:1:9", + "nativeSrc": "3026:1:22", "nodeType": "YulLiteral", - "src": "3026:1:9", + "src": "3026:1:22", "type": "", "value": "1" }, - "nativeSrc": "2987:236:9", + "nativeSrc": "2987:236:22", "nodeType": "YulForLoop", "post": { - "nativeSrc": "3028:2:9", + "nativeSrc": "3028:2:22", "nodeType": "YulBlock", - "src": "3028:2:9", + "src": "3028:2:22", "statements": [] }, "pre": { - "nativeSrc": "2991:34:9", + "nativeSrc": "2991:34:22", "nodeType": "YulBlock", - "src": "2991:34:9", + "src": "2991:34:22", "statements": [ { - "nativeSrc": "2993:30:9", + "nativeSrc": "2993:30:22", "nodeType": "YulVariableDeclaration", - "src": "2993:30:9", + "src": "2993:30:22", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "3012:4:9", + "nativeSrc": "3012:4:22", "nodeType": "YulLiteral", - "src": "3012:4:9", + "src": "3012:4:22", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "3018:4:9", + "nativeSrc": "3018:4:22", "nodeType": "YulLiteral", - "src": "3018:4:9", + "src": "3018:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "keccak256", - "nativeSrc": "3002:9:9", + "nativeSrc": "3002:9:22", "nodeType": "YulIdentifier", - "src": "3002:9:9" + "src": "3002:9:22" }, - "nativeSrc": "3002:21:9", + "nativeSrc": "3002:21:22", "nodeType": "YulFunctionCall", - "src": "3002:21:9" + "src": "3002:21:22" }, "variables": [ { "name": "p", - "nativeSrc": "2997:1:9", + "nativeSrc": "2997:1:22", "nodeType": "YulTypedName", - "src": "2997:1:9", + "src": "2997:1:22", "type": "" } ] } ] }, - "src": "2987:236:9" + "src": "2987:236:22" }, { - "nativeSrc": "3240:5:9", + "nativeSrc": "3240:5:22", "nodeType": "YulBreak", - "src": "3240:5:9" + "src": "3240:5:22" } ] }, "condition": { "kind": "number", - "nativeSrc": "2691:1:9", + "nativeSrc": "2691:1:22", "nodeType": "YulLiteral", - "src": "2691:1:9", + "src": "2691:1:22", "type": "", "value": "1" }, - "nativeSrc": "2672:587:9", + "nativeSrc": "2672:587:22", "nodeType": "YulForLoop", "post": { - "nativeSrc": "2693:2:9", + "nativeSrc": "2693:2:22", "nodeType": "YulBlock", - "src": "2693:2:9", + "src": "2693:2:22", "statements": [] }, "pre": { - "nativeSrc": "2676:14:9", + "nativeSrc": "2676:14:22", "nodeType": "YulBlock", - "src": "2676:14:9", + "src": "2676:14:22", "statements": [ { - "nativeSrc": "2678:10:9", + "nativeSrc": "2678:10:22", "nodeType": "YulVariableDeclaration", - "src": "2678:10:9", + "src": "2678:10:22", "value": { "kind": "number", - "nativeSrc": "2687:1:9", + "nativeSrc": "2687:1:22", "nodeType": "YulLiteral", - "src": "2687:1:9", + "src": "2687:1:22", "type": "", "value": "0" }, "variables": [ { "name": "i", - "nativeSrc": "2682:1:9", + "nativeSrc": "2682:1:22", "nodeType": "YulTypedName", - "src": "2682:1:9", + "src": "2682:1:22", "type": "" } ] } ] }, - "src": "2672:587:9" + "src": "2672:587:22" }, { "expression": { "arguments": [ { "name": "$.slot", - "nativeSrc": "3279:6:9", + "nativeSrc": "3279:6:22", "nodeType": "YulIdentifier", - "src": "3279:6:9" + "src": "3279:6:22" }, { "name": "packed", - "nativeSrc": "3287:6:9", + "nativeSrc": "3287:6:22", "nodeType": "YulIdentifier", - "src": "3287:6:9" + "src": "3287:6:22" } ], "functionName": { "name": "sstore", - "nativeSrc": "3272:6:9", + "nativeSrc": "3272:6:22", "nodeType": "YulIdentifier", - "src": "3272:6:9" + "src": "3272:6:22" }, - "nativeSrc": "3272:22:9", + "nativeSrc": "3272:22:22", "nodeType": "YulFunctionCall", - "src": "3272:22:9" + "src": "3272:22:22" }, - "nativeSrc": "3272:22:9", + "nativeSrc": "3272:22:22", "nodeType": "YulExpressionStatement", - "src": "3272:22:9" + "src": "3272:22:22" } ] }, @@ -61763,133 +80738,133 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2602, + "declaration": 4208, "isOffset": false, "isSlot": true, - "src": "2963:6:9", + "src": "2963:6:22", "suffix": "slot", "valueSize": 1 }, { - "declaration": 2602, + "declaration": 4208, "isOffset": false, "isSlot": true, - "src": "3279:6:9", + "src": "3279:6:22", "suffix": "slot", "valueSize": 1 }, { - "declaration": 2604, + "declaration": 4210, "isOffset": false, "isSlot": false, - "src": "2649:8:9", + "src": "2649:8:22", "suffix": "length", "valueSize": 1 }, { - "declaration": 2604, + "declaration": 4210, "isOffset": false, "isSlot": false, - "src": "2727:8:9", + "src": "2727:8:22", "suffix": "length", "valueSize": 1 }, { - "declaration": 2604, + "declaration": 4210, "isOffset": false, "isSlot": false, - "src": "2809:8:9", + "src": "2809:8:22", "suffix": "length", "valueSize": 1 }, { - "declaration": 2604, + "declaration": 4210, "isOffset": false, "isSlot": false, - "src": "2892:8:9", + "src": "2892:8:22", "suffix": "length", "valueSize": 1 }, { - "declaration": 2604, + "declaration": 4210, "isOffset": false, "isSlot": false, - "src": "3185:8:9", + "src": "3185:8:22", "suffix": "length", "valueSize": 1 }, { - "declaration": 2604, + "declaration": 4210, "isOffset": true, "isSlot": false, - "src": "2846:8:9", + "src": "2846:8:22", "suffix": "offset", "valueSize": 1 }, { - "declaration": 2604, + "declaration": 4210, "isOffset": true, "isSlot": false, - "src": "3096:8:9", + "src": "3096:8:22", "suffix": "offset", "valueSize": 1 } ], - "id": 2607, + "id": 4213, "nodeType": "InlineAssembly", - "src": "2596:708:9" + "src": "2596:708:22" } ] }, "documentation": { - "id": 2599, + "id": 4205, "nodeType": "StructuredDocumentation", - "src": "2410:56:9", + "src": "2410:56:22", "text": "@dev Sets the value of the bytes storage `$` to `s`." }, - "id": 2609, + "id": 4215, "implemented": true, "kind": "function", "modifiers": [], "name": "setCalldata", - "nameLocation": "2480:11:9", + "nameLocation": "2480:11:22", "nodeType": "FunctionDefinition", "parameters": { - "id": 2605, + "id": 4211, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2602, + "id": 4208, "mutability": "mutable", "name": "$", - "nameLocation": "2513:1:9", + "nameLocation": "2513:1:22", "nodeType": "VariableDeclaration", - "scope": 2609, - "src": "2492:22:9", + "scope": 4215, + "src": "2492:22:22", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$4185_storage_ptr", "typeString": "struct LibBytes.BytesStorage" }, "typeName": { - "id": 2601, + "id": 4207, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 2600, + "id": 4206, "name": "BytesStorage", "nameLocations": [ - "2492:12:9" + "2492:12:22" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 2579, - "src": "2492:12:9" + "referencedDeclaration": 4185, + "src": "2492:12:22" }, - "referencedDeclaration": 2579, - "src": "2492:12:9", + "referencedDeclaration": 4185, + "src": "2492:12:22", "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$4185_storage_ptr", "typeString": "struct LibBytes.BytesStorage" } }, @@ -61897,13 +80872,13 @@ }, { "constant": false, - "id": 2604, + "id": 4210, "mutability": "mutable", "name": "s", - "nameLocation": "2531:1:9", + "nameLocation": "2531:1:22", "nodeType": "VariableDeclaration", - "scope": 2609, - "src": "2516:16:9", + "scope": 4215, + "src": "2516:16:22", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -61911,10 +80886,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2603, + "id": 4209, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "2516:5:9", + "src": "2516:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -61923,29 +80898,29 @@ "visibility": "internal" } ], - "src": "2491:42:9" + "src": "2491:42:22" }, "returnParameters": { - "id": 2606, + "id": 4212, "nodeType": "ParameterList", "parameters": [], - "src": "2543:0:9" + "src": "2543:0:22" }, - "scope": 3078, - "src": "2471:839:9", + "scope": 4684, + "src": "2471:839:22", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 2620, + "id": 4226, "nodeType": "Block", - "src": "3437:33:9", + "src": "3437:33:22", "statements": [ { "expression": { - "id": 2618, + "id": 4224, "isConstant": false, "isLValue": false, "isPure": false, @@ -61953,30 +80928,30 @@ "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, - "src": "3447:16:9", + "src": "3447:16:22", "subExpression": { "expression": { - "id": 2616, + "id": 4222, "name": "$", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2613, - "src": "3454:1:9", + "referencedDeclaration": 4219, + "src": "3454:1:22", "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$4185_storage_ptr", "typeString": "struct LibBytes.BytesStorage storage pointer" } }, - "id": 2617, + "id": 4223, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, - "memberLocation": "3456:7:9", + "memberLocation": "3456:7:22", "memberName": "_spacer", "nodeType": "MemberAccess", - "referencedDeclaration": 2578, - "src": "3454:9:9", + "referencedDeclaration": 4184, + "src": "3454:9:22", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -61987,86 +80962,86 @@ "typeString": "tuple()" } }, - "id": 2619, + "id": 4225, "nodeType": "ExpressionStatement", - "src": "3447:16:9" + "src": "3447:16:22" } ] }, "documentation": { - "id": 2610, + "id": 4216, "nodeType": "StructuredDocumentation", - "src": "3316:68:9", + "src": "3316:68:22", "text": "@dev Sets the value of the bytes storage `$` to the empty bytes." }, - "id": 2621, + "id": 4227, "implemented": true, "kind": "function", "modifiers": [], "name": "clear", - "nameLocation": "3398:5:9", + "nameLocation": "3398:5:22", "nodeType": "FunctionDefinition", "parameters": { - "id": 2614, + "id": 4220, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2613, + "id": 4219, "mutability": "mutable", "name": "$", - "nameLocation": "3425:1:9", + "nameLocation": "3425:1:22", "nodeType": "VariableDeclaration", - "scope": 2621, - "src": "3404:22:9", + "scope": 4227, + "src": "3404:22:22", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$4185_storage_ptr", "typeString": "struct LibBytes.BytesStorage" }, "typeName": { - "id": 2612, + "id": 4218, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 2611, + "id": 4217, "name": "BytesStorage", "nameLocations": [ - "3404:12:9" + "3404:12:22" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 2579, - "src": "3404:12:9" + "referencedDeclaration": 4185, + "src": "3404:12:22" }, - "referencedDeclaration": 2579, - "src": "3404:12:9", + "referencedDeclaration": 4185, + "src": "3404:12:22", "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$4185_storage_ptr", "typeString": "struct LibBytes.BytesStorage" } }, "visibility": "internal" } ], - "src": "3403:24:9" + "src": "3403:24:22" }, "returnParameters": { - "id": 2615, + "id": 4221, "nodeType": "ParameterList", "parameters": [], - "src": "3437:0:9" + "src": "3437:0:22" }, - "scope": 3078, - "src": "3389:81:9", + "scope": 4684, + "src": "3389:81:22", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 2643, + "id": 4249, "nodeType": "Block", - "src": "3622:63:9", + "src": "3622:63:22", "statements": [ { "expression": { @@ -62074,7 +81049,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2641, + "id": 4247, "isConstant": false, "isLValue": false, "isPure": false, @@ -62084,7 +81059,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2636, + "id": 4242, "isConstant": false, "isLValue": false, "isPure": false, @@ -62093,27 +81068,27 @@ "arguments": [ { "expression": { - "id": 2632, + "id": 4238, "name": "$", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2625, - "src": "3647:1:9", + "referencedDeclaration": 4231, + "src": "3647:1:22", "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$4185_storage_ptr", "typeString": "struct LibBytes.BytesStorage storage pointer" } }, - "id": 2633, + "id": 4239, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "3649:7:9", + "memberLocation": "3649:7:22", "memberName": "_spacer", "nodeType": "MemberAccess", - "referencedDeclaration": 2578, - "src": "3647:9:9", + "referencedDeclaration": 4184, + "src": "3647:9:22", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -62127,26 +81102,26 @@ "typeString": "bytes32" } ], - "id": 2631, + "id": 4237, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3639:7:9", + "src": "3639:7:22", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 2630, + "id": 4236, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3639:7:9", + "src": "3639:7:22", "typeDescriptions": {} } }, - "id": 2634, + "id": 4240, "isConstant": false, "isLValue": false, "isPure": false, @@ -62155,7 +81130,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3639:18:9", + "src": "3639:18:22", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -62166,21 +81141,21 @@ "operator": "&", "rightExpression": { "hexValue": "30786666", - "id": 2635, + "id": 4241, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3660:4:9", + "src": "3660:4:22", "typeDescriptions": { "typeIdentifier": "t_rational_255_by_1", "typeString": "int_const 255" }, "value": "0xff" }, - "src": "3639:25:9", + "src": "3639:25:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -62192,14 +81167,14 @@ "arguments": [ { "hexValue": "30", - "id": 2639, + "id": 4245, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3676:1:9", + "src": "3676:1:22", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -62214,26 +81189,26 @@ "typeString": "int_const 0" } ], - "id": 2638, + "id": 4244, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3668:7:9", + "src": "3668:7:22", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 2637, + "id": 4243, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3668:7:9", + "src": "3668:7:22", "typeDescriptions": {} } }, - "id": 2640, + "id": 4246, "isConstant": false, "isLValue": false, "isPure": true, @@ -62242,96 +81217,96 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3668:10:9", + "src": "3668:10:22", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3639:39:9", + "src": "3639:39:22", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 2629, - "id": 2642, + "functionReturnParameters": 4235, + "id": 4248, "nodeType": "Return", - "src": "3632:46:9" + "src": "3632:46:22" } ] }, "documentation": { - "id": 2622, + "id": 4228, "nodeType": "StructuredDocumentation", - "src": "3476:71:9", + "src": "3476:71:22", "text": "@dev Returns whether the value stored is `$` is the empty bytes \"\"." }, - "id": 2644, + "id": 4250, "implemented": true, "kind": "function", "modifiers": [], "name": "isEmpty", - "nameLocation": "3561:7:9", + "nameLocation": "3561:7:22", "nodeType": "FunctionDefinition", "parameters": { - "id": 2626, + "id": 4232, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2625, + "id": 4231, "mutability": "mutable", "name": "$", - "nameLocation": "3590:1:9", + "nameLocation": "3590:1:22", "nodeType": "VariableDeclaration", - "scope": 2644, - "src": "3569:22:9", + "scope": 4250, + "src": "3569:22:22", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$4185_storage_ptr", "typeString": "struct LibBytes.BytesStorage" }, "typeName": { - "id": 2624, + "id": 4230, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 2623, + "id": 4229, "name": "BytesStorage", "nameLocations": [ - "3569:12:9" + "3569:12:22" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 2579, - "src": "3569:12:9" + "referencedDeclaration": 4185, + "src": "3569:12:22" }, - "referencedDeclaration": 2579, - "src": "3569:12:9", + "referencedDeclaration": 4185, + "src": "3569:12:22", "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$4185_storage_ptr", "typeString": "struct LibBytes.BytesStorage" } }, "visibility": "internal" } ], - "src": "3568:24:9" + "src": "3568:24:22" }, "returnParameters": { - "id": 2629, + "id": 4235, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2628, + "id": 4234, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2644, - "src": "3616:4:9", + "scope": 4250, + "src": "3616:4:22", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -62339,10 +81314,10 @@ "typeString": "bool" }, "typeName": { - "id": 2627, + "id": 4233, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "3616:4:9", + "src": "3616:4:22", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -62351,34 +81326,34 @@ "visibility": "internal" } ], - "src": "3615:6:9" + "src": "3615:6:22" }, - "scope": 3078, - "src": "3552:133:9", + "scope": 4684, + "src": "3552:133:22", "stateMutability": "view", "virtual": false, "visibility": "internal" }, { "body": { - "id": 2662, + "id": 4268, "nodeType": "Block", - "src": "3830:243:9", + "src": "3830:243:22", "statements": [ { "expression": { - "id": 2659, + "id": 4265, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 2653, + "id": 4259, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2651, - "src": "3840:6:9", + "referencedDeclaration": 4257, + "src": "3840:6:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -62390,27 +81365,27 @@ "arguments": [ { "expression": { - "id": 2656, + "id": 4262, "name": "$", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2648, - "src": "3857:1:9", + "referencedDeclaration": 4254, + "src": "3857:1:22", "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$4185_storage_ptr", "typeString": "struct LibBytes.BytesStorage storage pointer" } }, - "id": 2657, + "id": 4263, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "3859:7:9", + "memberLocation": "3859:7:22", "memberName": "_spacer", "nodeType": "MemberAccess", - "referencedDeclaration": 2578, - "src": "3857:9:9", + "referencedDeclaration": 4184, + "src": "3857:9:22", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -62424,26 +81399,26 @@ "typeString": "bytes32" } ], - "id": 2655, + "id": 4261, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3849:7:9", + "src": "3849:7:22", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 2654, + "id": 4260, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3849:7:9", + "src": "3849:7:22", "typeDescriptions": {} } }, - "id": 2658, + "id": 4264, "isConstant": false, "isLValue": false, "isPure": false, @@ -62452,74 +81427,74 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3849:18:9", + "src": "3849:18:22", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3840:27:9", + "src": "3840:27:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2660, + "id": 4266, "nodeType": "ExpressionStatement", - "src": "3840:27:9" + "src": "3840:27:22" }, { "AST": { - "nativeSrc": "3929:138:9", + "nativeSrc": "3929:138:22", "nodeType": "YulBlock", - "src": "3929:138:9", + "src": "3929:138:22", "statements": [ { - "nativeSrc": "3943:26:9", + "nativeSrc": "3943:26:22", "nodeType": "YulVariableDeclaration", - "src": "3943:26:9", + "src": "3943:26:22", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "3956:4:9", + "nativeSrc": "3956:4:22", "nodeType": "YulLiteral", - "src": "3956:4:9", + "src": "3956:4:22", "type": "", "value": "0xff" }, { "name": "result", - "nativeSrc": "3962:6:9", + "nativeSrc": "3962:6:22", "nodeType": "YulIdentifier", - "src": "3962:6:9" + "src": "3962:6:22" } ], "functionName": { "name": "and", - "nativeSrc": "3952:3:9", + "nativeSrc": "3952:3:22", "nodeType": "YulIdentifier", - "src": "3952:3:9" + "src": "3952:3:22" }, - "nativeSrc": "3952:17:9", + "nativeSrc": "3952:17:22", "nodeType": "YulFunctionCall", - "src": "3952:17:9" + "src": "3952:17:22" }, "variables": [ { "name": "n", - "nativeSrc": "3947:1:9", + "nativeSrc": "3947:1:22", "nodeType": "YulTypedName", - "src": "3947:1:9", + "src": "3947:1:22", "type": "" } ] }, { - "nativeSrc": "3982:75:9", + "nativeSrc": "3982:75:22", "nodeType": "YulAssignment", - "src": "3982:75:9", + "src": "3982:75:22", "value": { "arguments": [ { @@ -62528,74 +81503,74 @@ "arguments": [ { "kind": "number", - "nativeSrc": "4003:1:9", + "nativeSrc": "4003:1:22", "nodeType": "YulLiteral", - "src": "4003:1:9", + "src": "4003:1:22", "type": "", "value": "8" }, { "name": "result", - "nativeSrc": "4006:6:9", + "nativeSrc": "4006:6:22", "nodeType": "YulIdentifier", - "src": "4006:6:9" + "src": "4006:6:22" } ], "functionName": { "name": "shr", - "nativeSrc": "3999:3:9", + "nativeSrc": "3999:3:22", "nodeType": "YulIdentifier", - "src": "3999:3:9" + "src": "3999:3:22" }, - "nativeSrc": "3999:14:9", + "nativeSrc": "3999:14:22", "nodeType": "YulFunctionCall", - "src": "3999:14:9" + "src": "3999:14:22" }, { "arguments": [ { "kind": "number", - "nativeSrc": "4018:4:9", + "nativeSrc": "4018:4:22", "nodeType": "YulLiteral", - "src": "4018:4:9", + "src": "4018:4:22", "type": "", "value": "0xff" }, { "name": "n", - "nativeSrc": "4024:1:9", + "nativeSrc": "4024:1:22", "nodeType": "YulIdentifier", - "src": "4024:1:9" + "src": "4024:1:22" } ], "functionName": { "name": "eq", - "nativeSrc": "4015:2:9", + "nativeSrc": "4015:2:22", "nodeType": "YulIdentifier", - "src": "4015:2:9" + "src": "4015:2:22" }, - "nativeSrc": "4015:11:9", + "nativeSrc": "4015:11:22", "nodeType": "YulFunctionCall", - "src": "4015:11:9" + "src": "4015:11:22" } ], "functionName": { "name": "mul", - "nativeSrc": "3995:3:9", + "nativeSrc": "3995:3:22", "nodeType": "YulIdentifier", - "src": "3995:3:9" + "src": "3995:3:22" }, - "nativeSrc": "3995:32:9", + "nativeSrc": "3995:32:22", "nodeType": "YulFunctionCall", - "src": "3995:32:9" + "src": "3995:32:22" }, { "arguments": [ { "name": "n", - "nativeSrc": "4033:1:9", + "nativeSrc": "4033:1:22", "nodeType": "YulIdentifier", - "src": "4033:1:9" + "src": "4033:1:22" }, { "arguments": [ @@ -62603,68 +81578,68 @@ "arguments": [ { "kind": "number", - "nativeSrc": "4046:4:9", + "nativeSrc": "4046:4:22", "nodeType": "YulLiteral", - "src": "4046:4:9", + "src": "4046:4:22", "type": "", "value": "0xff" }, { "name": "n", - "nativeSrc": "4052:1:9", + "nativeSrc": "4052:1:22", "nodeType": "YulIdentifier", - "src": "4052:1:9" + "src": "4052:1:22" } ], "functionName": { "name": "eq", - "nativeSrc": "4043:2:9", + "nativeSrc": "4043:2:22", "nodeType": "YulIdentifier", - "src": "4043:2:9" + "src": "4043:2:22" }, - "nativeSrc": "4043:11:9", + "nativeSrc": "4043:11:22", "nodeType": "YulFunctionCall", - "src": "4043:11:9" + "src": "4043:11:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "4036:6:9", + "nativeSrc": "4036:6:22", "nodeType": "YulIdentifier", - "src": "4036:6:9" + "src": "4036:6:22" }, - "nativeSrc": "4036:19:9", + "nativeSrc": "4036:19:22", "nodeType": "YulFunctionCall", - "src": "4036:19:9" + "src": "4036:19:22" } ], "functionName": { "name": "mul", - "nativeSrc": "4029:3:9", + "nativeSrc": "4029:3:22", "nodeType": "YulIdentifier", - "src": "4029:3:9" + "src": "4029:3:22" }, - "nativeSrc": "4029:27:9", + "nativeSrc": "4029:27:22", "nodeType": "YulFunctionCall", - "src": "4029:27:9" + "src": "4029:27:22" } ], "functionName": { "name": "or", - "nativeSrc": "3992:2:9", + "nativeSrc": "3992:2:22", "nodeType": "YulIdentifier", - "src": "3992:2:9" + "src": "3992:2:22" }, - "nativeSrc": "3992:65:9", + "nativeSrc": "3992:65:22", "nodeType": "YulFunctionCall", - "src": "3992:65:9" + "src": "3992:65:22" }, "variableNames": [ { "name": "result", - "nativeSrc": "3982:6:9", + "nativeSrc": "3982:6:22", "nodeType": "YulIdentifier", - "src": "3982:6:9" + "src": "3982:6:22" } ] } @@ -62674,103 +81649,103 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2651, + "declaration": 4257, "isOffset": false, "isSlot": false, - "src": "3962:6:9", + "src": "3962:6:22", "valueSize": 1 }, { - "declaration": 2651, + "declaration": 4257, "isOffset": false, "isSlot": false, - "src": "3982:6:9", + "src": "3982:6:22", "valueSize": 1 }, { - "declaration": 2651, + "declaration": 4257, "isOffset": false, "isSlot": false, - "src": "4006:6:9", + "src": "4006:6:22", "valueSize": 1 } ], - "id": 2661, + "id": 4267, "nodeType": "InlineAssembly", - "src": "3920:147:9" + "src": "3920:147:22" } ] }, "documentation": { - "id": 2645, + "id": 4251, "nodeType": "StructuredDocumentation", - "src": "3691:55:9", + "src": "3691:55:22", "text": "@dev Returns the length of the value stored in `$`." }, - "id": 2663, + "id": 4269, "implemented": true, "kind": "function", "modifiers": [], "name": "length", - "nameLocation": "3760:6:9", + "nameLocation": "3760:6:22", "nodeType": "FunctionDefinition", "parameters": { - "id": 2649, + "id": 4255, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2648, + "id": 4254, "mutability": "mutable", "name": "$", - "nameLocation": "3788:1:9", + "nameLocation": "3788:1:22", "nodeType": "VariableDeclaration", - "scope": 2663, - "src": "3767:22:9", + "scope": 4269, + "src": "3767:22:22", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$4185_storage_ptr", "typeString": "struct LibBytes.BytesStorage" }, "typeName": { - "id": 2647, + "id": 4253, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 2646, + "id": 4252, "name": "BytesStorage", "nameLocations": [ - "3767:12:9" + "3767:12:22" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 2579, - "src": "3767:12:9" + "referencedDeclaration": 4185, + "src": "3767:12:22" }, - "referencedDeclaration": 2579, - "src": "3767:12:9", + "referencedDeclaration": 4185, + "src": "3767:12:22", "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$4185_storage_ptr", "typeString": "struct LibBytes.BytesStorage" } }, "visibility": "internal" } ], - "src": "3766:24:9" + "src": "3766:24:22" }, "returnParameters": { - "id": 2652, + "id": 4258, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2651, + "id": 4257, "mutability": "mutable", "name": "result", - "nameLocation": "3822:6:9", + "nameLocation": "3822:6:22", "nodeType": "VariableDeclaration", - "scope": 2663, - "src": "3814:14:9", + "scope": 4269, + "src": "3814:14:22", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -62778,10 +81753,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2650, + "id": 4256, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3814:7:9", + "src": "3814:7:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -62790,288 +81765,288 @@ "visibility": "internal" } ], - "src": "3813:16:9" + "src": "3813:16:22" }, - "scope": 3078, - "src": "3751:322:9", + "scope": 4684, + "src": "3751:322:22", "stateMutability": "view", "virtual": false, "visibility": "internal" }, { "body": { - "id": 2673, + "id": 4279, "nodeType": "Block", - "src": "4206:1010:9", + "src": "4206:1010:22", "statements": [ { "AST": { - "nativeSrc": "4268:942:9", + "nativeSrc": "4268:942:22", "nodeType": "YulBlock", - "src": "4268:942:9", + "src": "4268:942:22", "statements": [ { - "nativeSrc": "4282:21:9", + "nativeSrc": "4282:21:22", "nodeType": "YulAssignment", - "src": "4282:21:9", + "src": "4282:21:22", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "4298:4:9", + "nativeSrc": "4298:4:22", "nodeType": "YulLiteral", - "src": "4298:4:9", + "src": "4298:4:22", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "4292:5:9", + "nativeSrc": "4292:5:22", "nodeType": "YulIdentifier", - "src": "4292:5:9" + "src": "4292:5:22" }, - "nativeSrc": "4292:11:9", + "nativeSrc": "4292:11:22", "nodeType": "YulFunctionCall", - "src": "4292:11:9" + "src": "4292:11:22" }, "variableNames": [ { "name": "result", - "nativeSrc": "4282:6:9", + "nativeSrc": "4282:6:22", "nodeType": "YulIdentifier", - "src": "4282:6:9" + "src": "4282:6:22" } ] }, { - "nativeSrc": "4316:26:9", + "nativeSrc": "4316:26:22", "nodeType": "YulVariableDeclaration", - "src": "4316:26:9", + "src": "4316:26:22", "value": { "arguments": [ { "name": "result", - "nativeSrc": "4329:6:9", + "nativeSrc": "4329:6:22", "nodeType": "YulIdentifier", - "src": "4329:6:9" + "src": "4329:6:22" }, { "kind": "number", - "nativeSrc": "4337:4:9", + "nativeSrc": "4337:4:22", "nodeType": "YulLiteral", - "src": "4337:4:9", + "src": "4337:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "4325:3:9", + "nativeSrc": "4325:3:22", "nodeType": "YulIdentifier", - "src": "4325:3:9" + "src": "4325:3:22" }, - "nativeSrc": "4325:17:9", + "nativeSrc": "4325:17:22", "nodeType": "YulFunctionCall", - "src": "4325:17:9" + "src": "4325:17:22" }, "variables": [ { "name": "o", - "nativeSrc": "4320:1:9", + "nativeSrc": "4320:1:22", "nodeType": "YulTypedName", - "src": "4320:1:9", + "src": "4320:1:22", "type": "" } ] }, { - "nativeSrc": "4355:27:9", + "nativeSrc": "4355:27:22", "nodeType": "YulVariableDeclaration", - "src": "4355:27:9", + "src": "4355:27:22", "value": { "arguments": [ { "name": "$.slot", - "nativeSrc": "4375:6:9", + "nativeSrc": "4375:6:22", "nodeType": "YulIdentifier", - "src": "4375:6:9" + "src": "4375:6:22" } ], "functionName": { "name": "sload", - "nativeSrc": "4369:5:9", + "nativeSrc": "4369:5:22", "nodeType": "YulIdentifier", - "src": "4369:5:9" + "src": "4369:5:22" }, - "nativeSrc": "4369:13:9", + "nativeSrc": "4369:13:22", "nodeType": "YulFunctionCall", - "src": "4369:13:9" + "src": "4369:13:22" }, "variables": [ { "name": "packed", - "nativeSrc": "4359:6:9", + "nativeSrc": "4359:6:22", "nodeType": "YulTypedName", - "src": "4359:6:9", + "src": "4359:6:22", "type": "" } ] }, { - "nativeSrc": "4395:23:9", + "nativeSrc": "4395:23:22", "nodeType": "YulVariableDeclaration", - "src": "4395:23:9", + "src": "4395:23:22", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "4408:1:9", + "nativeSrc": "4408:1:22", "nodeType": "YulLiteral", - "src": "4408:1:9", + "src": "4408:1:22", "type": "", "value": "8" }, { "name": "packed", - "nativeSrc": "4411:6:9", + "nativeSrc": "4411:6:22", "nodeType": "YulIdentifier", - "src": "4411:6:9" + "src": "4411:6:22" } ], "functionName": { "name": "shr", - "nativeSrc": "4404:3:9", + "nativeSrc": "4404:3:22", "nodeType": "YulIdentifier", - "src": "4404:3:9" + "src": "4404:3:22" }, - "nativeSrc": "4404:14:9", + "nativeSrc": "4404:14:22", "nodeType": "YulFunctionCall", - "src": "4404:14:9" + "src": "4404:14:22" }, "variables": [ { "name": "n", - "nativeSrc": "4399:1:9", + "nativeSrc": "4399:1:22", "nodeType": "YulTypedName", - "src": "4399:1:9", + "src": "4399:1:22", "type": "" } ] }, { "body": { - "nativeSrc": "4455:543:9", + "nativeSrc": "4455:543:22", "nodeType": "YulBlock", - "src": "4455:543:9", + "src": "4455:543:22", "statements": [ { "body": { - "nativeSrc": "4513:180:9", + "nativeSrc": "4513:180:22", "nodeType": "YulBlock", - "src": "4513:180:9", + "src": "4513:180:22", "statements": [ { "expression": { "arguments": [ { "name": "o", - "nativeSrc": "4542:1:9", + "nativeSrc": "4542:1:22", "nodeType": "YulIdentifier", - "src": "4542:1:9" + "src": "4542:1:22" }, { "name": "packed", - "nativeSrc": "4545:6:9", + "nativeSrc": "4545:6:22", "nodeType": "YulIdentifier", - "src": "4545:6:9" + "src": "4545:6:22" } ], "functionName": { "name": "mstore", - "nativeSrc": "4535:6:9", + "nativeSrc": "4535:6:22", "nodeType": "YulIdentifier", - "src": "4535:6:9" + "src": "4535:6:22" }, - "nativeSrc": "4535:17:9", + "nativeSrc": "4535:17:22", "nodeType": "YulFunctionCall", - "src": "4535:17:9" + "src": "4535:17:22" }, - "nativeSrc": "4535:17:9", + "nativeSrc": "4535:17:22", "nodeType": "YulExpressionStatement", - "src": "4535:17:9" + "src": "4535:17:22" }, { - "nativeSrc": "4573:22:9", + "nativeSrc": "4573:22:22", "nodeType": "YulAssignment", - "src": "4573:22:9", + "src": "4573:22:22", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "4582:4:9", + "nativeSrc": "4582:4:22", "nodeType": "YulLiteral", - "src": "4582:4:9", + "src": "4582:4:22", "type": "", "value": "0xff" }, { "name": "packed", - "nativeSrc": "4588:6:9", + "nativeSrc": "4588:6:22", "nodeType": "YulIdentifier", - "src": "4588:6:9" + "src": "4588:6:22" } ], "functionName": { "name": "and", - "nativeSrc": "4578:3:9", + "nativeSrc": "4578:3:22", "nodeType": "YulIdentifier", - "src": "4578:3:9" + "src": "4578:3:22" }, - "nativeSrc": "4578:17:9", + "nativeSrc": "4578:17:22", "nodeType": "YulFunctionCall", - "src": "4578:17:9" + "src": "4578:17:22" }, "variableNames": [ { "name": "n", - "nativeSrc": "4573:1:9", + "nativeSrc": "4573:1:22", "nodeType": "YulIdentifier", - "src": "4573:1:9" + "src": "4573:1:22" } ] }, { - "nativeSrc": "4616:9:9", + "nativeSrc": "4616:9:22", "nodeType": "YulAssignment", - "src": "4616:9:9", + "src": "4616:9:22", "value": { "kind": "number", - "nativeSrc": "4621:4:9", + "nativeSrc": "4621:4:22", "nodeType": "YulLiteral", - "src": "4621:4:9", + "src": "4621:4:22", "type": "", "value": "0x1f" }, "variableNames": [ { "name": "i", - "nativeSrc": "4616:1:9", + "nativeSrc": "4616:1:22", "nodeType": "YulIdentifier", - "src": "4616:1:9" + "src": "4616:1:22" } ] }, { "body": { - "nativeSrc": "4666:9:9", + "nativeSrc": "4666:9:22", "nodeType": "YulBlock", - "src": "4666:9:9", + "src": "4666:9:22", "statements": [ { - "nativeSrc": "4668:5:9", + "nativeSrc": "4668:5:22", "nodeType": "YulBreak", - "src": "4668:5:9" + "src": "4668:5:22" } ] }, @@ -63081,41 +82056,41 @@ "arguments": [ { "name": "n", - "nativeSrc": "4659:1:9", + "nativeSrc": "4659:1:22", "nodeType": "YulIdentifier", - "src": "4659:1:9" + "src": "4659:1:22" }, { "name": "i", - "nativeSrc": "4662:1:9", + "nativeSrc": "4662:1:22", "nodeType": "YulIdentifier", - "src": "4662:1:9" + "src": "4662:1:22" } ], "functionName": { "name": "gt", - "nativeSrc": "4656:2:9", + "nativeSrc": "4656:2:22", "nodeType": "YulIdentifier", - "src": "4656:2:9" + "src": "4656:2:22" }, - "nativeSrc": "4656:8:9", + "nativeSrc": "4656:8:22", "nodeType": "YulFunctionCall", - "src": "4656:8:9" + "src": "4656:8:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "4649:6:9", + "nativeSrc": "4649:6:22", "nodeType": "YulIdentifier", - "src": "4649:6:9" + "src": "4649:6:22" }, - "nativeSrc": "4649:16:9", + "nativeSrc": "4649:16:22", "nodeType": "YulFunctionCall", - "src": "4649:16:9" + "src": "4649:16:22" }, - "nativeSrc": "4646:29:9", + "nativeSrc": "4646:29:22", "nodeType": "YulIf", - "src": "4646:29:9" + "src": "4646:29:22" } ] }, @@ -63127,98 +82102,98 @@ "arguments": [ { "name": "packed", - "nativeSrc": "4489:6:9", + "nativeSrc": "4489:6:22", "nodeType": "YulIdentifier", - "src": "4489:6:9" + "src": "4489:6:22" }, { "kind": "number", - "nativeSrc": "4497:4:9", + "nativeSrc": "4497:4:22", "nodeType": "YulLiteral", - "src": "4497:4:9", + "src": "4497:4:22", "type": "", "value": "0xff" } ], "functionName": { "name": "or", - "nativeSrc": "4486:2:9", + "nativeSrc": "4486:2:22", "nodeType": "YulIdentifier", - "src": "4486:2:9" + "src": "4486:2:22" }, - "nativeSrc": "4486:16:9", + "nativeSrc": "4486:16:22", "nodeType": "YulFunctionCall", - "src": "4486:16:9" + "src": "4486:16:22" }, { "name": "packed", - "nativeSrc": "4504:6:9", + "nativeSrc": "4504:6:22", "nodeType": "YulIdentifier", - "src": "4504:6:9" + "src": "4504:6:22" } ], "functionName": { "name": "eq", - "nativeSrc": "4483:2:9", + "nativeSrc": "4483:2:22", "nodeType": "YulIdentifier", - "src": "4483:2:9" + "src": "4483:2:22" }, - "nativeSrc": "4483:28:9", + "nativeSrc": "4483:28:22", "nodeType": "YulFunctionCall", - "src": "4483:28:9" + "src": "4483:28:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "4476:6:9", + "nativeSrc": "4476:6:22", "nodeType": "YulIdentifier", - "src": "4476:6:9" + "src": "4476:6:22" }, - "nativeSrc": "4476:36:9", + "nativeSrc": "4476:36:22", "nodeType": "YulFunctionCall", - "src": "4476:36:9" + "src": "4476:36:22" }, - "nativeSrc": "4473:220:9", + "nativeSrc": "4473:220:22", "nodeType": "YulIf", - "src": "4473:220:9" + "src": "4473:220:22" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "4717:4:9", + "nativeSrc": "4717:4:22", "nodeType": "YulLiteral", - "src": "4717:4:9", + "src": "4717:4:22", "type": "", "value": "0x00" }, { "name": "$.slot", - "nativeSrc": "4723:6:9", + "nativeSrc": "4723:6:22", "nodeType": "YulIdentifier", - "src": "4723:6:9" + "src": "4723:6:22" } ], "functionName": { "name": "mstore", - "nativeSrc": "4710:6:9", + "nativeSrc": "4710:6:22", "nodeType": "YulIdentifier", - "src": "4710:6:9" + "src": "4710:6:22" }, - "nativeSrc": "4710:20:9", + "nativeSrc": "4710:20:22", "nodeType": "YulFunctionCall", - "src": "4710:20:9" + "src": "4710:20:22" }, - "nativeSrc": "4710:20:9", + "nativeSrc": "4710:20:22", "nodeType": "YulExpressionStatement", - "src": "4710:20:9" + "src": "4710:20:22" }, { "body": { - "nativeSrc": "4791:171:9", + "nativeSrc": "4791:171:22", "nodeType": "YulBlock", - "src": "4791:171:9", + "src": "4791:171:22", "statements": [ { "expression": { @@ -63227,26 +82202,26 @@ "arguments": [ { "name": "o", - "nativeSrc": "4824:1:9", + "nativeSrc": "4824:1:22", "nodeType": "YulIdentifier", - "src": "4824:1:9" + "src": "4824:1:22" }, { "name": "i", - "nativeSrc": "4827:1:9", + "nativeSrc": "4827:1:22", "nodeType": "YulIdentifier", - "src": "4827:1:9" + "src": "4827:1:22" } ], "functionName": { "name": "add", - "nativeSrc": "4820:3:9", + "nativeSrc": "4820:3:22", "nodeType": "YulIdentifier", - "src": "4820:3:9" + "src": "4820:3:22" }, - "nativeSrc": "4820:9:9", + "nativeSrc": "4820:9:22", "nodeType": "YulFunctionCall", - "src": "4820:9:9" + "src": "4820:9:22" }, { "arguments": [ @@ -63254,124 +82229,124 @@ "arguments": [ { "name": "p", - "nativeSrc": "4841:1:9", + "nativeSrc": "4841:1:22", "nodeType": "YulIdentifier", - "src": "4841:1:9" + "src": "4841:1:22" }, { "arguments": [ { "kind": "number", - "nativeSrc": "4848:1:9", + "nativeSrc": "4848:1:22", "nodeType": "YulLiteral", - "src": "4848:1:9", + "src": "4848:1:22", "type": "", "value": "5" }, { "name": "i", - "nativeSrc": "4851:1:9", + "nativeSrc": "4851:1:22", "nodeType": "YulIdentifier", - "src": "4851:1:9" + "src": "4851:1:22" } ], "functionName": { "name": "shr", - "nativeSrc": "4844:3:9", + "nativeSrc": "4844:3:22", "nodeType": "YulIdentifier", - "src": "4844:3:9" + "src": "4844:3:22" }, - "nativeSrc": "4844:9:9", + "nativeSrc": "4844:9:22", "nodeType": "YulFunctionCall", - "src": "4844:9:9" + "src": "4844:9:22" } ], "functionName": { "name": "add", - "nativeSrc": "4837:3:9", + "nativeSrc": "4837:3:22", "nodeType": "YulIdentifier", - "src": "4837:3:9" + "src": "4837:3:22" }, - "nativeSrc": "4837:17:9", + "nativeSrc": "4837:17:22", "nodeType": "YulFunctionCall", - "src": "4837:17:9" + "src": "4837:17:22" } ], "functionName": { "name": "sload", - "nativeSrc": "4831:5:9", + "nativeSrc": "4831:5:22", "nodeType": "YulIdentifier", - "src": "4831:5:9" + "src": "4831:5:22" }, - "nativeSrc": "4831:24:9", + "nativeSrc": "4831:24:22", "nodeType": "YulFunctionCall", - "src": "4831:24:9" + "src": "4831:24:22" } ], "functionName": { "name": "mstore", - "nativeSrc": "4813:6:9", + "nativeSrc": "4813:6:22", "nodeType": "YulIdentifier", - "src": "4813:6:9" + "src": "4813:6:22" }, - "nativeSrc": "4813:43:9", + "nativeSrc": "4813:43:22", "nodeType": "YulFunctionCall", - "src": "4813:43:9" + "src": "4813:43:22" }, - "nativeSrc": "4813:43:9", + "nativeSrc": "4813:43:22", "nodeType": "YulExpressionStatement", - "src": "4813:43:9" + "src": "4813:43:22" }, { - "nativeSrc": "4877:17:9", + "nativeSrc": "4877:17:22", "nodeType": "YulAssignment", - "src": "4877:17:9", + "src": "4877:17:22", "value": { "arguments": [ { "name": "i", - "nativeSrc": "4886:1:9", + "nativeSrc": "4886:1:22", "nodeType": "YulIdentifier", - "src": "4886:1:9" + "src": "4886:1:22" }, { "kind": "number", - "nativeSrc": "4889:4:9", + "nativeSrc": "4889:4:22", "nodeType": "YulLiteral", - "src": "4889:4:9", + "src": "4889:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "4882:3:9", + "nativeSrc": "4882:3:22", "nodeType": "YulIdentifier", - "src": "4882:3:9" + "src": "4882:3:22" }, - "nativeSrc": "4882:12:9", + "nativeSrc": "4882:12:22", "nodeType": "YulFunctionCall", - "src": "4882:12:9" + "src": "4882:12:22" }, "variableNames": [ { "name": "i", - "nativeSrc": "4877:1:9", + "nativeSrc": "4877:1:22", "nodeType": "YulIdentifier", - "src": "4877:1:9" + "src": "4877:1:22" } ] }, { "body": { - "nativeSrc": "4935:9:9", + "nativeSrc": "4935:9:22", "nodeType": "YulBlock", - "src": "4935:9:9", + "src": "4935:9:22", "statements": [ { - "nativeSrc": "4937:5:9", + "nativeSrc": "4937:5:22", "nodeType": "YulBreak", - "src": "4937:5:9" + "src": "4937:5:22" } ] }, @@ -63381,195 +82356,195 @@ "arguments": [ { "name": "i", - "nativeSrc": "4928:1:9", + "nativeSrc": "4928:1:22", "nodeType": "YulIdentifier", - "src": "4928:1:9" + "src": "4928:1:22" }, { "name": "n", - "nativeSrc": "4931:1:9", + "nativeSrc": "4931:1:22", "nodeType": "YulIdentifier", - "src": "4931:1:9" + "src": "4931:1:22" } ], "functionName": { "name": "lt", - "nativeSrc": "4925:2:9", + "nativeSrc": "4925:2:22", "nodeType": "YulIdentifier", - "src": "4925:2:9" + "src": "4925:2:22" }, - "nativeSrc": "4925:8:9", + "nativeSrc": "4925:8:22", "nodeType": "YulFunctionCall", - "src": "4925:8:9" + "src": "4925:8:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "4918:6:9", + "nativeSrc": "4918:6:22", "nodeType": "YulIdentifier", - "src": "4918:6:9" + "src": "4918:6:22" }, - "nativeSrc": "4918:16:9", + "nativeSrc": "4918:16:22", "nodeType": "YulFunctionCall", - "src": "4918:16:9" + "src": "4918:16:22" }, - "nativeSrc": "4915:29:9", + "nativeSrc": "4915:29:22", "nodeType": "YulIf", - "src": "4915:29:9" + "src": "4915:29:22" } ] }, "condition": { "kind": "number", - "nativeSrc": "4786:1:9", + "nativeSrc": "4786:1:22", "nodeType": "YulLiteral", - "src": "4786:1:9", + "src": "4786:1:22", "type": "", "value": "1" }, - "nativeSrc": "4747:215:9", + "nativeSrc": "4747:215:22", "nodeType": "YulForLoop", "post": { - "nativeSrc": "4788:2:9", + "nativeSrc": "4788:2:22", "nodeType": "YulBlock", - "src": "4788:2:9", + "src": "4788:2:22", "statements": [] }, "pre": { - "nativeSrc": "4751:34:9", + "nativeSrc": "4751:34:22", "nodeType": "YulBlock", - "src": "4751:34:9", + "src": "4751:34:22", "statements": [ { - "nativeSrc": "4753:30:9", + "nativeSrc": "4753:30:22", "nodeType": "YulVariableDeclaration", - "src": "4753:30:9", + "src": "4753:30:22", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "4772:4:9", + "nativeSrc": "4772:4:22", "nodeType": "YulLiteral", - "src": "4772:4:9", + "src": "4772:4:22", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "4778:4:9", + "nativeSrc": "4778:4:22", "nodeType": "YulLiteral", - "src": "4778:4:9", + "src": "4778:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "keccak256", - "nativeSrc": "4762:9:9", + "nativeSrc": "4762:9:22", "nodeType": "YulIdentifier", - "src": "4762:9:9" + "src": "4762:9:22" }, - "nativeSrc": "4762:21:9", + "nativeSrc": "4762:21:22", "nodeType": "YulFunctionCall", - "src": "4762:21:9" + "src": "4762:21:22" }, "variables": [ { "name": "p", - "nativeSrc": "4757:1:9", + "nativeSrc": "4757:1:22", "nodeType": "YulTypedName", - "src": "4757:1:9", + "src": "4757:1:22", "type": "" } ] } ] }, - "src": "4747:215:9" + "src": "4747:215:22" }, { - "nativeSrc": "4979:5:9", + "nativeSrc": "4979:5:22", "nodeType": "YulBreak", - "src": "4979:5:9" + "src": "4979:5:22" } ] }, "condition": { "kind": "number", - "nativeSrc": "4450:1:9", + "nativeSrc": "4450:1:22", "nodeType": "YulLiteral", - "src": "4450:1:9", + "src": "4450:1:22", "type": "", "value": "1" }, - "nativeSrc": "4431:567:9", + "nativeSrc": "4431:567:22", "nodeType": "YulForLoop", "post": { - "nativeSrc": "4452:2:9", + "nativeSrc": "4452:2:22", "nodeType": "YulBlock", - "src": "4452:2:9", + "src": "4452:2:22", "statements": [] }, "pre": { - "nativeSrc": "4435:14:9", + "nativeSrc": "4435:14:22", "nodeType": "YulBlock", - "src": "4435:14:9", + "src": "4435:14:22", "statements": [ { - "nativeSrc": "4437:10:9", + "nativeSrc": "4437:10:22", "nodeType": "YulVariableDeclaration", - "src": "4437:10:9", + "src": "4437:10:22", "value": { "kind": "number", - "nativeSrc": "4446:1:9", + "nativeSrc": "4446:1:22", "nodeType": "YulLiteral", - "src": "4446:1:9", + "src": "4446:1:22", "type": "", "value": "0" }, "variables": [ { "name": "i", - "nativeSrc": "4441:1:9", + "nativeSrc": "4441:1:22", "nodeType": "YulTypedName", - "src": "4441:1:9", + "src": "4441:1:22", "type": "" } ] } ] }, - "src": "4431:567:9" + "src": "4431:567:22" }, { "expression": { "arguments": [ { "name": "result", - "nativeSrc": "5018:6:9", + "nativeSrc": "5018:6:22", "nodeType": "YulIdentifier", - "src": "5018:6:9" + "src": "5018:6:22" }, { "name": "n", - "nativeSrc": "5026:1:9", + "nativeSrc": "5026:1:22", "nodeType": "YulIdentifier", - "src": "5026:1:9" + "src": "5026:1:22" } ], "functionName": { "name": "mstore", - "nativeSrc": "5011:6:9", + "nativeSrc": "5011:6:22", "nodeType": "YulIdentifier", - "src": "5011:6:9" + "src": "5011:6:22" }, - "nativeSrc": "5011:17:9", + "nativeSrc": "5011:17:22", "nodeType": "YulFunctionCall", - "src": "5011:17:9" + "src": "5011:17:22" }, - "nativeSrc": "5011:17:9", + "nativeSrc": "5011:17:22", "nodeType": "YulExpressionStatement", - "src": "5011:17:9" + "src": "5011:17:22" }, { "expression": { @@ -63578,58 +82553,58 @@ "arguments": [ { "name": "o", - "nativeSrc": "5087:1:9", + "nativeSrc": "5087:1:22", "nodeType": "YulIdentifier", - "src": "5087:1:9" + "src": "5087:1:22" }, { "name": "n", - "nativeSrc": "5090:1:9", + "nativeSrc": "5090:1:22", "nodeType": "YulIdentifier", - "src": "5090:1:9" + "src": "5090:1:22" } ], "functionName": { "name": "add", - "nativeSrc": "5083:3:9", + "nativeSrc": "5083:3:22", "nodeType": "YulIdentifier", - "src": "5083:3:9" + "src": "5083:3:22" }, - "nativeSrc": "5083:9:9", + "nativeSrc": "5083:9:22", "nodeType": "YulFunctionCall", - "src": "5083:9:9" + "src": "5083:9:22" }, { "kind": "number", - "nativeSrc": "5094:1:9", + "nativeSrc": "5094:1:22", "nodeType": "YulLiteral", - "src": "5094:1:9", + "src": "5094:1:22", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "5076:6:9", + "nativeSrc": "5076:6:22", "nodeType": "YulIdentifier", - "src": "5076:6:9" + "src": "5076:6:22" }, - "nativeSrc": "5076:20:9", + "nativeSrc": "5076:20:22", "nodeType": "YulFunctionCall", - "src": "5076:20:9" + "src": "5076:20:22" }, - "nativeSrc": "5076:20:9", + "nativeSrc": "5076:20:22", "nodeType": "YulExpressionStatement", - "src": "5076:20:9" + "src": "5076:20:22" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "5153:4:9", + "nativeSrc": "5153:4:22", "nodeType": "YulLiteral", - "src": "5153:4:9", + "src": "5153:4:22", "type": "", "value": "0x40" }, @@ -63639,60 +82614,60 @@ "arguments": [ { "name": "o", - "nativeSrc": "5167:1:9", + "nativeSrc": "5167:1:22", "nodeType": "YulIdentifier", - "src": "5167:1:9" + "src": "5167:1:22" }, { "name": "n", - "nativeSrc": "5170:1:9", + "nativeSrc": "5170:1:22", "nodeType": "YulIdentifier", - "src": "5170:1:9" + "src": "5170:1:22" } ], "functionName": { "name": "add", - "nativeSrc": "5163:3:9", + "nativeSrc": "5163:3:22", "nodeType": "YulIdentifier", - "src": "5163:3:9" + "src": "5163:3:22" }, - "nativeSrc": "5163:9:9", + "nativeSrc": "5163:9:22", "nodeType": "YulFunctionCall", - "src": "5163:9:9" + "src": "5163:9:22" }, { "kind": "number", - "nativeSrc": "5174:4:9", + "nativeSrc": "5174:4:22", "nodeType": "YulLiteral", - "src": "5174:4:9", + "src": "5174:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "5159:3:9", + "nativeSrc": "5159:3:22", "nodeType": "YulIdentifier", - "src": "5159:3:9" + "src": "5159:3:22" }, - "nativeSrc": "5159:20:9", + "nativeSrc": "5159:20:22", "nodeType": "YulFunctionCall", - "src": "5159:20:9" + "src": "5159:20:22" } ], "functionName": { "name": "mstore", - "nativeSrc": "5146:6:9", + "nativeSrc": "5146:6:22", "nodeType": "YulIdentifier", - "src": "5146:6:9" + "src": "5146:6:22" }, - "nativeSrc": "5146:34:9", + "nativeSrc": "5146:34:22", "nodeType": "YulFunctionCall", - "src": "5146:34:9" + "src": "5146:34:22" }, - "nativeSrc": "5146:34:9", + "nativeSrc": "5146:34:22", "nodeType": "YulExpressionStatement", - "src": "5146:34:9" + "src": "5146:34:22" } ] }, @@ -63700,119 +82675,119 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2667, + "declaration": 4273, "isOffset": false, "isSlot": true, - "src": "4375:6:9", + "src": "4375:6:22", "suffix": "slot", "valueSize": 1 }, { - "declaration": 2667, + "declaration": 4273, "isOffset": false, "isSlot": true, - "src": "4723:6:9", + "src": "4723:6:22", "suffix": "slot", "valueSize": 1 }, { - "declaration": 2670, + "declaration": 4276, "isOffset": false, "isSlot": false, - "src": "4282:6:9", + "src": "4282:6:22", "valueSize": 1 }, { - "declaration": 2670, + "declaration": 4276, "isOffset": false, "isSlot": false, - "src": "4329:6:9", + "src": "4329:6:22", "valueSize": 1 }, { - "declaration": 2670, + "declaration": 4276, "isOffset": false, "isSlot": false, - "src": "5018:6:9", + "src": "5018:6:22", "valueSize": 1 } ], - "id": 2672, + "id": 4278, "nodeType": "InlineAssembly", - "src": "4259:951:9" + "src": "4259:951:22" } ] }, "documentation": { - "id": 2664, + "id": 4270, "nodeType": "StructuredDocumentation", - "src": "4079:41:9", + "src": "4079:41:22", "text": "@dev Returns the value stored in `$`." }, - "id": 2674, + "id": 4280, "implemented": true, "kind": "function", "modifiers": [], "name": "get", - "nameLocation": "4134:3:9", + "nameLocation": "4134:3:22", "nodeType": "FunctionDefinition", "parameters": { - "id": 2668, + "id": 4274, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2667, + "id": 4273, "mutability": "mutable", "name": "$", - "nameLocation": "4159:1:9", + "nameLocation": "4159:1:22", "nodeType": "VariableDeclaration", - "scope": 2674, - "src": "4138:22:9", + "scope": 4280, + "src": "4138:22:22", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$4185_storage_ptr", "typeString": "struct LibBytes.BytesStorage" }, "typeName": { - "id": 2666, + "id": 4272, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 2665, + "id": 4271, "name": "BytesStorage", "nameLocations": [ - "4138:12:9" + "4138:12:22" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 2579, - "src": "4138:12:9" + "referencedDeclaration": 4185, + "src": "4138:12:22" }, - "referencedDeclaration": 2579, - "src": "4138:12:9", + "referencedDeclaration": 4185, + "src": "4138:12:22", "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$4185_storage_ptr", "typeString": "struct LibBytes.BytesStorage" } }, "visibility": "internal" } ], - "src": "4137:24:9" + "src": "4137:24:22" }, "returnParameters": { - "id": 2671, + "id": 4277, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2670, + "id": 4276, "mutability": "mutable", "name": "result", - "nameLocation": "4198:6:9", + "nameLocation": "4198:6:22", "nodeType": "VariableDeclaration", - "scope": 2674, - "src": "4185:19:9", + "scope": 4280, + "src": "4185:19:22", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -63820,10 +82795,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2669, + "id": 4275, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "4185:5:9", + "src": "4185:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -63832,86 +82807,86 @@ "visibility": "internal" } ], - "src": "4184:21:9" + "src": "4184:21:22" }, - "scope": 3078, - "src": "4125:1091:9", + "scope": 4684, + "src": "4125:1091:22", "stateMutability": "view", "virtual": false, "visibility": "internal" }, { "body": { - "id": 2686, + "id": 4292, "nodeType": "Block", - "src": "5385:894:9", + "src": "5385:894:22", "statements": [ { "AST": { - "nativeSrc": "5447:826:9", + "nativeSrc": "5447:826:22", "nodeType": "YulBlock", - "src": "5447:826:9", + "src": "5447:826:22", "statements": [ { "body": { - "nativeSrc": "5502:761:9", + "nativeSrc": "5502:761:22", "nodeType": "YulBlock", - "src": "5502:761:9", + "src": "5502:761:22", "statements": [ { "body": { - "nativeSrc": "5560:462:9", + "nativeSrc": "5560:462:22", "nodeType": "YulBlock", - "src": "5560:462:9", + "src": "5560:462:22", "statements": [ { "body": { - "nativeSrc": "5605:103:9", + "nativeSrc": "5605:103:22", "nodeType": "YulBlock", - "src": "5605:103:9", + "src": "5605:103:22", "statements": [ { - "nativeSrc": "5631:25:9", + "nativeSrc": "5631:25:22", "nodeType": "YulAssignment", - "src": "5631:25:9", + "src": "5631:25:22", "value": { "arguments": [ { "name": "i", - "nativeSrc": "5646:1:9", + "nativeSrc": "5646:1:22", "nodeType": "YulIdentifier", - "src": "5646:1:9" + "src": "5646:1:22" }, { "name": "packed", - "nativeSrc": "5649:6:9", + "nativeSrc": "5649:6:22", "nodeType": "YulIdentifier", - "src": "5649:6:9" + "src": "5649:6:22" } ], "functionName": { "name": "byte", - "nativeSrc": "5641:4:9", + "nativeSrc": "5641:4:22", "nodeType": "YulIdentifier", - "src": "5641:4:9" + "src": "5641:4:22" }, - "nativeSrc": "5641:15:9", + "nativeSrc": "5641:15:22", "nodeType": "YulFunctionCall", - "src": "5641:15:9" + "src": "5641:15:22" }, "variableNames": [ { "name": "result", - "nativeSrc": "5631:6:9", + "nativeSrc": "5631:6:22", "nodeType": "YulIdentifier", - "src": "5631:6:9" + "src": "5631:6:22" } ] }, { - "nativeSrc": "5681:5:9", + "nativeSrc": "5681:5:22", "nodeType": "YulBreak", - "src": "5681:5:9" + "src": "5681:5:22" } ] }, @@ -63921,155 +82896,155 @@ "arguments": [ { "name": "i", - "nativeSrc": "5595:1:9", + "nativeSrc": "5595:1:22", "nodeType": "YulIdentifier", - "src": "5595:1:9" + "src": "5595:1:22" }, { "kind": "number", - "nativeSrc": "5598:4:9", + "nativeSrc": "5598:4:22", "nodeType": "YulLiteral", - "src": "5598:4:9", + "src": "5598:4:22", "type": "", "value": "0x1e" } ], "functionName": { "name": "gt", - "nativeSrc": "5592:2:9", + "nativeSrc": "5592:2:22", "nodeType": "YulIdentifier", - "src": "5592:2:9" + "src": "5592:2:22" }, - "nativeSrc": "5592:11:9", + "nativeSrc": "5592:11:22", "nodeType": "YulFunctionCall", - "src": "5592:11:9" + "src": "5592:11:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "5585:6:9", + "nativeSrc": "5585:6:22", "nodeType": "YulIdentifier", - "src": "5585:6:9" + "src": "5585:6:22" }, - "nativeSrc": "5585:19:9", + "nativeSrc": "5585:19:22", "nodeType": "YulFunctionCall", - "src": "5585:19:9" + "src": "5585:19:22" }, - "nativeSrc": "5582:126:9", + "nativeSrc": "5582:126:22", "nodeType": "YulIf", - "src": "5582:126:9" + "src": "5582:126:22" }, { "body": { - "nativeSrc": "5765:213:9", + "nativeSrc": "5765:213:22", "nodeType": "YulBlock", - "src": "5765:213:9", + "src": "5765:213:22", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "5798:4:9", + "nativeSrc": "5798:4:22", "nodeType": "YulLiteral", - "src": "5798:4:9", + "src": "5798:4:22", "type": "", "value": "0x00" }, { "name": "$.slot", - "nativeSrc": "5804:6:9", + "nativeSrc": "5804:6:22", "nodeType": "YulIdentifier", - "src": "5804:6:9" + "src": "5804:6:22" } ], "functionName": { "name": "mstore", - "nativeSrc": "5791:6:9", + "nativeSrc": "5791:6:22", "nodeType": "YulIdentifier", - "src": "5791:6:9" + "src": "5791:6:22" }, - "nativeSrc": "5791:20:9", + "nativeSrc": "5791:20:22", "nodeType": "YulFunctionCall", - "src": "5791:20:9" + "src": "5791:20:22" }, - "nativeSrc": "5791:20:9", + "nativeSrc": "5791:20:22", "nodeType": "YulExpressionStatement", - "src": "5791:20:9" + "src": "5791:20:22" }, { - "nativeSrc": "5836:21:9", + "nativeSrc": "5836:21:22", "nodeType": "YulVariableDeclaration", - "src": "5836:21:9", + "src": "5836:21:22", "value": { "arguments": [ { "name": "i", - "nativeSrc": "5849:1:9", + "nativeSrc": "5849:1:22", "nodeType": "YulIdentifier", - "src": "5849:1:9" + "src": "5849:1:22" }, { "kind": "number", - "nativeSrc": "5852:4:9", + "nativeSrc": "5852:4:22", "nodeType": "YulLiteral", - "src": "5852:4:9", + "src": "5852:4:22", "type": "", "value": "0x1f" } ], "functionName": { "name": "sub", - "nativeSrc": "5845:3:9", + "nativeSrc": "5845:3:22", "nodeType": "YulIdentifier", - "src": "5845:3:9" + "src": "5845:3:22" }, - "nativeSrc": "5845:12:9", + "nativeSrc": "5845:12:22", "nodeType": "YulFunctionCall", - "src": "5845:12:9" + "src": "5845:12:22" }, "variables": [ { "name": "j", - "nativeSrc": "5840:1:9", + "nativeSrc": "5840:1:22", "nodeType": "YulTypedName", - "src": "5840:1:9", + "src": "5840:1:22", "type": "" } ] }, { - "nativeSrc": "5882:74:9", + "nativeSrc": "5882:74:22", "nodeType": "YulAssignment", - "src": "5882:74:9", + "src": "5882:74:22", "value": { "arguments": [ { "arguments": [ { "name": "j", - "nativeSrc": "5901:1:9", + "nativeSrc": "5901:1:22", "nodeType": "YulIdentifier", - "src": "5901:1:9" + "src": "5901:1:22" }, { "kind": "number", - "nativeSrc": "5904:4:9", + "nativeSrc": "5904:4:22", "nodeType": "YulLiteral", - "src": "5904:4:9", + "src": "5904:4:22", "type": "", "value": "0x1f" } ], "functionName": { "name": "and", - "nativeSrc": "5897:3:9", + "nativeSrc": "5897:3:22", "nodeType": "YulIdentifier", - "src": "5897:3:9" + "src": "5897:3:22" }, - "nativeSrc": "5897:12:9", + "nativeSrc": "5897:12:22", "nodeType": "YulFunctionCall", - "src": "5897:12:9" + "src": "5897:12:22" }, { "arguments": [ @@ -64079,97 +83054,97 @@ "arguments": [ { "kind": "number", - "nativeSrc": "5931:4:9", + "nativeSrc": "5931:4:22", "nodeType": "YulLiteral", - "src": "5931:4:9", + "src": "5931:4:22", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "5937:4:9", + "nativeSrc": "5937:4:22", "nodeType": "YulLiteral", - "src": "5937:4:9", + "src": "5937:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "keccak256", - "nativeSrc": "5921:9:9", + "nativeSrc": "5921:9:22", "nodeType": "YulIdentifier", - "src": "5921:9:9" + "src": "5921:9:22" }, - "nativeSrc": "5921:21:9", + "nativeSrc": "5921:21:22", "nodeType": "YulFunctionCall", - "src": "5921:21:9" + "src": "5921:21:22" }, { "arguments": [ { "kind": "number", - "nativeSrc": "5948:1:9", + "nativeSrc": "5948:1:22", "nodeType": "YulLiteral", - "src": "5948:1:9", + "src": "5948:1:22", "type": "", "value": "5" }, { "name": "j", - "nativeSrc": "5951:1:9", + "nativeSrc": "5951:1:22", "nodeType": "YulIdentifier", - "src": "5951:1:9" + "src": "5951:1:22" } ], "functionName": { "name": "shr", - "nativeSrc": "5944:3:9", + "nativeSrc": "5944:3:22", "nodeType": "YulIdentifier", - "src": "5944:3:9" + "src": "5944:3:22" }, - "nativeSrc": "5944:9:9", + "nativeSrc": "5944:9:22", "nodeType": "YulFunctionCall", - "src": "5944:9:9" + "src": "5944:9:22" } ], "functionName": { "name": "add", - "nativeSrc": "5917:3:9", + "nativeSrc": "5917:3:22", "nodeType": "YulIdentifier", - "src": "5917:3:9" + "src": "5917:3:22" }, - "nativeSrc": "5917:37:9", + "nativeSrc": "5917:37:22", "nodeType": "YulFunctionCall", - "src": "5917:37:9" + "src": "5917:37:22" } ], "functionName": { "name": "sload", - "nativeSrc": "5911:5:9", + "nativeSrc": "5911:5:22", "nodeType": "YulIdentifier", - "src": "5911:5:9" + "src": "5911:5:22" }, - "nativeSrc": "5911:44:9", + "nativeSrc": "5911:44:22", "nodeType": "YulFunctionCall", - "src": "5911:44:9" + "src": "5911:44:22" } ], "functionName": { "name": "byte", - "nativeSrc": "5892:4:9", + "nativeSrc": "5892:4:22", "nodeType": "YulIdentifier", - "src": "5892:4:9" + "src": "5892:4:22" }, - "nativeSrc": "5892:64:9", + "nativeSrc": "5892:64:22", "nodeType": "YulFunctionCall", - "src": "5892:64:9" + "src": "5892:64:22" }, "variableNames": [ { "name": "result", - "nativeSrc": "5882:6:9", + "nativeSrc": "5882:6:22", "nodeType": "YulIdentifier", - "src": "5882:6:9" + "src": "5882:6:22" } ] } @@ -64181,67 +83156,67 @@ "arguments": [ { "name": "i", - "nativeSrc": "5742:1:9", + "nativeSrc": "5742:1:22", "nodeType": "YulIdentifier", - "src": "5742:1:9" + "src": "5742:1:22" }, { "arguments": [ { "kind": "number", - "nativeSrc": "5749:4:9", + "nativeSrc": "5749:4:22", "nodeType": "YulLiteral", - "src": "5749:4:9", + "src": "5749:4:22", "type": "", "value": "0xff" }, { "name": "packed", - "nativeSrc": "5755:6:9", + "nativeSrc": "5755:6:22", "nodeType": "YulIdentifier", - "src": "5755:6:9" + "src": "5755:6:22" } ], "functionName": { "name": "and", - "nativeSrc": "5745:3:9", + "nativeSrc": "5745:3:22", "nodeType": "YulIdentifier", - "src": "5745:3:9" + "src": "5745:3:22" }, - "nativeSrc": "5745:17:9", + "nativeSrc": "5745:17:22", "nodeType": "YulFunctionCall", - "src": "5745:17:9" + "src": "5745:17:22" } ], "functionName": { "name": "gt", - "nativeSrc": "5739:2:9", + "nativeSrc": "5739:2:22", "nodeType": "YulIdentifier", - "src": "5739:2:9" + "src": "5739:2:22" }, - "nativeSrc": "5739:24:9", + "nativeSrc": "5739:24:22", "nodeType": "YulFunctionCall", - "src": "5739:24:9" + "src": "5739:24:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "5732:6:9", + "nativeSrc": "5732:6:22", "nodeType": "YulIdentifier", - "src": "5732:6:9" + "src": "5732:6:22" }, - "nativeSrc": "5732:32:9", + "nativeSrc": "5732:32:22", "nodeType": "YulFunctionCall", - "src": "5732:32:9" + "src": "5732:32:22" }, - "nativeSrc": "5729:249:9", + "nativeSrc": "5729:249:22", "nodeType": "YulIf", - "src": "5729:249:9" + "src": "5729:249:22" }, { - "nativeSrc": "5999:5:9", + "nativeSrc": "5999:5:22", "nodeType": "YulBreak", - "src": "5999:5:9" + "src": "5999:5:22" } ] }, @@ -64253,131 +83228,131 @@ "arguments": [ { "name": "packed", - "nativeSrc": "5536:6:9", + "nativeSrc": "5536:6:22", "nodeType": "YulIdentifier", - "src": "5536:6:9" + "src": "5536:6:22" }, { "kind": "number", - "nativeSrc": "5544:4:9", + "nativeSrc": "5544:4:22", "nodeType": "YulLiteral", - "src": "5544:4:9", + "src": "5544:4:22", "type": "", "value": "0xff" } ], "functionName": { "name": "or", - "nativeSrc": "5533:2:9", + "nativeSrc": "5533:2:22", "nodeType": "YulIdentifier", - "src": "5533:2:9" + "src": "5533:2:22" }, - "nativeSrc": "5533:16:9", + "nativeSrc": "5533:16:22", "nodeType": "YulFunctionCall", - "src": "5533:16:9" + "src": "5533:16:22" }, { "name": "packed", - "nativeSrc": "5551:6:9", + "nativeSrc": "5551:6:22", "nodeType": "YulIdentifier", - "src": "5551:6:9" + "src": "5551:6:22" } ], "functionName": { "name": "eq", - "nativeSrc": "5530:2:9", + "nativeSrc": "5530:2:22", "nodeType": "YulIdentifier", - "src": "5530:2:9" + "src": "5530:2:22" }, - "nativeSrc": "5530:28:9", + "nativeSrc": "5530:28:22", "nodeType": "YulFunctionCall", - "src": "5530:28:9" + "src": "5530:28:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "5523:6:9", + "nativeSrc": "5523:6:22", "nodeType": "YulIdentifier", - "src": "5523:6:9" + "src": "5523:6:22" }, - "nativeSrc": "5523:36:9", + "nativeSrc": "5523:36:22", "nodeType": "YulFunctionCall", - "src": "5523:36:9" + "src": "5523:36:22" }, - "nativeSrc": "5520:502:9", + "nativeSrc": "5520:502:22", "nodeType": "YulIf", - "src": "5520:502:9" + "src": "5520:502:22" }, { "body": { - "nativeSrc": "6072:155:9", + "nativeSrc": "6072:155:22", "nodeType": "YulBlock", - "src": "6072:155:9", + "src": "6072:155:22", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "6101:4:9", + "nativeSrc": "6101:4:22", "nodeType": "YulLiteral", - "src": "6101:4:9", + "src": "6101:4:22", "type": "", "value": "0x00" }, { "name": "$.slot", - "nativeSrc": "6107:6:9", + "nativeSrc": "6107:6:22", "nodeType": "YulIdentifier", - "src": "6107:6:9" + "src": "6107:6:22" } ], "functionName": { "name": "mstore", - "nativeSrc": "6094:6:9", + "nativeSrc": "6094:6:22", "nodeType": "YulIdentifier", - "src": "6094:6:9" + "src": "6094:6:22" }, - "nativeSrc": "6094:20:9", + "nativeSrc": "6094:20:22", "nodeType": "YulFunctionCall", - "src": "6094:20:9" + "src": "6094:20:22" }, - "nativeSrc": "6094:20:9", + "nativeSrc": "6094:20:22", "nodeType": "YulExpressionStatement", - "src": "6094:20:9" + "src": "6094:20:22" }, { - "nativeSrc": "6135:74:9", + "nativeSrc": "6135:74:22", "nodeType": "YulAssignment", - "src": "6135:74:9", + "src": "6135:74:22", "value": { "arguments": [ { "arguments": [ { "name": "i", - "nativeSrc": "6154:1:9", + "nativeSrc": "6154:1:22", "nodeType": "YulIdentifier", - "src": "6154:1:9" + "src": "6154:1:22" }, { "kind": "number", - "nativeSrc": "6157:4:9", + "nativeSrc": "6157:4:22", "nodeType": "YulLiteral", - "src": "6157:4:9", + "src": "6157:4:22", "type": "", "value": "0x1f" } ], "functionName": { "name": "and", - "nativeSrc": "6150:3:9", + "nativeSrc": "6150:3:22", "nodeType": "YulIdentifier", - "src": "6150:3:9" + "src": "6150:3:22" }, - "nativeSrc": "6150:12:9", + "nativeSrc": "6150:12:22", "nodeType": "YulFunctionCall", - "src": "6150:12:9" + "src": "6150:12:22" }, { "arguments": [ @@ -64387,97 +83362,97 @@ "arguments": [ { "kind": "number", - "nativeSrc": "6184:4:9", + "nativeSrc": "6184:4:22", "nodeType": "YulLiteral", - "src": "6184:4:9", + "src": "6184:4:22", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "6190:4:9", + "nativeSrc": "6190:4:22", "nodeType": "YulLiteral", - "src": "6190:4:9", + "src": "6190:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "keccak256", - "nativeSrc": "6174:9:9", + "nativeSrc": "6174:9:22", "nodeType": "YulIdentifier", - "src": "6174:9:9" + "src": "6174:9:22" }, - "nativeSrc": "6174:21:9", + "nativeSrc": "6174:21:22", "nodeType": "YulFunctionCall", - "src": "6174:21:9" + "src": "6174:21:22" }, { "arguments": [ { "kind": "number", - "nativeSrc": "6201:1:9", + "nativeSrc": "6201:1:22", "nodeType": "YulLiteral", - "src": "6201:1:9", + "src": "6201:1:22", "type": "", "value": "5" }, { "name": "i", - "nativeSrc": "6204:1:9", + "nativeSrc": "6204:1:22", "nodeType": "YulIdentifier", - "src": "6204:1:9" + "src": "6204:1:22" } ], "functionName": { "name": "shr", - "nativeSrc": "6197:3:9", + "nativeSrc": "6197:3:22", "nodeType": "YulIdentifier", - "src": "6197:3:9" + "src": "6197:3:22" }, - "nativeSrc": "6197:9:9", + "nativeSrc": "6197:9:22", "nodeType": "YulFunctionCall", - "src": "6197:9:9" + "src": "6197:9:22" } ], "functionName": { "name": "add", - "nativeSrc": "6170:3:9", + "nativeSrc": "6170:3:22", "nodeType": "YulIdentifier", - "src": "6170:3:9" + "src": "6170:3:22" }, - "nativeSrc": "6170:37:9", + "nativeSrc": "6170:37:22", "nodeType": "YulFunctionCall", - "src": "6170:37:9" + "src": "6170:37:22" } ], "functionName": { "name": "sload", - "nativeSrc": "6164:5:9", + "nativeSrc": "6164:5:22", "nodeType": "YulIdentifier", - "src": "6164:5:9" + "src": "6164:5:22" }, - "nativeSrc": "6164:44:9", + "nativeSrc": "6164:44:22", "nodeType": "YulFunctionCall", - "src": "6164:44:9" + "src": "6164:44:22" } ], "functionName": { "name": "byte", - "nativeSrc": "6145:4:9", + "nativeSrc": "6145:4:22", "nodeType": "YulIdentifier", - "src": "6145:4:9" + "src": "6145:4:22" }, - "nativeSrc": "6145:64:9", + "nativeSrc": "6145:64:22", "nodeType": "YulFunctionCall", - "src": "6145:64:9" + "src": "6145:64:22" }, "variableNames": [ { "name": "result", - "nativeSrc": "6135:6:9", + "nativeSrc": "6135:6:22", "nodeType": "YulIdentifier", - "src": "6135:6:9" + "src": "6135:6:22" } ] } @@ -64489,127 +83464,127 @@ "arguments": [ { "name": "i", - "nativeSrc": "6052:1:9", + "nativeSrc": "6052:1:22", "nodeType": "YulIdentifier", - "src": "6052:1:9" + "src": "6052:1:22" }, { "arguments": [ { "kind": "number", - "nativeSrc": "6059:1:9", + "nativeSrc": "6059:1:22", "nodeType": "YulLiteral", - "src": "6059:1:9", + "src": "6059:1:22", "type": "", "value": "8" }, { "name": "packed", - "nativeSrc": "6062:6:9", + "nativeSrc": "6062:6:22", "nodeType": "YulIdentifier", - "src": "6062:6:9" + "src": "6062:6:22" } ], "functionName": { "name": "shr", - "nativeSrc": "6055:3:9", + "nativeSrc": "6055:3:22", "nodeType": "YulIdentifier", - "src": "6055:3:9" + "src": "6055:3:22" }, - "nativeSrc": "6055:14:9", + "nativeSrc": "6055:14:22", "nodeType": "YulFunctionCall", - "src": "6055:14:9" + "src": "6055:14:22" } ], "functionName": { "name": "gt", - "nativeSrc": "6049:2:9", + "nativeSrc": "6049:2:22", "nodeType": "YulIdentifier", - "src": "6049:2:9" + "src": "6049:2:22" }, - "nativeSrc": "6049:21:9", + "nativeSrc": "6049:21:22", "nodeType": "YulFunctionCall", - "src": "6049:21:9" + "src": "6049:21:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "6042:6:9", + "nativeSrc": "6042:6:22", "nodeType": "YulIdentifier", - "src": "6042:6:9" + "src": "6042:6:22" }, - "nativeSrc": "6042:29:9", + "nativeSrc": "6042:29:22", "nodeType": "YulFunctionCall", - "src": "6042:29:9" + "src": "6042:29:22" }, - "nativeSrc": "6039:188:9", + "nativeSrc": "6039:188:22", "nodeType": "YulIf", - "src": "6039:188:9" + "src": "6039:188:22" }, { - "nativeSrc": "6244:5:9", + "nativeSrc": "6244:5:22", "nodeType": "YulBreak", - "src": "6244:5:9" + "src": "6244:5:22" } ] }, "condition": { "kind": "number", - "nativeSrc": "5497:1:9", + "nativeSrc": "5497:1:22", "nodeType": "YulLiteral", - "src": "5497:1:9", + "src": "5497:1:22", "type": "", "value": "1" }, - "nativeSrc": "5461:802:9", + "nativeSrc": "5461:802:22", "nodeType": "YulForLoop", "post": { - "nativeSrc": "5499:2:9", + "nativeSrc": "5499:2:22", "nodeType": "YulBlock", - "src": "5499:2:9", + "src": "5499:2:22", "statements": [] }, "pre": { - "nativeSrc": "5465:31:9", + "nativeSrc": "5465:31:22", "nodeType": "YulBlock", - "src": "5465:31:9", + "src": "5465:31:22", "statements": [ { - "nativeSrc": "5467:27:9", + "nativeSrc": "5467:27:22", "nodeType": "YulVariableDeclaration", - "src": "5467:27:9", + "src": "5467:27:22", "value": { "arguments": [ { "name": "$.slot", - "nativeSrc": "5487:6:9", + "nativeSrc": "5487:6:22", "nodeType": "YulIdentifier", - "src": "5487:6:9" + "src": "5487:6:22" } ], "functionName": { "name": "sload", - "nativeSrc": "5481:5:9", + "nativeSrc": "5481:5:22", "nodeType": "YulIdentifier", - "src": "5481:5:9" + "src": "5481:5:22" }, - "nativeSrc": "5481:13:9", + "nativeSrc": "5481:13:22", "nodeType": "YulFunctionCall", - "src": "5481:13:9" + "src": "5481:13:22" }, "variables": [ { "name": "packed", - "nativeSrc": "5471:6:9", + "nativeSrc": "5471:6:22", "nodeType": "YulTypedName", - "src": "5471:6:9", + "src": "5471:6:22", "type": "" } ] } ] }, - "src": "5461:802:9" + "src": "5461:802:22" } ] }, @@ -64617,155 +83592,155 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2678, + "declaration": 4284, "isOffset": false, "isSlot": true, - "src": "5487:6:9", + "src": "5487:6:22", "suffix": "slot", "valueSize": 1 }, { - "declaration": 2678, + "declaration": 4284, "isOffset": false, "isSlot": true, - "src": "5804:6:9", + "src": "5804:6:22", "suffix": "slot", "valueSize": 1 }, { - "declaration": 2678, + "declaration": 4284, "isOffset": false, "isSlot": true, - "src": "6107:6:9", + "src": "6107:6:22", "suffix": "slot", "valueSize": 1 }, { - "declaration": 2680, + "declaration": 4286, "isOffset": false, "isSlot": false, - "src": "5595:1:9", + "src": "5595:1:22", "valueSize": 1 }, { - "declaration": 2680, + "declaration": 4286, "isOffset": false, "isSlot": false, - "src": "5646:1:9", + "src": "5646:1:22", "valueSize": 1 }, { - "declaration": 2680, + "declaration": 4286, "isOffset": false, "isSlot": false, - "src": "5742:1:9", + "src": "5742:1:22", "valueSize": 1 }, { - "declaration": 2680, + "declaration": 4286, "isOffset": false, "isSlot": false, - "src": "5849:1:9", + "src": "5849:1:22", "valueSize": 1 }, { - "declaration": 2680, + "declaration": 4286, "isOffset": false, "isSlot": false, - "src": "6052:1:9", + "src": "6052:1:22", "valueSize": 1 }, { - "declaration": 2680, + "declaration": 4286, "isOffset": false, "isSlot": false, - "src": "6154:1:9", + "src": "6154:1:22", "valueSize": 1 }, { - "declaration": 2680, + "declaration": 4286, "isOffset": false, "isSlot": false, - "src": "6204:1:9", + "src": "6204:1:22", "valueSize": 1 }, { - "declaration": 2683, + "declaration": 4289, "isOffset": false, "isSlot": false, - "src": "5631:6:9", + "src": "5631:6:22", "valueSize": 1 }, { - "declaration": 2683, + "declaration": 4289, "isOffset": false, "isSlot": false, - "src": "5882:6:9", + "src": "5882:6:22", "valueSize": 1 }, { - "declaration": 2683, + "declaration": 4289, "isOffset": false, "isSlot": false, - "src": "6135:6:9", + "src": "6135:6:22", "valueSize": 1 } ], - "id": 2685, + "id": 4291, "nodeType": "InlineAssembly", - "src": "5438:835:9" + "src": "5438:835:22" } ] }, "documentation": { - "id": 2675, + "id": 4281, "nodeType": "StructuredDocumentation", - "src": "5222:69:9", + "src": "5222:69:22", "text": "@dev Returns the uint8 at index `i`. If out-of-bounds, returns 0." }, - "id": 2687, + "id": 4293, "implemented": true, "kind": "function", "modifiers": [], "name": "uint8At", - "nameLocation": "5305:7:9", + "nameLocation": "5305:7:22", "nodeType": "FunctionDefinition", "parameters": { - "id": 2681, + "id": 4287, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2678, + "id": 4284, "mutability": "mutable", "name": "$", - "nameLocation": "5334:1:9", + "nameLocation": "5334:1:22", "nodeType": "VariableDeclaration", - "scope": 2687, - "src": "5313:22:9", + "scope": 4293, + "src": "5313:22:22", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$4185_storage_ptr", "typeString": "struct LibBytes.BytesStorage" }, "typeName": { - "id": 2677, + "id": 4283, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 2676, + "id": 4282, "name": "BytesStorage", "nameLocations": [ - "5313:12:9" + "5313:12:22" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 2579, - "src": "5313:12:9" + "referencedDeclaration": 4185, + "src": "5313:12:22" }, - "referencedDeclaration": 2579, - "src": "5313:12:9", + "referencedDeclaration": 4185, + "src": "5313:12:22", "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$4185_storage_ptr", "typeString": "struct LibBytes.BytesStorage" } }, @@ -64773,13 +83748,13 @@ }, { "constant": false, - "id": 2680, + "id": 4286, "mutability": "mutable", "name": "i", - "nameLocation": "5345:1:9", + "nameLocation": "5345:1:22", "nodeType": "VariableDeclaration", - "scope": 2687, - "src": "5337:9:9", + "scope": 4293, + "src": "5337:9:22", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -64787,10 +83762,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2679, + "id": 4285, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5337:7:9", + "src": "5337:7:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -64799,21 +83774,21 @@ "visibility": "internal" } ], - "src": "5312:35:9" + "src": "5312:35:22" }, "returnParameters": { - "id": 2684, + "id": 4290, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2683, + "id": 4289, "mutability": "mutable", "name": "result", - "nameLocation": "5377:6:9", + "nameLocation": "5377:6:22", "nodeType": "VariableDeclaration", - "scope": 2687, - "src": "5371:12:9", + "scope": 4293, + "src": "5371:12:22", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -64821,10 +83796,10 @@ "typeString": "uint8" }, "typeName": { - "id": 2682, + "id": 4288, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "5371:5:9", + "src": "5371:5:22", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -64833,202 +83808,202 @@ "visibility": "internal" } ], - "src": "5370:14:9" + "src": "5370:14:22" }, - "scope": 3078, - "src": "5296:983:9", + "scope": 4684, + "src": "5296:983:22", "stateMutability": "view", "virtual": false, "visibility": "internal" }, { "body": { - "id": 2700, + "id": 4306, "nodeType": "Block", - "src": "6814:2667:9", + "src": "6814:2667:22", "statements": [ { "AST": { - "nativeSrc": "6876:2599:9", + "nativeSrc": "6876:2599:22", "nodeType": "YulBlock", - "src": "6876:2599:9", + "src": "6876:2599:22", "statements": [ { - "nativeSrc": "6890:21:9", + "nativeSrc": "6890:21:22", "nodeType": "YulAssignment", - "src": "6890:21:9", + "src": "6890:21:22", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "6906:4:9", + "nativeSrc": "6906:4:22", "nodeType": "YulLiteral", - "src": "6906:4:9", + "src": "6906:4:22", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "6900:5:9", + "nativeSrc": "6900:5:22", "nodeType": "YulIdentifier", - "src": "6900:5:9" + "src": "6900:5:22" }, - "nativeSrc": "6900:11:9", + "nativeSrc": "6900:11:22", "nodeType": "YulFunctionCall", - "src": "6900:11:9" + "src": "6900:11:22" }, "variableNames": [ { "name": "result", - "nativeSrc": "6890:6:9", + "nativeSrc": "6890:6:22", "nodeType": "YulIdentifier", - "src": "6890:6:9" + "src": "6890:6:22" } ] }, { - "nativeSrc": "6924:30:9", + "nativeSrc": "6924:30:22", "nodeType": "YulVariableDeclaration", - "src": "6924:30:9", + "src": "6924:30:22", "value": { "arguments": [ { "name": "needle", - "nativeSrc": "6947:6:9", + "nativeSrc": "6947:6:22", "nodeType": "YulIdentifier", - "src": "6947:6:9" + "src": "6947:6:22" } ], "functionName": { "name": "mload", - "nativeSrc": "6941:5:9", + "nativeSrc": "6941:5:22", "nodeType": "YulIdentifier", - "src": "6941:5:9" + "src": "6941:5:22" }, - "nativeSrc": "6941:13:9", + "nativeSrc": "6941:13:22", "nodeType": "YulFunctionCall", - "src": "6941:13:9" + "src": "6941:13:22" }, "variables": [ { "name": "needleLen", - "nativeSrc": "6928:9:9", + "nativeSrc": "6928:9:22", "nodeType": "YulTypedName", - "src": "6928:9:9", + "src": "6928:9:22", "type": "" } ] }, { - "nativeSrc": "6967:40:9", + "nativeSrc": "6967:40:22", "nodeType": "YulVariableDeclaration", - "src": "6967:40:9", + "src": "6967:40:22", "value": { "arguments": [ { "name": "replacement", - "nativeSrc": "6995:11:9", + "nativeSrc": "6995:11:22", "nodeType": "YulIdentifier", - "src": "6995:11:9" + "src": "6995:11:22" } ], "functionName": { "name": "mload", - "nativeSrc": "6989:5:9", + "nativeSrc": "6989:5:22", "nodeType": "YulIdentifier", - "src": "6989:5:9" + "src": "6989:5:22" }, - "nativeSrc": "6989:18:9", + "nativeSrc": "6989:18:22", "nodeType": "YulFunctionCall", - "src": "6989:18:9" + "src": "6989:18:22" }, "variables": [ { "name": "replacementLen", - "nativeSrc": "6971:14:9", + "nativeSrc": "6971:14:22", "nodeType": "YulTypedName", - "src": "6971:14:9", + "src": "6971:14:22", "type": "" } ] }, { - "nativeSrc": "7020:29:9", + "nativeSrc": "7020:29:22", "nodeType": "YulVariableDeclaration", - "src": "7020:29:9", + "src": "7020:29:22", "value": { "arguments": [ { "name": "result", - "nativeSrc": "7033:6:9", + "nativeSrc": "7033:6:22", "nodeType": "YulIdentifier", - "src": "7033:6:9" + "src": "7033:6:22" }, { "name": "subject", - "nativeSrc": "7041:7:9", + "nativeSrc": "7041:7:22", "nodeType": "YulIdentifier", - "src": "7041:7:9" + "src": "7041:7:22" } ], "functionName": { "name": "sub", - "nativeSrc": "7029:3:9", + "nativeSrc": "7029:3:22", "nodeType": "YulIdentifier", - "src": "7029:3:9" + "src": "7029:3:22" }, - "nativeSrc": "7029:20:9", + "nativeSrc": "7029:20:22", "nodeType": "YulFunctionCall", - "src": "7029:20:9" + "src": "7029:20:22" }, "variables": [ { "name": "d", - "nativeSrc": "7024:1:9", + "nativeSrc": "7024:1:22", "nodeType": "YulTypedName", - "src": "7024:1:9", + "src": "7024:1:22", "type": "" } ] }, { - "nativeSrc": "7084:27:9", + "nativeSrc": "7084:27:22", "nodeType": "YulVariableDeclaration", - "src": "7084:27:9", + "src": "7084:27:22", "value": { "arguments": [ { "name": "subject", - "nativeSrc": "7097:7:9", + "nativeSrc": "7097:7:22", "nodeType": "YulIdentifier", - "src": "7097:7:9" + "src": "7097:7:22" }, { "kind": "number", - "nativeSrc": "7106:4:9", + "nativeSrc": "7106:4:22", "nodeType": "YulLiteral", - "src": "7106:4:9", + "src": "7106:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "7093:3:9", + "nativeSrc": "7093:3:22", "nodeType": "YulIdentifier", - "src": "7093:3:9" + "src": "7093:3:22" }, - "nativeSrc": "7093:18:9", + "nativeSrc": "7093:18:22", "nodeType": "YulFunctionCall", - "src": "7093:18:9" + "src": "7093:18:22" }, "variables": [ { "name": "i", - "nativeSrc": "7088:1:9", + "nativeSrc": "7088:1:22", "nodeType": "YulTypedName", - "src": "7088:1:9", + "src": "7088:1:22", "type": "" } ] @@ -65038,9 +84013,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "7157:4:9", + "nativeSrc": "7157:4:22", "nodeType": "YulLiteral", - "src": "7157:4:9", + "src": "7157:4:22", "type": "", "value": "0x00" }, @@ -65048,65 +84023,65 @@ "arguments": [ { "name": "i", - "nativeSrc": "7167:1:9", + "nativeSrc": "7167:1:22", "nodeType": "YulIdentifier", - "src": "7167:1:9" + "src": "7167:1:22" }, { "arguments": [ { "name": "subject", - "nativeSrc": "7176:7:9", + "nativeSrc": "7176:7:22", "nodeType": "YulIdentifier", - "src": "7176:7:9" + "src": "7176:7:22" } ], "functionName": { "name": "mload", - "nativeSrc": "7170:5:9", + "nativeSrc": "7170:5:22", "nodeType": "YulIdentifier", - "src": "7170:5:9" + "src": "7170:5:22" }, - "nativeSrc": "7170:14:9", + "nativeSrc": "7170:14:22", "nodeType": "YulFunctionCall", - "src": "7170:14:9" + "src": "7170:14:22" } ], "functionName": { "name": "add", - "nativeSrc": "7163:3:9", + "nativeSrc": "7163:3:22", "nodeType": "YulIdentifier", - "src": "7163:3:9" + "src": "7163:3:22" }, - "nativeSrc": "7163:22:9", + "nativeSrc": "7163:22:22", "nodeType": "YulFunctionCall", - "src": "7163:22:9" + "src": "7163:22:22" } ], "functionName": { "name": "mstore", - "nativeSrc": "7150:6:9", + "nativeSrc": "7150:6:22", "nodeType": "YulIdentifier", - "src": "7150:6:9" + "src": "7150:6:22" }, - "nativeSrc": "7150:36:9", + "nativeSrc": "7150:36:22", "nodeType": "YulFunctionCall", - "src": "7150:36:9" + "src": "7150:36:22" }, - "nativeSrc": "7150:36:9", + "nativeSrc": "7150:36:22", "nodeType": "YulExpressionStatement", - "src": "7150:36:9" + "src": "7150:36:22" }, { "body": { - "nativeSrc": "7259:1765:9", + "nativeSrc": "7259:1765:22", "nodeType": "YulBlock", - "src": "7259:1765:9", + "src": "7259:1765:22", "statements": [ { - "nativeSrc": "7277:59:9", + "nativeSrc": "7277:59:22", "nodeType": "YulVariableDeclaration", - "src": "7277:59:9", + "src": "7277:59:22", "value": { "arguments": [ { @@ -65115,153 +84090,153 @@ "arguments": [ { "kind": "number", - "nativeSrc": "7315:4:9", + "nativeSrc": "7315:4:22", "nodeType": "YulLiteral", - "src": "7315:4:9", + "src": "7315:4:22", "type": "", "value": "0x00" } ], "functionName": { "name": "mload", - "nativeSrc": "7309:5:9", + "nativeSrc": "7309:5:22", "nodeType": "YulIdentifier", - "src": "7309:5:9" + "src": "7309:5:22" }, - "nativeSrc": "7309:11:9", + "nativeSrc": "7309:11:22", "nodeType": "YulFunctionCall", - "src": "7309:11:9" + "src": "7309:11:22" }, { "name": "needleLen", - "nativeSrc": "7322:9:9", + "nativeSrc": "7322:9:22", "nodeType": "YulIdentifier", - "src": "7322:9:9" + "src": "7322:9:22" } ], "functionName": { "name": "sub", - "nativeSrc": "7305:3:9", + "nativeSrc": "7305:3:22", "nodeType": "YulIdentifier", - "src": "7305:3:9" + "src": "7305:3:22" }, - "nativeSrc": "7305:27:9", + "nativeSrc": "7305:27:22", "nodeType": "YulFunctionCall", - "src": "7305:27:9" + "src": "7305:27:22" }, { "kind": "number", - "nativeSrc": "7334:1:9", + "nativeSrc": "7334:1:22", "nodeType": "YulLiteral", - "src": "7334:1:9", + "src": "7334:1:22", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "7301:3:9", + "nativeSrc": "7301:3:22", "nodeType": "YulIdentifier", - "src": "7301:3:9" + "src": "7301:3:22" }, - "nativeSrc": "7301:35:9", + "nativeSrc": "7301:35:22", "nodeType": "YulFunctionCall", - "src": "7301:35:9" + "src": "7301:35:22" }, "variables": [ { "name": "subjectSearchEnd", - "nativeSrc": "7281:16:9", + "nativeSrc": "7281:16:22", "nodeType": "YulTypedName", - "src": "7281:16:9", + "src": "7281:16:22", "type": "" } ] }, { - "nativeSrc": "7353:10:9", + "nativeSrc": "7353:10:22", "nodeType": "YulVariableDeclaration", - "src": "7353:10:9", + "src": "7353:10:22", "value": { "kind": "number", - "nativeSrc": "7362:1:9", + "nativeSrc": "7362:1:22", "nodeType": "YulLiteral", - "src": "7362:1:9", + "src": "7362:1:22", "type": "", "value": "0" }, "variables": [ { "name": "h", - "nativeSrc": "7357:1:9", + "nativeSrc": "7357:1:22", "nodeType": "YulTypedName", - "src": "7357:1:9", + "src": "7357:1:22", "type": "" } ] }, { "body": { - "nativeSrc": "7436:48:9", + "nativeSrc": "7436:48:22", "nodeType": "YulBlock", - "src": "7436:48:9", + "src": "7436:48:22", "statements": [ { - "nativeSrc": "7438:44:9", + "nativeSrc": "7438:44:22", "nodeType": "YulAssignment", - "src": "7438:44:9", + "src": "7438:44:22", "value": { "arguments": [ { "arguments": [ { "name": "needle", - "nativeSrc": "7457:6:9", + "nativeSrc": "7457:6:22", "nodeType": "YulIdentifier", - "src": "7457:6:9" + "src": "7457:6:22" }, { "kind": "number", - "nativeSrc": "7465:4:9", + "nativeSrc": "7465:4:22", "nodeType": "YulLiteral", - "src": "7465:4:9", + "src": "7465:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "7453:3:9", + "nativeSrc": "7453:3:22", "nodeType": "YulIdentifier", - "src": "7453:3:9" + "src": "7453:3:22" }, - "nativeSrc": "7453:17:9", + "nativeSrc": "7453:17:22", "nodeType": "YulFunctionCall", - "src": "7453:17:9" + "src": "7453:17:22" }, { "name": "needleLen", - "nativeSrc": "7472:9:9", + "nativeSrc": "7472:9:22", "nodeType": "YulIdentifier", - "src": "7472:9:9" + "src": "7472:9:22" } ], "functionName": { "name": "keccak256", - "nativeSrc": "7443:9:9", + "nativeSrc": "7443:9:22", "nodeType": "YulIdentifier", - "src": "7443:9:9" + "src": "7443:9:22" }, - "nativeSrc": "7443:39:9", + "nativeSrc": "7443:39:22", "nodeType": "YulFunctionCall", - "src": "7443:39:9" + "src": "7443:39:22" }, "variableNames": [ { "name": "h", - "nativeSrc": "7438:1:9", + "nativeSrc": "7438:1:22", "nodeType": "YulIdentifier", - "src": "7438:1:9" + "src": "7438:1:22" } ] } @@ -65273,154 +84248,154 @@ "arguments": [ { "name": "needleLen", - "nativeSrc": "7418:9:9", + "nativeSrc": "7418:9:22", "nodeType": "YulIdentifier", - "src": "7418:9:9" + "src": "7418:9:22" }, { "kind": "number", - "nativeSrc": "7429:4:9", + "nativeSrc": "7429:4:22", "nodeType": "YulLiteral", - "src": "7429:4:9", + "src": "7429:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "lt", - "nativeSrc": "7415:2:9", + "nativeSrc": "7415:2:22", "nodeType": "YulIdentifier", - "src": "7415:2:9" + "src": "7415:2:22" }, - "nativeSrc": "7415:19:9", + "nativeSrc": "7415:19:22", "nodeType": "YulFunctionCall", - "src": "7415:19:9" + "src": "7415:19:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "7408:6:9", + "nativeSrc": "7408:6:22", "nodeType": "YulIdentifier", - "src": "7408:6:9" + "src": "7408:6:22" }, - "nativeSrc": "7408:27:9", + "nativeSrc": "7408:27:22", "nodeType": "YulFunctionCall", - "src": "7408:27:9" + "src": "7408:27:22" }, - "nativeSrc": "7405:79:9", + "nativeSrc": "7405:79:22", "nodeType": "YulIf", - "src": "7405:79:9" + "src": "7405:79:22" }, { - "nativeSrc": "7501:33:9", + "nativeSrc": "7501:33:22", "nodeType": "YulVariableDeclaration", - "src": "7501:33:9", + "src": "7501:33:22", "value": { "arguments": [ { "arguments": [ { "name": "needle", - "nativeSrc": "7520:6:9", + "nativeSrc": "7520:6:22", "nodeType": "YulIdentifier", - "src": "7520:6:9" + "src": "7520:6:22" }, { "kind": "number", - "nativeSrc": "7528:4:9", + "nativeSrc": "7528:4:22", "nodeType": "YulLiteral", - "src": "7528:4:9", + "src": "7528:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "7516:3:9", + "nativeSrc": "7516:3:22", "nodeType": "YulIdentifier", - "src": "7516:3:9" + "src": "7516:3:22" }, - "nativeSrc": "7516:17:9", + "nativeSrc": "7516:17:22", "nodeType": "YulFunctionCall", - "src": "7516:17:9" + "src": "7516:17:22" } ], "functionName": { "name": "mload", - "nativeSrc": "7510:5:9", + "nativeSrc": "7510:5:22", "nodeType": "YulIdentifier", - "src": "7510:5:9" + "src": "7510:5:22" }, - "nativeSrc": "7510:24:9", + "nativeSrc": "7510:24:22", "nodeType": "YulFunctionCall", - "src": "7510:24:9" + "src": "7510:24:22" }, "variables": [ { "name": "s", - "nativeSrc": "7505:1:9", + "nativeSrc": "7505:1:22", "nodeType": "YulTypedName", - "src": "7505:1:9", + "src": "7505:1:22", "type": "" } ] }, { "body": { - "nativeSrc": "7613:1397:9", + "nativeSrc": "7613:1397:22", "nodeType": "YulBlock", - "src": "7613:1397:9", + "src": "7613:1397:22", "statements": [ { - "nativeSrc": "7635:17:9", + "nativeSrc": "7635:17:22", "nodeType": "YulVariableDeclaration", - "src": "7635:17:9", + "src": "7635:17:22", "value": { "arguments": [ { "name": "i", - "nativeSrc": "7650:1:9", + "nativeSrc": "7650:1:22", "nodeType": "YulIdentifier", - "src": "7650:1:9" + "src": "7650:1:22" } ], "functionName": { "name": "mload", - "nativeSrc": "7644:5:9", + "nativeSrc": "7644:5:22", "nodeType": "YulIdentifier", - "src": "7644:5:9" + "src": "7644:5:22" }, - "nativeSrc": "7644:8:9", + "nativeSrc": "7644:8:22", "nodeType": "YulFunctionCall", - "src": "7644:8:9" + "src": "7644:8:22" }, "variables": [ { "name": "t", - "nativeSrc": "7639:1:9", + "nativeSrc": "7639:1:22", "nodeType": "YulTypedName", - "src": "7639:1:9", + "src": "7639:1:22", "type": "" } ] }, { "body": { - "nativeSrc": "7801:1050:9", + "nativeSrc": "7801:1050:22", "nodeType": "YulBlock", - "src": "7801:1050:9", + "src": "7801:1050:22", "statements": [ { "body": { - "nativeSrc": "7832:347:9", + "nativeSrc": "7832:347:22", "nodeType": "YulBlock", - "src": "7832:347:9", + "src": "7832:347:22", "statements": [ { "body": { - "nativeSrc": "7904:249:9", + "nativeSrc": "7904:249:22", "nodeType": "YulBlock", - "src": "7904:249:9", + "src": "7904:249:22", "statements": [ { "expression": { @@ -65429,98 +84404,98 @@ "arguments": [ { "name": "i", - "nativeSrc": "7949:1:9", + "nativeSrc": "7949:1:22", "nodeType": "YulIdentifier", - "src": "7949:1:9" + "src": "7949:1:22" }, { "name": "d", - "nativeSrc": "7952:1:9", + "nativeSrc": "7952:1:22", "nodeType": "YulIdentifier", - "src": "7952:1:9" + "src": "7952:1:22" } ], "functionName": { "name": "add", - "nativeSrc": "7945:3:9", + "nativeSrc": "7945:3:22", "nodeType": "YulIdentifier", - "src": "7945:3:9" + "src": "7945:3:22" }, - "nativeSrc": "7945:9:9", + "nativeSrc": "7945:9:22", "nodeType": "YulFunctionCall", - "src": "7945:9:9" + "src": "7945:9:22" }, { "name": "t", - "nativeSrc": "7956:1:9", + "nativeSrc": "7956:1:22", "nodeType": "YulIdentifier", - "src": "7956:1:9" + "src": "7956:1:22" } ], "functionName": { "name": "mstore", - "nativeSrc": "7938:6:9", + "nativeSrc": "7938:6:22", "nodeType": "YulIdentifier", - "src": "7938:6:9" + "src": "7938:6:22" }, - "nativeSrc": "7938:20:9", + "nativeSrc": "7938:20:22", "nodeType": "YulFunctionCall", - "src": "7938:20:9" + "src": "7938:20:22" }, - "nativeSrc": "7938:20:9", + "nativeSrc": "7938:20:22", "nodeType": "YulExpressionStatement", - "src": "7938:20:9" + "src": "7938:20:22" }, { - "nativeSrc": "7991:14:9", + "nativeSrc": "7991:14:22", "nodeType": "YulAssignment", - "src": "7991:14:9", + "src": "7991:14:22", "value": { "arguments": [ { "name": "i", - "nativeSrc": "8000:1:9", + "nativeSrc": "8000:1:22", "nodeType": "YulIdentifier", - "src": "8000:1:9" + "src": "8000:1:22" }, { "kind": "number", - "nativeSrc": "8003:1:9", + "nativeSrc": "8003:1:22", "nodeType": "YulLiteral", - "src": "8003:1:9", + "src": "8003:1:22", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "7996:3:9", + "nativeSrc": "7996:3:22", "nodeType": "YulIdentifier", - "src": "7996:3:9" + "src": "7996:3:22" }, - "nativeSrc": "7996:9:9", + "nativeSrc": "7996:9:22", "nodeType": "YulFunctionCall", - "src": "7996:9:9" + "src": "7996:9:22" }, "variableNames": [ { "name": "i", - "nativeSrc": "7991:1:9", + "nativeSrc": "7991:1:22", "nodeType": "YulIdentifier", - "src": "7991:1:9" + "src": "7991:1:22" } ] }, { "body": { - "nativeSrc": "8073:9:9", + "nativeSrc": "8073:9:22", "nodeType": "YulBlock", - "src": "8073:9:9", + "src": "8073:9:22", "statements": [ { - "nativeSrc": "8075:5:9", + "nativeSrc": "8075:5:22", "nodeType": "YulBreak", - "src": "8075:5:9" + "src": "8075:5:22" } ] }, @@ -65530,46 +84505,46 @@ "arguments": [ { "name": "i", - "nativeSrc": "8051:1:9", + "nativeSrc": "8051:1:22", "nodeType": "YulIdentifier", - "src": "8051:1:9" + "src": "8051:1:22" }, { "name": "subjectSearchEnd", - "nativeSrc": "8054:16:9", + "nativeSrc": "8054:16:22", "nodeType": "YulIdentifier", - "src": "8054:16:9" + "src": "8054:16:22" } ], "functionName": { "name": "lt", - "nativeSrc": "8048:2:9", + "nativeSrc": "8048:2:22", "nodeType": "YulIdentifier", - "src": "8048:2:9" + "src": "8048:2:22" }, - "nativeSrc": "8048:23:9", + "nativeSrc": "8048:23:22", "nodeType": "YulFunctionCall", - "src": "8048:23:9" + "src": "8048:23:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "8041:6:9", + "nativeSrc": "8041:6:22", "nodeType": "YulIdentifier", - "src": "8041:6:9" + "src": "8041:6:22" }, - "nativeSrc": "8041:31:9", + "nativeSrc": "8041:31:22", "nodeType": "YulFunctionCall", - "src": "8041:31:9" + "src": "8041:31:22" }, - "nativeSrc": "8038:44:9", + "nativeSrc": "8038:44:22", "nodeType": "YulIf", - "src": "8038:44:9" + "src": "8038:44:22" }, { - "nativeSrc": "8115:8:9", + "nativeSrc": "8115:8:22", "nodeType": "YulContinue", - "src": "8115:8:9" + "src": "8115:8:22" } ] }, @@ -65581,76 +84556,76 @@ "arguments": [ { "name": "i", - "nativeSrc": "7885:1:9", + "nativeSrc": "7885:1:22", "nodeType": "YulIdentifier", - "src": "7885:1:9" + "src": "7885:1:22" }, { "name": "needleLen", - "nativeSrc": "7888:9:9", + "nativeSrc": "7888:9:22", "nodeType": "YulIdentifier", - "src": "7888:9:9" + "src": "7888:9:22" } ], "functionName": { "name": "keccak256", - "nativeSrc": "7875:9:9", + "nativeSrc": "7875:9:22", "nodeType": "YulIdentifier", - "src": "7875:9:9" + "src": "7875:9:22" }, - "nativeSrc": "7875:23:9", + "nativeSrc": "7875:23:22", "nodeType": "YulFunctionCall", - "src": "7875:23:9" + "src": "7875:23:22" }, { "name": "h", - "nativeSrc": "7900:1:9", + "nativeSrc": "7900:1:22", "nodeType": "YulIdentifier", - "src": "7900:1:9" + "src": "7900:1:22" } ], "functionName": { "name": "eq", - "nativeSrc": "7872:2:9", + "nativeSrc": "7872:2:22", "nodeType": "YulIdentifier", - "src": "7872:2:9" + "src": "7872:2:22" }, - "nativeSrc": "7872:30:9", + "nativeSrc": "7872:30:22", "nodeType": "YulFunctionCall", - "src": "7872:30:9" + "src": "7872:30:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "7865:6:9", + "nativeSrc": "7865:6:22", "nodeType": "YulIdentifier", - "src": "7865:6:9" + "src": "7865:6:22" }, - "nativeSrc": "7865:38:9", + "nativeSrc": "7865:38:22", "nodeType": "YulFunctionCall", - "src": "7865:38:9" + "src": "7865:38:22" }, - "nativeSrc": "7862:291:9", + "nativeSrc": "7862:291:22", "nodeType": "YulIf", - "src": "7862:291:9" + "src": "7862:291:22" } ] }, "condition": { "name": "h", - "nativeSrc": "7830:1:9", + "nativeSrc": "7830:1:22", "nodeType": "YulIdentifier", - "src": "7830:1:9" + "src": "7830:1:22" }, - "nativeSrc": "7827:352:9", + "nativeSrc": "7827:352:22", "nodeType": "YulIf", - "src": "7827:352:9" + "src": "7827:352:22" }, { "body": { - "nativeSrc": "8298:237:9", + "nativeSrc": "8298:237:22", "nodeType": "YulBlock", - "src": "8298:237:9", + "src": "8298:237:22", "statements": [ { "expression": { @@ -65661,43 +84636,43 @@ "arguments": [ { "name": "i", - "nativeSrc": "8343:1:9", + "nativeSrc": "8343:1:22", "nodeType": "YulIdentifier", - "src": "8343:1:9" + "src": "8343:1:22" }, { "name": "d", - "nativeSrc": "8346:1:9", + "nativeSrc": "8346:1:22", "nodeType": "YulIdentifier", - "src": "8346:1:9" + "src": "8346:1:22" } ], "functionName": { "name": "add", - "nativeSrc": "8339:3:9", + "nativeSrc": "8339:3:22", "nodeType": "YulIdentifier", - "src": "8339:3:9" + "src": "8339:3:22" }, - "nativeSrc": "8339:9:9", + "nativeSrc": "8339:9:22", "nodeType": "YulFunctionCall", - "src": "8339:9:9" + "src": "8339:9:22" }, { "name": "j", - "nativeSrc": "8350:1:9", + "nativeSrc": "8350:1:22", "nodeType": "YulIdentifier", - "src": "8350:1:9" + "src": "8350:1:22" } ], "functionName": { "name": "add", - "nativeSrc": "8335:3:9", + "nativeSrc": "8335:3:22", "nodeType": "YulIdentifier", - "src": "8335:3:9" + "src": "8335:3:22" }, - "nativeSrc": "8335:17:9", + "nativeSrc": "8335:17:22", "nodeType": "YulFunctionCall", - "src": "8335:17:9" + "src": "8335:17:22" }, { "arguments": [ @@ -65707,122 +84682,122 @@ "arguments": [ { "name": "replacement", - "nativeSrc": "8368:11:9", + "nativeSrc": "8368:11:22", "nodeType": "YulIdentifier", - "src": "8368:11:9" + "src": "8368:11:22" }, { "kind": "number", - "nativeSrc": "8381:4:9", + "nativeSrc": "8381:4:22", "nodeType": "YulLiteral", - "src": "8381:4:9", + "src": "8381:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "8364:3:9", + "nativeSrc": "8364:3:22", "nodeType": "YulIdentifier", - "src": "8364:3:9" + "src": "8364:3:22" }, - "nativeSrc": "8364:22:9", + "nativeSrc": "8364:22:22", "nodeType": "YulFunctionCall", - "src": "8364:22:9" + "src": "8364:22:22" }, { "name": "j", - "nativeSrc": "8388:1:9", + "nativeSrc": "8388:1:22", "nodeType": "YulIdentifier", - "src": "8388:1:9" + "src": "8388:1:22" } ], "functionName": { "name": "add", - "nativeSrc": "8360:3:9", + "nativeSrc": "8360:3:22", "nodeType": "YulIdentifier", - "src": "8360:3:9" + "src": "8360:3:22" }, - "nativeSrc": "8360:30:9", + "nativeSrc": "8360:30:22", "nodeType": "YulFunctionCall", - "src": "8360:30:9" + "src": "8360:30:22" } ], "functionName": { "name": "mload", - "nativeSrc": "8354:5:9", + "nativeSrc": "8354:5:22", "nodeType": "YulIdentifier", - "src": "8354:5:9" + "src": "8354:5:22" }, - "nativeSrc": "8354:37:9", + "nativeSrc": "8354:37:22", "nodeType": "YulFunctionCall", - "src": "8354:37:9" + "src": "8354:37:22" } ], "functionName": { "name": "mstore", - "nativeSrc": "8328:6:9", + "nativeSrc": "8328:6:22", "nodeType": "YulIdentifier", - "src": "8328:6:9" + "src": "8328:6:22" }, - "nativeSrc": "8328:64:9", + "nativeSrc": "8328:64:22", "nodeType": "YulFunctionCall", - "src": "8328:64:9" + "src": "8328:64:22" }, - "nativeSrc": "8328:64:9", + "nativeSrc": "8328:64:22", "nodeType": "YulExpressionStatement", - "src": "8328:64:9" + "src": "8328:64:22" }, { - "nativeSrc": "8421:17:9", + "nativeSrc": "8421:17:22", "nodeType": "YulAssignment", - "src": "8421:17:9", + "src": "8421:17:22", "value": { "arguments": [ { "name": "j", - "nativeSrc": "8430:1:9", + "nativeSrc": "8430:1:22", "nodeType": "YulIdentifier", - "src": "8430:1:9" + "src": "8430:1:22" }, { "kind": "number", - "nativeSrc": "8433:4:9", + "nativeSrc": "8433:4:22", "nodeType": "YulLiteral", - "src": "8433:4:9", + "src": "8433:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "8426:3:9", + "nativeSrc": "8426:3:22", "nodeType": "YulIdentifier", - "src": "8426:3:9" + "src": "8426:3:22" }, - "nativeSrc": "8426:12:9", + "nativeSrc": "8426:12:22", "nodeType": "YulFunctionCall", - "src": "8426:12:9" + "src": "8426:12:22" }, "variableNames": [ { "name": "j", - "nativeSrc": "8421:1:9", + "nativeSrc": "8421:1:22", "nodeType": "YulIdentifier", - "src": "8421:1:9" + "src": "8421:1:22" } ] }, { "body": { - "nativeSrc": "8500:9:9", + "nativeSrc": "8500:9:22", "nodeType": "YulBlock", - "src": "8500:9:9", + "src": "8500:9:22", "statements": [ { - "nativeSrc": "8502:5:9", + "nativeSrc": "8502:5:22", "nodeType": "YulBreak", - "src": "8502:5:9" + "src": "8502:5:22" } ] }, @@ -65832,202 +84807,202 @@ "arguments": [ { "name": "j", - "nativeSrc": "8480:1:9", + "nativeSrc": "8480:1:22", "nodeType": "YulIdentifier", - "src": "8480:1:9" + "src": "8480:1:22" }, { "name": "replacementLen", - "nativeSrc": "8483:14:9", + "nativeSrc": "8483:14:22", "nodeType": "YulIdentifier", - "src": "8483:14:9" + "src": "8483:14:22" } ], "functionName": { "name": "lt", - "nativeSrc": "8477:2:9", + "nativeSrc": "8477:2:22", "nodeType": "YulIdentifier", - "src": "8477:2:9" + "src": "8477:2:22" }, - "nativeSrc": "8477:21:9", + "nativeSrc": "8477:21:22", "nodeType": "YulFunctionCall", - "src": "8477:21:9" + "src": "8477:21:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "8470:6:9", + "nativeSrc": "8470:6:22", "nodeType": "YulIdentifier", - "src": "8470:6:9" + "src": "8470:6:22" }, - "nativeSrc": "8470:29:9", + "nativeSrc": "8470:29:22", "nodeType": "YulFunctionCall", - "src": "8470:29:9" + "src": "8470:29:22" }, - "nativeSrc": "8467:42:9", + "nativeSrc": "8467:42:22", "nodeType": "YulIf", - "src": "8467:42:9" + "src": "8467:42:22" } ] }, "condition": { "kind": "number", - "nativeSrc": "8293:1:9", + "nativeSrc": "8293:1:22", "nodeType": "YulLiteral", - "src": "8293:1:9", + "src": "8293:1:22", "type": "", "value": "1" }, - "nativeSrc": "8274:261:9", + "nativeSrc": "8274:261:22", "nodeType": "YulForLoop", "post": { - "nativeSrc": "8295:2:9", + "nativeSrc": "8295:2:22", "nodeType": "YulBlock", - "src": "8295:2:9", + "src": "8295:2:22", "statements": [] }, "pre": { - "nativeSrc": "8278:14:9", + "nativeSrc": "8278:14:22", "nodeType": "YulBlock", - "src": "8278:14:9", + "src": "8278:14:22", "statements": [ { - "nativeSrc": "8280:10:9", + "nativeSrc": "8280:10:22", "nodeType": "YulVariableDeclaration", - "src": "8280:10:9", + "src": "8280:10:22", "value": { "kind": "number", - "nativeSrc": "8289:1:9", + "nativeSrc": "8289:1:22", "nodeType": "YulLiteral", - "src": "8289:1:9", + "src": "8289:1:22", "type": "", "value": "0" }, "variables": [ { "name": "j", - "nativeSrc": "8284:1:9", + "nativeSrc": "8284:1:22", "nodeType": "YulTypedName", - "src": "8284:1:9", + "src": "8284:1:22", "type": "" } ] } ] }, - "src": "8274:261:9" + "src": "8274:261:22" }, { - "nativeSrc": "8560:43:9", + "nativeSrc": "8560:43:22", "nodeType": "YulAssignment", - "src": "8560:43:9", + "src": "8560:43:22", "value": { "arguments": [ { "arguments": [ { "name": "d", - "nativeSrc": "8573:1:9", + "nativeSrc": "8573:1:22", "nodeType": "YulIdentifier", - "src": "8573:1:9" + "src": "8573:1:22" }, { "name": "replacementLen", - "nativeSrc": "8576:14:9", + "nativeSrc": "8576:14:22", "nodeType": "YulIdentifier", - "src": "8576:14:9" + "src": "8576:14:22" } ], "functionName": { "name": "add", - "nativeSrc": "8569:3:9", + "nativeSrc": "8569:3:22", "nodeType": "YulIdentifier", - "src": "8569:3:9" + "src": "8569:3:22" }, - "nativeSrc": "8569:22:9", + "nativeSrc": "8569:22:22", "nodeType": "YulFunctionCall", - "src": "8569:22:9" + "src": "8569:22:22" }, { "name": "needleLen", - "nativeSrc": "8593:9:9", + "nativeSrc": "8593:9:22", "nodeType": "YulIdentifier", - "src": "8593:9:9" + "src": "8593:9:22" } ], "functionName": { "name": "sub", - "nativeSrc": "8565:3:9", + "nativeSrc": "8565:3:22", "nodeType": "YulIdentifier", - "src": "8565:3:9" + "src": "8565:3:22" }, - "nativeSrc": "8565:38:9", + "nativeSrc": "8565:38:22", "nodeType": "YulFunctionCall", - "src": "8565:38:9" + "src": "8565:38:22" }, "variableNames": [ { "name": "d", - "nativeSrc": "8560:1:9", + "nativeSrc": "8560:1:22", "nodeType": "YulIdentifier", - "src": "8560:1:9" + "src": "8560:1:22" } ] }, { "body": { - "nativeSrc": "8641:188:9", + "nativeSrc": "8641:188:22", "nodeType": "YulBlock", - "src": "8641:188:9", + "src": "8641:188:22", "statements": [ { - "nativeSrc": "8671:22:9", + "nativeSrc": "8671:22:22", "nodeType": "YulAssignment", - "src": "8671:22:9", + "src": "8671:22:22", "value": { "arguments": [ { "name": "i", - "nativeSrc": "8680:1:9", + "nativeSrc": "8680:1:22", "nodeType": "YulIdentifier", - "src": "8680:1:9" + "src": "8680:1:22" }, { "name": "needleLen", - "nativeSrc": "8683:9:9", + "nativeSrc": "8683:9:22", "nodeType": "YulIdentifier", - "src": "8683:9:9" + "src": "8683:9:22" } ], "functionName": { "name": "add", - "nativeSrc": "8676:3:9", + "nativeSrc": "8676:3:22", "nodeType": "YulIdentifier", - "src": "8676:3:9" + "src": "8676:3:22" }, - "nativeSrc": "8676:17:9", + "nativeSrc": "8676:17:22", "nodeType": "YulFunctionCall", - "src": "8676:17:9" + "src": "8676:17:22" }, "variableNames": [ { "name": "i", - "nativeSrc": "8671:1:9", + "nativeSrc": "8671:1:22", "nodeType": "YulIdentifier", - "src": "8671:1:9" + "src": "8671:1:22" } ] }, { "body": { - "nativeSrc": "8757:9:9", + "nativeSrc": "8757:9:22", "nodeType": "YulBlock", - "src": "8757:9:9", + "src": "8757:9:22", "statements": [ { - "nativeSrc": "8759:5:9", + "nativeSrc": "8759:5:22", "nodeType": "YulBreak", - "src": "8759:5:9" + "src": "8759:5:22" } ] }, @@ -66037,58 +85012,58 @@ "arguments": [ { "name": "i", - "nativeSrc": "8735:1:9", + "nativeSrc": "8735:1:22", "nodeType": "YulIdentifier", - "src": "8735:1:9" + "src": "8735:1:22" }, { "name": "subjectSearchEnd", - "nativeSrc": "8738:16:9", + "nativeSrc": "8738:16:22", "nodeType": "YulIdentifier", - "src": "8738:16:9" + "src": "8738:16:22" } ], "functionName": { "name": "lt", - "nativeSrc": "8732:2:9", + "nativeSrc": "8732:2:22", "nodeType": "YulIdentifier", - "src": "8732:2:9" + "src": "8732:2:22" }, - "nativeSrc": "8732:23:9", + "nativeSrc": "8732:23:22", "nodeType": "YulFunctionCall", - "src": "8732:23:9" + "src": "8732:23:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "8725:6:9", + "nativeSrc": "8725:6:22", "nodeType": "YulIdentifier", - "src": "8725:6:9" + "src": "8725:6:22" }, - "nativeSrc": "8725:31:9", + "nativeSrc": "8725:31:22", "nodeType": "YulFunctionCall", - "src": "8725:31:9" + "src": "8725:31:22" }, - "nativeSrc": "8722:44:9", + "nativeSrc": "8722:44:22", "nodeType": "YulIf", - "src": "8722:44:9" + "src": "8722:44:22" }, { - "nativeSrc": "8795:8:9", + "nativeSrc": "8795:8:22", "nodeType": "YulContinue", - "src": "8795:8:9" + "src": "8795:8:22" } ] }, "condition": { "name": "needleLen", - "nativeSrc": "8631:9:9", + "nativeSrc": "8631:9:22", "nodeType": "YulIdentifier", - "src": "8631:9:9" + "src": "8631:9:22" }, - "nativeSrc": "8628:201:9", + "nativeSrc": "8628:201:22", "nodeType": "YulIf", - "src": "8628:201:9" + "src": "8628:201:22" } ] }, @@ -66098,60 +85073,60 @@ "arguments": [ { "name": "m", - "nativeSrc": "7786:1:9", + "nativeSrc": "7786:1:22", "nodeType": "YulIdentifier", - "src": "7786:1:9" + "src": "7786:1:22" }, { "arguments": [ { "name": "t", - "nativeSrc": "7793:1:9", + "nativeSrc": "7793:1:22", "nodeType": "YulIdentifier", - "src": "7793:1:9" + "src": "7793:1:22" }, { "name": "s", - "nativeSrc": "7796:1:9", + "nativeSrc": "7796:1:22", "nodeType": "YulIdentifier", - "src": "7796:1:9" + "src": "7796:1:22" } ], "functionName": { "name": "xor", - "nativeSrc": "7789:3:9", + "nativeSrc": "7789:3:22", "nodeType": "YulIdentifier", - "src": "7789:3:9" + "src": "7789:3:22" }, - "nativeSrc": "7789:9:9", + "nativeSrc": "7789:9:22", "nodeType": "YulFunctionCall", - "src": "7789:9:9" + "src": "7789:9:22" } ], "functionName": { "name": "shr", - "nativeSrc": "7782:3:9", + "nativeSrc": "7782:3:22", "nodeType": "YulIdentifier", - "src": "7782:3:9" + "src": "7782:3:22" }, - "nativeSrc": "7782:17:9", + "nativeSrc": "7782:17:22", "nodeType": "YulFunctionCall", - "src": "7782:17:9" + "src": "7782:17:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "7775:6:9", + "nativeSrc": "7775:6:22", "nodeType": "YulIdentifier", - "src": "7775:6:9" + "src": "7775:6:22" }, - "nativeSrc": "7775:25:9", + "nativeSrc": "7775:25:22", "nodeType": "YulFunctionCall", - "src": "7775:25:9" + "src": "7775:25:22" }, - "nativeSrc": "7772:1079:9", + "nativeSrc": "7772:1079:22", "nodeType": "YulIf", - "src": "7772:1079:9" + "src": "7772:1079:22" }, { "expression": { @@ -66160,98 +85135,98 @@ "arguments": [ { "name": "i", - "nativeSrc": "8883:1:9", + "nativeSrc": "8883:1:22", "nodeType": "YulIdentifier", - "src": "8883:1:9" + "src": "8883:1:22" }, { "name": "d", - "nativeSrc": "8886:1:9", + "nativeSrc": "8886:1:22", "nodeType": "YulIdentifier", - "src": "8886:1:9" + "src": "8886:1:22" } ], "functionName": { "name": "add", - "nativeSrc": "8879:3:9", + "nativeSrc": "8879:3:22", "nodeType": "YulIdentifier", - "src": "8879:3:9" + "src": "8879:3:22" }, - "nativeSrc": "8879:9:9", + "nativeSrc": "8879:9:22", "nodeType": "YulFunctionCall", - "src": "8879:9:9" + "src": "8879:9:22" }, { "name": "t", - "nativeSrc": "8890:1:9", + "nativeSrc": "8890:1:22", "nodeType": "YulIdentifier", - "src": "8890:1:9" + "src": "8890:1:22" } ], "functionName": { "name": "mstore", - "nativeSrc": "8872:6:9", + "nativeSrc": "8872:6:22", "nodeType": "YulIdentifier", - "src": "8872:6:9" + "src": "8872:6:22" }, - "nativeSrc": "8872:20:9", + "nativeSrc": "8872:20:22", "nodeType": "YulFunctionCall", - "src": "8872:20:9" + "src": "8872:20:22" }, - "nativeSrc": "8872:20:9", + "nativeSrc": "8872:20:22", "nodeType": "YulExpressionStatement", - "src": "8872:20:9" + "src": "8872:20:22" }, { - "nativeSrc": "8913:14:9", + "nativeSrc": "8913:14:22", "nodeType": "YulAssignment", - "src": "8913:14:9", + "src": "8913:14:22", "value": { "arguments": [ { "name": "i", - "nativeSrc": "8922:1:9", + "nativeSrc": "8922:1:22", "nodeType": "YulIdentifier", - "src": "8922:1:9" + "src": "8922:1:22" }, { "kind": "number", - "nativeSrc": "8925:1:9", + "nativeSrc": "8925:1:22", "nodeType": "YulLiteral", - "src": "8925:1:9", + "src": "8925:1:22", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "8918:3:9", + "nativeSrc": "8918:3:22", "nodeType": "YulIdentifier", - "src": "8918:3:9" + "src": "8918:3:22" }, - "nativeSrc": "8918:9:9", + "nativeSrc": "8918:9:22", "nodeType": "YulFunctionCall", - "src": "8918:9:9" + "src": "8918:9:22" }, "variableNames": [ { "name": "i", - "nativeSrc": "8913:1:9", + "nativeSrc": "8913:1:22", "nodeType": "YulIdentifier", - "src": "8913:1:9" + "src": "8913:1:22" } ] }, { "body": { - "nativeSrc": "8983:9:9", + "nativeSrc": "8983:9:22", "nodeType": "YulBlock", - "src": "8983:9:9", + "src": "8983:9:22", "statements": [ { - "nativeSrc": "8985:5:9", + "nativeSrc": "8985:5:22", "nodeType": "YulBreak", - "src": "8985:5:9" + "src": "8985:5:22" } ] }, @@ -66261,76 +85236,76 @@ "arguments": [ { "name": "i", - "nativeSrc": "8961:1:9", + "nativeSrc": "8961:1:22", "nodeType": "YulIdentifier", - "src": "8961:1:9" + "src": "8961:1:22" }, { "name": "subjectSearchEnd", - "nativeSrc": "8964:16:9", + "nativeSrc": "8964:16:22", "nodeType": "YulIdentifier", - "src": "8964:16:9" + "src": "8964:16:22" } ], "functionName": { "name": "lt", - "nativeSrc": "8958:2:9", + "nativeSrc": "8958:2:22", "nodeType": "YulIdentifier", - "src": "8958:2:9" + "src": "8958:2:22" }, - "nativeSrc": "8958:23:9", + "nativeSrc": "8958:23:22", "nodeType": "YulFunctionCall", - "src": "8958:23:9" + "src": "8958:23:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "8951:6:9", + "nativeSrc": "8951:6:22", "nodeType": "YulIdentifier", - "src": "8951:6:9" + "src": "8951:6:22" }, - "nativeSrc": "8951:31:9", + "nativeSrc": "8951:31:22", "nodeType": "YulFunctionCall", - "src": "8951:31:9" + "src": "8951:31:22" }, - "nativeSrc": "8948:44:9", + "nativeSrc": "8948:44:22", "nodeType": "YulIf", - "src": "8948:44:9" + "src": "8948:44:22" } ] }, "condition": { "kind": "number", - "nativeSrc": "7608:1:9", + "nativeSrc": "7608:1:22", "nodeType": "YulLiteral", - "src": "7608:1:9", + "src": "7608:1:22", "type": "", "value": "1" }, - "nativeSrc": "7551:1459:9", + "nativeSrc": "7551:1459:22", "nodeType": "YulForLoop", "post": { - "nativeSrc": "7610:2:9", + "nativeSrc": "7610:2:22", "nodeType": "YulBlock", - "src": "7610:2:9", + "src": "7610:2:22", "statements": [] }, "pre": { - "nativeSrc": "7555:52:9", + "nativeSrc": "7555:52:22", "nodeType": "YulBlock", - "src": "7555:52:9", + "src": "7555:52:22", "statements": [ { - "nativeSrc": "7557:48:9", + "nativeSrc": "7557:48:22", "nodeType": "YulVariableDeclaration", - "src": "7557:48:9", + "src": "7557:48:22", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "7570:1:9", + "nativeSrc": "7570:1:22", "nodeType": "YulLiteral", - "src": "7570:1:9", + "src": "7570:1:22", "type": "", "value": "3" }, @@ -66338,9 +85313,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "7577:4:9", + "nativeSrc": "7577:4:22", "nodeType": "YulLiteral", - "src": "7577:4:9", + "src": "7577:4:22", "type": "", "value": "0x20" }, @@ -66348,64 +85323,64 @@ "arguments": [ { "name": "needleLen", - "nativeSrc": "7587:9:9", + "nativeSrc": "7587:9:22", "nodeType": "YulIdentifier", - "src": "7587:9:9" + "src": "7587:9:22" }, { "kind": "number", - "nativeSrc": "7598:4:9", + "nativeSrc": "7598:4:22", "nodeType": "YulLiteral", - "src": "7598:4:9", + "src": "7598:4:22", "type": "", "value": "0x1f" } ], "functionName": { "name": "and", - "nativeSrc": "7583:3:9", + "nativeSrc": "7583:3:22", "nodeType": "YulIdentifier", - "src": "7583:3:9" + "src": "7583:3:22" }, - "nativeSrc": "7583:20:9", + "nativeSrc": "7583:20:22", "nodeType": "YulFunctionCall", - "src": "7583:20:9" + "src": "7583:20:22" } ], "functionName": { "name": "sub", - "nativeSrc": "7573:3:9", + "nativeSrc": "7573:3:22", "nodeType": "YulIdentifier", - "src": "7573:3:9" + "src": "7573:3:22" }, - "nativeSrc": "7573:31:9", + "nativeSrc": "7573:31:22", "nodeType": "YulFunctionCall", - "src": "7573:31:9" + "src": "7573:31:22" } ], "functionName": { "name": "shl", - "nativeSrc": "7566:3:9", + "nativeSrc": "7566:3:22", "nodeType": "YulIdentifier", - "src": "7566:3:9" + "src": "7566:3:22" }, - "nativeSrc": "7566:39:9", + "nativeSrc": "7566:39:22", "nodeType": "YulFunctionCall", - "src": "7566:39:9" + "src": "7566:39:22" }, "variables": [ { "name": "m", - "nativeSrc": "7561:1:9", + "nativeSrc": "7561:1:22", "nodeType": "YulTypedName", - "src": "7561:1:9", + "src": "7561:1:22", "type": "" } ] } ] }, - "src": "7551:1459:9" + "src": "7551:1459:22" } ] }, @@ -66415,174 +85390,174 @@ "arguments": [ { "name": "needleLen", - "nativeSrc": "7231:9:9", + "nativeSrc": "7231:9:22", "nodeType": "YulIdentifier", - "src": "7231:9:9" + "src": "7231:9:22" }, { "arguments": [ { "name": "subject", - "nativeSrc": "7248:7:9", + "nativeSrc": "7248:7:22", "nodeType": "YulIdentifier", - "src": "7248:7:9" + "src": "7248:7:22" } ], "functionName": { "name": "mload", - "nativeSrc": "7242:5:9", + "nativeSrc": "7242:5:22", "nodeType": "YulIdentifier", - "src": "7242:5:9" + "src": "7242:5:22" }, - "nativeSrc": "7242:14:9", + "nativeSrc": "7242:14:22", "nodeType": "YulFunctionCall", - "src": "7242:14:9" + "src": "7242:14:22" } ], "functionName": { "name": "gt", - "nativeSrc": "7228:2:9", + "nativeSrc": "7228:2:22", "nodeType": "YulIdentifier", - "src": "7228:2:9" + "src": "7228:2:22" }, - "nativeSrc": "7228:29:9", + "nativeSrc": "7228:29:22", "nodeType": "YulFunctionCall", - "src": "7228:29:9" + "src": "7228:29:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "7221:6:9", + "nativeSrc": "7221:6:22", "nodeType": "YulIdentifier", - "src": "7221:6:9" + "src": "7221:6:22" }, - "nativeSrc": "7221:37:9", + "nativeSrc": "7221:37:22", "nodeType": "YulFunctionCall", - "src": "7221:37:9" + "src": "7221:37:22" }, - "nativeSrc": "7218:1806:9", + "nativeSrc": "7218:1806:22", "nodeType": "YulIf", - "src": "7218:1806:9" + "src": "7218:1806:22" }, { - "nativeSrc": "9037:22:9", + "nativeSrc": "9037:22:22", "nodeType": "YulVariableDeclaration", - "src": "9037:22:9", + "src": "9037:22:22", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "9054:4:9", + "nativeSrc": "9054:4:22", "nodeType": "YulLiteral", - "src": "9054:4:9", + "src": "9054:4:22", "type": "", "value": "0x00" } ], "functionName": { "name": "mload", - "nativeSrc": "9048:5:9", + "nativeSrc": "9048:5:22", "nodeType": "YulIdentifier", - "src": "9048:5:9" + "src": "9048:5:22" }, - "nativeSrc": "9048:11:9", + "nativeSrc": "9048:11:22", "nodeType": "YulFunctionCall", - "src": "9048:11:9" + "src": "9048:11:22" }, "variables": [ { "name": "end", - "nativeSrc": "9041:3:9", + "nativeSrc": "9041:3:22", "nodeType": "YulTypedName", - "src": "9041:3:9", + "src": "9041:3:22", "type": "" } ] }, { - "nativeSrc": "9072:44:9", + "nativeSrc": "9072:44:22", "nodeType": "YulVariableDeclaration", - "src": "9072:44:9", + "src": "9072:44:22", "value": { "arguments": [ { "arguments": [ { "name": "d", - "nativeSrc": "9089:1:9", + "nativeSrc": "9089:1:22", "nodeType": "YulIdentifier", - "src": "9089:1:9" + "src": "9089:1:22" }, { "arguments": [ { "name": "result", - "nativeSrc": "9096:6:9", + "nativeSrc": "9096:6:22", "nodeType": "YulIdentifier", - "src": "9096:6:9" + "src": "9096:6:22" }, { "kind": "number", - "nativeSrc": "9104:4:9", + "nativeSrc": "9104:4:22", "nodeType": "YulLiteral", - "src": "9104:4:9", + "src": "9104:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "9092:3:9", + "nativeSrc": "9092:3:22", "nodeType": "YulIdentifier", - "src": "9092:3:9" + "src": "9092:3:22" }, - "nativeSrc": "9092:17:9", + "nativeSrc": "9092:17:22", "nodeType": "YulFunctionCall", - "src": "9092:17:9" + "src": "9092:17:22" } ], "functionName": { "name": "sub", - "nativeSrc": "9085:3:9", + "nativeSrc": "9085:3:22", "nodeType": "YulIdentifier", - "src": "9085:3:9" + "src": "9085:3:22" }, - "nativeSrc": "9085:25:9", + "nativeSrc": "9085:25:22", "nodeType": "YulFunctionCall", - "src": "9085:25:9" + "src": "9085:25:22" }, { "name": "end", - "nativeSrc": "9112:3:9", + "nativeSrc": "9112:3:22", "nodeType": "YulIdentifier", - "src": "9112:3:9" + "src": "9112:3:22" } ], "functionName": { "name": "add", - "nativeSrc": "9081:3:9", + "nativeSrc": "9081:3:22", "nodeType": "YulIdentifier", - "src": "9081:3:9" + "src": "9081:3:22" }, - "nativeSrc": "9081:35:9", + "nativeSrc": "9081:35:22", "nodeType": "YulFunctionCall", - "src": "9081:35:9" + "src": "9081:35:22" }, "variables": [ { "name": "n", - "nativeSrc": "9076:1:9", + "nativeSrc": "9076:1:22", "nodeType": "YulTypedName", - "src": "9076:1:9", + "src": "9076:1:22", "type": "" } ] }, { "body": { - "nativeSrc": "9231:31:9", + "nativeSrc": "9231:31:22", "nodeType": "YulBlock", - "src": "9231:31:9", + "src": "9231:31:22", "statements": [ { "expression": { @@ -66591,60 +85566,60 @@ "arguments": [ { "name": "i", - "nativeSrc": "9244:1:9", + "nativeSrc": "9244:1:22", "nodeType": "YulIdentifier", - "src": "9244:1:9" + "src": "9244:1:22" }, { "name": "d", - "nativeSrc": "9247:1:9", + "nativeSrc": "9247:1:22", "nodeType": "YulIdentifier", - "src": "9247:1:9" + "src": "9247:1:22" } ], "functionName": { "name": "add", - "nativeSrc": "9240:3:9", + "nativeSrc": "9240:3:22", "nodeType": "YulIdentifier", - "src": "9240:3:9" + "src": "9240:3:22" }, - "nativeSrc": "9240:9:9", + "nativeSrc": "9240:9:22", "nodeType": "YulFunctionCall", - "src": "9240:9:9" + "src": "9240:9:22" }, { "arguments": [ { "name": "i", - "nativeSrc": "9257:1:9", + "nativeSrc": "9257:1:22", "nodeType": "YulIdentifier", - "src": "9257:1:9" + "src": "9257:1:22" } ], "functionName": { "name": "mload", - "nativeSrc": "9251:5:9", + "nativeSrc": "9251:5:22", "nodeType": "YulIdentifier", - "src": "9251:5:9" + "src": "9251:5:22" }, - "nativeSrc": "9251:8:9", + "nativeSrc": "9251:8:22", "nodeType": "YulFunctionCall", - "src": "9251:8:9" + "src": "9251:8:22" } ], "functionName": { "name": "mstore", - "nativeSrc": "9233:6:9", + "nativeSrc": "9233:6:22", "nodeType": "YulIdentifier", - "src": "9233:6:9" + "src": "9233:6:22" }, - "nativeSrc": "9233:27:9", + "nativeSrc": "9233:27:22", "nodeType": "YulFunctionCall", - "src": "9233:27:9" + "src": "9233:27:22" }, - "nativeSrc": "9233:27:9", + "nativeSrc": "9233:27:22", "nodeType": "YulExpressionStatement", - "src": "9233:27:9" + "src": "9233:27:22" } ] }, @@ -66652,119 +85627,119 @@ "arguments": [ { "name": "i", - "nativeSrc": "9201:1:9", + "nativeSrc": "9201:1:22", "nodeType": "YulIdentifier", - "src": "9201:1:9" + "src": "9201:1:22" }, { "name": "end", - "nativeSrc": "9204:3:9", + "nativeSrc": "9204:3:22", "nodeType": "YulIdentifier", - "src": "9204:3:9" + "src": "9204:3:22" } ], "functionName": { "name": "lt", - "nativeSrc": "9198:2:9", + "nativeSrc": "9198:2:22", "nodeType": "YulIdentifier", - "src": "9198:2:9" + "src": "9198:2:22" }, - "nativeSrc": "9198:10:9", + "nativeSrc": "9198:10:22", "nodeType": "YulFunctionCall", - "src": "9198:10:9" + "src": "9198:10:22" }, - "nativeSrc": "9191:71:9", + "nativeSrc": "9191:71:22", "nodeType": "YulForLoop", "post": { - "nativeSrc": "9209:21:9", + "nativeSrc": "9209:21:22", "nodeType": "YulBlock", - "src": "9209:21:9", + "src": "9209:21:22", "statements": [ { - "nativeSrc": "9211:17:9", + "nativeSrc": "9211:17:22", "nodeType": "YulAssignment", - "src": "9211:17:9", + "src": "9211:17:22", "value": { "arguments": [ { "name": "i", - "nativeSrc": "9220:1:9", + "nativeSrc": "9220:1:22", "nodeType": "YulIdentifier", - "src": "9220:1:9" + "src": "9220:1:22" }, { "kind": "number", - "nativeSrc": "9223:4:9", + "nativeSrc": "9223:4:22", "nodeType": "YulLiteral", - "src": "9223:4:9", + "src": "9223:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "9216:3:9", + "nativeSrc": "9216:3:22", "nodeType": "YulIdentifier", - "src": "9216:3:9" + "src": "9216:3:22" }, - "nativeSrc": "9216:12:9", + "nativeSrc": "9216:12:22", "nodeType": "YulFunctionCall", - "src": "9216:12:9" + "src": "9216:12:22" }, "variableNames": [ { "name": "i", - "nativeSrc": "9211:1:9", + "nativeSrc": "9211:1:22", "nodeType": "YulIdentifier", - "src": "9211:1:9" + "src": "9211:1:22" } ] } ] }, "pre": { - "nativeSrc": "9195:2:9", + "nativeSrc": "9195:2:22", "nodeType": "YulBlock", - "src": "9195:2:9", + "src": "9195:2:22", "statements": [] }, - "src": "9191:71:9" + "src": "9191:71:22" }, { - "nativeSrc": "9275:18:9", + "nativeSrc": "9275:18:22", "nodeType": "YulVariableDeclaration", - "src": "9275:18:9", + "src": "9275:18:22", "value": { "arguments": [ { "name": "i", - "nativeSrc": "9288:1:9", + "nativeSrc": "9288:1:22", "nodeType": "YulIdentifier", - "src": "9288:1:9" + "src": "9288:1:22" }, { "name": "d", - "nativeSrc": "9291:1:9", + "nativeSrc": "9291:1:22", "nodeType": "YulIdentifier", - "src": "9291:1:9" + "src": "9291:1:22" } ], "functionName": { "name": "add", - "nativeSrc": "9284:3:9", + "nativeSrc": "9284:3:22", "nodeType": "YulIdentifier", - "src": "9284:3:9" + "src": "9284:3:22" }, - "nativeSrc": "9284:9:9", + "nativeSrc": "9284:9:22", "nodeType": "YulFunctionCall", - "src": "9284:9:9" + "src": "9284:9:22" }, "variables": [ { "name": "o", - "nativeSrc": "9279:1:9", + "nativeSrc": "9279:1:22", "nodeType": "YulTypedName", - "src": "9279:1:9", + "src": "9279:1:22", "type": "" } ] @@ -66774,41 +85749,41 @@ "arguments": [ { "name": "o", - "nativeSrc": "9313:1:9", + "nativeSrc": "9313:1:22", "nodeType": "YulIdentifier", - "src": "9313:1:9" + "src": "9313:1:22" }, { "kind": "number", - "nativeSrc": "9316:1:9", + "nativeSrc": "9316:1:22", "nodeType": "YulLiteral", - "src": "9316:1:9", + "src": "9316:1:22", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "9306:6:9", + "nativeSrc": "9306:6:22", "nodeType": "YulIdentifier", - "src": "9306:6:9" + "src": "9306:6:22" }, - "nativeSrc": "9306:12:9", + "nativeSrc": "9306:12:22", "nodeType": "YulFunctionCall", - "src": "9306:12:9" + "src": "9306:12:22" }, - "nativeSrc": "9306:12:9", + "nativeSrc": "9306:12:22", "nodeType": "YulExpressionStatement", - "src": "9306:12:9" + "src": "9306:12:22" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "9375:4:9", + "nativeSrc": "9375:4:22", "nodeType": "YulLiteral", - "src": "9375:4:9", + "src": "9375:4:22", "type": "", "value": "0x40" }, @@ -66816,73 +85791,73 @@ "arguments": [ { "name": "o", - "nativeSrc": "9385:1:9", + "nativeSrc": "9385:1:22", "nodeType": "YulIdentifier", - "src": "9385:1:9" + "src": "9385:1:22" }, { "kind": "number", - "nativeSrc": "9388:4:9", + "nativeSrc": "9388:4:22", "nodeType": "YulLiteral", - "src": "9388:4:9", + "src": "9388:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "9381:3:9", + "nativeSrc": "9381:3:22", "nodeType": "YulIdentifier", - "src": "9381:3:9" + "src": "9381:3:22" }, - "nativeSrc": "9381:12:9", + "nativeSrc": "9381:12:22", "nodeType": "YulFunctionCall", - "src": "9381:12:9" + "src": "9381:12:22" } ], "functionName": { "name": "mstore", - "nativeSrc": "9368:6:9", + "nativeSrc": "9368:6:22", "nodeType": "YulIdentifier", - "src": "9368:6:9" + "src": "9368:6:22" }, - "nativeSrc": "9368:26:9", + "nativeSrc": "9368:26:22", "nodeType": "YulFunctionCall", - "src": "9368:26:9" + "src": "9368:26:22" }, - "nativeSrc": "9368:26:9", + "nativeSrc": "9368:26:22", "nodeType": "YulExpressionStatement", - "src": "9368:26:9" + "src": "9368:26:22" }, { "expression": { "arguments": [ { "name": "result", - "nativeSrc": "9434:6:9", + "nativeSrc": "9434:6:22", "nodeType": "YulIdentifier", - "src": "9434:6:9" + "src": "9434:6:22" }, { "name": "n", - "nativeSrc": "9442:1:9", + "nativeSrc": "9442:1:22", "nodeType": "YulIdentifier", - "src": "9442:1:9" + "src": "9442:1:22" } ], "functionName": { "name": "mstore", - "nativeSrc": "9427:6:9", + "nativeSrc": "9427:6:22", "nodeType": "YulIdentifier", - "src": "9427:6:9" + "src": "9427:6:22" }, - "nativeSrc": "9427:17:9", + "nativeSrc": "9427:17:22", "nodeType": "YulFunctionCall", - "src": "9427:17:9" + "src": "9427:17:22" }, - "nativeSrc": "9427:17:9", + "nativeSrc": "9427:17:22", "nodeType": "YulExpressionStatement", - "src": "9427:17:9" + "src": "9427:17:22" } ] }, @@ -66890,129 +85865,129 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2692, + "declaration": 4298, "isOffset": false, "isSlot": false, - "src": "6947:6:9", + "src": "6947:6:22", "valueSize": 1 }, { - "declaration": 2692, + "declaration": 4298, "isOffset": false, "isSlot": false, - "src": "7457:6:9", + "src": "7457:6:22", "valueSize": 1 }, { - "declaration": 2692, + "declaration": 4298, "isOffset": false, "isSlot": false, - "src": "7520:6:9", + "src": "7520:6:22", "valueSize": 1 }, { - "declaration": 2694, + "declaration": 4300, "isOffset": false, "isSlot": false, - "src": "6995:11:9", + "src": "6995:11:22", "valueSize": 1 }, { - "declaration": 2694, + "declaration": 4300, "isOffset": false, "isSlot": false, - "src": "8368:11:9", + "src": "8368:11:22", "valueSize": 1 }, { - "declaration": 2697, + "declaration": 4303, "isOffset": false, "isSlot": false, - "src": "6890:6:9", + "src": "6890:6:22", "valueSize": 1 }, { - "declaration": 2697, + "declaration": 4303, "isOffset": false, "isSlot": false, - "src": "7033:6:9", + "src": "7033:6:22", "valueSize": 1 }, { - "declaration": 2697, + "declaration": 4303, "isOffset": false, "isSlot": false, - "src": "9096:6:9", + "src": "9096:6:22", "valueSize": 1 }, { - "declaration": 2697, + "declaration": 4303, "isOffset": false, "isSlot": false, - "src": "9434:6:9", + "src": "9434:6:22", "valueSize": 1 }, { - "declaration": 2690, + "declaration": 4296, "isOffset": false, "isSlot": false, - "src": "7041:7:9", + "src": "7041:7:22", "valueSize": 1 }, { - "declaration": 2690, + "declaration": 4296, "isOffset": false, "isSlot": false, - "src": "7097:7:9", + "src": "7097:7:22", "valueSize": 1 }, { - "declaration": 2690, + "declaration": 4296, "isOffset": false, "isSlot": false, - "src": "7176:7:9", + "src": "7176:7:22", "valueSize": 1 }, { - "declaration": 2690, + "declaration": 4296, "isOffset": false, "isSlot": false, - "src": "7248:7:9", + "src": "7248:7:22", "valueSize": 1 } ], - "id": 2699, + "id": 4305, "nodeType": "InlineAssembly", - "src": "6867:2608:9" + "src": "6867:2608:22" } ] }, "documentation": { - "id": 2688, + "id": 4294, "nodeType": "StructuredDocumentation", - "src": "6568:83:9", + "src": "6568:83:22", "text": "@dev Returns `subject` all occurrences of `needle` replaced with `replacement`." }, - "id": 2701, + "id": 4307, "implemented": true, "kind": "function", "modifiers": [], "name": "replace", - "nameLocation": "6665:7:9", + "nameLocation": "6665:7:22", "nodeType": "FunctionDefinition", "parameters": { - "id": 2695, + "id": 4301, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2690, + "id": 4296, "mutability": "mutable", "name": "subject", - "nameLocation": "6686:7:9", + "nameLocation": "6686:7:22", "nodeType": "VariableDeclaration", - "scope": 2701, - "src": "6673:20:9", + "scope": 4307, + "src": "6673:20:22", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -67020,10 +85995,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2689, + "id": 4295, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "6673:5:9", + "src": "6673:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -67033,13 +86008,13 @@ }, { "constant": false, - "id": 2692, + "id": 4298, "mutability": "mutable", "name": "needle", - "nameLocation": "6708:6:9", + "nameLocation": "6708:6:22", "nodeType": "VariableDeclaration", - "scope": 2701, - "src": "6695:19:9", + "scope": 4307, + "src": "6695:19:22", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -67047,10 +86022,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2691, + "id": 4297, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "6695:5:9", + "src": "6695:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -67060,13 +86035,13 @@ }, { "constant": false, - "id": 2694, + "id": 4300, "mutability": "mutable", "name": "replacement", - "nameLocation": "6729:11:9", + "nameLocation": "6729:11:22", "nodeType": "VariableDeclaration", - "scope": 2701, - "src": "6716:24:9", + "scope": 4307, + "src": "6716:24:22", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -67074,10 +86049,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2693, + "id": 4299, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "6716:5:9", + "src": "6716:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -67086,21 +86061,21 @@ "visibility": "internal" } ], - "src": "6672:69:9" + "src": "6672:69:22" }, "returnParameters": { - "id": 2698, + "id": 4304, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2697, + "id": 4303, "mutability": "mutable", "name": "result", - "nameLocation": "6802:6:9", + "nameLocation": "6802:6:22", "nodeType": "VariableDeclaration", - "scope": 2701, - "src": "6789:19:9", + "scope": 4307, + "src": "6789:19:22", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -67108,10 +86083,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2696, + "id": 4302, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "6789:5:9", + "src": "6789:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -67120,101 +86095,101 @@ "visibility": "internal" } ], - "src": "6788:21:9" + "src": "6788:21:22" }, - "scope": 3078, - "src": "6656:2825:9", + "scope": 4684, + "src": "6656:2825:22", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 2714, + "id": 4320, "nodeType": "Block", - "src": "9857:1835:9", + "src": "9857:1835:22", "statements": [ { "AST": { - "nativeSrc": "9919:1767:9", + "nativeSrc": "9919:1767:22", "nodeType": "YulBlock", - "src": "9919:1767:9", + "src": "9919:1767:22", "statements": [ { - "nativeSrc": "9933:16:9", + "nativeSrc": "9933:16:22", "nodeType": "YulAssignment", - "src": "9933:16:9", + "src": "9933:16:22", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "9947:1:9", + "nativeSrc": "9947:1:22", "nodeType": "YulLiteral", - "src": "9947:1:9", + "src": "9947:1:22", "type": "", "value": "0" } ], "functionName": { "name": "not", - "nativeSrc": "9943:3:9", + "nativeSrc": "9943:3:22", "nodeType": "YulIdentifier", - "src": "9943:3:9" + "src": "9943:3:22" }, - "nativeSrc": "9943:6:9", + "nativeSrc": "9943:6:22", "nodeType": "YulFunctionCall", - "src": "9943:6:9" + "src": "9943:6:22" }, "variableNames": [ { "name": "result", - "nativeSrc": "9933:6:9", + "nativeSrc": "9933:6:22", "nodeType": "YulIdentifier", - "src": "9933:6:9" + "src": "9933:6:22" } ] }, { "body": { - "nativeSrc": "10038:1638:9", + "nativeSrc": "10038:1638:22", "nodeType": "YulBlock", - "src": "10038:1638:9", + "src": "10038:1638:22", "statements": [ { "body": { - "nativeSrc": "10081:183:9", + "nativeSrc": "10081:183:22", "nodeType": "YulBlock", - "src": "10081:183:9", + "src": "10081:183:22", "statements": [ { - "nativeSrc": "10103:14:9", + "nativeSrc": "10103:14:22", "nodeType": "YulAssignment", - "src": "10103:14:9", + "src": "10103:14:22", "value": { "name": "from", - "nativeSrc": "10113:4:9", + "nativeSrc": "10113:4:22", "nodeType": "YulIdentifier", - "src": "10113:4:9" + "src": "10113:4:22" }, "variableNames": [ { "name": "result", - "nativeSrc": "10103:6:9", + "nativeSrc": "10103:6:22", "nodeType": "YulIdentifier", - "src": "10103:6:9" + "src": "10103:6:22" } ] }, { "body": { - "nativeSrc": "10170:9:9", + "nativeSrc": "10170:9:22", "nodeType": "YulBlock", - "src": "10170:9:9", + "src": "10170:9:22", "statements": [ { - "nativeSrc": "10172:5:9", + "nativeSrc": "10172:5:22", "nodeType": "YulBreak", - "src": "10172:5:9" + "src": "10172:5:22" } ] }, @@ -67224,65 +86199,65 @@ "arguments": [ { "name": "from", - "nativeSrc": "10151:4:9", + "nativeSrc": "10151:4:22", "nodeType": "YulIdentifier", - "src": "10151:4:9" + "src": "10151:4:22" }, { "name": "subjectLen", - "nativeSrc": "10157:10:9", + "nativeSrc": "10157:10:22", "nodeType": "YulIdentifier", - "src": "10157:10:9" + "src": "10157:10:22" } ], "functionName": { "name": "gt", - "nativeSrc": "10148:2:9", + "nativeSrc": "10148:2:22", "nodeType": "YulIdentifier", - "src": "10148:2:9" + "src": "10148:2:22" }, - "nativeSrc": "10148:20:9", + "nativeSrc": "10148:20:22", "nodeType": "YulFunctionCall", - "src": "10148:20:9" + "src": "10148:20:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "10141:6:9", + "nativeSrc": "10141:6:22", "nodeType": "YulIdentifier", - "src": "10141:6:9" + "src": "10141:6:22" }, - "nativeSrc": "10141:28:9", + "nativeSrc": "10141:28:22", "nodeType": "YulFunctionCall", - "src": "10141:28:9" + "src": "10141:28:22" }, - "nativeSrc": "10138:41:9", + "nativeSrc": "10138:41:22", "nodeType": "YulIf", - "src": "10138:41:9" + "src": "10138:41:22" }, { - "nativeSrc": "10200:20:9", + "nativeSrc": "10200:20:22", "nodeType": "YulAssignment", - "src": "10200:20:9", + "src": "10200:20:22", "value": { "name": "subjectLen", - "nativeSrc": "10210:10:9", + "nativeSrc": "10210:10:22", "nodeType": "YulIdentifier", - "src": "10210:10:9" + "src": "10210:10:22" }, "variableNames": [ { "name": "result", - "nativeSrc": "10200:6:9", + "nativeSrc": "10200:6:22", "nodeType": "YulIdentifier", - "src": "10200:6:9" + "src": "10200:6:22" } ] }, { - "nativeSrc": "10241:5:9", + "nativeSrc": "10241:5:22", "nodeType": "YulBreak", - "src": "10241:5:9" + "src": "10241:5:22" } ] }, @@ -67292,152 +86267,152 @@ "arguments": [ { "name": "needle", - "nativeSrc": "10072:6:9", + "nativeSrc": "10072:6:22", "nodeType": "YulIdentifier", - "src": "10072:6:9" + "src": "10072:6:22" } ], "functionName": { "name": "mload", - "nativeSrc": "10066:5:9", + "nativeSrc": "10066:5:22", "nodeType": "YulIdentifier", - "src": "10066:5:9" + "src": "10066:5:22" }, - "nativeSrc": "10066:13:9", + "nativeSrc": "10066:13:22", "nodeType": "YulFunctionCall", - "src": "10066:13:9" + "src": "10066:13:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "10059:6:9", + "nativeSrc": "10059:6:22", "nodeType": "YulIdentifier", - "src": "10059:6:9" + "src": "10059:6:22" }, - "nativeSrc": "10059:21:9", + "nativeSrc": "10059:21:22", "nodeType": "YulFunctionCall", - "src": "10059:21:9" + "src": "10059:21:22" }, - "nativeSrc": "10056:208:9", + "nativeSrc": "10056:208:22", "nodeType": "YulIf", - "src": "10056:208:9" + "src": "10056:208:22" }, { - "nativeSrc": "10281:30:9", + "nativeSrc": "10281:30:22", "nodeType": "YulVariableDeclaration", - "src": "10281:30:9", + "src": "10281:30:22", "value": { "arguments": [ { "name": "needle", - "nativeSrc": "10304:6:9", + "nativeSrc": "10304:6:22", "nodeType": "YulIdentifier", - "src": "10304:6:9" + "src": "10304:6:22" } ], "functionName": { "name": "mload", - "nativeSrc": "10298:5:9", + "nativeSrc": "10298:5:22", "nodeType": "YulIdentifier", - "src": "10298:5:9" + "src": "10298:5:22" }, - "nativeSrc": "10298:13:9", + "nativeSrc": "10298:13:22", "nodeType": "YulFunctionCall", - "src": "10298:13:9" + "src": "10298:13:22" }, "variables": [ { "name": "needleLen", - "nativeSrc": "10285:9:9", + "nativeSrc": "10285:9:22", "nodeType": "YulTypedName", - "src": "10285:9:9", + "src": "10285:9:22", "type": "" } ] }, { - "nativeSrc": "10328:38:9", + "nativeSrc": "10328:38:22", "nodeType": "YulVariableDeclaration", - "src": "10328:38:9", + "src": "10328:38:22", "value": { "arguments": [ { "name": "subject", - "nativeSrc": "10352:7:9", + "nativeSrc": "10352:7:22", "nodeType": "YulIdentifier", - "src": "10352:7:9" + "src": "10352:7:22" }, { "kind": "number", - "nativeSrc": "10361:4:9", + "nativeSrc": "10361:4:22", "nodeType": "YulLiteral", - "src": "10361:4:9", + "src": "10361:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "10348:3:9", + "nativeSrc": "10348:3:22", "nodeType": "YulIdentifier", - "src": "10348:3:9" + "src": "10348:3:22" }, - "nativeSrc": "10348:18:9", + "nativeSrc": "10348:18:22", "nodeType": "YulFunctionCall", - "src": "10348:18:9" + "src": "10348:18:22" }, "variables": [ { "name": "subjectStart", - "nativeSrc": "10332:12:9", + "nativeSrc": "10332:12:22", "nodeType": "YulTypedName", - "src": "10332:12:9", + "src": "10332:12:22", "type": "" } ] }, { - "nativeSrc": "10384:34:9", + "nativeSrc": "10384:34:22", "nodeType": "YulAssignment", - "src": "10384:34:9", + "src": "10384:34:22", "value": { "arguments": [ { "name": "subjectStart", - "nativeSrc": "10399:12:9", + "nativeSrc": "10399:12:22", "nodeType": "YulIdentifier", - "src": "10399:12:9" + "src": "10399:12:22" }, { "name": "from", - "nativeSrc": "10413:4:9", + "nativeSrc": "10413:4:22", "nodeType": "YulIdentifier", - "src": "10413:4:9" + "src": "10413:4:22" } ], "functionName": { "name": "add", - "nativeSrc": "10395:3:9", + "nativeSrc": "10395:3:22", "nodeType": "YulIdentifier", - "src": "10395:3:9" + "src": "10395:3:22" }, - "nativeSrc": "10395:23:9", + "nativeSrc": "10395:23:22", "nodeType": "YulFunctionCall", - "src": "10395:23:9" + "src": "10395:23:22" }, "variableNames": [ { "name": "subject", - "nativeSrc": "10384:7:9", + "nativeSrc": "10384:7:22", "nodeType": "YulIdentifier", - "src": "10384:7:9" + "src": "10384:7:22" } ] }, { - "nativeSrc": "10435:64:9", + "nativeSrc": "10435:64:22", "nodeType": "YulVariableDeclaration", - "src": "10435:64:9", + "src": "10435:64:22", "value": { "arguments": [ { @@ -67446,84 +86421,84 @@ "arguments": [ { "name": "subjectStart", - "nativeSrc": "10458:12:9", + "nativeSrc": "10458:12:22", "nodeType": "YulIdentifier", - "src": "10458:12:9" + "src": "10458:12:22" }, { "name": "subjectLen", - "nativeSrc": "10472:10:9", + "nativeSrc": "10472:10:22", "nodeType": "YulIdentifier", - "src": "10472:10:9" + "src": "10472:10:22" } ], "functionName": { "name": "add", - "nativeSrc": "10454:3:9", + "nativeSrc": "10454:3:22", "nodeType": "YulIdentifier", - "src": "10454:3:9" + "src": "10454:3:22" }, - "nativeSrc": "10454:29:9", + "nativeSrc": "10454:29:22", "nodeType": "YulFunctionCall", - "src": "10454:29:9" + "src": "10454:29:22" }, { "name": "needleLen", - "nativeSrc": "10485:9:9", + "nativeSrc": "10485:9:22", "nodeType": "YulIdentifier", - "src": "10485:9:9" + "src": "10485:9:22" } ], "functionName": { "name": "sub", - "nativeSrc": "10450:3:9", + "nativeSrc": "10450:3:22", "nodeType": "YulIdentifier", - "src": "10450:3:9" + "src": "10450:3:22" }, - "nativeSrc": "10450:45:9", + "nativeSrc": "10450:45:22", "nodeType": "YulFunctionCall", - "src": "10450:45:9" + "src": "10450:45:22" }, { "kind": "number", - "nativeSrc": "10497:1:9", + "nativeSrc": "10497:1:22", "nodeType": "YulLiteral", - "src": "10497:1:9", + "src": "10497:1:22", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "10446:3:9", + "nativeSrc": "10446:3:22", "nodeType": "YulIdentifier", - "src": "10446:3:9" + "src": "10446:3:22" }, - "nativeSrc": "10446:53:9", + "nativeSrc": "10446:53:22", "nodeType": "YulFunctionCall", - "src": "10446:53:9" + "src": "10446:53:22" }, "variables": [ { "name": "end", - "nativeSrc": "10439:3:9", + "nativeSrc": "10439:3:22", "nodeType": "YulTypedName", - "src": "10439:3:9", + "src": "10439:3:22", "type": "" } ] }, { - "nativeSrc": "10516:48:9", + "nativeSrc": "10516:48:22", "nodeType": "YulVariableDeclaration", - "src": "10516:48:9", + "src": "10516:48:22", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "10529:1:9", + "nativeSrc": "10529:1:22", "nodeType": "YulLiteral", - "src": "10529:1:9", + "src": "10529:1:22", "type": "", "value": "3" }, @@ -67531,9 +86506,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "10536:4:9", + "nativeSrc": "10536:4:22", "nodeType": "YulLiteral", - "src": "10536:4:9", + "src": "10536:4:22", "type": "", "value": "0x20" }, @@ -67541,125 +86516,125 @@ "arguments": [ { "name": "needleLen", - "nativeSrc": "10546:9:9", + "nativeSrc": "10546:9:22", "nodeType": "YulIdentifier", - "src": "10546:9:9" + "src": "10546:9:22" }, { "kind": "number", - "nativeSrc": "10557:4:9", + "nativeSrc": "10557:4:22", "nodeType": "YulLiteral", - "src": "10557:4:9", + "src": "10557:4:22", "type": "", "value": "0x1f" } ], "functionName": { "name": "and", - "nativeSrc": "10542:3:9", + "nativeSrc": "10542:3:22", "nodeType": "YulIdentifier", - "src": "10542:3:9" + "src": "10542:3:22" }, - "nativeSrc": "10542:20:9", + "nativeSrc": "10542:20:22", "nodeType": "YulFunctionCall", - "src": "10542:20:9" + "src": "10542:20:22" } ], "functionName": { "name": "sub", - "nativeSrc": "10532:3:9", + "nativeSrc": "10532:3:22", "nodeType": "YulIdentifier", - "src": "10532:3:9" + "src": "10532:3:22" }, - "nativeSrc": "10532:31:9", + "nativeSrc": "10532:31:22", "nodeType": "YulFunctionCall", - "src": "10532:31:9" + "src": "10532:31:22" } ], "functionName": { "name": "shl", - "nativeSrc": "10525:3:9", + "nativeSrc": "10525:3:22", "nodeType": "YulIdentifier", - "src": "10525:3:9" + "src": "10525:3:22" }, - "nativeSrc": "10525:39:9", + "nativeSrc": "10525:39:22", "nodeType": "YulFunctionCall", - "src": "10525:39:9" + "src": "10525:39:22" }, "variables": [ { "name": "m", - "nativeSrc": "10520:1:9", + "nativeSrc": "10520:1:22", "nodeType": "YulTypedName", - "src": "10520:1:9", + "src": "10520:1:22", "type": "" } ] }, { - "nativeSrc": "10581:33:9", + "nativeSrc": "10581:33:22", "nodeType": "YulVariableDeclaration", - "src": "10581:33:9", + "src": "10581:33:22", "value": { "arguments": [ { "arguments": [ { "name": "needle", - "nativeSrc": "10600:6:9", + "nativeSrc": "10600:6:22", "nodeType": "YulIdentifier", - "src": "10600:6:9" + "src": "10600:6:22" }, { "kind": "number", - "nativeSrc": "10608:4:9", + "nativeSrc": "10608:4:22", "nodeType": "YulLiteral", - "src": "10608:4:9", + "src": "10608:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "10596:3:9", + "nativeSrc": "10596:3:22", "nodeType": "YulIdentifier", - "src": "10596:3:9" + "src": "10596:3:22" }, - "nativeSrc": "10596:17:9", + "nativeSrc": "10596:17:22", "nodeType": "YulFunctionCall", - "src": "10596:17:9" + "src": "10596:17:22" } ], "functionName": { "name": "mload", - "nativeSrc": "10590:5:9", + "nativeSrc": "10590:5:22", "nodeType": "YulIdentifier", - "src": "10590:5:9" + "src": "10590:5:22" }, - "nativeSrc": "10590:24:9", + "nativeSrc": "10590:24:22", "nodeType": "YulFunctionCall", - "src": "10590:24:9" + "src": "10590:24:22" }, "variables": [ { "name": "s", - "nativeSrc": "10585:1:9", + "nativeSrc": "10585:1:22", "nodeType": "YulTypedName", - "src": "10585:1:9", + "src": "10585:1:22", "type": "" } ] }, { "body": { - "nativeSrc": "10687:9:9", + "nativeSrc": "10687:9:22", "nodeType": "YulBlock", - "src": "10687:9:9", + "src": "10687:9:22", "statements": [ { - "nativeSrc": "10689:5:9", + "nativeSrc": "10689:5:22", "nodeType": "YulBreak", - "src": "10689:5:9" + "src": "10689:5:22" } ] }, @@ -67671,144 +86646,144 @@ "arguments": [ { "name": "subject", - "nativeSrc": "10649:7:9", + "nativeSrc": "10649:7:22", "nodeType": "YulIdentifier", - "src": "10649:7:9" + "src": "10649:7:22" }, { "name": "end", - "nativeSrc": "10658:3:9", + "nativeSrc": "10658:3:22", "nodeType": "YulIdentifier", - "src": "10658:3:9" + "src": "10658:3:22" } ], "functionName": { "name": "lt", - "nativeSrc": "10646:2:9", + "nativeSrc": "10646:2:22", "nodeType": "YulIdentifier", - "src": "10646:2:9" + "src": "10646:2:22" }, - "nativeSrc": "10646:16:9", + "nativeSrc": "10646:16:22", "nodeType": "YulFunctionCall", - "src": "10646:16:9" + "src": "10646:16:22" }, { "arguments": [ { "name": "from", - "nativeSrc": "10667:4:9", + "nativeSrc": "10667:4:22", "nodeType": "YulIdentifier", - "src": "10667:4:9" + "src": "10667:4:22" }, { "name": "subjectLen", - "nativeSrc": "10673:10:9", + "nativeSrc": "10673:10:22", "nodeType": "YulIdentifier", - "src": "10673:10:9" + "src": "10673:10:22" } ], "functionName": { "name": "lt", - "nativeSrc": "10664:2:9", + "nativeSrc": "10664:2:22", "nodeType": "YulIdentifier", - "src": "10664:2:9" + "src": "10664:2:22" }, - "nativeSrc": "10664:20:9", + "nativeSrc": "10664:20:22", "nodeType": "YulFunctionCall", - "src": "10664:20:9" + "src": "10664:20:22" } ], "functionName": { "name": "and", - "nativeSrc": "10642:3:9", + "nativeSrc": "10642:3:22", "nodeType": "YulIdentifier", - "src": "10642:3:9" + "src": "10642:3:22" }, - "nativeSrc": "10642:43:9", + "nativeSrc": "10642:43:22", "nodeType": "YulFunctionCall", - "src": "10642:43:9" + "src": "10642:43:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "10635:6:9", + "nativeSrc": "10635:6:22", "nodeType": "YulIdentifier", - "src": "10635:6:9" + "src": "10635:6:22" }, - "nativeSrc": "10635:51:9", + "nativeSrc": "10635:51:22", "nodeType": "YulFunctionCall", - "src": "10635:51:9" + "src": "10635:51:22" }, - "nativeSrc": "10632:64:9", + "nativeSrc": "10632:64:22", "nodeType": "YulIf", - "src": "10632:64:9" + "src": "10632:64:22" }, { "body": { - "nativeSrc": "10745:565:9", + "nativeSrc": "10745:565:22", "nodeType": "YulBlock", - "src": "10745:565:9", + "src": "10745:565:22", "statements": [ { "body": { - "nativeSrc": "10829:437:9", + "nativeSrc": "10829:437:22", "nodeType": "YulBlock", - "src": "10829:437:9", + "src": "10829:437:22", "statements": [ { "body": { - "nativeSrc": "10897:234:9", + "nativeSrc": "10897:234:22", "nodeType": "YulBlock", - "src": "10897:234:9", + "src": "10897:234:22", "statements": [ { "body": { - "nativeSrc": "10967:138:9", + "nativeSrc": "10967:138:22", "nodeType": "YulBlock", - "src": "10967:138:9", + "src": "10967:138:22", "statements": [ { - "nativeSrc": "11001:36:9", + "nativeSrc": "11001:36:22", "nodeType": "YulAssignment", - "src": "11001:36:9", + "src": "11001:36:22", "value": { "arguments": [ { "name": "subject", - "nativeSrc": "11015:7:9", + "nativeSrc": "11015:7:22", "nodeType": "YulIdentifier", - "src": "11015:7:9" + "src": "11015:7:22" }, { "name": "subjectStart", - "nativeSrc": "11024:12:9", + "nativeSrc": "11024:12:22", "nodeType": "YulIdentifier", - "src": "11024:12:9" + "src": "11024:12:22" } ], "functionName": { "name": "sub", - "nativeSrc": "11011:3:9", + "nativeSrc": "11011:3:22", "nodeType": "YulIdentifier", - "src": "11011:3:9" + "src": "11011:3:22" }, - "nativeSrc": "11011:26:9", + "nativeSrc": "11011:26:22", "nodeType": "YulFunctionCall", - "src": "11011:26:9" + "src": "11011:26:22" }, "variableNames": [ { "name": "result", - "nativeSrc": "11001:6:9", + "nativeSrc": "11001:6:22", "nodeType": "YulIdentifier", - "src": "11001:6:9" + "src": "11001:6:22" } ] }, { - "nativeSrc": "11070:5:9", + "nativeSrc": "11070:5:22", "nodeType": "YulBreak", - "src": "11070:5:9" + "src": "11070:5:22" } ] }, @@ -67818,47 +86793,47 @@ "arguments": [ { "name": "subject", - "nativeSrc": "10943:7:9", + "nativeSrc": "10943:7:22", "nodeType": "YulIdentifier", - "src": "10943:7:9" + "src": "10943:7:22" }, { "name": "needleLen", - "nativeSrc": "10952:9:9", + "nativeSrc": "10952:9:22", "nodeType": "YulIdentifier", - "src": "10952:9:9" + "src": "10952:9:22" } ], "functionName": { "name": "keccak256", - "nativeSrc": "10933:9:9", + "nativeSrc": "10933:9:22", "nodeType": "YulIdentifier", - "src": "10933:9:9" + "src": "10933:9:22" }, - "nativeSrc": "10933:29:9", + "nativeSrc": "10933:29:22", "nodeType": "YulFunctionCall", - "src": "10933:29:9" + "src": "10933:29:22" }, { "name": "h", - "nativeSrc": "10964:1:9", + "nativeSrc": "10964:1:22", "nodeType": "YulIdentifier", - "src": "10964:1:9" + "src": "10964:1:22" } ], "functionName": { "name": "eq", - "nativeSrc": "10930:2:9", + "nativeSrc": "10930:2:22", "nodeType": "YulIdentifier", - "src": "10930:2:9" + "src": "10930:2:22" }, - "nativeSrc": "10930:36:9", + "nativeSrc": "10930:36:22", "nodeType": "YulFunctionCall", - "src": "10930:36:9" + "src": "10930:36:22" }, - "nativeSrc": "10927:178:9", + "nativeSrc": "10927:178:22", "nodeType": "YulIf", - "src": "10927:178:9" + "src": "10927:178:22" } ] }, @@ -67868,9 +86843,9 @@ "arguments": [ { "name": "m", - "nativeSrc": "10869:1:9", + "nativeSrc": "10869:1:22", "nodeType": "YulIdentifier", - "src": "10869:1:9" + "src": "10869:1:22" }, { "arguments": [ @@ -67878,114 +86853,114 @@ "arguments": [ { "name": "subject", - "nativeSrc": "10882:7:9", + "nativeSrc": "10882:7:22", "nodeType": "YulIdentifier", - "src": "10882:7:9" + "src": "10882:7:22" } ], "functionName": { "name": "mload", - "nativeSrc": "10876:5:9", + "nativeSrc": "10876:5:22", "nodeType": "YulIdentifier", - "src": "10876:5:9" + "src": "10876:5:22" }, - "nativeSrc": "10876:14:9", + "nativeSrc": "10876:14:22", "nodeType": "YulFunctionCall", - "src": "10876:14:9" + "src": "10876:14:22" }, { "name": "s", - "nativeSrc": "10892:1:9", + "nativeSrc": "10892:1:22", "nodeType": "YulIdentifier", - "src": "10892:1:9" + "src": "10892:1:22" } ], "functionName": { "name": "xor", - "nativeSrc": "10872:3:9", + "nativeSrc": "10872:3:22", "nodeType": "YulIdentifier", - "src": "10872:3:9" + "src": "10872:3:22" }, - "nativeSrc": "10872:22:9", + "nativeSrc": "10872:22:22", "nodeType": "YulFunctionCall", - "src": "10872:22:9" + "src": "10872:22:22" } ], "functionName": { "name": "shr", - "nativeSrc": "10865:3:9", + "nativeSrc": "10865:3:22", "nodeType": "YulIdentifier", - "src": "10865:3:9" + "src": "10865:3:22" }, - "nativeSrc": "10865:30:9", + "nativeSrc": "10865:30:22", "nodeType": "YulFunctionCall", - "src": "10865:30:9" + "src": "10865:30:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "10858:6:9", + "nativeSrc": "10858:6:22", "nodeType": "YulIdentifier", - "src": "10858:6:9" + "src": "10858:6:22" }, - "nativeSrc": "10858:38:9", + "nativeSrc": "10858:38:22", "nodeType": "YulFunctionCall", - "src": "10858:38:9" + "src": "10858:38:22" }, - "nativeSrc": "10855:276:9", + "nativeSrc": "10855:276:22", "nodeType": "YulIf", - "src": "10855:276:9" + "src": "10855:276:22" }, { - "nativeSrc": "11156:26:9", + "nativeSrc": "11156:26:22", "nodeType": "YulAssignment", - "src": "11156:26:9", + "src": "11156:26:22", "value": { "arguments": [ { "name": "subject", - "nativeSrc": "11171:7:9", + "nativeSrc": "11171:7:22", "nodeType": "YulIdentifier", - "src": "11171:7:9" + "src": "11171:7:22" }, { "kind": "number", - "nativeSrc": "11180:1:9", + "nativeSrc": "11180:1:22", "nodeType": "YulLiteral", - "src": "11180:1:9", + "src": "11180:1:22", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "11167:3:9", + "nativeSrc": "11167:3:22", "nodeType": "YulIdentifier", - "src": "11167:3:9" + "src": "11167:3:22" }, - "nativeSrc": "11167:15:9", + "nativeSrc": "11167:15:22", "nodeType": "YulFunctionCall", - "src": "11167:15:9" + "src": "11167:15:22" }, "variableNames": [ { "name": "subject", - "nativeSrc": "11156:7:9", + "nativeSrc": "11156:7:22", "nodeType": "YulIdentifier", - "src": "11156:7:9" + "src": "11156:7:22" } ] }, { "body": { - "nativeSrc": "11235:9:9", + "nativeSrc": "11235:9:22", "nodeType": "YulBlock", - "src": "11235:9:9", + "src": "11235:9:22", "statements": [ { - "nativeSrc": "11237:5:9", + "nativeSrc": "11237:5:22", "nodeType": "YulBreak", - "src": "11237:5:9" + "src": "11237:5:22" } ] }, @@ -67995,133 +86970,133 @@ "arguments": [ { "name": "subject", - "nativeSrc": "11220:7:9", + "nativeSrc": "11220:7:22", "nodeType": "YulIdentifier", - "src": "11220:7:9" + "src": "11220:7:22" }, { "name": "end", - "nativeSrc": "11229:3:9", + "nativeSrc": "11229:3:22", "nodeType": "YulIdentifier", - "src": "11229:3:9" + "src": "11229:3:22" } ], "functionName": { "name": "lt", - "nativeSrc": "11217:2:9", + "nativeSrc": "11217:2:22", "nodeType": "YulIdentifier", - "src": "11217:2:9" + "src": "11217:2:22" }, - "nativeSrc": "11217:16:9", + "nativeSrc": "11217:16:22", "nodeType": "YulFunctionCall", - "src": "11217:16:9" + "src": "11217:16:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "11210:6:9", + "nativeSrc": "11210:6:22", "nodeType": "YulIdentifier", - "src": "11210:6:9" + "src": "11210:6:22" }, - "nativeSrc": "11210:24:9", + "nativeSrc": "11210:24:22", "nodeType": "YulFunctionCall", - "src": "11210:24:9" + "src": "11210:24:22" }, - "nativeSrc": "11207:37:9", + "nativeSrc": "11207:37:22", "nodeType": "YulIf", - "src": "11207:37:9" + "src": "11207:37:22" } ] }, "condition": { "kind": "number", - "nativeSrc": "10824:1:9", + "nativeSrc": "10824:1:22", "nodeType": "YulLiteral", - "src": "10824:1:9", + "src": "10824:1:22", "type": "", "value": "1" }, - "nativeSrc": "10767:499:9", + "nativeSrc": "10767:499:22", "nodeType": "YulForLoop", "post": { - "nativeSrc": "10826:2:9", + "nativeSrc": "10826:2:22", "nodeType": "YulBlock", - "src": "10826:2:9", + "src": "10826:2:22", "statements": [] }, "pre": { - "nativeSrc": "10771:52:9", + "nativeSrc": "10771:52:22", "nodeType": "YulBlock", - "src": "10771:52:9", + "src": "10771:52:22", "statements": [ { - "nativeSrc": "10773:48:9", + "nativeSrc": "10773:48:22", "nodeType": "YulVariableDeclaration", - "src": "10773:48:9", + "src": "10773:48:22", "value": { "arguments": [ { "arguments": [ { "name": "needle", - "nativeSrc": "10796:6:9", + "nativeSrc": "10796:6:22", "nodeType": "YulIdentifier", - "src": "10796:6:9" + "src": "10796:6:22" }, { "kind": "number", - "nativeSrc": "10804:4:9", + "nativeSrc": "10804:4:22", "nodeType": "YulLiteral", - "src": "10804:4:9", + "src": "10804:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "10792:3:9", + "nativeSrc": "10792:3:22", "nodeType": "YulIdentifier", - "src": "10792:3:9" + "src": "10792:3:22" }, - "nativeSrc": "10792:17:9", + "nativeSrc": "10792:17:22", "nodeType": "YulFunctionCall", - "src": "10792:17:9" + "src": "10792:17:22" }, { "name": "needleLen", - "nativeSrc": "10811:9:9", + "nativeSrc": "10811:9:22", "nodeType": "YulIdentifier", - "src": "10811:9:9" + "src": "10811:9:22" } ], "functionName": { "name": "keccak256", - "nativeSrc": "10782:9:9", + "nativeSrc": "10782:9:22", "nodeType": "YulIdentifier", - "src": "10782:9:9" + "src": "10782:9:22" }, - "nativeSrc": "10782:39:9", + "nativeSrc": "10782:39:22", "nodeType": "YulFunctionCall", - "src": "10782:39:9" + "src": "10782:39:22" }, "variables": [ { "name": "h", - "nativeSrc": "10777:1:9", + "nativeSrc": "10777:1:22", "nodeType": "YulTypedName", - "src": "10777:1:9", + "src": "10777:1:22", "type": "" } ] } ] }, - "src": "10767:499:9" + "src": "10767:499:22" }, { - "nativeSrc": "11287:5:9", + "nativeSrc": "11287:5:22", "nodeType": "YulBreak", - "src": "11287:5:9" + "src": "11287:5:22" } ] }, @@ -68131,98 +87106,98 @@ "arguments": [ { "name": "needleLen", - "nativeSrc": "10727:9:9", + "nativeSrc": "10727:9:22", "nodeType": "YulIdentifier", - "src": "10727:9:9" + "src": "10727:9:22" }, { "kind": "number", - "nativeSrc": "10738:4:9", + "nativeSrc": "10738:4:22", "nodeType": "YulLiteral", - "src": "10738:4:9", + "src": "10738:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "lt", - "nativeSrc": "10724:2:9", + "nativeSrc": "10724:2:22", "nodeType": "YulIdentifier", - "src": "10724:2:9" + "src": "10724:2:22" }, - "nativeSrc": "10724:19:9", + "nativeSrc": "10724:19:22", "nodeType": "YulFunctionCall", - "src": "10724:19:9" + "src": "10724:19:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "10717:6:9", + "nativeSrc": "10717:6:22", "nodeType": "YulIdentifier", - "src": "10717:6:9" + "src": "10717:6:22" }, - "nativeSrc": "10717:27:9", + "nativeSrc": "10717:27:22", "nodeType": "YulFunctionCall", - "src": "10717:27:9" + "src": "10717:27:22" }, - "nativeSrc": "10714:596:9", + "nativeSrc": "10714:596:22", "nodeType": "YulIf", - "src": "10714:596:9" + "src": "10714:596:22" }, { "body": { - "nativeSrc": "11339:301:9", + "nativeSrc": "11339:301:22", "nodeType": "YulBlock", - "src": "11339:301:9", + "src": "11339:301:22", "statements": [ { "body": { - "nativeSrc": "11403:114:9", + "nativeSrc": "11403:114:22", "nodeType": "YulBlock", - "src": "11403:114:9", + "src": "11403:114:22", "statements": [ { - "nativeSrc": "11429:36:9", + "nativeSrc": "11429:36:22", "nodeType": "YulAssignment", - "src": "11429:36:9", + "src": "11429:36:22", "value": { "arguments": [ { "name": "subject", - "nativeSrc": "11443:7:9", + "nativeSrc": "11443:7:22", "nodeType": "YulIdentifier", - "src": "11443:7:9" + "src": "11443:7:22" }, { "name": "subjectStart", - "nativeSrc": "11452:12:9", + "nativeSrc": "11452:12:22", "nodeType": "YulIdentifier", - "src": "11452:12:9" + "src": "11452:12:22" } ], "functionName": { "name": "sub", - "nativeSrc": "11439:3:9", + "nativeSrc": "11439:3:22", "nodeType": "YulIdentifier", - "src": "11439:3:9" + "src": "11439:3:22" }, - "nativeSrc": "11439:26:9", + "nativeSrc": "11439:26:22", "nodeType": "YulFunctionCall", - "src": "11439:26:9" + "src": "11439:26:22" }, "variableNames": [ { "name": "result", - "nativeSrc": "11429:6:9", + "nativeSrc": "11429:6:22", "nodeType": "YulIdentifier", - "src": "11429:6:9" + "src": "11429:6:22" } ] }, { - "nativeSrc": "11490:5:9", + "nativeSrc": "11490:5:22", "nodeType": "YulBreak", - "src": "11490:5:9" + "src": "11490:5:22" } ] }, @@ -68232,9 +87207,9 @@ "arguments": [ { "name": "m", - "nativeSrc": "11375:1:9", + "nativeSrc": "11375:1:22", "nodeType": "YulIdentifier", - "src": "11375:1:9" + "src": "11375:1:22" }, { "arguments": [ @@ -68242,114 +87217,114 @@ "arguments": [ { "name": "subject", - "nativeSrc": "11388:7:9", + "nativeSrc": "11388:7:22", "nodeType": "YulIdentifier", - "src": "11388:7:9" + "src": "11388:7:22" } ], "functionName": { "name": "mload", - "nativeSrc": "11382:5:9", + "nativeSrc": "11382:5:22", "nodeType": "YulIdentifier", - "src": "11382:5:9" + "src": "11382:5:22" }, - "nativeSrc": "11382:14:9", + "nativeSrc": "11382:14:22", "nodeType": "YulFunctionCall", - "src": "11382:14:9" + "src": "11382:14:22" }, { "name": "s", - "nativeSrc": "11398:1:9", + "nativeSrc": "11398:1:22", "nodeType": "YulIdentifier", - "src": "11398:1:9" + "src": "11398:1:22" } ], "functionName": { "name": "xor", - "nativeSrc": "11378:3:9", + "nativeSrc": "11378:3:22", "nodeType": "YulIdentifier", - "src": "11378:3:9" + "src": "11378:3:22" }, - "nativeSrc": "11378:22:9", + "nativeSrc": "11378:22:22", "nodeType": "YulFunctionCall", - "src": "11378:22:9" + "src": "11378:22:22" } ], "functionName": { "name": "shr", - "nativeSrc": "11371:3:9", + "nativeSrc": "11371:3:22", "nodeType": "YulIdentifier", - "src": "11371:3:9" + "src": "11371:3:22" }, - "nativeSrc": "11371:30:9", + "nativeSrc": "11371:30:22", "nodeType": "YulFunctionCall", - "src": "11371:30:9" + "src": "11371:30:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "11364:6:9", + "nativeSrc": "11364:6:22", "nodeType": "YulIdentifier", - "src": "11364:6:9" + "src": "11364:6:22" }, - "nativeSrc": "11364:38:9", + "nativeSrc": "11364:38:22", "nodeType": "YulFunctionCall", - "src": "11364:38:9" + "src": "11364:38:22" }, - "nativeSrc": "11361:156:9", + "nativeSrc": "11361:156:22", "nodeType": "YulIf", - "src": "11361:156:9" + "src": "11361:156:22" }, { - "nativeSrc": "11538:26:9", + "nativeSrc": "11538:26:22", "nodeType": "YulAssignment", - "src": "11538:26:9", + "src": "11538:26:22", "value": { "arguments": [ { "name": "subject", - "nativeSrc": "11553:7:9", + "nativeSrc": "11553:7:22", "nodeType": "YulIdentifier", - "src": "11553:7:9" + "src": "11553:7:22" }, { "kind": "number", - "nativeSrc": "11562:1:9", + "nativeSrc": "11562:1:22", "nodeType": "YulLiteral", - "src": "11562:1:9", + "src": "11562:1:22", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "11549:3:9", + "nativeSrc": "11549:3:22", "nodeType": "YulIdentifier", - "src": "11549:3:9" + "src": "11549:3:22" }, - "nativeSrc": "11549:15:9", + "nativeSrc": "11549:15:22", "nodeType": "YulFunctionCall", - "src": "11549:15:9" + "src": "11549:15:22" }, "variableNames": [ { "name": "subject", - "nativeSrc": "11538:7:9", + "nativeSrc": "11538:7:22", "nodeType": "YulIdentifier", - "src": "11538:7:9" + "src": "11538:7:22" } ] }, { "body": { - "nativeSrc": "11613:9:9", + "nativeSrc": "11613:9:22", "nodeType": "YulBlock", - "src": "11613:9:9", + "src": "11613:9:22", "statements": [ { - "nativeSrc": "11615:5:9", + "nativeSrc": "11615:5:22", "nodeType": "YulBreak", - "src": "11615:5:9" + "src": "11615:5:22" } ] }, @@ -68359,132 +87334,132 @@ "arguments": [ { "name": "subject", - "nativeSrc": "11598:7:9", + "nativeSrc": "11598:7:22", "nodeType": "YulIdentifier", - "src": "11598:7:9" + "src": "11598:7:22" }, { "name": "end", - "nativeSrc": "11607:3:9", + "nativeSrc": "11607:3:22", "nodeType": "YulIdentifier", - "src": "11607:3:9" + "src": "11607:3:22" } ], "functionName": { "name": "lt", - "nativeSrc": "11595:2:9", + "nativeSrc": "11595:2:22", "nodeType": "YulIdentifier", - "src": "11595:2:9" + "src": "11595:2:22" }, - "nativeSrc": "11595:16:9", + "nativeSrc": "11595:16:22", "nodeType": "YulFunctionCall", - "src": "11595:16:9" + "src": "11595:16:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "11588:6:9", + "nativeSrc": "11588:6:22", "nodeType": "YulIdentifier", - "src": "11588:6:9" + "src": "11588:6:22" }, - "nativeSrc": "11588:24:9", + "nativeSrc": "11588:24:22", "nodeType": "YulFunctionCall", - "src": "11588:24:9" + "src": "11588:24:22" }, - "nativeSrc": "11585:37:9", + "nativeSrc": "11585:37:22", "nodeType": "YulIf", - "src": "11585:37:9" + "src": "11585:37:22" } ] }, "condition": { "kind": "number", - "nativeSrc": "11334:1:9", + "nativeSrc": "11334:1:22", "nodeType": "YulLiteral", - "src": "11334:1:9", + "src": "11334:1:22", "type": "", "value": "1" }, - "nativeSrc": "11327:313:9", + "nativeSrc": "11327:313:22", "nodeType": "YulForLoop", "post": { - "nativeSrc": "11336:2:9", + "nativeSrc": "11336:2:22", "nodeType": "YulBlock", - "src": "11336:2:9", + "src": "11336:2:22", "statements": [] }, "pre": { - "nativeSrc": "11331:2:9", + "nativeSrc": "11331:2:22", "nodeType": "YulBlock", - "src": "11331:2:9", + "src": "11331:2:22", "statements": [] }, - "src": "11327:313:9" + "src": "11327:313:22" }, { - "nativeSrc": "11657:5:9", + "nativeSrc": "11657:5:22", "nodeType": "YulBreak", - "src": "11657:5:9" + "src": "11657:5:22" } ] }, "condition": { "kind": "number", - "nativeSrc": "10033:1:9", + "nativeSrc": "10033:1:22", "nodeType": "YulLiteral", - "src": "10033:1:9", + "src": "10033:1:22", "type": "", "value": "1" }, - "nativeSrc": "9992:1684:9", + "nativeSrc": "9992:1684:22", "nodeType": "YulForLoop", "post": { - "nativeSrc": "10035:2:9", + "nativeSrc": "10035:2:22", "nodeType": "YulBlock", - "src": "10035:2:9", + "src": "10035:2:22", "statements": [] }, "pre": { - "nativeSrc": "9996:36:9", + "nativeSrc": "9996:36:22", "nodeType": "YulBlock", - "src": "9996:36:9", + "src": "9996:36:22", "statements": [ { - "nativeSrc": "9998:32:9", + "nativeSrc": "9998:32:22", "nodeType": "YulVariableDeclaration", - "src": "9998:32:9", + "src": "9998:32:22", "value": { "arguments": [ { "name": "subject", - "nativeSrc": "10022:7:9", + "nativeSrc": "10022:7:22", "nodeType": "YulIdentifier", - "src": "10022:7:9" + "src": "10022:7:22" } ], "functionName": { "name": "mload", - "nativeSrc": "10016:5:9", + "nativeSrc": "10016:5:22", "nodeType": "YulIdentifier", - "src": "10016:5:9" + "src": "10016:5:22" }, - "nativeSrc": "10016:14:9", + "nativeSrc": "10016:14:22", "nodeType": "YulFunctionCall", - "src": "10016:14:9" + "src": "10016:14:22" }, "variables": [ { "name": "subjectLen", - "nativeSrc": "10002:10:9", + "nativeSrc": "10002:10:22", "nodeType": "YulTypedName", - "src": "10002:10:9", + "src": "10002:10:22", "type": "" } ] } ] }, - "src": "9992:1684:9" + "src": "9992:1684:22" } ] }, @@ -68492,234 +87467,234 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2708, + "declaration": 4314, "isOffset": false, "isSlot": false, - "src": "10113:4:9", + "src": "10113:4:22", "valueSize": 1 }, { - "declaration": 2708, + "declaration": 4314, "isOffset": false, "isSlot": false, - "src": "10151:4:9", + "src": "10151:4:22", "valueSize": 1 }, { - "declaration": 2708, + "declaration": 4314, "isOffset": false, "isSlot": false, - "src": "10413:4:9", + "src": "10413:4:22", "valueSize": 1 }, { - "declaration": 2708, + "declaration": 4314, "isOffset": false, "isSlot": false, - "src": "10667:4:9", + "src": "10667:4:22", "valueSize": 1 }, { - "declaration": 2706, + "declaration": 4312, "isOffset": false, "isSlot": false, - "src": "10072:6:9", + "src": "10072:6:22", "valueSize": 1 }, { - "declaration": 2706, + "declaration": 4312, "isOffset": false, "isSlot": false, - "src": "10304:6:9", + "src": "10304:6:22", "valueSize": 1 }, { - "declaration": 2706, + "declaration": 4312, "isOffset": false, "isSlot": false, - "src": "10600:6:9", + "src": "10600:6:22", "valueSize": 1 }, { - "declaration": 2706, + "declaration": 4312, "isOffset": false, "isSlot": false, - "src": "10796:6:9", + "src": "10796:6:22", "valueSize": 1 }, { - "declaration": 2711, + "declaration": 4317, "isOffset": false, "isSlot": false, - "src": "10103:6:9", + "src": "10103:6:22", "valueSize": 1 }, { - "declaration": 2711, + "declaration": 4317, "isOffset": false, "isSlot": false, - "src": "10200:6:9", + "src": "10200:6:22", "valueSize": 1 }, { - "declaration": 2711, + "declaration": 4317, "isOffset": false, "isSlot": false, - "src": "11001:6:9", + "src": "11001:6:22", "valueSize": 1 }, { - "declaration": 2711, + "declaration": 4317, "isOffset": false, "isSlot": false, - "src": "11429:6:9", + "src": "11429:6:22", "valueSize": 1 }, { - "declaration": 2711, + "declaration": 4317, "isOffset": false, "isSlot": false, - "src": "9933:6:9", + "src": "9933:6:22", "valueSize": 1 }, { - "declaration": 2704, + "declaration": 4310, "isOffset": false, "isSlot": false, - "src": "10022:7:9", + "src": "10022:7:22", "valueSize": 1 }, { - "declaration": 2704, + "declaration": 4310, "isOffset": false, "isSlot": false, - "src": "10352:7:9", + "src": "10352:7:22", "valueSize": 1 }, { - "declaration": 2704, + "declaration": 4310, "isOffset": false, "isSlot": false, - "src": "10384:7:9", + "src": "10384:7:22", "valueSize": 1 }, { - "declaration": 2704, + "declaration": 4310, "isOffset": false, "isSlot": false, - "src": "10649:7:9", + "src": "10649:7:22", "valueSize": 1 }, { - "declaration": 2704, + "declaration": 4310, "isOffset": false, "isSlot": false, - "src": "10882:7:9", + "src": "10882:7:22", "valueSize": 1 }, { - "declaration": 2704, + "declaration": 4310, "isOffset": false, "isSlot": false, - "src": "10943:7:9", + "src": "10943:7:22", "valueSize": 1 }, { - "declaration": 2704, + "declaration": 4310, "isOffset": false, "isSlot": false, - "src": "11015:7:9", + "src": "11015:7:22", "valueSize": 1 }, { - "declaration": 2704, + "declaration": 4310, "isOffset": false, "isSlot": false, - "src": "11156:7:9", + "src": "11156:7:22", "valueSize": 1 }, { - "declaration": 2704, + "declaration": 4310, "isOffset": false, "isSlot": false, - "src": "11171:7:9", + "src": "11171:7:22", "valueSize": 1 }, { - "declaration": 2704, + "declaration": 4310, "isOffset": false, "isSlot": false, - "src": "11220:7:9", + "src": "11220:7:22", "valueSize": 1 }, { - "declaration": 2704, + "declaration": 4310, "isOffset": false, "isSlot": false, - "src": "11388:7:9", + "src": "11388:7:22", "valueSize": 1 }, { - "declaration": 2704, + "declaration": 4310, "isOffset": false, "isSlot": false, - "src": "11443:7:9", + "src": "11443:7:22", "valueSize": 1 }, { - "declaration": 2704, + "declaration": 4310, "isOffset": false, "isSlot": false, - "src": "11538:7:9", + "src": "11538:7:22", "valueSize": 1 }, { - "declaration": 2704, + "declaration": 4310, "isOffset": false, "isSlot": false, - "src": "11553:7:9", + "src": "11553:7:22", "valueSize": 1 }, { - "declaration": 2704, + "declaration": 4310, "isOffset": false, "isSlot": false, - "src": "11598:7:9", + "src": "11598:7:22", "valueSize": 1 } ], - "id": 2713, + "id": 4319, "nodeType": "InlineAssembly", - "src": "9910:1776:9" + "src": "9910:1776:22" } ] }, "documentation": { - "id": 2702, + "id": 4308, "nodeType": "StructuredDocumentation", - "src": "9487:224:9", + "src": "9487:224:22", "text": "@dev Returns the byte index of the first location of `needle` in `subject`,\n needleing from left to right, starting from `from`.\n Returns `NOT_FOUND` (i.e. `type(uint256).max`) if the `needle` is not found." }, - "id": 2715, + "id": 4321, "implemented": true, "kind": "function", "modifiers": [], "name": "indexOf", - "nameLocation": "9725:7:9", + "nameLocation": "9725:7:22", "nodeType": "FunctionDefinition", "parameters": { - "id": 2709, + "id": 4315, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2704, + "id": 4310, "mutability": "mutable", "name": "subject", - "nameLocation": "9746:7:9", + "nameLocation": "9746:7:22", "nodeType": "VariableDeclaration", - "scope": 2715, - "src": "9733:20:9", + "scope": 4321, + "src": "9733:20:22", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -68727,10 +87702,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2703, + "id": 4309, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "9733:5:9", + "src": "9733:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -68740,13 +87715,13 @@ }, { "constant": false, - "id": 2706, + "id": 4312, "mutability": "mutable", "name": "needle", - "nameLocation": "9768:6:9", + "nameLocation": "9768:6:22", "nodeType": "VariableDeclaration", - "scope": 2715, - "src": "9755:19:9", + "scope": 4321, + "src": "9755:19:22", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -68754,10 +87729,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2705, + "id": 4311, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "9755:5:9", + "src": "9755:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -68767,13 +87742,13 @@ }, { "constant": false, - "id": 2708, + "id": 4314, "mutability": "mutable", "name": "from", - "nameLocation": "9784:4:9", + "nameLocation": "9784:4:22", "nodeType": "VariableDeclaration", - "scope": 2715, - "src": "9776:12:9", + "scope": 4321, + "src": "9776:12:22", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -68781,10 +87756,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2707, + "id": 4313, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9776:7:9", + "src": "9776:7:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -68793,21 +87768,21 @@ "visibility": "internal" } ], - "src": "9732:57:9" + "src": "9732:57:22" }, "returnParameters": { - "id": 2712, + "id": 4318, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2711, + "id": 4317, "mutability": "mutable", "name": "result", - "nameLocation": "9845:6:9", + "nameLocation": "9845:6:22", "nodeType": "VariableDeclaration", - "scope": 2715, - "src": "9837:14:9", + "scope": 4321, + "src": "9837:14:22", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -68815,10 +87790,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2710, + "id": 4316, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9837:7:9", + "src": "9837:7:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -68827,42 +87802,42 @@ "visibility": "internal" } ], - "src": "9836:16:9" + "src": "9836:16:22" }, - "scope": 3078, - "src": "9716:1976:9", + "scope": 4684, + "src": "9716:1976:22", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 2731, + "id": 4337, "nodeType": "Block", - "src": "11997:51:9", + "src": "11997:51:22", "statements": [ { "expression": { "arguments": [ { - "id": 2726, + "id": 4332, "name": "subject", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2718, - "src": "12022:7:9", + "referencedDeclaration": 4324, + "src": "12022:7:22", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { - "id": 2727, + "id": 4333, "name": "needle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2720, - "src": "12031:6:9", + "referencedDeclaration": 4326, + "src": "12031:6:22", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -68870,14 +87845,14 @@ }, { "hexValue": "30", - "id": 2728, + "id": 4334, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12039:1:9", + "src": "12039:1:22", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -68900,21 +87875,21 @@ "typeString": "int_const 0" } ], - "id": 2725, + "id": 4331, "name": "indexOf", "nodeType": "Identifier", "overloadedDeclarations": [ - 2715, - 2732 + 4321, + 4338 ], - "referencedDeclaration": 2715, - "src": "12014:7:9", + "referencedDeclaration": 4321, + "src": "12014:7:22", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (bytes memory,bytes memory,uint256) pure returns (uint256)" } }, - "id": 2729, + "id": 4335, "isConstant": false, "isLValue": false, "isPure": false, @@ -68923,46 +87898,46 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "12014:27:9", + "src": "12014:27:22", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 2724, - "id": 2730, + "functionReturnParameters": 4330, + "id": 4336, "nodeType": "Return", - "src": "12007:34:9" + "src": "12007:34:22" } ] }, "documentation": { - "id": 2716, + "id": 4322, "nodeType": "StructuredDocumentation", - "src": "11698:202:9", + "src": "11698:202:22", "text": "@dev Returns the byte index of the first location of `needle` in `subject`,\n needleing from left to right.\n Returns `NOT_FOUND` (i.e. `type(uint256).max`) if the `needle` is not found." }, - "id": 2732, + "id": 4338, "implemented": true, "kind": "function", "modifiers": [], "name": "indexOf", - "nameLocation": "11914:7:9", + "nameLocation": "11914:7:22", "nodeType": "FunctionDefinition", "parameters": { - "id": 2721, + "id": 4327, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2718, + "id": 4324, "mutability": "mutable", "name": "subject", - "nameLocation": "11935:7:9", + "nameLocation": "11935:7:22", "nodeType": "VariableDeclaration", - "scope": 2732, - "src": "11922:20:9", + "scope": 4338, + "src": "11922:20:22", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -68970,10 +87945,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2717, + "id": 4323, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "11922:5:9", + "src": "11922:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -68983,13 +87958,13 @@ }, { "constant": false, - "id": 2720, + "id": 4326, "mutability": "mutable", "name": "needle", - "nameLocation": "11957:6:9", + "nameLocation": "11957:6:22", "nodeType": "VariableDeclaration", - "scope": 2732, - "src": "11944:19:9", + "scope": 4338, + "src": "11944:19:22", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -68997,10 +87972,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2719, + "id": 4325, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "11944:5:9", + "src": "11944:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -69009,21 +87984,21 @@ "visibility": "internal" } ], - "src": "11921:43:9" + "src": "11921:43:22" }, "returnParameters": { - "id": 2724, + "id": 4330, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2723, + "id": 4329, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2732, - "src": "11988:7:9", + "scope": 4338, + "src": "11988:7:22", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -69031,10 +88006,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2722, + "id": 4328, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "11988:7:9", + "src": "11988:7:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -69043,109 +88018,109 @@ "visibility": "internal" } ], - "src": "11987:9:9" + "src": "11987:9:22" }, - "scope": 3078, - "src": "11905:143:9", + "scope": 4684, + "src": "11905:143:22", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 2745, + "id": 4351, "nodeType": "Block", - "src": "12428:1170:9", + "src": "12428:1170:22", "statements": [ { "AST": { - "nativeSrc": "12490:1102:9", + "nativeSrc": "12490:1102:22", "nodeType": "YulBlock", - "src": "12490:1102:9", + "src": "12490:1102:22", "statements": [ { "body": { - "nativeSrc": "12516:1066:9", + "nativeSrc": "12516:1066:22", "nodeType": "YulBlock", - "src": "12516:1066:9", + "src": "12516:1066:22", "statements": [ { - "nativeSrc": "12534:16:9", + "nativeSrc": "12534:16:22", "nodeType": "YulAssignment", - "src": "12534:16:9", + "src": "12534:16:22", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "12548:1:9", + "nativeSrc": "12548:1:22", "nodeType": "YulLiteral", - "src": "12548:1:9", + "src": "12548:1:22", "type": "", "value": "0" } ], "functionName": { "name": "not", - "nativeSrc": "12544:3:9", + "nativeSrc": "12544:3:22", "nodeType": "YulIdentifier", - "src": "12544:3:9" + "src": "12544:3:22" }, - "nativeSrc": "12544:6:9", + "nativeSrc": "12544:6:22", "nodeType": "YulFunctionCall", - "src": "12544:6:9" + "src": "12544:6:22" }, "variableNames": [ { "name": "result", - "nativeSrc": "12534:6:9", + "nativeSrc": "12534:6:22", "nodeType": "YulIdentifier", - "src": "12534:6:9" + "src": "12534:6:22" } ] }, { - "nativeSrc": "12597:30:9", + "nativeSrc": "12597:30:22", "nodeType": "YulVariableDeclaration", - "src": "12597:30:9", + "src": "12597:30:22", "value": { "arguments": [ { "name": "needle", - "nativeSrc": "12620:6:9", + "nativeSrc": "12620:6:22", "nodeType": "YulIdentifier", - "src": "12620:6:9" + "src": "12620:6:22" } ], "functionName": { "name": "mload", - "nativeSrc": "12614:5:9", + "nativeSrc": "12614:5:22", "nodeType": "YulIdentifier", - "src": "12614:5:9" + "src": "12614:5:22" }, - "nativeSrc": "12614:13:9", + "nativeSrc": "12614:13:22", "nodeType": "YulFunctionCall", - "src": "12614:13:9" + "src": "12614:13:22" }, "variables": [ { "name": "needleLen", - "nativeSrc": "12601:9:9", + "nativeSrc": "12601:9:22", "nodeType": "YulTypedName", - "src": "12601:9:9", + "src": "12601:9:22", "type": "" } ] }, { "body": { - "nativeSrc": "12677:9:9", + "nativeSrc": "12677:9:22", "nodeType": "YulBlock", - "src": "12677:9:9", + "src": "12677:9:22", "statements": [ { - "nativeSrc": "12679:5:9", + "nativeSrc": "12679:5:22", "nodeType": "YulBreak", - "src": "12679:5:9" + "src": "12679:5:22" } ] }, @@ -69153,138 +88128,138 @@ "arguments": [ { "name": "needleLen", - "nativeSrc": "12650:9:9", + "nativeSrc": "12650:9:22", "nodeType": "YulIdentifier", - "src": "12650:9:9" + "src": "12650:9:22" }, { "arguments": [ { "name": "subject", - "nativeSrc": "12667:7:9", + "nativeSrc": "12667:7:22", "nodeType": "YulIdentifier", - "src": "12667:7:9" + "src": "12667:7:22" } ], "functionName": { "name": "mload", - "nativeSrc": "12661:5:9", + "nativeSrc": "12661:5:22", "nodeType": "YulIdentifier", - "src": "12661:5:9" + "src": "12661:5:22" }, - "nativeSrc": "12661:14:9", + "nativeSrc": "12661:14:22", "nodeType": "YulFunctionCall", - "src": "12661:14:9" + "src": "12661:14:22" } ], "functionName": { "name": "gt", - "nativeSrc": "12647:2:9", + "nativeSrc": "12647:2:22", "nodeType": "YulIdentifier", - "src": "12647:2:9" + "src": "12647:2:22" }, - "nativeSrc": "12647:29:9", + "nativeSrc": "12647:29:22", "nodeType": "YulFunctionCall", - "src": "12647:29:9" + "src": "12647:29:22" }, - "nativeSrc": "12644:42:9", + "nativeSrc": "12644:42:22", "nodeType": "YulIf", - "src": "12644:42:9" + "src": "12644:42:22" }, { - "nativeSrc": "12703:15:9", + "nativeSrc": "12703:15:22", "nodeType": "YulVariableDeclaration", - "src": "12703:15:9", + "src": "12703:15:22", "value": { "name": "result", - "nativeSrc": "12712:6:9", + "nativeSrc": "12712:6:22", "nodeType": "YulIdentifier", - "src": "12712:6:9" + "src": "12712:6:22" }, "variables": [ { "name": "w", - "nativeSrc": "12707:1:9", + "nativeSrc": "12707:1:22", "nodeType": "YulTypedName", - "src": "12707:1:9", + "src": "12707:1:22", "type": "" } ] }, { - "nativeSrc": "12736:45:9", + "nativeSrc": "12736:45:22", "nodeType": "YulVariableDeclaration", - "src": "12736:45:9", + "src": "12736:45:22", "value": { "arguments": [ { "arguments": [ { "name": "subject", - "nativeSrc": "12761:7:9", + "nativeSrc": "12761:7:22", "nodeType": "YulIdentifier", - "src": "12761:7:9" + "src": "12761:7:22" } ], "functionName": { "name": "mload", - "nativeSrc": "12755:5:9", + "nativeSrc": "12755:5:22", "nodeType": "YulIdentifier", - "src": "12755:5:9" + "src": "12755:5:22" }, - "nativeSrc": "12755:14:9", + "nativeSrc": "12755:14:22", "nodeType": "YulFunctionCall", - "src": "12755:14:9" + "src": "12755:14:22" }, { "name": "needleLen", - "nativeSrc": "12771:9:9", + "nativeSrc": "12771:9:22", "nodeType": "YulIdentifier", - "src": "12771:9:9" + "src": "12771:9:22" } ], "functionName": { "name": "sub", - "nativeSrc": "12751:3:9", + "nativeSrc": "12751:3:22", "nodeType": "YulIdentifier", - "src": "12751:3:9" + "src": "12751:3:22" }, - "nativeSrc": "12751:30:9", + "nativeSrc": "12751:30:22", "nodeType": "YulFunctionCall", - "src": "12751:30:9" + "src": "12751:30:22" }, "variables": [ { "name": "fromMax", - "nativeSrc": "12740:7:9", + "nativeSrc": "12740:7:22", "nodeType": "YulTypedName", - "src": "12740:7:9", + "src": "12740:7:22", "type": "" } ] }, { "body": { - "nativeSrc": "12827:19:9", + "nativeSrc": "12827:19:22", "nodeType": "YulBlock", - "src": "12827:19:9", + "src": "12827:19:22", "statements": [ { - "nativeSrc": "12829:15:9", + "nativeSrc": "12829:15:22", "nodeType": "YulAssignment", - "src": "12829:15:9", + "src": "12829:15:22", "value": { "name": "fromMax", - "nativeSrc": "12837:7:9", + "nativeSrc": "12837:7:22", "nodeType": "YulIdentifier", - "src": "12837:7:9" + "src": "12837:7:22" }, "variableNames": [ { "name": "from", - "nativeSrc": "12829:4:9", + "nativeSrc": "12829:4:22", "nodeType": "YulIdentifier", - "src": "12829:4:9" + "src": "12829:4:22" } ] } @@ -69296,171 +88271,171 @@ "arguments": [ { "name": "fromMax", - "nativeSrc": "12811:7:9", + "nativeSrc": "12811:7:22", "nodeType": "YulIdentifier", - "src": "12811:7:9" + "src": "12811:7:22" }, { "name": "from", - "nativeSrc": "12820:4:9", + "nativeSrc": "12820:4:22", "nodeType": "YulIdentifier", - "src": "12820:4:9" + "src": "12820:4:22" } ], "functionName": { "name": "gt", - "nativeSrc": "12808:2:9", + "nativeSrc": "12808:2:22", "nodeType": "YulIdentifier", - "src": "12808:2:9" + "src": "12808:2:22" }, - "nativeSrc": "12808:17:9", + "nativeSrc": "12808:17:22", "nodeType": "YulFunctionCall", - "src": "12808:17:9" + "src": "12808:17:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "12801:6:9", + "nativeSrc": "12801:6:22", "nodeType": "YulIdentifier", - "src": "12801:6:9" + "src": "12801:6:22" }, - "nativeSrc": "12801:25:9", + "nativeSrc": "12801:25:22", "nodeType": "YulFunctionCall", - "src": "12801:25:9" + "src": "12801:25:22" }, - "nativeSrc": "12798:48:9", + "nativeSrc": "12798:48:22", "nodeType": "YulIf", - "src": "12798:48:9" + "src": "12798:48:22" }, { - "nativeSrc": "12864:37:9", + "nativeSrc": "12864:37:22", "nodeType": "YulVariableDeclaration", - "src": "12864:37:9", + "src": "12864:37:22", "value": { "arguments": [ { "arguments": [ { "name": "subject", - "nativeSrc": "12883:7:9", + "nativeSrc": "12883:7:22", "nodeType": "YulIdentifier", - "src": "12883:7:9" + "src": "12883:7:22" }, { "kind": "number", - "nativeSrc": "12892:4:9", + "nativeSrc": "12892:4:22", "nodeType": "YulLiteral", - "src": "12892:4:9", + "src": "12892:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "12879:3:9", + "nativeSrc": "12879:3:22", "nodeType": "YulIdentifier", - "src": "12879:3:9" + "src": "12879:3:22" }, - "nativeSrc": "12879:18:9", + "nativeSrc": "12879:18:22", "nodeType": "YulFunctionCall", - "src": "12879:18:9" + "src": "12879:18:22" }, { "name": "w", - "nativeSrc": "12899:1:9", + "nativeSrc": "12899:1:22", "nodeType": "YulIdentifier", - "src": "12899:1:9" + "src": "12899:1:22" } ], "functionName": { "name": "add", - "nativeSrc": "12875:3:9", + "nativeSrc": "12875:3:22", "nodeType": "YulIdentifier", - "src": "12875:3:9" + "src": "12875:3:22" }, - "nativeSrc": "12875:26:9", + "nativeSrc": "12875:26:22", "nodeType": "YulFunctionCall", - "src": "12875:26:9" + "src": "12875:26:22" }, "variables": [ { "name": "end", - "nativeSrc": "12868:3:9", + "nativeSrc": "12868:3:22", "nodeType": "YulTypedName", - "src": "12868:3:9", + "src": "12868:3:22", "type": "" } ] }, { - "nativeSrc": "12918:40:9", + "nativeSrc": "12918:40:22", "nodeType": "YulAssignment", - "src": "12918:40:9", + "src": "12918:40:22", "value": { "arguments": [ { "arguments": [ { "name": "subject", - "nativeSrc": "12937:7:9", + "nativeSrc": "12937:7:22", "nodeType": "YulIdentifier", - "src": "12937:7:9" + "src": "12937:7:22" }, { "kind": "number", - "nativeSrc": "12946:4:9", + "nativeSrc": "12946:4:22", "nodeType": "YulLiteral", - "src": "12946:4:9", + "src": "12946:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "12933:3:9", + "nativeSrc": "12933:3:22", "nodeType": "YulIdentifier", - "src": "12933:3:9" + "src": "12933:3:22" }, - "nativeSrc": "12933:18:9", + "nativeSrc": "12933:18:22", "nodeType": "YulFunctionCall", - "src": "12933:18:9" + "src": "12933:18:22" }, { "name": "from", - "nativeSrc": "12953:4:9", + "nativeSrc": "12953:4:22", "nodeType": "YulIdentifier", - "src": "12953:4:9" + "src": "12953:4:22" } ], "functionName": { "name": "add", - "nativeSrc": "12929:3:9", + "nativeSrc": "12929:3:22", "nodeType": "YulIdentifier", - "src": "12929:3:9" + "src": "12929:3:22" }, - "nativeSrc": "12929:29:9", + "nativeSrc": "12929:29:22", "nodeType": "YulFunctionCall", - "src": "12929:29:9" + "src": "12929:29:22" }, "variableNames": [ { "name": "subject", - "nativeSrc": "12918:7:9", + "nativeSrc": "12918:7:22", "nodeType": "YulIdentifier", - "src": "12918:7:9" + "src": "12918:7:22" } ] }, { "body": { - "nativeSrc": "13003:9:9", + "nativeSrc": "13003:9:22", "nodeType": "YulBlock", - "src": "13003:9:9", + "src": "13003:9:22", "statements": [ { - "nativeSrc": "13005:5:9", + "nativeSrc": "13005:5:22", "nodeType": "YulBreak", - "src": "13005:5:9" + "src": "13005:5:22" } ] }, @@ -69470,117 +88445,117 @@ "arguments": [ { "name": "subject", - "nativeSrc": "12988:7:9", + "nativeSrc": "12988:7:22", "nodeType": "YulIdentifier", - "src": "12988:7:9" + "src": "12988:7:22" }, { "name": "end", - "nativeSrc": "12997:3:9", + "nativeSrc": "12997:3:22", "nodeType": "YulIdentifier", - "src": "12997:3:9" + "src": "12997:3:22" } ], "functionName": { "name": "gt", - "nativeSrc": "12985:2:9", + "nativeSrc": "12985:2:22", "nodeType": "YulIdentifier", - "src": "12985:2:9" + "src": "12985:2:22" }, - "nativeSrc": "12985:16:9", + "nativeSrc": "12985:16:22", "nodeType": "YulFunctionCall", - "src": "12985:16:9" + "src": "12985:16:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "12978:6:9", + "nativeSrc": "12978:6:22", "nodeType": "YulIdentifier", - "src": "12978:6:9" + "src": "12978:6:22" }, - "nativeSrc": "12978:24:9", + "nativeSrc": "12978:24:22", "nodeType": "YulFunctionCall", - "src": "12978:24:9" + "src": "12978:24:22" }, - "nativeSrc": "12975:37:9", + "nativeSrc": "12975:37:22", "nodeType": "YulIf", - "src": "12975:37:9" + "src": "12975:37:22" }, { "body": { - "nativeSrc": "13226:320:9", + "nativeSrc": "13226:320:22", "nodeType": "YulBlock", - "src": "13226:320:9", + "src": "13226:320:22", "statements": [ { "body": { - "nativeSrc": "13288:113:9", + "nativeSrc": "13288:113:22", "nodeType": "YulBlock", - "src": "13288:113:9", + "src": "13288:113:22", "statements": [ { - "nativeSrc": "13314:35:9", + "nativeSrc": "13314:35:22", "nodeType": "YulAssignment", - "src": "13314:35:9", + "src": "13314:35:22", "value": { "arguments": [ { "name": "subject", - "nativeSrc": "13328:7:9", + "nativeSrc": "13328:7:22", "nodeType": "YulIdentifier", - "src": "13328:7:9" + "src": "13328:7:22" }, { "arguments": [ { "name": "end", - "nativeSrc": "13341:3:9", + "nativeSrc": "13341:3:22", "nodeType": "YulIdentifier", - "src": "13341:3:9" + "src": "13341:3:22" }, { "kind": "number", - "nativeSrc": "13346:1:9", + "nativeSrc": "13346:1:22", "nodeType": "YulLiteral", - "src": "13346:1:9", + "src": "13346:1:22", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "13337:3:9", + "nativeSrc": "13337:3:22", "nodeType": "YulIdentifier", - "src": "13337:3:9" + "src": "13337:3:22" }, - "nativeSrc": "13337:11:9", + "nativeSrc": "13337:11:22", "nodeType": "YulFunctionCall", - "src": "13337:11:9" + "src": "13337:11:22" } ], "functionName": { "name": "sub", - "nativeSrc": "13324:3:9", + "nativeSrc": "13324:3:22", "nodeType": "YulIdentifier", - "src": "13324:3:9" + "src": "13324:3:22" }, - "nativeSrc": "13324:25:9", + "nativeSrc": "13324:25:22", "nodeType": "YulFunctionCall", - "src": "13324:25:9" + "src": "13324:25:22" }, "variableNames": [ { "name": "result", - "nativeSrc": "13314:6:9", + "nativeSrc": "13314:6:22", "nodeType": "YulIdentifier", - "src": "13314:6:9" + "src": "13314:6:22" } ] }, { - "nativeSrc": "13374:5:9", + "nativeSrc": "13374:5:22", "nodeType": "YulBreak", - "src": "13374:5:9" + "src": "13374:5:22" } ] }, @@ -69590,96 +88565,96 @@ "arguments": [ { "name": "subject", - "nativeSrc": "13264:7:9", + "nativeSrc": "13264:7:22", "nodeType": "YulIdentifier", - "src": "13264:7:9" + "src": "13264:7:22" }, { "name": "needleLen", - "nativeSrc": "13273:9:9", + "nativeSrc": "13273:9:22", "nodeType": "YulIdentifier", - "src": "13273:9:9" + "src": "13273:9:22" } ], "functionName": { "name": "keccak256", - "nativeSrc": "13254:9:9", + "nativeSrc": "13254:9:22", "nodeType": "YulIdentifier", - "src": "13254:9:9" + "src": "13254:9:22" }, - "nativeSrc": "13254:29:9", + "nativeSrc": "13254:29:22", "nodeType": "YulFunctionCall", - "src": "13254:29:9" + "src": "13254:29:22" }, { "name": "h", - "nativeSrc": "13285:1:9", + "nativeSrc": "13285:1:22", "nodeType": "YulIdentifier", - "src": "13285:1:9" + "src": "13285:1:22" } ], "functionName": { "name": "eq", - "nativeSrc": "13251:2:9", + "nativeSrc": "13251:2:22", "nodeType": "YulIdentifier", - "src": "13251:2:9" + "src": "13251:2:22" }, - "nativeSrc": "13251:36:9", + "nativeSrc": "13251:36:22", "nodeType": "YulFunctionCall", - "src": "13251:36:9" + "src": "13251:36:22" }, - "nativeSrc": "13248:153:9", + "nativeSrc": "13248:153:22", "nodeType": "YulIf", - "src": "13248:153:9" + "src": "13248:153:22" }, { - "nativeSrc": "13422:26:9", + "nativeSrc": "13422:26:22", "nodeType": "YulAssignment", - "src": "13422:26:9", + "src": "13422:26:22", "value": { "arguments": [ { "name": "subject", - "nativeSrc": "13437:7:9", + "nativeSrc": "13437:7:22", "nodeType": "YulIdentifier", - "src": "13437:7:9" + "src": "13437:7:22" }, { "name": "w", - "nativeSrc": "13446:1:9", + "nativeSrc": "13446:1:22", "nodeType": "YulIdentifier", - "src": "13446:1:9" + "src": "13446:1:22" } ], "functionName": { "name": "add", - "nativeSrc": "13433:3:9", + "nativeSrc": "13433:3:22", "nodeType": "YulIdentifier", - "src": "13433:3:9" + "src": "13433:3:22" }, - "nativeSrc": "13433:15:9", + "nativeSrc": "13433:15:22", "nodeType": "YulFunctionCall", - "src": "13433:15:9" + "src": "13433:15:22" }, "variableNames": [ { "name": "subject", - "nativeSrc": "13422:7:9", + "nativeSrc": "13422:7:22", "nodeType": "YulIdentifier", - "src": "13422:7:9" + "src": "13422:7:22" } ] }, { "body": { - "nativeSrc": "13519:9:9", + "nativeSrc": "13519:9:22", "nodeType": "YulBlock", - "src": "13519:9:9", + "src": "13519:9:22", "statements": [ { - "nativeSrc": "13521:5:9", + "nativeSrc": "13521:5:22", "nodeType": "YulBreak", - "src": "13521:5:9" + "src": "13521:5:22" } ] }, @@ -69689,159 +88664,159 @@ "arguments": [ { "name": "subject", - "nativeSrc": "13504:7:9", + "nativeSrc": "13504:7:22", "nodeType": "YulIdentifier", - "src": "13504:7:9" + "src": "13504:7:22" }, { "name": "end", - "nativeSrc": "13513:3:9", + "nativeSrc": "13513:3:22", "nodeType": "YulIdentifier", - "src": "13513:3:9" + "src": "13513:3:22" } ], "functionName": { "name": "gt", - "nativeSrc": "13501:2:9", + "nativeSrc": "13501:2:22", "nodeType": "YulIdentifier", - "src": "13501:2:9" + "src": "13501:2:22" }, - "nativeSrc": "13501:16:9", + "nativeSrc": "13501:16:22", "nodeType": "YulFunctionCall", - "src": "13501:16:9" + "src": "13501:16:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "13494:6:9", + "nativeSrc": "13494:6:22", "nodeType": "YulIdentifier", - "src": "13494:6:9" + "src": "13494:6:22" }, - "nativeSrc": "13494:24:9", + "nativeSrc": "13494:24:22", "nodeType": "YulFunctionCall", - "src": "13494:24:9" + "src": "13494:24:22" }, - "nativeSrc": "13491:37:9", + "nativeSrc": "13491:37:22", "nodeType": "YulIf", - "src": "13491:37:9" + "src": "13491:37:22" } ] }, "condition": { "kind": "number", - "nativeSrc": "13221:1:9", + "nativeSrc": "13221:1:22", "nodeType": "YulLiteral", - "src": "13221:1:9", + "src": "13221:1:22", "type": "", "value": "1" }, - "nativeSrc": "13164:382:9", + "nativeSrc": "13164:382:22", "nodeType": "YulForLoop", "post": { - "nativeSrc": "13223:2:9", + "nativeSrc": "13223:2:22", "nodeType": "YulBlock", - "src": "13223:2:9", + "src": "13223:2:22", "statements": [] }, "pre": { - "nativeSrc": "13168:52:9", + "nativeSrc": "13168:52:22", "nodeType": "YulBlock", - "src": "13168:52:9", + "src": "13168:52:22", "statements": [ { - "nativeSrc": "13170:48:9", + "nativeSrc": "13170:48:22", "nodeType": "YulVariableDeclaration", - "src": "13170:48:9", + "src": "13170:48:22", "value": { "arguments": [ { "arguments": [ { "name": "needle", - "nativeSrc": "13193:6:9", + "nativeSrc": "13193:6:22", "nodeType": "YulIdentifier", - "src": "13193:6:9" + "src": "13193:6:22" }, { "kind": "number", - "nativeSrc": "13201:4:9", + "nativeSrc": "13201:4:22", "nodeType": "YulLiteral", - "src": "13201:4:9", + "src": "13201:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "13189:3:9", + "nativeSrc": "13189:3:22", "nodeType": "YulIdentifier", - "src": "13189:3:9" + "src": "13189:3:22" }, - "nativeSrc": "13189:17:9", + "nativeSrc": "13189:17:22", "nodeType": "YulFunctionCall", - "src": "13189:17:9" + "src": "13189:17:22" }, { "name": "needleLen", - "nativeSrc": "13208:9:9", + "nativeSrc": "13208:9:22", "nodeType": "YulIdentifier", - "src": "13208:9:9" + "src": "13208:9:22" } ], "functionName": { "name": "keccak256", - "nativeSrc": "13179:9:9", + "nativeSrc": "13179:9:22", "nodeType": "YulIdentifier", - "src": "13179:9:9" + "src": "13179:9:22" }, - "nativeSrc": "13179:39:9", + "nativeSrc": "13179:39:22", "nodeType": "YulFunctionCall", - "src": "13179:39:9" + "src": "13179:39:22" }, "variables": [ { "name": "h", - "nativeSrc": "13174:1:9", + "nativeSrc": "13174:1:22", "nodeType": "YulTypedName", - "src": "13174:1:9", + "src": "13174:1:22", "type": "" } ] } ] }, - "src": "13164:382:9" + "src": "13164:382:22" }, { - "nativeSrc": "13563:5:9", + "nativeSrc": "13563:5:22", "nodeType": "YulBreak", - "src": "13563:5:9" + "src": "13563:5:22" } ] }, "condition": { "kind": "number", - "nativeSrc": "12511:1:9", + "nativeSrc": "12511:1:22", "nodeType": "YulLiteral", - "src": "12511:1:9", + "src": "12511:1:22", "type": "", "value": "1" }, - "nativeSrc": "12504:1078:9", + "nativeSrc": "12504:1078:22", "nodeType": "YulForLoop", "post": { - "nativeSrc": "12513:2:9", + "nativeSrc": "12513:2:22", "nodeType": "YulBlock", - "src": "12513:2:9", + "src": "12513:2:22", "statements": [] }, "pre": { - "nativeSrc": "12508:2:9", + "nativeSrc": "12508:2:22", "nodeType": "YulBlock", - "src": "12508:2:9", + "src": "12508:2:22", "statements": [] }, - "src": "12504:1078:9" + "src": "12504:1078:22" } ] }, @@ -69849,171 +88824,171 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2739, + "declaration": 4345, "isOffset": false, "isSlot": false, - "src": "12820:4:9", + "src": "12820:4:22", "valueSize": 1 }, { - "declaration": 2739, + "declaration": 4345, "isOffset": false, "isSlot": false, - "src": "12829:4:9", + "src": "12829:4:22", "valueSize": 1 }, { - "declaration": 2739, + "declaration": 4345, "isOffset": false, "isSlot": false, - "src": "12953:4:9", + "src": "12953:4:22", "valueSize": 1 }, { - "declaration": 2737, + "declaration": 4343, "isOffset": false, "isSlot": false, - "src": "12620:6:9", + "src": "12620:6:22", "valueSize": 1 }, { - "declaration": 2737, + "declaration": 4343, "isOffset": false, "isSlot": false, - "src": "13193:6:9", + "src": "13193:6:22", "valueSize": 1 }, { - "declaration": 2742, + "declaration": 4348, "isOffset": false, "isSlot": false, - "src": "12534:6:9", + "src": "12534:6:22", "valueSize": 1 }, { - "declaration": 2742, + "declaration": 4348, "isOffset": false, "isSlot": false, - "src": "12712:6:9", + "src": "12712:6:22", "valueSize": 1 }, { - "declaration": 2742, + "declaration": 4348, "isOffset": false, "isSlot": false, - "src": "13314:6:9", + "src": "13314:6:22", "valueSize": 1 }, { - "declaration": 2735, + "declaration": 4341, "isOffset": false, "isSlot": false, - "src": "12667:7:9", + "src": "12667:7:22", "valueSize": 1 }, { - "declaration": 2735, + "declaration": 4341, "isOffset": false, "isSlot": false, - "src": "12761:7:9", + "src": "12761:7:22", "valueSize": 1 }, { - "declaration": 2735, + "declaration": 4341, "isOffset": false, "isSlot": false, - "src": "12883:7:9", + "src": "12883:7:22", "valueSize": 1 }, { - "declaration": 2735, + "declaration": 4341, "isOffset": false, "isSlot": false, - "src": "12918:7:9", + "src": "12918:7:22", "valueSize": 1 }, { - "declaration": 2735, + "declaration": 4341, "isOffset": false, "isSlot": false, - "src": "12937:7:9", + "src": "12937:7:22", "valueSize": 1 }, { - "declaration": 2735, + "declaration": 4341, "isOffset": false, "isSlot": false, - "src": "12988:7:9", + "src": "12988:7:22", "valueSize": 1 }, { - "declaration": 2735, + "declaration": 4341, "isOffset": false, "isSlot": false, - "src": "13264:7:9", + "src": "13264:7:22", "valueSize": 1 }, { - "declaration": 2735, + "declaration": 4341, "isOffset": false, "isSlot": false, - "src": "13328:7:9", + "src": "13328:7:22", "valueSize": 1 }, { - "declaration": 2735, + "declaration": 4341, "isOffset": false, "isSlot": false, - "src": "13422:7:9", + "src": "13422:7:22", "valueSize": 1 }, { - "declaration": 2735, + "declaration": 4341, "isOffset": false, "isSlot": false, - "src": "13437:7:9", + "src": "13437:7:22", "valueSize": 1 }, { - "declaration": 2735, + "declaration": 4341, "isOffset": false, "isSlot": false, - "src": "13504:7:9", + "src": "13504:7:22", "valueSize": 1 } ], - "id": 2744, + "id": 4350, "nodeType": "InlineAssembly", - "src": "12481:1111:9" + "src": "12481:1111:22" } ] }, "documentation": { - "id": 2733, + "id": 4339, "nodeType": "StructuredDocumentation", - "src": "12054:224:9", + "src": "12054:224:22", "text": "@dev Returns the byte index of the first location of `needle` in `subject`,\n needleing from right to left, starting from `from`.\n Returns `NOT_FOUND` (i.e. `type(uint256).max`) if the `needle` is not found." }, - "id": 2746, + "id": 4352, "implemented": true, "kind": "function", "modifiers": [], "name": "lastIndexOf", - "nameLocation": "12292:11:9", + "nameLocation": "12292:11:22", "nodeType": "FunctionDefinition", "parameters": { - "id": 2740, + "id": 4346, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2735, + "id": 4341, "mutability": "mutable", "name": "subject", - "nameLocation": "12317:7:9", + "nameLocation": "12317:7:22", "nodeType": "VariableDeclaration", - "scope": 2746, - "src": "12304:20:9", + "scope": 4352, + "src": "12304:20:22", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -70021,10 +88996,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2734, + "id": 4340, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "12304:5:9", + "src": "12304:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -70034,13 +89009,13 @@ }, { "constant": false, - "id": 2737, + "id": 4343, "mutability": "mutable", "name": "needle", - "nameLocation": "12339:6:9", + "nameLocation": "12339:6:22", "nodeType": "VariableDeclaration", - "scope": 2746, - "src": "12326:19:9", + "scope": 4352, + "src": "12326:19:22", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -70048,10 +89023,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2736, + "id": 4342, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "12326:5:9", + "src": "12326:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -70061,13 +89036,13 @@ }, { "constant": false, - "id": 2739, + "id": 4345, "mutability": "mutable", "name": "from", - "nameLocation": "12355:4:9", + "nameLocation": "12355:4:22", "nodeType": "VariableDeclaration", - "scope": 2746, - "src": "12347:12:9", + "scope": 4352, + "src": "12347:12:22", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -70075,10 +89050,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2738, + "id": 4344, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "12347:7:9", + "src": "12347:7:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -70087,21 +89062,21 @@ "visibility": "internal" } ], - "src": "12303:57:9" + "src": "12303:57:22" }, "returnParameters": { - "id": 2743, + "id": 4349, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2742, + "id": 4348, "mutability": "mutable", "name": "result", - "nameLocation": "12416:6:9", + "nameLocation": "12416:6:22", "nodeType": "VariableDeclaration", - "scope": 2746, - "src": "12408:14:9", + "scope": 4352, + "src": "12408:14:22", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -70109,10 +89084,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2741, + "id": 4347, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "12408:7:9", + "src": "12408:7:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -70121,42 +89096,42 @@ "visibility": "internal" } ], - "src": "12407:16:9" + "src": "12407:16:22" }, - "scope": 3078, - "src": "12283:1315:9", + "scope": 4684, + "src": "12283:1315:22", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 2766, + "id": 4372, "nodeType": "Block", - "src": "13935:71:9", + "src": "13935:71:22", "statements": [ { "expression": { "arguments": [ { - "id": 2757, + "id": 4363, "name": "subject", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2749, - "src": "13964:7:9", + "referencedDeclaration": 4355, + "src": "13964:7:22", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { - "id": 2758, + "id": 4364, "name": "needle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2751, - "src": "13973:6:9", + "referencedDeclaration": 4357, + "src": "13973:6:22", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -70166,22 +89141,22 @@ "expression": { "arguments": [ { - "id": 2761, + "id": 4367, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "13986:7:9", + "src": "13986:7:22", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 2760, + "id": 4366, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13986:7:9", + "src": "13986:7:22", "typeDescriptions": {} } } @@ -70193,18 +89168,18 @@ "typeString": "type(uint256)" } ], - "id": 2759, + "id": 4365, "name": "type", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -27, - "src": "13981:4:9", + "src": "13981:4:22", "typeDescriptions": { "typeIdentifier": "t_function_metatype_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 2762, + "id": 4368, "isConstant": false, "isLValue": false, "isPure": true, @@ -70213,22 +89188,22 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "13981:13:9", + "src": "13981:13:22", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_magic_meta_type_t_uint256", "typeString": "type(uint256)" } }, - "id": 2763, + "id": 4369, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "13995:3:9", + "memberLocation": "13995:3:22", "memberName": "max", "nodeType": "MemberAccess", - "src": "13981:17:9", + "src": "13981:17:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -70250,21 +89225,21 @@ "typeString": "uint256" } ], - "id": 2756, + "id": 4362, "name": "lastIndexOf", "nodeType": "Identifier", "overloadedDeclarations": [ - 2746, - 2767 + 4352, + 4373 ], - "referencedDeclaration": 2746, - "src": "13952:11:9", + "referencedDeclaration": 4352, + "src": "13952:11:22", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (bytes memory,bytes memory,uint256) pure returns (uint256)" } }, - "id": 2764, + "id": 4370, "isConstant": false, "isLValue": false, "isPure": false, @@ -70273,46 +89248,46 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "13952:47:9", + "src": "13952:47:22", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 2755, - "id": 2765, + "functionReturnParameters": 4361, + "id": 4371, "nodeType": "Return", - "src": "13945:54:9" + "src": "13945:54:22" } ] }, "documentation": { - "id": 2747, + "id": 4353, "nodeType": "StructuredDocumentation", - "src": "13604:202:9", + "src": "13604:202:22", "text": "@dev Returns the byte index of the first location of `needle` in `subject`,\n needleing from right to left.\n Returns `NOT_FOUND` (i.e. `type(uint256).max`) if the `needle` is not found." }, - "id": 2767, + "id": 4373, "implemented": true, "kind": "function", "modifiers": [], "name": "lastIndexOf", - "nameLocation": "13820:11:9", + "nameLocation": "13820:11:22", "nodeType": "FunctionDefinition", "parameters": { - "id": 2752, + "id": 4358, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2749, + "id": 4355, "mutability": "mutable", "name": "subject", - "nameLocation": "13845:7:9", + "nameLocation": "13845:7:22", "nodeType": "VariableDeclaration", - "scope": 2767, - "src": "13832:20:9", + "scope": 4373, + "src": "13832:20:22", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -70320,10 +89295,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2748, + "id": 4354, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "13832:5:9", + "src": "13832:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -70333,13 +89308,13 @@ }, { "constant": false, - "id": 2751, + "id": 4357, "mutability": "mutable", "name": "needle", - "nameLocation": "13867:6:9", + "nameLocation": "13867:6:22", "nodeType": "VariableDeclaration", - "scope": 2767, - "src": "13854:19:9", + "scope": 4373, + "src": "13854:19:22", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -70347,10 +89322,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2750, + "id": 4356, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "13854:5:9", + "src": "13854:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -70359,21 +89334,21 @@ "visibility": "internal" } ], - "src": "13831:43:9" + "src": "13831:43:22" }, "returnParameters": { - "id": 2755, + "id": 4361, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2754, + "id": 4360, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2767, - "src": "13922:7:9", + "scope": 4373, + "src": "13922:7:22", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -70381,10 +89356,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2753, + "id": 4359, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13922:7:9", + "src": "13922:7:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -70393,19 +89368,19 @@ "visibility": "internal" } ], - "src": "13921:9:9" + "src": "13921:9:22" }, - "scope": 3078, - "src": "13811:195:9", + "scope": 4684, + "src": "13811:195:22", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 2784, + "id": 4390, "nodeType": "Block", - "src": "14180:61:9", + "src": "14180:61:22", "statements": [ { "expression": { @@ -70413,7 +89388,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2782, + "id": 4388, "isConstant": false, "isLValue": false, "isPure": false, @@ -70421,24 +89396,24 @@ "leftExpression": { "arguments": [ { - "id": 2778, + "id": 4384, "name": "subject", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2770, - "src": "14205:7:9", + "referencedDeclaration": 4376, + "src": "14205:7:22", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { - "id": 2779, + "id": 4385, "name": "needle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2772, - "src": "14214:6:9", + "referencedDeclaration": 4378, + "src": "14214:6:22", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -70456,21 +89431,21 @@ "typeString": "bytes memory" } ], - "id": 2777, + "id": 4383, "name": "indexOf", "nodeType": "Identifier", "overloadedDeclarations": [ - 2715, - 2732 + 4321, + 4338 ], - "referencedDeclaration": 2732, - "src": "14197:7:9", + "referencedDeclaration": 4338, + "src": "14197:7:22", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$", "typeString": "function (bytes memory,bytes memory) pure returns (uint256)" } }, - "id": 2780, + "id": 4386, "isConstant": false, "isLValue": false, "isPure": false, @@ -70479,7 +89454,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "14197:24:9", + "src": "14197:24:22", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -70489,56 +89464,56 @@ "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { - "id": 2781, + "id": 4387, "name": "NOT_FOUND", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2587, - "src": "14225:9:9", + "referencedDeclaration": 4193, + "src": "14225:9:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14197:37:9", + "src": "14197:37:22", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 2776, - "id": 2783, + "functionReturnParameters": 4382, + "id": 4389, "nodeType": "Return", - "src": "14190:44:9" + "src": "14190:44:22" } ] }, "documentation": { - "id": 2768, + "id": 4374, "nodeType": "StructuredDocumentation", - "src": "14012:73:9", + "src": "14012:73:22", "text": "@dev Returns true if `needle` is found in `subject`, false otherwise." }, - "id": 2785, + "id": 4391, "implemented": true, "kind": "function", "modifiers": [], "name": "contains", - "nameLocation": "14099:8:9", + "nameLocation": "14099:8:22", "nodeType": "FunctionDefinition", "parameters": { - "id": 2773, + "id": 4379, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2770, + "id": 4376, "mutability": "mutable", "name": "subject", - "nameLocation": "14121:7:9", + "nameLocation": "14121:7:22", "nodeType": "VariableDeclaration", - "scope": 2785, - "src": "14108:20:9", + "scope": 4391, + "src": "14108:20:22", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -70546,10 +89521,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2769, + "id": 4375, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "14108:5:9", + "src": "14108:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -70559,13 +89534,13 @@ }, { "constant": false, - "id": 2772, + "id": 4378, "mutability": "mutable", "name": "needle", - "nameLocation": "14143:6:9", + "nameLocation": "14143:6:22", "nodeType": "VariableDeclaration", - "scope": 2785, - "src": "14130:19:9", + "scope": 4391, + "src": "14130:19:22", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -70573,10 +89548,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2771, + "id": 4377, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "14130:5:9", + "src": "14130:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -70585,21 +89560,21 @@ "visibility": "internal" } ], - "src": "14107:43:9" + "src": "14107:43:22" }, "returnParameters": { - "id": 2776, + "id": 4382, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2775, + "id": 4381, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2785, - "src": "14174:4:9", + "scope": 4391, + "src": "14174:4:22", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -70607,10 +89582,10 @@ "typeString": "bool" }, "typeName": { - "id": 2774, + "id": 4380, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "14174:4:9", + "src": "14174:4:22", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -70619,63 +89594,63 @@ "visibility": "internal" } ], - "src": "14173:6:9" + "src": "14173:6:22" }, - "scope": 3078, - "src": "14090:151:9", + "scope": 4684, + "src": "14090:151:22", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 2796, + "id": 4402, "nodeType": "Block", - "src": "14435:322:9", + "src": "14435:322:22", "statements": [ { "AST": { - "nativeSrc": "14497:254:9", + "nativeSrc": "14497:254:22", "nodeType": "YulBlock", - "src": "14497:254:9", + "src": "14497:254:22", "statements": [ { - "nativeSrc": "14511:22:9", + "nativeSrc": "14511:22:22", "nodeType": "YulVariableDeclaration", - "src": "14511:22:9", + "src": "14511:22:22", "value": { "arguments": [ { "name": "needle", - "nativeSrc": "14526:6:9", + "nativeSrc": "14526:6:22", "nodeType": "YulIdentifier", - "src": "14526:6:9" + "src": "14526:6:22" } ], "functionName": { "name": "mload", - "nativeSrc": "14520:5:9", + "nativeSrc": "14520:5:22", "nodeType": "YulIdentifier", - "src": "14520:5:9" + "src": "14520:5:22" }, - "nativeSrc": "14520:13:9", + "nativeSrc": "14520:13:22", "nodeType": "YulFunctionCall", - "src": "14520:13:9" + "src": "14520:13:22" }, "variables": [ { "name": "n", - "nativeSrc": "14515:1:9", + "nativeSrc": "14515:1:22", "nodeType": "YulTypedName", - "src": "14515:1:9", + "src": "14515:1:22", "type": "" } ] }, { - "nativeSrc": "14612:78:9", + "nativeSrc": "14612:78:22", "nodeType": "YulVariableDeclaration", - "src": "14612:78:9", + "src": "14612:78:22", "value": { "arguments": [ { @@ -70684,45 +89659,45 @@ "arguments": [ { "name": "subject", - "nativeSrc": "14638:7:9", + "nativeSrc": "14638:7:22", "nodeType": "YulIdentifier", - "src": "14638:7:9" + "src": "14638:7:22" }, { "kind": "number", - "nativeSrc": "14647:4:9", + "nativeSrc": "14647:4:22", "nodeType": "YulLiteral", - "src": "14647:4:9", + "src": "14647:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "14634:3:9", + "nativeSrc": "14634:3:22", "nodeType": "YulIdentifier", - "src": "14634:3:9" + "src": "14634:3:22" }, - "nativeSrc": "14634:18:9", + "nativeSrc": "14634:18:22", "nodeType": "YulFunctionCall", - "src": "14634:18:9" + "src": "14634:18:22" }, { "name": "n", - "nativeSrc": "14654:1:9", + "nativeSrc": "14654:1:22", "nodeType": "YulIdentifier", - "src": "14654:1:9" + "src": "14654:1:22" } ], "functionName": { "name": "keccak256", - "nativeSrc": "14624:9:9", + "nativeSrc": "14624:9:22", "nodeType": "YulIdentifier", - "src": "14624:9:9" + "src": "14624:9:22" }, - "nativeSrc": "14624:32:9", + "nativeSrc": "14624:32:22", "nodeType": "YulFunctionCall", - "src": "14624:32:9" + "src": "14624:32:22" }, { "arguments": [ @@ -70730,134 +89705,134 @@ "arguments": [ { "name": "needle", - "nativeSrc": "14672:6:9", + "nativeSrc": "14672:6:22", "nodeType": "YulIdentifier", - "src": "14672:6:9" + "src": "14672:6:22" }, { "kind": "number", - "nativeSrc": "14680:4:9", + "nativeSrc": "14680:4:22", "nodeType": "YulLiteral", - "src": "14680:4:9", + "src": "14680:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "14668:3:9", + "nativeSrc": "14668:3:22", "nodeType": "YulIdentifier", - "src": "14668:3:9" + "src": "14668:3:22" }, - "nativeSrc": "14668:17:9", + "nativeSrc": "14668:17:22", "nodeType": "YulFunctionCall", - "src": "14668:17:9" + "src": "14668:17:22" }, { "name": "n", - "nativeSrc": "14687:1:9", + "nativeSrc": "14687:1:22", "nodeType": "YulIdentifier", - "src": "14687:1:9" + "src": "14687:1:22" } ], "functionName": { "name": "keccak256", - "nativeSrc": "14658:9:9", + "nativeSrc": "14658:9:22", "nodeType": "YulIdentifier", - "src": "14658:9:9" + "src": "14658:9:22" }, - "nativeSrc": "14658:31:9", + "nativeSrc": "14658:31:22", "nodeType": "YulFunctionCall", - "src": "14658:31:9" + "src": "14658:31:22" } ], "functionName": { "name": "eq", - "nativeSrc": "14621:2:9", + "nativeSrc": "14621:2:22", "nodeType": "YulIdentifier", - "src": "14621:2:9" + "src": "14621:2:22" }, - "nativeSrc": "14621:69:9", + "nativeSrc": "14621:69:22", "nodeType": "YulFunctionCall", - "src": "14621:69:9" + "src": "14621:69:22" }, "variables": [ { "name": "t", - "nativeSrc": "14616:1:9", + "nativeSrc": "14616:1:22", "nodeType": "YulTypedName", - "src": "14616:1:9", + "src": "14616:1:22", "type": "" } ] }, { - "nativeSrc": "14703:38:9", + "nativeSrc": "14703:38:22", "nodeType": "YulAssignment", - "src": "14703:38:9", + "src": "14703:38:22", "value": { "arguments": [ { "arguments": [ { "name": "n", - "nativeSrc": "14719:1:9", + "nativeSrc": "14719:1:22", "nodeType": "YulIdentifier", - "src": "14719:1:9" + "src": "14719:1:22" }, { "arguments": [ { "name": "subject", - "nativeSrc": "14728:7:9", + "nativeSrc": "14728:7:22", "nodeType": "YulIdentifier", - "src": "14728:7:9" + "src": "14728:7:22" } ], "functionName": { "name": "mload", - "nativeSrc": "14722:5:9", + "nativeSrc": "14722:5:22", "nodeType": "YulIdentifier", - "src": "14722:5:9" + "src": "14722:5:22" }, - "nativeSrc": "14722:14:9", + "nativeSrc": "14722:14:22", "nodeType": "YulFunctionCall", - "src": "14722:14:9" + "src": "14722:14:22" } ], "functionName": { "name": "gt", - "nativeSrc": "14716:2:9", + "nativeSrc": "14716:2:22", "nodeType": "YulIdentifier", - "src": "14716:2:9" + "src": "14716:2:22" }, - "nativeSrc": "14716:21:9", + "nativeSrc": "14716:21:22", "nodeType": "YulFunctionCall", - "src": "14716:21:9" + "src": "14716:21:22" }, { "name": "t", - "nativeSrc": "14739:1:9", + "nativeSrc": "14739:1:22", "nodeType": "YulIdentifier", - "src": "14739:1:9" + "src": "14739:1:22" } ], "functionName": { "name": "lt", - "nativeSrc": "14713:2:9", + "nativeSrc": "14713:2:22", "nodeType": "YulIdentifier", - "src": "14713:2:9" + "src": "14713:2:22" }, - "nativeSrc": "14713:28:9", + "nativeSrc": "14713:28:22", "nodeType": "YulFunctionCall", - "src": "14713:28:9" + "src": "14713:28:22" }, "variableNames": [ { "name": "result", - "nativeSrc": "14703:6:9", + "nativeSrc": "14703:6:22", "nodeType": "YulIdentifier", - "src": "14703:6:9" + "src": "14703:6:22" } ] } @@ -70867,73 +89842,73 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2790, + "declaration": 4396, "isOffset": false, "isSlot": false, - "src": "14526:6:9", + "src": "14526:6:22", "valueSize": 1 }, { - "declaration": 2790, + "declaration": 4396, "isOffset": false, "isSlot": false, - "src": "14672:6:9", + "src": "14672:6:22", "valueSize": 1 }, { - "declaration": 2793, + "declaration": 4399, "isOffset": false, "isSlot": false, - "src": "14703:6:9", + "src": "14703:6:22", "valueSize": 1 }, { - "declaration": 2788, + "declaration": 4394, "isOffset": false, "isSlot": false, - "src": "14638:7:9", + "src": "14638:7:22", "valueSize": 1 }, { - "declaration": 2788, + "declaration": 4394, "isOffset": false, "isSlot": false, - "src": "14728:7:9", + "src": "14728:7:22", "valueSize": 1 } ], - "id": 2795, + "id": 4401, "nodeType": "InlineAssembly", - "src": "14488:263:9" + "src": "14488:263:22" } ] }, "documentation": { - "id": 2786, + "id": 4392, "nodeType": "StructuredDocumentation", - "src": "14247:56:9", + "src": "14247:56:22", "text": "@dev Returns whether `subject` starts with `needle`." }, - "id": 2797, + "id": 4403, "implemented": true, "kind": "function", "modifiers": [], "name": "startsWith", - "nameLocation": "14317:10:9", + "nameLocation": "14317:10:22", "nodeType": "FunctionDefinition", "parameters": { - "id": 2791, + "id": 4397, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2788, + "id": 4394, "mutability": "mutable", "name": "subject", - "nameLocation": "14341:7:9", + "nameLocation": "14341:7:22", "nodeType": "VariableDeclaration", - "scope": 2797, - "src": "14328:20:9", + "scope": 4403, + "src": "14328:20:22", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -70941,10 +89916,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2787, + "id": 4393, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "14328:5:9", + "src": "14328:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -70954,13 +89929,13 @@ }, { "constant": false, - "id": 2790, + "id": 4396, "mutability": "mutable", "name": "needle", - "nameLocation": "14363:6:9", + "nameLocation": "14363:6:22", "nodeType": "VariableDeclaration", - "scope": 2797, - "src": "14350:19:9", + "scope": 4403, + "src": "14350:19:22", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -70968,10 +89943,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2789, + "id": 4395, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "14350:5:9", + "src": "14350:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -70980,21 +89955,21 @@ "visibility": "internal" } ], - "src": "14327:43:9" + "src": "14327:43:22" }, "returnParameters": { - "id": 2794, + "id": 4400, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2793, + "id": 4399, "mutability": "mutable", "name": "result", - "nameLocation": "14423:6:9", + "nameLocation": "14423:6:22", "nodeType": "VariableDeclaration", - "scope": 2797, - "src": "14418:11:9", + "scope": 4403, + "src": "14418:11:22", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -71002,10 +89977,10 @@ "typeString": "bool" }, "typeName": { - "id": 2792, + "id": 4398, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "14418:4:9", + "src": "14418:4:22", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -71014,143 +89989,143 @@ "visibility": "internal" } ], - "src": "14417:13:9" + "src": "14417:13:22" }, - "scope": 3078, - "src": "14308:449:9", + "scope": 4684, + "src": "14308:449:22", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 2808, + "id": 4414, "nodeType": "Block", - "src": "14947:491:9", + "src": "14947:491:22", "statements": [ { "AST": { - "nativeSrc": "15009:423:9", + "nativeSrc": "15009:423:22", "nodeType": "YulBlock", - "src": "15009:423:9", + "src": "15009:423:22", "statements": [ { - "nativeSrc": "15023:22:9", + "nativeSrc": "15023:22:22", "nodeType": "YulVariableDeclaration", - "src": "15023:22:9", + "src": "15023:22:22", "value": { "arguments": [ { "name": "needle", - "nativeSrc": "15038:6:9", + "nativeSrc": "15038:6:22", "nodeType": "YulIdentifier", - "src": "15038:6:9" + "src": "15038:6:22" } ], "functionName": { "name": "mload", - "nativeSrc": "15032:5:9", + "nativeSrc": "15032:5:22", "nodeType": "YulIdentifier", - "src": "15032:5:9" + "src": "15032:5:22" }, - "nativeSrc": "15032:13:9", + "nativeSrc": "15032:13:22", "nodeType": "YulFunctionCall", - "src": "15032:13:9" + "src": "15032:13:22" }, "variables": [ { "name": "n", - "nativeSrc": "15027:1:9", + "nativeSrc": "15027:1:22", "nodeType": "YulTypedName", - "src": "15027:1:9", + "src": "15027:1:22", "type": "" } ] }, { - "nativeSrc": "15058:39:9", + "nativeSrc": "15058:39:22", "nodeType": "YulVariableDeclaration", - "src": "15058:39:9", + "src": "15058:39:22", "value": { "arguments": [ { "name": "n", - "nativeSrc": "15079:1:9", + "nativeSrc": "15079:1:22", "nodeType": "YulIdentifier", - "src": "15079:1:9" + "src": "15079:1:22" }, { "arguments": [ { "name": "subject", - "nativeSrc": "15088:7:9", + "nativeSrc": "15088:7:22", "nodeType": "YulIdentifier", - "src": "15088:7:9" + "src": "15088:7:22" } ], "functionName": { "name": "mload", - "nativeSrc": "15082:5:9", + "nativeSrc": "15082:5:22", "nodeType": "YulIdentifier", - "src": "15082:5:9" + "src": "15082:5:22" }, - "nativeSrc": "15082:14:9", + "nativeSrc": "15082:14:22", "nodeType": "YulFunctionCall", - "src": "15082:14:9" + "src": "15082:14:22" } ], "functionName": { "name": "gt", - "nativeSrc": "15076:2:9", + "nativeSrc": "15076:2:22", "nodeType": "YulIdentifier", - "src": "15076:2:9" + "src": "15076:2:22" }, - "nativeSrc": "15076:21:9", + "nativeSrc": "15076:21:22", "nodeType": "YulFunctionCall", - "src": "15076:21:9" + "src": "15076:21:22" }, "variables": [ { "name": "notInRange", - "nativeSrc": "15062:10:9", + "nativeSrc": "15062:10:22", "nodeType": "YulTypedName", - "src": "15062:10:9", + "src": "15062:10:22", "type": "" } ] }, { - "nativeSrc": "15184:81:9", + "nativeSrc": "15184:81:22", "nodeType": "YulVariableDeclaration", - "src": "15184:81:9", + "src": "15184:81:22", "value": { "arguments": [ { "arguments": [ { "name": "subject", - "nativeSrc": "15201:7:9", + "nativeSrc": "15201:7:22", "nodeType": "YulIdentifier", - "src": "15201:7:9" + "src": "15201:7:22" }, { "kind": "number", - "nativeSrc": "15210:4:9", + "nativeSrc": "15210:4:22", "nodeType": "YulLiteral", - "src": "15210:4:9", + "src": "15210:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "15197:3:9", + "nativeSrc": "15197:3:22", "nodeType": "YulIdentifier", - "src": "15197:3:9" + "src": "15197:3:22" }, - "nativeSrc": "15197:18:9", + "nativeSrc": "15197:18:22", "nodeType": "YulFunctionCall", - "src": "15197:18:9" + "src": "15197:18:22" }, { "arguments": [ @@ -71158,20 +90133,20 @@ "arguments": [ { "name": "notInRange", - "nativeSrc": "15228:10:9", + "nativeSrc": "15228:10:22", "nodeType": "YulIdentifier", - "src": "15228:10:9" + "src": "15228:10:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "15221:6:9", + "nativeSrc": "15221:6:22", "nodeType": "YulIdentifier", - "src": "15221:6:9" + "src": "15221:6:22" }, - "nativeSrc": "15221:18:9", + "nativeSrc": "15221:18:22", "nodeType": "YulFunctionCall", - "src": "15221:18:9" + "src": "15221:18:22" }, { "arguments": [ @@ -71179,74 +90154,74 @@ "arguments": [ { "name": "subject", - "nativeSrc": "15251:7:9", + "nativeSrc": "15251:7:22", "nodeType": "YulIdentifier", - "src": "15251:7:9" + "src": "15251:7:22" } ], "functionName": { "name": "mload", - "nativeSrc": "15245:5:9", + "nativeSrc": "15245:5:22", "nodeType": "YulIdentifier", - "src": "15245:5:9" + "src": "15245:5:22" }, - "nativeSrc": "15245:14:9", + "nativeSrc": "15245:14:22", "nodeType": "YulFunctionCall", - "src": "15245:14:9" + "src": "15245:14:22" }, { "name": "n", - "nativeSrc": "15261:1:9", + "nativeSrc": "15261:1:22", "nodeType": "YulIdentifier", - "src": "15261:1:9" + "src": "15261:1:22" } ], "functionName": { "name": "sub", - "nativeSrc": "15241:3:9", + "nativeSrc": "15241:3:22", "nodeType": "YulIdentifier", - "src": "15241:3:9" + "src": "15241:3:22" }, - "nativeSrc": "15241:22:9", + "nativeSrc": "15241:22:22", "nodeType": "YulFunctionCall", - "src": "15241:22:9" + "src": "15241:22:22" } ], "functionName": { "name": "mul", - "nativeSrc": "15217:3:9", + "nativeSrc": "15217:3:22", "nodeType": "YulIdentifier", - "src": "15217:3:9" + "src": "15217:3:22" }, - "nativeSrc": "15217:47:9", + "nativeSrc": "15217:47:22", "nodeType": "YulFunctionCall", - "src": "15217:47:9" + "src": "15217:47:22" } ], "functionName": { "name": "add", - "nativeSrc": "15193:3:9", + "nativeSrc": "15193:3:22", "nodeType": "YulIdentifier", - "src": "15193:3:9" + "src": "15193:3:22" }, - "nativeSrc": "15193:72:9", + "nativeSrc": "15193:72:22", "nodeType": "YulFunctionCall", - "src": "15193:72:9" + "src": "15193:72:22" }, "variables": [ { "name": "t", - "nativeSrc": "15188:1:9", + "nativeSrc": "15188:1:22", "nodeType": "YulTypedName", - "src": "15188:1:9", + "src": "15188:1:22", "type": "" } ] }, { - "nativeSrc": "15344:78:9", + "nativeSrc": "15344:78:22", "nodeType": "YulAssignment", - "src": "15344:78:9", + "src": "15344:78:22", "value": { "arguments": [ { @@ -71255,26 +90230,26 @@ "arguments": [ { "name": "t", - "nativeSrc": "15370:1:9", + "nativeSrc": "15370:1:22", "nodeType": "YulIdentifier", - "src": "15370:1:9" + "src": "15370:1:22" }, { "name": "n", - "nativeSrc": "15373:1:9", + "nativeSrc": "15373:1:22", "nodeType": "YulIdentifier", - "src": "15373:1:9" + "src": "15373:1:22" } ], "functionName": { "name": "keccak256", - "nativeSrc": "15360:9:9", + "nativeSrc": "15360:9:22", "nodeType": "YulIdentifier", - "src": "15360:9:9" + "src": "15360:9:22" }, - "nativeSrc": "15360:15:9", + "nativeSrc": "15360:15:22", "nodeType": "YulFunctionCall", - "src": "15360:15:9" + "src": "15360:15:22" }, { "arguments": [ @@ -71282,80 +90257,80 @@ "arguments": [ { "name": "needle", - "nativeSrc": "15391:6:9", + "nativeSrc": "15391:6:22", "nodeType": "YulIdentifier", - "src": "15391:6:9" + "src": "15391:6:22" }, { "kind": "number", - "nativeSrc": "15399:4:9", + "nativeSrc": "15399:4:22", "nodeType": "YulLiteral", - "src": "15399:4:9", + "src": "15399:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "15387:3:9", + "nativeSrc": "15387:3:22", "nodeType": "YulIdentifier", - "src": "15387:3:9" + "src": "15387:3:22" }, - "nativeSrc": "15387:17:9", + "nativeSrc": "15387:17:22", "nodeType": "YulFunctionCall", - "src": "15387:17:9" + "src": "15387:17:22" }, { "name": "n", - "nativeSrc": "15406:1:9", + "nativeSrc": "15406:1:22", "nodeType": "YulIdentifier", - "src": "15406:1:9" + "src": "15406:1:22" } ], "functionName": { "name": "keccak256", - "nativeSrc": "15377:9:9", + "nativeSrc": "15377:9:22", "nodeType": "YulIdentifier", - "src": "15377:9:9" + "src": "15377:9:22" }, - "nativeSrc": "15377:31:9", + "nativeSrc": "15377:31:22", "nodeType": "YulFunctionCall", - "src": "15377:31:9" + "src": "15377:31:22" } ], "functionName": { "name": "eq", - "nativeSrc": "15357:2:9", + "nativeSrc": "15357:2:22", "nodeType": "YulIdentifier", - "src": "15357:2:9" + "src": "15357:2:22" }, - "nativeSrc": "15357:52:9", + "nativeSrc": "15357:52:22", "nodeType": "YulFunctionCall", - "src": "15357:52:9" + "src": "15357:52:22" }, { "name": "notInRange", - "nativeSrc": "15411:10:9", + "nativeSrc": "15411:10:22", "nodeType": "YulIdentifier", - "src": "15411:10:9" + "src": "15411:10:22" } ], "functionName": { "name": "gt", - "nativeSrc": "15354:2:9", + "nativeSrc": "15354:2:22", "nodeType": "YulIdentifier", - "src": "15354:2:9" + "src": "15354:2:22" }, - "nativeSrc": "15354:68:9", + "nativeSrc": "15354:68:22", "nodeType": "YulFunctionCall", - "src": "15354:68:9" + "src": "15354:68:22" }, "variableNames": [ { "name": "result", - "nativeSrc": "15344:6:9", + "nativeSrc": "15344:6:22", "nodeType": "YulIdentifier", - "src": "15344:6:9" + "src": "15344:6:22" } ] } @@ -71365,80 +90340,80 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2802, + "declaration": 4408, "isOffset": false, "isSlot": false, - "src": "15038:6:9", + "src": "15038:6:22", "valueSize": 1 }, { - "declaration": 2802, + "declaration": 4408, "isOffset": false, "isSlot": false, - "src": "15391:6:9", + "src": "15391:6:22", "valueSize": 1 }, { - "declaration": 2805, + "declaration": 4411, "isOffset": false, "isSlot": false, - "src": "15344:6:9", + "src": "15344:6:22", "valueSize": 1 }, { - "declaration": 2800, + "declaration": 4406, "isOffset": false, "isSlot": false, - "src": "15088:7:9", + "src": "15088:7:22", "valueSize": 1 }, { - "declaration": 2800, + "declaration": 4406, "isOffset": false, "isSlot": false, - "src": "15201:7:9", + "src": "15201:7:22", "valueSize": 1 }, { - "declaration": 2800, + "declaration": 4406, "isOffset": false, "isSlot": false, - "src": "15251:7:9", + "src": "15251:7:22", "valueSize": 1 } ], - "id": 2807, + "id": 4413, "nodeType": "InlineAssembly", - "src": "15000:432:9" + "src": "15000:432:22" } ] }, "documentation": { - "id": 2798, + "id": 4404, "nodeType": "StructuredDocumentation", - "src": "14763:54:9", + "src": "14763:54:22", "text": "@dev Returns whether `subject` ends with `needle`." }, - "id": 2809, + "id": 4415, "implemented": true, "kind": "function", "modifiers": [], "name": "endsWith", - "nameLocation": "14831:8:9", + "nameLocation": "14831:8:22", "nodeType": "FunctionDefinition", "parameters": { - "id": 2803, + "id": 4409, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2800, + "id": 4406, "mutability": "mutable", "name": "subject", - "nameLocation": "14853:7:9", + "nameLocation": "14853:7:22", "nodeType": "VariableDeclaration", - "scope": 2809, - "src": "14840:20:9", + "scope": 4415, + "src": "14840:20:22", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -71446,10 +90421,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2799, + "id": 4405, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "14840:5:9", + "src": "14840:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -71459,13 +90434,13 @@ }, { "constant": false, - "id": 2802, + "id": 4408, "mutability": "mutable", "name": "needle", - "nameLocation": "14875:6:9", + "nameLocation": "14875:6:22", "nodeType": "VariableDeclaration", - "scope": 2809, - "src": "14862:19:9", + "scope": 4415, + "src": "14862:19:22", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -71473,10 +90448,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2801, + "id": 4407, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "14862:5:9", + "src": "14862:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -71485,21 +90460,21 @@ "visibility": "internal" } ], - "src": "14839:43:9" + "src": "14839:43:22" }, "returnParameters": { - "id": 2806, + "id": 4412, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2805, + "id": 4411, "mutability": "mutable", "name": "result", - "nameLocation": "14935:6:9", + "nameLocation": "14935:6:22", "nodeType": "VariableDeclaration", - "scope": 2809, - "src": "14930:11:9", + "scope": 4415, + "src": "14930:11:22", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -71507,10 +90482,10 @@ "typeString": "bool" }, "typeName": { - "id": 2804, + "id": 4410, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "14930:4:9", + "src": "14930:4:22", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -71519,191 +90494,191 @@ "visibility": "internal" } ], - "src": "14929:13:9" + "src": "14929:13:22" }, - "scope": 3078, - "src": "14822:616:9", + "scope": 4684, + "src": "14822:616:22", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 2820, + "id": 4426, "nodeType": "Block", - "src": "15618:1002:9", + "src": "15618:1002:22", "statements": [ { "AST": { - "nativeSrc": "15680:934:9", + "nativeSrc": "15680:934:22", "nodeType": "YulBlock", - "src": "15680:934:9", + "src": "15680:934:22", "statements": [ { - "nativeSrc": "15694:23:9", + "nativeSrc": "15694:23:22", "nodeType": "YulVariableDeclaration", - "src": "15694:23:9", + "src": "15694:23:22", "value": { "arguments": [ { "name": "subject", - "nativeSrc": "15709:7:9", + "nativeSrc": "15709:7:22", "nodeType": "YulIdentifier", - "src": "15709:7:9" + "src": "15709:7:22" } ], "functionName": { "name": "mload", - "nativeSrc": "15703:5:9", + "nativeSrc": "15703:5:22", "nodeType": "YulIdentifier", - "src": "15703:5:9" + "src": "15703:5:22" }, - "nativeSrc": "15703:14:9", + "nativeSrc": "15703:14:22", "nodeType": "YulFunctionCall", - "src": "15703:14:9" + "src": "15703:14:22" }, "variables": [ { "name": "l", - "nativeSrc": "15698:1:9", + "nativeSrc": "15698:1:22", "nodeType": "YulTypedName", - "src": "15698:1:9", + "src": "15698:1:22", "type": "" } ] }, { "body": { - "nativeSrc": "15789:815:9", + "nativeSrc": "15789:815:22", "nodeType": "YulBlock", - "src": "15789:815:9", + "src": "15789:815:22", "statements": [ { - "nativeSrc": "15807:21:9", + "nativeSrc": "15807:21:22", "nodeType": "YulAssignment", - "src": "15807:21:9", + "src": "15807:21:22", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "15823:4:9", + "nativeSrc": "15823:4:22", "nodeType": "YulLiteral", - "src": "15823:4:9", + "src": "15823:4:22", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "15817:5:9", + "nativeSrc": "15817:5:22", "nodeType": "YulIdentifier", - "src": "15817:5:9" + "src": "15817:5:22" }, - "nativeSrc": "15817:11:9", + "nativeSrc": "15817:11:22", "nodeType": "YulFunctionCall", - "src": "15817:11:9" + "src": "15817:11:22" }, "variableNames": [ { "name": "result", - "nativeSrc": "15807:6:9", + "nativeSrc": "15807:6:22", "nodeType": "YulIdentifier", - "src": "15807:6:9" + "src": "15807:6:22" } ] }, { - "nativeSrc": "15845:29:9", + "nativeSrc": "15845:29:22", "nodeType": "YulAssignment", - "src": "15845:29:9", + "src": "15845:29:22", "value": { "arguments": [ { "name": "subject", - "nativeSrc": "15860:7:9", + "nativeSrc": "15860:7:22", "nodeType": "YulIdentifier", - "src": "15860:7:9" + "src": "15860:7:22" }, { "kind": "number", - "nativeSrc": "15869:4:9", + "nativeSrc": "15869:4:22", "nodeType": "YulLiteral", - "src": "15869:4:9", + "src": "15869:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "15856:3:9", + "nativeSrc": "15856:3:22", "nodeType": "YulIdentifier", - "src": "15856:3:9" + "src": "15856:3:22" }, - "nativeSrc": "15856:18:9", + "nativeSrc": "15856:18:22", "nodeType": "YulFunctionCall", - "src": "15856:18:9" + "src": "15856:18:22" }, "variableNames": [ { "name": "subject", - "nativeSrc": "15845:7:9", + "nativeSrc": "15845:7:22", "nodeType": "YulIdentifier", - "src": "15845:7:9" + "src": "15845:7:22" } ] }, { - "nativeSrc": "15891:26:9", + "nativeSrc": "15891:26:22", "nodeType": "YulVariableDeclaration", - "src": "15891:26:9", + "src": "15891:26:22", "value": { "arguments": [ { "name": "result", - "nativeSrc": "15904:6:9", + "nativeSrc": "15904:6:22", "nodeType": "YulIdentifier", - "src": "15904:6:9" + "src": "15904:6:22" }, { "kind": "number", - "nativeSrc": "15912:4:9", + "nativeSrc": "15912:4:22", "nodeType": "YulLiteral", - "src": "15912:4:9", + "src": "15912:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "15900:3:9", + "nativeSrc": "15900:3:22", "nodeType": "YulIdentifier", - "src": "15900:3:9" + "src": "15900:3:22" }, - "nativeSrc": "15900:17:9", + "nativeSrc": "15900:17:22", "nodeType": "YulFunctionCall", - "src": "15900:17:9" + "src": "15900:17:22" }, "variables": [ { "name": "o", - "nativeSrc": "15895:1:9", + "nativeSrc": "15895:1:22", "nodeType": "YulTypedName", - "src": "15895:1:9", + "src": "15895:1:22", "type": "" } ] }, { "body": { - "nativeSrc": "15946:436:9", + "nativeSrc": "15946:436:22", "nodeType": "YulBlock", - "src": "15946:436:9", + "src": "15946:436:22", "statements": [ { "body": { - "nativeSrc": "16054:185:9", + "nativeSrc": "16054:185:22", "nodeType": "YulBlock", - "src": "16054:185:9", + "src": "16054:185:22", "statements": [ { "expression": { @@ -71712,26 +90687,26 @@ "arguments": [ { "name": "o", - "nativeSrc": "16091:1:9", + "nativeSrc": "16091:1:22", "nodeType": "YulIdentifier", - "src": "16091:1:9" + "src": "16091:1:22" }, { "name": "j", - "nativeSrc": "16094:1:9", + "nativeSrc": "16094:1:22", "nodeType": "YulIdentifier", - "src": "16094:1:9" + "src": "16094:1:22" } ], "functionName": { "name": "add", - "nativeSrc": "16087:3:9", + "nativeSrc": "16087:3:22", "nodeType": "YulIdentifier", - "src": "16087:3:9" + "src": "16087:3:22" }, - "nativeSrc": "16087:9:9", + "nativeSrc": "16087:9:22", "nodeType": "YulFunctionCall", - "src": "16087:9:9" + "src": "16087:9:22" }, { "arguments": [ @@ -71739,103 +90714,103 @@ "arguments": [ { "name": "subject", - "nativeSrc": "16108:7:9", + "nativeSrc": "16108:7:22", "nodeType": "YulIdentifier", - "src": "16108:7:9" + "src": "16108:7:22" }, { "name": "j", - "nativeSrc": "16117:1:9", + "nativeSrc": "16117:1:22", "nodeType": "YulIdentifier", - "src": "16117:1:9" + "src": "16117:1:22" } ], "functionName": { "name": "add", - "nativeSrc": "16104:3:9", + "nativeSrc": "16104:3:22", "nodeType": "YulIdentifier", - "src": "16104:3:9" + "src": "16104:3:22" }, - "nativeSrc": "16104:15:9", + "nativeSrc": "16104:15:22", "nodeType": "YulFunctionCall", - "src": "16104:15:9" + "src": "16104:15:22" } ], "functionName": { "name": "mload", - "nativeSrc": "16098:5:9", + "nativeSrc": "16098:5:22", "nodeType": "YulIdentifier", - "src": "16098:5:9" + "src": "16098:5:22" }, - "nativeSrc": "16098:22:9", + "nativeSrc": "16098:22:22", "nodeType": "YulFunctionCall", - "src": "16098:22:9" + "src": "16098:22:22" } ], "functionName": { "name": "mstore", - "nativeSrc": "16080:6:9", + "nativeSrc": "16080:6:22", "nodeType": "YulIdentifier", - "src": "16080:6:9" + "src": "16080:6:22" }, - "nativeSrc": "16080:41:9", + "nativeSrc": "16080:41:22", "nodeType": "YulFunctionCall", - "src": "16080:41:9" + "src": "16080:41:22" }, - "nativeSrc": "16080:41:9", + "nativeSrc": "16080:41:22", "nodeType": "YulExpressionStatement", - "src": "16080:41:9" + "src": "16080:41:22" }, { - "nativeSrc": "16146:17:9", + "nativeSrc": "16146:17:22", "nodeType": "YulAssignment", - "src": "16146:17:9", + "src": "16146:17:22", "value": { "arguments": [ { "name": "j", - "nativeSrc": "16155:1:9", + "nativeSrc": "16155:1:22", "nodeType": "YulIdentifier", - "src": "16155:1:9" + "src": "16155:1:22" }, { "kind": "number", - "nativeSrc": "16158:4:9", + "nativeSrc": "16158:4:22", "nodeType": "YulLiteral", - "src": "16158:4:9", + "src": "16158:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "16151:3:9", + "nativeSrc": "16151:3:22", "nodeType": "YulIdentifier", - "src": "16151:3:9" + "src": "16151:3:22" }, - "nativeSrc": "16151:12:9", + "nativeSrc": "16151:12:22", "nodeType": "YulFunctionCall", - "src": "16151:12:9" + "src": "16151:12:22" }, "variableNames": [ { "name": "j", - "nativeSrc": "16146:1:9", + "nativeSrc": "16146:1:22", "nodeType": "YulIdentifier", - "src": "16146:1:9" + "src": "16146:1:22" } ] }, { "body": { - "nativeSrc": "16208:9:9", + "nativeSrc": "16208:9:22", "nodeType": "YulBlock", - "src": "16208:9:9", + "src": "16208:9:22", "statements": [ { - "nativeSrc": "16210:5:9", + "nativeSrc": "16210:5:22", "nodeType": "YulBreak", - "src": "16210:5:9" + "src": "16210:5:22" } ] }, @@ -71845,179 +90820,179 @@ "arguments": [ { "name": "j", - "nativeSrc": "16201:1:9", + "nativeSrc": "16201:1:22", "nodeType": "YulIdentifier", - "src": "16201:1:9" + "src": "16201:1:22" }, { "name": "l", - "nativeSrc": "16204:1:9", + "nativeSrc": "16204:1:22", "nodeType": "YulIdentifier", - "src": "16204:1:9" + "src": "16204:1:22" } ], "functionName": { "name": "lt", - "nativeSrc": "16198:2:9", + "nativeSrc": "16198:2:22", "nodeType": "YulIdentifier", - "src": "16198:2:9" + "src": "16198:2:22" }, - "nativeSrc": "16198:8:9", + "nativeSrc": "16198:8:22", "nodeType": "YulFunctionCall", - "src": "16198:8:9" + "src": "16198:8:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "16191:6:9", + "nativeSrc": "16191:6:22", "nodeType": "YulIdentifier", - "src": "16191:6:9" + "src": "16191:6:22" }, - "nativeSrc": "16191:16:9", + "nativeSrc": "16191:16:22", "nodeType": "YulFunctionCall", - "src": "16191:16:9" + "src": "16191:16:22" }, - "nativeSrc": "16188:29:9", + "nativeSrc": "16188:29:22", "nodeType": "YulIf", - "src": "16188:29:9" + "src": "16188:29:22" } ] }, "condition": { "kind": "number", - "nativeSrc": "16049:1:9", + "nativeSrc": "16049:1:22", "nodeType": "YulLiteral", - "src": "16049:1:9", + "src": "16049:1:22", "type": "", "value": "1" }, - "nativeSrc": "16030:209:9", + "nativeSrc": "16030:209:22", "nodeType": "YulForLoop", "post": { - "nativeSrc": "16051:2:9", + "nativeSrc": "16051:2:22", "nodeType": "YulBlock", - "src": "16051:2:9", + "src": "16051:2:22", "statements": [] }, "pre": { - "nativeSrc": "16034:14:9", + "nativeSrc": "16034:14:22", "nodeType": "YulBlock", - "src": "16034:14:9", + "src": "16034:14:22", "statements": [ { - "nativeSrc": "16036:10:9", + "nativeSrc": "16036:10:22", "nodeType": "YulVariableDeclaration", - "src": "16036:10:9", + "src": "16036:10:22", "value": { "kind": "number", - "nativeSrc": "16045:1:9", + "nativeSrc": "16045:1:22", "nodeType": "YulLiteral", - "src": "16045:1:9", + "src": "16045:1:22", "type": "", "value": "0" }, "variables": [ { "name": "j", - "nativeSrc": "16040:1:9", + "nativeSrc": "16040:1:22", "nodeType": "YulTypedName", - "src": "16040:1:9", + "src": "16040:1:22", "type": "" } ] } ] }, - "src": "16030:209:9" + "src": "16030:209:22" }, { - "nativeSrc": "16260:14:9", + "nativeSrc": "16260:14:22", "nodeType": "YulAssignment", - "src": "16260:14:9", + "src": "16260:14:22", "value": { "arguments": [ { "name": "o", - "nativeSrc": "16269:1:9", + "nativeSrc": "16269:1:22", "nodeType": "YulIdentifier", - "src": "16269:1:9" + "src": "16269:1:22" }, { "name": "l", - "nativeSrc": "16272:1:9", + "nativeSrc": "16272:1:22", "nodeType": "YulIdentifier", - "src": "16272:1:9" + "src": "16272:1:22" } ], "functionName": { "name": "add", - "nativeSrc": "16265:3:9", + "nativeSrc": "16265:3:22", "nodeType": "YulIdentifier", - "src": "16265:3:9" + "src": "16265:3:22" }, - "nativeSrc": "16265:9:9", + "nativeSrc": "16265:9:22", "nodeType": "YulFunctionCall", - "src": "16265:9:9" + "src": "16265:9:22" }, "variableNames": [ { "name": "o", - "nativeSrc": "16260:1:9", + "nativeSrc": "16260:1:22", "nodeType": "YulIdentifier", - "src": "16260:1:9" + "src": "16260:1:22" } ] }, { - "nativeSrc": "16295:22:9", + "nativeSrc": "16295:22:22", "nodeType": "YulAssignment", - "src": "16295:22:9", + "src": "16295:22:22", "value": { "arguments": [ { "name": "times", - "nativeSrc": "16308:5:9", + "nativeSrc": "16308:5:22", "nodeType": "YulIdentifier", - "src": "16308:5:9" + "src": "16308:5:22" }, { "kind": "number", - "nativeSrc": "16315:1:9", + "nativeSrc": "16315:1:22", "nodeType": "YulLiteral", - "src": "16315:1:9", + "src": "16315:1:22", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "16304:3:9", + "nativeSrc": "16304:3:22", "nodeType": "YulIdentifier", - "src": "16304:3:9" + "src": "16304:3:22" }, - "nativeSrc": "16304:13:9", + "nativeSrc": "16304:13:22", "nodeType": "YulFunctionCall", - "src": "16304:13:9" + "src": "16304:13:22" }, "variableNames": [ { "name": "times", - "nativeSrc": "16295:5:9", + "nativeSrc": "16295:5:22", "nodeType": "YulIdentifier", - "src": "16295:5:9" + "src": "16295:5:22" } ] }, { "body": { - "nativeSrc": "16355:9:9", + "nativeSrc": "16355:9:22", "nodeType": "YulBlock", - "src": "16355:9:9", + "src": "16355:9:22", "statements": [ { - "nativeSrc": "16357:5:9", + "nativeSrc": "16357:5:22", "nodeType": "YulBreak", - "src": "16357:5:9" + "src": "16357:5:22" } ] }, @@ -72025,91 +91000,91 @@ "arguments": [ { "name": "times", - "nativeSrc": "16348:5:9", + "nativeSrc": "16348:5:22", "nodeType": "YulIdentifier", - "src": "16348:5:9" + "src": "16348:5:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "16341:6:9", + "nativeSrc": "16341:6:22", "nodeType": "YulIdentifier", - "src": "16341:6:9" + "src": "16341:6:22" }, - "nativeSrc": "16341:13:9", + "nativeSrc": "16341:13:22", "nodeType": "YulFunctionCall", - "src": "16341:13:9" + "src": "16341:13:22" }, - "nativeSrc": "16338:26:9", + "nativeSrc": "16338:26:22", "nodeType": "YulIf", - "src": "16338:26:9" + "src": "16338:26:22" } ] }, "condition": { "kind": "number", - "nativeSrc": "15941:1:9", + "nativeSrc": "15941:1:22", "nodeType": "YulLiteral", - "src": "15941:1:9", + "src": "15941:1:22", "type": "", "value": "1" }, - "nativeSrc": "15934:448:9", + "nativeSrc": "15934:448:22", "nodeType": "YulForLoop", "post": { - "nativeSrc": "15943:2:9", + "nativeSrc": "15943:2:22", "nodeType": "YulBlock", - "src": "15943:2:9", + "src": "15943:2:22", "statements": [] }, "pre": { - "nativeSrc": "15938:2:9", + "nativeSrc": "15938:2:22", "nodeType": "YulBlock", - "src": "15938:2:9", + "src": "15938:2:22", "statements": [] }, - "src": "15934:448:9" + "src": "15934:448:22" }, { "expression": { "arguments": [ { "name": "o", - "nativeSrc": "16406:1:9", + "nativeSrc": "16406:1:22", "nodeType": "YulIdentifier", - "src": "16406:1:9" + "src": "16406:1:22" }, { "kind": "number", - "nativeSrc": "16409:1:9", + "nativeSrc": "16409:1:22", "nodeType": "YulLiteral", - "src": "16409:1:9", + "src": "16409:1:22", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "16399:6:9", + "nativeSrc": "16399:6:22", "nodeType": "YulIdentifier", - "src": "16399:6:9" + "src": "16399:6:22" }, - "nativeSrc": "16399:12:9", + "nativeSrc": "16399:12:22", "nodeType": "YulFunctionCall", - "src": "16399:12:9" + "src": "16399:12:22" }, - "nativeSrc": "16399:12:9", + "nativeSrc": "16399:12:22", "nodeType": "YulExpressionStatement", - "src": "16399:12:9" + "src": "16399:12:22" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "16472:4:9", + "nativeSrc": "16472:4:22", "nodeType": "YulLiteral", - "src": "16472:4:9", + "src": "16472:4:22", "type": "", "value": "0x40" }, @@ -72117,113 +91092,113 @@ "arguments": [ { "name": "o", - "nativeSrc": "16482:1:9", + "nativeSrc": "16482:1:22", "nodeType": "YulIdentifier", - "src": "16482:1:9" + "src": "16482:1:22" }, { "kind": "number", - "nativeSrc": "16485:4:9", + "nativeSrc": "16485:4:22", "nodeType": "YulLiteral", - "src": "16485:4:9", + "src": "16485:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "16478:3:9", + "nativeSrc": "16478:3:22", "nodeType": "YulIdentifier", - "src": "16478:3:9" + "src": "16478:3:22" }, - "nativeSrc": "16478:12:9", + "nativeSrc": "16478:12:22", "nodeType": "YulFunctionCall", - "src": "16478:12:9" + "src": "16478:12:22" } ], "functionName": { "name": "mstore", - "nativeSrc": "16465:6:9", + "nativeSrc": "16465:6:22", "nodeType": "YulIdentifier", - "src": "16465:6:9" + "src": "16465:6:22" }, - "nativeSrc": "16465:26:9", + "nativeSrc": "16465:26:22", "nodeType": "YulFunctionCall", - "src": "16465:26:9" + "src": "16465:26:22" }, - "nativeSrc": "16465:26:9", + "nativeSrc": "16465:26:22", "nodeType": "YulExpressionStatement", - "src": "16465:26:9" + "src": "16465:26:22" }, { "expression": { "arguments": [ { "name": "result", - "nativeSrc": "16535:6:9", + "nativeSrc": "16535:6:22", "nodeType": "YulIdentifier", - "src": "16535:6:9" + "src": "16535:6:22" }, { "arguments": [ { "name": "o", - "nativeSrc": "16547:1:9", + "nativeSrc": "16547:1:22", "nodeType": "YulIdentifier", - "src": "16547:1:9" + "src": "16547:1:22" }, { "arguments": [ { "name": "result", - "nativeSrc": "16554:6:9", + "nativeSrc": "16554:6:22", "nodeType": "YulIdentifier", - "src": "16554:6:9" + "src": "16554:6:22" }, { "kind": "number", - "nativeSrc": "16562:4:9", + "nativeSrc": "16562:4:22", "nodeType": "YulLiteral", - "src": "16562:4:9", + "src": "16562:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "16550:3:9", + "nativeSrc": "16550:3:22", "nodeType": "YulIdentifier", - "src": "16550:3:9" + "src": "16550:3:22" }, - "nativeSrc": "16550:17:9", + "nativeSrc": "16550:17:22", "nodeType": "YulFunctionCall", - "src": "16550:17:9" + "src": "16550:17:22" } ], "functionName": { "name": "sub", - "nativeSrc": "16543:3:9", + "nativeSrc": "16543:3:22", "nodeType": "YulIdentifier", - "src": "16543:3:9" + "src": "16543:3:22" }, - "nativeSrc": "16543:25:9", + "nativeSrc": "16543:25:22", "nodeType": "YulFunctionCall", - "src": "16543:25:9" + "src": "16543:25:22" } ], "functionName": { "name": "mstore", - "nativeSrc": "16528:6:9", + "nativeSrc": "16528:6:22", "nodeType": "YulIdentifier", - "src": "16528:6:9" + "src": "16528:6:22" }, - "nativeSrc": "16528:41:9", + "nativeSrc": "16528:41:22", "nodeType": "YulFunctionCall", - "src": "16528:41:9" + "src": "16528:41:22" }, - "nativeSrc": "16528:41:9", + "nativeSrc": "16528:41:22", "nodeType": "YulExpressionStatement", - "src": "16528:41:9" + "src": "16528:41:22" } ] }, @@ -72235,65 +91210,65 @@ "arguments": [ { "name": "times", - "nativeSrc": "15769:5:9", + "nativeSrc": "15769:5:22", "nodeType": "YulIdentifier", - "src": "15769:5:9" + "src": "15769:5:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "15762:6:9", + "nativeSrc": "15762:6:22", "nodeType": "YulIdentifier", - "src": "15762:6:9" + "src": "15762:6:22" }, - "nativeSrc": "15762:13:9", + "nativeSrc": "15762:13:22", "nodeType": "YulFunctionCall", - "src": "15762:13:9" + "src": "15762:13:22" }, { "arguments": [ { "name": "l", - "nativeSrc": "15784:1:9", + "nativeSrc": "15784:1:22", "nodeType": "YulIdentifier", - "src": "15784:1:9" + "src": "15784:1:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "15777:6:9", + "nativeSrc": "15777:6:22", "nodeType": "YulIdentifier", - "src": "15777:6:9" + "src": "15777:6:22" }, - "nativeSrc": "15777:9:9", + "nativeSrc": "15777:9:22", "nodeType": "YulFunctionCall", - "src": "15777:9:9" + "src": "15777:9:22" } ], "functionName": { "name": "or", - "nativeSrc": "15759:2:9", + "nativeSrc": "15759:2:22", "nodeType": "YulIdentifier", - "src": "15759:2:9" + "src": "15759:2:22" }, - "nativeSrc": "15759:28:9", + "nativeSrc": "15759:28:22", "nodeType": "YulFunctionCall", - "src": "15759:28:9" + "src": "15759:28:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "15752:6:9", + "nativeSrc": "15752:6:22", "nodeType": "YulIdentifier", - "src": "15752:6:9" + "src": "15752:6:22" }, - "nativeSrc": "15752:36:9", + "nativeSrc": "15752:36:22", "nodeType": "YulFunctionCall", - "src": "15752:36:9" + "src": "15752:36:22" }, - "nativeSrc": "15749:855:9", + "nativeSrc": "15749:855:22", "nodeType": "YulIf", - "src": "15749:855:9" + "src": "15749:855:22" } ] }, @@ -72301,122 +91276,122 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2817, + "declaration": 4423, "isOffset": false, "isSlot": false, - "src": "15807:6:9", + "src": "15807:6:22", "valueSize": 1 }, { - "declaration": 2817, + "declaration": 4423, "isOffset": false, "isSlot": false, - "src": "15904:6:9", + "src": "15904:6:22", "valueSize": 1 }, { - "declaration": 2817, + "declaration": 4423, "isOffset": false, "isSlot": false, - "src": "16535:6:9", + "src": "16535:6:22", "valueSize": 1 }, { - "declaration": 2817, + "declaration": 4423, "isOffset": false, "isSlot": false, - "src": "16554:6:9", + "src": "16554:6:22", "valueSize": 1 }, { - "declaration": 2812, + "declaration": 4418, "isOffset": false, "isSlot": false, - "src": "15709:7:9", + "src": "15709:7:22", "valueSize": 1 }, { - "declaration": 2812, + "declaration": 4418, "isOffset": false, "isSlot": false, - "src": "15845:7:9", + "src": "15845:7:22", "valueSize": 1 }, { - "declaration": 2812, + "declaration": 4418, "isOffset": false, "isSlot": false, - "src": "15860:7:9", + "src": "15860:7:22", "valueSize": 1 }, { - "declaration": 2812, + "declaration": 4418, "isOffset": false, "isSlot": false, - "src": "16108:7:9", + "src": "16108:7:22", "valueSize": 1 }, { - "declaration": 2814, + "declaration": 4420, "isOffset": false, "isSlot": false, - "src": "15769:5:9", + "src": "15769:5:22", "valueSize": 1 }, { - "declaration": 2814, + "declaration": 4420, "isOffset": false, "isSlot": false, - "src": "16295:5:9", + "src": "16295:5:22", "valueSize": 1 }, { - "declaration": 2814, + "declaration": 4420, "isOffset": false, "isSlot": false, - "src": "16308:5:9", + "src": "16308:5:22", "valueSize": 1 }, { - "declaration": 2814, + "declaration": 4420, "isOffset": false, "isSlot": false, - "src": "16348:5:9", + "src": "16348:5:22", "valueSize": 1 } ], - "id": 2819, + "id": 4425, "nodeType": "InlineAssembly", - "src": "15671:943:9" + "src": "15671:943:22" } ] }, "documentation": { - "id": 2810, + "id": 4416, "nodeType": "StructuredDocumentation", - "src": "15444:44:9", + "src": "15444:44:22", "text": "@dev Returns `subject` repeated `times`." }, - "id": 2821, + "id": 4427, "implemented": true, "kind": "function", "modifiers": [], "name": "repeat", - "nameLocation": "15502:6:9", + "nameLocation": "15502:6:22", "nodeType": "FunctionDefinition", "parameters": { - "id": 2815, + "id": 4421, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2812, + "id": 4418, "mutability": "mutable", "name": "subject", - "nameLocation": "15522:7:9", + "nameLocation": "15522:7:22", "nodeType": "VariableDeclaration", - "scope": 2821, - "src": "15509:20:9", + "scope": 4427, + "src": "15509:20:22", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -72424,10 +91399,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2811, + "id": 4417, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "15509:5:9", + "src": "15509:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -72437,13 +91412,13 @@ }, { "constant": false, - "id": 2814, + "id": 4420, "mutability": "mutable", "name": "times", - "nameLocation": "15539:5:9", + "nameLocation": "15539:5:22", "nodeType": "VariableDeclaration", - "scope": 2821, - "src": "15531:13:9", + "scope": 4427, + "src": "15531:13:22", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -72451,10 +91426,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2813, + "id": 4419, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "15531:7:9", + "src": "15531:7:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -72463,21 +91438,21 @@ "visibility": "internal" } ], - "src": "15508:37:9" + "src": "15508:37:22" }, "returnParameters": { - "id": 2818, + "id": 4424, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2817, + "id": 4423, "mutability": "mutable", "name": "result", - "nameLocation": "15606:6:9", + "nameLocation": "15606:6:22", "nodeType": "VariableDeclaration", - "scope": 2821, - "src": "15593:19:9", + "scope": 4427, + "src": "15593:19:22", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -72485,10 +91460,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2816, + "id": 4422, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "15593:5:9", + "src": "15593:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -72497,81 +91472,81 @@ "visibility": "internal" } ], - "src": "15592:21:9" + "src": "15592:21:22" }, - "scope": 3078, - "src": "15493:1127:9", + "scope": 4684, + "src": "15493:1127:22", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 2834, + "id": 4440, "nodeType": "Block", - "src": "16890:978:9", + "src": "16890:978:22", "statements": [ { "AST": { - "nativeSrc": "16952:910:9", + "nativeSrc": "16952:910:22", "nodeType": "YulBlock", - "src": "16952:910:9", + "src": "16952:910:22", "statements": [ { - "nativeSrc": "16966:23:9", + "nativeSrc": "16966:23:22", "nodeType": "YulVariableDeclaration", - "src": "16966:23:9", + "src": "16966:23:22", "value": { "arguments": [ { "name": "subject", - "nativeSrc": "16981:7:9", + "nativeSrc": "16981:7:22", "nodeType": "YulIdentifier", - "src": "16981:7:9" + "src": "16981:7:22" } ], "functionName": { "name": "mload", - "nativeSrc": "16975:5:9", + "nativeSrc": "16975:5:22", "nodeType": "YulIdentifier", - "src": "16975:5:9" + "src": "16975:5:22" }, - "nativeSrc": "16975:14:9", + "nativeSrc": "16975:14:22", "nodeType": "YulFunctionCall", - "src": "16975:14:9" + "src": "16975:14:22" }, "variables": [ { "name": "l", - "nativeSrc": "16970:1:9", + "nativeSrc": "16970:1:22", "nodeType": "YulTypedName", - "src": "16970:1:9", + "src": "16970:1:22", "type": "" } ] }, { "body": { - "nativeSrc": "17043:12:9", + "nativeSrc": "17043:12:22", "nodeType": "YulBlock", - "src": "17043:12:9", + "src": "17043:12:22", "statements": [ { - "nativeSrc": "17045:8:9", + "nativeSrc": "17045:8:22", "nodeType": "YulAssignment", - "src": "17045:8:9", + "src": "17045:8:22", "value": { "name": "l", - "nativeSrc": "17052:1:9", + "nativeSrc": "17052:1:22", "nodeType": "YulIdentifier", - "src": "17052:1:9" + "src": "17052:1:22" }, "variableNames": [ { "name": "end", - "nativeSrc": "17045:3:9", + "nativeSrc": "17045:3:22", "nodeType": "YulIdentifier", - "src": "17045:3:9" + "src": "17045:3:22" } ] } @@ -72583,64 +91558,64 @@ "arguments": [ { "name": "l", - "nativeSrc": "17034:1:9", + "nativeSrc": "17034:1:22", "nodeType": "YulIdentifier", - "src": "17034:1:9" + "src": "17034:1:22" }, { "name": "end", - "nativeSrc": "17037:3:9", + "nativeSrc": "17037:3:22", "nodeType": "YulIdentifier", - "src": "17037:3:9" + "src": "17037:3:22" } ], "functionName": { "name": "gt", - "nativeSrc": "17031:2:9", + "nativeSrc": "17031:2:22", "nodeType": "YulIdentifier", - "src": "17031:2:9" + "src": "17031:2:22" }, - "nativeSrc": "17031:10:9", + "nativeSrc": "17031:10:22", "nodeType": "YulFunctionCall", - "src": "17031:10:9" + "src": "17031:10:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "17024:6:9", + "nativeSrc": "17024:6:22", "nodeType": "YulIdentifier", - "src": "17024:6:9" + "src": "17024:6:22" }, - "nativeSrc": "17024:18:9", + "nativeSrc": "17024:18:22", "nodeType": "YulFunctionCall", - "src": "17024:18:9" + "src": "17024:18:22" }, - "nativeSrc": "17021:34:9", + "nativeSrc": "17021:34:22", "nodeType": "YulIf", - "src": "17021:34:9" + "src": "17021:34:22" }, { "body": { - "nativeSrc": "17092:14:9", + "nativeSrc": "17092:14:22", "nodeType": "YulBlock", - "src": "17092:14:9", + "src": "17092:14:22", "statements": [ { - "nativeSrc": "17094:10:9", + "nativeSrc": "17094:10:22", "nodeType": "YulAssignment", - "src": "17094:10:9", + "src": "17094:10:22", "value": { "name": "l", - "nativeSrc": "17103:1:9", + "nativeSrc": "17103:1:22", "nodeType": "YulIdentifier", - "src": "17103:1:9" + "src": "17103:1:22" }, "variableNames": [ { "name": "start", - "nativeSrc": "17094:5:9", + "nativeSrc": "17094:5:22", "nodeType": "YulIdentifier", - "src": "17094:5:9" + "src": "17094:5:22" } ] } @@ -72652,200 +91627,200 @@ "arguments": [ { "name": "l", - "nativeSrc": "17081:1:9", + "nativeSrc": "17081:1:22", "nodeType": "YulIdentifier", - "src": "17081:1:9" + "src": "17081:1:22" }, { "name": "start", - "nativeSrc": "17084:5:9", + "nativeSrc": "17084:5:22", "nodeType": "YulIdentifier", - "src": "17084:5:9" + "src": "17084:5:22" } ], "functionName": { "name": "gt", - "nativeSrc": "17078:2:9", + "nativeSrc": "17078:2:22", "nodeType": "YulIdentifier", - "src": "17078:2:9" + "src": "17078:2:22" }, - "nativeSrc": "17078:12:9", + "nativeSrc": "17078:12:22", "nodeType": "YulFunctionCall", - "src": "17078:12:9" + "src": "17078:12:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "17071:6:9", + "nativeSrc": "17071:6:22", "nodeType": "YulIdentifier", - "src": "17071:6:9" + "src": "17071:6:22" }, - "nativeSrc": "17071:20:9", + "nativeSrc": "17071:20:22", "nodeType": "YulFunctionCall", - "src": "17071:20:9" + "src": "17071:20:22" }, - "nativeSrc": "17068:38:9", + "nativeSrc": "17068:38:22", "nodeType": "YulIf", - "src": "17068:38:9" + "src": "17068:38:22" }, { "body": { - "nativeSrc": "17137:715:9", + "nativeSrc": "17137:715:22", "nodeType": "YulBlock", - "src": "17137:715:9", + "src": "17137:715:22", "statements": [ { - "nativeSrc": "17155:21:9", + "nativeSrc": "17155:21:22", "nodeType": "YulAssignment", - "src": "17155:21:9", + "src": "17155:21:22", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "17171:4:9", + "nativeSrc": "17171:4:22", "nodeType": "YulLiteral", - "src": "17171:4:9", + "src": "17171:4:22", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "17165:5:9", + "nativeSrc": "17165:5:22", "nodeType": "YulIdentifier", - "src": "17165:5:9" + "src": "17165:5:22" }, - "nativeSrc": "17165:11:9", + "nativeSrc": "17165:11:22", "nodeType": "YulFunctionCall", - "src": "17165:11:9" + "src": "17165:11:22" }, "variableNames": [ { "name": "result", - "nativeSrc": "17155:6:9", + "nativeSrc": "17155:6:22", "nodeType": "YulIdentifier", - "src": "17155:6:9" + "src": "17155:6:22" } ] }, { - "nativeSrc": "17193:24:9", + "nativeSrc": "17193:24:22", "nodeType": "YulVariableDeclaration", - "src": "17193:24:9", + "src": "17193:24:22", "value": { "arguments": [ { "name": "end", - "nativeSrc": "17206:3:9", + "nativeSrc": "17206:3:22", "nodeType": "YulIdentifier", - "src": "17206:3:9" + "src": "17206:3:22" }, { "name": "start", - "nativeSrc": "17211:5:9", + "nativeSrc": "17211:5:22", "nodeType": "YulIdentifier", - "src": "17211:5:9" + "src": "17211:5:22" } ], "functionName": { "name": "sub", - "nativeSrc": "17202:3:9", + "nativeSrc": "17202:3:22", "nodeType": "YulIdentifier", - "src": "17202:3:9" + "src": "17202:3:22" }, - "nativeSrc": "17202:15:9", + "nativeSrc": "17202:15:22", "nodeType": "YulFunctionCall", - "src": "17202:15:9" + "src": "17202:15:22" }, "variables": [ { "name": "n", - "nativeSrc": "17197:1:9", + "nativeSrc": "17197:1:22", "nodeType": "YulTypedName", - "src": "17197:1:9", + "src": "17197:1:22", "type": "" } ] }, { - "nativeSrc": "17234:28:9", + "nativeSrc": "17234:28:22", "nodeType": "YulVariableDeclaration", - "src": "17234:28:9", + "src": "17234:28:22", "value": { "arguments": [ { "name": "subject", - "nativeSrc": "17247:7:9", + "nativeSrc": "17247:7:22", "nodeType": "YulIdentifier", - "src": "17247:7:9" + "src": "17247:7:22" }, { "name": "start", - "nativeSrc": "17256:5:9", + "nativeSrc": "17256:5:22", "nodeType": "YulIdentifier", - "src": "17256:5:9" + "src": "17256:5:22" } ], "functionName": { "name": "add", - "nativeSrc": "17243:3:9", + "nativeSrc": "17243:3:22", "nodeType": "YulIdentifier", - "src": "17243:3:9" + "src": "17243:3:22" }, - "nativeSrc": "17243:19:9", + "nativeSrc": "17243:19:22", "nodeType": "YulFunctionCall", - "src": "17243:19:9" + "src": "17243:19:22" }, "variables": [ { "name": "i", - "nativeSrc": "17238:1:9", + "nativeSrc": "17238:1:22", "nodeType": "YulTypedName", - "src": "17238:1:9", + "src": "17238:1:22", "type": "" } ] }, { - "nativeSrc": "17279:18:9", + "nativeSrc": "17279:18:22", "nodeType": "YulVariableDeclaration", - "src": "17279:18:9", + "src": "17279:18:22", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "17292:4:9", + "nativeSrc": "17292:4:22", "nodeType": "YulLiteral", - "src": "17292:4:9", + "src": "17292:4:22", "type": "", "value": "0x1f" } ], "functionName": { "name": "not", - "nativeSrc": "17288:3:9", + "nativeSrc": "17288:3:22", "nodeType": "YulIdentifier", - "src": "17288:3:9" + "src": "17288:3:22" }, - "nativeSrc": "17288:9:9", + "nativeSrc": "17288:9:22", "nodeType": "YulFunctionCall", - "src": "17288:9:9" + "src": "17288:9:22" }, "variables": [ { "name": "w", - "nativeSrc": "17283:1:9", + "nativeSrc": "17283:1:22", "nodeType": "YulTypedName", - "src": "17283:1:9", + "src": "17283:1:22", "type": "" } ] }, { "body": { - "nativeSrc": "17426:177:9", + "nativeSrc": "17426:177:22", "nodeType": "YulBlock", - "src": "17426:177:9", + "src": "17426:177:22", "statements": [ { "expression": { @@ -72854,26 +91829,26 @@ "arguments": [ { "name": "result", - "nativeSrc": "17459:6:9", + "nativeSrc": "17459:6:22", "nodeType": "YulIdentifier", - "src": "17459:6:9" + "src": "17459:6:22" }, { "name": "j", - "nativeSrc": "17467:1:9", + "nativeSrc": "17467:1:22", "nodeType": "YulIdentifier", - "src": "17467:1:9" + "src": "17467:1:22" } ], "functionName": { "name": "add", - "nativeSrc": "17455:3:9", + "nativeSrc": "17455:3:22", "nodeType": "YulIdentifier", - "src": "17455:3:9" + "src": "17455:3:22" }, - "nativeSrc": "17455:14:9", + "nativeSrc": "17455:14:22", "nodeType": "YulFunctionCall", - "src": "17455:14:9" + "src": "17455:14:22" }, { "arguments": [ @@ -72881,101 +91856,101 @@ "arguments": [ { "name": "i", - "nativeSrc": "17481:1:9", + "nativeSrc": "17481:1:22", "nodeType": "YulIdentifier", - "src": "17481:1:9" + "src": "17481:1:22" }, { "name": "j", - "nativeSrc": "17484:1:9", + "nativeSrc": "17484:1:22", "nodeType": "YulIdentifier", - "src": "17484:1:9" + "src": "17484:1:22" } ], "functionName": { "name": "add", - "nativeSrc": "17477:3:9", + "nativeSrc": "17477:3:22", "nodeType": "YulIdentifier", - "src": "17477:3:9" + "src": "17477:3:22" }, - "nativeSrc": "17477:9:9", + "nativeSrc": "17477:9:22", "nodeType": "YulFunctionCall", - "src": "17477:9:9" + "src": "17477:9:22" } ], "functionName": { "name": "mload", - "nativeSrc": "17471:5:9", + "nativeSrc": "17471:5:22", "nodeType": "YulIdentifier", - "src": "17471:5:9" + "src": "17471:5:22" }, - "nativeSrc": "17471:16:9", + "nativeSrc": "17471:16:22", "nodeType": "YulFunctionCall", - "src": "17471:16:9" + "src": "17471:16:22" } ], "functionName": { "name": "mstore", - "nativeSrc": "17448:6:9", + "nativeSrc": "17448:6:22", "nodeType": "YulIdentifier", - "src": "17448:6:9" + "src": "17448:6:22" }, - "nativeSrc": "17448:40:9", + "nativeSrc": "17448:40:22", "nodeType": "YulFunctionCall", - "src": "17448:40:9" + "src": "17448:40:22" }, - "nativeSrc": "17448:40:9", + "nativeSrc": "17448:40:22", "nodeType": "YulExpressionStatement", - "src": "17448:40:9" + "src": "17448:40:22" }, { - "nativeSrc": "17509:14:9", + "nativeSrc": "17509:14:22", "nodeType": "YulAssignment", - "src": "17509:14:9", + "src": "17509:14:22", "value": { "arguments": [ { "name": "j", - "nativeSrc": "17518:1:9", + "nativeSrc": "17518:1:22", "nodeType": "YulIdentifier", - "src": "17518:1:9" + "src": "17518:1:22" }, { "name": "w", - "nativeSrc": "17521:1:9", + "nativeSrc": "17521:1:22", "nodeType": "YulIdentifier", - "src": "17521:1:9" + "src": "17521:1:22" } ], "functionName": { "name": "add", - "nativeSrc": "17514:3:9", + "nativeSrc": "17514:3:22", "nodeType": "YulIdentifier", - "src": "17514:3:9" + "src": "17514:3:22" }, - "nativeSrc": "17514:9:9", + "nativeSrc": "17514:9:22", "nodeType": "YulFunctionCall", - "src": "17514:9:9" + "src": "17514:9:22" }, "variableNames": [ { "name": "j", - "nativeSrc": "17509:1:9", + "nativeSrc": "17509:1:22", "nodeType": "YulIdentifier", - "src": "17509:1:9" + "src": "17509:1:22" } ] }, { "body": { - "nativeSrc": "17576:9:9", + "nativeSrc": "17576:9:22", "nodeType": "YulBlock", - "src": "17576:9:9", + "src": "17576:9:22", "statements": [ { - "nativeSrc": "17578:5:9", + "nativeSrc": "17578:5:22", "nodeType": "YulBreak", - "src": "17578:5:9" + "src": "17578:5:22" } ] }, @@ -72983,168 +91958,168 @@ "arguments": [ { "name": "j", - "nativeSrc": "17573:1:9", + "nativeSrc": "17573:1:22", "nodeType": "YulIdentifier", - "src": "17573:1:9" + "src": "17573:1:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "17566:6:9", + "nativeSrc": "17566:6:22", "nodeType": "YulIdentifier", - "src": "17566:6:9" + "src": "17566:6:22" }, - "nativeSrc": "17566:9:9", + "nativeSrc": "17566:9:22", "nodeType": "YulFunctionCall", - "src": "17566:9:9" + "src": "17566:9:22" }, - "nativeSrc": "17563:22:9", + "nativeSrc": "17563:22:22", "nodeType": "YulIf", - "src": "17563:22:9" + "src": "17563:22:22" } ] }, "condition": { "kind": "number", - "nativeSrc": "17421:1:9", + "nativeSrc": "17421:1:22", "nodeType": "YulLiteral", - "src": "17421:1:9", + "src": "17421:1:22", "type": "", "value": "1" }, - "nativeSrc": "17383:220:9", + "nativeSrc": "17383:220:22", "nodeType": "YulForLoop", "post": { - "nativeSrc": "17423:2:9", + "nativeSrc": "17423:2:22", "nodeType": "YulBlock", - "src": "17423:2:9", + "src": "17423:2:22", "statements": [] }, "pre": { - "nativeSrc": "17387:33:9", + "nativeSrc": "17387:33:22", "nodeType": "YulBlock", - "src": "17387:33:9", + "src": "17387:33:22", "statements": [ { - "nativeSrc": "17389:29:9", + "nativeSrc": "17389:29:22", "nodeType": "YulVariableDeclaration", - "src": "17389:29:9", + "src": "17389:29:22", "value": { "arguments": [ { "arguments": [ { "name": "n", - "nativeSrc": "17406:1:9", + "nativeSrc": "17406:1:22", "nodeType": "YulIdentifier", - "src": "17406:1:9" + "src": "17406:1:22" }, { "kind": "number", - "nativeSrc": "17409:4:9", + "nativeSrc": "17409:4:22", "nodeType": "YulLiteral", - "src": "17409:4:9", + "src": "17409:4:22", "type": "", "value": "0x1f" } ], "functionName": { "name": "add", - "nativeSrc": "17402:3:9", + "nativeSrc": "17402:3:22", "nodeType": "YulIdentifier", - "src": "17402:3:9" + "src": "17402:3:22" }, - "nativeSrc": "17402:12:9", + "nativeSrc": "17402:12:22", "nodeType": "YulFunctionCall", - "src": "17402:12:9" + "src": "17402:12:22" }, { "name": "w", - "nativeSrc": "17416:1:9", + "nativeSrc": "17416:1:22", "nodeType": "YulIdentifier", - "src": "17416:1:9" + "src": "17416:1:22" } ], "functionName": { "name": "and", - "nativeSrc": "17398:3:9", + "nativeSrc": "17398:3:22", "nodeType": "YulIdentifier", - "src": "17398:3:9" + "src": "17398:3:22" }, - "nativeSrc": "17398:20:9", + "nativeSrc": "17398:20:22", "nodeType": "YulFunctionCall", - "src": "17398:20:9" + "src": "17398:20:22" }, "variables": [ { "name": "j", - "nativeSrc": "17393:1:9", + "nativeSrc": "17393:1:22", "nodeType": "YulTypedName", - "src": "17393:1:9", + "src": "17393:1:22", "type": "" } ] } ] }, - "src": "17383:220:9" + "src": "17383:220:22" }, { - "nativeSrc": "17620:34:9", + "nativeSrc": "17620:34:22", "nodeType": "YulVariableDeclaration", - "src": "17620:34:9", + "src": "17620:34:22", "value": { "arguments": [ { "arguments": [ { "name": "result", - "nativeSrc": "17637:6:9", + "nativeSrc": "17637:6:22", "nodeType": "YulIdentifier", - "src": "17637:6:9" + "src": "17637:6:22" }, { "kind": "number", - "nativeSrc": "17645:4:9", + "nativeSrc": "17645:4:22", "nodeType": "YulLiteral", - "src": "17645:4:9", + "src": "17645:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "17633:3:9", + "nativeSrc": "17633:3:22", "nodeType": "YulIdentifier", - "src": "17633:3:9" + "src": "17633:3:22" }, - "nativeSrc": "17633:17:9", + "nativeSrc": "17633:17:22", "nodeType": "YulFunctionCall", - "src": "17633:17:9" + "src": "17633:17:22" }, { "name": "n", - "nativeSrc": "17652:1:9", + "nativeSrc": "17652:1:22", "nodeType": "YulIdentifier", - "src": "17652:1:9" + "src": "17652:1:22" } ], "functionName": { "name": "add", - "nativeSrc": "17629:3:9", + "nativeSrc": "17629:3:22", "nodeType": "YulIdentifier", - "src": "17629:3:9" + "src": "17629:3:22" }, - "nativeSrc": "17629:25:9", + "nativeSrc": "17629:25:22", "nodeType": "YulFunctionCall", - "src": "17629:25:9" + "src": "17629:25:22" }, "variables": [ { "name": "o", - "nativeSrc": "17624:1:9", + "nativeSrc": "17624:1:22", "nodeType": "YulTypedName", - "src": "17624:1:9", + "src": "17624:1:22", "type": "" } ] @@ -73154,41 +92129,41 @@ "arguments": [ { "name": "o", - "nativeSrc": "17678:1:9", + "nativeSrc": "17678:1:22", "nodeType": "YulIdentifier", - "src": "17678:1:9" + "src": "17678:1:22" }, { "kind": "number", - "nativeSrc": "17681:1:9", + "nativeSrc": "17681:1:22", "nodeType": "YulLiteral", - "src": "17681:1:9", + "src": "17681:1:22", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "17671:6:9", + "nativeSrc": "17671:6:22", "nodeType": "YulIdentifier", - "src": "17671:6:9" + "src": "17671:6:22" }, - "nativeSrc": "17671:12:9", + "nativeSrc": "17671:12:22", "nodeType": "YulFunctionCall", - "src": "17671:12:9" + "src": "17671:12:22" }, - "nativeSrc": "17671:12:9", + "nativeSrc": "17671:12:22", "nodeType": "YulExpressionStatement", - "src": "17671:12:9" + "src": "17671:12:22" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "17744:4:9", + "nativeSrc": "17744:4:22", "nodeType": "YulLiteral", - "src": "17744:4:9", + "src": "17744:4:22", "type": "", "value": "0x40" }, @@ -73196,73 +92171,73 @@ "arguments": [ { "name": "o", - "nativeSrc": "17754:1:9", + "nativeSrc": "17754:1:22", "nodeType": "YulIdentifier", - "src": "17754:1:9" + "src": "17754:1:22" }, { "kind": "number", - "nativeSrc": "17757:4:9", + "nativeSrc": "17757:4:22", "nodeType": "YulLiteral", - "src": "17757:4:9", + "src": "17757:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "17750:3:9", + "nativeSrc": "17750:3:22", "nodeType": "YulIdentifier", - "src": "17750:3:9" + "src": "17750:3:22" }, - "nativeSrc": "17750:12:9", + "nativeSrc": "17750:12:22", "nodeType": "YulFunctionCall", - "src": "17750:12:9" + "src": "17750:12:22" } ], "functionName": { "name": "mstore", - "nativeSrc": "17737:6:9", + "nativeSrc": "17737:6:22", "nodeType": "YulIdentifier", - "src": "17737:6:9" + "src": "17737:6:22" }, - "nativeSrc": "17737:26:9", + "nativeSrc": "17737:26:22", "nodeType": "YulFunctionCall", - "src": "17737:26:9" + "src": "17737:26:22" }, - "nativeSrc": "17737:26:9", + "nativeSrc": "17737:26:22", "nodeType": "YulExpressionStatement", - "src": "17737:26:9" + "src": "17737:26:22" }, { "expression": { "arguments": [ { "name": "result", - "nativeSrc": "17807:6:9", + "nativeSrc": "17807:6:22", "nodeType": "YulIdentifier", - "src": "17807:6:9" + "src": "17807:6:22" }, { "name": "n", - "nativeSrc": "17815:1:9", + "nativeSrc": "17815:1:22", "nodeType": "YulIdentifier", - "src": "17815:1:9" + "src": "17815:1:22" } ], "functionName": { "name": "mstore", - "nativeSrc": "17800:6:9", + "nativeSrc": "17800:6:22", "nodeType": "YulIdentifier", - "src": "17800:6:9" + "src": "17800:6:22" }, - "nativeSrc": "17800:17:9", + "nativeSrc": "17800:17:22", "nodeType": "YulFunctionCall", - "src": "17800:17:9" + "src": "17800:17:22" }, - "nativeSrc": "17800:17:9", + "nativeSrc": "17800:17:22", "nodeType": "YulExpressionStatement", - "src": "17800:17:9" + "src": "17800:17:22" } ] }, @@ -73270,30 +92245,30 @@ "arguments": [ { "name": "start", - "nativeSrc": "17125:5:9", + "nativeSrc": "17125:5:22", "nodeType": "YulIdentifier", - "src": "17125:5:9" + "src": "17125:5:22" }, { "name": "end", - "nativeSrc": "17132:3:9", + "nativeSrc": "17132:3:22", "nodeType": "YulIdentifier", - "src": "17132:3:9" + "src": "17132:3:22" } ], "functionName": { "name": "lt", - "nativeSrc": "17122:2:9", + "nativeSrc": "17122:2:22", "nodeType": "YulIdentifier", - "src": "17122:2:9" + "src": "17122:2:22" }, - "nativeSrc": "17122:14:9", + "nativeSrc": "17122:14:22", "nodeType": "YulFunctionCall", - "src": "17122:14:9" + "src": "17122:14:22" }, - "nativeSrc": "17119:733:9", + "nativeSrc": "17119:733:22", "nodeType": "YulIf", - "src": "17119:733:9" + "src": "17119:733:22" } ] }, @@ -73301,143 +92276,143 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2828, + "declaration": 4434, "isOffset": false, "isSlot": false, - "src": "17037:3:9", + "src": "17037:3:22", "valueSize": 1 }, { - "declaration": 2828, + "declaration": 4434, "isOffset": false, "isSlot": false, - "src": "17045:3:9", + "src": "17045:3:22", "valueSize": 1 }, { - "declaration": 2828, + "declaration": 4434, "isOffset": false, "isSlot": false, - "src": "17132:3:9", + "src": "17132:3:22", "valueSize": 1 }, { - "declaration": 2828, + "declaration": 4434, "isOffset": false, "isSlot": false, - "src": "17206:3:9", + "src": "17206:3:22", "valueSize": 1 }, { - "declaration": 2831, + "declaration": 4437, "isOffset": false, "isSlot": false, - "src": "17155:6:9", + "src": "17155:6:22", "valueSize": 1 }, { - "declaration": 2831, + "declaration": 4437, "isOffset": false, "isSlot": false, - "src": "17459:6:9", + "src": "17459:6:22", "valueSize": 1 }, { - "declaration": 2831, + "declaration": 4437, "isOffset": false, "isSlot": false, - "src": "17637:6:9", + "src": "17637:6:22", "valueSize": 1 }, { - "declaration": 2831, + "declaration": 4437, "isOffset": false, "isSlot": false, - "src": "17807:6:9", + "src": "17807:6:22", "valueSize": 1 }, { - "declaration": 2826, + "declaration": 4432, "isOffset": false, "isSlot": false, - "src": "17084:5:9", + "src": "17084:5:22", "valueSize": 1 }, { - "declaration": 2826, + "declaration": 4432, "isOffset": false, "isSlot": false, - "src": "17094:5:9", + "src": "17094:5:22", "valueSize": 1 }, { - "declaration": 2826, + "declaration": 4432, "isOffset": false, "isSlot": false, - "src": "17125:5:9", + "src": "17125:5:22", "valueSize": 1 }, { - "declaration": 2826, + "declaration": 4432, "isOffset": false, "isSlot": false, - "src": "17211:5:9", + "src": "17211:5:22", "valueSize": 1 }, { - "declaration": 2826, + "declaration": 4432, "isOffset": false, "isSlot": false, - "src": "17256:5:9", + "src": "17256:5:22", "valueSize": 1 }, { - "declaration": 2824, + "declaration": 4430, "isOffset": false, "isSlot": false, - "src": "16981:7:9", + "src": "16981:7:22", "valueSize": 1 }, { - "declaration": 2824, + "declaration": 4430, "isOffset": false, "isSlot": false, - "src": "17247:7:9", + "src": "17247:7:22", "valueSize": 1 } ], - "id": 2833, + "id": 4439, "nodeType": "InlineAssembly", - "src": "16943:919:9" + "src": "16943:919:22" } ] }, "documentation": { - "id": 2822, + "id": 4428, "nodeType": "StructuredDocumentation", - "src": "16626:122:9", + "src": "16626:122:22", "text": "@dev Returns a copy of `subject` sliced from `start` to `end` (exclusive).\n `start` and `end` are byte offsets." }, - "id": 2835, + "id": 4441, "implemented": true, "kind": "function", "modifiers": [], "name": "slice", - "nameLocation": "16762:5:9", + "nameLocation": "16762:5:22", "nodeType": "FunctionDefinition", "parameters": { - "id": 2829, + "id": 4435, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2824, + "id": 4430, "mutability": "mutable", "name": "subject", - "nameLocation": "16781:7:9", + "nameLocation": "16781:7:22", "nodeType": "VariableDeclaration", - "scope": 2835, - "src": "16768:20:9", + "scope": 4441, + "src": "16768:20:22", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -73445,10 +92420,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2823, + "id": 4429, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "16768:5:9", + "src": "16768:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -73458,13 +92433,13 @@ }, { "constant": false, - "id": 2826, + "id": 4432, "mutability": "mutable", "name": "start", - "nameLocation": "16798:5:9", + "nameLocation": "16798:5:22", "nodeType": "VariableDeclaration", - "scope": 2835, - "src": "16790:13:9", + "scope": 4441, + "src": "16790:13:22", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -73472,10 +92447,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2825, + "id": 4431, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16790:7:9", + "src": "16790:7:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -73485,13 +92460,13 @@ }, { "constant": false, - "id": 2828, + "id": 4434, "mutability": "mutable", "name": "end", - "nameLocation": "16813:3:9", + "nameLocation": "16813:3:22", "nodeType": "VariableDeclaration", - "scope": 2835, - "src": "16805:11:9", + "scope": 4441, + "src": "16805:11:22", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -73499,10 +92474,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2827, + "id": 4433, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16805:7:9", + "src": "16805:7:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -73511,21 +92486,21 @@ "visibility": "internal" } ], - "src": "16767:50:9" + "src": "16767:50:22" }, "returnParameters": { - "id": 2832, + "id": 4438, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2831, + "id": 4437, "mutability": "mutable", "name": "result", - "nameLocation": "16878:6:9", + "nameLocation": "16878:6:22", "nodeType": "VariableDeclaration", - "scope": 2835, - "src": "16865:19:9", + "scope": 4441, + "src": "16865:19:22", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -73533,10 +92508,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2830, + "id": 4436, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "16865:5:9", + "src": "16865:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -73545,34 +92520,34 @@ "visibility": "internal" } ], - "src": "16864:21:9" + "src": "16864:21:22" }, - "scope": 3078, - "src": "16753:1115:9", + "scope": 4684, + "src": "16753:1115:22", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 2857, + "id": 4463, "nodeType": "Block", - "src": "18118:66:9", + "src": "18118:66:22", "statements": [ { "expression": { - "id": 2855, + "id": 4461, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 2845, + "id": 4451, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2843, - "src": "18128:6:9", + "referencedDeclaration": 4449, + "src": "18128:6:22", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -73583,24 +92558,24 @@ "rightHandSide": { "arguments": [ { - "id": 2847, + "id": 4453, "name": "subject", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2838, - "src": "18143:7:9", + "referencedDeclaration": 4444, + "src": "18143:7:22", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { - "id": 2848, + "id": 4454, "name": "start", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2840, - "src": "18152:5:9", + "referencedDeclaration": 4446, + "src": "18152:5:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -73610,22 +92585,22 @@ "expression": { "arguments": [ { - "id": 2851, + "id": 4457, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "18164:7:9", + "src": "18164:7:22", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 2850, + "id": 4456, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18164:7:9", + "src": "18164:7:22", "typeDescriptions": {} } } @@ -73637,18 +92612,18 @@ "typeString": "type(uint256)" } ], - "id": 2849, + "id": 4455, "name": "type", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -27, - "src": "18159:4:9", + "src": "18159:4:22", "typeDescriptions": { "typeIdentifier": "t_function_metatype_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 2852, + "id": 4458, "isConstant": false, "isLValue": false, "isPure": true, @@ -73657,22 +92632,22 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "18159:13:9", + "src": "18159:13:22", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_magic_meta_type_t_uint256", "typeString": "type(uint256)" } }, - "id": 2853, + "id": 4459, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "18173:3:9", + "memberLocation": "18173:3:22", "memberName": "max", "nodeType": "MemberAccess", - "src": "18159:17:9", + "src": "18159:17:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -73694,21 +92669,21 @@ "typeString": "uint256" } ], - "id": 2846, + "id": 4452, "name": "slice", "nodeType": "Identifier", "overloadedDeclarations": [ - 2835, - 2858 + 4441, + 4464 ], - "referencedDeclaration": 2835, - "src": "18137:5:9", + "referencedDeclaration": 4441, + "src": "18137:5:22", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$", "typeString": "function (bytes memory,uint256,uint256) pure returns (bytes memory)" } }, - "id": 2854, + "id": 4460, "isConstant": false, "isLValue": false, "isPure": false, @@ -73717,51 +92692,51 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "18137:40:9", + "src": "18137:40:22", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "src": "18128:49:9", + "src": "18128:49:22", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 2856, + "id": 4462, "nodeType": "ExpressionStatement", - "src": "18128:49:9" + "src": "18128:49:22" } ] }, "documentation": { - "id": 2836, + "id": 4442, "nodeType": "StructuredDocumentation", - "src": "17874:115:9", + "src": "17874:115:22", "text": "@dev Returns a copy of `subject` sliced from `start` to the end of the bytes.\n `start` is a byte offset." }, - "id": 2858, + "id": 4464, "implemented": true, "kind": "function", "modifiers": [], "name": "slice", - "nameLocation": "18003:5:9", + "nameLocation": "18003:5:22", "nodeType": "FunctionDefinition", "parameters": { - "id": 2841, + "id": 4447, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2838, + "id": 4444, "mutability": "mutable", "name": "subject", - "nameLocation": "18022:7:9", + "nameLocation": "18022:7:22", "nodeType": "VariableDeclaration", - "scope": 2858, - "src": "18009:20:9", + "scope": 4464, + "src": "18009:20:22", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -73769,10 +92744,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2837, + "id": 4443, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "18009:5:9", + "src": "18009:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -73782,13 +92757,13 @@ }, { "constant": false, - "id": 2840, + "id": 4446, "mutability": "mutable", "name": "start", - "nameLocation": "18039:5:9", + "nameLocation": "18039:5:22", "nodeType": "VariableDeclaration", - "scope": 2858, - "src": "18031:13:9", + "scope": 4464, + "src": "18031:13:22", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -73796,10 +92771,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2839, + "id": 4445, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18031:7:9", + "src": "18031:7:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -73808,21 +92783,21 @@ "visibility": "internal" } ], - "src": "18008:37:9" + "src": "18008:37:22" }, "returnParameters": { - "id": 2844, + "id": 4450, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2843, + "id": 4449, "mutability": "mutable", "name": "result", - "nameLocation": "18106:6:9", + "nameLocation": "18106:6:22", "nodeType": "VariableDeclaration", - "scope": 2858, - "src": "18093:19:9", + "scope": 4464, + "src": "18093:19:22", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -73830,10 +92805,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2842, + "id": 4448, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "18093:5:9", + "src": "18093:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -73842,37 +92817,37 @@ "visibility": "internal" } ], - "src": "18092:21:9" + "src": "18092:21:22" }, - "scope": 3078, - "src": "17994:190:9", + "scope": 4684, + "src": "17994:190:22", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 2871, + "id": 4477, "nodeType": "Block", - "src": "18505:377:9", + "src": "18505:377:22", "statements": [ { "AST": { - "nativeSrc": "18567:309:9", + "nativeSrc": "18567:309:22", "nodeType": "YulBlock", - "src": "18567:309:9", + "src": "18567:309:22", "statements": [ { - "nativeSrc": "18581:71:9", + "nativeSrc": "18581:71:22", "nodeType": "YulAssignment", - "src": "18581:71:9", + "src": "18581:71:22", "value": { "arguments": [ { "name": "end", - "nativeSrc": "18592:3:9", + "nativeSrc": "18592:3:22", "nodeType": "YulIdentifier", - "src": "18592:3:9" + "src": "18592:3:22" }, { "arguments": [ @@ -73880,94 +92855,94 @@ "arguments": [ { "name": "end", - "nativeSrc": "18605:3:9", + "nativeSrc": "18605:3:22", "nodeType": "YulIdentifier", - "src": "18605:3:9" + "src": "18605:3:22" }, { "name": "subject.length", - "nativeSrc": "18610:14:9", + "nativeSrc": "18610:14:22", "nodeType": "YulIdentifier", - "src": "18610:14:9" + "src": "18610:14:22" } ], "functionName": { "name": "xor", - "nativeSrc": "18601:3:9", + "nativeSrc": "18601:3:22", "nodeType": "YulIdentifier", - "src": "18601:3:9" + "src": "18601:3:22" }, - "nativeSrc": "18601:24:9", + "nativeSrc": "18601:24:22", "nodeType": "YulFunctionCall", - "src": "18601:24:9" + "src": "18601:24:22" }, { "arguments": [ { "name": "subject.length", - "nativeSrc": "18630:14:9", + "nativeSrc": "18630:14:22", "nodeType": "YulIdentifier", - "src": "18630:14:9" + "src": "18630:14:22" }, { "name": "end", - "nativeSrc": "18646:3:9", + "nativeSrc": "18646:3:22", "nodeType": "YulIdentifier", - "src": "18646:3:9" + "src": "18646:3:22" } ], "functionName": { "name": "lt", - "nativeSrc": "18627:2:9", + "nativeSrc": "18627:2:22", "nodeType": "YulIdentifier", - "src": "18627:2:9" + "src": "18627:2:22" }, - "nativeSrc": "18627:23:9", + "nativeSrc": "18627:23:22", "nodeType": "YulFunctionCall", - "src": "18627:23:9" + "src": "18627:23:22" } ], "functionName": { "name": "mul", - "nativeSrc": "18597:3:9", + "nativeSrc": "18597:3:22", "nodeType": "YulIdentifier", - "src": "18597:3:9" + "src": "18597:3:22" }, - "nativeSrc": "18597:54:9", + "nativeSrc": "18597:54:22", "nodeType": "YulFunctionCall", - "src": "18597:54:9" + "src": "18597:54:22" } ], "functionName": { "name": "xor", - "nativeSrc": "18588:3:9", + "nativeSrc": "18588:3:22", "nodeType": "YulIdentifier", - "src": "18588:3:9" + "src": "18588:3:22" }, - "nativeSrc": "18588:64:9", + "nativeSrc": "18588:64:22", "nodeType": "YulFunctionCall", - "src": "18588:64:9" + "src": "18588:64:22" }, "variableNames": [ { "name": "end", - "nativeSrc": "18581:3:9", + "nativeSrc": "18581:3:22", "nodeType": "YulIdentifier", - "src": "18581:3:9" + "src": "18581:3:22" } ] }, { - "nativeSrc": "18665:79:9", + "nativeSrc": "18665:79:22", "nodeType": "YulAssignment", - "src": "18665:79:9", + "src": "18665:79:22", "value": { "arguments": [ { "name": "start", - "nativeSrc": "18678:5:9", + "nativeSrc": "18678:5:22", "nodeType": "YulIdentifier", - "src": "18678:5:9" + "src": "18678:5:22" }, { "arguments": [ @@ -73975,194 +92950,194 @@ "arguments": [ { "name": "start", - "nativeSrc": "18693:5:9", + "nativeSrc": "18693:5:22", "nodeType": "YulIdentifier", - "src": "18693:5:9" + "src": "18693:5:22" }, { "name": "subject.length", - "nativeSrc": "18700:14:9", + "nativeSrc": "18700:14:22", "nodeType": "YulIdentifier", - "src": "18700:14:9" + "src": "18700:14:22" } ], "functionName": { "name": "xor", - "nativeSrc": "18689:3:9", + "nativeSrc": "18689:3:22", "nodeType": "YulIdentifier", - "src": "18689:3:9" + "src": "18689:3:22" }, - "nativeSrc": "18689:26:9", + "nativeSrc": "18689:26:22", "nodeType": "YulFunctionCall", - "src": "18689:26:9" + "src": "18689:26:22" }, { "arguments": [ { "name": "subject.length", - "nativeSrc": "18720:14:9", + "nativeSrc": "18720:14:22", "nodeType": "YulIdentifier", - "src": "18720:14:9" + "src": "18720:14:22" }, { "name": "start", - "nativeSrc": "18736:5:9", + "nativeSrc": "18736:5:22", "nodeType": "YulIdentifier", - "src": "18736:5:9" + "src": "18736:5:22" } ], "functionName": { "name": "lt", - "nativeSrc": "18717:2:9", + "nativeSrc": "18717:2:22", "nodeType": "YulIdentifier", - "src": "18717:2:9" + "src": "18717:2:22" }, - "nativeSrc": "18717:25:9", + "nativeSrc": "18717:25:22", "nodeType": "YulFunctionCall", - "src": "18717:25:9" + "src": "18717:25:22" } ], "functionName": { "name": "mul", - "nativeSrc": "18685:3:9", + "nativeSrc": "18685:3:22", "nodeType": "YulIdentifier", - "src": "18685:3:9" + "src": "18685:3:22" }, - "nativeSrc": "18685:58:9", + "nativeSrc": "18685:58:22", "nodeType": "YulFunctionCall", - "src": "18685:58:9" + "src": "18685:58:22" } ], "functionName": { "name": "xor", - "nativeSrc": "18674:3:9", + "nativeSrc": "18674:3:22", "nodeType": "YulIdentifier", - "src": "18674:3:9" + "src": "18674:3:22" }, - "nativeSrc": "18674:70:9", + "nativeSrc": "18674:70:22", "nodeType": "YulFunctionCall", - "src": "18674:70:9" + "src": "18674:70:22" }, "variableNames": [ { "name": "start", - "nativeSrc": "18665:5:9", + "nativeSrc": "18665:5:22", "nodeType": "YulIdentifier", - "src": "18665:5:9" + "src": "18665:5:22" } ] }, { - "nativeSrc": "18757:43:9", + "nativeSrc": "18757:43:22", "nodeType": "YulAssignment", - "src": "18757:43:9", + "src": "18757:43:22", "value": { "arguments": [ { "name": "subject.offset", - "nativeSrc": "18778:14:9", + "nativeSrc": "18778:14:22", "nodeType": "YulIdentifier", - "src": "18778:14:9" + "src": "18778:14:22" }, { "name": "start", - "nativeSrc": "18794:5:9", + "nativeSrc": "18794:5:22", "nodeType": "YulIdentifier", - "src": "18794:5:9" + "src": "18794:5:22" } ], "functionName": { "name": "add", - "nativeSrc": "18774:3:9", + "nativeSrc": "18774:3:22", "nodeType": "YulIdentifier", - "src": "18774:3:9" + "src": "18774:3:22" }, - "nativeSrc": "18774:26:9", + "nativeSrc": "18774:26:22", "nodeType": "YulFunctionCall", - "src": "18774:26:9" + "src": "18774:26:22" }, "variableNames": [ { "name": "result.offset", - "nativeSrc": "18757:13:9", + "nativeSrc": "18757:13:22", "nodeType": "YulIdentifier", - "src": "18757:13:9" + "src": "18757:13:22" } ] }, { - "nativeSrc": "18813:53:9", + "nativeSrc": "18813:53:22", "nodeType": "YulAssignment", - "src": "18813:53:9", + "src": "18813:53:22", "value": { "arguments": [ { "arguments": [ { "name": "start", - "nativeSrc": "18837:5:9", + "nativeSrc": "18837:5:22", "nodeType": "YulIdentifier", - "src": "18837:5:9" + "src": "18837:5:22" }, { "name": "end", - "nativeSrc": "18844:3:9", + "nativeSrc": "18844:3:22", "nodeType": "YulIdentifier", - "src": "18844:3:9" + "src": "18844:3:22" } ], "functionName": { "name": "lt", - "nativeSrc": "18834:2:9", + "nativeSrc": "18834:2:22", "nodeType": "YulIdentifier", - "src": "18834:2:9" + "src": "18834:2:22" }, - "nativeSrc": "18834:14:9", + "nativeSrc": "18834:14:22", "nodeType": "YulFunctionCall", - "src": "18834:14:9" + "src": "18834:14:22" }, { "arguments": [ { "name": "end", - "nativeSrc": "18854:3:9", + "nativeSrc": "18854:3:22", "nodeType": "YulIdentifier", - "src": "18854:3:9" + "src": "18854:3:22" }, { "name": "start", - "nativeSrc": "18859:5:9", + "nativeSrc": "18859:5:22", "nodeType": "YulIdentifier", - "src": "18859:5:9" + "src": "18859:5:22" } ], "functionName": { "name": "sub", - "nativeSrc": "18850:3:9", + "nativeSrc": "18850:3:22", "nodeType": "YulIdentifier", - "src": "18850:3:9" + "src": "18850:3:22" }, - "nativeSrc": "18850:15:9", + "nativeSrc": "18850:15:22", "nodeType": "YulFunctionCall", - "src": "18850:15:9" + "src": "18850:15:22" } ], "functionName": { "name": "mul", - "nativeSrc": "18830:3:9", + "nativeSrc": "18830:3:22", "nodeType": "YulIdentifier", - "src": "18830:3:9" + "src": "18830:3:22" }, - "nativeSrc": "18830:36:9", + "nativeSrc": "18830:36:22", "nodeType": "YulFunctionCall", - "src": "18830:36:9" + "src": "18830:36:22" }, "variableNames": [ { "name": "result.length", - "nativeSrc": "18813:13:9", + "nativeSrc": "18813:13:22", "nodeType": "YulIdentifier", - "src": "18813:13:9" + "src": "18813:13:22" } ] } @@ -74172,185 +93147,185 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2865, + "declaration": 4471, "isOffset": false, "isSlot": false, - "src": "18581:3:9", + "src": "18581:3:22", "valueSize": 1 }, { - "declaration": 2865, + "declaration": 4471, "isOffset": false, "isSlot": false, - "src": "18592:3:9", + "src": "18592:3:22", "valueSize": 1 }, { - "declaration": 2865, + "declaration": 4471, "isOffset": false, "isSlot": false, - "src": "18605:3:9", + "src": "18605:3:22", "valueSize": 1 }, { - "declaration": 2865, + "declaration": 4471, "isOffset": false, "isSlot": false, - "src": "18646:3:9", + "src": "18646:3:22", "valueSize": 1 }, { - "declaration": 2865, + "declaration": 4471, "isOffset": false, "isSlot": false, - "src": "18844:3:9", + "src": "18844:3:22", "valueSize": 1 }, { - "declaration": 2865, + "declaration": 4471, "isOffset": false, "isSlot": false, - "src": "18854:3:9", + "src": "18854:3:22", "valueSize": 1 }, { - "declaration": 2868, + "declaration": 4474, "isOffset": false, "isSlot": false, - "src": "18813:13:9", + "src": "18813:13:22", "suffix": "length", "valueSize": 1 }, { - "declaration": 2868, + "declaration": 4474, "isOffset": true, "isSlot": false, - "src": "18757:13:9", + "src": "18757:13:22", "suffix": "offset", "valueSize": 1 }, { - "declaration": 2863, + "declaration": 4469, "isOffset": false, "isSlot": false, - "src": "18665:5:9", + "src": "18665:5:22", "valueSize": 1 }, { - "declaration": 2863, + "declaration": 4469, "isOffset": false, "isSlot": false, - "src": "18678:5:9", + "src": "18678:5:22", "valueSize": 1 }, { - "declaration": 2863, + "declaration": 4469, "isOffset": false, "isSlot": false, - "src": "18693:5:9", + "src": "18693:5:22", "valueSize": 1 }, { - "declaration": 2863, + "declaration": 4469, "isOffset": false, "isSlot": false, - "src": "18736:5:9", + "src": "18736:5:22", "valueSize": 1 }, { - "declaration": 2863, + "declaration": 4469, "isOffset": false, "isSlot": false, - "src": "18794:5:9", + "src": "18794:5:22", "valueSize": 1 }, { - "declaration": 2863, + "declaration": 4469, "isOffset": false, "isSlot": false, - "src": "18837:5:9", + "src": "18837:5:22", "valueSize": 1 }, { - "declaration": 2863, + "declaration": 4469, "isOffset": false, "isSlot": false, - "src": "18859:5:9", + "src": "18859:5:22", "valueSize": 1 }, { - "declaration": 2861, + "declaration": 4467, "isOffset": false, "isSlot": false, - "src": "18610:14:9", + "src": "18610:14:22", "suffix": "length", "valueSize": 1 }, { - "declaration": 2861, + "declaration": 4467, "isOffset": false, "isSlot": false, - "src": "18630:14:9", + "src": "18630:14:22", "suffix": "length", "valueSize": 1 }, { - "declaration": 2861, + "declaration": 4467, "isOffset": false, "isSlot": false, - "src": "18700:14:9", + "src": "18700:14:22", "suffix": "length", "valueSize": 1 }, { - "declaration": 2861, + "declaration": 4467, "isOffset": false, "isSlot": false, - "src": "18720:14:9", + "src": "18720:14:22", "suffix": "length", "valueSize": 1 }, { - "declaration": 2861, + "declaration": 4467, "isOffset": true, "isSlot": false, - "src": "18778:14:9", + "src": "18778:14:22", "suffix": "offset", "valueSize": 1 } ], - "id": 2870, + "id": 4476, "nodeType": "InlineAssembly", - "src": "18558:318:9" + "src": "18558:318:22" } ] }, "documentation": { - "id": 2859, + "id": 4465, "nodeType": "StructuredDocumentation", - "src": "18190:161:9", + "src": "18190:161:22", "text": "@dev Returns a copy of `subject` sliced from `start` to `end` (exclusive).\n `start` and `end` are byte offsets. Faster than Solidity's native slicing." }, - "id": 2872, + "id": 4478, "implemented": true, "kind": "function", "modifiers": [], "name": "sliceCalldata", - "nameLocation": "18365:13:9", + "nameLocation": "18365:13:22", "nodeType": "FunctionDefinition", "parameters": { - "id": 2866, + "id": 4472, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2861, + "id": 4467, "mutability": "mutable", "name": "subject", - "nameLocation": "18394:7:9", + "nameLocation": "18394:7:22", "nodeType": "VariableDeclaration", - "scope": 2872, - "src": "18379:22:9", + "scope": 4478, + "src": "18379:22:22", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -74358,10 +93333,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2860, + "id": 4466, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "18379:5:9", + "src": "18379:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -74371,13 +93346,13 @@ }, { "constant": false, - "id": 2863, + "id": 4469, "mutability": "mutable", "name": "start", - "nameLocation": "18411:5:9", + "nameLocation": "18411:5:22", "nodeType": "VariableDeclaration", - "scope": 2872, - "src": "18403:13:9", + "scope": 4478, + "src": "18403:13:22", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -74385,10 +93360,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2862, + "id": 4468, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18403:7:9", + "src": "18403:7:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -74398,13 +93373,13 @@ }, { "constant": false, - "id": 2865, + "id": 4471, "mutability": "mutable", "name": "end", - "nameLocation": "18426:3:9", + "nameLocation": "18426:3:22", "nodeType": "VariableDeclaration", - "scope": 2872, - "src": "18418:11:9", + "scope": 4478, + "src": "18418:11:22", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -74412,10 +93387,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2864, + "id": 4470, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18418:7:9", + "src": "18418:7:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -74424,21 +93399,21 @@ "visibility": "internal" } ], - "src": "18378:52:9" + "src": "18378:52:22" }, "returnParameters": { - "id": 2869, + "id": 4475, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2868, + "id": 4474, "mutability": "mutable", "name": "result", - "nameLocation": "18493:6:9", + "nameLocation": "18493:6:22", "nodeType": "VariableDeclaration", - "scope": 2872, - "src": "18478:21:9", + "scope": 4478, + "src": "18478:21:22", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -74446,10 +93421,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2867, + "id": 4473, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "18478:5:9", + "src": "18478:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -74458,37 +93433,37 @@ "visibility": "internal" } ], - "src": "18477:23:9" + "src": "18477:23:22" }, - "scope": 3078, - "src": "18356:526:9", + "scope": 4684, + "src": "18356:526:22", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 2883, + "id": 4489, "nodeType": "Block", - "src": "19183:315:9", + "src": "19183:315:22", "statements": [ { "AST": { - "nativeSrc": "19245:247:9", + "nativeSrc": "19245:247:22", "nodeType": "YulBlock", - "src": "19245:247:9", + "src": "19245:247:22", "statements": [ { - "nativeSrc": "19259:79:9", + "nativeSrc": "19259:79:22", "nodeType": "YulAssignment", - "src": "19259:79:9", + "src": "19259:79:22", "value": { "arguments": [ { "name": "start", - "nativeSrc": "19272:5:9", + "nativeSrc": "19272:5:22", "nodeType": "YulIdentifier", - "src": "19272:5:9" + "src": "19272:5:22" }, { "arguments": [ @@ -74496,194 +93471,194 @@ "arguments": [ { "name": "start", - "nativeSrc": "19287:5:9", + "nativeSrc": "19287:5:22", "nodeType": "YulIdentifier", - "src": "19287:5:9" + "src": "19287:5:22" }, { "name": "subject.length", - "nativeSrc": "19294:14:9", + "nativeSrc": "19294:14:22", "nodeType": "YulIdentifier", - "src": "19294:14:9" + "src": "19294:14:22" } ], "functionName": { "name": "xor", - "nativeSrc": "19283:3:9", + "nativeSrc": "19283:3:22", "nodeType": "YulIdentifier", - "src": "19283:3:9" + "src": "19283:3:22" }, - "nativeSrc": "19283:26:9", + "nativeSrc": "19283:26:22", "nodeType": "YulFunctionCall", - "src": "19283:26:9" + "src": "19283:26:22" }, { "arguments": [ { "name": "subject.length", - "nativeSrc": "19314:14:9", + "nativeSrc": "19314:14:22", "nodeType": "YulIdentifier", - "src": "19314:14:9" + "src": "19314:14:22" }, { "name": "start", - "nativeSrc": "19330:5:9", + "nativeSrc": "19330:5:22", "nodeType": "YulIdentifier", - "src": "19330:5:9" + "src": "19330:5:22" } ], "functionName": { "name": "lt", - "nativeSrc": "19311:2:9", + "nativeSrc": "19311:2:22", "nodeType": "YulIdentifier", - "src": "19311:2:9" + "src": "19311:2:22" }, - "nativeSrc": "19311:25:9", + "nativeSrc": "19311:25:22", "nodeType": "YulFunctionCall", - "src": "19311:25:9" + "src": "19311:25:22" } ], "functionName": { "name": "mul", - "nativeSrc": "19279:3:9", + "nativeSrc": "19279:3:22", "nodeType": "YulIdentifier", - "src": "19279:3:9" + "src": "19279:3:22" }, - "nativeSrc": "19279:58:9", + "nativeSrc": "19279:58:22", "nodeType": "YulFunctionCall", - "src": "19279:58:9" + "src": "19279:58:22" } ], "functionName": { "name": "xor", - "nativeSrc": "19268:3:9", + "nativeSrc": "19268:3:22", "nodeType": "YulIdentifier", - "src": "19268:3:9" + "src": "19268:3:22" }, - "nativeSrc": "19268:70:9", + "nativeSrc": "19268:70:22", "nodeType": "YulFunctionCall", - "src": "19268:70:9" + "src": "19268:70:22" }, "variableNames": [ { "name": "start", - "nativeSrc": "19259:5:9", + "nativeSrc": "19259:5:22", "nodeType": "YulIdentifier", - "src": "19259:5:9" + "src": "19259:5:22" } ] }, { - "nativeSrc": "19351:43:9", + "nativeSrc": "19351:43:22", "nodeType": "YulAssignment", - "src": "19351:43:9", + "src": "19351:43:22", "value": { "arguments": [ { "name": "subject.offset", - "nativeSrc": "19372:14:9", + "nativeSrc": "19372:14:22", "nodeType": "YulIdentifier", - "src": "19372:14:9" + "src": "19372:14:22" }, { "name": "start", - "nativeSrc": "19388:5:9", + "nativeSrc": "19388:5:22", "nodeType": "YulIdentifier", - "src": "19388:5:9" + "src": "19388:5:22" } ], "functionName": { "name": "add", - "nativeSrc": "19368:3:9", + "nativeSrc": "19368:3:22", "nodeType": "YulIdentifier", - "src": "19368:3:9" + "src": "19368:3:22" }, - "nativeSrc": "19368:26:9", + "nativeSrc": "19368:26:22", "nodeType": "YulFunctionCall", - "src": "19368:26:9" + "src": "19368:26:22" }, "variableNames": [ { "name": "result.offset", - "nativeSrc": "19351:13:9", + "nativeSrc": "19351:13:22", "nodeType": "YulIdentifier", - "src": "19351:13:9" + "src": "19351:13:22" } ] }, { - "nativeSrc": "19407:75:9", + "nativeSrc": "19407:75:22", "nodeType": "YulAssignment", - "src": "19407:75:9", + "src": "19407:75:22", "value": { "arguments": [ { "arguments": [ { "name": "start", - "nativeSrc": "19431:5:9", + "nativeSrc": "19431:5:22", "nodeType": "YulIdentifier", - "src": "19431:5:9" + "src": "19431:5:22" }, { "name": "subject.length", - "nativeSrc": "19438:14:9", + "nativeSrc": "19438:14:22", "nodeType": "YulIdentifier", - "src": "19438:14:9" + "src": "19438:14:22" } ], "functionName": { "name": "lt", - "nativeSrc": "19428:2:9", + "nativeSrc": "19428:2:22", "nodeType": "YulIdentifier", - "src": "19428:2:9" + "src": "19428:2:22" }, - "nativeSrc": "19428:25:9", + "nativeSrc": "19428:25:22", "nodeType": "YulFunctionCall", - "src": "19428:25:9" + "src": "19428:25:22" }, { "arguments": [ { "name": "subject.length", - "nativeSrc": "19459:14:9", + "nativeSrc": "19459:14:22", "nodeType": "YulIdentifier", - "src": "19459:14:9" + "src": "19459:14:22" }, { "name": "start", - "nativeSrc": "19475:5:9", + "nativeSrc": "19475:5:22", "nodeType": "YulIdentifier", - "src": "19475:5:9" + "src": "19475:5:22" } ], "functionName": { "name": "sub", - "nativeSrc": "19455:3:9", + "nativeSrc": "19455:3:22", "nodeType": "YulIdentifier", - "src": "19455:3:9" + "src": "19455:3:22" }, - "nativeSrc": "19455:26:9", + "nativeSrc": "19455:26:22", "nodeType": "YulFunctionCall", - "src": "19455:26:9" + "src": "19455:26:22" } ], "functionName": { "name": "mul", - "nativeSrc": "19424:3:9", + "nativeSrc": "19424:3:22", "nodeType": "YulIdentifier", - "src": "19424:3:9" + "src": "19424:3:22" }, - "nativeSrc": "19424:58:9", + "nativeSrc": "19424:58:22", "nodeType": "YulFunctionCall", - "src": "19424:58:9" + "src": "19424:58:22" }, "variableNames": [ { "name": "result.length", - "nativeSrc": "19407:13:9", + "nativeSrc": "19407:13:22", "nodeType": "YulIdentifier", - "src": "19407:13:9" + "src": "19407:13:22" } ] } @@ -74693,143 +93668,143 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2880, + "declaration": 4486, "isOffset": false, "isSlot": false, - "src": "19407:13:9", + "src": "19407:13:22", "suffix": "length", "valueSize": 1 }, { - "declaration": 2880, + "declaration": 4486, "isOffset": true, "isSlot": false, - "src": "19351:13:9", + "src": "19351:13:22", "suffix": "offset", "valueSize": 1 }, { - "declaration": 2877, + "declaration": 4483, "isOffset": false, "isSlot": false, - "src": "19259:5:9", + "src": "19259:5:22", "valueSize": 1 }, { - "declaration": 2877, + "declaration": 4483, "isOffset": false, "isSlot": false, - "src": "19272:5:9", + "src": "19272:5:22", "valueSize": 1 }, { - "declaration": 2877, + "declaration": 4483, "isOffset": false, "isSlot": false, - "src": "19287:5:9", + "src": "19287:5:22", "valueSize": 1 }, { - "declaration": 2877, + "declaration": 4483, "isOffset": false, "isSlot": false, - "src": "19330:5:9", + "src": "19330:5:22", "valueSize": 1 }, { - "declaration": 2877, + "declaration": 4483, "isOffset": false, "isSlot": false, - "src": "19388:5:9", + "src": "19388:5:22", "valueSize": 1 }, { - "declaration": 2877, + "declaration": 4483, "isOffset": false, "isSlot": false, - "src": "19431:5:9", + "src": "19431:5:22", "valueSize": 1 }, { - "declaration": 2877, + "declaration": 4483, "isOffset": false, "isSlot": false, - "src": "19475:5:9", + "src": "19475:5:22", "valueSize": 1 }, { - "declaration": 2875, + "declaration": 4481, "isOffset": false, "isSlot": false, - "src": "19294:14:9", + "src": "19294:14:22", "suffix": "length", "valueSize": 1 }, { - "declaration": 2875, + "declaration": 4481, "isOffset": false, "isSlot": false, - "src": "19314:14:9", + "src": "19314:14:22", "suffix": "length", "valueSize": 1 }, { - "declaration": 2875, + "declaration": 4481, "isOffset": false, "isSlot": false, - "src": "19438:14:9", + "src": "19438:14:22", "suffix": "length", "valueSize": 1 }, { - "declaration": 2875, + "declaration": 4481, "isOffset": false, "isSlot": false, - "src": "19459:14:9", + "src": "19459:14:22", "suffix": "length", "valueSize": 1 }, { - "declaration": 2875, + "declaration": 4481, "isOffset": true, "isSlot": false, - "src": "19372:14:9", + "src": "19372:14:22", "suffix": "offset", "valueSize": 1 } ], - "id": 2882, + "id": 4488, "nodeType": "InlineAssembly", - "src": "19236:256:9" + "src": "19236:256:22" } ] }, "documentation": { - "id": 2873, + "id": 4479, "nodeType": "StructuredDocumentation", - "src": "18888:154:9", + "src": "18888:154:22", "text": "@dev Returns a copy of `subject` sliced from `start` to the end of the bytes.\n `start` is a byte offset. Faster than Solidity's native slicing." }, - "id": 2884, + "id": 4490, "implemented": true, "kind": "function", "modifiers": [], "name": "sliceCalldata", - "nameLocation": "19056:13:9", + "nameLocation": "19056:13:22", "nodeType": "FunctionDefinition", "parameters": { - "id": 2878, + "id": 4484, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2875, + "id": 4481, "mutability": "mutable", "name": "subject", - "nameLocation": "19085:7:9", + "nameLocation": "19085:7:22", "nodeType": "VariableDeclaration", - "scope": 2884, - "src": "19070:22:9", + "scope": 4490, + "src": "19070:22:22", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -74837,10 +93812,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2874, + "id": 4480, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "19070:5:9", + "src": "19070:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -74850,13 +93825,13 @@ }, { "constant": false, - "id": 2877, + "id": 4483, "mutability": "mutable", "name": "start", - "nameLocation": "19102:5:9", + "nameLocation": "19102:5:22", "nodeType": "VariableDeclaration", - "scope": 2884, - "src": "19094:13:9", + "scope": 4490, + "src": "19094:13:22", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -74864,10 +93839,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2876, + "id": 4482, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "19094:7:9", + "src": "19094:7:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -74876,21 +93851,21 @@ "visibility": "internal" } ], - "src": "19069:39:9" + "src": "19069:39:22" }, "returnParameters": { - "id": 2881, + "id": 4487, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2880, + "id": 4486, "mutability": "mutable", "name": "result", - "nameLocation": "19171:6:9", + "nameLocation": "19171:6:22", "nodeType": "VariableDeclaration", - "scope": 2884, - "src": "19156:21:9", + "scope": 4490, + "src": "19156:21:22", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -74898,10 +93873,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2879, + "id": 4485, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "19156:5:9", + "src": "19156:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -74910,42 +93885,42 @@ "visibility": "internal" } ], - "src": "19155:23:9" + "src": "19155:23:22" }, - "scope": 3078, - "src": "19047:451:9", + "scope": 4684, + "src": "19047:451:22", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 2895, + "id": 4501, "nodeType": "Block", - "src": "19754:166:9", + "src": "19754:166:22", "statements": [ { "AST": { - "nativeSrc": "19816:98:9", + "nativeSrc": "19816:98:22", "nodeType": "YulBlock", - "src": "19816:98:9", + "src": "19816:98:22", "statements": [ { - "nativeSrc": "19830:17:9", + "nativeSrc": "19830:17:22", "nodeType": "YulAssignment", - "src": "19830:17:9", + "src": "19830:17:22", "value": { "name": "subject", - "nativeSrc": "19840:7:9", + "nativeSrc": "19840:7:22", "nodeType": "YulIdentifier", - "src": "19840:7:9" + "src": "19840:7:22" }, "variableNames": [ { "name": "result", - "nativeSrc": "19830:6:9", + "nativeSrc": "19830:6:22", "nodeType": "YulIdentifier", - "src": "19830:6:9" + "src": "19830:6:22" } ] }, @@ -74958,77 +93933,77 @@ "arguments": [ { "name": "n", - "nativeSrc": "19874:1:9", + "nativeSrc": "19874:1:22", "nodeType": "YulIdentifier", - "src": "19874:1:9" + "src": "19874:1:22" }, { "arguments": [ { "name": "result", - "nativeSrc": "19883:6:9", + "nativeSrc": "19883:6:22", "nodeType": "YulIdentifier", - "src": "19883:6:9" + "src": "19883:6:22" } ], "functionName": { "name": "mload", - "nativeSrc": "19877:5:9", + "nativeSrc": "19877:5:22", "nodeType": "YulIdentifier", - "src": "19877:5:9" + "src": "19877:5:22" }, - "nativeSrc": "19877:13:9", + "nativeSrc": "19877:13:22", "nodeType": "YulFunctionCall", - "src": "19877:13:9" + "src": "19877:13:22" } ], "functionName": { "name": "lt", - "nativeSrc": "19871:2:9", + "nativeSrc": "19871:2:22", "nodeType": "YulIdentifier", - "src": "19871:2:9" + "src": "19871:2:22" }, - "nativeSrc": "19871:20:9", + "nativeSrc": "19871:20:22", "nodeType": "YulFunctionCall", - "src": "19871:20:9" + "src": "19871:20:22" }, { "name": "result", - "nativeSrc": "19893:6:9", + "nativeSrc": "19893:6:22", "nodeType": "YulIdentifier", - "src": "19893:6:9" + "src": "19893:6:22" } ], "functionName": { "name": "mul", - "nativeSrc": "19867:3:9", + "nativeSrc": "19867:3:22", "nodeType": "YulIdentifier", - "src": "19867:3:9" + "src": "19867:3:22" }, - "nativeSrc": "19867:33:9", + "nativeSrc": "19867:33:22", "nodeType": "YulFunctionCall", - "src": "19867:33:9" + "src": "19867:33:22" }, { "name": "n", - "nativeSrc": "19902:1:9", + "nativeSrc": "19902:1:22", "nodeType": "YulIdentifier", - "src": "19902:1:9" + "src": "19902:1:22" } ], "functionName": { "name": "mstore", - "nativeSrc": "19860:6:9", + "nativeSrc": "19860:6:22", "nodeType": "YulIdentifier", - "src": "19860:6:9" + "src": "19860:6:22" }, - "nativeSrc": "19860:44:9", + "nativeSrc": "19860:44:22", "nodeType": "YulFunctionCall", - "src": "19860:44:9" + "src": "19860:44:22" }, - "nativeSrc": "19860:44:9", + "nativeSrc": "19860:44:22", "nodeType": "YulExpressionStatement", - "src": "19860:44:9" + "src": "19860:44:22" } ] }, @@ -75036,80 +94011,80 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2889, + "declaration": 4495, "isOffset": false, "isSlot": false, - "src": "19874:1:9", + "src": "19874:1:22", "valueSize": 1 }, { - "declaration": 2889, + "declaration": 4495, "isOffset": false, "isSlot": false, - "src": "19902:1:9", + "src": "19902:1:22", "valueSize": 1 }, { - "declaration": 2892, + "declaration": 4498, "isOffset": false, "isSlot": false, - "src": "19830:6:9", + "src": "19830:6:22", "valueSize": 1 }, { - "declaration": 2892, + "declaration": 4498, "isOffset": false, "isSlot": false, - "src": "19883:6:9", + "src": "19883:6:22", "valueSize": 1 }, { - "declaration": 2892, + "declaration": 4498, "isOffset": false, "isSlot": false, - "src": "19893:6:9", + "src": "19893:6:22", "valueSize": 1 }, { - "declaration": 2887, + "declaration": 4493, "isOffset": false, "isSlot": false, - "src": "19840:7:9", + "src": "19840:7:22", "valueSize": 1 } ], - "id": 2894, + "id": 4500, "nodeType": "InlineAssembly", - "src": "19807:107:9" + "src": "19807:107:22" } ] }, "documentation": { - "id": 2885, + "id": 4491, "nodeType": "StructuredDocumentation", - "src": "19504:122:9", + "src": "19504:122:22", "text": "@dev Reduces the size of `subject` to `n`.\n If `n` is greater than the size of `subject`, this will be a no-op." }, - "id": 2896, + "id": 4502, "implemented": true, "kind": "function", "modifiers": [], "name": "truncate", - "nameLocation": "19640:8:9", + "nameLocation": "19640:8:22", "nodeType": "FunctionDefinition", "parameters": { - "id": 2890, + "id": 4496, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2887, + "id": 4493, "mutability": "mutable", "name": "subject", - "nameLocation": "19662:7:9", + "nameLocation": "19662:7:22", "nodeType": "VariableDeclaration", - "scope": 2896, - "src": "19649:20:9", + "scope": 4502, + "src": "19649:20:22", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -75117,10 +94092,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2886, + "id": 4492, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "19649:5:9", + "src": "19649:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -75130,13 +94105,13 @@ }, { "constant": false, - "id": 2889, + "id": 4495, "mutability": "mutable", "name": "n", - "nameLocation": "19679:1:9", + "nameLocation": "19679:1:22", "nodeType": "VariableDeclaration", - "scope": 2896, - "src": "19671:9:9", + "scope": 4502, + "src": "19671:9:22", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -75144,10 +94119,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2888, + "id": 4494, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "19671:7:9", + "src": "19671:7:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -75156,21 +94131,21 @@ "visibility": "internal" } ], - "src": "19648:33:9" + "src": "19648:33:22" }, "returnParameters": { - "id": 2893, + "id": 4499, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2892, + "id": 4498, "mutability": "mutable", "name": "result", - "nameLocation": "19742:6:9", + "nameLocation": "19742:6:22", "nodeType": "VariableDeclaration", - "scope": 2896, - "src": "19729:19:9", + "scope": 4502, + "src": "19729:19:22", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -75178,10 +94153,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2891, + "id": 4497, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "19729:5:9", + "src": "19729:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -75190,56 +94165,56 @@ "visibility": "internal" } ], - "src": "19728:21:9" + "src": "19728:21:22" }, - "scope": 3078, - "src": "19631:289:9", + "scope": 4684, + "src": "19631:289:22", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 2907, + "id": 4513, "nodeType": "Block", - "src": "20212:211:9", + "src": "20212:211:22", "statements": [ { "AST": { - "nativeSrc": "20274:143:9", + "nativeSrc": "20274:143:22", "nodeType": "YulBlock", - "src": "20274:143:9", + "src": "20274:143:22", "statements": [ { - "nativeSrc": "20288:31:9", + "nativeSrc": "20288:31:22", "nodeType": "YulAssignment", - "src": "20288:31:9", + "src": "20288:31:22", "value": { "name": "subject.offset", - "nativeSrc": "20305:14:9", + "nativeSrc": "20305:14:22", "nodeType": "YulIdentifier", - "src": "20305:14:9" + "src": "20305:14:22" }, "variableNames": [ { "name": "result.offset", - "nativeSrc": "20288:13:9", + "nativeSrc": "20288:13:22", "nodeType": "YulIdentifier", - "src": "20288:13:9" + "src": "20288:13:22" } ] }, { - "nativeSrc": "20332:75:9", + "nativeSrc": "20332:75:22", "nodeType": "YulAssignment", - "src": "20332:75:9", + "src": "20332:75:22", "value": { "arguments": [ { "name": "n", - "nativeSrc": "20353:1:9", + "nativeSrc": "20353:1:22", "nodeType": "YulIdentifier", - "src": "20353:1:9" + "src": "20353:1:22" }, { "arguments": [ @@ -75247,80 +94222,80 @@ "arguments": [ { "name": "n", - "nativeSrc": "20364:1:9", + "nativeSrc": "20364:1:22", "nodeType": "YulIdentifier", - "src": "20364:1:9" + "src": "20364:1:22" }, { "name": "subject.length", - "nativeSrc": "20367:14:9", + "nativeSrc": "20367:14:22", "nodeType": "YulIdentifier", - "src": "20367:14:9" + "src": "20367:14:22" } ], "functionName": { "name": "xor", - "nativeSrc": "20360:3:9", + "nativeSrc": "20360:3:22", "nodeType": "YulIdentifier", - "src": "20360:3:9" + "src": "20360:3:22" }, - "nativeSrc": "20360:22:9", + "nativeSrc": "20360:22:22", "nodeType": "YulFunctionCall", - "src": "20360:22:9" + "src": "20360:22:22" }, { "arguments": [ { "name": "subject.length", - "nativeSrc": "20387:14:9", + "nativeSrc": "20387:14:22", "nodeType": "YulIdentifier", - "src": "20387:14:9" + "src": "20387:14:22" }, { "name": "n", - "nativeSrc": "20403:1:9", + "nativeSrc": "20403:1:22", "nodeType": "YulIdentifier", - "src": "20403:1:9" + "src": "20403:1:22" } ], "functionName": { "name": "lt", - "nativeSrc": "20384:2:9", + "nativeSrc": "20384:2:22", "nodeType": "YulIdentifier", - "src": "20384:2:9" + "src": "20384:2:22" }, - "nativeSrc": "20384:21:9", + "nativeSrc": "20384:21:22", "nodeType": "YulFunctionCall", - "src": "20384:21:9" + "src": "20384:21:22" } ], "functionName": { "name": "mul", - "nativeSrc": "20356:3:9", + "nativeSrc": "20356:3:22", "nodeType": "YulIdentifier", - "src": "20356:3:9" + "src": "20356:3:22" }, - "nativeSrc": "20356:50:9", + "nativeSrc": "20356:50:22", "nodeType": "YulFunctionCall", - "src": "20356:50:9" + "src": "20356:50:22" } ], "functionName": { "name": "xor", - "nativeSrc": "20349:3:9", + "nativeSrc": "20349:3:22", "nodeType": "YulIdentifier", - "src": "20349:3:9" + "src": "20349:3:22" }, - "nativeSrc": "20349:58:9", + "nativeSrc": "20349:58:22", "nodeType": "YulFunctionCall", - "src": "20349:58:9" + "src": "20349:58:22" }, "variableNames": [ { "name": "result.length", - "nativeSrc": "20332:13:9", + "nativeSrc": "20332:13:22", "nodeType": "YulIdentifier", - "src": "20332:13:9" + "src": "20332:13:22" } ] } @@ -75330,99 +94305,99 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2901, + "declaration": 4507, "isOffset": false, "isSlot": false, - "src": "20353:1:9", + "src": "20353:1:22", "valueSize": 1 }, { - "declaration": 2901, + "declaration": 4507, "isOffset": false, "isSlot": false, - "src": "20364:1:9", + "src": "20364:1:22", "valueSize": 1 }, { - "declaration": 2901, + "declaration": 4507, "isOffset": false, "isSlot": false, - "src": "20403:1:9", + "src": "20403:1:22", "valueSize": 1 }, { - "declaration": 2904, + "declaration": 4510, "isOffset": false, "isSlot": false, - "src": "20332:13:9", + "src": "20332:13:22", "suffix": "length", "valueSize": 1 }, { - "declaration": 2904, + "declaration": 4510, "isOffset": true, "isSlot": false, - "src": "20288:13:9", + "src": "20288:13:22", "suffix": "offset", "valueSize": 1 }, { - "declaration": 2899, + "declaration": 4505, "isOffset": false, "isSlot": false, - "src": "20367:14:9", + "src": "20367:14:22", "suffix": "length", "valueSize": 1 }, { - "declaration": 2899, + "declaration": 4505, "isOffset": false, "isSlot": false, - "src": "20387:14:9", + "src": "20387:14:22", "suffix": "length", "valueSize": 1 }, { - "declaration": 2899, + "declaration": 4505, "isOffset": true, "isSlot": false, - "src": "20305:14:9", + "src": "20305:14:22", "suffix": "offset", "valueSize": 1 } ], - "id": 2906, + "id": 4512, "nodeType": "InlineAssembly", - "src": "20265:152:9" + "src": "20265:152:22" } ] }, "documentation": { - "id": 2897, + "id": 4503, "nodeType": "StructuredDocumentation", - "src": "19926:145:9", + "src": "19926:145:22", "text": "@dev Returns a copy of `subject`, with the length reduced to `n`.\n If `n` is greater than the size of `subject`, this will be a no-op." }, - "id": 2908, + "id": 4514, "implemented": true, "kind": "function", "modifiers": [], "name": "truncatedCalldata", - "nameLocation": "20085:17:9", + "nameLocation": "20085:17:22", "nodeType": "FunctionDefinition", "parameters": { - "id": 2902, + "id": 4508, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2899, + "id": 4505, "mutability": "mutable", "name": "subject", - "nameLocation": "20118:7:9", + "nameLocation": "20118:7:22", "nodeType": "VariableDeclaration", - "scope": 2908, - "src": "20103:22:9", + "scope": 4514, + "src": "20103:22:22", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -75430,10 +94405,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2898, + "id": 4504, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "20103:5:9", + "src": "20103:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -75443,13 +94418,13 @@ }, { "constant": false, - "id": 2901, + "id": 4507, "mutability": "mutable", "name": "n", - "nameLocation": "20135:1:9", + "nameLocation": "20135:1:22", "nodeType": "VariableDeclaration", - "scope": 2908, - "src": "20127:9:9", + "scope": 4514, + "src": "20127:9:22", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -75457,10 +94432,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2900, + "id": 4506, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "20127:7:9", + "src": "20127:7:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -75469,21 +94444,21 @@ "visibility": "internal" } ], - "src": "20102:35:9" + "src": "20102:35:22" }, "returnParameters": { - "id": 2905, + "id": 4511, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2904, + "id": 4510, "mutability": "mutable", "name": "result", - "nameLocation": "20200:6:9", + "nameLocation": "20200:6:22", "nodeType": "VariableDeclaration", - "scope": 2908, - "src": "20185:21:9", + "scope": 4514, + "src": "20185:21:22", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -75491,10 +94466,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2903, + "id": 4509, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "20185:5:9", + "src": "20185:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -75503,185 +94478,185 @@ "visibility": "internal" } ], - "src": "20184:23:9" + "src": "20184:23:22" }, - "scope": 3078, - "src": "20076:347:9", + "scope": 4684, + "src": "20076:347:22", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 2920, + "id": 4526, "nodeType": "Block", - "src": "20668:1991:9", + "src": "20668:1991:22", "statements": [ { "AST": { - "nativeSrc": "20730:1923:9", + "nativeSrc": "20730:1923:22", "nodeType": "YulBlock", - "src": "20730:1923:9", + "src": "20730:1923:22", "statements": [ { - "nativeSrc": "20744:30:9", + "nativeSrc": "20744:30:22", "nodeType": "YulVariableDeclaration", - "src": "20744:30:9", + "src": "20744:30:22", "value": { "arguments": [ { "name": "needle", - "nativeSrc": "20767:6:9", + "nativeSrc": "20767:6:22", "nodeType": "YulIdentifier", - "src": "20767:6:9" + "src": "20767:6:22" } ], "functionName": { "name": "mload", - "nativeSrc": "20761:5:9", + "nativeSrc": "20761:5:22", "nodeType": "YulIdentifier", - "src": "20761:5:9" + "src": "20761:5:22" }, - "nativeSrc": "20761:13:9", + "nativeSrc": "20761:13:22", "nodeType": "YulFunctionCall", - "src": "20761:13:9" + "src": "20761:13:22" }, "variables": [ { "name": "searchLen", - "nativeSrc": "20748:9:9", + "nativeSrc": "20748:9:22", "nodeType": "YulTypedName", - "src": "20748:9:9", + "src": "20748:9:22", "type": "" } ] }, { "body": { - "nativeSrc": "20828:1815:9", + "nativeSrc": "20828:1815:22", "nodeType": "YulBlock", - "src": "20828:1815:9", + "src": "20828:1815:22", "statements": [ { - "nativeSrc": "20846:21:9", + "nativeSrc": "20846:21:22", "nodeType": "YulAssignment", - "src": "20846:21:9", + "src": "20846:21:22", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "20862:4:9", + "nativeSrc": "20862:4:22", "nodeType": "YulLiteral", - "src": "20862:4:9", + "src": "20862:4:22", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "20856:5:9", + "nativeSrc": "20856:5:22", "nodeType": "YulIdentifier", - "src": "20856:5:9" + "src": "20856:5:22" }, - "nativeSrc": "20856:11:9", + "nativeSrc": "20856:11:22", "nodeType": "YulFunctionCall", - "src": "20856:11:9" + "src": "20856:11:22" }, "variableNames": [ { "name": "result", - "nativeSrc": "20846:6:9", + "nativeSrc": "20846:6:22", "nodeType": "YulIdentifier", - "src": "20846:6:9" + "src": "20846:6:22" } ] }, { - "nativeSrc": "20884:27:9", + "nativeSrc": "20884:27:22", "nodeType": "YulVariableDeclaration", - "src": "20884:27:9", + "src": "20884:27:22", "value": { "arguments": [ { "name": "subject", - "nativeSrc": "20897:7:9", + "nativeSrc": "20897:7:22", "nodeType": "YulIdentifier", - "src": "20897:7:9" + "src": "20897:7:22" }, { "kind": "number", - "nativeSrc": "20906:4:9", + "nativeSrc": "20906:4:22", "nodeType": "YulLiteral", - "src": "20906:4:9", + "src": "20906:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "20893:3:9", + "nativeSrc": "20893:3:22", "nodeType": "YulIdentifier", - "src": "20893:3:9" + "src": "20893:3:22" }, - "nativeSrc": "20893:18:9", + "nativeSrc": "20893:18:22", "nodeType": "YulFunctionCall", - "src": "20893:18:9" + "src": "20893:18:22" }, "variables": [ { "name": "i", - "nativeSrc": "20888:1:9", + "nativeSrc": "20888:1:22", "nodeType": "YulTypedName", - "src": "20888:1:9", + "src": "20888:1:22", "type": "" } ] }, { - "nativeSrc": "20928:26:9", + "nativeSrc": "20928:26:22", "nodeType": "YulVariableDeclaration", - "src": "20928:26:9", + "src": "20928:26:22", "value": { "arguments": [ { "name": "result", - "nativeSrc": "20941:6:9", + "nativeSrc": "20941:6:22", "nodeType": "YulIdentifier", - "src": "20941:6:9" + "src": "20941:6:22" }, { "kind": "number", - "nativeSrc": "20949:4:9", + "nativeSrc": "20949:4:22", "nodeType": "YulLiteral", - "src": "20949:4:9", + "src": "20949:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "20937:3:9", + "nativeSrc": "20937:3:22", "nodeType": "YulIdentifier", - "src": "20937:3:9" + "src": "20937:3:22" }, - "nativeSrc": "20937:17:9", + "nativeSrc": "20937:17:22", "nodeType": "YulFunctionCall", - "src": "20937:17:9" + "src": "20937:17:22" }, "variables": [ { "name": "o", - "nativeSrc": "20932:1:9", + "nativeSrc": "20932:1:22", "nodeType": "YulTypedName", - "src": "20932:1:9", + "src": "20932:1:22", "type": "" } ] }, { - "nativeSrc": "20971:70:9", + "nativeSrc": "20971:70:22", "nodeType": "YulVariableDeclaration", - "src": "20971:70:9", + "src": "20971:70:22", "value": { "arguments": [ { @@ -75690,170 +94665,170 @@ "arguments": [ { "name": "i", - "nativeSrc": "21007:1:9", + "nativeSrc": "21007:1:22", "nodeType": "YulIdentifier", - "src": "21007:1:9" + "src": "21007:1:22" }, { "arguments": [ { "name": "subject", - "nativeSrc": "21016:7:9", + "nativeSrc": "21016:7:22", "nodeType": "YulIdentifier", - "src": "21016:7:9" + "src": "21016:7:22" } ], "functionName": { "name": "mload", - "nativeSrc": "21010:5:9", + "nativeSrc": "21010:5:22", "nodeType": "YulIdentifier", - "src": "21010:5:9" + "src": "21010:5:22" }, - "nativeSrc": "21010:14:9", + "nativeSrc": "21010:14:22", "nodeType": "YulFunctionCall", - "src": "21010:14:9" + "src": "21010:14:22" } ], "functionName": { "name": "add", - "nativeSrc": "21003:3:9", + "nativeSrc": "21003:3:22", "nodeType": "YulIdentifier", - "src": "21003:3:9" + "src": "21003:3:22" }, - "nativeSrc": "21003:22:9", + "nativeSrc": "21003:22:22", "nodeType": "YulFunctionCall", - "src": "21003:22:9" + "src": "21003:22:22" }, { "name": "searchLen", - "nativeSrc": "21027:9:9", + "nativeSrc": "21027:9:22", "nodeType": "YulIdentifier", - "src": "21027:9:9" + "src": "21027:9:22" } ], "functionName": { "name": "sub", - "nativeSrc": "20999:3:9", + "nativeSrc": "20999:3:22", "nodeType": "YulIdentifier", - "src": "20999:3:9" + "src": "20999:3:22" }, - "nativeSrc": "20999:38:9", + "nativeSrc": "20999:38:22", "nodeType": "YulFunctionCall", - "src": "20999:38:9" + "src": "20999:38:22" }, { "kind": "number", - "nativeSrc": "21039:1:9", + "nativeSrc": "21039:1:22", "nodeType": "YulLiteral", - "src": "21039:1:9", + "src": "21039:1:22", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "20995:3:9", + "nativeSrc": "20995:3:22", "nodeType": "YulIdentifier", - "src": "20995:3:9" + "src": "20995:3:22" }, - "nativeSrc": "20995:46:9", + "nativeSrc": "20995:46:22", "nodeType": "YulFunctionCall", - "src": "20995:46:9" + "src": "20995:46:22" }, "variables": [ { "name": "subjectSearchEnd", - "nativeSrc": "20975:16:9", + "nativeSrc": "20975:16:22", "nodeType": "YulTypedName", - "src": "20975:16:9", + "src": "20975:16:22", "type": "" } ] }, { - "nativeSrc": "21058:10:9", + "nativeSrc": "21058:10:22", "nodeType": "YulVariableDeclaration", - "src": "21058:10:9", + "src": "21058:10:22", "value": { "kind": "number", - "nativeSrc": "21067:1:9", + "nativeSrc": "21067:1:22", "nodeType": "YulLiteral", - "src": "21067:1:9", + "src": "21067:1:22", "type": "", "value": "0" }, "variables": [ { "name": "h", - "nativeSrc": "21062:1:9", + "nativeSrc": "21062:1:22", "nodeType": "YulTypedName", - "src": "21062:1:9", + "src": "21062:1:22", "type": "" } ] }, { "body": { - "nativeSrc": "21141:48:9", + "nativeSrc": "21141:48:22", "nodeType": "YulBlock", - "src": "21141:48:9", + "src": "21141:48:22", "statements": [ { - "nativeSrc": "21143:44:9", + "nativeSrc": "21143:44:22", "nodeType": "YulAssignment", - "src": "21143:44:9", + "src": "21143:44:22", "value": { "arguments": [ { "arguments": [ { "name": "needle", - "nativeSrc": "21162:6:9", + "nativeSrc": "21162:6:22", "nodeType": "YulIdentifier", - "src": "21162:6:9" + "src": "21162:6:22" }, { "kind": "number", - "nativeSrc": "21170:4:9", + "nativeSrc": "21170:4:22", "nodeType": "YulLiteral", - "src": "21170:4:9", + "src": "21170:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "21158:3:9", + "nativeSrc": "21158:3:22", "nodeType": "YulIdentifier", - "src": "21158:3:9" + "src": "21158:3:22" }, - "nativeSrc": "21158:17:9", + "nativeSrc": "21158:17:22", "nodeType": "YulFunctionCall", - "src": "21158:17:9" + "src": "21158:17:22" }, { "name": "searchLen", - "nativeSrc": "21177:9:9", + "nativeSrc": "21177:9:22", "nodeType": "YulIdentifier", - "src": "21177:9:9" + "src": "21177:9:22" } ], "functionName": { "name": "keccak256", - "nativeSrc": "21148:9:9", + "nativeSrc": "21148:9:22", "nodeType": "YulIdentifier", - "src": "21148:9:9" + "src": "21148:9:22" }, - "nativeSrc": "21148:39:9", + "nativeSrc": "21148:39:22", "nodeType": "YulFunctionCall", - "src": "21148:39:9" + "src": "21148:39:22" }, "variableNames": [ { "name": "h", - "nativeSrc": "21143:1:9", + "nativeSrc": "21143:1:22", "nodeType": "YulIdentifier", - "src": "21143:1:9" + "src": "21143:1:22" } ] } @@ -75865,205 +94840,205 @@ "arguments": [ { "name": "searchLen", - "nativeSrc": "21123:9:9", + "nativeSrc": "21123:9:22", "nodeType": "YulIdentifier", - "src": "21123:9:9" + "src": "21123:9:22" }, { "kind": "number", - "nativeSrc": "21134:4:9", + "nativeSrc": "21134:4:22", "nodeType": "YulLiteral", - "src": "21134:4:9", + "src": "21134:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "lt", - "nativeSrc": "21120:2:9", + "nativeSrc": "21120:2:22", "nodeType": "YulIdentifier", - "src": "21120:2:9" + "src": "21120:2:22" }, - "nativeSrc": "21120:19:9", + "nativeSrc": "21120:19:22", "nodeType": "YulFunctionCall", - "src": "21120:19:9" + "src": "21120:19:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "21113:6:9", + "nativeSrc": "21113:6:22", "nodeType": "YulIdentifier", - "src": "21113:6:9" + "src": "21113:6:22" }, - "nativeSrc": "21113:27:9", + "nativeSrc": "21113:27:22", "nodeType": "YulFunctionCall", - "src": "21113:27:9" + "src": "21113:27:22" }, - "nativeSrc": "21110:79:9", + "nativeSrc": "21110:79:22", "nodeType": "YulIf", - "src": "21110:79:9" + "src": "21110:79:22" }, { - "nativeSrc": "21206:33:9", + "nativeSrc": "21206:33:22", "nodeType": "YulVariableDeclaration", - "src": "21206:33:9", + "src": "21206:33:22", "value": { "arguments": [ { "arguments": [ { "name": "needle", - "nativeSrc": "21225:6:9", + "nativeSrc": "21225:6:22", "nodeType": "YulIdentifier", - "src": "21225:6:9" + "src": "21225:6:22" }, { "kind": "number", - "nativeSrc": "21233:4:9", + "nativeSrc": "21233:4:22", "nodeType": "YulLiteral", - "src": "21233:4:9", + "src": "21233:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "21221:3:9", + "nativeSrc": "21221:3:22", "nodeType": "YulIdentifier", - "src": "21221:3:9" + "src": "21221:3:22" }, - "nativeSrc": "21221:17:9", + "nativeSrc": "21221:17:22", "nodeType": "YulFunctionCall", - "src": "21221:17:9" + "src": "21221:17:22" } ], "functionName": { "name": "mload", - "nativeSrc": "21215:5:9", + "nativeSrc": "21215:5:22", "nodeType": "YulIdentifier", - "src": "21215:5:9" + "src": "21215:5:22" }, - "nativeSrc": "21215:24:9", + "nativeSrc": "21215:24:22", "nodeType": "YulFunctionCall", - "src": "21215:24:9" + "src": "21215:24:22" }, "variables": [ { "name": "s", - "nativeSrc": "21210:1:9", + "nativeSrc": "21210:1:22", "nodeType": "YulTypedName", - "src": "21210:1:9", + "src": "21210:1:22", "type": "" } ] }, { "body": { - "nativeSrc": "21318:1033:9", + "nativeSrc": "21318:1033:22", "nodeType": "YulBlock", - "src": "21318:1033:9", + "src": "21318:1033:22", "statements": [ { - "nativeSrc": "21340:17:9", + "nativeSrc": "21340:17:22", "nodeType": "YulVariableDeclaration", - "src": "21340:17:9", + "src": "21340:17:22", "value": { "arguments": [ { "name": "i", - "nativeSrc": "21355:1:9", + "nativeSrc": "21355:1:22", "nodeType": "YulIdentifier", - "src": "21355:1:9" + "src": "21355:1:22" } ], "functionName": { "name": "mload", - "nativeSrc": "21349:5:9", + "nativeSrc": "21349:5:22", "nodeType": "YulIdentifier", - "src": "21349:5:9" + "src": "21349:5:22" }, - "nativeSrc": "21349:8:9", + "nativeSrc": "21349:8:22", "nodeType": "YulFunctionCall", - "src": "21349:8:9" + "src": "21349:8:22" }, "variables": [ { "name": "t", - "nativeSrc": "21344:1:9", + "nativeSrc": "21344:1:22", "nodeType": "YulTypedName", - "src": "21344:1:9", + "src": "21344:1:22", "type": "" } ] }, { "body": { - "nativeSrc": "21506:727:9", + "nativeSrc": "21506:727:22", "nodeType": "YulBlock", - "src": "21506:727:9", + "src": "21506:727:22", "statements": [ { "body": { - "nativeSrc": "21537:294:9", + "nativeSrc": "21537:294:22", "nodeType": "YulBlock", - "src": "21537:294:9", + "src": "21537:294:22", "statements": [ { "body": { - "nativeSrc": "21609:196:9", + "nativeSrc": "21609:196:22", "nodeType": "YulBlock", - "src": "21609:196:9", + "src": "21609:196:22", "statements": [ { - "nativeSrc": "21643:14:9", + "nativeSrc": "21643:14:22", "nodeType": "YulAssignment", - "src": "21643:14:9", + "src": "21643:14:22", "value": { "arguments": [ { "name": "i", - "nativeSrc": "21652:1:9", + "nativeSrc": "21652:1:22", "nodeType": "YulIdentifier", - "src": "21652:1:9" + "src": "21652:1:22" }, { "kind": "number", - "nativeSrc": "21655:1:9", + "nativeSrc": "21655:1:22", "nodeType": "YulLiteral", - "src": "21655:1:9", + "src": "21655:1:22", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "21648:3:9", + "nativeSrc": "21648:3:22", "nodeType": "YulIdentifier", - "src": "21648:3:9" + "src": "21648:3:22" }, - "nativeSrc": "21648:9:9", + "nativeSrc": "21648:9:22", "nodeType": "YulFunctionCall", - "src": "21648:9:9" + "src": "21648:9:22" }, "variableNames": [ { "name": "i", - "nativeSrc": "21643:1:9", + "nativeSrc": "21643:1:22", "nodeType": "YulIdentifier", - "src": "21643:1:9" + "src": "21643:1:22" } ] }, { "body": { - "nativeSrc": "21725:9:9", + "nativeSrc": "21725:9:22", "nodeType": "YulBlock", - "src": "21725:9:9", + "src": "21725:9:22", "statements": [ { - "nativeSrc": "21727:5:9", + "nativeSrc": "21727:5:22", "nodeType": "YulBreak", - "src": "21727:5:9" + "src": "21727:5:22" } ] }, @@ -76073,46 +95048,46 @@ "arguments": [ { "name": "i", - "nativeSrc": "21703:1:9", + "nativeSrc": "21703:1:22", "nodeType": "YulIdentifier", - "src": "21703:1:9" + "src": "21703:1:22" }, { "name": "subjectSearchEnd", - "nativeSrc": "21706:16:9", + "nativeSrc": "21706:16:22", "nodeType": "YulIdentifier", - "src": "21706:16:9" + "src": "21706:16:22" } ], "functionName": { "name": "lt", - "nativeSrc": "21700:2:9", + "nativeSrc": "21700:2:22", "nodeType": "YulIdentifier", - "src": "21700:2:9" + "src": "21700:2:22" }, - "nativeSrc": "21700:23:9", + "nativeSrc": "21700:23:22", "nodeType": "YulFunctionCall", - "src": "21700:23:9" + "src": "21700:23:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "21693:6:9", + "nativeSrc": "21693:6:22", "nodeType": "YulIdentifier", - "src": "21693:6:9" + "src": "21693:6:22" }, - "nativeSrc": "21693:31:9", + "nativeSrc": "21693:31:22", "nodeType": "YulFunctionCall", - "src": "21693:31:9" + "src": "21693:31:22" }, - "nativeSrc": "21690:44:9", + "nativeSrc": "21690:44:22", "nodeType": "YulIf", - "src": "21690:44:9" + "src": "21690:44:22" }, { - "nativeSrc": "21767:8:9", + "nativeSrc": "21767:8:22", "nodeType": "YulContinue", - "src": "21767:8:9" + "src": "21767:8:22" } ] }, @@ -76124,235 +95099,235 @@ "arguments": [ { "name": "i", - "nativeSrc": "21590:1:9", + "nativeSrc": "21590:1:22", "nodeType": "YulIdentifier", - "src": "21590:1:9" + "src": "21590:1:22" }, { "name": "searchLen", - "nativeSrc": "21593:9:9", + "nativeSrc": "21593:9:22", "nodeType": "YulIdentifier", - "src": "21593:9:9" + "src": "21593:9:22" } ], "functionName": { "name": "keccak256", - "nativeSrc": "21580:9:9", + "nativeSrc": "21580:9:22", "nodeType": "YulIdentifier", - "src": "21580:9:9" + "src": "21580:9:22" }, - "nativeSrc": "21580:23:9", + "nativeSrc": "21580:23:22", "nodeType": "YulFunctionCall", - "src": "21580:23:9" + "src": "21580:23:22" }, { "name": "h", - "nativeSrc": "21605:1:9", + "nativeSrc": "21605:1:22", "nodeType": "YulIdentifier", - "src": "21605:1:9" + "src": "21605:1:22" } ], "functionName": { "name": "eq", - "nativeSrc": "21577:2:9", + "nativeSrc": "21577:2:22", "nodeType": "YulIdentifier", - "src": "21577:2:9" + "src": "21577:2:22" }, - "nativeSrc": "21577:30:9", + "nativeSrc": "21577:30:22", "nodeType": "YulFunctionCall", - "src": "21577:30:9" + "src": "21577:30:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "21570:6:9", + "nativeSrc": "21570:6:22", "nodeType": "YulIdentifier", - "src": "21570:6:9" + "src": "21570:6:22" }, - "nativeSrc": "21570:38:9", + "nativeSrc": "21570:38:22", "nodeType": "YulFunctionCall", - "src": "21570:38:9" + "src": "21570:38:22" }, - "nativeSrc": "21567:238:9", + "nativeSrc": "21567:238:22", "nodeType": "YulIf", - "src": "21567:238:9" + "src": "21567:238:22" } ] }, "condition": { "name": "h", - "nativeSrc": "21535:1:9", + "nativeSrc": "21535:1:22", "nodeType": "YulIdentifier", - "src": "21535:1:9" + "src": "21535:1:22" }, - "nativeSrc": "21532:299:9", + "nativeSrc": "21532:299:22", "nodeType": "YulIf", - "src": "21532:299:9" + "src": "21532:299:22" }, { "expression": { "arguments": [ { "name": "o", - "nativeSrc": "21863:1:9", + "nativeSrc": "21863:1:22", "nodeType": "YulIdentifier", - "src": "21863:1:9" + "src": "21863:1:22" }, { "arguments": [ { "name": "i", - "nativeSrc": "21870:1:9", + "nativeSrc": "21870:1:22", "nodeType": "YulIdentifier", - "src": "21870:1:9" + "src": "21870:1:22" }, { "arguments": [ { "name": "subject", - "nativeSrc": "21877:7:9", + "nativeSrc": "21877:7:22", "nodeType": "YulIdentifier", - "src": "21877:7:9" + "src": "21877:7:22" }, { "kind": "number", - "nativeSrc": "21886:4:9", + "nativeSrc": "21886:4:22", "nodeType": "YulLiteral", - "src": "21886:4:9", + "src": "21886:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "21873:3:9", + "nativeSrc": "21873:3:22", "nodeType": "YulIdentifier", - "src": "21873:3:9" + "src": "21873:3:22" }, - "nativeSrc": "21873:18:9", + "nativeSrc": "21873:18:22", "nodeType": "YulFunctionCall", - "src": "21873:18:9" + "src": "21873:18:22" } ], "functionName": { "name": "sub", - "nativeSrc": "21866:3:9", + "nativeSrc": "21866:3:22", "nodeType": "YulIdentifier", - "src": "21866:3:9" + "src": "21866:3:22" }, - "nativeSrc": "21866:26:9", + "nativeSrc": "21866:26:22", "nodeType": "YulFunctionCall", - "src": "21866:26:9" + "src": "21866:26:22" } ], "functionName": { "name": "mstore", - "nativeSrc": "21856:6:9", + "nativeSrc": "21856:6:22", "nodeType": "YulIdentifier", - "src": "21856:6:9" + "src": "21856:6:22" }, - "nativeSrc": "21856:37:9", + "nativeSrc": "21856:37:22", "nodeType": "YulFunctionCall", - "src": "21856:37:9" + "src": "21856:37:22" }, - "nativeSrc": "21856:37:9", + "nativeSrc": "21856:37:22", "nodeType": "YulExpressionStatement", - "src": "21856:37:9" + "src": "21856:37:22" }, { - "nativeSrc": "21941:17:9", + "nativeSrc": "21941:17:22", "nodeType": "YulAssignment", - "src": "21941:17:9", + "src": "21941:17:22", "value": { "arguments": [ { "name": "o", - "nativeSrc": "21950:1:9", + "nativeSrc": "21950:1:22", "nodeType": "YulIdentifier", - "src": "21950:1:9" + "src": "21950:1:22" }, { "kind": "number", - "nativeSrc": "21953:4:9", + "nativeSrc": "21953:4:22", "nodeType": "YulLiteral", - "src": "21953:4:9", + "src": "21953:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "21946:3:9", + "nativeSrc": "21946:3:22", "nodeType": "YulIdentifier", - "src": "21946:3:9" + "src": "21946:3:22" }, - "nativeSrc": "21946:12:9", + "nativeSrc": "21946:12:22", "nodeType": "YulFunctionCall", - "src": "21946:12:9" + "src": "21946:12:22" }, "variableNames": [ { "name": "o", - "nativeSrc": "21941:1:9", + "nativeSrc": "21941:1:22", "nodeType": "YulIdentifier", - "src": "21941:1:9" + "src": "21941:1:22" } ] }, { - "nativeSrc": "21983:22:9", + "nativeSrc": "21983:22:22", "nodeType": "YulAssignment", - "src": "21983:22:9", + "src": "21983:22:22", "value": { "arguments": [ { "name": "i", - "nativeSrc": "21992:1:9", + "nativeSrc": "21992:1:22", "nodeType": "YulIdentifier", - "src": "21992:1:9" + "src": "21992:1:22" }, { "name": "searchLen", - "nativeSrc": "21995:9:9", + "nativeSrc": "21995:9:22", "nodeType": "YulIdentifier", - "src": "21995:9:9" + "src": "21995:9:22" } ], "functionName": { "name": "add", - "nativeSrc": "21988:3:9", + "nativeSrc": "21988:3:22", "nodeType": "YulIdentifier", - "src": "21988:3:9" + "src": "21988:3:22" }, - "nativeSrc": "21988:17:9", + "nativeSrc": "21988:17:22", "nodeType": "YulFunctionCall", - "src": "21988:17:9" + "src": "21988:17:22" }, "variableNames": [ { "name": "i", - "nativeSrc": "21983:1:9", + "nativeSrc": "21983:1:22", "nodeType": "YulIdentifier", - "src": "21983:1:9" + "src": "21983:1:22" } ] }, { "body": { - "nativeSrc": "22074:137:9", + "nativeSrc": "22074:137:22", "nodeType": "YulBlock", - "src": "22074:137:9", + "src": "22074:137:22", "statements": [ { "body": { - "nativeSrc": "22139:9:9", + "nativeSrc": "22139:9:22", "nodeType": "YulBlock", - "src": "22139:9:9", + "src": "22139:9:22", "statements": [ { - "nativeSrc": "22141:5:9", + "nativeSrc": "22141:5:22", "nodeType": "YulBreak", - "src": "22141:5:9" + "src": "22141:5:22" } ] }, @@ -76362,58 +95337,58 @@ "arguments": [ { "name": "i", - "nativeSrc": "22117:1:9", + "nativeSrc": "22117:1:22", "nodeType": "YulIdentifier", - "src": "22117:1:9" + "src": "22117:1:22" }, { "name": "subjectSearchEnd", - "nativeSrc": "22120:16:9", + "nativeSrc": "22120:16:22", "nodeType": "YulIdentifier", - "src": "22120:16:9" + "src": "22120:16:22" } ], "functionName": { "name": "lt", - "nativeSrc": "22114:2:9", + "nativeSrc": "22114:2:22", "nodeType": "YulIdentifier", - "src": "22114:2:9" + "src": "22114:2:22" }, - "nativeSrc": "22114:23:9", + "nativeSrc": "22114:23:22", "nodeType": "YulFunctionCall", - "src": "22114:23:9" + "src": "22114:23:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "22107:6:9", + "nativeSrc": "22107:6:22", "nodeType": "YulIdentifier", - "src": "22107:6:9" + "src": "22107:6:22" }, - "nativeSrc": "22107:31:9", + "nativeSrc": "22107:31:22", "nodeType": "YulFunctionCall", - "src": "22107:31:9" + "src": "22107:31:22" }, - "nativeSrc": "22104:44:9", + "nativeSrc": "22104:44:22", "nodeType": "YulIf", - "src": "22104:44:9" + "src": "22104:44:22" }, { - "nativeSrc": "22177:8:9", + "nativeSrc": "22177:8:22", "nodeType": "YulContinue", - "src": "22177:8:9" + "src": "22177:8:22" } ] }, "condition": { "name": "searchLen", - "nativeSrc": "22064:9:9", + "nativeSrc": "22064:9:22", "nodeType": "YulIdentifier", - "src": "22064:9:9" + "src": "22064:9:22" }, - "nativeSrc": "22061:150:9", + "nativeSrc": "22061:150:22", "nodeType": "YulIf", - "src": "22061:150:9" + "src": "22061:150:22" } ] }, @@ -76423,111 +95398,111 @@ "arguments": [ { "name": "m", - "nativeSrc": "21491:1:9", + "nativeSrc": "21491:1:22", "nodeType": "YulIdentifier", - "src": "21491:1:9" + "src": "21491:1:22" }, { "arguments": [ { "name": "t", - "nativeSrc": "21498:1:9", + "nativeSrc": "21498:1:22", "nodeType": "YulIdentifier", - "src": "21498:1:9" + "src": "21498:1:22" }, { "name": "s", - "nativeSrc": "21501:1:9", + "nativeSrc": "21501:1:22", "nodeType": "YulIdentifier", - "src": "21501:1:9" + "src": "21501:1:22" } ], "functionName": { "name": "xor", - "nativeSrc": "21494:3:9", + "nativeSrc": "21494:3:22", "nodeType": "YulIdentifier", - "src": "21494:3:9" + "src": "21494:3:22" }, - "nativeSrc": "21494:9:9", + "nativeSrc": "21494:9:22", "nodeType": "YulFunctionCall", - "src": "21494:9:9" + "src": "21494:9:22" } ], "functionName": { "name": "shr", - "nativeSrc": "21487:3:9", + "nativeSrc": "21487:3:22", "nodeType": "YulIdentifier", - "src": "21487:3:9" + "src": "21487:3:22" }, - "nativeSrc": "21487:17:9", + "nativeSrc": "21487:17:22", "nodeType": "YulFunctionCall", - "src": "21487:17:9" + "src": "21487:17:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "21480:6:9", + "nativeSrc": "21480:6:22", "nodeType": "YulIdentifier", - "src": "21480:6:9" + "src": "21480:6:22" }, - "nativeSrc": "21480:25:9", + "nativeSrc": "21480:25:22", "nodeType": "YulFunctionCall", - "src": "21480:25:9" + "src": "21480:25:22" }, - "nativeSrc": "21477:756:9", + "nativeSrc": "21477:756:22", "nodeType": "YulIf", - "src": "21477:756:9" + "src": "21477:756:22" }, { - "nativeSrc": "22254:14:9", + "nativeSrc": "22254:14:22", "nodeType": "YulAssignment", - "src": "22254:14:9", + "src": "22254:14:22", "value": { "arguments": [ { "name": "i", - "nativeSrc": "22263:1:9", + "nativeSrc": "22263:1:22", "nodeType": "YulIdentifier", - "src": "22263:1:9" + "src": "22263:1:22" }, { "kind": "number", - "nativeSrc": "22266:1:9", + "nativeSrc": "22266:1:22", "nodeType": "YulLiteral", - "src": "22266:1:9", + "src": "22266:1:22", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "22259:3:9", + "nativeSrc": "22259:3:22", "nodeType": "YulIdentifier", - "src": "22259:3:9" + "src": "22259:3:22" }, - "nativeSrc": "22259:9:9", + "nativeSrc": "22259:9:22", "nodeType": "YulFunctionCall", - "src": "22259:9:9" + "src": "22259:9:22" }, "variableNames": [ { "name": "i", - "nativeSrc": "22254:1:9", + "nativeSrc": "22254:1:22", "nodeType": "YulIdentifier", - "src": "22254:1:9" + "src": "22254:1:22" } ] }, { "body": { - "nativeSrc": "22324:9:9", + "nativeSrc": "22324:9:22", "nodeType": "YulBlock", - "src": "22324:9:9", + "src": "22324:9:22", "statements": [ { - "nativeSrc": "22326:5:9", + "nativeSrc": "22326:5:22", "nodeType": "YulBreak", - "src": "22326:5:9" + "src": "22326:5:22" } ] }, @@ -76537,76 +95512,76 @@ "arguments": [ { "name": "i", - "nativeSrc": "22302:1:9", + "nativeSrc": "22302:1:22", "nodeType": "YulIdentifier", - "src": "22302:1:9" + "src": "22302:1:22" }, { "name": "subjectSearchEnd", - "nativeSrc": "22305:16:9", + "nativeSrc": "22305:16:22", "nodeType": "YulIdentifier", - "src": "22305:16:9" + "src": "22305:16:22" } ], "functionName": { "name": "lt", - "nativeSrc": "22299:2:9", + "nativeSrc": "22299:2:22", "nodeType": "YulIdentifier", - "src": "22299:2:9" + "src": "22299:2:22" }, - "nativeSrc": "22299:23:9", + "nativeSrc": "22299:23:22", "nodeType": "YulFunctionCall", - "src": "22299:23:9" + "src": "22299:23:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "22292:6:9", + "nativeSrc": "22292:6:22", "nodeType": "YulIdentifier", - "src": "22292:6:9" + "src": "22292:6:22" }, - "nativeSrc": "22292:31:9", + "nativeSrc": "22292:31:22", "nodeType": "YulFunctionCall", - "src": "22292:31:9" + "src": "22292:31:22" }, - "nativeSrc": "22289:44:9", + "nativeSrc": "22289:44:22", "nodeType": "YulIf", - "src": "22289:44:9" + "src": "22289:44:22" } ] }, "condition": { "kind": "number", - "nativeSrc": "21313:1:9", + "nativeSrc": "21313:1:22", "nodeType": "YulLiteral", - "src": "21313:1:9", + "src": "21313:1:22", "type": "", "value": "1" }, - "nativeSrc": "21256:1095:9", + "nativeSrc": "21256:1095:22", "nodeType": "YulForLoop", "post": { - "nativeSrc": "21315:2:9", + "nativeSrc": "21315:2:22", "nodeType": "YulBlock", - "src": "21315:2:9", + "src": "21315:2:22", "statements": [] }, "pre": { - "nativeSrc": "21260:52:9", + "nativeSrc": "21260:52:22", "nodeType": "YulBlock", - "src": "21260:52:9", + "src": "21260:52:22", "statements": [ { - "nativeSrc": "21262:48:9", + "nativeSrc": "21262:48:22", "nodeType": "YulVariableDeclaration", - "src": "21262:48:9", + "src": "21262:48:22", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "21275:1:9", + "nativeSrc": "21275:1:22", "nodeType": "YulLiteral", - "src": "21275:1:9", + "src": "21275:1:22", "type": "", "value": "3" }, @@ -76614,9 +95589,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "21282:4:9", + "nativeSrc": "21282:4:22", "nodeType": "YulLiteral", - "src": "21282:4:9", + "src": "21282:4:22", "type": "", "value": "0x20" }, @@ -76624,81 +95599,81 @@ "arguments": [ { "name": "searchLen", - "nativeSrc": "21292:9:9", + "nativeSrc": "21292:9:22", "nodeType": "YulIdentifier", - "src": "21292:9:9" + "src": "21292:9:22" }, { "kind": "number", - "nativeSrc": "21303:4:9", + "nativeSrc": "21303:4:22", "nodeType": "YulLiteral", - "src": "21303:4:9", + "src": "21303:4:22", "type": "", "value": "0x1f" } ], "functionName": { "name": "and", - "nativeSrc": "21288:3:9", + "nativeSrc": "21288:3:22", "nodeType": "YulIdentifier", - "src": "21288:3:9" + "src": "21288:3:22" }, - "nativeSrc": "21288:20:9", + "nativeSrc": "21288:20:22", "nodeType": "YulFunctionCall", - "src": "21288:20:9" + "src": "21288:20:22" } ], "functionName": { "name": "sub", - "nativeSrc": "21278:3:9", + "nativeSrc": "21278:3:22", "nodeType": "YulIdentifier", - "src": "21278:3:9" + "src": "21278:3:22" }, - "nativeSrc": "21278:31:9", + "nativeSrc": "21278:31:22", "nodeType": "YulFunctionCall", - "src": "21278:31:9" + "src": "21278:31:22" } ], "functionName": { "name": "shl", - "nativeSrc": "21271:3:9", + "nativeSrc": "21271:3:22", "nodeType": "YulIdentifier", - "src": "21271:3:9" + "src": "21271:3:22" }, - "nativeSrc": "21271:39:9", + "nativeSrc": "21271:39:22", "nodeType": "YulFunctionCall", - "src": "21271:39:9" + "src": "21271:39:22" }, "variables": [ { "name": "m", - "nativeSrc": "21266:1:9", + "nativeSrc": "21266:1:22", "nodeType": "YulTypedName", - "src": "21266:1:9", + "src": "21266:1:22", "type": "" } ] } ] }, - "src": "21256:1095:9" + "src": "21256:1095:22" }, { "expression": { "arguments": [ { "name": "result", - "nativeSrc": "22375:6:9", + "nativeSrc": "22375:6:22", "nodeType": "YulIdentifier", - "src": "22375:6:9" + "src": "22375:6:22" }, { "arguments": [ { "kind": "number", - "nativeSrc": "22387:1:9", + "nativeSrc": "22387:1:22", "nodeType": "YulLiteral", - "src": "22387:1:9", + "src": "22387:1:22", "type": "", "value": "5" }, @@ -76706,82 +95681,82 @@ "arguments": [ { "name": "o", - "nativeSrc": "22394:1:9", + "nativeSrc": "22394:1:22", "nodeType": "YulIdentifier", - "src": "22394:1:9" + "src": "22394:1:22" }, { "arguments": [ { "name": "result", - "nativeSrc": "22401:6:9", + "nativeSrc": "22401:6:22", "nodeType": "YulIdentifier", - "src": "22401:6:9" + "src": "22401:6:22" }, { "kind": "number", - "nativeSrc": "22409:4:9", + "nativeSrc": "22409:4:22", "nodeType": "YulLiteral", - "src": "22409:4:9", + "src": "22409:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "22397:3:9", + "nativeSrc": "22397:3:22", "nodeType": "YulIdentifier", - "src": "22397:3:9" + "src": "22397:3:22" }, - "nativeSrc": "22397:17:9", + "nativeSrc": "22397:17:22", "nodeType": "YulFunctionCall", - "src": "22397:17:9" + "src": "22397:17:22" } ], "functionName": { "name": "sub", - "nativeSrc": "22390:3:9", + "nativeSrc": "22390:3:22", "nodeType": "YulIdentifier", - "src": "22390:3:9" + "src": "22390:3:22" }, - "nativeSrc": "22390:25:9", + "nativeSrc": "22390:25:22", "nodeType": "YulFunctionCall", - "src": "22390:25:9" + "src": "22390:25:22" } ], "functionName": { "name": "shr", - "nativeSrc": "22383:3:9", + "nativeSrc": "22383:3:22", "nodeType": "YulIdentifier", - "src": "22383:3:9" + "src": "22383:3:22" }, - "nativeSrc": "22383:33:9", + "nativeSrc": "22383:33:22", "nodeType": "YulFunctionCall", - "src": "22383:33:9" + "src": "22383:33:22" } ], "functionName": { "name": "mstore", - "nativeSrc": "22368:6:9", + "nativeSrc": "22368:6:22", "nodeType": "YulIdentifier", - "src": "22368:6:9" + "src": "22368:6:22" }, - "nativeSrc": "22368:49:9", + "nativeSrc": "22368:49:22", "nodeType": "YulFunctionCall", - "src": "22368:49:9" + "src": "22368:49:22" }, - "nativeSrc": "22368:49:9", + "nativeSrc": "22368:49:22", "nodeType": "YulExpressionStatement", - "src": "22368:49:9" + "src": "22368:49:22" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "22610:4:9", + "nativeSrc": "22610:4:22", "nodeType": "YulLiteral", - "src": "22610:4:9", + "src": "22610:4:22", "type": "", "value": "0x40" }, @@ -76789,43 +95764,43 @@ "arguments": [ { "name": "o", - "nativeSrc": "22620:1:9", + "nativeSrc": "22620:1:22", "nodeType": "YulIdentifier", - "src": "22620:1:9" + "src": "22620:1:22" }, { "kind": "number", - "nativeSrc": "22623:4:9", + "nativeSrc": "22623:4:22", "nodeType": "YulLiteral", - "src": "22623:4:9", + "src": "22623:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "22616:3:9", + "nativeSrc": "22616:3:22", "nodeType": "YulIdentifier", - "src": "22616:3:9" + "src": "22616:3:22" }, - "nativeSrc": "22616:12:9", + "nativeSrc": "22616:12:22", "nodeType": "YulFunctionCall", - "src": "22616:12:9" + "src": "22616:12:22" } ], "functionName": { "name": "mstore", - "nativeSrc": "22603:6:9", + "nativeSrc": "22603:6:22", "nodeType": "YulIdentifier", - "src": "22603:6:9" + "src": "22603:6:22" }, - "nativeSrc": "22603:26:9", + "nativeSrc": "22603:26:22", "nodeType": "YulFunctionCall", - "src": "22603:26:9" + "src": "22603:26:22" }, - "nativeSrc": "22603:26:9", + "nativeSrc": "22603:26:22", "nodeType": "YulExpressionStatement", - "src": "22603:26:9" + "src": "22603:26:22" } ] }, @@ -76835,54 +95810,54 @@ "arguments": [ { "name": "searchLen", - "nativeSrc": "20800:9:9", + "nativeSrc": "20800:9:22", "nodeType": "YulIdentifier", - "src": "20800:9:9" + "src": "20800:9:22" }, { "arguments": [ { "name": "subject", - "nativeSrc": "20817:7:9", + "nativeSrc": "20817:7:22", "nodeType": "YulIdentifier", - "src": "20817:7:9" + "src": "20817:7:22" } ], "functionName": { "name": "mload", - "nativeSrc": "20811:5:9", + "nativeSrc": "20811:5:22", "nodeType": "YulIdentifier", - "src": "20811:5:9" + "src": "20811:5:22" }, - "nativeSrc": "20811:14:9", + "nativeSrc": "20811:14:22", "nodeType": "YulFunctionCall", - "src": "20811:14:9" + "src": "20811:14:22" } ], "functionName": { "name": "gt", - "nativeSrc": "20797:2:9", + "nativeSrc": "20797:2:22", "nodeType": "YulIdentifier", - "src": "20797:2:9" + "src": "20797:2:22" }, - "nativeSrc": "20797:29:9", + "nativeSrc": "20797:29:22", "nodeType": "YulFunctionCall", - "src": "20797:29:9" + "src": "20797:29:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "20790:6:9", + "nativeSrc": "20790:6:22", "nodeType": "YulIdentifier", - "src": "20790:6:9" + "src": "20790:6:22" }, - "nativeSrc": "20790:37:9", + "nativeSrc": "20790:37:22", "nodeType": "YulFunctionCall", - "src": "20790:37:9" + "src": "20790:37:22" }, - "nativeSrc": "20787:1856:9", + "nativeSrc": "20787:1856:22", "nodeType": "YulIf", - "src": "20787:1856:9" + "src": "20787:1856:22" } ] }, @@ -76890,115 +95865,115 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2913, + "declaration": 4519, "isOffset": false, "isSlot": false, - "src": "20767:6:9", + "src": "20767:6:22", "valueSize": 1 }, { - "declaration": 2913, + "declaration": 4519, "isOffset": false, "isSlot": false, - "src": "21162:6:9", + "src": "21162:6:22", "valueSize": 1 }, { - "declaration": 2913, + "declaration": 4519, "isOffset": false, "isSlot": false, - "src": "21225:6:9", + "src": "21225:6:22", "valueSize": 1 }, { - "declaration": 2917, + "declaration": 4523, "isOffset": false, "isSlot": false, - "src": "20846:6:9", + "src": "20846:6:22", "valueSize": 1 }, { - "declaration": 2917, + "declaration": 4523, "isOffset": false, "isSlot": false, - "src": "20941:6:9", + "src": "20941:6:22", "valueSize": 1 }, { - "declaration": 2917, + "declaration": 4523, "isOffset": false, "isSlot": false, - "src": "22375:6:9", + "src": "22375:6:22", "valueSize": 1 }, { - "declaration": 2917, + "declaration": 4523, "isOffset": false, "isSlot": false, - "src": "22401:6:9", + "src": "22401:6:22", "valueSize": 1 }, { - "declaration": 2911, + "declaration": 4517, "isOffset": false, "isSlot": false, - "src": "20817:7:9", + "src": "20817:7:22", "valueSize": 1 }, { - "declaration": 2911, + "declaration": 4517, "isOffset": false, "isSlot": false, - "src": "20897:7:9", + "src": "20897:7:22", "valueSize": 1 }, { - "declaration": 2911, + "declaration": 4517, "isOffset": false, "isSlot": false, - "src": "21016:7:9", + "src": "21016:7:22", "valueSize": 1 }, { - "declaration": 2911, + "declaration": 4517, "isOffset": false, "isSlot": false, - "src": "21877:7:9", + "src": "21877:7:22", "valueSize": 1 } ], - "id": 2919, + "id": 4525, "nodeType": "InlineAssembly", - "src": "20721:1932:9" + "src": "20721:1932:22" } ] }, "documentation": { - "id": 2909, + "id": 4515, "nodeType": "StructuredDocumentation", - "src": "20429:96:9", + "src": "20429:96:22", "text": "@dev Returns all the indices of `needle` in `subject`.\n The indices are byte offsets." }, - "id": 2921, + "id": 4527, "implemented": true, "kind": "function", "modifiers": [], "name": "indicesOf", - "nameLocation": "20539:9:9", + "nameLocation": "20539:9:22", "nodeType": "FunctionDefinition", "parameters": { - "id": 2914, + "id": 4520, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2911, + "id": 4517, "mutability": "mutable", "name": "subject", - "nameLocation": "20562:7:9", + "nameLocation": "20562:7:22", "nodeType": "VariableDeclaration", - "scope": 2921, - "src": "20549:20:9", + "scope": 4527, + "src": "20549:20:22", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -77006,10 +95981,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2910, + "id": 4516, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "20549:5:9", + "src": "20549:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -77019,13 +95994,13 @@ }, { "constant": false, - "id": 2913, + "id": 4519, "mutability": "mutable", "name": "needle", - "nameLocation": "20584:6:9", + "nameLocation": "20584:6:22", "nodeType": "VariableDeclaration", - "scope": 2921, - "src": "20571:19:9", + "scope": 4527, + "src": "20571:19:22", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -77033,10 +96008,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2912, + "id": 4518, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "20571:5:9", + "src": "20571:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -77045,21 +96020,21 @@ "visibility": "internal" } ], - "src": "20548:43:9" + "src": "20548:43:22" }, "returnParameters": { - "id": 2918, + "id": 4524, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2917, + "id": 4523, "mutability": "mutable", "name": "result", - "nameLocation": "20656:6:9", + "nameLocation": "20656:6:22", "nodeType": "VariableDeclaration", - "scope": 2921, - "src": "20639:23:9", + "scope": 4527, + "src": "20639:23:22", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -77068,18 +96043,18 @@ }, "typeName": { "baseType": { - "id": 2915, + "id": 4521, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "20639:7:9", + "src": "20639:7:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2916, + "id": 4522, "nodeType": "ArrayTypeName", - "src": "20639:9:9", + "src": "20639:9:22", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -77088,34 +96063,34 @@ "visibility": "internal" } ], - "src": "20638:25:9" + "src": "20638:25:22" }, - "scope": 3078, - "src": "20530:2129:9", + "scope": 4684, + "src": "20530:2129:22", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 2943, + "id": 4549, "nodeType": "Block", - "src": "22897:1848:9", + "src": "22897:1848:22", "statements": [ { "assignments": [ - 2936 + 4542 ], "declarations": [ { "constant": false, - "id": 2936, + "id": 4542, "mutability": "mutable", "name": "indices", - "nameLocation": "22924:7:9", + "nameLocation": "22924:7:22", "nodeType": "VariableDeclaration", - "scope": 2943, - "src": "22907:24:9", + "scope": 4549, + "src": "22907:24:22", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -77124,18 +96099,18 @@ }, "typeName": { "baseType": { - "id": 2934, + "id": 4540, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "22907:7:9", + "src": "22907:7:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2935, + "id": 4541, "nodeType": "ArrayTypeName", - "src": "22907:9:9", + "src": "22907:9:22", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -77144,28 +96119,28 @@ "visibility": "internal" } ], - "id": 2941, + "id": 4547, "initialValue": { "arguments": [ { - "id": 2938, + "id": 4544, "name": "subject", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2924, - "src": "22944:7:9", + "referencedDeclaration": 4530, + "src": "22944:7:22", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { - "id": 2939, + "id": 4545, "name": "delimiter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2926, - "src": "22953:9:9", + "referencedDeclaration": 4532, + "src": "22953:9:22", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -77183,18 +96158,18 @@ "typeString": "bytes memory" } ], - "id": 2937, + "id": 4543, "name": "indicesOf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2921, - "src": "22934:9:9", + "referencedDeclaration": 4527, + "src": "22934:9:22", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (bytes memory,bytes memory) pure returns (uint256[] memory)" } }, - "id": 2940, + "id": 4546, "isConstant": false, "isLValue": false, "isPure": false, @@ -77203,7 +96178,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "22934:29:9", + "src": "22934:29:22", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -77211,109 +96186,109 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "22907:56:9" + "src": "22907:56:22" }, { "AST": { - "nativeSrc": "23025:1714:9", + "nativeSrc": "23025:1714:22", "nodeType": "YulBlock", - "src": "23025:1714:9", + "src": "23025:1714:22", "statements": [ { - "nativeSrc": "23039:18:9", + "nativeSrc": "23039:18:22", "nodeType": "YulVariableDeclaration", - "src": "23039:18:9", + "src": "23039:18:22", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "23052:4:9", + "nativeSrc": "23052:4:22", "nodeType": "YulLiteral", - "src": "23052:4:9", + "src": "23052:4:22", "type": "", "value": "0x1f" } ], "functionName": { "name": "not", - "nativeSrc": "23048:3:9", + "nativeSrc": "23048:3:22", "nodeType": "YulIdentifier", - "src": "23048:3:9" + "src": "23048:3:22" }, - "nativeSrc": "23048:9:9", + "nativeSrc": "23048:9:22", "nodeType": "YulFunctionCall", - "src": "23048:9:9" + "src": "23048:9:22" }, "variables": [ { "name": "w", - "nativeSrc": "23043:1:9", + "nativeSrc": "23043:1:22", "nodeType": "YulTypedName", - "src": "23043:1:9", + "src": "23043:1:22", "type": "" } ] }, { - "nativeSrc": "23070:34:9", + "nativeSrc": "23070:34:22", "nodeType": "YulVariableDeclaration", - "src": "23070:34:9", + "src": "23070:34:22", "value": { "arguments": [ { "name": "indices", - "nativeSrc": "23090:7:9", + "nativeSrc": "23090:7:22", "nodeType": "YulIdentifier", - "src": "23090:7:9" + "src": "23090:7:22" }, { "kind": "number", - "nativeSrc": "23099:4:9", + "nativeSrc": "23099:4:22", "nodeType": "YulLiteral", - "src": "23099:4:9", + "src": "23099:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "23086:3:9", + "nativeSrc": "23086:3:22", "nodeType": "YulIdentifier", - "src": "23086:3:9" + "src": "23086:3:22" }, - "nativeSrc": "23086:18:9", + "nativeSrc": "23086:18:22", "nodeType": "YulFunctionCall", - "src": "23086:18:9" + "src": "23086:18:22" }, "variables": [ { "name": "indexPtr", - "nativeSrc": "23074:8:9", + "nativeSrc": "23074:8:22", "nodeType": "YulTypedName", - "src": "23074:8:9", + "src": "23074:8:22", "type": "" } ] }, { - "nativeSrc": "23117:63:9", + "nativeSrc": "23117:63:22", "nodeType": "YulVariableDeclaration", - "src": "23117:63:9", + "src": "23117:63:22", "value": { "arguments": [ { "name": "indexPtr", - "nativeSrc": "23139:8:9", + "nativeSrc": "23139:8:22", "nodeType": "YulIdentifier", - "src": "23139:8:9" + "src": "23139:8:22" }, { "arguments": [ { "kind": "number", - "nativeSrc": "23153:1:9", + "nativeSrc": "23153:1:22", "nodeType": "YulLiteral", - "src": "23153:1:9", + "src": "23153:1:22", "type": "", "value": "5" }, @@ -77323,68 +96298,68 @@ "arguments": [ { "name": "indices", - "nativeSrc": "23166:7:9", + "nativeSrc": "23166:7:22", "nodeType": "YulIdentifier", - "src": "23166:7:9" + "src": "23166:7:22" } ], "functionName": { "name": "mload", - "nativeSrc": "23160:5:9", + "nativeSrc": "23160:5:22", "nodeType": "YulIdentifier", - "src": "23160:5:9" + "src": "23160:5:22" }, - "nativeSrc": "23160:14:9", + "nativeSrc": "23160:14:22", "nodeType": "YulFunctionCall", - "src": "23160:14:9" + "src": "23160:14:22" }, { "kind": "number", - "nativeSrc": "23176:1:9", + "nativeSrc": "23176:1:22", "nodeType": "YulLiteral", - "src": "23176:1:9", + "src": "23176:1:22", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "23156:3:9", + "nativeSrc": "23156:3:22", "nodeType": "YulIdentifier", - "src": "23156:3:9" + "src": "23156:3:22" }, - "nativeSrc": "23156:22:9", + "nativeSrc": "23156:22:22", "nodeType": "YulFunctionCall", - "src": "23156:22:9" + "src": "23156:22:22" } ], "functionName": { "name": "shl", - "nativeSrc": "23149:3:9", + "nativeSrc": "23149:3:22", "nodeType": "YulIdentifier", - "src": "23149:3:9" + "src": "23149:3:22" }, - "nativeSrc": "23149:30:9", + "nativeSrc": "23149:30:22", "nodeType": "YulFunctionCall", - "src": "23149:30:9" + "src": "23149:30:22" } ], "functionName": { "name": "add", - "nativeSrc": "23135:3:9", + "nativeSrc": "23135:3:22", "nodeType": "YulIdentifier", - "src": "23135:3:9" + "src": "23135:3:22" }, - "nativeSrc": "23135:45:9", + "nativeSrc": "23135:45:22", "nodeType": "YulFunctionCall", - "src": "23135:45:9" + "src": "23135:45:22" }, "variables": [ { "name": "indicesEnd", - "nativeSrc": "23121:10:9", + "nativeSrc": "23121:10:22", "nodeType": "YulTypedName", - "src": "23121:10:9", + "src": "23121:10:22", "type": "" } ] @@ -77396,69 +96371,69 @@ "arguments": [ { "name": "indicesEnd", - "nativeSrc": "23204:10:9", + "nativeSrc": "23204:10:22", "nodeType": "YulIdentifier", - "src": "23204:10:9" + "src": "23204:10:22" }, { "name": "w", - "nativeSrc": "23216:1:9", + "nativeSrc": "23216:1:22", "nodeType": "YulIdentifier", - "src": "23216:1:9" + "src": "23216:1:22" } ], "functionName": { "name": "add", - "nativeSrc": "23200:3:9", + "nativeSrc": "23200:3:22", "nodeType": "YulIdentifier", - "src": "23200:3:9" + "src": "23200:3:22" }, - "nativeSrc": "23200:18:9", + "nativeSrc": "23200:18:22", "nodeType": "YulFunctionCall", - "src": "23200:18:9" + "src": "23200:18:22" }, { "arguments": [ { "name": "subject", - "nativeSrc": "23226:7:9", + "nativeSrc": "23226:7:22", "nodeType": "YulIdentifier", - "src": "23226:7:9" + "src": "23226:7:22" } ], "functionName": { "name": "mload", - "nativeSrc": "23220:5:9", + "nativeSrc": "23220:5:22", "nodeType": "YulIdentifier", - "src": "23220:5:9" + "src": "23220:5:22" }, - "nativeSrc": "23220:14:9", + "nativeSrc": "23220:14:22", "nodeType": "YulFunctionCall", - "src": "23220:14:9" + "src": "23220:14:22" } ], "functionName": { "name": "mstore", - "nativeSrc": "23193:6:9", + "nativeSrc": "23193:6:22", "nodeType": "YulIdentifier", - "src": "23193:6:9" + "src": "23193:6:22" }, - "nativeSrc": "23193:42:9", + "nativeSrc": "23193:42:22", "nodeType": "YulFunctionCall", - "src": "23193:42:9" + "src": "23193:42:22" }, - "nativeSrc": "23193:42:9", + "nativeSrc": "23193:42:22", "nodeType": "YulExpressionStatement", - "src": "23193:42:9" + "src": "23193:42:22" }, { "expression": { "arguments": [ { "name": "indices", - "nativeSrc": "23255:7:9", + "nativeSrc": "23255:7:22", "nodeType": "YulIdentifier", - "src": "23255:7:9" + "src": "23255:7:22" }, { "arguments": [ @@ -77466,90 +96441,90 @@ "arguments": [ { "name": "indices", - "nativeSrc": "23274:7:9", + "nativeSrc": "23274:7:22", "nodeType": "YulIdentifier", - "src": "23274:7:9" + "src": "23274:7:22" } ], "functionName": { "name": "mload", - "nativeSrc": "23268:5:9", + "nativeSrc": "23268:5:22", "nodeType": "YulIdentifier", - "src": "23268:5:9" + "src": "23268:5:22" }, - "nativeSrc": "23268:14:9", + "nativeSrc": "23268:14:22", "nodeType": "YulFunctionCall", - "src": "23268:14:9" + "src": "23268:14:22" }, { "kind": "number", - "nativeSrc": "23284:1:9", + "nativeSrc": "23284:1:22", "nodeType": "YulLiteral", - "src": "23284:1:9", + "src": "23284:1:22", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "23264:3:9", + "nativeSrc": "23264:3:22", "nodeType": "YulIdentifier", - "src": "23264:3:9" + "src": "23264:3:22" }, - "nativeSrc": "23264:22:9", + "nativeSrc": "23264:22:22", "nodeType": "YulFunctionCall", - "src": "23264:22:9" + "src": "23264:22:22" } ], "functionName": { "name": "mstore", - "nativeSrc": "23248:6:9", + "nativeSrc": "23248:6:22", "nodeType": "YulIdentifier", - "src": "23248:6:9" + "src": "23248:6:22" }, - "nativeSrc": "23248:39:9", + "nativeSrc": "23248:39:22", "nodeType": "YulFunctionCall", - "src": "23248:39:9" + "src": "23248:39:22" }, - "nativeSrc": "23248:39:9", + "nativeSrc": "23248:39:22", "nodeType": "YulExpressionStatement", - "src": "23248:39:9" + "src": "23248:39:22" }, { "body": { - "nativeSrc": "23332:1211:9", + "nativeSrc": "23332:1211:22", "nodeType": "YulBlock", - "src": "23332:1211:9", + "src": "23332:1211:22", "statements": [ { - "nativeSrc": "23350:28:9", + "nativeSrc": "23350:28:22", "nodeType": "YulVariableDeclaration", - "src": "23350:28:9", + "src": "23350:28:22", "value": { "arguments": [ { "name": "indexPtr", - "nativeSrc": "23369:8:9", + "nativeSrc": "23369:8:22", "nodeType": "YulIdentifier", - "src": "23369:8:9" + "src": "23369:8:22" } ], "functionName": { "name": "mload", - "nativeSrc": "23363:5:9", + "nativeSrc": "23363:5:22", "nodeType": "YulIdentifier", - "src": "23363:5:9" + "src": "23363:5:22" }, - "nativeSrc": "23363:15:9", + "nativeSrc": "23363:15:22", "nodeType": "YulFunctionCall", - "src": "23363:15:9" + "src": "23363:15:22" }, "variables": [ { "name": "index", - "nativeSrc": "23354:5:9", + "nativeSrc": "23354:5:22", "nodeType": "YulTypedName", - "src": "23354:5:9", + "src": "23354:5:22", "type": "" } ] @@ -77559,109 +96534,109 @@ "arguments": [ { "name": "indexPtr", - "nativeSrc": "23402:8:9", + "nativeSrc": "23402:8:22", "nodeType": "YulIdentifier", - "src": "23402:8:9" + "src": "23402:8:22" }, { "kind": "number", - "nativeSrc": "23412:4:9", + "nativeSrc": "23412:4:22", "nodeType": "YulLiteral", - "src": "23412:4:9", + "src": "23412:4:22", "type": "", "value": "0x60" } ], "functionName": { "name": "mstore", - "nativeSrc": "23395:6:9", + "nativeSrc": "23395:6:22", "nodeType": "YulIdentifier", - "src": "23395:6:9" + "src": "23395:6:22" }, - "nativeSrc": "23395:22:9", + "nativeSrc": "23395:22:22", "nodeType": "YulFunctionCall", - "src": "23395:22:9" + "src": "23395:22:22" }, - "nativeSrc": "23395:22:9", + "nativeSrc": "23395:22:22", "nodeType": "YulExpressionStatement", - "src": "23395:22:9" + "src": "23395:22:22" }, { "body": { - "nativeSrc": "23466:895:9", + "nativeSrc": "23466:895:22", "nodeType": "YulBlock", - "src": "23466:895:9", + "src": "23466:895:22", "statements": [ { - "nativeSrc": "23488:26:9", + "nativeSrc": "23488:26:22", "nodeType": "YulVariableDeclaration", - "src": "23488:26:9", + "src": "23488:26:22", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "23509:4:9", + "nativeSrc": "23509:4:22", "nodeType": "YulLiteral", - "src": "23509:4:9", + "src": "23509:4:22", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "23503:5:9", + "nativeSrc": "23503:5:22", "nodeType": "YulIdentifier", - "src": "23503:5:9" + "src": "23503:5:22" }, - "nativeSrc": "23503:11:9", + "nativeSrc": "23503:11:22", "nodeType": "YulFunctionCall", - "src": "23503:11:9" + "src": "23503:11:22" }, "variables": [ { "name": "element", - "nativeSrc": "23492:7:9", + "nativeSrc": "23492:7:22", "nodeType": "YulTypedName", - "src": "23492:7:9", + "src": "23492:7:22", "type": "" } ] }, { - "nativeSrc": "23535:30:9", + "nativeSrc": "23535:30:22", "nodeType": "YulVariableDeclaration", - "src": "23535:30:9", + "src": "23535:30:22", "value": { "arguments": [ { "name": "index", - "nativeSrc": "23548:5:9", + "nativeSrc": "23548:5:22", "nodeType": "YulIdentifier", - "src": "23548:5:9" + "src": "23548:5:22" }, { "name": "prevIndex", - "nativeSrc": "23555:9:9", + "nativeSrc": "23555:9:22", "nodeType": "YulIdentifier", - "src": "23555:9:9" + "src": "23555:9:22" } ], "functionName": { "name": "sub", - "nativeSrc": "23544:3:9", + "nativeSrc": "23544:3:22", "nodeType": "YulIdentifier", - "src": "23544:3:9" + "src": "23544:3:22" }, - "nativeSrc": "23544:21:9", + "nativeSrc": "23544:21:22", "nodeType": "YulFunctionCall", - "src": "23544:21:9" + "src": "23544:21:22" }, "variables": [ { "name": "l", - "nativeSrc": "23539:1:9", + "nativeSrc": "23539:1:22", "nodeType": "YulTypedName", - "src": "23539:1:9", + "src": "23539:1:22", "type": "" } ] @@ -77671,36 +96646,36 @@ "arguments": [ { "name": "element", - "nativeSrc": "23593:7:9", + "nativeSrc": "23593:7:22", "nodeType": "YulIdentifier", - "src": "23593:7:9" + "src": "23593:7:22" }, { "name": "l", - "nativeSrc": "23602:1:9", + "nativeSrc": "23602:1:22", "nodeType": "YulIdentifier", - "src": "23602:1:9" + "src": "23602:1:22" } ], "functionName": { "name": "mstore", - "nativeSrc": "23586:6:9", + "nativeSrc": "23586:6:22", "nodeType": "YulIdentifier", - "src": "23586:6:9" + "src": "23586:6:22" }, - "nativeSrc": "23586:18:9", + "nativeSrc": "23586:18:22", "nodeType": "YulFunctionCall", - "src": "23586:18:9" + "src": "23586:18:22" }, - "nativeSrc": "23586:18:9", + "nativeSrc": "23586:18:22", "nodeType": "YulExpressionStatement", - "src": "23586:18:9" + "src": "23586:18:22" }, { "body": { - "nativeSrc": "23777:216:9", + "nativeSrc": "23777:216:22", "nodeType": "YulBlock", - "src": "23777:216:9", + "src": "23777:216:22", "statements": [ { "expression": { @@ -77709,26 +96684,26 @@ "arguments": [ { "name": "element", - "nativeSrc": "23814:7:9", + "nativeSrc": "23814:7:22", "nodeType": "YulIdentifier", - "src": "23814:7:9" + "src": "23814:7:22" }, { "name": "o", - "nativeSrc": "23823:1:9", + "nativeSrc": "23823:1:22", "nodeType": "YulIdentifier", - "src": "23823:1:9" + "src": "23823:1:22" } ], "functionName": { "name": "add", - "nativeSrc": "23810:3:9", + "nativeSrc": "23810:3:22", "nodeType": "YulIdentifier", - "src": "23810:3:9" + "src": "23810:3:22" }, - "nativeSrc": "23810:15:9", + "nativeSrc": "23810:15:22", "nodeType": "YulFunctionCall", - "src": "23810:15:9" + "src": "23810:15:22" }, { "arguments": [ @@ -77738,118 +96713,118 @@ "arguments": [ { "name": "subject", - "nativeSrc": "23841:7:9", + "nativeSrc": "23841:7:22", "nodeType": "YulIdentifier", - "src": "23841:7:9" + "src": "23841:7:22" }, { "name": "prevIndex", - "nativeSrc": "23850:9:9", + "nativeSrc": "23850:9:22", "nodeType": "YulIdentifier", - "src": "23850:9:9" + "src": "23850:9:22" } ], "functionName": { "name": "add", - "nativeSrc": "23837:3:9", + "nativeSrc": "23837:3:22", "nodeType": "YulIdentifier", - "src": "23837:3:9" + "src": "23837:3:22" }, - "nativeSrc": "23837:23:9", + "nativeSrc": "23837:23:22", "nodeType": "YulFunctionCall", - "src": "23837:23:9" + "src": "23837:23:22" }, { "name": "o", - "nativeSrc": "23862:1:9", + "nativeSrc": "23862:1:22", "nodeType": "YulIdentifier", - "src": "23862:1:9" + "src": "23862:1:22" } ], "functionName": { "name": "add", - "nativeSrc": "23833:3:9", + "nativeSrc": "23833:3:22", "nodeType": "YulIdentifier", - "src": "23833:3:9" + "src": "23833:3:22" }, - "nativeSrc": "23833:31:9", + "nativeSrc": "23833:31:22", "nodeType": "YulFunctionCall", - "src": "23833:31:9" + "src": "23833:31:22" } ], "functionName": { "name": "mload", - "nativeSrc": "23827:5:9", + "nativeSrc": "23827:5:22", "nodeType": "YulIdentifier", - "src": "23827:5:9" + "src": "23827:5:22" }, - "nativeSrc": "23827:38:9", + "nativeSrc": "23827:38:22", "nodeType": "YulFunctionCall", - "src": "23827:38:9" + "src": "23827:38:22" } ], "functionName": { "name": "mstore", - "nativeSrc": "23803:6:9", + "nativeSrc": "23803:6:22", "nodeType": "YulIdentifier", - "src": "23803:6:9" + "src": "23803:6:22" }, - "nativeSrc": "23803:63:9", + "nativeSrc": "23803:63:22", "nodeType": "YulFunctionCall", - "src": "23803:63:9" + "src": "23803:63:22" }, - "nativeSrc": "23803:63:9", + "nativeSrc": "23803:63:22", "nodeType": "YulExpressionStatement", - "src": "23803:63:9" + "src": "23803:63:22" }, { - "nativeSrc": "23891:14:9", + "nativeSrc": "23891:14:22", "nodeType": "YulAssignment", - "src": "23891:14:9", + "src": "23891:14:22", "value": { "arguments": [ { "name": "o", - "nativeSrc": "23900:1:9", + "nativeSrc": "23900:1:22", "nodeType": "YulIdentifier", - "src": "23900:1:9" + "src": "23900:1:22" }, { "name": "w", - "nativeSrc": "23903:1:9", + "nativeSrc": "23903:1:22", "nodeType": "YulIdentifier", - "src": "23903:1:9" + "src": "23903:1:22" } ], "functionName": { "name": "add", - "nativeSrc": "23896:3:9", + "nativeSrc": "23896:3:22", "nodeType": "YulIdentifier", - "src": "23896:3:9" + "src": "23896:3:22" }, - "nativeSrc": "23896:9:9", + "nativeSrc": "23896:9:22", "nodeType": "YulFunctionCall", - "src": "23896:9:9" + "src": "23896:9:22" }, "variableNames": [ { "name": "o", - "nativeSrc": "23891:1:9", + "nativeSrc": "23891:1:22", "nodeType": "YulIdentifier", - "src": "23891:1:9" + "src": "23891:1:22" } ] }, { "body": { - "nativeSrc": "23962:9:9", + "nativeSrc": "23962:9:22", "nodeType": "YulBlock", - "src": "23962:9:9", + "src": "23962:9:22", "statements": [ { - "nativeSrc": "23964:5:9", + "nativeSrc": "23964:5:22", "nodeType": "YulBreak", - "src": "23964:5:9" + "src": "23964:5:22" } ] }, @@ -77857,111 +96832,111 @@ "arguments": [ { "name": "o", - "nativeSrc": "23959:1:9", + "nativeSrc": "23959:1:22", "nodeType": "YulIdentifier", - "src": "23959:1:9" + "src": "23959:1:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "23952:6:9", + "nativeSrc": "23952:6:22", "nodeType": "YulIdentifier", - "src": "23952:6:9" + "src": "23952:6:22" }, - "nativeSrc": "23952:9:9", + "nativeSrc": "23952:9:22", "nodeType": "YulFunctionCall", - "src": "23952:9:9" + "src": "23952:9:22" }, - "nativeSrc": "23949:22:9", + "nativeSrc": "23949:22:22", "nodeType": "YulIf", - "src": "23949:22:9" + "src": "23949:22:22" } ] }, "condition": { "kind": "number", - "nativeSrc": "23772:1:9", + "nativeSrc": "23772:1:22", "nodeType": "YulLiteral", - "src": "23772:1:9", + "src": "23772:1:22", "type": "", "value": "1" }, - "nativeSrc": "23734:259:9", + "nativeSrc": "23734:259:22", "nodeType": "YulForLoop", "post": { - "nativeSrc": "23774:2:9", + "nativeSrc": "23774:2:22", "nodeType": "YulBlock", - "src": "23774:2:9", + "src": "23774:2:22", "statements": [] }, "pre": { - "nativeSrc": "23738:33:9", + "nativeSrc": "23738:33:22", "nodeType": "YulBlock", - "src": "23738:33:9", + "src": "23738:33:22", "statements": [ { - "nativeSrc": "23740:29:9", + "nativeSrc": "23740:29:22", "nodeType": "YulVariableDeclaration", - "src": "23740:29:9", + "src": "23740:29:22", "value": { "arguments": [ { "arguments": [ { "name": "l", - "nativeSrc": "23757:1:9", + "nativeSrc": "23757:1:22", "nodeType": "YulIdentifier", - "src": "23757:1:9" + "src": "23757:1:22" }, { "kind": "number", - "nativeSrc": "23760:4:9", + "nativeSrc": "23760:4:22", "nodeType": "YulLiteral", - "src": "23760:4:9", + "src": "23760:4:22", "type": "", "value": "0x1f" } ], "functionName": { "name": "add", - "nativeSrc": "23753:3:9", + "nativeSrc": "23753:3:22", "nodeType": "YulIdentifier", - "src": "23753:3:9" + "src": "23753:3:22" }, - "nativeSrc": "23753:12:9", + "nativeSrc": "23753:12:22", "nodeType": "YulFunctionCall", - "src": "23753:12:9" + "src": "23753:12:22" }, { "name": "w", - "nativeSrc": "23767:1:9", + "nativeSrc": "23767:1:22", "nodeType": "YulIdentifier", - "src": "23767:1:9" + "src": "23767:1:22" } ], "functionName": { "name": "and", - "nativeSrc": "23749:3:9", + "nativeSrc": "23749:3:22", "nodeType": "YulIdentifier", - "src": "23749:3:9" + "src": "23749:3:22" }, - "nativeSrc": "23749:20:9", + "nativeSrc": "23749:20:22", "nodeType": "YulFunctionCall", - "src": "23749:20:9" + "src": "23749:20:22" }, "variables": [ { "name": "o", - "nativeSrc": "23744:1:9", + "nativeSrc": "23744:1:22", "nodeType": "YulTypedName", - "src": "23744:1:9", + "src": "23744:1:22", "type": "" } ] } ] }, - "src": "23734:259:9" + "src": "23734:259:22" }, { "expression": { @@ -77972,77 +96947,77 @@ "arguments": [ { "name": "element", - "nativeSrc": "24029:7:9", + "nativeSrc": "24029:7:22", "nodeType": "YulIdentifier", - "src": "24029:7:9" + "src": "24029:7:22" }, { "kind": "number", - "nativeSrc": "24038:4:9", + "nativeSrc": "24038:4:22", "nodeType": "YulLiteral", - "src": "24038:4:9", + "src": "24038:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "24025:3:9", + "nativeSrc": "24025:3:22", "nodeType": "YulIdentifier", - "src": "24025:3:9" + "src": "24025:3:22" }, - "nativeSrc": "24025:18:9", + "nativeSrc": "24025:18:22", "nodeType": "YulFunctionCall", - "src": "24025:18:9" + "src": "24025:18:22" }, { "name": "l", - "nativeSrc": "24045:1:9", + "nativeSrc": "24045:1:22", "nodeType": "YulIdentifier", - "src": "24045:1:9" + "src": "24045:1:22" } ], "functionName": { "name": "add", - "nativeSrc": "24021:3:9", + "nativeSrc": "24021:3:22", "nodeType": "YulIdentifier", - "src": "24021:3:9" + "src": "24021:3:22" }, - "nativeSrc": "24021:26:9", + "nativeSrc": "24021:26:22", "nodeType": "YulFunctionCall", - "src": "24021:26:9" + "src": "24021:26:22" }, { "kind": "number", - "nativeSrc": "24049:1:9", + "nativeSrc": "24049:1:22", "nodeType": "YulLiteral", - "src": "24049:1:9", + "src": "24049:1:22", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "24014:6:9", + "nativeSrc": "24014:6:22", "nodeType": "YulIdentifier", - "src": "24014:6:9" + "src": "24014:6:22" }, - "nativeSrc": "24014:37:9", + "nativeSrc": "24014:37:22", "nodeType": "YulFunctionCall", - "src": "24014:37:9" + "src": "24014:37:22" }, - "nativeSrc": "24014:37:9", + "nativeSrc": "24014:37:22", "nodeType": "YulExpressionStatement", - "src": "24014:37:9" + "src": "24014:37:22" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "24217:4:9", + "nativeSrc": "24217:4:22", "nodeType": "YulLiteral", - "src": "24217:4:9", + "src": "24217:4:22", "type": "", "value": "0x40" }, @@ -78050,9 +97025,9 @@ "arguments": [ { "name": "element", - "nativeSrc": "24227:7:9", + "nativeSrc": "24227:7:22", "nodeType": "YulIdentifier", - "src": "24227:7:9" + "src": "24227:7:22" }, { "arguments": [ @@ -78060,101 +97035,101 @@ "arguments": [ { "name": "l", - "nativeSrc": "24244:1:9", + "nativeSrc": "24244:1:22", "nodeType": "YulIdentifier", - "src": "24244:1:9" + "src": "24244:1:22" }, { "kind": "number", - "nativeSrc": "24247:4:9", + "nativeSrc": "24247:4:22", "nodeType": "YulLiteral", - "src": "24247:4:9", + "src": "24247:4:22", "type": "", "value": "0x3f" } ], "functionName": { "name": "add", - "nativeSrc": "24240:3:9", + "nativeSrc": "24240:3:22", "nodeType": "YulIdentifier", - "src": "24240:3:9" + "src": "24240:3:22" }, - "nativeSrc": "24240:12:9", + "nativeSrc": "24240:12:22", "nodeType": "YulFunctionCall", - "src": "24240:12:9" + "src": "24240:12:22" }, { "name": "w", - "nativeSrc": "24254:1:9", + "nativeSrc": "24254:1:22", "nodeType": "YulIdentifier", - "src": "24254:1:9" + "src": "24254:1:22" } ], "functionName": { "name": "and", - "nativeSrc": "24236:3:9", + "nativeSrc": "24236:3:22", "nodeType": "YulIdentifier", - "src": "24236:3:9" + "src": "24236:3:22" }, - "nativeSrc": "24236:20:9", + "nativeSrc": "24236:20:22", "nodeType": "YulFunctionCall", - "src": "24236:20:9" + "src": "24236:20:22" } ], "functionName": { "name": "add", - "nativeSrc": "24223:3:9", + "nativeSrc": "24223:3:22", "nodeType": "YulIdentifier", - "src": "24223:3:9" + "src": "24223:3:22" }, - "nativeSrc": "24223:34:9", + "nativeSrc": "24223:34:22", "nodeType": "YulFunctionCall", - "src": "24223:34:9" + "src": "24223:34:22" } ], "functionName": { "name": "mstore", - "nativeSrc": "24210:6:9", + "nativeSrc": "24210:6:22", "nodeType": "YulIdentifier", - "src": "24210:6:9" + "src": "24210:6:22" }, - "nativeSrc": "24210:48:9", + "nativeSrc": "24210:48:22", "nodeType": "YulFunctionCall", - "src": "24210:48:9" + "src": "24210:48:22" }, - "nativeSrc": "24210:48:9", + "nativeSrc": "24210:48:22", "nodeType": "YulExpressionStatement", - "src": "24210:48:9" + "src": "24210:48:22" }, { "expression": { "arguments": [ { "name": "indexPtr", - "nativeSrc": "24286:8:9", + "nativeSrc": "24286:8:22", "nodeType": "YulIdentifier", - "src": "24286:8:9" + "src": "24286:8:22" }, { "name": "element", - "nativeSrc": "24296:7:9", + "nativeSrc": "24296:7:22", "nodeType": "YulIdentifier", - "src": "24296:7:9" + "src": "24296:7:22" } ], "functionName": { "name": "mstore", - "nativeSrc": "24279:6:9", + "nativeSrc": "24279:6:22", "nodeType": "YulIdentifier", - "src": "24279:6:9" + "src": "24279:6:22" }, - "nativeSrc": "24279:25:9", + "nativeSrc": "24279:25:22", "nodeType": "YulFunctionCall", - "src": "24279:25:9" + "src": "24279:25:22" }, - "nativeSrc": "24279:25:9", + "nativeSrc": "24279:25:22", "nodeType": "YulExpressionStatement", - "src": "24279:25:9" + "src": "24279:25:22" } ] }, @@ -78164,143 +97139,143 @@ "arguments": [ { "name": "index", - "nativeSrc": "23447:5:9", + "nativeSrc": "23447:5:22", "nodeType": "YulIdentifier", - "src": "23447:5:9" + "src": "23447:5:22" }, { "name": "prevIndex", - "nativeSrc": "23454:9:9", + "nativeSrc": "23454:9:22", "nodeType": "YulIdentifier", - "src": "23454:9:9" + "src": "23454:9:22" } ], "functionName": { "name": "eq", - "nativeSrc": "23444:2:9", + "nativeSrc": "23444:2:22", "nodeType": "YulIdentifier", - "src": "23444:2:9" + "src": "23444:2:22" }, - "nativeSrc": "23444:20:9", + "nativeSrc": "23444:20:22", "nodeType": "YulFunctionCall", - "src": "23444:20:9" + "src": "23444:20:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "23437:6:9", + "nativeSrc": "23437:6:22", "nodeType": "YulIdentifier", - "src": "23437:6:9" + "src": "23437:6:22" }, - "nativeSrc": "23437:28:9", + "nativeSrc": "23437:28:22", "nodeType": "YulFunctionCall", - "src": "23437:28:9" + "src": "23437:28:22" }, - "nativeSrc": "23434:927:9", + "nativeSrc": "23434:927:22", "nodeType": "YulIf", - "src": "23434:927:9" + "src": "23434:927:22" }, { - "nativeSrc": "24378:41:9", + "nativeSrc": "24378:41:22", "nodeType": "YulAssignment", - "src": "24378:41:9", + "src": "24378:41:22", "value": { "arguments": [ { "name": "index", - "nativeSrc": "24395:5:9", + "nativeSrc": "24395:5:22", "nodeType": "YulIdentifier", - "src": "24395:5:9" + "src": "24395:5:22" }, { "arguments": [ { "name": "delimiter", - "nativeSrc": "24408:9:9", + "nativeSrc": "24408:9:22", "nodeType": "YulIdentifier", - "src": "24408:9:9" + "src": "24408:9:22" } ], "functionName": { "name": "mload", - "nativeSrc": "24402:5:9", + "nativeSrc": "24402:5:22", "nodeType": "YulIdentifier", - "src": "24402:5:9" + "src": "24402:5:22" }, - "nativeSrc": "24402:16:9", + "nativeSrc": "24402:16:22", "nodeType": "YulFunctionCall", - "src": "24402:16:9" + "src": "24402:16:22" } ], "functionName": { "name": "add", - "nativeSrc": "24391:3:9", + "nativeSrc": "24391:3:22", "nodeType": "YulIdentifier", - "src": "24391:3:9" + "src": "24391:3:22" }, - "nativeSrc": "24391:28:9", + "nativeSrc": "24391:28:22", "nodeType": "YulFunctionCall", - "src": "24391:28:9" + "src": "24391:28:22" }, "variableNames": [ { "name": "prevIndex", - "nativeSrc": "24378:9:9", + "nativeSrc": "24378:9:22", "nodeType": "YulIdentifier", - "src": "24378:9:9" + "src": "24378:9:22" } ] }, { - "nativeSrc": "24436:31:9", + "nativeSrc": "24436:31:22", "nodeType": "YulAssignment", - "src": "24436:31:9", + "src": "24436:31:22", "value": { "arguments": [ { "name": "indexPtr", - "nativeSrc": "24452:8:9", + "nativeSrc": "24452:8:22", "nodeType": "YulIdentifier", - "src": "24452:8:9" + "src": "24452:8:22" }, { "kind": "number", - "nativeSrc": "24462:4:9", + "nativeSrc": "24462:4:22", "nodeType": "YulLiteral", - "src": "24462:4:9", + "src": "24462:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "24448:3:9", + "nativeSrc": "24448:3:22", "nodeType": "YulIdentifier", - "src": "24448:3:9" + "src": "24448:3:22" }, - "nativeSrc": "24448:19:9", + "nativeSrc": "24448:19:22", "nodeType": "YulFunctionCall", - "src": "24448:19:9" + "src": "24448:19:22" }, "variableNames": [ { "name": "indexPtr", - "nativeSrc": "24436:8:9", + "nativeSrc": "24436:8:22", "nodeType": "YulIdentifier", - "src": "24436:8:9" + "src": "24436:8:22" } ] }, { "body": { - "nativeSrc": "24520:9:9", + "nativeSrc": "24520:9:22", "nodeType": "YulBlock", - "src": "24520:9:9", + "src": "24520:9:22", "statements": [ { - "nativeSrc": "24522:5:9", + "nativeSrc": "24522:5:22", "nodeType": "YulBreak", - "src": "24522:5:9" + "src": "24522:5:22" } ] }, @@ -78310,153 +97285,153 @@ "arguments": [ { "name": "indexPtr", - "nativeSrc": "24497:8:9", + "nativeSrc": "24497:8:22", "nodeType": "YulIdentifier", - "src": "24497:8:9" + "src": "24497:8:22" }, { "name": "indicesEnd", - "nativeSrc": "24507:10:9", + "nativeSrc": "24507:10:22", "nodeType": "YulIdentifier", - "src": "24507:10:9" + "src": "24507:10:22" } ], "functionName": { "name": "lt", - "nativeSrc": "24494:2:9", + "nativeSrc": "24494:2:22", "nodeType": "YulIdentifier", - "src": "24494:2:9" + "src": "24494:2:22" }, - "nativeSrc": "24494:24:9", + "nativeSrc": "24494:24:22", "nodeType": "YulFunctionCall", - "src": "24494:24:9" + "src": "24494:24:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "24487:6:9", + "nativeSrc": "24487:6:22", "nodeType": "YulIdentifier", - "src": "24487:6:9" + "src": "24487:6:22" }, - "nativeSrc": "24487:32:9", + "nativeSrc": "24487:32:22", "nodeType": "YulFunctionCall", - "src": "24487:32:9" + "src": "24487:32:22" }, - "nativeSrc": "24484:45:9", + "nativeSrc": "24484:45:22", "nodeType": "YulIf", - "src": "24484:45:9" + "src": "24484:45:22" } ] }, "condition": { "kind": "number", - "nativeSrc": "23327:1:9", + "nativeSrc": "23327:1:22", "nodeType": "YulLiteral", - "src": "23327:1:9", + "src": "23327:1:22", "type": "", "value": "1" }, - "nativeSrc": "23300:1243:9", + "nativeSrc": "23300:1243:22", "nodeType": "YulForLoop", "post": { - "nativeSrc": "23329:2:9", + "nativeSrc": "23329:2:22", "nodeType": "YulBlock", - "src": "23329:2:9", + "src": "23329:2:22", "statements": [] }, "pre": { - "nativeSrc": "23304:22:9", + "nativeSrc": "23304:22:22", "nodeType": "YulBlock", - "src": "23304:22:9", + "src": "23304:22:22", "statements": [ { - "nativeSrc": "23306:18:9", + "nativeSrc": "23306:18:22", "nodeType": "YulVariableDeclaration", - "src": "23306:18:9", + "src": "23306:18:22", "value": { "kind": "number", - "nativeSrc": "23323:1:9", + "nativeSrc": "23323:1:22", "nodeType": "YulLiteral", - "src": "23323:1:9", + "src": "23323:1:22", "type": "", "value": "0" }, "variables": [ { "name": "prevIndex", - "nativeSrc": "23310:9:9", + "nativeSrc": "23310:9:22", "nodeType": "YulTypedName", - "src": "23310:9:9", + "src": "23310:9:22", "type": "" } ] } ] }, - "src": "23300:1243:9" + "src": "23300:1243:22" }, { - "nativeSrc": "24556:17:9", + "nativeSrc": "24556:17:22", "nodeType": "YulAssignment", - "src": "24556:17:9", + "src": "24556:17:22", "value": { "name": "indices", - "nativeSrc": "24566:7:9", + "nativeSrc": "24566:7:22", "nodeType": "YulIdentifier", - "src": "24566:7:9" + "src": "24566:7:22" }, "variableNames": [ { "name": "result", - "nativeSrc": "24556:6:9", + "nativeSrc": "24556:6:22", "nodeType": "YulIdentifier", - "src": "24556:6:9" + "src": "24556:6:22" } ] }, { "body": { - "nativeSrc": "24614:115:9", + "nativeSrc": "24614:115:22", "nodeType": "YulBlock", - "src": "24614:115:9", + "src": "24614:115:22", "statements": [ { - "nativeSrc": "24632:28:9", + "nativeSrc": "24632:28:22", "nodeType": "YulAssignment", - "src": "24632:28:9", + "src": "24632:28:22", "value": { "arguments": [ { "name": "indices", - "nativeSrc": "24646:7:9", + "nativeSrc": "24646:7:22", "nodeType": "YulIdentifier", - "src": "24646:7:9" + "src": "24646:7:22" }, { "kind": "number", - "nativeSrc": "24655:4:9", + "nativeSrc": "24655:4:22", "nodeType": "YulLiteral", - "src": "24655:4:9", + "src": "24655:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "24642:3:9", + "nativeSrc": "24642:3:22", "nodeType": "YulIdentifier", - "src": "24642:3:9" + "src": "24642:3:22" }, - "nativeSrc": "24642:18:9", + "nativeSrc": "24642:18:22", "nodeType": "YulFunctionCall", - "src": "24642:18:9" + "src": "24642:18:22" }, "variableNames": [ { "name": "result", - "nativeSrc": "24632:6:9", + "nativeSrc": "24632:6:22", "nodeType": "YulIdentifier", - "src": "24632:6:9" + "src": "24632:6:22" } ] }, @@ -78465,9 +97440,9 @@ "arguments": [ { "name": "result", - "nativeSrc": "24684:6:9", + "nativeSrc": "24684:6:22", "nodeType": "YulIdentifier", - "src": "24684:6:9" + "src": "24684:6:22" }, { "arguments": [ @@ -78475,54 +97450,54 @@ "arguments": [ { "name": "indices", - "nativeSrc": "24702:7:9", + "nativeSrc": "24702:7:22", "nodeType": "YulIdentifier", - "src": "24702:7:9" + "src": "24702:7:22" } ], "functionName": { "name": "mload", - "nativeSrc": "24696:5:9", + "nativeSrc": "24696:5:22", "nodeType": "YulIdentifier", - "src": "24696:5:9" + "src": "24696:5:22" }, - "nativeSrc": "24696:14:9", + "nativeSrc": "24696:14:22", "nodeType": "YulFunctionCall", - "src": "24696:14:9" + "src": "24696:14:22" }, { "kind": "number", - "nativeSrc": "24712:1:9", + "nativeSrc": "24712:1:22", "nodeType": "YulLiteral", - "src": "24712:1:9", + "src": "24712:1:22", "type": "", "value": "2" } ], "functionName": { "name": "sub", - "nativeSrc": "24692:3:9", + "nativeSrc": "24692:3:22", "nodeType": "YulIdentifier", - "src": "24692:3:9" + "src": "24692:3:22" }, - "nativeSrc": "24692:22:9", + "nativeSrc": "24692:22:22", "nodeType": "YulFunctionCall", - "src": "24692:22:9" + "src": "24692:22:22" } ], "functionName": { "name": "mstore", - "nativeSrc": "24677:6:9", + "nativeSrc": "24677:6:22", "nodeType": "YulIdentifier", - "src": "24677:6:9" + "src": "24677:6:22" }, - "nativeSrc": "24677:38:9", + "nativeSrc": "24677:38:22", "nodeType": "YulFunctionCall", - "src": "24677:38:9" + "src": "24677:38:22" }, - "nativeSrc": "24677:38:9", + "nativeSrc": "24677:38:22", "nodeType": "YulExpressionStatement", - "src": "24677:38:9" + "src": "24677:38:22" } ] }, @@ -78532,35 +97507,35 @@ "arguments": [ { "name": "delimiter", - "nativeSrc": "24602:9:9", + "nativeSrc": "24602:9:22", "nodeType": "YulIdentifier", - "src": "24602:9:9" + "src": "24602:9:22" } ], "functionName": { "name": "mload", - "nativeSrc": "24596:5:9", + "nativeSrc": "24596:5:22", "nodeType": "YulIdentifier", - "src": "24596:5:9" + "src": "24596:5:22" }, - "nativeSrc": "24596:16:9", + "nativeSrc": "24596:16:22", "nodeType": "YulFunctionCall", - "src": "24596:16:9" + "src": "24596:16:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "24589:6:9", + "nativeSrc": "24589:6:22", "nodeType": "YulIdentifier", - "src": "24589:6:9" + "src": "24589:6:22" }, - "nativeSrc": "24589:24:9", + "nativeSrc": "24589:24:22", "nodeType": "YulFunctionCall", - "src": "24589:24:9" + "src": "24589:24:22" }, - "nativeSrc": "24586:143:9", + "nativeSrc": "24586:143:22", "nodeType": "YulIf", - "src": "24586:143:9" + "src": "24586:143:22" } ] }, @@ -78568,136 +97543,136 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2926, + "declaration": 4532, "isOffset": false, "isSlot": false, - "src": "24408:9:9", + "src": "24408:9:22", "valueSize": 1 }, { - "declaration": 2926, + "declaration": 4532, "isOffset": false, "isSlot": false, - "src": "24602:9:9", + "src": "24602:9:22", "valueSize": 1 }, { - "declaration": 2936, + "declaration": 4542, "isOffset": false, "isSlot": false, - "src": "23090:7:9", + "src": "23090:7:22", "valueSize": 1 }, { - "declaration": 2936, + "declaration": 4542, "isOffset": false, "isSlot": false, - "src": "23166:7:9", + "src": "23166:7:22", "valueSize": 1 }, { - "declaration": 2936, + "declaration": 4542, "isOffset": false, "isSlot": false, - "src": "23255:7:9", + "src": "23255:7:22", "valueSize": 1 }, { - "declaration": 2936, + "declaration": 4542, "isOffset": false, "isSlot": false, - "src": "23274:7:9", + "src": "23274:7:22", "valueSize": 1 }, { - "declaration": 2936, + "declaration": 4542, "isOffset": false, "isSlot": false, - "src": "24566:7:9", + "src": "24566:7:22", "valueSize": 1 }, { - "declaration": 2936, + "declaration": 4542, "isOffset": false, "isSlot": false, - "src": "24646:7:9", + "src": "24646:7:22", "valueSize": 1 }, { - "declaration": 2936, + "declaration": 4542, "isOffset": false, "isSlot": false, - "src": "24702:7:9", + "src": "24702:7:22", "valueSize": 1 }, { - "declaration": 2930, + "declaration": 4536, "isOffset": false, "isSlot": false, - "src": "24556:6:9", + "src": "24556:6:22", "valueSize": 1 }, { - "declaration": 2930, + "declaration": 4536, "isOffset": false, "isSlot": false, - "src": "24632:6:9", + "src": "24632:6:22", "valueSize": 1 }, { - "declaration": 2930, + "declaration": 4536, "isOffset": false, "isSlot": false, - "src": "24684:6:9", + "src": "24684:6:22", "valueSize": 1 }, { - "declaration": 2924, + "declaration": 4530, "isOffset": false, "isSlot": false, - "src": "23226:7:9", + "src": "23226:7:22", "valueSize": 1 }, { - "declaration": 2924, + "declaration": 4530, "isOffset": false, "isSlot": false, - "src": "23841:7:9", + "src": "23841:7:22", "valueSize": 1 } ], - "id": 2942, + "id": 4548, "nodeType": "InlineAssembly", - "src": "23016:1723:9" + "src": "23016:1723:22" } ] }, "documentation": { - "id": 2922, + "id": 4528, "nodeType": "StructuredDocumentation", - "src": "22665:92:9", + "src": "22665:92:22", "text": "@dev Returns an arrays of bytess based on the `delimiter` inside of the `subject` bytes." }, - "id": 2944, + "id": 4550, "implemented": true, "kind": "function", "modifiers": [], "name": "split", - "nameLocation": "22771:5:9", + "nameLocation": "22771:5:22", "nodeType": "FunctionDefinition", "parameters": { - "id": 2927, + "id": 4533, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2924, + "id": 4530, "mutability": "mutable", "name": "subject", - "nameLocation": "22790:7:9", + "nameLocation": "22790:7:22", "nodeType": "VariableDeclaration", - "scope": 2944, - "src": "22777:20:9", + "scope": 4550, + "src": "22777:20:22", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -78705,10 +97680,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2923, + "id": 4529, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "22777:5:9", + "src": "22777:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -78718,13 +97693,13 @@ }, { "constant": false, - "id": 2926, + "id": 4532, "mutability": "mutable", "name": "delimiter", - "nameLocation": "22812:9:9", + "nameLocation": "22812:9:22", "nodeType": "VariableDeclaration", - "scope": 2944, - "src": "22799:22:9", + "scope": 4550, + "src": "22799:22:22", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -78732,10 +97707,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2925, + "id": 4531, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "22799:5:9", + "src": "22799:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -78744,21 +97719,21 @@ "visibility": "internal" } ], - "src": "22776:46:9" + "src": "22776:46:22" }, "returnParameters": { - "id": 2931, + "id": 4537, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2930, + "id": 4536, "mutability": "mutable", "name": "result", - "nameLocation": "22885:6:9", + "nameLocation": "22885:6:22", "nodeType": "VariableDeclaration", - "scope": 2944, - "src": "22870:21:9", + "scope": 4550, + "src": "22870:21:22", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -78767,18 +97742,18 @@ }, "typeName": { "baseType": { - "id": 2928, + "id": 4534, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "22870:5:9", + "src": "22870:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, - "id": 2929, + "id": 4535, "nodeType": "ArrayTypeName", - "src": "22870:7:9", + "src": "22870:7:22", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", "typeString": "bytes[]" @@ -78787,133 +97762,133 @@ "visibility": "internal" } ], - "src": "22869:23:9" + "src": "22869:23:22" }, - "scope": 3078, - "src": "22762:1983:9", + "scope": 4684, + "src": "22762:1983:22", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 2955, + "id": 4561, "nodeType": "Block", - "src": "24986:1090:9", + "src": "24986:1090:22", "statements": [ { "AST": { - "nativeSrc": "25048:1022:9", + "nativeSrc": "25048:1022:22", "nodeType": "YulBlock", - "src": "25048:1022:9", + "src": "25048:1022:22", "statements": [ { - "nativeSrc": "25062:21:9", + "nativeSrc": "25062:21:22", "nodeType": "YulAssignment", - "src": "25062:21:9", + "src": "25062:21:22", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "25078:4:9", + "nativeSrc": "25078:4:22", "nodeType": "YulLiteral", - "src": "25078:4:9", + "src": "25078:4:22", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "25072:5:9", + "nativeSrc": "25072:5:22", "nodeType": "YulIdentifier", - "src": "25072:5:9" + "src": "25072:5:22" }, - "nativeSrc": "25072:11:9", + "nativeSrc": "25072:11:22", "nodeType": "YulFunctionCall", - "src": "25072:11:9" + "src": "25072:11:22" }, "variableNames": [ { "name": "result", - "nativeSrc": "25062:6:9", + "nativeSrc": "25062:6:22", "nodeType": "YulIdentifier", - "src": "25062:6:9" + "src": "25062:6:22" } ] }, { - "nativeSrc": "25096:18:9", + "nativeSrc": "25096:18:22", "nodeType": "YulVariableDeclaration", - "src": "25096:18:9", + "src": "25096:18:22", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "25109:4:9", + "nativeSrc": "25109:4:22", "nodeType": "YulLiteral", - "src": "25109:4:9", + "src": "25109:4:22", "type": "", "value": "0x1f" } ], "functionName": { "name": "not", - "nativeSrc": "25105:3:9", + "nativeSrc": "25105:3:22", "nodeType": "YulIdentifier", - "src": "25105:3:9" + "src": "25105:3:22" }, - "nativeSrc": "25105:9:9", + "nativeSrc": "25105:9:22", "nodeType": "YulFunctionCall", - "src": "25105:9:9" + "src": "25105:9:22" }, "variables": [ { "name": "w", - "nativeSrc": "25100:1:9", + "nativeSrc": "25100:1:22", "nodeType": "YulTypedName", - "src": "25100:1:9", + "src": "25100:1:22", "type": "" } ] }, { - "nativeSrc": "25127:20:9", + "nativeSrc": "25127:20:22", "nodeType": "YulVariableDeclaration", - "src": "25127:20:9", + "src": "25127:20:22", "value": { "arguments": [ { "name": "a", - "nativeSrc": "25145:1:9", + "nativeSrc": "25145:1:22", "nodeType": "YulIdentifier", - "src": "25145:1:9" + "src": "25145:1:22" } ], "functionName": { "name": "mload", - "nativeSrc": "25139:5:9", + "nativeSrc": "25139:5:22", "nodeType": "YulIdentifier", - "src": "25139:5:9" + "src": "25139:5:22" }, - "nativeSrc": "25139:8:9", + "nativeSrc": "25139:8:22", "nodeType": "YulFunctionCall", - "src": "25139:8:9" + "src": "25139:8:22" }, "variables": [ { "name": "aLen", - "nativeSrc": "25131:4:9", + "nativeSrc": "25131:4:22", "nodeType": "YulTypedName", - "src": "25131:4:9", + "src": "25131:4:22", "type": "" } ] }, { "body": { - "nativeSrc": "25261:161:9", + "nativeSrc": "25261:161:22", "nodeType": "YulBlock", - "src": "25261:161:9", + "src": "25261:161:22", "statements": [ { "expression": { @@ -78922,26 +97897,26 @@ "arguments": [ { "name": "result", - "nativeSrc": "25290:6:9", + "nativeSrc": "25290:6:22", "nodeType": "YulIdentifier", - "src": "25290:6:9" + "src": "25290:6:22" }, { "name": "o", - "nativeSrc": "25298:1:9", + "nativeSrc": "25298:1:22", "nodeType": "YulIdentifier", - "src": "25298:1:9" + "src": "25298:1:22" } ], "functionName": { "name": "add", - "nativeSrc": "25286:3:9", + "nativeSrc": "25286:3:22", "nodeType": "YulIdentifier", - "src": "25286:3:9" + "src": "25286:3:22" }, - "nativeSrc": "25286:14:9", + "nativeSrc": "25286:14:22", "nodeType": "YulFunctionCall", - "src": "25286:14:9" + "src": "25286:14:22" }, { "arguments": [ @@ -78949,101 +97924,101 @@ "arguments": [ { "name": "a", - "nativeSrc": "25312:1:9", + "nativeSrc": "25312:1:22", "nodeType": "YulIdentifier", - "src": "25312:1:9" + "src": "25312:1:22" }, { "name": "o", - "nativeSrc": "25315:1:9", + "nativeSrc": "25315:1:22", "nodeType": "YulIdentifier", - "src": "25315:1:9" + "src": "25315:1:22" } ], "functionName": { "name": "add", - "nativeSrc": "25308:3:9", + "nativeSrc": "25308:3:22", "nodeType": "YulIdentifier", - "src": "25308:3:9" + "src": "25308:3:22" }, - "nativeSrc": "25308:9:9", + "nativeSrc": "25308:9:22", "nodeType": "YulFunctionCall", - "src": "25308:9:9" + "src": "25308:9:22" } ], "functionName": { "name": "mload", - "nativeSrc": "25302:5:9", + "nativeSrc": "25302:5:22", "nodeType": "YulIdentifier", - "src": "25302:5:9" + "src": "25302:5:22" }, - "nativeSrc": "25302:16:9", + "nativeSrc": "25302:16:22", "nodeType": "YulFunctionCall", - "src": "25302:16:9" + "src": "25302:16:22" } ], "functionName": { "name": "mstore", - "nativeSrc": "25279:6:9", + "nativeSrc": "25279:6:22", "nodeType": "YulIdentifier", - "src": "25279:6:9" + "src": "25279:6:22" }, - "nativeSrc": "25279:40:9", + "nativeSrc": "25279:40:22", "nodeType": "YulFunctionCall", - "src": "25279:40:9" + "src": "25279:40:22" }, - "nativeSrc": "25279:40:9", + "nativeSrc": "25279:40:22", "nodeType": "YulExpressionStatement", - "src": "25279:40:9" + "src": "25279:40:22" }, { - "nativeSrc": "25336:14:9", + "nativeSrc": "25336:14:22", "nodeType": "YulAssignment", - "src": "25336:14:9", + "src": "25336:14:22", "value": { "arguments": [ { "name": "o", - "nativeSrc": "25345:1:9", + "nativeSrc": "25345:1:22", "nodeType": "YulIdentifier", - "src": "25345:1:9" + "src": "25345:1:22" }, { "name": "w", - "nativeSrc": "25348:1:9", + "nativeSrc": "25348:1:22", "nodeType": "YulIdentifier", - "src": "25348:1:9" + "src": "25348:1:22" } ], "functionName": { "name": "add", - "nativeSrc": "25341:3:9", + "nativeSrc": "25341:3:22", "nodeType": "YulIdentifier", - "src": "25341:3:9" + "src": "25341:3:22" }, - "nativeSrc": "25341:9:9", + "nativeSrc": "25341:9:22", "nodeType": "YulFunctionCall", - "src": "25341:9:9" + "src": "25341:9:22" }, "variableNames": [ { "name": "o", - "nativeSrc": "25336:1:9", + "nativeSrc": "25336:1:22", "nodeType": "YulIdentifier", - "src": "25336:1:9" + "src": "25336:1:22" } ] }, { "body": { - "nativeSrc": "25399:9:9", + "nativeSrc": "25399:9:22", "nodeType": "YulBlock", - "src": "25399:9:9", + "src": "25399:9:22", "statements": [ { - "nativeSrc": "25401:5:9", + "nativeSrc": "25401:5:22", "nodeType": "YulBreak", - "src": "25401:5:9" + "src": "25401:5:22" } ] }, @@ -79051,189 +98026,189 @@ "arguments": [ { "name": "o", - "nativeSrc": "25396:1:9", + "nativeSrc": "25396:1:22", "nodeType": "YulIdentifier", - "src": "25396:1:9" + "src": "25396:1:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "25389:6:9", + "nativeSrc": "25389:6:22", "nodeType": "YulIdentifier", - "src": "25389:6:9" + "src": "25389:6:22" }, - "nativeSrc": "25389:9:9", + "nativeSrc": "25389:9:22", "nodeType": "YulFunctionCall", - "src": "25389:9:9" + "src": "25389:9:22" }, - "nativeSrc": "25386:22:9", + "nativeSrc": "25386:22:22", "nodeType": "YulIf", - "src": "25386:22:9" + "src": "25386:22:22" } ] }, "condition": { "kind": "number", - "nativeSrc": "25256:1:9", + "nativeSrc": "25256:1:22", "nodeType": "YulLiteral", - "src": "25256:1:9", + "src": "25256:1:22", "type": "", "value": "1" }, - "nativeSrc": "25215:207:9", + "nativeSrc": "25215:207:22", "nodeType": "YulForLoop", "post": { - "nativeSrc": "25258:2:9", + "nativeSrc": "25258:2:22", "nodeType": "YulBlock", - "src": "25258:2:9", + "src": "25258:2:22", "statements": [] }, "pre": { - "nativeSrc": "25219:36:9", + "nativeSrc": "25219:36:22", "nodeType": "YulBlock", - "src": "25219:36:9", + "src": "25219:36:22", "statements": [ { - "nativeSrc": "25221:32:9", + "nativeSrc": "25221:32:22", "nodeType": "YulVariableDeclaration", - "src": "25221:32:9", + "src": "25221:32:22", "value": { "arguments": [ { "arguments": [ { "name": "aLen", - "nativeSrc": "25238:4:9", + "nativeSrc": "25238:4:22", "nodeType": "YulIdentifier", - "src": "25238:4:9" + "src": "25238:4:22" }, { "kind": "number", - "nativeSrc": "25244:4:9", + "nativeSrc": "25244:4:22", "nodeType": "YulLiteral", - "src": "25244:4:9", + "src": "25244:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "25234:3:9", + "nativeSrc": "25234:3:22", "nodeType": "YulIdentifier", - "src": "25234:3:9" + "src": "25234:3:22" }, - "nativeSrc": "25234:15:9", + "nativeSrc": "25234:15:22", "nodeType": "YulFunctionCall", - "src": "25234:15:9" + "src": "25234:15:22" }, { "name": "w", - "nativeSrc": "25251:1:9", + "nativeSrc": "25251:1:22", "nodeType": "YulIdentifier", - "src": "25251:1:9" + "src": "25251:1:22" } ], "functionName": { "name": "and", - "nativeSrc": "25230:3:9", + "nativeSrc": "25230:3:22", "nodeType": "YulIdentifier", - "src": "25230:3:9" + "src": "25230:3:22" }, - "nativeSrc": "25230:23:9", + "nativeSrc": "25230:23:22", "nodeType": "YulFunctionCall", - "src": "25230:23:9" + "src": "25230:23:22" }, "variables": [ { "name": "o", - "nativeSrc": "25225:1:9", + "nativeSrc": "25225:1:22", "nodeType": "YulTypedName", - "src": "25225:1:9", + "src": "25225:1:22", "type": "" } ] } ] }, - "src": "25215:207:9" + "src": "25215:207:22" }, { - "nativeSrc": "25435:20:9", + "nativeSrc": "25435:20:22", "nodeType": "YulVariableDeclaration", - "src": "25435:20:9", + "src": "25435:20:22", "value": { "arguments": [ { "name": "b", - "nativeSrc": "25453:1:9", + "nativeSrc": "25453:1:22", "nodeType": "YulIdentifier", - "src": "25453:1:9" + "src": "25453:1:22" } ], "functionName": { "name": "mload", - "nativeSrc": "25447:5:9", + "nativeSrc": "25447:5:22", "nodeType": "YulIdentifier", - "src": "25447:5:9" + "src": "25447:5:22" }, - "nativeSrc": "25447:8:9", + "nativeSrc": "25447:8:22", "nodeType": "YulFunctionCall", - "src": "25447:8:9" + "src": "25447:8:22" }, "variables": [ { "name": "bLen", - "nativeSrc": "25439:4:9", + "nativeSrc": "25439:4:22", "nodeType": "YulTypedName", - "src": "25439:4:9", + "src": "25439:4:22", "type": "" } ] }, { - "nativeSrc": "25468:31:9", + "nativeSrc": "25468:31:22", "nodeType": "YulVariableDeclaration", - "src": "25468:31:9", + "src": "25468:31:22", "value": { "arguments": [ { "name": "result", - "nativeSrc": "25486:6:9", + "nativeSrc": "25486:6:22", "nodeType": "YulIdentifier", - "src": "25486:6:9" + "src": "25486:6:22" }, { "name": "aLen", - "nativeSrc": "25494:4:9", + "nativeSrc": "25494:4:22", "nodeType": "YulIdentifier", - "src": "25494:4:9" + "src": "25494:4:22" } ], "functionName": { "name": "add", - "nativeSrc": "25482:3:9", + "nativeSrc": "25482:3:22", "nodeType": "YulIdentifier", - "src": "25482:3:9" + "src": "25482:3:22" }, - "nativeSrc": "25482:17:9", + "nativeSrc": "25482:17:22", "nodeType": "YulFunctionCall", - "src": "25482:17:9" + "src": "25482:17:22" }, "variables": [ { "name": "output", - "nativeSrc": "25472:6:9", + "nativeSrc": "25472:6:22", "nodeType": "YulTypedName", - "src": "25472:6:9", + "src": "25472:6:22", "type": "" } ] }, { "body": { - "nativeSrc": "25613:161:9", + "nativeSrc": "25613:161:22", "nodeType": "YulBlock", - "src": "25613:161:9", + "src": "25613:161:22", "statements": [ { "expression": { @@ -79242,26 +98217,26 @@ "arguments": [ { "name": "output", - "nativeSrc": "25642:6:9", + "nativeSrc": "25642:6:22", "nodeType": "YulIdentifier", - "src": "25642:6:9" + "src": "25642:6:22" }, { "name": "o", - "nativeSrc": "25650:1:9", + "nativeSrc": "25650:1:22", "nodeType": "YulIdentifier", - "src": "25650:1:9" + "src": "25650:1:22" } ], "functionName": { "name": "add", - "nativeSrc": "25638:3:9", + "nativeSrc": "25638:3:22", "nodeType": "YulIdentifier", - "src": "25638:3:9" + "src": "25638:3:22" }, - "nativeSrc": "25638:14:9", + "nativeSrc": "25638:14:22", "nodeType": "YulFunctionCall", - "src": "25638:14:9" + "src": "25638:14:22" }, { "arguments": [ @@ -79269,101 +98244,101 @@ "arguments": [ { "name": "b", - "nativeSrc": "25664:1:9", + "nativeSrc": "25664:1:22", "nodeType": "YulIdentifier", - "src": "25664:1:9" + "src": "25664:1:22" }, { "name": "o", - "nativeSrc": "25667:1:9", + "nativeSrc": "25667:1:22", "nodeType": "YulIdentifier", - "src": "25667:1:9" + "src": "25667:1:22" } ], "functionName": { "name": "add", - "nativeSrc": "25660:3:9", + "nativeSrc": "25660:3:22", "nodeType": "YulIdentifier", - "src": "25660:3:9" + "src": "25660:3:22" }, - "nativeSrc": "25660:9:9", + "nativeSrc": "25660:9:22", "nodeType": "YulFunctionCall", - "src": "25660:9:9" + "src": "25660:9:22" } ], "functionName": { "name": "mload", - "nativeSrc": "25654:5:9", + "nativeSrc": "25654:5:22", "nodeType": "YulIdentifier", - "src": "25654:5:9" + "src": "25654:5:22" }, - "nativeSrc": "25654:16:9", + "nativeSrc": "25654:16:22", "nodeType": "YulFunctionCall", - "src": "25654:16:9" + "src": "25654:16:22" } ], "functionName": { "name": "mstore", - "nativeSrc": "25631:6:9", + "nativeSrc": "25631:6:22", "nodeType": "YulIdentifier", - "src": "25631:6:9" + "src": "25631:6:22" }, - "nativeSrc": "25631:40:9", + "nativeSrc": "25631:40:22", "nodeType": "YulFunctionCall", - "src": "25631:40:9" + "src": "25631:40:22" }, - "nativeSrc": "25631:40:9", + "nativeSrc": "25631:40:22", "nodeType": "YulExpressionStatement", - "src": "25631:40:9" + "src": "25631:40:22" }, { - "nativeSrc": "25688:14:9", + "nativeSrc": "25688:14:22", "nodeType": "YulAssignment", - "src": "25688:14:9", + "src": "25688:14:22", "value": { "arguments": [ { "name": "o", - "nativeSrc": "25697:1:9", + "nativeSrc": "25697:1:22", "nodeType": "YulIdentifier", - "src": "25697:1:9" + "src": "25697:1:22" }, { "name": "w", - "nativeSrc": "25700:1:9", + "nativeSrc": "25700:1:22", "nodeType": "YulIdentifier", - "src": "25700:1:9" + "src": "25700:1:22" } ], "functionName": { "name": "add", - "nativeSrc": "25693:3:9", + "nativeSrc": "25693:3:22", "nodeType": "YulIdentifier", - "src": "25693:3:9" + "src": "25693:3:22" }, - "nativeSrc": "25693:9:9", + "nativeSrc": "25693:9:22", "nodeType": "YulFunctionCall", - "src": "25693:9:9" + "src": "25693:9:22" }, "variableNames": [ { "name": "o", - "nativeSrc": "25688:1:9", + "nativeSrc": "25688:1:22", "nodeType": "YulIdentifier", - "src": "25688:1:9" + "src": "25688:1:22" } ] }, { "body": { - "nativeSrc": "25751:9:9", + "nativeSrc": "25751:9:22", "nodeType": "YulBlock", - "src": "25751:9:9", + "src": "25751:9:22", "statements": [ { - "nativeSrc": "25753:5:9", + "nativeSrc": "25753:5:22", "nodeType": "YulBreak", - "src": "25753:5:9" + "src": "25753:5:22" } ] }, @@ -79371,207 +98346,207 @@ "arguments": [ { "name": "o", - "nativeSrc": "25748:1:9", + "nativeSrc": "25748:1:22", "nodeType": "YulIdentifier", - "src": "25748:1:9" + "src": "25748:1:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "25741:6:9", + "nativeSrc": "25741:6:22", "nodeType": "YulIdentifier", - "src": "25741:6:9" + "src": "25741:6:22" }, - "nativeSrc": "25741:9:9", + "nativeSrc": "25741:9:22", "nodeType": "YulFunctionCall", - "src": "25741:9:9" + "src": "25741:9:22" }, - "nativeSrc": "25738:22:9", + "nativeSrc": "25738:22:22", "nodeType": "YulIf", - "src": "25738:22:9" + "src": "25738:22:22" } ] }, "condition": { "kind": "number", - "nativeSrc": "25608:1:9", + "nativeSrc": "25608:1:22", "nodeType": "YulLiteral", - "src": "25608:1:9", + "src": "25608:1:22", "type": "", "value": "1" }, - "nativeSrc": "25567:207:9", + "nativeSrc": "25567:207:22", "nodeType": "YulForLoop", "post": { - "nativeSrc": "25610:2:9", + "nativeSrc": "25610:2:22", "nodeType": "YulBlock", - "src": "25610:2:9", + "src": "25610:2:22", "statements": [] }, "pre": { - "nativeSrc": "25571:36:9", + "nativeSrc": "25571:36:22", "nodeType": "YulBlock", - "src": "25571:36:9", + "src": "25571:36:22", "statements": [ { - "nativeSrc": "25573:32:9", + "nativeSrc": "25573:32:22", "nodeType": "YulVariableDeclaration", - "src": "25573:32:9", + "src": "25573:32:22", "value": { "arguments": [ { "arguments": [ { "name": "bLen", - "nativeSrc": "25590:4:9", + "nativeSrc": "25590:4:22", "nodeType": "YulIdentifier", - "src": "25590:4:9" + "src": "25590:4:22" }, { "kind": "number", - "nativeSrc": "25596:4:9", + "nativeSrc": "25596:4:22", "nodeType": "YulLiteral", - "src": "25596:4:9", + "src": "25596:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "25586:3:9", + "nativeSrc": "25586:3:22", "nodeType": "YulIdentifier", - "src": "25586:3:9" + "src": "25586:3:22" }, - "nativeSrc": "25586:15:9", + "nativeSrc": "25586:15:22", "nodeType": "YulFunctionCall", - "src": "25586:15:9" + "src": "25586:15:22" }, { "name": "w", - "nativeSrc": "25603:1:9", + "nativeSrc": "25603:1:22", "nodeType": "YulIdentifier", - "src": "25603:1:9" + "src": "25603:1:22" } ], "functionName": { "name": "and", - "nativeSrc": "25582:3:9", + "nativeSrc": "25582:3:22", "nodeType": "YulIdentifier", - "src": "25582:3:9" + "src": "25582:3:22" }, - "nativeSrc": "25582:23:9", + "nativeSrc": "25582:23:22", "nodeType": "YulFunctionCall", - "src": "25582:23:9" + "src": "25582:23:22" }, "variables": [ { "name": "o", - "nativeSrc": "25577:1:9", + "nativeSrc": "25577:1:22", "nodeType": "YulTypedName", - "src": "25577:1:9", + "src": "25577:1:22", "type": "" } ] } ] }, - "src": "25567:207:9" + "src": "25567:207:22" }, { - "nativeSrc": "25787:31:9", + "nativeSrc": "25787:31:22", "nodeType": "YulVariableDeclaration", - "src": "25787:31:9", + "src": "25787:31:22", "value": { "arguments": [ { "name": "aLen", - "nativeSrc": "25807:4:9", + "nativeSrc": "25807:4:22", "nodeType": "YulIdentifier", - "src": "25807:4:9" + "src": "25807:4:22" }, { "name": "bLen", - "nativeSrc": "25813:4:9", + "nativeSrc": "25813:4:22", "nodeType": "YulIdentifier", - "src": "25813:4:9" + "src": "25813:4:22" } ], "functionName": { "name": "add", - "nativeSrc": "25803:3:9", + "nativeSrc": "25803:3:22", "nodeType": "YulIdentifier", - "src": "25803:3:9" + "src": "25803:3:22" }, - "nativeSrc": "25803:15:9", + "nativeSrc": "25803:15:22", "nodeType": "YulFunctionCall", - "src": "25803:15:9" + "src": "25803:15:22" }, "variables": [ { "name": "totalLen", - "nativeSrc": "25791:8:9", + "nativeSrc": "25791:8:22", "nodeType": "YulTypedName", - "src": "25791:8:9", + "src": "25791:8:22", "type": "" } ] }, { - "nativeSrc": "25831:44:9", + "nativeSrc": "25831:44:22", "nodeType": "YulVariableDeclaration", - "src": "25831:44:9", + "src": "25831:44:22", "value": { "arguments": [ { "arguments": [ { "name": "result", - "nativeSrc": "25851:6:9", + "nativeSrc": "25851:6:22", "nodeType": "YulIdentifier", - "src": "25851:6:9" + "src": "25851:6:22" }, { "kind": "number", - "nativeSrc": "25859:4:9", + "nativeSrc": "25859:4:22", "nodeType": "YulLiteral", - "src": "25859:4:9", + "src": "25859:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "25847:3:9", + "nativeSrc": "25847:3:22", "nodeType": "YulIdentifier", - "src": "25847:3:9" + "src": "25847:3:22" }, - "nativeSrc": "25847:17:9", + "nativeSrc": "25847:17:22", "nodeType": "YulFunctionCall", - "src": "25847:17:9" + "src": "25847:17:22" }, { "name": "totalLen", - "nativeSrc": "25866:8:9", + "nativeSrc": "25866:8:22", "nodeType": "YulIdentifier", - "src": "25866:8:9" + "src": "25866:8:22" } ], "functionName": { "name": "add", - "nativeSrc": "25843:3:9", + "nativeSrc": "25843:3:22", "nodeType": "YulIdentifier", - "src": "25843:3:9" + "src": "25843:3:22" }, - "nativeSrc": "25843:32:9", + "nativeSrc": "25843:32:22", "nodeType": "YulFunctionCall", - "src": "25843:32:9" + "src": "25843:32:22" }, "variables": [ { "name": "last", - "nativeSrc": "25835:4:9", + "nativeSrc": "25835:4:22", "nodeType": "YulTypedName", - "src": "25835:4:9", + "src": "25835:4:22", "type": "" } ] @@ -79581,71 +98556,71 @@ "arguments": [ { "name": "last", - "nativeSrc": "25895:4:9", + "nativeSrc": "25895:4:22", "nodeType": "YulIdentifier", - "src": "25895:4:9" + "src": "25895:4:22" }, { "kind": "number", - "nativeSrc": "25901:1:9", + "nativeSrc": "25901:1:22", "nodeType": "YulLiteral", - "src": "25901:1:9", + "src": "25901:1:22", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "25888:6:9", + "nativeSrc": "25888:6:22", "nodeType": "YulIdentifier", - "src": "25888:6:9" + "src": "25888:6:22" }, - "nativeSrc": "25888:15:9", + "nativeSrc": "25888:15:22", "nodeType": "YulFunctionCall", - "src": "25888:15:9" + "src": "25888:15:22" }, - "nativeSrc": "25888:15:9", + "nativeSrc": "25888:15:22", "nodeType": "YulExpressionStatement", - "src": "25888:15:9" + "src": "25888:15:22" }, { "expression": { "arguments": [ { "name": "result", - "nativeSrc": "25960:6:9", + "nativeSrc": "25960:6:22", "nodeType": "YulIdentifier", - "src": "25960:6:9" + "src": "25960:6:22" }, { "name": "totalLen", - "nativeSrc": "25968:8:9", + "nativeSrc": "25968:8:22", "nodeType": "YulIdentifier", - "src": "25968:8:9" + "src": "25968:8:22" } ], "functionName": { "name": "mstore", - "nativeSrc": "25953:6:9", + "nativeSrc": "25953:6:22", "nodeType": "YulIdentifier", - "src": "25953:6:9" + "src": "25953:6:22" }, - "nativeSrc": "25953:24:9", + "nativeSrc": "25953:24:22", "nodeType": "YulFunctionCall", - "src": "25953:24:9" + "src": "25953:24:22" }, - "nativeSrc": "25953:24:9", + "nativeSrc": "25953:24:22", "nodeType": "YulExpressionStatement", - "src": "25953:24:9" + "src": "25953:24:22" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "26018:4:9", + "nativeSrc": "26018:4:22", "nodeType": "YulLiteral", - "src": "26018:4:9", + "src": "26018:4:22", "type": "", "value": "0x40" }, @@ -79653,43 +98628,43 @@ "arguments": [ { "name": "last", - "nativeSrc": "26028:4:9", + "nativeSrc": "26028:4:22", "nodeType": "YulIdentifier", - "src": "26028:4:9" + "src": "26028:4:22" }, { "kind": "number", - "nativeSrc": "26034:4:9", + "nativeSrc": "26034:4:22", "nodeType": "YulLiteral", - "src": "26034:4:9", + "src": "26034:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "26024:3:9", + "nativeSrc": "26024:3:22", "nodeType": "YulIdentifier", - "src": "26024:3:9" + "src": "26024:3:22" }, - "nativeSrc": "26024:15:9", + "nativeSrc": "26024:15:22", "nodeType": "YulFunctionCall", - "src": "26024:15:9" + "src": "26024:15:22" } ], "functionName": { "name": "mstore", - "nativeSrc": "26011:6:9", + "nativeSrc": "26011:6:22", "nodeType": "YulIdentifier", - "src": "26011:6:9" + "src": "26011:6:22" }, - "nativeSrc": "26011:29:9", + "nativeSrc": "26011:29:22", "nodeType": "YulFunctionCall", - "src": "26011:29:9" + "src": "26011:29:22" }, - "nativeSrc": "26011:29:9", + "nativeSrc": "26011:29:22", "nodeType": "YulExpressionStatement", - "src": "26011:29:9" + "src": "26011:29:22" } ] }, @@ -79697,101 +98672,101 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2947, + "declaration": 4553, "isOffset": false, "isSlot": false, - "src": "25145:1:9", + "src": "25145:1:22", "valueSize": 1 }, { - "declaration": 2947, + "declaration": 4553, "isOffset": false, "isSlot": false, - "src": "25312:1:9", + "src": "25312:1:22", "valueSize": 1 }, { - "declaration": 2949, + "declaration": 4555, "isOffset": false, "isSlot": false, - "src": "25453:1:9", + "src": "25453:1:22", "valueSize": 1 }, { - "declaration": 2949, + "declaration": 4555, "isOffset": false, "isSlot": false, - "src": "25664:1:9", + "src": "25664:1:22", "valueSize": 1 }, { - "declaration": 2952, + "declaration": 4558, "isOffset": false, "isSlot": false, - "src": "25062:6:9", + "src": "25062:6:22", "valueSize": 1 }, { - "declaration": 2952, + "declaration": 4558, "isOffset": false, "isSlot": false, - "src": "25290:6:9", + "src": "25290:6:22", "valueSize": 1 }, { - "declaration": 2952, + "declaration": 4558, "isOffset": false, "isSlot": false, - "src": "25486:6:9", + "src": "25486:6:22", "valueSize": 1 }, { - "declaration": 2952, + "declaration": 4558, "isOffset": false, "isSlot": false, - "src": "25851:6:9", + "src": "25851:6:22", "valueSize": 1 }, { - "declaration": 2952, + "declaration": 4558, "isOffset": false, "isSlot": false, - "src": "25960:6:9", + "src": "25960:6:22", "valueSize": 1 } ], - "id": 2954, + "id": 4560, "nodeType": "InlineAssembly", - "src": "25039:1031:9" + "src": "25039:1031:22" } ] }, "documentation": { - "id": 2945, + "id": 4551, "nodeType": "StructuredDocumentation", - "src": "24751:138:9", + "src": "24751:138:22", "text": "@dev Returns a concatenated bytes of `a` and `b`.\n Cheaper than `bytes.concat()` and does not de-align the free memory pointer." }, - "id": 2956, + "id": 4562, "implemented": true, "kind": "function", "modifiers": [], "name": "concat", - "nameLocation": "24903:6:9", + "nameLocation": "24903:6:22", "nodeType": "FunctionDefinition", "parameters": { - "id": 2950, + "id": 4556, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2947, + "id": 4553, "mutability": "mutable", "name": "a", - "nameLocation": "24923:1:9", + "nameLocation": "24923:1:22", "nodeType": "VariableDeclaration", - "scope": 2956, - "src": "24910:14:9", + "scope": 4562, + "src": "24910:14:22", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -79799,10 +98774,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2946, + "id": 4552, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "24910:5:9", + "src": "24910:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -79812,13 +98787,13 @@ }, { "constant": false, - "id": 2949, + "id": 4555, "mutability": "mutable", "name": "b", - "nameLocation": "24939:1:9", + "nameLocation": "24939:1:22", "nodeType": "VariableDeclaration", - "scope": 2956, - "src": "24926:14:9", + "scope": 4562, + "src": "24926:14:22", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -79826,10 +98801,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2948, + "id": 4554, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "24926:5:9", + "src": "24926:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -79838,21 +98813,21 @@ "visibility": "internal" } ], - "src": "24909:32:9" + "src": "24909:32:22" }, "returnParameters": { - "id": 2953, + "id": 4559, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2952, + "id": 4558, "mutability": "mutable", "name": "result", - "nameLocation": "24978:6:9", + "nameLocation": "24978:6:22", "nodeType": "VariableDeclaration", - "scope": 2956, - "src": "24965:19:9", + "scope": 4562, + "src": "24965:19:22", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -79860,10 +98835,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2951, + "id": 4557, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "24965:5:9", + "src": "24965:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -79872,30 +98847,30 @@ "visibility": "internal" } ], - "src": "24964:21:9" + "src": "24964:21:22" }, - "scope": 3078, - "src": "24894:1182:9", + "scope": 4684, + "src": "24894:1182:22", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 2967, + "id": 4573, "nodeType": "Block", - "src": "26207:174:9", + "src": "26207:174:22", "statements": [ { "AST": { - "nativeSrc": "26269:106:9", + "nativeSrc": "26269:106:22", "nodeType": "YulBlock", - "src": "26269:106:9", + "src": "26269:106:22", "statements": [ { - "nativeSrc": "26283:82:9", + "nativeSrc": "26283:82:22", "nodeType": "YulAssignment", - "src": "26283:82:9", + "src": "26283:82:22", "value": { "arguments": [ { @@ -79904,58 +98879,58 @@ "arguments": [ { "name": "a", - "nativeSrc": "26310:1:9", + "nativeSrc": "26310:1:22", "nodeType": "YulIdentifier", - "src": "26310:1:9" + "src": "26310:1:22" }, { "kind": "number", - "nativeSrc": "26313:4:9", + "nativeSrc": "26313:4:22", "nodeType": "YulLiteral", - "src": "26313:4:9", + "src": "26313:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "26306:3:9", + "nativeSrc": "26306:3:22", "nodeType": "YulIdentifier", - "src": "26306:3:9" + "src": "26306:3:22" }, - "nativeSrc": "26306:12:9", + "nativeSrc": "26306:12:22", "nodeType": "YulFunctionCall", - "src": "26306:12:9" + "src": "26306:12:22" }, { "arguments": [ { "name": "a", - "nativeSrc": "26326:1:9", + "nativeSrc": "26326:1:22", "nodeType": "YulIdentifier", - "src": "26326:1:9" + "src": "26326:1:22" } ], "functionName": { "name": "mload", - "nativeSrc": "26320:5:9", + "nativeSrc": "26320:5:22", "nodeType": "YulIdentifier", - "src": "26320:5:9" + "src": "26320:5:22" }, - "nativeSrc": "26320:8:9", + "nativeSrc": "26320:8:22", "nodeType": "YulFunctionCall", - "src": "26320:8:9" + "src": "26320:8:22" } ], "functionName": { "name": "keccak256", - "nativeSrc": "26296:9:9", + "nativeSrc": "26296:9:22", "nodeType": "YulIdentifier", - "src": "26296:9:9" + "src": "26296:9:22" }, - "nativeSrc": "26296:33:9", + "nativeSrc": "26296:33:22", "nodeType": "YulFunctionCall", - "src": "26296:33:9" + "src": "26296:33:22" }, { "arguments": [ @@ -79963,76 +98938,76 @@ "arguments": [ { "name": "b", - "nativeSrc": "26345:1:9", + "nativeSrc": "26345:1:22", "nodeType": "YulIdentifier", - "src": "26345:1:9" + "src": "26345:1:22" }, { "kind": "number", - "nativeSrc": "26348:4:9", + "nativeSrc": "26348:4:22", "nodeType": "YulLiteral", - "src": "26348:4:9", + "src": "26348:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "26341:3:9", + "nativeSrc": "26341:3:22", "nodeType": "YulIdentifier", - "src": "26341:3:9" + "src": "26341:3:22" }, - "nativeSrc": "26341:12:9", + "nativeSrc": "26341:12:22", "nodeType": "YulFunctionCall", - "src": "26341:12:9" + "src": "26341:12:22" }, { "arguments": [ { "name": "b", - "nativeSrc": "26361:1:9", + "nativeSrc": "26361:1:22", "nodeType": "YulIdentifier", - "src": "26361:1:9" + "src": "26361:1:22" } ], "functionName": { "name": "mload", - "nativeSrc": "26355:5:9", + "nativeSrc": "26355:5:22", "nodeType": "YulIdentifier", - "src": "26355:5:9" + "src": "26355:5:22" }, - "nativeSrc": "26355:8:9", + "nativeSrc": "26355:8:22", "nodeType": "YulFunctionCall", - "src": "26355:8:9" + "src": "26355:8:22" } ], "functionName": { "name": "keccak256", - "nativeSrc": "26331:9:9", + "nativeSrc": "26331:9:22", "nodeType": "YulIdentifier", - "src": "26331:9:9" + "src": "26331:9:22" }, - "nativeSrc": "26331:33:9", + "nativeSrc": "26331:33:22", "nodeType": "YulFunctionCall", - "src": "26331:33:9" + "src": "26331:33:22" } ], "functionName": { "name": "eq", - "nativeSrc": "26293:2:9", + "nativeSrc": "26293:2:22", "nodeType": "YulIdentifier", - "src": "26293:2:9" + "src": "26293:2:22" }, - "nativeSrc": "26293:72:9", + "nativeSrc": "26293:72:22", "nodeType": "YulFunctionCall", - "src": "26293:72:9" + "src": "26293:72:22" }, "variableNames": [ { "name": "result", - "nativeSrc": "26283:6:9", + "nativeSrc": "26283:6:22", "nodeType": "YulIdentifier", - "src": "26283:6:9" + "src": "26283:6:22" } ] } @@ -80042,73 +99017,73 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2959, + "declaration": 4565, "isOffset": false, "isSlot": false, - "src": "26310:1:9", + "src": "26310:1:22", "valueSize": 1 }, { - "declaration": 2959, + "declaration": 4565, "isOffset": false, "isSlot": false, - "src": "26326:1:9", + "src": "26326:1:22", "valueSize": 1 }, { - "declaration": 2961, + "declaration": 4567, "isOffset": false, "isSlot": false, - "src": "26345:1:9", + "src": "26345:1:22", "valueSize": 1 }, { - "declaration": 2961, + "declaration": 4567, "isOffset": false, "isSlot": false, - "src": "26361:1:9", + "src": "26361:1:22", "valueSize": 1 }, { - "declaration": 2964, + "declaration": 4570, "isOffset": false, "isSlot": false, - "src": "26283:6:9", + "src": "26283:6:22", "valueSize": 1 } ], - "id": 2966, + "id": 4572, "nodeType": "InlineAssembly", - "src": "26260:115:9" + "src": "26260:115:22" } ] }, "documentation": { - "id": 2957, + "id": 4563, "nodeType": "StructuredDocumentation", - "src": "26082:40:9", + "src": "26082:40:22", "text": "@dev Returns whether `a` equals `b`." }, - "id": 2968, + "id": 4574, "implemented": true, "kind": "function", "modifiers": [], "name": "eq", - "nameLocation": "26136:2:9", + "nameLocation": "26136:2:22", "nodeType": "FunctionDefinition", "parameters": { - "id": 2962, + "id": 4568, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2959, + "id": 4565, "mutability": "mutable", "name": "a", - "nameLocation": "26152:1:9", + "nameLocation": "26152:1:22", "nodeType": "VariableDeclaration", - "scope": 2968, - "src": "26139:14:9", + "scope": 4574, + "src": "26139:14:22", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -80116,10 +99091,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2958, + "id": 4564, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "26139:5:9", + "src": "26139:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -80129,13 +99104,13 @@ }, { "constant": false, - "id": 2961, + "id": 4567, "mutability": "mutable", "name": "b", - "nameLocation": "26168:1:9", + "nameLocation": "26168:1:22", "nodeType": "VariableDeclaration", - "scope": 2968, - "src": "26155:14:9", + "scope": 4574, + "src": "26155:14:22", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -80143,10 +99118,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2960, + "id": 4566, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "26155:5:9", + "src": "26155:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -80155,21 +99130,21 @@ "visibility": "internal" } ], - "src": "26138:32:9" + "src": "26138:32:22" }, "returnParameters": { - "id": 2965, + "id": 4571, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2964, + "id": 4570, "mutability": "mutable", "name": "result", - "nameLocation": "26199:6:9", + "nameLocation": "26199:6:22", "nodeType": "VariableDeclaration", - "scope": 2968, - "src": "26194:11:9", + "scope": 4574, + "src": "26194:11:22", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -80177,10 +99152,10 @@ "typeString": "bool" }, "typeName": { - "id": 2963, + "id": 4569, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "26194:4:9", + "src": "26194:4:22", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -80189,39 +99164,39 @@ "visibility": "internal" } ], - "src": "26193:13:9" + "src": "26193:13:22" }, - "scope": 3078, - "src": "26127:254:9", + "scope": 4684, + "src": "26127:254:22", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 2979, + "id": 4585, "nodeType": "Block", - "src": "26552:774:9", + "src": "26552:774:22", "statements": [ { "AST": { - "nativeSrc": "26614:706:9", + "nativeSrc": "26614:706:22", "nodeType": "YulBlock", - "src": "26614:706:9", + "src": "26614:706:22", "statements": [ { - "nativeSrc": "26706:46:9", + "nativeSrc": "26706:46:22", "nodeType": "YulVariableDeclaration", - "src": "26706:46:9", + "src": "26706:46:22", "value": { "arguments": [ { "arguments": [ { "kind": "number", - "nativeSrc": "26723:1:9", + "nativeSrc": "26723:1:22", "nodeType": "YulLiteral", - "src": "26723:1:9", + "src": "26723:1:22", "type": "", "value": "7" }, @@ -80233,203 +99208,203 @@ "arguments": [ { "name": "b", - "nativeSrc": "26741:1:9", + "nativeSrc": "26741:1:22", "nodeType": "YulIdentifier", - "src": "26741:1:9" + "src": "26741:1:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "26734:6:9", + "nativeSrc": "26734:6:22", "nodeType": "YulIdentifier", - "src": "26734:6:9" + "src": "26734:6:22" }, - "nativeSrc": "26734:9:9", + "nativeSrc": "26734:9:22", "nodeType": "YulFunctionCall", - "src": "26734:9:9" + "src": "26734:9:22" } ], "functionName": { "name": "not", - "nativeSrc": "26730:3:9", + "nativeSrc": "26730:3:22", "nodeType": "YulIdentifier", - "src": "26730:3:9" + "src": "26730:3:22" }, - "nativeSrc": "26730:14:9", + "nativeSrc": "26730:14:22", "nodeType": "YulFunctionCall", - "src": "26730:14:9" + "src": "26730:14:22" }, { "kind": "number", - "nativeSrc": "26746:3:9", + "nativeSrc": "26746:3:22", "nodeType": "YulLiteral", - "src": "26746:3:9", + "src": "26746:3:22", "type": "", "value": "255" } ], "functionName": { "name": "div", - "nativeSrc": "26726:3:9", + "nativeSrc": "26726:3:22", "nodeType": "YulIdentifier", - "src": "26726:3:9" + "src": "26726:3:22" }, - "nativeSrc": "26726:24:9", + "nativeSrc": "26726:24:22", "nodeType": "YulFunctionCall", - "src": "26726:24:9" + "src": "26726:24:22" } ], "functionName": { "name": "shl", - "nativeSrc": "26719:3:9", + "nativeSrc": "26719:3:22", "nodeType": "YulIdentifier", - "src": "26719:3:9" + "src": "26719:3:22" }, - "nativeSrc": "26719:32:9", + "nativeSrc": "26719:32:22", "nodeType": "YulFunctionCall", - "src": "26719:32:9" + "src": "26719:32:22" } ], "functionName": { "name": "not", - "nativeSrc": "26715:3:9", + "nativeSrc": "26715:3:22", "nodeType": "YulIdentifier", - "src": "26715:3:9" + "src": "26715:3:22" }, - "nativeSrc": "26715:37:9", + "nativeSrc": "26715:37:22", "nodeType": "YulFunctionCall", - "src": "26715:37:9" + "src": "26715:37:22" }, "variables": [ { "name": "m", - "nativeSrc": "26710:1:9", + "nativeSrc": "26710:1:22", "nodeType": "YulTypedName", - "src": "26710:1:9", + "src": "26710:1:22", "type": "" } ] }, { - "nativeSrc": "26782:45:9", + "nativeSrc": "26782:45:22", "nodeType": "YulVariableDeclaration", - "src": "26782:45:9", + "src": "26782:45:22", "value": { "arguments": [ { "arguments": [ { "name": "m", - "nativeSrc": "26798:1:9", + "nativeSrc": "26798:1:22", "nodeType": "YulIdentifier", - "src": "26798:1:9" + "src": "26798:1:22" }, { "arguments": [ { "name": "b", - "nativeSrc": "26804:1:9", + "nativeSrc": "26804:1:22", "nodeType": "YulIdentifier", - "src": "26804:1:9" + "src": "26804:1:22" }, { "arguments": [ { "name": "m", - "nativeSrc": "26811:1:9", + "nativeSrc": "26811:1:22", "nodeType": "YulIdentifier", - "src": "26811:1:9" + "src": "26811:1:22" }, { "arguments": [ { "name": "b", - "nativeSrc": "26818:1:9", + "nativeSrc": "26818:1:22", "nodeType": "YulIdentifier", - "src": "26818:1:9" + "src": "26818:1:22" }, { "name": "m", - "nativeSrc": "26821:1:9", + "nativeSrc": "26821:1:22", "nodeType": "YulIdentifier", - "src": "26821:1:9" + "src": "26821:1:22" } ], "functionName": { "name": "and", - "nativeSrc": "26814:3:9", + "nativeSrc": "26814:3:22", "nodeType": "YulIdentifier", - "src": "26814:3:9" + "src": "26814:3:22" }, - "nativeSrc": "26814:9:9", + "nativeSrc": "26814:9:22", "nodeType": "YulFunctionCall", - "src": "26814:9:9" + "src": "26814:9:22" } ], "functionName": { "name": "add", - "nativeSrc": "26807:3:9", + "nativeSrc": "26807:3:22", "nodeType": "YulIdentifier", - "src": "26807:3:9" + "src": "26807:3:22" }, - "nativeSrc": "26807:17:9", + "nativeSrc": "26807:17:22", "nodeType": "YulFunctionCall", - "src": "26807:17:9" + "src": "26807:17:22" } ], "functionName": { "name": "or", - "nativeSrc": "26801:2:9", + "nativeSrc": "26801:2:22", "nodeType": "YulIdentifier", - "src": "26801:2:9" + "src": "26801:2:22" }, - "nativeSrc": "26801:24:9", + "nativeSrc": "26801:24:22", "nodeType": "YulFunctionCall", - "src": "26801:24:9" + "src": "26801:24:22" } ], "functionName": { "name": "or", - "nativeSrc": "26795:2:9", + "nativeSrc": "26795:2:22", "nodeType": "YulIdentifier", - "src": "26795:2:9" + "src": "26795:2:22" }, - "nativeSrc": "26795:31:9", + "nativeSrc": "26795:31:22", "nodeType": "YulFunctionCall", - "src": "26795:31:9" + "src": "26795:31:22" } ], "functionName": { "name": "not", - "nativeSrc": "26791:3:9", + "nativeSrc": "26791:3:22", "nodeType": "YulIdentifier", - "src": "26791:3:9" + "src": "26791:3:22" }, - "nativeSrc": "26791:36:9", + "nativeSrc": "26791:36:22", "nodeType": "YulFunctionCall", - "src": "26791:36:9" + "src": "26791:36:22" }, "variables": [ { "name": "x", - "nativeSrc": "26786:1:9", + "nativeSrc": "26786:1:22", "nodeType": "YulTypedName", - "src": "26786:1:9", + "src": "26786:1:22", "type": "" } ] }, { - "nativeSrc": "26840:44:9", + "nativeSrc": "26840:44:22", "nodeType": "YulVariableDeclaration", - "src": "26840:44:9", + "src": "26840:44:22", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "26853:1:9", + "nativeSrc": "26853:1:22", "nodeType": "YulLiteral", - "src": "26853:1:9", + "src": "26853:1:22", "type": "", "value": "7" }, @@ -80441,91 +99416,91 @@ "arguments": [ { "kind": "number", - "nativeSrc": "26874:3:9", + "nativeSrc": "26874:3:22", "nodeType": "YulLiteral", - "src": "26874:3:9", + "src": "26874:3:22", "type": "", "value": "128" }, { "name": "x", - "nativeSrc": "26879:1:9", + "nativeSrc": "26879:1:22", "nodeType": "YulIdentifier", - "src": "26879:1:9" + "src": "26879:1:22" } ], "functionName": { "name": "shr", - "nativeSrc": "26870:3:9", + "nativeSrc": "26870:3:22", "nodeType": "YulIdentifier", - "src": "26870:3:9" + "src": "26870:3:22" }, - "nativeSrc": "26870:11:9", + "nativeSrc": "26870:11:22", "nodeType": "YulFunctionCall", - "src": "26870:11:9" + "src": "26870:11:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "26863:6:9", + "nativeSrc": "26863:6:22", "nodeType": "YulIdentifier", - "src": "26863:6:9" + "src": "26863:6:22" }, - "nativeSrc": "26863:19:9", + "nativeSrc": "26863:19:22", "nodeType": "YulFunctionCall", - "src": "26863:19:9" + "src": "26863:19:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "26856:6:9", + "nativeSrc": "26856:6:22", "nodeType": "YulIdentifier", - "src": "26856:6:9" + "src": "26856:6:22" }, - "nativeSrc": "26856:27:9", + "nativeSrc": "26856:27:22", "nodeType": "YulFunctionCall", - "src": "26856:27:9" + "src": "26856:27:22" } ], "functionName": { "name": "shl", - "nativeSrc": "26849:3:9", + "nativeSrc": "26849:3:22", "nodeType": "YulIdentifier", - "src": "26849:3:9" + "src": "26849:3:22" }, - "nativeSrc": "26849:35:9", + "nativeSrc": "26849:35:22", "nodeType": "YulFunctionCall", - "src": "26849:35:9" + "src": "26849:35:22" }, "variables": [ { "name": "r", - "nativeSrc": "26844:1:9", + "nativeSrc": "26844:1:22", "nodeType": "YulTypedName", - "src": "26844:1:9", + "src": "26844:1:22", "type": "" } ] }, { - "nativeSrc": "26897:54:9", + "nativeSrc": "26897:54:22", "nodeType": "YulAssignment", - "src": "26897:54:9", + "src": "26897:54:22", "value": { "arguments": [ { "name": "r", - "nativeSrc": "26905:1:9", + "nativeSrc": "26905:1:22", "nodeType": "YulIdentifier", - "src": "26905:1:9" + "src": "26905:1:22" }, { "arguments": [ { "kind": "number", - "nativeSrc": "26912:1:9", + "nativeSrc": "26912:1:22", "nodeType": "YulLiteral", - "src": "26912:1:9", + "src": "26912:1:22", "type": "", "value": "6" }, @@ -80537,9 +99512,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "26933:2:9", + "nativeSrc": "26933:2:22", "nodeType": "YulLiteral", - "src": "26933:2:9", + "src": "26933:2:22", "type": "", "value": "64" }, @@ -80547,110 +99522,110 @@ "arguments": [ { "name": "r", - "nativeSrc": "26941:1:9", + "nativeSrc": "26941:1:22", "nodeType": "YulIdentifier", - "src": "26941:1:9" + "src": "26941:1:22" }, { "name": "x", - "nativeSrc": "26944:1:9", + "nativeSrc": "26944:1:22", "nodeType": "YulIdentifier", - "src": "26944:1:9" + "src": "26944:1:22" } ], "functionName": { "name": "shr", - "nativeSrc": "26937:3:9", + "nativeSrc": "26937:3:22", "nodeType": "YulIdentifier", - "src": "26937:3:9" + "src": "26937:3:22" }, - "nativeSrc": "26937:9:9", + "nativeSrc": "26937:9:22", "nodeType": "YulFunctionCall", - "src": "26937:9:9" + "src": "26937:9:22" } ], "functionName": { "name": "shr", - "nativeSrc": "26929:3:9", + "nativeSrc": "26929:3:22", "nodeType": "YulIdentifier", - "src": "26929:3:9" + "src": "26929:3:22" }, - "nativeSrc": "26929:18:9", + "nativeSrc": "26929:18:22", "nodeType": "YulFunctionCall", - "src": "26929:18:9" + "src": "26929:18:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "26922:6:9", + "nativeSrc": "26922:6:22", "nodeType": "YulIdentifier", - "src": "26922:6:9" + "src": "26922:6:22" }, - "nativeSrc": "26922:26:9", + "nativeSrc": "26922:26:22", "nodeType": "YulFunctionCall", - "src": "26922:26:9" + "src": "26922:26:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "26915:6:9", + "nativeSrc": "26915:6:22", "nodeType": "YulIdentifier", - "src": "26915:6:9" + "src": "26915:6:22" }, - "nativeSrc": "26915:34:9", + "nativeSrc": "26915:34:22", "nodeType": "YulFunctionCall", - "src": "26915:34:9" + "src": "26915:34:22" } ], "functionName": { "name": "shl", - "nativeSrc": "26908:3:9", + "nativeSrc": "26908:3:22", "nodeType": "YulIdentifier", - "src": "26908:3:9" + "src": "26908:3:22" }, - "nativeSrc": "26908:42:9", + "nativeSrc": "26908:42:22", "nodeType": "YulFunctionCall", - "src": "26908:42:9" + "src": "26908:42:22" } ], "functionName": { "name": "or", - "nativeSrc": "26902:2:9", + "nativeSrc": "26902:2:22", "nodeType": "YulIdentifier", - "src": "26902:2:9" + "src": "26902:2:22" }, - "nativeSrc": "26902:49:9", + "nativeSrc": "26902:49:22", "nodeType": "YulFunctionCall", - "src": "26902:49:9" + "src": "26902:49:22" }, "variableNames": [ { "name": "r", - "nativeSrc": "26897:1:9", + "nativeSrc": "26897:1:22", "nodeType": "YulIdentifier", - "src": "26897:1:9" + "src": "26897:1:22" } ] }, { - "nativeSrc": "26964:45:9", + "nativeSrc": "26964:45:22", "nodeType": "YulAssignment", - "src": "26964:45:9", + "src": "26964:45:22", "value": { "arguments": [ { "name": "r", - "nativeSrc": "26972:1:9", + "nativeSrc": "26972:1:22", "nodeType": "YulIdentifier", - "src": "26972:1:9" + "src": "26972:1:22" }, { "arguments": [ { "kind": "number", - "nativeSrc": "26979:1:9", + "nativeSrc": "26979:1:22", "nodeType": "YulLiteral", - "src": "26979:1:9", + "src": "26979:1:22", "type": "", "value": "5" }, @@ -80658,9 +99633,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "26985:10:9", + "nativeSrc": "26985:10:22", "nodeType": "YulLiteral", - "src": "26985:10:9", + "src": "26985:10:22", "type": "", "value": "0xffffffff" }, @@ -80668,88 +99643,88 @@ "arguments": [ { "name": "r", - "nativeSrc": "27001:1:9", + "nativeSrc": "27001:1:22", "nodeType": "YulIdentifier", - "src": "27001:1:9" + "src": "27001:1:22" }, { "name": "x", - "nativeSrc": "27004:1:9", + "nativeSrc": "27004:1:22", "nodeType": "YulIdentifier", - "src": "27004:1:9" + "src": "27004:1:22" } ], "functionName": { "name": "shr", - "nativeSrc": "26997:3:9", + "nativeSrc": "26997:3:22", "nodeType": "YulIdentifier", - "src": "26997:3:9" + "src": "26997:3:22" }, - "nativeSrc": "26997:9:9", + "nativeSrc": "26997:9:22", "nodeType": "YulFunctionCall", - "src": "26997:9:9" + "src": "26997:9:22" } ], "functionName": { "name": "lt", - "nativeSrc": "26982:2:9", + "nativeSrc": "26982:2:22", "nodeType": "YulIdentifier", - "src": "26982:2:9" + "src": "26982:2:22" }, - "nativeSrc": "26982:25:9", + "nativeSrc": "26982:25:22", "nodeType": "YulFunctionCall", - "src": "26982:25:9" + "src": "26982:25:22" } ], "functionName": { "name": "shl", - "nativeSrc": "26975:3:9", + "nativeSrc": "26975:3:22", "nodeType": "YulIdentifier", - "src": "26975:3:9" + "src": "26975:3:22" }, - "nativeSrc": "26975:33:9", + "nativeSrc": "26975:33:22", "nodeType": "YulFunctionCall", - "src": "26975:33:9" + "src": "26975:33:22" } ], "functionName": { "name": "or", - "nativeSrc": "26969:2:9", + "nativeSrc": "26969:2:22", "nodeType": "YulIdentifier", - "src": "26969:2:9" + "src": "26969:2:22" }, - "nativeSrc": "26969:40:9", + "nativeSrc": "26969:40:22", "nodeType": "YulFunctionCall", - "src": "26969:40:9" + "src": "26969:40:22" }, "variableNames": [ { "name": "r", - "nativeSrc": "26964:1:9", + "nativeSrc": "26964:1:22", "nodeType": "YulIdentifier", - "src": "26964:1:9" + "src": "26964:1:22" } ] }, { - "nativeSrc": "27022:41:9", + "nativeSrc": "27022:41:22", "nodeType": "YulAssignment", - "src": "27022:41:9", + "src": "27022:41:22", "value": { "arguments": [ { "name": "r", - "nativeSrc": "27030:1:9", + "nativeSrc": "27030:1:22", "nodeType": "YulIdentifier", - "src": "27030:1:9" + "src": "27030:1:22" }, { "arguments": [ { "kind": "number", - "nativeSrc": "27037:1:9", + "nativeSrc": "27037:1:22", "nodeType": "YulLiteral", - "src": "27037:1:9", + "src": "27037:1:22", "type": "", "value": "4" }, @@ -80757,9 +99732,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "27043:6:9", + "nativeSrc": "27043:6:22", "nodeType": "YulLiteral", - "src": "27043:6:9", + "src": "27043:6:22", "type": "", "value": "0xffff" }, @@ -80767,88 +99742,88 @@ "arguments": [ { "name": "r", - "nativeSrc": "27055:1:9", + "nativeSrc": "27055:1:22", "nodeType": "YulIdentifier", - "src": "27055:1:9" + "src": "27055:1:22" }, { "name": "x", - "nativeSrc": "27058:1:9", + "nativeSrc": "27058:1:22", "nodeType": "YulIdentifier", - "src": "27058:1:9" + "src": "27058:1:22" } ], "functionName": { "name": "shr", - "nativeSrc": "27051:3:9", + "nativeSrc": "27051:3:22", "nodeType": "YulIdentifier", - "src": "27051:3:9" + "src": "27051:3:22" }, - "nativeSrc": "27051:9:9", + "nativeSrc": "27051:9:22", "nodeType": "YulFunctionCall", - "src": "27051:9:9" + "src": "27051:9:22" } ], "functionName": { "name": "lt", - "nativeSrc": "27040:2:9", + "nativeSrc": "27040:2:22", "nodeType": "YulIdentifier", - "src": "27040:2:9" + "src": "27040:2:22" }, - "nativeSrc": "27040:21:9", + "nativeSrc": "27040:21:22", "nodeType": "YulFunctionCall", - "src": "27040:21:9" + "src": "27040:21:22" } ], "functionName": { "name": "shl", - "nativeSrc": "27033:3:9", + "nativeSrc": "27033:3:22", "nodeType": "YulIdentifier", - "src": "27033:3:9" + "src": "27033:3:22" }, - "nativeSrc": "27033:29:9", + "nativeSrc": "27033:29:22", "nodeType": "YulFunctionCall", - "src": "27033:29:9" + "src": "27033:29:22" } ], "functionName": { "name": "or", - "nativeSrc": "27027:2:9", + "nativeSrc": "27027:2:22", "nodeType": "YulIdentifier", - "src": "27027:2:9" + "src": "27027:2:22" }, - "nativeSrc": "27027:36:9", + "nativeSrc": "27027:36:22", "nodeType": "YulFunctionCall", - "src": "27027:36:9" + "src": "27027:36:22" }, "variableNames": [ { "name": "r", - "nativeSrc": "27022:1:9", + "nativeSrc": "27022:1:22", "nodeType": "YulIdentifier", - "src": "27022:1:9" + "src": "27022:1:22" } ] }, { - "nativeSrc": "27076:39:9", + "nativeSrc": "27076:39:22", "nodeType": "YulAssignment", - "src": "27076:39:9", + "src": "27076:39:22", "value": { "arguments": [ { "name": "r", - "nativeSrc": "27084:1:9", + "nativeSrc": "27084:1:22", "nodeType": "YulIdentifier", - "src": "27084:1:9" + "src": "27084:1:22" }, { "arguments": [ { "kind": "number", - "nativeSrc": "27091:1:9", + "nativeSrc": "27091:1:22", "nodeType": "YulLiteral", - "src": "27091:1:9", + "src": "27091:1:22", "type": "", "value": "3" }, @@ -80856,9 +99831,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "27097:4:9", + "nativeSrc": "27097:4:22", "nodeType": "YulLiteral", - "src": "27097:4:9", + "src": "27097:4:22", "type": "", "value": "0xff" }, @@ -80866,73 +99841,73 @@ "arguments": [ { "name": "r", - "nativeSrc": "27107:1:9", + "nativeSrc": "27107:1:22", "nodeType": "YulIdentifier", - "src": "27107:1:9" + "src": "27107:1:22" }, { "name": "x", - "nativeSrc": "27110:1:9", + "nativeSrc": "27110:1:22", "nodeType": "YulIdentifier", - "src": "27110:1:9" + "src": "27110:1:22" } ], "functionName": { "name": "shr", - "nativeSrc": "27103:3:9", + "nativeSrc": "27103:3:22", "nodeType": "YulIdentifier", - "src": "27103:3:9" + "src": "27103:3:22" }, - "nativeSrc": "27103:9:9", + "nativeSrc": "27103:9:22", "nodeType": "YulFunctionCall", - "src": "27103:9:9" + "src": "27103:9:22" } ], "functionName": { "name": "lt", - "nativeSrc": "27094:2:9", + "nativeSrc": "27094:2:22", "nodeType": "YulIdentifier", - "src": "27094:2:9" + "src": "27094:2:22" }, - "nativeSrc": "27094:19:9", + "nativeSrc": "27094:19:22", "nodeType": "YulFunctionCall", - "src": "27094:19:9" + "src": "27094:19:22" } ], "functionName": { "name": "shl", - "nativeSrc": "27087:3:9", + "nativeSrc": "27087:3:22", "nodeType": "YulIdentifier", - "src": "27087:3:9" + "src": "27087:3:22" }, - "nativeSrc": "27087:27:9", + "nativeSrc": "27087:27:22", "nodeType": "YulFunctionCall", - "src": "27087:27:9" + "src": "27087:27:22" } ], "functionName": { "name": "or", - "nativeSrc": "27081:2:9", + "nativeSrc": "27081:2:22", "nodeType": "YulIdentifier", - "src": "27081:2:9" + "src": "27081:2:22" }, - "nativeSrc": "27081:34:9", + "nativeSrc": "27081:34:22", "nodeType": "YulFunctionCall", - "src": "27081:34:9" + "src": "27081:34:22" }, "variableNames": [ { "name": "r", - "nativeSrc": "27076:1:9", + "nativeSrc": "27076:1:22", "nodeType": "YulIdentifier", - "src": "27076:1:9" + "src": "27076:1:22" } ] }, { - "nativeSrc": "27171:139:9", + "nativeSrc": "27171:139:22", "nodeType": "YulAssignment", - "src": "27171:139:9", + "src": "27171:139:22", "value": { "arguments": [ { @@ -80941,20 +99916,20 @@ "arguments": [ { "name": "a", - "nativeSrc": "27193:1:9", + "nativeSrc": "27193:1:22", "nodeType": "YulIdentifier", - "src": "27193:1:9" + "src": "27193:1:22" } ], "functionName": { "name": "mload", - "nativeSrc": "27187:5:9", + "nativeSrc": "27187:5:22", "nodeType": "YulIdentifier", - "src": "27187:5:9" + "src": "27187:5:22" }, - "nativeSrc": "27187:8:9", + "nativeSrc": "27187:8:22", "nodeType": "YulFunctionCall", - "src": "27187:8:9" + "src": "27187:8:22" }, { "arguments": [ @@ -80962,28 +99937,28 @@ "arguments": [ { "name": "x", - "nativeSrc": "27208:1:9", + "nativeSrc": "27208:1:22", "nodeType": "YulIdentifier", - "src": "27208:1:9" + "src": "27208:1:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "27201:6:9", + "nativeSrc": "27201:6:22", "nodeType": "YulIdentifier", - "src": "27201:6:9" + "src": "27201:6:22" }, - "nativeSrc": "27201:9:9", + "nativeSrc": "27201:9:22", "nodeType": "YulFunctionCall", - "src": "27201:9:9" + "src": "27201:9:22" }, { "arguments": [ { "kind": "number", - "nativeSrc": "27216:2:9", + "nativeSrc": "27216:2:22", "nodeType": "YulLiteral", - "src": "27216:2:9", + "src": "27216:2:22", "type": "", "value": "31" }, @@ -80991,61 +99966,61 @@ "arguments": [ { "kind": "number", - "nativeSrc": "27224:1:9", + "nativeSrc": "27224:1:22", "nodeType": "YulLiteral", - "src": "27224:1:9", + "src": "27224:1:22", "type": "", "value": "3" }, { "name": "r", - "nativeSrc": "27227:1:9", + "nativeSrc": "27227:1:22", "nodeType": "YulIdentifier", - "src": "27227:1:9" + "src": "27227:1:22" } ], "functionName": { "name": "shr", - "nativeSrc": "27220:3:9", + "nativeSrc": "27220:3:22", "nodeType": "YulIdentifier", - "src": "27220:3:9" + "src": "27220:3:22" }, - "nativeSrc": "27220:9:9", + "nativeSrc": "27220:9:22", "nodeType": "YulFunctionCall", - "src": "27220:9:9" + "src": "27220:9:22" } ], "functionName": { "name": "xor", - "nativeSrc": "27212:3:9", + "nativeSrc": "27212:3:22", "nodeType": "YulIdentifier", - "src": "27212:3:9" + "src": "27212:3:22" }, - "nativeSrc": "27212:18:9", + "nativeSrc": "27212:18:22", "nodeType": "YulFunctionCall", - "src": "27212:18:9" + "src": "27212:18:22" } ], "functionName": { "name": "add", - "nativeSrc": "27197:3:9", + "nativeSrc": "27197:3:22", "nodeType": "YulIdentifier", - "src": "27197:3:9" + "src": "27197:3:22" }, - "nativeSrc": "27197:34:9", + "nativeSrc": "27197:34:22", "nodeType": "YulFunctionCall", - "src": "27197:34:9" + "src": "27197:34:22" } ], "functionName": { "name": "eq", - "nativeSrc": "27184:2:9", + "nativeSrc": "27184:2:22", "nodeType": "YulIdentifier", - "src": "27184:2:9" + "src": "27184:2:22" }, - "nativeSrc": "27184:48:9", + "nativeSrc": "27184:48:22", "nodeType": "YulFunctionCall", - "src": "27184:48:9" + "src": "27184:48:22" }, { "arguments": [ @@ -81055,45 +100030,45 @@ "arguments": [ { "kind": "number", - "nativeSrc": "27262:1:9", + "nativeSrc": "27262:1:22", "nodeType": "YulLiteral", - "src": "27262:1:9", + "src": "27262:1:22", "type": "", "value": "8" }, { "name": "r", - "nativeSrc": "27265:1:9", + "nativeSrc": "27265:1:22", "nodeType": "YulIdentifier", - "src": "27265:1:9" + "src": "27265:1:22" } ], "functionName": { "name": "add", - "nativeSrc": "27258:3:9", + "nativeSrc": "27258:3:22", "nodeType": "YulIdentifier", - "src": "27258:3:9" + "src": "27258:3:22" }, - "nativeSrc": "27258:9:9", + "nativeSrc": "27258:9:22", "nodeType": "YulFunctionCall", - "src": "27258:9:9" + "src": "27258:9:22" }, { "name": "b", - "nativeSrc": "27269:1:9", + "nativeSrc": "27269:1:22", "nodeType": "YulIdentifier", - "src": "27269:1:9" + "src": "27269:1:22" } ], "functionName": { "name": "shr", - "nativeSrc": "27254:3:9", + "nativeSrc": "27254:3:22", "nodeType": "YulIdentifier", - "src": "27254:3:9" + "src": "27254:3:22" }, - "nativeSrc": "27254:17:9", + "nativeSrc": "27254:17:22", "nodeType": "YulFunctionCall", - "src": "27254:17:9" + "src": "27254:17:22" }, { "arguments": [ @@ -81101,28 +100076,28 @@ "arguments": [ { "kind": "number", - "nativeSrc": "27281:1:9", + "nativeSrc": "27281:1:22", "nodeType": "YulLiteral", - "src": "27281:1:9", + "src": "27281:1:22", "type": "", "value": "8" }, { "name": "r", - "nativeSrc": "27284:1:9", + "nativeSrc": "27284:1:22", "nodeType": "YulIdentifier", - "src": "27284:1:9" + "src": "27284:1:22" } ], "functionName": { "name": "add", - "nativeSrc": "27277:3:9", + "nativeSrc": "27277:3:22", "nodeType": "YulIdentifier", - "src": "27277:3:9" + "src": "27277:3:22" }, - "nativeSrc": "27277:9:9", + "nativeSrc": "27277:9:22", "nodeType": "YulFunctionCall", - "src": "27277:9:9" + "src": "27277:9:22" }, { "arguments": [ @@ -81130,79 +100105,79 @@ "arguments": [ { "name": "a", - "nativeSrc": "27298:1:9", + "nativeSrc": "27298:1:22", "nodeType": "YulIdentifier", - "src": "27298:1:9" + "src": "27298:1:22" }, { "kind": "number", - "nativeSrc": "27301:4:9", + "nativeSrc": "27301:4:22", "nodeType": "YulLiteral", - "src": "27301:4:9", + "src": "27301:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "27294:3:9", + "nativeSrc": "27294:3:22", "nodeType": "YulIdentifier", - "src": "27294:3:9" + "src": "27294:3:22" }, - "nativeSrc": "27294:12:9", + "nativeSrc": "27294:12:22", "nodeType": "YulFunctionCall", - "src": "27294:12:9" + "src": "27294:12:22" } ], "functionName": { "name": "mload", - "nativeSrc": "27288:5:9", + "nativeSrc": "27288:5:22", "nodeType": "YulIdentifier", - "src": "27288:5:9" + "src": "27288:5:22" }, - "nativeSrc": "27288:19:9", + "nativeSrc": "27288:19:22", "nodeType": "YulFunctionCall", - "src": "27288:19:9" + "src": "27288:19:22" } ], "functionName": { "name": "shr", - "nativeSrc": "27273:3:9", + "nativeSrc": "27273:3:22", "nodeType": "YulIdentifier", - "src": "27273:3:9" + "src": "27273:3:22" }, - "nativeSrc": "27273:35:9", + "nativeSrc": "27273:35:22", "nodeType": "YulFunctionCall", - "src": "27273:35:9" + "src": "27273:35:22" } ], "functionName": { "name": "xor", - "nativeSrc": "27250:3:9", + "nativeSrc": "27250:3:22", "nodeType": "YulIdentifier", - "src": "27250:3:9" + "src": "27250:3:22" }, - "nativeSrc": "27250:59:9", + "nativeSrc": "27250:59:22", "nodeType": "YulFunctionCall", - "src": "27250:59:9" + "src": "27250:59:22" } ], "functionName": { "name": "gt", - "nativeSrc": "27181:2:9", + "nativeSrc": "27181:2:22", "nodeType": "YulIdentifier", - "src": "27181:2:9" + "src": "27181:2:22" }, - "nativeSrc": "27181:129:9", + "nativeSrc": "27181:129:22", "nodeType": "YulFunctionCall", - "src": "27181:129:9" + "src": "27181:129:22" }, "variableNames": [ { "name": "result", - "nativeSrc": "27171:6:9", + "nativeSrc": "27171:6:22", "nodeType": "YulIdentifier", - "src": "27171:6:9" + "src": "27171:6:22" } ] } @@ -81212,87 +100187,87 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2971, + "declaration": 4577, "isOffset": false, "isSlot": false, - "src": "27193:1:9", + "src": "27193:1:22", "valueSize": 1 }, { - "declaration": 2971, + "declaration": 4577, "isOffset": false, "isSlot": false, - "src": "27298:1:9", + "src": "27298:1:22", "valueSize": 1 }, { - "declaration": 2973, + "declaration": 4579, "isOffset": false, "isSlot": false, - "src": "26741:1:9", + "src": "26741:1:22", "valueSize": 1 }, { - "declaration": 2973, + "declaration": 4579, "isOffset": false, "isSlot": false, - "src": "26804:1:9", + "src": "26804:1:22", "valueSize": 1 }, { - "declaration": 2973, + "declaration": 4579, "isOffset": false, "isSlot": false, - "src": "26818:1:9", + "src": "26818:1:22", "valueSize": 1 }, { - "declaration": 2973, + "declaration": 4579, "isOffset": false, "isSlot": false, - "src": "27269:1:9", + "src": "27269:1:22", "valueSize": 1 }, { - "declaration": 2976, + "declaration": 4582, "isOffset": false, "isSlot": false, - "src": "27171:6:9", + "src": "27171:6:22", "valueSize": 1 } ], - "id": 2978, + "id": 4584, "nodeType": "InlineAssembly", - "src": "26605:715:9" + "src": "26605:715:22" } ] }, "documentation": { - "id": 2969, + "id": 4575, "nodeType": "StructuredDocumentation", - "src": "26387:84:9", + "src": "26387:84:22", "text": "@dev Returns whether `a` equals `b`, where `b` is a null-terminated small bytes." }, - "id": 2980, + "id": 4586, "implemented": true, "kind": "function", "modifiers": [], "name": "eqs", - "nameLocation": "26485:3:9", + "nameLocation": "26485:3:22", "nodeType": "FunctionDefinition", "parameters": { - "id": 2974, + "id": 4580, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2971, + "id": 4577, "mutability": "mutable", "name": "a", - "nameLocation": "26502:1:9", + "nameLocation": "26502:1:22", "nodeType": "VariableDeclaration", - "scope": 2980, - "src": "26489:14:9", + "scope": 4586, + "src": "26489:14:22", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -81300,10 +100275,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2970, + "id": 4576, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "26489:5:9", + "src": "26489:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -81313,13 +100288,13 @@ }, { "constant": false, - "id": 2973, + "id": 4579, "mutability": "mutable", "name": "b", - "nameLocation": "26513:1:9", + "nameLocation": "26513:1:22", "nodeType": "VariableDeclaration", - "scope": 2980, - "src": "26505:9:9", + "scope": 4586, + "src": "26505:9:22", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -81327,10 +100302,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 2972, + "id": 4578, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "26505:7:9", + "src": "26505:7:22", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -81339,21 +100314,21 @@ "visibility": "internal" } ], - "src": "26488:27:9" + "src": "26488:27:22" }, "returnParameters": { - "id": 2977, + "id": 4583, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2976, + "id": 4582, "mutability": "mutable", "name": "result", - "nameLocation": "26544:6:9", + "nameLocation": "26544:6:22", "nodeType": "VariableDeclaration", - "scope": 2980, - "src": "26539:11:9", + "scope": 4586, + "src": "26539:11:22", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -81361,10 +100336,10 @@ "typeString": "bool" }, "typeName": { - "id": 2975, + "id": 4581, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "26539:4:9", + "src": "26539:4:22", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -81373,105 +100348,105 @@ "visibility": "internal" } ], - "src": "26538:13:9" + "src": "26538:13:22" }, - "scope": 3078, - "src": "26476:850:9", + "scope": 4684, + "src": "26476:850:22", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 2991, + "id": 4597, "nodeType": "Block", - "src": "27553:1171:9", + "src": "27553:1171:22", "statements": [ { "AST": { - "nativeSrc": "27615:1103:9", + "nativeSrc": "27615:1103:22", "nodeType": "YulBlock", - "src": "27615:1103:9", + "src": "27615:1103:22", "statements": [ { - "nativeSrc": "27629:20:9", + "nativeSrc": "27629:20:22", "nodeType": "YulVariableDeclaration", - "src": "27629:20:9", + "src": "27629:20:22", "value": { "arguments": [ { "name": "a", - "nativeSrc": "27647:1:9", + "nativeSrc": "27647:1:22", "nodeType": "YulIdentifier", - "src": "27647:1:9" + "src": "27647:1:22" } ], "functionName": { "name": "mload", - "nativeSrc": "27641:5:9", + "nativeSrc": "27641:5:22", "nodeType": "YulIdentifier", - "src": "27641:5:9" + "src": "27641:5:22" }, - "nativeSrc": "27641:8:9", + "nativeSrc": "27641:8:22", "nodeType": "YulFunctionCall", - "src": "27641:8:9" + "src": "27641:8:22" }, "variables": [ { "name": "aLen", - "nativeSrc": "27633:4:9", + "nativeSrc": "27633:4:22", "nodeType": "YulTypedName", - "src": "27633:4:9", + "src": "27633:4:22", "type": "" } ] }, { - "nativeSrc": "27662:20:9", + "nativeSrc": "27662:20:22", "nodeType": "YulVariableDeclaration", - "src": "27662:20:9", + "src": "27662:20:22", "value": { "arguments": [ { "name": "b", - "nativeSrc": "27680:1:9", + "nativeSrc": "27680:1:22", "nodeType": "YulIdentifier", - "src": "27680:1:9" + "src": "27680:1:22" } ], "functionName": { "name": "mload", - "nativeSrc": "27674:5:9", + "nativeSrc": "27674:5:22", "nodeType": "YulIdentifier", - "src": "27674:5:9" + "src": "27674:5:22" }, - "nativeSrc": "27674:8:9", + "nativeSrc": "27674:8:22", "nodeType": "YulFunctionCall", - "src": "27674:8:9" + "src": "27674:8:22" }, "variables": [ { "name": "bLen", - "nativeSrc": "27666:4:9", + "nativeSrc": "27666:4:22", "nodeType": "YulTypedName", - "src": "27666:4:9", + "src": "27666:4:22", "type": "" } ] }, { - "nativeSrc": "27695:72:9", + "nativeSrc": "27695:72:22", "nodeType": "YulVariableDeclaration", - "src": "27695:72:9", + "src": "27695:72:22", "value": { "arguments": [ { "arguments": [ { "name": "aLen", - "nativeSrc": "27712:4:9", + "nativeSrc": "27712:4:22", "nodeType": "YulIdentifier", - "src": "27712:4:9" + "src": "27712:4:22" }, { "arguments": [ @@ -81479,282 +100454,282 @@ "arguments": [ { "name": "aLen", - "nativeSrc": "27726:4:9", + "nativeSrc": "27726:4:22", "nodeType": "YulIdentifier", - "src": "27726:4:9" + "src": "27726:4:22" }, { "name": "bLen", - "nativeSrc": "27732:4:9", + "nativeSrc": "27732:4:22", "nodeType": "YulIdentifier", - "src": "27732:4:9" + "src": "27732:4:22" } ], "functionName": { "name": "xor", - "nativeSrc": "27722:3:9", + "nativeSrc": "27722:3:22", "nodeType": "YulIdentifier", - "src": "27722:3:9" + "src": "27722:3:22" }, - "nativeSrc": "27722:15:9", + "nativeSrc": "27722:15:22", "nodeType": "YulFunctionCall", - "src": "27722:15:9" + "src": "27722:15:22" }, { "arguments": [ { "name": "bLen", - "nativeSrc": "27742:4:9", + "nativeSrc": "27742:4:22", "nodeType": "YulIdentifier", - "src": "27742:4:9" + "src": "27742:4:22" }, { "name": "aLen", - "nativeSrc": "27748:4:9", + "nativeSrc": "27748:4:22", "nodeType": "YulIdentifier", - "src": "27748:4:9" + "src": "27748:4:22" } ], "functionName": { "name": "lt", - "nativeSrc": "27739:2:9", + "nativeSrc": "27739:2:22", "nodeType": "YulIdentifier", - "src": "27739:2:9" + "src": "27739:2:22" }, - "nativeSrc": "27739:14:9", + "nativeSrc": "27739:14:22", "nodeType": "YulFunctionCall", - "src": "27739:14:9" + "src": "27739:14:22" } ], "functionName": { "name": "mul", - "nativeSrc": "27718:3:9", + "nativeSrc": "27718:3:22", "nodeType": "YulIdentifier", - "src": "27718:3:9" + "src": "27718:3:22" }, - "nativeSrc": "27718:36:9", + "nativeSrc": "27718:36:22", "nodeType": "YulFunctionCall", - "src": "27718:36:9" + "src": "27718:36:22" } ], "functionName": { "name": "xor", - "nativeSrc": "27708:3:9", + "nativeSrc": "27708:3:22", "nodeType": "YulIdentifier", - "src": "27708:3:9" + "src": "27708:3:22" }, - "nativeSrc": "27708:47:9", + "nativeSrc": "27708:47:22", "nodeType": "YulFunctionCall", - "src": "27708:47:9" + "src": "27708:47:22" }, { "arguments": [ { "kind": "number", - "nativeSrc": "27761:4:9", + "nativeSrc": "27761:4:22", "nodeType": "YulLiteral", - "src": "27761:4:9", + "src": "27761:4:22", "type": "", "value": "0x1f" } ], "functionName": { "name": "not", - "nativeSrc": "27757:3:9", + "nativeSrc": "27757:3:22", "nodeType": "YulIdentifier", - "src": "27757:3:9" + "src": "27757:3:22" }, - "nativeSrc": "27757:9:9", + "nativeSrc": "27757:9:22", "nodeType": "YulFunctionCall", - "src": "27757:9:9" + "src": "27757:9:22" } ], "functionName": { "name": "and", - "nativeSrc": "27704:3:9", + "nativeSrc": "27704:3:22", "nodeType": "YulIdentifier", - "src": "27704:3:9" + "src": "27704:3:22" }, - "nativeSrc": "27704:63:9", + "nativeSrc": "27704:63:22", "nodeType": "YulFunctionCall", - "src": "27704:63:9" + "src": "27704:63:22" }, "variables": [ { "name": "n", - "nativeSrc": "27699:1:9", + "nativeSrc": "27699:1:22", "nodeType": "YulTypedName", - "src": "27699:1:9", + "src": "27699:1:22", "type": "" } ] }, { "body": { - "nativeSrc": "27785:404:9", + "nativeSrc": "27785:404:22", "nodeType": "YulBlock", - "src": "27785:404:9", + "src": "27785:404:22", "statements": [ { "body": { - "nativeSrc": "27830:345:9", + "nativeSrc": "27830:345:22", "nodeType": "YulBlock", - "src": "27830:345:9", + "src": "27830:345:22", "statements": [ { - "nativeSrc": "27852:25:9", + "nativeSrc": "27852:25:22", "nodeType": "YulVariableDeclaration", - "src": "27852:25:9", + "src": "27852:25:22", "value": { "arguments": [ { "arguments": [ { "name": "a", - "nativeSrc": "27871:1:9", + "nativeSrc": "27871:1:22", "nodeType": "YulIdentifier", - "src": "27871:1:9" + "src": "27871:1:22" }, { "name": "i", - "nativeSrc": "27874:1:9", + "nativeSrc": "27874:1:22", "nodeType": "YulIdentifier", - "src": "27874:1:9" + "src": "27874:1:22" } ], "functionName": { "name": "add", - "nativeSrc": "27867:3:9", + "nativeSrc": "27867:3:22", "nodeType": "YulIdentifier", - "src": "27867:3:9" + "src": "27867:3:22" }, - "nativeSrc": "27867:9:9", + "nativeSrc": "27867:9:22", "nodeType": "YulFunctionCall", - "src": "27867:9:9" + "src": "27867:9:22" } ], "functionName": { "name": "mload", - "nativeSrc": "27861:5:9", + "nativeSrc": "27861:5:22", "nodeType": "YulIdentifier", - "src": "27861:5:9" + "src": "27861:5:22" }, - "nativeSrc": "27861:16:9", + "nativeSrc": "27861:16:22", "nodeType": "YulFunctionCall", - "src": "27861:16:9" + "src": "27861:16:22" }, "variables": [ { "name": "x", - "nativeSrc": "27856:1:9", + "nativeSrc": "27856:1:22", "nodeType": "YulTypedName", - "src": "27856:1:9", + "src": "27856:1:22", "type": "" } ] }, { - "nativeSrc": "27898:25:9", + "nativeSrc": "27898:25:22", "nodeType": "YulVariableDeclaration", - "src": "27898:25:9", + "src": "27898:25:22", "value": { "arguments": [ { "arguments": [ { "name": "b", - "nativeSrc": "27917:1:9", + "nativeSrc": "27917:1:22", "nodeType": "YulIdentifier", - "src": "27917:1:9" + "src": "27917:1:22" }, { "name": "i", - "nativeSrc": "27920:1:9", + "nativeSrc": "27920:1:22", "nodeType": "YulIdentifier", - "src": "27920:1:9" + "src": "27920:1:22" } ], "functionName": { "name": "add", - "nativeSrc": "27913:3:9", + "nativeSrc": "27913:3:22", "nodeType": "YulIdentifier", - "src": "27913:3:9" + "src": "27913:3:22" }, - "nativeSrc": "27913:9:9", + "nativeSrc": "27913:9:22", "nodeType": "YulFunctionCall", - "src": "27913:9:9" + "src": "27913:9:22" } ], "functionName": { "name": "mload", - "nativeSrc": "27907:5:9", + "nativeSrc": "27907:5:22", "nodeType": "YulIdentifier", - "src": "27907:5:9" + "src": "27907:5:22" }, - "nativeSrc": "27907:16:9", + "nativeSrc": "27907:16:22", "nodeType": "YulFunctionCall", - "src": "27907:16:9" + "src": "27907:16:22" }, "variables": [ { "name": "y", - "nativeSrc": "27902:1:9", + "nativeSrc": "27902:1:22", "nodeType": "YulTypedName", - "src": "27902:1:9", + "src": "27902:1:22", "type": "" } ] }, { "body": { - "nativeSrc": "27979:98:9", + "nativeSrc": "27979:98:22", "nodeType": "YulBlock", - "src": "27979:98:9", + "src": "27979:98:22", "statements": [ { - "nativeSrc": "28005:17:9", + "nativeSrc": "28005:17:22", "nodeType": "YulAssignment", - "src": "28005:17:9", + "src": "28005:17:22", "value": { "arguments": [ { "name": "i", - "nativeSrc": "28014:1:9", + "nativeSrc": "28014:1:22", "nodeType": "YulIdentifier", - "src": "28014:1:9" + "src": "28014:1:22" }, { "kind": "number", - "nativeSrc": "28017:4:9", + "nativeSrc": "28017:4:22", "nodeType": "YulLiteral", - "src": "28017:4:9", + "src": "28017:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "28010:3:9", + "nativeSrc": "28010:3:22", "nodeType": "YulIdentifier", - "src": "28010:3:9" + "src": "28010:3:22" }, - "nativeSrc": "28010:12:9", + "nativeSrc": "28010:12:22", "nodeType": "YulFunctionCall", - "src": "28010:12:9" + "src": "28010:12:22" }, "variableNames": [ { "name": "i", - "nativeSrc": "28005:1:9", + "nativeSrc": "28005:1:22", "nodeType": "YulIdentifier", - "src": "28005:1:9" + "src": "28005:1:22" } ] }, { - "nativeSrc": "28047:8:9", + "nativeSrc": "28047:8:22", "nodeType": "YulContinue", - "src": "28047:8:9" + "src": "28047:8:22" } ] }, @@ -81766,252 +100741,252 @@ "arguments": [ { "name": "x", - "nativeSrc": "27961:1:9", + "nativeSrc": "27961:1:22", "nodeType": "YulIdentifier", - "src": "27961:1:9" + "src": "27961:1:22" }, { "name": "y", - "nativeSrc": "27964:1:9", + "nativeSrc": "27964:1:22", "nodeType": "YulIdentifier", - "src": "27964:1:9" + "src": "27964:1:22" } ], "functionName": { "name": "xor", - "nativeSrc": "27957:3:9", + "nativeSrc": "27957:3:22", "nodeType": "YulIdentifier", - "src": "27957:3:9" + "src": "27957:3:22" }, - "nativeSrc": "27957:9:9", + "nativeSrc": "27957:9:22", "nodeType": "YulFunctionCall", - "src": "27957:9:9" + "src": "27957:9:22" }, { "arguments": [ { "name": "i", - "nativeSrc": "27971:1:9", + "nativeSrc": "27971:1:22", "nodeType": "YulIdentifier", - "src": "27971:1:9" + "src": "27971:1:22" }, { "name": "n", - "nativeSrc": "27974:1:9", + "nativeSrc": "27974:1:22", "nodeType": "YulIdentifier", - "src": "27974:1:9" + "src": "27974:1:22" } ], "functionName": { "name": "eq", - "nativeSrc": "27968:2:9", + "nativeSrc": "27968:2:22", "nodeType": "YulIdentifier", - "src": "27968:2:9" + "src": "27968:2:22" }, - "nativeSrc": "27968:8:9", + "nativeSrc": "27968:8:22", "nodeType": "YulFunctionCall", - "src": "27968:8:9" + "src": "27968:8:22" } ], "functionName": { "name": "or", - "nativeSrc": "27954:2:9", + "nativeSrc": "27954:2:22", "nodeType": "YulIdentifier", - "src": "27954:2:9" + "src": "27954:2:22" }, - "nativeSrc": "27954:23:9", + "nativeSrc": "27954:23:22", "nodeType": "YulFunctionCall", - "src": "27954:23:9" + "src": "27954:23:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "27947:6:9", + "nativeSrc": "27947:6:22", "nodeType": "YulIdentifier", - "src": "27947:6:9" + "src": "27947:6:22" }, - "nativeSrc": "27947:31:9", + "nativeSrc": "27947:31:22", "nodeType": "YulFunctionCall", - "src": "27947:31:9" + "src": "27947:31:22" }, - "nativeSrc": "27944:133:9", + "nativeSrc": "27944:133:22", "nodeType": "YulIf", - "src": "27944:133:9" + "src": "27944:133:22" }, { - "nativeSrc": "28098:33:9", + "nativeSrc": "28098:33:22", "nodeType": "YulAssignment", - "src": "28098:33:9", + "src": "28098:33:22", "value": { "arguments": [ { "arguments": [ { "name": "x", - "nativeSrc": "28115:1:9", + "nativeSrc": "28115:1:22", "nodeType": "YulIdentifier", - "src": "28115:1:9" + "src": "28115:1:22" }, { "name": "y", - "nativeSrc": "28118:1:9", + "nativeSrc": "28118:1:22", "nodeType": "YulIdentifier", - "src": "28118:1:9" + "src": "28118:1:22" } ], "functionName": { "name": "gt", - "nativeSrc": "28112:2:9", + "nativeSrc": "28112:2:22", "nodeType": "YulIdentifier", - "src": "28112:2:9" + "src": "28112:2:22" }, - "nativeSrc": "28112:8:9", + "nativeSrc": "28112:8:22", "nodeType": "YulFunctionCall", - "src": "28112:8:9" + "src": "28112:8:22" }, { "arguments": [ { "name": "x", - "nativeSrc": "28125:1:9", + "nativeSrc": "28125:1:22", "nodeType": "YulIdentifier", - "src": "28125:1:9" + "src": "28125:1:22" }, { "name": "y", - "nativeSrc": "28128:1:9", + "nativeSrc": "28128:1:22", "nodeType": "YulIdentifier", - "src": "28128:1:9" + "src": "28128:1:22" } ], "functionName": { "name": "lt", - "nativeSrc": "28122:2:9", + "nativeSrc": "28122:2:22", "nodeType": "YulIdentifier", - "src": "28122:2:9" + "src": "28122:2:22" }, - "nativeSrc": "28122:8:9", + "nativeSrc": "28122:8:22", "nodeType": "YulFunctionCall", - "src": "28122:8:9" + "src": "28122:8:22" } ], "functionName": { "name": "sub", - "nativeSrc": "28108:3:9", + "nativeSrc": "28108:3:22", "nodeType": "YulIdentifier", - "src": "28108:3:9" + "src": "28108:3:22" }, - "nativeSrc": "28108:23:9", + "nativeSrc": "28108:23:22", "nodeType": "YulFunctionCall", - "src": "28108:23:9" + "src": "28108:23:22" }, "variableNames": [ { "name": "result", - "nativeSrc": "28098:6:9", + "nativeSrc": "28098:6:22", "nodeType": "YulIdentifier", - "src": "28098:6:9" + "src": "28098:6:22" } ] }, { - "nativeSrc": "28152:5:9", + "nativeSrc": "28152:5:22", "nodeType": "YulBreak", - "src": "28152:5:9" + "src": "28152:5:22" } ] }, "condition": { "kind": "number", - "nativeSrc": "27825:1:9", + "nativeSrc": "27825:1:22", "nodeType": "YulLiteral", - "src": "27825:1:9", + "src": "27825:1:22", "type": "", "value": "1" }, - "nativeSrc": "27803:372:9", + "nativeSrc": "27803:372:22", "nodeType": "YulForLoop", "post": { - "nativeSrc": "27827:2:9", + "nativeSrc": "27827:2:22", "nodeType": "YulBlock", - "src": "27827:2:9", + "src": "27827:2:22", "statements": [] }, "pre": { - "nativeSrc": "27807:17:9", + "nativeSrc": "27807:17:22", "nodeType": "YulBlock", - "src": "27807:17:9", + "src": "27807:17:22", "statements": [ { - "nativeSrc": "27809:13:9", + "nativeSrc": "27809:13:22", "nodeType": "YulVariableDeclaration", - "src": "27809:13:9", + "src": "27809:13:22", "value": { "kind": "number", - "nativeSrc": "27818:4:9", + "nativeSrc": "27818:4:22", "nodeType": "YulLiteral", - "src": "27818:4:9", + "src": "27818:4:22", "type": "", "value": "0x20" }, "variables": [ { "name": "i", - "nativeSrc": "27813:1:9", + "nativeSrc": "27813:1:22", "nodeType": "YulTypedName", - "src": "27813:1:9", + "src": "27813:1:22", "type": "" } ] } ] }, - "src": "27803:372:9" + "src": "27803:372:22" } ] }, "condition": { "name": "n", - "nativeSrc": "27783:1:9", + "nativeSrc": "27783:1:22", "nodeType": "YulIdentifier", - "src": "27783:1:9" + "src": "27783:1:22" }, - "nativeSrc": "27780:409:9", + "nativeSrc": "27780:409:22", "nodeType": "YulIf", - "src": "27780:409:9" + "src": "27780:409:22" }, { "body": { - "nativeSrc": "28263:445:9", + "nativeSrc": "28263:445:22", "nodeType": "YulBlock", - "src": "28263:445:9", + "src": "28263:445:22", "statements": [ { - "nativeSrc": "28281:75:9", + "nativeSrc": "28281:75:22", "nodeType": "YulVariableDeclaration", - "src": "28281:75:9", + "src": "28281:75:22", "value": { "kind": "number", - "nativeSrc": "28290:66:9", + "nativeSrc": "28290:66:22", "nodeType": "YulLiteral", - "src": "28290:66:9", + "src": "28290:66:22", "type": "", "value": "0x201f1e1d1c1b1a191817161514131211100f0e0d0c0b0a090807060504030201" }, "variables": [ { "name": "l", - "nativeSrc": "28285:1:9", + "nativeSrc": "28285:1:22", "nodeType": "YulTypedName", - "src": "28285:1:9", + "src": "28285:1:22", "type": "" } ] }, { - "nativeSrc": "28373:85:9", + "nativeSrc": "28373:85:22", "nodeType": "YulVariableDeclaration", - "src": "28373:85:9", + "src": "28373:85:22", "value": { "arguments": [ { @@ -82022,56 +100997,56 @@ "arguments": [ { "name": "a", - "nativeSrc": "28400:1:9", + "nativeSrc": "28400:1:22", "nodeType": "YulIdentifier", - "src": "28400:1:9" + "src": "28400:1:22" }, { "kind": "number", - "nativeSrc": "28403:4:9", + "nativeSrc": "28403:4:22", "nodeType": "YulLiteral", - "src": "28403:4:9", + "src": "28403:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "28396:3:9", + "nativeSrc": "28396:3:22", "nodeType": "YulIdentifier", - "src": "28396:3:9" + "src": "28396:3:22" }, - "nativeSrc": "28396:12:9", + "nativeSrc": "28396:12:22", "nodeType": "YulFunctionCall", - "src": "28396:12:9" + "src": "28396:12:22" }, { "name": "n", - "nativeSrc": "28410:1:9", + "nativeSrc": "28410:1:22", "nodeType": "YulIdentifier", - "src": "28410:1:9" + "src": "28410:1:22" } ], "functionName": { "name": "add", - "nativeSrc": "28392:3:9", + "nativeSrc": "28392:3:22", "nodeType": "YulIdentifier", - "src": "28392:3:9" + "src": "28392:3:22" }, - "nativeSrc": "28392:20:9", + "nativeSrc": "28392:20:22", "nodeType": "YulFunctionCall", - "src": "28392:20:9" + "src": "28392:20:22" } ], "functionName": { "name": "mload", - "nativeSrc": "28386:5:9", + "nativeSrc": "28386:5:22", "nodeType": "YulIdentifier", - "src": "28386:5:9" + "src": "28386:5:22" }, - "nativeSrc": "28386:27:9", + "nativeSrc": "28386:27:22", "nodeType": "YulFunctionCall", - "src": "28386:27:9" + "src": "28386:27:22" }, { "arguments": [ @@ -82079,9 +101054,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "28423:1:9", + "nativeSrc": "28423:1:22", "nodeType": "YulLiteral", - "src": "28423:1:9", + "src": "28423:1:22", "type": "", "value": "3" }, @@ -82091,112 +101066,112 @@ "arguments": [ { "name": "aLen", - "nativeSrc": "28435:4:9", + "nativeSrc": "28435:4:22", "nodeType": "YulIdentifier", - "src": "28435:4:9" + "src": "28435:4:22" }, { "name": "n", - "nativeSrc": "28441:1:9", + "nativeSrc": "28441:1:22", "nodeType": "YulIdentifier", - "src": "28441:1:9" + "src": "28441:1:22" } ], "functionName": { "name": "sub", - "nativeSrc": "28431:3:9", + "nativeSrc": "28431:3:22", "nodeType": "YulIdentifier", - "src": "28431:3:9" + "src": "28431:3:22" }, - "nativeSrc": "28431:12:9", + "nativeSrc": "28431:12:22", "nodeType": "YulFunctionCall", - "src": "28431:12:9" + "src": "28431:12:22" }, { "name": "l", - "nativeSrc": "28445:1:9", + "nativeSrc": "28445:1:22", "nodeType": "YulIdentifier", - "src": "28445:1:9" + "src": "28445:1:22" } ], "functionName": { "name": "byte", - "nativeSrc": "28426:4:9", + "nativeSrc": "28426:4:22", "nodeType": "YulIdentifier", - "src": "28426:4:9" + "src": "28426:4:22" }, - "nativeSrc": "28426:21:9", + "nativeSrc": "28426:21:22", "nodeType": "YulFunctionCall", - "src": "28426:21:9" + "src": "28426:21:22" } ], "functionName": { "name": "shl", - "nativeSrc": "28419:3:9", + "nativeSrc": "28419:3:22", "nodeType": "YulIdentifier", - "src": "28419:3:9" + "src": "28419:3:22" }, - "nativeSrc": "28419:29:9", + "nativeSrc": "28419:29:22", "nodeType": "YulFunctionCall", - "src": "28419:29:9" + "src": "28419:29:22" }, { "arguments": [ { "kind": "number", - "nativeSrc": "28454:1:9", + "nativeSrc": "28454:1:22", "nodeType": "YulLiteral", - "src": "28454:1:9", + "src": "28454:1:22", "type": "", "value": "0" } ], "functionName": { "name": "not", - "nativeSrc": "28450:3:9", + "nativeSrc": "28450:3:22", "nodeType": "YulIdentifier", - "src": "28450:3:9" + "src": "28450:3:22" }, - "nativeSrc": "28450:6:9", + "nativeSrc": "28450:6:22", "nodeType": "YulFunctionCall", - "src": "28450:6:9" + "src": "28450:6:22" } ], "functionName": { "name": "shl", - "nativeSrc": "28415:3:9", + "nativeSrc": "28415:3:22", "nodeType": "YulIdentifier", - "src": "28415:3:9" + "src": "28415:3:22" }, - "nativeSrc": "28415:42:9", + "nativeSrc": "28415:42:22", "nodeType": "YulFunctionCall", - "src": "28415:42:9" + "src": "28415:42:22" } ], "functionName": { "name": "and", - "nativeSrc": "28382:3:9", + "nativeSrc": "28382:3:22", "nodeType": "YulIdentifier", - "src": "28382:3:9" + "src": "28382:3:22" }, - "nativeSrc": "28382:76:9", + "nativeSrc": "28382:76:22", "nodeType": "YulFunctionCall", - "src": "28382:76:9" + "src": "28382:76:22" }, "variables": [ { "name": "x", - "nativeSrc": "28377:1:9", + "nativeSrc": "28377:1:22", "nodeType": "YulTypedName", - "src": "28377:1:9", + "src": "28377:1:22", "type": "" } ] }, { - "nativeSrc": "28475:85:9", + "nativeSrc": "28475:85:22", "nodeType": "YulVariableDeclaration", - "src": "28475:85:9", + "src": "28475:85:22", "value": { "arguments": [ { @@ -82207,56 +101182,56 @@ "arguments": [ { "name": "b", - "nativeSrc": "28502:1:9", + "nativeSrc": "28502:1:22", "nodeType": "YulIdentifier", - "src": "28502:1:9" + "src": "28502:1:22" }, { "kind": "number", - "nativeSrc": "28505:4:9", + "nativeSrc": "28505:4:22", "nodeType": "YulLiteral", - "src": "28505:4:9", + "src": "28505:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "28498:3:9", + "nativeSrc": "28498:3:22", "nodeType": "YulIdentifier", - "src": "28498:3:9" + "src": "28498:3:22" }, - "nativeSrc": "28498:12:9", + "nativeSrc": "28498:12:22", "nodeType": "YulFunctionCall", - "src": "28498:12:9" + "src": "28498:12:22" }, { "name": "n", - "nativeSrc": "28512:1:9", + "nativeSrc": "28512:1:22", "nodeType": "YulIdentifier", - "src": "28512:1:9" + "src": "28512:1:22" } ], "functionName": { "name": "add", - "nativeSrc": "28494:3:9", + "nativeSrc": "28494:3:22", "nodeType": "YulIdentifier", - "src": "28494:3:9" + "src": "28494:3:22" }, - "nativeSrc": "28494:20:9", + "nativeSrc": "28494:20:22", "nodeType": "YulFunctionCall", - "src": "28494:20:9" + "src": "28494:20:22" } ], "functionName": { "name": "mload", - "nativeSrc": "28488:5:9", + "nativeSrc": "28488:5:22", "nodeType": "YulIdentifier", - "src": "28488:5:9" + "src": "28488:5:22" }, - "nativeSrc": "28488:27:9", + "nativeSrc": "28488:27:22", "nodeType": "YulFunctionCall", - "src": "28488:27:9" + "src": "28488:27:22" }, { "arguments": [ @@ -82264,9 +101239,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "28525:1:9", + "nativeSrc": "28525:1:22", "nodeType": "YulLiteral", - "src": "28525:1:9", + "src": "28525:1:22", "type": "", "value": "3" }, @@ -82276,263 +101251,263 @@ "arguments": [ { "name": "bLen", - "nativeSrc": "28537:4:9", + "nativeSrc": "28537:4:22", "nodeType": "YulIdentifier", - "src": "28537:4:9" + "src": "28537:4:22" }, { "name": "n", - "nativeSrc": "28543:1:9", + "nativeSrc": "28543:1:22", "nodeType": "YulIdentifier", - "src": "28543:1:9" + "src": "28543:1:22" } ], "functionName": { "name": "sub", - "nativeSrc": "28533:3:9", + "nativeSrc": "28533:3:22", "nodeType": "YulIdentifier", - "src": "28533:3:9" + "src": "28533:3:22" }, - "nativeSrc": "28533:12:9", + "nativeSrc": "28533:12:22", "nodeType": "YulFunctionCall", - "src": "28533:12:9" + "src": "28533:12:22" }, { "name": "l", - "nativeSrc": "28547:1:9", + "nativeSrc": "28547:1:22", "nodeType": "YulIdentifier", - "src": "28547:1:9" + "src": "28547:1:22" } ], "functionName": { "name": "byte", - "nativeSrc": "28528:4:9", + "nativeSrc": "28528:4:22", "nodeType": "YulIdentifier", - "src": "28528:4:9" + "src": "28528:4:22" }, - "nativeSrc": "28528:21:9", + "nativeSrc": "28528:21:22", "nodeType": "YulFunctionCall", - "src": "28528:21:9" + "src": "28528:21:22" } ], "functionName": { "name": "shl", - "nativeSrc": "28521:3:9", + "nativeSrc": "28521:3:22", "nodeType": "YulIdentifier", - "src": "28521:3:9" + "src": "28521:3:22" }, - "nativeSrc": "28521:29:9", + "nativeSrc": "28521:29:22", "nodeType": "YulFunctionCall", - "src": "28521:29:9" + "src": "28521:29:22" }, { "arguments": [ { "kind": "number", - "nativeSrc": "28556:1:9", + "nativeSrc": "28556:1:22", "nodeType": "YulLiteral", - "src": "28556:1:9", + "src": "28556:1:22", "type": "", "value": "0" } ], "functionName": { "name": "not", - "nativeSrc": "28552:3:9", + "nativeSrc": "28552:3:22", "nodeType": "YulIdentifier", - "src": "28552:3:9" + "src": "28552:3:22" }, - "nativeSrc": "28552:6:9", + "nativeSrc": "28552:6:22", "nodeType": "YulFunctionCall", - "src": "28552:6:9" + "src": "28552:6:22" } ], "functionName": { "name": "shl", - "nativeSrc": "28517:3:9", + "nativeSrc": "28517:3:22", "nodeType": "YulIdentifier", - "src": "28517:3:9" + "src": "28517:3:22" }, - "nativeSrc": "28517:42:9", + "nativeSrc": "28517:42:22", "nodeType": "YulFunctionCall", - "src": "28517:42:9" + "src": "28517:42:22" } ], "functionName": { "name": "and", - "nativeSrc": "28484:3:9", + "nativeSrc": "28484:3:22", "nodeType": "YulIdentifier", - "src": "28484:3:9" + "src": "28484:3:22" }, - "nativeSrc": "28484:76:9", + "nativeSrc": "28484:76:22", "nodeType": "YulFunctionCall", - "src": "28484:76:9" + "src": "28484:76:22" }, "variables": [ { "name": "y", - "nativeSrc": "28479:1:9", + "nativeSrc": "28479:1:22", "nodeType": "YulTypedName", - "src": "28479:1:9", + "src": "28479:1:22", "type": "" } ] }, { - "nativeSrc": "28577:33:9", + "nativeSrc": "28577:33:22", "nodeType": "YulAssignment", - "src": "28577:33:9", + "src": "28577:33:22", "value": { "arguments": [ { "arguments": [ { "name": "x", - "nativeSrc": "28594:1:9", + "nativeSrc": "28594:1:22", "nodeType": "YulIdentifier", - "src": "28594:1:9" + "src": "28594:1:22" }, { "name": "y", - "nativeSrc": "28597:1:9", + "nativeSrc": "28597:1:22", "nodeType": "YulIdentifier", - "src": "28597:1:9" + "src": "28597:1:22" } ], "functionName": { "name": "gt", - "nativeSrc": "28591:2:9", + "nativeSrc": "28591:2:22", "nodeType": "YulIdentifier", - "src": "28591:2:9" + "src": "28591:2:22" }, - "nativeSrc": "28591:8:9", + "nativeSrc": "28591:8:22", "nodeType": "YulFunctionCall", - "src": "28591:8:9" + "src": "28591:8:22" }, { "arguments": [ { "name": "x", - "nativeSrc": "28604:1:9", + "nativeSrc": "28604:1:22", "nodeType": "YulIdentifier", - "src": "28604:1:9" + "src": "28604:1:22" }, { "name": "y", - "nativeSrc": "28607:1:9", + "nativeSrc": "28607:1:22", "nodeType": "YulIdentifier", - "src": "28607:1:9" + "src": "28607:1:22" } ], "functionName": { "name": "lt", - "nativeSrc": "28601:2:9", + "nativeSrc": "28601:2:22", "nodeType": "YulIdentifier", - "src": "28601:2:9" + "src": "28601:2:22" }, - "nativeSrc": "28601:8:9", + "nativeSrc": "28601:8:22", "nodeType": "YulFunctionCall", - "src": "28601:8:9" + "src": "28601:8:22" } ], "functionName": { "name": "sub", - "nativeSrc": "28587:3:9", + "nativeSrc": "28587:3:22", "nodeType": "YulIdentifier", - "src": "28587:3:9" + "src": "28587:3:22" }, - "nativeSrc": "28587:23:9", + "nativeSrc": "28587:23:22", "nodeType": "YulFunctionCall", - "src": "28587:23:9" + "src": "28587:23:22" }, "variableNames": [ { "name": "result", - "nativeSrc": "28577:6:9", + "nativeSrc": "28577:6:22", "nodeType": "YulIdentifier", - "src": "28577:6:9" + "src": "28577:6:22" } ] }, { "body": { - "nativeSrc": "28645:49:9", + "nativeSrc": "28645:49:22", "nodeType": "YulBlock", - "src": "28645:49:9", + "src": "28645:49:22", "statements": [ { - "nativeSrc": "28647:45:9", + "nativeSrc": "28647:45:22", "nodeType": "YulAssignment", - "src": "28647:45:9", + "src": "28647:45:22", "value": { "arguments": [ { "arguments": [ { "name": "aLen", - "nativeSrc": "28664:4:9", + "nativeSrc": "28664:4:22", "nodeType": "YulIdentifier", - "src": "28664:4:9" + "src": "28664:4:22" }, { "name": "bLen", - "nativeSrc": "28670:4:9", + "nativeSrc": "28670:4:22", "nodeType": "YulIdentifier", - "src": "28670:4:9" + "src": "28670:4:22" } ], "functionName": { "name": "gt", - "nativeSrc": "28661:2:9", + "nativeSrc": "28661:2:22", "nodeType": "YulIdentifier", - "src": "28661:2:9" + "src": "28661:2:22" }, - "nativeSrc": "28661:14:9", + "nativeSrc": "28661:14:22", "nodeType": "YulFunctionCall", - "src": "28661:14:9" + "src": "28661:14:22" }, { "arguments": [ { "name": "aLen", - "nativeSrc": "28680:4:9", + "nativeSrc": "28680:4:22", "nodeType": "YulIdentifier", - "src": "28680:4:9" + "src": "28680:4:22" }, { "name": "bLen", - "nativeSrc": "28686:4:9", + "nativeSrc": "28686:4:22", "nodeType": "YulIdentifier", - "src": "28686:4:9" + "src": "28686:4:22" } ], "functionName": { "name": "lt", - "nativeSrc": "28677:2:9", + "nativeSrc": "28677:2:22", "nodeType": "YulIdentifier", - "src": "28677:2:9" + "src": "28677:2:22" }, - "nativeSrc": "28677:14:9", + "nativeSrc": "28677:14:22", "nodeType": "YulFunctionCall", - "src": "28677:14:9" + "src": "28677:14:22" } ], "functionName": { "name": "sub", - "nativeSrc": "28657:3:9", + "nativeSrc": "28657:3:22", "nodeType": "YulIdentifier", - "src": "28657:3:9" + "src": "28657:3:22" }, - "nativeSrc": "28657:35:9", + "nativeSrc": "28657:35:22", "nodeType": "YulFunctionCall", - "src": "28657:35:9" + "src": "28657:35:22" }, "variableNames": [ { "name": "result", - "nativeSrc": "28647:6:9", + "nativeSrc": "28647:6:22", "nodeType": "YulIdentifier", - "src": "28647:6:9" + "src": "28647:6:22" } ] } @@ -82542,24 +101517,24 @@ "arguments": [ { "name": "result", - "nativeSrc": "28637:6:9", + "nativeSrc": "28637:6:22", "nodeType": "YulIdentifier", - "src": "28637:6:9" + "src": "28637:6:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "28630:6:9", + "nativeSrc": "28630:6:22", "nodeType": "YulIdentifier", - "src": "28630:6:9" + "src": "28630:6:22" }, - "nativeSrc": "28630:14:9", + "nativeSrc": "28630:14:22", "nodeType": "YulFunctionCall", - "src": "28630:14:9" + "src": "28630:14:22" }, - "nativeSrc": "28627:67:9", + "nativeSrc": "28627:67:22", "nodeType": "YulIf", - "src": "28627:67:9" + "src": "28627:67:22" } ] }, @@ -82567,24 +101542,24 @@ "arguments": [ { "name": "result", - "nativeSrc": "28255:6:9", + "nativeSrc": "28255:6:22", "nodeType": "YulIdentifier", - "src": "28255:6:9" + "src": "28255:6:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "28248:6:9", + "nativeSrc": "28248:6:22", "nodeType": "YulIdentifier", - "src": "28248:6:9" + "src": "28248:6:22" }, - "nativeSrc": "28248:14:9", + "nativeSrc": "28248:14:22", "nodeType": "YulFunctionCall", - "src": "28248:14:9" + "src": "28248:14:22" }, - "nativeSrc": "28245:463:9", + "nativeSrc": "28245:463:22", "nodeType": "YulIf", - "src": "28245:463:9" + "src": "28245:463:22" } ] }, @@ -82592,115 +101567,115 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2983, + "declaration": 4589, "isOffset": false, "isSlot": false, - "src": "27647:1:9", + "src": "27647:1:22", "valueSize": 1 }, { - "declaration": 2983, + "declaration": 4589, "isOffset": false, "isSlot": false, - "src": "27871:1:9", + "src": "27871:1:22", "valueSize": 1 }, { - "declaration": 2983, + "declaration": 4589, "isOffset": false, "isSlot": false, - "src": "28400:1:9", + "src": "28400:1:22", "valueSize": 1 }, { - "declaration": 2985, + "declaration": 4591, "isOffset": false, "isSlot": false, - "src": "27680:1:9", + "src": "27680:1:22", "valueSize": 1 }, { - "declaration": 2985, + "declaration": 4591, "isOffset": false, "isSlot": false, - "src": "27917:1:9", + "src": "27917:1:22", "valueSize": 1 }, { - "declaration": 2985, + "declaration": 4591, "isOffset": false, "isSlot": false, - "src": "28502:1:9", + "src": "28502:1:22", "valueSize": 1 }, { - "declaration": 2988, + "declaration": 4594, "isOffset": false, "isSlot": false, - "src": "28098:6:9", + "src": "28098:6:22", "valueSize": 1 }, { - "declaration": 2988, + "declaration": 4594, "isOffset": false, "isSlot": false, - "src": "28255:6:9", + "src": "28255:6:22", "valueSize": 1 }, { - "declaration": 2988, + "declaration": 4594, "isOffset": false, "isSlot": false, - "src": "28577:6:9", + "src": "28577:6:22", "valueSize": 1 }, { - "declaration": 2988, + "declaration": 4594, "isOffset": false, "isSlot": false, - "src": "28637:6:9", + "src": "28637:6:22", "valueSize": 1 }, { - "declaration": 2988, + "declaration": 4594, "isOffset": false, "isSlot": false, - "src": "28647:6:9", + "src": "28647:6:22", "valueSize": 1 } ], - "id": 2990, + "id": 4596, "nodeType": "InlineAssembly", - "src": "27606:1112:9" + "src": "27606:1112:22" } ] }, "documentation": { - "id": 2981, + "id": 4587, "nodeType": "StructuredDocumentation", - "src": "27332:133:9", + "src": "27332:133:22", "text": "@dev Returns 0 if `a == b`, -1 if `a < b`, +1 if `a > b`.\n If `a` == b[:a.length]`, and `a.length < b.length`, returns -1." }, - "id": 2992, + "id": 4598, "implemented": true, "kind": "function", "modifiers": [], "name": "cmp", - "nameLocation": "27479:3:9", + "nameLocation": "27479:3:22", "nodeType": "FunctionDefinition", "parameters": { - "id": 2986, + "id": 4592, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2983, + "id": 4589, "mutability": "mutable", "name": "a", - "nameLocation": "27496:1:9", + "nameLocation": "27496:1:22", "nodeType": "VariableDeclaration", - "scope": 2992, - "src": "27483:14:9", + "scope": 4598, + "src": "27483:14:22", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -82708,10 +101683,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2982, + "id": 4588, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "27483:5:9", + "src": "27483:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -82721,13 +101696,13 @@ }, { "constant": false, - "id": 2985, + "id": 4591, "mutability": "mutable", "name": "b", - "nameLocation": "27512:1:9", + "nameLocation": "27512:1:22", "nodeType": "VariableDeclaration", - "scope": 2992, - "src": "27499:14:9", + "scope": 4598, + "src": "27499:14:22", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -82735,10 +101710,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2984, + "id": 4590, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "27499:5:9", + "src": "27499:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -82747,21 +101722,21 @@ "visibility": "internal" } ], - "src": "27482:32:9" + "src": "27482:32:22" }, "returnParameters": { - "id": 2989, + "id": 4595, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2988, + "id": 4594, "mutability": "mutable", "name": "result", - "nameLocation": "27545:6:9", + "nameLocation": "27545:6:22", "nodeType": "VariableDeclaration", - "scope": 2992, - "src": "27538:13:9", + "scope": 4598, + "src": "27538:13:22", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -82769,10 +101744,10 @@ "typeString": "int256" }, "typeName": { - "id": 2987, + "id": 4593, "name": "int256", "nodeType": "ElementaryTypeName", - "src": "27538:6:9", + "src": "27538:6:22", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" @@ -82781,117 +101756,117 @@ "visibility": "internal" } ], - "src": "27537:15:9" + "src": "27537:15:22" }, - "scope": 3078, - "src": "27470:1254:9", + "scope": 4684, + "src": "27470:1254:22", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 2999, + "id": 4605, "nodeType": "Block", - "src": "28833:628:9", + "src": "28833:628:22", "statements": [ { "AST": { - "nativeSrc": "28895:560:9", + "nativeSrc": "28895:560:22", "nodeType": "YulBlock", - "src": "28895:560:9", + "src": "28895:560:22", "statements": [ { - "nativeSrc": "28986:28:9", + "nativeSrc": "28986:28:22", "nodeType": "YulVariableDeclaration", - "src": "28986:28:9", + "src": "28986:28:22", "value": { "arguments": [ { "name": "a", - "nativeSrc": "29006:1:9", + "nativeSrc": "29006:1:22", "nodeType": "YulIdentifier", - "src": "29006:1:9" + "src": "29006:1:22" }, { "kind": "number", - "nativeSrc": "29009:4:9", + "nativeSrc": "29009:4:22", "nodeType": "YulLiteral", - "src": "29009:4:9", + "src": "29009:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "sub", - "nativeSrc": "29002:3:9", + "nativeSrc": "29002:3:22", "nodeType": "YulIdentifier", - "src": "29002:3:9" + "src": "29002:3:22" }, - "nativeSrc": "29002:12:9", + "nativeSrc": "29002:12:22", "nodeType": "YulFunctionCall", - "src": "29002:12:9" + "src": "29002:12:22" }, "variables": [ { "name": "retStart", - "nativeSrc": "28990:8:9", + "nativeSrc": "28990:8:22", "nodeType": "YulTypedName", - "src": "28990:8:9", + "src": "28990:8:22", "type": "" } ] }, { - "nativeSrc": "29027:42:9", + "nativeSrc": "29027:42:22", "nodeType": "YulVariableDeclaration", - "src": "29027:42:9", + "src": "29027:42:22", "value": { "arguments": [ { "arguments": [ { "name": "a", - "nativeSrc": "29060:1:9", + "nativeSrc": "29060:1:22", "nodeType": "YulIdentifier", - "src": "29060:1:9" + "src": "29060:1:22" } ], "functionName": { "name": "mload", - "nativeSrc": "29054:5:9", + "nativeSrc": "29054:5:22", "nodeType": "YulIdentifier", - "src": "29054:5:9" + "src": "29054:5:22" }, - "nativeSrc": "29054:8:9", + "nativeSrc": "29054:8:22", "nodeType": "YulFunctionCall", - "src": "29054:8:9" + "src": "29054:8:22" }, { "kind": "number", - "nativeSrc": "29064:4:9", + "nativeSrc": "29064:4:22", "nodeType": "YulLiteral", - "src": "29064:4:9", + "src": "29064:4:22", "type": "", "value": "0x40" } ], "functionName": { "name": "add", - "nativeSrc": "29050:3:9", + "nativeSrc": "29050:3:22", "nodeType": "YulIdentifier", - "src": "29050:3:9" + "src": "29050:3:22" }, - "nativeSrc": "29050:19:9", + "nativeSrc": "29050:19:22", "nodeType": "YulFunctionCall", - "src": "29050:19:9" + "src": "29050:19:22" }, "variables": [ { "name": "retUnpaddedSize", - "nativeSrc": "29031:15:9", + "nativeSrc": "29031:15:22", "nodeType": "YulTypedName", - "src": "29031:15:9", + "src": "29031:15:22", "type": "" } ] @@ -82903,90 +101878,90 @@ "arguments": [ { "name": "retStart", - "nativeSrc": "29222:8:9", + "nativeSrc": "29222:8:22", "nodeType": "YulIdentifier", - "src": "29222:8:9" + "src": "29222:8:22" }, { "name": "retUnpaddedSize", - "nativeSrc": "29232:15:9", + "nativeSrc": "29232:15:22", "nodeType": "YulIdentifier", - "src": "29232:15:9" + "src": "29232:15:22" } ], "functionName": { "name": "add", - "nativeSrc": "29218:3:9", + "nativeSrc": "29218:3:22", "nodeType": "YulIdentifier", - "src": "29218:3:9" + "src": "29218:3:22" }, - "nativeSrc": "29218:30:9", + "nativeSrc": "29218:30:22", "nodeType": "YulFunctionCall", - "src": "29218:30:9" + "src": "29218:30:22" }, { "kind": "number", - "nativeSrc": "29250:1:9", + "nativeSrc": "29250:1:22", "nodeType": "YulLiteral", - "src": "29250:1:9", + "src": "29250:1:22", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "29211:6:9", + "nativeSrc": "29211:6:22", "nodeType": "YulIdentifier", - "src": "29211:6:9" + "src": "29211:6:22" }, - "nativeSrc": "29211:41:9", + "nativeSrc": "29211:41:22", "nodeType": "YulFunctionCall", - "src": "29211:41:9" + "src": "29211:41:22" }, - "nativeSrc": "29211:41:9", + "nativeSrc": "29211:41:22", "nodeType": "YulExpressionStatement", - "src": "29211:41:9" + "src": "29211:41:22" }, { "expression": { "arguments": [ { "name": "retStart", - "nativeSrc": "29272:8:9", + "nativeSrc": "29272:8:22", "nodeType": "YulIdentifier", - "src": "29272:8:9" + "src": "29272:8:22" }, { "kind": "number", - "nativeSrc": "29282:4:9", + "nativeSrc": "29282:4:22", "nodeType": "YulLiteral", - "src": "29282:4:9", + "src": "29282:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "mstore", - "nativeSrc": "29265:6:9", + "nativeSrc": "29265:6:22", "nodeType": "YulIdentifier", - "src": "29265:6:9" + "src": "29265:6:22" }, - "nativeSrc": "29265:22:9", + "nativeSrc": "29265:22:22", "nodeType": "YulFunctionCall", - "src": "29265:22:9" + "src": "29265:22:22" }, - "nativeSrc": "29265:22:9", + "nativeSrc": "29265:22:22", "nodeType": "YulExpressionStatement", - "src": "29265:22:9" + "src": "29265:22:22" }, { "expression": { "arguments": [ { "name": "retStart", - "nativeSrc": "29392:8:9", + "nativeSrc": "29392:8:22", "nodeType": "YulIdentifier", - "src": "29392:8:9" + "src": "29392:8:22" }, { "arguments": [ @@ -82994,75 +101969,75 @@ "arguments": [ { "kind": "number", - "nativeSrc": "29410:4:9", + "nativeSrc": "29410:4:22", "nodeType": "YulLiteral", - "src": "29410:4:9", + "src": "29410:4:22", "type": "", "value": "0x1f" } ], "functionName": { "name": "not", - "nativeSrc": "29406:3:9", + "nativeSrc": "29406:3:22", "nodeType": "YulIdentifier", - "src": "29406:3:9" + "src": "29406:3:22" }, - "nativeSrc": "29406:9:9", + "nativeSrc": "29406:9:22", "nodeType": "YulFunctionCall", - "src": "29406:9:9" + "src": "29406:9:22" }, { "arguments": [ { "kind": "number", - "nativeSrc": "29421:4:9", + "nativeSrc": "29421:4:22", "nodeType": "YulLiteral", - "src": "29421:4:9", + "src": "29421:4:22", "type": "", "value": "0x1f" }, { "name": "retUnpaddedSize", - "nativeSrc": "29427:15:9", + "nativeSrc": "29427:15:22", "nodeType": "YulIdentifier", - "src": "29427:15:9" + "src": "29427:15:22" } ], "functionName": { "name": "add", - "nativeSrc": "29417:3:9", + "nativeSrc": "29417:3:22", "nodeType": "YulIdentifier", - "src": "29417:3:9" + "src": "29417:3:22" }, - "nativeSrc": "29417:26:9", + "nativeSrc": "29417:26:22", "nodeType": "YulFunctionCall", - "src": "29417:26:9" + "src": "29417:26:22" } ], "functionName": { "name": "and", - "nativeSrc": "29402:3:9", + "nativeSrc": "29402:3:22", "nodeType": "YulIdentifier", - "src": "29402:3:9" + "src": "29402:3:22" }, - "nativeSrc": "29402:42:9", + "nativeSrc": "29402:42:22", "nodeType": "YulFunctionCall", - "src": "29402:42:9" + "src": "29402:42:22" } ], "functionName": { "name": "return", - "nativeSrc": "29385:6:9", + "nativeSrc": "29385:6:22", "nodeType": "YulIdentifier", - "src": "29385:6:9" + "src": "29385:6:22" }, - "nativeSrc": "29385:60:9", + "nativeSrc": "29385:60:22", "nodeType": "YulFunctionCall", - "src": "29385:60:9" + "src": "29385:60:22" }, - "nativeSrc": "29385:60:9", + "nativeSrc": "29385:60:22", "nodeType": "YulExpressionStatement", - "src": "29385:60:9" + "src": "29385:60:22" } ] }, @@ -83070,52 +102045,52 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2995, + "declaration": 4601, "isOffset": false, "isSlot": false, - "src": "29006:1:9", + "src": "29006:1:22", "valueSize": 1 }, { - "declaration": 2995, + "declaration": 4601, "isOffset": false, "isSlot": false, - "src": "29060:1:9", + "src": "29060:1:22", "valueSize": 1 } ], - "id": 2998, + "id": 4604, "nodeType": "InlineAssembly", - "src": "28886:569:9" + "src": "28886:569:22" } ] }, "documentation": { - "id": 2993, + "id": 4599, "nodeType": "StructuredDocumentation", - "src": "28730:46:9", + "src": "28730:46:22", "text": "@dev Directly returns `a` without copying." }, - "id": 3000, + "id": 4606, "implemented": true, "kind": "function", "modifiers": [], "name": "directReturn", - "nameLocation": "28790:12:9", + "nameLocation": "28790:12:22", "nodeType": "FunctionDefinition", "parameters": { - "id": 2996, + "id": 4602, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2995, + "id": 4601, "mutability": "mutable", "name": "a", - "nameLocation": "28816:1:9", + "nameLocation": "28816:1:22", "nodeType": "VariableDeclaration", - "scope": 3000, - "src": "28803:14:9", + "scope": 4606, + "src": "28803:14:22", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -83123,10 +102098,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2994, + "id": 4600, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "28803:5:9", + "src": "28803:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -83135,345 +102110,345 @@ "visibility": "internal" } ], - "src": "28802:16:9" + "src": "28802:16:22" }, "returnParameters": { - "id": 2997, + "id": 4603, "nodeType": "ParameterList", "parameters": [], - "src": "28833:0:9" + "src": "28833:0:22" }, - "scope": 3078, - "src": "28781:680:9", + "scope": 4684, + "src": "28781:680:22", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3008, + "id": 4614, "nodeType": "Block", - "src": "29577:1825:9", + "src": "29577:1825:22", "statements": [ { "AST": { - "nativeSrc": "29639:1757:9", + "nativeSrc": "29639:1757:22", "nodeType": "YulBlock", - "src": "29639:1757:9", + "src": "29639:1757:22", "statements": [ { - "nativeSrc": "29653:17:9", + "nativeSrc": "29653:17:22", "nodeType": "YulVariableDeclaration", - "src": "29653:17:9", + "src": "29653:17:22", "value": { "arguments": [ { "name": "a", - "nativeSrc": "29668:1:9", + "nativeSrc": "29668:1:22", "nodeType": "YulIdentifier", - "src": "29668:1:9" + "src": "29668:1:22" } ], "functionName": { "name": "mload", - "nativeSrc": "29662:5:9", + "nativeSrc": "29662:5:22", "nodeType": "YulIdentifier", - "src": "29662:5:9" + "src": "29662:5:22" }, - "nativeSrc": "29662:8:9", + "nativeSrc": "29662:8:22", "nodeType": "YulFunctionCall", - "src": "29662:8:9" + "src": "29662:8:22" }, "variables": [ { "name": "n", - "nativeSrc": "29657:1:9", + "nativeSrc": "29657:1:22", "nodeType": "YulTypedName", - "src": "29657:1:9", + "src": "29657:1:22", "type": "" } ] }, { - "nativeSrc": "29698:21:9", + "nativeSrc": "29698:21:22", "nodeType": "YulVariableDeclaration", - "src": "29698:21:9", + "src": "29698:21:22", "value": { "arguments": [ { "name": "a", - "nativeSrc": "29711:1:9", + "nativeSrc": "29711:1:22", "nodeType": "YulIdentifier", - "src": "29711:1:9" + "src": "29711:1:22" }, { "kind": "number", - "nativeSrc": "29714:4:9", + "nativeSrc": "29714:4:22", "nodeType": "YulLiteral", - "src": "29714:4:9", + "src": "29714:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "29707:3:9", + "nativeSrc": "29707:3:22", "nodeType": "YulIdentifier", - "src": "29707:3:9" + "src": "29707:3:22" }, - "nativeSrc": "29707:12:9", + "nativeSrc": "29707:12:22", "nodeType": "YulFunctionCall", - "src": "29707:12:9" + "src": "29707:12:22" }, "variables": [ { "name": "o", - "nativeSrc": "29702:1:9", + "nativeSrc": "29702:1:22", "nodeType": "YulTypedName", - "src": "29702:1:9", + "src": "29702:1:22", "type": "" } ] }, { - "nativeSrc": "29761:10:9", + "nativeSrc": "29761:10:22", "nodeType": "YulVariableDeclaration", - "src": "29761:10:9", + "src": "29761:10:22", "value": { "name": "a", - "nativeSrc": "29770:1:9", + "nativeSrc": "29770:1:22", "nodeType": "YulIdentifier", - "src": "29770:1:9" + "src": "29770:1:22" }, "variables": [ { "name": "u", - "nativeSrc": "29765:1:9", + "nativeSrc": "29765:1:22", "nodeType": "YulTypedName", - "src": "29765:1:9", + "src": "29765:1:22", "type": "" } ] }, { - "nativeSrc": "29808:18:9", + "nativeSrc": "29808:18:22", "nodeType": "YulVariableDeclaration", - "src": "29808:18:9", + "src": "29808:18:22", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "29821:4:9", + "nativeSrc": "29821:4:22", "nodeType": "YulLiteral", - "src": "29821:4:9", + "src": "29821:4:22", "type": "", "value": "0x1f" } ], "functionName": { "name": "not", - "nativeSrc": "29817:3:9", + "nativeSrc": "29817:3:22", "nodeType": "YulIdentifier", - "src": "29817:3:9" + "src": "29817:3:22" }, - "nativeSrc": "29817:9:9", + "nativeSrc": "29817:9:22", "nodeType": "YulFunctionCall", - "src": "29817:9:9" + "src": "29817:9:22" }, "variables": [ { "name": "w", - "nativeSrc": "29812:1:9", + "nativeSrc": "29812:1:22", "nodeType": "YulTypedName", - "src": "29812:1:9", + "src": "29812:1:22", "type": "" } ] }, { "body": { - "nativeSrc": "29894:1260:9", + "nativeSrc": "29894:1260:22", "nodeType": "YulBlock", - "src": "29894:1260:9", + "src": "29894:1260:22", "statements": [ { - "nativeSrc": "29912:26:9", + "nativeSrc": "29912:26:22", "nodeType": "YulVariableDeclaration", - "src": "29912:26:9", + "src": "29912:26:22", "value": { "arguments": [ { "name": "o", - "nativeSrc": "29925:1:9", + "nativeSrc": "29925:1:22", "nodeType": "YulIdentifier", - "src": "29925:1:9" + "src": "29925:1:22" }, { "arguments": [ { "kind": "number", - "nativeSrc": "29932:1:9", + "nativeSrc": "29932:1:22", "nodeType": "YulLiteral", - "src": "29932:1:9", + "src": "29932:1:22", "type": "", "value": "5" }, { "name": "i", - "nativeSrc": "29935:1:9", + "nativeSrc": "29935:1:22", "nodeType": "YulIdentifier", - "src": "29935:1:9" + "src": "29935:1:22" } ], "functionName": { "name": "shl", - "nativeSrc": "29928:3:9", + "nativeSrc": "29928:3:22", "nodeType": "YulIdentifier", - "src": "29928:3:9" + "src": "29928:3:22" }, - "nativeSrc": "29928:9:9", + "nativeSrc": "29928:9:22", "nodeType": "YulFunctionCall", - "src": "29928:9:9" + "src": "29928:9:22" } ], "functionName": { "name": "add", - "nativeSrc": "29921:3:9", + "nativeSrc": "29921:3:22", "nodeType": "YulIdentifier", - "src": "29921:3:9" + "src": "29921:3:22" }, - "nativeSrc": "29921:17:9", + "nativeSrc": "29921:17:22", "nodeType": "YulFunctionCall", - "src": "29921:17:9" + "src": "29921:17:22" }, "variables": [ { "name": "c", - "nativeSrc": "29916:1:9", + "nativeSrc": "29916:1:22", "nodeType": "YulTypedName", - "src": "29916:1:9", + "src": "29916:1:22", "type": "" } ] }, { - "nativeSrc": "29989:17:9", + "nativeSrc": "29989:17:22", "nodeType": "YulVariableDeclaration", - "src": "29989:17:9", + "src": "29989:17:22", "value": { "arguments": [ { "name": "c", - "nativeSrc": "30004:1:9", + "nativeSrc": "30004:1:22", "nodeType": "YulIdentifier", - "src": "30004:1:9" + "src": "30004:1:22" } ], "functionName": { "name": "mload", - "nativeSrc": "29998:5:9", + "nativeSrc": "29998:5:22", "nodeType": "YulIdentifier", - "src": "29998:5:9" + "src": "29998:5:22" }, - "nativeSrc": "29998:8:9", + "nativeSrc": "29998:8:22", "nodeType": "YulFunctionCall", - "src": "29998:8:9" + "src": "29998:8:22" }, "variables": [ { "name": "s", - "nativeSrc": "29993:1:9", + "nativeSrc": "29993:1:22", "nodeType": "YulTypedName", - "src": "29993:1:9", + "src": "29993:1:22", "type": "" } ] }, { - "nativeSrc": "30034:17:9", + "nativeSrc": "30034:17:22", "nodeType": "YulVariableDeclaration", - "src": "30034:17:9", + "src": "30034:17:22", "value": { "arguments": [ { "name": "s", - "nativeSrc": "30049:1:9", + "nativeSrc": "30049:1:22", "nodeType": "YulIdentifier", - "src": "30049:1:9" + "src": "30049:1:22" } ], "functionName": { "name": "mload", - "nativeSrc": "30043:5:9", + "nativeSrc": "30043:5:22", "nodeType": "YulIdentifier", - "src": "30043:5:9" + "src": "30043:5:22" }, - "nativeSrc": "30043:8:9", + "nativeSrc": "30043:8:22", "nodeType": "YulFunctionCall", - "src": "30043:8:9" + "src": "30043:8:22" }, "variables": [ { "name": "l", - "nativeSrc": "30038:1:9", + "nativeSrc": "30038:1:22", "nodeType": "YulTypedName", - "src": "30038:1:9", + "src": "30038:1:22", "type": "" } ] }, { - "nativeSrc": "30086:21:9", + "nativeSrc": "30086:21:22", "nodeType": "YulVariableDeclaration", - "src": "30086:21:9", + "src": "30086:21:22", "value": { "arguments": [ { "name": "l", - "nativeSrc": "30099:1:9", + "nativeSrc": "30099:1:22", "nodeType": "YulIdentifier", - "src": "30099:1:9" + "src": "30099:1:22" }, { "kind": "number", - "nativeSrc": "30102:4:9", + "nativeSrc": "30102:4:22", "nodeType": "YulLiteral", - "src": "30102:4:9", + "src": "30102:4:22", "type": "", "value": "0x1f" } ], "functionName": { "name": "and", - "nativeSrc": "30095:3:9", + "nativeSrc": "30095:3:22", "nodeType": "YulIdentifier", - "src": "30095:3:9" + "src": "30095:3:22" }, - "nativeSrc": "30095:12:9", + "nativeSrc": "30095:12:22", "nodeType": "YulFunctionCall", - "src": "30095:12:9" + "src": "30095:12:22" }, "variables": [ { "name": "r", - "nativeSrc": "30090:1:9", + "nativeSrc": "30090:1:22", "nodeType": "YulTypedName", - "src": "30090:1:9", + "src": "30090:1:22", "type": "" } ] }, { - "nativeSrc": "30147:29:9", + "nativeSrc": "30147:29:22", "nodeType": "YulVariableDeclaration", - "src": "30147:29:9", + "src": "30147:29:22", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "30160:4:9", + "nativeSrc": "30160:4:22", "nodeType": "YulLiteral", - "src": "30160:4:9", + "src": "30160:4:22", "type": "", "value": "0x20" }, @@ -83481,85 +102456,85 @@ "arguments": [ { "name": "l", - "nativeSrc": "30170:1:9", + "nativeSrc": "30170:1:22", "nodeType": "YulIdentifier", - "src": "30170:1:9" + "src": "30170:1:22" }, { "name": "w", - "nativeSrc": "30173:1:9", + "nativeSrc": "30173:1:22", "nodeType": "YulIdentifier", - "src": "30173:1:9" + "src": "30173:1:22" } ], "functionName": { "name": "and", - "nativeSrc": "30166:3:9", + "nativeSrc": "30166:3:22", "nodeType": "YulIdentifier", - "src": "30166:3:9" + "src": "30166:3:22" }, - "nativeSrc": "30166:9:9", + "nativeSrc": "30166:9:22", "nodeType": "YulFunctionCall", - "src": "30166:9:9" + "src": "30166:9:22" } ], "functionName": { "name": "add", - "nativeSrc": "30156:3:9", + "nativeSrc": "30156:3:22", "nodeType": "YulIdentifier", - "src": "30156:3:9" + "src": "30156:3:22" }, - "nativeSrc": "30156:20:9", + "nativeSrc": "30156:20:22", "nodeType": "YulFunctionCall", - "src": "30156:20:9" + "src": "30156:20:22" }, "variables": [ { "name": "z", - "nativeSrc": "30151:1:9", + "nativeSrc": "30151:1:22", "nodeType": "YulTypedName", - "src": "30151:1:9", + "src": "30151:1:22", "type": "" } ] }, { "body": { - "nativeSrc": "30394:585:9", + "nativeSrc": "30394:585:22", "nodeType": "YulBlock", - "src": "30394:585:9", + "src": "30394:585:22", "statements": [ { - "nativeSrc": "30416:20:9", + "nativeSrc": "30416:20:22", "nodeType": "YulVariableDeclaration", - "src": "30416:20:9", + "src": "30416:20:22", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "30431:4:9", + "nativeSrc": "30431:4:22", "nodeType": "YulLiteral", - "src": "30431:4:9", + "src": "30431:4:22", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "30425:5:9", + "nativeSrc": "30425:5:22", "nodeType": "YulIdentifier", - "src": "30425:5:9" + "src": "30425:5:22" }, - "nativeSrc": "30425:11:9", + "nativeSrc": "30425:11:22", "nodeType": "YulFunctionCall", - "src": "30425:11:9" + "src": "30425:11:22" }, "variables": [ { "name": "m", - "nativeSrc": "30420:1:9", + "nativeSrc": "30420:1:22", "nodeType": "YulTypedName", - "src": "30420:1:9", + "src": "30420:1:22", "type": "" } ] @@ -83569,36 +102544,36 @@ "arguments": [ { "name": "m", - "nativeSrc": "30464:1:9", + "nativeSrc": "30464:1:22", "nodeType": "YulIdentifier", - "src": "30464:1:9" + "src": "30464:1:22" }, { "name": "l", - "nativeSrc": "30467:1:9", + "nativeSrc": "30467:1:22", "nodeType": "YulIdentifier", - "src": "30467:1:9" + "src": "30467:1:22" } ], "functionName": { "name": "mstore", - "nativeSrc": "30457:6:9", + "nativeSrc": "30457:6:22", "nodeType": "YulIdentifier", - "src": "30457:6:9" + "src": "30457:6:22" }, - "nativeSrc": "30457:12:9", + "nativeSrc": "30457:12:22", "nodeType": "YulFunctionCall", - "src": "30457:12:9" + "src": "30457:12:22" }, - "nativeSrc": "30457:12:9", + "nativeSrc": "30457:12:22", "nodeType": "YulExpressionStatement", - "src": "30457:12:9" + "src": "30457:12:22" }, { "body": { - "nativeSrc": "30525:215:9", + "nativeSrc": "30525:215:22", "nodeType": "YulBlock", - "src": "30525:215:9", + "src": "30525:215:22", "statements": [ { "expression": { @@ -83607,26 +102582,26 @@ "arguments": [ { "name": "m", - "nativeSrc": "30562:1:9", + "nativeSrc": "30562:1:22", "nodeType": "YulIdentifier", - "src": "30562:1:9" + "src": "30562:1:22" }, { "name": "z", - "nativeSrc": "30565:1:9", + "nativeSrc": "30565:1:22", "nodeType": "YulIdentifier", - "src": "30565:1:9" + "src": "30565:1:22" } ], "functionName": { "name": "add", - "nativeSrc": "30558:3:9", + "nativeSrc": "30558:3:22", "nodeType": "YulIdentifier", - "src": "30558:3:9" + "src": "30558:3:22" }, - "nativeSrc": "30558:9:9", + "nativeSrc": "30558:9:22", "nodeType": "YulFunctionCall", - "src": "30558:9:9" + "src": "30558:9:22" }, { "arguments": [ @@ -83634,101 +102609,101 @@ "arguments": [ { "name": "s", - "nativeSrc": "30579:1:9", + "nativeSrc": "30579:1:22", "nodeType": "YulIdentifier", - "src": "30579:1:9" + "src": "30579:1:22" }, { "name": "z", - "nativeSrc": "30582:1:9", + "nativeSrc": "30582:1:22", "nodeType": "YulIdentifier", - "src": "30582:1:9" + "src": "30582:1:22" } ], "functionName": { "name": "add", - "nativeSrc": "30575:3:9", + "nativeSrc": "30575:3:22", "nodeType": "YulIdentifier", - "src": "30575:3:9" + "src": "30575:3:22" }, - "nativeSrc": "30575:9:9", + "nativeSrc": "30575:9:22", "nodeType": "YulFunctionCall", - "src": "30575:9:9" + "src": "30575:9:22" } ], "functionName": { "name": "mload", - "nativeSrc": "30569:5:9", + "nativeSrc": "30569:5:22", "nodeType": "YulIdentifier", - "src": "30569:5:9" + "src": "30569:5:22" }, - "nativeSrc": "30569:16:9", + "nativeSrc": "30569:16:22", "nodeType": "YulFunctionCall", - "src": "30569:16:9" + "src": "30569:16:22" } ], "functionName": { "name": "mstore", - "nativeSrc": "30551:6:9", + "nativeSrc": "30551:6:22", "nodeType": "YulIdentifier", - "src": "30551:6:9" + "src": "30551:6:22" }, - "nativeSrc": "30551:35:9", + "nativeSrc": "30551:35:22", "nodeType": "YulFunctionCall", - "src": "30551:35:9" + "src": "30551:35:22" }, - "nativeSrc": "30551:35:9", + "nativeSrc": "30551:35:22", "nodeType": "YulExpressionStatement", - "src": "30551:35:9" + "src": "30551:35:22" }, { - "nativeSrc": "30638:14:9", + "nativeSrc": "30638:14:22", "nodeType": "YulAssignment", - "src": "30638:14:9", + "src": "30638:14:22", "value": { "arguments": [ { "name": "z", - "nativeSrc": "30647:1:9", + "nativeSrc": "30647:1:22", "nodeType": "YulIdentifier", - "src": "30647:1:9" + "src": "30647:1:22" }, { "name": "w", - "nativeSrc": "30650:1:9", + "nativeSrc": "30650:1:22", "nodeType": "YulIdentifier", - "src": "30650:1:9" + "src": "30650:1:22" } ], "functionName": { "name": "add", - "nativeSrc": "30643:3:9", + "nativeSrc": "30643:3:22", "nodeType": "YulIdentifier", - "src": "30643:3:9" + "src": "30643:3:22" }, - "nativeSrc": "30643:9:9", + "nativeSrc": "30643:9:22", "nodeType": "YulFunctionCall", - "src": "30643:9:9" + "src": "30643:9:22" }, "variableNames": [ { "name": "z", - "nativeSrc": "30638:1:9", + "nativeSrc": "30638:1:22", "nodeType": "YulIdentifier", - "src": "30638:1:9" + "src": "30638:1:22" } ] }, { "body": { - "nativeSrc": "30709:9:9", + "nativeSrc": "30709:9:22", "nodeType": "YulBlock", - "src": "30709:9:9", + "src": "30709:9:22", "statements": [ { - "nativeSrc": "30711:5:9", + "nativeSrc": "30711:5:22", "nodeType": "YulBreak", - "src": "30711:5:9" + "src": "30711:5:22" } ] }, @@ -83736,107 +102711,107 @@ "arguments": [ { "name": "z", - "nativeSrc": "30706:1:9", + "nativeSrc": "30706:1:22", "nodeType": "YulIdentifier", - "src": "30706:1:9" + "src": "30706:1:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "30699:6:9", + "nativeSrc": "30699:6:22", "nodeType": "YulIdentifier", - "src": "30699:6:9" + "src": "30699:6:22" }, - "nativeSrc": "30699:9:9", + "nativeSrc": "30699:9:22", "nodeType": "YulFunctionCall", - "src": "30699:9:9" + "src": "30699:9:22" }, - "nativeSrc": "30696:22:9", + "nativeSrc": "30696:22:22", "nodeType": "YulIf", - "src": "30696:22:9" + "src": "30696:22:22" } ] }, "condition": { "kind": "number", - "nativeSrc": "30520:1:9", + "nativeSrc": "30520:1:22", "nodeType": "YulLiteral", - "src": "30520:1:9", + "src": "30520:1:22", "type": "", "value": "1" }, - "nativeSrc": "30513:227:9", + "nativeSrc": "30513:227:22", "nodeType": "YulForLoop", "post": { - "nativeSrc": "30522:2:9", + "nativeSrc": "30522:2:22", "nodeType": "YulBlock", - "src": "30522:2:9", + "src": "30522:2:22", "statements": [] }, "pre": { - "nativeSrc": "30517:2:9", + "nativeSrc": "30517:2:22", "nodeType": "YulBlock", - "src": "30517:2:9", + "src": "30517:2:22", "statements": [] }, - "src": "30513:227:9" + "src": "30513:227:22" }, { - "nativeSrc": "30761:29:9", + "nativeSrc": "30761:29:22", "nodeType": "YulVariableDeclaration", - "src": "30761:29:9", + "src": "30761:29:22", "value": { "arguments": [ { "arguments": [ { "name": "m", - "nativeSrc": "30778:1:9", + "nativeSrc": "30778:1:22", "nodeType": "YulIdentifier", - "src": "30778:1:9" + "src": "30778:1:22" }, { "kind": "number", - "nativeSrc": "30781:4:9", + "nativeSrc": "30781:4:22", "nodeType": "YulLiteral", - "src": "30781:4:9", + "src": "30781:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "30774:3:9", + "nativeSrc": "30774:3:22", "nodeType": "YulIdentifier", - "src": "30774:3:9" + "src": "30774:3:22" }, - "nativeSrc": "30774:12:9", + "nativeSrc": "30774:12:22", "nodeType": "YulFunctionCall", - "src": "30774:12:9" + "src": "30774:12:22" }, { "name": "l", - "nativeSrc": "30788:1:9", + "nativeSrc": "30788:1:22", "nodeType": "YulIdentifier", - "src": "30788:1:9" + "src": "30788:1:22" } ], "functionName": { "name": "add", - "nativeSrc": "30770:3:9", + "nativeSrc": "30770:3:22", "nodeType": "YulIdentifier", - "src": "30770:3:9" + "src": "30770:3:22" }, - "nativeSrc": "30770:20:9", + "nativeSrc": "30770:20:22", "nodeType": "YulFunctionCall", - "src": "30770:20:9" + "src": "30770:20:22" }, "variables": [ { "name": "e", - "nativeSrc": "30765:1:9", + "nativeSrc": "30765:1:22", "nodeType": "YulTypedName", - "src": "30765:1:9", + "src": "30765:1:22", "type": "" } ] @@ -83846,41 +102821,41 @@ "arguments": [ { "name": "e", - "nativeSrc": "30818:1:9", + "nativeSrc": "30818:1:22", "nodeType": "YulIdentifier", - "src": "30818:1:9" + "src": "30818:1:22" }, { "kind": "number", - "nativeSrc": "30821:1:9", + "nativeSrc": "30821:1:22", "nodeType": "YulLiteral", - "src": "30821:1:9", + "src": "30821:1:22", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "30811:6:9", + "nativeSrc": "30811:6:22", "nodeType": "YulIdentifier", - "src": "30811:6:9" + "src": "30811:6:22" }, - "nativeSrc": "30811:12:9", + "nativeSrc": "30811:12:22", "nodeType": "YulFunctionCall", - "src": "30811:12:9" + "src": "30811:12:22" }, - "nativeSrc": "30811:12:9", + "nativeSrc": "30811:12:22", "nodeType": "YulExpressionStatement", - "src": "30811:12:9" + "src": "30811:12:22" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "30895:4:9", + "nativeSrc": "30895:4:22", "nodeType": "YulLiteral", - "src": "30895:4:9", + "src": "30895:4:22", "type": "", "value": "0x40" }, @@ -83888,60 +102863,60 @@ "arguments": [ { "name": "e", - "nativeSrc": "30905:1:9", + "nativeSrc": "30905:1:22", "nodeType": "YulIdentifier", - "src": "30905:1:9" + "src": "30905:1:22" }, { "kind": "number", - "nativeSrc": "30908:4:9", + "nativeSrc": "30908:4:22", "nodeType": "YulLiteral", - "src": "30908:4:9", + "src": "30908:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "30901:3:9", + "nativeSrc": "30901:3:22", "nodeType": "YulIdentifier", - "src": "30901:3:9" + "src": "30901:3:22" }, - "nativeSrc": "30901:12:9", + "nativeSrc": "30901:12:22", "nodeType": "YulFunctionCall", - "src": "30901:12:9" + "src": "30901:12:22" } ], "functionName": { "name": "mstore", - "nativeSrc": "30888:6:9", + "nativeSrc": "30888:6:22", "nodeType": "YulIdentifier", - "src": "30888:6:9" + "src": "30888:6:22" }, - "nativeSrc": "30888:26:9", + "nativeSrc": "30888:26:22", "nodeType": "YulFunctionCall", - "src": "30888:26:9" + "src": "30888:26:22" }, - "nativeSrc": "30888:26:9", + "nativeSrc": "30888:26:22", "nodeType": "YulExpressionStatement", - "src": "30888:26:9" + "src": "30888:26:22" }, { - "nativeSrc": "30955:6:9", + "nativeSrc": "30955:6:22", "nodeType": "YulAssignment", - "src": "30955:6:9", + "src": "30955:6:22", "value": { "name": "m", - "nativeSrc": "30960:1:9", + "nativeSrc": "30960:1:22", "nodeType": "YulIdentifier", - "src": "30960:1:9" + "src": "30960:1:22" }, "variableNames": [ { "name": "s", - "nativeSrc": "30955:1:9", + "nativeSrc": "30955:1:22", "nodeType": "YulIdentifier", - "src": "30955:1:9" + "src": "30955:1:22" } ] } @@ -83955,26 +102930,26 @@ "arguments": [ { "name": "s", - "nativeSrc": "30329:1:9", + "nativeSrc": "30329:1:22", "nodeType": "YulIdentifier", - "src": "30329:1:9" + "src": "30329:1:22" }, { "name": "o", - "nativeSrc": "30332:1:9", + "nativeSrc": "30332:1:22", "nodeType": "YulIdentifier", - "src": "30332:1:9" + "src": "30332:1:22" } ], "functionName": { "name": "lt", - "nativeSrc": "30326:2:9", + "nativeSrc": "30326:2:22", "nodeType": "YulIdentifier", - "src": "30326:2:9" + "src": "30326:2:22" }, - "nativeSrc": "30326:8:9", + "nativeSrc": "30326:8:22", "nodeType": "YulFunctionCall", - "src": "30326:8:9" + "src": "30326:8:22" }, { "arguments": [ @@ -83982,20 +102957,20 @@ "arguments": [ { "name": "r", - "nativeSrc": "30346:1:9", + "nativeSrc": "30346:1:22", "nodeType": "YulIdentifier", - "src": "30346:1:9" + "src": "30346:1:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "30339:6:9", + "nativeSrc": "30339:6:22", "nodeType": "YulIdentifier", - "src": "30339:6:9" + "src": "30339:6:22" }, - "nativeSrc": "30339:9:9", + "nativeSrc": "30339:9:22", "nodeType": "YulFunctionCall", - "src": "30339:9:9" + "src": "30339:9:22" }, { "arguments": [ @@ -84005,28 +102980,28 @@ "arguments": [ { "kind": "number", - "nativeSrc": "30365:1:9", + "nativeSrc": "30365:1:22", "nodeType": "YulLiteral", - "src": "30365:1:9", + "src": "30365:1:22", "type": "", "value": "3" }, { "name": "r", - "nativeSrc": "30368:1:9", + "nativeSrc": "30368:1:22", "nodeType": "YulIdentifier", - "src": "30368:1:9" + "src": "30368:1:22" } ], "functionName": { "name": "shl", - "nativeSrc": "30361:3:9", + "nativeSrc": "30361:3:22", "nodeType": "YulIdentifier", - "src": "30361:3:9" + "src": "30361:3:22" }, - "nativeSrc": "30361:9:9", + "nativeSrc": "30361:9:22", "nodeType": "YulFunctionCall", - "src": "30361:9:9" + "src": "30361:9:22" }, { "arguments": [ @@ -84034,228 +103009,228 @@ "arguments": [ { "name": "s", - "nativeSrc": "30382:1:9", + "nativeSrc": "30382:1:22", "nodeType": "YulIdentifier", - "src": "30382:1:9" + "src": "30382:1:22" }, { "name": "z", - "nativeSrc": "30385:1:9", + "nativeSrc": "30385:1:22", "nodeType": "YulIdentifier", - "src": "30385:1:9" + "src": "30385:1:22" } ], "functionName": { "name": "add", - "nativeSrc": "30378:3:9", + "nativeSrc": "30378:3:22", "nodeType": "YulIdentifier", - "src": "30378:3:9" + "src": "30378:3:22" }, - "nativeSrc": "30378:9:9", + "nativeSrc": "30378:9:22", "nodeType": "YulFunctionCall", - "src": "30378:9:9" + "src": "30378:9:22" } ], "functionName": { "name": "mload", - "nativeSrc": "30372:5:9", + "nativeSrc": "30372:5:22", "nodeType": "YulIdentifier", - "src": "30372:5:9" + "src": "30372:5:22" }, - "nativeSrc": "30372:16:9", + "nativeSrc": "30372:16:22", "nodeType": "YulFunctionCall", - "src": "30372:16:9" + "src": "30372:16:22" } ], "functionName": { "name": "shl", - "nativeSrc": "30357:3:9", + "nativeSrc": "30357:3:22", "nodeType": "YulIdentifier", - "src": "30357:3:9" + "src": "30357:3:22" }, - "nativeSrc": "30357:32:9", + "nativeSrc": "30357:32:22", "nodeType": "YulFunctionCall", - "src": "30357:32:9" + "src": "30357:32:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "30350:6:9", + "nativeSrc": "30350:6:22", "nodeType": "YulIdentifier", - "src": "30350:6:9" + "src": "30350:6:22" }, - "nativeSrc": "30350:40:9", + "nativeSrc": "30350:40:22", "nodeType": "YulFunctionCall", - "src": "30350:40:9" + "src": "30350:40:22" } ], "functionName": { "name": "or", - "nativeSrc": "30336:2:9", + "nativeSrc": "30336:2:22", "nodeType": "YulIdentifier", - "src": "30336:2:9" + "src": "30336:2:22" }, - "nativeSrc": "30336:55:9", + "nativeSrc": "30336:55:22", "nodeType": "YulFunctionCall", - "src": "30336:55:9" + "src": "30336:55:22" } ], "functionName": { "name": "lt", - "nativeSrc": "30323:2:9", + "nativeSrc": "30323:2:22", "nodeType": "YulIdentifier", - "src": "30323:2:9" + "src": "30323:2:22" }, - "nativeSrc": "30323:69:9", + "nativeSrc": "30323:69:22", "nodeType": "YulFunctionCall", - "src": "30323:69:9" + "src": "30323:69:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "30316:6:9", + "nativeSrc": "30316:6:22", "nodeType": "YulIdentifier", - "src": "30316:6:9" + "src": "30316:6:22" }, - "nativeSrc": "30316:77:9", + "nativeSrc": "30316:77:22", "nodeType": "YulFunctionCall", - "src": "30316:77:9" + "src": "30316:77:22" }, - "nativeSrc": "30313:666:9", + "nativeSrc": "30313:666:22", "nodeType": "YulIf", - "src": "30313:666:9" + "src": "30313:666:22" }, { "expression": { "arguments": [ { "name": "c", - "nativeSrc": "31003:1:9", + "nativeSrc": "31003:1:22", "nodeType": "YulIdentifier", - "src": "31003:1:9" + "src": "31003:1:22" }, { "arguments": [ { "name": "s", - "nativeSrc": "31010:1:9", + "nativeSrc": "31010:1:22", "nodeType": "YulIdentifier", - "src": "31010:1:9" + "src": "31010:1:22" }, { "name": "o", - "nativeSrc": "31013:1:9", + "nativeSrc": "31013:1:22", "nodeType": "YulIdentifier", - "src": "31013:1:9" + "src": "31013:1:22" } ], "functionName": { "name": "sub", - "nativeSrc": "31006:3:9", + "nativeSrc": "31006:3:22", "nodeType": "YulIdentifier", - "src": "31006:3:9" + "src": "31006:3:22" }, - "nativeSrc": "31006:9:9", + "nativeSrc": "31006:9:22", "nodeType": "YulFunctionCall", - "src": "31006:9:9" + "src": "31006:9:22" } ], "functionName": { "name": "mstore", - "nativeSrc": "30996:6:9", + "nativeSrc": "30996:6:22", "nodeType": "YulIdentifier", - "src": "30996:6:9" + "src": "30996:6:22" }, - "nativeSrc": "30996:20:9", + "nativeSrc": "30996:20:22", "nodeType": "YulFunctionCall", - "src": "30996:20:9" + "src": "30996:20:22" }, - "nativeSrc": "30996:20:9", + "nativeSrc": "30996:20:22", "nodeType": "YulExpressionStatement", - "src": "30996:20:9" + "src": "30996:20:22" }, { - "nativeSrc": "31064:29:9", + "nativeSrc": "31064:29:22", "nodeType": "YulVariableDeclaration", - "src": "31064:29:9", + "src": "31064:29:22", "value": { "arguments": [ { "name": "l", - "nativeSrc": "31077:1:9", + "nativeSrc": "31077:1:22", "nodeType": "YulIdentifier", - "src": "31077:1:9" + "src": "31077:1:22" }, { "arguments": [ { "name": "s", - "nativeSrc": "31084:1:9", + "nativeSrc": "31084:1:22", "nodeType": "YulIdentifier", - "src": "31084:1:9" + "src": "31084:1:22" }, { "kind": "number", - "nativeSrc": "31087:4:9", + "nativeSrc": "31087:4:22", "nodeType": "YulLiteral", - "src": "31087:4:9", + "src": "31087:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "31080:3:9", + "nativeSrc": "31080:3:22", "nodeType": "YulIdentifier", - "src": "31080:3:9" + "src": "31080:3:22" }, - "nativeSrc": "31080:12:9", + "nativeSrc": "31080:12:22", "nodeType": "YulFunctionCall", - "src": "31080:12:9" + "src": "31080:12:22" } ], "functionName": { "name": "add", - "nativeSrc": "31073:3:9", + "nativeSrc": "31073:3:22", "nodeType": "YulIdentifier", - "src": "31073:3:9" + "src": "31073:3:22" }, - "nativeSrc": "31073:20:9", + "nativeSrc": "31073:20:22", "nodeType": "YulFunctionCall", - "src": "31073:20:9" + "src": "31073:20:22" }, "variables": [ { "name": "t", - "nativeSrc": "31068:1:9", + "nativeSrc": "31068:1:22", "nodeType": "YulTypedName", - "src": "31068:1:9", + "src": "31068:1:22", "type": "" } ] }, { "body": { - "nativeSrc": "31130:10:9", + "nativeSrc": "31130:10:22", "nodeType": "YulBlock", - "src": "31130:10:9", + "src": "31130:10:22", "statements": [ { - "nativeSrc": "31132:6:9", + "nativeSrc": "31132:6:22", "nodeType": "YulAssignment", - "src": "31132:6:9", + "src": "31132:6:22", "value": { "name": "t", - "nativeSrc": "31137:1:9", + "nativeSrc": "31137:1:22", "nodeType": "YulIdentifier", - "src": "31137:1:9" + "src": "31137:1:22" }, "variableNames": [ { "name": "u", - "nativeSrc": "31132:1:9", + "nativeSrc": "31132:1:22", "nodeType": "YulIdentifier", - "src": "31132:1:9" + "src": "31132:1:22" } ] } @@ -84267,41 +103242,41 @@ "arguments": [ { "name": "t", - "nativeSrc": "31123:1:9", + "nativeSrc": "31123:1:22", "nodeType": "YulIdentifier", - "src": "31123:1:9" + "src": "31123:1:22" }, { "name": "u", - "nativeSrc": "31126:1:9", + "nativeSrc": "31126:1:22", "nodeType": "YulIdentifier", - "src": "31126:1:9" + "src": "31126:1:22" } ], "functionName": { "name": "lt", - "nativeSrc": "31120:2:9", + "nativeSrc": "31120:2:22", "nodeType": "YulIdentifier", - "src": "31120:2:9" + "src": "31120:2:22" }, - "nativeSrc": "31120:8:9", + "nativeSrc": "31120:8:22", "nodeType": "YulFunctionCall", - "src": "31120:8:9" + "src": "31120:8:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "31113:6:9", + "nativeSrc": "31113:6:22", "nodeType": "YulIdentifier", - "src": "31113:6:9" + "src": "31113:6:22" }, - "nativeSrc": "31113:16:9", + "nativeSrc": "31113:16:22", "nodeType": "YulFunctionCall", - "src": "31113:16:9" + "src": "31113:16:22" }, - "nativeSrc": "31110:30:9", + "nativeSrc": "31110:30:22", "nodeType": "YulIf", - "src": "31110:30:9" + "src": "31110:30:22" } ] }, @@ -84311,153 +103286,153 @@ "arguments": [ { "name": "i", - "nativeSrc": "29868:1:9", + "nativeSrc": "29868:1:22", "nodeType": "YulIdentifier", - "src": "29868:1:9" + "src": "29868:1:22" }, { "name": "n", - "nativeSrc": "29871:1:9", + "nativeSrc": "29871:1:22", "nodeType": "YulIdentifier", - "src": "29871:1:9" + "src": "29871:1:22" } ], "functionName": { "name": "eq", - "nativeSrc": "29865:2:9", + "nativeSrc": "29865:2:22", "nodeType": "YulIdentifier", - "src": "29865:2:9" + "src": "29865:2:22" }, - "nativeSrc": "29865:8:9", + "nativeSrc": "29865:8:22", "nodeType": "YulFunctionCall", - "src": "29865:8:9" + "src": "29865:8:22" } ], "functionName": { "name": "iszero", - "nativeSrc": "29858:6:9", + "nativeSrc": "29858:6:22", "nodeType": "YulIdentifier", - "src": "29858:6:9" + "src": "29858:6:22" }, - "nativeSrc": "29858:16:9", + "nativeSrc": "29858:16:22", "nodeType": "YulFunctionCall", - "src": "29858:16:9" + "src": "29858:16:22" }, - "nativeSrc": "29839:1315:9", + "nativeSrc": "29839:1315:22", "nodeType": "YulForLoop", "post": { - "nativeSrc": "29875:18:9", + "nativeSrc": "29875:18:22", "nodeType": "YulBlock", - "src": "29875:18:9", + "src": "29875:18:22", "statements": [ { - "nativeSrc": "29877:14:9", + "nativeSrc": "29877:14:22", "nodeType": "YulAssignment", - "src": "29877:14:9", + "src": "29877:14:22", "value": { "arguments": [ { "name": "i", - "nativeSrc": "29886:1:9", + "nativeSrc": "29886:1:22", "nodeType": "YulIdentifier", - "src": "29886:1:9" + "src": "29886:1:22" }, { "kind": "number", - "nativeSrc": "29889:1:9", + "nativeSrc": "29889:1:22", "nodeType": "YulLiteral", - "src": "29889:1:9", + "src": "29889:1:22", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "29882:3:9", + "nativeSrc": "29882:3:22", "nodeType": "YulIdentifier", - "src": "29882:3:9" + "src": "29882:3:22" }, - "nativeSrc": "29882:9:9", + "nativeSrc": "29882:9:22", "nodeType": "YulFunctionCall", - "src": "29882:9:9" + "src": "29882:9:22" }, "variableNames": [ { "name": "i", - "nativeSrc": "29877:1:9", + "nativeSrc": "29877:1:22", "nodeType": "YulIdentifier", - "src": "29877:1:9" + "src": "29877:1:22" } ] } ] }, "pre": { - "nativeSrc": "29843:14:9", + "nativeSrc": "29843:14:22", "nodeType": "YulBlock", - "src": "29843:14:9", + "src": "29843:14:22", "statements": [ { - "nativeSrc": "29845:10:9", + "nativeSrc": "29845:10:22", "nodeType": "YulVariableDeclaration", - "src": "29845:10:9", + "src": "29845:10:22", "value": { "kind": "number", - "nativeSrc": "29854:1:9", + "nativeSrc": "29854:1:22", "nodeType": "YulLiteral", - "src": "29854:1:9", + "src": "29854:1:22", "type": "", "value": "0" }, "variables": [ { "name": "i", - "nativeSrc": "29849:1:9", + "nativeSrc": "29849:1:22", "nodeType": "YulTypedName", - "src": "29849:1:9", + "src": "29849:1:22", "type": "" } ] } ] }, - "src": "29839:1315:9" + "src": "29839:1315:22" }, { - "nativeSrc": "31167:25:9", + "nativeSrc": "31167:25:22", "nodeType": "YulVariableDeclaration", - "src": "31167:25:9", + "src": "31167:25:22", "value": { "arguments": [ { "name": "a", - "nativeSrc": "31187:1:9", + "nativeSrc": "31187:1:22", "nodeType": "YulIdentifier", - "src": "31187:1:9" + "src": "31187:1:22" }, { "name": "w", - "nativeSrc": "31190:1:9", + "nativeSrc": "31190:1:22", "nodeType": "YulIdentifier", - "src": "31190:1:9" + "src": "31190:1:22" } ], "functionName": { "name": "add", - "nativeSrc": "31183:3:9", + "nativeSrc": "31183:3:22", "nodeType": "YulIdentifier", - "src": "31183:3:9" + "src": "31183:3:22" }, - "nativeSrc": "31183:9:9", + "nativeSrc": "31183:9:22", "nodeType": "YulFunctionCall", - "src": "31183:9:9" + "src": "31183:9:22" }, "variables": [ { "name": "retStart", - "nativeSrc": "31171:8:9", + "nativeSrc": "31171:8:22", "nodeType": "YulTypedName", - "src": "31171:8:9", + "src": "31171:8:22", "type": "" } ] @@ -84467,49 +103442,49 @@ "arguments": [ { "name": "retStart", - "nativeSrc": "31261:8:9", + "nativeSrc": "31261:8:22", "nodeType": "YulIdentifier", - "src": "31261:8:9" + "src": "31261:8:22" }, { "kind": "number", - "nativeSrc": "31271:4:9", + "nativeSrc": "31271:4:22", "nodeType": "YulLiteral", - "src": "31271:4:9", + "src": "31271:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "mstore", - "nativeSrc": "31254:6:9", + "nativeSrc": "31254:6:22", "nodeType": "YulIdentifier", - "src": "31254:6:9" + "src": "31254:6:22" }, - "nativeSrc": "31254:22:9", + "nativeSrc": "31254:22:22", "nodeType": "YulFunctionCall", - "src": "31254:22:9" + "src": "31254:22:22" }, - "nativeSrc": "31254:22:9", + "nativeSrc": "31254:22:22", "nodeType": "YulExpressionStatement", - "src": "31254:22:9" + "src": "31254:22:22" }, { "expression": { "arguments": [ { "name": "retStart", - "nativeSrc": "31324:8:9", + "nativeSrc": "31324:8:22", "nodeType": "YulIdentifier", - "src": "31324:8:9" + "src": "31324:8:22" }, { "arguments": [ { "kind": "number", - "nativeSrc": "31338:4:9", + "nativeSrc": "31338:4:22", "nodeType": "YulLiteral", - "src": "31338:4:9", + "src": "31338:4:22", "type": "", "value": "0x40" }, @@ -84517,52 +103492,52 @@ "arguments": [ { "name": "u", - "nativeSrc": "31348:1:9", + "nativeSrc": "31348:1:22", "nodeType": "YulIdentifier", - "src": "31348:1:9" + "src": "31348:1:22" }, { "name": "retStart", - "nativeSrc": "31351:8:9", + "nativeSrc": "31351:8:22", "nodeType": "YulIdentifier", - "src": "31351:8:9" + "src": "31351:8:22" } ], "functionName": { "name": "sub", - "nativeSrc": "31344:3:9", + "nativeSrc": "31344:3:22", "nodeType": "YulIdentifier", - "src": "31344:3:9" + "src": "31344:3:22" }, - "nativeSrc": "31344:16:9", + "nativeSrc": "31344:16:22", "nodeType": "YulFunctionCall", - "src": "31344:16:9" + "src": "31344:16:22" } ], "functionName": { "name": "add", - "nativeSrc": "31334:3:9", + "nativeSrc": "31334:3:22", "nodeType": "YulIdentifier", - "src": "31334:3:9" + "src": "31334:3:22" }, - "nativeSrc": "31334:27:9", + "nativeSrc": "31334:27:22", "nodeType": "YulFunctionCall", - "src": "31334:27:9" + "src": "31334:27:22" } ], "functionName": { "name": "return", - "nativeSrc": "31317:6:9", + "nativeSrc": "31317:6:22", "nodeType": "YulIdentifier", - "src": "31317:6:9" + "src": "31317:6:22" }, - "nativeSrc": "31317:45:9", + "nativeSrc": "31317:45:22", "nodeType": "YulFunctionCall", - "src": "31317:45:9" + "src": "31317:45:22" }, - "nativeSrc": "31317:45:9", + "nativeSrc": "31317:45:22", "nodeType": "YulExpressionStatement", - "src": "31317:45:9" + "src": "31317:45:22" } ] }, @@ -84570,66 +103545,66 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3004, + "declaration": 4610, "isOffset": false, "isSlot": false, - "src": "29668:1:9", + "src": "29668:1:22", "valueSize": 1 }, { - "declaration": 3004, + "declaration": 4610, "isOffset": false, "isSlot": false, - "src": "29711:1:9", + "src": "29711:1:22", "valueSize": 1 }, { - "declaration": 3004, + "declaration": 4610, "isOffset": false, "isSlot": false, - "src": "29770:1:9", + "src": "29770:1:22", "valueSize": 1 }, { - "declaration": 3004, + "declaration": 4610, "isOffset": false, "isSlot": false, - "src": "31187:1:9", + "src": "31187:1:22", "valueSize": 1 } ], - "id": 3007, + "id": 4613, "nodeType": "InlineAssembly", - "src": "29630:1766:9" + "src": "29630:1766:22" } ] }, "documentation": { - "id": 3001, + "id": 4607, "nodeType": "StructuredDocumentation", - "src": "29467:51:9", + "src": "29467:51:22", "text": "@dev Directly returns `a` with minimal copying." }, - "id": 3009, + "id": 4615, "implemented": true, "kind": "function", "modifiers": [], "name": "directReturn", - "nameLocation": "29532:12:9", + "nameLocation": "29532:12:22", "nodeType": "FunctionDefinition", "parameters": { - "id": 3005, + "id": 4611, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3004, + "id": 4610, "mutability": "mutable", "name": "a", - "nameLocation": "29560:1:9", + "nameLocation": "29560:1:22", "nodeType": "VariableDeclaration", - "scope": 3009, - "src": "29545:16:9", + "scope": 4615, + "src": "29545:16:22", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -84638,18 +103613,18 @@ }, "typeName": { "baseType": { - "id": 3002, + "id": 4608, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "29545:5:9", + "src": "29545:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, - "id": 3003, + "id": 4609, "nodeType": "ArrayTypeName", - "src": "29545:7:9", + "src": "29545:7:22", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", "typeString": "bytes[]" @@ -84658,36 +103633,36 @@ "visibility": "internal" } ], - "src": "29544:18:9" + "src": "29544:18:22" }, "returnParameters": { - "id": 3006, + "id": 4612, "nodeType": "ParameterList", "parameters": [], - "src": "29577:0:9" + "src": "29577:0:22" }, - "scope": 3078, - "src": "29523:1879:9", + "scope": 4684, + "src": "29523:1879:22", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3020, + "id": 4626, "nodeType": "Block", - "src": "31563:134:9", + "src": "31563:134:22", "statements": [ { "AST": { - "nativeSrc": "31625:66:9", + "nativeSrc": "31625:66:22", "nodeType": "YulBlock", - "src": "31625:66:9", + "src": "31625:66:22", "statements": [ { - "nativeSrc": "31639:42:9", + "nativeSrc": "31639:42:22", "nodeType": "YulAssignment", - "src": "31639:42:9", + "src": "31639:42:22", "value": { "arguments": [ { @@ -84696,63 +103671,63 @@ "arguments": [ { "name": "a", - "nativeSrc": "31663:1:9", + "nativeSrc": "31663:1:22", "nodeType": "YulIdentifier", - "src": "31663:1:9" + "src": "31663:1:22" }, { "kind": "number", - "nativeSrc": "31666:4:9", + "nativeSrc": "31666:4:22", "nodeType": "YulLiteral", - "src": "31666:4:9", + "src": "31666:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "31659:3:9", + "nativeSrc": "31659:3:22", "nodeType": "YulIdentifier", - "src": "31659:3:9" + "src": "31659:3:22" }, - "nativeSrc": "31659:12:9", + "nativeSrc": "31659:12:22", "nodeType": "YulFunctionCall", - "src": "31659:12:9" + "src": "31659:12:22" }, { "name": "offset", - "nativeSrc": "31673:6:9", + "nativeSrc": "31673:6:22", "nodeType": "YulIdentifier", - "src": "31673:6:9" + "src": "31673:6:22" } ], "functionName": { "name": "add", - "nativeSrc": "31655:3:9", + "nativeSrc": "31655:3:22", "nodeType": "YulIdentifier", - "src": "31655:3:9" + "src": "31655:3:22" }, - "nativeSrc": "31655:25:9", + "nativeSrc": "31655:25:22", "nodeType": "YulFunctionCall", - "src": "31655:25:9" + "src": "31655:25:22" } ], "functionName": { "name": "mload", - "nativeSrc": "31649:5:9", + "nativeSrc": "31649:5:22", "nodeType": "YulIdentifier", - "src": "31649:5:9" + "src": "31649:5:22" }, - "nativeSrc": "31649:32:9", + "nativeSrc": "31649:32:22", "nodeType": "YulFunctionCall", - "src": "31649:32:9" + "src": "31649:32:22" }, "variableNames": [ { "name": "result", - "nativeSrc": "31639:6:9", + "nativeSrc": "31639:6:22", "nodeType": "YulIdentifier", - "src": "31639:6:9" + "src": "31639:6:22" } ] } @@ -84762,59 +103737,59 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3012, + "declaration": 4618, "isOffset": false, "isSlot": false, - "src": "31663:1:9", + "src": "31663:1:22", "valueSize": 1 }, { - "declaration": 3014, + "declaration": 4620, "isOffset": false, "isSlot": false, - "src": "31673:6:9", + "src": "31673:6:22", "valueSize": 1 }, { - "declaration": 3017, + "declaration": 4623, "isOffset": false, "isSlot": false, - "src": "31639:6:9", + "src": "31639:6:22", "valueSize": 1 } ], - "id": 3019, + "id": 4625, "nodeType": "InlineAssembly", - "src": "31616:75:9" + "src": "31616:75:22" } ] }, "documentation": { - "id": 3010, + "id": 4616, "nodeType": "StructuredDocumentation", - "src": "31408:65:9", + "src": "31408:65:22", "text": "@dev Returns the word at `offset`, without any bounds checks." }, - "id": 3021, + "id": 4627, "implemented": true, "kind": "function", "modifiers": [], "name": "load", - "nameLocation": "31487:4:9", + "nameLocation": "31487:4:22", "nodeType": "FunctionDefinition", "parameters": { - "id": 3015, + "id": 4621, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3012, + "id": 4618, "mutability": "mutable", "name": "a", - "nameLocation": "31505:1:9", + "nameLocation": "31505:1:22", "nodeType": "VariableDeclaration", - "scope": 3021, - "src": "31492:14:9", + "scope": 4627, + "src": "31492:14:22", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -84822,10 +103797,10 @@ "typeString": "bytes" }, "typeName": { - "id": 3011, + "id": 4617, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "31492:5:9", + "src": "31492:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -84835,13 +103810,13 @@ }, { "constant": false, - "id": 3014, + "id": 4620, "mutability": "mutable", "name": "offset", - "nameLocation": "31516:6:9", + "nameLocation": "31516:6:22", "nodeType": "VariableDeclaration", - "scope": 3021, - "src": "31508:14:9", + "scope": 4627, + "src": "31508:14:22", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -84849,10 +103824,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3013, + "id": 4619, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "31508:7:9", + "src": "31508:7:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -84861,21 +103836,21 @@ "visibility": "internal" } ], - "src": "31491:32:9" + "src": "31491:32:22" }, "returnParameters": { - "id": 3018, + "id": 4624, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3017, + "id": 4623, "mutability": "mutable", "name": "result", - "nameLocation": "31555:6:9", + "nameLocation": "31555:6:22", "nodeType": "VariableDeclaration", - "scope": 3021, - "src": "31547:14:9", + "scope": 4627, + "src": "31547:14:22", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -84883,10 +103858,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 3016, + "id": 4622, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "31547:7:9", + "src": "31547:7:22", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -84895,74 +103870,74 @@ "visibility": "internal" } ], - "src": "31546:16:9" + "src": "31546:16:22" }, - "scope": 3078, - "src": "31478:219:9", + "scope": 4684, + "src": "31478:219:22", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3032, + "id": 4638, "nodeType": "Block", - "src": "31896:137:9", + "src": "31896:137:22", "statements": [ { "AST": { - "nativeSrc": "31958:69:9", + "nativeSrc": "31958:69:22", "nodeType": "YulBlock", - "src": "31958:69:9", + "src": "31958:69:22", "statements": [ { - "nativeSrc": "31972:45:9", + "nativeSrc": "31972:45:22", "nodeType": "YulAssignment", - "src": "31972:45:9", + "src": "31972:45:22", "value": { "arguments": [ { "arguments": [ { "name": "a.offset", - "nativeSrc": "31999:8:9", + "nativeSrc": "31999:8:22", "nodeType": "YulIdentifier", - "src": "31999:8:9" + "src": "31999:8:22" }, { "name": "offset", - "nativeSrc": "32009:6:9", + "nativeSrc": "32009:6:22", "nodeType": "YulIdentifier", - "src": "32009:6:9" + "src": "32009:6:22" } ], "functionName": { "name": "add", - "nativeSrc": "31995:3:9", + "nativeSrc": "31995:3:22", "nodeType": "YulIdentifier", - "src": "31995:3:9" + "src": "31995:3:22" }, - "nativeSrc": "31995:21:9", + "nativeSrc": "31995:21:22", "nodeType": "YulFunctionCall", - "src": "31995:21:9" + "src": "31995:21:22" } ], "functionName": { "name": "calldataload", - "nativeSrc": "31982:12:9", + "nativeSrc": "31982:12:22", "nodeType": "YulIdentifier", - "src": "31982:12:9" + "src": "31982:12:22" }, - "nativeSrc": "31982:35:9", + "nativeSrc": "31982:35:22", "nodeType": "YulFunctionCall", - "src": "31982:35:9" + "src": "31982:35:22" }, "variableNames": [ { "name": "result", - "nativeSrc": "31972:6:9", + "nativeSrc": "31972:6:22", "nodeType": "YulIdentifier", - "src": "31972:6:9" + "src": "31972:6:22" } ] } @@ -84972,60 +103947,60 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3024, + "declaration": 4630, "isOffset": true, "isSlot": false, - "src": "31999:8:9", + "src": "31999:8:22", "suffix": "offset", "valueSize": 1 }, { - "declaration": 3026, + "declaration": 4632, "isOffset": false, "isSlot": false, - "src": "32009:6:9", + "src": "32009:6:22", "valueSize": 1 }, { - "declaration": 3029, + "declaration": 4635, "isOffset": false, "isSlot": false, - "src": "31972:6:9", + "src": "31972:6:22", "valueSize": 1 } ], - "id": 3031, + "id": 4637, "nodeType": "InlineAssembly", - "src": "31949:78:9" + "src": "31949:78:22" } ] }, "documentation": { - "id": 3022, + "id": 4628, "nodeType": "StructuredDocumentation", - "src": "31703:65:9", + "src": "31703:65:22", "text": "@dev Returns the word at `offset`, without any bounds checks." }, - "id": 3033, + "id": 4639, "implemented": true, "kind": "function", "modifiers": [], "name": "loadCalldata", - "nameLocation": "31782:12:9", + "nameLocation": "31782:12:22", "nodeType": "FunctionDefinition", "parameters": { - "id": 3027, + "id": 4633, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3024, + "id": 4630, "mutability": "mutable", "name": "a", - "nameLocation": "31810:1:9", + "nameLocation": "31810:1:22", "nodeType": "VariableDeclaration", - "scope": 3033, - "src": "31795:16:9", + "scope": 4639, + "src": "31795:16:22", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -85033,10 +104008,10 @@ "typeString": "bytes" }, "typeName": { - "id": 3023, + "id": 4629, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "31795:5:9", + "src": "31795:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -85046,13 +104021,13 @@ }, { "constant": false, - "id": 3026, + "id": 4632, "mutability": "mutable", "name": "offset", - "nameLocation": "31821:6:9", + "nameLocation": "31821:6:22", "nodeType": "VariableDeclaration", - "scope": 3033, - "src": "31813:14:9", + "scope": 4639, + "src": "31813:14:22", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -85060,10 +104035,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3025, + "id": 4631, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "31813:7:9", + "src": "31813:7:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -85072,21 +104047,21 @@ "visibility": "internal" } ], - "src": "31794:34:9" + "src": "31794:34:22" }, "returnParameters": { - "id": 3030, + "id": 4636, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3029, + "id": 4635, "mutability": "mutable", "name": "result", - "nameLocation": "31884:6:9", + "nameLocation": "31884:6:22", "nodeType": "VariableDeclaration", - "scope": 3033, - "src": "31876:14:9", + "scope": 4639, + "src": "31876:14:22", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -85094,10 +104069,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 3028, + "id": 4634, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "31876:7:9", + "src": "31876:7:22", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -85106,180 +104081,180 @@ "visibility": "internal" } ], - "src": "31875:16:9" + "src": "31875:16:22" }, - "scope": 3078, - "src": "31773:260:9", + "scope": 4684, + "src": "31773:260:22", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3044, + "id": 4650, "nodeType": "Block", - "src": "32278:301:9", + "src": "32278:301:22", "statements": [ { "AST": { - "nativeSrc": "32340:233:9", + "nativeSrc": "32340:233:22", "nodeType": "YulBlock", - "src": "32340:233:9", + "src": "32340:233:22", "statements": [ { - "nativeSrc": "32354:28:9", + "nativeSrc": "32354:28:22", "nodeType": "YulVariableDeclaration", - "src": "32354:28:9", + "src": "32354:28:22", "value": { "arguments": [ { "name": "a.length", - "nativeSrc": "32367:8:9", + "nativeSrc": "32367:8:22", "nodeType": "YulIdentifier", - "src": "32367:8:9" + "src": "32367:8:22" }, { "kind": "number", - "nativeSrc": "32377:4:9", + "nativeSrc": "32377:4:22", "nodeType": "YulLiteral", - "src": "32377:4:9", + "src": "32377:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "sub", - "nativeSrc": "32363:3:9", + "nativeSrc": "32363:3:22", "nodeType": "YulIdentifier", - "src": "32363:3:9" + "src": "32363:3:22" }, - "nativeSrc": "32363:19:9", + "nativeSrc": "32363:19:22", "nodeType": "YulFunctionCall", - "src": "32363:19:9" + "src": "32363:19:22" }, "variables": [ { "name": "l", - "nativeSrc": "32358:1:9", + "nativeSrc": "32358:1:22", "nodeType": "YulTypedName", - "src": "32358:1:9", + "src": "32358:1:22", "type": "" } ] }, { - "nativeSrc": "32395:38:9", + "nativeSrc": "32395:38:22", "nodeType": "YulAssignment", - "src": "32395:38:9", + "src": "32395:38:22", "value": { "arguments": [ { "name": "a.offset", - "nativeSrc": "32416:8:9", + "nativeSrc": "32416:8:22", "nodeType": "YulIdentifier", - "src": "32416:8:9" + "src": "32416:8:22" }, { "name": "offset", - "nativeSrc": "32426:6:9", + "nativeSrc": "32426:6:22", "nodeType": "YulIdentifier", - "src": "32426:6:9" + "src": "32426:6:22" } ], "functionName": { "name": "add", - "nativeSrc": "32412:3:9", + "nativeSrc": "32412:3:22", "nodeType": "YulIdentifier", - "src": "32412:3:9" + "src": "32412:3:22" }, - "nativeSrc": "32412:21:9", + "nativeSrc": "32412:21:22", "nodeType": "YulFunctionCall", - "src": "32412:21:9" + "src": "32412:21:22" }, "variableNames": [ { "name": "result.offset", - "nativeSrc": "32395:13:9", + "nativeSrc": "32395:13:22", "nodeType": "YulIdentifier", - "src": "32395:13:9" + "src": "32395:13:22" } ] }, { - "nativeSrc": "32446:38:9", + "nativeSrc": "32446:38:22", "nodeType": "YulAssignment", - "src": "32446:38:9", + "src": "32446:38:22", "value": { "arguments": [ { "name": "a.length", - "nativeSrc": "32467:8:9", + "nativeSrc": "32467:8:22", "nodeType": "YulIdentifier", - "src": "32467:8:9" + "src": "32467:8:22" }, { "name": "offset", - "nativeSrc": "32477:6:9", + "nativeSrc": "32477:6:22", "nodeType": "YulIdentifier", - "src": "32477:6:9" + "src": "32477:6:22" } ], "functionName": { "name": "sub", - "nativeSrc": "32463:3:9", + "nativeSrc": "32463:3:22", "nodeType": "YulIdentifier", - "src": "32463:3:9" + "src": "32463:3:22" }, - "nativeSrc": "32463:21:9", + "nativeSrc": "32463:21:22", "nodeType": "YulFunctionCall", - "src": "32463:21:9" + "src": "32463:21:22" }, "variableNames": [ { "name": "result.length", - "nativeSrc": "32446:13:9", + "nativeSrc": "32446:13:22", "nodeType": "YulIdentifier", - "src": "32446:13:9" + "src": "32446:13:22" } ] }, { "body": { - "nativeSrc": "32544:19:9", + "nativeSrc": "32544:19:22", "nodeType": "YulBlock", - "src": "32544:19:9", + "src": "32544:19:22", "statements": [ { "expression": { "arguments": [ { "name": "l", - "nativeSrc": "32553:1:9", + "nativeSrc": "32553:1:22", "nodeType": "YulIdentifier", - "src": "32553:1:9" + "src": "32553:1:22" }, { "kind": "number", - "nativeSrc": "32556:4:9", + "nativeSrc": "32556:4:22", "nodeType": "YulLiteral", - "src": "32556:4:9", + "src": "32556:4:22", "type": "", "value": "0x00" } ], "functionName": { "name": "revert", - "nativeSrc": "32546:6:9", + "nativeSrc": "32546:6:22", "nodeType": "YulIdentifier", - "src": "32546:6:9" + "src": "32546:6:22" }, - "nativeSrc": "32546:15:9", + "nativeSrc": "32546:15:22", "nodeType": "YulFunctionCall", - "src": "32546:15:9" + "src": "32546:15:22" }, - "nativeSrc": "32546:15:9", + "nativeSrc": "32546:15:22", "nodeType": "YulExpressionStatement", - "src": "32546:15:9" + "src": "32546:15:22" } ] }, @@ -85289,9 +104264,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "32507:2:9", + "nativeSrc": "32507:2:22", "nodeType": "YulLiteral", - "src": "32507:2:9", + "src": "32507:2:22", "type": "", "value": "64" }, @@ -85299,77 +104274,77 @@ "arguments": [ { "name": "l", - "nativeSrc": "32514:1:9", + "nativeSrc": "32514:1:22", "nodeType": "YulIdentifier", - "src": "32514:1:9" + "src": "32514:1:22" }, { "name": "a.offset", - "nativeSrc": "32517:8:9", + "nativeSrc": "32517:8:22", "nodeType": "YulIdentifier", - "src": "32517:8:9" + "src": "32517:8:22" } ], "functionName": { "name": "or", - "nativeSrc": "32511:2:9", + "nativeSrc": "32511:2:22", "nodeType": "YulIdentifier", - "src": "32511:2:9" + "src": "32511:2:22" }, - "nativeSrc": "32511:15:9", + "nativeSrc": "32511:15:22", "nodeType": "YulFunctionCall", - "src": "32511:15:9" + "src": "32511:15:22" } ], "functionName": { "name": "shr", - "nativeSrc": "32503:3:9", + "nativeSrc": "32503:3:22", "nodeType": "YulIdentifier", - "src": "32503:3:9" + "src": "32503:3:22" }, - "nativeSrc": "32503:24:9", + "nativeSrc": "32503:24:22", "nodeType": "YulFunctionCall", - "src": "32503:24:9" + "src": "32503:24:22" }, { "arguments": [ { "name": "offset", - "nativeSrc": "32532:6:9", + "nativeSrc": "32532:6:22", "nodeType": "YulIdentifier", - "src": "32532:6:9" + "src": "32532:6:22" }, { "name": "l", - "nativeSrc": "32540:1:9", + "nativeSrc": "32540:1:22", "nodeType": "YulIdentifier", - "src": "32540:1:9" + "src": "32540:1:22" } ], "functionName": { "name": "gt", - "nativeSrc": "32529:2:9", + "nativeSrc": "32529:2:22", "nodeType": "YulIdentifier", - "src": "32529:2:9" + "src": "32529:2:22" }, - "nativeSrc": "32529:13:9", + "nativeSrc": "32529:13:22", "nodeType": "YulFunctionCall", - "src": "32529:13:9" + "src": "32529:13:22" } ], "functionName": { "name": "or", - "nativeSrc": "32500:2:9", + "nativeSrc": "32500:2:22", "nodeType": "YulIdentifier", - "src": "32500:2:9" + "src": "32500:2:22" }, - "nativeSrc": "32500:43:9", + "nativeSrc": "32500:43:22", "nodeType": "YulFunctionCall", - "src": "32500:43:9" + "src": "32500:43:22" }, - "nativeSrc": "32497:66:9", + "nativeSrc": "32497:66:22", "nodeType": "YulIf", - "src": "32497:66:9" + "src": "32497:66:22" } ] }, @@ -85377,107 +104352,107 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3036, + "declaration": 4642, "isOffset": false, "isSlot": false, - "src": "32367:8:9", + "src": "32367:8:22", "suffix": "length", "valueSize": 1 }, { - "declaration": 3036, + "declaration": 4642, "isOffset": false, "isSlot": false, - "src": "32467:8:9", + "src": "32467:8:22", "suffix": "length", "valueSize": 1 }, { - "declaration": 3036, + "declaration": 4642, "isOffset": true, "isSlot": false, - "src": "32416:8:9", + "src": "32416:8:22", "suffix": "offset", "valueSize": 1 }, { - "declaration": 3036, + "declaration": 4642, "isOffset": true, "isSlot": false, - "src": "32517:8:9", + "src": "32517:8:22", "suffix": "offset", "valueSize": 1 }, { - "declaration": 3038, + "declaration": 4644, "isOffset": false, "isSlot": false, - "src": "32426:6:9", + "src": "32426:6:22", "valueSize": 1 }, { - "declaration": 3038, + "declaration": 4644, "isOffset": false, "isSlot": false, - "src": "32477:6:9", + "src": "32477:6:22", "valueSize": 1 }, { - "declaration": 3038, + "declaration": 4644, "isOffset": false, "isSlot": false, - "src": "32532:6:9", + "src": "32532:6:22", "valueSize": 1 }, { - "declaration": 3041, + "declaration": 4647, "isOffset": false, "isSlot": false, - "src": "32446:13:9", + "src": "32446:13:22", "suffix": "length", "valueSize": 1 }, { - "declaration": 3041, + "declaration": 4647, "isOffset": true, "isSlot": false, - "src": "32395:13:9", + "src": "32395:13:22", "suffix": "offset", "valueSize": 1 } ], - "id": 3043, + "id": 4649, "nodeType": "InlineAssembly", - "src": "32331:242:9" + "src": "32331:242:22" } ] }, "documentation": { - "id": 3034, + "id": 4640, "nodeType": "StructuredDocumentation", - "src": "32039:94:9", + "src": "32039:94:22", "text": "@dev Returns a slice representing a static struct in the calldata. Performs bounds checks." }, - "id": 3045, + "id": 4651, "implemented": true, "kind": "function", "modifiers": [], "name": "staticStructInCalldata", - "nameLocation": "32147:22:9", + "nameLocation": "32147:22:22", "nodeType": "FunctionDefinition", "parameters": { - "id": 3039, + "id": 4645, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3036, + "id": 4642, "mutability": "mutable", "name": "a", - "nameLocation": "32185:1:9", + "nameLocation": "32185:1:22", "nodeType": "VariableDeclaration", - "scope": 3045, - "src": "32170:16:9", + "scope": 4651, + "src": "32170:16:22", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -85485,10 +104460,10 @@ "typeString": "bytes" }, "typeName": { - "id": 3035, + "id": 4641, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "32170:5:9", + "src": "32170:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -85498,13 +104473,13 @@ }, { "constant": false, - "id": 3038, + "id": 4644, "mutability": "mutable", "name": "offset", - "nameLocation": "32196:6:9", + "nameLocation": "32196:6:22", "nodeType": "VariableDeclaration", - "scope": 3045, - "src": "32188:14:9", + "scope": 4651, + "src": "32188:14:22", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -85512,10 +104487,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3037, + "id": 4643, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "32188:7:9", + "src": "32188:7:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -85524,21 +104499,21 @@ "visibility": "internal" } ], - "src": "32169:34:9" + "src": "32169:34:22" }, "returnParameters": { - "id": 3042, + "id": 4648, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3041, + "id": 4647, "mutability": "mutable", "name": "result", - "nameLocation": "32266:6:9", + "nameLocation": "32266:6:22", "nodeType": "VariableDeclaration", - "scope": 3045, - "src": "32251:21:9", + "scope": 4651, + "src": "32251:21:22", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -85546,10 +104521,10 @@ "typeString": "bytes" }, "typeName": { - "id": 3040, + "id": 4646, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "32251:5:9", + "src": "32251:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -85558,232 +104533,232 @@ "visibility": "internal" } ], - "src": "32250:23:9" + "src": "32250:23:22" }, - "scope": 3078, - "src": "32138:441:9", + "scope": 4684, + "src": "32138:441:22", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3056, + "id": 4662, "nodeType": "Block", - "src": "32826:403:9", + "src": "32826:403:22", "statements": [ { "AST": { - "nativeSrc": "32888:335:9", + "nativeSrc": "32888:335:22", "nodeType": "YulBlock", - "src": "32888:335:9", + "src": "32888:335:22", "statements": [ { - "nativeSrc": "32902:28:9", + "nativeSrc": "32902:28:22", "nodeType": "YulVariableDeclaration", - "src": "32902:28:9", + "src": "32902:28:22", "value": { "arguments": [ { "name": "a.length", - "nativeSrc": "32915:8:9", + "nativeSrc": "32915:8:22", "nodeType": "YulIdentifier", - "src": "32915:8:9" + "src": "32915:8:22" }, { "kind": "number", - "nativeSrc": "32925:4:9", + "nativeSrc": "32925:4:22", "nodeType": "YulLiteral", - "src": "32925:4:9", + "src": "32925:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "sub", - "nativeSrc": "32911:3:9", + "nativeSrc": "32911:3:22", "nodeType": "YulIdentifier", - "src": "32911:3:9" + "src": "32911:3:22" }, - "nativeSrc": "32911:19:9", + "nativeSrc": "32911:19:22", "nodeType": "YulFunctionCall", - "src": "32911:19:9" + "src": "32911:19:22" }, "variables": [ { "name": "l", - "nativeSrc": "32906:1:9", + "nativeSrc": "32906:1:22", "nodeType": "YulTypedName", - "src": "32906:1:9", + "src": "32906:1:22", "type": "" } ] }, { - "nativeSrc": "32943:44:9", + "nativeSrc": "32943:44:22", "nodeType": "YulVariableDeclaration", - "src": "32943:44:9", + "src": "32943:44:22", "value": { "arguments": [ { "arguments": [ { "name": "a.offset", - "nativeSrc": "32969:8:9", + "nativeSrc": "32969:8:22", "nodeType": "YulIdentifier", - "src": "32969:8:9" + "src": "32969:8:22" }, { "name": "offset", - "nativeSrc": "32979:6:9", + "nativeSrc": "32979:6:22", "nodeType": "YulIdentifier", - "src": "32979:6:9" + "src": "32979:6:22" } ], "functionName": { "name": "add", - "nativeSrc": "32965:3:9", + "nativeSrc": "32965:3:22", "nodeType": "YulIdentifier", - "src": "32965:3:9" + "src": "32965:3:22" }, - "nativeSrc": "32965:21:9", + "nativeSrc": "32965:21:22", "nodeType": "YulFunctionCall", - "src": "32965:21:9" + "src": "32965:21:22" } ], "functionName": { "name": "calldataload", - "nativeSrc": "32952:12:9", + "nativeSrc": "32952:12:22", "nodeType": "YulIdentifier", - "src": "32952:12:9" + "src": "32952:12:22" }, - "nativeSrc": "32952:35:9", + "nativeSrc": "32952:35:22", "nodeType": "YulFunctionCall", - "src": "32952:35:9" + "src": "32952:35:22" }, "variables": [ { "name": "s", - "nativeSrc": "32947:1:9", + "nativeSrc": "32947:1:22", "nodeType": "YulTypedName", - "src": "32947:1:9", + "src": "32947:1:22", "type": "" } ] }, { - "nativeSrc": "33048:33:9", + "nativeSrc": "33048:33:22", "nodeType": "YulAssignment", - "src": "33048:33:9", + "src": "33048:33:22", "value": { "arguments": [ { "name": "a.offset", - "nativeSrc": "33069:8:9", + "nativeSrc": "33069:8:22", "nodeType": "YulIdentifier", - "src": "33069:8:9" + "src": "33069:8:22" }, { "name": "s", - "nativeSrc": "33079:1:9", + "nativeSrc": "33079:1:22", "nodeType": "YulIdentifier", - "src": "33079:1:9" + "src": "33079:1:22" } ], "functionName": { "name": "add", - "nativeSrc": "33065:3:9", + "nativeSrc": "33065:3:22", "nodeType": "YulIdentifier", - "src": "33065:3:9" + "src": "33065:3:22" }, - "nativeSrc": "33065:16:9", + "nativeSrc": "33065:16:22", "nodeType": "YulFunctionCall", - "src": "33065:16:9" + "src": "33065:16:22" }, "variableNames": [ { "name": "result.offset", - "nativeSrc": "33048:13:9", + "nativeSrc": "33048:13:22", "nodeType": "YulIdentifier", - "src": "33048:13:9" + "src": "33048:13:22" } ] }, { - "nativeSrc": "33094:33:9", + "nativeSrc": "33094:33:22", "nodeType": "YulAssignment", - "src": "33094:33:9", + "src": "33094:33:22", "value": { "arguments": [ { "name": "a.length", - "nativeSrc": "33115:8:9", + "nativeSrc": "33115:8:22", "nodeType": "YulIdentifier", - "src": "33115:8:9" + "src": "33115:8:22" }, { "name": "s", - "nativeSrc": "33125:1:9", + "nativeSrc": "33125:1:22", "nodeType": "YulIdentifier", - "src": "33125:1:9" + "src": "33125:1:22" } ], "functionName": { "name": "sub", - "nativeSrc": "33111:3:9", + "nativeSrc": "33111:3:22", "nodeType": "YulIdentifier", - "src": "33111:3:9" + "src": "33111:3:22" }, - "nativeSrc": "33111:16:9", + "nativeSrc": "33111:16:22", "nodeType": "YulFunctionCall", - "src": "33111:16:9" + "src": "33111:16:22" }, "variableNames": [ { "name": "result.length", - "nativeSrc": "33094:13:9", + "nativeSrc": "33094:13:22", "nodeType": "YulIdentifier", - "src": "33094:13:9" + "src": "33094:13:22" } ] }, { "body": { - "nativeSrc": "33194:19:9", + "nativeSrc": "33194:19:22", "nodeType": "YulBlock", - "src": "33194:19:9", + "src": "33194:19:22", "statements": [ { "expression": { "arguments": [ { "name": "l", - "nativeSrc": "33203:1:9", + "nativeSrc": "33203:1:22", "nodeType": "YulIdentifier", - "src": "33203:1:9" + "src": "33203:1:22" }, { "kind": "number", - "nativeSrc": "33206:4:9", + "nativeSrc": "33206:4:22", "nodeType": "YulLiteral", - "src": "33206:4:9", + "src": "33206:4:22", "type": "", "value": "0x00" } ], "functionName": { "name": "revert", - "nativeSrc": "33196:6:9", + "nativeSrc": "33196:6:22", "nodeType": "YulIdentifier", - "src": "33196:6:9" + "src": "33196:6:22" }, - "nativeSrc": "33196:15:9", + "nativeSrc": "33196:15:22", "nodeType": "YulFunctionCall", - "src": "33196:15:9" + "src": "33196:15:22" }, - "nativeSrc": "33196:15:9", + "nativeSrc": "33196:15:22", "nodeType": "YulExpressionStatement", - "src": "33196:15:9" + "src": "33196:15:22" } ] }, @@ -85793,9 +104768,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "33150:2:9", + "nativeSrc": "33150:2:22", "nodeType": "YulLiteral", - "src": "33150:2:9", + "src": "33150:2:22", "type": "", "value": "64" }, @@ -85803,96 +104778,96 @@ "arguments": [ { "name": "s", - "nativeSrc": "33157:1:9", + "nativeSrc": "33157:1:22", "nodeType": "YulIdentifier", - "src": "33157:1:9" + "src": "33157:1:22" }, { "arguments": [ { "name": "l", - "nativeSrc": "33163:1:9", + "nativeSrc": "33163:1:22", "nodeType": "YulIdentifier", - "src": "33163:1:9" + "src": "33163:1:22" }, { "name": "a.offset", - "nativeSrc": "33166:8:9", + "nativeSrc": "33166:8:22", "nodeType": "YulIdentifier", - "src": "33166:8:9" + "src": "33166:8:22" } ], "functionName": { "name": "or", - "nativeSrc": "33160:2:9", + "nativeSrc": "33160:2:22", "nodeType": "YulIdentifier", - "src": "33160:2:9" + "src": "33160:2:22" }, - "nativeSrc": "33160:15:9", + "nativeSrc": "33160:15:22", "nodeType": "YulFunctionCall", - "src": "33160:15:9" + "src": "33160:15:22" } ], "functionName": { "name": "or", - "nativeSrc": "33154:2:9", + "nativeSrc": "33154:2:22", "nodeType": "YulIdentifier", - "src": "33154:2:9" + "src": "33154:2:22" }, - "nativeSrc": "33154:22:9", + "nativeSrc": "33154:22:22", "nodeType": "YulFunctionCall", - "src": "33154:22:9" + "src": "33154:22:22" } ], "functionName": { "name": "shr", - "nativeSrc": "33146:3:9", + "nativeSrc": "33146:3:22", "nodeType": "YulIdentifier", - "src": "33146:3:9" + "src": "33146:3:22" }, - "nativeSrc": "33146:31:9", + "nativeSrc": "33146:31:22", "nodeType": "YulFunctionCall", - "src": "33146:31:9" + "src": "33146:31:22" }, { "arguments": [ { "name": "offset", - "nativeSrc": "33182:6:9", + "nativeSrc": "33182:6:22", "nodeType": "YulIdentifier", - "src": "33182:6:9" + "src": "33182:6:22" }, { "name": "l", - "nativeSrc": "33190:1:9", + "nativeSrc": "33190:1:22", "nodeType": "YulIdentifier", - "src": "33190:1:9" + "src": "33190:1:22" } ], "functionName": { "name": "gt", - "nativeSrc": "33179:2:9", + "nativeSrc": "33179:2:22", "nodeType": "YulIdentifier", - "src": "33179:2:9" + "src": "33179:2:22" }, - "nativeSrc": "33179:13:9", + "nativeSrc": "33179:13:22", "nodeType": "YulFunctionCall", - "src": "33179:13:9" + "src": "33179:13:22" } ], "functionName": { "name": "or", - "nativeSrc": "33143:2:9", + "nativeSrc": "33143:2:22", "nodeType": "YulIdentifier", - "src": "33143:2:9" + "src": "33143:2:22" }, - "nativeSrc": "33143:50:9", + "nativeSrc": "33143:50:22", "nodeType": "YulFunctionCall", - "src": "33143:50:9" + "src": "33143:50:22" }, - "nativeSrc": "33140:73:9", + "nativeSrc": "33140:73:22", "nodeType": "YulIf", - "src": "33140:73:9" + "src": "33140:73:22" } ] }, @@ -85900,108 +104875,108 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3048, + "declaration": 4654, "isOffset": false, "isSlot": false, - "src": "32915:8:9", + "src": "32915:8:22", "suffix": "length", "valueSize": 1 }, { - "declaration": 3048, + "declaration": 4654, "isOffset": false, "isSlot": false, - "src": "33115:8:9", + "src": "33115:8:22", "suffix": "length", "valueSize": 1 }, { - "declaration": 3048, + "declaration": 4654, "isOffset": true, "isSlot": false, - "src": "32969:8:9", + "src": "32969:8:22", "suffix": "offset", "valueSize": 1 }, { - "declaration": 3048, + "declaration": 4654, "isOffset": true, "isSlot": false, - "src": "33069:8:9", + "src": "33069:8:22", "suffix": "offset", "valueSize": 1 }, { - "declaration": 3048, + "declaration": 4654, "isOffset": true, "isSlot": false, - "src": "33166:8:9", + "src": "33166:8:22", "suffix": "offset", "valueSize": 1 }, { - "declaration": 3050, + "declaration": 4656, "isOffset": false, "isSlot": false, - "src": "32979:6:9", + "src": "32979:6:22", "valueSize": 1 }, { - "declaration": 3050, + "declaration": 4656, "isOffset": false, "isSlot": false, - "src": "33182:6:9", + "src": "33182:6:22", "valueSize": 1 }, { - "declaration": 3053, + "declaration": 4659, "isOffset": false, "isSlot": false, - "src": "33094:13:9", + "src": "33094:13:22", "suffix": "length", "valueSize": 1 }, { - "declaration": 3053, + "declaration": 4659, "isOffset": true, "isSlot": false, - "src": "33048:13:9", + "src": "33048:13:22", "suffix": "offset", "valueSize": 1 } ], - "id": 3055, + "id": 4661, "nodeType": "InlineAssembly", - "src": "32879:344:9" + "src": "32879:344:22" } ] }, "documentation": { - "id": 3046, + "id": 4652, "nodeType": "StructuredDocumentation", - "src": "32585:95:9", + "src": "32585:95:22", "text": "@dev Returns a slice representing a dynamic struct in the calldata. Performs bounds checks." }, - "id": 3057, + "id": 4663, "implemented": true, "kind": "function", "modifiers": [], "name": "dynamicStructInCalldata", - "nameLocation": "32694:23:9", + "nameLocation": "32694:23:22", "nodeType": "FunctionDefinition", "parameters": { - "id": 3051, + "id": 4657, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3048, + "id": 4654, "mutability": "mutable", "name": "a", - "nameLocation": "32733:1:9", + "nameLocation": "32733:1:22", "nodeType": "VariableDeclaration", - "scope": 3057, - "src": "32718:16:9", + "scope": 4663, + "src": "32718:16:22", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -86009,10 +104984,10 @@ "typeString": "bytes" }, "typeName": { - "id": 3047, + "id": 4653, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "32718:5:9", + "src": "32718:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -86022,13 +104997,13 @@ }, { "constant": false, - "id": 3050, + "id": 4656, "mutability": "mutable", "name": "offset", - "nameLocation": "32744:6:9", + "nameLocation": "32744:6:22", "nodeType": "VariableDeclaration", - "scope": 3057, - "src": "32736:14:9", + "scope": 4663, + "src": "32736:14:22", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -86036,10 +105011,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3049, + "id": 4655, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "32736:7:9", + "src": "32736:7:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -86048,21 +105023,21 @@ "visibility": "internal" } ], - "src": "32717:34:9" + "src": "32717:34:22" }, "returnParameters": { - "id": 3054, + "id": 4660, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3053, + "id": 4659, "mutability": "mutable", "name": "result", - "nameLocation": "32814:6:9", + "nameLocation": "32814:6:22", "nodeType": "VariableDeclaration", - "scope": 3057, - "src": "32799:21:9", + "scope": 4663, + "src": "32799:21:22", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -86070,10 +105045,10 @@ "typeString": "bytes" }, "typeName": { - "id": 3052, + "id": 4658, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "32799:5:9", + "src": "32799:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -86082,266 +105057,266 @@ "visibility": "internal" } ], - "src": "32798:23:9" + "src": "32798:23:22" }, - "scope": 3078, - "src": "32685:544:9", + "scope": 4684, + "src": "32685:544:22", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3068, + "id": 4674, "nodeType": "Block", - "src": "33432:540:9", + "src": "33432:540:22", "statements": [ { "AST": { - "nativeSrc": "33494:472:9", + "nativeSrc": "33494:472:22", "nodeType": "YulBlock", - "src": "33494:472:9", + "src": "33494:472:22", "statements": [ { - "nativeSrc": "33508:28:9", + "nativeSrc": "33508:28:22", "nodeType": "YulVariableDeclaration", - "src": "33508:28:9", + "src": "33508:28:22", "value": { "arguments": [ { "name": "a.length", - "nativeSrc": "33521:8:9", + "nativeSrc": "33521:8:22", "nodeType": "YulIdentifier", - "src": "33521:8:9" + "src": "33521:8:22" }, { "kind": "number", - "nativeSrc": "33531:4:9", + "nativeSrc": "33531:4:22", "nodeType": "YulLiteral", - "src": "33531:4:9", + "src": "33531:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "sub", - "nativeSrc": "33517:3:9", + "nativeSrc": "33517:3:22", "nodeType": "YulIdentifier", - "src": "33517:3:9" + "src": "33517:3:22" }, - "nativeSrc": "33517:19:9", + "nativeSrc": "33517:19:22", "nodeType": "YulFunctionCall", - "src": "33517:19:9" + "src": "33517:19:22" }, "variables": [ { "name": "l", - "nativeSrc": "33512:1:9", + "nativeSrc": "33512:1:22", "nodeType": "YulTypedName", - "src": "33512:1:9", + "src": "33512:1:22", "type": "" } ] }, { - "nativeSrc": "33549:44:9", + "nativeSrc": "33549:44:22", "nodeType": "YulVariableDeclaration", - "src": "33549:44:9", + "src": "33549:44:22", "value": { "arguments": [ { "arguments": [ { "name": "a.offset", - "nativeSrc": "33575:8:9", + "nativeSrc": "33575:8:22", "nodeType": "YulIdentifier", - "src": "33575:8:9" + "src": "33575:8:22" }, { "name": "offset", - "nativeSrc": "33585:6:9", + "nativeSrc": "33585:6:22", "nodeType": "YulIdentifier", - "src": "33585:6:9" + "src": "33585:6:22" } ], "functionName": { "name": "add", - "nativeSrc": "33571:3:9", + "nativeSrc": "33571:3:22", "nodeType": "YulIdentifier", - "src": "33571:3:9" + "src": "33571:3:22" }, - "nativeSrc": "33571:21:9", + "nativeSrc": "33571:21:22", "nodeType": "YulFunctionCall", - "src": "33571:21:9" + "src": "33571:21:22" } ], "functionName": { "name": "calldataload", - "nativeSrc": "33558:12:9", + "nativeSrc": "33558:12:22", "nodeType": "YulIdentifier", - "src": "33558:12:9" + "src": "33558:12:22" }, - "nativeSrc": "33558:35:9", + "nativeSrc": "33558:35:22", "nodeType": "YulFunctionCall", - "src": "33558:35:9" + "src": "33558:35:22" }, "variables": [ { "name": "s", - "nativeSrc": "33553:1:9", + "nativeSrc": "33553:1:22", "nodeType": "YulTypedName", - "src": "33553:1:9", + "src": "33553:1:22", "type": "" } ] }, { - "nativeSrc": "33654:44:9", + "nativeSrc": "33654:44:22", "nodeType": "YulAssignment", - "src": "33654:44:9", + "src": "33654:44:22", "value": { "arguments": [ { "arguments": [ { "name": "a.offset", - "nativeSrc": "33679:8:9", + "nativeSrc": "33679:8:22", "nodeType": "YulIdentifier", - "src": "33679:8:9" + "src": "33679:8:22" }, { "name": "s", - "nativeSrc": "33689:1:9", + "nativeSrc": "33689:1:22", "nodeType": "YulIdentifier", - "src": "33689:1:9" + "src": "33689:1:22" } ], "functionName": { "name": "add", - "nativeSrc": "33675:3:9", + "nativeSrc": "33675:3:22", "nodeType": "YulIdentifier", - "src": "33675:3:9" + "src": "33675:3:22" }, - "nativeSrc": "33675:16:9", + "nativeSrc": "33675:16:22", "nodeType": "YulFunctionCall", - "src": "33675:16:9" + "src": "33675:16:22" }, { "kind": "number", - "nativeSrc": "33693:4:9", + "nativeSrc": "33693:4:22", "nodeType": "YulLiteral", - "src": "33693:4:9", + "src": "33693:4:22", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "33671:3:9", + "nativeSrc": "33671:3:22", "nodeType": "YulIdentifier", - "src": "33671:3:9" + "src": "33671:3:22" }, - "nativeSrc": "33671:27:9", + "nativeSrc": "33671:27:22", "nodeType": "YulFunctionCall", - "src": "33671:27:9" + "src": "33671:27:22" }, "variableNames": [ { "name": "result.offset", - "nativeSrc": "33654:13:9", + "nativeSrc": "33654:13:22", "nodeType": "YulIdentifier", - "src": "33654:13:9" + "src": "33654:13:22" } ] }, { - "nativeSrc": "33711:47:9", + "nativeSrc": "33711:47:22", "nodeType": "YulAssignment", - "src": "33711:47:9", + "src": "33711:47:22", "value": { "arguments": [ { "arguments": [ { "name": "a.offset", - "nativeSrc": "33745:8:9", + "nativeSrc": "33745:8:22", "nodeType": "YulIdentifier", - "src": "33745:8:9" + "src": "33745:8:22" }, { "name": "s", - "nativeSrc": "33755:1:9", + "nativeSrc": "33755:1:22", "nodeType": "YulIdentifier", - "src": "33755:1:9" + "src": "33755:1:22" } ], "functionName": { "name": "add", - "nativeSrc": "33741:3:9", + "nativeSrc": "33741:3:22", "nodeType": "YulIdentifier", - "src": "33741:3:9" + "src": "33741:3:22" }, - "nativeSrc": "33741:16:9", + "nativeSrc": "33741:16:22", "nodeType": "YulFunctionCall", - "src": "33741:16:9" + "src": "33741:16:22" } ], "functionName": { "name": "calldataload", - "nativeSrc": "33728:12:9", + "nativeSrc": "33728:12:22", "nodeType": "YulIdentifier", - "src": "33728:12:9" + "src": "33728:12:22" }, - "nativeSrc": "33728:30:9", + "nativeSrc": "33728:30:22", "nodeType": "YulFunctionCall", - "src": "33728:30:9" + "src": "33728:30:22" }, "variableNames": [ { "name": "result.length", - "nativeSrc": "33711:13:9", + "nativeSrc": "33711:13:22", "nodeType": "YulIdentifier", - "src": "33711:13:9" + "src": "33711:13:22" } ] }, { "body": { - "nativeSrc": "33937:19:9", + "nativeSrc": "33937:19:22", "nodeType": "YulBlock", - "src": "33937:19:9", + "src": "33937:19:22", "statements": [ { "expression": { "arguments": [ { "name": "l", - "nativeSrc": "33946:1:9", + "nativeSrc": "33946:1:22", "nodeType": "YulIdentifier", - "src": "33946:1:9" + "src": "33946:1:22" }, { "kind": "number", - "nativeSrc": "33949:4:9", + "nativeSrc": "33949:4:22", "nodeType": "YulLiteral", - "src": "33949:4:9", + "src": "33949:4:22", "type": "", "value": "0x00" } ], "functionName": { "name": "revert", - "nativeSrc": "33939:6:9", + "nativeSrc": "33939:6:22", "nodeType": "YulIdentifier", - "src": "33939:6:9" + "src": "33939:6:22" }, - "nativeSrc": "33939:15:9", + "nativeSrc": "33939:15:22", "nodeType": "YulFunctionCall", - "src": "33939:15:9" + "src": "33939:15:22" }, - "nativeSrc": "33939:15:9", + "nativeSrc": "33939:15:22", "nodeType": "YulExpressionStatement", - "src": "33939:15:9" + "src": "33939:15:22" } ] }, @@ -86351,9 +105326,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "33824:2:9", + "nativeSrc": "33824:2:22", "nodeType": "YulLiteral", - "src": "33824:2:9", + "src": "33824:2:22", "type": "", "value": "64" }, @@ -86361,75 +105336,75 @@ "arguments": [ { "name": "result.length", - "nativeSrc": "33831:13:9", + "nativeSrc": "33831:13:22", "nodeType": "YulIdentifier", - "src": "33831:13:9" + "src": "33831:13:22" }, { "arguments": [ { "name": "s", - "nativeSrc": "33849:1:9", + "nativeSrc": "33849:1:22", "nodeType": "YulIdentifier", - "src": "33849:1:9" + "src": "33849:1:22" }, { "arguments": [ { "name": "l", - "nativeSrc": "33855:1:9", + "nativeSrc": "33855:1:22", "nodeType": "YulIdentifier", - "src": "33855:1:9" + "src": "33855:1:22" }, { "name": "a.offset", - "nativeSrc": "33858:8:9", + "nativeSrc": "33858:8:22", "nodeType": "YulIdentifier", - "src": "33858:8:9" + "src": "33858:8:22" } ], "functionName": { "name": "or", - "nativeSrc": "33852:2:9", + "nativeSrc": "33852:2:22", "nodeType": "YulIdentifier", - "src": "33852:2:9" + "src": "33852:2:22" }, - "nativeSrc": "33852:15:9", + "nativeSrc": "33852:15:22", "nodeType": "YulFunctionCall", - "src": "33852:15:9" + "src": "33852:15:22" } ], "functionName": { "name": "or", - "nativeSrc": "33846:2:9", + "nativeSrc": "33846:2:22", "nodeType": "YulIdentifier", - "src": "33846:2:9" + "src": "33846:2:22" }, - "nativeSrc": "33846:22:9", + "nativeSrc": "33846:22:22", "nodeType": "YulFunctionCall", - "src": "33846:22:9" + "src": "33846:22:22" } ], "functionName": { "name": "or", - "nativeSrc": "33828:2:9", + "nativeSrc": "33828:2:22", "nodeType": "YulIdentifier", - "src": "33828:2:9" + "src": "33828:2:22" }, - "nativeSrc": "33828:41:9", + "nativeSrc": "33828:41:22", "nodeType": "YulFunctionCall", - "src": "33828:41:9" + "src": "33828:41:22" } ], "functionName": { "name": "shr", - "nativeSrc": "33820:3:9", + "nativeSrc": "33820:3:22", "nodeType": "YulIdentifier", - "src": "33820:3:9" + "src": "33820:3:22" }, - "nativeSrc": "33820:50:9", + "nativeSrc": "33820:50:22", "nodeType": "YulFunctionCall", - "src": "33820:50:9" + "src": "33820:50:22" }, { "arguments": [ @@ -86439,94 +105414,94 @@ "arguments": [ { "name": "s", - "nativeSrc": "33898:1:9", + "nativeSrc": "33898:1:22", "nodeType": "YulIdentifier", - "src": "33898:1:9" + "src": "33898:1:22" }, { "name": "result.length", - "nativeSrc": "33901:13:9", + "nativeSrc": "33901:13:22", "nodeType": "YulIdentifier", - "src": "33901:13:9" + "src": "33901:13:22" } ], "functionName": { "name": "add", - "nativeSrc": "33894:3:9", + "nativeSrc": "33894:3:22", "nodeType": "YulIdentifier", - "src": "33894:3:9" + "src": "33894:3:22" }, - "nativeSrc": "33894:21:9", + "nativeSrc": "33894:21:22", "nodeType": "YulFunctionCall", - "src": "33894:21:9" + "src": "33894:21:22" }, { "name": "l", - "nativeSrc": "33917:1:9", + "nativeSrc": "33917:1:22", "nodeType": "YulIdentifier", - "src": "33917:1:9" + "src": "33917:1:22" } ], "functionName": { "name": "gt", - "nativeSrc": "33891:2:9", + "nativeSrc": "33891:2:22", "nodeType": "YulIdentifier", - "src": "33891:2:9" + "src": "33891:2:22" }, - "nativeSrc": "33891:28:9", + "nativeSrc": "33891:28:22", "nodeType": "YulFunctionCall", - "src": "33891:28:9" + "src": "33891:28:22" }, { "arguments": [ { "name": "offset", - "nativeSrc": "33924:6:9", + "nativeSrc": "33924:6:22", "nodeType": "YulIdentifier", - "src": "33924:6:9" + "src": "33924:6:22" }, { "name": "l", - "nativeSrc": "33932:1:9", + "nativeSrc": "33932:1:22", "nodeType": "YulIdentifier", - "src": "33932:1:9" + "src": "33932:1:22" } ], "functionName": { "name": "gt", - "nativeSrc": "33921:2:9", + "nativeSrc": "33921:2:22", "nodeType": "YulIdentifier", - "src": "33921:2:9" + "src": "33921:2:22" }, - "nativeSrc": "33921:13:9", + "nativeSrc": "33921:13:22", "nodeType": "YulFunctionCall", - "src": "33921:13:9" + "src": "33921:13:22" } ], "functionName": { "name": "or", - "nativeSrc": "33888:2:9", + "nativeSrc": "33888:2:22", "nodeType": "YulIdentifier", - "src": "33888:2:9" + "src": "33888:2:22" }, - "nativeSrc": "33888:47:9", + "nativeSrc": "33888:47:22", "nodeType": "YulFunctionCall", - "src": "33888:47:9" + "src": "33888:47:22" } ], "functionName": { "name": "or", - "nativeSrc": "33817:2:9", + "nativeSrc": "33817:2:22", "nodeType": "YulIdentifier", - "src": "33817:2:9" + "src": "33817:2:22" }, - "nativeSrc": "33817:119:9", + "nativeSrc": "33817:119:22", "nodeType": "YulFunctionCall", - "src": "33817:119:9" + "src": "33817:119:22" }, - "nativeSrc": "33814:142:9", + "nativeSrc": "33814:142:22", "nodeType": "YulIf", - "src": "33814:142:9" + "src": "33814:142:22" } ] }, @@ -86534,124 +105509,124 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3060, + "declaration": 4666, "isOffset": false, "isSlot": false, - "src": "33521:8:9", + "src": "33521:8:22", "suffix": "length", "valueSize": 1 }, { - "declaration": 3060, + "declaration": 4666, "isOffset": true, "isSlot": false, - "src": "33575:8:9", + "src": "33575:8:22", "suffix": "offset", "valueSize": 1 }, { - "declaration": 3060, + "declaration": 4666, "isOffset": true, "isSlot": false, - "src": "33679:8:9", + "src": "33679:8:22", "suffix": "offset", "valueSize": 1 }, { - "declaration": 3060, + "declaration": 4666, "isOffset": true, "isSlot": false, - "src": "33745:8:9", + "src": "33745:8:22", "suffix": "offset", "valueSize": 1 }, { - "declaration": 3060, + "declaration": 4666, "isOffset": true, "isSlot": false, - "src": "33858:8:9", + "src": "33858:8:22", "suffix": "offset", "valueSize": 1 }, { - "declaration": 3062, + "declaration": 4668, "isOffset": false, "isSlot": false, - "src": "33585:6:9", + "src": "33585:6:22", "valueSize": 1 }, { - "declaration": 3062, + "declaration": 4668, "isOffset": false, "isSlot": false, - "src": "33924:6:9", + "src": "33924:6:22", "valueSize": 1 }, { - "declaration": 3065, + "declaration": 4671, "isOffset": false, "isSlot": false, - "src": "33711:13:9", + "src": "33711:13:22", "suffix": "length", "valueSize": 1 }, { - "declaration": 3065, + "declaration": 4671, "isOffset": false, "isSlot": false, - "src": "33831:13:9", + "src": "33831:13:22", "suffix": "length", "valueSize": 1 }, { - "declaration": 3065, + "declaration": 4671, "isOffset": false, "isSlot": false, - "src": "33901:13:9", + "src": "33901:13:22", "suffix": "length", "valueSize": 1 }, { - "declaration": 3065, + "declaration": 4671, "isOffset": true, "isSlot": false, - "src": "33654:13:9", + "src": "33654:13:22", "suffix": "offset", "valueSize": 1 } ], - "id": 3067, + "id": 4673, "nodeType": "InlineAssembly", - "src": "33485:481:9" + "src": "33485:481:22" } ] }, "documentation": { - "id": 3058, + "id": 4664, "nodeType": "StructuredDocumentation", - "src": "33235:59:9", + "src": "33235:59:22", "text": "@dev Returns bytes in calldata. Performs bounds checks." }, - "id": 3069, + "id": 4675, "implemented": true, "kind": "function", "modifiers": [], "name": "bytesInCalldata", - "nameLocation": "33308:15:9", + "nameLocation": "33308:15:22", "nodeType": "FunctionDefinition", "parameters": { - "id": 3063, + "id": 4669, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3060, + "id": 4666, "mutability": "mutable", "name": "a", - "nameLocation": "33339:1:9", + "nameLocation": "33339:1:22", "nodeType": "VariableDeclaration", - "scope": 3069, - "src": "33324:16:9", + "scope": 4675, + "src": "33324:16:22", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -86659,10 +105634,10 @@ "typeString": "bytes" }, "typeName": { - "id": 3059, + "id": 4665, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "33324:5:9", + "src": "33324:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -86672,13 +105647,13 @@ }, { "constant": false, - "id": 3062, + "id": 4668, "mutability": "mutable", "name": "offset", - "nameLocation": "33350:6:9", + "nameLocation": "33350:6:22", "nodeType": "VariableDeclaration", - "scope": 3069, - "src": "33342:14:9", + "scope": 4675, + "src": "33342:14:22", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -86686,10 +105661,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3061, + "id": 4667, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "33342:7:9", + "src": "33342:7:22", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -86698,21 +105673,21 @@ "visibility": "internal" } ], - "src": "33323:34:9" + "src": "33323:34:22" }, "returnParameters": { - "id": 3066, + "id": 4672, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3065, + "id": 4671, "mutability": "mutable", "name": "result", - "nameLocation": "33420:6:9", + "nameLocation": "33420:6:22", "nodeType": "VariableDeclaration", - "scope": 3069, - "src": "33405:21:9", + "scope": 4675, + "src": "33405:21:22", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -86720,10 +105695,10 @@ "typeString": "bytes" }, "typeName": { - "id": 3064, + "id": 4670, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "33405:5:9", + "src": "33405:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -86732,44 +105707,44 @@ "visibility": "internal" } ], - "src": "33404:23:9" + "src": "33404:23:22" }, - "scope": 3078, - "src": "33299:673:9", + "scope": 4684, + "src": "33299:673:22", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3076, + "id": 4682, "nodeType": "Block", - "src": "34120:110:9", + "src": "34120:110:22", "statements": [ { "AST": { - "nativeSrc": "34182:42:9", + "nativeSrc": "34182:42:22", "nodeType": "YulBlock", - "src": "34182:42:9", + "src": "34182:42:22", "statements": [ { - "nativeSrc": "34196:18:9", + "nativeSrc": "34196:18:22", "nodeType": "YulAssignment", - "src": "34196:18:9", + "src": "34196:18:22", "value": { "kind": "number", - "nativeSrc": "34213:1:9", + "nativeSrc": "34213:1:22", "nodeType": "YulLiteral", - "src": "34213:1:9", + "src": "34213:1:22", "type": "", "value": "0" }, "variableNames": [ { "name": "result.length", - "nativeSrc": "34196:13:9", + "nativeSrc": "34196:13:22", "nodeType": "YulIdentifier", - "src": "34196:13:9" + "src": "34196:13:22" } ] } @@ -86779,52 +105754,52 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3073, + "declaration": 4679, "isOffset": false, "isSlot": false, - "src": "34196:13:9", + "src": "34196:13:22", "suffix": "length", "valueSize": 1 } ], - "id": 3075, + "id": 4681, "nodeType": "InlineAssembly", - "src": "34173:51:9" + "src": "34173:51:22" } ] }, "documentation": { - "id": 3070, + "id": 4676, "nodeType": "StructuredDocumentation", - "src": "33978:66:9", + "src": "33978:66:22", "text": "@dev Returns empty calldata bytes. For silencing the compiler." }, - "id": 3077, + "id": 4683, "implemented": true, "kind": "function", "modifiers": [], "name": "emptyCalldata", - "nameLocation": "34058:13:9", + "nameLocation": "34058:13:22", "nodeType": "FunctionDefinition", "parameters": { - "id": 3071, + "id": 4677, "nodeType": "ParameterList", "parameters": [], - "src": "34071:2:9" + "src": "34071:2:22" }, "returnParameters": { - "id": 3074, + "id": 4680, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3073, + "id": 4679, "mutability": "mutable", "name": "result", - "nameLocation": "34112:6:9", + "nameLocation": "34112:6:22", "nodeType": "VariableDeclaration", - "scope": 3077, - "src": "34097:21:9", + "scope": 4683, + "src": "34097:21:22", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -86832,10 +105807,10 @@ "typeString": "bytes" }, "typeName": { - "id": 3072, + "id": 4678, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "34097:5:9", + "src": "34097:5:22", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -86844,39 +105819,39 @@ "visibility": "internal" } ], - "src": "34096:23:9" + "src": "34096:23:22" }, - "scope": 3078, - "src": "34049:181:9", + "scope": 4684, + "src": "34049:181:22", "stateMutability": "pure", "virtual": false, "visibility": "internal" } ], - "scope": 3079, - "src": "197:34035:9", + "scope": 4685, + "src": "197:34035:22", "usedErrors": [], "usedEvents": [] } ], - "src": "32:34201:9" + "src": "32:34201:22" }, - "id": 9 + "id": 22 }, "solady/utils/LibClone.sol": { "ast": { "absolutePath": "solady/utils/LibClone.sol", "exportedSymbols": { "LibClone": [ - 5093 + 6699 ] }, - "id": 5094, + "id": 6700, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 3080, + "id": 4686, "literals": [ "solidity", "^", @@ -86884,7 +105859,7 @@ ".4" ], "nodeType": "PragmaDirective", - "src": "32:23:10" + "src": "32:23:23" }, { "abstract": false, @@ -86893,35 +105868,35 @@ "contractDependencies": [], "contractKind": "library", "documentation": { - "id": 3081, + "id": 4687, "nodeType": "StructuredDocumentation", - "src": "57:3699:10", + "src": "57:3699:23", "text": "@notice Minimal proxy library.\n @author Solady (https://github.com/vectorized/solady/blob/main/src/utils/LibClone.sol)\n @author Minimal proxy by 0age (https://github.com/0age)\n @author Clones with immutable args by wighawag, zefram.eth, Saw-mon & Natalie\n (https://github.com/Saw-mon-and-Natalie/clones-with-immutable-args)\n @author Minimal ERC1967 proxy by jtriley-eth (https://github.com/jtriley-eth/minimum-viable-proxy)\n @dev Minimal proxy:\n Although the sw0nt pattern saves 5 gas over the ERC1167 pattern during runtime,\n it is not supported out-of-the-box on Etherscan. Hence, we choose to use the 0age pattern,\n which saves 4 gas over the ERC1167 pattern during runtime, and has the smallest bytecode.\n - Automatically verified on Etherscan.\n @dev Minimal proxy (PUSH0 variant):\n This is a new minimal proxy that uses the PUSH0 opcode introduced during Shanghai.\n It is optimized first for minimal runtime gas, then for minimal bytecode.\n The PUSH0 clone functions are intentionally postfixed with a jarring \"_PUSH0\" as\n many EVM chains may not support the PUSH0 opcode in the early months after Shanghai.\n Please use with caution.\n - Automatically verified on Etherscan.\n @dev Clones with immutable args (CWIA):\n The implementation of CWIA here does NOT append the immutable args into the calldata\n passed into delegatecall. It is simply an ERC1167 minimal proxy with the immutable arguments\n appended to the back of the runtime bytecode.\n - Uses the identity precompile (0x4) to copy args during deployment.\n @dev Minimal ERC1967 proxy:\n A minimal ERC1967 proxy, intended to be upgraded with UUPS.\n This is NOT the same as ERC1967Factory's transparent proxy, which includes admin logic.\n - Automatically verified on Etherscan.\n @dev Minimal ERC1967 proxy with immutable args:\n - Uses the identity precompile (0x4) to copy args during deployment.\n - Automatically verified on Etherscan.\n @dev ERC1967I proxy:\n A variant of the minimal ERC1967 proxy, with a special code path that activates\n if `calldatasize() == 1`. This code path skips the delegatecall and directly returns the\n `implementation` address. The returned implementation is guaranteed to be valid if the\n keccak256 of the proxy's code is equal to `ERC1967I_CODE_HASH`.\n @dev ERC1967I proxy with immutable args:\n A variant of the minimal ERC1967 proxy, with a special code path that activates\n if `calldatasize() == 1`. This code path skips the delegatecall and directly returns the\n - Uses the identity precompile (0x4) to copy args during deployment.\n @dev Minimal ERC1967 beacon proxy:\n A minimal beacon proxy, intended to be upgraded with an upgradable beacon.\n - Automatically verified on Etherscan.\n @dev Minimal ERC1967 beacon proxy with immutable args:\n - Uses the identity precompile (0x4) to copy args during deployment.\n - Automatically verified on Etherscan.\n @dev ERC1967I beacon proxy:\n A variant of the minimal ERC1967 beacon proxy, with a special code path that activates\n if `calldatasize() == 1`. This code path skips the delegatecall and directly returns the\n `implementation` address. The returned implementation is guaranteed to be valid if the\n keccak256 of the proxy's code is equal to `ERC1967I_CODE_HASH`.\n @dev ERC1967I proxy with immutable args:\n A variant of the minimal ERC1967 beacon proxy, with a special code path that activates\n if `calldatasize() == 1`. This code path skips the delegatecall and directly returns the\n - Uses the identity precompile (0x4) to copy args during deployment." }, "fullyImplemented": true, - "id": 5093, + "id": 6699, "linearizedBaseContracts": [ - 5093 + 6699 ], "name": "LibClone", - "nameLocation": "3764:8:10", + "nameLocation": "3764:8:23", "nodeType": "ContractDefinition", "nodes": [ { "constant": true, "documentation": { - "id": 3082, + "id": 4688, "nodeType": "StructuredDocumentation", - "src": "4062:113:10", + "src": "4062:113:23", "text": "@dev The keccak256 of deployed code for the clone proxy,\n with the implementation set to `address(0)`." }, - "id": 3085, + "id": 4691, "mutability": "constant", "name": "CLONE_CODE_HASH", - "nameLocation": "4206:15:10", + "nameLocation": "4206:15:23", "nodeType": "VariableDeclaration", - "scope": 5093, - "src": "4180:118:10", + "scope": 6699, + "src": "4180:118:23", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -86929,10 +105904,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 3083, + "id": 4689, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "4180:7:10", + "src": "4180:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -86940,14 +105915,14 @@ }, "value": { "hexValue": "307834386462326366646232383533666365306234363466316639336131393936343639343539646633616236633831323130363037346334313036613165623166", - "id": 3084, + "id": 4690, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4232:66:10", + "src": "4232:66:23", "typeDescriptions": { "typeIdentifier": "t_rational_32953775121687815178966905492285762856483655534839352964685488268574961298207_by_1", "typeString": "int_const 3295...(69 digits omitted)...8207" @@ -86959,18 +105934,18 @@ { "constant": true, "documentation": { - "id": 3086, + "id": 4692, "nodeType": "StructuredDocumentation", - "src": "4305:113:10", + "src": "4305:113:23", "text": "@dev The keccak256 of deployed code for the PUSH0 proxy,\n with the implementation set to `address(0)`." }, - "id": 3089, + "id": 4695, "mutability": "constant", "name": "PUSH0_CLONE_CODE_HASH", - "nameLocation": "4449:21:10", + "nameLocation": "4449:21:23", "nodeType": "VariableDeclaration", - "scope": 5093, - "src": "4423:124:10", + "scope": 6699, + "src": "4423:124:23", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -86978,10 +105953,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 3087, + "id": 4693, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "4423:7:10", + "src": "4423:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -86989,14 +105964,14 @@ }, "value": { "hexValue": "307836376263366264653162383464363665323637633731386261343463663339323861363135643239383835353337393535636234336434346233653738396463", - "id": 3088, + "id": 4694, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4481:66:10", + "src": "4481:66:23", "typeDescriptions": { "typeIdentifier": "t_rational_46921135127120119055790321133066561721794295594222880073092654593624563485148_by_1", "typeString": "int_const 4692...(69 digits omitted)...5148" @@ -87008,18 +105983,18 @@ { "constant": true, "documentation": { - "id": 3090, + "id": 4696, "nodeType": "StructuredDocumentation", - "src": "4554:121:10", + "src": "4554:121:23", "text": "@dev The keccak256 of deployed code for the ERC-1167 CWIA proxy,\n with the implementation set to `address(0)`." }, - "id": 3093, + "id": 4699, "mutability": "constant", "name": "CWIA_CODE_HASH", - "nameLocation": "4706:14:10", + "nameLocation": "4706:14:23", "nodeType": "VariableDeclaration", - "scope": 5093, - "src": "4680:117:10", + "scope": 6699, + "src": "4680:117:23", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -87027,10 +106002,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 3091, + "id": 4697, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "4680:7:10", + "src": "4680:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -87038,14 +106013,14 @@ }, "value": { "hexValue": "307833636639323436343236383232356134353133646134306133346439363733353436383463333263643065646436376235663636386466653335353065393430", - "id": 3092, + "id": 4698, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4731:66:10", + "src": "4731:66:23", "typeDescriptions": { "typeIdentifier": "t_rational_27578966997044358645488470518768744668637152609449014031475063678064313559360_by_1", "typeString": "int_const 2757...(69 digits omitted)...9360" @@ -87057,18 +106032,18 @@ { "constant": true, "documentation": { - "id": 3094, + "id": 4700, "nodeType": "StructuredDocumentation", - "src": "4804:66:10", + "src": "4804:66:23", "text": "@dev The keccak256 of the deployed code for the ERC1967 proxy." }, - "id": 3097, + "id": 4703, "mutability": "constant", "name": "ERC1967_CODE_HASH", - "nameLocation": "4901:17:10", + "nameLocation": "4901:17:23", "nodeType": "VariableDeclaration", - "scope": 5093, - "src": "4875:120:10", + "scope": 6699, + "src": "4875:120:23", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -87076,10 +106051,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 3095, + "id": 4701, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "4875:7:10", + "src": "4875:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -87087,14 +106062,14 @@ }, "value": { "hexValue": "307861616135326338636338613065336664323763653735366363366234653730633531343233653962353937623131663332643365343966386231666338393064", - "id": 3096, + "id": 4702, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4929:66:10", + "src": "4929:66:23", "typeDescriptions": { "typeIdentifier": "t_rational_77185021497204156503765693158949628883174901464818108677459927010977630685453_by_1", "typeString": "int_const 7718...(69 digits omitted)...5453" @@ -87106,18 +106081,18 @@ { "constant": true, "documentation": { - "id": 3098, + "id": 4704, "nodeType": "StructuredDocumentation", - "src": "5002:67:10", + "src": "5002:67:23", "text": "@dev The keccak256 of the deployed code for the ERC1967I proxy." }, - "id": 3101, + "id": 4707, "mutability": "constant", "name": "ERC1967I_CODE_HASH", - "nameLocation": "5100:18:10", + "nameLocation": "5100:18:23", "nodeType": "VariableDeclaration", - "scope": 5093, - "src": "5074:121:10", + "scope": 6699, + "src": "5074:121:23", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -87125,10 +106100,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 3099, + "id": 4705, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "5074:7:10", + "src": "5074:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -87136,14 +106111,14 @@ }, "value": { "hexValue": "307863653730303232336330643463656134353833343039616363666334356164616334613039336233353139393938613963626265313530346461646261366637", - "id": 3100, + "id": 4706, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5129:66:10", + "src": "5129:66:23", "typeDescriptions": { "typeIdentifier": "t_rational_93374348446806385783963617675677071552231539524766885499178152025851048994551_by_1", "typeString": "int_const 9337...(69 digits omitted)...4551" @@ -87155,18 +106130,18 @@ { "constant": true, "documentation": { - "id": 3102, + "id": 4708, "nodeType": "StructuredDocumentation", - "src": "5202:73:10", + "src": "5202:73:23", "text": "@dev The keccak256 of the deployed code for the ERC1967 beacon proxy." }, - "id": 3105, + "id": 4711, "mutability": "constant", "name": "ERC1967_BEACON_PROXY_CODE_HASH", - "nameLocation": "5306:30:10", + "nameLocation": "5306:30:23", "nodeType": "VariableDeclaration", - "scope": 5093, - "src": "5280:133:10", + "scope": 6699, + "src": "5280:133:23", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -87174,10 +106149,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 3103, + "id": 4709, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "5280:7:10", + "src": "5280:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -87185,14 +106160,14 @@ }, "value": { "hexValue": "307831343034343435396166313762633466306635616132663635386362363932616464373764313330326332396665326165626162303035656561396431313632", - "id": 3104, + "id": 4710, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5347:66:10", + "src": "5347:66:23", "typeDescriptions": { "typeIdentifier": "t_rational_9053796096550691733351246263824737728846953073129913053479247112142852002146_by_1", "typeString": "int_const 9053...(68 digits omitted)...2146" @@ -87204,18 +106179,18 @@ { "constant": true, "documentation": { - "id": 3106, + "id": 4712, "nodeType": "StructuredDocumentation", - "src": "5420:73:10", + "src": "5420:73:23", "text": "@dev The keccak256 of the deployed code for the ERC1967 beacon proxy." }, - "id": 3109, + "id": 4715, "mutability": "constant", "name": "ERC1967I_BEACON_PROXY_CODE_HASH", - "nameLocation": "5524:31:10", + "nameLocation": "5524:31:23", "nodeType": "VariableDeclaration", - "scope": 5093, - "src": "5498:134:10", + "scope": 6699, + "src": "5498:134:23", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -87223,10 +106198,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 3107, + "id": 4713, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "5498:7:10", + "src": "5498:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -87234,14 +106209,14 @@ }, "value": { "hexValue": "307866386334366432373933643561613938346562383237616561626134623633616564636162383031313932313266636538323733303937383837333535313961", - "id": 3108, + "id": 4714, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5566:66:10", + "src": "5566:66:23", "typeDescriptions": { "typeIdentifier": "t_rational_112520641830705151963982941871809749409489933969190717264161230730867152081306_by_1", "typeString": "int_const 1125...(70 digits omitted)...1306" @@ -87252,84 +106227,84 @@ }, { "documentation": { - "id": 3110, + "id": 4716, "nodeType": "StructuredDocumentation", - "src": "5922:36:10", + "src": "5922:36:23", "text": "@dev Unable to deploy the clone." }, "errorSelector": "30116425", - "id": 3112, + "id": 4718, "name": "DeploymentFailed", - "nameLocation": "5969:16:10", + "nameLocation": "5969:16:23", "nodeType": "ErrorDefinition", "parameters": { - "id": 3111, + "id": 4717, "nodeType": "ParameterList", "parameters": [], - "src": "5985:2:10" + "src": "5985:2:23" }, - "src": "5963:25:10" + "src": "5963:25:23" }, { "documentation": { - "id": 3113, + "id": 4719, "nodeType": "StructuredDocumentation", - "src": "5994:66:10", + "src": "5994:66:23", "text": "@dev The salt must start with either the zero address or `by`." }, "errorSelector": "0c4549ef", - "id": 3115, + "id": 4721, "name": "SaltDoesNotStartWith", - "nameLocation": "6071:20:10", + "nameLocation": "6071:20:23", "nodeType": "ErrorDefinition", "parameters": { - "id": 3114, + "id": 4720, "nodeType": "ParameterList", "parameters": [], - "src": "6091:2:10" + "src": "6091:2:23" }, - "src": "6065:29:10" + "src": "6065:29:23" }, { "documentation": { - "id": 3116, + "id": 4722, "nodeType": "StructuredDocumentation", - "src": "6100:37:10", + "src": "6100:37:23", "text": "@dev The ETH transfer has failed." }, "errorSelector": "b12d13eb", - "id": 3118, + "id": 4724, "name": "ETHTransferFailed", - "nameLocation": "6148:17:10", + "nameLocation": "6148:17:23", "nodeType": "ErrorDefinition", "parameters": { - "id": 3117, + "id": 4723, "nodeType": "ParameterList", "parameters": [], - "src": "6165:2:10" + "src": "6165:2:23" }, - "src": "6142:26:10" + "src": "6142:26:23" }, { "body": { - "id": 3133, + "id": 4739, "nodeType": "Block", - "src": "6582:52:10", + "src": "6582:52:23", "statements": [ { "expression": { - "id": 3131, + "id": 4737, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 3126, + "id": 4732, "name": "instance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3124, - "src": "6592:8:10", + "referencedDeclaration": 4730, + "src": "6592:8:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -87341,14 +106316,14 @@ "arguments": [ { "hexValue": "30", - "id": 3128, + "id": 4734, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6609:1:10", + "src": "6609:1:23", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -87356,12 +106331,12 @@ "value": "0" }, { - "id": 3129, + "id": 4735, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3121, - "src": "6612:14:10", + "referencedDeclaration": 4727, + "src": "6612:14:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -87379,23 +106354,23 @@ "typeString": "address" } ], - "id": 3127, + "id": 4733, "name": "clone", "nodeType": "Identifier", "overloadedDeclarations": [ - 3134, - 3146, - 3353, - 3367 + 4740, + 4752, + 4959, + 4973 ], - "referencedDeclaration": 3146, - "src": "6603:5:10", + "referencedDeclaration": 4752, + "src": "6603:5:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$returns$_t_address_$", "typeString": "function (uint256,address) returns (address)" } }, - "id": 3130, + "id": 4736, "isConstant": false, "isLValue": false, "isPure": false, @@ -87404,51 +106379,51 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "6603:24:10", + "src": "6603:24:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "6592:35:10", + "src": "6592:35:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 3132, + "id": 4738, "nodeType": "ExpressionStatement", - "src": "6592:35:10" + "src": "6592:35:23" } ] }, "documentation": { - "id": 3119, + "id": 4725, "nodeType": "StructuredDocumentation", - "src": "6457:45:10", + "src": "6457:45:23", "text": "@dev Deploys a clone of `implementation`." }, - "id": 3134, + "id": 4740, "implemented": true, "kind": "function", "modifiers": [], "name": "clone", - "nameLocation": "6516:5:10", + "nameLocation": "6516:5:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3122, + "id": 4728, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3121, + "id": 4727, "mutability": "mutable", "name": "implementation", - "nameLocation": "6530:14:10", + "nameLocation": "6530:14:23", "nodeType": "VariableDeclaration", - "scope": 3134, - "src": "6522:22:10", + "scope": 4740, + "src": "6522:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -87456,10 +106431,10 @@ "typeString": "address" }, "typeName": { - "id": 3120, + "id": 4726, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6522:7:10", + "src": "6522:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -87469,21 +106444,21 @@ "visibility": "internal" } ], - "src": "6521:24:10" + "src": "6521:24:23" }, "returnParameters": { - "id": 3125, + "id": 4731, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3124, + "id": 4730, "mutability": "mutable", "name": "instance", - "nameLocation": "6572:8:10", + "nameLocation": "6572:8:23", "nodeType": "VariableDeclaration", - "scope": 3134, - "src": "6564:16:10", + "scope": 4740, + "src": "6564:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -87491,10 +106466,10 @@ "typeString": "address" }, "typeName": { - "id": 3123, + "id": 4729, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6564:7:10", + "src": "6564:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -87504,247 +106479,247 @@ "visibility": "internal" } ], - "src": "6563:18:10" + "src": "6563:18:23" }, - "scope": 5093, - "src": "6507:127:10", + "scope": 6699, + "src": "6507:127:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3145, + "id": 4751, "nodeType": "Block", - "src": "6828:5477:10", + "src": "6828:5477:23", "statements": [ { "AST": { - "nativeSrc": "6890:5409:10", + "nativeSrc": "6890:5409:23", "nodeType": "YulBlock", - "src": "6890:5409:10", + "src": "6890:5409:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "11857:4:10", + "nativeSrc": "11857:4:23", "nodeType": "YulLiteral", - "src": "11857:4:10", + "src": "11857:4:23", "type": "", "value": "0x21" }, { "kind": "number", - "nativeSrc": "11863:28:10", + "nativeSrc": "11863:28:23", "nodeType": "YulLiteral", - "src": "11863:28:10", + "src": "11863:28:23", "type": "", "value": "0x5af43d3d93803e602a57fd5bf3" } ], "functionName": { "name": "mstore", - "nativeSrc": "11850:6:10", + "nativeSrc": "11850:6:23", "nodeType": "YulIdentifier", - "src": "11850:6:10" + "src": "11850:6:23" }, - "nativeSrc": "11850:42:10", + "nativeSrc": "11850:42:23", "nodeType": "YulFunctionCall", - "src": "11850:42:10" + "src": "11850:42:23" }, - "nativeSrc": "11850:42:10", + "nativeSrc": "11850:42:23", "nodeType": "YulExpressionStatement", - "src": "11850:42:10" + "src": "11850:42:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "11912:4:10", + "nativeSrc": "11912:4:23", "nodeType": "YulLiteral", - "src": "11912:4:10", + "src": "11912:4:23", "type": "", "value": "0x14" }, { "name": "implementation", - "nativeSrc": "11918:14:10", + "nativeSrc": "11918:14:23", "nodeType": "YulIdentifier", - "src": "11918:14:10" + "src": "11918:14:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "11905:6:10", + "nativeSrc": "11905:6:23", "nodeType": "YulIdentifier", - "src": "11905:6:10" + "src": "11905:6:23" }, - "nativeSrc": "11905:28:10", + "nativeSrc": "11905:28:23", "nodeType": "YulFunctionCall", - "src": "11905:28:10" + "src": "11905:28:23" }, - "nativeSrc": "11905:28:10", + "nativeSrc": "11905:28:23", "nodeType": "YulExpressionStatement", - "src": "11905:28:10" + "src": "11905:28:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "11953:4:10", + "nativeSrc": "11953:4:23", "nodeType": "YulLiteral", - "src": "11953:4:10", + "src": "11953:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "11959:42:10", + "nativeSrc": "11959:42:23", "nodeType": "YulLiteral", - "src": "11959:42:10", + "src": "11959:42:23", "type": "", "value": "0x602c3d8160093d39f33d3d3d3d363d3d37363d73" } ], "functionName": { "name": "mstore", - "nativeSrc": "11946:6:10", + "nativeSrc": "11946:6:23", "nodeType": "YulIdentifier", - "src": "11946:6:10" + "src": "11946:6:23" }, - "nativeSrc": "11946:56:10", + "nativeSrc": "11946:56:23", "nodeType": "YulFunctionCall", - "src": "11946:56:10" + "src": "11946:56:23" }, - "nativeSrc": "11946:56:10", + "nativeSrc": "11946:56:23", "nodeType": "YulExpressionStatement", - "src": "11946:56:10" + "src": "11946:56:23" }, { - "nativeSrc": "12015:37:10", + "nativeSrc": "12015:37:23", "nodeType": "YulAssignment", - "src": "12015:37:10", + "src": "12015:37:23", "value": { "arguments": [ { "name": "value", - "nativeSrc": "12034:5:10", + "nativeSrc": "12034:5:23", "nodeType": "YulIdentifier", - "src": "12034:5:10" + "src": "12034:5:23" }, { "kind": "number", - "nativeSrc": "12041:4:10", + "nativeSrc": "12041:4:23", "nodeType": "YulLiteral", - "src": "12041:4:10", + "src": "12041:4:23", "type": "", "value": "0x0c" }, { "kind": "number", - "nativeSrc": "12047:4:10", + "nativeSrc": "12047:4:23", "nodeType": "YulLiteral", - "src": "12047:4:10", + "src": "12047:4:23", "type": "", "value": "0x35" } ], "functionName": { "name": "create", - "nativeSrc": "12027:6:10", + "nativeSrc": "12027:6:23", "nodeType": "YulIdentifier", - "src": "12027:6:10" + "src": "12027:6:23" }, - "nativeSrc": "12027:25:10", + "nativeSrc": "12027:25:23", "nodeType": "YulFunctionCall", - "src": "12027:25:10" + "src": "12027:25:23" }, "variableNames": [ { "name": "instance", - "nativeSrc": "12015:8:10", + "nativeSrc": "12015:8:23", "nodeType": "YulIdentifier", - "src": "12015:8:10" + "src": "12015:8:23" } ] }, { "body": { - "nativeSrc": "12085:116:10", + "nativeSrc": "12085:116:23", "nodeType": "YulBlock", - "src": "12085:116:10", + "src": "12085:116:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "12110:4:10", + "nativeSrc": "12110:4:23", "nodeType": "YulLiteral", - "src": "12110:4:10", + "src": "12110:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "12116:10:10", + "nativeSrc": "12116:10:23", "nodeType": "YulLiteral", - "src": "12116:10:10", + "src": "12116:10:23", "type": "", "value": "0x30116425" } ], "functionName": { "name": "mstore", - "nativeSrc": "12103:6:10", + "nativeSrc": "12103:6:23", "nodeType": "YulIdentifier", - "src": "12103:6:10" + "src": "12103:6:23" }, - "nativeSrc": "12103:24:10", + "nativeSrc": "12103:24:23", "nodeType": "YulFunctionCall", - "src": "12103:24:10" + "src": "12103:24:23" }, - "nativeSrc": "12103:24:10", + "nativeSrc": "12103:24:23", "nodeType": "YulExpressionStatement", - "src": "12103:24:10" + "src": "12103:24:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "12176:4:10", + "nativeSrc": "12176:4:23", "nodeType": "YulLiteral", - "src": "12176:4:10", + "src": "12176:4:23", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "12182:4:10", + "nativeSrc": "12182:4:23", "nodeType": "YulLiteral", - "src": "12182:4:10", + "src": "12182:4:23", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "12169:6:10", + "nativeSrc": "12169:6:23", "nodeType": "YulIdentifier", - "src": "12169:6:10" + "src": "12169:6:23" }, - "nativeSrc": "12169:18:10", + "nativeSrc": "12169:18:23", "nodeType": "YulFunctionCall", - "src": "12169:18:10" + "src": "12169:18:23" }, - "nativeSrc": "12169:18:10", + "nativeSrc": "12169:18:23", "nodeType": "YulExpressionStatement", - "src": "12169:18:10" + "src": "12169:18:23" } ] }, @@ -87752,58 +106727,58 @@ "arguments": [ { "name": "instance", - "nativeSrc": "12075:8:10", + "nativeSrc": "12075:8:23", "nodeType": "YulIdentifier", - "src": "12075:8:10" + "src": "12075:8:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "12068:6:10", + "nativeSrc": "12068:6:23", "nodeType": "YulIdentifier", - "src": "12068:6:10" + "src": "12068:6:23" }, - "nativeSrc": "12068:16:10", + "nativeSrc": "12068:16:23", "nodeType": "YulFunctionCall", - "src": "12068:16:10" + "src": "12068:16:23" }, - "nativeSrc": "12065:136:10", + "nativeSrc": "12065:136:23", "nodeType": "YulIf", - "src": "12065:136:10" + "src": "12065:136:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "12221:4:10", + "nativeSrc": "12221:4:23", "nodeType": "YulLiteral", - "src": "12221:4:10", + "src": "12221:4:23", "type": "", "value": "0x21" }, { "kind": "number", - "nativeSrc": "12227:1:10", + "nativeSrc": "12227:1:23", "nodeType": "YulLiteral", - "src": "12227:1:10", + "src": "12227:1:23", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "12214:6:10", + "nativeSrc": "12214:6:23", "nodeType": "YulIdentifier", - "src": "12214:6:10" + "src": "12214:6:23" }, - "nativeSrc": "12214:15:10", + "nativeSrc": "12214:15:23", "nodeType": "YulFunctionCall", - "src": "12214:15:10" + "src": "12214:15:23" }, - "nativeSrc": "12214:15:10", + "nativeSrc": "12214:15:23", "nodeType": "YulExpressionStatement", - "src": "12214:15:10" + "src": "12214:15:23" } ] }, @@ -87811,66 +106786,66 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3139, + "declaration": 4745, "isOffset": false, "isSlot": false, - "src": "11918:14:10", + "src": "11918:14:23", "valueSize": 1 }, { - "declaration": 3142, + "declaration": 4748, "isOffset": false, "isSlot": false, - "src": "12015:8:10", + "src": "12015:8:23", "valueSize": 1 }, { - "declaration": 3142, + "declaration": 4748, "isOffset": false, "isSlot": false, - "src": "12075:8:10", + "src": "12075:8:23", "valueSize": 1 }, { - "declaration": 3137, + "declaration": 4743, "isOffset": false, "isSlot": false, - "src": "12034:5:10", + "src": "12034:5:23", "valueSize": 1 } ], - "id": 3144, + "id": 4750, "nodeType": "InlineAssembly", - "src": "6881:5418:10" + "src": "6881:5418:23" } ] }, "documentation": { - "id": 3135, + "id": 4741, "nodeType": "StructuredDocumentation", - "src": "6640:93:10", + "src": "6640:93:23", "text": "@dev Deploys a clone of `implementation`.\n Deposits `value` ETH during deployment." }, - "id": 3146, + "id": 4752, "implemented": true, "kind": "function", "modifiers": [], "name": "clone", - "nameLocation": "6747:5:10", + "nameLocation": "6747:5:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3140, + "id": 4746, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3137, + "id": 4743, "mutability": "mutable", "name": "value", - "nameLocation": "6761:5:10", + "nameLocation": "6761:5:23", "nodeType": "VariableDeclaration", - "scope": 3146, - "src": "6753:13:10", + "scope": 4752, + "src": "6753:13:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -87878,10 +106853,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3136, + "id": 4742, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6753:7:10", + "src": "6753:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -87891,13 +106866,13 @@ }, { "constant": false, - "id": 3139, + "id": 4745, "mutability": "mutable", "name": "implementation", - "nameLocation": "6776:14:10", + "nameLocation": "6776:14:23", "nodeType": "VariableDeclaration", - "scope": 3146, - "src": "6768:22:10", + "scope": 4752, + "src": "6768:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -87905,10 +106880,10 @@ "typeString": "address" }, "typeName": { - "id": 3138, + "id": 4744, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6768:7:10", + "src": "6768:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -87918,21 +106893,21 @@ "visibility": "internal" } ], - "src": "6752:39:10" + "src": "6752:39:23" }, "returnParameters": { - "id": 3143, + "id": 4749, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3142, + "id": 4748, "mutability": "mutable", "name": "instance", - "nameLocation": "6818:8:10", + "nameLocation": "6818:8:23", "nodeType": "VariableDeclaration", - "scope": 3146, - "src": "6810:16:10", + "scope": 4752, + "src": "6810:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -87940,10 +106915,10 @@ "typeString": "address" }, "typeName": { - "id": 3141, + "id": 4747, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6810:7:10", + "src": "6810:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -87953,34 +106928,34 @@ "visibility": "internal" } ], - "src": "6809:18:10" + "src": "6809:18:23" }, - "scope": 5093, - "src": "6738:5567:10", + "scope": 6699, + "src": "6738:5567:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3164, + "id": 4770, "nodeType": "Block", - "src": "12509:71:10", + "src": "12509:71:23", "statements": [ { "expression": { - "id": 3162, + "id": 4768, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 3156, + "id": 4762, "name": "instance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3154, - "src": "12519:8:10", + "referencedDeclaration": 4760, + "src": "12519:8:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -87992,14 +106967,14 @@ "arguments": [ { "hexValue": "30", - "id": 3158, + "id": 4764, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12549:1:10", + "src": "12549:1:23", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -88007,24 +106982,24 @@ "value": "0" }, { - "id": 3159, + "id": 4765, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3149, - "src": "12552:14:10", + "referencedDeclaration": 4755, + "src": "12552:14:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 3160, + "id": 4766, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3151, - "src": "12568:4:10", + "referencedDeclaration": 4757, + "src": "12568:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -88046,23 +107021,23 @@ "typeString": "bytes32" } ], - "id": 3157, + "id": 4763, "name": "cloneDeterministic", "nodeType": "Identifier", "overloadedDeclarations": [ - 3165, - 3179, - 3389, - 3405 + 4771, + 4785, + 4995, + 5011 ], - "referencedDeclaration": 3179, - "src": "12530:18:10", + "referencedDeclaration": 4785, + "src": "12530:18:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes32_$returns$_t_address_$", "typeString": "function (uint256,address,bytes32) returns (address)" } }, - "id": 3161, + "id": 4767, "isConstant": false, "isLValue": false, "isPure": false, @@ -88071,51 +107046,51 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "12530:43:10", + "src": "12530:43:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "12519:54:10", + "src": "12519:54:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 3163, + "id": 4769, "nodeType": "ExpressionStatement", - "src": "12519:54:10" + "src": "12519:54:23" } ] }, "documentation": { - "id": 3147, + "id": 4753, "nodeType": "StructuredDocumentation", - "src": "12311:71:10", + "src": "12311:71:23", "text": "@dev Deploys a deterministic clone of `implementation` with `salt`." }, - "id": 3165, + "id": 4771, "implemented": true, "kind": "function", "modifiers": [], "name": "cloneDeterministic", - "nameLocation": "12396:18:10", + "nameLocation": "12396:18:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3152, + "id": 4758, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3149, + "id": 4755, "mutability": "mutable", "name": "implementation", - "nameLocation": "12423:14:10", + "nameLocation": "12423:14:23", "nodeType": "VariableDeclaration", - "scope": 3165, - "src": "12415:22:10", + "scope": 4771, + "src": "12415:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -88123,10 +107098,10 @@ "typeString": "address" }, "typeName": { - "id": 3148, + "id": 4754, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12415:7:10", + "src": "12415:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -88137,13 +107112,13 @@ }, { "constant": false, - "id": 3151, + "id": 4757, "mutability": "mutable", "name": "salt", - "nameLocation": "12447:4:10", + "nameLocation": "12447:4:23", "nodeType": "VariableDeclaration", - "scope": 3165, - "src": "12439:12:10", + "scope": 4771, + "src": "12439:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -88151,10 +107126,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 3150, + "id": 4756, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12439:7:10", + "src": "12439:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -88163,21 +107138,21 @@ "visibility": "internal" } ], - "src": "12414:38:10" + "src": "12414:38:23" }, "returnParameters": { - "id": 3155, + "id": 4761, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3154, + "id": 4760, "mutability": "mutable", "name": "instance", - "nameLocation": "12495:8:10", + "nameLocation": "12495:8:23", "nodeType": "VariableDeclaration", - "scope": 3165, - "src": "12487:16:10", + "scope": 4771, + "src": "12487:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -88185,10 +107160,10 @@ "typeString": "address" }, "typeName": { - "id": 3153, + "id": 4759, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12487:7:10", + "src": "12487:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -88198,253 +107173,253 @@ "visibility": "internal" } ], - "src": "12486:18:10" + "src": "12486:18:23" }, - "scope": 5093, - "src": "12387:193:10", + "scope": 6699, + "src": "12387:193:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3178, + "id": 4784, "nodeType": "Block", - "src": "12847:538:10", + "src": "12847:538:23", "statements": [ { "AST": { - "nativeSrc": "12909:470:10", + "nativeSrc": "12909:470:23", "nodeType": "YulBlock", - "src": "12909:470:10", + "src": "12909:470:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "12930:4:10", + "nativeSrc": "12930:4:23", "nodeType": "YulLiteral", - "src": "12930:4:10", + "src": "12930:4:23", "type": "", "value": "0x21" }, { "kind": "number", - "nativeSrc": "12936:28:10", + "nativeSrc": "12936:28:23", "nodeType": "YulLiteral", - "src": "12936:28:10", + "src": "12936:28:23", "type": "", "value": "0x5af43d3d93803e602a57fd5bf3" } ], "functionName": { "name": "mstore", - "nativeSrc": "12923:6:10", + "nativeSrc": "12923:6:23", "nodeType": "YulIdentifier", - "src": "12923:6:10" + "src": "12923:6:23" }, - "nativeSrc": "12923:42:10", + "nativeSrc": "12923:42:23", "nodeType": "YulFunctionCall", - "src": "12923:42:10" + "src": "12923:42:23" }, - "nativeSrc": "12923:42:10", + "nativeSrc": "12923:42:23", "nodeType": "YulExpressionStatement", - "src": "12923:42:10" + "src": "12923:42:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "12985:4:10", + "nativeSrc": "12985:4:23", "nodeType": "YulLiteral", - "src": "12985:4:10", + "src": "12985:4:23", "type": "", "value": "0x14" }, { "name": "implementation", - "nativeSrc": "12991:14:10", + "nativeSrc": "12991:14:23", "nodeType": "YulIdentifier", - "src": "12991:14:10" + "src": "12991:14:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "12978:6:10", + "nativeSrc": "12978:6:23", "nodeType": "YulIdentifier", - "src": "12978:6:10" + "src": "12978:6:23" }, - "nativeSrc": "12978:28:10", + "nativeSrc": "12978:28:23", "nodeType": "YulFunctionCall", - "src": "12978:28:10" + "src": "12978:28:23" }, - "nativeSrc": "12978:28:10", + "nativeSrc": "12978:28:23", "nodeType": "YulExpressionStatement", - "src": "12978:28:10" + "src": "12978:28:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "13026:4:10", + "nativeSrc": "13026:4:23", "nodeType": "YulLiteral", - "src": "13026:4:10", + "src": "13026:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "13032:42:10", + "nativeSrc": "13032:42:23", "nodeType": "YulLiteral", - "src": "13032:42:10", + "src": "13032:42:23", "type": "", "value": "0x602c3d8160093d39f33d3d3d3d363d3d37363d73" } ], "functionName": { "name": "mstore", - "nativeSrc": "13019:6:10", + "nativeSrc": "13019:6:23", "nodeType": "YulIdentifier", - "src": "13019:6:10" + "src": "13019:6:23" }, - "nativeSrc": "13019:56:10", + "nativeSrc": "13019:56:23", "nodeType": "YulFunctionCall", - "src": "13019:56:10" + "src": "13019:56:23" }, - "nativeSrc": "13019:56:10", + "nativeSrc": "13019:56:23", "nodeType": "YulExpressionStatement", - "src": "13019:56:10" + "src": "13019:56:23" }, { - "nativeSrc": "13088:44:10", + "nativeSrc": "13088:44:23", "nodeType": "YulAssignment", - "src": "13088:44:10", + "src": "13088:44:23", "value": { "arguments": [ { "name": "value", - "nativeSrc": "13108:5:10", + "nativeSrc": "13108:5:23", "nodeType": "YulIdentifier", - "src": "13108:5:10" + "src": "13108:5:23" }, { "kind": "number", - "nativeSrc": "13115:4:10", + "nativeSrc": "13115:4:23", "nodeType": "YulLiteral", - "src": "13115:4:10", + "src": "13115:4:23", "type": "", "value": "0x0c" }, { "kind": "number", - "nativeSrc": "13121:4:10", + "nativeSrc": "13121:4:23", "nodeType": "YulLiteral", - "src": "13121:4:10", + "src": "13121:4:23", "type": "", "value": "0x35" }, { "name": "salt", - "nativeSrc": "13127:4:10", + "nativeSrc": "13127:4:23", "nodeType": "YulIdentifier", - "src": "13127:4:10" + "src": "13127:4:23" } ], "functionName": { "name": "create2", - "nativeSrc": "13100:7:10", + "nativeSrc": "13100:7:23", "nodeType": "YulIdentifier", - "src": "13100:7:10" + "src": "13100:7:23" }, - "nativeSrc": "13100:32:10", + "nativeSrc": "13100:32:23", "nodeType": "YulFunctionCall", - "src": "13100:32:10" + "src": "13100:32:23" }, "variableNames": [ { "name": "instance", - "nativeSrc": "13088:8:10", + "nativeSrc": "13088:8:23", "nodeType": "YulIdentifier", - "src": "13088:8:10" + "src": "13088:8:23" } ] }, { "body": { - "nativeSrc": "13165:116:10", + "nativeSrc": "13165:116:23", "nodeType": "YulBlock", - "src": "13165:116:10", + "src": "13165:116:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "13190:4:10", + "nativeSrc": "13190:4:23", "nodeType": "YulLiteral", - "src": "13190:4:10", + "src": "13190:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "13196:10:10", + "nativeSrc": "13196:10:23", "nodeType": "YulLiteral", - "src": "13196:10:10", + "src": "13196:10:23", "type": "", "value": "0x30116425" } ], "functionName": { "name": "mstore", - "nativeSrc": "13183:6:10", + "nativeSrc": "13183:6:23", "nodeType": "YulIdentifier", - "src": "13183:6:10" + "src": "13183:6:23" }, - "nativeSrc": "13183:24:10", + "nativeSrc": "13183:24:23", "nodeType": "YulFunctionCall", - "src": "13183:24:10" + "src": "13183:24:23" }, - "nativeSrc": "13183:24:10", + "nativeSrc": "13183:24:23", "nodeType": "YulExpressionStatement", - "src": "13183:24:10" + "src": "13183:24:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "13256:4:10", + "nativeSrc": "13256:4:23", "nodeType": "YulLiteral", - "src": "13256:4:10", + "src": "13256:4:23", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "13262:4:10", + "nativeSrc": "13262:4:23", "nodeType": "YulLiteral", - "src": "13262:4:10", + "src": "13262:4:23", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "13249:6:10", + "nativeSrc": "13249:6:23", "nodeType": "YulIdentifier", - "src": "13249:6:10" + "src": "13249:6:23" }, - "nativeSrc": "13249:18:10", + "nativeSrc": "13249:18:23", "nodeType": "YulFunctionCall", - "src": "13249:18:10" + "src": "13249:18:23" }, - "nativeSrc": "13249:18:10", + "nativeSrc": "13249:18:23", "nodeType": "YulExpressionStatement", - "src": "13249:18:10" + "src": "13249:18:23" } ] }, @@ -88452,58 +107427,58 @@ "arguments": [ { "name": "instance", - "nativeSrc": "13155:8:10", + "nativeSrc": "13155:8:23", "nodeType": "YulIdentifier", - "src": "13155:8:10" + "src": "13155:8:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "13148:6:10", + "nativeSrc": "13148:6:23", "nodeType": "YulIdentifier", - "src": "13148:6:10" + "src": "13148:6:23" }, - "nativeSrc": "13148:16:10", + "nativeSrc": "13148:16:23", "nodeType": "YulFunctionCall", - "src": "13148:16:10" + "src": "13148:16:23" }, - "nativeSrc": "13145:136:10", + "nativeSrc": "13145:136:23", "nodeType": "YulIf", - "src": "13145:136:10" + "src": "13145:136:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "13301:4:10", + "nativeSrc": "13301:4:23", "nodeType": "YulLiteral", - "src": "13301:4:10", + "src": "13301:4:23", "type": "", "value": "0x21" }, { "kind": "number", - "nativeSrc": "13307:1:10", + "nativeSrc": "13307:1:23", "nodeType": "YulLiteral", - "src": "13307:1:10", + "src": "13307:1:23", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "13294:6:10", + "nativeSrc": "13294:6:23", "nodeType": "YulIdentifier", - "src": "13294:6:10" + "src": "13294:6:23" }, - "nativeSrc": "13294:15:10", + "nativeSrc": "13294:15:23", "nodeType": "YulFunctionCall", - "src": "13294:15:10" + "src": "13294:15:23" }, - "nativeSrc": "13294:15:10", + "nativeSrc": "13294:15:23", "nodeType": "YulExpressionStatement", - "src": "13294:15:10" + "src": "13294:15:23" } ] }, @@ -88511,73 +107486,73 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3170, + "declaration": 4776, "isOffset": false, "isSlot": false, - "src": "12991:14:10", + "src": "12991:14:23", "valueSize": 1 }, { - "declaration": 3175, + "declaration": 4781, "isOffset": false, "isSlot": false, - "src": "13088:8:10", + "src": "13088:8:23", "valueSize": 1 }, { - "declaration": 3175, + "declaration": 4781, "isOffset": false, "isSlot": false, - "src": "13155:8:10", + "src": "13155:8:23", "valueSize": 1 }, { - "declaration": 3172, + "declaration": 4778, "isOffset": false, "isSlot": false, - "src": "13127:4:10", + "src": "13127:4:23", "valueSize": 1 }, { - "declaration": 3168, + "declaration": 4774, "isOffset": false, "isSlot": false, - "src": "13108:5:10", + "src": "13108:5:23", "valueSize": 1 } ], - "id": 3177, + "id": 4783, "nodeType": "InlineAssembly", - "src": "12900:479:10" + "src": "12900:479:23" } ] }, "documentation": { - "id": 3166, + "id": 4772, "nodeType": "StructuredDocumentation", - "src": "12586:119:10", + "src": "12586:119:23", "text": "@dev Deploys a deterministic clone of `implementation` with `salt`.\n Deposits `value` ETH during deployment." }, - "id": 3179, + "id": 4785, "implemented": true, "kind": "function", "modifiers": [], "name": "cloneDeterministic", - "nameLocation": "12719:18:10", + "nameLocation": "12719:18:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3173, + "id": 4779, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3168, + "id": 4774, "mutability": "mutable", "name": "value", - "nameLocation": "12746:5:10", + "nameLocation": "12746:5:23", "nodeType": "VariableDeclaration", - "scope": 3179, - "src": "12738:13:10", + "scope": 4785, + "src": "12738:13:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -88585,10 +107560,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3167, + "id": 4773, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "12738:7:10", + "src": "12738:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -88598,13 +107573,13 @@ }, { "constant": false, - "id": 3170, + "id": 4776, "mutability": "mutable", "name": "implementation", - "nameLocation": "12761:14:10", + "nameLocation": "12761:14:23", "nodeType": "VariableDeclaration", - "scope": 3179, - "src": "12753:22:10", + "scope": 4785, + "src": "12753:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -88612,10 +107587,10 @@ "typeString": "address" }, "typeName": { - "id": 3169, + "id": 4775, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12753:7:10", + "src": "12753:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -88626,13 +107601,13 @@ }, { "constant": false, - "id": 3172, + "id": 4778, "mutability": "mutable", "name": "salt", - "nameLocation": "12785:4:10", + "nameLocation": "12785:4:23", "nodeType": "VariableDeclaration", - "scope": 3179, - "src": "12777:12:10", + "scope": 4785, + "src": "12777:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -88640,10 +107615,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 3171, + "id": 4777, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12777:7:10", + "src": "12777:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -88652,21 +107627,21 @@ "visibility": "internal" } ], - "src": "12737:53:10" + "src": "12737:53:23" }, "returnParameters": { - "id": 3176, + "id": 4782, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3175, + "id": 4781, "mutability": "mutable", "name": "instance", - "nameLocation": "12833:8:10", + "nameLocation": "12833:8:23", "nodeType": "VariableDeclaration", - "scope": 3179, - "src": "12825:16:10", + "scope": 4785, + "src": "12825:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -88674,10 +107649,10 @@ "typeString": "address" }, "typeName": { - "id": 3174, + "id": 4780, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12825:7:10", + "src": "12825:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -88687,57 +107662,57 @@ "visibility": "internal" } ], - "src": "12824:18:10" + "src": "12824:18:23" }, - "scope": 5093, - "src": "12710:675:10", + "scope": 6699, + "src": "12710:675:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3188, + "id": 4794, "nodeType": "Block", - "src": "13551:427:10", + "src": "13551:427:23", "statements": [ { "AST": { - "nativeSrc": "13613:359:10", + "nativeSrc": "13613:359:23", "nodeType": "YulBlock", - "src": "13613:359:10", + "src": "13613:359:23", "statements": [ { - "nativeSrc": "13627:16:10", + "nativeSrc": "13627:16:23", "nodeType": "YulAssignment", - "src": "13627:16:10", + "src": "13627:16:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "13638:4:10", + "nativeSrc": "13638:4:23", "nodeType": "YulLiteral", - "src": "13638:4:10", + "src": "13638:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "13632:5:10", + "nativeSrc": "13632:5:23", "nodeType": "YulIdentifier", - "src": "13632:5:10" + "src": "13632:5:23" }, - "nativeSrc": "13632:11:10", + "nativeSrc": "13632:11:23", "nodeType": "YulFunctionCall", - "src": "13632:11:10" + "src": "13632:11:23" }, "variableNames": [ { "name": "c", - "nativeSrc": "13627:1:10", + "nativeSrc": "13627:1:23", "nodeType": "YulIdentifier", - "src": "13627:1:10" + "src": "13627:1:23" } ] }, @@ -88748,51 +107723,51 @@ "arguments": [ { "name": "c", - "nativeSrc": "13667:1:10", + "nativeSrc": "13667:1:23", "nodeType": "YulIdentifier", - "src": "13667:1:10" + "src": "13667:1:23" }, { "kind": "number", - "nativeSrc": "13670:4:10", + "nativeSrc": "13670:4:23", "nodeType": "YulLiteral", - "src": "13670:4:10", + "src": "13670:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "add", - "nativeSrc": "13663:3:10", + "nativeSrc": "13663:3:23", "nodeType": "YulIdentifier", - "src": "13663:3:10" + "src": "13663:3:23" }, - "nativeSrc": "13663:12:10", + "nativeSrc": "13663:12:23", "nodeType": "YulFunctionCall", - "src": "13663:12:10" + "src": "13663:12:23" }, { "kind": "number", - "nativeSrc": "13677:50:10", + "nativeSrc": "13677:50:23", "nodeType": "YulLiteral", - "src": "13677:50:10", + "src": "13677:50:23", "type": "", "value": "0x5af43d3d93803e602a57fd5bf30000000000000000000000" } ], "functionName": { "name": "mstore", - "nativeSrc": "13656:6:10", + "nativeSrc": "13656:6:23", "nodeType": "YulIdentifier", - "src": "13656:6:10" + "src": "13656:6:23" }, - "nativeSrc": "13656:72:10", + "nativeSrc": "13656:72:23", "nodeType": "YulFunctionCall", - "src": "13656:72:10" + "src": "13656:72:23" }, - "nativeSrc": "13656:72:10", + "nativeSrc": "13656:72:23", "nodeType": "YulExpressionStatement", - "src": "13656:72:10" + "src": "13656:72:23" }, { "expression": { @@ -88801,49 +107776,49 @@ "arguments": [ { "name": "c", - "nativeSrc": "13752:1:10", + "nativeSrc": "13752:1:23", "nodeType": "YulIdentifier", - "src": "13752:1:10" + "src": "13752:1:23" }, { "kind": "number", - "nativeSrc": "13755:4:10", + "nativeSrc": "13755:4:23", "nodeType": "YulLiteral", - "src": "13755:4:10", + "src": "13755:4:23", "type": "", "value": "0x28" } ], "functionName": { "name": "add", - "nativeSrc": "13748:3:10", + "nativeSrc": "13748:3:23", "nodeType": "YulIdentifier", - "src": "13748:3:10" + "src": "13748:3:23" }, - "nativeSrc": "13748:12:10", + "nativeSrc": "13748:12:23", "nodeType": "YulFunctionCall", - "src": "13748:12:10" + "src": "13748:12:23" }, { "name": "implementation", - "nativeSrc": "13762:14:10", + "nativeSrc": "13762:14:23", "nodeType": "YulIdentifier", - "src": "13762:14:10" + "src": "13762:14:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "13741:6:10", + "nativeSrc": "13741:6:23", "nodeType": "YulIdentifier", - "src": "13741:6:10" + "src": "13741:6:23" }, - "nativeSrc": "13741:36:10", + "nativeSrc": "13741:36:23", "nodeType": "YulFunctionCall", - "src": "13741:36:10" + "src": "13741:36:23" }, - "nativeSrc": "13741:36:10", + "nativeSrc": "13741:36:23", "nodeType": "YulExpressionStatement", - "src": "13741:36:10" + "src": "13741:36:23" }, { "expression": { @@ -88852,92 +107827,92 @@ "arguments": [ { "name": "c", - "nativeSrc": "13801:1:10", + "nativeSrc": "13801:1:23", "nodeType": "YulIdentifier", - "src": "13801:1:10" + "src": "13801:1:23" }, { "kind": "number", - "nativeSrc": "13804:4:10", + "nativeSrc": "13804:4:23", "nodeType": "YulLiteral", - "src": "13804:4:10", + "src": "13804:4:23", "type": "", "value": "0x14" } ], "functionName": { "name": "add", - "nativeSrc": "13797:3:10", + "nativeSrc": "13797:3:23", "nodeType": "YulIdentifier", - "src": "13797:3:10" + "src": "13797:3:23" }, - "nativeSrc": "13797:12:10", + "nativeSrc": "13797:12:23", "nodeType": "YulFunctionCall", - "src": "13797:12:10" + "src": "13797:12:23" }, { "kind": "number", - "nativeSrc": "13811:42:10", + "nativeSrc": "13811:42:23", "nodeType": "YulLiteral", - "src": "13811:42:10", + "src": "13811:42:23", "type": "", "value": "0x602c3d8160093d39f33d3d3d3d363d3d37363d73" } ], "functionName": { "name": "mstore", - "nativeSrc": "13790:6:10", + "nativeSrc": "13790:6:23", "nodeType": "YulIdentifier", - "src": "13790:6:10" + "src": "13790:6:23" }, - "nativeSrc": "13790:64:10", + "nativeSrc": "13790:64:23", "nodeType": "YulFunctionCall", - "src": "13790:64:10" + "src": "13790:64:23" }, - "nativeSrc": "13790:64:10", + "nativeSrc": "13790:64:23", "nodeType": "YulExpressionStatement", - "src": "13790:64:10" + "src": "13790:64:23" }, { "expression": { "arguments": [ { "name": "c", - "nativeSrc": "13874:1:10", + "nativeSrc": "13874:1:23", "nodeType": "YulIdentifier", - "src": "13874:1:10" + "src": "13874:1:23" }, { "kind": "number", - "nativeSrc": "13877:4:10", + "nativeSrc": "13877:4:23", "nodeType": "YulLiteral", - "src": "13877:4:10", + "src": "13877:4:23", "type": "", "value": "0x35" } ], "functionName": { "name": "mstore", - "nativeSrc": "13867:6:10", + "nativeSrc": "13867:6:23", "nodeType": "YulIdentifier", - "src": "13867:6:10" + "src": "13867:6:23" }, - "nativeSrc": "13867:15:10", + "nativeSrc": "13867:15:23", "nodeType": "YulFunctionCall", - "src": "13867:15:10" + "src": "13867:15:23" }, - "nativeSrc": "13867:15:10", + "nativeSrc": "13867:15:23", "nodeType": "YulExpressionStatement", - "src": "13867:15:10" + "src": "13867:15:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "13923:4:10", + "nativeSrc": "13923:4:23", "nodeType": "YulLiteral", - "src": "13923:4:10", + "src": "13923:4:23", "type": "", "value": "0x40" }, @@ -88945,43 +107920,43 @@ "arguments": [ { "name": "c", - "nativeSrc": "13933:1:10", + "nativeSrc": "13933:1:23", "nodeType": "YulIdentifier", - "src": "13933:1:10" + "src": "13933:1:23" }, { "kind": "number", - "nativeSrc": "13936:4:10", + "nativeSrc": "13936:4:23", "nodeType": "YulLiteral", - "src": "13936:4:10", + "src": "13936:4:23", "type": "", "value": "0x60" } ], "functionName": { "name": "add", - "nativeSrc": "13929:3:10", + "nativeSrc": "13929:3:23", "nodeType": "YulIdentifier", - "src": "13929:3:10" + "src": "13929:3:23" }, - "nativeSrc": "13929:12:10", + "nativeSrc": "13929:12:23", "nodeType": "YulFunctionCall", - "src": "13929:12:10" + "src": "13929:12:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "13916:6:10", + "nativeSrc": "13916:6:23", "nodeType": "YulIdentifier", - "src": "13916:6:10" + "src": "13916:6:23" }, - "nativeSrc": "13916:26:10", + "nativeSrc": "13916:26:23", "nodeType": "YulFunctionCall", - "src": "13916:26:10" + "src": "13916:26:23" }, - "nativeSrc": "13916:26:10", + "nativeSrc": "13916:26:23", "nodeType": "YulExpressionStatement", - "src": "13916:26:10" + "src": "13916:26:23" } ] }, @@ -88989,87 +107964,87 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3185, + "declaration": 4791, "isOffset": false, "isSlot": false, - "src": "13627:1:10", + "src": "13627:1:23", "valueSize": 1 }, { - "declaration": 3185, + "declaration": 4791, "isOffset": false, "isSlot": false, - "src": "13667:1:10", + "src": "13667:1:23", "valueSize": 1 }, { - "declaration": 3185, + "declaration": 4791, "isOffset": false, "isSlot": false, - "src": "13752:1:10", + "src": "13752:1:23", "valueSize": 1 }, { - "declaration": 3185, + "declaration": 4791, "isOffset": false, "isSlot": false, - "src": "13801:1:10", + "src": "13801:1:23", "valueSize": 1 }, { - "declaration": 3185, + "declaration": 4791, "isOffset": false, "isSlot": false, - "src": "13874:1:10", + "src": "13874:1:23", "valueSize": 1 }, { - "declaration": 3185, + "declaration": 4791, "isOffset": false, "isSlot": false, - "src": "13933:1:10", + "src": "13933:1:23", "valueSize": 1 }, { - "declaration": 3182, + "declaration": 4788, "isOffset": false, "isSlot": false, - "src": "13762:14:10", + "src": "13762:14:23", "valueSize": 1 } ], - "id": 3187, + "id": 4793, "nodeType": "InlineAssembly", - "src": "13604:368:10" + "src": "13604:368:23" } ] }, "documentation": { - "id": 3180, + "id": 4786, "nodeType": "StructuredDocumentation", - "src": "13391:74:10", + "src": "13391:74:23", "text": "@dev Returns the initialization code of the clone of `implementation`." }, - "id": 3189, + "id": 4795, "implemented": true, "kind": "function", "modifiers": [], "name": "initCode", - "nameLocation": "13479:8:10", + "nameLocation": "13479:8:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3183, + "id": 4789, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3182, + "id": 4788, "mutability": "mutable", "name": "implementation", - "nameLocation": "13496:14:10", + "nameLocation": "13496:14:23", "nodeType": "VariableDeclaration", - "scope": 3189, - "src": "13488:22:10", + "scope": 4795, + "src": "13488:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -89077,10 +108052,10 @@ "typeString": "address" }, "typeName": { - "id": 3181, + "id": 4787, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13488:7:10", + "src": "13488:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -89090,21 +108065,21 @@ "visibility": "internal" } ], - "src": "13487:24:10" + "src": "13487:24:23" }, "returnParameters": { - "id": 3186, + "id": 4792, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3185, + "id": 4791, "mutability": "mutable", "name": "c", - "nameLocation": "13548:1:10", + "nameLocation": "13548:1:23", "nodeType": "VariableDeclaration", - "scope": 3189, - "src": "13535:14:10", + "scope": 4795, + "src": "13535:14:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -89112,10 +108087,10 @@ "typeString": "bytes" }, "typeName": { - "id": 3184, + "id": 4790, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "13535:5:10", + "src": "13535:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -89124,165 +108099,165 @@ "visibility": "internal" } ], - "src": "13534:16:10" + "src": "13534:16:23" }, - "scope": 5093, - "src": "13470:508:10", + "scope": 6699, + "src": "13470:508:23", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3198, + "id": 4804, "nodeType": "Block", - "src": "14151:374:10", + "src": "14151:374:23", "statements": [ { "AST": { - "nativeSrc": "14213:306:10", + "nativeSrc": "14213:306:23", "nodeType": "YulBlock", - "src": "14213:306:10", + "src": "14213:306:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "14234:4:10", + "nativeSrc": "14234:4:23", "nodeType": "YulLiteral", - "src": "14234:4:10", + "src": "14234:4:23", "type": "", "value": "0x21" }, { "kind": "number", - "nativeSrc": "14240:28:10", + "nativeSrc": "14240:28:23", "nodeType": "YulLiteral", - "src": "14240:28:10", + "src": "14240:28:23", "type": "", "value": "0x5af43d3d93803e602a57fd5bf3" } ], "functionName": { "name": "mstore", - "nativeSrc": "14227:6:10", + "nativeSrc": "14227:6:23", "nodeType": "YulIdentifier", - "src": "14227:6:10" + "src": "14227:6:23" }, - "nativeSrc": "14227:42:10", + "nativeSrc": "14227:42:23", "nodeType": "YulFunctionCall", - "src": "14227:42:10" + "src": "14227:42:23" }, - "nativeSrc": "14227:42:10", + "nativeSrc": "14227:42:23", "nodeType": "YulExpressionStatement", - "src": "14227:42:10" + "src": "14227:42:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "14289:4:10", + "nativeSrc": "14289:4:23", "nodeType": "YulLiteral", - "src": "14289:4:10", + "src": "14289:4:23", "type": "", "value": "0x14" }, { "name": "implementation", - "nativeSrc": "14295:14:10", + "nativeSrc": "14295:14:23", "nodeType": "YulIdentifier", - "src": "14295:14:10" + "src": "14295:14:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "14282:6:10", + "nativeSrc": "14282:6:23", "nodeType": "YulIdentifier", - "src": "14282:6:10" + "src": "14282:6:23" }, - "nativeSrc": "14282:28:10", + "nativeSrc": "14282:28:23", "nodeType": "YulFunctionCall", - "src": "14282:28:10" + "src": "14282:28:23" }, - "nativeSrc": "14282:28:10", + "nativeSrc": "14282:28:23", "nodeType": "YulExpressionStatement", - "src": "14282:28:10" + "src": "14282:28:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "14330:4:10", + "nativeSrc": "14330:4:23", "nodeType": "YulLiteral", - "src": "14330:4:10", + "src": "14330:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "14336:42:10", + "nativeSrc": "14336:42:23", "nodeType": "YulLiteral", - "src": "14336:42:10", + "src": "14336:42:23", "type": "", "value": "0x602c3d8160093d39f33d3d3d3d363d3d37363d73" } ], "functionName": { "name": "mstore", - "nativeSrc": "14323:6:10", + "nativeSrc": "14323:6:23", "nodeType": "YulIdentifier", - "src": "14323:6:10" + "src": "14323:6:23" }, - "nativeSrc": "14323:56:10", + "nativeSrc": "14323:56:23", "nodeType": "YulFunctionCall", - "src": "14323:56:10" + "src": "14323:56:23" }, - "nativeSrc": "14323:56:10", + "nativeSrc": "14323:56:23", "nodeType": "YulExpressionStatement", - "src": "14323:56:10" + "src": "14323:56:23" }, { - "nativeSrc": "14392:29:10", + "nativeSrc": "14392:29:23", "nodeType": "YulAssignment", - "src": "14392:29:10", + "src": "14392:29:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "14410:4:10", + "nativeSrc": "14410:4:23", "nodeType": "YulLiteral", - "src": "14410:4:10", + "src": "14410:4:23", "type": "", "value": "0x0c" }, { "kind": "number", - "nativeSrc": "14416:4:10", + "nativeSrc": "14416:4:23", "nodeType": "YulLiteral", - "src": "14416:4:10", + "src": "14416:4:23", "type": "", "value": "0x35" } ], "functionName": { "name": "keccak256", - "nativeSrc": "14400:9:10", + "nativeSrc": "14400:9:23", "nodeType": "YulIdentifier", - "src": "14400:9:10" + "src": "14400:9:23" }, - "nativeSrc": "14400:21:10", + "nativeSrc": "14400:21:23", "nodeType": "YulFunctionCall", - "src": "14400:21:10" + "src": "14400:21:23" }, "variableNames": [ { "name": "hash", - "nativeSrc": "14392:4:10", + "nativeSrc": "14392:4:23", "nodeType": "YulIdentifier", - "src": "14392:4:10" + "src": "14392:4:23" } ] }, @@ -89291,34 +108266,34 @@ "arguments": [ { "kind": "number", - "nativeSrc": "14441:4:10", + "nativeSrc": "14441:4:23", "nodeType": "YulLiteral", - "src": "14441:4:10", + "src": "14441:4:23", "type": "", "value": "0x21" }, { "kind": "number", - "nativeSrc": "14447:1:10", + "nativeSrc": "14447:1:23", "nodeType": "YulLiteral", - "src": "14447:1:10", + "src": "14447:1:23", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "14434:6:10", + "nativeSrc": "14434:6:23", "nodeType": "YulIdentifier", - "src": "14434:6:10" + "src": "14434:6:23" }, - "nativeSrc": "14434:15:10", + "nativeSrc": "14434:15:23", "nodeType": "YulFunctionCall", - "src": "14434:15:10" + "src": "14434:15:23" }, - "nativeSrc": "14434:15:10", + "nativeSrc": "14434:15:23", "nodeType": "YulExpressionStatement", - "src": "14434:15:10" + "src": "14434:15:23" } ] }, @@ -89326,52 +108301,52 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3195, + "declaration": 4801, "isOffset": false, "isSlot": false, - "src": "14392:4:10", + "src": "14392:4:23", "valueSize": 1 }, { - "declaration": 3192, + "declaration": 4798, "isOffset": false, "isSlot": false, - "src": "14295:14:10", + "src": "14295:14:23", "valueSize": 1 } ], - "id": 3197, + "id": 4803, "nodeType": "InlineAssembly", - "src": "14204:315:10" + "src": "14204:315:23" } ] }, "documentation": { - "id": 3190, + "id": 4796, "nodeType": "StructuredDocumentation", - "src": "13984:79:10", + "src": "13984:79:23", "text": "@dev Returns the initialization code hash of the clone of `implementation`." }, - "id": 3199, + "id": 4805, "implemented": true, "kind": "function", "modifiers": [], "name": "initCodeHash", - "nameLocation": "14077:12:10", + "nameLocation": "14077:12:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3193, + "id": 4799, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3192, + "id": 4798, "mutability": "mutable", "name": "implementation", - "nameLocation": "14098:14:10", + "nameLocation": "14098:14:23", "nodeType": "VariableDeclaration", - "scope": 3199, - "src": "14090:22:10", + "scope": 4805, + "src": "14090:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -89379,10 +108354,10 @@ "typeString": "address" }, "typeName": { - "id": 3191, + "id": 4797, "name": "address", "nodeType": "ElementaryTypeName", - "src": "14090:7:10", + "src": "14090:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -89392,21 +108367,21 @@ "visibility": "internal" } ], - "src": "14089:24:10" + "src": "14089:24:23" }, "returnParameters": { - "id": 3196, + "id": 4802, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3195, + "id": 4801, "mutability": "mutable", "name": "hash", - "nameLocation": "14145:4:10", + "nameLocation": "14145:4:23", "nodeType": "VariableDeclaration", - "scope": 3199, - "src": "14137:12:10", + "scope": 4805, + "src": "14137:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -89414,10 +108389,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 3194, + "id": 4800, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "14137:7:10", + "src": "14137:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -89426,34 +108401,34 @@ "visibility": "internal" } ], - "src": "14136:14:10" + "src": "14136:14:23" }, - "scope": 5093, - "src": "14068:457:10", + "scope": 6699, + "src": "14068:457:23", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3225, + "id": 4831, "nodeType": "Block", - "src": "14881:131:10", + "src": "14881:131:23", "statements": [ { "assignments": [ - 3212 + 4818 ], "declarations": [ { "constant": false, - "id": 3212, + "id": 4818, "mutability": "mutable", "name": "hash", - "nameLocation": "14899:4:10", + "nameLocation": "14899:4:23", "nodeType": "VariableDeclaration", - "scope": 3225, - "src": "14891:12:10", + "scope": 4831, + "src": "14891:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -89461,10 +108436,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 3211, + "id": 4817, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "14891:7:10", + "src": "14891:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -89473,16 +108448,16 @@ "visibility": "internal" } ], - "id": 3216, + "id": 4822, "initialValue": { "arguments": [ { - "id": 3214, + "id": 4820, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3202, - "src": "14919:14:10", + "referencedDeclaration": 4808, + "src": "14919:14:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -89496,21 +108471,21 @@ "typeString": "address" } ], - "id": 3213, + "id": 4819, "name": "initCodeHash", "nodeType": "Identifier", "overloadedDeclarations": [ - 3199, - 3469 + 4805, + 5075 ], - "referencedDeclaration": 3199, - "src": "14906:12:10", + "referencedDeclaration": 4805, + "src": "14906:12:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_bytes32_$", "typeString": "function (address) pure returns (bytes32)" } }, - "id": 3215, + "id": 4821, "isConstant": false, "isLValue": false, "isPure": false, @@ -89519,7 +108494,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "14906:28:10", + "src": "14906:28:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -89527,22 +108502,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "14891:43:10" + "src": "14891:43:23" }, { "expression": { - "id": 3223, + "id": 4829, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 3217, + "id": 4823, "name": "predicted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3209, - "src": "14944:9:10", + "referencedDeclaration": 4815, + "src": "14944:9:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -89553,36 +108528,36 @@ "rightHandSide": { "arguments": [ { - "id": 3219, + "id": 4825, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3212, - "src": "14984:4:10", + "referencedDeclaration": 4818, + "src": "14984:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 3220, + "id": 4826, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3204, - "src": "14990:4:10", + "referencedDeclaration": 4810, + "src": "14990:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 3221, + "id": 4827, "name": "deployer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3206, - "src": "14996:8:10", + "referencedDeclaration": 4812, + "src": "14996:8:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -89604,22 +108579,22 @@ "typeString": "address" } ], - "id": 3218, + "id": 4824, "name": "predictDeterministicAddress", "nodeType": "Identifier", "overloadedDeclarations": [ - 3226, - 3499, - 5070 + 4832, + 5105, + 6676 ], - "referencedDeclaration": 5070, - "src": "14956:27:10", + "referencedDeclaration": 6676, + "src": "14956:27:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_address_$", "typeString": "function (bytes32,bytes32,address) pure returns (address)" } }, - "id": 3222, + "id": 4828, "isConstant": false, "isLValue": false, "isPure": false, @@ -89628,51 +108603,51 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "14956:49:10", + "src": "14956:49:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "14944:61:10", + "src": "14944:61:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 3224, + "id": 4830, "nodeType": "ExpressionStatement", - "src": "14944:61:10" + "src": "14944:61:23" } ] }, "documentation": { - "id": 3200, + "id": 4806, "nodeType": "StructuredDocumentation", - "src": "14531:182:10", + "src": "14531:182:23", "text": "@dev Returns the address of the clone of `implementation`, with `salt` by `deployer`.\n Note: The returned result has dirty upper 96 bits. Please clean if used in assembly." }, - "id": 3226, + "id": 4832, "implemented": true, "kind": "function", "modifiers": [], "name": "predictDeterministicAddress", - "nameLocation": "14727:27:10", + "nameLocation": "14727:27:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3207, + "id": 4813, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3202, + "id": 4808, "mutability": "mutable", "name": "implementation", - "nameLocation": "14763:14:10", + "nameLocation": "14763:14:23", "nodeType": "VariableDeclaration", - "scope": 3226, - "src": "14755:22:10", + "scope": 4832, + "src": "14755:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -89680,10 +108655,10 @@ "typeString": "address" }, "typeName": { - "id": 3201, + "id": 4807, "name": "address", "nodeType": "ElementaryTypeName", - "src": "14755:7:10", + "src": "14755:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -89694,13 +108669,13 @@ }, { "constant": false, - "id": 3204, + "id": 4810, "mutability": "mutable", "name": "salt", - "nameLocation": "14787:4:10", + "nameLocation": "14787:4:23", "nodeType": "VariableDeclaration", - "scope": 3226, - "src": "14779:12:10", + "scope": 4832, + "src": "14779:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -89708,10 +108683,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 3203, + "id": 4809, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "14779:7:10", + "src": "14779:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -89721,13 +108696,13 @@ }, { "constant": false, - "id": 3206, + "id": 4812, "mutability": "mutable", "name": "deployer", - "nameLocation": "14801:8:10", + "nameLocation": "14801:8:23", "nodeType": "VariableDeclaration", - "scope": 3226, - "src": "14793:16:10", + "scope": 4832, + "src": "14793:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -89735,10 +108710,10 @@ "typeString": "address" }, "typeName": { - "id": 3205, + "id": 4811, "name": "address", "nodeType": "ElementaryTypeName", - "src": "14793:7:10", + "src": "14793:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -89748,21 +108723,21 @@ "visibility": "internal" } ], - "src": "14754:56:10" + "src": "14754:56:23" }, "returnParameters": { - "id": 3210, + "id": 4816, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3209, + "id": 4815, "mutability": "mutable", "name": "predicted", - "nameLocation": "14866:9:10", + "nameLocation": "14866:9:23", "nodeType": "VariableDeclaration", - "scope": 3226, - "src": "14858:17:10", + "scope": 4832, + "src": "14858:17:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -89770,10 +108745,10 @@ "typeString": "address" }, "typeName": { - "id": 3208, + "id": 4814, "name": "address", "nodeType": "ElementaryTypeName", - "src": "14858:7:10", + "src": "14858:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -89783,34 +108758,34 @@ "visibility": "internal" } ], - "src": "14857:19:10" + "src": "14857:19:23" }, - "scope": 5093, - "src": "14718:294:10", + "scope": 6699, + "src": "14718:294:23", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3241, + "id": 4847, "nodeType": "Block", - "src": "15438:58:10", + "src": "15438:58:23", "statements": [ { "expression": { - "id": 3239, + "id": 4845, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 3234, + "id": 4840, "name": "instance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3232, - "src": "15448:8:10", + "referencedDeclaration": 4838, + "src": "15448:8:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -89822,14 +108797,14 @@ "arguments": [ { "hexValue": "30", - "id": 3236, + "id": 4842, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15471:1:10", + "src": "15471:1:23", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -89837,12 +108812,12 @@ "value": "0" }, { - "id": 3237, + "id": 4843, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3229, - "src": "15474:14:10", + "referencedDeclaration": 4835, + "src": "15474:14:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -89860,21 +108835,21 @@ "typeString": "address" } ], - "id": 3235, + "id": 4841, "name": "clone_PUSH0", "nodeType": "Identifier", "overloadedDeclarations": [ - 3242, - 3254 + 4848, + 4860 ], - "referencedDeclaration": 3254, - "src": "15459:11:10", + "referencedDeclaration": 4860, + "src": "15459:11:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$returns$_t_address_$", "typeString": "function (uint256,address) returns (address)" } }, - "id": 3238, + "id": 4844, "isConstant": false, "isLValue": false, "isPure": false, @@ -89883,51 +108858,51 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "15459:30:10", + "src": "15459:30:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "15448:41:10", + "src": "15448:41:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 3240, + "id": 4846, "nodeType": "ExpressionStatement", - "src": "15448:41:10" + "src": "15448:41:23" } ] }, "documentation": { - "id": 3227, + "id": 4833, "nodeType": "StructuredDocumentation", - "src": "15301:51:10", + "src": "15301:51:23", "text": "@dev Deploys a PUSH0 clone of `implementation`." }, - "id": 3242, + "id": 4848, "implemented": true, "kind": "function", "modifiers": [], "name": "clone_PUSH0", - "nameLocation": "15366:11:10", + "nameLocation": "15366:11:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3230, + "id": 4836, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3229, + "id": 4835, "mutability": "mutable", "name": "implementation", - "nameLocation": "15386:14:10", + "nameLocation": "15386:14:23", "nodeType": "VariableDeclaration", - "scope": 3242, - "src": "15378:22:10", + "scope": 4848, + "src": "15378:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -89935,10 +108910,10 @@ "typeString": "address" }, "typeName": { - "id": 3228, + "id": 4834, "name": "address", "nodeType": "ElementaryTypeName", - "src": "15378:7:10", + "src": "15378:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -89948,21 +108923,21 @@ "visibility": "internal" } ], - "src": "15377:24:10" + "src": "15377:24:23" }, "returnParameters": { - "id": 3233, + "id": 4839, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3232, + "id": 4838, "mutability": "mutable", "name": "instance", - "nameLocation": "15428:8:10", + "nameLocation": "15428:8:23", "nodeType": "VariableDeclaration", - "scope": 3242, - "src": "15420:16:10", + "scope": 4848, + "src": "15420:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -89970,10 +108945,10 @@ "typeString": "address" }, "typeName": { - "id": 3231, + "id": 4837, "name": "address", "nodeType": "ElementaryTypeName", - "src": "15420:7:10", + "src": "15420:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -89983,247 +108958,247 @@ "visibility": "internal" } ], - "src": "15419:18:10" + "src": "15419:18:23" }, - "scope": 5093, - "src": "15357:139:10", + "scope": 6699, + "src": "15357:139:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3253, + "id": 4859, "nodeType": "Block", - "src": "15722:5591:10", + "src": "15722:5591:23", "statements": [ { "AST": { - "nativeSrc": "15784:5523:10", + "nativeSrc": "15784:5523:23", "nodeType": "YulBlock", - "src": "15784:5523:10", + "src": "15784:5523:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "20842:4:10", + "nativeSrc": "20842:4:23", "nodeType": "YulLiteral", - "src": "20842:4:10", + "src": "20842:4:23", "type": "", "value": "0x24" }, { "kind": "number", - "nativeSrc": "20848:34:10", + "nativeSrc": "20848:34:23", "nodeType": "YulLiteral", - "src": "20848:34:10", + "src": "20848:34:23", "type": "", "value": "0x5af43d5f5f3e6029573d5ffd5b3d5ff3" } ], "functionName": { "name": "mstore", - "nativeSrc": "20835:6:10", + "nativeSrc": "20835:6:23", "nodeType": "YulIdentifier", - "src": "20835:6:10" + "src": "20835:6:23" }, - "nativeSrc": "20835:48:10", + "nativeSrc": "20835:48:23", "nodeType": "YulFunctionCall", - "src": "20835:48:10" + "src": "20835:48:23" }, - "nativeSrc": "20835:48:10", + "nativeSrc": "20835:48:23", "nodeType": "YulExpressionStatement", - "src": "20835:48:10" + "src": "20835:48:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "20909:4:10", + "nativeSrc": "20909:4:23", "nodeType": "YulLiteral", - "src": "20909:4:10", + "src": "20909:4:23", "type": "", "value": "0x14" }, { "name": "implementation", - "nativeSrc": "20915:14:10", + "nativeSrc": "20915:14:23", "nodeType": "YulIdentifier", - "src": "20915:14:10" + "src": "20915:14:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "20902:6:10", + "nativeSrc": "20902:6:23", "nodeType": "YulIdentifier", - "src": "20902:6:10" + "src": "20902:6:23" }, - "nativeSrc": "20902:28:10", + "nativeSrc": "20902:28:23", "nodeType": "YulFunctionCall", - "src": "20902:28:10" + "src": "20902:28:23" }, - "nativeSrc": "20902:28:10", + "nativeSrc": "20902:28:23", "nodeType": "YulExpressionStatement", - "src": "20902:28:10" + "src": "20902:28:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "20956:4:10", + "nativeSrc": "20956:4:23", "nodeType": "YulLiteral", - "src": "20956:4:10", + "src": "20956:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "20962:38:10", + "nativeSrc": "20962:38:23", "nodeType": "YulLiteral", - "src": "20962:38:10", + "src": "20962:38:23", "type": "", "value": "0x602d5f8160095f39f35f5f365f5f37365f73" } ], "functionName": { "name": "mstore", - "nativeSrc": "20949:6:10", + "nativeSrc": "20949:6:23", "nodeType": "YulIdentifier", - "src": "20949:6:10" + "src": "20949:6:23" }, - "nativeSrc": "20949:52:10", + "nativeSrc": "20949:52:23", "nodeType": "YulFunctionCall", - "src": "20949:52:10" + "src": "20949:52:23" }, - "nativeSrc": "20949:52:10", + "nativeSrc": "20949:52:23", "nodeType": "YulExpressionStatement", - "src": "20949:52:10" + "src": "20949:52:23" }, { - "nativeSrc": "21023:37:10", + "nativeSrc": "21023:37:23", "nodeType": "YulAssignment", - "src": "21023:37:10", + "src": "21023:37:23", "value": { "arguments": [ { "name": "value", - "nativeSrc": "21042:5:10", + "nativeSrc": "21042:5:23", "nodeType": "YulIdentifier", - "src": "21042:5:10" + "src": "21042:5:23" }, { "kind": "number", - "nativeSrc": "21049:4:10", + "nativeSrc": "21049:4:23", "nodeType": "YulLiteral", - "src": "21049:4:10", + "src": "21049:4:23", "type": "", "value": "0x0e" }, { "kind": "number", - "nativeSrc": "21055:4:10", + "nativeSrc": "21055:4:23", "nodeType": "YulLiteral", - "src": "21055:4:10", + "src": "21055:4:23", "type": "", "value": "0x36" } ], "functionName": { "name": "create", - "nativeSrc": "21035:6:10", + "nativeSrc": "21035:6:23", "nodeType": "YulIdentifier", - "src": "21035:6:10" + "src": "21035:6:23" }, - "nativeSrc": "21035:25:10", + "nativeSrc": "21035:25:23", "nodeType": "YulFunctionCall", - "src": "21035:25:10" + "src": "21035:25:23" }, "variableNames": [ { "name": "instance", - "nativeSrc": "21023:8:10", + "nativeSrc": "21023:8:23", "nodeType": "YulIdentifier", - "src": "21023:8:10" + "src": "21023:8:23" } ] }, { "body": { - "nativeSrc": "21093:116:10", + "nativeSrc": "21093:116:23", "nodeType": "YulBlock", - "src": "21093:116:10", + "src": "21093:116:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "21118:4:10", + "nativeSrc": "21118:4:23", "nodeType": "YulLiteral", - "src": "21118:4:10", + "src": "21118:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "21124:10:10", + "nativeSrc": "21124:10:23", "nodeType": "YulLiteral", - "src": "21124:10:10", + "src": "21124:10:23", "type": "", "value": "0x30116425" } ], "functionName": { "name": "mstore", - "nativeSrc": "21111:6:10", + "nativeSrc": "21111:6:23", "nodeType": "YulIdentifier", - "src": "21111:6:10" + "src": "21111:6:23" }, - "nativeSrc": "21111:24:10", + "nativeSrc": "21111:24:23", "nodeType": "YulFunctionCall", - "src": "21111:24:10" + "src": "21111:24:23" }, - "nativeSrc": "21111:24:10", + "nativeSrc": "21111:24:23", "nodeType": "YulExpressionStatement", - "src": "21111:24:10" + "src": "21111:24:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "21184:4:10", + "nativeSrc": "21184:4:23", "nodeType": "YulLiteral", - "src": "21184:4:10", + "src": "21184:4:23", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "21190:4:10", + "nativeSrc": "21190:4:23", "nodeType": "YulLiteral", - "src": "21190:4:10", + "src": "21190:4:23", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "21177:6:10", + "nativeSrc": "21177:6:23", "nodeType": "YulIdentifier", - "src": "21177:6:10" + "src": "21177:6:23" }, - "nativeSrc": "21177:18:10", + "nativeSrc": "21177:18:23", "nodeType": "YulFunctionCall", - "src": "21177:18:10" + "src": "21177:18:23" }, - "nativeSrc": "21177:18:10", + "nativeSrc": "21177:18:23", "nodeType": "YulExpressionStatement", - "src": "21177:18:10" + "src": "21177:18:23" } ] }, @@ -90231,58 +109206,58 @@ "arguments": [ { "name": "instance", - "nativeSrc": "21083:8:10", + "nativeSrc": "21083:8:23", "nodeType": "YulIdentifier", - "src": "21083:8:10" + "src": "21083:8:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "21076:6:10", + "nativeSrc": "21076:6:23", "nodeType": "YulIdentifier", - "src": "21076:6:10" + "src": "21076:6:23" }, - "nativeSrc": "21076:16:10", + "nativeSrc": "21076:16:23", "nodeType": "YulFunctionCall", - "src": "21076:16:10" + "src": "21076:16:23" }, - "nativeSrc": "21073:136:10", + "nativeSrc": "21073:136:23", "nodeType": "YulIf", - "src": "21073:136:10" + "src": "21073:136:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "21229:4:10", + "nativeSrc": "21229:4:23", "nodeType": "YulLiteral", - "src": "21229:4:10", + "src": "21229:4:23", "type": "", "value": "0x24" }, { "kind": "number", - "nativeSrc": "21235:1:10", + "nativeSrc": "21235:1:23", "nodeType": "YulLiteral", - "src": "21235:1:10", + "src": "21235:1:23", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "21222:6:10", + "nativeSrc": "21222:6:23", "nodeType": "YulIdentifier", - "src": "21222:6:10" + "src": "21222:6:23" }, - "nativeSrc": "21222:15:10", + "nativeSrc": "21222:15:23", "nodeType": "YulFunctionCall", - "src": "21222:15:10" + "src": "21222:15:23" }, - "nativeSrc": "21222:15:10", + "nativeSrc": "21222:15:23", "nodeType": "YulExpressionStatement", - "src": "21222:15:10" + "src": "21222:15:23" } ] }, @@ -90290,66 +109265,66 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3247, + "declaration": 4853, "isOffset": false, "isSlot": false, - "src": "20915:14:10", + "src": "20915:14:23", "valueSize": 1 }, { - "declaration": 3250, + "declaration": 4856, "isOffset": false, "isSlot": false, - "src": "21023:8:10", + "src": "21023:8:23", "valueSize": 1 }, { - "declaration": 3250, + "declaration": 4856, "isOffset": false, "isSlot": false, - "src": "21083:8:10", + "src": "21083:8:23", "valueSize": 1 }, { - "declaration": 3245, + "declaration": 4851, "isOffset": false, "isSlot": false, - "src": "21042:5:10", + "src": "21042:5:23", "valueSize": 1 } ], - "id": 3252, + "id": 4858, "nodeType": "InlineAssembly", - "src": "15775:5532:10" + "src": "15775:5532:23" } ] }, "documentation": { - "id": 3243, + "id": 4849, "nodeType": "StructuredDocumentation", - "src": "15502:99:10", + "src": "15502:99:23", "text": "@dev Deploys a PUSH0 clone of `implementation`.\n Deposits `value` ETH during deployment." }, - "id": 3254, + "id": 4860, "implemented": true, "kind": "function", "modifiers": [], "name": "clone_PUSH0", - "nameLocation": "15615:11:10", + "nameLocation": "15615:11:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3248, + "id": 4854, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3245, + "id": 4851, "mutability": "mutable", "name": "value", - "nameLocation": "15635:5:10", + "nameLocation": "15635:5:23", "nodeType": "VariableDeclaration", - "scope": 3254, - "src": "15627:13:10", + "scope": 4860, + "src": "15627:13:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -90357,10 +109332,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3244, + "id": 4850, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "15627:7:10", + "src": "15627:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -90370,13 +109345,13 @@ }, { "constant": false, - "id": 3247, + "id": 4853, "mutability": "mutable", "name": "implementation", - "nameLocation": "15650:14:10", + "nameLocation": "15650:14:23", "nodeType": "VariableDeclaration", - "scope": 3254, - "src": "15642:22:10", + "scope": 4860, + "src": "15642:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -90384,10 +109359,10 @@ "typeString": "address" }, "typeName": { - "id": 3246, + "id": 4852, "name": "address", "nodeType": "ElementaryTypeName", - "src": "15642:7:10", + "src": "15642:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -90397,21 +109372,21 @@ "visibility": "internal" } ], - "src": "15626:39:10" + "src": "15626:39:23" }, "returnParameters": { - "id": 3251, + "id": 4857, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3250, + "id": 4856, "mutability": "mutable", "name": "instance", - "nameLocation": "15708:8:10", + "nameLocation": "15708:8:23", "nodeType": "VariableDeclaration", - "scope": 3254, - "src": "15700:16:10", + "scope": 4860, + "src": "15700:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -90419,10 +109394,10 @@ "typeString": "address" }, "typeName": { - "id": 3249, + "id": 4855, "name": "address", "nodeType": "ElementaryTypeName", - "src": "15700:7:10", + "src": "15700:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -90432,34 +109407,34 @@ "visibility": "internal" } ], - "src": "15699:18:10" + "src": "15699:18:23" }, - "scope": 5093, - "src": "15606:5707:10", + "scope": 6699, + "src": "15606:5707:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3272, + "id": 4878, "nodeType": "Block", - "src": "21529:77:10", + "src": "21529:77:23", "statements": [ { "expression": { - "id": 3270, + "id": 4876, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 3264, + "id": 4870, "name": "instance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3262, - "src": "21539:8:10", + "referencedDeclaration": 4868, + "src": "21539:8:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -90471,14 +109446,14 @@ "arguments": [ { "hexValue": "30", - "id": 3266, + "id": 4872, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "21575:1:10", + "src": "21575:1:23", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -90486,24 +109461,24 @@ "value": "0" }, { - "id": 3267, + "id": 4873, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3257, - "src": "21578:14:10", + "referencedDeclaration": 4863, + "src": "21578:14:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 3268, + "id": 4874, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3259, - "src": "21594:4:10", + "referencedDeclaration": 4865, + "src": "21594:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -90525,21 +109500,21 @@ "typeString": "bytes32" } ], - "id": 3265, + "id": 4871, "name": "cloneDeterministic_PUSH0", "nodeType": "Identifier", "overloadedDeclarations": [ - 3273, - 3287 + 4879, + 4893 ], - "referencedDeclaration": 3287, - "src": "21550:24:10", + "referencedDeclaration": 4893, + "src": "21550:24:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes32_$returns$_t_address_$", "typeString": "function (uint256,address,bytes32) returns (address)" } }, - "id": 3269, + "id": 4875, "isConstant": false, "isLValue": false, "isPure": false, @@ -90548,51 +109523,51 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "21550:49:10", + "src": "21550:49:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "21539:60:10", + "src": "21539:60:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 3271, + "id": 4877, "nodeType": "ExpressionStatement", - "src": "21539:60:10" + "src": "21539:60:23" } ] }, "documentation": { - "id": 3255, + "id": 4861, "nodeType": "StructuredDocumentation", - "src": "21319:77:10", + "src": "21319:77:23", "text": "@dev Deploys a deterministic PUSH0 clone of `implementation` with `salt`." }, - "id": 3273, + "id": 4879, "implemented": true, "kind": "function", "modifiers": [], "name": "cloneDeterministic_PUSH0", - "nameLocation": "21410:24:10", + "nameLocation": "21410:24:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3260, + "id": 4866, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3257, + "id": 4863, "mutability": "mutable", "name": "implementation", - "nameLocation": "21443:14:10", + "nameLocation": "21443:14:23", "nodeType": "VariableDeclaration", - "scope": 3273, - "src": "21435:22:10", + "scope": 4879, + "src": "21435:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -90600,10 +109575,10 @@ "typeString": "address" }, "typeName": { - "id": 3256, + "id": 4862, "name": "address", "nodeType": "ElementaryTypeName", - "src": "21435:7:10", + "src": "21435:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -90614,13 +109589,13 @@ }, { "constant": false, - "id": 3259, + "id": 4865, "mutability": "mutable", "name": "salt", - "nameLocation": "21467:4:10", + "nameLocation": "21467:4:23", "nodeType": "VariableDeclaration", - "scope": 3273, - "src": "21459:12:10", + "scope": 4879, + "src": "21459:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -90628,10 +109603,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 3258, + "id": 4864, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "21459:7:10", + "src": "21459:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -90640,21 +109615,21 @@ "visibility": "internal" } ], - "src": "21434:38:10" + "src": "21434:38:23" }, "returnParameters": { - "id": 3263, + "id": 4869, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3262, + "id": 4868, "mutability": "mutable", "name": "instance", - "nameLocation": "21515:8:10", + "nameLocation": "21515:8:23", "nodeType": "VariableDeclaration", - "scope": 3273, - "src": "21507:16:10", + "scope": 4879, + "src": "21507:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -90662,10 +109637,10 @@ "typeString": "address" }, "typeName": { - "id": 3261, + "id": 4867, "name": "address", "nodeType": "ElementaryTypeName", - "src": "21507:7:10", + "src": "21507:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -90675,253 +109650,253 @@ "visibility": "internal" } ], - "src": "21506:18:10" + "src": "21506:18:23" }, - "scope": 5093, - "src": "21401:205:10", + "scope": 6699, + "src": "21401:205:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3286, + "id": 4892, "nodeType": "Block", - "src": "21885:561:10", + "src": "21885:561:23", "statements": [ { "AST": { - "nativeSrc": "21947:493:10", + "nativeSrc": "21947:493:23", "nodeType": "YulBlock", - "src": "21947:493:10", + "src": "21947:493:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "21968:4:10", + "nativeSrc": "21968:4:23", "nodeType": "YulLiteral", - "src": "21968:4:10", + "src": "21968:4:23", "type": "", "value": "0x24" }, { "kind": "number", - "nativeSrc": "21974:34:10", + "nativeSrc": "21974:34:23", "nodeType": "YulLiteral", - "src": "21974:34:10", + "src": "21974:34:23", "type": "", "value": "0x5af43d5f5f3e6029573d5ffd5b3d5ff3" } ], "functionName": { "name": "mstore", - "nativeSrc": "21961:6:10", + "nativeSrc": "21961:6:23", "nodeType": "YulIdentifier", - "src": "21961:6:10" + "src": "21961:6:23" }, - "nativeSrc": "21961:48:10", + "nativeSrc": "21961:48:23", "nodeType": "YulFunctionCall", - "src": "21961:48:10" + "src": "21961:48:23" }, - "nativeSrc": "21961:48:10", + "nativeSrc": "21961:48:23", "nodeType": "YulExpressionStatement", - "src": "21961:48:10" + "src": "21961:48:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "22035:4:10", + "nativeSrc": "22035:4:23", "nodeType": "YulLiteral", - "src": "22035:4:10", + "src": "22035:4:23", "type": "", "value": "0x14" }, { "name": "implementation", - "nativeSrc": "22041:14:10", + "nativeSrc": "22041:14:23", "nodeType": "YulIdentifier", - "src": "22041:14:10" + "src": "22041:14:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "22028:6:10", + "nativeSrc": "22028:6:23", "nodeType": "YulIdentifier", - "src": "22028:6:10" + "src": "22028:6:23" }, - "nativeSrc": "22028:28:10", + "nativeSrc": "22028:28:23", "nodeType": "YulFunctionCall", - "src": "22028:28:10" + "src": "22028:28:23" }, - "nativeSrc": "22028:28:10", + "nativeSrc": "22028:28:23", "nodeType": "YulExpressionStatement", - "src": "22028:28:10" + "src": "22028:28:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "22082:4:10", + "nativeSrc": "22082:4:23", "nodeType": "YulLiteral", - "src": "22082:4:10", + "src": "22082:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "22088:38:10", + "nativeSrc": "22088:38:23", "nodeType": "YulLiteral", - "src": "22088:38:10", + "src": "22088:38:23", "type": "", "value": "0x602d5f8160095f39f35f5f365f5f37365f73" } ], "functionName": { "name": "mstore", - "nativeSrc": "22075:6:10", + "nativeSrc": "22075:6:23", "nodeType": "YulIdentifier", - "src": "22075:6:10" + "src": "22075:6:23" }, - "nativeSrc": "22075:52:10", + "nativeSrc": "22075:52:23", "nodeType": "YulFunctionCall", - "src": "22075:52:10" + "src": "22075:52:23" }, - "nativeSrc": "22075:52:10", + "nativeSrc": "22075:52:23", "nodeType": "YulExpressionStatement", - "src": "22075:52:10" + "src": "22075:52:23" }, { - "nativeSrc": "22149:44:10", + "nativeSrc": "22149:44:23", "nodeType": "YulAssignment", - "src": "22149:44:10", + "src": "22149:44:23", "value": { "arguments": [ { "name": "value", - "nativeSrc": "22169:5:10", + "nativeSrc": "22169:5:23", "nodeType": "YulIdentifier", - "src": "22169:5:10" + "src": "22169:5:23" }, { "kind": "number", - "nativeSrc": "22176:4:10", + "nativeSrc": "22176:4:23", "nodeType": "YulLiteral", - "src": "22176:4:10", + "src": "22176:4:23", "type": "", "value": "0x0e" }, { "kind": "number", - "nativeSrc": "22182:4:10", + "nativeSrc": "22182:4:23", "nodeType": "YulLiteral", - "src": "22182:4:10", + "src": "22182:4:23", "type": "", "value": "0x36" }, { "name": "salt", - "nativeSrc": "22188:4:10", + "nativeSrc": "22188:4:23", "nodeType": "YulIdentifier", - "src": "22188:4:10" + "src": "22188:4:23" } ], "functionName": { "name": "create2", - "nativeSrc": "22161:7:10", + "nativeSrc": "22161:7:23", "nodeType": "YulIdentifier", - "src": "22161:7:10" + "src": "22161:7:23" }, - "nativeSrc": "22161:32:10", + "nativeSrc": "22161:32:23", "nodeType": "YulFunctionCall", - "src": "22161:32:10" + "src": "22161:32:23" }, "variableNames": [ { "name": "instance", - "nativeSrc": "22149:8:10", + "nativeSrc": "22149:8:23", "nodeType": "YulIdentifier", - "src": "22149:8:10" + "src": "22149:8:23" } ] }, { "body": { - "nativeSrc": "22226:116:10", + "nativeSrc": "22226:116:23", "nodeType": "YulBlock", - "src": "22226:116:10", + "src": "22226:116:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "22251:4:10", + "nativeSrc": "22251:4:23", "nodeType": "YulLiteral", - "src": "22251:4:10", + "src": "22251:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "22257:10:10", + "nativeSrc": "22257:10:23", "nodeType": "YulLiteral", - "src": "22257:10:10", + "src": "22257:10:23", "type": "", "value": "0x30116425" } ], "functionName": { "name": "mstore", - "nativeSrc": "22244:6:10", + "nativeSrc": "22244:6:23", "nodeType": "YulIdentifier", - "src": "22244:6:10" + "src": "22244:6:23" }, - "nativeSrc": "22244:24:10", + "nativeSrc": "22244:24:23", "nodeType": "YulFunctionCall", - "src": "22244:24:10" + "src": "22244:24:23" }, - "nativeSrc": "22244:24:10", + "nativeSrc": "22244:24:23", "nodeType": "YulExpressionStatement", - "src": "22244:24:10" + "src": "22244:24:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "22317:4:10", + "nativeSrc": "22317:4:23", "nodeType": "YulLiteral", - "src": "22317:4:10", + "src": "22317:4:23", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "22323:4:10", + "nativeSrc": "22323:4:23", "nodeType": "YulLiteral", - "src": "22323:4:10", + "src": "22323:4:23", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "22310:6:10", + "nativeSrc": "22310:6:23", "nodeType": "YulIdentifier", - "src": "22310:6:10" + "src": "22310:6:23" }, - "nativeSrc": "22310:18:10", + "nativeSrc": "22310:18:23", "nodeType": "YulFunctionCall", - "src": "22310:18:10" + "src": "22310:18:23" }, - "nativeSrc": "22310:18:10", + "nativeSrc": "22310:18:23", "nodeType": "YulExpressionStatement", - "src": "22310:18:10" + "src": "22310:18:23" } ] }, @@ -90929,58 +109904,58 @@ "arguments": [ { "name": "instance", - "nativeSrc": "22216:8:10", + "nativeSrc": "22216:8:23", "nodeType": "YulIdentifier", - "src": "22216:8:10" + "src": "22216:8:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "22209:6:10", + "nativeSrc": "22209:6:23", "nodeType": "YulIdentifier", - "src": "22209:6:10" + "src": "22209:6:23" }, - "nativeSrc": "22209:16:10", + "nativeSrc": "22209:16:23", "nodeType": "YulFunctionCall", - "src": "22209:16:10" + "src": "22209:16:23" }, - "nativeSrc": "22206:136:10", + "nativeSrc": "22206:136:23", "nodeType": "YulIf", - "src": "22206:136:10" + "src": "22206:136:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "22362:4:10", + "nativeSrc": "22362:4:23", "nodeType": "YulLiteral", - "src": "22362:4:10", + "src": "22362:4:23", "type": "", "value": "0x24" }, { "kind": "number", - "nativeSrc": "22368:1:10", + "nativeSrc": "22368:1:23", "nodeType": "YulLiteral", - "src": "22368:1:10", + "src": "22368:1:23", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "22355:6:10", + "nativeSrc": "22355:6:23", "nodeType": "YulIdentifier", - "src": "22355:6:10" + "src": "22355:6:23" }, - "nativeSrc": "22355:15:10", + "nativeSrc": "22355:15:23", "nodeType": "YulFunctionCall", - "src": "22355:15:10" + "src": "22355:15:23" }, - "nativeSrc": "22355:15:10", + "nativeSrc": "22355:15:23", "nodeType": "YulExpressionStatement", - "src": "22355:15:10" + "src": "22355:15:23" } ] }, @@ -90988,73 +109963,73 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3278, + "declaration": 4884, "isOffset": false, "isSlot": false, - "src": "22041:14:10", + "src": "22041:14:23", "valueSize": 1 }, { - "declaration": 3283, + "declaration": 4889, "isOffset": false, "isSlot": false, - "src": "22149:8:10", + "src": "22149:8:23", "valueSize": 1 }, { - "declaration": 3283, + "declaration": 4889, "isOffset": false, "isSlot": false, - "src": "22216:8:10", + "src": "22216:8:23", "valueSize": 1 }, { - "declaration": 3280, + "declaration": 4886, "isOffset": false, "isSlot": false, - "src": "22188:4:10", + "src": "22188:4:23", "valueSize": 1 }, { - "declaration": 3276, + "declaration": 4882, "isOffset": false, "isSlot": false, - "src": "22169:5:10", + "src": "22169:5:23", "valueSize": 1 } ], - "id": 3285, + "id": 4891, "nodeType": "InlineAssembly", - "src": "21938:502:10" + "src": "21938:502:23" } ] }, "documentation": { - "id": 3274, + "id": 4880, "nodeType": "StructuredDocumentation", - "src": "21612:125:10", + "src": "21612:125:23", "text": "@dev Deploys a deterministic PUSH0 clone of `implementation` with `salt`.\n Deposits `value` ETH during deployment." }, - "id": 3287, + "id": 4893, "implemented": true, "kind": "function", "modifiers": [], "name": "cloneDeterministic_PUSH0", - "nameLocation": "21751:24:10", + "nameLocation": "21751:24:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3281, + "id": 4887, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3276, + "id": 4882, "mutability": "mutable", "name": "value", - "nameLocation": "21784:5:10", + "nameLocation": "21784:5:23", "nodeType": "VariableDeclaration", - "scope": 3287, - "src": "21776:13:10", + "scope": 4893, + "src": "21776:13:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -91062,10 +110037,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3275, + "id": 4881, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "21776:7:10", + "src": "21776:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -91075,13 +110050,13 @@ }, { "constant": false, - "id": 3278, + "id": 4884, "mutability": "mutable", "name": "implementation", - "nameLocation": "21799:14:10", + "nameLocation": "21799:14:23", "nodeType": "VariableDeclaration", - "scope": 3287, - "src": "21791:22:10", + "scope": 4893, + "src": "21791:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -91089,10 +110064,10 @@ "typeString": "address" }, "typeName": { - "id": 3277, + "id": 4883, "name": "address", "nodeType": "ElementaryTypeName", - "src": "21791:7:10", + "src": "21791:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -91103,13 +110078,13 @@ }, { "constant": false, - "id": 3280, + "id": 4886, "mutability": "mutable", "name": "salt", - "nameLocation": "21823:4:10", + "nameLocation": "21823:4:23", "nodeType": "VariableDeclaration", - "scope": 3287, - "src": "21815:12:10", + "scope": 4893, + "src": "21815:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -91117,10 +110092,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 3279, + "id": 4885, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "21815:7:10", + "src": "21815:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -91129,21 +110104,21 @@ "visibility": "internal" } ], - "src": "21775:53:10" + "src": "21775:53:23" }, "returnParameters": { - "id": 3284, + "id": 4890, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3283, + "id": 4889, "mutability": "mutable", "name": "instance", - "nameLocation": "21871:8:10", + "nameLocation": "21871:8:23", "nodeType": "VariableDeclaration", - "scope": 3287, - "src": "21863:16:10", + "scope": 4893, + "src": "21863:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -91151,10 +110126,10 @@ "typeString": "address" }, "typeName": { - "id": 3282, + "id": 4888, "name": "address", "nodeType": "ElementaryTypeName", - "src": "21863:7:10", + "src": "21863:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -91164,57 +110139,57 @@ "visibility": "internal" } ], - "src": "21862:18:10" + "src": "21862:18:23" }, - "scope": 5093, - "src": "21742:704:10", + "scope": 6699, + "src": "21742:704:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3296, + "id": 4902, "nodeType": "Block", - "src": "22624:448:10", + "src": "22624:448:23", "statements": [ { "AST": { - "nativeSrc": "22686:380:10", + "nativeSrc": "22686:380:23", "nodeType": "YulBlock", - "src": "22686:380:10", + "src": "22686:380:23", "statements": [ { - "nativeSrc": "22700:16:10", + "nativeSrc": "22700:16:23", "nodeType": "YulAssignment", - "src": "22700:16:10", + "src": "22700:16:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "22711:4:10", + "nativeSrc": "22711:4:23", "nodeType": "YulLiteral", - "src": "22711:4:10", + "src": "22711:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "22705:5:10", + "nativeSrc": "22705:5:23", "nodeType": "YulIdentifier", - "src": "22705:5:10" + "src": "22705:5:23" }, - "nativeSrc": "22705:11:10", + "nativeSrc": "22705:11:23", "nodeType": "YulFunctionCall", - "src": "22705:11:10" + "src": "22705:11:23" }, "variableNames": [ { "name": "c", - "nativeSrc": "22700:1:10", + "nativeSrc": "22700:1:23", "nodeType": "YulIdentifier", - "src": "22700:1:10" + "src": "22700:1:23" } ] }, @@ -91225,51 +110200,51 @@ "arguments": [ { "name": "c", - "nativeSrc": "22740:1:10", + "nativeSrc": "22740:1:23", "nodeType": "YulIdentifier", - "src": "22740:1:10" + "src": "22740:1:23" }, { "kind": "number", - "nativeSrc": "22743:4:10", + "nativeSrc": "22743:4:23", "nodeType": "YulLiteral", - "src": "22743:4:10", + "src": "22743:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "add", - "nativeSrc": "22736:3:10", + "nativeSrc": "22736:3:23", "nodeType": "YulIdentifier", - "src": "22736:3:10" + "src": "22736:3:23" }, - "nativeSrc": "22736:12:10", + "nativeSrc": "22736:12:23", "nodeType": "YulFunctionCall", - "src": "22736:12:10" + "src": "22736:12:23" }, { "kind": "number", - "nativeSrc": "22750:54:10", + "nativeSrc": "22750:54:23", "nodeType": "YulLiteral", - "src": "22750:54:10", + "src": "22750:54:23", "type": "", "value": "0x5af43d5f5f3e6029573d5ffd5b3d5ff300000000000000000000" } ], "functionName": { "name": "mstore", - "nativeSrc": "22729:6:10", + "nativeSrc": "22729:6:23", "nodeType": "YulIdentifier", - "src": "22729:6:10" + "src": "22729:6:23" }, - "nativeSrc": "22729:76:10", + "nativeSrc": "22729:76:23", "nodeType": "YulFunctionCall", - "src": "22729:76:10" + "src": "22729:76:23" }, - "nativeSrc": "22729:76:10", + "nativeSrc": "22729:76:23", "nodeType": "YulExpressionStatement", - "src": "22729:76:10" + "src": "22729:76:23" }, { "expression": { @@ -91278,49 +110253,49 @@ "arguments": [ { "name": "c", - "nativeSrc": "22835:1:10", + "nativeSrc": "22835:1:23", "nodeType": "YulIdentifier", - "src": "22835:1:10" + "src": "22835:1:23" }, { "kind": "number", - "nativeSrc": "22838:4:10", + "nativeSrc": "22838:4:23", "nodeType": "YulLiteral", - "src": "22838:4:10", + "src": "22838:4:23", "type": "", "value": "0x26" } ], "functionName": { "name": "add", - "nativeSrc": "22831:3:10", + "nativeSrc": "22831:3:23", "nodeType": "YulIdentifier", - "src": "22831:3:10" + "src": "22831:3:23" }, - "nativeSrc": "22831:12:10", + "nativeSrc": "22831:12:23", "nodeType": "YulFunctionCall", - "src": "22831:12:10" + "src": "22831:12:23" }, { "name": "implementation", - "nativeSrc": "22845:14:10", + "nativeSrc": "22845:14:23", "nodeType": "YulIdentifier", - "src": "22845:14:10" + "src": "22845:14:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "22824:6:10", + "nativeSrc": "22824:6:23", "nodeType": "YulIdentifier", - "src": "22824:6:10" + "src": "22824:6:23" }, - "nativeSrc": "22824:36:10", + "nativeSrc": "22824:36:23", "nodeType": "YulFunctionCall", - "src": "22824:36:10" + "src": "22824:36:23" }, - "nativeSrc": "22824:36:10", + "nativeSrc": "22824:36:23", "nodeType": "YulExpressionStatement", - "src": "22824:36:10" + "src": "22824:36:23" }, { "expression": { @@ -91329,92 +110304,92 @@ "arguments": [ { "name": "c", - "nativeSrc": "22890:1:10", + "nativeSrc": "22890:1:23", "nodeType": "YulIdentifier", - "src": "22890:1:10" + "src": "22890:1:23" }, { "kind": "number", - "nativeSrc": "22893:4:10", + "nativeSrc": "22893:4:23", "nodeType": "YulLiteral", - "src": "22893:4:10", + "src": "22893:4:23", "type": "", "value": "0x12" } ], "functionName": { "name": "add", - "nativeSrc": "22886:3:10", + "nativeSrc": "22886:3:23", "nodeType": "YulIdentifier", - "src": "22886:3:10" + "src": "22886:3:23" }, - "nativeSrc": "22886:12:10", + "nativeSrc": "22886:12:23", "nodeType": "YulFunctionCall", - "src": "22886:12:10" + "src": "22886:12:23" }, { "kind": "number", - "nativeSrc": "22900:38:10", + "nativeSrc": "22900:38:23", "nodeType": "YulLiteral", - "src": "22900:38:10", + "src": "22900:38:23", "type": "", "value": "0x602d5f8160095f39f35f5f365f5f37365f73" } ], "functionName": { "name": "mstore", - "nativeSrc": "22879:6:10", + "nativeSrc": "22879:6:23", "nodeType": "YulIdentifier", - "src": "22879:6:10" + "src": "22879:6:23" }, - "nativeSrc": "22879:60:10", + "nativeSrc": "22879:60:23", "nodeType": "YulFunctionCall", - "src": "22879:60:10" + "src": "22879:60:23" }, - "nativeSrc": "22879:60:10", + "nativeSrc": "22879:60:23", "nodeType": "YulExpressionStatement", - "src": "22879:60:10" + "src": "22879:60:23" }, { "expression": { "arguments": [ { "name": "c", - "nativeSrc": "22968:1:10", + "nativeSrc": "22968:1:23", "nodeType": "YulIdentifier", - "src": "22968:1:10" + "src": "22968:1:23" }, { "kind": "number", - "nativeSrc": "22971:4:10", + "nativeSrc": "22971:4:23", "nodeType": "YulLiteral", - "src": "22971:4:10", + "src": "22971:4:23", "type": "", "value": "0x36" } ], "functionName": { "name": "mstore", - "nativeSrc": "22961:6:10", + "nativeSrc": "22961:6:23", "nodeType": "YulIdentifier", - "src": "22961:6:10" + "src": "22961:6:23" }, - "nativeSrc": "22961:15:10", + "nativeSrc": "22961:15:23", "nodeType": "YulFunctionCall", - "src": "22961:15:10" + "src": "22961:15:23" }, - "nativeSrc": "22961:15:10", + "nativeSrc": "22961:15:23", "nodeType": "YulExpressionStatement", - "src": "22961:15:10" + "src": "22961:15:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "23017:4:10", + "nativeSrc": "23017:4:23", "nodeType": "YulLiteral", - "src": "23017:4:10", + "src": "23017:4:23", "type": "", "value": "0x40" }, @@ -91422,43 +110397,43 @@ "arguments": [ { "name": "c", - "nativeSrc": "23027:1:10", + "nativeSrc": "23027:1:23", "nodeType": "YulIdentifier", - "src": "23027:1:10" + "src": "23027:1:23" }, { "kind": "number", - "nativeSrc": "23030:4:10", + "nativeSrc": "23030:4:23", "nodeType": "YulLiteral", - "src": "23030:4:10", + "src": "23030:4:23", "type": "", "value": "0x60" } ], "functionName": { "name": "add", - "nativeSrc": "23023:3:10", + "nativeSrc": "23023:3:23", "nodeType": "YulIdentifier", - "src": "23023:3:10" + "src": "23023:3:23" }, - "nativeSrc": "23023:12:10", + "nativeSrc": "23023:12:23", "nodeType": "YulFunctionCall", - "src": "23023:12:10" + "src": "23023:12:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "23010:6:10", + "nativeSrc": "23010:6:23", "nodeType": "YulIdentifier", - "src": "23010:6:10" + "src": "23010:6:23" }, - "nativeSrc": "23010:26:10", + "nativeSrc": "23010:26:23", "nodeType": "YulFunctionCall", - "src": "23010:26:10" + "src": "23010:26:23" }, - "nativeSrc": "23010:26:10", + "nativeSrc": "23010:26:23", "nodeType": "YulExpressionStatement", - "src": "23010:26:10" + "src": "23010:26:23" } ] }, @@ -91466,87 +110441,87 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3293, + "declaration": 4899, "isOffset": false, "isSlot": false, - "src": "22700:1:10", + "src": "22700:1:23", "valueSize": 1 }, { - "declaration": 3293, + "declaration": 4899, "isOffset": false, "isSlot": false, - "src": "22740:1:10", + "src": "22740:1:23", "valueSize": 1 }, { - "declaration": 3293, + "declaration": 4899, "isOffset": false, "isSlot": false, - "src": "22835:1:10", + "src": "22835:1:23", "valueSize": 1 }, { - "declaration": 3293, + "declaration": 4899, "isOffset": false, "isSlot": false, - "src": "22890:1:10", + "src": "22890:1:23", "valueSize": 1 }, { - "declaration": 3293, + "declaration": 4899, "isOffset": false, "isSlot": false, - "src": "22968:1:10", + "src": "22968:1:23", "valueSize": 1 }, { - "declaration": 3293, + "declaration": 4899, "isOffset": false, "isSlot": false, - "src": "23027:1:10", + "src": "23027:1:23", "valueSize": 1 }, { - "declaration": 3290, + "declaration": 4896, "isOffset": false, "isSlot": false, - "src": "22845:14:10", + "src": "22845:14:23", "valueSize": 1 } ], - "id": 3295, + "id": 4901, "nodeType": "InlineAssembly", - "src": "22677:389:10" + "src": "22677:389:23" } ] }, "documentation": { - "id": 3288, + "id": 4894, "nodeType": "StructuredDocumentation", - "src": "22452:80:10", + "src": "22452:80:23", "text": "@dev Returns the initialization code of the PUSH0 clone of `implementation`." }, - "id": 3297, + "id": 4903, "implemented": true, "kind": "function", "modifiers": [], "name": "initCode_PUSH0", - "nameLocation": "22546:14:10", + "nameLocation": "22546:14:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3291, + "id": 4897, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3290, + "id": 4896, "mutability": "mutable", "name": "implementation", - "nameLocation": "22569:14:10", + "nameLocation": "22569:14:23", "nodeType": "VariableDeclaration", - "scope": 3297, - "src": "22561:22:10", + "scope": 4903, + "src": "22561:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -91554,10 +110529,10 @@ "typeString": "address" }, "typeName": { - "id": 3289, + "id": 4895, "name": "address", "nodeType": "ElementaryTypeName", - "src": "22561:7:10", + "src": "22561:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -91567,21 +110542,21 @@ "visibility": "internal" } ], - "src": "22560:24:10" + "src": "22560:24:23" }, "returnParameters": { - "id": 3294, + "id": 4900, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3293, + "id": 4899, "mutability": "mutable", "name": "c", - "nameLocation": "22621:1:10", + "nameLocation": "22621:1:23", "nodeType": "VariableDeclaration", - "scope": 3297, - "src": "22608:14:10", + "scope": 4903, + "src": "22608:14:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -91589,10 +110564,10 @@ "typeString": "bytes" }, "typeName": { - "id": 3292, + "id": 4898, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "22608:5:10", + "src": "22608:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -91601,165 +110576,165 @@ "visibility": "internal" } ], - "src": "22607:16:10" + "src": "22607:16:23" }, - "scope": 5093, - "src": "22537:535:10", + "scope": 6699, + "src": "22537:535:23", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3306, + "id": 4912, "nodeType": "Block", - "src": "23257:397:10", + "src": "23257:397:23", "statements": [ { "AST": { - "nativeSrc": "23319:329:10", + "nativeSrc": "23319:329:23", "nodeType": "YulBlock", - "src": "23319:329:10", + "src": "23319:329:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "23340:4:10", + "nativeSrc": "23340:4:23", "nodeType": "YulLiteral", - "src": "23340:4:10", + "src": "23340:4:23", "type": "", "value": "0x24" }, { "kind": "number", - "nativeSrc": "23346:34:10", + "nativeSrc": "23346:34:23", "nodeType": "YulLiteral", - "src": "23346:34:10", + "src": "23346:34:23", "type": "", "value": "0x5af43d5f5f3e6029573d5ffd5b3d5ff3" } ], "functionName": { "name": "mstore", - "nativeSrc": "23333:6:10", + "nativeSrc": "23333:6:23", "nodeType": "YulIdentifier", - "src": "23333:6:10" + "src": "23333:6:23" }, - "nativeSrc": "23333:48:10", + "nativeSrc": "23333:48:23", "nodeType": "YulFunctionCall", - "src": "23333:48:10" + "src": "23333:48:23" }, - "nativeSrc": "23333:48:10", + "nativeSrc": "23333:48:23", "nodeType": "YulExpressionStatement", - "src": "23333:48:10" + "src": "23333:48:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "23407:4:10", + "nativeSrc": "23407:4:23", "nodeType": "YulLiteral", - "src": "23407:4:10", + "src": "23407:4:23", "type": "", "value": "0x14" }, { "name": "implementation", - "nativeSrc": "23413:14:10", + "nativeSrc": "23413:14:23", "nodeType": "YulIdentifier", - "src": "23413:14:10" + "src": "23413:14:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "23400:6:10", + "nativeSrc": "23400:6:23", "nodeType": "YulIdentifier", - "src": "23400:6:10" + "src": "23400:6:23" }, - "nativeSrc": "23400:28:10", + "nativeSrc": "23400:28:23", "nodeType": "YulFunctionCall", - "src": "23400:28:10" + "src": "23400:28:23" }, - "nativeSrc": "23400:28:10", + "nativeSrc": "23400:28:23", "nodeType": "YulExpressionStatement", - "src": "23400:28:10" + "src": "23400:28:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "23454:4:10", + "nativeSrc": "23454:4:23", "nodeType": "YulLiteral", - "src": "23454:4:10", + "src": "23454:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "23460:38:10", + "nativeSrc": "23460:38:23", "nodeType": "YulLiteral", - "src": "23460:38:10", + "src": "23460:38:23", "type": "", "value": "0x602d5f8160095f39f35f5f365f5f37365f73" } ], "functionName": { "name": "mstore", - "nativeSrc": "23447:6:10", + "nativeSrc": "23447:6:23", "nodeType": "YulIdentifier", - "src": "23447:6:10" + "src": "23447:6:23" }, - "nativeSrc": "23447:52:10", + "nativeSrc": "23447:52:23", "nodeType": "YulFunctionCall", - "src": "23447:52:10" + "src": "23447:52:23" }, - "nativeSrc": "23447:52:10", + "nativeSrc": "23447:52:23", "nodeType": "YulExpressionStatement", - "src": "23447:52:10" + "src": "23447:52:23" }, { - "nativeSrc": "23521:29:10", + "nativeSrc": "23521:29:23", "nodeType": "YulAssignment", - "src": "23521:29:10", + "src": "23521:29:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "23539:4:10", + "nativeSrc": "23539:4:23", "nodeType": "YulLiteral", - "src": "23539:4:10", + "src": "23539:4:23", "type": "", "value": "0x0e" }, { "kind": "number", - "nativeSrc": "23545:4:10", + "nativeSrc": "23545:4:23", "nodeType": "YulLiteral", - "src": "23545:4:10", + "src": "23545:4:23", "type": "", "value": "0x36" } ], "functionName": { "name": "keccak256", - "nativeSrc": "23529:9:10", + "nativeSrc": "23529:9:23", "nodeType": "YulIdentifier", - "src": "23529:9:10" + "src": "23529:9:23" }, - "nativeSrc": "23529:21:10", + "nativeSrc": "23529:21:23", "nodeType": "YulFunctionCall", - "src": "23529:21:10" + "src": "23529:21:23" }, "variableNames": [ { "name": "hash", - "nativeSrc": "23521:4:10", + "nativeSrc": "23521:4:23", "nodeType": "YulIdentifier", - "src": "23521:4:10" + "src": "23521:4:23" } ] }, @@ -91768,34 +110743,34 @@ "arguments": [ { "kind": "number", - "nativeSrc": "23570:4:10", + "nativeSrc": "23570:4:23", "nodeType": "YulLiteral", - "src": "23570:4:10", + "src": "23570:4:23", "type": "", "value": "0x24" }, { "kind": "number", - "nativeSrc": "23576:1:10", + "nativeSrc": "23576:1:23", "nodeType": "YulLiteral", - "src": "23576:1:10", + "src": "23576:1:23", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "23563:6:10", + "nativeSrc": "23563:6:23", "nodeType": "YulIdentifier", - "src": "23563:6:10" + "src": "23563:6:23" }, - "nativeSrc": "23563:15:10", + "nativeSrc": "23563:15:23", "nodeType": "YulFunctionCall", - "src": "23563:15:10" + "src": "23563:15:23" }, - "nativeSrc": "23563:15:10", + "nativeSrc": "23563:15:23", "nodeType": "YulExpressionStatement", - "src": "23563:15:10" + "src": "23563:15:23" } ] }, @@ -91803,52 +110778,52 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3303, + "declaration": 4909, "isOffset": false, "isSlot": false, - "src": "23521:4:10", + "src": "23521:4:23", "valueSize": 1 }, { - "declaration": 3300, + "declaration": 4906, "isOffset": false, "isSlot": false, - "src": "23413:14:10", + "src": "23413:14:23", "valueSize": 1 } ], - "id": 3305, + "id": 4911, "nodeType": "InlineAssembly", - "src": "23310:338:10" + "src": "23310:338:23" } ] }, "documentation": { - "id": 3298, + "id": 4904, "nodeType": "StructuredDocumentation", - "src": "23078:85:10", + "src": "23078:85:23", "text": "@dev Returns the initialization code hash of the PUSH0 clone of `implementation`." }, - "id": 3307, + "id": 4913, "implemented": true, "kind": "function", "modifiers": [], "name": "initCodeHash_PUSH0", - "nameLocation": "23177:18:10", + "nameLocation": "23177:18:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3301, + "id": 4907, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3300, + "id": 4906, "mutability": "mutable", "name": "implementation", - "nameLocation": "23204:14:10", + "nameLocation": "23204:14:23", "nodeType": "VariableDeclaration", - "scope": 3307, - "src": "23196:22:10", + "scope": 4913, + "src": "23196:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -91856,10 +110831,10 @@ "typeString": "address" }, "typeName": { - "id": 3299, + "id": 4905, "name": "address", "nodeType": "ElementaryTypeName", - "src": "23196:7:10", + "src": "23196:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -91869,21 +110844,21 @@ "visibility": "internal" } ], - "src": "23195:24:10" + "src": "23195:24:23" }, "returnParameters": { - "id": 3304, + "id": 4910, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3303, + "id": 4909, "mutability": "mutable", "name": "hash", - "nameLocation": "23251:4:10", + "nameLocation": "23251:4:23", "nodeType": "VariableDeclaration", - "scope": 3307, - "src": "23243:12:10", + "scope": 4913, + "src": "23243:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -91891,10 +110866,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 3302, + "id": 4908, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "23243:7:10", + "src": "23243:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -91903,34 +110878,34 @@ "visibility": "internal" } ], - "src": "23242:14:10" + "src": "23242:14:23" }, - "scope": 5093, - "src": "23168:486:10", + "scope": 6699, + "src": "23168:486:23", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3333, + "id": 4939, "nodeType": "Block", - "src": "24024:137:10", + "src": "24024:137:23", "statements": [ { "assignments": [ - 3320 + 4926 ], "declarations": [ { "constant": false, - "id": 3320, + "id": 4926, "mutability": "mutable", "name": "hash", - "nameLocation": "24042:4:10", + "nameLocation": "24042:4:23", "nodeType": "VariableDeclaration", - "scope": 3333, - "src": "24034:12:10", + "scope": 4939, + "src": "24034:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -91938,10 +110913,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 3319, + "id": 4925, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "24034:7:10", + "src": "24034:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -91950,16 +110925,16 @@ "visibility": "internal" } ], - "id": 3324, + "id": 4930, "initialValue": { "arguments": [ { - "id": 3322, + "id": 4928, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3310, - "src": "24068:14:10", + "referencedDeclaration": 4916, + "src": "24068:14:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -91973,18 +110948,18 @@ "typeString": "address" } ], - "id": 3321, + "id": 4927, "name": "initCodeHash_PUSH0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3307, - "src": "24049:18:10", + "referencedDeclaration": 4913, + "src": "24049:18:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_bytes32_$", "typeString": "function (address) pure returns (bytes32)" } }, - "id": 3323, + "id": 4929, "isConstant": false, "isLValue": false, "isPure": false, @@ -91993,7 +110968,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "24049:34:10", + "src": "24049:34:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -92001,22 +110976,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "24034:49:10" + "src": "24034:49:23" }, { "expression": { - "id": 3331, + "id": 4937, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 3325, + "id": 4931, "name": "predicted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3317, - "src": "24093:9:10", + "referencedDeclaration": 4923, + "src": "24093:9:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -92027,36 +111002,36 @@ "rightHandSide": { "arguments": [ { - "id": 3327, + "id": 4933, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3320, - "src": "24133:4:10", + "referencedDeclaration": 4926, + "src": "24133:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 3328, + "id": 4934, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3312, - "src": "24139:4:10", + "referencedDeclaration": 4918, + "src": "24139:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 3329, + "id": 4935, "name": "deployer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3314, - "src": "24145:8:10", + "referencedDeclaration": 4920, + "src": "24145:8:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -92078,22 +111053,22 @@ "typeString": "address" } ], - "id": 3326, + "id": 4932, "name": "predictDeterministicAddress", "nodeType": "Identifier", "overloadedDeclarations": [ - 3226, - 3499, - 5070 + 4832, + 5105, + 6676 ], - "referencedDeclaration": 5070, - "src": "24105:27:10", + "referencedDeclaration": 6676, + "src": "24105:27:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_address_$", "typeString": "function (bytes32,bytes32,address) pure returns (address)" } }, - "id": 3330, + "id": 4936, "isConstant": false, "isLValue": false, "isPure": false, @@ -92102,51 +111077,51 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "24105:49:10", + "src": "24105:49:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "24093:61:10", + "src": "24093:61:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 3332, + "id": 4938, "nodeType": "ExpressionStatement", - "src": "24093:61:10" + "src": "24093:61:23" } ] }, "documentation": { - "id": 3308, + "id": 4914, "nodeType": "StructuredDocumentation", - "src": "23660:188:10", + "src": "23660:188:23", "text": "@dev Returns the address of the PUSH0 clone of `implementation`, with `salt` by `deployer`.\n Note: The returned result has dirty upper 96 bits. Please clean if used in assembly." }, - "id": 3334, + "id": 4940, "implemented": true, "kind": "function", "modifiers": [], "name": "predictDeterministicAddress_PUSH0", - "nameLocation": "23862:33:10", + "nameLocation": "23862:33:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3315, + "id": 4921, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3310, + "id": 4916, "mutability": "mutable", "name": "implementation", - "nameLocation": "23913:14:10", + "nameLocation": "23913:14:23", "nodeType": "VariableDeclaration", - "scope": 3334, - "src": "23905:22:10", + "scope": 4940, + "src": "23905:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -92154,10 +111129,10 @@ "typeString": "address" }, "typeName": { - "id": 3309, + "id": 4915, "name": "address", "nodeType": "ElementaryTypeName", - "src": "23905:7:10", + "src": "23905:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -92168,13 +111143,13 @@ }, { "constant": false, - "id": 3312, + "id": 4918, "mutability": "mutable", "name": "salt", - "nameLocation": "23945:4:10", + "nameLocation": "23945:4:23", "nodeType": "VariableDeclaration", - "scope": 3334, - "src": "23937:12:10", + "scope": 4940, + "src": "23937:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -92182,10 +111157,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 3311, + "id": 4917, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "23937:7:10", + "src": "23937:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -92195,13 +111170,13 @@ }, { "constant": false, - "id": 3314, + "id": 4920, "mutability": "mutable", "name": "deployer", - "nameLocation": "23967:8:10", + "nameLocation": "23967:8:23", "nodeType": "VariableDeclaration", - "scope": 3334, - "src": "23959:16:10", + "scope": 4940, + "src": "23959:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -92209,10 +111184,10 @@ "typeString": "address" }, "typeName": { - "id": 3313, + "id": 4919, "name": "address", "nodeType": "ElementaryTypeName", - "src": "23959:7:10", + "src": "23959:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -92222,21 +111197,21 @@ "visibility": "internal" } ], - "src": "23895:86:10" + "src": "23895:86:23" }, "returnParameters": { - "id": 3318, + "id": 4924, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3317, + "id": 4923, "mutability": "mutable", "name": "predicted", - "nameLocation": "24013:9:10", + "nameLocation": "24013:9:23", "nodeType": "VariableDeclaration", - "scope": 3334, - "src": "24005:17:10", + "scope": 4940, + "src": "24005:17:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -92244,10 +111219,10 @@ "typeString": "address" }, "typeName": { - "id": 3316, + "id": 4922, "name": "address", "nodeType": "ElementaryTypeName", - "src": "24005:7:10", + "src": "24005:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -92257,34 +111232,34 @@ "visibility": "internal" } ], - "src": "24004:19:10" + "src": "24004:19:23" }, - "scope": 5093, - "src": "23853:308:10", + "scope": 6699, + "src": "23853:308:23", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3352, + "id": 4958, "nodeType": "Block", - "src": "24637:58:10", + "src": "24637:58:23", "statements": [ { "expression": { - "id": 3350, + "id": 4956, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 3344, + "id": 4950, "name": "instance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3342, - "src": "24647:8:10", + "referencedDeclaration": 4948, + "src": "24647:8:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -92296,14 +111271,14 @@ "arguments": [ { "hexValue": "30", - "id": 3346, + "id": 4952, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "24664:1:10", + "src": "24664:1:23", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -92311,24 +111286,24 @@ "value": "0" }, { - "id": 3347, + "id": 4953, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3337, - "src": "24667:14:10", + "referencedDeclaration": 4943, + "src": "24667:14:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 3348, + "id": 4954, "name": "args", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3339, - "src": "24683:4:10", + "referencedDeclaration": 4945, + "src": "24683:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -92350,23 +111325,23 @@ "typeString": "bytes memory" } ], - "id": 3345, + "id": 4951, "name": "clone", "nodeType": "Identifier", "overloadedDeclarations": [ - 3134, - 3146, - 3353, - 3367 + 4740, + 4752, + 4959, + 4973 ], - "referencedDeclaration": 3367, - "src": "24658:5:10", + "referencedDeclaration": 4973, + "src": "24658:5:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$_t_address_$", "typeString": "function (uint256,address,bytes memory) returns (address)" } }, - "id": 3349, + "id": 4955, "isConstant": false, "isLValue": false, "isPure": false, @@ -92375,51 +111350,51 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "24658:30:10", + "src": "24658:30:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "24647:41:10", + "src": "24647:41:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 3351, + "id": 4957, "nodeType": "ExpressionStatement", - "src": "24647:41:10" + "src": "24647:41:23" } ] }, "documentation": { - "id": 3335, + "id": 4941, "nodeType": "StructuredDocumentation", - "src": "24450:88:10", + "src": "24450:88:23", "text": "@dev Deploys a clone of `implementation` with immutable arguments encoded in `args`." }, - "id": 3353, + "id": 4959, "implemented": true, "kind": "function", "modifiers": [], "name": "clone", - "nameLocation": "24552:5:10", + "nameLocation": "24552:5:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3340, + "id": 4946, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3337, + "id": 4943, "mutability": "mutable", "name": "implementation", - "nameLocation": "24566:14:10", + "nameLocation": "24566:14:23", "nodeType": "VariableDeclaration", - "scope": 3353, - "src": "24558:22:10", + "scope": 4959, + "src": "24558:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -92427,10 +111402,10 @@ "typeString": "address" }, "typeName": { - "id": 3336, + "id": 4942, "name": "address", "nodeType": "ElementaryTypeName", - "src": "24558:7:10", + "src": "24558:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -92441,13 +111416,13 @@ }, { "constant": false, - "id": 3339, + "id": 4945, "mutability": "mutable", "name": "args", - "nameLocation": "24595:4:10", + "nameLocation": "24595:4:23", "nodeType": "VariableDeclaration", - "scope": 3353, - "src": "24582:17:10", + "scope": 4959, + "src": "24582:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -92455,10 +111430,10 @@ "typeString": "bytes" }, "typeName": { - "id": 3338, + "id": 4944, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "24582:5:10", + "src": "24582:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -92467,21 +111442,21 @@ "visibility": "internal" } ], - "src": "24557:43:10" + "src": "24557:43:23" }, "returnParameters": { - "id": 3343, + "id": 4949, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3342, + "id": 4948, "mutability": "mutable", "name": "instance", - "nameLocation": "24627:8:10", + "nameLocation": "24627:8:23", "nodeType": "VariableDeclaration", - "scope": 3353, - "src": "24619:16:10", + "scope": 4959, + "src": "24619:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -92489,10 +111464,10 @@ "typeString": "address" }, "typeName": { - "id": 3341, + "id": 4947, "name": "address", "nodeType": "ElementaryTypeName", - "src": "24619:7:10", + "src": "24619:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -92502,90 +111477,90 @@ "visibility": "internal" } ], - "src": "24618:18:10" + "src": "24618:18:23" }, - "scope": 5093, - "src": "24543:152:10", + "scope": 6699, + "src": "24543:152:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3366, + "id": 4972, "nodeType": "Block", - "src": "24971:5652:10", + "src": "24971:5652:23", "statements": [ { "AST": { - "nativeSrc": "25033:5584:10", + "nativeSrc": "25033:5584:23", "nodeType": "YulBlock", - "src": "25033:5584:10", + "src": "25033:5584:23", "statements": [ { - "nativeSrc": "29955:20:10", + "nativeSrc": "29955:20:23", "nodeType": "YulVariableDeclaration", - "src": "29955:20:10", + "src": "29955:20:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "29970:4:10", + "nativeSrc": "29970:4:23", "nodeType": "YulLiteral", - "src": "29970:4:10", + "src": "29970:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "29964:5:10", + "nativeSrc": "29964:5:23", "nodeType": "YulIdentifier", - "src": "29964:5:10" + "src": "29964:5:23" }, - "nativeSrc": "29964:11:10", + "nativeSrc": "29964:11:23", "nodeType": "YulFunctionCall", - "src": "29964:11:10" + "src": "29964:11:23" }, "variables": [ { "name": "m", - "nativeSrc": "29959:1:10", + "nativeSrc": "29959:1:23", "nodeType": "YulTypedName", - "src": "29959:1:10", + "src": "29959:1:23", "type": "" } ] }, { - "nativeSrc": "29988:20:10", + "nativeSrc": "29988:20:23", "nodeType": "YulVariableDeclaration", - "src": "29988:20:10", + "src": "29988:20:23", "value": { "arguments": [ { "name": "args", - "nativeSrc": "30003:4:10", + "nativeSrc": "30003:4:23", "nodeType": "YulIdentifier", - "src": "30003:4:10" + "src": "30003:4:23" } ], "functionName": { "name": "mload", - "nativeSrc": "29997:5:10", + "nativeSrc": "29997:5:23", "nodeType": "YulIdentifier", - "src": "29997:5:10" + "src": "29997:5:23" }, - "nativeSrc": "29997:11:10", + "nativeSrc": "29997:11:23", "nodeType": "YulFunctionCall", - "src": "29997:11:10" + "src": "29997:11:23" }, "variables": [ { "name": "n", - "nativeSrc": "29992:1:10", + "nativeSrc": "29992:1:23", "nodeType": "YulTypedName", - "src": "29992:1:10", + "src": "29992:1:23", "type": "" } ] @@ -92599,19 +111574,19 @@ "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "30036:3:10", + "nativeSrc": "30036:3:23", "nodeType": "YulIdentifier", - "src": "30036:3:10" + "src": "30036:3:23" }, - "nativeSrc": "30036:5:10", + "nativeSrc": "30036:5:23", "nodeType": "YulFunctionCall", - "src": "30036:5:10" + "src": "30036:5:23" }, { "kind": "number", - "nativeSrc": "30043:1:10", + "nativeSrc": "30043:1:23", "nodeType": "YulLiteral", - "src": "30043:1:10", + "src": "30043:1:23", "type": "", "value": "4" }, @@ -92619,93 +111594,93 @@ "arguments": [ { "name": "args", - "nativeSrc": "30050:4:10", + "nativeSrc": "30050:4:23", "nodeType": "YulIdentifier", - "src": "30050:4:10" + "src": "30050:4:23" }, { "kind": "number", - "nativeSrc": "30056:4:10", + "nativeSrc": "30056:4:23", "nodeType": "YulLiteral", - "src": "30056:4:10", + "src": "30056:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "30046:3:10", + "nativeSrc": "30046:3:23", "nodeType": "YulIdentifier", - "src": "30046:3:10" + "src": "30046:3:23" }, - "nativeSrc": "30046:15:10", + "nativeSrc": "30046:15:23", "nodeType": "YulFunctionCall", - "src": "30046:15:10" + "src": "30046:15:23" }, { "name": "n", - "nativeSrc": "30063:1:10", + "nativeSrc": "30063:1:23", "nodeType": "YulIdentifier", - "src": "30063:1:10" + "src": "30063:1:23" }, { "arguments": [ { "name": "m", - "nativeSrc": "30070:1:10", + "nativeSrc": "30070:1:23", "nodeType": "YulIdentifier", - "src": "30070:1:10" + "src": "30070:1:23" }, { "kind": "number", - "nativeSrc": "30073:4:10", + "nativeSrc": "30073:4:23", "nodeType": "YulLiteral", - "src": "30073:4:10", + "src": "30073:4:23", "type": "", "value": "0x43" } ], "functionName": { "name": "add", - "nativeSrc": "30066:3:10", + "nativeSrc": "30066:3:23", "nodeType": "YulIdentifier", - "src": "30066:3:10" + "src": "30066:3:23" }, - "nativeSrc": "30066:12:10", + "nativeSrc": "30066:12:23", "nodeType": "YulFunctionCall", - "src": "30066:12:10" + "src": "30066:12:23" }, { "name": "n", - "nativeSrc": "30080:1:10", + "nativeSrc": "30080:1:23", "nodeType": "YulIdentifier", - "src": "30080:1:10" + "src": "30080:1:23" } ], "functionName": { "name": "staticcall", - "nativeSrc": "30025:10:10", + "nativeSrc": "30025:10:23", "nodeType": "YulIdentifier", - "src": "30025:10:10" + "src": "30025:10:23" }, - "nativeSrc": "30025:57:10", + "nativeSrc": "30025:57:23", "nodeType": "YulFunctionCall", - "src": "30025:57:10" + "src": "30025:57:23" } ], "functionName": { "name": "pop", - "nativeSrc": "30021:3:10", + "nativeSrc": "30021:3:23", "nodeType": "YulIdentifier", - "src": "30021:3:10" + "src": "30021:3:23" }, - "nativeSrc": "30021:62:10", + "nativeSrc": "30021:62:23", "nodeType": "YulFunctionCall", - "src": "30021:62:10" + "src": "30021:62:23" }, - "nativeSrc": "30021:62:10", + "nativeSrc": "30021:62:23", "nodeType": "YulExpressionStatement", - "src": "30021:62:10" + "src": "30021:62:23" }, { "expression": { @@ -92714,51 +111689,51 @@ "arguments": [ { "name": "m", - "nativeSrc": "30107:1:10", + "nativeSrc": "30107:1:23", "nodeType": "YulIdentifier", - "src": "30107:1:10" + "src": "30107:1:23" }, { "kind": "number", - "nativeSrc": "30110:4:10", + "nativeSrc": "30110:4:23", "nodeType": "YulLiteral", - "src": "30110:4:10", + "src": "30110:4:23", "type": "", "value": "0x23" } ], "functionName": { "name": "add", - "nativeSrc": "30103:3:10", + "nativeSrc": "30103:3:23", "nodeType": "YulIdentifier", - "src": "30103:3:10" + "src": "30103:3:23" }, - "nativeSrc": "30103:12:10", + "nativeSrc": "30103:12:23", "nodeType": "YulFunctionCall", - "src": "30103:12:10" + "src": "30103:12:23" }, { "kind": "number", - "nativeSrc": "30117:32:10", + "nativeSrc": "30117:32:23", "nodeType": "YulLiteral", - "src": "30117:32:10", + "src": "30117:32:23", "type": "", "value": "0x5af43d82803e903d91602b57fd5bf3" } ], "functionName": { "name": "mstore", - "nativeSrc": "30096:6:10", + "nativeSrc": "30096:6:23", "nodeType": "YulIdentifier", - "src": "30096:6:10" + "src": "30096:6:23" }, - "nativeSrc": "30096:54:10", + "nativeSrc": "30096:54:23", "nodeType": "YulFunctionCall", - "src": "30096:54:10" + "src": "30096:54:23" }, - "nativeSrc": "30096:54:10", + "nativeSrc": "30096:54:23", "nodeType": "YulExpressionStatement", - "src": "30096:54:10" + "src": "30096:54:23" }, { "expression": { @@ -92767,66 +111742,66 @@ "arguments": [ { "name": "m", - "nativeSrc": "30174:1:10", + "nativeSrc": "30174:1:23", "nodeType": "YulIdentifier", - "src": "30174:1:10" + "src": "30174:1:23" }, { "kind": "number", - "nativeSrc": "30177:4:10", + "nativeSrc": "30177:4:23", "nodeType": "YulLiteral", - "src": "30177:4:10", + "src": "30177:4:23", "type": "", "value": "0x14" } ], "functionName": { "name": "add", - "nativeSrc": "30170:3:10", + "nativeSrc": "30170:3:23", "nodeType": "YulIdentifier", - "src": "30170:3:10" + "src": "30170:3:23" }, - "nativeSrc": "30170:12:10", + "nativeSrc": "30170:12:23", "nodeType": "YulFunctionCall", - "src": "30170:12:10" + "src": "30170:12:23" }, { "name": "implementation", - "nativeSrc": "30184:14:10", + "nativeSrc": "30184:14:23", "nodeType": "YulIdentifier", - "src": "30184:14:10" + "src": "30184:14:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "30163:6:10", + "nativeSrc": "30163:6:23", "nodeType": "YulIdentifier", - "src": "30163:6:10" + "src": "30163:6:23" }, - "nativeSrc": "30163:36:10", + "nativeSrc": "30163:36:23", "nodeType": "YulFunctionCall", - "src": "30163:36:10" + "src": "30163:36:23" }, - "nativeSrc": "30163:36:10", + "nativeSrc": "30163:36:23", "nodeType": "YulExpressionStatement", - "src": "30163:36:10" + "src": "30163:36:23" }, { "expression": { "arguments": [ { "name": "m", - "nativeSrc": "30219:1:10", + "nativeSrc": "30219:1:23", "nodeType": "YulIdentifier", - "src": "30219:1:10" + "src": "30219:1:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "30226:44:10", + "nativeSrc": "30226:44:23", "nodeType": "YulLiteral", - "src": "30226:44:10", + "src": "30226:44:23", "type": "", "value": "0xfe61002d3d81600a3d39f3363d3d373d3d3d363d73" }, @@ -92834,82 +111809,82 @@ "arguments": [ { "kind": "number", - "nativeSrc": "30276:3:10", + "nativeSrc": "30276:3:23", "nodeType": "YulLiteral", - "src": "30276:3:10", + "src": "30276:3:23", "type": "", "value": "136" }, { "name": "n", - "nativeSrc": "30281:1:10", + "nativeSrc": "30281:1:23", "nodeType": "YulIdentifier", - "src": "30281:1:10" + "src": "30281:1:23" } ], "functionName": { "name": "shl", - "nativeSrc": "30272:3:10", + "nativeSrc": "30272:3:23", "nodeType": "YulIdentifier", - "src": "30272:3:10" + "src": "30272:3:23" }, - "nativeSrc": "30272:11:10", + "nativeSrc": "30272:11:23", "nodeType": "YulFunctionCall", - "src": "30272:11:10" + "src": "30272:11:23" } ], "functionName": { "name": "add", - "nativeSrc": "30222:3:10", + "nativeSrc": "30222:3:23", "nodeType": "YulIdentifier", - "src": "30222:3:10" + "src": "30222:3:23" }, - "nativeSrc": "30222:62:10", + "nativeSrc": "30222:62:23", "nodeType": "YulFunctionCall", - "src": "30222:62:10" + "src": "30222:62:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "30212:6:10", + "nativeSrc": "30212:6:23", "nodeType": "YulIdentifier", - "src": "30212:6:10" + "src": "30212:6:23" }, - "nativeSrc": "30212:73:10", + "nativeSrc": "30212:73:23", "nodeType": "YulFunctionCall", - "src": "30212:73:10" + "src": "30212:73:23" }, - "nativeSrc": "30212:73:10", + "nativeSrc": "30212:73:23", "nodeType": "YulExpressionStatement", - "src": "30212:73:10" + "src": "30212:73:23" }, { - "nativeSrc": "30385:73:10", + "nativeSrc": "30385:73:23", "nodeType": "YulAssignment", - "src": "30385:73:10", + "src": "30385:73:23", "value": { "arguments": [ { "name": "value", - "nativeSrc": "30404:5:10", + "nativeSrc": "30404:5:23", "nodeType": "YulIdentifier", - "src": "30404:5:10" + "src": "30404:5:23" }, { "arguments": [ { "name": "m", - "nativeSrc": "30415:1:10", + "nativeSrc": "30415:1:23", "nodeType": "YulIdentifier", - "src": "30415:1:10" + "src": "30415:1:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "30422:4:10", + "nativeSrc": "30422:4:23", "nodeType": "YulLiteral", - "src": "30422:4:10", + "src": "30422:4:23", "type": "", "value": "0x0b" }, @@ -92917,171 +111892,171 @@ "arguments": [ { "name": "n", - "nativeSrc": "30431:1:10", + "nativeSrc": "30431:1:23", "nodeType": "YulIdentifier", - "src": "30431:1:10" + "src": "30431:1:23" }, { "kind": "number", - "nativeSrc": "30434:6:10", + "nativeSrc": "30434:6:23", "nodeType": "YulLiteral", - "src": "30434:6:10", + "src": "30434:6:23", "type": "", "value": "0xffd3" } ], "functionName": { "name": "lt", - "nativeSrc": "30428:2:10", + "nativeSrc": "30428:2:23", "nodeType": "YulIdentifier", - "src": "30428:2:10" + "src": "30428:2:23" }, - "nativeSrc": "30428:13:10", + "nativeSrc": "30428:13:23", "nodeType": "YulFunctionCall", - "src": "30428:13:10" + "src": "30428:13:23" } ], "functionName": { "name": "add", - "nativeSrc": "30418:3:10", + "nativeSrc": "30418:3:23", "nodeType": "YulIdentifier", - "src": "30418:3:10" + "src": "30418:3:23" }, - "nativeSrc": "30418:24:10", + "nativeSrc": "30418:24:23", "nodeType": "YulFunctionCall", - "src": "30418:24:10" + "src": "30418:24:23" } ], "functionName": { "name": "add", - "nativeSrc": "30411:3:10", + "nativeSrc": "30411:3:23", "nodeType": "YulIdentifier", - "src": "30411:3:10" + "src": "30411:3:23" }, - "nativeSrc": "30411:32:10", + "nativeSrc": "30411:32:23", "nodeType": "YulFunctionCall", - "src": "30411:32:10" + "src": "30411:32:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "30449:1:10", + "nativeSrc": "30449:1:23", "nodeType": "YulIdentifier", - "src": "30449:1:10" + "src": "30449:1:23" }, { "kind": "number", - "nativeSrc": "30452:4:10", + "nativeSrc": "30452:4:23", "nodeType": "YulLiteral", - "src": "30452:4:10", + "src": "30452:4:23", "type": "", "value": "0x37" } ], "functionName": { "name": "add", - "nativeSrc": "30445:3:10", + "nativeSrc": "30445:3:23", "nodeType": "YulIdentifier", - "src": "30445:3:10" + "src": "30445:3:23" }, - "nativeSrc": "30445:12:10", + "nativeSrc": "30445:12:23", "nodeType": "YulFunctionCall", - "src": "30445:12:10" + "src": "30445:12:23" } ], "functionName": { "name": "create", - "nativeSrc": "30397:6:10", + "nativeSrc": "30397:6:23", "nodeType": "YulIdentifier", - "src": "30397:6:10" + "src": "30397:6:23" }, - "nativeSrc": "30397:61:10", + "nativeSrc": "30397:61:23", "nodeType": "YulFunctionCall", - "src": "30397:61:10" + "src": "30397:61:23" }, "variableNames": [ { "name": "instance", - "nativeSrc": "30385:8:10", + "nativeSrc": "30385:8:23", "nodeType": "YulIdentifier", - "src": "30385:8:10" + "src": "30385:8:23" } ] }, { "body": { - "nativeSrc": "30491:116:10", + "nativeSrc": "30491:116:23", "nodeType": "YulBlock", - "src": "30491:116:10", + "src": "30491:116:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "30516:4:10", + "nativeSrc": "30516:4:23", "nodeType": "YulLiteral", - "src": "30516:4:10", + "src": "30516:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "30522:10:10", + "nativeSrc": "30522:10:23", "nodeType": "YulLiteral", - "src": "30522:10:10", + "src": "30522:10:23", "type": "", "value": "0x30116425" } ], "functionName": { "name": "mstore", - "nativeSrc": "30509:6:10", + "nativeSrc": "30509:6:23", "nodeType": "YulIdentifier", - "src": "30509:6:10" + "src": "30509:6:23" }, - "nativeSrc": "30509:24:10", + "nativeSrc": "30509:24:23", "nodeType": "YulFunctionCall", - "src": "30509:24:10" + "src": "30509:24:23" }, - "nativeSrc": "30509:24:10", + "nativeSrc": "30509:24:23", "nodeType": "YulExpressionStatement", - "src": "30509:24:10" + "src": "30509:24:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "30582:4:10", + "nativeSrc": "30582:4:23", "nodeType": "YulLiteral", - "src": "30582:4:10", + "src": "30582:4:23", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "30588:4:10", + "nativeSrc": "30588:4:23", "nodeType": "YulLiteral", - "src": "30588:4:10", + "src": "30588:4:23", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "30575:6:10", + "nativeSrc": "30575:6:23", "nodeType": "YulIdentifier", - "src": "30575:6:10" + "src": "30575:6:23" }, - "nativeSrc": "30575:18:10", + "nativeSrc": "30575:18:23", "nodeType": "YulFunctionCall", - "src": "30575:18:10" + "src": "30575:18:23" }, - "nativeSrc": "30575:18:10", + "nativeSrc": "30575:18:23", "nodeType": "YulExpressionStatement", - "src": "30575:18:10" + "src": "30575:18:23" } ] }, @@ -93089,24 +112064,24 @@ "arguments": [ { "name": "instance", - "nativeSrc": "30481:8:10", + "nativeSrc": "30481:8:23", "nodeType": "YulIdentifier", - "src": "30481:8:10" + "src": "30481:8:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "30474:6:10", + "nativeSrc": "30474:6:23", "nodeType": "YulIdentifier", - "src": "30474:6:10" + "src": "30474:6:23" }, - "nativeSrc": "30474:16:10", + "nativeSrc": "30474:16:23", "nodeType": "YulFunctionCall", - "src": "30474:16:10" + "src": "30474:16:23" }, - "nativeSrc": "30471:136:10", + "nativeSrc": "30471:136:23", "nodeType": "YulIf", - "src": "30471:136:10" + "src": "30471:136:23" } ] }, @@ -93114,80 +112089,80 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3360, + "declaration": 4966, "isOffset": false, "isSlot": false, - "src": "30003:4:10", + "src": "30003:4:23", "valueSize": 1 }, { - "declaration": 3360, + "declaration": 4966, "isOffset": false, "isSlot": false, - "src": "30050:4:10", + "src": "30050:4:23", "valueSize": 1 }, { - "declaration": 3358, + "declaration": 4964, "isOffset": false, "isSlot": false, - "src": "30184:14:10", + "src": "30184:14:23", "valueSize": 1 }, { - "declaration": 3363, + "declaration": 4969, "isOffset": false, "isSlot": false, - "src": "30385:8:10", + "src": "30385:8:23", "valueSize": 1 }, { - "declaration": 3363, + "declaration": 4969, "isOffset": false, "isSlot": false, - "src": "30481:8:10", + "src": "30481:8:23", "valueSize": 1 }, { - "declaration": 3356, + "declaration": 4962, "isOffset": false, "isSlot": false, - "src": "30404:5:10", + "src": "30404:5:23", "valueSize": 1 } ], - "id": 3365, + "id": 4971, "nodeType": "InlineAssembly", - "src": "25024:5593:10" + "src": "25024:5593:23" } ] }, "documentation": { - "id": 3354, + "id": 4960, "nodeType": "StructuredDocumentation", - "src": "24701:136:10", + "src": "24701:136:23", "text": "@dev Deploys a clone of `implementation` with immutable arguments encoded in `args`.\n Deposits `value` ETH during deployment." }, - "id": 3367, + "id": 4973, "implemented": true, "kind": "function", "modifiers": [], "name": "clone", - "nameLocation": "24851:5:10", + "nameLocation": "24851:5:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3361, + "id": 4967, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3356, + "id": 4962, "mutability": "mutable", "name": "value", - "nameLocation": "24865:5:10", + "nameLocation": "24865:5:23", "nodeType": "VariableDeclaration", - "scope": 3367, - "src": "24857:13:10", + "scope": 4973, + "src": "24857:13:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -93195,10 +112170,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3355, + "id": 4961, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "24857:7:10", + "src": "24857:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -93208,13 +112183,13 @@ }, { "constant": false, - "id": 3358, + "id": 4964, "mutability": "mutable", "name": "implementation", - "nameLocation": "24880:14:10", + "nameLocation": "24880:14:23", "nodeType": "VariableDeclaration", - "scope": 3367, - "src": "24872:22:10", + "scope": 4973, + "src": "24872:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -93222,10 +112197,10 @@ "typeString": "address" }, "typeName": { - "id": 3357, + "id": 4963, "name": "address", "nodeType": "ElementaryTypeName", - "src": "24872:7:10", + "src": "24872:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -93236,13 +112211,13 @@ }, { "constant": false, - "id": 3360, + "id": 4966, "mutability": "mutable", "name": "args", - "nameLocation": "24909:4:10", + "nameLocation": "24909:4:23", "nodeType": "VariableDeclaration", - "scope": 3367, - "src": "24896:17:10", + "scope": 4973, + "src": "24896:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -93250,10 +112225,10 @@ "typeString": "bytes" }, "typeName": { - "id": 3359, + "id": 4965, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "24896:5:10", + "src": "24896:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -93262,21 +112237,21 @@ "visibility": "internal" } ], - "src": "24856:58:10" + "src": "24856:58:23" }, "returnParameters": { - "id": 3364, + "id": 4970, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3363, + "id": 4969, "mutability": "mutable", "name": "instance", - "nameLocation": "24957:8:10", + "nameLocation": "24957:8:23", "nodeType": "VariableDeclaration", - "scope": 3367, - "src": "24949:16:10", + "scope": 4973, + "src": "24949:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -93284,10 +112259,10 @@ "typeString": "address" }, "typeName": { - "id": 3362, + "id": 4968, "name": "address", "nodeType": "ElementaryTypeName", - "src": "24949:7:10", + "src": "24949:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -93297,34 +112272,34 @@ "visibility": "internal" } ], - "src": "24948:18:10" + "src": "24948:18:23" }, - "scope": 5093, - "src": "24842:5781:10", + "scope": 6699, + "src": "24842:5781:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3388, + "id": 4994, "nodeType": "Block", - "src": "30896:77:10", + "src": "30896:77:23", "statements": [ { "expression": { - "id": 3386, + "id": 4992, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 3379, + "id": 4985, "name": "instance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3377, - "src": "30906:8:10", + "referencedDeclaration": 4983, + "src": "30906:8:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -93336,14 +112311,14 @@ "arguments": [ { "hexValue": "30", - "id": 3381, + "id": 4987, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "30936:1:10", + "src": "30936:1:23", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -93351,36 +112326,36 @@ "value": "0" }, { - "id": 3382, + "id": 4988, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3370, - "src": "30939:14:10", + "referencedDeclaration": 4976, + "src": "30939:14:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 3383, + "id": 4989, "name": "args", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3372, - "src": "30955:4:10", + "referencedDeclaration": 4978, + "src": "30955:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { - "id": 3384, + "id": 4990, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3374, - "src": "30961:4:10", + "referencedDeclaration": 4980, + "src": "30961:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -93406,23 +112381,23 @@ "typeString": "bytes32" } ], - "id": 3380, + "id": 4986, "name": "cloneDeterministic", "nodeType": "Identifier", "overloadedDeclarations": [ - 3165, - 3179, - 3389, - 3405 + 4771, + 4785, + 4995, + 5011 ], - "referencedDeclaration": 3405, - "src": "30917:18:10", + "referencedDeclaration": 5011, + "src": "30917:18:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$_t_bytes32_$returns$_t_address_$", "typeString": "function (uint256,address,bytes memory,bytes32) returns (address)" } }, - "id": 3385, + "id": 4991, "isConstant": false, "isLValue": false, "isPure": false, @@ -93431,51 +112406,51 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "30917:49:10", + "src": "30917:49:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "30906:60:10", + "src": "30906:60:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 3387, + "id": 4993, "nodeType": "ExpressionStatement", - "src": "30906:60:10" + "src": "30906:60:23" } ] }, "documentation": { - "id": 3368, + "id": 4974, "nodeType": "StructuredDocumentation", - "src": "30629:121:10", + "src": "30629:121:23", "text": "@dev Deploys a deterministic clone of `implementation`\n with immutable arguments encoded in `args` and `salt`." }, - "id": 3389, + "id": 4995, "implemented": true, "kind": "function", "modifiers": [], "name": "cloneDeterministic", - "nameLocation": "30764:18:10", + "nameLocation": "30764:18:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3375, + "id": 4981, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3370, + "id": 4976, "mutability": "mutable", "name": "implementation", - "nameLocation": "30791:14:10", + "nameLocation": "30791:14:23", "nodeType": "VariableDeclaration", - "scope": 3389, - "src": "30783:22:10", + "scope": 4995, + "src": "30783:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -93483,10 +112458,10 @@ "typeString": "address" }, "typeName": { - "id": 3369, + "id": 4975, "name": "address", "nodeType": "ElementaryTypeName", - "src": "30783:7:10", + "src": "30783:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -93497,13 +112472,13 @@ }, { "constant": false, - "id": 3372, + "id": 4978, "mutability": "mutable", "name": "args", - "nameLocation": "30820:4:10", + "nameLocation": "30820:4:23", "nodeType": "VariableDeclaration", - "scope": 3389, - "src": "30807:17:10", + "scope": 4995, + "src": "30807:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -93511,10 +112486,10 @@ "typeString": "bytes" }, "typeName": { - "id": 3371, + "id": 4977, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "30807:5:10", + "src": "30807:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -93524,13 +112499,13 @@ }, { "constant": false, - "id": 3374, + "id": 4980, "mutability": "mutable", "name": "salt", - "nameLocation": "30834:4:10", + "nameLocation": "30834:4:23", "nodeType": "VariableDeclaration", - "scope": 3389, - "src": "30826:12:10", + "scope": 4995, + "src": "30826:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -93538,10 +112513,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 3373, + "id": 4979, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "30826:7:10", + "src": "30826:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -93550,21 +112525,21 @@ "visibility": "internal" } ], - "src": "30782:57:10" + "src": "30782:57:23" }, "returnParameters": { - "id": 3378, + "id": 4984, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3377, + "id": 4983, "mutability": "mutable", "name": "instance", - "nameLocation": "30882:8:10", + "nameLocation": "30882:8:23", "nodeType": "VariableDeclaration", - "scope": 3389, - "src": "30874:16:10", + "scope": 4995, + "src": "30874:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -93572,10 +112547,10 @@ "typeString": "address" }, "typeName": { - "id": 3376, + "id": 4982, "name": "address", "nodeType": "ElementaryTypeName", - "src": "30874:7:10", + "src": "30874:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -93585,90 +112560,90 @@ "visibility": "internal" } ], - "src": "30873:18:10" + "src": "30873:18:23" }, - "scope": 5093, - "src": "30755:218:10", + "scope": 6699, + "src": "30755:218:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3404, + "id": 5010, "nodeType": "Block", - "src": "31279:751:10", + "src": "31279:751:23", "statements": [ { "AST": { - "nativeSrc": "31341:683:10", + "nativeSrc": "31341:683:23", "nodeType": "YulBlock", - "src": "31341:683:10", + "src": "31341:683:23", "statements": [ { - "nativeSrc": "31355:20:10", + "nativeSrc": "31355:20:23", "nodeType": "YulVariableDeclaration", - "src": "31355:20:10", + "src": "31355:20:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "31370:4:10", + "nativeSrc": "31370:4:23", "nodeType": "YulLiteral", - "src": "31370:4:10", + "src": "31370:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "31364:5:10", + "nativeSrc": "31364:5:23", "nodeType": "YulIdentifier", - "src": "31364:5:10" + "src": "31364:5:23" }, - "nativeSrc": "31364:11:10", + "nativeSrc": "31364:11:23", "nodeType": "YulFunctionCall", - "src": "31364:11:10" + "src": "31364:11:23" }, "variables": [ { "name": "m", - "nativeSrc": "31359:1:10", + "nativeSrc": "31359:1:23", "nodeType": "YulTypedName", - "src": "31359:1:10", + "src": "31359:1:23", "type": "" } ] }, { - "nativeSrc": "31388:20:10", + "nativeSrc": "31388:20:23", "nodeType": "YulVariableDeclaration", - "src": "31388:20:10", + "src": "31388:20:23", "value": { "arguments": [ { "name": "args", - "nativeSrc": "31403:4:10", + "nativeSrc": "31403:4:23", "nodeType": "YulIdentifier", - "src": "31403:4:10" + "src": "31403:4:23" } ], "functionName": { "name": "mload", - "nativeSrc": "31397:5:10", + "nativeSrc": "31397:5:23", "nodeType": "YulIdentifier", - "src": "31397:5:10" + "src": "31397:5:23" }, - "nativeSrc": "31397:11:10", + "nativeSrc": "31397:11:23", "nodeType": "YulFunctionCall", - "src": "31397:11:10" + "src": "31397:11:23" }, "variables": [ { "name": "n", - "nativeSrc": "31392:1:10", + "nativeSrc": "31392:1:23", "nodeType": "YulTypedName", - "src": "31392:1:10", + "src": "31392:1:23", "type": "" } ] @@ -93682,19 +112657,19 @@ "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "31436:3:10", + "nativeSrc": "31436:3:23", "nodeType": "YulIdentifier", - "src": "31436:3:10" + "src": "31436:3:23" }, - "nativeSrc": "31436:5:10", + "nativeSrc": "31436:5:23", "nodeType": "YulFunctionCall", - "src": "31436:5:10" + "src": "31436:5:23" }, { "kind": "number", - "nativeSrc": "31443:1:10", + "nativeSrc": "31443:1:23", "nodeType": "YulLiteral", - "src": "31443:1:10", + "src": "31443:1:23", "type": "", "value": "4" }, @@ -93702,93 +112677,93 @@ "arguments": [ { "name": "args", - "nativeSrc": "31450:4:10", + "nativeSrc": "31450:4:23", "nodeType": "YulIdentifier", - "src": "31450:4:10" + "src": "31450:4:23" }, { "kind": "number", - "nativeSrc": "31456:4:10", + "nativeSrc": "31456:4:23", "nodeType": "YulLiteral", - "src": "31456:4:10", + "src": "31456:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "31446:3:10", + "nativeSrc": "31446:3:23", "nodeType": "YulIdentifier", - "src": "31446:3:10" + "src": "31446:3:23" }, - "nativeSrc": "31446:15:10", + "nativeSrc": "31446:15:23", "nodeType": "YulFunctionCall", - "src": "31446:15:10" + "src": "31446:15:23" }, { "name": "n", - "nativeSrc": "31463:1:10", + "nativeSrc": "31463:1:23", "nodeType": "YulIdentifier", - "src": "31463:1:10" + "src": "31463:1:23" }, { "arguments": [ { "name": "m", - "nativeSrc": "31470:1:10", + "nativeSrc": "31470:1:23", "nodeType": "YulIdentifier", - "src": "31470:1:10" + "src": "31470:1:23" }, { "kind": "number", - "nativeSrc": "31473:4:10", + "nativeSrc": "31473:4:23", "nodeType": "YulLiteral", - "src": "31473:4:10", + "src": "31473:4:23", "type": "", "value": "0x43" } ], "functionName": { "name": "add", - "nativeSrc": "31466:3:10", + "nativeSrc": "31466:3:23", "nodeType": "YulIdentifier", - "src": "31466:3:10" + "src": "31466:3:23" }, - "nativeSrc": "31466:12:10", + "nativeSrc": "31466:12:23", "nodeType": "YulFunctionCall", - "src": "31466:12:10" + "src": "31466:12:23" }, { "name": "n", - "nativeSrc": "31480:1:10", + "nativeSrc": "31480:1:23", "nodeType": "YulIdentifier", - "src": "31480:1:10" + "src": "31480:1:23" } ], "functionName": { "name": "staticcall", - "nativeSrc": "31425:10:10", + "nativeSrc": "31425:10:23", "nodeType": "YulIdentifier", - "src": "31425:10:10" + "src": "31425:10:23" }, - "nativeSrc": "31425:57:10", + "nativeSrc": "31425:57:23", "nodeType": "YulFunctionCall", - "src": "31425:57:10" + "src": "31425:57:23" } ], "functionName": { "name": "pop", - "nativeSrc": "31421:3:10", + "nativeSrc": "31421:3:23", "nodeType": "YulIdentifier", - "src": "31421:3:10" + "src": "31421:3:23" }, - "nativeSrc": "31421:62:10", + "nativeSrc": "31421:62:23", "nodeType": "YulFunctionCall", - "src": "31421:62:10" + "src": "31421:62:23" }, - "nativeSrc": "31421:62:10", + "nativeSrc": "31421:62:23", "nodeType": "YulExpressionStatement", - "src": "31421:62:10" + "src": "31421:62:23" }, { "expression": { @@ -93797,51 +112772,51 @@ "arguments": [ { "name": "m", - "nativeSrc": "31507:1:10", + "nativeSrc": "31507:1:23", "nodeType": "YulIdentifier", - "src": "31507:1:10" + "src": "31507:1:23" }, { "kind": "number", - "nativeSrc": "31510:4:10", + "nativeSrc": "31510:4:23", "nodeType": "YulLiteral", - "src": "31510:4:10", + "src": "31510:4:23", "type": "", "value": "0x23" } ], "functionName": { "name": "add", - "nativeSrc": "31503:3:10", + "nativeSrc": "31503:3:23", "nodeType": "YulIdentifier", - "src": "31503:3:10" + "src": "31503:3:23" }, - "nativeSrc": "31503:12:10", + "nativeSrc": "31503:12:23", "nodeType": "YulFunctionCall", - "src": "31503:12:10" + "src": "31503:12:23" }, { "kind": "number", - "nativeSrc": "31517:32:10", + "nativeSrc": "31517:32:23", "nodeType": "YulLiteral", - "src": "31517:32:10", + "src": "31517:32:23", "type": "", "value": "0x5af43d82803e903d91602b57fd5bf3" } ], "functionName": { "name": "mstore", - "nativeSrc": "31496:6:10", + "nativeSrc": "31496:6:23", "nodeType": "YulIdentifier", - "src": "31496:6:10" + "src": "31496:6:23" }, - "nativeSrc": "31496:54:10", + "nativeSrc": "31496:54:23", "nodeType": "YulFunctionCall", - "src": "31496:54:10" + "src": "31496:54:23" }, - "nativeSrc": "31496:54:10", + "nativeSrc": "31496:54:23", "nodeType": "YulExpressionStatement", - "src": "31496:54:10" + "src": "31496:54:23" }, { "expression": { @@ -93850,66 +112825,66 @@ "arguments": [ { "name": "m", - "nativeSrc": "31574:1:10", + "nativeSrc": "31574:1:23", "nodeType": "YulIdentifier", - "src": "31574:1:10" + "src": "31574:1:23" }, { "kind": "number", - "nativeSrc": "31577:4:10", + "nativeSrc": "31577:4:23", "nodeType": "YulLiteral", - "src": "31577:4:10", + "src": "31577:4:23", "type": "", "value": "0x14" } ], "functionName": { "name": "add", - "nativeSrc": "31570:3:10", + "nativeSrc": "31570:3:23", "nodeType": "YulIdentifier", - "src": "31570:3:10" + "src": "31570:3:23" }, - "nativeSrc": "31570:12:10", + "nativeSrc": "31570:12:23", "nodeType": "YulFunctionCall", - "src": "31570:12:10" + "src": "31570:12:23" }, { "name": "implementation", - "nativeSrc": "31584:14:10", + "nativeSrc": "31584:14:23", "nodeType": "YulIdentifier", - "src": "31584:14:10" + "src": "31584:14:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "31563:6:10", + "nativeSrc": "31563:6:23", "nodeType": "YulIdentifier", - "src": "31563:6:10" + "src": "31563:6:23" }, - "nativeSrc": "31563:36:10", + "nativeSrc": "31563:36:23", "nodeType": "YulFunctionCall", - "src": "31563:36:10" + "src": "31563:36:23" }, - "nativeSrc": "31563:36:10", + "nativeSrc": "31563:36:23", "nodeType": "YulExpressionStatement", - "src": "31563:36:10" + "src": "31563:36:23" }, { "expression": { "arguments": [ { "name": "m", - "nativeSrc": "31619:1:10", + "nativeSrc": "31619:1:23", "nodeType": "YulIdentifier", - "src": "31619:1:10" + "src": "31619:1:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "31626:44:10", + "nativeSrc": "31626:44:23", "nodeType": "YulLiteral", - "src": "31626:44:10", + "src": "31626:44:23", "type": "", "value": "0xfe61002d3d81600a3d39f3363d3d373d3d3d363d73" }, @@ -93917,82 +112892,82 @@ "arguments": [ { "kind": "number", - "nativeSrc": "31676:3:10", + "nativeSrc": "31676:3:23", "nodeType": "YulLiteral", - "src": "31676:3:10", + "src": "31676:3:23", "type": "", "value": "136" }, { "name": "n", - "nativeSrc": "31681:1:10", + "nativeSrc": "31681:1:23", "nodeType": "YulIdentifier", - "src": "31681:1:10" + "src": "31681:1:23" } ], "functionName": { "name": "shl", - "nativeSrc": "31672:3:10", + "nativeSrc": "31672:3:23", "nodeType": "YulIdentifier", - "src": "31672:3:10" + "src": "31672:3:23" }, - "nativeSrc": "31672:11:10", + "nativeSrc": "31672:11:23", "nodeType": "YulFunctionCall", - "src": "31672:11:10" + "src": "31672:11:23" } ], "functionName": { "name": "add", - "nativeSrc": "31622:3:10", + "nativeSrc": "31622:3:23", "nodeType": "YulIdentifier", - "src": "31622:3:10" + "src": "31622:3:23" }, - "nativeSrc": "31622:62:10", + "nativeSrc": "31622:62:23", "nodeType": "YulFunctionCall", - "src": "31622:62:10" + "src": "31622:62:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "31612:6:10", + "nativeSrc": "31612:6:23", "nodeType": "YulIdentifier", - "src": "31612:6:10" + "src": "31612:6:23" }, - "nativeSrc": "31612:73:10", + "nativeSrc": "31612:73:23", "nodeType": "YulFunctionCall", - "src": "31612:73:10" + "src": "31612:73:23" }, - "nativeSrc": "31612:73:10", + "nativeSrc": "31612:73:23", "nodeType": "YulExpressionStatement", - "src": "31612:73:10" + "src": "31612:73:23" }, { - "nativeSrc": "31785:80:10", + "nativeSrc": "31785:80:23", "nodeType": "YulAssignment", - "src": "31785:80:10", + "src": "31785:80:23", "value": { "arguments": [ { "name": "value", - "nativeSrc": "31805:5:10", + "nativeSrc": "31805:5:23", "nodeType": "YulIdentifier", - "src": "31805:5:10" + "src": "31805:5:23" }, { "arguments": [ { "name": "m", - "nativeSrc": "31816:1:10", + "nativeSrc": "31816:1:23", "nodeType": "YulIdentifier", - "src": "31816:1:10" + "src": "31816:1:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "31823:4:10", + "nativeSrc": "31823:4:23", "nodeType": "YulLiteral", - "src": "31823:4:10", + "src": "31823:4:23", "type": "", "value": "0x0b" }, @@ -94000,177 +112975,177 @@ "arguments": [ { "name": "n", - "nativeSrc": "31832:1:10", + "nativeSrc": "31832:1:23", "nodeType": "YulIdentifier", - "src": "31832:1:10" + "src": "31832:1:23" }, { "kind": "number", - "nativeSrc": "31835:6:10", + "nativeSrc": "31835:6:23", "nodeType": "YulLiteral", - "src": "31835:6:10", + "src": "31835:6:23", "type": "", "value": "0xffd3" } ], "functionName": { "name": "lt", - "nativeSrc": "31829:2:10", + "nativeSrc": "31829:2:23", "nodeType": "YulIdentifier", - "src": "31829:2:10" + "src": "31829:2:23" }, - "nativeSrc": "31829:13:10", + "nativeSrc": "31829:13:23", "nodeType": "YulFunctionCall", - "src": "31829:13:10" + "src": "31829:13:23" } ], "functionName": { "name": "add", - "nativeSrc": "31819:3:10", + "nativeSrc": "31819:3:23", "nodeType": "YulIdentifier", - "src": "31819:3:10" + "src": "31819:3:23" }, - "nativeSrc": "31819:24:10", + "nativeSrc": "31819:24:23", "nodeType": "YulFunctionCall", - "src": "31819:24:10" + "src": "31819:24:23" } ], "functionName": { "name": "add", - "nativeSrc": "31812:3:10", + "nativeSrc": "31812:3:23", "nodeType": "YulIdentifier", - "src": "31812:3:10" + "src": "31812:3:23" }, - "nativeSrc": "31812:32:10", + "nativeSrc": "31812:32:23", "nodeType": "YulFunctionCall", - "src": "31812:32:10" + "src": "31812:32:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "31850:1:10", + "nativeSrc": "31850:1:23", "nodeType": "YulIdentifier", - "src": "31850:1:10" + "src": "31850:1:23" }, { "kind": "number", - "nativeSrc": "31853:4:10", + "nativeSrc": "31853:4:23", "nodeType": "YulLiteral", - "src": "31853:4:10", + "src": "31853:4:23", "type": "", "value": "0x37" } ], "functionName": { "name": "add", - "nativeSrc": "31846:3:10", + "nativeSrc": "31846:3:23", "nodeType": "YulIdentifier", - "src": "31846:3:10" + "src": "31846:3:23" }, - "nativeSrc": "31846:12:10", + "nativeSrc": "31846:12:23", "nodeType": "YulFunctionCall", - "src": "31846:12:10" + "src": "31846:12:23" }, { "name": "salt", - "nativeSrc": "31860:4:10", + "nativeSrc": "31860:4:23", "nodeType": "YulIdentifier", - "src": "31860:4:10" + "src": "31860:4:23" } ], "functionName": { "name": "create2", - "nativeSrc": "31797:7:10", + "nativeSrc": "31797:7:23", "nodeType": "YulIdentifier", - "src": "31797:7:10" + "src": "31797:7:23" }, - "nativeSrc": "31797:68:10", + "nativeSrc": "31797:68:23", "nodeType": "YulFunctionCall", - "src": "31797:68:10" + "src": "31797:68:23" }, "variableNames": [ { "name": "instance", - "nativeSrc": "31785:8:10", + "nativeSrc": "31785:8:23", "nodeType": "YulIdentifier", - "src": "31785:8:10" + "src": "31785:8:23" } ] }, { "body": { - "nativeSrc": "31898:116:10", + "nativeSrc": "31898:116:23", "nodeType": "YulBlock", - "src": "31898:116:10", + "src": "31898:116:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "31923:4:10", + "nativeSrc": "31923:4:23", "nodeType": "YulLiteral", - "src": "31923:4:10", + "src": "31923:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "31929:10:10", + "nativeSrc": "31929:10:23", "nodeType": "YulLiteral", - "src": "31929:10:10", + "src": "31929:10:23", "type": "", "value": "0x30116425" } ], "functionName": { "name": "mstore", - "nativeSrc": "31916:6:10", + "nativeSrc": "31916:6:23", "nodeType": "YulIdentifier", - "src": "31916:6:10" + "src": "31916:6:23" }, - "nativeSrc": "31916:24:10", + "nativeSrc": "31916:24:23", "nodeType": "YulFunctionCall", - "src": "31916:24:10" + "src": "31916:24:23" }, - "nativeSrc": "31916:24:10", + "nativeSrc": "31916:24:23", "nodeType": "YulExpressionStatement", - "src": "31916:24:10" + "src": "31916:24:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "31989:4:10", + "nativeSrc": "31989:4:23", "nodeType": "YulLiteral", - "src": "31989:4:10", + "src": "31989:4:23", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "31995:4:10", + "nativeSrc": "31995:4:23", "nodeType": "YulLiteral", - "src": "31995:4:10", + "src": "31995:4:23", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "31982:6:10", + "nativeSrc": "31982:6:23", "nodeType": "YulIdentifier", - "src": "31982:6:10" + "src": "31982:6:23" }, - "nativeSrc": "31982:18:10", + "nativeSrc": "31982:18:23", "nodeType": "YulFunctionCall", - "src": "31982:18:10" + "src": "31982:18:23" }, - "nativeSrc": "31982:18:10", + "nativeSrc": "31982:18:23", "nodeType": "YulExpressionStatement", - "src": "31982:18:10" + "src": "31982:18:23" } ] }, @@ -94178,24 +113153,24 @@ "arguments": [ { "name": "instance", - "nativeSrc": "31888:8:10", + "nativeSrc": "31888:8:23", "nodeType": "YulIdentifier", - "src": "31888:8:10" + "src": "31888:8:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "31881:6:10", + "nativeSrc": "31881:6:23", "nodeType": "YulIdentifier", - "src": "31881:6:10" + "src": "31881:6:23" }, - "nativeSrc": "31881:16:10", + "nativeSrc": "31881:16:23", "nodeType": "YulFunctionCall", - "src": "31881:16:10" + "src": "31881:16:23" }, - "nativeSrc": "31878:136:10", + "nativeSrc": "31878:136:23", "nodeType": "YulIf", - "src": "31878:136:10" + "src": "31878:136:23" } ] }, @@ -94203,87 +113178,87 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3396, + "declaration": 5002, "isOffset": false, "isSlot": false, - "src": "31403:4:10", + "src": "31403:4:23", "valueSize": 1 }, { - "declaration": 3396, + "declaration": 5002, "isOffset": false, "isSlot": false, - "src": "31450:4:10", + "src": "31450:4:23", "valueSize": 1 }, { - "declaration": 3394, + "declaration": 5000, "isOffset": false, "isSlot": false, - "src": "31584:14:10", + "src": "31584:14:23", "valueSize": 1 }, { - "declaration": 3401, + "declaration": 5007, "isOffset": false, "isSlot": false, - "src": "31785:8:10", + "src": "31785:8:23", "valueSize": 1 }, { - "declaration": 3401, + "declaration": 5007, "isOffset": false, "isSlot": false, - "src": "31888:8:10", + "src": "31888:8:23", "valueSize": 1 }, { - "declaration": 3398, + "declaration": 5004, "isOffset": false, "isSlot": false, - "src": "31860:4:10", + "src": "31860:4:23", "valueSize": 1 }, { - "declaration": 3392, + "declaration": 4998, "isOffset": false, "isSlot": false, - "src": "31805:5:10", + "src": "31805:5:23", "valueSize": 1 } ], - "id": 3403, + "id": 5009, "nodeType": "InlineAssembly", - "src": "31332:692:10" + "src": "31332:692:23" } ] }, "documentation": { - "id": 3390, + "id": 4996, "nodeType": "StructuredDocumentation", - "src": "30979:121:10", + "src": "30979:121:23", "text": "@dev Deploys a deterministic clone of `implementation`\n with immutable arguments encoded in `args` and `salt`." }, - "id": 3405, + "id": 5011, "implemented": true, "kind": "function", "modifiers": [], "name": "cloneDeterministic", - "nameLocation": "31114:18:10", + "nameLocation": "31114:18:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3399, + "id": 5005, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3392, + "id": 4998, "mutability": "mutable", "name": "value", - "nameLocation": "31150:5:10", + "nameLocation": "31150:5:23", "nodeType": "VariableDeclaration", - "scope": 3405, - "src": "31142:13:10", + "scope": 5011, + "src": "31142:13:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -94291,10 +113266,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3391, + "id": 4997, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "31142:7:10", + "src": "31142:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -94304,13 +113279,13 @@ }, { "constant": false, - "id": 3394, + "id": 5000, "mutability": "mutable", "name": "implementation", - "nameLocation": "31173:14:10", + "nameLocation": "31173:14:23", "nodeType": "VariableDeclaration", - "scope": 3405, - "src": "31165:22:10", + "scope": 5011, + "src": "31165:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -94318,10 +113293,10 @@ "typeString": "address" }, "typeName": { - "id": 3393, + "id": 4999, "name": "address", "nodeType": "ElementaryTypeName", - "src": "31165:7:10", + "src": "31165:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -94332,13 +113307,13 @@ }, { "constant": false, - "id": 3396, + "id": 5002, "mutability": "mutable", "name": "args", - "nameLocation": "31210:4:10", + "nameLocation": "31210:4:23", "nodeType": "VariableDeclaration", - "scope": 3405, - "src": "31197:17:10", + "scope": 5011, + "src": "31197:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -94346,10 +113321,10 @@ "typeString": "bytes" }, "typeName": { - "id": 3395, + "id": 5001, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "31197:5:10", + "src": "31197:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -94359,13 +113334,13 @@ }, { "constant": false, - "id": 3398, + "id": 5004, "mutability": "mutable", "name": "salt", - "nameLocation": "31232:4:10", + "nameLocation": "31232:4:23", "nodeType": "VariableDeclaration", - "scope": 3405, - "src": "31224:12:10", + "scope": 5011, + "src": "31224:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -94373,10 +113348,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 3397, + "id": 5003, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "31224:7:10", + "src": "31224:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -94385,21 +113360,21 @@ "visibility": "internal" } ], - "src": "31132:110:10" + "src": "31132:110:23" }, "returnParameters": { - "id": 3402, + "id": 5008, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3401, + "id": 5007, "mutability": "mutable", "name": "instance", - "nameLocation": "31269:8:10", + "nameLocation": "31269:8:23", "nodeType": "VariableDeclaration", - "scope": 3405, - "src": "31261:16:10", + "scope": 5011, + "src": "31261:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -94407,10 +113382,10 @@ "typeString": "address" }, "typeName": { - "id": 3400, + "id": 5006, "name": "address", "nodeType": "ElementaryTypeName", - "src": "31261:7:10", + "src": "31261:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -94420,33 +113395,33 @@ "visibility": "internal" } ], - "src": "31260:18:10" + "src": "31260:18:23" }, - "scope": 5093, - "src": "31105:925:10", + "scope": 6699, + "src": "31105:925:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3426, + "id": 5032, "nodeType": "Block", - "src": "32407:79:10", + "src": "32407:79:23", "statements": [ { "expression": { "arguments": [ { "hexValue": "30", - "id": 3420, + "id": 5026, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "32449:1:10", + "src": "32449:1:23", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -94454,36 +113429,36 @@ "value": "0" }, { - "id": 3421, + "id": 5027, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3408, - "src": "32452:14:10", + "referencedDeclaration": 5014, + "src": "32452:14:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 3422, + "id": 5028, "name": "args", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3410, - "src": "32468:4:10", + "referencedDeclaration": 5016, + "src": "32468:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { - "id": 3423, + "id": 5029, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3412, - "src": "32474:4:10", + "referencedDeclaration": 5018, + "src": "32474:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -94509,21 +113484,21 @@ "typeString": "bytes32" } ], - "id": 3419, + "id": 5025, "name": "createDeterministicClone", "nodeType": "Identifier", "overloadedDeclarations": [ - 3427, - 3445 + 5033, + 5051 ], - "referencedDeclaration": 3445, - "src": "32424:24:10", + "referencedDeclaration": 5051, + "src": "32424:24:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$_t_bytes32_$returns$_t_bool_$_t_address_$", "typeString": "function (uint256,address,bytes memory,bytes32) returns (bool,address)" } }, - "id": 3424, + "id": 5030, "isConstant": false, "isLValue": false, "isPure": false, @@ -94532,46 +113507,46 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "32424:55:10", + "src": "32424:55:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_address_$", "typeString": "tuple(bool,address)" } }, - "functionReturnParameters": 3418, - "id": 3425, + "functionReturnParameters": 5024, + "id": 5031, "nodeType": "Return", - "src": "32417:62:10" + "src": "32417:62:23" } ] }, "documentation": { - "id": 3406, + "id": 5012, "nodeType": "StructuredDocumentation", - "src": "32036:197:10", + "src": "32036:197:23", "text": "@dev Deploys a deterministic clone of `implementation`\n with immutable arguments encoded in `args` and `salt`.\n This method does not revert if the clone has already been deployed." }, - "id": 3427, + "id": 5033, "implemented": true, "kind": "function", "modifiers": [], "name": "createDeterministicClone", - "nameLocation": "32247:24:10", + "nameLocation": "32247:24:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3413, + "id": 5019, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3408, + "id": 5014, "mutability": "mutable", "name": "implementation", - "nameLocation": "32280:14:10", + "nameLocation": "32280:14:23", "nodeType": "VariableDeclaration", - "scope": 3427, - "src": "32272:22:10", + "scope": 5033, + "src": "32272:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -94579,10 +113554,10 @@ "typeString": "address" }, "typeName": { - "id": 3407, + "id": 5013, "name": "address", "nodeType": "ElementaryTypeName", - "src": "32272:7:10", + "src": "32272:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -94593,13 +113568,13 @@ }, { "constant": false, - "id": 3410, + "id": 5016, "mutability": "mutable", "name": "args", - "nameLocation": "32309:4:10", + "nameLocation": "32309:4:23", "nodeType": "VariableDeclaration", - "scope": 3427, - "src": "32296:17:10", + "scope": 5033, + "src": "32296:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -94607,10 +113582,10 @@ "typeString": "bytes" }, "typeName": { - "id": 3409, + "id": 5015, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "32296:5:10", + "src": "32296:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -94620,13 +113595,13 @@ }, { "constant": false, - "id": 3412, + "id": 5018, "mutability": "mutable", "name": "salt", - "nameLocation": "32323:4:10", + "nameLocation": "32323:4:23", "nodeType": "VariableDeclaration", - "scope": 3427, - "src": "32315:12:10", + "scope": 5033, + "src": "32315:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -94634,10 +113609,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 3411, + "id": 5017, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "32315:7:10", + "src": "32315:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -94646,21 +113621,21 @@ "visibility": "internal" } ], - "src": "32271:57:10" + "src": "32271:57:23" }, "returnParameters": { - "id": 3418, + "id": 5024, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3415, + "id": 5021, "mutability": "mutable", "name": "alreadyDeployed", - "nameLocation": "32368:15:10", + "nameLocation": "32368:15:23", "nodeType": "VariableDeclaration", - "scope": 3427, - "src": "32363:20:10", + "scope": 5033, + "src": "32363:20:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -94668,10 +113643,10 @@ "typeString": "bool" }, "typeName": { - "id": 3414, + "id": 5020, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "32363:4:10", + "src": "32363:4:23", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -94681,13 +113656,13 @@ }, { "constant": false, - "id": 3417, + "id": 5023, "mutability": "mutable", "name": "instance", - "nameLocation": "32393:8:10", + "nameLocation": "32393:8:23", "nodeType": "VariableDeclaration", - "scope": 3427, - "src": "32385:16:10", + "scope": 5033, + "src": "32385:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -94695,10 +113670,10 @@ "typeString": "address" }, "typeName": { - "id": 3416, + "id": 5022, "name": "address", "nodeType": "ElementaryTypeName", - "src": "32385:7:10", + "src": "32385:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -94708,90 +113683,90 @@ "visibility": "internal" } ], - "src": "32362:40:10" + "src": "32362:40:23" }, - "scope": 5093, - "src": "32238:248:10", + "scope": 6699, + "src": "32238:248:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3444, + "id": 5050, "nodeType": "Block", - "src": "32896:1672:10", + "src": "32896:1672:23", "statements": [ { "AST": { - "nativeSrc": "32958:1604:10", + "nativeSrc": "32958:1604:23", "nodeType": "YulBlock", - "src": "32958:1604:10", + "src": "32958:1604:23", "statements": [ { - "nativeSrc": "32972:20:10", + "nativeSrc": "32972:20:23", "nodeType": "YulVariableDeclaration", - "src": "32972:20:10", + "src": "32972:20:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "32987:4:10", + "nativeSrc": "32987:4:23", "nodeType": "YulLiteral", - "src": "32987:4:10", + "src": "32987:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "32981:5:10", + "nativeSrc": "32981:5:23", "nodeType": "YulIdentifier", - "src": "32981:5:10" + "src": "32981:5:23" }, - "nativeSrc": "32981:11:10", + "nativeSrc": "32981:11:23", "nodeType": "YulFunctionCall", - "src": "32981:11:10" + "src": "32981:11:23" }, "variables": [ { "name": "m", - "nativeSrc": "32976:1:10", + "nativeSrc": "32976:1:23", "nodeType": "YulTypedName", - "src": "32976:1:10", + "src": "32976:1:23", "type": "" } ] }, { - "nativeSrc": "33005:20:10", + "nativeSrc": "33005:20:23", "nodeType": "YulVariableDeclaration", - "src": "33005:20:10", + "src": "33005:20:23", "value": { "arguments": [ { "name": "args", - "nativeSrc": "33020:4:10", + "nativeSrc": "33020:4:23", "nodeType": "YulIdentifier", - "src": "33020:4:10" + "src": "33020:4:23" } ], "functionName": { "name": "mload", - "nativeSrc": "33014:5:10", + "nativeSrc": "33014:5:23", "nodeType": "YulIdentifier", - "src": "33014:5:10" + "src": "33014:5:23" }, - "nativeSrc": "33014:11:10", + "nativeSrc": "33014:11:23", "nodeType": "YulFunctionCall", - "src": "33014:11:10" + "src": "33014:11:23" }, "variables": [ { "name": "n", - "nativeSrc": "33009:1:10", + "nativeSrc": "33009:1:23", "nodeType": "YulTypedName", - "src": "33009:1:10", + "src": "33009:1:23", "type": "" } ] @@ -94805,19 +113780,19 @@ "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "33053:3:10", + "nativeSrc": "33053:3:23", "nodeType": "YulIdentifier", - "src": "33053:3:10" + "src": "33053:3:23" }, - "nativeSrc": "33053:5:10", + "nativeSrc": "33053:5:23", "nodeType": "YulFunctionCall", - "src": "33053:5:10" + "src": "33053:5:23" }, { "kind": "number", - "nativeSrc": "33060:1:10", + "nativeSrc": "33060:1:23", "nodeType": "YulLiteral", - "src": "33060:1:10", + "src": "33060:1:23", "type": "", "value": "4" }, @@ -94825,93 +113800,93 @@ "arguments": [ { "name": "args", - "nativeSrc": "33067:4:10", + "nativeSrc": "33067:4:23", "nodeType": "YulIdentifier", - "src": "33067:4:10" + "src": "33067:4:23" }, { "kind": "number", - "nativeSrc": "33073:4:10", + "nativeSrc": "33073:4:23", "nodeType": "YulLiteral", - "src": "33073:4:10", + "src": "33073:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "33063:3:10", + "nativeSrc": "33063:3:23", "nodeType": "YulIdentifier", - "src": "33063:3:10" + "src": "33063:3:23" }, - "nativeSrc": "33063:15:10", + "nativeSrc": "33063:15:23", "nodeType": "YulFunctionCall", - "src": "33063:15:10" + "src": "33063:15:23" }, { "name": "n", - "nativeSrc": "33080:1:10", + "nativeSrc": "33080:1:23", "nodeType": "YulIdentifier", - "src": "33080:1:10" + "src": "33080:1:23" }, { "arguments": [ { "name": "m", - "nativeSrc": "33087:1:10", + "nativeSrc": "33087:1:23", "nodeType": "YulIdentifier", - "src": "33087:1:10" + "src": "33087:1:23" }, { "kind": "number", - "nativeSrc": "33090:4:10", + "nativeSrc": "33090:4:23", "nodeType": "YulLiteral", - "src": "33090:4:10", + "src": "33090:4:23", "type": "", "value": "0x43" } ], "functionName": { "name": "add", - "nativeSrc": "33083:3:10", + "nativeSrc": "33083:3:23", "nodeType": "YulIdentifier", - "src": "33083:3:10" + "src": "33083:3:23" }, - "nativeSrc": "33083:12:10", + "nativeSrc": "33083:12:23", "nodeType": "YulFunctionCall", - "src": "33083:12:10" + "src": "33083:12:23" }, { "name": "n", - "nativeSrc": "33097:1:10", + "nativeSrc": "33097:1:23", "nodeType": "YulIdentifier", - "src": "33097:1:10" + "src": "33097:1:23" } ], "functionName": { "name": "staticcall", - "nativeSrc": "33042:10:10", + "nativeSrc": "33042:10:23", "nodeType": "YulIdentifier", - "src": "33042:10:10" + "src": "33042:10:23" }, - "nativeSrc": "33042:57:10", + "nativeSrc": "33042:57:23", "nodeType": "YulFunctionCall", - "src": "33042:57:10" + "src": "33042:57:23" } ], "functionName": { "name": "pop", - "nativeSrc": "33038:3:10", + "nativeSrc": "33038:3:23", "nodeType": "YulIdentifier", - "src": "33038:3:10" + "src": "33038:3:23" }, - "nativeSrc": "33038:62:10", + "nativeSrc": "33038:62:23", "nodeType": "YulFunctionCall", - "src": "33038:62:10" + "src": "33038:62:23" }, - "nativeSrc": "33038:62:10", + "nativeSrc": "33038:62:23", "nodeType": "YulExpressionStatement", - "src": "33038:62:10" + "src": "33038:62:23" }, { "expression": { @@ -94920,51 +113895,51 @@ "arguments": [ { "name": "m", - "nativeSrc": "33124:1:10", + "nativeSrc": "33124:1:23", "nodeType": "YulIdentifier", - "src": "33124:1:10" + "src": "33124:1:23" }, { "kind": "number", - "nativeSrc": "33127:4:10", + "nativeSrc": "33127:4:23", "nodeType": "YulLiteral", - "src": "33127:4:10", + "src": "33127:4:23", "type": "", "value": "0x23" } ], "functionName": { "name": "add", - "nativeSrc": "33120:3:10", + "nativeSrc": "33120:3:23", "nodeType": "YulIdentifier", - "src": "33120:3:10" + "src": "33120:3:23" }, - "nativeSrc": "33120:12:10", + "nativeSrc": "33120:12:23", "nodeType": "YulFunctionCall", - "src": "33120:12:10" + "src": "33120:12:23" }, { "kind": "number", - "nativeSrc": "33134:32:10", + "nativeSrc": "33134:32:23", "nodeType": "YulLiteral", - "src": "33134:32:10", + "src": "33134:32:23", "type": "", "value": "0x5af43d82803e903d91602b57fd5bf3" } ], "functionName": { "name": "mstore", - "nativeSrc": "33113:6:10", + "nativeSrc": "33113:6:23", "nodeType": "YulIdentifier", - "src": "33113:6:10" + "src": "33113:6:23" }, - "nativeSrc": "33113:54:10", + "nativeSrc": "33113:54:23", "nodeType": "YulFunctionCall", - "src": "33113:54:10" + "src": "33113:54:23" }, - "nativeSrc": "33113:54:10", + "nativeSrc": "33113:54:23", "nodeType": "YulExpressionStatement", - "src": "33113:54:10" + "src": "33113:54:23" }, { "expression": { @@ -94973,49 +113948,49 @@ "arguments": [ { "name": "m", - "nativeSrc": "33191:1:10", + "nativeSrc": "33191:1:23", "nodeType": "YulIdentifier", - "src": "33191:1:10" + "src": "33191:1:23" }, { "kind": "number", - "nativeSrc": "33194:4:10", + "nativeSrc": "33194:4:23", "nodeType": "YulLiteral", - "src": "33194:4:10", + "src": "33194:4:23", "type": "", "value": "0x14" } ], "functionName": { "name": "add", - "nativeSrc": "33187:3:10", + "nativeSrc": "33187:3:23", "nodeType": "YulIdentifier", - "src": "33187:3:10" + "src": "33187:3:23" }, - "nativeSrc": "33187:12:10", + "nativeSrc": "33187:12:23", "nodeType": "YulFunctionCall", - "src": "33187:12:10" + "src": "33187:12:23" }, { "name": "implementation", - "nativeSrc": "33201:14:10", + "nativeSrc": "33201:14:23", "nodeType": "YulIdentifier", - "src": "33201:14:10" + "src": "33201:14:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "33180:6:10", + "nativeSrc": "33180:6:23", "nodeType": "YulIdentifier", - "src": "33180:6:10" + "src": "33180:6:23" }, - "nativeSrc": "33180:36:10", + "nativeSrc": "33180:36:23", "nodeType": "YulFunctionCall", - "src": "33180:36:10" + "src": "33180:36:23" }, - "nativeSrc": "33180:36:10", + "nativeSrc": "33180:36:23", "nodeType": "YulExpressionStatement", - "src": "33180:36:10" + "src": "33180:36:23" }, { "expression": { @@ -95024,55 +113999,55 @@ "arguments": [ { "name": "m", - "nativeSrc": "33370:1:10", + "nativeSrc": "33370:1:23", "nodeType": "YulIdentifier", - "src": "33370:1:10" + "src": "33370:1:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "33376:1:10", + "nativeSrc": "33376:1:23", "nodeType": "YulIdentifier", - "src": "33376:1:10" + "src": "33376:1:23" }, { "kind": "number", - "nativeSrc": "33379:6:10", + "nativeSrc": "33379:6:23", "nodeType": "YulLiteral", - "src": "33379:6:10", + "src": "33379:6:23", "type": "", "value": "0xffd2" } ], "functionName": { "name": "gt", - "nativeSrc": "33373:2:10", + "nativeSrc": "33373:2:23", "nodeType": "YulIdentifier", - "src": "33373:2:10" + "src": "33373:2:23" }, - "nativeSrc": "33373:13:10", + "nativeSrc": "33373:13:23", "nodeType": "YulFunctionCall", - "src": "33373:13:10" + "src": "33373:13:23" } ], "functionName": { "name": "add", - "nativeSrc": "33366:3:10", + "nativeSrc": "33366:3:23", "nodeType": "YulIdentifier", - "src": "33366:3:10" + "src": "33366:3:23" }, - "nativeSrc": "33366:21:10", + "nativeSrc": "33366:21:23", "nodeType": "YulFunctionCall", - "src": "33366:21:10" + "src": "33366:21:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "33393:44:10", + "nativeSrc": "33393:44:23", "nodeType": "YulLiteral", - "src": "33393:44:10", + "src": "33393:44:23", "type": "", "value": "0xfe61002d3d81600a3d39f3363d3d373d3d3d363d73" }, @@ -95080,97 +114055,97 @@ "arguments": [ { "kind": "number", - "nativeSrc": "33443:3:10", + "nativeSrc": "33443:3:23", "nodeType": "YulLiteral", - "src": "33443:3:10", + "src": "33443:3:23", "type": "", "value": "136" }, { "name": "n", - "nativeSrc": "33448:1:10", + "nativeSrc": "33448:1:23", "nodeType": "YulIdentifier", - "src": "33448:1:10" + "src": "33448:1:23" } ], "functionName": { "name": "shl", - "nativeSrc": "33439:3:10", + "nativeSrc": "33439:3:23", "nodeType": "YulIdentifier", - "src": "33439:3:10" + "src": "33439:3:23" }, - "nativeSrc": "33439:11:10", + "nativeSrc": "33439:11:23", "nodeType": "YulFunctionCall", - "src": "33439:11:10" + "src": "33439:11:23" } ], "functionName": { "name": "add", - "nativeSrc": "33389:3:10", + "nativeSrc": "33389:3:23", "nodeType": "YulIdentifier", - "src": "33389:3:10" + "src": "33389:3:23" }, - "nativeSrc": "33389:62:10", + "nativeSrc": "33389:62:23", "nodeType": "YulFunctionCall", - "src": "33389:62:10" + "src": "33389:62:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "33359:6:10", + "nativeSrc": "33359:6:23", "nodeType": "YulIdentifier", - "src": "33359:6:10" + "src": "33359:6:23" }, - "nativeSrc": "33359:93:10", + "nativeSrc": "33359:93:23", "nodeType": "YulFunctionCall", - "src": "33359:93:10" + "src": "33359:93:23" }, - "nativeSrc": "33359:93:10", + "nativeSrc": "33359:93:23", "nodeType": "YulExpressionStatement", - "src": "33359:93:10" + "src": "33359:93:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "33525:4:10", + "nativeSrc": "33525:4:23", "nodeType": "YulLiteral", - "src": "33525:4:10", + "src": "33525:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "33531:4:10", + "nativeSrc": "33531:4:23", "nodeType": "YulLiteral", - "src": "33531:4:10", + "src": "33531:4:23", "type": "", "value": "0xff" } ], "functionName": { "name": "mstore8", - "nativeSrc": "33517:7:10", + "nativeSrc": "33517:7:23", "nodeType": "YulIdentifier", - "src": "33517:7:10" + "src": "33517:7:23" }, - "nativeSrc": "33517:19:10", + "nativeSrc": "33517:19:23", "nodeType": "YulFunctionCall", - "src": "33517:19:10" + "src": "33517:19:23" }, - "nativeSrc": "33517:19:10", + "nativeSrc": "33517:19:23", "nodeType": "YulExpressionStatement", - "src": "33517:19:10" + "src": "33517:19:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "33577:4:10", + "nativeSrc": "33577:4:23", "nodeType": "YulLiteral", - "src": "33577:4:10", + "src": "33577:4:23", "type": "", "value": "0x35" }, @@ -95180,90 +114155,90 @@ "arguments": [ { "name": "m", - "nativeSrc": "33597:1:10", + "nativeSrc": "33597:1:23", "nodeType": "YulIdentifier", - "src": "33597:1:10" + "src": "33597:1:23" }, { "kind": "number", - "nativeSrc": "33600:4:10", + "nativeSrc": "33600:4:23", "nodeType": "YulLiteral", - "src": "33600:4:10", + "src": "33600:4:23", "type": "", "value": "0x0c" } ], "functionName": { "name": "add", - "nativeSrc": "33593:3:10", + "nativeSrc": "33593:3:23", "nodeType": "YulIdentifier", - "src": "33593:3:10" + "src": "33593:3:23" }, - "nativeSrc": "33593:12:10", + "nativeSrc": "33593:12:23", "nodeType": "YulFunctionCall", - "src": "33593:12:10" + "src": "33593:12:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "33611:1:10", + "nativeSrc": "33611:1:23", "nodeType": "YulIdentifier", - "src": "33611:1:10" + "src": "33611:1:23" }, { "kind": "number", - "nativeSrc": "33614:4:10", + "nativeSrc": "33614:4:23", "nodeType": "YulLiteral", - "src": "33614:4:10", + "src": "33614:4:23", "type": "", "value": "0x37" } ], "functionName": { "name": "add", - "nativeSrc": "33607:3:10", + "nativeSrc": "33607:3:23", "nodeType": "YulIdentifier", - "src": "33607:3:10" + "src": "33607:3:23" }, - "nativeSrc": "33607:12:10", + "nativeSrc": "33607:12:23", "nodeType": "YulFunctionCall", - "src": "33607:12:10" + "src": "33607:12:23" } ], "functionName": { "name": "keccak256", - "nativeSrc": "33583:9:10", + "nativeSrc": "33583:9:23", "nodeType": "YulIdentifier", - "src": "33583:9:10" + "src": "33583:9:23" }, - "nativeSrc": "33583:37:10", + "nativeSrc": "33583:37:23", "nodeType": "YulFunctionCall", - "src": "33583:37:10" + "src": "33583:37:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "33570:6:10", + "nativeSrc": "33570:6:23", "nodeType": "YulIdentifier", - "src": "33570:6:10" + "src": "33570:6:23" }, - "nativeSrc": "33570:51:10", + "nativeSrc": "33570:51:23", "nodeType": "YulFunctionCall", - "src": "33570:51:10" + "src": "33570:51:23" }, - "nativeSrc": "33570:51:10", + "nativeSrc": "33570:51:23", "nodeType": "YulExpressionStatement", - "src": "33570:51:10" + "src": "33570:51:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "33641:4:10", + "nativeSrc": "33641:4:23", "nodeType": "YulLiteral", - "src": "33641:4:10", + "src": "33641:4:23", "type": "", "value": "0x01" }, @@ -95271,9 +114246,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "33651:2:10", + "nativeSrc": "33651:2:23", "nodeType": "YulLiteral", - "src": "33651:2:10", + "src": "33651:2:23", "type": "", "value": "96" }, @@ -95281,291 +114256,291 @@ "arguments": [], "functionName": { "name": "address", - "nativeSrc": "33655:7:10", + "nativeSrc": "33655:7:23", "nodeType": "YulIdentifier", - "src": "33655:7:10" + "src": "33655:7:23" }, - "nativeSrc": "33655:9:10", + "nativeSrc": "33655:9:23", "nodeType": "YulFunctionCall", - "src": "33655:9:10" + "src": "33655:9:23" } ], "functionName": { "name": "shl", - "nativeSrc": "33647:3:10", + "nativeSrc": "33647:3:23", "nodeType": "YulIdentifier", - "src": "33647:3:10" + "src": "33647:3:23" }, - "nativeSrc": "33647:18:10", + "nativeSrc": "33647:18:23", "nodeType": "YulFunctionCall", - "src": "33647:18:10" + "src": "33647:18:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "33634:6:10", + "nativeSrc": "33634:6:23", "nodeType": "YulIdentifier", - "src": "33634:6:10" + "src": "33634:6:23" }, - "nativeSrc": "33634:32:10", + "nativeSrc": "33634:32:23", "nodeType": "YulFunctionCall", - "src": "33634:32:10" + "src": "33634:32:23" }, - "nativeSrc": "33634:32:10", + "nativeSrc": "33634:32:23", "nodeType": "YulExpressionStatement", - "src": "33634:32:10" + "src": "33634:32:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "33686:4:10", + "nativeSrc": "33686:4:23", "nodeType": "YulLiteral", - "src": "33686:4:10", + "src": "33686:4:23", "type": "", "value": "0x15" }, { "name": "salt", - "nativeSrc": "33692:4:10", + "nativeSrc": "33692:4:23", "nodeType": "YulIdentifier", - "src": "33692:4:10" + "src": "33692:4:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "33679:6:10", + "nativeSrc": "33679:6:23", "nodeType": "YulIdentifier", - "src": "33679:6:10" + "src": "33679:6:23" }, - "nativeSrc": "33679:18:10", + "nativeSrc": "33679:18:23", "nodeType": "YulFunctionCall", - "src": "33679:18:10" + "src": "33679:18:23" }, - "nativeSrc": "33679:18:10", + "nativeSrc": "33679:18:23", "nodeType": "YulExpressionStatement", - "src": "33679:18:10" + "src": "33679:18:23" }, { - "nativeSrc": "33710:33:10", + "nativeSrc": "33710:33:23", "nodeType": "YulAssignment", - "src": "33710:33:10", + "src": "33710:33:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "33732:4:10", + "nativeSrc": "33732:4:23", "nodeType": "YulLiteral", - "src": "33732:4:10", + "src": "33732:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "33738:4:10", + "nativeSrc": "33738:4:23", "nodeType": "YulLiteral", - "src": "33738:4:10", + "src": "33738:4:23", "type": "", "value": "0x55" } ], "functionName": { "name": "keccak256", - "nativeSrc": "33722:9:10", + "nativeSrc": "33722:9:23", "nodeType": "YulIdentifier", - "src": "33722:9:10" + "src": "33722:9:23" }, - "nativeSrc": "33722:21:10", + "nativeSrc": "33722:21:23", "nodeType": "YulFunctionCall", - "src": "33722:21:10" + "src": "33722:21:23" }, "variableNames": [ { "name": "instance", - "nativeSrc": "33710:8:10", + "nativeSrc": "33710:8:23", "nodeType": "YulIdentifier", - "src": "33710:8:10" + "src": "33710:8:23" } ] }, { "body": { - "nativeSrc": "33768:696:10", + "nativeSrc": "33768:696:23", "nodeType": "YulBlock", - "src": "33768:696:10", + "src": "33768:696:23", "statements": [ { "body": { - "nativeSrc": "33819:307:10", + "nativeSrc": "33819:307:23", "nodeType": "YulBlock", - "src": "33819:307:10", + "src": "33819:307:23", "statements": [ { - "nativeSrc": "33841:60:10", + "nativeSrc": "33841:60:23", "nodeType": "YulAssignment", - "src": "33841:60:10", + "src": "33841:60:23", "value": { "arguments": [ { "name": "value", - "nativeSrc": "33861:5:10", + "nativeSrc": "33861:5:23", "nodeType": "YulIdentifier", - "src": "33861:5:10" + "src": "33861:5:23" }, { "arguments": [ { "name": "m", - "nativeSrc": "33872:1:10", + "nativeSrc": "33872:1:23", "nodeType": "YulIdentifier", - "src": "33872:1:10" + "src": "33872:1:23" }, { "kind": "number", - "nativeSrc": "33875:4:10", + "nativeSrc": "33875:4:23", "nodeType": "YulLiteral", - "src": "33875:4:10", + "src": "33875:4:23", "type": "", "value": "0x0c" } ], "functionName": { "name": "add", - "nativeSrc": "33868:3:10", + "nativeSrc": "33868:3:23", "nodeType": "YulIdentifier", - "src": "33868:3:10" + "src": "33868:3:23" }, - "nativeSrc": "33868:12:10", + "nativeSrc": "33868:12:23", "nodeType": "YulFunctionCall", - "src": "33868:12:10" + "src": "33868:12:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "33886:1:10", + "nativeSrc": "33886:1:23", "nodeType": "YulIdentifier", - "src": "33886:1:10" + "src": "33886:1:23" }, { "kind": "number", - "nativeSrc": "33889:4:10", + "nativeSrc": "33889:4:23", "nodeType": "YulLiteral", - "src": "33889:4:10", + "src": "33889:4:23", "type": "", "value": "0x37" } ], "functionName": { "name": "add", - "nativeSrc": "33882:3:10", + "nativeSrc": "33882:3:23", "nodeType": "YulIdentifier", - "src": "33882:3:10" + "src": "33882:3:23" }, - "nativeSrc": "33882:12:10", + "nativeSrc": "33882:12:23", "nodeType": "YulFunctionCall", - "src": "33882:12:10" + "src": "33882:12:23" }, { "name": "salt", - "nativeSrc": "33896:4:10", + "nativeSrc": "33896:4:23", "nodeType": "YulIdentifier", - "src": "33896:4:10" + "src": "33896:4:23" } ], "functionName": { "name": "create2", - "nativeSrc": "33853:7:10", + "nativeSrc": "33853:7:23", "nodeType": "YulIdentifier", - "src": "33853:7:10" + "src": "33853:7:23" }, - "nativeSrc": "33853:48:10", + "nativeSrc": "33853:48:23", "nodeType": "YulFunctionCall", - "src": "33853:48:10" + "src": "33853:48:23" }, "variableNames": [ { "name": "instance", - "nativeSrc": "33841:8:10", + "nativeSrc": "33841:8:23", "nodeType": "YulIdentifier", - "src": "33841:8:10" + "src": "33841:8:23" } ] }, { "body": { - "nativeSrc": "33942:140:10", + "nativeSrc": "33942:140:23", "nodeType": "YulBlock", - "src": "33942:140:10", + "src": "33942:140:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "33975:4:10", + "nativeSrc": "33975:4:23", "nodeType": "YulLiteral", - "src": "33975:4:10", + "src": "33975:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "33981:10:10", + "nativeSrc": "33981:10:23", "nodeType": "YulLiteral", - "src": "33981:10:10", + "src": "33981:10:23", "type": "", "value": "0x30116425" } ], "functionName": { "name": "mstore", - "nativeSrc": "33968:6:10", + "nativeSrc": "33968:6:23", "nodeType": "YulIdentifier", - "src": "33968:6:10" + "src": "33968:6:23" }, - "nativeSrc": "33968:24:10", + "nativeSrc": "33968:24:23", "nodeType": "YulFunctionCall", - "src": "33968:24:10" + "src": "33968:24:23" }, - "nativeSrc": "33968:24:10", + "nativeSrc": "33968:24:23", "nodeType": "YulExpressionStatement", - "src": "33968:24:10" + "src": "33968:24:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "34049:4:10", + "nativeSrc": "34049:4:23", "nodeType": "YulLiteral", - "src": "34049:4:10", + "src": "34049:4:23", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "34055:4:10", + "nativeSrc": "34055:4:23", "nodeType": "YulLiteral", - "src": "34055:4:10", + "src": "34055:4:23", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "34042:6:10", + "nativeSrc": "34042:6:23", "nodeType": "YulIdentifier", - "src": "34042:6:10" + "src": "34042:6:23" }, - "nativeSrc": "34042:18:10", + "nativeSrc": "34042:18:23", "nodeType": "YulFunctionCall", - "src": "34042:18:10" + "src": "34042:18:23" }, - "nativeSrc": "34042:18:10", + "nativeSrc": "34042:18:23", "nodeType": "YulExpressionStatement", - "src": "34042:18:10" + "src": "34042:18:23" } ] }, @@ -95573,29 +114548,29 @@ "arguments": [ { "name": "instance", - "nativeSrc": "33932:8:10", + "nativeSrc": "33932:8:23", "nodeType": "YulIdentifier", - "src": "33932:8:10" + "src": "33932:8:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "33925:6:10", + "nativeSrc": "33925:6:23", "nodeType": "YulIdentifier", - "src": "33925:6:10" + "src": "33925:6:23" }, - "nativeSrc": "33925:16:10", + "nativeSrc": "33925:16:23", "nodeType": "YulFunctionCall", - "src": "33925:16:10" + "src": "33925:16:23" }, - "nativeSrc": "33922:160:10", + "nativeSrc": "33922:160:23", "nodeType": "YulIf", - "src": "33922:160:10" + "src": "33922:160:23" }, { - "nativeSrc": "34103:5:10", + "nativeSrc": "34103:5:23", "nodeType": "YulBreak", - "src": "34103:5:10" + "src": "34103:5:23" } ] }, @@ -95605,67 +114580,67 @@ "arguments": [ { "name": "instance", - "nativeSrc": "33808:8:10", + "nativeSrc": "33808:8:23", "nodeType": "YulIdentifier", - "src": "33808:8:10" + "src": "33808:8:23" } ], "functionName": { "name": "extcodesize", - "nativeSrc": "33796:11:10", + "nativeSrc": "33796:11:23", "nodeType": "YulIdentifier", - "src": "33796:11:10" + "src": "33796:11:23" }, - "nativeSrc": "33796:21:10", + "nativeSrc": "33796:21:23", "nodeType": "YulFunctionCall", - "src": "33796:21:10" + "src": "33796:21:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "33789:6:10", + "nativeSrc": "33789:6:23", "nodeType": "YulIdentifier", - "src": "33789:6:10" + "src": "33789:6:23" }, - "nativeSrc": "33789:29:10", + "nativeSrc": "33789:29:23", "nodeType": "YulFunctionCall", - "src": "33789:29:10" + "src": "33789:29:23" }, - "nativeSrc": "33786:340:10", + "nativeSrc": "33786:340:23", "nodeType": "YulIf", - "src": "33786:340:10" + "src": "33786:340:23" }, { - "nativeSrc": "34143:20:10", + "nativeSrc": "34143:20:23", "nodeType": "YulAssignment", - "src": "34143:20:10", + "src": "34143:20:23", "value": { "kind": "number", - "nativeSrc": "34162:1:10", + "nativeSrc": "34162:1:23", "nodeType": "YulLiteral", - "src": "34162:1:10", + "src": "34162:1:23", "type": "", "value": "1" }, "variableNames": [ { "name": "alreadyDeployed", - "nativeSrc": "34143:15:10", + "nativeSrc": "34143:15:23", "nodeType": "YulIdentifier", - "src": "34143:15:10" + "src": "34143:15:23" } ] }, { "body": { - "nativeSrc": "34197:9:10", + "nativeSrc": "34197:9:23", "nodeType": "YulBlock", - "src": "34197:9:10", + "src": "34197:9:23", "statements": [ { - "nativeSrc": "34199:5:10", + "nativeSrc": "34199:5:23", "nodeType": "YulBreak", - "src": "34199:5:10" + "src": "34199:5:23" } ] }, @@ -95673,98 +114648,98 @@ "arguments": [ { "name": "value", - "nativeSrc": "34190:5:10", + "nativeSrc": "34190:5:23", "nodeType": "YulIdentifier", - "src": "34190:5:10" + "src": "34190:5:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "34183:6:10", + "nativeSrc": "34183:6:23", "nodeType": "YulIdentifier", - "src": "34183:6:10" + "src": "34183:6:23" }, - "nativeSrc": "34183:13:10", + "nativeSrc": "34183:13:23", "nodeType": "YulFunctionCall", - "src": "34183:13:10" + "src": "34183:13:23" }, - "nativeSrc": "34180:26:10", + "nativeSrc": "34180:26:23", "nodeType": "YulIf", - "src": "34180:26:10" + "src": "34180:26:23" }, { "body": { - "nativeSrc": "34299:129:10", + "nativeSrc": "34299:129:23", "nodeType": "YulBlock", - "src": "34299:129:10", + "src": "34299:129:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "34328:4:10", + "nativeSrc": "34328:4:23", "nodeType": "YulLiteral", - "src": "34328:4:10", + "src": "34328:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "34334:10:10", + "nativeSrc": "34334:10:23", "nodeType": "YulLiteral", - "src": "34334:10:10", + "src": "34334:10:23", "type": "", "value": "0xb12d13eb" } ], "functionName": { "name": "mstore", - "nativeSrc": "34321:6:10", + "nativeSrc": "34321:6:23", "nodeType": "YulIdentifier", - "src": "34321:6:10" + "src": "34321:6:23" }, - "nativeSrc": "34321:24:10", + "nativeSrc": "34321:24:23", "nodeType": "YulFunctionCall", - "src": "34321:24:10" + "src": "34321:24:23" }, - "nativeSrc": "34321:24:10", + "nativeSrc": "34321:24:23", "nodeType": "YulExpressionStatement", - "src": "34321:24:10" + "src": "34321:24:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "34399:4:10", + "nativeSrc": "34399:4:23", "nodeType": "YulLiteral", - "src": "34399:4:10", + "src": "34399:4:23", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "34405:4:10", + "nativeSrc": "34405:4:23", "nodeType": "YulLiteral", - "src": "34405:4:10", + "src": "34405:4:23", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "34392:6:10", + "nativeSrc": "34392:6:23", "nodeType": "YulIdentifier", - "src": "34392:6:10" + "src": "34392:6:23" }, - "nativeSrc": "34392:18:10", + "nativeSrc": "34392:18:23", "nodeType": "YulFunctionCall", - "src": "34392:18:10" + "src": "34392:18:23" }, - "nativeSrc": "34392:18:10", + "nativeSrc": "34392:18:23", "nodeType": "YulExpressionStatement", - "src": "34392:18:10" + "src": "34392:18:23" } ] }, @@ -95776,43 +114751,43 @@ "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "34238:3:10", + "nativeSrc": "34238:3:23", "nodeType": "YulIdentifier", - "src": "34238:3:10" + "src": "34238:3:23" }, - "nativeSrc": "34238:5:10", + "nativeSrc": "34238:5:23", "nodeType": "YulFunctionCall", - "src": "34238:5:10" + "src": "34238:5:23" }, { "name": "instance", - "nativeSrc": "34245:8:10", + "nativeSrc": "34245:8:23", "nodeType": "YulIdentifier", - "src": "34245:8:10" + "src": "34245:8:23" }, { "name": "value", - "nativeSrc": "34255:5:10", + "nativeSrc": "34255:5:23", "nodeType": "YulIdentifier", - "src": "34255:5:10" + "src": "34255:5:23" }, { "arguments": [], "functionName": { "name": "codesize", - "nativeSrc": "34262:8:10", + "nativeSrc": "34262:8:23", "nodeType": "YulIdentifier", - "src": "34262:8:10" + "src": "34262:8:23" }, - "nativeSrc": "34262:10:10", + "nativeSrc": "34262:10:23", "nodeType": "YulFunctionCall", - "src": "34262:10:10" + "src": "34262:10:23" }, { "kind": "number", - "nativeSrc": "34274:4:10", + "nativeSrc": "34274:4:23", "nodeType": "YulLiteral", - "src": "34274:4:10", + "src": "34274:4:23", "type": "", "value": "0x00" }, @@ -95820,112 +114795,112 @@ "arguments": [], "functionName": { "name": "codesize", - "nativeSrc": "34280:8:10", + "nativeSrc": "34280:8:23", "nodeType": "YulIdentifier", - "src": "34280:8:10" + "src": "34280:8:23" }, - "nativeSrc": "34280:10:10", + "nativeSrc": "34280:10:23", "nodeType": "YulFunctionCall", - "src": "34280:10:10" + "src": "34280:10:23" }, { "kind": "number", - "nativeSrc": "34292:4:10", + "nativeSrc": "34292:4:23", "nodeType": "YulLiteral", - "src": "34292:4:10", + "src": "34292:4:23", "type": "", "value": "0x00" } ], "functionName": { "name": "call", - "nativeSrc": "34233:4:10", + "nativeSrc": "34233:4:23", "nodeType": "YulIdentifier", - "src": "34233:4:10" + "src": "34233:4:23" }, - "nativeSrc": "34233:64:10", + "nativeSrc": "34233:64:23", "nodeType": "YulFunctionCall", - "src": "34233:64:10" + "src": "34233:64:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "34226:6:10", + "nativeSrc": "34226:6:23", "nodeType": "YulIdentifier", - "src": "34226:6:10" + "src": "34226:6:23" }, - "nativeSrc": "34226:72:10", + "nativeSrc": "34226:72:23", "nodeType": "YulFunctionCall", - "src": "34226:72:10" + "src": "34226:72:23" }, - "nativeSrc": "34223:205:10", + "nativeSrc": "34223:205:23", "nodeType": "YulIf", - "src": "34223:205:10" + "src": "34223:205:23" }, { - "nativeSrc": "34445:5:10", + "nativeSrc": "34445:5:23", "nodeType": "YulBreak", - "src": "34445:5:10" + "src": "34445:5:23" } ] }, "condition": { "kind": "number", - "nativeSrc": "33763:1:10", + "nativeSrc": "33763:1:23", "nodeType": "YulLiteral", - "src": "33763:1:10", + "src": "33763:1:23", "type": "", "value": "1" }, - "nativeSrc": "33756:708:10", + "nativeSrc": "33756:708:23", "nodeType": "YulForLoop", "post": { - "nativeSrc": "33765:2:10", + "nativeSrc": "33765:2:23", "nodeType": "YulBlock", - "src": "33765:2:10", + "src": "33765:2:23", "statements": [] }, "pre": { - "nativeSrc": "33760:2:10", + "nativeSrc": "33760:2:23", "nodeType": "YulBlock", - "src": "33760:2:10", + "src": "33760:2:23", "statements": [] }, - "src": "33756:708:10" + "src": "33756:708:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "34484:4:10", + "nativeSrc": "34484:4:23", "nodeType": "YulLiteral", - "src": "34484:4:10", + "src": "34484:4:23", "type": "", "value": "0x35" }, { "kind": "number", - "nativeSrc": "34490:1:10", + "nativeSrc": "34490:1:23", "nodeType": "YulLiteral", - "src": "34490:1:10", + "src": "34490:1:23", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "34477:6:10", + "nativeSrc": "34477:6:23", "nodeType": "YulIdentifier", - "src": "34477:6:10" + "src": "34477:6:23" }, - "nativeSrc": "34477:15:10", + "nativeSrc": "34477:15:23", "nodeType": "YulFunctionCall", - "src": "34477:15:10" + "src": "34477:15:23" }, - "nativeSrc": "34477:15:10", + "nativeSrc": "34477:15:23", "nodeType": "YulExpressionStatement", - "src": "34477:15:10" + "src": "34477:15:23" } ] }, @@ -95933,136 +114908,136 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3439, + "declaration": 5045, "isOffset": false, "isSlot": false, - "src": "34143:15:10", + "src": "34143:15:23", "valueSize": 1 }, { - "declaration": 3434, + "declaration": 5040, "isOffset": false, "isSlot": false, - "src": "33020:4:10", + "src": "33020:4:23", "valueSize": 1 }, { - "declaration": 3434, + "declaration": 5040, "isOffset": false, "isSlot": false, - "src": "33067:4:10", + "src": "33067:4:23", "valueSize": 1 }, { - "declaration": 3432, + "declaration": 5038, "isOffset": false, "isSlot": false, - "src": "33201:14:10", + "src": "33201:14:23", "valueSize": 1 }, { - "declaration": 3441, + "declaration": 5047, "isOffset": false, "isSlot": false, - "src": "33710:8:10", + "src": "33710:8:23", "valueSize": 1 }, { - "declaration": 3441, + "declaration": 5047, "isOffset": false, "isSlot": false, - "src": "33808:8:10", + "src": "33808:8:23", "valueSize": 1 }, { - "declaration": 3441, + "declaration": 5047, "isOffset": false, "isSlot": false, - "src": "33841:8:10", + "src": "33841:8:23", "valueSize": 1 }, { - "declaration": 3441, + "declaration": 5047, "isOffset": false, "isSlot": false, - "src": "33932:8:10", + "src": "33932:8:23", "valueSize": 1 }, { - "declaration": 3441, + "declaration": 5047, "isOffset": false, "isSlot": false, - "src": "34245:8:10", + "src": "34245:8:23", "valueSize": 1 }, { - "declaration": 3436, + "declaration": 5042, "isOffset": false, "isSlot": false, - "src": "33692:4:10", + "src": "33692:4:23", "valueSize": 1 }, { - "declaration": 3436, + "declaration": 5042, "isOffset": false, "isSlot": false, - "src": "33896:4:10", + "src": "33896:4:23", "valueSize": 1 }, { - "declaration": 3430, + "declaration": 5036, "isOffset": false, "isSlot": false, - "src": "33861:5:10", + "src": "33861:5:23", "valueSize": 1 }, { - "declaration": 3430, + "declaration": 5036, "isOffset": false, "isSlot": false, - "src": "34190:5:10", + "src": "34190:5:23", "valueSize": 1 }, { - "declaration": 3430, + "declaration": 5036, "isOffset": false, "isSlot": false, - "src": "34255:5:10", + "src": "34255:5:23", "valueSize": 1 } ], - "id": 3443, + "id": 5049, "nodeType": "InlineAssembly", - "src": "32949:1613:10" + "src": "32949:1613:23" } ] }, "documentation": { - "id": 3428, + "id": 5034, "nodeType": "StructuredDocumentation", - "src": "32492:197:10", + "src": "32492:197:23", "text": "@dev Deploys a deterministic clone of `implementation`\n with immutable arguments encoded in `args` and `salt`.\n This method does not revert if the clone has already been deployed." }, - "id": 3445, + "id": 5051, "implemented": true, "kind": "function", "modifiers": [], "name": "createDeterministicClone", - "nameLocation": "32703:24:10", + "nameLocation": "32703:24:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3437, + "id": 5043, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3430, + "id": 5036, "mutability": "mutable", "name": "value", - "nameLocation": "32745:5:10", + "nameLocation": "32745:5:23", "nodeType": "VariableDeclaration", - "scope": 3445, - "src": "32737:13:10", + "scope": 5051, + "src": "32737:13:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -96070,10 +115045,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3429, + "id": 5035, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "32737:7:10", + "src": "32737:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -96083,13 +115058,13 @@ }, { "constant": false, - "id": 3432, + "id": 5038, "mutability": "mutable", "name": "implementation", - "nameLocation": "32768:14:10", + "nameLocation": "32768:14:23", "nodeType": "VariableDeclaration", - "scope": 3445, - "src": "32760:22:10", + "scope": 5051, + "src": "32760:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -96097,10 +115072,10 @@ "typeString": "address" }, "typeName": { - "id": 3431, + "id": 5037, "name": "address", "nodeType": "ElementaryTypeName", - "src": "32760:7:10", + "src": "32760:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -96111,13 +115086,13 @@ }, { "constant": false, - "id": 3434, + "id": 5040, "mutability": "mutable", "name": "args", - "nameLocation": "32805:4:10", + "nameLocation": "32805:4:23", "nodeType": "VariableDeclaration", - "scope": 3445, - "src": "32792:17:10", + "scope": 5051, + "src": "32792:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -96125,10 +115100,10 @@ "typeString": "bytes" }, "typeName": { - "id": 3433, + "id": 5039, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "32792:5:10", + "src": "32792:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -96138,13 +115113,13 @@ }, { "constant": false, - "id": 3436, + "id": 5042, "mutability": "mutable", "name": "salt", - "nameLocation": "32827:4:10", + "nameLocation": "32827:4:23", "nodeType": "VariableDeclaration", - "scope": 3445, - "src": "32819:12:10", + "scope": 5051, + "src": "32819:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -96152,10 +115127,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 3435, + "id": 5041, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "32819:7:10", + "src": "32819:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -96164,21 +115139,21 @@ "visibility": "internal" } ], - "src": "32727:110:10" + "src": "32727:110:23" }, "returnParameters": { - "id": 3442, + "id": 5048, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3439, + "id": 5045, "mutability": "mutable", "name": "alreadyDeployed", - "nameLocation": "32861:15:10", + "nameLocation": "32861:15:23", "nodeType": "VariableDeclaration", - "scope": 3445, - "src": "32856:20:10", + "scope": 5051, + "src": "32856:20:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -96186,10 +115161,10 @@ "typeString": "bool" }, "typeName": { - "id": 3438, + "id": 5044, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "32856:4:10", + "src": "32856:4:23", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -96199,13 +115174,13 @@ }, { "constant": false, - "id": 3441, + "id": 5047, "mutability": "mutable", "name": "instance", - "nameLocation": "32886:8:10", + "nameLocation": "32886:8:23", "nodeType": "VariableDeclaration", - "scope": 3445, - "src": "32878:16:10", + "scope": 5051, + "src": "32878:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -96213,10 +115188,10 @@ "typeString": "address" }, "typeName": { - "id": 3440, + "id": 5046, "name": "address", "nodeType": "ElementaryTypeName", - "src": "32878:7:10", + "src": "32878:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -96226,89 +115201,89 @@ "visibility": "internal" } ], - "src": "32855:40:10" + "src": "32855:40:23" }, - "scope": 5093, - "src": "32694:1874:10", + "scope": 6699, + "src": "32694:1874:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3456, + "id": 5062, "nodeType": "Block", - "src": "34833:877:10", + "src": "34833:877:23", "statements": [ { "AST": { - "nativeSrc": "34895:809:10", + "nativeSrc": "34895:809:23", "nodeType": "YulBlock", - "src": "34895:809:10", + "src": "34895:809:23", "statements": [ { - "nativeSrc": "34909:16:10", + "nativeSrc": "34909:16:23", "nodeType": "YulAssignment", - "src": "34909:16:10", + "src": "34909:16:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "34920:4:10", + "nativeSrc": "34920:4:23", "nodeType": "YulLiteral", - "src": "34920:4:10", + "src": "34920:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "34914:5:10", + "nativeSrc": "34914:5:23", "nodeType": "YulIdentifier", - "src": "34914:5:10" + "src": "34914:5:23" }, - "nativeSrc": "34914:11:10", + "nativeSrc": "34914:11:23", "nodeType": "YulFunctionCall", - "src": "34914:11:10" + "src": "34914:11:23" }, "variableNames": [ { "name": "c", - "nativeSrc": "34909:1:10", + "nativeSrc": "34909:1:23", "nodeType": "YulIdentifier", - "src": "34909:1:10" + "src": "34909:1:23" } ] }, { - "nativeSrc": "34938:20:10", + "nativeSrc": "34938:20:23", "nodeType": "YulVariableDeclaration", - "src": "34938:20:10", + "src": "34938:20:23", "value": { "arguments": [ { "name": "args", - "nativeSrc": "34953:4:10", + "nativeSrc": "34953:4:23", "nodeType": "YulIdentifier", - "src": "34953:4:10" + "src": "34953:4:23" } ], "functionName": { "name": "mload", - "nativeSrc": "34947:5:10", + "nativeSrc": "34947:5:23", "nodeType": "YulIdentifier", - "src": "34947:5:10" + "src": "34947:5:23" }, - "nativeSrc": "34947:11:10", + "nativeSrc": "34947:11:23", "nodeType": "YulFunctionCall", - "src": "34947:11:10" + "src": "34947:11:23" }, "variables": [ { "name": "n", - "nativeSrc": "34942:1:10", + "nativeSrc": "34942:1:23", "nodeType": "YulTypedName", - "src": "34942:1:10", + "src": "34942:1:23", "type": "" } ] @@ -96320,73 +115295,73 @@ "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "35073:14:10", + "nativeSrc": "35073:14:23", "nodeType": "YulIdentifier", - "src": "35073:14:10" + "src": "35073:14:23" }, - "nativeSrc": "35073:16:10", + "nativeSrc": "35073:16:23", "nodeType": "YulFunctionCall", - "src": "35073:16:10" + "src": "35073:16:23" }, { "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "35091:14:10", + "nativeSrc": "35091:14:23", "nodeType": "YulIdentifier", - "src": "35091:14:10" + "src": "35091:14:23" }, - "nativeSrc": "35091:16:10", + "nativeSrc": "35091:16:23", "nodeType": "YulFunctionCall", - "src": "35091:16:10" + "src": "35091:16:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "35112:1:10", + "nativeSrc": "35112:1:23", "nodeType": "YulIdentifier", - "src": "35112:1:10" + "src": "35112:1:23" }, { "kind": "number", - "nativeSrc": "35115:6:10", + "nativeSrc": "35115:6:23", "nodeType": "YulLiteral", - "src": "35115:6:10", + "src": "35115:6:23", "type": "", "value": "0xffd2" } ], "functionName": { "name": "gt", - "nativeSrc": "35109:2:10", + "nativeSrc": "35109:2:23", "nodeType": "YulIdentifier", - "src": "35109:2:10" + "src": "35109:2:23" }, - "nativeSrc": "35109:13:10", + "nativeSrc": "35109:13:23", "nodeType": "YulFunctionCall", - "src": "35109:13:10" + "src": "35109:13:23" } ], "functionName": { "name": "returndatacopy", - "nativeSrc": "35058:14:10", + "nativeSrc": "35058:14:23", "nodeType": "YulIdentifier", - "src": "35058:14:10" + "src": "35058:14:23" }, - "nativeSrc": "35058:65:10", + "nativeSrc": "35058:65:23", "nodeType": "YulFunctionCall", - "src": "35058:65:10" + "src": "35058:65:23" }, - "nativeSrc": "35058:65:10", + "nativeSrc": "35058:65:23", "nodeType": "YulExpressionStatement", - "src": "35058:65:10" + "src": "35058:65:23" }, { "body": { - "nativeSrc": "35186:92:10", + "nativeSrc": "35186:92:23", "nodeType": "YulBlock", - "src": "35186:92:10", + "src": "35186:92:23", "statements": [ { "expression": { @@ -96397,45 +115372,45 @@ "arguments": [ { "name": "c", - "nativeSrc": "35219:1:10", + "nativeSrc": "35219:1:23", "nodeType": "YulIdentifier", - "src": "35219:1:10" + "src": "35219:1:23" }, { "kind": "number", - "nativeSrc": "35222:4:10", + "nativeSrc": "35222:4:23", "nodeType": "YulLiteral", - "src": "35222:4:10", + "src": "35222:4:23", "type": "", "value": "0x57" } ], "functionName": { "name": "add", - "nativeSrc": "35215:3:10", + "nativeSrc": "35215:3:23", "nodeType": "YulIdentifier", - "src": "35215:3:10" + "src": "35215:3:23" }, - "nativeSrc": "35215:12:10", + "nativeSrc": "35215:12:23", "nodeType": "YulFunctionCall", - "src": "35215:12:10" + "src": "35215:12:23" }, { "name": "i", - "nativeSrc": "35229:1:10", + "nativeSrc": "35229:1:23", "nodeType": "YulIdentifier", - "src": "35229:1:10" + "src": "35229:1:23" } ], "functionName": { "name": "add", - "nativeSrc": "35211:3:10", + "nativeSrc": "35211:3:23", "nodeType": "YulIdentifier", - "src": "35211:3:10" + "src": "35211:3:23" }, - "nativeSrc": "35211:20:10", + "nativeSrc": "35211:20:23", "nodeType": "YulFunctionCall", - "src": "35211:20:10" + "src": "35211:20:23" }, { "arguments": [ @@ -96445,71 +115420,71 @@ "arguments": [ { "name": "args", - "nativeSrc": "35247:4:10", + "nativeSrc": "35247:4:23", "nodeType": "YulIdentifier", - "src": "35247:4:10" + "src": "35247:4:23" }, { "kind": "number", - "nativeSrc": "35253:4:10", + "nativeSrc": "35253:4:23", "nodeType": "YulLiteral", - "src": "35253:4:10", + "src": "35253:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "35243:3:10", + "nativeSrc": "35243:3:23", "nodeType": "YulIdentifier", - "src": "35243:3:10" + "src": "35243:3:23" }, - "nativeSrc": "35243:15:10", + "nativeSrc": "35243:15:23", "nodeType": "YulFunctionCall", - "src": "35243:15:10" + "src": "35243:15:23" }, { "name": "i", - "nativeSrc": "35260:1:10", + "nativeSrc": "35260:1:23", "nodeType": "YulIdentifier", - "src": "35260:1:10" + "src": "35260:1:23" } ], "functionName": { "name": "add", - "nativeSrc": "35239:3:10", + "nativeSrc": "35239:3:23", "nodeType": "YulIdentifier", - "src": "35239:3:10" + "src": "35239:3:23" }, - "nativeSrc": "35239:23:10", + "nativeSrc": "35239:23:23", "nodeType": "YulFunctionCall", - "src": "35239:23:10" + "src": "35239:23:23" } ], "functionName": { "name": "mload", - "nativeSrc": "35233:5:10", + "nativeSrc": "35233:5:23", "nodeType": "YulIdentifier", - "src": "35233:5:10" + "src": "35233:5:23" }, - "nativeSrc": "35233:30:10", + "nativeSrc": "35233:30:23", "nodeType": "YulFunctionCall", - "src": "35233:30:10" + "src": "35233:30:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "35204:6:10", + "nativeSrc": "35204:6:23", "nodeType": "YulIdentifier", - "src": "35204:6:10" + "src": "35204:6:23" }, - "nativeSrc": "35204:60:10", + "nativeSrc": "35204:60:23", "nodeType": "YulFunctionCall", - "src": "35204:60:10" + "src": "35204:60:23" }, - "nativeSrc": "35204:60:10", + "nativeSrc": "35204:60:23", "nodeType": "YulExpressionStatement", - "src": "35204:60:10" + "src": "35204:60:23" } ] }, @@ -96517,106 +115492,106 @@ "arguments": [ { "name": "i", - "nativeSrc": "35158:1:10", + "nativeSrc": "35158:1:23", "nodeType": "YulIdentifier", - "src": "35158:1:10" + "src": "35158:1:23" }, { "name": "n", - "nativeSrc": "35161:1:10", + "nativeSrc": "35161:1:23", "nodeType": "YulIdentifier", - "src": "35161:1:10" + "src": "35161:1:23" } ], "functionName": { "name": "lt", - "nativeSrc": "35155:2:10", + "nativeSrc": "35155:2:23", "nodeType": "YulIdentifier", - "src": "35155:2:10" + "src": "35155:2:23" }, - "nativeSrc": "35155:8:10", + "nativeSrc": "35155:8:23", "nodeType": "YulFunctionCall", - "src": "35155:8:10" + "src": "35155:8:23" }, - "nativeSrc": "35136:142:10", + "nativeSrc": "35136:142:23", "nodeType": "YulForLoop", "post": { - "nativeSrc": "35164:21:10", + "nativeSrc": "35164:21:23", "nodeType": "YulBlock", - "src": "35164:21:10", + "src": "35164:21:23", "statements": [ { - "nativeSrc": "35166:17:10", + "nativeSrc": "35166:17:23", "nodeType": "YulAssignment", - "src": "35166:17:10", + "src": "35166:17:23", "value": { "arguments": [ { "name": "i", - "nativeSrc": "35175:1:10", + "nativeSrc": "35175:1:23", "nodeType": "YulIdentifier", - "src": "35175:1:10" + "src": "35175:1:23" }, { "kind": "number", - "nativeSrc": "35178:4:10", + "nativeSrc": "35178:4:23", "nodeType": "YulLiteral", - "src": "35178:4:10", + "src": "35178:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "35171:3:10", + "nativeSrc": "35171:3:23", "nodeType": "YulIdentifier", - "src": "35171:3:10" + "src": "35171:3:23" }, - "nativeSrc": "35171:12:10", + "nativeSrc": "35171:12:23", "nodeType": "YulFunctionCall", - "src": "35171:12:10" + "src": "35171:12:23" }, "variableNames": [ { "name": "i", - "nativeSrc": "35166:1:10", + "nativeSrc": "35166:1:23", "nodeType": "YulIdentifier", - "src": "35166:1:10" + "src": "35166:1:23" } ] } ] }, "pre": { - "nativeSrc": "35140:14:10", + "nativeSrc": "35140:14:23", "nodeType": "YulBlock", - "src": "35140:14:10", + "src": "35140:14:23", "statements": [ { - "nativeSrc": "35142:10:10", + "nativeSrc": "35142:10:23", "nodeType": "YulVariableDeclaration", - "src": "35142:10:10", + "src": "35142:10:23", "value": { "kind": "number", - "nativeSrc": "35151:1:10", + "nativeSrc": "35151:1:23", "nodeType": "YulLiteral", - "src": "35151:1:10", + "src": "35151:1:23", "type": "", "value": "0" }, "variables": [ { "name": "i", - "nativeSrc": "35146:1:10", + "nativeSrc": "35146:1:23", "nodeType": "YulTypedName", - "src": "35146:1:10", + "src": "35146:1:23", "type": "" } ] } ] }, - "src": "35136:142:10" + "src": "35136:142:23" }, { "expression": { @@ -96625,51 +115600,51 @@ "arguments": [ { "name": "c", - "nativeSrc": "35302:1:10", + "nativeSrc": "35302:1:23", "nodeType": "YulIdentifier", - "src": "35302:1:10" + "src": "35302:1:23" }, { "kind": "number", - "nativeSrc": "35305:4:10", + "nativeSrc": "35305:4:23", "nodeType": "YulLiteral", - "src": "35305:4:10", + "src": "35305:4:23", "type": "", "value": "0x37" } ], "functionName": { "name": "add", - "nativeSrc": "35298:3:10", + "nativeSrc": "35298:3:23", "nodeType": "YulIdentifier", - "src": "35298:3:10" + "src": "35298:3:23" }, - "nativeSrc": "35298:12:10", + "nativeSrc": "35298:12:23", "nodeType": "YulFunctionCall", - "src": "35298:12:10" + "src": "35298:12:23" }, { "kind": "number", - "nativeSrc": "35312:32:10", + "nativeSrc": "35312:32:23", "nodeType": "YulLiteral", - "src": "35312:32:10", + "src": "35312:32:23", "type": "", "value": "0x5af43d82803e903d91602b57fd5bf3" } ], "functionName": { "name": "mstore", - "nativeSrc": "35291:6:10", + "nativeSrc": "35291:6:23", "nodeType": "YulIdentifier", - "src": "35291:6:10" + "src": "35291:6:23" }, - "nativeSrc": "35291:54:10", + "nativeSrc": "35291:54:23", "nodeType": "YulFunctionCall", - "src": "35291:54:10" + "src": "35291:54:23" }, - "nativeSrc": "35291:54:10", + "nativeSrc": "35291:54:23", "nodeType": "YulExpressionStatement", - "src": "35291:54:10" + "src": "35291:54:23" }, { "expression": { @@ -96678,49 +115653,49 @@ "arguments": [ { "name": "c", - "nativeSrc": "35369:1:10", + "nativeSrc": "35369:1:23", "nodeType": "YulIdentifier", - "src": "35369:1:10" + "src": "35369:1:23" }, { "kind": "number", - "nativeSrc": "35372:4:10", + "nativeSrc": "35372:4:23", "nodeType": "YulLiteral", - "src": "35372:4:10", + "src": "35372:4:23", "type": "", "value": "0x28" } ], "functionName": { "name": "add", - "nativeSrc": "35365:3:10", + "nativeSrc": "35365:3:23", "nodeType": "YulIdentifier", - "src": "35365:3:10" + "src": "35365:3:23" }, - "nativeSrc": "35365:12:10", + "nativeSrc": "35365:12:23", "nodeType": "YulFunctionCall", - "src": "35365:12:10" + "src": "35365:12:23" }, { "name": "implementation", - "nativeSrc": "35379:14:10", + "nativeSrc": "35379:14:23", "nodeType": "YulIdentifier", - "src": "35379:14:10" + "src": "35379:14:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "35358:6:10", + "nativeSrc": "35358:6:23", "nodeType": "YulIdentifier", - "src": "35358:6:10" + "src": "35358:6:23" }, - "nativeSrc": "35358:36:10", + "nativeSrc": "35358:36:23", "nodeType": "YulFunctionCall", - "src": "35358:36:10" + "src": "35358:36:23" }, - "nativeSrc": "35358:36:10", + "nativeSrc": "35358:36:23", "nodeType": "YulExpressionStatement", - "src": "35358:36:10" + "src": "35358:36:23" }, { "expression": { @@ -96729,36 +115704,36 @@ "arguments": [ { "name": "c", - "nativeSrc": "35418:1:10", + "nativeSrc": "35418:1:23", "nodeType": "YulIdentifier", - "src": "35418:1:10" + "src": "35418:1:23" }, { "kind": "number", - "nativeSrc": "35421:4:10", + "nativeSrc": "35421:4:23", "nodeType": "YulLiteral", - "src": "35421:4:10", + "src": "35421:4:23", "type": "", "value": "0x14" } ], "functionName": { "name": "add", - "nativeSrc": "35414:3:10", + "nativeSrc": "35414:3:23", "nodeType": "YulIdentifier", - "src": "35414:3:10" + "src": "35414:3:23" }, - "nativeSrc": "35414:12:10", + "nativeSrc": "35414:12:23", "nodeType": "YulFunctionCall", - "src": "35414:12:10" + "src": "35414:12:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "35432:42:10", + "nativeSrc": "35432:42:23", "nodeType": "YulLiteral", - "src": "35432:42:10", + "src": "35432:42:23", "type": "", "value": "0x61002d3d81600a3d39f3363d3d373d3d3d363d73" }, @@ -96766,105 +115741,105 @@ "arguments": [ { "kind": "number", - "nativeSrc": "35480:3:10", + "nativeSrc": "35480:3:23", "nodeType": "YulLiteral", - "src": "35480:3:10", + "src": "35480:3:23", "type": "", "value": "136" }, { "name": "n", - "nativeSrc": "35485:1:10", + "nativeSrc": "35485:1:23", "nodeType": "YulIdentifier", - "src": "35485:1:10" + "src": "35485:1:23" } ], "functionName": { "name": "shl", - "nativeSrc": "35476:3:10", + "nativeSrc": "35476:3:23", "nodeType": "YulIdentifier", - "src": "35476:3:10" + "src": "35476:3:23" }, - "nativeSrc": "35476:11:10", + "nativeSrc": "35476:11:23", "nodeType": "YulFunctionCall", - "src": "35476:11:10" + "src": "35476:11:23" } ], "functionName": { "name": "add", - "nativeSrc": "35428:3:10", + "nativeSrc": "35428:3:23", "nodeType": "YulIdentifier", - "src": "35428:3:10" + "src": "35428:3:23" }, - "nativeSrc": "35428:60:10", + "nativeSrc": "35428:60:23", "nodeType": "YulFunctionCall", - "src": "35428:60:10" + "src": "35428:60:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "35407:6:10", + "nativeSrc": "35407:6:23", "nodeType": "YulIdentifier", - "src": "35407:6:10" + "src": "35407:6:23" }, - "nativeSrc": "35407:82:10", + "nativeSrc": "35407:82:23", "nodeType": "YulFunctionCall", - "src": "35407:82:10" + "src": "35407:82:23" }, - "nativeSrc": "35407:82:10", + "nativeSrc": "35407:82:23", "nodeType": "YulExpressionStatement", - "src": "35407:82:10" + "src": "35407:82:23" }, { "expression": { "arguments": [ { "name": "c", - "nativeSrc": "35509:1:10", + "nativeSrc": "35509:1:23", "nodeType": "YulIdentifier", - "src": "35509:1:10" + "src": "35509:1:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "35516:4:10", + "nativeSrc": "35516:4:23", "nodeType": "YulLiteral", - "src": "35516:4:10", + "src": "35516:4:23", "type": "", "value": "0x37" }, { "name": "n", - "nativeSrc": "35522:1:10", + "nativeSrc": "35522:1:23", "nodeType": "YulIdentifier", - "src": "35522:1:10" + "src": "35522:1:23" } ], "functionName": { "name": "add", - "nativeSrc": "35512:3:10", + "nativeSrc": "35512:3:23", "nodeType": "YulIdentifier", - "src": "35512:3:10" + "src": "35512:3:23" }, - "nativeSrc": "35512:12:10", + "nativeSrc": "35512:12:23", "nodeType": "YulFunctionCall", - "src": "35512:12:10" + "src": "35512:12:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "35502:6:10", + "nativeSrc": "35502:6:23", "nodeType": "YulIdentifier", - "src": "35502:6:10" + "src": "35502:6:23" }, - "nativeSrc": "35502:23:10", + "nativeSrc": "35502:23:23", "nodeType": "YulFunctionCall", - "src": "35502:23:10" + "src": "35502:23:23" }, - "nativeSrc": "35502:23:10", + "nativeSrc": "35502:23:23", "nodeType": "YulExpressionStatement", - "src": "35502:23:10" + "src": "35502:23:23" }, { "expression": { @@ -96873,79 +115848,79 @@ "arguments": [ { "name": "c", - "nativeSrc": "35570:1:10", + "nativeSrc": "35570:1:23", "nodeType": "YulIdentifier", - "src": "35570:1:10" + "src": "35570:1:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "35577:1:10", + "nativeSrc": "35577:1:23", "nodeType": "YulIdentifier", - "src": "35577:1:10" + "src": "35577:1:23" }, { "kind": "number", - "nativeSrc": "35580:4:10", + "nativeSrc": "35580:4:23", "nodeType": "YulLiteral", - "src": "35580:4:10", + "src": "35580:4:23", "type": "", "value": "0x57" } ], "functionName": { "name": "add", - "nativeSrc": "35573:3:10", + "nativeSrc": "35573:3:23", "nodeType": "YulIdentifier", - "src": "35573:3:10" + "src": "35573:3:23" }, - "nativeSrc": "35573:12:10", + "nativeSrc": "35573:12:23", "nodeType": "YulFunctionCall", - "src": "35573:12:10" + "src": "35573:12:23" } ], "functionName": { "name": "add", - "nativeSrc": "35566:3:10", + "nativeSrc": "35566:3:23", "nodeType": "YulIdentifier", - "src": "35566:3:10" + "src": "35566:3:23" }, - "nativeSrc": "35566:20:10", + "nativeSrc": "35566:20:23", "nodeType": "YulFunctionCall", - "src": "35566:20:10" + "src": "35566:20:23" }, { "kind": "number", - "nativeSrc": "35588:1:10", + "nativeSrc": "35588:1:23", "nodeType": "YulLiteral", - "src": "35588:1:10", + "src": "35588:1:23", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "35559:6:10", + "nativeSrc": "35559:6:23", "nodeType": "YulIdentifier", - "src": "35559:6:10" + "src": "35559:6:23" }, - "nativeSrc": "35559:31:10", + "nativeSrc": "35559:31:23", "nodeType": "YulFunctionCall", - "src": "35559:31:10" + "src": "35559:31:23" }, - "nativeSrc": "35559:31:10", + "nativeSrc": "35559:31:23", "nodeType": "YulExpressionStatement", - "src": "35559:31:10" + "src": "35559:31:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "35647:4:10", + "nativeSrc": "35647:4:23", "nodeType": "YulLiteral", - "src": "35647:4:10", + "src": "35647:4:23", "type": "", "value": "0x40" }, @@ -96953,62 +115928,62 @@ "arguments": [ { "name": "c", - "nativeSrc": "35657:1:10", + "nativeSrc": "35657:1:23", "nodeType": "YulIdentifier", - "src": "35657:1:10" + "src": "35657:1:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "35664:1:10", + "nativeSrc": "35664:1:23", "nodeType": "YulIdentifier", - "src": "35664:1:10" + "src": "35664:1:23" }, { "kind": "number", - "nativeSrc": "35667:4:10", + "nativeSrc": "35667:4:23", "nodeType": "YulLiteral", - "src": "35667:4:10", + "src": "35667:4:23", "type": "", "value": "0x77" } ], "functionName": { "name": "add", - "nativeSrc": "35660:3:10", + "nativeSrc": "35660:3:23", "nodeType": "YulIdentifier", - "src": "35660:3:10" + "src": "35660:3:23" }, - "nativeSrc": "35660:12:10", + "nativeSrc": "35660:12:23", "nodeType": "YulFunctionCall", - "src": "35660:12:10" + "src": "35660:12:23" } ], "functionName": { "name": "add", - "nativeSrc": "35653:3:10", + "nativeSrc": "35653:3:23", "nodeType": "YulIdentifier", - "src": "35653:3:10" + "src": "35653:3:23" }, - "nativeSrc": "35653:20:10", + "nativeSrc": "35653:20:23", "nodeType": "YulFunctionCall", - "src": "35653:20:10" + "src": "35653:20:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "35640:6:10", + "nativeSrc": "35640:6:23", "nodeType": "YulIdentifier", - "src": "35640:6:10" + "src": "35640:6:23" }, - "nativeSrc": "35640:34:10", + "nativeSrc": "35640:34:23", "nodeType": "YulFunctionCall", - "src": "35640:34:10" + "src": "35640:34:23" }, - "nativeSrc": "35640:34:10", + "nativeSrc": "35640:34:23", "nodeType": "YulExpressionStatement", - "src": "35640:34:10" + "src": "35640:34:23" } ] }, @@ -97016,115 +115991,115 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3450, + "declaration": 5056, "isOffset": false, "isSlot": false, - "src": "34953:4:10", + "src": "34953:4:23", "valueSize": 1 }, { - "declaration": 3450, + "declaration": 5056, "isOffset": false, "isSlot": false, - "src": "35247:4:10", + "src": "35247:4:23", "valueSize": 1 }, { - "declaration": 3453, + "declaration": 5059, "isOffset": false, "isSlot": false, - "src": "34909:1:10", + "src": "34909:1:23", "valueSize": 1 }, { - "declaration": 3453, + "declaration": 5059, "isOffset": false, "isSlot": false, - "src": "35219:1:10", + "src": "35219:1:23", "valueSize": 1 }, { - "declaration": 3453, + "declaration": 5059, "isOffset": false, "isSlot": false, - "src": "35302:1:10", + "src": "35302:1:23", "valueSize": 1 }, { - "declaration": 3453, + "declaration": 5059, "isOffset": false, "isSlot": false, - "src": "35369:1:10", + "src": "35369:1:23", "valueSize": 1 }, { - "declaration": 3453, + "declaration": 5059, "isOffset": false, "isSlot": false, - "src": "35418:1:10", + "src": "35418:1:23", "valueSize": 1 }, { - "declaration": 3453, + "declaration": 5059, "isOffset": false, "isSlot": false, - "src": "35509:1:10", + "src": "35509:1:23", "valueSize": 1 }, { - "declaration": 3453, + "declaration": 5059, "isOffset": false, "isSlot": false, - "src": "35570:1:10", + "src": "35570:1:23", "valueSize": 1 }, { - "declaration": 3453, + "declaration": 5059, "isOffset": false, "isSlot": false, - "src": "35657:1:10", + "src": "35657:1:23", "valueSize": 1 }, { - "declaration": 3448, + "declaration": 5054, "isOffset": false, "isSlot": false, - "src": "35379:14:10", + "src": "35379:14:23", "valueSize": 1 } ], - "id": 3455, + "id": 5061, "nodeType": "InlineAssembly", - "src": "34886:818:10" + "src": "34886:818:23" } ] }, "documentation": { - "id": 3446, + "id": 5052, "nodeType": "StructuredDocumentation", - "src": "34574:126:10", + "src": "34574:126:23", "text": "@dev Returns the initialization code of the clone of `implementation`\n using immutable arguments encoded in `args`." }, - "id": 3457, + "id": 5063, "implemented": true, "kind": "function", "modifiers": [], "name": "initCode", - "nameLocation": "34714:8:10", + "nameLocation": "34714:8:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3451, + "id": 5057, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3448, + "id": 5054, "mutability": "mutable", "name": "implementation", - "nameLocation": "34731:14:10", + "nameLocation": "34731:14:23", "nodeType": "VariableDeclaration", - "scope": 3457, - "src": "34723:22:10", + "scope": 5063, + "src": "34723:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -97132,10 +116107,10 @@ "typeString": "address" }, "typeName": { - "id": 3447, + "id": 5053, "name": "address", "nodeType": "ElementaryTypeName", - "src": "34723:7:10", + "src": "34723:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -97146,13 +116121,13 @@ }, { "constant": false, - "id": 3450, + "id": 5056, "mutability": "mutable", "name": "args", - "nameLocation": "34760:4:10", + "nameLocation": "34760:4:23", "nodeType": "VariableDeclaration", - "scope": 3457, - "src": "34747:17:10", + "scope": 5063, + "src": "34747:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -97160,10 +116135,10 @@ "typeString": "bytes" }, "typeName": { - "id": 3449, + "id": 5055, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "34747:5:10", + "src": "34747:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -97172,21 +116147,21 @@ "visibility": "internal" } ], - "src": "34722:43:10" + "src": "34722:43:23" }, "returnParameters": { - "id": 3454, + "id": 5060, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3453, + "id": 5059, "mutability": "mutable", "name": "c", - "nameLocation": "34826:1:10", + "nameLocation": "34826:1:23", "nodeType": "VariableDeclaration", - "scope": 3457, - "src": "34813:14:10", + "scope": 5063, + "src": "34813:14:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -97194,10 +116169,10 @@ "typeString": "bytes" }, "typeName": { - "id": 3452, + "id": 5058, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "34813:5:10", + "src": "34813:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -97206,90 +116181,90 @@ "visibility": "internal" } ], - "src": "34812:16:10" + "src": "34812:16:23" }, - "scope": 5093, - "src": "34705:1005:10", + "scope": 6699, + "src": "34705:1005:23", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3468, + "id": 5074, "nodeType": "Block", - "src": "35982:723:10", + "src": "35982:723:23", "statements": [ { "AST": { - "nativeSrc": "36044:655:10", + "nativeSrc": "36044:655:23", "nodeType": "YulBlock", - "src": "36044:655:10", + "src": "36044:655:23", "statements": [ { - "nativeSrc": "36058:20:10", + "nativeSrc": "36058:20:23", "nodeType": "YulVariableDeclaration", - "src": "36058:20:10", + "src": "36058:20:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "36073:4:10", + "nativeSrc": "36073:4:23", "nodeType": "YulLiteral", - "src": "36073:4:10", + "src": "36073:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "36067:5:10", + "nativeSrc": "36067:5:23", "nodeType": "YulIdentifier", - "src": "36067:5:10" + "src": "36067:5:23" }, - "nativeSrc": "36067:11:10", + "nativeSrc": "36067:11:23", "nodeType": "YulFunctionCall", - "src": "36067:11:10" + "src": "36067:11:23" }, "variables": [ { "name": "m", - "nativeSrc": "36062:1:10", + "nativeSrc": "36062:1:23", "nodeType": "YulTypedName", - "src": "36062:1:10", + "src": "36062:1:23", "type": "" } ] }, { - "nativeSrc": "36091:20:10", + "nativeSrc": "36091:20:23", "nodeType": "YulVariableDeclaration", - "src": "36091:20:10", + "src": "36091:20:23", "value": { "arguments": [ { "name": "args", - "nativeSrc": "36106:4:10", + "nativeSrc": "36106:4:23", "nodeType": "YulIdentifier", - "src": "36106:4:10" + "src": "36106:4:23" } ], "functionName": { "name": "mload", - "nativeSrc": "36100:5:10", + "nativeSrc": "36100:5:23", "nodeType": "YulIdentifier", - "src": "36100:5:10" + "src": "36100:5:23" }, - "nativeSrc": "36100:11:10", + "nativeSrc": "36100:11:23", "nodeType": "YulFunctionCall", - "src": "36100:11:10" + "src": "36100:11:23" }, "variables": [ { "name": "n", - "nativeSrc": "36095:1:10", + "nativeSrc": "36095:1:23", "nodeType": "YulTypedName", - "src": "36095:1:10", + "src": "36095:1:23", "type": "" } ] @@ -97301,73 +116276,73 @@ "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "36226:14:10", + "nativeSrc": "36226:14:23", "nodeType": "YulIdentifier", - "src": "36226:14:10" + "src": "36226:14:23" }, - "nativeSrc": "36226:16:10", + "nativeSrc": "36226:16:23", "nodeType": "YulFunctionCall", - "src": "36226:16:10" + "src": "36226:16:23" }, { "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "36244:14:10", + "nativeSrc": "36244:14:23", "nodeType": "YulIdentifier", - "src": "36244:14:10" + "src": "36244:14:23" }, - "nativeSrc": "36244:16:10", + "nativeSrc": "36244:16:23", "nodeType": "YulFunctionCall", - "src": "36244:16:10" + "src": "36244:16:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "36265:1:10", + "nativeSrc": "36265:1:23", "nodeType": "YulIdentifier", - "src": "36265:1:10" + "src": "36265:1:23" }, { "kind": "number", - "nativeSrc": "36268:6:10", + "nativeSrc": "36268:6:23", "nodeType": "YulLiteral", - "src": "36268:6:10", + "src": "36268:6:23", "type": "", "value": "0xffd2" } ], "functionName": { "name": "gt", - "nativeSrc": "36262:2:10", + "nativeSrc": "36262:2:23", "nodeType": "YulIdentifier", - "src": "36262:2:10" + "src": "36262:2:23" }, - "nativeSrc": "36262:13:10", + "nativeSrc": "36262:13:23", "nodeType": "YulFunctionCall", - "src": "36262:13:10" + "src": "36262:13:23" } ], "functionName": { "name": "returndatacopy", - "nativeSrc": "36211:14:10", + "nativeSrc": "36211:14:23", "nodeType": "YulIdentifier", - "src": "36211:14:10" + "src": "36211:14:23" }, - "nativeSrc": "36211:65:10", + "nativeSrc": "36211:65:23", "nodeType": "YulFunctionCall", - "src": "36211:65:10" + "src": "36211:65:23" }, - "nativeSrc": "36211:65:10", + "nativeSrc": "36211:65:23", "nodeType": "YulExpressionStatement", - "src": "36211:65:10" + "src": "36211:65:23" }, { "body": { - "nativeSrc": "36339:92:10", + "nativeSrc": "36339:92:23", "nodeType": "YulBlock", - "src": "36339:92:10", + "src": "36339:92:23", "statements": [ { "expression": { @@ -97378,45 +116353,45 @@ "arguments": [ { "name": "m", - "nativeSrc": "36372:1:10", + "nativeSrc": "36372:1:23", "nodeType": "YulIdentifier", - "src": "36372:1:10" + "src": "36372:1:23" }, { "kind": "number", - "nativeSrc": "36375:4:10", + "nativeSrc": "36375:4:23", "nodeType": "YulLiteral", - "src": "36375:4:10", + "src": "36375:4:23", "type": "", "value": "0x43" } ], "functionName": { "name": "add", - "nativeSrc": "36368:3:10", + "nativeSrc": "36368:3:23", "nodeType": "YulIdentifier", - "src": "36368:3:10" + "src": "36368:3:23" }, - "nativeSrc": "36368:12:10", + "nativeSrc": "36368:12:23", "nodeType": "YulFunctionCall", - "src": "36368:12:10" + "src": "36368:12:23" }, { "name": "i", - "nativeSrc": "36382:1:10", + "nativeSrc": "36382:1:23", "nodeType": "YulIdentifier", - "src": "36382:1:10" + "src": "36382:1:23" } ], "functionName": { "name": "add", - "nativeSrc": "36364:3:10", + "nativeSrc": "36364:3:23", "nodeType": "YulIdentifier", - "src": "36364:3:10" + "src": "36364:3:23" }, - "nativeSrc": "36364:20:10", + "nativeSrc": "36364:20:23", "nodeType": "YulFunctionCall", - "src": "36364:20:10" + "src": "36364:20:23" }, { "arguments": [ @@ -97426,71 +116401,71 @@ "arguments": [ { "name": "args", - "nativeSrc": "36400:4:10", + "nativeSrc": "36400:4:23", "nodeType": "YulIdentifier", - "src": "36400:4:10" + "src": "36400:4:23" }, { "kind": "number", - "nativeSrc": "36406:4:10", + "nativeSrc": "36406:4:23", "nodeType": "YulLiteral", - "src": "36406:4:10", + "src": "36406:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "36396:3:10", + "nativeSrc": "36396:3:23", "nodeType": "YulIdentifier", - "src": "36396:3:10" + "src": "36396:3:23" }, - "nativeSrc": "36396:15:10", + "nativeSrc": "36396:15:23", "nodeType": "YulFunctionCall", - "src": "36396:15:10" + "src": "36396:15:23" }, { "name": "i", - "nativeSrc": "36413:1:10", + "nativeSrc": "36413:1:23", "nodeType": "YulIdentifier", - "src": "36413:1:10" + "src": "36413:1:23" } ], "functionName": { "name": "add", - "nativeSrc": "36392:3:10", + "nativeSrc": "36392:3:23", "nodeType": "YulIdentifier", - "src": "36392:3:10" + "src": "36392:3:23" }, - "nativeSrc": "36392:23:10", + "nativeSrc": "36392:23:23", "nodeType": "YulFunctionCall", - "src": "36392:23:10" + "src": "36392:23:23" } ], "functionName": { "name": "mload", - "nativeSrc": "36386:5:10", + "nativeSrc": "36386:5:23", "nodeType": "YulIdentifier", - "src": "36386:5:10" + "src": "36386:5:23" }, - "nativeSrc": "36386:30:10", + "nativeSrc": "36386:30:23", "nodeType": "YulFunctionCall", - "src": "36386:30:10" + "src": "36386:30:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "36357:6:10", + "nativeSrc": "36357:6:23", "nodeType": "YulIdentifier", - "src": "36357:6:10" + "src": "36357:6:23" }, - "nativeSrc": "36357:60:10", + "nativeSrc": "36357:60:23", "nodeType": "YulFunctionCall", - "src": "36357:60:10" + "src": "36357:60:23" }, - "nativeSrc": "36357:60:10", + "nativeSrc": "36357:60:23", "nodeType": "YulExpressionStatement", - "src": "36357:60:10" + "src": "36357:60:23" } ] }, @@ -97498,106 +116473,106 @@ "arguments": [ { "name": "i", - "nativeSrc": "36311:1:10", + "nativeSrc": "36311:1:23", "nodeType": "YulIdentifier", - "src": "36311:1:10" + "src": "36311:1:23" }, { "name": "n", - "nativeSrc": "36314:1:10", + "nativeSrc": "36314:1:23", "nodeType": "YulIdentifier", - "src": "36314:1:10" + "src": "36314:1:23" } ], "functionName": { "name": "lt", - "nativeSrc": "36308:2:10", + "nativeSrc": "36308:2:23", "nodeType": "YulIdentifier", - "src": "36308:2:10" + "src": "36308:2:23" }, - "nativeSrc": "36308:8:10", + "nativeSrc": "36308:8:23", "nodeType": "YulFunctionCall", - "src": "36308:8:10" + "src": "36308:8:23" }, - "nativeSrc": "36289:142:10", + "nativeSrc": "36289:142:23", "nodeType": "YulForLoop", "post": { - "nativeSrc": "36317:21:10", + "nativeSrc": "36317:21:23", "nodeType": "YulBlock", - "src": "36317:21:10", + "src": "36317:21:23", "statements": [ { - "nativeSrc": "36319:17:10", + "nativeSrc": "36319:17:23", "nodeType": "YulAssignment", - "src": "36319:17:10", + "src": "36319:17:23", "value": { "arguments": [ { "name": "i", - "nativeSrc": "36328:1:10", + "nativeSrc": "36328:1:23", "nodeType": "YulIdentifier", - "src": "36328:1:10" + "src": "36328:1:23" }, { "kind": "number", - "nativeSrc": "36331:4:10", + "nativeSrc": "36331:4:23", "nodeType": "YulLiteral", - "src": "36331:4:10", + "src": "36331:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "36324:3:10", + "nativeSrc": "36324:3:23", "nodeType": "YulIdentifier", - "src": "36324:3:10" + "src": "36324:3:23" }, - "nativeSrc": "36324:12:10", + "nativeSrc": "36324:12:23", "nodeType": "YulFunctionCall", - "src": "36324:12:10" + "src": "36324:12:23" }, "variableNames": [ { "name": "i", - "nativeSrc": "36319:1:10", + "nativeSrc": "36319:1:23", "nodeType": "YulIdentifier", - "src": "36319:1:10" + "src": "36319:1:23" } ] } ] }, "pre": { - "nativeSrc": "36293:14:10", + "nativeSrc": "36293:14:23", "nodeType": "YulBlock", - "src": "36293:14:10", + "src": "36293:14:23", "statements": [ { - "nativeSrc": "36295:10:10", + "nativeSrc": "36295:10:23", "nodeType": "YulVariableDeclaration", - "src": "36295:10:10", + "src": "36295:10:23", "value": { "kind": "number", - "nativeSrc": "36304:1:10", + "nativeSrc": "36304:1:23", "nodeType": "YulLiteral", - "src": "36304:1:10", + "src": "36304:1:23", "type": "", "value": "0" }, "variables": [ { "name": "i", - "nativeSrc": "36299:1:10", + "nativeSrc": "36299:1:23", "nodeType": "YulTypedName", - "src": "36299:1:10", + "src": "36299:1:23", "type": "" } ] } ] }, - "src": "36289:142:10" + "src": "36289:142:23" }, { "expression": { @@ -97606,51 +116581,51 @@ "arguments": [ { "name": "m", - "nativeSrc": "36455:1:10", + "nativeSrc": "36455:1:23", "nodeType": "YulIdentifier", - "src": "36455:1:10" + "src": "36455:1:23" }, { "kind": "number", - "nativeSrc": "36458:4:10", + "nativeSrc": "36458:4:23", "nodeType": "YulLiteral", - "src": "36458:4:10", + "src": "36458:4:23", "type": "", "value": "0x23" } ], "functionName": { "name": "add", - "nativeSrc": "36451:3:10", + "nativeSrc": "36451:3:23", "nodeType": "YulIdentifier", - "src": "36451:3:10" + "src": "36451:3:23" }, - "nativeSrc": "36451:12:10", + "nativeSrc": "36451:12:23", "nodeType": "YulFunctionCall", - "src": "36451:12:10" + "src": "36451:12:23" }, { "kind": "number", - "nativeSrc": "36465:32:10", + "nativeSrc": "36465:32:23", "nodeType": "YulLiteral", - "src": "36465:32:10", + "src": "36465:32:23", "type": "", "value": "0x5af43d82803e903d91602b57fd5bf3" } ], "functionName": { "name": "mstore", - "nativeSrc": "36444:6:10", + "nativeSrc": "36444:6:23", "nodeType": "YulIdentifier", - "src": "36444:6:10" + "src": "36444:6:23" }, - "nativeSrc": "36444:54:10", + "nativeSrc": "36444:54:23", "nodeType": "YulFunctionCall", - "src": "36444:54:10" + "src": "36444:54:23" }, - "nativeSrc": "36444:54:10", + "nativeSrc": "36444:54:23", "nodeType": "YulExpressionStatement", - "src": "36444:54:10" + "src": "36444:54:23" }, { "expression": { @@ -97659,66 +116634,66 @@ "arguments": [ { "name": "m", - "nativeSrc": "36522:1:10", + "nativeSrc": "36522:1:23", "nodeType": "YulIdentifier", - "src": "36522:1:10" + "src": "36522:1:23" }, { "kind": "number", - "nativeSrc": "36525:4:10", + "nativeSrc": "36525:4:23", "nodeType": "YulLiteral", - "src": "36525:4:10", + "src": "36525:4:23", "type": "", "value": "0x14" } ], "functionName": { "name": "add", - "nativeSrc": "36518:3:10", + "nativeSrc": "36518:3:23", "nodeType": "YulIdentifier", - "src": "36518:3:10" + "src": "36518:3:23" }, - "nativeSrc": "36518:12:10", + "nativeSrc": "36518:12:23", "nodeType": "YulFunctionCall", - "src": "36518:12:10" + "src": "36518:12:23" }, { "name": "implementation", - "nativeSrc": "36532:14:10", + "nativeSrc": "36532:14:23", "nodeType": "YulIdentifier", - "src": "36532:14:10" + "src": "36532:14:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "36511:6:10", + "nativeSrc": "36511:6:23", "nodeType": "YulIdentifier", - "src": "36511:6:10" + "src": "36511:6:23" }, - "nativeSrc": "36511:36:10", + "nativeSrc": "36511:36:23", "nodeType": "YulFunctionCall", - "src": "36511:36:10" + "src": "36511:36:23" }, - "nativeSrc": "36511:36:10", + "nativeSrc": "36511:36:23", "nodeType": "YulExpressionStatement", - "src": "36511:36:10" + "src": "36511:36:23" }, { "expression": { "arguments": [ { "name": "m", - "nativeSrc": "36567:1:10", + "nativeSrc": "36567:1:23", "nodeType": "YulIdentifier", - "src": "36567:1:10" + "src": "36567:1:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "36574:42:10", + "nativeSrc": "36574:42:23", "nodeType": "YulLiteral", - "src": "36574:42:10", + "src": "36574:42:23", "type": "", "value": "0x61002d3d81600a3d39f3363d3d373d3d3d363d73" }, @@ -97726,132 +116701,132 @@ "arguments": [ { "kind": "number", - "nativeSrc": "36622:3:10", + "nativeSrc": "36622:3:23", "nodeType": "YulLiteral", - "src": "36622:3:10", + "src": "36622:3:23", "type": "", "value": "136" }, { "name": "n", - "nativeSrc": "36627:1:10", + "nativeSrc": "36627:1:23", "nodeType": "YulIdentifier", - "src": "36627:1:10" + "src": "36627:1:23" } ], "functionName": { "name": "shl", - "nativeSrc": "36618:3:10", + "nativeSrc": "36618:3:23", "nodeType": "YulIdentifier", - "src": "36618:3:10" + "src": "36618:3:23" }, - "nativeSrc": "36618:11:10", + "nativeSrc": "36618:11:23", "nodeType": "YulFunctionCall", - "src": "36618:11:10" + "src": "36618:11:23" } ], "functionName": { "name": "add", - "nativeSrc": "36570:3:10", + "nativeSrc": "36570:3:23", "nodeType": "YulIdentifier", - "src": "36570:3:10" + "src": "36570:3:23" }, - "nativeSrc": "36570:60:10", + "nativeSrc": "36570:60:23", "nodeType": "YulFunctionCall", - "src": "36570:60:10" + "src": "36570:60:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "36560:6:10", + "nativeSrc": "36560:6:23", "nodeType": "YulIdentifier", - "src": "36560:6:10" + "src": "36560:6:23" }, - "nativeSrc": "36560:71:10", + "nativeSrc": "36560:71:23", "nodeType": "YulFunctionCall", - "src": "36560:71:10" + "src": "36560:71:23" }, - "nativeSrc": "36560:71:10", + "nativeSrc": "36560:71:23", "nodeType": "YulExpressionStatement", - "src": "36560:71:10" + "src": "36560:71:23" }, { - "nativeSrc": "36644:45:10", + "nativeSrc": "36644:45:23", "nodeType": "YulAssignment", - "src": "36644:45:10", + "src": "36644:45:23", "value": { "arguments": [ { "arguments": [ { "name": "m", - "nativeSrc": "36666:1:10", + "nativeSrc": "36666:1:23", "nodeType": "YulIdentifier", - "src": "36666:1:10" + "src": "36666:1:23" }, { "kind": "number", - "nativeSrc": "36669:4:10", + "nativeSrc": "36669:4:23", "nodeType": "YulLiteral", - "src": "36669:4:10", + "src": "36669:4:23", "type": "", "value": "0x0c" } ], "functionName": { "name": "add", - "nativeSrc": "36662:3:10", + "nativeSrc": "36662:3:23", "nodeType": "YulIdentifier", - "src": "36662:3:10" + "src": "36662:3:23" }, - "nativeSrc": "36662:12:10", + "nativeSrc": "36662:12:23", "nodeType": "YulFunctionCall", - "src": "36662:12:10" + "src": "36662:12:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "36680:1:10", + "nativeSrc": "36680:1:23", "nodeType": "YulIdentifier", - "src": "36680:1:10" + "src": "36680:1:23" }, { "kind": "number", - "nativeSrc": "36683:4:10", + "nativeSrc": "36683:4:23", "nodeType": "YulLiteral", - "src": "36683:4:10", + "src": "36683:4:23", "type": "", "value": "0x37" } ], "functionName": { "name": "add", - "nativeSrc": "36676:3:10", + "nativeSrc": "36676:3:23", "nodeType": "YulIdentifier", - "src": "36676:3:10" + "src": "36676:3:23" }, - "nativeSrc": "36676:12:10", + "nativeSrc": "36676:12:23", "nodeType": "YulFunctionCall", - "src": "36676:12:10" + "src": "36676:12:23" } ], "functionName": { "name": "keccak256", - "nativeSrc": "36652:9:10", + "nativeSrc": "36652:9:23", "nodeType": "YulIdentifier", - "src": "36652:9:10" + "src": "36652:9:23" }, - "nativeSrc": "36652:37:10", + "nativeSrc": "36652:37:23", "nodeType": "YulFunctionCall", - "src": "36652:37:10" + "src": "36652:37:23" }, "variableNames": [ { "name": "hash", - "nativeSrc": "36644:4:10", + "nativeSrc": "36644:4:23", "nodeType": "YulIdentifier", - "src": "36644:4:10" + "src": "36644:4:23" } ] } @@ -97861,66 +116836,66 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3462, + "declaration": 5068, "isOffset": false, "isSlot": false, - "src": "36106:4:10", + "src": "36106:4:23", "valueSize": 1 }, { - "declaration": 3462, + "declaration": 5068, "isOffset": false, "isSlot": false, - "src": "36400:4:10", + "src": "36400:4:23", "valueSize": 1 }, { - "declaration": 3465, + "declaration": 5071, "isOffset": false, "isSlot": false, - "src": "36644:4:10", + "src": "36644:4:23", "valueSize": 1 }, { - "declaration": 3460, + "declaration": 5066, "isOffset": false, "isSlot": false, - "src": "36532:14:10", + "src": "36532:14:23", "valueSize": 1 } ], - "id": 3467, + "id": 5073, "nodeType": "InlineAssembly", - "src": "36035:664:10" + "src": "36035:664:23" } ] }, "documentation": { - "id": 3458, + "id": 5064, "nodeType": "StructuredDocumentation", - "src": "35716:131:10", + "src": "35716:131:23", "text": "@dev Returns the initialization code hash of the clone of `implementation`\n using immutable arguments encoded in `args`." }, - "id": 3469, + "id": 5075, "implemented": true, "kind": "function", "modifiers": [], "name": "initCodeHash", - "nameLocation": "35861:12:10", + "nameLocation": "35861:12:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3463, + "id": 5069, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3460, + "id": 5066, "mutability": "mutable", "name": "implementation", - "nameLocation": "35882:14:10", + "nameLocation": "35882:14:23", "nodeType": "VariableDeclaration", - "scope": 3469, - "src": "35874:22:10", + "scope": 5075, + "src": "35874:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -97928,10 +116903,10 @@ "typeString": "address" }, "typeName": { - "id": 3459, + "id": 5065, "name": "address", "nodeType": "ElementaryTypeName", - "src": "35874:7:10", + "src": "35874:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -97942,13 +116917,13 @@ }, { "constant": false, - "id": 3462, + "id": 5068, "mutability": "mutable", "name": "args", - "nameLocation": "35911:4:10", + "nameLocation": "35911:4:23", "nodeType": "VariableDeclaration", - "scope": 3469, - "src": "35898:17:10", + "scope": 5075, + "src": "35898:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -97956,10 +116931,10 @@ "typeString": "bytes" }, "typeName": { - "id": 3461, + "id": 5067, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "35898:5:10", + "src": "35898:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -97968,21 +116943,21 @@ "visibility": "internal" } ], - "src": "35873:43:10" + "src": "35873:43:23" }, "returnParameters": { - "id": 3466, + "id": 5072, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3465, + "id": 5071, "mutability": "mutable", "name": "hash", - "nameLocation": "35972:4:10", + "nameLocation": "35972:4:23", "nodeType": "VariableDeclaration", - "scope": 3469, - "src": "35964:12:10", + "scope": 5075, + "src": "35964:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -97990,10 +116965,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 3464, + "id": 5070, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "35964:7:10", + "src": "35964:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -98002,34 +116977,34 @@ "visibility": "internal" } ], - "src": "35963:14:10" + "src": "35963:14:23" }, - "scope": 5093, - "src": "35852:853:10", + "scope": 6699, + "src": "35852:853:23", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3498, + "id": 5104, "nodeType": "Block", - "src": "37143:137:10", + "src": "37143:137:23", "statements": [ { "assignments": [ - 3484 + 5090 ], "declarations": [ { "constant": false, - "id": 3484, + "id": 5090, "mutability": "mutable", "name": "hash", - "nameLocation": "37161:4:10", + "nameLocation": "37161:4:23", "nodeType": "VariableDeclaration", - "scope": 3498, - "src": "37153:12:10", + "scope": 5104, + "src": "37153:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -98037,10 +117012,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 3483, + "id": 5089, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "37153:7:10", + "src": "37153:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -98049,28 +117024,28 @@ "visibility": "internal" } ], - "id": 3489, + "id": 5095, "initialValue": { "arguments": [ { - "id": 3486, + "id": 5092, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3472, - "src": "37181:14:10", + "referencedDeclaration": 5078, + "src": "37181:14:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 3487, + "id": 5093, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3474, - "src": "37197:4:10", + "referencedDeclaration": 5080, + "src": "37197:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -98088,21 +117063,21 @@ "typeString": "bytes memory" } ], - "id": 3485, + "id": 5091, "name": "initCodeHash", "nodeType": "Identifier", "overloadedDeclarations": [ - 3199, - 3469 + 4805, + 5075 ], - "referencedDeclaration": 3469, - "src": "37168:12:10", + "referencedDeclaration": 5075, + "src": "37168:12:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (address,bytes memory) pure returns (bytes32)" } }, - "id": 3488, + "id": 5094, "isConstant": false, "isLValue": false, "isPure": false, @@ -98111,7 +117086,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "37168:34:10", + "src": "37168:34:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -98119,22 +117094,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "37153:49:10" + "src": "37153:49:23" }, { "expression": { - "id": 3496, + "id": 5102, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 3490, + "id": 5096, "name": "predicted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3481, - "src": "37212:9:10", + "referencedDeclaration": 5087, + "src": "37212:9:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -98145,36 +117120,36 @@ "rightHandSide": { "arguments": [ { - "id": 3492, + "id": 5098, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3484, - "src": "37252:4:10", + "referencedDeclaration": 5090, + "src": "37252:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 3493, + "id": 5099, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3476, - "src": "37258:4:10", + "referencedDeclaration": 5082, + "src": "37258:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 3494, + "id": 5100, "name": "deployer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3478, - "src": "37264:8:10", + "referencedDeclaration": 5084, + "src": "37264:8:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -98196,22 +117171,22 @@ "typeString": "address" } ], - "id": 3491, + "id": 5097, "name": "predictDeterministicAddress", "nodeType": "Identifier", "overloadedDeclarations": [ - 3226, - 3499, - 5070 + 4832, + 5105, + 6676 ], - "referencedDeclaration": 5070, - "src": "37224:27:10", + "referencedDeclaration": 6676, + "src": "37224:27:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_address_$", "typeString": "function (bytes32,bytes32,address) pure returns (address)" } }, - "id": 3495, + "id": 5101, "isConstant": false, "isLValue": false, "isPure": false, @@ -98220,51 +117195,51 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "37224:49:10", + "src": "37224:49:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "37212:61:10", + "src": "37212:61:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 3497, + "id": 5103, "nodeType": "ExpressionStatement", - "src": "37212:61:10" + "src": "37212:61:23" } ] }, "documentation": { - "id": 3470, + "id": 5076, "nodeType": "StructuredDocumentation", - "src": "36711:235:10", + "src": "36711:235:23", "text": "@dev Returns the address of the clone of\n `implementation` using immutable arguments encoded in `args`, with `salt`, by `deployer`.\n Note: The returned result has dirty upper 96 bits. Please clean if used in assembly." }, - "id": 3499, + "id": 5105, "implemented": true, "kind": "function", "modifiers": [], "name": "predictDeterministicAddress", - "nameLocation": "36960:27:10", + "nameLocation": "36960:27:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3479, + "id": 5085, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3472, + "id": 5078, "mutability": "mutable", "name": "implementation", - "nameLocation": "37005:14:10", + "nameLocation": "37005:14:23", "nodeType": "VariableDeclaration", - "scope": 3499, - "src": "36997:22:10", + "scope": 5105, + "src": "36997:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -98272,10 +117247,10 @@ "typeString": "address" }, "typeName": { - "id": 3471, + "id": 5077, "name": "address", "nodeType": "ElementaryTypeName", - "src": "36997:7:10", + "src": "36997:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -98286,13 +117261,13 @@ }, { "constant": false, - "id": 3474, + "id": 5080, "mutability": "mutable", "name": "data", - "nameLocation": "37042:4:10", + "nameLocation": "37042:4:23", "nodeType": "VariableDeclaration", - "scope": 3499, - "src": "37029:17:10", + "scope": 5105, + "src": "37029:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -98300,10 +117275,10 @@ "typeString": "bytes" }, "typeName": { - "id": 3473, + "id": 5079, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "37029:5:10", + "src": "37029:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -98313,13 +117288,13 @@ }, { "constant": false, - "id": 3476, + "id": 5082, "mutability": "mutable", "name": "salt", - "nameLocation": "37064:4:10", + "nameLocation": "37064:4:23", "nodeType": "VariableDeclaration", - "scope": 3499, - "src": "37056:12:10", + "scope": 5105, + "src": "37056:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -98327,10 +117302,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 3475, + "id": 5081, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "37056:7:10", + "src": "37056:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -98340,13 +117315,13 @@ }, { "constant": false, - "id": 3478, + "id": 5084, "mutability": "mutable", "name": "deployer", - "nameLocation": "37086:8:10", + "nameLocation": "37086:8:23", "nodeType": "VariableDeclaration", - "scope": 3499, - "src": "37078:16:10", + "scope": 5105, + "src": "37078:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -98354,10 +117329,10 @@ "typeString": "address" }, "typeName": { - "id": 3477, + "id": 5083, "name": "address", "nodeType": "ElementaryTypeName", - "src": "37078:7:10", + "src": "37078:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -98367,21 +117342,21 @@ "visibility": "internal" } ], - "src": "36987:113:10" + "src": "36987:113:23" }, "returnParameters": { - "id": 3482, + "id": 5088, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3481, + "id": 5087, "mutability": "mutable", "name": "predicted", - "nameLocation": "37132:9:10", + "nameLocation": "37132:9:23", "nodeType": "VariableDeclaration", - "scope": 3499, - "src": "37124:17:10", + "scope": 5105, + "src": "37124:17:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -98389,10 +117364,10 @@ "typeString": "address" }, "typeName": { - "id": 3480, + "id": 5086, "name": "address", "nodeType": "ElementaryTypeName", - "src": "37124:7:10", + "src": "37124:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -98402,57 +117377,57 @@ "visibility": "internal" } ], - "src": "37123:19:10" + "src": "37123:19:23" }, - "scope": 5093, - "src": "36951:329:10", + "scope": 6699, + "src": "36951:329:23", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3508, + "id": 5114, "nodeType": "Block", - "src": "37436:371:10", + "src": "37436:371:23", "statements": [ { "AST": { - "nativeSrc": "37498:303:10", + "nativeSrc": "37498:303:23", "nodeType": "YulBlock", - "src": "37498:303:10", + "src": "37498:303:23", "statements": [ { - "nativeSrc": "37512:19:10", + "nativeSrc": "37512:19:23", "nodeType": "YulAssignment", - "src": "37512:19:10", + "src": "37512:19:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "37526:4:10", + "nativeSrc": "37526:4:23", "nodeType": "YulLiteral", - "src": "37526:4:10", + "src": "37526:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "37520:5:10", + "nativeSrc": "37520:5:23", "nodeType": "YulIdentifier", - "src": "37520:5:10" + "src": "37520:5:23" }, - "nativeSrc": "37520:11:10", + "nativeSrc": "37520:11:23", "nodeType": "YulFunctionCall", - "src": "37520:11:10" + "src": "37520:11:23" }, "variableNames": [ { "name": "args", - "nativeSrc": "37512:4:10", + "nativeSrc": "37512:4:23", "nodeType": "YulIdentifier", - "src": "37512:4:10" + "src": "37512:4:23" } ] }, @@ -98461,17 +117436,17 @@ "arguments": [ { "name": "args", - "nativeSrc": "37551:4:10", + "nativeSrc": "37551:4:23", "nodeType": "YulIdentifier", - "src": "37551:4:10" + "src": "37551:4:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "37561:12:10", + "nativeSrc": "37561:12:23", "nodeType": "YulLiteral", - "src": "37561:12:10", + "src": "37561:12:23", "type": "", "value": "0xffffffffff" }, @@ -98481,107 +117456,107 @@ "arguments": [ { "name": "instance", - "nativeSrc": "37591:8:10", + "nativeSrc": "37591:8:23", "nodeType": "YulIdentifier", - "src": "37591:8:10" + "src": "37591:8:23" } ], "functionName": { "name": "extcodesize", - "nativeSrc": "37579:11:10", + "nativeSrc": "37579:11:23", "nodeType": "YulIdentifier", - "src": "37579:11:10" + "src": "37579:11:23" }, - "nativeSrc": "37579:21:10", + "nativeSrc": "37579:21:23", "nodeType": "YulFunctionCall", - "src": "37579:21:10" + "src": "37579:21:23" }, { "kind": "number", - "nativeSrc": "37602:4:10", + "nativeSrc": "37602:4:23", "nodeType": "YulLiteral", - "src": "37602:4:10", + "src": "37602:4:23", "type": "", "value": "0x2d" } ], "functionName": { "name": "sub", - "nativeSrc": "37575:3:10", + "nativeSrc": "37575:3:23", "nodeType": "YulIdentifier", - "src": "37575:3:10" + "src": "37575:3:23" }, - "nativeSrc": "37575:32:10", + "nativeSrc": "37575:32:23", "nodeType": "YulFunctionCall", - "src": "37575:32:10" + "src": "37575:32:23" } ], "functionName": { "name": "and", - "nativeSrc": "37557:3:10", + "nativeSrc": "37557:3:23", "nodeType": "YulIdentifier", - "src": "37557:3:10" + "src": "37557:3:23" }, - "nativeSrc": "37557:51:10", + "nativeSrc": "37557:51:23", "nodeType": "YulFunctionCall", - "src": "37557:51:10" + "src": "37557:51:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "37544:6:10", + "nativeSrc": "37544:6:23", "nodeType": "YulIdentifier", - "src": "37544:6:10" + "src": "37544:6:23" }, - "nativeSrc": "37544:65:10", + "nativeSrc": "37544:65:23", "nodeType": "YulFunctionCall", - "src": "37544:65:10" + "src": "37544:65:23" }, - "nativeSrc": "37544:65:10", + "nativeSrc": "37544:65:23", "nodeType": "YulExpressionStatement", - "src": "37544:65:10" + "src": "37544:65:23" }, { "expression": { "arguments": [ { "name": "instance", - "nativeSrc": "37655:8:10", + "nativeSrc": "37655:8:23", "nodeType": "YulIdentifier", - "src": "37655:8:10" + "src": "37655:8:23" }, { "arguments": [ { "name": "args", - "nativeSrc": "37669:4:10", + "nativeSrc": "37669:4:23", "nodeType": "YulIdentifier", - "src": "37669:4:10" + "src": "37669:4:23" }, { "kind": "number", - "nativeSrc": "37675:4:10", + "nativeSrc": "37675:4:23", "nodeType": "YulLiteral", - "src": "37675:4:10", + "src": "37675:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "37665:3:10", + "nativeSrc": "37665:3:23", "nodeType": "YulIdentifier", - "src": "37665:3:10" + "src": "37665:3:23" }, - "nativeSrc": "37665:15:10", + "nativeSrc": "37665:15:23", "nodeType": "YulFunctionCall", - "src": "37665:15:10" + "src": "37665:15:23" }, { "kind": "number", - "nativeSrc": "37682:4:10", + "nativeSrc": "37682:4:23", "nodeType": "YulLiteral", - "src": "37682:4:10", + "src": "37682:4:23", "type": "", "value": "0x2d" }, @@ -98591,63 +117566,63 @@ "arguments": [ { "name": "args", - "nativeSrc": "37698:4:10", + "nativeSrc": "37698:4:23", "nodeType": "YulIdentifier", - "src": "37698:4:10" + "src": "37698:4:23" } ], "functionName": { "name": "mload", - "nativeSrc": "37692:5:10", + "nativeSrc": "37692:5:23", "nodeType": "YulIdentifier", - "src": "37692:5:10" + "src": "37692:5:23" }, - "nativeSrc": "37692:11:10", + "nativeSrc": "37692:11:23", "nodeType": "YulFunctionCall", - "src": "37692:11:10" + "src": "37692:11:23" }, { "kind": "number", - "nativeSrc": "37705:4:10", + "nativeSrc": "37705:4:23", "nodeType": "YulLiteral", - "src": "37705:4:10", + "src": "37705:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "37688:3:10", + "nativeSrc": "37688:3:23", "nodeType": "YulIdentifier", - "src": "37688:3:10" + "src": "37688:3:23" }, - "nativeSrc": "37688:22:10", + "nativeSrc": "37688:22:23", "nodeType": "YulFunctionCall", - "src": "37688:22:10" + "src": "37688:22:23" } ], "functionName": { "name": "extcodecopy", - "nativeSrc": "37643:11:10", + "nativeSrc": "37643:11:23", "nodeType": "YulIdentifier", - "src": "37643:11:10" + "src": "37643:11:23" }, - "nativeSrc": "37643:68:10", + "nativeSrc": "37643:68:23", "nodeType": "YulFunctionCall", - "src": "37643:68:10" + "src": "37643:68:23" }, - "nativeSrc": "37643:68:10", + "nativeSrc": "37643:68:23", "nodeType": "YulExpressionStatement", - "src": "37643:68:10" + "src": "37643:68:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "37731:4:10", + "nativeSrc": "37731:4:23", "nodeType": "YulLiteral", - "src": "37731:4:10", + "src": "37731:4:23", "type": "", "value": "0x40" }, @@ -98657,73 +117632,73 @@ "arguments": [ { "name": "args", - "nativeSrc": "37747:4:10", + "nativeSrc": "37747:4:23", "nodeType": "YulIdentifier", - "src": "37747:4:10" + "src": "37747:4:23" } ], "functionName": { "name": "mload", - "nativeSrc": "37741:5:10", + "nativeSrc": "37741:5:23", "nodeType": "YulIdentifier", - "src": "37741:5:10" + "src": "37741:5:23" }, - "nativeSrc": "37741:11:10", + "nativeSrc": "37741:11:23", "nodeType": "YulFunctionCall", - "src": "37741:11:10" + "src": "37741:11:23" }, { "arguments": [ { "name": "args", - "nativeSrc": "37758:4:10", + "nativeSrc": "37758:4:23", "nodeType": "YulIdentifier", - "src": "37758:4:10" + "src": "37758:4:23" }, { "kind": "number", - "nativeSrc": "37764:4:10", + "nativeSrc": "37764:4:23", "nodeType": "YulLiteral", - "src": "37764:4:10", + "src": "37764:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "add", - "nativeSrc": "37754:3:10", + "nativeSrc": "37754:3:23", "nodeType": "YulIdentifier", - "src": "37754:3:10" + "src": "37754:3:23" }, - "nativeSrc": "37754:15:10", + "nativeSrc": "37754:15:23", "nodeType": "YulFunctionCall", - "src": "37754:15:10" + "src": "37754:15:23" } ], "functionName": { "name": "add", - "nativeSrc": "37737:3:10", + "nativeSrc": "37737:3:23", "nodeType": "YulIdentifier", - "src": "37737:3:10" + "src": "37737:3:23" }, - "nativeSrc": "37737:33:10", + "nativeSrc": "37737:33:23", "nodeType": "YulFunctionCall", - "src": "37737:33:10" + "src": "37737:33:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "37724:6:10", + "nativeSrc": "37724:6:23", "nodeType": "YulIdentifier", - "src": "37724:6:10" + "src": "37724:6:23" }, - "nativeSrc": "37724:47:10", + "nativeSrc": "37724:47:23", "nodeType": "YulFunctionCall", - "src": "37724:47:10" + "src": "37724:47:23" }, - "nativeSrc": "37724:47:10", + "nativeSrc": "37724:47:23", "nodeType": "YulExpressionStatement", - "src": "37724:47:10" + "src": "37724:47:23" } ] }, @@ -98731,94 +117706,94 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3505, + "declaration": 5111, "isOffset": false, "isSlot": false, - "src": "37512:4:10", + "src": "37512:4:23", "valueSize": 1 }, { - "declaration": 3505, + "declaration": 5111, "isOffset": false, "isSlot": false, - "src": "37551:4:10", + "src": "37551:4:23", "valueSize": 1 }, { - "declaration": 3505, + "declaration": 5111, "isOffset": false, "isSlot": false, - "src": "37669:4:10", + "src": "37669:4:23", "valueSize": 1 }, { - "declaration": 3505, + "declaration": 5111, "isOffset": false, "isSlot": false, - "src": "37698:4:10", + "src": "37698:4:23", "valueSize": 1 }, { - "declaration": 3505, + "declaration": 5111, "isOffset": false, "isSlot": false, - "src": "37747:4:10", + "src": "37747:4:23", "valueSize": 1 }, { - "declaration": 3505, + "declaration": 5111, "isOffset": false, "isSlot": false, - "src": "37758:4:10", + "src": "37758:4:23", "valueSize": 1 }, { - "declaration": 3502, + "declaration": 5108, "isOffset": false, "isSlot": false, - "src": "37591:8:10", + "src": "37591:8:23", "valueSize": 1 }, { - "declaration": 3502, + "declaration": 5108, "isOffset": false, "isSlot": false, - "src": "37655:8:10", + "src": "37655:8:23", "valueSize": 1 } ], - "id": 3507, + "id": 5113, "nodeType": "InlineAssembly", - "src": "37489:312:10" + "src": "37489:312:23" } ] }, "documentation": { - "id": 3500, + "id": 5106, "nodeType": "StructuredDocumentation", - "src": "37286:64:10", + "src": "37286:64:23", "text": "@dev Equivalent to `argsOnClone(instance, 0, 2 ** 256 - 1)`." }, - "id": 3509, + "id": 5115, "implemented": true, "kind": "function", "modifiers": [], "name": "argsOnClone", - "nameLocation": "37364:11:10", + "nameLocation": "37364:11:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3503, + "id": 5109, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3502, + "id": 5108, "mutability": "mutable", "name": "instance", - "nameLocation": "37384:8:10", + "nameLocation": "37384:8:23", "nodeType": "VariableDeclaration", - "scope": 3509, - "src": "37376:16:10", + "scope": 5115, + "src": "37376:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -98826,10 +117801,10 @@ "typeString": "address" }, "typeName": { - "id": 3501, + "id": 5107, "name": "address", "nodeType": "ElementaryTypeName", - "src": "37376:7:10", + "src": "37376:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -98839,21 +117814,21 @@ "visibility": "internal" } ], - "src": "37375:18:10" + "src": "37375:18:23" }, "returnParameters": { - "id": 3506, + "id": 5112, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3505, + "id": 5111, "mutability": "mutable", "name": "args", - "nameLocation": "37430:4:10", + "nameLocation": "37430:4:23", "nodeType": "VariableDeclaration", - "scope": 3509, - "src": "37417:17:10", + "scope": 5115, + "src": "37417:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -98861,10 +117836,10 @@ "typeString": "bytes" }, "typeName": { - "id": 3504, + "id": 5110, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "37417:5:10", + "src": "37417:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -98873,71 +117848,71 @@ "visibility": "internal" } ], - "src": "37416:19:10" + "src": "37416:19:23" }, - "scope": 5093, - "src": "37355:452:10", + "scope": 6699, + "src": "37355:452:23", "stateMutability": "view", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3520, + "id": 5126, "nodeType": "Block", - "src": "38010:485:10", + "src": "38010:485:23", "statements": [ { "AST": { - "nativeSrc": "38072:417:10", + "nativeSrc": "38072:417:23", "nodeType": "YulBlock", - "src": "38072:417:10", + "src": "38072:417:23", "statements": [ { - "nativeSrc": "38086:19:10", + "nativeSrc": "38086:19:23", "nodeType": "YulAssignment", - "src": "38086:19:10", + "src": "38086:19:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "38100:4:10", + "nativeSrc": "38100:4:23", "nodeType": "YulLiteral", - "src": "38100:4:10", + "src": "38100:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "38094:5:10", + "nativeSrc": "38094:5:23", "nodeType": "YulIdentifier", - "src": "38094:5:10" + "src": "38094:5:23" }, - "nativeSrc": "38094:11:10", + "nativeSrc": "38094:11:23", "nodeType": "YulFunctionCall", - "src": "38094:11:10" + "src": "38094:11:23" }, "variableNames": [ { "name": "args", - "nativeSrc": "38086:4:10", + "nativeSrc": "38086:4:23", "nodeType": "YulIdentifier", - "src": "38086:4:10" + "src": "38086:4:23" } ] }, { - "nativeSrc": "38118:60:10", + "nativeSrc": "38118:60:23", "nodeType": "YulVariableDeclaration", - "src": "38118:60:10", + "src": "38118:60:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "38131:12:10", + "nativeSrc": "38131:12:23", "nodeType": "YulLiteral", - "src": "38131:12:10", + "src": "38131:12:23", "type": "", "value": "0xffffffffff" }, @@ -98947,80 +117922,80 @@ "arguments": [ { "name": "instance", - "nativeSrc": "38161:8:10", + "nativeSrc": "38161:8:23", "nodeType": "YulIdentifier", - "src": "38161:8:10" + "src": "38161:8:23" } ], "functionName": { "name": "extcodesize", - "nativeSrc": "38149:11:10", + "nativeSrc": "38149:11:23", "nodeType": "YulIdentifier", - "src": "38149:11:10" + "src": "38149:11:23" }, - "nativeSrc": "38149:21:10", + "nativeSrc": "38149:21:23", "nodeType": "YulFunctionCall", - "src": "38149:21:10" + "src": "38149:21:23" }, { "kind": "number", - "nativeSrc": "38172:4:10", + "nativeSrc": "38172:4:23", "nodeType": "YulLiteral", - "src": "38172:4:10", + "src": "38172:4:23", "type": "", "value": "0x2d" } ], "functionName": { "name": "sub", - "nativeSrc": "38145:3:10", + "nativeSrc": "38145:3:23", "nodeType": "YulIdentifier", - "src": "38145:3:10" + "src": "38145:3:23" }, - "nativeSrc": "38145:32:10", + "nativeSrc": "38145:32:23", "nodeType": "YulFunctionCall", - "src": "38145:32:10" + "src": "38145:32:23" } ], "functionName": { "name": "and", - "nativeSrc": "38127:3:10", + "nativeSrc": "38127:3:23", "nodeType": "YulIdentifier", - "src": "38127:3:10" + "src": "38127:3:23" }, - "nativeSrc": "38127:51:10", + "nativeSrc": "38127:51:23", "nodeType": "YulFunctionCall", - "src": "38127:51:10" + "src": "38127:51:23" }, "variables": [ { "name": "n", - "nativeSrc": "38122:1:10", + "nativeSrc": "38122:1:23", "nodeType": "YulTypedName", - "src": "38122:1:10", + "src": "38122:1:23", "type": "" } ] }, { - "nativeSrc": "38191:56:10", + "nativeSrc": "38191:56:23", "nodeType": "YulVariableDeclaration", - "src": "38191:56:10", + "src": "38191:56:23", "value": { "arguments": [ { "name": "n", - "nativeSrc": "38204:1:10", + "nativeSrc": "38204:1:23", "nodeType": "YulIdentifier", - "src": "38204:1:10" + "src": "38204:1:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "38211:8:10", + "nativeSrc": "38211:8:23", "nodeType": "YulLiteral", - "src": "38211:8:10", + "src": "38211:8:23", "type": "", "value": "0xffffff" }, @@ -99030,72 +118005,72 @@ "arguments": [ { "name": "start", - "nativeSrc": "38228:5:10", + "nativeSrc": "38228:5:23", "nodeType": "YulIdentifier", - "src": "38228:5:10" + "src": "38228:5:23" }, { "name": "n", - "nativeSrc": "38235:1:10", + "nativeSrc": "38235:1:23", "nodeType": "YulIdentifier", - "src": "38235:1:10" + "src": "38235:1:23" } ], "functionName": { "name": "lt", - "nativeSrc": "38225:2:10", + "nativeSrc": "38225:2:23", "nodeType": "YulIdentifier", - "src": "38225:2:10" + "src": "38225:2:23" }, - "nativeSrc": "38225:12:10", + "nativeSrc": "38225:12:23", "nodeType": "YulFunctionCall", - "src": "38225:12:10" + "src": "38225:12:23" }, { "name": "start", - "nativeSrc": "38239:5:10", + "nativeSrc": "38239:5:23", "nodeType": "YulIdentifier", - "src": "38239:5:10" + "src": "38239:5:23" } ], "functionName": { "name": "mul", - "nativeSrc": "38221:3:10", + "nativeSrc": "38221:3:23", "nodeType": "YulIdentifier", - "src": "38221:3:10" + "src": "38221:3:23" }, - "nativeSrc": "38221:24:10", + "nativeSrc": "38221:24:23", "nodeType": "YulFunctionCall", - "src": "38221:24:10" + "src": "38221:24:23" } ], "functionName": { "name": "and", - "nativeSrc": "38207:3:10", + "nativeSrc": "38207:3:23", "nodeType": "YulIdentifier", - "src": "38207:3:10" + "src": "38207:3:23" }, - "nativeSrc": "38207:39:10", + "nativeSrc": "38207:39:23", "nodeType": "YulFunctionCall", - "src": "38207:39:10" + "src": "38207:39:23" } ], "functionName": { "name": "sub", - "nativeSrc": "38200:3:10", + "nativeSrc": "38200:3:23", "nodeType": "YulIdentifier", - "src": "38200:3:10" + "src": "38200:3:23" }, - "nativeSrc": "38200:47:10", + "nativeSrc": "38200:47:23", "nodeType": "YulFunctionCall", - "src": "38200:47:10" + "src": "38200:47:23" }, "variables": [ { "name": "l", - "nativeSrc": "38195:1:10", + "nativeSrc": "38195:1:23", "nodeType": "YulTypedName", - "src": "38195:1:10", + "src": "38195:1:23", "type": "" } ] @@ -99105,93 +118080,93 @@ "arguments": [ { "name": "instance", - "nativeSrc": "38272:8:10", + "nativeSrc": "38272:8:23", "nodeType": "YulIdentifier", - "src": "38272:8:10" + "src": "38272:8:23" }, { "name": "args", - "nativeSrc": "38282:4:10", + "nativeSrc": "38282:4:23", "nodeType": "YulIdentifier", - "src": "38282:4:10" + "src": "38282:4:23" }, { "arguments": [ { "name": "start", - "nativeSrc": "38292:5:10", + "nativeSrc": "38292:5:23", "nodeType": "YulIdentifier", - "src": "38292:5:10" + "src": "38292:5:23" }, { "kind": "number", - "nativeSrc": "38299:4:10", + "nativeSrc": "38299:4:23", "nodeType": "YulLiteral", - "src": "38299:4:10", + "src": "38299:4:23", "type": "", "value": "0x0d" } ], "functionName": { "name": "add", - "nativeSrc": "38288:3:10", + "nativeSrc": "38288:3:23", "nodeType": "YulIdentifier", - "src": "38288:3:10" + "src": "38288:3:23" }, - "nativeSrc": "38288:16:10", + "nativeSrc": "38288:16:23", "nodeType": "YulFunctionCall", - "src": "38288:16:10" + "src": "38288:16:23" }, { "arguments": [ { "name": "l", - "nativeSrc": "38310:1:10", + "nativeSrc": "38310:1:23", "nodeType": "YulIdentifier", - "src": "38310:1:10" + "src": "38310:1:23" }, { "kind": "number", - "nativeSrc": "38313:4:10", + "nativeSrc": "38313:4:23", "nodeType": "YulLiteral", - "src": "38313:4:10", + "src": "38313:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "add", - "nativeSrc": "38306:3:10", + "nativeSrc": "38306:3:23", "nodeType": "YulIdentifier", - "src": "38306:3:10" + "src": "38306:3:23" }, - "nativeSrc": "38306:12:10", + "nativeSrc": "38306:12:23", "nodeType": "YulFunctionCall", - "src": "38306:12:10" + "src": "38306:12:23" } ], "functionName": { "name": "extcodecopy", - "nativeSrc": "38260:11:10", + "nativeSrc": "38260:11:23", "nodeType": "YulIdentifier", - "src": "38260:11:10" + "src": "38260:11:23" }, - "nativeSrc": "38260:59:10", + "nativeSrc": "38260:59:23", "nodeType": "YulFunctionCall", - "src": "38260:59:10" + "src": "38260:59:23" }, - "nativeSrc": "38260:59:10", + "nativeSrc": "38260:59:23", "nodeType": "YulExpressionStatement", - "src": "38260:59:10" + "src": "38260:59:23" }, { "expression": { "arguments": [ { "name": "args", - "nativeSrc": "38339:4:10", + "nativeSrc": "38339:4:23", "nodeType": "YulIdentifier", - "src": "38339:4:10" + "src": "38339:4:23" }, { "arguments": [ @@ -99199,86 +118174,86 @@ "arguments": [ { "name": "n", - "nativeSrc": "38353:1:10", + "nativeSrc": "38353:1:23", "nodeType": "YulIdentifier", - "src": "38353:1:10" + "src": "38353:1:23" }, { "name": "start", - "nativeSrc": "38356:5:10", + "nativeSrc": "38356:5:23", "nodeType": "YulIdentifier", - "src": "38356:5:10" + "src": "38356:5:23" } ], "functionName": { "name": "sub", - "nativeSrc": "38349:3:10", + "nativeSrc": "38349:3:23", "nodeType": "YulIdentifier", - "src": "38349:3:10" + "src": "38349:3:23" }, - "nativeSrc": "38349:13:10", + "nativeSrc": "38349:13:23", "nodeType": "YulFunctionCall", - "src": "38349:13:10" + "src": "38349:13:23" }, { "arguments": [ { "name": "start", - "nativeSrc": "38367:5:10", + "nativeSrc": "38367:5:23", "nodeType": "YulIdentifier", - "src": "38367:5:10" + "src": "38367:5:23" }, { "name": "n", - "nativeSrc": "38374:1:10", + "nativeSrc": "38374:1:23", "nodeType": "YulIdentifier", - "src": "38374:1:10" + "src": "38374:1:23" } ], "functionName": { "name": "lt", - "nativeSrc": "38364:2:10", + "nativeSrc": "38364:2:23", "nodeType": "YulIdentifier", - "src": "38364:2:10" + "src": "38364:2:23" }, - "nativeSrc": "38364:12:10", + "nativeSrc": "38364:12:23", "nodeType": "YulFunctionCall", - "src": "38364:12:10" + "src": "38364:12:23" } ], "functionName": { "name": "mul", - "nativeSrc": "38345:3:10", + "nativeSrc": "38345:3:23", "nodeType": "YulIdentifier", - "src": "38345:3:10" + "src": "38345:3:23" }, - "nativeSrc": "38345:32:10", + "nativeSrc": "38345:32:23", "nodeType": "YulFunctionCall", - "src": "38345:32:10" + "src": "38345:32:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "38332:6:10", + "nativeSrc": "38332:6:23", "nodeType": "YulIdentifier", - "src": "38332:6:10" + "src": "38332:6:23" }, - "nativeSrc": "38332:46:10", + "nativeSrc": "38332:46:23", "nodeType": "YulFunctionCall", - "src": "38332:46:10" + "src": "38332:46:23" }, - "nativeSrc": "38332:46:10", + "nativeSrc": "38332:46:23", "nodeType": "YulExpressionStatement", - "src": "38332:46:10" + "src": "38332:46:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "38419:4:10", + "nativeSrc": "38419:4:23", "nodeType": "YulLiteral", - "src": "38419:4:10", + "src": "38419:4:23", "type": "", "value": "0x40" }, @@ -99286,17 +118261,17 @@ "arguments": [ { "name": "args", - "nativeSrc": "38429:4:10", + "nativeSrc": "38429:4:23", "nodeType": "YulIdentifier", - "src": "38429:4:10" + "src": "38429:4:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "38439:4:10", + "nativeSrc": "38439:4:23", "nodeType": "YulLiteral", - "src": "38439:4:10", + "src": "38439:4:23", "type": "", "value": "0x40" }, @@ -99304,57 +118279,57 @@ "arguments": [ { "name": "args", - "nativeSrc": "38451:4:10", + "nativeSrc": "38451:4:23", "nodeType": "YulIdentifier", - "src": "38451:4:10" + "src": "38451:4:23" } ], "functionName": { "name": "mload", - "nativeSrc": "38445:5:10", + "nativeSrc": "38445:5:23", "nodeType": "YulIdentifier", - "src": "38445:5:10" + "src": "38445:5:23" }, - "nativeSrc": "38445:11:10", + "nativeSrc": "38445:11:23", "nodeType": "YulFunctionCall", - "src": "38445:11:10" + "src": "38445:11:23" } ], "functionName": { "name": "add", - "nativeSrc": "38435:3:10", + "nativeSrc": "38435:3:23", "nodeType": "YulIdentifier", - "src": "38435:3:10" + "src": "38435:3:23" }, - "nativeSrc": "38435:22:10", + "nativeSrc": "38435:22:23", "nodeType": "YulFunctionCall", - "src": "38435:22:10" + "src": "38435:22:23" } ], "functionName": { "name": "add", - "nativeSrc": "38425:3:10", + "nativeSrc": "38425:3:23", "nodeType": "YulIdentifier", - "src": "38425:3:10" + "src": "38425:3:23" }, - "nativeSrc": "38425:33:10", + "nativeSrc": "38425:33:23", "nodeType": "YulFunctionCall", - "src": "38425:33:10" + "src": "38425:33:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "38412:6:10", + "nativeSrc": "38412:6:23", "nodeType": "YulIdentifier", - "src": "38412:6:10" + "src": "38412:6:23" }, - "nativeSrc": "38412:47:10", + "nativeSrc": "38412:47:23", "nodeType": "YulFunctionCall", - "src": "38412:47:10" + "src": "38412:47:23" }, - "nativeSrc": "38412:47:10", + "nativeSrc": "38412:47:23", "nodeType": "YulExpressionStatement", - "src": "38412:47:10" + "src": "38412:47:23" } ] }, @@ -99362,122 +118337,122 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3517, + "declaration": 5123, "isOffset": false, "isSlot": false, - "src": "38086:4:10", + "src": "38086:4:23", "valueSize": 1 }, { - "declaration": 3517, + "declaration": 5123, "isOffset": false, "isSlot": false, - "src": "38282:4:10", + "src": "38282:4:23", "valueSize": 1 }, { - "declaration": 3517, + "declaration": 5123, "isOffset": false, "isSlot": false, - "src": "38339:4:10", + "src": "38339:4:23", "valueSize": 1 }, { - "declaration": 3517, + "declaration": 5123, "isOffset": false, "isSlot": false, - "src": "38429:4:10", + "src": "38429:4:23", "valueSize": 1 }, { - "declaration": 3517, + "declaration": 5123, "isOffset": false, "isSlot": false, - "src": "38451:4:10", + "src": "38451:4:23", "valueSize": 1 }, { - "declaration": 3512, + "declaration": 5118, "isOffset": false, "isSlot": false, - "src": "38161:8:10", + "src": "38161:8:23", "valueSize": 1 }, { - "declaration": 3512, + "declaration": 5118, "isOffset": false, "isSlot": false, - "src": "38272:8:10", + "src": "38272:8:23", "valueSize": 1 }, { - "declaration": 3514, + "declaration": 5120, "isOffset": false, "isSlot": false, - "src": "38228:5:10", + "src": "38228:5:23", "valueSize": 1 }, { - "declaration": 3514, + "declaration": 5120, "isOffset": false, "isSlot": false, - "src": "38239:5:10", + "src": "38239:5:23", "valueSize": 1 }, { - "declaration": 3514, + "declaration": 5120, "isOffset": false, "isSlot": false, - "src": "38292:5:10", + "src": "38292:5:23", "valueSize": 1 }, { - "declaration": 3514, + "declaration": 5120, "isOffset": false, "isSlot": false, - "src": "38356:5:10", + "src": "38356:5:23", "valueSize": 1 }, { - "declaration": 3514, + "declaration": 5120, "isOffset": false, "isSlot": false, - "src": "38367:5:10", + "src": "38367:5:23", "valueSize": 1 } ], - "id": 3519, + "id": 5125, "nodeType": "InlineAssembly", - "src": "38063:426:10" + "src": "38063:426:23" } ] }, "documentation": { - "id": 3510, + "id": 5116, "nodeType": "StructuredDocumentation", - "src": "37813:68:10", + "src": "37813:68:23", "text": "@dev Equivalent to `argsOnClone(instance, start, 2 ** 256 - 1)`." }, - "id": 3521, + "id": 5127, "implemented": true, "kind": "function", "modifiers": [], "name": "argsOnClone", - "nameLocation": "37895:11:10", + "nameLocation": "37895:11:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3515, + "id": 5121, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3512, + "id": 5118, "mutability": "mutable", "name": "instance", - "nameLocation": "37915:8:10", + "nameLocation": "37915:8:23", "nodeType": "VariableDeclaration", - "scope": 3521, - "src": "37907:16:10", + "scope": 5127, + "src": "37907:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -99485,10 +118460,10 @@ "typeString": "address" }, "typeName": { - "id": 3511, + "id": 5117, "name": "address", "nodeType": "ElementaryTypeName", - "src": "37907:7:10", + "src": "37907:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -99499,13 +118474,13 @@ }, { "constant": false, - "id": 3514, + "id": 5120, "mutability": "mutable", "name": "start", - "nameLocation": "37933:5:10", + "nameLocation": "37933:5:23", "nodeType": "VariableDeclaration", - "scope": 3521, - "src": "37925:13:10", + "scope": 5127, + "src": "37925:13:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -99513,10 +118488,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3513, + "id": 5119, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "37925:7:10", + "src": "37925:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -99525,21 +118500,21 @@ "visibility": "internal" } ], - "src": "37906:33:10" + "src": "37906:33:23" }, "returnParameters": { - "id": 3518, + "id": 5124, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3517, + "id": 5123, "mutability": "mutable", "name": "args", - "nameLocation": "38000:4:10", + "nameLocation": "38000:4:23", "nodeType": "VariableDeclaration", - "scope": 3521, - "src": "37987:17:10", + "scope": 5127, + "src": "37987:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -99547,10 +118522,10 @@ "typeString": "bytes" }, "typeName": { - "id": 3516, + "id": 5122, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "37987:5:10", + "src": "37987:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -99559,84 +118534,84 @@ "visibility": "internal" } ], - "src": "37986:19:10" + "src": "37986:19:23" }, - "scope": 5093, - "src": "37886:609:10", + "scope": 6699, + "src": "37886:609:23", "stateMutability": "view", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3534, + "id": 5140, "nodeType": "Block", - "src": "39002:785:10", + "src": "39002:785:23", "statements": [ { "AST": { - "nativeSrc": "39064:717:10", + "nativeSrc": "39064:717:23", "nodeType": "YulBlock", - "src": "39064:717:10", + "src": "39064:717:23", "statements": [ { - "nativeSrc": "39078:19:10", + "nativeSrc": "39078:19:23", "nodeType": "YulAssignment", - "src": "39078:19:10", + "src": "39078:19:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "39092:4:10", + "nativeSrc": "39092:4:23", "nodeType": "YulLiteral", - "src": "39092:4:10", + "src": "39092:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "39086:5:10", + "nativeSrc": "39086:5:23", "nodeType": "YulIdentifier", - "src": "39086:5:10" + "src": "39086:5:23" }, - "nativeSrc": "39086:11:10", + "nativeSrc": "39086:11:23", "nodeType": "YulFunctionCall", - "src": "39086:11:10" + "src": "39086:11:23" }, "variableNames": [ { "name": "args", - "nativeSrc": "39078:4:10", + "nativeSrc": "39078:4:23", "nodeType": "YulIdentifier", - "src": "39078:4:10" + "src": "39078:4:23" } ] }, { "body": { - "nativeSrc": "39137:17:10", + "nativeSrc": "39137:17:23", "nodeType": "YulBlock", - "src": "39137:17:10", + "src": "39137:17:23", "statements": [ { - "nativeSrc": "39139:13:10", + "nativeSrc": "39139:13:23", "nodeType": "YulAssignment", - "src": "39139:13:10", + "src": "39139:13:23", "value": { "kind": "number", - "nativeSrc": "39146:6:10", + "nativeSrc": "39146:6:23", "nodeType": "YulLiteral", - "src": "39146:6:10", + "src": "39146:6:23", "type": "", "value": "0xffff" }, "variableNames": [ { "name": "end", - "nativeSrc": "39139:3:10", + "nativeSrc": "39139:3:23", "nodeType": "YulIdentifier", - "src": "39139:3:10" + "src": "39139:3:23" } ] } @@ -99648,117 +118623,117 @@ "arguments": [ { "name": "end", - "nativeSrc": "39123:3:10", + "nativeSrc": "39123:3:23", "nodeType": "YulIdentifier", - "src": "39123:3:10" + "src": "39123:3:23" }, { "kind": "number", - "nativeSrc": "39128:6:10", + "nativeSrc": "39128:6:23", "nodeType": "YulLiteral", - "src": "39128:6:10", + "src": "39128:6:23", "type": "", "value": "0xffff" } ], "functionName": { "name": "lt", - "nativeSrc": "39120:2:10", + "nativeSrc": "39120:2:23", "nodeType": "YulIdentifier", - "src": "39120:2:10" + "src": "39120:2:23" }, - "nativeSrc": "39120:15:10", + "nativeSrc": "39120:15:23", "nodeType": "YulFunctionCall", - "src": "39120:15:10" + "src": "39120:15:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "39113:6:10", + "nativeSrc": "39113:6:23", "nodeType": "YulIdentifier", - "src": "39113:6:10" + "src": "39113:6:23" }, - "nativeSrc": "39113:23:10", + "nativeSrc": "39113:23:23", "nodeType": "YulFunctionCall", - "src": "39113:23:10" + "src": "39113:23:23" }, - "nativeSrc": "39110:44:10", + "nativeSrc": "39110:44:23", "nodeType": "YulIf", - "src": "39110:44:10" + "src": "39110:44:23" }, { - "nativeSrc": "39167:45:10", + "nativeSrc": "39167:45:23", "nodeType": "YulVariableDeclaration", - "src": "39167:45:10", + "src": "39167:45:23", "value": { "arguments": [ { "arguments": [ { "name": "end", - "nativeSrc": "39184:3:10", + "nativeSrc": "39184:3:23", "nodeType": "YulIdentifier", - "src": "39184:3:10" + "src": "39184:3:23" }, { "name": "start", - "nativeSrc": "39189:5:10", + "nativeSrc": "39189:5:23", "nodeType": "YulIdentifier", - "src": "39189:5:10" + "src": "39189:5:23" } ], "functionName": { "name": "sub", - "nativeSrc": "39180:3:10", + "nativeSrc": "39180:3:23", "nodeType": "YulIdentifier", - "src": "39180:3:10" + "src": "39180:3:23" }, - "nativeSrc": "39180:15:10", + "nativeSrc": "39180:15:23", "nodeType": "YulFunctionCall", - "src": "39180:15:10" + "src": "39180:15:23" }, { "arguments": [ { "name": "start", - "nativeSrc": "39200:5:10", + "nativeSrc": "39200:5:23", "nodeType": "YulIdentifier", - "src": "39200:5:10" + "src": "39200:5:23" }, { "name": "end", - "nativeSrc": "39207:3:10", + "nativeSrc": "39207:3:23", "nodeType": "YulIdentifier", - "src": "39207:3:10" + "src": "39207:3:23" } ], "functionName": { "name": "lt", - "nativeSrc": "39197:2:10", + "nativeSrc": "39197:2:23", "nodeType": "YulIdentifier", - "src": "39197:2:10" + "src": "39197:2:23" }, - "nativeSrc": "39197:14:10", + "nativeSrc": "39197:14:23", "nodeType": "YulFunctionCall", - "src": "39197:14:10" + "src": "39197:14:23" } ], "functionName": { "name": "mul", - "nativeSrc": "39176:3:10", + "nativeSrc": "39176:3:23", "nodeType": "YulIdentifier", - "src": "39176:3:10" + "src": "39176:3:23" }, - "nativeSrc": "39176:36:10", + "nativeSrc": "39176:36:23", "nodeType": "YulFunctionCall", - "src": "39176:36:10" + "src": "39176:36:23" }, "variables": [ { "name": "d", - "nativeSrc": "39171:1:10", + "nativeSrc": "39171:1:23", "nodeType": "YulTypedName", - "src": "39171:1:10", + "src": "39171:1:23", "type": "" } ] @@ -99768,141 +118743,141 @@ "arguments": [ { "name": "instance", - "nativeSrc": "39237:8:10", + "nativeSrc": "39237:8:23", "nodeType": "YulIdentifier", - "src": "39237:8:10" + "src": "39237:8:23" }, { "name": "args", - "nativeSrc": "39247:4:10", + "nativeSrc": "39247:4:23", "nodeType": "YulIdentifier", - "src": "39247:4:10" + "src": "39247:4:23" }, { "arguments": [ { "name": "start", - "nativeSrc": "39257:5:10", + "nativeSrc": "39257:5:23", "nodeType": "YulIdentifier", - "src": "39257:5:10" + "src": "39257:5:23" }, { "kind": "number", - "nativeSrc": "39264:4:10", + "nativeSrc": "39264:4:23", "nodeType": "YulLiteral", - "src": "39264:4:10", + "src": "39264:4:23", "type": "", "value": "0x0d" } ], "functionName": { "name": "add", - "nativeSrc": "39253:3:10", + "nativeSrc": "39253:3:23", "nodeType": "YulIdentifier", - "src": "39253:3:10" + "src": "39253:3:23" }, - "nativeSrc": "39253:16:10", + "nativeSrc": "39253:16:23", "nodeType": "YulFunctionCall", - "src": "39253:16:10" + "src": "39253:16:23" }, { "arguments": [ { "name": "d", - "nativeSrc": "39275:1:10", + "nativeSrc": "39275:1:23", "nodeType": "YulIdentifier", - "src": "39275:1:10" + "src": "39275:1:23" }, { "kind": "number", - "nativeSrc": "39278:4:10", + "nativeSrc": "39278:4:23", "nodeType": "YulLiteral", - "src": "39278:4:10", + "src": "39278:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "39271:3:10", + "nativeSrc": "39271:3:23", "nodeType": "YulIdentifier", - "src": "39271:3:10" + "src": "39271:3:23" }, - "nativeSrc": "39271:12:10", + "nativeSrc": "39271:12:23", "nodeType": "YulFunctionCall", - "src": "39271:12:10" + "src": "39271:12:23" } ], "functionName": { "name": "extcodecopy", - "nativeSrc": "39225:11:10", + "nativeSrc": "39225:11:23", "nodeType": "YulIdentifier", - "src": "39225:11:10" + "src": "39225:11:23" }, - "nativeSrc": "39225:59:10", + "nativeSrc": "39225:59:23", "nodeType": "YulFunctionCall", - "src": "39225:59:10" + "src": "39225:59:23" }, - "nativeSrc": "39225:59:10", + "nativeSrc": "39225:59:23", "nodeType": "YulExpressionStatement", - "src": "39225:59:10" + "src": "39225:59:23" }, { "body": { - "nativeSrc": "39339:229:10", + "nativeSrc": "39339:229:23", "nodeType": "YulBlock", - "src": "39339:229:10", + "src": "39339:229:23", "statements": [ { - "nativeSrc": "39357:41:10", + "nativeSrc": "39357:41:23", "nodeType": "YulVariableDeclaration", - "src": "39357:41:10", + "src": "39357:41:23", "value": { "arguments": [ { "arguments": [ { "name": "instance", - "nativeSrc": "39382:8:10", + "nativeSrc": "39382:8:23", "nodeType": "YulIdentifier", - "src": "39382:8:10" + "src": "39382:8:23" } ], "functionName": { "name": "extcodesize", - "nativeSrc": "39370:11:10", + "nativeSrc": "39370:11:23", "nodeType": "YulIdentifier", - "src": "39370:11:10" + "src": "39370:11:23" }, - "nativeSrc": "39370:21:10", + "nativeSrc": "39370:21:23", "nodeType": "YulFunctionCall", - "src": "39370:21:10" + "src": "39370:21:23" }, { "kind": "number", - "nativeSrc": "39393:4:10", + "nativeSrc": "39393:4:23", "nodeType": "YulLiteral", - "src": "39393:4:10", + "src": "39393:4:23", "type": "", "value": "0x2d" } ], "functionName": { "name": "sub", - "nativeSrc": "39366:3:10", + "nativeSrc": "39366:3:23", "nodeType": "YulIdentifier", - "src": "39366:3:10" + "src": "39366:3:23" }, - "nativeSrc": "39366:32:10", + "nativeSrc": "39366:32:23", "nodeType": "YulFunctionCall", - "src": "39366:32:10" + "src": "39366:32:23" }, "variables": [ { "name": "n", - "nativeSrc": "39361:1:10", + "nativeSrc": "39361:1:23", "nodeType": "YulTypedName", - "src": "39361:1:10", + "src": "39361:1:23", "type": "" } ] @@ -99914,106 +118889,106 @@ "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "39430:14:10", + "nativeSrc": "39430:14:23", "nodeType": "YulIdentifier", - "src": "39430:14:10" + "src": "39430:14:23" }, - "nativeSrc": "39430:16:10", + "nativeSrc": "39430:16:23", "nodeType": "YulFunctionCall", - "src": "39430:16:10" + "src": "39430:16:23" }, { "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "39448:14:10", + "nativeSrc": "39448:14:23", "nodeType": "YulIdentifier", - "src": "39448:14:10" + "src": "39448:14:23" }, - "nativeSrc": "39448:16:10", + "nativeSrc": "39448:16:23", "nodeType": "YulFunctionCall", - "src": "39448:16:10" + "src": "39448:16:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "39470:2:10", + "nativeSrc": "39470:2:23", "nodeType": "YulLiteral", - "src": "39470:2:10", + "src": "39470:2:23", "type": "", "value": "40" }, { "name": "n", - "nativeSrc": "39474:1:10", + "nativeSrc": "39474:1:23", "nodeType": "YulIdentifier", - "src": "39474:1:10" + "src": "39474:1:23" } ], "functionName": { "name": "shr", - "nativeSrc": "39466:3:10", + "nativeSrc": "39466:3:23", "nodeType": "YulIdentifier", - "src": "39466:3:10" + "src": "39466:3:23" }, - "nativeSrc": "39466:10:10", + "nativeSrc": "39466:10:23", "nodeType": "YulFunctionCall", - "src": "39466:10:10" + "src": "39466:10:23" } ], "functionName": { "name": "returndatacopy", - "nativeSrc": "39415:14:10", + "nativeSrc": "39415:14:23", "nodeType": "YulIdentifier", - "src": "39415:14:10" + "src": "39415:14:23" }, - "nativeSrc": "39415:62:10", + "nativeSrc": "39415:62:23", "nodeType": "YulFunctionCall", - "src": "39415:62:10" + "src": "39415:62:23" }, - "nativeSrc": "39415:62:10", + "nativeSrc": "39415:62:23", "nodeType": "YulExpressionStatement", - "src": "39415:62:10" + "src": "39415:62:23" }, { - "nativeSrc": "39494:60:10", + "nativeSrc": "39494:60:23", "nodeType": "YulAssignment", - "src": "39494:60:10", + "src": "39494:60:23", "value": { "arguments": [ { "arguments": [ { "name": "n", - "nativeSrc": "39506:1:10", + "nativeSrc": "39506:1:23", "nodeType": "YulIdentifier", - "src": "39506:1:10" + "src": "39506:1:23" }, { "name": "start", - "nativeSrc": "39509:5:10", + "nativeSrc": "39509:5:23", "nodeType": "YulIdentifier", - "src": "39509:5:10" + "src": "39509:5:23" } ], "functionName": { "name": "gt", - "nativeSrc": "39503:2:10", + "nativeSrc": "39503:2:23", "nodeType": "YulIdentifier", - "src": "39503:2:10" + "src": "39503:2:23" }, - "nativeSrc": "39503:12:10", + "nativeSrc": "39503:12:23", "nodeType": "YulFunctionCall", - "src": "39503:12:10" + "src": "39503:12:23" }, { "arguments": [ { "name": "d", - "nativeSrc": "39521:1:10", + "nativeSrc": "39521:1:23", "nodeType": "YulIdentifier", - "src": "39521:1:10" + "src": "39521:1:23" }, { "arguments": [ @@ -100021,91 +118996,91 @@ "arguments": [ { "name": "end", - "nativeSrc": "39531:3:10", + "nativeSrc": "39531:3:23", "nodeType": "YulIdentifier", - "src": "39531:3:10" + "src": "39531:3:23" }, { "name": "n", - "nativeSrc": "39536:1:10", + "nativeSrc": "39536:1:23", "nodeType": "YulIdentifier", - "src": "39536:1:10" + "src": "39536:1:23" } ], "functionName": { "name": "gt", - "nativeSrc": "39528:2:10", + "nativeSrc": "39528:2:23", "nodeType": "YulIdentifier", - "src": "39528:2:10" + "src": "39528:2:23" }, - "nativeSrc": "39528:10:10", + "nativeSrc": "39528:10:23", "nodeType": "YulFunctionCall", - "src": "39528:10:10" + "src": "39528:10:23" }, { "arguments": [ { "name": "end", - "nativeSrc": "39544:3:10", + "nativeSrc": "39544:3:23", "nodeType": "YulIdentifier", - "src": "39544:3:10" + "src": "39544:3:23" }, { "name": "n", - "nativeSrc": "39549:1:10", + "nativeSrc": "39549:1:23", "nodeType": "YulIdentifier", - "src": "39549:1:10" + "src": "39549:1:23" } ], "functionName": { "name": "sub", - "nativeSrc": "39540:3:10", + "nativeSrc": "39540:3:23", "nodeType": "YulIdentifier", - "src": "39540:3:10" + "src": "39540:3:23" }, - "nativeSrc": "39540:11:10", + "nativeSrc": "39540:11:23", "nodeType": "YulFunctionCall", - "src": "39540:11:10" + "src": "39540:11:23" } ], "functionName": { "name": "mul", - "nativeSrc": "39524:3:10", + "nativeSrc": "39524:3:23", "nodeType": "YulIdentifier", - "src": "39524:3:10" + "src": "39524:3:23" }, - "nativeSrc": "39524:28:10", + "nativeSrc": "39524:28:23", "nodeType": "YulFunctionCall", - "src": "39524:28:10" + "src": "39524:28:23" } ], "functionName": { "name": "sub", - "nativeSrc": "39517:3:10", + "nativeSrc": "39517:3:23", "nodeType": "YulIdentifier", - "src": "39517:3:10" + "src": "39517:3:23" }, - "nativeSrc": "39517:36:10", + "nativeSrc": "39517:36:23", "nodeType": "YulFunctionCall", - "src": "39517:36:10" + "src": "39517:36:23" } ], "functionName": { "name": "mul", - "nativeSrc": "39499:3:10", + "nativeSrc": "39499:3:23", "nodeType": "YulIdentifier", - "src": "39499:3:10" + "src": "39499:3:23" }, - "nativeSrc": "39499:55:10", + "nativeSrc": "39499:55:23", "nodeType": "YulFunctionCall", - "src": "39499:55:10" + "src": "39499:55:23" }, "variableNames": [ { "name": "d", - "nativeSrc": "39494:1:10", + "nativeSrc": "39494:1:23", "nodeType": "YulIdentifier", - "src": "39494:1:10" + "src": "39494:1:23" } ] } @@ -100117,9 +119092,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "39311:4:10", + "nativeSrc": "39311:4:23", "nodeType": "YulLiteral", - "src": "39311:4:10", + "src": "39311:4:23", "type": "", "value": "0xff" }, @@ -100129,93 +119104,93 @@ "arguments": [ { "name": "args", - "nativeSrc": "39327:4:10", + "nativeSrc": "39327:4:23", "nodeType": "YulIdentifier", - "src": "39327:4:10" + "src": "39327:4:23" }, { "name": "d", - "nativeSrc": "39333:1:10", + "nativeSrc": "39333:1:23", "nodeType": "YulIdentifier", - "src": "39333:1:10" + "src": "39333:1:23" } ], "functionName": { "name": "add", - "nativeSrc": "39323:3:10", + "nativeSrc": "39323:3:23", "nodeType": "YulIdentifier", - "src": "39323:3:10" + "src": "39323:3:23" }, - "nativeSrc": "39323:12:10", + "nativeSrc": "39323:12:23", "nodeType": "YulFunctionCall", - "src": "39323:12:10" + "src": "39323:12:23" } ], "functionName": { "name": "mload", - "nativeSrc": "39317:5:10", + "nativeSrc": "39317:5:23", "nodeType": "YulIdentifier", - "src": "39317:5:10" + "src": "39317:5:23" }, - "nativeSrc": "39317:19:10", + "nativeSrc": "39317:19:23", "nodeType": "YulFunctionCall", - "src": "39317:19:10" + "src": "39317:19:23" } ], "functionName": { "name": "and", - "nativeSrc": "39307:3:10", + "nativeSrc": "39307:3:23", "nodeType": "YulIdentifier", - "src": "39307:3:10" + "src": "39307:3:23" }, - "nativeSrc": "39307:30:10", + "nativeSrc": "39307:30:23", "nodeType": "YulFunctionCall", - "src": "39307:30:10" + "src": "39307:30:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "39300:6:10", + "nativeSrc": "39300:6:23", "nodeType": "YulIdentifier", - "src": "39300:6:10" + "src": "39300:6:23" }, - "nativeSrc": "39300:38:10", + "nativeSrc": "39300:38:23", "nodeType": "YulFunctionCall", - "src": "39300:38:10" + "src": "39300:38:23" }, - "nativeSrc": "39297:271:10", + "nativeSrc": "39297:271:23", "nodeType": "YulIf", - "src": "39297:271:10" + "src": "39297:271:23" }, { "expression": { "arguments": [ { "name": "args", - "nativeSrc": "39588:4:10", + "nativeSrc": "39588:4:23", "nodeType": "YulIdentifier", - "src": "39588:4:10" + "src": "39588:4:23" }, { "name": "d", - "nativeSrc": "39594:1:10", + "nativeSrc": "39594:1:23", "nodeType": "YulIdentifier", - "src": "39594:1:10" + "src": "39594:1:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "39581:6:10", + "nativeSrc": "39581:6:23", "nodeType": "YulIdentifier", - "src": "39581:6:10" + "src": "39581:6:23" }, - "nativeSrc": "39581:15:10", + "nativeSrc": "39581:15:23", "nodeType": "YulFunctionCall", - "src": "39581:15:10" + "src": "39581:15:23" }, - "nativeSrc": "39581:15:10", + "nativeSrc": "39581:15:23", "nodeType": "YulExpressionStatement", - "src": "39581:15:10" + "src": "39581:15:23" }, { "expression": { @@ -100226,77 +119201,77 @@ "arguments": [ { "name": "args", - "nativeSrc": "39645:4:10", + "nativeSrc": "39645:4:23", "nodeType": "YulIdentifier", - "src": "39645:4:10" + "src": "39645:4:23" }, { "kind": "number", - "nativeSrc": "39651:4:10", + "nativeSrc": "39651:4:23", "nodeType": "YulLiteral", - "src": "39651:4:10", + "src": "39651:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "39641:3:10", + "nativeSrc": "39641:3:23", "nodeType": "YulIdentifier", - "src": "39641:3:10" + "src": "39641:3:23" }, - "nativeSrc": "39641:15:10", + "nativeSrc": "39641:15:23", "nodeType": "YulFunctionCall", - "src": "39641:15:10" + "src": "39641:15:23" }, { "name": "d", - "nativeSrc": "39658:1:10", + "nativeSrc": "39658:1:23", "nodeType": "YulIdentifier", - "src": "39658:1:10" + "src": "39658:1:23" } ], "functionName": { "name": "add", - "nativeSrc": "39637:3:10", + "nativeSrc": "39637:3:23", "nodeType": "YulIdentifier", - "src": "39637:3:10" + "src": "39637:3:23" }, - "nativeSrc": "39637:23:10", + "nativeSrc": "39637:23:23", "nodeType": "YulFunctionCall", - "src": "39637:23:10" + "src": "39637:23:23" }, { "kind": "number", - "nativeSrc": "39662:1:10", + "nativeSrc": "39662:1:23", "nodeType": "YulLiteral", - "src": "39662:1:10", + "src": "39662:1:23", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "39630:6:10", + "nativeSrc": "39630:6:23", "nodeType": "YulIdentifier", - "src": "39630:6:10" + "src": "39630:6:23" }, - "nativeSrc": "39630:34:10", + "nativeSrc": "39630:34:23", "nodeType": "YulFunctionCall", - "src": "39630:34:10" + "src": "39630:34:23" }, - "nativeSrc": "39630:34:10", + "nativeSrc": "39630:34:23", "nodeType": "YulExpressionStatement", - "src": "39630:34:10" + "src": "39630:34:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "39721:4:10", + "nativeSrc": "39721:4:23", "nodeType": "YulLiteral", - "src": "39721:4:10", + "src": "39721:4:23", "type": "", "value": "0x40" }, @@ -100306,60 +119281,60 @@ "arguments": [ { "name": "args", - "nativeSrc": "39735:4:10", + "nativeSrc": "39735:4:23", "nodeType": "YulIdentifier", - "src": "39735:4:10" + "src": "39735:4:23" }, { "kind": "number", - "nativeSrc": "39741:4:10", + "nativeSrc": "39741:4:23", "nodeType": "YulLiteral", - "src": "39741:4:10", + "src": "39741:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "add", - "nativeSrc": "39731:3:10", + "nativeSrc": "39731:3:23", "nodeType": "YulIdentifier", - "src": "39731:3:10" + "src": "39731:3:23" }, - "nativeSrc": "39731:15:10", + "nativeSrc": "39731:15:23", "nodeType": "YulFunctionCall", - "src": "39731:15:10" + "src": "39731:15:23" }, { "name": "d", - "nativeSrc": "39748:1:10", + "nativeSrc": "39748:1:23", "nodeType": "YulIdentifier", - "src": "39748:1:10" + "src": "39748:1:23" } ], "functionName": { "name": "add", - "nativeSrc": "39727:3:10", + "nativeSrc": "39727:3:23", "nodeType": "YulIdentifier", - "src": "39727:3:10" + "src": "39727:3:23" }, - "nativeSrc": "39727:23:10", + "nativeSrc": "39727:23:23", "nodeType": "YulFunctionCall", - "src": "39727:23:10" + "src": "39727:23:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "39714:6:10", + "nativeSrc": "39714:6:23", "nodeType": "YulIdentifier", - "src": "39714:6:10" + "src": "39714:6:23" }, - "nativeSrc": "39714:37:10", + "nativeSrc": "39714:37:23", "nodeType": "YulFunctionCall", - "src": "39714:37:10" + "src": "39714:37:23" }, - "nativeSrc": "39714:37:10", + "nativeSrc": "39714:37:23", "nodeType": "YulExpressionStatement", - "src": "39714:37:10" + "src": "39714:37:23" } ] }, @@ -100367,164 +119342,164 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3531, + "declaration": 5137, "isOffset": false, "isSlot": false, - "src": "39078:4:10", + "src": "39078:4:23", "valueSize": 1 }, { - "declaration": 3531, + "declaration": 5137, "isOffset": false, "isSlot": false, - "src": "39247:4:10", + "src": "39247:4:23", "valueSize": 1 }, { - "declaration": 3531, + "declaration": 5137, "isOffset": false, "isSlot": false, - "src": "39327:4:10", + "src": "39327:4:23", "valueSize": 1 }, { - "declaration": 3531, + "declaration": 5137, "isOffset": false, "isSlot": false, - "src": "39588:4:10", + "src": "39588:4:23", "valueSize": 1 }, { - "declaration": 3531, + "declaration": 5137, "isOffset": false, "isSlot": false, - "src": "39645:4:10", + "src": "39645:4:23", "valueSize": 1 }, { - "declaration": 3531, + "declaration": 5137, "isOffset": false, "isSlot": false, - "src": "39735:4:10", + "src": "39735:4:23", "valueSize": 1 }, { - "declaration": 3528, + "declaration": 5134, "isOffset": false, "isSlot": false, - "src": "39123:3:10", + "src": "39123:3:23", "valueSize": 1 }, { - "declaration": 3528, + "declaration": 5134, "isOffset": false, "isSlot": false, - "src": "39139:3:10", + "src": "39139:3:23", "valueSize": 1 }, { - "declaration": 3528, + "declaration": 5134, "isOffset": false, "isSlot": false, - "src": "39184:3:10", + "src": "39184:3:23", "valueSize": 1 }, { - "declaration": 3528, + "declaration": 5134, "isOffset": false, "isSlot": false, - "src": "39207:3:10", + "src": "39207:3:23", "valueSize": 1 }, { - "declaration": 3528, + "declaration": 5134, "isOffset": false, "isSlot": false, - "src": "39531:3:10", + "src": "39531:3:23", "valueSize": 1 }, { - "declaration": 3528, + "declaration": 5134, "isOffset": false, "isSlot": false, - "src": "39544:3:10", + "src": "39544:3:23", "valueSize": 1 }, { - "declaration": 3524, + "declaration": 5130, "isOffset": false, "isSlot": false, - "src": "39237:8:10", + "src": "39237:8:23", "valueSize": 1 }, { - "declaration": 3524, + "declaration": 5130, "isOffset": false, "isSlot": false, - "src": "39382:8:10", + "src": "39382:8:23", "valueSize": 1 }, { - "declaration": 3526, + "declaration": 5132, "isOffset": false, "isSlot": false, - "src": "39189:5:10", + "src": "39189:5:23", "valueSize": 1 }, { - "declaration": 3526, + "declaration": 5132, "isOffset": false, "isSlot": false, - "src": "39200:5:10", + "src": "39200:5:23", "valueSize": 1 }, { - "declaration": 3526, + "declaration": 5132, "isOffset": false, "isSlot": false, - "src": "39257:5:10", + "src": "39257:5:23", "valueSize": 1 }, { - "declaration": 3526, + "declaration": 5132, "isOffset": false, "isSlot": false, - "src": "39509:5:10", + "src": "39509:5:23", "valueSize": 1 } ], - "id": 3533, + "id": 5139, "nodeType": "InlineAssembly", - "src": "39055:726:10" + "src": "39055:726:23" } ] }, "documentation": { - "id": 3522, + "id": 5128, "nodeType": "StructuredDocumentation", - "src": "38501:359:10", + "src": "38501:359:23", "text": "@dev Returns a slice of the immutable arguments on `instance` from `start` to `end`.\n `start` and `end` will be clamped to the range `[0, args.length]`.\n The `instance` MUST be deployed via the clone with immutable args functions.\n Otherwise, the behavior is undefined.\n Out-of-gas reverts if `instance` does not have any code." }, - "id": 3535, + "id": 5141, "implemented": true, "kind": "function", "modifiers": [], "name": "argsOnClone", - "nameLocation": "38874:11:10", + "nameLocation": "38874:11:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3529, + "id": 5135, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3524, + "id": 5130, "mutability": "mutable", "name": "instance", - "nameLocation": "38894:8:10", + "nameLocation": "38894:8:23", "nodeType": "VariableDeclaration", - "scope": 3535, - "src": "38886:16:10", + "scope": 5141, + "src": "38886:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -100532,10 +119507,10 @@ "typeString": "address" }, "typeName": { - "id": 3523, + "id": 5129, "name": "address", "nodeType": "ElementaryTypeName", - "src": "38886:7:10", + "src": "38886:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -100546,13 +119521,13 @@ }, { "constant": false, - "id": 3526, + "id": 5132, "mutability": "mutable", "name": "start", - "nameLocation": "38912:5:10", + "nameLocation": "38912:5:23", "nodeType": "VariableDeclaration", - "scope": 3535, - "src": "38904:13:10", + "scope": 5141, + "src": "38904:13:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -100560,10 +119535,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3525, + "id": 5131, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "38904:7:10", + "src": "38904:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -100573,13 +119548,13 @@ }, { "constant": false, - "id": 3528, + "id": 5134, "mutability": "mutable", "name": "end", - "nameLocation": "38927:3:10", + "nameLocation": "38927:3:23", "nodeType": "VariableDeclaration", - "scope": 3535, - "src": "38919:11:10", + "scope": 5141, + "src": "38919:11:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -100587,10 +119562,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3527, + "id": 5133, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "38919:7:10", + "src": "38919:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -100599,21 +119574,21 @@ "visibility": "internal" } ], - "src": "38885:46:10" + "src": "38885:46:23" }, "returnParameters": { - "id": 3532, + "id": 5138, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3531, + "id": 5137, "mutability": "mutable", "name": "args", - "nameLocation": "38992:4:10", + "nameLocation": "38992:4:23", "nodeType": "VariableDeclaration", - "scope": 3535, - "src": "38979:17:10", + "scope": 5141, + "src": "38979:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -100621,10 +119596,10 @@ "typeString": "bytes" }, "typeName": { - "id": 3530, + "id": 5136, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "38979:5:10", + "src": "38979:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -100633,34 +119608,34 @@ "visibility": "internal" } ], - "src": "38978:19:10" + "src": "38978:19:23" }, - "scope": 5093, - "src": "38865:922:10", + "scope": 6699, + "src": "38865:922:23", "stateMutability": "view", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3550, + "id": 5156, "nodeType": "Block", - "src": "40397:60:10", + "src": "40397:60:23", "statements": [ { "expression": { - "id": 3548, + "id": 5154, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 3543, + "id": 5149, "name": "instance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3541, - "src": "40407:8:10", + "referencedDeclaration": 5147, + "src": "40407:8:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -100672,14 +119647,14 @@ "arguments": [ { "hexValue": "30", - "id": 3545, + "id": 5151, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "40432:1:10", + "src": "40432:1:23", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -100687,12 +119662,12 @@ "value": "0" }, { - "id": 3546, + "id": 5152, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3538, - "src": "40435:14:10", + "referencedDeclaration": 5144, + "src": "40435:14:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -100710,23 +119685,23 @@ "typeString": "address" } ], - "id": 3544, + "id": 5150, "name": "deployERC1967", "nodeType": "Identifier", "overloadedDeclarations": [ - 3551, - 3563, - 3697, - 3711 + 5157, + 5169, + 5303, + 5317 ], - "referencedDeclaration": 3563, - "src": "40418:13:10", + "referencedDeclaration": 5169, + "src": "40418:13:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$returns$_t_address_$", "typeString": "function (uint256,address) returns (address)" } }, - "id": 3547, + "id": 5153, "isConstant": false, "isLValue": false, "isPure": false, @@ -100735,51 +119710,51 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "40418:32:10", + "src": "40418:32:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "40407:43:10", + "src": "40407:43:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 3549, + "id": 5155, "nodeType": "ExpressionStatement", - "src": "40407:43:10" + "src": "40407:43:23" } ] }, "documentation": { - "id": 3536, + "id": 5142, "nodeType": "StructuredDocumentation", - "src": "40246:63:10", + "src": "40246:63:23", "text": "@dev Deploys a minimal ERC1967 proxy with `implementation`." }, - "id": 3551, + "id": 5157, "implemented": true, "kind": "function", "modifiers": [], "name": "deployERC1967", - "nameLocation": "40323:13:10", + "nameLocation": "40323:13:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3539, + "id": 5145, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3538, + "id": 5144, "mutability": "mutable", "name": "implementation", - "nameLocation": "40345:14:10", + "nameLocation": "40345:14:23", "nodeType": "VariableDeclaration", - "scope": 3551, - "src": "40337:22:10", + "scope": 5157, + "src": "40337:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -100787,10 +119762,10 @@ "typeString": "address" }, "typeName": { - "id": 3537, + "id": 5143, "name": "address", "nodeType": "ElementaryTypeName", - "src": "40337:7:10", + "src": "40337:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -100800,21 +119775,21 @@ "visibility": "internal" } ], - "src": "40336:24:10" + "src": "40336:24:23" }, "returnParameters": { - "id": 3542, + "id": 5148, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3541, + "id": 5147, "mutability": "mutable", "name": "instance", - "nameLocation": "40387:8:10", + "nameLocation": "40387:8:23", "nodeType": "VariableDeclaration", - "scope": 3551, - "src": "40379:16:10", + "scope": 5157, + "src": "40379:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -100822,10 +119797,10 @@ "typeString": "address" }, "typeName": { - "id": 3540, + "id": 5146, "name": "address", "nodeType": "ElementaryTypeName", - "src": "40379:7:10", + "src": "40379:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -100835,57 +119810,57 @@ "visibility": "internal" } ], - "src": "40378:18:10" + "src": "40378:18:23" }, - "scope": 5093, - "src": "40314:143:10", + "scope": 6699, + "src": "40314:143:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3562, + "id": 5168, "nodeType": "Block", - "src": "40697:6584:10", + "src": "40697:6584:23", "statements": [ { "AST": { - "nativeSrc": "40759:6516:10", + "nativeSrc": "40759:6516:23", "nodeType": "YulBlock", - "src": "40759:6516:10", + "src": "40759:6516:23", "statements": [ { - "nativeSrc": "46587:20:10", + "nativeSrc": "46587:20:23", "nodeType": "YulVariableDeclaration", - "src": "46587:20:10", + "src": "46587:20:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "46602:4:10", + "nativeSrc": "46602:4:23", "nodeType": "YulLiteral", - "src": "46602:4:10", + "src": "46602:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "46596:5:10", + "nativeSrc": "46596:5:23", "nodeType": "YulIdentifier", - "src": "46596:5:10" + "src": "46596:5:23" }, - "nativeSrc": "46596:11:10", + "nativeSrc": "46596:11:23", "nodeType": "YulFunctionCall", - "src": "46596:11:10" + "src": "46596:11:23" }, "variables": [ { "name": "m", - "nativeSrc": "46591:1:10", + "nativeSrc": "46591:1:23", "nodeType": "YulTypedName", - "src": "46591:1:10", + "src": "46591:1:23", "type": "" } ] @@ -100895,290 +119870,290 @@ "arguments": [ { "kind": "number", - "nativeSrc": "46661:4:10", + "nativeSrc": "46661:4:23", "nodeType": "YulLiteral", - "src": "46661:4:10", + "src": "46661:4:23", "type": "", "value": "0x60" }, { "kind": "number", - "nativeSrc": "46667:66:10", + "nativeSrc": "46667:66:23", "nodeType": "YulLiteral", - "src": "46667:66:10", + "src": "46667:66:23", "type": "", "value": "0xcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f3" } ], "functionName": { "name": "mstore", - "nativeSrc": "46654:6:10", + "nativeSrc": "46654:6:23", "nodeType": "YulIdentifier", - "src": "46654:6:10" + "src": "46654:6:23" }, - "nativeSrc": "46654:80:10", + "nativeSrc": "46654:80:23", "nodeType": "YulFunctionCall", - "src": "46654:80:10" + "src": "46654:80:23" }, - "nativeSrc": "46654:80:10", + "nativeSrc": "46654:80:23", "nodeType": "YulExpressionStatement", - "src": "46654:80:10" + "src": "46654:80:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "46754:4:10", + "nativeSrc": "46754:4:23", "nodeType": "YulLiteral", - "src": "46754:4:10", + "src": "46754:4:23", "type": "", "value": "0x40" }, { "kind": "number", - "nativeSrc": "46760:66:10", + "nativeSrc": "46760:66:23", "nodeType": "YulLiteral", - "src": "46760:66:10", + "src": "46760:66:23", "type": "", "value": "0x5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e2076" } ], "functionName": { "name": "mstore", - "nativeSrc": "46747:6:10", + "nativeSrc": "46747:6:23", "nodeType": "YulIdentifier", - "src": "46747:6:10" + "src": "46747:6:23" }, - "nativeSrc": "46747:80:10", + "nativeSrc": "46747:80:23", "nodeType": "YulFunctionCall", - "src": "46747:80:10" + "src": "46747:80:23" }, - "nativeSrc": "46747:80:10", + "nativeSrc": "46747:80:23", "nodeType": "YulExpressionStatement", - "src": "46747:80:10" + "src": "46747:80:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "46847:4:10", + "nativeSrc": "46847:4:23", "nodeType": "YulLiteral", - "src": "46847:4:10", + "src": "46847:4:23", "type": "", "value": "0x20" }, { "kind": "number", - "nativeSrc": "46853:6:10", + "nativeSrc": "46853:6:23", "nodeType": "YulLiteral", - "src": "46853:6:10", + "src": "46853:6:23", "type": "", "value": "0x6009" } ], "functionName": { "name": "mstore", - "nativeSrc": "46840:6:10", + "nativeSrc": "46840:6:23", "nodeType": "YulIdentifier", - "src": "46840:6:10" + "src": "46840:6:23" }, - "nativeSrc": "46840:20:10", + "nativeSrc": "46840:20:23", "nodeType": "YulFunctionCall", - "src": "46840:20:10" + "src": "46840:20:23" }, - "nativeSrc": "46840:20:10", + "nativeSrc": "46840:20:23", "nodeType": "YulExpressionStatement", - "src": "46840:20:10" + "src": "46840:20:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "46880:4:10", + "nativeSrc": "46880:4:23", "nodeType": "YulLiteral", - "src": "46880:4:10", + "src": "46880:4:23", "type": "", "value": "0x1e" }, { "name": "implementation", - "nativeSrc": "46886:14:10", + "nativeSrc": "46886:14:23", "nodeType": "YulIdentifier", - "src": "46886:14:10" + "src": "46886:14:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "46873:6:10", + "nativeSrc": "46873:6:23", "nodeType": "YulIdentifier", - "src": "46873:6:10" + "src": "46873:6:23" }, - "nativeSrc": "46873:28:10", + "nativeSrc": "46873:28:23", "nodeType": "YulFunctionCall", - "src": "46873:28:10" + "src": "46873:28:23" }, - "nativeSrc": "46873:28:10", + "nativeSrc": "46873:28:23", "nodeType": "YulExpressionStatement", - "src": "46873:28:10" + "src": "46873:28:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "46921:4:10", + "nativeSrc": "46921:4:23", "nodeType": "YulLiteral", - "src": "46921:4:10", + "src": "46921:4:23", "type": "", "value": "0x0a" }, { "kind": "number", - "nativeSrc": "46927:20:10", + "nativeSrc": "46927:20:23", "nodeType": "YulLiteral", - "src": "46927:20:10", + "src": "46927:20:23", "type": "", "value": "0x603d3d8160223d3973" } ], "functionName": { "name": "mstore", - "nativeSrc": "46914:6:10", + "nativeSrc": "46914:6:23", "nodeType": "YulIdentifier", - "src": "46914:6:10" + "src": "46914:6:23" }, - "nativeSrc": "46914:34:10", + "nativeSrc": "46914:34:23", "nodeType": "YulFunctionCall", - "src": "46914:34:10" + "src": "46914:34:23" }, - "nativeSrc": "46914:34:10", + "nativeSrc": "46914:34:23", "nodeType": "YulExpressionStatement", - "src": "46914:34:10" + "src": "46914:34:23" }, { - "nativeSrc": "46961:37:10", + "nativeSrc": "46961:37:23", "nodeType": "YulAssignment", - "src": "46961:37:10", + "src": "46961:37:23", "value": { "arguments": [ { "name": "value", - "nativeSrc": "46980:5:10", + "nativeSrc": "46980:5:23", "nodeType": "YulIdentifier", - "src": "46980:5:10" + "src": "46980:5:23" }, { "kind": "number", - "nativeSrc": "46987:4:10", + "nativeSrc": "46987:4:23", "nodeType": "YulLiteral", - "src": "46987:4:10", + "src": "46987:4:23", "type": "", "value": "0x21" }, { "kind": "number", - "nativeSrc": "46993:4:10", + "nativeSrc": "46993:4:23", "nodeType": "YulLiteral", - "src": "46993:4:10", + "src": "46993:4:23", "type": "", "value": "0x5f" } ], "functionName": { "name": "create", - "nativeSrc": "46973:6:10", + "nativeSrc": "46973:6:23", "nodeType": "YulIdentifier", - "src": "46973:6:10" + "src": "46973:6:23" }, - "nativeSrc": "46973:25:10", + "nativeSrc": "46973:25:23", "nodeType": "YulFunctionCall", - "src": "46973:25:10" + "src": "46973:25:23" }, "variableNames": [ { "name": "instance", - "nativeSrc": "46961:8:10", + "nativeSrc": "46961:8:23", "nodeType": "YulIdentifier", - "src": "46961:8:10" + "src": "46961:8:23" } ] }, { "body": { - "nativeSrc": "47031:116:10", + "nativeSrc": "47031:116:23", "nodeType": "YulBlock", - "src": "47031:116:10", + "src": "47031:116:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "47056:4:10", + "nativeSrc": "47056:4:23", "nodeType": "YulLiteral", - "src": "47056:4:10", + "src": "47056:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "47062:10:10", + "nativeSrc": "47062:10:23", "nodeType": "YulLiteral", - "src": "47062:10:10", + "src": "47062:10:23", "type": "", "value": "0x30116425" } ], "functionName": { "name": "mstore", - "nativeSrc": "47049:6:10", + "nativeSrc": "47049:6:23", "nodeType": "YulIdentifier", - "src": "47049:6:10" + "src": "47049:6:23" }, - "nativeSrc": "47049:24:10", + "nativeSrc": "47049:24:23", "nodeType": "YulFunctionCall", - "src": "47049:24:10" + "src": "47049:24:23" }, - "nativeSrc": "47049:24:10", + "nativeSrc": "47049:24:23", "nodeType": "YulExpressionStatement", - "src": "47049:24:10" + "src": "47049:24:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "47122:4:10", + "nativeSrc": "47122:4:23", "nodeType": "YulLiteral", - "src": "47122:4:10", + "src": "47122:4:23", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "47128:4:10", + "nativeSrc": "47128:4:23", "nodeType": "YulLiteral", - "src": "47128:4:10", + "src": "47128:4:23", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "47115:6:10", + "nativeSrc": "47115:6:23", "nodeType": "YulIdentifier", - "src": "47115:6:10" + "src": "47115:6:23" }, - "nativeSrc": "47115:18:10", + "nativeSrc": "47115:18:23", "nodeType": "YulFunctionCall", - "src": "47115:18:10" + "src": "47115:18:23" }, - "nativeSrc": "47115:18:10", + "nativeSrc": "47115:18:23", "nodeType": "YulExpressionStatement", - "src": "47115:18:10" + "src": "47115:18:23" } ] }, @@ -101186,90 +120161,90 @@ "arguments": [ { "name": "instance", - "nativeSrc": "47021:8:10", + "nativeSrc": "47021:8:23", "nodeType": "YulIdentifier", - "src": "47021:8:10" + "src": "47021:8:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "47014:6:10", + "nativeSrc": "47014:6:23", "nodeType": "YulIdentifier", - "src": "47014:6:10" + "src": "47014:6:23" }, - "nativeSrc": "47014:16:10", + "nativeSrc": "47014:16:23", "nodeType": "YulFunctionCall", - "src": "47014:16:10" + "src": "47014:16:23" }, - "nativeSrc": "47011:136:10", + "nativeSrc": "47011:136:23", "nodeType": "YulIf", - "src": "47011:136:10" + "src": "47011:136:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "47167:4:10", + "nativeSrc": "47167:4:23", "nodeType": "YulLiteral", - "src": "47167:4:10", + "src": "47167:4:23", "type": "", "value": "0x40" }, { "name": "m", - "nativeSrc": "47173:1:10", + "nativeSrc": "47173:1:23", "nodeType": "YulIdentifier", - "src": "47173:1:10" + "src": "47173:1:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "47160:6:10", + "nativeSrc": "47160:6:23", "nodeType": "YulIdentifier", - "src": "47160:6:10" + "src": "47160:6:23" }, - "nativeSrc": "47160:15:10", + "nativeSrc": "47160:15:23", "nodeType": "YulFunctionCall", - "src": "47160:15:10" + "src": "47160:15:23" }, - "nativeSrc": "47160:15:10", + "nativeSrc": "47160:15:23", "nodeType": "YulExpressionStatement", - "src": "47160:15:10" + "src": "47160:15:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "47231:4:10", + "nativeSrc": "47231:4:23", "nodeType": "YulLiteral", - "src": "47231:4:10", + "src": "47231:4:23", "type": "", "value": "0x60" }, { "kind": "number", - "nativeSrc": "47237:1:10", + "nativeSrc": "47237:1:23", "nodeType": "YulLiteral", - "src": "47237:1:10", + "src": "47237:1:23", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "47224:6:10", + "nativeSrc": "47224:6:23", "nodeType": "YulIdentifier", - "src": "47224:6:10" + "src": "47224:6:23" }, - "nativeSrc": "47224:15:10", + "nativeSrc": "47224:15:23", "nodeType": "YulFunctionCall", - "src": "47224:15:10" + "src": "47224:15:23" }, - "nativeSrc": "47224:15:10", + "nativeSrc": "47224:15:23", "nodeType": "YulExpressionStatement", - "src": "47224:15:10" + "src": "47224:15:23" } ] }, @@ -101277,66 +120252,66 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3556, + "declaration": 5162, "isOffset": false, "isSlot": false, - "src": "46886:14:10", + "src": "46886:14:23", "valueSize": 1 }, { - "declaration": 3559, + "declaration": 5165, "isOffset": false, "isSlot": false, - "src": "46961:8:10", + "src": "46961:8:23", "valueSize": 1 }, { - "declaration": 3559, + "declaration": 5165, "isOffset": false, "isSlot": false, - "src": "47021:8:10", + "src": "47021:8:23", "valueSize": 1 }, { - "declaration": 3554, + "declaration": 5160, "isOffset": false, "isSlot": false, - "src": "46980:5:10", + "src": "46980:5:23", "valueSize": 1 } ], - "id": 3561, + "id": 5167, "nodeType": "InlineAssembly", - "src": "40750:6525:10" + "src": "40750:6525:23" } ] }, "documentation": { - "id": 3552, + "id": 5158, "nodeType": "StructuredDocumentation", - "src": "40463:111:10", + "src": "40463:111:23", "text": "@dev Deploys a minimal ERC1967 proxy with `implementation`.\n Deposits `value` ETH during deployment." }, - "id": 3563, + "id": 5169, "implemented": true, "kind": "function", "modifiers": [], "name": "deployERC1967", - "nameLocation": "40588:13:10", + "nameLocation": "40588:13:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3557, + "id": 5163, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3554, + "id": 5160, "mutability": "mutable", "name": "value", - "nameLocation": "40610:5:10", + "nameLocation": "40610:5:23", "nodeType": "VariableDeclaration", - "scope": 3563, - "src": "40602:13:10", + "scope": 5169, + "src": "40602:13:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -101344,10 +120319,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3553, + "id": 5159, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "40602:7:10", + "src": "40602:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -101357,13 +120332,13 @@ }, { "constant": false, - "id": 3556, + "id": 5162, "mutability": "mutable", "name": "implementation", - "nameLocation": "40625:14:10", + "nameLocation": "40625:14:23", "nodeType": "VariableDeclaration", - "scope": 3563, - "src": "40617:22:10", + "scope": 5169, + "src": "40617:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -101371,10 +120346,10 @@ "typeString": "address" }, "typeName": { - "id": 3555, + "id": 5161, "name": "address", "nodeType": "ElementaryTypeName", - "src": "40617:7:10", + "src": "40617:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -101384,21 +120359,21 @@ "visibility": "internal" } ], - "src": "40601:39:10" + "src": "40601:39:23" }, "returnParameters": { - "id": 3560, + "id": 5166, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3559, + "id": 5165, "mutability": "mutable", "name": "instance", - "nameLocation": "40683:8:10", + "nameLocation": "40683:8:23", "nodeType": "VariableDeclaration", - "scope": 3563, - "src": "40675:16:10", + "scope": 5169, + "src": "40675:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -101406,10 +120381,10 @@ "typeString": "address" }, "typeName": { - "id": 3558, + "id": 5164, "name": "address", "nodeType": "ElementaryTypeName", - "src": "40675:7:10", + "src": "40675:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -101419,34 +120394,34 @@ "visibility": "internal" } ], - "src": "40674:18:10" + "src": "40674:18:23" }, - "scope": 5093, - "src": "40579:6702:10", + "scope": 6699, + "src": "40579:6702:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3581, + "id": 5187, "nodeType": "Block", - "src": "47510:79:10", + "src": "47510:79:23", "statements": [ { "expression": { - "id": 3579, + "id": 5185, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 3573, + "id": 5179, "name": "instance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3571, - "src": "47520:8:10", + "referencedDeclaration": 5177, + "src": "47520:8:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -101458,14 +120433,14 @@ "arguments": [ { "hexValue": "30", - "id": 3575, + "id": 5181, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "47558:1:10", + "src": "47558:1:23", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -101473,24 +120448,24 @@ "value": "0" }, { - "id": 3576, + "id": 5182, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3566, - "src": "47561:14:10", + "referencedDeclaration": 5172, + "src": "47561:14:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 3577, + "id": 5183, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3568, - "src": "47577:4:10", + "referencedDeclaration": 5174, + "src": "47577:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -101512,23 +120487,23 @@ "typeString": "bytes32" } ], - "id": 3574, + "id": 5180, "name": "deployDeterministicERC1967", "nodeType": "Identifier", "overloadedDeclarations": [ - 3582, - 3596, - 3733, - 3749 + 5188, + 5202, + 5339, + 5355 ], - "referencedDeclaration": 3596, - "src": "47531:26:10", + "referencedDeclaration": 5202, + "src": "47531:26:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes32_$returns$_t_address_$", "typeString": "function (uint256,address,bytes32) returns (address)" } }, - "id": 3578, + "id": 5184, "isConstant": false, "isLValue": false, "isPure": false, @@ -101537,51 +120512,51 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "47531:51:10", + "src": "47531:51:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "47520:62:10", + "src": "47520:62:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 3580, + "id": 5186, "nodeType": "ExpressionStatement", - "src": "47520:62:10" + "src": "47520:62:23" } ] }, "documentation": { - "id": 3564, + "id": 5170, "nodeType": "StructuredDocumentation", - "src": "47287:88:10", + "src": "47287:88:23", "text": "@dev Deploys a deterministic minimal ERC1967 proxy with `implementation` and `salt`." }, - "id": 3582, + "id": 5188, "implemented": true, "kind": "function", "modifiers": [], "name": "deployDeterministicERC1967", - "nameLocation": "47389:26:10", + "nameLocation": "47389:26:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3569, + "id": 5175, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3566, + "id": 5172, "mutability": "mutable", "name": "implementation", - "nameLocation": "47424:14:10", + "nameLocation": "47424:14:23", "nodeType": "VariableDeclaration", - "scope": 3582, - "src": "47416:22:10", + "scope": 5188, + "src": "47416:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -101589,10 +120564,10 @@ "typeString": "address" }, "typeName": { - "id": 3565, + "id": 5171, "name": "address", "nodeType": "ElementaryTypeName", - "src": "47416:7:10", + "src": "47416:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -101603,13 +120578,13 @@ }, { "constant": false, - "id": 3568, + "id": 5174, "mutability": "mutable", "name": "salt", - "nameLocation": "47448:4:10", + "nameLocation": "47448:4:23", "nodeType": "VariableDeclaration", - "scope": 3582, - "src": "47440:12:10", + "scope": 5188, + "src": "47440:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -101617,10 +120592,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 3567, + "id": 5173, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "47440:7:10", + "src": "47440:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -101629,21 +120604,21 @@ "visibility": "internal" } ], - "src": "47415:38:10" + "src": "47415:38:23" }, "returnParameters": { - "id": 3572, + "id": 5178, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3571, + "id": 5177, "mutability": "mutable", "name": "instance", - "nameLocation": "47496:8:10", + "nameLocation": "47496:8:23", "nodeType": "VariableDeclaration", - "scope": 3582, - "src": "47488:16:10", + "scope": 5188, + "src": "47488:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -101651,10 +120626,10 @@ "typeString": "address" }, "typeName": { - "id": 3570, + "id": 5176, "name": "address", "nodeType": "ElementaryTypeName", - "src": "47488:7:10", + "src": "47488:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -101664,57 +120639,57 @@ "visibility": "internal" } ], - "src": "47487:18:10" + "src": "47487:18:23" }, - "scope": 5093, - "src": "47380:209:10", + "scope": 6699, + "src": "47380:209:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3595, + "id": 5201, "nodeType": "Block", - "src": "47881:777:10", + "src": "47881:777:23", "statements": [ { "AST": { - "nativeSrc": "47943:709:10", + "nativeSrc": "47943:709:23", "nodeType": "YulBlock", - "src": "47943:709:10", + "src": "47943:709:23", "statements": [ { - "nativeSrc": "47957:20:10", + "nativeSrc": "47957:20:23", "nodeType": "YulVariableDeclaration", - "src": "47957:20:10", + "src": "47957:20:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "47972:4:10", + "nativeSrc": "47972:4:23", "nodeType": "YulLiteral", - "src": "47972:4:10", + "src": "47972:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "47966:5:10", + "nativeSrc": "47966:5:23", "nodeType": "YulIdentifier", - "src": "47966:5:10" + "src": "47966:5:23" }, - "nativeSrc": "47966:11:10", + "nativeSrc": "47966:11:23", "nodeType": "YulFunctionCall", - "src": "47966:11:10" + "src": "47966:11:23" }, "variables": [ { "name": "m", - "nativeSrc": "47961:1:10", + "nativeSrc": "47961:1:23", "nodeType": "YulTypedName", - "src": "47961:1:10", + "src": "47961:1:23", "type": "" } ] @@ -101724,296 +120699,296 @@ "arguments": [ { "kind": "number", - "nativeSrc": "48031:4:10", + "nativeSrc": "48031:4:23", "nodeType": "YulLiteral", - "src": "48031:4:10", + "src": "48031:4:23", "type": "", "value": "0x60" }, { "kind": "number", - "nativeSrc": "48037:66:10", + "nativeSrc": "48037:66:23", "nodeType": "YulLiteral", - "src": "48037:66:10", + "src": "48037:66:23", "type": "", "value": "0xcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f3" } ], "functionName": { "name": "mstore", - "nativeSrc": "48024:6:10", + "nativeSrc": "48024:6:23", "nodeType": "YulIdentifier", - "src": "48024:6:10" + "src": "48024:6:23" }, - "nativeSrc": "48024:80:10", + "nativeSrc": "48024:80:23", "nodeType": "YulFunctionCall", - "src": "48024:80:10" + "src": "48024:80:23" }, - "nativeSrc": "48024:80:10", + "nativeSrc": "48024:80:23", "nodeType": "YulExpressionStatement", - "src": "48024:80:10" + "src": "48024:80:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "48124:4:10", + "nativeSrc": "48124:4:23", "nodeType": "YulLiteral", - "src": "48124:4:10", + "src": "48124:4:23", "type": "", "value": "0x40" }, { "kind": "number", - "nativeSrc": "48130:66:10", + "nativeSrc": "48130:66:23", "nodeType": "YulLiteral", - "src": "48130:66:10", + "src": "48130:66:23", "type": "", "value": "0x5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e2076" } ], "functionName": { "name": "mstore", - "nativeSrc": "48117:6:10", + "nativeSrc": "48117:6:23", "nodeType": "YulIdentifier", - "src": "48117:6:10" + "src": "48117:6:23" }, - "nativeSrc": "48117:80:10", + "nativeSrc": "48117:80:23", "nodeType": "YulFunctionCall", - "src": "48117:80:10" + "src": "48117:80:23" }, - "nativeSrc": "48117:80:10", + "nativeSrc": "48117:80:23", "nodeType": "YulExpressionStatement", - "src": "48117:80:10" + "src": "48117:80:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "48217:4:10", + "nativeSrc": "48217:4:23", "nodeType": "YulLiteral", - "src": "48217:4:10", + "src": "48217:4:23", "type": "", "value": "0x20" }, { "kind": "number", - "nativeSrc": "48223:6:10", + "nativeSrc": "48223:6:23", "nodeType": "YulLiteral", - "src": "48223:6:10", + "src": "48223:6:23", "type": "", "value": "0x6009" } ], "functionName": { "name": "mstore", - "nativeSrc": "48210:6:10", + "nativeSrc": "48210:6:23", "nodeType": "YulIdentifier", - "src": "48210:6:10" + "src": "48210:6:23" }, - "nativeSrc": "48210:20:10", + "nativeSrc": "48210:20:23", "nodeType": "YulFunctionCall", - "src": "48210:20:10" + "src": "48210:20:23" }, - "nativeSrc": "48210:20:10", + "nativeSrc": "48210:20:23", "nodeType": "YulExpressionStatement", - "src": "48210:20:10" + "src": "48210:20:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "48250:4:10", + "nativeSrc": "48250:4:23", "nodeType": "YulLiteral", - "src": "48250:4:10", + "src": "48250:4:23", "type": "", "value": "0x1e" }, { "name": "implementation", - "nativeSrc": "48256:14:10", + "nativeSrc": "48256:14:23", "nodeType": "YulIdentifier", - "src": "48256:14:10" + "src": "48256:14:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "48243:6:10", + "nativeSrc": "48243:6:23", "nodeType": "YulIdentifier", - "src": "48243:6:10" + "src": "48243:6:23" }, - "nativeSrc": "48243:28:10", + "nativeSrc": "48243:28:23", "nodeType": "YulFunctionCall", - "src": "48243:28:10" + "src": "48243:28:23" }, - "nativeSrc": "48243:28:10", + "nativeSrc": "48243:28:23", "nodeType": "YulExpressionStatement", - "src": "48243:28:10" + "src": "48243:28:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "48291:4:10", + "nativeSrc": "48291:4:23", "nodeType": "YulLiteral", - "src": "48291:4:10", + "src": "48291:4:23", "type": "", "value": "0x0a" }, { "kind": "number", - "nativeSrc": "48297:20:10", + "nativeSrc": "48297:20:23", "nodeType": "YulLiteral", - "src": "48297:20:10", + "src": "48297:20:23", "type": "", "value": "0x603d3d8160223d3973" } ], "functionName": { "name": "mstore", - "nativeSrc": "48284:6:10", + "nativeSrc": "48284:6:23", "nodeType": "YulIdentifier", - "src": "48284:6:10" + "src": "48284:6:23" }, - "nativeSrc": "48284:34:10", + "nativeSrc": "48284:34:23", "nodeType": "YulFunctionCall", - "src": "48284:34:10" + "src": "48284:34:23" }, - "nativeSrc": "48284:34:10", + "nativeSrc": "48284:34:23", "nodeType": "YulExpressionStatement", - "src": "48284:34:10" + "src": "48284:34:23" }, { - "nativeSrc": "48331:44:10", + "nativeSrc": "48331:44:23", "nodeType": "YulAssignment", - "src": "48331:44:10", + "src": "48331:44:23", "value": { "arguments": [ { "name": "value", - "nativeSrc": "48351:5:10", + "nativeSrc": "48351:5:23", "nodeType": "YulIdentifier", - "src": "48351:5:10" + "src": "48351:5:23" }, { "kind": "number", - "nativeSrc": "48358:4:10", + "nativeSrc": "48358:4:23", "nodeType": "YulLiteral", - "src": "48358:4:10", + "src": "48358:4:23", "type": "", "value": "0x21" }, { "kind": "number", - "nativeSrc": "48364:4:10", + "nativeSrc": "48364:4:23", "nodeType": "YulLiteral", - "src": "48364:4:10", + "src": "48364:4:23", "type": "", "value": "0x5f" }, { "name": "salt", - "nativeSrc": "48370:4:10", + "nativeSrc": "48370:4:23", "nodeType": "YulIdentifier", - "src": "48370:4:10" + "src": "48370:4:23" } ], "functionName": { "name": "create2", - "nativeSrc": "48343:7:10", + "nativeSrc": "48343:7:23", "nodeType": "YulIdentifier", - "src": "48343:7:10" + "src": "48343:7:23" }, - "nativeSrc": "48343:32:10", + "nativeSrc": "48343:32:23", "nodeType": "YulFunctionCall", - "src": "48343:32:10" + "src": "48343:32:23" }, "variableNames": [ { "name": "instance", - "nativeSrc": "48331:8:10", + "nativeSrc": "48331:8:23", "nodeType": "YulIdentifier", - "src": "48331:8:10" + "src": "48331:8:23" } ] }, { "body": { - "nativeSrc": "48408:116:10", + "nativeSrc": "48408:116:23", "nodeType": "YulBlock", - "src": "48408:116:10", + "src": "48408:116:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "48433:4:10", + "nativeSrc": "48433:4:23", "nodeType": "YulLiteral", - "src": "48433:4:10", + "src": "48433:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "48439:10:10", + "nativeSrc": "48439:10:23", "nodeType": "YulLiteral", - "src": "48439:10:10", + "src": "48439:10:23", "type": "", "value": "0x30116425" } ], "functionName": { "name": "mstore", - "nativeSrc": "48426:6:10", + "nativeSrc": "48426:6:23", "nodeType": "YulIdentifier", - "src": "48426:6:10" + "src": "48426:6:23" }, - "nativeSrc": "48426:24:10", + "nativeSrc": "48426:24:23", "nodeType": "YulFunctionCall", - "src": "48426:24:10" + "src": "48426:24:23" }, - "nativeSrc": "48426:24:10", + "nativeSrc": "48426:24:23", "nodeType": "YulExpressionStatement", - "src": "48426:24:10" + "src": "48426:24:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "48499:4:10", + "nativeSrc": "48499:4:23", "nodeType": "YulLiteral", - "src": "48499:4:10", + "src": "48499:4:23", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "48505:4:10", + "nativeSrc": "48505:4:23", "nodeType": "YulLiteral", - "src": "48505:4:10", + "src": "48505:4:23", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "48492:6:10", + "nativeSrc": "48492:6:23", "nodeType": "YulIdentifier", - "src": "48492:6:10" + "src": "48492:6:23" }, - "nativeSrc": "48492:18:10", + "nativeSrc": "48492:18:23", "nodeType": "YulFunctionCall", - "src": "48492:18:10" + "src": "48492:18:23" }, - "nativeSrc": "48492:18:10", + "nativeSrc": "48492:18:23", "nodeType": "YulExpressionStatement", - "src": "48492:18:10" + "src": "48492:18:23" } ] }, @@ -102021,90 +120996,90 @@ "arguments": [ { "name": "instance", - "nativeSrc": "48398:8:10", + "nativeSrc": "48398:8:23", "nodeType": "YulIdentifier", - "src": "48398:8:10" + "src": "48398:8:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "48391:6:10", + "nativeSrc": "48391:6:23", "nodeType": "YulIdentifier", - "src": "48391:6:10" + "src": "48391:6:23" }, - "nativeSrc": "48391:16:10", + "nativeSrc": "48391:16:23", "nodeType": "YulFunctionCall", - "src": "48391:16:10" + "src": "48391:16:23" }, - "nativeSrc": "48388:136:10", + "nativeSrc": "48388:136:23", "nodeType": "YulIf", - "src": "48388:136:10" + "src": "48388:136:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "48544:4:10", + "nativeSrc": "48544:4:23", "nodeType": "YulLiteral", - "src": "48544:4:10", + "src": "48544:4:23", "type": "", "value": "0x40" }, { "name": "m", - "nativeSrc": "48550:1:10", + "nativeSrc": "48550:1:23", "nodeType": "YulIdentifier", - "src": "48550:1:10" + "src": "48550:1:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "48537:6:10", + "nativeSrc": "48537:6:23", "nodeType": "YulIdentifier", - "src": "48537:6:10" + "src": "48537:6:23" }, - "nativeSrc": "48537:15:10", + "nativeSrc": "48537:15:23", "nodeType": "YulFunctionCall", - "src": "48537:15:10" + "src": "48537:15:23" }, - "nativeSrc": "48537:15:10", + "nativeSrc": "48537:15:23", "nodeType": "YulExpressionStatement", - "src": "48537:15:10" + "src": "48537:15:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "48608:4:10", + "nativeSrc": "48608:4:23", "nodeType": "YulLiteral", - "src": "48608:4:10", + "src": "48608:4:23", "type": "", "value": "0x60" }, { "kind": "number", - "nativeSrc": "48614:1:10", + "nativeSrc": "48614:1:23", "nodeType": "YulLiteral", - "src": "48614:1:10", + "src": "48614:1:23", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "48601:6:10", + "nativeSrc": "48601:6:23", "nodeType": "YulIdentifier", - "src": "48601:6:10" + "src": "48601:6:23" }, - "nativeSrc": "48601:15:10", + "nativeSrc": "48601:15:23", "nodeType": "YulFunctionCall", - "src": "48601:15:10" + "src": "48601:15:23" }, - "nativeSrc": "48601:15:10", + "nativeSrc": "48601:15:23", "nodeType": "YulExpressionStatement", - "src": "48601:15:10" + "src": "48601:15:23" } ] }, @@ -102112,73 +121087,73 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3587, + "declaration": 5193, "isOffset": false, "isSlot": false, - "src": "48256:14:10", + "src": "48256:14:23", "valueSize": 1 }, { - "declaration": 3592, + "declaration": 5198, "isOffset": false, "isSlot": false, - "src": "48331:8:10", + "src": "48331:8:23", "valueSize": 1 }, { - "declaration": 3592, + "declaration": 5198, "isOffset": false, "isSlot": false, - "src": "48398:8:10", + "src": "48398:8:23", "valueSize": 1 }, { - "declaration": 3589, + "declaration": 5195, "isOffset": false, "isSlot": false, - "src": "48370:4:10", + "src": "48370:4:23", "valueSize": 1 }, { - "declaration": 3585, + "declaration": 5191, "isOffset": false, "isSlot": false, - "src": "48351:5:10", + "src": "48351:5:23", "valueSize": 1 } ], - "id": 3594, + "id": 5200, "nodeType": "InlineAssembly", - "src": "47934:718:10" + "src": "47934:718:23" } ] }, "documentation": { - "id": 3583, + "id": 5189, "nodeType": "StructuredDocumentation", - "src": "47595:136:10", + "src": "47595:136:23", "text": "@dev Deploys a deterministic minimal ERC1967 proxy with `implementation` and `salt`.\n Deposits `value` ETH during deployment." }, - "id": 3596, + "id": 5202, "implemented": true, "kind": "function", "modifiers": [], "name": "deployDeterministicERC1967", - "nameLocation": "47745:26:10", + "nameLocation": "47745:26:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3590, + "id": 5196, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3585, + "id": 5191, "mutability": "mutable", "name": "value", - "nameLocation": "47780:5:10", + "nameLocation": "47780:5:23", "nodeType": "VariableDeclaration", - "scope": 3596, - "src": "47772:13:10", + "scope": 5202, + "src": "47772:13:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -102186,10 +121161,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3584, + "id": 5190, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "47772:7:10", + "src": "47772:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -102199,13 +121174,13 @@ }, { "constant": false, - "id": 3587, + "id": 5193, "mutability": "mutable", "name": "implementation", - "nameLocation": "47795:14:10", + "nameLocation": "47795:14:23", "nodeType": "VariableDeclaration", - "scope": 3596, - "src": "47787:22:10", + "scope": 5202, + "src": "47787:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -102213,10 +121188,10 @@ "typeString": "address" }, "typeName": { - "id": 3586, + "id": 5192, "name": "address", "nodeType": "ElementaryTypeName", - "src": "47787:7:10", + "src": "47787:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -102227,13 +121202,13 @@ }, { "constant": false, - "id": 3589, + "id": 5195, "mutability": "mutable", "name": "salt", - "nameLocation": "47819:4:10", + "nameLocation": "47819:4:23", "nodeType": "VariableDeclaration", - "scope": 3596, - "src": "47811:12:10", + "scope": 5202, + "src": "47811:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -102241,10 +121216,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 3588, + "id": 5194, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "47811:7:10", + "src": "47811:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -102253,21 +121228,21 @@ "visibility": "internal" } ], - "src": "47771:53:10" + "src": "47771:53:23" }, "returnParameters": { - "id": 3593, + "id": 5199, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3592, + "id": 5198, "mutability": "mutable", "name": "instance", - "nameLocation": "47867:8:10", + "nameLocation": "47867:8:23", "nodeType": "VariableDeclaration", - "scope": 3596, - "src": "47859:16:10", + "scope": 5202, + "src": "47859:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -102275,10 +121250,10 @@ "typeString": "address" }, "typeName": { - "id": 3591, + "id": 5197, "name": "address", "nodeType": "ElementaryTypeName", - "src": "47859:7:10", + "src": "47859:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -102288,33 +121263,33 @@ "visibility": "internal" } ], - "src": "47858:18:10" + "src": "47858:18:23" }, - "scope": 5093, - "src": "47736:922:10", + "scope": 6699, + "src": "47736:922:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3614, + "id": 5220, "nodeType": "Block", - "src": "49052:75:10", + "src": "49052:75:23", "statements": [ { "expression": { "arguments": [ { "hexValue": "30", - "id": 3609, + "id": 5215, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "49096:1:10", + "src": "49096:1:23", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -102322,24 +121297,24 @@ "value": "0" }, { - "id": 3610, + "id": 5216, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3599, - "src": "49099:14:10", + "referencedDeclaration": 5205, + "src": "49099:14:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 3611, + "id": 5217, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3601, - "src": "49115:4:10", + "referencedDeclaration": 5207, + "src": "49115:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -102361,23 +121336,23 @@ "typeString": "bytes32" } ], - "id": 3608, + "id": 5214, "name": "createDeterministicERC1967", "nodeType": "Identifier", "overloadedDeclarations": [ - 3615, - 3631, - 3771, - 3789 + 5221, + 5237, + 5377, + 5395 ], - "referencedDeclaration": 3631, - "src": "49069:26:10", + "referencedDeclaration": 5237, + "src": "49069:26:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes32_$returns$_t_bool_$_t_address_$", "typeString": "function (uint256,address,bytes32) returns (bool,address)" } }, - "id": 3612, + "id": 5218, "isConstant": false, "isLValue": false, "isPure": false, @@ -102386,46 +121361,46 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "49069:51:10", + "src": "49069:51:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_address_$", "typeString": "tuple(bool,address)" } }, - "functionReturnParameters": 3607, - "id": 3613, + "functionReturnParameters": 5213, + "id": 5219, "nodeType": "Return", - "src": "49062:58:10" + "src": "49062:58:23" } ] }, "documentation": { - "id": 3597, + "id": 5203, "nodeType": "StructuredDocumentation", - "src": "48664:231:10", + "src": "48664:231:23", "text": "@dev Creates a deterministic minimal ERC1967 proxy with `implementation` and `salt`.\n Note: This method is intended for use in ERC4337 factories,\n which are expected to NOT revert if the proxy is already deployed." }, - "id": 3615, + "id": 5221, "implemented": true, "kind": "function", "modifiers": [], "name": "createDeterministicERC1967", - "nameLocation": "48909:26:10", + "nameLocation": "48909:26:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3602, + "id": 5208, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3599, + "id": 5205, "mutability": "mutable", "name": "implementation", - "nameLocation": "48944:14:10", + "nameLocation": "48944:14:23", "nodeType": "VariableDeclaration", - "scope": 3615, - "src": "48936:22:10", + "scope": 5221, + "src": "48936:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -102433,10 +121408,10 @@ "typeString": "address" }, "typeName": { - "id": 3598, + "id": 5204, "name": "address", "nodeType": "ElementaryTypeName", - "src": "48936:7:10", + "src": "48936:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -102447,13 +121422,13 @@ }, { "constant": false, - "id": 3601, + "id": 5207, "mutability": "mutable", "name": "salt", - "nameLocation": "48968:4:10", + "nameLocation": "48968:4:23", "nodeType": "VariableDeclaration", - "scope": 3615, - "src": "48960:12:10", + "scope": 5221, + "src": "48960:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -102461,10 +121436,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 3600, + "id": 5206, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "48960:7:10", + "src": "48960:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -102473,21 +121448,21 @@ "visibility": "internal" } ], - "src": "48935:38:10" + "src": "48935:38:23" }, "returnParameters": { - "id": 3607, + "id": 5213, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3604, + "id": 5210, "mutability": "mutable", "name": "alreadyDeployed", - "nameLocation": "49013:15:10", + "nameLocation": "49013:15:23", "nodeType": "VariableDeclaration", - "scope": 3615, - "src": "49008:20:10", + "scope": 5221, + "src": "49008:20:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -102495,10 +121470,10 @@ "typeString": "bool" }, "typeName": { - "id": 3603, + "id": 5209, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "49008:4:10", + "src": "49008:4:23", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -102508,13 +121483,13 @@ }, { "constant": false, - "id": 3606, + "id": 5212, "mutability": "mutable", "name": "instance", - "nameLocation": "49038:8:10", + "nameLocation": "49038:8:23", "nodeType": "VariableDeclaration", - "scope": 3615, - "src": "49030:16:10", + "scope": 5221, + "src": "49030:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -102522,10 +121497,10 @@ "typeString": "address" }, "typeName": { - "id": 3605, + "id": 5211, "name": "address", "nodeType": "ElementaryTypeName", - "src": "49030:7:10", + "src": "49030:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -102535,57 +121510,57 @@ "visibility": "internal" } ], - "src": "49007:40:10" + "src": "49007:40:23" }, - "scope": 5093, - "src": "48900:227:10", + "scope": 6699, + "src": "48900:227:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3630, + "id": 5236, "nodeType": "Block", - "src": "49584:1558:10", + "src": "49584:1558:23", "statements": [ { "AST": { - "nativeSrc": "49646:1490:10", + "nativeSrc": "49646:1490:23", "nodeType": "YulBlock", - "src": "49646:1490:10", + "src": "49646:1490:23", "statements": [ { - "nativeSrc": "49660:20:10", + "nativeSrc": "49660:20:23", "nodeType": "YulVariableDeclaration", - "src": "49660:20:10", + "src": "49660:20:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "49675:4:10", + "nativeSrc": "49675:4:23", "nodeType": "YulLiteral", - "src": "49675:4:10", + "src": "49675:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "49669:5:10", + "nativeSrc": "49669:5:23", "nodeType": "YulIdentifier", - "src": "49669:5:10" + "src": "49669:5:23" }, - "nativeSrc": "49669:11:10", + "nativeSrc": "49669:11:23", "nodeType": "YulFunctionCall", - "src": "49669:11:10" + "src": "49669:11:23" }, "variables": [ { "name": "m", - "nativeSrc": "49664:1:10", + "nativeSrc": "49664:1:23", "nodeType": "YulTypedName", - "src": "49664:1:10", + "src": "49664:1:23", "type": "" } ] @@ -102595,168 +121570,168 @@ "arguments": [ { "kind": "number", - "nativeSrc": "49734:4:10", + "nativeSrc": "49734:4:23", "nodeType": "YulLiteral", - "src": "49734:4:10", + "src": "49734:4:23", "type": "", "value": "0x60" }, { "kind": "number", - "nativeSrc": "49740:66:10", + "nativeSrc": "49740:66:23", "nodeType": "YulLiteral", - "src": "49740:66:10", + "src": "49740:66:23", "type": "", "value": "0xcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f3" } ], "functionName": { "name": "mstore", - "nativeSrc": "49727:6:10", + "nativeSrc": "49727:6:23", "nodeType": "YulIdentifier", - "src": "49727:6:10" + "src": "49727:6:23" }, - "nativeSrc": "49727:80:10", + "nativeSrc": "49727:80:23", "nodeType": "YulFunctionCall", - "src": "49727:80:10" + "src": "49727:80:23" }, - "nativeSrc": "49727:80:10", + "nativeSrc": "49727:80:23", "nodeType": "YulExpressionStatement", - "src": "49727:80:10" + "src": "49727:80:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "49827:4:10", + "nativeSrc": "49827:4:23", "nodeType": "YulLiteral", - "src": "49827:4:10", + "src": "49827:4:23", "type": "", "value": "0x40" }, { "kind": "number", - "nativeSrc": "49833:66:10", + "nativeSrc": "49833:66:23", "nodeType": "YulLiteral", - "src": "49833:66:10", + "src": "49833:66:23", "type": "", "value": "0x5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e2076" } ], "functionName": { "name": "mstore", - "nativeSrc": "49820:6:10", + "nativeSrc": "49820:6:23", "nodeType": "YulIdentifier", - "src": "49820:6:10" + "src": "49820:6:23" }, - "nativeSrc": "49820:80:10", + "nativeSrc": "49820:80:23", "nodeType": "YulFunctionCall", - "src": "49820:80:10" + "src": "49820:80:23" }, - "nativeSrc": "49820:80:10", + "nativeSrc": "49820:80:23", "nodeType": "YulExpressionStatement", - "src": "49820:80:10" + "src": "49820:80:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "49920:4:10", + "nativeSrc": "49920:4:23", "nodeType": "YulLiteral", - "src": "49920:4:10", + "src": "49920:4:23", "type": "", "value": "0x20" }, { "kind": "number", - "nativeSrc": "49926:6:10", + "nativeSrc": "49926:6:23", "nodeType": "YulLiteral", - "src": "49926:6:10", + "src": "49926:6:23", "type": "", "value": "0x6009" } ], "functionName": { "name": "mstore", - "nativeSrc": "49913:6:10", + "nativeSrc": "49913:6:23", "nodeType": "YulIdentifier", - "src": "49913:6:10" + "src": "49913:6:23" }, - "nativeSrc": "49913:20:10", + "nativeSrc": "49913:20:23", "nodeType": "YulFunctionCall", - "src": "49913:20:10" + "src": "49913:20:23" }, - "nativeSrc": "49913:20:10", + "nativeSrc": "49913:20:23", "nodeType": "YulExpressionStatement", - "src": "49913:20:10" + "src": "49913:20:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "49953:4:10", + "nativeSrc": "49953:4:23", "nodeType": "YulLiteral", - "src": "49953:4:10", + "src": "49953:4:23", "type": "", "value": "0x1e" }, { "name": "implementation", - "nativeSrc": "49959:14:10", + "nativeSrc": "49959:14:23", "nodeType": "YulIdentifier", - "src": "49959:14:10" + "src": "49959:14:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "49946:6:10", + "nativeSrc": "49946:6:23", "nodeType": "YulIdentifier", - "src": "49946:6:10" + "src": "49946:6:23" }, - "nativeSrc": "49946:28:10", + "nativeSrc": "49946:28:23", "nodeType": "YulFunctionCall", - "src": "49946:28:10" + "src": "49946:28:23" }, - "nativeSrc": "49946:28:10", + "nativeSrc": "49946:28:23", "nodeType": "YulExpressionStatement", - "src": "49946:28:10" + "src": "49946:28:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "49994:4:10", + "nativeSrc": "49994:4:23", "nodeType": "YulLiteral", - "src": "49994:4:10", + "src": "49994:4:23", "type": "", "value": "0x0a" }, { "kind": "number", - "nativeSrc": "50000:20:10", + "nativeSrc": "50000:20:23", "nodeType": "YulLiteral", - "src": "50000:20:10", + "src": "50000:20:23", "type": "", "value": "0x603d3d8160223d3973" } ], "functionName": { "name": "mstore", - "nativeSrc": "49987:6:10", + "nativeSrc": "49987:6:23", "nodeType": "YulIdentifier", - "src": "49987:6:10" + "src": "49987:6:23" }, - "nativeSrc": "49987:34:10", + "nativeSrc": "49987:34:23", "nodeType": "YulFunctionCall", - "src": "49987:34:10" + "src": "49987:34:23" }, - "nativeSrc": "49987:34:10", + "nativeSrc": "49987:34:23", "nodeType": "YulExpressionStatement", - "src": "49987:34:10" + "src": "49987:34:23" }, { "expression": { @@ -102765,89 +121740,89 @@ "arguments": [ { "name": "m", - "nativeSrc": "50097:1:10", + "nativeSrc": "50097:1:23", "nodeType": "YulIdentifier", - "src": "50097:1:10" + "src": "50097:1:23" }, { "kind": "number", - "nativeSrc": "50100:4:10", + "nativeSrc": "50100:4:23", "nodeType": "YulLiteral", - "src": "50100:4:10", + "src": "50100:4:23", "type": "", "value": "0x35" } ], "functionName": { "name": "add", - "nativeSrc": "50093:3:10", + "nativeSrc": "50093:3:23", "nodeType": "YulIdentifier", - "src": "50093:3:10" + "src": "50093:3:23" }, - "nativeSrc": "50093:12:10", + "nativeSrc": "50093:12:23", "nodeType": "YulFunctionCall", - "src": "50093:12:10" + "src": "50093:12:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "50117:4:10", + "nativeSrc": "50117:4:23", "nodeType": "YulLiteral", - "src": "50117:4:10", + "src": "50117:4:23", "type": "", "value": "0x21" }, { "kind": "number", - "nativeSrc": "50123:4:10", + "nativeSrc": "50123:4:23", "nodeType": "YulLiteral", - "src": "50123:4:10", + "src": "50123:4:23", "type": "", "value": "0x5f" } ], "functionName": { "name": "keccak256", - "nativeSrc": "50107:9:10", + "nativeSrc": "50107:9:23", "nodeType": "YulIdentifier", - "src": "50107:9:10" + "src": "50107:9:23" }, - "nativeSrc": "50107:21:10", + "nativeSrc": "50107:21:23", "nodeType": "YulFunctionCall", - "src": "50107:21:10" + "src": "50107:21:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "50086:6:10", + "nativeSrc": "50086:6:23", "nodeType": "YulIdentifier", - "src": "50086:6:10" + "src": "50086:6:23" }, - "nativeSrc": "50086:43:10", + "nativeSrc": "50086:43:23", "nodeType": "YulFunctionCall", - "src": "50086:43:10" + "src": "50086:43:23" }, - "nativeSrc": "50086:43:10", + "nativeSrc": "50086:43:23", "nodeType": "YulExpressionStatement", - "src": "50086:43:10" + "src": "50086:43:23" }, { "expression": { "arguments": [ { "name": "m", - "nativeSrc": "50149:1:10", + "nativeSrc": "50149:1:23", "nodeType": "YulIdentifier", - "src": "50149:1:10" + "src": "50149:1:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "50156:2:10", + "nativeSrc": "50156:2:23", "nodeType": "YulLiteral", - "src": "50156:2:10", + "src": "50156:2:23", "type": "", "value": "88" }, @@ -102855,71 +121830,71 @@ "arguments": [], "functionName": { "name": "address", - "nativeSrc": "50160:7:10", + "nativeSrc": "50160:7:23", "nodeType": "YulIdentifier", - "src": "50160:7:10" + "src": "50160:7:23" }, - "nativeSrc": "50160:9:10", + "nativeSrc": "50160:9:23", "nodeType": "YulFunctionCall", - "src": "50160:9:10" + "src": "50160:9:23" } ], "functionName": { "name": "shl", - "nativeSrc": "50152:3:10", + "nativeSrc": "50152:3:23", "nodeType": "YulIdentifier", - "src": "50152:3:10" + "src": "50152:3:23" }, - "nativeSrc": "50152:18:10", + "nativeSrc": "50152:18:23", "nodeType": "YulFunctionCall", - "src": "50152:18:10" + "src": "50152:18:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "50142:6:10", + "nativeSrc": "50142:6:23", "nodeType": "YulIdentifier", - "src": "50142:6:10" + "src": "50142:6:23" }, - "nativeSrc": "50142:29:10", + "nativeSrc": "50142:29:23", "nodeType": "YulFunctionCall", - "src": "50142:29:10" + "src": "50142:29:23" }, - "nativeSrc": "50142:29:10", + "nativeSrc": "50142:29:23", "nodeType": "YulExpressionStatement", - "src": "50142:29:10" + "src": "50142:29:23" }, { "expression": { "arguments": [ { "name": "m", - "nativeSrc": "50192:1:10", + "nativeSrc": "50192:1:23", "nodeType": "YulIdentifier", - "src": "50192:1:10" + "src": "50192:1:23" }, { "kind": "number", - "nativeSrc": "50195:4:10", + "nativeSrc": "50195:4:23", "nodeType": "YulLiteral", - "src": "50195:4:10", + "src": "50195:4:23", "type": "", "value": "0xff" } ], "functionName": { "name": "mstore8", - "nativeSrc": "50184:7:10", + "nativeSrc": "50184:7:23", "nodeType": "YulIdentifier", - "src": "50184:7:10" + "src": "50184:7:23" }, - "nativeSrc": "50184:16:10", + "nativeSrc": "50184:16:23", "nodeType": "YulFunctionCall", - "src": "50184:16:10" + "src": "50184:16:23" }, - "nativeSrc": "50184:16:10", + "nativeSrc": "50184:16:23", "nodeType": "YulExpressionStatement", - "src": "50184:16:10" + "src": "50184:16:23" }, { "expression": { @@ -102928,229 +121903,229 @@ "arguments": [ { "name": "m", - "nativeSrc": "50245:1:10", + "nativeSrc": "50245:1:23", "nodeType": "YulIdentifier", - "src": "50245:1:10" + "src": "50245:1:23" }, { "kind": "number", - "nativeSrc": "50248:4:10", + "nativeSrc": "50248:4:23", "nodeType": "YulLiteral", - "src": "50248:4:10", + "src": "50248:4:23", "type": "", "value": "0x15" } ], "functionName": { "name": "add", - "nativeSrc": "50241:3:10", + "nativeSrc": "50241:3:23", "nodeType": "YulIdentifier", - "src": "50241:3:10" + "src": "50241:3:23" }, - "nativeSrc": "50241:12:10", + "nativeSrc": "50241:12:23", "nodeType": "YulFunctionCall", - "src": "50241:12:10" + "src": "50241:12:23" }, { "name": "salt", - "nativeSrc": "50255:4:10", + "nativeSrc": "50255:4:23", "nodeType": "YulIdentifier", - "src": "50255:4:10" + "src": "50255:4:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "50234:6:10", + "nativeSrc": "50234:6:23", "nodeType": "YulIdentifier", - "src": "50234:6:10" + "src": "50234:6:23" }, - "nativeSrc": "50234:26:10", + "nativeSrc": "50234:26:23", "nodeType": "YulFunctionCall", - "src": "50234:26:10" + "src": "50234:26:23" }, - "nativeSrc": "50234:26:10", + "nativeSrc": "50234:26:23", "nodeType": "YulExpressionStatement", - "src": "50234:26:10" + "src": "50234:26:23" }, { - "nativeSrc": "50273:30:10", + "nativeSrc": "50273:30:23", "nodeType": "YulAssignment", - "src": "50273:30:10", + "src": "50273:30:23", "value": { "arguments": [ { "name": "m", - "nativeSrc": "50295:1:10", + "nativeSrc": "50295:1:23", "nodeType": "YulIdentifier", - "src": "50295:1:10" + "src": "50295:1:23" }, { "kind": "number", - "nativeSrc": "50298:4:10", + "nativeSrc": "50298:4:23", "nodeType": "YulLiteral", - "src": "50298:4:10", + "src": "50298:4:23", "type": "", "value": "0x55" } ], "functionName": { "name": "keccak256", - "nativeSrc": "50285:9:10", + "nativeSrc": "50285:9:23", "nodeType": "YulIdentifier", - "src": "50285:9:10" + "src": "50285:9:23" }, - "nativeSrc": "50285:18:10", + "nativeSrc": "50285:18:23", "nodeType": "YulFunctionCall", - "src": "50285:18:10" + "src": "50285:18:23" }, "variableNames": [ { "name": "instance", - "nativeSrc": "50273:8:10", + "nativeSrc": "50273:8:23", "nodeType": "YulIdentifier", - "src": "50273:8:10" + "src": "50273:8:23" } ] }, { "body": { - "nativeSrc": "50328:680:10", + "nativeSrc": "50328:680:23", "nodeType": "YulBlock", - "src": "50328:680:10", + "src": "50328:680:23", "statements": [ { "body": { - "nativeSrc": "50379:291:10", + "nativeSrc": "50379:291:23", "nodeType": "YulBlock", - "src": "50379:291:10", + "src": "50379:291:23", "statements": [ { - "nativeSrc": "50401:44:10", + "nativeSrc": "50401:44:23", "nodeType": "YulAssignment", - "src": "50401:44:10", + "src": "50401:44:23", "value": { "arguments": [ { "name": "value", - "nativeSrc": "50421:5:10", + "nativeSrc": "50421:5:23", "nodeType": "YulIdentifier", - "src": "50421:5:10" + "src": "50421:5:23" }, { "kind": "number", - "nativeSrc": "50428:4:10", + "nativeSrc": "50428:4:23", "nodeType": "YulLiteral", - "src": "50428:4:10", + "src": "50428:4:23", "type": "", "value": "0x21" }, { "kind": "number", - "nativeSrc": "50434:4:10", + "nativeSrc": "50434:4:23", "nodeType": "YulLiteral", - "src": "50434:4:10", + "src": "50434:4:23", "type": "", "value": "0x5f" }, { "name": "salt", - "nativeSrc": "50440:4:10", + "nativeSrc": "50440:4:23", "nodeType": "YulIdentifier", - "src": "50440:4:10" + "src": "50440:4:23" } ], "functionName": { "name": "create2", - "nativeSrc": "50413:7:10", + "nativeSrc": "50413:7:23", "nodeType": "YulIdentifier", - "src": "50413:7:10" + "src": "50413:7:23" }, - "nativeSrc": "50413:32:10", + "nativeSrc": "50413:32:23", "nodeType": "YulFunctionCall", - "src": "50413:32:10" + "src": "50413:32:23" }, "variableNames": [ { "name": "instance", - "nativeSrc": "50401:8:10", + "nativeSrc": "50401:8:23", "nodeType": "YulIdentifier", - "src": "50401:8:10" + "src": "50401:8:23" } ] }, { "body": { - "nativeSrc": "50486:140:10", + "nativeSrc": "50486:140:23", "nodeType": "YulBlock", - "src": "50486:140:10", + "src": "50486:140:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "50519:4:10", + "nativeSrc": "50519:4:23", "nodeType": "YulLiteral", - "src": "50519:4:10", + "src": "50519:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "50525:10:10", + "nativeSrc": "50525:10:23", "nodeType": "YulLiteral", - "src": "50525:10:10", + "src": "50525:10:23", "type": "", "value": "0x30116425" } ], "functionName": { "name": "mstore", - "nativeSrc": "50512:6:10", + "nativeSrc": "50512:6:23", "nodeType": "YulIdentifier", - "src": "50512:6:10" + "src": "50512:6:23" }, - "nativeSrc": "50512:24:10", + "nativeSrc": "50512:24:23", "nodeType": "YulFunctionCall", - "src": "50512:24:10" + "src": "50512:24:23" }, - "nativeSrc": "50512:24:10", + "nativeSrc": "50512:24:23", "nodeType": "YulExpressionStatement", - "src": "50512:24:10" + "src": "50512:24:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "50593:4:10", + "nativeSrc": "50593:4:23", "nodeType": "YulLiteral", - "src": "50593:4:10", + "src": "50593:4:23", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "50599:4:10", + "nativeSrc": "50599:4:23", "nodeType": "YulLiteral", - "src": "50599:4:10", + "src": "50599:4:23", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "50586:6:10", + "nativeSrc": "50586:6:23", "nodeType": "YulIdentifier", - "src": "50586:6:10" + "src": "50586:6:23" }, - "nativeSrc": "50586:18:10", + "nativeSrc": "50586:18:23", "nodeType": "YulFunctionCall", - "src": "50586:18:10" + "src": "50586:18:23" }, - "nativeSrc": "50586:18:10", + "nativeSrc": "50586:18:23", "nodeType": "YulExpressionStatement", - "src": "50586:18:10" + "src": "50586:18:23" } ] }, @@ -103158,29 +122133,29 @@ "arguments": [ { "name": "instance", - "nativeSrc": "50476:8:10", + "nativeSrc": "50476:8:23", "nodeType": "YulIdentifier", - "src": "50476:8:10" + "src": "50476:8:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "50469:6:10", + "nativeSrc": "50469:6:23", "nodeType": "YulIdentifier", - "src": "50469:6:10" + "src": "50469:6:23" }, - "nativeSrc": "50469:16:10", + "nativeSrc": "50469:16:23", "nodeType": "YulFunctionCall", - "src": "50469:16:10" + "src": "50469:16:23" }, - "nativeSrc": "50466:160:10", + "nativeSrc": "50466:160:23", "nodeType": "YulIf", - "src": "50466:160:10" + "src": "50466:160:23" }, { - "nativeSrc": "50647:5:10", + "nativeSrc": "50647:5:23", "nodeType": "YulBreak", - "src": "50647:5:10" + "src": "50647:5:23" } ] }, @@ -103190,67 +122165,67 @@ "arguments": [ { "name": "instance", - "nativeSrc": "50368:8:10", + "nativeSrc": "50368:8:23", "nodeType": "YulIdentifier", - "src": "50368:8:10" + "src": "50368:8:23" } ], "functionName": { "name": "extcodesize", - "nativeSrc": "50356:11:10", + "nativeSrc": "50356:11:23", "nodeType": "YulIdentifier", - "src": "50356:11:10" + "src": "50356:11:23" }, - "nativeSrc": "50356:21:10", + "nativeSrc": "50356:21:23", "nodeType": "YulFunctionCall", - "src": "50356:21:10" + "src": "50356:21:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "50349:6:10", + "nativeSrc": "50349:6:23", "nodeType": "YulIdentifier", - "src": "50349:6:10" + "src": "50349:6:23" }, - "nativeSrc": "50349:29:10", + "nativeSrc": "50349:29:23", "nodeType": "YulFunctionCall", - "src": "50349:29:10" + "src": "50349:29:23" }, - "nativeSrc": "50346:324:10", + "nativeSrc": "50346:324:23", "nodeType": "YulIf", - "src": "50346:324:10" + "src": "50346:324:23" }, { - "nativeSrc": "50687:20:10", + "nativeSrc": "50687:20:23", "nodeType": "YulAssignment", - "src": "50687:20:10", + "src": "50687:20:23", "value": { "kind": "number", - "nativeSrc": "50706:1:10", + "nativeSrc": "50706:1:23", "nodeType": "YulLiteral", - "src": "50706:1:10", + "src": "50706:1:23", "type": "", "value": "1" }, "variableNames": [ { "name": "alreadyDeployed", - "nativeSrc": "50687:15:10", + "nativeSrc": "50687:15:23", "nodeType": "YulIdentifier", - "src": "50687:15:10" + "src": "50687:15:23" } ] }, { "body": { - "nativeSrc": "50741:9:10", + "nativeSrc": "50741:9:23", "nodeType": "YulBlock", - "src": "50741:9:10", + "src": "50741:9:23", "statements": [ { - "nativeSrc": "50743:5:10", + "nativeSrc": "50743:5:23", "nodeType": "YulBreak", - "src": "50743:5:10" + "src": "50743:5:23" } ] }, @@ -103258,98 +122233,98 @@ "arguments": [ { "name": "value", - "nativeSrc": "50734:5:10", + "nativeSrc": "50734:5:23", "nodeType": "YulIdentifier", - "src": "50734:5:10" + "src": "50734:5:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "50727:6:10", + "nativeSrc": "50727:6:23", "nodeType": "YulIdentifier", - "src": "50727:6:10" + "src": "50727:6:23" }, - "nativeSrc": "50727:13:10", + "nativeSrc": "50727:13:23", "nodeType": "YulFunctionCall", - "src": "50727:13:10" + "src": "50727:13:23" }, - "nativeSrc": "50724:26:10", + "nativeSrc": "50724:26:23", "nodeType": "YulIf", - "src": "50724:26:10" + "src": "50724:26:23" }, { "body": { - "nativeSrc": "50843:129:10", + "nativeSrc": "50843:129:23", "nodeType": "YulBlock", - "src": "50843:129:10", + "src": "50843:129:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "50872:4:10", + "nativeSrc": "50872:4:23", "nodeType": "YulLiteral", - "src": "50872:4:10", + "src": "50872:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "50878:10:10", + "nativeSrc": "50878:10:23", "nodeType": "YulLiteral", - "src": "50878:10:10", + "src": "50878:10:23", "type": "", "value": "0xb12d13eb" } ], "functionName": { "name": "mstore", - "nativeSrc": "50865:6:10", + "nativeSrc": "50865:6:23", "nodeType": "YulIdentifier", - "src": "50865:6:10" + "src": "50865:6:23" }, - "nativeSrc": "50865:24:10", + "nativeSrc": "50865:24:23", "nodeType": "YulFunctionCall", - "src": "50865:24:10" + "src": "50865:24:23" }, - "nativeSrc": "50865:24:10", + "nativeSrc": "50865:24:23", "nodeType": "YulExpressionStatement", - "src": "50865:24:10" + "src": "50865:24:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "50943:4:10", + "nativeSrc": "50943:4:23", "nodeType": "YulLiteral", - "src": "50943:4:10", + "src": "50943:4:23", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "50949:4:10", + "nativeSrc": "50949:4:23", "nodeType": "YulLiteral", - "src": "50949:4:10", + "src": "50949:4:23", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "50936:6:10", + "nativeSrc": "50936:6:23", "nodeType": "YulIdentifier", - "src": "50936:6:10" + "src": "50936:6:23" }, - "nativeSrc": "50936:18:10", + "nativeSrc": "50936:18:23", "nodeType": "YulFunctionCall", - "src": "50936:18:10" + "src": "50936:18:23" }, - "nativeSrc": "50936:18:10", + "nativeSrc": "50936:18:23", "nodeType": "YulExpressionStatement", - "src": "50936:18:10" + "src": "50936:18:23" } ] }, @@ -103361,43 +122336,43 @@ "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "50782:3:10", + "nativeSrc": "50782:3:23", "nodeType": "YulIdentifier", - "src": "50782:3:10" + "src": "50782:3:23" }, - "nativeSrc": "50782:5:10", + "nativeSrc": "50782:5:23", "nodeType": "YulFunctionCall", - "src": "50782:5:10" + "src": "50782:5:23" }, { "name": "instance", - "nativeSrc": "50789:8:10", + "nativeSrc": "50789:8:23", "nodeType": "YulIdentifier", - "src": "50789:8:10" + "src": "50789:8:23" }, { "name": "value", - "nativeSrc": "50799:5:10", + "nativeSrc": "50799:5:23", "nodeType": "YulIdentifier", - "src": "50799:5:10" + "src": "50799:5:23" }, { "arguments": [], "functionName": { "name": "codesize", - "nativeSrc": "50806:8:10", + "nativeSrc": "50806:8:23", "nodeType": "YulIdentifier", - "src": "50806:8:10" + "src": "50806:8:23" }, - "nativeSrc": "50806:10:10", + "nativeSrc": "50806:10:23", "nodeType": "YulFunctionCall", - "src": "50806:10:10" + "src": "50806:10:23" }, { "kind": "number", - "nativeSrc": "50818:4:10", + "nativeSrc": "50818:4:23", "nodeType": "YulLiteral", - "src": "50818:4:10", + "src": "50818:4:23", "type": "", "value": "0x00" }, @@ -103405,144 +122380,144 @@ "arguments": [], "functionName": { "name": "codesize", - "nativeSrc": "50824:8:10", + "nativeSrc": "50824:8:23", "nodeType": "YulIdentifier", - "src": "50824:8:10" + "src": "50824:8:23" }, - "nativeSrc": "50824:10:10", + "nativeSrc": "50824:10:23", "nodeType": "YulFunctionCall", - "src": "50824:10:10" + "src": "50824:10:23" }, { "kind": "number", - "nativeSrc": "50836:4:10", + "nativeSrc": "50836:4:23", "nodeType": "YulLiteral", - "src": "50836:4:10", + "src": "50836:4:23", "type": "", "value": "0x00" } ], "functionName": { "name": "call", - "nativeSrc": "50777:4:10", + "nativeSrc": "50777:4:23", "nodeType": "YulIdentifier", - "src": "50777:4:10" + "src": "50777:4:23" }, - "nativeSrc": "50777:64:10", + "nativeSrc": "50777:64:23", "nodeType": "YulFunctionCall", - "src": "50777:64:10" + "src": "50777:64:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "50770:6:10", + "nativeSrc": "50770:6:23", "nodeType": "YulIdentifier", - "src": "50770:6:10" + "src": "50770:6:23" }, - "nativeSrc": "50770:72:10", + "nativeSrc": "50770:72:23", "nodeType": "YulFunctionCall", - "src": "50770:72:10" + "src": "50770:72:23" }, - "nativeSrc": "50767:205:10", + "nativeSrc": "50767:205:23", "nodeType": "YulIf", - "src": "50767:205:10" + "src": "50767:205:23" }, { - "nativeSrc": "50989:5:10", + "nativeSrc": "50989:5:23", "nodeType": "YulBreak", - "src": "50989:5:10" + "src": "50989:5:23" } ] }, "condition": { "kind": "number", - "nativeSrc": "50323:1:10", + "nativeSrc": "50323:1:23", "nodeType": "YulLiteral", - "src": "50323:1:10", + "src": "50323:1:23", "type": "", "value": "1" }, - "nativeSrc": "50316:692:10", + "nativeSrc": "50316:692:23", "nodeType": "YulForLoop", "post": { - "nativeSrc": "50325:2:10", + "nativeSrc": "50325:2:23", "nodeType": "YulBlock", - "src": "50325:2:10", + "src": "50325:2:23", "statements": [] }, "pre": { - "nativeSrc": "50320:2:10", + "nativeSrc": "50320:2:23", "nodeType": "YulBlock", - "src": "50320:2:10", + "src": "50320:2:23", "statements": [] }, - "src": "50316:692:10" + "src": "50316:692:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "51028:4:10", + "nativeSrc": "51028:4:23", "nodeType": "YulLiteral", - "src": "51028:4:10", + "src": "51028:4:23", "type": "", "value": "0x40" }, { "name": "m", - "nativeSrc": "51034:1:10", + "nativeSrc": "51034:1:23", "nodeType": "YulIdentifier", - "src": "51034:1:10" + "src": "51034:1:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "51021:6:10", + "nativeSrc": "51021:6:23", "nodeType": "YulIdentifier", - "src": "51021:6:10" + "src": "51021:6:23" }, - "nativeSrc": "51021:15:10", + "nativeSrc": "51021:15:23", "nodeType": "YulFunctionCall", - "src": "51021:15:10" + "src": "51021:15:23" }, - "nativeSrc": "51021:15:10", + "nativeSrc": "51021:15:23", "nodeType": "YulExpressionStatement", - "src": "51021:15:10" + "src": "51021:15:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "51092:4:10", + "nativeSrc": "51092:4:23", "nodeType": "YulLiteral", - "src": "51092:4:10", + "src": "51092:4:23", "type": "", "value": "0x60" }, { "kind": "number", - "nativeSrc": "51098:1:10", + "nativeSrc": "51098:1:23", "nodeType": "YulLiteral", - "src": "51098:1:10", + "src": "51098:1:23", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "51085:6:10", + "nativeSrc": "51085:6:23", "nodeType": "YulIdentifier", - "src": "51085:6:10" + "src": "51085:6:23" }, - "nativeSrc": "51085:15:10", + "nativeSrc": "51085:15:23", "nodeType": "YulFunctionCall", - "src": "51085:15:10" + "src": "51085:15:23" }, - "nativeSrc": "51085:15:10", + "nativeSrc": "51085:15:23", "nodeType": "YulExpressionStatement", - "src": "51085:15:10" + "src": "51085:15:23" } ] }, @@ -103550,122 +122525,122 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3625, + "declaration": 5231, "isOffset": false, "isSlot": false, - "src": "50687:15:10", + "src": "50687:15:23", "valueSize": 1 }, { - "declaration": 3620, + "declaration": 5226, "isOffset": false, "isSlot": false, - "src": "49959:14:10", + "src": "49959:14:23", "valueSize": 1 }, { - "declaration": 3627, + "declaration": 5233, "isOffset": false, "isSlot": false, - "src": "50273:8:10", + "src": "50273:8:23", "valueSize": 1 }, { - "declaration": 3627, + "declaration": 5233, "isOffset": false, "isSlot": false, - "src": "50368:8:10", + "src": "50368:8:23", "valueSize": 1 }, { - "declaration": 3627, + "declaration": 5233, "isOffset": false, "isSlot": false, - "src": "50401:8:10", + "src": "50401:8:23", "valueSize": 1 }, { - "declaration": 3627, + "declaration": 5233, "isOffset": false, "isSlot": false, - "src": "50476:8:10", + "src": "50476:8:23", "valueSize": 1 }, { - "declaration": 3627, + "declaration": 5233, "isOffset": false, "isSlot": false, - "src": "50789:8:10", + "src": "50789:8:23", "valueSize": 1 }, { - "declaration": 3622, + "declaration": 5228, "isOffset": false, "isSlot": false, - "src": "50255:4:10", + "src": "50255:4:23", "valueSize": 1 }, { - "declaration": 3622, + "declaration": 5228, "isOffset": false, "isSlot": false, - "src": "50440:4:10", + "src": "50440:4:23", "valueSize": 1 }, { - "declaration": 3618, + "declaration": 5224, "isOffset": false, "isSlot": false, - "src": "50421:5:10", + "src": "50421:5:23", "valueSize": 1 }, { - "declaration": 3618, + "declaration": 5224, "isOffset": false, "isSlot": false, - "src": "50734:5:10", + "src": "50734:5:23", "valueSize": 1 }, { - "declaration": 3618, + "declaration": 5224, "isOffset": false, "isSlot": false, - "src": "50799:5:10", + "src": "50799:5:23", "valueSize": 1 } ], - "id": 3629, + "id": 5235, "nodeType": "InlineAssembly", - "src": "49637:1499:10" + "src": "49637:1499:23" } ] }, "documentation": { - "id": 3616, + "id": 5222, "nodeType": "StructuredDocumentation", - "src": "49133:279:10", + "src": "49133:279:23", "text": "@dev Creates a deterministic minimal ERC1967 proxy with `implementation` and `salt`.\n Deposits `value` ETH during deployment.\n Note: This method is intended for use in ERC4337 factories,\n which are expected to NOT revert if the proxy is already deployed." }, - "id": 3631, + "id": 5237, "implemented": true, "kind": "function", "modifiers": [], "name": "createDeterministicERC1967", - "nameLocation": "49426:26:10", + "nameLocation": "49426:26:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3623, + "id": 5229, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3618, + "id": 5224, "mutability": "mutable", "name": "value", - "nameLocation": "49461:5:10", + "nameLocation": "49461:5:23", "nodeType": "VariableDeclaration", - "scope": 3631, - "src": "49453:13:10", + "scope": 5237, + "src": "49453:13:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -103673,10 +122648,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3617, + "id": 5223, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "49453:7:10", + "src": "49453:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -103686,13 +122661,13 @@ }, { "constant": false, - "id": 3620, + "id": 5226, "mutability": "mutable", "name": "implementation", - "nameLocation": "49476:14:10", + "nameLocation": "49476:14:23", "nodeType": "VariableDeclaration", - "scope": 3631, - "src": "49468:22:10", + "scope": 5237, + "src": "49468:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -103700,10 +122675,10 @@ "typeString": "address" }, "typeName": { - "id": 3619, + "id": 5225, "name": "address", "nodeType": "ElementaryTypeName", - "src": "49468:7:10", + "src": "49468:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -103714,13 +122689,13 @@ }, { "constant": false, - "id": 3622, + "id": 5228, "mutability": "mutable", "name": "salt", - "nameLocation": "49500:4:10", + "nameLocation": "49500:4:23", "nodeType": "VariableDeclaration", - "scope": 3631, - "src": "49492:12:10", + "scope": 5237, + "src": "49492:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -103728,10 +122703,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 3621, + "id": 5227, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "49492:7:10", + "src": "49492:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -103740,21 +122715,21 @@ "visibility": "internal" } ], - "src": "49452:53:10" + "src": "49452:53:23" }, "returnParameters": { - "id": 3628, + "id": 5234, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3625, + "id": 5231, "mutability": "mutable", "name": "alreadyDeployed", - "nameLocation": "49545:15:10", + "nameLocation": "49545:15:23", "nodeType": "VariableDeclaration", - "scope": 3631, - "src": "49540:20:10", + "scope": 5237, + "src": "49540:20:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -103762,10 +122737,10 @@ "typeString": "bool" }, "typeName": { - "id": 3624, + "id": 5230, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "49540:4:10", + "src": "49540:4:23", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -103775,13 +122750,13 @@ }, { "constant": false, - "id": 3627, + "id": 5233, "mutability": "mutable", "name": "instance", - "nameLocation": "49570:8:10", + "nameLocation": "49570:8:23", "nodeType": "VariableDeclaration", - "scope": 3631, - "src": "49562:16:10", + "scope": 5237, + "src": "49562:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -103789,10 +122764,10 @@ "typeString": "address" }, "typeName": { - "id": 3626, + "id": 5232, "name": "address", "nodeType": "ElementaryTypeName", - "src": "49562:7:10", + "src": "49562:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -103802,57 +122777,57 @@ "visibility": "internal" } ], - "src": "49539:40:10" + "src": "49539:40:23" }, - "scope": 5093, - "src": "49417:1725:10", + "scope": 6699, + "src": "49417:1725:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3640, + "id": 5246, "nodeType": "Block", - "src": "51331:545:10", + "src": "51331:545:23", "statements": [ { "AST": { - "nativeSrc": "51393:477:10", + "nativeSrc": "51393:477:23", "nodeType": "YulBlock", - "src": "51393:477:10", + "src": "51393:477:23", "statements": [ { - "nativeSrc": "51407:16:10", + "nativeSrc": "51407:16:23", "nodeType": "YulAssignment", - "src": "51407:16:10", + "src": "51407:16:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "51418:4:10", + "nativeSrc": "51418:4:23", "nodeType": "YulLiteral", - "src": "51418:4:10", + "src": "51418:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "51412:5:10", + "nativeSrc": "51412:5:23", "nodeType": "YulIdentifier", - "src": "51412:5:10" + "src": "51412:5:23" }, - "nativeSrc": "51412:11:10", + "nativeSrc": "51412:11:23", "nodeType": "YulFunctionCall", - "src": "51412:11:10" + "src": "51412:11:23" }, "variableNames": [ { "name": "c", - "nativeSrc": "51407:1:10", + "nativeSrc": "51407:1:23", "nodeType": "YulIdentifier", - "src": "51407:1:10" + "src": "51407:1:23" } ] }, @@ -103863,51 +122838,51 @@ "arguments": [ { "name": "c", - "nativeSrc": "51447:1:10", + "nativeSrc": "51447:1:23", "nodeType": "YulIdentifier", - "src": "51447:1:10" + "src": "51447:1:23" }, { "kind": "number", - "nativeSrc": "51450:4:10", + "nativeSrc": "51450:4:23", "nodeType": "YulLiteral", - "src": "51450:4:10", + "src": "51450:4:23", "type": "", "value": "0x60" } ], "functionName": { "name": "add", - "nativeSrc": "51443:3:10", + "nativeSrc": "51443:3:23", "nodeType": "YulIdentifier", - "src": "51443:3:10" + "src": "51443:3:23" }, - "nativeSrc": "51443:12:10", + "nativeSrc": "51443:12:23", "nodeType": "YulFunctionCall", - "src": "51443:12:10" + "src": "51443:12:23" }, { "kind": "number", - "nativeSrc": "51457:66:10", + "nativeSrc": "51457:66:23", "nodeType": "YulLiteral", - "src": "51457:66:10", + "src": "51457:66:23", "type": "", "value": "0x3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f300" } ], "functionName": { "name": "mstore", - "nativeSrc": "51436:6:10", + "nativeSrc": "51436:6:23", "nodeType": "YulIdentifier", - "src": "51436:6:10" + "src": "51436:6:23" }, - "nativeSrc": "51436:88:10", + "nativeSrc": "51436:88:23", "nodeType": "YulFunctionCall", - "src": "51436:88:10" + "src": "51436:88:23" }, - "nativeSrc": "51436:88:10", + "nativeSrc": "51436:88:23", "nodeType": "YulExpressionStatement", - "src": "51436:88:10" + "src": "51436:88:23" }, { "expression": { @@ -103916,51 +122891,51 @@ "arguments": [ { "name": "c", - "nativeSrc": "51548:1:10", + "nativeSrc": "51548:1:23", "nodeType": "YulIdentifier", - "src": "51548:1:10" + "src": "51548:1:23" }, { "kind": "number", - "nativeSrc": "51551:4:10", + "nativeSrc": "51551:4:23", "nodeType": "YulLiteral", - "src": "51551:4:10", + "src": "51551:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "add", - "nativeSrc": "51544:3:10", + "nativeSrc": "51544:3:23", "nodeType": "YulIdentifier", - "src": "51544:3:10" + "src": "51544:3:23" }, - "nativeSrc": "51544:12:10", + "nativeSrc": "51544:12:23", "nodeType": "YulFunctionCall", - "src": "51544:12:10" + "src": "51544:12:23" }, { "kind": "number", - "nativeSrc": "51558:66:10", + "nativeSrc": "51558:66:23", "nodeType": "YulLiteral", - "src": "51558:66:10", + "src": "51558:66:23", "type": "", "value": "0x55f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e2076cc" } ], "functionName": { "name": "mstore", - "nativeSrc": "51537:6:10", + "nativeSrc": "51537:6:23", "nodeType": "YulIdentifier", - "src": "51537:6:10" + "src": "51537:6:23" }, - "nativeSrc": "51537:88:10", + "nativeSrc": "51537:88:23", "nodeType": "YulFunctionCall", - "src": "51537:88:10" + "src": "51537:88:23" }, - "nativeSrc": "51537:88:10", + "nativeSrc": "51537:88:23", "nodeType": "YulExpressionStatement", - "src": "51537:88:10" + "src": "51537:88:23" }, { "expression": { @@ -103969,28 +122944,28 @@ "arguments": [ { "name": "c", - "nativeSrc": "51649:1:10", + "nativeSrc": "51649:1:23", "nodeType": "YulIdentifier", - "src": "51649:1:10" + "src": "51649:1:23" }, { "kind": "number", - "nativeSrc": "51652:4:10", + "nativeSrc": "51652:4:23", "nodeType": "YulLiteral", - "src": "51652:4:10", + "src": "51652:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "51645:3:10", + "nativeSrc": "51645:3:23", "nodeType": "YulIdentifier", - "src": "51645:3:10" + "src": "51645:3:23" }, - "nativeSrc": "51645:12:10", + "nativeSrc": "51645:12:23", "nodeType": "YulFunctionCall", - "src": "51645:12:10" + "src": "51645:12:23" }, { "arguments": [ @@ -103998,62 +122973,62 @@ "arguments": [ { "kind": "number", - "nativeSrc": "51666:2:10", + "nativeSrc": "51666:2:23", "nodeType": "YulLiteral", - "src": "51666:2:10", + "src": "51666:2:23", "type": "", "value": "24" }, { "name": "implementation", - "nativeSrc": "51670:14:10", + "nativeSrc": "51670:14:23", "nodeType": "YulIdentifier", - "src": "51670:14:10" + "src": "51670:14:23" } ], "functionName": { "name": "shl", - "nativeSrc": "51662:3:10", + "nativeSrc": "51662:3:23", "nodeType": "YulIdentifier", - "src": "51662:3:10" + "src": "51662:3:23" }, - "nativeSrc": "51662:23:10", + "nativeSrc": "51662:23:23", "nodeType": "YulFunctionCall", - "src": "51662:23:10" + "src": "51662:23:23" }, { "kind": "number", - "nativeSrc": "51687:8:10", + "nativeSrc": "51687:8:23", "nodeType": "YulLiteral", - "src": "51687:8:10", + "src": "51687:8:23", "type": "", "value": "0x600951" } ], "functionName": { "name": "or", - "nativeSrc": "51659:2:10", + "nativeSrc": "51659:2:23", "nodeType": "YulIdentifier", - "src": "51659:2:10" + "src": "51659:2:23" }, - "nativeSrc": "51659:37:10", + "nativeSrc": "51659:37:23", "nodeType": "YulFunctionCall", - "src": "51659:37:10" + "src": "51659:37:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "51638:6:10", + "nativeSrc": "51638:6:23", "nodeType": "YulIdentifier", - "src": "51638:6:10" + "src": "51638:6:23" }, - "nativeSrc": "51638:59:10", + "nativeSrc": "51638:59:23", "nodeType": "YulFunctionCall", - "src": "51638:59:10" + "src": "51638:59:23" }, - "nativeSrc": "51638:59:10", + "nativeSrc": "51638:59:23", "nodeType": "YulExpressionStatement", - "src": "51638:59:10" + "src": "51638:59:23" }, { "expression": { @@ -104062,92 +123037,92 @@ "arguments": [ { "name": "c", - "nativeSrc": "51721:1:10", + "nativeSrc": "51721:1:23", "nodeType": "YulIdentifier", - "src": "51721:1:10" + "src": "51721:1:23" }, { "kind": "number", - "nativeSrc": "51724:4:10", + "nativeSrc": "51724:4:23", "nodeType": "YulLiteral", - "src": "51724:4:10", + "src": "51724:4:23", "type": "", "value": "0x09" } ], "functionName": { "name": "add", - "nativeSrc": "51717:3:10", + "nativeSrc": "51717:3:23", "nodeType": "YulIdentifier", - "src": "51717:3:10" + "src": "51717:3:23" }, - "nativeSrc": "51717:12:10", + "nativeSrc": "51717:12:23", "nodeType": "YulFunctionCall", - "src": "51717:12:10" + "src": "51717:12:23" }, { "kind": "number", - "nativeSrc": "51731:20:10", + "nativeSrc": "51731:20:23", "nodeType": "YulLiteral", - "src": "51731:20:10", + "src": "51731:20:23", "type": "", "value": "0x603d3d8160223d3973" } ], "functionName": { "name": "mstore", - "nativeSrc": "51710:6:10", + "nativeSrc": "51710:6:23", "nodeType": "YulIdentifier", - "src": "51710:6:10" + "src": "51710:6:23" }, - "nativeSrc": "51710:42:10", + "nativeSrc": "51710:42:23", "nodeType": "YulFunctionCall", - "src": "51710:42:10" + "src": "51710:42:23" }, - "nativeSrc": "51710:42:10", + "nativeSrc": "51710:42:23", "nodeType": "YulExpressionStatement", - "src": "51710:42:10" + "src": "51710:42:23" }, { "expression": { "arguments": [ { "name": "c", - "nativeSrc": "51772:1:10", + "nativeSrc": "51772:1:23", "nodeType": "YulIdentifier", - "src": "51772:1:10" + "src": "51772:1:23" }, { "kind": "number", - "nativeSrc": "51775:4:10", + "nativeSrc": "51775:4:23", "nodeType": "YulLiteral", - "src": "51775:4:10", + "src": "51775:4:23", "type": "", "value": "0x5f" } ], "functionName": { "name": "mstore", - "nativeSrc": "51765:6:10", + "nativeSrc": "51765:6:23", "nodeType": "YulIdentifier", - "src": "51765:6:10" + "src": "51765:6:23" }, - "nativeSrc": "51765:15:10", + "nativeSrc": "51765:15:23", "nodeType": "YulFunctionCall", - "src": "51765:15:10" + "src": "51765:15:23" }, - "nativeSrc": "51765:15:10", + "nativeSrc": "51765:15:23", "nodeType": "YulExpressionStatement", - "src": "51765:15:10" + "src": "51765:15:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "51821:4:10", + "nativeSrc": "51821:4:23", "nodeType": "YulLiteral", - "src": "51821:4:10", + "src": "51821:4:23", "type": "", "value": "0x40" }, @@ -104155,43 +123130,43 @@ "arguments": [ { "name": "c", - "nativeSrc": "51831:1:10", + "nativeSrc": "51831:1:23", "nodeType": "YulIdentifier", - "src": "51831:1:10" + "src": "51831:1:23" }, { "kind": "number", - "nativeSrc": "51834:4:10", + "nativeSrc": "51834:4:23", "nodeType": "YulLiteral", - "src": "51834:4:10", + "src": "51834:4:23", "type": "", "value": "0x80" } ], "functionName": { "name": "add", - "nativeSrc": "51827:3:10", + "nativeSrc": "51827:3:23", "nodeType": "YulIdentifier", - "src": "51827:3:10" + "src": "51827:3:23" }, - "nativeSrc": "51827:12:10", + "nativeSrc": "51827:12:23", "nodeType": "YulFunctionCall", - "src": "51827:12:10" + "src": "51827:12:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "51814:6:10", + "nativeSrc": "51814:6:23", "nodeType": "YulIdentifier", - "src": "51814:6:10" + "src": "51814:6:23" }, - "nativeSrc": "51814:26:10", + "nativeSrc": "51814:26:23", "nodeType": "YulFunctionCall", - "src": "51814:26:10" + "src": "51814:26:23" }, - "nativeSrc": "51814:26:10", + "nativeSrc": "51814:26:23", "nodeType": "YulExpressionStatement", - "src": "51814:26:10" + "src": "51814:26:23" } ] }, @@ -104199,94 +123174,94 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3637, + "declaration": 5243, "isOffset": false, "isSlot": false, - "src": "51407:1:10", + "src": "51407:1:23", "valueSize": 1 }, { - "declaration": 3637, + "declaration": 5243, "isOffset": false, "isSlot": false, - "src": "51447:1:10", + "src": "51447:1:23", "valueSize": 1 }, { - "declaration": 3637, + "declaration": 5243, "isOffset": false, "isSlot": false, - "src": "51548:1:10", + "src": "51548:1:23", "valueSize": 1 }, { - "declaration": 3637, + "declaration": 5243, "isOffset": false, "isSlot": false, - "src": "51649:1:10", + "src": "51649:1:23", "valueSize": 1 }, { - "declaration": 3637, + "declaration": 5243, "isOffset": false, "isSlot": false, - "src": "51721:1:10", + "src": "51721:1:23", "valueSize": 1 }, { - "declaration": 3637, + "declaration": 5243, "isOffset": false, "isSlot": false, - "src": "51772:1:10", + "src": "51772:1:23", "valueSize": 1 }, { - "declaration": 3637, + "declaration": 5243, "isOffset": false, "isSlot": false, - "src": "51831:1:10", + "src": "51831:1:23", "valueSize": 1 }, { - "declaration": 3634, + "declaration": 5240, "isOffset": false, "isSlot": false, - "src": "51670:14:10", + "src": "51670:14:23", "valueSize": 1 } ], - "id": 3639, + "id": 5245, "nodeType": "InlineAssembly", - "src": "51384:486:10" + "src": "51384:486:23" } ] }, "documentation": { - "id": 3632, + "id": 5238, "nodeType": "StructuredDocumentation", - "src": "51148:90:10", + "src": "51148:90:23", "text": "@dev Returns the initialization code of the minimal ERC1967 proxy of `implementation`." }, - "id": 3641, + "id": 5247, "implemented": true, "kind": "function", "modifiers": [], "name": "initCodeERC1967", - "nameLocation": "51252:15:10", + "nameLocation": "51252:15:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3635, + "id": 5241, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3634, + "id": 5240, "mutability": "mutable", "name": "implementation", - "nameLocation": "51276:14:10", + "nameLocation": "51276:14:23", "nodeType": "VariableDeclaration", - "scope": 3641, - "src": "51268:22:10", + "scope": 5247, + "src": "51268:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -104294,10 +123269,10 @@ "typeString": "address" }, "typeName": { - "id": 3633, + "id": 5239, "name": "address", "nodeType": "ElementaryTypeName", - "src": "51268:7:10", + "src": "51268:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -104307,21 +123282,21 @@ "visibility": "internal" } ], - "src": "51267:24:10" + "src": "51267:24:23" }, "returnParameters": { - "id": 3638, + "id": 5244, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3637, + "id": 5243, "mutability": "mutable", "name": "c", - "nameLocation": "51328:1:10", + "nameLocation": "51328:1:23", "nodeType": "VariableDeclaration", - "scope": 3641, - "src": "51315:14:10", + "scope": 5247, + "src": "51315:14:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -104329,10 +123304,10 @@ "typeString": "bytes" }, "typeName": { - "id": 3636, + "id": 5242, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "51315:5:10", + "src": "51315:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -104341,57 +123316,57 @@ "visibility": "internal" } ], - "src": "51314:16:10" + "src": "51314:16:23" }, - "scope": 5093, - "src": "51243:633:10", + "scope": 6699, + "src": "51243:633:23", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3650, + "id": 5256, "nodeType": "Block", - "src": "52072:613:10", + "src": "52072:613:23", "statements": [ { "AST": { - "nativeSrc": "52134:545:10", + "nativeSrc": "52134:545:23", "nodeType": "YulBlock", - "src": "52134:545:10", + "src": "52134:545:23", "statements": [ { - "nativeSrc": "52148:20:10", + "nativeSrc": "52148:20:23", "nodeType": "YulVariableDeclaration", - "src": "52148:20:10", + "src": "52148:20:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "52163:4:10", + "nativeSrc": "52163:4:23", "nodeType": "YulLiteral", - "src": "52163:4:10", + "src": "52163:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "52157:5:10", + "nativeSrc": "52157:5:23", "nodeType": "YulIdentifier", - "src": "52157:5:10" + "src": "52157:5:23" }, - "nativeSrc": "52157:11:10", + "nativeSrc": "52157:11:23", "nodeType": "YulFunctionCall", - "src": "52157:11:10" + "src": "52157:11:23" }, "variables": [ { "name": "m", - "nativeSrc": "52152:1:10", + "nativeSrc": "52152:1:23", "nodeType": "YulTypedName", - "src": "52152:1:10", + "src": "52152:1:23", "type": "" } ] @@ -104401,208 +123376,208 @@ "arguments": [ { "kind": "number", - "nativeSrc": "52222:4:10", + "nativeSrc": "52222:4:23", "nodeType": "YulLiteral", - "src": "52222:4:10", + "src": "52222:4:23", "type": "", "value": "0x60" }, { "kind": "number", - "nativeSrc": "52228:66:10", + "nativeSrc": "52228:66:23", "nodeType": "YulLiteral", - "src": "52228:66:10", + "src": "52228:66:23", "type": "", "value": "0xcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f3" } ], "functionName": { "name": "mstore", - "nativeSrc": "52215:6:10", + "nativeSrc": "52215:6:23", "nodeType": "YulIdentifier", - "src": "52215:6:10" + "src": "52215:6:23" }, - "nativeSrc": "52215:80:10", + "nativeSrc": "52215:80:23", "nodeType": "YulFunctionCall", - "src": "52215:80:10" + "src": "52215:80:23" }, - "nativeSrc": "52215:80:10", + "nativeSrc": "52215:80:23", "nodeType": "YulExpressionStatement", - "src": "52215:80:10" + "src": "52215:80:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "52315:4:10", + "nativeSrc": "52315:4:23", "nodeType": "YulLiteral", - "src": "52315:4:10", + "src": "52315:4:23", "type": "", "value": "0x40" }, { "kind": "number", - "nativeSrc": "52321:66:10", + "nativeSrc": "52321:66:23", "nodeType": "YulLiteral", - "src": "52321:66:10", + "src": "52321:66:23", "type": "", "value": "0x5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e2076" } ], "functionName": { "name": "mstore", - "nativeSrc": "52308:6:10", + "nativeSrc": "52308:6:23", "nodeType": "YulIdentifier", - "src": "52308:6:10" + "src": "52308:6:23" }, - "nativeSrc": "52308:80:10", + "nativeSrc": "52308:80:23", "nodeType": "YulFunctionCall", - "src": "52308:80:10" + "src": "52308:80:23" }, - "nativeSrc": "52308:80:10", + "nativeSrc": "52308:80:23", "nodeType": "YulExpressionStatement", - "src": "52308:80:10" + "src": "52308:80:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "52408:4:10", + "nativeSrc": "52408:4:23", "nodeType": "YulLiteral", - "src": "52408:4:10", + "src": "52408:4:23", "type": "", "value": "0x20" }, { "kind": "number", - "nativeSrc": "52414:6:10", + "nativeSrc": "52414:6:23", "nodeType": "YulLiteral", - "src": "52414:6:10", + "src": "52414:6:23", "type": "", "value": "0x6009" } ], "functionName": { "name": "mstore", - "nativeSrc": "52401:6:10", + "nativeSrc": "52401:6:23", "nodeType": "YulIdentifier", - "src": "52401:6:10" + "src": "52401:6:23" }, - "nativeSrc": "52401:20:10", + "nativeSrc": "52401:20:23", "nodeType": "YulFunctionCall", - "src": "52401:20:10" + "src": "52401:20:23" }, - "nativeSrc": "52401:20:10", + "nativeSrc": "52401:20:23", "nodeType": "YulExpressionStatement", - "src": "52401:20:10" + "src": "52401:20:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "52441:4:10", + "nativeSrc": "52441:4:23", "nodeType": "YulLiteral", - "src": "52441:4:10", + "src": "52441:4:23", "type": "", "value": "0x1e" }, { "name": "implementation", - "nativeSrc": "52447:14:10", + "nativeSrc": "52447:14:23", "nodeType": "YulIdentifier", - "src": "52447:14:10" + "src": "52447:14:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "52434:6:10", + "nativeSrc": "52434:6:23", "nodeType": "YulIdentifier", - "src": "52434:6:10" + "src": "52434:6:23" }, - "nativeSrc": "52434:28:10", + "nativeSrc": "52434:28:23", "nodeType": "YulFunctionCall", - "src": "52434:28:10" + "src": "52434:28:23" }, - "nativeSrc": "52434:28:10", + "nativeSrc": "52434:28:23", "nodeType": "YulExpressionStatement", - "src": "52434:28:10" + "src": "52434:28:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "52482:4:10", + "nativeSrc": "52482:4:23", "nodeType": "YulLiteral", - "src": "52482:4:10", + "src": "52482:4:23", "type": "", "value": "0x0a" }, { "kind": "number", - "nativeSrc": "52488:20:10", + "nativeSrc": "52488:20:23", "nodeType": "YulLiteral", - "src": "52488:20:10", + "src": "52488:20:23", "type": "", "value": "0x603d3d8160223d3973" } ], "functionName": { "name": "mstore", - "nativeSrc": "52475:6:10", + "nativeSrc": "52475:6:23", "nodeType": "YulIdentifier", - "src": "52475:6:10" + "src": "52475:6:23" }, - "nativeSrc": "52475:34:10", + "nativeSrc": "52475:34:23", "nodeType": "YulFunctionCall", - "src": "52475:34:10" + "src": "52475:34:23" }, - "nativeSrc": "52475:34:10", + "nativeSrc": "52475:34:23", "nodeType": "YulExpressionStatement", - "src": "52475:34:10" + "src": "52475:34:23" }, { - "nativeSrc": "52522:29:10", + "nativeSrc": "52522:29:23", "nodeType": "YulAssignment", - "src": "52522:29:10", + "src": "52522:29:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "52540:4:10", + "nativeSrc": "52540:4:23", "nodeType": "YulLiteral", - "src": "52540:4:10", + "src": "52540:4:23", "type": "", "value": "0x21" }, { "kind": "number", - "nativeSrc": "52546:4:10", + "nativeSrc": "52546:4:23", "nodeType": "YulLiteral", - "src": "52546:4:10", + "src": "52546:4:23", "type": "", "value": "0x5f" } ], "functionName": { "name": "keccak256", - "nativeSrc": "52530:9:10", + "nativeSrc": "52530:9:23", "nodeType": "YulIdentifier", - "src": "52530:9:10" + "src": "52530:9:23" }, - "nativeSrc": "52530:21:10", + "nativeSrc": "52530:21:23", "nodeType": "YulFunctionCall", - "src": "52530:21:10" + "src": "52530:21:23" }, "variableNames": [ { "name": "hash", - "nativeSrc": "52522:4:10", + "nativeSrc": "52522:4:23", "nodeType": "YulIdentifier", - "src": "52522:4:10" + "src": "52522:4:23" } ] }, @@ -104611,66 +123586,66 @@ "arguments": [ { "kind": "number", - "nativeSrc": "52571:4:10", + "nativeSrc": "52571:4:23", "nodeType": "YulLiteral", - "src": "52571:4:10", + "src": "52571:4:23", "type": "", "value": "0x40" }, { "name": "m", - "nativeSrc": "52577:1:10", + "nativeSrc": "52577:1:23", "nodeType": "YulIdentifier", - "src": "52577:1:10" + "src": "52577:1:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "52564:6:10", + "nativeSrc": "52564:6:23", "nodeType": "YulIdentifier", - "src": "52564:6:10" + "src": "52564:6:23" }, - "nativeSrc": "52564:15:10", + "nativeSrc": "52564:15:23", "nodeType": "YulFunctionCall", - "src": "52564:15:10" + "src": "52564:15:23" }, - "nativeSrc": "52564:15:10", + "nativeSrc": "52564:15:23", "nodeType": "YulExpressionStatement", - "src": "52564:15:10" + "src": "52564:15:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "52635:4:10", + "nativeSrc": "52635:4:23", "nodeType": "YulLiteral", - "src": "52635:4:10", + "src": "52635:4:23", "type": "", "value": "0x60" }, { "kind": "number", - "nativeSrc": "52641:1:10", + "nativeSrc": "52641:1:23", "nodeType": "YulLiteral", - "src": "52641:1:10", + "src": "52641:1:23", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "52628:6:10", + "nativeSrc": "52628:6:23", "nodeType": "YulIdentifier", - "src": "52628:6:10" + "src": "52628:6:23" }, - "nativeSrc": "52628:15:10", + "nativeSrc": "52628:15:23", "nodeType": "YulFunctionCall", - "src": "52628:15:10" + "src": "52628:15:23" }, - "nativeSrc": "52628:15:10", + "nativeSrc": "52628:15:23", "nodeType": "YulExpressionStatement", - "src": "52628:15:10" + "src": "52628:15:23" } ] }, @@ -104678,52 +123653,52 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3647, + "declaration": 5253, "isOffset": false, "isSlot": false, - "src": "52522:4:10", + "src": "52522:4:23", "valueSize": 1 }, { - "declaration": 3644, + "declaration": 5250, "isOffset": false, "isSlot": false, - "src": "52447:14:10", + "src": "52447:14:23", "valueSize": 1 } ], - "id": 3649, + "id": 5255, "nodeType": "InlineAssembly", - "src": "52125:554:10" + "src": "52125:554:23" } ] }, "documentation": { - "id": 3642, + "id": 5248, "nodeType": "StructuredDocumentation", - "src": "51882:95:10", + "src": "51882:95:23", "text": "@dev Returns the initialization code hash of the minimal ERC1967 proxy of `implementation`." }, - "id": 3651, + "id": 5257, "implemented": true, "kind": "function", "modifiers": [], "name": "initCodeHashERC1967", - "nameLocation": "51991:19:10", + "nameLocation": "51991:19:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3645, + "id": 5251, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3644, + "id": 5250, "mutability": "mutable", "name": "implementation", - "nameLocation": "52019:14:10", + "nameLocation": "52019:14:23", "nodeType": "VariableDeclaration", - "scope": 3651, - "src": "52011:22:10", + "scope": 5257, + "src": "52011:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -104731,10 +123706,10 @@ "typeString": "address" }, "typeName": { - "id": 3643, + "id": 5249, "name": "address", "nodeType": "ElementaryTypeName", - "src": "52011:7:10", + "src": "52011:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -104744,21 +123719,21 @@ "visibility": "internal" } ], - "src": "52010:24:10" + "src": "52010:24:23" }, "returnParameters": { - "id": 3648, + "id": 5254, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3647, + "id": 5253, "mutability": "mutable", "name": "hash", - "nameLocation": "52066:4:10", + "nameLocation": "52066:4:23", "nodeType": "VariableDeclaration", - "scope": 3651, - "src": "52058:12:10", + "scope": 5257, + "src": "52058:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -104766,10 +123741,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 3646, + "id": 5252, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "52058:7:10", + "src": "52058:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -104778,34 +123753,34 @@ "visibility": "internal" } ], - "src": "52057:14:10" + "src": "52057:14:23" }, - "scope": 5093, - "src": "51982:703:10", + "scope": 6699, + "src": "51982:703:23", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3677, + "id": 5283, "nodeType": "Block", - "src": "53058:138:10", + "src": "53058:138:23", "statements": [ { "assignments": [ - 3664 + 5270 ], "declarations": [ { "constant": false, - "id": 3664, + "id": 5270, "mutability": "mutable", "name": "hash", - "nameLocation": "53076:4:10", + "nameLocation": "53076:4:23", "nodeType": "VariableDeclaration", - "scope": 3677, - "src": "53068:12:10", + "scope": 5283, + "src": "53068:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -104813,10 +123788,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 3663, + "id": 5269, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "53068:7:10", + "src": "53068:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -104825,16 +123800,16 @@ "visibility": "internal" } ], - "id": 3668, + "id": 5274, "initialValue": { "arguments": [ { - "id": 3666, + "id": 5272, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3654, - "src": "53103:14:10", + "referencedDeclaration": 5260, + "src": "53103:14:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -104848,21 +123823,21 @@ "typeString": "address" } ], - "id": 3665, + "id": 5271, "name": "initCodeHashERC1967", "nodeType": "Identifier", "overloadedDeclarations": [ - 3651, - 3813 + 5257, + 5419 ], - "referencedDeclaration": 3651, - "src": "53083:19:10", + "referencedDeclaration": 5257, + "src": "53083:19:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_bytes32_$", "typeString": "function (address) pure returns (bytes32)" } }, - "id": 3667, + "id": 5273, "isConstant": false, "isLValue": false, "isPure": false, @@ -104871,7 +123846,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "53083:35:10", + "src": "53083:35:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -104879,22 +123854,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "53068:50:10" + "src": "53068:50:23" }, { "expression": { - "id": 3675, + "id": 5281, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 3669, + "id": 5275, "name": "predicted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3661, - "src": "53128:9:10", + "referencedDeclaration": 5267, + "src": "53128:9:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -104905,36 +123880,36 @@ "rightHandSide": { "arguments": [ { - "id": 3671, + "id": 5277, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3664, - "src": "53168:4:10", + "referencedDeclaration": 5270, + "src": "53168:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 3672, + "id": 5278, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3656, - "src": "53174:4:10", + "referencedDeclaration": 5262, + "src": "53174:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 3673, + "id": 5279, "name": "deployer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3658, - "src": "53180:8:10", + "referencedDeclaration": 5264, + "src": "53180:8:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -104956,22 +123931,22 @@ "typeString": "address" } ], - "id": 3670, + "id": 5276, "name": "predictDeterministicAddress", "nodeType": "Identifier", "overloadedDeclarations": [ - 3226, - 3499, - 5070 + 4832, + 5105, + 6676 ], - "referencedDeclaration": 5070, - "src": "53140:27:10", + "referencedDeclaration": 6676, + "src": "53140:27:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_address_$", "typeString": "function (bytes32,bytes32,address) pure returns (address)" } }, - "id": 3674, + "id": 5280, "isConstant": false, "isLValue": false, "isPure": false, @@ -104980,51 +123955,51 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "53140:49:10", + "src": "53140:49:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "53128:61:10", + "src": "53128:61:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 3676, + "id": 5282, "nodeType": "ExpressionStatement", - "src": "53128:61:10" + "src": "53128:61:23" } ] }, "documentation": { - "id": 3652, + "id": 5258, "nodeType": "StructuredDocumentation", - "src": "52691:190:10", + "src": "52691:190:23", "text": "@dev Returns the address of the ERC1967 proxy of `implementation`, with `salt` by `deployer`.\n Note: The returned result has dirty upper 96 bits. Please clean if used in assembly." }, - "id": 3678, + "id": 5284, "implemented": true, "kind": "function", "modifiers": [], "name": "predictDeterministicAddressERC1967", - "nameLocation": "52895:34:10", + "nameLocation": "52895:34:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3659, + "id": 5265, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3654, + "id": 5260, "mutability": "mutable", "name": "implementation", - "nameLocation": "52947:14:10", + "nameLocation": "52947:14:23", "nodeType": "VariableDeclaration", - "scope": 3678, - "src": "52939:22:10", + "scope": 5284, + "src": "52939:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -105032,10 +124007,10 @@ "typeString": "address" }, "typeName": { - "id": 3653, + "id": 5259, "name": "address", "nodeType": "ElementaryTypeName", - "src": "52939:7:10", + "src": "52939:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -105046,13 +124021,13 @@ }, { "constant": false, - "id": 3656, + "id": 5262, "mutability": "mutable", "name": "salt", - "nameLocation": "52979:4:10", + "nameLocation": "52979:4:23", "nodeType": "VariableDeclaration", - "scope": 3678, - "src": "52971:12:10", + "scope": 5284, + "src": "52971:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -105060,10 +124035,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 3655, + "id": 5261, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "52971:7:10", + "src": "52971:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -105073,13 +124048,13 @@ }, { "constant": false, - "id": 3658, + "id": 5264, "mutability": "mutable", "name": "deployer", - "nameLocation": "53001:8:10", + "nameLocation": "53001:8:23", "nodeType": "VariableDeclaration", - "scope": 3678, - "src": "52993:16:10", + "scope": 5284, + "src": "52993:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -105087,10 +124062,10 @@ "typeString": "address" }, "typeName": { - "id": 3657, + "id": 5263, "name": "address", "nodeType": "ElementaryTypeName", - "src": "52993:7:10", + "src": "52993:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -105100,21 +124075,21 @@ "visibility": "internal" } ], - "src": "52929:86:10" + "src": "52929:86:23" }, "returnParameters": { - "id": 3662, + "id": 5268, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3661, + "id": 5267, "mutability": "mutable", "name": "predicted", - "nameLocation": "53047:9:10", + "nameLocation": "53047:9:23", "nodeType": "VariableDeclaration", - "scope": 3678, - "src": "53039:17:10", + "scope": 5284, + "src": "53039:17:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -105122,10 +124097,10 @@ "typeString": "address" }, "typeName": { - "id": 3660, + "id": 5266, "name": "address", "nodeType": "ElementaryTypeName", - "src": "53039:7:10", + "src": "53039:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -105135,34 +124110,34 @@ "visibility": "internal" } ], - "src": "53038:19:10" + "src": "53038:19:23" }, - "scope": 5093, - "src": "52886:310:10", + "scope": 6699, + "src": "52886:310:23", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3696, + "id": 5302, "nodeType": "Block", - "src": "53686:66:10", + "src": "53686:66:23", "statements": [ { "expression": { - "id": 3694, + "id": 5300, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 3688, + "id": 5294, "name": "instance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3686, - "src": "53696:8:10", + "referencedDeclaration": 5292, + "src": "53696:8:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -105174,14 +124149,14 @@ "arguments": [ { "hexValue": "30", - "id": 3690, + "id": 5296, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "53721:1:10", + "src": "53721:1:23", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -105189,24 +124164,24 @@ "value": "0" }, { - "id": 3691, + "id": 5297, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3681, - "src": "53724:14:10", + "referencedDeclaration": 5287, + "src": "53724:14:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 3692, + "id": 5298, "name": "args", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3683, - "src": "53740:4:10", + "referencedDeclaration": 5289, + "src": "53740:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -105228,23 +124203,23 @@ "typeString": "bytes memory" } ], - "id": 3689, + "id": 5295, "name": "deployERC1967", "nodeType": "Identifier", "overloadedDeclarations": [ - 3551, - 3563, - 3697, - 3711 + 5157, + 5169, + 5303, + 5317 ], - "referencedDeclaration": 3711, - "src": "53707:13:10", + "referencedDeclaration": 5317, + "src": "53707:13:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$_t_address_$", "typeString": "function (uint256,address,bytes memory) returns (address)" } }, - "id": 3693, + "id": 5299, "isConstant": false, "isLValue": false, "isPure": false, @@ -105253,51 +124228,51 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "53707:38:10", + "src": "53707:38:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "53696:49:10", + "src": "53696:49:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 3695, + "id": 5301, "nodeType": "ExpressionStatement", - "src": "53696:49:10" + "src": "53696:49:23" } ] }, "documentation": { - "id": 3679, + "id": 5285, "nodeType": "StructuredDocumentation", - "src": "53485:74:10", + "src": "53485:74:23", "text": "@dev Deploys a minimal ERC1967 proxy with `implementation` and `args`." }, - "id": 3697, + "id": 5303, "implemented": true, "kind": "function", "modifiers": [], "name": "deployERC1967", - "nameLocation": "53573:13:10", + "nameLocation": "53573:13:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3684, + "id": 5290, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3681, + "id": 5287, "mutability": "mutable", "name": "implementation", - "nameLocation": "53595:14:10", + "nameLocation": "53595:14:23", "nodeType": "VariableDeclaration", - "scope": 3697, - "src": "53587:22:10", + "scope": 5303, + "src": "53587:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -105305,10 +124280,10 @@ "typeString": "address" }, "typeName": { - "id": 3680, + "id": 5286, "name": "address", "nodeType": "ElementaryTypeName", - "src": "53587:7:10", + "src": "53587:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -105319,13 +124294,13 @@ }, { "constant": false, - "id": 3683, + "id": 5289, "mutability": "mutable", "name": "args", - "nameLocation": "53624:4:10", + "nameLocation": "53624:4:23", "nodeType": "VariableDeclaration", - "scope": 3697, - "src": "53611:17:10", + "scope": 5303, + "src": "53611:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -105333,10 +124308,10 @@ "typeString": "bytes" }, "typeName": { - "id": 3682, + "id": 5288, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "53611:5:10", + "src": "53611:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -105345,21 +124320,21 @@ "visibility": "internal" } ], - "src": "53586:43:10" + "src": "53586:43:23" }, "returnParameters": { - "id": 3687, + "id": 5293, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3686, + "id": 5292, "mutability": "mutable", "name": "instance", - "nameLocation": "53672:8:10", + "nameLocation": "53672:8:23", "nodeType": "VariableDeclaration", - "scope": 3697, - "src": "53664:16:10", + "scope": 5303, + "src": "53664:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -105367,10 +124342,10 @@ "typeString": "address" }, "typeName": { - "id": 3685, + "id": 5291, "name": "address", "nodeType": "ElementaryTypeName", - "src": "53664:7:10", + "src": "53664:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -105380,90 +124355,90 @@ "visibility": "internal" } ], - "src": "53663:18:10" + "src": "53663:18:23" }, - "scope": 5093, - "src": "53564:188:10", + "scope": 6699, + "src": "53564:188:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3710, + "id": 5316, "nodeType": "Block", - "src": "54022:899:10", + "src": "54022:899:23", "statements": [ { "AST": { - "nativeSrc": "54084:831:10", + "nativeSrc": "54084:831:23", "nodeType": "YulBlock", - "src": "54084:831:10", + "src": "54084:831:23", "statements": [ { - "nativeSrc": "54098:20:10", + "nativeSrc": "54098:20:23", "nodeType": "YulVariableDeclaration", - "src": "54098:20:10", + "src": "54098:20:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "54113:4:10", + "nativeSrc": "54113:4:23", "nodeType": "YulLiteral", - "src": "54113:4:10", + "src": "54113:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "54107:5:10", + "nativeSrc": "54107:5:23", "nodeType": "YulIdentifier", - "src": "54107:5:10" + "src": "54107:5:23" }, - "nativeSrc": "54107:11:10", + "nativeSrc": "54107:11:23", "nodeType": "YulFunctionCall", - "src": "54107:11:10" + "src": "54107:11:23" }, "variables": [ { "name": "m", - "nativeSrc": "54102:1:10", + "nativeSrc": "54102:1:23", "nodeType": "YulTypedName", - "src": "54102:1:10", + "src": "54102:1:23", "type": "" } ] }, { - "nativeSrc": "54131:20:10", + "nativeSrc": "54131:20:23", "nodeType": "YulVariableDeclaration", - "src": "54131:20:10", + "src": "54131:20:23", "value": { "arguments": [ { "name": "args", - "nativeSrc": "54146:4:10", + "nativeSrc": "54146:4:23", "nodeType": "YulIdentifier", - "src": "54146:4:10" + "src": "54146:4:23" } ], "functionName": { "name": "mload", - "nativeSrc": "54140:5:10", + "nativeSrc": "54140:5:23", "nodeType": "YulIdentifier", - "src": "54140:5:10" + "src": "54140:5:23" }, - "nativeSrc": "54140:11:10", + "nativeSrc": "54140:11:23", "nodeType": "YulFunctionCall", - "src": "54140:11:10" + "src": "54140:11:23" }, "variables": [ { "name": "n", - "nativeSrc": "54135:1:10", + "nativeSrc": "54135:1:23", "nodeType": "YulTypedName", - "src": "54135:1:10", + "src": "54135:1:23", "type": "" } ] @@ -105477,19 +124452,19 @@ "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "54179:3:10", + "nativeSrc": "54179:3:23", "nodeType": "YulIdentifier", - "src": "54179:3:10" + "src": "54179:3:23" }, - "nativeSrc": "54179:5:10", + "nativeSrc": "54179:5:23", "nodeType": "YulFunctionCall", - "src": "54179:5:10" + "src": "54179:5:23" }, { "kind": "number", - "nativeSrc": "54186:1:10", + "nativeSrc": "54186:1:23", "nodeType": "YulLiteral", - "src": "54186:1:10", + "src": "54186:1:23", "type": "", "value": "4" }, @@ -105497,93 +124472,93 @@ "arguments": [ { "name": "args", - "nativeSrc": "54193:4:10", + "nativeSrc": "54193:4:23", "nodeType": "YulIdentifier", - "src": "54193:4:10" + "src": "54193:4:23" }, { "kind": "number", - "nativeSrc": "54199:4:10", + "nativeSrc": "54199:4:23", "nodeType": "YulLiteral", - "src": "54199:4:10", + "src": "54199:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "54189:3:10", + "nativeSrc": "54189:3:23", "nodeType": "YulIdentifier", - "src": "54189:3:10" + "src": "54189:3:23" }, - "nativeSrc": "54189:15:10", + "nativeSrc": "54189:15:23", "nodeType": "YulFunctionCall", - "src": "54189:15:10" + "src": "54189:15:23" }, { "name": "n", - "nativeSrc": "54206:1:10", + "nativeSrc": "54206:1:23", "nodeType": "YulIdentifier", - "src": "54206:1:10" + "src": "54206:1:23" }, { "arguments": [ { "name": "m", - "nativeSrc": "54213:1:10", + "nativeSrc": "54213:1:23", "nodeType": "YulIdentifier", - "src": "54213:1:10" + "src": "54213:1:23" }, { "kind": "number", - "nativeSrc": "54216:4:10", + "nativeSrc": "54216:4:23", "nodeType": "YulLiteral", - "src": "54216:4:10", + "src": "54216:4:23", "type": "", "value": "0x60" } ], "functionName": { "name": "add", - "nativeSrc": "54209:3:10", + "nativeSrc": "54209:3:23", "nodeType": "YulIdentifier", - "src": "54209:3:10" + "src": "54209:3:23" }, - "nativeSrc": "54209:12:10", + "nativeSrc": "54209:12:23", "nodeType": "YulFunctionCall", - "src": "54209:12:10" + "src": "54209:12:23" }, { "name": "n", - "nativeSrc": "54223:1:10", + "nativeSrc": "54223:1:23", "nodeType": "YulIdentifier", - "src": "54223:1:10" + "src": "54223:1:23" } ], "functionName": { "name": "staticcall", - "nativeSrc": "54168:10:10", + "nativeSrc": "54168:10:23", "nodeType": "YulIdentifier", - "src": "54168:10:10" + "src": "54168:10:23" }, - "nativeSrc": "54168:57:10", + "nativeSrc": "54168:57:23", "nodeType": "YulFunctionCall", - "src": "54168:57:10" + "src": "54168:57:23" } ], "functionName": { "name": "pop", - "nativeSrc": "54164:3:10", + "nativeSrc": "54164:3:23", "nodeType": "YulIdentifier", - "src": "54164:3:10" + "src": "54164:3:23" }, - "nativeSrc": "54164:62:10", + "nativeSrc": "54164:62:23", "nodeType": "YulFunctionCall", - "src": "54164:62:10" + "src": "54164:62:23" }, - "nativeSrc": "54164:62:10", + "nativeSrc": "54164:62:23", "nodeType": "YulExpressionStatement", - "src": "54164:62:10" + "src": "54164:62:23" }, { "expression": { @@ -105592,51 +124567,51 @@ "arguments": [ { "name": "m", - "nativeSrc": "54250:1:10", + "nativeSrc": "54250:1:23", "nodeType": "YulIdentifier", - "src": "54250:1:10" + "src": "54250:1:23" }, { "kind": "number", - "nativeSrc": "54253:4:10", + "nativeSrc": "54253:4:23", "nodeType": "YulLiteral", - "src": "54253:4:10", + "src": "54253:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "add", - "nativeSrc": "54246:3:10", + "nativeSrc": "54246:3:23", "nodeType": "YulIdentifier", - "src": "54246:3:10" + "src": "54246:3:23" }, - "nativeSrc": "54246:12:10", + "nativeSrc": "54246:12:23", "nodeType": "YulFunctionCall", - "src": "54246:12:10" + "src": "54246:12:23" }, { "kind": "number", - "nativeSrc": "54260:66:10", + "nativeSrc": "54260:66:23", "nodeType": "YulLiteral", - "src": "54260:66:10", + "src": "54260:66:23", "type": "", "value": "0xcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f3" } ], "functionName": { "name": "mstore", - "nativeSrc": "54239:6:10", + "nativeSrc": "54239:6:23", "nodeType": "YulIdentifier", - "src": "54239:6:10" + "src": "54239:6:23" }, - "nativeSrc": "54239:88:10", + "nativeSrc": "54239:88:23", "nodeType": "YulFunctionCall", - "src": "54239:88:10" + "src": "54239:88:23" }, - "nativeSrc": "54239:88:10", + "nativeSrc": "54239:88:23", "nodeType": "YulExpressionStatement", - "src": "54239:88:10" + "src": "54239:88:23" }, { "expression": { @@ -105645,117 +124620,117 @@ "arguments": [ { "name": "m", - "nativeSrc": "54351:1:10", + "nativeSrc": "54351:1:23", "nodeType": "YulIdentifier", - "src": "54351:1:10" + "src": "54351:1:23" }, { "kind": "number", - "nativeSrc": "54354:4:10", + "nativeSrc": "54354:4:23", "nodeType": "YulLiteral", - "src": "54354:4:10", + "src": "54354:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "54347:3:10", + "nativeSrc": "54347:3:23", "nodeType": "YulIdentifier", - "src": "54347:3:10" + "src": "54347:3:23" }, - "nativeSrc": "54347:12:10", + "nativeSrc": "54347:12:23", "nodeType": "YulFunctionCall", - "src": "54347:12:10" + "src": "54347:12:23" }, { "kind": "number", - "nativeSrc": "54361:66:10", + "nativeSrc": "54361:66:23", "nodeType": "YulLiteral", - "src": "54361:66:10", + "src": "54361:66:23", "type": "", "value": "0x5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e2076" } ], "functionName": { "name": "mstore", - "nativeSrc": "54340:6:10", + "nativeSrc": "54340:6:23", "nodeType": "YulIdentifier", - "src": "54340:6:10" + "src": "54340:6:23" }, - "nativeSrc": "54340:88:10", + "nativeSrc": "54340:88:23", "nodeType": "YulFunctionCall", - "src": "54340:88:10" + "src": "54340:88:23" }, - "nativeSrc": "54340:88:10", + "nativeSrc": "54340:88:23", "nodeType": "YulExpressionStatement", - "src": "54340:88:10" + "src": "54340:88:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "54448:4:10", + "nativeSrc": "54448:4:23", "nodeType": "YulLiteral", - "src": "54448:4:10", + "src": "54448:4:23", "type": "", "value": "0x16" }, { "kind": "number", - "nativeSrc": "54454:6:10", + "nativeSrc": "54454:6:23", "nodeType": "YulLiteral", - "src": "54454:6:10", + "src": "54454:6:23", "type": "", "value": "0x6009" } ], "functionName": { "name": "mstore", - "nativeSrc": "54441:6:10", + "nativeSrc": "54441:6:23", "nodeType": "YulIdentifier", - "src": "54441:6:10" + "src": "54441:6:23" }, - "nativeSrc": "54441:20:10", + "nativeSrc": "54441:20:23", "nodeType": "YulFunctionCall", - "src": "54441:20:10" + "src": "54441:20:23" }, - "nativeSrc": "54441:20:10", + "nativeSrc": "54441:20:23", "nodeType": "YulExpressionStatement", - "src": "54441:20:10" + "src": "54441:20:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "54481:4:10", + "nativeSrc": "54481:4:23", "nodeType": "YulLiteral", - "src": "54481:4:10", + "src": "54481:4:23", "type": "", "value": "0x14" }, { "name": "implementation", - "nativeSrc": "54487:14:10", + "nativeSrc": "54487:14:23", "nodeType": "YulIdentifier", - "src": "54487:14:10" + "src": "54487:14:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "54474:6:10", + "nativeSrc": "54474:6:23", "nodeType": "YulIdentifier", - "src": "54474:6:10" + "src": "54474:6:23" }, - "nativeSrc": "54474:28:10", + "nativeSrc": "54474:28:23", "nodeType": "YulFunctionCall", - "src": "54474:28:10" + "src": "54474:28:23" }, - "nativeSrc": "54474:28:10", + "nativeSrc": "54474:28:23", "nodeType": "YulExpressionStatement", - "src": "54474:28:10" + "src": "54474:28:23" }, { "expression": { @@ -105764,36 +124739,36 @@ "arguments": [ { "name": "n", - "nativeSrc": "54612:1:10", + "nativeSrc": "54612:1:23", "nodeType": "YulIdentifier", - "src": "54612:1:10" + "src": "54612:1:23" }, { "kind": "number", - "nativeSrc": "54615:6:10", + "nativeSrc": "54615:6:23", "nodeType": "YulLiteral", - "src": "54615:6:10", + "src": "54615:6:23", "type": "", "value": "0xffc2" } ], "functionName": { "name": "gt", - "nativeSrc": "54609:2:10", + "nativeSrc": "54609:2:23", "nodeType": "YulIdentifier", - "src": "54609:2:10" + "src": "54609:2:23" }, - "nativeSrc": "54609:13:10", + "nativeSrc": "54609:13:23", "nodeType": "YulFunctionCall", - "src": "54609:13:10" + "src": "54609:13:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "54628:24:10", + "nativeSrc": "54628:24:23", "nodeType": "YulLiteral", - "src": "54628:24:10", + "src": "54628:24:23", "type": "", "value": "0xfe61003d3d8160233d3973" }, @@ -105801,238 +124776,238 @@ "arguments": [ { "kind": "number", - "nativeSrc": "54658:2:10", + "nativeSrc": "54658:2:23", "nodeType": "YulLiteral", - "src": "54658:2:10", + "src": "54658:2:23", "type": "", "value": "56" }, { "name": "n", - "nativeSrc": "54662:1:10", + "nativeSrc": "54662:1:23", "nodeType": "YulIdentifier", - "src": "54662:1:10" + "src": "54662:1:23" } ], "functionName": { "name": "shl", - "nativeSrc": "54654:3:10", + "nativeSrc": "54654:3:23", "nodeType": "YulIdentifier", - "src": "54654:3:10" + "src": "54654:3:23" }, - "nativeSrc": "54654:10:10", + "nativeSrc": "54654:10:23", "nodeType": "YulFunctionCall", - "src": "54654:10:10" + "src": "54654:10:23" } ], "functionName": { "name": "add", - "nativeSrc": "54624:3:10", + "nativeSrc": "54624:3:23", "nodeType": "YulIdentifier", - "src": "54624:3:10" + "src": "54624:3:23" }, - "nativeSrc": "54624:41:10", + "nativeSrc": "54624:41:23", "nodeType": "YulFunctionCall", - "src": "54624:41:10" + "src": "54624:41:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "54602:6:10", + "nativeSrc": "54602:6:23", "nodeType": "YulIdentifier", - "src": "54602:6:10" + "src": "54602:6:23" }, - "nativeSrc": "54602:64:10", + "nativeSrc": "54602:64:23", "nodeType": "YulFunctionCall", - "src": "54602:64:10" + "src": "54602:64:23" }, - "nativeSrc": "54602:64:10", + "nativeSrc": "54602:64:23", "nodeType": "YulExpressionStatement", - "src": "54602:64:10" + "src": "54602:64:23" }, { "expression": { "arguments": [ { "name": "m", - "nativeSrc": "54686:1:10", + "nativeSrc": "54686:1:23", "nodeType": "YulIdentifier", - "src": "54686:1:10" + "src": "54686:1:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "54695:4:10", + "nativeSrc": "54695:4:23", "nodeType": "YulLiteral", - "src": "54695:4:10", + "src": "54695:4:23", "type": "", "value": "0x16" } ], "functionName": { "name": "mload", - "nativeSrc": "54689:5:10", + "nativeSrc": "54689:5:23", "nodeType": "YulIdentifier", - "src": "54689:5:10" + "src": "54689:5:23" }, - "nativeSrc": "54689:11:10", + "nativeSrc": "54689:11:23", "nodeType": "YulFunctionCall", - "src": "54689:11:10" + "src": "54689:11:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "54679:6:10", + "nativeSrc": "54679:6:23", "nodeType": "YulIdentifier", - "src": "54679:6:10" + "src": "54679:6:23" }, - "nativeSrc": "54679:22:10", + "nativeSrc": "54679:22:23", "nodeType": "YulFunctionCall", - "src": "54679:22:10" + "src": "54679:22:23" }, - "nativeSrc": "54679:22:10", + "nativeSrc": "54679:22:23", "nodeType": "YulExpressionStatement", - "src": "54679:22:10" + "src": "54679:22:23" }, { - "nativeSrc": "54714:42:10", + "nativeSrc": "54714:42:23", "nodeType": "YulAssignment", - "src": "54714:42:10", + "src": "54714:42:23", "value": { "arguments": [ { "name": "value", - "nativeSrc": "54733:5:10", + "nativeSrc": "54733:5:23", "nodeType": "YulIdentifier", - "src": "54733:5:10" + "src": "54733:5:23" }, { "name": "m", - "nativeSrc": "54740:1:10", + "nativeSrc": "54740:1:23", "nodeType": "YulIdentifier", - "src": "54740:1:10" + "src": "54740:1:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "54747:1:10", + "nativeSrc": "54747:1:23", "nodeType": "YulIdentifier", - "src": "54747:1:10" + "src": "54747:1:23" }, { "kind": "number", - "nativeSrc": "54750:4:10", + "nativeSrc": "54750:4:23", "nodeType": "YulLiteral", - "src": "54750:4:10", + "src": "54750:4:23", "type": "", "value": "0x60" } ], "functionName": { "name": "add", - "nativeSrc": "54743:3:10", + "nativeSrc": "54743:3:23", "nodeType": "YulIdentifier", - "src": "54743:3:10" + "src": "54743:3:23" }, - "nativeSrc": "54743:12:10", + "nativeSrc": "54743:12:23", "nodeType": "YulFunctionCall", - "src": "54743:12:10" + "src": "54743:12:23" } ], "functionName": { "name": "create", - "nativeSrc": "54726:6:10", + "nativeSrc": "54726:6:23", "nodeType": "YulIdentifier", - "src": "54726:6:10" + "src": "54726:6:23" }, - "nativeSrc": "54726:30:10", + "nativeSrc": "54726:30:23", "nodeType": "YulFunctionCall", - "src": "54726:30:10" + "src": "54726:30:23" }, "variableNames": [ { "name": "instance", - "nativeSrc": "54714:8:10", + "nativeSrc": "54714:8:23", "nodeType": "YulIdentifier", - "src": "54714:8:10" + "src": "54714:8:23" } ] }, { "body": { - "nativeSrc": "54789:116:10", + "nativeSrc": "54789:116:23", "nodeType": "YulBlock", - "src": "54789:116:10", + "src": "54789:116:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "54814:4:10", + "nativeSrc": "54814:4:23", "nodeType": "YulLiteral", - "src": "54814:4:10", + "src": "54814:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "54820:10:10", + "nativeSrc": "54820:10:23", "nodeType": "YulLiteral", - "src": "54820:10:10", + "src": "54820:10:23", "type": "", "value": "0x30116425" } ], "functionName": { "name": "mstore", - "nativeSrc": "54807:6:10", + "nativeSrc": "54807:6:23", "nodeType": "YulIdentifier", - "src": "54807:6:10" + "src": "54807:6:23" }, - "nativeSrc": "54807:24:10", + "nativeSrc": "54807:24:23", "nodeType": "YulFunctionCall", - "src": "54807:24:10" + "src": "54807:24:23" }, - "nativeSrc": "54807:24:10", + "nativeSrc": "54807:24:23", "nodeType": "YulExpressionStatement", - "src": "54807:24:10" + "src": "54807:24:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "54880:4:10", + "nativeSrc": "54880:4:23", "nodeType": "YulLiteral", - "src": "54880:4:10", + "src": "54880:4:23", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "54886:4:10", + "nativeSrc": "54886:4:23", "nodeType": "YulLiteral", - "src": "54886:4:10", + "src": "54886:4:23", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "54873:6:10", + "nativeSrc": "54873:6:23", "nodeType": "YulIdentifier", - "src": "54873:6:10" + "src": "54873:6:23" }, - "nativeSrc": "54873:18:10", + "nativeSrc": "54873:18:23", "nodeType": "YulFunctionCall", - "src": "54873:18:10" + "src": "54873:18:23" }, - "nativeSrc": "54873:18:10", + "nativeSrc": "54873:18:23", "nodeType": "YulExpressionStatement", - "src": "54873:18:10" + "src": "54873:18:23" } ] }, @@ -106040,24 +125015,24 @@ "arguments": [ { "name": "instance", - "nativeSrc": "54779:8:10", + "nativeSrc": "54779:8:23", "nodeType": "YulIdentifier", - "src": "54779:8:10" + "src": "54779:8:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "54772:6:10", + "nativeSrc": "54772:6:23", "nodeType": "YulIdentifier", - "src": "54772:6:10" + "src": "54772:6:23" }, - "nativeSrc": "54772:16:10", + "nativeSrc": "54772:16:23", "nodeType": "YulFunctionCall", - "src": "54772:16:10" + "src": "54772:16:23" }, - "nativeSrc": "54769:136:10", + "nativeSrc": "54769:136:23", "nodeType": "YulIf", - "src": "54769:136:10" + "src": "54769:136:23" } ] }, @@ -106065,80 +125040,80 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3704, + "declaration": 5310, "isOffset": false, "isSlot": false, - "src": "54146:4:10", + "src": "54146:4:23", "valueSize": 1 }, { - "declaration": 3704, + "declaration": 5310, "isOffset": false, "isSlot": false, - "src": "54193:4:10", + "src": "54193:4:23", "valueSize": 1 }, { - "declaration": 3702, + "declaration": 5308, "isOffset": false, "isSlot": false, - "src": "54487:14:10", + "src": "54487:14:23", "valueSize": 1 }, { - "declaration": 3707, + "declaration": 5313, "isOffset": false, "isSlot": false, - "src": "54714:8:10", + "src": "54714:8:23", "valueSize": 1 }, { - "declaration": 3707, + "declaration": 5313, "isOffset": false, "isSlot": false, - "src": "54779:8:10", + "src": "54779:8:23", "valueSize": 1 }, { - "declaration": 3700, + "declaration": 5306, "isOffset": false, "isSlot": false, - "src": "54733:5:10", + "src": "54733:5:23", "valueSize": 1 } ], - "id": 3709, + "id": 5315, "nodeType": "InlineAssembly", - "src": "54075:840:10" + "src": "54075:840:23" } ] }, "documentation": { - "id": 3698, + "id": 5304, "nodeType": "StructuredDocumentation", - "src": "53758:122:10", + "src": "53758:122:23", "text": "@dev Deploys a minimal ERC1967 proxy with `implementation` and `args`.\n Deposits `value` ETH during deployment." }, - "id": 3711, + "id": 5317, "implemented": true, "kind": "function", "modifiers": [], "name": "deployERC1967", - "nameLocation": "53894:13:10", + "nameLocation": "53894:13:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3705, + "id": 5311, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3700, + "id": 5306, "mutability": "mutable", "name": "value", - "nameLocation": "53916:5:10", + "nameLocation": "53916:5:23", "nodeType": "VariableDeclaration", - "scope": 3711, - "src": "53908:13:10", + "scope": 5317, + "src": "53908:13:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -106146,10 +125121,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3699, + "id": 5305, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "53908:7:10", + "src": "53908:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -106159,13 +125134,13 @@ }, { "constant": false, - "id": 3702, + "id": 5308, "mutability": "mutable", "name": "implementation", - "nameLocation": "53931:14:10", + "nameLocation": "53931:14:23", "nodeType": "VariableDeclaration", - "scope": 3711, - "src": "53923:22:10", + "scope": 5317, + "src": "53923:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -106173,10 +125148,10 @@ "typeString": "address" }, "typeName": { - "id": 3701, + "id": 5307, "name": "address", "nodeType": "ElementaryTypeName", - "src": "53923:7:10", + "src": "53923:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -106187,13 +125162,13 @@ }, { "constant": false, - "id": 3704, + "id": 5310, "mutability": "mutable", "name": "args", - "nameLocation": "53960:4:10", + "nameLocation": "53960:4:23", "nodeType": "VariableDeclaration", - "scope": 3711, - "src": "53947:17:10", + "scope": 5317, + "src": "53947:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -106201,10 +125176,10 @@ "typeString": "bytes" }, "typeName": { - "id": 3703, + "id": 5309, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "53947:5:10", + "src": "53947:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -106213,21 +125188,21 @@ "visibility": "internal" } ], - "src": "53907:58:10" + "src": "53907:58:23" }, "returnParameters": { - "id": 3708, + "id": 5314, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3707, + "id": 5313, "mutability": "mutable", "name": "instance", - "nameLocation": "54008:8:10", + "nameLocation": "54008:8:23", "nodeType": "VariableDeclaration", - "scope": 3711, - "src": "54000:16:10", + "scope": 5317, + "src": "54000:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -106235,10 +125210,10 @@ "typeString": "address" }, "typeName": { - "id": 3706, + "id": 5312, "name": "address", "nodeType": "ElementaryTypeName", - "src": "54000:7:10", + "src": "54000:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -106248,34 +125223,34 @@ "visibility": "internal" } ], - "src": "53999:18:10" + "src": "53999:18:23" }, - "scope": 5093, - "src": "53885:1036:10", + "scope": 6699, + "src": "53885:1036:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3732, + "id": 5338, "nodeType": "Block", - "src": "55177:85:10", + "src": "55177:85:23", "statements": [ { "expression": { - "id": 3730, + "id": 5336, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 3723, + "id": 5329, "name": "instance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3721, - "src": "55187:8:10", + "referencedDeclaration": 5327, + "src": "55187:8:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -106287,14 +125262,14 @@ "arguments": [ { "hexValue": "30", - "id": 3725, + "id": 5331, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "55225:1:10", + "src": "55225:1:23", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -106302,36 +125277,36 @@ "value": "0" }, { - "id": 3726, + "id": 5332, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3714, - "src": "55228:14:10", + "referencedDeclaration": 5320, + "src": "55228:14:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 3727, + "id": 5333, "name": "args", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3716, - "src": "55244:4:10", + "referencedDeclaration": 5322, + "src": "55244:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { - "id": 3728, + "id": 5334, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3718, - "src": "55250:4:10", + "referencedDeclaration": 5324, + "src": "55250:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -106357,23 +125332,23 @@ "typeString": "bytes32" } ], - "id": 3724, + "id": 5330, "name": "deployDeterministicERC1967", "nodeType": "Identifier", "overloadedDeclarations": [ - 3582, - 3596, - 3733, - 3749 + 5188, + 5202, + 5339, + 5355 ], - "referencedDeclaration": 3749, - "src": "55198:26:10", + "referencedDeclaration": 5355, + "src": "55198:26:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$_t_bytes32_$returns$_t_address_$", "typeString": "function (uint256,address,bytes memory,bytes32) returns (address)" } }, - "id": 3729, + "id": 5335, "isConstant": false, "isLValue": false, "isPure": false, @@ -106382,51 +125357,51 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "55198:57:10", + "src": "55198:57:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "55187:68:10", + "src": "55187:68:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 3731, + "id": 5337, "nodeType": "ExpressionStatement", - "src": "55187:68:10" + "src": "55187:68:23" } ] }, "documentation": { - "id": 3712, + "id": 5318, "nodeType": "StructuredDocumentation", - "src": "54927:96:10", + "src": "54927:96:23", "text": "@dev Deploys a deterministic minimal ERC1967 proxy with `implementation`, `args` and `salt`." }, - "id": 3733, + "id": 5339, "implemented": true, "kind": "function", "modifiers": [], "name": "deployDeterministicERC1967", - "nameLocation": "55037:26:10", + "nameLocation": "55037:26:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3719, + "id": 5325, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3714, + "id": 5320, "mutability": "mutable", "name": "implementation", - "nameLocation": "55072:14:10", + "nameLocation": "55072:14:23", "nodeType": "VariableDeclaration", - "scope": 3733, - "src": "55064:22:10", + "scope": 5339, + "src": "55064:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -106434,10 +125409,10 @@ "typeString": "address" }, "typeName": { - "id": 3713, + "id": 5319, "name": "address", "nodeType": "ElementaryTypeName", - "src": "55064:7:10", + "src": "55064:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -106448,13 +125423,13 @@ }, { "constant": false, - "id": 3716, + "id": 5322, "mutability": "mutable", "name": "args", - "nameLocation": "55101:4:10", + "nameLocation": "55101:4:23", "nodeType": "VariableDeclaration", - "scope": 3733, - "src": "55088:17:10", + "scope": 5339, + "src": "55088:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -106462,10 +125437,10 @@ "typeString": "bytes" }, "typeName": { - "id": 3715, + "id": 5321, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "55088:5:10", + "src": "55088:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -106475,13 +125450,13 @@ }, { "constant": false, - "id": 3718, + "id": 5324, "mutability": "mutable", "name": "salt", - "nameLocation": "55115:4:10", + "nameLocation": "55115:4:23", "nodeType": "VariableDeclaration", - "scope": 3733, - "src": "55107:12:10", + "scope": 5339, + "src": "55107:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -106489,10 +125464,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 3717, + "id": 5323, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "55107:7:10", + "src": "55107:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -106501,21 +125476,21 @@ "visibility": "internal" } ], - "src": "55063:57:10" + "src": "55063:57:23" }, "returnParameters": { - "id": 3722, + "id": 5328, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3721, + "id": 5327, "mutability": "mutable", "name": "instance", - "nameLocation": "55163:8:10", + "nameLocation": "55163:8:23", "nodeType": "VariableDeclaration", - "scope": 3733, - "src": "55155:16:10", + "scope": 5339, + "src": "55155:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -106523,10 +125498,10 @@ "typeString": "address" }, "typeName": { - "id": 3720, + "id": 5326, "name": "address", "nodeType": "ElementaryTypeName", - "src": "55155:7:10", + "src": "55155:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -106536,90 +125511,90 @@ "visibility": "internal" } ], - "src": "55154:18:10" + "src": "55154:18:23" }, - "scope": 5093, - "src": "55028:234:10", + "scope": 6699, + "src": "55028:234:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3748, + "id": 5354, "nodeType": "Block", - "src": "55599:906:10", + "src": "55599:906:23", "statements": [ { "AST": { - "nativeSrc": "55661:838:10", + "nativeSrc": "55661:838:23", "nodeType": "YulBlock", - "src": "55661:838:10", + "src": "55661:838:23", "statements": [ { - "nativeSrc": "55675:20:10", + "nativeSrc": "55675:20:23", "nodeType": "YulVariableDeclaration", - "src": "55675:20:10", + "src": "55675:20:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "55690:4:10", + "nativeSrc": "55690:4:23", "nodeType": "YulLiteral", - "src": "55690:4:10", + "src": "55690:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "55684:5:10", + "nativeSrc": "55684:5:23", "nodeType": "YulIdentifier", - "src": "55684:5:10" + "src": "55684:5:23" }, - "nativeSrc": "55684:11:10", + "nativeSrc": "55684:11:23", "nodeType": "YulFunctionCall", - "src": "55684:11:10" + "src": "55684:11:23" }, "variables": [ { "name": "m", - "nativeSrc": "55679:1:10", + "nativeSrc": "55679:1:23", "nodeType": "YulTypedName", - "src": "55679:1:10", + "src": "55679:1:23", "type": "" } ] }, { - "nativeSrc": "55708:20:10", + "nativeSrc": "55708:20:23", "nodeType": "YulVariableDeclaration", - "src": "55708:20:10", + "src": "55708:20:23", "value": { "arguments": [ { "name": "args", - "nativeSrc": "55723:4:10", + "nativeSrc": "55723:4:23", "nodeType": "YulIdentifier", - "src": "55723:4:10" + "src": "55723:4:23" } ], "functionName": { "name": "mload", - "nativeSrc": "55717:5:10", + "nativeSrc": "55717:5:23", "nodeType": "YulIdentifier", - "src": "55717:5:10" + "src": "55717:5:23" }, - "nativeSrc": "55717:11:10", + "nativeSrc": "55717:11:23", "nodeType": "YulFunctionCall", - "src": "55717:11:10" + "src": "55717:11:23" }, "variables": [ { "name": "n", - "nativeSrc": "55712:1:10", + "nativeSrc": "55712:1:23", "nodeType": "YulTypedName", - "src": "55712:1:10", + "src": "55712:1:23", "type": "" } ] @@ -106633,19 +125608,19 @@ "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "55756:3:10", + "nativeSrc": "55756:3:23", "nodeType": "YulIdentifier", - "src": "55756:3:10" + "src": "55756:3:23" }, - "nativeSrc": "55756:5:10", + "nativeSrc": "55756:5:23", "nodeType": "YulFunctionCall", - "src": "55756:5:10" + "src": "55756:5:23" }, { "kind": "number", - "nativeSrc": "55763:1:10", + "nativeSrc": "55763:1:23", "nodeType": "YulLiteral", - "src": "55763:1:10", + "src": "55763:1:23", "type": "", "value": "4" }, @@ -106653,93 +125628,93 @@ "arguments": [ { "name": "args", - "nativeSrc": "55770:4:10", + "nativeSrc": "55770:4:23", "nodeType": "YulIdentifier", - "src": "55770:4:10" + "src": "55770:4:23" }, { "kind": "number", - "nativeSrc": "55776:4:10", + "nativeSrc": "55776:4:23", "nodeType": "YulLiteral", - "src": "55776:4:10", + "src": "55776:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "55766:3:10", + "nativeSrc": "55766:3:23", "nodeType": "YulIdentifier", - "src": "55766:3:10" + "src": "55766:3:23" }, - "nativeSrc": "55766:15:10", + "nativeSrc": "55766:15:23", "nodeType": "YulFunctionCall", - "src": "55766:15:10" + "src": "55766:15:23" }, { "name": "n", - "nativeSrc": "55783:1:10", + "nativeSrc": "55783:1:23", "nodeType": "YulIdentifier", - "src": "55783:1:10" + "src": "55783:1:23" }, { "arguments": [ { "name": "m", - "nativeSrc": "55790:1:10", + "nativeSrc": "55790:1:23", "nodeType": "YulIdentifier", - "src": "55790:1:10" + "src": "55790:1:23" }, { "kind": "number", - "nativeSrc": "55793:4:10", + "nativeSrc": "55793:4:23", "nodeType": "YulLiteral", - "src": "55793:4:10", + "src": "55793:4:23", "type": "", "value": "0x60" } ], "functionName": { "name": "add", - "nativeSrc": "55786:3:10", + "nativeSrc": "55786:3:23", "nodeType": "YulIdentifier", - "src": "55786:3:10" + "src": "55786:3:23" }, - "nativeSrc": "55786:12:10", + "nativeSrc": "55786:12:23", "nodeType": "YulFunctionCall", - "src": "55786:12:10" + "src": "55786:12:23" }, { "name": "n", - "nativeSrc": "55800:1:10", + "nativeSrc": "55800:1:23", "nodeType": "YulIdentifier", - "src": "55800:1:10" + "src": "55800:1:23" } ], "functionName": { "name": "staticcall", - "nativeSrc": "55745:10:10", + "nativeSrc": "55745:10:23", "nodeType": "YulIdentifier", - "src": "55745:10:10" + "src": "55745:10:23" }, - "nativeSrc": "55745:57:10", + "nativeSrc": "55745:57:23", "nodeType": "YulFunctionCall", - "src": "55745:57:10" + "src": "55745:57:23" } ], "functionName": { "name": "pop", - "nativeSrc": "55741:3:10", + "nativeSrc": "55741:3:23", "nodeType": "YulIdentifier", - "src": "55741:3:10" + "src": "55741:3:23" }, - "nativeSrc": "55741:62:10", + "nativeSrc": "55741:62:23", "nodeType": "YulFunctionCall", - "src": "55741:62:10" + "src": "55741:62:23" }, - "nativeSrc": "55741:62:10", + "nativeSrc": "55741:62:23", "nodeType": "YulExpressionStatement", - "src": "55741:62:10" + "src": "55741:62:23" }, { "expression": { @@ -106748,51 +125723,51 @@ "arguments": [ { "name": "m", - "nativeSrc": "55827:1:10", + "nativeSrc": "55827:1:23", "nodeType": "YulIdentifier", - "src": "55827:1:10" + "src": "55827:1:23" }, { "kind": "number", - "nativeSrc": "55830:4:10", + "nativeSrc": "55830:4:23", "nodeType": "YulLiteral", - "src": "55830:4:10", + "src": "55830:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "add", - "nativeSrc": "55823:3:10", + "nativeSrc": "55823:3:23", "nodeType": "YulIdentifier", - "src": "55823:3:10" + "src": "55823:3:23" }, - "nativeSrc": "55823:12:10", + "nativeSrc": "55823:12:23", "nodeType": "YulFunctionCall", - "src": "55823:12:10" + "src": "55823:12:23" }, { "kind": "number", - "nativeSrc": "55837:66:10", + "nativeSrc": "55837:66:23", "nodeType": "YulLiteral", - "src": "55837:66:10", + "src": "55837:66:23", "type": "", "value": "0xcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f3" } ], "functionName": { "name": "mstore", - "nativeSrc": "55816:6:10", + "nativeSrc": "55816:6:23", "nodeType": "YulIdentifier", - "src": "55816:6:10" + "src": "55816:6:23" }, - "nativeSrc": "55816:88:10", + "nativeSrc": "55816:88:23", "nodeType": "YulFunctionCall", - "src": "55816:88:10" + "src": "55816:88:23" }, - "nativeSrc": "55816:88:10", + "nativeSrc": "55816:88:23", "nodeType": "YulExpressionStatement", - "src": "55816:88:10" + "src": "55816:88:23" }, { "expression": { @@ -106801,117 +125776,117 @@ "arguments": [ { "name": "m", - "nativeSrc": "55928:1:10", + "nativeSrc": "55928:1:23", "nodeType": "YulIdentifier", - "src": "55928:1:10" + "src": "55928:1:23" }, { "kind": "number", - "nativeSrc": "55931:4:10", + "nativeSrc": "55931:4:23", "nodeType": "YulLiteral", - "src": "55931:4:10", + "src": "55931:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "55924:3:10", + "nativeSrc": "55924:3:23", "nodeType": "YulIdentifier", - "src": "55924:3:10" + "src": "55924:3:23" }, - "nativeSrc": "55924:12:10", + "nativeSrc": "55924:12:23", "nodeType": "YulFunctionCall", - "src": "55924:12:10" + "src": "55924:12:23" }, { "kind": "number", - "nativeSrc": "55938:66:10", + "nativeSrc": "55938:66:23", "nodeType": "YulLiteral", - "src": "55938:66:10", + "src": "55938:66:23", "type": "", "value": "0x5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e2076" } ], "functionName": { "name": "mstore", - "nativeSrc": "55917:6:10", + "nativeSrc": "55917:6:23", "nodeType": "YulIdentifier", - "src": "55917:6:10" + "src": "55917:6:23" }, - "nativeSrc": "55917:88:10", + "nativeSrc": "55917:88:23", "nodeType": "YulFunctionCall", - "src": "55917:88:10" + "src": "55917:88:23" }, - "nativeSrc": "55917:88:10", + "nativeSrc": "55917:88:23", "nodeType": "YulExpressionStatement", - "src": "55917:88:10" + "src": "55917:88:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "56025:4:10", + "nativeSrc": "56025:4:23", "nodeType": "YulLiteral", - "src": "56025:4:10", + "src": "56025:4:23", "type": "", "value": "0x16" }, { "kind": "number", - "nativeSrc": "56031:6:10", + "nativeSrc": "56031:6:23", "nodeType": "YulLiteral", - "src": "56031:6:10", + "src": "56031:6:23", "type": "", "value": "0x6009" } ], "functionName": { "name": "mstore", - "nativeSrc": "56018:6:10", + "nativeSrc": "56018:6:23", "nodeType": "YulIdentifier", - "src": "56018:6:10" + "src": "56018:6:23" }, - "nativeSrc": "56018:20:10", + "nativeSrc": "56018:20:23", "nodeType": "YulFunctionCall", - "src": "56018:20:10" + "src": "56018:20:23" }, - "nativeSrc": "56018:20:10", + "nativeSrc": "56018:20:23", "nodeType": "YulExpressionStatement", - "src": "56018:20:10" + "src": "56018:20:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "56058:4:10", + "nativeSrc": "56058:4:23", "nodeType": "YulLiteral", - "src": "56058:4:10", + "src": "56058:4:23", "type": "", "value": "0x14" }, { "name": "implementation", - "nativeSrc": "56064:14:10", + "nativeSrc": "56064:14:23", "nodeType": "YulIdentifier", - "src": "56064:14:10" + "src": "56064:14:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "56051:6:10", + "nativeSrc": "56051:6:23", "nodeType": "YulIdentifier", - "src": "56051:6:10" + "src": "56051:6:23" }, - "nativeSrc": "56051:28:10", + "nativeSrc": "56051:28:23", "nodeType": "YulFunctionCall", - "src": "56051:28:10" + "src": "56051:28:23" }, - "nativeSrc": "56051:28:10", + "nativeSrc": "56051:28:23", "nodeType": "YulExpressionStatement", - "src": "56051:28:10" + "src": "56051:28:23" }, { "expression": { @@ -106920,36 +125895,36 @@ "arguments": [ { "name": "n", - "nativeSrc": "56189:1:10", + "nativeSrc": "56189:1:23", "nodeType": "YulIdentifier", - "src": "56189:1:10" + "src": "56189:1:23" }, { "kind": "number", - "nativeSrc": "56192:6:10", + "nativeSrc": "56192:6:23", "nodeType": "YulLiteral", - "src": "56192:6:10", + "src": "56192:6:23", "type": "", "value": "0xffc2" } ], "functionName": { "name": "gt", - "nativeSrc": "56186:2:10", + "nativeSrc": "56186:2:23", "nodeType": "YulIdentifier", - "src": "56186:2:10" + "src": "56186:2:23" }, - "nativeSrc": "56186:13:10", + "nativeSrc": "56186:13:23", "nodeType": "YulFunctionCall", - "src": "56186:13:10" + "src": "56186:13:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "56205:24:10", + "nativeSrc": "56205:24:23", "nodeType": "YulLiteral", - "src": "56205:24:10", + "src": "56205:24:23", "type": "", "value": "0xfe61003d3d8160233d3973" }, @@ -106957,244 +125932,244 @@ "arguments": [ { "kind": "number", - "nativeSrc": "56235:2:10", + "nativeSrc": "56235:2:23", "nodeType": "YulLiteral", - "src": "56235:2:10", + "src": "56235:2:23", "type": "", "value": "56" }, { "name": "n", - "nativeSrc": "56239:1:10", + "nativeSrc": "56239:1:23", "nodeType": "YulIdentifier", - "src": "56239:1:10" + "src": "56239:1:23" } ], "functionName": { "name": "shl", - "nativeSrc": "56231:3:10", + "nativeSrc": "56231:3:23", "nodeType": "YulIdentifier", - "src": "56231:3:10" + "src": "56231:3:23" }, - "nativeSrc": "56231:10:10", + "nativeSrc": "56231:10:23", "nodeType": "YulFunctionCall", - "src": "56231:10:10" + "src": "56231:10:23" } ], "functionName": { "name": "add", - "nativeSrc": "56201:3:10", + "nativeSrc": "56201:3:23", "nodeType": "YulIdentifier", - "src": "56201:3:10" + "src": "56201:3:23" }, - "nativeSrc": "56201:41:10", + "nativeSrc": "56201:41:23", "nodeType": "YulFunctionCall", - "src": "56201:41:10" + "src": "56201:41:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "56179:6:10", + "nativeSrc": "56179:6:23", "nodeType": "YulIdentifier", - "src": "56179:6:10" + "src": "56179:6:23" }, - "nativeSrc": "56179:64:10", + "nativeSrc": "56179:64:23", "nodeType": "YulFunctionCall", - "src": "56179:64:10" + "src": "56179:64:23" }, - "nativeSrc": "56179:64:10", + "nativeSrc": "56179:64:23", "nodeType": "YulExpressionStatement", - "src": "56179:64:10" + "src": "56179:64:23" }, { "expression": { "arguments": [ { "name": "m", - "nativeSrc": "56263:1:10", + "nativeSrc": "56263:1:23", "nodeType": "YulIdentifier", - "src": "56263:1:10" + "src": "56263:1:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "56272:4:10", + "nativeSrc": "56272:4:23", "nodeType": "YulLiteral", - "src": "56272:4:10", + "src": "56272:4:23", "type": "", "value": "0x16" } ], "functionName": { "name": "mload", - "nativeSrc": "56266:5:10", + "nativeSrc": "56266:5:23", "nodeType": "YulIdentifier", - "src": "56266:5:10" + "src": "56266:5:23" }, - "nativeSrc": "56266:11:10", + "nativeSrc": "56266:11:23", "nodeType": "YulFunctionCall", - "src": "56266:11:10" + "src": "56266:11:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "56256:6:10", + "nativeSrc": "56256:6:23", "nodeType": "YulIdentifier", - "src": "56256:6:10" + "src": "56256:6:23" }, - "nativeSrc": "56256:22:10", + "nativeSrc": "56256:22:23", "nodeType": "YulFunctionCall", - "src": "56256:22:10" + "src": "56256:22:23" }, - "nativeSrc": "56256:22:10", + "nativeSrc": "56256:22:23", "nodeType": "YulExpressionStatement", - "src": "56256:22:10" + "src": "56256:22:23" }, { - "nativeSrc": "56291:49:10", + "nativeSrc": "56291:49:23", "nodeType": "YulAssignment", - "src": "56291:49:10", + "src": "56291:49:23", "value": { "arguments": [ { "name": "value", - "nativeSrc": "56311:5:10", + "nativeSrc": "56311:5:23", "nodeType": "YulIdentifier", - "src": "56311:5:10" + "src": "56311:5:23" }, { "name": "m", - "nativeSrc": "56318:1:10", + "nativeSrc": "56318:1:23", "nodeType": "YulIdentifier", - "src": "56318:1:10" + "src": "56318:1:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "56325:1:10", + "nativeSrc": "56325:1:23", "nodeType": "YulIdentifier", - "src": "56325:1:10" + "src": "56325:1:23" }, { "kind": "number", - "nativeSrc": "56328:4:10", + "nativeSrc": "56328:4:23", "nodeType": "YulLiteral", - "src": "56328:4:10", + "src": "56328:4:23", "type": "", "value": "0x60" } ], "functionName": { "name": "add", - "nativeSrc": "56321:3:10", + "nativeSrc": "56321:3:23", "nodeType": "YulIdentifier", - "src": "56321:3:10" + "src": "56321:3:23" }, - "nativeSrc": "56321:12:10", + "nativeSrc": "56321:12:23", "nodeType": "YulFunctionCall", - "src": "56321:12:10" + "src": "56321:12:23" }, { "name": "salt", - "nativeSrc": "56335:4:10", + "nativeSrc": "56335:4:23", "nodeType": "YulIdentifier", - "src": "56335:4:10" + "src": "56335:4:23" } ], "functionName": { "name": "create2", - "nativeSrc": "56303:7:10", + "nativeSrc": "56303:7:23", "nodeType": "YulIdentifier", - "src": "56303:7:10" + "src": "56303:7:23" }, - "nativeSrc": "56303:37:10", + "nativeSrc": "56303:37:23", "nodeType": "YulFunctionCall", - "src": "56303:37:10" + "src": "56303:37:23" }, "variableNames": [ { "name": "instance", - "nativeSrc": "56291:8:10", + "nativeSrc": "56291:8:23", "nodeType": "YulIdentifier", - "src": "56291:8:10" + "src": "56291:8:23" } ] }, { "body": { - "nativeSrc": "56373:116:10", + "nativeSrc": "56373:116:23", "nodeType": "YulBlock", - "src": "56373:116:10", + "src": "56373:116:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "56398:4:10", + "nativeSrc": "56398:4:23", "nodeType": "YulLiteral", - "src": "56398:4:10", + "src": "56398:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "56404:10:10", + "nativeSrc": "56404:10:23", "nodeType": "YulLiteral", - "src": "56404:10:10", + "src": "56404:10:23", "type": "", "value": "0x30116425" } ], "functionName": { "name": "mstore", - "nativeSrc": "56391:6:10", + "nativeSrc": "56391:6:23", "nodeType": "YulIdentifier", - "src": "56391:6:10" + "src": "56391:6:23" }, - "nativeSrc": "56391:24:10", + "nativeSrc": "56391:24:23", "nodeType": "YulFunctionCall", - "src": "56391:24:10" + "src": "56391:24:23" }, - "nativeSrc": "56391:24:10", + "nativeSrc": "56391:24:23", "nodeType": "YulExpressionStatement", - "src": "56391:24:10" + "src": "56391:24:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "56464:4:10", + "nativeSrc": "56464:4:23", "nodeType": "YulLiteral", - "src": "56464:4:10", + "src": "56464:4:23", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "56470:4:10", + "nativeSrc": "56470:4:23", "nodeType": "YulLiteral", - "src": "56470:4:10", + "src": "56470:4:23", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "56457:6:10", + "nativeSrc": "56457:6:23", "nodeType": "YulIdentifier", - "src": "56457:6:10" + "src": "56457:6:23" }, - "nativeSrc": "56457:18:10", + "nativeSrc": "56457:18:23", "nodeType": "YulFunctionCall", - "src": "56457:18:10" + "src": "56457:18:23" }, - "nativeSrc": "56457:18:10", + "nativeSrc": "56457:18:23", "nodeType": "YulExpressionStatement", - "src": "56457:18:10" + "src": "56457:18:23" } ] }, @@ -107202,24 +126177,24 @@ "arguments": [ { "name": "instance", - "nativeSrc": "56363:8:10", + "nativeSrc": "56363:8:23", "nodeType": "YulIdentifier", - "src": "56363:8:10" + "src": "56363:8:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "56356:6:10", + "nativeSrc": "56356:6:23", "nodeType": "YulIdentifier", - "src": "56356:6:10" + "src": "56356:6:23" }, - "nativeSrc": "56356:16:10", + "nativeSrc": "56356:16:23", "nodeType": "YulFunctionCall", - "src": "56356:16:10" + "src": "56356:16:23" }, - "nativeSrc": "56353:136:10", + "nativeSrc": "56353:136:23", "nodeType": "YulIf", - "src": "56353:136:10" + "src": "56353:136:23" } ] }, @@ -107227,87 +126202,87 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3740, + "declaration": 5346, "isOffset": false, "isSlot": false, - "src": "55723:4:10", + "src": "55723:4:23", "valueSize": 1 }, { - "declaration": 3740, + "declaration": 5346, "isOffset": false, "isSlot": false, - "src": "55770:4:10", + "src": "55770:4:23", "valueSize": 1 }, { - "declaration": 3738, + "declaration": 5344, "isOffset": false, "isSlot": false, - "src": "56064:14:10", + "src": "56064:14:23", "valueSize": 1 }, { - "declaration": 3745, + "declaration": 5351, "isOffset": false, "isSlot": false, - "src": "56291:8:10", + "src": "56291:8:23", "valueSize": 1 }, { - "declaration": 3745, + "declaration": 5351, "isOffset": false, "isSlot": false, - "src": "56363:8:10", + "src": "56363:8:23", "valueSize": 1 }, { - "declaration": 3742, + "declaration": 5348, "isOffset": false, "isSlot": false, - "src": "56335:4:10", + "src": "56335:4:23", "valueSize": 1 }, { - "declaration": 3736, + "declaration": 5342, "isOffset": false, "isSlot": false, - "src": "56311:5:10", + "src": "56311:5:23", "valueSize": 1 } ], - "id": 3747, + "id": 5353, "nodeType": "InlineAssembly", - "src": "55652:847:10" + "src": "55652:847:23" } ] }, "documentation": { - "id": 3734, + "id": 5340, "nodeType": "StructuredDocumentation", - "src": "55268:144:10", + "src": "55268:144:23", "text": "@dev Deploys a deterministic minimal ERC1967 proxy with `implementation`, `args` and `salt`.\n Deposits `value` ETH during deployment." }, - "id": 3749, + "id": 5355, "implemented": true, "kind": "function", "modifiers": [], "name": "deployDeterministicERC1967", - "nameLocation": "55426:26:10", + "nameLocation": "55426:26:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3743, + "id": 5349, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3736, + "id": 5342, "mutability": "mutable", "name": "value", - "nameLocation": "55470:5:10", + "nameLocation": "55470:5:23", "nodeType": "VariableDeclaration", - "scope": 3749, - "src": "55462:13:10", + "scope": 5355, + "src": "55462:13:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -107315,10 +126290,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3735, + "id": 5341, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "55462:7:10", + "src": "55462:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -107328,13 +126303,13 @@ }, { "constant": false, - "id": 3738, + "id": 5344, "mutability": "mutable", "name": "implementation", - "nameLocation": "55493:14:10", + "nameLocation": "55493:14:23", "nodeType": "VariableDeclaration", - "scope": 3749, - "src": "55485:22:10", + "scope": 5355, + "src": "55485:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -107342,10 +126317,10 @@ "typeString": "address" }, "typeName": { - "id": 3737, + "id": 5343, "name": "address", "nodeType": "ElementaryTypeName", - "src": "55485:7:10", + "src": "55485:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -107356,13 +126331,13 @@ }, { "constant": false, - "id": 3740, + "id": 5346, "mutability": "mutable", "name": "args", - "nameLocation": "55530:4:10", + "nameLocation": "55530:4:23", "nodeType": "VariableDeclaration", - "scope": 3749, - "src": "55517:17:10", + "scope": 5355, + "src": "55517:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -107370,10 +126345,10 @@ "typeString": "bytes" }, "typeName": { - "id": 3739, + "id": 5345, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "55517:5:10", + "src": "55517:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -107383,13 +126358,13 @@ }, { "constant": false, - "id": 3742, + "id": 5348, "mutability": "mutable", "name": "salt", - "nameLocation": "55552:4:10", + "nameLocation": "55552:4:23", "nodeType": "VariableDeclaration", - "scope": 3749, - "src": "55544:12:10", + "scope": 5355, + "src": "55544:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -107397,10 +126372,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 3741, + "id": 5347, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "55544:7:10", + "src": "55544:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -107409,21 +126384,21 @@ "visibility": "internal" } ], - "src": "55452:110:10" + "src": "55452:110:23" }, "returnParameters": { - "id": 3746, + "id": 5352, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3745, + "id": 5351, "mutability": "mutable", "name": "instance", - "nameLocation": "55589:8:10", + "nameLocation": "55589:8:23", "nodeType": "VariableDeclaration", - "scope": 3749, - "src": "55581:16:10", + "scope": 5355, + "src": "55581:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -107431,10 +126406,10 @@ "typeString": "address" }, "typeName": { - "id": 3744, + "id": 5350, "name": "address", "nodeType": "ElementaryTypeName", - "src": "55581:7:10", + "src": "55581:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -107444,33 +126419,33 @@ "visibility": "internal" } ], - "src": "55580:18:10" + "src": "55580:18:23" }, - "scope": 5093, - "src": "55417:1088:10", + "scope": 6699, + "src": "55417:1088:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3770, + "id": 5376, "nodeType": "Block", - "src": "56926:81:10", + "src": "56926:81:23", "statements": [ { "expression": { "arguments": [ { "hexValue": "30", - "id": 3764, + "id": 5370, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "56970:1:10", + "src": "56970:1:23", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -107478,36 +126453,36 @@ "value": "0" }, { - "id": 3765, + "id": 5371, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3752, - "src": "56973:14:10", + "referencedDeclaration": 5358, + "src": "56973:14:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 3766, + "id": 5372, "name": "args", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3754, - "src": "56989:4:10", + "referencedDeclaration": 5360, + "src": "56989:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { - "id": 3767, + "id": 5373, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3756, - "src": "56995:4:10", + "referencedDeclaration": 5362, + "src": "56995:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -107533,23 +126508,23 @@ "typeString": "bytes32" } ], - "id": 3763, + "id": 5369, "name": "createDeterministicERC1967", "nodeType": "Identifier", "overloadedDeclarations": [ - 3615, - 3631, - 3771, - 3789 + 5221, + 5237, + 5377, + 5395 ], - "referencedDeclaration": 3789, - "src": "56943:26:10", + "referencedDeclaration": 5395, + "src": "56943:26:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$_t_bytes32_$returns$_t_bool_$_t_address_$", "typeString": "function (uint256,address,bytes memory,bytes32) returns (bool,address)" } }, - "id": 3768, + "id": 5374, "isConstant": false, "isLValue": false, "isPure": false, @@ -107558,46 +126533,46 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "56943:57:10", + "src": "56943:57:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_address_$", "typeString": "tuple(bool,address)" } }, - "functionReturnParameters": 3762, - "id": 3769, + "functionReturnParameters": 5368, + "id": 5375, "nodeType": "Return", - "src": "56936:64:10" + "src": "56936:64:23" } ] }, "documentation": { - "id": 3750, + "id": 5356, "nodeType": "StructuredDocumentation", - "src": "56511:239:10", + "src": "56511:239:23", "text": "@dev Creates a deterministic minimal ERC1967 proxy with `implementation`, `args` and `salt`.\n Note: This method is intended for use in ERC4337 factories,\n which are expected to NOT revert if the proxy is already deployed." }, - "id": 3771, + "id": 5377, "implemented": true, "kind": "function", "modifiers": [], "name": "createDeterministicERC1967", - "nameLocation": "56764:26:10", + "nameLocation": "56764:26:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3757, + "id": 5363, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3752, + "id": 5358, "mutability": "mutable", "name": "implementation", - "nameLocation": "56799:14:10", + "nameLocation": "56799:14:23", "nodeType": "VariableDeclaration", - "scope": 3771, - "src": "56791:22:10", + "scope": 5377, + "src": "56791:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -107605,10 +126580,10 @@ "typeString": "address" }, "typeName": { - "id": 3751, + "id": 5357, "name": "address", "nodeType": "ElementaryTypeName", - "src": "56791:7:10", + "src": "56791:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -107619,13 +126594,13 @@ }, { "constant": false, - "id": 3754, + "id": 5360, "mutability": "mutable", "name": "args", - "nameLocation": "56828:4:10", + "nameLocation": "56828:4:23", "nodeType": "VariableDeclaration", - "scope": 3771, - "src": "56815:17:10", + "scope": 5377, + "src": "56815:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -107633,10 +126608,10 @@ "typeString": "bytes" }, "typeName": { - "id": 3753, + "id": 5359, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "56815:5:10", + "src": "56815:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -107646,13 +126621,13 @@ }, { "constant": false, - "id": 3756, + "id": 5362, "mutability": "mutable", "name": "salt", - "nameLocation": "56842:4:10", + "nameLocation": "56842:4:23", "nodeType": "VariableDeclaration", - "scope": 3771, - "src": "56834:12:10", + "scope": 5377, + "src": "56834:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -107660,10 +126635,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 3755, + "id": 5361, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "56834:7:10", + "src": "56834:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -107672,21 +126647,21 @@ "visibility": "internal" } ], - "src": "56790:57:10" + "src": "56790:57:23" }, "returnParameters": { - "id": 3762, + "id": 5368, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3759, + "id": 5365, "mutability": "mutable", "name": "alreadyDeployed", - "nameLocation": "56887:15:10", + "nameLocation": "56887:15:23", "nodeType": "VariableDeclaration", - "scope": 3771, - "src": "56882:20:10", + "scope": 5377, + "src": "56882:20:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -107694,10 +126669,10 @@ "typeString": "bool" }, "typeName": { - "id": 3758, + "id": 5364, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "56882:4:10", + "src": "56882:4:23", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -107707,13 +126682,13 @@ }, { "constant": false, - "id": 3761, + "id": 5367, "mutability": "mutable", "name": "instance", - "nameLocation": "56912:8:10", + "nameLocation": "56912:8:23", "nodeType": "VariableDeclaration", - "scope": 3771, - "src": "56904:16:10", + "scope": 5377, + "src": "56904:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -107721,10 +126696,10 @@ "typeString": "address" }, "typeName": { - "id": 3760, + "id": 5366, "name": "address", "nodeType": "ElementaryTypeName", - "src": "56904:7:10", + "src": "56904:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -107734,90 +126709,90 @@ "visibility": "internal" } ], - "src": "56881:40:10" + "src": "56881:40:23" }, - "scope": 5093, - "src": "56755:252:10", + "scope": 6699, + "src": "56755:252:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3788, + "id": 5394, "nodeType": "Block", - "src": "57509:1773:10", + "src": "57509:1773:23", "statements": [ { "AST": { - "nativeSrc": "57571:1705:10", + "nativeSrc": "57571:1705:23", "nodeType": "YulBlock", - "src": "57571:1705:10", + "src": "57571:1705:23", "statements": [ { - "nativeSrc": "57585:20:10", + "nativeSrc": "57585:20:23", "nodeType": "YulVariableDeclaration", - "src": "57585:20:10", + "src": "57585:20:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "57600:4:10", + "nativeSrc": "57600:4:23", "nodeType": "YulLiteral", - "src": "57600:4:10", + "src": "57600:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "57594:5:10", + "nativeSrc": "57594:5:23", "nodeType": "YulIdentifier", - "src": "57594:5:10" + "src": "57594:5:23" }, - "nativeSrc": "57594:11:10", + "nativeSrc": "57594:11:23", "nodeType": "YulFunctionCall", - "src": "57594:11:10" + "src": "57594:11:23" }, "variables": [ { "name": "m", - "nativeSrc": "57589:1:10", + "nativeSrc": "57589:1:23", "nodeType": "YulTypedName", - "src": "57589:1:10", + "src": "57589:1:23", "type": "" } ] }, { - "nativeSrc": "57618:20:10", + "nativeSrc": "57618:20:23", "nodeType": "YulVariableDeclaration", - "src": "57618:20:10", + "src": "57618:20:23", "value": { "arguments": [ { "name": "args", - "nativeSrc": "57633:4:10", + "nativeSrc": "57633:4:23", "nodeType": "YulIdentifier", - "src": "57633:4:10" + "src": "57633:4:23" } ], "functionName": { "name": "mload", - "nativeSrc": "57627:5:10", + "nativeSrc": "57627:5:23", "nodeType": "YulIdentifier", - "src": "57627:5:10" + "src": "57627:5:23" }, - "nativeSrc": "57627:11:10", + "nativeSrc": "57627:11:23", "nodeType": "YulFunctionCall", - "src": "57627:11:10" + "src": "57627:11:23" }, "variables": [ { "name": "n", - "nativeSrc": "57622:1:10", + "nativeSrc": "57622:1:23", "nodeType": "YulTypedName", - "src": "57622:1:10", + "src": "57622:1:23", "type": "" } ] @@ -107831,19 +126806,19 @@ "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "57666:3:10", + "nativeSrc": "57666:3:23", "nodeType": "YulIdentifier", - "src": "57666:3:10" + "src": "57666:3:23" }, - "nativeSrc": "57666:5:10", + "nativeSrc": "57666:5:23", "nodeType": "YulFunctionCall", - "src": "57666:5:10" + "src": "57666:5:23" }, { "kind": "number", - "nativeSrc": "57673:1:10", + "nativeSrc": "57673:1:23", "nodeType": "YulLiteral", - "src": "57673:1:10", + "src": "57673:1:23", "type": "", "value": "4" }, @@ -107851,93 +126826,93 @@ "arguments": [ { "name": "args", - "nativeSrc": "57680:4:10", + "nativeSrc": "57680:4:23", "nodeType": "YulIdentifier", - "src": "57680:4:10" + "src": "57680:4:23" }, { "kind": "number", - "nativeSrc": "57686:4:10", + "nativeSrc": "57686:4:23", "nodeType": "YulLiteral", - "src": "57686:4:10", + "src": "57686:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "57676:3:10", + "nativeSrc": "57676:3:23", "nodeType": "YulIdentifier", - "src": "57676:3:10" + "src": "57676:3:23" }, - "nativeSrc": "57676:15:10", + "nativeSrc": "57676:15:23", "nodeType": "YulFunctionCall", - "src": "57676:15:10" + "src": "57676:15:23" }, { "name": "n", - "nativeSrc": "57693:1:10", + "nativeSrc": "57693:1:23", "nodeType": "YulIdentifier", - "src": "57693:1:10" + "src": "57693:1:23" }, { "arguments": [ { "name": "m", - "nativeSrc": "57700:1:10", + "nativeSrc": "57700:1:23", "nodeType": "YulIdentifier", - "src": "57700:1:10" + "src": "57700:1:23" }, { "kind": "number", - "nativeSrc": "57703:4:10", + "nativeSrc": "57703:4:23", "nodeType": "YulLiteral", - "src": "57703:4:10", + "src": "57703:4:23", "type": "", "value": "0x60" } ], "functionName": { "name": "add", - "nativeSrc": "57696:3:10", + "nativeSrc": "57696:3:23", "nodeType": "YulIdentifier", - "src": "57696:3:10" + "src": "57696:3:23" }, - "nativeSrc": "57696:12:10", + "nativeSrc": "57696:12:23", "nodeType": "YulFunctionCall", - "src": "57696:12:10" + "src": "57696:12:23" }, { "name": "n", - "nativeSrc": "57710:1:10", + "nativeSrc": "57710:1:23", "nodeType": "YulIdentifier", - "src": "57710:1:10" + "src": "57710:1:23" } ], "functionName": { "name": "staticcall", - "nativeSrc": "57655:10:10", + "nativeSrc": "57655:10:23", "nodeType": "YulIdentifier", - "src": "57655:10:10" + "src": "57655:10:23" }, - "nativeSrc": "57655:57:10", + "nativeSrc": "57655:57:23", "nodeType": "YulFunctionCall", - "src": "57655:57:10" + "src": "57655:57:23" } ], "functionName": { "name": "pop", - "nativeSrc": "57651:3:10", + "nativeSrc": "57651:3:23", "nodeType": "YulIdentifier", - "src": "57651:3:10" + "src": "57651:3:23" }, - "nativeSrc": "57651:62:10", + "nativeSrc": "57651:62:23", "nodeType": "YulFunctionCall", - "src": "57651:62:10" + "src": "57651:62:23" }, - "nativeSrc": "57651:62:10", + "nativeSrc": "57651:62:23", "nodeType": "YulExpressionStatement", - "src": "57651:62:10" + "src": "57651:62:23" }, { "expression": { @@ -107946,51 +126921,51 @@ "arguments": [ { "name": "m", - "nativeSrc": "57737:1:10", + "nativeSrc": "57737:1:23", "nodeType": "YulIdentifier", - "src": "57737:1:10" + "src": "57737:1:23" }, { "kind": "number", - "nativeSrc": "57740:4:10", + "nativeSrc": "57740:4:23", "nodeType": "YulLiteral", - "src": "57740:4:10", + "src": "57740:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "add", - "nativeSrc": "57733:3:10", + "nativeSrc": "57733:3:23", "nodeType": "YulIdentifier", - "src": "57733:3:10" + "src": "57733:3:23" }, - "nativeSrc": "57733:12:10", + "nativeSrc": "57733:12:23", "nodeType": "YulFunctionCall", - "src": "57733:12:10" + "src": "57733:12:23" }, { "kind": "number", - "nativeSrc": "57747:66:10", + "nativeSrc": "57747:66:23", "nodeType": "YulLiteral", - "src": "57747:66:10", + "src": "57747:66:23", "type": "", "value": "0xcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f3" } ], "functionName": { "name": "mstore", - "nativeSrc": "57726:6:10", + "nativeSrc": "57726:6:23", "nodeType": "YulIdentifier", - "src": "57726:6:10" + "src": "57726:6:23" }, - "nativeSrc": "57726:88:10", + "nativeSrc": "57726:88:23", "nodeType": "YulFunctionCall", - "src": "57726:88:10" + "src": "57726:88:23" }, - "nativeSrc": "57726:88:10", + "nativeSrc": "57726:88:23", "nodeType": "YulExpressionStatement", - "src": "57726:88:10" + "src": "57726:88:23" }, { "expression": { @@ -107999,117 +126974,117 @@ "arguments": [ { "name": "m", - "nativeSrc": "57838:1:10", + "nativeSrc": "57838:1:23", "nodeType": "YulIdentifier", - "src": "57838:1:10" + "src": "57838:1:23" }, { "kind": "number", - "nativeSrc": "57841:4:10", + "nativeSrc": "57841:4:23", "nodeType": "YulLiteral", - "src": "57841:4:10", + "src": "57841:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "57834:3:10", + "nativeSrc": "57834:3:23", "nodeType": "YulIdentifier", - "src": "57834:3:10" + "src": "57834:3:23" }, - "nativeSrc": "57834:12:10", + "nativeSrc": "57834:12:23", "nodeType": "YulFunctionCall", - "src": "57834:12:10" + "src": "57834:12:23" }, { "kind": "number", - "nativeSrc": "57848:66:10", + "nativeSrc": "57848:66:23", "nodeType": "YulLiteral", - "src": "57848:66:10", + "src": "57848:66:23", "type": "", "value": "0x5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e2076" } ], "functionName": { "name": "mstore", - "nativeSrc": "57827:6:10", + "nativeSrc": "57827:6:23", "nodeType": "YulIdentifier", - "src": "57827:6:10" + "src": "57827:6:23" }, - "nativeSrc": "57827:88:10", + "nativeSrc": "57827:88:23", "nodeType": "YulFunctionCall", - "src": "57827:88:10" + "src": "57827:88:23" }, - "nativeSrc": "57827:88:10", + "nativeSrc": "57827:88:23", "nodeType": "YulExpressionStatement", - "src": "57827:88:10" + "src": "57827:88:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "57935:4:10", + "nativeSrc": "57935:4:23", "nodeType": "YulLiteral", - "src": "57935:4:10", + "src": "57935:4:23", "type": "", "value": "0x16" }, { "kind": "number", - "nativeSrc": "57941:6:10", + "nativeSrc": "57941:6:23", "nodeType": "YulLiteral", - "src": "57941:6:10", + "src": "57941:6:23", "type": "", "value": "0x6009" } ], "functionName": { "name": "mstore", - "nativeSrc": "57928:6:10", + "nativeSrc": "57928:6:23", "nodeType": "YulIdentifier", - "src": "57928:6:10" + "src": "57928:6:23" }, - "nativeSrc": "57928:20:10", + "nativeSrc": "57928:20:23", "nodeType": "YulFunctionCall", - "src": "57928:20:10" + "src": "57928:20:23" }, - "nativeSrc": "57928:20:10", + "nativeSrc": "57928:20:23", "nodeType": "YulExpressionStatement", - "src": "57928:20:10" + "src": "57928:20:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "57968:4:10", + "nativeSrc": "57968:4:23", "nodeType": "YulLiteral", - "src": "57968:4:10", + "src": "57968:4:23", "type": "", "value": "0x14" }, { "name": "implementation", - "nativeSrc": "57974:14:10", + "nativeSrc": "57974:14:23", "nodeType": "YulIdentifier", - "src": "57974:14:10" + "src": "57974:14:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "57961:6:10", + "nativeSrc": "57961:6:23", "nodeType": "YulIdentifier", - "src": "57961:6:10" + "src": "57961:6:23" }, - "nativeSrc": "57961:28:10", + "nativeSrc": "57961:28:23", "nodeType": "YulFunctionCall", - "src": "57961:28:10" + "src": "57961:28:23" }, - "nativeSrc": "57961:28:10", + "nativeSrc": "57961:28:23", "nodeType": "YulExpressionStatement", - "src": "57961:28:10" + "src": "57961:28:23" }, { "expression": { @@ -108118,36 +127093,36 @@ "arguments": [ { "name": "n", - "nativeSrc": "58099:1:10", + "nativeSrc": "58099:1:23", "nodeType": "YulIdentifier", - "src": "58099:1:10" + "src": "58099:1:23" }, { "kind": "number", - "nativeSrc": "58102:6:10", + "nativeSrc": "58102:6:23", "nodeType": "YulLiteral", - "src": "58102:6:10", + "src": "58102:6:23", "type": "", "value": "0xffc2" } ], "functionName": { "name": "gt", - "nativeSrc": "58096:2:10", + "nativeSrc": "58096:2:23", "nodeType": "YulIdentifier", - "src": "58096:2:10" + "src": "58096:2:23" }, - "nativeSrc": "58096:13:10", + "nativeSrc": "58096:13:23", "nodeType": "YulFunctionCall", - "src": "58096:13:10" + "src": "58096:13:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "58115:24:10", + "nativeSrc": "58115:24:23", "nodeType": "YulLiteral", - "src": "58115:24:10", + "src": "58115:24:23", "type": "", "value": "0xfe61003d3d8160233d3973" }, @@ -108155,142 +127130,142 @@ "arguments": [ { "kind": "number", - "nativeSrc": "58145:2:10", + "nativeSrc": "58145:2:23", "nodeType": "YulLiteral", - "src": "58145:2:10", + "src": "58145:2:23", "type": "", "value": "56" }, { "name": "n", - "nativeSrc": "58149:1:10", + "nativeSrc": "58149:1:23", "nodeType": "YulIdentifier", - "src": "58149:1:10" + "src": "58149:1:23" } ], "functionName": { "name": "shl", - "nativeSrc": "58141:3:10", + "nativeSrc": "58141:3:23", "nodeType": "YulIdentifier", - "src": "58141:3:10" + "src": "58141:3:23" }, - "nativeSrc": "58141:10:10", + "nativeSrc": "58141:10:23", "nodeType": "YulFunctionCall", - "src": "58141:10:10" + "src": "58141:10:23" } ], "functionName": { "name": "add", - "nativeSrc": "58111:3:10", + "nativeSrc": "58111:3:23", "nodeType": "YulIdentifier", - "src": "58111:3:10" + "src": "58111:3:23" }, - "nativeSrc": "58111:41:10", + "nativeSrc": "58111:41:23", "nodeType": "YulFunctionCall", - "src": "58111:41:10" + "src": "58111:41:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "58089:6:10", + "nativeSrc": "58089:6:23", "nodeType": "YulIdentifier", - "src": "58089:6:10" + "src": "58089:6:23" }, - "nativeSrc": "58089:64:10", + "nativeSrc": "58089:64:23", "nodeType": "YulFunctionCall", - "src": "58089:64:10" + "src": "58089:64:23" }, - "nativeSrc": "58089:64:10", + "nativeSrc": "58089:64:23", "nodeType": "YulExpressionStatement", - "src": "58089:64:10" + "src": "58089:64:23" }, { "expression": { "arguments": [ { "name": "m", - "nativeSrc": "58173:1:10", + "nativeSrc": "58173:1:23", "nodeType": "YulIdentifier", - "src": "58173:1:10" + "src": "58173:1:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "58182:4:10", + "nativeSrc": "58182:4:23", "nodeType": "YulLiteral", - "src": "58182:4:10", + "src": "58182:4:23", "type": "", "value": "0x16" } ], "functionName": { "name": "mload", - "nativeSrc": "58176:5:10", + "nativeSrc": "58176:5:23", "nodeType": "YulIdentifier", - "src": "58176:5:10" + "src": "58176:5:23" }, - "nativeSrc": "58176:11:10", + "nativeSrc": "58176:11:23", "nodeType": "YulFunctionCall", - "src": "58176:11:10" + "src": "58176:11:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "58166:6:10", + "nativeSrc": "58166:6:23", "nodeType": "YulIdentifier", - "src": "58166:6:10" + "src": "58166:6:23" }, - "nativeSrc": "58166:22:10", + "nativeSrc": "58166:22:23", "nodeType": "YulFunctionCall", - "src": "58166:22:10" + "src": "58166:22:23" }, - "nativeSrc": "58166:22:10", + "nativeSrc": "58166:22:23", "nodeType": "YulExpressionStatement", - "src": "58166:22:10" + "src": "58166:22:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "58261:4:10", + "nativeSrc": "58261:4:23", "nodeType": "YulLiteral", - "src": "58261:4:10", + "src": "58261:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "58267:4:10", + "nativeSrc": "58267:4:23", "nodeType": "YulLiteral", - "src": "58267:4:10", + "src": "58267:4:23", "type": "", "value": "0xff" } ], "functionName": { "name": "mstore8", - "nativeSrc": "58253:7:10", + "nativeSrc": "58253:7:23", "nodeType": "YulIdentifier", - "src": "58253:7:10" + "src": "58253:7:23" }, - "nativeSrc": "58253:19:10", + "nativeSrc": "58253:19:23", "nodeType": "YulFunctionCall", - "src": "58253:19:10" + "src": "58253:19:23" }, - "nativeSrc": "58253:19:10", + "nativeSrc": "58253:19:23", "nodeType": "YulExpressionStatement", - "src": "58253:19:10" + "src": "58253:19:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "58313:4:10", + "nativeSrc": "58313:4:23", "nodeType": "YulLiteral", - "src": "58313:4:10", + "src": "58313:4:23", "type": "", "value": "0x35" }, @@ -108298,71 +127273,71 @@ "arguments": [ { "name": "m", - "nativeSrc": "58329:1:10", + "nativeSrc": "58329:1:23", "nodeType": "YulIdentifier", - "src": "58329:1:10" + "src": "58329:1:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "58336:1:10", + "nativeSrc": "58336:1:23", "nodeType": "YulIdentifier", - "src": "58336:1:10" + "src": "58336:1:23" }, { "kind": "number", - "nativeSrc": "58339:4:10", + "nativeSrc": "58339:4:23", "nodeType": "YulLiteral", - "src": "58339:4:10", + "src": "58339:4:23", "type": "", "value": "0x60" } ], "functionName": { "name": "add", - "nativeSrc": "58332:3:10", + "nativeSrc": "58332:3:23", "nodeType": "YulIdentifier", - "src": "58332:3:10" + "src": "58332:3:23" }, - "nativeSrc": "58332:12:10", + "nativeSrc": "58332:12:23", "nodeType": "YulFunctionCall", - "src": "58332:12:10" + "src": "58332:12:23" } ], "functionName": { "name": "keccak256", - "nativeSrc": "58319:9:10", + "nativeSrc": "58319:9:23", "nodeType": "YulIdentifier", - "src": "58319:9:10" + "src": "58319:9:23" }, - "nativeSrc": "58319:26:10", + "nativeSrc": "58319:26:23", "nodeType": "YulFunctionCall", - "src": "58319:26:10" + "src": "58319:26:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "58306:6:10", + "nativeSrc": "58306:6:23", "nodeType": "YulIdentifier", - "src": "58306:6:10" + "src": "58306:6:23" }, - "nativeSrc": "58306:40:10", + "nativeSrc": "58306:40:23", "nodeType": "YulFunctionCall", - "src": "58306:40:10" + "src": "58306:40:23" }, - "nativeSrc": "58306:40:10", + "nativeSrc": "58306:40:23", "nodeType": "YulExpressionStatement", - "src": "58306:40:10" + "src": "58306:40:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "58366:4:10", + "nativeSrc": "58366:4:23", "nodeType": "YulLiteral", - "src": "58366:4:10", + "src": "58366:4:23", "type": "", "value": "0x01" }, @@ -108370,9 +127345,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "58376:2:10", + "nativeSrc": "58376:2:23", "nodeType": "YulLiteral", - "src": "58376:2:10", + "src": "58376:2:23", "type": "", "value": "96" }, @@ -108380,270 +127355,270 @@ "arguments": [], "functionName": { "name": "address", - "nativeSrc": "58380:7:10", + "nativeSrc": "58380:7:23", "nodeType": "YulIdentifier", - "src": "58380:7:10" + "src": "58380:7:23" }, - "nativeSrc": "58380:9:10", + "nativeSrc": "58380:9:23", "nodeType": "YulFunctionCall", - "src": "58380:9:10" + "src": "58380:9:23" } ], "functionName": { "name": "shl", - "nativeSrc": "58372:3:10", + "nativeSrc": "58372:3:23", "nodeType": "YulIdentifier", - "src": "58372:3:10" + "src": "58372:3:23" }, - "nativeSrc": "58372:18:10", + "nativeSrc": "58372:18:23", "nodeType": "YulFunctionCall", - "src": "58372:18:10" + "src": "58372:18:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "58359:6:10", + "nativeSrc": "58359:6:23", "nodeType": "YulIdentifier", - "src": "58359:6:10" + "src": "58359:6:23" }, - "nativeSrc": "58359:32:10", + "nativeSrc": "58359:32:23", "nodeType": "YulFunctionCall", - "src": "58359:32:10" + "src": "58359:32:23" }, - "nativeSrc": "58359:32:10", + "nativeSrc": "58359:32:23", "nodeType": "YulExpressionStatement", - "src": "58359:32:10" + "src": "58359:32:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "58411:4:10", + "nativeSrc": "58411:4:23", "nodeType": "YulLiteral", - "src": "58411:4:10", + "src": "58411:4:23", "type": "", "value": "0x15" }, { "name": "salt", - "nativeSrc": "58417:4:10", + "nativeSrc": "58417:4:23", "nodeType": "YulIdentifier", - "src": "58417:4:10" + "src": "58417:4:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "58404:6:10", + "nativeSrc": "58404:6:23", "nodeType": "YulIdentifier", - "src": "58404:6:10" + "src": "58404:6:23" }, - "nativeSrc": "58404:18:10", + "nativeSrc": "58404:18:23", "nodeType": "YulFunctionCall", - "src": "58404:18:10" + "src": "58404:18:23" }, - "nativeSrc": "58404:18:10", + "nativeSrc": "58404:18:23", "nodeType": "YulExpressionStatement", - "src": "58404:18:10" + "src": "58404:18:23" }, { - "nativeSrc": "58435:33:10", + "nativeSrc": "58435:33:23", "nodeType": "YulAssignment", - "src": "58435:33:10", + "src": "58435:33:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "58457:4:10", + "nativeSrc": "58457:4:23", "nodeType": "YulLiteral", - "src": "58457:4:10", + "src": "58457:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "58463:4:10", + "nativeSrc": "58463:4:23", "nodeType": "YulLiteral", - "src": "58463:4:10", + "src": "58463:4:23", "type": "", "value": "0x55" } ], "functionName": { "name": "keccak256", - "nativeSrc": "58447:9:10", + "nativeSrc": "58447:9:23", "nodeType": "YulIdentifier", - "src": "58447:9:10" + "src": "58447:9:23" }, - "nativeSrc": "58447:21:10", + "nativeSrc": "58447:21:23", "nodeType": "YulFunctionCall", - "src": "58447:21:10" + "src": "58447:21:23" }, "variableNames": [ { "name": "instance", - "nativeSrc": "58435:8:10", + "nativeSrc": "58435:8:23", "nodeType": "YulIdentifier", - "src": "58435:8:10" + "src": "58435:8:23" } ] }, { "body": { - "nativeSrc": "58493:685:10", + "nativeSrc": "58493:685:23", "nodeType": "YulBlock", - "src": "58493:685:10", + "src": "58493:685:23", "statements": [ { "body": { - "nativeSrc": "58544:296:10", + "nativeSrc": "58544:296:23", "nodeType": "YulBlock", - "src": "58544:296:10", + "src": "58544:296:23", "statements": [ { - "nativeSrc": "58566:49:10", + "nativeSrc": "58566:49:23", "nodeType": "YulAssignment", - "src": "58566:49:10", + "src": "58566:49:23", "value": { "arguments": [ { "name": "value", - "nativeSrc": "58586:5:10", + "nativeSrc": "58586:5:23", "nodeType": "YulIdentifier", - "src": "58586:5:10" + "src": "58586:5:23" }, { "name": "m", - "nativeSrc": "58593:1:10", + "nativeSrc": "58593:1:23", "nodeType": "YulIdentifier", - "src": "58593:1:10" + "src": "58593:1:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "58600:1:10", + "nativeSrc": "58600:1:23", "nodeType": "YulIdentifier", - "src": "58600:1:10" + "src": "58600:1:23" }, { "kind": "number", - "nativeSrc": "58603:4:10", + "nativeSrc": "58603:4:23", "nodeType": "YulLiteral", - "src": "58603:4:10", + "src": "58603:4:23", "type": "", "value": "0x60" } ], "functionName": { "name": "add", - "nativeSrc": "58596:3:10", + "nativeSrc": "58596:3:23", "nodeType": "YulIdentifier", - "src": "58596:3:10" + "src": "58596:3:23" }, - "nativeSrc": "58596:12:10", + "nativeSrc": "58596:12:23", "nodeType": "YulFunctionCall", - "src": "58596:12:10" + "src": "58596:12:23" }, { "name": "salt", - "nativeSrc": "58610:4:10", + "nativeSrc": "58610:4:23", "nodeType": "YulIdentifier", - "src": "58610:4:10" + "src": "58610:4:23" } ], "functionName": { "name": "create2", - "nativeSrc": "58578:7:10", + "nativeSrc": "58578:7:23", "nodeType": "YulIdentifier", - "src": "58578:7:10" + "src": "58578:7:23" }, - "nativeSrc": "58578:37:10", + "nativeSrc": "58578:37:23", "nodeType": "YulFunctionCall", - "src": "58578:37:10" + "src": "58578:37:23" }, "variableNames": [ { "name": "instance", - "nativeSrc": "58566:8:10", + "nativeSrc": "58566:8:23", "nodeType": "YulIdentifier", - "src": "58566:8:10" + "src": "58566:8:23" } ] }, { "body": { - "nativeSrc": "58656:140:10", + "nativeSrc": "58656:140:23", "nodeType": "YulBlock", - "src": "58656:140:10", + "src": "58656:140:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "58689:4:10", + "nativeSrc": "58689:4:23", "nodeType": "YulLiteral", - "src": "58689:4:10", + "src": "58689:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "58695:10:10", + "nativeSrc": "58695:10:23", "nodeType": "YulLiteral", - "src": "58695:10:10", + "src": "58695:10:23", "type": "", "value": "0x30116425" } ], "functionName": { "name": "mstore", - "nativeSrc": "58682:6:10", + "nativeSrc": "58682:6:23", "nodeType": "YulIdentifier", - "src": "58682:6:10" + "src": "58682:6:23" }, - "nativeSrc": "58682:24:10", + "nativeSrc": "58682:24:23", "nodeType": "YulFunctionCall", - "src": "58682:24:10" + "src": "58682:24:23" }, - "nativeSrc": "58682:24:10", + "nativeSrc": "58682:24:23", "nodeType": "YulExpressionStatement", - "src": "58682:24:10" + "src": "58682:24:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "58763:4:10", + "nativeSrc": "58763:4:23", "nodeType": "YulLiteral", - "src": "58763:4:10", + "src": "58763:4:23", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "58769:4:10", + "nativeSrc": "58769:4:23", "nodeType": "YulLiteral", - "src": "58769:4:10", + "src": "58769:4:23", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "58756:6:10", + "nativeSrc": "58756:6:23", "nodeType": "YulIdentifier", - "src": "58756:6:10" + "src": "58756:6:23" }, - "nativeSrc": "58756:18:10", + "nativeSrc": "58756:18:23", "nodeType": "YulFunctionCall", - "src": "58756:18:10" + "src": "58756:18:23" }, - "nativeSrc": "58756:18:10", + "nativeSrc": "58756:18:23", "nodeType": "YulExpressionStatement", - "src": "58756:18:10" + "src": "58756:18:23" } ] }, @@ -108651,29 +127626,29 @@ "arguments": [ { "name": "instance", - "nativeSrc": "58646:8:10", + "nativeSrc": "58646:8:23", "nodeType": "YulIdentifier", - "src": "58646:8:10" + "src": "58646:8:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "58639:6:10", + "nativeSrc": "58639:6:23", "nodeType": "YulIdentifier", - "src": "58639:6:10" + "src": "58639:6:23" }, - "nativeSrc": "58639:16:10", + "nativeSrc": "58639:16:23", "nodeType": "YulFunctionCall", - "src": "58639:16:10" + "src": "58639:16:23" }, - "nativeSrc": "58636:160:10", + "nativeSrc": "58636:160:23", "nodeType": "YulIf", - "src": "58636:160:10" + "src": "58636:160:23" }, { - "nativeSrc": "58817:5:10", + "nativeSrc": "58817:5:23", "nodeType": "YulBreak", - "src": "58817:5:10" + "src": "58817:5:23" } ] }, @@ -108683,67 +127658,67 @@ "arguments": [ { "name": "instance", - "nativeSrc": "58533:8:10", + "nativeSrc": "58533:8:23", "nodeType": "YulIdentifier", - "src": "58533:8:10" + "src": "58533:8:23" } ], "functionName": { "name": "extcodesize", - "nativeSrc": "58521:11:10", + "nativeSrc": "58521:11:23", "nodeType": "YulIdentifier", - "src": "58521:11:10" + "src": "58521:11:23" }, - "nativeSrc": "58521:21:10", + "nativeSrc": "58521:21:23", "nodeType": "YulFunctionCall", - "src": "58521:21:10" + "src": "58521:21:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "58514:6:10", + "nativeSrc": "58514:6:23", "nodeType": "YulIdentifier", - "src": "58514:6:10" + "src": "58514:6:23" }, - "nativeSrc": "58514:29:10", + "nativeSrc": "58514:29:23", "nodeType": "YulFunctionCall", - "src": "58514:29:10" + "src": "58514:29:23" }, - "nativeSrc": "58511:329:10", + "nativeSrc": "58511:329:23", "nodeType": "YulIf", - "src": "58511:329:10" + "src": "58511:329:23" }, { - "nativeSrc": "58857:20:10", + "nativeSrc": "58857:20:23", "nodeType": "YulAssignment", - "src": "58857:20:10", + "src": "58857:20:23", "value": { "kind": "number", - "nativeSrc": "58876:1:10", + "nativeSrc": "58876:1:23", "nodeType": "YulLiteral", - "src": "58876:1:10", + "src": "58876:1:23", "type": "", "value": "1" }, "variableNames": [ { "name": "alreadyDeployed", - "nativeSrc": "58857:15:10", + "nativeSrc": "58857:15:23", "nodeType": "YulIdentifier", - "src": "58857:15:10" + "src": "58857:15:23" } ] }, { "body": { - "nativeSrc": "58911:9:10", + "nativeSrc": "58911:9:23", "nodeType": "YulBlock", - "src": "58911:9:10", + "src": "58911:9:23", "statements": [ { - "nativeSrc": "58913:5:10", + "nativeSrc": "58913:5:23", "nodeType": "YulBreak", - "src": "58913:5:10" + "src": "58913:5:23" } ] }, @@ -108751,98 +127726,98 @@ "arguments": [ { "name": "value", - "nativeSrc": "58904:5:10", + "nativeSrc": "58904:5:23", "nodeType": "YulIdentifier", - "src": "58904:5:10" + "src": "58904:5:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "58897:6:10", + "nativeSrc": "58897:6:23", "nodeType": "YulIdentifier", - "src": "58897:6:10" + "src": "58897:6:23" }, - "nativeSrc": "58897:13:10", + "nativeSrc": "58897:13:23", "nodeType": "YulFunctionCall", - "src": "58897:13:10" + "src": "58897:13:23" }, - "nativeSrc": "58894:26:10", + "nativeSrc": "58894:26:23", "nodeType": "YulIf", - "src": "58894:26:10" + "src": "58894:26:23" }, { "body": { - "nativeSrc": "59013:129:10", + "nativeSrc": "59013:129:23", "nodeType": "YulBlock", - "src": "59013:129:10", + "src": "59013:129:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "59042:4:10", + "nativeSrc": "59042:4:23", "nodeType": "YulLiteral", - "src": "59042:4:10", + "src": "59042:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "59048:10:10", + "nativeSrc": "59048:10:23", "nodeType": "YulLiteral", - "src": "59048:10:10", + "src": "59048:10:23", "type": "", "value": "0xb12d13eb" } ], "functionName": { "name": "mstore", - "nativeSrc": "59035:6:10", + "nativeSrc": "59035:6:23", "nodeType": "YulIdentifier", - "src": "59035:6:10" + "src": "59035:6:23" }, - "nativeSrc": "59035:24:10", + "nativeSrc": "59035:24:23", "nodeType": "YulFunctionCall", - "src": "59035:24:10" + "src": "59035:24:23" }, - "nativeSrc": "59035:24:10", + "nativeSrc": "59035:24:23", "nodeType": "YulExpressionStatement", - "src": "59035:24:10" + "src": "59035:24:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "59113:4:10", + "nativeSrc": "59113:4:23", "nodeType": "YulLiteral", - "src": "59113:4:10", + "src": "59113:4:23", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "59119:4:10", + "nativeSrc": "59119:4:23", "nodeType": "YulLiteral", - "src": "59119:4:10", + "src": "59119:4:23", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "59106:6:10", + "nativeSrc": "59106:6:23", "nodeType": "YulIdentifier", - "src": "59106:6:10" + "src": "59106:6:23" }, - "nativeSrc": "59106:18:10", + "nativeSrc": "59106:18:23", "nodeType": "YulFunctionCall", - "src": "59106:18:10" + "src": "59106:18:23" }, - "nativeSrc": "59106:18:10", + "nativeSrc": "59106:18:23", "nodeType": "YulExpressionStatement", - "src": "59106:18:10" + "src": "59106:18:23" } ] }, @@ -108854,43 +127829,43 @@ "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "58952:3:10", + "nativeSrc": "58952:3:23", "nodeType": "YulIdentifier", - "src": "58952:3:10" + "src": "58952:3:23" }, - "nativeSrc": "58952:5:10", + "nativeSrc": "58952:5:23", "nodeType": "YulFunctionCall", - "src": "58952:5:10" + "src": "58952:5:23" }, { "name": "instance", - "nativeSrc": "58959:8:10", + "nativeSrc": "58959:8:23", "nodeType": "YulIdentifier", - "src": "58959:8:10" + "src": "58959:8:23" }, { "name": "value", - "nativeSrc": "58969:5:10", + "nativeSrc": "58969:5:23", "nodeType": "YulIdentifier", - "src": "58969:5:10" + "src": "58969:5:23" }, { "arguments": [], "functionName": { "name": "codesize", - "nativeSrc": "58976:8:10", + "nativeSrc": "58976:8:23", "nodeType": "YulIdentifier", - "src": "58976:8:10" + "src": "58976:8:23" }, - "nativeSrc": "58976:10:10", + "nativeSrc": "58976:10:23", "nodeType": "YulFunctionCall", - "src": "58976:10:10" + "src": "58976:10:23" }, { "kind": "number", - "nativeSrc": "58988:4:10", + "nativeSrc": "58988:4:23", "nodeType": "YulLiteral", - "src": "58988:4:10", + "src": "58988:4:23", "type": "", "value": "0x00" }, @@ -108898,112 +127873,112 @@ "arguments": [], "functionName": { "name": "codesize", - "nativeSrc": "58994:8:10", + "nativeSrc": "58994:8:23", "nodeType": "YulIdentifier", - "src": "58994:8:10" + "src": "58994:8:23" }, - "nativeSrc": "58994:10:10", + "nativeSrc": "58994:10:23", "nodeType": "YulFunctionCall", - "src": "58994:10:10" + "src": "58994:10:23" }, { "kind": "number", - "nativeSrc": "59006:4:10", + "nativeSrc": "59006:4:23", "nodeType": "YulLiteral", - "src": "59006:4:10", + "src": "59006:4:23", "type": "", "value": "0x00" } ], "functionName": { "name": "call", - "nativeSrc": "58947:4:10", + "nativeSrc": "58947:4:23", "nodeType": "YulIdentifier", - "src": "58947:4:10" + "src": "58947:4:23" }, - "nativeSrc": "58947:64:10", + "nativeSrc": "58947:64:23", "nodeType": "YulFunctionCall", - "src": "58947:64:10" + "src": "58947:64:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "58940:6:10", + "nativeSrc": "58940:6:23", "nodeType": "YulIdentifier", - "src": "58940:6:10" + "src": "58940:6:23" }, - "nativeSrc": "58940:72:10", + "nativeSrc": "58940:72:23", "nodeType": "YulFunctionCall", - "src": "58940:72:10" + "src": "58940:72:23" }, - "nativeSrc": "58937:205:10", + "nativeSrc": "58937:205:23", "nodeType": "YulIf", - "src": "58937:205:10" + "src": "58937:205:23" }, { - "nativeSrc": "59159:5:10", + "nativeSrc": "59159:5:23", "nodeType": "YulBreak", - "src": "59159:5:10" + "src": "59159:5:23" } ] }, "condition": { "kind": "number", - "nativeSrc": "58488:1:10", + "nativeSrc": "58488:1:23", "nodeType": "YulLiteral", - "src": "58488:1:10", + "src": "58488:1:23", "type": "", "value": "1" }, - "nativeSrc": "58481:697:10", + "nativeSrc": "58481:697:23", "nodeType": "YulForLoop", "post": { - "nativeSrc": "58490:2:10", + "nativeSrc": "58490:2:23", "nodeType": "YulBlock", - "src": "58490:2:10", + "src": "58490:2:23", "statements": [] }, "pre": { - "nativeSrc": "58485:2:10", + "nativeSrc": "58485:2:23", "nodeType": "YulBlock", - "src": "58485:2:10", + "src": "58485:2:23", "statements": [] }, - "src": "58481:697:10" + "src": "58481:697:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "59198:4:10", + "nativeSrc": "59198:4:23", "nodeType": "YulLiteral", - "src": "59198:4:10", + "src": "59198:4:23", "type": "", "value": "0x35" }, { "kind": "number", - "nativeSrc": "59204:1:10", + "nativeSrc": "59204:1:23", "nodeType": "YulLiteral", - "src": "59204:1:10", + "src": "59204:1:23", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "59191:6:10", + "nativeSrc": "59191:6:23", "nodeType": "YulIdentifier", - "src": "59191:6:10" + "src": "59191:6:23" }, - "nativeSrc": "59191:15:10", + "nativeSrc": "59191:15:23", "nodeType": "YulFunctionCall", - "src": "59191:15:10" + "src": "59191:15:23" }, - "nativeSrc": "59191:15:10", + "nativeSrc": "59191:15:23", "nodeType": "YulExpressionStatement", - "src": "59191:15:10" + "src": "59191:15:23" } ] }, @@ -109011,136 +127986,136 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3783, + "declaration": 5389, "isOffset": false, "isSlot": false, - "src": "58857:15:10", + "src": "58857:15:23", "valueSize": 1 }, { - "declaration": 3778, + "declaration": 5384, "isOffset": false, "isSlot": false, - "src": "57633:4:10", + "src": "57633:4:23", "valueSize": 1 }, { - "declaration": 3778, + "declaration": 5384, "isOffset": false, "isSlot": false, - "src": "57680:4:10", + "src": "57680:4:23", "valueSize": 1 }, { - "declaration": 3776, + "declaration": 5382, "isOffset": false, "isSlot": false, - "src": "57974:14:10", + "src": "57974:14:23", "valueSize": 1 }, { - "declaration": 3785, + "declaration": 5391, "isOffset": false, "isSlot": false, - "src": "58435:8:10", + "src": "58435:8:23", "valueSize": 1 }, { - "declaration": 3785, + "declaration": 5391, "isOffset": false, "isSlot": false, - "src": "58533:8:10", + "src": "58533:8:23", "valueSize": 1 }, { - "declaration": 3785, + "declaration": 5391, "isOffset": false, "isSlot": false, - "src": "58566:8:10", + "src": "58566:8:23", "valueSize": 1 }, { - "declaration": 3785, + "declaration": 5391, "isOffset": false, "isSlot": false, - "src": "58646:8:10", + "src": "58646:8:23", "valueSize": 1 }, { - "declaration": 3785, + "declaration": 5391, "isOffset": false, "isSlot": false, - "src": "58959:8:10", + "src": "58959:8:23", "valueSize": 1 }, { - "declaration": 3780, + "declaration": 5386, "isOffset": false, "isSlot": false, - "src": "58417:4:10", + "src": "58417:4:23", "valueSize": 1 }, { - "declaration": 3780, + "declaration": 5386, "isOffset": false, "isSlot": false, - "src": "58610:4:10", + "src": "58610:4:23", "valueSize": 1 }, { - "declaration": 3774, + "declaration": 5380, "isOffset": false, "isSlot": false, - "src": "58586:5:10", + "src": "58586:5:23", "valueSize": 1 }, { - "declaration": 3774, + "declaration": 5380, "isOffset": false, "isSlot": false, - "src": "58904:5:10", + "src": "58904:5:23", "valueSize": 1 }, { - "declaration": 3774, + "declaration": 5380, "isOffset": false, "isSlot": false, - "src": "58969:5:10", + "src": "58969:5:23", "valueSize": 1 } ], - "id": 3787, + "id": 5393, "nodeType": "InlineAssembly", - "src": "57562:1714:10" + "src": "57562:1714:23" } ] }, "documentation": { - "id": 3772, + "id": 5378, "nodeType": "StructuredDocumentation", - "src": "57013:287:10", + "src": "57013:287:23", "text": "@dev Creates a deterministic minimal ERC1967 proxy with `implementation`, `args` and `salt`.\n Deposits `value` ETH during deployment.\n Note: This method is intended for use in ERC4337 factories,\n which are expected to NOT revert if the proxy is already deployed." }, - "id": 3789, + "id": 5395, "implemented": true, "kind": "function", "modifiers": [], "name": "createDeterministicERC1967", - "nameLocation": "57314:26:10", + "nameLocation": "57314:26:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3781, + "id": 5387, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3774, + "id": 5380, "mutability": "mutable", "name": "value", - "nameLocation": "57358:5:10", + "nameLocation": "57358:5:23", "nodeType": "VariableDeclaration", - "scope": 3789, - "src": "57350:13:10", + "scope": 5395, + "src": "57350:13:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -109148,10 +128123,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3773, + "id": 5379, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "57350:7:10", + "src": "57350:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -109161,13 +128136,13 @@ }, { "constant": false, - "id": 3776, + "id": 5382, "mutability": "mutable", "name": "implementation", - "nameLocation": "57381:14:10", + "nameLocation": "57381:14:23", "nodeType": "VariableDeclaration", - "scope": 3789, - "src": "57373:22:10", + "scope": 5395, + "src": "57373:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -109175,10 +128150,10 @@ "typeString": "address" }, "typeName": { - "id": 3775, + "id": 5381, "name": "address", "nodeType": "ElementaryTypeName", - "src": "57373:7:10", + "src": "57373:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -109189,13 +128164,13 @@ }, { "constant": false, - "id": 3778, + "id": 5384, "mutability": "mutable", "name": "args", - "nameLocation": "57418:4:10", + "nameLocation": "57418:4:23", "nodeType": "VariableDeclaration", - "scope": 3789, - "src": "57405:17:10", + "scope": 5395, + "src": "57405:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -109203,10 +128178,10 @@ "typeString": "bytes" }, "typeName": { - "id": 3777, + "id": 5383, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "57405:5:10", + "src": "57405:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -109216,13 +128191,13 @@ }, { "constant": false, - "id": 3780, + "id": 5386, "mutability": "mutable", "name": "salt", - "nameLocation": "57440:4:10", + "nameLocation": "57440:4:23", "nodeType": "VariableDeclaration", - "scope": 3789, - "src": "57432:12:10", + "scope": 5395, + "src": "57432:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -109230,10 +128205,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 3779, + "id": 5385, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "57432:7:10", + "src": "57432:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -109242,21 +128217,21 @@ "visibility": "internal" } ], - "src": "57340:110:10" + "src": "57340:110:23" }, "returnParameters": { - "id": 3786, + "id": 5392, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3783, + "id": 5389, "mutability": "mutable", "name": "alreadyDeployed", - "nameLocation": "57474:15:10", + "nameLocation": "57474:15:23", "nodeType": "VariableDeclaration", - "scope": 3789, - "src": "57469:20:10", + "scope": 5395, + "src": "57469:20:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -109264,10 +128239,10 @@ "typeString": "bool" }, "typeName": { - "id": 3782, + "id": 5388, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "57469:4:10", + "src": "57469:4:23", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -109277,13 +128252,13 @@ }, { "constant": false, - "id": 3785, + "id": 5391, "mutability": "mutable", "name": "instance", - "nameLocation": "57499:8:10", + "nameLocation": "57499:8:23", "nodeType": "VariableDeclaration", - "scope": 3789, - "src": "57491:16:10", + "scope": 5395, + "src": "57491:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -109291,10 +128266,10 @@ "typeString": "address" }, "typeName": { - "id": 3784, + "id": 5390, "name": "address", "nodeType": "ElementaryTypeName", - "src": "57491:7:10", + "src": "57491:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -109304,89 +128279,89 @@ "visibility": "internal" } ], - "src": "57468:40:10" + "src": "57468:40:23" }, - "scope": 5093, - "src": "57305:1977:10", + "scope": 6699, + "src": "57305:1977:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3800, + "id": 5406, "nodeType": "Block", - "src": "59529:1032:10", + "src": "59529:1032:23", "statements": [ { "AST": { - "nativeSrc": "59591:964:10", + "nativeSrc": "59591:964:23", "nodeType": "YulBlock", - "src": "59591:964:10", + "src": "59591:964:23", "statements": [ { - "nativeSrc": "59605:16:10", + "nativeSrc": "59605:16:23", "nodeType": "YulAssignment", - "src": "59605:16:10", + "src": "59605:16:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "59616:4:10", + "nativeSrc": "59616:4:23", "nodeType": "YulLiteral", - "src": "59616:4:10", + "src": "59616:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "59610:5:10", + "nativeSrc": "59610:5:23", "nodeType": "YulIdentifier", - "src": "59610:5:10" + "src": "59610:5:23" }, - "nativeSrc": "59610:11:10", + "nativeSrc": "59610:11:23", "nodeType": "YulFunctionCall", - "src": "59610:11:10" + "src": "59610:11:23" }, "variableNames": [ { "name": "c", - "nativeSrc": "59605:1:10", + "nativeSrc": "59605:1:23", "nodeType": "YulIdentifier", - "src": "59605:1:10" + "src": "59605:1:23" } ] }, { - "nativeSrc": "59634:20:10", + "nativeSrc": "59634:20:23", "nodeType": "YulVariableDeclaration", - "src": "59634:20:10", + "src": "59634:20:23", "value": { "arguments": [ { "name": "args", - "nativeSrc": "59649:4:10", + "nativeSrc": "59649:4:23", "nodeType": "YulIdentifier", - "src": "59649:4:10" + "src": "59649:4:23" } ], "functionName": { "name": "mload", - "nativeSrc": "59643:5:10", + "nativeSrc": "59643:5:23", "nodeType": "YulIdentifier", - "src": "59643:5:10" + "src": "59643:5:23" }, - "nativeSrc": "59643:11:10", + "nativeSrc": "59643:11:23", "nodeType": "YulFunctionCall", - "src": "59643:11:10" + "src": "59643:11:23" }, "variables": [ { "name": "n", - "nativeSrc": "59638:1:10", + "nativeSrc": "59638:1:23", "nodeType": "YulTypedName", - "src": "59638:1:10", + "src": "59638:1:23", "type": "" } ] @@ -109398,73 +128373,73 @@ "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "59769:14:10", + "nativeSrc": "59769:14:23", "nodeType": "YulIdentifier", - "src": "59769:14:10" + "src": "59769:14:23" }, - "nativeSrc": "59769:16:10", + "nativeSrc": "59769:16:23", "nodeType": "YulFunctionCall", - "src": "59769:16:10" + "src": "59769:16:23" }, { "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "59787:14:10", + "nativeSrc": "59787:14:23", "nodeType": "YulIdentifier", - "src": "59787:14:10" + "src": "59787:14:23" }, - "nativeSrc": "59787:16:10", + "nativeSrc": "59787:16:23", "nodeType": "YulFunctionCall", - "src": "59787:16:10" + "src": "59787:16:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "59808:1:10", + "nativeSrc": "59808:1:23", "nodeType": "YulIdentifier", - "src": "59808:1:10" + "src": "59808:1:23" }, { "kind": "number", - "nativeSrc": "59811:6:10", + "nativeSrc": "59811:6:23", "nodeType": "YulLiteral", - "src": "59811:6:10", + "src": "59811:6:23", "type": "", "value": "0xffc2" } ], "functionName": { "name": "gt", - "nativeSrc": "59805:2:10", + "nativeSrc": "59805:2:23", "nodeType": "YulIdentifier", - "src": "59805:2:10" + "src": "59805:2:23" }, - "nativeSrc": "59805:13:10", + "nativeSrc": "59805:13:23", "nodeType": "YulFunctionCall", - "src": "59805:13:10" + "src": "59805:13:23" } ], "functionName": { "name": "returndatacopy", - "nativeSrc": "59754:14:10", + "nativeSrc": "59754:14:23", "nodeType": "YulIdentifier", - "src": "59754:14:10" + "src": "59754:14:23" }, - "nativeSrc": "59754:65:10", + "nativeSrc": "59754:65:23", "nodeType": "YulFunctionCall", - "src": "59754:65:10" + "src": "59754:65:23" }, - "nativeSrc": "59754:65:10", + "nativeSrc": "59754:65:23", "nodeType": "YulExpressionStatement", - "src": "59754:65:10" + "src": "59754:65:23" }, { "body": { - "nativeSrc": "59882:92:10", + "nativeSrc": "59882:92:23", "nodeType": "YulBlock", - "src": "59882:92:10", + "src": "59882:92:23", "statements": [ { "expression": { @@ -109475,45 +128450,45 @@ "arguments": [ { "name": "c", - "nativeSrc": "59915:1:10", + "nativeSrc": "59915:1:23", "nodeType": "YulIdentifier", - "src": "59915:1:10" + "src": "59915:1:23" }, { "kind": "number", - "nativeSrc": "59918:4:10", + "nativeSrc": "59918:4:23", "nodeType": "YulLiteral", - "src": "59918:4:10", + "src": "59918:4:23", "type": "", "value": "0x80" } ], "functionName": { "name": "add", - "nativeSrc": "59911:3:10", + "nativeSrc": "59911:3:23", "nodeType": "YulIdentifier", - "src": "59911:3:10" + "src": "59911:3:23" }, - "nativeSrc": "59911:12:10", + "nativeSrc": "59911:12:23", "nodeType": "YulFunctionCall", - "src": "59911:12:10" + "src": "59911:12:23" }, { "name": "i", - "nativeSrc": "59925:1:10", + "nativeSrc": "59925:1:23", "nodeType": "YulIdentifier", - "src": "59925:1:10" + "src": "59925:1:23" } ], "functionName": { "name": "add", - "nativeSrc": "59907:3:10", + "nativeSrc": "59907:3:23", "nodeType": "YulIdentifier", - "src": "59907:3:10" + "src": "59907:3:23" }, - "nativeSrc": "59907:20:10", + "nativeSrc": "59907:20:23", "nodeType": "YulFunctionCall", - "src": "59907:20:10" + "src": "59907:20:23" }, { "arguments": [ @@ -109523,71 +128498,71 @@ "arguments": [ { "name": "args", - "nativeSrc": "59943:4:10", + "nativeSrc": "59943:4:23", "nodeType": "YulIdentifier", - "src": "59943:4:10" + "src": "59943:4:23" }, { "kind": "number", - "nativeSrc": "59949:4:10", + "nativeSrc": "59949:4:23", "nodeType": "YulLiteral", - "src": "59949:4:10", + "src": "59949:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "59939:3:10", + "nativeSrc": "59939:3:23", "nodeType": "YulIdentifier", - "src": "59939:3:10" + "src": "59939:3:23" }, - "nativeSrc": "59939:15:10", + "nativeSrc": "59939:15:23", "nodeType": "YulFunctionCall", - "src": "59939:15:10" + "src": "59939:15:23" }, { "name": "i", - "nativeSrc": "59956:1:10", + "nativeSrc": "59956:1:23", "nodeType": "YulIdentifier", - "src": "59956:1:10" + "src": "59956:1:23" } ], "functionName": { "name": "add", - "nativeSrc": "59935:3:10", + "nativeSrc": "59935:3:23", "nodeType": "YulIdentifier", - "src": "59935:3:10" + "src": "59935:3:23" }, - "nativeSrc": "59935:23:10", + "nativeSrc": "59935:23:23", "nodeType": "YulFunctionCall", - "src": "59935:23:10" + "src": "59935:23:23" } ], "functionName": { "name": "mload", - "nativeSrc": "59929:5:10", + "nativeSrc": "59929:5:23", "nodeType": "YulIdentifier", - "src": "59929:5:10" + "src": "59929:5:23" }, - "nativeSrc": "59929:30:10", + "nativeSrc": "59929:30:23", "nodeType": "YulFunctionCall", - "src": "59929:30:10" + "src": "59929:30:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "59900:6:10", + "nativeSrc": "59900:6:23", "nodeType": "YulIdentifier", - "src": "59900:6:10" + "src": "59900:6:23" }, - "nativeSrc": "59900:60:10", + "nativeSrc": "59900:60:23", "nodeType": "YulFunctionCall", - "src": "59900:60:10" + "src": "59900:60:23" }, - "nativeSrc": "59900:60:10", + "nativeSrc": "59900:60:23", "nodeType": "YulExpressionStatement", - "src": "59900:60:10" + "src": "59900:60:23" } ] }, @@ -109595,106 +128570,106 @@ "arguments": [ { "name": "i", - "nativeSrc": "59854:1:10", + "nativeSrc": "59854:1:23", "nodeType": "YulIdentifier", - "src": "59854:1:10" + "src": "59854:1:23" }, { "name": "n", - "nativeSrc": "59857:1:10", + "nativeSrc": "59857:1:23", "nodeType": "YulIdentifier", - "src": "59857:1:10" + "src": "59857:1:23" } ], "functionName": { "name": "lt", - "nativeSrc": "59851:2:10", + "nativeSrc": "59851:2:23", "nodeType": "YulIdentifier", - "src": "59851:2:10" + "src": "59851:2:23" }, - "nativeSrc": "59851:8:10", + "nativeSrc": "59851:8:23", "nodeType": "YulFunctionCall", - "src": "59851:8:10" + "src": "59851:8:23" }, - "nativeSrc": "59832:142:10", + "nativeSrc": "59832:142:23", "nodeType": "YulForLoop", "post": { - "nativeSrc": "59860:21:10", + "nativeSrc": "59860:21:23", "nodeType": "YulBlock", - "src": "59860:21:10", + "src": "59860:21:23", "statements": [ { - "nativeSrc": "59862:17:10", + "nativeSrc": "59862:17:23", "nodeType": "YulAssignment", - "src": "59862:17:10", + "src": "59862:17:23", "value": { "arguments": [ { "name": "i", - "nativeSrc": "59871:1:10", + "nativeSrc": "59871:1:23", "nodeType": "YulIdentifier", - "src": "59871:1:10" + "src": "59871:1:23" }, { "kind": "number", - "nativeSrc": "59874:4:10", + "nativeSrc": "59874:4:23", "nodeType": "YulLiteral", - "src": "59874:4:10", + "src": "59874:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "59867:3:10", + "nativeSrc": "59867:3:23", "nodeType": "YulIdentifier", - "src": "59867:3:10" + "src": "59867:3:23" }, - "nativeSrc": "59867:12:10", + "nativeSrc": "59867:12:23", "nodeType": "YulFunctionCall", - "src": "59867:12:10" + "src": "59867:12:23" }, "variableNames": [ { "name": "i", - "nativeSrc": "59862:1:10", + "nativeSrc": "59862:1:23", "nodeType": "YulIdentifier", - "src": "59862:1:10" + "src": "59862:1:23" } ] } ] }, "pre": { - "nativeSrc": "59836:14:10", + "nativeSrc": "59836:14:23", "nodeType": "YulBlock", - "src": "59836:14:10", + "src": "59836:14:23", "statements": [ { - "nativeSrc": "59838:10:10", + "nativeSrc": "59838:10:23", "nodeType": "YulVariableDeclaration", - "src": "59838:10:10", + "src": "59838:10:23", "value": { "kind": "number", - "nativeSrc": "59847:1:10", + "nativeSrc": "59847:1:23", "nodeType": "YulLiteral", - "src": "59847:1:10", + "src": "59847:1:23", "type": "", "value": "0" }, "variables": [ { "name": "i", - "nativeSrc": "59842:1:10", + "nativeSrc": "59842:1:23", "nodeType": "YulTypedName", - "src": "59842:1:10", + "src": "59842:1:23", "type": "" } ] } ] }, - "src": "59832:142:10" + "src": "59832:142:23" }, { "expression": { @@ -109703,51 +128678,51 @@ "arguments": [ { "name": "c", - "nativeSrc": "59998:1:10", + "nativeSrc": "59998:1:23", "nodeType": "YulIdentifier", - "src": "59998:1:10" + "src": "59998:1:23" }, { "kind": "number", - "nativeSrc": "60001:4:10", + "nativeSrc": "60001:4:23", "nodeType": "YulLiteral", - "src": "60001:4:10", + "src": "60001:4:23", "type": "", "value": "0x60" } ], "functionName": { "name": "add", - "nativeSrc": "59994:3:10", + "nativeSrc": "59994:3:23", "nodeType": "YulIdentifier", - "src": "59994:3:10" + "src": "59994:3:23" }, - "nativeSrc": "59994:12:10", + "nativeSrc": "59994:12:23", "nodeType": "YulFunctionCall", - "src": "59994:12:10" + "src": "59994:12:23" }, { "kind": "number", - "nativeSrc": "60008:66:10", + "nativeSrc": "60008:66:23", "nodeType": "YulLiteral", - "src": "60008:66:10", + "src": "60008:66:23", "type": "", "value": "0xcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f3" } ], "functionName": { "name": "mstore", - "nativeSrc": "59987:6:10", + "nativeSrc": "59987:6:23", "nodeType": "YulIdentifier", - "src": "59987:6:10" + "src": "59987:6:23" }, - "nativeSrc": "59987:88:10", + "nativeSrc": "59987:88:23", "nodeType": "YulFunctionCall", - "src": "59987:88:10" + "src": "59987:88:23" }, - "nativeSrc": "59987:88:10", + "nativeSrc": "59987:88:23", "nodeType": "YulExpressionStatement", - "src": "59987:88:10" + "src": "59987:88:23" }, { "expression": { @@ -109756,51 +128731,51 @@ "arguments": [ { "name": "c", - "nativeSrc": "60099:1:10", + "nativeSrc": "60099:1:23", "nodeType": "YulIdentifier", - "src": "60099:1:10" + "src": "60099:1:23" }, { "kind": "number", - "nativeSrc": "60102:4:10", + "nativeSrc": "60102:4:23", "nodeType": "YulLiteral", - "src": "60102:4:10", + "src": "60102:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "add", - "nativeSrc": "60095:3:10", + "nativeSrc": "60095:3:23", "nodeType": "YulIdentifier", - "src": "60095:3:10" + "src": "60095:3:23" }, - "nativeSrc": "60095:12:10", + "nativeSrc": "60095:12:23", "nodeType": "YulFunctionCall", - "src": "60095:12:10" + "src": "60095:12:23" }, { "kind": "number", - "nativeSrc": "60109:66:10", + "nativeSrc": "60109:66:23", "nodeType": "YulLiteral", - "src": "60109:66:10", + "src": "60109:66:23", "type": "", "value": "0x5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e2076" } ], "functionName": { "name": "mstore", - "nativeSrc": "60088:6:10", + "nativeSrc": "60088:6:23", "nodeType": "YulIdentifier", - "src": "60088:6:10" + "src": "60088:6:23" }, - "nativeSrc": "60088:88:10", + "nativeSrc": "60088:88:23", "nodeType": "YulFunctionCall", - "src": "60088:88:10" + "src": "60088:88:23" }, - "nativeSrc": "60088:88:10", + "nativeSrc": "60088:88:23", "nodeType": "YulExpressionStatement", - "src": "60088:88:10" + "src": "60088:88:23" }, { "expression": { @@ -109809,51 +128784,51 @@ "arguments": [ { "name": "c", - "nativeSrc": "60200:1:10", + "nativeSrc": "60200:1:23", "nodeType": "YulIdentifier", - "src": "60200:1:10" + "src": "60200:1:23" }, { "kind": "number", - "nativeSrc": "60203:4:10", + "nativeSrc": "60203:4:23", "nodeType": "YulLiteral", - "src": "60203:4:10", + "src": "60203:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "60196:3:10", + "nativeSrc": "60196:3:23", "nodeType": "YulIdentifier", - "src": "60196:3:10" + "src": "60196:3:23" }, - "nativeSrc": "60196:12:10", + "nativeSrc": "60196:12:23", "nodeType": "YulFunctionCall", - "src": "60196:12:10" + "src": "60196:12:23" }, { "kind": "number", - "nativeSrc": "60210:6:10", + "nativeSrc": "60210:6:23", "nodeType": "YulLiteral", - "src": "60210:6:10", + "src": "60210:6:23", "type": "", "value": "0x6009" } ], "functionName": { "name": "mstore", - "nativeSrc": "60189:6:10", + "nativeSrc": "60189:6:23", "nodeType": "YulIdentifier", - "src": "60189:6:10" + "src": "60189:6:23" }, - "nativeSrc": "60189:28:10", + "nativeSrc": "60189:28:23", "nodeType": "YulFunctionCall", - "src": "60189:28:10" + "src": "60189:28:23" }, - "nativeSrc": "60189:28:10", + "nativeSrc": "60189:28:23", "nodeType": "YulExpressionStatement", - "src": "60189:28:10" + "src": "60189:28:23" }, { "expression": { @@ -109862,49 +128837,49 @@ "arguments": [ { "name": "c", - "nativeSrc": "60241:1:10", + "nativeSrc": "60241:1:23", "nodeType": "YulIdentifier", - "src": "60241:1:10" + "src": "60241:1:23" }, { "kind": "number", - "nativeSrc": "60244:4:10", + "nativeSrc": "60244:4:23", "nodeType": "YulLiteral", - "src": "60244:4:10", + "src": "60244:4:23", "type": "", "value": "0x1e" } ], "functionName": { "name": "add", - "nativeSrc": "60237:3:10", + "nativeSrc": "60237:3:23", "nodeType": "YulIdentifier", - "src": "60237:3:10" + "src": "60237:3:23" }, - "nativeSrc": "60237:12:10", + "nativeSrc": "60237:12:23", "nodeType": "YulFunctionCall", - "src": "60237:12:10" + "src": "60237:12:23" }, { "name": "implementation", - "nativeSrc": "60251:14:10", + "nativeSrc": "60251:14:23", "nodeType": "YulIdentifier", - "src": "60251:14:10" + "src": "60251:14:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "60230:6:10", + "nativeSrc": "60230:6:23", "nodeType": "YulIdentifier", - "src": "60230:6:10" + "src": "60230:6:23" }, - "nativeSrc": "60230:36:10", + "nativeSrc": "60230:36:23", "nodeType": "YulFunctionCall", - "src": "60230:36:10" + "src": "60230:36:23" }, - "nativeSrc": "60230:36:10", + "nativeSrc": "60230:36:23", "nodeType": "YulExpressionStatement", - "src": "60230:36:10" + "src": "60230:36:23" }, { "expression": { @@ -109913,36 +128888,36 @@ "arguments": [ { "name": "c", - "nativeSrc": "60290:1:10", + "nativeSrc": "60290:1:23", "nodeType": "YulIdentifier", - "src": "60290:1:10" + "src": "60290:1:23" }, { "kind": "number", - "nativeSrc": "60293:4:10", + "nativeSrc": "60293:4:23", "nodeType": "YulLiteral", - "src": "60293:4:10", + "src": "60293:4:23", "type": "", "value": "0x0a" } ], "functionName": { "name": "add", - "nativeSrc": "60286:3:10", + "nativeSrc": "60286:3:23", "nodeType": "YulIdentifier", - "src": "60286:3:10" + "src": "60286:3:23" }, - "nativeSrc": "60286:12:10", + "nativeSrc": "60286:12:23", "nodeType": "YulFunctionCall", - "src": "60286:12:10" + "src": "60286:12:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "60304:22:10", + "nativeSrc": "60304:22:23", "nodeType": "YulLiteral", - "src": "60304:22:10", + "src": "60304:22:23", "type": "", "value": "0x61003d3d8160233d3973" }, @@ -109950,105 +128925,105 @@ "arguments": [ { "kind": "number", - "nativeSrc": "60332:2:10", + "nativeSrc": "60332:2:23", "nodeType": "YulLiteral", - "src": "60332:2:10", + "src": "60332:2:23", "type": "", "value": "56" }, { "name": "n", - "nativeSrc": "60336:1:10", + "nativeSrc": "60336:1:23", "nodeType": "YulIdentifier", - "src": "60336:1:10" + "src": "60336:1:23" } ], "functionName": { "name": "shl", - "nativeSrc": "60328:3:10", + "nativeSrc": "60328:3:23", "nodeType": "YulIdentifier", - "src": "60328:3:10" + "src": "60328:3:23" }, - "nativeSrc": "60328:10:10", + "nativeSrc": "60328:10:23", "nodeType": "YulFunctionCall", - "src": "60328:10:10" + "src": "60328:10:23" } ], "functionName": { "name": "add", - "nativeSrc": "60300:3:10", + "nativeSrc": "60300:3:23", "nodeType": "YulIdentifier", - "src": "60300:3:10" + "src": "60300:3:23" }, - "nativeSrc": "60300:39:10", + "nativeSrc": "60300:39:23", "nodeType": "YulFunctionCall", - "src": "60300:39:10" + "src": "60300:39:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "60279:6:10", + "nativeSrc": "60279:6:23", "nodeType": "YulIdentifier", - "src": "60279:6:10" + "src": "60279:6:23" }, - "nativeSrc": "60279:61:10", + "nativeSrc": "60279:61:23", "nodeType": "YulFunctionCall", - "src": "60279:61:10" + "src": "60279:61:23" }, - "nativeSrc": "60279:61:10", + "nativeSrc": "60279:61:23", "nodeType": "YulExpressionStatement", - "src": "60279:61:10" + "src": "60279:61:23" }, { "expression": { "arguments": [ { "name": "c", - "nativeSrc": "60360:1:10", + "nativeSrc": "60360:1:23", "nodeType": "YulIdentifier", - "src": "60360:1:10" + "src": "60360:1:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "60367:1:10", + "nativeSrc": "60367:1:23", "nodeType": "YulIdentifier", - "src": "60367:1:10" + "src": "60367:1:23" }, { "kind": "number", - "nativeSrc": "60370:4:10", + "nativeSrc": "60370:4:23", "nodeType": "YulLiteral", - "src": "60370:4:10", + "src": "60370:4:23", "type": "", "value": "0x60" } ], "functionName": { "name": "add", - "nativeSrc": "60363:3:10", + "nativeSrc": "60363:3:23", "nodeType": "YulIdentifier", - "src": "60363:3:10" + "src": "60363:3:23" }, - "nativeSrc": "60363:12:10", + "nativeSrc": "60363:12:23", "nodeType": "YulFunctionCall", - "src": "60363:12:10" + "src": "60363:12:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "60353:6:10", + "nativeSrc": "60353:6:23", "nodeType": "YulIdentifier", - "src": "60353:6:10" + "src": "60353:6:23" }, - "nativeSrc": "60353:23:10", + "nativeSrc": "60353:23:23", "nodeType": "YulFunctionCall", - "src": "60353:23:10" + "src": "60353:23:23" }, - "nativeSrc": "60353:23:10", + "nativeSrc": "60353:23:23", "nodeType": "YulExpressionStatement", - "src": "60353:23:10" + "src": "60353:23:23" }, { "expression": { @@ -110057,79 +129032,79 @@ "arguments": [ { "name": "c", - "nativeSrc": "60421:1:10", + "nativeSrc": "60421:1:23", "nodeType": "YulIdentifier", - "src": "60421:1:10" + "src": "60421:1:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "60428:1:10", + "nativeSrc": "60428:1:23", "nodeType": "YulIdentifier", - "src": "60428:1:10" + "src": "60428:1:23" }, { "kind": "number", - "nativeSrc": "60431:4:10", + "nativeSrc": "60431:4:23", "nodeType": "YulLiteral", - "src": "60431:4:10", + "src": "60431:4:23", "type": "", "value": "0x80" } ], "functionName": { "name": "add", - "nativeSrc": "60424:3:10", + "nativeSrc": "60424:3:23", "nodeType": "YulIdentifier", - "src": "60424:3:10" + "src": "60424:3:23" }, - "nativeSrc": "60424:12:10", + "nativeSrc": "60424:12:23", "nodeType": "YulFunctionCall", - "src": "60424:12:10" + "src": "60424:12:23" } ], "functionName": { "name": "add", - "nativeSrc": "60417:3:10", + "nativeSrc": "60417:3:23", "nodeType": "YulIdentifier", - "src": "60417:3:10" + "src": "60417:3:23" }, - "nativeSrc": "60417:20:10", + "nativeSrc": "60417:20:23", "nodeType": "YulFunctionCall", - "src": "60417:20:10" + "src": "60417:20:23" }, { "kind": "number", - "nativeSrc": "60439:1:10", + "nativeSrc": "60439:1:23", "nodeType": "YulLiteral", - "src": "60439:1:10", + "src": "60439:1:23", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "60410:6:10", + "nativeSrc": "60410:6:23", "nodeType": "YulIdentifier", - "src": "60410:6:10" + "src": "60410:6:23" }, - "nativeSrc": "60410:31:10", + "nativeSrc": "60410:31:23", "nodeType": "YulFunctionCall", - "src": "60410:31:10" + "src": "60410:31:23" }, - "nativeSrc": "60410:31:10", + "nativeSrc": "60410:31:23", "nodeType": "YulExpressionStatement", - "src": "60410:31:10" + "src": "60410:31:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "60498:4:10", + "nativeSrc": "60498:4:23", "nodeType": "YulLiteral", - "src": "60498:4:10", + "src": "60498:4:23", "type": "", "value": "0x40" }, @@ -110137,62 +129112,62 @@ "arguments": [ { "name": "c", - "nativeSrc": "60508:1:10", + "nativeSrc": "60508:1:23", "nodeType": "YulIdentifier", - "src": "60508:1:10" + "src": "60508:1:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "60515:1:10", + "nativeSrc": "60515:1:23", "nodeType": "YulIdentifier", - "src": "60515:1:10" + "src": "60515:1:23" }, { "kind": "number", - "nativeSrc": "60518:4:10", + "nativeSrc": "60518:4:23", "nodeType": "YulLiteral", - "src": "60518:4:10", + "src": "60518:4:23", "type": "", "value": "0xa0" } ], "functionName": { "name": "add", - "nativeSrc": "60511:3:10", + "nativeSrc": "60511:3:23", "nodeType": "YulIdentifier", - "src": "60511:3:10" + "src": "60511:3:23" }, - "nativeSrc": "60511:12:10", + "nativeSrc": "60511:12:23", "nodeType": "YulFunctionCall", - "src": "60511:12:10" + "src": "60511:12:23" } ], "functionName": { "name": "add", - "nativeSrc": "60504:3:10", + "nativeSrc": "60504:3:23", "nodeType": "YulIdentifier", - "src": "60504:3:10" + "src": "60504:3:23" }, - "nativeSrc": "60504:20:10", + "nativeSrc": "60504:20:23", "nodeType": "YulFunctionCall", - "src": "60504:20:10" + "src": "60504:20:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "60491:6:10", + "nativeSrc": "60491:6:23", "nodeType": "YulIdentifier", - "src": "60491:6:10" + "src": "60491:6:23" }, - "nativeSrc": "60491:34:10", + "nativeSrc": "60491:34:23", "nodeType": "YulFunctionCall", - "src": "60491:34:10" + "src": "60491:34:23" }, - "nativeSrc": "60491:34:10", + "nativeSrc": "60491:34:23", "nodeType": "YulExpressionStatement", - "src": "60491:34:10" + "src": "60491:34:23" } ] }, @@ -110200,129 +129175,129 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3794, + "declaration": 5400, "isOffset": false, "isSlot": false, - "src": "59649:4:10", + "src": "59649:4:23", "valueSize": 1 }, { - "declaration": 3794, + "declaration": 5400, "isOffset": false, "isSlot": false, - "src": "59943:4:10", + "src": "59943:4:23", "valueSize": 1 }, { - "declaration": 3797, + "declaration": 5403, "isOffset": false, "isSlot": false, - "src": "59605:1:10", + "src": "59605:1:23", "valueSize": 1 }, { - "declaration": 3797, + "declaration": 5403, "isOffset": false, "isSlot": false, - "src": "59915:1:10", + "src": "59915:1:23", "valueSize": 1 }, { - "declaration": 3797, + "declaration": 5403, "isOffset": false, "isSlot": false, - "src": "59998:1:10", + "src": "59998:1:23", "valueSize": 1 }, { - "declaration": 3797, + "declaration": 5403, "isOffset": false, "isSlot": false, - "src": "60099:1:10", + "src": "60099:1:23", "valueSize": 1 }, { - "declaration": 3797, + "declaration": 5403, "isOffset": false, "isSlot": false, - "src": "60200:1:10", + "src": "60200:1:23", "valueSize": 1 }, { - "declaration": 3797, + "declaration": 5403, "isOffset": false, "isSlot": false, - "src": "60241:1:10", + "src": "60241:1:23", "valueSize": 1 }, { - "declaration": 3797, + "declaration": 5403, "isOffset": false, "isSlot": false, - "src": "60290:1:10", + "src": "60290:1:23", "valueSize": 1 }, { - "declaration": 3797, + "declaration": 5403, "isOffset": false, "isSlot": false, - "src": "60360:1:10", + "src": "60360:1:23", "valueSize": 1 }, { - "declaration": 3797, + "declaration": 5403, "isOffset": false, "isSlot": false, - "src": "60421:1:10", + "src": "60421:1:23", "valueSize": 1 }, { - "declaration": 3797, + "declaration": 5403, "isOffset": false, "isSlot": false, - "src": "60508:1:10", + "src": "60508:1:23", "valueSize": 1 }, { - "declaration": 3792, + "declaration": 5398, "isOffset": false, "isSlot": false, - "src": "60251:14:10", + "src": "60251:14:23", "valueSize": 1 } ], - "id": 3799, + "id": 5405, "nodeType": "InlineAssembly", - "src": "59582:973:10" + "src": "59582:973:23" } ] }, "documentation": { - "id": 3790, + "id": 5396, "nodeType": "StructuredDocumentation", - "src": "59288:101:10", + "src": "59288:101:23", "text": "@dev Returns the initialization code of the minimal ERC1967 proxy of `implementation` and `args`." }, - "id": 3801, + "id": 5407, "implemented": true, "kind": "function", "modifiers": [], "name": "initCodeERC1967", - "nameLocation": "59403:15:10", + "nameLocation": "59403:15:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3795, + "id": 5401, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3792, + "id": 5398, "mutability": "mutable", "name": "implementation", - "nameLocation": "59427:14:10", + "nameLocation": "59427:14:23", "nodeType": "VariableDeclaration", - "scope": 3801, - "src": "59419:22:10", + "scope": 5407, + "src": "59419:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -110330,10 +129305,10 @@ "typeString": "address" }, "typeName": { - "id": 3791, + "id": 5397, "name": "address", "nodeType": "ElementaryTypeName", - "src": "59419:7:10", + "src": "59419:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -110344,13 +129319,13 @@ }, { "constant": false, - "id": 3794, + "id": 5400, "mutability": "mutable", "name": "args", - "nameLocation": "59456:4:10", + "nameLocation": "59456:4:23", "nodeType": "VariableDeclaration", - "scope": 3801, - "src": "59443:17:10", + "scope": 5407, + "src": "59443:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -110358,10 +129333,10 @@ "typeString": "bytes" }, "typeName": { - "id": 3793, + "id": 5399, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "59443:5:10", + "src": "59443:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -110370,21 +129345,21 @@ "visibility": "internal" } ], - "src": "59418:43:10" + "src": "59418:43:23" }, "returnParameters": { - "id": 3798, + "id": 5404, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3797, + "id": 5403, "mutability": "mutable", "name": "c", - "nameLocation": "59522:1:10", + "nameLocation": "59522:1:23", "nodeType": "VariableDeclaration", - "scope": 3801, - "src": "59509:14:10", + "scope": 5407, + "src": "59509:14:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -110392,10 +129367,10 @@ "typeString": "bytes" }, "typeName": { - "id": 3796, + "id": 5402, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "59509:5:10", + "src": "59509:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -110404,90 +129379,90 @@ "visibility": "internal" } ], - "src": "59508:16:10" + "src": "59508:16:23" }, - "scope": 5093, - "src": "59394:1167:10", + "scope": 6699, + "src": "59394:1167:23", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3812, + "id": 5418, "nodeType": "Block", - "src": "60815:889:10", + "src": "60815:889:23", "statements": [ { "AST": { - "nativeSrc": "60877:821:10", + "nativeSrc": "60877:821:23", "nodeType": "YulBlock", - "src": "60877:821:10", + "src": "60877:821:23", "statements": [ { - "nativeSrc": "60891:20:10", + "nativeSrc": "60891:20:23", "nodeType": "YulVariableDeclaration", - "src": "60891:20:10", + "src": "60891:20:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "60906:4:10", + "nativeSrc": "60906:4:23", "nodeType": "YulLiteral", - "src": "60906:4:10", + "src": "60906:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "60900:5:10", + "nativeSrc": "60900:5:23", "nodeType": "YulIdentifier", - "src": "60900:5:10" + "src": "60900:5:23" }, - "nativeSrc": "60900:11:10", + "nativeSrc": "60900:11:23", "nodeType": "YulFunctionCall", - "src": "60900:11:10" + "src": "60900:11:23" }, "variables": [ { "name": "m", - "nativeSrc": "60895:1:10", + "nativeSrc": "60895:1:23", "nodeType": "YulTypedName", - "src": "60895:1:10", + "src": "60895:1:23", "type": "" } ] }, { - "nativeSrc": "60924:20:10", + "nativeSrc": "60924:20:23", "nodeType": "YulVariableDeclaration", - "src": "60924:20:10", + "src": "60924:20:23", "value": { "arguments": [ { "name": "args", - "nativeSrc": "60939:4:10", + "nativeSrc": "60939:4:23", "nodeType": "YulIdentifier", - "src": "60939:4:10" + "src": "60939:4:23" } ], "functionName": { "name": "mload", - "nativeSrc": "60933:5:10", + "nativeSrc": "60933:5:23", "nodeType": "YulIdentifier", - "src": "60933:5:10" + "src": "60933:5:23" }, - "nativeSrc": "60933:11:10", + "nativeSrc": "60933:11:23", "nodeType": "YulFunctionCall", - "src": "60933:11:10" + "src": "60933:11:23" }, "variables": [ { "name": "n", - "nativeSrc": "60928:1:10", + "nativeSrc": "60928:1:23", "nodeType": "YulTypedName", - "src": "60928:1:10", + "src": "60928:1:23", "type": "" } ] @@ -110499,73 +129474,73 @@ "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "61059:14:10", + "nativeSrc": "61059:14:23", "nodeType": "YulIdentifier", - "src": "61059:14:10" + "src": "61059:14:23" }, - "nativeSrc": "61059:16:10", + "nativeSrc": "61059:16:23", "nodeType": "YulFunctionCall", - "src": "61059:16:10" + "src": "61059:16:23" }, { "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "61077:14:10", + "nativeSrc": "61077:14:23", "nodeType": "YulIdentifier", - "src": "61077:14:10" + "src": "61077:14:23" }, - "nativeSrc": "61077:16:10", + "nativeSrc": "61077:16:23", "nodeType": "YulFunctionCall", - "src": "61077:16:10" + "src": "61077:16:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "61098:1:10", + "nativeSrc": "61098:1:23", "nodeType": "YulIdentifier", - "src": "61098:1:10" + "src": "61098:1:23" }, { "kind": "number", - "nativeSrc": "61101:6:10", + "nativeSrc": "61101:6:23", "nodeType": "YulLiteral", - "src": "61101:6:10", + "src": "61101:6:23", "type": "", "value": "0xffc2" } ], "functionName": { "name": "gt", - "nativeSrc": "61095:2:10", + "nativeSrc": "61095:2:23", "nodeType": "YulIdentifier", - "src": "61095:2:10" + "src": "61095:2:23" }, - "nativeSrc": "61095:13:10", + "nativeSrc": "61095:13:23", "nodeType": "YulFunctionCall", - "src": "61095:13:10" + "src": "61095:13:23" } ], "functionName": { "name": "returndatacopy", - "nativeSrc": "61044:14:10", + "nativeSrc": "61044:14:23", "nodeType": "YulIdentifier", - "src": "61044:14:10" + "src": "61044:14:23" }, - "nativeSrc": "61044:65:10", + "nativeSrc": "61044:65:23", "nodeType": "YulFunctionCall", - "src": "61044:65:10" + "src": "61044:65:23" }, - "nativeSrc": "61044:65:10", + "nativeSrc": "61044:65:23", "nodeType": "YulExpressionStatement", - "src": "61044:65:10" + "src": "61044:65:23" }, { "body": { - "nativeSrc": "61172:92:10", + "nativeSrc": "61172:92:23", "nodeType": "YulBlock", - "src": "61172:92:10", + "src": "61172:92:23", "statements": [ { "expression": { @@ -110576,45 +129551,45 @@ "arguments": [ { "name": "m", - "nativeSrc": "61205:1:10", + "nativeSrc": "61205:1:23", "nodeType": "YulIdentifier", - "src": "61205:1:10" + "src": "61205:1:23" }, { "kind": "number", - "nativeSrc": "61208:4:10", + "nativeSrc": "61208:4:23", "nodeType": "YulLiteral", - "src": "61208:4:10", + "src": "61208:4:23", "type": "", "value": "0x60" } ], "functionName": { "name": "add", - "nativeSrc": "61201:3:10", + "nativeSrc": "61201:3:23", "nodeType": "YulIdentifier", - "src": "61201:3:10" + "src": "61201:3:23" }, - "nativeSrc": "61201:12:10", + "nativeSrc": "61201:12:23", "nodeType": "YulFunctionCall", - "src": "61201:12:10" + "src": "61201:12:23" }, { "name": "i", - "nativeSrc": "61215:1:10", + "nativeSrc": "61215:1:23", "nodeType": "YulIdentifier", - "src": "61215:1:10" + "src": "61215:1:23" } ], "functionName": { "name": "add", - "nativeSrc": "61197:3:10", + "nativeSrc": "61197:3:23", "nodeType": "YulIdentifier", - "src": "61197:3:10" + "src": "61197:3:23" }, - "nativeSrc": "61197:20:10", + "nativeSrc": "61197:20:23", "nodeType": "YulFunctionCall", - "src": "61197:20:10" + "src": "61197:20:23" }, { "arguments": [ @@ -110624,71 +129599,71 @@ "arguments": [ { "name": "args", - "nativeSrc": "61233:4:10", + "nativeSrc": "61233:4:23", "nodeType": "YulIdentifier", - "src": "61233:4:10" + "src": "61233:4:23" }, { "kind": "number", - "nativeSrc": "61239:4:10", + "nativeSrc": "61239:4:23", "nodeType": "YulLiteral", - "src": "61239:4:10", + "src": "61239:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "61229:3:10", + "nativeSrc": "61229:3:23", "nodeType": "YulIdentifier", - "src": "61229:3:10" + "src": "61229:3:23" }, - "nativeSrc": "61229:15:10", + "nativeSrc": "61229:15:23", "nodeType": "YulFunctionCall", - "src": "61229:15:10" + "src": "61229:15:23" }, { "name": "i", - "nativeSrc": "61246:1:10", + "nativeSrc": "61246:1:23", "nodeType": "YulIdentifier", - "src": "61246:1:10" + "src": "61246:1:23" } ], "functionName": { "name": "add", - "nativeSrc": "61225:3:10", + "nativeSrc": "61225:3:23", "nodeType": "YulIdentifier", - "src": "61225:3:10" + "src": "61225:3:23" }, - "nativeSrc": "61225:23:10", + "nativeSrc": "61225:23:23", "nodeType": "YulFunctionCall", - "src": "61225:23:10" + "src": "61225:23:23" } ], "functionName": { "name": "mload", - "nativeSrc": "61219:5:10", + "nativeSrc": "61219:5:23", "nodeType": "YulIdentifier", - "src": "61219:5:10" + "src": "61219:5:23" }, - "nativeSrc": "61219:30:10", + "nativeSrc": "61219:30:23", "nodeType": "YulFunctionCall", - "src": "61219:30:10" + "src": "61219:30:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "61190:6:10", + "nativeSrc": "61190:6:23", "nodeType": "YulIdentifier", - "src": "61190:6:10" + "src": "61190:6:23" }, - "nativeSrc": "61190:60:10", + "nativeSrc": "61190:60:23", "nodeType": "YulFunctionCall", - "src": "61190:60:10" + "src": "61190:60:23" }, - "nativeSrc": "61190:60:10", + "nativeSrc": "61190:60:23", "nodeType": "YulExpressionStatement", - "src": "61190:60:10" + "src": "61190:60:23" } ] }, @@ -110696,106 +129671,106 @@ "arguments": [ { "name": "i", - "nativeSrc": "61144:1:10", + "nativeSrc": "61144:1:23", "nodeType": "YulIdentifier", - "src": "61144:1:10" + "src": "61144:1:23" }, { "name": "n", - "nativeSrc": "61147:1:10", + "nativeSrc": "61147:1:23", "nodeType": "YulIdentifier", - "src": "61147:1:10" + "src": "61147:1:23" } ], "functionName": { "name": "lt", - "nativeSrc": "61141:2:10", + "nativeSrc": "61141:2:23", "nodeType": "YulIdentifier", - "src": "61141:2:10" + "src": "61141:2:23" }, - "nativeSrc": "61141:8:10", + "nativeSrc": "61141:8:23", "nodeType": "YulFunctionCall", - "src": "61141:8:10" + "src": "61141:8:23" }, - "nativeSrc": "61122:142:10", + "nativeSrc": "61122:142:23", "nodeType": "YulForLoop", "post": { - "nativeSrc": "61150:21:10", + "nativeSrc": "61150:21:23", "nodeType": "YulBlock", - "src": "61150:21:10", + "src": "61150:21:23", "statements": [ { - "nativeSrc": "61152:17:10", + "nativeSrc": "61152:17:23", "nodeType": "YulAssignment", - "src": "61152:17:10", + "src": "61152:17:23", "value": { "arguments": [ { "name": "i", - "nativeSrc": "61161:1:10", + "nativeSrc": "61161:1:23", "nodeType": "YulIdentifier", - "src": "61161:1:10" + "src": "61161:1:23" }, { "kind": "number", - "nativeSrc": "61164:4:10", + "nativeSrc": "61164:4:23", "nodeType": "YulLiteral", - "src": "61164:4:10", + "src": "61164:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "61157:3:10", + "nativeSrc": "61157:3:23", "nodeType": "YulIdentifier", - "src": "61157:3:10" + "src": "61157:3:23" }, - "nativeSrc": "61157:12:10", + "nativeSrc": "61157:12:23", "nodeType": "YulFunctionCall", - "src": "61157:12:10" + "src": "61157:12:23" }, "variableNames": [ { "name": "i", - "nativeSrc": "61152:1:10", + "nativeSrc": "61152:1:23", "nodeType": "YulIdentifier", - "src": "61152:1:10" + "src": "61152:1:23" } ] } ] }, "pre": { - "nativeSrc": "61126:14:10", + "nativeSrc": "61126:14:23", "nodeType": "YulBlock", - "src": "61126:14:10", + "src": "61126:14:23", "statements": [ { - "nativeSrc": "61128:10:10", + "nativeSrc": "61128:10:23", "nodeType": "YulVariableDeclaration", - "src": "61128:10:10", + "src": "61128:10:23", "value": { "kind": "number", - "nativeSrc": "61137:1:10", + "nativeSrc": "61137:1:23", "nodeType": "YulLiteral", - "src": "61137:1:10", + "src": "61137:1:23", "type": "", "value": "0" }, "variables": [ { "name": "i", - "nativeSrc": "61132:1:10", + "nativeSrc": "61132:1:23", "nodeType": "YulTypedName", - "src": "61132:1:10", + "src": "61132:1:23", "type": "" } ] } ] }, - "src": "61122:142:10" + "src": "61122:142:23" }, { "expression": { @@ -110804,51 +129779,51 @@ "arguments": [ { "name": "m", - "nativeSrc": "61288:1:10", + "nativeSrc": "61288:1:23", "nodeType": "YulIdentifier", - "src": "61288:1:10" + "src": "61288:1:23" }, { "kind": "number", - "nativeSrc": "61291:4:10", + "nativeSrc": "61291:4:23", "nodeType": "YulLiteral", - "src": "61291:4:10", + "src": "61291:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "add", - "nativeSrc": "61284:3:10", + "nativeSrc": "61284:3:23", "nodeType": "YulIdentifier", - "src": "61284:3:10" + "src": "61284:3:23" }, - "nativeSrc": "61284:12:10", + "nativeSrc": "61284:12:23", "nodeType": "YulFunctionCall", - "src": "61284:12:10" + "src": "61284:12:23" }, { "kind": "number", - "nativeSrc": "61298:66:10", + "nativeSrc": "61298:66:23", "nodeType": "YulLiteral", - "src": "61298:66:10", + "src": "61298:66:23", "type": "", "value": "0xcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f3" } ], "functionName": { "name": "mstore", - "nativeSrc": "61277:6:10", + "nativeSrc": "61277:6:23", "nodeType": "YulIdentifier", - "src": "61277:6:10" + "src": "61277:6:23" }, - "nativeSrc": "61277:88:10", + "nativeSrc": "61277:88:23", "nodeType": "YulFunctionCall", - "src": "61277:88:10" + "src": "61277:88:23" }, - "nativeSrc": "61277:88:10", + "nativeSrc": "61277:88:23", "nodeType": "YulExpressionStatement", - "src": "61277:88:10" + "src": "61277:88:23" }, { "expression": { @@ -110857,126 +129832,126 @@ "arguments": [ { "name": "m", - "nativeSrc": "61389:1:10", + "nativeSrc": "61389:1:23", "nodeType": "YulIdentifier", - "src": "61389:1:10" + "src": "61389:1:23" }, { "kind": "number", - "nativeSrc": "61392:4:10", + "nativeSrc": "61392:4:23", "nodeType": "YulLiteral", - "src": "61392:4:10", + "src": "61392:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "61385:3:10", + "nativeSrc": "61385:3:23", "nodeType": "YulIdentifier", - "src": "61385:3:10" + "src": "61385:3:23" }, - "nativeSrc": "61385:12:10", + "nativeSrc": "61385:12:23", "nodeType": "YulFunctionCall", - "src": "61385:12:10" + "src": "61385:12:23" }, { "kind": "number", - "nativeSrc": "61399:66:10", + "nativeSrc": "61399:66:23", "nodeType": "YulLiteral", - "src": "61399:66:10", + "src": "61399:66:23", "type": "", "value": "0x5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e2076" } ], "functionName": { "name": "mstore", - "nativeSrc": "61378:6:10", + "nativeSrc": "61378:6:23", "nodeType": "YulIdentifier", - "src": "61378:6:10" + "src": "61378:6:23" }, - "nativeSrc": "61378:88:10", + "nativeSrc": "61378:88:23", "nodeType": "YulFunctionCall", - "src": "61378:88:10" + "src": "61378:88:23" }, - "nativeSrc": "61378:88:10", + "nativeSrc": "61378:88:23", "nodeType": "YulExpressionStatement", - "src": "61378:88:10" + "src": "61378:88:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "61486:4:10", + "nativeSrc": "61486:4:23", "nodeType": "YulLiteral", - "src": "61486:4:10", + "src": "61486:4:23", "type": "", "value": "0x16" }, { "kind": "number", - "nativeSrc": "61492:6:10", + "nativeSrc": "61492:6:23", "nodeType": "YulLiteral", - "src": "61492:6:10", + "src": "61492:6:23", "type": "", "value": "0x6009" } ], "functionName": { "name": "mstore", - "nativeSrc": "61479:6:10", + "nativeSrc": "61479:6:23", "nodeType": "YulIdentifier", - "src": "61479:6:10" + "src": "61479:6:23" }, - "nativeSrc": "61479:20:10", + "nativeSrc": "61479:20:23", "nodeType": "YulFunctionCall", - "src": "61479:20:10" + "src": "61479:20:23" }, - "nativeSrc": "61479:20:10", + "nativeSrc": "61479:20:23", "nodeType": "YulExpressionStatement", - "src": "61479:20:10" + "src": "61479:20:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "61519:4:10", + "nativeSrc": "61519:4:23", "nodeType": "YulLiteral", - "src": "61519:4:10", + "src": "61519:4:23", "type": "", "value": "0x14" }, { "name": "implementation", - "nativeSrc": "61525:14:10", + "nativeSrc": "61525:14:23", "nodeType": "YulIdentifier", - "src": "61525:14:10" + "src": "61525:14:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "61512:6:10", + "nativeSrc": "61512:6:23", "nodeType": "YulIdentifier", - "src": "61512:6:10" + "src": "61512:6:23" }, - "nativeSrc": "61512:28:10", + "nativeSrc": "61512:28:23", "nodeType": "YulFunctionCall", - "src": "61512:28:10" + "src": "61512:28:23" }, - "nativeSrc": "61512:28:10", + "nativeSrc": "61512:28:23", "nodeType": "YulExpressionStatement", - "src": "61512:28:10" + "src": "61512:28:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "61560:4:10", + "nativeSrc": "61560:4:23", "nodeType": "YulLiteral", - "src": "61560:4:10", + "src": "61560:4:23", "type": "", "value": "0x00" }, @@ -110984,9 +129959,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "61570:22:10", + "nativeSrc": "61570:22:23", "nodeType": "YulLiteral", - "src": "61570:22:10", + "src": "61570:22:23", "type": "", "value": "0x61003d3d8160233d3973" }, @@ -110994,156 +129969,156 @@ "arguments": [ { "kind": "number", - "nativeSrc": "61598:2:10", + "nativeSrc": "61598:2:23", "nodeType": "YulLiteral", - "src": "61598:2:10", + "src": "61598:2:23", "type": "", "value": "56" }, { "name": "n", - "nativeSrc": "61602:1:10", + "nativeSrc": "61602:1:23", "nodeType": "YulIdentifier", - "src": "61602:1:10" + "src": "61602:1:23" } ], "functionName": { "name": "shl", - "nativeSrc": "61594:3:10", + "nativeSrc": "61594:3:23", "nodeType": "YulIdentifier", - "src": "61594:3:10" + "src": "61594:3:23" }, - "nativeSrc": "61594:10:10", + "nativeSrc": "61594:10:23", "nodeType": "YulFunctionCall", - "src": "61594:10:10" + "src": "61594:10:23" } ], "functionName": { "name": "add", - "nativeSrc": "61566:3:10", + "nativeSrc": "61566:3:23", "nodeType": "YulIdentifier", - "src": "61566:3:10" + "src": "61566:3:23" }, - "nativeSrc": "61566:39:10", + "nativeSrc": "61566:39:23", "nodeType": "YulFunctionCall", - "src": "61566:39:10" + "src": "61566:39:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "61553:6:10", + "nativeSrc": "61553:6:23", "nodeType": "YulIdentifier", - "src": "61553:6:10" + "src": "61553:6:23" }, - "nativeSrc": "61553:53:10", + "nativeSrc": "61553:53:23", "nodeType": "YulFunctionCall", - "src": "61553:53:10" + "src": "61553:53:23" }, - "nativeSrc": "61553:53:10", + "nativeSrc": "61553:53:23", "nodeType": "YulExpressionStatement", - "src": "61553:53:10" + "src": "61553:53:23" }, { "expression": { "arguments": [ { "name": "m", - "nativeSrc": "61626:1:10", + "nativeSrc": "61626:1:23", "nodeType": "YulIdentifier", - "src": "61626:1:10" + "src": "61626:1:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "61635:4:10", + "nativeSrc": "61635:4:23", "nodeType": "YulLiteral", - "src": "61635:4:10", + "src": "61635:4:23", "type": "", "value": "0x16" } ], "functionName": { "name": "mload", - "nativeSrc": "61629:5:10", + "nativeSrc": "61629:5:23", "nodeType": "YulIdentifier", - "src": "61629:5:10" + "src": "61629:5:23" }, - "nativeSrc": "61629:11:10", + "nativeSrc": "61629:11:23", "nodeType": "YulFunctionCall", - "src": "61629:11:10" + "src": "61629:11:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "61619:6:10", + "nativeSrc": "61619:6:23", "nodeType": "YulIdentifier", - "src": "61619:6:10" + "src": "61619:6:23" }, - "nativeSrc": "61619:22:10", + "nativeSrc": "61619:22:23", "nodeType": "YulFunctionCall", - "src": "61619:22:10" + "src": "61619:22:23" }, - "nativeSrc": "61619:22:10", + "nativeSrc": "61619:22:23", "nodeType": "YulExpressionStatement", - "src": "61619:22:10" + "src": "61619:22:23" }, { - "nativeSrc": "61654:34:10", + "nativeSrc": "61654:34:23", "nodeType": "YulAssignment", - "src": "61654:34:10", + "src": "61654:34:23", "value": { "arguments": [ { "name": "m", - "nativeSrc": "61672:1:10", + "nativeSrc": "61672:1:23", "nodeType": "YulIdentifier", - "src": "61672:1:10" + "src": "61672:1:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "61679:1:10", + "nativeSrc": "61679:1:23", "nodeType": "YulIdentifier", - "src": "61679:1:10" + "src": "61679:1:23" }, { "kind": "number", - "nativeSrc": "61682:4:10", + "nativeSrc": "61682:4:23", "nodeType": "YulLiteral", - "src": "61682:4:10", + "src": "61682:4:23", "type": "", "value": "0x60" } ], "functionName": { "name": "add", - "nativeSrc": "61675:3:10", + "nativeSrc": "61675:3:23", "nodeType": "YulIdentifier", - "src": "61675:3:10" + "src": "61675:3:23" }, - "nativeSrc": "61675:12:10", + "nativeSrc": "61675:12:23", "nodeType": "YulFunctionCall", - "src": "61675:12:10" + "src": "61675:12:23" } ], "functionName": { "name": "keccak256", - "nativeSrc": "61662:9:10", + "nativeSrc": "61662:9:23", "nodeType": "YulIdentifier", - "src": "61662:9:10" + "src": "61662:9:23" }, - "nativeSrc": "61662:26:10", + "nativeSrc": "61662:26:23", "nodeType": "YulFunctionCall", - "src": "61662:26:10" + "src": "61662:26:23" }, "variableNames": [ { "name": "hash", - "nativeSrc": "61654:4:10", + "nativeSrc": "61654:4:23", "nodeType": "YulIdentifier", - "src": "61654:4:10" + "src": "61654:4:23" } ] } @@ -111153,66 +130128,66 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3806, + "declaration": 5412, "isOffset": false, "isSlot": false, - "src": "60939:4:10", + "src": "60939:4:23", "valueSize": 1 }, { - "declaration": 3806, + "declaration": 5412, "isOffset": false, "isSlot": false, - "src": "61233:4:10", + "src": "61233:4:23", "valueSize": 1 }, { - "declaration": 3809, + "declaration": 5415, "isOffset": false, "isSlot": false, - "src": "61654:4:10", + "src": "61654:4:23", "valueSize": 1 }, { - "declaration": 3804, + "declaration": 5410, "isOffset": false, "isSlot": false, - "src": "61525:14:10", + "src": "61525:14:23", "valueSize": 1 } ], - "id": 3811, + "id": 5417, "nodeType": "InlineAssembly", - "src": "60868:830:10" + "src": "60868:830:23" } ] }, "documentation": { - "id": 3802, + "id": 5408, "nodeType": "StructuredDocumentation", - "src": "60567:106:10", + "src": "60567:106:23", "text": "@dev Returns the initialization code hash of the minimal ERC1967 proxy of `implementation` and `args`." }, - "id": 3813, + "id": 5419, "implemented": true, "kind": "function", "modifiers": [], "name": "initCodeHashERC1967", - "nameLocation": "60687:19:10", + "nameLocation": "60687:19:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3807, + "id": 5413, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3804, + "id": 5410, "mutability": "mutable", "name": "implementation", - "nameLocation": "60715:14:10", + "nameLocation": "60715:14:23", "nodeType": "VariableDeclaration", - "scope": 3813, - "src": "60707:22:10", + "scope": 5419, + "src": "60707:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -111220,10 +130195,10 @@ "typeString": "address" }, "typeName": { - "id": 3803, + "id": 5409, "name": "address", "nodeType": "ElementaryTypeName", - "src": "60707:7:10", + "src": "60707:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -111234,13 +130209,13 @@ }, { "constant": false, - "id": 3806, + "id": 5412, "mutability": "mutable", "name": "args", - "nameLocation": "60744:4:10", + "nameLocation": "60744:4:23", "nodeType": "VariableDeclaration", - "scope": 3813, - "src": "60731:17:10", + "scope": 5419, + "src": "60731:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -111248,10 +130223,10 @@ "typeString": "bytes" }, "typeName": { - "id": 3805, + "id": 5411, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "60731:5:10", + "src": "60731:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -111260,21 +130235,21 @@ "visibility": "internal" } ], - "src": "60706:43:10" + "src": "60706:43:23" }, "returnParameters": { - "id": 3810, + "id": 5416, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3809, + "id": 5415, "mutability": "mutable", "name": "hash", - "nameLocation": "60805:4:10", + "nameLocation": "60805:4:23", "nodeType": "VariableDeclaration", - "scope": 3813, - "src": "60797:12:10", + "scope": 5419, + "src": "60797:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -111282,10 +130257,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 3808, + "id": 5414, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "60797:7:10", + "src": "60797:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -111294,34 +130269,34 @@ "visibility": "internal" } ], - "src": "60796:14:10" + "src": "60796:14:23" }, - "scope": 5093, - "src": "60678:1026:10", + "scope": 6699, + "src": "60678:1026:23", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3842, + "id": 5448, "nodeType": "Block", - "src": "62112:144:10", + "src": "62112:144:23", "statements": [ { "assignments": [ - 3828 + 5434 ], "declarations": [ { "constant": false, - "id": 3828, + "id": 5434, "mutability": "mutable", "name": "hash", - "nameLocation": "62130:4:10", + "nameLocation": "62130:4:23", "nodeType": "VariableDeclaration", - "scope": 3842, - "src": "62122:12:10", + "scope": 5448, + "src": "62122:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -111329,10 +130304,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 3827, + "id": 5433, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "62122:7:10", + "src": "62122:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -111341,28 +130316,28 @@ "visibility": "internal" } ], - "id": 3833, + "id": 5439, "initialValue": { "arguments": [ { - "id": 3830, + "id": 5436, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3816, - "src": "62157:14:10", + "referencedDeclaration": 5422, + "src": "62157:14:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 3831, + "id": 5437, "name": "args", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3818, - "src": "62173:4:10", + "referencedDeclaration": 5424, + "src": "62173:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -111380,21 +130355,21 @@ "typeString": "bytes memory" } ], - "id": 3829, + "id": 5435, "name": "initCodeHashERC1967", "nodeType": "Identifier", "overloadedDeclarations": [ - 3651, - 3813 + 5257, + 5419 ], - "referencedDeclaration": 3813, - "src": "62137:19:10", + "referencedDeclaration": 5419, + "src": "62137:19:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (address,bytes memory) pure returns (bytes32)" } }, - "id": 3832, + "id": 5438, "isConstant": false, "isLValue": false, "isPure": false, @@ -111403,7 +130378,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "62137:41:10", + "src": "62137:41:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -111411,22 +130386,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "62122:56:10" + "src": "62122:56:23" }, { "expression": { - "id": 3840, + "id": 5446, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 3834, + "id": 5440, "name": "predicted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3825, - "src": "62188:9:10", + "referencedDeclaration": 5431, + "src": "62188:9:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -111437,36 +130412,36 @@ "rightHandSide": { "arguments": [ { - "id": 3836, + "id": 5442, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3828, - "src": "62228:4:10", + "referencedDeclaration": 5434, + "src": "62228:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 3837, + "id": 5443, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3820, - "src": "62234:4:10", + "referencedDeclaration": 5426, + "src": "62234:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 3838, + "id": 5444, "name": "deployer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "62240:8:10", + "referencedDeclaration": 5428, + "src": "62240:8:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -111488,22 +130463,22 @@ "typeString": "address" } ], - "id": 3835, + "id": 5441, "name": "predictDeterministicAddress", "nodeType": "Identifier", "overloadedDeclarations": [ - 3226, - 3499, - 5070 + 4832, + 5105, + 6676 ], - "referencedDeclaration": 5070, - "src": "62200:27:10", + "referencedDeclaration": 6676, + "src": "62200:27:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_address_$", "typeString": "function (bytes32,bytes32,address) pure returns (address)" } }, - "id": 3839, + "id": 5445, "isConstant": false, "isLValue": false, "isPure": false, @@ -111512,51 +130487,51 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "62200:49:10", + "src": "62200:49:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "62188:61:10", + "src": "62188:61:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 3841, + "id": 5447, "nodeType": "ExpressionStatement", - "src": "62188:61:10" + "src": "62188:61:23" } ] }, "documentation": { - "id": 3814, + "id": 5420, "nodeType": "StructuredDocumentation", - "src": "61710:198:10", + "src": "61710:198:23", "text": "@dev Returns the address of the ERC1967 proxy of `implementation`, `args`, with `salt` by `deployer`.\n Note: The returned result has dirty upper 96 bits. Please clean if used in assembly." }, - "id": 3843, + "id": 5449, "implemented": true, "kind": "function", "modifiers": [], "name": "predictDeterministicAddressERC1967", - "nameLocation": "61922:34:10", + "nameLocation": "61922:34:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3823, + "id": 5429, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3816, + "id": 5422, "mutability": "mutable", "name": "implementation", - "nameLocation": "61974:14:10", + "nameLocation": "61974:14:23", "nodeType": "VariableDeclaration", - "scope": 3843, - "src": "61966:22:10", + "scope": 5449, + "src": "61966:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -111564,10 +130539,10 @@ "typeString": "address" }, "typeName": { - "id": 3815, + "id": 5421, "name": "address", "nodeType": "ElementaryTypeName", - "src": "61966:7:10", + "src": "61966:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -111578,13 +130553,13 @@ }, { "constant": false, - "id": 3818, + "id": 5424, "mutability": "mutable", "name": "args", - "nameLocation": "62011:4:10", + "nameLocation": "62011:4:23", "nodeType": "VariableDeclaration", - "scope": 3843, - "src": "61998:17:10", + "scope": 5449, + "src": "61998:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -111592,10 +130567,10 @@ "typeString": "bytes" }, "typeName": { - "id": 3817, + "id": 5423, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "61998:5:10", + "src": "61998:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -111605,13 +130580,13 @@ }, { "constant": false, - "id": 3820, + "id": 5426, "mutability": "mutable", "name": "salt", - "nameLocation": "62033:4:10", + "nameLocation": "62033:4:23", "nodeType": "VariableDeclaration", - "scope": 3843, - "src": "62025:12:10", + "scope": 5449, + "src": "62025:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -111619,10 +130594,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 3819, + "id": 5425, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "62025:7:10", + "src": "62025:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -111632,13 +130607,13 @@ }, { "constant": false, - "id": 3822, + "id": 5428, "mutability": "mutable", "name": "deployer", - "nameLocation": "62055:8:10", + "nameLocation": "62055:8:23", "nodeType": "VariableDeclaration", - "scope": 3843, - "src": "62047:16:10", + "scope": 5449, + "src": "62047:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -111646,10 +130621,10 @@ "typeString": "address" }, "typeName": { - "id": 3821, + "id": 5427, "name": "address", "nodeType": "ElementaryTypeName", - "src": "62047:7:10", + "src": "62047:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -111659,21 +130634,21 @@ "visibility": "internal" } ], - "src": "61956:113:10" + "src": "61956:113:23" }, "returnParameters": { - "id": 3826, + "id": 5432, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3825, + "id": 5431, "mutability": "mutable", "name": "predicted", - "nameLocation": "62101:9:10", + "nameLocation": "62101:9:23", "nodeType": "VariableDeclaration", - "scope": 3843, - "src": "62093:17:10", + "scope": 5449, + "src": "62093:17:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -111681,10 +130656,10 @@ "typeString": "address" }, "typeName": { - "id": 3824, + "id": 5430, "name": "address", "nodeType": "ElementaryTypeName", - "src": "62093:7:10", + "src": "62093:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -111694,57 +130669,57 @@ "visibility": "internal" } ], - "src": "62092:19:10" + "src": "62092:19:23" }, - "scope": 5093, - "src": "61913:343:10", + "scope": 6699, + "src": "61913:343:23", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3852, + "id": 5458, "nodeType": "Block", - "src": "62420:371:10", + "src": "62420:371:23", "statements": [ { "AST": { - "nativeSrc": "62482:303:10", + "nativeSrc": "62482:303:23", "nodeType": "YulBlock", - "src": "62482:303:10", + "src": "62482:303:23", "statements": [ { - "nativeSrc": "62496:19:10", + "nativeSrc": "62496:19:23", "nodeType": "YulAssignment", - "src": "62496:19:10", + "src": "62496:19:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "62510:4:10", + "nativeSrc": "62510:4:23", "nodeType": "YulLiteral", - "src": "62510:4:10", + "src": "62510:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "62504:5:10", + "nativeSrc": "62504:5:23", "nodeType": "YulIdentifier", - "src": "62504:5:10" + "src": "62504:5:23" }, - "nativeSrc": "62504:11:10", + "nativeSrc": "62504:11:23", "nodeType": "YulFunctionCall", - "src": "62504:11:10" + "src": "62504:11:23" }, "variableNames": [ { "name": "args", - "nativeSrc": "62496:4:10", + "nativeSrc": "62496:4:23", "nodeType": "YulIdentifier", - "src": "62496:4:10" + "src": "62496:4:23" } ] }, @@ -111753,17 +130728,17 @@ "arguments": [ { "name": "args", - "nativeSrc": "62535:4:10", + "nativeSrc": "62535:4:23", "nodeType": "YulIdentifier", - "src": "62535:4:10" + "src": "62535:4:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "62545:12:10", + "nativeSrc": "62545:12:23", "nodeType": "YulLiteral", - "src": "62545:12:10", + "src": "62545:12:23", "type": "", "value": "0xffffffffff" }, @@ -111773,107 +130748,107 @@ "arguments": [ { "name": "instance", - "nativeSrc": "62575:8:10", + "nativeSrc": "62575:8:23", "nodeType": "YulIdentifier", - "src": "62575:8:10" + "src": "62575:8:23" } ], "functionName": { "name": "extcodesize", - "nativeSrc": "62563:11:10", + "nativeSrc": "62563:11:23", "nodeType": "YulIdentifier", - "src": "62563:11:10" + "src": "62563:11:23" }, - "nativeSrc": "62563:21:10", + "nativeSrc": "62563:21:23", "nodeType": "YulFunctionCall", - "src": "62563:21:10" + "src": "62563:21:23" }, { "kind": "number", - "nativeSrc": "62586:4:10", + "nativeSrc": "62586:4:23", "nodeType": "YulLiteral", - "src": "62586:4:10", + "src": "62586:4:23", "type": "", "value": "0x3d" } ], "functionName": { "name": "sub", - "nativeSrc": "62559:3:10", + "nativeSrc": "62559:3:23", "nodeType": "YulIdentifier", - "src": "62559:3:10" + "src": "62559:3:23" }, - "nativeSrc": "62559:32:10", + "nativeSrc": "62559:32:23", "nodeType": "YulFunctionCall", - "src": "62559:32:10" + "src": "62559:32:23" } ], "functionName": { "name": "and", - "nativeSrc": "62541:3:10", + "nativeSrc": "62541:3:23", "nodeType": "YulIdentifier", - "src": "62541:3:10" + "src": "62541:3:23" }, - "nativeSrc": "62541:51:10", + "nativeSrc": "62541:51:23", "nodeType": "YulFunctionCall", - "src": "62541:51:10" + "src": "62541:51:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "62528:6:10", + "nativeSrc": "62528:6:23", "nodeType": "YulIdentifier", - "src": "62528:6:10" + "src": "62528:6:23" }, - "nativeSrc": "62528:65:10", + "nativeSrc": "62528:65:23", "nodeType": "YulFunctionCall", - "src": "62528:65:10" + "src": "62528:65:23" }, - "nativeSrc": "62528:65:10", + "nativeSrc": "62528:65:23", "nodeType": "YulExpressionStatement", - "src": "62528:65:10" + "src": "62528:65:23" }, { "expression": { "arguments": [ { "name": "instance", - "nativeSrc": "62639:8:10", + "nativeSrc": "62639:8:23", "nodeType": "YulIdentifier", - "src": "62639:8:10" + "src": "62639:8:23" }, { "arguments": [ { "name": "args", - "nativeSrc": "62653:4:10", + "nativeSrc": "62653:4:23", "nodeType": "YulIdentifier", - "src": "62653:4:10" + "src": "62653:4:23" }, { "kind": "number", - "nativeSrc": "62659:4:10", + "nativeSrc": "62659:4:23", "nodeType": "YulLiteral", - "src": "62659:4:10", + "src": "62659:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "62649:3:10", + "nativeSrc": "62649:3:23", "nodeType": "YulIdentifier", - "src": "62649:3:10" + "src": "62649:3:23" }, - "nativeSrc": "62649:15:10", + "nativeSrc": "62649:15:23", "nodeType": "YulFunctionCall", - "src": "62649:15:10" + "src": "62649:15:23" }, { "kind": "number", - "nativeSrc": "62666:4:10", + "nativeSrc": "62666:4:23", "nodeType": "YulLiteral", - "src": "62666:4:10", + "src": "62666:4:23", "type": "", "value": "0x3d" }, @@ -111883,63 +130858,63 @@ "arguments": [ { "name": "args", - "nativeSrc": "62682:4:10", + "nativeSrc": "62682:4:23", "nodeType": "YulIdentifier", - "src": "62682:4:10" + "src": "62682:4:23" } ], "functionName": { "name": "mload", - "nativeSrc": "62676:5:10", + "nativeSrc": "62676:5:23", "nodeType": "YulIdentifier", - "src": "62676:5:10" + "src": "62676:5:23" }, - "nativeSrc": "62676:11:10", + "nativeSrc": "62676:11:23", "nodeType": "YulFunctionCall", - "src": "62676:11:10" + "src": "62676:11:23" }, { "kind": "number", - "nativeSrc": "62689:4:10", + "nativeSrc": "62689:4:23", "nodeType": "YulLiteral", - "src": "62689:4:10", + "src": "62689:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "62672:3:10", + "nativeSrc": "62672:3:23", "nodeType": "YulIdentifier", - "src": "62672:3:10" + "src": "62672:3:23" }, - "nativeSrc": "62672:22:10", + "nativeSrc": "62672:22:23", "nodeType": "YulFunctionCall", - "src": "62672:22:10" + "src": "62672:22:23" } ], "functionName": { "name": "extcodecopy", - "nativeSrc": "62627:11:10", + "nativeSrc": "62627:11:23", "nodeType": "YulIdentifier", - "src": "62627:11:10" + "src": "62627:11:23" }, - "nativeSrc": "62627:68:10", + "nativeSrc": "62627:68:23", "nodeType": "YulFunctionCall", - "src": "62627:68:10" + "src": "62627:68:23" }, - "nativeSrc": "62627:68:10", + "nativeSrc": "62627:68:23", "nodeType": "YulExpressionStatement", - "src": "62627:68:10" + "src": "62627:68:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "62715:4:10", + "nativeSrc": "62715:4:23", "nodeType": "YulLiteral", - "src": "62715:4:10", + "src": "62715:4:23", "type": "", "value": "0x40" }, @@ -111949,73 +130924,73 @@ "arguments": [ { "name": "args", - "nativeSrc": "62731:4:10", + "nativeSrc": "62731:4:23", "nodeType": "YulIdentifier", - "src": "62731:4:10" + "src": "62731:4:23" } ], "functionName": { "name": "mload", - "nativeSrc": "62725:5:10", + "nativeSrc": "62725:5:23", "nodeType": "YulIdentifier", - "src": "62725:5:10" + "src": "62725:5:23" }, - "nativeSrc": "62725:11:10", + "nativeSrc": "62725:11:23", "nodeType": "YulFunctionCall", - "src": "62725:11:10" + "src": "62725:11:23" }, { "arguments": [ { "name": "args", - "nativeSrc": "62742:4:10", + "nativeSrc": "62742:4:23", "nodeType": "YulIdentifier", - "src": "62742:4:10" + "src": "62742:4:23" }, { "kind": "number", - "nativeSrc": "62748:4:10", + "nativeSrc": "62748:4:23", "nodeType": "YulLiteral", - "src": "62748:4:10", + "src": "62748:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "add", - "nativeSrc": "62738:3:10", + "nativeSrc": "62738:3:23", "nodeType": "YulIdentifier", - "src": "62738:3:10" + "src": "62738:3:23" }, - "nativeSrc": "62738:15:10", + "nativeSrc": "62738:15:23", "nodeType": "YulFunctionCall", - "src": "62738:15:10" + "src": "62738:15:23" } ], "functionName": { "name": "add", - "nativeSrc": "62721:3:10", + "nativeSrc": "62721:3:23", "nodeType": "YulIdentifier", - "src": "62721:3:10" + "src": "62721:3:23" }, - "nativeSrc": "62721:33:10", + "nativeSrc": "62721:33:23", "nodeType": "YulFunctionCall", - "src": "62721:33:10" + "src": "62721:33:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "62708:6:10", + "nativeSrc": "62708:6:23", "nodeType": "YulIdentifier", - "src": "62708:6:10" + "src": "62708:6:23" }, - "nativeSrc": "62708:47:10", + "nativeSrc": "62708:47:23", "nodeType": "YulFunctionCall", - "src": "62708:47:10" + "src": "62708:47:23" }, - "nativeSrc": "62708:47:10", + "nativeSrc": "62708:47:23", "nodeType": "YulExpressionStatement", - "src": "62708:47:10" + "src": "62708:47:23" } ] }, @@ -112023,94 +130998,94 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3849, + "declaration": 5455, "isOffset": false, "isSlot": false, - "src": "62496:4:10", + "src": "62496:4:23", "valueSize": 1 }, { - "declaration": 3849, + "declaration": 5455, "isOffset": false, "isSlot": false, - "src": "62535:4:10", + "src": "62535:4:23", "valueSize": 1 }, { - "declaration": 3849, + "declaration": 5455, "isOffset": false, "isSlot": false, - "src": "62653:4:10", + "src": "62653:4:23", "valueSize": 1 }, { - "declaration": 3849, + "declaration": 5455, "isOffset": false, "isSlot": false, - "src": "62682:4:10", + "src": "62682:4:23", "valueSize": 1 }, { - "declaration": 3849, + "declaration": 5455, "isOffset": false, "isSlot": false, - "src": "62731:4:10", + "src": "62731:4:23", "valueSize": 1 }, { - "declaration": 3849, + "declaration": 5455, "isOffset": false, "isSlot": false, - "src": "62742:4:10", + "src": "62742:4:23", "valueSize": 1 }, { - "declaration": 3846, + "declaration": 5452, "isOffset": false, "isSlot": false, - "src": "62575:8:10", + "src": "62575:8:23", "valueSize": 1 }, { - "declaration": 3846, + "declaration": 5452, "isOffset": false, "isSlot": false, - "src": "62639:8:10", + "src": "62639:8:23", "valueSize": 1 } ], - "id": 3851, + "id": 5457, "nodeType": "InlineAssembly", - "src": "62473:312:10" + "src": "62473:312:23" } ] }, "documentation": { - "id": 3844, + "id": 5450, "nodeType": "StructuredDocumentation", - "src": "62262:70:10", + "src": "62262:70:23", "text": "@dev Equivalent to `argsOnERC1967(instance, start, 2 ** 256 - 1)`." }, - "id": 3853, + "id": 5459, "implemented": true, "kind": "function", "modifiers": [], "name": "argsOnERC1967", - "nameLocation": "62346:13:10", + "nameLocation": "62346:13:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3847, + "id": 5453, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3846, + "id": 5452, "mutability": "mutable", "name": "instance", - "nameLocation": "62368:8:10", + "nameLocation": "62368:8:23", "nodeType": "VariableDeclaration", - "scope": 3853, - "src": "62360:16:10", + "scope": 5459, + "src": "62360:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -112118,10 +131093,10 @@ "typeString": "address" }, "typeName": { - "id": 3845, + "id": 5451, "name": "address", "nodeType": "ElementaryTypeName", - "src": "62360:7:10", + "src": "62360:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -112131,21 +131106,21 @@ "visibility": "internal" } ], - "src": "62359:18:10" + "src": "62359:18:23" }, "returnParameters": { - "id": 3850, + "id": 5456, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3849, + "id": 5455, "mutability": "mutable", "name": "args", - "nameLocation": "62414:4:10", + "nameLocation": "62414:4:23", "nodeType": "VariableDeclaration", - "scope": 3853, - "src": "62401:17:10", + "scope": 5459, + "src": "62401:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -112153,10 +131128,10 @@ "typeString": "bytes" }, "typeName": { - "id": 3848, + "id": 5454, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "62401:5:10", + "src": "62401:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -112165,71 +131140,71 @@ "visibility": "internal" } ], - "src": "62400:19:10" + "src": "62400:19:23" }, - "scope": 5093, - "src": "62337:454:10", + "scope": 6699, + "src": "62337:454:23", "stateMutability": "view", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3864, + "id": 5470, "nodeType": "Block", - "src": "62998:485:10", + "src": "62998:485:23", "statements": [ { "AST": { - "nativeSrc": "63060:417:10", + "nativeSrc": "63060:417:23", "nodeType": "YulBlock", - "src": "63060:417:10", + "src": "63060:417:23", "statements": [ { - "nativeSrc": "63074:19:10", + "nativeSrc": "63074:19:23", "nodeType": "YulAssignment", - "src": "63074:19:10", + "src": "63074:19:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "63088:4:10", + "nativeSrc": "63088:4:23", "nodeType": "YulLiteral", - "src": "63088:4:10", + "src": "63088:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "63082:5:10", + "nativeSrc": "63082:5:23", "nodeType": "YulIdentifier", - "src": "63082:5:10" + "src": "63082:5:23" }, - "nativeSrc": "63082:11:10", + "nativeSrc": "63082:11:23", "nodeType": "YulFunctionCall", - "src": "63082:11:10" + "src": "63082:11:23" }, "variableNames": [ { "name": "args", - "nativeSrc": "63074:4:10", + "nativeSrc": "63074:4:23", "nodeType": "YulIdentifier", - "src": "63074:4:10" + "src": "63074:4:23" } ] }, { - "nativeSrc": "63106:60:10", + "nativeSrc": "63106:60:23", "nodeType": "YulVariableDeclaration", - "src": "63106:60:10", + "src": "63106:60:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "63119:12:10", + "nativeSrc": "63119:12:23", "nodeType": "YulLiteral", - "src": "63119:12:10", + "src": "63119:12:23", "type": "", "value": "0xffffffffff" }, @@ -112239,80 +131214,80 @@ "arguments": [ { "name": "instance", - "nativeSrc": "63149:8:10", + "nativeSrc": "63149:8:23", "nodeType": "YulIdentifier", - "src": "63149:8:10" + "src": "63149:8:23" } ], "functionName": { "name": "extcodesize", - "nativeSrc": "63137:11:10", + "nativeSrc": "63137:11:23", "nodeType": "YulIdentifier", - "src": "63137:11:10" + "src": "63137:11:23" }, - "nativeSrc": "63137:21:10", + "nativeSrc": "63137:21:23", "nodeType": "YulFunctionCall", - "src": "63137:21:10" + "src": "63137:21:23" }, { "kind": "number", - "nativeSrc": "63160:4:10", + "nativeSrc": "63160:4:23", "nodeType": "YulLiteral", - "src": "63160:4:10", + "src": "63160:4:23", "type": "", "value": "0x3d" } ], "functionName": { "name": "sub", - "nativeSrc": "63133:3:10", + "nativeSrc": "63133:3:23", "nodeType": "YulIdentifier", - "src": "63133:3:10" + "src": "63133:3:23" }, - "nativeSrc": "63133:32:10", + "nativeSrc": "63133:32:23", "nodeType": "YulFunctionCall", - "src": "63133:32:10" + "src": "63133:32:23" } ], "functionName": { "name": "and", - "nativeSrc": "63115:3:10", + "nativeSrc": "63115:3:23", "nodeType": "YulIdentifier", - "src": "63115:3:10" + "src": "63115:3:23" }, - "nativeSrc": "63115:51:10", + "nativeSrc": "63115:51:23", "nodeType": "YulFunctionCall", - "src": "63115:51:10" + "src": "63115:51:23" }, "variables": [ { "name": "n", - "nativeSrc": "63110:1:10", + "nativeSrc": "63110:1:23", "nodeType": "YulTypedName", - "src": "63110:1:10", + "src": "63110:1:23", "type": "" } ] }, { - "nativeSrc": "63179:56:10", + "nativeSrc": "63179:56:23", "nodeType": "YulVariableDeclaration", - "src": "63179:56:10", + "src": "63179:56:23", "value": { "arguments": [ { "name": "n", - "nativeSrc": "63192:1:10", + "nativeSrc": "63192:1:23", "nodeType": "YulIdentifier", - "src": "63192:1:10" + "src": "63192:1:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "63199:8:10", + "nativeSrc": "63199:8:23", "nodeType": "YulLiteral", - "src": "63199:8:10", + "src": "63199:8:23", "type": "", "value": "0xffffff" }, @@ -112322,72 +131297,72 @@ "arguments": [ { "name": "start", - "nativeSrc": "63216:5:10", + "nativeSrc": "63216:5:23", "nodeType": "YulIdentifier", - "src": "63216:5:10" + "src": "63216:5:23" }, { "name": "n", - "nativeSrc": "63223:1:10", + "nativeSrc": "63223:1:23", "nodeType": "YulIdentifier", - "src": "63223:1:10" + "src": "63223:1:23" } ], "functionName": { "name": "lt", - "nativeSrc": "63213:2:10", + "nativeSrc": "63213:2:23", "nodeType": "YulIdentifier", - "src": "63213:2:10" + "src": "63213:2:23" }, - "nativeSrc": "63213:12:10", + "nativeSrc": "63213:12:23", "nodeType": "YulFunctionCall", - "src": "63213:12:10" + "src": "63213:12:23" }, { "name": "start", - "nativeSrc": "63227:5:10", + "nativeSrc": "63227:5:23", "nodeType": "YulIdentifier", - "src": "63227:5:10" + "src": "63227:5:23" } ], "functionName": { "name": "mul", - "nativeSrc": "63209:3:10", + "nativeSrc": "63209:3:23", "nodeType": "YulIdentifier", - "src": "63209:3:10" + "src": "63209:3:23" }, - "nativeSrc": "63209:24:10", + "nativeSrc": "63209:24:23", "nodeType": "YulFunctionCall", - "src": "63209:24:10" + "src": "63209:24:23" } ], "functionName": { "name": "and", - "nativeSrc": "63195:3:10", + "nativeSrc": "63195:3:23", "nodeType": "YulIdentifier", - "src": "63195:3:10" + "src": "63195:3:23" }, - "nativeSrc": "63195:39:10", + "nativeSrc": "63195:39:23", "nodeType": "YulFunctionCall", - "src": "63195:39:10" + "src": "63195:39:23" } ], "functionName": { "name": "sub", - "nativeSrc": "63188:3:10", + "nativeSrc": "63188:3:23", "nodeType": "YulIdentifier", - "src": "63188:3:10" + "src": "63188:3:23" }, - "nativeSrc": "63188:47:10", + "nativeSrc": "63188:47:23", "nodeType": "YulFunctionCall", - "src": "63188:47:10" + "src": "63188:47:23" }, "variables": [ { "name": "l", - "nativeSrc": "63183:1:10", + "nativeSrc": "63183:1:23", "nodeType": "YulTypedName", - "src": "63183:1:10", + "src": "63183:1:23", "type": "" } ] @@ -112397,93 +131372,93 @@ "arguments": [ { "name": "instance", - "nativeSrc": "63260:8:10", + "nativeSrc": "63260:8:23", "nodeType": "YulIdentifier", - "src": "63260:8:10" + "src": "63260:8:23" }, { "name": "args", - "nativeSrc": "63270:4:10", + "nativeSrc": "63270:4:23", "nodeType": "YulIdentifier", - "src": "63270:4:10" + "src": "63270:4:23" }, { "arguments": [ { "name": "start", - "nativeSrc": "63280:5:10", + "nativeSrc": "63280:5:23", "nodeType": "YulIdentifier", - "src": "63280:5:10" + "src": "63280:5:23" }, { "kind": "number", - "nativeSrc": "63287:4:10", + "nativeSrc": "63287:4:23", "nodeType": "YulLiteral", - "src": "63287:4:10", + "src": "63287:4:23", "type": "", "value": "0x1d" } ], "functionName": { "name": "add", - "nativeSrc": "63276:3:10", + "nativeSrc": "63276:3:23", "nodeType": "YulIdentifier", - "src": "63276:3:10" + "src": "63276:3:23" }, - "nativeSrc": "63276:16:10", + "nativeSrc": "63276:16:23", "nodeType": "YulFunctionCall", - "src": "63276:16:10" + "src": "63276:16:23" }, { "arguments": [ { "name": "l", - "nativeSrc": "63298:1:10", + "nativeSrc": "63298:1:23", "nodeType": "YulIdentifier", - "src": "63298:1:10" + "src": "63298:1:23" }, { "kind": "number", - "nativeSrc": "63301:4:10", + "nativeSrc": "63301:4:23", "nodeType": "YulLiteral", - "src": "63301:4:10", + "src": "63301:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "add", - "nativeSrc": "63294:3:10", + "nativeSrc": "63294:3:23", "nodeType": "YulIdentifier", - "src": "63294:3:10" + "src": "63294:3:23" }, - "nativeSrc": "63294:12:10", + "nativeSrc": "63294:12:23", "nodeType": "YulFunctionCall", - "src": "63294:12:10" + "src": "63294:12:23" } ], "functionName": { "name": "extcodecopy", - "nativeSrc": "63248:11:10", + "nativeSrc": "63248:11:23", "nodeType": "YulIdentifier", - "src": "63248:11:10" + "src": "63248:11:23" }, - "nativeSrc": "63248:59:10", + "nativeSrc": "63248:59:23", "nodeType": "YulFunctionCall", - "src": "63248:59:10" + "src": "63248:59:23" }, - "nativeSrc": "63248:59:10", + "nativeSrc": "63248:59:23", "nodeType": "YulExpressionStatement", - "src": "63248:59:10" + "src": "63248:59:23" }, { "expression": { "arguments": [ { "name": "args", - "nativeSrc": "63327:4:10", + "nativeSrc": "63327:4:23", "nodeType": "YulIdentifier", - "src": "63327:4:10" + "src": "63327:4:23" }, { "arguments": [ @@ -112491,86 +131466,86 @@ "arguments": [ { "name": "n", - "nativeSrc": "63341:1:10", + "nativeSrc": "63341:1:23", "nodeType": "YulIdentifier", - "src": "63341:1:10" + "src": "63341:1:23" }, { "name": "start", - "nativeSrc": "63344:5:10", + "nativeSrc": "63344:5:23", "nodeType": "YulIdentifier", - "src": "63344:5:10" + "src": "63344:5:23" } ], "functionName": { "name": "sub", - "nativeSrc": "63337:3:10", + "nativeSrc": "63337:3:23", "nodeType": "YulIdentifier", - "src": "63337:3:10" + "src": "63337:3:23" }, - "nativeSrc": "63337:13:10", + "nativeSrc": "63337:13:23", "nodeType": "YulFunctionCall", - "src": "63337:13:10" + "src": "63337:13:23" }, { "arguments": [ { "name": "start", - "nativeSrc": "63355:5:10", + "nativeSrc": "63355:5:23", "nodeType": "YulIdentifier", - "src": "63355:5:10" + "src": "63355:5:23" }, { "name": "n", - "nativeSrc": "63362:1:10", + "nativeSrc": "63362:1:23", "nodeType": "YulIdentifier", - "src": "63362:1:10" + "src": "63362:1:23" } ], "functionName": { "name": "lt", - "nativeSrc": "63352:2:10", + "nativeSrc": "63352:2:23", "nodeType": "YulIdentifier", - "src": "63352:2:10" + "src": "63352:2:23" }, - "nativeSrc": "63352:12:10", + "nativeSrc": "63352:12:23", "nodeType": "YulFunctionCall", - "src": "63352:12:10" + "src": "63352:12:23" } ], "functionName": { "name": "mul", - "nativeSrc": "63333:3:10", + "nativeSrc": "63333:3:23", "nodeType": "YulIdentifier", - "src": "63333:3:10" + "src": "63333:3:23" }, - "nativeSrc": "63333:32:10", + "nativeSrc": "63333:32:23", "nodeType": "YulFunctionCall", - "src": "63333:32:10" + "src": "63333:32:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "63320:6:10", + "nativeSrc": "63320:6:23", "nodeType": "YulIdentifier", - "src": "63320:6:10" + "src": "63320:6:23" }, - "nativeSrc": "63320:46:10", + "nativeSrc": "63320:46:23", "nodeType": "YulFunctionCall", - "src": "63320:46:10" + "src": "63320:46:23" }, - "nativeSrc": "63320:46:10", + "nativeSrc": "63320:46:23", "nodeType": "YulExpressionStatement", - "src": "63320:46:10" + "src": "63320:46:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "63407:4:10", + "nativeSrc": "63407:4:23", "nodeType": "YulLiteral", - "src": "63407:4:10", + "src": "63407:4:23", "type": "", "value": "0x40" }, @@ -112578,17 +131553,17 @@ "arguments": [ { "name": "args", - "nativeSrc": "63417:4:10", + "nativeSrc": "63417:4:23", "nodeType": "YulIdentifier", - "src": "63417:4:10" + "src": "63417:4:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "63427:4:10", + "nativeSrc": "63427:4:23", "nodeType": "YulLiteral", - "src": "63427:4:10", + "src": "63427:4:23", "type": "", "value": "0x40" }, @@ -112596,57 +131571,57 @@ "arguments": [ { "name": "args", - "nativeSrc": "63439:4:10", + "nativeSrc": "63439:4:23", "nodeType": "YulIdentifier", - "src": "63439:4:10" + "src": "63439:4:23" } ], "functionName": { "name": "mload", - "nativeSrc": "63433:5:10", + "nativeSrc": "63433:5:23", "nodeType": "YulIdentifier", - "src": "63433:5:10" + "src": "63433:5:23" }, - "nativeSrc": "63433:11:10", + "nativeSrc": "63433:11:23", "nodeType": "YulFunctionCall", - "src": "63433:11:10" + "src": "63433:11:23" } ], "functionName": { "name": "add", - "nativeSrc": "63423:3:10", + "nativeSrc": "63423:3:23", "nodeType": "YulIdentifier", - "src": "63423:3:10" + "src": "63423:3:23" }, - "nativeSrc": "63423:22:10", + "nativeSrc": "63423:22:23", "nodeType": "YulFunctionCall", - "src": "63423:22:10" + "src": "63423:22:23" } ], "functionName": { "name": "add", - "nativeSrc": "63413:3:10", + "nativeSrc": "63413:3:23", "nodeType": "YulIdentifier", - "src": "63413:3:10" + "src": "63413:3:23" }, - "nativeSrc": "63413:33:10", + "nativeSrc": "63413:33:23", "nodeType": "YulFunctionCall", - "src": "63413:33:10" + "src": "63413:33:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "63400:6:10", + "nativeSrc": "63400:6:23", "nodeType": "YulIdentifier", - "src": "63400:6:10" + "src": "63400:6:23" }, - "nativeSrc": "63400:47:10", + "nativeSrc": "63400:47:23", "nodeType": "YulFunctionCall", - "src": "63400:47:10" + "src": "63400:47:23" }, - "nativeSrc": "63400:47:10", + "nativeSrc": "63400:47:23", "nodeType": "YulExpressionStatement", - "src": "63400:47:10" + "src": "63400:47:23" } ] }, @@ -112654,122 +131629,122 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3861, + "declaration": 5467, "isOffset": false, "isSlot": false, - "src": "63074:4:10", + "src": "63074:4:23", "valueSize": 1 }, { - "declaration": 3861, + "declaration": 5467, "isOffset": false, "isSlot": false, - "src": "63270:4:10", + "src": "63270:4:23", "valueSize": 1 }, { - "declaration": 3861, + "declaration": 5467, "isOffset": false, "isSlot": false, - "src": "63327:4:10", + "src": "63327:4:23", "valueSize": 1 }, { - "declaration": 3861, + "declaration": 5467, "isOffset": false, "isSlot": false, - "src": "63417:4:10", + "src": "63417:4:23", "valueSize": 1 }, { - "declaration": 3861, + "declaration": 5467, "isOffset": false, "isSlot": false, - "src": "63439:4:10", + "src": "63439:4:23", "valueSize": 1 }, { - "declaration": 3856, + "declaration": 5462, "isOffset": false, "isSlot": false, - "src": "63149:8:10", + "src": "63149:8:23", "valueSize": 1 }, { - "declaration": 3856, + "declaration": 5462, "isOffset": false, "isSlot": false, - "src": "63260:8:10", + "src": "63260:8:23", "valueSize": 1 }, { - "declaration": 3858, + "declaration": 5464, "isOffset": false, "isSlot": false, - "src": "63216:5:10", + "src": "63216:5:23", "valueSize": 1 }, { - "declaration": 3858, + "declaration": 5464, "isOffset": false, "isSlot": false, - "src": "63227:5:10", + "src": "63227:5:23", "valueSize": 1 }, { - "declaration": 3858, + "declaration": 5464, "isOffset": false, "isSlot": false, - "src": "63280:5:10", + "src": "63280:5:23", "valueSize": 1 }, { - "declaration": 3858, + "declaration": 5464, "isOffset": false, "isSlot": false, - "src": "63344:5:10", + "src": "63344:5:23", "valueSize": 1 }, { - "declaration": 3858, + "declaration": 5464, "isOffset": false, "isSlot": false, - "src": "63355:5:10", + "src": "63355:5:23", "valueSize": 1 } ], - "id": 3863, + "id": 5469, "nodeType": "InlineAssembly", - "src": "63051:426:10" + "src": "63051:426:23" } ] }, "documentation": { - "id": 3854, + "id": 5460, "nodeType": "StructuredDocumentation", - "src": "62797:70:10", + "src": "62797:70:23", "text": "@dev Equivalent to `argsOnERC1967(instance, start, 2 ** 256 - 1)`." }, - "id": 3865, + "id": 5471, "implemented": true, "kind": "function", "modifiers": [], "name": "argsOnERC1967", - "nameLocation": "62881:13:10", + "nameLocation": "62881:13:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3859, + "id": 5465, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3856, + "id": 5462, "mutability": "mutable", "name": "instance", - "nameLocation": "62903:8:10", + "nameLocation": "62903:8:23", "nodeType": "VariableDeclaration", - "scope": 3865, - "src": "62895:16:10", + "scope": 5471, + "src": "62895:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -112777,10 +131752,10 @@ "typeString": "address" }, "typeName": { - "id": 3855, + "id": 5461, "name": "address", "nodeType": "ElementaryTypeName", - "src": "62895:7:10", + "src": "62895:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -112791,13 +131766,13 @@ }, { "constant": false, - "id": 3858, + "id": 5464, "mutability": "mutable", "name": "start", - "nameLocation": "62921:5:10", + "nameLocation": "62921:5:23", "nodeType": "VariableDeclaration", - "scope": 3865, - "src": "62913:13:10", + "scope": 5471, + "src": "62913:13:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -112805,10 +131780,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3857, + "id": 5463, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "62913:7:10", + "src": "62913:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -112817,21 +131792,21 @@ "visibility": "internal" } ], - "src": "62894:33:10" + "src": "62894:33:23" }, "returnParameters": { - "id": 3862, + "id": 5468, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3861, + "id": 5467, "mutability": "mutable", "name": "args", - "nameLocation": "62988:4:10", + "nameLocation": "62988:4:23", "nodeType": "VariableDeclaration", - "scope": 3865, - "src": "62975:17:10", + "scope": 5471, + "src": "62975:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -112839,10 +131814,10 @@ "typeString": "bytes" }, "typeName": { - "id": 3860, + "id": 5466, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "62975:5:10", + "src": "62975:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -112851,84 +131826,84 @@ "visibility": "internal" } ], - "src": "62974:19:10" + "src": "62974:19:23" }, - "scope": 5093, - "src": "62872:611:10", + "scope": 6699, + "src": "62872:611:23", "stateMutability": "view", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3878, + "id": 5484, "nodeType": "Block", - "src": "63994:785:10", + "src": "63994:785:23", "statements": [ { "AST": { - "nativeSrc": "64056:717:10", + "nativeSrc": "64056:717:23", "nodeType": "YulBlock", - "src": "64056:717:10", + "src": "64056:717:23", "statements": [ { - "nativeSrc": "64070:19:10", + "nativeSrc": "64070:19:23", "nodeType": "YulAssignment", - "src": "64070:19:10", + "src": "64070:19:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "64084:4:10", + "nativeSrc": "64084:4:23", "nodeType": "YulLiteral", - "src": "64084:4:10", + "src": "64084:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "64078:5:10", + "nativeSrc": "64078:5:23", "nodeType": "YulIdentifier", - "src": "64078:5:10" + "src": "64078:5:23" }, - "nativeSrc": "64078:11:10", + "nativeSrc": "64078:11:23", "nodeType": "YulFunctionCall", - "src": "64078:11:10" + "src": "64078:11:23" }, "variableNames": [ { "name": "args", - "nativeSrc": "64070:4:10", + "nativeSrc": "64070:4:23", "nodeType": "YulIdentifier", - "src": "64070:4:10" + "src": "64070:4:23" } ] }, { "body": { - "nativeSrc": "64129:17:10", + "nativeSrc": "64129:17:23", "nodeType": "YulBlock", - "src": "64129:17:10", + "src": "64129:17:23", "statements": [ { - "nativeSrc": "64131:13:10", + "nativeSrc": "64131:13:23", "nodeType": "YulAssignment", - "src": "64131:13:10", + "src": "64131:13:23", "value": { "kind": "number", - "nativeSrc": "64138:6:10", + "nativeSrc": "64138:6:23", "nodeType": "YulLiteral", - "src": "64138:6:10", + "src": "64138:6:23", "type": "", "value": "0xffff" }, "variableNames": [ { "name": "end", - "nativeSrc": "64131:3:10", + "nativeSrc": "64131:3:23", "nodeType": "YulIdentifier", - "src": "64131:3:10" + "src": "64131:3:23" } ] } @@ -112940,117 +131915,117 @@ "arguments": [ { "name": "end", - "nativeSrc": "64115:3:10", + "nativeSrc": "64115:3:23", "nodeType": "YulIdentifier", - "src": "64115:3:10" + "src": "64115:3:23" }, { "kind": "number", - "nativeSrc": "64120:6:10", + "nativeSrc": "64120:6:23", "nodeType": "YulLiteral", - "src": "64120:6:10", + "src": "64120:6:23", "type": "", "value": "0xffff" } ], "functionName": { "name": "lt", - "nativeSrc": "64112:2:10", + "nativeSrc": "64112:2:23", "nodeType": "YulIdentifier", - "src": "64112:2:10" + "src": "64112:2:23" }, - "nativeSrc": "64112:15:10", + "nativeSrc": "64112:15:23", "nodeType": "YulFunctionCall", - "src": "64112:15:10" + "src": "64112:15:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "64105:6:10", + "nativeSrc": "64105:6:23", "nodeType": "YulIdentifier", - "src": "64105:6:10" + "src": "64105:6:23" }, - "nativeSrc": "64105:23:10", + "nativeSrc": "64105:23:23", "nodeType": "YulFunctionCall", - "src": "64105:23:10" + "src": "64105:23:23" }, - "nativeSrc": "64102:44:10", + "nativeSrc": "64102:44:23", "nodeType": "YulIf", - "src": "64102:44:10" + "src": "64102:44:23" }, { - "nativeSrc": "64159:45:10", + "nativeSrc": "64159:45:23", "nodeType": "YulVariableDeclaration", - "src": "64159:45:10", + "src": "64159:45:23", "value": { "arguments": [ { "arguments": [ { "name": "end", - "nativeSrc": "64176:3:10", + "nativeSrc": "64176:3:23", "nodeType": "YulIdentifier", - "src": "64176:3:10" + "src": "64176:3:23" }, { "name": "start", - "nativeSrc": "64181:5:10", + "nativeSrc": "64181:5:23", "nodeType": "YulIdentifier", - "src": "64181:5:10" + "src": "64181:5:23" } ], "functionName": { "name": "sub", - "nativeSrc": "64172:3:10", + "nativeSrc": "64172:3:23", "nodeType": "YulIdentifier", - "src": "64172:3:10" + "src": "64172:3:23" }, - "nativeSrc": "64172:15:10", + "nativeSrc": "64172:15:23", "nodeType": "YulFunctionCall", - "src": "64172:15:10" + "src": "64172:15:23" }, { "arguments": [ { "name": "start", - "nativeSrc": "64192:5:10", + "nativeSrc": "64192:5:23", "nodeType": "YulIdentifier", - "src": "64192:5:10" + "src": "64192:5:23" }, { "name": "end", - "nativeSrc": "64199:3:10", + "nativeSrc": "64199:3:23", "nodeType": "YulIdentifier", - "src": "64199:3:10" + "src": "64199:3:23" } ], "functionName": { "name": "lt", - "nativeSrc": "64189:2:10", + "nativeSrc": "64189:2:23", "nodeType": "YulIdentifier", - "src": "64189:2:10" + "src": "64189:2:23" }, - "nativeSrc": "64189:14:10", + "nativeSrc": "64189:14:23", "nodeType": "YulFunctionCall", - "src": "64189:14:10" + "src": "64189:14:23" } ], "functionName": { "name": "mul", - "nativeSrc": "64168:3:10", + "nativeSrc": "64168:3:23", "nodeType": "YulIdentifier", - "src": "64168:3:10" + "src": "64168:3:23" }, - "nativeSrc": "64168:36:10", + "nativeSrc": "64168:36:23", "nodeType": "YulFunctionCall", - "src": "64168:36:10" + "src": "64168:36:23" }, "variables": [ { "name": "d", - "nativeSrc": "64163:1:10", + "nativeSrc": "64163:1:23", "nodeType": "YulTypedName", - "src": "64163:1:10", + "src": "64163:1:23", "type": "" } ] @@ -113060,141 +132035,141 @@ "arguments": [ { "name": "instance", - "nativeSrc": "64229:8:10", + "nativeSrc": "64229:8:23", "nodeType": "YulIdentifier", - "src": "64229:8:10" + "src": "64229:8:23" }, { "name": "args", - "nativeSrc": "64239:4:10", + "nativeSrc": "64239:4:23", "nodeType": "YulIdentifier", - "src": "64239:4:10" + "src": "64239:4:23" }, { "arguments": [ { "name": "start", - "nativeSrc": "64249:5:10", + "nativeSrc": "64249:5:23", "nodeType": "YulIdentifier", - "src": "64249:5:10" + "src": "64249:5:23" }, { "kind": "number", - "nativeSrc": "64256:4:10", + "nativeSrc": "64256:4:23", "nodeType": "YulLiteral", - "src": "64256:4:10", + "src": "64256:4:23", "type": "", "value": "0x1d" } ], "functionName": { "name": "add", - "nativeSrc": "64245:3:10", + "nativeSrc": "64245:3:23", "nodeType": "YulIdentifier", - "src": "64245:3:10" + "src": "64245:3:23" }, - "nativeSrc": "64245:16:10", + "nativeSrc": "64245:16:23", "nodeType": "YulFunctionCall", - "src": "64245:16:10" + "src": "64245:16:23" }, { "arguments": [ { "name": "d", - "nativeSrc": "64267:1:10", + "nativeSrc": "64267:1:23", "nodeType": "YulIdentifier", - "src": "64267:1:10" + "src": "64267:1:23" }, { "kind": "number", - "nativeSrc": "64270:4:10", + "nativeSrc": "64270:4:23", "nodeType": "YulLiteral", - "src": "64270:4:10", + "src": "64270:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "64263:3:10", + "nativeSrc": "64263:3:23", "nodeType": "YulIdentifier", - "src": "64263:3:10" + "src": "64263:3:23" }, - "nativeSrc": "64263:12:10", + "nativeSrc": "64263:12:23", "nodeType": "YulFunctionCall", - "src": "64263:12:10" + "src": "64263:12:23" } ], "functionName": { "name": "extcodecopy", - "nativeSrc": "64217:11:10", + "nativeSrc": "64217:11:23", "nodeType": "YulIdentifier", - "src": "64217:11:10" + "src": "64217:11:23" }, - "nativeSrc": "64217:59:10", + "nativeSrc": "64217:59:23", "nodeType": "YulFunctionCall", - "src": "64217:59:10" + "src": "64217:59:23" }, - "nativeSrc": "64217:59:10", + "nativeSrc": "64217:59:23", "nodeType": "YulExpressionStatement", - "src": "64217:59:10" + "src": "64217:59:23" }, { "body": { - "nativeSrc": "64331:229:10", + "nativeSrc": "64331:229:23", "nodeType": "YulBlock", - "src": "64331:229:10", + "src": "64331:229:23", "statements": [ { - "nativeSrc": "64349:41:10", + "nativeSrc": "64349:41:23", "nodeType": "YulVariableDeclaration", - "src": "64349:41:10", + "src": "64349:41:23", "value": { "arguments": [ { "arguments": [ { "name": "instance", - "nativeSrc": "64374:8:10", + "nativeSrc": "64374:8:23", "nodeType": "YulIdentifier", - "src": "64374:8:10" + "src": "64374:8:23" } ], "functionName": { "name": "extcodesize", - "nativeSrc": "64362:11:10", + "nativeSrc": "64362:11:23", "nodeType": "YulIdentifier", - "src": "64362:11:10" + "src": "64362:11:23" }, - "nativeSrc": "64362:21:10", + "nativeSrc": "64362:21:23", "nodeType": "YulFunctionCall", - "src": "64362:21:10" + "src": "64362:21:23" }, { "kind": "number", - "nativeSrc": "64385:4:10", + "nativeSrc": "64385:4:23", "nodeType": "YulLiteral", - "src": "64385:4:10", + "src": "64385:4:23", "type": "", "value": "0x3d" } ], "functionName": { "name": "sub", - "nativeSrc": "64358:3:10", + "nativeSrc": "64358:3:23", "nodeType": "YulIdentifier", - "src": "64358:3:10" + "src": "64358:3:23" }, - "nativeSrc": "64358:32:10", + "nativeSrc": "64358:32:23", "nodeType": "YulFunctionCall", - "src": "64358:32:10" + "src": "64358:32:23" }, "variables": [ { "name": "n", - "nativeSrc": "64353:1:10", + "nativeSrc": "64353:1:23", "nodeType": "YulTypedName", - "src": "64353:1:10", + "src": "64353:1:23", "type": "" } ] @@ -113206,106 +132181,106 @@ "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "64422:14:10", + "nativeSrc": "64422:14:23", "nodeType": "YulIdentifier", - "src": "64422:14:10" + "src": "64422:14:23" }, - "nativeSrc": "64422:16:10", + "nativeSrc": "64422:16:23", "nodeType": "YulFunctionCall", - "src": "64422:16:10" + "src": "64422:16:23" }, { "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "64440:14:10", + "nativeSrc": "64440:14:23", "nodeType": "YulIdentifier", - "src": "64440:14:10" + "src": "64440:14:23" }, - "nativeSrc": "64440:16:10", + "nativeSrc": "64440:16:23", "nodeType": "YulFunctionCall", - "src": "64440:16:10" + "src": "64440:16:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "64462:2:10", + "nativeSrc": "64462:2:23", "nodeType": "YulLiteral", - "src": "64462:2:10", + "src": "64462:2:23", "type": "", "value": "40" }, { "name": "n", - "nativeSrc": "64466:1:10", + "nativeSrc": "64466:1:23", "nodeType": "YulIdentifier", - "src": "64466:1:10" + "src": "64466:1:23" } ], "functionName": { "name": "shr", - "nativeSrc": "64458:3:10", + "nativeSrc": "64458:3:23", "nodeType": "YulIdentifier", - "src": "64458:3:10" + "src": "64458:3:23" }, - "nativeSrc": "64458:10:10", + "nativeSrc": "64458:10:23", "nodeType": "YulFunctionCall", - "src": "64458:10:10" + "src": "64458:10:23" } ], "functionName": { "name": "returndatacopy", - "nativeSrc": "64407:14:10", + "nativeSrc": "64407:14:23", "nodeType": "YulIdentifier", - "src": "64407:14:10" + "src": "64407:14:23" }, - "nativeSrc": "64407:62:10", + "nativeSrc": "64407:62:23", "nodeType": "YulFunctionCall", - "src": "64407:62:10" + "src": "64407:62:23" }, - "nativeSrc": "64407:62:10", + "nativeSrc": "64407:62:23", "nodeType": "YulExpressionStatement", - "src": "64407:62:10" + "src": "64407:62:23" }, { - "nativeSrc": "64486:60:10", + "nativeSrc": "64486:60:23", "nodeType": "YulAssignment", - "src": "64486:60:10", + "src": "64486:60:23", "value": { "arguments": [ { "arguments": [ { "name": "n", - "nativeSrc": "64498:1:10", + "nativeSrc": "64498:1:23", "nodeType": "YulIdentifier", - "src": "64498:1:10" + "src": "64498:1:23" }, { "name": "start", - "nativeSrc": "64501:5:10", + "nativeSrc": "64501:5:23", "nodeType": "YulIdentifier", - "src": "64501:5:10" + "src": "64501:5:23" } ], "functionName": { "name": "gt", - "nativeSrc": "64495:2:10", + "nativeSrc": "64495:2:23", "nodeType": "YulIdentifier", - "src": "64495:2:10" + "src": "64495:2:23" }, - "nativeSrc": "64495:12:10", + "nativeSrc": "64495:12:23", "nodeType": "YulFunctionCall", - "src": "64495:12:10" + "src": "64495:12:23" }, { "arguments": [ { "name": "d", - "nativeSrc": "64513:1:10", + "nativeSrc": "64513:1:23", "nodeType": "YulIdentifier", - "src": "64513:1:10" + "src": "64513:1:23" }, { "arguments": [ @@ -113313,91 +132288,91 @@ "arguments": [ { "name": "end", - "nativeSrc": "64523:3:10", + "nativeSrc": "64523:3:23", "nodeType": "YulIdentifier", - "src": "64523:3:10" + "src": "64523:3:23" }, { "name": "n", - "nativeSrc": "64528:1:10", + "nativeSrc": "64528:1:23", "nodeType": "YulIdentifier", - "src": "64528:1:10" + "src": "64528:1:23" } ], "functionName": { "name": "gt", - "nativeSrc": "64520:2:10", + "nativeSrc": "64520:2:23", "nodeType": "YulIdentifier", - "src": "64520:2:10" + "src": "64520:2:23" }, - "nativeSrc": "64520:10:10", + "nativeSrc": "64520:10:23", "nodeType": "YulFunctionCall", - "src": "64520:10:10" + "src": "64520:10:23" }, { "arguments": [ { "name": "end", - "nativeSrc": "64536:3:10", + "nativeSrc": "64536:3:23", "nodeType": "YulIdentifier", - "src": "64536:3:10" + "src": "64536:3:23" }, { "name": "n", - "nativeSrc": "64541:1:10", + "nativeSrc": "64541:1:23", "nodeType": "YulIdentifier", - "src": "64541:1:10" + "src": "64541:1:23" } ], "functionName": { "name": "sub", - "nativeSrc": "64532:3:10", + "nativeSrc": "64532:3:23", "nodeType": "YulIdentifier", - "src": "64532:3:10" + "src": "64532:3:23" }, - "nativeSrc": "64532:11:10", + "nativeSrc": "64532:11:23", "nodeType": "YulFunctionCall", - "src": "64532:11:10" + "src": "64532:11:23" } ], "functionName": { "name": "mul", - "nativeSrc": "64516:3:10", + "nativeSrc": "64516:3:23", "nodeType": "YulIdentifier", - "src": "64516:3:10" + "src": "64516:3:23" }, - "nativeSrc": "64516:28:10", + "nativeSrc": "64516:28:23", "nodeType": "YulFunctionCall", - "src": "64516:28:10" + "src": "64516:28:23" } ], "functionName": { "name": "sub", - "nativeSrc": "64509:3:10", + "nativeSrc": "64509:3:23", "nodeType": "YulIdentifier", - "src": "64509:3:10" + "src": "64509:3:23" }, - "nativeSrc": "64509:36:10", + "nativeSrc": "64509:36:23", "nodeType": "YulFunctionCall", - "src": "64509:36:10" + "src": "64509:36:23" } ], "functionName": { "name": "mul", - "nativeSrc": "64491:3:10", + "nativeSrc": "64491:3:23", "nodeType": "YulIdentifier", - "src": "64491:3:10" + "src": "64491:3:23" }, - "nativeSrc": "64491:55:10", + "nativeSrc": "64491:55:23", "nodeType": "YulFunctionCall", - "src": "64491:55:10" + "src": "64491:55:23" }, "variableNames": [ { "name": "d", - "nativeSrc": "64486:1:10", + "nativeSrc": "64486:1:23", "nodeType": "YulIdentifier", - "src": "64486:1:10" + "src": "64486:1:23" } ] } @@ -113409,9 +132384,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "64303:4:10", + "nativeSrc": "64303:4:23", "nodeType": "YulLiteral", - "src": "64303:4:10", + "src": "64303:4:23", "type": "", "value": "0xff" }, @@ -113421,93 +132396,93 @@ "arguments": [ { "name": "args", - "nativeSrc": "64319:4:10", + "nativeSrc": "64319:4:23", "nodeType": "YulIdentifier", - "src": "64319:4:10" + "src": "64319:4:23" }, { "name": "d", - "nativeSrc": "64325:1:10", + "nativeSrc": "64325:1:23", "nodeType": "YulIdentifier", - "src": "64325:1:10" + "src": "64325:1:23" } ], "functionName": { "name": "add", - "nativeSrc": "64315:3:10", + "nativeSrc": "64315:3:23", "nodeType": "YulIdentifier", - "src": "64315:3:10" + "src": "64315:3:23" }, - "nativeSrc": "64315:12:10", + "nativeSrc": "64315:12:23", "nodeType": "YulFunctionCall", - "src": "64315:12:10" + "src": "64315:12:23" } ], "functionName": { "name": "mload", - "nativeSrc": "64309:5:10", + "nativeSrc": "64309:5:23", "nodeType": "YulIdentifier", - "src": "64309:5:10" + "src": "64309:5:23" }, - "nativeSrc": "64309:19:10", + "nativeSrc": "64309:19:23", "nodeType": "YulFunctionCall", - "src": "64309:19:10" + "src": "64309:19:23" } ], "functionName": { "name": "and", - "nativeSrc": "64299:3:10", + "nativeSrc": "64299:3:23", "nodeType": "YulIdentifier", - "src": "64299:3:10" + "src": "64299:3:23" }, - "nativeSrc": "64299:30:10", + "nativeSrc": "64299:30:23", "nodeType": "YulFunctionCall", - "src": "64299:30:10" + "src": "64299:30:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "64292:6:10", + "nativeSrc": "64292:6:23", "nodeType": "YulIdentifier", - "src": "64292:6:10" + "src": "64292:6:23" }, - "nativeSrc": "64292:38:10", + "nativeSrc": "64292:38:23", "nodeType": "YulFunctionCall", - "src": "64292:38:10" + "src": "64292:38:23" }, - "nativeSrc": "64289:271:10", + "nativeSrc": "64289:271:23", "nodeType": "YulIf", - "src": "64289:271:10" + "src": "64289:271:23" }, { "expression": { "arguments": [ { "name": "args", - "nativeSrc": "64580:4:10", + "nativeSrc": "64580:4:23", "nodeType": "YulIdentifier", - "src": "64580:4:10" + "src": "64580:4:23" }, { "name": "d", - "nativeSrc": "64586:1:10", + "nativeSrc": "64586:1:23", "nodeType": "YulIdentifier", - "src": "64586:1:10" + "src": "64586:1:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "64573:6:10", + "nativeSrc": "64573:6:23", "nodeType": "YulIdentifier", - "src": "64573:6:10" + "src": "64573:6:23" }, - "nativeSrc": "64573:15:10", + "nativeSrc": "64573:15:23", "nodeType": "YulFunctionCall", - "src": "64573:15:10" + "src": "64573:15:23" }, - "nativeSrc": "64573:15:10", + "nativeSrc": "64573:15:23", "nodeType": "YulExpressionStatement", - "src": "64573:15:10" + "src": "64573:15:23" }, { "expression": { @@ -113518,77 +132493,77 @@ "arguments": [ { "name": "args", - "nativeSrc": "64637:4:10", + "nativeSrc": "64637:4:23", "nodeType": "YulIdentifier", - "src": "64637:4:10" + "src": "64637:4:23" }, { "kind": "number", - "nativeSrc": "64643:4:10", + "nativeSrc": "64643:4:23", "nodeType": "YulLiteral", - "src": "64643:4:10", + "src": "64643:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "64633:3:10", + "nativeSrc": "64633:3:23", "nodeType": "YulIdentifier", - "src": "64633:3:10" + "src": "64633:3:23" }, - "nativeSrc": "64633:15:10", + "nativeSrc": "64633:15:23", "nodeType": "YulFunctionCall", - "src": "64633:15:10" + "src": "64633:15:23" }, { "name": "d", - "nativeSrc": "64650:1:10", + "nativeSrc": "64650:1:23", "nodeType": "YulIdentifier", - "src": "64650:1:10" + "src": "64650:1:23" } ], "functionName": { "name": "add", - "nativeSrc": "64629:3:10", + "nativeSrc": "64629:3:23", "nodeType": "YulIdentifier", - "src": "64629:3:10" + "src": "64629:3:23" }, - "nativeSrc": "64629:23:10", + "nativeSrc": "64629:23:23", "nodeType": "YulFunctionCall", - "src": "64629:23:10" + "src": "64629:23:23" }, { "kind": "number", - "nativeSrc": "64654:1:10", + "nativeSrc": "64654:1:23", "nodeType": "YulLiteral", - "src": "64654:1:10", + "src": "64654:1:23", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "64622:6:10", + "nativeSrc": "64622:6:23", "nodeType": "YulIdentifier", - "src": "64622:6:10" + "src": "64622:6:23" }, - "nativeSrc": "64622:34:10", + "nativeSrc": "64622:34:23", "nodeType": "YulFunctionCall", - "src": "64622:34:10" + "src": "64622:34:23" }, - "nativeSrc": "64622:34:10", + "nativeSrc": "64622:34:23", "nodeType": "YulExpressionStatement", - "src": "64622:34:10" + "src": "64622:34:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "64713:4:10", + "nativeSrc": "64713:4:23", "nodeType": "YulLiteral", - "src": "64713:4:10", + "src": "64713:4:23", "type": "", "value": "0x40" }, @@ -113598,60 +132573,60 @@ "arguments": [ { "name": "args", - "nativeSrc": "64727:4:10", + "nativeSrc": "64727:4:23", "nodeType": "YulIdentifier", - "src": "64727:4:10" + "src": "64727:4:23" }, { "kind": "number", - "nativeSrc": "64733:4:10", + "nativeSrc": "64733:4:23", "nodeType": "YulLiteral", - "src": "64733:4:10", + "src": "64733:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "add", - "nativeSrc": "64723:3:10", + "nativeSrc": "64723:3:23", "nodeType": "YulIdentifier", - "src": "64723:3:10" + "src": "64723:3:23" }, - "nativeSrc": "64723:15:10", + "nativeSrc": "64723:15:23", "nodeType": "YulFunctionCall", - "src": "64723:15:10" + "src": "64723:15:23" }, { "name": "d", - "nativeSrc": "64740:1:10", + "nativeSrc": "64740:1:23", "nodeType": "YulIdentifier", - "src": "64740:1:10" + "src": "64740:1:23" } ], "functionName": { "name": "add", - "nativeSrc": "64719:3:10", + "nativeSrc": "64719:3:23", "nodeType": "YulIdentifier", - "src": "64719:3:10" + "src": "64719:3:23" }, - "nativeSrc": "64719:23:10", + "nativeSrc": "64719:23:23", "nodeType": "YulFunctionCall", - "src": "64719:23:10" + "src": "64719:23:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "64706:6:10", + "nativeSrc": "64706:6:23", "nodeType": "YulIdentifier", - "src": "64706:6:10" + "src": "64706:6:23" }, - "nativeSrc": "64706:37:10", + "nativeSrc": "64706:37:23", "nodeType": "YulFunctionCall", - "src": "64706:37:10" + "src": "64706:37:23" }, - "nativeSrc": "64706:37:10", + "nativeSrc": "64706:37:23", "nodeType": "YulExpressionStatement", - "src": "64706:37:10" + "src": "64706:37:23" } ] }, @@ -113659,164 +132634,164 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3875, + "declaration": 5481, "isOffset": false, "isSlot": false, - "src": "64070:4:10", + "src": "64070:4:23", "valueSize": 1 }, { - "declaration": 3875, + "declaration": 5481, "isOffset": false, "isSlot": false, - "src": "64239:4:10", + "src": "64239:4:23", "valueSize": 1 }, { - "declaration": 3875, + "declaration": 5481, "isOffset": false, "isSlot": false, - "src": "64319:4:10", + "src": "64319:4:23", "valueSize": 1 }, { - "declaration": 3875, + "declaration": 5481, "isOffset": false, "isSlot": false, - "src": "64580:4:10", + "src": "64580:4:23", "valueSize": 1 }, { - "declaration": 3875, + "declaration": 5481, "isOffset": false, "isSlot": false, - "src": "64637:4:10", + "src": "64637:4:23", "valueSize": 1 }, { - "declaration": 3875, + "declaration": 5481, "isOffset": false, "isSlot": false, - "src": "64727:4:10", + "src": "64727:4:23", "valueSize": 1 }, { - "declaration": 3872, + "declaration": 5478, "isOffset": false, "isSlot": false, - "src": "64115:3:10", + "src": "64115:3:23", "valueSize": 1 }, { - "declaration": 3872, + "declaration": 5478, "isOffset": false, "isSlot": false, - "src": "64131:3:10", + "src": "64131:3:23", "valueSize": 1 }, { - "declaration": 3872, + "declaration": 5478, "isOffset": false, "isSlot": false, - "src": "64176:3:10", + "src": "64176:3:23", "valueSize": 1 }, { - "declaration": 3872, + "declaration": 5478, "isOffset": false, "isSlot": false, - "src": "64199:3:10", + "src": "64199:3:23", "valueSize": 1 }, { - "declaration": 3872, + "declaration": 5478, "isOffset": false, "isSlot": false, - "src": "64523:3:10", + "src": "64523:3:23", "valueSize": 1 }, { - "declaration": 3872, + "declaration": 5478, "isOffset": false, "isSlot": false, - "src": "64536:3:10", + "src": "64536:3:23", "valueSize": 1 }, { - "declaration": 3868, + "declaration": 5474, "isOffset": false, "isSlot": false, - "src": "64229:8:10", + "src": "64229:8:23", "valueSize": 1 }, { - "declaration": 3868, + "declaration": 5474, "isOffset": false, "isSlot": false, - "src": "64374:8:10", + "src": "64374:8:23", "valueSize": 1 }, { - "declaration": 3870, + "declaration": 5476, "isOffset": false, "isSlot": false, - "src": "64181:5:10", + "src": "64181:5:23", "valueSize": 1 }, { - "declaration": 3870, + "declaration": 5476, "isOffset": false, "isSlot": false, - "src": "64192:5:10", + "src": "64192:5:23", "valueSize": 1 }, { - "declaration": 3870, + "declaration": 5476, "isOffset": false, "isSlot": false, - "src": "64249:5:10", + "src": "64249:5:23", "valueSize": 1 }, { - "declaration": 3870, + "declaration": 5476, "isOffset": false, "isSlot": false, - "src": "64501:5:10", + "src": "64501:5:23", "valueSize": 1 } ], - "id": 3877, + "id": 5483, "nodeType": "InlineAssembly", - "src": "64047:726:10" + "src": "64047:726:23" } ] }, "documentation": { - "id": 3866, + "id": 5472, "nodeType": "StructuredDocumentation", - "src": "63489:361:10", + "src": "63489:361:23", "text": "@dev Returns a slice of the immutable arguments on `instance` from `start` to `end`.\n `start` and `end` will be clamped to the range `[0, args.length]`.\n The `instance` MUST be deployed via the ERC1967 with immutable args functions.\n Otherwise, the behavior is undefined.\n Out-of-gas reverts if `instance` does not have any code." }, - "id": 3879, + "id": 5485, "implemented": true, "kind": "function", "modifiers": [], "name": "argsOnERC1967", - "nameLocation": "63864:13:10", + "nameLocation": "63864:13:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3873, + "id": 5479, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3868, + "id": 5474, "mutability": "mutable", "name": "instance", - "nameLocation": "63886:8:10", + "nameLocation": "63886:8:23", "nodeType": "VariableDeclaration", - "scope": 3879, - "src": "63878:16:10", + "scope": 5485, + "src": "63878:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -113824,10 +132799,10 @@ "typeString": "address" }, "typeName": { - "id": 3867, + "id": 5473, "name": "address", "nodeType": "ElementaryTypeName", - "src": "63878:7:10", + "src": "63878:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -113838,13 +132813,13 @@ }, { "constant": false, - "id": 3870, + "id": 5476, "mutability": "mutable", "name": "start", - "nameLocation": "63904:5:10", + "nameLocation": "63904:5:23", "nodeType": "VariableDeclaration", - "scope": 3879, - "src": "63896:13:10", + "scope": 5485, + "src": "63896:13:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -113852,10 +132827,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3869, + "id": 5475, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "63896:7:10", + "src": "63896:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -113865,13 +132840,13 @@ }, { "constant": false, - "id": 3872, + "id": 5478, "mutability": "mutable", "name": "end", - "nameLocation": "63919:3:10", + "nameLocation": "63919:3:23", "nodeType": "VariableDeclaration", - "scope": 3879, - "src": "63911:11:10", + "scope": 5485, + "src": "63911:11:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -113879,10 +132854,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3871, + "id": 5477, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "63911:7:10", + "src": "63911:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -113891,21 +132866,21 @@ "visibility": "internal" } ], - "src": "63877:46:10" + "src": "63877:46:23" }, "returnParameters": { - "id": 3876, + "id": 5482, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3875, + "id": 5481, "mutability": "mutable", "name": "args", - "nameLocation": "63984:4:10", + "nameLocation": "63984:4:23", "nodeType": "VariableDeclaration", - "scope": 3879, - "src": "63971:17:10", + "scope": 5485, + "src": "63971:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -113913,10 +132888,10 @@ "typeString": "bytes" }, "typeName": { - "id": 3874, + "id": 5480, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "63971:5:10", + "src": "63971:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -113925,34 +132900,34 @@ "visibility": "internal" } ], - "src": "63970:19:10" + "src": "63970:19:23" }, - "scope": 5093, - "src": "63855:924:10", + "scope": 6699, + "src": "63855:924:23", "stateMutability": "view", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3894, + "id": 5500, "nodeType": "Block", - "src": "65538:61:10", + "src": "65538:61:23", "statements": [ { "expression": { - "id": 3892, + "id": 5498, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 3887, + "id": 5493, "name": "instance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3885, - "src": "65548:8:10", + "referencedDeclaration": 5491, + "src": "65548:8:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -113964,14 +132939,14 @@ "arguments": [ { "hexValue": "30", - "id": 3889, + "id": 5495, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "65574:1:10", + "src": "65574:1:23", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -113979,12 +132954,12 @@ "value": "0" }, { - "id": 3890, + "id": 5496, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3882, - "src": "65577:14:10", + "referencedDeclaration": 5488, + "src": "65577:14:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -114002,23 +132977,23 @@ "typeString": "address" } ], - "id": 3888, + "id": 5494, "name": "deployERC1967I", "nodeType": "Identifier", "overloadedDeclarations": [ - 3895, - 3907, - 4039, - 4053 + 5501, + 5513, + 5645, + 5659 ], - "referencedDeclaration": 3907, - "src": "65559:14:10", + "referencedDeclaration": 5513, + "src": "65559:14:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$returns$_t_address_$", "typeString": "function (uint256,address) returns (address)" } }, - "id": 3891, + "id": 5497, "isConstant": false, "isLValue": false, "isPure": false, @@ -114027,51 +133002,51 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "65559:33:10", + "src": "65559:33:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "65548:44:10", + "src": "65548:44:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 3893, + "id": 5499, "nodeType": "ExpressionStatement", - "src": "65548:44:10" + "src": "65548:44:23" } ] }, "documentation": { - "id": 3880, + "id": 5486, "nodeType": "StructuredDocumentation", - "src": "65393:56:10", + "src": "65393:56:23", "text": "@dev Deploys a ERC1967I proxy with `implementation`." }, - "id": 3895, + "id": 5501, "implemented": true, "kind": "function", "modifiers": [], "name": "deployERC1967I", - "nameLocation": "65463:14:10", + "nameLocation": "65463:14:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3883, + "id": 5489, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3882, + "id": 5488, "mutability": "mutable", "name": "implementation", - "nameLocation": "65486:14:10", + "nameLocation": "65486:14:23", "nodeType": "VariableDeclaration", - "scope": 3895, - "src": "65478:22:10", + "scope": 5501, + "src": "65478:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -114079,10 +133054,10 @@ "typeString": "address" }, "typeName": { - "id": 3881, + "id": 5487, "name": "address", "nodeType": "ElementaryTypeName", - "src": "65478:7:10", + "src": "65478:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -114092,21 +133067,21 @@ "visibility": "internal" } ], - "src": "65477:24:10" + "src": "65477:24:23" }, "returnParameters": { - "id": 3886, + "id": 5492, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3885, + "id": 5491, "mutability": "mutable", "name": "instance", - "nameLocation": "65528:8:10", + "nameLocation": "65528:8:23", "nodeType": "VariableDeclaration", - "scope": 3895, - "src": "65520:16:10", + "scope": 5501, + "src": "65520:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -114114,10 +133089,10 @@ "typeString": "address" }, "typeName": { - "id": 3884, + "id": 5490, "name": "address", "nodeType": "ElementaryTypeName", - "src": "65520:7:10", + "src": "65520:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -114127,57 +133102,57 @@ "visibility": "internal" } ], - "src": "65519:18:10" + "src": "65519:18:23" }, - "scope": 5093, - "src": "65454:145:10", + "scope": 6699, + "src": "65454:145:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3906, + "id": 5512, "nodeType": "Block", - "src": "65833:8789:10", + "src": "65833:8789:23", "statements": [ { "AST": { - "nativeSrc": "65895:8721:10", + "nativeSrc": "65895:8721:23", "nodeType": "YulBlock", - "src": "65895:8721:10", + "src": "65895:8721:23", "statements": [ { - "nativeSrc": "73879:20:10", + "nativeSrc": "73879:20:23", "nodeType": "YulVariableDeclaration", - "src": "73879:20:10", + "src": "73879:20:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "73894:4:10", + "nativeSrc": "73894:4:23", "nodeType": "YulLiteral", - "src": "73894:4:10", + "src": "73894:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "73888:5:10", + "nativeSrc": "73888:5:23", "nodeType": "YulIdentifier", - "src": "73888:5:10" + "src": "73888:5:23" }, - "nativeSrc": "73888:11:10", + "nativeSrc": "73888:11:23", "nodeType": "YulFunctionCall", - "src": "73888:11:10" + "src": "73888:11:23" }, "variables": [ { "name": "m", - "nativeSrc": "73883:1:10", + "nativeSrc": "73883:1:23", "nodeType": "YulTypedName", - "src": "73883:1:10", + "src": "73883:1:23", "type": "" } ] @@ -114187,111 +133162,111 @@ "arguments": [ { "kind": "number", - "nativeSrc": "73953:4:10", + "nativeSrc": "73953:4:23", "nodeType": "YulLiteral", - "src": "73953:4:10", + "src": "73953:4:23", "type": "", "value": "0x60" }, { "kind": "number", - "nativeSrc": "73959:66:10", + "nativeSrc": "73959:66:23", "nodeType": "YulLiteral", - "src": "73959:66:10", + "src": "73959:66:23", "type": "", "value": "0x3d6000803e603e573d6000fd5b3d6000f35b6020600f3d393d51543d52593df3" } ], "functionName": { "name": "mstore", - "nativeSrc": "73946:6:10", + "nativeSrc": "73946:6:23", "nodeType": "YulIdentifier", - "src": "73946:6:10" + "src": "73946:6:23" }, - "nativeSrc": "73946:80:10", + "nativeSrc": "73946:80:23", "nodeType": "YulFunctionCall", - "src": "73946:80:10" + "src": "73946:80:23" }, - "nativeSrc": "73946:80:10", + "nativeSrc": "73946:80:23", "nodeType": "YulExpressionStatement", - "src": "73946:80:10" + "src": "73946:80:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "74046:4:10", + "nativeSrc": "74046:4:23", "nodeType": "YulLiteral", - "src": "74046:4:10", + "src": "74046:4:23", "type": "", "value": "0x40" }, { "kind": "number", - "nativeSrc": "74052:66:10", + "nativeSrc": "74052:66:23", "nodeType": "YulLiteral", - "src": "74052:66:10", + "src": "74052:66:23", "type": "", "value": "0xa13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af4" } ], "functionName": { "name": "mstore", - "nativeSrc": "74039:6:10", + "nativeSrc": "74039:6:23", "nodeType": "YulIdentifier", - "src": "74039:6:10" + "src": "74039:6:23" }, - "nativeSrc": "74039:80:10", + "nativeSrc": "74039:80:23", "nodeType": "YulFunctionCall", - "src": "74039:80:10" + "src": "74039:80:23" }, - "nativeSrc": "74039:80:10", + "nativeSrc": "74039:80:23", "nodeType": "YulExpressionStatement", - "src": "74039:80:10" + "src": "74039:80:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "74139:4:10", + "nativeSrc": "74139:4:23", "nodeType": "YulLiteral", - "src": "74139:4:10", + "src": "74139:4:23", "type": "", "value": "0x20" }, { "kind": "number", - "nativeSrc": "74145:48:10", + "nativeSrc": "74145:48:23", "nodeType": "YulLiteral", - "src": "74145:48:10", + "src": "74145:48:23", "type": "", "value": "0x600f5155f3365814604357363d3d373d3d363d7f360894" } ], "functionName": { "name": "mstore", - "nativeSrc": "74132:6:10", + "nativeSrc": "74132:6:23", "nodeType": "YulIdentifier", - "src": "74132:6:10" + "src": "74132:6:23" }, - "nativeSrc": "74132:62:10", + "nativeSrc": "74132:62:23", "nodeType": "YulFunctionCall", - "src": "74132:62:10" + "src": "74132:62:23" }, - "nativeSrc": "74132:62:10", + "nativeSrc": "74132:62:23", "nodeType": "YulExpressionStatement", - "src": "74132:62:10" + "src": "74132:62:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "74214:4:10", + "nativeSrc": "74214:4:23", "nodeType": "YulLiteral", - "src": "74214:4:10", + "src": "74214:4:23", "type": "", "value": "0x09" }, @@ -114301,38 +133276,38 @@ "arguments": [ { "kind": "number", - "nativeSrc": "74227:3:10", + "nativeSrc": "74227:3:23", "nodeType": "YulLiteral", - "src": "74227:3:10", + "src": "74227:3:23", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "74232:20:10", + "nativeSrc": "74232:20:23", "nodeType": "YulLiteral", - "src": "74232:20:10", + "src": "74232:20:23", "type": "", "value": "0x60523d8160223d3973" } ], "functionName": { "name": "shl", - "nativeSrc": "74223:3:10", + "nativeSrc": "74223:3:23", "nodeType": "YulIdentifier", - "src": "74223:3:10" + "src": "74223:3:23" }, - "nativeSrc": "74223:30:10", + "nativeSrc": "74223:30:23", "nodeType": "YulFunctionCall", - "src": "74223:30:10" + "src": "74223:30:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "74259:2:10", + "nativeSrc": "74259:2:23", "nodeType": "YulLiteral", - "src": "74259:2:10", + "src": "74259:2:23", "type": "", "value": "96" }, @@ -114340,187 +133315,187 @@ "arguments": [ { "kind": "number", - "nativeSrc": "74267:2:10", + "nativeSrc": "74267:2:23", "nodeType": "YulLiteral", - "src": "74267:2:10", + "src": "74267:2:23", "type": "", "value": "96" }, { "name": "implementation", - "nativeSrc": "74271:14:10", + "nativeSrc": "74271:14:23", "nodeType": "YulIdentifier", - "src": "74271:14:10" + "src": "74271:14:23" } ], "functionName": { "name": "shl", - "nativeSrc": "74263:3:10", + "nativeSrc": "74263:3:23", "nodeType": "YulIdentifier", - "src": "74263:3:10" + "src": "74263:3:23" }, - "nativeSrc": "74263:23:10", + "nativeSrc": "74263:23:23", "nodeType": "YulFunctionCall", - "src": "74263:23:10" + "src": "74263:23:23" } ], "functionName": { "name": "shr", - "nativeSrc": "74255:3:10", + "nativeSrc": "74255:3:23", "nodeType": "YulIdentifier", - "src": "74255:3:10" + "src": "74255:3:23" }, - "nativeSrc": "74255:32:10", + "nativeSrc": "74255:32:23", "nodeType": "YulFunctionCall", - "src": "74255:32:10" + "src": "74255:32:23" } ], "functionName": { "name": "or", - "nativeSrc": "74220:2:10", + "nativeSrc": "74220:2:23", "nodeType": "YulIdentifier", - "src": "74220:2:10" + "src": "74220:2:23" }, - "nativeSrc": "74220:68:10", + "nativeSrc": "74220:68:23", "nodeType": "YulFunctionCall", - "src": "74220:68:10" + "src": "74220:68:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "74207:6:10", + "nativeSrc": "74207:6:23", "nodeType": "YulIdentifier", - "src": "74207:6:10" + "src": "74207:6:23" }, - "nativeSrc": "74207:82:10", + "nativeSrc": "74207:82:23", "nodeType": "YulFunctionCall", - "src": "74207:82:10" + "src": "74207:82:23" }, - "nativeSrc": "74207:82:10", + "nativeSrc": "74207:82:23", "nodeType": "YulExpressionStatement", - "src": "74207:82:10" + "src": "74207:82:23" }, { - "nativeSrc": "74302:37:10", + "nativeSrc": "74302:37:23", "nodeType": "YulAssignment", - "src": "74302:37:10", + "src": "74302:37:23", "value": { "arguments": [ { "name": "value", - "nativeSrc": "74321:5:10", + "nativeSrc": "74321:5:23", "nodeType": "YulIdentifier", - "src": "74321:5:10" + "src": "74321:5:23" }, { "kind": "number", - "nativeSrc": "74328:4:10", + "nativeSrc": "74328:4:23", "nodeType": "YulLiteral", - "src": "74328:4:10", + "src": "74328:4:23", "type": "", "value": "0x0c" }, { "kind": "number", - "nativeSrc": "74334:4:10", + "nativeSrc": "74334:4:23", "nodeType": "YulLiteral", - "src": "74334:4:10", + "src": "74334:4:23", "type": "", "value": "0x74" } ], "functionName": { "name": "create", - "nativeSrc": "74314:6:10", + "nativeSrc": "74314:6:23", "nodeType": "YulIdentifier", - "src": "74314:6:10" + "src": "74314:6:23" }, - "nativeSrc": "74314:25:10", + "nativeSrc": "74314:25:23", "nodeType": "YulFunctionCall", - "src": "74314:25:10" + "src": "74314:25:23" }, "variableNames": [ { "name": "instance", - "nativeSrc": "74302:8:10", + "nativeSrc": "74302:8:23", "nodeType": "YulIdentifier", - "src": "74302:8:10" + "src": "74302:8:23" } ] }, { "body": { - "nativeSrc": "74372:116:10", + "nativeSrc": "74372:116:23", "nodeType": "YulBlock", - "src": "74372:116:10", + "src": "74372:116:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "74397:4:10", + "nativeSrc": "74397:4:23", "nodeType": "YulLiteral", - "src": "74397:4:10", + "src": "74397:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "74403:10:10", + "nativeSrc": "74403:10:23", "nodeType": "YulLiteral", - "src": "74403:10:10", + "src": "74403:10:23", "type": "", "value": "0x30116425" } ], "functionName": { "name": "mstore", - "nativeSrc": "74390:6:10", + "nativeSrc": "74390:6:23", "nodeType": "YulIdentifier", - "src": "74390:6:10" + "src": "74390:6:23" }, - "nativeSrc": "74390:24:10", + "nativeSrc": "74390:24:23", "nodeType": "YulFunctionCall", - "src": "74390:24:10" + "src": "74390:24:23" }, - "nativeSrc": "74390:24:10", + "nativeSrc": "74390:24:23", "nodeType": "YulExpressionStatement", - "src": "74390:24:10" + "src": "74390:24:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "74463:4:10", + "nativeSrc": "74463:4:23", "nodeType": "YulLiteral", - "src": "74463:4:10", + "src": "74463:4:23", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "74469:4:10", + "nativeSrc": "74469:4:23", "nodeType": "YulLiteral", - "src": "74469:4:10", + "src": "74469:4:23", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "74456:6:10", + "nativeSrc": "74456:6:23", "nodeType": "YulIdentifier", - "src": "74456:6:10" + "src": "74456:6:23" }, - "nativeSrc": "74456:18:10", + "nativeSrc": "74456:18:23", "nodeType": "YulFunctionCall", - "src": "74456:18:10" + "src": "74456:18:23" }, - "nativeSrc": "74456:18:10", + "nativeSrc": "74456:18:23", "nodeType": "YulExpressionStatement", - "src": "74456:18:10" + "src": "74456:18:23" } ] }, @@ -114528,90 +133503,90 @@ "arguments": [ { "name": "instance", - "nativeSrc": "74362:8:10", + "nativeSrc": "74362:8:23", "nodeType": "YulIdentifier", - "src": "74362:8:10" + "src": "74362:8:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "74355:6:10", + "nativeSrc": "74355:6:23", "nodeType": "YulIdentifier", - "src": "74355:6:10" + "src": "74355:6:23" }, - "nativeSrc": "74355:16:10", + "nativeSrc": "74355:16:23", "nodeType": "YulFunctionCall", - "src": "74355:16:10" + "src": "74355:16:23" }, - "nativeSrc": "74352:136:10", + "nativeSrc": "74352:136:23", "nodeType": "YulIf", - "src": "74352:136:10" + "src": "74352:136:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "74508:4:10", + "nativeSrc": "74508:4:23", "nodeType": "YulLiteral", - "src": "74508:4:10", + "src": "74508:4:23", "type": "", "value": "0x40" }, { "name": "m", - "nativeSrc": "74514:1:10", + "nativeSrc": "74514:1:23", "nodeType": "YulIdentifier", - "src": "74514:1:10" + "src": "74514:1:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "74501:6:10", + "nativeSrc": "74501:6:23", "nodeType": "YulIdentifier", - "src": "74501:6:10" + "src": "74501:6:23" }, - "nativeSrc": "74501:15:10", + "nativeSrc": "74501:15:23", "nodeType": "YulFunctionCall", - "src": "74501:15:10" + "src": "74501:15:23" }, - "nativeSrc": "74501:15:10", + "nativeSrc": "74501:15:23", "nodeType": "YulExpressionStatement", - "src": "74501:15:10" + "src": "74501:15:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "74572:4:10", + "nativeSrc": "74572:4:23", "nodeType": "YulLiteral", - "src": "74572:4:10", + "src": "74572:4:23", "type": "", "value": "0x60" }, { "kind": "number", - "nativeSrc": "74578:1:10", + "nativeSrc": "74578:1:23", "nodeType": "YulLiteral", - "src": "74578:1:10", + "src": "74578:1:23", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "74565:6:10", + "nativeSrc": "74565:6:23", "nodeType": "YulIdentifier", - "src": "74565:6:10" + "src": "74565:6:23" }, - "nativeSrc": "74565:15:10", + "nativeSrc": "74565:15:23", "nodeType": "YulFunctionCall", - "src": "74565:15:10" + "src": "74565:15:23" }, - "nativeSrc": "74565:15:10", + "nativeSrc": "74565:15:23", "nodeType": "YulExpressionStatement", - "src": "74565:15:10" + "src": "74565:15:23" } ] }, @@ -114619,66 +133594,66 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3900, + "declaration": 5506, "isOffset": false, "isSlot": false, - "src": "74271:14:10", + "src": "74271:14:23", "valueSize": 1 }, { - "declaration": 3903, + "declaration": 5509, "isOffset": false, "isSlot": false, - "src": "74302:8:10", + "src": "74302:8:23", "valueSize": 1 }, { - "declaration": 3903, + "declaration": 5509, "isOffset": false, "isSlot": false, - "src": "74362:8:10", + "src": "74362:8:23", "valueSize": 1 }, { - "declaration": 3898, + "declaration": 5504, "isOffset": false, "isSlot": false, - "src": "74321:5:10", + "src": "74321:5:23", "valueSize": 1 } ], - "id": 3905, + "id": 5511, "nodeType": "InlineAssembly", - "src": "65886:8730:10" + "src": "65886:8730:23" } ] }, "documentation": { - "id": 3896, + "id": 5502, "nodeType": "StructuredDocumentation", - "src": "65605:104:10", + "src": "65605:104:23", "text": "@dev Deploys a ERC1967I proxy with `implementation`.\n Deposits `value` ETH during deployment." }, - "id": 3907, + "id": 5513, "implemented": true, "kind": "function", "modifiers": [], "name": "deployERC1967I", - "nameLocation": "65723:14:10", + "nameLocation": "65723:14:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3901, + "id": 5507, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3898, + "id": 5504, "mutability": "mutable", "name": "value", - "nameLocation": "65746:5:10", + "nameLocation": "65746:5:23", "nodeType": "VariableDeclaration", - "scope": 3907, - "src": "65738:13:10", + "scope": 5513, + "src": "65738:13:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -114686,10 +133661,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3897, + "id": 5503, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "65738:7:10", + "src": "65738:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -114699,13 +133674,13 @@ }, { "constant": false, - "id": 3900, + "id": 5506, "mutability": "mutable", "name": "implementation", - "nameLocation": "65761:14:10", + "nameLocation": "65761:14:23", "nodeType": "VariableDeclaration", - "scope": 3907, - "src": "65753:22:10", + "scope": 5513, + "src": "65753:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -114713,10 +133688,10 @@ "typeString": "address" }, "typeName": { - "id": 3899, + "id": 5505, "name": "address", "nodeType": "ElementaryTypeName", - "src": "65753:7:10", + "src": "65753:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -114726,21 +133701,21 @@ "visibility": "internal" } ], - "src": "65737:39:10" + "src": "65737:39:23" }, "returnParameters": { - "id": 3904, + "id": 5510, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3903, + "id": 5509, "mutability": "mutable", "name": "instance", - "nameLocation": "65819:8:10", + "nameLocation": "65819:8:23", "nodeType": "VariableDeclaration", - "scope": 3907, - "src": "65811:16:10", + "scope": 5513, + "src": "65811:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -114748,10 +133723,10 @@ "typeString": "address" }, "typeName": { - "id": 3902, + "id": 5508, "name": "address", "nodeType": "ElementaryTypeName", - "src": "65811:7:10", + "src": "65811:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -114761,34 +133736,34 @@ "visibility": "internal" } ], - "src": "65810:18:10" + "src": "65810:18:23" }, - "scope": 5093, - "src": "65714:8908:10", + "scope": 6699, + "src": "65714:8908:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3925, + "id": 5531, "nodeType": "Block", - "src": "74845:80:10", + "src": "74845:80:23", "statements": [ { "expression": { - "id": 3923, + "id": 5529, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 3917, + "id": 5523, "name": "instance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3915, - "src": "74855:8:10", + "referencedDeclaration": 5521, + "src": "74855:8:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -114800,14 +133775,14 @@ "arguments": [ { "hexValue": "30", - "id": 3919, + "id": 5525, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "74894:1:10", + "src": "74894:1:23", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -114815,24 +133790,24 @@ "value": "0" }, { - "id": 3920, + "id": 5526, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3910, - "src": "74897:14:10", + "referencedDeclaration": 5516, + "src": "74897:14:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 3921, + "id": 5527, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3912, - "src": "74913:4:10", + "referencedDeclaration": 5518, + "src": "74913:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -114854,23 +133829,23 @@ "typeString": "bytes32" } ], - "id": 3918, + "id": 5524, "name": "deployDeterministicERC1967I", "nodeType": "Identifier", "overloadedDeclarations": [ - 3926, - 3940, - 4075, - 4091 + 5532, + 5546, + 5681, + 5697 ], - "referencedDeclaration": 3940, - "src": "74866:27:10", + "referencedDeclaration": 5546, + "src": "74866:27:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes32_$returns$_t_address_$", "typeString": "function (uint256,address,bytes32) returns (address)" } }, - "id": 3922, + "id": 5528, "isConstant": false, "isLValue": false, "isPure": false, @@ -114879,51 +133854,51 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "74866:52:10", + "src": "74866:52:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "74855:63:10", + "src": "74855:63:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 3924, + "id": 5530, "nodeType": "ExpressionStatement", - "src": "74855:63:10" + "src": "74855:63:23" } ] }, "documentation": { - "id": 3908, + "id": 5514, "nodeType": "StructuredDocumentation", - "src": "74628:81:10", + "src": "74628:81:23", "text": "@dev Deploys a deterministic ERC1967I proxy with `implementation` and `salt`." }, - "id": 3926, + "id": 5532, "implemented": true, "kind": "function", "modifiers": [], "name": "deployDeterministicERC1967I", - "nameLocation": "74723:27:10", + "nameLocation": "74723:27:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3913, + "id": 5519, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3910, + "id": 5516, "mutability": "mutable", "name": "implementation", - "nameLocation": "74759:14:10", + "nameLocation": "74759:14:23", "nodeType": "VariableDeclaration", - "scope": 3926, - "src": "74751:22:10", + "scope": 5532, + "src": "74751:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -114931,10 +133906,10 @@ "typeString": "address" }, "typeName": { - "id": 3909, + "id": 5515, "name": "address", "nodeType": "ElementaryTypeName", - "src": "74751:7:10", + "src": "74751:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -114945,13 +133920,13 @@ }, { "constant": false, - "id": 3912, + "id": 5518, "mutability": "mutable", "name": "salt", - "nameLocation": "74783:4:10", + "nameLocation": "74783:4:23", "nodeType": "VariableDeclaration", - "scope": 3926, - "src": "74775:12:10", + "scope": 5532, + "src": "74775:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -114959,10 +133934,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 3911, + "id": 5517, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "74775:7:10", + "src": "74775:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -114971,21 +133946,21 @@ "visibility": "internal" } ], - "src": "74750:38:10" + "src": "74750:38:23" }, "returnParameters": { - "id": 3916, + "id": 5522, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3915, + "id": 5521, "mutability": "mutable", "name": "instance", - "nameLocation": "74831:8:10", + "nameLocation": "74831:8:23", "nodeType": "VariableDeclaration", - "scope": 3926, - "src": "74823:16:10", + "scope": 5532, + "src": "74823:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -114993,10 +133968,10 @@ "typeString": "address" }, "typeName": { - "id": 3914, + "id": 5520, "name": "address", "nodeType": "ElementaryTypeName", - "src": "74823:7:10", + "src": "74823:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -115006,57 +133981,57 @@ "visibility": "internal" } ], - "src": "74822:18:10" + "src": "74822:18:23" }, - "scope": 5093, - "src": "74714:211:10", + "scope": 6699, + "src": "74714:211:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3939, + "id": 5545, "nodeType": "Block", - "src": "75211:826:10", + "src": "75211:826:23", "statements": [ { "AST": { - "nativeSrc": "75273:758:10", + "nativeSrc": "75273:758:23", "nodeType": "YulBlock", - "src": "75273:758:10", + "src": "75273:758:23", "statements": [ { - "nativeSrc": "75287:20:10", + "nativeSrc": "75287:20:23", "nodeType": "YulVariableDeclaration", - "src": "75287:20:10", + "src": "75287:20:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "75302:4:10", + "nativeSrc": "75302:4:23", "nodeType": "YulLiteral", - "src": "75302:4:10", + "src": "75302:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "75296:5:10", + "nativeSrc": "75296:5:23", "nodeType": "YulIdentifier", - "src": "75296:5:10" + "src": "75296:5:23" }, - "nativeSrc": "75296:11:10", + "nativeSrc": "75296:11:23", "nodeType": "YulFunctionCall", - "src": "75296:11:10" + "src": "75296:11:23" }, "variables": [ { "name": "m", - "nativeSrc": "75291:1:10", + "nativeSrc": "75291:1:23", "nodeType": "YulTypedName", - "src": "75291:1:10", + "src": "75291:1:23", "type": "" } ] @@ -115066,111 +134041,111 @@ "arguments": [ { "kind": "number", - "nativeSrc": "75361:4:10", + "nativeSrc": "75361:4:23", "nodeType": "YulLiteral", - "src": "75361:4:10", + "src": "75361:4:23", "type": "", "value": "0x60" }, { "kind": "number", - "nativeSrc": "75367:66:10", + "nativeSrc": "75367:66:23", "nodeType": "YulLiteral", - "src": "75367:66:10", + "src": "75367:66:23", "type": "", "value": "0x3d6000803e603e573d6000fd5b3d6000f35b6020600f3d393d51543d52593df3" } ], "functionName": { "name": "mstore", - "nativeSrc": "75354:6:10", + "nativeSrc": "75354:6:23", "nodeType": "YulIdentifier", - "src": "75354:6:10" + "src": "75354:6:23" }, - "nativeSrc": "75354:80:10", + "nativeSrc": "75354:80:23", "nodeType": "YulFunctionCall", - "src": "75354:80:10" + "src": "75354:80:23" }, - "nativeSrc": "75354:80:10", + "nativeSrc": "75354:80:23", "nodeType": "YulExpressionStatement", - "src": "75354:80:10" + "src": "75354:80:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "75454:4:10", + "nativeSrc": "75454:4:23", "nodeType": "YulLiteral", - "src": "75454:4:10", + "src": "75454:4:23", "type": "", "value": "0x40" }, { "kind": "number", - "nativeSrc": "75460:66:10", + "nativeSrc": "75460:66:23", "nodeType": "YulLiteral", - "src": "75460:66:10", + "src": "75460:66:23", "type": "", "value": "0xa13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af4" } ], "functionName": { "name": "mstore", - "nativeSrc": "75447:6:10", + "nativeSrc": "75447:6:23", "nodeType": "YulIdentifier", - "src": "75447:6:10" + "src": "75447:6:23" }, - "nativeSrc": "75447:80:10", + "nativeSrc": "75447:80:23", "nodeType": "YulFunctionCall", - "src": "75447:80:10" + "src": "75447:80:23" }, - "nativeSrc": "75447:80:10", + "nativeSrc": "75447:80:23", "nodeType": "YulExpressionStatement", - "src": "75447:80:10" + "src": "75447:80:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "75547:4:10", + "nativeSrc": "75547:4:23", "nodeType": "YulLiteral", - "src": "75547:4:10", + "src": "75547:4:23", "type": "", "value": "0x20" }, { "kind": "number", - "nativeSrc": "75553:48:10", + "nativeSrc": "75553:48:23", "nodeType": "YulLiteral", - "src": "75553:48:10", + "src": "75553:48:23", "type": "", "value": "0x600f5155f3365814604357363d3d373d3d363d7f360894" } ], "functionName": { "name": "mstore", - "nativeSrc": "75540:6:10", + "nativeSrc": "75540:6:23", "nodeType": "YulIdentifier", - "src": "75540:6:10" + "src": "75540:6:23" }, - "nativeSrc": "75540:62:10", + "nativeSrc": "75540:62:23", "nodeType": "YulFunctionCall", - "src": "75540:62:10" + "src": "75540:62:23" }, - "nativeSrc": "75540:62:10", + "nativeSrc": "75540:62:23", "nodeType": "YulExpressionStatement", - "src": "75540:62:10" + "src": "75540:62:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "75622:4:10", + "nativeSrc": "75622:4:23", "nodeType": "YulLiteral", - "src": "75622:4:10", + "src": "75622:4:23", "type": "", "value": "0x09" }, @@ -115180,38 +134155,38 @@ "arguments": [ { "kind": "number", - "nativeSrc": "75635:3:10", + "nativeSrc": "75635:3:23", "nodeType": "YulLiteral", - "src": "75635:3:10", + "src": "75635:3:23", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "75640:20:10", + "nativeSrc": "75640:20:23", "nodeType": "YulLiteral", - "src": "75640:20:10", + "src": "75640:20:23", "type": "", "value": "0x60523d8160223d3973" } ], "functionName": { "name": "shl", - "nativeSrc": "75631:3:10", + "nativeSrc": "75631:3:23", "nodeType": "YulIdentifier", - "src": "75631:3:10" + "src": "75631:3:23" }, - "nativeSrc": "75631:30:10", + "nativeSrc": "75631:30:23", "nodeType": "YulFunctionCall", - "src": "75631:30:10" + "src": "75631:30:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "75667:2:10", + "nativeSrc": "75667:2:23", "nodeType": "YulLiteral", - "src": "75667:2:10", + "src": "75667:2:23", "type": "", "value": "96" }, @@ -115219,193 +134194,193 @@ "arguments": [ { "kind": "number", - "nativeSrc": "75675:2:10", + "nativeSrc": "75675:2:23", "nodeType": "YulLiteral", - "src": "75675:2:10", + "src": "75675:2:23", "type": "", "value": "96" }, { "name": "implementation", - "nativeSrc": "75679:14:10", + "nativeSrc": "75679:14:23", "nodeType": "YulIdentifier", - "src": "75679:14:10" + "src": "75679:14:23" } ], "functionName": { "name": "shl", - "nativeSrc": "75671:3:10", + "nativeSrc": "75671:3:23", "nodeType": "YulIdentifier", - "src": "75671:3:10" + "src": "75671:3:23" }, - "nativeSrc": "75671:23:10", + "nativeSrc": "75671:23:23", "nodeType": "YulFunctionCall", - "src": "75671:23:10" + "src": "75671:23:23" } ], "functionName": { "name": "shr", - "nativeSrc": "75663:3:10", + "nativeSrc": "75663:3:23", "nodeType": "YulIdentifier", - "src": "75663:3:10" + "src": "75663:3:23" }, - "nativeSrc": "75663:32:10", + "nativeSrc": "75663:32:23", "nodeType": "YulFunctionCall", - "src": "75663:32:10" + "src": "75663:32:23" } ], "functionName": { "name": "or", - "nativeSrc": "75628:2:10", + "nativeSrc": "75628:2:23", "nodeType": "YulIdentifier", - "src": "75628:2:10" + "src": "75628:2:23" }, - "nativeSrc": "75628:68:10", + "nativeSrc": "75628:68:23", "nodeType": "YulFunctionCall", - "src": "75628:68:10" + "src": "75628:68:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "75615:6:10", + "nativeSrc": "75615:6:23", "nodeType": "YulIdentifier", - "src": "75615:6:10" + "src": "75615:6:23" }, - "nativeSrc": "75615:82:10", + "nativeSrc": "75615:82:23", "nodeType": "YulFunctionCall", - "src": "75615:82:10" + "src": "75615:82:23" }, - "nativeSrc": "75615:82:10", + "nativeSrc": "75615:82:23", "nodeType": "YulExpressionStatement", - "src": "75615:82:10" + "src": "75615:82:23" }, { - "nativeSrc": "75710:44:10", + "nativeSrc": "75710:44:23", "nodeType": "YulAssignment", - "src": "75710:44:10", + "src": "75710:44:23", "value": { "arguments": [ { "name": "value", - "nativeSrc": "75730:5:10", + "nativeSrc": "75730:5:23", "nodeType": "YulIdentifier", - "src": "75730:5:10" + "src": "75730:5:23" }, { "kind": "number", - "nativeSrc": "75737:4:10", + "nativeSrc": "75737:4:23", "nodeType": "YulLiteral", - "src": "75737:4:10", + "src": "75737:4:23", "type": "", "value": "0x0c" }, { "kind": "number", - "nativeSrc": "75743:4:10", + "nativeSrc": "75743:4:23", "nodeType": "YulLiteral", - "src": "75743:4:10", + "src": "75743:4:23", "type": "", "value": "0x74" }, { "name": "salt", - "nativeSrc": "75749:4:10", + "nativeSrc": "75749:4:23", "nodeType": "YulIdentifier", - "src": "75749:4:10" + "src": "75749:4:23" } ], "functionName": { "name": "create2", - "nativeSrc": "75722:7:10", + "nativeSrc": "75722:7:23", "nodeType": "YulIdentifier", - "src": "75722:7:10" + "src": "75722:7:23" }, - "nativeSrc": "75722:32:10", + "nativeSrc": "75722:32:23", "nodeType": "YulFunctionCall", - "src": "75722:32:10" + "src": "75722:32:23" }, "variableNames": [ { "name": "instance", - "nativeSrc": "75710:8:10", + "nativeSrc": "75710:8:23", "nodeType": "YulIdentifier", - "src": "75710:8:10" + "src": "75710:8:23" } ] }, { "body": { - "nativeSrc": "75787:116:10", + "nativeSrc": "75787:116:23", "nodeType": "YulBlock", - "src": "75787:116:10", + "src": "75787:116:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "75812:4:10", + "nativeSrc": "75812:4:23", "nodeType": "YulLiteral", - "src": "75812:4:10", + "src": "75812:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "75818:10:10", + "nativeSrc": "75818:10:23", "nodeType": "YulLiteral", - "src": "75818:10:10", + "src": "75818:10:23", "type": "", "value": "0x30116425" } ], "functionName": { "name": "mstore", - "nativeSrc": "75805:6:10", + "nativeSrc": "75805:6:23", "nodeType": "YulIdentifier", - "src": "75805:6:10" + "src": "75805:6:23" }, - "nativeSrc": "75805:24:10", + "nativeSrc": "75805:24:23", "nodeType": "YulFunctionCall", - "src": "75805:24:10" + "src": "75805:24:23" }, - "nativeSrc": "75805:24:10", + "nativeSrc": "75805:24:23", "nodeType": "YulExpressionStatement", - "src": "75805:24:10" + "src": "75805:24:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "75878:4:10", + "nativeSrc": "75878:4:23", "nodeType": "YulLiteral", - "src": "75878:4:10", + "src": "75878:4:23", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "75884:4:10", + "nativeSrc": "75884:4:23", "nodeType": "YulLiteral", - "src": "75884:4:10", + "src": "75884:4:23", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "75871:6:10", + "nativeSrc": "75871:6:23", "nodeType": "YulIdentifier", - "src": "75871:6:10" + "src": "75871:6:23" }, - "nativeSrc": "75871:18:10", + "nativeSrc": "75871:18:23", "nodeType": "YulFunctionCall", - "src": "75871:18:10" + "src": "75871:18:23" }, - "nativeSrc": "75871:18:10", + "nativeSrc": "75871:18:23", "nodeType": "YulExpressionStatement", - "src": "75871:18:10" + "src": "75871:18:23" } ] }, @@ -115413,90 +134388,90 @@ "arguments": [ { "name": "instance", - "nativeSrc": "75777:8:10", + "nativeSrc": "75777:8:23", "nodeType": "YulIdentifier", - "src": "75777:8:10" + "src": "75777:8:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "75770:6:10", + "nativeSrc": "75770:6:23", "nodeType": "YulIdentifier", - "src": "75770:6:10" + "src": "75770:6:23" }, - "nativeSrc": "75770:16:10", + "nativeSrc": "75770:16:23", "nodeType": "YulFunctionCall", - "src": "75770:16:10" + "src": "75770:16:23" }, - "nativeSrc": "75767:136:10", + "nativeSrc": "75767:136:23", "nodeType": "YulIf", - "src": "75767:136:10" + "src": "75767:136:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "75923:4:10", + "nativeSrc": "75923:4:23", "nodeType": "YulLiteral", - "src": "75923:4:10", + "src": "75923:4:23", "type": "", "value": "0x40" }, { "name": "m", - "nativeSrc": "75929:1:10", + "nativeSrc": "75929:1:23", "nodeType": "YulIdentifier", - "src": "75929:1:10" + "src": "75929:1:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "75916:6:10", + "nativeSrc": "75916:6:23", "nodeType": "YulIdentifier", - "src": "75916:6:10" + "src": "75916:6:23" }, - "nativeSrc": "75916:15:10", + "nativeSrc": "75916:15:23", "nodeType": "YulFunctionCall", - "src": "75916:15:10" + "src": "75916:15:23" }, - "nativeSrc": "75916:15:10", + "nativeSrc": "75916:15:23", "nodeType": "YulExpressionStatement", - "src": "75916:15:10" + "src": "75916:15:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "75987:4:10", + "nativeSrc": "75987:4:23", "nodeType": "YulLiteral", - "src": "75987:4:10", + "src": "75987:4:23", "type": "", "value": "0x60" }, { "kind": "number", - "nativeSrc": "75993:1:10", + "nativeSrc": "75993:1:23", "nodeType": "YulLiteral", - "src": "75993:1:10", + "src": "75993:1:23", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "75980:6:10", + "nativeSrc": "75980:6:23", "nodeType": "YulIdentifier", - "src": "75980:6:10" + "src": "75980:6:23" }, - "nativeSrc": "75980:15:10", + "nativeSrc": "75980:15:23", "nodeType": "YulFunctionCall", - "src": "75980:15:10" + "src": "75980:15:23" }, - "nativeSrc": "75980:15:10", + "nativeSrc": "75980:15:23", "nodeType": "YulExpressionStatement", - "src": "75980:15:10" + "src": "75980:15:23" } ] }, @@ -115504,73 +134479,73 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3931, + "declaration": 5537, "isOffset": false, "isSlot": false, - "src": "75679:14:10", + "src": "75679:14:23", "valueSize": 1 }, { - "declaration": 3936, + "declaration": 5542, "isOffset": false, "isSlot": false, - "src": "75710:8:10", + "src": "75710:8:23", "valueSize": 1 }, { - "declaration": 3936, + "declaration": 5542, "isOffset": false, "isSlot": false, - "src": "75777:8:10", + "src": "75777:8:23", "valueSize": 1 }, { - "declaration": 3933, + "declaration": 5539, "isOffset": false, "isSlot": false, - "src": "75749:4:10", + "src": "75749:4:23", "valueSize": 1 }, { - "declaration": 3929, + "declaration": 5535, "isOffset": false, "isSlot": false, - "src": "75730:5:10", + "src": "75730:5:23", "valueSize": 1 } ], - "id": 3938, + "id": 5544, "nodeType": "InlineAssembly", - "src": "75264:767:10" + "src": "75264:767:23" } ] }, "documentation": { - "id": 3927, + "id": 5533, "nodeType": "StructuredDocumentation", - "src": "74931:129:10", + "src": "74931:129:23", "text": "@dev Deploys a deterministic ERC1967I proxy with `implementation` and `salt`.\n Deposits `value` ETH during deployment." }, - "id": 3940, + "id": 5546, "implemented": true, "kind": "function", "modifiers": [], "name": "deployDeterministicERC1967I", - "nameLocation": "75074:27:10", + "nameLocation": "75074:27:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3934, + "id": 5540, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3929, + "id": 5535, "mutability": "mutable", "name": "value", - "nameLocation": "75110:5:10", + "nameLocation": "75110:5:23", "nodeType": "VariableDeclaration", - "scope": 3940, - "src": "75102:13:10", + "scope": 5546, + "src": "75102:13:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -115578,10 +134553,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3928, + "id": 5534, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "75102:7:10", + "src": "75102:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -115591,13 +134566,13 @@ }, { "constant": false, - "id": 3931, + "id": 5537, "mutability": "mutable", "name": "implementation", - "nameLocation": "75125:14:10", + "nameLocation": "75125:14:23", "nodeType": "VariableDeclaration", - "scope": 3940, - "src": "75117:22:10", + "scope": 5546, + "src": "75117:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -115605,10 +134580,10 @@ "typeString": "address" }, "typeName": { - "id": 3930, + "id": 5536, "name": "address", "nodeType": "ElementaryTypeName", - "src": "75117:7:10", + "src": "75117:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -115619,13 +134594,13 @@ }, { "constant": false, - "id": 3933, + "id": 5539, "mutability": "mutable", "name": "salt", - "nameLocation": "75149:4:10", + "nameLocation": "75149:4:23", "nodeType": "VariableDeclaration", - "scope": 3940, - "src": "75141:12:10", + "scope": 5546, + "src": "75141:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -115633,10 +134608,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 3932, + "id": 5538, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "75141:7:10", + "src": "75141:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -115645,21 +134620,21 @@ "visibility": "internal" } ], - "src": "75101:53:10" + "src": "75101:53:23" }, "returnParameters": { - "id": 3937, + "id": 5543, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3936, + "id": 5542, "mutability": "mutable", "name": "instance", - "nameLocation": "75197:8:10", + "nameLocation": "75197:8:23", "nodeType": "VariableDeclaration", - "scope": 3940, - "src": "75189:16:10", + "scope": 5546, + "src": "75189:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -115667,10 +134642,10 @@ "typeString": "address" }, "typeName": { - "id": 3935, + "id": 5541, "name": "address", "nodeType": "ElementaryTypeName", - "src": "75189:7:10", + "src": "75189:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -115680,33 +134655,33 @@ "visibility": "internal" } ], - "src": "75188:18:10" + "src": "75188:18:23" }, - "scope": 5093, - "src": "75065:972:10", + "scope": 6699, + "src": "75065:972:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3958, + "id": 5564, "nodeType": "Block", - "src": "76425:76:10", + "src": "76425:76:23", "statements": [ { "expression": { "arguments": [ { "hexValue": "30", - "id": 3953, + "id": 5559, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "76470:1:10", + "src": "76470:1:23", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -115714,24 +134689,24 @@ "value": "0" }, { - "id": 3954, + "id": 5560, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3943, - "src": "76473:14:10", + "referencedDeclaration": 5549, + "src": "76473:14:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 3955, + "id": 5561, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3945, - "src": "76489:4:10", + "referencedDeclaration": 5551, + "src": "76489:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -115753,23 +134728,23 @@ "typeString": "bytes32" } ], - "id": 3952, + "id": 5558, "name": "createDeterministicERC1967I", "nodeType": "Identifier", "overloadedDeclarations": [ - 3959, - 3975, - 4113, - 4131 + 5565, + 5581, + 5719, + 5737 ], - "referencedDeclaration": 3975, - "src": "76442:27:10", + "referencedDeclaration": 5581, + "src": "76442:27:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes32_$returns$_t_bool_$_t_address_$", "typeString": "function (uint256,address,bytes32) returns (bool,address)" } }, - "id": 3956, + "id": 5562, "isConstant": false, "isLValue": false, "isPure": false, @@ -115778,46 +134753,46 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "76442:52:10", + "src": "76442:52:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_address_$", "typeString": "tuple(bool,address)" } }, - "functionReturnParameters": 3951, - "id": 3957, + "functionReturnParameters": 5557, + "id": 5563, "nodeType": "Return", - "src": "76435:59:10" + "src": "76435:59:23" } ] }, "documentation": { - "id": 3941, + "id": 5547, "nodeType": "StructuredDocumentation", - "src": "76043:224:10", + "src": "76043:224:23", "text": "@dev Creates a deterministic ERC1967I proxy with `implementation` and `salt`.\n Note: This method is intended for use in ERC4337 factories,\n which are expected to NOT revert if the proxy is already deployed." }, - "id": 3959, + "id": 5565, "implemented": true, "kind": "function", "modifiers": [], "name": "createDeterministicERC1967I", - "nameLocation": "76281:27:10", + "nameLocation": "76281:27:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3946, + "id": 5552, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3943, + "id": 5549, "mutability": "mutable", "name": "implementation", - "nameLocation": "76317:14:10", + "nameLocation": "76317:14:23", "nodeType": "VariableDeclaration", - "scope": 3959, - "src": "76309:22:10", + "scope": 5565, + "src": "76309:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -115825,10 +134800,10 @@ "typeString": "address" }, "typeName": { - "id": 3942, + "id": 5548, "name": "address", "nodeType": "ElementaryTypeName", - "src": "76309:7:10", + "src": "76309:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -115839,13 +134814,13 @@ }, { "constant": false, - "id": 3945, + "id": 5551, "mutability": "mutable", "name": "salt", - "nameLocation": "76341:4:10", + "nameLocation": "76341:4:23", "nodeType": "VariableDeclaration", - "scope": 3959, - "src": "76333:12:10", + "scope": 5565, + "src": "76333:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -115853,10 +134828,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 3944, + "id": 5550, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "76333:7:10", + "src": "76333:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -115865,21 +134840,21 @@ "visibility": "internal" } ], - "src": "76308:38:10" + "src": "76308:38:23" }, "returnParameters": { - "id": 3951, + "id": 5557, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3948, + "id": 5554, "mutability": "mutable", "name": "alreadyDeployed", - "nameLocation": "76386:15:10", + "nameLocation": "76386:15:23", "nodeType": "VariableDeclaration", - "scope": 3959, - "src": "76381:20:10", + "scope": 5565, + "src": "76381:20:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -115887,10 +134862,10 @@ "typeString": "bool" }, "typeName": { - "id": 3947, + "id": 5553, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "76381:4:10", + "src": "76381:4:23", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -115900,13 +134875,13 @@ }, { "constant": false, - "id": 3950, + "id": 5556, "mutability": "mutable", "name": "instance", - "nameLocation": "76411:8:10", + "nameLocation": "76411:8:23", "nodeType": "VariableDeclaration", - "scope": 3959, - "src": "76403:16:10", + "scope": 5565, + "src": "76403:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -115914,10 +134889,10 @@ "typeString": "address" }, "typeName": { - "id": 3949, + "id": 5555, "name": "address", "nodeType": "ElementaryTypeName", - "src": "76403:7:10", + "src": "76403:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -115927,57 +134902,57 @@ "visibility": "internal" } ], - "src": "76380:40:10" + "src": "76380:40:23" }, - "scope": 5093, - "src": "76272:229:10", + "scope": 6699, + "src": "76272:229:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3974, + "id": 5580, "nodeType": "Block", - "src": "76952:1607:10", + "src": "76952:1607:23", "statements": [ { "AST": { - "nativeSrc": "77014:1539:10", + "nativeSrc": "77014:1539:23", "nodeType": "YulBlock", - "src": "77014:1539:10", + "src": "77014:1539:23", "statements": [ { - "nativeSrc": "77028:20:10", + "nativeSrc": "77028:20:23", "nodeType": "YulVariableDeclaration", - "src": "77028:20:10", + "src": "77028:20:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "77043:4:10", + "nativeSrc": "77043:4:23", "nodeType": "YulLiteral", - "src": "77043:4:10", + "src": "77043:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "77037:5:10", + "nativeSrc": "77037:5:23", "nodeType": "YulIdentifier", - "src": "77037:5:10" + "src": "77037:5:23" }, - "nativeSrc": "77037:11:10", + "nativeSrc": "77037:11:23", "nodeType": "YulFunctionCall", - "src": "77037:11:10" + "src": "77037:11:23" }, "variables": [ { "name": "m", - "nativeSrc": "77032:1:10", + "nativeSrc": "77032:1:23", "nodeType": "YulTypedName", - "src": "77032:1:10", + "src": "77032:1:23", "type": "" } ] @@ -115987,111 +134962,111 @@ "arguments": [ { "kind": "number", - "nativeSrc": "77102:4:10", + "nativeSrc": "77102:4:23", "nodeType": "YulLiteral", - "src": "77102:4:10", + "src": "77102:4:23", "type": "", "value": "0x60" }, { "kind": "number", - "nativeSrc": "77108:66:10", + "nativeSrc": "77108:66:23", "nodeType": "YulLiteral", - "src": "77108:66:10", + "src": "77108:66:23", "type": "", "value": "0x3d6000803e603e573d6000fd5b3d6000f35b6020600f3d393d51543d52593df3" } ], "functionName": { "name": "mstore", - "nativeSrc": "77095:6:10", + "nativeSrc": "77095:6:23", "nodeType": "YulIdentifier", - "src": "77095:6:10" + "src": "77095:6:23" }, - "nativeSrc": "77095:80:10", + "nativeSrc": "77095:80:23", "nodeType": "YulFunctionCall", - "src": "77095:80:10" + "src": "77095:80:23" }, - "nativeSrc": "77095:80:10", + "nativeSrc": "77095:80:23", "nodeType": "YulExpressionStatement", - "src": "77095:80:10" + "src": "77095:80:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "77195:4:10", + "nativeSrc": "77195:4:23", "nodeType": "YulLiteral", - "src": "77195:4:10", + "src": "77195:4:23", "type": "", "value": "0x40" }, { "kind": "number", - "nativeSrc": "77201:66:10", + "nativeSrc": "77201:66:23", "nodeType": "YulLiteral", - "src": "77201:66:10", + "src": "77201:66:23", "type": "", "value": "0xa13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af4" } ], "functionName": { "name": "mstore", - "nativeSrc": "77188:6:10", + "nativeSrc": "77188:6:23", "nodeType": "YulIdentifier", - "src": "77188:6:10" + "src": "77188:6:23" }, - "nativeSrc": "77188:80:10", + "nativeSrc": "77188:80:23", "nodeType": "YulFunctionCall", - "src": "77188:80:10" + "src": "77188:80:23" }, - "nativeSrc": "77188:80:10", + "nativeSrc": "77188:80:23", "nodeType": "YulExpressionStatement", - "src": "77188:80:10" + "src": "77188:80:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "77288:4:10", + "nativeSrc": "77288:4:23", "nodeType": "YulLiteral", - "src": "77288:4:10", + "src": "77288:4:23", "type": "", "value": "0x20" }, { "kind": "number", - "nativeSrc": "77294:48:10", + "nativeSrc": "77294:48:23", "nodeType": "YulLiteral", - "src": "77294:48:10", + "src": "77294:48:23", "type": "", "value": "0x600f5155f3365814604357363d3d373d3d363d7f360894" } ], "functionName": { "name": "mstore", - "nativeSrc": "77281:6:10", + "nativeSrc": "77281:6:23", "nodeType": "YulIdentifier", - "src": "77281:6:10" + "src": "77281:6:23" }, - "nativeSrc": "77281:62:10", + "nativeSrc": "77281:62:23", "nodeType": "YulFunctionCall", - "src": "77281:62:10" + "src": "77281:62:23" }, - "nativeSrc": "77281:62:10", + "nativeSrc": "77281:62:23", "nodeType": "YulExpressionStatement", - "src": "77281:62:10" + "src": "77281:62:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "77363:4:10", + "nativeSrc": "77363:4:23", "nodeType": "YulLiteral", - "src": "77363:4:10", + "src": "77363:4:23", "type": "", "value": "0x09" }, @@ -116101,38 +135076,38 @@ "arguments": [ { "kind": "number", - "nativeSrc": "77376:3:10", + "nativeSrc": "77376:3:23", "nodeType": "YulLiteral", - "src": "77376:3:10", + "src": "77376:3:23", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "77381:20:10", + "nativeSrc": "77381:20:23", "nodeType": "YulLiteral", - "src": "77381:20:10", + "src": "77381:20:23", "type": "", "value": "0x60523d8160223d3973" } ], "functionName": { "name": "shl", - "nativeSrc": "77372:3:10", + "nativeSrc": "77372:3:23", "nodeType": "YulIdentifier", - "src": "77372:3:10" + "src": "77372:3:23" }, - "nativeSrc": "77372:30:10", + "nativeSrc": "77372:30:23", "nodeType": "YulFunctionCall", - "src": "77372:30:10" + "src": "77372:30:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "77408:2:10", + "nativeSrc": "77408:2:23", "nodeType": "YulLiteral", - "src": "77408:2:10", + "src": "77408:2:23", "type": "", "value": "96" }, @@ -116140,65 +135115,65 @@ "arguments": [ { "kind": "number", - "nativeSrc": "77416:2:10", + "nativeSrc": "77416:2:23", "nodeType": "YulLiteral", - "src": "77416:2:10", + "src": "77416:2:23", "type": "", "value": "96" }, { "name": "implementation", - "nativeSrc": "77420:14:10", + "nativeSrc": "77420:14:23", "nodeType": "YulIdentifier", - "src": "77420:14:10" + "src": "77420:14:23" } ], "functionName": { "name": "shl", - "nativeSrc": "77412:3:10", + "nativeSrc": "77412:3:23", "nodeType": "YulIdentifier", - "src": "77412:3:10" + "src": "77412:3:23" }, - "nativeSrc": "77412:23:10", + "nativeSrc": "77412:23:23", "nodeType": "YulFunctionCall", - "src": "77412:23:10" + "src": "77412:23:23" } ], "functionName": { "name": "shr", - "nativeSrc": "77404:3:10", + "nativeSrc": "77404:3:23", "nodeType": "YulIdentifier", - "src": "77404:3:10" + "src": "77404:3:23" }, - "nativeSrc": "77404:32:10", + "nativeSrc": "77404:32:23", "nodeType": "YulFunctionCall", - "src": "77404:32:10" + "src": "77404:32:23" } ], "functionName": { "name": "or", - "nativeSrc": "77369:2:10", + "nativeSrc": "77369:2:23", "nodeType": "YulIdentifier", - "src": "77369:2:10" + "src": "77369:2:23" }, - "nativeSrc": "77369:68:10", + "nativeSrc": "77369:68:23", "nodeType": "YulFunctionCall", - "src": "77369:68:10" + "src": "77369:68:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "77356:6:10", + "nativeSrc": "77356:6:23", "nodeType": "YulIdentifier", - "src": "77356:6:10" + "src": "77356:6:23" }, - "nativeSrc": "77356:82:10", + "nativeSrc": "77356:82:23", "nodeType": "YulFunctionCall", - "src": "77356:82:10" + "src": "77356:82:23" }, - "nativeSrc": "77356:82:10", + "nativeSrc": "77356:82:23", "nodeType": "YulExpressionStatement", - "src": "77356:82:10" + "src": "77356:82:23" }, { "expression": { @@ -116207,89 +135182,89 @@ "arguments": [ { "name": "m", - "nativeSrc": "77514:1:10", + "nativeSrc": "77514:1:23", "nodeType": "YulIdentifier", - "src": "77514:1:10" + "src": "77514:1:23" }, { "kind": "number", - "nativeSrc": "77517:4:10", + "nativeSrc": "77517:4:23", "nodeType": "YulLiteral", - "src": "77517:4:10", + "src": "77517:4:23", "type": "", "value": "0x35" } ], "functionName": { "name": "add", - "nativeSrc": "77510:3:10", + "nativeSrc": "77510:3:23", "nodeType": "YulIdentifier", - "src": "77510:3:10" + "src": "77510:3:23" }, - "nativeSrc": "77510:12:10", + "nativeSrc": "77510:12:23", "nodeType": "YulFunctionCall", - "src": "77510:12:10" + "src": "77510:12:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "77534:4:10", + "nativeSrc": "77534:4:23", "nodeType": "YulLiteral", - "src": "77534:4:10", + "src": "77534:4:23", "type": "", "value": "0x0c" }, { "kind": "number", - "nativeSrc": "77540:4:10", + "nativeSrc": "77540:4:23", "nodeType": "YulLiteral", - "src": "77540:4:10", + "src": "77540:4:23", "type": "", "value": "0x74" } ], "functionName": { "name": "keccak256", - "nativeSrc": "77524:9:10", + "nativeSrc": "77524:9:23", "nodeType": "YulIdentifier", - "src": "77524:9:10" + "src": "77524:9:23" }, - "nativeSrc": "77524:21:10", + "nativeSrc": "77524:21:23", "nodeType": "YulFunctionCall", - "src": "77524:21:10" + "src": "77524:21:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "77503:6:10", + "nativeSrc": "77503:6:23", "nodeType": "YulIdentifier", - "src": "77503:6:10" + "src": "77503:6:23" }, - "nativeSrc": "77503:43:10", + "nativeSrc": "77503:43:23", "nodeType": "YulFunctionCall", - "src": "77503:43:10" + "src": "77503:43:23" }, - "nativeSrc": "77503:43:10", + "nativeSrc": "77503:43:23", "nodeType": "YulExpressionStatement", - "src": "77503:43:10" + "src": "77503:43:23" }, { "expression": { "arguments": [ { "name": "m", - "nativeSrc": "77566:1:10", + "nativeSrc": "77566:1:23", "nodeType": "YulIdentifier", - "src": "77566:1:10" + "src": "77566:1:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "77573:2:10", + "nativeSrc": "77573:2:23", "nodeType": "YulLiteral", - "src": "77573:2:10", + "src": "77573:2:23", "type": "", "value": "88" }, @@ -116297,71 +135272,71 @@ "arguments": [], "functionName": { "name": "address", - "nativeSrc": "77577:7:10", + "nativeSrc": "77577:7:23", "nodeType": "YulIdentifier", - "src": "77577:7:10" + "src": "77577:7:23" }, - "nativeSrc": "77577:9:10", + "nativeSrc": "77577:9:23", "nodeType": "YulFunctionCall", - "src": "77577:9:10" + "src": "77577:9:23" } ], "functionName": { "name": "shl", - "nativeSrc": "77569:3:10", + "nativeSrc": "77569:3:23", "nodeType": "YulIdentifier", - "src": "77569:3:10" + "src": "77569:3:23" }, - "nativeSrc": "77569:18:10", + "nativeSrc": "77569:18:23", "nodeType": "YulFunctionCall", - "src": "77569:18:10" + "src": "77569:18:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "77559:6:10", + "nativeSrc": "77559:6:23", "nodeType": "YulIdentifier", - "src": "77559:6:10" + "src": "77559:6:23" }, - "nativeSrc": "77559:29:10", + "nativeSrc": "77559:29:23", "nodeType": "YulFunctionCall", - "src": "77559:29:10" + "src": "77559:29:23" }, - "nativeSrc": "77559:29:10", + "nativeSrc": "77559:29:23", "nodeType": "YulExpressionStatement", - "src": "77559:29:10" + "src": "77559:29:23" }, { "expression": { "arguments": [ { "name": "m", - "nativeSrc": "77609:1:10", + "nativeSrc": "77609:1:23", "nodeType": "YulIdentifier", - "src": "77609:1:10" + "src": "77609:1:23" }, { "kind": "number", - "nativeSrc": "77612:4:10", + "nativeSrc": "77612:4:23", "nodeType": "YulLiteral", - "src": "77612:4:10", + "src": "77612:4:23", "type": "", "value": "0xff" } ], "functionName": { "name": "mstore8", - "nativeSrc": "77601:7:10", + "nativeSrc": "77601:7:23", "nodeType": "YulIdentifier", - "src": "77601:7:10" + "src": "77601:7:23" }, - "nativeSrc": "77601:16:10", + "nativeSrc": "77601:16:23", "nodeType": "YulFunctionCall", - "src": "77601:16:10" + "src": "77601:16:23" }, - "nativeSrc": "77601:16:10", + "nativeSrc": "77601:16:23", "nodeType": "YulExpressionStatement", - "src": "77601:16:10" + "src": "77601:16:23" }, { "expression": { @@ -116370,229 +135345,229 @@ "arguments": [ { "name": "m", - "nativeSrc": "77662:1:10", + "nativeSrc": "77662:1:23", "nodeType": "YulIdentifier", - "src": "77662:1:10" + "src": "77662:1:23" }, { "kind": "number", - "nativeSrc": "77665:4:10", + "nativeSrc": "77665:4:23", "nodeType": "YulLiteral", - "src": "77665:4:10", + "src": "77665:4:23", "type": "", "value": "0x15" } ], "functionName": { "name": "add", - "nativeSrc": "77658:3:10", + "nativeSrc": "77658:3:23", "nodeType": "YulIdentifier", - "src": "77658:3:10" + "src": "77658:3:23" }, - "nativeSrc": "77658:12:10", + "nativeSrc": "77658:12:23", "nodeType": "YulFunctionCall", - "src": "77658:12:10" + "src": "77658:12:23" }, { "name": "salt", - "nativeSrc": "77672:4:10", + "nativeSrc": "77672:4:23", "nodeType": "YulIdentifier", - "src": "77672:4:10" + "src": "77672:4:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "77651:6:10", + "nativeSrc": "77651:6:23", "nodeType": "YulIdentifier", - "src": "77651:6:10" + "src": "77651:6:23" }, - "nativeSrc": "77651:26:10", + "nativeSrc": "77651:26:23", "nodeType": "YulFunctionCall", - "src": "77651:26:10" + "src": "77651:26:23" }, - "nativeSrc": "77651:26:10", + "nativeSrc": "77651:26:23", "nodeType": "YulExpressionStatement", - "src": "77651:26:10" + "src": "77651:26:23" }, { - "nativeSrc": "77690:30:10", + "nativeSrc": "77690:30:23", "nodeType": "YulAssignment", - "src": "77690:30:10", + "src": "77690:30:23", "value": { "arguments": [ { "name": "m", - "nativeSrc": "77712:1:10", + "nativeSrc": "77712:1:23", "nodeType": "YulIdentifier", - "src": "77712:1:10" + "src": "77712:1:23" }, { "kind": "number", - "nativeSrc": "77715:4:10", + "nativeSrc": "77715:4:23", "nodeType": "YulLiteral", - "src": "77715:4:10", + "src": "77715:4:23", "type": "", "value": "0x55" } ], "functionName": { "name": "keccak256", - "nativeSrc": "77702:9:10", + "nativeSrc": "77702:9:23", "nodeType": "YulIdentifier", - "src": "77702:9:10" + "src": "77702:9:23" }, - "nativeSrc": "77702:18:10", + "nativeSrc": "77702:18:23", "nodeType": "YulFunctionCall", - "src": "77702:18:10" + "src": "77702:18:23" }, "variableNames": [ { "name": "instance", - "nativeSrc": "77690:8:10", + "nativeSrc": "77690:8:23", "nodeType": "YulIdentifier", - "src": "77690:8:10" + "src": "77690:8:23" } ] }, { "body": { - "nativeSrc": "77745:680:10", + "nativeSrc": "77745:680:23", "nodeType": "YulBlock", - "src": "77745:680:10", + "src": "77745:680:23", "statements": [ { "body": { - "nativeSrc": "77796:291:10", + "nativeSrc": "77796:291:23", "nodeType": "YulBlock", - "src": "77796:291:10", + "src": "77796:291:23", "statements": [ { - "nativeSrc": "77818:44:10", + "nativeSrc": "77818:44:23", "nodeType": "YulAssignment", - "src": "77818:44:10", + "src": "77818:44:23", "value": { "arguments": [ { "name": "value", - "nativeSrc": "77838:5:10", + "nativeSrc": "77838:5:23", "nodeType": "YulIdentifier", - "src": "77838:5:10" + "src": "77838:5:23" }, { "kind": "number", - "nativeSrc": "77845:4:10", + "nativeSrc": "77845:4:23", "nodeType": "YulLiteral", - "src": "77845:4:10", + "src": "77845:4:23", "type": "", "value": "0x0c" }, { "kind": "number", - "nativeSrc": "77851:4:10", + "nativeSrc": "77851:4:23", "nodeType": "YulLiteral", - "src": "77851:4:10", + "src": "77851:4:23", "type": "", "value": "0x74" }, { "name": "salt", - "nativeSrc": "77857:4:10", + "nativeSrc": "77857:4:23", "nodeType": "YulIdentifier", - "src": "77857:4:10" + "src": "77857:4:23" } ], "functionName": { "name": "create2", - "nativeSrc": "77830:7:10", + "nativeSrc": "77830:7:23", "nodeType": "YulIdentifier", - "src": "77830:7:10" + "src": "77830:7:23" }, - "nativeSrc": "77830:32:10", + "nativeSrc": "77830:32:23", "nodeType": "YulFunctionCall", - "src": "77830:32:10" + "src": "77830:32:23" }, "variableNames": [ { "name": "instance", - "nativeSrc": "77818:8:10", + "nativeSrc": "77818:8:23", "nodeType": "YulIdentifier", - "src": "77818:8:10" + "src": "77818:8:23" } ] }, { "body": { - "nativeSrc": "77903:140:10", + "nativeSrc": "77903:140:23", "nodeType": "YulBlock", - "src": "77903:140:10", + "src": "77903:140:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "77936:4:10", + "nativeSrc": "77936:4:23", "nodeType": "YulLiteral", - "src": "77936:4:10", + "src": "77936:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "77942:10:10", + "nativeSrc": "77942:10:23", "nodeType": "YulLiteral", - "src": "77942:10:10", + "src": "77942:10:23", "type": "", "value": "0x30116425" } ], "functionName": { "name": "mstore", - "nativeSrc": "77929:6:10", + "nativeSrc": "77929:6:23", "nodeType": "YulIdentifier", - "src": "77929:6:10" + "src": "77929:6:23" }, - "nativeSrc": "77929:24:10", + "nativeSrc": "77929:24:23", "nodeType": "YulFunctionCall", - "src": "77929:24:10" + "src": "77929:24:23" }, - "nativeSrc": "77929:24:10", + "nativeSrc": "77929:24:23", "nodeType": "YulExpressionStatement", - "src": "77929:24:10" + "src": "77929:24:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "78010:4:10", + "nativeSrc": "78010:4:23", "nodeType": "YulLiteral", - "src": "78010:4:10", + "src": "78010:4:23", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "78016:4:10", + "nativeSrc": "78016:4:23", "nodeType": "YulLiteral", - "src": "78016:4:10", + "src": "78016:4:23", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "78003:6:10", + "nativeSrc": "78003:6:23", "nodeType": "YulIdentifier", - "src": "78003:6:10" + "src": "78003:6:23" }, - "nativeSrc": "78003:18:10", + "nativeSrc": "78003:18:23", "nodeType": "YulFunctionCall", - "src": "78003:18:10" + "src": "78003:18:23" }, - "nativeSrc": "78003:18:10", + "nativeSrc": "78003:18:23", "nodeType": "YulExpressionStatement", - "src": "78003:18:10" + "src": "78003:18:23" } ] }, @@ -116600,29 +135575,29 @@ "arguments": [ { "name": "instance", - "nativeSrc": "77893:8:10", + "nativeSrc": "77893:8:23", "nodeType": "YulIdentifier", - "src": "77893:8:10" + "src": "77893:8:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "77886:6:10", + "nativeSrc": "77886:6:23", "nodeType": "YulIdentifier", - "src": "77886:6:10" + "src": "77886:6:23" }, - "nativeSrc": "77886:16:10", + "nativeSrc": "77886:16:23", "nodeType": "YulFunctionCall", - "src": "77886:16:10" + "src": "77886:16:23" }, - "nativeSrc": "77883:160:10", + "nativeSrc": "77883:160:23", "nodeType": "YulIf", - "src": "77883:160:10" + "src": "77883:160:23" }, { - "nativeSrc": "78064:5:10", + "nativeSrc": "78064:5:23", "nodeType": "YulBreak", - "src": "78064:5:10" + "src": "78064:5:23" } ] }, @@ -116632,67 +135607,67 @@ "arguments": [ { "name": "instance", - "nativeSrc": "77785:8:10", + "nativeSrc": "77785:8:23", "nodeType": "YulIdentifier", - "src": "77785:8:10" + "src": "77785:8:23" } ], "functionName": { "name": "extcodesize", - "nativeSrc": "77773:11:10", + "nativeSrc": "77773:11:23", "nodeType": "YulIdentifier", - "src": "77773:11:10" + "src": "77773:11:23" }, - "nativeSrc": "77773:21:10", + "nativeSrc": "77773:21:23", "nodeType": "YulFunctionCall", - "src": "77773:21:10" + "src": "77773:21:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "77766:6:10", + "nativeSrc": "77766:6:23", "nodeType": "YulIdentifier", - "src": "77766:6:10" + "src": "77766:6:23" }, - "nativeSrc": "77766:29:10", + "nativeSrc": "77766:29:23", "nodeType": "YulFunctionCall", - "src": "77766:29:10" + "src": "77766:29:23" }, - "nativeSrc": "77763:324:10", + "nativeSrc": "77763:324:23", "nodeType": "YulIf", - "src": "77763:324:10" + "src": "77763:324:23" }, { - "nativeSrc": "78104:20:10", + "nativeSrc": "78104:20:23", "nodeType": "YulAssignment", - "src": "78104:20:10", + "src": "78104:20:23", "value": { "kind": "number", - "nativeSrc": "78123:1:10", + "nativeSrc": "78123:1:23", "nodeType": "YulLiteral", - "src": "78123:1:10", + "src": "78123:1:23", "type": "", "value": "1" }, "variableNames": [ { "name": "alreadyDeployed", - "nativeSrc": "78104:15:10", + "nativeSrc": "78104:15:23", "nodeType": "YulIdentifier", - "src": "78104:15:10" + "src": "78104:15:23" } ] }, { "body": { - "nativeSrc": "78158:9:10", + "nativeSrc": "78158:9:23", "nodeType": "YulBlock", - "src": "78158:9:10", + "src": "78158:9:23", "statements": [ { - "nativeSrc": "78160:5:10", + "nativeSrc": "78160:5:23", "nodeType": "YulBreak", - "src": "78160:5:10" + "src": "78160:5:23" } ] }, @@ -116700,98 +135675,98 @@ "arguments": [ { "name": "value", - "nativeSrc": "78151:5:10", + "nativeSrc": "78151:5:23", "nodeType": "YulIdentifier", - "src": "78151:5:10" + "src": "78151:5:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "78144:6:10", + "nativeSrc": "78144:6:23", "nodeType": "YulIdentifier", - "src": "78144:6:10" + "src": "78144:6:23" }, - "nativeSrc": "78144:13:10", + "nativeSrc": "78144:13:23", "nodeType": "YulFunctionCall", - "src": "78144:13:10" + "src": "78144:13:23" }, - "nativeSrc": "78141:26:10", + "nativeSrc": "78141:26:23", "nodeType": "YulIf", - "src": "78141:26:10" + "src": "78141:26:23" }, { "body": { - "nativeSrc": "78260:129:10", + "nativeSrc": "78260:129:23", "nodeType": "YulBlock", - "src": "78260:129:10", + "src": "78260:129:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "78289:4:10", + "nativeSrc": "78289:4:23", "nodeType": "YulLiteral", - "src": "78289:4:10", + "src": "78289:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "78295:10:10", + "nativeSrc": "78295:10:23", "nodeType": "YulLiteral", - "src": "78295:10:10", + "src": "78295:10:23", "type": "", "value": "0xb12d13eb" } ], "functionName": { "name": "mstore", - "nativeSrc": "78282:6:10", + "nativeSrc": "78282:6:23", "nodeType": "YulIdentifier", - "src": "78282:6:10" + "src": "78282:6:23" }, - "nativeSrc": "78282:24:10", + "nativeSrc": "78282:24:23", "nodeType": "YulFunctionCall", - "src": "78282:24:10" + "src": "78282:24:23" }, - "nativeSrc": "78282:24:10", + "nativeSrc": "78282:24:23", "nodeType": "YulExpressionStatement", - "src": "78282:24:10" + "src": "78282:24:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "78360:4:10", + "nativeSrc": "78360:4:23", "nodeType": "YulLiteral", - "src": "78360:4:10", + "src": "78360:4:23", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "78366:4:10", + "nativeSrc": "78366:4:23", "nodeType": "YulLiteral", - "src": "78366:4:10", + "src": "78366:4:23", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "78353:6:10", + "nativeSrc": "78353:6:23", "nodeType": "YulIdentifier", - "src": "78353:6:10" + "src": "78353:6:23" }, - "nativeSrc": "78353:18:10", + "nativeSrc": "78353:18:23", "nodeType": "YulFunctionCall", - "src": "78353:18:10" + "src": "78353:18:23" }, - "nativeSrc": "78353:18:10", + "nativeSrc": "78353:18:23", "nodeType": "YulExpressionStatement", - "src": "78353:18:10" + "src": "78353:18:23" } ] }, @@ -116803,43 +135778,43 @@ "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "78199:3:10", + "nativeSrc": "78199:3:23", "nodeType": "YulIdentifier", - "src": "78199:3:10" + "src": "78199:3:23" }, - "nativeSrc": "78199:5:10", + "nativeSrc": "78199:5:23", "nodeType": "YulFunctionCall", - "src": "78199:5:10" + "src": "78199:5:23" }, { "name": "instance", - "nativeSrc": "78206:8:10", + "nativeSrc": "78206:8:23", "nodeType": "YulIdentifier", - "src": "78206:8:10" + "src": "78206:8:23" }, { "name": "value", - "nativeSrc": "78216:5:10", + "nativeSrc": "78216:5:23", "nodeType": "YulIdentifier", - "src": "78216:5:10" + "src": "78216:5:23" }, { "arguments": [], "functionName": { "name": "codesize", - "nativeSrc": "78223:8:10", + "nativeSrc": "78223:8:23", "nodeType": "YulIdentifier", - "src": "78223:8:10" + "src": "78223:8:23" }, - "nativeSrc": "78223:10:10", + "nativeSrc": "78223:10:23", "nodeType": "YulFunctionCall", - "src": "78223:10:10" + "src": "78223:10:23" }, { "kind": "number", - "nativeSrc": "78235:4:10", + "nativeSrc": "78235:4:23", "nodeType": "YulLiteral", - "src": "78235:4:10", + "src": "78235:4:23", "type": "", "value": "0x00" }, @@ -116847,144 +135822,144 @@ "arguments": [], "functionName": { "name": "codesize", - "nativeSrc": "78241:8:10", + "nativeSrc": "78241:8:23", "nodeType": "YulIdentifier", - "src": "78241:8:10" + "src": "78241:8:23" }, - "nativeSrc": "78241:10:10", + "nativeSrc": "78241:10:23", "nodeType": "YulFunctionCall", - "src": "78241:10:10" + "src": "78241:10:23" }, { "kind": "number", - "nativeSrc": "78253:4:10", + "nativeSrc": "78253:4:23", "nodeType": "YulLiteral", - "src": "78253:4:10", + "src": "78253:4:23", "type": "", "value": "0x00" } ], "functionName": { "name": "call", - "nativeSrc": "78194:4:10", + "nativeSrc": "78194:4:23", "nodeType": "YulIdentifier", - "src": "78194:4:10" + "src": "78194:4:23" }, - "nativeSrc": "78194:64:10", + "nativeSrc": "78194:64:23", "nodeType": "YulFunctionCall", - "src": "78194:64:10" + "src": "78194:64:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "78187:6:10", + "nativeSrc": "78187:6:23", "nodeType": "YulIdentifier", - "src": "78187:6:10" + "src": "78187:6:23" }, - "nativeSrc": "78187:72:10", + "nativeSrc": "78187:72:23", "nodeType": "YulFunctionCall", - "src": "78187:72:10" + "src": "78187:72:23" }, - "nativeSrc": "78184:205:10", + "nativeSrc": "78184:205:23", "nodeType": "YulIf", - "src": "78184:205:10" + "src": "78184:205:23" }, { - "nativeSrc": "78406:5:10", + "nativeSrc": "78406:5:23", "nodeType": "YulBreak", - "src": "78406:5:10" + "src": "78406:5:23" } ] }, "condition": { "kind": "number", - "nativeSrc": "77740:1:10", + "nativeSrc": "77740:1:23", "nodeType": "YulLiteral", - "src": "77740:1:10", + "src": "77740:1:23", "type": "", "value": "1" }, - "nativeSrc": "77733:692:10", + "nativeSrc": "77733:692:23", "nodeType": "YulForLoop", "post": { - "nativeSrc": "77742:2:10", + "nativeSrc": "77742:2:23", "nodeType": "YulBlock", - "src": "77742:2:10", + "src": "77742:2:23", "statements": [] }, "pre": { - "nativeSrc": "77737:2:10", + "nativeSrc": "77737:2:23", "nodeType": "YulBlock", - "src": "77737:2:10", + "src": "77737:2:23", "statements": [] }, - "src": "77733:692:10" + "src": "77733:692:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "78445:4:10", + "nativeSrc": "78445:4:23", "nodeType": "YulLiteral", - "src": "78445:4:10", + "src": "78445:4:23", "type": "", "value": "0x40" }, { "name": "m", - "nativeSrc": "78451:1:10", + "nativeSrc": "78451:1:23", "nodeType": "YulIdentifier", - "src": "78451:1:10" + "src": "78451:1:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "78438:6:10", + "nativeSrc": "78438:6:23", "nodeType": "YulIdentifier", - "src": "78438:6:10" + "src": "78438:6:23" }, - "nativeSrc": "78438:15:10", + "nativeSrc": "78438:15:23", "nodeType": "YulFunctionCall", - "src": "78438:15:10" + "src": "78438:15:23" }, - "nativeSrc": "78438:15:10", + "nativeSrc": "78438:15:23", "nodeType": "YulExpressionStatement", - "src": "78438:15:10" + "src": "78438:15:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "78509:4:10", + "nativeSrc": "78509:4:23", "nodeType": "YulLiteral", - "src": "78509:4:10", + "src": "78509:4:23", "type": "", "value": "0x60" }, { "kind": "number", - "nativeSrc": "78515:1:10", + "nativeSrc": "78515:1:23", "nodeType": "YulLiteral", - "src": "78515:1:10", + "src": "78515:1:23", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "78502:6:10", + "nativeSrc": "78502:6:23", "nodeType": "YulIdentifier", - "src": "78502:6:10" + "src": "78502:6:23" }, - "nativeSrc": "78502:15:10", + "nativeSrc": "78502:15:23", "nodeType": "YulFunctionCall", - "src": "78502:15:10" + "src": "78502:15:23" }, - "nativeSrc": "78502:15:10", + "nativeSrc": "78502:15:23", "nodeType": "YulExpressionStatement", - "src": "78502:15:10" + "src": "78502:15:23" } ] }, @@ -116992,122 +135967,122 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3969, + "declaration": 5575, "isOffset": false, "isSlot": false, - "src": "78104:15:10", + "src": "78104:15:23", "valueSize": 1 }, { - "declaration": 3964, + "declaration": 5570, "isOffset": false, "isSlot": false, - "src": "77420:14:10", + "src": "77420:14:23", "valueSize": 1 }, { - "declaration": 3971, + "declaration": 5577, "isOffset": false, "isSlot": false, - "src": "77690:8:10", + "src": "77690:8:23", "valueSize": 1 }, { - "declaration": 3971, + "declaration": 5577, "isOffset": false, "isSlot": false, - "src": "77785:8:10", + "src": "77785:8:23", "valueSize": 1 }, { - "declaration": 3971, + "declaration": 5577, "isOffset": false, "isSlot": false, - "src": "77818:8:10", + "src": "77818:8:23", "valueSize": 1 }, { - "declaration": 3971, + "declaration": 5577, "isOffset": false, "isSlot": false, - "src": "77893:8:10", + "src": "77893:8:23", "valueSize": 1 }, { - "declaration": 3971, + "declaration": 5577, "isOffset": false, "isSlot": false, - "src": "78206:8:10", + "src": "78206:8:23", "valueSize": 1 }, { - "declaration": 3966, + "declaration": 5572, "isOffset": false, "isSlot": false, - "src": "77672:4:10", + "src": "77672:4:23", "valueSize": 1 }, { - "declaration": 3966, + "declaration": 5572, "isOffset": false, "isSlot": false, - "src": "77857:4:10", + "src": "77857:4:23", "valueSize": 1 }, { - "declaration": 3962, + "declaration": 5568, "isOffset": false, "isSlot": false, - "src": "77838:5:10", + "src": "77838:5:23", "valueSize": 1 }, { - "declaration": 3962, + "declaration": 5568, "isOffset": false, "isSlot": false, - "src": "78151:5:10", + "src": "78151:5:23", "valueSize": 1 }, { - "declaration": 3962, + "declaration": 5568, "isOffset": false, "isSlot": false, - "src": "78216:5:10", + "src": "78216:5:23", "valueSize": 1 } ], - "id": 3973, + "id": 5579, "nodeType": "InlineAssembly", - "src": "77005:1548:10" + "src": "77005:1548:23" } ] }, "documentation": { - "id": 3960, + "id": 5566, "nodeType": "StructuredDocumentation", - "src": "76507:272:10", + "src": "76507:272:23", "text": "@dev Creates a deterministic ERC1967I proxy with `implementation` and `salt`.\n Deposits `value` ETH during deployment.\n Note: This method is intended for use in ERC4337 factories,\n which are expected to NOT revert if the proxy is already deployed." }, - "id": 3975, + "id": 5581, "implemented": true, "kind": "function", "modifiers": [], "name": "createDeterministicERC1967I", - "nameLocation": "76793:27:10", + "nameLocation": "76793:27:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3967, + "id": 5573, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3962, + "id": 5568, "mutability": "mutable", "name": "value", - "nameLocation": "76829:5:10", + "nameLocation": "76829:5:23", "nodeType": "VariableDeclaration", - "scope": 3975, - "src": "76821:13:10", + "scope": 5581, + "src": "76821:13:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -117115,10 +136090,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3961, + "id": 5567, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "76821:7:10", + "src": "76821:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -117128,13 +136103,13 @@ }, { "constant": false, - "id": 3964, + "id": 5570, "mutability": "mutable", "name": "implementation", - "nameLocation": "76844:14:10", + "nameLocation": "76844:14:23", "nodeType": "VariableDeclaration", - "scope": 3975, - "src": "76836:22:10", + "scope": 5581, + "src": "76836:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -117142,10 +136117,10 @@ "typeString": "address" }, "typeName": { - "id": 3963, + "id": 5569, "name": "address", "nodeType": "ElementaryTypeName", - "src": "76836:7:10", + "src": "76836:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -117156,13 +136131,13 @@ }, { "constant": false, - "id": 3966, + "id": 5572, "mutability": "mutable", "name": "salt", - "nameLocation": "76868:4:10", + "nameLocation": "76868:4:23", "nodeType": "VariableDeclaration", - "scope": 3975, - "src": "76860:12:10", + "scope": 5581, + "src": "76860:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -117170,10 +136145,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 3965, + "id": 5571, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "76860:7:10", + "src": "76860:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -117182,21 +136157,21 @@ "visibility": "internal" } ], - "src": "76820:53:10" + "src": "76820:53:23" }, "returnParameters": { - "id": 3972, + "id": 5578, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3969, + "id": 5575, "mutability": "mutable", "name": "alreadyDeployed", - "nameLocation": "76913:15:10", + "nameLocation": "76913:15:23", "nodeType": "VariableDeclaration", - "scope": 3975, - "src": "76908:20:10", + "scope": 5581, + "src": "76908:20:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -117204,10 +136179,10 @@ "typeString": "bool" }, "typeName": { - "id": 3968, + "id": 5574, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "76908:4:10", + "src": "76908:4:23", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -117217,13 +136192,13 @@ }, { "constant": false, - "id": 3971, + "id": 5577, "mutability": "mutable", "name": "instance", - "nameLocation": "76938:8:10", + "nameLocation": "76938:8:23", "nodeType": "VariableDeclaration", - "scope": 3975, - "src": "76930:16:10", + "scope": 5581, + "src": "76930:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -117231,10 +136206,10 @@ "typeString": "address" }, "typeName": { - "id": 3970, + "id": 5576, "name": "address", "nodeType": "ElementaryTypeName", - "src": "76930:7:10", + "src": "76930:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -117244,57 +136219,57 @@ "visibility": "internal" } ], - "src": "76907:40:10" + "src": "76907:40:23" }, - "scope": 5093, - "src": "76784:1775:10", + "scope": 6699, + "src": "76784:1775:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3984, + "id": 5590, "nodeType": "Block", - "src": "78742:641:10", + "src": "78742:641:23", "statements": [ { "AST": { - "nativeSrc": "78804:573:10", + "nativeSrc": "78804:573:23", "nodeType": "YulBlock", - "src": "78804:573:10", + "src": "78804:573:23", "statements": [ { - "nativeSrc": "78818:16:10", + "nativeSrc": "78818:16:23", "nodeType": "YulAssignment", - "src": "78818:16:10", + "src": "78818:16:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "78829:4:10", + "nativeSrc": "78829:4:23", "nodeType": "YulLiteral", - "src": "78829:4:10", + "src": "78829:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "78823:5:10", + "nativeSrc": "78823:5:23", "nodeType": "YulIdentifier", - "src": "78823:5:10" + "src": "78823:5:23" }, - "nativeSrc": "78823:11:10", + "nativeSrc": "78823:11:23", "nodeType": "YulFunctionCall", - "src": "78823:11:10" + "src": "78823:11:23" }, "variableNames": [ { "name": "c", - "nativeSrc": "78818:1:10", + "nativeSrc": "78818:1:23", "nodeType": "YulIdentifier", - "src": "78818:1:10" + "src": "78818:1:23" } ] }, @@ -117305,51 +136280,51 @@ "arguments": [ { "name": "c", - "nativeSrc": "78858:1:10", + "nativeSrc": "78858:1:23", "nodeType": "YulIdentifier", - "src": "78858:1:10" + "src": "78858:1:23" }, { "kind": "number", - "nativeSrc": "78861:4:10", + "nativeSrc": "78861:4:23", "nodeType": "YulLiteral", - "src": "78861:4:10", + "src": "78861:4:23", "type": "", "value": "0x74" } ], "functionName": { "name": "add", - "nativeSrc": "78854:3:10", + "nativeSrc": "78854:3:23", "nodeType": "YulIdentifier", - "src": "78854:3:10" + "src": "78854:3:23" }, - "nativeSrc": "78854:12:10", + "nativeSrc": "78854:12:23", "nodeType": "YulFunctionCall", - "src": "78854:12:10" + "src": "78854:12:23" }, { "kind": "number", - "nativeSrc": "78868:66:10", + "nativeSrc": "78868:66:23", "nodeType": "YulLiteral", - "src": "78868:66:10", + "src": "78868:66:23", "type": "", "value": "0x3d6000803e603e573d6000fd5b3d6000f35b6020600f3d393d51543d52593df3" } ], "functionName": { "name": "mstore", - "nativeSrc": "78847:6:10", + "nativeSrc": "78847:6:23", "nodeType": "YulIdentifier", - "src": "78847:6:10" + "src": "78847:6:23" }, - "nativeSrc": "78847:88:10", + "nativeSrc": "78847:88:23", "nodeType": "YulFunctionCall", - "src": "78847:88:10" + "src": "78847:88:23" }, - "nativeSrc": "78847:88:10", + "nativeSrc": "78847:88:23", "nodeType": "YulExpressionStatement", - "src": "78847:88:10" + "src": "78847:88:23" }, { "expression": { @@ -117358,51 +136333,51 @@ "arguments": [ { "name": "c", - "nativeSrc": "78959:1:10", + "nativeSrc": "78959:1:23", "nodeType": "YulIdentifier", - "src": "78959:1:10" + "src": "78959:1:23" }, { "kind": "number", - "nativeSrc": "78962:4:10", + "nativeSrc": "78962:4:23", "nodeType": "YulLiteral", - "src": "78962:4:10", + "src": "78962:4:23", "type": "", "value": "0x54" } ], "functionName": { "name": "add", - "nativeSrc": "78955:3:10", + "nativeSrc": "78955:3:23", "nodeType": "YulIdentifier", - "src": "78955:3:10" + "src": "78955:3:23" }, - "nativeSrc": "78955:12:10", + "nativeSrc": "78955:12:23", "nodeType": "YulFunctionCall", - "src": "78955:12:10" + "src": "78955:12:23" }, { "kind": "number", - "nativeSrc": "78969:66:10", + "nativeSrc": "78969:66:23", "nodeType": "YulLiteral", - "src": "78969:66:10", + "src": "78969:66:23", "type": "", "value": "0xa13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af4" } ], "functionName": { "name": "mstore", - "nativeSrc": "78948:6:10", + "nativeSrc": "78948:6:23", "nodeType": "YulIdentifier", - "src": "78948:6:10" + "src": "78948:6:23" }, - "nativeSrc": "78948:88:10", + "nativeSrc": "78948:88:23", "nodeType": "YulFunctionCall", - "src": "78948:88:10" + "src": "78948:88:23" }, - "nativeSrc": "78948:88:10", + "nativeSrc": "78948:88:23", "nodeType": "YulExpressionStatement", - "src": "78948:88:10" + "src": "78948:88:23" }, { "expression": { @@ -117411,51 +136386,51 @@ "arguments": [ { "name": "c", - "nativeSrc": "79060:1:10", + "nativeSrc": "79060:1:23", "nodeType": "YulIdentifier", - "src": "79060:1:10" + "src": "79060:1:23" }, { "kind": "number", - "nativeSrc": "79063:4:10", + "nativeSrc": "79063:4:23", "nodeType": "YulLiteral", - "src": "79063:4:10", + "src": "79063:4:23", "type": "", "value": "0x34" } ], "functionName": { "name": "add", - "nativeSrc": "79056:3:10", + "nativeSrc": "79056:3:23", "nodeType": "YulIdentifier", - "src": "79056:3:10" + "src": "79056:3:23" }, - "nativeSrc": "79056:12:10", + "nativeSrc": "79056:12:23", "nodeType": "YulFunctionCall", - "src": "79056:12:10" + "src": "79056:12:23" }, { "kind": "number", - "nativeSrc": "79070:48:10", + "nativeSrc": "79070:48:23", "nodeType": "YulLiteral", - "src": "79070:48:10", + "src": "79070:48:23", "type": "", "value": "0x600f5155f3365814604357363d3d373d3d363d7f360894" } ], "functionName": { "name": "mstore", - "nativeSrc": "79049:6:10", + "nativeSrc": "79049:6:23", "nodeType": "YulIdentifier", - "src": "79049:6:10" + "src": "79049:6:23" }, - "nativeSrc": "79049:70:10", + "nativeSrc": "79049:70:23", "nodeType": "YulFunctionCall", - "src": "79049:70:10" + "src": "79049:70:23" }, - "nativeSrc": "79049:70:10", + "nativeSrc": "79049:70:23", "nodeType": "YulExpressionStatement", - "src": "79049:70:10" + "src": "79049:70:23" }, { "expression": { @@ -117464,49 +136439,49 @@ "arguments": [ { "name": "c", - "nativeSrc": "79143:1:10", + "nativeSrc": "79143:1:23", "nodeType": "YulIdentifier", - "src": "79143:1:10" + "src": "79143:1:23" }, { "kind": "number", - "nativeSrc": "79146:4:10", + "nativeSrc": "79146:4:23", "nodeType": "YulLiteral", - "src": "79146:4:10", + "src": "79146:4:23", "type": "", "value": "0x1d" } ], "functionName": { "name": "add", - "nativeSrc": "79139:3:10", + "nativeSrc": "79139:3:23", "nodeType": "YulIdentifier", - "src": "79139:3:10" + "src": "79139:3:23" }, - "nativeSrc": "79139:12:10", + "nativeSrc": "79139:12:23", "nodeType": "YulFunctionCall", - "src": "79139:12:10" + "src": "79139:12:23" }, { "name": "implementation", - "nativeSrc": "79153:14:10", + "nativeSrc": "79153:14:23", "nodeType": "YulIdentifier", - "src": "79153:14:10" + "src": "79153:14:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "79132:6:10", + "nativeSrc": "79132:6:23", "nodeType": "YulIdentifier", - "src": "79132:6:10" + "src": "79132:6:23" }, - "nativeSrc": "79132:36:10", + "nativeSrc": "79132:36:23", "nodeType": "YulFunctionCall", - "src": "79132:36:10" + "src": "79132:36:23" }, - "nativeSrc": "79132:36:10", + "nativeSrc": "79132:36:23", "nodeType": "YulExpressionStatement", - "src": "79132:36:10" + "src": "79132:36:23" }, { "expression": { @@ -117515,51 +136490,51 @@ "arguments": [ { "name": "c", - "nativeSrc": "79192:1:10", + "nativeSrc": "79192:1:23", "nodeType": "YulIdentifier", - "src": "79192:1:10" + "src": "79192:1:23" }, { "kind": "number", - "nativeSrc": "79195:4:10", + "nativeSrc": "79195:4:23", "nodeType": "YulLiteral", - "src": "79195:4:10", + "src": "79195:4:23", "type": "", "value": "0x09" } ], "functionName": { "name": "add", - "nativeSrc": "79188:3:10", + "nativeSrc": "79188:3:23", "nodeType": "YulIdentifier", - "src": "79188:3:10" + "src": "79188:3:23" }, - "nativeSrc": "79188:12:10", + "nativeSrc": "79188:12:23", "nodeType": "YulFunctionCall", - "src": "79188:12:10" + "src": "79188:12:23" }, { "kind": "number", - "nativeSrc": "79202:20:10", + "nativeSrc": "79202:20:23", "nodeType": "YulLiteral", - "src": "79202:20:10", + "src": "79202:20:23", "type": "", "value": "0x60523d8160223d3973" } ], "functionName": { "name": "mstore", - "nativeSrc": "79181:6:10", + "nativeSrc": "79181:6:23", "nodeType": "YulIdentifier", - "src": "79181:6:10" + "src": "79181:6:23" }, - "nativeSrc": "79181:42:10", + "nativeSrc": "79181:42:23", "nodeType": "YulFunctionCall", - "src": "79181:42:10" + "src": "79181:42:23" }, - "nativeSrc": "79181:42:10", + "nativeSrc": "79181:42:23", "nodeType": "YulExpressionStatement", - "src": "79181:42:10" + "src": "79181:42:23" }, { "expression": { @@ -117568,92 +136543,92 @@ "arguments": [ { "name": "c", - "nativeSrc": "79247:1:10", + "nativeSrc": "79247:1:23", "nodeType": "YulIdentifier", - "src": "79247:1:10" + "src": "79247:1:23" }, { "kind": "number", - "nativeSrc": "79250:4:10", + "nativeSrc": "79250:4:23", "nodeType": "YulLiteral", - "src": "79250:4:10", + "src": "79250:4:23", "type": "", "value": "0x94" } ], "functionName": { "name": "add", - "nativeSrc": "79243:3:10", + "nativeSrc": "79243:3:23", "nodeType": "YulIdentifier", - "src": "79243:3:10" + "src": "79243:3:23" }, - "nativeSrc": "79243:12:10", + "nativeSrc": "79243:12:23", "nodeType": "YulFunctionCall", - "src": "79243:12:10" + "src": "79243:12:23" }, { "kind": "number", - "nativeSrc": "79257:1:10", + "nativeSrc": "79257:1:23", "nodeType": "YulLiteral", - "src": "79257:1:10", + "src": "79257:1:23", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "79236:6:10", + "nativeSrc": "79236:6:23", "nodeType": "YulIdentifier", - "src": "79236:6:10" + "src": "79236:6:23" }, - "nativeSrc": "79236:23:10", + "nativeSrc": "79236:23:23", "nodeType": "YulFunctionCall", - "src": "79236:23:10" + "src": "79236:23:23" }, - "nativeSrc": "79236:23:10", + "nativeSrc": "79236:23:23", "nodeType": "YulExpressionStatement", - "src": "79236:23:10" + "src": "79236:23:23" }, { "expression": { "arguments": [ { "name": "c", - "nativeSrc": "79279:1:10", + "nativeSrc": "79279:1:23", "nodeType": "YulIdentifier", - "src": "79279:1:10" + "src": "79279:1:23" }, { "kind": "number", - "nativeSrc": "79282:4:10", + "nativeSrc": "79282:4:23", "nodeType": "YulLiteral", - "src": "79282:4:10", + "src": "79282:4:23", "type": "", "value": "0x74" } ], "functionName": { "name": "mstore", - "nativeSrc": "79272:6:10", + "nativeSrc": "79272:6:23", "nodeType": "YulIdentifier", - "src": "79272:6:10" + "src": "79272:6:23" }, - "nativeSrc": "79272:15:10", + "nativeSrc": "79272:15:23", "nodeType": "YulFunctionCall", - "src": "79272:15:10" + "src": "79272:15:23" }, - "nativeSrc": "79272:15:10", + "nativeSrc": "79272:15:23", "nodeType": "YulExpressionStatement", - "src": "79272:15:10" + "src": "79272:15:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "79328:4:10", + "nativeSrc": "79328:4:23", "nodeType": "YulLiteral", - "src": "79328:4:10", + "src": "79328:4:23", "type": "", "value": "0x40" }, @@ -117661,43 +136636,43 @@ "arguments": [ { "name": "c", - "nativeSrc": "79338:1:10", + "nativeSrc": "79338:1:23", "nodeType": "YulIdentifier", - "src": "79338:1:10" + "src": "79338:1:23" }, { "kind": "number", - "nativeSrc": "79341:4:10", + "nativeSrc": "79341:4:23", "nodeType": "YulLiteral", - "src": "79341:4:10", + "src": "79341:4:23", "type": "", "value": "0xa0" } ], "functionName": { "name": "add", - "nativeSrc": "79334:3:10", + "nativeSrc": "79334:3:23", "nodeType": "YulIdentifier", - "src": "79334:3:10" + "src": "79334:3:23" }, - "nativeSrc": "79334:12:10", + "nativeSrc": "79334:12:23", "nodeType": "YulFunctionCall", - "src": "79334:12:10" + "src": "79334:12:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "79321:6:10", + "nativeSrc": "79321:6:23", "nodeType": "YulIdentifier", - "src": "79321:6:10" + "src": "79321:6:23" }, - "nativeSrc": "79321:26:10", + "nativeSrc": "79321:26:23", "nodeType": "YulFunctionCall", - "src": "79321:26:10" + "src": "79321:26:23" }, - "nativeSrc": "79321:26:10", + "nativeSrc": "79321:26:23", "nodeType": "YulExpressionStatement", - "src": "79321:26:10" + "src": "79321:26:23" } ] }, @@ -117705,108 +136680,108 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3981, + "declaration": 5587, "isOffset": false, "isSlot": false, - "src": "78818:1:10", + "src": "78818:1:23", "valueSize": 1 }, { - "declaration": 3981, + "declaration": 5587, "isOffset": false, "isSlot": false, - "src": "78858:1:10", + "src": "78858:1:23", "valueSize": 1 }, { - "declaration": 3981, + "declaration": 5587, "isOffset": false, "isSlot": false, - "src": "78959:1:10", + "src": "78959:1:23", "valueSize": 1 }, { - "declaration": 3981, + "declaration": 5587, "isOffset": false, "isSlot": false, - "src": "79060:1:10", + "src": "79060:1:23", "valueSize": 1 }, { - "declaration": 3981, + "declaration": 5587, "isOffset": false, "isSlot": false, - "src": "79143:1:10", + "src": "79143:1:23", "valueSize": 1 }, { - "declaration": 3981, + "declaration": 5587, "isOffset": false, "isSlot": false, - "src": "79192:1:10", + "src": "79192:1:23", "valueSize": 1 }, { - "declaration": 3981, + "declaration": 5587, "isOffset": false, "isSlot": false, - "src": "79247:1:10", + "src": "79247:1:23", "valueSize": 1 }, { - "declaration": 3981, + "declaration": 5587, "isOffset": false, "isSlot": false, - "src": "79279:1:10", + "src": "79279:1:23", "valueSize": 1 }, { - "declaration": 3981, + "declaration": 5587, "isOffset": false, "isSlot": false, - "src": "79338:1:10", + "src": "79338:1:23", "valueSize": 1 }, { - "declaration": 3978, + "declaration": 5584, "isOffset": false, "isSlot": false, - "src": "79153:14:10", + "src": "79153:14:23", "valueSize": 1 } ], - "id": 3983, + "id": 5589, "nodeType": "InlineAssembly", - "src": "78795:582:10" + "src": "78795:582:23" } ] }, "documentation": { - "id": 3976, + "id": 5582, "nodeType": "StructuredDocumentation", - "src": "78565:83:10", + "src": "78565:83:23", "text": "@dev Returns the initialization code of the ERC1967I proxy of `implementation`." }, - "id": 3985, + "id": 5591, "implemented": true, "kind": "function", "modifiers": [], "name": "initCodeERC1967I", - "nameLocation": "78662:16:10", + "nameLocation": "78662:16:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3979, + "id": 5585, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3978, + "id": 5584, "mutability": "mutable", "name": "implementation", - "nameLocation": "78687:14:10", + "nameLocation": "78687:14:23", "nodeType": "VariableDeclaration", - "scope": 3985, - "src": "78679:22:10", + "scope": 5591, + "src": "78679:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -117814,10 +136789,10 @@ "typeString": "address" }, "typeName": { - "id": 3977, + "id": 5583, "name": "address", "nodeType": "ElementaryTypeName", - "src": "78679:7:10", + "src": "78679:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -117827,21 +136802,21 @@ "visibility": "internal" } ], - "src": "78678:24:10" + "src": "78678:24:23" }, "returnParameters": { - "id": 3982, + "id": 5588, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3981, + "id": 5587, "mutability": "mutable", "name": "c", - "nameLocation": "78739:1:10", + "nameLocation": "78739:1:23", "nodeType": "VariableDeclaration", - "scope": 3985, - "src": "78726:14:10", + "scope": 5591, + "src": "78726:14:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -117849,10 +136824,10 @@ "typeString": "bytes" }, "typeName": { - "id": 3980, + "id": 5586, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "78726:5:10", + "src": "78726:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -117861,57 +136836,57 @@ "visibility": "internal" } ], - "src": "78725:16:10" + "src": "78725:16:23" }, - "scope": 5093, - "src": "78653:730:10", + "scope": 6699, + "src": "78653:730:23", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 3994, + "id": 5600, "nodeType": "Block", - "src": "79573:662:10", + "src": "79573:662:23", "statements": [ { "AST": { - "nativeSrc": "79635:594:10", + "nativeSrc": "79635:594:23", "nodeType": "YulBlock", - "src": "79635:594:10", + "src": "79635:594:23", "statements": [ { - "nativeSrc": "79649:20:10", + "nativeSrc": "79649:20:23", "nodeType": "YulVariableDeclaration", - "src": "79649:20:10", + "src": "79649:20:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "79664:4:10", + "nativeSrc": "79664:4:23", "nodeType": "YulLiteral", - "src": "79664:4:10", + "src": "79664:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "79658:5:10", + "nativeSrc": "79658:5:23", "nodeType": "YulIdentifier", - "src": "79658:5:10" + "src": "79658:5:23" }, - "nativeSrc": "79658:11:10", + "nativeSrc": "79658:11:23", "nodeType": "YulFunctionCall", - "src": "79658:11:10" + "src": "79658:11:23" }, "variables": [ { "name": "m", - "nativeSrc": "79653:1:10", + "nativeSrc": "79653:1:23", "nodeType": "YulTypedName", - "src": "79653:1:10", + "src": "79653:1:23", "type": "" } ] @@ -117921,111 +136896,111 @@ "arguments": [ { "kind": "number", - "nativeSrc": "79723:4:10", + "nativeSrc": "79723:4:23", "nodeType": "YulLiteral", - "src": "79723:4:10", + "src": "79723:4:23", "type": "", "value": "0x60" }, { "kind": "number", - "nativeSrc": "79729:66:10", + "nativeSrc": "79729:66:23", "nodeType": "YulLiteral", - "src": "79729:66:10", + "src": "79729:66:23", "type": "", "value": "0x3d6000803e603e573d6000fd5b3d6000f35b6020600f3d393d51543d52593df3" } ], "functionName": { "name": "mstore", - "nativeSrc": "79716:6:10", + "nativeSrc": "79716:6:23", "nodeType": "YulIdentifier", - "src": "79716:6:10" + "src": "79716:6:23" }, - "nativeSrc": "79716:80:10", + "nativeSrc": "79716:80:23", "nodeType": "YulFunctionCall", - "src": "79716:80:10" + "src": "79716:80:23" }, - "nativeSrc": "79716:80:10", + "nativeSrc": "79716:80:23", "nodeType": "YulExpressionStatement", - "src": "79716:80:10" + "src": "79716:80:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "79816:4:10", + "nativeSrc": "79816:4:23", "nodeType": "YulLiteral", - "src": "79816:4:10", + "src": "79816:4:23", "type": "", "value": "0x40" }, { "kind": "number", - "nativeSrc": "79822:66:10", + "nativeSrc": "79822:66:23", "nodeType": "YulLiteral", - "src": "79822:66:10", + "src": "79822:66:23", "type": "", "value": "0xa13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af4" } ], "functionName": { "name": "mstore", - "nativeSrc": "79809:6:10", + "nativeSrc": "79809:6:23", "nodeType": "YulIdentifier", - "src": "79809:6:10" + "src": "79809:6:23" }, - "nativeSrc": "79809:80:10", + "nativeSrc": "79809:80:23", "nodeType": "YulFunctionCall", - "src": "79809:80:10" + "src": "79809:80:23" }, - "nativeSrc": "79809:80:10", + "nativeSrc": "79809:80:23", "nodeType": "YulExpressionStatement", - "src": "79809:80:10" + "src": "79809:80:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "79909:4:10", + "nativeSrc": "79909:4:23", "nodeType": "YulLiteral", - "src": "79909:4:10", + "src": "79909:4:23", "type": "", "value": "0x20" }, { "kind": "number", - "nativeSrc": "79915:48:10", + "nativeSrc": "79915:48:23", "nodeType": "YulLiteral", - "src": "79915:48:10", + "src": "79915:48:23", "type": "", "value": "0x600f5155f3365814604357363d3d373d3d363d7f360894" } ], "functionName": { "name": "mstore", - "nativeSrc": "79902:6:10", + "nativeSrc": "79902:6:23", "nodeType": "YulIdentifier", - "src": "79902:6:10" + "src": "79902:6:23" }, - "nativeSrc": "79902:62:10", + "nativeSrc": "79902:62:23", "nodeType": "YulFunctionCall", - "src": "79902:62:10" + "src": "79902:62:23" }, - "nativeSrc": "79902:62:10", + "nativeSrc": "79902:62:23", "nodeType": "YulExpressionStatement", - "src": "79902:62:10" + "src": "79902:62:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "79984:4:10", + "nativeSrc": "79984:4:23", "nodeType": "YulLiteral", - "src": "79984:4:10", + "src": "79984:4:23", "type": "", "value": "0x09" }, @@ -118035,38 +137010,38 @@ "arguments": [ { "kind": "number", - "nativeSrc": "79997:3:10", + "nativeSrc": "79997:3:23", "nodeType": "YulLiteral", - "src": "79997:3:10", + "src": "79997:3:23", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "80002:20:10", + "nativeSrc": "80002:20:23", "nodeType": "YulLiteral", - "src": "80002:20:10", + "src": "80002:20:23", "type": "", "value": "0x60523d8160223d3973" } ], "functionName": { "name": "shl", - "nativeSrc": "79993:3:10", + "nativeSrc": "79993:3:23", "nodeType": "YulIdentifier", - "src": "79993:3:10" + "src": "79993:3:23" }, - "nativeSrc": "79993:30:10", + "nativeSrc": "79993:30:23", "nodeType": "YulFunctionCall", - "src": "79993:30:10" + "src": "79993:30:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "80029:2:10", + "nativeSrc": "80029:2:23", "nodeType": "YulLiteral", - "src": "80029:2:10", + "src": "80029:2:23", "type": "", "value": "96" }, @@ -118074,105 +137049,105 @@ "arguments": [ { "kind": "number", - "nativeSrc": "80037:2:10", + "nativeSrc": "80037:2:23", "nodeType": "YulLiteral", - "src": "80037:2:10", + "src": "80037:2:23", "type": "", "value": "96" }, { "name": "implementation", - "nativeSrc": "80041:14:10", + "nativeSrc": "80041:14:23", "nodeType": "YulIdentifier", - "src": "80041:14:10" + "src": "80041:14:23" } ], "functionName": { "name": "shl", - "nativeSrc": "80033:3:10", + "nativeSrc": "80033:3:23", "nodeType": "YulIdentifier", - "src": "80033:3:10" + "src": "80033:3:23" }, - "nativeSrc": "80033:23:10", + "nativeSrc": "80033:23:23", "nodeType": "YulFunctionCall", - "src": "80033:23:10" + "src": "80033:23:23" } ], "functionName": { "name": "shr", - "nativeSrc": "80025:3:10", + "nativeSrc": "80025:3:23", "nodeType": "YulIdentifier", - "src": "80025:3:10" + "src": "80025:3:23" }, - "nativeSrc": "80025:32:10", + "nativeSrc": "80025:32:23", "nodeType": "YulFunctionCall", - "src": "80025:32:10" + "src": "80025:32:23" } ], "functionName": { "name": "or", - "nativeSrc": "79990:2:10", + "nativeSrc": "79990:2:23", "nodeType": "YulIdentifier", - "src": "79990:2:10" + "src": "79990:2:23" }, - "nativeSrc": "79990:68:10", + "nativeSrc": "79990:68:23", "nodeType": "YulFunctionCall", - "src": "79990:68:10" + "src": "79990:68:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "79977:6:10", + "nativeSrc": "79977:6:23", "nodeType": "YulIdentifier", - "src": "79977:6:10" + "src": "79977:6:23" }, - "nativeSrc": "79977:82:10", + "nativeSrc": "79977:82:23", "nodeType": "YulFunctionCall", - "src": "79977:82:10" + "src": "79977:82:23" }, - "nativeSrc": "79977:82:10", + "nativeSrc": "79977:82:23", "nodeType": "YulExpressionStatement", - "src": "79977:82:10" + "src": "79977:82:23" }, { - "nativeSrc": "80072:29:10", + "nativeSrc": "80072:29:23", "nodeType": "YulAssignment", - "src": "80072:29:10", + "src": "80072:29:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "80090:4:10", + "nativeSrc": "80090:4:23", "nodeType": "YulLiteral", - "src": "80090:4:10", + "src": "80090:4:23", "type": "", "value": "0x0c" }, { "kind": "number", - "nativeSrc": "80096:4:10", + "nativeSrc": "80096:4:23", "nodeType": "YulLiteral", - "src": "80096:4:10", + "src": "80096:4:23", "type": "", "value": "0x74" } ], "functionName": { "name": "keccak256", - "nativeSrc": "80080:9:10", + "nativeSrc": "80080:9:23", "nodeType": "YulIdentifier", - "src": "80080:9:10" + "src": "80080:9:23" }, - "nativeSrc": "80080:21:10", + "nativeSrc": "80080:21:23", "nodeType": "YulFunctionCall", - "src": "80080:21:10" + "src": "80080:21:23" }, "variableNames": [ { "name": "hash", - "nativeSrc": "80072:4:10", + "nativeSrc": "80072:4:23", "nodeType": "YulIdentifier", - "src": "80072:4:10" + "src": "80072:4:23" } ] }, @@ -118181,66 +137156,66 @@ "arguments": [ { "kind": "number", - "nativeSrc": "80121:4:10", + "nativeSrc": "80121:4:23", "nodeType": "YulLiteral", - "src": "80121:4:10", + "src": "80121:4:23", "type": "", "value": "0x40" }, { "name": "m", - "nativeSrc": "80127:1:10", + "nativeSrc": "80127:1:23", "nodeType": "YulIdentifier", - "src": "80127:1:10" + "src": "80127:1:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "80114:6:10", + "nativeSrc": "80114:6:23", "nodeType": "YulIdentifier", - "src": "80114:6:10" + "src": "80114:6:23" }, - "nativeSrc": "80114:15:10", + "nativeSrc": "80114:15:23", "nodeType": "YulFunctionCall", - "src": "80114:15:10" + "src": "80114:15:23" }, - "nativeSrc": "80114:15:10", + "nativeSrc": "80114:15:23", "nodeType": "YulExpressionStatement", - "src": "80114:15:10" + "src": "80114:15:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "80185:4:10", + "nativeSrc": "80185:4:23", "nodeType": "YulLiteral", - "src": "80185:4:10", + "src": "80185:4:23", "type": "", "value": "0x60" }, { "kind": "number", - "nativeSrc": "80191:1:10", + "nativeSrc": "80191:1:23", "nodeType": "YulLiteral", - "src": "80191:1:10", + "src": "80191:1:23", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "80178:6:10", + "nativeSrc": "80178:6:23", "nodeType": "YulIdentifier", - "src": "80178:6:10" + "src": "80178:6:23" }, - "nativeSrc": "80178:15:10", + "nativeSrc": "80178:15:23", "nodeType": "YulFunctionCall", - "src": "80178:15:10" + "src": "80178:15:23" }, - "nativeSrc": "80178:15:10", + "nativeSrc": "80178:15:23", "nodeType": "YulExpressionStatement", - "src": "80178:15:10" + "src": "80178:15:23" } ] }, @@ -118248,52 +137223,52 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3991, + "declaration": 5597, "isOffset": false, "isSlot": false, - "src": "80072:4:10", + "src": "80072:4:23", "valueSize": 1 }, { - "declaration": 3988, + "declaration": 5594, "isOffset": false, "isSlot": false, - "src": "80041:14:10", + "src": "80041:14:23", "valueSize": 1 } ], - "id": 3993, + "id": 5599, "nodeType": "InlineAssembly", - "src": "79626:603:10" + "src": "79626:603:23" } ] }, "documentation": { - "id": 3986, + "id": 5592, "nodeType": "StructuredDocumentation", - "src": "79389:88:10", + "src": "79389:88:23", "text": "@dev Returns the initialization code hash of the ERC1967I proxy of `implementation`." }, - "id": 3995, + "id": 5601, "implemented": true, "kind": "function", "modifiers": [], "name": "initCodeHashERC1967I", - "nameLocation": "79491:20:10", + "nameLocation": "79491:20:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3989, + "id": 5595, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3988, + "id": 5594, "mutability": "mutable", "name": "implementation", - "nameLocation": "79520:14:10", + "nameLocation": "79520:14:23", "nodeType": "VariableDeclaration", - "scope": 3995, - "src": "79512:22:10", + "scope": 5601, + "src": "79512:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -118301,10 +137276,10 @@ "typeString": "address" }, "typeName": { - "id": 3987, + "id": 5593, "name": "address", "nodeType": "ElementaryTypeName", - "src": "79512:7:10", + "src": "79512:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -118314,21 +137289,21 @@ "visibility": "internal" } ], - "src": "79511:24:10" + "src": "79511:24:23" }, "returnParameters": { - "id": 3992, + "id": 5598, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3991, + "id": 5597, "mutability": "mutable", "name": "hash", - "nameLocation": "79567:4:10", + "nameLocation": "79567:4:23", "nodeType": "VariableDeclaration", - "scope": 3995, - "src": "79559:12:10", + "scope": 5601, + "src": "79559:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -118336,10 +137311,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 3990, + "id": 5596, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "79559:7:10", + "src": "79559:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -118348,34 +137323,34 @@ "visibility": "internal" } ], - "src": "79558:14:10" + "src": "79558:14:23" }, - "scope": 5093, - "src": "79482:753:10", + "scope": 6699, + "src": "79482:753:23", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4021, + "id": 5627, "nodeType": "Block", - "src": "80610:139:10", + "src": "80610:139:23", "statements": [ { "assignments": [ - 4008 + 5614 ], "declarations": [ { "constant": false, - "id": 4008, + "id": 5614, "mutability": "mutable", "name": "hash", - "nameLocation": "80628:4:10", + "nameLocation": "80628:4:23", "nodeType": "VariableDeclaration", - "scope": 4021, - "src": "80620:12:10", + "scope": 5627, + "src": "80620:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -118383,10 +137358,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4007, + "id": 5613, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "80620:7:10", + "src": "80620:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -118395,16 +137370,16 @@ "visibility": "internal" } ], - "id": 4012, + "id": 5618, "initialValue": { "arguments": [ { - "id": 4010, + "id": 5616, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3998, - "src": "80656:14:10", + "referencedDeclaration": 5604, + "src": "80656:14:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -118418,21 +137393,21 @@ "typeString": "address" } ], - "id": 4009, + "id": 5615, "name": "initCodeHashERC1967I", "nodeType": "Identifier", "overloadedDeclarations": [ - 3995, - 4155 + 5601, + 5761 ], - "referencedDeclaration": 3995, - "src": "80635:20:10", + "referencedDeclaration": 5601, + "src": "80635:20:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_bytes32_$", "typeString": "function (address) pure returns (bytes32)" } }, - "id": 4011, + "id": 5617, "isConstant": false, "isLValue": false, "isPure": false, @@ -118441,7 +137416,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "80635:36:10", + "src": "80635:36:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -118449,22 +137424,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "80620:51:10" + "src": "80620:51:23" }, { "expression": { - "id": 4019, + "id": 5625, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 4013, + "id": 5619, "name": "predicted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4005, - "src": "80681:9:10", + "referencedDeclaration": 5611, + "src": "80681:9:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -118475,36 +137450,36 @@ "rightHandSide": { "arguments": [ { - "id": 4015, + "id": 5621, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4008, - "src": "80721:4:10", + "referencedDeclaration": 5614, + "src": "80721:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 4016, + "id": 5622, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4000, - "src": "80727:4:10", + "referencedDeclaration": 5606, + "src": "80727:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 4017, + "id": 5623, "name": "deployer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4002, - "src": "80733:8:10", + "referencedDeclaration": 5608, + "src": "80733:8:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -118526,22 +137501,22 @@ "typeString": "address" } ], - "id": 4014, + "id": 5620, "name": "predictDeterministicAddress", "nodeType": "Identifier", "overloadedDeclarations": [ - 3226, - 3499, - 5070 + 4832, + 5105, + 6676 ], - "referencedDeclaration": 5070, - "src": "80693:27:10", + "referencedDeclaration": 6676, + "src": "80693:27:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_address_$", "typeString": "function (bytes32,bytes32,address) pure returns (address)" } }, - "id": 4018, + "id": 5624, "isConstant": false, "isLValue": false, "isPure": false, @@ -118550,51 +137525,51 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "80693:49:10", + "src": "80693:49:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "80681:61:10", + "src": "80681:61:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 4020, + "id": 5626, "nodeType": "ExpressionStatement", - "src": "80681:61:10" + "src": "80681:61:23" } ] }, "documentation": { - "id": 3996, + "id": 5602, "nodeType": "StructuredDocumentation", - "src": "80241:191:10", + "src": "80241:191:23", "text": "@dev Returns the address of the ERC1967I proxy of `implementation`, with `salt` by `deployer`.\n Note: The returned result has dirty upper 96 bits. Please clean if used in assembly." }, - "id": 4022, + "id": 5628, "implemented": true, "kind": "function", "modifiers": [], "name": "predictDeterministicAddressERC1967I", - "nameLocation": "80446:35:10", + "nameLocation": "80446:35:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4003, + "id": 5609, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3998, + "id": 5604, "mutability": "mutable", "name": "implementation", - "nameLocation": "80499:14:10", + "nameLocation": "80499:14:23", "nodeType": "VariableDeclaration", - "scope": 4022, - "src": "80491:22:10", + "scope": 5628, + "src": "80491:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -118602,10 +137577,10 @@ "typeString": "address" }, "typeName": { - "id": 3997, + "id": 5603, "name": "address", "nodeType": "ElementaryTypeName", - "src": "80491:7:10", + "src": "80491:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -118616,13 +137591,13 @@ }, { "constant": false, - "id": 4000, + "id": 5606, "mutability": "mutable", "name": "salt", - "nameLocation": "80531:4:10", + "nameLocation": "80531:4:23", "nodeType": "VariableDeclaration", - "scope": 4022, - "src": "80523:12:10", + "scope": 5628, + "src": "80523:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -118630,10 +137605,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 3999, + "id": 5605, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "80523:7:10", + "src": "80523:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -118643,13 +137618,13 @@ }, { "constant": false, - "id": 4002, + "id": 5608, "mutability": "mutable", "name": "deployer", - "nameLocation": "80553:8:10", + "nameLocation": "80553:8:23", "nodeType": "VariableDeclaration", - "scope": 4022, - "src": "80545:16:10", + "scope": 5628, + "src": "80545:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -118657,10 +137632,10 @@ "typeString": "address" }, "typeName": { - "id": 4001, + "id": 5607, "name": "address", "nodeType": "ElementaryTypeName", - "src": "80545:7:10", + "src": "80545:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -118670,21 +137645,21 @@ "visibility": "internal" } ], - "src": "80481:86:10" + "src": "80481:86:23" }, "returnParameters": { - "id": 4006, + "id": 5612, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4005, + "id": 5611, "mutability": "mutable", "name": "predicted", - "nameLocation": "80599:9:10", + "nameLocation": "80599:9:23", "nodeType": "VariableDeclaration", - "scope": 4022, - "src": "80591:17:10", + "scope": 5628, + "src": "80591:17:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -118692,10 +137667,10 @@ "typeString": "address" }, "typeName": { - "id": 4004, + "id": 5610, "name": "address", "nodeType": "ElementaryTypeName", - "src": "80591:7:10", + "src": "80591:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -118705,33 +137680,33 @@ "visibility": "internal" } ], - "src": "80590:19:10" + "src": "80590:19:23" }, - "scope": 5093, - "src": "80437:312:10", + "scope": 6699, + "src": "80437:312:23", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4038, + "id": 5644, "nodeType": "Block", - "src": "81212:63:10", + "src": "81212:63:23", "statements": [ { "expression": { "arguments": [ { "hexValue": "30", - "id": 4033, + "id": 5639, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "81244:1:10", + "src": "81244:1:23", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -118739,24 +137714,24 @@ "value": "0" }, { - "id": 4034, + "id": 5640, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4025, - "src": "81247:14:10", + "referencedDeclaration": 5631, + "src": "81247:14:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 4035, + "id": 5641, "name": "args", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4027, - "src": "81263:4:10", + "referencedDeclaration": 5633, + "src": "81263:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -118778,23 +137753,23 @@ "typeString": "bytes memory" } ], - "id": 4032, + "id": 5638, "name": "deployERC1967I", "nodeType": "Identifier", "overloadedDeclarations": [ - 3895, - 3907, - 4039, - 4053 + 5501, + 5513, + 5645, + 5659 ], - "referencedDeclaration": 4053, - "src": "81229:14:10", + "referencedDeclaration": 5659, + "src": "81229:14:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$_t_address_$", "typeString": "function (uint256,address,bytes memory) returns (address)" } }, - "id": 4036, + "id": 5642, "isConstant": false, "isLValue": false, "isPure": false, @@ -118803,46 +137778,46 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "81229:39:10", + "src": "81229:39:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 4031, - "id": 4037, + "functionReturnParameters": 5637, + "id": 5643, "nodeType": "Return", - "src": "81222:46:10" + "src": "81222:46:23" } ] }, "documentation": { - "id": 4023, + "id": 5629, "nodeType": "StructuredDocumentation", - "src": "81038:75:10", + "src": "81038:75:23", "text": "@dev Deploys a minimal ERC1967I proxy with `implementation` and `args`." }, - "id": 4039, + "id": 5645, "implemented": true, "kind": "function", "modifiers": [], "name": "deployERC1967I", - "nameLocation": "81127:14:10", + "nameLocation": "81127:14:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4028, + "id": 5634, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4025, + "id": 5631, "mutability": "mutable", "name": "implementation", - "nameLocation": "81150:14:10", + "nameLocation": "81150:14:23", "nodeType": "VariableDeclaration", - "scope": 4039, - "src": "81142:22:10", + "scope": 5645, + "src": "81142:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -118850,10 +137825,10 @@ "typeString": "address" }, "typeName": { - "id": 4024, + "id": 5630, "name": "address", "nodeType": "ElementaryTypeName", - "src": "81142:7:10", + "src": "81142:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -118864,13 +137839,13 @@ }, { "constant": false, - "id": 4027, + "id": 5633, "mutability": "mutable", "name": "args", - "nameLocation": "81179:4:10", + "nameLocation": "81179:4:23", "nodeType": "VariableDeclaration", - "scope": 4039, - "src": "81166:17:10", + "scope": 5645, + "src": "81166:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -118878,10 +137853,10 @@ "typeString": "bytes" }, "typeName": { - "id": 4026, + "id": 5632, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "81166:5:10", + "src": "81166:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -118890,21 +137865,21 @@ "visibility": "internal" } ], - "src": "81141:43:10" + "src": "81141:43:23" }, "returnParameters": { - "id": 4031, + "id": 5637, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4030, + "id": 5636, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 4039, - "src": "81203:7:10", + "scope": 5645, + "src": "81203:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -118912,10 +137887,10 @@ "typeString": "address" }, "typeName": { - "id": 4029, + "id": 5635, "name": "address", "nodeType": "ElementaryTypeName", - "src": "81203:7:10", + "src": "81203:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -118925,90 +137900,90 @@ "visibility": "internal" } ], - "src": "81202:9:10" + "src": "81202:9:23" }, - "scope": 5093, - "src": "81118:157:10", + "scope": 6699, + "src": "81118:157:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4052, + "id": 5658, "nodeType": "Block", - "src": "81547:943:10", + "src": "81547:943:23", "statements": [ { "AST": { - "nativeSrc": "81609:875:10", + "nativeSrc": "81609:875:23", "nodeType": "YulBlock", - "src": "81609:875:10", + "src": "81609:875:23", "statements": [ { - "nativeSrc": "81623:20:10", + "nativeSrc": "81623:20:23", "nodeType": "YulVariableDeclaration", - "src": "81623:20:10", + "src": "81623:20:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "81638:4:10", + "nativeSrc": "81638:4:23", "nodeType": "YulLiteral", - "src": "81638:4:10", + "src": "81638:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "81632:5:10", + "nativeSrc": "81632:5:23", "nodeType": "YulIdentifier", - "src": "81632:5:10" + "src": "81632:5:23" }, - "nativeSrc": "81632:11:10", + "nativeSrc": "81632:11:23", "nodeType": "YulFunctionCall", - "src": "81632:11:10" + "src": "81632:11:23" }, "variables": [ { "name": "m", - "nativeSrc": "81627:1:10", + "nativeSrc": "81627:1:23", "nodeType": "YulTypedName", - "src": "81627:1:10", + "src": "81627:1:23", "type": "" } ] }, { - "nativeSrc": "81656:20:10", + "nativeSrc": "81656:20:23", "nodeType": "YulVariableDeclaration", - "src": "81656:20:10", + "src": "81656:20:23", "value": { "arguments": [ { "name": "args", - "nativeSrc": "81671:4:10", + "nativeSrc": "81671:4:23", "nodeType": "YulIdentifier", - "src": "81671:4:10" + "src": "81671:4:23" } ], "functionName": { "name": "mload", - "nativeSrc": "81665:5:10", + "nativeSrc": "81665:5:23", "nodeType": "YulIdentifier", - "src": "81665:5:10" + "src": "81665:5:23" }, - "nativeSrc": "81665:11:10", + "nativeSrc": "81665:11:23", "nodeType": "YulFunctionCall", - "src": "81665:11:10" + "src": "81665:11:23" }, "variables": [ { "name": "n", - "nativeSrc": "81660:1:10", + "nativeSrc": "81660:1:23", "nodeType": "YulTypedName", - "src": "81660:1:10", + "src": "81660:1:23", "type": "" } ] @@ -119022,19 +137997,19 @@ "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "81704:3:10", + "nativeSrc": "81704:3:23", "nodeType": "YulIdentifier", - "src": "81704:3:10" + "src": "81704:3:23" }, - "nativeSrc": "81704:5:10", + "nativeSrc": "81704:5:23", "nodeType": "YulFunctionCall", - "src": "81704:5:10" + "src": "81704:5:23" }, { "kind": "number", - "nativeSrc": "81711:1:10", + "nativeSrc": "81711:1:23", "nodeType": "YulLiteral", - "src": "81711:1:10", + "src": "81711:1:23", "type": "", "value": "4" }, @@ -119042,93 +138017,93 @@ "arguments": [ { "name": "args", - "nativeSrc": "81718:4:10", + "nativeSrc": "81718:4:23", "nodeType": "YulIdentifier", - "src": "81718:4:10" + "src": "81718:4:23" }, { "kind": "number", - "nativeSrc": "81724:4:10", + "nativeSrc": "81724:4:23", "nodeType": "YulLiteral", - "src": "81724:4:10", + "src": "81724:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "81714:3:10", + "nativeSrc": "81714:3:23", "nodeType": "YulIdentifier", - "src": "81714:3:10" + "src": "81714:3:23" }, - "nativeSrc": "81714:15:10", + "nativeSrc": "81714:15:23", "nodeType": "YulFunctionCall", - "src": "81714:15:10" + "src": "81714:15:23" }, { "name": "n", - "nativeSrc": "81731:1:10", + "nativeSrc": "81731:1:23", "nodeType": "YulIdentifier", - "src": "81731:1:10" + "src": "81731:1:23" }, { "arguments": [ { "name": "m", - "nativeSrc": "81738:1:10", + "nativeSrc": "81738:1:23", "nodeType": "YulIdentifier", - "src": "81738:1:10" + "src": "81738:1:23" }, { "kind": "number", - "nativeSrc": "81741:4:10", + "nativeSrc": "81741:4:23", "nodeType": "YulLiteral", - "src": "81741:4:10", + "src": "81741:4:23", "type": "", "value": "0x8b" } ], "functionName": { "name": "add", - "nativeSrc": "81734:3:10", + "nativeSrc": "81734:3:23", "nodeType": "YulIdentifier", - "src": "81734:3:10" + "src": "81734:3:23" }, - "nativeSrc": "81734:12:10", + "nativeSrc": "81734:12:23", "nodeType": "YulFunctionCall", - "src": "81734:12:10" + "src": "81734:12:23" }, { "name": "n", - "nativeSrc": "81748:1:10", + "nativeSrc": "81748:1:23", "nodeType": "YulIdentifier", - "src": "81748:1:10" + "src": "81748:1:23" } ], "functionName": { "name": "staticcall", - "nativeSrc": "81693:10:10", + "nativeSrc": "81693:10:23", "nodeType": "YulIdentifier", - "src": "81693:10:10" + "src": "81693:10:23" }, - "nativeSrc": "81693:57:10", + "nativeSrc": "81693:57:23", "nodeType": "YulFunctionCall", - "src": "81693:57:10" + "src": "81693:57:23" } ], "functionName": { "name": "pop", - "nativeSrc": "81689:3:10", + "nativeSrc": "81689:3:23", "nodeType": "YulIdentifier", - "src": "81689:3:10" + "src": "81689:3:23" }, - "nativeSrc": "81689:62:10", + "nativeSrc": "81689:62:23", "nodeType": "YulFunctionCall", - "src": "81689:62:10" + "src": "81689:62:23" }, - "nativeSrc": "81689:62:10", + "nativeSrc": "81689:62:23", "nodeType": "YulExpressionStatement", - "src": "81689:62:10" + "src": "81689:62:23" }, { "expression": { @@ -119137,51 +138112,51 @@ "arguments": [ { "name": "m", - "nativeSrc": "81776:1:10", + "nativeSrc": "81776:1:23", "nodeType": "YulIdentifier", - "src": "81776:1:10" + "src": "81776:1:23" }, { "kind": "number", - "nativeSrc": "81779:4:10", + "nativeSrc": "81779:4:23", "nodeType": "YulLiteral", - "src": "81779:4:10", + "src": "81779:4:23", "type": "", "value": "0x6b" } ], "functionName": { "name": "add", - "nativeSrc": "81772:3:10", + "nativeSrc": "81772:3:23", "nodeType": "YulIdentifier", - "src": "81772:3:10" + "src": "81772:3:23" }, - "nativeSrc": "81772:12:10", + "nativeSrc": "81772:12:23", "nodeType": "YulFunctionCall", - "src": "81772:12:10" + "src": "81772:12:23" }, { "kind": "number", - "nativeSrc": "81786:66:10", + "nativeSrc": "81786:66:23", "nodeType": "YulLiteral", - "src": "81786:66:10", + "src": "81786:66:23", "type": "", "value": "0x3d6000803e603e573d6000fd5b3d6000f35b6020600f3d393d51543d52593df3" } ], "functionName": { "name": "mstore", - "nativeSrc": "81765:6:10", + "nativeSrc": "81765:6:23", "nodeType": "YulIdentifier", - "src": "81765:6:10" + "src": "81765:6:23" }, - "nativeSrc": "81765:88:10", + "nativeSrc": "81765:88:23", "nodeType": "YulFunctionCall", - "src": "81765:88:10" + "src": "81765:88:23" }, - "nativeSrc": "81765:88:10", + "nativeSrc": "81765:88:23", "nodeType": "YulExpressionStatement", - "src": "81765:88:10" + "src": "81765:88:23" }, { "expression": { @@ -119190,51 +138165,51 @@ "arguments": [ { "name": "m", - "nativeSrc": "81877:1:10", + "nativeSrc": "81877:1:23", "nodeType": "YulIdentifier", - "src": "81877:1:10" + "src": "81877:1:23" }, { "kind": "number", - "nativeSrc": "81880:4:10", + "nativeSrc": "81880:4:23", "nodeType": "YulLiteral", - "src": "81880:4:10", + "src": "81880:4:23", "type": "", "value": "0x4b" } ], "functionName": { "name": "add", - "nativeSrc": "81873:3:10", + "nativeSrc": "81873:3:23", "nodeType": "YulIdentifier", - "src": "81873:3:10" + "src": "81873:3:23" }, - "nativeSrc": "81873:12:10", + "nativeSrc": "81873:12:23", "nodeType": "YulFunctionCall", - "src": "81873:12:10" + "src": "81873:12:23" }, { "kind": "number", - "nativeSrc": "81887:66:10", + "nativeSrc": "81887:66:23", "nodeType": "YulLiteral", - "src": "81887:66:10", + "src": "81887:66:23", "type": "", "value": "0xa13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af4" } ], "functionName": { "name": "mstore", - "nativeSrc": "81866:6:10", + "nativeSrc": "81866:6:23", "nodeType": "YulIdentifier", - "src": "81866:6:10" + "src": "81866:6:23" }, - "nativeSrc": "81866:88:10", + "nativeSrc": "81866:88:23", "nodeType": "YulFunctionCall", - "src": "81866:88:10" + "src": "81866:88:23" }, - "nativeSrc": "81866:88:10", + "nativeSrc": "81866:88:23", "nodeType": "YulExpressionStatement", - "src": "81866:88:10" + "src": "81866:88:23" }, { "expression": { @@ -119243,51 +138218,51 @@ "arguments": [ { "name": "m", - "nativeSrc": "81978:1:10", + "nativeSrc": "81978:1:23", "nodeType": "YulIdentifier", - "src": "81978:1:10" + "src": "81978:1:23" }, { "kind": "number", - "nativeSrc": "81981:4:10", + "nativeSrc": "81981:4:23", "nodeType": "YulLiteral", - "src": "81981:4:10", + "src": "81981:4:23", "type": "", "value": "0x2b" } ], "functionName": { "name": "add", - "nativeSrc": "81974:3:10", + "nativeSrc": "81974:3:23", "nodeType": "YulIdentifier", - "src": "81974:3:10" + "src": "81974:3:23" }, - "nativeSrc": "81974:12:10", + "nativeSrc": "81974:12:23", "nodeType": "YulFunctionCall", - "src": "81974:12:10" + "src": "81974:12:23" }, { "kind": "number", - "nativeSrc": "81988:48:10", + "nativeSrc": "81988:48:23", "nodeType": "YulLiteral", - "src": "81988:48:10", + "src": "81988:48:23", "type": "", "value": "0x600f5155f3365814604357363d3d373d3d363d7f360894" } ], "functionName": { "name": "mstore", - "nativeSrc": "81967:6:10", + "nativeSrc": "81967:6:23", "nodeType": "YulIdentifier", - "src": "81967:6:10" + "src": "81967:6:23" }, - "nativeSrc": "81967:70:10", + "nativeSrc": "81967:70:23", "nodeType": "YulFunctionCall", - "src": "81967:70:10" + "src": "81967:70:23" }, - "nativeSrc": "81967:70:10", + "nativeSrc": "81967:70:23", "nodeType": "YulExpressionStatement", - "src": "81967:70:10" + "src": "81967:70:23" }, { "expression": { @@ -119296,66 +138271,66 @@ "arguments": [ { "name": "m", - "nativeSrc": "82061:1:10", + "nativeSrc": "82061:1:23", "nodeType": "YulIdentifier", - "src": "82061:1:10" + "src": "82061:1:23" }, { "kind": "number", - "nativeSrc": "82064:4:10", + "nativeSrc": "82064:4:23", "nodeType": "YulLiteral", - "src": "82064:4:10", + "src": "82064:4:23", "type": "", "value": "0x14" } ], "functionName": { "name": "add", - "nativeSrc": "82057:3:10", + "nativeSrc": "82057:3:23", "nodeType": "YulIdentifier", - "src": "82057:3:10" + "src": "82057:3:23" }, - "nativeSrc": "82057:12:10", + "nativeSrc": "82057:12:23", "nodeType": "YulFunctionCall", - "src": "82057:12:10" + "src": "82057:12:23" }, { "name": "implementation", - "nativeSrc": "82071:14:10", + "nativeSrc": "82071:14:23", "nodeType": "YulIdentifier", - "src": "82071:14:10" + "src": "82071:14:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "82050:6:10", + "nativeSrc": "82050:6:23", "nodeType": "YulIdentifier", - "src": "82050:6:10" + "src": "82050:6:23" }, - "nativeSrc": "82050:36:10", + "nativeSrc": "82050:36:23", "nodeType": "YulFunctionCall", - "src": "82050:36:10" + "src": "82050:36:23" }, - "nativeSrc": "82050:36:10", + "nativeSrc": "82050:36:23", "nodeType": "YulExpressionStatement", - "src": "82050:36:10" + "src": "82050:36:23" }, { "expression": { "arguments": [ { "name": "m", - "nativeSrc": "82106:1:10", + "nativeSrc": "82106:1:23", "nodeType": "YulIdentifier", - "src": "82106:1:10" + "src": "82106:1:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "82113:24:10", + "nativeSrc": "82113:24:23", "nodeType": "YulLiteral", - "src": "82113:24:10", + "src": "82113:24:23", "type": "", "value": "0xfe6100523d8160233d3973" }, @@ -119363,82 +138338,82 @@ "arguments": [ { "kind": "number", - "nativeSrc": "82143:2:10", + "nativeSrc": "82143:2:23", "nodeType": "YulLiteral", - "src": "82143:2:10", + "src": "82143:2:23", "type": "", "value": "56" }, { "name": "n", - "nativeSrc": "82147:1:10", + "nativeSrc": "82147:1:23", "nodeType": "YulIdentifier", - "src": "82147:1:10" + "src": "82147:1:23" } ], "functionName": { "name": "shl", - "nativeSrc": "82139:3:10", + "nativeSrc": "82139:3:23", "nodeType": "YulIdentifier", - "src": "82139:3:10" + "src": "82139:3:23" }, - "nativeSrc": "82139:10:10", + "nativeSrc": "82139:10:23", "nodeType": "YulFunctionCall", - "src": "82139:10:10" + "src": "82139:10:23" } ], "functionName": { "name": "add", - "nativeSrc": "82109:3:10", + "nativeSrc": "82109:3:23", "nodeType": "YulIdentifier", - "src": "82109:3:10" + "src": "82109:3:23" }, - "nativeSrc": "82109:41:10", + "nativeSrc": "82109:41:23", "nodeType": "YulFunctionCall", - "src": "82109:41:10" + "src": "82109:41:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "82099:6:10", + "nativeSrc": "82099:6:23", "nodeType": "YulIdentifier", - "src": "82099:6:10" + "src": "82099:6:23" }, - "nativeSrc": "82099:52:10", + "nativeSrc": "82099:52:23", "nodeType": "YulFunctionCall", - "src": "82099:52:10" + "src": "82099:52:23" }, - "nativeSrc": "82099:52:10", + "nativeSrc": "82099:52:23", "nodeType": "YulExpressionStatement", - "src": "82099:52:10" + "src": "82099:52:23" }, { - "nativeSrc": "82252:73:10", + "nativeSrc": "82252:73:23", "nodeType": "YulAssignment", - "src": "82252:73:10", + "src": "82252:73:23", "value": { "arguments": [ { "name": "value", - "nativeSrc": "82271:5:10", + "nativeSrc": "82271:5:23", "nodeType": "YulIdentifier", - "src": "82271:5:10" + "src": "82271:5:23" }, { "arguments": [ { "name": "m", - "nativeSrc": "82282:1:10", + "nativeSrc": "82282:1:23", "nodeType": "YulIdentifier", - "src": "82282:1:10" + "src": "82282:1:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "82289:4:10", + "nativeSrc": "82289:4:23", "nodeType": "YulLiteral", - "src": "82289:4:10", + "src": "82289:4:23", "type": "", "value": "0x15" }, @@ -119446,171 +138421,171 @@ "arguments": [ { "name": "n", - "nativeSrc": "82298:1:10", + "nativeSrc": "82298:1:23", "nodeType": "YulIdentifier", - "src": "82298:1:10" + "src": "82298:1:23" }, { "kind": "number", - "nativeSrc": "82301:6:10", + "nativeSrc": "82301:6:23", "nodeType": "YulLiteral", - "src": "82301:6:10", + "src": "82301:6:23", "type": "", "value": "0xffae" } ], "functionName": { "name": "lt", - "nativeSrc": "82295:2:10", + "nativeSrc": "82295:2:23", "nodeType": "YulIdentifier", - "src": "82295:2:10" + "src": "82295:2:23" }, - "nativeSrc": "82295:13:10", + "nativeSrc": "82295:13:23", "nodeType": "YulFunctionCall", - "src": "82295:13:10" + "src": "82295:13:23" } ], "functionName": { "name": "add", - "nativeSrc": "82285:3:10", + "nativeSrc": "82285:3:23", "nodeType": "YulIdentifier", - "src": "82285:3:10" + "src": "82285:3:23" }, - "nativeSrc": "82285:24:10", + "nativeSrc": "82285:24:23", "nodeType": "YulFunctionCall", - "src": "82285:24:10" + "src": "82285:24:23" } ], "functionName": { "name": "add", - "nativeSrc": "82278:3:10", + "nativeSrc": "82278:3:23", "nodeType": "YulIdentifier", - "src": "82278:3:10" + "src": "82278:3:23" }, - "nativeSrc": "82278:32:10", + "nativeSrc": "82278:32:23", "nodeType": "YulFunctionCall", - "src": "82278:32:10" + "src": "82278:32:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "82316:4:10", + "nativeSrc": "82316:4:23", "nodeType": "YulLiteral", - "src": "82316:4:10", + "src": "82316:4:23", "type": "", "value": "0x75" }, { "name": "n", - "nativeSrc": "82322:1:10", + "nativeSrc": "82322:1:23", "nodeType": "YulIdentifier", - "src": "82322:1:10" + "src": "82322:1:23" } ], "functionName": { "name": "add", - "nativeSrc": "82312:3:10", + "nativeSrc": "82312:3:23", "nodeType": "YulIdentifier", - "src": "82312:3:10" + "src": "82312:3:23" }, - "nativeSrc": "82312:12:10", + "nativeSrc": "82312:12:23", "nodeType": "YulFunctionCall", - "src": "82312:12:10" + "src": "82312:12:23" } ], "functionName": { "name": "create", - "nativeSrc": "82264:6:10", + "nativeSrc": "82264:6:23", "nodeType": "YulIdentifier", - "src": "82264:6:10" + "src": "82264:6:23" }, - "nativeSrc": "82264:61:10", + "nativeSrc": "82264:61:23", "nodeType": "YulFunctionCall", - "src": "82264:61:10" + "src": "82264:61:23" }, "variableNames": [ { "name": "instance", - "nativeSrc": "82252:8:10", + "nativeSrc": "82252:8:23", "nodeType": "YulIdentifier", - "src": "82252:8:10" + "src": "82252:8:23" } ] }, { "body": { - "nativeSrc": "82358:116:10", + "nativeSrc": "82358:116:23", "nodeType": "YulBlock", - "src": "82358:116:10", + "src": "82358:116:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "82383:4:10", + "nativeSrc": "82383:4:23", "nodeType": "YulLiteral", - "src": "82383:4:10", + "src": "82383:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "82389:10:10", + "nativeSrc": "82389:10:23", "nodeType": "YulLiteral", - "src": "82389:10:10", + "src": "82389:10:23", "type": "", "value": "0x30116425" } ], "functionName": { "name": "mstore", - "nativeSrc": "82376:6:10", + "nativeSrc": "82376:6:23", "nodeType": "YulIdentifier", - "src": "82376:6:10" + "src": "82376:6:23" }, - "nativeSrc": "82376:24:10", + "nativeSrc": "82376:24:23", "nodeType": "YulFunctionCall", - "src": "82376:24:10" + "src": "82376:24:23" }, - "nativeSrc": "82376:24:10", + "nativeSrc": "82376:24:23", "nodeType": "YulExpressionStatement", - "src": "82376:24:10" + "src": "82376:24:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "82449:4:10", + "nativeSrc": "82449:4:23", "nodeType": "YulLiteral", - "src": "82449:4:10", + "src": "82449:4:23", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "82455:4:10", + "nativeSrc": "82455:4:23", "nodeType": "YulLiteral", - "src": "82455:4:10", + "src": "82455:4:23", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "82442:6:10", + "nativeSrc": "82442:6:23", "nodeType": "YulIdentifier", - "src": "82442:6:10" + "src": "82442:6:23" }, - "nativeSrc": "82442:18:10", + "nativeSrc": "82442:18:23", "nodeType": "YulFunctionCall", - "src": "82442:18:10" + "src": "82442:18:23" }, - "nativeSrc": "82442:18:10", + "nativeSrc": "82442:18:23", "nodeType": "YulExpressionStatement", - "src": "82442:18:10" + "src": "82442:18:23" } ] }, @@ -119618,24 +138593,24 @@ "arguments": [ { "name": "instance", - "nativeSrc": "82348:8:10", + "nativeSrc": "82348:8:23", "nodeType": "YulIdentifier", - "src": "82348:8:10" + "src": "82348:8:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "82341:6:10", + "nativeSrc": "82341:6:23", "nodeType": "YulIdentifier", - "src": "82341:6:10" + "src": "82341:6:23" }, - "nativeSrc": "82341:16:10", + "nativeSrc": "82341:16:23", "nodeType": "YulFunctionCall", - "src": "82341:16:10" + "src": "82341:16:23" }, - "nativeSrc": "82338:136:10", + "nativeSrc": "82338:136:23", "nodeType": "YulIf", - "src": "82338:136:10" + "src": "82338:136:23" } ] }, @@ -119643,80 +138618,80 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4046, + "declaration": 5652, "isOffset": false, "isSlot": false, - "src": "81671:4:10", + "src": "81671:4:23", "valueSize": 1 }, { - "declaration": 4046, + "declaration": 5652, "isOffset": false, "isSlot": false, - "src": "81718:4:10", + "src": "81718:4:23", "valueSize": 1 }, { - "declaration": 4044, + "declaration": 5650, "isOffset": false, "isSlot": false, - "src": "82071:14:10", + "src": "82071:14:23", "valueSize": 1 }, { - "declaration": 4049, + "declaration": 5655, "isOffset": false, "isSlot": false, - "src": "82252:8:10", + "src": "82252:8:23", "valueSize": 1 }, { - "declaration": 4049, + "declaration": 5655, "isOffset": false, "isSlot": false, - "src": "82348:8:10", + "src": "82348:8:23", "valueSize": 1 }, { - "declaration": 4042, + "declaration": 5648, "isOffset": false, "isSlot": false, - "src": "82271:5:10", + "src": "82271:5:23", "valueSize": 1 } ], - "id": 4051, + "id": 5657, "nodeType": "InlineAssembly", - "src": "81600:884:10" + "src": "81600:884:23" } ] }, "documentation": { - "id": 4040, + "id": 5646, "nodeType": "StructuredDocumentation", - "src": "81281:123:10", + "src": "81281:123:23", "text": "@dev Deploys a minimal ERC1967I proxy with `implementation` and `args`.\n Deposits `value` ETH during deployment." }, - "id": 4053, + "id": 5659, "implemented": true, "kind": "function", "modifiers": [], "name": "deployERC1967I", - "nameLocation": "81418:14:10", + "nameLocation": "81418:14:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4047, + "id": 5653, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4042, + "id": 5648, "mutability": "mutable", "name": "value", - "nameLocation": "81441:5:10", + "nameLocation": "81441:5:23", "nodeType": "VariableDeclaration", - "scope": 4053, - "src": "81433:13:10", + "scope": 5659, + "src": "81433:13:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -119724,10 +138699,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4041, + "id": 5647, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "81433:7:10", + "src": "81433:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -119737,13 +138712,13 @@ }, { "constant": false, - "id": 4044, + "id": 5650, "mutability": "mutable", "name": "implementation", - "nameLocation": "81456:14:10", + "nameLocation": "81456:14:23", "nodeType": "VariableDeclaration", - "scope": 4053, - "src": "81448:22:10", + "scope": 5659, + "src": "81448:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -119751,10 +138726,10 @@ "typeString": "address" }, "typeName": { - "id": 4043, + "id": 5649, "name": "address", "nodeType": "ElementaryTypeName", - "src": "81448:7:10", + "src": "81448:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -119765,13 +138740,13 @@ }, { "constant": false, - "id": 4046, + "id": 5652, "mutability": "mutable", "name": "args", - "nameLocation": "81485:4:10", + "nameLocation": "81485:4:23", "nodeType": "VariableDeclaration", - "scope": 4053, - "src": "81472:17:10", + "scope": 5659, + "src": "81472:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -119779,10 +138754,10 @@ "typeString": "bytes" }, "typeName": { - "id": 4045, + "id": 5651, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "81472:5:10", + "src": "81472:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -119791,21 +138766,21 @@ "visibility": "internal" } ], - "src": "81432:58:10" + "src": "81432:58:23" }, "returnParameters": { - "id": 4050, + "id": 5656, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4049, + "id": 5655, "mutability": "mutable", "name": "instance", - "nameLocation": "81533:8:10", + "nameLocation": "81533:8:23", "nodeType": "VariableDeclaration", - "scope": 4053, - "src": "81525:16:10", + "scope": 5659, + "src": "81525:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -119813,10 +138788,10 @@ "typeString": "address" }, "typeName": { - "id": 4048, + "id": 5654, "name": "address", "nodeType": "ElementaryTypeName", - "src": "81525:7:10", + "src": "81525:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -119826,34 +138801,34 @@ "visibility": "internal" } ], - "src": "81524:18:10" + "src": "81524:18:23" }, - "scope": 5093, - "src": "81409:1081:10", + "scope": 6699, + "src": "81409:1081:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4074, + "id": 5680, "nodeType": "Block", - "src": "82741:86:10", + "src": "82741:86:23", "statements": [ { "expression": { - "id": 4072, + "id": 5678, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 4065, + "id": 5671, "name": "instance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4063, - "src": "82751:8:10", + "referencedDeclaration": 5669, + "src": "82751:8:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -119865,14 +138840,14 @@ "arguments": [ { "hexValue": "30", - "id": 4067, + "id": 5673, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "82790:1:10", + "src": "82790:1:23", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -119880,36 +138855,36 @@ "value": "0" }, { - "id": 4068, + "id": 5674, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4056, - "src": "82793:14:10", + "referencedDeclaration": 5662, + "src": "82793:14:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 4069, + "id": 5675, "name": "args", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4058, - "src": "82809:4:10", + "referencedDeclaration": 5664, + "src": "82809:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { - "id": 4070, + "id": 5676, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4060, - "src": "82815:4:10", + "referencedDeclaration": 5666, + "src": "82815:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -119935,23 +138910,23 @@ "typeString": "bytes32" } ], - "id": 4066, + "id": 5672, "name": "deployDeterministicERC1967I", "nodeType": "Identifier", "overloadedDeclarations": [ - 3926, - 3940, - 4075, - 4091 + 5532, + 5546, + 5681, + 5697 ], - "referencedDeclaration": 4091, - "src": "82762:27:10", + "referencedDeclaration": 5697, + "src": "82762:27:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$_t_bytes32_$returns$_t_address_$", "typeString": "function (uint256,address,bytes memory,bytes32) returns (address)" } }, - "id": 4071, + "id": 5677, "isConstant": false, "isLValue": false, "isPure": false, @@ -119960,51 +138935,51 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "82762:58:10", + "src": "82762:58:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "82751:69:10", + "src": "82751:69:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 4073, + "id": 5679, "nodeType": "ExpressionStatement", - "src": "82751:69:10" + "src": "82751:69:23" } ] }, "documentation": { - "id": 4054, + "id": 5660, "nodeType": "StructuredDocumentation", - "src": "82496:90:10", + "src": "82496:90:23", "text": "@dev Deploys a deterministic ERC1967I proxy with `implementation`, `args`, and `salt`." }, - "id": 4075, + "id": 5681, "implemented": true, "kind": "function", "modifiers": [], "name": "deployDeterministicERC1967I", - "nameLocation": "82600:27:10", + "nameLocation": "82600:27:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4061, + "id": 5667, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4056, + "id": 5662, "mutability": "mutable", "name": "implementation", - "nameLocation": "82636:14:10", + "nameLocation": "82636:14:23", "nodeType": "VariableDeclaration", - "scope": 4075, - "src": "82628:22:10", + "scope": 5681, + "src": "82628:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -120012,10 +138987,10 @@ "typeString": "address" }, "typeName": { - "id": 4055, + "id": 5661, "name": "address", "nodeType": "ElementaryTypeName", - "src": "82628:7:10", + "src": "82628:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -120026,13 +139001,13 @@ }, { "constant": false, - "id": 4058, + "id": 5664, "mutability": "mutable", "name": "args", - "nameLocation": "82665:4:10", + "nameLocation": "82665:4:23", "nodeType": "VariableDeclaration", - "scope": 4075, - "src": "82652:17:10", + "scope": 5681, + "src": "82652:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -120040,10 +139015,10 @@ "typeString": "bytes" }, "typeName": { - "id": 4057, + "id": 5663, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "82652:5:10", + "src": "82652:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -120053,13 +139028,13 @@ }, { "constant": false, - "id": 4060, + "id": 5666, "mutability": "mutable", "name": "salt", - "nameLocation": "82679:4:10", + "nameLocation": "82679:4:23", "nodeType": "VariableDeclaration", - "scope": 4075, - "src": "82671:12:10", + "scope": 5681, + "src": "82671:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -120067,10 +139042,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4059, + "id": 5665, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "82671:7:10", + "src": "82671:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -120079,21 +139054,21 @@ "visibility": "internal" } ], - "src": "82627:57:10" + "src": "82627:57:23" }, "returnParameters": { - "id": 4064, + "id": 5670, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4063, + "id": 5669, "mutability": "mutable", "name": "instance", - "nameLocation": "82727:8:10", + "nameLocation": "82727:8:23", "nodeType": "VariableDeclaration", - "scope": 4075, - "src": "82719:16:10", + "scope": 5681, + "src": "82719:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -120101,10 +139076,10 @@ "typeString": "address" }, "typeName": { - "id": 4062, + "id": 5668, "name": "address", "nodeType": "ElementaryTypeName", - "src": "82719:7:10", + "src": "82719:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -120114,90 +139089,90 @@ "visibility": "internal" } ], - "src": "82718:18:10" + "src": "82718:18:23" }, - "scope": 5093, - "src": "82591:236:10", + "scope": 6699, + "src": "82591:236:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4090, + "id": 5696, "nodeType": "Block", - "src": "83159:950:10", + "src": "83159:950:23", "statements": [ { "AST": { - "nativeSrc": "83221:882:10", + "nativeSrc": "83221:882:23", "nodeType": "YulBlock", - "src": "83221:882:10", + "src": "83221:882:23", "statements": [ { - "nativeSrc": "83235:20:10", + "nativeSrc": "83235:20:23", "nodeType": "YulVariableDeclaration", - "src": "83235:20:10", + "src": "83235:20:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "83250:4:10", + "nativeSrc": "83250:4:23", "nodeType": "YulLiteral", - "src": "83250:4:10", + "src": "83250:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "83244:5:10", + "nativeSrc": "83244:5:23", "nodeType": "YulIdentifier", - "src": "83244:5:10" + "src": "83244:5:23" }, - "nativeSrc": "83244:11:10", + "nativeSrc": "83244:11:23", "nodeType": "YulFunctionCall", - "src": "83244:11:10" + "src": "83244:11:23" }, "variables": [ { "name": "m", - "nativeSrc": "83239:1:10", + "nativeSrc": "83239:1:23", "nodeType": "YulTypedName", - "src": "83239:1:10", + "src": "83239:1:23", "type": "" } ] }, { - "nativeSrc": "83268:20:10", + "nativeSrc": "83268:20:23", "nodeType": "YulVariableDeclaration", - "src": "83268:20:10", + "src": "83268:20:23", "value": { "arguments": [ { "name": "args", - "nativeSrc": "83283:4:10", + "nativeSrc": "83283:4:23", "nodeType": "YulIdentifier", - "src": "83283:4:10" + "src": "83283:4:23" } ], "functionName": { "name": "mload", - "nativeSrc": "83277:5:10", + "nativeSrc": "83277:5:23", "nodeType": "YulIdentifier", - "src": "83277:5:10" + "src": "83277:5:23" }, - "nativeSrc": "83277:11:10", + "nativeSrc": "83277:11:23", "nodeType": "YulFunctionCall", - "src": "83277:11:10" + "src": "83277:11:23" }, "variables": [ { "name": "n", - "nativeSrc": "83272:1:10", + "nativeSrc": "83272:1:23", "nodeType": "YulTypedName", - "src": "83272:1:10", + "src": "83272:1:23", "type": "" } ] @@ -120211,19 +139186,19 @@ "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "83316:3:10", + "nativeSrc": "83316:3:23", "nodeType": "YulIdentifier", - "src": "83316:3:10" + "src": "83316:3:23" }, - "nativeSrc": "83316:5:10", + "nativeSrc": "83316:5:23", "nodeType": "YulFunctionCall", - "src": "83316:5:10" + "src": "83316:5:23" }, { "kind": "number", - "nativeSrc": "83323:1:10", + "nativeSrc": "83323:1:23", "nodeType": "YulLiteral", - "src": "83323:1:10", + "src": "83323:1:23", "type": "", "value": "4" }, @@ -120231,93 +139206,93 @@ "arguments": [ { "name": "args", - "nativeSrc": "83330:4:10", + "nativeSrc": "83330:4:23", "nodeType": "YulIdentifier", - "src": "83330:4:10" + "src": "83330:4:23" }, { "kind": "number", - "nativeSrc": "83336:4:10", + "nativeSrc": "83336:4:23", "nodeType": "YulLiteral", - "src": "83336:4:10", + "src": "83336:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "83326:3:10", + "nativeSrc": "83326:3:23", "nodeType": "YulIdentifier", - "src": "83326:3:10" + "src": "83326:3:23" }, - "nativeSrc": "83326:15:10", + "nativeSrc": "83326:15:23", "nodeType": "YulFunctionCall", - "src": "83326:15:10" + "src": "83326:15:23" }, { "name": "n", - "nativeSrc": "83343:1:10", + "nativeSrc": "83343:1:23", "nodeType": "YulIdentifier", - "src": "83343:1:10" + "src": "83343:1:23" }, { "arguments": [ { "name": "m", - "nativeSrc": "83350:1:10", + "nativeSrc": "83350:1:23", "nodeType": "YulIdentifier", - "src": "83350:1:10" + "src": "83350:1:23" }, { "kind": "number", - "nativeSrc": "83353:4:10", + "nativeSrc": "83353:4:23", "nodeType": "YulLiteral", - "src": "83353:4:10", + "src": "83353:4:23", "type": "", "value": "0x8b" } ], "functionName": { "name": "add", - "nativeSrc": "83346:3:10", + "nativeSrc": "83346:3:23", "nodeType": "YulIdentifier", - "src": "83346:3:10" + "src": "83346:3:23" }, - "nativeSrc": "83346:12:10", + "nativeSrc": "83346:12:23", "nodeType": "YulFunctionCall", - "src": "83346:12:10" + "src": "83346:12:23" }, { "name": "n", - "nativeSrc": "83360:1:10", + "nativeSrc": "83360:1:23", "nodeType": "YulIdentifier", - "src": "83360:1:10" + "src": "83360:1:23" } ], "functionName": { "name": "staticcall", - "nativeSrc": "83305:10:10", + "nativeSrc": "83305:10:23", "nodeType": "YulIdentifier", - "src": "83305:10:10" + "src": "83305:10:23" }, - "nativeSrc": "83305:57:10", + "nativeSrc": "83305:57:23", "nodeType": "YulFunctionCall", - "src": "83305:57:10" + "src": "83305:57:23" } ], "functionName": { "name": "pop", - "nativeSrc": "83301:3:10", + "nativeSrc": "83301:3:23", "nodeType": "YulIdentifier", - "src": "83301:3:10" + "src": "83301:3:23" }, - "nativeSrc": "83301:62:10", + "nativeSrc": "83301:62:23", "nodeType": "YulFunctionCall", - "src": "83301:62:10" + "src": "83301:62:23" }, - "nativeSrc": "83301:62:10", + "nativeSrc": "83301:62:23", "nodeType": "YulExpressionStatement", - "src": "83301:62:10" + "src": "83301:62:23" }, { "expression": { @@ -120326,51 +139301,51 @@ "arguments": [ { "name": "m", - "nativeSrc": "83388:1:10", + "nativeSrc": "83388:1:23", "nodeType": "YulIdentifier", - "src": "83388:1:10" + "src": "83388:1:23" }, { "kind": "number", - "nativeSrc": "83391:4:10", + "nativeSrc": "83391:4:23", "nodeType": "YulLiteral", - "src": "83391:4:10", + "src": "83391:4:23", "type": "", "value": "0x6b" } ], "functionName": { "name": "add", - "nativeSrc": "83384:3:10", + "nativeSrc": "83384:3:23", "nodeType": "YulIdentifier", - "src": "83384:3:10" + "src": "83384:3:23" }, - "nativeSrc": "83384:12:10", + "nativeSrc": "83384:12:23", "nodeType": "YulFunctionCall", - "src": "83384:12:10" + "src": "83384:12:23" }, { "kind": "number", - "nativeSrc": "83398:66:10", + "nativeSrc": "83398:66:23", "nodeType": "YulLiteral", - "src": "83398:66:10", + "src": "83398:66:23", "type": "", "value": "0x3d6000803e603e573d6000fd5b3d6000f35b6020600f3d393d51543d52593df3" } ], "functionName": { "name": "mstore", - "nativeSrc": "83377:6:10", + "nativeSrc": "83377:6:23", "nodeType": "YulIdentifier", - "src": "83377:6:10" + "src": "83377:6:23" }, - "nativeSrc": "83377:88:10", + "nativeSrc": "83377:88:23", "nodeType": "YulFunctionCall", - "src": "83377:88:10" + "src": "83377:88:23" }, - "nativeSrc": "83377:88:10", + "nativeSrc": "83377:88:23", "nodeType": "YulExpressionStatement", - "src": "83377:88:10" + "src": "83377:88:23" }, { "expression": { @@ -120379,51 +139354,51 @@ "arguments": [ { "name": "m", - "nativeSrc": "83489:1:10", + "nativeSrc": "83489:1:23", "nodeType": "YulIdentifier", - "src": "83489:1:10" + "src": "83489:1:23" }, { "kind": "number", - "nativeSrc": "83492:4:10", + "nativeSrc": "83492:4:23", "nodeType": "YulLiteral", - "src": "83492:4:10", + "src": "83492:4:23", "type": "", "value": "0x4b" } ], "functionName": { "name": "add", - "nativeSrc": "83485:3:10", + "nativeSrc": "83485:3:23", "nodeType": "YulIdentifier", - "src": "83485:3:10" + "src": "83485:3:23" }, - "nativeSrc": "83485:12:10", + "nativeSrc": "83485:12:23", "nodeType": "YulFunctionCall", - "src": "83485:12:10" + "src": "83485:12:23" }, { "kind": "number", - "nativeSrc": "83499:66:10", + "nativeSrc": "83499:66:23", "nodeType": "YulLiteral", - "src": "83499:66:10", + "src": "83499:66:23", "type": "", "value": "0xa13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af4" } ], "functionName": { "name": "mstore", - "nativeSrc": "83478:6:10", + "nativeSrc": "83478:6:23", "nodeType": "YulIdentifier", - "src": "83478:6:10" + "src": "83478:6:23" }, - "nativeSrc": "83478:88:10", + "nativeSrc": "83478:88:23", "nodeType": "YulFunctionCall", - "src": "83478:88:10" + "src": "83478:88:23" }, - "nativeSrc": "83478:88:10", + "nativeSrc": "83478:88:23", "nodeType": "YulExpressionStatement", - "src": "83478:88:10" + "src": "83478:88:23" }, { "expression": { @@ -120432,51 +139407,51 @@ "arguments": [ { "name": "m", - "nativeSrc": "83590:1:10", + "nativeSrc": "83590:1:23", "nodeType": "YulIdentifier", - "src": "83590:1:10" + "src": "83590:1:23" }, { "kind": "number", - "nativeSrc": "83593:4:10", + "nativeSrc": "83593:4:23", "nodeType": "YulLiteral", - "src": "83593:4:10", + "src": "83593:4:23", "type": "", "value": "0x2b" } ], "functionName": { "name": "add", - "nativeSrc": "83586:3:10", + "nativeSrc": "83586:3:23", "nodeType": "YulIdentifier", - "src": "83586:3:10" + "src": "83586:3:23" }, - "nativeSrc": "83586:12:10", + "nativeSrc": "83586:12:23", "nodeType": "YulFunctionCall", - "src": "83586:12:10" + "src": "83586:12:23" }, { "kind": "number", - "nativeSrc": "83600:48:10", + "nativeSrc": "83600:48:23", "nodeType": "YulLiteral", - "src": "83600:48:10", + "src": "83600:48:23", "type": "", "value": "0x600f5155f3365814604357363d3d373d3d363d7f360894" } ], "functionName": { "name": "mstore", - "nativeSrc": "83579:6:10", + "nativeSrc": "83579:6:23", "nodeType": "YulIdentifier", - "src": "83579:6:10" + "src": "83579:6:23" }, - "nativeSrc": "83579:70:10", + "nativeSrc": "83579:70:23", "nodeType": "YulFunctionCall", - "src": "83579:70:10" + "src": "83579:70:23" }, - "nativeSrc": "83579:70:10", + "nativeSrc": "83579:70:23", "nodeType": "YulExpressionStatement", - "src": "83579:70:10" + "src": "83579:70:23" }, { "expression": { @@ -120485,66 +139460,66 @@ "arguments": [ { "name": "m", - "nativeSrc": "83673:1:10", + "nativeSrc": "83673:1:23", "nodeType": "YulIdentifier", - "src": "83673:1:10" + "src": "83673:1:23" }, { "kind": "number", - "nativeSrc": "83676:4:10", + "nativeSrc": "83676:4:23", "nodeType": "YulLiteral", - "src": "83676:4:10", + "src": "83676:4:23", "type": "", "value": "0x14" } ], "functionName": { "name": "add", - "nativeSrc": "83669:3:10", + "nativeSrc": "83669:3:23", "nodeType": "YulIdentifier", - "src": "83669:3:10" + "src": "83669:3:23" }, - "nativeSrc": "83669:12:10", + "nativeSrc": "83669:12:23", "nodeType": "YulFunctionCall", - "src": "83669:12:10" + "src": "83669:12:23" }, { "name": "implementation", - "nativeSrc": "83683:14:10", + "nativeSrc": "83683:14:23", "nodeType": "YulIdentifier", - "src": "83683:14:10" + "src": "83683:14:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "83662:6:10", + "nativeSrc": "83662:6:23", "nodeType": "YulIdentifier", - "src": "83662:6:10" + "src": "83662:6:23" }, - "nativeSrc": "83662:36:10", + "nativeSrc": "83662:36:23", "nodeType": "YulFunctionCall", - "src": "83662:36:10" + "src": "83662:36:23" }, - "nativeSrc": "83662:36:10", + "nativeSrc": "83662:36:23", "nodeType": "YulExpressionStatement", - "src": "83662:36:10" + "src": "83662:36:23" }, { "expression": { "arguments": [ { "name": "m", - "nativeSrc": "83718:1:10", + "nativeSrc": "83718:1:23", "nodeType": "YulIdentifier", - "src": "83718:1:10" + "src": "83718:1:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "83725:24:10", + "nativeSrc": "83725:24:23", "nodeType": "YulLiteral", - "src": "83725:24:10", + "src": "83725:24:23", "type": "", "value": "0xfe6100523d8160233d3973" }, @@ -120552,82 +139527,82 @@ "arguments": [ { "kind": "number", - "nativeSrc": "83755:2:10", + "nativeSrc": "83755:2:23", "nodeType": "YulLiteral", - "src": "83755:2:10", + "src": "83755:2:23", "type": "", "value": "56" }, { "name": "n", - "nativeSrc": "83759:1:10", + "nativeSrc": "83759:1:23", "nodeType": "YulIdentifier", - "src": "83759:1:10" + "src": "83759:1:23" } ], "functionName": { "name": "shl", - "nativeSrc": "83751:3:10", + "nativeSrc": "83751:3:23", "nodeType": "YulIdentifier", - "src": "83751:3:10" + "src": "83751:3:23" }, - "nativeSrc": "83751:10:10", + "nativeSrc": "83751:10:23", "nodeType": "YulFunctionCall", - "src": "83751:10:10" + "src": "83751:10:23" } ], "functionName": { "name": "add", - "nativeSrc": "83721:3:10", + "nativeSrc": "83721:3:23", "nodeType": "YulIdentifier", - "src": "83721:3:10" + "src": "83721:3:23" }, - "nativeSrc": "83721:41:10", + "nativeSrc": "83721:41:23", "nodeType": "YulFunctionCall", - "src": "83721:41:10" + "src": "83721:41:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "83711:6:10", + "nativeSrc": "83711:6:23", "nodeType": "YulIdentifier", - "src": "83711:6:10" + "src": "83711:6:23" }, - "nativeSrc": "83711:52:10", + "nativeSrc": "83711:52:23", "nodeType": "YulFunctionCall", - "src": "83711:52:10" + "src": "83711:52:23" }, - "nativeSrc": "83711:52:10", + "nativeSrc": "83711:52:23", "nodeType": "YulExpressionStatement", - "src": "83711:52:10" + "src": "83711:52:23" }, { - "nativeSrc": "83864:80:10", + "nativeSrc": "83864:80:23", "nodeType": "YulAssignment", - "src": "83864:80:10", + "src": "83864:80:23", "value": { "arguments": [ { "name": "value", - "nativeSrc": "83884:5:10", + "nativeSrc": "83884:5:23", "nodeType": "YulIdentifier", - "src": "83884:5:10" + "src": "83884:5:23" }, { "arguments": [ { "name": "m", - "nativeSrc": "83895:1:10", + "nativeSrc": "83895:1:23", "nodeType": "YulIdentifier", - "src": "83895:1:10" + "src": "83895:1:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "83902:4:10", + "nativeSrc": "83902:4:23", "nodeType": "YulLiteral", - "src": "83902:4:10", + "src": "83902:4:23", "type": "", "value": "0x15" }, @@ -120635,177 +139610,177 @@ "arguments": [ { "name": "n", - "nativeSrc": "83911:1:10", + "nativeSrc": "83911:1:23", "nodeType": "YulIdentifier", - "src": "83911:1:10" + "src": "83911:1:23" }, { "kind": "number", - "nativeSrc": "83914:6:10", + "nativeSrc": "83914:6:23", "nodeType": "YulLiteral", - "src": "83914:6:10", + "src": "83914:6:23", "type": "", "value": "0xffae" } ], "functionName": { "name": "lt", - "nativeSrc": "83908:2:10", + "nativeSrc": "83908:2:23", "nodeType": "YulIdentifier", - "src": "83908:2:10" + "src": "83908:2:23" }, - "nativeSrc": "83908:13:10", + "nativeSrc": "83908:13:23", "nodeType": "YulFunctionCall", - "src": "83908:13:10" + "src": "83908:13:23" } ], "functionName": { "name": "add", - "nativeSrc": "83898:3:10", + "nativeSrc": "83898:3:23", "nodeType": "YulIdentifier", - "src": "83898:3:10" + "src": "83898:3:23" }, - "nativeSrc": "83898:24:10", + "nativeSrc": "83898:24:23", "nodeType": "YulFunctionCall", - "src": "83898:24:10" + "src": "83898:24:23" } ], "functionName": { "name": "add", - "nativeSrc": "83891:3:10", + "nativeSrc": "83891:3:23", "nodeType": "YulIdentifier", - "src": "83891:3:10" + "src": "83891:3:23" }, - "nativeSrc": "83891:32:10", + "nativeSrc": "83891:32:23", "nodeType": "YulFunctionCall", - "src": "83891:32:10" + "src": "83891:32:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "83929:4:10", + "nativeSrc": "83929:4:23", "nodeType": "YulLiteral", - "src": "83929:4:10", + "src": "83929:4:23", "type": "", "value": "0x75" }, { "name": "n", - "nativeSrc": "83935:1:10", + "nativeSrc": "83935:1:23", "nodeType": "YulIdentifier", - "src": "83935:1:10" + "src": "83935:1:23" } ], "functionName": { "name": "add", - "nativeSrc": "83925:3:10", + "nativeSrc": "83925:3:23", "nodeType": "YulIdentifier", - "src": "83925:3:10" + "src": "83925:3:23" }, - "nativeSrc": "83925:12:10", + "nativeSrc": "83925:12:23", "nodeType": "YulFunctionCall", - "src": "83925:12:10" + "src": "83925:12:23" }, { "name": "salt", - "nativeSrc": "83939:4:10", + "nativeSrc": "83939:4:23", "nodeType": "YulIdentifier", - "src": "83939:4:10" + "src": "83939:4:23" } ], "functionName": { "name": "create2", - "nativeSrc": "83876:7:10", + "nativeSrc": "83876:7:23", "nodeType": "YulIdentifier", - "src": "83876:7:10" + "src": "83876:7:23" }, - "nativeSrc": "83876:68:10", + "nativeSrc": "83876:68:23", "nodeType": "YulFunctionCall", - "src": "83876:68:10" + "src": "83876:68:23" }, "variableNames": [ { "name": "instance", - "nativeSrc": "83864:8:10", + "nativeSrc": "83864:8:23", "nodeType": "YulIdentifier", - "src": "83864:8:10" + "src": "83864:8:23" } ] }, { "body": { - "nativeSrc": "83977:116:10", + "nativeSrc": "83977:116:23", "nodeType": "YulBlock", - "src": "83977:116:10", + "src": "83977:116:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "84002:4:10", + "nativeSrc": "84002:4:23", "nodeType": "YulLiteral", - "src": "84002:4:10", + "src": "84002:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "84008:10:10", + "nativeSrc": "84008:10:23", "nodeType": "YulLiteral", - "src": "84008:10:10", + "src": "84008:10:23", "type": "", "value": "0x30116425" } ], "functionName": { "name": "mstore", - "nativeSrc": "83995:6:10", + "nativeSrc": "83995:6:23", "nodeType": "YulIdentifier", - "src": "83995:6:10" + "src": "83995:6:23" }, - "nativeSrc": "83995:24:10", + "nativeSrc": "83995:24:23", "nodeType": "YulFunctionCall", - "src": "83995:24:10" + "src": "83995:24:23" }, - "nativeSrc": "83995:24:10", + "nativeSrc": "83995:24:23", "nodeType": "YulExpressionStatement", - "src": "83995:24:10" + "src": "83995:24:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "84068:4:10", + "nativeSrc": "84068:4:23", "nodeType": "YulLiteral", - "src": "84068:4:10", + "src": "84068:4:23", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "84074:4:10", + "nativeSrc": "84074:4:23", "nodeType": "YulLiteral", - "src": "84074:4:10", + "src": "84074:4:23", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "84061:6:10", + "nativeSrc": "84061:6:23", "nodeType": "YulIdentifier", - "src": "84061:6:10" + "src": "84061:6:23" }, - "nativeSrc": "84061:18:10", + "nativeSrc": "84061:18:23", "nodeType": "YulFunctionCall", - "src": "84061:18:10" + "src": "84061:18:23" }, - "nativeSrc": "84061:18:10", + "nativeSrc": "84061:18:23", "nodeType": "YulExpressionStatement", - "src": "84061:18:10" + "src": "84061:18:23" } ] }, @@ -120813,24 +139788,24 @@ "arguments": [ { "name": "instance", - "nativeSrc": "83967:8:10", + "nativeSrc": "83967:8:23", "nodeType": "YulIdentifier", - "src": "83967:8:10" + "src": "83967:8:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "83960:6:10", + "nativeSrc": "83960:6:23", "nodeType": "YulIdentifier", - "src": "83960:6:10" + "src": "83960:6:23" }, - "nativeSrc": "83960:16:10", + "nativeSrc": "83960:16:23", "nodeType": "YulFunctionCall", - "src": "83960:16:10" + "src": "83960:16:23" }, - "nativeSrc": "83957:136:10", + "nativeSrc": "83957:136:23", "nodeType": "YulIf", - "src": "83957:136:10" + "src": "83957:136:23" } ] }, @@ -120838,87 +139813,87 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4082, + "declaration": 5688, "isOffset": false, "isSlot": false, - "src": "83283:4:10", + "src": "83283:4:23", "valueSize": 1 }, { - "declaration": 4082, + "declaration": 5688, "isOffset": false, "isSlot": false, - "src": "83330:4:10", + "src": "83330:4:23", "valueSize": 1 }, { - "declaration": 4080, + "declaration": 5686, "isOffset": false, "isSlot": false, - "src": "83683:14:10", + "src": "83683:14:23", "valueSize": 1 }, { - "declaration": 4087, + "declaration": 5693, "isOffset": false, "isSlot": false, - "src": "83864:8:10", + "src": "83864:8:23", "valueSize": 1 }, { - "declaration": 4087, + "declaration": 5693, "isOffset": false, "isSlot": false, - "src": "83967:8:10", + "src": "83967:8:23", "valueSize": 1 }, { - "declaration": 4084, + "declaration": 5690, "isOffset": false, "isSlot": false, - "src": "83939:4:10", + "src": "83939:4:23", "valueSize": 1 }, { - "declaration": 4078, + "declaration": 5684, "isOffset": false, "isSlot": false, - "src": "83884:5:10", + "src": "83884:5:23", "valueSize": 1 } ], - "id": 4089, + "id": 5695, "nodeType": "InlineAssembly", - "src": "83212:891:10" + "src": "83212:891:23" } ] }, "documentation": { - "id": 4076, + "id": 5682, "nodeType": "StructuredDocumentation", - "src": "82833:138:10", + "src": "82833:138:23", "text": "@dev Deploys a deterministic ERC1967I proxy with `implementation`, `args`, and `salt`.\n Deposits `value` ETH during deployment." }, - "id": 4091, + "id": 5697, "implemented": true, "kind": "function", "modifiers": [], "name": "deployDeterministicERC1967I", - "nameLocation": "82985:27:10", + "nameLocation": "82985:27:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4085, + "id": 5691, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4078, + "id": 5684, "mutability": "mutable", "name": "value", - "nameLocation": "83030:5:10", + "nameLocation": "83030:5:23", "nodeType": "VariableDeclaration", - "scope": 4091, - "src": "83022:13:10", + "scope": 5697, + "src": "83022:13:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -120926,10 +139901,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4077, + "id": 5683, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "83022:7:10", + "src": "83022:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -120939,13 +139914,13 @@ }, { "constant": false, - "id": 4080, + "id": 5686, "mutability": "mutable", "name": "implementation", - "nameLocation": "83053:14:10", + "nameLocation": "83053:14:23", "nodeType": "VariableDeclaration", - "scope": 4091, - "src": "83045:22:10", + "scope": 5697, + "src": "83045:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -120953,10 +139928,10 @@ "typeString": "address" }, "typeName": { - "id": 4079, + "id": 5685, "name": "address", "nodeType": "ElementaryTypeName", - "src": "83045:7:10", + "src": "83045:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -120967,13 +139942,13 @@ }, { "constant": false, - "id": 4082, + "id": 5688, "mutability": "mutable", "name": "args", - "nameLocation": "83090:4:10", + "nameLocation": "83090:4:23", "nodeType": "VariableDeclaration", - "scope": 4091, - "src": "83077:17:10", + "scope": 5697, + "src": "83077:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -120981,10 +139956,10 @@ "typeString": "bytes" }, "typeName": { - "id": 4081, + "id": 5687, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "83077:5:10", + "src": "83077:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -120994,13 +139969,13 @@ }, { "constant": false, - "id": 4084, + "id": 5690, "mutability": "mutable", "name": "salt", - "nameLocation": "83112:4:10", + "nameLocation": "83112:4:23", "nodeType": "VariableDeclaration", - "scope": 4091, - "src": "83104:12:10", + "scope": 5697, + "src": "83104:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -121008,10 +139983,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4083, + "id": 5689, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "83104:7:10", + "src": "83104:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -121020,21 +139995,21 @@ "visibility": "internal" } ], - "src": "83012:110:10" + "src": "83012:110:23" }, "returnParameters": { - "id": 4088, + "id": 5694, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4087, + "id": 5693, "mutability": "mutable", "name": "instance", - "nameLocation": "83149:8:10", + "nameLocation": "83149:8:23", "nodeType": "VariableDeclaration", - "scope": 4091, - "src": "83141:16:10", + "scope": 5697, + "src": "83141:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -121042,10 +140017,10 @@ "typeString": "address" }, "typeName": { - "id": 4086, + "id": 5692, "name": "address", "nodeType": "ElementaryTypeName", - "src": "83141:7:10", + "src": "83141:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -121055,33 +140030,33 @@ "visibility": "internal" } ], - "src": "83140:18:10" + "src": "83140:18:23" }, - "scope": 5093, - "src": "82976:1133:10", + "scope": 6699, + "src": "82976:1133:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4112, + "id": 5718, "nodeType": "Block", - "src": "84524:82:10", + "src": "84524:82:23", "statements": [ { "expression": { "arguments": [ { "hexValue": "30", - "id": 4106, + "id": 5712, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "84569:1:10", + "src": "84569:1:23", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -121089,36 +140064,36 @@ "value": "0" }, { - "id": 4107, + "id": 5713, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4094, - "src": "84572:14:10", + "referencedDeclaration": 5700, + "src": "84572:14:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 4108, + "id": 5714, "name": "args", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4096, - "src": "84588:4:10", + "referencedDeclaration": 5702, + "src": "84588:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { - "id": 4109, + "id": 5715, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4098, - "src": "84594:4:10", + "referencedDeclaration": 5704, + "src": "84594:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -121144,23 +140119,23 @@ "typeString": "bytes32" } ], - "id": 4105, + "id": 5711, "name": "createDeterministicERC1967I", "nodeType": "Identifier", "overloadedDeclarations": [ - 3959, - 3975, - 4113, - 4131 + 5565, + 5581, + 5719, + 5737 ], - "referencedDeclaration": 4131, - "src": "84541:27:10", + "referencedDeclaration": 5737, + "src": "84541:27:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$_t_bytes32_$returns$_t_bool_$_t_address_$", "typeString": "function (uint256,address,bytes memory,bytes32) returns (bool,address)" } }, - "id": 4110, + "id": 5716, "isConstant": false, "isLValue": false, "isPure": false, @@ -121169,46 +140144,46 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "84541:58:10", + "src": "84541:58:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_address_$", "typeString": "tuple(bool,address)" } }, - "functionReturnParameters": 4104, - "id": 4111, + "functionReturnParameters": 5710, + "id": 5717, "nodeType": "Return", - "src": "84534:65:10" + "src": "84534:65:23" } ] }, "documentation": { - "id": 4092, + "id": 5698, "nodeType": "StructuredDocumentation", - "src": "84115:232:10", + "src": "84115:232:23", "text": "@dev Creates a deterministic ERC1967I proxy with `implementation`, `args` and `salt`.\n Note: This method is intended for use in ERC4337 factories,\n which are expected to NOT revert if the proxy is already deployed." }, - "id": 4113, + "id": 5719, "implemented": true, "kind": "function", "modifiers": [], "name": "createDeterministicERC1967I", - "nameLocation": "84361:27:10", + "nameLocation": "84361:27:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4099, + "id": 5705, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4094, + "id": 5700, "mutability": "mutable", "name": "implementation", - "nameLocation": "84397:14:10", + "nameLocation": "84397:14:23", "nodeType": "VariableDeclaration", - "scope": 4113, - "src": "84389:22:10", + "scope": 5719, + "src": "84389:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -121216,10 +140191,10 @@ "typeString": "address" }, "typeName": { - "id": 4093, + "id": 5699, "name": "address", "nodeType": "ElementaryTypeName", - "src": "84389:7:10", + "src": "84389:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -121230,13 +140205,13 @@ }, { "constant": false, - "id": 4096, + "id": 5702, "mutability": "mutable", "name": "args", - "nameLocation": "84426:4:10", + "nameLocation": "84426:4:23", "nodeType": "VariableDeclaration", - "scope": 4113, - "src": "84413:17:10", + "scope": 5719, + "src": "84413:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -121244,10 +140219,10 @@ "typeString": "bytes" }, "typeName": { - "id": 4095, + "id": 5701, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "84413:5:10", + "src": "84413:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -121257,13 +140232,13 @@ }, { "constant": false, - "id": 4098, + "id": 5704, "mutability": "mutable", "name": "salt", - "nameLocation": "84440:4:10", + "nameLocation": "84440:4:23", "nodeType": "VariableDeclaration", - "scope": 4113, - "src": "84432:12:10", + "scope": 5719, + "src": "84432:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -121271,10 +140246,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4097, + "id": 5703, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "84432:7:10", + "src": "84432:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -121283,21 +140258,21 @@ "visibility": "internal" } ], - "src": "84388:57:10" + "src": "84388:57:23" }, "returnParameters": { - "id": 4104, + "id": 5710, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4101, + "id": 5707, "mutability": "mutable", "name": "alreadyDeployed", - "nameLocation": "84485:15:10", + "nameLocation": "84485:15:23", "nodeType": "VariableDeclaration", - "scope": 4113, - "src": "84480:20:10", + "scope": 5719, + "src": "84480:20:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -121305,10 +140280,10 @@ "typeString": "bool" }, "typeName": { - "id": 4100, + "id": 5706, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "84480:4:10", + "src": "84480:4:23", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -121318,13 +140293,13 @@ }, { "constant": false, - "id": 4103, + "id": 5709, "mutability": "mutable", "name": "instance", - "nameLocation": "84510:8:10", + "nameLocation": "84510:8:23", "nodeType": "VariableDeclaration", - "scope": 4113, - "src": "84502:16:10", + "scope": 5719, + "src": "84502:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -121332,10 +140307,10 @@ "typeString": "address" }, "typeName": { - "id": 4102, + "id": 5708, "name": "address", "nodeType": "ElementaryTypeName", - "src": "84502:7:10", + "src": "84502:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -121345,90 +140320,90 @@ "visibility": "internal" } ], - "src": "84479:40:10" + "src": "84479:40:23" }, - "scope": 5093, - "src": "84352:254:10", + "scope": 6699, + "src": "84352:254:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4130, + "id": 5736, "nodeType": "Block", - "src": "85102:1852:10", + "src": "85102:1852:23", "statements": [ { "AST": { - "nativeSrc": "85164:1784:10", + "nativeSrc": "85164:1784:23", "nodeType": "YulBlock", - "src": "85164:1784:10", + "src": "85164:1784:23", "statements": [ { - "nativeSrc": "85178:20:10", + "nativeSrc": "85178:20:23", "nodeType": "YulVariableDeclaration", - "src": "85178:20:10", + "src": "85178:20:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "85193:4:10", + "nativeSrc": "85193:4:23", "nodeType": "YulLiteral", - "src": "85193:4:10", + "src": "85193:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "85187:5:10", + "nativeSrc": "85187:5:23", "nodeType": "YulIdentifier", - "src": "85187:5:10" + "src": "85187:5:23" }, - "nativeSrc": "85187:11:10", + "nativeSrc": "85187:11:23", "nodeType": "YulFunctionCall", - "src": "85187:11:10" + "src": "85187:11:23" }, "variables": [ { "name": "m", - "nativeSrc": "85182:1:10", + "nativeSrc": "85182:1:23", "nodeType": "YulTypedName", - "src": "85182:1:10", + "src": "85182:1:23", "type": "" } ] }, { - "nativeSrc": "85211:20:10", + "nativeSrc": "85211:20:23", "nodeType": "YulVariableDeclaration", - "src": "85211:20:10", + "src": "85211:20:23", "value": { "arguments": [ { "name": "args", - "nativeSrc": "85226:4:10", + "nativeSrc": "85226:4:23", "nodeType": "YulIdentifier", - "src": "85226:4:10" + "src": "85226:4:23" } ], "functionName": { "name": "mload", - "nativeSrc": "85220:5:10", + "nativeSrc": "85220:5:23", "nodeType": "YulIdentifier", - "src": "85220:5:10" + "src": "85220:5:23" }, - "nativeSrc": "85220:11:10", + "nativeSrc": "85220:11:23", "nodeType": "YulFunctionCall", - "src": "85220:11:10" + "src": "85220:11:23" }, "variables": [ { "name": "n", - "nativeSrc": "85215:1:10", + "nativeSrc": "85215:1:23", "nodeType": "YulTypedName", - "src": "85215:1:10", + "src": "85215:1:23", "type": "" } ] @@ -121442,19 +140417,19 @@ "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "85259:3:10", + "nativeSrc": "85259:3:23", "nodeType": "YulIdentifier", - "src": "85259:3:10" + "src": "85259:3:23" }, - "nativeSrc": "85259:5:10", + "nativeSrc": "85259:5:23", "nodeType": "YulFunctionCall", - "src": "85259:5:10" + "src": "85259:5:23" }, { "kind": "number", - "nativeSrc": "85266:1:10", + "nativeSrc": "85266:1:23", "nodeType": "YulLiteral", - "src": "85266:1:10", + "src": "85266:1:23", "type": "", "value": "4" }, @@ -121462,93 +140437,93 @@ "arguments": [ { "name": "args", - "nativeSrc": "85273:4:10", + "nativeSrc": "85273:4:23", "nodeType": "YulIdentifier", - "src": "85273:4:10" + "src": "85273:4:23" }, { "kind": "number", - "nativeSrc": "85279:4:10", + "nativeSrc": "85279:4:23", "nodeType": "YulLiteral", - "src": "85279:4:10", + "src": "85279:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "85269:3:10", + "nativeSrc": "85269:3:23", "nodeType": "YulIdentifier", - "src": "85269:3:10" + "src": "85269:3:23" }, - "nativeSrc": "85269:15:10", + "nativeSrc": "85269:15:23", "nodeType": "YulFunctionCall", - "src": "85269:15:10" + "src": "85269:15:23" }, { "name": "n", - "nativeSrc": "85286:1:10", + "nativeSrc": "85286:1:23", "nodeType": "YulIdentifier", - "src": "85286:1:10" + "src": "85286:1:23" }, { "arguments": [ { "name": "m", - "nativeSrc": "85293:1:10", + "nativeSrc": "85293:1:23", "nodeType": "YulIdentifier", - "src": "85293:1:10" + "src": "85293:1:23" }, { "kind": "number", - "nativeSrc": "85296:4:10", + "nativeSrc": "85296:4:23", "nodeType": "YulLiteral", - "src": "85296:4:10", + "src": "85296:4:23", "type": "", "value": "0x75" } ], "functionName": { "name": "add", - "nativeSrc": "85289:3:10", + "nativeSrc": "85289:3:23", "nodeType": "YulIdentifier", - "src": "85289:3:10" + "src": "85289:3:23" }, - "nativeSrc": "85289:12:10", + "nativeSrc": "85289:12:23", "nodeType": "YulFunctionCall", - "src": "85289:12:10" + "src": "85289:12:23" }, { "name": "n", - "nativeSrc": "85303:1:10", + "nativeSrc": "85303:1:23", "nodeType": "YulIdentifier", - "src": "85303:1:10" + "src": "85303:1:23" } ], "functionName": { "name": "staticcall", - "nativeSrc": "85248:10:10", + "nativeSrc": "85248:10:23", "nodeType": "YulIdentifier", - "src": "85248:10:10" + "src": "85248:10:23" }, - "nativeSrc": "85248:57:10", + "nativeSrc": "85248:57:23", "nodeType": "YulFunctionCall", - "src": "85248:57:10" + "src": "85248:57:23" } ], "functionName": { "name": "pop", - "nativeSrc": "85244:3:10", + "nativeSrc": "85244:3:23", "nodeType": "YulIdentifier", - "src": "85244:3:10" + "src": "85244:3:23" }, - "nativeSrc": "85244:62:10", + "nativeSrc": "85244:62:23", "nodeType": "YulFunctionCall", - "src": "85244:62:10" + "src": "85244:62:23" }, - "nativeSrc": "85244:62:10", + "nativeSrc": "85244:62:23", "nodeType": "YulExpressionStatement", - "src": "85244:62:10" + "src": "85244:62:23" }, { "expression": { @@ -121557,51 +140532,51 @@ "arguments": [ { "name": "m", - "nativeSrc": "85330:1:10", + "nativeSrc": "85330:1:23", "nodeType": "YulIdentifier", - "src": "85330:1:10" + "src": "85330:1:23" }, { "kind": "number", - "nativeSrc": "85333:4:10", + "nativeSrc": "85333:4:23", "nodeType": "YulLiteral", - "src": "85333:4:10", + "src": "85333:4:23", "type": "", "value": "0x55" } ], "functionName": { "name": "add", - "nativeSrc": "85326:3:10", + "nativeSrc": "85326:3:23", "nodeType": "YulIdentifier", - "src": "85326:3:10" + "src": "85326:3:23" }, - "nativeSrc": "85326:12:10", + "nativeSrc": "85326:12:23", "nodeType": "YulFunctionCall", - "src": "85326:12:10" + "src": "85326:12:23" }, { "kind": "number", - "nativeSrc": "85340:66:10", + "nativeSrc": "85340:66:23", "nodeType": "YulLiteral", - "src": "85340:66:10", + "src": "85340:66:23", "type": "", "value": "0x3d6000803e603e573d6000fd5b3d6000f35b6020600f3d393d51543d52593df3" } ], "functionName": { "name": "mstore", - "nativeSrc": "85319:6:10", + "nativeSrc": "85319:6:23", "nodeType": "YulIdentifier", - "src": "85319:6:10" + "src": "85319:6:23" }, - "nativeSrc": "85319:88:10", + "nativeSrc": "85319:88:23", "nodeType": "YulFunctionCall", - "src": "85319:88:10" + "src": "85319:88:23" }, - "nativeSrc": "85319:88:10", + "nativeSrc": "85319:88:23", "nodeType": "YulExpressionStatement", - "src": "85319:88:10" + "src": "85319:88:23" }, { "expression": { @@ -121610,51 +140585,51 @@ "arguments": [ { "name": "m", - "nativeSrc": "85431:1:10", + "nativeSrc": "85431:1:23", "nodeType": "YulIdentifier", - "src": "85431:1:10" + "src": "85431:1:23" }, { "kind": "number", - "nativeSrc": "85434:4:10", + "nativeSrc": "85434:4:23", "nodeType": "YulLiteral", - "src": "85434:4:10", + "src": "85434:4:23", "type": "", "value": "0x35" } ], "functionName": { "name": "add", - "nativeSrc": "85427:3:10", + "nativeSrc": "85427:3:23", "nodeType": "YulIdentifier", - "src": "85427:3:10" + "src": "85427:3:23" }, - "nativeSrc": "85427:12:10", + "nativeSrc": "85427:12:23", "nodeType": "YulFunctionCall", - "src": "85427:12:10" + "src": "85427:12:23" }, { "kind": "number", - "nativeSrc": "85441:66:10", + "nativeSrc": "85441:66:23", "nodeType": "YulLiteral", - "src": "85441:66:10", + "src": "85441:66:23", "type": "", "value": "0xa13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af4" } ], "functionName": { "name": "mstore", - "nativeSrc": "85420:6:10", + "nativeSrc": "85420:6:23", "nodeType": "YulIdentifier", - "src": "85420:6:10" + "src": "85420:6:23" }, - "nativeSrc": "85420:88:10", + "nativeSrc": "85420:88:23", "nodeType": "YulFunctionCall", - "src": "85420:88:10" + "src": "85420:88:23" }, - "nativeSrc": "85420:88:10", + "nativeSrc": "85420:88:23", "nodeType": "YulExpressionStatement", - "src": "85420:88:10" + "src": "85420:88:23" }, { "expression": { @@ -121663,117 +140638,117 @@ "arguments": [ { "name": "m", - "nativeSrc": "85532:1:10", + "nativeSrc": "85532:1:23", "nodeType": "YulIdentifier", - "src": "85532:1:10" + "src": "85532:1:23" }, { "kind": "number", - "nativeSrc": "85535:4:10", + "nativeSrc": "85535:4:23", "nodeType": "YulLiteral", - "src": "85535:4:10", + "src": "85535:4:23", "type": "", "value": "0x15" } ], "functionName": { "name": "add", - "nativeSrc": "85528:3:10", + "nativeSrc": "85528:3:23", "nodeType": "YulIdentifier", - "src": "85528:3:10" + "src": "85528:3:23" }, - "nativeSrc": "85528:12:10", + "nativeSrc": "85528:12:23", "nodeType": "YulFunctionCall", - "src": "85528:12:10" + "src": "85528:12:23" }, { "kind": "number", - "nativeSrc": "85542:44:10", + "nativeSrc": "85542:44:23", "nodeType": "YulLiteral", - "src": "85542:44:10", + "src": "85542:44:23", "type": "", "value": "0x5155f3365814604357363d3d373d3d363d7f360894" } ], "functionName": { "name": "mstore", - "nativeSrc": "85521:6:10", + "nativeSrc": "85521:6:23", "nodeType": "YulIdentifier", - "src": "85521:6:10" + "src": "85521:6:23" }, - "nativeSrc": "85521:66:10", + "nativeSrc": "85521:66:23", "nodeType": "YulFunctionCall", - "src": "85521:66:10" + "src": "85521:66:23" }, - "nativeSrc": "85521:66:10", + "nativeSrc": "85521:66:23", "nodeType": "YulExpressionStatement", - "src": "85521:66:10" + "src": "85521:66:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "85607:4:10", + "nativeSrc": "85607:4:23", "nodeType": "YulLiteral", - "src": "85607:4:10", + "src": "85607:4:23", "type": "", "value": "0x16" }, { "kind": "number", - "nativeSrc": "85613:6:10", + "nativeSrc": "85613:6:23", "nodeType": "YulLiteral", - "src": "85613:6:10", + "src": "85613:6:23", "type": "", "value": "0x600f" } ], "functionName": { "name": "mstore", - "nativeSrc": "85600:6:10", + "nativeSrc": "85600:6:23", "nodeType": "YulIdentifier", - "src": "85600:6:10" + "src": "85600:6:23" }, - "nativeSrc": "85600:20:10", + "nativeSrc": "85600:20:23", "nodeType": "YulFunctionCall", - "src": "85600:20:10" + "src": "85600:20:23" }, - "nativeSrc": "85600:20:10", + "nativeSrc": "85600:20:23", "nodeType": "YulExpressionStatement", - "src": "85600:20:10" + "src": "85600:20:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "85640:4:10", + "nativeSrc": "85640:4:23", "nodeType": "YulLiteral", - "src": "85640:4:10", + "src": "85640:4:23", "type": "", "value": "0x14" }, { "name": "implementation", - "nativeSrc": "85646:14:10", + "nativeSrc": "85646:14:23", "nodeType": "YulIdentifier", - "src": "85646:14:10" + "src": "85646:14:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "85633:6:10", + "nativeSrc": "85633:6:23", "nodeType": "YulIdentifier", - "src": "85633:6:10" + "src": "85633:6:23" }, - "nativeSrc": "85633:28:10", + "nativeSrc": "85633:28:23", "nodeType": "YulFunctionCall", - "src": "85633:28:10" + "src": "85633:28:23" }, - "nativeSrc": "85633:28:10", + "nativeSrc": "85633:28:23", "nodeType": "YulExpressionStatement", - "src": "85633:28:10" + "src": "85633:28:23" }, { "expression": { @@ -121782,36 +140757,36 @@ "arguments": [ { "name": "n", - "nativeSrc": "85771:1:10", + "nativeSrc": "85771:1:23", "nodeType": "YulIdentifier", - "src": "85771:1:10" + "src": "85771:1:23" }, { "kind": "number", - "nativeSrc": "85774:6:10", + "nativeSrc": "85774:6:23", "nodeType": "YulLiteral", - "src": "85774:6:10", + "src": "85774:6:23", "type": "", "value": "0xffad" } ], "functionName": { "name": "gt", - "nativeSrc": "85768:2:10", + "nativeSrc": "85768:2:23", "nodeType": "YulIdentifier", - "src": "85768:2:10" + "src": "85768:2:23" }, - "nativeSrc": "85768:13:10", + "nativeSrc": "85768:13:23", "nodeType": "YulFunctionCall", - "src": "85768:13:10" + "src": "85768:13:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "85787:24:10", + "nativeSrc": "85787:24:23", "nodeType": "YulLiteral", - "src": "85787:24:10", + "src": "85787:24:23", "type": "", "value": "0xfe6100523d8160233d3973" }, @@ -121819,142 +140794,142 @@ "arguments": [ { "kind": "number", - "nativeSrc": "85817:2:10", + "nativeSrc": "85817:2:23", "nodeType": "YulLiteral", - "src": "85817:2:10", + "src": "85817:2:23", "type": "", "value": "56" }, { "name": "n", - "nativeSrc": "85821:1:10", + "nativeSrc": "85821:1:23", "nodeType": "YulIdentifier", - "src": "85821:1:10" + "src": "85821:1:23" } ], "functionName": { "name": "shl", - "nativeSrc": "85813:3:10", + "nativeSrc": "85813:3:23", "nodeType": "YulIdentifier", - "src": "85813:3:10" + "src": "85813:3:23" }, - "nativeSrc": "85813:10:10", + "nativeSrc": "85813:10:23", "nodeType": "YulFunctionCall", - "src": "85813:10:10" + "src": "85813:10:23" } ], "functionName": { "name": "add", - "nativeSrc": "85783:3:10", + "nativeSrc": "85783:3:23", "nodeType": "YulIdentifier", - "src": "85783:3:10" + "src": "85783:3:23" }, - "nativeSrc": "85783:41:10", + "nativeSrc": "85783:41:23", "nodeType": "YulFunctionCall", - "src": "85783:41:10" + "src": "85783:41:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "85761:6:10", + "nativeSrc": "85761:6:23", "nodeType": "YulIdentifier", - "src": "85761:6:10" + "src": "85761:6:23" }, - "nativeSrc": "85761:64:10", + "nativeSrc": "85761:64:23", "nodeType": "YulFunctionCall", - "src": "85761:64:10" + "src": "85761:64:23" }, - "nativeSrc": "85761:64:10", + "nativeSrc": "85761:64:23", "nodeType": "YulExpressionStatement", - "src": "85761:64:10" + "src": "85761:64:23" }, { "expression": { "arguments": [ { "name": "m", - "nativeSrc": "85845:1:10", + "nativeSrc": "85845:1:23", "nodeType": "YulIdentifier", - "src": "85845:1:10" + "src": "85845:1:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "85854:4:10", + "nativeSrc": "85854:4:23", "nodeType": "YulLiteral", - "src": "85854:4:10", + "src": "85854:4:23", "type": "", "value": "0x16" } ], "functionName": { "name": "mload", - "nativeSrc": "85848:5:10", + "nativeSrc": "85848:5:23", "nodeType": "YulIdentifier", - "src": "85848:5:10" + "src": "85848:5:23" }, - "nativeSrc": "85848:11:10", + "nativeSrc": "85848:11:23", "nodeType": "YulFunctionCall", - "src": "85848:11:10" + "src": "85848:11:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "85838:6:10", + "nativeSrc": "85838:6:23", "nodeType": "YulIdentifier", - "src": "85838:6:10" + "src": "85838:6:23" }, - "nativeSrc": "85838:22:10", + "nativeSrc": "85838:22:23", "nodeType": "YulFunctionCall", - "src": "85838:22:10" + "src": "85838:22:23" }, - "nativeSrc": "85838:22:10", + "nativeSrc": "85838:22:23", "nodeType": "YulExpressionStatement", - "src": "85838:22:10" + "src": "85838:22:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "85933:4:10", + "nativeSrc": "85933:4:23", "nodeType": "YulLiteral", - "src": "85933:4:10", + "src": "85933:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "85939:4:10", + "nativeSrc": "85939:4:23", "nodeType": "YulLiteral", - "src": "85939:4:10", + "src": "85939:4:23", "type": "", "value": "0xff" } ], "functionName": { "name": "mstore8", - "nativeSrc": "85925:7:10", + "nativeSrc": "85925:7:23", "nodeType": "YulIdentifier", - "src": "85925:7:10" + "src": "85925:7:23" }, - "nativeSrc": "85925:19:10", + "nativeSrc": "85925:19:23", "nodeType": "YulFunctionCall", - "src": "85925:19:10" + "src": "85925:19:23" }, - "nativeSrc": "85925:19:10", + "nativeSrc": "85925:19:23", "nodeType": "YulExpressionStatement", - "src": "85925:19:10" + "src": "85925:19:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "85985:4:10", + "nativeSrc": "85985:4:23", "nodeType": "YulLiteral", - "src": "85985:4:10", + "src": "85985:4:23", "type": "", "value": "0x35" }, @@ -121962,71 +140937,71 @@ "arguments": [ { "name": "m", - "nativeSrc": "86001:1:10", + "nativeSrc": "86001:1:23", "nodeType": "YulIdentifier", - "src": "86001:1:10" + "src": "86001:1:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "86008:1:10", + "nativeSrc": "86008:1:23", "nodeType": "YulIdentifier", - "src": "86008:1:10" + "src": "86008:1:23" }, { "kind": "number", - "nativeSrc": "86011:4:10", + "nativeSrc": "86011:4:23", "nodeType": "YulLiteral", - "src": "86011:4:10", + "src": "86011:4:23", "type": "", "value": "0x75" } ], "functionName": { "name": "add", - "nativeSrc": "86004:3:10", + "nativeSrc": "86004:3:23", "nodeType": "YulIdentifier", - "src": "86004:3:10" + "src": "86004:3:23" }, - "nativeSrc": "86004:12:10", + "nativeSrc": "86004:12:23", "nodeType": "YulFunctionCall", - "src": "86004:12:10" + "src": "86004:12:23" } ], "functionName": { "name": "keccak256", - "nativeSrc": "85991:9:10", + "nativeSrc": "85991:9:23", "nodeType": "YulIdentifier", - "src": "85991:9:10" + "src": "85991:9:23" }, - "nativeSrc": "85991:26:10", + "nativeSrc": "85991:26:23", "nodeType": "YulFunctionCall", - "src": "85991:26:10" + "src": "85991:26:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "85978:6:10", + "nativeSrc": "85978:6:23", "nodeType": "YulIdentifier", - "src": "85978:6:10" + "src": "85978:6:23" }, - "nativeSrc": "85978:40:10", + "nativeSrc": "85978:40:23", "nodeType": "YulFunctionCall", - "src": "85978:40:10" + "src": "85978:40:23" }, - "nativeSrc": "85978:40:10", + "nativeSrc": "85978:40:23", "nodeType": "YulExpressionStatement", - "src": "85978:40:10" + "src": "85978:40:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "86038:4:10", + "nativeSrc": "86038:4:23", "nodeType": "YulLiteral", - "src": "86038:4:10", + "src": "86038:4:23", "type": "", "value": "0x01" }, @@ -122034,9 +141009,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "86048:2:10", + "nativeSrc": "86048:2:23", "nodeType": "YulLiteral", - "src": "86048:2:10", + "src": "86048:2:23", "type": "", "value": "96" }, @@ -122044,270 +141019,270 @@ "arguments": [], "functionName": { "name": "address", - "nativeSrc": "86052:7:10", + "nativeSrc": "86052:7:23", "nodeType": "YulIdentifier", - "src": "86052:7:10" + "src": "86052:7:23" }, - "nativeSrc": "86052:9:10", + "nativeSrc": "86052:9:23", "nodeType": "YulFunctionCall", - "src": "86052:9:10" + "src": "86052:9:23" } ], "functionName": { "name": "shl", - "nativeSrc": "86044:3:10", + "nativeSrc": "86044:3:23", "nodeType": "YulIdentifier", - "src": "86044:3:10" + "src": "86044:3:23" }, - "nativeSrc": "86044:18:10", + "nativeSrc": "86044:18:23", "nodeType": "YulFunctionCall", - "src": "86044:18:10" + "src": "86044:18:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "86031:6:10", + "nativeSrc": "86031:6:23", "nodeType": "YulIdentifier", - "src": "86031:6:10" + "src": "86031:6:23" }, - "nativeSrc": "86031:32:10", + "nativeSrc": "86031:32:23", "nodeType": "YulFunctionCall", - "src": "86031:32:10" + "src": "86031:32:23" }, - "nativeSrc": "86031:32:10", + "nativeSrc": "86031:32:23", "nodeType": "YulExpressionStatement", - "src": "86031:32:10" + "src": "86031:32:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "86083:4:10", + "nativeSrc": "86083:4:23", "nodeType": "YulLiteral", - "src": "86083:4:10", + "src": "86083:4:23", "type": "", "value": "0x15" }, { "name": "salt", - "nativeSrc": "86089:4:10", + "nativeSrc": "86089:4:23", "nodeType": "YulIdentifier", - "src": "86089:4:10" + "src": "86089:4:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "86076:6:10", + "nativeSrc": "86076:6:23", "nodeType": "YulIdentifier", - "src": "86076:6:10" + "src": "86076:6:23" }, - "nativeSrc": "86076:18:10", + "nativeSrc": "86076:18:23", "nodeType": "YulFunctionCall", - "src": "86076:18:10" + "src": "86076:18:23" }, - "nativeSrc": "86076:18:10", + "nativeSrc": "86076:18:23", "nodeType": "YulExpressionStatement", - "src": "86076:18:10" + "src": "86076:18:23" }, { - "nativeSrc": "86107:33:10", + "nativeSrc": "86107:33:23", "nodeType": "YulAssignment", - "src": "86107:33:10", + "src": "86107:33:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "86129:4:10", + "nativeSrc": "86129:4:23", "nodeType": "YulLiteral", - "src": "86129:4:10", + "src": "86129:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "86135:4:10", + "nativeSrc": "86135:4:23", "nodeType": "YulLiteral", - "src": "86135:4:10", + "src": "86135:4:23", "type": "", "value": "0x55" } ], "functionName": { "name": "keccak256", - "nativeSrc": "86119:9:10", + "nativeSrc": "86119:9:23", "nodeType": "YulIdentifier", - "src": "86119:9:10" + "src": "86119:9:23" }, - "nativeSrc": "86119:21:10", + "nativeSrc": "86119:21:23", "nodeType": "YulFunctionCall", - "src": "86119:21:10" + "src": "86119:21:23" }, "variableNames": [ { "name": "instance", - "nativeSrc": "86107:8:10", + "nativeSrc": "86107:8:23", "nodeType": "YulIdentifier", - "src": "86107:8:10" + "src": "86107:8:23" } ] }, { "body": { - "nativeSrc": "86165:685:10", + "nativeSrc": "86165:685:23", "nodeType": "YulBlock", - "src": "86165:685:10", + "src": "86165:685:23", "statements": [ { "body": { - "nativeSrc": "86216:296:10", + "nativeSrc": "86216:296:23", "nodeType": "YulBlock", - "src": "86216:296:10", + "src": "86216:296:23", "statements": [ { - "nativeSrc": "86238:49:10", + "nativeSrc": "86238:49:23", "nodeType": "YulAssignment", - "src": "86238:49:10", + "src": "86238:49:23", "value": { "arguments": [ { "name": "value", - "nativeSrc": "86258:5:10", + "nativeSrc": "86258:5:23", "nodeType": "YulIdentifier", - "src": "86258:5:10" + "src": "86258:5:23" }, { "name": "m", - "nativeSrc": "86265:1:10", + "nativeSrc": "86265:1:23", "nodeType": "YulIdentifier", - "src": "86265:1:10" + "src": "86265:1:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "86272:4:10", + "nativeSrc": "86272:4:23", "nodeType": "YulLiteral", - "src": "86272:4:10", + "src": "86272:4:23", "type": "", "value": "0x75" }, { "name": "n", - "nativeSrc": "86278:1:10", + "nativeSrc": "86278:1:23", "nodeType": "YulIdentifier", - "src": "86278:1:10" + "src": "86278:1:23" } ], "functionName": { "name": "add", - "nativeSrc": "86268:3:10", + "nativeSrc": "86268:3:23", "nodeType": "YulIdentifier", - "src": "86268:3:10" + "src": "86268:3:23" }, - "nativeSrc": "86268:12:10", + "nativeSrc": "86268:12:23", "nodeType": "YulFunctionCall", - "src": "86268:12:10" + "src": "86268:12:23" }, { "name": "salt", - "nativeSrc": "86282:4:10", + "nativeSrc": "86282:4:23", "nodeType": "YulIdentifier", - "src": "86282:4:10" + "src": "86282:4:23" } ], "functionName": { "name": "create2", - "nativeSrc": "86250:7:10", + "nativeSrc": "86250:7:23", "nodeType": "YulIdentifier", - "src": "86250:7:10" + "src": "86250:7:23" }, - "nativeSrc": "86250:37:10", + "nativeSrc": "86250:37:23", "nodeType": "YulFunctionCall", - "src": "86250:37:10" + "src": "86250:37:23" }, "variableNames": [ { "name": "instance", - "nativeSrc": "86238:8:10", + "nativeSrc": "86238:8:23", "nodeType": "YulIdentifier", - "src": "86238:8:10" + "src": "86238:8:23" } ] }, { "body": { - "nativeSrc": "86328:140:10", + "nativeSrc": "86328:140:23", "nodeType": "YulBlock", - "src": "86328:140:10", + "src": "86328:140:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "86361:4:10", + "nativeSrc": "86361:4:23", "nodeType": "YulLiteral", - "src": "86361:4:10", + "src": "86361:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "86367:10:10", + "nativeSrc": "86367:10:23", "nodeType": "YulLiteral", - "src": "86367:10:10", + "src": "86367:10:23", "type": "", "value": "0x30116425" } ], "functionName": { "name": "mstore", - "nativeSrc": "86354:6:10", + "nativeSrc": "86354:6:23", "nodeType": "YulIdentifier", - "src": "86354:6:10" + "src": "86354:6:23" }, - "nativeSrc": "86354:24:10", + "nativeSrc": "86354:24:23", "nodeType": "YulFunctionCall", - "src": "86354:24:10" + "src": "86354:24:23" }, - "nativeSrc": "86354:24:10", + "nativeSrc": "86354:24:23", "nodeType": "YulExpressionStatement", - "src": "86354:24:10" + "src": "86354:24:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "86435:4:10", + "nativeSrc": "86435:4:23", "nodeType": "YulLiteral", - "src": "86435:4:10", + "src": "86435:4:23", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "86441:4:10", + "nativeSrc": "86441:4:23", "nodeType": "YulLiteral", - "src": "86441:4:10", + "src": "86441:4:23", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "86428:6:10", + "nativeSrc": "86428:6:23", "nodeType": "YulIdentifier", - "src": "86428:6:10" + "src": "86428:6:23" }, - "nativeSrc": "86428:18:10", + "nativeSrc": "86428:18:23", "nodeType": "YulFunctionCall", - "src": "86428:18:10" + "src": "86428:18:23" }, - "nativeSrc": "86428:18:10", + "nativeSrc": "86428:18:23", "nodeType": "YulExpressionStatement", - "src": "86428:18:10" + "src": "86428:18:23" } ] }, @@ -122315,29 +141290,29 @@ "arguments": [ { "name": "instance", - "nativeSrc": "86318:8:10", + "nativeSrc": "86318:8:23", "nodeType": "YulIdentifier", - "src": "86318:8:10" + "src": "86318:8:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "86311:6:10", + "nativeSrc": "86311:6:23", "nodeType": "YulIdentifier", - "src": "86311:6:10" + "src": "86311:6:23" }, - "nativeSrc": "86311:16:10", + "nativeSrc": "86311:16:23", "nodeType": "YulFunctionCall", - "src": "86311:16:10" + "src": "86311:16:23" }, - "nativeSrc": "86308:160:10", + "nativeSrc": "86308:160:23", "nodeType": "YulIf", - "src": "86308:160:10" + "src": "86308:160:23" }, { - "nativeSrc": "86489:5:10", + "nativeSrc": "86489:5:23", "nodeType": "YulBreak", - "src": "86489:5:10" + "src": "86489:5:23" } ] }, @@ -122347,67 +141322,67 @@ "arguments": [ { "name": "instance", - "nativeSrc": "86205:8:10", + "nativeSrc": "86205:8:23", "nodeType": "YulIdentifier", - "src": "86205:8:10" + "src": "86205:8:23" } ], "functionName": { "name": "extcodesize", - "nativeSrc": "86193:11:10", + "nativeSrc": "86193:11:23", "nodeType": "YulIdentifier", - "src": "86193:11:10" + "src": "86193:11:23" }, - "nativeSrc": "86193:21:10", + "nativeSrc": "86193:21:23", "nodeType": "YulFunctionCall", - "src": "86193:21:10" + "src": "86193:21:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "86186:6:10", + "nativeSrc": "86186:6:23", "nodeType": "YulIdentifier", - "src": "86186:6:10" + "src": "86186:6:23" }, - "nativeSrc": "86186:29:10", + "nativeSrc": "86186:29:23", "nodeType": "YulFunctionCall", - "src": "86186:29:10" + "src": "86186:29:23" }, - "nativeSrc": "86183:329:10", + "nativeSrc": "86183:329:23", "nodeType": "YulIf", - "src": "86183:329:10" + "src": "86183:329:23" }, { - "nativeSrc": "86529:20:10", + "nativeSrc": "86529:20:23", "nodeType": "YulAssignment", - "src": "86529:20:10", + "src": "86529:20:23", "value": { "kind": "number", - "nativeSrc": "86548:1:10", + "nativeSrc": "86548:1:23", "nodeType": "YulLiteral", - "src": "86548:1:10", + "src": "86548:1:23", "type": "", "value": "1" }, "variableNames": [ { "name": "alreadyDeployed", - "nativeSrc": "86529:15:10", + "nativeSrc": "86529:15:23", "nodeType": "YulIdentifier", - "src": "86529:15:10" + "src": "86529:15:23" } ] }, { "body": { - "nativeSrc": "86583:9:10", + "nativeSrc": "86583:9:23", "nodeType": "YulBlock", - "src": "86583:9:10", + "src": "86583:9:23", "statements": [ { - "nativeSrc": "86585:5:10", + "nativeSrc": "86585:5:23", "nodeType": "YulBreak", - "src": "86585:5:10" + "src": "86585:5:23" } ] }, @@ -122415,98 +141390,98 @@ "arguments": [ { "name": "value", - "nativeSrc": "86576:5:10", + "nativeSrc": "86576:5:23", "nodeType": "YulIdentifier", - "src": "86576:5:10" + "src": "86576:5:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "86569:6:10", + "nativeSrc": "86569:6:23", "nodeType": "YulIdentifier", - "src": "86569:6:10" + "src": "86569:6:23" }, - "nativeSrc": "86569:13:10", + "nativeSrc": "86569:13:23", "nodeType": "YulFunctionCall", - "src": "86569:13:10" + "src": "86569:13:23" }, - "nativeSrc": "86566:26:10", + "nativeSrc": "86566:26:23", "nodeType": "YulIf", - "src": "86566:26:10" + "src": "86566:26:23" }, { "body": { - "nativeSrc": "86685:129:10", + "nativeSrc": "86685:129:23", "nodeType": "YulBlock", - "src": "86685:129:10", + "src": "86685:129:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "86714:4:10", + "nativeSrc": "86714:4:23", "nodeType": "YulLiteral", - "src": "86714:4:10", + "src": "86714:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "86720:10:10", + "nativeSrc": "86720:10:23", "nodeType": "YulLiteral", - "src": "86720:10:10", + "src": "86720:10:23", "type": "", "value": "0xb12d13eb" } ], "functionName": { "name": "mstore", - "nativeSrc": "86707:6:10", + "nativeSrc": "86707:6:23", "nodeType": "YulIdentifier", - "src": "86707:6:10" + "src": "86707:6:23" }, - "nativeSrc": "86707:24:10", + "nativeSrc": "86707:24:23", "nodeType": "YulFunctionCall", - "src": "86707:24:10" + "src": "86707:24:23" }, - "nativeSrc": "86707:24:10", + "nativeSrc": "86707:24:23", "nodeType": "YulExpressionStatement", - "src": "86707:24:10" + "src": "86707:24:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "86785:4:10", + "nativeSrc": "86785:4:23", "nodeType": "YulLiteral", - "src": "86785:4:10", + "src": "86785:4:23", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "86791:4:10", + "nativeSrc": "86791:4:23", "nodeType": "YulLiteral", - "src": "86791:4:10", + "src": "86791:4:23", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "86778:6:10", + "nativeSrc": "86778:6:23", "nodeType": "YulIdentifier", - "src": "86778:6:10" + "src": "86778:6:23" }, - "nativeSrc": "86778:18:10", + "nativeSrc": "86778:18:23", "nodeType": "YulFunctionCall", - "src": "86778:18:10" + "src": "86778:18:23" }, - "nativeSrc": "86778:18:10", + "nativeSrc": "86778:18:23", "nodeType": "YulExpressionStatement", - "src": "86778:18:10" + "src": "86778:18:23" } ] }, @@ -122518,43 +141493,43 @@ "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "86624:3:10", + "nativeSrc": "86624:3:23", "nodeType": "YulIdentifier", - "src": "86624:3:10" + "src": "86624:3:23" }, - "nativeSrc": "86624:5:10", + "nativeSrc": "86624:5:23", "nodeType": "YulFunctionCall", - "src": "86624:5:10" + "src": "86624:5:23" }, { "name": "instance", - "nativeSrc": "86631:8:10", + "nativeSrc": "86631:8:23", "nodeType": "YulIdentifier", - "src": "86631:8:10" + "src": "86631:8:23" }, { "name": "value", - "nativeSrc": "86641:5:10", + "nativeSrc": "86641:5:23", "nodeType": "YulIdentifier", - "src": "86641:5:10" + "src": "86641:5:23" }, { "arguments": [], "functionName": { "name": "codesize", - "nativeSrc": "86648:8:10", + "nativeSrc": "86648:8:23", "nodeType": "YulIdentifier", - "src": "86648:8:10" + "src": "86648:8:23" }, - "nativeSrc": "86648:10:10", + "nativeSrc": "86648:10:23", "nodeType": "YulFunctionCall", - "src": "86648:10:10" + "src": "86648:10:23" }, { "kind": "number", - "nativeSrc": "86660:4:10", + "nativeSrc": "86660:4:23", "nodeType": "YulLiteral", - "src": "86660:4:10", + "src": "86660:4:23", "type": "", "value": "0x00" }, @@ -122562,112 +141537,112 @@ "arguments": [], "functionName": { "name": "codesize", - "nativeSrc": "86666:8:10", + "nativeSrc": "86666:8:23", "nodeType": "YulIdentifier", - "src": "86666:8:10" + "src": "86666:8:23" }, - "nativeSrc": "86666:10:10", + "nativeSrc": "86666:10:23", "nodeType": "YulFunctionCall", - "src": "86666:10:10" + "src": "86666:10:23" }, { "kind": "number", - "nativeSrc": "86678:4:10", + "nativeSrc": "86678:4:23", "nodeType": "YulLiteral", - "src": "86678:4:10", + "src": "86678:4:23", "type": "", "value": "0x00" } ], "functionName": { "name": "call", - "nativeSrc": "86619:4:10", + "nativeSrc": "86619:4:23", "nodeType": "YulIdentifier", - "src": "86619:4:10" + "src": "86619:4:23" }, - "nativeSrc": "86619:64:10", + "nativeSrc": "86619:64:23", "nodeType": "YulFunctionCall", - "src": "86619:64:10" + "src": "86619:64:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "86612:6:10", + "nativeSrc": "86612:6:23", "nodeType": "YulIdentifier", - "src": "86612:6:10" + "src": "86612:6:23" }, - "nativeSrc": "86612:72:10", + "nativeSrc": "86612:72:23", "nodeType": "YulFunctionCall", - "src": "86612:72:10" + "src": "86612:72:23" }, - "nativeSrc": "86609:205:10", + "nativeSrc": "86609:205:23", "nodeType": "YulIf", - "src": "86609:205:10" + "src": "86609:205:23" }, { - "nativeSrc": "86831:5:10", + "nativeSrc": "86831:5:23", "nodeType": "YulBreak", - "src": "86831:5:10" + "src": "86831:5:23" } ] }, "condition": { "kind": "number", - "nativeSrc": "86160:1:10", + "nativeSrc": "86160:1:23", "nodeType": "YulLiteral", - "src": "86160:1:10", + "src": "86160:1:23", "type": "", "value": "1" }, - "nativeSrc": "86153:697:10", + "nativeSrc": "86153:697:23", "nodeType": "YulForLoop", "post": { - "nativeSrc": "86162:2:10", + "nativeSrc": "86162:2:23", "nodeType": "YulBlock", - "src": "86162:2:10", + "src": "86162:2:23", "statements": [] }, "pre": { - "nativeSrc": "86157:2:10", + "nativeSrc": "86157:2:23", "nodeType": "YulBlock", - "src": "86157:2:10", + "src": "86157:2:23", "statements": [] }, - "src": "86153:697:10" + "src": "86153:697:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "86870:4:10", + "nativeSrc": "86870:4:23", "nodeType": "YulLiteral", - "src": "86870:4:10", + "src": "86870:4:23", "type": "", "value": "0x35" }, { "kind": "number", - "nativeSrc": "86876:1:10", + "nativeSrc": "86876:1:23", "nodeType": "YulLiteral", - "src": "86876:1:10", + "src": "86876:1:23", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "86863:6:10", + "nativeSrc": "86863:6:23", "nodeType": "YulIdentifier", - "src": "86863:6:10" + "src": "86863:6:23" }, - "nativeSrc": "86863:15:10", + "nativeSrc": "86863:15:23", "nodeType": "YulFunctionCall", - "src": "86863:15:10" + "src": "86863:15:23" }, - "nativeSrc": "86863:15:10", + "nativeSrc": "86863:15:23", "nodeType": "YulExpressionStatement", - "src": "86863:15:10" + "src": "86863:15:23" } ] }, @@ -122675,136 +141650,136 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4125, + "declaration": 5731, "isOffset": false, "isSlot": false, - "src": "86529:15:10", + "src": "86529:15:23", "valueSize": 1 }, { - "declaration": 4120, + "declaration": 5726, "isOffset": false, "isSlot": false, - "src": "85226:4:10", + "src": "85226:4:23", "valueSize": 1 }, { - "declaration": 4120, + "declaration": 5726, "isOffset": false, "isSlot": false, - "src": "85273:4:10", + "src": "85273:4:23", "valueSize": 1 }, { - "declaration": 4118, + "declaration": 5724, "isOffset": false, "isSlot": false, - "src": "85646:14:10", + "src": "85646:14:23", "valueSize": 1 }, { - "declaration": 4127, + "declaration": 5733, "isOffset": false, "isSlot": false, - "src": "86107:8:10", + "src": "86107:8:23", "valueSize": 1 }, { - "declaration": 4127, + "declaration": 5733, "isOffset": false, "isSlot": false, - "src": "86205:8:10", + "src": "86205:8:23", "valueSize": 1 }, { - "declaration": 4127, + "declaration": 5733, "isOffset": false, "isSlot": false, - "src": "86238:8:10", + "src": "86238:8:23", "valueSize": 1 }, { - "declaration": 4127, + "declaration": 5733, "isOffset": false, "isSlot": false, - "src": "86318:8:10", + "src": "86318:8:23", "valueSize": 1 }, { - "declaration": 4127, + "declaration": 5733, "isOffset": false, "isSlot": false, - "src": "86631:8:10", + "src": "86631:8:23", "valueSize": 1 }, { - "declaration": 4122, + "declaration": 5728, "isOffset": false, "isSlot": false, - "src": "86089:4:10", + "src": "86089:4:23", "valueSize": 1 }, { - "declaration": 4122, + "declaration": 5728, "isOffset": false, "isSlot": false, - "src": "86282:4:10", + "src": "86282:4:23", "valueSize": 1 }, { - "declaration": 4116, + "declaration": 5722, "isOffset": false, "isSlot": false, - "src": "86258:5:10", + "src": "86258:5:23", "valueSize": 1 }, { - "declaration": 4116, + "declaration": 5722, "isOffset": false, "isSlot": false, - "src": "86576:5:10", + "src": "86576:5:23", "valueSize": 1 }, { - "declaration": 4116, + "declaration": 5722, "isOffset": false, "isSlot": false, - "src": "86641:5:10", + "src": "86641:5:23", "valueSize": 1 } ], - "id": 4129, + "id": 5735, "nodeType": "InlineAssembly", - "src": "85155:1793:10" + "src": "85155:1793:23" } ] }, "documentation": { - "id": 4114, + "id": 5720, "nodeType": "StructuredDocumentation", - "src": "84612:280:10", + "src": "84612:280:23", "text": "@dev Creates a deterministic ERC1967I proxy with `implementation`, `args` and `salt`.\n Deposits `value` ETH during deployment.\n Note: This method is intended for use in ERC4337 factories,\n which are expected to NOT revert if the proxy is already deployed." }, - "id": 4131, + "id": 5737, "implemented": true, "kind": "function", "modifiers": [], "name": "createDeterministicERC1967I", - "nameLocation": "84906:27:10", + "nameLocation": "84906:27:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4123, + "id": 5729, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4116, + "id": 5722, "mutability": "mutable", "name": "value", - "nameLocation": "84951:5:10", + "nameLocation": "84951:5:23", "nodeType": "VariableDeclaration", - "scope": 4131, - "src": "84943:13:10", + "scope": 5737, + "src": "84943:13:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -122812,10 +141787,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4115, + "id": 5721, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "84943:7:10", + "src": "84943:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -122825,13 +141800,13 @@ }, { "constant": false, - "id": 4118, + "id": 5724, "mutability": "mutable", "name": "implementation", - "nameLocation": "84974:14:10", + "nameLocation": "84974:14:23", "nodeType": "VariableDeclaration", - "scope": 4131, - "src": "84966:22:10", + "scope": 5737, + "src": "84966:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -122839,10 +141814,10 @@ "typeString": "address" }, "typeName": { - "id": 4117, + "id": 5723, "name": "address", "nodeType": "ElementaryTypeName", - "src": "84966:7:10", + "src": "84966:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -122853,13 +141828,13 @@ }, { "constant": false, - "id": 4120, + "id": 5726, "mutability": "mutable", "name": "args", - "nameLocation": "85011:4:10", + "nameLocation": "85011:4:23", "nodeType": "VariableDeclaration", - "scope": 4131, - "src": "84998:17:10", + "scope": 5737, + "src": "84998:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -122867,10 +141842,10 @@ "typeString": "bytes" }, "typeName": { - "id": 4119, + "id": 5725, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "84998:5:10", + "src": "84998:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -122880,13 +141855,13 @@ }, { "constant": false, - "id": 4122, + "id": 5728, "mutability": "mutable", "name": "salt", - "nameLocation": "85033:4:10", + "nameLocation": "85033:4:23", "nodeType": "VariableDeclaration", - "scope": 4131, - "src": "85025:12:10", + "scope": 5737, + "src": "85025:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -122894,10 +141869,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4121, + "id": 5727, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "85025:7:10", + "src": "85025:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -122906,21 +141881,21 @@ "visibility": "internal" } ], - "src": "84933:110:10" + "src": "84933:110:23" }, "returnParameters": { - "id": 4128, + "id": 5734, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4125, + "id": 5731, "mutability": "mutable", "name": "alreadyDeployed", - "nameLocation": "85067:15:10", + "nameLocation": "85067:15:23", "nodeType": "VariableDeclaration", - "scope": 4131, - "src": "85062:20:10", + "scope": 5737, + "src": "85062:20:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -122928,10 +141903,10 @@ "typeString": "bool" }, "typeName": { - "id": 4124, + "id": 5730, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "85062:4:10", + "src": "85062:4:23", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -122941,13 +141916,13 @@ }, { "constant": false, - "id": 4127, + "id": 5733, "mutability": "mutable", "name": "instance", - "nameLocation": "85092:8:10", + "nameLocation": "85092:8:23", "nodeType": "VariableDeclaration", - "scope": 4131, - "src": "85084:16:10", + "scope": 5737, + "src": "85084:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -122955,10 +141930,10 @@ "typeString": "address" }, "typeName": { - "id": 4126, + "id": 5732, "name": "address", "nodeType": "ElementaryTypeName", - "src": "85084:7:10", + "src": "85084:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -122968,89 +141943,89 @@ "visibility": "internal" } ], - "src": "85061:40:10" + "src": "85061:40:23" }, - "scope": 5093, - "src": "84897:2057:10", + "scope": 6699, + "src": "84897:2057:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4142, + "id": 5748, "nodeType": "Block", - "src": "87195:1038:10", + "src": "87195:1038:23", "statements": [ { "AST": { - "nativeSrc": "87257:970:10", + "nativeSrc": "87257:970:23", "nodeType": "YulBlock", - "src": "87257:970:10", + "src": "87257:970:23", "statements": [ { - "nativeSrc": "87271:16:10", + "nativeSrc": "87271:16:23", "nodeType": "YulAssignment", - "src": "87271:16:10", + "src": "87271:16:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "87282:4:10", + "nativeSrc": "87282:4:23", "nodeType": "YulLiteral", - "src": "87282:4:10", + "src": "87282:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "87276:5:10", + "nativeSrc": "87276:5:23", "nodeType": "YulIdentifier", - "src": "87276:5:10" + "src": "87276:5:23" }, - "nativeSrc": "87276:11:10", + "nativeSrc": "87276:11:23", "nodeType": "YulFunctionCall", - "src": "87276:11:10" + "src": "87276:11:23" }, "variableNames": [ { "name": "c", - "nativeSrc": "87271:1:10", + "nativeSrc": "87271:1:23", "nodeType": "YulIdentifier", - "src": "87271:1:10" + "src": "87271:1:23" } ] }, { - "nativeSrc": "87300:20:10", + "nativeSrc": "87300:20:23", "nodeType": "YulVariableDeclaration", - "src": "87300:20:10", + "src": "87300:20:23", "value": { "arguments": [ { "name": "args", - "nativeSrc": "87315:4:10", + "nativeSrc": "87315:4:23", "nodeType": "YulIdentifier", - "src": "87315:4:10" + "src": "87315:4:23" } ], "functionName": { "name": "mload", - "nativeSrc": "87309:5:10", + "nativeSrc": "87309:5:23", "nodeType": "YulIdentifier", - "src": "87309:5:10" + "src": "87309:5:23" }, - "nativeSrc": "87309:11:10", + "nativeSrc": "87309:11:23", "nodeType": "YulFunctionCall", - "src": "87309:11:10" + "src": "87309:11:23" }, "variables": [ { "name": "n", - "nativeSrc": "87304:1:10", + "nativeSrc": "87304:1:23", "nodeType": "YulTypedName", - "src": "87304:1:10", + "src": "87304:1:23", "type": "" } ] @@ -123062,73 +142037,73 @@ "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "87435:14:10", + "nativeSrc": "87435:14:23", "nodeType": "YulIdentifier", - "src": "87435:14:10" + "src": "87435:14:23" }, - "nativeSrc": "87435:16:10", + "nativeSrc": "87435:16:23", "nodeType": "YulFunctionCall", - "src": "87435:16:10" + "src": "87435:16:23" }, { "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "87453:14:10", + "nativeSrc": "87453:14:23", "nodeType": "YulIdentifier", - "src": "87453:14:10" + "src": "87453:14:23" }, - "nativeSrc": "87453:16:10", + "nativeSrc": "87453:16:23", "nodeType": "YulFunctionCall", - "src": "87453:16:10" + "src": "87453:16:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "87474:1:10", + "nativeSrc": "87474:1:23", "nodeType": "YulIdentifier", - "src": "87474:1:10" + "src": "87474:1:23" }, { "kind": "number", - "nativeSrc": "87477:6:10", + "nativeSrc": "87477:6:23", "nodeType": "YulLiteral", - "src": "87477:6:10", + "src": "87477:6:23", "type": "", "value": "0xffad" } ], "functionName": { "name": "gt", - "nativeSrc": "87471:2:10", + "nativeSrc": "87471:2:23", "nodeType": "YulIdentifier", - "src": "87471:2:10" + "src": "87471:2:23" }, - "nativeSrc": "87471:13:10", + "nativeSrc": "87471:13:23", "nodeType": "YulFunctionCall", - "src": "87471:13:10" + "src": "87471:13:23" } ], "functionName": { "name": "returndatacopy", - "nativeSrc": "87420:14:10", + "nativeSrc": "87420:14:23", "nodeType": "YulIdentifier", - "src": "87420:14:10" + "src": "87420:14:23" }, - "nativeSrc": "87420:65:10", + "nativeSrc": "87420:65:23", "nodeType": "YulFunctionCall", - "src": "87420:65:10" + "src": "87420:65:23" }, - "nativeSrc": "87420:65:10", + "nativeSrc": "87420:65:23", "nodeType": "YulExpressionStatement", - "src": "87420:65:10" + "src": "87420:65:23" }, { "body": { - "nativeSrc": "87548:92:10", + "nativeSrc": "87548:92:23", "nodeType": "YulBlock", - "src": "87548:92:10", + "src": "87548:92:23", "statements": [ { "expression": { @@ -123139,45 +142114,45 @@ "arguments": [ { "name": "c", - "nativeSrc": "87581:1:10", + "nativeSrc": "87581:1:23", "nodeType": "YulIdentifier", - "src": "87581:1:10" + "src": "87581:1:23" }, { "kind": "number", - "nativeSrc": "87584:4:10", + "nativeSrc": "87584:4:23", "nodeType": "YulLiteral", - "src": "87584:4:10", + "src": "87584:4:23", "type": "", "value": "0x95" } ], "functionName": { "name": "add", - "nativeSrc": "87577:3:10", + "nativeSrc": "87577:3:23", "nodeType": "YulIdentifier", - "src": "87577:3:10" + "src": "87577:3:23" }, - "nativeSrc": "87577:12:10", + "nativeSrc": "87577:12:23", "nodeType": "YulFunctionCall", - "src": "87577:12:10" + "src": "87577:12:23" }, { "name": "i", - "nativeSrc": "87591:1:10", + "nativeSrc": "87591:1:23", "nodeType": "YulIdentifier", - "src": "87591:1:10" + "src": "87591:1:23" } ], "functionName": { "name": "add", - "nativeSrc": "87573:3:10", + "nativeSrc": "87573:3:23", "nodeType": "YulIdentifier", - "src": "87573:3:10" + "src": "87573:3:23" }, - "nativeSrc": "87573:20:10", + "nativeSrc": "87573:20:23", "nodeType": "YulFunctionCall", - "src": "87573:20:10" + "src": "87573:20:23" }, { "arguments": [ @@ -123187,71 +142162,71 @@ "arguments": [ { "name": "args", - "nativeSrc": "87609:4:10", + "nativeSrc": "87609:4:23", "nodeType": "YulIdentifier", - "src": "87609:4:10" + "src": "87609:4:23" }, { "kind": "number", - "nativeSrc": "87615:4:10", + "nativeSrc": "87615:4:23", "nodeType": "YulLiteral", - "src": "87615:4:10", + "src": "87615:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "87605:3:10", + "nativeSrc": "87605:3:23", "nodeType": "YulIdentifier", - "src": "87605:3:10" + "src": "87605:3:23" }, - "nativeSrc": "87605:15:10", + "nativeSrc": "87605:15:23", "nodeType": "YulFunctionCall", - "src": "87605:15:10" + "src": "87605:15:23" }, { "name": "i", - "nativeSrc": "87622:1:10", + "nativeSrc": "87622:1:23", "nodeType": "YulIdentifier", - "src": "87622:1:10" + "src": "87622:1:23" } ], "functionName": { "name": "add", - "nativeSrc": "87601:3:10", + "nativeSrc": "87601:3:23", "nodeType": "YulIdentifier", - "src": "87601:3:10" + "src": "87601:3:23" }, - "nativeSrc": "87601:23:10", + "nativeSrc": "87601:23:23", "nodeType": "YulFunctionCall", - "src": "87601:23:10" + "src": "87601:23:23" } ], "functionName": { "name": "mload", - "nativeSrc": "87595:5:10", + "nativeSrc": "87595:5:23", "nodeType": "YulIdentifier", - "src": "87595:5:10" + "src": "87595:5:23" }, - "nativeSrc": "87595:30:10", + "nativeSrc": "87595:30:23", "nodeType": "YulFunctionCall", - "src": "87595:30:10" + "src": "87595:30:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "87566:6:10", + "nativeSrc": "87566:6:23", "nodeType": "YulIdentifier", - "src": "87566:6:10" + "src": "87566:6:23" }, - "nativeSrc": "87566:60:10", + "nativeSrc": "87566:60:23", "nodeType": "YulFunctionCall", - "src": "87566:60:10" + "src": "87566:60:23" }, - "nativeSrc": "87566:60:10", + "nativeSrc": "87566:60:23", "nodeType": "YulExpressionStatement", - "src": "87566:60:10" + "src": "87566:60:23" } ] }, @@ -123259,106 +142234,106 @@ "arguments": [ { "name": "i", - "nativeSrc": "87520:1:10", + "nativeSrc": "87520:1:23", "nodeType": "YulIdentifier", - "src": "87520:1:10" + "src": "87520:1:23" }, { "name": "n", - "nativeSrc": "87523:1:10", + "nativeSrc": "87523:1:23", "nodeType": "YulIdentifier", - "src": "87523:1:10" + "src": "87523:1:23" } ], "functionName": { "name": "lt", - "nativeSrc": "87517:2:10", + "nativeSrc": "87517:2:23", "nodeType": "YulIdentifier", - "src": "87517:2:10" + "src": "87517:2:23" }, - "nativeSrc": "87517:8:10", + "nativeSrc": "87517:8:23", "nodeType": "YulFunctionCall", - "src": "87517:8:10" + "src": "87517:8:23" }, - "nativeSrc": "87498:142:10", + "nativeSrc": "87498:142:23", "nodeType": "YulForLoop", "post": { - "nativeSrc": "87526:21:10", + "nativeSrc": "87526:21:23", "nodeType": "YulBlock", - "src": "87526:21:10", + "src": "87526:21:23", "statements": [ { - "nativeSrc": "87528:17:10", + "nativeSrc": "87528:17:23", "nodeType": "YulAssignment", - "src": "87528:17:10", + "src": "87528:17:23", "value": { "arguments": [ { "name": "i", - "nativeSrc": "87537:1:10", + "nativeSrc": "87537:1:23", "nodeType": "YulIdentifier", - "src": "87537:1:10" + "src": "87537:1:23" }, { "kind": "number", - "nativeSrc": "87540:4:10", + "nativeSrc": "87540:4:23", "nodeType": "YulLiteral", - "src": "87540:4:10", + "src": "87540:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "87533:3:10", + "nativeSrc": "87533:3:23", "nodeType": "YulIdentifier", - "src": "87533:3:10" + "src": "87533:3:23" }, - "nativeSrc": "87533:12:10", + "nativeSrc": "87533:12:23", "nodeType": "YulFunctionCall", - "src": "87533:12:10" + "src": "87533:12:23" }, "variableNames": [ { "name": "i", - "nativeSrc": "87528:1:10", + "nativeSrc": "87528:1:23", "nodeType": "YulIdentifier", - "src": "87528:1:10" + "src": "87528:1:23" } ] } ] }, "pre": { - "nativeSrc": "87502:14:10", + "nativeSrc": "87502:14:23", "nodeType": "YulBlock", - "src": "87502:14:10", + "src": "87502:14:23", "statements": [ { - "nativeSrc": "87504:10:10", + "nativeSrc": "87504:10:23", "nodeType": "YulVariableDeclaration", - "src": "87504:10:10", + "src": "87504:10:23", "value": { "kind": "number", - "nativeSrc": "87513:1:10", + "nativeSrc": "87513:1:23", "nodeType": "YulLiteral", - "src": "87513:1:10", + "src": "87513:1:23", "type": "", "value": "0" }, "variables": [ { "name": "i", - "nativeSrc": "87508:1:10", + "nativeSrc": "87508:1:23", "nodeType": "YulTypedName", - "src": "87508:1:10", + "src": "87508:1:23", "type": "" } ] } ] }, - "src": "87498:142:10" + "src": "87498:142:23" }, { "expression": { @@ -123367,51 +142342,51 @@ "arguments": [ { "name": "c", - "nativeSrc": "87665:1:10", + "nativeSrc": "87665:1:23", "nodeType": "YulIdentifier", - "src": "87665:1:10" + "src": "87665:1:23" }, { "kind": "number", - "nativeSrc": "87668:4:10", + "nativeSrc": "87668:4:23", "nodeType": "YulLiteral", - "src": "87668:4:10", + "src": "87668:4:23", "type": "", "value": "0x75" } ], "functionName": { "name": "add", - "nativeSrc": "87661:3:10", + "nativeSrc": "87661:3:23", "nodeType": "YulIdentifier", - "src": "87661:3:10" + "src": "87661:3:23" }, - "nativeSrc": "87661:12:10", + "nativeSrc": "87661:12:23", "nodeType": "YulFunctionCall", - "src": "87661:12:10" + "src": "87661:12:23" }, { "kind": "number", - "nativeSrc": "87675:66:10", + "nativeSrc": "87675:66:23", "nodeType": "YulLiteral", - "src": "87675:66:10", + "src": "87675:66:23", "type": "", "value": "0x3d6000803e603e573d6000fd5b3d6000f35b6020600f3d393d51543d52593df3" } ], "functionName": { "name": "mstore", - "nativeSrc": "87654:6:10", + "nativeSrc": "87654:6:23", "nodeType": "YulIdentifier", - "src": "87654:6:10" + "src": "87654:6:23" }, - "nativeSrc": "87654:88:10", + "nativeSrc": "87654:88:23", "nodeType": "YulFunctionCall", - "src": "87654:88:10" + "src": "87654:88:23" }, - "nativeSrc": "87654:88:10", + "nativeSrc": "87654:88:23", "nodeType": "YulExpressionStatement", - "src": "87654:88:10" + "src": "87654:88:23" }, { "expression": { @@ -123420,51 +142395,51 @@ "arguments": [ { "name": "c", - "nativeSrc": "87766:1:10", + "nativeSrc": "87766:1:23", "nodeType": "YulIdentifier", - "src": "87766:1:10" + "src": "87766:1:23" }, { "kind": "number", - "nativeSrc": "87769:4:10", + "nativeSrc": "87769:4:23", "nodeType": "YulLiteral", - "src": "87769:4:10", + "src": "87769:4:23", "type": "", "value": "0x55" } ], "functionName": { "name": "add", - "nativeSrc": "87762:3:10", + "nativeSrc": "87762:3:23", "nodeType": "YulIdentifier", - "src": "87762:3:10" + "src": "87762:3:23" }, - "nativeSrc": "87762:12:10", + "nativeSrc": "87762:12:23", "nodeType": "YulFunctionCall", - "src": "87762:12:10" + "src": "87762:12:23" }, { "kind": "number", - "nativeSrc": "87776:66:10", + "nativeSrc": "87776:66:23", "nodeType": "YulLiteral", - "src": "87776:66:10", + "src": "87776:66:23", "type": "", "value": "0xa13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af4" } ], "functionName": { "name": "mstore", - "nativeSrc": "87755:6:10", + "nativeSrc": "87755:6:23", "nodeType": "YulIdentifier", - "src": "87755:6:10" + "src": "87755:6:23" }, - "nativeSrc": "87755:88:10", + "nativeSrc": "87755:88:23", "nodeType": "YulFunctionCall", - "src": "87755:88:10" + "src": "87755:88:23" }, - "nativeSrc": "87755:88:10", + "nativeSrc": "87755:88:23", "nodeType": "YulExpressionStatement", - "src": "87755:88:10" + "src": "87755:88:23" }, { "expression": { @@ -123473,51 +142448,51 @@ "arguments": [ { "name": "c", - "nativeSrc": "87867:1:10", + "nativeSrc": "87867:1:23", "nodeType": "YulIdentifier", - "src": "87867:1:10" + "src": "87867:1:23" }, { "kind": "number", - "nativeSrc": "87870:4:10", + "nativeSrc": "87870:4:23", "nodeType": "YulLiteral", - "src": "87870:4:10", + "src": "87870:4:23", "type": "", "value": "0x35" } ], "functionName": { "name": "add", - "nativeSrc": "87863:3:10", + "nativeSrc": "87863:3:23", "nodeType": "YulIdentifier", - "src": "87863:3:10" + "src": "87863:3:23" }, - "nativeSrc": "87863:12:10", + "nativeSrc": "87863:12:23", "nodeType": "YulFunctionCall", - "src": "87863:12:10" + "src": "87863:12:23" }, { "kind": "number", - "nativeSrc": "87877:48:10", + "nativeSrc": "87877:48:23", "nodeType": "YulLiteral", - "src": "87877:48:10", + "src": "87877:48:23", "type": "", "value": "0x600f5155f3365814604357363d3d373d3d363d7f360894" } ], "functionName": { "name": "mstore", - "nativeSrc": "87856:6:10", + "nativeSrc": "87856:6:23", "nodeType": "YulIdentifier", - "src": "87856:6:10" + "src": "87856:6:23" }, - "nativeSrc": "87856:70:10", + "nativeSrc": "87856:70:23", "nodeType": "YulFunctionCall", - "src": "87856:70:10" + "src": "87856:70:23" }, - "nativeSrc": "87856:70:10", + "nativeSrc": "87856:70:23", "nodeType": "YulExpressionStatement", - "src": "87856:70:10" + "src": "87856:70:23" }, { "expression": { @@ -123526,49 +142501,49 @@ "arguments": [ { "name": "c", - "nativeSrc": "87950:1:10", + "nativeSrc": "87950:1:23", "nodeType": "YulIdentifier", - "src": "87950:1:10" + "src": "87950:1:23" }, { "kind": "number", - "nativeSrc": "87953:4:10", + "nativeSrc": "87953:4:23", "nodeType": "YulLiteral", - "src": "87953:4:10", + "src": "87953:4:23", "type": "", "value": "0x1e" } ], "functionName": { "name": "add", - "nativeSrc": "87946:3:10", + "nativeSrc": "87946:3:23", "nodeType": "YulIdentifier", - "src": "87946:3:10" + "src": "87946:3:23" }, - "nativeSrc": "87946:12:10", + "nativeSrc": "87946:12:23", "nodeType": "YulFunctionCall", - "src": "87946:12:10" + "src": "87946:12:23" }, { "name": "implementation", - "nativeSrc": "87960:14:10", + "nativeSrc": "87960:14:23", "nodeType": "YulIdentifier", - "src": "87960:14:10" + "src": "87960:14:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "87939:6:10", + "nativeSrc": "87939:6:23", "nodeType": "YulIdentifier", - "src": "87939:6:10" + "src": "87939:6:23" }, - "nativeSrc": "87939:36:10", + "nativeSrc": "87939:36:23", "nodeType": "YulFunctionCall", - "src": "87939:36:10" + "src": "87939:36:23" }, - "nativeSrc": "87939:36:10", + "nativeSrc": "87939:36:23", "nodeType": "YulExpressionStatement", - "src": "87939:36:10" + "src": "87939:36:23" }, { "expression": { @@ -123577,36 +142552,36 @@ "arguments": [ { "name": "c", - "nativeSrc": "87999:1:10", + "nativeSrc": "87999:1:23", "nodeType": "YulIdentifier", - "src": "87999:1:10" + "src": "87999:1:23" }, { "kind": "number", - "nativeSrc": "88002:4:10", + "nativeSrc": "88002:4:23", "nodeType": "YulLiteral", - "src": "88002:4:10", + "src": "88002:4:23", "type": "", "value": "0x0a" } ], "functionName": { "name": "add", - "nativeSrc": "87995:3:10", + "nativeSrc": "87995:3:23", "nodeType": "YulIdentifier", - "src": "87995:3:10" + "src": "87995:3:23" }, - "nativeSrc": "87995:12:10", + "nativeSrc": "87995:12:23", "nodeType": "YulFunctionCall", - "src": "87995:12:10" + "src": "87995:12:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "88013:22:10", + "nativeSrc": "88013:22:23", "nodeType": "YulLiteral", - "src": "88013:22:10", + "src": "88013:22:23", "type": "", "value": "0x6100523d8160233d3973" }, @@ -123614,54 +142589,54 @@ "arguments": [ { "kind": "number", - "nativeSrc": "88041:2:10", + "nativeSrc": "88041:2:23", "nodeType": "YulLiteral", - "src": "88041:2:10", + "src": "88041:2:23", "type": "", "value": "56" }, { "name": "n", - "nativeSrc": "88045:1:10", + "nativeSrc": "88045:1:23", "nodeType": "YulIdentifier", - "src": "88045:1:10" + "src": "88045:1:23" } ], "functionName": { "name": "shl", - "nativeSrc": "88037:3:10", + "nativeSrc": "88037:3:23", "nodeType": "YulIdentifier", - "src": "88037:3:10" + "src": "88037:3:23" }, - "nativeSrc": "88037:10:10", + "nativeSrc": "88037:10:23", "nodeType": "YulFunctionCall", - "src": "88037:10:10" + "src": "88037:10:23" } ], "functionName": { "name": "add", - "nativeSrc": "88009:3:10", + "nativeSrc": "88009:3:23", "nodeType": "YulIdentifier", - "src": "88009:3:10" + "src": "88009:3:23" }, - "nativeSrc": "88009:39:10", + "nativeSrc": "88009:39:23", "nodeType": "YulFunctionCall", - "src": "88009:39:10" + "src": "88009:39:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "87988:6:10", + "nativeSrc": "87988:6:23", "nodeType": "YulIdentifier", - "src": "87988:6:10" + "src": "87988:6:23" }, - "nativeSrc": "87988:61:10", + "nativeSrc": "87988:61:23", "nodeType": "YulFunctionCall", - "src": "87988:61:10" + "src": "87988:61:23" }, - "nativeSrc": "87988:61:10", + "nativeSrc": "87988:61:23", "nodeType": "YulExpressionStatement", - "src": "87988:61:10" + "src": "87988:61:23" }, { "expression": { @@ -123670,130 +142645,130 @@ "arguments": [ { "name": "c", - "nativeSrc": "88073:1:10", + "nativeSrc": "88073:1:23", "nodeType": "YulIdentifier", - "src": "88073:1:10" + "src": "88073:1:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "88080:1:10", + "nativeSrc": "88080:1:23", "nodeType": "YulIdentifier", - "src": "88080:1:10" + "src": "88080:1:23" }, { "kind": "number", - "nativeSrc": "88083:4:10", + "nativeSrc": "88083:4:23", "nodeType": "YulLiteral", - "src": "88083:4:10", + "src": "88083:4:23", "type": "", "value": "0x95" } ], "functionName": { "name": "add", - "nativeSrc": "88076:3:10", + "nativeSrc": "88076:3:23", "nodeType": "YulIdentifier", - "src": "88076:3:10" + "src": "88076:3:23" }, - "nativeSrc": "88076:12:10", + "nativeSrc": "88076:12:23", "nodeType": "YulFunctionCall", - "src": "88076:12:10" + "src": "88076:12:23" } ], "functionName": { "name": "add", - "nativeSrc": "88069:3:10", + "nativeSrc": "88069:3:23", "nodeType": "YulIdentifier", - "src": "88069:3:10" + "src": "88069:3:23" }, - "nativeSrc": "88069:20:10", + "nativeSrc": "88069:20:23", "nodeType": "YulFunctionCall", - "src": "88069:20:10" + "src": "88069:20:23" }, { "kind": "number", - "nativeSrc": "88091:1:10", + "nativeSrc": "88091:1:23", "nodeType": "YulLiteral", - "src": "88091:1:10", + "src": "88091:1:23", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "88062:6:10", + "nativeSrc": "88062:6:23", "nodeType": "YulIdentifier", - "src": "88062:6:10" + "src": "88062:6:23" }, - "nativeSrc": "88062:31:10", + "nativeSrc": "88062:31:23", "nodeType": "YulFunctionCall", - "src": "88062:31:10" + "src": "88062:31:23" }, - "nativeSrc": "88062:31:10", + "nativeSrc": "88062:31:23", "nodeType": "YulExpressionStatement", - "src": "88062:31:10" + "src": "88062:31:23" }, { "expression": { "arguments": [ { "name": "c", - "nativeSrc": "88113:1:10", + "nativeSrc": "88113:1:23", "nodeType": "YulIdentifier", - "src": "88113:1:10" + "src": "88113:1:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "88120:4:10", + "nativeSrc": "88120:4:23", "nodeType": "YulLiteral", - "src": "88120:4:10", + "src": "88120:4:23", "type": "", "value": "0x75" }, { "name": "n", - "nativeSrc": "88126:1:10", + "nativeSrc": "88126:1:23", "nodeType": "YulIdentifier", - "src": "88126:1:10" + "src": "88126:1:23" } ], "functionName": { "name": "add", - "nativeSrc": "88116:3:10", + "nativeSrc": "88116:3:23", "nodeType": "YulIdentifier", - "src": "88116:3:10" + "src": "88116:3:23" }, - "nativeSrc": "88116:12:10", + "nativeSrc": "88116:12:23", "nodeType": "YulFunctionCall", - "src": "88116:12:10" + "src": "88116:12:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "88106:6:10", + "nativeSrc": "88106:6:23", "nodeType": "YulIdentifier", - "src": "88106:6:10" + "src": "88106:6:23" }, - "nativeSrc": "88106:23:10", + "nativeSrc": "88106:23:23", "nodeType": "YulFunctionCall", - "src": "88106:23:10" + "src": "88106:23:23" }, - "nativeSrc": "88106:23:10", + "nativeSrc": "88106:23:23", "nodeType": "YulExpressionStatement", - "src": "88106:23:10" + "src": "88106:23:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "88170:4:10", + "nativeSrc": "88170:4:23", "nodeType": "YulLiteral", - "src": "88170:4:10", + "src": "88170:4:23", "type": "", "value": "0x40" }, @@ -123801,62 +142776,62 @@ "arguments": [ { "name": "c", - "nativeSrc": "88180:1:10", + "nativeSrc": "88180:1:23", "nodeType": "YulIdentifier", - "src": "88180:1:10" + "src": "88180:1:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "88187:1:10", + "nativeSrc": "88187:1:23", "nodeType": "YulIdentifier", - "src": "88187:1:10" + "src": "88187:1:23" }, { "kind": "number", - "nativeSrc": "88190:4:10", + "nativeSrc": "88190:4:23", "nodeType": "YulLiteral", - "src": "88190:4:10", + "src": "88190:4:23", "type": "", "value": "0xb5" } ], "functionName": { "name": "add", - "nativeSrc": "88183:3:10", + "nativeSrc": "88183:3:23", "nodeType": "YulIdentifier", - "src": "88183:3:10" + "src": "88183:3:23" }, - "nativeSrc": "88183:12:10", + "nativeSrc": "88183:12:23", "nodeType": "YulFunctionCall", - "src": "88183:12:10" + "src": "88183:12:23" } ], "functionName": { "name": "add", - "nativeSrc": "88176:3:10", + "nativeSrc": "88176:3:23", "nodeType": "YulIdentifier", - "src": "88176:3:10" + "src": "88176:3:23" }, - "nativeSrc": "88176:20:10", + "nativeSrc": "88176:20:23", "nodeType": "YulFunctionCall", - "src": "88176:20:10" + "src": "88176:20:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "88163:6:10", + "nativeSrc": "88163:6:23", "nodeType": "YulIdentifier", - "src": "88163:6:10" + "src": "88163:6:23" }, - "nativeSrc": "88163:34:10", + "nativeSrc": "88163:34:23", "nodeType": "YulFunctionCall", - "src": "88163:34:10" + "src": "88163:34:23" }, - "nativeSrc": "88163:34:10", + "nativeSrc": "88163:34:23", "nodeType": "YulExpressionStatement", - "src": "88163:34:10" + "src": "88163:34:23" } ] }, @@ -123864,129 +142839,129 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4136, + "declaration": 5742, "isOffset": false, "isSlot": false, - "src": "87315:4:10", + "src": "87315:4:23", "valueSize": 1 }, { - "declaration": 4136, + "declaration": 5742, "isOffset": false, "isSlot": false, - "src": "87609:4:10", + "src": "87609:4:23", "valueSize": 1 }, { - "declaration": 4139, + "declaration": 5745, "isOffset": false, "isSlot": false, - "src": "87271:1:10", + "src": "87271:1:23", "valueSize": 1 }, { - "declaration": 4139, + "declaration": 5745, "isOffset": false, "isSlot": false, - "src": "87581:1:10", + "src": "87581:1:23", "valueSize": 1 }, { - "declaration": 4139, + "declaration": 5745, "isOffset": false, "isSlot": false, - "src": "87665:1:10", + "src": "87665:1:23", "valueSize": 1 }, { - "declaration": 4139, + "declaration": 5745, "isOffset": false, "isSlot": false, - "src": "87766:1:10", + "src": "87766:1:23", "valueSize": 1 }, { - "declaration": 4139, + "declaration": 5745, "isOffset": false, "isSlot": false, - "src": "87867:1:10", + "src": "87867:1:23", "valueSize": 1 }, { - "declaration": 4139, + "declaration": 5745, "isOffset": false, "isSlot": false, - "src": "87950:1:10", + "src": "87950:1:23", "valueSize": 1 }, { - "declaration": 4139, + "declaration": 5745, "isOffset": false, "isSlot": false, - "src": "87999:1:10", + "src": "87999:1:23", "valueSize": 1 }, { - "declaration": 4139, + "declaration": 5745, "isOffset": false, "isSlot": false, - "src": "88073:1:10", + "src": "88073:1:23", "valueSize": 1 }, { - "declaration": 4139, + "declaration": 5745, "isOffset": false, "isSlot": false, - "src": "88113:1:10", + "src": "88113:1:23", "valueSize": 1 }, { - "declaration": 4139, + "declaration": 5745, "isOffset": false, "isSlot": false, - "src": "88180:1:10", + "src": "88180:1:23", "valueSize": 1 }, { - "declaration": 4134, + "declaration": 5740, "isOffset": false, "isSlot": false, - "src": "87960:14:10", + "src": "87960:14:23", "valueSize": 1 } ], - "id": 4141, + "id": 5747, "nodeType": "InlineAssembly", - "src": "87248:979:10" + "src": "87248:979:23" } ] }, "documentation": { - "id": 4132, + "id": 5738, "nodeType": "StructuredDocumentation", - "src": "86960:94:10", + "src": "86960:94:23", "text": "@dev Returns the initialization code of the ERC1967I proxy of `implementation` and `args`." }, - "id": 4143, + "id": 5749, "implemented": true, "kind": "function", "modifiers": [], "name": "initCodeERC1967I", - "nameLocation": "87068:16:10", + "nameLocation": "87068:16:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4137, + "id": 5743, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4134, + "id": 5740, "mutability": "mutable", "name": "implementation", - "nameLocation": "87093:14:10", + "nameLocation": "87093:14:23", "nodeType": "VariableDeclaration", - "scope": 4143, - "src": "87085:22:10", + "scope": 5749, + "src": "87085:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -123994,10 +142969,10 @@ "typeString": "address" }, "typeName": { - "id": 4133, + "id": 5739, "name": "address", "nodeType": "ElementaryTypeName", - "src": "87085:7:10", + "src": "87085:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -124008,13 +142983,13 @@ }, { "constant": false, - "id": 4136, + "id": 5742, "mutability": "mutable", "name": "args", - "nameLocation": "87122:4:10", + "nameLocation": "87122:4:23", "nodeType": "VariableDeclaration", - "scope": 4143, - "src": "87109:17:10", + "scope": 5749, + "src": "87109:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -124022,10 +142997,10 @@ "typeString": "bytes" }, "typeName": { - "id": 4135, + "id": 5741, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "87109:5:10", + "src": "87109:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -124034,21 +143009,21 @@ "visibility": "internal" } ], - "src": "87084:43:10" + "src": "87084:43:23" }, "returnParameters": { - "id": 4140, + "id": 5746, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4139, + "id": 5745, "mutability": "mutable", "name": "c", - "nameLocation": "87188:1:10", + "nameLocation": "87188:1:23", "nodeType": "VariableDeclaration", - "scope": 4143, - "src": "87175:14:10", + "scope": 5749, + "src": "87175:14:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -124056,10 +143031,10 @@ "typeString": "bytes" }, "typeName": { - "id": 4138, + "id": 5744, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "87175:5:10", + "src": "87175:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -124068,90 +143043,90 @@ "visibility": "internal" } ], - "src": "87174:16:10" + "src": "87174:16:23" }, - "scope": 5093, - "src": "87059:1174:10", + "scope": 6699, + "src": "87059:1174:23", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4154, + "id": 5760, "nodeType": "Block", - "src": "88480:1004:10", + "src": "88480:1004:23", "statements": [ { "AST": { - "nativeSrc": "88542:936:10", + "nativeSrc": "88542:936:23", "nodeType": "YulBlock", - "src": "88542:936:10", + "src": "88542:936:23", "statements": [ { - "nativeSrc": "88556:20:10", + "nativeSrc": "88556:20:23", "nodeType": "YulVariableDeclaration", - "src": "88556:20:10", + "src": "88556:20:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "88571:4:10", + "nativeSrc": "88571:4:23", "nodeType": "YulLiteral", - "src": "88571:4:10", + "src": "88571:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "88565:5:10", + "nativeSrc": "88565:5:23", "nodeType": "YulIdentifier", - "src": "88565:5:10" + "src": "88565:5:23" }, - "nativeSrc": "88565:11:10", + "nativeSrc": "88565:11:23", "nodeType": "YulFunctionCall", - "src": "88565:11:10" + "src": "88565:11:23" }, "variables": [ { "name": "m", - "nativeSrc": "88560:1:10", + "nativeSrc": "88560:1:23", "nodeType": "YulTypedName", - "src": "88560:1:10", + "src": "88560:1:23", "type": "" } ] }, { - "nativeSrc": "88623:20:10", + "nativeSrc": "88623:20:23", "nodeType": "YulVariableDeclaration", - "src": "88623:20:10", + "src": "88623:20:23", "value": { "arguments": [ { "name": "args", - "nativeSrc": "88638:4:10", + "nativeSrc": "88638:4:23", "nodeType": "YulIdentifier", - "src": "88638:4:10" + "src": "88638:4:23" } ], "functionName": { "name": "mload", - "nativeSrc": "88632:5:10", + "nativeSrc": "88632:5:23", "nodeType": "YulIdentifier", - "src": "88632:5:10" + "src": "88632:5:23" }, - "nativeSrc": "88632:11:10", + "nativeSrc": "88632:11:23", "nodeType": "YulFunctionCall", - "src": "88632:11:10" + "src": "88632:11:23" }, "variables": [ { "name": "n", - "nativeSrc": "88627:1:10", + "nativeSrc": "88627:1:23", "nodeType": "YulTypedName", - "src": "88627:1:10", + "src": "88627:1:23", "type": "" } ] @@ -124163,73 +143138,73 @@ "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "88758:14:10", + "nativeSrc": "88758:14:23", "nodeType": "YulIdentifier", - "src": "88758:14:10" + "src": "88758:14:23" }, - "nativeSrc": "88758:16:10", + "nativeSrc": "88758:16:23", "nodeType": "YulFunctionCall", - "src": "88758:16:10" + "src": "88758:16:23" }, { "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "88776:14:10", + "nativeSrc": "88776:14:23", "nodeType": "YulIdentifier", - "src": "88776:14:10" + "src": "88776:14:23" }, - "nativeSrc": "88776:16:10", + "nativeSrc": "88776:16:23", "nodeType": "YulFunctionCall", - "src": "88776:16:10" + "src": "88776:16:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "88797:1:10", + "nativeSrc": "88797:1:23", "nodeType": "YulIdentifier", - "src": "88797:1:10" + "src": "88797:1:23" }, { "kind": "number", - "nativeSrc": "88800:6:10", + "nativeSrc": "88800:6:23", "nodeType": "YulLiteral", - "src": "88800:6:10", + "src": "88800:6:23", "type": "", "value": "0xffad" } ], "functionName": { "name": "gt", - "nativeSrc": "88794:2:10", + "nativeSrc": "88794:2:23", "nodeType": "YulIdentifier", - "src": "88794:2:10" + "src": "88794:2:23" }, - "nativeSrc": "88794:13:10", + "nativeSrc": "88794:13:23", "nodeType": "YulFunctionCall", - "src": "88794:13:10" + "src": "88794:13:23" } ], "functionName": { "name": "returndatacopy", - "nativeSrc": "88743:14:10", + "nativeSrc": "88743:14:23", "nodeType": "YulIdentifier", - "src": "88743:14:10" + "src": "88743:14:23" }, - "nativeSrc": "88743:65:10", + "nativeSrc": "88743:65:23", "nodeType": "YulFunctionCall", - "src": "88743:65:10" + "src": "88743:65:23" }, - "nativeSrc": "88743:65:10", + "nativeSrc": "88743:65:23", "nodeType": "YulExpressionStatement", - "src": "88743:65:10" + "src": "88743:65:23" }, { "body": { - "nativeSrc": "88872:92:10", + "nativeSrc": "88872:92:23", "nodeType": "YulBlock", - "src": "88872:92:10", + "src": "88872:92:23", "statements": [ { "expression": { @@ -124240,45 +143215,45 @@ "arguments": [ { "name": "m", - "nativeSrc": "88905:1:10", + "nativeSrc": "88905:1:23", "nodeType": "YulIdentifier", - "src": "88905:1:10" + "src": "88905:1:23" }, { "kind": "number", - "nativeSrc": "88908:4:10", + "nativeSrc": "88908:4:23", "nodeType": "YulLiteral", - "src": "88908:4:10", + "src": "88908:4:23", "type": "", "value": "0x75" } ], "functionName": { "name": "add", - "nativeSrc": "88901:3:10", + "nativeSrc": "88901:3:23", "nodeType": "YulIdentifier", - "src": "88901:3:10" + "src": "88901:3:23" }, - "nativeSrc": "88901:12:10", + "nativeSrc": "88901:12:23", "nodeType": "YulFunctionCall", - "src": "88901:12:10" + "src": "88901:12:23" }, { "name": "i", - "nativeSrc": "88915:1:10", + "nativeSrc": "88915:1:23", "nodeType": "YulIdentifier", - "src": "88915:1:10" + "src": "88915:1:23" } ], "functionName": { "name": "add", - "nativeSrc": "88897:3:10", + "nativeSrc": "88897:3:23", "nodeType": "YulIdentifier", - "src": "88897:3:10" + "src": "88897:3:23" }, - "nativeSrc": "88897:20:10", + "nativeSrc": "88897:20:23", "nodeType": "YulFunctionCall", - "src": "88897:20:10" + "src": "88897:20:23" }, { "arguments": [ @@ -124288,71 +143263,71 @@ "arguments": [ { "name": "args", - "nativeSrc": "88933:4:10", + "nativeSrc": "88933:4:23", "nodeType": "YulIdentifier", - "src": "88933:4:10" + "src": "88933:4:23" }, { "kind": "number", - "nativeSrc": "88939:4:10", + "nativeSrc": "88939:4:23", "nodeType": "YulLiteral", - "src": "88939:4:10", + "src": "88939:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "88929:3:10", + "nativeSrc": "88929:3:23", "nodeType": "YulIdentifier", - "src": "88929:3:10" + "src": "88929:3:23" }, - "nativeSrc": "88929:15:10", + "nativeSrc": "88929:15:23", "nodeType": "YulFunctionCall", - "src": "88929:15:10" + "src": "88929:15:23" }, { "name": "i", - "nativeSrc": "88946:1:10", + "nativeSrc": "88946:1:23", "nodeType": "YulIdentifier", - "src": "88946:1:10" + "src": "88946:1:23" } ], "functionName": { "name": "add", - "nativeSrc": "88925:3:10", + "nativeSrc": "88925:3:23", "nodeType": "YulIdentifier", - "src": "88925:3:10" + "src": "88925:3:23" }, - "nativeSrc": "88925:23:10", + "nativeSrc": "88925:23:23", "nodeType": "YulFunctionCall", - "src": "88925:23:10" + "src": "88925:23:23" } ], "functionName": { "name": "mload", - "nativeSrc": "88919:5:10", + "nativeSrc": "88919:5:23", "nodeType": "YulIdentifier", - "src": "88919:5:10" + "src": "88919:5:23" }, - "nativeSrc": "88919:30:10", + "nativeSrc": "88919:30:23", "nodeType": "YulFunctionCall", - "src": "88919:30:10" + "src": "88919:30:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "88890:6:10", + "nativeSrc": "88890:6:23", "nodeType": "YulIdentifier", - "src": "88890:6:10" + "src": "88890:6:23" }, - "nativeSrc": "88890:60:10", + "nativeSrc": "88890:60:23", "nodeType": "YulFunctionCall", - "src": "88890:60:10" + "src": "88890:60:23" }, - "nativeSrc": "88890:60:10", + "nativeSrc": "88890:60:23", "nodeType": "YulExpressionStatement", - "src": "88890:60:10" + "src": "88890:60:23" } ] }, @@ -124360,106 +143335,106 @@ "arguments": [ { "name": "i", - "nativeSrc": "88844:1:10", + "nativeSrc": "88844:1:23", "nodeType": "YulIdentifier", - "src": "88844:1:10" + "src": "88844:1:23" }, { "name": "n", - "nativeSrc": "88847:1:10", + "nativeSrc": "88847:1:23", "nodeType": "YulIdentifier", - "src": "88847:1:10" + "src": "88847:1:23" } ], "functionName": { "name": "lt", - "nativeSrc": "88841:2:10", + "nativeSrc": "88841:2:23", "nodeType": "YulIdentifier", - "src": "88841:2:10" + "src": "88841:2:23" }, - "nativeSrc": "88841:8:10", + "nativeSrc": "88841:8:23", "nodeType": "YulFunctionCall", - "src": "88841:8:10" + "src": "88841:8:23" }, - "nativeSrc": "88822:142:10", + "nativeSrc": "88822:142:23", "nodeType": "YulForLoop", "post": { - "nativeSrc": "88850:21:10", + "nativeSrc": "88850:21:23", "nodeType": "YulBlock", - "src": "88850:21:10", + "src": "88850:21:23", "statements": [ { - "nativeSrc": "88852:17:10", + "nativeSrc": "88852:17:23", "nodeType": "YulAssignment", - "src": "88852:17:10", + "src": "88852:17:23", "value": { "arguments": [ { "name": "i", - "nativeSrc": "88861:1:10", + "nativeSrc": "88861:1:23", "nodeType": "YulIdentifier", - "src": "88861:1:10" + "src": "88861:1:23" }, { "kind": "number", - "nativeSrc": "88864:4:10", + "nativeSrc": "88864:4:23", "nodeType": "YulLiteral", - "src": "88864:4:10", + "src": "88864:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "88857:3:10", + "nativeSrc": "88857:3:23", "nodeType": "YulIdentifier", - "src": "88857:3:10" + "src": "88857:3:23" }, - "nativeSrc": "88857:12:10", + "nativeSrc": "88857:12:23", "nodeType": "YulFunctionCall", - "src": "88857:12:10" + "src": "88857:12:23" }, "variableNames": [ { "name": "i", - "nativeSrc": "88852:1:10", + "nativeSrc": "88852:1:23", "nodeType": "YulIdentifier", - "src": "88852:1:10" + "src": "88852:1:23" } ] } ] }, "pre": { - "nativeSrc": "88826:14:10", + "nativeSrc": "88826:14:23", "nodeType": "YulBlock", - "src": "88826:14:10", + "src": "88826:14:23", "statements": [ { - "nativeSrc": "88828:10:10", + "nativeSrc": "88828:10:23", "nodeType": "YulVariableDeclaration", - "src": "88828:10:10", + "src": "88828:10:23", "value": { "kind": "number", - "nativeSrc": "88837:1:10", + "nativeSrc": "88837:1:23", "nodeType": "YulLiteral", - "src": "88837:1:10", + "src": "88837:1:23", "type": "", "value": "0" }, "variables": [ { "name": "i", - "nativeSrc": "88832:1:10", + "nativeSrc": "88832:1:23", "nodeType": "YulTypedName", - "src": "88832:1:10", + "src": "88832:1:23", "type": "" } ] } ] }, - "src": "88822:142:10" + "src": "88822:142:23" }, { "expression": { @@ -124468,51 +143443,51 @@ "arguments": [ { "name": "m", - "nativeSrc": "88989:1:10", + "nativeSrc": "88989:1:23", "nodeType": "YulIdentifier", - "src": "88989:1:10" + "src": "88989:1:23" }, { "kind": "number", - "nativeSrc": "88992:4:10", + "nativeSrc": "88992:4:23", "nodeType": "YulLiteral", - "src": "88992:4:10", + "src": "88992:4:23", "type": "", "value": "0x55" } ], "functionName": { "name": "add", - "nativeSrc": "88985:3:10", + "nativeSrc": "88985:3:23", "nodeType": "YulIdentifier", - "src": "88985:3:10" + "src": "88985:3:23" }, - "nativeSrc": "88985:12:10", + "nativeSrc": "88985:12:23", "nodeType": "YulFunctionCall", - "src": "88985:12:10" + "src": "88985:12:23" }, { "kind": "number", - "nativeSrc": "88999:66:10", + "nativeSrc": "88999:66:23", "nodeType": "YulLiteral", - "src": "88999:66:10", + "src": "88999:66:23", "type": "", "value": "0x3d6000803e603e573d6000fd5b3d6000f35b6020600f3d393d51543d52593df3" } ], "functionName": { "name": "mstore", - "nativeSrc": "88978:6:10", + "nativeSrc": "88978:6:23", "nodeType": "YulIdentifier", - "src": "88978:6:10" + "src": "88978:6:23" }, - "nativeSrc": "88978:88:10", + "nativeSrc": "88978:88:23", "nodeType": "YulFunctionCall", - "src": "88978:88:10" + "src": "88978:88:23" }, - "nativeSrc": "88978:88:10", + "nativeSrc": "88978:88:23", "nodeType": "YulExpressionStatement", - "src": "88978:88:10" + "src": "88978:88:23" }, { "expression": { @@ -124521,51 +143496,51 @@ "arguments": [ { "name": "m", - "nativeSrc": "89090:1:10", + "nativeSrc": "89090:1:23", "nodeType": "YulIdentifier", - "src": "89090:1:10" + "src": "89090:1:23" }, { "kind": "number", - "nativeSrc": "89093:4:10", + "nativeSrc": "89093:4:23", "nodeType": "YulLiteral", - "src": "89093:4:10", + "src": "89093:4:23", "type": "", "value": "0x35" } ], "functionName": { "name": "add", - "nativeSrc": "89086:3:10", + "nativeSrc": "89086:3:23", "nodeType": "YulIdentifier", - "src": "89086:3:10" + "src": "89086:3:23" }, - "nativeSrc": "89086:12:10", + "nativeSrc": "89086:12:23", "nodeType": "YulFunctionCall", - "src": "89086:12:10" + "src": "89086:12:23" }, { "kind": "number", - "nativeSrc": "89100:66:10", + "nativeSrc": "89100:66:23", "nodeType": "YulLiteral", - "src": "89100:66:10", + "src": "89100:66:23", "type": "", "value": "0xa13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af4" } ], "functionName": { "name": "mstore", - "nativeSrc": "89079:6:10", + "nativeSrc": "89079:6:23", "nodeType": "YulIdentifier", - "src": "89079:6:10" + "src": "89079:6:23" }, - "nativeSrc": "89079:88:10", + "nativeSrc": "89079:88:23", "nodeType": "YulFunctionCall", - "src": "89079:88:10" + "src": "89079:88:23" }, - "nativeSrc": "89079:88:10", + "nativeSrc": "89079:88:23", "nodeType": "YulExpressionStatement", - "src": "89079:88:10" + "src": "89079:88:23" }, { "expression": { @@ -124574,126 +143549,126 @@ "arguments": [ { "name": "m", - "nativeSrc": "89191:1:10", + "nativeSrc": "89191:1:23", "nodeType": "YulIdentifier", - "src": "89191:1:10" + "src": "89191:1:23" }, { "kind": "number", - "nativeSrc": "89194:4:10", + "nativeSrc": "89194:4:23", "nodeType": "YulLiteral", - "src": "89194:4:10", + "src": "89194:4:23", "type": "", "value": "0x15" } ], "functionName": { "name": "add", - "nativeSrc": "89187:3:10", + "nativeSrc": "89187:3:23", "nodeType": "YulIdentifier", - "src": "89187:3:10" + "src": "89187:3:23" }, - "nativeSrc": "89187:12:10", + "nativeSrc": "89187:12:23", "nodeType": "YulFunctionCall", - "src": "89187:12:10" + "src": "89187:12:23" }, { "kind": "number", - "nativeSrc": "89201:44:10", + "nativeSrc": "89201:44:23", "nodeType": "YulLiteral", - "src": "89201:44:10", + "src": "89201:44:23", "type": "", "value": "0x5155f3365814604357363d3d373d3d363d7f360894" } ], "functionName": { "name": "mstore", - "nativeSrc": "89180:6:10", + "nativeSrc": "89180:6:23", "nodeType": "YulIdentifier", - "src": "89180:6:10" + "src": "89180:6:23" }, - "nativeSrc": "89180:66:10", + "nativeSrc": "89180:66:23", "nodeType": "YulFunctionCall", - "src": "89180:66:10" + "src": "89180:66:23" }, - "nativeSrc": "89180:66:10", + "nativeSrc": "89180:66:23", "nodeType": "YulExpressionStatement", - "src": "89180:66:10" + "src": "89180:66:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "89266:4:10", + "nativeSrc": "89266:4:23", "nodeType": "YulLiteral", - "src": "89266:4:10", + "src": "89266:4:23", "type": "", "value": "0x16" }, { "kind": "number", - "nativeSrc": "89272:6:10", + "nativeSrc": "89272:6:23", "nodeType": "YulLiteral", - "src": "89272:6:10", + "src": "89272:6:23", "type": "", "value": "0x600f" } ], "functionName": { "name": "mstore", - "nativeSrc": "89259:6:10", + "nativeSrc": "89259:6:23", "nodeType": "YulIdentifier", - "src": "89259:6:10" + "src": "89259:6:23" }, - "nativeSrc": "89259:20:10", + "nativeSrc": "89259:20:23", "nodeType": "YulFunctionCall", - "src": "89259:20:10" + "src": "89259:20:23" }, - "nativeSrc": "89259:20:10", + "nativeSrc": "89259:20:23", "nodeType": "YulExpressionStatement", - "src": "89259:20:10" + "src": "89259:20:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "89299:4:10", + "nativeSrc": "89299:4:23", "nodeType": "YulLiteral", - "src": "89299:4:10", + "src": "89299:4:23", "type": "", "value": "0x14" }, { "name": "implementation", - "nativeSrc": "89305:14:10", + "nativeSrc": "89305:14:23", "nodeType": "YulIdentifier", - "src": "89305:14:10" + "src": "89305:14:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "89292:6:10", + "nativeSrc": "89292:6:23", "nodeType": "YulIdentifier", - "src": "89292:6:10" + "src": "89292:6:23" }, - "nativeSrc": "89292:28:10", + "nativeSrc": "89292:28:23", "nodeType": "YulFunctionCall", - "src": "89292:28:10" + "src": "89292:28:23" }, - "nativeSrc": "89292:28:10", + "nativeSrc": "89292:28:23", "nodeType": "YulExpressionStatement", - "src": "89292:28:10" + "src": "89292:28:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "89340:4:10", + "nativeSrc": "89340:4:23", "nodeType": "YulLiteral", - "src": "89340:4:10", + "src": "89340:4:23", "type": "", "value": "0x00" }, @@ -124701,9 +143676,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "89350:22:10", + "nativeSrc": "89350:22:23", "nodeType": "YulLiteral", - "src": "89350:22:10", + "src": "89350:22:23", "type": "", "value": "0x6100523d8160233d3973" }, @@ -124711,156 +143686,156 @@ "arguments": [ { "kind": "number", - "nativeSrc": "89378:2:10", + "nativeSrc": "89378:2:23", "nodeType": "YulLiteral", - "src": "89378:2:10", + "src": "89378:2:23", "type": "", "value": "56" }, { "name": "n", - "nativeSrc": "89382:1:10", + "nativeSrc": "89382:1:23", "nodeType": "YulIdentifier", - "src": "89382:1:10" + "src": "89382:1:23" } ], "functionName": { "name": "shl", - "nativeSrc": "89374:3:10", + "nativeSrc": "89374:3:23", "nodeType": "YulIdentifier", - "src": "89374:3:10" + "src": "89374:3:23" }, - "nativeSrc": "89374:10:10", + "nativeSrc": "89374:10:23", "nodeType": "YulFunctionCall", - "src": "89374:10:10" + "src": "89374:10:23" } ], "functionName": { "name": "add", - "nativeSrc": "89346:3:10", + "nativeSrc": "89346:3:23", "nodeType": "YulIdentifier", - "src": "89346:3:10" + "src": "89346:3:23" }, - "nativeSrc": "89346:39:10", + "nativeSrc": "89346:39:23", "nodeType": "YulFunctionCall", - "src": "89346:39:10" + "src": "89346:39:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "89333:6:10", + "nativeSrc": "89333:6:23", "nodeType": "YulIdentifier", - "src": "89333:6:10" + "src": "89333:6:23" }, - "nativeSrc": "89333:53:10", + "nativeSrc": "89333:53:23", "nodeType": "YulFunctionCall", - "src": "89333:53:10" + "src": "89333:53:23" }, - "nativeSrc": "89333:53:10", + "nativeSrc": "89333:53:23", "nodeType": "YulExpressionStatement", - "src": "89333:53:10" + "src": "89333:53:23" }, { "expression": { "arguments": [ { "name": "m", - "nativeSrc": "89406:1:10", + "nativeSrc": "89406:1:23", "nodeType": "YulIdentifier", - "src": "89406:1:10" + "src": "89406:1:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "89415:4:10", + "nativeSrc": "89415:4:23", "nodeType": "YulLiteral", - "src": "89415:4:10", + "src": "89415:4:23", "type": "", "value": "0x16" } ], "functionName": { "name": "mload", - "nativeSrc": "89409:5:10", + "nativeSrc": "89409:5:23", "nodeType": "YulIdentifier", - "src": "89409:5:10" + "src": "89409:5:23" }, - "nativeSrc": "89409:11:10", + "nativeSrc": "89409:11:23", "nodeType": "YulFunctionCall", - "src": "89409:11:10" + "src": "89409:11:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "89399:6:10", + "nativeSrc": "89399:6:23", "nodeType": "YulIdentifier", - "src": "89399:6:10" + "src": "89399:6:23" }, - "nativeSrc": "89399:22:10", + "nativeSrc": "89399:22:23", "nodeType": "YulFunctionCall", - "src": "89399:22:10" + "src": "89399:22:23" }, - "nativeSrc": "89399:22:10", + "nativeSrc": "89399:22:23", "nodeType": "YulExpressionStatement", - "src": "89399:22:10" + "src": "89399:22:23" }, { - "nativeSrc": "89434:34:10", + "nativeSrc": "89434:34:23", "nodeType": "YulAssignment", - "src": "89434:34:10", + "src": "89434:34:23", "value": { "arguments": [ { "name": "m", - "nativeSrc": "89452:1:10", + "nativeSrc": "89452:1:23", "nodeType": "YulIdentifier", - "src": "89452:1:10" + "src": "89452:1:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "89459:4:10", + "nativeSrc": "89459:4:23", "nodeType": "YulLiteral", - "src": "89459:4:10", + "src": "89459:4:23", "type": "", "value": "0x75" }, { "name": "n", - "nativeSrc": "89465:1:10", + "nativeSrc": "89465:1:23", "nodeType": "YulIdentifier", - "src": "89465:1:10" + "src": "89465:1:23" } ], "functionName": { "name": "add", - "nativeSrc": "89455:3:10", + "nativeSrc": "89455:3:23", "nodeType": "YulIdentifier", - "src": "89455:3:10" + "src": "89455:3:23" }, - "nativeSrc": "89455:12:10", + "nativeSrc": "89455:12:23", "nodeType": "YulFunctionCall", - "src": "89455:12:10" + "src": "89455:12:23" } ], "functionName": { "name": "keccak256", - "nativeSrc": "89442:9:10", + "nativeSrc": "89442:9:23", "nodeType": "YulIdentifier", - "src": "89442:9:10" + "src": "89442:9:23" }, - "nativeSrc": "89442:26:10", + "nativeSrc": "89442:26:23", "nodeType": "YulFunctionCall", - "src": "89442:26:10" + "src": "89442:26:23" }, "variableNames": [ { "name": "hash", - "nativeSrc": "89434:4:10", + "nativeSrc": "89434:4:23", "nodeType": "YulIdentifier", - "src": "89434:4:10" + "src": "89434:4:23" } ] } @@ -124870,66 +143845,66 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4148, + "declaration": 5754, "isOffset": false, "isSlot": false, - "src": "88638:4:10", + "src": "88638:4:23", "valueSize": 1 }, { - "declaration": 4148, + "declaration": 5754, "isOffset": false, "isSlot": false, - "src": "88933:4:10", + "src": "88933:4:23", "valueSize": 1 }, { - "declaration": 4151, + "declaration": 5757, "isOffset": false, "isSlot": false, - "src": "89434:4:10", + "src": "89434:4:23", "valueSize": 1 }, { - "declaration": 4146, + "declaration": 5752, "isOffset": false, "isSlot": false, - "src": "89305:14:10", + "src": "89305:14:23", "valueSize": 1 } ], - "id": 4153, + "id": 5759, "nodeType": "InlineAssembly", - "src": "88533:945:10" + "src": "88533:945:23" } ] }, "documentation": { - "id": 4144, + "id": 5750, "nodeType": "StructuredDocumentation", - "src": "88239:98:10", + "src": "88239:98:23", "text": "@dev Returns the initialization code hash of the ERC1967I proxy of `implementation` and `args." }, - "id": 4155, + "id": 5761, "implemented": true, "kind": "function", "modifiers": [], "name": "initCodeHashERC1967I", - "nameLocation": "88351:20:10", + "nameLocation": "88351:20:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4149, + "id": 5755, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4146, + "id": 5752, "mutability": "mutable", "name": "implementation", - "nameLocation": "88380:14:10", + "nameLocation": "88380:14:23", "nodeType": "VariableDeclaration", - "scope": 4155, - "src": "88372:22:10", + "scope": 5761, + "src": "88372:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -124937,10 +143912,10 @@ "typeString": "address" }, "typeName": { - "id": 4145, + "id": 5751, "name": "address", "nodeType": "ElementaryTypeName", - "src": "88372:7:10", + "src": "88372:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -124951,13 +143926,13 @@ }, { "constant": false, - "id": 4148, + "id": 5754, "mutability": "mutable", "name": "args", - "nameLocation": "88409:4:10", + "nameLocation": "88409:4:23", "nodeType": "VariableDeclaration", - "scope": 4155, - "src": "88396:17:10", + "scope": 5761, + "src": "88396:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -124965,10 +143940,10 @@ "typeString": "bytes" }, "typeName": { - "id": 4147, + "id": 5753, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "88396:5:10", + "src": "88396:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -124977,21 +143952,21 @@ "visibility": "internal" } ], - "src": "88371:43:10" + "src": "88371:43:23" }, "returnParameters": { - "id": 4152, + "id": 5758, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4151, + "id": 5757, "mutability": "mutable", "name": "hash", - "nameLocation": "88470:4:10", + "nameLocation": "88470:4:23", "nodeType": "VariableDeclaration", - "scope": 4155, - "src": "88462:12:10", + "scope": 5761, + "src": "88462:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -124999,10 +143974,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4150, + "id": 5756, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "88462:7:10", + "src": "88462:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -125011,34 +143986,34 @@ "visibility": "internal" } ], - "src": "88461:14:10" + "src": "88461:14:23" }, - "scope": 5093, - "src": "88342:1142:10", + "scope": 6699, + "src": "88342:1142:23", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4184, + "id": 5790, "nodeType": "Block", - "src": "89893:145:10", + "src": "89893:145:23", "statements": [ { "assignments": [ - 4170 + 5776 ], "declarations": [ { "constant": false, - "id": 4170, + "id": 5776, "mutability": "mutable", "name": "hash", - "nameLocation": "89911:4:10", + "nameLocation": "89911:4:23", "nodeType": "VariableDeclaration", - "scope": 4184, - "src": "89903:12:10", + "scope": 5790, + "src": "89903:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -125046,10 +144021,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4169, + "id": 5775, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "89903:7:10", + "src": "89903:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -125058,28 +144033,28 @@ "visibility": "internal" } ], - "id": 4175, + "id": 5781, "initialValue": { "arguments": [ { - "id": 4172, + "id": 5778, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4158, - "src": "89939:14:10", + "referencedDeclaration": 5764, + "src": "89939:14:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 4173, + "id": 5779, "name": "args", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4160, - "src": "89955:4:10", + "referencedDeclaration": 5766, + "src": "89955:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -125097,21 +144072,21 @@ "typeString": "bytes memory" } ], - "id": 4171, + "id": 5777, "name": "initCodeHashERC1967I", "nodeType": "Identifier", "overloadedDeclarations": [ - 3995, - 4155 + 5601, + 5761 ], - "referencedDeclaration": 4155, - "src": "89918:20:10", + "referencedDeclaration": 5761, + "src": "89918:20:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (address,bytes memory) pure returns (bytes32)" } }, - "id": 4174, + "id": 5780, "isConstant": false, "isLValue": false, "isPure": false, @@ -125120,7 +144095,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "89918:42:10", + "src": "89918:42:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -125128,22 +144103,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "89903:57:10" + "src": "89903:57:23" }, { "expression": { - "id": 4182, + "id": 5788, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 4176, + "id": 5782, "name": "predicted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4167, - "src": "89970:9:10", + "referencedDeclaration": 5773, + "src": "89970:9:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -125154,36 +144129,36 @@ "rightHandSide": { "arguments": [ { - "id": 4178, + "id": 5784, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4170, - "src": "90010:4:10", + "referencedDeclaration": 5776, + "src": "90010:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 4179, + "id": 5785, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4162, - "src": "90016:4:10", + "referencedDeclaration": 5768, + "src": "90016:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 4180, + "id": 5786, "name": "deployer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4164, - "src": "90022:8:10", + "referencedDeclaration": 5770, + "src": "90022:8:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -125205,22 +144180,22 @@ "typeString": "address" } ], - "id": 4177, + "id": 5783, "name": "predictDeterministicAddress", "nodeType": "Identifier", "overloadedDeclarations": [ - 3226, - 3499, - 5070 + 4832, + 5105, + 6676 ], - "referencedDeclaration": 5070, - "src": "89982:27:10", + "referencedDeclaration": 6676, + "src": "89982:27:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_address_$", "typeString": "function (bytes32,bytes32,address) pure returns (address)" } }, - "id": 4181, + "id": 5787, "isConstant": false, "isLValue": false, "isPure": false, @@ -125229,51 +144204,51 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "89982:49:10", + "src": "89982:49:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "89970:61:10", + "src": "89970:61:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 4183, + "id": 5789, "nodeType": "ExpressionStatement", - "src": "89970:61:10" + "src": "89970:61:23" } ] }, "documentation": { - "id": 4156, + "id": 5762, "nodeType": "StructuredDocumentation", - "src": "89490:198:10", + "src": "89490:198:23", "text": "@dev Returns the address of the ERC1967I proxy of `implementation`, `args` with `salt` by `deployer`.\n Note: The returned result has dirty upper 96 bits. Please clean if used in assembly." }, - "id": 4185, + "id": 5791, "implemented": true, "kind": "function", "modifiers": [], "name": "predictDeterministicAddressERC1967I", - "nameLocation": "89702:35:10", + "nameLocation": "89702:35:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4165, + "id": 5771, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4158, + "id": 5764, "mutability": "mutable", "name": "implementation", - "nameLocation": "89755:14:10", + "nameLocation": "89755:14:23", "nodeType": "VariableDeclaration", - "scope": 4185, - "src": "89747:22:10", + "scope": 5791, + "src": "89747:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -125281,10 +144256,10 @@ "typeString": "address" }, "typeName": { - "id": 4157, + "id": 5763, "name": "address", "nodeType": "ElementaryTypeName", - "src": "89747:7:10", + "src": "89747:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -125295,13 +144270,13 @@ }, { "constant": false, - "id": 4160, + "id": 5766, "mutability": "mutable", "name": "args", - "nameLocation": "89792:4:10", + "nameLocation": "89792:4:23", "nodeType": "VariableDeclaration", - "scope": 4185, - "src": "89779:17:10", + "scope": 5791, + "src": "89779:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -125309,10 +144284,10 @@ "typeString": "bytes" }, "typeName": { - "id": 4159, + "id": 5765, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "89779:5:10", + "src": "89779:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -125322,13 +144297,13 @@ }, { "constant": false, - "id": 4162, + "id": 5768, "mutability": "mutable", "name": "salt", - "nameLocation": "89814:4:10", + "nameLocation": "89814:4:23", "nodeType": "VariableDeclaration", - "scope": 4185, - "src": "89806:12:10", + "scope": 5791, + "src": "89806:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -125336,10 +144311,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4161, + "id": 5767, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "89806:7:10", + "src": "89806:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -125349,13 +144324,13 @@ }, { "constant": false, - "id": 4164, + "id": 5770, "mutability": "mutable", "name": "deployer", - "nameLocation": "89836:8:10", + "nameLocation": "89836:8:23", "nodeType": "VariableDeclaration", - "scope": 4185, - "src": "89828:16:10", + "scope": 5791, + "src": "89828:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -125363,10 +144338,10 @@ "typeString": "address" }, "typeName": { - "id": 4163, + "id": 5769, "name": "address", "nodeType": "ElementaryTypeName", - "src": "89828:7:10", + "src": "89828:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -125376,21 +144351,21 @@ "visibility": "internal" } ], - "src": "89737:113:10" + "src": "89737:113:23" }, "returnParameters": { - "id": 4168, + "id": 5774, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4167, + "id": 5773, "mutability": "mutable", "name": "predicted", - "nameLocation": "89882:9:10", + "nameLocation": "89882:9:23", "nodeType": "VariableDeclaration", - "scope": 4185, - "src": "89874:17:10", + "scope": 5791, + "src": "89874:17:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -125398,10 +144373,10 @@ "typeString": "address" }, "typeName": { - "id": 4166, + "id": 5772, "name": "address", "nodeType": "ElementaryTypeName", - "src": "89874:7:10", + "src": "89874:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -125411,57 +144386,57 @@ "visibility": "internal" } ], - "src": "89873:19:10" + "src": "89873:19:23" }, - "scope": 5093, - "src": "89693:345:10", + "scope": 6699, + "src": "89693:345:23", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4194, + "id": 5800, "nodeType": "Block", - "src": "90204:371:10", + "src": "90204:371:23", "statements": [ { "AST": { - "nativeSrc": "90266:303:10", + "nativeSrc": "90266:303:23", "nodeType": "YulBlock", - "src": "90266:303:10", + "src": "90266:303:23", "statements": [ { - "nativeSrc": "90280:19:10", + "nativeSrc": "90280:19:23", "nodeType": "YulAssignment", - "src": "90280:19:10", + "src": "90280:19:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "90294:4:10", + "nativeSrc": "90294:4:23", "nodeType": "YulLiteral", - "src": "90294:4:10", + "src": "90294:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "90288:5:10", + "nativeSrc": "90288:5:23", "nodeType": "YulIdentifier", - "src": "90288:5:10" + "src": "90288:5:23" }, - "nativeSrc": "90288:11:10", + "nativeSrc": "90288:11:23", "nodeType": "YulFunctionCall", - "src": "90288:11:10" + "src": "90288:11:23" }, "variableNames": [ { "name": "args", - "nativeSrc": "90280:4:10", + "nativeSrc": "90280:4:23", "nodeType": "YulIdentifier", - "src": "90280:4:10" + "src": "90280:4:23" } ] }, @@ -125470,17 +144445,17 @@ "arguments": [ { "name": "args", - "nativeSrc": "90319:4:10", + "nativeSrc": "90319:4:23", "nodeType": "YulIdentifier", - "src": "90319:4:10" + "src": "90319:4:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "90329:12:10", + "nativeSrc": "90329:12:23", "nodeType": "YulLiteral", - "src": "90329:12:10", + "src": "90329:12:23", "type": "", "value": "0xffffffffff" }, @@ -125490,107 +144465,107 @@ "arguments": [ { "name": "instance", - "nativeSrc": "90359:8:10", + "nativeSrc": "90359:8:23", "nodeType": "YulIdentifier", - "src": "90359:8:10" + "src": "90359:8:23" } ], "functionName": { "name": "extcodesize", - "nativeSrc": "90347:11:10", + "nativeSrc": "90347:11:23", "nodeType": "YulIdentifier", - "src": "90347:11:10" + "src": "90347:11:23" }, - "nativeSrc": "90347:21:10", + "nativeSrc": "90347:21:23", "nodeType": "YulFunctionCall", - "src": "90347:21:10" + "src": "90347:21:23" }, { "kind": "number", - "nativeSrc": "90370:4:10", + "nativeSrc": "90370:4:23", "nodeType": "YulLiteral", - "src": "90370:4:10", + "src": "90370:4:23", "type": "", "value": "0x52" } ], "functionName": { "name": "sub", - "nativeSrc": "90343:3:10", + "nativeSrc": "90343:3:23", "nodeType": "YulIdentifier", - "src": "90343:3:10" + "src": "90343:3:23" }, - "nativeSrc": "90343:32:10", + "nativeSrc": "90343:32:23", "nodeType": "YulFunctionCall", - "src": "90343:32:10" + "src": "90343:32:23" } ], "functionName": { "name": "and", - "nativeSrc": "90325:3:10", + "nativeSrc": "90325:3:23", "nodeType": "YulIdentifier", - "src": "90325:3:10" + "src": "90325:3:23" }, - "nativeSrc": "90325:51:10", + "nativeSrc": "90325:51:23", "nodeType": "YulFunctionCall", - "src": "90325:51:10" + "src": "90325:51:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "90312:6:10", + "nativeSrc": "90312:6:23", "nodeType": "YulIdentifier", - "src": "90312:6:10" + "src": "90312:6:23" }, - "nativeSrc": "90312:65:10", + "nativeSrc": "90312:65:23", "nodeType": "YulFunctionCall", - "src": "90312:65:10" + "src": "90312:65:23" }, - "nativeSrc": "90312:65:10", + "nativeSrc": "90312:65:23", "nodeType": "YulExpressionStatement", - "src": "90312:65:10" + "src": "90312:65:23" }, { "expression": { "arguments": [ { "name": "instance", - "nativeSrc": "90423:8:10", + "nativeSrc": "90423:8:23", "nodeType": "YulIdentifier", - "src": "90423:8:10" + "src": "90423:8:23" }, { "arguments": [ { "name": "args", - "nativeSrc": "90437:4:10", + "nativeSrc": "90437:4:23", "nodeType": "YulIdentifier", - "src": "90437:4:10" + "src": "90437:4:23" }, { "kind": "number", - "nativeSrc": "90443:4:10", + "nativeSrc": "90443:4:23", "nodeType": "YulLiteral", - "src": "90443:4:10", + "src": "90443:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "90433:3:10", + "nativeSrc": "90433:3:23", "nodeType": "YulIdentifier", - "src": "90433:3:10" + "src": "90433:3:23" }, - "nativeSrc": "90433:15:10", + "nativeSrc": "90433:15:23", "nodeType": "YulFunctionCall", - "src": "90433:15:10" + "src": "90433:15:23" }, { "kind": "number", - "nativeSrc": "90450:4:10", + "nativeSrc": "90450:4:23", "nodeType": "YulLiteral", - "src": "90450:4:10", + "src": "90450:4:23", "type": "", "value": "0x52" }, @@ -125600,63 +144575,63 @@ "arguments": [ { "name": "args", - "nativeSrc": "90466:4:10", + "nativeSrc": "90466:4:23", "nodeType": "YulIdentifier", - "src": "90466:4:10" + "src": "90466:4:23" } ], "functionName": { "name": "mload", - "nativeSrc": "90460:5:10", + "nativeSrc": "90460:5:23", "nodeType": "YulIdentifier", - "src": "90460:5:10" + "src": "90460:5:23" }, - "nativeSrc": "90460:11:10", + "nativeSrc": "90460:11:23", "nodeType": "YulFunctionCall", - "src": "90460:11:10" + "src": "90460:11:23" }, { "kind": "number", - "nativeSrc": "90473:4:10", + "nativeSrc": "90473:4:23", "nodeType": "YulLiteral", - "src": "90473:4:10", + "src": "90473:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "90456:3:10", + "nativeSrc": "90456:3:23", "nodeType": "YulIdentifier", - "src": "90456:3:10" + "src": "90456:3:23" }, - "nativeSrc": "90456:22:10", + "nativeSrc": "90456:22:23", "nodeType": "YulFunctionCall", - "src": "90456:22:10" + "src": "90456:22:23" } ], "functionName": { "name": "extcodecopy", - "nativeSrc": "90411:11:10", + "nativeSrc": "90411:11:23", "nodeType": "YulIdentifier", - "src": "90411:11:10" + "src": "90411:11:23" }, - "nativeSrc": "90411:68:10", + "nativeSrc": "90411:68:23", "nodeType": "YulFunctionCall", - "src": "90411:68:10" + "src": "90411:68:23" }, - "nativeSrc": "90411:68:10", + "nativeSrc": "90411:68:23", "nodeType": "YulExpressionStatement", - "src": "90411:68:10" + "src": "90411:68:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "90499:4:10", + "nativeSrc": "90499:4:23", "nodeType": "YulLiteral", - "src": "90499:4:10", + "src": "90499:4:23", "type": "", "value": "0x40" }, @@ -125666,73 +144641,73 @@ "arguments": [ { "name": "args", - "nativeSrc": "90515:4:10", + "nativeSrc": "90515:4:23", "nodeType": "YulIdentifier", - "src": "90515:4:10" + "src": "90515:4:23" } ], "functionName": { "name": "mload", - "nativeSrc": "90509:5:10", + "nativeSrc": "90509:5:23", "nodeType": "YulIdentifier", - "src": "90509:5:10" + "src": "90509:5:23" }, - "nativeSrc": "90509:11:10", + "nativeSrc": "90509:11:23", "nodeType": "YulFunctionCall", - "src": "90509:11:10" + "src": "90509:11:23" }, { "arguments": [ { "name": "args", - "nativeSrc": "90526:4:10", + "nativeSrc": "90526:4:23", "nodeType": "YulIdentifier", - "src": "90526:4:10" + "src": "90526:4:23" }, { "kind": "number", - "nativeSrc": "90532:4:10", + "nativeSrc": "90532:4:23", "nodeType": "YulLiteral", - "src": "90532:4:10", + "src": "90532:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "add", - "nativeSrc": "90522:3:10", + "nativeSrc": "90522:3:23", "nodeType": "YulIdentifier", - "src": "90522:3:10" + "src": "90522:3:23" }, - "nativeSrc": "90522:15:10", + "nativeSrc": "90522:15:23", "nodeType": "YulFunctionCall", - "src": "90522:15:10" + "src": "90522:15:23" } ], "functionName": { "name": "add", - "nativeSrc": "90505:3:10", + "nativeSrc": "90505:3:23", "nodeType": "YulIdentifier", - "src": "90505:3:10" + "src": "90505:3:23" }, - "nativeSrc": "90505:33:10", + "nativeSrc": "90505:33:23", "nodeType": "YulFunctionCall", - "src": "90505:33:10" + "src": "90505:33:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "90492:6:10", + "nativeSrc": "90492:6:23", "nodeType": "YulIdentifier", - "src": "90492:6:10" + "src": "90492:6:23" }, - "nativeSrc": "90492:47:10", + "nativeSrc": "90492:47:23", "nodeType": "YulFunctionCall", - "src": "90492:47:10" + "src": "90492:47:23" }, - "nativeSrc": "90492:47:10", + "nativeSrc": "90492:47:23", "nodeType": "YulExpressionStatement", - "src": "90492:47:10" + "src": "90492:47:23" } ] }, @@ -125740,94 +144715,94 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4191, + "declaration": 5797, "isOffset": false, "isSlot": false, - "src": "90280:4:10", + "src": "90280:4:23", "valueSize": 1 }, { - "declaration": 4191, + "declaration": 5797, "isOffset": false, "isSlot": false, - "src": "90319:4:10", + "src": "90319:4:23", "valueSize": 1 }, { - "declaration": 4191, + "declaration": 5797, "isOffset": false, "isSlot": false, - "src": "90437:4:10", + "src": "90437:4:23", "valueSize": 1 }, { - "declaration": 4191, + "declaration": 5797, "isOffset": false, "isSlot": false, - "src": "90466:4:10", + "src": "90466:4:23", "valueSize": 1 }, { - "declaration": 4191, + "declaration": 5797, "isOffset": false, "isSlot": false, - "src": "90515:4:10", + "src": "90515:4:23", "valueSize": 1 }, { - "declaration": 4191, + "declaration": 5797, "isOffset": false, "isSlot": false, - "src": "90526:4:10", + "src": "90526:4:23", "valueSize": 1 }, { - "declaration": 4188, + "declaration": 5794, "isOffset": false, "isSlot": false, - "src": "90359:8:10", + "src": "90359:8:23", "valueSize": 1 }, { - "declaration": 4188, + "declaration": 5794, "isOffset": false, "isSlot": false, - "src": "90423:8:10", + "src": "90423:8:23", "valueSize": 1 } ], - "id": 4193, + "id": 5799, "nodeType": "InlineAssembly", - "src": "90257:312:10" + "src": "90257:312:23" } ] }, "documentation": { - "id": 4186, + "id": 5792, "nodeType": "StructuredDocumentation", - "src": "90044:71:10", + "src": "90044:71:23", "text": "@dev Equivalent to `argsOnERC1967I(instance, start, 2 ** 256 - 1)`." }, - "id": 4195, + "id": 5801, "implemented": true, "kind": "function", "modifiers": [], "name": "argsOnERC1967I", - "nameLocation": "90129:14:10", + "nameLocation": "90129:14:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4189, + "id": 5795, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4188, + "id": 5794, "mutability": "mutable", "name": "instance", - "nameLocation": "90152:8:10", + "nameLocation": "90152:8:23", "nodeType": "VariableDeclaration", - "scope": 4195, - "src": "90144:16:10", + "scope": 5801, + "src": "90144:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -125835,10 +144810,10 @@ "typeString": "address" }, "typeName": { - "id": 4187, + "id": 5793, "name": "address", "nodeType": "ElementaryTypeName", - "src": "90144:7:10", + "src": "90144:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -125848,21 +144823,21 @@ "visibility": "internal" } ], - "src": "90143:18:10" + "src": "90143:18:23" }, "returnParameters": { - "id": 4192, + "id": 5798, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4191, + "id": 5797, "mutability": "mutable", "name": "args", - "nameLocation": "90198:4:10", + "nameLocation": "90198:4:23", "nodeType": "VariableDeclaration", - "scope": 4195, - "src": "90185:17:10", + "scope": 5801, + "src": "90185:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -125870,10 +144845,10 @@ "typeString": "bytes" }, "typeName": { - "id": 4190, + "id": 5796, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "90185:5:10", + "src": "90185:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -125882,71 +144857,71 @@ "visibility": "internal" } ], - "src": "90184:19:10" + "src": "90184:19:23" }, - "scope": 5093, - "src": "90120:455:10", + "scope": 6699, + "src": "90120:455:23", "stateMutability": "view", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4206, + "id": 5812, "nodeType": "Block", - "src": "90784:485:10", + "src": "90784:485:23", "statements": [ { "AST": { - "nativeSrc": "90846:417:10", + "nativeSrc": "90846:417:23", "nodeType": "YulBlock", - "src": "90846:417:10", + "src": "90846:417:23", "statements": [ { - "nativeSrc": "90860:19:10", + "nativeSrc": "90860:19:23", "nodeType": "YulAssignment", - "src": "90860:19:10", + "src": "90860:19:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "90874:4:10", + "nativeSrc": "90874:4:23", "nodeType": "YulLiteral", - "src": "90874:4:10", + "src": "90874:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "90868:5:10", + "nativeSrc": "90868:5:23", "nodeType": "YulIdentifier", - "src": "90868:5:10" + "src": "90868:5:23" }, - "nativeSrc": "90868:11:10", + "nativeSrc": "90868:11:23", "nodeType": "YulFunctionCall", - "src": "90868:11:10" + "src": "90868:11:23" }, "variableNames": [ { "name": "args", - "nativeSrc": "90860:4:10", + "nativeSrc": "90860:4:23", "nodeType": "YulIdentifier", - "src": "90860:4:10" + "src": "90860:4:23" } ] }, { - "nativeSrc": "90892:60:10", + "nativeSrc": "90892:60:23", "nodeType": "YulVariableDeclaration", - "src": "90892:60:10", + "src": "90892:60:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "90905:12:10", + "nativeSrc": "90905:12:23", "nodeType": "YulLiteral", - "src": "90905:12:10", + "src": "90905:12:23", "type": "", "value": "0xffffffffff" }, @@ -125956,80 +144931,80 @@ "arguments": [ { "name": "instance", - "nativeSrc": "90935:8:10", + "nativeSrc": "90935:8:23", "nodeType": "YulIdentifier", - "src": "90935:8:10" + "src": "90935:8:23" } ], "functionName": { "name": "extcodesize", - "nativeSrc": "90923:11:10", + "nativeSrc": "90923:11:23", "nodeType": "YulIdentifier", - "src": "90923:11:10" + "src": "90923:11:23" }, - "nativeSrc": "90923:21:10", + "nativeSrc": "90923:21:23", "nodeType": "YulFunctionCall", - "src": "90923:21:10" + "src": "90923:21:23" }, { "kind": "number", - "nativeSrc": "90946:4:10", + "nativeSrc": "90946:4:23", "nodeType": "YulLiteral", - "src": "90946:4:10", + "src": "90946:4:23", "type": "", "value": "0x52" } ], "functionName": { "name": "sub", - "nativeSrc": "90919:3:10", + "nativeSrc": "90919:3:23", "nodeType": "YulIdentifier", - "src": "90919:3:10" + "src": "90919:3:23" }, - "nativeSrc": "90919:32:10", + "nativeSrc": "90919:32:23", "nodeType": "YulFunctionCall", - "src": "90919:32:10" + "src": "90919:32:23" } ], "functionName": { "name": "and", - "nativeSrc": "90901:3:10", + "nativeSrc": "90901:3:23", "nodeType": "YulIdentifier", - "src": "90901:3:10" + "src": "90901:3:23" }, - "nativeSrc": "90901:51:10", + "nativeSrc": "90901:51:23", "nodeType": "YulFunctionCall", - "src": "90901:51:10" + "src": "90901:51:23" }, "variables": [ { "name": "n", - "nativeSrc": "90896:1:10", + "nativeSrc": "90896:1:23", "nodeType": "YulTypedName", - "src": "90896:1:10", + "src": "90896:1:23", "type": "" } ] }, { - "nativeSrc": "90965:56:10", + "nativeSrc": "90965:56:23", "nodeType": "YulVariableDeclaration", - "src": "90965:56:10", + "src": "90965:56:23", "value": { "arguments": [ { "name": "n", - "nativeSrc": "90978:1:10", + "nativeSrc": "90978:1:23", "nodeType": "YulIdentifier", - "src": "90978:1:10" + "src": "90978:1:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "90985:8:10", + "nativeSrc": "90985:8:23", "nodeType": "YulLiteral", - "src": "90985:8:10", + "src": "90985:8:23", "type": "", "value": "0xffffff" }, @@ -126039,72 +145014,72 @@ "arguments": [ { "name": "start", - "nativeSrc": "91002:5:10", + "nativeSrc": "91002:5:23", "nodeType": "YulIdentifier", - "src": "91002:5:10" + "src": "91002:5:23" }, { "name": "n", - "nativeSrc": "91009:1:10", + "nativeSrc": "91009:1:23", "nodeType": "YulIdentifier", - "src": "91009:1:10" + "src": "91009:1:23" } ], "functionName": { "name": "lt", - "nativeSrc": "90999:2:10", + "nativeSrc": "90999:2:23", "nodeType": "YulIdentifier", - "src": "90999:2:10" + "src": "90999:2:23" }, - "nativeSrc": "90999:12:10", + "nativeSrc": "90999:12:23", "nodeType": "YulFunctionCall", - "src": "90999:12:10" + "src": "90999:12:23" }, { "name": "start", - "nativeSrc": "91013:5:10", + "nativeSrc": "91013:5:23", "nodeType": "YulIdentifier", - "src": "91013:5:10" + "src": "91013:5:23" } ], "functionName": { "name": "mul", - "nativeSrc": "90995:3:10", + "nativeSrc": "90995:3:23", "nodeType": "YulIdentifier", - "src": "90995:3:10" + "src": "90995:3:23" }, - "nativeSrc": "90995:24:10", + "nativeSrc": "90995:24:23", "nodeType": "YulFunctionCall", - "src": "90995:24:10" + "src": "90995:24:23" } ], "functionName": { "name": "and", - "nativeSrc": "90981:3:10", + "nativeSrc": "90981:3:23", "nodeType": "YulIdentifier", - "src": "90981:3:10" + "src": "90981:3:23" }, - "nativeSrc": "90981:39:10", + "nativeSrc": "90981:39:23", "nodeType": "YulFunctionCall", - "src": "90981:39:10" + "src": "90981:39:23" } ], "functionName": { "name": "sub", - "nativeSrc": "90974:3:10", + "nativeSrc": "90974:3:23", "nodeType": "YulIdentifier", - "src": "90974:3:10" + "src": "90974:3:23" }, - "nativeSrc": "90974:47:10", + "nativeSrc": "90974:47:23", "nodeType": "YulFunctionCall", - "src": "90974:47:10" + "src": "90974:47:23" }, "variables": [ { "name": "l", - "nativeSrc": "90969:1:10", + "nativeSrc": "90969:1:23", "nodeType": "YulTypedName", - "src": "90969:1:10", + "src": "90969:1:23", "type": "" } ] @@ -126114,93 +145089,93 @@ "arguments": [ { "name": "instance", - "nativeSrc": "91046:8:10", + "nativeSrc": "91046:8:23", "nodeType": "YulIdentifier", - "src": "91046:8:10" + "src": "91046:8:23" }, { "name": "args", - "nativeSrc": "91056:4:10", + "nativeSrc": "91056:4:23", "nodeType": "YulIdentifier", - "src": "91056:4:10" + "src": "91056:4:23" }, { "arguments": [ { "name": "start", - "nativeSrc": "91066:5:10", + "nativeSrc": "91066:5:23", "nodeType": "YulIdentifier", - "src": "91066:5:10" + "src": "91066:5:23" }, { "kind": "number", - "nativeSrc": "91073:4:10", + "nativeSrc": "91073:4:23", "nodeType": "YulLiteral", - "src": "91073:4:10", + "src": "91073:4:23", "type": "", "value": "0x32" } ], "functionName": { "name": "add", - "nativeSrc": "91062:3:10", + "nativeSrc": "91062:3:23", "nodeType": "YulIdentifier", - "src": "91062:3:10" + "src": "91062:3:23" }, - "nativeSrc": "91062:16:10", + "nativeSrc": "91062:16:23", "nodeType": "YulFunctionCall", - "src": "91062:16:10" + "src": "91062:16:23" }, { "arguments": [ { "name": "l", - "nativeSrc": "91084:1:10", + "nativeSrc": "91084:1:23", "nodeType": "YulIdentifier", - "src": "91084:1:10" + "src": "91084:1:23" }, { "kind": "number", - "nativeSrc": "91087:4:10", + "nativeSrc": "91087:4:23", "nodeType": "YulLiteral", - "src": "91087:4:10", + "src": "91087:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "add", - "nativeSrc": "91080:3:10", + "nativeSrc": "91080:3:23", "nodeType": "YulIdentifier", - "src": "91080:3:10" + "src": "91080:3:23" }, - "nativeSrc": "91080:12:10", + "nativeSrc": "91080:12:23", "nodeType": "YulFunctionCall", - "src": "91080:12:10" + "src": "91080:12:23" } ], "functionName": { "name": "extcodecopy", - "nativeSrc": "91034:11:10", + "nativeSrc": "91034:11:23", "nodeType": "YulIdentifier", - "src": "91034:11:10" + "src": "91034:11:23" }, - "nativeSrc": "91034:59:10", + "nativeSrc": "91034:59:23", "nodeType": "YulFunctionCall", - "src": "91034:59:10" + "src": "91034:59:23" }, - "nativeSrc": "91034:59:10", + "nativeSrc": "91034:59:23", "nodeType": "YulExpressionStatement", - "src": "91034:59:10" + "src": "91034:59:23" }, { "expression": { "arguments": [ { "name": "args", - "nativeSrc": "91113:4:10", + "nativeSrc": "91113:4:23", "nodeType": "YulIdentifier", - "src": "91113:4:10" + "src": "91113:4:23" }, { "arguments": [ @@ -126208,86 +145183,86 @@ "arguments": [ { "name": "n", - "nativeSrc": "91127:1:10", + "nativeSrc": "91127:1:23", "nodeType": "YulIdentifier", - "src": "91127:1:10" + "src": "91127:1:23" }, { "name": "start", - "nativeSrc": "91130:5:10", + "nativeSrc": "91130:5:23", "nodeType": "YulIdentifier", - "src": "91130:5:10" + "src": "91130:5:23" } ], "functionName": { "name": "sub", - "nativeSrc": "91123:3:10", + "nativeSrc": "91123:3:23", "nodeType": "YulIdentifier", - "src": "91123:3:10" + "src": "91123:3:23" }, - "nativeSrc": "91123:13:10", + "nativeSrc": "91123:13:23", "nodeType": "YulFunctionCall", - "src": "91123:13:10" + "src": "91123:13:23" }, { "arguments": [ { "name": "start", - "nativeSrc": "91141:5:10", + "nativeSrc": "91141:5:23", "nodeType": "YulIdentifier", - "src": "91141:5:10" + "src": "91141:5:23" }, { "name": "n", - "nativeSrc": "91148:1:10", + "nativeSrc": "91148:1:23", "nodeType": "YulIdentifier", - "src": "91148:1:10" + "src": "91148:1:23" } ], "functionName": { "name": "lt", - "nativeSrc": "91138:2:10", + "nativeSrc": "91138:2:23", "nodeType": "YulIdentifier", - "src": "91138:2:10" + "src": "91138:2:23" }, - "nativeSrc": "91138:12:10", + "nativeSrc": "91138:12:23", "nodeType": "YulFunctionCall", - "src": "91138:12:10" + "src": "91138:12:23" } ], "functionName": { "name": "mul", - "nativeSrc": "91119:3:10", + "nativeSrc": "91119:3:23", "nodeType": "YulIdentifier", - "src": "91119:3:10" + "src": "91119:3:23" }, - "nativeSrc": "91119:32:10", + "nativeSrc": "91119:32:23", "nodeType": "YulFunctionCall", - "src": "91119:32:10" + "src": "91119:32:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "91106:6:10", + "nativeSrc": "91106:6:23", "nodeType": "YulIdentifier", - "src": "91106:6:10" + "src": "91106:6:23" }, - "nativeSrc": "91106:46:10", + "nativeSrc": "91106:46:23", "nodeType": "YulFunctionCall", - "src": "91106:46:10" + "src": "91106:46:23" }, - "nativeSrc": "91106:46:10", + "nativeSrc": "91106:46:23", "nodeType": "YulExpressionStatement", - "src": "91106:46:10" + "src": "91106:46:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "91193:4:10", + "nativeSrc": "91193:4:23", "nodeType": "YulLiteral", - "src": "91193:4:10", + "src": "91193:4:23", "type": "", "value": "0x40" }, @@ -126297,73 +145272,73 @@ "arguments": [ { "name": "args", - "nativeSrc": "91209:4:10", + "nativeSrc": "91209:4:23", "nodeType": "YulIdentifier", - "src": "91209:4:10" + "src": "91209:4:23" } ], "functionName": { "name": "mload", - "nativeSrc": "91203:5:10", + "nativeSrc": "91203:5:23", "nodeType": "YulIdentifier", - "src": "91203:5:10" + "src": "91203:5:23" }, - "nativeSrc": "91203:11:10", + "nativeSrc": "91203:11:23", "nodeType": "YulFunctionCall", - "src": "91203:11:10" + "src": "91203:11:23" }, { "arguments": [ { "name": "args", - "nativeSrc": "91220:4:10", + "nativeSrc": "91220:4:23", "nodeType": "YulIdentifier", - "src": "91220:4:10" + "src": "91220:4:23" }, { "kind": "number", - "nativeSrc": "91226:4:10", + "nativeSrc": "91226:4:23", "nodeType": "YulLiteral", - "src": "91226:4:10", + "src": "91226:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "add", - "nativeSrc": "91216:3:10", + "nativeSrc": "91216:3:23", "nodeType": "YulIdentifier", - "src": "91216:3:10" + "src": "91216:3:23" }, - "nativeSrc": "91216:15:10", + "nativeSrc": "91216:15:23", "nodeType": "YulFunctionCall", - "src": "91216:15:10" + "src": "91216:15:23" } ], "functionName": { "name": "add", - "nativeSrc": "91199:3:10", + "nativeSrc": "91199:3:23", "nodeType": "YulIdentifier", - "src": "91199:3:10" + "src": "91199:3:23" }, - "nativeSrc": "91199:33:10", + "nativeSrc": "91199:33:23", "nodeType": "YulFunctionCall", - "src": "91199:33:10" + "src": "91199:33:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "91186:6:10", + "nativeSrc": "91186:6:23", "nodeType": "YulIdentifier", - "src": "91186:6:10" + "src": "91186:6:23" }, - "nativeSrc": "91186:47:10", + "nativeSrc": "91186:47:23", "nodeType": "YulFunctionCall", - "src": "91186:47:10" + "src": "91186:47:23" }, - "nativeSrc": "91186:47:10", + "nativeSrc": "91186:47:23", "nodeType": "YulExpressionStatement", - "src": "91186:47:10" + "src": "91186:47:23" } ] }, @@ -126371,122 +145346,122 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4203, + "declaration": 5809, "isOffset": false, "isSlot": false, - "src": "90860:4:10", + "src": "90860:4:23", "valueSize": 1 }, { - "declaration": 4203, + "declaration": 5809, "isOffset": false, "isSlot": false, - "src": "91056:4:10", + "src": "91056:4:23", "valueSize": 1 }, { - "declaration": 4203, + "declaration": 5809, "isOffset": false, "isSlot": false, - "src": "91113:4:10", + "src": "91113:4:23", "valueSize": 1 }, { - "declaration": 4203, + "declaration": 5809, "isOffset": false, "isSlot": false, - "src": "91209:4:10", + "src": "91209:4:23", "valueSize": 1 }, { - "declaration": 4203, + "declaration": 5809, "isOffset": false, "isSlot": false, - "src": "91220:4:10", + "src": "91220:4:23", "valueSize": 1 }, { - "declaration": 4198, + "declaration": 5804, "isOffset": false, "isSlot": false, - "src": "90935:8:10", + "src": "90935:8:23", "valueSize": 1 }, { - "declaration": 4198, + "declaration": 5804, "isOffset": false, "isSlot": false, - "src": "91046:8:10", + "src": "91046:8:23", "valueSize": 1 }, { - "declaration": 4200, + "declaration": 5806, "isOffset": false, "isSlot": false, - "src": "91002:5:10", + "src": "91002:5:23", "valueSize": 1 }, { - "declaration": 4200, + "declaration": 5806, "isOffset": false, "isSlot": false, - "src": "91013:5:10", + "src": "91013:5:23", "valueSize": 1 }, { - "declaration": 4200, + "declaration": 5806, "isOffset": false, "isSlot": false, - "src": "91066:5:10", + "src": "91066:5:23", "valueSize": 1 }, { - "declaration": 4200, + "declaration": 5806, "isOffset": false, "isSlot": false, - "src": "91130:5:10", + "src": "91130:5:23", "valueSize": 1 }, { - "declaration": 4200, + "declaration": 5806, "isOffset": false, "isSlot": false, - "src": "91141:5:10", + "src": "91141:5:23", "valueSize": 1 } ], - "id": 4205, + "id": 5811, "nodeType": "InlineAssembly", - "src": "90837:426:10" + "src": "90837:426:23" } ] }, "documentation": { - "id": 4196, + "id": 5802, "nodeType": "StructuredDocumentation", - "src": "90581:71:10", + "src": "90581:71:23", "text": "@dev Equivalent to `argsOnERC1967I(instance, start, 2 ** 256 - 1)`." }, - "id": 4207, + "id": 5813, "implemented": true, "kind": "function", "modifiers": [], "name": "argsOnERC1967I", - "nameLocation": "90666:14:10", + "nameLocation": "90666:14:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4201, + "id": 5807, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4198, + "id": 5804, "mutability": "mutable", "name": "instance", - "nameLocation": "90689:8:10", + "nameLocation": "90689:8:23", "nodeType": "VariableDeclaration", - "scope": 4207, - "src": "90681:16:10", + "scope": 5813, + "src": "90681:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -126494,10 +145469,10 @@ "typeString": "address" }, "typeName": { - "id": 4197, + "id": 5803, "name": "address", "nodeType": "ElementaryTypeName", - "src": "90681:7:10", + "src": "90681:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -126508,13 +145483,13 @@ }, { "constant": false, - "id": 4200, + "id": 5806, "mutability": "mutable", "name": "start", - "nameLocation": "90707:5:10", + "nameLocation": "90707:5:23", "nodeType": "VariableDeclaration", - "scope": 4207, - "src": "90699:13:10", + "scope": 5813, + "src": "90699:13:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -126522,10 +145497,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4199, + "id": 5805, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "90699:7:10", + "src": "90699:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -126534,21 +145509,21 @@ "visibility": "internal" } ], - "src": "90680:33:10" + "src": "90680:33:23" }, "returnParameters": { - "id": 4204, + "id": 5810, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4203, + "id": 5809, "mutability": "mutable", "name": "args", - "nameLocation": "90774:4:10", + "nameLocation": "90774:4:23", "nodeType": "VariableDeclaration", - "scope": 4207, - "src": "90761:17:10", + "scope": 5813, + "src": "90761:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -126556,10 +145531,10 @@ "typeString": "bytes" }, "typeName": { - "id": 4202, + "id": 5808, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "90761:5:10", + "src": "90761:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -126568,84 +145543,84 @@ "visibility": "internal" } ], - "src": "90760:19:10" + "src": "90760:19:23" }, - "scope": 5093, - "src": "90657:612:10", + "scope": 6699, + "src": "90657:612:23", "stateMutability": "view", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4220, + "id": 5826, "nodeType": "Block", - "src": "91781:785:10", + "src": "91781:785:23", "statements": [ { "AST": { - "nativeSrc": "91843:717:10", + "nativeSrc": "91843:717:23", "nodeType": "YulBlock", - "src": "91843:717:10", + "src": "91843:717:23", "statements": [ { - "nativeSrc": "91857:19:10", + "nativeSrc": "91857:19:23", "nodeType": "YulAssignment", - "src": "91857:19:10", + "src": "91857:19:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "91871:4:10", + "nativeSrc": "91871:4:23", "nodeType": "YulLiteral", - "src": "91871:4:10", + "src": "91871:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "91865:5:10", + "nativeSrc": "91865:5:23", "nodeType": "YulIdentifier", - "src": "91865:5:10" + "src": "91865:5:23" }, - "nativeSrc": "91865:11:10", + "nativeSrc": "91865:11:23", "nodeType": "YulFunctionCall", - "src": "91865:11:10" + "src": "91865:11:23" }, "variableNames": [ { "name": "args", - "nativeSrc": "91857:4:10", + "nativeSrc": "91857:4:23", "nodeType": "YulIdentifier", - "src": "91857:4:10" + "src": "91857:4:23" } ] }, { "body": { - "nativeSrc": "91916:17:10", + "nativeSrc": "91916:17:23", "nodeType": "YulBlock", - "src": "91916:17:10", + "src": "91916:17:23", "statements": [ { - "nativeSrc": "91918:13:10", + "nativeSrc": "91918:13:23", "nodeType": "YulAssignment", - "src": "91918:13:10", + "src": "91918:13:23", "value": { "kind": "number", - "nativeSrc": "91925:6:10", + "nativeSrc": "91925:6:23", "nodeType": "YulLiteral", - "src": "91925:6:10", + "src": "91925:6:23", "type": "", "value": "0xffff" }, "variableNames": [ { "name": "end", - "nativeSrc": "91918:3:10", + "nativeSrc": "91918:3:23", "nodeType": "YulIdentifier", - "src": "91918:3:10" + "src": "91918:3:23" } ] } @@ -126657,117 +145632,117 @@ "arguments": [ { "name": "end", - "nativeSrc": "91902:3:10", + "nativeSrc": "91902:3:23", "nodeType": "YulIdentifier", - "src": "91902:3:10" + "src": "91902:3:23" }, { "kind": "number", - "nativeSrc": "91907:6:10", + "nativeSrc": "91907:6:23", "nodeType": "YulLiteral", - "src": "91907:6:10", + "src": "91907:6:23", "type": "", "value": "0xffff" } ], "functionName": { "name": "lt", - "nativeSrc": "91899:2:10", + "nativeSrc": "91899:2:23", "nodeType": "YulIdentifier", - "src": "91899:2:10" + "src": "91899:2:23" }, - "nativeSrc": "91899:15:10", + "nativeSrc": "91899:15:23", "nodeType": "YulFunctionCall", - "src": "91899:15:10" + "src": "91899:15:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "91892:6:10", + "nativeSrc": "91892:6:23", "nodeType": "YulIdentifier", - "src": "91892:6:10" + "src": "91892:6:23" }, - "nativeSrc": "91892:23:10", + "nativeSrc": "91892:23:23", "nodeType": "YulFunctionCall", - "src": "91892:23:10" + "src": "91892:23:23" }, - "nativeSrc": "91889:44:10", + "nativeSrc": "91889:44:23", "nodeType": "YulIf", - "src": "91889:44:10" + "src": "91889:44:23" }, { - "nativeSrc": "91946:45:10", + "nativeSrc": "91946:45:23", "nodeType": "YulVariableDeclaration", - "src": "91946:45:10", + "src": "91946:45:23", "value": { "arguments": [ { "arguments": [ { "name": "end", - "nativeSrc": "91963:3:10", + "nativeSrc": "91963:3:23", "nodeType": "YulIdentifier", - "src": "91963:3:10" + "src": "91963:3:23" }, { "name": "start", - "nativeSrc": "91968:5:10", + "nativeSrc": "91968:5:23", "nodeType": "YulIdentifier", - "src": "91968:5:10" + "src": "91968:5:23" } ], "functionName": { "name": "sub", - "nativeSrc": "91959:3:10", + "nativeSrc": "91959:3:23", "nodeType": "YulIdentifier", - "src": "91959:3:10" + "src": "91959:3:23" }, - "nativeSrc": "91959:15:10", + "nativeSrc": "91959:15:23", "nodeType": "YulFunctionCall", - "src": "91959:15:10" + "src": "91959:15:23" }, { "arguments": [ { "name": "start", - "nativeSrc": "91979:5:10", + "nativeSrc": "91979:5:23", "nodeType": "YulIdentifier", - "src": "91979:5:10" + "src": "91979:5:23" }, { "name": "end", - "nativeSrc": "91986:3:10", + "nativeSrc": "91986:3:23", "nodeType": "YulIdentifier", - "src": "91986:3:10" + "src": "91986:3:23" } ], "functionName": { "name": "lt", - "nativeSrc": "91976:2:10", + "nativeSrc": "91976:2:23", "nodeType": "YulIdentifier", - "src": "91976:2:10" + "src": "91976:2:23" }, - "nativeSrc": "91976:14:10", + "nativeSrc": "91976:14:23", "nodeType": "YulFunctionCall", - "src": "91976:14:10" + "src": "91976:14:23" } ], "functionName": { "name": "mul", - "nativeSrc": "91955:3:10", + "nativeSrc": "91955:3:23", "nodeType": "YulIdentifier", - "src": "91955:3:10" + "src": "91955:3:23" }, - "nativeSrc": "91955:36:10", + "nativeSrc": "91955:36:23", "nodeType": "YulFunctionCall", - "src": "91955:36:10" + "src": "91955:36:23" }, "variables": [ { "name": "d", - "nativeSrc": "91950:1:10", + "nativeSrc": "91950:1:23", "nodeType": "YulTypedName", - "src": "91950:1:10", + "src": "91950:1:23", "type": "" } ] @@ -126777,141 +145752,141 @@ "arguments": [ { "name": "instance", - "nativeSrc": "92016:8:10", + "nativeSrc": "92016:8:23", "nodeType": "YulIdentifier", - "src": "92016:8:10" + "src": "92016:8:23" }, { "name": "args", - "nativeSrc": "92026:4:10", + "nativeSrc": "92026:4:23", "nodeType": "YulIdentifier", - "src": "92026:4:10" + "src": "92026:4:23" }, { "arguments": [ { "name": "start", - "nativeSrc": "92036:5:10", + "nativeSrc": "92036:5:23", "nodeType": "YulIdentifier", - "src": "92036:5:10" + "src": "92036:5:23" }, { "kind": "number", - "nativeSrc": "92043:4:10", + "nativeSrc": "92043:4:23", "nodeType": "YulLiteral", - "src": "92043:4:10", + "src": "92043:4:23", "type": "", "value": "0x32" } ], "functionName": { "name": "add", - "nativeSrc": "92032:3:10", + "nativeSrc": "92032:3:23", "nodeType": "YulIdentifier", - "src": "92032:3:10" + "src": "92032:3:23" }, - "nativeSrc": "92032:16:10", + "nativeSrc": "92032:16:23", "nodeType": "YulFunctionCall", - "src": "92032:16:10" + "src": "92032:16:23" }, { "arguments": [ { "name": "d", - "nativeSrc": "92054:1:10", + "nativeSrc": "92054:1:23", "nodeType": "YulIdentifier", - "src": "92054:1:10" + "src": "92054:1:23" }, { "kind": "number", - "nativeSrc": "92057:4:10", + "nativeSrc": "92057:4:23", "nodeType": "YulLiteral", - "src": "92057:4:10", + "src": "92057:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "92050:3:10", + "nativeSrc": "92050:3:23", "nodeType": "YulIdentifier", - "src": "92050:3:10" + "src": "92050:3:23" }, - "nativeSrc": "92050:12:10", + "nativeSrc": "92050:12:23", "nodeType": "YulFunctionCall", - "src": "92050:12:10" + "src": "92050:12:23" } ], "functionName": { "name": "extcodecopy", - "nativeSrc": "92004:11:10", + "nativeSrc": "92004:11:23", "nodeType": "YulIdentifier", - "src": "92004:11:10" + "src": "92004:11:23" }, - "nativeSrc": "92004:59:10", + "nativeSrc": "92004:59:23", "nodeType": "YulFunctionCall", - "src": "92004:59:10" + "src": "92004:59:23" }, - "nativeSrc": "92004:59:10", + "nativeSrc": "92004:59:23", "nodeType": "YulExpressionStatement", - "src": "92004:59:10" + "src": "92004:59:23" }, { "body": { - "nativeSrc": "92118:229:10", + "nativeSrc": "92118:229:23", "nodeType": "YulBlock", - "src": "92118:229:10", + "src": "92118:229:23", "statements": [ { - "nativeSrc": "92136:41:10", + "nativeSrc": "92136:41:23", "nodeType": "YulVariableDeclaration", - "src": "92136:41:10", + "src": "92136:41:23", "value": { "arguments": [ { "arguments": [ { "name": "instance", - "nativeSrc": "92161:8:10", + "nativeSrc": "92161:8:23", "nodeType": "YulIdentifier", - "src": "92161:8:10" + "src": "92161:8:23" } ], "functionName": { "name": "extcodesize", - "nativeSrc": "92149:11:10", + "nativeSrc": "92149:11:23", "nodeType": "YulIdentifier", - "src": "92149:11:10" + "src": "92149:11:23" }, - "nativeSrc": "92149:21:10", + "nativeSrc": "92149:21:23", "nodeType": "YulFunctionCall", - "src": "92149:21:10" + "src": "92149:21:23" }, { "kind": "number", - "nativeSrc": "92172:4:10", + "nativeSrc": "92172:4:23", "nodeType": "YulLiteral", - "src": "92172:4:10", + "src": "92172:4:23", "type": "", "value": "0x52" } ], "functionName": { "name": "sub", - "nativeSrc": "92145:3:10", + "nativeSrc": "92145:3:23", "nodeType": "YulIdentifier", - "src": "92145:3:10" + "src": "92145:3:23" }, - "nativeSrc": "92145:32:10", + "nativeSrc": "92145:32:23", "nodeType": "YulFunctionCall", - "src": "92145:32:10" + "src": "92145:32:23" }, "variables": [ { "name": "n", - "nativeSrc": "92140:1:10", + "nativeSrc": "92140:1:23", "nodeType": "YulTypedName", - "src": "92140:1:10", + "src": "92140:1:23", "type": "" } ] @@ -126923,106 +145898,106 @@ "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "92209:14:10", + "nativeSrc": "92209:14:23", "nodeType": "YulIdentifier", - "src": "92209:14:10" + "src": "92209:14:23" }, - "nativeSrc": "92209:16:10", + "nativeSrc": "92209:16:23", "nodeType": "YulFunctionCall", - "src": "92209:16:10" + "src": "92209:16:23" }, { "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "92227:14:10", + "nativeSrc": "92227:14:23", "nodeType": "YulIdentifier", - "src": "92227:14:10" + "src": "92227:14:23" }, - "nativeSrc": "92227:16:10", + "nativeSrc": "92227:16:23", "nodeType": "YulFunctionCall", - "src": "92227:16:10" + "src": "92227:16:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "92249:2:10", + "nativeSrc": "92249:2:23", "nodeType": "YulLiteral", - "src": "92249:2:10", + "src": "92249:2:23", "type": "", "value": "40" }, { "name": "n", - "nativeSrc": "92253:1:10", + "nativeSrc": "92253:1:23", "nodeType": "YulIdentifier", - "src": "92253:1:10" + "src": "92253:1:23" } ], "functionName": { "name": "shr", - "nativeSrc": "92245:3:10", + "nativeSrc": "92245:3:23", "nodeType": "YulIdentifier", - "src": "92245:3:10" + "src": "92245:3:23" }, - "nativeSrc": "92245:10:10", + "nativeSrc": "92245:10:23", "nodeType": "YulFunctionCall", - "src": "92245:10:10" + "src": "92245:10:23" } ], "functionName": { "name": "returndatacopy", - "nativeSrc": "92194:14:10", + "nativeSrc": "92194:14:23", "nodeType": "YulIdentifier", - "src": "92194:14:10" + "src": "92194:14:23" }, - "nativeSrc": "92194:62:10", + "nativeSrc": "92194:62:23", "nodeType": "YulFunctionCall", - "src": "92194:62:10" + "src": "92194:62:23" }, - "nativeSrc": "92194:62:10", + "nativeSrc": "92194:62:23", "nodeType": "YulExpressionStatement", - "src": "92194:62:10" + "src": "92194:62:23" }, { - "nativeSrc": "92273:60:10", + "nativeSrc": "92273:60:23", "nodeType": "YulAssignment", - "src": "92273:60:10", + "src": "92273:60:23", "value": { "arguments": [ { "arguments": [ { "name": "n", - "nativeSrc": "92285:1:10", + "nativeSrc": "92285:1:23", "nodeType": "YulIdentifier", - "src": "92285:1:10" + "src": "92285:1:23" }, { "name": "start", - "nativeSrc": "92288:5:10", + "nativeSrc": "92288:5:23", "nodeType": "YulIdentifier", - "src": "92288:5:10" + "src": "92288:5:23" } ], "functionName": { "name": "gt", - "nativeSrc": "92282:2:10", + "nativeSrc": "92282:2:23", "nodeType": "YulIdentifier", - "src": "92282:2:10" + "src": "92282:2:23" }, - "nativeSrc": "92282:12:10", + "nativeSrc": "92282:12:23", "nodeType": "YulFunctionCall", - "src": "92282:12:10" + "src": "92282:12:23" }, { "arguments": [ { "name": "d", - "nativeSrc": "92300:1:10", + "nativeSrc": "92300:1:23", "nodeType": "YulIdentifier", - "src": "92300:1:10" + "src": "92300:1:23" }, { "arguments": [ @@ -127030,91 +146005,91 @@ "arguments": [ { "name": "end", - "nativeSrc": "92310:3:10", + "nativeSrc": "92310:3:23", "nodeType": "YulIdentifier", - "src": "92310:3:10" + "src": "92310:3:23" }, { "name": "n", - "nativeSrc": "92315:1:10", + "nativeSrc": "92315:1:23", "nodeType": "YulIdentifier", - "src": "92315:1:10" + "src": "92315:1:23" } ], "functionName": { "name": "gt", - "nativeSrc": "92307:2:10", + "nativeSrc": "92307:2:23", "nodeType": "YulIdentifier", - "src": "92307:2:10" + "src": "92307:2:23" }, - "nativeSrc": "92307:10:10", + "nativeSrc": "92307:10:23", "nodeType": "YulFunctionCall", - "src": "92307:10:10" + "src": "92307:10:23" }, { "arguments": [ { "name": "end", - "nativeSrc": "92323:3:10", + "nativeSrc": "92323:3:23", "nodeType": "YulIdentifier", - "src": "92323:3:10" + "src": "92323:3:23" }, { "name": "n", - "nativeSrc": "92328:1:10", + "nativeSrc": "92328:1:23", "nodeType": "YulIdentifier", - "src": "92328:1:10" + "src": "92328:1:23" } ], "functionName": { "name": "sub", - "nativeSrc": "92319:3:10", + "nativeSrc": "92319:3:23", "nodeType": "YulIdentifier", - "src": "92319:3:10" + "src": "92319:3:23" }, - "nativeSrc": "92319:11:10", + "nativeSrc": "92319:11:23", "nodeType": "YulFunctionCall", - "src": "92319:11:10" + "src": "92319:11:23" } ], "functionName": { "name": "mul", - "nativeSrc": "92303:3:10", + "nativeSrc": "92303:3:23", "nodeType": "YulIdentifier", - "src": "92303:3:10" + "src": "92303:3:23" }, - "nativeSrc": "92303:28:10", + "nativeSrc": "92303:28:23", "nodeType": "YulFunctionCall", - "src": "92303:28:10" + "src": "92303:28:23" } ], "functionName": { "name": "sub", - "nativeSrc": "92296:3:10", + "nativeSrc": "92296:3:23", "nodeType": "YulIdentifier", - "src": "92296:3:10" + "src": "92296:3:23" }, - "nativeSrc": "92296:36:10", + "nativeSrc": "92296:36:23", "nodeType": "YulFunctionCall", - "src": "92296:36:10" + "src": "92296:36:23" } ], "functionName": { "name": "mul", - "nativeSrc": "92278:3:10", + "nativeSrc": "92278:3:23", "nodeType": "YulIdentifier", - "src": "92278:3:10" + "src": "92278:3:23" }, - "nativeSrc": "92278:55:10", + "nativeSrc": "92278:55:23", "nodeType": "YulFunctionCall", - "src": "92278:55:10" + "src": "92278:55:23" }, "variableNames": [ { "name": "d", - "nativeSrc": "92273:1:10", + "nativeSrc": "92273:1:23", "nodeType": "YulIdentifier", - "src": "92273:1:10" + "src": "92273:1:23" } ] } @@ -127126,9 +146101,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "92090:4:10", + "nativeSrc": "92090:4:23", "nodeType": "YulLiteral", - "src": "92090:4:10", + "src": "92090:4:23", "type": "", "value": "0xff" }, @@ -127138,93 +146113,93 @@ "arguments": [ { "name": "args", - "nativeSrc": "92106:4:10", + "nativeSrc": "92106:4:23", "nodeType": "YulIdentifier", - "src": "92106:4:10" + "src": "92106:4:23" }, { "name": "d", - "nativeSrc": "92112:1:10", + "nativeSrc": "92112:1:23", "nodeType": "YulIdentifier", - "src": "92112:1:10" + "src": "92112:1:23" } ], "functionName": { "name": "add", - "nativeSrc": "92102:3:10", + "nativeSrc": "92102:3:23", "nodeType": "YulIdentifier", - "src": "92102:3:10" + "src": "92102:3:23" }, - "nativeSrc": "92102:12:10", + "nativeSrc": "92102:12:23", "nodeType": "YulFunctionCall", - "src": "92102:12:10" + "src": "92102:12:23" } ], "functionName": { "name": "mload", - "nativeSrc": "92096:5:10", + "nativeSrc": "92096:5:23", "nodeType": "YulIdentifier", - "src": "92096:5:10" + "src": "92096:5:23" }, - "nativeSrc": "92096:19:10", + "nativeSrc": "92096:19:23", "nodeType": "YulFunctionCall", - "src": "92096:19:10" + "src": "92096:19:23" } ], "functionName": { "name": "and", - "nativeSrc": "92086:3:10", + "nativeSrc": "92086:3:23", "nodeType": "YulIdentifier", - "src": "92086:3:10" + "src": "92086:3:23" }, - "nativeSrc": "92086:30:10", + "nativeSrc": "92086:30:23", "nodeType": "YulFunctionCall", - "src": "92086:30:10" + "src": "92086:30:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "92079:6:10", + "nativeSrc": "92079:6:23", "nodeType": "YulIdentifier", - "src": "92079:6:10" + "src": "92079:6:23" }, - "nativeSrc": "92079:38:10", + "nativeSrc": "92079:38:23", "nodeType": "YulFunctionCall", - "src": "92079:38:10" + "src": "92079:38:23" }, - "nativeSrc": "92076:271:10", + "nativeSrc": "92076:271:23", "nodeType": "YulIf", - "src": "92076:271:10" + "src": "92076:271:23" }, { "expression": { "arguments": [ { "name": "args", - "nativeSrc": "92367:4:10", + "nativeSrc": "92367:4:23", "nodeType": "YulIdentifier", - "src": "92367:4:10" + "src": "92367:4:23" }, { "name": "d", - "nativeSrc": "92373:1:10", + "nativeSrc": "92373:1:23", "nodeType": "YulIdentifier", - "src": "92373:1:10" + "src": "92373:1:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "92360:6:10", + "nativeSrc": "92360:6:23", "nodeType": "YulIdentifier", - "src": "92360:6:10" + "src": "92360:6:23" }, - "nativeSrc": "92360:15:10", + "nativeSrc": "92360:15:23", "nodeType": "YulFunctionCall", - "src": "92360:15:10" + "src": "92360:15:23" }, - "nativeSrc": "92360:15:10", + "nativeSrc": "92360:15:23", "nodeType": "YulExpressionStatement", - "src": "92360:15:10" + "src": "92360:15:23" }, { "expression": { @@ -127235,77 +146210,77 @@ "arguments": [ { "name": "args", - "nativeSrc": "92424:4:10", + "nativeSrc": "92424:4:23", "nodeType": "YulIdentifier", - "src": "92424:4:10" + "src": "92424:4:23" }, { "kind": "number", - "nativeSrc": "92430:4:10", + "nativeSrc": "92430:4:23", "nodeType": "YulLiteral", - "src": "92430:4:10", + "src": "92430:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "92420:3:10", + "nativeSrc": "92420:3:23", "nodeType": "YulIdentifier", - "src": "92420:3:10" + "src": "92420:3:23" }, - "nativeSrc": "92420:15:10", + "nativeSrc": "92420:15:23", "nodeType": "YulFunctionCall", - "src": "92420:15:10" + "src": "92420:15:23" }, { "name": "d", - "nativeSrc": "92437:1:10", + "nativeSrc": "92437:1:23", "nodeType": "YulIdentifier", - "src": "92437:1:10" + "src": "92437:1:23" } ], "functionName": { "name": "add", - "nativeSrc": "92416:3:10", + "nativeSrc": "92416:3:23", "nodeType": "YulIdentifier", - "src": "92416:3:10" + "src": "92416:3:23" }, - "nativeSrc": "92416:23:10", + "nativeSrc": "92416:23:23", "nodeType": "YulFunctionCall", - "src": "92416:23:10" + "src": "92416:23:23" }, { "kind": "number", - "nativeSrc": "92441:1:10", + "nativeSrc": "92441:1:23", "nodeType": "YulLiteral", - "src": "92441:1:10", + "src": "92441:1:23", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "92409:6:10", + "nativeSrc": "92409:6:23", "nodeType": "YulIdentifier", - "src": "92409:6:10" + "src": "92409:6:23" }, - "nativeSrc": "92409:34:10", + "nativeSrc": "92409:34:23", "nodeType": "YulFunctionCall", - "src": "92409:34:10" + "src": "92409:34:23" }, - "nativeSrc": "92409:34:10", + "nativeSrc": "92409:34:23", "nodeType": "YulExpressionStatement", - "src": "92409:34:10" + "src": "92409:34:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "92500:4:10", + "nativeSrc": "92500:4:23", "nodeType": "YulLiteral", - "src": "92500:4:10", + "src": "92500:4:23", "type": "", "value": "0x40" }, @@ -127315,60 +146290,60 @@ "arguments": [ { "name": "args", - "nativeSrc": "92514:4:10", + "nativeSrc": "92514:4:23", "nodeType": "YulIdentifier", - "src": "92514:4:10" + "src": "92514:4:23" }, { "kind": "number", - "nativeSrc": "92520:4:10", + "nativeSrc": "92520:4:23", "nodeType": "YulLiteral", - "src": "92520:4:10", + "src": "92520:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "add", - "nativeSrc": "92510:3:10", + "nativeSrc": "92510:3:23", "nodeType": "YulIdentifier", - "src": "92510:3:10" + "src": "92510:3:23" }, - "nativeSrc": "92510:15:10", + "nativeSrc": "92510:15:23", "nodeType": "YulFunctionCall", - "src": "92510:15:10" + "src": "92510:15:23" }, { "name": "d", - "nativeSrc": "92527:1:10", + "nativeSrc": "92527:1:23", "nodeType": "YulIdentifier", - "src": "92527:1:10" + "src": "92527:1:23" } ], "functionName": { "name": "add", - "nativeSrc": "92506:3:10", + "nativeSrc": "92506:3:23", "nodeType": "YulIdentifier", - "src": "92506:3:10" + "src": "92506:3:23" }, - "nativeSrc": "92506:23:10", + "nativeSrc": "92506:23:23", "nodeType": "YulFunctionCall", - "src": "92506:23:10" + "src": "92506:23:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "92493:6:10", + "nativeSrc": "92493:6:23", "nodeType": "YulIdentifier", - "src": "92493:6:10" + "src": "92493:6:23" }, - "nativeSrc": "92493:37:10", + "nativeSrc": "92493:37:23", "nodeType": "YulFunctionCall", - "src": "92493:37:10" + "src": "92493:37:23" }, - "nativeSrc": "92493:37:10", + "nativeSrc": "92493:37:23", "nodeType": "YulExpressionStatement", - "src": "92493:37:10" + "src": "92493:37:23" } ] }, @@ -127376,164 +146351,164 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4217, + "declaration": 5823, "isOffset": false, "isSlot": false, - "src": "91857:4:10", + "src": "91857:4:23", "valueSize": 1 }, { - "declaration": 4217, + "declaration": 5823, "isOffset": false, "isSlot": false, - "src": "92026:4:10", + "src": "92026:4:23", "valueSize": 1 }, { - "declaration": 4217, + "declaration": 5823, "isOffset": false, "isSlot": false, - "src": "92106:4:10", + "src": "92106:4:23", "valueSize": 1 }, { - "declaration": 4217, + "declaration": 5823, "isOffset": false, "isSlot": false, - "src": "92367:4:10", + "src": "92367:4:23", "valueSize": 1 }, { - "declaration": 4217, + "declaration": 5823, "isOffset": false, "isSlot": false, - "src": "92424:4:10", + "src": "92424:4:23", "valueSize": 1 }, { - "declaration": 4217, + "declaration": 5823, "isOffset": false, "isSlot": false, - "src": "92514:4:10", + "src": "92514:4:23", "valueSize": 1 }, { - "declaration": 4214, + "declaration": 5820, "isOffset": false, "isSlot": false, - "src": "91902:3:10", + "src": "91902:3:23", "valueSize": 1 }, { - "declaration": 4214, + "declaration": 5820, "isOffset": false, "isSlot": false, - "src": "91918:3:10", + "src": "91918:3:23", "valueSize": 1 }, { - "declaration": 4214, + "declaration": 5820, "isOffset": false, "isSlot": false, - "src": "91963:3:10", + "src": "91963:3:23", "valueSize": 1 }, { - "declaration": 4214, + "declaration": 5820, "isOffset": false, "isSlot": false, - "src": "91986:3:10", + "src": "91986:3:23", "valueSize": 1 }, { - "declaration": 4214, + "declaration": 5820, "isOffset": false, "isSlot": false, - "src": "92310:3:10", + "src": "92310:3:23", "valueSize": 1 }, { - "declaration": 4214, + "declaration": 5820, "isOffset": false, "isSlot": false, - "src": "92323:3:10", + "src": "92323:3:23", "valueSize": 1 }, { - "declaration": 4210, + "declaration": 5816, "isOffset": false, "isSlot": false, - "src": "92016:8:10", + "src": "92016:8:23", "valueSize": 1 }, { - "declaration": 4210, + "declaration": 5816, "isOffset": false, "isSlot": false, - "src": "92161:8:10", + "src": "92161:8:23", "valueSize": 1 }, { - "declaration": 4212, + "declaration": 5818, "isOffset": false, "isSlot": false, - "src": "91968:5:10", + "src": "91968:5:23", "valueSize": 1 }, { - "declaration": 4212, + "declaration": 5818, "isOffset": false, "isSlot": false, - "src": "91979:5:10", + "src": "91979:5:23", "valueSize": 1 }, { - "declaration": 4212, + "declaration": 5818, "isOffset": false, "isSlot": false, - "src": "92036:5:10", + "src": "92036:5:23", "valueSize": 1 }, { - "declaration": 4212, + "declaration": 5818, "isOffset": false, "isSlot": false, - "src": "92288:5:10", + "src": "92288:5:23", "valueSize": 1 } ], - "id": 4219, + "id": 5825, "nodeType": "InlineAssembly", - "src": "91834:726:10" + "src": "91834:726:23" } ] }, "documentation": { - "id": 4208, + "id": 5814, "nodeType": "StructuredDocumentation", - "src": "91275:361:10", + "src": "91275:361:23", "text": "@dev Returns a slice of the immutable arguments on `instance` from `start` to `end`.\n `start` and `end` will be clamped to the range `[0, args.length]`.\n The `instance` MUST be deployed via the ERC1967 with immutable args functions.\n Otherwise, the behavior is undefined.\n Out-of-gas reverts if `instance` does not have any code." }, - "id": 4221, + "id": 5827, "implemented": true, "kind": "function", "modifiers": [], "name": "argsOnERC1967I", - "nameLocation": "91650:14:10", + "nameLocation": "91650:14:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4215, + "id": 5821, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4210, + "id": 5816, "mutability": "mutable", "name": "instance", - "nameLocation": "91673:8:10", + "nameLocation": "91673:8:23", "nodeType": "VariableDeclaration", - "scope": 4221, - "src": "91665:16:10", + "scope": 5827, + "src": "91665:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -127541,10 +146516,10 @@ "typeString": "address" }, "typeName": { - "id": 4209, + "id": 5815, "name": "address", "nodeType": "ElementaryTypeName", - "src": "91665:7:10", + "src": "91665:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -127555,13 +146530,13 @@ }, { "constant": false, - "id": 4212, + "id": 5818, "mutability": "mutable", "name": "start", - "nameLocation": "91691:5:10", + "nameLocation": "91691:5:23", "nodeType": "VariableDeclaration", - "scope": 4221, - "src": "91683:13:10", + "scope": 5827, + "src": "91683:13:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -127569,10 +146544,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4211, + "id": 5817, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "91683:7:10", + "src": "91683:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -127582,13 +146557,13 @@ }, { "constant": false, - "id": 4214, + "id": 5820, "mutability": "mutable", "name": "end", - "nameLocation": "91706:3:10", + "nameLocation": "91706:3:23", "nodeType": "VariableDeclaration", - "scope": 4221, - "src": "91698:11:10", + "scope": 5827, + "src": "91698:11:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -127596,10 +146571,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4213, + "id": 5819, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "91698:7:10", + "src": "91698:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -127608,21 +146583,21 @@ "visibility": "internal" } ], - "src": "91664:46:10" + "src": "91664:46:23" }, "returnParameters": { - "id": 4218, + "id": 5824, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4217, + "id": 5823, "mutability": "mutable", "name": "args", - "nameLocation": "91771:4:10", + "nameLocation": "91771:4:23", "nodeType": "VariableDeclaration", - "scope": 4221, - "src": "91758:17:10", + "scope": 5827, + "src": "91758:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -127630,10 +146605,10 @@ "typeString": "bytes" }, "typeName": { - "id": 4216, + "id": 5822, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "91758:5:10", + "src": "91758:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -127642,19 +146617,19 @@ "visibility": "internal" } ], - "src": "91757:19:10" + "src": "91757:19:23" }, - "scope": 5093, - "src": "91641:925:10", + "scope": 6699, + "src": "91641:925:23", "stateMutability": "view", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4234, + "id": 5840, "nodeType": "Block", - "src": "93444:55:10", + "src": "93444:55:23", "statements": [ { "expression": { @@ -127662,14 +146637,14 @@ { "arguments": [ { - "id": 4230, + "id": 5836, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, - "src": "93486:4:10", + "src": "93486:4:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_LibClone_$5093", + "typeIdentifier": "t_contract$_LibClone_$6699", "typeString": "library LibClone" } } @@ -127677,30 +146652,30 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_LibClone_$5093", + "typeIdentifier": "t_contract$_LibClone_$6699", "typeString": "library LibClone" } ], - "id": 4229, + "id": 5835, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "93478:7:10", + "src": "93478:7:23", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 4228, + "id": 5834, "name": "address", "nodeType": "ElementaryTypeName", - "src": "93478:7:10", + "src": "93478:7:23", "typeDescriptions": {} } }, - "id": 4231, + "id": 5837, "isConstant": false, "isLValue": false, "isPure": false, @@ -127709,7 +146684,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "93478:13:10", + "src": "93478:13:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -127724,21 +146699,21 @@ "typeString": "address" } ], - "id": 4227, + "id": 5833, "name": "erc1967Bootstrap", "nodeType": "Identifier", "overloadedDeclarations": [ - 4235, - 4267 + 5841, + 5873 ], - "referencedDeclaration": 4267, - "src": "93461:16:10", + "referencedDeclaration": 5873, + "src": "93461:16:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_address_$", "typeString": "function (address) returns (address)" } }, - "id": 4232, + "id": 5838, "isConstant": false, "isLValue": false, "isPure": false, @@ -127747,52 +146722,52 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "93461:31:10", + "src": "93461:31:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 4226, - "id": 4233, + "functionReturnParameters": 5832, + "id": 5839, "nodeType": "Return", - "src": "93454:38:10" + "src": "93454:38:23" } ] }, "documentation": { - "id": 4222, + "id": 5828, "nodeType": "StructuredDocumentation", - "src": "93317:67:10", + "src": "93317:67:23", "text": "@dev Deploys the ERC1967 bootstrap if it has not been deployed." }, - "id": 4235, + "id": 5841, "implemented": true, "kind": "function", "modifiers": [], "name": "erc1967Bootstrap", - "nameLocation": "93398:16:10", + "nameLocation": "93398:16:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4223, + "id": 5829, "nodeType": "ParameterList", "parameters": [], - "src": "93414:2:10" + "src": "93414:2:23" }, "returnParameters": { - "id": 4226, + "id": 5832, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4225, + "id": 5831, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 4235, - "src": "93435:7:10", + "scope": 5841, + "src": "93435:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -127800,10 +146775,10 @@ "typeString": "address" }, "typeName": { - "id": 4224, + "id": 5830, "name": "address", "nodeType": "ElementaryTypeName", - "src": "93435:7:10", + "src": "93435:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -127813,34 +146788,34 @@ "visibility": "internal" } ], - "src": "93434:9:10" + "src": "93434:9:23" }, - "scope": 5093, - "src": "93389:110:10", + "scope": 6699, + "src": "93389:110:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4266, + "id": 5872, "nodeType": "Block", - "src": "93668:496:10", + "src": "93668:496:23", "statements": [ { "assignments": [ - 4244 + 5850 ], "declarations": [ { "constant": false, - "id": 4244, + "id": 5850, "mutability": "mutable", "name": "c", - "nameLocation": "93691:1:10", + "nameLocation": "93691:1:23", "nodeType": "VariableDeclaration", - "scope": 4266, - "src": "93678:14:10", + "scope": 5872, + "src": "93678:14:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -127848,10 +146823,10 @@ "typeString": "bytes" }, "typeName": { - "id": 4243, + "id": 5849, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "93678:5:10", + "src": "93678:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -127860,16 +146835,16 @@ "visibility": "internal" } ], - "id": 4248, + "id": 5854, "initialValue": { "arguments": [ { - "id": 4246, + "id": 5852, "name": "authorizedUpgrader", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4238, - "src": "93720:18:10", + "referencedDeclaration": 5844, + "src": "93720:18:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -127883,18 +146858,18 @@ "typeString": "address" } ], - "id": 4245, + "id": 5851, "name": "initCodeERC1967Bootstrap", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4343, - "src": "93695:24:10", + "referencedDeclaration": 5949, + "src": "93695:24:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_bytes_memory_ptr_$", "typeString": "function (address) pure returns (bytes memory)" } }, - "id": 4247, + "id": 5853, "isConstant": false, "isLValue": false, "isPure": false, @@ -127903,7 +146878,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "93695:44:10", + "src": "93695:44:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -127911,22 +146886,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "93678:61:10" + "src": "93678:61:23" }, { "expression": { - "id": 4263, + "id": 5869, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 4249, + "id": 5855, "name": "bootstrap", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4241, - "src": "93749:9:10", + "referencedDeclaration": 5847, + "src": "93749:9:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -127939,12 +146914,12 @@ { "arguments": [ { - "id": 4252, + "id": 5858, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4244, - "src": "93799:1:10", + "referencedDeclaration": 5850, + "src": "93799:1:23", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -127958,18 +146933,18 @@ "typeString": "bytes memory" } ], - "id": 4251, + "id": 5857, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "93789:9:10", + "src": "93789:9:23", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 4253, + "id": 5859, "isConstant": false, "isLValue": false, "isPure": false, @@ -127978,7 +146953,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "93789:12:10", + "src": "93789:12:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -127989,14 +146964,14 @@ "arguments": [ { "hexValue": "30", - "id": 4256, + "id": 5862, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "93811:1:10", + "src": "93811:1:23", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -128011,26 +146986,26 @@ "typeString": "int_const 0" } ], - "id": 4255, + "id": 5861, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "93803:7:10", + "src": "93803:7:23", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": { - "id": 4254, + "id": 5860, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "93803:7:10", + "src": "93803:7:23", "typeDescriptions": {} } }, - "id": 4257, + "id": 5863, "isConstant": false, "isLValue": false, "isPure": true, @@ -128039,7 +147014,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "93803:10:10", + "src": "93803:10:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -128049,14 +147024,14 @@ { "arguments": [ { - "id": 4260, + "id": 5866, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, - "src": "93823:4:10", + "src": "93823:4:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_LibClone_$5093", + "typeIdentifier": "t_contract$_LibClone_$6699", "typeString": "library LibClone" } } @@ -128064,30 +147039,30 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_LibClone_$5093", + "typeIdentifier": "t_contract$_LibClone_$6699", "typeString": "library LibClone" } ], - "id": 4259, + "id": 5865, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "93815:7:10", + "src": "93815:7:23", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 4258, + "id": 5864, "name": "address", "nodeType": "ElementaryTypeName", - "src": "93815:7:10", + "src": "93815:7:23", "typeDescriptions": {} } }, - "id": 4261, + "id": 5867, "isConstant": false, "isLValue": false, "isPure": false, @@ -128096,7 +147071,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "93815:13:10", + "src": "93815:13:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -128119,22 +147094,22 @@ "typeString": "address" } ], - "id": 4250, + "id": 5856, "name": "predictDeterministicAddress", "nodeType": "Identifier", "overloadedDeclarations": [ - 3226, - 3499, - 5070 + 4832, + 5105, + 6676 ], - "referencedDeclaration": 5070, - "src": "93761:27:10", + "referencedDeclaration": 6676, + "src": "93761:27:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_address_$", "typeString": "function (bytes32,bytes32,address) pure returns (address)" } }, - "id": 4262, + "id": 5868, "isConstant": false, "isLValue": false, "isPure": false, @@ -128143,108 +147118,108 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "93761:68:10", + "src": "93761:68:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "93749:80:10", + "src": "93749:80:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 4264, + "id": 5870, "nodeType": "ExpressionStatement", - "src": "93749:80:10" + "src": "93749:80:23" }, { "AST": { - "nativeSrc": "93891:267:10", + "nativeSrc": "93891:267:23", "nodeType": "YulBlock", - "src": "93891:267:10", + "src": "93891:267:23", "statements": [ { "body": { - "nativeSrc": "93939:209:10", + "nativeSrc": "93939:209:23", "nodeType": "YulBlock", - "src": "93939:209:10", + "src": "93939:209:23", "statements": [ { "body": { - "nativeSrc": "94006:128:10", + "nativeSrc": "94006:128:23", "nodeType": "YulBlock", - "src": "94006:128:10", + "src": "94006:128:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "94035:4:10", + "nativeSrc": "94035:4:23", "nodeType": "YulLiteral", - "src": "94035:4:10", + "src": "94035:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "94041:10:10", + "nativeSrc": "94041:10:23", "nodeType": "YulLiteral", - "src": "94041:10:10", + "src": "94041:10:23", "type": "", "value": "0x30116425" } ], "functionName": { "name": "mstore", - "nativeSrc": "94028:6:10", + "nativeSrc": "94028:6:23", "nodeType": "YulIdentifier", - "src": "94028:6:10" + "src": "94028:6:23" }, - "nativeSrc": "94028:24:10", + "nativeSrc": "94028:24:23", "nodeType": "YulFunctionCall", - "src": "94028:24:10" + "src": "94028:24:23" }, - "nativeSrc": "94028:24:10", + "nativeSrc": "94028:24:23", "nodeType": "YulExpressionStatement", - "src": "94028:24:10" + "src": "94028:24:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "94105:4:10", + "nativeSrc": "94105:4:23", "nodeType": "YulLiteral", - "src": "94105:4:10", + "src": "94105:4:23", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "94111:4:10", + "nativeSrc": "94111:4:23", "nodeType": "YulLiteral", - "src": "94111:4:10", + "src": "94111:4:23", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "94098:6:10", + "nativeSrc": "94098:6:23", "nodeType": "YulIdentifier", - "src": "94098:6:10" + "src": "94098:6:23" }, - "nativeSrc": "94098:18:10", + "nativeSrc": "94098:18:23", "nodeType": "YulFunctionCall", - "src": "94098:18:10" + "src": "94098:18:23" }, - "nativeSrc": "94098:18:10", + "nativeSrc": "94098:18:23", "nodeType": "YulExpressionStatement", - "src": "94098:18:10" + "src": "94098:18:23" } ] }, @@ -128254,9 +147229,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "93975:1:10", + "nativeSrc": "93975:1:23", "nodeType": "YulLiteral", - "src": "93975:1:10", + "src": "93975:1:23", "type": "", "value": "0" }, @@ -128264,81 +147239,81 @@ "arguments": [ { "name": "c", - "nativeSrc": "93982:1:10", + "nativeSrc": "93982:1:23", "nodeType": "YulIdentifier", - "src": "93982:1:10" + "src": "93982:1:23" }, { "kind": "number", - "nativeSrc": "93985:4:10", + "nativeSrc": "93985:4:23", "nodeType": "YulLiteral", - "src": "93985:4:10", + "src": "93985:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "93978:3:10", + "nativeSrc": "93978:3:23", "nodeType": "YulIdentifier", - "src": "93978:3:10" + "src": "93978:3:23" }, - "nativeSrc": "93978:12:10", + "nativeSrc": "93978:12:23", "nodeType": "YulFunctionCall", - "src": "93978:12:10" + "src": "93978:12:23" }, { "arguments": [ { "name": "c", - "nativeSrc": "93998:1:10", + "nativeSrc": "93998:1:23", "nodeType": "YulIdentifier", - "src": "93998:1:10" + "src": "93998:1:23" } ], "functionName": { "name": "mload", - "nativeSrc": "93992:5:10", + "nativeSrc": "93992:5:23", "nodeType": "YulIdentifier", - "src": "93992:5:10" + "src": "93992:5:23" }, - "nativeSrc": "93992:8:10", + "nativeSrc": "93992:8:23", "nodeType": "YulFunctionCall", - "src": "93992:8:10" + "src": "93992:8:23" }, { "kind": "number", - "nativeSrc": "94002:1:10", + "nativeSrc": "94002:1:23", "nodeType": "YulLiteral", - "src": "94002:1:10", + "src": "94002:1:23", "type": "", "value": "0" } ], "functionName": { "name": "create2", - "nativeSrc": "93967:7:10", + "nativeSrc": "93967:7:23", "nodeType": "YulIdentifier", - "src": "93967:7:10" + "src": "93967:7:23" }, - "nativeSrc": "93967:37:10", + "nativeSrc": "93967:37:23", "nodeType": "YulFunctionCall", - "src": "93967:37:10" + "src": "93967:37:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "93960:6:10", + "nativeSrc": "93960:6:23", "nodeType": "YulIdentifier", - "src": "93960:6:10" + "src": "93960:6:23" }, - "nativeSrc": "93960:45:10", + "nativeSrc": "93960:45:23", "nodeType": "YulFunctionCall", - "src": "93960:45:10" + "src": "93960:45:23" }, - "nativeSrc": "93957:177:10", + "nativeSrc": "93957:177:23", "nodeType": "YulIf", - "src": "93957:177:10" + "src": "93957:177:23" } ] }, @@ -128348,35 +147323,35 @@ "arguments": [ { "name": "bootstrap", - "nativeSrc": "93927:9:10", + "nativeSrc": "93927:9:23", "nodeType": "YulIdentifier", - "src": "93927:9:10" + "src": "93927:9:23" } ], "functionName": { "name": "extcodesize", - "nativeSrc": "93915:11:10", + "nativeSrc": "93915:11:23", "nodeType": "YulIdentifier", - "src": "93915:11:10" + "src": "93915:11:23" }, - "nativeSrc": "93915:22:10", + "nativeSrc": "93915:22:23", "nodeType": "YulFunctionCall", - "src": "93915:22:10" + "src": "93915:22:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "93908:6:10", + "nativeSrc": "93908:6:23", "nodeType": "YulIdentifier", - "src": "93908:6:10" + "src": "93908:6:23" }, - "nativeSrc": "93908:30:10", + "nativeSrc": "93908:30:23", "nodeType": "YulFunctionCall", - "src": "93908:30:10" + "src": "93908:30:23" }, - "nativeSrc": "93905:243:10", + "nativeSrc": "93905:243:23", "nodeType": "YulIf", - "src": "93905:243:10" + "src": "93905:243:23" } ] }, @@ -128384,59 +147359,59 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4241, + "declaration": 5847, "isOffset": false, "isSlot": false, - "src": "93927:9:10", + "src": "93927:9:23", "valueSize": 1 }, { - "declaration": 4244, + "declaration": 5850, "isOffset": false, "isSlot": false, - "src": "93982:1:10", + "src": "93982:1:23", "valueSize": 1 }, { - "declaration": 4244, + "declaration": 5850, "isOffset": false, "isSlot": false, - "src": "93998:1:10", + "src": "93998:1:23", "valueSize": 1 } ], - "id": 4265, + "id": 5871, "nodeType": "InlineAssembly", - "src": "93882:276:10" + "src": "93882:276:23" } ] }, "documentation": { - "id": 4236, + "id": 5842, "nodeType": "StructuredDocumentation", - "src": "93505:67:10", + "src": "93505:67:23", "text": "@dev Deploys the ERC1967 bootstrap if it has not been deployed." }, - "id": 4267, + "id": 5873, "implemented": true, "kind": "function", "modifiers": [], "name": "erc1967Bootstrap", - "nameLocation": "93586:16:10", + "nameLocation": "93586:16:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4239, + "id": 5845, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4238, + "id": 5844, "mutability": "mutable", "name": "authorizedUpgrader", - "nameLocation": "93611:18:10", + "nameLocation": "93611:18:23", "nodeType": "VariableDeclaration", - "scope": 4267, - "src": "93603:26:10", + "scope": 5873, + "src": "93603:26:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -128444,10 +147419,10 @@ "typeString": "address" }, "typeName": { - "id": 4237, + "id": 5843, "name": "address", "nodeType": "ElementaryTypeName", - "src": "93603:7:10", + "src": "93603:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -128457,21 +147432,21 @@ "visibility": "internal" } ], - "src": "93602:28:10" + "src": "93602:28:23" }, "returnParameters": { - "id": 4242, + "id": 5848, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4241, + "id": 5847, "mutability": "mutable", "name": "bootstrap", - "nameLocation": "93657:9:10", + "nameLocation": "93657:9:23", "nodeType": "VariableDeclaration", - "scope": 4267, - "src": "93649:17:10", + "scope": 5873, + "src": "93649:17:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -128479,10 +147454,10 @@ "typeString": "address" }, "typeName": { - "id": 4240, + "id": 5846, "name": "address", "nodeType": "ElementaryTypeName", - "src": "93649:7:10", + "src": "93649:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -128492,131 +147467,131 @@ "visibility": "internal" } ], - "src": "93648:19:10" + "src": "93648:19:23" }, - "scope": 5093, - "src": "93577:587:10", + "scope": 6699, + "src": "93577:587:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4276, + "id": 5882, "nodeType": "Block", - "src": "94303:315:10", + "src": "94303:315:23", "statements": [ { "AST": { - "nativeSrc": "94365:247:10", + "nativeSrc": "94365:247:23", "nodeType": "YulBlock", - "src": "94365:247:10", + "src": "94365:247:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "94386:4:10", + "nativeSrc": "94386:4:23", "nodeType": "YulLiteral", - "src": "94386:4:10", + "src": "94386:4:23", "type": "", "value": "0x00" }, { "name": "implementation", - "nativeSrc": "94392:14:10", + "nativeSrc": "94392:14:23", "nodeType": "YulIdentifier", - "src": "94392:14:10" + "src": "94392:14:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "94379:6:10", + "nativeSrc": "94379:6:23", "nodeType": "YulIdentifier", - "src": "94379:6:10" + "src": "94379:6:23" }, - "nativeSrc": "94379:28:10", + "nativeSrc": "94379:28:23", "nodeType": "YulFunctionCall", - "src": "94379:28:10" + "src": "94379:28:23" }, - "nativeSrc": "94379:28:10", + "nativeSrc": "94379:28:23", "nodeType": "YulExpressionStatement", - "src": "94379:28:10" + "src": "94379:28:23" }, { "body": { - "nativeSrc": "94486:116:10", + "nativeSrc": "94486:116:23", "nodeType": "YulBlock", - "src": "94486:116:10", + "src": "94486:116:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "94511:4:10", + "nativeSrc": "94511:4:23", "nodeType": "YulLiteral", - "src": "94511:4:10", + "src": "94511:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "94517:10:10", + "nativeSrc": "94517:10:23", "nodeType": "YulLiteral", - "src": "94517:10:10", + "src": "94517:10:23", "type": "", "value": "0x30116425" } ], "functionName": { "name": "mstore", - "nativeSrc": "94504:6:10", + "nativeSrc": "94504:6:23", "nodeType": "YulIdentifier", - "src": "94504:6:10" + "src": "94504:6:23" }, - "nativeSrc": "94504:24:10", + "nativeSrc": "94504:24:23", "nodeType": "YulFunctionCall", - "src": "94504:24:10" + "src": "94504:24:23" }, - "nativeSrc": "94504:24:10", + "nativeSrc": "94504:24:23", "nodeType": "YulExpressionStatement", - "src": "94504:24:10" + "src": "94504:24:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "94577:4:10", + "nativeSrc": "94577:4:23", "nodeType": "YulLiteral", - "src": "94577:4:10", + "src": "94577:4:23", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "94583:4:10", + "nativeSrc": "94583:4:23", "nodeType": "YulLiteral", - "src": "94583:4:10", + "src": "94583:4:23", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "94570:6:10", + "nativeSrc": "94570:6:23", "nodeType": "YulIdentifier", - "src": "94570:6:10" + "src": "94570:6:23" }, - "nativeSrc": "94570:18:10", + "nativeSrc": "94570:18:23", "nodeType": "YulFunctionCall", - "src": "94570:18:10" + "src": "94570:18:23" }, - "nativeSrc": "94570:18:10", + "nativeSrc": "94570:18:23", "nodeType": "YulExpressionStatement", - "src": "94570:18:10" + "src": "94570:18:23" } ] }, @@ -128628,41 +147603,41 @@ "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "94435:3:10", + "nativeSrc": "94435:3:23", "nodeType": "YulIdentifier", - "src": "94435:3:10" + "src": "94435:3:23" }, - "nativeSrc": "94435:5:10", + "nativeSrc": "94435:5:23", "nodeType": "YulFunctionCall", - "src": "94435:5:10" + "src": "94435:5:23" }, { "name": "instance", - "nativeSrc": "94442:8:10", + "nativeSrc": "94442:8:23", "nodeType": "YulIdentifier", - "src": "94442:8:10" + "src": "94442:8:23" }, { "kind": "number", - "nativeSrc": "94452:1:10", + "nativeSrc": "94452:1:23", "nodeType": "YulLiteral", - "src": "94452:1:10", + "src": "94452:1:23", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "94455:4:10", + "nativeSrc": "94455:4:23", "nodeType": "YulLiteral", - "src": "94455:4:10", + "src": "94455:4:23", "type": "", "value": "0x0c" }, { "kind": "number", - "nativeSrc": "94461:4:10", + "nativeSrc": "94461:4:23", "nodeType": "YulLiteral", - "src": "94461:4:10", + "src": "94461:4:23", "type": "", "value": "0x14" }, @@ -128670,47 +147645,47 @@ "arguments": [], "functionName": { "name": "codesize", - "nativeSrc": "94467:8:10", + "nativeSrc": "94467:8:23", "nodeType": "YulIdentifier", - "src": "94467:8:10" + "src": "94467:8:23" }, - "nativeSrc": "94467:10:10", + "nativeSrc": "94467:10:23", "nodeType": "YulFunctionCall", - "src": "94467:10:10" + "src": "94467:10:23" }, { "kind": "number", - "nativeSrc": "94479:4:10", + "nativeSrc": "94479:4:23", "nodeType": "YulLiteral", - "src": "94479:4:10", + "src": "94479:4:23", "type": "", "value": "0x00" } ], "functionName": { "name": "call", - "nativeSrc": "94430:4:10", + "nativeSrc": "94430:4:23", "nodeType": "YulIdentifier", - "src": "94430:4:10" + "src": "94430:4:23" }, - "nativeSrc": "94430:54:10", + "nativeSrc": "94430:54:23", "nodeType": "YulFunctionCall", - "src": "94430:54:10" + "src": "94430:54:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "94423:6:10", + "nativeSrc": "94423:6:23", "nodeType": "YulIdentifier", - "src": "94423:6:10" + "src": "94423:6:23" }, - "nativeSrc": "94423:62:10", + "nativeSrc": "94423:62:23", "nodeType": "YulFunctionCall", - "src": "94423:62:10" + "src": "94423:62:23" }, - "nativeSrc": "94420:182:10", + "nativeSrc": "94420:182:23", "nodeType": "YulIf", - "src": "94420:182:10" + "src": "94420:182:23" } ] }, @@ -128718,52 +147693,52 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4272, + "declaration": 5878, "isOffset": false, "isSlot": false, - "src": "94392:14:10", + "src": "94392:14:23", "valueSize": 1 }, { - "declaration": 4270, + "declaration": 5876, "isOffset": false, "isSlot": false, - "src": "94442:8:10", + "src": "94442:8:23", "valueSize": 1 } ], - "id": 4275, + "id": 5881, "nodeType": "InlineAssembly", - "src": "94356:256:10" + "src": "94356:256:23" } ] }, "documentation": { - "id": 4268, + "id": 5874, "nodeType": "StructuredDocumentation", - "src": "94170:51:10", + "src": "94170:51:23", "text": "@dev Replaces the implementation at `instance`." }, - "id": 4277, + "id": 5883, "implemented": true, "kind": "function", "modifiers": [], "name": "bootstrapERC1967", - "nameLocation": "94235:16:10", + "nameLocation": "94235:16:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4273, + "id": 5879, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4270, + "id": 5876, "mutability": "mutable", "name": "instance", - "nameLocation": "94260:8:10", + "nameLocation": "94260:8:23", "nodeType": "VariableDeclaration", - "scope": 4277, - "src": "94252:16:10", + "scope": 5883, + "src": "94252:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -128771,10 +147746,10 @@ "typeString": "address" }, "typeName": { - "id": 4269, + "id": 5875, "name": "address", "nodeType": "ElementaryTypeName", - "src": "94252:7:10", + "src": "94252:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -128785,13 +147760,13 @@ }, { "constant": false, - "id": 4272, + "id": 5878, "mutability": "mutable", "name": "implementation", - "nameLocation": "94278:14:10", + "nameLocation": "94278:14:23", "nodeType": "VariableDeclaration", - "scope": 4277, - "src": "94270:22:10", + "scope": 5883, + "src": "94270:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -128799,10 +147774,10 @@ "typeString": "address" }, "typeName": { - "id": 4271, + "id": 5877, "name": "address", "nodeType": "ElementaryTypeName", - "src": "94270:7:10", + "src": "94270:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -128812,61 +147787,61 @@ "visibility": "internal" } ], - "src": "94251:42:10" + "src": "94251:42:23" }, "returnParameters": { - "id": 4274, + "id": 5880, "nodeType": "ParameterList", "parameters": [], - "src": "94303:0:10" + "src": "94303:0:23" }, - "scope": 5093, - "src": "94226:392:10", + "scope": 6699, + "src": "94226:392:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4288, + "id": 5894, "nodeType": "Block", - "src": "94825:622:10", + "src": "94825:622:23", "statements": [ { "AST": { - "nativeSrc": "94887:554:10", + "nativeSrc": "94887:554:23", "nodeType": "YulBlock", - "src": "94887:554:10", + "src": "94887:554:23", "statements": [ { - "nativeSrc": "94901:20:10", + "nativeSrc": "94901:20:23", "nodeType": "YulVariableDeclaration", - "src": "94901:20:10", + "src": "94901:20:23", "value": { "arguments": [ { "name": "data", - "nativeSrc": "94916:4:10", + "nativeSrc": "94916:4:23", "nodeType": "YulIdentifier", - "src": "94916:4:10" + "src": "94916:4:23" } ], "functionName": { "name": "mload", - "nativeSrc": "94910:5:10", + "nativeSrc": "94910:5:23", "nodeType": "YulIdentifier", - "src": "94910:5:10" + "src": "94910:5:23" }, - "nativeSrc": "94910:11:10", + "nativeSrc": "94910:11:23", "nodeType": "YulFunctionCall", - "src": "94910:11:10" + "src": "94910:11:23" }, "variables": [ { "name": "n", - "nativeSrc": "94905:1:10", + "nativeSrc": "94905:1:23", "nodeType": "YulTypedName", - "src": "94905:1:10", + "src": "94905:1:23", "type": "" } ] @@ -128876,110 +147851,110 @@ "arguments": [ { "name": "data", - "nativeSrc": "94941:4:10", + "nativeSrc": "94941:4:23", "nodeType": "YulIdentifier", - "src": "94941:4:10" + "src": "94941:4:23" }, { "name": "implementation", - "nativeSrc": "94947:14:10", + "nativeSrc": "94947:14:23", "nodeType": "YulIdentifier", - "src": "94947:14:10" + "src": "94947:14:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "94934:6:10", + "nativeSrc": "94934:6:23", "nodeType": "YulIdentifier", - "src": "94934:6:10" + "src": "94934:6:23" }, - "nativeSrc": "94934:28:10", + "nativeSrc": "94934:28:23", "nodeType": "YulFunctionCall", - "src": "94934:28:10" + "src": "94934:28:23" }, - "nativeSrc": "94934:28:10", + "nativeSrc": "94934:28:23", "nodeType": "YulExpressionStatement", - "src": "94934:28:10" + "src": "94934:28:23" }, { "body": { - "nativeSrc": "95060:310:10", + "nativeSrc": "95060:310:23", "nodeType": "YulBlock", - "src": "95060:310:10", + "src": "95060:310:23", "statements": [ { "body": { - "nativeSrc": "95106:128:10", + "nativeSrc": "95106:128:23", "nodeType": "YulBlock", - "src": "95106:128:10", + "src": "95106:128:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "95135:4:10", + "nativeSrc": "95135:4:23", "nodeType": "YulLiteral", - "src": "95135:4:10", + "src": "95135:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "95141:10:10", + "nativeSrc": "95141:10:23", "nodeType": "YulLiteral", - "src": "95141:10:10", + "src": "95141:10:23", "type": "", "value": "0x30116425" } ], "functionName": { "name": "mstore", - "nativeSrc": "95128:6:10", + "nativeSrc": "95128:6:23", "nodeType": "YulIdentifier", - "src": "95128:6:10" + "src": "95128:6:23" }, - "nativeSrc": "95128:24:10", + "nativeSrc": "95128:24:23", "nodeType": "YulFunctionCall", - "src": "95128:24:10" + "src": "95128:24:23" }, - "nativeSrc": "95128:24:10", + "nativeSrc": "95128:24:23", "nodeType": "YulExpressionStatement", - "src": "95128:24:10" + "src": "95128:24:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "95205:4:10", + "nativeSrc": "95205:4:23", "nodeType": "YulLiteral", - "src": "95205:4:10", + "src": "95205:4:23", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "95211:4:10", + "nativeSrc": "95211:4:23", "nodeType": "YulLiteral", - "src": "95211:4:10", + "src": "95211:4:23", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "95198:6:10", + "nativeSrc": "95198:6:23", "nodeType": "YulIdentifier", - "src": "95198:6:10" + "src": "95198:6:23" }, - "nativeSrc": "95198:18:10", + "nativeSrc": "95198:18:23", "nodeType": "YulFunctionCall", - "src": "95198:18:10" + "src": "95198:18:23" }, - "nativeSrc": "95198:18:10", + "nativeSrc": "95198:18:23", "nodeType": "YulExpressionStatement", - "src": "95198:18:10" + "src": "95198:18:23" } ] }, @@ -128989,28 +147964,28 @@ "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "95088:14:10", + "nativeSrc": "95088:14:23", "nodeType": "YulIdentifier", - "src": "95088:14:10" + "src": "95088:14:23" }, - "nativeSrc": "95088:16:10", + "nativeSrc": "95088:16:23", "nodeType": "YulFunctionCall", - "src": "95088:16:10" + "src": "95088:16:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "95081:6:10", + "nativeSrc": "95081:6:23", "nodeType": "YulIdentifier", - "src": "95081:6:10" + "src": "95081:6:23" }, - "nativeSrc": "95081:24:10", + "nativeSrc": "95081:24:23", "nodeType": "YulFunctionCall", - "src": "95081:24:10" + "src": "95081:24:23" }, - "nativeSrc": "95078:156:10", + "nativeSrc": "95078:156:23", "nodeType": "YulIf", - "src": "95078:156:10" + "src": "95078:156:23" }, { "expression": { @@ -129019,28 +147994,28 @@ "arguments": [ { "kind": "number", - "nativeSrc": "95272:4:10", + "nativeSrc": "95272:4:23", "nodeType": "YulLiteral", - "src": "95272:4:10", + "src": "95272:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "95266:5:10", + "nativeSrc": "95266:5:23", "nodeType": "YulIdentifier", - "src": "95266:5:10" + "src": "95266:5:23" }, - "nativeSrc": "95266:11:10", + "nativeSrc": "95266:11:23", "nodeType": "YulFunctionCall", - "src": "95266:11:10" + "src": "95266:11:23" }, { "kind": "number", - "nativeSrc": "95279:4:10", + "nativeSrc": "95279:4:23", "nodeType": "YulLiteral", - "src": "95279:4:10", + "src": "95279:4:23", "type": "", "value": "0x00" }, @@ -129048,28 +148023,28 @@ "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "95285:14:10", + "nativeSrc": "95285:14:23", "nodeType": "YulIdentifier", - "src": "95285:14:10" + "src": "95285:14:23" }, - "nativeSrc": "95285:16:10", + "nativeSrc": "95285:16:23", "nodeType": "YulFunctionCall", - "src": "95285:16:10" + "src": "95285:16:23" } ], "functionName": { "name": "returndatacopy", - "nativeSrc": "95251:14:10", + "nativeSrc": "95251:14:23", "nodeType": "YulIdentifier", - "src": "95251:14:10" + "src": "95251:14:23" }, - "nativeSrc": "95251:51:10", + "nativeSrc": "95251:51:23", "nodeType": "YulFunctionCall", - "src": "95251:51:10" + "src": "95251:51:23" }, - "nativeSrc": "95251:51:10", + "nativeSrc": "95251:51:23", "nodeType": "YulExpressionStatement", - "src": "95251:51:10" + "src": "95251:51:23" }, { "expression": { @@ -129078,49 +148053,49 @@ "arguments": [ { "kind": "number", - "nativeSrc": "95332:4:10", + "nativeSrc": "95332:4:23", "nodeType": "YulLiteral", - "src": "95332:4:10", + "src": "95332:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "95326:5:10", + "nativeSrc": "95326:5:23", "nodeType": "YulIdentifier", - "src": "95326:5:10" + "src": "95326:5:23" }, - "nativeSrc": "95326:11:10", + "nativeSrc": "95326:11:23", "nodeType": "YulFunctionCall", - "src": "95326:11:10" + "src": "95326:11:23" }, { "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "95339:14:10", + "nativeSrc": "95339:14:23", "nodeType": "YulIdentifier", - "src": "95339:14:10" + "src": "95339:14:23" }, - "nativeSrc": "95339:16:10", + "nativeSrc": "95339:16:23", "nodeType": "YulFunctionCall", - "src": "95339:16:10" + "src": "95339:16:23" } ], "functionName": { "name": "revert", - "nativeSrc": "95319:6:10", + "nativeSrc": "95319:6:23", "nodeType": "YulIdentifier", - "src": "95319:6:10" + "src": "95319:6:23" }, - "nativeSrc": "95319:37:10", + "nativeSrc": "95319:37:23", "nodeType": "YulFunctionCall", - "src": "95319:37:10" + "src": "95319:37:23" }, - "nativeSrc": "95319:37:10", + "nativeSrc": "95319:37:23", "nodeType": "YulExpressionStatement", - "src": "95319:37:10" + "src": "95319:37:23" } ] }, @@ -129132,25 +148107,25 @@ "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "94990:3:10", + "nativeSrc": "94990:3:23", "nodeType": "YulIdentifier", - "src": "94990:3:10" + "src": "94990:3:23" }, - "nativeSrc": "94990:5:10", + "nativeSrc": "94990:5:23", "nodeType": "YulFunctionCall", - "src": "94990:5:10" + "src": "94990:5:23" }, { "name": "instance", - "nativeSrc": "94997:8:10", + "nativeSrc": "94997:8:23", "nodeType": "YulIdentifier", - "src": "94997:8:10" + "src": "94997:8:23" }, { "kind": "number", - "nativeSrc": "95007:1:10", + "nativeSrc": "95007:1:23", "nodeType": "YulLiteral", - "src": "95007:1:10", + "src": "95007:1:23", "type": "", "value": "0" }, @@ -129158,131 +148133,131 @@ "arguments": [ { "name": "data", - "nativeSrc": "95014:4:10", + "nativeSrc": "95014:4:23", "nodeType": "YulIdentifier", - "src": "95014:4:10" + "src": "95014:4:23" }, { "kind": "number", - "nativeSrc": "95020:4:10", + "nativeSrc": "95020:4:23", "nodeType": "YulLiteral", - "src": "95020:4:10", + "src": "95020:4:23", "type": "", "value": "0x0c" } ], "functionName": { "name": "add", - "nativeSrc": "95010:3:10", + "nativeSrc": "95010:3:23", "nodeType": "YulIdentifier", - "src": "95010:3:10" + "src": "95010:3:23" }, - "nativeSrc": "95010:15:10", + "nativeSrc": "95010:15:23", "nodeType": "YulFunctionCall", - "src": "95010:15:10" + "src": "95010:15:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "95031:1:10", + "nativeSrc": "95031:1:23", "nodeType": "YulIdentifier", - "src": "95031:1:10" + "src": "95031:1:23" }, { "kind": "number", - "nativeSrc": "95034:4:10", + "nativeSrc": "95034:4:23", "nodeType": "YulLiteral", - "src": "95034:4:10", + "src": "95034:4:23", "type": "", "value": "0x14" } ], "functionName": { "name": "add", - "nativeSrc": "95027:3:10", + "nativeSrc": "95027:3:23", "nodeType": "YulIdentifier", - "src": "95027:3:10" + "src": "95027:3:23" }, - "nativeSrc": "95027:12:10", + "nativeSrc": "95027:12:23", "nodeType": "YulFunctionCall", - "src": "95027:12:10" + "src": "95027:12:23" }, { "arguments": [], "functionName": { "name": "codesize", - "nativeSrc": "95041:8:10", + "nativeSrc": "95041:8:23", "nodeType": "YulIdentifier", - "src": "95041:8:10" + "src": "95041:8:23" }, - "nativeSrc": "95041:10:10", + "nativeSrc": "95041:10:23", "nodeType": "YulFunctionCall", - "src": "95041:10:10" + "src": "95041:10:23" }, { "kind": "number", - "nativeSrc": "95053:4:10", + "nativeSrc": "95053:4:23", "nodeType": "YulLiteral", - "src": "95053:4:10", + "src": "95053:4:23", "type": "", "value": "0x00" } ], "functionName": { "name": "call", - "nativeSrc": "94985:4:10", + "nativeSrc": "94985:4:23", "nodeType": "YulIdentifier", - "src": "94985:4:10" + "src": "94985:4:23" }, - "nativeSrc": "94985:73:10", + "nativeSrc": "94985:73:23", "nodeType": "YulFunctionCall", - "src": "94985:73:10" + "src": "94985:73:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "94978:6:10", + "nativeSrc": "94978:6:23", "nodeType": "YulIdentifier", - "src": "94978:6:10" + "src": "94978:6:23" }, - "nativeSrc": "94978:81:10", + "nativeSrc": "94978:81:23", "nodeType": "YulFunctionCall", - "src": "94978:81:10" + "src": "94978:81:23" }, - "nativeSrc": "94975:395:10", + "nativeSrc": "94975:395:23", "nodeType": "YulIf", - "src": "94975:395:10" + "src": "94975:395:23" }, { "expression": { "arguments": [ { "name": "data", - "nativeSrc": "95390:4:10", + "nativeSrc": "95390:4:23", "nodeType": "YulIdentifier", - "src": "95390:4:10" + "src": "95390:4:23" }, { "name": "n", - "nativeSrc": "95396:1:10", + "nativeSrc": "95396:1:23", "nodeType": "YulIdentifier", - "src": "95396:1:10" + "src": "95396:1:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "95383:6:10", + "nativeSrc": "95383:6:23", "nodeType": "YulIdentifier", - "src": "95383:6:10" + "src": "95383:6:23" }, - "nativeSrc": "95383:15:10", + "nativeSrc": "95383:15:23", "nodeType": "YulFunctionCall", - "src": "95383:15:10" + "src": "95383:15:23" }, - "nativeSrc": "95383:15:10", + "nativeSrc": "95383:15:23", "nodeType": "YulExpressionStatement", - "src": "95383:15:10" + "src": "95383:15:23" } ] }, @@ -129290,80 +148265,80 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4284, + "declaration": 5890, "isOffset": false, "isSlot": false, - "src": "94916:4:10", + "src": "94916:4:23", "valueSize": 1 }, { - "declaration": 4284, + "declaration": 5890, "isOffset": false, "isSlot": false, - "src": "94941:4:10", + "src": "94941:4:23", "valueSize": 1 }, { - "declaration": 4284, + "declaration": 5890, "isOffset": false, "isSlot": false, - "src": "95014:4:10", + "src": "95014:4:23", "valueSize": 1 }, { - "declaration": 4284, + "declaration": 5890, "isOffset": false, "isSlot": false, - "src": "95390:4:10", + "src": "95390:4:23", "valueSize": 1 }, { - "declaration": 4282, + "declaration": 5888, "isOffset": false, "isSlot": false, - "src": "94947:14:10", + "src": "94947:14:23", "valueSize": 1 }, { - "declaration": 4280, + "declaration": 5886, "isOffset": false, "isSlot": false, - "src": "94997:8:10", + "src": "94997:8:23", "valueSize": 1 } ], - "id": 4287, + "id": 5893, "nodeType": "InlineAssembly", - "src": "94878:563:10" + "src": "94878:563:23" } ] }, "documentation": { - "id": 4278, + "id": 5884, "nodeType": "StructuredDocumentation", - "src": "94624:81:10", + "src": "94624:81:23", "text": "@dev Replaces the implementation at `instance`, and then call it with `data`." }, - "id": 4289, + "id": 5895, "implemented": true, "kind": "function", "modifiers": [], "name": "bootstrapERC1967AndCall", - "nameLocation": "94719:23:10", + "nameLocation": "94719:23:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4285, + "id": 5891, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4280, + "id": 5886, "mutability": "mutable", "name": "instance", - "nameLocation": "94751:8:10", + "nameLocation": "94751:8:23", "nodeType": "VariableDeclaration", - "scope": 4289, - "src": "94743:16:10", + "scope": 5895, + "src": "94743:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -129371,10 +148346,10 @@ "typeString": "address" }, "typeName": { - "id": 4279, + "id": 5885, "name": "address", "nodeType": "ElementaryTypeName", - "src": "94743:7:10", + "src": "94743:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -129385,13 +148360,13 @@ }, { "constant": false, - "id": 4282, + "id": 5888, "mutability": "mutable", "name": "implementation", - "nameLocation": "94769:14:10", + "nameLocation": "94769:14:23", "nodeType": "VariableDeclaration", - "scope": 4289, - "src": "94761:22:10", + "scope": 5895, + "src": "94761:22:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -129399,10 +148374,10 @@ "typeString": "address" }, "typeName": { - "id": 4281, + "id": 5887, "name": "address", "nodeType": "ElementaryTypeName", - "src": "94761:7:10", + "src": "94761:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -129413,13 +148388,13 @@ }, { "constant": false, - "id": 4284, + "id": 5890, "mutability": "mutable", "name": "data", - "nameLocation": "94798:4:10", + "nameLocation": "94798:4:23", "nodeType": "VariableDeclaration", - "scope": 4289, - "src": "94785:17:10", + "scope": 5895, + "src": "94785:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -129427,10 +148402,10 @@ "typeString": "bytes" }, "typeName": { - "id": 4283, + "id": 5889, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "94785:5:10", + "src": "94785:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -129439,25 +148414,25 @@ "visibility": "internal" } ], - "src": "94742:61:10" + "src": "94742:61:23" }, "returnParameters": { - "id": 4286, + "id": 5892, "nodeType": "ParameterList", "parameters": [], - "src": "94825:0:10" + "src": "94825:0:23" }, - "scope": 5093, - "src": "94710:737:10", + "scope": 6699, + "src": "94710:737:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4306, + "id": 5912, "nodeType": "Block", - "src": "95632:97:10", + "src": "95632:97:23", "statements": [ { "expression": { @@ -129465,14 +148440,14 @@ { "arguments": [ { - "id": 4298, + "id": 5904, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, - "src": "95701:4:10", + "src": "95701:4:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_LibClone_$5093", + "typeIdentifier": "t_contract$_LibClone_$6699", "typeString": "library LibClone" } } @@ -129480,30 +148455,30 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_LibClone_$5093", + "typeIdentifier": "t_contract$_LibClone_$6699", "typeString": "library LibClone" } ], - "id": 4297, + "id": 5903, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "95693:7:10", + "src": "95693:7:23", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 4296, + "id": 5902, "name": "address", "nodeType": "ElementaryTypeName", - "src": "95693:7:10", + "src": "95693:7:23", "typeDescriptions": {} } }, - "id": 4299, + "id": 5905, "isConstant": false, "isLValue": false, "isPure": false, @@ -129512,7 +148487,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "95693:13:10", + "src": "95693:13:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -129522,14 +148497,14 @@ { "arguments": [ { - "id": 4302, + "id": 5908, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, - "src": "95716:4:10", + "src": "95716:4:23", "typeDescriptions": { - "typeIdentifier": "t_contract$_LibClone_$5093", + "typeIdentifier": "t_contract$_LibClone_$6699", "typeString": "library LibClone" } } @@ -129537,30 +148512,30 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_LibClone_$5093", + "typeIdentifier": "t_contract$_LibClone_$6699", "typeString": "library LibClone" } ], - "id": 4301, + "id": 5907, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "95708:7:10", + "src": "95708:7:23", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 4300, + "id": 5906, "name": "address", "nodeType": "ElementaryTypeName", - "src": "95708:7:10", + "src": "95708:7:23", "typeDescriptions": {} } }, - "id": 4303, + "id": 5909, "isConstant": false, "isLValue": false, "isPure": false, @@ -129569,7 +148544,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "95708:13:10", + "src": "95708:13:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -129588,21 +148563,21 @@ "typeString": "address" } ], - "id": 4295, + "id": 5901, "name": "predictDeterministicAddressERC1967Bootstrap", "nodeType": "Identifier", "overloadedDeclarations": [ - 4307, - 4333 + 5913, + 5939 ], - "referencedDeclaration": 4333, - "src": "95649:43:10", + "referencedDeclaration": 5939, + "src": "95649:43:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$returns$_t_address_$", "typeString": "function (address,address) pure returns (address)" } }, - "id": 4304, + "id": 5910, "isConstant": false, "isLValue": false, "isPure": false, @@ -129611,52 +148586,52 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "95649:73:10", + "src": "95649:73:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 4294, - "id": 4305, + "functionReturnParameters": 5900, + "id": 5911, "nodeType": "Return", - "src": "95642:80:10" + "src": "95642:80:23" } ] }, "documentation": { - "id": 4290, + "id": 5896, "nodeType": "StructuredDocumentation", - "src": "95453:87:10", + "src": "95453:87:23", "text": "@dev Returns the implementation address of the ERC1967 bootstrap for this contract." }, - "id": 4307, + "id": 5913, "implemented": true, "kind": "function", "modifiers": [], "name": "predictDeterministicAddressERC1967Bootstrap", - "nameLocation": "95554:43:10", + "nameLocation": "95554:43:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4291, + "id": 5897, "nodeType": "ParameterList", "parameters": [], - "src": "95597:2:10" + "src": "95597:2:23" }, "returnParameters": { - "id": 4294, + "id": 5900, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4293, + "id": 5899, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 4307, - "src": "95623:7:10", + "scope": 5913, + "src": "95623:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -129664,10 +148639,10 @@ "typeString": "address" }, "typeName": { - "id": 4292, + "id": 5898, "name": "address", "nodeType": "ElementaryTypeName", - "src": "95623:7:10", + "src": "95623:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -129677,34 +148652,34 @@ "visibility": "internal" } ], - "src": "95622:9:10" + "src": "95622:9:23" }, - "scope": 5093, - "src": "95545:184:10", + "scope": 6699, + "src": "95545:184:23", "stateMutability": "view", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4332, + "id": 5938, "nodeType": "Block", - "src": "95980:152:10", + "src": "95980:152:23", "statements": [ { "assignments": [ - 4318 + 5924 ], "declarations": [ { "constant": false, - "id": 4318, + "id": 5924, "mutability": "mutable", "name": "hash", - "nameLocation": "95998:4:10", + "nameLocation": "95998:4:23", "nodeType": "VariableDeclaration", - "scope": 4332, - "src": "95990:12:10", + "scope": 5938, + "src": "95990:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -129712,10 +148687,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4317, + "id": 5923, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "95990:7:10", + "src": "95990:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -129724,16 +148699,16 @@ "visibility": "internal" } ], - "id": 4322, + "id": 5928, "initialValue": { "arguments": [ { - "id": 4320, + "id": 5926, "name": "authorizedUpgrader", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4310, - "src": "96034:18:10", + "referencedDeclaration": 5916, + "src": "96034:18:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -129747,18 +148722,18 @@ "typeString": "address" } ], - "id": 4319, + "id": 5925, "name": "initCodeHashERC1967Bootstrap", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4358, - "src": "96005:28:10", + "referencedDeclaration": 5964, + "src": "96005:28:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_bytes32_$", "typeString": "function (address) pure returns (bytes32)" } }, - "id": 4321, + "id": 5927, "isConstant": false, "isLValue": false, "isPure": false, @@ -129767,7 +148742,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "96005:48:10", + "src": "96005:48:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -129775,18 +148750,18 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "95990:63:10" + "src": "95990:63:23" }, { "expression": { "arguments": [ { - "id": 4324, + "id": 5930, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4318, - "src": "96098:4:10", + "referencedDeclaration": 5924, + "src": "96098:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -129796,14 +148771,14 @@ "arguments": [ { "hexValue": "30", - "id": 4327, + "id": 5933, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "96112:1:10", + "src": "96112:1:23", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -129818,26 +148793,26 @@ "typeString": "int_const 0" } ], - "id": 4326, + "id": 5932, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "96104:7:10", + "src": "96104:7:23", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": { - "id": 4325, + "id": 5931, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "96104:7:10", + "src": "96104:7:23", "typeDescriptions": {} } }, - "id": 4328, + "id": 5934, "isConstant": false, "isLValue": false, "isPure": true, @@ -129846,7 +148821,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "96104:10:10", + "src": "96104:10:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -129854,12 +148829,12 @@ } }, { - "id": 4329, + "id": 5935, "name": "deployer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4312, - "src": "96116:8:10", + "referencedDeclaration": 5918, + "src": "96116:8:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -129881,22 +148856,22 @@ "typeString": "address" } ], - "id": 4323, + "id": 5929, "name": "predictDeterministicAddress", "nodeType": "Identifier", "overloadedDeclarations": [ - 3226, - 3499, - 5070 + 4832, + 5105, + 6676 ], - "referencedDeclaration": 5070, - "src": "96070:27:10", + "referencedDeclaration": 6676, + "src": "96070:27:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_address_$", "typeString": "function (bytes32,bytes32,address) pure returns (address)" } }, - "id": 4330, + "id": 5936, "isConstant": false, "isLValue": false, "isPure": false, @@ -129905,46 +148880,46 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "96070:55:10", + "src": "96070:55:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 4316, - "id": 4331, + "functionReturnParameters": 5922, + "id": 5937, "nodeType": "Return", - "src": "96063:62:10" + "src": "96063:62:23" } ] }, "documentation": { - "id": 4308, + "id": 5914, "nodeType": "StructuredDocumentation", - "src": "95735:87:10", + "src": "95735:87:23", "text": "@dev Returns the implementation address of the ERC1967 bootstrap for this contract." }, - "id": 4333, + "id": 5939, "implemented": true, "kind": "function", "modifiers": [], "name": "predictDeterministicAddressERC1967Bootstrap", - "nameLocation": "95836:43:10", + "nameLocation": "95836:43:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4313, + "id": 5919, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4310, + "id": 5916, "mutability": "mutable", "name": "authorizedUpgrader", - "nameLocation": "95897:18:10", + "nameLocation": "95897:18:23", "nodeType": "VariableDeclaration", - "scope": 4333, - "src": "95889:26:10", + "scope": 5939, + "src": "95889:26:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -129952,10 +148927,10 @@ "typeString": "address" }, "typeName": { - "id": 4309, + "id": 5915, "name": "address", "nodeType": "ElementaryTypeName", - "src": "95889:7:10", + "src": "95889:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -129966,13 +148941,13 @@ }, { "constant": false, - "id": 4312, + "id": 5918, "mutability": "mutable", "name": "deployer", - "nameLocation": "95933:8:10", + "nameLocation": "95933:8:23", "nodeType": "VariableDeclaration", - "scope": 4333, - "src": "95925:16:10", + "scope": 5939, + "src": "95925:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -129980,10 +148955,10 @@ "typeString": "address" }, "typeName": { - "id": 4311, + "id": 5917, "name": "address", "nodeType": "ElementaryTypeName", - "src": "95925:7:10", + "src": "95925:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -129993,21 +148968,21 @@ "visibility": "internal" } ], - "src": "95879:68:10" + "src": "95879:68:23" }, "returnParameters": { - "id": 4316, + "id": 5922, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4315, + "id": 5921, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 4333, - "src": "95971:7:10", + "scope": 5939, + "src": "95971:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -130015,10 +148990,10 @@ "typeString": "address" }, "typeName": { - "id": 4314, + "id": 5920, "name": "address", "nodeType": "ElementaryTypeName", - "src": "95971:7:10", + "src": "95971:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -130028,57 +149003,57 @@ "visibility": "internal" } ], - "src": "95970:9:10" + "src": "95970:9:23" }, - "scope": 5093, - "src": "95827:305:10", + "scope": 6699, + "src": "95827:305:23", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4342, + "id": 5948, "nodeType": "Block", - "src": "96338:592:10", + "src": "96338:592:23", "statements": [ { "AST": { - "nativeSrc": "96400:524:10", + "nativeSrc": "96400:524:23", "nodeType": "YulBlock", - "src": "96400:524:10", + "src": "96400:524:23", "statements": [ { - "nativeSrc": "96414:16:10", + "nativeSrc": "96414:16:23", "nodeType": "YulAssignment", - "src": "96414:16:10", + "src": "96414:16:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "96425:4:10", + "nativeSrc": "96425:4:23", "nodeType": "YulLiteral", - "src": "96425:4:10", + "src": "96425:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "96419:5:10", + "nativeSrc": "96419:5:23", "nodeType": "YulIdentifier", - "src": "96419:5:10" + "src": "96419:5:23" }, - "nativeSrc": "96419:11:10", + "nativeSrc": "96419:11:23", "nodeType": "YulFunctionCall", - "src": "96419:11:10" + "src": "96419:11:23" }, "variableNames": [ { "name": "c", - "nativeSrc": "96414:1:10", + "nativeSrc": "96414:1:23", "nodeType": "YulIdentifier", - "src": "96414:1:10" + "src": "96414:1:23" } ] }, @@ -130089,51 +149064,51 @@ "arguments": [ { "name": "c", - "nativeSrc": "96454:1:10", + "nativeSrc": "96454:1:23", "nodeType": "YulIdentifier", - "src": "96454:1:10" + "src": "96454:1:23" }, { "kind": "number", - "nativeSrc": "96457:4:10", + "nativeSrc": "96457:4:23", "nodeType": "YulLiteral", - "src": "96457:4:10", + "src": "96457:4:23", "type": "", "value": "0x80" } ], "functionName": { "name": "add", - "nativeSrc": "96450:3:10", + "nativeSrc": "96450:3:23", "nodeType": "YulIdentifier", - "src": "96450:3:10" + "src": "96450:3:23" }, - "nativeSrc": "96450:12:10", + "nativeSrc": "96450:12:23", "nodeType": "YulFunctionCall", - "src": "96450:12:10" + "src": "96450:12:23" }, { "kind": "number", - "nativeSrc": "96464:66:10", + "nativeSrc": "96464:66:23", "nodeType": "YulLiteral", - "src": "96464:66:10", + "src": "96464:66:23", "type": "", "value": "0x3d3560601c5af46047573d6000383e3d38fd0000000000000000000000000000" } ], "functionName": { "name": "mstore", - "nativeSrc": "96443:6:10", + "nativeSrc": "96443:6:23", "nodeType": "YulIdentifier", - "src": "96443:6:10" + "src": "96443:6:23" }, - "nativeSrc": "96443:88:10", + "nativeSrc": "96443:88:23", "nodeType": "YulFunctionCall", - "src": "96443:88:10" + "src": "96443:88:23" }, - "nativeSrc": "96443:88:10", + "nativeSrc": "96443:88:23", "nodeType": "YulExpressionStatement", - "src": "96443:88:10" + "src": "96443:88:23" }, { "expression": { @@ -130142,51 +149117,51 @@ "arguments": [ { "name": "c", - "nativeSrc": "96555:1:10", + "nativeSrc": "96555:1:23", "nodeType": "YulIdentifier", - "src": "96555:1:10" + "src": "96555:1:23" }, { "kind": "number", - "nativeSrc": "96558:4:10", + "nativeSrc": "96558:4:23", "nodeType": "YulLiteral", - "src": "96558:4:10", + "src": "96558:4:23", "type": "", "value": "0x60" } ], "functionName": { "name": "add", - "nativeSrc": "96551:3:10", + "nativeSrc": "96551:3:23", "nodeType": "YulIdentifier", - "src": "96551:3:10" + "src": "96551:3:23" }, - "nativeSrc": "96551:12:10", + "nativeSrc": "96551:12:23", "nodeType": "YulFunctionCall", - "src": "96551:12:10" + "src": "96551:12:23" }, { "kind": "number", - "nativeSrc": "96565:66:10", + "nativeSrc": "96565:66:23", "nodeType": "YulLiteral", - "src": "96565:66:10", + "src": "96565:66:23", "type": "", "value": "0xa920a3ca505d382bbc55601436116049575b005b363d3d373d3d601436036014" } ], "functionName": { "name": "mstore", - "nativeSrc": "96544:6:10", + "nativeSrc": "96544:6:23", "nodeType": "YulIdentifier", - "src": "96544:6:10" + "src": "96544:6:23" }, - "nativeSrc": "96544:88:10", + "nativeSrc": "96544:88:23", "nodeType": "YulFunctionCall", - "src": "96544:88:10" + "src": "96544:88:23" }, - "nativeSrc": "96544:88:10", + "nativeSrc": "96544:88:23", "nodeType": "YulExpressionStatement", - "src": "96544:88:10" + "src": "96544:88:23" }, { "expression": { @@ -130195,51 +149170,51 @@ "arguments": [ { "name": "c", - "nativeSrc": "96656:1:10", + "nativeSrc": "96656:1:23", "nodeType": "YulIdentifier", - "src": "96656:1:10" + "src": "96656:1:23" }, { "kind": "number", - "nativeSrc": "96659:4:10", + "nativeSrc": "96659:4:23", "nodeType": "YulLiteral", - "src": "96659:4:10", + "src": "96659:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "add", - "nativeSrc": "96652:3:10", + "nativeSrc": "96652:3:23", "nodeType": "YulIdentifier", - "src": "96652:3:10" + "src": "96652:3:23" }, - "nativeSrc": "96652:12:10", + "nativeSrc": "96652:12:23", "nodeType": "YulFunctionCall", - "src": "96652:12:10" + "src": "96652:12:23" }, { "kind": "number", - "nativeSrc": "96666:66:10", + "nativeSrc": "96666:66:23", "nodeType": "YulLiteral", - "src": "96666:66:10", + "src": "96666:66:23", "type": "", "value": "0x0338573d3560601c7f360894a13ba1a3210667c828492db98dca3e2076cc3735" } ], "functionName": { "name": "mstore", - "nativeSrc": "96645:6:10", + "nativeSrc": "96645:6:23", "nodeType": "YulIdentifier", - "src": "96645:6:10" + "src": "96645:6:23" }, - "nativeSrc": "96645:88:10", + "nativeSrc": "96645:88:23", "nodeType": "YulFunctionCall", - "src": "96645:88:10" + "src": "96645:88:23" }, - "nativeSrc": "96645:88:10", + "nativeSrc": "96645:88:23", "nodeType": "YulExpressionStatement", - "src": "96645:88:10" + "src": "96645:88:23" }, { "expression": { @@ -130248,49 +149223,49 @@ "arguments": [ { "name": "c", - "nativeSrc": "96757:1:10", + "nativeSrc": "96757:1:23", "nodeType": "YulIdentifier", - "src": "96757:1:10" + "src": "96757:1:23" }, { "kind": "number", - "nativeSrc": "96760:4:10", + "nativeSrc": "96760:4:23", "nodeType": "YulLiteral", - "src": "96760:4:10", + "src": "96760:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "96753:3:10", + "nativeSrc": "96753:3:23", "nodeType": "YulIdentifier", - "src": "96753:3:10" + "src": "96753:3:23" }, - "nativeSrc": "96753:12:10", + "nativeSrc": "96753:12:23", "nodeType": "YulFunctionCall", - "src": "96753:12:10" + "src": "96753:12:23" }, { "name": "authorizedUpgrader", - "nativeSrc": "96767:18:10", + "nativeSrc": "96767:18:23", "nodeType": "YulIdentifier", - "src": "96767:18:10" + "src": "96767:18:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "96746:6:10", + "nativeSrc": "96746:6:23", "nodeType": "YulIdentifier", - "src": "96746:6:10" + "src": "96746:6:23" }, - "nativeSrc": "96746:40:10", + "nativeSrc": "96746:40:23", "nodeType": "YulFunctionCall", - "src": "96746:40:10" + "src": "96746:40:23" }, - "nativeSrc": "96746:40:10", + "nativeSrc": "96746:40:23", "nodeType": "YulExpressionStatement", - "src": "96746:40:10" + "src": "96746:40:23" }, { "expression": { @@ -130299,92 +149274,92 @@ "arguments": [ { "name": "c", - "nativeSrc": "96810:1:10", + "nativeSrc": "96810:1:23", "nodeType": "YulIdentifier", - "src": "96810:1:10" + "src": "96810:1:23" }, { "kind": "number", - "nativeSrc": "96813:4:10", + "nativeSrc": "96813:4:23", "nodeType": "YulLiteral", - "src": "96813:4:10", + "src": "96813:4:23", "type": "", "value": "0x0c" } ], "functionName": { "name": "add", - "nativeSrc": "96806:3:10", + "nativeSrc": "96806:3:23", "nodeType": "YulIdentifier", - "src": "96806:3:10" + "src": "96806:3:23" }, - "nativeSrc": "96806:12:10", + "nativeSrc": "96806:12:23", "nodeType": "YulFunctionCall", - "src": "96806:12:10" + "src": "96806:12:23" }, { "kind": "number", - "nativeSrc": "96820:26:10", + "nativeSrc": "96820:26:23", "nodeType": "YulLiteral", - "src": "96820:26:10", + "src": "96820:26:23", "type": "", "value": "0x606880600a3d393df3fe3373" } ], "functionName": { "name": "mstore", - "nativeSrc": "96799:6:10", + "nativeSrc": "96799:6:23", "nodeType": "YulIdentifier", - "src": "96799:6:10" + "src": "96799:6:23" }, - "nativeSrc": "96799:48:10", + "nativeSrc": "96799:48:23", "nodeType": "YulFunctionCall", - "src": "96799:48:10" + "src": "96799:48:23" }, - "nativeSrc": "96799:48:10", + "nativeSrc": "96799:48:23", "nodeType": "YulExpressionStatement", - "src": "96799:48:10" + "src": "96799:48:23" }, { "expression": { "arguments": [ { "name": "c", - "nativeSrc": "96867:1:10", + "nativeSrc": "96867:1:23", "nodeType": "YulIdentifier", - "src": "96867:1:10" + "src": "96867:1:23" }, { "kind": "number", - "nativeSrc": "96870:4:10", + "nativeSrc": "96870:4:23", "nodeType": "YulLiteral", - "src": "96870:4:10", + "src": "96870:4:23", "type": "", "value": "0x72" } ], "functionName": { "name": "mstore", - "nativeSrc": "96860:6:10", + "nativeSrc": "96860:6:23", "nodeType": "YulIdentifier", - "src": "96860:6:10" + "src": "96860:6:23" }, - "nativeSrc": "96860:15:10", + "nativeSrc": "96860:15:23", "nodeType": "YulFunctionCall", - "src": "96860:15:10" + "src": "96860:15:23" }, - "nativeSrc": "96860:15:10", + "nativeSrc": "96860:15:23", "nodeType": "YulExpressionStatement", - "src": "96860:15:10" + "src": "96860:15:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "96895:4:10", + "nativeSrc": "96895:4:23", "nodeType": "YulLiteral", - "src": "96895:4:10", + "src": "96895:4:23", "type": "", "value": "0x40" }, @@ -130392,43 +149367,43 @@ "arguments": [ { "name": "c", - "nativeSrc": "96905:1:10", + "nativeSrc": "96905:1:23", "nodeType": "YulIdentifier", - "src": "96905:1:10" + "src": "96905:1:23" }, { "kind": "number", - "nativeSrc": "96908:4:10", + "nativeSrc": "96908:4:23", "nodeType": "YulLiteral", - "src": "96908:4:10", + "src": "96908:4:23", "type": "", "value": "0xa0" } ], "functionName": { "name": "add", - "nativeSrc": "96901:3:10", + "nativeSrc": "96901:3:23", "nodeType": "YulIdentifier", - "src": "96901:3:10" + "src": "96901:3:23" }, - "nativeSrc": "96901:12:10", + "nativeSrc": "96901:12:23", "nodeType": "YulFunctionCall", - "src": "96901:12:10" + "src": "96901:12:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "96888:6:10", + "nativeSrc": "96888:6:23", "nodeType": "YulIdentifier", - "src": "96888:6:10" + "src": "96888:6:23" }, - "nativeSrc": "96888:26:10", + "nativeSrc": "96888:26:23", "nodeType": "YulFunctionCall", - "src": "96888:26:10" + "src": "96888:26:23" }, - "nativeSrc": "96888:26:10", + "nativeSrc": "96888:26:23", "nodeType": "YulExpressionStatement", - "src": "96888:26:10" + "src": "96888:26:23" } ] }, @@ -130436,101 +149411,101 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4336, + "declaration": 5942, "isOffset": false, "isSlot": false, - "src": "96767:18:10", + "src": "96767:18:23", "valueSize": 1 }, { - "declaration": 4339, + "declaration": 5945, "isOffset": false, "isSlot": false, - "src": "96414:1:10", + "src": "96414:1:23", "valueSize": 1 }, { - "declaration": 4339, + "declaration": 5945, "isOffset": false, "isSlot": false, - "src": "96454:1:10", + "src": "96454:1:23", "valueSize": 1 }, { - "declaration": 4339, + "declaration": 5945, "isOffset": false, "isSlot": false, - "src": "96555:1:10", + "src": "96555:1:23", "valueSize": 1 }, { - "declaration": 4339, + "declaration": 5945, "isOffset": false, "isSlot": false, - "src": "96656:1:10", + "src": "96656:1:23", "valueSize": 1 }, { - "declaration": 4339, + "declaration": 5945, "isOffset": false, "isSlot": false, - "src": "96757:1:10", + "src": "96757:1:23", "valueSize": 1 }, { - "declaration": 4339, + "declaration": 5945, "isOffset": false, "isSlot": false, - "src": "96810:1:10", + "src": "96810:1:23", "valueSize": 1 }, { - "declaration": 4339, + "declaration": 5945, "isOffset": false, "isSlot": false, - "src": "96867:1:10", + "src": "96867:1:23", "valueSize": 1 }, { - "declaration": 4339, + "declaration": 5945, "isOffset": false, "isSlot": false, - "src": "96905:1:10", + "src": "96905:1:23", "valueSize": 1 } ], - "id": 4341, + "id": 5947, "nodeType": "InlineAssembly", - "src": "96391:533:10" + "src": "96391:533:23" } ] }, "documentation": { - "id": 4334, + "id": 5940, "nodeType": "StructuredDocumentation", - "src": "96138:66:10", + "src": "96138:66:23", "text": "@dev Returns the initialization code of the ERC1967 bootstrap." }, - "id": 4343, + "id": 5949, "implemented": true, "kind": "function", "modifiers": [], "name": "initCodeERC1967Bootstrap", - "nameLocation": "96218:24:10", + "nameLocation": "96218:24:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4337, + "id": 5943, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4336, + "id": 5942, "mutability": "mutable", "name": "authorizedUpgrader", - "nameLocation": "96251:18:10", + "nameLocation": "96251:18:23", "nodeType": "VariableDeclaration", - "scope": 4343, - "src": "96243:26:10", + "scope": 5949, + "src": "96243:26:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -130538,10 +149513,10 @@ "typeString": "address" }, "typeName": { - "id": 4335, + "id": 5941, "name": "address", "nodeType": "ElementaryTypeName", - "src": "96243:7:10", + "src": "96243:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -130551,21 +149526,21 @@ "visibility": "internal" } ], - "src": "96242:28:10" + "src": "96242:28:23" }, "returnParameters": { - "id": 4340, + "id": 5946, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4339, + "id": 5945, "mutability": "mutable", "name": "c", - "nameLocation": "96331:1:10", + "nameLocation": "96331:1:23", "nodeType": "VariableDeclaration", - "scope": 4343, - "src": "96318:14:10", + "scope": 5949, + "src": "96318:14:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -130573,10 +149548,10 @@ "typeString": "bytes" }, "typeName": { - "id": 4338, + "id": 5944, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "96318:5:10", + "src": "96318:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -130585,19 +149560,19 @@ "visibility": "internal" } ], - "src": "96317:16:10" + "src": "96317:16:23" }, - "scope": 5093, - "src": "96209:721:10", + "scope": 6699, + "src": "96209:721:23", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4357, + "id": 5963, "nodeType": "Block", - "src": "97138:79:10", + "src": "97138:79:23", "statements": [ { "expression": { @@ -130605,12 +149580,12 @@ { "arguments": [ { - "id": 4353, + "id": 5959, "name": "authorizedUpgrader", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4346, - "src": "97190:18:10", + "referencedDeclaration": 5952, + "src": "97190:18:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -130624,18 +149599,18 @@ "typeString": "address" } ], - "id": 4352, + "id": 5958, "name": "initCodeERC1967Bootstrap", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4343, - "src": "97165:24:10", + "referencedDeclaration": 5949, + "src": "97165:24:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_bytes_memory_ptr_$", "typeString": "function (address) pure returns (bytes memory)" } }, - "id": 4354, + "id": 5960, "isConstant": false, "isLValue": false, "isPure": false, @@ -130644,7 +149619,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "97165:44:10", + "src": "97165:44:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -130659,18 +149634,18 @@ "typeString": "bytes memory" } ], - "id": 4351, + "id": 5957, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "97155:9:10", + "src": "97155:9:23", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 4355, + "id": 5961, "isConstant": false, "isLValue": false, "isPure": false, @@ -130679,46 +149654,46 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "97155:55:10", + "src": "97155:55:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 4350, - "id": 4356, + "functionReturnParameters": 5956, + "id": 5962, "nodeType": "Return", - "src": "97148:62:10" + "src": "97148:62:23" } ] }, "documentation": { - "id": 4344, + "id": 5950, "nodeType": "StructuredDocumentation", - "src": "96936:71:10", + "src": "96936:71:23", "text": "@dev Returns the initialization code hash of the ERC1967 bootstrap." }, - "id": 4358, + "id": 5964, "implemented": true, "kind": "function", "modifiers": [], "name": "initCodeHashERC1967Bootstrap", - "nameLocation": "97021:28:10", + "nameLocation": "97021:28:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4347, + "id": 5953, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4346, + "id": 5952, "mutability": "mutable", "name": "authorizedUpgrader", - "nameLocation": "97058:18:10", + "nameLocation": "97058:18:23", "nodeType": "VariableDeclaration", - "scope": 4358, - "src": "97050:26:10", + "scope": 5964, + "src": "97050:26:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -130726,10 +149701,10 @@ "typeString": "address" }, "typeName": { - "id": 4345, + "id": 5951, "name": "address", "nodeType": "ElementaryTypeName", - "src": "97050:7:10", + "src": "97050:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -130739,21 +149714,21 @@ "visibility": "internal" } ], - "src": "97049:28:10" + "src": "97049:28:23" }, "returnParameters": { - "id": 4350, + "id": 5956, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4349, + "id": 5955, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 4358, - "src": "97125:7:10", + "scope": 5964, + "src": "97125:7:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -130761,10 +149736,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4348, + "id": 5954, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "97125:7:10", + "src": "97125:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -130773,34 +149748,34 @@ "visibility": "internal" } ], - "src": "97124:9:10" + "src": "97124:9:23" }, - "scope": 5093, - "src": "97012:205:10", + "scope": 6699, + "src": "97012:205:23", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4373, + "id": 5979, "nodeType": "Block", - "src": "98020:63:10", + "src": "98020:63:23", "statements": [ { "expression": { - "id": 4371, + "id": 5977, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 4366, + "id": 5972, "name": "instance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4364, - "src": "98030:8:10", + "referencedDeclaration": 5970, + "src": "98030:8:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -130812,14 +149787,14 @@ "arguments": [ { "hexValue": "30", - "id": 4368, + "id": 5974, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "98066:1:10", + "src": "98066:1:23", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -130827,12 +149802,12 @@ "value": "0" }, { - "id": 4369, + "id": 5975, "name": "beacon", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4361, - "src": "98069:6:10", + "referencedDeclaration": 5967, + "src": "98069:6:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -130850,23 +149825,23 @@ "typeString": "address" } ], - "id": 4367, + "id": 5973, "name": "deployERC1967BeaconProxy", "nodeType": "Identifier", "overloadedDeclarations": [ - 4374, - 4386, - 4520, - 4534 + 5980, + 5992, + 6126, + 6140 ], - "referencedDeclaration": 4386, - "src": "98041:24:10", + "referencedDeclaration": 5992, + "src": "98041:24:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$returns$_t_address_$", "typeString": "function (uint256,address) returns (address)" } }, - "id": 4370, + "id": 5976, "isConstant": false, "isLValue": false, "isPure": false, @@ -130875,51 +149850,51 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "98041:35:10", + "src": "98041:35:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "98030:46:10", + "src": "98030:46:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 4372, + "id": 5978, "nodeType": "ExpressionStatement", - "src": "98030:46:10" + "src": "98030:46:23" } ] }, "documentation": { - "id": 4359, + "id": 5965, "nodeType": "StructuredDocumentation", - "src": "97881:48:10", + "src": "97881:48:23", "text": "@dev Deploys a minimal ERC1967 beacon proxy." }, - "id": 4374, + "id": 5980, "implemented": true, "kind": "function", "modifiers": [], "name": "deployERC1967BeaconProxy", - "nameLocation": "97943:24:10", + "nameLocation": "97943:24:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4362, + "id": 5968, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4361, + "id": 5967, "mutability": "mutable", "name": "beacon", - "nameLocation": "97976:6:10", + "nameLocation": "97976:6:23", "nodeType": "VariableDeclaration", - "scope": 4374, - "src": "97968:14:10", + "scope": 5980, + "src": "97968:14:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -130927,10 +149902,10 @@ "typeString": "address" }, "typeName": { - "id": 4360, + "id": 5966, "name": "address", "nodeType": "ElementaryTypeName", - "src": "97968:7:10", + "src": "97968:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -130940,21 +149915,21 @@ "visibility": "internal" } ], - "src": "97967:16:10" + "src": "97967:16:23" }, "returnParameters": { - "id": 4365, + "id": 5971, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4364, + "id": 5970, "mutability": "mutable", "name": "instance", - "nameLocation": "98010:8:10", + "nameLocation": "98010:8:23", "nodeType": "VariableDeclaration", - "scope": 4374, - "src": "98002:16:10", + "scope": 5980, + "src": "98002:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -130962,10 +149937,10 @@ "typeString": "address" }, "typeName": { - "id": 4363, + "id": 5969, "name": "address", "nodeType": "ElementaryTypeName", - "src": "98002:7:10", + "src": "98002:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -130975,57 +149950,57 @@ "visibility": "internal" } ], - "src": "98001:18:10" + "src": "98001:18:23" }, - "scope": 5093, - "src": "97934:149:10", + "scope": 6699, + "src": "97934:149:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4385, + "id": 5991, "nodeType": "Block", - "src": "98311:8291:10", + "src": "98311:8291:23", "statements": [ { "AST": { - "nativeSrc": "98373:8223:10", + "nativeSrc": "98373:8223:23", "nodeType": "YulBlock", - "src": "98373:8223:10", + "src": "98373:8223:23", "statements": [ { - "nativeSrc": "105867:20:10", + "nativeSrc": "105867:20:23", "nodeType": "YulVariableDeclaration", - "src": "105867:20:10", + "src": "105867:20:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "105882:4:10", + "nativeSrc": "105882:4:23", "nodeType": "YulLiteral", - "src": "105882:4:10", + "src": "105882:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "105876:5:10", + "nativeSrc": "105876:5:23", "nodeType": "YulIdentifier", - "src": "105876:5:10" + "src": "105876:5:23" }, - "nativeSrc": "105876:11:10", + "nativeSrc": "105876:11:23", "nodeType": "YulFunctionCall", - "src": "105876:11:10" + "src": "105876:11:23" }, "variables": [ { "name": "m", - "nativeSrc": "105871:1:10", + "nativeSrc": "105871:1:23", "nodeType": "YulTypedName", - "src": "105871:1:10", + "src": "105871:1:23", "type": "" } ] @@ -131035,111 +150010,111 @@ "arguments": [ { "kind": "number", - "nativeSrc": "105941:4:10", + "nativeSrc": "105941:4:23", "nodeType": "YulLiteral", - "src": "105941:4:10", + "src": "105941:4:23", "type": "", "value": "0x60" }, { "kind": "number", - "nativeSrc": "105947:66:10", + "nativeSrc": "105947:66:23", "nodeType": "YulLiteral", - "src": "105947:66:10", + "src": "105947:66:23", "type": "", "value": "0xb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f3" } ], "functionName": { "name": "mstore", - "nativeSrc": "105934:6:10", + "nativeSrc": "105934:6:23", "nodeType": "YulIdentifier", - "src": "105934:6:10" + "src": "105934:6:23" }, - "nativeSrc": "105934:80:10", + "nativeSrc": "105934:80:23", "nodeType": "YulFunctionCall", - "src": "105934:80:10" + "src": "105934:80:23" }, - "nativeSrc": "105934:80:10", + "nativeSrc": "105934:80:23", "nodeType": "YulExpressionStatement", - "src": "105934:80:10" + "src": "105934:80:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "106034:4:10", + "nativeSrc": "106034:4:23", "nodeType": "YulLiteral", - "src": "106034:4:10", + "src": "106034:4:23", "type": "", "value": "0x40" }, { "kind": "number", - "nativeSrc": "106040:66:10", + "nativeSrc": "106040:66:23", "nodeType": "YulLiteral", - "src": "106040:66:10", + "src": "106040:66:23", "type": "", "value": "0x1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6c" } ], "functionName": { "name": "mstore", - "nativeSrc": "106027:6:10", + "nativeSrc": "106027:6:23", "nodeType": "YulIdentifier", - "src": "106027:6:10" + "src": "106027:6:23" }, - "nativeSrc": "106027:80:10", + "nativeSrc": "106027:80:23", "nodeType": "YulFunctionCall", - "src": "106027:80:10" + "src": "106027:80:23" }, - "nativeSrc": "106027:80:10", + "nativeSrc": "106027:80:23", "nodeType": "YulExpressionStatement", - "src": "106027:80:10" + "src": "106027:80:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "106127:4:10", + "nativeSrc": "106127:4:23", "nodeType": "YulLiteral", - "src": "106127:4:10", + "src": "106127:4:23", "type": "", "value": "0x20" }, { "kind": "number", - "nativeSrc": "106133:48:10", + "nativeSrc": "106133:48:23", "nodeType": "YulLiteral", - "src": "106133:48:10", + "src": "106133:48:23", "type": "", "value": "0x60195155f3363d3d373d3d363d602036600436635c60da" } ], "functionName": { "name": "mstore", - "nativeSrc": "106120:6:10", + "nativeSrc": "106120:6:23", "nodeType": "YulIdentifier", - "src": "106120:6:10" + "src": "106120:6:23" }, - "nativeSrc": "106120:62:10", + "nativeSrc": "106120:62:23", "nodeType": "YulFunctionCall", - "src": "106120:62:10" + "src": "106120:62:23" }, - "nativeSrc": "106120:62:10", + "nativeSrc": "106120:62:23", "nodeType": "YulExpressionStatement", - "src": "106120:62:10" + "src": "106120:62:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "106202:4:10", + "nativeSrc": "106202:4:23", "nodeType": "YulLiteral", - "src": "106202:4:10", + "src": "106202:4:23", "type": "", "value": "0x09" }, @@ -131149,38 +150124,38 @@ "arguments": [ { "kind": "number", - "nativeSrc": "106215:3:10", + "nativeSrc": "106215:3:23", "nodeType": "YulLiteral", - "src": "106215:3:10", + "src": "106215:3:23", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "106220:20:10", + "nativeSrc": "106220:20:23", "nodeType": "YulLiteral", - "src": "106220:20:10", + "src": "106220:20:23", "type": "", "value": "0x60523d8160223d3973" } ], "functionName": { "name": "shl", - "nativeSrc": "106211:3:10", + "nativeSrc": "106211:3:23", "nodeType": "YulIdentifier", - "src": "106211:3:10" + "src": "106211:3:23" }, - "nativeSrc": "106211:30:10", + "nativeSrc": "106211:30:23", "nodeType": "YulFunctionCall", - "src": "106211:30:10" + "src": "106211:30:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "106247:2:10", + "nativeSrc": "106247:2:23", "nodeType": "YulLiteral", - "src": "106247:2:10", + "src": "106247:2:23", "type": "", "value": "96" }, @@ -131188,187 +150163,187 @@ "arguments": [ { "kind": "number", - "nativeSrc": "106255:2:10", + "nativeSrc": "106255:2:23", "nodeType": "YulLiteral", - "src": "106255:2:10", + "src": "106255:2:23", "type": "", "value": "96" }, { "name": "beacon", - "nativeSrc": "106259:6:10", + "nativeSrc": "106259:6:23", "nodeType": "YulIdentifier", - "src": "106259:6:10" + "src": "106259:6:23" } ], "functionName": { "name": "shl", - "nativeSrc": "106251:3:10", + "nativeSrc": "106251:3:23", "nodeType": "YulIdentifier", - "src": "106251:3:10" + "src": "106251:3:23" }, - "nativeSrc": "106251:15:10", + "nativeSrc": "106251:15:23", "nodeType": "YulFunctionCall", - "src": "106251:15:10" + "src": "106251:15:23" } ], "functionName": { "name": "shr", - "nativeSrc": "106243:3:10", + "nativeSrc": "106243:3:23", "nodeType": "YulIdentifier", - "src": "106243:3:10" + "src": "106243:3:23" }, - "nativeSrc": "106243:24:10", + "nativeSrc": "106243:24:23", "nodeType": "YulFunctionCall", - "src": "106243:24:10" + "src": "106243:24:23" } ], "functionName": { "name": "or", - "nativeSrc": "106208:2:10", + "nativeSrc": "106208:2:23", "nodeType": "YulIdentifier", - "src": "106208:2:10" + "src": "106208:2:23" }, - "nativeSrc": "106208:60:10", + "nativeSrc": "106208:60:23", "nodeType": "YulFunctionCall", - "src": "106208:60:10" + "src": "106208:60:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "106195:6:10", + "nativeSrc": "106195:6:23", "nodeType": "YulIdentifier", - "src": "106195:6:10" + "src": "106195:6:23" }, - "nativeSrc": "106195:74:10", + "nativeSrc": "106195:74:23", "nodeType": "YulFunctionCall", - "src": "106195:74:10" + "src": "106195:74:23" }, - "nativeSrc": "106195:74:10", + "nativeSrc": "106195:74:23", "nodeType": "YulExpressionStatement", - "src": "106195:74:10" + "src": "106195:74:23" }, { - "nativeSrc": "106282:37:10", + "nativeSrc": "106282:37:23", "nodeType": "YulAssignment", - "src": "106282:37:10", + "src": "106282:37:23", "value": { "arguments": [ { "name": "value", - "nativeSrc": "106301:5:10", + "nativeSrc": "106301:5:23", "nodeType": "YulIdentifier", - "src": "106301:5:10" + "src": "106301:5:23" }, { "kind": "number", - "nativeSrc": "106308:4:10", + "nativeSrc": "106308:4:23", "nodeType": "YulLiteral", - "src": "106308:4:10", + "src": "106308:4:23", "type": "", "value": "0x0c" }, { "kind": "number", - "nativeSrc": "106314:4:10", + "nativeSrc": "106314:4:23", "nodeType": "YulLiteral", - "src": "106314:4:10", + "src": "106314:4:23", "type": "", "value": "0x74" } ], "functionName": { "name": "create", - "nativeSrc": "106294:6:10", + "nativeSrc": "106294:6:23", "nodeType": "YulIdentifier", - "src": "106294:6:10" + "src": "106294:6:23" }, - "nativeSrc": "106294:25:10", + "nativeSrc": "106294:25:23", "nodeType": "YulFunctionCall", - "src": "106294:25:10" + "src": "106294:25:23" }, "variableNames": [ { "name": "instance", - "nativeSrc": "106282:8:10", + "nativeSrc": "106282:8:23", "nodeType": "YulIdentifier", - "src": "106282:8:10" + "src": "106282:8:23" } ] }, { "body": { - "nativeSrc": "106352:116:10", + "nativeSrc": "106352:116:23", "nodeType": "YulBlock", - "src": "106352:116:10", + "src": "106352:116:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "106377:4:10", + "nativeSrc": "106377:4:23", "nodeType": "YulLiteral", - "src": "106377:4:10", + "src": "106377:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "106383:10:10", + "nativeSrc": "106383:10:23", "nodeType": "YulLiteral", - "src": "106383:10:10", + "src": "106383:10:23", "type": "", "value": "0x30116425" } ], "functionName": { "name": "mstore", - "nativeSrc": "106370:6:10", + "nativeSrc": "106370:6:23", "nodeType": "YulIdentifier", - "src": "106370:6:10" + "src": "106370:6:23" }, - "nativeSrc": "106370:24:10", + "nativeSrc": "106370:24:23", "nodeType": "YulFunctionCall", - "src": "106370:24:10" + "src": "106370:24:23" }, - "nativeSrc": "106370:24:10", + "nativeSrc": "106370:24:23", "nodeType": "YulExpressionStatement", - "src": "106370:24:10" + "src": "106370:24:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "106443:4:10", + "nativeSrc": "106443:4:23", "nodeType": "YulLiteral", - "src": "106443:4:10", + "src": "106443:4:23", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "106449:4:10", + "nativeSrc": "106449:4:23", "nodeType": "YulLiteral", - "src": "106449:4:10", + "src": "106449:4:23", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "106436:6:10", + "nativeSrc": "106436:6:23", "nodeType": "YulIdentifier", - "src": "106436:6:10" + "src": "106436:6:23" }, - "nativeSrc": "106436:18:10", + "nativeSrc": "106436:18:23", "nodeType": "YulFunctionCall", - "src": "106436:18:10" + "src": "106436:18:23" }, - "nativeSrc": "106436:18:10", + "nativeSrc": "106436:18:23", "nodeType": "YulExpressionStatement", - "src": "106436:18:10" + "src": "106436:18:23" } ] }, @@ -131376,90 +150351,90 @@ "arguments": [ { "name": "instance", - "nativeSrc": "106342:8:10", + "nativeSrc": "106342:8:23", "nodeType": "YulIdentifier", - "src": "106342:8:10" + "src": "106342:8:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "106335:6:10", + "nativeSrc": "106335:6:23", "nodeType": "YulIdentifier", - "src": "106335:6:10" + "src": "106335:6:23" }, - "nativeSrc": "106335:16:10", + "nativeSrc": "106335:16:23", "nodeType": "YulFunctionCall", - "src": "106335:16:10" + "src": "106335:16:23" }, - "nativeSrc": "106332:136:10", + "nativeSrc": "106332:136:23", "nodeType": "YulIf", - "src": "106332:136:10" + "src": "106332:136:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "106488:4:10", + "nativeSrc": "106488:4:23", "nodeType": "YulLiteral", - "src": "106488:4:10", + "src": "106488:4:23", "type": "", "value": "0x40" }, { "name": "m", - "nativeSrc": "106494:1:10", + "nativeSrc": "106494:1:23", "nodeType": "YulIdentifier", - "src": "106494:1:10" + "src": "106494:1:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "106481:6:10", + "nativeSrc": "106481:6:23", "nodeType": "YulIdentifier", - "src": "106481:6:10" + "src": "106481:6:23" }, - "nativeSrc": "106481:15:10", + "nativeSrc": "106481:15:23", "nodeType": "YulFunctionCall", - "src": "106481:15:10" + "src": "106481:15:23" }, - "nativeSrc": "106481:15:10", + "nativeSrc": "106481:15:23", "nodeType": "YulExpressionStatement", - "src": "106481:15:10" + "src": "106481:15:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "106552:4:10", + "nativeSrc": "106552:4:23", "nodeType": "YulLiteral", - "src": "106552:4:10", + "src": "106552:4:23", "type": "", "value": "0x60" }, { "kind": "number", - "nativeSrc": "106558:1:10", + "nativeSrc": "106558:1:23", "nodeType": "YulLiteral", - "src": "106558:1:10", + "src": "106558:1:23", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "106545:6:10", + "nativeSrc": "106545:6:23", "nodeType": "YulIdentifier", - "src": "106545:6:10" + "src": "106545:6:23" }, - "nativeSrc": "106545:15:10", + "nativeSrc": "106545:15:23", "nodeType": "YulFunctionCall", - "src": "106545:15:10" + "src": "106545:15:23" }, - "nativeSrc": "106545:15:10", + "nativeSrc": "106545:15:23", "nodeType": "YulExpressionStatement", - "src": "106545:15:10" + "src": "106545:15:23" } ] }, @@ -131467,66 +150442,66 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4379, + "declaration": 5985, "isOffset": false, "isSlot": false, - "src": "106259:6:10", + "src": "106259:6:23", "valueSize": 1 }, { - "declaration": 4382, + "declaration": 5988, "isOffset": false, "isSlot": false, - "src": "106282:8:10", + "src": "106282:8:23", "valueSize": 1 }, { - "declaration": 4382, + "declaration": 5988, "isOffset": false, "isSlot": false, - "src": "106342:8:10", + "src": "106342:8:23", "valueSize": 1 }, { - "declaration": 4377, + "declaration": 5983, "isOffset": false, "isSlot": false, - "src": "106301:5:10", + "src": "106301:5:23", "valueSize": 1 } ], - "id": 4384, + "id": 5990, "nodeType": "InlineAssembly", - "src": "98364:8232:10" + "src": "98364:8232:23" } ] }, "documentation": { - "id": 4375, + "id": 5981, "nodeType": "StructuredDocumentation", - "src": "98089:96:10", + "src": "98089:96:23", "text": "@dev Deploys a minimal ERC1967 beacon proxy.\n Deposits `value` ETH during deployment." }, - "id": 4386, + "id": 5992, "implemented": true, "kind": "function", "modifiers": [], "name": "deployERC1967BeaconProxy", - "nameLocation": "98199:24:10", + "nameLocation": "98199:24:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4380, + "id": 5986, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4377, + "id": 5983, "mutability": "mutable", "name": "value", - "nameLocation": "98232:5:10", + "nameLocation": "98232:5:23", "nodeType": "VariableDeclaration", - "scope": 4386, - "src": "98224:13:10", + "scope": 5992, + "src": "98224:13:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -131534,10 +150509,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4376, + "id": 5982, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "98224:7:10", + "src": "98224:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -131547,13 +150522,13 @@ }, { "constant": false, - "id": 4379, + "id": 5985, "mutability": "mutable", "name": "beacon", - "nameLocation": "98247:6:10", + "nameLocation": "98247:6:23", "nodeType": "VariableDeclaration", - "scope": 4386, - "src": "98239:14:10", + "scope": 5992, + "src": "98239:14:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -131561,10 +150536,10 @@ "typeString": "address" }, "typeName": { - "id": 4378, + "id": 5984, "name": "address", "nodeType": "ElementaryTypeName", - "src": "98239:7:10", + "src": "98239:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -131574,21 +150549,21 @@ "visibility": "internal" } ], - "src": "98223:31:10" + "src": "98223:31:23" }, "returnParameters": { - "id": 4383, + "id": 5989, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4382, + "id": 5988, "mutability": "mutable", "name": "instance", - "nameLocation": "98297:8:10", + "nameLocation": "98297:8:23", "nodeType": "VariableDeclaration", - "scope": 4386, - "src": "98289:16:10", + "scope": 5992, + "src": "98289:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -131596,10 +150571,10 @@ "typeString": "address" }, "typeName": { - "id": 4381, + "id": 5987, "name": "address", "nodeType": "ElementaryTypeName", - "src": "98289:7:10", + "src": "98289:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -131609,34 +150584,34 @@ "visibility": "internal" } ], - "src": "98288:18:10" + "src": "98288:18:23" }, - "scope": 5093, - "src": "98190:8412:10", + "scope": 6699, + "src": "98190:8412:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4404, + "id": 6010, "nodeType": "Block", - "src": "106820:82:10", + "src": "106820:82:23", "statements": [ { "expression": { - "id": 4402, + "id": 6008, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 4396, + "id": 6002, "name": "instance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4394, - "src": "106830:8:10", + "referencedDeclaration": 6000, + "src": "106830:8:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -131648,14 +150623,14 @@ "arguments": [ { "hexValue": "30", - "id": 4398, + "id": 6004, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "106879:1:10", + "src": "106879:1:23", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -131663,24 +150638,24 @@ "value": "0" }, { - "id": 4399, + "id": 6005, "name": "beacon", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4389, - "src": "106882:6:10", + "referencedDeclaration": 5995, + "src": "106882:6:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 4400, + "id": 6006, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4391, - "src": "106890:4:10", + "referencedDeclaration": 5997, + "src": "106890:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -131702,23 +150677,23 @@ "typeString": "bytes32" } ], - "id": 4397, + "id": 6003, "name": "deployDeterministicERC1967BeaconProxy", "nodeType": "Identifier", "overloadedDeclarations": [ - 4405, - 4419, - 4556, - 4572 + 6011, + 6025, + 6162, + 6178 ], - "referencedDeclaration": 4419, - "src": "106841:37:10", + "referencedDeclaration": 6025, + "src": "106841:37:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes32_$returns$_t_address_$", "typeString": "function (uint256,address,bytes32) returns (address)" } }, - "id": 4401, + "id": 6007, "isConstant": false, "isLValue": false, "isPure": false, @@ -131727,51 +150702,51 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "106841:54:10", + "src": "106841:54:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "106830:65:10", + "src": "106830:65:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 4403, + "id": 6009, "nodeType": "ExpressionStatement", - "src": "106830:65:10" + "src": "106830:65:23" } ] }, "documentation": { - "id": 4387, + "id": 5993, "nodeType": "StructuredDocumentation", - "src": "106608:74:10", + "src": "106608:74:23", "text": "@dev Deploys a deterministic minimal ERC1967 beacon proxy with `salt`." }, - "id": 4405, + "id": 6011, "implemented": true, "kind": "function", "modifiers": [], "name": "deployDeterministicERC1967BeaconProxy", - "nameLocation": "106696:37:10", + "nameLocation": "106696:37:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4392, + "id": 5998, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4389, + "id": 5995, "mutability": "mutable", "name": "beacon", - "nameLocation": "106742:6:10", + "nameLocation": "106742:6:23", "nodeType": "VariableDeclaration", - "scope": 4405, - "src": "106734:14:10", + "scope": 6011, + "src": "106734:14:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -131779,10 +150754,10 @@ "typeString": "address" }, "typeName": { - "id": 4388, + "id": 5994, "name": "address", "nodeType": "ElementaryTypeName", - "src": "106734:7:10", + "src": "106734:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -131793,13 +150768,13 @@ }, { "constant": false, - "id": 4391, + "id": 5997, "mutability": "mutable", "name": "salt", - "nameLocation": "106758:4:10", + "nameLocation": "106758:4:23", "nodeType": "VariableDeclaration", - "scope": 4405, - "src": "106750:12:10", + "scope": 6011, + "src": "106750:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -131807,10 +150782,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4390, + "id": 5996, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "106750:7:10", + "src": "106750:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -131819,21 +150794,21 @@ "visibility": "internal" } ], - "src": "106733:30:10" + "src": "106733:30:23" }, "returnParameters": { - "id": 4395, + "id": 6001, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4394, + "id": 6000, "mutability": "mutable", "name": "instance", - "nameLocation": "106806:8:10", + "nameLocation": "106806:8:23", "nodeType": "VariableDeclaration", - "scope": 4405, - "src": "106798:16:10", + "scope": 6011, + "src": "106798:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -131841,10 +150816,10 @@ "typeString": "address" }, "typeName": { - "id": 4393, + "id": 5999, "name": "address", "nodeType": "ElementaryTypeName", - "src": "106798:7:10", + "src": "106798:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -131854,57 +150829,57 @@ "visibility": "internal" } ], - "src": "106797:18:10" + "src": "106797:18:23" }, - "scope": 5093, - "src": "106687:215:10", + "scope": 6699, + "src": "106687:215:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4418, + "id": 6024, "nodeType": "Block", - "src": "107183:818:10", + "src": "107183:818:23", "statements": [ { "AST": { - "nativeSrc": "107245:750:10", + "nativeSrc": "107245:750:23", "nodeType": "YulBlock", - "src": "107245:750:10", + "src": "107245:750:23", "statements": [ { - "nativeSrc": "107259:20:10", + "nativeSrc": "107259:20:23", "nodeType": "YulVariableDeclaration", - "src": "107259:20:10", + "src": "107259:20:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "107274:4:10", + "nativeSrc": "107274:4:23", "nodeType": "YulLiteral", - "src": "107274:4:10", + "src": "107274:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "107268:5:10", + "nativeSrc": "107268:5:23", "nodeType": "YulIdentifier", - "src": "107268:5:10" + "src": "107268:5:23" }, - "nativeSrc": "107268:11:10", + "nativeSrc": "107268:11:23", "nodeType": "YulFunctionCall", - "src": "107268:11:10" + "src": "107268:11:23" }, "variables": [ { "name": "m", - "nativeSrc": "107263:1:10", + "nativeSrc": "107263:1:23", "nodeType": "YulTypedName", - "src": "107263:1:10", + "src": "107263:1:23", "type": "" } ] @@ -131914,111 +150889,111 @@ "arguments": [ { "kind": "number", - "nativeSrc": "107333:4:10", + "nativeSrc": "107333:4:23", "nodeType": "YulLiteral", - "src": "107333:4:10", + "src": "107333:4:23", "type": "", "value": "0x60" }, { "kind": "number", - "nativeSrc": "107339:66:10", + "nativeSrc": "107339:66:23", "nodeType": "YulLiteral", - "src": "107339:66:10", + "src": "107339:66:23", "type": "", "value": "0xb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f3" } ], "functionName": { "name": "mstore", - "nativeSrc": "107326:6:10", + "nativeSrc": "107326:6:23", "nodeType": "YulIdentifier", - "src": "107326:6:10" + "src": "107326:6:23" }, - "nativeSrc": "107326:80:10", + "nativeSrc": "107326:80:23", "nodeType": "YulFunctionCall", - "src": "107326:80:10" + "src": "107326:80:23" }, - "nativeSrc": "107326:80:10", + "nativeSrc": "107326:80:23", "nodeType": "YulExpressionStatement", - "src": "107326:80:10" + "src": "107326:80:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "107426:4:10", + "nativeSrc": "107426:4:23", "nodeType": "YulLiteral", - "src": "107426:4:10", + "src": "107426:4:23", "type": "", "value": "0x40" }, { "kind": "number", - "nativeSrc": "107432:66:10", + "nativeSrc": "107432:66:23", "nodeType": "YulLiteral", - "src": "107432:66:10", + "src": "107432:66:23", "type": "", "value": "0x1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6c" } ], "functionName": { "name": "mstore", - "nativeSrc": "107419:6:10", + "nativeSrc": "107419:6:23", "nodeType": "YulIdentifier", - "src": "107419:6:10" + "src": "107419:6:23" }, - "nativeSrc": "107419:80:10", + "nativeSrc": "107419:80:23", "nodeType": "YulFunctionCall", - "src": "107419:80:10" + "src": "107419:80:23" }, - "nativeSrc": "107419:80:10", + "nativeSrc": "107419:80:23", "nodeType": "YulExpressionStatement", - "src": "107419:80:10" + "src": "107419:80:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "107519:4:10", + "nativeSrc": "107519:4:23", "nodeType": "YulLiteral", - "src": "107519:4:10", + "src": "107519:4:23", "type": "", "value": "0x20" }, { "kind": "number", - "nativeSrc": "107525:48:10", + "nativeSrc": "107525:48:23", "nodeType": "YulLiteral", - "src": "107525:48:10", + "src": "107525:48:23", "type": "", "value": "0x60195155f3363d3d373d3d363d602036600436635c60da" } ], "functionName": { "name": "mstore", - "nativeSrc": "107512:6:10", + "nativeSrc": "107512:6:23", "nodeType": "YulIdentifier", - "src": "107512:6:10" + "src": "107512:6:23" }, - "nativeSrc": "107512:62:10", + "nativeSrc": "107512:62:23", "nodeType": "YulFunctionCall", - "src": "107512:62:10" + "src": "107512:62:23" }, - "nativeSrc": "107512:62:10", + "nativeSrc": "107512:62:23", "nodeType": "YulExpressionStatement", - "src": "107512:62:10" + "src": "107512:62:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "107594:4:10", + "nativeSrc": "107594:4:23", "nodeType": "YulLiteral", - "src": "107594:4:10", + "src": "107594:4:23", "type": "", "value": "0x09" }, @@ -132028,38 +151003,38 @@ "arguments": [ { "kind": "number", - "nativeSrc": "107607:3:10", + "nativeSrc": "107607:3:23", "nodeType": "YulLiteral", - "src": "107607:3:10", + "src": "107607:3:23", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "107612:20:10", + "nativeSrc": "107612:20:23", "nodeType": "YulLiteral", - "src": "107612:20:10", + "src": "107612:20:23", "type": "", "value": "0x60523d8160223d3973" } ], "functionName": { "name": "shl", - "nativeSrc": "107603:3:10", + "nativeSrc": "107603:3:23", "nodeType": "YulIdentifier", - "src": "107603:3:10" + "src": "107603:3:23" }, - "nativeSrc": "107603:30:10", + "nativeSrc": "107603:30:23", "nodeType": "YulFunctionCall", - "src": "107603:30:10" + "src": "107603:30:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "107639:2:10", + "nativeSrc": "107639:2:23", "nodeType": "YulLiteral", - "src": "107639:2:10", + "src": "107639:2:23", "type": "", "value": "96" }, @@ -132067,193 +151042,193 @@ "arguments": [ { "kind": "number", - "nativeSrc": "107647:2:10", + "nativeSrc": "107647:2:23", "nodeType": "YulLiteral", - "src": "107647:2:10", + "src": "107647:2:23", "type": "", "value": "96" }, { "name": "beacon", - "nativeSrc": "107651:6:10", + "nativeSrc": "107651:6:23", "nodeType": "YulIdentifier", - "src": "107651:6:10" + "src": "107651:6:23" } ], "functionName": { "name": "shl", - "nativeSrc": "107643:3:10", + "nativeSrc": "107643:3:23", "nodeType": "YulIdentifier", - "src": "107643:3:10" + "src": "107643:3:23" }, - "nativeSrc": "107643:15:10", + "nativeSrc": "107643:15:23", "nodeType": "YulFunctionCall", - "src": "107643:15:10" + "src": "107643:15:23" } ], "functionName": { "name": "shr", - "nativeSrc": "107635:3:10", + "nativeSrc": "107635:3:23", "nodeType": "YulIdentifier", - "src": "107635:3:10" + "src": "107635:3:23" }, - "nativeSrc": "107635:24:10", + "nativeSrc": "107635:24:23", "nodeType": "YulFunctionCall", - "src": "107635:24:10" + "src": "107635:24:23" } ], "functionName": { "name": "or", - "nativeSrc": "107600:2:10", + "nativeSrc": "107600:2:23", "nodeType": "YulIdentifier", - "src": "107600:2:10" + "src": "107600:2:23" }, - "nativeSrc": "107600:60:10", + "nativeSrc": "107600:60:23", "nodeType": "YulFunctionCall", - "src": "107600:60:10" + "src": "107600:60:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "107587:6:10", + "nativeSrc": "107587:6:23", "nodeType": "YulIdentifier", - "src": "107587:6:10" + "src": "107587:6:23" }, - "nativeSrc": "107587:74:10", + "nativeSrc": "107587:74:23", "nodeType": "YulFunctionCall", - "src": "107587:74:10" + "src": "107587:74:23" }, - "nativeSrc": "107587:74:10", + "nativeSrc": "107587:74:23", "nodeType": "YulExpressionStatement", - "src": "107587:74:10" + "src": "107587:74:23" }, { - "nativeSrc": "107674:44:10", + "nativeSrc": "107674:44:23", "nodeType": "YulAssignment", - "src": "107674:44:10", + "src": "107674:44:23", "value": { "arguments": [ { "name": "value", - "nativeSrc": "107694:5:10", + "nativeSrc": "107694:5:23", "nodeType": "YulIdentifier", - "src": "107694:5:10" + "src": "107694:5:23" }, { "kind": "number", - "nativeSrc": "107701:4:10", + "nativeSrc": "107701:4:23", "nodeType": "YulLiteral", - "src": "107701:4:10", + "src": "107701:4:23", "type": "", "value": "0x0c" }, { "kind": "number", - "nativeSrc": "107707:4:10", + "nativeSrc": "107707:4:23", "nodeType": "YulLiteral", - "src": "107707:4:10", + "src": "107707:4:23", "type": "", "value": "0x74" }, { "name": "salt", - "nativeSrc": "107713:4:10", + "nativeSrc": "107713:4:23", "nodeType": "YulIdentifier", - "src": "107713:4:10" + "src": "107713:4:23" } ], "functionName": { "name": "create2", - "nativeSrc": "107686:7:10", + "nativeSrc": "107686:7:23", "nodeType": "YulIdentifier", - "src": "107686:7:10" + "src": "107686:7:23" }, - "nativeSrc": "107686:32:10", + "nativeSrc": "107686:32:23", "nodeType": "YulFunctionCall", - "src": "107686:32:10" + "src": "107686:32:23" }, "variableNames": [ { "name": "instance", - "nativeSrc": "107674:8:10", + "nativeSrc": "107674:8:23", "nodeType": "YulIdentifier", - "src": "107674:8:10" + "src": "107674:8:23" } ] }, { "body": { - "nativeSrc": "107751:116:10", + "nativeSrc": "107751:116:23", "nodeType": "YulBlock", - "src": "107751:116:10", + "src": "107751:116:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "107776:4:10", + "nativeSrc": "107776:4:23", "nodeType": "YulLiteral", - "src": "107776:4:10", + "src": "107776:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "107782:10:10", + "nativeSrc": "107782:10:23", "nodeType": "YulLiteral", - "src": "107782:10:10", + "src": "107782:10:23", "type": "", "value": "0x30116425" } ], "functionName": { "name": "mstore", - "nativeSrc": "107769:6:10", + "nativeSrc": "107769:6:23", "nodeType": "YulIdentifier", - "src": "107769:6:10" + "src": "107769:6:23" }, - "nativeSrc": "107769:24:10", + "nativeSrc": "107769:24:23", "nodeType": "YulFunctionCall", - "src": "107769:24:10" + "src": "107769:24:23" }, - "nativeSrc": "107769:24:10", + "nativeSrc": "107769:24:23", "nodeType": "YulExpressionStatement", - "src": "107769:24:10" + "src": "107769:24:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "107842:4:10", + "nativeSrc": "107842:4:23", "nodeType": "YulLiteral", - "src": "107842:4:10", + "src": "107842:4:23", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "107848:4:10", + "nativeSrc": "107848:4:23", "nodeType": "YulLiteral", - "src": "107848:4:10", + "src": "107848:4:23", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "107835:6:10", + "nativeSrc": "107835:6:23", "nodeType": "YulIdentifier", - "src": "107835:6:10" + "src": "107835:6:23" }, - "nativeSrc": "107835:18:10", + "nativeSrc": "107835:18:23", "nodeType": "YulFunctionCall", - "src": "107835:18:10" + "src": "107835:18:23" }, - "nativeSrc": "107835:18:10", + "nativeSrc": "107835:18:23", "nodeType": "YulExpressionStatement", - "src": "107835:18:10" + "src": "107835:18:23" } ] }, @@ -132261,90 +151236,90 @@ "arguments": [ { "name": "instance", - "nativeSrc": "107741:8:10", + "nativeSrc": "107741:8:23", "nodeType": "YulIdentifier", - "src": "107741:8:10" + "src": "107741:8:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "107734:6:10", + "nativeSrc": "107734:6:23", "nodeType": "YulIdentifier", - "src": "107734:6:10" + "src": "107734:6:23" }, - "nativeSrc": "107734:16:10", + "nativeSrc": "107734:16:23", "nodeType": "YulFunctionCall", - "src": "107734:16:10" + "src": "107734:16:23" }, - "nativeSrc": "107731:136:10", + "nativeSrc": "107731:136:23", "nodeType": "YulIf", - "src": "107731:136:10" + "src": "107731:136:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "107887:4:10", + "nativeSrc": "107887:4:23", "nodeType": "YulLiteral", - "src": "107887:4:10", + "src": "107887:4:23", "type": "", "value": "0x40" }, { "name": "m", - "nativeSrc": "107893:1:10", + "nativeSrc": "107893:1:23", "nodeType": "YulIdentifier", - "src": "107893:1:10" + "src": "107893:1:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "107880:6:10", + "nativeSrc": "107880:6:23", "nodeType": "YulIdentifier", - "src": "107880:6:10" + "src": "107880:6:23" }, - "nativeSrc": "107880:15:10", + "nativeSrc": "107880:15:23", "nodeType": "YulFunctionCall", - "src": "107880:15:10" + "src": "107880:15:23" }, - "nativeSrc": "107880:15:10", + "nativeSrc": "107880:15:23", "nodeType": "YulExpressionStatement", - "src": "107880:15:10" + "src": "107880:15:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "107951:4:10", + "nativeSrc": "107951:4:23", "nodeType": "YulLiteral", - "src": "107951:4:10", + "src": "107951:4:23", "type": "", "value": "0x60" }, { "kind": "number", - "nativeSrc": "107957:1:10", + "nativeSrc": "107957:1:23", "nodeType": "YulLiteral", - "src": "107957:1:10", + "src": "107957:1:23", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "107944:6:10", + "nativeSrc": "107944:6:23", "nodeType": "YulIdentifier", - "src": "107944:6:10" + "src": "107944:6:23" }, - "nativeSrc": "107944:15:10", + "nativeSrc": "107944:15:23", "nodeType": "YulFunctionCall", - "src": "107944:15:10" + "src": "107944:15:23" }, - "nativeSrc": "107944:15:10", + "nativeSrc": "107944:15:23", "nodeType": "YulExpressionStatement", - "src": "107944:15:10" + "src": "107944:15:23" } ] }, @@ -132352,73 +151327,73 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4410, + "declaration": 6016, "isOffset": false, "isSlot": false, - "src": "107651:6:10", + "src": "107651:6:23", "valueSize": 1 }, { - "declaration": 4415, + "declaration": 6021, "isOffset": false, "isSlot": false, - "src": "107674:8:10", + "src": "107674:8:23", "valueSize": 1 }, { - "declaration": 4415, + "declaration": 6021, "isOffset": false, "isSlot": false, - "src": "107741:8:10", + "src": "107741:8:23", "valueSize": 1 }, { - "declaration": 4412, + "declaration": 6018, "isOffset": false, "isSlot": false, - "src": "107713:4:10", + "src": "107713:4:23", "valueSize": 1 }, { - "declaration": 4408, + "declaration": 6014, "isOffset": false, "isSlot": false, - "src": "107694:5:10", + "src": "107694:5:23", "valueSize": 1 } ], - "id": 4417, + "id": 6023, "nodeType": "InlineAssembly", - "src": "107236:759:10" + "src": "107236:759:23" } ] }, "documentation": { - "id": 4406, + "id": 6012, "nodeType": "StructuredDocumentation", - "src": "106908:122:10", + "src": "106908:122:23", "text": "@dev Deploys a deterministic minimal ERC1967 beacon proxy with `salt`.\n Deposits `value` ETH during deployment." }, - "id": 4419, + "id": 6025, "implemented": true, "kind": "function", "modifiers": [], "name": "deployDeterministicERC1967BeaconProxy", - "nameLocation": "107044:37:10", + "nameLocation": "107044:37:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4413, + "id": 6019, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4408, + "id": 6014, "mutability": "mutable", "name": "value", - "nameLocation": "107090:5:10", + "nameLocation": "107090:5:23", "nodeType": "VariableDeclaration", - "scope": 4419, - "src": "107082:13:10", + "scope": 6025, + "src": "107082:13:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -132426,10 +151401,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4407, + "id": 6013, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "107082:7:10", + "src": "107082:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -132439,13 +151414,13 @@ }, { "constant": false, - "id": 4410, + "id": 6016, "mutability": "mutable", "name": "beacon", - "nameLocation": "107105:6:10", + "nameLocation": "107105:6:23", "nodeType": "VariableDeclaration", - "scope": 4419, - "src": "107097:14:10", + "scope": 6025, + "src": "107097:14:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -132453,10 +151428,10 @@ "typeString": "address" }, "typeName": { - "id": 4409, + "id": 6015, "name": "address", "nodeType": "ElementaryTypeName", - "src": "107097:7:10", + "src": "107097:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -132467,13 +151442,13 @@ }, { "constant": false, - "id": 4412, + "id": 6018, "mutability": "mutable", "name": "salt", - "nameLocation": "107121:4:10", + "nameLocation": "107121:4:23", "nodeType": "VariableDeclaration", - "scope": 4419, - "src": "107113:12:10", + "scope": 6025, + "src": "107113:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -132481,10 +151456,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4411, + "id": 6017, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "107113:7:10", + "src": "107113:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -132493,21 +151468,21 @@ "visibility": "internal" } ], - "src": "107081:45:10" + "src": "107081:45:23" }, "returnParameters": { - "id": 4416, + "id": 6022, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4415, + "id": 6021, "mutability": "mutable", "name": "instance", - "nameLocation": "107169:8:10", + "nameLocation": "107169:8:23", "nodeType": "VariableDeclaration", - "scope": 4419, - "src": "107161:16:10", + "scope": 6025, + "src": "107161:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -132515,10 +151490,10 @@ "typeString": "address" }, "typeName": { - "id": 4414, + "id": 6020, "name": "address", "nodeType": "ElementaryTypeName", - "src": "107161:7:10", + "src": "107161:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -132528,33 +151503,33 @@ "visibility": "internal" } ], - "src": "107160:18:10" + "src": "107160:18:23" }, - "scope": 5093, - "src": "107035:966:10", + "scope": 6699, + "src": "107035:966:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4437, + "id": 6043, "nodeType": "Block", - "src": "108384:78:10", + "src": "108384:78:23", "statements": [ { "expression": { "arguments": [ { "hexValue": "30", - "id": 4432, + "id": 6038, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "108439:1:10", + "src": "108439:1:23", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -132562,24 +151537,24 @@ "value": "0" }, { - "id": 4433, + "id": 6039, "name": "beacon", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4422, - "src": "108442:6:10", + "referencedDeclaration": 6028, + "src": "108442:6:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 4434, + "id": 6040, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4424, - "src": "108450:4:10", + "referencedDeclaration": 6030, + "src": "108450:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -132601,23 +151576,23 @@ "typeString": "bytes32" } ], - "id": 4431, + "id": 6037, "name": "createDeterministicERC1967BeaconProxy", "nodeType": "Identifier", "overloadedDeclarations": [ - 4438, - 4454, - 4594, - 4612 + 6044, + 6060, + 6200, + 6218 ], - "referencedDeclaration": 4454, - "src": "108401:37:10", + "referencedDeclaration": 6060, + "src": "108401:37:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes32_$returns$_t_bool_$_t_address_$", "typeString": "function (uint256,address,bytes32) returns (bool,address)" } }, - "id": 4435, + "id": 6041, "isConstant": false, "isLValue": false, "isPure": false, @@ -132626,46 +151601,46 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "108401:54:10", + "src": "108401:54:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_address_$", "typeString": "tuple(bool,address)" } }, - "functionReturnParameters": 4430, - "id": 4436, + "functionReturnParameters": 6036, + "id": 6042, "nodeType": "Return", - "src": "108394:61:10" + "src": "108394:61:23" } ] }, "documentation": { - "id": 4420, + "id": 6026, "nodeType": "StructuredDocumentation", - "src": "108007:217:10", + "src": "108007:217:23", "text": "@dev Creates a deterministic minimal ERC1967 beacon proxy with `salt`.\n Note: This method is intended for use in ERC4337 factories,\n which are expected to NOT revert if the proxy is already deployed." }, - "id": 4438, + "id": 6044, "implemented": true, "kind": "function", "modifiers": [], "name": "createDeterministicERC1967BeaconProxy", - "nameLocation": "108238:37:10", + "nameLocation": "108238:37:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4425, + "id": 6031, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4422, + "id": 6028, "mutability": "mutable", "name": "beacon", - "nameLocation": "108284:6:10", + "nameLocation": "108284:6:23", "nodeType": "VariableDeclaration", - "scope": 4438, - "src": "108276:14:10", + "scope": 6044, + "src": "108276:14:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -132673,10 +151648,10 @@ "typeString": "address" }, "typeName": { - "id": 4421, + "id": 6027, "name": "address", "nodeType": "ElementaryTypeName", - "src": "108276:7:10", + "src": "108276:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -132687,13 +151662,13 @@ }, { "constant": false, - "id": 4424, + "id": 6030, "mutability": "mutable", "name": "salt", - "nameLocation": "108300:4:10", + "nameLocation": "108300:4:23", "nodeType": "VariableDeclaration", - "scope": 4438, - "src": "108292:12:10", + "scope": 6044, + "src": "108292:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -132701,10 +151676,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4423, + "id": 6029, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "108292:7:10", + "src": "108292:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -132713,21 +151688,21 @@ "visibility": "internal" } ], - "src": "108275:30:10" + "src": "108275:30:23" }, "returnParameters": { - "id": 4430, + "id": 6036, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4427, + "id": 6033, "mutability": "mutable", "name": "alreadyDeployed", - "nameLocation": "108345:15:10", + "nameLocation": "108345:15:23", "nodeType": "VariableDeclaration", - "scope": 4438, - "src": "108340:20:10", + "scope": 6044, + "src": "108340:20:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -132735,10 +151710,10 @@ "typeString": "bool" }, "typeName": { - "id": 4426, + "id": 6032, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "108340:4:10", + "src": "108340:4:23", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -132748,13 +151723,13 @@ }, { "constant": false, - "id": 4429, + "id": 6035, "mutability": "mutable", "name": "instance", - "nameLocation": "108370:8:10", + "nameLocation": "108370:8:23", "nodeType": "VariableDeclaration", - "scope": 4438, - "src": "108362:16:10", + "scope": 6044, + "src": "108362:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -132762,10 +151737,10 @@ "typeString": "address" }, "typeName": { - "id": 4428, + "id": 6034, "name": "address", "nodeType": "ElementaryTypeName", - "src": "108362:7:10", + "src": "108362:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -132775,57 +151750,57 @@ "visibility": "internal" } ], - "src": "108339:40:10" + "src": "108339:40:23" }, - "scope": 5093, - "src": "108229:233:10", + "scope": 6699, + "src": "108229:233:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4453, + "id": 6059, "nodeType": "Block", - "src": "108908:1599:10", + "src": "108908:1599:23", "statements": [ { "AST": { - "nativeSrc": "108970:1531:10", + "nativeSrc": "108970:1531:23", "nodeType": "YulBlock", - "src": "108970:1531:10", + "src": "108970:1531:23", "statements": [ { - "nativeSrc": "108984:20:10", + "nativeSrc": "108984:20:23", "nodeType": "YulVariableDeclaration", - "src": "108984:20:10", + "src": "108984:20:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "108999:4:10", + "nativeSrc": "108999:4:23", "nodeType": "YulLiteral", - "src": "108999:4:10", + "src": "108999:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "108993:5:10", + "nativeSrc": "108993:5:23", "nodeType": "YulIdentifier", - "src": "108993:5:10" + "src": "108993:5:23" }, - "nativeSrc": "108993:11:10", + "nativeSrc": "108993:11:23", "nodeType": "YulFunctionCall", - "src": "108993:11:10" + "src": "108993:11:23" }, "variables": [ { "name": "m", - "nativeSrc": "108988:1:10", + "nativeSrc": "108988:1:23", "nodeType": "YulTypedName", - "src": "108988:1:10", + "src": "108988:1:23", "type": "" } ] @@ -132835,111 +151810,111 @@ "arguments": [ { "kind": "number", - "nativeSrc": "109058:4:10", + "nativeSrc": "109058:4:23", "nodeType": "YulLiteral", - "src": "109058:4:10", + "src": "109058:4:23", "type": "", "value": "0x60" }, { "kind": "number", - "nativeSrc": "109064:66:10", + "nativeSrc": "109064:66:23", "nodeType": "YulLiteral", - "src": "109064:66:10", + "src": "109064:66:23", "type": "", "value": "0xb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f3" } ], "functionName": { "name": "mstore", - "nativeSrc": "109051:6:10", + "nativeSrc": "109051:6:23", "nodeType": "YulIdentifier", - "src": "109051:6:10" + "src": "109051:6:23" }, - "nativeSrc": "109051:80:10", + "nativeSrc": "109051:80:23", "nodeType": "YulFunctionCall", - "src": "109051:80:10" + "src": "109051:80:23" }, - "nativeSrc": "109051:80:10", + "nativeSrc": "109051:80:23", "nodeType": "YulExpressionStatement", - "src": "109051:80:10" + "src": "109051:80:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "109151:4:10", + "nativeSrc": "109151:4:23", "nodeType": "YulLiteral", - "src": "109151:4:10", + "src": "109151:4:23", "type": "", "value": "0x40" }, { "kind": "number", - "nativeSrc": "109157:66:10", + "nativeSrc": "109157:66:23", "nodeType": "YulLiteral", - "src": "109157:66:10", + "src": "109157:66:23", "type": "", "value": "0x1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6c" } ], "functionName": { "name": "mstore", - "nativeSrc": "109144:6:10", + "nativeSrc": "109144:6:23", "nodeType": "YulIdentifier", - "src": "109144:6:10" + "src": "109144:6:23" }, - "nativeSrc": "109144:80:10", + "nativeSrc": "109144:80:23", "nodeType": "YulFunctionCall", - "src": "109144:80:10" + "src": "109144:80:23" }, - "nativeSrc": "109144:80:10", + "nativeSrc": "109144:80:23", "nodeType": "YulExpressionStatement", - "src": "109144:80:10" + "src": "109144:80:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "109244:4:10", + "nativeSrc": "109244:4:23", "nodeType": "YulLiteral", - "src": "109244:4:10", + "src": "109244:4:23", "type": "", "value": "0x20" }, { "kind": "number", - "nativeSrc": "109250:48:10", + "nativeSrc": "109250:48:23", "nodeType": "YulLiteral", - "src": "109250:48:10", + "src": "109250:48:23", "type": "", "value": "0x60195155f3363d3d373d3d363d602036600436635c60da" } ], "functionName": { "name": "mstore", - "nativeSrc": "109237:6:10", + "nativeSrc": "109237:6:23", "nodeType": "YulIdentifier", - "src": "109237:6:10" + "src": "109237:6:23" }, - "nativeSrc": "109237:62:10", + "nativeSrc": "109237:62:23", "nodeType": "YulFunctionCall", - "src": "109237:62:10" + "src": "109237:62:23" }, - "nativeSrc": "109237:62:10", + "nativeSrc": "109237:62:23", "nodeType": "YulExpressionStatement", - "src": "109237:62:10" + "src": "109237:62:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "109319:4:10", + "nativeSrc": "109319:4:23", "nodeType": "YulLiteral", - "src": "109319:4:10", + "src": "109319:4:23", "type": "", "value": "0x09" }, @@ -132949,38 +151924,38 @@ "arguments": [ { "kind": "number", - "nativeSrc": "109332:3:10", + "nativeSrc": "109332:3:23", "nodeType": "YulLiteral", - "src": "109332:3:10", + "src": "109332:3:23", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "109337:20:10", + "nativeSrc": "109337:20:23", "nodeType": "YulLiteral", - "src": "109337:20:10", + "src": "109337:20:23", "type": "", "value": "0x60523d8160223d3973" } ], "functionName": { "name": "shl", - "nativeSrc": "109328:3:10", + "nativeSrc": "109328:3:23", "nodeType": "YulIdentifier", - "src": "109328:3:10" + "src": "109328:3:23" }, - "nativeSrc": "109328:30:10", + "nativeSrc": "109328:30:23", "nodeType": "YulFunctionCall", - "src": "109328:30:10" + "src": "109328:30:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "109364:2:10", + "nativeSrc": "109364:2:23", "nodeType": "YulLiteral", - "src": "109364:2:10", + "src": "109364:2:23", "type": "", "value": "96" }, @@ -132988,65 +151963,65 @@ "arguments": [ { "kind": "number", - "nativeSrc": "109372:2:10", + "nativeSrc": "109372:2:23", "nodeType": "YulLiteral", - "src": "109372:2:10", + "src": "109372:2:23", "type": "", "value": "96" }, { "name": "beacon", - "nativeSrc": "109376:6:10", + "nativeSrc": "109376:6:23", "nodeType": "YulIdentifier", - "src": "109376:6:10" + "src": "109376:6:23" } ], "functionName": { "name": "shl", - "nativeSrc": "109368:3:10", + "nativeSrc": "109368:3:23", "nodeType": "YulIdentifier", - "src": "109368:3:10" + "src": "109368:3:23" }, - "nativeSrc": "109368:15:10", + "nativeSrc": "109368:15:23", "nodeType": "YulFunctionCall", - "src": "109368:15:10" + "src": "109368:15:23" } ], "functionName": { "name": "shr", - "nativeSrc": "109360:3:10", + "nativeSrc": "109360:3:23", "nodeType": "YulIdentifier", - "src": "109360:3:10" + "src": "109360:3:23" }, - "nativeSrc": "109360:24:10", + "nativeSrc": "109360:24:23", "nodeType": "YulFunctionCall", - "src": "109360:24:10" + "src": "109360:24:23" } ], "functionName": { "name": "or", - "nativeSrc": "109325:2:10", + "nativeSrc": "109325:2:23", "nodeType": "YulIdentifier", - "src": "109325:2:10" + "src": "109325:2:23" }, - "nativeSrc": "109325:60:10", + "nativeSrc": "109325:60:23", "nodeType": "YulFunctionCall", - "src": "109325:60:10" + "src": "109325:60:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "109312:6:10", + "nativeSrc": "109312:6:23", "nodeType": "YulIdentifier", - "src": "109312:6:10" + "src": "109312:6:23" }, - "nativeSrc": "109312:74:10", + "nativeSrc": "109312:74:23", "nodeType": "YulFunctionCall", - "src": "109312:74:10" + "src": "109312:74:23" }, - "nativeSrc": "109312:74:10", + "nativeSrc": "109312:74:23", "nodeType": "YulExpressionStatement", - "src": "109312:74:10" + "src": "109312:74:23" }, { "expression": { @@ -133055,89 +152030,89 @@ "arguments": [ { "name": "m", - "nativeSrc": "109462:1:10", + "nativeSrc": "109462:1:23", "nodeType": "YulIdentifier", - "src": "109462:1:10" + "src": "109462:1:23" }, { "kind": "number", - "nativeSrc": "109465:4:10", + "nativeSrc": "109465:4:23", "nodeType": "YulLiteral", - "src": "109465:4:10", + "src": "109465:4:23", "type": "", "value": "0x35" } ], "functionName": { "name": "add", - "nativeSrc": "109458:3:10", + "nativeSrc": "109458:3:23", "nodeType": "YulIdentifier", - "src": "109458:3:10" + "src": "109458:3:23" }, - "nativeSrc": "109458:12:10", + "nativeSrc": "109458:12:23", "nodeType": "YulFunctionCall", - "src": "109458:12:10" + "src": "109458:12:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "109482:4:10", + "nativeSrc": "109482:4:23", "nodeType": "YulLiteral", - "src": "109482:4:10", + "src": "109482:4:23", "type": "", "value": "0x0c" }, { "kind": "number", - "nativeSrc": "109488:4:10", + "nativeSrc": "109488:4:23", "nodeType": "YulLiteral", - "src": "109488:4:10", + "src": "109488:4:23", "type": "", "value": "0x74" } ], "functionName": { "name": "keccak256", - "nativeSrc": "109472:9:10", + "nativeSrc": "109472:9:23", "nodeType": "YulIdentifier", - "src": "109472:9:10" + "src": "109472:9:23" }, - "nativeSrc": "109472:21:10", + "nativeSrc": "109472:21:23", "nodeType": "YulFunctionCall", - "src": "109472:21:10" + "src": "109472:21:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "109451:6:10", + "nativeSrc": "109451:6:23", "nodeType": "YulIdentifier", - "src": "109451:6:10" + "src": "109451:6:23" }, - "nativeSrc": "109451:43:10", + "nativeSrc": "109451:43:23", "nodeType": "YulFunctionCall", - "src": "109451:43:10" + "src": "109451:43:23" }, - "nativeSrc": "109451:43:10", + "nativeSrc": "109451:43:23", "nodeType": "YulExpressionStatement", - "src": "109451:43:10" + "src": "109451:43:23" }, { "expression": { "arguments": [ { "name": "m", - "nativeSrc": "109514:1:10", + "nativeSrc": "109514:1:23", "nodeType": "YulIdentifier", - "src": "109514:1:10" + "src": "109514:1:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "109521:2:10", + "nativeSrc": "109521:2:23", "nodeType": "YulLiteral", - "src": "109521:2:10", + "src": "109521:2:23", "type": "", "value": "88" }, @@ -133145,71 +152120,71 @@ "arguments": [], "functionName": { "name": "address", - "nativeSrc": "109525:7:10", + "nativeSrc": "109525:7:23", "nodeType": "YulIdentifier", - "src": "109525:7:10" + "src": "109525:7:23" }, - "nativeSrc": "109525:9:10", + "nativeSrc": "109525:9:23", "nodeType": "YulFunctionCall", - "src": "109525:9:10" + "src": "109525:9:23" } ], "functionName": { "name": "shl", - "nativeSrc": "109517:3:10", + "nativeSrc": "109517:3:23", "nodeType": "YulIdentifier", - "src": "109517:3:10" + "src": "109517:3:23" }, - "nativeSrc": "109517:18:10", + "nativeSrc": "109517:18:23", "nodeType": "YulFunctionCall", - "src": "109517:18:10" + "src": "109517:18:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "109507:6:10", + "nativeSrc": "109507:6:23", "nodeType": "YulIdentifier", - "src": "109507:6:10" + "src": "109507:6:23" }, - "nativeSrc": "109507:29:10", + "nativeSrc": "109507:29:23", "nodeType": "YulFunctionCall", - "src": "109507:29:10" + "src": "109507:29:23" }, - "nativeSrc": "109507:29:10", + "nativeSrc": "109507:29:23", "nodeType": "YulExpressionStatement", - "src": "109507:29:10" + "src": "109507:29:23" }, { "expression": { "arguments": [ { "name": "m", - "nativeSrc": "109557:1:10", + "nativeSrc": "109557:1:23", "nodeType": "YulIdentifier", - "src": "109557:1:10" + "src": "109557:1:23" }, { "kind": "number", - "nativeSrc": "109560:4:10", + "nativeSrc": "109560:4:23", "nodeType": "YulLiteral", - "src": "109560:4:10", + "src": "109560:4:23", "type": "", "value": "0xff" } ], "functionName": { "name": "mstore8", - "nativeSrc": "109549:7:10", + "nativeSrc": "109549:7:23", "nodeType": "YulIdentifier", - "src": "109549:7:10" + "src": "109549:7:23" }, - "nativeSrc": "109549:16:10", + "nativeSrc": "109549:16:23", "nodeType": "YulFunctionCall", - "src": "109549:16:10" + "src": "109549:16:23" }, - "nativeSrc": "109549:16:10", + "nativeSrc": "109549:16:23", "nodeType": "YulExpressionStatement", - "src": "109549:16:10" + "src": "109549:16:23" }, { "expression": { @@ -133218,229 +152193,229 @@ "arguments": [ { "name": "m", - "nativeSrc": "109610:1:10", + "nativeSrc": "109610:1:23", "nodeType": "YulIdentifier", - "src": "109610:1:10" + "src": "109610:1:23" }, { "kind": "number", - "nativeSrc": "109613:4:10", + "nativeSrc": "109613:4:23", "nodeType": "YulLiteral", - "src": "109613:4:10", + "src": "109613:4:23", "type": "", "value": "0x15" } ], "functionName": { "name": "add", - "nativeSrc": "109606:3:10", + "nativeSrc": "109606:3:23", "nodeType": "YulIdentifier", - "src": "109606:3:10" + "src": "109606:3:23" }, - "nativeSrc": "109606:12:10", + "nativeSrc": "109606:12:23", "nodeType": "YulFunctionCall", - "src": "109606:12:10" + "src": "109606:12:23" }, { "name": "salt", - "nativeSrc": "109620:4:10", + "nativeSrc": "109620:4:23", "nodeType": "YulIdentifier", - "src": "109620:4:10" + "src": "109620:4:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "109599:6:10", + "nativeSrc": "109599:6:23", "nodeType": "YulIdentifier", - "src": "109599:6:10" + "src": "109599:6:23" }, - "nativeSrc": "109599:26:10", + "nativeSrc": "109599:26:23", "nodeType": "YulFunctionCall", - "src": "109599:26:10" + "src": "109599:26:23" }, - "nativeSrc": "109599:26:10", + "nativeSrc": "109599:26:23", "nodeType": "YulExpressionStatement", - "src": "109599:26:10" + "src": "109599:26:23" }, { - "nativeSrc": "109638:30:10", + "nativeSrc": "109638:30:23", "nodeType": "YulAssignment", - "src": "109638:30:10", + "src": "109638:30:23", "value": { "arguments": [ { "name": "m", - "nativeSrc": "109660:1:10", + "nativeSrc": "109660:1:23", "nodeType": "YulIdentifier", - "src": "109660:1:10" + "src": "109660:1:23" }, { "kind": "number", - "nativeSrc": "109663:4:10", + "nativeSrc": "109663:4:23", "nodeType": "YulLiteral", - "src": "109663:4:10", + "src": "109663:4:23", "type": "", "value": "0x55" } ], "functionName": { "name": "keccak256", - "nativeSrc": "109650:9:10", + "nativeSrc": "109650:9:23", "nodeType": "YulIdentifier", - "src": "109650:9:10" + "src": "109650:9:23" }, - "nativeSrc": "109650:18:10", + "nativeSrc": "109650:18:23", "nodeType": "YulFunctionCall", - "src": "109650:18:10" + "src": "109650:18:23" }, "variableNames": [ { "name": "instance", - "nativeSrc": "109638:8:10", + "nativeSrc": "109638:8:23", "nodeType": "YulIdentifier", - "src": "109638:8:10" + "src": "109638:8:23" } ] }, { "body": { - "nativeSrc": "109693:680:10", + "nativeSrc": "109693:680:23", "nodeType": "YulBlock", - "src": "109693:680:10", + "src": "109693:680:23", "statements": [ { "body": { - "nativeSrc": "109744:291:10", + "nativeSrc": "109744:291:23", "nodeType": "YulBlock", - "src": "109744:291:10", + "src": "109744:291:23", "statements": [ { - "nativeSrc": "109766:44:10", + "nativeSrc": "109766:44:23", "nodeType": "YulAssignment", - "src": "109766:44:10", + "src": "109766:44:23", "value": { "arguments": [ { "name": "value", - "nativeSrc": "109786:5:10", + "nativeSrc": "109786:5:23", "nodeType": "YulIdentifier", - "src": "109786:5:10" + "src": "109786:5:23" }, { "kind": "number", - "nativeSrc": "109793:4:10", + "nativeSrc": "109793:4:23", "nodeType": "YulLiteral", - "src": "109793:4:10", + "src": "109793:4:23", "type": "", "value": "0x0c" }, { "kind": "number", - "nativeSrc": "109799:4:10", + "nativeSrc": "109799:4:23", "nodeType": "YulLiteral", - "src": "109799:4:10", + "src": "109799:4:23", "type": "", "value": "0x74" }, { "name": "salt", - "nativeSrc": "109805:4:10", + "nativeSrc": "109805:4:23", "nodeType": "YulIdentifier", - "src": "109805:4:10" + "src": "109805:4:23" } ], "functionName": { "name": "create2", - "nativeSrc": "109778:7:10", + "nativeSrc": "109778:7:23", "nodeType": "YulIdentifier", - "src": "109778:7:10" + "src": "109778:7:23" }, - "nativeSrc": "109778:32:10", + "nativeSrc": "109778:32:23", "nodeType": "YulFunctionCall", - "src": "109778:32:10" + "src": "109778:32:23" }, "variableNames": [ { "name": "instance", - "nativeSrc": "109766:8:10", + "nativeSrc": "109766:8:23", "nodeType": "YulIdentifier", - "src": "109766:8:10" + "src": "109766:8:23" } ] }, { "body": { - "nativeSrc": "109851:140:10", + "nativeSrc": "109851:140:23", "nodeType": "YulBlock", - "src": "109851:140:10", + "src": "109851:140:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "109884:4:10", + "nativeSrc": "109884:4:23", "nodeType": "YulLiteral", - "src": "109884:4:10", + "src": "109884:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "109890:10:10", + "nativeSrc": "109890:10:23", "nodeType": "YulLiteral", - "src": "109890:10:10", + "src": "109890:10:23", "type": "", "value": "0x30116425" } ], "functionName": { "name": "mstore", - "nativeSrc": "109877:6:10", + "nativeSrc": "109877:6:23", "nodeType": "YulIdentifier", - "src": "109877:6:10" + "src": "109877:6:23" }, - "nativeSrc": "109877:24:10", + "nativeSrc": "109877:24:23", "nodeType": "YulFunctionCall", - "src": "109877:24:10" + "src": "109877:24:23" }, - "nativeSrc": "109877:24:10", + "nativeSrc": "109877:24:23", "nodeType": "YulExpressionStatement", - "src": "109877:24:10" + "src": "109877:24:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "109958:4:10", + "nativeSrc": "109958:4:23", "nodeType": "YulLiteral", - "src": "109958:4:10", + "src": "109958:4:23", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "109964:4:10", + "nativeSrc": "109964:4:23", "nodeType": "YulLiteral", - "src": "109964:4:10", + "src": "109964:4:23", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "109951:6:10", + "nativeSrc": "109951:6:23", "nodeType": "YulIdentifier", - "src": "109951:6:10" + "src": "109951:6:23" }, - "nativeSrc": "109951:18:10", + "nativeSrc": "109951:18:23", "nodeType": "YulFunctionCall", - "src": "109951:18:10" + "src": "109951:18:23" }, - "nativeSrc": "109951:18:10", + "nativeSrc": "109951:18:23", "nodeType": "YulExpressionStatement", - "src": "109951:18:10" + "src": "109951:18:23" } ] }, @@ -133448,29 +152423,29 @@ "arguments": [ { "name": "instance", - "nativeSrc": "109841:8:10", + "nativeSrc": "109841:8:23", "nodeType": "YulIdentifier", - "src": "109841:8:10" + "src": "109841:8:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "109834:6:10", + "nativeSrc": "109834:6:23", "nodeType": "YulIdentifier", - "src": "109834:6:10" + "src": "109834:6:23" }, - "nativeSrc": "109834:16:10", + "nativeSrc": "109834:16:23", "nodeType": "YulFunctionCall", - "src": "109834:16:10" + "src": "109834:16:23" }, - "nativeSrc": "109831:160:10", + "nativeSrc": "109831:160:23", "nodeType": "YulIf", - "src": "109831:160:10" + "src": "109831:160:23" }, { - "nativeSrc": "110012:5:10", + "nativeSrc": "110012:5:23", "nodeType": "YulBreak", - "src": "110012:5:10" + "src": "110012:5:23" } ] }, @@ -133480,67 +152455,67 @@ "arguments": [ { "name": "instance", - "nativeSrc": "109733:8:10", + "nativeSrc": "109733:8:23", "nodeType": "YulIdentifier", - "src": "109733:8:10" + "src": "109733:8:23" } ], "functionName": { "name": "extcodesize", - "nativeSrc": "109721:11:10", + "nativeSrc": "109721:11:23", "nodeType": "YulIdentifier", - "src": "109721:11:10" + "src": "109721:11:23" }, - "nativeSrc": "109721:21:10", + "nativeSrc": "109721:21:23", "nodeType": "YulFunctionCall", - "src": "109721:21:10" + "src": "109721:21:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "109714:6:10", + "nativeSrc": "109714:6:23", "nodeType": "YulIdentifier", - "src": "109714:6:10" + "src": "109714:6:23" }, - "nativeSrc": "109714:29:10", + "nativeSrc": "109714:29:23", "nodeType": "YulFunctionCall", - "src": "109714:29:10" + "src": "109714:29:23" }, - "nativeSrc": "109711:324:10", + "nativeSrc": "109711:324:23", "nodeType": "YulIf", - "src": "109711:324:10" + "src": "109711:324:23" }, { - "nativeSrc": "110052:20:10", + "nativeSrc": "110052:20:23", "nodeType": "YulAssignment", - "src": "110052:20:10", + "src": "110052:20:23", "value": { "kind": "number", - "nativeSrc": "110071:1:10", + "nativeSrc": "110071:1:23", "nodeType": "YulLiteral", - "src": "110071:1:10", + "src": "110071:1:23", "type": "", "value": "1" }, "variableNames": [ { "name": "alreadyDeployed", - "nativeSrc": "110052:15:10", + "nativeSrc": "110052:15:23", "nodeType": "YulIdentifier", - "src": "110052:15:10" + "src": "110052:15:23" } ] }, { "body": { - "nativeSrc": "110106:9:10", + "nativeSrc": "110106:9:23", "nodeType": "YulBlock", - "src": "110106:9:10", + "src": "110106:9:23", "statements": [ { - "nativeSrc": "110108:5:10", + "nativeSrc": "110108:5:23", "nodeType": "YulBreak", - "src": "110108:5:10" + "src": "110108:5:23" } ] }, @@ -133548,98 +152523,98 @@ "arguments": [ { "name": "value", - "nativeSrc": "110099:5:10", + "nativeSrc": "110099:5:23", "nodeType": "YulIdentifier", - "src": "110099:5:10" + "src": "110099:5:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "110092:6:10", + "nativeSrc": "110092:6:23", "nodeType": "YulIdentifier", - "src": "110092:6:10" + "src": "110092:6:23" }, - "nativeSrc": "110092:13:10", + "nativeSrc": "110092:13:23", "nodeType": "YulFunctionCall", - "src": "110092:13:10" + "src": "110092:13:23" }, - "nativeSrc": "110089:26:10", + "nativeSrc": "110089:26:23", "nodeType": "YulIf", - "src": "110089:26:10" + "src": "110089:26:23" }, { "body": { - "nativeSrc": "110208:129:10", + "nativeSrc": "110208:129:23", "nodeType": "YulBlock", - "src": "110208:129:10", + "src": "110208:129:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "110237:4:10", + "nativeSrc": "110237:4:23", "nodeType": "YulLiteral", - "src": "110237:4:10", + "src": "110237:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "110243:10:10", + "nativeSrc": "110243:10:23", "nodeType": "YulLiteral", - "src": "110243:10:10", + "src": "110243:10:23", "type": "", "value": "0xb12d13eb" } ], "functionName": { "name": "mstore", - "nativeSrc": "110230:6:10", + "nativeSrc": "110230:6:23", "nodeType": "YulIdentifier", - "src": "110230:6:10" + "src": "110230:6:23" }, - "nativeSrc": "110230:24:10", + "nativeSrc": "110230:24:23", "nodeType": "YulFunctionCall", - "src": "110230:24:10" + "src": "110230:24:23" }, - "nativeSrc": "110230:24:10", + "nativeSrc": "110230:24:23", "nodeType": "YulExpressionStatement", - "src": "110230:24:10" + "src": "110230:24:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "110308:4:10", + "nativeSrc": "110308:4:23", "nodeType": "YulLiteral", - "src": "110308:4:10", + "src": "110308:4:23", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "110314:4:10", + "nativeSrc": "110314:4:23", "nodeType": "YulLiteral", - "src": "110314:4:10", + "src": "110314:4:23", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "110301:6:10", + "nativeSrc": "110301:6:23", "nodeType": "YulIdentifier", - "src": "110301:6:10" + "src": "110301:6:23" }, - "nativeSrc": "110301:18:10", + "nativeSrc": "110301:18:23", "nodeType": "YulFunctionCall", - "src": "110301:18:10" + "src": "110301:18:23" }, - "nativeSrc": "110301:18:10", + "nativeSrc": "110301:18:23", "nodeType": "YulExpressionStatement", - "src": "110301:18:10" + "src": "110301:18:23" } ] }, @@ -133651,43 +152626,43 @@ "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "110147:3:10", + "nativeSrc": "110147:3:23", "nodeType": "YulIdentifier", - "src": "110147:3:10" + "src": "110147:3:23" }, - "nativeSrc": "110147:5:10", + "nativeSrc": "110147:5:23", "nodeType": "YulFunctionCall", - "src": "110147:5:10" + "src": "110147:5:23" }, { "name": "instance", - "nativeSrc": "110154:8:10", + "nativeSrc": "110154:8:23", "nodeType": "YulIdentifier", - "src": "110154:8:10" + "src": "110154:8:23" }, { "name": "value", - "nativeSrc": "110164:5:10", + "nativeSrc": "110164:5:23", "nodeType": "YulIdentifier", - "src": "110164:5:10" + "src": "110164:5:23" }, { "arguments": [], "functionName": { "name": "codesize", - "nativeSrc": "110171:8:10", + "nativeSrc": "110171:8:23", "nodeType": "YulIdentifier", - "src": "110171:8:10" + "src": "110171:8:23" }, - "nativeSrc": "110171:10:10", + "nativeSrc": "110171:10:23", "nodeType": "YulFunctionCall", - "src": "110171:10:10" + "src": "110171:10:23" }, { "kind": "number", - "nativeSrc": "110183:4:10", + "nativeSrc": "110183:4:23", "nodeType": "YulLiteral", - "src": "110183:4:10", + "src": "110183:4:23", "type": "", "value": "0x00" }, @@ -133695,144 +152670,144 @@ "arguments": [], "functionName": { "name": "codesize", - "nativeSrc": "110189:8:10", + "nativeSrc": "110189:8:23", "nodeType": "YulIdentifier", - "src": "110189:8:10" + "src": "110189:8:23" }, - "nativeSrc": "110189:10:10", + "nativeSrc": "110189:10:23", "nodeType": "YulFunctionCall", - "src": "110189:10:10" + "src": "110189:10:23" }, { "kind": "number", - "nativeSrc": "110201:4:10", + "nativeSrc": "110201:4:23", "nodeType": "YulLiteral", - "src": "110201:4:10", + "src": "110201:4:23", "type": "", "value": "0x00" } ], "functionName": { "name": "call", - "nativeSrc": "110142:4:10", + "nativeSrc": "110142:4:23", "nodeType": "YulIdentifier", - "src": "110142:4:10" + "src": "110142:4:23" }, - "nativeSrc": "110142:64:10", + "nativeSrc": "110142:64:23", "nodeType": "YulFunctionCall", - "src": "110142:64:10" + "src": "110142:64:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "110135:6:10", + "nativeSrc": "110135:6:23", "nodeType": "YulIdentifier", - "src": "110135:6:10" + "src": "110135:6:23" }, - "nativeSrc": "110135:72:10", + "nativeSrc": "110135:72:23", "nodeType": "YulFunctionCall", - "src": "110135:72:10" + "src": "110135:72:23" }, - "nativeSrc": "110132:205:10", + "nativeSrc": "110132:205:23", "nodeType": "YulIf", - "src": "110132:205:10" + "src": "110132:205:23" }, { - "nativeSrc": "110354:5:10", + "nativeSrc": "110354:5:23", "nodeType": "YulBreak", - "src": "110354:5:10" + "src": "110354:5:23" } ] }, "condition": { "kind": "number", - "nativeSrc": "109688:1:10", + "nativeSrc": "109688:1:23", "nodeType": "YulLiteral", - "src": "109688:1:10", + "src": "109688:1:23", "type": "", "value": "1" }, - "nativeSrc": "109681:692:10", + "nativeSrc": "109681:692:23", "nodeType": "YulForLoop", "post": { - "nativeSrc": "109690:2:10", + "nativeSrc": "109690:2:23", "nodeType": "YulBlock", - "src": "109690:2:10", + "src": "109690:2:23", "statements": [] }, "pre": { - "nativeSrc": "109685:2:10", + "nativeSrc": "109685:2:23", "nodeType": "YulBlock", - "src": "109685:2:10", + "src": "109685:2:23", "statements": [] }, - "src": "109681:692:10" + "src": "109681:692:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "110393:4:10", + "nativeSrc": "110393:4:23", "nodeType": "YulLiteral", - "src": "110393:4:10", + "src": "110393:4:23", "type": "", "value": "0x40" }, { "name": "m", - "nativeSrc": "110399:1:10", + "nativeSrc": "110399:1:23", "nodeType": "YulIdentifier", - "src": "110399:1:10" + "src": "110399:1:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "110386:6:10", + "nativeSrc": "110386:6:23", "nodeType": "YulIdentifier", - "src": "110386:6:10" + "src": "110386:6:23" }, - "nativeSrc": "110386:15:10", + "nativeSrc": "110386:15:23", "nodeType": "YulFunctionCall", - "src": "110386:15:10" + "src": "110386:15:23" }, - "nativeSrc": "110386:15:10", + "nativeSrc": "110386:15:23", "nodeType": "YulExpressionStatement", - "src": "110386:15:10" + "src": "110386:15:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "110457:4:10", + "nativeSrc": "110457:4:23", "nodeType": "YulLiteral", - "src": "110457:4:10", + "src": "110457:4:23", "type": "", "value": "0x60" }, { "kind": "number", - "nativeSrc": "110463:1:10", + "nativeSrc": "110463:1:23", "nodeType": "YulLiteral", - "src": "110463:1:10", + "src": "110463:1:23", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "110450:6:10", + "nativeSrc": "110450:6:23", "nodeType": "YulIdentifier", - "src": "110450:6:10" + "src": "110450:6:23" }, - "nativeSrc": "110450:15:10", + "nativeSrc": "110450:15:23", "nodeType": "YulFunctionCall", - "src": "110450:15:10" + "src": "110450:15:23" }, - "nativeSrc": "110450:15:10", + "nativeSrc": "110450:15:23", "nodeType": "YulExpressionStatement", - "src": "110450:15:10" + "src": "110450:15:23" } ] }, @@ -133840,122 +152815,122 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4448, + "declaration": 6054, "isOffset": false, "isSlot": false, - "src": "110052:15:10", + "src": "110052:15:23", "valueSize": 1 }, { - "declaration": 4443, + "declaration": 6049, "isOffset": false, "isSlot": false, - "src": "109376:6:10", + "src": "109376:6:23", "valueSize": 1 }, { - "declaration": 4450, + "declaration": 6056, "isOffset": false, "isSlot": false, - "src": "109638:8:10", + "src": "109638:8:23", "valueSize": 1 }, { - "declaration": 4450, + "declaration": 6056, "isOffset": false, "isSlot": false, - "src": "109733:8:10", + "src": "109733:8:23", "valueSize": 1 }, { - "declaration": 4450, + "declaration": 6056, "isOffset": false, "isSlot": false, - "src": "109766:8:10", + "src": "109766:8:23", "valueSize": 1 }, { - "declaration": 4450, + "declaration": 6056, "isOffset": false, "isSlot": false, - "src": "109841:8:10", + "src": "109841:8:23", "valueSize": 1 }, { - "declaration": 4450, + "declaration": 6056, "isOffset": false, "isSlot": false, - "src": "110154:8:10", + "src": "110154:8:23", "valueSize": 1 }, { - "declaration": 4445, + "declaration": 6051, "isOffset": false, "isSlot": false, - "src": "109620:4:10", + "src": "109620:4:23", "valueSize": 1 }, { - "declaration": 4445, + "declaration": 6051, "isOffset": false, "isSlot": false, - "src": "109805:4:10", + "src": "109805:4:23", "valueSize": 1 }, { - "declaration": 4441, + "declaration": 6047, "isOffset": false, "isSlot": false, - "src": "109786:5:10", + "src": "109786:5:23", "valueSize": 1 }, { - "declaration": 4441, + "declaration": 6047, "isOffset": false, "isSlot": false, - "src": "110099:5:10", + "src": "110099:5:23", "valueSize": 1 }, { - "declaration": 4441, + "declaration": 6047, "isOffset": false, "isSlot": false, - "src": "110164:5:10", + "src": "110164:5:23", "valueSize": 1 } ], - "id": 4452, + "id": 6058, "nodeType": "InlineAssembly", - "src": "108961:1540:10" + "src": "108961:1540:23" } ] }, "documentation": { - "id": 4439, + "id": 6045, "nodeType": "StructuredDocumentation", - "src": "108468:265:10", + "src": "108468:265:23", "text": "@dev Creates a deterministic minimal ERC1967 beacon proxy with `salt`.\n Deposits `value` ETH during deployment.\n Note: This method is intended for use in ERC4337 factories,\n which are expected to NOT revert if the proxy is already deployed." }, - "id": 4454, + "id": 6060, "implemented": true, "kind": "function", "modifiers": [], "name": "createDeterministicERC1967BeaconProxy", - "nameLocation": "108747:37:10", + "nameLocation": "108747:37:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4446, + "id": 6052, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4441, + "id": 6047, "mutability": "mutable", "name": "value", - "nameLocation": "108793:5:10", + "nameLocation": "108793:5:23", "nodeType": "VariableDeclaration", - "scope": 4454, - "src": "108785:13:10", + "scope": 6060, + "src": "108785:13:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -133963,10 +152938,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4440, + "id": 6046, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "108785:7:10", + "src": "108785:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -133976,13 +152951,13 @@ }, { "constant": false, - "id": 4443, + "id": 6049, "mutability": "mutable", "name": "beacon", - "nameLocation": "108808:6:10", + "nameLocation": "108808:6:23", "nodeType": "VariableDeclaration", - "scope": 4454, - "src": "108800:14:10", + "scope": 6060, + "src": "108800:14:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -133990,10 +152965,10 @@ "typeString": "address" }, "typeName": { - "id": 4442, + "id": 6048, "name": "address", "nodeType": "ElementaryTypeName", - "src": "108800:7:10", + "src": "108800:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -134004,13 +152979,13 @@ }, { "constant": false, - "id": 4445, + "id": 6051, "mutability": "mutable", "name": "salt", - "nameLocation": "108824:4:10", + "nameLocation": "108824:4:23", "nodeType": "VariableDeclaration", - "scope": 4454, - "src": "108816:12:10", + "scope": 6060, + "src": "108816:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -134018,10 +152993,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4444, + "id": 6050, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "108816:7:10", + "src": "108816:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -134030,21 +153005,21 @@ "visibility": "internal" } ], - "src": "108784:45:10" + "src": "108784:45:23" }, "returnParameters": { - "id": 4451, + "id": 6057, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4448, + "id": 6054, "mutability": "mutable", "name": "alreadyDeployed", - "nameLocation": "108869:15:10", + "nameLocation": "108869:15:23", "nodeType": "VariableDeclaration", - "scope": 4454, - "src": "108864:20:10", + "scope": 6060, + "src": "108864:20:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -134052,10 +153027,10 @@ "typeString": "bool" }, "typeName": { - "id": 4447, + "id": 6053, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "108864:4:10", + "src": "108864:4:23", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -134065,13 +153040,13 @@ }, { "constant": false, - "id": 4450, + "id": 6056, "mutability": "mutable", "name": "instance", - "nameLocation": "108894:8:10", + "nameLocation": "108894:8:23", "nodeType": "VariableDeclaration", - "scope": 4454, - "src": "108886:16:10", + "scope": 6060, + "src": "108886:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -134079,10 +153054,10 @@ "typeString": "address" }, "typeName": { - "id": 4449, + "id": 6055, "name": "address", "nodeType": "ElementaryTypeName", - "src": "108886:7:10", + "src": "108886:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -134092,57 +153067,57 @@ "visibility": "internal" } ], - "src": "108863:40:10" + "src": "108863:40:23" }, - "scope": 5093, - "src": "108738:1769:10", + "scope": 6699, + "src": "108738:1769:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4463, + "id": 6069, "nodeType": "Block", - "src": "110686:633:10", + "src": "110686:633:23", "statements": [ { "AST": { - "nativeSrc": "110748:565:10", + "nativeSrc": "110748:565:23", "nodeType": "YulBlock", - "src": "110748:565:10", + "src": "110748:565:23", "statements": [ { - "nativeSrc": "110762:16:10", + "nativeSrc": "110762:16:23", "nodeType": "YulAssignment", - "src": "110762:16:10", + "src": "110762:16:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "110773:4:10", + "nativeSrc": "110773:4:23", "nodeType": "YulLiteral", - "src": "110773:4:10", + "src": "110773:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "110767:5:10", + "nativeSrc": "110767:5:23", "nodeType": "YulIdentifier", - "src": "110767:5:10" + "src": "110767:5:23" }, - "nativeSrc": "110767:11:10", + "nativeSrc": "110767:11:23", "nodeType": "YulFunctionCall", - "src": "110767:11:10" + "src": "110767:11:23" }, "variableNames": [ { "name": "c", - "nativeSrc": "110762:1:10", + "nativeSrc": "110762:1:23", "nodeType": "YulIdentifier", - "src": "110762:1:10" + "src": "110762:1:23" } ] }, @@ -134153,51 +153128,51 @@ "arguments": [ { "name": "c", - "nativeSrc": "110802:1:10", + "nativeSrc": "110802:1:23", "nodeType": "YulIdentifier", - "src": "110802:1:10" + "src": "110802:1:23" }, { "kind": "number", - "nativeSrc": "110805:4:10", + "nativeSrc": "110805:4:23", "nodeType": "YulLiteral", - "src": "110805:4:10", + "src": "110805:4:23", "type": "", "value": "0x74" } ], "functionName": { "name": "add", - "nativeSrc": "110798:3:10", + "nativeSrc": "110798:3:23", "nodeType": "YulIdentifier", - "src": "110798:3:10" + "src": "110798:3:23" }, - "nativeSrc": "110798:12:10", + "nativeSrc": "110798:12:23", "nodeType": "YulFunctionCall", - "src": "110798:12:10" + "src": "110798:12:23" }, { "kind": "number", - "nativeSrc": "110812:66:10", + "nativeSrc": "110812:66:23", "nodeType": "YulLiteral", - "src": "110812:66:10", + "src": "110812:66:23", "type": "", "value": "0xb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f3" } ], "functionName": { "name": "mstore", - "nativeSrc": "110791:6:10", + "nativeSrc": "110791:6:23", "nodeType": "YulIdentifier", - "src": "110791:6:10" + "src": "110791:6:23" }, - "nativeSrc": "110791:88:10", + "nativeSrc": "110791:88:23", "nodeType": "YulFunctionCall", - "src": "110791:88:10" + "src": "110791:88:23" }, - "nativeSrc": "110791:88:10", + "nativeSrc": "110791:88:23", "nodeType": "YulExpressionStatement", - "src": "110791:88:10" + "src": "110791:88:23" }, { "expression": { @@ -134206,51 +153181,51 @@ "arguments": [ { "name": "c", - "nativeSrc": "110903:1:10", + "nativeSrc": "110903:1:23", "nodeType": "YulIdentifier", - "src": "110903:1:10" + "src": "110903:1:23" }, { "kind": "number", - "nativeSrc": "110906:4:10", + "nativeSrc": "110906:4:23", "nodeType": "YulLiteral", - "src": "110906:4:10", + "src": "110906:4:23", "type": "", "value": "0x54" } ], "functionName": { "name": "add", - "nativeSrc": "110899:3:10", + "nativeSrc": "110899:3:23", "nodeType": "YulIdentifier", - "src": "110899:3:10" + "src": "110899:3:23" }, - "nativeSrc": "110899:12:10", + "nativeSrc": "110899:12:23", "nodeType": "YulFunctionCall", - "src": "110899:12:10" + "src": "110899:12:23" }, { "kind": "number", - "nativeSrc": "110913:66:10", + "nativeSrc": "110913:66:23", "nodeType": "YulLiteral", - "src": "110913:66:10", + "src": "110913:66:23", "type": "", "value": "0x1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6c" } ], "functionName": { "name": "mstore", - "nativeSrc": "110892:6:10", + "nativeSrc": "110892:6:23", "nodeType": "YulIdentifier", - "src": "110892:6:10" + "src": "110892:6:23" }, - "nativeSrc": "110892:88:10", + "nativeSrc": "110892:88:23", "nodeType": "YulFunctionCall", - "src": "110892:88:10" + "src": "110892:88:23" }, - "nativeSrc": "110892:88:10", + "nativeSrc": "110892:88:23", "nodeType": "YulExpressionStatement", - "src": "110892:88:10" + "src": "110892:88:23" }, { "expression": { @@ -134259,51 +153234,51 @@ "arguments": [ { "name": "c", - "nativeSrc": "111004:1:10", + "nativeSrc": "111004:1:23", "nodeType": "YulIdentifier", - "src": "111004:1:10" + "src": "111004:1:23" }, { "kind": "number", - "nativeSrc": "111007:4:10", + "nativeSrc": "111007:4:23", "nodeType": "YulLiteral", - "src": "111007:4:10", + "src": "111007:4:23", "type": "", "value": "0x34" } ], "functionName": { "name": "add", - "nativeSrc": "111000:3:10", + "nativeSrc": "111000:3:23", "nodeType": "YulIdentifier", - "src": "111000:3:10" + "src": "111000:3:23" }, - "nativeSrc": "111000:12:10", + "nativeSrc": "111000:12:23", "nodeType": "YulFunctionCall", - "src": "111000:12:10" + "src": "111000:12:23" }, { "kind": "number", - "nativeSrc": "111014:48:10", + "nativeSrc": "111014:48:23", "nodeType": "YulLiteral", - "src": "111014:48:10", + "src": "111014:48:23", "type": "", "value": "0x60195155f3363d3d373d3d363d602036600436635c60da" } ], "functionName": { "name": "mstore", - "nativeSrc": "110993:6:10", + "nativeSrc": "110993:6:23", "nodeType": "YulIdentifier", - "src": "110993:6:10" + "src": "110993:6:23" }, - "nativeSrc": "110993:70:10", + "nativeSrc": "110993:70:23", "nodeType": "YulFunctionCall", - "src": "110993:70:10" + "src": "110993:70:23" }, - "nativeSrc": "110993:70:10", + "nativeSrc": "110993:70:23", "nodeType": "YulExpressionStatement", - "src": "110993:70:10" + "src": "110993:70:23" }, { "expression": { @@ -134312,49 +153287,49 @@ "arguments": [ { "name": "c", - "nativeSrc": "111087:1:10", + "nativeSrc": "111087:1:23", "nodeType": "YulIdentifier", - "src": "111087:1:10" + "src": "111087:1:23" }, { "kind": "number", - "nativeSrc": "111090:4:10", + "nativeSrc": "111090:4:23", "nodeType": "YulLiteral", - "src": "111090:4:10", + "src": "111090:4:23", "type": "", "value": "0x1d" } ], "functionName": { "name": "add", - "nativeSrc": "111083:3:10", + "nativeSrc": "111083:3:23", "nodeType": "YulIdentifier", - "src": "111083:3:10" + "src": "111083:3:23" }, - "nativeSrc": "111083:12:10", + "nativeSrc": "111083:12:23", "nodeType": "YulFunctionCall", - "src": "111083:12:10" + "src": "111083:12:23" }, { "name": "beacon", - "nativeSrc": "111097:6:10", + "nativeSrc": "111097:6:23", "nodeType": "YulIdentifier", - "src": "111097:6:10" + "src": "111097:6:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "111076:6:10", + "nativeSrc": "111076:6:23", "nodeType": "YulIdentifier", - "src": "111076:6:10" + "src": "111076:6:23" }, - "nativeSrc": "111076:28:10", + "nativeSrc": "111076:28:23", "nodeType": "YulFunctionCall", - "src": "111076:28:10" + "src": "111076:28:23" }, - "nativeSrc": "111076:28:10", + "nativeSrc": "111076:28:23", "nodeType": "YulExpressionStatement", - "src": "111076:28:10" + "src": "111076:28:23" }, { "expression": { @@ -134363,51 +153338,51 @@ "arguments": [ { "name": "c", - "nativeSrc": "111128:1:10", + "nativeSrc": "111128:1:23", "nodeType": "YulIdentifier", - "src": "111128:1:10" + "src": "111128:1:23" }, { "kind": "number", - "nativeSrc": "111131:4:10", + "nativeSrc": "111131:4:23", "nodeType": "YulLiteral", - "src": "111131:4:10", + "src": "111131:4:23", "type": "", "value": "0x09" } ], "functionName": { "name": "add", - "nativeSrc": "111124:3:10", + "nativeSrc": "111124:3:23", "nodeType": "YulIdentifier", - "src": "111124:3:10" + "src": "111124:3:23" }, - "nativeSrc": "111124:12:10", + "nativeSrc": "111124:12:23", "nodeType": "YulFunctionCall", - "src": "111124:12:10" + "src": "111124:12:23" }, { "kind": "number", - "nativeSrc": "111138:20:10", + "nativeSrc": "111138:20:23", "nodeType": "YulLiteral", - "src": "111138:20:10", + "src": "111138:20:23", "type": "", "value": "0x60523d8160223d3973" } ], "functionName": { "name": "mstore", - "nativeSrc": "111117:6:10", + "nativeSrc": "111117:6:23", "nodeType": "YulIdentifier", - "src": "111117:6:10" + "src": "111117:6:23" }, - "nativeSrc": "111117:42:10", + "nativeSrc": "111117:42:23", "nodeType": "YulFunctionCall", - "src": "111117:42:10" + "src": "111117:42:23" }, - "nativeSrc": "111117:42:10", + "nativeSrc": "111117:42:23", "nodeType": "YulExpressionStatement", - "src": "111117:42:10" + "src": "111117:42:23" }, { "expression": { @@ -134416,92 +153391,92 @@ "arguments": [ { "name": "c", - "nativeSrc": "111183:1:10", + "nativeSrc": "111183:1:23", "nodeType": "YulIdentifier", - "src": "111183:1:10" + "src": "111183:1:23" }, { "kind": "number", - "nativeSrc": "111186:4:10", + "nativeSrc": "111186:4:23", "nodeType": "YulLiteral", - "src": "111186:4:10", + "src": "111186:4:23", "type": "", "value": "0x94" } ], "functionName": { "name": "add", - "nativeSrc": "111179:3:10", + "nativeSrc": "111179:3:23", "nodeType": "YulIdentifier", - "src": "111179:3:10" + "src": "111179:3:23" }, - "nativeSrc": "111179:12:10", + "nativeSrc": "111179:12:23", "nodeType": "YulFunctionCall", - "src": "111179:12:10" + "src": "111179:12:23" }, { "kind": "number", - "nativeSrc": "111193:1:10", + "nativeSrc": "111193:1:23", "nodeType": "YulLiteral", - "src": "111193:1:10", + "src": "111193:1:23", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "111172:6:10", + "nativeSrc": "111172:6:23", "nodeType": "YulIdentifier", - "src": "111172:6:10" + "src": "111172:6:23" }, - "nativeSrc": "111172:23:10", + "nativeSrc": "111172:23:23", "nodeType": "YulFunctionCall", - "src": "111172:23:10" + "src": "111172:23:23" }, - "nativeSrc": "111172:23:10", + "nativeSrc": "111172:23:23", "nodeType": "YulExpressionStatement", - "src": "111172:23:10" + "src": "111172:23:23" }, { "expression": { "arguments": [ { "name": "c", - "nativeSrc": "111215:1:10", + "nativeSrc": "111215:1:23", "nodeType": "YulIdentifier", - "src": "111215:1:10" + "src": "111215:1:23" }, { "kind": "number", - "nativeSrc": "111218:4:10", + "nativeSrc": "111218:4:23", "nodeType": "YulLiteral", - "src": "111218:4:10", + "src": "111218:4:23", "type": "", "value": "0x74" } ], "functionName": { "name": "mstore", - "nativeSrc": "111208:6:10", + "nativeSrc": "111208:6:23", "nodeType": "YulIdentifier", - "src": "111208:6:10" + "src": "111208:6:23" }, - "nativeSrc": "111208:15:10", + "nativeSrc": "111208:15:23", "nodeType": "YulFunctionCall", - "src": "111208:15:10" + "src": "111208:15:23" }, - "nativeSrc": "111208:15:10", + "nativeSrc": "111208:15:23", "nodeType": "YulExpressionStatement", - "src": "111208:15:10" + "src": "111208:15:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "111264:4:10", + "nativeSrc": "111264:4:23", "nodeType": "YulLiteral", - "src": "111264:4:10", + "src": "111264:4:23", "type": "", "value": "0x40" }, @@ -134509,43 +153484,43 @@ "arguments": [ { "name": "c", - "nativeSrc": "111274:1:10", + "nativeSrc": "111274:1:23", "nodeType": "YulIdentifier", - "src": "111274:1:10" + "src": "111274:1:23" }, { "kind": "number", - "nativeSrc": "111277:4:10", + "nativeSrc": "111277:4:23", "nodeType": "YulLiteral", - "src": "111277:4:10", + "src": "111277:4:23", "type": "", "value": "0xa0" } ], "functionName": { "name": "add", - "nativeSrc": "111270:3:10", + "nativeSrc": "111270:3:23", "nodeType": "YulIdentifier", - "src": "111270:3:10" + "src": "111270:3:23" }, - "nativeSrc": "111270:12:10", + "nativeSrc": "111270:12:23", "nodeType": "YulFunctionCall", - "src": "111270:12:10" + "src": "111270:12:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "111257:6:10", + "nativeSrc": "111257:6:23", "nodeType": "YulIdentifier", - "src": "111257:6:10" + "src": "111257:6:23" }, - "nativeSrc": "111257:26:10", + "nativeSrc": "111257:26:23", "nodeType": "YulFunctionCall", - "src": "111257:26:10" + "src": "111257:26:23" }, - "nativeSrc": "111257:26:10", + "nativeSrc": "111257:26:23", "nodeType": "YulExpressionStatement", - "src": "111257:26:10" + "src": "111257:26:23" } ] }, @@ -134553,108 +153528,108 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4457, + "declaration": 6063, "isOffset": false, "isSlot": false, - "src": "111097:6:10", + "src": "111097:6:23", "valueSize": 1 }, { - "declaration": 4460, + "declaration": 6066, "isOffset": false, "isSlot": false, - "src": "110762:1:10", + "src": "110762:1:23", "valueSize": 1 }, { - "declaration": 4460, + "declaration": 6066, "isOffset": false, "isSlot": false, - "src": "110802:1:10", + "src": "110802:1:23", "valueSize": 1 }, { - "declaration": 4460, + "declaration": 6066, "isOffset": false, "isSlot": false, - "src": "110903:1:10", + "src": "110903:1:23", "valueSize": 1 }, { - "declaration": 4460, + "declaration": 6066, "isOffset": false, "isSlot": false, - "src": "111004:1:10", + "src": "111004:1:23", "valueSize": 1 }, { - "declaration": 4460, + "declaration": 6066, "isOffset": false, "isSlot": false, - "src": "111087:1:10", + "src": "111087:1:23", "valueSize": 1 }, { - "declaration": 4460, + "declaration": 6066, "isOffset": false, "isSlot": false, - "src": "111128:1:10", + "src": "111128:1:23", "valueSize": 1 }, { - "declaration": 4460, + "declaration": 6066, "isOffset": false, "isSlot": false, - "src": "111183:1:10", + "src": "111183:1:23", "valueSize": 1 }, { - "declaration": 4460, + "declaration": 6066, "isOffset": false, "isSlot": false, - "src": "111215:1:10", + "src": "111215:1:23", "valueSize": 1 }, { - "declaration": 4460, + "declaration": 6066, "isOffset": false, "isSlot": false, - "src": "111274:1:10", + "src": "111274:1:23", "valueSize": 1 } ], - "id": 4462, + "id": 6068, "nodeType": "InlineAssembly", - "src": "110739:574:10" + "src": "110739:574:23" } ] }, "documentation": { - "id": 4455, + "id": 6061, "nodeType": "StructuredDocumentation", - "src": "110513:77:10", + "src": "110513:77:23", "text": "@dev Returns the initialization code of the minimal ERC1967 beacon proxy." }, - "id": 4464, + "id": 6070, "implemented": true, "kind": "function", "modifiers": [], "name": "initCodeERC1967BeaconProxy", - "nameLocation": "110604:26:10", + "nameLocation": "110604:26:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4458, + "id": 6064, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4457, + "id": 6063, "mutability": "mutable", "name": "beacon", - "nameLocation": "110639:6:10", + "nameLocation": "110639:6:23", "nodeType": "VariableDeclaration", - "scope": 4464, - "src": "110631:14:10", + "scope": 6070, + "src": "110631:14:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -134662,10 +153637,10 @@ "typeString": "address" }, "typeName": { - "id": 4456, + "id": 6062, "name": "address", "nodeType": "ElementaryTypeName", - "src": "110631:7:10", + "src": "110631:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -134675,21 +153650,21 @@ "visibility": "internal" } ], - "src": "110630:16:10" + "src": "110630:16:23" }, "returnParameters": { - "id": 4461, + "id": 6067, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4460, + "id": 6066, "mutability": "mutable", "name": "c", - "nameLocation": "110683:1:10", + "nameLocation": "110683:1:23", "nodeType": "VariableDeclaration", - "scope": 4464, - "src": "110670:14:10", + "scope": 6070, + "src": "110670:14:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -134697,10 +153672,10 @@ "typeString": "bytes" }, "typeName": { - "id": 4459, + "id": 6065, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "110670:5:10", + "src": "110670:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -134709,57 +153684,57 @@ "visibility": "internal" } ], - "src": "110669:16:10" + "src": "110669:16:23" }, - "scope": 5093, - "src": "110595:724:10", + "scope": 6699, + "src": "110595:724:23", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4473, + "id": 6079, "nodeType": "Block", - "src": "111505:654:10", + "src": "111505:654:23", "statements": [ { "AST": { - "nativeSrc": "111567:586:10", + "nativeSrc": "111567:586:23", "nodeType": "YulBlock", - "src": "111567:586:10", + "src": "111567:586:23", "statements": [ { - "nativeSrc": "111581:20:10", + "nativeSrc": "111581:20:23", "nodeType": "YulVariableDeclaration", - "src": "111581:20:10", + "src": "111581:20:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "111596:4:10", + "nativeSrc": "111596:4:23", "nodeType": "YulLiteral", - "src": "111596:4:10", + "src": "111596:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "111590:5:10", + "nativeSrc": "111590:5:23", "nodeType": "YulIdentifier", - "src": "111590:5:10" + "src": "111590:5:23" }, - "nativeSrc": "111590:11:10", + "nativeSrc": "111590:11:23", "nodeType": "YulFunctionCall", - "src": "111590:11:10" + "src": "111590:11:23" }, "variables": [ { "name": "m", - "nativeSrc": "111585:1:10", + "nativeSrc": "111585:1:23", "nodeType": "YulTypedName", - "src": "111585:1:10", + "src": "111585:1:23", "type": "" } ] @@ -134769,111 +153744,111 @@ "arguments": [ { "kind": "number", - "nativeSrc": "111655:4:10", + "nativeSrc": "111655:4:23", "nodeType": "YulLiteral", - "src": "111655:4:10", + "src": "111655:4:23", "type": "", "value": "0x60" }, { "kind": "number", - "nativeSrc": "111661:66:10", + "nativeSrc": "111661:66:23", "nodeType": "YulLiteral", - "src": "111661:66:10", + "src": "111661:66:23", "type": "", "value": "0xb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f3" } ], "functionName": { "name": "mstore", - "nativeSrc": "111648:6:10", + "nativeSrc": "111648:6:23", "nodeType": "YulIdentifier", - "src": "111648:6:10" + "src": "111648:6:23" }, - "nativeSrc": "111648:80:10", + "nativeSrc": "111648:80:23", "nodeType": "YulFunctionCall", - "src": "111648:80:10" + "src": "111648:80:23" }, - "nativeSrc": "111648:80:10", + "nativeSrc": "111648:80:23", "nodeType": "YulExpressionStatement", - "src": "111648:80:10" + "src": "111648:80:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "111748:4:10", + "nativeSrc": "111748:4:23", "nodeType": "YulLiteral", - "src": "111748:4:10", + "src": "111748:4:23", "type": "", "value": "0x40" }, { "kind": "number", - "nativeSrc": "111754:66:10", + "nativeSrc": "111754:66:23", "nodeType": "YulLiteral", - "src": "111754:66:10", + "src": "111754:66:23", "type": "", "value": "0x1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6c" } ], "functionName": { "name": "mstore", - "nativeSrc": "111741:6:10", + "nativeSrc": "111741:6:23", "nodeType": "YulIdentifier", - "src": "111741:6:10" + "src": "111741:6:23" }, - "nativeSrc": "111741:80:10", + "nativeSrc": "111741:80:23", "nodeType": "YulFunctionCall", - "src": "111741:80:10" + "src": "111741:80:23" }, - "nativeSrc": "111741:80:10", + "nativeSrc": "111741:80:23", "nodeType": "YulExpressionStatement", - "src": "111741:80:10" + "src": "111741:80:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "111841:4:10", + "nativeSrc": "111841:4:23", "nodeType": "YulLiteral", - "src": "111841:4:10", + "src": "111841:4:23", "type": "", "value": "0x20" }, { "kind": "number", - "nativeSrc": "111847:48:10", + "nativeSrc": "111847:48:23", "nodeType": "YulLiteral", - "src": "111847:48:10", + "src": "111847:48:23", "type": "", "value": "0x60195155f3363d3d373d3d363d602036600436635c60da" } ], "functionName": { "name": "mstore", - "nativeSrc": "111834:6:10", + "nativeSrc": "111834:6:23", "nodeType": "YulIdentifier", - "src": "111834:6:10" + "src": "111834:6:23" }, - "nativeSrc": "111834:62:10", + "nativeSrc": "111834:62:23", "nodeType": "YulFunctionCall", - "src": "111834:62:10" + "src": "111834:62:23" }, - "nativeSrc": "111834:62:10", + "nativeSrc": "111834:62:23", "nodeType": "YulExpressionStatement", - "src": "111834:62:10" + "src": "111834:62:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "111916:4:10", + "nativeSrc": "111916:4:23", "nodeType": "YulLiteral", - "src": "111916:4:10", + "src": "111916:4:23", "type": "", "value": "0x09" }, @@ -134883,38 +153858,38 @@ "arguments": [ { "kind": "number", - "nativeSrc": "111929:3:10", + "nativeSrc": "111929:3:23", "nodeType": "YulLiteral", - "src": "111929:3:10", + "src": "111929:3:23", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "111934:20:10", + "nativeSrc": "111934:20:23", "nodeType": "YulLiteral", - "src": "111934:20:10", + "src": "111934:20:23", "type": "", "value": "0x60523d8160223d3973" } ], "functionName": { "name": "shl", - "nativeSrc": "111925:3:10", + "nativeSrc": "111925:3:23", "nodeType": "YulIdentifier", - "src": "111925:3:10" + "src": "111925:3:23" }, - "nativeSrc": "111925:30:10", + "nativeSrc": "111925:30:23", "nodeType": "YulFunctionCall", - "src": "111925:30:10" + "src": "111925:30:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "111961:2:10", + "nativeSrc": "111961:2:23", "nodeType": "YulLiteral", - "src": "111961:2:10", + "src": "111961:2:23", "type": "", "value": "96" }, @@ -134922,105 +153897,105 @@ "arguments": [ { "kind": "number", - "nativeSrc": "111969:2:10", + "nativeSrc": "111969:2:23", "nodeType": "YulLiteral", - "src": "111969:2:10", + "src": "111969:2:23", "type": "", "value": "96" }, { "name": "beacon", - "nativeSrc": "111973:6:10", + "nativeSrc": "111973:6:23", "nodeType": "YulIdentifier", - "src": "111973:6:10" + "src": "111973:6:23" } ], "functionName": { "name": "shl", - "nativeSrc": "111965:3:10", + "nativeSrc": "111965:3:23", "nodeType": "YulIdentifier", - "src": "111965:3:10" + "src": "111965:3:23" }, - "nativeSrc": "111965:15:10", + "nativeSrc": "111965:15:23", "nodeType": "YulFunctionCall", - "src": "111965:15:10" + "src": "111965:15:23" } ], "functionName": { "name": "shr", - "nativeSrc": "111957:3:10", + "nativeSrc": "111957:3:23", "nodeType": "YulIdentifier", - "src": "111957:3:10" + "src": "111957:3:23" }, - "nativeSrc": "111957:24:10", + "nativeSrc": "111957:24:23", "nodeType": "YulFunctionCall", - "src": "111957:24:10" + "src": "111957:24:23" } ], "functionName": { "name": "or", - "nativeSrc": "111922:2:10", + "nativeSrc": "111922:2:23", "nodeType": "YulIdentifier", - "src": "111922:2:10" + "src": "111922:2:23" }, - "nativeSrc": "111922:60:10", + "nativeSrc": "111922:60:23", "nodeType": "YulFunctionCall", - "src": "111922:60:10" + "src": "111922:60:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "111909:6:10", + "nativeSrc": "111909:6:23", "nodeType": "YulIdentifier", - "src": "111909:6:10" + "src": "111909:6:23" }, - "nativeSrc": "111909:74:10", + "nativeSrc": "111909:74:23", "nodeType": "YulFunctionCall", - "src": "111909:74:10" + "src": "111909:74:23" }, - "nativeSrc": "111909:74:10", + "nativeSrc": "111909:74:23", "nodeType": "YulExpressionStatement", - "src": "111909:74:10" + "src": "111909:74:23" }, { - "nativeSrc": "111996:29:10", + "nativeSrc": "111996:29:23", "nodeType": "YulAssignment", - "src": "111996:29:10", + "src": "111996:29:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "112014:4:10", + "nativeSrc": "112014:4:23", "nodeType": "YulLiteral", - "src": "112014:4:10", + "src": "112014:4:23", "type": "", "value": "0x0c" }, { "kind": "number", - "nativeSrc": "112020:4:10", + "nativeSrc": "112020:4:23", "nodeType": "YulLiteral", - "src": "112020:4:10", + "src": "112020:4:23", "type": "", "value": "0x74" } ], "functionName": { "name": "keccak256", - "nativeSrc": "112004:9:10", + "nativeSrc": "112004:9:23", "nodeType": "YulIdentifier", - "src": "112004:9:10" + "src": "112004:9:23" }, - "nativeSrc": "112004:21:10", + "nativeSrc": "112004:21:23", "nodeType": "YulFunctionCall", - "src": "112004:21:10" + "src": "112004:21:23" }, "variableNames": [ { "name": "hash", - "nativeSrc": "111996:4:10", + "nativeSrc": "111996:4:23", "nodeType": "YulIdentifier", - "src": "111996:4:10" + "src": "111996:4:23" } ] }, @@ -135029,66 +154004,66 @@ "arguments": [ { "kind": "number", - "nativeSrc": "112045:4:10", + "nativeSrc": "112045:4:23", "nodeType": "YulLiteral", - "src": "112045:4:10", + "src": "112045:4:23", "type": "", "value": "0x40" }, { "name": "m", - "nativeSrc": "112051:1:10", + "nativeSrc": "112051:1:23", "nodeType": "YulIdentifier", - "src": "112051:1:10" + "src": "112051:1:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "112038:6:10", + "nativeSrc": "112038:6:23", "nodeType": "YulIdentifier", - "src": "112038:6:10" + "src": "112038:6:23" }, - "nativeSrc": "112038:15:10", + "nativeSrc": "112038:15:23", "nodeType": "YulFunctionCall", - "src": "112038:15:10" + "src": "112038:15:23" }, - "nativeSrc": "112038:15:10", + "nativeSrc": "112038:15:23", "nodeType": "YulExpressionStatement", - "src": "112038:15:10" + "src": "112038:15:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "112109:4:10", + "nativeSrc": "112109:4:23", "nodeType": "YulLiteral", - "src": "112109:4:10", + "src": "112109:4:23", "type": "", "value": "0x60" }, { "kind": "number", - "nativeSrc": "112115:1:10", + "nativeSrc": "112115:1:23", "nodeType": "YulLiteral", - "src": "112115:1:10", + "src": "112115:1:23", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "112102:6:10", + "nativeSrc": "112102:6:23", "nodeType": "YulIdentifier", - "src": "112102:6:10" + "src": "112102:6:23" }, - "nativeSrc": "112102:15:10", + "nativeSrc": "112102:15:23", "nodeType": "YulFunctionCall", - "src": "112102:15:10" + "src": "112102:15:23" }, - "nativeSrc": "112102:15:10", + "nativeSrc": "112102:15:23", "nodeType": "YulExpressionStatement", - "src": "112102:15:10" + "src": "112102:15:23" } ] }, @@ -135096,52 +154071,52 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4467, + "declaration": 6073, "isOffset": false, "isSlot": false, - "src": "111973:6:10", + "src": "111973:6:23", "valueSize": 1 }, { - "declaration": 4470, + "declaration": 6076, "isOffset": false, "isSlot": false, - "src": "111996:4:10", + "src": "111996:4:23", "valueSize": 1 } ], - "id": 4472, + "id": 6078, "nodeType": "InlineAssembly", - "src": "111558:595:10" + "src": "111558:595:23" } ] }, "documentation": { - "id": 4465, + "id": 6071, "nodeType": "StructuredDocumentation", - "src": "111325:82:10", + "src": "111325:82:23", "text": "@dev Returns the initialization code hash of the minimal ERC1967 beacon proxy." }, - "id": 4474, + "id": 6080, "implemented": true, "kind": "function", "modifiers": [], "name": "initCodeHashERC1967BeaconProxy", - "nameLocation": "111421:30:10", + "nameLocation": "111421:30:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4468, + "id": 6074, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4467, + "id": 6073, "mutability": "mutable", "name": "beacon", - "nameLocation": "111460:6:10", + "nameLocation": "111460:6:23", "nodeType": "VariableDeclaration", - "scope": 4474, - "src": "111452:14:10", + "scope": 6080, + "src": "111452:14:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -135149,10 +154124,10 @@ "typeString": "address" }, "typeName": { - "id": 4466, + "id": 6072, "name": "address", "nodeType": "ElementaryTypeName", - "src": "111452:7:10", + "src": "111452:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -135162,21 +154137,21 @@ "visibility": "internal" } ], - "src": "111451:16:10" + "src": "111451:16:23" }, "returnParameters": { - "id": 4471, + "id": 6077, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4470, + "id": 6076, "mutability": "mutable", "name": "hash", - "nameLocation": "111499:4:10", + "nameLocation": "111499:4:23", "nodeType": "VariableDeclaration", - "scope": 4474, - "src": "111491:12:10", + "scope": 6080, + "src": "111491:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -135184,10 +154159,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4469, + "id": 6075, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "111491:7:10", + "src": "111491:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -135196,34 +154171,34 @@ "visibility": "internal" } ], - "src": "111490:14:10" + "src": "111490:14:23" }, - "scope": 5093, - "src": "111412:747:10", + "scope": 6699, + "src": "111412:747:23", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4500, + "id": 6106, "nodeType": "Block", - "src": "112522:141:10", + "src": "112522:141:23", "statements": [ { "assignments": [ - 4487 + 6093 ], "declarations": [ { "constant": false, - "id": 4487, + "id": 6093, "mutability": "mutable", "name": "hash", - "nameLocation": "112540:4:10", + "nameLocation": "112540:4:23", "nodeType": "VariableDeclaration", - "scope": 4500, - "src": "112532:12:10", + "scope": 6106, + "src": "112532:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -135231,10 +154206,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4486, + "id": 6092, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "112532:7:10", + "src": "112532:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -135243,16 +154218,16 @@ "visibility": "internal" } ], - "id": 4491, + "id": 6097, "initialValue": { "arguments": [ { - "id": 4489, + "id": 6095, "name": "beacon", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4477, - "src": "112578:6:10", + "referencedDeclaration": 6083, + "src": "112578:6:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -135266,21 +154241,21 @@ "typeString": "address" } ], - "id": 4488, + "id": 6094, "name": "initCodeHashERC1967BeaconProxy", "nodeType": "Identifier", "overloadedDeclarations": [ - 4474, - 4636 + 6080, + 6242 ], - "referencedDeclaration": 4474, - "src": "112547:30:10", + "referencedDeclaration": 6080, + "src": "112547:30:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_bytes32_$", "typeString": "function (address) pure returns (bytes32)" } }, - "id": 4490, + "id": 6096, "isConstant": false, "isLValue": false, "isPure": false, @@ -135289,7 +154264,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "112547:38:10", + "src": "112547:38:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -135297,22 +154272,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "112532:53:10" + "src": "112532:53:23" }, { "expression": { - "id": 4498, + "id": 6104, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 4492, + "id": 6098, "name": "predicted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4484, - "src": "112595:9:10", + "referencedDeclaration": 6090, + "src": "112595:9:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -135323,36 +154298,36 @@ "rightHandSide": { "arguments": [ { - "id": 4494, + "id": 6100, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4487, - "src": "112635:4:10", + "referencedDeclaration": 6093, + "src": "112635:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 4495, + "id": 6101, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4479, - "src": "112641:4:10", + "referencedDeclaration": 6085, + "src": "112641:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 4496, + "id": 6102, "name": "deployer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4481, - "src": "112647:8:10", + "referencedDeclaration": 6087, + "src": "112647:8:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -135374,22 +154349,22 @@ "typeString": "address" } ], - "id": 4493, + "id": 6099, "name": "predictDeterministicAddress", "nodeType": "Identifier", "overloadedDeclarations": [ - 3226, - 3499, - 5070 + 4832, + 5105, + 6676 ], - "referencedDeclaration": 5070, - "src": "112607:27:10", + "referencedDeclaration": 6676, + "src": "112607:27:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_address_$", "typeString": "function (bytes32,bytes32,address) pure returns (address)" } }, - "id": 4497, + "id": 6103, "isConstant": false, "isLValue": false, "isPure": false, @@ -135398,51 +154373,51 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "112607:49:10", + "src": "112607:49:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "112595:61:10", + "src": "112595:61:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 4499, + "id": 6105, "nodeType": "ExpressionStatement", - "src": "112595:61:10" + "src": "112595:61:23" } ] }, "documentation": { - "id": 4475, + "id": 6081, "nodeType": "StructuredDocumentation", - "src": "112165:177:10", + "src": "112165:177:23", "text": "@dev Returns the address of the ERC1967 beacon proxy, with `salt` by `deployer`.\n Note: The returned result has dirty upper 96 bits. Please clean if used in assembly." }, - "id": 4501, + "id": 6107, "implemented": true, "kind": "function", "modifiers": [], "name": "predictDeterministicAddressERC1967BeaconProxy", - "nameLocation": "112356:45:10", + "nameLocation": "112356:45:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4482, + "id": 6088, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4477, + "id": 6083, "mutability": "mutable", "name": "beacon", - "nameLocation": "112419:6:10", + "nameLocation": "112419:6:23", "nodeType": "VariableDeclaration", - "scope": 4501, - "src": "112411:14:10", + "scope": 6107, + "src": "112411:14:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -135450,10 +154425,10 @@ "typeString": "address" }, "typeName": { - "id": 4476, + "id": 6082, "name": "address", "nodeType": "ElementaryTypeName", - "src": "112411:7:10", + "src": "112411:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -135464,13 +154439,13 @@ }, { "constant": false, - "id": 4479, + "id": 6085, "mutability": "mutable", "name": "salt", - "nameLocation": "112443:4:10", + "nameLocation": "112443:4:23", "nodeType": "VariableDeclaration", - "scope": 4501, - "src": "112435:12:10", + "scope": 6107, + "src": "112435:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -135478,10 +154453,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4478, + "id": 6084, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "112435:7:10", + "src": "112435:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -135491,13 +154466,13 @@ }, { "constant": false, - "id": 4481, + "id": 6087, "mutability": "mutable", "name": "deployer", - "nameLocation": "112465:8:10", + "nameLocation": "112465:8:23", "nodeType": "VariableDeclaration", - "scope": 4501, - "src": "112457:16:10", + "scope": 6107, + "src": "112457:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -135505,10 +154480,10 @@ "typeString": "address" }, "typeName": { - "id": 4480, + "id": 6086, "name": "address", "nodeType": "ElementaryTypeName", - "src": "112457:7:10", + "src": "112457:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -135518,21 +154493,21 @@ "visibility": "internal" } ], - "src": "112401:78:10" + "src": "112401:78:23" }, "returnParameters": { - "id": 4485, + "id": 6091, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4484, + "id": 6090, "mutability": "mutable", "name": "predicted", - "nameLocation": "112511:9:10", + "nameLocation": "112511:9:23", "nodeType": "VariableDeclaration", - "scope": 4501, - "src": "112503:17:10", + "scope": 6107, + "src": "112503:17:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -135540,10 +154515,10 @@ "typeString": "address" }, "typeName": { - "id": 4483, + "id": 6089, "name": "address", "nodeType": "ElementaryTypeName", - "src": "112503:7:10", + "src": "112503:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -135553,34 +154528,34 @@ "visibility": "internal" } ], - "src": "112502:19:10" + "src": "112502:19:23" }, - "scope": 5093, - "src": "112347:316:10", + "scope": 6699, + "src": "112347:316:23", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4519, + "id": 6125, "nodeType": "Block", - "src": "113142:69:10", + "src": "113142:69:23", "statements": [ { "expression": { - "id": 4517, + "id": 6123, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 4511, + "id": 6117, "name": "instance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4509, - "src": "113152:8:10", + "referencedDeclaration": 6115, + "src": "113152:8:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -135592,14 +154567,14 @@ "arguments": [ { "hexValue": "30", - "id": 4513, + "id": 6119, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "113188:1:10", + "src": "113188:1:23", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -135607,24 +154582,24 @@ "value": "0" }, { - "id": 4514, + "id": 6120, "name": "beacon", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4504, - "src": "113191:6:10", + "referencedDeclaration": 6110, + "src": "113191:6:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 4515, + "id": 6121, "name": "args", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4506, - "src": "113199:4:10", + "referencedDeclaration": 6112, + "src": "113199:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -135646,23 +154621,23 @@ "typeString": "bytes memory" } ], - "id": 4512, + "id": 6118, "name": "deployERC1967BeaconProxy", "nodeType": "Identifier", "overloadedDeclarations": [ - 4374, - 4386, - 4520, - 4534 + 5980, + 5992, + 6126, + 6140 ], - "referencedDeclaration": 4534, - "src": "113163:24:10", + "referencedDeclaration": 6140, + "src": "113163:24:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$_t_address_$", "typeString": "function (uint256,address,bytes memory) returns (address)" } }, - "id": 4516, + "id": 6122, "isConstant": false, "isLValue": false, "isPure": false, @@ -135671,51 +154646,51 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "113163:41:10", + "src": "113163:41:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "113152:52:10", + "src": "113152:52:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 4518, + "id": 6124, "nodeType": "ExpressionStatement", - "src": "113152:52:10" + "src": "113152:52:23" } ] }, "documentation": { - "id": 4502, + "id": 6108, "nodeType": "StructuredDocumentation", - "src": "112952:60:10", + "src": "112952:60:23", "text": "@dev Deploys a minimal ERC1967 beacon proxy with `args`." }, - "id": 4520, + "id": 6126, "implemented": true, "kind": "function", "modifiers": [], "name": "deployERC1967BeaconProxy", - "nameLocation": "113026:24:10", + "nameLocation": "113026:24:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4507, + "id": 6113, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4504, + "id": 6110, "mutability": "mutable", "name": "beacon", - "nameLocation": "113059:6:10", + "nameLocation": "113059:6:23", "nodeType": "VariableDeclaration", - "scope": 4520, - "src": "113051:14:10", + "scope": 6126, + "src": "113051:14:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -135723,10 +154698,10 @@ "typeString": "address" }, "typeName": { - "id": 4503, + "id": 6109, "name": "address", "nodeType": "ElementaryTypeName", - "src": "113051:7:10", + "src": "113051:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -135737,13 +154712,13 @@ }, { "constant": false, - "id": 4506, + "id": 6112, "mutability": "mutable", "name": "args", - "nameLocation": "113080:4:10", + "nameLocation": "113080:4:23", "nodeType": "VariableDeclaration", - "scope": 4520, - "src": "113067:17:10", + "scope": 6126, + "src": "113067:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -135751,10 +154726,10 @@ "typeString": "bytes" }, "typeName": { - "id": 4505, + "id": 6111, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "113067:5:10", + "src": "113067:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -135763,21 +154738,21 @@ "visibility": "internal" } ], - "src": "113050:35:10" + "src": "113050:35:23" }, "returnParameters": { - "id": 4510, + "id": 6116, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4509, + "id": 6115, "mutability": "mutable", "name": "instance", - "nameLocation": "113128:8:10", + "nameLocation": "113128:8:23", "nodeType": "VariableDeclaration", - "scope": 4520, - "src": "113120:16:10", + "scope": 6126, + "src": "113120:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -135785,10 +154760,10 @@ "typeString": "address" }, "typeName": { - "id": 4508, + "id": 6114, "name": "address", "nodeType": "ElementaryTypeName", - "src": "113120:7:10", + "src": "113120:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -135798,90 +154773,90 @@ "visibility": "internal" } ], - "src": "113119:18:10" + "src": "113119:18:23" }, - "scope": 5093, - "src": "113017:194:10", + "scope": 6699, + "src": "113017:194:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4533, + "id": 6139, "nodeType": "Block", - "src": "113470:933:10", + "src": "113470:933:23", "statements": [ { "AST": { - "nativeSrc": "113532:865:10", + "nativeSrc": "113532:865:23", "nodeType": "YulBlock", - "src": "113532:865:10", + "src": "113532:865:23", "statements": [ { - "nativeSrc": "113546:20:10", + "nativeSrc": "113546:20:23", "nodeType": "YulVariableDeclaration", - "src": "113546:20:10", + "src": "113546:20:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "113561:4:10", + "nativeSrc": "113561:4:23", "nodeType": "YulLiteral", - "src": "113561:4:10", + "src": "113561:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "113555:5:10", + "nativeSrc": "113555:5:23", "nodeType": "YulIdentifier", - "src": "113555:5:10" + "src": "113555:5:23" }, - "nativeSrc": "113555:11:10", + "nativeSrc": "113555:11:23", "nodeType": "YulFunctionCall", - "src": "113555:11:10" + "src": "113555:11:23" }, "variables": [ { "name": "m", - "nativeSrc": "113550:1:10", + "nativeSrc": "113550:1:23", "nodeType": "YulTypedName", - "src": "113550:1:10", + "src": "113550:1:23", "type": "" } ] }, { - "nativeSrc": "113579:20:10", + "nativeSrc": "113579:20:23", "nodeType": "YulVariableDeclaration", - "src": "113579:20:10", + "src": "113579:20:23", "value": { "arguments": [ { "name": "args", - "nativeSrc": "113594:4:10", + "nativeSrc": "113594:4:23", "nodeType": "YulIdentifier", - "src": "113594:4:10" + "src": "113594:4:23" } ], "functionName": { "name": "mload", - "nativeSrc": "113588:5:10", + "nativeSrc": "113588:5:23", "nodeType": "YulIdentifier", - "src": "113588:5:10" + "src": "113588:5:23" }, - "nativeSrc": "113588:11:10", + "nativeSrc": "113588:11:23", "nodeType": "YulFunctionCall", - "src": "113588:11:10" + "src": "113588:11:23" }, "variables": [ { "name": "n", - "nativeSrc": "113583:1:10", + "nativeSrc": "113583:1:23", "nodeType": "YulTypedName", - "src": "113583:1:10", + "src": "113583:1:23", "type": "" } ] @@ -135895,19 +154870,19 @@ "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "113627:3:10", + "nativeSrc": "113627:3:23", "nodeType": "YulIdentifier", - "src": "113627:3:10" + "src": "113627:3:23" }, - "nativeSrc": "113627:5:10", + "nativeSrc": "113627:5:23", "nodeType": "YulFunctionCall", - "src": "113627:5:10" + "src": "113627:5:23" }, { "kind": "number", - "nativeSrc": "113634:1:10", + "nativeSrc": "113634:1:23", "nodeType": "YulLiteral", - "src": "113634:1:10", + "src": "113634:1:23", "type": "", "value": "4" }, @@ -135915,93 +154890,93 @@ "arguments": [ { "name": "args", - "nativeSrc": "113641:4:10", + "nativeSrc": "113641:4:23", "nodeType": "YulIdentifier", - "src": "113641:4:10" + "src": "113641:4:23" }, { "kind": "number", - "nativeSrc": "113647:4:10", + "nativeSrc": "113647:4:23", "nodeType": "YulLiteral", - "src": "113647:4:10", + "src": "113647:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "113637:3:10", + "nativeSrc": "113637:3:23", "nodeType": "YulIdentifier", - "src": "113637:3:10" + "src": "113637:3:23" }, - "nativeSrc": "113637:15:10", + "nativeSrc": "113637:15:23", "nodeType": "YulFunctionCall", - "src": "113637:15:10" + "src": "113637:15:23" }, { "name": "n", - "nativeSrc": "113654:1:10", + "nativeSrc": "113654:1:23", "nodeType": "YulIdentifier", - "src": "113654:1:10" + "src": "113654:1:23" }, { "arguments": [ { "name": "m", - "nativeSrc": "113661:1:10", + "nativeSrc": "113661:1:23", "nodeType": "YulIdentifier", - "src": "113661:1:10" + "src": "113661:1:23" }, { "kind": "number", - "nativeSrc": "113664:4:10", + "nativeSrc": "113664:4:23", "nodeType": "YulLiteral", - "src": "113664:4:10", + "src": "113664:4:23", "type": "", "value": "0x8b" } ], "functionName": { "name": "add", - "nativeSrc": "113657:3:10", + "nativeSrc": "113657:3:23", "nodeType": "YulIdentifier", - "src": "113657:3:10" + "src": "113657:3:23" }, - "nativeSrc": "113657:12:10", + "nativeSrc": "113657:12:23", "nodeType": "YulFunctionCall", - "src": "113657:12:10" + "src": "113657:12:23" }, { "name": "n", - "nativeSrc": "113671:1:10", + "nativeSrc": "113671:1:23", "nodeType": "YulIdentifier", - "src": "113671:1:10" + "src": "113671:1:23" } ], "functionName": { "name": "staticcall", - "nativeSrc": "113616:10:10", + "nativeSrc": "113616:10:23", "nodeType": "YulIdentifier", - "src": "113616:10:10" + "src": "113616:10:23" }, - "nativeSrc": "113616:57:10", + "nativeSrc": "113616:57:23", "nodeType": "YulFunctionCall", - "src": "113616:57:10" + "src": "113616:57:23" } ], "functionName": { "name": "pop", - "nativeSrc": "113612:3:10", + "nativeSrc": "113612:3:23", "nodeType": "YulIdentifier", - "src": "113612:3:10" + "src": "113612:3:23" }, - "nativeSrc": "113612:62:10", + "nativeSrc": "113612:62:23", "nodeType": "YulFunctionCall", - "src": "113612:62:10" + "src": "113612:62:23" }, - "nativeSrc": "113612:62:10", + "nativeSrc": "113612:62:23", "nodeType": "YulExpressionStatement", - "src": "113612:62:10" + "src": "113612:62:23" }, { "expression": { @@ -136010,51 +154985,51 @@ "arguments": [ { "name": "m", - "nativeSrc": "113698:1:10", + "nativeSrc": "113698:1:23", "nodeType": "YulIdentifier", - "src": "113698:1:10" + "src": "113698:1:23" }, { "kind": "number", - "nativeSrc": "113701:4:10", + "nativeSrc": "113701:4:23", "nodeType": "YulLiteral", - "src": "113701:4:10", + "src": "113701:4:23", "type": "", "value": "0x6b" } ], "functionName": { "name": "add", - "nativeSrc": "113694:3:10", + "nativeSrc": "113694:3:23", "nodeType": "YulIdentifier", - "src": "113694:3:10" + "src": "113694:3:23" }, - "nativeSrc": "113694:12:10", + "nativeSrc": "113694:12:23", "nodeType": "YulFunctionCall", - "src": "113694:12:10" + "src": "113694:12:23" }, { "kind": "number", - "nativeSrc": "113708:66:10", + "nativeSrc": "113708:66:23", "nodeType": "YulLiteral", - "src": "113708:66:10", + "src": "113708:66:23", "type": "", "value": "0xb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f3" } ], "functionName": { "name": "mstore", - "nativeSrc": "113687:6:10", + "nativeSrc": "113687:6:23", "nodeType": "YulIdentifier", - "src": "113687:6:10" + "src": "113687:6:23" }, - "nativeSrc": "113687:88:10", + "nativeSrc": "113687:88:23", "nodeType": "YulFunctionCall", - "src": "113687:88:10" + "src": "113687:88:23" }, - "nativeSrc": "113687:88:10", + "nativeSrc": "113687:88:23", "nodeType": "YulExpressionStatement", - "src": "113687:88:10" + "src": "113687:88:23" }, { "expression": { @@ -136063,51 +155038,51 @@ "arguments": [ { "name": "m", - "nativeSrc": "113799:1:10", + "nativeSrc": "113799:1:23", "nodeType": "YulIdentifier", - "src": "113799:1:10" + "src": "113799:1:23" }, { "kind": "number", - "nativeSrc": "113802:4:10", + "nativeSrc": "113802:4:23", "nodeType": "YulLiteral", - "src": "113802:4:10", + "src": "113802:4:23", "type": "", "value": "0x4b" } ], "functionName": { "name": "add", - "nativeSrc": "113795:3:10", + "nativeSrc": "113795:3:23", "nodeType": "YulIdentifier", - "src": "113795:3:10" + "src": "113795:3:23" }, - "nativeSrc": "113795:12:10", + "nativeSrc": "113795:12:23", "nodeType": "YulFunctionCall", - "src": "113795:12:10" + "src": "113795:12:23" }, { "kind": "number", - "nativeSrc": "113809:66:10", + "nativeSrc": "113809:66:23", "nodeType": "YulLiteral", - "src": "113809:66:10", + "src": "113809:66:23", "type": "", "value": "0x1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6c" } ], "functionName": { "name": "mstore", - "nativeSrc": "113788:6:10", + "nativeSrc": "113788:6:23", "nodeType": "YulIdentifier", - "src": "113788:6:10" + "src": "113788:6:23" }, - "nativeSrc": "113788:88:10", + "nativeSrc": "113788:88:23", "nodeType": "YulFunctionCall", - "src": "113788:88:10" + "src": "113788:88:23" }, - "nativeSrc": "113788:88:10", + "nativeSrc": "113788:88:23", "nodeType": "YulExpressionStatement", - "src": "113788:88:10" + "src": "113788:88:23" }, { "expression": { @@ -136116,51 +155091,51 @@ "arguments": [ { "name": "m", - "nativeSrc": "113900:1:10", + "nativeSrc": "113900:1:23", "nodeType": "YulIdentifier", - "src": "113900:1:10" + "src": "113900:1:23" }, { "kind": "number", - "nativeSrc": "113903:4:10", + "nativeSrc": "113903:4:23", "nodeType": "YulLiteral", - "src": "113903:4:10", + "src": "113903:4:23", "type": "", "value": "0x2b" } ], "functionName": { "name": "add", - "nativeSrc": "113896:3:10", + "nativeSrc": "113896:3:23", "nodeType": "YulIdentifier", - "src": "113896:3:10" + "src": "113896:3:23" }, - "nativeSrc": "113896:12:10", + "nativeSrc": "113896:12:23", "nodeType": "YulFunctionCall", - "src": "113896:12:10" + "src": "113896:12:23" }, { "kind": "number", - "nativeSrc": "113910:48:10", + "nativeSrc": "113910:48:23", "nodeType": "YulLiteral", - "src": "113910:48:10", + "src": "113910:48:23", "type": "", "value": "0x60195155f3363d3d373d3d363d602036600436635c60da" } ], "functionName": { "name": "mstore", - "nativeSrc": "113889:6:10", + "nativeSrc": "113889:6:23", "nodeType": "YulIdentifier", - "src": "113889:6:10" + "src": "113889:6:23" }, - "nativeSrc": "113889:70:10", + "nativeSrc": "113889:70:23", "nodeType": "YulFunctionCall", - "src": "113889:70:10" + "src": "113889:70:23" }, - "nativeSrc": "113889:70:10", + "nativeSrc": "113889:70:23", "nodeType": "YulExpressionStatement", - "src": "113889:70:10" + "src": "113889:70:23" }, { "expression": { @@ -136169,49 +155144,49 @@ "arguments": [ { "name": "m", - "nativeSrc": "113983:1:10", + "nativeSrc": "113983:1:23", "nodeType": "YulIdentifier", - "src": "113983:1:10" + "src": "113983:1:23" }, { "kind": "number", - "nativeSrc": "113986:4:10", + "nativeSrc": "113986:4:23", "nodeType": "YulLiteral", - "src": "113986:4:10", + "src": "113986:4:23", "type": "", "value": "0x14" } ], "functionName": { "name": "add", - "nativeSrc": "113979:3:10", + "nativeSrc": "113979:3:23", "nodeType": "YulIdentifier", - "src": "113979:3:10" + "src": "113979:3:23" }, - "nativeSrc": "113979:12:10", + "nativeSrc": "113979:12:23", "nodeType": "YulFunctionCall", - "src": "113979:12:10" + "src": "113979:12:23" }, { "name": "beacon", - "nativeSrc": "113993:6:10", + "nativeSrc": "113993:6:23", "nodeType": "YulIdentifier", - "src": "113993:6:10" + "src": "113993:6:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "113972:6:10", + "nativeSrc": "113972:6:23", "nodeType": "YulIdentifier", - "src": "113972:6:10" + "src": "113972:6:23" }, - "nativeSrc": "113972:28:10", + "nativeSrc": "113972:28:23", "nodeType": "YulFunctionCall", - "src": "113972:28:10" + "src": "113972:28:23" }, - "nativeSrc": "113972:28:10", + "nativeSrc": "113972:28:23", "nodeType": "YulExpressionStatement", - "src": "113972:28:10" + "src": "113972:28:23" }, { "expression": { @@ -136220,55 +155195,55 @@ "arguments": [ { "name": "m", - "nativeSrc": "114111:1:10", + "nativeSrc": "114111:1:23", "nodeType": "YulIdentifier", - "src": "114111:1:10" + "src": "114111:1:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "114117:1:10", + "nativeSrc": "114117:1:23", "nodeType": "YulIdentifier", - "src": "114117:1:10" + "src": "114117:1:23" }, { "kind": "number", - "nativeSrc": "114120:6:10", + "nativeSrc": "114120:6:23", "nodeType": "YulLiteral", - "src": "114120:6:10", + "src": "114120:6:23", "type": "", "value": "0xffad" } ], "functionName": { "name": "gt", - "nativeSrc": "114114:2:10", + "nativeSrc": "114114:2:23", "nodeType": "YulIdentifier", - "src": "114114:2:10" + "src": "114114:2:23" }, - "nativeSrc": "114114:13:10", + "nativeSrc": "114114:13:23", "nodeType": "YulFunctionCall", - "src": "114114:13:10" + "src": "114114:13:23" } ], "functionName": { "name": "add", - "nativeSrc": "114107:3:10", + "nativeSrc": "114107:3:23", "nodeType": "YulIdentifier", - "src": "114107:3:10" + "src": "114107:3:23" }, - "nativeSrc": "114107:21:10", + "nativeSrc": "114107:21:23", "nodeType": "YulFunctionCall", - "src": "114107:21:10" + "src": "114107:21:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "114134:24:10", + "nativeSrc": "114134:24:23", "nodeType": "YulLiteral", - "src": "114134:24:10", + "src": "114134:24:23", "type": "", "value": "0xfe6100523d8160233d3973" }, @@ -136276,214 +155251,214 @@ "arguments": [ { "kind": "number", - "nativeSrc": "114164:2:10", + "nativeSrc": "114164:2:23", "nodeType": "YulLiteral", - "src": "114164:2:10", + "src": "114164:2:23", "type": "", "value": "56" }, { "name": "n", - "nativeSrc": "114168:1:10", + "nativeSrc": "114168:1:23", "nodeType": "YulIdentifier", - "src": "114168:1:10" + "src": "114168:1:23" } ], "functionName": { "name": "shl", - "nativeSrc": "114160:3:10", + "nativeSrc": "114160:3:23", "nodeType": "YulIdentifier", - "src": "114160:3:10" + "src": "114160:3:23" }, - "nativeSrc": "114160:10:10", + "nativeSrc": "114160:10:23", "nodeType": "YulFunctionCall", - "src": "114160:10:10" + "src": "114160:10:23" } ], "functionName": { "name": "add", - "nativeSrc": "114130:3:10", + "nativeSrc": "114130:3:23", "nodeType": "YulIdentifier", - "src": "114130:3:10" + "src": "114130:3:23" }, - "nativeSrc": "114130:41:10", + "nativeSrc": "114130:41:23", "nodeType": "YulFunctionCall", - "src": "114130:41:10" + "src": "114130:41:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "114100:6:10", + "nativeSrc": "114100:6:23", "nodeType": "YulIdentifier", - "src": "114100:6:10" + "src": "114100:6:23" }, - "nativeSrc": "114100:72:10", + "nativeSrc": "114100:72:23", "nodeType": "YulFunctionCall", - "src": "114100:72:10" + "src": "114100:72:23" }, - "nativeSrc": "114100:72:10", + "nativeSrc": "114100:72:23", "nodeType": "YulExpressionStatement", - "src": "114100:72:10" + "src": "114100:72:23" }, { - "nativeSrc": "114185:53:10", + "nativeSrc": "114185:53:23", "nodeType": "YulAssignment", - "src": "114185:53:10", + "src": "114185:53:23", "value": { "arguments": [ { "name": "value", - "nativeSrc": "114204:5:10", + "nativeSrc": "114204:5:23", "nodeType": "YulIdentifier", - "src": "114204:5:10" + "src": "114204:5:23" }, { "arguments": [ { "name": "m", - "nativeSrc": "114215:1:10", + "nativeSrc": "114215:1:23", "nodeType": "YulIdentifier", - "src": "114215:1:10" + "src": "114215:1:23" }, { "kind": "number", - "nativeSrc": "114218:4:10", + "nativeSrc": "114218:4:23", "nodeType": "YulLiteral", - "src": "114218:4:10", + "src": "114218:4:23", "type": "", "value": "0x16" } ], "functionName": { "name": "add", - "nativeSrc": "114211:3:10", + "nativeSrc": "114211:3:23", "nodeType": "YulIdentifier", - "src": "114211:3:10" + "src": "114211:3:23" }, - "nativeSrc": "114211:12:10", + "nativeSrc": "114211:12:23", "nodeType": "YulFunctionCall", - "src": "114211:12:10" + "src": "114211:12:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "114229:1:10", + "nativeSrc": "114229:1:23", "nodeType": "YulIdentifier", - "src": "114229:1:10" + "src": "114229:1:23" }, { "kind": "number", - "nativeSrc": "114232:4:10", + "nativeSrc": "114232:4:23", "nodeType": "YulLiteral", - "src": "114232:4:10", + "src": "114232:4:23", "type": "", "value": "0x75" } ], "functionName": { "name": "add", - "nativeSrc": "114225:3:10", + "nativeSrc": "114225:3:23", "nodeType": "YulIdentifier", - "src": "114225:3:10" + "src": "114225:3:23" }, - "nativeSrc": "114225:12:10", + "nativeSrc": "114225:12:23", "nodeType": "YulFunctionCall", - "src": "114225:12:10" + "src": "114225:12:23" } ], "functionName": { "name": "create", - "nativeSrc": "114197:6:10", + "nativeSrc": "114197:6:23", "nodeType": "YulIdentifier", - "src": "114197:6:10" + "src": "114197:6:23" }, - "nativeSrc": "114197:41:10", + "nativeSrc": "114197:41:23", "nodeType": "YulFunctionCall", - "src": "114197:41:10" + "src": "114197:41:23" }, "variableNames": [ { "name": "instance", - "nativeSrc": "114185:8:10", + "nativeSrc": "114185:8:23", "nodeType": "YulIdentifier", - "src": "114185:8:10" + "src": "114185:8:23" } ] }, { "body": { - "nativeSrc": "114271:116:10", + "nativeSrc": "114271:116:23", "nodeType": "YulBlock", - "src": "114271:116:10", + "src": "114271:116:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "114296:4:10", + "nativeSrc": "114296:4:23", "nodeType": "YulLiteral", - "src": "114296:4:10", + "src": "114296:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "114302:10:10", + "nativeSrc": "114302:10:23", "nodeType": "YulLiteral", - "src": "114302:10:10", + "src": "114302:10:23", "type": "", "value": "0x30116425" } ], "functionName": { "name": "mstore", - "nativeSrc": "114289:6:10", + "nativeSrc": "114289:6:23", "nodeType": "YulIdentifier", - "src": "114289:6:10" + "src": "114289:6:23" }, - "nativeSrc": "114289:24:10", + "nativeSrc": "114289:24:23", "nodeType": "YulFunctionCall", - "src": "114289:24:10" + "src": "114289:24:23" }, - "nativeSrc": "114289:24:10", + "nativeSrc": "114289:24:23", "nodeType": "YulExpressionStatement", - "src": "114289:24:10" + "src": "114289:24:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "114362:4:10", + "nativeSrc": "114362:4:23", "nodeType": "YulLiteral", - "src": "114362:4:10", + "src": "114362:4:23", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "114368:4:10", + "nativeSrc": "114368:4:23", "nodeType": "YulLiteral", - "src": "114368:4:10", + "src": "114368:4:23", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "114355:6:10", + "nativeSrc": "114355:6:23", "nodeType": "YulIdentifier", - "src": "114355:6:10" + "src": "114355:6:23" }, - "nativeSrc": "114355:18:10", + "nativeSrc": "114355:18:23", "nodeType": "YulFunctionCall", - "src": "114355:18:10" + "src": "114355:18:23" }, - "nativeSrc": "114355:18:10", + "nativeSrc": "114355:18:23", "nodeType": "YulExpressionStatement", - "src": "114355:18:10" + "src": "114355:18:23" } ] }, @@ -136491,24 +155466,24 @@ "arguments": [ { "name": "instance", - "nativeSrc": "114261:8:10", + "nativeSrc": "114261:8:23", "nodeType": "YulIdentifier", - "src": "114261:8:10" + "src": "114261:8:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "114254:6:10", + "nativeSrc": "114254:6:23", "nodeType": "YulIdentifier", - "src": "114254:6:10" + "src": "114254:6:23" }, - "nativeSrc": "114254:16:10", + "nativeSrc": "114254:16:23", "nodeType": "YulFunctionCall", - "src": "114254:16:10" + "src": "114254:16:23" }, - "nativeSrc": "114251:136:10", + "nativeSrc": "114251:136:23", "nodeType": "YulIf", - "src": "114251:136:10" + "src": "114251:136:23" } ] }, @@ -136516,80 +155491,80 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4527, + "declaration": 6133, "isOffset": false, "isSlot": false, - "src": "113594:4:10", + "src": "113594:4:23", "valueSize": 1 }, { - "declaration": 4527, + "declaration": 6133, "isOffset": false, "isSlot": false, - "src": "113641:4:10", + "src": "113641:4:23", "valueSize": 1 }, { - "declaration": 4525, + "declaration": 6131, "isOffset": false, "isSlot": false, - "src": "113993:6:10", + "src": "113993:6:23", "valueSize": 1 }, { - "declaration": 4530, + "declaration": 6136, "isOffset": false, "isSlot": false, - "src": "114185:8:10", + "src": "114185:8:23", "valueSize": 1 }, { - "declaration": 4530, + "declaration": 6136, "isOffset": false, "isSlot": false, - "src": "114261:8:10", + "src": "114261:8:23", "valueSize": 1 }, { - "declaration": 4523, + "declaration": 6129, "isOffset": false, "isSlot": false, - "src": "114204:5:10", + "src": "114204:5:23", "valueSize": 1 } ], - "id": 4532, + "id": 6138, "nodeType": "InlineAssembly", - "src": "113523:874:10" + "src": "113523:874:23" } ] }, "documentation": { - "id": 4521, + "id": 6127, "nodeType": "StructuredDocumentation", - "src": "113217:108:10", + "src": "113217:108:23", "text": "@dev Deploys a minimal ERC1967 beacon proxy with `args`.\n Deposits `value` ETH during deployment." }, - "id": 4534, + "id": 6140, "implemented": true, "kind": "function", "modifiers": [], "name": "deployERC1967BeaconProxy", - "nameLocation": "113339:24:10", + "nameLocation": "113339:24:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4528, + "id": 6134, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4523, + "id": 6129, "mutability": "mutable", "name": "value", - "nameLocation": "113372:5:10", + "nameLocation": "113372:5:23", "nodeType": "VariableDeclaration", - "scope": 4534, - "src": "113364:13:10", + "scope": 6140, + "src": "113364:13:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -136597,10 +155572,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4522, + "id": 6128, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "113364:7:10", + "src": "113364:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -136610,13 +155585,13 @@ }, { "constant": false, - "id": 4525, + "id": 6131, "mutability": "mutable", "name": "beacon", - "nameLocation": "113387:6:10", + "nameLocation": "113387:6:23", "nodeType": "VariableDeclaration", - "scope": 4534, - "src": "113379:14:10", + "scope": 6140, + "src": "113379:14:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -136624,10 +155599,10 @@ "typeString": "address" }, "typeName": { - "id": 4524, + "id": 6130, "name": "address", "nodeType": "ElementaryTypeName", - "src": "113379:7:10", + "src": "113379:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -136638,13 +155613,13 @@ }, { "constant": false, - "id": 4527, + "id": 6133, "mutability": "mutable", "name": "args", - "nameLocation": "113408:4:10", + "nameLocation": "113408:4:23", "nodeType": "VariableDeclaration", - "scope": 4534, - "src": "113395:17:10", + "scope": 6140, + "src": "113395:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -136652,10 +155627,10 @@ "typeString": "bytes" }, "typeName": { - "id": 4526, + "id": 6132, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "113395:5:10", + "src": "113395:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -136664,21 +155639,21 @@ "visibility": "internal" } ], - "src": "113363:50:10" + "src": "113363:50:23" }, "returnParameters": { - "id": 4531, + "id": 6137, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4530, + "id": 6136, "mutability": "mutable", "name": "instance", - "nameLocation": "113456:8:10", + "nameLocation": "113456:8:23", "nodeType": "VariableDeclaration", - "scope": 4534, - "src": "113448:16:10", + "scope": 6140, + "src": "113448:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -136686,10 +155661,10 @@ "typeString": "address" }, "typeName": { - "id": 4529, + "id": 6135, "name": "address", "nodeType": "ElementaryTypeName", - "src": "113448:7:10", + "src": "113448:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -136699,34 +155674,34 @@ "visibility": "internal" } ], - "src": "113447:18:10" + "src": "113447:18:23" }, - "scope": 5093, - "src": "113330:1073:10", + "scope": 6699, + "src": "113330:1073:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4555, + "id": 6161, "nodeType": "Block", - "src": "114651:88:10", + "src": "114651:88:23", "statements": [ { "expression": { - "id": 4553, + "id": 6159, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 4546, + "id": 6152, "name": "instance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4544, - "src": "114661:8:10", + "referencedDeclaration": 6150, + "src": "114661:8:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -136738,14 +155713,14 @@ "arguments": [ { "hexValue": "30", - "id": 4548, + "id": 6154, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "114710:1:10", + "src": "114710:1:23", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -136753,36 +155728,36 @@ "value": "0" }, { - "id": 4549, + "id": 6155, "name": "beacon", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4537, - "src": "114713:6:10", + "referencedDeclaration": 6143, + "src": "114713:6:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 4550, + "id": 6156, "name": "args", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4539, - "src": "114721:4:10", + "referencedDeclaration": 6145, + "src": "114721:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { - "id": 4551, + "id": 6157, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "114727:4:10", + "referencedDeclaration": 6147, + "src": "114727:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -136808,23 +155783,23 @@ "typeString": "bytes32" } ], - "id": 4547, + "id": 6153, "name": "deployDeterministicERC1967BeaconProxy", "nodeType": "Identifier", "overloadedDeclarations": [ - 4405, - 4419, - 4556, - 4572 + 6011, + 6025, + 6162, + 6178 ], - "referencedDeclaration": 4572, - "src": "114672:37:10", + "referencedDeclaration": 6178, + "src": "114672:37:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$_t_bytes32_$returns$_t_address_$", "typeString": "function (uint256,address,bytes memory,bytes32) returns (address)" } }, - "id": 4552, + "id": 6158, "isConstant": false, "isLValue": false, "isPure": false, @@ -136833,51 +155808,51 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "114672:60:10", + "src": "114672:60:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "114661:71:10", + "src": "114661:71:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 4554, + "id": 6160, "nodeType": "ExpressionStatement", - "src": "114661:71:10" + "src": "114661:71:23" } ] }, "documentation": { - "id": 4535, + "id": 6141, "nodeType": "StructuredDocumentation", - "src": "114409:85:10", + "src": "114409:85:23", "text": "@dev Deploys a deterministic minimal ERC1967 beacon proxy with `args` and `salt`." }, - "id": 4556, + "id": 6162, "implemented": true, "kind": "function", "modifiers": [], "name": "deployDeterministicERC1967BeaconProxy", - "nameLocation": "114508:37:10", + "nameLocation": "114508:37:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4542, + "id": 6148, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4537, + "id": 6143, "mutability": "mutable", "name": "beacon", - "nameLocation": "114554:6:10", + "nameLocation": "114554:6:23", "nodeType": "VariableDeclaration", - "scope": 4556, - "src": "114546:14:10", + "scope": 6162, + "src": "114546:14:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -136885,10 +155860,10 @@ "typeString": "address" }, "typeName": { - "id": 4536, + "id": 6142, "name": "address", "nodeType": "ElementaryTypeName", - "src": "114546:7:10", + "src": "114546:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -136899,13 +155874,13 @@ }, { "constant": false, - "id": 4539, + "id": 6145, "mutability": "mutable", "name": "args", - "nameLocation": "114575:4:10", + "nameLocation": "114575:4:23", "nodeType": "VariableDeclaration", - "scope": 4556, - "src": "114562:17:10", + "scope": 6162, + "src": "114562:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -136913,10 +155888,10 @@ "typeString": "bytes" }, "typeName": { - "id": 4538, + "id": 6144, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "114562:5:10", + "src": "114562:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -136926,13 +155901,13 @@ }, { "constant": false, - "id": 4541, + "id": 6147, "mutability": "mutable", "name": "salt", - "nameLocation": "114589:4:10", + "nameLocation": "114589:4:23", "nodeType": "VariableDeclaration", - "scope": 4556, - "src": "114581:12:10", + "scope": 6162, + "src": "114581:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -136940,10 +155915,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4540, + "id": 6146, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "114581:7:10", + "src": "114581:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -136952,21 +155927,21 @@ "visibility": "internal" } ], - "src": "114545:49:10" + "src": "114545:49:23" }, "returnParameters": { - "id": 4545, + "id": 6151, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4544, + "id": 6150, "mutability": "mutable", "name": "instance", - "nameLocation": "114637:8:10", + "nameLocation": "114637:8:23", "nodeType": "VariableDeclaration", - "scope": 4556, - "src": "114629:16:10", + "scope": 6162, + "src": "114629:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -136974,10 +155949,10 @@ "typeString": "address" }, "typeName": { - "id": 4543, + "id": 6149, "name": "address", "nodeType": "ElementaryTypeName", - "src": "114629:7:10", + "src": "114629:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -136987,90 +155962,90 @@ "visibility": "internal" } ], - "src": "114628:18:10" + "src": "114628:18:23" }, - "scope": 5093, - "src": "114499:240:10", + "scope": 6699, + "src": "114499:240:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4571, + "id": 6177, "nodeType": "Block", - "src": "115068:940:10", + "src": "115068:940:23", "statements": [ { "AST": { - "nativeSrc": "115130:872:10", + "nativeSrc": "115130:872:23", "nodeType": "YulBlock", - "src": "115130:872:10", + "src": "115130:872:23", "statements": [ { - "nativeSrc": "115144:20:10", + "nativeSrc": "115144:20:23", "nodeType": "YulVariableDeclaration", - "src": "115144:20:10", + "src": "115144:20:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "115159:4:10", + "nativeSrc": "115159:4:23", "nodeType": "YulLiteral", - "src": "115159:4:10", + "src": "115159:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "115153:5:10", + "nativeSrc": "115153:5:23", "nodeType": "YulIdentifier", - "src": "115153:5:10" + "src": "115153:5:23" }, - "nativeSrc": "115153:11:10", + "nativeSrc": "115153:11:23", "nodeType": "YulFunctionCall", - "src": "115153:11:10" + "src": "115153:11:23" }, "variables": [ { "name": "m", - "nativeSrc": "115148:1:10", + "nativeSrc": "115148:1:23", "nodeType": "YulTypedName", - "src": "115148:1:10", + "src": "115148:1:23", "type": "" } ] }, { - "nativeSrc": "115177:20:10", + "nativeSrc": "115177:20:23", "nodeType": "YulVariableDeclaration", - "src": "115177:20:10", + "src": "115177:20:23", "value": { "arguments": [ { "name": "args", - "nativeSrc": "115192:4:10", + "nativeSrc": "115192:4:23", "nodeType": "YulIdentifier", - "src": "115192:4:10" + "src": "115192:4:23" } ], "functionName": { "name": "mload", - "nativeSrc": "115186:5:10", + "nativeSrc": "115186:5:23", "nodeType": "YulIdentifier", - "src": "115186:5:10" + "src": "115186:5:23" }, - "nativeSrc": "115186:11:10", + "nativeSrc": "115186:11:23", "nodeType": "YulFunctionCall", - "src": "115186:11:10" + "src": "115186:11:23" }, "variables": [ { "name": "n", - "nativeSrc": "115181:1:10", + "nativeSrc": "115181:1:23", "nodeType": "YulTypedName", - "src": "115181:1:10", + "src": "115181:1:23", "type": "" } ] @@ -137084,19 +156059,19 @@ "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "115225:3:10", + "nativeSrc": "115225:3:23", "nodeType": "YulIdentifier", - "src": "115225:3:10" + "src": "115225:3:23" }, - "nativeSrc": "115225:5:10", + "nativeSrc": "115225:5:23", "nodeType": "YulFunctionCall", - "src": "115225:5:10" + "src": "115225:5:23" }, { "kind": "number", - "nativeSrc": "115232:1:10", + "nativeSrc": "115232:1:23", "nodeType": "YulLiteral", - "src": "115232:1:10", + "src": "115232:1:23", "type": "", "value": "4" }, @@ -137104,93 +156079,93 @@ "arguments": [ { "name": "args", - "nativeSrc": "115239:4:10", + "nativeSrc": "115239:4:23", "nodeType": "YulIdentifier", - "src": "115239:4:10" + "src": "115239:4:23" }, { "kind": "number", - "nativeSrc": "115245:4:10", + "nativeSrc": "115245:4:23", "nodeType": "YulLiteral", - "src": "115245:4:10", + "src": "115245:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "115235:3:10", + "nativeSrc": "115235:3:23", "nodeType": "YulIdentifier", - "src": "115235:3:10" + "src": "115235:3:23" }, - "nativeSrc": "115235:15:10", + "nativeSrc": "115235:15:23", "nodeType": "YulFunctionCall", - "src": "115235:15:10" + "src": "115235:15:23" }, { "name": "n", - "nativeSrc": "115252:1:10", + "nativeSrc": "115252:1:23", "nodeType": "YulIdentifier", - "src": "115252:1:10" + "src": "115252:1:23" }, { "arguments": [ { "name": "m", - "nativeSrc": "115259:1:10", + "nativeSrc": "115259:1:23", "nodeType": "YulIdentifier", - "src": "115259:1:10" + "src": "115259:1:23" }, { "kind": "number", - "nativeSrc": "115262:4:10", + "nativeSrc": "115262:4:23", "nodeType": "YulLiteral", - "src": "115262:4:10", + "src": "115262:4:23", "type": "", "value": "0x8b" } ], "functionName": { "name": "add", - "nativeSrc": "115255:3:10", + "nativeSrc": "115255:3:23", "nodeType": "YulIdentifier", - "src": "115255:3:10" + "src": "115255:3:23" }, - "nativeSrc": "115255:12:10", + "nativeSrc": "115255:12:23", "nodeType": "YulFunctionCall", - "src": "115255:12:10" + "src": "115255:12:23" }, { "name": "n", - "nativeSrc": "115269:1:10", + "nativeSrc": "115269:1:23", "nodeType": "YulIdentifier", - "src": "115269:1:10" + "src": "115269:1:23" } ], "functionName": { "name": "staticcall", - "nativeSrc": "115214:10:10", + "nativeSrc": "115214:10:23", "nodeType": "YulIdentifier", - "src": "115214:10:10" + "src": "115214:10:23" }, - "nativeSrc": "115214:57:10", + "nativeSrc": "115214:57:23", "nodeType": "YulFunctionCall", - "src": "115214:57:10" + "src": "115214:57:23" } ], "functionName": { "name": "pop", - "nativeSrc": "115210:3:10", + "nativeSrc": "115210:3:23", "nodeType": "YulIdentifier", - "src": "115210:3:10" + "src": "115210:3:23" }, - "nativeSrc": "115210:62:10", + "nativeSrc": "115210:62:23", "nodeType": "YulFunctionCall", - "src": "115210:62:10" + "src": "115210:62:23" }, - "nativeSrc": "115210:62:10", + "nativeSrc": "115210:62:23", "nodeType": "YulExpressionStatement", - "src": "115210:62:10" + "src": "115210:62:23" }, { "expression": { @@ -137199,51 +156174,51 @@ "arguments": [ { "name": "m", - "nativeSrc": "115296:1:10", + "nativeSrc": "115296:1:23", "nodeType": "YulIdentifier", - "src": "115296:1:10" + "src": "115296:1:23" }, { "kind": "number", - "nativeSrc": "115299:4:10", + "nativeSrc": "115299:4:23", "nodeType": "YulLiteral", - "src": "115299:4:10", + "src": "115299:4:23", "type": "", "value": "0x6b" } ], "functionName": { "name": "add", - "nativeSrc": "115292:3:10", + "nativeSrc": "115292:3:23", "nodeType": "YulIdentifier", - "src": "115292:3:10" + "src": "115292:3:23" }, - "nativeSrc": "115292:12:10", + "nativeSrc": "115292:12:23", "nodeType": "YulFunctionCall", - "src": "115292:12:10" + "src": "115292:12:23" }, { "kind": "number", - "nativeSrc": "115306:66:10", + "nativeSrc": "115306:66:23", "nodeType": "YulLiteral", - "src": "115306:66:10", + "src": "115306:66:23", "type": "", "value": "0xb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f3" } ], "functionName": { "name": "mstore", - "nativeSrc": "115285:6:10", + "nativeSrc": "115285:6:23", "nodeType": "YulIdentifier", - "src": "115285:6:10" + "src": "115285:6:23" }, - "nativeSrc": "115285:88:10", + "nativeSrc": "115285:88:23", "nodeType": "YulFunctionCall", - "src": "115285:88:10" + "src": "115285:88:23" }, - "nativeSrc": "115285:88:10", + "nativeSrc": "115285:88:23", "nodeType": "YulExpressionStatement", - "src": "115285:88:10" + "src": "115285:88:23" }, { "expression": { @@ -137252,51 +156227,51 @@ "arguments": [ { "name": "m", - "nativeSrc": "115397:1:10", + "nativeSrc": "115397:1:23", "nodeType": "YulIdentifier", - "src": "115397:1:10" + "src": "115397:1:23" }, { "kind": "number", - "nativeSrc": "115400:4:10", + "nativeSrc": "115400:4:23", "nodeType": "YulLiteral", - "src": "115400:4:10", + "src": "115400:4:23", "type": "", "value": "0x4b" } ], "functionName": { "name": "add", - "nativeSrc": "115393:3:10", + "nativeSrc": "115393:3:23", "nodeType": "YulIdentifier", - "src": "115393:3:10" + "src": "115393:3:23" }, - "nativeSrc": "115393:12:10", + "nativeSrc": "115393:12:23", "nodeType": "YulFunctionCall", - "src": "115393:12:10" + "src": "115393:12:23" }, { "kind": "number", - "nativeSrc": "115407:66:10", + "nativeSrc": "115407:66:23", "nodeType": "YulLiteral", - "src": "115407:66:10", + "src": "115407:66:23", "type": "", "value": "0x1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6c" } ], "functionName": { "name": "mstore", - "nativeSrc": "115386:6:10", + "nativeSrc": "115386:6:23", "nodeType": "YulIdentifier", - "src": "115386:6:10" + "src": "115386:6:23" }, - "nativeSrc": "115386:88:10", + "nativeSrc": "115386:88:23", "nodeType": "YulFunctionCall", - "src": "115386:88:10" + "src": "115386:88:23" }, - "nativeSrc": "115386:88:10", + "nativeSrc": "115386:88:23", "nodeType": "YulExpressionStatement", - "src": "115386:88:10" + "src": "115386:88:23" }, { "expression": { @@ -137305,51 +156280,51 @@ "arguments": [ { "name": "m", - "nativeSrc": "115498:1:10", + "nativeSrc": "115498:1:23", "nodeType": "YulIdentifier", - "src": "115498:1:10" + "src": "115498:1:23" }, { "kind": "number", - "nativeSrc": "115501:4:10", + "nativeSrc": "115501:4:23", "nodeType": "YulLiteral", - "src": "115501:4:10", + "src": "115501:4:23", "type": "", "value": "0x2b" } ], "functionName": { "name": "add", - "nativeSrc": "115494:3:10", + "nativeSrc": "115494:3:23", "nodeType": "YulIdentifier", - "src": "115494:3:10" + "src": "115494:3:23" }, - "nativeSrc": "115494:12:10", + "nativeSrc": "115494:12:23", "nodeType": "YulFunctionCall", - "src": "115494:12:10" + "src": "115494:12:23" }, { "kind": "number", - "nativeSrc": "115508:48:10", + "nativeSrc": "115508:48:23", "nodeType": "YulLiteral", - "src": "115508:48:10", + "src": "115508:48:23", "type": "", "value": "0x60195155f3363d3d373d3d363d602036600436635c60da" } ], "functionName": { "name": "mstore", - "nativeSrc": "115487:6:10", + "nativeSrc": "115487:6:23", "nodeType": "YulIdentifier", - "src": "115487:6:10" + "src": "115487:6:23" }, - "nativeSrc": "115487:70:10", + "nativeSrc": "115487:70:23", "nodeType": "YulFunctionCall", - "src": "115487:70:10" + "src": "115487:70:23" }, - "nativeSrc": "115487:70:10", + "nativeSrc": "115487:70:23", "nodeType": "YulExpressionStatement", - "src": "115487:70:10" + "src": "115487:70:23" }, { "expression": { @@ -137358,49 +156333,49 @@ "arguments": [ { "name": "m", - "nativeSrc": "115581:1:10", + "nativeSrc": "115581:1:23", "nodeType": "YulIdentifier", - "src": "115581:1:10" + "src": "115581:1:23" }, { "kind": "number", - "nativeSrc": "115584:4:10", + "nativeSrc": "115584:4:23", "nodeType": "YulLiteral", - "src": "115584:4:10", + "src": "115584:4:23", "type": "", "value": "0x14" } ], "functionName": { "name": "add", - "nativeSrc": "115577:3:10", + "nativeSrc": "115577:3:23", "nodeType": "YulIdentifier", - "src": "115577:3:10" + "src": "115577:3:23" }, - "nativeSrc": "115577:12:10", + "nativeSrc": "115577:12:23", "nodeType": "YulFunctionCall", - "src": "115577:12:10" + "src": "115577:12:23" }, { "name": "beacon", - "nativeSrc": "115591:6:10", + "nativeSrc": "115591:6:23", "nodeType": "YulIdentifier", - "src": "115591:6:10" + "src": "115591:6:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "115570:6:10", + "nativeSrc": "115570:6:23", "nodeType": "YulIdentifier", - "src": "115570:6:10" + "src": "115570:6:23" }, - "nativeSrc": "115570:28:10", + "nativeSrc": "115570:28:23", "nodeType": "YulFunctionCall", - "src": "115570:28:10" + "src": "115570:28:23" }, - "nativeSrc": "115570:28:10", + "nativeSrc": "115570:28:23", "nodeType": "YulExpressionStatement", - "src": "115570:28:10" + "src": "115570:28:23" }, { "expression": { @@ -137409,55 +156384,55 @@ "arguments": [ { "name": "m", - "nativeSrc": "115709:1:10", + "nativeSrc": "115709:1:23", "nodeType": "YulIdentifier", - "src": "115709:1:10" + "src": "115709:1:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "115715:1:10", + "nativeSrc": "115715:1:23", "nodeType": "YulIdentifier", - "src": "115715:1:10" + "src": "115715:1:23" }, { "kind": "number", - "nativeSrc": "115718:6:10", + "nativeSrc": "115718:6:23", "nodeType": "YulLiteral", - "src": "115718:6:10", + "src": "115718:6:23", "type": "", "value": "0xffad" } ], "functionName": { "name": "gt", - "nativeSrc": "115712:2:10", + "nativeSrc": "115712:2:23", "nodeType": "YulIdentifier", - "src": "115712:2:10" + "src": "115712:2:23" }, - "nativeSrc": "115712:13:10", + "nativeSrc": "115712:13:23", "nodeType": "YulFunctionCall", - "src": "115712:13:10" + "src": "115712:13:23" } ], "functionName": { "name": "add", - "nativeSrc": "115705:3:10", + "nativeSrc": "115705:3:23", "nodeType": "YulIdentifier", - "src": "115705:3:10" + "src": "115705:3:23" }, - "nativeSrc": "115705:21:10", + "nativeSrc": "115705:21:23", "nodeType": "YulFunctionCall", - "src": "115705:21:10" + "src": "115705:21:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "115732:24:10", + "nativeSrc": "115732:24:23", "nodeType": "YulLiteral", - "src": "115732:24:10", + "src": "115732:24:23", "type": "", "value": "0xfe6100523d8160233d3973" }, @@ -137465,220 +156440,220 @@ "arguments": [ { "kind": "number", - "nativeSrc": "115762:2:10", + "nativeSrc": "115762:2:23", "nodeType": "YulLiteral", - "src": "115762:2:10", + "src": "115762:2:23", "type": "", "value": "56" }, { "name": "n", - "nativeSrc": "115766:1:10", + "nativeSrc": "115766:1:23", "nodeType": "YulIdentifier", - "src": "115766:1:10" + "src": "115766:1:23" } ], "functionName": { "name": "shl", - "nativeSrc": "115758:3:10", + "nativeSrc": "115758:3:23", "nodeType": "YulIdentifier", - "src": "115758:3:10" + "src": "115758:3:23" }, - "nativeSrc": "115758:10:10", + "nativeSrc": "115758:10:23", "nodeType": "YulFunctionCall", - "src": "115758:10:10" + "src": "115758:10:23" } ], "functionName": { "name": "add", - "nativeSrc": "115728:3:10", + "nativeSrc": "115728:3:23", "nodeType": "YulIdentifier", - "src": "115728:3:10" + "src": "115728:3:23" }, - "nativeSrc": "115728:41:10", + "nativeSrc": "115728:41:23", "nodeType": "YulFunctionCall", - "src": "115728:41:10" + "src": "115728:41:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "115698:6:10", + "nativeSrc": "115698:6:23", "nodeType": "YulIdentifier", - "src": "115698:6:10" + "src": "115698:6:23" }, - "nativeSrc": "115698:72:10", + "nativeSrc": "115698:72:23", "nodeType": "YulFunctionCall", - "src": "115698:72:10" + "src": "115698:72:23" }, - "nativeSrc": "115698:72:10", + "nativeSrc": "115698:72:23", "nodeType": "YulExpressionStatement", - "src": "115698:72:10" + "src": "115698:72:23" }, { - "nativeSrc": "115783:60:10", + "nativeSrc": "115783:60:23", "nodeType": "YulAssignment", - "src": "115783:60:10", + "src": "115783:60:23", "value": { "arguments": [ { "name": "value", - "nativeSrc": "115803:5:10", + "nativeSrc": "115803:5:23", "nodeType": "YulIdentifier", - "src": "115803:5:10" + "src": "115803:5:23" }, { "arguments": [ { "name": "m", - "nativeSrc": "115814:1:10", + "nativeSrc": "115814:1:23", "nodeType": "YulIdentifier", - "src": "115814:1:10" + "src": "115814:1:23" }, { "kind": "number", - "nativeSrc": "115817:4:10", + "nativeSrc": "115817:4:23", "nodeType": "YulLiteral", - "src": "115817:4:10", + "src": "115817:4:23", "type": "", "value": "0x16" } ], "functionName": { "name": "add", - "nativeSrc": "115810:3:10", + "nativeSrc": "115810:3:23", "nodeType": "YulIdentifier", - "src": "115810:3:10" + "src": "115810:3:23" }, - "nativeSrc": "115810:12:10", + "nativeSrc": "115810:12:23", "nodeType": "YulFunctionCall", - "src": "115810:12:10" + "src": "115810:12:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "115828:1:10", + "nativeSrc": "115828:1:23", "nodeType": "YulIdentifier", - "src": "115828:1:10" + "src": "115828:1:23" }, { "kind": "number", - "nativeSrc": "115831:4:10", + "nativeSrc": "115831:4:23", "nodeType": "YulLiteral", - "src": "115831:4:10", + "src": "115831:4:23", "type": "", "value": "0x75" } ], "functionName": { "name": "add", - "nativeSrc": "115824:3:10", + "nativeSrc": "115824:3:23", "nodeType": "YulIdentifier", - "src": "115824:3:10" + "src": "115824:3:23" }, - "nativeSrc": "115824:12:10", + "nativeSrc": "115824:12:23", "nodeType": "YulFunctionCall", - "src": "115824:12:10" + "src": "115824:12:23" }, { "name": "salt", - "nativeSrc": "115838:4:10", + "nativeSrc": "115838:4:23", "nodeType": "YulIdentifier", - "src": "115838:4:10" + "src": "115838:4:23" } ], "functionName": { "name": "create2", - "nativeSrc": "115795:7:10", + "nativeSrc": "115795:7:23", "nodeType": "YulIdentifier", - "src": "115795:7:10" + "src": "115795:7:23" }, - "nativeSrc": "115795:48:10", + "nativeSrc": "115795:48:23", "nodeType": "YulFunctionCall", - "src": "115795:48:10" + "src": "115795:48:23" }, "variableNames": [ { "name": "instance", - "nativeSrc": "115783:8:10", + "nativeSrc": "115783:8:23", "nodeType": "YulIdentifier", - "src": "115783:8:10" + "src": "115783:8:23" } ] }, { "body": { - "nativeSrc": "115876:116:10", + "nativeSrc": "115876:116:23", "nodeType": "YulBlock", - "src": "115876:116:10", + "src": "115876:116:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "115901:4:10", + "nativeSrc": "115901:4:23", "nodeType": "YulLiteral", - "src": "115901:4:10", + "src": "115901:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "115907:10:10", + "nativeSrc": "115907:10:23", "nodeType": "YulLiteral", - "src": "115907:10:10", + "src": "115907:10:23", "type": "", "value": "0x30116425" } ], "functionName": { "name": "mstore", - "nativeSrc": "115894:6:10", + "nativeSrc": "115894:6:23", "nodeType": "YulIdentifier", - "src": "115894:6:10" + "src": "115894:6:23" }, - "nativeSrc": "115894:24:10", + "nativeSrc": "115894:24:23", "nodeType": "YulFunctionCall", - "src": "115894:24:10" + "src": "115894:24:23" }, - "nativeSrc": "115894:24:10", + "nativeSrc": "115894:24:23", "nodeType": "YulExpressionStatement", - "src": "115894:24:10" + "src": "115894:24:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "115967:4:10", + "nativeSrc": "115967:4:23", "nodeType": "YulLiteral", - "src": "115967:4:10", + "src": "115967:4:23", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "115973:4:10", + "nativeSrc": "115973:4:23", "nodeType": "YulLiteral", - "src": "115973:4:10", + "src": "115973:4:23", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "115960:6:10", + "nativeSrc": "115960:6:23", "nodeType": "YulIdentifier", - "src": "115960:6:10" + "src": "115960:6:23" }, - "nativeSrc": "115960:18:10", + "nativeSrc": "115960:18:23", "nodeType": "YulFunctionCall", - "src": "115960:18:10" + "src": "115960:18:23" }, - "nativeSrc": "115960:18:10", + "nativeSrc": "115960:18:23", "nodeType": "YulExpressionStatement", - "src": "115960:18:10" + "src": "115960:18:23" } ] }, @@ -137686,24 +156661,24 @@ "arguments": [ { "name": "instance", - "nativeSrc": "115866:8:10", + "nativeSrc": "115866:8:23", "nodeType": "YulIdentifier", - "src": "115866:8:10" + "src": "115866:8:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "115859:6:10", + "nativeSrc": "115859:6:23", "nodeType": "YulIdentifier", - "src": "115859:6:10" + "src": "115859:6:23" }, - "nativeSrc": "115859:16:10", + "nativeSrc": "115859:16:23", "nodeType": "YulFunctionCall", - "src": "115859:16:10" + "src": "115859:16:23" }, - "nativeSrc": "115856:136:10", + "nativeSrc": "115856:136:23", "nodeType": "YulIf", - "src": "115856:136:10" + "src": "115856:136:23" } ] }, @@ -137711,87 +156686,87 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4563, + "declaration": 6169, "isOffset": false, "isSlot": false, - "src": "115192:4:10", + "src": "115192:4:23", "valueSize": 1 }, { - "declaration": 4563, + "declaration": 6169, "isOffset": false, "isSlot": false, - "src": "115239:4:10", + "src": "115239:4:23", "valueSize": 1 }, { - "declaration": 4561, + "declaration": 6167, "isOffset": false, "isSlot": false, - "src": "115591:6:10", + "src": "115591:6:23", "valueSize": 1 }, { - "declaration": 4568, + "declaration": 6174, "isOffset": false, "isSlot": false, - "src": "115783:8:10", + "src": "115783:8:23", "valueSize": 1 }, { - "declaration": 4568, + "declaration": 6174, "isOffset": false, "isSlot": false, - "src": "115866:8:10", + "src": "115866:8:23", "valueSize": 1 }, { - "declaration": 4565, + "declaration": 6171, "isOffset": false, "isSlot": false, - "src": "115838:4:10", + "src": "115838:4:23", "valueSize": 1 }, { - "declaration": 4559, + "declaration": 6165, "isOffset": false, "isSlot": false, - "src": "115803:5:10", + "src": "115803:5:23", "valueSize": 1 } ], - "id": 4570, + "id": 6176, "nodeType": "InlineAssembly", - "src": "115121:881:10" + "src": "115121:881:23" } ] }, "documentation": { - "id": 4557, + "id": 6163, "nodeType": "StructuredDocumentation", - "src": "114745:133:10", + "src": "114745:133:23", "text": "@dev Deploys a deterministic minimal ERC1967 beacon proxy with `args` and `salt`.\n Deposits `value` ETH during deployment." }, - "id": 4572, + "id": 6178, "implemented": true, "kind": "function", "modifiers": [], "name": "deployDeterministicERC1967BeaconProxy", - "nameLocation": "114892:37:10", + "nameLocation": "114892:37:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4566, + "id": 6172, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4559, + "id": 6165, "mutability": "mutable", "name": "value", - "nameLocation": "114947:5:10", + "nameLocation": "114947:5:23", "nodeType": "VariableDeclaration", - "scope": 4572, - "src": "114939:13:10", + "scope": 6178, + "src": "114939:13:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -137799,10 +156774,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4558, + "id": 6164, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "114939:7:10", + "src": "114939:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -137812,13 +156787,13 @@ }, { "constant": false, - "id": 4561, + "id": 6167, "mutability": "mutable", "name": "beacon", - "nameLocation": "114970:6:10", + "nameLocation": "114970:6:23", "nodeType": "VariableDeclaration", - "scope": 4572, - "src": "114962:14:10", + "scope": 6178, + "src": "114962:14:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -137826,10 +156801,10 @@ "typeString": "address" }, "typeName": { - "id": 4560, + "id": 6166, "name": "address", "nodeType": "ElementaryTypeName", - "src": "114962:7:10", + "src": "114962:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -137840,13 +156815,13 @@ }, { "constant": false, - "id": 4563, + "id": 6169, "mutability": "mutable", "name": "args", - "nameLocation": "114999:4:10", + "nameLocation": "114999:4:23", "nodeType": "VariableDeclaration", - "scope": 4572, - "src": "114986:17:10", + "scope": 6178, + "src": "114986:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -137854,10 +156829,10 @@ "typeString": "bytes" }, "typeName": { - "id": 4562, + "id": 6168, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "114986:5:10", + "src": "114986:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -137867,13 +156842,13 @@ }, { "constant": false, - "id": 4565, + "id": 6171, "mutability": "mutable", "name": "salt", - "nameLocation": "115021:4:10", + "nameLocation": "115021:4:23", "nodeType": "VariableDeclaration", - "scope": 4572, - "src": "115013:12:10", + "scope": 6178, + "src": "115013:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -137881,10 +156856,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4564, + "id": 6170, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "115013:7:10", + "src": "115013:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -137893,21 +156868,21 @@ "visibility": "internal" } ], - "src": "114929:102:10" + "src": "114929:102:23" }, "returnParameters": { - "id": 4569, + "id": 6175, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4568, + "id": 6174, "mutability": "mutable", "name": "instance", - "nameLocation": "115058:8:10", + "nameLocation": "115058:8:23", "nodeType": "VariableDeclaration", - "scope": 4572, - "src": "115050:16:10", + "scope": 6178, + "src": "115050:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -137915,10 +156890,10 @@ "typeString": "address" }, "typeName": { - "id": 4567, + "id": 6173, "name": "address", "nodeType": "ElementaryTypeName", - "src": "115050:7:10", + "src": "115050:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -137928,33 +156903,33 @@ "visibility": "internal" } ], - "src": "115049:18:10" + "src": "115049:18:23" }, - "scope": 5093, - "src": "114883:1125:10", + "scope": 6699, + "src": "114883:1125:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4593, + "id": 6199, "nodeType": "Block", - "src": "116421:84:10", + "src": "116421:84:23", "statements": [ { "expression": { "arguments": [ { "hexValue": "30", - "id": 4587, + "id": 6193, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "116476:1:10", + "src": "116476:1:23", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -137962,36 +156937,36 @@ "value": "0" }, { - "id": 4588, + "id": 6194, "name": "beacon", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4575, - "src": "116479:6:10", + "referencedDeclaration": 6181, + "src": "116479:6:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 4589, + "id": 6195, "name": "args", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4577, - "src": "116487:4:10", + "referencedDeclaration": 6183, + "src": "116487:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { - "id": 4590, + "id": 6196, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4579, - "src": "116493:4:10", + "referencedDeclaration": 6185, + "src": "116493:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -138017,23 +156992,23 @@ "typeString": "bytes32" } ], - "id": 4586, + "id": 6192, "name": "createDeterministicERC1967BeaconProxy", "nodeType": "Identifier", "overloadedDeclarations": [ - 4438, - 4454, - 4594, - 4612 + 6044, + 6060, + 6200, + 6218 ], - "referencedDeclaration": 4612, - "src": "116438:37:10", + "referencedDeclaration": 6218, + "src": "116438:37:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$_t_bytes32_$returns$_t_bool_$_t_address_$", "typeString": "function (uint256,address,bytes memory,bytes32) returns (bool,address)" } }, - "id": 4591, + "id": 6197, "isConstant": false, "isLValue": false, "isPure": false, @@ -138042,46 +157017,46 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "116438:60:10", + "src": "116438:60:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_address_$", "typeString": "tuple(bool,address)" } }, - "functionReturnParameters": 4585, - "id": 4592, + "functionReturnParameters": 6191, + "id": 6198, "nodeType": "Return", - "src": "116431:67:10" + "src": "116431:67:23" } ] }, "documentation": { - "id": 4573, + "id": 6179, "nodeType": "StructuredDocumentation", - "src": "116014:228:10", + "src": "116014:228:23", "text": "@dev Creates a deterministic minimal ERC1967 beacon proxy with `args` and `salt`.\n Note: This method is intended for use in ERC4337 factories,\n which are expected to NOT revert if the proxy is already deployed." }, - "id": 4594, + "id": 6200, "implemented": true, "kind": "function", "modifiers": [], "name": "createDeterministicERC1967BeaconProxy", - "nameLocation": "116256:37:10", + "nameLocation": "116256:37:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4580, + "id": 6186, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4575, + "id": 6181, "mutability": "mutable", "name": "beacon", - "nameLocation": "116302:6:10", + "nameLocation": "116302:6:23", "nodeType": "VariableDeclaration", - "scope": 4594, - "src": "116294:14:10", + "scope": 6200, + "src": "116294:14:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -138089,10 +157064,10 @@ "typeString": "address" }, "typeName": { - "id": 4574, + "id": 6180, "name": "address", "nodeType": "ElementaryTypeName", - "src": "116294:7:10", + "src": "116294:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -138103,13 +157078,13 @@ }, { "constant": false, - "id": 4577, + "id": 6183, "mutability": "mutable", "name": "args", - "nameLocation": "116323:4:10", + "nameLocation": "116323:4:23", "nodeType": "VariableDeclaration", - "scope": 4594, - "src": "116310:17:10", + "scope": 6200, + "src": "116310:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -138117,10 +157092,10 @@ "typeString": "bytes" }, "typeName": { - "id": 4576, + "id": 6182, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "116310:5:10", + "src": "116310:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -138130,13 +157105,13 @@ }, { "constant": false, - "id": 4579, + "id": 6185, "mutability": "mutable", "name": "salt", - "nameLocation": "116337:4:10", + "nameLocation": "116337:4:23", "nodeType": "VariableDeclaration", - "scope": 4594, - "src": "116329:12:10", + "scope": 6200, + "src": "116329:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -138144,10 +157119,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4578, + "id": 6184, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "116329:7:10", + "src": "116329:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -138156,21 +157131,21 @@ "visibility": "internal" } ], - "src": "116293:49:10" + "src": "116293:49:23" }, "returnParameters": { - "id": 4585, + "id": 6191, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4582, + "id": 6188, "mutability": "mutable", "name": "alreadyDeployed", - "nameLocation": "116382:15:10", + "nameLocation": "116382:15:23", "nodeType": "VariableDeclaration", - "scope": 4594, - "src": "116377:20:10", + "scope": 6200, + "src": "116377:20:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -138178,10 +157153,10 @@ "typeString": "bool" }, "typeName": { - "id": 4581, + "id": 6187, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "116377:4:10", + "src": "116377:4:23", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -138191,13 +157166,13 @@ }, { "constant": false, - "id": 4584, + "id": 6190, "mutability": "mutable", "name": "instance", - "nameLocation": "116407:8:10", + "nameLocation": "116407:8:23", "nodeType": "VariableDeclaration", - "scope": 4594, - "src": "116399:16:10", + "scope": 6200, + "src": "116399:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -138205,10 +157180,10 @@ "typeString": "address" }, "typeName": { - "id": 4583, + "id": 6189, "name": "address", "nodeType": "ElementaryTypeName", - "src": "116399:7:10", + "src": "116399:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -138218,90 +157193,90 @@ "visibility": "internal" } ], - "src": "116376:40:10" + "src": "116376:40:23" }, - "scope": 5093, - "src": "116247:258:10", + "scope": 6699, + "src": "116247:258:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4611, + "id": 6217, "nodeType": "Block", - "src": "116999:1818:10", + "src": "116999:1818:23", "statements": [ { "AST": { - "nativeSrc": "117061:1750:10", + "nativeSrc": "117061:1750:23", "nodeType": "YulBlock", - "src": "117061:1750:10", + "src": "117061:1750:23", "statements": [ { - "nativeSrc": "117075:20:10", + "nativeSrc": "117075:20:23", "nodeType": "YulVariableDeclaration", - "src": "117075:20:10", + "src": "117075:20:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "117090:4:10", + "nativeSrc": "117090:4:23", "nodeType": "YulLiteral", - "src": "117090:4:10", + "src": "117090:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "117084:5:10", + "nativeSrc": "117084:5:23", "nodeType": "YulIdentifier", - "src": "117084:5:10" + "src": "117084:5:23" }, - "nativeSrc": "117084:11:10", + "nativeSrc": "117084:11:23", "nodeType": "YulFunctionCall", - "src": "117084:11:10" + "src": "117084:11:23" }, "variables": [ { "name": "m", - "nativeSrc": "117079:1:10", + "nativeSrc": "117079:1:23", "nodeType": "YulTypedName", - "src": "117079:1:10", + "src": "117079:1:23", "type": "" } ] }, { - "nativeSrc": "117108:20:10", + "nativeSrc": "117108:20:23", "nodeType": "YulVariableDeclaration", - "src": "117108:20:10", + "src": "117108:20:23", "value": { "arguments": [ { "name": "args", - "nativeSrc": "117123:4:10", + "nativeSrc": "117123:4:23", "nodeType": "YulIdentifier", - "src": "117123:4:10" + "src": "117123:4:23" } ], "functionName": { "name": "mload", - "nativeSrc": "117117:5:10", + "nativeSrc": "117117:5:23", "nodeType": "YulIdentifier", - "src": "117117:5:10" + "src": "117117:5:23" }, - "nativeSrc": "117117:11:10", + "nativeSrc": "117117:11:23", "nodeType": "YulFunctionCall", - "src": "117117:11:10" + "src": "117117:11:23" }, "variables": [ { "name": "n", - "nativeSrc": "117112:1:10", + "nativeSrc": "117112:1:23", "nodeType": "YulTypedName", - "src": "117112:1:10", + "src": "117112:1:23", "type": "" } ] @@ -138315,19 +157290,19 @@ "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "117156:3:10", + "nativeSrc": "117156:3:23", "nodeType": "YulIdentifier", - "src": "117156:3:10" + "src": "117156:3:23" }, - "nativeSrc": "117156:5:10", + "nativeSrc": "117156:5:23", "nodeType": "YulFunctionCall", - "src": "117156:5:10" + "src": "117156:5:23" }, { "kind": "number", - "nativeSrc": "117163:1:10", + "nativeSrc": "117163:1:23", "nodeType": "YulLiteral", - "src": "117163:1:10", + "src": "117163:1:23", "type": "", "value": "4" }, @@ -138335,93 +157310,93 @@ "arguments": [ { "name": "args", - "nativeSrc": "117170:4:10", + "nativeSrc": "117170:4:23", "nodeType": "YulIdentifier", - "src": "117170:4:10" + "src": "117170:4:23" }, { "kind": "number", - "nativeSrc": "117176:4:10", + "nativeSrc": "117176:4:23", "nodeType": "YulLiteral", - "src": "117176:4:10", + "src": "117176:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "117166:3:10", + "nativeSrc": "117166:3:23", "nodeType": "YulIdentifier", - "src": "117166:3:10" + "src": "117166:3:23" }, - "nativeSrc": "117166:15:10", + "nativeSrc": "117166:15:23", "nodeType": "YulFunctionCall", - "src": "117166:15:10" + "src": "117166:15:23" }, { "name": "n", - "nativeSrc": "117183:1:10", + "nativeSrc": "117183:1:23", "nodeType": "YulIdentifier", - "src": "117183:1:10" + "src": "117183:1:23" }, { "arguments": [ { "name": "m", - "nativeSrc": "117190:1:10", + "nativeSrc": "117190:1:23", "nodeType": "YulIdentifier", - "src": "117190:1:10" + "src": "117190:1:23" }, { "kind": "number", - "nativeSrc": "117193:4:10", + "nativeSrc": "117193:4:23", "nodeType": "YulLiteral", - "src": "117193:4:10", + "src": "117193:4:23", "type": "", "value": "0x8b" } ], "functionName": { "name": "add", - "nativeSrc": "117186:3:10", + "nativeSrc": "117186:3:23", "nodeType": "YulIdentifier", - "src": "117186:3:10" + "src": "117186:3:23" }, - "nativeSrc": "117186:12:10", + "nativeSrc": "117186:12:23", "nodeType": "YulFunctionCall", - "src": "117186:12:10" + "src": "117186:12:23" }, { "name": "n", - "nativeSrc": "117200:1:10", + "nativeSrc": "117200:1:23", "nodeType": "YulIdentifier", - "src": "117200:1:10" + "src": "117200:1:23" } ], "functionName": { "name": "staticcall", - "nativeSrc": "117145:10:10", + "nativeSrc": "117145:10:23", "nodeType": "YulIdentifier", - "src": "117145:10:10" + "src": "117145:10:23" }, - "nativeSrc": "117145:57:10", + "nativeSrc": "117145:57:23", "nodeType": "YulFunctionCall", - "src": "117145:57:10" + "src": "117145:57:23" } ], "functionName": { "name": "pop", - "nativeSrc": "117141:3:10", + "nativeSrc": "117141:3:23", "nodeType": "YulIdentifier", - "src": "117141:3:10" + "src": "117141:3:23" }, - "nativeSrc": "117141:62:10", + "nativeSrc": "117141:62:23", "nodeType": "YulFunctionCall", - "src": "117141:62:10" + "src": "117141:62:23" }, - "nativeSrc": "117141:62:10", + "nativeSrc": "117141:62:23", "nodeType": "YulExpressionStatement", - "src": "117141:62:10" + "src": "117141:62:23" }, { "expression": { @@ -138430,51 +157405,51 @@ "arguments": [ { "name": "m", - "nativeSrc": "117227:1:10", + "nativeSrc": "117227:1:23", "nodeType": "YulIdentifier", - "src": "117227:1:10" + "src": "117227:1:23" }, { "kind": "number", - "nativeSrc": "117230:4:10", + "nativeSrc": "117230:4:23", "nodeType": "YulLiteral", - "src": "117230:4:10", + "src": "117230:4:23", "type": "", "value": "0x6b" } ], "functionName": { "name": "add", - "nativeSrc": "117223:3:10", + "nativeSrc": "117223:3:23", "nodeType": "YulIdentifier", - "src": "117223:3:10" + "src": "117223:3:23" }, - "nativeSrc": "117223:12:10", + "nativeSrc": "117223:12:23", "nodeType": "YulFunctionCall", - "src": "117223:12:10" + "src": "117223:12:23" }, { "kind": "number", - "nativeSrc": "117237:66:10", + "nativeSrc": "117237:66:23", "nodeType": "YulLiteral", - "src": "117237:66:10", + "src": "117237:66:23", "type": "", "value": "0xb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f3" } ], "functionName": { "name": "mstore", - "nativeSrc": "117216:6:10", + "nativeSrc": "117216:6:23", "nodeType": "YulIdentifier", - "src": "117216:6:10" + "src": "117216:6:23" }, - "nativeSrc": "117216:88:10", + "nativeSrc": "117216:88:23", "nodeType": "YulFunctionCall", - "src": "117216:88:10" + "src": "117216:88:23" }, - "nativeSrc": "117216:88:10", + "nativeSrc": "117216:88:23", "nodeType": "YulExpressionStatement", - "src": "117216:88:10" + "src": "117216:88:23" }, { "expression": { @@ -138483,51 +157458,51 @@ "arguments": [ { "name": "m", - "nativeSrc": "117328:1:10", + "nativeSrc": "117328:1:23", "nodeType": "YulIdentifier", - "src": "117328:1:10" + "src": "117328:1:23" }, { "kind": "number", - "nativeSrc": "117331:4:10", + "nativeSrc": "117331:4:23", "nodeType": "YulLiteral", - "src": "117331:4:10", + "src": "117331:4:23", "type": "", "value": "0x4b" } ], "functionName": { "name": "add", - "nativeSrc": "117324:3:10", + "nativeSrc": "117324:3:23", "nodeType": "YulIdentifier", - "src": "117324:3:10" + "src": "117324:3:23" }, - "nativeSrc": "117324:12:10", + "nativeSrc": "117324:12:23", "nodeType": "YulFunctionCall", - "src": "117324:12:10" + "src": "117324:12:23" }, { "kind": "number", - "nativeSrc": "117338:66:10", + "nativeSrc": "117338:66:23", "nodeType": "YulLiteral", - "src": "117338:66:10", + "src": "117338:66:23", "type": "", "value": "0x1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6c" } ], "functionName": { "name": "mstore", - "nativeSrc": "117317:6:10", + "nativeSrc": "117317:6:23", "nodeType": "YulIdentifier", - "src": "117317:6:10" + "src": "117317:6:23" }, - "nativeSrc": "117317:88:10", + "nativeSrc": "117317:88:23", "nodeType": "YulFunctionCall", - "src": "117317:88:10" + "src": "117317:88:23" }, - "nativeSrc": "117317:88:10", + "nativeSrc": "117317:88:23", "nodeType": "YulExpressionStatement", - "src": "117317:88:10" + "src": "117317:88:23" }, { "expression": { @@ -138536,51 +157511,51 @@ "arguments": [ { "name": "m", - "nativeSrc": "117429:1:10", + "nativeSrc": "117429:1:23", "nodeType": "YulIdentifier", - "src": "117429:1:10" + "src": "117429:1:23" }, { "kind": "number", - "nativeSrc": "117432:4:10", + "nativeSrc": "117432:4:23", "nodeType": "YulLiteral", - "src": "117432:4:10", + "src": "117432:4:23", "type": "", "value": "0x2b" } ], "functionName": { "name": "add", - "nativeSrc": "117425:3:10", + "nativeSrc": "117425:3:23", "nodeType": "YulIdentifier", - "src": "117425:3:10" + "src": "117425:3:23" }, - "nativeSrc": "117425:12:10", + "nativeSrc": "117425:12:23", "nodeType": "YulFunctionCall", - "src": "117425:12:10" + "src": "117425:12:23" }, { "kind": "number", - "nativeSrc": "117439:48:10", + "nativeSrc": "117439:48:23", "nodeType": "YulLiteral", - "src": "117439:48:10", + "src": "117439:48:23", "type": "", "value": "0x60195155f3363d3d373d3d363d602036600436635c60da" } ], "functionName": { "name": "mstore", - "nativeSrc": "117418:6:10", + "nativeSrc": "117418:6:23", "nodeType": "YulIdentifier", - "src": "117418:6:10" + "src": "117418:6:23" }, - "nativeSrc": "117418:70:10", + "nativeSrc": "117418:70:23", "nodeType": "YulFunctionCall", - "src": "117418:70:10" + "src": "117418:70:23" }, - "nativeSrc": "117418:70:10", + "nativeSrc": "117418:70:23", "nodeType": "YulExpressionStatement", - "src": "117418:70:10" + "src": "117418:70:23" }, { "expression": { @@ -138589,49 +157564,49 @@ "arguments": [ { "name": "m", - "nativeSrc": "117512:1:10", + "nativeSrc": "117512:1:23", "nodeType": "YulIdentifier", - "src": "117512:1:10" + "src": "117512:1:23" }, { "kind": "number", - "nativeSrc": "117515:4:10", + "nativeSrc": "117515:4:23", "nodeType": "YulLiteral", - "src": "117515:4:10", + "src": "117515:4:23", "type": "", "value": "0x14" } ], "functionName": { "name": "add", - "nativeSrc": "117508:3:10", + "nativeSrc": "117508:3:23", "nodeType": "YulIdentifier", - "src": "117508:3:10" + "src": "117508:3:23" }, - "nativeSrc": "117508:12:10", + "nativeSrc": "117508:12:23", "nodeType": "YulFunctionCall", - "src": "117508:12:10" + "src": "117508:12:23" }, { "name": "beacon", - "nativeSrc": "117522:6:10", + "nativeSrc": "117522:6:23", "nodeType": "YulIdentifier", - "src": "117522:6:10" + "src": "117522:6:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "117501:6:10", + "nativeSrc": "117501:6:23", "nodeType": "YulIdentifier", - "src": "117501:6:10" + "src": "117501:6:23" }, - "nativeSrc": "117501:28:10", + "nativeSrc": "117501:28:23", "nodeType": "YulFunctionCall", - "src": "117501:28:10" + "src": "117501:28:23" }, - "nativeSrc": "117501:28:10", + "nativeSrc": "117501:28:23", "nodeType": "YulExpressionStatement", - "src": "117501:28:10" + "src": "117501:28:23" }, { "expression": { @@ -138640,55 +157615,55 @@ "arguments": [ { "name": "m", - "nativeSrc": "117640:1:10", + "nativeSrc": "117640:1:23", "nodeType": "YulIdentifier", - "src": "117640:1:10" + "src": "117640:1:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "117646:1:10", + "nativeSrc": "117646:1:23", "nodeType": "YulIdentifier", - "src": "117646:1:10" + "src": "117646:1:23" }, { "kind": "number", - "nativeSrc": "117649:6:10", + "nativeSrc": "117649:6:23", "nodeType": "YulLiteral", - "src": "117649:6:10", + "src": "117649:6:23", "type": "", "value": "0xffad" } ], "functionName": { "name": "gt", - "nativeSrc": "117643:2:10", + "nativeSrc": "117643:2:23", "nodeType": "YulIdentifier", - "src": "117643:2:10" + "src": "117643:2:23" }, - "nativeSrc": "117643:13:10", + "nativeSrc": "117643:13:23", "nodeType": "YulFunctionCall", - "src": "117643:13:10" + "src": "117643:13:23" } ], "functionName": { "name": "add", - "nativeSrc": "117636:3:10", + "nativeSrc": "117636:3:23", "nodeType": "YulIdentifier", - "src": "117636:3:10" + "src": "117636:3:23" }, - "nativeSrc": "117636:21:10", + "nativeSrc": "117636:21:23", "nodeType": "YulFunctionCall", - "src": "117636:21:10" + "src": "117636:21:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "117663:24:10", + "nativeSrc": "117663:24:23", "nodeType": "YulLiteral", - "src": "117663:24:10", + "src": "117663:24:23", "type": "", "value": "0xfe6100523d8160233d3973" }, @@ -138696,97 +157671,97 @@ "arguments": [ { "kind": "number", - "nativeSrc": "117693:2:10", + "nativeSrc": "117693:2:23", "nodeType": "YulLiteral", - "src": "117693:2:10", + "src": "117693:2:23", "type": "", "value": "56" }, { "name": "n", - "nativeSrc": "117697:1:10", + "nativeSrc": "117697:1:23", "nodeType": "YulIdentifier", - "src": "117697:1:10" + "src": "117697:1:23" } ], "functionName": { "name": "shl", - "nativeSrc": "117689:3:10", + "nativeSrc": "117689:3:23", "nodeType": "YulIdentifier", - "src": "117689:3:10" + "src": "117689:3:23" }, - "nativeSrc": "117689:10:10", + "nativeSrc": "117689:10:23", "nodeType": "YulFunctionCall", - "src": "117689:10:10" + "src": "117689:10:23" } ], "functionName": { "name": "add", - "nativeSrc": "117659:3:10", + "nativeSrc": "117659:3:23", "nodeType": "YulIdentifier", - "src": "117659:3:10" + "src": "117659:3:23" }, - "nativeSrc": "117659:41:10", + "nativeSrc": "117659:41:23", "nodeType": "YulFunctionCall", - "src": "117659:41:10" + "src": "117659:41:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "117629:6:10", + "nativeSrc": "117629:6:23", "nodeType": "YulIdentifier", - "src": "117629:6:10" + "src": "117629:6:23" }, - "nativeSrc": "117629:72:10", + "nativeSrc": "117629:72:23", "nodeType": "YulFunctionCall", - "src": "117629:72:10" + "src": "117629:72:23" }, - "nativeSrc": "117629:72:10", + "nativeSrc": "117629:72:23", "nodeType": "YulExpressionStatement", - "src": "117629:72:10" + "src": "117629:72:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "117774:4:10", + "nativeSrc": "117774:4:23", "nodeType": "YulLiteral", - "src": "117774:4:10", + "src": "117774:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "117780:4:10", + "nativeSrc": "117780:4:23", "nodeType": "YulLiteral", - "src": "117780:4:10", + "src": "117780:4:23", "type": "", "value": "0xff" } ], "functionName": { "name": "mstore8", - "nativeSrc": "117766:7:10", + "nativeSrc": "117766:7:23", "nodeType": "YulIdentifier", - "src": "117766:7:10" + "src": "117766:7:23" }, - "nativeSrc": "117766:19:10", + "nativeSrc": "117766:19:23", "nodeType": "YulFunctionCall", - "src": "117766:19:10" + "src": "117766:19:23" }, - "nativeSrc": "117766:19:10", + "nativeSrc": "117766:19:23", "nodeType": "YulExpressionStatement", - "src": "117766:19:10" + "src": "117766:19:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "117826:4:10", + "nativeSrc": "117826:4:23", "nodeType": "YulLiteral", - "src": "117826:4:10", + "src": "117826:4:23", "type": "", "value": "0x35" }, @@ -138796,90 +157771,90 @@ "arguments": [ { "name": "m", - "nativeSrc": "117846:1:10", + "nativeSrc": "117846:1:23", "nodeType": "YulIdentifier", - "src": "117846:1:10" + "src": "117846:1:23" }, { "kind": "number", - "nativeSrc": "117849:4:10", + "nativeSrc": "117849:4:23", "nodeType": "YulLiteral", - "src": "117849:4:10", + "src": "117849:4:23", "type": "", "value": "0x16" } ], "functionName": { "name": "add", - "nativeSrc": "117842:3:10", + "nativeSrc": "117842:3:23", "nodeType": "YulIdentifier", - "src": "117842:3:10" + "src": "117842:3:23" }, - "nativeSrc": "117842:12:10", + "nativeSrc": "117842:12:23", "nodeType": "YulFunctionCall", - "src": "117842:12:10" + "src": "117842:12:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "117860:1:10", + "nativeSrc": "117860:1:23", "nodeType": "YulIdentifier", - "src": "117860:1:10" + "src": "117860:1:23" }, { "kind": "number", - "nativeSrc": "117863:4:10", + "nativeSrc": "117863:4:23", "nodeType": "YulLiteral", - "src": "117863:4:10", + "src": "117863:4:23", "type": "", "value": "0x75" } ], "functionName": { "name": "add", - "nativeSrc": "117856:3:10", + "nativeSrc": "117856:3:23", "nodeType": "YulIdentifier", - "src": "117856:3:10" + "src": "117856:3:23" }, - "nativeSrc": "117856:12:10", + "nativeSrc": "117856:12:23", "nodeType": "YulFunctionCall", - "src": "117856:12:10" + "src": "117856:12:23" } ], "functionName": { "name": "keccak256", - "nativeSrc": "117832:9:10", + "nativeSrc": "117832:9:23", "nodeType": "YulIdentifier", - "src": "117832:9:10" + "src": "117832:9:23" }, - "nativeSrc": "117832:37:10", + "nativeSrc": "117832:37:23", "nodeType": "YulFunctionCall", - "src": "117832:37:10" + "src": "117832:37:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "117819:6:10", + "nativeSrc": "117819:6:23", "nodeType": "YulIdentifier", - "src": "117819:6:10" + "src": "117819:6:23" }, - "nativeSrc": "117819:51:10", + "nativeSrc": "117819:51:23", "nodeType": "YulFunctionCall", - "src": "117819:51:10" + "src": "117819:51:23" }, - "nativeSrc": "117819:51:10", + "nativeSrc": "117819:51:23", "nodeType": "YulExpressionStatement", - "src": "117819:51:10" + "src": "117819:51:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "117890:4:10", + "nativeSrc": "117890:4:23", "nodeType": "YulLiteral", - "src": "117890:4:10", + "src": "117890:4:23", "type": "", "value": "0x01" }, @@ -138887,9 +157862,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "117900:2:10", + "nativeSrc": "117900:2:23", "nodeType": "YulLiteral", - "src": "117900:2:10", + "src": "117900:2:23", "type": "", "value": "96" }, @@ -138897,291 +157872,291 @@ "arguments": [], "functionName": { "name": "address", - "nativeSrc": "117904:7:10", + "nativeSrc": "117904:7:23", "nodeType": "YulIdentifier", - "src": "117904:7:10" + "src": "117904:7:23" }, - "nativeSrc": "117904:9:10", + "nativeSrc": "117904:9:23", "nodeType": "YulFunctionCall", - "src": "117904:9:10" + "src": "117904:9:23" } ], "functionName": { "name": "shl", - "nativeSrc": "117896:3:10", + "nativeSrc": "117896:3:23", "nodeType": "YulIdentifier", - "src": "117896:3:10" + "src": "117896:3:23" }, - "nativeSrc": "117896:18:10", + "nativeSrc": "117896:18:23", "nodeType": "YulFunctionCall", - "src": "117896:18:10" + "src": "117896:18:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "117883:6:10", + "nativeSrc": "117883:6:23", "nodeType": "YulIdentifier", - "src": "117883:6:10" + "src": "117883:6:23" }, - "nativeSrc": "117883:32:10", + "nativeSrc": "117883:32:23", "nodeType": "YulFunctionCall", - "src": "117883:32:10" + "src": "117883:32:23" }, - "nativeSrc": "117883:32:10", + "nativeSrc": "117883:32:23", "nodeType": "YulExpressionStatement", - "src": "117883:32:10" + "src": "117883:32:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "117935:4:10", + "nativeSrc": "117935:4:23", "nodeType": "YulLiteral", - "src": "117935:4:10", + "src": "117935:4:23", "type": "", "value": "0x15" }, { "name": "salt", - "nativeSrc": "117941:4:10", + "nativeSrc": "117941:4:23", "nodeType": "YulIdentifier", - "src": "117941:4:10" + "src": "117941:4:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "117928:6:10", + "nativeSrc": "117928:6:23", "nodeType": "YulIdentifier", - "src": "117928:6:10" + "src": "117928:6:23" }, - "nativeSrc": "117928:18:10", + "nativeSrc": "117928:18:23", "nodeType": "YulFunctionCall", - "src": "117928:18:10" + "src": "117928:18:23" }, - "nativeSrc": "117928:18:10", + "nativeSrc": "117928:18:23", "nodeType": "YulExpressionStatement", - "src": "117928:18:10" + "src": "117928:18:23" }, { - "nativeSrc": "117959:33:10", + "nativeSrc": "117959:33:23", "nodeType": "YulAssignment", - "src": "117959:33:10", + "src": "117959:33:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "117981:4:10", + "nativeSrc": "117981:4:23", "nodeType": "YulLiteral", - "src": "117981:4:10", + "src": "117981:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "117987:4:10", + "nativeSrc": "117987:4:23", "nodeType": "YulLiteral", - "src": "117987:4:10", + "src": "117987:4:23", "type": "", "value": "0x55" } ], "functionName": { "name": "keccak256", - "nativeSrc": "117971:9:10", + "nativeSrc": "117971:9:23", "nodeType": "YulIdentifier", - "src": "117971:9:10" + "src": "117971:9:23" }, - "nativeSrc": "117971:21:10", + "nativeSrc": "117971:21:23", "nodeType": "YulFunctionCall", - "src": "117971:21:10" + "src": "117971:21:23" }, "variableNames": [ { "name": "instance", - "nativeSrc": "117959:8:10", + "nativeSrc": "117959:8:23", "nodeType": "YulIdentifier", - "src": "117959:8:10" + "src": "117959:8:23" } ] }, { "body": { - "nativeSrc": "118017:696:10", + "nativeSrc": "118017:696:23", "nodeType": "YulBlock", - "src": "118017:696:10", + "src": "118017:696:23", "statements": [ { "body": { - "nativeSrc": "118068:307:10", + "nativeSrc": "118068:307:23", "nodeType": "YulBlock", - "src": "118068:307:10", + "src": "118068:307:23", "statements": [ { - "nativeSrc": "118090:60:10", + "nativeSrc": "118090:60:23", "nodeType": "YulAssignment", - "src": "118090:60:10", + "src": "118090:60:23", "value": { "arguments": [ { "name": "value", - "nativeSrc": "118110:5:10", + "nativeSrc": "118110:5:23", "nodeType": "YulIdentifier", - "src": "118110:5:10" + "src": "118110:5:23" }, { "arguments": [ { "name": "m", - "nativeSrc": "118121:1:10", + "nativeSrc": "118121:1:23", "nodeType": "YulIdentifier", - "src": "118121:1:10" + "src": "118121:1:23" }, { "kind": "number", - "nativeSrc": "118124:4:10", + "nativeSrc": "118124:4:23", "nodeType": "YulLiteral", - "src": "118124:4:10", + "src": "118124:4:23", "type": "", "value": "0x16" } ], "functionName": { "name": "add", - "nativeSrc": "118117:3:10", + "nativeSrc": "118117:3:23", "nodeType": "YulIdentifier", - "src": "118117:3:10" + "src": "118117:3:23" }, - "nativeSrc": "118117:12:10", + "nativeSrc": "118117:12:23", "nodeType": "YulFunctionCall", - "src": "118117:12:10" + "src": "118117:12:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "118135:1:10", + "nativeSrc": "118135:1:23", "nodeType": "YulIdentifier", - "src": "118135:1:10" + "src": "118135:1:23" }, { "kind": "number", - "nativeSrc": "118138:4:10", + "nativeSrc": "118138:4:23", "nodeType": "YulLiteral", - "src": "118138:4:10", + "src": "118138:4:23", "type": "", "value": "0x75" } ], "functionName": { "name": "add", - "nativeSrc": "118131:3:10", + "nativeSrc": "118131:3:23", "nodeType": "YulIdentifier", - "src": "118131:3:10" + "src": "118131:3:23" }, - "nativeSrc": "118131:12:10", + "nativeSrc": "118131:12:23", "nodeType": "YulFunctionCall", - "src": "118131:12:10" + "src": "118131:12:23" }, { "name": "salt", - "nativeSrc": "118145:4:10", + "nativeSrc": "118145:4:23", "nodeType": "YulIdentifier", - "src": "118145:4:10" + "src": "118145:4:23" } ], "functionName": { "name": "create2", - "nativeSrc": "118102:7:10", + "nativeSrc": "118102:7:23", "nodeType": "YulIdentifier", - "src": "118102:7:10" + "src": "118102:7:23" }, - "nativeSrc": "118102:48:10", + "nativeSrc": "118102:48:23", "nodeType": "YulFunctionCall", - "src": "118102:48:10" + "src": "118102:48:23" }, "variableNames": [ { "name": "instance", - "nativeSrc": "118090:8:10", + "nativeSrc": "118090:8:23", "nodeType": "YulIdentifier", - "src": "118090:8:10" + "src": "118090:8:23" } ] }, { "body": { - "nativeSrc": "118191:140:10", + "nativeSrc": "118191:140:23", "nodeType": "YulBlock", - "src": "118191:140:10", + "src": "118191:140:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "118224:4:10", + "nativeSrc": "118224:4:23", "nodeType": "YulLiteral", - "src": "118224:4:10", + "src": "118224:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "118230:10:10", + "nativeSrc": "118230:10:23", "nodeType": "YulLiteral", - "src": "118230:10:10", + "src": "118230:10:23", "type": "", "value": "0x30116425" } ], "functionName": { "name": "mstore", - "nativeSrc": "118217:6:10", + "nativeSrc": "118217:6:23", "nodeType": "YulIdentifier", - "src": "118217:6:10" + "src": "118217:6:23" }, - "nativeSrc": "118217:24:10", + "nativeSrc": "118217:24:23", "nodeType": "YulFunctionCall", - "src": "118217:24:10" + "src": "118217:24:23" }, - "nativeSrc": "118217:24:10", + "nativeSrc": "118217:24:23", "nodeType": "YulExpressionStatement", - "src": "118217:24:10" + "src": "118217:24:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "118298:4:10", + "nativeSrc": "118298:4:23", "nodeType": "YulLiteral", - "src": "118298:4:10", + "src": "118298:4:23", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "118304:4:10", + "nativeSrc": "118304:4:23", "nodeType": "YulLiteral", - "src": "118304:4:10", + "src": "118304:4:23", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "118291:6:10", + "nativeSrc": "118291:6:23", "nodeType": "YulIdentifier", - "src": "118291:6:10" + "src": "118291:6:23" }, - "nativeSrc": "118291:18:10", + "nativeSrc": "118291:18:23", "nodeType": "YulFunctionCall", - "src": "118291:18:10" + "src": "118291:18:23" }, - "nativeSrc": "118291:18:10", + "nativeSrc": "118291:18:23", "nodeType": "YulExpressionStatement", - "src": "118291:18:10" + "src": "118291:18:23" } ] }, @@ -139189,29 +158164,29 @@ "arguments": [ { "name": "instance", - "nativeSrc": "118181:8:10", + "nativeSrc": "118181:8:23", "nodeType": "YulIdentifier", - "src": "118181:8:10" + "src": "118181:8:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "118174:6:10", + "nativeSrc": "118174:6:23", "nodeType": "YulIdentifier", - "src": "118174:6:10" + "src": "118174:6:23" }, - "nativeSrc": "118174:16:10", + "nativeSrc": "118174:16:23", "nodeType": "YulFunctionCall", - "src": "118174:16:10" + "src": "118174:16:23" }, - "nativeSrc": "118171:160:10", + "nativeSrc": "118171:160:23", "nodeType": "YulIf", - "src": "118171:160:10" + "src": "118171:160:23" }, { - "nativeSrc": "118352:5:10", + "nativeSrc": "118352:5:23", "nodeType": "YulBreak", - "src": "118352:5:10" + "src": "118352:5:23" } ] }, @@ -139221,67 +158196,67 @@ "arguments": [ { "name": "instance", - "nativeSrc": "118057:8:10", + "nativeSrc": "118057:8:23", "nodeType": "YulIdentifier", - "src": "118057:8:10" + "src": "118057:8:23" } ], "functionName": { "name": "extcodesize", - "nativeSrc": "118045:11:10", + "nativeSrc": "118045:11:23", "nodeType": "YulIdentifier", - "src": "118045:11:10" + "src": "118045:11:23" }, - "nativeSrc": "118045:21:10", + "nativeSrc": "118045:21:23", "nodeType": "YulFunctionCall", - "src": "118045:21:10" + "src": "118045:21:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "118038:6:10", + "nativeSrc": "118038:6:23", "nodeType": "YulIdentifier", - "src": "118038:6:10" + "src": "118038:6:23" }, - "nativeSrc": "118038:29:10", + "nativeSrc": "118038:29:23", "nodeType": "YulFunctionCall", - "src": "118038:29:10" + "src": "118038:29:23" }, - "nativeSrc": "118035:340:10", + "nativeSrc": "118035:340:23", "nodeType": "YulIf", - "src": "118035:340:10" + "src": "118035:340:23" }, { - "nativeSrc": "118392:20:10", + "nativeSrc": "118392:20:23", "nodeType": "YulAssignment", - "src": "118392:20:10", + "src": "118392:20:23", "value": { "kind": "number", - "nativeSrc": "118411:1:10", + "nativeSrc": "118411:1:23", "nodeType": "YulLiteral", - "src": "118411:1:10", + "src": "118411:1:23", "type": "", "value": "1" }, "variableNames": [ { "name": "alreadyDeployed", - "nativeSrc": "118392:15:10", + "nativeSrc": "118392:15:23", "nodeType": "YulIdentifier", - "src": "118392:15:10" + "src": "118392:15:23" } ] }, { "body": { - "nativeSrc": "118446:9:10", + "nativeSrc": "118446:9:23", "nodeType": "YulBlock", - "src": "118446:9:10", + "src": "118446:9:23", "statements": [ { - "nativeSrc": "118448:5:10", + "nativeSrc": "118448:5:23", "nodeType": "YulBreak", - "src": "118448:5:10" + "src": "118448:5:23" } ] }, @@ -139289,98 +158264,98 @@ "arguments": [ { "name": "value", - "nativeSrc": "118439:5:10", + "nativeSrc": "118439:5:23", "nodeType": "YulIdentifier", - "src": "118439:5:10" + "src": "118439:5:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "118432:6:10", + "nativeSrc": "118432:6:23", "nodeType": "YulIdentifier", - "src": "118432:6:10" + "src": "118432:6:23" }, - "nativeSrc": "118432:13:10", + "nativeSrc": "118432:13:23", "nodeType": "YulFunctionCall", - "src": "118432:13:10" + "src": "118432:13:23" }, - "nativeSrc": "118429:26:10", + "nativeSrc": "118429:26:23", "nodeType": "YulIf", - "src": "118429:26:10" + "src": "118429:26:23" }, { "body": { - "nativeSrc": "118548:129:10", + "nativeSrc": "118548:129:23", "nodeType": "YulBlock", - "src": "118548:129:10", + "src": "118548:129:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "118577:4:10", + "nativeSrc": "118577:4:23", "nodeType": "YulLiteral", - "src": "118577:4:10", + "src": "118577:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "118583:10:10", + "nativeSrc": "118583:10:23", "nodeType": "YulLiteral", - "src": "118583:10:10", + "src": "118583:10:23", "type": "", "value": "0xb12d13eb" } ], "functionName": { "name": "mstore", - "nativeSrc": "118570:6:10", + "nativeSrc": "118570:6:23", "nodeType": "YulIdentifier", - "src": "118570:6:10" + "src": "118570:6:23" }, - "nativeSrc": "118570:24:10", + "nativeSrc": "118570:24:23", "nodeType": "YulFunctionCall", - "src": "118570:24:10" + "src": "118570:24:23" }, - "nativeSrc": "118570:24:10", + "nativeSrc": "118570:24:23", "nodeType": "YulExpressionStatement", - "src": "118570:24:10" + "src": "118570:24:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "118648:4:10", + "nativeSrc": "118648:4:23", "nodeType": "YulLiteral", - "src": "118648:4:10", + "src": "118648:4:23", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "118654:4:10", + "nativeSrc": "118654:4:23", "nodeType": "YulLiteral", - "src": "118654:4:10", + "src": "118654:4:23", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "118641:6:10", + "nativeSrc": "118641:6:23", "nodeType": "YulIdentifier", - "src": "118641:6:10" + "src": "118641:6:23" }, - "nativeSrc": "118641:18:10", + "nativeSrc": "118641:18:23", "nodeType": "YulFunctionCall", - "src": "118641:18:10" + "src": "118641:18:23" }, - "nativeSrc": "118641:18:10", + "nativeSrc": "118641:18:23", "nodeType": "YulExpressionStatement", - "src": "118641:18:10" + "src": "118641:18:23" } ] }, @@ -139392,43 +158367,43 @@ "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "118487:3:10", + "nativeSrc": "118487:3:23", "nodeType": "YulIdentifier", - "src": "118487:3:10" + "src": "118487:3:23" }, - "nativeSrc": "118487:5:10", + "nativeSrc": "118487:5:23", "nodeType": "YulFunctionCall", - "src": "118487:5:10" + "src": "118487:5:23" }, { "name": "instance", - "nativeSrc": "118494:8:10", + "nativeSrc": "118494:8:23", "nodeType": "YulIdentifier", - "src": "118494:8:10" + "src": "118494:8:23" }, { "name": "value", - "nativeSrc": "118504:5:10", + "nativeSrc": "118504:5:23", "nodeType": "YulIdentifier", - "src": "118504:5:10" + "src": "118504:5:23" }, { "arguments": [], "functionName": { "name": "codesize", - "nativeSrc": "118511:8:10", + "nativeSrc": "118511:8:23", "nodeType": "YulIdentifier", - "src": "118511:8:10" + "src": "118511:8:23" }, - "nativeSrc": "118511:10:10", + "nativeSrc": "118511:10:23", "nodeType": "YulFunctionCall", - "src": "118511:10:10" + "src": "118511:10:23" }, { "kind": "number", - "nativeSrc": "118523:4:10", + "nativeSrc": "118523:4:23", "nodeType": "YulLiteral", - "src": "118523:4:10", + "src": "118523:4:23", "type": "", "value": "0x00" }, @@ -139436,112 +158411,112 @@ "arguments": [], "functionName": { "name": "codesize", - "nativeSrc": "118529:8:10", + "nativeSrc": "118529:8:23", "nodeType": "YulIdentifier", - "src": "118529:8:10" + "src": "118529:8:23" }, - "nativeSrc": "118529:10:10", + "nativeSrc": "118529:10:23", "nodeType": "YulFunctionCall", - "src": "118529:10:10" + "src": "118529:10:23" }, { "kind": "number", - "nativeSrc": "118541:4:10", + "nativeSrc": "118541:4:23", "nodeType": "YulLiteral", - "src": "118541:4:10", + "src": "118541:4:23", "type": "", "value": "0x00" } ], "functionName": { "name": "call", - "nativeSrc": "118482:4:10", + "nativeSrc": "118482:4:23", "nodeType": "YulIdentifier", - "src": "118482:4:10" + "src": "118482:4:23" }, - "nativeSrc": "118482:64:10", + "nativeSrc": "118482:64:23", "nodeType": "YulFunctionCall", - "src": "118482:64:10" + "src": "118482:64:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "118475:6:10", + "nativeSrc": "118475:6:23", "nodeType": "YulIdentifier", - "src": "118475:6:10" + "src": "118475:6:23" }, - "nativeSrc": "118475:72:10", + "nativeSrc": "118475:72:23", "nodeType": "YulFunctionCall", - "src": "118475:72:10" + "src": "118475:72:23" }, - "nativeSrc": "118472:205:10", + "nativeSrc": "118472:205:23", "nodeType": "YulIf", - "src": "118472:205:10" + "src": "118472:205:23" }, { - "nativeSrc": "118694:5:10", + "nativeSrc": "118694:5:23", "nodeType": "YulBreak", - "src": "118694:5:10" + "src": "118694:5:23" } ] }, "condition": { "kind": "number", - "nativeSrc": "118012:1:10", + "nativeSrc": "118012:1:23", "nodeType": "YulLiteral", - "src": "118012:1:10", + "src": "118012:1:23", "type": "", "value": "1" }, - "nativeSrc": "118005:708:10", + "nativeSrc": "118005:708:23", "nodeType": "YulForLoop", "post": { - "nativeSrc": "118014:2:10", + "nativeSrc": "118014:2:23", "nodeType": "YulBlock", - "src": "118014:2:10", + "src": "118014:2:23", "statements": [] }, "pre": { - "nativeSrc": "118009:2:10", + "nativeSrc": "118009:2:23", "nodeType": "YulBlock", - "src": "118009:2:10", + "src": "118009:2:23", "statements": [] }, - "src": "118005:708:10" + "src": "118005:708:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "118733:4:10", + "nativeSrc": "118733:4:23", "nodeType": "YulLiteral", - "src": "118733:4:10", + "src": "118733:4:23", "type": "", "value": "0x35" }, { "kind": "number", - "nativeSrc": "118739:1:10", + "nativeSrc": "118739:1:23", "nodeType": "YulLiteral", - "src": "118739:1:10", + "src": "118739:1:23", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "118726:6:10", + "nativeSrc": "118726:6:23", "nodeType": "YulIdentifier", - "src": "118726:6:10" + "src": "118726:6:23" }, - "nativeSrc": "118726:15:10", + "nativeSrc": "118726:15:23", "nodeType": "YulFunctionCall", - "src": "118726:15:10" + "src": "118726:15:23" }, - "nativeSrc": "118726:15:10", + "nativeSrc": "118726:15:23", "nodeType": "YulExpressionStatement", - "src": "118726:15:10" + "src": "118726:15:23" } ] }, @@ -139549,136 +158524,136 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4606, + "declaration": 6212, "isOffset": false, "isSlot": false, - "src": "118392:15:10", + "src": "118392:15:23", "valueSize": 1 }, { - "declaration": 4601, + "declaration": 6207, "isOffset": false, "isSlot": false, - "src": "117123:4:10", + "src": "117123:4:23", "valueSize": 1 }, { - "declaration": 4601, + "declaration": 6207, "isOffset": false, "isSlot": false, - "src": "117170:4:10", + "src": "117170:4:23", "valueSize": 1 }, { - "declaration": 4599, + "declaration": 6205, "isOffset": false, "isSlot": false, - "src": "117522:6:10", + "src": "117522:6:23", "valueSize": 1 }, { - "declaration": 4608, + "declaration": 6214, "isOffset": false, "isSlot": false, - "src": "117959:8:10", + "src": "117959:8:23", "valueSize": 1 }, { - "declaration": 4608, + "declaration": 6214, "isOffset": false, "isSlot": false, - "src": "118057:8:10", + "src": "118057:8:23", "valueSize": 1 }, { - "declaration": 4608, + "declaration": 6214, "isOffset": false, "isSlot": false, - "src": "118090:8:10", + "src": "118090:8:23", "valueSize": 1 }, { - "declaration": 4608, + "declaration": 6214, "isOffset": false, "isSlot": false, - "src": "118181:8:10", + "src": "118181:8:23", "valueSize": 1 }, { - "declaration": 4608, + "declaration": 6214, "isOffset": false, "isSlot": false, - "src": "118494:8:10", + "src": "118494:8:23", "valueSize": 1 }, { - "declaration": 4603, + "declaration": 6209, "isOffset": false, "isSlot": false, - "src": "117941:4:10", + "src": "117941:4:23", "valueSize": 1 }, { - "declaration": 4603, + "declaration": 6209, "isOffset": false, "isSlot": false, - "src": "118145:4:10", + "src": "118145:4:23", "valueSize": 1 }, { - "declaration": 4597, + "declaration": 6203, "isOffset": false, "isSlot": false, - "src": "118110:5:10", + "src": "118110:5:23", "valueSize": 1 }, { - "declaration": 4597, + "declaration": 6203, "isOffset": false, "isSlot": false, - "src": "118439:5:10", + "src": "118439:5:23", "valueSize": 1 }, { - "declaration": 4597, + "declaration": 6203, "isOffset": false, "isSlot": false, - "src": "118504:5:10", + "src": "118504:5:23", "valueSize": 1 } ], - "id": 4610, + "id": 6216, "nodeType": "InlineAssembly", - "src": "117052:1759:10" + "src": "117052:1759:23" } ] }, "documentation": { - "id": 4595, + "id": 6201, "nodeType": "StructuredDocumentation", - "src": "116511:276:10", + "src": "116511:276:23", "text": "@dev Creates a deterministic minimal ERC1967 beacon proxy with `args` and `salt`.\n Deposits `value` ETH during deployment.\n Note: This method is intended for use in ERC4337 factories,\n which are expected to NOT revert if the proxy is already deployed." }, - "id": 4612, + "id": 6218, "implemented": true, "kind": "function", "modifiers": [], "name": "createDeterministicERC1967BeaconProxy", - "nameLocation": "116801:37:10", + "nameLocation": "116801:37:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4604, + "id": 6210, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4597, + "id": 6203, "mutability": "mutable", "name": "value", - "nameLocation": "116856:5:10", + "nameLocation": "116856:5:23", "nodeType": "VariableDeclaration", - "scope": 4612, - "src": "116848:13:10", + "scope": 6218, + "src": "116848:13:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -139686,10 +158661,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4596, + "id": 6202, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "116848:7:10", + "src": "116848:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -139699,13 +158674,13 @@ }, { "constant": false, - "id": 4599, + "id": 6205, "mutability": "mutable", "name": "beacon", - "nameLocation": "116879:6:10", + "nameLocation": "116879:6:23", "nodeType": "VariableDeclaration", - "scope": 4612, - "src": "116871:14:10", + "scope": 6218, + "src": "116871:14:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -139713,10 +158688,10 @@ "typeString": "address" }, "typeName": { - "id": 4598, + "id": 6204, "name": "address", "nodeType": "ElementaryTypeName", - "src": "116871:7:10", + "src": "116871:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -139727,13 +158702,13 @@ }, { "constant": false, - "id": 4601, + "id": 6207, "mutability": "mutable", "name": "args", - "nameLocation": "116908:4:10", + "nameLocation": "116908:4:23", "nodeType": "VariableDeclaration", - "scope": 4612, - "src": "116895:17:10", + "scope": 6218, + "src": "116895:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -139741,10 +158716,10 @@ "typeString": "bytes" }, "typeName": { - "id": 4600, + "id": 6206, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "116895:5:10", + "src": "116895:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -139754,13 +158729,13 @@ }, { "constant": false, - "id": 4603, + "id": 6209, "mutability": "mutable", "name": "salt", - "nameLocation": "116930:4:10", + "nameLocation": "116930:4:23", "nodeType": "VariableDeclaration", - "scope": 4612, - "src": "116922:12:10", + "scope": 6218, + "src": "116922:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -139768,10 +158743,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4602, + "id": 6208, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "116922:7:10", + "src": "116922:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -139780,21 +158755,21 @@ "visibility": "internal" } ], - "src": "116838:102:10" + "src": "116838:102:23" }, "returnParameters": { - "id": 4609, + "id": 6215, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4606, + "id": 6212, "mutability": "mutable", "name": "alreadyDeployed", - "nameLocation": "116964:15:10", + "nameLocation": "116964:15:23", "nodeType": "VariableDeclaration", - "scope": 4612, - "src": "116959:20:10", + "scope": 6218, + "src": "116959:20:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -139802,10 +158777,10 @@ "typeString": "bool" }, "typeName": { - "id": 4605, + "id": 6211, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "116959:4:10", + "src": "116959:4:23", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -139815,13 +158790,13 @@ }, { "constant": false, - "id": 4608, + "id": 6214, "mutability": "mutable", "name": "instance", - "nameLocation": "116989:8:10", + "nameLocation": "116989:8:23", "nodeType": "VariableDeclaration", - "scope": 4612, - "src": "116981:16:10", + "scope": 6218, + "src": "116981:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -139829,10 +158804,10 @@ "typeString": "address" }, "typeName": { - "id": 4607, + "id": 6213, "name": "address", "nodeType": "ElementaryTypeName", - "src": "116981:7:10", + "src": "116981:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -139842,89 +158817,89 @@ "visibility": "internal" } ], - "src": "116958:40:10" + "src": "116958:40:23" }, - "scope": 5093, - "src": "116792:2025:10", + "scope": 6699, + "src": "116792:2025:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4623, + "id": 6229, "nodeType": "Block", - "src": "119043:1066:10", + "src": "119043:1066:23", "statements": [ { "AST": { - "nativeSrc": "119105:998:10", + "nativeSrc": "119105:998:23", "nodeType": "YulBlock", - "src": "119105:998:10", + "src": "119105:998:23", "statements": [ { - "nativeSrc": "119119:16:10", + "nativeSrc": "119119:16:23", "nodeType": "YulAssignment", - "src": "119119:16:10", + "src": "119119:16:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "119130:4:10", + "nativeSrc": "119130:4:23", "nodeType": "YulLiteral", - "src": "119130:4:10", + "src": "119130:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "119124:5:10", + "nativeSrc": "119124:5:23", "nodeType": "YulIdentifier", - "src": "119124:5:10" + "src": "119124:5:23" }, - "nativeSrc": "119124:11:10", + "nativeSrc": "119124:11:23", "nodeType": "YulFunctionCall", - "src": "119124:11:10" + "src": "119124:11:23" }, "variableNames": [ { "name": "c", - "nativeSrc": "119119:1:10", + "nativeSrc": "119119:1:23", "nodeType": "YulIdentifier", - "src": "119119:1:10" + "src": "119119:1:23" } ] }, { - "nativeSrc": "119148:20:10", + "nativeSrc": "119148:20:23", "nodeType": "YulVariableDeclaration", - "src": "119148:20:10", + "src": "119148:20:23", "value": { "arguments": [ { "name": "args", - "nativeSrc": "119163:4:10", + "nativeSrc": "119163:4:23", "nodeType": "YulIdentifier", - "src": "119163:4:10" + "src": "119163:4:23" } ], "functionName": { "name": "mload", - "nativeSrc": "119157:5:10", + "nativeSrc": "119157:5:23", "nodeType": "YulIdentifier", - "src": "119157:5:10" + "src": "119157:5:23" }, - "nativeSrc": "119157:11:10", + "nativeSrc": "119157:11:23", "nodeType": "YulFunctionCall", - "src": "119157:11:10" + "src": "119157:11:23" }, "variables": [ { "name": "n", - "nativeSrc": "119152:1:10", + "nativeSrc": "119152:1:23", "nodeType": "YulTypedName", - "src": "119152:1:10", + "src": "119152:1:23", "type": "" } ] @@ -139936,73 +158911,73 @@ "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "119283:14:10", + "nativeSrc": "119283:14:23", "nodeType": "YulIdentifier", - "src": "119283:14:10" + "src": "119283:14:23" }, - "nativeSrc": "119283:16:10", + "nativeSrc": "119283:16:23", "nodeType": "YulFunctionCall", - "src": "119283:16:10" + "src": "119283:16:23" }, { "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "119301:14:10", + "nativeSrc": "119301:14:23", "nodeType": "YulIdentifier", - "src": "119301:14:10" + "src": "119301:14:23" }, - "nativeSrc": "119301:16:10", + "nativeSrc": "119301:16:23", "nodeType": "YulFunctionCall", - "src": "119301:16:10" + "src": "119301:16:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "119322:1:10", + "nativeSrc": "119322:1:23", "nodeType": "YulIdentifier", - "src": "119322:1:10" + "src": "119322:1:23" }, { "kind": "number", - "nativeSrc": "119325:6:10", + "nativeSrc": "119325:6:23", "nodeType": "YulLiteral", - "src": "119325:6:10", + "src": "119325:6:23", "type": "", "value": "0xffad" } ], "functionName": { "name": "gt", - "nativeSrc": "119319:2:10", + "nativeSrc": "119319:2:23", "nodeType": "YulIdentifier", - "src": "119319:2:10" + "src": "119319:2:23" }, - "nativeSrc": "119319:13:10", + "nativeSrc": "119319:13:23", "nodeType": "YulFunctionCall", - "src": "119319:13:10" + "src": "119319:13:23" } ], "functionName": { "name": "returndatacopy", - "nativeSrc": "119268:14:10", + "nativeSrc": "119268:14:23", "nodeType": "YulIdentifier", - "src": "119268:14:10" + "src": "119268:14:23" }, - "nativeSrc": "119268:65:10", + "nativeSrc": "119268:65:23", "nodeType": "YulFunctionCall", - "src": "119268:65:10" + "src": "119268:65:23" }, - "nativeSrc": "119268:65:10", + "nativeSrc": "119268:65:23", "nodeType": "YulExpressionStatement", - "src": "119268:65:10" + "src": "119268:65:23" }, { "body": { - "nativeSrc": "119396:92:10", + "nativeSrc": "119396:92:23", "nodeType": "YulBlock", - "src": "119396:92:10", + "src": "119396:92:23", "statements": [ { "expression": { @@ -140013,45 +158988,45 @@ "arguments": [ { "name": "c", - "nativeSrc": "119429:1:10", + "nativeSrc": "119429:1:23", "nodeType": "YulIdentifier", - "src": "119429:1:10" + "src": "119429:1:23" }, { "kind": "number", - "nativeSrc": "119432:4:10", + "nativeSrc": "119432:4:23", "nodeType": "YulLiteral", - "src": "119432:4:10", + "src": "119432:4:23", "type": "", "value": "0x95" } ], "functionName": { "name": "add", - "nativeSrc": "119425:3:10", + "nativeSrc": "119425:3:23", "nodeType": "YulIdentifier", - "src": "119425:3:10" + "src": "119425:3:23" }, - "nativeSrc": "119425:12:10", + "nativeSrc": "119425:12:23", "nodeType": "YulFunctionCall", - "src": "119425:12:10" + "src": "119425:12:23" }, { "name": "i", - "nativeSrc": "119439:1:10", + "nativeSrc": "119439:1:23", "nodeType": "YulIdentifier", - "src": "119439:1:10" + "src": "119439:1:23" } ], "functionName": { "name": "add", - "nativeSrc": "119421:3:10", + "nativeSrc": "119421:3:23", "nodeType": "YulIdentifier", - "src": "119421:3:10" + "src": "119421:3:23" }, - "nativeSrc": "119421:20:10", + "nativeSrc": "119421:20:23", "nodeType": "YulFunctionCall", - "src": "119421:20:10" + "src": "119421:20:23" }, { "arguments": [ @@ -140061,71 +159036,71 @@ "arguments": [ { "name": "args", - "nativeSrc": "119457:4:10", + "nativeSrc": "119457:4:23", "nodeType": "YulIdentifier", - "src": "119457:4:10" + "src": "119457:4:23" }, { "kind": "number", - "nativeSrc": "119463:4:10", + "nativeSrc": "119463:4:23", "nodeType": "YulLiteral", - "src": "119463:4:10", + "src": "119463:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "119453:3:10", + "nativeSrc": "119453:3:23", "nodeType": "YulIdentifier", - "src": "119453:3:10" + "src": "119453:3:23" }, - "nativeSrc": "119453:15:10", + "nativeSrc": "119453:15:23", "nodeType": "YulFunctionCall", - "src": "119453:15:10" + "src": "119453:15:23" }, { "name": "i", - "nativeSrc": "119470:1:10", + "nativeSrc": "119470:1:23", "nodeType": "YulIdentifier", - "src": "119470:1:10" + "src": "119470:1:23" } ], "functionName": { "name": "add", - "nativeSrc": "119449:3:10", + "nativeSrc": "119449:3:23", "nodeType": "YulIdentifier", - "src": "119449:3:10" + "src": "119449:3:23" }, - "nativeSrc": "119449:23:10", + "nativeSrc": "119449:23:23", "nodeType": "YulFunctionCall", - "src": "119449:23:10" + "src": "119449:23:23" } ], "functionName": { "name": "mload", - "nativeSrc": "119443:5:10", + "nativeSrc": "119443:5:23", "nodeType": "YulIdentifier", - "src": "119443:5:10" + "src": "119443:5:23" }, - "nativeSrc": "119443:30:10", + "nativeSrc": "119443:30:23", "nodeType": "YulFunctionCall", - "src": "119443:30:10" + "src": "119443:30:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "119414:6:10", + "nativeSrc": "119414:6:23", "nodeType": "YulIdentifier", - "src": "119414:6:10" + "src": "119414:6:23" }, - "nativeSrc": "119414:60:10", + "nativeSrc": "119414:60:23", "nodeType": "YulFunctionCall", - "src": "119414:60:10" + "src": "119414:60:23" }, - "nativeSrc": "119414:60:10", + "nativeSrc": "119414:60:23", "nodeType": "YulExpressionStatement", - "src": "119414:60:10" + "src": "119414:60:23" } ] }, @@ -140133,106 +159108,106 @@ "arguments": [ { "name": "i", - "nativeSrc": "119368:1:10", + "nativeSrc": "119368:1:23", "nodeType": "YulIdentifier", - "src": "119368:1:10" + "src": "119368:1:23" }, { "name": "n", - "nativeSrc": "119371:1:10", + "nativeSrc": "119371:1:23", "nodeType": "YulIdentifier", - "src": "119371:1:10" + "src": "119371:1:23" } ], "functionName": { "name": "lt", - "nativeSrc": "119365:2:10", + "nativeSrc": "119365:2:23", "nodeType": "YulIdentifier", - "src": "119365:2:10" + "src": "119365:2:23" }, - "nativeSrc": "119365:8:10", + "nativeSrc": "119365:8:23", "nodeType": "YulFunctionCall", - "src": "119365:8:10" + "src": "119365:8:23" }, - "nativeSrc": "119346:142:10", + "nativeSrc": "119346:142:23", "nodeType": "YulForLoop", "post": { - "nativeSrc": "119374:21:10", + "nativeSrc": "119374:21:23", "nodeType": "YulBlock", - "src": "119374:21:10", + "src": "119374:21:23", "statements": [ { - "nativeSrc": "119376:17:10", + "nativeSrc": "119376:17:23", "nodeType": "YulAssignment", - "src": "119376:17:10", + "src": "119376:17:23", "value": { "arguments": [ { "name": "i", - "nativeSrc": "119385:1:10", + "nativeSrc": "119385:1:23", "nodeType": "YulIdentifier", - "src": "119385:1:10" + "src": "119385:1:23" }, { "kind": "number", - "nativeSrc": "119388:4:10", + "nativeSrc": "119388:4:23", "nodeType": "YulLiteral", - "src": "119388:4:10", + "src": "119388:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "119381:3:10", + "nativeSrc": "119381:3:23", "nodeType": "YulIdentifier", - "src": "119381:3:10" + "src": "119381:3:23" }, - "nativeSrc": "119381:12:10", + "nativeSrc": "119381:12:23", "nodeType": "YulFunctionCall", - "src": "119381:12:10" + "src": "119381:12:23" }, "variableNames": [ { "name": "i", - "nativeSrc": "119376:1:10", + "nativeSrc": "119376:1:23", "nodeType": "YulIdentifier", - "src": "119376:1:10" + "src": "119376:1:23" } ] } ] }, "pre": { - "nativeSrc": "119350:14:10", + "nativeSrc": "119350:14:23", "nodeType": "YulBlock", - "src": "119350:14:10", + "src": "119350:14:23", "statements": [ { - "nativeSrc": "119352:10:10", + "nativeSrc": "119352:10:23", "nodeType": "YulVariableDeclaration", - "src": "119352:10:10", + "src": "119352:10:23", "value": { "kind": "number", - "nativeSrc": "119361:1:10", + "nativeSrc": "119361:1:23", "nodeType": "YulLiteral", - "src": "119361:1:10", + "src": "119361:1:23", "type": "", "value": "0" }, "variables": [ { "name": "i", - "nativeSrc": "119356:1:10", + "nativeSrc": "119356:1:23", "nodeType": "YulTypedName", - "src": "119356:1:10", + "src": "119356:1:23", "type": "" } ] } ] }, - "src": "119346:142:10" + "src": "119346:142:23" }, { "expression": { @@ -140241,51 +159216,51 @@ "arguments": [ { "name": "c", - "nativeSrc": "119512:1:10", + "nativeSrc": "119512:1:23", "nodeType": "YulIdentifier", - "src": "119512:1:10" + "src": "119512:1:23" }, { "kind": "number", - "nativeSrc": "119515:4:10", + "nativeSrc": "119515:4:23", "nodeType": "YulLiteral", - "src": "119515:4:10", + "src": "119515:4:23", "type": "", "value": "0x75" } ], "functionName": { "name": "add", - "nativeSrc": "119508:3:10", + "nativeSrc": "119508:3:23", "nodeType": "YulIdentifier", - "src": "119508:3:10" + "src": "119508:3:23" }, - "nativeSrc": "119508:12:10", + "nativeSrc": "119508:12:23", "nodeType": "YulFunctionCall", - "src": "119508:12:10" + "src": "119508:12:23" }, { "kind": "number", - "nativeSrc": "119522:66:10", + "nativeSrc": "119522:66:23", "nodeType": "YulLiteral", - "src": "119522:66:10", + "src": "119522:66:23", "type": "", "value": "0xb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f3" } ], "functionName": { "name": "mstore", - "nativeSrc": "119501:6:10", + "nativeSrc": "119501:6:23", "nodeType": "YulIdentifier", - "src": "119501:6:10" + "src": "119501:6:23" }, - "nativeSrc": "119501:88:10", + "nativeSrc": "119501:88:23", "nodeType": "YulFunctionCall", - "src": "119501:88:10" + "src": "119501:88:23" }, - "nativeSrc": "119501:88:10", + "nativeSrc": "119501:88:23", "nodeType": "YulExpressionStatement", - "src": "119501:88:10" + "src": "119501:88:23" }, { "expression": { @@ -140294,51 +159269,51 @@ "arguments": [ { "name": "c", - "nativeSrc": "119613:1:10", + "nativeSrc": "119613:1:23", "nodeType": "YulIdentifier", - "src": "119613:1:10" + "src": "119613:1:23" }, { "kind": "number", - "nativeSrc": "119616:4:10", + "nativeSrc": "119616:4:23", "nodeType": "YulLiteral", - "src": "119616:4:10", + "src": "119616:4:23", "type": "", "value": "0x55" } ], "functionName": { "name": "add", - "nativeSrc": "119609:3:10", + "nativeSrc": "119609:3:23", "nodeType": "YulIdentifier", - "src": "119609:3:10" + "src": "119609:3:23" }, - "nativeSrc": "119609:12:10", + "nativeSrc": "119609:12:23", "nodeType": "YulFunctionCall", - "src": "119609:12:10" + "src": "119609:12:23" }, { "kind": "number", - "nativeSrc": "119623:66:10", + "nativeSrc": "119623:66:23", "nodeType": "YulLiteral", - "src": "119623:66:10", + "src": "119623:66:23", "type": "", "value": "0x1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6c" } ], "functionName": { "name": "mstore", - "nativeSrc": "119602:6:10", + "nativeSrc": "119602:6:23", "nodeType": "YulIdentifier", - "src": "119602:6:10" + "src": "119602:6:23" }, - "nativeSrc": "119602:88:10", + "nativeSrc": "119602:88:23", "nodeType": "YulFunctionCall", - "src": "119602:88:10" + "src": "119602:88:23" }, - "nativeSrc": "119602:88:10", + "nativeSrc": "119602:88:23", "nodeType": "YulExpressionStatement", - "src": "119602:88:10" + "src": "119602:88:23" }, { "expression": { @@ -140347,51 +159322,51 @@ "arguments": [ { "name": "c", - "nativeSrc": "119714:1:10", + "nativeSrc": "119714:1:23", "nodeType": "YulIdentifier", - "src": "119714:1:10" + "src": "119714:1:23" }, { "kind": "number", - "nativeSrc": "119717:4:10", + "nativeSrc": "119717:4:23", "nodeType": "YulLiteral", - "src": "119717:4:10", + "src": "119717:4:23", "type": "", "value": "0x35" } ], "functionName": { "name": "add", - "nativeSrc": "119710:3:10", + "nativeSrc": "119710:3:23", "nodeType": "YulIdentifier", - "src": "119710:3:10" + "src": "119710:3:23" }, - "nativeSrc": "119710:12:10", + "nativeSrc": "119710:12:23", "nodeType": "YulFunctionCall", - "src": "119710:12:10" + "src": "119710:12:23" }, { "kind": "number", - "nativeSrc": "119724:48:10", + "nativeSrc": "119724:48:23", "nodeType": "YulLiteral", - "src": "119724:48:10", + "src": "119724:48:23", "type": "", "value": "0x60195155f3363d3d373d3d363d602036600436635c60da" } ], "functionName": { "name": "mstore", - "nativeSrc": "119703:6:10", + "nativeSrc": "119703:6:23", "nodeType": "YulIdentifier", - "src": "119703:6:10" + "src": "119703:6:23" }, - "nativeSrc": "119703:70:10", + "nativeSrc": "119703:70:23", "nodeType": "YulFunctionCall", - "src": "119703:70:10" + "src": "119703:70:23" }, - "nativeSrc": "119703:70:10", + "nativeSrc": "119703:70:23", "nodeType": "YulExpressionStatement", - "src": "119703:70:10" + "src": "119703:70:23" }, { "expression": { @@ -140400,49 +159375,49 @@ "arguments": [ { "name": "c", - "nativeSrc": "119797:1:10", + "nativeSrc": "119797:1:23", "nodeType": "YulIdentifier", - "src": "119797:1:10" + "src": "119797:1:23" }, { "kind": "number", - "nativeSrc": "119800:4:10", + "nativeSrc": "119800:4:23", "nodeType": "YulLiteral", - "src": "119800:4:10", + "src": "119800:4:23", "type": "", "value": "0x1e" } ], "functionName": { "name": "add", - "nativeSrc": "119793:3:10", + "nativeSrc": "119793:3:23", "nodeType": "YulIdentifier", - "src": "119793:3:10" + "src": "119793:3:23" }, - "nativeSrc": "119793:12:10", + "nativeSrc": "119793:12:23", "nodeType": "YulFunctionCall", - "src": "119793:12:10" + "src": "119793:12:23" }, { "name": "beacon", - "nativeSrc": "119807:6:10", + "nativeSrc": "119807:6:23", "nodeType": "YulIdentifier", - "src": "119807:6:10" + "src": "119807:6:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "119786:6:10", + "nativeSrc": "119786:6:23", "nodeType": "YulIdentifier", - "src": "119786:6:10" + "src": "119786:6:23" }, - "nativeSrc": "119786:28:10", + "nativeSrc": "119786:28:23", "nodeType": "YulFunctionCall", - "src": "119786:28:10" + "src": "119786:28:23" }, - "nativeSrc": "119786:28:10", + "nativeSrc": "119786:28:23", "nodeType": "YulExpressionStatement", - "src": "119786:28:10" + "src": "119786:28:23" }, { "expression": { @@ -140451,36 +159426,36 @@ "arguments": [ { "name": "c", - "nativeSrc": "119838:1:10", + "nativeSrc": "119838:1:23", "nodeType": "YulIdentifier", - "src": "119838:1:10" + "src": "119838:1:23" }, { "kind": "number", - "nativeSrc": "119841:4:10", + "nativeSrc": "119841:4:23", "nodeType": "YulLiteral", - "src": "119841:4:10", + "src": "119841:4:23", "type": "", "value": "0x0a" } ], "functionName": { "name": "add", - "nativeSrc": "119834:3:10", + "nativeSrc": "119834:3:23", "nodeType": "YulIdentifier", - "src": "119834:3:10" + "src": "119834:3:23" }, - "nativeSrc": "119834:12:10", + "nativeSrc": "119834:12:23", "nodeType": "YulFunctionCall", - "src": "119834:12:10" + "src": "119834:12:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "119852:22:10", + "nativeSrc": "119852:22:23", "nodeType": "YulLiteral", - "src": "119852:22:10", + "src": "119852:22:23", "type": "", "value": "0x6100523d8160233d3973" }, @@ -140488,105 +159463,105 @@ "arguments": [ { "kind": "number", - "nativeSrc": "119880:2:10", + "nativeSrc": "119880:2:23", "nodeType": "YulLiteral", - "src": "119880:2:10", + "src": "119880:2:23", "type": "", "value": "56" }, { "name": "n", - "nativeSrc": "119884:1:10", + "nativeSrc": "119884:1:23", "nodeType": "YulIdentifier", - "src": "119884:1:10" + "src": "119884:1:23" } ], "functionName": { "name": "shl", - "nativeSrc": "119876:3:10", + "nativeSrc": "119876:3:23", "nodeType": "YulIdentifier", - "src": "119876:3:10" + "src": "119876:3:23" }, - "nativeSrc": "119876:10:10", + "nativeSrc": "119876:10:23", "nodeType": "YulFunctionCall", - "src": "119876:10:10" + "src": "119876:10:23" } ], "functionName": { "name": "add", - "nativeSrc": "119848:3:10", + "nativeSrc": "119848:3:23", "nodeType": "YulIdentifier", - "src": "119848:3:10" + "src": "119848:3:23" }, - "nativeSrc": "119848:39:10", + "nativeSrc": "119848:39:23", "nodeType": "YulFunctionCall", - "src": "119848:39:10" + "src": "119848:39:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "119827:6:10", + "nativeSrc": "119827:6:23", "nodeType": "YulIdentifier", - "src": "119827:6:10" + "src": "119827:6:23" }, - "nativeSrc": "119827:61:10", + "nativeSrc": "119827:61:23", "nodeType": "YulFunctionCall", - "src": "119827:61:10" + "src": "119827:61:23" }, - "nativeSrc": "119827:61:10", + "nativeSrc": "119827:61:23", "nodeType": "YulExpressionStatement", - "src": "119827:61:10" + "src": "119827:61:23" }, { "expression": { "arguments": [ { "name": "c", - "nativeSrc": "119908:1:10", + "nativeSrc": "119908:1:23", "nodeType": "YulIdentifier", - "src": "119908:1:10" + "src": "119908:1:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "119915:1:10", + "nativeSrc": "119915:1:23", "nodeType": "YulIdentifier", - "src": "119915:1:10" + "src": "119915:1:23" }, { "kind": "number", - "nativeSrc": "119918:4:10", + "nativeSrc": "119918:4:23", "nodeType": "YulLiteral", - "src": "119918:4:10", + "src": "119918:4:23", "type": "", "value": "0x75" } ], "functionName": { "name": "add", - "nativeSrc": "119911:3:10", + "nativeSrc": "119911:3:23", "nodeType": "YulIdentifier", - "src": "119911:3:10" + "src": "119911:3:23" }, - "nativeSrc": "119911:12:10", + "nativeSrc": "119911:12:23", "nodeType": "YulFunctionCall", - "src": "119911:12:10" + "src": "119911:12:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "119901:6:10", + "nativeSrc": "119901:6:23", "nodeType": "YulIdentifier", - "src": "119901:6:10" + "src": "119901:6:23" }, - "nativeSrc": "119901:23:10", + "nativeSrc": "119901:23:23", "nodeType": "YulFunctionCall", - "src": "119901:23:10" + "src": "119901:23:23" }, - "nativeSrc": "119901:23:10", + "nativeSrc": "119901:23:23", "nodeType": "YulExpressionStatement", - "src": "119901:23:10" + "src": "119901:23:23" }, { "expression": { @@ -140595,79 +159570,79 @@ "arguments": [ { "name": "c", - "nativeSrc": "119969:1:10", + "nativeSrc": "119969:1:23", "nodeType": "YulIdentifier", - "src": "119969:1:10" + "src": "119969:1:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "119976:1:10", + "nativeSrc": "119976:1:23", "nodeType": "YulIdentifier", - "src": "119976:1:10" + "src": "119976:1:23" }, { "kind": "number", - "nativeSrc": "119979:4:10", + "nativeSrc": "119979:4:23", "nodeType": "YulLiteral", - "src": "119979:4:10", + "src": "119979:4:23", "type": "", "value": "0x95" } ], "functionName": { "name": "add", - "nativeSrc": "119972:3:10", + "nativeSrc": "119972:3:23", "nodeType": "YulIdentifier", - "src": "119972:3:10" + "src": "119972:3:23" }, - "nativeSrc": "119972:12:10", + "nativeSrc": "119972:12:23", "nodeType": "YulFunctionCall", - "src": "119972:12:10" + "src": "119972:12:23" } ], "functionName": { "name": "add", - "nativeSrc": "119965:3:10", + "nativeSrc": "119965:3:23", "nodeType": "YulIdentifier", - "src": "119965:3:10" + "src": "119965:3:23" }, - "nativeSrc": "119965:20:10", + "nativeSrc": "119965:20:23", "nodeType": "YulFunctionCall", - "src": "119965:20:10" + "src": "119965:20:23" }, { "kind": "number", - "nativeSrc": "119987:1:10", + "nativeSrc": "119987:1:23", "nodeType": "YulLiteral", - "src": "119987:1:10", + "src": "119987:1:23", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "119958:6:10", + "nativeSrc": "119958:6:23", "nodeType": "YulIdentifier", - "src": "119958:6:10" + "src": "119958:6:23" }, - "nativeSrc": "119958:31:10", + "nativeSrc": "119958:31:23", "nodeType": "YulFunctionCall", - "src": "119958:31:10" + "src": "119958:31:23" }, - "nativeSrc": "119958:31:10", + "nativeSrc": "119958:31:23", "nodeType": "YulExpressionStatement", - "src": "119958:31:10" + "src": "119958:31:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "120046:4:10", + "nativeSrc": "120046:4:23", "nodeType": "YulLiteral", - "src": "120046:4:10", + "src": "120046:4:23", "type": "", "value": "0x40" }, @@ -140675,62 +159650,62 @@ "arguments": [ { "name": "c", - "nativeSrc": "120056:1:10", + "nativeSrc": "120056:1:23", "nodeType": "YulIdentifier", - "src": "120056:1:10" + "src": "120056:1:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "120063:1:10", + "nativeSrc": "120063:1:23", "nodeType": "YulIdentifier", - "src": "120063:1:10" + "src": "120063:1:23" }, { "kind": "number", - "nativeSrc": "120066:4:10", + "nativeSrc": "120066:4:23", "nodeType": "YulLiteral", - "src": "120066:4:10", + "src": "120066:4:23", "type": "", "value": "0xb5" } ], "functionName": { "name": "add", - "nativeSrc": "120059:3:10", + "nativeSrc": "120059:3:23", "nodeType": "YulIdentifier", - "src": "120059:3:10" + "src": "120059:3:23" }, - "nativeSrc": "120059:12:10", + "nativeSrc": "120059:12:23", "nodeType": "YulFunctionCall", - "src": "120059:12:10" + "src": "120059:12:23" } ], "functionName": { "name": "add", - "nativeSrc": "120052:3:10", + "nativeSrc": "120052:3:23", "nodeType": "YulIdentifier", - "src": "120052:3:10" + "src": "120052:3:23" }, - "nativeSrc": "120052:20:10", + "nativeSrc": "120052:20:23", "nodeType": "YulFunctionCall", - "src": "120052:20:10" + "src": "120052:20:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "120039:6:10", + "nativeSrc": "120039:6:23", "nodeType": "YulIdentifier", - "src": "120039:6:10" + "src": "120039:6:23" }, - "nativeSrc": "120039:34:10", + "nativeSrc": "120039:34:23", "nodeType": "YulFunctionCall", - "src": "120039:34:10" + "src": "120039:34:23" }, - "nativeSrc": "120039:34:10", + "nativeSrc": "120039:34:23", "nodeType": "YulExpressionStatement", - "src": "120039:34:10" + "src": "120039:34:23" } ] }, @@ -140738,129 +159713,129 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4617, + "declaration": 6223, "isOffset": false, "isSlot": false, - "src": "119163:4:10", + "src": "119163:4:23", "valueSize": 1 }, { - "declaration": 4617, + "declaration": 6223, "isOffset": false, "isSlot": false, - "src": "119457:4:10", + "src": "119457:4:23", "valueSize": 1 }, { - "declaration": 4615, + "declaration": 6221, "isOffset": false, "isSlot": false, - "src": "119807:6:10", + "src": "119807:6:23", "valueSize": 1 }, { - "declaration": 4620, + "declaration": 6226, "isOffset": false, "isSlot": false, - "src": "119119:1:10", + "src": "119119:1:23", "valueSize": 1 }, { - "declaration": 4620, + "declaration": 6226, "isOffset": false, "isSlot": false, - "src": "119429:1:10", + "src": "119429:1:23", "valueSize": 1 }, { - "declaration": 4620, + "declaration": 6226, "isOffset": false, "isSlot": false, - "src": "119512:1:10", + "src": "119512:1:23", "valueSize": 1 }, { - "declaration": 4620, + "declaration": 6226, "isOffset": false, "isSlot": false, - "src": "119613:1:10", + "src": "119613:1:23", "valueSize": 1 }, { - "declaration": 4620, + "declaration": 6226, "isOffset": false, "isSlot": false, - "src": "119714:1:10", + "src": "119714:1:23", "valueSize": 1 }, { - "declaration": 4620, + "declaration": 6226, "isOffset": false, "isSlot": false, - "src": "119797:1:10", + "src": "119797:1:23", "valueSize": 1 }, { - "declaration": 4620, + "declaration": 6226, "isOffset": false, "isSlot": false, - "src": "119838:1:10", + "src": "119838:1:23", "valueSize": 1 }, { - "declaration": 4620, + "declaration": 6226, "isOffset": false, "isSlot": false, - "src": "119908:1:10", + "src": "119908:1:23", "valueSize": 1 }, { - "declaration": 4620, + "declaration": 6226, "isOffset": false, "isSlot": false, - "src": "119969:1:10", + "src": "119969:1:23", "valueSize": 1 }, { - "declaration": 4620, + "declaration": 6226, "isOffset": false, "isSlot": false, - "src": "120056:1:10", + "src": "120056:1:23", "valueSize": 1 } ], - "id": 4622, + "id": 6228, "nodeType": "InlineAssembly", - "src": "119096:1007:10" + "src": "119096:1007:23" } ] }, "documentation": { - "id": 4613, + "id": 6219, "nodeType": "StructuredDocumentation", - "src": "118823:77:10", + "src": "118823:77:23", "text": "@dev Returns the initialization code of the minimal ERC1967 beacon proxy." }, - "id": 4624, + "id": 6230, "implemented": true, "kind": "function", "modifiers": [], "name": "initCodeERC1967BeaconProxy", - "nameLocation": "118914:26:10", + "nameLocation": "118914:26:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4618, + "id": 6224, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4615, + "id": 6221, "mutability": "mutable", "name": "beacon", - "nameLocation": "118949:6:10", + "nameLocation": "118949:6:23", "nodeType": "VariableDeclaration", - "scope": 4624, - "src": "118941:14:10", + "scope": 6230, + "src": "118941:14:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -140868,10 +159843,10 @@ "typeString": "address" }, "typeName": { - "id": 4614, + "id": 6220, "name": "address", "nodeType": "ElementaryTypeName", - "src": "118941:7:10", + "src": "118941:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -140882,13 +159857,13 @@ }, { "constant": false, - "id": 4617, + "id": 6223, "mutability": "mutable", "name": "args", - "nameLocation": "118970:4:10", + "nameLocation": "118970:4:23", "nodeType": "VariableDeclaration", - "scope": 4624, - "src": "118957:17:10", + "scope": 6230, + "src": "118957:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -140896,10 +159871,10 @@ "typeString": "bytes" }, "typeName": { - "id": 4616, + "id": 6222, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "118957:5:10", + "src": "118957:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -140908,21 +159883,21 @@ "visibility": "internal" } ], - "src": "118940:35:10" + "src": "118940:35:23" }, "returnParameters": { - "id": 4621, + "id": 6227, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4620, + "id": 6226, "mutability": "mutable", "name": "c", - "nameLocation": "119036:1:10", + "nameLocation": "119036:1:23", "nodeType": "VariableDeclaration", - "scope": 4624, - "src": "119023:14:10", + "scope": 6230, + "src": "119023:14:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -140930,10 +159905,10 @@ "typeString": "bytes" }, "typeName": { - "id": 4619, + "id": 6225, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "119023:5:10", + "src": "119023:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -140942,90 +159917,90 @@ "visibility": "internal" } ], - "src": "119022:16:10" + "src": "119022:16:23" }, - "scope": 5093, - "src": "118905:1204:10", + "scope": 6699, + "src": "118905:1204:23", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4635, + "id": 6241, "nodeType": "Block", - "src": "120354:912:10", + "src": "120354:912:23", "statements": [ { "AST": { - "nativeSrc": "120416:844:10", + "nativeSrc": "120416:844:23", "nodeType": "YulBlock", - "src": "120416:844:10", + "src": "120416:844:23", "statements": [ { - "nativeSrc": "120430:20:10", + "nativeSrc": "120430:20:23", "nodeType": "YulVariableDeclaration", - "src": "120430:20:10", + "src": "120430:20:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "120445:4:10", + "nativeSrc": "120445:4:23", "nodeType": "YulLiteral", - "src": "120445:4:10", + "src": "120445:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "120439:5:10", + "nativeSrc": "120439:5:23", "nodeType": "YulIdentifier", - "src": "120439:5:10" + "src": "120439:5:23" }, - "nativeSrc": "120439:11:10", + "nativeSrc": "120439:11:23", "nodeType": "YulFunctionCall", - "src": "120439:11:10" + "src": "120439:11:23" }, "variables": [ { "name": "m", - "nativeSrc": "120434:1:10", + "nativeSrc": "120434:1:23", "nodeType": "YulTypedName", - "src": "120434:1:10", + "src": "120434:1:23", "type": "" } ] }, { - "nativeSrc": "120463:20:10", + "nativeSrc": "120463:20:23", "nodeType": "YulVariableDeclaration", - "src": "120463:20:10", + "src": "120463:20:23", "value": { "arguments": [ { "name": "args", - "nativeSrc": "120478:4:10", + "nativeSrc": "120478:4:23", "nodeType": "YulIdentifier", - "src": "120478:4:10" + "src": "120478:4:23" } ], "functionName": { "name": "mload", - "nativeSrc": "120472:5:10", + "nativeSrc": "120472:5:23", "nodeType": "YulIdentifier", - "src": "120472:5:10" + "src": "120472:5:23" }, - "nativeSrc": "120472:11:10", + "nativeSrc": "120472:11:23", "nodeType": "YulFunctionCall", - "src": "120472:11:10" + "src": "120472:11:23" }, "variables": [ { "name": "n", - "nativeSrc": "120467:1:10", + "nativeSrc": "120467:1:23", "nodeType": "YulTypedName", - "src": "120467:1:10", + "src": "120467:1:23", "type": "" } ] @@ -141037,73 +160012,73 @@ "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "120598:14:10", + "nativeSrc": "120598:14:23", "nodeType": "YulIdentifier", - "src": "120598:14:10" + "src": "120598:14:23" }, - "nativeSrc": "120598:16:10", + "nativeSrc": "120598:16:23", "nodeType": "YulFunctionCall", - "src": "120598:16:10" + "src": "120598:16:23" }, { "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "120616:14:10", + "nativeSrc": "120616:14:23", "nodeType": "YulIdentifier", - "src": "120616:14:10" + "src": "120616:14:23" }, - "nativeSrc": "120616:16:10", + "nativeSrc": "120616:16:23", "nodeType": "YulFunctionCall", - "src": "120616:16:10" + "src": "120616:16:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "120637:1:10", + "nativeSrc": "120637:1:23", "nodeType": "YulIdentifier", - "src": "120637:1:10" + "src": "120637:1:23" }, { "kind": "number", - "nativeSrc": "120640:6:10", + "nativeSrc": "120640:6:23", "nodeType": "YulLiteral", - "src": "120640:6:10", + "src": "120640:6:23", "type": "", "value": "0xffad" } ], "functionName": { "name": "gt", - "nativeSrc": "120634:2:10", + "nativeSrc": "120634:2:23", "nodeType": "YulIdentifier", - "src": "120634:2:10" + "src": "120634:2:23" }, - "nativeSrc": "120634:13:10", + "nativeSrc": "120634:13:23", "nodeType": "YulFunctionCall", - "src": "120634:13:10" + "src": "120634:13:23" } ], "functionName": { "name": "returndatacopy", - "nativeSrc": "120583:14:10", + "nativeSrc": "120583:14:23", "nodeType": "YulIdentifier", - "src": "120583:14:10" + "src": "120583:14:23" }, - "nativeSrc": "120583:65:10", + "nativeSrc": "120583:65:23", "nodeType": "YulFunctionCall", - "src": "120583:65:10" + "src": "120583:65:23" }, - "nativeSrc": "120583:65:10", + "nativeSrc": "120583:65:23", "nodeType": "YulExpressionStatement", - "src": "120583:65:10" + "src": "120583:65:23" }, { "body": { - "nativeSrc": "120711:92:10", + "nativeSrc": "120711:92:23", "nodeType": "YulBlock", - "src": "120711:92:10", + "src": "120711:92:23", "statements": [ { "expression": { @@ -141114,45 +160089,45 @@ "arguments": [ { "name": "m", - "nativeSrc": "120744:1:10", + "nativeSrc": "120744:1:23", "nodeType": "YulIdentifier", - "src": "120744:1:10" + "src": "120744:1:23" }, { "kind": "number", - "nativeSrc": "120747:4:10", + "nativeSrc": "120747:4:23", "nodeType": "YulLiteral", - "src": "120747:4:10", + "src": "120747:4:23", "type": "", "value": "0x8b" } ], "functionName": { "name": "add", - "nativeSrc": "120740:3:10", + "nativeSrc": "120740:3:23", "nodeType": "YulIdentifier", - "src": "120740:3:10" + "src": "120740:3:23" }, - "nativeSrc": "120740:12:10", + "nativeSrc": "120740:12:23", "nodeType": "YulFunctionCall", - "src": "120740:12:10" + "src": "120740:12:23" }, { "name": "i", - "nativeSrc": "120754:1:10", + "nativeSrc": "120754:1:23", "nodeType": "YulIdentifier", - "src": "120754:1:10" + "src": "120754:1:23" } ], "functionName": { "name": "add", - "nativeSrc": "120736:3:10", + "nativeSrc": "120736:3:23", "nodeType": "YulIdentifier", - "src": "120736:3:10" + "src": "120736:3:23" }, - "nativeSrc": "120736:20:10", + "nativeSrc": "120736:20:23", "nodeType": "YulFunctionCall", - "src": "120736:20:10" + "src": "120736:20:23" }, { "arguments": [ @@ -141162,71 +160137,71 @@ "arguments": [ { "name": "args", - "nativeSrc": "120772:4:10", + "nativeSrc": "120772:4:23", "nodeType": "YulIdentifier", - "src": "120772:4:10" + "src": "120772:4:23" }, { "kind": "number", - "nativeSrc": "120778:4:10", + "nativeSrc": "120778:4:23", "nodeType": "YulLiteral", - "src": "120778:4:10", + "src": "120778:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "120768:3:10", + "nativeSrc": "120768:3:23", "nodeType": "YulIdentifier", - "src": "120768:3:10" + "src": "120768:3:23" }, - "nativeSrc": "120768:15:10", + "nativeSrc": "120768:15:23", "nodeType": "YulFunctionCall", - "src": "120768:15:10" + "src": "120768:15:23" }, { "name": "i", - "nativeSrc": "120785:1:10", + "nativeSrc": "120785:1:23", "nodeType": "YulIdentifier", - "src": "120785:1:10" + "src": "120785:1:23" } ], "functionName": { "name": "add", - "nativeSrc": "120764:3:10", + "nativeSrc": "120764:3:23", "nodeType": "YulIdentifier", - "src": "120764:3:10" + "src": "120764:3:23" }, - "nativeSrc": "120764:23:10", + "nativeSrc": "120764:23:23", "nodeType": "YulFunctionCall", - "src": "120764:23:10" + "src": "120764:23:23" } ], "functionName": { "name": "mload", - "nativeSrc": "120758:5:10", + "nativeSrc": "120758:5:23", "nodeType": "YulIdentifier", - "src": "120758:5:10" + "src": "120758:5:23" }, - "nativeSrc": "120758:30:10", + "nativeSrc": "120758:30:23", "nodeType": "YulFunctionCall", - "src": "120758:30:10" + "src": "120758:30:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "120729:6:10", + "nativeSrc": "120729:6:23", "nodeType": "YulIdentifier", - "src": "120729:6:10" + "src": "120729:6:23" }, - "nativeSrc": "120729:60:10", + "nativeSrc": "120729:60:23", "nodeType": "YulFunctionCall", - "src": "120729:60:10" + "src": "120729:60:23" }, - "nativeSrc": "120729:60:10", + "nativeSrc": "120729:60:23", "nodeType": "YulExpressionStatement", - "src": "120729:60:10" + "src": "120729:60:23" } ] }, @@ -141234,106 +160209,106 @@ "arguments": [ { "name": "i", - "nativeSrc": "120683:1:10", + "nativeSrc": "120683:1:23", "nodeType": "YulIdentifier", - "src": "120683:1:10" + "src": "120683:1:23" }, { "name": "n", - "nativeSrc": "120686:1:10", + "nativeSrc": "120686:1:23", "nodeType": "YulIdentifier", - "src": "120686:1:10" + "src": "120686:1:23" } ], "functionName": { "name": "lt", - "nativeSrc": "120680:2:10", + "nativeSrc": "120680:2:23", "nodeType": "YulIdentifier", - "src": "120680:2:10" + "src": "120680:2:23" }, - "nativeSrc": "120680:8:10", + "nativeSrc": "120680:8:23", "nodeType": "YulFunctionCall", - "src": "120680:8:10" + "src": "120680:8:23" }, - "nativeSrc": "120661:142:10", + "nativeSrc": "120661:142:23", "nodeType": "YulForLoop", "post": { - "nativeSrc": "120689:21:10", + "nativeSrc": "120689:21:23", "nodeType": "YulBlock", - "src": "120689:21:10", + "src": "120689:21:23", "statements": [ { - "nativeSrc": "120691:17:10", + "nativeSrc": "120691:17:23", "nodeType": "YulAssignment", - "src": "120691:17:10", + "src": "120691:17:23", "value": { "arguments": [ { "name": "i", - "nativeSrc": "120700:1:10", + "nativeSrc": "120700:1:23", "nodeType": "YulIdentifier", - "src": "120700:1:10" + "src": "120700:1:23" }, { "kind": "number", - "nativeSrc": "120703:4:10", + "nativeSrc": "120703:4:23", "nodeType": "YulLiteral", - "src": "120703:4:10", + "src": "120703:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "120696:3:10", + "nativeSrc": "120696:3:23", "nodeType": "YulIdentifier", - "src": "120696:3:10" + "src": "120696:3:23" }, - "nativeSrc": "120696:12:10", + "nativeSrc": "120696:12:23", "nodeType": "YulFunctionCall", - "src": "120696:12:10" + "src": "120696:12:23" }, "variableNames": [ { "name": "i", - "nativeSrc": "120691:1:10", + "nativeSrc": "120691:1:23", "nodeType": "YulIdentifier", - "src": "120691:1:10" + "src": "120691:1:23" } ] } ] }, "pre": { - "nativeSrc": "120665:14:10", + "nativeSrc": "120665:14:23", "nodeType": "YulBlock", - "src": "120665:14:10", + "src": "120665:14:23", "statements": [ { - "nativeSrc": "120667:10:10", + "nativeSrc": "120667:10:23", "nodeType": "YulVariableDeclaration", - "src": "120667:10:10", + "src": "120667:10:23", "value": { "kind": "number", - "nativeSrc": "120676:1:10", + "nativeSrc": "120676:1:23", "nodeType": "YulLiteral", - "src": "120676:1:10", + "src": "120676:1:23", "type": "", "value": "0" }, "variables": [ { "name": "i", - "nativeSrc": "120671:1:10", + "nativeSrc": "120671:1:23", "nodeType": "YulTypedName", - "src": "120671:1:10", + "src": "120671:1:23", "type": "" } ] } ] }, - "src": "120661:142:10" + "src": "120661:142:23" }, { "expression": { @@ -141342,51 +160317,51 @@ "arguments": [ { "name": "m", - "nativeSrc": "120827:1:10", + "nativeSrc": "120827:1:23", "nodeType": "YulIdentifier", - "src": "120827:1:10" + "src": "120827:1:23" }, { "kind": "number", - "nativeSrc": "120830:4:10", + "nativeSrc": "120830:4:23", "nodeType": "YulLiteral", - "src": "120830:4:10", + "src": "120830:4:23", "type": "", "value": "0x6b" } ], "functionName": { "name": "add", - "nativeSrc": "120823:3:10", + "nativeSrc": "120823:3:23", "nodeType": "YulIdentifier", - "src": "120823:3:10" + "src": "120823:3:23" }, - "nativeSrc": "120823:12:10", + "nativeSrc": "120823:12:23", "nodeType": "YulFunctionCall", - "src": "120823:12:10" + "src": "120823:12:23" }, { "kind": "number", - "nativeSrc": "120837:66:10", + "nativeSrc": "120837:66:23", "nodeType": "YulLiteral", - "src": "120837:66:10", + "src": "120837:66:23", "type": "", "value": "0xb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f3" } ], "functionName": { "name": "mstore", - "nativeSrc": "120816:6:10", + "nativeSrc": "120816:6:23", "nodeType": "YulIdentifier", - "src": "120816:6:10" + "src": "120816:6:23" }, - "nativeSrc": "120816:88:10", + "nativeSrc": "120816:88:23", "nodeType": "YulFunctionCall", - "src": "120816:88:10" + "src": "120816:88:23" }, - "nativeSrc": "120816:88:10", + "nativeSrc": "120816:88:23", "nodeType": "YulExpressionStatement", - "src": "120816:88:10" + "src": "120816:88:23" }, { "expression": { @@ -141395,51 +160370,51 @@ "arguments": [ { "name": "m", - "nativeSrc": "120928:1:10", + "nativeSrc": "120928:1:23", "nodeType": "YulIdentifier", - "src": "120928:1:10" + "src": "120928:1:23" }, { "kind": "number", - "nativeSrc": "120931:4:10", + "nativeSrc": "120931:4:23", "nodeType": "YulLiteral", - "src": "120931:4:10", + "src": "120931:4:23", "type": "", "value": "0x4b" } ], "functionName": { "name": "add", - "nativeSrc": "120924:3:10", + "nativeSrc": "120924:3:23", "nodeType": "YulIdentifier", - "src": "120924:3:10" + "src": "120924:3:23" }, - "nativeSrc": "120924:12:10", + "nativeSrc": "120924:12:23", "nodeType": "YulFunctionCall", - "src": "120924:12:10" + "src": "120924:12:23" }, { "kind": "number", - "nativeSrc": "120938:66:10", + "nativeSrc": "120938:66:23", "nodeType": "YulLiteral", - "src": "120938:66:10", + "src": "120938:66:23", "type": "", "value": "0x1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6c" } ], "functionName": { "name": "mstore", - "nativeSrc": "120917:6:10", + "nativeSrc": "120917:6:23", "nodeType": "YulIdentifier", - "src": "120917:6:10" + "src": "120917:6:23" }, - "nativeSrc": "120917:88:10", + "nativeSrc": "120917:88:23", "nodeType": "YulFunctionCall", - "src": "120917:88:10" + "src": "120917:88:23" }, - "nativeSrc": "120917:88:10", + "nativeSrc": "120917:88:23", "nodeType": "YulExpressionStatement", - "src": "120917:88:10" + "src": "120917:88:23" }, { "expression": { @@ -141448,51 +160423,51 @@ "arguments": [ { "name": "m", - "nativeSrc": "121029:1:10", + "nativeSrc": "121029:1:23", "nodeType": "YulIdentifier", - "src": "121029:1:10" + "src": "121029:1:23" }, { "kind": "number", - "nativeSrc": "121032:4:10", + "nativeSrc": "121032:4:23", "nodeType": "YulLiteral", - "src": "121032:4:10", + "src": "121032:4:23", "type": "", "value": "0x2b" } ], "functionName": { "name": "add", - "nativeSrc": "121025:3:10", + "nativeSrc": "121025:3:23", "nodeType": "YulIdentifier", - "src": "121025:3:10" + "src": "121025:3:23" }, - "nativeSrc": "121025:12:10", + "nativeSrc": "121025:12:23", "nodeType": "YulFunctionCall", - "src": "121025:12:10" + "src": "121025:12:23" }, { "kind": "number", - "nativeSrc": "121039:48:10", + "nativeSrc": "121039:48:23", "nodeType": "YulLiteral", - "src": "121039:48:10", + "src": "121039:48:23", "type": "", "value": "0x60195155f3363d3d373d3d363d602036600436635c60da" } ], "functionName": { "name": "mstore", - "nativeSrc": "121018:6:10", + "nativeSrc": "121018:6:23", "nodeType": "YulIdentifier", - "src": "121018:6:10" + "src": "121018:6:23" }, - "nativeSrc": "121018:70:10", + "nativeSrc": "121018:70:23", "nodeType": "YulFunctionCall", - "src": "121018:70:10" + "src": "121018:70:23" }, - "nativeSrc": "121018:70:10", + "nativeSrc": "121018:70:23", "nodeType": "YulExpressionStatement", - "src": "121018:70:10" + "src": "121018:70:23" }, { "expression": { @@ -141501,66 +160476,66 @@ "arguments": [ { "name": "m", - "nativeSrc": "121112:1:10", + "nativeSrc": "121112:1:23", "nodeType": "YulIdentifier", - "src": "121112:1:10" + "src": "121112:1:23" }, { "kind": "number", - "nativeSrc": "121115:4:10", + "nativeSrc": "121115:4:23", "nodeType": "YulLiteral", - "src": "121115:4:10", + "src": "121115:4:23", "type": "", "value": "0x14" } ], "functionName": { "name": "add", - "nativeSrc": "121108:3:10", + "nativeSrc": "121108:3:23", "nodeType": "YulIdentifier", - "src": "121108:3:10" + "src": "121108:3:23" }, - "nativeSrc": "121108:12:10", + "nativeSrc": "121108:12:23", "nodeType": "YulFunctionCall", - "src": "121108:12:10" + "src": "121108:12:23" }, { "name": "beacon", - "nativeSrc": "121122:6:10", + "nativeSrc": "121122:6:23", "nodeType": "YulIdentifier", - "src": "121122:6:10" + "src": "121122:6:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "121101:6:10", + "nativeSrc": "121101:6:23", "nodeType": "YulIdentifier", - "src": "121101:6:10" + "src": "121101:6:23" }, - "nativeSrc": "121101:28:10", + "nativeSrc": "121101:28:23", "nodeType": "YulFunctionCall", - "src": "121101:28:10" + "src": "121101:28:23" }, - "nativeSrc": "121101:28:10", + "nativeSrc": "121101:28:23", "nodeType": "YulExpressionStatement", - "src": "121101:28:10" + "src": "121101:28:23" }, { "expression": { "arguments": [ { "name": "m", - "nativeSrc": "121149:1:10", + "nativeSrc": "121149:1:23", "nodeType": "YulIdentifier", - "src": "121149:1:10" + "src": "121149:1:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "121156:22:10", + "nativeSrc": "121156:22:23", "nodeType": "YulLiteral", - "src": "121156:22:10", + "src": "121156:22:23", "type": "", "value": "0x6100523d8160233d3973" }, @@ -141568,132 +160543,132 @@ "arguments": [ { "kind": "number", - "nativeSrc": "121184:2:10", + "nativeSrc": "121184:2:23", "nodeType": "YulLiteral", - "src": "121184:2:10", + "src": "121184:2:23", "type": "", "value": "56" }, { "name": "n", - "nativeSrc": "121188:1:10", + "nativeSrc": "121188:1:23", "nodeType": "YulIdentifier", - "src": "121188:1:10" + "src": "121188:1:23" } ], "functionName": { "name": "shl", - "nativeSrc": "121180:3:10", + "nativeSrc": "121180:3:23", "nodeType": "YulIdentifier", - "src": "121180:3:10" + "src": "121180:3:23" }, - "nativeSrc": "121180:10:10", + "nativeSrc": "121180:10:23", "nodeType": "YulFunctionCall", - "src": "121180:10:10" + "src": "121180:10:23" } ], "functionName": { "name": "add", - "nativeSrc": "121152:3:10", + "nativeSrc": "121152:3:23", "nodeType": "YulIdentifier", - "src": "121152:3:10" + "src": "121152:3:23" }, - "nativeSrc": "121152:39:10", + "nativeSrc": "121152:39:23", "nodeType": "YulFunctionCall", - "src": "121152:39:10" + "src": "121152:39:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "121142:6:10", + "nativeSrc": "121142:6:23", "nodeType": "YulIdentifier", - "src": "121142:6:10" + "src": "121142:6:23" }, - "nativeSrc": "121142:50:10", + "nativeSrc": "121142:50:23", "nodeType": "YulFunctionCall", - "src": "121142:50:10" + "src": "121142:50:23" }, - "nativeSrc": "121142:50:10", + "nativeSrc": "121142:50:23", "nodeType": "YulExpressionStatement", - "src": "121142:50:10" + "src": "121142:50:23" }, { - "nativeSrc": "121205:45:10", + "nativeSrc": "121205:45:23", "nodeType": "YulAssignment", - "src": "121205:45:10", + "src": "121205:45:23", "value": { "arguments": [ { "arguments": [ { "name": "m", - "nativeSrc": "121227:1:10", + "nativeSrc": "121227:1:23", "nodeType": "YulIdentifier", - "src": "121227:1:10" + "src": "121227:1:23" }, { "kind": "number", - "nativeSrc": "121230:4:10", + "nativeSrc": "121230:4:23", "nodeType": "YulLiteral", - "src": "121230:4:10", + "src": "121230:4:23", "type": "", "value": "0x16" } ], "functionName": { "name": "add", - "nativeSrc": "121223:3:10", + "nativeSrc": "121223:3:23", "nodeType": "YulIdentifier", - "src": "121223:3:10" + "src": "121223:3:23" }, - "nativeSrc": "121223:12:10", + "nativeSrc": "121223:12:23", "nodeType": "YulFunctionCall", - "src": "121223:12:10" + "src": "121223:12:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "121241:1:10", + "nativeSrc": "121241:1:23", "nodeType": "YulIdentifier", - "src": "121241:1:10" + "src": "121241:1:23" }, { "kind": "number", - "nativeSrc": "121244:4:10", + "nativeSrc": "121244:4:23", "nodeType": "YulLiteral", - "src": "121244:4:10", + "src": "121244:4:23", "type": "", "value": "0x75" } ], "functionName": { "name": "add", - "nativeSrc": "121237:3:10", + "nativeSrc": "121237:3:23", "nodeType": "YulIdentifier", - "src": "121237:3:10" + "src": "121237:3:23" }, - "nativeSrc": "121237:12:10", + "nativeSrc": "121237:12:23", "nodeType": "YulFunctionCall", - "src": "121237:12:10" + "src": "121237:12:23" } ], "functionName": { "name": "keccak256", - "nativeSrc": "121213:9:10", + "nativeSrc": "121213:9:23", "nodeType": "YulIdentifier", - "src": "121213:9:10" + "src": "121213:9:23" }, - "nativeSrc": "121213:37:10", + "nativeSrc": "121213:37:23", "nodeType": "YulFunctionCall", - "src": "121213:37:10" + "src": "121213:37:23" }, "variableNames": [ { "name": "hash", - "nativeSrc": "121205:4:10", + "nativeSrc": "121205:4:23", "nodeType": "YulIdentifier", - "src": "121205:4:10" + "src": "121205:4:23" } ] } @@ -141703,66 +160678,66 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4629, + "declaration": 6235, "isOffset": false, "isSlot": false, - "src": "120478:4:10", + "src": "120478:4:23", "valueSize": 1 }, { - "declaration": 4629, + "declaration": 6235, "isOffset": false, "isSlot": false, - "src": "120772:4:10", + "src": "120772:4:23", "valueSize": 1 }, { - "declaration": 4627, + "declaration": 6233, "isOffset": false, "isSlot": false, - "src": "121122:6:10", + "src": "121122:6:23", "valueSize": 1 }, { - "declaration": 4632, + "declaration": 6238, "isOffset": false, "isSlot": false, - "src": "121205:4:10", + "src": "121205:4:23", "valueSize": 1 } ], - "id": 4634, + "id": 6240, "nodeType": "InlineAssembly", - "src": "120407:853:10" + "src": "120407:853:23" } ] }, "documentation": { - "id": 4625, + "id": 6231, "nodeType": "StructuredDocumentation", - "src": "120115:94:10", + "src": "120115:94:23", "text": "@dev Returns the initialization code hash of the minimal ERC1967 beacon proxy with `args`." }, - "id": 4636, + "id": 6242, "implemented": true, "kind": "function", "modifiers": [], "name": "initCodeHashERC1967BeaconProxy", - "nameLocation": "120223:30:10", + "nameLocation": "120223:30:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4630, + "id": 6236, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4627, + "id": 6233, "mutability": "mutable", "name": "beacon", - "nameLocation": "120262:6:10", + "nameLocation": "120262:6:23", "nodeType": "VariableDeclaration", - "scope": 4636, - "src": "120254:14:10", + "scope": 6242, + "src": "120254:14:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -141770,10 +160745,10 @@ "typeString": "address" }, "typeName": { - "id": 4626, + "id": 6232, "name": "address", "nodeType": "ElementaryTypeName", - "src": "120254:7:10", + "src": "120254:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -141784,13 +160759,13 @@ }, { "constant": false, - "id": 4629, + "id": 6235, "mutability": "mutable", "name": "args", - "nameLocation": "120283:4:10", + "nameLocation": "120283:4:23", "nodeType": "VariableDeclaration", - "scope": 4636, - "src": "120270:17:10", + "scope": 6242, + "src": "120270:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -141798,10 +160773,10 @@ "typeString": "bytes" }, "typeName": { - "id": 4628, + "id": 6234, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "120270:5:10", + "src": "120270:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -141810,21 +160785,21 @@ "visibility": "internal" } ], - "src": "120253:35:10" + "src": "120253:35:23" }, "returnParameters": { - "id": 4633, + "id": 6239, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4632, + "id": 6238, "mutability": "mutable", "name": "hash", - "nameLocation": "120344:4:10", + "nameLocation": "120344:4:23", "nodeType": "VariableDeclaration", - "scope": 4636, - "src": "120336:12:10", + "scope": 6242, + "src": "120336:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -141832,10 +160807,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4631, + "id": 6237, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "120336:7:10", + "src": "120336:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -141844,34 +160819,34 @@ "visibility": "internal" } ], - "src": "120335:14:10" + "src": "120335:14:23" }, - "scope": 5093, - "src": "120214:1052:10", + "scope": 6699, + "src": "120214:1052:23", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4665, + "id": 6271, "nodeType": "Block", - "src": "121668:147:10", + "src": "121668:147:23", "statements": [ { "assignments": [ - 4651 + 6257 ], "declarations": [ { "constant": false, - "id": 4651, + "id": 6257, "mutability": "mutable", "name": "hash", - "nameLocation": "121686:4:10", + "nameLocation": "121686:4:23", "nodeType": "VariableDeclaration", - "scope": 4665, - "src": "121678:12:10", + "scope": 6271, + "src": "121678:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -141879,10 +160854,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4650, + "id": 6256, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "121678:7:10", + "src": "121678:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -141891,28 +160866,28 @@ "visibility": "internal" } ], - "id": 4656, + "id": 6262, "initialValue": { "arguments": [ { - "id": 4653, + "id": 6259, "name": "beacon", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4639, - "src": "121724:6:10", + "referencedDeclaration": 6245, + "src": "121724:6:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 4654, + "id": 6260, "name": "args", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4641, - "src": "121732:4:10", + "referencedDeclaration": 6247, + "src": "121732:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -141930,21 +160905,21 @@ "typeString": "bytes memory" } ], - "id": 4652, + "id": 6258, "name": "initCodeHashERC1967BeaconProxy", "nodeType": "Identifier", "overloadedDeclarations": [ - 4474, - 4636 + 6080, + 6242 ], - "referencedDeclaration": 4636, - "src": "121693:30:10", + "referencedDeclaration": 6242, + "src": "121693:30:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (address,bytes memory) pure returns (bytes32)" } }, - "id": 4655, + "id": 6261, "isConstant": false, "isLValue": false, "isPure": false, @@ -141953,7 +160928,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "121693:44:10", + "src": "121693:44:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -141961,22 +160936,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "121678:59:10" + "src": "121678:59:23" }, { "expression": { - "id": 4663, + "id": 6269, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 4657, + "id": 6263, "name": "predicted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4648, - "src": "121747:9:10", + "referencedDeclaration": 6254, + "src": "121747:9:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -141987,36 +160962,36 @@ "rightHandSide": { "arguments": [ { - "id": 4659, + "id": 6265, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4651, - "src": "121787:4:10", + "referencedDeclaration": 6257, + "src": "121787:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 4660, + "id": 6266, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4643, - "src": "121793:4:10", + "referencedDeclaration": 6249, + "src": "121793:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 4661, + "id": 6267, "name": "deployer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4645, - "src": "121799:8:10", + "referencedDeclaration": 6251, + "src": "121799:8:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -142038,22 +161013,22 @@ "typeString": "address" } ], - "id": 4658, + "id": 6264, "name": "predictDeterministicAddress", "nodeType": "Identifier", "overloadedDeclarations": [ - 3226, - 3499, - 5070 + 4832, + 5105, + 6676 ], - "referencedDeclaration": 5070, - "src": "121759:27:10", + "referencedDeclaration": 6676, + "src": "121759:27:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_address_$", "typeString": "function (bytes32,bytes32,address) pure returns (address)" } }, - "id": 4662, + "id": 6268, "isConstant": false, "isLValue": false, "isPure": false, @@ -142062,51 +161037,51 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "121759:49:10", + "src": "121759:49:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "121747:61:10", + "src": "121747:61:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 4664, + "id": 6270, "nodeType": "ExpressionStatement", - "src": "121747:61:10" + "src": "121747:61:23" } ] }, "documentation": { - "id": 4637, + "id": 6243, "nodeType": "StructuredDocumentation", - "src": "121272:189:10", + "src": "121272:189:23", "text": "@dev Returns the address of the ERC1967 beacon proxy with `args`, with `salt` by `deployer`.\n Note: The returned result has dirty upper 96 bits. Please clean if used in assembly." }, - "id": 4666, + "id": 6272, "implemented": true, "kind": "function", "modifiers": [], "name": "predictDeterministicAddressERC1967BeaconProxy", - "nameLocation": "121475:45:10", + "nameLocation": "121475:45:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4646, + "id": 6252, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4639, + "id": 6245, "mutability": "mutable", "name": "beacon", - "nameLocation": "121538:6:10", + "nameLocation": "121538:6:23", "nodeType": "VariableDeclaration", - "scope": 4666, - "src": "121530:14:10", + "scope": 6272, + "src": "121530:14:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -142114,10 +161089,10 @@ "typeString": "address" }, "typeName": { - "id": 4638, + "id": 6244, "name": "address", "nodeType": "ElementaryTypeName", - "src": "121530:7:10", + "src": "121530:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -142128,13 +161103,13 @@ }, { "constant": false, - "id": 4641, + "id": 6247, "mutability": "mutable", "name": "args", - "nameLocation": "121567:4:10", + "nameLocation": "121567:4:23", "nodeType": "VariableDeclaration", - "scope": 4666, - "src": "121554:17:10", + "scope": 6272, + "src": "121554:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -142142,10 +161117,10 @@ "typeString": "bytes" }, "typeName": { - "id": 4640, + "id": 6246, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "121554:5:10", + "src": "121554:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -142155,13 +161130,13 @@ }, { "constant": false, - "id": 4643, + "id": 6249, "mutability": "mutable", "name": "salt", - "nameLocation": "121589:4:10", + "nameLocation": "121589:4:23", "nodeType": "VariableDeclaration", - "scope": 4666, - "src": "121581:12:10", + "scope": 6272, + "src": "121581:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -142169,10 +161144,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4642, + "id": 6248, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "121581:7:10", + "src": "121581:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -142182,13 +161157,13 @@ }, { "constant": false, - "id": 4645, + "id": 6251, "mutability": "mutable", "name": "deployer", - "nameLocation": "121611:8:10", + "nameLocation": "121611:8:23", "nodeType": "VariableDeclaration", - "scope": 4666, - "src": "121603:16:10", + "scope": 6272, + "src": "121603:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -142196,10 +161171,10 @@ "typeString": "address" }, "typeName": { - "id": 4644, + "id": 6250, "name": "address", "nodeType": "ElementaryTypeName", - "src": "121603:7:10", + "src": "121603:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -142209,21 +161184,21 @@ "visibility": "internal" } ], - "src": "121520:105:10" + "src": "121520:105:23" }, "returnParameters": { - "id": 4649, + "id": 6255, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4648, + "id": 6254, "mutability": "mutable", "name": "predicted", - "nameLocation": "121657:9:10", + "nameLocation": "121657:9:23", "nodeType": "VariableDeclaration", - "scope": 4666, - "src": "121649:17:10", + "scope": 6272, + "src": "121649:17:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -142231,10 +161206,10 @@ "typeString": "address" }, "typeName": { - "id": 4647, + "id": 6253, "name": "address", "nodeType": "ElementaryTypeName", - "src": "121649:7:10", + "src": "121649:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -142244,57 +161219,57 @@ "visibility": "internal" } ], - "src": "121648:19:10" + "src": "121648:19:23" }, - "scope": 5093, - "src": "121466:349:10", + "scope": 6699, + "src": "121466:349:23", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4675, + "id": 6281, "nodeType": "Block", - "src": "122001:371:10", + "src": "122001:371:23", "statements": [ { "AST": { - "nativeSrc": "122063:303:10", + "nativeSrc": "122063:303:23", "nodeType": "YulBlock", - "src": "122063:303:10", + "src": "122063:303:23", "statements": [ { - "nativeSrc": "122077:19:10", + "nativeSrc": "122077:19:23", "nodeType": "YulAssignment", - "src": "122077:19:10", + "src": "122077:19:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "122091:4:10", + "nativeSrc": "122091:4:23", "nodeType": "YulLiteral", - "src": "122091:4:10", + "src": "122091:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "122085:5:10", + "nativeSrc": "122085:5:23", "nodeType": "YulIdentifier", - "src": "122085:5:10" + "src": "122085:5:23" }, - "nativeSrc": "122085:11:10", + "nativeSrc": "122085:11:23", "nodeType": "YulFunctionCall", - "src": "122085:11:10" + "src": "122085:11:23" }, "variableNames": [ { "name": "args", - "nativeSrc": "122077:4:10", + "nativeSrc": "122077:4:23", "nodeType": "YulIdentifier", - "src": "122077:4:10" + "src": "122077:4:23" } ] }, @@ -142303,17 +161278,17 @@ "arguments": [ { "name": "args", - "nativeSrc": "122116:4:10", + "nativeSrc": "122116:4:23", "nodeType": "YulIdentifier", - "src": "122116:4:10" + "src": "122116:4:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "122126:12:10", + "nativeSrc": "122126:12:23", "nodeType": "YulLiteral", - "src": "122126:12:10", + "src": "122126:12:23", "type": "", "value": "0xffffffffff" }, @@ -142323,107 +161298,107 @@ "arguments": [ { "name": "instance", - "nativeSrc": "122156:8:10", + "nativeSrc": "122156:8:23", "nodeType": "YulIdentifier", - "src": "122156:8:10" + "src": "122156:8:23" } ], "functionName": { "name": "extcodesize", - "nativeSrc": "122144:11:10", + "nativeSrc": "122144:11:23", "nodeType": "YulIdentifier", - "src": "122144:11:10" + "src": "122144:11:23" }, - "nativeSrc": "122144:21:10", + "nativeSrc": "122144:21:23", "nodeType": "YulFunctionCall", - "src": "122144:21:10" + "src": "122144:21:23" }, { "kind": "number", - "nativeSrc": "122167:4:10", + "nativeSrc": "122167:4:23", "nodeType": "YulLiteral", - "src": "122167:4:10", + "src": "122167:4:23", "type": "", "value": "0x52" } ], "functionName": { "name": "sub", - "nativeSrc": "122140:3:10", + "nativeSrc": "122140:3:23", "nodeType": "YulIdentifier", - "src": "122140:3:10" + "src": "122140:3:23" }, - "nativeSrc": "122140:32:10", + "nativeSrc": "122140:32:23", "nodeType": "YulFunctionCall", - "src": "122140:32:10" + "src": "122140:32:23" } ], "functionName": { "name": "and", - "nativeSrc": "122122:3:10", + "nativeSrc": "122122:3:23", "nodeType": "YulIdentifier", - "src": "122122:3:10" + "src": "122122:3:23" }, - "nativeSrc": "122122:51:10", + "nativeSrc": "122122:51:23", "nodeType": "YulFunctionCall", - "src": "122122:51:10" + "src": "122122:51:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "122109:6:10", + "nativeSrc": "122109:6:23", "nodeType": "YulIdentifier", - "src": "122109:6:10" + "src": "122109:6:23" }, - "nativeSrc": "122109:65:10", + "nativeSrc": "122109:65:23", "nodeType": "YulFunctionCall", - "src": "122109:65:10" + "src": "122109:65:23" }, - "nativeSrc": "122109:65:10", + "nativeSrc": "122109:65:23", "nodeType": "YulExpressionStatement", - "src": "122109:65:10" + "src": "122109:65:23" }, { "expression": { "arguments": [ { "name": "instance", - "nativeSrc": "122220:8:10", + "nativeSrc": "122220:8:23", "nodeType": "YulIdentifier", - "src": "122220:8:10" + "src": "122220:8:23" }, { "arguments": [ { "name": "args", - "nativeSrc": "122234:4:10", + "nativeSrc": "122234:4:23", "nodeType": "YulIdentifier", - "src": "122234:4:10" + "src": "122234:4:23" }, { "kind": "number", - "nativeSrc": "122240:4:10", + "nativeSrc": "122240:4:23", "nodeType": "YulLiteral", - "src": "122240:4:10", + "src": "122240:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "122230:3:10", + "nativeSrc": "122230:3:23", "nodeType": "YulIdentifier", - "src": "122230:3:10" + "src": "122230:3:23" }, - "nativeSrc": "122230:15:10", + "nativeSrc": "122230:15:23", "nodeType": "YulFunctionCall", - "src": "122230:15:10" + "src": "122230:15:23" }, { "kind": "number", - "nativeSrc": "122247:4:10", + "nativeSrc": "122247:4:23", "nodeType": "YulLiteral", - "src": "122247:4:10", + "src": "122247:4:23", "type": "", "value": "0x52" }, @@ -142433,63 +161408,63 @@ "arguments": [ { "name": "args", - "nativeSrc": "122263:4:10", + "nativeSrc": "122263:4:23", "nodeType": "YulIdentifier", - "src": "122263:4:10" + "src": "122263:4:23" } ], "functionName": { "name": "mload", - "nativeSrc": "122257:5:10", + "nativeSrc": "122257:5:23", "nodeType": "YulIdentifier", - "src": "122257:5:10" + "src": "122257:5:23" }, - "nativeSrc": "122257:11:10", + "nativeSrc": "122257:11:23", "nodeType": "YulFunctionCall", - "src": "122257:11:10" + "src": "122257:11:23" }, { "kind": "number", - "nativeSrc": "122270:4:10", + "nativeSrc": "122270:4:23", "nodeType": "YulLiteral", - "src": "122270:4:10", + "src": "122270:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "122253:3:10", + "nativeSrc": "122253:3:23", "nodeType": "YulIdentifier", - "src": "122253:3:10" + "src": "122253:3:23" }, - "nativeSrc": "122253:22:10", + "nativeSrc": "122253:22:23", "nodeType": "YulFunctionCall", - "src": "122253:22:10" + "src": "122253:22:23" } ], "functionName": { "name": "extcodecopy", - "nativeSrc": "122208:11:10", + "nativeSrc": "122208:11:23", "nodeType": "YulIdentifier", - "src": "122208:11:10" + "src": "122208:11:23" }, - "nativeSrc": "122208:68:10", + "nativeSrc": "122208:68:23", "nodeType": "YulFunctionCall", - "src": "122208:68:10" + "src": "122208:68:23" }, - "nativeSrc": "122208:68:10", + "nativeSrc": "122208:68:23", "nodeType": "YulExpressionStatement", - "src": "122208:68:10" + "src": "122208:68:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "122296:4:10", + "nativeSrc": "122296:4:23", "nodeType": "YulLiteral", - "src": "122296:4:10", + "src": "122296:4:23", "type": "", "value": "0x40" }, @@ -142499,73 +161474,73 @@ "arguments": [ { "name": "args", - "nativeSrc": "122312:4:10", + "nativeSrc": "122312:4:23", "nodeType": "YulIdentifier", - "src": "122312:4:10" + "src": "122312:4:23" } ], "functionName": { "name": "mload", - "nativeSrc": "122306:5:10", + "nativeSrc": "122306:5:23", "nodeType": "YulIdentifier", - "src": "122306:5:10" + "src": "122306:5:23" }, - "nativeSrc": "122306:11:10", + "nativeSrc": "122306:11:23", "nodeType": "YulFunctionCall", - "src": "122306:11:10" + "src": "122306:11:23" }, { "arguments": [ { "name": "args", - "nativeSrc": "122323:4:10", + "nativeSrc": "122323:4:23", "nodeType": "YulIdentifier", - "src": "122323:4:10" + "src": "122323:4:23" }, { "kind": "number", - "nativeSrc": "122329:4:10", + "nativeSrc": "122329:4:23", "nodeType": "YulLiteral", - "src": "122329:4:10", + "src": "122329:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "add", - "nativeSrc": "122319:3:10", + "nativeSrc": "122319:3:23", "nodeType": "YulIdentifier", - "src": "122319:3:10" + "src": "122319:3:23" }, - "nativeSrc": "122319:15:10", + "nativeSrc": "122319:15:23", "nodeType": "YulFunctionCall", - "src": "122319:15:10" + "src": "122319:15:23" } ], "functionName": { "name": "add", - "nativeSrc": "122302:3:10", + "nativeSrc": "122302:3:23", "nodeType": "YulIdentifier", - "src": "122302:3:10" + "src": "122302:3:23" }, - "nativeSrc": "122302:33:10", + "nativeSrc": "122302:33:23", "nodeType": "YulFunctionCall", - "src": "122302:33:10" + "src": "122302:33:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "122289:6:10", + "nativeSrc": "122289:6:23", "nodeType": "YulIdentifier", - "src": "122289:6:10" + "src": "122289:6:23" }, - "nativeSrc": "122289:47:10", + "nativeSrc": "122289:47:23", "nodeType": "YulFunctionCall", - "src": "122289:47:10" + "src": "122289:47:23" }, - "nativeSrc": "122289:47:10", + "nativeSrc": "122289:47:23", "nodeType": "YulExpressionStatement", - "src": "122289:47:10" + "src": "122289:47:23" } ] }, @@ -142573,94 +161548,94 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4672, + "declaration": 6278, "isOffset": false, "isSlot": false, - "src": "122077:4:10", + "src": "122077:4:23", "valueSize": 1 }, { - "declaration": 4672, + "declaration": 6278, "isOffset": false, "isSlot": false, - "src": "122116:4:10", + "src": "122116:4:23", "valueSize": 1 }, { - "declaration": 4672, + "declaration": 6278, "isOffset": false, "isSlot": false, - "src": "122234:4:10", + "src": "122234:4:23", "valueSize": 1 }, { - "declaration": 4672, + "declaration": 6278, "isOffset": false, "isSlot": false, - "src": "122263:4:10", + "src": "122263:4:23", "valueSize": 1 }, { - "declaration": 4672, + "declaration": 6278, "isOffset": false, "isSlot": false, - "src": "122312:4:10", + "src": "122312:4:23", "valueSize": 1 }, { - "declaration": 4672, + "declaration": 6278, "isOffset": false, "isSlot": false, - "src": "122323:4:10", + "src": "122323:4:23", "valueSize": 1 }, { - "declaration": 4669, + "declaration": 6275, "isOffset": false, "isSlot": false, - "src": "122156:8:10", + "src": "122156:8:23", "valueSize": 1 }, { - "declaration": 4669, + "declaration": 6275, "isOffset": false, "isSlot": false, - "src": "122220:8:10", + "src": "122220:8:23", "valueSize": 1 } ], - "id": 4674, + "id": 6280, "nodeType": "InlineAssembly", - "src": "122054:312:10" + "src": "122054:312:23" } ] }, "documentation": { - "id": 4667, + "id": 6273, "nodeType": "StructuredDocumentation", - "src": "121821:81:10", + "src": "121821:81:23", "text": "@dev Equivalent to `argsOnERC1967BeaconProxy(instance, start, 2 ** 256 - 1)`." }, - "id": 4676, + "id": 6282, "implemented": true, "kind": "function", "modifiers": [], "name": "argsOnERC1967BeaconProxy", - "nameLocation": "121916:24:10", + "nameLocation": "121916:24:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4670, + "id": 6276, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4669, + "id": 6275, "mutability": "mutable", "name": "instance", - "nameLocation": "121949:8:10", + "nameLocation": "121949:8:23", "nodeType": "VariableDeclaration", - "scope": 4676, - "src": "121941:16:10", + "scope": 6282, + "src": "121941:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -142668,10 +161643,10 @@ "typeString": "address" }, "typeName": { - "id": 4668, + "id": 6274, "name": "address", "nodeType": "ElementaryTypeName", - "src": "121941:7:10", + "src": "121941:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -142681,21 +161656,21 @@ "visibility": "internal" } ], - "src": "121940:18:10" + "src": "121940:18:23" }, "returnParameters": { - "id": 4673, + "id": 6279, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4672, + "id": 6278, "mutability": "mutable", "name": "args", - "nameLocation": "121995:4:10", + "nameLocation": "121995:4:23", "nodeType": "VariableDeclaration", - "scope": 4676, - "src": "121982:17:10", + "scope": 6282, + "src": "121982:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -142703,10 +161678,10 @@ "typeString": "bytes" }, "typeName": { - "id": 4671, + "id": 6277, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "121982:5:10", + "src": "121982:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -142715,71 +161690,71 @@ "visibility": "internal" } ], - "src": "121981:19:10" + "src": "121981:19:23" }, - "scope": 5093, - "src": "121907:465:10", + "scope": 6699, + "src": "121907:465:23", "stateMutability": "view", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4687, + "id": 6293, "nodeType": "Block", - "src": "122601:485:10", + "src": "122601:485:23", "statements": [ { "AST": { - "nativeSrc": "122663:417:10", + "nativeSrc": "122663:417:23", "nodeType": "YulBlock", - "src": "122663:417:10", + "src": "122663:417:23", "statements": [ { - "nativeSrc": "122677:19:10", + "nativeSrc": "122677:19:23", "nodeType": "YulAssignment", - "src": "122677:19:10", + "src": "122677:19:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "122691:4:10", + "nativeSrc": "122691:4:23", "nodeType": "YulLiteral", - "src": "122691:4:10", + "src": "122691:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "122685:5:10", + "nativeSrc": "122685:5:23", "nodeType": "YulIdentifier", - "src": "122685:5:10" + "src": "122685:5:23" }, - "nativeSrc": "122685:11:10", + "nativeSrc": "122685:11:23", "nodeType": "YulFunctionCall", - "src": "122685:11:10" + "src": "122685:11:23" }, "variableNames": [ { "name": "args", - "nativeSrc": "122677:4:10", + "nativeSrc": "122677:4:23", "nodeType": "YulIdentifier", - "src": "122677:4:10" + "src": "122677:4:23" } ] }, { - "nativeSrc": "122709:60:10", + "nativeSrc": "122709:60:23", "nodeType": "YulVariableDeclaration", - "src": "122709:60:10", + "src": "122709:60:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "122722:12:10", + "nativeSrc": "122722:12:23", "nodeType": "YulLiteral", - "src": "122722:12:10", + "src": "122722:12:23", "type": "", "value": "0xffffffffff" }, @@ -142789,80 +161764,80 @@ "arguments": [ { "name": "instance", - "nativeSrc": "122752:8:10", + "nativeSrc": "122752:8:23", "nodeType": "YulIdentifier", - "src": "122752:8:10" + "src": "122752:8:23" } ], "functionName": { "name": "extcodesize", - "nativeSrc": "122740:11:10", + "nativeSrc": "122740:11:23", "nodeType": "YulIdentifier", - "src": "122740:11:10" + "src": "122740:11:23" }, - "nativeSrc": "122740:21:10", + "nativeSrc": "122740:21:23", "nodeType": "YulFunctionCall", - "src": "122740:21:10" + "src": "122740:21:23" }, { "kind": "number", - "nativeSrc": "122763:4:10", + "nativeSrc": "122763:4:23", "nodeType": "YulLiteral", - "src": "122763:4:10", + "src": "122763:4:23", "type": "", "value": "0x52" } ], "functionName": { "name": "sub", - "nativeSrc": "122736:3:10", + "nativeSrc": "122736:3:23", "nodeType": "YulIdentifier", - "src": "122736:3:10" + "src": "122736:3:23" }, - "nativeSrc": "122736:32:10", + "nativeSrc": "122736:32:23", "nodeType": "YulFunctionCall", - "src": "122736:32:10" + "src": "122736:32:23" } ], "functionName": { "name": "and", - "nativeSrc": "122718:3:10", + "nativeSrc": "122718:3:23", "nodeType": "YulIdentifier", - "src": "122718:3:10" + "src": "122718:3:23" }, - "nativeSrc": "122718:51:10", + "nativeSrc": "122718:51:23", "nodeType": "YulFunctionCall", - "src": "122718:51:10" + "src": "122718:51:23" }, "variables": [ { "name": "n", - "nativeSrc": "122713:1:10", + "nativeSrc": "122713:1:23", "nodeType": "YulTypedName", - "src": "122713:1:10", + "src": "122713:1:23", "type": "" } ] }, { - "nativeSrc": "122782:56:10", + "nativeSrc": "122782:56:23", "nodeType": "YulVariableDeclaration", - "src": "122782:56:10", + "src": "122782:56:23", "value": { "arguments": [ { "name": "n", - "nativeSrc": "122795:1:10", + "nativeSrc": "122795:1:23", "nodeType": "YulIdentifier", - "src": "122795:1:10" + "src": "122795:1:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "122802:8:10", + "nativeSrc": "122802:8:23", "nodeType": "YulLiteral", - "src": "122802:8:10", + "src": "122802:8:23", "type": "", "value": "0xffffff" }, @@ -142872,72 +161847,72 @@ "arguments": [ { "name": "start", - "nativeSrc": "122819:5:10", + "nativeSrc": "122819:5:23", "nodeType": "YulIdentifier", - "src": "122819:5:10" + "src": "122819:5:23" }, { "name": "n", - "nativeSrc": "122826:1:10", + "nativeSrc": "122826:1:23", "nodeType": "YulIdentifier", - "src": "122826:1:10" + "src": "122826:1:23" } ], "functionName": { "name": "lt", - "nativeSrc": "122816:2:10", + "nativeSrc": "122816:2:23", "nodeType": "YulIdentifier", - "src": "122816:2:10" + "src": "122816:2:23" }, - "nativeSrc": "122816:12:10", + "nativeSrc": "122816:12:23", "nodeType": "YulFunctionCall", - "src": "122816:12:10" + "src": "122816:12:23" }, { "name": "start", - "nativeSrc": "122830:5:10", + "nativeSrc": "122830:5:23", "nodeType": "YulIdentifier", - "src": "122830:5:10" + "src": "122830:5:23" } ], "functionName": { "name": "mul", - "nativeSrc": "122812:3:10", + "nativeSrc": "122812:3:23", "nodeType": "YulIdentifier", - "src": "122812:3:10" + "src": "122812:3:23" }, - "nativeSrc": "122812:24:10", + "nativeSrc": "122812:24:23", "nodeType": "YulFunctionCall", - "src": "122812:24:10" + "src": "122812:24:23" } ], "functionName": { "name": "and", - "nativeSrc": "122798:3:10", + "nativeSrc": "122798:3:23", "nodeType": "YulIdentifier", - "src": "122798:3:10" + "src": "122798:3:23" }, - "nativeSrc": "122798:39:10", + "nativeSrc": "122798:39:23", "nodeType": "YulFunctionCall", - "src": "122798:39:10" + "src": "122798:39:23" } ], "functionName": { "name": "sub", - "nativeSrc": "122791:3:10", + "nativeSrc": "122791:3:23", "nodeType": "YulIdentifier", - "src": "122791:3:10" + "src": "122791:3:23" }, - "nativeSrc": "122791:47:10", + "nativeSrc": "122791:47:23", "nodeType": "YulFunctionCall", - "src": "122791:47:10" + "src": "122791:47:23" }, "variables": [ { "name": "l", - "nativeSrc": "122786:1:10", + "nativeSrc": "122786:1:23", "nodeType": "YulTypedName", - "src": "122786:1:10", + "src": "122786:1:23", "type": "" } ] @@ -142947,93 +161922,93 @@ "arguments": [ { "name": "instance", - "nativeSrc": "122863:8:10", + "nativeSrc": "122863:8:23", "nodeType": "YulIdentifier", - "src": "122863:8:10" + "src": "122863:8:23" }, { "name": "args", - "nativeSrc": "122873:4:10", + "nativeSrc": "122873:4:23", "nodeType": "YulIdentifier", - "src": "122873:4:10" + "src": "122873:4:23" }, { "arguments": [ { "name": "start", - "nativeSrc": "122883:5:10", + "nativeSrc": "122883:5:23", "nodeType": "YulIdentifier", - "src": "122883:5:10" + "src": "122883:5:23" }, { "kind": "number", - "nativeSrc": "122890:4:10", + "nativeSrc": "122890:4:23", "nodeType": "YulLiteral", - "src": "122890:4:10", + "src": "122890:4:23", "type": "", "value": "0x32" } ], "functionName": { "name": "add", - "nativeSrc": "122879:3:10", + "nativeSrc": "122879:3:23", "nodeType": "YulIdentifier", - "src": "122879:3:10" + "src": "122879:3:23" }, - "nativeSrc": "122879:16:10", + "nativeSrc": "122879:16:23", "nodeType": "YulFunctionCall", - "src": "122879:16:10" + "src": "122879:16:23" }, { "arguments": [ { "name": "l", - "nativeSrc": "122901:1:10", + "nativeSrc": "122901:1:23", "nodeType": "YulIdentifier", - "src": "122901:1:10" + "src": "122901:1:23" }, { "kind": "number", - "nativeSrc": "122904:4:10", + "nativeSrc": "122904:4:23", "nodeType": "YulLiteral", - "src": "122904:4:10", + "src": "122904:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "add", - "nativeSrc": "122897:3:10", + "nativeSrc": "122897:3:23", "nodeType": "YulIdentifier", - "src": "122897:3:10" + "src": "122897:3:23" }, - "nativeSrc": "122897:12:10", + "nativeSrc": "122897:12:23", "nodeType": "YulFunctionCall", - "src": "122897:12:10" + "src": "122897:12:23" } ], "functionName": { "name": "extcodecopy", - "nativeSrc": "122851:11:10", + "nativeSrc": "122851:11:23", "nodeType": "YulIdentifier", - "src": "122851:11:10" + "src": "122851:11:23" }, - "nativeSrc": "122851:59:10", + "nativeSrc": "122851:59:23", "nodeType": "YulFunctionCall", - "src": "122851:59:10" + "src": "122851:59:23" }, - "nativeSrc": "122851:59:10", + "nativeSrc": "122851:59:23", "nodeType": "YulExpressionStatement", - "src": "122851:59:10" + "src": "122851:59:23" }, { "expression": { "arguments": [ { "name": "args", - "nativeSrc": "122930:4:10", + "nativeSrc": "122930:4:23", "nodeType": "YulIdentifier", - "src": "122930:4:10" + "src": "122930:4:23" }, { "arguments": [ @@ -143041,86 +162016,86 @@ "arguments": [ { "name": "n", - "nativeSrc": "122944:1:10", + "nativeSrc": "122944:1:23", "nodeType": "YulIdentifier", - "src": "122944:1:10" + "src": "122944:1:23" }, { "name": "start", - "nativeSrc": "122947:5:10", + "nativeSrc": "122947:5:23", "nodeType": "YulIdentifier", - "src": "122947:5:10" + "src": "122947:5:23" } ], "functionName": { "name": "sub", - "nativeSrc": "122940:3:10", + "nativeSrc": "122940:3:23", "nodeType": "YulIdentifier", - "src": "122940:3:10" + "src": "122940:3:23" }, - "nativeSrc": "122940:13:10", + "nativeSrc": "122940:13:23", "nodeType": "YulFunctionCall", - "src": "122940:13:10" + "src": "122940:13:23" }, { "arguments": [ { "name": "start", - "nativeSrc": "122958:5:10", + "nativeSrc": "122958:5:23", "nodeType": "YulIdentifier", - "src": "122958:5:10" + "src": "122958:5:23" }, { "name": "n", - "nativeSrc": "122965:1:10", + "nativeSrc": "122965:1:23", "nodeType": "YulIdentifier", - "src": "122965:1:10" + "src": "122965:1:23" } ], "functionName": { "name": "lt", - "nativeSrc": "122955:2:10", + "nativeSrc": "122955:2:23", "nodeType": "YulIdentifier", - "src": "122955:2:10" + "src": "122955:2:23" }, - "nativeSrc": "122955:12:10", + "nativeSrc": "122955:12:23", "nodeType": "YulFunctionCall", - "src": "122955:12:10" + "src": "122955:12:23" } ], "functionName": { "name": "mul", - "nativeSrc": "122936:3:10", + "nativeSrc": "122936:3:23", "nodeType": "YulIdentifier", - "src": "122936:3:10" + "src": "122936:3:23" }, - "nativeSrc": "122936:32:10", + "nativeSrc": "122936:32:23", "nodeType": "YulFunctionCall", - "src": "122936:32:10" + "src": "122936:32:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "122923:6:10", + "nativeSrc": "122923:6:23", "nodeType": "YulIdentifier", - "src": "122923:6:10" + "src": "122923:6:23" }, - "nativeSrc": "122923:46:10", + "nativeSrc": "122923:46:23", "nodeType": "YulFunctionCall", - "src": "122923:46:10" + "src": "122923:46:23" }, - "nativeSrc": "122923:46:10", + "nativeSrc": "122923:46:23", "nodeType": "YulExpressionStatement", - "src": "122923:46:10" + "src": "122923:46:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "123010:4:10", + "nativeSrc": "123010:4:23", "nodeType": "YulLiteral", - "src": "123010:4:10", + "src": "123010:4:23", "type": "", "value": "0x40" }, @@ -143128,17 +162103,17 @@ "arguments": [ { "name": "args", - "nativeSrc": "123020:4:10", + "nativeSrc": "123020:4:23", "nodeType": "YulIdentifier", - "src": "123020:4:10" + "src": "123020:4:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "123030:4:10", + "nativeSrc": "123030:4:23", "nodeType": "YulLiteral", - "src": "123030:4:10", + "src": "123030:4:23", "type": "", "value": "0x40" }, @@ -143146,57 +162121,57 @@ "arguments": [ { "name": "args", - "nativeSrc": "123042:4:10", + "nativeSrc": "123042:4:23", "nodeType": "YulIdentifier", - "src": "123042:4:10" + "src": "123042:4:23" } ], "functionName": { "name": "mload", - "nativeSrc": "123036:5:10", + "nativeSrc": "123036:5:23", "nodeType": "YulIdentifier", - "src": "123036:5:10" + "src": "123036:5:23" }, - "nativeSrc": "123036:11:10", + "nativeSrc": "123036:11:23", "nodeType": "YulFunctionCall", - "src": "123036:11:10" + "src": "123036:11:23" } ], "functionName": { "name": "add", - "nativeSrc": "123026:3:10", + "nativeSrc": "123026:3:23", "nodeType": "YulIdentifier", - "src": "123026:3:10" + "src": "123026:3:23" }, - "nativeSrc": "123026:22:10", + "nativeSrc": "123026:22:23", "nodeType": "YulFunctionCall", - "src": "123026:22:10" + "src": "123026:22:23" } ], "functionName": { "name": "add", - "nativeSrc": "123016:3:10", + "nativeSrc": "123016:3:23", "nodeType": "YulIdentifier", - "src": "123016:3:10" + "src": "123016:3:23" }, - "nativeSrc": "123016:33:10", + "nativeSrc": "123016:33:23", "nodeType": "YulFunctionCall", - "src": "123016:33:10" + "src": "123016:33:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "123003:6:10", + "nativeSrc": "123003:6:23", "nodeType": "YulIdentifier", - "src": "123003:6:10" + "src": "123003:6:23" }, - "nativeSrc": "123003:47:10", + "nativeSrc": "123003:47:23", "nodeType": "YulFunctionCall", - "src": "123003:47:10" + "src": "123003:47:23" }, - "nativeSrc": "123003:47:10", + "nativeSrc": "123003:47:23", "nodeType": "YulExpressionStatement", - "src": "123003:47:10" + "src": "123003:47:23" } ] }, @@ -143204,122 +162179,122 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4684, + "declaration": 6290, "isOffset": false, "isSlot": false, - "src": "122677:4:10", + "src": "122677:4:23", "valueSize": 1 }, { - "declaration": 4684, + "declaration": 6290, "isOffset": false, "isSlot": false, - "src": "122873:4:10", + "src": "122873:4:23", "valueSize": 1 }, { - "declaration": 4684, + "declaration": 6290, "isOffset": false, "isSlot": false, - "src": "122930:4:10", + "src": "122930:4:23", "valueSize": 1 }, { - "declaration": 4684, + "declaration": 6290, "isOffset": false, "isSlot": false, - "src": "123020:4:10", + "src": "123020:4:23", "valueSize": 1 }, { - "declaration": 4684, + "declaration": 6290, "isOffset": false, "isSlot": false, - "src": "123042:4:10", + "src": "123042:4:23", "valueSize": 1 }, { - "declaration": 4679, + "declaration": 6285, "isOffset": false, "isSlot": false, - "src": "122752:8:10", + "src": "122752:8:23", "valueSize": 1 }, { - "declaration": 4679, + "declaration": 6285, "isOffset": false, "isSlot": false, - "src": "122863:8:10", + "src": "122863:8:23", "valueSize": 1 }, { - "declaration": 4681, + "declaration": 6287, "isOffset": false, "isSlot": false, - "src": "122819:5:10", + "src": "122819:5:23", "valueSize": 1 }, { - "declaration": 4681, + "declaration": 6287, "isOffset": false, "isSlot": false, - "src": "122830:5:10", + "src": "122830:5:23", "valueSize": 1 }, { - "declaration": 4681, + "declaration": 6287, "isOffset": false, "isSlot": false, - "src": "122883:5:10", + "src": "122883:5:23", "valueSize": 1 }, { - "declaration": 4681, + "declaration": 6287, "isOffset": false, "isSlot": false, - "src": "122947:5:10", + "src": "122947:5:23", "valueSize": 1 }, { - "declaration": 4681, + "declaration": 6287, "isOffset": false, "isSlot": false, - "src": "122958:5:10", + "src": "122958:5:23", "valueSize": 1 } ], - "id": 4686, + "id": 6292, "nodeType": "InlineAssembly", - "src": "122654:426:10" + "src": "122654:426:23" } ] }, "documentation": { - "id": 4677, + "id": 6283, "nodeType": "StructuredDocumentation", - "src": "122378:81:10", + "src": "122378:81:23", "text": "@dev Equivalent to `argsOnERC1967BeaconProxy(instance, start, 2 ** 256 - 1)`." }, - "id": 4688, + "id": 6294, "implemented": true, "kind": "function", "modifiers": [], "name": "argsOnERC1967BeaconProxy", - "nameLocation": "122473:24:10", + "nameLocation": "122473:24:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4682, + "id": 6288, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4679, + "id": 6285, "mutability": "mutable", "name": "instance", - "nameLocation": "122506:8:10", + "nameLocation": "122506:8:23", "nodeType": "VariableDeclaration", - "scope": 4688, - "src": "122498:16:10", + "scope": 6294, + "src": "122498:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -143327,10 +162302,10 @@ "typeString": "address" }, "typeName": { - "id": 4678, + "id": 6284, "name": "address", "nodeType": "ElementaryTypeName", - "src": "122498:7:10", + "src": "122498:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -143341,13 +162316,13 @@ }, { "constant": false, - "id": 4681, + "id": 6287, "mutability": "mutable", "name": "start", - "nameLocation": "122524:5:10", + "nameLocation": "122524:5:23", "nodeType": "VariableDeclaration", - "scope": 4688, - "src": "122516:13:10", + "scope": 6294, + "src": "122516:13:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -143355,10 +162330,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4680, + "id": 6286, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "122516:7:10", + "src": "122516:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -143367,21 +162342,21 @@ "visibility": "internal" } ], - "src": "122497:33:10" + "src": "122497:33:23" }, "returnParameters": { - "id": 4685, + "id": 6291, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4684, + "id": 6290, "mutability": "mutable", "name": "args", - "nameLocation": "122591:4:10", + "nameLocation": "122591:4:23", "nodeType": "VariableDeclaration", - "scope": 4688, - "src": "122578:17:10", + "scope": 6294, + "src": "122578:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -143389,10 +162364,10 @@ "typeString": "bytes" }, "typeName": { - "id": 4683, + "id": 6289, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "122578:5:10", + "src": "122578:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -143401,84 +162376,84 @@ "visibility": "internal" } ], - "src": "122577:19:10" + "src": "122577:19:23" }, - "scope": 5093, - "src": "122464:622:10", + "scope": 6699, + "src": "122464:622:23", "stateMutability": "view", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4701, + "id": 6307, "nodeType": "Block", - "src": "123621:785:10", + "src": "123621:785:23", "statements": [ { "AST": { - "nativeSrc": "123683:717:10", + "nativeSrc": "123683:717:23", "nodeType": "YulBlock", - "src": "123683:717:10", + "src": "123683:717:23", "statements": [ { - "nativeSrc": "123697:19:10", + "nativeSrc": "123697:19:23", "nodeType": "YulAssignment", - "src": "123697:19:10", + "src": "123697:19:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "123711:4:10", + "nativeSrc": "123711:4:23", "nodeType": "YulLiteral", - "src": "123711:4:10", + "src": "123711:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "123705:5:10", + "nativeSrc": "123705:5:23", "nodeType": "YulIdentifier", - "src": "123705:5:10" + "src": "123705:5:23" }, - "nativeSrc": "123705:11:10", + "nativeSrc": "123705:11:23", "nodeType": "YulFunctionCall", - "src": "123705:11:10" + "src": "123705:11:23" }, "variableNames": [ { "name": "args", - "nativeSrc": "123697:4:10", + "nativeSrc": "123697:4:23", "nodeType": "YulIdentifier", - "src": "123697:4:10" + "src": "123697:4:23" } ] }, { "body": { - "nativeSrc": "123756:17:10", + "nativeSrc": "123756:17:23", "nodeType": "YulBlock", - "src": "123756:17:10", + "src": "123756:17:23", "statements": [ { - "nativeSrc": "123758:13:10", + "nativeSrc": "123758:13:23", "nodeType": "YulAssignment", - "src": "123758:13:10", + "src": "123758:13:23", "value": { "kind": "number", - "nativeSrc": "123765:6:10", + "nativeSrc": "123765:6:23", "nodeType": "YulLiteral", - "src": "123765:6:10", + "src": "123765:6:23", "type": "", "value": "0xffff" }, "variableNames": [ { "name": "end", - "nativeSrc": "123758:3:10", + "nativeSrc": "123758:3:23", "nodeType": "YulIdentifier", - "src": "123758:3:10" + "src": "123758:3:23" } ] } @@ -143490,117 +162465,117 @@ "arguments": [ { "name": "end", - "nativeSrc": "123742:3:10", + "nativeSrc": "123742:3:23", "nodeType": "YulIdentifier", - "src": "123742:3:10" + "src": "123742:3:23" }, { "kind": "number", - "nativeSrc": "123747:6:10", + "nativeSrc": "123747:6:23", "nodeType": "YulLiteral", - "src": "123747:6:10", + "src": "123747:6:23", "type": "", "value": "0xffff" } ], "functionName": { "name": "lt", - "nativeSrc": "123739:2:10", + "nativeSrc": "123739:2:23", "nodeType": "YulIdentifier", - "src": "123739:2:10" + "src": "123739:2:23" }, - "nativeSrc": "123739:15:10", + "nativeSrc": "123739:15:23", "nodeType": "YulFunctionCall", - "src": "123739:15:10" + "src": "123739:15:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "123732:6:10", + "nativeSrc": "123732:6:23", "nodeType": "YulIdentifier", - "src": "123732:6:10" + "src": "123732:6:23" }, - "nativeSrc": "123732:23:10", + "nativeSrc": "123732:23:23", "nodeType": "YulFunctionCall", - "src": "123732:23:10" + "src": "123732:23:23" }, - "nativeSrc": "123729:44:10", + "nativeSrc": "123729:44:23", "nodeType": "YulIf", - "src": "123729:44:10" + "src": "123729:44:23" }, { - "nativeSrc": "123786:45:10", + "nativeSrc": "123786:45:23", "nodeType": "YulVariableDeclaration", - "src": "123786:45:10", + "src": "123786:45:23", "value": { "arguments": [ { "arguments": [ { "name": "end", - "nativeSrc": "123803:3:10", + "nativeSrc": "123803:3:23", "nodeType": "YulIdentifier", - "src": "123803:3:10" + "src": "123803:3:23" }, { "name": "start", - "nativeSrc": "123808:5:10", + "nativeSrc": "123808:5:23", "nodeType": "YulIdentifier", - "src": "123808:5:10" + "src": "123808:5:23" } ], "functionName": { "name": "sub", - "nativeSrc": "123799:3:10", + "nativeSrc": "123799:3:23", "nodeType": "YulIdentifier", - "src": "123799:3:10" + "src": "123799:3:23" }, - "nativeSrc": "123799:15:10", + "nativeSrc": "123799:15:23", "nodeType": "YulFunctionCall", - "src": "123799:15:10" + "src": "123799:15:23" }, { "arguments": [ { "name": "start", - "nativeSrc": "123819:5:10", + "nativeSrc": "123819:5:23", "nodeType": "YulIdentifier", - "src": "123819:5:10" + "src": "123819:5:23" }, { "name": "end", - "nativeSrc": "123826:3:10", + "nativeSrc": "123826:3:23", "nodeType": "YulIdentifier", - "src": "123826:3:10" + "src": "123826:3:23" } ], "functionName": { "name": "lt", - "nativeSrc": "123816:2:10", + "nativeSrc": "123816:2:23", "nodeType": "YulIdentifier", - "src": "123816:2:10" + "src": "123816:2:23" }, - "nativeSrc": "123816:14:10", + "nativeSrc": "123816:14:23", "nodeType": "YulFunctionCall", - "src": "123816:14:10" + "src": "123816:14:23" } ], "functionName": { "name": "mul", - "nativeSrc": "123795:3:10", + "nativeSrc": "123795:3:23", "nodeType": "YulIdentifier", - "src": "123795:3:10" + "src": "123795:3:23" }, - "nativeSrc": "123795:36:10", + "nativeSrc": "123795:36:23", "nodeType": "YulFunctionCall", - "src": "123795:36:10" + "src": "123795:36:23" }, "variables": [ { "name": "d", - "nativeSrc": "123790:1:10", + "nativeSrc": "123790:1:23", "nodeType": "YulTypedName", - "src": "123790:1:10", + "src": "123790:1:23", "type": "" } ] @@ -143610,141 +162585,141 @@ "arguments": [ { "name": "instance", - "nativeSrc": "123856:8:10", + "nativeSrc": "123856:8:23", "nodeType": "YulIdentifier", - "src": "123856:8:10" + "src": "123856:8:23" }, { "name": "args", - "nativeSrc": "123866:4:10", + "nativeSrc": "123866:4:23", "nodeType": "YulIdentifier", - "src": "123866:4:10" + "src": "123866:4:23" }, { "arguments": [ { "name": "start", - "nativeSrc": "123876:5:10", + "nativeSrc": "123876:5:23", "nodeType": "YulIdentifier", - "src": "123876:5:10" + "src": "123876:5:23" }, { "kind": "number", - "nativeSrc": "123883:4:10", + "nativeSrc": "123883:4:23", "nodeType": "YulLiteral", - "src": "123883:4:10", + "src": "123883:4:23", "type": "", "value": "0x32" } ], "functionName": { "name": "add", - "nativeSrc": "123872:3:10", + "nativeSrc": "123872:3:23", "nodeType": "YulIdentifier", - "src": "123872:3:10" + "src": "123872:3:23" }, - "nativeSrc": "123872:16:10", + "nativeSrc": "123872:16:23", "nodeType": "YulFunctionCall", - "src": "123872:16:10" + "src": "123872:16:23" }, { "arguments": [ { "name": "d", - "nativeSrc": "123894:1:10", + "nativeSrc": "123894:1:23", "nodeType": "YulIdentifier", - "src": "123894:1:10" + "src": "123894:1:23" }, { "kind": "number", - "nativeSrc": "123897:4:10", + "nativeSrc": "123897:4:23", "nodeType": "YulLiteral", - "src": "123897:4:10", + "src": "123897:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "123890:3:10", + "nativeSrc": "123890:3:23", "nodeType": "YulIdentifier", - "src": "123890:3:10" + "src": "123890:3:23" }, - "nativeSrc": "123890:12:10", + "nativeSrc": "123890:12:23", "nodeType": "YulFunctionCall", - "src": "123890:12:10" + "src": "123890:12:23" } ], "functionName": { "name": "extcodecopy", - "nativeSrc": "123844:11:10", + "nativeSrc": "123844:11:23", "nodeType": "YulIdentifier", - "src": "123844:11:10" + "src": "123844:11:23" }, - "nativeSrc": "123844:59:10", + "nativeSrc": "123844:59:23", "nodeType": "YulFunctionCall", - "src": "123844:59:10" + "src": "123844:59:23" }, - "nativeSrc": "123844:59:10", + "nativeSrc": "123844:59:23", "nodeType": "YulExpressionStatement", - "src": "123844:59:10" + "src": "123844:59:23" }, { "body": { - "nativeSrc": "123958:229:10", + "nativeSrc": "123958:229:23", "nodeType": "YulBlock", - "src": "123958:229:10", + "src": "123958:229:23", "statements": [ { - "nativeSrc": "123976:41:10", + "nativeSrc": "123976:41:23", "nodeType": "YulVariableDeclaration", - "src": "123976:41:10", + "src": "123976:41:23", "value": { "arguments": [ { "arguments": [ { "name": "instance", - "nativeSrc": "124001:8:10", + "nativeSrc": "124001:8:23", "nodeType": "YulIdentifier", - "src": "124001:8:10" + "src": "124001:8:23" } ], "functionName": { "name": "extcodesize", - "nativeSrc": "123989:11:10", + "nativeSrc": "123989:11:23", "nodeType": "YulIdentifier", - "src": "123989:11:10" + "src": "123989:11:23" }, - "nativeSrc": "123989:21:10", + "nativeSrc": "123989:21:23", "nodeType": "YulFunctionCall", - "src": "123989:21:10" + "src": "123989:21:23" }, { "kind": "number", - "nativeSrc": "124012:4:10", + "nativeSrc": "124012:4:23", "nodeType": "YulLiteral", - "src": "124012:4:10", + "src": "124012:4:23", "type": "", "value": "0x52" } ], "functionName": { "name": "sub", - "nativeSrc": "123985:3:10", + "nativeSrc": "123985:3:23", "nodeType": "YulIdentifier", - "src": "123985:3:10" + "src": "123985:3:23" }, - "nativeSrc": "123985:32:10", + "nativeSrc": "123985:32:23", "nodeType": "YulFunctionCall", - "src": "123985:32:10" + "src": "123985:32:23" }, "variables": [ { "name": "n", - "nativeSrc": "123980:1:10", + "nativeSrc": "123980:1:23", "nodeType": "YulTypedName", - "src": "123980:1:10", + "src": "123980:1:23", "type": "" } ] @@ -143756,106 +162731,106 @@ "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "124049:14:10", + "nativeSrc": "124049:14:23", "nodeType": "YulIdentifier", - "src": "124049:14:10" + "src": "124049:14:23" }, - "nativeSrc": "124049:16:10", + "nativeSrc": "124049:16:23", "nodeType": "YulFunctionCall", - "src": "124049:16:10" + "src": "124049:16:23" }, { "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "124067:14:10", + "nativeSrc": "124067:14:23", "nodeType": "YulIdentifier", - "src": "124067:14:10" + "src": "124067:14:23" }, - "nativeSrc": "124067:16:10", + "nativeSrc": "124067:16:23", "nodeType": "YulFunctionCall", - "src": "124067:16:10" + "src": "124067:16:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "124089:2:10", + "nativeSrc": "124089:2:23", "nodeType": "YulLiteral", - "src": "124089:2:10", + "src": "124089:2:23", "type": "", "value": "40" }, { "name": "n", - "nativeSrc": "124093:1:10", + "nativeSrc": "124093:1:23", "nodeType": "YulIdentifier", - "src": "124093:1:10" + "src": "124093:1:23" } ], "functionName": { "name": "shr", - "nativeSrc": "124085:3:10", + "nativeSrc": "124085:3:23", "nodeType": "YulIdentifier", - "src": "124085:3:10" + "src": "124085:3:23" }, - "nativeSrc": "124085:10:10", + "nativeSrc": "124085:10:23", "nodeType": "YulFunctionCall", - "src": "124085:10:10" + "src": "124085:10:23" } ], "functionName": { "name": "returndatacopy", - "nativeSrc": "124034:14:10", + "nativeSrc": "124034:14:23", "nodeType": "YulIdentifier", - "src": "124034:14:10" + "src": "124034:14:23" }, - "nativeSrc": "124034:62:10", + "nativeSrc": "124034:62:23", "nodeType": "YulFunctionCall", - "src": "124034:62:10" + "src": "124034:62:23" }, - "nativeSrc": "124034:62:10", + "nativeSrc": "124034:62:23", "nodeType": "YulExpressionStatement", - "src": "124034:62:10" + "src": "124034:62:23" }, { - "nativeSrc": "124113:60:10", + "nativeSrc": "124113:60:23", "nodeType": "YulAssignment", - "src": "124113:60:10", + "src": "124113:60:23", "value": { "arguments": [ { "arguments": [ { "name": "n", - "nativeSrc": "124125:1:10", + "nativeSrc": "124125:1:23", "nodeType": "YulIdentifier", - "src": "124125:1:10" + "src": "124125:1:23" }, { "name": "start", - "nativeSrc": "124128:5:10", + "nativeSrc": "124128:5:23", "nodeType": "YulIdentifier", - "src": "124128:5:10" + "src": "124128:5:23" } ], "functionName": { "name": "gt", - "nativeSrc": "124122:2:10", + "nativeSrc": "124122:2:23", "nodeType": "YulIdentifier", - "src": "124122:2:10" + "src": "124122:2:23" }, - "nativeSrc": "124122:12:10", + "nativeSrc": "124122:12:23", "nodeType": "YulFunctionCall", - "src": "124122:12:10" + "src": "124122:12:23" }, { "arguments": [ { "name": "d", - "nativeSrc": "124140:1:10", + "nativeSrc": "124140:1:23", "nodeType": "YulIdentifier", - "src": "124140:1:10" + "src": "124140:1:23" }, { "arguments": [ @@ -143863,91 +162838,91 @@ "arguments": [ { "name": "end", - "nativeSrc": "124150:3:10", + "nativeSrc": "124150:3:23", "nodeType": "YulIdentifier", - "src": "124150:3:10" + "src": "124150:3:23" }, { "name": "n", - "nativeSrc": "124155:1:10", + "nativeSrc": "124155:1:23", "nodeType": "YulIdentifier", - "src": "124155:1:10" + "src": "124155:1:23" } ], "functionName": { "name": "gt", - "nativeSrc": "124147:2:10", + "nativeSrc": "124147:2:23", "nodeType": "YulIdentifier", - "src": "124147:2:10" + "src": "124147:2:23" }, - "nativeSrc": "124147:10:10", + "nativeSrc": "124147:10:23", "nodeType": "YulFunctionCall", - "src": "124147:10:10" + "src": "124147:10:23" }, { "arguments": [ { "name": "end", - "nativeSrc": "124163:3:10", + "nativeSrc": "124163:3:23", "nodeType": "YulIdentifier", - "src": "124163:3:10" + "src": "124163:3:23" }, { "name": "n", - "nativeSrc": "124168:1:10", + "nativeSrc": "124168:1:23", "nodeType": "YulIdentifier", - "src": "124168:1:10" + "src": "124168:1:23" } ], "functionName": { "name": "sub", - "nativeSrc": "124159:3:10", + "nativeSrc": "124159:3:23", "nodeType": "YulIdentifier", - "src": "124159:3:10" + "src": "124159:3:23" }, - "nativeSrc": "124159:11:10", + "nativeSrc": "124159:11:23", "nodeType": "YulFunctionCall", - "src": "124159:11:10" + "src": "124159:11:23" } ], "functionName": { "name": "mul", - "nativeSrc": "124143:3:10", + "nativeSrc": "124143:3:23", "nodeType": "YulIdentifier", - "src": "124143:3:10" + "src": "124143:3:23" }, - "nativeSrc": "124143:28:10", + "nativeSrc": "124143:28:23", "nodeType": "YulFunctionCall", - "src": "124143:28:10" + "src": "124143:28:23" } ], "functionName": { "name": "sub", - "nativeSrc": "124136:3:10", + "nativeSrc": "124136:3:23", "nodeType": "YulIdentifier", - "src": "124136:3:10" + "src": "124136:3:23" }, - "nativeSrc": "124136:36:10", + "nativeSrc": "124136:36:23", "nodeType": "YulFunctionCall", - "src": "124136:36:10" + "src": "124136:36:23" } ], "functionName": { "name": "mul", - "nativeSrc": "124118:3:10", + "nativeSrc": "124118:3:23", "nodeType": "YulIdentifier", - "src": "124118:3:10" + "src": "124118:3:23" }, - "nativeSrc": "124118:55:10", + "nativeSrc": "124118:55:23", "nodeType": "YulFunctionCall", - "src": "124118:55:10" + "src": "124118:55:23" }, "variableNames": [ { "name": "d", - "nativeSrc": "124113:1:10", + "nativeSrc": "124113:1:23", "nodeType": "YulIdentifier", - "src": "124113:1:10" + "src": "124113:1:23" } ] } @@ -143959,9 +162934,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "123930:4:10", + "nativeSrc": "123930:4:23", "nodeType": "YulLiteral", - "src": "123930:4:10", + "src": "123930:4:23", "type": "", "value": "0xff" }, @@ -143971,93 +162946,93 @@ "arguments": [ { "name": "args", - "nativeSrc": "123946:4:10", + "nativeSrc": "123946:4:23", "nodeType": "YulIdentifier", - "src": "123946:4:10" + "src": "123946:4:23" }, { "name": "d", - "nativeSrc": "123952:1:10", + "nativeSrc": "123952:1:23", "nodeType": "YulIdentifier", - "src": "123952:1:10" + "src": "123952:1:23" } ], "functionName": { "name": "add", - "nativeSrc": "123942:3:10", + "nativeSrc": "123942:3:23", "nodeType": "YulIdentifier", - "src": "123942:3:10" + "src": "123942:3:23" }, - "nativeSrc": "123942:12:10", + "nativeSrc": "123942:12:23", "nodeType": "YulFunctionCall", - "src": "123942:12:10" + "src": "123942:12:23" } ], "functionName": { "name": "mload", - "nativeSrc": "123936:5:10", + "nativeSrc": "123936:5:23", "nodeType": "YulIdentifier", - "src": "123936:5:10" + "src": "123936:5:23" }, - "nativeSrc": "123936:19:10", + "nativeSrc": "123936:19:23", "nodeType": "YulFunctionCall", - "src": "123936:19:10" + "src": "123936:19:23" } ], "functionName": { "name": "and", - "nativeSrc": "123926:3:10", + "nativeSrc": "123926:3:23", "nodeType": "YulIdentifier", - "src": "123926:3:10" + "src": "123926:3:23" }, - "nativeSrc": "123926:30:10", + "nativeSrc": "123926:30:23", "nodeType": "YulFunctionCall", - "src": "123926:30:10" + "src": "123926:30:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "123919:6:10", + "nativeSrc": "123919:6:23", "nodeType": "YulIdentifier", - "src": "123919:6:10" + "src": "123919:6:23" }, - "nativeSrc": "123919:38:10", + "nativeSrc": "123919:38:23", "nodeType": "YulFunctionCall", - "src": "123919:38:10" + "src": "123919:38:23" }, - "nativeSrc": "123916:271:10", + "nativeSrc": "123916:271:23", "nodeType": "YulIf", - "src": "123916:271:10" + "src": "123916:271:23" }, { "expression": { "arguments": [ { "name": "args", - "nativeSrc": "124207:4:10", + "nativeSrc": "124207:4:23", "nodeType": "YulIdentifier", - "src": "124207:4:10" + "src": "124207:4:23" }, { "name": "d", - "nativeSrc": "124213:1:10", + "nativeSrc": "124213:1:23", "nodeType": "YulIdentifier", - "src": "124213:1:10" + "src": "124213:1:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "124200:6:10", + "nativeSrc": "124200:6:23", "nodeType": "YulIdentifier", - "src": "124200:6:10" + "src": "124200:6:23" }, - "nativeSrc": "124200:15:10", + "nativeSrc": "124200:15:23", "nodeType": "YulFunctionCall", - "src": "124200:15:10" + "src": "124200:15:23" }, - "nativeSrc": "124200:15:10", + "nativeSrc": "124200:15:23", "nodeType": "YulExpressionStatement", - "src": "124200:15:10" + "src": "124200:15:23" }, { "expression": { @@ -144068,77 +163043,77 @@ "arguments": [ { "name": "args", - "nativeSrc": "124264:4:10", + "nativeSrc": "124264:4:23", "nodeType": "YulIdentifier", - "src": "124264:4:10" + "src": "124264:4:23" }, { "kind": "number", - "nativeSrc": "124270:4:10", + "nativeSrc": "124270:4:23", "nodeType": "YulLiteral", - "src": "124270:4:10", + "src": "124270:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "124260:3:10", + "nativeSrc": "124260:3:23", "nodeType": "YulIdentifier", - "src": "124260:3:10" + "src": "124260:3:23" }, - "nativeSrc": "124260:15:10", + "nativeSrc": "124260:15:23", "nodeType": "YulFunctionCall", - "src": "124260:15:10" + "src": "124260:15:23" }, { "name": "d", - "nativeSrc": "124277:1:10", + "nativeSrc": "124277:1:23", "nodeType": "YulIdentifier", - "src": "124277:1:10" + "src": "124277:1:23" } ], "functionName": { "name": "add", - "nativeSrc": "124256:3:10", + "nativeSrc": "124256:3:23", "nodeType": "YulIdentifier", - "src": "124256:3:10" + "src": "124256:3:23" }, - "nativeSrc": "124256:23:10", + "nativeSrc": "124256:23:23", "nodeType": "YulFunctionCall", - "src": "124256:23:10" + "src": "124256:23:23" }, { "kind": "number", - "nativeSrc": "124281:1:10", + "nativeSrc": "124281:1:23", "nodeType": "YulLiteral", - "src": "124281:1:10", + "src": "124281:1:23", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "124249:6:10", + "nativeSrc": "124249:6:23", "nodeType": "YulIdentifier", - "src": "124249:6:10" + "src": "124249:6:23" }, - "nativeSrc": "124249:34:10", + "nativeSrc": "124249:34:23", "nodeType": "YulFunctionCall", - "src": "124249:34:10" + "src": "124249:34:23" }, - "nativeSrc": "124249:34:10", + "nativeSrc": "124249:34:23", "nodeType": "YulExpressionStatement", - "src": "124249:34:10" + "src": "124249:34:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "124340:4:10", + "nativeSrc": "124340:4:23", "nodeType": "YulLiteral", - "src": "124340:4:10", + "src": "124340:4:23", "type": "", "value": "0x40" }, @@ -144148,60 +163123,60 @@ "arguments": [ { "name": "args", - "nativeSrc": "124354:4:10", + "nativeSrc": "124354:4:23", "nodeType": "YulIdentifier", - "src": "124354:4:10" + "src": "124354:4:23" }, { "kind": "number", - "nativeSrc": "124360:4:10", + "nativeSrc": "124360:4:23", "nodeType": "YulLiteral", - "src": "124360:4:10", + "src": "124360:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "add", - "nativeSrc": "124350:3:10", + "nativeSrc": "124350:3:23", "nodeType": "YulIdentifier", - "src": "124350:3:10" + "src": "124350:3:23" }, - "nativeSrc": "124350:15:10", + "nativeSrc": "124350:15:23", "nodeType": "YulFunctionCall", - "src": "124350:15:10" + "src": "124350:15:23" }, { "name": "d", - "nativeSrc": "124367:1:10", + "nativeSrc": "124367:1:23", "nodeType": "YulIdentifier", - "src": "124367:1:10" + "src": "124367:1:23" } ], "functionName": { "name": "add", - "nativeSrc": "124346:3:10", + "nativeSrc": "124346:3:23", "nodeType": "YulIdentifier", - "src": "124346:3:10" + "src": "124346:3:23" }, - "nativeSrc": "124346:23:10", + "nativeSrc": "124346:23:23", "nodeType": "YulFunctionCall", - "src": "124346:23:10" + "src": "124346:23:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "124333:6:10", + "nativeSrc": "124333:6:23", "nodeType": "YulIdentifier", - "src": "124333:6:10" + "src": "124333:6:23" }, - "nativeSrc": "124333:37:10", + "nativeSrc": "124333:37:23", "nodeType": "YulFunctionCall", - "src": "124333:37:10" + "src": "124333:37:23" }, - "nativeSrc": "124333:37:10", + "nativeSrc": "124333:37:23", "nodeType": "YulExpressionStatement", - "src": "124333:37:10" + "src": "124333:37:23" } ] }, @@ -144209,164 +163184,164 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4698, + "declaration": 6304, "isOffset": false, "isSlot": false, - "src": "123697:4:10", + "src": "123697:4:23", "valueSize": 1 }, { - "declaration": 4698, + "declaration": 6304, "isOffset": false, "isSlot": false, - "src": "123866:4:10", + "src": "123866:4:23", "valueSize": 1 }, { - "declaration": 4698, + "declaration": 6304, "isOffset": false, "isSlot": false, - "src": "123946:4:10", + "src": "123946:4:23", "valueSize": 1 }, { - "declaration": 4698, + "declaration": 6304, "isOffset": false, "isSlot": false, - "src": "124207:4:10", + "src": "124207:4:23", "valueSize": 1 }, { - "declaration": 4698, + "declaration": 6304, "isOffset": false, "isSlot": false, - "src": "124264:4:10", + "src": "124264:4:23", "valueSize": 1 }, { - "declaration": 4698, + "declaration": 6304, "isOffset": false, "isSlot": false, - "src": "124354:4:10", + "src": "124354:4:23", "valueSize": 1 }, { - "declaration": 4695, + "declaration": 6301, "isOffset": false, "isSlot": false, - "src": "123742:3:10", + "src": "123742:3:23", "valueSize": 1 }, { - "declaration": 4695, + "declaration": 6301, "isOffset": false, "isSlot": false, - "src": "123758:3:10", + "src": "123758:3:23", "valueSize": 1 }, { - "declaration": 4695, + "declaration": 6301, "isOffset": false, "isSlot": false, - "src": "123803:3:10", + "src": "123803:3:23", "valueSize": 1 }, { - "declaration": 4695, + "declaration": 6301, "isOffset": false, "isSlot": false, - "src": "123826:3:10", + "src": "123826:3:23", "valueSize": 1 }, { - "declaration": 4695, + "declaration": 6301, "isOffset": false, "isSlot": false, - "src": "124150:3:10", + "src": "124150:3:23", "valueSize": 1 }, { - "declaration": 4695, + "declaration": 6301, "isOffset": false, "isSlot": false, - "src": "124163:3:10", + "src": "124163:3:23", "valueSize": 1 }, { - "declaration": 4691, + "declaration": 6297, "isOffset": false, "isSlot": false, - "src": "123856:8:10", + "src": "123856:8:23", "valueSize": 1 }, { - "declaration": 4691, + "declaration": 6297, "isOffset": false, "isSlot": false, - "src": "124001:8:10", + "src": "124001:8:23", "valueSize": 1 }, { - "declaration": 4693, + "declaration": 6299, "isOffset": false, "isSlot": false, - "src": "123808:5:10", + "src": "123808:5:23", "valueSize": 1 }, { - "declaration": 4693, + "declaration": 6299, "isOffset": false, "isSlot": false, - "src": "123819:5:10", + "src": "123819:5:23", "valueSize": 1 }, { - "declaration": 4693, + "declaration": 6299, "isOffset": false, "isSlot": false, - "src": "123876:5:10", + "src": "123876:5:23", "valueSize": 1 }, { - "declaration": 4693, + "declaration": 6299, "isOffset": false, "isSlot": false, - "src": "124128:5:10", + "src": "124128:5:23", "valueSize": 1 } ], - "id": 4700, + "id": 6306, "nodeType": "InlineAssembly", - "src": "123674:726:10" + "src": "123674:726:23" } ] }, "documentation": { - "id": 4689, + "id": 6295, "nodeType": "StructuredDocumentation", - "src": "123092:374:10", + "src": "123092:374:23", "text": "@dev Returns a slice of the immutable arguments on `instance` from `start` to `end`.\n `start` and `end` will be clamped to the range `[0, args.length]`.\n The `instance` MUST be deployed via the ERC1967 beacon proxy with immutable args functions.\n Otherwise, the behavior is undefined.\n Out-of-gas reverts if `instance` does not have any code." }, - "id": 4702, + "id": 6308, "implemented": true, "kind": "function", "modifiers": [], "name": "argsOnERC1967BeaconProxy", - "nameLocation": "123480:24:10", + "nameLocation": "123480:24:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4696, + "id": 6302, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4691, + "id": 6297, "mutability": "mutable", "name": "instance", - "nameLocation": "123513:8:10", + "nameLocation": "123513:8:23", "nodeType": "VariableDeclaration", - "scope": 4702, - "src": "123505:16:10", + "scope": 6308, + "src": "123505:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -144374,10 +163349,10 @@ "typeString": "address" }, "typeName": { - "id": 4690, + "id": 6296, "name": "address", "nodeType": "ElementaryTypeName", - "src": "123505:7:10", + "src": "123505:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -144388,13 +163363,13 @@ }, { "constant": false, - "id": 4693, + "id": 6299, "mutability": "mutable", "name": "start", - "nameLocation": "123531:5:10", + "nameLocation": "123531:5:23", "nodeType": "VariableDeclaration", - "scope": 4702, - "src": "123523:13:10", + "scope": 6308, + "src": "123523:13:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -144402,10 +163377,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4692, + "id": 6298, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "123523:7:10", + "src": "123523:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -144415,13 +163390,13 @@ }, { "constant": false, - "id": 4695, + "id": 6301, "mutability": "mutable", "name": "end", - "nameLocation": "123546:3:10", + "nameLocation": "123546:3:23", "nodeType": "VariableDeclaration", - "scope": 4702, - "src": "123538:11:10", + "scope": 6308, + "src": "123538:11:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -144429,10 +163404,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4694, + "id": 6300, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "123538:7:10", + "src": "123538:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -144441,21 +163416,21 @@ "visibility": "internal" } ], - "src": "123504:46:10" + "src": "123504:46:23" }, "returnParameters": { - "id": 4699, + "id": 6305, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4698, + "id": 6304, "mutability": "mutable", "name": "args", - "nameLocation": "123611:4:10", + "nameLocation": "123611:4:23", "nodeType": "VariableDeclaration", - "scope": 4702, - "src": "123598:17:10", + "scope": 6308, + "src": "123598:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -144463,10 +163438,10 @@ "typeString": "bytes" }, "typeName": { - "id": 4697, + "id": 6303, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "123598:5:10", + "src": "123598:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -144475,34 +163450,34 @@ "visibility": "internal" } ], - "src": "123597:19:10" + "src": "123597:19:23" }, - "scope": 5093, - "src": "123471:935:10", + "scope": 6699, + "src": "123471:935:23", "stateMutability": "view", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4717, + "id": 6323, "nodeType": "Block", - "src": "125540:64:10", + "src": "125540:64:23", "statements": [ { "expression": { - "id": 4715, + "id": 6321, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 4710, + "id": 6316, "name": "instance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4708, - "src": "125550:8:10", + "referencedDeclaration": 6314, + "src": "125550:8:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -144514,14 +163489,14 @@ "arguments": [ { "hexValue": "30", - "id": 4712, + "id": 6318, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "125587:1:10", + "src": "125587:1:23", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -144529,12 +163504,12 @@ "value": "0" }, { - "id": 4713, + "id": 6319, "name": "beacon", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4705, - "src": "125590:6:10", + "referencedDeclaration": 6311, + "src": "125590:6:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -144552,23 +163527,23 @@ "typeString": "address" } ], - "id": 4711, + "id": 6317, "name": "deployERC1967IBeaconProxy", "nodeType": "Identifier", "overloadedDeclarations": [ - 4718, - 4730, - 4864, - 4878 + 6324, + 6336, + 6470, + 6484 ], - "referencedDeclaration": 4730, - "src": "125561:25:10", + "referencedDeclaration": 6336, + "src": "125561:25:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$returns$_t_address_$", "typeString": "function (uint256,address) returns (address)" } }, - "id": 4714, + "id": 6320, "isConstant": false, "isLValue": false, "isPure": false, @@ -144577,51 +163552,51 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "125561:36:10", + "src": "125561:36:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "125550:47:10", + "src": "125550:47:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 4716, + "id": 6322, "nodeType": "ExpressionStatement", - "src": "125550:47:10" + "src": "125550:47:23" } ] }, "documentation": { - "id": 4703, + "id": 6309, "nodeType": "StructuredDocumentation", - "src": "125407:41:10", + "src": "125407:41:23", "text": "@dev Deploys a ERC1967I beacon proxy." }, - "id": 4718, + "id": 6324, "implemented": true, "kind": "function", "modifiers": [], "name": "deployERC1967IBeaconProxy", - "nameLocation": "125462:25:10", + "nameLocation": "125462:25:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4706, + "id": 6312, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4705, + "id": 6311, "mutability": "mutable", "name": "beacon", - "nameLocation": "125496:6:10", + "nameLocation": "125496:6:23", "nodeType": "VariableDeclaration", - "scope": 4718, - "src": "125488:14:10", + "scope": 6324, + "src": "125488:14:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -144629,10 +163604,10 @@ "typeString": "address" }, "typeName": { - "id": 4704, + "id": 6310, "name": "address", "nodeType": "ElementaryTypeName", - "src": "125488:7:10", + "src": "125488:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -144642,21 +163617,21 @@ "visibility": "internal" } ], - "src": "125487:16:10" + "src": "125487:16:23" }, "returnParameters": { - "id": 4709, + "id": 6315, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4708, + "id": 6314, "mutability": "mutable", "name": "instance", - "nameLocation": "125530:8:10", + "nameLocation": "125530:8:23", "nodeType": "VariableDeclaration", - "scope": 4718, - "src": "125522:16:10", + "scope": 6324, + "src": "125522:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -144664,10 +163639,10 @@ "typeString": "address" }, "typeName": { - "id": 4707, + "id": 6313, "name": "address", "nodeType": "ElementaryTypeName", - "src": "125522:7:10", + "src": "125522:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -144677,57 +163652,57 @@ "visibility": "internal" } ], - "src": "125521:18:10" + "src": "125521:18:23" }, - "scope": 5093, - "src": "125453:151:10", + "scope": 6699, + "src": "125453:151:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4729, + "id": 6335, "nodeType": "Block", - "src": "125826:8791:10", + "src": "125826:8791:23", "statements": [ { "AST": { - "nativeSrc": "125888:8723:10", + "nativeSrc": "125888:8723:23", "nodeType": "YulBlock", - "src": "125888:8723:10", + "src": "125888:8723:23", "statements": [ { - "nativeSrc": "133872:20:10", + "nativeSrc": "133872:20:23", "nodeType": "YulVariableDeclaration", - "src": "133872:20:10", + "src": "133872:20:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "133887:4:10", + "nativeSrc": "133887:4:23", "nodeType": "YulLiteral", - "src": "133887:4:10", + "src": "133887:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "133881:5:10", + "nativeSrc": "133881:5:23", "nodeType": "YulIdentifier", - "src": "133881:5:10" + "src": "133881:5:23" }, - "nativeSrc": "133881:11:10", + "nativeSrc": "133881:11:23", "nodeType": "YulFunctionCall", - "src": "133881:11:10" + "src": "133881:11:23" }, "variables": [ { "name": "m", - "nativeSrc": "133876:1:10", + "nativeSrc": "133876:1:23", "nodeType": "YulTypedName", - "src": "133876:1:10", + "src": "133876:1:23", "type": "" } ] @@ -144737,111 +163712,111 @@ "arguments": [ { "kind": "number", - "nativeSrc": "133946:4:10", + "nativeSrc": "133946:4:23", "nodeType": "YulLiteral", - "src": "133946:4:10", + "src": "133946:4:23", "type": "", "value": "0x60" }, { "kind": "number", - "nativeSrc": "133952:66:10", + "nativeSrc": "133952:66:23", "nodeType": "YulLiteral", - "src": "133952:66:10", + "src": "133952:66:23", "type": "", "value": "0x3d50545afa361460525736515af43d600060013e6052573d6001fd5b3d6001f3" } ], "functionName": { "name": "mstore", - "nativeSrc": "133939:6:10", + "nativeSrc": "133939:6:23", "nodeType": "YulIdentifier", - "src": "133939:6:10" + "src": "133939:6:23" }, - "nativeSrc": "133939:80:10", + "nativeSrc": "133939:80:23", "nodeType": "YulFunctionCall", - "src": "133939:80:10" + "src": "133939:80:23" }, - "nativeSrc": "133939:80:10", + "nativeSrc": "133939:80:23", "nodeType": "YulExpressionStatement", - "src": "133939:80:10" + "src": "133939:80:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "134039:4:10", + "nativeSrc": "134039:4:23", "nodeType": "YulLiteral", - "src": "134039:4:10", + "src": "134039:4:23", "type": "", "value": "0x40" }, { "kind": "number", - "nativeSrc": "134045:66:10", + "nativeSrc": "134045:66:23", "nodeType": "YulLiteral", - "src": "134045:66:10", + "src": "134045:66:23", "type": "", "value": "0x527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b3513" } ], "functionName": { "name": "mstore", - "nativeSrc": "134032:6:10", + "nativeSrc": "134032:6:23", "nodeType": "YulIdentifier", - "src": "134032:6:10" + "src": "134032:6:23" }, - "nativeSrc": "134032:80:10", + "nativeSrc": "134032:80:23", "nodeType": "YulFunctionCall", - "src": "134032:80:10" + "src": "134032:80:23" }, - "nativeSrc": "134032:80:10", + "nativeSrc": "134032:80:23", "nodeType": "YulExpressionStatement", - "src": "134032:80:10" + "src": "134032:80:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "134132:4:10", + "nativeSrc": "134132:4:23", "nodeType": "YulLiteral", - "src": "134132:4:10", + "src": "134132:4:23", "type": "", "value": "0x20" }, { "kind": "number", - "nativeSrc": "134138:58:10", + "nativeSrc": "134138:58:23", "nodeType": "YulLiteral", - "src": "134138:58:10", + "src": "134138:58:23", "type": "", "value": "0x60195155f3363d3d373d3d363d602036600436635c60da1b60e01b36" } ], "functionName": { "name": "mstore", - "nativeSrc": "134125:6:10", + "nativeSrc": "134125:6:23", "nodeType": "YulIdentifier", - "src": "134125:6:10" + "src": "134125:6:23" }, - "nativeSrc": "134125:72:10", + "nativeSrc": "134125:72:23", "nodeType": "YulFunctionCall", - "src": "134125:72:10" + "src": "134125:72:23" }, - "nativeSrc": "134125:72:10", + "nativeSrc": "134125:72:23", "nodeType": "YulExpressionStatement", - "src": "134125:72:10" + "src": "134125:72:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "134217:4:10", + "nativeSrc": "134217:4:23", "nodeType": "YulLiteral", - "src": "134217:4:10", + "src": "134217:4:23", "type": "", "value": "0x04" }, @@ -144851,38 +163826,38 @@ "arguments": [ { "kind": "number", - "nativeSrc": "134230:3:10", + "nativeSrc": "134230:3:23", "nodeType": "YulLiteral", - "src": "134230:3:10", + "src": "134230:3:23", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "134235:20:10", + "nativeSrc": "134235:20:23", "nodeType": "YulLiteral", - "src": "134235:20:10", + "src": "134235:20:23", "type": "", "value": "0x60573d8160223d3973" } ], "functionName": { "name": "shl", - "nativeSrc": "134226:3:10", + "nativeSrc": "134226:3:23", "nodeType": "YulIdentifier", - "src": "134226:3:10" + "src": "134226:3:23" }, - "nativeSrc": "134226:30:10", + "nativeSrc": "134226:30:23", "nodeType": "YulFunctionCall", - "src": "134226:30:10" + "src": "134226:30:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "134262:2:10", + "nativeSrc": "134262:2:23", "nodeType": "YulLiteral", - "src": "134262:2:10", + "src": "134262:2:23", "type": "", "value": "96" }, @@ -144890,187 +163865,187 @@ "arguments": [ { "kind": "number", - "nativeSrc": "134270:2:10", + "nativeSrc": "134270:2:23", "nodeType": "YulLiteral", - "src": "134270:2:10", + "src": "134270:2:23", "type": "", "value": "96" }, { "name": "beacon", - "nativeSrc": "134274:6:10", + "nativeSrc": "134274:6:23", "nodeType": "YulIdentifier", - "src": "134274:6:10" + "src": "134274:6:23" } ], "functionName": { "name": "shl", - "nativeSrc": "134266:3:10", + "nativeSrc": "134266:3:23", "nodeType": "YulIdentifier", - "src": "134266:3:10" + "src": "134266:3:23" }, - "nativeSrc": "134266:15:10", + "nativeSrc": "134266:15:23", "nodeType": "YulFunctionCall", - "src": "134266:15:10" + "src": "134266:15:23" } ], "functionName": { "name": "shr", - "nativeSrc": "134258:3:10", + "nativeSrc": "134258:3:23", "nodeType": "YulIdentifier", - "src": "134258:3:10" + "src": "134258:3:23" }, - "nativeSrc": "134258:24:10", + "nativeSrc": "134258:24:23", "nodeType": "YulFunctionCall", - "src": "134258:24:10" + "src": "134258:24:23" } ], "functionName": { "name": "or", - "nativeSrc": "134223:2:10", + "nativeSrc": "134223:2:23", "nodeType": "YulIdentifier", - "src": "134223:2:10" + "src": "134223:2:23" }, - "nativeSrc": "134223:60:10", + "nativeSrc": "134223:60:23", "nodeType": "YulFunctionCall", - "src": "134223:60:10" + "src": "134223:60:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "134210:6:10", + "nativeSrc": "134210:6:23", "nodeType": "YulIdentifier", - "src": "134210:6:10" + "src": "134210:6:23" }, - "nativeSrc": "134210:74:10", + "nativeSrc": "134210:74:23", "nodeType": "YulFunctionCall", - "src": "134210:74:10" + "src": "134210:74:23" }, - "nativeSrc": "134210:74:10", + "nativeSrc": "134210:74:23", "nodeType": "YulExpressionStatement", - "src": "134210:74:10" + "src": "134210:74:23" }, { - "nativeSrc": "134297:37:10", + "nativeSrc": "134297:37:23", "nodeType": "YulAssignment", - "src": "134297:37:10", + "src": "134297:37:23", "value": { "arguments": [ { "name": "value", - "nativeSrc": "134316:5:10", + "nativeSrc": "134316:5:23", "nodeType": "YulIdentifier", - "src": "134316:5:10" + "src": "134316:5:23" }, { "kind": "number", - "nativeSrc": "134323:4:10", + "nativeSrc": "134323:4:23", "nodeType": "YulLiteral", - "src": "134323:4:10", + "src": "134323:4:23", "type": "", "value": "0x07" }, { "kind": "number", - "nativeSrc": "134329:4:10", + "nativeSrc": "134329:4:23", "nodeType": "YulLiteral", - "src": "134329:4:10", + "src": "134329:4:23", "type": "", "value": "0x79" } ], "functionName": { "name": "create", - "nativeSrc": "134309:6:10", + "nativeSrc": "134309:6:23", "nodeType": "YulIdentifier", - "src": "134309:6:10" + "src": "134309:6:23" }, - "nativeSrc": "134309:25:10", + "nativeSrc": "134309:25:23", "nodeType": "YulFunctionCall", - "src": "134309:25:10" + "src": "134309:25:23" }, "variableNames": [ { "name": "instance", - "nativeSrc": "134297:8:10", + "nativeSrc": "134297:8:23", "nodeType": "YulIdentifier", - "src": "134297:8:10" + "src": "134297:8:23" } ] }, { "body": { - "nativeSrc": "134367:116:10", + "nativeSrc": "134367:116:23", "nodeType": "YulBlock", - "src": "134367:116:10", + "src": "134367:116:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "134392:4:10", + "nativeSrc": "134392:4:23", "nodeType": "YulLiteral", - "src": "134392:4:10", + "src": "134392:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "134398:10:10", + "nativeSrc": "134398:10:23", "nodeType": "YulLiteral", - "src": "134398:10:10", + "src": "134398:10:23", "type": "", "value": "0x30116425" } ], "functionName": { "name": "mstore", - "nativeSrc": "134385:6:10", + "nativeSrc": "134385:6:23", "nodeType": "YulIdentifier", - "src": "134385:6:10" + "src": "134385:6:23" }, - "nativeSrc": "134385:24:10", + "nativeSrc": "134385:24:23", "nodeType": "YulFunctionCall", - "src": "134385:24:10" + "src": "134385:24:23" }, - "nativeSrc": "134385:24:10", + "nativeSrc": "134385:24:23", "nodeType": "YulExpressionStatement", - "src": "134385:24:10" + "src": "134385:24:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "134458:4:10", + "nativeSrc": "134458:4:23", "nodeType": "YulLiteral", - "src": "134458:4:10", + "src": "134458:4:23", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "134464:4:10", + "nativeSrc": "134464:4:23", "nodeType": "YulLiteral", - "src": "134464:4:10", + "src": "134464:4:23", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "134451:6:10", + "nativeSrc": "134451:6:23", "nodeType": "YulIdentifier", - "src": "134451:6:10" + "src": "134451:6:23" }, - "nativeSrc": "134451:18:10", + "nativeSrc": "134451:18:23", "nodeType": "YulFunctionCall", - "src": "134451:18:10" + "src": "134451:18:23" }, - "nativeSrc": "134451:18:10", + "nativeSrc": "134451:18:23", "nodeType": "YulExpressionStatement", - "src": "134451:18:10" + "src": "134451:18:23" } ] }, @@ -145078,90 +164053,90 @@ "arguments": [ { "name": "instance", - "nativeSrc": "134357:8:10", + "nativeSrc": "134357:8:23", "nodeType": "YulIdentifier", - "src": "134357:8:10" + "src": "134357:8:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "134350:6:10", + "nativeSrc": "134350:6:23", "nodeType": "YulIdentifier", - "src": "134350:6:10" + "src": "134350:6:23" }, - "nativeSrc": "134350:16:10", + "nativeSrc": "134350:16:23", "nodeType": "YulFunctionCall", - "src": "134350:16:10" + "src": "134350:16:23" }, - "nativeSrc": "134347:136:10", + "nativeSrc": "134347:136:23", "nodeType": "YulIf", - "src": "134347:136:10" + "src": "134347:136:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "134503:4:10", + "nativeSrc": "134503:4:23", "nodeType": "YulLiteral", - "src": "134503:4:10", + "src": "134503:4:23", "type": "", "value": "0x40" }, { "name": "m", - "nativeSrc": "134509:1:10", + "nativeSrc": "134509:1:23", "nodeType": "YulIdentifier", - "src": "134509:1:10" + "src": "134509:1:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "134496:6:10", + "nativeSrc": "134496:6:23", "nodeType": "YulIdentifier", - "src": "134496:6:10" + "src": "134496:6:23" }, - "nativeSrc": "134496:15:10", + "nativeSrc": "134496:15:23", "nodeType": "YulFunctionCall", - "src": "134496:15:10" + "src": "134496:15:23" }, - "nativeSrc": "134496:15:10", + "nativeSrc": "134496:15:23", "nodeType": "YulExpressionStatement", - "src": "134496:15:10" + "src": "134496:15:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "134567:4:10", + "nativeSrc": "134567:4:23", "nodeType": "YulLiteral", - "src": "134567:4:10", + "src": "134567:4:23", "type": "", "value": "0x60" }, { "kind": "number", - "nativeSrc": "134573:1:10", + "nativeSrc": "134573:1:23", "nodeType": "YulLiteral", - "src": "134573:1:10", + "src": "134573:1:23", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "134560:6:10", + "nativeSrc": "134560:6:23", "nodeType": "YulIdentifier", - "src": "134560:6:10" + "src": "134560:6:23" }, - "nativeSrc": "134560:15:10", + "nativeSrc": "134560:15:23", "nodeType": "YulFunctionCall", - "src": "134560:15:10" + "src": "134560:15:23" }, - "nativeSrc": "134560:15:10", + "nativeSrc": "134560:15:23", "nodeType": "YulExpressionStatement", - "src": "134560:15:10" + "src": "134560:15:23" } ] }, @@ -145169,66 +164144,66 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4723, + "declaration": 6329, "isOffset": false, "isSlot": false, - "src": "134274:6:10", + "src": "134274:6:23", "valueSize": 1 }, { - "declaration": 4726, + "declaration": 6332, "isOffset": false, "isSlot": false, - "src": "134297:8:10", + "src": "134297:8:23", "valueSize": 1 }, { - "declaration": 4726, + "declaration": 6332, "isOffset": false, "isSlot": false, - "src": "134357:8:10", + "src": "134357:8:23", "valueSize": 1 }, { - "declaration": 4721, + "declaration": 6327, "isOffset": false, "isSlot": false, - "src": "134316:5:10", + "src": "134316:5:23", "valueSize": 1 } ], - "id": 4728, + "id": 6334, "nodeType": "InlineAssembly", - "src": "125879:8732:10" + "src": "125879:8732:23" } ] }, "documentation": { - "id": 4719, + "id": 6325, "nodeType": "StructuredDocumentation", - "src": "125610:89:10", + "src": "125610:89:23", "text": "@dev Deploys a ERC1967I beacon proxy.\n Deposits `value` ETH during deployment." }, - "id": 4730, + "id": 6336, "implemented": true, "kind": "function", "modifiers": [], "name": "deployERC1967IBeaconProxy", - "nameLocation": "125713:25:10", + "nameLocation": "125713:25:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4724, + "id": 6330, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4721, + "id": 6327, "mutability": "mutable", "name": "value", - "nameLocation": "125747:5:10", + "nameLocation": "125747:5:23", "nodeType": "VariableDeclaration", - "scope": 4730, - "src": "125739:13:10", + "scope": 6336, + "src": "125739:13:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -145236,10 +164211,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4720, + "id": 6326, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "125739:7:10", + "src": "125739:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -145249,13 +164224,13 @@ }, { "constant": false, - "id": 4723, + "id": 6329, "mutability": "mutable", "name": "beacon", - "nameLocation": "125762:6:10", + "nameLocation": "125762:6:23", "nodeType": "VariableDeclaration", - "scope": 4730, - "src": "125754:14:10", + "scope": 6336, + "src": "125754:14:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -145263,10 +164238,10 @@ "typeString": "address" }, "typeName": { - "id": 4722, + "id": 6328, "name": "address", "nodeType": "ElementaryTypeName", - "src": "125754:7:10", + "src": "125754:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -145276,21 +164251,21 @@ "visibility": "internal" } ], - "src": "125738:31:10" + "src": "125738:31:23" }, "returnParameters": { - "id": 4727, + "id": 6333, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4726, + "id": 6332, "mutability": "mutable", "name": "instance", - "nameLocation": "125812:8:10", + "nameLocation": "125812:8:23", "nodeType": "VariableDeclaration", - "scope": 4730, - "src": "125804:16:10", + "scope": 6336, + "src": "125804:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -145298,10 +164273,10 @@ "typeString": "address" }, "typeName": { - "id": 4725, + "id": 6331, "name": "address", "nodeType": "ElementaryTypeName", - "src": "125804:7:10", + "src": "125804:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -145311,34 +164286,34 @@ "visibility": "internal" } ], - "src": "125803:18:10" + "src": "125803:18:23" }, - "scope": 5093, - "src": "125704:8913:10", + "scope": 6699, + "src": "125704:8913:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4748, + "id": 6354, "nodeType": "Block", - "src": "134829:83:10", + "src": "134829:83:23", "statements": [ { "expression": { - "id": 4746, + "id": 6352, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 4740, + "id": 6346, "name": "instance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4738, - "src": "134839:8:10", + "referencedDeclaration": 6344, + "src": "134839:8:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -145350,14 +164325,14 @@ "arguments": [ { "hexValue": "30", - "id": 4742, + "id": 6348, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "134889:1:10", + "src": "134889:1:23", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -145365,24 +164340,24 @@ "value": "0" }, { - "id": 4743, + "id": 6349, "name": "beacon", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4733, - "src": "134892:6:10", + "referencedDeclaration": 6339, + "src": "134892:6:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 4744, + "id": 6350, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "134900:4:10", + "referencedDeclaration": 6341, + "src": "134900:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -145404,23 +164379,23 @@ "typeString": "bytes32" } ], - "id": 4741, + "id": 6347, "name": "deployDeterministicERC1967IBeaconProxy", "nodeType": "Identifier", "overloadedDeclarations": [ - 4749, - 4763, - 4900, - 4916 + 6355, + 6369, + 6506, + 6522 ], - "referencedDeclaration": 4763, - "src": "134850:38:10", + "referencedDeclaration": 6369, + "src": "134850:38:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes32_$returns$_t_address_$", "typeString": "function (uint256,address,bytes32) returns (address)" } }, - "id": 4745, + "id": 6351, "isConstant": false, "isLValue": false, "isPure": false, @@ -145429,51 +164404,51 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "134850:55:10", + "src": "134850:55:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "134839:66:10", + "src": "134839:66:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 4747, + "id": 6353, "nodeType": "ExpressionStatement", - "src": "134839:66:10" + "src": "134839:66:23" } ] }, "documentation": { - "id": 4731, + "id": 6337, "nodeType": "StructuredDocumentation", - "src": "134623:67:10", + "src": "134623:67:23", "text": "@dev Deploys a deterministic ERC1967I beacon proxy with `salt`." }, - "id": 4749, + "id": 6355, "implemented": true, "kind": "function", "modifiers": [], "name": "deployDeterministicERC1967IBeaconProxy", - "nameLocation": "134704:38:10", + "nameLocation": "134704:38:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4736, + "id": 6342, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4733, + "id": 6339, "mutability": "mutable", "name": "beacon", - "nameLocation": "134751:6:10", + "nameLocation": "134751:6:23", "nodeType": "VariableDeclaration", - "scope": 4749, - "src": "134743:14:10", + "scope": 6355, + "src": "134743:14:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -145481,10 +164456,10 @@ "typeString": "address" }, "typeName": { - "id": 4732, + "id": 6338, "name": "address", "nodeType": "ElementaryTypeName", - "src": "134743:7:10", + "src": "134743:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -145495,13 +164470,13 @@ }, { "constant": false, - "id": 4735, + "id": 6341, "mutability": "mutable", "name": "salt", - "nameLocation": "134767:4:10", + "nameLocation": "134767:4:23", "nodeType": "VariableDeclaration", - "scope": 4749, - "src": "134759:12:10", + "scope": 6355, + "src": "134759:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -145509,10 +164484,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4734, + "id": 6340, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "134759:7:10", + "src": "134759:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -145521,21 +164496,21 @@ "visibility": "internal" } ], - "src": "134742:30:10" + "src": "134742:30:23" }, "returnParameters": { - "id": 4739, + "id": 6345, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4738, + "id": 6344, "mutability": "mutable", "name": "instance", - "nameLocation": "134815:8:10", + "nameLocation": "134815:8:23", "nodeType": "VariableDeclaration", - "scope": 4749, - "src": "134807:16:10", + "scope": 6355, + "src": "134807:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -145543,10 +164518,10 @@ "typeString": "address" }, "typeName": { - "id": 4737, + "id": 6343, "name": "address", "nodeType": "ElementaryTypeName", - "src": "134807:7:10", + "src": "134807:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -145556,57 +164531,57 @@ "visibility": "internal" } ], - "src": "134806:18:10" + "src": "134806:18:23" }, - "scope": 5093, - "src": "134695:217:10", + "scope": 6699, + "src": "134695:217:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4762, + "id": 6368, "nodeType": "Block", - "src": "135187:828:10", + "src": "135187:828:23", "statements": [ { "AST": { - "nativeSrc": "135249:760:10", + "nativeSrc": "135249:760:23", "nodeType": "YulBlock", - "src": "135249:760:10", + "src": "135249:760:23", "statements": [ { - "nativeSrc": "135263:20:10", + "nativeSrc": "135263:20:23", "nodeType": "YulVariableDeclaration", - "src": "135263:20:10", + "src": "135263:20:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "135278:4:10", + "nativeSrc": "135278:4:23", "nodeType": "YulLiteral", - "src": "135278:4:10", + "src": "135278:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "135272:5:10", + "nativeSrc": "135272:5:23", "nodeType": "YulIdentifier", - "src": "135272:5:10" + "src": "135272:5:23" }, - "nativeSrc": "135272:11:10", + "nativeSrc": "135272:11:23", "nodeType": "YulFunctionCall", - "src": "135272:11:10" + "src": "135272:11:23" }, "variables": [ { "name": "m", - "nativeSrc": "135267:1:10", + "nativeSrc": "135267:1:23", "nodeType": "YulTypedName", - "src": "135267:1:10", + "src": "135267:1:23", "type": "" } ] @@ -145616,111 +164591,111 @@ "arguments": [ { "kind": "number", - "nativeSrc": "135337:4:10", + "nativeSrc": "135337:4:23", "nodeType": "YulLiteral", - "src": "135337:4:10", + "src": "135337:4:23", "type": "", "value": "0x60" }, { "kind": "number", - "nativeSrc": "135343:66:10", + "nativeSrc": "135343:66:23", "nodeType": "YulLiteral", - "src": "135343:66:10", + "src": "135343:66:23", "type": "", "value": "0x3d50545afa361460525736515af43d600060013e6052573d6001fd5b3d6001f3" } ], "functionName": { "name": "mstore", - "nativeSrc": "135330:6:10", + "nativeSrc": "135330:6:23", "nodeType": "YulIdentifier", - "src": "135330:6:10" + "src": "135330:6:23" }, - "nativeSrc": "135330:80:10", + "nativeSrc": "135330:80:23", "nodeType": "YulFunctionCall", - "src": "135330:80:10" + "src": "135330:80:23" }, - "nativeSrc": "135330:80:10", + "nativeSrc": "135330:80:23", "nodeType": "YulExpressionStatement", - "src": "135330:80:10" + "src": "135330:80:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "135430:4:10", + "nativeSrc": "135430:4:23", "nodeType": "YulLiteral", - "src": "135430:4:10", + "src": "135430:4:23", "type": "", "value": "0x40" }, { "kind": "number", - "nativeSrc": "135436:66:10", + "nativeSrc": "135436:66:23", "nodeType": "YulLiteral", - "src": "135436:66:10", + "src": "135436:66:23", "type": "", "value": "0x527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b3513" } ], "functionName": { "name": "mstore", - "nativeSrc": "135423:6:10", + "nativeSrc": "135423:6:23", "nodeType": "YulIdentifier", - "src": "135423:6:10" + "src": "135423:6:23" }, - "nativeSrc": "135423:80:10", + "nativeSrc": "135423:80:23", "nodeType": "YulFunctionCall", - "src": "135423:80:10" + "src": "135423:80:23" }, - "nativeSrc": "135423:80:10", + "nativeSrc": "135423:80:23", "nodeType": "YulExpressionStatement", - "src": "135423:80:10" + "src": "135423:80:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "135523:4:10", + "nativeSrc": "135523:4:23", "nodeType": "YulLiteral", - "src": "135523:4:10", + "src": "135523:4:23", "type": "", "value": "0x20" }, { "kind": "number", - "nativeSrc": "135529:58:10", + "nativeSrc": "135529:58:23", "nodeType": "YulLiteral", - "src": "135529:58:10", + "src": "135529:58:23", "type": "", "value": "0x60195155f3363d3d373d3d363d602036600436635c60da1b60e01b36" } ], "functionName": { "name": "mstore", - "nativeSrc": "135516:6:10", + "nativeSrc": "135516:6:23", "nodeType": "YulIdentifier", - "src": "135516:6:10" + "src": "135516:6:23" }, - "nativeSrc": "135516:72:10", + "nativeSrc": "135516:72:23", "nodeType": "YulFunctionCall", - "src": "135516:72:10" + "src": "135516:72:23" }, - "nativeSrc": "135516:72:10", + "nativeSrc": "135516:72:23", "nodeType": "YulExpressionStatement", - "src": "135516:72:10" + "src": "135516:72:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "135608:4:10", + "nativeSrc": "135608:4:23", "nodeType": "YulLiteral", - "src": "135608:4:10", + "src": "135608:4:23", "type": "", "value": "0x04" }, @@ -145730,38 +164705,38 @@ "arguments": [ { "kind": "number", - "nativeSrc": "135621:3:10", + "nativeSrc": "135621:3:23", "nodeType": "YulLiteral", - "src": "135621:3:10", + "src": "135621:3:23", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "135626:20:10", + "nativeSrc": "135626:20:23", "nodeType": "YulLiteral", - "src": "135626:20:10", + "src": "135626:20:23", "type": "", "value": "0x60573d8160223d3973" } ], "functionName": { "name": "shl", - "nativeSrc": "135617:3:10", + "nativeSrc": "135617:3:23", "nodeType": "YulIdentifier", - "src": "135617:3:10" + "src": "135617:3:23" }, - "nativeSrc": "135617:30:10", + "nativeSrc": "135617:30:23", "nodeType": "YulFunctionCall", - "src": "135617:30:10" + "src": "135617:30:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "135653:2:10", + "nativeSrc": "135653:2:23", "nodeType": "YulLiteral", - "src": "135653:2:10", + "src": "135653:2:23", "type": "", "value": "96" }, @@ -145769,193 +164744,193 @@ "arguments": [ { "kind": "number", - "nativeSrc": "135661:2:10", + "nativeSrc": "135661:2:23", "nodeType": "YulLiteral", - "src": "135661:2:10", + "src": "135661:2:23", "type": "", "value": "96" }, { "name": "beacon", - "nativeSrc": "135665:6:10", + "nativeSrc": "135665:6:23", "nodeType": "YulIdentifier", - "src": "135665:6:10" + "src": "135665:6:23" } ], "functionName": { "name": "shl", - "nativeSrc": "135657:3:10", + "nativeSrc": "135657:3:23", "nodeType": "YulIdentifier", - "src": "135657:3:10" + "src": "135657:3:23" }, - "nativeSrc": "135657:15:10", + "nativeSrc": "135657:15:23", "nodeType": "YulFunctionCall", - "src": "135657:15:10" + "src": "135657:15:23" } ], "functionName": { "name": "shr", - "nativeSrc": "135649:3:10", + "nativeSrc": "135649:3:23", "nodeType": "YulIdentifier", - "src": "135649:3:10" + "src": "135649:3:23" }, - "nativeSrc": "135649:24:10", + "nativeSrc": "135649:24:23", "nodeType": "YulFunctionCall", - "src": "135649:24:10" + "src": "135649:24:23" } ], "functionName": { "name": "or", - "nativeSrc": "135614:2:10", + "nativeSrc": "135614:2:23", "nodeType": "YulIdentifier", - "src": "135614:2:10" + "src": "135614:2:23" }, - "nativeSrc": "135614:60:10", + "nativeSrc": "135614:60:23", "nodeType": "YulFunctionCall", - "src": "135614:60:10" + "src": "135614:60:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "135601:6:10", + "nativeSrc": "135601:6:23", "nodeType": "YulIdentifier", - "src": "135601:6:10" + "src": "135601:6:23" }, - "nativeSrc": "135601:74:10", + "nativeSrc": "135601:74:23", "nodeType": "YulFunctionCall", - "src": "135601:74:10" + "src": "135601:74:23" }, - "nativeSrc": "135601:74:10", + "nativeSrc": "135601:74:23", "nodeType": "YulExpressionStatement", - "src": "135601:74:10" + "src": "135601:74:23" }, { - "nativeSrc": "135688:44:10", + "nativeSrc": "135688:44:23", "nodeType": "YulAssignment", - "src": "135688:44:10", + "src": "135688:44:23", "value": { "arguments": [ { "name": "value", - "nativeSrc": "135708:5:10", + "nativeSrc": "135708:5:23", "nodeType": "YulIdentifier", - "src": "135708:5:10" + "src": "135708:5:23" }, { "kind": "number", - "nativeSrc": "135715:4:10", + "nativeSrc": "135715:4:23", "nodeType": "YulLiteral", - "src": "135715:4:10", + "src": "135715:4:23", "type": "", "value": "0x07" }, { "kind": "number", - "nativeSrc": "135721:4:10", + "nativeSrc": "135721:4:23", "nodeType": "YulLiteral", - "src": "135721:4:10", + "src": "135721:4:23", "type": "", "value": "0x79" }, { "name": "salt", - "nativeSrc": "135727:4:10", + "nativeSrc": "135727:4:23", "nodeType": "YulIdentifier", - "src": "135727:4:10" + "src": "135727:4:23" } ], "functionName": { "name": "create2", - "nativeSrc": "135700:7:10", + "nativeSrc": "135700:7:23", "nodeType": "YulIdentifier", - "src": "135700:7:10" + "src": "135700:7:23" }, - "nativeSrc": "135700:32:10", + "nativeSrc": "135700:32:23", "nodeType": "YulFunctionCall", - "src": "135700:32:10" + "src": "135700:32:23" }, "variableNames": [ { "name": "instance", - "nativeSrc": "135688:8:10", + "nativeSrc": "135688:8:23", "nodeType": "YulIdentifier", - "src": "135688:8:10" + "src": "135688:8:23" } ] }, { "body": { - "nativeSrc": "135765:116:10", + "nativeSrc": "135765:116:23", "nodeType": "YulBlock", - "src": "135765:116:10", + "src": "135765:116:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "135790:4:10", + "nativeSrc": "135790:4:23", "nodeType": "YulLiteral", - "src": "135790:4:10", + "src": "135790:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "135796:10:10", + "nativeSrc": "135796:10:23", "nodeType": "YulLiteral", - "src": "135796:10:10", + "src": "135796:10:23", "type": "", "value": "0x30116425" } ], "functionName": { "name": "mstore", - "nativeSrc": "135783:6:10", + "nativeSrc": "135783:6:23", "nodeType": "YulIdentifier", - "src": "135783:6:10" + "src": "135783:6:23" }, - "nativeSrc": "135783:24:10", + "nativeSrc": "135783:24:23", "nodeType": "YulFunctionCall", - "src": "135783:24:10" + "src": "135783:24:23" }, - "nativeSrc": "135783:24:10", + "nativeSrc": "135783:24:23", "nodeType": "YulExpressionStatement", - "src": "135783:24:10" + "src": "135783:24:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "135856:4:10", + "nativeSrc": "135856:4:23", "nodeType": "YulLiteral", - "src": "135856:4:10", + "src": "135856:4:23", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "135862:4:10", + "nativeSrc": "135862:4:23", "nodeType": "YulLiteral", - "src": "135862:4:10", + "src": "135862:4:23", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "135849:6:10", + "nativeSrc": "135849:6:23", "nodeType": "YulIdentifier", - "src": "135849:6:10" + "src": "135849:6:23" }, - "nativeSrc": "135849:18:10", + "nativeSrc": "135849:18:23", "nodeType": "YulFunctionCall", - "src": "135849:18:10" + "src": "135849:18:23" }, - "nativeSrc": "135849:18:10", + "nativeSrc": "135849:18:23", "nodeType": "YulExpressionStatement", - "src": "135849:18:10" + "src": "135849:18:23" } ] }, @@ -145963,90 +164938,90 @@ "arguments": [ { "name": "instance", - "nativeSrc": "135755:8:10", + "nativeSrc": "135755:8:23", "nodeType": "YulIdentifier", - "src": "135755:8:10" + "src": "135755:8:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "135748:6:10", + "nativeSrc": "135748:6:23", "nodeType": "YulIdentifier", - "src": "135748:6:10" + "src": "135748:6:23" }, - "nativeSrc": "135748:16:10", + "nativeSrc": "135748:16:23", "nodeType": "YulFunctionCall", - "src": "135748:16:10" + "src": "135748:16:23" }, - "nativeSrc": "135745:136:10", + "nativeSrc": "135745:136:23", "nodeType": "YulIf", - "src": "135745:136:10" + "src": "135745:136:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "135901:4:10", + "nativeSrc": "135901:4:23", "nodeType": "YulLiteral", - "src": "135901:4:10", + "src": "135901:4:23", "type": "", "value": "0x40" }, { "name": "m", - "nativeSrc": "135907:1:10", + "nativeSrc": "135907:1:23", "nodeType": "YulIdentifier", - "src": "135907:1:10" + "src": "135907:1:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "135894:6:10", + "nativeSrc": "135894:6:23", "nodeType": "YulIdentifier", - "src": "135894:6:10" + "src": "135894:6:23" }, - "nativeSrc": "135894:15:10", + "nativeSrc": "135894:15:23", "nodeType": "YulFunctionCall", - "src": "135894:15:10" + "src": "135894:15:23" }, - "nativeSrc": "135894:15:10", + "nativeSrc": "135894:15:23", "nodeType": "YulExpressionStatement", - "src": "135894:15:10" + "src": "135894:15:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "135965:4:10", + "nativeSrc": "135965:4:23", "nodeType": "YulLiteral", - "src": "135965:4:10", + "src": "135965:4:23", "type": "", "value": "0x60" }, { "kind": "number", - "nativeSrc": "135971:1:10", + "nativeSrc": "135971:1:23", "nodeType": "YulLiteral", - "src": "135971:1:10", + "src": "135971:1:23", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "135958:6:10", + "nativeSrc": "135958:6:23", "nodeType": "YulIdentifier", - "src": "135958:6:10" + "src": "135958:6:23" }, - "nativeSrc": "135958:15:10", + "nativeSrc": "135958:15:23", "nodeType": "YulFunctionCall", - "src": "135958:15:10" + "src": "135958:15:23" }, - "nativeSrc": "135958:15:10", + "nativeSrc": "135958:15:23", "nodeType": "YulExpressionStatement", - "src": "135958:15:10" + "src": "135958:15:23" } ] }, @@ -146054,73 +165029,73 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4754, + "declaration": 6360, "isOffset": false, "isSlot": false, - "src": "135665:6:10", + "src": "135665:6:23", "valueSize": 1 }, { - "declaration": 4759, + "declaration": 6365, "isOffset": false, "isSlot": false, - "src": "135688:8:10", + "src": "135688:8:23", "valueSize": 1 }, { - "declaration": 4759, + "declaration": 6365, "isOffset": false, "isSlot": false, - "src": "135755:8:10", + "src": "135755:8:23", "valueSize": 1 }, { - "declaration": 4756, + "declaration": 6362, "isOffset": false, "isSlot": false, - "src": "135727:4:10", + "src": "135727:4:23", "valueSize": 1 }, { - "declaration": 4752, + "declaration": 6358, "isOffset": false, "isSlot": false, - "src": "135708:5:10", + "src": "135708:5:23", "valueSize": 1 } ], - "id": 4761, + "id": 6367, "nodeType": "InlineAssembly", - "src": "135240:769:10" + "src": "135240:769:23" } ] }, "documentation": { - "id": 4750, + "id": 6356, "nodeType": "StructuredDocumentation", - "src": "134918:115:10", + "src": "134918:115:23", "text": "@dev Deploys a deterministic ERC1967I beacon proxy with `salt`.\n Deposits `value` ETH during deployment." }, - "id": 4763, + "id": 6369, "implemented": true, "kind": "function", "modifiers": [], "name": "deployDeterministicERC1967IBeaconProxy", - "nameLocation": "135047:38:10", + "nameLocation": "135047:38:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4757, + "id": 6363, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4752, + "id": 6358, "mutability": "mutable", "name": "value", - "nameLocation": "135094:5:10", + "nameLocation": "135094:5:23", "nodeType": "VariableDeclaration", - "scope": 4763, - "src": "135086:13:10", + "scope": 6369, + "src": "135086:13:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -146128,10 +165103,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4751, + "id": 6357, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "135086:7:10", + "src": "135086:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -146141,13 +165116,13 @@ }, { "constant": false, - "id": 4754, + "id": 6360, "mutability": "mutable", "name": "beacon", - "nameLocation": "135109:6:10", + "nameLocation": "135109:6:23", "nodeType": "VariableDeclaration", - "scope": 4763, - "src": "135101:14:10", + "scope": 6369, + "src": "135101:14:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -146155,10 +165130,10 @@ "typeString": "address" }, "typeName": { - "id": 4753, + "id": 6359, "name": "address", "nodeType": "ElementaryTypeName", - "src": "135101:7:10", + "src": "135101:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -146169,13 +165144,13 @@ }, { "constant": false, - "id": 4756, + "id": 6362, "mutability": "mutable", "name": "salt", - "nameLocation": "135125:4:10", + "nameLocation": "135125:4:23", "nodeType": "VariableDeclaration", - "scope": 4763, - "src": "135117:12:10", + "scope": 6369, + "src": "135117:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -146183,10 +165158,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4755, + "id": 6361, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "135117:7:10", + "src": "135117:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -146195,21 +165170,21 @@ "visibility": "internal" } ], - "src": "135085:45:10" + "src": "135085:45:23" }, "returnParameters": { - "id": 4760, + "id": 6366, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4759, + "id": 6365, "mutability": "mutable", "name": "instance", - "nameLocation": "135173:8:10", + "nameLocation": "135173:8:23", "nodeType": "VariableDeclaration", - "scope": 4763, - "src": "135165:16:10", + "scope": 6369, + "src": "135165:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -146217,10 +165192,10 @@ "typeString": "address" }, "typeName": { - "id": 4758, + "id": 6364, "name": "address", "nodeType": "ElementaryTypeName", - "src": "135165:7:10", + "src": "135165:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -146230,33 +165205,33 @@ "visibility": "internal" } ], - "src": "135164:18:10" + "src": "135164:18:23" }, - "scope": 5093, - "src": "135038:977:10", + "scope": 6699, + "src": "135038:977:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4781, + "id": 6387, "nodeType": "Block", - "src": "136392:79:10", + "src": "136392:79:23", "statements": [ { "expression": { "arguments": [ { "hexValue": "30", - "id": 4776, + "id": 6382, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "136448:1:10", + "src": "136448:1:23", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -146264,24 +165239,24 @@ "value": "0" }, { - "id": 4777, + "id": 6383, "name": "beacon", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4766, - "src": "136451:6:10", + "referencedDeclaration": 6372, + "src": "136451:6:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 4778, + "id": 6384, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4768, - "src": "136459:4:10", + "referencedDeclaration": 6374, + "src": "136459:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -146303,23 +165278,23 @@ "typeString": "bytes32" } ], - "id": 4775, + "id": 6381, "name": "createDeterministicERC1967IBeaconProxy", "nodeType": "Identifier", "overloadedDeclarations": [ - 4782, - 4798, - 4938, - 4956 + 6388, + 6404, + 6544, + 6562 ], - "referencedDeclaration": 4798, - "src": "136409:38:10", + "referencedDeclaration": 6404, + "src": "136409:38:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes32_$returns$_t_bool_$_t_address_$", "typeString": "function (uint256,address,bytes32) returns (bool,address)" } }, - "id": 4779, + "id": 6385, "isConstant": false, "isLValue": false, "isPure": false, @@ -146328,46 +165303,46 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "136409:55:10", + "src": "136409:55:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_address_$", "typeString": "tuple(bool,address)" } }, - "functionReturnParameters": 4774, - "id": 4780, + "functionReturnParameters": 6380, + "id": 6386, "nodeType": "Return", - "src": "136402:62:10" + "src": "136402:62:23" } ] }, "documentation": { - "id": 4764, + "id": 6370, "nodeType": "StructuredDocumentation", - "src": "136021:210:10", + "src": "136021:210:23", "text": "@dev Creates a deterministic ERC1967I beacon proxy with `salt`.\n Note: This method is intended for use in ERC4337 factories,\n which are expected to NOT revert if the proxy is already deployed." }, - "id": 4782, + "id": 6388, "implemented": true, "kind": "function", "modifiers": [], "name": "createDeterministicERC1967IBeaconProxy", - "nameLocation": "136245:38:10", + "nameLocation": "136245:38:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4769, + "id": 6375, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4766, + "id": 6372, "mutability": "mutable", "name": "beacon", - "nameLocation": "136292:6:10", + "nameLocation": "136292:6:23", "nodeType": "VariableDeclaration", - "scope": 4782, - "src": "136284:14:10", + "scope": 6388, + "src": "136284:14:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -146375,10 +165350,10 @@ "typeString": "address" }, "typeName": { - "id": 4765, + "id": 6371, "name": "address", "nodeType": "ElementaryTypeName", - "src": "136284:7:10", + "src": "136284:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -146389,13 +165364,13 @@ }, { "constant": false, - "id": 4768, + "id": 6374, "mutability": "mutable", "name": "salt", - "nameLocation": "136308:4:10", + "nameLocation": "136308:4:23", "nodeType": "VariableDeclaration", - "scope": 4782, - "src": "136300:12:10", + "scope": 6388, + "src": "136300:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -146403,10 +165378,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4767, + "id": 6373, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "136300:7:10", + "src": "136300:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -146415,21 +165390,21 @@ "visibility": "internal" } ], - "src": "136283:30:10" + "src": "136283:30:23" }, "returnParameters": { - "id": 4774, + "id": 6380, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4771, + "id": 6377, "mutability": "mutable", "name": "alreadyDeployed", - "nameLocation": "136353:15:10", + "nameLocation": "136353:15:23", "nodeType": "VariableDeclaration", - "scope": 4782, - "src": "136348:20:10", + "scope": 6388, + "src": "136348:20:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -146437,10 +165412,10 @@ "typeString": "bool" }, "typeName": { - "id": 4770, + "id": 6376, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "136348:4:10", + "src": "136348:4:23", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -146450,13 +165425,13 @@ }, { "constant": false, - "id": 4773, + "id": 6379, "mutability": "mutable", "name": "instance", - "nameLocation": "136378:8:10", + "nameLocation": "136378:8:23", "nodeType": "VariableDeclaration", - "scope": 4782, - "src": "136370:16:10", + "scope": 6388, + "src": "136370:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -146464,10 +165439,10 @@ "typeString": "address" }, "typeName": { - "id": 4772, + "id": 6378, "name": "address", "nodeType": "ElementaryTypeName", - "src": "136370:7:10", + "src": "136370:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -146477,57 +165452,57 @@ "visibility": "internal" } ], - "src": "136347:40:10" + "src": "136347:40:23" }, - "scope": 5093, - "src": "136236:235:10", + "scope": 6699, + "src": "136236:235:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4797, + "id": 6403, "nodeType": "Block", - "src": "136911:1609:10", + "src": "136911:1609:23", "statements": [ { "AST": { - "nativeSrc": "136973:1541:10", + "nativeSrc": "136973:1541:23", "nodeType": "YulBlock", - "src": "136973:1541:10", + "src": "136973:1541:23", "statements": [ { - "nativeSrc": "136987:20:10", + "nativeSrc": "136987:20:23", "nodeType": "YulVariableDeclaration", - "src": "136987:20:10", + "src": "136987:20:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "137002:4:10", + "nativeSrc": "137002:4:23", "nodeType": "YulLiteral", - "src": "137002:4:10", + "src": "137002:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "136996:5:10", + "nativeSrc": "136996:5:23", "nodeType": "YulIdentifier", - "src": "136996:5:10" + "src": "136996:5:23" }, - "nativeSrc": "136996:11:10", + "nativeSrc": "136996:11:23", "nodeType": "YulFunctionCall", - "src": "136996:11:10" + "src": "136996:11:23" }, "variables": [ { "name": "m", - "nativeSrc": "136991:1:10", + "nativeSrc": "136991:1:23", "nodeType": "YulTypedName", - "src": "136991:1:10", + "src": "136991:1:23", "type": "" } ] @@ -146537,111 +165512,111 @@ "arguments": [ { "kind": "number", - "nativeSrc": "137061:4:10", + "nativeSrc": "137061:4:23", "nodeType": "YulLiteral", - "src": "137061:4:10", + "src": "137061:4:23", "type": "", "value": "0x60" }, { "kind": "number", - "nativeSrc": "137067:66:10", + "nativeSrc": "137067:66:23", "nodeType": "YulLiteral", - "src": "137067:66:10", + "src": "137067:66:23", "type": "", "value": "0x3d50545afa361460525736515af43d600060013e6052573d6001fd5b3d6001f3" } ], "functionName": { "name": "mstore", - "nativeSrc": "137054:6:10", + "nativeSrc": "137054:6:23", "nodeType": "YulIdentifier", - "src": "137054:6:10" + "src": "137054:6:23" }, - "nativeSrc": "137054:80:10", + "nativeSrc": "137054:80:23", "nodeType": "YulFunctionCall", - "src": "137054:80:10" + "src": "137054:80:23" }, - "nativeSrc": "137054:80:10", + "nativeSrc": "137054:80:23", "nodeType": "YulExpressionStatement", - "src": "137054:80:10" + "src": "137054:80:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "137154:4:10", + "nativeSrc": "137154:4:23", "nodeType": "YulLiteral", - "src": "137154:4:10", + "src": "137154:4:23", "type": "", "value": "0x40" }, { "kind": "number", - "nativeSrc": "137160:66:10", + "nativeSrc": "137160:66:23", "nodeType": "YulLiteral", - "src": "137160:66:10", + "src": "137160:66:23", "type": "", "value": "0x527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b3513" } ], "functionName": { "name": "mstore", - "nativeSrc": "137147:6:10", + "nativeSrc": "137147:6:23", "nodeType": "YulIdentifier", - "src": "137147:6:10" + "src": "137147:6:23" }, - "nativeSrc": "137147:80:10", + "nativeSrc": "137147:80:23", "nodeType": "YulFunctionCall", - "src": "137147:80:10" + "src": "137147:80:23" }, - "nativeSrc": "137147:80:10", + "nativeSrc": "137147:80:23", "nodeType": "YulExpressionStatement", - "src": "137147:80:10" + "src": "137147:80:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "137247:4:10", + "nativeSrc": "137247:4:23", "nodeType": "YulLiteral", - "src": "137247:4:10", + "src": "137247:4:23", "type": "", "value": "0x20" }, { "kind": "number", - "nativeSrc": "137253:58:10", + "nativeSrc": "137253:58:23", "nodeType": "YulLiteral", - "src": "137253:58:10", + "src": "137253:58:23", "type": "", "value": "0x60195155f3363d3d373d3d363d602036600436635c60da1b60e01b36" } ], "functionName": { "name": "mstore", - "nativeSrc": "137240:6:10", + "nativeSrc": "137240:6:23", "nodeType": "YulIdentifier", - "src": "137240:6:10" + "src": "137240:6:23" }, - "nativeSrc": "137240:72:10", + "nativeSrc": "137240:72:23", "nodeType": "YulFunctionCall", - "src": "137240:72:10" + "src": "137240:72:23" }, - "nativeSrc": "137240:72:10", + "nativeSrc": "137240:72:23", "nodeType": "YulExpressionStatement", - "src": "137240:72:10" + "src": "137240:72:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "137332:4:10", + "nativeSrc": "137332:4:23", "nodeType": "YulLiteral", - "src": "137332:4:10", + "src": "137332:4:23", "type": "", "value": "0x04" }, @@ -146651,38 +165626,38 @@ "arguments": [ { "kind": "number", - "nativeSrc": "137345:3:10", + "nativeSrc": "137345:3:23", "nodeType": "YulLiteral", - "src": "137345:3:10", + "src": "137345:3:23", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "137350:20:10", + "nativeSrc": "137350:20:23", "nodeType": "YulLiteral", - "src": "137350:20:10", + "src": "137350:20:23", "type": "", "value": "0x60573d8160223d3973" } ], "functionName": { "name": "shl", - "nativeSrc": "137341:3:10", + "nativeSrc": "137341:3:23", "nodeType": "YulIdentifier", - "src": "137341:3:10" + "src": "137341:3:23" }, - "nativeSrc": "137341:30:10", + "nativeSrc": "137341:30:23", "nodeType": "YulFunctionCall", - "src": "137341:30:10" + "src": "137341:30:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "137377:2:10", + "nativeSrc": "137377:2:23", "nodeType": "YulLiteral", - "src": "137377:2:10", + "src": "137377:2:23", "type": "", "value": "96" }, @@ -146690,65 +165665,65 @@ "arguments": [ { "kind": "number", - "nativeSrc": "137385:2:10", + "nativeSrc": "137385:2:23", "nodeType": "YulLiteral", - "src": "137385:2:10", + "src": "137385:2:23", "type": "", "value": "96" }, { "name": "beacon", - "nativeSrc": "137389:6:10", + "nativeSrc": "137389:6:23", "nodeType": "YulIdentifier", - "src": "137389:6:10" + "src": "137389:6:23" } ], "functionName": { "name": "shl", - "nativeSrc": "137381:3:10", + "nativeSrc": "137381:3:23", "nodeType": "YulIdentifier", - "src": "137381:3:10" + "src": "137381:3:23" }, - "nativeSrc": "137381:15:10", + "nativeSrc": "137381:15:23", "nodeType": "YulFunctionCall", - "src": "137381:15:10" + "src": "137381:15:23" } ], "functionName": { "name": "shr", - "nativeSrc": "137373:3:10", + "nativeSrc": "137373:3:23", "nodeType": "YulIdentifier", - "src": "137373:3:10" + "src": "137373:3:23" }, - "nativeSrc": "137373:24:10", + "nativeSrc": "137373:24:23", "nodeType": "YulFunctionCall", - "src": "137373:24:10" + "src": "137373:24:23" } ], "functionName": { "name": "or", - "nativeSrc": "137338:2:10", + "nativeSrc": "137338:2:23", "nodeType": "YulIdentifier", - "src": "137338:2:10" + "src": "137338:2:23" }, - "nativeSrc": "137338:60:10", + "nativeSrc": "137338:60:23", "nodeType": "YulFunctionCall", - "src": "137338:60:10" + "src": "137338:60:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "137325:6:10", + "nativeSrc": "137325:6:23", "nodeType": "YulIdentifier", - "src": "137325:6:10" + "src": "137325:6:23" }, - "nativeSrc": "137325:74:10", + "nativeSrc": "137325:74:23", "nodeType": "YulFunctionCall", - "src": "137325:74:10" + "src": "137325:74:23" }, - "nativeSrc": "137325:74:10", + "nativeSrc": "137325:74:23", "nodeType": "YulExpressionStatement", - "src": "137325:74:10" + "src": "137325:74:23" }, { "expression": { @@ -146757,89 +165732,89 @@ "arguments": [ { "name": "m", - "nativeSrc": "137475:1:10", + "nativeSrc": "137475:1:23", "nodeType": "YulIdentifier", - "src": "137475:1:10" + "src": "137475:1:23" }, { "kind": "number", - "nativeSrc": "137478:4:10", + "nativeSrc": "137478:4:23", "nodeType": "YulLiteral", - "src": "137478:4:10", + "src": "137478:4:23", "type": "", "value": "0x35" } ], "functionName": { "name": "add", - "nativeSrc": "137471:3:10", + "nativeSrc": "137471:3:23", "nodeType": "YulIdentifier", - "src": "137471:3:10" + "src": "137471:3:23" }, - "nativeSrc": "137471:12:10", + "nativeSrc": "137471:12:23", "nodeType": "YulFunctionCall", - "src": "137471:12:10" + "src": "137471:12:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "137495:4:10", + "nativeSrc": "137495:4:23", "nodeType": "YulLiteral", - "src": "137495:4:10", + "src": "137495:4:23", "type": "", "value": "0x07" }, { "kind": "number", - "nativeSrc": "137501:4:10", + "nativeSrc": "137501:4:23", "nodeType": "YulLiteral", - "src": "137501:4:10", + "src": "137501:4:23", "type": "", "value": "0x79" } ], "functionName": { "name": "keccak256", - "nativeSrc": "137485:9:10", + "nativeSrc": "137485:9:23", "nodeType": "YulIdentifier", - "src": "137485:9:10" + "src": "137485:9:23" }, - "nativeSrc": "137485:21:10", + "nativeSrc": "137485:21:23", "nodeType": "YulFunctionCall", - "src": "137485:21:10" + "src": "137485:21:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "137464:6:10", + "nativeSrc": "137464:6:23", "nodeType": "YulIdentifier", - "src": "137464:6:10" + "src": "137464:6:23" }, - "nativeSrc": "137464:43:10", + "nativeSrc": "137464:43:23", "nodeType": "YulFunctionCall", - "src": "137464:43:10" + "src": "137464:43:23" }, - "nativeSrc": "137464:43:10", + "nativeSrc": "137464:43:23", "nodeType": "YulExpressionStatement", - "src": "137464:43:10" + "src": "137464:43:23" }, { "expression": { "arguments": [ { "name": "m", - "nativeSrc": "137527:1:10", + "nativeSrc": "137527:1:23", "nodeType": "YulIdentifier", - "src": "137527:1:10" + "src": "137527:1:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "137534:2:10", + "nativeSrc": "137534:2:23", "nodeType": "YulLiteral", - "src": "137534:2:10", + "src": "137534:2:23", "type": "", "value": "88" }, @@ -146847,71 +165822,71 @@ "arguments": [], "functionName": { "name": "address", - "nativeSrc": "137538:7:10", + "nativeSrc": "137538:7:23", "nodeType": "YulIdentifier", - "src": "137538:7:10" + "src": "137538:7:23" }, - "nativeSrc": "137538:9:10", + "nativeSrc": "137538:9:23", "nodeType": "YulFunctionCall", - "src": "137538:9:10" + "src": "137538:9:23" } ], "functionName": { "name": "shl", - "nativeSrc": "137530:3:10", + "nativeSrc": "137530:3:23", "nodeType": "YulIdentifier", - "src": "137530:3:10" + "src": "137530:3:23" }, - "nativeSrc": "137530:18:10", + "nativeSrc": "137530:18:23", "nodeType": "YulFunctionCall", - "src": "137530:18:10" + "src": "137530:18:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "137520:6:10", + "nativeSrc": "137520:6:23", "nodeType": "YulIdentifier", - "src": "137520:6:10" + "src": "137520:6:23" }, - "nativeSrc": "137520:29:10", + "nativeSrc": "137520:29:23", "nodeType": "YulFunctionCall", - "src": "137520:29:10" + "src": "137520:29:23" }, - "nativeSrc": "137520:29:10", + "nativeSrc": "137520:29:23", "nodeType": "YulExpressionStatement", - "src": "137520:29:10" + "src": "137520:29:23" }, { "expression": { "arguments": [ { "name": "m", - "nativeSrc": "137570:1:10", + "nativeSrc": "137570:1:23", "nodeType": "YulIdentifier", - "src": "137570:1:10" + "src": "137570:1:23" }, { "kind": "number", - "nativeSrc": "137573:4:10", + "nativeSrc": "137573:4:23", "nodeType": "YulLiteral", - "src": "137573:4:10", + "src": "137573:4:23", "type": "", "value": "0xff" } ], "functionName": { "name": "mstore8", - "nativeSrc": "137562:7:10", + "nativeSrc": "137562:7:23", "nodeType": "YulIdentifier", - "src": "137562:7:10" + "src": "137562:7:23" }, - "nativeSrc": "137562:16:10", + "nativeSrc": "137562:16:23", "nodeType": "YulFunctionCall", - "src": "137562:16:10" + "src": "137562:16:23" }, - "nativeSrc": "137562:16:10", + "nativeSrc": "137562:16:23", "nodeType": "YulExpressionStatement", - "src": "137562:16:10" + "src": "137562:16:23" }, { "expression": { @@ -146920,229 +165895,229 @@ "arguments": [ { "name": "m", - "nativeSrc": "137623:1:10", + "nativeSrc": "137623:1:23", "nodeType": "YulIdentifier", - "src": "137623:1:10" + "src": "137623:1:23" }, { "kind": "number", - "nativeSrc": "137626:4:10", + "nativeSrc": "137626:4:23", "nodeType": "YulLiteral", - "src": "137626:4:10", + "src": "137626:4:23", "type": "", "value": "0x15" } ], "functionName": { "name": "add", - "nativeSrc": "137619:3:10", + "nativeSrc": "137619:3:23", "nodeType": "YulIdentifier", - "src": "137619:3:10" + "src": "137619:3:23" }, - "nativeSrc": "137619:12:10", + "nativeSrc": "137619:12:23", "nodeType": "YulFunctionCall", - "src": "137619:12:10" + "src": "137619:12:23" }, { "name": "salt", - "nativeSrc": "137633:4:10", + "nativeSrc": "137633:4:23", "nodeType": "YulIdentifier", - "src": "137633:4:10" + "src": "137633:4:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "137612:6:10", + "nativeSrc": "137612:6:23", "nodeType": "YulIdentifier", - "src": "137612:6:10" + "src": "137612:6:23" }, - "nativeSrc": "137612:26:10", + "nativeSrc": "137612:26:23", "nodeType": "YulFunctionCall", - "src": "137612:26:10" + "src": "137612:26:23" }, - "nativeSrc": "137612:26:10", + "nativeSrc": "137612:26:23", "nodeType": "YulExpressionStatement", - "src": "137612:26:10" + "src": "137612:26:23" }, { - "nativeSrc": "137651:30:10", + "nativeSrc": "137651:30:23", "nodeType": "YulAssignment", - "src": "137651:30:10", + "src": "137651:30:23", "value": { "arguments": [ { "name": "m", - "nativeSrc": "137673:1:10", + "nativeSrc": "137673:1:23", "nodeType": "YulIdentifier", - "src": "137673:1:10" + "src": "137673:1:23" }, { "kind": "number", - "nativeSrc": "137676:4:10", + "nativeSrc": "137676:4:23", "nodeType": "YulLiteral", - "src": "137676:4:10", + "src": "137676:4:23", "type": "", "value": "0x55" } ], "functionName": { "name": "keccak256", - "nativeSrc": "137663:9:10", + "nativeSrc": "137663:9:23", "nodeType": "YulIdentifier", - "src": "137663:9:10" + "src": "137663:9:23" }, - "nativeSrc": "137663:18:10", + "nativeSrc": "137663:18:23", "nodeType": "YulFunctionCall", - "src": "137663:18:10" + "src": "137663:18:23" }, "variableNames": [ { "name": "instance", - "nativeSrc": "137651:8:10", + "nativeSrc": "137651:8:23", "nodeType": "YulIdentifier", - "src": "137651:8:10" + "src": "137651:8:23" } ] }, { "body": { - "nativeSrc": "137706:680:10", + "nativeSrc": "137706:680:23", "nodeType": "YulBlock", - "src": "137706:680:10", + "src": "137706:680:23", "statements": [ { "body": { - "nativeSrc": "137757:291:10", + "nativeSrc": "137757:291:23", "nodeType": "YulBlock", - "src": "137757:291:10", + "src": "137757:291:23", "statements": [ { - "nativeSrc": "137779:44:10", + "nativeSrc": "137779:44:23", "nodeType": "YulAssignment", - "src": "137779:44:10", + "src": "137779:44:23", "value": { "arguments": [ { "name": "value", - "nativeSrc": "137799:5:10", + "nativeSrc": "137799:5:23", "nodeType": "YulIdentifier", - "src": "137799:5:10" + "src": "137799:5:23" }, { "kind": "number", - "nativeSrc": "137806:4:10", + "nativeSrc": "137806:4:23", "nodeType": "YulLiteral", - "src": "137806:4:10", + "src": "137806:4:23", "type": "", "value": "0x07" }, { "kind": "number", - "nativeSrc": "137812:4:10", + "nativeSrc": "137812:4:23", "nodeType": "YulLiteral", - "src": "137812:4:10", + "src": "137812:4:23", "type": "", "value": "0x79" }, { "name": "salt", - "nativeSrc": "137818:4:10", + "nativeSrc": "137818:4:23", "nodeType": "YulIdentifier", - "src": "137818:4:10" + "src": "137818:4:23" } ], "functionName": { "name": "create2", - "nativeSrc": "137791:7:10", + "nativeSrc": "137791:7:23", "nodeType": "YulIdentifier", - "src": "137791:7:10" + "src": "137791:7:23" }, - "nativeSrc": "137791:32:10", + "nativeSrc": "137791:32:23", "nodeType": "YulFunctionCall", - "src": "137791:32:10" + "src": "137791:32:23" }, "variableNames": [ { "name": "instance", - "nativeSrc": "137779:8:10", + "nativeSrc": "137779:8:23", "nodeType": "YulIdentifier", - "src": "137779:8:10" + "src": "137779:8:23" } ] }, { "body": { - "nativeSrc": "137864:140:10", + "nativeSrc": "137864:140:23", "nodeType": "YulBlock", - "src": "137864:140:10", + "src": "137864:140:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "137897:4:10", + "nativeSrc": "137897:4:23", "nodeType": "YulLiteral", - "src": "137897:4:10", + "src": "137897:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "137903:10:10", + "nativeSrc": "137903:10:23", "nodeType": "YulLiteral", - "src": "137903:10:10", + "src": "137903:10:23", "type": "", "value": "0x30116425" } ], "functionName": { "name": "mstore", - "nativeSrc": "137890:6:10", + "nativeSrc": "137890:6:23", "nodeType": "YulIdentifier", - "src": "137890:6:10" + "src": "137890:6:23" }, - "nativeSrc": "137890:24:10", + "nativeSrc": "137890:24:23", "nodeType": "YulFunctionCall", - "src": "137890:24:10" + "src": "137890:24:23" }, - "nativeSrc": "137890:24:10", + "nativeSrc": "137890:24:23", "nodeType": "YulExpressionStatement", - "src": "137890:24:10" + "src": "137890:24:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "137971:4:10", + "nativeSrc": "137971:4:23", "nodeType": "YulLiteral", - "src": "137971:4:10", + "src": "137971:4:23", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "137977:4:10", + "nativeSrc": "137977:4:23", "nodeType": "YulLiteral", - "src": "137977:4:10", + "src": "137977:4:23", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "137964:6:10", + "nativeSrc": "137964:6:23", "nodeType": "YulIdentifier", - "src": "137964:6:10" + "src": "137964:6:23" }, - "nativeSrc": "137964:18:10", + "nativeSrc": "137964:18:23", "nodeType": "YulFunctionCall", - "src": "137964:18:10" + "src": "137964:18:23" }, - "nativeSrc": "137964:18:10", + "nativeSrc": "137964:18:23", "nodeType": "YulExpressionStatement", - "src": "137964:18:10" + "src": "137964:18:23" } ] }, @@ -147150,29 +166125,29 @@ "arguments": [ { "name": "instance", - "nativeSrc": "137854:8:10", + "nativeSrc": "137854:8:23", "nodeType": "YulIdentifier", - "src": "137854:8:10" + "src": "137854:8:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "137847:6:10", + "nativeSrc": "137847:6:23", "nodeType": "YulIdentifier", - "src": "137847:6:10" + "src": "137847:6:23" }, - "nativeSrc": "137847:16:10", + "nativeSrc": "137847:16:23", "nodeType": "YulFunctionCall", - "src": "137847:16:10" + "src": "137847:16:23" }, - "nativeSrc": "137844:160:10", + "nativeSrc": "137844:160:23", "nodeType": "YulIf", - "src": "137844:160:10" + "src": "137844:160:23" }, { - "nativeSrc": "138025:5:10", + "nativeSrc": "138025:5:23", "nodeType": "YulBreak", - "src": "138025:5:10" + "src": "138025:5:23" } ] }, @@ -147182,67 +166157,67 @@ "arguments": [ { "name": "instance", - "nativeSrc": "137746:8:10", + "nativeSrc": "137746:8:23", "nodeType": "YulIdentifier", - "src": "137746:8:10" + "src": "137746:8:23" } ], "functionName": { "name": "extcodesize", - "nativeSrc": "137734:11:10", + "nativeSrc": "137734:11:23", "nodeType": "YulIdentifier", - "src": "137734:11:10" + "src": "137734:11:23" }, - "nativeSrc": "137734:21:10", + "nativeSrc": "137734:21:23", "nodeType": "YulFunctionCall", - "src": "137734:21:10" + "src": "137734:21:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "137727:6:10", + "nativeSrc": "137727:6:23", "nodeType": "YulIdentifier", - "src": "137727:6:10" + "src": "137727:6:23" }, - "nativeSrc": "137727:29:10", + "nativeSrc": "137727:29:23", "nodeType": "YulFunctionCall", - "src": "137727:29:10" + "src": "137727:29:23" }, - "nativeSrc": "137724:324:10", + "nativeSrc": "137724:324:23", "nodeType": "YulIf", - "src": "137724:324:10" + "src": "137724:324:23" }, { - "nativeSrc": "138065:20:10", + "nativeSrc": "138065:20:23", "nodeType": "YulAssignment", - "src": "138065:20:10", + "src": "138065:20:23", "value": { "kind": "number", - "nativeSrc": "138084:1:10", + "nativeSrc": "138084:1:23", "nodeType": "YulLiteral", - "src": "138084:1:10", + "src": "138084:1:23", "type": "", "value": "1" }, "variableNames": [ { "name": "alreadyDeployed", - "nativeSrc": "138065:15:10", + "nativeSrc": "138065:15:23", "nodeType": "YulIdentifier", - "src": "138065:15:10" + "src": "138065:15:23" } ] }, { "body": { - "nativeSrc": "138119:9:10", + "nativeSrc": "138119:9:23", "nodeType": "YulBlock", - "src": "138119:9:10", + "src": "138119:9:23", "statements": [ { - "nativeSrc": "138121:5:10", + "nativeSrc": "138121:5:23", "nodeType": "YulBreak", - "src": "138121:5:10" + "src": "138121:5:23" } ] }, @@ -147250,98 +166225,98 @@ "arguments": [ { "name": "value", - "nativeSrc": "138112:5:10", + "nativeSrc": "138112:5:23", "nodeType": "YulIdentifier", - "src": "138112:5:10" + "src": "138112:5:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "138105:6:10", + "nativeSrc": "138105:6:23", "nodeType": "YulIdentifier", - "src": "138105:6:10" + "src": "138105:6:23" }, - "nativeSrc": "138105:13:10", + "nativeSrc": "138105:13:23", "nodeType": "YulFunctionCall", - "src": "138105:13:10" + "src": "138105:13:23" }, - "nativeSrc": "138102:26:10", + "nativeSrc": "138102:26:23", "nodeType": "YulIf", - "src": "138102:26:10" + "src": "138102:26:23" }, { "body": { - "nativeSrc": "138221:129:10", + "nativeSrc": "138221:129:23", "nodeType": "YulBlock", - "src": "138221:129:10", + "src": "138221:129:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "138250:4:10", + "nativeSrc": "138250:4:23", "nodeType": "YulLiteral", - "src": "138250:4:10", + "src": "138250:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "138256:10:10", + "nativeSrc": "138256:10:23", "nodeType": "YulLiteral", - "src": "138256:10:10", + "src": "138256:10:23", "type": "", "value": "0xb12d13eb" } ], "functionName": { "name": "mstore", - "nativeSrc": "138243:6:10", + "nativeSrc": "138243:6:23", "nodeType": "YulIdentifier", - "src": "138243:6:10" + "src": "138243:6:23" }, - "nativeSrc": "138243:24:10", + "nativeSrc": "138243:24:23", "nodeType": "YulFunctionCall", - "src": "138243:24:10" + "src": "138243:24:23" }, - "nativeSrc": "138243:24:10", + "nativeSrc": "138243:24:23", "nodeType": "YulExpressionStatement", - "src": "138243:24:10" + "src": "138243:24:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "138321:4:10", + "nativeSrc": "138321:4:23", "nodeType": "YulLiteral", - "src": "138321:4:10", + "src": "138321:4:23", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "138327:4:10", + "nativeSrc": "138327:4:23", "nodeType": "YulLiteral", - "src": "138327:4:10", + "src": "138327:4:23", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "138314:6:10", + "nativeSrc": "138314:6:23", "nodeType": "YulIdentifier", - "src": "138314:6:10" + "src": "138314:6:23" }, - "nativeSrc": "138314:18:10", + "nativeSrc": "138314:18:23", "nodeType": "YulFunctionCall", - "src": "138314:18:10" + "src": "138314:18:23" }, - "nativeSrc": "138314:18:10", + "nativeSrc": "138314:18:23", "nodeType": "YulExpressionStatement", - "src": "138314:18:10" + "src": "138314:18:23" } ] }, @@ -147353,43 +166328,43 @@ "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "138160:3:10", + "nativeSrc": "138160:3:23", "nodeType": "YulIdentifier", - "src": "138160:3:10" + "src": "138160:3:23" }, - "nativeSrc": "138160:5:10", + "nativeSrc": "138160:5:23", "nodeType": "YulFunctionCall", - "src": "138160:5:10" + "src": "138160:5:23" }, { "name": "instance", - "nativeSrc": "138167:8:10", + "nativeSrc": "138167:8:23", "nodeType": "YulIdentifier", - "src": "138167:8:10" + "src": "138167:8:23" }, { "name": "value", - "nativeSrc": "138177:5:10", + "nativeSrc": "138177:5:23", "nodeType": "YulIdentifier", - "src": "138177:5:10" + "src": "138177:5:23" }, { "arguments": [], "functionName": { "name": "codesize", - "nativeSrc": "138184:8:10", + "nativeSrc": "138184:8:23", "nodeType": "YulIdentifier", - "src": "138184:8:10" + "src": "138184:8:23" }, - "nativeSrc": "138184:10:10", + "nativeSrc": "138184:10:23", "nodeType": "YulFunctionCall", - "src": "138184:10:10" + "src": "138184:10:23" }, { "kind": "number", - "nativeSrc": "138196:4:10", + "nativeSrc": "138196:4:23", "nodeType": "YulLiteral", - "src": "138196:4:10", + "src": "138196:4:23", "type": "", "value": "0x00" }, @@ -147397,144 +166372,144 @@ "arguments": [], "functionName": { "name": "codesize", - "nativeSrc": "138202:8:10", + "nativeSrc": "138202:8:23", "nodeType": "YulIdentifier", - "src": "138202:8:10" + "src": "138202:8:23" }, - "nativeSrc": "138202:10:10", + "nativeSrc": "138202:10:23", "nodeType": "YulFunctionCall", - "src": "138202:10:10" + "src": "138202:10:23" }, { "kind": "number", - "nativeSrc": "138214:4:10", + "nativeSrc": "138214:4:23", "nodeType": "YulLiteral", - "src": "138214:4:10", + "src": "138214:4:23", "type": "", "value": "0x00" } ], "functionName": { "name": "call", - "nativeSrc": "138155:4:10", + "nativeSrc": "138155:4:23", "nodeType": "YulIdentifier", - "src": "138155:4:10" + "src": "138155:4:23" }, - "nativeSrc": "138155:64:10", + "nativeSrc": "138155:64:23", "nodeType": "YulFunctionCall", - "src": "138155:64:10" + "src": "138155:64:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "138148:6:10", + "nativeSrc": "138148:6:23", "nodeType": "YulIdentifier", - "src": "138148:6:10" + "src": "138148:6:23" }, - "nativeSrc": "138148:72:10", + "nativeSrc": "138148:72:23", "nodeType": "YulFunctionCall", - "src": "138148:72:10" + "src": "138148:72:23" }, - "nativeSrc": "138145:205:10", + "nativeSrc": "138145:205:23", "nodeType": "YulIf", - "src": "138145:205:10" + "src": "138145:205:23" }, { - "nativeSrc": "138367:5:10", + "nativeSrc": "138367:5:23", "nodeType": "YulBreak", - "src": "138367:5:10" + "src": "138367:5:23" } ] }, "condition": { "kind": "number", - "nativeSrc": "137701:1:10", + "nativeSrc": "137701:1:23", "nodeType": "YulLiteral", - "src": "137701:1:10", + "src": "137701:1:23", "type": "", "value": "1" }, - "nativeSrc": "137694:692:10", + "nativeSrc": "137694:692:23", "nodeType": "YulForLoop", "post": { - "nativeSrc": "137703:2:10", + "nativeSrc": "137703:2:23", "nodeType": "YulBlock", - "src": "137703:2:10", + "src": "137703:2:23", "statements": [] }, "pre": { - "nativeSrc": "137698:2:10", + "nativeSrc": "137698:2:23", "nodeType": "YulBlock", - "src": "137698:2:10", + "src": "137698:2:23", "statements": [] }, - "src": "137694:692:10" + "src": "137694:692:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "138406:4:10", + "nativeSrc": "138406:4:23", "nodeType": "YulLiteral", - "src": "138406:4:10", + "src": "138406:4:23", "type": "", "value": "0x40" }, { "name": "m", - "nativeSrc": "138412:1:10", + "nativeSrc": "138412:1:23", "nodeType": "YulIdentifier", - "src": "138412:1:10" + "src": "138412:1:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "138399:6:10", + "nativeSrc": "138399:6:23", "nodeType": "YulIdentifier", - "src": "138399:6:10" + "src": "138399:6:23" }, - "nativeSrc": "138399:15:10", + "nativeSrc": "138399:15:23", "nodeType": "YulFunctionCall", - "src": "138399:15:10" + "src": "138399:15:23" }, - "nativeSrc": "138399:15:10", + "nativeSrc": "138399:15:23", "nodeType": "YulExpressionStatement", - "src": "138399:15:10" + "src": "138399:15:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "138470:4:10", + "nativeSrc": "138470:4:23", "nodeType": "YulLiteral", - "src": "138470:4:10", + "src": "138470:4:23", "type": "", "value": "0x60" }, { "kind": "number", - "nativeSrc": "138476:1:10", + "nativeSrc": "138476:1:23", "nodeType": "YulLiteral", - "src": "138476:1:10", + "src": "138476:1:23", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "138463:6:10", + "nativeSrc": "138463:6:23", "nodeType": "YulIdentifier", - "src": "138463:6:10" + "src": "138463:6:23" }, - "nativeSrc": "138463:15:10", + "nativeSrc": "138463:15:23", "nodeType": "YulFunctionCall", - "src": "138463:15:10" + "src": "138463:15:23" }, - "nativeSrc": "138463:15:10", + "nativeSrc": "138463:15:23", "nodeType": "YulExpressionStatement", - "src": "138463:15:10" + "src": "138463:15:23" } ] }, @@ -147542,122 +166517,122 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4792, + "declaration": 6398, "isOffset": false, "isSlot": false, - "src": "138065:15:10", + "src": "138065:15:23", "valueSize": 1 }, { - "declaration": 4787, + "declaration": 6393, "isOffset": false, "isSlot": false, - "src": "137389:6:10", + "src": "137389:6:23", "valueSize": 1 }, { - "declaration": 4794, + "declaration": 6400, "isOffset": false, "isSlot": false, - "src": "137651:8:10", + "src": "137651:8:23", "valueSize": 1 }, { - "declaration": 4794, + "declaration": 6400, "isOffset": false, "isSlot": false, - "src": "137746:8:10", + "src": "137746:8:23", "valueSize": 1 }, { - "declaration": 4794, + "declaration": 6400, "isOffset": false, "isSlot": false, - "src": "137779:8:10", + "src": "137779:8:23", "valueSize": 1 }, { - "declaration": 4794, + "declaration": 6400, "isOffset": false, "isSlot": false, - "src": "137854:8:10", + "src": "137854:8:23", "valueSize": 1 }, { - "declaration": 4794, + "declaration": 6400, "isOffset": false, "isSlot": false, - "src": "138167:8:10", + "src": "138167:8:23", "valueSize": 1 }, { - "declaration": 4789, + "declaration": 6395, "isOffset": false, "isSlot": false, - "src": "137633:4:10", + "src": "137633:4:23", "valueSize": 1 }, { - "declaration": 4789, + "declaration": 6395, "isOffset": false, "isSlot": false, - "src": "137818:4:10", + "src": "137818:4:23", "valueSize": 1 }, { - "declaration": 4785, + "declaration": 6391, "isOffset": false, "isSlot": false, - "src": "137799:5:10", + "src": "137799:5:23", "valueSize": 1 }, { - "declaration": 4785, + "declaration": 6391, "isOffset": false, "isSlot": false, - "src": "138112:5:10", + "src": "138112:5:23", "valueSize": 1 }, { - "declaration": 4785, + "declaration": 6391, "isOffset": false, "isSlot": false, - "src": "138177:5:10", + "src": "138177:5:23", "valueSize": 1 } ], - "id": 4796, + "id": 6402, "nodeType": "InlineAssembly", - "src": "136964:1550:10" + "src": "136964:1550:23" } ] }, "documentation": { - "id": 4783, + "id": 6389, "nodeType": "StructuredDocumentation", - "src": "136477:258:10", + "src": "136477:258:23", "text": "@dev Creates a deterministic ERC1967I beacon proxy with `salt`.\n Deposits `value` ETH during deployment.\n Note: This method is intended for use in ERC4337 factories,\n which are expected to NOT revert if the proxy is already deployed." }, - "id": 4798, + "id": 6404, "implemented": true, "kind": "function", "modifiers": [], "name": "createDeterministicERC1967IBeaconProxy", - "nameLocation": "136749:38:10", + "nameLocation": "136749:38:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4790, + "id": 6396, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4785, + "id": 6391, "mutability": "mutable", "name": "value", - "nameLocation": "136796:5:10", + "nameLocation": "136796:5:23", "nodeType": "VariableDeclaration", - "scope": 4798, - "src": "136788:13:10", + "scope": 6404, + "src": "136788:13:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -147665,10 +166640,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4784, + "id": 6390, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "136788:7:10", + "src": "136788:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -147678,13 +166653,13 @@ }, { "constant": false, - "id": 4787, + "id": 6393, "mutability": "mutable", "name": "beacon", - "nameLocation": "136811:6:10", + "nameLocation": "136811:6:23", "nodeType": "VariableDeclaration", - "scope": 4798, - "src": "136803:14:10", + "scope": 6404, + "src": "136803:14:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -147692,10 +166667,10 @@ "typeString": "address" }, "typeName": { - "id": 4786, + "id": 6392, "name": "address", "nodeType": "ElementaryTypeName", - "src": "136803:7:10", + "src": "136803:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -147706,13 +166681,13 @@ }, { "constant": false, - "id": 4789, + "id": 6395, "mutability": "mutable", "name": "salt", - "nameLocation": "136827:4:10", + "nameLocation": "136827:4:23", "nodeType": "VariableDeclaration", - "scope": 4798, - "src": "136819:12:10", + "scope": 6404, + "src": "136819:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -147720,10 +166695,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4788, + "id": 6394, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "136819:7:10", + "src": "136819:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -147732,21 +166707,21 @@ "visibility": "internal" } ], - "src": "136787:45:10" + "src": "136787:45:23" }, "returnParameters": { - "id": 4795, + "id": 6401, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4792, + "id": 6398, "mutability": "mutable", "name": "alreadyDeployed", - "nameLocation": "136872:15:10", + "nameLocation": "136872:15:23", "nodeType": "VariableDeclaration", - "scope": 4798, - "src": "136867:20:10", + "scope": 6404, + "src": "136867:20:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -147754,10 +166729,10 @@ "typeString": "bool" }, "typeName": { - "id": 4791, + "id": 6397, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "136867:4:10", + "src": "136867:4:23", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -147767,13 +166742,13 @@ }, { "constant": false, - "id": 4794, + "id": 6400, "mutability": "mutable", "name": "instance", - "nameLocation": "136897:8:10", + "nameLocation": "136897:8:23", "nodeType": "VariableDeclaration", - "scope": 4798, - "src": "136889:16:10", + "scope": 6404, + "src": "136889:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -147781,10 +166756,10 @@ "typeString": "address" }, "typeName": { - "id": 4793, + "id": 6399, "name": "address", "nodeType": "ElementaryTypeName", - "src": "136889:7:10", + "src": "136889:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -147794,57 +166769,57 @@ "visibility": "internal" } ], - "src": "136866:40:10" + "src": "136866:40:23" }, - "scope": 5093, - "src": "136740:1780:10", + "scope": 6699, + "src": "136740:1780:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4807, + "id": 6413, "nodeType": "Block", - "src": "138693:643:10", + "src": "138693:643:23", "statements": [ { "AST": { - "nativeSrc": "138755:575:10", + "nativeSrc": "138755:575:23", "nodeType": "YulBlock", - "src": "138755:575:10", + "src": "138755:575:23", "statements": [ { - "nativeSrc": "138769:16:10", + "nativeSrc": "138769:16:23", "nodeType": "YulAssignment", - "src": "138769:16:10", + "src": "138769:16:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "138780:4:10", + "nativeSrc": "138780:4:23", "nodeType": "YulLiteral", - "src": "138780:4:10", + "src": "138780:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "138774:5:10", + "nativeSrc": "138774:5:23", "nodeType": "YulIdentifier", - "src": "138774:5:10" + "src": "138774:5:23" }, - "nativeSrc": "138774:11:10", + "nativeSrc": "138774:11:23", "nodeType": "YulFunctionCall", - "src": "138774:11:10" + "src": "138774:11:23" }, "variableNames": [ { "name": "c", - "nativeSrc": "138769:1:10", + "nativeSrc": "138769:1:23", "nodeType": "YulIdentifier", - "src": "138769:1:10" + "src": "138769:1:23" } ] }, @@ -147855,51 +166830,51 @@ "arguments": [ { "name": "c", - "nativeSrc": "138809:1:10", + "nativeSrc": "138809:1:23", "nodeType": "YulIdentifier", - "src": "138809:1:10" + "src": "138809:1:23" }, { "kind": "number", - "nativeSrc": "138812:4:10", + "nativeSrc": "138812:4:23", "nodeType": "YulLiteral", - "src": "138812:4:10", + "src": "138812:4:23", "type": "", "value": "0x79" } ], "functionName": { "name": "add", - "nativeSrc": "138805:3:10", + "nativeSrc": "138805:3:23", "nodeType": "YulIdentifier", - "src": "138805:3:10" + "src": "138805:3:23" }, - "nativeSrc": "138805:12:10", + "nativeSrc": "138805:12:23", "nodeType": "YulFunctionCall", - "src": "138805:12:10" + "src": "138805:12:23" }, { "kind": "number", - "nativeSrc": "138819:66:10", + "nativeSrc": "138819:66:23", "nodeType": "YulLiteral", - "src": "138819:66:10", + "src": "138819:66:23", "type": "", "value": "0x3d50545afa361460525736515af43d600060013e6052573d6001fd5b3d6001f3" } ], "functionName": { "name": "mstore", - "nativeSrc": "138798:6:10", + "nativeSrc": "138798:6:23", "nodeType": "YulIdentifier", - "src": "138798:6:10" + "src": "138798:6:23" }, - "nativeSrc": "138798:88:10", + "nativeSrc": "138798:88:23", "nodeType": "YulFunctionCall", - "src": "138798:88:10" + "src": "138798:88:23" }, - "nativeSrc": "138798:88:10", + "nativeSrc": "138798:88:23", "nodeType": "YulExpressionStatement", - "src": "138798:88:10" + "src": "138798:88:23" }, { "expression": { @@ -147908,51 +166883,51 @@ "arguments": [ { "name": "c", - "nativeSrc": "138910:1:10", + "nativeSrc": "138910:1:23", "nodeType": "YulIdentifier", - "src": "138910:1:10" + "src": "138910:1:23" }, { "kind": "number", - "nativeSrc": "138913:4:10", + "nativeSrc": "138913:4:23", "nodeType": "YulLiteral", - "src": "138913:4:10", + "src": "138913:4:23", "type": "", "value": "0x59" } ], "functionName": { "name": "add", - "nativeSrc": "138906:3:10", + "nativeSrc": "138906:3:23", "nodeType": "YulIdentifier", - "src": "138906:3:10" + "src": "138906:3:23" }, - "nativeSrc": "138906:12:10", + "nativeSrc": "138906:12:23", "nodeType": "YulFunctionCall", - "src": "138906:12:10" + "src": "138906:12:23" }, { "kind": "number", - "nativeSrc": "138920:66:10", + "nativeSrc": "138920:66:23", "nodeType": "YulLiteral", - "src": "138920:66:10", + "src": "138920:66:23", "type": "", "value": "0x527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b3513" } ], "functionName": { "name": "mstore", - "nativeSrc": "138899:6:10", + "nativeSrc": "138899:6:23", "nodeType": "YulIdentifier", - "src": "138899:6:10" + "src": "138899:6:23" }, - "nativeSrc": "138899:88:10", + "nativeSrc": "138899:88:23", "nodeType": "YulFunctionCall", - "src": "138899:88:10" + "src": "138899:88:23" }, - "nativeSrc": "138899:88:10", + "nativeSrc": "138899:88:23", "nodeType": "YulExpressionStatement", - "src": "138899:88:10" + "src": "138899:88:23" }, { "expression": { @@ -147961,51 +166936,51 @@ "arguments": [ { "name": "c", - "nativeSrc": "139011:1:10", + "nativeSrc": "139011:1:23", "nodeType": "YulIdentifier", - "src": "139011:1:10" + "src": "139011:1:23" }, { "kind": "number", - "nativeSrc": "139014:4:10", + "nativeSrc": "139014:4:23", "nodeType": "YulLiteral", - "src": "139014:4:10", + "src": "139014:4:23", "type": "", "value": "0x39" } ], "functionName": { "name": "add", - "nativeSrc": "139007:3:10", + "nativeSrc": "139007:3:23", "nodeType": "YulIdentifier", - "src": "139007:3:10" + "src": "139007:3:23" }, - "nativeSrc": "139007:12:10", + "nativeSrc": "139007:12:23", "nodeType": "YulFunctionCall", - "src": "139007:12:10" + "src": "139007:12:23" }, { "kind": "number", - "nativeSrc": "139021:58:10", + "nativeSrc": "139021:58:23", "nodeType": "YulLiteral", - "src": "139021:58:10", + "src": "139021:58:23", "type": "", "value": "0x60195155f3363d3d373d3d363d602036600436635c60da1b60e01b36" } ], "functionName": { "name": "mstore", - "nativeSrc": "139000:6:10", + "nativeSrc": "139000:6:23", "nodeType": "YulIdentifier", - "src": "139000:6:10" + "src": "139000:6:23" }, - "nativeSrc": "139000:80:10", + "nativeSrc": "139000:80:23", "nodeType": "YulFunctionCall", - "src": "139000:80:10" + "src": "139000:80:23" }, - "nativeSrc": "139000:80:10", + "nativeSrc": "139000:80:23", "nodeType": "YulExpressionStatement", - "src": "139000:80:10" + "src": "139000:80:23" }, { "expression": { @@ -148014,49 +166989,49 @@ "arguments": [ { "name": "c", - "nativeSrc": "139104:1:10", + "nativeSrc": "139104:1:23", "nodeType": "YulIdentifier", - "src": "139104:1:10" + "src": "139104:1:23" }, { "kind": "number", - "nativeSrc": "139107:4:10", + "nativeSrc": "139107:4:23", "nodeType": "YulLiteral", - "src": "139107:4:10", + "src": "139107:4:23", "type": "", "value": "0x1d" } ], "functionName": { "name": "add", - "nativeSrc": "139100:3:10", + "nativeSrc": "139100:3:23", "nodeType": "YulIdentifier", - "src": "139100:3:10" + "src": "139100:3:23" }, - "nativeSrc": "139100:12:10", + "nativeSrc": "139100:12:23", "nodeType": "YulFunctionCall", - "src": "139100:12:10" + "src": "139100:12:23" }, { "name": "beacon", - "nativeSrc": "139114:6:10", + "nativeSrc": "139114:6:23", "nodeType": "YulIdentifier", - "src": "139114:6:10" + "src": "139114:6:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "139093:6:10", + "nativeSrc": "139093:6:23", "nodeType": "YulIdentifier", - "src": "139093:6:10" + "src": "139093:6:23" }, - "nativeSrc": "139093:28:10", + "nativeSrc": "139093:28:23", "nodeType": "YulFunctionCall", - "src": "139093:28:10" + "src": "139093:28:23" }, - "nativeSrc": "139093:28:10", + "nativeSrc": "139093:28:23", "nodeType": "YulExpressionStatement", - "src": "139093:28:10" + "src": "139093:28:23" }, { "expression": { @@ -148065,51 +167040,51 @@ "arguments": [ { "name": "c", - "nativeSrc": "139145:1:10", + "nativeSrc": "139145:1:23", "nodeType": "YulIdentifier", - "src": "139145:1:10" + "src": "139145:1:23" }, { "kind": "number", - "nativeSrc": "139148:4:10", + "nativeSrc": "139148:4:23", "nodeType": "YulLiteral", - "src": "139148:4:10", + "src": "139148:4:23", "type": "", "value": "0x09" } ], "functionName": { "name": "add", - "nativeSrc": "139141:3:10", + "nativeSrc": "139141:3:23", "nodeType": "YulIdentifier", - "src": "139141:3:10" + "src": "139141:3:23" }, - "nativeSrc": "139141:12:10", + "nativeSrc": "139141:12:23", "nodeType": "YulFunctionCall", - "src": "139141:12:10" + "src": "139141:12:23" }, { "kind": "number", - "nativeSrc": "139155:20:10", + "nativeSrc": "139155:20:23", "nodeType": "YulLiteral", - "src": "139155:20:10", + "src": "139155:20:23", "type": "", "value": "0x60573d8160223d3973" } ], "functionName": { "name": "mstore", - "nativeSrc": "139134:6:10", + "nativeSrc": "139134:6:23", "nodeType": "YulIdentifier", - "src": "139134:6:10" + "src": "139134:6:23" }, - "nativeSrc": "139134:42:10", + "nativeSrc": "139134:42:23", "nodeType": "YulFunctionCall", - "src": "139134:42:10" + "src": "139134:42:23" }, - "nativeSrc": "139134:42:10", + "nativeSrc": "139134:42:23", "nodeType": "YulExpressionStatement", - "src": "139134:42:10" + "src": "139134:42:23" }, { "expression": { @@ -148118,92 +167093,92 @@ "arguments": [ { "name": "c", - "nativeSrc": "139200:1:10", + "nativeSrc": "139200:1:23", "nodeType": "YulIdentifier", - "src": "139200:1:10" + "src": "139200:1:23" }, { "kind": "number", - "nativeSrc": "139203:4:10", + "nativeSrc": "139203:4:23", "nodeType": "YulLiteral", - "src": "139203:4:10", + "src": "139203:4:23", "type": "", "value": "0x99" } ], "functionName": { "name": "add", - "nativeSrc": "139196:3:10", + "nativeSrc": "139196:3:23", "nodeType": "YulIdentifier", - "src": "139196:3:10" + "src": "139196:3:23" }, - "nativeSrc": "139196:12:10", + "nativeSrc": "139196:12:23", "nodeType": "YulFunctionCall", - "src": "139196:12:10" + "src": "139196:12:23" }, { "kind": "number", - "nativeSrc": "139210:1:10", + "nativeSrc": "139210:1:23", "nodeType": "YulLiteral", - "src": "139210:1:10", + "src": "139210:1:23", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "139189:6:10", + "nativeSrc": "139189:6:23", "nodeType": "YulIdentifier", - "src": "139189:6:10" + "src": "139189:6:23" }, - "nativeSrc": "139189:23:10", + "nativeSrc": "139189:23:23", "nodeType": "YulFunctionCall", - "src": "139189:23:10" + "src": "139189:23:23" }, - "nativeSrc": "139189:23:10", + "nativeSrc": "139189:23:23", "nodeType": "YulExpressionStatement", - "src": "139189:23:10" + "src": "139189:23:23" }, { "expression": { "arguments": [ { "name": "c", - "nativeSrc": "139232:1:10", + "nativeSrc": "139232:1:23", "nodeType": "YulIdentifier", - "src": "139232:1:10" + "src": "139232:1:23" }, { "kind": "number", - "nativeSrc": "139235:4:10", + "nativeSrc": "139235:4:23", "nodeType": "YulLiteral", - "src": "139235:4:10", + "src": "139235:4:23", "type": "", "value": "0x79" } ], "functionName": { "name": "mstore", - "nativeSrc": "139225:6:10", + "nativeSrc": "139225:6:23", "nodeType": "YulIdentifier", - "src": "139225:6:10" + "src": "139225:6:23" }, - "nativeSrc": "139225:15:10", + "nativeSrc": "139225:15:23", "nodeType": "YulFunctionCall", - "src": "139225:15:10" + "src": "139225:15:23" }, - "nativeSrc": "139225:15:10", + "nativeSrc": "139225:15:23", "nodeType": "YulExpressionStatement", - "src": "139225:15:10" + "src": "139225:15:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "139281:4:10", + "nativeSrc": "139281:4:23", "nodeType": "YulLiteral", - "src": "139281:4:10", + "src": "139281:4:23", "type": "", "value": "0x40" }, @@ -148211,43 +167186,43 @@ "arguments": [ { "name": "c", - "nativeSrc": "139291:1:10", + "nativeSrc": "139291:1:23", "nodeType": "YulIdentifier", - "src": "139291:1:10" + "src": "139291:1:23" }, { "kind": "number", - "nativeSrc": "139294:4:10", + "nativeSrc": "139294:4:23", "nodeType": "YulLiteral", - "src": "139294:4:10", + "src": "139294:4:23", "type": "", "value": "0xa0" } ], "functionName": { "name": "add", - "nativeSrc": "139287:3:10", + "nativeSrc": "139287:3:23", "nodeType": "YulIdentifier", - "src": "139287:3:10" + "src": "139287:3:23" }, - "nativeSrc": "139287:12:10", + "nativeSrc": "139287:12:23", "nodeType": "YulFunctionCall", - "src": "139287:12:10" + "src": "139287:12:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "139274:6:10", + "nativeSrc": "139274:6:23", "nodeType": "YulIdentifier", - "src": "139274:6:10" + "src": "139274:6:23" }, - "nativeSrc": "139274:26:10", + "nativeSrc": "139274:26:23", "nodeType": "YulFunctionCall", - "src": "139274:26:10" + "src": "139274:26:23" }, - "nativeSrc": "139274:26:10", + "nativeSrc": "139274:26:23", "nodeType": "YulExpressionStatement", - "src": "139274:26:10" + "src": "139274:26:23" } ] }, @@ -148255,108 +167230,108 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4801, + "declaration": 6407, "isOffset": false, "isSlot": false, - "src": "139114:6:10", + "src": "139114:6:23", "valueSize": 1 }, { - "declaration": 4804, + "declaration": 6410, "isOffset": false, "isSlot": false, - "src": "138769:1:10", + "src": "138769:1:23", "valueSize": 1 }, { - "declaration": 4804, + "declaration": 6410, "isOffset": false, "isSlot": false, - "src": "138809:1:10", + "src": "138809:1:23", "valueSize": 1 }, { - "declaration": 4804, + "declaration": 6410, "isOffset": false, "isSlot": false, - "src": "138910:1:10", + "src": "138910:1:23", "valueSize": 1 }, { - "declaration": 4804, + "declaration": 6410, "isOffset": false, "isSlot": false, - "src": "139011:1:10", + "src": "139011:1:23", "valueSize": 1 }, { - "declaration": 4804, + "declaration": 6410, "isOffset": false, "isSlot": false, - "src": "139104:1:10", + "src": "139104:1:23", "valueSize": 1 }, { - "declaration": 4804, + "declaration": 6410, "isOffset": false, "isSlot": false, - "src": "139145:1:10", + "src": "139145:1:23", "valueSize": 1 }, { - "declaration": 4804, + "declaration": 6410, "isOffset": false, "isSlot": false, - "src": "139200:1:10", + "src": "139200:1:23", "valueSize": 1 }, { - "declaration": 4804, + "declaration": 6410, "isOffset": false, "isSlot": false, - "src": "139232:1:10", + "src": "139232:1:23", "valueSize": 1 }, { - "declaration": 4804, + "declaration": 6410, "isOffset": false, "isSlot": false, - "src": "139291:1:10", + "src": "139291:1:23", "valueSize": 1 } ], - "id": 4806, + "id": 6412, "nodeType": "InlineAssembly", - "src": "138746:584:10" + "src": "138746:584:23" } ] }, "documentation": { - "id": 4799, + "id": 6405, "nodeType": "StructuredDocumentation", - "src": "138526:70:10", + "src": "138526:70:23", "text": "@dev Returns the initialization code of the ERC1967I beacon proxy." }, - "id": 4808, + "id": 6414, "implemented": true, "kind": "function", "modifiers": [], "name": "initCodeERC1967IBeaconProxy", - "nameLocation": "138610:27:10", + "nameLocation": "138610:27:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4802, + "id": 6408, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4801, + "id": 6407, "mutability": "mutable", "name": "beacon", - "nameLocation": "138646:6:10", + "nameLocation": "138646:6:23", "nodeType": "VariableDeclaration", - "scope": 4808, - "src": "138638:14:10", + "scope": 6414, + "src": "138638:14:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -148364,10 +167339,10 @@ "typeString": "address" }, "typeName": { - "id": 4800, + "id": 6406, "name": "address", "nodeType": "ElementaryTypeName", - "src": "138638:7:10", + "src": "138638:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -148377,21 +167352,21 @@ "visibility": "internal" } ], - "src": "138637:16:10" + "src": "138637:16:23" }, "returnParameters": { - "id": 4805, + "id": 6411, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4804, + "id": 6410, "mutability": "mutable", "name": "c", - "nameLocation": "138690:1:10", + "nameLocation": "138690:1:23", "nodeType": "VariableDeclaration", - "scope": 4808, - "src": "138677:14:10", + "scope": 6414, + "src": "138677:14:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -148399,10 +167374,10 @@ "typeString": "bytes" }, "typeName": { - "id": 4803, + "id": 6409, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "138677:5:10", + "src": "138677:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -148411,57 +167386,57 @@ "visibility": "internal" } ], - "src": "138676:16:10" + "src": "138676:16:23" }, - "scope": 5093, - "src": "138601:735:10", + "scope": 6699, + "src": "138601:735:23", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4817, + "id": 6423, "nodeType": "Block", - "src": "139516:664:10", + "src": "139516:664:23", "statements": [ { "AST": { - "nativeSrc": "139578:596:10", + "nativeSrc": "139578:596:23", "nodeType": "YulBlock", - "src": "139578:596:10", + "src": "139578:596:23", "statements": [ { - "nativeSrc": "139592:20:10", + "nativeSrc": "139592:20:23", "nodeType": "YulVariableDeclaration", - "src": "139592:20:10", + "src": "139592:20:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "139607:4:10", + "nativeSrc": "139607:4:23", "nodeType": "YulLiteral", - "src": "139607:4:10", + "src": "139607:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "139601:5:10", + "nativeSrc": "139601:5:23", "nodeType": "YulIdentifier", - "src": "139601:5:10" + "src": "139601:5:23" }, - "nativeSrc": "139601:11:10", + "nativeSrc": "139601:11:23", "nodeType": "YulFunctionCall", - "src": "139601:11:10" + "src": "139601:11:23" }, "variables": [ { "name": "m", - "nativeSrc": "139596:1:10", + "nativeSrc": "139596:1:23", "nodeType": "YulTypedName", - "src": "139596:1:10", + "src": "139596:1:23", "type": "" } ] @@ -148471,111 +167446,111 @@ "arguments": [ { "kind": "number", - "nativeSrc": "139666:4:10", + "nativeSrc": "139666:4:23", "nodeType": "YulLiteral", - "src": "139666:4:10", + "src": "139666:4:23", "type": "", "value": "0x60" }, { "kind": "number", - "nativeSrc": "139672:66:10", + "nativeSrc": "139672:66:23", "nodeType": "YulLiteral", - "src": "139672:66:10", + "src": "139672:66:23", "type": "", "value": "0x3d50545afa361460525736515af43d600060013e6052573d6001fd5b3d6001f3" } ], "functionName": { "name": "mstore", - "nativeSrc": "139659:6:10", + "nativeSrc": "139659:6:23", "nodeType": "YulIdentifier", - "src": "139659:6:10" + "src": "139659:6:23" }, - "nativeSrc": "139659:80:10", + "nativeSrc": "139659:80:23", "nodeType": "YulFunctionCall", - "src": "139659:80:10" + "src": "139659:80:23" }, - "nativeSrc": "139659:80:10", + "nativeSrc": "139659:80:23", "nodeType": "YulExpressionStatement", - "src": "139659:80:10" + "src": "139659:80:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "139759:4:10", + "nativeSrc": "139759:4:23", "nodeType": "YulLiteral", - "src": "139759:4:10", + "src": "139759:4:23", "type": "", "value": "0x40" }, { "kind": "number", - "nativeSrc": "139765:66:10", + "nativeSrc": "139765:66:23", "nodeType": "YulLiteral", - "src": "139765:66:10", + "src": "139765:66:23", "type": "", "value": "0x527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b3513" } ], "functionName": { "name": "mstore", - "nativeSrc": "139752:6:10", + "nativeSrc": "139752:6:23", "nodeType": "YulIdentifier", - "src": "139752:6:10" + "src": "139752:6:23" }, - "nativeSrc": "139752:80:10", + "nativeSrc": "139752:80:23", "nodeType": "YulFunctionCall", - "src": "139752:80:10" + "src": "139752:80:23" }, - "nativeSrc": "139752:80:10", + "nativeSrc": "139752:80:23", "nodeType": "YulExpressionStatement", - "src": "139752:80:10" + "src": "139752:80:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "139852:4:10", + "nativeSrc": "139852:4:23", "nodeType": "YulLiteral", - "src": "139852:4:10", + "src": "139852:4:23", "type": "", "value": "0x20" }, { "kind": "number", - "nativeSrc": "139858:58:10", + "nativeSrc": "139858:58:23", "nodeType": "YulLiteral", - "src": "139858:58:10", + "src": "139858:58:23", "type": "", "value": "0x60195155f3363d3d373d3d363d602036600436635c60da1b60e01b36" } ], "functionName": { "name": "mstore", - "nativeSrc": "139845:6:10", + "nativeSrc": "139845:6:23", "nodeType": "YulIdentifier", - "src": "139845:6:10" + "src": "139845:6:23" }, - "nativeSrc": "139845:72:10", + "nativeSrc": "139845:72:23", "nodeType": "YulFunctionCall", - "src": "139845:72:10" + "src": "139845:72:23" }, - "nativeSrc": "139845:72:10", + "nativeSrc": "139845:72:23", "nodeType": "YulExpressionStatement", - "src": "139845:72:10" + "src": "139845:72:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "139937:4:10", + "nativeSrc": "139937:4:23", "nodeType": "YulLiteral", - "src": "139937:4:10", + "src": "139937:4:23", "type": "", "value": "0x04" }, @@ -148585,38 +167560,38 @@ "arguments": [ { "kind": "number", - "nativeSrc": "139950:3:10", + "nativeSrc": "139950:3:23", "nodeType": "YulLiteral", - "src": "139950:3:10", + "src": "139950:3:23", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "139955:20:10", + "nativeSrc": "139955:20:23", "nodeType": "YulLiteral", - "src": "139955:20:10", + "src": "139955:20:23", "type": "", "value": "0x60573d8160223d3973" } ], "functionName": { "name": "shl", - "nativeSrc": "139946:3:10", + "nativeSrc": "139946:3:23", "nodeType": "YulIdentifier", - "src": "139946:3:10" + "src": "139946:3:23" }, - "nativeSrc": "139946:30:10", + "nativeSrc": "139946:30:23", "nodeType": "YulFunctionCall", - "src": "139946:30:10" + "src": "139946:30:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "139982:2:10", + "nativeSrc": "139982:2:23", "nodeType": "YulLiteral", - "src": "139982:2:10", + "src": "139982:2:23", "type": "", "value": "96" }, @@ -148624,105 +167599,105 @@ "arguments": [ { "kind": "number", - "nativeSrc": "139990:2:10", + "nativeSrc": "139990:2:23", "nodeType": "YulLiteral", - "src": "139990:2:10", + "src": "139990:2:23", "type": "", "value": "96" }, { "name": "beacon", - "nativeSrc": "139994:6:10", + "nativeSrc": "139994:6:23", "nodeType": "YulIdentifier", - "src": "139994:6:10" + "src": "139994:6:23" } ], "functionName": { "name": "shl", - "nativeSrc": "139986:3:10", + "nativeSrc": "139986:3:23", "nodeType": "YulIdentifier", - "src": "139986:3:10" + "src": "139986:3:23" }, - "nativeSrc": "139986:15:10", + "nativeSrc": "139986:15:23", "nodeType": "YulFunctionCall", - "src": "139986:15:10" + "src": "139986:15:23" } ], "functionName": { "name": "shr", - "nativeSrc": "139978:3:10", + "nativeSrc": "139978:3:23", "nodeType": "YulIdentifier", - "src": "139978:3:10" + "src": "139978:3:23" }, - "nativeSrc": "139978:24:10", + "nativeSrc": "139978:24:23", "nodeType": "YulFunctionCall", - "src": "139978:24:10" + "src": "139978:24:23" } ], "functionName": { "name": "or", - "nativeSrc": "139943:2:10", + "nativeSrc": "139943:2:23", "nodeType": "YulIdentifier", - "src": "139943:2:10" + "src": "139943:2:23" }, - "nativeSrc": "139943:60:10", + "nativeSrc": "139943:60:23", "nodeType": "YulFunctionCall", - "src": "139943:60:10" + "src": "139943:60:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "139930:6:10", + "nativeSrc": "139930:6:23", "nodeType": "YulIdentifier", - "src": "139930:6:10" + "src": "139930:6:23" }, - "nativeSrc": "139930:74:10", + "nativeSrc": "139930:74:23", "nodeType": "YulFunctionCall", - "src": "139930:74:10" + "src": "139930:74:23" }, - "nativeSrc": "139930:74:10", + "nativeSrc": "139930:74:23", "nodeType": "YulExpressionStatement", - "src": "139930:74:10" + "src": "139930:74:23" }, { - "nativeSrc": "140017:29:10", + "nativeSrc": "140017:29:23", "nodeType": "YulAssignment", - "src": "140017:29:10", + "src": "140017:29:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "140035:4:10", + "nativeSrc": "140035:4:23", "nodeType": "YulLiteral", - "src": "140035:4:10", + "src": "140035:4:23", "type": "", "value": "0x07" }, { "kind": "number", - "nativeSrc": "140041:4:10", + "nativeSrc": "140041:4:23", "nodeType": "YulLiteral", - "src": "140041:4:10", + "src": "140041:4:23", "type": "", "value": "0x79" } ], "functionName": { "name": "keccak256", - "nativeSrc": "140025:9:10", + "nativeSrc": "140025:9:23", "nodeType": "YulIdentifier", - "src": "140025:9:10" + "src": "140025:9:23" }, - "nativeSrc": "140025:21:10", + "nativeSrc": "140025:21:23", "nodeType": "YulFunctionCall", - "src": "140025:21:10" + "src": "140025:21:23" }, "variableNames": [ { "name": "hash", - "nativeSrc": "140017:4:10", + "nativeSrc": "140017:4:23", "nodeType": "YulIdentifier", - "src": "140017:4:10" + "src": "140017:4:23" } ] }, @@ -148731,66 +167706,66 @@ "arguments": [ { "kind": "number", - "nativeSrc": "140066:4:10", + "nativeSrc": "140066:4:23", "nodeType": "YulLiteral", - "src": "140066:4:10", + "src": "140066:4:23", "type": "", "value": "0x40" }, { "name": "m", - "nativeSrc": "140072:1:10", + "nativeSrc": "140072:1:23", "nodeType": "YulIdentifier", - "src": "140072:1:10" + "src": "140072:1:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "140059:6:10", + "nativeSrc": "140059:6:23", "nodeType": "YulIdentifier", - "src": "140059:6:10" + "src": "140059:6:23" }, - "nativeSrc": "140059:15:10", + "nativeSrc": "140059:15:23", "nodeType": "YulFunctionCall", - "src": "140059:15:10" + "src": "140059:15:23" }, - "nativeSrc": "140059:15:10", + "nativeSrc": "140059:15:23", "nodeType": "YulExpressionStatement", - "src": "140059:15:10" + "src": "140059:15:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "140130:4:10", + "nativeSrc": "140130:4:23", "nodeType": "YulLiteral", - "src": "140130:4:10", + "src": "140130:4:23", "type": "", "value": "0x60" }, { "kind": "number", - "nativeSrc": "140136:1:10", + "nativeSrc": "140136:1:23", "nodeType": "YulLiteral", - "src": "140136:1:10", + "src": "140136:1:23", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "140123:6:10", + "nativeSrc": "140123:6:23", "nodeType": "YulIdentifier", - "src": "140123:6:10" + "src": "140123:6:23" }, - "nativeSrc": "140123:15:10", + "nativeSrc": "140123:15:23", "nodeType": "YulFunctionCall", - "src": "140123:15:10" + "src": "140123:15:23" }, - "nativeSrc": "140123:15:10", + "nativeSrc": "140123:15:23", "nodeType": "YulExpressionStatement", - "src": "140123:15:10" + "src": "140123:15:23" } ] }, @@ -148798,52 +167773,52 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4811, + "declaration": 6417, "isOffset": false, "isSlot": false, - "src": "139994:6:10", + "src": "139994:6:23", "valueSize": 1 }, { - "declaration": 4814, + "declaration": 6420, "isOffset": false, "isSlot": false, - "src": "140017:4:10", + "src": "140017:4:23", "valueSize": 1 } ], - "id": 4816, + "id": 6422, "nodeType": "InlineAssembly", - "src": "139569:605:10" + "src": "139569:605:23" } ] }, "documentation": { - "id": 4809, + "id": 6415, "nodeType": "StructuredDocumentation", - "src": "139342:75:10", + "src": "139342:75:23", "text": "@dev Returns the initialization code hash of the ERC1967I beacon proxy." }, - "id": 4818, + "id": 6424, "implemented": true, "kind": "function", "modifiers": [], "name": "initCodeHashERC1967IBeaconProxy", - "nameLocation": "139431:31:10", + "nameLocation": "139431:31:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4812, + "id": 6418, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4811, + "id": 6417, "mutability": "mutable", "name": "beacon", - "nameLocation": "139471:6:10", + "nameLocation": "139471:6:23", "nodeType": "VariableDeclaration", - "scope": 4818, - "src": "139463:14:10", + "scope": 6424, + "src": "139463:14:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -148851,10 +167826,10 @@ "typeString": "address" }, "typeName": { - "id": 4810, + "id": 6416, "name": "address", "nodeType": "ElementaryTypeName", - "src": "139463:7:10", + "src": "139463:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -148864,21 +167839,21 @@ "visibility": "internal" } ], - "src": "139462:16:10" + "src": "139462:16:23" }, "returnParameters": { - "id": 4815, + "id": 6421, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4814, + "id": 6420, "mutability": "mutable", "name": "hash", - "nameLocation": "139510:4:10", + "nameLocation": "139510:4:23", "nodeType": "VariableDeclaration", - "scope": 4818, - "src": "139502:12:10", + "scope": 6424, + "src": "139502:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -148886,10 +167861,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4813, + "id": 6419, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "139502:7:10", + "src": "139502:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -148898,34 +167873,34 @@ "visibility": "internal" } ], - "src": "139501:14:10" + "src": "139501:14:23" }, - "scope": 5093, - "src": "139422:758:10", + "scope": 6699, + "src": "139422:758:23", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4844, + "id": 6450, "nodeType": "Block", - "src": "140545:142:10", + "src": "140545:142:23", "statements": [ { "assignments": [ - 4831 + 6437 ], "declarations": [ { "constant": false, - "id": 4831, + "id": 6437, "mutability": "mutable", "name": "hash", - "nameLocation": "140563:4:10", + "nameLocation": "140563:4:23", "nodeType": "VariableDeclaration", - "scope": 4844, - "src": "140555:12:10", + "scope": 6450, + "src": "140555:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -148933,10 +167908,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4830, + "id": 6436, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "140555:7:10", + "src": "140555:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -148945,16 +167920,16 @@ "visibility": "internal" } ], - "id": 4835, + "id": 6441, "initialValue": { "arguments": [ { - "id": 4833, + "id": 6439, "name": "beacon", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4821, - "src": "140602:6:10", + "referencedDeclaration": 6427, + "src": "140602:6:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -148968,21 +167943,21 @@ "typeString": "address" } ], - "id": 4832, + "id": 6438, "name": "initCodeHashERC1967IBeaconProxy", "nodeType": "Identifier", "overloadedDeclarations": [ - 4818, - 4980 + 6424, + 6586 ], - "referencedDeclaration": 4818, - "src": "140570:31:10", + "referencedDeclaration": 6424, + "src": "140570:31:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_bytes32_$", "typeString": "function (address) pure returns (bytes32)" } }, - "id": 4834, + "id": 6440, "isConstant": false, "isLValue": false, "isPure": false, @@ -148991,7 +167966,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "140570:39:10", + "src": "140570:39:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -148999,22 +167974,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "140555:54:10" + "src": "140555:54:23" }, { "expression": { - "id": 4842, + "id": 6448, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 4836, + "id": 6442, "name": "predicted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4828, - "src": "140619:9:10", + "referencedDeclaration": 6434, + "src": "140619:9:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -149025,36 +168000,36 @@ "rightHandSide": { "arguments": [ { - "id": 4838, + "id": 6444, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4831, - "src": "140659:4:10", + "referencedDeclaration": 6437, + "src": "140659:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 4839, + "id": 6445, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4823, - "src": "140665:4:10", + "referencedDeclaration": 6429, + "src": "140665:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 4840, + "id": 6446, "name": "deployer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4825, - "src": "140671:8:10", + "referencedDeclaration": 6431, + "src": "140671:8:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -149076,22 +168051,22 @@ "typeString": "address" } ], - "id": 4837, + "id": 6443, "name": "predictDeterministicAddress", "nodeType": "Identifier", "overloadedDeclarations": [ - 3226, - 3499, - 5070 + 4832, + 5105, + 6676 ], - "referencedDeclaration": 5070, - "src": "140631:27:10", + "referencedDeclaration": 6676, + "src": "140631:27:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_address_$", "typeString": "function (bytes32,bytes32,address) pure returns (address)" } }, - "id": 4841, + "id": 6447, "isConstant": false, "isLValue": false, "isPure": false, @@ -149100,51 +168075,51 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "140631:49:10", + "src": "140631:49:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "140619:61:10", + "src": "140619:61:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 4843, + "id": 6449, "nodeType": "ExpressionStatement", - "src": "140619:61:10" + "src": "140619:61:23" } ] }, "documentation": { - "id": 4819, + "id": 6425, "nodeType": "StructuredDocumentation", - "src": "140186:178:10", + "src": "140186:178:23", "text": "@dev Returns the address of the ERC1967I beacon proxy, with `salt` by `deployer`.\n Note: The returned result has dirty upper 96 bits. Please clean if used in assembly." }, - "id": 4845, + "id": 6451, "implemented": true, "kind": "function", "modifiers": [], "name": "predictDeterministicAddressERC1967IBeaconProxy", - "nameLocation": "140378:46:10", + "nameLocation": "140378:46:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4826, + "id": 6432, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4821, + "id": 6427, "mutability": "mutable", "name": "beacon", - "nameLocation": "140442:6:10", + "nameLocation": "140442:6:23", "nodeType": "VariableDeclaration", - "scope": 4845, - "src": "140434:14:10", + "scope": 6451, + "src": "140434:14:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -149152,10 +168127,10 @@ "typeString": "address" }, "typeName": { - "id": 4820, + "id": 6426, "name": "address", "nodeType": "ElementaryTypeName", - "src": "140434:7:10", + "src": "140434:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -149166,13 +168141,13 @@ }, { "constant": false, - "id": 4823, + "id": 6429, "mutability": "mutable", "name": "salt", - "nameLocation": "140466:4:10", + "nameLocation": "140466:4:23", "nodeType": "VariableDeclaration", - "scope": 4845, - "src": "140458:12:10", + "scope": 6451, + "src": "140458:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -149180,10 +168155,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4822, + "id": 6428, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "140458:7:10", + "src": "140458:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -149193,13 +168168,13 @@ }, { "constant": false, - "id": 4825, + "id": 6431, "mutability": "mutable", "name": "deployer", - "nameLocation": "140488:8:10", + "nameLocation": "140488:8:23", "nodeType": "VariableDeclaration", - "scope": 4845, - "src": "140480:16:10", + "scope": 6451, + "src": "140480:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -149207,10 +168182,10 @@ "typeString": "address" }, "typeName": { - "id": 4824, + "id": 6430, "name": "address", "nodeType": "ElementaryTypeName", - "src": "140480:7:10", + "src": "140480:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -149220,21 +168195,21 @@ "visibility": "internal" } ], - "src": "140424:78:10" + "src": "140424:78:23" }, "returnParameters": { - "id": 4829, + "id": 6435, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4828, + "id": 6434, "mutability": "mutable", "name": "predicted", - "nameLocation": "140534:9:10", + "nameLocation": "140534:9:23", "nodeType": "VariableDeclaration", - "scope": 4845, - "src": "140526:17:10", + "scope": 6451, + "src": "140526:17:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -149242,10 +168217,10 @@ "typeString": "address" }, "typeName": { - "id": 4827, + "id": 6433, "name": "address", "nodeType": "ElementaryTypeName", - "src": "140526:7:10", + "src": "140526:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -149255,34 +168230,34 @@ "visibility": "internal" } ], - "src": "140525:19:10" + "src": "140525:19:23" }, - "scope": 5093, - "src": "140369:318:10", + "scope": 6699, + "src": "140369:318:23", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4863, + "id": 6469, "nodeType": "Block", - "src": "141159:70:10", + "src": "141159:70:23", "statements": [ { "expression": { - "id": 4861, + "id": 6467, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 4855, + "id": 6461, "name": "instance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4853, - "src": "141169:8:10", + "referencedDeclaration": 6459, + "src": "141169:8:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -149294,14 +168269,14 @@ "arguments": [ { "hexValue": "30", - "id": 4857, + "id": 6463, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "141206:1:10", + "src": "141206:1:23", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -149309,24 +168284,24 @@ "value": "0" }, { - "id": 4858, + "id": 6464, "name": "beacon", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, - "src": "141209:6:10", + "referencedDeclaration": 6454, + "src": "141209:6:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 4859, + "id": 6465, "name": "args", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4850, - "src": "141217:4:10", + "referencedDeclaration": 6456, + "src": "141217:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -149348,23 +168323,23 @@ "typeString": "bytes memory" } ], - "id": 4856, + "id": 6462, "name": "deployERC1967IBeaconProxy", "nodeType": "Identifier", "overloadedDeclarations": [ - 4718, - 4730, - 4864, - 4878 + 6324, + 6336, + 6470, + 6484 ], - "referencedDeclaration": 4878, - "src": "141180:25:10", + "referencedDeclaration": 6484, + "src": "141180:25:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$_t_address_$", "typeString": "function (uint256,address,bytes memory) returns (address)" } }, - "id": 4860, + "id": 6466, "isConstant": false, "isLValue": false, "isPure": false, @@ -149373,51 +168348,51 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "141180:42:10", + "src": "141180:42:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "141169:53:10", + "src": "141169:53:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 4862, + "id": 6468, "nodeType": "ExpressionStatement", - "src": "141169:53:10" + "src": "141169:53:23" } ] }, "documentation": { - "id": 4846, + "id": 6452, "nodeType": "StructuredDocumentation", - "src": "140976:52:10", + "src": "140976:52:23", "text": "@dev Deploys a ERC1967I beacon proxy with `args." }, - "id": 4864, + "id": 6470, "implemented": true, "kind": "function", "modifiers": [], "name": "deployERC1967IBeaconProxy", - "nameLocation": "141042:25:10", + "nameLocation": "141042:25:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4851, + "id": 6457, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4848, + "id": 6454, "mutability": "mutable", "name": "beacon", - "nameLocation": "141076:6:10", + "nameLocation": "141076:6:23", "nodeType": "VariableDeclaration", - "scope": 4864, - "src": "141068:14:10", + "scope": 6470, + "src": "141068:14:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -149425,10 +168400,10 @@ "typeString": "address" }, "typeName": { - "id": 4847, + "id": 6453, "name": "address", "nodeType": "ElementaryTypeName", - "src": "141068:7:10", + "src": "141068:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -149439,13 +168414,13 @@ }, { "constant": false, - "id": 4850, + "id": 6456, "mutability": "mutable", "name": "args", - "nameLocation": "141097:4:10", + "nameLocation": "141097:4:23", "nodeType": "VariableDeclaration", - "scope": 4864, - "src": "141084:17:10", + "scope": 6470, + "src": "141084:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -149453,10 +168428,10 @@ "typeString": "bytes" }, "typeName": { - "id": 4849, + "id": 6455, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "141084:5:10", + "src": "141084:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -149465,21 +168440,21 @@ "visibility": "internal" } ], - "src": "141067:35:10" + "src": "141067:35:23" }, "returnParameters": { - "id": 4854, + "id": 6460, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4853, + "id": 6459, "mutability": "mutable", "name": "instance", - "nameLocation": "141145:8:10", + "nameLocation": "141145:8:23", "nodeType": "VariableDeclaration", - "scope": 4864, - "src": "141137:16:10", + "scope": 6470, + "src": "141137:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -149487,10 +168462,10 @@ "typeString": "address" }, "typeName": { - "id": 4852, + "id": 6458, "name": "address", "nodeType": "ElementaryTypeName", - "src": "141137:7:10", + "src": "141137:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -149500,90 +168475,90 @@ "visibility": "internal" } ], - "src": "141136:18:10" + "src": "141136:18:23" }, - "scope": 5093, - "src": "141033:196:10", + "scope": 6699, + "src": "141033:196:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4877, + "id": 6483, "nodeType": "Block", - "src": "141481:977:10", + "src": "141481:977:23", "statements": [ { "AST": { - "nativeSrc": "141543:909:10", + "nativeSrc": "141543:909:23", "nodeType": "YulBlock", - "src": "141543:909:10", + "src": "141543:909:23", "statements": [ { - "nativeSrc": "141557:20:10", + "nativeSrc": "141557:20:23", "nodeType": "YulVariableDeclaration", - "src": "141557:20:10", + "src": "141557:20:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "141572:4:10", + "nativeSrc": "141572:4:23", "nodeType": "YulLiteral", - "src": "141572:4:10", + "src": "141572:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "141566:5:10", + "nativeSrc": "141566:5:23", "nodeType": "YulIdentifier", - "src": "141566:5:10" + "src": "141566:5:23" }, - "nativeSrc": "141566:11:10", + "nativeSrc": "141566:11:23", "nodeType": "YulFunctionCall", - "src": "141566:11:10" + "src": "141566:11:23" }, "variables": [ { "name": "m", - "nativeSrc": "141561:1:10", + "nativeSrc": "141561:1:23", "nodeType": "YulTypedName", - "src": "141561:1:10", + "src": "141561:1:23", "type": "" } ] }, { - "nativeSrc": "141624:20:10", + "nativeSrc": "141624:20:23", "nodeType": "YulVariableDeclaration", - "src": "141624:20:10", + "src": "141624:20:23", "value": { "arguments": [ { "name": "args", - "nativeSrc": "141639:4:10", + "nativeSrc": "141639:4:23", "nodeType": "YulIdentifier", - "src": "141639:4:10" + "src": "141639:4:23" } ], "functionName": { "name": "mload", - "nativeSrc": "141633:5:10", + "nativeSrc": "141633:5:23", "nodeType": "YulIdentifier", - "src": "141633:5:10" + "src": "141633:5:23" }, - "nativeSrc": "141633:11:10", + "nativeSrc": "141633:11:23", "nodeType": "YulFunctionCall", - "src": "141633:11:10" + "src": "141633:11:23" }, "variables": [ { "name": "n", - "nativeSrc": "141628:1:10", + "nativeSrc": "141628:1:23", "nodeType": "YulTypedName", - "src": "141628:1:10", + "src": "141628:1:23", "type": "" } ] @@ -149597,19 +168572,19 @@ "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "141672:3:10", + "nativeSrc": "141672:3:23", "nodeType": "YulIdentifier", - "src": "141672:3:10" + "src": "141672:3:23" }, - "nativeSrc": "141672:5:10", + "nativeSrc": "141672:5:23", "nodeType": "YulFunctionCall", - "src": "141672:5:10" + "src": "141672:5:23" }, { "kind": "number", - "nativeSrc": "141679:1:10", + "nativeSrc": "141679:1:23", "nodeType": "YulLiteral", - "src": "141679:1:10", + "src": "141679:1:23", "type": "", "value": "4" }, @@ -149617,93 +168592,93 @@ "arguments": [ { "name": "args", - "nativeSrc": "141686:4:10", + "nativeSrc": "141686:4:23", "nodeType": "YulIdentifier", - "src": "141686:4:10" + "src": "141686:4:23" }, { "kind": "number", - "nativeSrc": "141692:4:10", + "nativeSrc": "141692:4:23", "nodeType": "YulLiteral", - "src": "141692:4:10", + "src": "141692:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "141682:3:10", + "nativeSrc": "141682:3:23", "nodeType": "YulIdentifier", - "src": "141682:3:10" + "src": "141682:3:23" }, - "nativeSrc": "141682:15:10", + "nativeSrc": "141682:15:23", "nodeType": "YulFunctionCall", - "src": "141682:15:10" + "src": "141682:15:23" }, { "name": "n", - "nativeSrc": "141699:1:10", + "nativeSrc": "141699:1:23", "nodeType": "YulIdentifier", - "src": "141699:1:10" + "src": "141699:1:23" }, { "arguments": [ { "name": "m", - "nativeSrc": "141706:1:10", + "nativeSrc": "141706:1:23", "nodeType": "YulIdentifier", - "src": "141706:1:10" + "src": "141706:1:23" }, { "kind": "number", - "nativeSrc": "141709:4:10", + "nativeSrc": "141709:4:23", "nodeType": "YulLiteral", - "src": "141709:4:10", + "src": "141709:4:23", "type": "", "value": "0x90" } ], "functionName": { "name": "add", - "nativeSrc": "141702:3:10", + "nativeSrc": "141702:3:23", "nodeType": "YulIdentifier", - "src": "141702:3:10" + "src": "141702:3:23" }, - "nativeSrc": "141702:12:10", + "nativeSrc": "141702:12:23", "nodeType": "YulFunctionCall", - "src": "141702:12:10" + "src": "141702:12:23" }, { "name": "n", - "nativeSrc": "141716:1:10", + "nativeSrc": "141716:1:23", "nodeType": "YulIdentifier", - "src": "141716:1:10" + "src": "141716:1:23" } ], "functionName": { "name": "staticcall", - "nativeSrc": "141661:10:10", + "nativeSrc": "141661:10:23", "nodeType": "YulIdentifier", - "src": "141661:10:10" + "src": "141661:10:23" }, - "nativeSrc": "141661:57:10", + "nativeSrc": "141661:57:23", "nodeType": "YulFunctionCall", - "src": "141661:57:10" + "src": "141661:57:23" } ], "functionName": { "name": "pop", - "nativeSrc": "141657:3:10", + "nativeSrc": "141657:3:23", "nodeType": "YulIdentifier", - "src": "141657:3:10" + "src": "141657:3:23" }, - "nativeSrc": "141657:62:10", + "nativeSrc": "141657:62:23", "nodeType": "YulFunctionCall", - "src": "141657:62:10" + "src": "141657:62:23" }, - "nativeSrc": "141657:62:10", + "nativeSrc": "141657:62:23", "nodeType": "YulExpressionStatement", - "src": "141657:62:10" + "src": "141657:62:23" }, { "expression": { @@ -149712,51 +168687,51 @@ "arguments": [ { "name": "m", - "nativeSrc": "141743:1:10", + "nativeSrc": "141743:1:23", "nodeType": "YulIdentifier", - "src": "141743:1:10" + "src": "141743:1:23" }, { "kind": "number", - "nativeSrc": "141746:4:10", + "nativeSrc": "141746:4:23", "nodeType": "YulLiteral", - "src": "141746:4:10", + "src": "141746:4:23", "type": "", "value": "0x70" } ], "functionName": { "name": "add", - "nativeSrc": "141739:3:10", + "nativeSrc": "141739:3:23", "nodeType": "YulIdentifier", - "src": "141739:3:10" + "src": "141739:3:23" }, - "nativeSrc": "141739:12:10", + "nativeSrc": "141739:12:23", "nodeType": "YulFunctionCall", - "src": "141739:12:10" + "src": "141739:12:23" }, { "kind": "number", - "nativeSrc": "141753:66:10", + "nativeSrc": "141753:66:23", "nodeType": "YulLiteral", - "src": "141753:66:10", + "src": "141753:66:23", "type": "", "value": "0x3d50545afa361460525736515af43d600060013e6052573d6001fd5b3d6001f3" } ], "functionName": { "name": "mstore", - "nativeSrc": "141732:6:10", + "nativeSrc": "141732:6:23", "nodeType": "YulIdentifier", - "src": "141732:6:10" + "src": "141732:6:23" }, - "nativeSrc": "141732:88:10", + "nativeSrc": "141732:88:23", "nodeType": "YulFunctionCall", - "src": "141732:88:10" + "src": "141732:88:23" }, - "nativeSrc": "141732:88:10", + "nativeSrc": "141732:88:23", "nodeType": "YulExpressionStatement", - "src": "141732:88:10" + "src": "141732:88:23" }, { "expression": { @@ -149765,51 +168740,51 @@ "arguments": [ { "name": "m", - "nativeSrc": "141844:1:10", + "nativeSrc": "141844:1:23", "nodeType": "YulIdentifier", - "src": "141844:1:10" + "src": "141844:1:23" }, { "kind": "number", - "nativeSrc": "141847:4:10", + "nativeSrc": "141847:4:23", "nodeType": "YulLiteral", - "src": "141847:4:10", + "src": "141847:4:23", "type": "", "value": "0x50" } ], "functionName": { "name": "add", - "nativeSrc": "141840:3:10", + "nativeSrc": "141840:3:23", "nodeType": "YulIdentifier", - "src": "141840:3:10" + "src": "141840:3:23" }, - "nativeSrc": "141840:12:10", + "nativeSrc": "141840:12:23", "nodeType": "YulFunctionCall", - "src": "141840:12:10" + "src": "141840:12:23" }, { "kind": "number", - "nativeSrc": "141854:66:10", + "nativeSrc": "141854:66:23", "nodeType": "YulLiteral", - "src": "141854:66:10", + "src": "141854:66:23", "type": "", "value": "0x527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b3513" } ], "functionName": { "name": "mstore", - "nativeSrc": "141833:6:10", + "nativeSrc": "141833:6:23", "nodeType": "YulIdentifier", - "src": "141833:6:10" + "src": "141833:6:23" }, - "nativeSrc": "141833:88:10", + "nativeSrc": "141833:88:23", "nodeType": "YulFunctionCall", - "src": "141833:88:10" + "src": "141833:88:23" }, - "nativeSrc": "141833:88:10", + "nativeSrc": "141833:88:23", "nodeType": "YulExpressionStatement", - "src": "141833:88:10" + "src": "141833:88:23" }, { "expression": { @@ -149818,51 +168793,51 @@ "arguments": [ { "name": "m", - "nativeSrc": "141945:1:10", + "nativeSrc": "141945:1:23", "nodeType": "YulIdentifier", - "src": "141945:1:10" + "src": "141945:1:23" }, { "kind": "number", - "nativeSrc": "141948:4:10", + "nativeSrc": "141948:4:23", "nodeType": "YulLiteral", - "src": "141948:4:10", + "src": "141948:4:23", "type": "", "value": "0x30" } ], "functionName": { "name": "add", - "nativeSrc": "141941:3:10", + "nativeSrc": "141941:3:23", "nodeType": "YulIdentifier", - "src": "141941:3:10" + "src": "141941:3:23" }, - "nativeSrc": "141941:12:10", + "nativeSrc": "141941:12:23", "nodeType": "YulFunctionCall", - "src": "141941:12:10" + "src": "141941:12:23" }, { "kind": "number", - "nativeSrc": "141955:58:10", + "nativeSrc": "141955:58:23", "nodeType": "YulLiteral", - "src": "141955:58:10", + "src": "141955:58:23", "type": "", "value": "0x60195155f3363d3d373d3d363d602036600436635c60da1b60e01b36" } ], "functionName": { "name": "mstore", - "nativeSrc": "141934:6:10", + "nativeSrc": "141934:6:23", "nodeType": "YulIdentifier", - "src": "141934:6:10" + "src": "141934:6:23" }, - "nativeSrc": "141934:80:10", + "nativeSrc": "141934:80:23", "nodeType": "YulFunctionCall", - "src": "141934:80:10" + "src": "141934:80:23" }, - "nativeSrc": "141934:80:10", + "nativeSrc": "141934:80:23", "nodeType": "YulExpressionStatement", - "src": "141934:80:10" + "src": "141934:80:23" }, { "expression": { @@ -149871,49 +168846,49 @@ "arguments": [ { "name": "m", - "nativeSrc": "142038:1:10", + "nativeSrc": "142038:1:23", "nodeType": "YulIdentifier", - "src": "142038:1:10" + "src": "142038:1:23" }, { "kind": "number", - "nativeSrc": "142041:4:10", + "nativeSrc": "142041:4:23", "nodeType": "YulLiteral", - "src": "142041:4:10", + "src": "142041:4:23", "type": "", "value": "0x14" } ], "functionName": { "name": "add", - "nativeSrc": "142034:3:10", + "nativeSrc": "142034:3:23", "nodeType": "YulIdentifier", - "src": "142034:3:10" + "src": "142034:3:23" }, - "nativeSrc": "142034:12:10", + "nativeSrc": "142034:12:23", "nodeType": "YulFunctionCall", - "src": "142034:12:10" + "src": "142034:12:23" }, { "name": "beacon", - "nativeSrc": "142048:6:10", + "nativeSrc": "142048:6:23", "nodeType": "YulIdentifier", - "src": "142048:6:10" + "src": "142048:6:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "142027:6:10", + "nativeSrc": "142027:6:23", "nodeType": "YulIdentifier", - "src": "142027:6:10" + "src": "142027:6:23" }, - "nativeSrc": "142027:28:10", + "nativeSrc": "142027:28:23", "nodeType": "YulFunctionCall", - "src": "142027:28:10" + "src": "142027:28:23" }, - "nativeSrc": "142027:28:10", + "nativeSrc": "142027:28:23", "nodeType": "YulExpressionStatement", - "src": "142027:28:10" + "src": "142027:28:23" }, { "expression": { @@ -149922,55 +168897,55 @@ "arguments": [ { "name": "m", - "nativeSrc": "142166:1:10", + "nativeSrc": "142166:1:23", "nodeType": "YulIdentifier", - "src": "142166:1:10" + "src": "142166:1:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "142172:1:10", + "nativeSrc": "142172:1:23", "nodeType": "YulIdentifier", - "src": "142172:1:10" + "src": "142172:1:23" }, { "kind": "number", - "nativeSrc": "142175:6:10", + "nativeSrc": "142175:6:23", "nodeType": "YulLiteral", - "src": "142175:6:10", + "src": "142175:6:23", "type": "", "value": "0xffa8" } ], "functionName": { "name": "gt", - "nativeSrc": "142169:2:10", + "nativeSrc": "142169:2:23", "nodeType": "YulIdentifier", - "src": "142169:2:10" + "src": "142169:2:23" }, - "nativeSrc": "142169:13:10", + "nativeSrc": "142169:13:23", "nodeType": "YulFunctionCall", - "src": "142169:13:10" + "src": "142169:13:23" } ], "functionName": { "name": "add", - "nativeSrc": "142162:3:10", + "nativeSrc": "142162:3:23", "nodeType": "YulIdentifier", - "src": "142162:3:10" + "src": "142162:3:23" }, - "nativeSrc": "142162:21:10", + "nativeSrc": "142162:21:23", "nodeType": "YulFunctionCall", - "src": "142162:21:10" + "src": "142162:21:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "142189:24:10", + "nativeSrc": "142189:24:23", "nodeType": "YulLiteral", - "src": "142189:24:10", + "src": "142189:24:23", "type": "", "value": "0xfe6100573d8160233d3973" }, @@ -149978,214 +168953,214 @@ "arguments": [ { "kind": "number", - "nativeSrc": "142219:2:10", + "nativeSrc": "142219:2:23", "nodeType": "YulLiteral", - "src": "142219:2:10", + "src": "142219:2:23", "type": "", "value": "56" }, { "name": "n", - "nativeSrc": "142223:1:10", + "nativeSrc": "142223:1:23", "nodeType": "YulIdentifier", - "src": "142223:1:10" + "src": "142223:1:23" } ], "functionName": { "name": "shl", - "nativeSrc": "142215:3:10", + "nativeSrc": "142215:3:23", "nodeType": "YulIdentifier", - "src": "142215:3:10" + "src": "142215:3:23" }, - "nativeSrc": "142215:10:10", + "nativeSrc": "142215:10:23", "nodeType": "YulFunctionCall", - "src": "142215:10:10" + "src": "142215:10:23" } ], "functionName": { "name": "add", - "nativeSrc": "142185:3:10", + "nativeSrc": "142185:3:23", "nodeType": "YulIdentifier", - "src": "142185:3:10" + "src": "142185:3:23" }, - "nativeSrc": "142185:41:10", + "nativeSrc": "142185:41:23", "nodeType": "YulFunctionCall", - "src": "142185:41:10" + "src": "142185:41:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "142155:6:10", + "nativeSrc": "142155:6:23", "nodeType": "YulIdentifier", - "src": "142155:6:10" + "src": "142155:6:23" }, - "nativeSrc": "142155:72:10", + "nativeSrc": "142155:72:23", "nodeType": "YulFunctionCall", - "src": "142155:72:10" + "src": "142155:72:23" }, - "nativeSrc": "142155:72:10", + "nativeSrc": "142155:72:23", "nodeType": "YulExpressionStatement", - "src": "142155:72:10" + "src": "142155:72:23" }, { - "nativeSrc": "142240:53:10", + "nativeSrc": "142240:53:23", "nodeType": "YulAssignment", - "src": "142240:53:10", + "src": "142240:53:23", "value": { "arguments": [ { "name": "value", - "nativeSrc": "142259:5:10", + "nativeSrc": "142259:5:23", "nodeType": "YulIdentifier", - "src": "142259:5:10" + "src": "142259:5:23" }, { "arguments": [ { "name": "m", - "nativeSrc": "142270:1:10", + "nativeSrc": "142270:1:23", "nodeType": "YulIdentifier", - "src": "142270:1:10" + "src": "142270:1:23" }, { "kind": "number", - "nativeSrc": "142273:4:10", + "nativeSrc": "142273:4:23", "nodeType": "YulLiteral", - "src": "142273:4:10", + "src": "142273:4:23", "type": "", "value": "0x16" } ], "functionName": { "name": "add", - "nativeSrc": "142266:3:10", + "nativeSrc": "142266:3:23", "nodeType": "YulIdentifier", - "src": "142266:3:10" + "src": "142266:3:23" }, - "nativeSrc": "142266:12:10", + "nativeSrc": "142266:12:23", "nodeType": "YulFunctionCall", - "src": "142266:12:10" + "src": "142266:12:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "142284:1:10", + "nativeSrc": "142284:1:23", "nodeType": "YulIdentifier", - "src": "142284:1:10" + "src": "142284:1:23" }, { "kind": "number", - "nativeSrc": "142287:4:10", + "nativeSrc": "142287:4:23", "nodeType": "YulLiteral", - "src": "142287:4:10", + "src": "142287:4:23", "type": "", "value": "0x7a" } ], "functionName": { "name": "add", - "nativeSrc": "142280:3:10", + "nativeSrc": "142280:3:23", "nodeType": "YulIdentifier", - "src": "142280:3:10" + "src": "142280:3:23" }, - "nativeSrc": "142280:12:10", + "nativeSrc": "142280:12:23", "nodeType": "YulFunctionCall", - "src": "142280:12:10" + "src": "142280:12:23" } ], "functionName": { "name": "create", - "nativeSrc": "142252:6:10", + "nativeSrc": "142252:6:23", "nodeType": "YulIdentifier", - "src": "142252:6:10" + "src": "142252:6:23" }, - "nativeSrc": "142252:41:10", + "nativeSrc": "142252:41:23", "nodeType": "YulFunctionCall", - "src": "142252:41:10" + "src": "142252:41:23" }, "variableNames": [ { "name": "instance", - "nativeSrc": "142240:8:10", + "nativeSrc": "142240:8:23", "nodeType": "YulIdentifier", - "src": "142240:8:10" + "src": "142240:8:23" } ] }, { "body": { - "nativeSrc": "142326:116:10", + "nativeSrc": "142326:116:23", "nodeType": "YulBlock", - "src": "142326:116:10", + "src": "142326:116:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "142351:4:10", + "nativeSrc": "142351:4:23", "nodeType": "YulLiteral", - "src": "142351:4:10", + "src": "142351:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "142357:10:10", + "nativeSrc": "142357:10:23", "nodeType": "YulLiteral", - "src": "142357:10:10", + "src": "142357:10:23", "type": "", "value": "0x30116425" } ], "functionName": { "name": "mstore", - "nativeSrc": "142344:6:10", + "nativeSrc": "142344:6:23", "nodeType": "YulIdentifier", - "src": "142344:6:10" + "src": "142344:6:23" }, - "nativeSrc": "142344:24:10", + "nativeSrc": "142344:24:23", "nodeType": "YulFunctionCall", - "src": "142344:24:10" + "src": "142344:24:23" }, - "nativeSrc": "142344:24:10", + "nativeSrc": "142344:24:23", "nodeType": "YulExpressionStatement", - "src": "142344:24:10" + "src": "142344:24:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "142417:4:10", + "nativeSrc": "142417:4:23", "nodeType": "YulLiteral", - "src": "142417:4:10", + "src": "142417:4:23", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "142423:4:10", + "nativeSrc": "142423:4:23", "nodeType": "YulLiteral", - "src": "142423:4:10", + "src": "142423:4:23", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "142410:6:10", + "nativeSrc": "142410:6:23", "nodeType": "YulIdentifier", - "src": "142410:6:10" + "src": "142410:6:23" }, - "nativeSrc": "142410:18:10", + "nativeSrc": "142410:18:23", "nodeType": "YulFunctionCall", - "src": "142410:18:10" + "src": "142410:18:23" }, - "nativeSrc": "142410:18:10", + "nativeSrc": "142410:18:23", "nodeType": "YulExpressionStatement", - "src": "142410:18:10" + "src": "142410:18:23" } ] }, @@ -150193,24 +169168,24 @@ "arguments": [ { "name": "instance", - "nativeSrc": "142316:8:10", + "nativeSrc": "142316:8:23", "nodeType": "YulIdentifier", - "src": "142316:8:10" + "src": "142316:8:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "142309:6:10", + "nativeSrc": "142309:6:23", "nodeType": "YulIdentifier", - "src": "142309:6:10" + "src": "142309:6:23" }, - "nativeSrc": "142309:16:10", + "nativeSrc": "142309:16:23", "nodeType": "YulFunctionCall", - "src": "142309:16:10" + "src": "142309:16:23" }, - "nativeSrc": "142306:136:10", + "nativeSrc": "142306:136:23", "nodeType": "YulIf", - "src": "142306:136:10" + "src": "142306:136:23" } ] }, @@ -150218,80 +169193,80 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4871, + "declaration": 6477, "isOffset": false, "isSlot": false, - "src": "141639:4:10", + "src": "141639:4:23", "valueSize": 1 }, { - "declaration": 4871, + "declaration": 6477, "isOffset": false, "isSlot": false, - "src": "141686:4:10", + "src": "141686:4:23", "valueSize": 1 }, { - "declaration": 4869, + "declaration": 6475, "isOffset": false, "isSlot": false, - "src": "142048:6:10", + "src": "142048:6:23", "valueSize": 1 }, { - "declaration": 4874, + "declaration": 6480, "isOffset": false, "isSlot": false, - "src": "142240:8:10", + "src": "142240:8:23", "valueSize": 1 }, { - "declaration": 4874, + "declaration": 6480, "isOffset": false, "isSlot": false, - "src": "142316:8:10", + "src": "142316:8:23", "valueSize": 1 }, { - "declaration": 4867, + "declaration": 6473, "isOffset": false, "isSlot": false, - "src": "142259:5:10", + "src": "142259:5:23", "valueSize": 1 } ], - "id": 4876, + "id": 6482, "nodeType": "InlineAssembly", - "src": "141534:918:10" + "src": "141534:918:23" } ] }, "documentation": { - "id": 4865, + "id": 6471, "nodeType": "StructuredDocumentation", - "src": "141235:100:10", + "src": "141235:100:23", "text": "@dev Deploys a ERC1967I beacon proxy with `args.\n Deposits `value` ETH during deployment." }, - "id": 4878, + "id": 6484, "implemented": true, "kind": "function", "modifiers": [], "name": "deployERC1967IBeaconProxy", - "nameLocation": "141349:25:10", + "nameLocation": "141349:25:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4872, + "id": 6478, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4867, + "id": 6473, "mutability": "mutable", "name": "value", - "nameLocation": "141383:5:10", + "nameLocation": "141383:5:23", "nodeType": "VariableDeclaration", - "scope": 4878, - "src": "141375:13:10", + "scope": 6484, + "src": "141375:13:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -150299,10 +169274,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4866, + "id": 6472, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "141375:7:10", + "src": "141375:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -150312,13 +169287,13 @@ }, { "constant": false, - "id": 4869, + "id": 6475, "mutability": "mutable", "name": "beacon", - "nameLocation": "141398:6:10", + "nameLocation": "141398:6:23", "nodeType": "VariableDeclaration", - "scope": 4878, - "src": "141390:14:10", + "scope": 6484, + "src": "141390:14:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -150326,10 +169301,10 @@ "typeString": "address" }, "typeName": { - "id": 4868, + "id": 6474, "name": "address", "nodeType": "ElementaryTypeName", - "src": "141390:7:10", + "src": "141390:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -150340,13 +169315,13 @@ }, { "constant": false, - "id": 4871, + "id": 6477, "mutability": "mutable", "name": "args", - "nameLocation": "141419:4:10", + "nameLocation": "141419:4:23", "nodeType": "VariableDeclaration", - "scope": 4878, - "src": "141406:17:10", + "scope": 6484, + "src": "141406:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -150354,10 +169329,10 @@ "typeString": "bytes" }, "typeName": { - "id": 4870, + "id": 6476, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "141406:5:10", + "src": "141406:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -150366,21 +169341,21 @@ "visibility": "internal" } ], - "src": "141374:50:10" + "src": "141374:50:23" }, "returnParameters": { - "id": 4875, + "id": 6481, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4874, + "id": 6480, "mutability": "mutable", "name": "instance", - "nameLocation": "141467:8:10", + "nameLocation": "141467:8:23", "nodeType": "VariableDeclaration", - "scope": 4878, - "src": "141459:16:10", + "scope": 6484, + "src": "141459:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -150388,10 +169363,10 @@ "typeString": "address" }, "typeName": { - "id": 4873, + "id": 6479, "name": "address", "nodeType": "ElementaryTypeName", - "src": "141459:7:10", + "src": "141459:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -150401,34 +169376,34 @@ "visibility": "internal" } ], - "src": "141458:18:10" + "src": "141458:18:23" }, - "scope": 5093, - "src": "141340:1118:10", + "scope": 6699, + "src": "141340:1118:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4899, + "id": 6505, "nodeType": "Block", - "src": "142700:89:10", + "src": "142700:89:23", "statements": [ { "expression": { - "id": 4897, + "id": 6503, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 4890, + "id": 6496, "name": "instance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4888, - "src": "142710:8:10", + "referencedDeclaration": 6494, + "src": "142710:8:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -150440,14 +169415,14 @@ "arguments": [ { "hexValue": "30", - "id": 4892, + "id": 6498, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "142760:1:10", + "src": "142760:1:23", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -150455,36 +169430,36 @@ "value": "0" }, { - "id": 4893, + "id": 6499, "name": "beacon", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4881, - "src": "142763:6:10", + "referencedDeclaration": 6487, + "src": "142763:6:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 4894, + "id": 6500, "name": "args", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4883, - "src": "142771:4:10", + "referencedDeclaration": 6489, + "src": "142771:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { - "id": 4895, + "id": 6501, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4885, - "src": "142777:4:10", + "referencedDeclaration": 6491, + "src": "142777:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -150510,23 +169485,23 @@ "typeString": "bytes32" } ], - "id": 4891, + "id": 6497, "name": "deployDeterministicERC1967IBeaconProxy", "nodeType": "Identifier", "overloadedDeclarations": [ - 4749, - 4763, - 4900, - 4916 + 6355, + 6369, + 6506, + 6522 ], - "referencedDeclaration": 4916, - "src": "142721:38:10", + "referencedDeclaration": 6522, + "src": "142721:38:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$_t_bytes32_$returns$_t_address_$", "typeString": "function (uint256,address,bytes memory,bytes32) returns (address)" } }, - "id": 4896, + "id": 6502, "isConstant": false, "isLValue": false, "isPure": false, @@ -150535,51 +169510,51 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "142721:61:10", + "src": "142721:61:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "142710:72:10", + "src": "142710:72:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 4898, + "id": 6504, "nodeType": "ExpressionStatement", - "src": "142710:72:10" + "src": "142710:72:23" } ] }, "documentation": { - "id": 4879, + "id": 6485, "nodeType": "StructuredDocumentation", - "src": "142464:78:10", + "src": "142464:78:23", "text": "@dev Deploys a deterministic ERC1967I beacon proxy with `args` and `salt`." }, - "id": 4900, + "id": 6506, "implemented": true, "kind": "function", "modifiers": [], "name": "deployDeterministicERC1967IBeaconProxy", - "nameLocation": "142556:38:10", + "nameLocation": "142556:38:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4886, + "id": 6492, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4881, + "id": 6487, "mutability": "mutable", "name": "beacon", - "nameLocation": "142603:6:10", + "nameLocation": "142603:6:23", "nodeType": "VariableDeclaration", - "scope": 4900, - "src": "142595:14:10", + "scope": 6506, + "src": "142595:14:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -150587,10 +169562,10 @@ "typeString": "address" }, "typeName": { - "id": 4880, + "id": 6486, "name": "address", "nodeType": "ElementaryTypeName", - "src": "142595:7:10", + "src": "142595:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -150601,13 +169576,13 @@ }, { "constant": false, - "id": 4883, + "id": 6489, "mutability": "mutable", "name": "args", - "nameLocation": "142624:4:10", + "nameLocation": "142624:4:23", "nodeType": "VariableDeclaration", - "scope": 4900, - "src": "142611:17:10", + "scope": 6506, + "src": "142611:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -150615,10 +169590,10 @@ "typeString": "bytes" }, "typeName": { - "id": 4882, + "id": 6488, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "142611:5:10", + "src": "142611:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -150628,13 +169603,13 @@ }, { "constant": false, - "id": 4885, + "id": 6491, "mutability": "mutable", "name": "salt", - "nameLocation": "142638:4:10", + "nameLocation": "142638:4:23", "nodeType": "VariableDeclaration", - "scope": 4900, - "src": "142630:12:10", + "scope": 6506, + "src": "142630:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -150642,10 +169617,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4884, + "id": 6490, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "142630:7:10", + "src": "142630:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -150654,21 +169629,21 @@ "visibility": "internal" } ], - "src": "142594:49:10" + "src": "142594:49:23" }, "returnParameters": { - "id": 4889, + "id": 6495, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4888, + "id": 6494, "mutability": "mutable", "name": "instance", - "nameLocation": "142686:8:10", + "nameLocation": "142686:8:23", "nodeType": "VariableDeclaration", - "scope": 4900, - "src": "142678:16:10", + "scope": 6506, + "src": "142678:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -150676,10 +169651,10 @@ "typeString": "address" }, "typeName": { - "id": 4887, + "id": 6493, "name": "address", "nodeType": "ElementaryTypeName", - "src": "142678:7:10", + "src": "142678:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -150689,90 +169664,90 @@ "visibility": "internal" } ], - "src": "142677:18:10" + "src": "142677:18:23" }, - "scope": 5093, - "src": "142547:242:10", + "scope": 6699, + "src": "142547:242:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4915, + "id": 6521, "nodeType": "Block", - "src": "143112:984:10", + "src": "143112:984:23", "statements": [ { "AST": { - "nativeSrc": "143174:916:10", + "nativeSrc": "143174:916:23", "nodeType": "YulBlock", - "src": "143174:916:10", + "src": "143174:916:23", "statements": [ { - "nativeSrc": "143188:20:10", + "nativeSrc": "143188:20:23", "nodeType": "YulVariableDeclaration", - "src": "143188:20:10", + "src": "143188:20:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "143203:4:10", + "nativeSrc": "143203:4:23", "nodeType": "YulLiteral", - "src": "143203:4:10", + "src": "143203:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "143197:5:10", + "nativeSrc": "143197:5:23", "nodeType": "YulIdentifier", - "src": "143197:5:10" + "src": "143197:5:23" }, - "nativeSrc": "143197:11:10", + "nativeSrc": "143197:11:23", "nodeType": "YulFunctionCall", - "src": "143197:11:10" + "src": "143197:11:23" }, "variables": [ { "name": "m", - "nativeSrc": "143192:1:10", + "nativeSrc": "143192:1:23", "nodeType": "YulTypedName", - "src": "143192:1:10", + "src": "143192:1:23", "type": "" } ] }, { - "nativeSrc": "143255:20:10", + "nativeSrc": "143255:20:23", "nodeType": "YulVariableDeclaration", - "src": "143255:20:10", + "src": "143255:20:23", "value": { "arguments": [ { "name": "args", - "nativeSrc": "143270:4:10", + "nativeSrc": "143270:4:23", "nodeType": "YulIdentifier", - "src": "143270:4:10" + "src": "143270:4:23" } ], "functionName": { "name": "mload", - "nativeSrc": "143264:5:10", + "nativeSrc": "143264:5:23", "nodeType": "YulIdentifier", - "src": "143264:5:10" + "src": "143264:5:23" }, - "nativeSrc": "143264:11:10", + "nativeSrc": "143264:11:23", "nodeType": "YulFunctionCall", - "src": "143264:11:10" + "src": "143264:11:23" }, "variables": [ { "name": "n", - "nativeSrc": "143259:1:10", + "nativeSrc": "143259:1:23", "nodeType": "YulTypedName", - "src": "143259:1:10", + "src": "143259:1:23", "type": "" } ] @@ -150786,19 +169761,19 @@ "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "143303:3:10", + "nativeSrc": "143303:3:23", "nodeType": "YulIdentifier", - "src": "143303:3:10" + "src": "143303:3:23" }, - "nativeSrc": "143303:5:10", + "nativeSrc": "143303:5:23", "nodeType": "YulFunctionCall", - "src": "143303:5:10" + "src": "143303:5:23" }, { "kind": "number", - "nativeSrc": "143310:1:10", + "nativeSrc": "143310:1:23", "nodeType": "YulLiteral", - "src": "143310:1:10", + "src": "143310:1:23", "type": "", "value": "4" }, @@ -150806,93 +169781,93 @@ "arguments": [ { "name": "args", - "nativeSrc": "143317:4:10", + "nativeSrc": "143317:4:23", "nodeType": "YulIdentifier", - "src": "143317:4:10" + "src": "143317:4:23" }, { "kind": "number", - "nativeSrc": "143323:4:10", + "nativeSrc": "143323:4:23", "nodeType": "YulLiteral", - "src": "143323:4:10", + "src": "143323:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "143313:3:10", + "nativeSrc": "143313:3:23", "nodeType": "YulIdentifier", - "src": "143313:3:10" + "src": "143313:3:23" }, - "nativeSrc": "143313:15:10", + "nativeSrc": "143313:15:23", "nodeType": "YulFunctionCall", - "src": "143313:15:10" + "src": "143313:15:23" }, { "name": "n", - "nativeSrc": "143330:1:10", + "nativeSrc": "143330:1:23", "nodeType": "YulIdentifier", - "src": "143330:1:10" + "src": "143330:1:23" }, { "arguments": [ { "name": "m", - "nativeSrc": "143337:1:10", + "nativeSrc": "143337:1:23", "nodeType": "YulIdentifier", - "src": "143337:1:10" + "src": "143337:1:23" }, { "kind": "number", - "nativeSrc": "143340:4:10", + "nativeSrc": "143340:4:23", "nodeType": "YulLiteral", - "src": "143340:4:10", + "src": "143340:4:23", "type": "", "value": "0x90" } ], "functionName": { "name": "add", - "nativeSrc": "143333:3:10", + "nativeSrc": "143333:3:23", "nodeType": "YulIdentifier", - "src": "143333:3:10" + "src": "143333:3:23" }, - "nativeSrc": "143333:12:10", + "nativeSrc": "143333:12:23", "nodeType": "YulFunctionCall", - "src": "143333:12:10" + "src": "143333:12:23" }, { "name": "n", - "nativeSrc": "143347:1:10", + "nativeSrc": "143347:1:23", "nodeType": "YulIdentifier", - "src": "143347:1:10" + "src": "143347:1:23" } ], "functionName": { "name": "staticcall", - "nativeSrc": "143292:10:10", + "nativeSrc": "143292:10:23", "nodeType": "YulIdentifier", - "src": "143292:10:10" + "src": "143292:10:23" }, - "nativeSrc": "143292:57:10", + "nativeSrc": "143292:57:23", "nodeType": "YulFunctionCall", - "src": "143292:57:10" + "src": "143292:57:23" } ], "functionName": { "name": "pop", - "nativeSrc": "143288:3:10", + "nativeSrc": "143288:3:23", "nodeType": "YulIdentifier", - "src": "143288:3:10" + "src": "143288:3:23" }, - "nativeSrc": "143288:62:10", + "nativeSrc": "143288:62:23", "nodeType": "YulFunctionCall", - "src": "143288:62:10" + "src": "143288:62:23" }, - "nativeSrc": "143288:62:10", + "nativeSrc": "143288:62:23", "nodeType": "YulExpressionStatement", - "src": "143288:62:10" + "src": "143288:62:23" }, { "expression": { @@ -150901,51 +169876,51 @@ "arguments": [ { "name": "m", - "nativeSrc": "143374:1:10", + "nativeSrc": "143374:1:23", "nodeType": "YulIdentifier", - "src": "143374:1:10" + "src": "143374:1:23" }, { "kind": "number", - "nativeSrc": "143377:4:10", + "nativeSrc": "143377:4:23", "nodeType": "YulLiteral", - "src": "143377:4:10", + "src": "143377:4:23", "type": "", "value": "0x70" } ], "functionName": { "name": "add", - "nativeSrc": "143370:3:10", + "nativeSrc": "143370:3:23", "nodeType": "YulIdentifier", - "src": "143370:3:10" + "src": "143370:3:23" }, - "nativeSrc": "143370:12:10", + "nativeSrc": "143370:12:23", "nodeType": "YulFunctionCall", - "src": "143370:12:10" + "src": "143370:12:23" }, { "kind": "number", - "nativeSrc": "143384:66:10", + "nativeSrc": "143384:66:23", "nodeType": "YulLiteral", - "src": "143384:66:10", + "src": "143384:66:23", "type": "", "value": "0x3d50545afa361460525736515af43d600060013e6052573d6001fd5b3d6001f3" } ], "functionName": { "name": "mstore", - "nativeSrc": "143363:6:10", + "nativeSrc": "143363:6:23", "nodeType": "YulIdentifier", - "src": "143363:6:10" + "src": "143363:6:23" }, - "nativeSrc": "143363:88:10", + "nativeSrc": "143363:88:23", "nodeType": "YulFunctionCall", - "src": "143363:88:10" + "src": "143363:88:23" }, - "nativeSrc": "143363:88:10", + "nativeSrc": "143363:88:23", "nodeType": "YulExpressionStatement", - "src": "143363:88:10" + "src": "143363:88:23" }, { "expression": { @@ -150954,51 +169929,51 @@ "arguments": [ { "name": "m", - "nativeSrc": "143475:1:10", + "nativeSrc": "143475:1:23", "nodeType": "YulIdentifier", - "src": "143475:1:10" + "src": "143475:1:23" }, { "kind": "number", - "nativeSrc": "143478:4:10", + "nativeSrc": "143478:4:23", "nodeType": "YulLiteral", - "src": "143478:4:10", + "src": "143478:4:23", "type": "", "value": "0x50" } ], "functionName": { "name": "add", - "nativeSrc": "143471:3:10", + "nativeSrc": "143471:3:23", "nodeType": "YulIdentifier", - "src": "143471:3:10" + "src": "143471:3:23" }, - "nativeSrc": "143471:12:10", + "nativeSrc": "143471:12:23", "nodeType": "YulFunctionCall", - "src": "143471:12:10" + "src": "143471:12:23" }, { "kind": "number", - "nativeSrc": "143485:66:10", + "nativeSrc": "143485:66:23", "nodeType": "YulLiteral", - "src": "143485:66:10", + "src": "143485:66:23", "type": "", "value": "0x527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b3513" } ], "functionName": { "name": "mstore", - "nativeSrc": "143464:6:10", + "nativeSrc": "143464:6:23", "nodeType": "YulIdentifier", - "src": "143464:6:10" + "src": "143464:6:23" }, - "nativeSrc": "143464:88:10", + "nativeSrc": "143464:88:23", "nodeType": "YulFunctionCall", - "src": "143464:88:10" + "src": "143464:88:23" }, - "nativeSrc": "143464:88:10", + "nativeSrc": "143464:88:23", "nodeType": "YulExpressionStatement", - "src": "143464:88:10" + "src": "143464:88:23" }, { "expression": { @@ -151007,51 +169982,51 @@ "arguments": [ { "name": "m", - "nativeSrc": "143576:1:10", + "nativeSrc": "143576:1:23", "nodeType": "YulIdentifier", - "src": "143576:1:10" + "src": "143576:1:23" }, { "kind": "number", - "nativeSrc": "143579:4:10", + "nativeSrc": "143579:4:23", "nodeType": "YulLiteral", - "src": "143579:4:10", + "src": "143579:4:23", "type": "", "value": "0x30" } ], "functionName": { "name": "add", - "nativeSrc": "143572:3:10", + "nativeSrc": "143572:3:23", "nodeType": "YulIdentifier", - "src": "143572:3:10" + "src": "143572:3:23" }, - "nativeSrc": "143572:12:10", + "nativeSrc": "143572:12:23", "nodeType": "YulFunctionCall", - "src": "143572:12:10" + "src": "143572:12:23" }, { "kind": "number", - "nativeSrc": "143586:58:10", + "nativeSrc": "143586:58:23", "nodeType": "YulLiteral", - "src": "143586:58:10", + "src": "143586:58:23", "type": "", "value": "0x60195155f3363d3d373d3d363d602036600436635c60da1b60e01b36" } ], "functionName": { "name": "mstore", - "nativeSrc": "143565:6:10", + "nativeSrc": "143565:6:23", "nodeType": "YulIdentifier", - "src": "143565:6:10" + "src": "143565:6:23" }, - "nativeSrc": "143565:80:10", + "nativeSrc": "143565:80:23", "nodeType": "YulFunctionCall", - "src": "143565:80:10" + "src": "143565:80:23" }, - "nativeSrc": "143565:80:10", + "nativeSrc": "143565:80:23", "nodeType": "YulExpressionStatement", - "src": "143565:80:10" + "src": "143565:80:23" }, { "expression": { @@ -151060,49 +170035,49 @@ "arguments": [ { "name": "m", - "nativeSrc": "143669:1:10", + "nativeSrc": "143669:1:23", "nodeType": "YulIdentifier", - "src": "143669:1:10" + "src": "143669:1:23" }, { "kind": "number", - "nativeSrc": "143672:4:10", + "nativeSrc": "143672:4:23", "nodeType": "YulLiteral", - "src": "143672:4:10", + "src": "143672:4:23", "type": "", "value": "0x14" } ], "functionName": { "name": "add", - "nativeSrc": "143665:3:10", + "nativeSrc": "143665:3:23", "nodeType": "YulIdentifier", - "src": "143665:3:10" + "src": "143665:3:23" }, - "nativeSrc": "143665:12:10", + "nativeSrc": "143665:12:23", "nodeType": "YulFunctionCall", - "src": "143665:12:10" + "src": "143665:12:23" }, { "name": "beacon", - "nativeSrc": "143679:6:10", + "nativeSrc": "143679:6:23", "nodeType": "YulIdentifier", - "src": "143679:6:10" + "src": "143679:6:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "143658:6:10", + "nativeSrc": "143658:6:23", "nodeType": "YulIdentifier", - "src": "143658:6:10" + "src": "143658:6:23" }, - "nativeSrc": "143658:28:10", + "nativeSrc": "143658:28:23", "nodeType": "YulFunctionCall", - "src": "143658:28:10" + "src": "143658:28:23" }, - "nativeSrc": "143658:28:10", + "nativeSrc": "143658:28:23", "nodeType": "YulExpressionStatement", - "src": "143658:28:10" + "src": "143658:28:23" }, { "expression": { @@ -151111,55 +170086,55 @@ "arguments": [ { "name": "m", - "nativeSrc": "143797:1:10", + "nativeSrc": "143797:1:23", "nodeType": "YulIdentifier", - "src": "143797:1:10" + "src": "143797:1:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "143803:1:10", + "nativeSrc": "143803:1:23", "nodeType": "YulIdentifier", - "src": "143803:1:10" + "src": "143803:1:23" }, { "kind": "number", - "nativeSrc": "143806:6:10", + "nativeSrc": "143806:6:23", "nodeType": "YulLiteral", - "src": "143806:6:10", + "src": "143806:6:23", "type": "", "value": "0xffa8" } ], "functionName": { "name": "gt", - "nativeSrc": "143800:2:10", + "nativeSrc": "143800:2:23", "nodeType": "YulIdentifier", - "src": "143800:2:10" + "src": "143800:2:23" }, - "nativeSrc": "143800:13:10", + "nativeSrc": "143800:13:23", "nodeType": "YulFunctionCall", - "src": "143800:13:10" + "src": "143800:13:23" } ], "functionName": { "name": "add", - "nativeSrc": "143793:3:10", + "nativeSrc": "143793:3:23", "nodeType": "YulIdentifier", - "src": "143793:3:10" + "src": "143793:3:23" }, - "nativeSrc": "143793:21:10", + "nativeSrc": "143793:21:23", "nodeType": "YulFunctionCall", - "src": "143793:21:10" + "src": "143793:21:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "143820:24:10", + "nativeSrc": "143820:24:23", "nodeType": "YulLiteral", - "src": "143820:24:10", + "src": "143820:24:23", "type": "", "value": "0xfe6100573d8160233d3973" }, @@ -151167,220 +170142,220 @@ "arguments": [ { "kind": "number", - "nativeSrc": "143850:2:10", + "nativeSrc": "143850:2:23", "nodeType": "YulLiteral", - "src": "143850:2:10", + "src": "143850:2:23", "type": "", "value": "56" }, { "name": "n", - "nativeSrc": "143854:1:10", + "nativeSrc": "143854:1:23", "nodeType": "YulIdentifier", - "src": "143854:1:10" + "src": "143854:1:23" } ], "functionName": { "name": "shl", - "nativeSrc": "143846:3:10", + "nativeSrc": "143846:3:23", "nodeType": "YulIdentifier", - "src": "143846:3:10" + "src": "143846:3:23" }, - "nativeSrc": "143846:10:10", + "nativeSrc": "143846:10:23", "nodeType": "YulFunctionCall", - "src": "143846:10:10" + "src": "143846:10:23" } ], "functionName": { "name": "add", - "nativeSrc": "143816:3:10", + "nativeSrc": "143816:3:23", "nodeType": "YulIdentifier", - "src": "143816:3:10" + "src": "143816:3:23" }, - "nativeSrc": "143816:41:10", + "nativeSrc": "143816:41:23", "nodeType": "YulFunctionCall", - "src": "143816:41:10" + "src": "143816:41:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "143786:6:10", + "nativeSrc": "143786:6:23", "nodeType": "YulIdentifier", - "src": "143786:6:10" + "src": "143786:6:23" }, - "nativeSrc": "143786:72:10", + "nativeSrc": "143786:72:23", "nodeType": "YulFunctionCall", - "src": "143786:72:10" + "src": "143786:72:23" }, - "nativeSrc": "143786:72:10", + "nativeSrc": "143786:72:23", "nodeType": "YulExpressionStatement", - "src": "143786:72:10" + "src": "143786:72:23" }, { - "nativeSrc": "143871:60:10", + "nativeSrc": "143871:60:23", "nodeType": "YulAssignment", - "src": "143871:60:10", + "src": "143871:60:23", "value": { "arguments": [ { "name": "value", - "nativeSrc": "143891:5:10", + "nativeSrc": "143891:5:23", "nodeType": "YulIdentifier", - "src": "143891:5:10" + "src": "143891:5:23" }, { "arguments": [ { "name": "m", - "nativeSrc": "143902:1:10", + "nativeSrc": "143902:1:23", "nodeType": "YulIdentifier", - "src": "143902:1:10" + "src": "143902:1:23" }, { "kind": "number", - "nativeSrc": "143905:4:10", + "nativeSrc": "143905:4:23", "nodeType": "YulLiteral", - "src": "143905:4:10", + "src": "143905:4:23", "type": "", "value": "0x16" } ], "functionName": { "name": "add", - "nativeSrc": "143898:3:10", + "nativeSrc": "143898:3:23", "nodeType": "YulIdentifier", - "src": "143898:3:10" + "src": "143898:3:23" }, - "nativeSrc": "143898:12:10", + "nativeSrc": "143898:12:23", "nodeType": "YulFunctionCall", - "src": "143898:12:10" + "src": "143898:12:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "143916:1:10", + "nativeSrc": "143916:1:23", "nodeType": "YulIdentifier", - "src": "143916:1:10" + "src": "143916:1:23" }, { "kind": "number", - "nativeSrc": "143919:4:10", + "nativeSrc": "143919:4:23", "nodeType": "YulLiteral", - "src": "143919:4:10", + "src": "143919:4:23", "type": "", "value": "0x7a" } ], "functionName": { "name": "add", - "nativeSrc": "143912:3:10", + "nativeSrc": "143912:3:23", "nodeType": "YulIdentifier", - "src": "143912:3:10" + "src": "143912:3:23" }, - "nativeSrc": "143912:12:10", + "nativeSrc": "143912:12:23", "nodeType": "YulFunctionCall", - "src": "143912:12:10" + "src": "143912:12:23" }, { "name": "salt", - "nativeSrc": "143926:4:10", + "nativeSrc": "143926:4:23", "nodeType": "YulIdentifier", - "src": "143926:4:10" + "src": "143926:4:23" } ], "functionName": { "name": "create2", - "nativeSrc": "143883:7:10", + "nativeSrc": "143883:7:23", "nodeType": "YulIdentifier", - "src": "143883:7:10" + "src": "143883:7:23" }, - "nativeSrc": "143883:48:10", + "nativeSrc": "143883:48:23", "nodeType": "YulFunctionCall", - "src": "143883:48:10" + "src": "143883:48:23" }, "variableNames": [ { "name": "instance", - "nativeSrc": "143871:8:10", + "nativeSrc": "143871:8:23", "nodeType": "YulIdentifier", - "src": "143871:8:10" + "src": "143871:8:23" } ] }, { "body": { - "nativeSrc": "143964:116:10", + "nativeSrc": "143964:116:23", "nodeType": "YulBlock", - "src": "143964:116:10", + "src": "143964:116:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "143989:4:10", + "nativeSrc": "143989:4:23", "nodeType": "YulLiteral", - "src": "143989:4:10", + "src": "143989:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "143995:10:10", + "nativeSrc": "143995:10:23", "nodeType": "YulLiteral", - "src": "143995:10:10", + "src": "143995:10:23", "type": "", "value": "0x30116425" } ], "functionName": { "name": "mstore", - "nativeSrc": "143982:6:10", + "nativeSrc": "143982:6:23", "nodeType": "YulIdentifier", - "src": "143982:6:10" + "src": "143982:6:23" }, - "nativeSrc": "143982:24:10", + "nativeSrc": "143982:24:23", "nodeType": "YulFunctionCall", - "src": "143982:24:10" + "src": "143982:24:23" }, - "nativeSrc": "143982:24:10", + "nativeSrc": "143982:24:23", "nodeType": "YulExpressionStatement", - "src": "143982:24:10" + "src": "143982:24:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "144055:4:10", + "nativeSrc": "144055:4:23", "nodeType": "YulLiteral", - "src": "144055:4:10", + "src": "144055:4:23", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "144061:4:10", + "nativeSrc": "144061:4:23", "nodeType": "YulLiteral", - "src": "144061:4:10", + "src": "144061:4:23", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "144048:6:10", + "nativeSrc": "144048:6:23", "nodeType": "YulIdentifier", - "src": "144048:6:10" + "src": "144048:6:23" }, - "nativeSrc": "144048:18:10", + "nativeSrc": "144048:18:23", "nodeType": "YulFunctionCall", - "src": "144048:18:10" + "src": "144048:18:23" }, - "nativeSrc": "144048:18:10", + "nativeSrc": "144048:18:23", "nodeType": "YulExpressionStatement", - "src": "144048:18:10" + "src": "144048:18:23" } ] }, @@ -151388,24 +170363,24 @@ "arguments": [ { "name": "instance", - "nativeSrc": "143954:8:10", + "nativeSrc": "143954:8:23", "nodeType": "YulIdentifier", - "src": "143954:8:10" + "src": "143954:8:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "143947:6:10", + "nativeSrc": "143947:6:23", "nodeType": "YulIdentifier", - "src": "143947:6:10" + "src": "143947:6:23" }, - "nativeSrc": "143947:16:10", + "nativeSrc": "143947:16:23", "nodeType": "YulFunctionCall", - "src": "143947:16:10" + "src": "143947:16:23" }, - "nativeSrc": "143944:136:10", + "nativeSrc": "143944:136:23", "nodeType": "YulIf", - "src": "143944:136:10" + "src": "143944:136:23" } ] }, @@ -151413,87 +170388,87 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4907, + "declaration": 6513, "isOffset": false, "isSlot": false, - "src": "143270:4:10", + "src": "143270:4:23", "valueSize": 1 }, { - "declaration": 4907, + "declaration": 6513, "isOffset": false, "isSlot": false, - "src": "143317:4:10", + "src": "143317:4:23", "valueSize": 1 }, { - "declaration": 4905, + "declaration": 6511, "isOffset": false, "isSlot": false, - "src": "143679:6:10", + "src": "143679:6:23", "valueSize": 1 }, { - "declaration": 4912, + "declaration": 6518, "isOffset": false, "isSlot": false, - "src": "143871:8:10", + "src": "143871:8:23", "valueSize": 1 }, { - "declaration": 4912, + "declaration": 6518, "isOffset": false, "isSlot": false, - "src": "143954:8:10", + "src": "143954:8:23", "valueSize": 1 }, { - "declaration": 4909, + "declaration": 6515, "isOffset": false, "isSlot": false, - "src": "143926:4:10", + "src": "143926:4:23", "valueSize": 1 }, { - "declaration": 4903, + "declaration": 6509, "isOffset": false, "isSlot": false, - "src": "143891:5:10", + "src": "143891:5:23", "valueSize": 1 } ], - "id": 4914, + "id": 6520, "nodeType": "InlineAssembly", - "src": "143165:925:10" + "src": "143165:925:23" } ] }, "documentation": { - "id": 4901, + "id": 6507, "nodeType": "StructuredDocumentation", - "src": "142795:126:10", + "src": "142795:126:23", "text": "@dev Deploys a deterministic ERC1967I beacon proxy with `args` and `salt`.\n Deposits `value` ETH during deployment." }, - "id": 4916, + "id": 6522, "implemented": true, "kind": "function", "modifiers": [], "name": "deployDeterministicERC1967IBeaconProxy", - "nameLocation": "142935:38:10", + "nameLocation": "142935:38:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4910, + "id": 6516, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4903, + "id": 6509, "mutability": "mutable", "name": "value", - "nameLocation": "142991:5:10", + "nameLocation": "142991:5:23", "nodeType": "VariableDeclaration", - "scope": 4916, - "src": "142983:13:10", + "scope": 6522, + "src": "142983:13:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -151501,10 +170476,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4902, + "id": 6508, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "142983:7:10", + "src": "142983:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -151514,13 +170489,13 @@ }, { "constant": false, - "id": 4905, + "id": 6511, "mutability": "mutable", "name": "beacon", - "nameLocation": "143014:6:10", + "nameLocation": "143014:6:23", "nodeType": "VariableDeclaration", - "scope": 4916, - "src": "143006:14:10", + "scope": 6522, + "src": "143006:14:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -151528,10 +170503,10 @@ "typeString": "address" }, "typeName": { - "id": 4904, + "id": 6510, "name": "address", "nodeType": "ElementaryTypeName", - "src": "143006:7:10", + "src": "143006:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -151542,13 +170517,13 @@ }, { "constant": false, - "id": 4907, + "id": 6513, "mutability": "mutable", "name": "args", - "nameLocation": "143043:4:10", + "nameLocation": "143043:4:23", "nodeType": "VariableDeclaration", - "scope": 4916, - "src": "143030:17:10", + "scope": 6522, + "src": "143030:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -151556,10 +170531,10 @@ "typeString": "bytes" }, "typeName": { - "id": 4906, + "id": 6512, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "143030:5:10", + "src": "143030:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -151569,13 +170544,13 @@ }, { "constant": false, - "id": 4909, + "id": 6515, "mutability": "mutable", "name": "salt", - "nameLocation": "143065:4:10", + "nameLocation": "143065:4:23", "nodeType": "VariableDeclaration", - "scope": 4916, - "src": "143057:12:10", + "scope": 6522, + "src": "143057:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -151583,10 +170558,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4908, + "id": 6514, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "143057:7:10", + "src": "143057:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -151595,21 +170570,21 @@ "visibility": "internal" } ], - "src": "142973:102:10" + "src": "142973:102:23" }, "returnParameters": { - "id": 4913, + "id": 6519, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4912, + "id": 6518, "mutability": "mutable", "name": "instance", - "nameLocation": "143102:8:10", + "nameLocation": "143102:8:23", "nodeType": "VariableDeclaration", - "scope": 4916, - "src": "143094:16:10", + "scope": 6522, + "src": "143094:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -151617,10 +170592,10 @@ "typeString": "address" }, "typeName": { - "id": 4911, + "id": 6517, "name": "address", "nodeType": "ElementaryTypeName", - "src": "143094:7:10", + "src": "143094:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -151630,33 +170605,33 @@ "visibility": "internal" } ], - "src": "143093:18:10" + "src": "143093:18:23" }, - "scope": 5093, - "src": "142926:1170:10", + "scope": 6699, + "src": "142926:1170:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4937, + "id": 6543, "nodeType": "Block", - "src": "144503:85:10", + "src": "144503:85:23", "statements": [ { "expression": { "arguments": [ { "hexValue": "30", - "id": 4931, + "id": 6537, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "144559:1:10", + "src": "144559:1:23", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -151664,36 +170639,36 @@ "value": "0" }, { - "id": 4932, + "id": 6538, "name": "beacon", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4919, - "src": "144562:6:10", + "referencedDeclaration": 6525, + "src": "144562:6:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 4933, + "id": 6539, "name": "args", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4921, - "src": "144570:4:10", + "referencedDeclaration": 6527, + "src": "144570:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { - "id": 4934, + "id": 6540, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4923, - "src": "144576:4:10", + "referencedDeclaration": 6529, + "src": "144576:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -151719,23 +170694,23 @@ "typeString": "bytes32" } ], - "id": 4930, + "id": 6536, "name": "createDeterministicERC1967IBeaconProxy", "nodeType": "Identifier", "overloadedDeclarations": [ - 4782, - 4798, - 4938, - 4956 + 6388, + 6404, + 6544, + 6562 ], - "referencedDeclaration": 4956, - "src": "144520:38:10", + "referencedDeclaration": 6562, + "src": "144520:38:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$_t_bytes32_$returns$_t_bool_$_t_address_$", "typeString": "function (uint256,address,bytes memory,bytes32) returns (bool,address)" } }, - "id": 4935, + "id": 6541, "isConstant": false, "isLValue": false, "isPure": false, @@ -151744,46 +170719,46 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "144520:61:10", + "src": "144520:61:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_address_$", "typeString": "tuple(bool,address)" } }, - "functionReturnParameters": 4929, - "id": 4936, + "functionReturnParameters": 6535, + "id": 6542, "nodeType": "Return", - "src": "144513:68:10" + "src": "144513:68:23" } ] }, "documentation": { - "id": 4917, + "id": 6523, "nodeType": "StructuredDocumentation", - "src": "144102:221:10", + "src": "144102:221:23", "text": "@dev Creates a deterministic ERC1967I beacon proxy with `args` and `salt`.\n Note: This method is intended for use in ERC4337 factories,\n which are expected to NOT revert if the proxy is already deployed." }, - "id": 4938, + "id": 6544, "implemented": true, "kind": "function", "modifiers": [], "name": "createDeterministicERC1967IBeaconProxy", - "nameLocation": "144337:38:10", + "nameLocation": "144337:38:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4924, + "id": 6530, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4919, + "id": 6525, "mutability": "mutable", "name": "beacon", - "nameLocation": "144384:6:10", + "nameLocation": "144384:6:23", "nodeType": "VariableDeclaration", - "scope": 4938, - "src": "144376:14:10", + "scope": 6544, + "src": "144376:14:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -151791,10 +170766,10 @@ "typeString": "address" }, "typeName": { - "id": 4918, + "id": 6524, "name": "address", "nodeType": "ElementaryTypeName", - "src": "144376:7:10", + "src": "144376:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -151805,13 +170780,13 @@ }, { "constant": false, - "id": 4921, + "id": 6527, "mutability": "mutable", "name": "args", - "nameLocation": "144405:4:10", + "nameLocation": "144405:4:23", "nodeType": "VariableDeclaration", - "scope": 4938, - "src": "144392:17:10", + "scope": 6544, + "src": "144392:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -151819,10 +170794,10 @@ "typeString": "bytes" }, "typeName": { - "id": 4920, + "id": 6526, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "144392:5:10", + "src": "144392:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -151832,13 +170807,13 @@ }, { "constant": false, - "id": 4923, + "id": 6529, "mutability": "mutable", "name": "salt", - "nameLocation": "144419:4:10", + "nameLocation": "144419:4:23", "nodeType": "VariableDeclaration", - "scope": 4938, - "src": "144411:12:10", + "scope": 6544, + "src": "144411:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -151846,10 +170821,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4922, + "id": 6528, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "144411:7:10", + "src": "144411:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -151858,21 +170833,21 @@ "visibility": "internal" } ], - "src": "144375:49:10" + "src": "144375:49:23" }, "returnParameters": { - "id": 4929, + "id": 6535, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4926, + "id": 6532, "mutability": "mutable", "name": "alreadyDeployed", - "nameLocation": "144464:15:10", + "nameLocation": "144464:15:23", "nodeType": "VariableDeclaration", - "scope": 4938, - "src": "144459:20:10", + "scope": 6544, + "src": "144459:20:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -151880,10 +170855,10 @@ "typeString": "bool" }, "typeName": { - "id": 4925, + "id": 6531, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "144459:4:10", + "src": "144459:4:23", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -151893,13 +170868,13 @@ }, { "constant": false, - "id": 4928, + "id": 6534, "mutability": "mutable", "name": "instance", - "nameLocation": "144489:8:10", + "nameLocation": "144489:8:23", "nodeType": "VariableDeclaration", - "scope": 4938, - "src": "144481:16:10", + "scope": 6544, + "src": "144481:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -151907,10 +170882,10 @@ "typeString": "address" }, "typeName": { - "id": 4927, + "id": 6533, "name": "address", "nodeType": "ElementaryTypeName", - "src": "144481:7:10", + "src": "144481:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -151920,90 +170895,90 @@ "visibility": "internal" } ], - "src": "144458:40:10" + "src": "144458:40:23" }, - "scope": 5093, - "src": "144328:260:10", + "scope": 6699, + "src": "144328:260:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4955, + "id": 6561, "nodeType": "Block", - "src": "145076:1828:10", + "src": "145076:1828:23", "statements": [ { "AST": { - "nativeSrc": "145138:1760:10", + "nativeSrc": "145138:1760:23", "nodeType": "YulBlock", - "src": "145138:1760:10", + "src": "145138:1760:23", "statements": [ { - "nativeSrc": "145152:20:10", + "nativeSrc": "145152:20:23", "nodeType": "YulVariableDeclaration", - "src": "145152:20:10", + "src": "145152:20:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "145167:4:10", + "nativeSrc": "145167:4:23", "nodeType": "YulLiteral", - "src": "145167:4:10", + "src": "145167:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "145161:5:10", + "nativeSrc": "145161:5:23", "nodeType": "YulIdentifier", - "src": "145161:5:10" + "src": "145161:5:23" }, - "nativeSrc": "145161:11:10", + "nativeSrc": "145161:11:23", "nodeType": "YulFunctionCall", - "src": "145161:11:10" + "src": "145161:11:23" }, "variables": [ { "name": "m", - "nativeSrc": "145156:1:10", + "nativeSrc": "145156:1:23", "nodeType": "YulTypedName", - "src": "145156:1:10", + "src": "145156:1:23", "type": "" } ] }, { - "nativeSrc": "145185:20:10", + "nativeSrc": "145185:20:23", "nodeType": "YulVariableDeclaration", - "src": "145185:20:10", + "src": "145185:20:23", "value": { "arguments": [ { "name": "args", - "nativeSrc": "145200:4:10", + "nativeSrc": "145200:4:23", "nodeType": "YulIdentifier", - "src": "145200:4:10" + "src": "145200:4:23" } ], "functionName": { "name": "mload", - "nativeSrc": "145194:5:10", + "nativeSrc": "145194:5:23", "nodeType": "YulIdentifier", - "src": "145194:5:10" + "src": "145194:5:23" }, - "nativeSrc": "145194:11:10", + "nativeSrc": "145194:11:23", "nodeType": "YulFunctionCall", - "src": "145194:11:10" + "src": "145194:11:23" }, "variables": [ { "name": "n", - "nativeSrc": "145189:1:10", + "nativeSrc": "145189:1:23", "nodeType": "YulTypedName", - "src": "145189:1:10", + "src": "145189:1:23", "type": "" } ] @@ -152017,19 +170992,19 @@ "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "145233:3:10", + "nativeSrc": "145233:3:23", "nodeType": "YulIdentifier", - "src": "145233:3:10" + "src": "145233:3:23" }, - "nativeSrc": "145233:5:10", + "nativeSrc": "145233:5:23", "nodeType": "YulFunctionCall", - "src": "145233:5:10" + "src": "145233:5:23" }, { "kind": "number", - "nativeSrc": "145240:1:10", + "nativeSrc": "145240:1:23", "nodeType": "YulLiteral", - "src": "145240:1:10", + "src": "145240:1:23", "type": "", "value": "4" }, @@ -152037,93 +171012,93 @@ "arguments": [ { "name": "args", - "nativeSrc": "145247:4:10", + "nativeSrc": "145247:4:23", "nodeType": "YulIdentifier", - "src": "145247:4:10" + "src": "145247:4:23" }, { "kind": "number", - "nativeSrc": "145253:4:10", + "nativeSrc": "145253:4:23", "nodeType": "YulLiteral", - "src": "145253:4:10", + "src": "145253:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "145243:3:10", + "nativeSrc": "145243:3:23", "nodeType": "YulIdentifier", - "src": "145243:3:10" + "src": "145243:3:23" }, - "nativeSrc": "145243:15:10", + "nativeSrc": "145243:15:23", "nodeType": "YulFunctionCall", - "src": "145243:15:10" + "src": "145243:15:23" }, { "name": "n", - "nativeSrc": "145260:1:10", + "nativeSrc": "145260:1:23", "nodeType": "YulIdentifier", - "src": "145260:1:10" + "src": "145260:1:23" }, { "arguments": [ { "name": "m", - "nativeSrc": "145267:1:10", + "nativeSrc": "145267:1:23", "nodeType": "YulIdentifier", - "src": "145267:1:10" + "src": "145267:1:23" }, { "kind": "number", - "nativeSrc": "145270:4:10", + "nativeSrc": "145270:4:23", "nodeType": "YulLiteral", - "src": "145270:4:10", + "src": "145270:4:23", "type": "", "value": "0x90" } ], "functionName": { "name": "add", - "nativeSrc": "145263:3:10", + "nativeSrc": "145263:3:23", "nodeType": "YulIdentifier", - "src": "145263:3:10" + "src": "145263:3:23" }, - "nativeSrc": "145263:12:10", + "nativeSrc": "145263:12:23", "nodeType": "YulFunctionCall", - "src": "145263:12:10" + "src": "145263:12:23" }, { "name": "n", - "nativeSrc": "145277:1:10", + "nativeSrc": "145277:1:23", "nodeType": "YulIdentifier", - "src": "145277:1:10" + "src": "145277:1:23" } ], "functionName": { "name": "staticcall", - "nativeSrc": "145222:10:10", + "nativeSrc": "145222:10:23", "nodeType": "YulIdentifier", - "src": "145222:10:10" + "src": "145222:10:23" }, - "nativeSrc": "145222:57:10", + "nativeSrc": "145222:57:23", "nodeType": "YulFunctionCall", - "src": "145222:57:10" + "src": "145222:57:23" } ], "functionName": { "name": "pop", - "nativeSrc": "145218:3:10", + "nativeSrc": "145218:3:23", "nodeType": "YulIdentifier", - "src": "145218:3:10" + "src": "145218:3:23" }, - "nativeSrc": "145218:62:10", + "nativeSrc": "145218:62:23", "nodeType": "YulFunctionCall", - "src": "145218:62:10" + "src": "145218:62:23" }, - "nativeSrc": "145218:62:10", + "nativeSrc": "145218:62:23", "nodeType": "YulExpressionStatement", - "src": "145218:62:10" + "src": "145218:62:23" }, { "expression": { @@ -152132,51 +171107,51 @@ "arguments": [ { "name": "m", - "nativeSrc": "145304:1:10", + "nativeSrc": "145304:1:23", "nodeType": "YulIdentifier", - "src": "145304:1:10" + "src": "145304:1:23" }, { "kind": "number", - "nativeSrc": "145307:4:10", + "nativeSrc": "145307:4:23", "nodeType": "YulLiteral", - "src": "145307:4:10", + "src": "145307:4:23", "type": "", "value": "0x70" } ], "functionName": { "name": "add", - "nativeSrc": "145300:3:10", + "nativeSrc": "145300:3:23", "nodeType": "YulIdentifier", - "src": "145300:3:10" + "src": "145300:3:23" }, - "nativeSrc": "145300:12:10", + "nativeSrc": "145300:12:23", "nodeType": "YulFunctionCall", - "src": "145300:12:10" + "src": "145300:12:23" }, { "kind": "number", - "nativeSrc": "145314:66:10", + "nativeSrc": "145314:66:23", "nodeType": "YulLiteral", - "src": "145314:66:10", + "src": "145314:66:23", "type": "", "value": "0x3d50545afa361460525736515af43d600060013e6052573d6001fd5b3d6001f3" } ], "functionName": { "name": "mstore", - "nativeSrc": "145293:6:10", + "nativeSrc": "145293:6:23", "nodeType": "YulIdentifier", - "src": "145293:6:10" + "src": "145293:6:23" }, - "nativeSrc": "145293:88:10", + "nativeSrc": "145293:88:23", "nodeType": "YulFunctionCall", - "src": "145293:88:10" + "src": "145293:88:23" }, - "nativeSrc": "145293:88:10", + "nativeSrc": "145293:88:23", "nodeType": "YulExpressionStatement", - "src": "145293:88:10" + "src": "145293:88:23" }, { "expression": { @@ -152185,51 +171160,51 @@ "arguments": [ { "name": "m", - "nativeSrc": "145405:1:10", + "nativeSrc": "145405:1:23", "nodeType": "YulIdentifier", - "src": "145405:1:10" + "src": "145405:1:23" }, { "kind": "number", - "nativeSrc": "145408:4:10", + "nativeSrc": "145408:4:23", "nodeType": "YulLiteral", - "src": "145408:4:10", + "src": "145408:4:23", "type": "", "value": "0x50" } ], "functionName": { "name": "add", - "nativeSrc": "145401:3:10", + "nativeSrc": "145401:3:23", "nodeType": "YulIdentifier", - "src": "145401:3:10" + "src": "145401:3:23" }, - "nativeSrc": "145401:12:10", + "nativeSrc": "145401:12:23", "nodeType": "YulFunctionCall", - "src": "145401:12:10" + "src": "145401:12:23" }, { "kind": "number", - "nativeSrc": "145415:66:10", + "nativeSrc": "145415:66:23", "nodeType": "YulLiteral", - "src": "145415:66:10", + "src": "145415:66:23", "type": "", "value": "0x527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b3513" } ], "functionName": { "name": "mstore", - "nativeSrc": "145394:6:10", + "nativeSrc": "145394:6:23", "nodeType": "YulIdentifier", - "src": "145394:6:10" + "src": "145394:6:23" }, - "nativeSrc": "145394:88:10", + "nativeSrc": "145394:88:23", "nodeType": "YulFunctionCall", - "src": "145394:88:10" + "src": "145394:88:23" }, - "nativeSrc": "145394:88:10", + "nativeSrc": "145394:88:23", "nodeType": "YulExpressionStatement", - "src": "145394:88:10" + "src": "145394:88:23" }, { "expression": { @@ -152238,51 +171213,51 @@ "arguments": [ { "name": "m", - "nativeSrc": "145506:1:10", + "nativeSrc": "145506:1:23", "nodeType": "YulIdentifier", - "src": "145506:1:10" + "src": "145506:1:23" }, { "kind": "number", - "nativeSrc": "145509:4:10", + "nativeSrc": "145509:4:23", "nodeType": "YulLiteral", - "src": "145509:4:10", + "src": "145509:4:23", "type": "", "value": "0x30" } ], "functionName": { "name": "add", - "nativeSrc": "145502:3:10", + "nativeSrc": "145502:3:23", "nodeType": "YulIdentifier", - "src": "145502:3:10" + "src": "145502:3:23" }, - "nativeSrc": "145502:12:10", + "nativeSrc": "145502:12:23", "nodeType": "YulFunctionCall", - "src": "145502:12:10" + "src": "145502:12:23" }, { "kind": "number", - "nativeSrc": "145516:58:10", + "nativeSrc": "145516:58:23", "nodeType": "YulLiteral", - "src": "145516:58:10", + "src": "145516:58:23", "type": "", "value": "0x60195155f3363d3d373d3d363d602036600436635c60da1b60e01b36" } ], "functionName": { "name": "mstore", - "nativeSrc": "145495:6:10", + "nativeSrc": "145495:6:23", "nodeType": "YulIdentifier", - "src": "145495:6:10" + "src": "145495:6:23" }, - "nativeSrc": "145495:80:10", + "nativeSrc": "145495:80:23", "nodeType": "YulFunctionCall", - "src": "145495:80:10" + "src": "145495:80:23" }, - "nativeSrc": "145495:80:10", + "nativeSrc": "145495:80:23", "nodeType": "YulExpressionStatement", - "src": "145495:80:10" + "src": "145495:80:23" }, { "expression": { @@ -152291,49 +171266,49 @@ "arguments": [ { "name": "m", - "nativeSrc": "145599:1:10", + "nativeSrc": "145599:1:23", "nodeType": "YulIdentifier", - "src": "145599:1:10" + "src": "145599:1:23" }, { "kind": "number", - "nativeSrc": "145602:4:10", + "nativeSrc": "145602:4:23", "nodeType": "YulLiteral", - "src": "145602:4:10", + "src": "145602:4:23", "type": "", "value": "0x14" } ], "functionName": { "name": "add", - "nativeSrc": "145595:3:10", + "nativeSrc": "145595:3:23", "nodeType": "YulIdentifier", - "src": "145595:3:10" + "src": "145595:3:23" }, - "nativeSrc": "145595:12:10", + "nativeSrc": "145595:12:23", "nodeType": "YulFunctionCall", - "src": "145595:12:10" + "src": "145595:12:23" }, { "name": "beacon", - "nativeSrc": "145609:6:10", + "nativeSrc": "145609:6:23", "nodeType": "YulIdentifier", - "src": "145609:6:10" + "src": "145609:6:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "145588:6:10", + "nativeSrc": "145588:6:23", "nodeType": "YulIdentifier", - "src": "145588:6:10" + "src": "145588:6:23" }, - "nativeSrc": "145588:28:10", + "nativeSrc": "145588:28:23", "nodeType": "YulFunctionCall", - "src": "145588:28:10" + "src": "145588:28:23" }, - "nativeSrc": "145588:28:10", + "nativeSrc": "145588:28:23", "nodeType": "YulExpressionStatement", - "src": "145588:28:10" + "src": "145588:28:23" }, { "expression": { @@ -152342,55 +171317,55 @@ "arguments": [ { "name": "m", - "nativeSrc": "145727:1:10", + "nativeSrc": "145727:1:23", "nodeType": "YulIdentifier", - "src": "145727:1:10" + "src": "145727:1:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "145733:1:10", + "nativeSrc": "145733:1:23", "nodeType": "YulIdentifier", - "src": "145733:1:10" + "src": "145733:1:23" }, { "kind": "number", - "nativeSrc": "145736:6:10", + "nativeSrc": "145736:6:23", "nodeType": "YulLiteral", - "src": "145736:6:10", + "src": "145736:6:23", "type": "", "value": "0xffa8" } ], "functionName": { "name": "gt", - "nativeSrc": "145730:2:10", + "nativeSrc": "145730:2:23", "nodeType": "YulIdentifier", - "src": "145730:2:10" + "src": "145730:2:23" }, - "nativeSrc": "145730:13:10", + "nativeSrc": "145730:13:23", "nodeType": "YulFunctionCall", - "src": "145730:13:10" + "src": "145730:13:23" } ], "functionName": { "name": "add", - "nativeSrc": "145723:3:10", + "nativeSrc": "145723:3:23", "nodeType": "YulIdentifier", - "src": "145723:3:10" + "src": "145723:3:23" }, - "nativeSrc": "145723:21:10", + "nativeSrc": "145723:21:23", "nodeType": "YulFunctionCall", - "src": "145723:21:10" + "src": "145723:21:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "145750:24:10", + "nativeSrc": "145750:24:23", "nodeType": "YulLiteral", - "src": "145750:24:10", + "src": "145750:24:23", "type": "", "value": "0xfe6100573d8160233d3973" }, @@ -152398,97 +171373,97 @@ "arguments": [ { "kind": "number", - "nativeSrc": "145780:2:10", + "nativeSrc": "145780:2:23", "nodeType": "YulLiteral", - "src": "145780:2:10", + "src": "145780:2:23", "type": "", "value": "56" }, { "name": "n", - "nativeSrc": "145784:1:10", + "nativeSrc": "145784:1:23", "nodeType": "YulIdentifier", - "src": "145784:1:10" + "src": "145784:1:23" } ], "functionName": { "name": "shl", - "nativeSrc": "145776:3:10", + "nativeSrc": "145776:3:23", "nodeType": "YulIdentifier", - "src": "145776:3:10" + "src": "145776:3:23" }, - "nativeSrc": "145776:10:10", + "nativeSrc": "145776:10:23", "nodeType": "YulFunctionCall", - "src": "145776:10:10" + "src": "145776:10:23" } ], "functionName": { "name": "add", - "nativeSrc": "145746:3:10", + "nativeSrc": "145746:3:23", "nodeType": "YulIdentifier", - "src": "145746:3:10" + "src": "145746:3:23" }, - "nativeSrc": "145746:41:10", + "nativeSrc": "145746:41:23", "nodeType": "YulFunctionCall", - "src": "145746:41:10" + "src": "145746:41:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "145716:6:10", + "nativeSrc": "145716:6:23", "nodeType": "YulIdentifier", - "src": "145716:6:10" + "src": "145716:6:23" }, - "nativeSrc": "145716:72:10", + "nativeSrc": "145716:72:23", "nodeType": "YulFunctionCall", - "src": "145716:72:10" + "src": "145716:72:23" }, - "nativeSrc": "145716:72:10", + "nativeSrc": "145716:72:23", "nodeType": "YulExpressionStatement", - "src": "145716:72:10" + "src": "145716:72:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "145861:4:10", + "nativeSrc": "145861:4:23", "nodeType": "YulLiteral", - "src": "145861:4:10", + "src": "145861:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "145867:4:10", + "nativeSrc": "145867:4:23", "nodeType": "YulLiteral", - "src": "145867:4:10", + "src": "145867:4:23", "type": "", "value": "0xff" } ], "functionName": { "name": "mstore8", - "nativeSrc": "145853:7:10", + "nativeSrc": "145853:7:23", "nodeType": "YulIdentifier", - "src": "145853:7:10" + "src": "145853:7:23" }, - "nativeSrc": "145853:19:10", + "nativeSrc": "145853:19:23", "nodeType": "YulFunctionCall", - "src": "145853:19:10" + "src": "145853:19:23" }, - "nativeSrc": "145853:19:10", + "nativeSrc": "145853:19:23", "nodeType": "YulExpressionStatement", - "src": "145853:19:10" + "src": "145853:19:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "145913:4:10", + "nativeSrc": "145913:4:23", "nodeType": "YulLiteral", - "src": "145913:4:10", + "src": "145913:4:23", "type": "", "value": "0x35" }, @@ -152498,90 +171473,90 @@ "arguments": [ { "name": "m", - "nativeSrc": "145933:1:10", + "nativeSrc": "145933:1:23", "nodeType": "YulIdentifier", - "src": "145933:1:10" + "src": "145933:1:23" }, { "kind": "number", - "nativeSrc": "145936:4:10", + "nativeSrc": "145936:4:23", "nodeType": "YulLiteral", - "src": "145936:4:10", + "src": "145936:4:23", "type": "", "value": "0x16" } ], "functionName": { "name": "add", - "nativeSrc": "145929:3:10", + "nativeSrc": "145929:3:23", "nodeType": "YulIdentifier", - "src": "145929:3:10" + "src": "145929:3:23" }, - "nativeSrc": "145929:12:10", + "nativeSrc": "145929:12:23", "nodeType": "YulFunctionCall", - "src": "145929:12:10" + "src": "145929:12:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "145947:1:10", + "nativeSrc": "145947:1:23", "nodeType": "YulIdentifier", - "src": "145947:1:10" + "src": "145947:1:23" }, { "kind": "number", - "nativeSrc": "145950:4:10", + "nativeSrc": "145950:4:23", "nodeType": "YulLiteral", - "src": "145950:4:10", + "src": "145950:4:23", "type": "", "value": "0x7a" } ], "functionName": { "name": "add", - "nativeSrc": "145943:3:10", + "nativeSrc": "145943:3:23", "nodeType": "YulIdentifier", - "src": "145943:3:10" + "src": "145943:3:23" }, - "nativeSrc": "145943:12:10", + "nativeSrc": "145943:12:23", "nodeType": "YulFunctionCall", - "src": "145943:12:10" + "src": "145943:12:23" } ], "functionName": { "name": "keccak256", - "nativeSrc": "145919:9:10", + "nativeSrc": "145919:9:23", "nodeType": "YulIdentifier", - "src": "145919:9:10" + "src": "145919:9:23" }, - "nativeSrc": "145919:37:10", + "nativeSrc": "145919:37:23", "nodeType": "YulFunctionCall", - "src": "145919:37:10" + "src": "145919:37:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "145906:6:10", + "nativeSrc": "145906:6:23", "nodeType": "YulIdentifier", - "src": "145906:6:10" + "src": "145906:6:23" }, - "nativeSrc": "145906:51:10", + "nativeSrc": "145906:51:23", "nodeType": "YulFunctionCall", - "src": "145906:51:10" + "src": "145906:51:23" }, - "nativeSrc": "145906:51:10", + "nativeSrc": "145906:51:23", "nodeType": "YulExpressionStatement", - "src": "145906:51:10" + "src": "145906:51:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "145977:4:10", + "nativeSrc": "145977:4:23", "nodeType": "YulLiteral", - "src": "145977:4:10", + "src": "145977:4:23", "type": "", "value": "0x01" }, @@ -152589,9 +171564,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "145987:2:10", + "nativeSrc": "145987:2:23", "nodeType": "YulLiteral", - "src": "145987:2:10", + "src": "145987:2:23", "type": "", "value": "96" }, @@ -152599,291 +171574,291 @@ "arguments": [], "functionName": { "name": "address", - "nativeSrc": "145991:7:10", + "nativeSrc": "145991:7:23", "nodeType": "YulIdentifier", - "src": "145991:7:10" + "src": "145991:7:23" }, - "nativeSrc": "145991:9:10", + "nativeSrc": "145991:9:23", "nodeType": "YulFunctionCall", - "src": "145991:9:10" + "src": "145991:9:23" } ], "functionName": { "name": "shl", - "nativeSrc": "145983:3:10", + "nativeSrc": "145983:3:23", "nodeType": "YulIdentifier", - "src": "145983:3:10" + "src": "145983:3:23" }, - "nativeSrc": "145983:18:10", + "nativeSrc": "145983:18:23", "nodeType": "YulFunctionCall", - "src": "145983:18:10" + "src": "145983:18:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "145970:6:10", + "nativeSrc": "145970:6:23", "nodeType": "YulIdentifier", - "src": "145970:6:10" + "src": "145970:6:23" }, - "nativeSrc": "145970:32:10", + "nativeSrc": "145970:32:23", "nodeType": "YulFunctionCall", - "src": "145970:32:10" + "src": "145970:32:23" }, - "nativeSrc": "145970:32:10", + "nativeSrc": "145970:32:23", "nodeType": "YulExpressionStatement", - "src": "145970:32:10" + "src": "145970:32:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "146022:4:10", + "nativeSrc": "146022:4:23", "nodeType": "YulLiteral", - "src": "146022:4:10", + "src": "146022:4:23", "type": "", "value": "0x15" }, { "name": "salt", - "nativeSrc": "146028:4:10", + "nativeSrc": "146028:4:23", "nodeType": "YulIdentifier", - "src": "146028:4:10" + "src": "146028:4:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "146015:6:10", + "nativeSrc": "146015:6:23", "nodeType": "YulIdentifier", - "src": "146015:6:10" + "src": "146015:6:23" }, - "nativeSrc": "146015:18:10", + "nativeSrc": "146015:18:23", "nodeType": "YulFunctionCall", - "src": "146015:18:10" + "src": "146015:18:23" }, - "nativeSrc": "146015:18:10", + "nativeSrc": "146015:18:23", "nodeType": "YulExpressionStatement", - "src": "146015:18:10" + "src": "146015:18:23" }, { - "nativeSrc": "146046:33:10", + "nativeSrc": "146046:33:23", "nodeType": "YulAssignment", - "src": "146046:33:10", + "src": "146046:33:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "146068:4:10", + "nativeSrc": "146068:4:23", "nodeType": "YulLiteral", - "src": "146068:4:10", + "src": "146068:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "146074:4:10", + "nativeSrc": "146074:4:23", "nodeType": "YulLiteral", - "src": "146074:4:10", + "src": "146074:4:23", "type": "", "value": "0x55" } ], "functionName": { "name": "keccak256", - "nativeSrc": "146058:9:10", + "nativeSrc": "146058:9:23", "nodeType": "YulIdentifier", - "src": "146058:9:10" + "src": "146058:9:23" }, - "nativeSrc": "146058:21:10", + "nativeSrc": "146058:21:23", "nodeType": "YulFunctionCall", - "src": "146058:21:10" + "src": "146058:21:23" }, "variableNames": [ { "name": "instance", - "nativeSrc": "146046:8:10", + "nativeSrc": "146046:8:23", "nodeType": "YulIdentifier", - "src": "146046:8:10" + "src": "146046:8:23" } ] }, { "body": { - "nativeSrc": "146104:696:10", + "nativeSrc": "146104:696:23", "nodeType": "YulBlock", - "src": "146104:696:10", + "src": "146104:696:23", "statements": [ { "body": { - "nativeSrc": "146155:307:10", + "nativeSrc": "146155:307:23", "nodeType": "YulBlock", - "src": "146155:307:10", + "src": "146155:307:23", "statements": [ { - "nativeSrc": "146177:60:10", + "nativeSrc": "146177:60:23", "nodeType": "YulAssignment", - "src": "146177:60:10", + "src": "146177:60:23", "value": { "arguments": [ { "name": "value", - "nativeSrc": "146197:5:10", + "nativeSrc": "146197:5:23", "nodeType": "YulIdentifier", - "src": "146197:5:10" + "src": "146197:5:23" }, { "arguments": [ { "name": "m", - "nativeSrc": "146208:1:10", + "nativeSrc": "146208:1:23", "nodeType": "YulIdentifier", - "src": "146208:1:10" + "src": "146208:1:23" }, { "kind": "number", - "nativeSrc": "146211:4:10", + "nativeSrc": "146211:4:23", "nodeType": "YulLiteral", - "src": "146211:4:10", + "src": "146211:4:23", "type": "", "value": "0x16" } ], "functionName": { "name": "add", - "nativeSrc": "146204:3:10", + "nativeSrc": "146204:3:23", "nodeType": "YulIdentifier", - "src": "146204:3:10" + "src": "146204:3:23" }, - "nativeSrc": "146204:12:10", + "nativeSrc": "146204:12:23", "nodeType": "YulFunctionCall", - "src": "146204:12:10" + "src": "146204:12:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "146222:1:10", + "nativeSrc": "146222:1:23", "nodeType": "YulIdentifier", - "src": "146222:1:10" + "src": "146222:1:23" }, { "kind": "number", - "nativeSrc": "146225:4:10", + "nativeSrc": "146225:4:23", "nodeType": "YulLiteral", - "src": "146225:4:10", + "src": "146225:4:23", "type": "", "value": "0x7a" } ], "functionName": { "name": "add", - "nativeSrc": "146218:3:10", + "nativeSrc": "146218:3:23", "nodeType": "YulIdentifier", - "src": "146218:3:10" + "src": "146218:3:23" }, - "nativeSrc": "146218:12:10", + "nativeSrc": "146218:12:23", "nodeType": "YulFunctionCall", - "src": "146218:12:10" + "src": "146218:12:23" }, { "name": "salt", - "nativeSrc": "146232:4:10", + "nativeSrc": "146232:4:23", "nodeType": "YulIdentifier", - "src": "146232:4:10" + "src": "146232:4:23" } ], "functionName": { "name": "create2", - "nativeSrc": "146189:7:10", + "nativeSrc": "146189:7:23", "nodeType": "YulIdentifier", - "src": "146189:7:10" + "src": "146189:7:23" }, - "nativeSrc": "146189:48:10", + "nativeSrc": "146189:48:23", "nodeType": "YulFunctionCall", - "src": "146189:48:10" + "src": "146189:48:23" }, "variableNames": [ { "name": "instance", - "nativeSrc": "146177:8:10", + "nativeSrc": "146177:8:23", "nodeType": "YulIdentifier", - "src": "146177:8:10" + "src": "146177:8:23" } ] }, { "body": { - "nativeSrc": "146278:140:10", + "nativeSrc": "146278:140:23", "nodeType": "YulBlock", - "src": "146278:140:10", + "src": "146278:140:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "146311:4:10", + "nativeSrc": "146311:4:23", "nodeType": "YulLiteral", - "src": "146311:4:10", + "src": "146311:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "146317:10:10", + "nativeSrc": "146317:10:23", "nodeType": "YulLiteral", - "src": "146317:10:10", + "src": "146317:10:23", "type": "", "value": "0x30116425" } ], "functionName": { "name": "mstore", - "nativeSrc": "146304:6:10", + "nativeSrc": "146304:6:23", "nodeType": "YulIdentifier", - "src": "146304:6:10" + "src": "146304:6:23" }, - "nativeSrc": "146304:24:10", + "nativeSrc": "146304:24:23", "nodeType": "YulFunctionCall", - "src": "146304:24:10" + "src": "146304:24:23" }, - "nativeSrc": "146304:24:10", + "nativeSrc": "146304:24:23", "nodeType": "YulExpressionStatement", - "src": "146304:24:10" + "src": "146304:24:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "146385:4:10", + "nativeSrc": "146385:4:23", "nodeType": "YulLiteral", - "src": "146385:4:10", + "src": "146385:4:23", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "146391:4:10", + "nativeSrc": "146391:4:23", "nodeType": "YulLiteral", - "src": "146391:4:10", + "src": "146391:4:23", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "146378:6:10", + "nativeSrc": "146378:6:23", "nodeType": "YulIdentifier", - "src": "146378:6:10" + "src": "146378:6:23" }, - "nativeSrc": "146378:18:10", + "nativeSrc": "146378:18:23", "nodeType": "YulFunctionCall", - "src": "146378:18:10" + "src": "146378:18:23" }, - "nativeSrc": "146378:18:10", + "nativeSrc": "146378:18:23", "nodeType": "YulExpressionStatement", - "src": "146378:18:10" + "src": "146378:18:23" } ] }, @@ -152891,29 +171866,29 @@ "arguments": [ { "name": "instance", - "nativeSrc": "146268:8:10", + "nativeSrc": "146268:8:23", "nodeType": "YulIdentifier", - "src": "146268:8:10" + "src": "146268:8:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "146261:6:10", + "nativeSrc": "146261:6:23", "nodeType": "YulIdentifier", - "src": "146261:6:10" + "src": "146261:6:23" }, - "nativeSrc": "146261:16:10", + "nativeSrc": "146261:16:23", "nodeType": "YulFunctionCall", - "src": "146261:16:10" + "src": "146261:16:23" }, - "nativeSrc": "146258:160:10", + "nativeSrc": "146258:160:23", "nodeType": "YulIf", - "src": "146258:160:10" + "src": "146258:160:23" }, { - "nativeSrc": "146439:5:10", + "nativeSrc": "146439:5:23", "nodeType": "YulBreak", - "src": "146439:5:10" + "src": "146439:5:23" } ] }, @@ -152923,67 +171898,67 @@ "arguments": [ { "name": "instance", - "nativeSrc": "146144:8:10", + "nativeSrc": "146144:8:23", "nodeType": "YulIdentifier", - "src": "146144:8:10" + "src": "146144:8:23" } ], "functionName": { "name": "extcodesize", - "nativeSrc": "146132:11:10", + "nativeSrc": "146132:11:23", "nodeType": "YulIdentifier", - "src": "146132:11:10" + "src": "146132:11:23" }, - "nativeSrc": "146132:21:10", + "nativeSrc": "146132:21:23", "nodeType": "YulFunctionCall", - "src": "146132:21:10" + "src": "146132:21:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "146125:6:10", + "nativeSrc": "146125:6:23", "nodeType": "YulIdentifier", - "src": "146125:6:10" + "src": "146125:6:23" }, - "nativeSrc": "146125:29:10", + "nativeSrc": "146125:29:23", "nodeType": "YulFunctionCall", - "src": "146125:29:10" + "src": "146125:29:23" }, - "nativeSrc": "146122:340:10", + "nativeSrc": "146122:340:23", "nodeType": "YulIf", - "src": "146122:340:10" + "src": "146122:340:23" }, { - "nativeSrc": "146479:20:10", + "nativeSrc": "146479:20:23", "nodeType": "YulAssignment", - "src": "146479:20:10", + "src": "146479:20:23", "value": { "kind": "number", - "nativeSrc": "146498:1:10", + "nativeSrc": "146498:1:23", "nodeType": "YulLiteral", - "src": "146498:1:10", + "src": "146498:1:23", "type": "", "value": "1" }, "variableNames": [ { "name": "alreadyDeployed", - "nativeSrc": "146479:15:10", + "nativeSrc": "146479:15:23", "nodeType": "YulIdentifier", - "src": "146479:15:10" + "src": "146479:15:23" } ] }, { "body": { - "nativeSrc": "146533:9:10", + "nativeSrc": "146533:9:23", "nodeType": "YulBlock", - "src": "146533:9:10", + "src": "146533:9:23", "statements": [ { - "nativeSrc": "146535:5:10", + "nativeSrc": "146535:5:23", "nodeType": "YulBreak", - "src": "146535:5:10" + "src": "146535:5:23" } ] }, @@ -152991,98 +171966,98 @@ "arguments": [ { "name": "value", - "nativeSrc": "146526:5:10", + "nativeSrc": "146526:5:23", "nodeType": "YulIdentifier", - "src": "146526:5:10" + "src": "146526:5:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "146519:6:10", + "nativeSrc": "146519:6:23", "nodeType": "YulIdentifier", - "src": "146519:6:10" + "src": "146519:6:23" }, - "nativeSrc": "146519:13:10", + "nativeSrc": "146519:13:23", "nodeType": "YulFunctionCall", - "src": "146519:13:10" + "src": "146519:13:23" }, - "nativeSrc": "146516:26:10", + "nativeSrc": "146516:26:23", "nodeType": "YulIf", - "src": "146516:26:10" + "src": "146516:26:23" }, { "body": { - "nativeSrc": "146635:129:10", + "nativeSrc": "146635:129:23", "nodeType": "YulBlock", - "src": "146635:129:10", + "src": "146635:129:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "146664:4:10", + "nativeSrc": "146664:4:23", "nodeType": "YulLiteral", - "src": "146664:4:10", + "src": "146664:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "146670:10:10", + "nativeSrc": "146670:10:23", "nodeType": "YulLiteral", - "src": "146670:10:10", + "src": "146670:10:23", "type": "", "value": "0xb12d13eb" } ], "functionName": { "name": "mstore", - "nativeSrc": "146657:6:10", + "nativeSrc": "146657:6:23", "nodeType": "YulIdentifier", - "src": "146657:6:10" + "src": "146657:6:23" }, - "nativeSrc": "146657:24:10", + "nativeSrc": "146657:24:23", "nodeType": "YulFunctionCall", - "src": "146657:24:10" + "src": "146657:24:23" }, - "nativeSrc": "146657:24:10", + "nativeSrc": "146657:24:23", "nodeType": "YulExpressionStatement", - "src": "146657:24:10" + "src": "146657:24:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "146735:4:10", + "nativeSrc": "146735:4:23", "nodeType": "YulLiteral", - "src": "146735:4:10", + "src": "146735:4:23", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "146741:4:10", + "nativeSrc": "146741:4:23", "nodeType": "YulLiteral", - "src": "146741:4:10", + "src": "146741:4:23", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "146728:6:10", + "nativeSrc": "146728:6:23", "nodeType": "YulIdentifier", - "src": "146728:6:10" + "src": "146728:6:23" }, - "nativeSrc": "146728:18:10", + "nativeSrc": "146728:18:23", "nodeType": "YulFunctionCall", - "src": "146728:18:10" + "src": "146728:18:23" }, - "nativeSrc": "146728:18:10", + "nativeSrc": "146728:18:23", "nodeType": "YulExpressionStatement", - "src": "146728:18:10" + "src": "146728:18:23" } ] }, @@ -153094,43 +172069,43 @@ "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "146574:3:10", + "nativeSrc": "146574:3:23", "nodeType": "YulIdentifier", - "src": "146574:3:10" + "src": "146574:3:23" }, - "nativeSrc": "146574:5:10", + "nativeSrc": "146574:5:23", "nodeType": "YulFunctionCall", - "src": "146574:5:10" + "src": "146574:5:23" }, { "name": "instance", - "nativeSrc": "146581:8:10", + "nativeSrc": "146581:8:23", "nodeType": "YulIdentifier", - "src": "146581:8:10" + "src": "146581:8:23" }, { "name": "value", - "nativeSrc": "146591:5:10", + "nativeSrc": "146591:5:23", "nodeType": "YulIdentifier", - "src": "146591:5:10" + "src": "146591:5:23" }, { "arguments": [], "functionName": { "name": "codesize", - "nativeSrc": "146598:8:10", + "nativeSrc": "146598:8:23", "nodeType": "YulIdentifier", - "src": "146598:8:10" + "src": "146598:8:23" }, - "nativeSrc": "146598:10:10", + "nativeSrc": "146598:10:23", "nodeType": "YulFunctionCall", - "src": "146598:10:10" + "src": "146598:10:23" }, { "kind": "number", - "nativeSrc": "146610:4:10", + "nativeSrc": "146610:4:23", "nodeType": "YulLiteral", - "src": "146610:4:10", + "src": "146610:4:23", "type": "", "value": "0x00" }, @@ -153138,112 +172113,112 @@ "arguments": [], "functionName": { "name": "codesize", - "nativeSrc": "146616:8:10", + "nativeSrc": "146616:8:23", "nodeType": "YulIdentifier", - "src": "146616:8:10" + "src": "146616:8:23" }, - "nativeSrc": "146616:10:10", + "nativeSrc": "146616:10:23", "nodeType": "YulFunctionCall", - "src": "146616:10:10" + "src": "146616:10:23" }, { "kind": "number", - "nativeSrc": "146628:4:10", + "nativeSrc": "146628:4:23", "nodeType": "YulLiteral", - "src": "146628:4:10", + "src": "146628:4:23", "type": "", "value": "0x00" } ], "functionName": { "name": "call", - "nativeSrc": "146569:4:10", + "nativeSrc": "146569:4:23", "nodeType": "YulIdentifier", - "src": "146569:4:10" + "src": "146569:4:23" }, - "nativeSrc": "146569:64:10", + "nativeSrc": "146569:64:23", "nodeType": "YulFunctionCall", - "src": "146569:64:10" + "src": "146569:64:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "146562:6:10", + "nativeSrc": "146562:6:23", "nodeType": "YulIdentifier", - "src": "146562:6:10" + "src": "146562:6:23" }, - "nativeSrc": "146562:72:10", + "nativeSrc": "146562:72:23", "nodeType": "YulFunctionCall", - "src": "146562:72:10" + "src": "146562:72:23" }, - "nativeSrc": "146559:205:10", + "nativeSrc": "146559:205:23", "nodeType": "YulIf", - "src": "146559:205:10" + "src": "146559:205:23" }, { - "nativeSrc": "146781:5:10", + "nativeSrc": "146781:5:23", "nodeType": "YulBreak", - "src": "146781:5:10" + "src": "146781:5:23" } ] }, "condition": { "kind": "number", - "nativeSrc": "146099:1:10", + "nativeSrc": "146099:1:23", "nodeType": "YulLiteral", - "src": "146099:1:10", + "src": "146099:1:23", "type": "", "value": "1" }, - "nativeSrc": "146092:708:10", + "nativeSrc": "146092:708:23", "nodeType": "YulForLoop", "post": { - "nativeSrc": "146101:2:10", + "nativeSrc": "146101:2:23", "nodeType": "YulBlock", - "src": "146101:2:10", + "src": "146101:2:23", "statements": [] }, "pre": { - "nativeSrc": "146096:2:10", + "nativeSrc": "146096:2:23", "nodeType": "YulBlock", - "src": "146096:2:10", + "src": "146096:2:23", "statements": [] }, - "src": "146092:708:10" + "src": "146092:708:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "146820:4:10", + "nativeSrc": "146820:4:23", "nodeType": "YulLiteral", - "src": "146820:4:10", + "src": "146820:4:23", "type": "", "value": "0x35" }, { "kind": "number", - "nativeSrc": "146826:1:10", + "nativeSrc": "146826:1:23", "nodeType": "YulLiteral", - "src": "146826:1:10", + "src": "146826:1:23", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "146813:6:10", + "nativeSrc": "146813:6:23", "nodeType": "YulIdentifier", - "src": "146813:6:10" + "src": "146813:6:23" }, - "nativeSrc": "146813:15:10", + "nativeSrc": "146813:15:23", "nodeType": "YulFunctionCall", - "src": "146813:15:10" + "src": "146813:15:23" }, - "nativeSrc": "146813:15:10", + "nativeSrc": "146813:15:23", "nodeType": "YulExpressionStatement", - "src": "146813:15:10" + "src": "146813:15:23" } ] }, @@ -153251,136 +172226,136 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4950, + "declaration": 6556, "isOffset": false, "isSlot": false, - "src": "146479:15:10", + "src": "146479:15:23", "valueSize": 1 }, { - "declaration": 4945, + "declaration": 6551, "isOffset": false, "isSlot": false, - "src": "145200:4:10", + "src": "145200:4:23", "valueSize": 1 }, { - "declaration": 4945, + "declaration": 6551, "isOffset": false, "isSlot": false, - "src": "145247:4:10", + "src": "145247:4:23", "valueSize": 1 }, { - "declaration": 4943, + "declaration": 6549, "isOffset": false, "isSlot": false, - "src": "145609:6:10", + "src": "145609:6:23", "valueSize": 1 }, { - "declaration": 4952, + "declaration": 6558, "isOffset": false, "isSlot": false, - "src": "146046:8:10", + "src": "146046:8:23", "valueSize": 1 }, { - "declaration": 4952, + "declaration": 6558, "isOffset": false, "isSlot": false, - "src": "146144:8:10", + "src": "146144:8:23", "valueSize": 1 }, { - "declaration": 4952, + "declaration": 6558, "isOffset": false, "isSlot": false, - "src": "146177:8:10", + "src": "146177:8:23", "valueSize": 1 }, { - "declaration": 4952, + "declaration": 6558, "isOffset": false, "isSlot": false, - "src": "146268:8:10", + "src": "146268:8:23", "valueSize": 1 }, { - "declaration": 4952, + "declaration": 6558, "isOffset": false, "isSlot": false, - "src": "146581:8:10", + "src": "146581:8:23", "valueSize": 1 }, { - "declaration": 4947, + "declaration": 6553, "isOffset": false, "isSlot": false, - "src": "146028:4:10", + "src": "146028:4:23", "valueSize": 1 }, { - "declaration": 4947, + "declaration": 6553, "isOffset": false, "isSlot": false, - "src": "146232:4:10", + "src": "146232:4:23", "valueSize": 1 }, { - "declaration": 4941, + "declaration": 6547, "isOffset": false, "isSlot": false, - "src": "146197:5:10", + "src": "146197:5:23", "valueSize": 1 }, { - "declaration": 4941, + "declaration": 6547, "isOffset": false, "isSlot": false, - "src": "146526:5:10", + "src": "146526:5:23", "valueSize": 1 }, { - "declaration": 4941, + "declaration": 6547, "isOffset": false, "isSlot": false, - "src": "146591:5:10", + "src": "146591:5:23", "valueSize": 1 } ], - "id": 4954, + "id": 6560, "nodeType": "InlineAssembly", - "src": "145129:1769:10" + "src": "145129:1769:23" } ] }, "documentation": { - "id": 4939, + "id": 6545, "nodeType": "StructuredDocumentation", - "src": "144594:269:10", + "src": "144594:269:23", "text": "@dev Creates a deterministic ERC1967I beacon proxy with `args` and `salt`.\n Deposits `value` ETH during deployment.\n Note: This method is intended for use in ERC4337 factories,\n which are expected to NOT revert if the proxy is already deployed." }, - "id": 4956, + "id": 6562, "implemented": true, "kind": "function", "modifiers": [], "name": "createDeterministicERC1967IBeaconProxy", - "nameLocation": "144877:38:10", + "nameLocation": "144877:38:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4948, + "id": 6554, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4941, + "id": 6547, "mutability": "mutable", "name": "value", - "nameLocation": "144933:5:10", + "nameLocation": "144933:5:23", "nodeType": "VariableDeclaration", - "scope": 4956, - "src": "144925:13:10", + "scope": 6562, + "src": "144925:13:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -153388,10 +172363,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4940, + "id": 6546, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "144925:7:10", + "src": "144925:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -153401,13 +172376,13 @@ }, { "constant": false, - "id": 4943, + "id": 6549, "mutability": "mutable", "name": "beacon", - "nameLocation": "144956:6:10", + "nameLocation": "144956:6:23", "nodeType": "VariableDeclaration", - "scope": 4956, - "src": "144948:14:10", + "scope": 6562, + "src": "144948:14:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -153415,10 +172390,10 @@ "typeString": "address" }, "typeName": { - "id": 4942, + "id": 6548, "name": "address", "nodeType": "ElementaryTypeName", - "src": "144948:7:10", + "src": "144948:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -153429,13 +172404,13 @@ }, { "constant": false, - "id": 4945, + "id": 6551, "mutability": "mutable", "name": "args", - "nameLocation": "144985:4:10", + "nameLocation": "144985:4:23", "nodeType": "VariableDeclaration", - "scope": 4956, - "src": "144972:17:10", + "scope": 6562, + "src": "144972:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -153443,10 +172418,10 @@ "typeString": "bytes" }, "typeName": { - "id": 4944, + "id": 6550, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "144972:5:10", + "src": "144972:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -153456,13 +172431,13 @@ }, { "constant": false, - "id": 4947, + "id": 6553, "mutability": "mutable", "name": "salt", - "nameLocation": "145007:4:10", + "nameLocation": "145007:4:23", "nodeType": "VariableDeclaration", - "scope": 4956, - "src": "144999:12:10", + "scope": 6562, + "src": "144999:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -153470,10 +172445,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4946, + "id": 6552, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "144999:7:10", + "src": "144999:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -153482,21 +172457,21 @@ "visibility": "internal" } ], - "src": "144915:102:10" + "src": "144915:102:23" }, "returnParameters": { - "id": 4953, + "id": 6559, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4950, + "id": 6556, "mutability": "mutable", "name": "alreadyDeployed", - "nameLocation": "145041:15:10", + "nameLocation": "145041:15:23", "nodeType": "VariableDeclaration", - "scope": 4956, - "src": "145036:20:10", + "scope": 6562, + "src": "145036:20:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -153504,10 +172479,10 @@ "typeString": "bool" }, "typeName": { - "id": 4949, + "id": 6555, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "145036:4:10", + "src": "145036:4:23", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -153517,13 +172492,13 @@ }, { "constant": false, - "id": 4952, + "id": 6558, "mutability": "mutable", "name": "instance", - "nameLocation": "145066:8:10", + "nameLocation": "145066:8:23", "nodeType": "VariableDeclaration", - "scope": 4956, - "src": "145058:16:10", + "scope": 6562, + "src": "145058:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -153531,10 +172506,10 @@ "typeString": "address" }, "typeName": { - "id": 4951, + "id": 6557, "name": "address", "nodeType": "ElementaryTypeName", - "src": "145058:7:10", + "src": "145058:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -153544,89 +172519,89 @@ "visibility": "internal" } ], - "src": "145035:40:10" + "src": "145035:40:23" }, - "scope": 5093, - "src": "144868:2036:10", + "scope": 6699, + "src": "144868:2036:23", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4967, + "id": 6573, "nodeType": "Block", - "src": "147136:1039:10", + "src": "147136:1039:23", "statements": [ { "AST": { - "nativeSrc": "147198:971:10", + "nativeSrc": "147198:971:23", "nodeType": "YulBlock", - "src": "147198:971:10", + "src": "147198:971:23", "statements": [ { - "nativeSrc": "147212:16:10", + "nativeSrc": "147212:16:23", "nodeType": "YulAssignment", - "src": "147212:16:10", + "src": "147212:16:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "147223:4:10", + "nativeSrc": "147223:4:23", "nodeType": "YulLiteral", - "src": "147223:4:10", + "src": "147223:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "147217:5:10", + "nativeSrc": "147217:5:23", "nodeType": "YulIdentifier", - "src": "147217:5:10" + "src": "147217:5:23" }, - "nativeSrc": "147217:11:10", + "nativeSrc": "147217:11:23", "nodeType": "YulFunctionCall", - "src": "147217:11:10" + "src": "147217:11:23" }, "variableNames": [ { "name": "c", - "nativeSrc": "147212:1:10", + "nativeSrc": "147212:1:23", "nodeType": "YulIdentifier", - "src": "147212:1:10" + "src": "147212:1:23" } ] }, { - "nativeSrc": "147241:20:10", + "nativeSrc": "147241:20:23", "nodeType": "YulVariableDeclaration", - "src": "147241:20:10", + "src": "147241:20:23", "value": { "arguments": [ { "name": "args", - "nativeSrc": "147256:4:10", + "nativeSrc": "147256:4:23", "nodeType": "YulIdentifier", - "src": "147256:4:10" + "src": "147256:4:23" } ], "functionName": { "name": "mload", - "nativeSrc": "147250:5:10", + "nativeSrc": "147250:5:23", "nodeType": "YulIdentifier", - "src": "147250:5:10" + "src": "147250:5:23" }, - "nativeSrc": "147250:11:10", + "nativeSrc": "147250:11:23", "nodeType": "YulFunctionCall", - "src": "147250:11:10" + "src": "147250:11:23" }, "variables": [ { "name": "n", - "nativeSrc": "147245:1:10", + "nativeSrc": "147245:1:23", "nodeType": "YulTypedName", - "src": "147245:1:10", + "src": "147245:1:23", "type": "" } ] @@ -153638,73 +172613,73 @@ "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "147376:14:10", + "nativeSrc": "147376:14:23", "nodeType": "YulIdentifier", - "src": "147376:14:10" + "src": "147376:14:23" }, - "nativeSrc": "147376:16:10", + "nativeSrc": "147376:16:23", "nodeType": "YulFunctionCall", - "src": "147376:16:10" + "src": "147376:16:23" }, { "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "147394:14:10", + "nativeSrc": "147394:14:23", "nodeType": "YulIdentifier", - "src": "147394:14:10" + "src": "147394:14:23" }, - "nativeSrc": "147394:16:10", + "nativeSrc": "147394:16:23", "nodeType": "YulFunctionCall", - "src": "147394:16:10" + "src": "147394:16:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "147415:1:10", + "nativeSrc": "147415:1:23", "nodeType": "YulIdentifier", - "src": "147415:1:10" + "src": "147415:1:23" }, { "kind": "number", - "nativeSrc": "147418:6:10", + "nativeSrc": "147418:6:23", "nodeType": "YulLiteral", - "src": "147418:6:10", + "src": "147418:6:23", "type": "", "value": "0xffa8" } ], "functionName": { "name": "gt", - "nativeSrc": "147412:2:10", + "nativeSrc": "147412:2:23", "nodeType": "YulIdentifier", - "src": "147412:2:10" + "src": "147412:2:23" }, - "nativeSrc": "147412:13:10", + "nativeSrc": "147412:13:23", "nodeType": "YulFunctionCall", - "src": "147412:13:10" + "src": "147412:13:23" } ], "functionName": { "name": "returndatacopy", - "nativeSrc": "147361:14:10", + "nativeSrc": "147361:14:23", "nodeType": "YulIdentifier", - "src": "147361:14:10" + "src": "147361:14:23" }, - "nativeSrc": "147361:65:10", + "nativeSrc": "147361:65:23", "nodeType": "YulFunctionCall", - "src": "147361:65:10" + "src": "147361:65:23" }, - "nativeSrc": "147361:65:10", + "nativeSrc": "147361:65:23", "nodeType": "YulExpressionStatement", - "src": "147361:65:10" + "src": "147361:65:23" }, { "body": { - "nativeSrc": "147489:92:10", + "nativeSrc": "147489:92:23", "nodeType": "YulBlock", - "src": "147489:92:10", + "src": "147489:92:23", "statements": [ { "expression": { @@ -153715,45 +172690,45 @@ "arguments": [ { "name": "c", - "nativeSrc": "147522:1:10", + "nativeSrc": "147522:1:23", "nodeType": "YulIdentifier", - "src": "147522:1:10" + "src": "147522:1:23" }, { "kind": "number", - "nativeSrc": "147525:4:10", + "nativeSrc": "147525:4:23", "nodeType": "YulLiteral", - "src": "147525:4:10", + "src": "147525:4:23", "type": "", "value": "0x9a" } ], "functionName": { "name": "add", - "nativeSrc": "147518:3:10", + "nativeSrc": "147518:3:23", "nodeType": "YulIdentifier", - "src": "147518:3:10" + "src": "147518:3:23" }, - "nativeSrc": "147518:12:10", + "nativeSrc": "147518:12:23", "nodeType": "YulFunctionCall", - "src": "147518:12:10" + "src": "147518:12:23" }, { "name": "i", - "nativeSrc": "147532:1:10", + "nativeSrc": "147532:1:23", "nodeType": "YulIdentifier", - "src": "147532:1:10" + "src": "147532:1:23" } ], "functionName": { "name": "add", - "nativeSrc": "147514:3:10", + "nativeSrc": "147514:3:23", "nodeType": "YulIdentifier", - "src": "147514:3:10" + "src": "147514:3:23" }, - "nativeSrc": "147514:20:10", + "nativeSrc": "147514:20:23", "nodeType": "YulFunctionCall", - "src": "147514:20:10" + "src": "147514:20:23" }, { "arguments": [ @@ -153763,71 +172738,71 @@ "arguments": [ { "name": "args", - "nativeSrc": "147550:4:10", + "nativeSrc": "147550:4:23", "nodeType": "YulIdentifier", - "src": "147550:4:10" + "src": "147550:4:23" }, { "kind": "number", - "nativeSrc": "147556:4:10", + "nativeSrc": "147556:4:23", "nodeType": "YulLiteral", - "src": "147556:4:10", + "src": "147556:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "147546:3:10", + "nativeSrc": "147546:3:23", "nodeType": "YulIdentifier", - "src": "147546:3:10" + "src": "147546:3:23" }, - "nativeSrc": "147546:15:10", + "nativeSrc": "147546:15:23", "nodeType": "YulFunctionCall", - "src": "147546:15:10" + "src": "147546:15:23" }, { "name": "i", - "nativeSrc": "147563:1:10", + "nativeSrc": "147563:1:23", "nodeType": "YulIdentifier", - "src": "147563:1:10" + "src": "147563:1:23" } ], "functionName": { "name": "add", - "nativeSrc": "147542:3:10", + "nativeSrc": "147542:3:23", "nodeType": "YulIdentifier", - "src": "147542:3:10" + "src": "147542:3:23" }, - "nativeSrc": "147542:23:10", + "nativeSrc": "147542:23:23", "nodeType": "YulFunctionCall", - "src": "147542:23:10" + "src": "147542:23:23" } ], "functionName": { "name": "mload", - "nativeSrc": "147536:5:10", + "nativeSrc": "147536:5:23", "nodeType": "YulIdentifier", - "src": "147536:5:10" + "src": "147536:5:23" }, - "nativeSrc": "147536:30:10", + "nativeSrc": "147536:30:23", "nodeType": "YulFunctionCall", - "src": "147536:30:10" + "src": "147536:30:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "147507:6:10", + "nativeSrc": "147507:6:23", "nodeType": "YulIdentifier", - "src": "147507:6:10" + "src": "147507:6:23" }, - "nativeSrc": "147507:60:10", + "nativeSrc": "147507:60:23", "nodeType": "YulFunctionCall", - "src": "147507:60:10" + "src": "147507:60:23" }, - "nativeSrc": "147507:60:10", + "nativeSrc": "147507:60:23", "nodeType": "YulExpressionStatement", - "src": "147507:60:10" + "src": "147507:60:23" } ] }, @@ -153835,106 +172810,106 @@ "arguments": [ { "name": "i", - "nativeSrc": "147461:1:10", + "nativeSrc": "147461:1:23", "nodeType": "YulIdentifier", - "src": "147461:1:10" + "src": "147461:1:23" }, { "name": "n", - "nativeSrc": "147464:1:10", + "nativeSrc": "147464:1:23", "nodeType": "YulIdentifier", - "src": "147464:1:10" + "src": "147464:1:23" } ], "functionName": { "name": "lt", - "nativeSrc": "147458:2:10", + "nativeSrc": "147458:2:23", "nodeType": "YulIdentifier", - "src": "147458:2:10" + "src": "147458:2:23" }, - "nativeSrc": "147458:8:10", + "nativeSrc": "147458:8:23", "nodeType": "YulFunctionCall", - "src": "147458:8:10" + "src": "147458:8:23" }, - "nativeSrc": "147439:142:10", + "nativeSrc": "147439:142:23", "nodeType": "YulForLoop", "post": { - "nativeSrc": "147467:21:10", + "nativeSrc": "147467:21:23", "nodeType": "YulBlock", - "src": "147467:21:10", + "src": "147467:21:23", "statements": [ { - "nativeSrc": "147469:17:10", + "nativeSrc": "147469:17:23", "nodeType": "YulAssignment", - "src": "147469:17:10", + "src": "147469:17:23", "value": { "arguments": [ { "name": "i", - "nativeSrc": "147478:1:10", + "nativeSrc": "147478:1:23", "nodeType": "YulIdentifier", - "src": "147478:1:10" + "src": "147478:1:23" }, { "kind": "number", - "nativeSrc": "147481:4:10", + "nativeSrc": "147481:4:23", "nodeType": "YulLiteral", - "src": "147481:4:10", + "src": "147481:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "147474:3:10", + "nativeSrc": "147474:3:23", "nodeType": "YulIdentifier", - "src": "147474:3:10" + "src": "147474:3:23" }, - "nativeSrc": "147474:12:10", + "nativeSrc": "147474:12:23", "nodeType": "YulFunctionCall", - "src": "147474:12:10" + "src": "147474:12:23" }, "variableNames": [ { "name": "i", - "nativeSrc": "147469:1:10", + "nativeSrc": "147469:1:23", "nodeType": "YulIdentifier", - "src": "147469:1:10" + "src": "147469:1:23" } ] } ] }, "pre": { - "nativeSrc": "147443:14:10", + "nativeSrc": "147443:14:23", "nodeType": "YulBlock", - "src": "147443:14:10", + "src": "147443:14:23", "statements": [ { - "nativeSrc": "147445:10:10", + "nativeSrc": "147445:10:23", "nodeType": "YulVariableDeclaration", - "src": "147445:10:10", + "src": "147445:10:23", "value": { "kind": "number", - "nativeSrc": "147454:1:10", + "nativeSrc": "147454:1:23", "nodeType": "YulLiteral", - "src": "147454:1:10", + "src": "147454:1:23", "type": "", "value": "0" }, "variables": [ { "name": "i", - "nativeSrc": "147449:1:10", + "nativeSrc": "147449:1:23", "nodeType": "YulTypedName", - "src": "147449:1:10", + "src": "147449:1:23", "type": "" } ] } ] }, - "src": "147439:142:10" + "src": "147439:142:23" }, { "expression": { @@ -153943,51 +172918,51 @@ "arguments": [ { "name": "c", - "nativeSrc": "147605:1:10", + "nativeSrc": "147605:1:23", "nodeType": "YulIdentifier", - "src": "147605:1:10" + "src": "147605:1:23" }, { "kind": "number", - "nativeSrc": "147608:4:10", + "nativeSrc": "147608:4:23", "nodeType": "YulLiteral", - "src": "147608:4:10", + "src": "147608:4:23", "type": "", "value": "0x7a" } ], "functionName": { "name": "add", - "nativeSrc": "147601:3:10", + "nativeSrc": "147601:3:23", "nodeType": "YulIdentifier", - "src": "147601:3:10" + "src": "147601:3:23" }, - "nativeSrc": "147601:12:10", + "nativeSrc": "147601:12:23", "nodeType": "YulFunctionCall", - "src": "147601:12:10" + "src": "147601:12:23" }, { "kind": "number", - "nativeSrc": "147615:66:10", + "nativeSrc": "147615:66:23", "nodeType": "YulLiteral", - "src": "147615:66:10", + "src": "147615:66:23", "type": "", "value": "0x3d50545afa361460525736515af43d600060013e6052573d6001fd5b3d6001f3" } ], "functionName": { "name": "mstore", - "nativeSrc": "147594:6:10", + "nativeSrc": "147594:6:23", "nodeType": "YulIdentifier", - "src": "147594:6:10" + "src": "147594:6:23" }, - "nativeSrc": "147594:88:10", + "nativeSrc": "147594:88:23", "nodeType": "YulFunctionCall", - "src": "147594:88:10" + "src": "147594:88:23" }, - "nativeSrc": "147594:88:10", + "nativeSrc": "147594:88:23", "nodeType": "YulExpressionStatement", - "src": "147594:88:10" + "src": "147594:88:23" }, { "expression": { @@ -153996,51 +172971,51 @@ "arguments": [ { "name": "c", - "nativeSrc": "147706:1:10", + "nativeSrc": "147706:1:23", "nodeType": "YulIdentifier", - "src": "147706:1:10" + "src": "147706:1:23" }, { "kind": "number", - "nativeSrc": "147709:4:10", + "nativeSrc": "147709:4:23", "nodeType": "YulLiteral", - "src": "147709:4:10", + "src": "147709:4:23", "type": "", "value": "0x5a" } ], "functionName": { "name": "add", - "nativeSrc": "147702:3:10", + "nativeSrc": "147702:3:23", "nodeType": "YulIdentifier", - "src": "147702:3:10" + "src": "147702:3:23" }, - "nativeSrc": "147702:12:10", + "nativeSrc": "147702:12:23", "nodeType": "YulFunctionCall", - "src": "147702:12:10" + "src": "147702:12:23" }, { "kind": "number", - "nativeSrc": "147716:66:10", + "nativeSrc": "147716:66:23", "nodeType": "YulLiteral", - "src": "147716:66:10", + "src": "147716:66:23", "type": "", "value": "0x527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b3513" } ], "functionName": { "name": "mstore", - "nativeSrc": "147695:6:10", + "nativeSrc": "147695:6:23", "nodeType": "YulIdentifier", - "src": "147695:6:10" + "src": "147695:6:23" }, - "nativeSrc": "147695:88:10", + "nativeSrc": "147695:88:23", "nodeType": "YulFunctionCall", - "src": "147695:88:10" + "src": "147695:88:23" }, - "nativeSrc": "147695:88:10", + "nativeSrc": "147695:88:23", "nodeType": "YulExpressionStatement", - "src": "147695:88:10" + "src": "147695:88:23" }, { "expression": { @@ -154049,51 +173024,51 @@ "arguments": [ { "name": "c", - "nativeSrc": "147807:1:10", + "nativeSrc": "147807:1:23", "nodeType": "YulIdentifier", - "src": "147807:1:10" + "src": "147807:1:23" }, { "kind": "number", - "nativeSrc": "147810:4:10", + "nativeSrc": "147810:4:23", "nodeType": "YulLiteral", - "src": "147810:4:10", + "src": "147810:4:23", "type": "", "value": "0x3a" } ], "functionName": { "name": "add", - "nativeSrc": "147803:3:10", + "nativeSrc": "147803:3:23", "nodeType": "YulIdentifier", - "src": "147803:3:10" + "src": "147803:3:23" }, - "nativeSrc": "147803:12:10", + "nativeSrc": "147803:12:23", "nodeType": "YulFunctionCall", - "src": "147803:12:10" + "src": "147803:12:23" }, { "kind": "number", - "nativeSrc": "147817:58:10", + "nativeSrc": "147817:58:23", "nodeType": "YulLiteral", - "src": "147817:58:10", + "src": "147817:58:23", "type": "", "value": "0x60195155f3363d3d373d3d363d602036600436635c60da1b60e01b36" } ], "functionName": { "name": "mstore", - "nativeSrc": "147796:6:10", + "nativeSrc": "147796:6:23", "nodeType": "YulIdentifier", - "src": "147796:6:10" + "src": "147796:6:23" }, - "nativeSrc": "147796:80:10", + "nativeSrc": "147796:80:23", "nodeType": "YulFunctionCall", - "src": "147796:80:10" + "src": "147796:80:23" }, - "nativeSrc": "147796:80:10", + "nativeSrc": "147796:80:23", "nodeType": "YulExpressionStatement", - "src": "147796:80:10" + "src": "147796:80:23" }, { "expression": { @@ -154102,49 +173077,49 @@ "arguments": [ { "name": "c", - "nativeSrc": "147900:1:10", + "nativeSrc": "147900:1:23", "nodeType": "YulIdentifier", - "src": "147900:1:10" + "src": "147900:1:23" }, { "kind": "number", - "nativeSrc": "147903:4:10", + "nativeSrc": "147903:4:23", "nodeType": "YulLiteral", - "src": "147903:4:10", + "src": "147903:4:23", "type": "", "value": "0x1e" } ], "functionName": { "name": "add", - "nativeSrc": "147896:3:10", + "nativeSrc": "147896:3:23", "nodeType": "YulIdentifier", - "src": "147896:3:10" + "src": "147896:3:23" }, - "nativeSrc": "147896:12:10", + "nativeSrc": "147896:12:23", "nodeType": "YulFunctionCall", - "src": "147896:12:10" + "src": "147896:12:23" }, { "name": "beacon", - "nativeSrc": "147910:6:10", + "nativeSrc": "147910:6:23", "nodeType": "YulIdentifier", - "src": "147910:6:10" + "src": "147910:6:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "147889:6:10", + "nativeSrc": "147889:6:23", "nodeType": "YulIdentifier", - "src": "147889:6:10" + "src": "147889:6:23" }, - "nativeSrc": "147889:28:10", + "nativeSrc": "147889:28:23", "nodeType": "YulFunctionCall", - "src": "147889:28:10" + "src": "147889:28:23" }, - "nativeSrc": "147889:28:10", + "nativeSrc": "147889:28:23", "nodeType": "YulExpressionStatement", - "src": "147889:28:10" + "src": "147889:28:23" }, { "expression": { @@ -154153,36 +173128,36 @@ "arguments": [ { "name": "c", - "nativeSrc": "147941:1:10", + "nativeSrc": "147941:1:23", "nodeType": "YulIdentifier", - "src": "147941:1:10" + "src": "147941:1:23" }, { "kind": "number", - "nativeSrc": "147944:4:10", + "nativeSrc": "147944:4:23", "nodeType": "YulLiteral", - "src": "147944:4:10", + "src": "147944:4:23", "type": "", "value": "0x0a" } ], "functionName": { "name": "add", - "nativeSrc": "147937:3:10", + "nativeSrc": "147937:3:23", "nodeType": "YulIdentifier", - "src": "147937:3:10" + "src": "147937:3:23" }, - "nativeSrc": "147937:12:10", + "nativeSrc": "147937:12:23", "nodeType": "YulFunctionCall", - "src": "147937:12:10" + "src": "147937:12:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "147955:22:10", + "nativeSrc": "147955:22:23", "nodeType": "YulLiteral", - "src": "147955:22:10", + "src": "147955:22:23", "type": "", "value": "0x6100573d8160233d3973" }, @@ -154190,54 +173165,54 @@ "arguments": [ { "kind": "number", - "nativeSrc": "147983:2:10", + "nativeSrc": "147983:2:23", "nodeType": "YulLiteral", - "src": "147983:2:10", + "src": "147983:2:23", "type": "", "value": "56" }, { "name": "n", - "nativeSrc": "147987:1:10", + "nativeSrc": "147987:1:23", "nodeType": "YulIdentifier", - "src": "147987:1:10" + "src": "147987:1:23" } ], "functionName": { "name": "shl", - "nativeSrc": "147979:3:10", + "nativeSrc": "147979:3:23", "nodeType": "YulIdentifier", - "src": "147979:3:10" + "src": "147979:3:23" }, - "nativeSrc": "147979:10:10", + "nativeSrc": "147979:10:23", "nodeType": "YulFunctionCall", - "src": "147979:10:10" + "src": "147979:10:23" } ], "functionName": { "name": "add", - "nativeSrc": "147951:3:10", + "nativeSrc": "147951:3:23", "nodeType": "YulIdentifier", - "src": "147951:3:10" + "src": "147951:3:23" }, - "nativeSrc": "147951:39:10", + "nativeSrc": "147951:39:23", "nodeType": "YulFunctionCall", - "src": "147951:39:10" + "src": "147951:39:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "147930:6:10", + "nativeSrc": "147930:6:23", "nodeType": "YulIdentifier", - "src": "147930:6:10" + "src": "147930:6:23" }, - "nativeSrc": "147930:61:10", + "nativeSrc": "147930:61:23", "nodeType": "YulFunctionCall", - "src": "147930:61:10" + "src": "147930:61:23" }, - "nativeSrc": "147930:61:10", + "nativeSrc": "147930:61:23", "nodeType": "YulExpressionStatement", - "src": "147930:61:10" + "src": "147930:61:23" }, { "expression": { @@ -154246,130 +173221,130 @@ "arguments": [ { "name": "c", - "nativeSrc": "148015:1:10", + "nativeSrc": "148015:1:23", "nodeType": "YulIdentifier", - "src": "148015:1:10" + "src": "148015:1:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "148022:1:10", + "nativeSrc": "148022:1:23", "nodeType": "YulIdentifier", - "src": "148022:1:10" + "src": "148022:1:23" }, { "kind": "number", - "nativeSrc": "148025:4:10", + "nativeSrc": "148025:4:23", "nodeType": "YulLiteral", - "src": "148025:4:10", + "src": "148025:4:23", "type": "", "value": "0x9a" } ], "functionName": { "name": "add", - "nativeSrc": "148018:3:10", + "nativeSrc": "148018:3:23", "nodeType": "YulIdentifier", - "src": "148018:3:10" + "src": "148018:3:23" }, - "nativeSrc": "148018:12:10", + "nativeSrc": "148018:12:23", "nodeType": "YulFunctionCall", - "src": "148018:12:10" + "src": "148018:12:23" } ], "functionName": { "name": "add", - "nativeSrc": "148011:3:10", + "nativeSrc": "148011:3:23", "nodeType": "YulIdentifier", - "src": "148011:3:10" + "src": "148011:3:23" }, - "nativeSrc": "148011:20:10", + "nativeSrc": "148011:20:23", "nodeType": "YulFunctionCall", - "src": "148011:20:10" + "src": "148011:20:23" }, { "kind": "number", - "nativeSrc": "148033:1:10", + "nativeSrc": "148033:1:23", "nodeType": "YulLiteral", - "src": "148033:1:10", + "src": "148033:1:23", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "148004:6:10", + "nativeSrc": "148004:6:23", "nodeType": "YulIdentifier", - "src": "148004:6:10" + "src": "148004:6:23" }, - "nativeSrc": "148004:31:10", + "nativeSrc": "148004:31:23", "nodeType": "YulFunctionCall", - "src": "148004:31:10" + "src": "148004:31:23" }, - "nativeSrc": "148004:31:10", + "nativeSrc": "148004:31:23", "nodeType": "YulExpressionStatement", - "src": "148004:31:10" + "src": "148004:31:23" }, { "expression": { "arguments": [ { "name": "c", - "nativeSrc": "148055:1:10", + "nativeSrc": "148055:1:23", "nodeType": "YulIdentifier", - "src": "148055:1:10" + "src": "148055:1:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "148062:1:10", + "nativeSrc": "148062:1:23", "nodeType": "YulIdentifier", - "src": "148062:1:10" + "src": "148062:1:23" }, { "kind": "number", - "nativeSrc": "148065:4:10", + "nativeSrc": "148065:4:23", "nodeType": "YulLiteral", - "src": "148065:4:10", + "src": "148065:4:23", "type": "", "value": "0x7a" } ], "functionName": { "name": "add", - "nativeSrc": "148058:3:10", + "nativeSrc": "148058:3:23", "nodeType": "YulIdentifier", - "src": "148058:3:10" + "src": "148058:3:23" }, - "nativeSrc": "148058:12:10", + "nativeSrc": "148058:12:23", "nodeType": "YulFunctionCall", - "src": "148058:12:10" + "src": "148058:12:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "148048:6:10", + "nativeSrc": "148048:6:23", "nodeType": "YulIdentifier", - "src": "148048:6:10" + "src": "148048:6:23" }, - "nativeSrc": "148048:23:10", + "nativeSrc": "148048:23:23", "nodeType": "YulFunctionCall", - "src": "148048:23:10" + "src": "148048:23:23" }, - "nativeSrc": "148048:23:10", + "nativeSrc": "148048:23:23", "nodeType": "YulExpressionStatement", - "src": "148048:23:10" + "src": "148048:23:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "148112:4:10", + "nativeSrc": "148112:4:23", "nodeType": "YulLiteral", - "src": "148112:4:10", + "src": "148112:4:23", "type": "", "value": "0x40" }, @@ -154377,62 +173352,62 @@ "arguments": [ { "name": "c", - "nativeSrc": "148122:1:10", + "nativeSrc": "148122:1:23", "nodeType": "YulIdentifier", - "src": "148122:1:10" + "src": "148122:1:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "148129:1:10", + "nativeSrc": "148129:1:23", "nodeType": "YulIdentifier", - "src": "148129:1:10" + "src": "148129:1:23" }, { "kind": "number", - "nativeSrc": "148132:4:10", + "nativeSrc": "148132:4:23", "nodeType": "YulLiteral", - "src": "148132:4:10", + "src": "148132:4:23", "type": "", "value": "0xba" } ], "functionName": { "name": "add", - "nativeSrc": "148125:3:10", + "nativeSrc": "148125:3:23", "nodeType": "YulIdentifier", - "src": "148125:3:10" + "src": "148125:3:23" }, - "nativeSrc": "148125:12:10", + "nativeSrc": "148125:12:23", "nodeType": "YulFunctionCall", - "src": "148125:12:10" + "src": "148125:12:23" } ], "functionName": { "name": "add", - "nativeSrc": "148118:3:10", + "nativeSrc": "148118:3:23", "nodeType": "YulIdentifier", - "src": "148118:3:10" + "src": "148118:3:23" }, - "nativeSrc": "148118:20:10", + "nativeSrc": "148118:20:23", "nodeType": "YulFunctionCall", - "src": "148118:20:10" + "src": "148118:20:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "148105:6:10", + "nativeSrc": "148105:6:23", "nodeType": "YulIdentifier", - "src": "148105:6:10" + "src": "148105:6:23" }, - "nativeSrc": "148105:34:10", + "nativeSrc": "148105:34:23", "nodeType": "YulFunctionCall", - "src": "148105:34:10" + "src": "148105:34:23" }, - "nativeSrc": "148105:34:10", + "nativeSrc": "148105:34:23", "nodeType": "YulExpressionStatement", - "src": "148105:34:10" + "src": "148105:34:23" } ] }, @@ -154440,129 +173415,129 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4961, + "declaration": 6567, "isOffset": false, "isSlot": false, - "src": "147256:4:10", + "src": "147256:4:23", "valueSize": 1 }, { - "declaration": 4961, + "declaration": 6567, "isOffset": false, "isSlot": false, - "src": "147550:4:10", + "src": "147550:4:23", "valueSize": 1 }, { - "declaration": 4959, + "declaration": 6565, "isOffset": false, "isSlot": false, - "src": "147910:6:10", + "src": "147910:6:23", "valueSize": 1 }, { - "declaration": 4964, + "declaration": 6570, "isOffset": false, "isSlot": false, - "src": "147212:1:10", + "src": "147212:1:23", "valueSize": 1 }, { - "declaration": 4964, + "declaration": 6570, "isOffset": false, "isSlot": false, - "src": "147522:1:10", + "src": "147522:1:23", "valueSize": 1 }, { - "declaration": 4964, + "declaration": 6570, "isOffset": false, "isSlot": false, - "src": "147605:1:10", + "src": "147605:1:23", "valueSize": 1 }, { - "declaration": 4964, + "declaration": 6570, "isOffset": false, "isSlot": false, - "src": "147706:1:10", + "src": "147706:1:23", "valueSize": 1 }, { - "declaration": 4964, + "declaration": 6570, "isOffset": false, "isSlot": false, - "src": "147807:1:10", + "src": "147807:1:23", "valueSize": 1 }, { - "declaration": 4964, + "declaration": 6570, "isOffset": false, "isSlot": false, - "src": "147900:1:10", + "src": "147900:1:23", "valueSize": 1 }, { - "declaration": 4964, + "declaration": 6570, "isOffset": false, "isSlot": false, - "src": "147941:1:10", + "src": "147941:1:23", "valueSize": 1 }, { - "declaration": 4964, + "declaration": 6570, "isOffset": false, "isSlot": false, - "src": "148015:1:10", + "src": "148015:1:23", "valueSize": 1 }, { - "declaration": 4964, + "declaration": 6570, "isOffset": false, "isSlot": false, - "src": "148055:1:10", + "src": "148055:1:23", "valueSize": 1 }, { - "declaration": 4964, + "declaration": 6570, "isOffset": false, "isSlot": false, - "src": "148122:1:10", + "src": "148122:1:23", "valueSize": 1 } ], - "id": 4966, + "id": 6572, "nodeType": "InlineAssembly", - "src": "147189:980:10" + "src": "147189:980:23" } ] }, "documentation": { - "id": 4957, + "id": 6563, "nodeType": "StructuredDocumentation", - "src": "146910:82:10", + "src": "146910:82:23", "text": "@dev Returns the initialization code of the ERC1967I beacon proxy with `args`." }, - "id": 4968, + "id": 6574, "implemented": true, "kind": "function", "modifiers": [], "name": "initCodeERC1967IBeaconProxy", - "nameLocation": "147006:27:10", + "nameLocation": "147006:27:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4962, + "id": 6568, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4959, + "id": 6565, "mutability": "mutable", "name": "beacon", - "nameLocation": "147042:6:10", + "nameLocation": "147042:6:23", "nodeType": "VariableDeclaration", - "scope": 4968, - "src": "147034:14:10", + "scope": 6574, + "src": "147034:14:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -154570,10 +173545,10 @@ "typeString": "address" }, "typeName": { - "id": 4958, + "id": 6564, "name": "address", "nodeType": "ElementaryTypeName", - "src": "147034:7:10", + "src": "147034:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -154584,13 +173559,13 @@ }, { "constant": false, - "id": 4961, + "id": 6567, "mutability": "mutable", "name": "args", - "nameLocation": "147063:4:10", + "nameLocation": "147063:4:23", "nodeType": "VariableDeclaration", - "scope": 4968, - "src": "147050:17:10", + "scope": 6574, + "src": "147050:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -154598,10 +173573,10 @@ "typeString": "bytes" }, "typeName": { - "id": 4960, + "id": 6566, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "147050:5:10", + "src": "147050:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -154610,21 +173585,21 @@ "visibility": "internal" } ], - "src": "147033:35:10" + "src": "147033:35:23" }, "returnParameters": { - "id": 4965, + "id": 6571, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4964, + "id": 6570, "mutability": "mutable", "name": "c", - "nameLocation": "147129:1:10", + "nameLocation": "147129:1:23", "nodeType": "VariableDeclaration", - "scope": 4968, - "src": "147116:14:10", + "scope": 6574, + "src": "147116:14:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -154632,10 +173607,10 @@ "typeString": "bytes" }, "typeName": { - "id": 4963, + "id": 6569, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "147116:5:10", + "src": "147116:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -154644,90 +173619,90 @@ "visibility": "internal" } ], - "src": "147115:16:10" + "src": "147115:16:23" }, - "scope": 5093, - "src": "146997:1178:10", + "scope": 6699, + "src": "146997:1178:23", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 4979, + "id": 6585, "nodeType": "Block", - "src": "148414:956:10", + "src": "148414:956:23", "statements": [ { "AST": { - "nativeSrc": "148476:888:10", + "nativeSrc": "148476:888:23", "nodeType": "YulBlock", - "src": "148476:888:10", + "src": "148476:888:23", "statements": [ { - "nativeSrc": "148490:20:10", + "nativeSrc": "148490:20:23", "nodeType": "YulVariableDeclaration", - "src": "148490:20:10", + "src": "148490:20:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "148505:4:10", + "nativeSrc": "148505:4:23", "nodeType": "YulLiteral", - "src": "148505:4:10", + "src": "148505:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "148499:5:10", + "nativeSrc": "148499:5:23", "nodeType": "YulIdentifier", - "src": "148499:5:10" + "src": "148499:5:23" }, - "nativeSrc": "148499:11:10", + "nativeSrc": "148499:11:23", "nodeType": "YulFunctionCall", - "src": "148499:11:10" + "src": "148499:11:23" }, "variables": [ { "name": "c", - "nativeSrc": "148494:1:10", + "nativeSrc": "148494:1:23", "nodeType": "YulTypedName", - "src": "148494:1:10", + "src": "148494:1:23", "type": "" } ] }, { - "nativeSrc": "148557:20:10", + "nativeSrc": "148557:20:23", "nodeType": "YulVariableDeclaration", - "src": "148557:20:10", + "src": "148557:20:23", "value": { "arguments": [ { "name": "args", - "nativeSrc": "148572:4:10", + "nativeSrc": "148572:4:23", "nodeType": "YulIdentifier", - "src": "148572:4:10" + "src": "148572:4:23" } ], "functionName": { "name": "mload", - "nativeSrc": "148566:5:10", + "nativeSrc": "148566:5:23", "nodeType": "YulIdentifier", - "src": "148566:5:10" + "src": "148566:5:23" }, - "nativeSrc": "148566:11:10", + "nativeSrc": "148566:11:23", "nodeType": "YulFunctionCall", - "src": "148566:11:10" + "src": "148566:11:23" }, "variables": [ { "name": "n", - "nativeSrc": "148561:1:10", + "nativeSrc": "148561:1:23", "nodeType": "YulTypedName", - "src": "148561:1:10", + "src": "148561:1:23", "type": "" } ] @@ -154739,73 +173714,73 @@ "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "148692:14:10", + "nativeSrc": "148692:14:23", "nodeType": "YulIdentifier", - "src": "148692:14:10" + "src": "148692:14:23" }, - "nativeSrc": "148692:16:10", + "nativeSrc": "148692:16:23", "nodeType": "YulFunctionCall", - "src": "148692:16:10" + "src": "148692:16:23" }, { "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "148710:14:10", + "nativeSrc": "148710:14:23", "nodeType": "YulIdentifier", - "src": "148710:14:10" + "src": "148710:14:23" }, - "nativeSrc": "148710:16:10", + "nativeSrc": "148710:16:23", "nodeType": "YulFunctionCall", - "src": "148710:16:10" + "src": "148710:16:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "148731:1:10", + "nativeSrc": "148731:1:23", "nodeType": "YulIdentifier", - "src": "148731:1:10" + "src": "148731:1:23" }, { "kind": "number", - "nativeSrc": "148734:6:10", + "nativeSrc": "148734:6:23", "nodeType": "YulLiteral", - "src": "148734:6:10", + "src": "148734:6:23", "type": "", "value": "0xffa8" } ], "functionName": { "name": "gt", - "nativeSrc": "148728:2:10", + "nativeSrc": "148728:2:23", "nodeType": "YulIdentifier", - "src": "148728:2:10" + "src": "148728:2:23" }, - "nativeSrc": "148728:13:10", + "nativeSrc": "148728:13:23", "nodeType": "YulFunctionCall", - "src": "148728:13:10" + "src": "148728:13:23" } ], "functionName": { "name": "returndatacopy", - "nativeSrc": "148677:14:10", + "nativeSrc": "148677:14:23", "nodeType": "YulIdentifier", - "src": "148677:14:10" + "src": "148677:14:23" }, - "nativeSrc": "148677:65:10", + "nativeSrc": "148677:65:23", "nodeType": "YulFunctionCall", - "src": "148677:65:10" + "src": "148677:65:23" }, - "nativeSrc": "148677:65:10", + "nativeSrc": "148677:65:23", "nodeType": "YulExpressionStatement", - "src": "148677:65:10" + "src": "148677:65:23" }, { "body": { - "nativeSrc": "148805:92:10", + "nativeSrc": "148805:92:23", "nodeType": "YulBlock", - "src": "148805:92:10", + "src": "148805:92:23", "statements": [ { "expression": { @@ -154816,45 +173791,45 @@ "arguments": [ { "name": "c", - "nativeSrc": "148838:1:10", + "nativeSrc": "148838:1:23", "nodeType": "YulIdentifier", - "src": "148838:1:10" + "src": "148838:1:23" }, { "kind": "number", - "nativeSrc": "148841:4:10", + "nativeSrc": "148841:4:23", "nodeType": "YulLiteral", - "src": "148841:4:10", + "src": "148841:4:23", "type": "", "value": "0x90" } ], "functionName": { "name": "add", - "nativeSrc": "148834:3:10", + "nativeSrc": "148834:3:23", "nodeType": "YulIdentifier", - "src": "148834:3:10" + "src": "148834:3:23" }, - "nativeSrc": "148834:12:10", + "nativeSrc": "148834:12:23", "nodeType": "YulFunctionCall", - "src": "148834:12:10" + "src": "148834:12:23" }, { "name": "i", - "nativeSrc": "148848:1:10", + "nativeSrc": "148848:1:23", "nodeType": "YulIdentifier", - "src": "148848:1:10" + "src": "148848:1:23" } ], "functionName": { "name": "add", - "nativeSrc": "148830:3:10", + "nativeSrc": "148830:3:23", "nodeType": "YulIdentifier", - "src": "148830:3:10" + "src": "148830:3:23" }, - "nativeSrc": "148830:20:10", + "nativeSrc": "148830:20:23", "nodeType": "YulFunctionCall", - "src": "148830:20:10" + "src": "148830:20:23" }, { "arguments": [ @@ -154864,71 +173839,71 @@ "arguments": [ { "name": "args", - "nativeSrc": "148866:4:10", + "nativeSrc": "148866:4:23", "nodeType": "YulIdentifier", - "src": "148866:4:10" + "src": "148866:4:23" }, { "kind": "number", - "nativeSrc": "148872:4:10", + "nativeSrc": "148872:4:23", "nodeType": "YulLiteral", - "src": "148872:4:10", + "src": "148872:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "148862:3:10", + "nativeSrc": "148862:3:23", "nodeType": "YulIdentifier", - "src": "148862:3:10" + "src": "148862:3:23" }, - "nativeSrc": "148862:15:10", + "nativeSrc": "148862:15:23", "nodeType": "YulFunctionCall", - "src": "148862:15:10" + "src": "148862:15:23" }, { "name": "i", - "nativeSrc": "148879:1:10", + "nativeSrc": "148879:1:23", "nodeType": "YulIdentifier", - "src": "148879:1:10" + "src": "148879:1:23" } ], "functionName": { "name": "add", - "nativeSrc": "148858:3:10", + "nativeSrc": "148858:3:23", "nodeType": "YulIdentifier", - "src": "148858:3:10" + "src": "148858:3:23" }, - "nativeSrc": "148858:23:10", + "nativeSrc": "148858:23:23", "nodeType": "YulFunctionCall", - "src": "148858:23:10" + "src": "148858:23:23" } ], "functionName": { "name": "mload", - "nativeSrc": "148852:5:10", + "nativeSrc": "148852:5:23", "nodeType": "YulIdentifier", - "src": "148852:5:10" + "src": "148852:5:23" }, - "nativeSrc": "148852:30:10", + "nativeSrc": "148852:30:23", "nodeType": "YulFunctionCall", - "src": "148852:30:10" + "src": "148852:30:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "148823:6:10", + "nativeSrc": "148823:6:23", "nodeType": "YulIdentifier", - "src": "148823:6:10" + "src": "148823:6:23" }, - "nativeSrc": "148823:60:10", + "nativeSrc": "148823:60:23", "nodeType": "YulFunctionCall", - "src": "148823:60:10" + "src": "148823:60:23" }, - "nativeSrc": "148823:60:10", + "nativeSrc": "148823:60:23", "nodeType": "YulExpressionStatement", - "src": "148823:60:10" + "src": "148823:60:23" } ] }, @@ -154936,106 +173911,106 @@ "arguments": [ { "name": "i", - "nativeSrc": "148777:1:10", + "nativeSrc": "148777:1:23", "nodeType": "YulIdentifier", - "src": "148777:1:10" + "src": "148777:1:23" }, { "name": "n", - "nativeSrc": "148780:1:10", + "nativeSrc": "148780:1:23", "nodeType": "YulIdentifier", - "src": "148780:1:10" + "src": "148780:1:23" } ], "functionName": { "name": "lt", - "nativeSrc": "148774:2:10", + "nativeSrc": "148774:2:23", "nodeType": "YulIdentifier", - "src": "148774:2:10" + "src": "148774:2:23" }, - "nativeSrc": "148774:8:10", + "nativeSrc": "148774:8:23", "nodeType": "YulFunctionCall", - "src": "148774:8:10" + "src": "148774:8:23" }, - "nativeSrc": "148755:142:10", + "nativeSrc": "148755:142:23", "nodeType": "YulForLoop", "post": { - "nativeSrc": "148783:21:10", + "nativeSrc": "148783:21:23", "nodeType": "YulBlock", - "src": "148783:21:10", + "src": "148783:21:23", "statements": [ { - "nativeSrc": "148785:17:10", + "nativeSrc": "148785:17:23", "nodeType": "YulAssignment", - "src": "148785:17:10", + "src": "148785:17:23", "value": { "arguments": [ { "name": "i", - "nativeSrc": "148794:1:10", + "nativeSrc": "148794:1:23", "nodeType": "YulIdentifier", - "src": "148794:1:10" + "src": "148794:1:23" }, { "kind": "number", - "nativeSrc": "148797:4:10", + "nativeSrc": "148797:4:23", "nodeType": "YulLiteral", - "src": "148797:4:10", + "src": "148797:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "148790:3:10", + "nativeSrc": "148790:3:23", "nodeType": "YulIdentifier", - "src": "148790:3:10" + "src": "148790:3:23" }, - "nativeSrc": "148790:12:10", + "nativeSrc": "148790:12:23", "nodeType": "YulFunctionCall", - "src": "148790:12:10" + "src": "148790:12:23" }, "variableNames": [ { "name": "i", - "nativeSrc": "148785:1:10", + "nativeSrc": "148785:1:23", "nodeType": "YulIdentifier", - "src": "148785:1:10" + "src": "148785:1:23" } ] } ] }, "pre": { - "nativeSrc": "148759:14:10", + "nativeSrc": "148759:14:23", "nodeType": "YulBlock", - "src": "148759:14:10", + "src": "148759:14:23", "statements": [ { - "nativeSrc": "148761:10:10", + "nativeSrc": "148761:10:23", "nodeType": "YulVariableDeclaration", - "src": "148761:10:10", + "src": "148761:10:23", "value": { "kind": "number", - "nativeSrc": "148770:1:10", + "nativeSrc": "148770:1:23", "nodeType": "YulLiteral", - "src": "148770:1:10", + "src": "148770:1:23", "type": "", "value": "0" }, "variables": [ { "name": "i", - "nativeSrc": "148765:1:10", + "nativeSrc": "148765:1:23", "nodeType": "YulTypedName", - "src": "148765:1:10", + "src": "148765:1:23", "type": "" } ] } ] }, - "src": "148755:142:10" + "src": "148755:142:23" }, { "expression": { @@ -155044,51 +174019,51 @@ "arguments": [ { "name": "c", - "nativeSrc": "148921:1:10", + "nativeSrc": "148921:1:23", "nodeType": "YulIdentifier", - "src": "148921:1:10" + "src": "148921:1:23" }, { "kind": "number", - "nativeSrc": "148924:4:10", + "nativeSrc": "148924:4:23", "nodeType": "YulLiteral", - "src": "148924:4:10", + "src": "148924:4:23", "type": "", "value": "0x70" } ], "functionName": { "name": "add", - "nativeSrc": "148917:3:10", + "nativeSrc": "148917:3:23", "nodeType": "YulIdentifier", - "src": "148917:3:10" + "src": "148917:3:23" }, - "nativeSrc": "148917:12:10", + "nativeSrc": "148917:12:23", "nodeType": "YulFunctionCall", - "src": "148917:12:10" + "src": "148917:12:23" }, { "kind": "number", - "nativeSrc": "148931:66:10", + "nativeSrc": "148931:66:23", "nodeType": "YulLiteral", - "src": "148931:66:10", + "src": "148931:66:23", "type": "", "value": "0x3d50545afa361460525736515af43d600060013e6052573d6001fd5b3d6001f3" } ], "functionName": { "name": "mstore", - "nativeSrc": "148910:6:10", + "nativeSrc": "148910:6:23", "nodeType": "YulIdentifier", - "src": "148910:6:10" + "src": "148910:6:23" }, - "nativeSrc": "148910:88:10", + "nativeSrc": "148910:88:23", "nodeType": "YulFunctionCall", - "src": "148910:88:10" + "src": "148910:88:23" }, - "nativeSrc": "148910:88:10", + "nativeSrc": "148910:88:23", "nodeType": "YulExpressionStatement", - "src": "148910:88:10" + "src": "148910:88:23" }, { "expression": { @@ -155097,51 +174072,51 @@ "arguments": [ { "name": "c", - "nativeSrc": "149022:1:10", + "nativeSrc": "149022:1:23", "nodeType": "YulIdentifier", - "src": "149022:1:10" + "src": "149022:1:23" }, { "kind": "number", - "nativeSrc": "149025:4:10", + "nativeSrc": "149025:4:23", "nodeType": "YulLiteral", - "src": "149025:4:10", + "src": "149025:4:23", "type": "", "value": "0x50" } ], "functionName": { "name": "add", - "nativeSrc": "149018:3:10", + "nativeSrc": "149018:3:23", "nodeType": "YulIdentifier", - "src": "149018:3:10" + "src": "149018:3:23" }, - "nativeSrc": "149018:12:10", + "nativeSrc": "149018:12:23", "nodeType": "YulFunctionCall", - "src": "149018:12:10" + "src": "149018:12:23" }, { "kind": "number", - "nativeSrc": "149032:66:10", + "nativeSrc": "149032:66:23", "nodeType": "YulLiteral", - "src": "149032:66:10", + "src": "149032:66:23", "type": "", "value": "0x527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b3513" } ], "functionName": { "name": "mstore", - "nativeSrc": "149011:6:10", + "nativeSrc": "149011:6:23", "nodeType": "YulIdentifier", - "src": "149011:6:10" + "src": "149011:6:23" }, - "nativeSrc": "149011:88:10", + "nativeSrc": "149011:88:23", "nodeType": "YulFunctionCall", - "src": "149011:88:10" + "src": "149011:88:23" }, - "nativeSrc": "149011:88:10", + "nativeSrc": "149011:88:23", "nodeType": "YulExpressionStatement", - "src": "149011:88:10" + "src": "149011:88:23" }, { "expression": { @@ -155150,51 +174125,51 @@ "arguments": [ { "name": "c", - "nativeSrc": "149123:1:10", + "nativeSrc": "149123:1:23", "nodeType": "YulIdentifier", - "src": "149123:1:10" + "src": "149123:1:23" }, { "kind": "number", - "nativeSrc": "149126:4:10", + "nativeSrc": "149126:4:23", "nodeType": "YulLiteral", - "src": "149126:4:10", + "src": "149126:4:23", "type": "", "value": "0x30" } ], "functionName": { "name": "add", - "nativeSrc": "149119:3:10", + "nativeSrc": "149119:3:23", "nodeType": "YulIdentifier", - "src": "149119:3:10" + "src": "149119:3:23" }, - "nativeSrc": "149119:12:10", + "nativeSrc": "149119:12:23", "nodeType": "YulFunctionCall", - "src": "149119:12:10" + "src": "149119:12:23" }, { "kind": "number", - "nativeSrc": "149133:58:10", + "nativeSrc": "149133:58:23", "nodeType": "YulLiteral", - "src": "149133:58:10", + "src": "149133:58:23", "type": "", "value": "0x60195155f3363d3d373d3d363d602036600436635c60da1b60e01b36" } ], "functionName": { "name": "mstore", - "nativeSrc": "149112:6:10", + "nativeSrc": "149112:6:23", "nodeType": "YulIdentifier", - "src": "149112:6:10" + "src": "149112:6:23" }, - "nativeSrc": "149112:80:10", + "nativeSrc": "149112:80:23", "nodeType": "YulFunctionCall", - "src": "149112:80:10" + "src": "149112:80:23" }, - "nativeSrc": "149112:80:10", + "nativeSrc": "149112:80:23", "nodeType": "YulExpressionStatement", - "src": "149112:80:10" + "src": "149112:80:23" }, { "expression": { @@ -155203,66 +174178,66 @@ "arguments": [ { "name": "c", - "nativeSrc": "149216:1:10", + "nativeSrc": "149216:1:23", "nodeType": "YulIdentifier", - "src": "149216:1:10" + "src": "149216:1:23" }, { "kind": "number", - "nativeSrc": "149219:4:10", + "nativeSrc": "149219:4:23", "nodeType": "YulLiteral", - "src": "149219:4:10", + "src": "149219:4:23", "type": "", "value": "0x14" } ], "functionName": { "name": "add", - "nativeSrc": "149212:3:10", + "nativeSrc": "149212:3:23", "nodeType": "YulIdentifier", - "src": "149212:3:10" + "src": "149212:3:23" }, - "nativeSrc": "149212:12:10", + "nativeSrc": "149212:12:23", "nodeType": "YulFunctionCall", - "src": "149212:12:10" + "src": "149212:12:23" }, { "name": "beacon", - "nativeSrc": "149226:6:10", + "nativeSrc": "149226:6:23", "nodeType": "YulIdentifier", - "src": "149226:6:10" + "src": "149226:6:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "149205:6:10", + "nativeSrc": "149205:6:23", "nodeType": "YulIdentifier", - "src": "149205:6:10" + "src": "149205:6:23" }, - "nativeSrc": "149205:28:10", + "nativeSrc": "149205:28:23", "nodeType": "YulFunctionCall", - "src": "149205:28:10" + "src": "149205:28:23" }, - "nativeSrc": "149205:28:10", + "nativeSrc": "149205:28:23", "nodeType": "YulExpressionStatement", - "src": "149205:28:10" + "src": "149205:28:23" }, { "expression": { "arguments": [ { "name": "c", - "nativeSrc": "149253:1:10", + "nativeSrc": "149253:1:23", "nodeType": "YulIdentifier", - "src": "149253:1:10" + "src": "149253:1:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "149260:22:10", + "nativeSrc": "149260:22:23", "nodeType": "YulLiteral", - "src": "149260:22:10", + "src": "149260:22:23", "type": "", "value": "0x6100573d8160233d3973" }, @@ -155270,132 +174245,132 @@ "arguments": [ { "kind": "number", - "nativeSrc": "149288:2:10", + "nativeSrc": "149288:2:23", "nodeType": "YulLiteral", - "src": "149288:2:10", + "src": "149288:2:23", "type": "", "value": "56" }, { "name": "n", - "nativeSrc": "149292:1:10", + "nativeSrc": "149292:1:23", "nodeType": "YulIdentifier", - "src": "149292:1:10" + "src": "149292:1:23" } ], "functionName": { "name": "shl", - "nativeSrc": "149284:3:10", + "nativeSrc": "149284:3:23", "nodeType": "YulIdentifier", - "src": "149284:3:10" + "src": "149284:3:23" }, - "nativeSrc": "149284:10:10", + "nativeSrc": "149284:10:23", "nodeType": "YulFunctionCall", - "src": "149284:10:10" + "src": "149284:10:23" } ], "functionName": { "name": "add", - "nativeSrc": "149256:3:10", + "nativeSrc": "149256:3:23", "nodeType": "YulIdentifier", - "src": "149256:3:10" + "src": "149256:3:23" }, - "nativeSrc": "149256:39:10", + "nativeSrc": "149256:39:23", "nodeType": "YulFunctionCall", - "src": "149256:39:10" + "src": "149256:39:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "149246:6:10", + "nativeSrc": "149246:6:23", "nodeType": "YulIdentifier", - "src": "149246:6:10" + "src": "149246:6:23" }, - "nativeSrc": "149246:50:10", + "nativeSrc": "149246:50:23", "nodeType": "YulFunctionCall", - "src": "149246:50:10" + "src": "149246:50:23" }, - "nativeSrc": "149246:50:10", + "nativeSrc": "149246:50:23", "nodeType": "YulExpressionStatement", - "src": "149246:50:10" + "src": "149246:50:23" }, { - "nativeSrc": "149309:45:10", + "nativeSrc": "149309:45:23", "nodeType": "YulAssignment", - "src": "149309:45:10", + "src": "149309:45:23", "value": { "arguments": [ { "arguments": [ { "name": "c", - "nativeSrc": "149331:1:10", + "nativeSrc": "149331:1:23", "nodeType": "YulIdentifier", - "src": "149331:1:10" + "src": "149331:1:23" }, { "kind": "number", - "nativeSrc": "149334:4:10", + "nativeSrc": "149334:4:23", "nodeType": "YulLiteral", - "src": "149334:4:10", + "src": "149334:4:23", "type": "", "value": "0x16" } ], "functionName": { "name": "add", - "nativeSrc": "149327:3:10", + "nativeSrc": "149327:3:23", "nodeType": "YulIdentifier", - "src": "149327:3:10" + "src": "149327:3:23" }, - "nativeSrc": "149327:12:10", + "nativeSrc": "149327:12:23", "nodeType": "YulFunctionCall", - "src": "149327:12:10" + "src": "149327:12:23" }, { "arguments": [ { "name": "n", - "nativeSrc": "149345:1:10", + "nativeSrc": "149345:1:23", "nodeType": "YulIdentifier", - "src": "149345:1:10" + "src": "149345:1:23" }, { "kind": "number", - "nativeSrc": "149348:4:10", + "nativeSrc": "149348:4:23", "nodeType": "YulLiteral", - "src": "149348:4:10", + "src": "149348:4:23", "type": "", "value": "0x7a" } ], "functionName": { "name": "add", - "nativeSrc": "149341:3:10", + "nativeSrc": "149341:3:23", "nodeType": "YulIdentifier", - "src": "149341:3:10" + "src": "149341:3:23" }, - "nativeSrc": "149341:12:10", + "nativeSrc": "149341:12:23", "nodeType": "YulFunctionCall", - "src": "149341:12:10" + "src": "149341:12:23" } ], "functionName": { "name": "keccak256", - "nativeSrc": "149317:9:10", + "nativeSrc": "149317:9:23", "nodeType": "YulIdentifier", - "src": "149317:9:10" + "src": "149317:9:23" }, - "nativeSrc": "149317:37:10", + "nativeSrc": "149317:37:23", "nodeType": "YulFunctionCall", - "src": "149317:37:10" + "src": "149317:37:23" }, "variableNames": [ { "name": "hash", - "nativeSrc": "149309:4:10", + "nativeSrc": "149309:4:23", "nodeType": "YulIdentifier", - "src": "149309:4:10" + "src": "149309:4:23" } ] } @@ -155405,66 +174380,66 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4973, + "declaration": 6579, "isOffset": false, "isSlot": false, - "src": "148572:4:10", + "src": "148572:4:23", "valueSize": 1 }, { - "declaration": 4973, + "declaration": 6579, "isOffset": false, "isSlot": false, - "src": "148866:4:10", + "src": "148866:4:23", "valueSize": 1 }, { - "declaration": 4971, + "declaration": 6577, "isOffset": false, "isSlot": false, - "src": "149226:6:10", + "src": "149226:6:23", "valueSize": 1 }, { - "declaration": 4976, + "declaration": 6582, "isOffset": false, "isSlot": false, - "src": "149309:4:10", + "src": "149309:4:23", "valueSize": 1 } ], - "id": 4978, + "id": 6584, "nodeType": "InlineAssembly", - "src": "148467:897:10" + "src": "148467:897:23" } ] }, "documentation": { - "id": 4969, + "id": 6575, "nodeType": "StructuredDocumentation", - "src": "148181:87:10", + "src": "148181:87:23", "text": "@dev Returns the initialization code hash of the ERC1967I beacon proxy with `args`." }, - "id": 4980, + "id": 6586, "implemented": true, "kind": "function", "modifiers": [], "name": "initCodeHashERC1967IBeaconProxy", - "nameLocation": "148282:31:10", + "nameLocation": "148282:31:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4974, + "id": 6580, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4971, + "id": 6577, "mutability": "mutable", "name": "beacon", - "nameLocation": "148322:6:10", + "nameLocation": "148322:6:23", "nodeType": "VariableDeclaration", - "scope": 4980, - "src": "148314:14:10", + "scope": 6586, + "src": "148314:14:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -155472,10 +174447,10 @@ "typeString": "address" }, "typeName": { - "id": 4970, + "id": 6576, "name": "address", "nodeType": "ElementaryTypeName", - "src": "148314:7:10", + "src": "148314:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -155486,13 +174461,13 @@ }, { "constant": false, - "id": 4973, + "id": 6579, "mutability": "mutable", "name": "args", - "nameLocation": "148343:4:10", + "nameLocation": "148343:4:23", "nodeType": "VariableDeclaration", - "scope": 4980, - "src": "148330:17:10", + "scope": 6586, + "src": "148330:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -155500,10 +174475,10 @@ "typeString": "bytes" }, "typeName": { - "id": 4972, + "id": 6578, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "148330:5:10", + "src": "148330:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -155512,21 +174487,21 @@ "visibility": "internal" } ], - "src": "148313:35:10" + "src": "148313:35:23" }, "returnParameters": { - "id": 4977, + "id": 6583, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4976, + "id": 6582, "mutability": "mutable", "name": "hash", - "nameLocation": "148404:4:10", + "nameLocation": "148404:4:23", "nodeType": "VariableDeclaration", - "scope": 4980, - "src": "148396:12:10", + "scope": 6586, + "src": "148396:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -155534,10 +174509,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4975, + "id": 6581, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "148396:7:10", + "src": "148396:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -155546,34 +174521,34 @@ "visibility": "internal" } ], - "src": "148395:14:10" + "src": "148395:14:23" }, - "scope": 5093, - "src": "148273:1097:10", + "scope": 6699, + "src": "148273:1097:23", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5009, + "id": 6615, "nodeType": "Block", - "src": "149773:148:10", + "src": "149773:148:23", "statements": [ { "assignments": [ - 4995 + 6601 ], "declarations": [ { "constant": false, - "id": 4995, + "id": 6601, "mutability": "mutable", "name": "hash", - "nameLocation": "149791:4:10", + "nameLocation": "149791:4:23", "nodeType": "VariableDeclaration", - "scope": 5009, - "src": "149783:12:10", + "scope": 6615, + "src": "149783:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -155581,10 +174556,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4994, + "id": 6600, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "149783:7:10", + "src": "149783:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -155593,28 +174568,28 @@ "visibility": "internal" } ], - "id": 5000, + "id": 6606, "initialValue": { "arguments": [ { - "id": 4997, + "id": 6603, "name": "beacon", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4983, - "src": "149830:6:10", + "referencedDeclaration": 6589, + "src": "149830:6:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 4998, + "id": 6604, "name": "args", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4985, - "src": "149838:4:10", + "referencedDeclaration": 6591, + "src": "149838:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -155632,21 +174607,21 @@ "typeString": "bytes memory" } ], - "id": 4996, + "id": 6602, "name": "initCodeHashERC1967IBeaconProxy", "nodeType": "Identifier", "overloadedDeclarations": [ - 4818, - 4980 + 6424, + 6586 ], - "referencedDeclaration": 4980, - "src": "149798:31:10", + "referencedDeclaration": 6586, + "src": "149798:31:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (address,bytes memory) pure returns (bytes32)" } }, - "id": 4999, + "id": 6605, "isConstant": false, "isLValue": false, "isPure": false, @@ -155655,7 +174630,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "149798:45:10", + "src": "149798:45:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -155663,22 +174638,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "149783:60:10" + "src": "149783:60:23" }, { "expression": { - "id": 5007, + "id": 6613, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 5001, + "id": 6607, "name": "predicted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4992, - "src": "149853:9:10", + "referencedDeclaration": 6598, + "src": "149853:9:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -155689,36 +174664,36 @@ "rightHandSide": { "arguments": [ { - "id": 5003, + "id": 6609, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4995, - "src": "149893:4:10", + "referencedDeclaration": 6601, + "src": "149893:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 5004, + "id": 6610, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4987, - "src": "149899:4:10", + "referencedDeclaration": 6593, + "src": "149899:4:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 5005, + "id": 6611, "name": "deployer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4989, - "src": "149905:8:10", + "referencedDeclaration": 6595, + "src": "149905:8:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -155740,22 +174715,22 @@ "typeString": "address" } ], - "id": 5002, + "id": 6608, "name": "predictDeterministicAddress", "nodeType": "Identifier", "overloadedDeclarations": [ - 3226, - 3499, - 5070 + 4832, + 5105, + 6676 ], - "referencedDeclaration": 5070, - "src": "149865:27:10", + "referencedDeclaration": 6676, + "src": "149865:27:23", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_address_$", "typeString": "function (bytes32,bytes32,address) pure returns (address)" } }, - "id": 5006, + "id": 6612, "isConstant": false, "isLValue": false, "isPure": false, @@ -155764,51 +174739,51 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "149865:49:10", + "src": "149865:49:23", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "149853:61:10", + "src": "149853:61:23", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 5008, + "id": 6614, "nodeType": "ExpressionStatement", - "src": "149853:61:10" + "src": "149853:61:23" } ] }, "documentation": { - "id": 4981, + "id": 6587, "nodeType": "StructuredDocumentation", - "src": "149376:189:10", + "src": "149376:189:23", "text": "@dev Returns the address of the ERC1967I beacon proxy, with `args` and salt` by `deployer`.\n Note: The returned result has dirty upper 96 bits. Please clean if used in assembly." }, - "id": 5010, + "id": 6616, "implemented": true, "kind": "function", "modifiers": [], "name": "predictDeterministicAddressERC1967IBeaconProxy", - "nameLocation": "149579:46:10", + "nameLocation": "149579:46:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 4990, + "id": 6596, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4983, + "id": 6589, "mutability": "mutable", "name": "beacon", - "nameLocation": "149643:6:10", + "nameLocation": "149643:6:23", "nodeType": "VariableDeclaration", - "scope": 5010, - "src": "149635:14:10", + "scope": 6616, + "src": "149635:14:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -155816,10 +174791,10 @@ "typeString": "address" }, "typeName": { - "id": 4982, + "id": 6588, "name": "address", "nodeType": "ElementaryTypeName", - "src": "149635:7:10", + "src": "149635:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -155830,13 +174805,13 @@ }, { "constant": false, - "id": 4985, + "id": 6591, "mutability": "mutable", "name": "args", - "nameLocation": "149672:4:10", + "nameLocation": "149672:4:23", "nodeType": "VariableDeclaration", - "scope": 5010, - "src": "149659:17:10", + "scope": 6616, + "src": "149659:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -155844,10 +174819,10 @@ "typeString": "bytes" }, "typeName": { - "id": 4984, + "id": 6590, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "149659:5:10", + "src": "149659:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -155857,13 +174832,13 @@ }, { "constant": false, - "id": 4987, + "id": 6593, "mutability": "mutable", "name": "salt", - "nameLocation": "149694:4:10", + "nameLocation": "149694:4:23", "nodeType": "VariableDeclaration", - "scope": 5010, - "src": "149686:12:10", + "scope": 6616, + "src": "149686:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -155871,10 +174846,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4986, + "id": 6592, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "149686:7:10", + "src": "149686:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -155884,13 +174859,13 @@ }, { "constant": false, - "id": 4989, + "id": 6595, "mutability": "mutable", "name": "deployer", - "nameLocation": "149716:8:10", + "nameLocation": "149716:8:23", "nodeType": "VariableDeclaration", - "scope": 5010, - "src": "149708:16:10", + "scope": 6616, + "src": "149708:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -155898,10 +174873,10 @@ "typeString": "address" }, "typeName": { - "id": 4988, + "id": 6594, "name": "address", "nodeType": "ElementaryTypeName", - "src": "149708:7:10", + "src": "149708:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -155911,21 +174886,21 @@ "visibility": "internal" } ], - "src": "149625:105:10" + "src": "149625:105:23" }, "returnParameters": { - "id": 4993, + "id": 6599, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4992, + "id": 6598, "mutability": "mutable", "name": "predicted", - "nameLocation": "149762:9:10", + "nameLocation": "149762:9:23", "nodeType": "VariableDeclaration", - "scope": 5010, - "src": "149754:17:10", + "scope": 6616, + "src": "149754:17:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -155933,10 +174908,10 @@ "typeString": "address" }, "typeName": { - "id": 4991, + "id": 6597, "name": "address", "nodeType": "ElementaryTypeName", - "src": "149754:7:10", + "src": "149754:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -155946,57 +174921,57 @@ "visibility": "internal" } ], - "src": "149753:19:10" + "src": "149753:19:23" }, - "scope": 5093, - "src": "149570:351:10", + "scope": 6699, + "src": "149570:351:23", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5019, + "id": 6625, "nodeType": "Block", - "src": "150137:371:10", + "src": "150137:371:23", "statements": [ { "AST": { - "nativeSrc": "150199:303:10", + "nativeSrc": "150199:303:23", "nodeType": "YulBlock", - "src": "150199:303:10", + "src": "150199:303:23", "statements": [ { - "nativeSrc": "150213:19:10", + "nativeSrc": "150213:19:23", "nodeType": "YulAssignment", - "src": "150213:19:10", + "src": "150213:19:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "150227:4:10", + "nativeSrc": "150227:4:23", "nodeType": "YulLiteral", - "src": "150227:4:10", + "src": "150227:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "150221:5:10", + "nativeSrc": "150221:5:23", "nodeType": "YulIdentifier", - "src": "150221:5:10" + "src": "150221:5:23" }, - "nativeSrc": "150221:11:10", + "nativeSrc": "150221:11:23", "nodeType": "YulFunctionCall", - "src": "150221:11:10" + "src": "150221:11:23" }, "variableNames": [ { "name": "args", - "nativeSrc": "150213:4:10", + "nativeSrc": "150213:4:23", "nodeType": "YulIdentifier", - "src": "150213:4:10" + "src": "150213:4:23" } ] }, @@ -156005,17 +174980,17 @@ "arguments": [ { "name": "args", - "nativeSrc": "150252:4:10", + "nativeSrc": "150252:4:23", "nodeType": "YulIdentifier", - "src": "150252:4:10" + "src": "150252:4:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "150262:12:10", + "nativeSrc": "150262:12:23", "nodeType": "YulLiteral", - "src": "150262:12:10", + "src": "150262:12:23", "type": "", "value": "0xffffffffff" }, @@ -156025,107 +175000,107 @@ "arguments": [ { "name": "instance", - "nativeSrc": "150292:8:10", + "nativeSrc": "150292:8:23", "nodeType": "YulIdentifier", - "src": "150292:8:10" + "src": "150292:8:23" } ], "functionName": { "name": "extcodesize", - "nativeSrc": "150280:11:10", + "nativeSrc": "150280:11:23", "nodeType": "YulIdentifier", - "src": "150280:11:10" + "src": "150280:11:23" }, - "nativeSrc": "150280:21:10", + "nativeSrc": "150280:21:23", "nodeType": "YulFunctionCall", - "src": "150280:21:10" + "src": "150280:21:23" }, { "kind": "number", - "nativeSrc": "150303:4:10", + "nativeSrc": "150303:4:23", "nodeType": "YulLiteral", - "src": "150303:4:10", + "src": "150303:4:23", "type": "", "value": "0x57" } ], "functionName": { "name": "sub", - "nativeSrc": "150276:3:10", + "nativeSrc": "150276:3:23", "nodeType": "YulIdentifier", - "src": "150276:3:10" + "src": "150276:3:23" }, - "nativeSrc": "150276:32:10", + "nativeSrc": "150276:32:23", "nodeType": "YulFunctionCall", - "src": "150276:32:10" + "src": "150276:32:23" } ], "functionName": { "name": "and", - "nativeSrc": "150258:3:10", + "nativeSrc": "150258:3:23", "nodeType": "YulIdentifier", - "src": "150258:3:10" + "src": "150258:3:23" }, - "nativeSrc": "150258:51:10", + "nativeSrc": "150258:51:23", "nodeType": "YulFunctionCall", - "src": "150258:51:10" + "src": "150258:51:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "150245:6:10", + "nativeSrc": "150245:6:23", "nodeType": "YulIdentifier", - "src": "150245:6:10" + "src": "150245:6:23" }, - "nativeSrc": "150245:65:10", + "nativeSrc": "150245:65:23", "nodeType": "YulFunctionCall", - "src": "150245:65:10" + "src": "150245:65:23" }, - "nativeSrc": "150245:65:10", + "nativeSrc": "150245:65:23", "nodeType": "YulExpressionStatement", - "src": "150245:65:10" + "src": "150245:65:23" }, { "expression": { "arguments": [ { "name": "instance", - "nativeSrc": "150356:8:10", + "nativeSrc": "150356:8:23", "nodeType": "YulIdentifier", - "src": "150356:8:10" + "src": "150356:8:23" }, { "arguments": [ { "name": "args", - "nativeSrc": "150370:4:10", + "nativeSrc": "150370:4:23", "nodeType": "YulIdentifier", - "src": "150370:4:10" + "src": "150370:4:23" }, { "kind": "number", - "nativeSrc": "150376:4:10", + "nativeSrc": "150376:4:23", "nodeType": "YulLiteral", - "src": "150376:4:10", + "src": "150376:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "150366:3:10", + "nativeSrc": "150366:3:23", "nodeType": "YulIdentifier", - "src": "150366:3:10" + "src": "150366:3:23" }, - "nativeSrc": "150366:15:10", + "nativeSrc": "150366:15:23", "nodeType": "YulFunctionCall", - "src": "150366:15:10" + "src": "150366:15:23" }, { "kind": "number", - "nativeSrc": "150383:4:10", + "nativeSrc": "150383:4:23", "nodeType": "YulLiteral", - "src": "150383:4:10", + "src": "150383:4:23", "type": "", "value": "0x57" }, @@ -156135,63 +175110,63 @@ "arguments": [ { "name": "args", - "nativeSrc": "150399:4:10", + "nativeSrc": "150399:4:23", "nodeType": "YulIdentifier", - "src": "150399:4:10" + "src": "150399:4:23" } ], "functionName": { "name": "mload", - "nativeSrc": "150393:5:10", + "nativeSrc": "150393:5:23", "nodeType": "YulIdentifier", - "src": "150393:5:10" + "src": "150393:5:23" }, - "nativeSrc": "150393:11:10", + "nativeSrc": "150393:11:23", "nodeType": "YulFunctionCall", - "src": "150393:11:10" + "src": "150393:11:23" }, { "kind": "number", - "nativeSrc": "150406:4:10", + "nativeSrc": "150406:4:23", "nodeType": "YulLiteral", - "src": "150406:4:10", + "src": "150406:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "150389:3:10", + "nativeSrc": "150389:3:23", "nodeType": "YulIdentifier", - "src": "150389:3:10" + "src": "150389:3:23" }, - "nativeSrc": "150389:22:10", + "nativeSrc": "150389:22:23", "nodeType": "YulFunctionCall", - "src": "150389:22:10" + "src": "150389:22:23" } ], "functionName": { "name": "extcodecopy", - "nativeSrc": "150344:11:10", + "nativeSrc": "150344:11:23", "nodeType": "YulIdentifier", - "src": "150344:11:10" + "src": "150344:11:23" }, - "nativeSrc": "150344:68:10", + "nativeSrc": "150344:68:23", "nodeType": "YulFunctionCall", - "src": "150344:68:10" + "src": "150344:68:23" }, - "nativeSrc": "150344:68:10", + "nativeSrc": "150344:68:23", "nodeType": "YulExpressionStatement", - "src": "150344:68:10" + "src": "150344:68:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "150432:4:10", + "nativeSrc": "150432:4:23", "nodeType": "YulLiteral", - "src": "150432:4:10", + "src": "150432:4:23", "type": "", "value": "0x40" }, @@ -156201,73 +175176,73 @@ "arguments": [ { "name": "args", - "nativeSrc": "150448:4:10", + "nativeSrc": "150448:4:23", "nodeType": "YulIdentifier", - "src": "150448:4:10" + "src": "150448:4:23" } ], "functionName": { "name": "mload", - "nativeSrc": "150442:5:10", + "nativeSrc": "150442:5:23", "nodeType": "YulIdentifier", - "src": "150442:5:10" + "src": "150442:5:23" }, - "nativeSrc": "150442:11:10", + "nativeSrc": "150442:11:23", "nodeType": "YulFunctionCall", - "src": "150442:11:10" + "src": "150442:11:23" }, { "arguments": [ { "name": "args", - "nativeSrc": "150459:4:10", + "nativeSrc": "150459:4:23", "nodeType": "YulIdentifier", - "src": "150459:4:10" + "src": "150459:4:23" }, { "kind": "number", - "nativeSrc": "150465:4:10", + "nativeSrc": "150465:4:23", "nodeType": "YulLiteral", - "src": "150465:4:10", + "src": "150465:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "add", - "nativeSrc": "150455:3:10", + "nativeSrc": "150455:3:23", "nodeType": "YulIdentifier", - "src": "150455:3:10" + "src": "150455:3:23" }, - "nativeSrc": "150455:15:10", + "nativeSrc": "150455:15:23", "nodeType": "YulFunctionCall", - "src": "150455:15:10" + "src": "150455:15:23" } ], "functionName": { "name": "add", - "nativeSrc": "150438:3:10", + "nativeSrc": "150438:3:23", "nodeType": "YulIdentifier", - "src": "150438:3:10" + "src": "150438:3:23" }, - "nativeSrc": "150438:33:10", + "nativeSrc": "150438:33:23", "nodeType": "YulFunctionCall", - "src": "150438:33:10" + "src": "150438:33:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "150425:6:10", + "nativeSrc": "150425:6:23", "nodeType": "YulIdentifier", - "src": "150425:6:10" + "src": "150425:6:23" }, - "nativeSrc": "150425:47:10", + "nativeSrc": "150425:47:23", "nodeType": "YulFunctionCall", - "src": "150425:47:10" + "src": "150425:47:23" }, - "nativeSrc": "150425:47:10", + "nativeSrc": "150425:47:23", "nodeType": "YulExpressionStatement", - "src": "150425:47:10" + "src": "150425:47:23" } ] }, @@ -156275,94 +175250,94 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5016, + "declaration": 6622, "isOffset": false, "isSlot": false, - "src": "150213:4:10", + "src": "150213:4:23", "valueSize": 1 }, { - "declaration": 5016, + "declaration": 6622, "isOffset": false, "isSlot": false, - "src": "150252:4:10", + "src": "150252:4:23", "valueSize": 1 }, { - "declaration": 5016, + "declaration": 6622, "isOffset": false, "isSlot": false, - "src": "150370:4:10", + "src": "150370:4:23", "valueSize": 1 }, { - "declaration": 5016, + "declaration": 6622, "isOffset": false, "isSlot": false, - "src": "150399:4:10", + "src": "150399:4:23", "valueSize": 1 }, { - "declaration": 5016, + "declaration": 6622, "isOffset": false, "isSlot": false, - "src": "150448:4:10", + "src": "150448:4:23", "valueSize": 1 }, { - "declaration": 5016, + "declaration": 6622, "isOffset": false, "isSlot": false, - "src": "150459:4:10", + "src": "150459:4:23", "valueSize": 1 }, { - "declaration": 5013, + "declaration": 6619, "isOffset": false, "isSlot": false, - "src": "150292:8:10", + "src": "150292:8:23", "valueSize": 1 }, { - "declaration": 5013, + "declaration": 6619, "isOffset": false, "isSlot": false, - "src": "150356:8:10", + "src": "150356:8:23", "valueSize": 1 } ], - "id": 5018, + "id": 6624, "nodeType": "InlineAssembly", - "src": "150190:312:10" + "src": "150190:312:23" } ] }, "documentation": { - "id": 5011, + "id": 6617, "nodeType": "StructuredDocumentation", - "src": "149927:82:10", + "src": "149927:82:23", "text": "@dev Equivalent to `argsOnERC1967IBeaconProxy(instance, start, 2 ** 256 - 1)`." }, - "id": 5020, + "id": 6626, "implemented": true, "kind": "function", "modifiers": [], "name": "argsOnERC1967IBeaconProxy", - "nameLocation": "150023:25:10", + "nameLocation": "150023:25:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 5014, + "id": 6620, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5013, + "id": 6619, "mutability": "mutable", "name": "instance", - "nameLocation": "150057:8:10", + "nameLocation": "150057:8:23", "nodeType": "VariableDeclaration", - "scope": 5020, - "src": "150049:16:10", + "scope": 6626, + "src": "150049:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -156370,10 +175345,10 @@ "typeString": "address" }, "typeName": { - "id": 5012, + "id": 6618, "name": "address", "nodeType": "ElementaryTypeName", - "src": "150049:7:10", + "src": "150049:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -156383,21 +175358,21 @@ "visibility": "internal" } ], - "src": "150048:18:10" + "src": "150048:18:23" }, "returnParameters": { - "id": 5017, + "id": 6623, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5016, + "id": 6622, "mutability": "mutable", "name": "args", - "nameLocation": "150127:4:10", + "nameLocation": "150127:4:23", "nodeType": "VariableDeclaration", - "scope": 5020, - "src": "150114:17:10", + "scope": 6626, + "src": "150114:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -156405,10 +175380,10 @@ "typeString": "bytes" }, "typeName": { - "id": 5015, + "id": 6621, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "150114:5:10", + "src": "150114:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -156417,71 +175392,71 @@ "visibility": "internal" } ], - "src": "150113:19:10" + "src": "150113:19:23" }, - "scope": 5093, - "src": "150014:494:10", + "scope": 6699, + "src": "150014:494:23", "stateMutability": "view", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5031, + "id": 6637, "nodeType": "Block", - "src": "150739:485:10", + "src": "150739:485:23", "statements": [ { "AST": { - "nativeSrc": "150801:417:10", + "nativeSrc": "150801:417:23", "nodeType": "YulBlock", - "src": "150801:417:10", + "src": "150801:417:23", "statements": [ { - "nativeSrc": "150815:19:10", + "nativeSrc": "150815:19:23", "nodeType": "YulAssignment", - "src": "150815:19:10", + "src": "150815:19:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "150829:4:10", + "nativeSrc": "150829:4:23", "nodeType": "YulLiteral", - "src": "150829:4:10", + "src": "150829:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "150823:5:10", + "nativeSrc": "150823:5:23", "nodeType": "YulIdentifier", - "src": "150823:5:10" + "src": "150823:5:23" }, - "nativeSrc": "150823:11:10", + "nativeSrc": "150823:11:23", "nodeType": "YulFunctionCall", - "src": "150823:11:10" + "src": "150823:11:23" }, "variableNames": [ { "name": "args", - "nativeSrc": "150815:4:10", + "nativeSrc": "150815:4:23", "nodeType": "YulIdentifier", - "src": "150815:4:10" + "src": "150815:4:23" } ] }, { - "nativeSrc": "150847:60:10", + "nativeSrc": "150847:60:23", "nodeType": "YulVariableDeclaration", - "src": "150847:60:10", + "src": "150847:60:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "150860:12:10", + "nativeSrc": "150860:12:23", "nodeType": "YulLiteral", - "src": "150860:12:10", + "src": "150860:12:23", "type": "", "value": "0xffffffffff" }, @@ -156491,80 +175466,80 @@ "arguments": [ { "name": "instance", - "nativeSrc": "150890:8:10", + "nativeSrc": "150890:8:23", "nodeType": "YulIdentifier", - "src": "150890:8:10" + "src": "150890:8:23" } ], "functionName": { "name": "extcodesize", - "nativeSrc": "150878:11:10", + "nativeSrc": "150878:11:23", "nodeType": "YulIdentifier", - "src": "150878:11:10" + "src": "150878:11:23" }, - "nativeSrc": "150878:21:10", + "nativeSrc": "150878:21:23", "nodeType": "YulFunctionCall", - "src": "150878:21:10" + "src": "150878:21:23" }, { "kind": "number", - "nativeSrc": "150901:4:10", + "nativeSrc": "150901:4:23", "nodeType": "YulLiteral", - "src": "150901:4:10", + "src": "150901:4:23", "type": "", "value": "0x57" } ], "functionName": { "name": "sub", - "nativeSrc": "150874:3:10", + "nativeSrc": "150874:3:23", "nodeType": "YulIdentifier", - "src": "150874:3:10" + "src": "150874:3:23" }, - "nativeSrc": "150874:32:10", + "nativeSrc": "150874:32:23", "nodeType": "YulFunctionCall", - "src": "150874:32:10" + "src": "150874:32:23" } ], "functionName": { "name": "and", - "nativeSrc": "150856:3:10", + "nativeSrc": "150856:3:23", "nodeType": "YulIdentifier", - "src": "150856:3:10" + "src": "150856:3:23" }, - "nativeSrc": "150856:51:10", + "nativeSrc": "150856:51:23", "nodeType": "YulFunctionCall", - "src": "150856:51:10" + "src": "150856:51:23" }, "variables": [ { "name": "n", - "nativeSrc": "150851:1:10", + "nativeSrc": "150851:1:23", "nodeType": "YulTypedName", - "src": "150851:1:10", + "src": "150851:1:23", "type": "" } ] }, { - "nativeSrc": "150920:56:10", + "nativeSrc": "150920:56:23", "nodeType": "YulVariableDeclaration", - "src": "150920:56:10", + "src": "150920:56:23", "value": { "arguments": [ { "name": "n", - "nativeSrc": "150933:1:10", + "nativeSrc": "150933:1:23", "nodeType": "YulIdentifier", - "src": "150933:1:10" + "src": "150933:1:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "150940:8:10", + "nativeSrc": "150940:8:23", "nodeType": "YulLiteral", - "src": "150940:8:10", + "src": "150940:8:23", "type": "", "value": "0xffffff" }, @@ -156574,72 +175549,72 @@ "arguments": [ { "name": "start", - "nativeSrc": "150957:5:10", + "nativeSrc": "150957:5:23", "nodeType": "YulIdentifier", - "src": "150957:5:10" + "src": "150957:5:23" }, { "name": "n", - "nativeSrc": "150964:1:10", + "nativeSrc": "150964:1:23", "nodeType": "YulIdentifier", - "src": "150964:1:10" + "src": "150964:1:23" } ], "functionName": { "name": "lt", - "nativeSrc": "150954:2:10", + "nativeSrc": "150954:2:23", "nodeType": "YulIdentifier", - "src": "150954:2:10" + "src": "150954:2:23" }, - "nativeSrc": "150954:12:10", + "nativeSrc": "150954:12:23", "nodeType": "YulFunctionCall", - "src": "150954:12:10" + "src": "150954:12:23" }, { "name": "start", - "nativeSrc": "150968:5:10", + "nativeSrc": "150968:5:23", "nodeType": "YulIdentifier", - "src": "150968:5:10" + "src": "150968:5:23" } ], "functionName": { "name": "mul", - "nativeSrc": "150950:3:10", + "nativeSrc": "150950:3:23", "nodeType": "YulIdentifier", - "src": "150950:3:10" + "src": "150950:3:23" }, - "nativeSrc": "150950:24:10", + "nativeSrc": "150950:24:23", "nodeType": "YulFunctionCall", - "src": "150950:24:10" + "src": "150950:24:23" } ], "functionName": { "name": "and", - "nativeSrc": "150936:3:10", + "nativeSrc": "150936:3:23", "nodeType": "YulIdentifier", - "src": "150936:3:10" + "src": "150936:3:23" }, - "nativeSrc": "150936:39:10", + "nativeSrc": "150936:39:23", "nodeType": "YulFunctionCall", - "src": "150936:39:10" + "src": "150936:39:23" } ], "functionName": { "name": "sub", - "nativeSrc": "150929:3:10", + "nativeSrc": "150929:3:23", "nodeType": "YulIdentifier", - "src": "150929:3:10" + "src": "150929:3:23" }, - "nativeSrc": "150929:47:10", + "nativeSrc": "150929:47:23", "nodeType": "YulFunctionCall", - "src": "150929:47:10" + "src": "150929:47:23" }, "variables": [ { "name": "l", - "nativeSrc": "150924:1:10", + "nativeSrc": "150924:1:23", "nodeType": "YulTypedName", - "src": "150924:1:10", + "src": "150924:1:23", "type": "" } ] @@ -156649,93 +175624,93 @@ "arguments": [ { "name": "instance", - "nativeSrc": "151001:8:10", + "nativeSrc": "151001:8:23", "nodeType": "YulIdentifier", - "src": "151001:8:10" + "src": "151001:8:23" }, { "name": "args", - "nativeSrc": "151011:4:10", + "nativeSrc": "151011:4:23", "nodeType": "YulIdentifier", - "src": "151011:4:10" + "src": "151011:4:23" }, { "arguments": [ { "name": "start", - "nativeSrc": "151021:5:10", + "nativeSrc": "151021:5:23", "nodeType": "YulIdentifier", - "src": "151021:5:10" + "src": "151021:5:23" }, { "kind": "number", - "nativeSrc": "151028:4:10", + "nativeSrc": "151028:4:23", "nodeType": "YulLiteral", - "src": "151028:4:10", + "src": "151028:4:23", "type": "", "value": "0x37" } ], "functionName": { "name": "add", - "nativeSrc": "151017:3:10", + "nativeSrc": "151017:3:23", "nodeType": "YulIdentifier", - "src": "151017:3:10" + "src": "151017:3:23" }, - "nativeSrc": "151017:16:10", + "nativeSrc": "151017:16:23", "nodeType": "YulFunctionCall", - "src": "151017:16:10" + "src": "151017:16:23" }, { "arguments": [ { "name": "l", - "nativeSrc": "151039:1:10", + "nativeSrc": "151039:1:23", "nodeType": "YulIdentifier", - "src": "151039:1:10" + "src": "151039:1:23" }, { "kind": "number", - "nativeSrc": "151042:4:10", + "nativeSrc": "151042:4:23", "nodeType": "YulLiteral", - "src": "151042:4:10", + "src": "151042:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "add", - "nativeSrc": "151035:3:10", + "nativeSrc": "151035:3:23", "nodeType": "YulIdentifier", - "src": "151035:3:10" + "src": "151035:3:23" }, - "nativeSrc": "151035:12:10", + "nativeSrc": "151035:12:23", "nodeType": "YulFunctionCall", - "src": "151035:12:10" + "src": "151035:12:23" } ], "functionName": { "name": "extcodecopy", - "nativeSrc": "150989:11:10", + "nativeSrc": "150989:11:23", "nodeType": "YulIdentifier", - "src": "150989:11:10" + "src": "150989:11:23" }, - "nativeSrc": "150989:59:10", + "nativeSrc": "150989:59:23", "nodeType": "YulFunctionCall", - "src": "150989:59:10" + "src": "150989:59:23" }, - "nativeSrc": "150989:59:10", + "nativeSrc": "150989:59:23", "nodeType": "YulExpressionStatement", - "src": "150989:59:10" + "src": "150989:59:23" }, { "expression": { "arguments": [ { "name": "args", - "nativeSrc": "151068:4:10", + "nativeSrc": "151068:4:23", "nodeType": "YulIdentifier", - "src": "151068:4:10" + "src": "151068:4:23" }, { "arguments": [ @@ -156743,86 +175718,86 @@ "arguments": [ { "name": "n", - "nativeSrc": "151082:1:10", + "nativeSrc": "151082:1:23", "nodeType": "YulIdentifier", - "src": "151082:1:10" + "src": "151082:1:23" }, { "name": "start", - "nativeSrc": "151085:5:10", + "nativeSrc": "151085:5:23", "nodeType": "YulIdentifier", - "src": "151085:5:10" + "src": "151085:5:23" } ], "functionName": { "name": "sub", - "nativeSrc": "151078:3:10", + "nativeSrc": "151078:3:23", "nodeType": "YulIdentifier", - "src": "151078:3:10" + "src": "151078:3:23" }, - "nativeSrc": "151078:13:10", + "nativeSrc": "151078:13:23", "nodeType": "YulFunctionCall", - "src": "151078:13:10" + "src": "151078:13:23" }, { "arguments": [ { "name": "start", - "nativeSrc": "151096:5:10", + "nativeSrc": "151096:5:23", "nodeType": "YulIdentifier", - "src": "151096:5:10" + "src": "151096:5:23" }, { "name": "n", - "nativeSrc": "151103:1:10", + "nativeSrc": "151103:1:23", "nodeType": "YulIdentifier", - "src": "151103:1:10" + "src": "151103:1:23" } ], "functionName": { "name": "lt", - "nativeSrc": "151093:2:10", + "nativeSrc": "151093:2:23", "nodeType": "YulIdentifier", - "src": "151093:2:10" + "src": "151093:2:23" }, - "nativeSrc": "151093:12:10", + "nativeSrc": "151093:12:23", "nodeType": "YulFunctionCall", - "src": "151093:12:10" + "src": "151093:12:23" } ], "functionName": { "name": "mul", - "nativeSrc": "151074:3:10", + "nativeSrc": "151074:3:23", "nodeType": "YulIdentifier", - "src": "151074:3:10" + "src": "151074:3:23" }, - "nativeSrc": "151074:32:10", + "nativeSrc": "151074:32:23", "nodeType": "YulFunctionCall", - "src": "151074:32:10" + "src": "151074:32:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "151061:6:10", + "nativeSrc": "151061:6:23", "nodeType": "YulIdentifier", - "src": "151061:6:10" + "src": "151061:6:23" }, - "nativeSrc": "151061:46:10", + "nativeSrc": "151061:46:23", "nodeType": "YulFunctionCall", - "src": "151061:46:10" + "src": "151061:46:23" }, - "nativeSrc": "151061:46:10", + "nativeSrc": "151061:46:23", "nodeType": "YulExpressionStatement", - "src": "151061:46:10" + "src": "151061:46:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "151148:4:10", + "nativeSrc": "151148:4:23", "nodeType": "YulLiteral", - "src": "151148:4:10", + "src": "151148:4:23", "type": "", "value": "0x40" }, @@ -156830,17 +175805,17 @@ "arguments": [ { "name": "args", - "nativeSrc": "151158:4:10", + "nativeSrc": "151158:4:23", "nodeType": "YulIdentifier", - "src": "151158:4:10" + "src": "151158:4:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "151168:4:10", + "nativeSrc": "151168:4:23", "nodeType": "YulLiteral", - "src": "151168:4:10", + "src": "151168:4:23", "type": "", "value": "0x40" }, @@ -156848,57 +175823,57 @@ "arguments": [ { "name": "args", - "nativeSrc": "151180:4:10", + "nativeSrc": "151180:4:23", "nodeType": "YulIdentifier", - "src": "151180:4:10" + "src": "151180:4:23" } ], "functionName": { "name": "mload", - "nativeSrc": "151174:5:10", + "nativeSrc": "151174:5:23", "nodeType": "YulIdentifier", - "src": "151174:5:10" + "src": "151174:5:23" }, - "nativeSrc": "151174:11:10", + "nativeSrc": "151174:11:23", "nodeType": "YulFunctionCall", - "src": "151174:11:10" + "src": "151174:11:23" } ], "functionName": { "name": "add", - "nativeSrc": "151164:3:10", + "nativeSrc": "151164:3:23", "nodeType": "YulIdentifier", - "src": "151164:3:10" + "src": "151164:3:23" }, - "nativeSrc": "151164:22:10", + "nativeSrc": "151164:22:23", "nodeType": "YulFunctionCall", - "src": "151164:22:10" + "src": "151164:22:23" } ], "functionName": { "name": "add", - "nativeSrc": "151154:3:10", + "nativeSrc": "151154:3:23", "nodeType": "YulIdentifier", - "src": "151154:3:10" + "src": "151154:3:23" }, - "nativeSrc": "151154:33:10", + "nativeSrc": "151154:33:23", "nodeType": "YulFunctionCall", - "src": "151154:33:10" + "src": "151154:33:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "151141:6:10", + "nativeSrc": "151141:6:23", "nodeType": "YulIdentifier", - "src": "151141:6:10" + "src": "151141:6:23" }, - "nativeSrc": "151141:47:10", + "nativeSrc": "151141:47:23", "nodeType": "YulFunctionCall", - "src": "151141:47:10" + "src": "151141:47:23" }, - "nativeSrc": "151141:47:10", + "nativeSrc": "151141:47:23", "nodeType": "YulExpressionStatement", - "src": "151141:47:10" + "src": "151141:47:23" } ] }, @@ -156906,122 +175881,122 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5028, + "declaration": 6634, "isOffset": false, "isSlot": false, - "src": "150815:4:10", + "src": "150815:4:23", "valueSize": 1 }, { - "declaration": 5028, + "declaration": 6634, "isOffset": false, "isSlot": false, - "src": "151011:4:10", + "src": "151011:4:23", "valueSize": 1 }, { - "declaration": 5028, + "declaration": 6634, "isOffset": false, "isSlot": false, - "src": "151068:4:10", + "src": "151068:4:23", "valueSize": 1 }, { - "declaration": 5028, + "declaration": 6634, "isOffset": false, "isSlot": false, - "src": "151158:4:10", + "src": "151158:4:23", "valueSize": 1 }, { - "declaration": 5028, + "declaration": 6634, "isOffset": false, "isSlot": false, - "src": "151180:4:10", + "src": "151180:4:23", "valueSize": 1 }, { - "declaration": 5023, + "declaration": 6629, "isOffset": false, "isSlot": false, - "src": "150890:8:10", + "src": "150890:8:23", "valueSize": 1 }, { - "declaration": 5023, + "declaration": 6629, "isOffset": false, "isSlot": false, - "src": "151001:8:10", + "src": "151001:8:23", "valueSize": 1 }, { - "declaration": 5025, + "declaration": 6631, "isOffset": false, "isSlot": false, - "src": "150957:5:10", + "src": "150957:5:23", "valueSize": 1 }, { - "declaration": 5025, + "declaration": 6631, "isOffset": false, "isSlot": false, - "src": "150968:5:10", + "src": "150968:5:23", "valueSize": 1 }, { - "declaration": 5025, + "declaration": 6631, "isOffset": false, "isSlot": false, - "src": "151021:5:10", + "src": "151021:5:23", "valueSize": 1 }, { - "declaration": 5025, + "declaration": 6631, "isOffset": false, "isSlot": false, - "src": "151085:5:10", + "src": "151085:5:23", "valueSize": 1 }, { - "declaration": 5025, + "declaration": 6631, "isOffset": false, "isSlot": false, - "src": "151096:5:10", + "src": "151096:5:23", "valueSize": 1 } ], - "id": 5030, + "id": 6636, "nodeType": "InlineAssembly", - "src": "150792:426:10" + "src": "150792:426:23" } ] }, "documentation": { - "id": 5021, + "id": 6627, "nodeType": "StructuredDocumentation", - "src": "150514:82:10", + "src": "150514:82:23", "text": "@dev Equivalent to `argsOnERC1967IBeaconProxy(instance, start, 2 ** 256 - 1)`." }, - "id": 5032, + "id": 6638, "implemented": true, "kind": "function", "modifiers": [], "name": "argsOnERC1967IBeaconProxy", - "nameLocation": "150610:25:10", + "nameLocation": "150610:25:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 5026, + "id": 6632, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5023, + "id": 6629, "mutability": "mutable", "name": "instance", - "nameLocation": "150644:8:10", + "nameLocation": "150644:8:23", "nodeType": "VariableDeclaration", - "scope": 5032, - "src": "150636:16:10", + "scope": 6638, + "src": "150636:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -157029,10 +176004,10 @@ "typeString": "address" }, "typeName": { - "id": 5022, + "id": 6628, "name": "address", "nodeType": "ElementaryTypeName", - "src": "150636:7:10", + "src": "150636:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -157043,13 +176018,13 @@ }, { "constant": false, - "id": 5025, + "id": 6631, "mutability": "mutable", "name": "start", - "nameLocation": "150662:5:10", + "nameLocation": "150662:5:23", "nodeType": "VariableDeclaration", - "scope": 5032, - "src": "150654:13:10", + "scope": 6638, + "src": "150654:13:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -157057,10 +176032,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5024, + "id": 6630, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "150654:7:10", + "src": "150654:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -157069,21 +176044,21 @@ "visibility": "internal" } ], - "src": "150635:33:10" + "src": "150635:33:23" }, "returnParameters": { - "id": 5029, + "id": 6635, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5028, + "id": 6634, "mutability": "mutable", "name": "args", - "nameLocation": "150729:4:10", + "nameLocation": "150729:4:23", "nodeType": "VariableDeclaration", - "scope": 5032, - "src": "150716:17:10", + "scope": 6638, + "src": "150716:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -157091,10 +176066,10 @@ "typeString": "bytes" }, "typeName": { - "id": 5027, + "id": 6633, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "150716:5:10", + "src": "150716:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -157103,84 +176078,84 @@ "visibility": "internal" } ], - "src": "150715:19:10" + "src": "150715:19:23" }, - "scope": 5093, - "src": "150601:623:10", + "scope": 6699, + "src": "150601:623:23", "stateMutability": "view", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5045, + "id": 6651, "nodeType": "Block", - "src": "151761:785:10", + "src": "151761:785:23", "statements": [ { "AST": { - "nativeSrc": "151823:717:10", + "nativeSrc": "151823:717:23", "nodeType": "YulBlock", - "src": "151823:717:10", + "src": "151823:717:23", "statements": [ { - "nativeSrc": "151837:19:10", + "nativeSrc": "151837:19:23", "nodeType": "YulAssignment", - "src": "151837:19:10", + "src": "151837:19:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "151851:4:10", + "nativeSrc": "151851:4:23", "nodeType": "YulLiteral", - "src": "151851:4:10", + "src": "151851:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "151845:5:10", + "nativeSrc": "151845:5:23", "nodeType": "YulIdentifier", - "src": "151845:5:10" + "src": "151845:5:23" }, - "nativeSrc": "151845:11:10", + "nativeSrc": "151845:11:23", "nodeType": "YulFunctionCall", - "src": "151845:11:10" + "src": "151845:11:23" }, "variableNames": [ { "name": "args", - "nativeSrc": "151837:4:10", + "nativeSrc": "151837:4:23", "nodeType": "YulIdentifier", - "src": "151837:4:10" + "src": "151837:4:23" } ] }, { "body": { - "nativeSrc": "151896:17:10", + "nativeSrc": "151896:17:23", "nodeType": "YulBlock", - "src": "151896:17:10", + "src": "151896:17:23", "statements": [ { - "nativeSrc": "151898:13:10", + "nativeSrc": "151898:13:23", "nodeType": "YulAssignment", - "src": "151898:13:10", + "src": "151898:13:23", "value": { "kind": "number", - "nativeSrc": "151905:6:10", + "nativeSrc": "151905:6:23", "nodeType": "YulLiteral", - "src": "151905:6:10", + "src": "151905:6:23", "type": "", "value": "0xffff" }, "variableNames": [ { "name": "end", - "nativeSrc": "151898:3:10", + "nativeSrc": "151898:3:23", "nodeType": "YulIdentifier", - "src": "151898:3:10" + "src": "151898:3:23" } ] } @@ -157192,117 +176167,117 @@ "arguments": [ { "name": "end", - "nativeSrc": "151882:3:10", + "nativeSrc": "151882:3:23", "nodeType": "YulIdentifier", - "src": "151882:3:10" + "src": "151882:3:23" }, { "kind": "number", - "nativeSrc": "151887:6:10", + "nativeSrc": "151887:6:23", "nodeType": "YulLiteral", - "src": "151887:6:10", + "src": "151887:6:23", "type": "", "value": "0xffff" } ], "functionName": { "name": "lt", - "nativeSrc": "151879:2:10", + "nativeSrc": "151879:2:23", "nodeType": "YulIdentifier", - "src": "151879:2:10" + "src": "151879:2:23" }, - "nativeSrc": "151879:15:10", + "nativeSrc": "151879:15:23", "nodeType": "YulFunctionCall", - "src": "151879:15:10" + "src": "151879:15:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "151872:6:10", + "nativeSrc": "151872:6:23", "nodeType": "YulIdentifier", - "src": "151872:6:10" + "src": "151872:6:23" }, - "nativeSrc": "151872:23:10", + "nativeSrc": "151872:23:23", "nodeType": "YulFunctionCall", - "src": "151872:23:10" + "src": "151872:23:23" }, - "nativeSrc": "151869:44:10", + "nativeSrc": "151869:44:23", "nodeType": "YulIf", - "src": "151869:44:10" + "src": "151869:44:23" }, { - "nativeSrc": "151926:45:10", + "nativeSrc": "151926:45:23", "nodeType": "YulVariableDeclaration", - "src": "151926:45:10", + "src": "151926:45:23", "value": { "arguments": [ { "arguments": [ { "name": "end", - "nativeSrc": "151943:3:10", + "nativeSrc": "151943:3:23", "nodeType": "YulIdentifier", - "src": "151943:3:10" + "src": "151943:3:23" }, { "name": "start", - "nativeSrc": "151948:5:10", + "nativeSrc": "151948:5:23", "nodeType": "YulIdentifier", - "src": "151948:5:10" + "src": "151948:5:23" } ], "functionName": { "name": "sub", - "nativeSrc": "151939:3:10", + "nativeSrc": "151939:3:23", "nodeType": "YulIdentifier", - "src": "151939:3:10" + "src": "151939:3:23" }, - "nativeSrc": "151939:15:10", + "nativeSrc": "151939:15:23", "nodeType": "YulFunctionCall", - "src": "151939:15:10" + "src": "151939:15:23" }, { "arguments": [ { "name": "start", - "nativeSrc": "151959:5:10", + "nativeSrc": "151959:5:23", "nodeType": "YulIdentifier", - "src": "151959:5:10" + "src": "151959:5:23" }, { "name": "end", - "nativeSrc": "151966:3:10", + "nativeSrc": "151966:3:23", "nodeType": "YulIdentifier", - "src": "151966:3:10" + "src": "151966:3:23" } ], "functionName": { "name": "lt", - "nativeSrc": "151956:2:10", + "nativeSrc": "151956:2:23", "nodeType": "YulIdentifier", - "src": "151956:2:10" + "src": "151956:2:23" }, - "nativeSrc": "151956:14:10", + "nativeSrc": "151956:14:23", "nodeType": "YulFunctionCall", - "src": "151956:14:10" + "src": "151956:14:23" } ], "functionName": { "name": "mul", - "nativeSrc": "151935:3:10", + "nativeSrc": "151935:3:23", "nodeType": "YulIdentifier", - "src": "151935:3:10" + "src": "151935:3:23" }, - "nativeSrc": "151935:36:10", + "nativeSrc": "151935:36:23", "nodeType": "YulFunctionCall", - "src": "151935:36:10" + "src": "151935:36:23" }, "variables": [ { "name": "d", - "nativeSrc": "151930:1:10", + "nativeSrc": "151930:1:23", "nodeType": "YulTypedName", - "src": "151930:1:10", + "src": "151930:1:23", "type": "" } ] @@ -157312,141 +176287,141 @@ "arguments": [ { "name": "instance", - "nativeSrc": "151996:8:10", + "nativeSrc": "151996:8:23", "nodeType": "YulIdentifier", - "src": "151996:8:10" + "src": "151996:8:23" }, { "name": "args", - "nativeSrc": "152006:4:10", + "nativeSrc": "152006:4:23", "nodeType": "YulIdentifier", - "src": "152006:4:10" + "src": "152006:4:23" }, { "arguments": [ { "name": "start", - "nativeSrc": "152016:5:10", + "nativeSrc": "152016:5:23", "nodeType": "YulIdentifier", - "src": "152016:5:10" + "src": "152016:5:23" }, { "kind": "number", - "nativeSrc": "152023:4:10", + "nativeSrc": "152023:4:23", "nodeType": "YulLiteral", - "src": "152023:4:10", + "src": "152023:4:23", "type": "", "value": "0x37" } ], "functionName": { "name": "add", - "nativeSrc": "152012:3:10", + "nativeSrc": "152012:3:23", "nodeType": "YulIdentifier", - "src": "152012:3:10" + "src": "152012:3:23" }, - "nativeSrc": "152012:16:10", + "nativeSrc": "152012:16:23", "nodeType": "YulFunctionCall", - "src": "152012:16:10" + "src": "152012:16:23" }, { "arguments": [ { "name": "d", - "nativeSrc": "152034:1:10", + "nativeSrc": "152034:1:23", "nodeType": "YulIdentifier", - "src": "152034:1:10" + "src": "152034:1:23" }, { "kind": "number", - "nativeSrc": "152037:4:10", + "nativeSrc": "152037:4:23", "nodeType": "YulLiteral", - "src": "152037:4:10", + "src": "152037:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "152030:3:10", + "nativeSrc": "152030:3:23", "nodeType": "YulIdentifier", - "src": "152030:3:10" + "src": "152030:3:23" }, - "nativeSrc": "152030:12:10", + "nativeSrc": "152030:12:23", "nodeType": "YulFunctionCall", - "src": "152030:12:10" + "src": "152030:12:23" } ], "functionName": { "name": "extcodecopy", - "nativeSrc": "151984:11:10", + "nativeSrc": "151984:11:23", "nodeType": "YulIdentifier", - "src": "151984:11:10" + "src": "151984:11:23" }, - "nativeSrc": "151984:59:10", + "nativeSrc": "151984:59:23", "nodeType": "YulFunctionCall", - "src": "151984:59:10" + "src": "151984:59:23" }, - "nativeSrc": "151984:59:10", + "nativeSrc": "151984:59:23", "nodeType": "YulExpressionStatement", - "src": "151984:59:10" + "src": "151984:59:23" }, { "body": { - "nativeSrc": "152098:229:10", + "nativeSrc": "152098:229:23", "nodeType": "YulBlock", - "src": "152098:229:10", + "src": "152098:229:23", "statements": [ { - "nativeSrc": "152116:41:10", + "nativeSrc": "152116:41:23", "nodeType": "YulVariableDeclaration", - "src": "152116:41:10", + "src": "152116:41:23", "value": { "arguments": [ { "arguments": [ { "name": "instance", - "nativeSrc": "152141:8:10", + "nativeSrc": "152141:8:23", "nodeType": "YulIdentifier", - "src": "152141:8:10" + "src": "152141:8:23" } ], "functionName": { "name": "extcodesize", - "nativeSrc": "152129:11:10", + "nativeSrc": "152129:11:23", "nodeType": "YulIdentifier", - "src": "152129:11:10" + "src": "152129:11:23" }, - "nativeSrc": "152129:21:10", + "nativeSrc": "152129:21:23", "nodeType": "YulFunctionCall", - "src": "152129:21:10" + "src": "152129:21:23" }, { "kind": "number", - "nativeSrc": "152152:4:10", + "nativeSrc": "152152:4:23", "nodeType": "YulLiteral", - "src": "152152:4:10", + "src": "152152:4:23", "type": "", "value": "0x57" } ], "functionName": { "name": "sub", - "nativeSrc": "152125:3:10", + "nativeSrc": "152125:3:23", "nodeType": "YulIdentifier", - "src": "152125:3:10" + "src": "152125:3:23" }, - "nativeSrc": "152125:32:10", + "nativeSrc": "152125:32:23", "nodeType": "YulFunctionCall", - "src": "152125:32:10" + "src": "152125:32:23" }, "variables": [ { "name": "n", - "nativeSrc": "152120:1:10", + "nativeSrc": "152120:1:23", "nodeType": "YulTypedName", - "src": "152120:1:10", + "src": "152120:1:23", "type": "" } ] @@ -157458,106 +176433,106 @@ "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "152189:14:10", + "nativeSrc": "152189:14:23", "nodeType": "YulIdentifier", - "src": "152189:14:10" + "src": "152189:14:23" }, - "nativeSrc": "152189:16:10", + "nativeSrc": "152189:16:23", "nodeType": "YulFunctionCall", - "src": "152189:16:10" + "src": "152189:16:23" }, { "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "152207:14:10", + "nativeSrc": "152207:14:23", "nodeType": "YulIdentifier", - "src": "152207:14:10" + "src": "152207:14:23" }, - "nativeSrc": "152207:16:10", + "nativeSrc": "152207:16:23", "nodeType": "YulFunctionCall", - "src": "152207:16:10" + "src": "152207:16:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "152229:2:10", + "nativeSrc": "152229:2:23", "nodeType": "YulLiteral", - "src": "152229:2:10", + "src": "152229:2:23", "type": "", "value": "40" }, { "name": "n", - "nativeSrc": "152233:1:10", + "nativeSrc": "152233:1:23", "nodeType": "YulIdentifier", - "src": "152233:1:10" + "src": "152233:1:23" } ], "functionName": { "name": "shr", - "nativeSrc": "152225:3:10", + "nativeSrc": "152225:3:23", "nodeType": "YulIdentifier", - "src": "152225:3:10" + "src": "152225:3:23" }, - "nativeSrc": "152225:10:10", + "nativeSrc": "152225:10:23", "nodeType": "YulFunctionCall", - "src": "152225:10:10" + "src": "152225:10:23" } ], "functionName": { "name": "returndatacopy", - "nativeSrc": "152174:14:10", + "nativeSrc": "152174:14:23", "nodeType": "YulIdentifier", - "src": "152174:14:10" + "src": "152174:14:23" }, - "nativeSrc": "152174:62:10", + "nativeSrc": "152174:62:23", "nodeType": "YulFunctionCall", - "src": "152174:62:10" + "src": "152174:62:23" }, - "nativeSrc": "152174:62:10", + "nativeSrc": "152174:62:23", "nodeType": "YulExpressionStatement", - "src": "152174:62:10" + "src": "152174:62:23" }, { - "nativeSrc": "152253:60:10", + "nativeSrc": "152253:60:23", "nodeType": "YulAssignment", - "src": "152253:60:10", + "src": "152253:60:23", "value": { "arguments": [ { "arguments": [ { "name": "n", - "nativeSrc": "152265:1:10", + "nativeSrc": "152265:1:23", "nodeType": "YulIdentifier", - "src": "152265:1:10" + "src": "152265:1:23" }, { "name": "start", - "nativeSrc": "152268:5:10", + "nativeSrc": "152268:5:23", "nodeType": "YulIdentifier", - "src": "152268:5:10" + "src": "152268:5:23" } ], "functionName": { "name": "gt", - "nativeSrc": "152262:2:10", + "nativeSrc": "152262:2:23", "nodeType": "YulIdentifier", - "src": "152262:2:10" + "src": "152262:2:23" }, - "nativeSrc": "152262:12:10", + "nativeSrc": "152262:12:23", "nodeType": "YulFunctionCall", - "src": "152262:12:10" + "src": "152262:12:23" }, { "arguments": [ { "name": "d", - "nativeSrc": "152280:1:10", + "nativeSrc": "152280:1:23", "nodeType": "YulIdentifier", - "src": "152280:1:10" + "src": "152280:1:23" }, { "arguments": [ @@ -157565,91 +176540,91 @@ "arguments": [ { "name": "end", - "nativeSrc": "152290:3:10", + "nativeSrc": "152290:3:23", "nodeType": "YulIdentifier", - "src": "152290:3:10" + "src": "152290:3:23" }, { "name": "n", - "nativeSrc": "152295:1:10", + "nativeSrc": "152295:1:23", "nodeType": "YulIdentifier", - "src": "152295:1:10" + "src": "152295:1:23" } ], "functionName": { "name": "gt", - "nativeSrc": "152287:2:10", + "nativeSrc": "152287:2:23", "nodeType": "YulIdentifier", - "src": "152287:2:10" + "src": "152287:2:23" }, - "nativeSrc": "152287:10:10", + "nativeSrc": "152287:10:23", "nodeType": "YulFunctionCall", - "src": "152287:10:10" + "src": "152287:10:23" }, { "arguments": [ { "name": "end", - "nativeSrc": "152303:3:10", + "nativeSrc": "152303:3:23", "nodeType": "YulIdentifier", - "src": "152303:3:10" + "src": "152303:3:23" }, { "name": "n", - "nativeSrc": "152308:1:10", + "nativeSrc": "152308:1:23", "nodeType": "YulIdentifier", - "src": "152308:1:10" + "src": "152308:1:23" } ], "functionName": { "name": "sub", - "nativeSrc": "152299:3:10", + "nativeSrc": "152299:3:23", "nodeType": "YulIdentifier", - "src": "152299:3:10" + "src": "152299:3:23" }, - "nativeSrc": "152299:11:10", + "nativeSrc": "152299:11:23", "nodeType": "YulFunctionCall", - "src": "152299:11:10" + "src": "152299:11:23" } ], "functionName": { "name": "mul", - "nativeSrc": "152283:3:10", + "nativeSrc": "152283:3:23", "nodeType": "YulIdentifier", - "src": "152283:3:10" + "src": "152283:3:23" }, - "nativeSrc": "152283:28:10", + "nativeSrc": "152283:28:23", "nodeType": "YulFunctionCall", - "src": "152283:28:10" + "src": "152283:28:23" } ], "functionName": { "name": "sub", - "nativeSrc": "152276:3:10", + "nativeSrc": "152276:3:23", "nodeType": "YulIdentifier", - "src": "152276:3:10" + "src": "152276:3:23" }, - "nativeSrc": "152276:36:10", + "nativeSrc": "152276:36:23", "nodeType": "YulFunctionCall", - "src": "152276:36:10" + "src": "152276:36:23" } ], "functionName": { "name": "mul", - "nativeSrc": "152258:3:10", + "nativeSrc": "152258:3:23", "nodeType": "YulIdentifier", - "src": "152258:3:10" + "src": "152258:3:23" }, - "nativeSrc": "152258:55:10", + "nativeSrc": "152258:55:23", "nodeType": "YulFunctionCall", - "src": "152258:55:10" + "src": "152258:55:23" }, "variableNames": [ { "name": "d", - "nativeSrc": "152253:1:10", + "nativeSrc": "152253:1:23", "nodeType": "YulIdentifier", - "src": "152253:1:10" + "src": "152253:1:23" } ] } @@ -157661,9 +176636,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "152070:4:10", + "nativeSrc": "152070:4:23", "nodeType": "YulLiteral", - "src": "152070:4:10", + "src": "152070:4:23", "type": "", "value": "0xff" }, @@ -157673,93 +176648,93 @@ "arguments": [ { "name": "args", - "nativeSrc": "152086:4:10", + "nativeSrc": "152086:4:23", "nodeType": "YulIdentifier", - "src": "152086:4:10" + "src": "152086:4:23" }, { "name": "d", - "nativeSrc": "152092:1:10", + "nativeSrc": "152092:1:23", "nodeType": "YulIdentifier", - "src": "152092:1:10" + "src": "152092:1:23" } ], "functionName": { "name": "add", - "nativeSrc": "152082:3:10", + "nativeSrc": "152082:3:23", "nodeType": "YulIdentifier", - "src": "152082:3:10" + "src": "152082:3:23" }, - "nativeSrc": "152082:12:10", + "nativeSrc": "152082:12:23", "nodeType": "YulFunctionCall", - "src": "152082:12:10" + "src": "152082:12:23" } ], "functionName": { "name": "mload", - "nativeSrc": "152076:5:10", + "nativeSrc": "152076:5:23", "nodeType": "YulIdentifier", - "src": "152076:5:10" + "src": "152076:5:23" }, - "nativeSrc": "152076:19:10", + "nativeSrc": "152076:19:23", "nodeType": "YulFunctionCall", - "src": "152076:19:10" + "src": "152076:19:23" } ], "functionName": { "name": "and", - "nativeSrc": "152066:3:10", + "nativeSrc": "152066:3:23", "nodeType": "YulIdentifier", - "src": "152066:3:10" + "src": "152066:3:23" }, - "nativeSrc": "152066:30:10", + "nativeSrc": "152066:30:23", "nodeType": "YulFunctionCall", - "src": "152066:30:10" + "src": "152066:30:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "152059:6:10", + "nativeSrc": "152059:6:23", "nodeType": "YulIdentifier", - "src": "152059:6:10" + "src": "152059:6:23" }, - "nativeSrc": "152059:38:10", + "nativeSrc": "152059:38:23", "nodeType": "YulFunctionCall", - "src": "152059:38:10" + "src": "152059:38:23" }, - "nativeSrc": "152056:271:10", + "nativeSrc": "152056:271:23", "nodeType": "YulIf", - "src": "152056:271:10" + "src": "152056:271:23" }, { "expression": { "arguments": [ { "name": "args", - "nativeSrc": "152347:4:10", + "nativeSrc": "152347:4:23", "nodeType": "YulIdentifier", - "src": "152347:4:10" + "src": "152347:4:23" }, { "name": "d", - "nativeSrc": "152353:1:10", + "nativeSrc": "152353:1:23", "nodeType": "YulIdentifier", - "src": "152353:1:10" + "src": "152353:1:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "152340:6:10", + "nativeSrc": "152340:6:23", "nodeType": "YulIdentifier", - "src": "152340:6:10" + "src": "152340:6:23" }, - "nativeSrc": "152340:15:10", + "nativeSrc": "152340:15:23", "nodeType": "YulFunctionCall", - "src": "152340:15:10" + "src": "152340:15:23" }, - "nativeSrc": "152340:15:10", + "nativeSrc": "152340:15:23", "nodeType": "YulExpressionStatement", - "src": "152340:15:10" + "src": "152340:15:23" }, { "expression": { @@ -157770,77 +176745,77 @@ "arguments": [ { "name": "args", - "nativeSrc": "152404:4:10", + "nativeSrc": "152404:4:23", "nodeType": "YulIdentifier", - "src": "152404:4:10" + "src": "152404:4:23" }, { "kind": "number", - "nativeSrc": "152410:4:10", + "nativeSrc": "152410:4:23", "nodeType": "YulLiteral", - "src": "152410:4:10", + "src": "152410:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "152400:3:10", + "nativeSrc": "152400:3:23", "nodeType": "YulIdentifier", - "src": "152400:3:10" + "src": "152400:3:23" }, - "nativeSrc": "152400:15:10", + "nativeSrc": "152400:15:23", "nodeType": "YulFunctionCall", - "src": "152400:15:10" + "src": "152400:15:23" }, { "name": "d", - "nativeSrc": "152417:1:10", + "nativeSrc": "152417:1:23", "nodeType": "YulIdentifier", - "src": "152417:1:10" + "src": "152417:1:23" } ], "functionName": { "name": "add", - "nativeSrc": "152396:3:10", + "nativeSrc": "152396:3:23", "nodeType": "YulIdentifier", - "src": "152396:3:10" + "src": "152396:3:23" }, - "nativeSrc": "152396:23:10", + "nativeSrc": "152396:23:23", "nodeType": "YulFunctionCall", - "src": "152396:23:10" + "src": "152396:23:23" }, { "kind": "number", - "nativeSrc": "152421:1:10", + "nativeSrc": "152421:1:23", "nodeType": "YulLiteral", - "src": "152421:1:10", + "src": "152421:1:23", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "152389:6:10", + "nativeSrc": "152389:6:23", "nodeType": "YulIdentifier", - "src": "152389:6:10" + "src": "152389:6:23" }, - "nativeSrc": "152389:34:10", + "nativeSrc": "152389:34:23", "nodeType": "YulFunctionCall", - "src": "152389:34:10" + "src": "152389:34:23" }, - "nativeSrc": "152389:34:10", + "nativeSrc": "152389:34:23", "nodeType": "YulExpressionStatement", - "src": "152389:34:10" + "src": "152389:34:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "152480:4:10", + "nativeSrc": "152480:4:23", "nodeType": "YulLiteral", - "src": "152480:4:10", + "src": "152480:4:23", "type": "", "value": "0x40" }, @@ -157850,60 +176825,60 @@ "arguments": [ { "name": "args", - "nativeSrc": "152494:4:10", + "nativeSrc": "152494:4:23", "nodeType": "YulIdentifier", - "src": "152494:4:10" + "src": "152494:4:23" }, { "kind": "number", - "nativeSrc": "152500:4:10", + "nativeSrc": "152500:4:23", "nodeType": "YulLiteral", - "src": "152500:4:10", + "src": "152500:4:23", "type": "", "value": "0x40" } ], "functionName": { "name": "add", - "nativeSrc": "152490:3:10", + "nativeSrc": "152490:3:23", "nodeType": "YulIdentifier", - "src": "152490:3:10" + "src": "152490:3:23" }, - "nativeSrc": "152490:15:10", + "nativeSrc": "152490:15:23", "nodeType": "YulFunctionCall", - "src": "152490:15:10" + "src": "152490:15:23" }, { "name": "d", - "nativeSrc": "152507:1:10", + "nativeSrc": "152507:1:23", "nodeType": "YulIdentifier", - "src": "152507:1:10" + "src": "152507:1:23" } ], "functionName": { "name": "add", - "nativeSrc": "152486:3:10", + "nativeSrc": "152486:3:23", "nodeType": "YulIdentifier", - "src": "152486:3:10" + "src": "152486:3:23" }, - "nativeSrc": "152486:23:10", + "nativeSrc": "152486:23:23", "nodeType": "YulFunctionCall", - "src": "152486:23:10" + "src": "152486:23:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "152473:6:10", + "nativeSrc": "152473:6:23", "nodeType": "YulIdentifier", - "src": "152473:6:10" + "src": "152473:6:23" }, - "nativeSrc": "152473:37:10", + "nativeSrc": "152473:37:23", "nodeType": "YulFunctionCall", - "src": "152473:37:10" + "src": "152473:37:23" }, - "nativeSrc": "152473:37:10", + "nativeSrc": "152473:37:23", "nodeType": "YulExpressionStatement", - "src": "152473:37:10" + "src": "152473:37:23" } ] }, @@ -157911,164 +176886,164 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5042, + "declaration": 6648, "isOffset": false, "isSlot": false, - "src": "151837:4:10", + "src": "151837:4:23", "valueSize": 1 }, { - "declaration": 5042, + "declaration": 6648, "isOffset": false, "isSlot": false, - "src": "152006:4:10", + "src": "152006:4:23", "valueSize": 1 }, { - "declaration": 5042, + "declaration": 6648, "isOffset": false, "isSlot": false, - "src": "152086:4:10", + "src": "152086:4:23", "valueSize": 1 }, { - "declaration": 5042, + "declaration": 6648, "isOffset": false, "isSlot": false, - "src": "152347:4:10", + "src": "152347:4:23", "valueSize": 1 }, { - "declaration": 5042, + "declaration": 6648, "isOffset": false, "isSlot": false, - "src": "152404:4:10", + "src": "152404:4:23", "valueSize": 1 }, { - "declaration": 5042, + "declaration": 6648, "isOffset": false, "isSlot": false, - "src": "152494:4:10", + "src": "152494:4:23", "valueSize": 1 }, { - "declaration": 5039, + "declaration": 6645, "isOffset": false, "isSlot": false, - "src": "151882:3:10", + "src": "151882:3:23", "valueSize": 1 }, { - "declaration": 5039, + "declaration": 6645, "isOffset": false, "isSlot": false, - "src": "151898:3:10", + "src": "151898:3:23", "valueSize": 1 }, { - "declaration": 5039, + "declaration": 6645, "isOffset": false, "isSlot": false, - "src": "151943:3:10", + "src": "151943:3:23", "valueSize": 1 }, { - "declaration": 5039, + "declaration": 6645, "isOffset": false, "isSlot": false, - "src": "151966:3:10", + "src": "151966:3:23", "valueSize": 1 }, { - "declaration": 5039, + "declaration": 6645, "isOffset": false, "isSlot": false, - "src": "152290:3:10", + "src": "152290:3:23", "valueSize": 1 }, { - "declaration": 5039, + "declaration": 6645, "isOffset": false, "isSlot": false, - "src": "152303:3:10", + "src": "152303:3:23", "valueSize": 1 }, { - "declaration": 5035, + "declaration": 6641, "isOffset": false, "isSlot": false, - "src": "151996:8:10", + "src": "151996:8:23", "valueSize": 1 }, { - "declaration": 5035, + "declaration": 6641, "isOffset": false, "isSlot": false, - "src": "152141:8:10", + "src": "152141:8:23", "valueSize": 1 }, { - "declaration": 5037, + "declaration": 6643, "isOffset": false, "isSlot": false, - "src": "151948:5:10", + "src": "151948:5:23", "valueSize": 1 }, { - "declaration": 5037, + "declaration": 6643, "isOffset": false, "isSlot": false, - "src": "151959:5:10", + "src": "151959:5:23", "valueSize": 1 }, { - "declaration": 5037, + "declaration": 6643, "isOffset": false, "isSlot": false, - "src": "152016:5:10", + "src": "152016:5:23", "valueSize": 1 }, { - "declaration": 5037, + "declaration": 6643, "isOffset": false, "isSlot": false, - "src": "152268:5:10", + "src": "152268:5:23", "valueSize": 1 } ], - "id": 5044, + "id": 6650, "nodeType": "InlineAssembly", - "src": "151814:726:10" + "src": "151814:726:23" } ] }, "documentation": { - "id": 5033, + "id": 6639, "nodeType": "StructuredDocumentation", - "src": "151230:375:10", + "src": "151230:375:23", "text": "@dev Returns a slice of the immutable arguments on `instance` from `start` to `end`.\n `start` and `end` will be clamped to the range `[0, args.length]`.\n The `instance` MUST be deployed via the ERC1967I beacon proxy with immutable args functions.\n Otherwise, the behavior is undefined.\n Out-of-gas reverts if `instance` does not have any code." }, - "id": 5046, + "id": 6652, "implemented": true, "kind": "function", "modifiers": [], "name": "argsOnERC1967IBeaconProxy", - "nameLocation": "151619:25:10", + "nameLocation": "151619:25:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 5040, + "id": 6646, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5035, + "id": 6641, "mutability": "mutable", "name": "instance", - "nameLocation": "151653:8:10", + "nameLocation": "151653:8:23", "nodeType": "VariableDeclaration", - "scope": 5046, - "src": "151645:16:10", + "scope": 6652, + "src": "151645:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -158076,10 +177051,10 @@ "typeString": "address" }, "typeName": { - "id": 5034, + "id": 6640, "name": "address", "nodeType": "ElementaryTypeName", - "src": "151645:7:10", + "src": "151645:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -158090,13 +177065,13 @@ }, { "constant": false, - "id": 5037, + "id": 6643, "mutability": "mutable", "name": "start", - "nameLocation": "151671:5:10", + "nameLocation": "151671:5:23", "nodeType": "VariableDeclaration", - "scope": 5046, - "src": "151663:13:10", + "scope": 6652, + "src": "151663:13:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -158104,10 +177079,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5036, + "id": 6642, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "151663:7:10", + "src": "151663:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -158117,13 +177092,13 @@ }, { "constant": false, - "id": 5039, + "id": 6645, "mutability": "mutable", "name": "end", - "nameLocation": "151686:3:10", + "nameLocation": "151686:3:23", "nodeType": "VariableDeclaration", - "scope": 5046, - "src": "151678:11:10", + "scope": 6652, + "src": "151678:11:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -158131,10 +177106,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5038, + "id": 6644, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "151678:7:10", + "src": "151678:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -158143,21 +177118,21 @@ "visibility": "internal" } ], - "src": "151644:46:10" + "src": "151644:46:23" }, "returnParameters": { - "id": 5043, + "id": 6649, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5042, + "id": 6648, "mutability": "mutable", "name": "args", - "nameLocation": "151751:4:10", + "nameLocation": "151751:4:23", "nodeType": "VariableDeclaration", - "scope": 5046, - "src": "151738:17:10", + "scope": 6652, + "src": "151738:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -158165,10 +177140,10 @@ "typeString": "bytes" }, "typeName": { - "id": 5041, + "id": 6647, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "151738:5:10", + "src": "151738:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -158177,43 +177152,43 @@ "visibility": "internal" } ], - "src": "151737:19:10" + "src": "151737:19:23" }, - "scope": 5093, - "src": "151610:936:10", + "scope": 6699, + "src": "151610:936:23", "stateMutability": "view", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5055, + "id": 6661, "nodeType": "Block", - "src": "153004:1700:10", + "src": "153004:1700:23", "statements": [ { "AST": { - "nativeSrc": "153066:1632:10", + "nativeSrc": "153066:1632:23", "nodeType": "YulBlock", - "src": "153066:1632:10", + "src": "153066:1632:23", "statements": [ { "body": { - "nativeSrc": "153133:1429:10", + "nativeSrc": "153133:1429:23", "nodeType": "YulBlock", - "src": "153133:1429:10", + "src": "153133:1429:23", "statements": [ { "body": { - "nativeSrc": "153166:470:10", + "nativeSrc": "153166:470:23", "nodeType": "YulBlock", - "src": "153166:470:10", + "src": "153166:470:23", "statements": [ { "body": { - "nativeSrc": "153438:180:10", + "nativeSrc": "153438:180:23", "nodeType": "YulBlock", - "src": "153438:180:10", + "src": "153438:180:23", "statements": [ { "expression": { @@ -158224,116 +177199,116 @@ "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "153479:3:10", + "nativeSrc": "153479:3:23", "nodeType": "YulIdentifier", - "src": "153479:3:10" + "src": "153479:3:23" }, - "nativeSrc": "153479:5:10", + "nativeSrc": "153479:5:23", "nodeType": "YulFunctionCall", - "src": "153479:5:10" + "src": "153479:5:23" }, { "name": "instance", - "nativeSrc": "153486:8:10", + "nativeSrc": "153486:8:23", "nodeType": "YulIdentifier", - "src": "153486:8:10" + "src": "153486:8:23" }, { "kind": "number", - "nativeSrc": "153496:4:10", + "nativeSrc": "153496:4:23", "nodeType": "YulLiteral", - "src": "153496:4:10", + "src": "153496:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "153502:4:10", + "nativeSrc": "153502:4:23", "nodeType": "YulLiteral", - "src": "153502:4:10", + "src": "153502:4:23", "type": "", "value": "0x01" }, { "kind": "number", - "nativeSrc": "153508:4:10", + "nativeSrc": "153508:4:23", "nodeType": "YulLiteral", - "src": "153508:4:10", + "src": "153508:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "153514:4:10", + "nativeSrc": "153514:4:23", "nodeType": "YulLiteral", - "src": "153514:4:10", + "src": "153514:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "staticcall", - "nativeSrc": "153468:10:10", + "nativeSrc": "153468:10:23", "nodeType": "YulIdentifier", - "src": "153468:10:10" + "src": "153468:10:23" }, - "nativeSrc": "153468:51:10", + "nativeSrc": "153468:51:23", "nodeType": "YulFunctionCall", - "src": "153468:51:10" + "src": "153468:51:23" } ], "functionName": { "name": "pop", - "nativeSrc": "153464:3:10", + "nativeSrc": "153464:3:23", "nodeType": "YulIdentifier", - "src": "153464:3:10" + "src": "153464:3:23" }, - "nativeSrc": "153464:56:10", + "nativeSrc": "153464:56:23", "nodeType": "YulFunctionCall", - "src": "153464:56:10" + "src": "153464:56:23" }, - "nativeSrc": "153464:56:10", + "nativeSrc": "153464:56:23", "nodeType": "YulExpressionStatement", - "src": "153464:56:10" + "src": "153464:56:23" }, { - "nativeSrc": "153545:21:10", + "nativeSrc": "153545:21:23", "nodeType": "YulAssignment", - "src": "153545:21:10", + "src": "153545:21:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "153561:4:10", + "nativeSrc": "153561:4:23", "nodeType": "YulLiteral", - "src": "153561:4:10", + "src": "153561:4:23", "type": "", "value": "0x0c" } ], "functionName": { "name": "mload", - "nativeSrc": "153555:5:10", + "nativeSrc": "153555:5:23", "nodeType": "YulIdentifier", - "src": "153555:5:10" + "src": "153555:5:23" }, - "nativeSrc": "153555:11:10", + "nativeSrc": "153555:11:23", "nodeType": "YulFunctionCall", - "src": "153555:11:10" + "src": "153555:11:23" }, "variableNames": [ { "name": "result", - "nativeSrc": "153545:6:10", + "nativeSrc": "153545:6:23", "nodeType": "YulIdentifier", - "src": "153545:6:10" + "src": "153545:6:23" } ] }, { - "nativeSrc": "153591:5:10", + "nativeSrc": "153591:5:23", "nodeType": "YulBreak", - "src": "153591:5:10" + "src": "153591:5:23" } ] }, @@ -158345,47 +177320,47 @@ "arguments": [ { "kind": "number", - "nativeSrc": "153299:4:10", + "nativeSrc": "153299:4:23", "nodeType": "YulLiteral", - "src": "153299:4:10", + "src": "153299:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "153305:4:10", + "nativeSrc": "153305:4:23", "nodeType": "YulLiteral", - "src": "153305:4:10", + "src": "153305:4:23", "type": "", "value": "0x52" } ], "functionName": { "name": "keccak256", - "nativeSrc": "153289:9:10", + "nativeSrc": "153289:9:23", "nodeType": "YulIdentifier", - "src": "153289:9:10" + "src": "153289:9:23" }, - "nativeSrc": "153289:21:10", + "nativeSrc": "153289:21:23", "nodeType": "YulFunctionCall", - "src": "153289:21:10" + "src": "153289:21:23" }, { "name": "ERC1967I_CODE_HASH", - "nativeSrc": "153312:18:10", + "nativeSrc": "153312:18:23", "nodeType": "YulIdentifier", - "src": "153312:18:10" + "src": "153312:18:23" } ], "functionName": { "name": "eq", - "nativeSrc": "153286:2:10", + "nativeSrc": "153286:2:23", "nodeType": "YulIdentifier", - "src": "153286:2:10" + "src": "153286:2:23" }, - "nativeSrc": "153286:45:10", + "nativeSrc": "153286:45:23", "nodeType": "YulFunctionCall", - "src": "153286:45:10" + "src": "153286:45:23" }, { "arguments": [ @@ -158393,62 +177368,62 @@ "arguments": [ { "kind": "number", - "nativeSrc": "153370:4:10", + "nativeSrc": "153370:4:23", "nodeType": "YulLiteral", - "src": "153370:4:10", + "src": "153370:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "153376:4:10", + "nativeSrc": "153376:4:23", "nodeType": "YulLiteral", - "src": "153376:4:10", + "src": "153376:4:23", "type": "", "value": "0x57" } ], "functionName": { "name": "keccak256", - "nativeSrc": "153360:9:10", + "nativeSrc": "153360:9:23", "nodeType": "YulIdentifier", - "src": "153360:9:10" + "src": "153360:9:23" }, - "nativeSrc": "153360:21:10", + "nativeSrc": "153360:21:23", "nodeType": "YulFunctionCall", - "src": "153360:21:10" + "src": "153360:21:23" }, { "name": "ERC1967I_BEACON_PROXY_CODE_HASH", - "nativeSrc": "153383:31:10", + "nativeSrc": "153383:31:23", "nodeType": "YulIdentifier", - "src": "153383:31:10" + "src": "153383:31:23" } ], "functionName": { "name": "eq", - "nativeSrc": "153357:2:10", + "nativeSrc": "153357:2:23", "nodeType": "YulIdentifier", - "src": "153357:2:10" + "src": "153357:2:23" }, - "nativeSrc": "153357:58:10", + "nativeSrc": "153357:58:23", "nodeType": "YulFunctionCall", - "src": "153357:58:10" + "src": "153357:58:23" } ], "functionName": { "name": "or", - "nativeSrc": "153258:2:10", + "nativeSrc": "153258:2:23", "nodeType": "YulIdentifier", - "src": "153258:2:10" + "src": "153258:2:23" }, - "nativeSrc": "153258:179:10", + "nativeSrc": "153258:179:23", "nodeType": "YulFunctionCall", - "src": "153258:179:10" + "src": "153258:179:23" }, - "nativeSrc": "153255:363:10", + "nativeSrc": "153255:363:23", "nodeType": "YulIf", - "src": "153255:363:10" + "src": "153255:363:23" } ] }, @@ -158456,58 +177431,58 @@ "arguments": [ { "kind": "number", - "nativeSrc": "153160:4:10", + "nativeSrc": "153160:4:23", "nodeType": "YulLiteral", - "src": "153160:4:10", + "src": "153160:4:23", "type": "", "value": "0x2d" } ], "functionName": { "name": "mload", - "nativeSrc": "153154:5:10", + "nativeSrc": "153154:5:23", "nodeType": "YulIdentifier", - "src": "153154:5:10" + "src": "153154:5:23" }, - "nativeSrc": "153154:11:10", + "nativeSrc": "153154:11:23", "nodeType": "YulFunctionCall", - "src": "153154:11:10" + "src": "153154:11:23" }, - "nativeSrc": "153151:485:10", + "nativeSrc": "153151:485:23", "nodeType": "YulIf", - "src": "153151:485:10" + "src": "153151:485:23" }, { - "nativeSrc": "153694:21:10", + "nativeSrc": "153694:21:23", "nodeType": "YulAssignment", - "src": "153694:21:10", + "src": "153694:21:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "153710:4:10", + "nativeSrc": "153710:4:23", "nodeType": "YulLiteral", - "src": "153710:4:10", + "src": "153710:4:23", "type": "", "value": "0x0b" } ], "functionName": { "name": "mload", - "nativeSrc": "153704:5:10", + "nativeSrc": "153704:5:23", "nodeType": "YulIdentifier", - "src": "153704:5:10" + "src": "153704:5:23" }, - "nativeSrc": "153704:11:10", + "nativeSrc": "153704:11:23", "nodeType": "YulFunctionCall", - "src": "153704:11:10" + "src": "153704:11:23" }, "variableNames": [ { "name": "result", - "nativeSrc": "153694:6:10", + "nativeSrc": "153694:6:23", "nodeType": "YulIdentifier", - "src": "153694:6:10" + "src": "153694:6:23" } ] }, @@ -158516,9 +177491,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "153741:4:10", + "nativeSrc": "153741:4:23", "nodeType": "YulLiteral", - "src": "153741:4:10", + "src": "153741:4:23", "type": "", "value": "0x0b" }, @@ -158526,47 +177501,47 @@ "arguments": [], "functionName": { "name": "codesize", - "nativeSrc": "153747:8:10", + "nativeSrc": "153747:8:23", "nodeType": "YulIdentifier", - "src": "153747:8:10" + "src": "153747:8:23" }, - "nativeSrc": "153747:10:10", + "nativeSrc": "153747:10:23", "nodeType": "YulFunctionCall", - "src": "153747:10:10" + "src": "153747:10:23" }, { "kind": "number", - "nativeSrc": "153759:4:10", + "nativeSrc": "153759:4:23", "nodeType": "YulLiteral", - "src": "153759:4:10", + "src": "153759:4:23", "type": "", "value": "0x14" } ], "functionName": { "name": "codecopy", - "nativeSrc": "153732:8:10", + "nativeSrc": "153732:8:23", "nodeType": "YulIdentifier", - "src": "153732:8:10" + "src": "153732:8:23" }, - "nativeSrc": "153732:32:10", + "nativeSrc": "153732:32:23", "nodeType": "YulFunctionCall", - "src": "153732:32:10" + "src": "153732:32:23" }, - "nativeSrc": "153732:32:10", + "nativeSrc": "153732:32:23", "nodeType": "YulExpressionStatement", - "src": "153732:32:10" + "src": "153732:32:23" }, { "body": { - "nativeSrc": "153877:9:10", + "nativeSrc": "153877:9:23", "nodeType": "YulBlock", - "src": "153877:9:10", + "src": "153877:9:23", "statements": [ { - "nativeSrc": "153879:5:10", + "nativeSrc": "153879:5:23", "nodeType": "YulBreak", - "src": "153879:5:10" + "src": "153879:5:23" } ] }, @@ -158578,126 +177553,126 @@ "arguments": [ { "kind": "number", - "nativeSrc": "153846:4:10", + "nativeSrc": "153846:4:23", "nodeType": "YulLiteral", - "src": "153846:4:10", + "src": "153846:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "153852:4:10", + "nativeSrc": "153852:4:23", "nodeType": "YulLiteral", - "src": "153852:4:10", + "src": "153852:4:23", "type": "", "value": "0x2c" } ], "functionName": { "name": "keccak256", - "nativeSrc": "153836:9:10", + "nativeSrc": "153836:9:23", "nodeType": "YulIdentifier", - "src": "153836:9:10" + "src": "153836:9:23" }, - "nativeSrc": "153836:21:10", + "nativeSrc": "153836:21:23", "nodeType": "YulFunctionCall", - "src": "153836:21:10" + "src": "153836:21:23" }, { "name": "CLONE_CODE_HASH", - "nativeSrc": "153859:15:10", + "nativeSrc": "153859:15:23", "nodeType": "YulIdentifier", - "src": "153859:15:10" + "src": "153859:15:23" } ], "functionName": { "name": "xor", - "nativeSrc": "153832:3:10", + "nativeSrc": "153832:3:23", "nodeType": "YulIdentifier", - "src": "153832:3:10" + "src": "153832:3:23" }, - "nativeSrc": "153832:43:10", + "nativeSrc": "153832:43:23", "nodeType": "YulFunctionCall", - "src": "153832:43:10" + "src": "153832:43:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "153825:6:10", + "nativeSrc": "153825:6:23", "nodeType": "YulIdentifier", - "src": "153825:6:10" + "src": "153825:6:23" }, - "nativeSrc": "153825:51:10", + "nativeSrc": "153825:51:23", "nodeType": "YulFunctionCall", - "src": "153825:51:10" + "src": "153825:51:23" }, - "nativeSrc": "153822:64:10", + "nativeSrc": "153822:64:23", "nodeType": "YulIf", - "src": "153822:64:10" + "src": "153822:64:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "153910:4:10", + "nativeSrc": "153910:4:23", "nodeType": "YulLiteral", - "src": "153910:4:10", + "src": "153910:4:23", "type": "", "value": "0x0b" }, { "name": "result", - "nativeSrc": "153916:6:10", + "nativeSrc": "153916:6:23", "nodeType": "YulIdentifier", - "src": "153916:6:10" + "src": "153916:6:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "153903:6:10", + "nativeSrc": "153903:6:23", "nodeType": "YulIdentifier", - "src": "153903:6:10" + "src": "153903:6:23" }, - "nativeSrc": "153903:20:10", + "nativeSrc": "153903:20:23", "nodeType": "YulFunctionCall", - "src": "153903:20:10" + "src": "153903:20:23" }, - "nativeSrc": "153903:20:10", + "nativeSrc": "153903:20:23", "nodeType": "YulExpressionStatement", - "src": "153903:20:10" + "src": "153903:20:23" }, { - "nativeSrc": "154007:21:10", + "nativeSrc": "154007:21:23", "nodeType": "YulAssignment", - "src": "154007:21:10", + "src": "154007:21:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "154023:4:10", + "nativeSrc": "154023:4:23", "nodeType": "YulLiteral", - "src": "154023:4:10", + "src": "154023:4:23", "type": "", "value": "0x0a" } ], "functionName": { "name": "mload", - "nativeSrc": "154017:5:10", + "nativeSrc": "154017:5:23", "nodeType": "YulIdentifier", - "src": "154017:5:10" + "src": "154017:5:23" }, - "nativeSrc": "154017:11:10", + "nativeSrc": "154017:11:23", "nodeType": "YulFunctionCall", - "src": "154017:11:10" + "src": "154017:11:23" }, "variableNames": [ { "name": "result", - "nativeSrc": "154007:6:10", + "nativeSrc": "154007:6:23", "nodeType": "YulIdentifier", - "src": "154007:6:10" + "src": "154007:6:23" } ] }, @@ -158706,9 +177681,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "154054:4:10", + "nativeSrc": "154054:4:23", "nodeType": "YulLiteral", - "src": "154054:4:10", + "src": "154054:4:23", "type": "", "value": "0x0a" }, @@ -158716,47 +177691,47 @@ "arguments": [], "functionName": { "name": "codesize", - "nativeSrc": "154060:8:10", + "nativeSrc": "154060:8:23", "nodeType": "YulIdentifier", - "src": "154060:8:10" + "src": "154060:8:23" }, - "nativeSrc": "154060:10:10", + "nativeSrc": "154060:10:23", "nodeType": "YulFunctionCall", - "src": "154060:10:10" + "src": "154060:10:23" }, { "kind": "number", - "nativeSrc": "154072:4:10", + "nativeSrc": "154072:4:23", "nodeType": "YulLiteral", - "src": "154072:4:10", + "src": "154072:4:23", "type": "", "value": "0x14" } ], "functionName": { "name": "codecopy", - "nativeSrc": "154045:8:10", + "nativeSrc": "154045:8:23", "nodeType": "YulIdentifier", - "src": "154045:8:10" + "src": "154045:8:23" }, - "nativeSrc": "154045:32:10", + "nativeSrc": "154045:32:23", "nodeType": "YulFunctionCall", - "src": "154045:32:10" + "src": "154045:32:23" }, - "nativeSrc": "154045:32:10", + "nativeSrc": "154045:32:23", "nodeType": "YulExpressionStatement", - "src": "154045:32:10" + "src": "154045:32:23" }, { "body": { - "nativeSrc": "154189:9:10", + "nativeSrc": "154189:9:23", "nodeType": "YulBlock", - "src": "154189:9:10", + "src": "154189:9:23", "statements": [ { - "nativeSrc": "154191:5:10", + "nativeSrc": "154191:5:23", "nodeType": "YulBreak", - "src": "154191:5:10" + "src": "154191:5:23" } ] }, @@ -158768,126 +177743,126 @@ "arguments": [ { "kind": "number", - "nativeSrc": "154159:4:10", + "nativeSrc": "154159:4:23", "nodeType": "YulLiteral", - "src": "154159:4:10", + "src": "154159:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "154165:4:10", + "nativeSrc": "154165:4:23", "nodeType": "YulLiteral", - "src": "154165:4:10", + "src": "154165:4:23", "type": "", "value": "0x2d" } ], "functionName": { "name": "keccak256", - "nativeSrc": "154149:9:10", + "nativeSrc": "154149:9:23", "nodeType": "YulIdentifier", - "src": "154149:9:10" + "src": "154149:9:23" }, - "nativeSrc": "154149:21:10", + "nativeSrc": "154149:21:23", "nodeType": "YulFunctionCall", - "src": "154149:21:10" + "src": "154149:21:23" }, { "name": "CWIA_CODE_HASH", - "nativeSrc": "154172:14:10", + "nativeSrc": "154172:14:23", "nodeType": "YulIdentifier", - "src": "154172:14:10" + "src": "154172:14:23" } ], "functionName": { "name": "xor", - "nativeSrc": "154145:3:10", + "nativeSrc": "154145:3:23", "nodeType": "YulIdentifier", - "src": "154145:3:10" + "src": "154145:3:23" }, - "nativeSrc": "154145:42:10", + "nativeSrc": "154145:42:23", "nodeType": "YulFunctionCall", - "src": "154145:42:10" + "src": "154145:42:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "154138:6:10", + "nativeSrc": "154138:6:23", "nodeType": "YulIdentifier", - "src": "154138:6:10" + "src": "154138:6:23" }, - "nativeSrc": "154138:50:10", + "nativeSrc": "154138:50:23", "nodeType": "YulFunctionCall", - "src": "154138:50:10" + "src": "154138:50:23" }, - "nativeSrc": "154135:63:10", + "nativeSrc": "154135:63:23", "nodeType": "YulIf", - "src": "154135:63:10" + "src": "154135:63:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "154222:4:10", + "nativeSrc": "154222:4:23", "nodeType": "YulLiteral", - "src": "154222:4:10", + "src": "154222:4:23", "type": "", "value": "0x0a" }, { "name": "result", - "nativeSrc": "154228:6:10", + "nativeSrc": "154228:6:23", "nodeType": "YulIdentifier", - "src": "154228:6:10" + "src": "154228:6:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "154215:6:10", + "nativeSrc": "154215:6:23", "nodeType": "YulIdentifier", - "src": "154215:6:10" + "src": "154215:6:23" }, - "nativeSrc": "154215:20:10", + "nativeSrc": "154215:20:23", "nodeType": "YulFunctionCall", - "src": "154215:20:10" + "src": "154215:20:23" }, - "nativeSrc": "154215:20:10", + "nativeSrc": "154215:20:23", "nodeType": "YulExpressionStatement", - "src": "154215:20:10" + "src": "154215:20:23" }, { - "nativeSrc": "154326:21:10", + "nativeSrc": "154326:21:23", "nodeType": "YulAssignment", - "src": "154326:21:10", + "src": "154326:21:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "154342:4:10", + "nativeSrc": "154342:4:23", "nodeType": "YulLiteral", - "src": "154342:4:10", + "src": "154342:4:23", "type": "", "value": "0x09" } ], "functionName": { "name": "mload", - "nativeSrc": "154336:5:10", + "nativeSrc": "154336:5:23", "nodeType": "YulIdentifier", - "src": "154336:5:10" + "src": "154336:5:23" }, - "nativeSrc": "154336:11:10", + "nativeSrc": "154336:11:23", "nodeType": "YulFunctionCall", - "src": "154336:11:10" + "src": "154336:11:23" }, "variableNames": [ { "name": "result", - "nativeSrc": "154326:6:10", + "nativeSrc": "154326:6:23", "nodeType": "YulIdentifier", - "src": "154326:6:10" + "src": "154326:6:23" } ] }, @@ -158896,9 +177871,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "154373:4:10", + "nativeSrc": "154373:4:23", "nodeType": "YulLiteral", - "src": "154373:4:10", + "src": "154373:4:23", "type": "", "value": "0x09" }, @@ -158906,41 +177881,41 @@ "arguments": [], "functionName": { "name": "codesize", - "nativeSrc": "154379:8:10", + "nativeSrc": "154379:8:23", "nodeType": "YulIdentifier", - "src": "154379:8:10" + "src": "154379:8:23" }, - "nativeSrc": "154379:10:10", + "nativeSrc": "154379:10:23", "nodeType": "YulFunctionCall", - "src": "154379:10:10" + "src": "154379:10:23" }, { "kind": "number", - "nativeSrc": "154391:4:10", + "nativeSrc": "154391:4:23", "nodeType": "YulLiteral", - "src": "154391:4:10", + "src": "154391:4:23", "type": "", "value": "0x14" } ], "functionName": { "name": "codecopy", - "nativeSrc": "154364:8:10", + "nativeSrc": "154364:8:23", "nodeType": "YulIdentifier", - "src": "154364:8:10" + "src": "154364:8:23" }, - "nativeSrc": "154364:32:10", + "nativeSrc": "154364:32:23", "nodeType": "YulFunctionCall", - "src": "154364:32:10" + "src": "154364:32:23" }, - "nativeSrc": "154364:32:10", + "nativeSrc": "154364:32:23", "nodeType": "YulExpressionStatement", - "src": "154364:32:10" + "src": "154364:32:23" }, { - "nativeSrc": "154454:72:10", + "nativeSrc": "154454:72:23", "nodeType": "YulAssignment", - "src": "154454:72:10", + "src": "154454:72:23", "value": { "arguments": [ { @@ -158949,191 +177924,191 @@ "arguments": [ { "kind": "number", - "nativeSrc": "154482:4:10", + "nativeSrc": "154482:4:23", "nodeType": "YulLiteral", - "src": "154482:4:10", + "src": "154482:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "154488:4:10", + "nativeSrc": "154488:4:23", "nodeType": "YulLiteral", - "src": "154488:4:10", + "src": "154488:4:23", "type": "", "value": "0x2d" } ], "functionName": { "name": "keccak256", - "nativeSrc": "154472:9:10", + "nativeSrc": "154472:9:23", "nodeType": "YulIdentifier", - "src": "154472:9:10" + "src": "154472:9:23" }, - "nativeSrc": "154472:21:10", + "nativeSrc": "154472:21:23", "nodeType": "YulFunctionCall", - "src": "154472:21:10" + "src": "154472:21:23" }, { "name": "PUSH0_CLONE_CODE_HASH", - "nativeSrc": "154495:21:10", + "nativeSrc": "154495:21:23", "nodeType": "YulIdentifier", - "src": "154495:21:10" + "src": "154495:21:23" } ], "functionName": { "name": "xor", - "nativeSrc": "154468:3:10", + "nativeSrc": "154468:3:23", "nodeType": "YulIdentifier", - "src": "154468:3:10" + "src": "154468:3:23" }, - "nativeSrc": "154468:49:10", + "nativeSrc": "154468:49:23", "nodeType": "YulFunctionCall", - "src": "154468:49:10" + "src": "154468:49:23" }, { "name": "result", - "nativeSrc": "154519:6:10", + "nativeSrc": "154519:6:23", "nodeType": "YulIdentifier", - "src": "154519:6:10" + "src": "154519:6:23" } ], "functionName": { "name": "shr", - "nativeSrc": "154464:3:10", + "nativeSrc": "154464:3:23", "nodeType": "YulIdentifier", - "src": "154464:3:10" + "src": "154464:3:23" }, - "nativeSrc": "154464:62:10", + "nativeSrc": "154464:62:23", "nodeType": "YulFunctionCall", - "src": "154464:62:10" + "src": "154464:62:23" }, "variableNames": [ { "name": "result", - "nativeSrc": "154454:6:10", + "nativeSrc": "154454:6:23", "nodeType": "YulIdentifier", - "src": "154454:6:10" + "src": "154454:6:23" } ] }, { - "nativeSrc": "154543:5:10", + "nativeSrc": "154543:5:23", "nodeType": "YulBreak", - "src": "154543:5:10" + "src": "154543:5:23" } ] }, "condition": { "kind": "number", - "nativeSrc": "153128:1:10", + "nativeSrc": "153128:1:23", "nodeType": "YulLiteral", - "src": "153128:1:10", + "src": "153128:1:23", "type": "", "value": "1" }, - "nativeSrc": "153080:1482:10", + "nativeSrc": "153080:1482:23", "nodeType": "YulForLoop", "post": { - "nativeSrc": "153130:2:10", + "nativeSrc": "153130:2:23", "nodeType": "YulBlock", - "src": "153130:2:10", + "src": "153130:2:23", "statements": [] }, "pre": { - "nativeSrc": "153084:43:10", + "nativeSrc": "153084:43:23", "nodeType": "YulBlock", - "src": "153084:43:10", + "src": "153084:43:23", "statements": [ { "expression": { "arguments": [ { "name": "instance", - "nativeSrc": "153098:8:10", + "nativeSrc": "153098:8:23", "nodeType": "YulIdentifier", - "src": "153098:8:10" + "src": "153098:8:23" }, { "kind": "number", - "nativeSrc": "153108:4:10", + "nativeSrc": "153108:4:23", "nodeType": "YulLiteral", - "src": "153108:4:10", + "src": "153108:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "153114:4:10", + "nativeSrc": "153114:4:23", "nodeType": "YulLiteral", - "src": "153114:4:10", + "src": "153114:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "153120:4:10", + "nativeSrc": "153120:4:23", "nodeType": "YulLiteral", - "src": "153120:4:10", + "src": "153120:4:23", "type": "", "value": "0x57" } ], "functionName": { "name": "extcodecopy", - "nativeSrc": "153086:11:10", + "nativeSrc": "153086:11:23", "nodeType": "YulIdentifier", - "src": "153086:11:10" + "src": "153086:11:23" }, - "nativeSrc": "153086:39:10", + "nativeSrc": "153086:39:23", "nodeType": "YulFunctionCall", - "src": "153086:39:10" + "src": "153086:39:23" }, - "nativeSrc": "153086:39:10", + "nativeSrc": "153086:39:23", "nodeType": "YulExpressionStatement", - "src": "153086:39:10" + "src": "153086:39:23" } ] }, - "src": "153080:1482:10" + "src": "153080:1482:23" }, { - "nativeSrc": "154575:25:10", + "nativeSrc": "154575:25:23", "nodeType": "YulAssignment", - "src": "154575:25:10", + "src": "154575:25:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "154589:2:10", + "nativeSrc": "154589:2:23", "nodeType": "YulLiteral", - "src": "154589:2:10", + "src": "154589:2:23", "type": "", "value": "96" }, { "name": "result", - "nativeSrc": "154593:6:10", + "nativeSrc": "154593:6:23", "nodeType": "YulIdentifier", - "src": "154593:6:10" + "src": "154593:6:23" } ], "functionName": { "name": "shr", - "nativeSrc": "154585:3:10", + "nativeSrc": "154585:3:23", "nodeType": "YulIdentifier", - "src": "154585:3:10" + "src": "154585:3:23" }, - "nativeSrc": "154585:15:10", + "nativeSrc": "154585:15:23", "nodeType": "YulFunctionCall", - "src": "154585:15:10" + "src": "154585:15:23" }, "variableNames": [ { "name": "result", - "nativeSrc": "154575:6:10", + "nativeSrc": "154575:6:23", "nodeType": "YulIdentifier", - "src": "154575:6:10" + "src": "154575:6:23" } ] }, @@ -159142,34 +178117,34 @@ "arguments": [ { "kind": "number", - "nativeSrc": "154620:4:10", + "nativeSrc": "154620:4:23", "nodeType": "YulLiteral", - "src": "154620:4:10", + "src": "154620:4:23", "type": "", "value": "0x37" }, { "kind": "number", - "nativeSrc": "154626:1:10", + "nativeSrc": "154626:1:23", "nodeType": "YulLiteral", - "src": "154626:1:10", + "src": "154626:1:23", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "154613:6:10", + "nativeSrc": "154613:6:23", "nodeType": "YulIdentifier", - "src": "154613:6:10" + "src": "154613:6:23" }, - "nativeSrc": "154613:15:10", + "nativeSrc": "154613:15:23", "nodeType": "YulFunctionCall", - "src": "154613:15:10" + "src": "154613:15:23" }, - "nativeSrc": "154613:15:10", + "nativeSrc": "154613:15:23", "nodeType": "YulExpressionStatement", - "src": "154613:15:10" + "src": "154613:15:23" } ] }, @@ -159177,157 +178152,157 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3085, + "declaration": 4691, "isOffset": false, "isSlot": false, - "src": "153859:15:10", + "src": "153859:15:23", "valueSize": 1 }, { - "declaration": 3093, + "declaration": 4699, "isOffset": false, "isSlot": false, - "src": "154172:14:10", + "src": "154172:14:23", "valueSize": 1 }, { - "declaration": 3109, + "declaration": 4715, "isOffset": false, "isSlot": false, - "src": "153383:31:10", + "src": "153383:31:23", "valueSize": 1 }, { - "declaration": 3101, + "declaration": 4707, "isOffset": false, "isSlot": false, - "src": "153312:18:10", + "src": "153312:18:23", "valueSize": 1 }, { - "declaration": 3089, + "declaration": 4695, "isOffset": false, "isSlot": false, - "src": "154495:21:10", + "src": "154495:21:23", "valueSize": 1 }, { - "declaration": 5049, + "declaration": 6655, "isOffset": false, "isSlot": false, - "src": "153098:8:10", + "src": "153098:8:23", "valueSize": 1 }, { - "declaration": 5049, + "declaration": 6655, "isOffset": false, "isSlot": false, - "src": "153486:8:10", + "src": "153486:8:23", "valueSize": 1 }, { - "declaration": 5052, + "declaration": 6658, "isOffset": false, "isSlot": false, - "src": "153545:6:10", + "src": "153545:6:23", "valueSize": 1 }, { - "declaration": 5052, + "declaration": 6658, "isOffset": false, "isSlot": false, - "src": "153694:6:10", + "src": "153694:6:23", "valueSize": 1 }, { - "declaration": 5052, + "declaration": 6658, "isOffset": false, "isSlot": false, - "src": "153916:6:10", + "src": "153916:6:23", "valueSize": 1 }, { - "declaration": 5052, + "declaration": 6658, "isOffset": false, "isSlot": false, - "src": "154007:6:10", + "src": "154007:6:23", "valueSize": 1 }, { - "declaration": 5052, + "declaration": 6658, "isOffset": false, "isSlot": false, - "src": "154228:6:10", + "src": "154228:6:23", "valueSize": 1 }, { - "declaration": 5052, + "declaration": 6658, "isOffset": false, "isSlot": false, - "src": "154326:6:10", + "src": "154326:6:23", "valueSize": 1 }, { - "declaration": 5052, + "declaration": 6658, "isOffset": false, "isSlot": false, - "src": "154454:6:10", + "src": "154454:6:23", "valueSize": 1 }, { - "declaration": 5052, + "declaration": 6658, "isOffset": false, "isSlot": false, - "src": "154519:6:10", + "src": "154519:6:23", "valueSize": 1 }, { - "declaration": 5052, + "declaration": 6658, "isOffset": false, "isSlot": false, - "src": "154575:6:10", + "src": "154575:6:23", "valueSize": 1 }, { - "declaration": 5052, + "declaration": 6658, "isOffset": false, "isSlot": false, - "src": "154593:6:10", + "src": "154593:6:23", "valueSize": 1 } ], - "id": 5054, + "id": 6660, "nodeType": "InlineAssembly", - "src": "153057:1641:10" + "src": "153057:1641:23" } ] }, "documentation": { - "id": 5047, + "id": 6653, "nodeType": "StructuredDocumentation", - "src": "152835:81:10", + "src": "152835:81:23", "text": "@dev Returns `address(0)` if the implementation address cannot be determined." }, - "id": 5056, + "id": 6662, "implemented": true, "kind": "function", "modifiers": [], "name": "implementationOf", - "nameLocation": "152930:16:10", + "nameLocation": "152930:16:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 5050, + "id": 6656, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5049, + "id": 6655, "mutability": "mutable", "name": "instance", - "nameLocation": "152955:8:10", + "nameLocation": "152955:8:23", "nodeType": "VariableDeclaration", - "scope": 5056, - "src": "152947:16:10", + "scope": 6662, + "src": "152947:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -159335,10 +178310,10 @@ "typeString": "address" }, "typeName": { - "id": 5048, + "id": 6654, "name": "address", "nodeType": "ElementaryTypeName", - "src": "152947:7:10", + "src": "152947:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -159348,21 +178323,21 @@ "visibility": "internal" } ], - "src": "152946:18:10" + "src": "152946:18:23" }, "returnParameters": { - "id": 5053, + "id": 6659, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5052, + "id": 6658, "mutability": "mutable", "name": "result", - "nameLocation": "152996:6:10", + "nameLocation": "152996:6:23", "nodeType": "VariableDeclaration", - "scope": 5056, - "src": "152988:14:10", + "scope": 6662, + "src": "152988:14:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -159370,10 +178345,10 @@ "typeString": "address" }, "typeName": { - "id": 5051, + "id": 6657, "name": "address", "nodeType": "ElementaryTypeName", - "src": "152988:7:10", + "src": "152988:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -159383,100 +178358,100 @@ "visibility": "internal" } ], - "src": "152987:16:10" + "src": "152987:16:23" }, - "scope": 5093, - "src": "152921:1783:10", + "scope": 6699, + "src": "152921:1783:23", "stateMutability": "view", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5069, + "id": 6675, "nodeType": "Block", - "src": "155092:425:10", + "src": "155092:425:23", "statements": [ { "AST": { - "nativeSrc": "155154:357:10", + "nativeSrc": "155154:357:23", "nodeType": "YulBlock", - "src": "155154:357:10", + "src": "155154:357:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "155228:4:10", + "nativeSrc": "155228:4:23", "nodeType": "YulLiteral", - "src": "155228:4:10", + "src": "155228:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "155234:4:10", + "nativeSrc": "155234:4:23", "nodeType": "YulLiteral", - "src": "155234:4:10", + "src": "155234:4:23", "type": "", "value": "0xff" } ], "functionName": { "name": "mstore8", - "nativeSrc": "155220:7:10", + "nativeSrc": "155220:7:23", "nodeType": "YulIdentifier", - "src": "155220:7:10" + "src": "155220:7:23" }, - "nativeSrc": "155220:19:10", + "nativeSrc": "155220:19:23", "nodeType": "YulFunctionCall", - "src": "155220:19:10" + "src": "155220:19:23" }, - "nativeSrc": "155220:19:10", + "nativeSrc": "155220:19:23", "nodeType": "YulExpressionStatement", - "src": "155220:19:10" + "src": "155220:19:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "155280:4:10", + "nativeSrc": "155280:4:23", "nodeType": "YulLiteral", - "src": "155280:4:10", + "src": "155280:4:23", "type": "", "value": "0x35" }, { "name": "hash", - "nativeSrc": "155286:4:10", + "nativeSrc": "155286:4:23", "nodeType": "YulIdentifier", - "src": "155286:4:10" + "src": "155286:4:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "155273:6:10", + "nativeSrc": "155273:6:23", "nodeType": "YulIdentifier", - "src": "155273:6:10" + "src": "155273:6:23" }, - "nativeSrc": "155273:18:10", + "nativeSrc": "155273:18:23", "nodeType": "YulFunctionCall", - "src": "155273:18:10" + "src": "155273:18:23" }, - "nativeSrc": "155273:18:10", + "nativeSrc": "155273:18:23", "nodeType": "YulExpressionStatement", - "src": "155273:18:10" + "src": "155273:18:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "155311:4:10", + "nativeSrc": "155311:4:23", "nodeType": "YulLiteral", - "src": "155311:4:10", + "src": "155311:4:23", "type": "", "value": "0x01" }, @@ -159484,115 +178459,115 @@ "arguments": [ { "kind": "number", - "nativeSrc": "155321:2:10", + "nativeSrc": "155321:2:23", "nodeType": "YulLiteral", - "src": "155321:2:10", + "src": "155321:2:23", "type": "", "value": "96" }, { "name": "deployer", - "nativeSrc": "155325:8:10", + "nativeSrc": "155325:8:23", "nodeType": "YulIdentifier", - "src": "155325:8:10" + "src": "155325:8:23" } ], "functionName": { "name": "shl", - "nativeSrc": "155317:3:10", + "nativeSrc": "155317:3:23", "nodeType": "YulIdentifier", - "src": "155317:3:10" + "src": "155317:3:23" }, - "nativeSrc": "155317:17:10", + "nativeSrc": "155317:17:23", "nodeType": "YulFunctionCall", - "src": "155317:17:10" + "src": "155317:17:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "155304:6:10", + "nativeSrc": "155304:6:23", "nodeType": "YulIdentifier", - "src": "155304:6:10" + "src": "155304:6:23" }, - "nativeSrc": "155304:31:10", + "nativeSrc": "155304:31:23", "nodeType": "YulFunctionCall", - "src": "155304:31:10" + "src": "155304:31:23" }, - "nativeSrc": "155304:31:10", + "nativeSrc": "155304:31:23", "nodeType": "YulExpressionStatement", - "src": "155304:31:10" + "src": "155304:31:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "155355:4:10", + "nativeSrc": "155355:4:23", "nodeType": "YulLiteral", - "src": "155355:4:10", + "src": "155355:4:23", "type": "", "value": "0x15" }, { "name": "salt", - "nativeSrc": "155361:4:10", + "nativeSrc": "155361:4:23", "nodeType": "YulIdentifier", - "src": "155361:4:10" + "src": "155361:4:23" } ], "functionName": { "name": "mstore", - "nativeSrc": "155348:6:10", + "nativeSrc": "155348:6:23", "nodeType": "YulIdentifier", - "src": "155348:6:10" + "src": "155348:6:23" }, - "nativeSrc": "155348:18:10", + "nativeSrc": "155348:18:23", "nodeType": "YulFunctionCall", - "src": "155348:18:10" + "src": "155348:18:23" }, - "nativeSrc": "155348:18:10", + "nativeSrc": "155348:18:23", "nodeType": "YulExpressionStatement", - "src": "155348:18:10" + "src": "155348:18:23" }, { - "nativeSrc": "155379:34:10", + "nativeSrc": "155379:34:23", "nodeType": "YulAssignment", - "src": "155379:34:10", + "src": "155379:34:23", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "155402:4:10", + "nativeSrc": "155402:4:23", "nodeType": "YulLiteral", - "src": "155402:4:10", + "src": "155402:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "155408:4:10", + "nativeSrc": "155408:4:23", "nodeType": "YulLiteral", - "src": "155408:4:10", + "src": "155408:4:23", "type": "", "value": "0x55" } ], "functionName": { "name": "keccak256", - "nativeSrc": "155392:9:10", + "nativeSrc": "155392:9:23", "nodeType": "YulIdentifier", - "src": "155392:9:10" + "src": "155392:9:23" }, - "nativeSrc": "155392:21:10", + "nativeSrc": "155392:21:23", "nodeType": "YulFunctionCall", - "src": "155392:21:10" + "src": "155392:21:23" }, "variableNames": [ { "name": "predicted", - "nativeSrc": "155379:9:10", + "nativeSrc": "155379:9:23", "nodeType": "YulIdentifier", - "src": "155379:9:10" + "src": "155379:9:23" } ] }, @@ -159601,34 +178576,34 @@ "arguments": [ { "kind": "number", - "nativeSrc": "155433:4:10", + "nativeSrc": "155433:4:23", "nodeType": "YulLiteral", - "src": "155433:4:10", + "src": "155433:4:23", "type": "", "value": "0x35" }, { "kind": "number", - "nativeSrc": "155439:1:10", + "nativeSrc": "155439:1:23", "nodeType": "YulLiteral", - "src": "155439:1:10", + "src": "155439:1:23", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "155426:6:10", + "nativeSrc": "155426:6:23", "nodeType": "YulIdentifier", - "src": "155426:6:10" + "src": "155426:6:23" }, - "nativeSrc": "155426:15:10", + "nativeSrc": "155426:15:23", "nodeType": "YulFunctionCall", - "src": "155426:15:10" + "src": "155426:15:23" }, - "nativeSrc": "155426:15:10", + "nativeSrc": "155426:15:23", "nodeType": "YulExpressionStatement", - "src": "155426:15:10" + "src": "155426:15:23" } ] }, @@ -159636,66 +178611,66 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5063, + "declaration": 6669, "isOffset": false, "isSlot": false, - "src": "155325:8:10", + "src": "155325:8:23", "valueSize": 1 }, { - "declaration": 5059, + "declaration": 6665, "isOffset": false, "isSlot": false, - "src": "155286:4:10", + "src": "155286:4:23", "valueSize": 1 }, { - "declaration": 5066, + "declaration": 6672, "isOffset": false, "isSlot": false, - "src": "155379:9:10", + "src": "155379:9:23", "valueSize": 1 }, { - "declaration": 5061, + "declaration": 6667, "isOffset": false, "isSlot": false, - "src": "155361:4:10", + "src": "155361:4:23", "valueSize": 1 } ], - "id": 5068, + "id": 6674, "nodeType": "InlineAssembly", - "src": "155145:366:10" + "src": "155145:366:23" } ] }, "documentation": { - "id": 5057, + "id": 6663, "nodeType": "StructuredDocumentation", - "src": "154710:224:10", + "src": "154710:224:23", "text": "@dev Returns the address when a contract with initialization code hash,\n `hash`, is deployed with `salt`, by `deployer`.\n Note: The returned result has dirty upper 96 bits. Please clean if used in assembly." }, - "id": 5070, + "id": 6676, "implemented": true, "kind": "function", "modifiers": [], "name": "predictDeterministicAddress", - "nameLocation": "154948:27:10", + "nameLocation": "154948:27:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 5064, + "id": 6670, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5059, + "id": 6665, "mutability": "mutable", "name": "hash", - "nameLocation": "154984:4:10", + "nameLocation": "154984:4:23", "nodeType": "VariableDeclaration", - "scope": 5070, - "src": "154976:12:10", + "scope": 6676, + "src": "154976:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -159703,10 +178678,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 5058, + "id": 6664, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "154976:7:10", + "src": "154976:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -159716,13 +178691,13 @@ }, { "constant": false, - "id": 5061, + "id": 6667, "mutability": "mutable", "name": "salt", - "nameLocation": "154998:4:10", + "nameLocation": "154998:4:23", "nodeType": "VariableDeclaration", - "scope": 5070, - "src": "154990:12:10", + "scope": 6676, + "src": "154990:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -159730,10 +178705,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 5060, + "id": 6666, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "154990:7:10", + "src": "154990:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -159743,13 +178718,13 @@ }, { "constant": false, - "id": 5063, + "id": 6669, "mutability": "mutable", "name": "deployer", - "nameLocation": "155012:8:10", + "nameLocation": "155012:8:23", "nodeType": "VariableDeclaration", - "scope": 5070, - "src": "155004:16:10", + "scope": 6676, + "src": "155004:16:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -159757,10 +178732,10 @@ "typeString": "address" }, "typeName": { - "id": 5062, + "id": 6668, "name": "address", "nodeType": "ElementaryTypeName", - "src": "155004:7:10", + "src": "155004:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -159770,21 +178745,21 @@ "visibility": "internal" } ], - "src": "154975:46:10" + "src": "154975:46:23" }, "returnParameters": { - "id": 5067, + "id": 6673, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5066, + "id": 6672, "mutability": "mutable", "name": "predicted", - "nameLocation": "155077:9:10", + "nameLocation": "155077:9:23", "nodeType": "VariableDeclaration", - "scope": 5070, - "src": "155069:17:10", + "scope": 6676, + "src": "155069:17:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -159792,10 +178767,10 @@ "typeString": "address" }, "typeName": { - "id": 5065, + "id": 6671, "name": "address", "nodeType": "ElementaryTypeName", - "src": "155069:7:10", + "src": "155069:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -159805,99 +178780,99 @@ "visibility": "internal" } ], - "src": "155068:19:10" + "src": "155068:19:23" }, - "scope": 5093, - "src": "154939:578:10", + "scope": 6699, + "src": "154939:578:23", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5079, + "id": 6685, "nodeType": "Block", - "src": "155667:363:10", + "src": "155667:363:23", "statements": [ { "AST": { - "nativeSrc": "155729:295:10", + "nativeSrc": "155729:295:23", "nodeType": "YulBlock", - "src": "155729:295:10", + "src": "155729:295:23", "statements": [ { "body": { - "nativeSrc": "155894:120:10", + "nativeSrc": "155894:120:23", "nodeType": "YulBlock", - "src": "155894:120:10", + "src": "155894:120:23", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "155919:4:10", + "nativeSrc": "155919:4:23", "nodeType": "YulLiteral", - "src": "155919:4:10", + "src": "155919:4:23", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "155925:10:10", + "nativeSrc": "155925:10:23", "nodeType": "YulLiteral", - "src": "155925:10:10", + "src": "155925:10:23", "type": "", "value": "0x0c4549ef" } ], "functionName": { "name": "mstore", - "nativeSrc": "155912:6:10", + "nativeSrc": "155912:6:23", "nodeType": "YulIdentifier", - "src": "155912:6:10" + "src": "155912:6:23" }, - "nativeSrc": "155912:24:10", + "nativeSrc": "155912:24:23", "nodeType": "YulFunctionCall", - "src": "155912:24:10" + "src": "155912:24:23" }, - "nativeSrc": "155912:24:10", + "nativeSrc": "155912:24:23", "nodeType": "YulExpressionStatement", - "src": "155912:24:10" + "src": "155912:24:23" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "155989:4:10", + "nativeSrc": "155989:4:23", "nodeType": "YulLiteral", - "src": "155989:4:10", + "src": "155989:4:23", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "155995:4:10", + "nativeSrc": "155995:4:23", "nodeType": "YulLiteral", - "src": "155995:4:10", + "src": "155995:4:23", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "155982:6:10", + "nativeSrc": "155982:6:23", "nodeType": "YulIdentifier", - "src": "155982:6:10" + "src": "155982:6:23" }, - "nativeSrc": "155982:18:10", + "nativeSrc": "155982:18:23", "nodeType": "YulFunctionCall", - "src": "155982:18:10" + "src": "155982:18:23" }, - "nativeSrc": "155982:18:10", + "nativeSrc": "155982:18:23", "nodeType": "YulExpressionStatement", - "src": "155982:18:10" + "src": "155982:18:23" } ] }, @@ -159911,39 +178886,39 @@ "arguments": [ { "kind": "number", - "nativeSrc": "155840:2:10", + "nativeSrc": "155840:2:23", "nodeType": "YulLiteral", - "src": "155840:2:10", + "src": "155840:2:23", "type": "", "value": "96" }, { "name": "salt", - "nativeSrc": "155844:4:10", + "nativeSrc": "155844:4:23", "nodeType": "YulIdentifier", - "src": "155844:4:10" + "src": "155844:4:23" } ], "functionName": { "name": "shr", - "nativeSrc": "155836:3:10", + "nativeSrc": "155836:3:23", "nodeType": "YulIdentifier", - "src": "155836:3:10" + "src": "155836:3:23" }, - "nativeSrc": "155836:13:10", + "nativeSrc": "155836:13:23", "nodeType": "YulFunctionCall", - "src": "155836:13:10" + "src": "155836:13:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "155829:6:10", + "nativeSrc": "155829:6:23", "nodeType": "YulIdentifier", - "src": "155829:6:10" + "src": "155829:6:23" }, - "nativeSrc": "155829:21:10", + "nativeSrc": "155829:21:23", "nodeType": "YulFunctionCall", - "src": "155829:21:10" + "src": "155829:21:23" }, { "arguments": [ @@ -159951,9 +178926,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "155859:2:10", + "nativeSrc": "155859:2:23", "nodeType": "YulLiteral", - "src": "155859:2:10", + "src": "155859:2:23", "type": "", "value": "96" }, @@ -159961,103 +178936,103 @@ "arguments": [ { "kind": "number", - "nativeSrc": "155867:2:10", + "nativeSrc": "155867:2:23", "nodeType": "YulLiteral", - "src": "155867:2:10", + "src": "155867:2:23", "type": "", "value": "96" }, { "name": "by", - "nativeSrc": "155871:2:10", + "nativeSrc": "155871:2:23", "nodeType": "YulIdentifier", - "src": "155871:2:10" + "src": "155871:2:23" } ], "functionName": { "name": "shl", - "nativeSrc": "155863:3:10", + "nativeSrc": "155863:3:23", "nodeType": "YulIdentifier", - "src": "155863:3:10" + "src": "155863:3:23" }, - "nativeSrc": "155863:11:10", + "nativeSrc": "155863:11:23", "nodeType": "YulFunctionCall", - "src": "155863:11:10" + "src": "155863:11:23" } ], "functionName": { "name": "shr", - "nativeSrc": "155855:3:10", + "nativeSrc": "155855:3:23", "nodeType": "YulIdentifier", - "src": "155855:3:10" + "src": "155855:3:23" }, - "nativeSrc": "155855:20:10", + "nativeSrc": "155855:20:23", "nodeType": "YulFunctionCall", - "src": "155855:20:10" + "src": "155855:20:23" }, { "arguments": [ { "kind": "number", - "nativeSrc": "155881:2:10", + "nativeSrc": "155881:2:23", "nodeType": "YulLiteral", - "src": "155881:2:10", + "src": "155881:2:23", "type": "", "value": "96" }, { "name": "salt", - "nativeSrc": "155885:4:10", + "nativeSrc": "155885:4:23", "nodeType": "YulIdentifier", - "src": "155885:4:10" + "src": "155885:4:23" } ], "functionName": { "name": "shr", - "nativeSrc": "155877:3:10", + "nativeSrc": "155877:3:23", "nodeType": "YulIdentifier", - "src": "155877:3:10" + "src": "155877:3:23" }, - "nativeSrc": "155877:13:10", + "nativeSrc": "155877:13:23", "nodeType": "YulFunctionCall", - "src": "155877:13:10" + "src": "155877:13:23" } ], "functionName": { "name": "eq", - "nativeSrc": "155852:2:10", + "nativeSrc": "155852:2:23", "nodeType": "YulIdentifier", - "src": "155852:2:10" + "src": "155852:2:23" }, - "nativeSrc": "155852:39:10", + "nativeSrc": "155852:39:23", "nodeType": "YulFunctionCall", - "src": "155852:39:10" + "src": "155852:39:23" } ], "functionName": { "name": "or", - "nativeSrc": "155826:2:10", + "nativeSrc": "155826:2:23", "nodeType": "YulIdentifier", - "src": "155826:2:10" + "src": "155826:2:23" }, - "nativeSrc": "155826:66:10", + "nativeSrc": "155826:66:23", "nodeType": "YulFunctionCall", - "src": "155826:66:10" + "src": "155826:66:23" } ], "functionName": { "name": "iszero", - "nativeSrc": "155819:6:10", + "nativeSrc": "155819:6:23", "nodeType": "YulIdentifier", - "src": "155819:6:10" + "src": "155819:6:23" }, - "nativeSrc": "155819:74:10", + "nativeSrc": "155819:74:23", "nodeType": "YulFunctionCall", - "src": "155819:74:10" + "src": "155819:74:23" }, - "nativeSrc": "155816:198:10", + "nativeSrc": "155816:198:23", "nodeType": "YulIf", - "src": "155816:198:10" + "src": "155816:198:23" } ] }, @@ -160065,59 +179040,59 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5075, + "declaration": 6681, "isOffset": false, "isSlot": false, - "src": "155871:2:10", + "src": "155871:2:23", "valueSize": 1 }, { - "declaration": 5073, + "declaration": 6679, "isOffset": false, "isSlot": false, - "src": "155844:4:10", + "src": "155844:4:23", "valueSize": 1 }, { - "declaration": 5073, + "declaration": 6679, "isOffset": false, "isSlot": false, - "src": "155885:4:10", + "src": "155885:4:23", "valueSize": 1 } ], - "id": 5078, + "id": 6684, "nodeType": "InlineAssembly", - "src": "155720:304:10" + "src": "155720:304:23" } ] }, "documentation": { - "id": 5071, + "id": 6677, "nodeType": "StructuredDocumentation", - "src": "155523:74:10", + "src": "155523:74:23", "text": "@dev Requires that `salt` starts with either the zero address or `by`." }, - "id": 5080, + "id": 6686, "implemented": true, "kind": "function", "modifiers": [], "name": "checkStartsWith", - "nameLocation": "155611:15:10", + "nameLocation": "155611:15:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 5076, + "id": 6682, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5073, + "id": 6679, "mutability": "mutable", "name": "salt", - "nameLocation": "155635:4:10", + "nameLocation": "155635:4:23", "nodeType": "VariableDeclaration", - "scope": 5080, - "src": "155627:12:10", + "scope": 6686, + "src": "155627:12:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -160125,10 +179100,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 5072, + "id": 6678, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "155627:7:10", + "src": "155627:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -160138,13 +179113,13 @@ }, { "constant": false, - "id": 5075, + "id": 6681, "mutability": "mutable", "name": "by", - "nameLocation": "155649:2:10", + "nameLocation": "155649:2:23", "nodeType": "VariableDeclaration", - "scope": 5080, - "src": "155641:10:10", + "scope": 6686, + "src": "155641:10:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -160152,10 +179127,10 @@ "typeString": "address" }, "typeName": { - "id": 5074, + "id": 6680, "name": "address", "nodeType": "ElementaryTypeName", - "src": "155641:7:10", + "src": "155641:7:23", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -160165,36 +179140,36 @@ "visibility": "internal" } ], - "src": "155626:26:10" + "src": "155626:26:23" }, "returnParameters": { - "id": 5077, + "id": 6683, "nodeType": "ParameterList", "parameters": [], - "src": "155667:0:10" + "src": "155667:0:23" }, - "scope": 5093, - "src": "155602:428:10", + "scope": 6699, + "src": "155602:428:23", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5091, + "id": 6697, "nodeType": "Block", - "src": "156295:137:10", + "src": "156295:137:23", "statements": [ { "AST": { - "nativeSrc": "156357:69:10", + "nativeSrc": "156357:69:23", "nodeType": "YulBlock", - "src": "156357:69:10", + "src": "156357:69:23", "statements": [ { - "nativeSrc": "156371:45:10", + "nativeSrc": "156371:45:23", "nodeType": "YulAssignment", - "src": "156371:45:10", + "src": "156371:45:23", "value": { "arguments": [ { @@ -160203,63 +179178,63 @@ "arguments": [ { "name": "args", - "nativeSrc": "156395:4:10", + "nativeSrc": "156395:4:23", "nodeType": "YulIdentifier", - "src": "156395:4:10" + "src": "156395:4:23" }, { "kind": "number", - "nativeSrc": "156401:4:10", + "nativeSrc": "156401:4:23", "nodeType": "YulLiteral", - "src": "156401:4:10", + "src": "156401:4:23", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "156391:3:10", + "nativeSrc": "156391:3:23", "nodeType": "YulIdentifier", - "src": "156391:3:10" + "src": "156391:3:23" }, - "nativeSrc": "156391:15:10", + "nativeSrc": "156391:15:23", "nodeType": "YulFunctionCall", - "src": "156391:15:10" + "src": "156391:15:23" }, { "name": "offset", - "nativeSrc": "156408:6:10", + "nativeSrc": "156408:6:23", "nodeType": "YulIdentifier", - "src": "156408:6:10" + "src": "156408:6:23" } ], "functionName": { "name": "add", - "nativeSrc": "156387:3:10", + "nativeSrc": "156387:3:23", "nodeType": "YulIdentifier", - "src": "156387:3:10" + "src": "156387:3:23" }, - "nativeSrc": "156387:28:10", + "nativeSrc": "156387:28:23", "nodeType": "YulFunctionCall", - "src": "156387:28:10" + "src": "156387:28:23" } ], "functionName": { "name": "mload", - "nativeSrc": "156381:5:10", + "nativeSrc": "156381:5:23", "nodeType": "YulIdentifier", - "src": "156381:5:10" + "src": "156381:5:23" }, - "nativeSrc": "156381:35:10", + "nativeSrc": "156381:35:23", "nodeType": "YulFunctionCall", - "src": "156381:35:10" + "src": "156381:35:23" }, "variableNames": [ { "name": "result", - "nativeSrc": "156371:6:10", + "nativeSrc": "156371:6:23", "nodeType": "YulIdentifier", - "src": "156371:6:10" + "src": "156371:6:23" } ] } @@ -160269,59 +179244,59 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5083, + "declaration": 6689, "isOffset": false, "isSlot": false, - "src": "156395:4:10", + "src": "156395:4:23", "valueSize": 1 }, { - "declaration": 5085, + "declaration": 6691, "isOffset": false, "isSlot": false, - "src": "156408:6:10", + "src": "156408:6:23", "valueSize": 1 }, { - "declaration": 5088, + "declaration": 6694, "isOffset": false, "isSlot": false, - "src": "156371:6:10", + "src": "156371:6:23", "valueSize": 1 } ], - "id": 5090, + "id": 6696, "nodeType": "InlineAssembly", - "src": "156348:78:10" + "src": "156348:78:23" } ] }, "documentation": { - "id": 5081, + "id": 6687, "nodeType": "StructuredDocumentation", - "src": "156036:163:10", + "src": "156036:163:23", "text": "@dev Returns the `bytes32` at `offset` in `args`, without any bounds checks.\n To load an address, you can use `address(bytes20(argLoad(args, offset)))`." }, - "id": 5092, + "id": 6698, "implemented": true, "kind": "function", "modifiers": [], "name": "argLoad", - "nameLocation": "156213:7:10", + "nameLocation": "156213:7:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 5086, + "id": 6692, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5083, + "id": 6689, "mutability": "mutable", "name": "args", - "nameLocation": "156234:4:10", + "nameLocation": "156234:4:23", "nodeType": "VariableDeclaration", - "scope": 5092, - "src": "156221:17:10", + "scope": 6698, + "src": "156221:17:23", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -160329,10 +179304,10 @@ "typeString": "bytes" }, "typeName": { - "id": 5082, + "id": 6688, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "156221:5:10", + "src": "156221:5:23", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -160342,13 +179317,13 @@ }, { "constant": false, - "id": 5085, + "id": 6691, "mutability": "mutable", "name": "offset", - "nameLocation": "156248:6:10", + "nameLocation": "156248:6:23", "nodeType": "VariableDeclaration", - "scope": 5092, - "src": "156240:14:10", + "scope": 6698, + "src": "156240:14:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -160356,10 +179331,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5084, + "id": 6690, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "156240:7:10", + "src": "156240:7:23", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -160368,21 +179343,21 @@ "visibility": "internal" } ], - "src": "156220:35:10" + "src": "156220:35:23" }, "returnParameters": { - "id": 5089, + "id": 6695, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5088, + "id": 6694, "mutability": "mutable", "name": "result", - "nameLocation": "156287:6:10", + "nameLocation": "156287:6:23", "nodeType": "VariableDeclaration", - "scope": 5092, - "src": "156279:14:10", + "scope": 6698, + "src": "156279:14:23", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -160390,10 +179365,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 5087, + "id": 6693, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "156279:7:10", + "src": "156279:7:23", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -160402,46 +179377,46 @@ "visibility": "internal" } ], - "src": "156278:16:10" + "src": "156278:16:23" }, - "scope": 5093, - "src": "156204:228:10", + "scope": 6699, + "src": "156204:228:23", "stateMutability": "pure", "virtual": false, "visibility": "internal" } ], - "scope": 5094, - "src": "3756:152678:10", + "scope": 6700, + "src": "3756:152678:23", "usedErrors": [ - 3112, - 3115, - 3118 + 4718, + 4721, + 4724 ], "usedEvents": [] } ], - "src": "32:156403:10" + "src": "32:156403:23" }, - "id": 10 + "id": 23 }, "solady/utils/LibString.sol": { "ast": { "absolutePath": "solady/utils/LibString.sol", "exportedSymbols": { "LibBytes": [ - 3078 + 4684 ], "LibString": [ - 6134 + 7740 ] }, - "id": 6135, + "id": 7741, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 5095, + "id": 6701, "literals": [ "solidity", "^", @@ -160449,26 +179424,26 @@ ".4" ], "nodeType": "PragmaDirective", - "src": "32:23:11" + "src": "32:23:24" }, { "absolutePath": "solady/utils/LibBytes.sol", "file": "./LibBytes.sol", - "id": 5097, + "id": 6703, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 6135, - "sourceUnit": 3079, - "src": "57:40:11", + "scope": 7741, + "sourceUnit": 4685, + "src": "57:40:24", "symbolAliases": [ { "foreign": { - "id": 5096, + "id": 6702, "name": "LibBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3078, - "src": "65:8:11", + "referencedDeclaration": 4684, + "src": "65:8:24", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -160483,39 +179458,39 @@ "contractDependencies": [], "contractKind": "library", "documentation": { - "id": 5098, + "id": 6704, "nodeType": "StructuredDocumentation", - "src": "99:591:11", + "src": "99:591:24", "text": "@notice Library for converting numbers into strings and other string operations.\n @author Solady (https://github.com/vectorized/solady/blob/main/src/utils/LibString.sol)\n @author Modified from Solmate (https://github.com/transmissions11/solmate/blob/main/src/utils/LibString.sol)\n @dev Note:\n For performance and bytecode compactness, most of the string operations are restricted to\n byte strings (7-bit ASCII), except where otherwise specified.\n Usage of byte string operations on charsets with runes spanning two or more bytes\n can lead to undefined behavior." }, "fullyImplemented": true, - "id": 6134, + "id": 7740, "linearizedBaseContracts": [ - 6134 + 7740 ], "name": "LibString", - "nameLocation": "698:9:11", + "nameLocation": "698:9:24", "nodeType": "ContractDefinition", "nodes": [ { "canonicalName": "LibString.StringStorage", "documentation": { - "id": 5099, + "id": 6705, "nodeType": "StructuredDocumentation", - "src": "997:237:11", + "src": "997:237:24", "text": "@dev Goated string storage struct that totally MOGs, no cap, fr.\n Uses less gas and bytecode than Solidity's native string storage. It's meta af.\n Packs length with the first 31 bytes if <255 bytes, so it’s mad tight." }, - "id": 5102, + "id": 6708, "members": [ { "constant": false, - "id": 5101, + "id": 6707, "mutability": "mutable", "name": "_spacer", - "nameLocation": "1278:7:11", + "nameLocation": "1278:7:24", "nodeType": "VariableDeclaration", - "scope": 5102, - "src": "1270:15:11", + "scope": 6708, + "src": "1270:15:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -160523,10 +179498,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 5100, + "id": 6706, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1270:7:11", + "src": "1270:7:24", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -160536,87 +179511,87 @@ } ], "name": "StringStorage", - "nameLocation": "1246:13:11", + "nameLocation": "1246:13:24", "nodeType": "StructDefinition", - "scope": 6134, - "src": "1239:53:11", + "scope": 7740, + "src": "1239:53:24", "visibility": "public" }, { "documentation": { - "id": 5103, + "id": 6709, "nodeType": "StructuredDocumentation", - "src": "1581:77:11", + "src": "1581:77:24", "text": "@dev The length of the output is too small to contain all the hex digits." }, "errorSelector": "2194895a", - "id": 5105, + "id": 6711, "name": "HexLengthInsufficient", - "nameLocation": "1669:21:11", + "nameLocation": "1669:21:24", "nodeType": "ErrorDefinition", "parameters": { - "id": 5104, + "id": 6710, "nodeType": "ParameterList", "parameters": [], - "src": "1690:2:11" + "src": "1690:2:24" }, - "src": "1663:30:11" + "src": "1663:30:24" }, { "documentation": { - "id": 5106, + "id": 6712, "nodeType": "StructuredDocumentation", - "src": "1699:56:11", + "src": "1699:56:24", "text": "@dev The length of the string is more than 32 bytes." }, "errorSelector": "ec92f9a3", - "id": 5108, + "id": 6714, "name": "TooBigForSmallString", - "nameLocation": "1766:20:11", + "nameLocation": "1766:20:24", "nodeType": "ErrorDefinition", "parameters": { - "id": 5107, + "id": 6713, "nodeType": "ParameterList", "parameters": [], - "src": "1786:2:11" + "src": "1786:2:24" }, - "src": "1760:29:11" + "src": "1760:29:24" }, { "documentation": { - "id": 5109, + "id": 6715, "nodeType": "StructuredDocumentation", - "src": "1795:48:11", + "src": "1795:48:24", "text": "@dev The input string must be a 7-bit ASCII." }, "errorSelector": "c9807e0d", - "id": 5111, + "id": 6717, "name": "StringNot7BitASCII", - "nameLocation": "1854:18:11", + "nameLocation": "1854:18:24", "nodeType": "ErrorDefinition", "parameters": { - "id": 5110, + "id": 6716, "nodeType": "ParameterList", "parameters": [], - "src": "1872:2:11" + "src": "1872:2:24" }, - "src": "1848:27:11" + "src": "1848:27:24" }, { "constant": true, "documentation": { - "id": 5112, + "id": 6718, "nodeType": "StructuredDocumentation", - "src": "2164:76:11", + "src": "2164:76:24", "text": "@dev The constant returned when the `search` is not found in the string." }, - "id": 5119, + "id": 6725, "mutability": "constant", "name": "NOT_FOUND", - "nameLocation": "2271:9:11", + "nameLocation": "2271:9:24", "nodeType": "VariableDeclaration", - "scope": 6134, - "src": "2245:55:11", + "scope": 7740, + "src": "2245:55:24", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -160624,10 +179599,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5113, + "id": 6719, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2245:7:11", + "src": "2245:7:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -160637,22 +179612,22 @@ "expression": { "arguments": [ { - "id": 5116, + "id": 6722, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2288:7:11", + "src": "2288:7:24", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 5115, + "id": 6721, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2288:7:11", + "src": "2288:7:24", "typeDescriptions": {} } } @@ -160664,18 +179639,18 @@ "typeString": "type(uint256)" } ], - "id": 5114, + "id": 6720, "name": "type", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -27, - "src": "2283:4:11", + "src": "2283:4:24", "typeDescriptions": { "typeIdentifier": "t_function_metatype_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 5117, + "id": 6723, "isConstant": false, "isLValue": false, "isPure": true, @@ -160684,22 +179659,22 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2283:13:11", + "src": "2283:13:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_magic_meta_type_t_uint256", "typeString": "type(uint256)" } }, - "id": 5118, + "id": 6724, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "2297:3:11", + "memberLocation": "2297:3:24", "memberName": "max", "nodeType": "MemberAccess", - "src": "2283:17:11", + "src": "2283:17:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -160710,18 +179685,18 @@ { "constant": true, "documentation": { - "id": 5120, + "id": 6726, "nodeType": "StructuredDocumentation", - "src": "2307:85:11", + "src": "2307:85:24", "text": "@dev Lookup for '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'." }, - "id": 5123, + "id": 6729, "mutability": "constant", "name": "ALPHANUMERIC_7_BIT_ASCII", - "nameLocation": "2423:24:11", + "nameLocation": "2423:24:24", "nodeType": "VariableDeclaration", - "scope": 6134, - "src": "2397:86:11", + "scope": 7740, + "src": "2397:86:24", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -160729,10 +179704,10 @@ "typeString": "uint128" }, "typeName": { - "id": 5121, + "id": 6727, "name": "uint128", "nodeType": "ElementaryTypeName", - "src": "2397:7:11", + "src": "2397:7:24", "typeDescriptions": { "typeIdentifier": "t_uint128", "typeString": "uint128" @@ -160740,14 +179715,14 @@ }, "value": { "hexValue": "307837666666666665303766666666666530336666303030303030303030303030", - "id": 5122, + "id": 6728, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2450:33:11", + "src": "2450:33:24", "typeDescriptions": { "typeIdentifier": "t_rational_10633823810298881996667002598709002240_by_1", "typeString": "int_const 1063...(30 digits omitted)...2240" @@ -160759,18 +179734,18 @@ { "constant": true, "documentation": { - "id": 5124, + "id": 6730, "nodeType": "StructuredDocumentation", - "src": "2490:75:11", + "src": "2490:75:24", "text": "@dev Lookup for 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'." }, - "id": 5127, + "id": 6733, "mutability": "constant", "name": "LETTERS_7_BIT_ASCII", - "nameLocation": "2596:19:11", + "nameLocation": "2596:19:24", "nodeType": "VariableDeclaration", - "scope": 6134, - "src": "2570:81:11", + "scope": 7740, + "src": "2570:81:24", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -160778,10 +179753,10 @@ "typeString": "uint128" }, "typeName": { - "id": 5125, + "id": 6731, "name": "uint128", "nodeType": "ElementaryTypeName", - "src": "2570:7:11", + "src": "2570:7:24", "typeDescriptions": { "typeIdentifier": "t_uint128", "typeString": "uint128" @@ -160789,14 +179764,14 @@ }, "value": { "hexValue": "307837666666666665303766666666666530303030303030303030303030303030", - "id": 5126, + "id": 6732, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2618:33:11", + "src": "2618:33:24", "typeDescriptions": { "typeIdentifier": "t_rational_10633823810298881996379053697534001152_by_1", "typeString": "int_const 1063...(30 digits omitted)...1152" @@ -160808,18 +179783,18 @@ { "constant": true, "documentation": { - "id": 5128, + "id": 6734, "nodeType": "StructuredDocumentation", - "src": "2658:49:11", + "src": "2658:49:24", "text": "@dev Lookup for 'abcdefghijklmnopqrstuvwxyz'." }, - "id": 5131, + "id": 6737, "mutability": "constant", "name": "LOWERCASE_7_BIT_ASCII", - "nameLocation": "2738:21:11", + "nameLocation": "2738:21:24", "nodeType": "VariableDeclaration", - "scope": 6134, - "src": "2712:83:11", + "scope": 7740, + "src": "2712:83:24", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -160827,10 +179802,10 @@ "typeString": "uint128" }, "typeName": { - "id": 5129, + "id": 6735, "name": "uint128", "nodeType": "ElementaryTypeName", - "src": "2712:7:11", + "src": "2712:7:24", "typeDescriptions": { "typeIdentifier": "t_uint128", "typeString": "uint128" @@ -160838,14 +179813,14 @@ }, "value": { "hexValue": "307837666666666665303030303030303030303030303030303030303030303030", - "id": 5130, + "id": 6736, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2762:33:11", + "src": "2762:33:24", "typeDescriptions": { "typeIdentifier": "t_rational_10633823807823001954701781295154855936_by_1", "typeString": "int_const 1063...(30 digits omitted)...5936" @@ -160857,18 +179832,18 @@ { "constant": true, "documentation": { - "id": 5132, + "id": 6738, "nodeType": "StructuredDocumentation", - "src": "2802:49:11", + "src": "2802:49:24", "text": "@dev Lookup for 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'." }, - "id": 5135, + "id": 6741, "mutability": "constant", "name": "UPPERCASE_7_BIT_ASCII", - "nameLocation": "2882:21:11", + "nameLocation": "2882:21:24", "nodeType": "VariableDeclaration", - "scope": 6134, - "src": "2856:75:11", + "scope": 7740, + "src": "2856:75:24", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -160876,10 +179851,10 @@ "typeString": "uint128" }, "typeName": { - "id": 5133, + "id": 6739, "name": "uint128", "nodeType": "ElementaryTypeName", - "src": "2856:7:11", + "src": "2856:7:24", "typeDescriptions": { "typeIdentifier": "t_uint128", "typeString": "uint128" @@ -160887,14 +179862,14 @@ }, "value": { "hexValue": "30783766666666666530303030303030303030303030303030", - "id": 5134, + "id": 6740, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2906:25:11", + "src": "2906:25:24", "typeDescriptions": { "typeIdentifier": "t_rational_2475880041677272402379145216_by_1", "typeString": "int_const 2475880041677272402379145216" @@ -160906,18 +179881,18 @@ { "constant": true, "documentation": { - "id": 5136, + "id": 6742, "nodeType": "StructuredDocumentation", - "src": "2938:33:11", + "src": "2938:33:24", "text": "@dev Lookup for '0123456789'." }, - "id": 5139, + "id": 6745, "mutability": "constant", "name": "DIGITS_7_BIT_ASCII", - "nameLocation": "3002:18:11", + "nameLocation": "3002:18:24", "nodeType": "VariableDeclaration", - "scope": 6134, - "src": "2976:64:11", + "scope": 7740, + "src": "2976:64:24", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -160925,10 +179900,10 @@ "typeString": "uint128" }, "typeName": { - "id": 5137, + "id": 6743, "name": "uint128", "nodeType": "ElementaryTypeName", - "src": "2976:7:11", + "src": "2976:7:24", "typeDescriptions": { "typeIdentifier": "t_uint128", "typeString": "uint128" @@ -160936,14 +179911,14 @@ }, "value": { "hexValue": "3078336666303030303030303030303030", - "id": 5138, + "id": 6744, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3023:17:11", + "src": "3023:17:24", "typeDescriptions": { "typeIdentifier": "t_rational_287948901175001088_by_1", "typeString": "int_const 287948901175001088" @@ -160955,18 +179930,18 @@ { "constant": true, "documentation": { - "id": 5140, + "id": 6746, "nodeType": "StructuredDocumentation", - "src": "3047:45:11", + "src": "3047:45:24", "text": "@dev Lookup for '0123456789abcdefABCDEF'." }, - "id": 5143, + "id": 6749, "mutability": "constant", "name": "HEXDIGITS_7_BIT_ASCII", - "nameLocation": "3123:21:11", + "nameLocation": "3123:21:24", "nodeType": "VariableDeclaration", - "scope": 6134, - "src": "3097:78:11", + "scope": 7740, + "src": "3097:78:24", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -160974,10 +179949,10 @@ "typeString": "uint128" }, "typeName": { - "id": 5141, + "id": 6747, "name": "uint128", "nodeType": "ElementaryTypeName", - "src": "3097:7:11", + "src": "3097:7:24", "typeDescriptions": { "typeIdentifier": "t_uint128", "typeString": "uint128" @@ -160985,14 +179960,14 @@ }, "value": { "hexValue": "30783765303030303030376530336666303030303030303030303030", - "id": 5142, + "id": 6748, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3147:28:11", + "src": "3147:28:24", "typeDescriptions": { "typeIdentifier": "t_rational_9982748479121884238975116247040_by_1", "typeString": "int_const 9982748479121884238975116247040" @@ -161004,18 +179979,18 @@ { "constant": true, "documentation": { - "id": 5144, + "id": 6750, "nodeType": "StructuredDocumentation", - "src": "3182:31:11", + "src": "3182:31:24", "text": "@dev Lookup for '01234567'." }, - "id": 5147, + "id": 6753, "mutability": "constant", "name": "OCTDIGITS_7_BIT_ASCII", - "nameLocation": "3244:21:11", + "nameLocation": "3244:21:24", "nodeType": "VariableDeclaration", - "scope": 6134, - "src": "3218:66:11", + "scope": 7740, + "src": "3218:66:24", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -161023,10 +179998,10 @@ "typeString": "uint128" }, "typeName": { - "id": 5145, + "id": 6751, "name": "uint128", "nodeType": "ElementaryTypeName", - "src": "3218:7:11", + "src": "3218:7:24", "typeDescriptions": { "typeIdentifier": "t_uint128", "typeString": "uint128" @@ -161034,14 +180009,14 @@ }, "value": { "hexValue": "30786666303030303030303030303030", - "id": 5146, + "id": 6752, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3268:16:11", + "src": "3268:16:24", "typeDescriptions": { "typeIdentifier": "t_rational_71776119061217280_by_1", "typeString": "int_const 71776119061217280" @@ -161053,18 +180028,18 @@ { "constant": true, "documentation": { - "id": 5148, + "id": 6754, "nodeType": "StructuredDocumentation", - "src": "3291:134:11", + "src": "3291:134:24", "text": "@dev Lookup for '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!\"#$%&\\'()*+,-./:;<=>?@[\\\\]^_`{|}~ \\t\\n\\r\\x0b\\x0c'." }, - "id": 5151, + "id": 6757, "mutability": "constant", "name": "PRINTABLE_7_BIT_ASCII", - "nameLocation": "3456:21:11", + "nameLocation": "3456:21:24", "nodeType": "VariableDeclaration", - "scope": 6134, - "src": "3430:84:11", + "scope": 7740, + "src": "3430:84:24", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -161072,10 +180047,10 @@ "typeString": "uint128" }, "typeName": { - "id": 5149, + "id": 6755, "name": "uint128", "nodeType": "ElementaryTypeName", - "src": "3430:7:11", + "src": "3430:7:24", "typeDescriptions": { "typeIdentifier": "t_uint128", "typeString": "uint128" @@ -161083,14 +180058,14 @@ }, "value": { "hexValue": "30783766666666666666666666666666666666666666666666663030303033653030", - "id": 5150, + "id": 6756, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3480:34:11", + "src": "3480:34:24", "typeDescriptions": { "typeIdentifier": "t_rational_170141183460469231731687303711589154304_by_1", "typeString": "int_const 1701...(31 digits omitted)...4304" @@ -161102,18 +180077,18 @@ { "constant": true, "documentation": { - "id": 5152, + "id": 6758, "nodeType": "StructuredDocumentation", - "src": "3521:57:11", + "src": "3521:57:24", "text": "@dev Lookup for '!\"#$%&\\'()*+,-./:;<=>?@[\\\\]^_`{|}~'." }, - "id": 5155, + "id": 6761, "mutability": "constant", "name": "PUNCTUATION_7_BIT_ASCII", - "nameLocation": "3609:23:11", + "nameLocation": "3609:23:24", "nodeType": "VariableDeclaration", - "scope": 6134, - "src": "3583:86:11", + "scope": 7740, + "src": "3583:86:24", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -161121,10 +180096,10 @@ "typeString": "uint128" }, "typeName": { - "id": 5153, + "id": 6759, "name": "uint128", "nodeType": "ElementaryTypeName", - "src": "3583:7:11", + "src": "3583:7:24", "typeDescriptions": { "typeIdentifier": "t_uint128", "typeString": "uint128" @@ -161132,14 +180107,14 @@ }, "value": { "hexValue": "30783738303030303031663830303030303166633030666666653030303030303030", - "id": 5154, + "id": 6760, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3635:34:11", + "src": "3635:34:24", "typeDescriptions": { "typeIdentifier": "t_rational_159507359650170349735020301108585168896_by_1", "typeString": "int_const 1595...(31 digits omitted)...8896" @@ -161151,18 +180126,18 @@ { "constant": true, "documentation": { - "id": 5156, + "id": 6762, "nodeType": "StructuredDocumentation", - "src": "3676:38:11", + "src": "3676:38:24", "text": "@dev Lookup for ' \\t\\n\\r\\x0b\\x0c'." }, - "id": 5159, + "id": 6765, "mutability": "constant", "name": "WHITESPACE_7_BIT_ASCII", - "nameLocation": "3745:22:11", + "nameLocation": "3745:22:24", "nodeType": "VariableDeclaration", - "scope": 6134, - "src": "3719:62:11", + "scope": 7740, + "src": "3719:62:24", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -161170,10 +180145,10 @@ "typeString": "uint128" }, "typeName": { - "id": 5157, + "id": 6763, "name": "uint128", "nodeType": "ElementaryTypeName", - "src": "3719:7:11", + "src": "3719:7:24", "typeDescriptions": { "typeIdentifier": "t_uint128", "typeString": "uint128" @@ -161181,14 +180156,14 @@ }, "value": { "hexValue": "3078313030303033653030", - "id": 5158, + "id": 6764, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3770:11:11", + "src": "3770:11:24", "typeDescriptions": { "typeIdentifier": "t_rational_4294983168_by_1", "typeString": "int_const 4294983168" @@ -161199,9 +180174,9 @@ }, { "body": { - "id": 5180, + "id": 6786, "nodeType": "Block", - "src": "4197:56:11", + "src": "4197:56:24", "statements": [ { "expression": { @@ -161209,14 +180184,14 @@ { "arguments": [ { - "id": 5172, + "id": 6778, "name": "$", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5163, - "src": "4233:1:11", + "referencedDeclaration": 6769, + "src": "4233:1:24", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$6708_storage_ptr", "typeString": "struct LibString.StringStorage storage pointer" } } @@ -161224,22 +180199,22 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$6708_storage_ptr", "typeString": "struct LibString.StringStorage storage pointer" } ], - "id": 5171, + "id": 6777, "name": "bytesStorage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5307, - "src": "4220:12:11", + "referencedDeclaration": 6913, + "src": "4220:12:24", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_StringStorage_$5102_storage_ptr_$returns$_t_struct$_BytesStorage_$2579_storage_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_StringStorage_$6708_storage_ptr_$returns$_t_struct$_BytesStorage_$4185_storage_ptr_$", "typeString": "function (struct LibString.StringStorage storage pointer) pure returns (struct LibBytes.BytesStorage storage pointer)" } }, - "id": 5173, + "id": 6779, "isConstant": false, "isLValue": false, "isPure": false, @@ -161248,22 +180223,22 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4220:15:11", + "src": "4220:15:24", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$4185_storage_ptr", "typeString": "struct LibBytes.BytesStorage storage pointer" } }, { "arguments": [ { - "id": 5176, + "id": 6782, "name": "s", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5165, - "src": "4243:1:11", + "referencedDeclaration": 6771, + "src": "4243:1:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -161277,26 +180252,26 @@ "typeString": "string memory" } ], - "id": 5175, + "id": 6781, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4237:5:11", + "src": "4237:5:24", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5174, + "id": 6780, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "4237:5:11", + "src": "4237:5:24", "typeDescriptions": {} } }, - "id": 5177, + "id": 6783, "isConstant": false, "isLValue": false, "isPure": false, @@ -161305,7 +180280,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4237:8:11", + "src": "4237:8:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -161316,7 +180291,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$4185_storage_ptr", "typeString": "struct LibBytes.BytesStorage storage pointer" }, { @@ -161325,33 +180300,33 @@ } ], "expression": { - "id": 5168, + "id": 6774, "name": "LibBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3078, - "src": "4207:8:11", + "referencedDeclaration": 4684, + "src": "4207:8:24", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytes_$3078_$", + "typeIdentifier": "t_type$_t_contract$_LibBytes_$4684_$", "typeString": "type(library LibBytes)" } }, - "id": 5170, + "id": 6776, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "4216:3:11", + "memberLocation": "4216:3:24", "memberName": "set", "nodeType": "MemberAccess", - "referencedDeclaration": 2598, - "src": "4207:12:11", + "referencedDeclaration": 4204, + "src": "4207:12:24", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_BytesStorage_$2579_storage_ptr_$_t_bytes_memory_ptr_$returns$__$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_BytesStorage_$4185_storage_ptr_$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (struct LibBytes.BytesStorage storage pointer,bytes memory)" } }, - "id": 5178, + "id": 6784, "isConstant": false, "isLValue": false, "isPure": false, @@ -161360,68 +180335,68 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4207:39:11", + "src": "4207:39:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5179, + "id": 6785, "nodeType": "ExpressionStatement", - "src": "4207:39:11" + "src": "4207:39:24" } ] }, "documentation": { - "id": 5160, + "id": 6766, "nodeType": "StructuredDocumentation", - "src": "4071:57:11", + "src": "4071:57:24", "text": "@dev Sets the value of the string storage `$` to `s`." }, - "id": 5181, + "id": 6787, "implemented": true, "kind": "function", "modifiers": [], "name": "set", - "nameLocation": "4142:3:11", + "nameLocation": "4142:3:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 5166, + "id": 6772, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5163, + "id": 6769, "mutability": "mutable", "name": "$", - "nameLocation": "4168:1:11", + "nameLocation": "4168:1:24", "nodeType": "VariableDeclaration", - "scope": 5181, - "src": "4146:23:11", + "scope": 6787, + "src": "4146:23:24", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$6708_storage_ptr", "typeString": "struct LibString.StringStorage" }, "typeName": { - "id": 5162, + "id": 6768, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 5161, + "id": 6767, "name": "StringStorage", "nameLocations": [ - "4146:13:11" + "4146:13:24" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 5102, - "src": "4146:13:11" + "referencedDeclaration": 6708, + "src": "4146:13:24" }, - "referencedDeclaration": 5102, - "src": "4146:13:11", + "referencedDeclaration": 6708, + "src": "4146:13:24", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$6708_storage_ptr", "typeString": "struct LibString.StringStorage" } }, @@ -161429,13 +180404,13 @@ }, { "constant": false, - "id": 5165, + "id": 6771, "mutability": "mutable", "name": "s", - "nameLocation": "4185:1:11", + "nameLocation": "4185:1:24", "nodeType": "VariableDeclaration", - "scope": 5181, - "src": "4171:15:11", + "scope": 6787, + "src": "4171:15:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -161443,10 +180418,10 @@ "typeString": "string" }, "typeName": { - "id": 5164, + "id": 6770, "name": "string", "nodeType": "ElementaryTypeName", - "src": "4171:6:11", + "src": "4171:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -161455,25 +180430,25 @@ "visibility": "internal" } ], - "src": "4145:42:11" + "src": "4145:42:24" }, "returnParameters": { - "id": 5167, + "id": 6773, "nodeType": "ParameterList", "parameters": [], - "src": "4197:0:11" + "src": "4197:0:24" }, - "scope": 6134, - "src": "4133:120:11", + "scope": 7740, + "src": "4133:120:24", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5202, + "id": 6808, "nodeType": "Block", - "src": "4395:64:11", + "src": "4395:64:24", "statements": [ { "expression": { @@ -161481,14 +180456,14 @@ { "arguments": [ { - "id": 5194, + "id": 6800, "name": "$", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5185, - "src": "4439:1:11", + "referencedDeclaration": 6791, + "src": "4439:1:24", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$6708_storage_ptr", "typeString": "struct LibString.StringStorage storage pointer" } } @@ -161496,22 +180471,22 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$6708_storage_ptr", "typeString": "struct LibString.StringStorage storage pointer" } ], - "id": 5193, + "id": 6799, "name": "bytesStorage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5307, - "src": "4426:12:11", + "referencedDeclaration": 6913, + "src": "4426:12:24", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_StringStorage_$5102_storage_ptr_$returns$_t_struct$_BytesStorage_$2579_storage_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_StringStorage_$6708_storage_ptr_$returns$_t_struct$_BytesStorage_$4185_storage_ptr_$", "typeString": "function (struct LibString.StringStorage storage pointer) pure returns (struct LibBytes.BytesStorage storage pointer)" } }, - "id": 5195, + "id": 6801, "isConstant": false, "isLValue": false, "isPure": false, @@ -161520,22 +180495,22 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4426:15:11", + "src": "4426:15:24", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$4185_storage_ptr", "typeString": "struct LibBytes.BytesStorage storage pointer" } }, { "arguments": [ { - "id": 5198, + "id": 6804, "name": "s", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5187, - "src": "4449:1:11", + "referencedDeclaration": 6793, + "src": "4449:1:24", "typeDescriptions": { "typeIdentifier": "t_string_calldata_ptr", "typeString": "string calldata" @@ -161549,26 +180524,26 @@ "typeString": "string calldata" } ], - "id": 5197, + "id": 6803, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4443:5:11", + "src": "4443:5:24", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5196, + "id": 6802, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "4443:5:11", + "src": "4443:5:24", "typeDescriptions": {} } }, - "id": 5199, + "id": 6805, "isConstant": false, "isLValue": false, "isPure": false, @@ -161577,7 +180552,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4443:8:11", + "src": "4443:8:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", @@ -161588,7 +180563,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$4185_storage_ptr", "typeString": "struct LibBytes.BytesStorage storage pointer" }, { @@ -161597,33 +180572,33 @@ } ], "expression": { - "id": 5190, + "id": 6796, "name": "LibBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3078, - "src": "4405:8:11", + "referencedDeclaration": 4684, + "src": "4405:8:24", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytes_$3078_$", + "typeIdentifier": "t_type$_t_contract$_LibBytes_$4684_$", "typeString": "type(library LibBytes)" } }, - "id": 5192, + "id": 6798, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "4414:11:11", + "memberLocation": "4414:11:24", "memberName": "setCalldata", "nodeType": "MemberAccess", - "referencedDeclaration": 2609, - "src": "4405:20:11", + "referencedDeclaration": 4215, + "src": "4405:20:24", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_BytesStorage_$2579_storage_ptr_$_t_bytes_calldata_ptr_$returns$__$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_BytesStorage_$4185_storage_ptr_$_t_bytes_calldata_ptr_$returns$__$", "typeString": "function (struct LibBytes.BytesStorage storage pointer,bytes calldata)" } }, - "id": 5200, + "id": 6806, "isConstant": false, "isLValue": false, "isPure": false, @@ -161632,68 +180607,68 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4405:47:11", + "src": "4405:47:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5201, + "id": 6807, "nodeType": "ExpressionStatement", - "src": "4405:47:11" + "src": "4405:47:24" } ] }, "documentation": { - "id": 5182, + "id": 6788, "nodeType": "StructuredDocumentation", - "src": "4259:57:11", + "src": "4259:57:24", "text": "@dev Sets the value of the string storage `$` to `s`." }, - "id": 5203, + "id": 6809, "implemented": true, "kind": "function", "modifiers": [], "name": "setCalldata", - "nameLocation": "4330:11:11", + "nameLocation": "4330:11:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 5188, + "id": 6794, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5185, + "id": 6791, "mutability": "mutable", "name": "$", - "nameLocation": "4364:1:11", + "nameLocation": "4364:1:24", "nodeType": "VariableDeclaration", - "scope": 5203, - "src": "4342:23:11", + "scope": 6809, + "src": "4342:23:24", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$6708_storage_ptr", "typeString": "struct LibString.StringStorage" }, "typeName": { - "id": 5184, + "id": 6790, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 5183, + "id": 6789, "name": "StringStorage", "nameLocations": [ - "4342:13:11" + "4342:13:24" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 5102, - "src": "4342:13:11" + "referencedDeclaration": 6708, + "src": "4342:13:24" }, - "referencedDeclaration": 5102, - "src": "4342:13:11", + "referencedDeclaration": 6708, + "src": "4342:13:24", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$6708_storage_ptr", "typeString": "struct LibString.StringStorage" } }, @@ -161701,13 +180676,13 @@ }, { "constant": false, - "id": 5187, + "id": 6793, "mutability": "mutable", "name": "s", - "nameLocation": "4383:1:11", + "nameLocation": "4383:1:24", "nodeType": "VariableDeclaration", - "scope": 5203, - "src": "4367:17:11", + "scope": 6809, + "src": "4367:17:24", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -161715,10 +180690,10 @@ "typeString": "string" }, "typeName": { - "id": 5186, + "id": 6792, "name": "string", "nodeType": "ElementaryTypeName", - "src": "4367:6:11", + "src": "4367:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -161727,29 +180702,29 @@ "visibility": "internal" } ], - "src": "4341:44:11" + "src": "4341:44:24" }, "returnParameters": { - "id": 5189, + "id": 6795, "nodeType": "ParameterList", "parameters": [], - "src": "4395:0:11" + "src": "4395:0:24" }, - "scope": 6134, - "src": "4321:138:11", + "scope": 7740, + "src": "4321:138:24", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5214, + "id": 6820, "nodeType": "Block", - "src": "4589:33:11", + "src": "4589:33:24", "statements": [ { "expression": { - "id": 5212, + "id": 6818, "isConstant": false, "isLValue": false, "isPure": false, @@ -161757,30 +180732,30 @@ "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, - "src": "4599:16:11", + "src": "4599:16:24", "subExpression": { "expression": { - "id": 5210, + "id": 6816, "name": "$", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5207, - "src": "4606:1:11", + "referencedDeclaration": 6813, + "src": "4606:1:24", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$6708_storage_ptr", "typeString": "struct LibString.StringStorage storage pointer" } }, - "id": 5211, + "id": 6817, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, - "memberLocation": "4608:7:11", + "memberLocation": "4608:7:24", "memberName": "_spacer", "nodeType": "MemberAccess", - "referencedDeclaration": 5101, - "src": "4606:9:11", + "referencedDeclaration": 6707, + "src": "4606:9:24", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -161791,86 +180766,86 @@ "typeString": "tuple()" } }, - "id": 5213, + "id": 6819, "nodeType": "ExpressionStatement", - "src": "4599:16:11" + "src": "4599:16:24" } ] }, "documentation": { - "id": 5204, + "id": 6810, "nodeType": "StructuredDocumentation", - "src": "4465:70:11", + "src": "4465:70:24", "text": "@dev Sets the value of the string storage `$` to the empty string." }, - "id": 5215, + "id": 6821, "implemented": true, "kind": "function", "modifiers": [], "name": "clear", - "nameLocation": "4549:5:11", + "nameLocation": "4549:5:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 5208, + "id": 6814, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5207, + "id": 6813, "mutability": "mutable", "name": "$", - "nameLocation": "4577:1:11", + "nameLocation": "4577:1:24", "nodeType": "VariableDeclaration", - "scope": 5215, - "src": "4555:23:11", + "scope": 6821, + "src": "4555:23:24", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$6708_storage_ptr", "typeString": "struct LibString.StringStorage" }, "typeName": { - "id": 5206, + "id": 6812, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 5205, + "id": 6811, "name": "StringStorage", "nameLocations": [ - "4555:13:11" + "4555:13:24" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 5102, - "src": "4555:13:11" + "referencedDeclaration": 6708, + "src": "4555:13:24" }, - "referencedDeclaration": 5102, - "src": "4555:13:11", + "referencedDeclaration": 6708, + "src": "4555:13:24", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$6708_storage_ptr", "typeString": "struct LibString.StringStorage" } }, "visibility": "internal" } ], - "src": "4554:25:11" + "src": "4554:25:24" }, "returnParameters": { - "id": 5209, + "id": 6815, "nodeType": "ParameterList", "parameters": [], - "src": "4589:0:11" + "src": "4589:0:24" }, - "scope": 6134, - "src": "4540:82:11", + "scope": 7740, + "src": "4540:82:24", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5237, + "id": 6843, "nodeType": "Block", - "src": "4776:63:11", + "src": "4776:63:24", "statements": [ { "expression": { @@ -161878,7 +180853,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5235, + "id": 6841, "isConstant": false, "isLValue": false, "isPure": false, @@ -161888,7 +180863,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5230, + "id": 6836, "isConstant": false, "isLValue": false, "isPure": false, @@ -161897,27 +180872,27 @@ "arguments": [ { "expression": { - "id": 5226, + "id": 6832, "name": "$", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5219, - "src": "4801:1:11", + "referencedDeclaration": 6825, + "src": "4801:1:24", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$6708_storage_ptr", "typeString": "struct LibString.StringStorage storage pointer" } }, - "id": 5227, + "id": 6833, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "4803:7:11", + "memberLocation": "4803:7:24", "memberName": "_spacer", "nodeType": "MemberAccess", - "referencedDeclaration": 5101, - "src": "4801:9:11", + "referencedDeclaration": 6707, + "src": "4801:9:24", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -161931,26 +180906,26 @@ "typeString": "bytes32" } ], - "id": 5225, + "id": 6831, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4793:7:11", + "src": "4793:7:24", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 5224, + "id": 6830, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4793:7:11", + "src": "4793:7:24", "typeDescriptions": {} } }, - "id": 5228, + "id": 6834, "isConstant": false, "isLValue": false, "isPure": false, @@ -161959,7 +180934,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4793:18:11", + "src": "4793:18:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -161970,21 +180945,21 @@ "operator": "&", "rightExpression": { "hexValue": "30786666", - "id": 5229, + "id": 6835, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4814:4:11", + "src": "4814:4:24", "typeDescriptions": { "typeIdentifier": "t_rational_255_by_1", "typeString": "int_const 255" }, "value": "0xff" }, - "src": "4793:25:11", + "src": "4793:25:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -161996,14 +180971,14 @@ "arguments": [ { "hexValue": "30", - "id": 5233, + "id": 6839, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4830:1:11", + "src": "4830:1:24", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -162018,26 +180993,26 @@ "typeString": "int_const 0" } ], - "id": 5232, + "id": 6838, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4822:7:11", + "src": "4822:7:24", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 5231, + "id": 6837, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4822:7:11", + "src": "4822:7:24", "typeDescriptions": {} } }, - "id": 5234, + "id": 6840, "isConstant": false, "isLValue": false, "isPure": true, @@ -162046,96 +181021,96 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4822:10:11", + "src": "4822:10:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4793:39:11", + "src": "4793:39:24", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 5223, - "id": 5236, + "functionReturnParameters": 6829, + "id": 6842, "nodeType": "Return", - "src": "4786:46:11" + "src": "4786:46:24" } ] }, "documentation": { - "id": 5216, + "id": 6822, "nodeType": "StructuredDocumentation", - "src": "4628:72:11", + "src": "4628:72:24", "text": "@dev Returns whether the value stored is `$` is the empty string \"\"." }, - "id": 5238, + "id": 6844, "implemented": true, "kind": "function", "modifiers": [], "name": "isEmpty", - "nameLocation": "4714:7:11", + "nameLocation": "4714:7:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 5220, + "id": 6826, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5219, + "id": 6825, "mutability": "mutable", "name": "$", - "nameLocation": "4744:1:11", + "nameLocation": "4744:1:24", "nodeType": "VariableDeclaration", - "scope": 5238, - "src": "4722:23:11", + "scope": 6844, + "src": "4722:23:24", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$6708_storage_ptr", "typeString": "struct LibString.StringStorage" }, "typeName": { - "id": 5218, + "id": 6824, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 5217, + "id": 6823, "name": "StringStorage", "nameLocations": [ - "4722:13:11" + "4722:13:24" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 5102, - "src": "4722:13:11" + "referencedDeclaration": 6708, + "src": "4722:13:24" }, - "referencedDeclaration": 5102, - "src": "4722:13:11", + "referencedDeclaration": 6708, + "src": "4722:13:24", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$6708_storage_ptr", "typeString": "struct LibString.StringStorage" } }, "visibility": "internal" } ], - "src": "4721:25:11" + "src": "4721:25:24" }, "returnParameters": { - "id": 5223, + "id": 6829, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5222, + "id": 6828, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 5238, - "src": "4770:4:11", + "scope": 6844, + "src": "4770:4:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -162143,10 +181118,10 @@ "typeString": "bool" }, "typeName": { - "id": 5221, + "id": 6827, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "4770:4:11", + "src": "4770:4:24", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -162155,19 +181130,19 @@ "visibility": "internal" } ], - "src": "4769:6:11" + "src": "4769:6:24" }, - "scope": 6134, - "src": "4705:134:11", + "scope": 7740, + "src": "4705:134:24", "stateMutability": "view", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5254, + "id": 6860, "nodeType": "Block", - "src": "4978:56:11", + "src": "4978:56:24", "statements": [ { "expression": { @@ -162175,14 +181150,14 @@ { "arguments": [ { - "id": 5250, + "id": 6856, "name": "$", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5242, - "src": "5024:1:11", + "referencedDeclaration": 6848, + "src": "5024:1:24", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$6708_storage_ptr", "typeString": "struct LibString.StringStorage storage pointer" } } @@ -162190,22 +181165,22 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$6708_storage_ptr", "typeString": "struct LibString.StringStorage storage pointer" } ], - "id": 5249, + "id": 6855, "name": "bytesStorage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5307, - "src": "5011:12:11", + "referencedDeclaration": 6913, + "src": "5011:12:24", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_StringStorage_$5102_storage_ptr_$returns$_t_struct$_BytesStorage_$2579_storage_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_StringStorage_$6708_storage_ptr_$returns$_t_struct$_BytesStorage_$4185_storage_ptr_$", "typeString": "function (struct LibString.StringStorage storage pointer) pure returns (struct LibBytes.BytesStorage storage pointer)" } }, - "id": 5251, + "id": 6857, "isConstant": false, "isLValue": false, "isPure": false, @@ -162214,10 +181189,10 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5011:15:11", + "src": "5011:15:24", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$4185_storage_ptr", "typeString": "struct LibBytes.BytesStorage storage pointer" } } @@ -162225,38 +181200,38 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$4185_storage_ptr", "typeString": "struct LibBytes.BytesStorage storage pointer" } ], "expression": { - "id": 5247, + "id": 6853, "name": "LibBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3078, - "src": "4995:8:11", + "referencedDeclaration": 4684, + "src": "4995:8:24", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytes_$3078_$", + "typeIdentifier": "t_type$_t_contract$_LibBytes_$4684_$", "typeString": "type(library LibBytes)" } }, - "id": 5248, + "id": 6854, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "5004:6:11", + "memberLocation": "5004:6:24", "memberName": "length", "nodeType": "MemberAccess", - "referencedDeclaration": 2663, - "src": "4995:15:11", + "referencedDeclaration": 4269, + "src": "4995:15:24", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_BytesStorage_$2579_storage_ptr_$returns$_t_uint256_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_BytesStorage_$4185_storage_ptr_$returns$_t_uint256_$", "typeString": "function (struct LibBytes.BytesStorage storage pointer) view returns (uint256)" } }, - "id": 5252, + "id": 6858, "isConstant": false, "isLValue": false, "isPure": false, @@ -162265,90 +181240,90 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4995:32:11", + "src": "4995:32:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 5246, - "id": 5253, + "functionReturnParameters": 6852, + "id": 6859, "nodeType": "Return", - "src": "4988:39:11" + "src": "4988:39:24" } ] }, "documentation": { - "id": 5239, + "id": 6845, "nodeType": "StructuredDocumentation", - "src": "4845:55:11", + "src": "4845:55:24", "text": "@dev Returns the length of the value stored in `$`." }, - "id": 5255, + "id": 6861, "implemented": true, "kind": "function", "modifiers": [], "name": "length", - "nameLocation": "4914:6:11", + "nameLocation": "4914:6:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 5243, + "id": 6849, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5242, + "id": 6848, "mutability": "mutable", "name": "$", - "nameLocation": "4943:1:11", + "nameLocation": "4943:1:24", "nodeType": "VariableDeclaration", - "scope": 5255, - "src": "4921:23:11", + "scope": 6861, + "src": "4921:23:24", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$6708_storage_ptr", "typeString": "struct LibString.StringStorage" }, "typeName": { - "id": 5241, + "id": 6847, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 5240, + "id": 6846, "name": "StringStorage", "nameLocations": [ - "4921:13:11" + "4921:13:24" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 5102, - "src": "4921:13:11" + "referencedDeclaration": 6708, + "src": "4921:13:24" }, - "referencedDeclaration": 5102, - "src": "4921:13:11", + "referencedDeclaration": 6708, + "src": "4921:13:24", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$6708_storage_ptr", "typeString": "struct LibString.StringStorage" } }, "visibility": "internal" } ], - "src": "4920:25:11" + "src": "4920:25:24" }, "returnParameters": { - "id": 5246, + "id": 6852, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5245, + "id": 6851, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 5255, - "src": "4969:7:11", + "scope": 6861, + "src": "4969:7:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -162356,10 +181331,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5244, + "id": 6850, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4969:7:11", + "src": "4969:7:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -162368,19 +181343,19 @@ "visibility": "internal" } ], - "src": "4968:9:11" + "src": "4968:9:24" }, - "scope": 6134, - "src": "4905:129:11", + "scope": 7740, + "src": "4905:129:24", "stateMutability": "view", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5274, + "id": 6880, "nodeType": "Block", - "src": "5162:61:11", + "src": "5162:61:24", "statements": [ { "expression": { @@ -162390,14 +181365,14 @@ { "arguments": [ { - "id": 5269, + "id": 6875, "name": "$", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5259, - "src": "5212:1:11", + "referencedDeclaration": 6865, + "src": "5212:1:24", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$6708_storage_ptr", "typeString": "struct LibString.StringStorage storage pointer" } } @@ -162405,22 +181380,22 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$6708_storage_ptr", "typeString": "struct LibString.StringStorage storage pointer" } ], - "id": 5268, + "id": 6874, "name": "bytesStorage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5307, - "src": "5199:12:11", + "referencedDeclaration": 6913, + "src": "5199:12:24", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_StringStorage_$5102_storage_ptr_$returns$_t_struct$_BytesStorage_$2579_storage_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_StringStorage_$6708_storage_ptr_$returns$_t_struct$_BytesStorage_$4185_storage_ptr_$", "typeString": "function (struct LibString.StringStorage storage pointer) pure returns (struct LibBytes.BytesStorage storage pointer)" } }, - "id": 5270, + "id": 6876, "isConstant": false, "isLValue": false, "isPure": false, @@ -162429,10 +181404,10 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5199:15:11", + "src": "5199:15:24", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$4185_storage_ptr", "typeString": "struct LibBytes.BytesStorage storage pointer" } } @@ -162440,38 +181415,38 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$4185_storage_ptr", "typeString": "struct LibBytes.BytesStorage storage pointer" } ], "expression": { - "id": 5266, + "id": 6872, "name": "LibBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3078, - "src": "5186:8:11", + "referencedDeclaration": 4684, + "src": "5186:8:24", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytes_$3078_$", + "typeIdentifier": "t_type$_t_contract$_LibBytes_$4684_$", "typeString": "type(library LibBytes)" } }, - "id": 5267, + "id": 6873, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "5195:3:11", + "memberLocation": "5195:3:24", "memberName": "get", "nodeType": "MemberAccess", - "referencedDeclaration": 2674, - "src": "5186:12:11", + "referencedDeclaration": 4280, + "src": "5186:12:24", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_BytesStorage_$2579_storage_ptr_$returns$_t_bytes_memory_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_BytesStorage_$4185_storage_ptr_$returns$_t_bytes_memory_ptr_$", "typeString": "function (struct LibBytes.BytesStorage storage pointer) view returns (bytes memory)" } }, - "id": 5271, + "id": 6877, "isConstant": false, "isLValue": false, "isPure": false, @@ -162480,7 +181455,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5186:29:11", + "src": "5186:29:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -162495,26 +181470,26 @@ "typeString": "bytes memory" } ], - "id": 5265, + "id": 6871, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "5179:6:11", + "src": "5179:6:24", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { - "id": 5264, + "id": 6870, "name": "string", "nodeType": "ElementaryTypeName", - "src": "5179:6:11", + "src": "5179:6:24", "typeDescriptions": {} } }, - "id": 5272, + "id": 6878, "isConstant": false, "isLValue": false, "isPure": false, @@ -162523,90 +181498,90 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5179:37:11", + "src": "5179:37:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "functionReturnParameters": 5263, - "id": 5273, + "functionReturnParameters": 6869, + "id": 6879, "nodeType": "Return", - "src": "5172:44:11" + "src": "5172:44:24" } ] }, "documentation": { - "id": 5256, + "id": 6862, "nodeType": "StructuredDocumentation", - "src": "5040:41:11", + "src": "5040:41:24", "text": "@dev Returns the value stored in `$`." }, - "id": 5275, + "id": 6881, "implemented": true, "kind": "function", "modifiers": [], "name": "get", - "nameLocation": "5095:3:11", + "nameLocation": "5095:3:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 5260, + "id": 6866, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5259, + "id": 6865, "mutability": "mutable", "name": "$", - "nameLocation": "5121:1:11", + "nameLocation": "5121:1:24", "nodeType": "VariableDeclaration", - "scope": 5275, - "src": "5099:23:11", + "scope": 6881, + "src": "5099:23:24", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$6708_storage_ptr", "typeString": "struct LibString.StringStorage" }, "typeName": { - "id": 5258, + "id": 6864, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 5257, + "id": 6863, "name": "StringStorage", "nameLocations": [ - "5099:13:11" + "5099:13:24" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 5102, - "src": "5099:13:11" + "referencedDeclaration": 6708, + "src": "5099:13:24" }, - "referencedDeclaration": 5102, - "src": "5099:13:11", + "referencedDeclaration": 6708, + "src": "5099:13:24", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$6708_storage_ptr", "typeString": "struct LibString.StringStorage" } }, "visibility": "internal" } ], - "src": "5098:25:11" + "src": "5098:25:24" }, "returnParameters": { - "id": 5263, + "id": 6869, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5262, + "id": 6868, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 5275, - "src": "5147:13:11", + "scope": 6881, + "src": "5147:13:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -162614,10 +181589,10 @@ "typeString": "string" }, "typeName": { - "id": 5261, + "id": 6867, "name": "string", "nodeType": "ElementaryTypeName", - "src": "5147:6:11", + "src": "5147:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -162626,19 +181601,19 @@ "visibility": "internal" } ], - "src": "5146:15:11" + "src": "5146:15:24" }, - "scope": 6134, - "src": "5086:137:11", + "scope": 7740, + "src": "5086:137:24", "stateMutability": "view", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5294, + "id": 6900, "nodeType": "Block", - "src": "5386:60:11", + "src": "5386:60:24", "statements": [ { "expression": { @@ -162646,14 +181621,14 @@ { "arguments": [ { - "id": 5289, + "id": 6895, "name": "$", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5279, - "src": "5433:1:11", + "referencedDeclaration": 6885, + "src": "5433:1:24", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$6708_storage_ptr", "typeString": "struct LibString.StringStorage storage pointer" } } @@ -162661,22 +181636,22 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$6708_storage_ptr", "typeString": "struct LibString.StringStorage storage pointer" } ], - "id": 5288, + "id": 6894, "name": "bytesStorage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5307, - "src": "5420:12:11", + "referencedDeclaration": 6913, + "src": "5420:12:24", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_StringStorage_$5102_storage_ptr_$returns$_t_struct$_BytesStorage_$2579_storage_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_StringStorage_$6708_storage_ptr_$returns$_t_struct$_BytesStorage_$4185_storage_ptr_$", "typeString": "function (struct LibString.StringStorage storage pointer) pure returns (struct LibBytes.BytesStorage storage pointer)" } }, - "id": 5290, + "id": 6896, "isConstant": false, "isLValue": false, "isPure": false, @@ -162685,20 +181660,20 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5420:15:11", + "src": "5420:15:24", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$4185_storage_ptr", "typeString": "struct LibBytes.BytesStorage storage pointer" } }, { - "id": 5291, + "id": 6897, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5281, - "src": "5437:1:11", + "referencedDeclaration": 6887, + "src": "5437:1:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -162708,7 +181683,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$4185_storage_ptr", "typeString": "struct LibBytes.BytesStorage storage pointer" }, { @@ -162717,33 +181692,33 @@ } ], "expression": { - "id": 5286, + "id": 6892, "name": "LibBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3078, - "src": "5403:8:11", + "referencedDeclaration": 4684, + "src": "5403:8:24", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytes_$3078_$", + "typeIdentifier": "t_type$_t_contract$_LibBytes_$4684_$", "typeString": "type(library LibBytes)" } }, - "id": 5287, + "id": 6893, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "5412:7:11", + "memberLocation": "5412:7:24", "memberName": "uint8At", "nodeType": "MemberAccess", - "referencedDeclaration": 2687, - "src": "5403:16:11", + "referencedDeclaration": 4293, + "src": "5403:16:24", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_BytesStorage_$2579_storage_ptr_$_t_uint256_$returns$_t_uint8_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_BytesStorage_$4185_storage_ptr_$_t_uint256_$returns$_t_uint8_$", "typeString": "function (struct LibBytes.BytesStorage storage pointer,uint256) view returns (uint8)" } }, - "id": 5292, + "id": 6898, "isConstant": false, "isLValue": false, "isPure": false, @@ -162752,69 +181727,69 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5403:36:11", + "src": "5403:36:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "functionReturnParameters": 5285, - "id": 5293, + "functionReturnParameters": 6891, + "id": 6899, "nodeType": "Return", - "src": "5396:43:11" + "src": "5396:43:24" } ] }, "documentation": { - "id": 5276, + "id": 6882, "nodeType": "StructuredDocumentation", - "src": "5229:69:11", + "src": "5229:69:24", "text": "@dev Returns the uint8 at index `i`. If out-of-bounds, returns 0." }, - "id": 5295, + "id": 6901, "implemented": true, "kind": "function", "modifiers": [], "name": "uint8At", - "nameLocation": "5312:7:11", + "nameLocation": "5312:7:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 5282, + "id": 6888, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5279, + "id": 6885, "mutability": "mutable", "name": "$", - "nameLocation": "5342:1:11", + "nameLocation": "5342:1:24", "nodeType": "VariableDeclaration", - "scope": 5295, - "src": "5320:23:11", + "scope": 6901, + "src": "5320:23:24", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$6708_storage_ptr", "typeString": "struct LibString.StringStorage" }, "typeName": { - "id": 5278, + "id": 6884, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 5277, + "id": 6883, "name": "StringStorage", "nameLocations": [ - "5320:13:11" + "5320:13:24" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 5102, - "src": "5320:13:11" + "referencedDeclaration": 6708, + "src": "5320:13:24" }, - "referencedDeclaration": 5102, - "src": "5320:13:11", + "referencedDeclaration": 6708, + "src": "5320:13:24", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$6708_storage_ptr", "typeString": "struct LibString.StringStorage" } }, @@ -162822,13 +181797,13 @@ }, { "constant": false, - "id": 5281, + "id": 6887, "mutability": "mutable", "name": "i", - "nameLocation": "5353:1:11", + "nameLocation": "5353:1:24", "nodeType": "VariableDeclaration", - "scope": 5295, - "src": "5345:9:11", + "scope": 6901, + "src": "5345:9:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -162836,10 +181811,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5280, + "id": 6886, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5345:7:11", + "src": "5345:7:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -162848,21 +181823,21 @@ "visibility": "internal" } ], - "src": "5319:36:11" + "src": "5319:36:24" }, "returnParameters": { - "id": 5285, + "id": 6891, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5284, + "id": 6890, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 5295, - "src": "5379:5:11", + "scope": 6901, + "src": "5379:5:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -162870,10 +181845,10 @@ "typeString": "uint8" }, "typeName": { - "id": 5283, + "id": 6889, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "5379:5:11", + "src": "5379:5:24", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -162882,42 +181857,42 @@ "visibility": "internal" } ], - "src": "5378:7:11" + "src": "5378:7:24" }, - "scope": 6134, - "src": "5303:143:11", + "scope": 7740, + "src": "5303:143:24", "stateMutability": "view", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5306, + "id": 6912, "nodeType": "Block", - "src": "5641:113:11", + "src": "5641:113:24", "statements": [ { "AST": { - "nativeSrc": "5703:45:11", + "nativeSrc": "5703:45:24", "nodeType": "YulBlock", - "src": "5703:45:11", + "src": "5703:45:24", "statements": [ { - "nativeSrc": "5717:21:11", + "nativeSrc": "5717:21:24", "nodeType": "YulAssignment", - "src": "5717:21:11", + "src": "5717:21:24", "value": { "name": "$.slot", - "nativeSrc": "5732:6:11", + "nativeSrc": "5732:6:24", "nodeType": "YulIdentifier", - "src": "5732:6:11" + "src": "5732:6:24" }, "variableNames": [ { "name": "casted.slot", - "nativeSrc": "5717:11:11", + "nativeSrc": "5717:11:24", "nodeType": "YulIdentifier", - "src": "5717:11:11" + "src": "5717:11:24" } ] } @@ -162927,200 +181902,200 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5299, + "declaration": 6905, "isOffset": false, "isSlot": true, - "src": "5732:6:11", + "src": "5732:6:24", "suffix": "slot", "valueSize": 1 }, { - "declaration": 5303, + "declaration": 6909, "isOffset": false, "isSlot": true, - "src": "5717:11:11", + "src": "5717:11:24", "suffix": "slot", "valueSize": 1 } ], - "id": 5305, + "id": 6911, "nodeType": "InlineAssembly", - "src": "5694:54:11" + "src": "5694:54:24" } ] }, "documentation": { - "id": 5296, + "id": 6902, "nodeType": "StructuredDocumentation", - "src": "5452:48:11", + "src": "5452:48:24", "text": "@dev Helper to cast `$` to a `BytesStorage`." }, - "id": 5307, + "id": 6913, "implemented": true, "kind": "function", "modifiers": [], "name": "bytesStorage", - "nameLocation": "5514:12:11", + "nameLocation": "5514:12:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 5300, + "id": 6906, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5299, + "id": 6905, "mutability": "mutable", "name": "$", - "nameLocation": "5549:1:11", + "nameLocation": "5549:1:24", "nodeType": "VariableDeclaration", - "scope": 5307, - "src": "5527:23:11", + "scope": 6913, + "src": "5527:23:24", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$6708_storage_ptr", "typeString": "struct LibString.StringStorage" }, "typeName": { - "id": 5298, + "id": 6904, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 5297, + "id": 6903, "name": "StringStorage", "nameLocations": [ - "5527:13:11" + "5527:13:24" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 5102, - "src": "5527:13:11" + "referencedDeclaration": 6708, + "src": "5527:13:24" }, - "referencedDeclaration": 5102, - "src": "5527:13:11", + "referencedDeclaration": 6708, + "src": "5527:13:24", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$6708_storage_ptr", "typeString": "struct LibString.StringStorage" } }, "visibility": "internal" } ], - "src": "5526:25:11" + "src": "5526:25:24" }, "returnParameters": { - "id": 5304, + "id": 6910, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5303, + "id": 6909, "mutability": "mutable", "name": "casted", - "nameLocation": "5629:6:11", + "nameLocation": "5629:6:24", "nodeType": "VariableDeclaration", - "scope": 5307, - "src": "5599:36:11", + "scope": 6913, + "src": "5599:36:24", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$4185_storage_ptr", "typeString": "struct LibBytes.BytesStorage" }, "typeName": { - "id": 5302, + "id": 6908, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 5301, + "id": 6907, "name": "LibBytes.BytesStorage", "nameLocations": [ - "5599:8:11", - "5608:12:11" + "5599:8:24", + "5608:12:24" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 2579, - "src": "5599:21:11" + "referencedDeclaration": 4185, + "src": "5599:21:24" }, - "referencedDeclaration": 2579, - "src": "5599:21:11", + "referencedDeclaration": 4185, + "src": "5599:21:24", "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$4185_storage_ptr", "typeString": "struct LibBytes.BytesStorage" } }, "visibility": "internal" } ], - "src": "5598:38:11" + "src": "5598:38:24" }, - "scope": 6134, - "src": "5505:249:11", + "scope": 7740, + "src": "5505:249:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5316, + "id": 6922, "nodeType": "Block", - "src": "6189:1482:11", + "src": "6189:1482:24", "statements": [ { "AST": { - "nativeSrc": "6251:1414:11", + "nativeSrc": "6251:1414:24", "nodeType": "YulBlock", - "src": "6251:1414:11", + "src": "6251:1414:24", "statements": [ { - "nativeSrc": "6591:32:11", + "nativeSrc": "6591:32:24", "nodeType": "YulAssignment", - "src": "6591:32:11", + "src": "6591:32:24", "value": { "arguments": [ { "arguments": [ { "kind": "number", - "nativeSrc": "6611:4:11", + "nativeSrc": "6611:4:24", "nodeType": "YulLiteral", - "src": "6611:4:11", + "src": "6611:4:24", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "6605:5:11", + "nativeSrc": "6605:5:24", "nodeType": "YulIdentifier", - "src": "6605:5:11" + "src": "6605:5:24" }, - "nativeSrc": "6605:11:11", + "nativeSrc": "6605:11:24", "nodeType": "YulFunctionCall", - "src": "6605:11:11" + "src": "6605:11:24" }, { "kind": "number", - "nativeSrc": "6618:4:11", + "nativeSrc": "6618:4:24", "nodeType": "YulLiteral", - "src": "6618:4:11", + "src": "6618:4:24", "type": "", "value": "0x80" } ], "functionName": { "name": "add", - "nativeSrc": "6601:3:11", + "nativeSrc": "6601:3:24", "nodeType": "YulIdentifier", - "src": "6601:3:11" + "src": "6601:3:24" }, - "nativeSrc": "6601:22:11", + "nativeSrc": "6601:22:24", "nodeType": "YulFunctionCall", - "src": "6601:22:11" + "src": "6601:22:24" }, "variableNames": [ { "name": "result", - "nativeSrc": "6591:6:11", + "nativeSrc": "6591:6:24", "nodeType": "YulIdentifier", - "src": "6591:6:11" + "src": "6591:6:24" } ] }, @@ -163129,9 +182104,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "6643:4:11", + "nativeSrc": "6643:4:24", "nodeType": "YulLiteral", - "src": "6643:4:11", + "src": "6643:4:24", "type": "", "value": "0x40" }, @@ -163139,172 +182114,172 @@ "arguments": [ { "name": "result", - "nativeSrc": "6653:6:11", + "nativeSrc": "6653:6:24", "nodeType": "YulIdentifier", - "src": "6653:6:11" + "src": "6653:6:24" }, { "kind": "number", - "nativeSrc": "6661:4:11", + "nativeSrc": "6661:4:24", "nodeType": "YulLiteral", - "src": "6661:4:11", + "src": "6661:4:24", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "6649:3:11", + "nativeSrc": "6649:3:24", "nodeType": "YulIdentifier", - "src": "6649:3:11" + "src": "6649:3:24" }, - "nativeSrc": "6649:17:11", + "nativeSrc": "6649:17:24", "nodeType": "YulFunctionCall", - "src": "6649:17:11" + "src": "6649:17:24" } ], "functionName": { "name": "mstore", - "nativeSrc": "6636:6:11", + "nativeSrc": "6636:6:24", "nodeType": "YulIdentifier", - "src": "6636:6:11" + "src": "6636:6:24" }, - "nativeSrc": "6636:31:11", + "nativeSrc": "6636:31:24", "nodeType": "YulFunctionCall", - "src": "6636:31:11" + "src": "6636:31:24" }, - "nativeSrc": "6636:31:11", + "nativeSrc": "6636:31:24", "nodeType": "YulExpressionStatement", - "src": "6636:31:11" + "src": "6636:31:24" }, { "expression": { "arguments": [ { "name": "result", - "nativeSrc": "6707:6:11", + "nativeSrc": "6707:6:24", "nodeType": "YulIdentifier", - "src": "6707:6:11" + "src": "6707:6:24" }, { "kind": "number", - "nativeSrc": "6715:1:11", + "nativeSrc": "6715:1:24", "nodeType": "YulLiteral", - "src": "6715:1:11", + "src": "6715:1:24", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "6700:6:11", + "nativeSrc": "6700:6:24", "nodeType": "YulIdentifier", - "src": "6700:6:11" + "src": "6700:6:24" }, - "nativeSrc": "6700:17:11", + "nativeSrc": "6700:17:24", "nodeType": "YulFunctionCall", - "src": "6700:17:11" + "src": "6700:17:24" }, - "nativeSrc": "6700:17:11", + "nativeSrc": "6700:17:24", "nodeType": "YulExpressionStatement", - "src": "6700:17:11" + "src": "6700:17:24" }, { - "nativeSrc": "6769:17:11", + "nativeSrc": "6769:17:24", "nodeType": "YulVariableDeclaration", - "src": "6769:17:11", + "src": "6769:17:24", "value": { "name": "result", - "nativeSrc": "6780:6:11", + "nativeSrc": "6780:6:24", "nodeType": "YulIdentifier", - "src": "6780:6:11" + "src": "6780:6:24" }, "variables": [ { "name": "end", - "nativeSrc": "6773:3:11", + "nativeSrc": "6773:3:24", "nodeType": "YulTypedName", - "src": "6773:3:11", + "src": "6773:3:24", "type": "" } ] }, { - "nativeSrc": "6861:15:11", + "nativeSrc": "6861:15:24", "nodeType": "YulVariableDeclaration", - "src": "6861:15:11", + "src": "6861:15:24", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "6874:1:11", + "nativeSrc": "6874:1:24", "nodeType": "YulLiteral", - "src": "6874:1:11", + "src": "6874:1:24", "type": "", "value": "0" } ], "functionName": { "name": "not", - "nativeSrc": "6870:3:11", + "nativeSrc": "6870:3:24", "nodeType": "YulIdentifier", - "src": "6870:3:11" + "src": "6870:3:24" }, - "nativeSrc": "6870:6:11", + "nativeSrc": "6870:6:24", "nodeType": "YulFunctionCall", - "src": "6870:6:11" + "src": "6870:6:24" }, "variables": [ { "name": "w", - "nativeSrc": "6865:1:11", + "nativeSrc": "6865:1:24", "nodeType": "YulTypedName", - "src": "6865:1:11", + "src": "6865:1:24", "type": "" } ] }, { "body": { - "nativeSrc": "7096:367:11", + "nativeSrc": "7096:367:24", "nodeType": "YulBlock", - "src": "7096:367:11", + "src": "7096:367:24", "statements": [ { - "nativeSrc": "7114:24:11", + "nativeSrc": "7114:24:24", "nodeType": "YulAssignment", - "src": "7114:24:11", + "src": "7114:24:24", "value": { "arguments": [ { "name": "result", - "nativeSrc": "7128:6:11", + "nativeSrc": "7128:6:24", "nodeType": "YulIdentifier", - "src": "7128:6:11" + "src": "7128:6:24" }, { "name": "w", - "nativeSrc": "7136:1:11", + "nativeSrc": "7136:1:24", "nodeType": "YulIdentifier", - "src": "7136:1:11" + "src": "7136:1:24" } ], "functionName": { "name": "add", - "nativeSrc": "7124:3:11", + "nativeSrc": "7124:3:24", "nodeType": "YulIdentifier", - "src": "7124:3:11" + "src": "7124:3:24" }, - "nativeSrc": "7124:14:11", + "nativeSrc": "7124:14:24", "nodeType": "YulFunctionCall", - "src": "7124:14:11" + "src": "7124:14:24" }, "variableNames": [ { "name": "result", - "nativeSrc": "7114:6:11", + "nativeSrc": "7114:6:24", "nodeType": "YulIdentifier", - "src": "7114:6:11" + "src": "7114:6:24" } ] }, @@ -163313,17 +182288,17 @@ "arguments": [ { "name": "result", - "nativeSrc": "7302:6:11", + "nativeSrc": "7302:6:24", "nodeType": "YulIdentifier", - "src": "7302:6:11" + "src": "7302:6:24" }, { "arguments": [ { "kind": "number", - "nativeSrc": "7314:2:11", + "nativeSrc": "7314:2:24", "nodeType": "YulLiteral", - "src": "7314:2:11", + "src": "7314:2:24", "type": "", "value": "48" }, @@ -163331,105 +182306,105 @@ "arguments": [ { "name": "temp", - "nativeSrc": "7322:4:11", + "nativeSrc": "7322:4:24", "nodeType": "YulIdentifier", - "src": "7322:4:11" + "src": "7322:4:24" }, { "kind": "number", - "nativeSrc": "7328:2:11", + "nativeSrc": "7328:2:24", "nodeType": "YulLiteral", - "src": "7328:2:11", + "src": "7328:2:24", "type": "", "value": "10" } ], "functionName": { "name": "mod", - "nativeSrc": "7318:3:11", + "nativeSrc": "7318:3:24", "nodeType": "YulIdentifier", - "src": "7318:3:11" + "src": "7318:3:24" }, - "nativeSrc": "7318:13:11", + "nativeSrc": "7318:13:24", "nodeType": "YulFunctionCall", - "src": "7318:13:11" + "src": "7318:13:24" } ], "functionName": { "name": "add", - "nativeSrc": "7310:3:11", + "nativeSrc": "7310:3:24", "nodeType": "YulIdentifier", - "src": "7310:3:11" + "src": "7310:3:24" }, - "nativeSrc": "7310:22:11", + "nativeSrc": "7310:22:24", "nodeType": "YulFunctionCall", - "src": "7310:22:11" + "src": "7310:22:24" } ], "functionName": { "name": "mstore8", - "nativeSrc": "7294:7:11", + "nativeSrc": "7294:7:24", "nodeType": "YulIdentifier", - "src": "7294:7:11" + "src": "7294:7:24" }, - "nativeSrc": "7294:39:11", + "nativeSrc": "7294:39:24", "nodeType": "YulFunctionCall", - "src": "7294:39:11" + "src": "7294:39:24" }, - "nativeSrc": "7294:39:11", + "nativeSrc": "7294:39:24", "nodeType": "YulExpressionStatement", - "src": "7294:39:11" + "src": "7294:39:24" }, { - "nativeSrc": "7350:21:11", + "nativeSrc": "7350:21:24", "nodeType": "YulAssignment", - "src": "7350:21:11", + "src": "7350:21:24", "value": { "arguments": [ { "name": "temp", - "nativeSrc": "7362:4:11", + "nativeSrc": "7362:4:24", "nodeType": "YulIdentifier", - "src": "7362:4:11" + "src": "7362:4:24" }, { "kind": "number", - "nativeSrc": "7368:2:11", + "nativeSrc": "7368:2:24", "nodeType": "YulLiteral", - "src": "7368:2:11", + "src": "7368:2:24", "type": "", "value": "10" } ], "functionName": { "name": "div", - "nativeSrc": "7358:3:11", + "nativeSrc": "7358:3:24", "nodeType": "YulIdentifier", - "src": "7358:3:11" + "src": "7358:3:24" }, - "nativeSrc": "7358:13:11", + "nativeSrc": "7358:13:24", "nodeType": "YulFunctionCall", - "src": "7358:13:11" + "src": "7358:13:24" }, "variableNames": [ { "name": "temp", - "nativeSrc": "7350:4:11", + "nativeSrc": "7350:4:24", "nodeType": "YulIdentifier", - "src": "7350:4:11" + "src": "7350:4:24" } ] }, { "body": { - "nativeSrc": "7440:9:11", + "nativeSrc": "7440:9:24", "nodeType": "YulBlock", - "src": "7440:9:11", + "src": "7440:9:24", "statements": [ { - "nativeSrc": "7442:5:11", + "nativeSrc": "7442:5:24", "nodeType": "YulBreak", - "src": "7442:5:11" + "src": "7442:5:24" } ] }, @@ -163437,148 +182412,148 @@ "arguments": [ { "name": "temp", - "nativeSrc": "7434:4:11", + "nativeSrc": "7434:4:24", "nodeType": "YulIdentifier", - "src": "7434:4:11" + "src": "7434:4:24" } ], "functionName": { "name": "iszero", - "nativeSrc": "7427:6:11", + "nativeSrc": "7427:6:24", "nodeType": "YulIdentifier", - "src": "7427:6:11" + "src": "7427:6:24" }, - "nativeSrc": "7427:12:11", + "nativeSrc": "7427:12:24", "nodeType": "YulFunctionCall", - "src": "7427:12:11" + "src": "7427:12:24" }, - "nativeSrc": "7424:25:11", + "nativeSrc": "7424:25:24", "nodeType": "YulIf", - "src": "7424:25:11" + "src": "7424:25:24" } ] }, "condition": { "kind": "number", - "nativeSrc": "7091:1:11", + "nativeSrc": "7091:1:24", "nodeType": "YulLiteral", - "src": "7091:1:11", + "src": "7091:1:24", "type": "", "value": "1" }, - "nativeSrc": "7065:398:11", + "nativeSrc": "7065:398:24", "nodeType": "YulForLoop", "post": { - "nativeSrc": "7093:2:11", + "nativeSrc": "7093:2:24", "nodeType": "YulBlock", - "src": "7093:2:11", + "src": "7093:2:24", "statements": [] }, "pre": { - "nativeSrc": "7069:21:11", + "nativeSrc": "7069:21:24", "nodeType": "YulBlock", - "src": "7069:21:11", + "src": "7069:21:24", "statements": [ { - "nativeSrc": "7071:17:11", + "nativeSrc": "7071:17:24", "nodeType": "YulVariableDeclaration", - "src": "7071:17:11", + "src": "7071:17:24", "value": { "name": "value", - "nativeSrc": "7083:5:11", + "nativeSrc": "7083:5:24", "nodeType": "YulIdentifier", - "src": "7083:5:11" + "src": "7083:5:24" }, "variables": [ { "name": "temp", - "nativeSrc": "7075:4:11", + "nativeSrc": "7075:4:24", "nodeType": "YulTypedName", - "src": "7075:4:11", + "src": "7075:4:24", "type": "" } ] } ] }, - "src": "7065:398:11" + "src": "7065:398:24" }, { - "nativeSrc": "7476:25:11", + "nativeSrc": "7476:25:24", "nodeType": "YulVariableDeclaration", - "src": "7476:25:11", + "src": "7476:25:24", "value": { "arguments": [ { "name": "end", - "nativeSrc": "7489:3:11", + "nativeSrc": "7489:3:24", "nodeType": "YulIdentifier", - "src": "7489:3:11" + "src": "7489:3:24" }, { "name": "result", - "nativeSrc": "7494:6:11", + "nativeSrc": "7494:6:24", "nodeType": "YulIdentifier", - "src": "7494:6:11" + "src": "7494:6:24" } ], "functionName": { "name": "sub", - "nativeSrc": "7485:3:11", + "nativeSrc": "7485:3:24", "nodeType": "YulIdentifier", - "src": "7485:3:11" + "src": "7485:3:24" }, - "nativeSrc": "7485:16:11", + "nativeSrc": "7485:16:24", "nodeType": "YulFunctionCall", - "src": "7485:16:11" + "src": "7485:16:24" }, "variables": [ { "name": "n", - "nativeSrc": "7480:1:11", + "nativeSrc": "7480:1:24", "nodeType": "YulTypedName", - "src": "7480:1:11", + "src": "7480:1:24", "type": "" } ] }, { - "nativeSrc": "7514:27:11", + "nativeSrc": "7514:27:24", "nodeType": "YulAssignment", - "src": "7514:27:11", + "src": "7514:27:24", "value": { "arguments": [ { "name": "result", - "nativeSrc": "7528:6:11", + "nativeSrc": "7528:6:24", "nodeType": "YulIdentifier", - "src": "7528:6:11" + "src": "7528:6:24" }, { "kind": "number", - "nativeSrc": "7536:4:11", + "nativeSrc": "7536:4:24", "nodeType": "YulLiteral", - "src": "7536:4:11", + "src": "7536:4:24", "type": "", "value": "0x20" } ], "functionName": { "name": "sub", - "nativeSrc": "7524:3:11", + "nativeSrc": "7524:3:24", "nodeType": "YulIdentifier", - "src": "7524:3:11" + "src": "7524:3:24" }, - "nativeSrc": "7524:17:11", + "nativeSrc": "7524:17:24", "nodeType": "YulFunctionCall", - "src": "7524:17:11" + "src": "7524:17:24" }, "variableNames": [ { "name": "result", - "nativeSrc": "7514:6:11", + "nativeSrc": "7514:6:24", "nodeType": "YulIdentifier", - "src": "7514:6:11" + "src": "7514:6:24" } ] }, @@ -163587,30 +182562,30 @@ "arguments": [ { "name": "result", - "nativeSrc": "7624:6:11", + "nativeSrc": "7624:6:24", "nodeType": "YulIdentifier", - "src": "7624:6:11" + "src": "7624:6:24" }, { "name": "n", - "nativeSrc": "7632:1:11", + "nativeSrc": "7632:1:24", "nodeType": "YulIdentifier", - "src": "7632:1:11" + "src": "7632:1:24" } ], "functionName": { "name": "mstore", - "nativeSrc": "7617:6:11", + "nativeSrc": "7617:6:24", "nodeType": "YulIdentifier", - "src": "7617:6:11" + "src": "7617:6:24" }, - "nativeSrc": "7617:17:11", + "nativeSrc": "7617:17:24", "nodeType": "YulFunctionCall", - "src": "7617:17:11" + "src": "7617:17:24" }, - "nativeSrc": "7617:17:11", + "nativeSrc": "7617:17:24", "nodeType": "YulExpressionStatement", - "src": "7617:17:11" + "src": "7617:17:24" } ] }, @@ -163618,122 +182593,122 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5313, + "declaration": 6919, "isOffset": false, "isSlot": false, - "src": "6591:6:11", + "src": "6591:6:24", "valueSize": 1 }, { - "declaration": 5313, + "declaration": 6919, "isOffset": false, "isSlot": false, - "src": "6653:6:11", + "src": "6653:6:24", "valueSize": 1 }, { - "declaration": 5313, + "declaration": 6919, "isOffset": false, "isSlot": false, - "src": "6707:6:11", + "src": "6707:6:24", "valueSize": 1 }, { - "declaration": 5313, + "declaration": 6919, "isOffset": false, "isSlot": false, - "src": "6780:6:11", + "src": "6780:6:24", "valueSize": 1 }, { - "declaration": 5313, + "declaration": 6919, "isOffset": false, "isSlot": false, - "src": "7114:6:11", + "src": "7114:6:24", "valueSize": 1 }, { - "declaration": 5313, + "declaration": 6919, "isOffset": false, "isSlot": false, - "src": "7128:6:11", + "src": "7128:6:24", "valueSize": 1 }, { - "declaration": 5313, + "declaration": 6919, "isOffset": false, "isSlot": false, - "src": "7302:6:11", + "src": "7302:6:24", "valueSize": 1 }, { - "declaration": 5313, + "declaration": 6919, "isOffset": false, "isSlot": false, - "src": "7494:6:11", + "src": "7494:6:24", "valueSize": 1 }, { - "declaration": 5313, + "declaration": 6919, "isOffset": false, "isSlot": false, - "src": "7514:6:11", + "src": "7514:6:24", "valueSize": 1 }, { - "declaration": 5313, + "declaration": 6919, "isOffset": false, "isSlot": false, - "src": "7528:6:11", + "src": "7528:6:24", "valueSize": 1 }, { - "declaration": 5313, + "declaration": 6919, "isOffset": false, "isSlot": false, - "src": "7624:6:11", + "src": "7624:6:24", "valueSize": 1 }, { - "declaration": 5310, + "declaration": 6916, "isOffset": false, "isSlot": false, - "src": "7083:5:11", + "src": "7083:5:24", "valueSize": 1 } ], - "id": 5315, + "id": 6921, "nodeType": "InlineAssembly", - "src": "6242:1423:11" + "src": "6242:1423:24" } ] }, "documentation": { - "id": 5308, + "id": 6914, "nodeType": "StructuredDocumentation", - "src": "6043:63:11", + "src": "6043:63:24", "text": "@dev Returns the base 10 decimal representation of `value`." }, - "id": 5317, + "id": 6923, "implemented": true, "kind": "function", "modifiers": [], "name": "toString", - "nameLocation": "6120:8:11", + "nameLocation": "6120:8:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 5311, + "id": 6917, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5310, + "id": 6916, "mutability": "mutable", "name": "value", - "nameLocation": "6137:5:11", + "nameLocation": "6137:5:24", "nodeType": "VariableDeclaration", - "scope": 5317, - "src": "6129:13:11", + "scope": 6923, + "src": "6129:13:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -163741,10 +182716,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5309, + "id": 6915, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6129:7:11", + "src": "6129:7:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -163753,21 +182728,21 @@ "visibility": "internal" } ], - "src": "6128:15:11" + "src": "6128:15:24" }, "returnParameters": { - "id": 5314, + "id": 6920, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5313, + "id": 6919, "mutability": "mutable", "name": "result", - "nameLocation": "6181:6:11", + "nameLocation": "6181:6:24", "nodeType": "VariableDeclaration", - "scope": 5317, - "src": "6167:20:11", + "scope": 6923, + "src": "6167:20:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -163775,10 +182750,10 @@ "typeString": "string" }, "typeName": { - "id": 5312, + "id": 6918, "name": "string", "nodeType": "ElementaryTypeName", - "src": "6167:6:11", + "src": "6167:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -163787,19 +182762,19 @@ "visibility": "internal" } ], - "src": "6166:22:11" + "src": "6166:22:24" }, - "scope": 6134, - "src": "6111:1560:11", + "scope": 7740, + "src": "6111:1560:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5350, + "id": 6956, "nodeType": "Block", - "src": "7822:630:11", + "src": "7822:630:24", "statements": [ { "condition": { @@ -163807,18 +182782,18 @@ "typeIdentifier": "t_int256", "typeString": "int256" }, - "id": 5327, + "id": 6933, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 5325, + "id": 6931, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5320, - "src": "7836:5:11", + "referencedDeclaration": 6926, + "src": "7836:5:24", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" @@ -163828,41 +182803,41 @@ "operator": ">=", "rightExpression": { "hexValue": "30", - "id": 5326, + "id": 6932, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7845:1:11", + "src": "7845:1:24", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "7836:10:11", + "src": "7836:10:24", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 5335, + "id": 6941, "nodeType": "IfStatement", - "src": "7832:47:11", + "src": "7832:47:24", "trueBody": { "expression": { "arguments": [ { "arguments": [ { - "id": 5331, + "id": 6937, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5320, - "src": "7872:5:11", + "referencedDeclaration": 6926, + "src": "7872:5:24", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" @@ -163876,26 +182851,26 @@ "typeString": "int256" } ], - "id": 5330, + "id": 6936, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7864:7:11", + "src": "7864:7:24", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 5329, + "id": 6935, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7864:7:11", + "src": "7864:7:24", "typeDescriptions": {} } }, - "id": 5332, + "id": 6938, "isConstant": false, "isLValue": false, "isPure": false, @@ -163904,7 +182879,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7864:14:11", + "src": "7864:14:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -163919,21 +182894,21 @@ "typeString": "uint256" } ], - "id": 5328, + "id": 6934, "name": "toString", "nodeType": "Identifier", "overloadedDeclarations": [ - 5317, - 5351 + 6923, + 6957 ], - "referencedDeclaration": 5317, - "src": "7855:8:11", + "referencedDeclaration": 6923, + "src": "7855:8:24", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$", "typeString": "function (uint256) pure returns (string memory)" } }, - "id": 5333, + "id": 6939, "isConstant": false, "isLValue": false, "isPure": false, @@ -163942,38 +182917,38 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7855:24:11", + "src": "7855:24:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "functionReturnParameters": 5324, - "id": 5334, + "functionReturnParameters": 6930, + "id": 6940, "nodeType": "Return", - "src": "7848:31:11" + "src": "7848:31:24" } }, { - "id": 5348, + "id": 6954, "nodeType": "UncheckedBlock", - "src": "7889:73:11", + "src": "7889:73:24", "statements": [ { "expression": { - "id": 5346, + "id": 6952, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 5336, + "id": 6942, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5323, - "src": "7913:6:11", + "referencedDeclaration": 6929, + "src": "7913:6:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -163988,13 +182963,13 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5344, + "id": 6950, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 5342, + "id": 6948, "isConstant": false, "isLValue": false, "isPure": false, @@ -164002,16 +182977,16 @@ "nodeType": "UnaryOperation", "operator": "~", "prefix": true, - "src": "7931:15:11", + "src": "7931:15:24", "subExpression": { "arguments": [ { - "id": 5340, + "id": 6946, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5320, - "src": "7940:5:11", + "referencedDeclaration": 6926, + "src": "7940:5:24", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" @@ -164025,26 +183000,26 @@ "typeString": "int256" } ], - "id": 5339, + "id": 6945, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7932:7:11", + "src": "7932:7:24", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 5338, + "id": 6944, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7932:7:11", + "src": "7932:7:24", "typeDescriptions": {} } }, - "id": 5341, + "id": 6947, "isConstant": false, "isLValue": false, "isPure": false, @@ -164053,7 +183028,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7932:14:11", + "src": "7932:14:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -164069,21 +183044,21 @@ "operator": "+", "rightExpression": { "hexValue": "31", - "id": 5343, + "id": 6949, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7949:1:11", + "src": "7949:1:24", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "7931:19:11", + "src": "7931:19:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -164097,21 +183072,21 @@ "typeString": "uint256" } ], - "id": 5337, + "id": 6943, "name": "toString", "nodeType": "Identifier", "overloadedDeclarations": [ - 5317, - 5351 + 6923, + 6957 ], - "referencedDeclaration": 5317, - "src": "7922:8:11", + "referencedDeclaration": 6923, + "src": "7922:8:24", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$", "typeString": "function (uint256) pure returns (string memory)" } }, - "id": 5345, + "id": 6951, "isConstant": false, "isLValue": false, "isPure": false, @@ -164120,60 +183095,60 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7922:29:11", + "src": "7922:29:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "7913:38:11", + "src": "7913:38:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 5347, + "id": 6953, "nodeType": "ExpressionStatement", - "src": "7913:38:11" + "src": "7913:38:24" } ] }, { "AST": { - "nativeSrc": "8023:423:11", + "nativeSrc": "8023:423:24", "nodeType": "YulBlock", - "src": "8023:423:11", + "src": "8023:423:24", "statements": [ { - "nativeSrc": "8179:22:11", + "nativeSrc": "8179:22:24", "nodeType": "YulVariableDeclaration", - "src": "8179:22:11", + "src": "8179:22:24", "value": { "arguments": [ { "name": "result", - "nativeSrc": "8194:6:11", + "nativeSrc": "8194:6:24", "nodeType": "YulIdentifier", - "src": "8194:6:11" + "src": "8194:6:24" } ], "functionName": { "name": "mload", - "nativeSrc": "8188:5:11", + "nativeSrc": "8188:5:24", "nodeType": "YulIdentifier", - "src": "8188:5:11" + "src": "8188:5:24" }, - "nativeSrc": "8188:13:11", + "nativeSrc": "8188:13:24", "nodeType": "YulFunctionCall", - "src": "8188:13:11" + "src": "8188:13:24" }, "variables": [ { "name": "n", - "nativeSrc": "8183:1:11", + "nativeSrc": "8183:1:24", "nodeType": "YulTypedName", - "src": "8183:1:11", + "src": "8183:1:24", "type": "" } ] @@ -164183,70 +183158,70 @@ "arguments": [ { "name": "result", - "nativeSrc": "8248:6:11", + "nativeSrc": "8248:6:24", "nodeType": "YulIdentifier", - "src": "8248:6:11" + "src": "8248:6:24" }, { "kind": "number", - "nativeSrc": "8256:4:11", + "nativeSrc": "8256:4:24", "nodeType": "YulLiteral", - "src": "8256:4:11", + "src": "8256:4:24", "type": "", "value": "0x2d" } ], "functionName": { "name": "mstore", - "nativeSrc": "8241:6:11", + "nativeSrc": "8241:6:24", "nodeType": "YulIdentifier", - "src": "8241:6:11" + "src": "8241:6:24" }, - "nativeSrc": "8241:20:11", + "nativeSrc": "8241:20:24", "nodeType": "YulFunctionCall", - "src": "8241:20:11" + "src": "8241:20:24" }, - "nativeSrc": "8241:20:11", + "nativeSrc": "8241:20:24", "nodeType": "YulExpressionStatement", - "src": "8241:20:11" + "src": "8241:20:24" }, { - "nativeSrc": "8302:24:11", + "nativeSrc": "8302:24:24", "nodeType": "YulAssignment", - "src": "8302:24:11", + "src": "8302:24:24", "value": { "arguments": [ { "name": "result", - "nativeSrc": "8316:6:11", + "nativeSrc": "8316:6:24", "nodeType": "YulIdentifier", - "src": "8316:6:11" + "src": "8316:6:24" }, { "kind": "number", - "nativeSrc": "8324:1:11", + "nativeSrc": "8324:1:24", "nodeType": "YulLiteral", - "src": "8324:1:11", + "src": "8324:1:24", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "8312:3:11", + "nativeSrc": "8312:3:24", "nodeType": "YulIdentifier", - "src": "8312:3:11" + "src": "8312:3:24" }, - "nativeSrc": "8312:14:11", + "nativeSrc": "8312:14:24", "nodeType": "YulFunctionCall", - "src": "8312:14:11" + "src": "8312:14:24" }, "variableNames": [ { "name": "result", - "nativeSrc": "8302:6:11", + "nativeSrc": "8302:6:24", "nodeType": "YulIdentifier", - "src": "8302:6:11" + "src": "8302:6:24" } ] }, @@ -164255,51 +183230,51 @@ "arguments": [ { "name": "result", - "nativeSrc": "8389:6:11", + "nativeSrc": "8389:6:24", "nodeType": "YulIdentifier", - "src": "8389:6:11" + "src": "8389:6:24" }, { "arguments": [ { "name": "n", - "nativeSrc": "8401:1:11", + "nativeSrc": "8401:1:24", "nodeType": "YulIdentifier", - "src": "8401:1:11" + "src": "8401:1:24" }, { "kind": "number", - "nativeSrc": "8404:1:11", + "nativeSrc": "8404:1:24", "nodeType": "YulLiteral", - "src": "8404:1:11", + "src": "8404:1:24", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "8397:3:11", + "nativeSrc": "8397:3:24", "nodeType": "YulIdentifier", - "src": "8397:3:11" + "src": "8397:3:24" }, - "nativeSrc": "8397:9:11", + "nativeSrc": "8397:9:24", "nodeType": "YulFunctionCall", - "src": "8397:9:11" + "src": "8397:9:24" } ], "functionName": { "name": "mstore", - "nativeSrc": "8382:6:11", + "nativeSrc": "8382:6:24", "nodeType": "YulIdentifier", - "src": "8382:6:11" + "src": "8382:6:24" }, - "nativeSrc": "8382:25:11", + "nativeSrc": "8382:25:24", "nodeType": "YulFunctionCall", - "src": "8382:25:11" + "src": "8382:25:24" }, - "nativeSrc": "8382:25:11", + "nativeSrc": "8382:25:24", "nodeType": "YulExpressionStatement", - "src": "8382:25:11" + "src": "8382:25:24" } ] }, @@ -164307,73 +183282,73 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5323, + "declaration": 6929, "isOffset": false, "isSlot": false, - "src": "8194:6:11", + "src": "8194:6:24", "valueSize": 1 }, { - "declaration": 5323, + "declaration": 6929, "isOffset": false, "isSlot": false, - "src": "8248:6:11", + "src": "8248:6:24", "valueSize": 1 }, { - "declaration": 5323, + "declaration": 6929, "isOffset": false, "isSlot": false, - "src": "8302:6:11", + "src": "8302:6:24", "valueSize": 1 }, { - "declaration": 5323, + "declaration": 6929, "isOffset": false, "isSlot": false, - "src": "8316:6:11", + "src": "8316:6:24", "valueSize": 1 }, { - "declaration": 5323, + "declaration": 6929, "isOffset": false, "isSlot": false, - "src": "8389:6:11", + "src": "8389:6:24", "valueSize": 1 } ], - "id": 5349, + "id": 6955, "nodeType": "InlineAssembly", - "src": "8014:432:11" + "src": "8014:432:24" } ] }, "documentation": { - "id": 5318, + "id": 6924, "nodeType": "StructuredDocumentation", - "src": "7677:63:11", + "src": "7677:63:24", "text": "@dev Returns the base 10 decimal representation of `value`." }, - "id": 5351, + "id": 6957, "implemented": true, "kind": "function", "modifiers": [], "name": "toString", - "nameLocation": "7754:8:11", + "nameLocation": "7754:8:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 5321, + "id": 6927, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5320, + "id": 6926, "mutability": "mutable", "name": "value", - "nameLocation": "7770:5:11", + "nameLocation": "7770:5:24", "nodeType": "VariableDeclaration", - "scope": 5351, - "src": "7763:12:11", + "scope": 6957, + "src": "7763:12:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -164381,10 +183356,10 @@ "typeString": "int256" }, "typeName": { - "id": 5319, + "id": 6925, "name": "int256", "nodeType": "ElementaryTypeName", - "src": "7763:6:11", + "src": "7763:6:24", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" @@ -164393,21 +183368,21 @@ "visibility": "internal" } ], - "src": "7762:14:11" + "src": "7762:14:24" }, "returnParameters": { - "id": 5324, + "id": 6930, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5323, + "id": 6929, "mutability": "mutable", "name": "result", - "nameLocation": "7814:6:11", + "nameLocation": "7814:6:24", "nodeType": "VariableDeclaration", - "scope": 5351, - "src": "7800:20:11", + "scope": 6957, + "src": "7800:20:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -164415,10 +183390,10 @@ "typeString": "string" }, "typeName": { - "id": 5322, + "id": 6928, "name": "string", "nodeType": "ElementaryTypeName", - "src": "7800:6:11", + "src": "7800:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -164427,34 +183402,34 @@ "visibility": "internal" } ], - "src": "7799:22:11" + "src": "7799:22:24" }, - "scope": 6134, - "src": "7745:707:11", + "scope": 7740, + "src": "7745:707:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5369, + "id": 6975, "nodeType": "Block", - "src": "9226:371:11", + "src": "9226:371:24", "statements": [ { "expression": { - "id": 5366, + "id": 6972, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 5361, + "id": 6967, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5359, - "src": "9236:6:11", + "referencedDeclaration": 6965, + "src": "9236:6:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -164465,24 +183440,24 @@ "rightHandSide": { "arguments": [ { - "id": 5363, + "id": 6969, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5354, - "src": "9265:5:11", + "referencedDeclaration": 6960, + "src": "9265:5:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 5364, + "id": 6970, "name": "byteCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5356, - "src": "9272:9:11", + "referencedDeclaration": 6962, + "src": "9272:9:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -164500,23 +183475,23 @@ "typeString": "uint256" } ], - "id": 5362, + "id": 6968, "name": "toHexStringNoPrefix", "nodeType": "Identifier", "overloadedDeclarations": [ - 5382, - 5440, - 5482, - 5508 + 6988, + 7046, + 7088, + 7114 ], - "referencedDeclaration": 5382, - "src": "9245:19:11", + "referencedDeclaration": 6988, + "src": "9245:19:24", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$", "typeString": "function (uint256,uint256) pure returns (string memory)" } }, - "id": 5365, + "id": 6971, "isConstant": false, "isLValue": false, "isPure": false, @@ -164525,79 +183500,79 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "9245:37:11", + "src": "9245:37:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "9236:46:11", + "src": "9236:46:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 5367, + "id": 6973, "nodeType": "ExpressionStatement", - "src": "9236:46:11" + "src": "9236:46:24" }, { "AST": { - "nativeSrc": "9344:247:11", + "nativeSrc": "9344:247:24", "nodeType": "YulBlock", - "src": "9344:247:11", + "src": "9344:247:24", "statements": [ { - "nativeSrc": "9358:30:11", + "nativeSrc": "9358:30:24", "nodeType": "YulVariableDeclaration", - "src": "9358:30:11", + "src": "9358:30:24", "value": { "arguments": [ { "arguments": [ { "name": "result", - "nativeSrc": "9377:6:11", + "nativeSrc": "9377:6:24", "nodeType": "YulIdentifier", - "src": "9377:6:11" + "src": "9377:6:24" } ], "functionName": { "name": "mload", - "nativeSrc": "9371:5:11", + "nativeSrc": "9371:5:24", "nodeType": "YulIdentifier", - "src": "9371:5:11" + "src": "9371:5:24" }, - "nativeSrc": "9371:13:11", + "nativeSrc": "9371:13:24", "nodeType": "YulFunctionCall", - "src": "9371:13:11" + "src": "9371:13:24" }, { "kind": "number", - "nativeSrc": "9386:1:11", + "nativeSrc": "9386:1:24", "nodeType": "YulLiteral", - "src": "9386:1:11", + "src": "9386:1:24", "type": "", "value": "2" } ], "functionName": { "name": "add", - "nativeSrc": "9367:3:11", + "nativeSrc": "9367:3:24", "nodeType": "YulIdentifier", - "src": "9367:3:11" + "src": "9367:3:24" }, - "nativeSrc": "9367:21:11", + "nativeSrc": "9367:21:24", "nodeType": "YulFunctionCall", - "src": "9367:21:11" + "src": "9367:21:24" }, "variables": [ { "name": "n", - "nativeSrc": "9362:1:11", + "nativeSrc": "9362:1:24", "nodeType": "YulTypedName", - "src": "9362:1:11", + "src": "9362:1:24", "type": "" } ] @@ -164607,70 +183582,70 @@ "arguments": [ { "name": "result", - "nativeSrc": "9431:6:11", + "nativeSrc": "9431:6:24", "nodeType": "YulIdentifier", - "src": "9431:6:11" + "src": "9431:6:24" }, { "kind": "number", - "nativeSrc": "9439:6:11", + "nativeSrc": "9439:6:24", "nodeType": "YulLiteral", - "src": "9439:6:11", + "src": "9439:6:24", "type": "", "value": "0x3078" } ], "functionName": { "name": "mstore", - "nativeSrc": "9424:6:11", + "nativeSrc": "9424:6:24", "nodeType": "YulIdentifier", - "src": "9424:6:11" + "src": "9424:6:24" }, - "nativeSrc": "9424:22:11", + "nativeSrc": "9424:22:24", "nodeType": "YulFunctionCall", - "src": "9424:22:11" + "src": "9424:22:24" }, - "nativeSrc": "9424:22:11", + "nativeSrc": "9424:22:24", "nodeType": "YulExpressionStatement", - "src": "9424:22:11" + "src": "9424:22:24" }, { - "nativeSrc": "9485:24:11", + "nativeSrc": "9485:24:24", "nodeType": "YulAssignment", - "src": "9485:24:11", + "src": "9485:24:24", "value": { "arguments": [ { "name": "result", - "nativeSrc": "9499:6:11", + "nativeSrc": "9499:6:24", "nodeType": "YulIdentifier", - "src": "9499:6:11" + "src": "9499:6:24" }, { "kind": "number", - "nativeSrc": "9507:1:11", + "nativeSrc": "9507:1:24", "nodeType": "YulLiteral", - "src": "9507:1:11", + "src": "9507:1:24", "type": "", "value": "2" } ], "functionName": { "name": "sub", - "nativeSrc": "9495:3:11", + "nativeSrc": "9495:3:24", "nodeType": "YulIdentifier", - "src": "9495:3:11" + "src": "9495:3:24" }, - "nativeSrc": "9495:14:11", + "nativeSrc": "9495:14:24", "nodeType": "YulFunctionCall", - "src": "9495:14:11" + "src": "9495:14:24" }, "variableNames": [ { "name": "result", - "nativeSrc": "9485:6:11", + "nativeSrc": "9485:6:24", "nodeType": "YulIdentifier", - "src": "9485:6:11" + "src": "9485:6:24" } ] }, @@ -164679,30 +183654,30 @@ "arguments": [ { "name": "result", - "nativeSrc": "9550:6:11", + "nativeSrc": "9550:6:24", "nodeType": "YulIdentifier", - "src": "9550:6:11" + "src": "9550:6:24" }, { "name": "n", - "nativeSrc": "9558:1:11", + "nativeSrc": "9558:1:24", "nodeType": "YulIdentifier", - "src": "9558:1:11" + "src": "9558:1:24" } ], "functionName": { "name": "mstore", - "nativeSrc": "9543:6:11", + "nativeSrc": "9543:6:24", "nodeType": "YulIdentifier", - "src": "9543:6:11" + "src": "9543:6:24" }, - "nativeSrc": "9543:17:11", + "nativeSrc": "9543:17:24", "nodeType": "YulFunctionCall", - "src": "9543:17:11" + "src": "9543:17:24" }, - "nativeSrc": "9543:17:11", + "nativeSrc": "9543:17:24", "nodeType": "YulExpressionStatement", - "src": "9543:17:11" + "src": "9543:17:24" } ] }, @@ -164710,73 +183685,73 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5359, + "declaration": 6965, "isOffset": false, "isSlot": false, - "src": "9377:6:11", + "src": "9377:6:24", "valueSize": 1 }, { - "declaration": 5359, + "declaration": 6965, "isOffset": false, "isSlot": false, - "src": "9431:6:11", + "src": "9431:6:24", "valueSize": 1 }, { - "declaration": 5359, + "declaration": 6965, "isOffset": false, "isSlot": false, - "src": "9485:6:11", + "src": "9485:6:24", "valueSize": 1 }, { - "declaration": 5359, + "declaration": 6965, "isOffset": false, "isSlot": false, - "src": "9499:6:11", + "src": "9499:6:24", "valueSize": 1 }, { - "declaration": 5359, + "declaration": 6965, "isOffset": false, "isSlot": false, - "src": "9550:6:11", + "src": "9550:6:24", "valueSize": 1 } ], - "id": 5368, + "id": 6974, "nodeType": "InlineAssembly", - "src": "9335:256:11" + "src": "9335:256:24" } ] }, "documentation": { - "id": 5352, + "id": 6958, "nodeType": "StructuredDocumentation", - "src": "8741:352:11", + "src": "8741:352:24", "text": "@dev Returns the hexadecimal representation of `value`,\n left-padded to an input length of `byteCount` bytes.\n The output is prefixed with \"0x\" encoded using 2 hexadecimal digits per byte,\n giving a total length of `byteCount * 2 + 2` bytes.\n Reverts if `byteCount` is too small for the output to contain all the digits." }, - "id": 5370, + "id": 6976, "implemented": true, "kind": "function", "modifiers": [], "name": "toHexString", - "nameLocation": "9107:11:11", + "nameLocation": "9107:11:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 5357, + "id": 6963, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5354, + "id": 6960, "mutability": "mutable", "name": "value", - "nameLocation": "9127:5:11", + "nameLocation": "9127:5:24", "nodeType": "VariableDeclaration", - "scope": 5370, - "src": "9119:13:11", + "scope": 6976, + "src": "9119:13:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -164784,10 +183759,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5353, + "id": 6959, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9119:7:11", + "src": "9119:7:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -164797,13 +183772,13 @@ }, { "constant": false, - "id": 5356, + "id": 6962, "mutability": "mutable", "name": "byteCount", - "nameLocation": "9142:9:11", + "nameLocation": "9142:9:24", "nodeType": "VariableDeclaration", - "scope": 5370, - "src": "9134:17:11", + "scope": 6976, + "src": "9134:17:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -164811,10 +183786,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5355, + "id": 6961, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9134:7:11", + "src": "9134:7:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -164823,21 +183798,21 @@ "visibility": "internal" } ], - "src": "9118:34:11" + "src": "9118:34:24" }, "returnParameters": { - "id": 5360, + "id": 6966, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5359, + "id": 6965, "mutability": "mutable", "name": "result", - "nameLocation": "9214:6:11", + "nameLocation": "9214:6:24", "nodeType": "VariableDeclaration", - "scope": 5370, - "src": "9200:20:11", + "scope": 6976, + "src": "9200:20:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -164845,10 +183820,10 @@ "typeString": "string" }, "typeName": { - "id": 5358, + "id": 6964, "name": "string", "nodeType": "ElementaryTypeName", - "src": "9200:6:11", + "src": "9200:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -164857,52 +183832,52 @@ "visibility": "internal" } ], - "src": "9199:22:11" + "src": "9199:22:24" }, - "scope": 6134, - "src": "9098:499:11", + "scope": 7740, + "src": "9098:499:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5381, + "id": 6987, "nodeType": "Block", - "src": "10103:1689:11", + "src": "10103:1689:24", "statements": [ { "AST": { - "nativeSrc": "10165:1621:11", + "nativeSrc": "10165:1621:24", "nodeType": "YulBlock", - "src": "10165:1621:11", + "src": "10165:1621:24", "statements": [ { - "nativeSrc": "10485:72:11", + "nativeSrc": "10485:72:24", "nodeType": "YulAssignment", - "src": "10485:72:11", + "src": "10485:72:24", "value": { "arguments": [ { "arguments": [ { "kind": "number", - "nativeSrc": "10505:4:11", + "nativeSrc": "10505:4:24", "nodeType": "YulLiteral", - "src": "10505:4:11", + "src": "10505:4:24", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "10499:5:11", + "nativeSrc": "10499:5:24", "nodeType": "YulIdentifier", - "src": "10499:5:11" + "src": "10499:5:24" }, - "nativeSrc": "10499:11:11", + "nativeSrc": "10499:11:24", "nodeType": "YulFunctionCall", - "src": "10499:11:11" + "src": "10499:11:24" }, { "arguments": [ @@ -164912,97 +183887,97 @@ "arguments": [ { "kind": "number", - "nativeSrc": "10524:1:11", + "nativeSrc": "10524:1:24", "nodeType": "YulLiteral", - "src": "10524:1:11", + "src": "10524:1:24", "type": "", "value": "1" }, { "name": "byteCount", - "nativeSrc": "10527:9:11", + "nativeSrc": "10527:9:24", "nodeType": "YulIdentifier", - "src": "10527:9:11" + "src": "10527:9:24" } ], "functionName": { "name": "shl", - "nativeSrc": "10520:3:11", + "nativeSrc": "10520:3:24", "nodeType": "YulIdentifier", - "src": "10520:3:11" + "src": "10520:3:24" }, - "nativeSrc": "10520:17:11", + "nativeSrc": "10520:17:24", "nodeType": "YulFunctionCall", - "src": "10520:17:11" + "src": "10520:17:24" }, { "kind": "number", - "nativeSrc": "10539:4:11", + "nativeSrc": "10539:4:24", "nodeType": "YulLiteral", - "src": "10539:4:11", + "src": "10539:4:24", "type": "", "value": "0x42" } ], "functionName": { "name": "add", - "nativeSrc": "10516:3:11", + "nativeSrc": "10516:3:24", "nodeType": "YulIdentifier", - "src": "10516:3:11" + "src": "10516:3:24" }, - "nativeSrc": "10516:28:11", + "nativeSrc": "10516:28:24", "nodeType": "YulFunctionCall", - "src": "10516:28:11" + "src": "10516:28:24" }, { "arguments": [ { "kind": "number", - "nativeSrc": "10550:4:11", + "nativeSrc": "10550:4:24", "nodeType": "YulLiteral", - "src": "10550:4:11", + "src": "10550:4:24", "type": "", "value": "0x1f" } ], "functionName": { "name": "not", - "nativeSrc": "10546:3:11", + "nativeSrc": "10546:3:24", "nodeType": "YulIdentifier", - "src": "10546:3:11" + "src": "10546:3:24" }, - "nativeSrc": "10546:9:11", + "nativeSrc": "10546:9:24", "nodeType": "YulFunctionCall", - "src": "10546:9:11" + "src": "10546:9:24" } ], "functionName": { "name": "and", - "nativeSrc": "10512:3:11", + "nativeSrc": "10512:3:24", "nodeType": "YulIdentifier", - "src": "10512:3:11" + "src": "10512:3:24" }, - "nativeSrc": "10512:44:11", + "nativeSrc": "10512:44:24", "nodeType": "YulFunctionCall", - "src": "10512:44:11" + "src": "10512:44:24" } ], "functionName": { "name": "add", - "nativeSrc": "10495:3:11", + "nativeSrc": "10495:3:24", "nodeType": "YulIdentifier", - "src": "10495:3:11" + "src": "10495:3:24" }, - "nativeSrc": "10495:62:11", + "nativeSrc": "10495:62:24", "nodeType": "YulFunctionCall", - "src": "10495:62:11" + "src": "10495:62:24" }, "variableNames": [ { "name": "result", - "nativeSrc": "10485:6:11", + "nativeSrc": "10485:6:24", "nodeType": "YulIdentifier", - "src": "10485:6:11" + "src": "10485:6:24" } ] }, @@ -165011,9 +183986,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "10577:4:11", + "nativeSrc": "10577:4:24", "nodeType": "YulLiteral", - "src": "10577:4:11", + "src": "10577:4:24", "type": "", "value": "0x40" }, @@ -165021,92 +183996,92 @@ "arguments": [ { "name": "result", - "nativeSrc": "10587:6:11", + "nativeSrc": "10587:6:24", "nodeType": "YulIdentifier", - "src": "10587:6:11" + "src": "10587:6:24" }, { "kind": "number", - "nativeSrc": "10595:4:11", + "nativeSrc": "10595:4:24", "nodeType": "YulLiteral", - "src": "10595:4:11", + "src": "10595:4:24", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "10583:3:11", + "nativeSrc": "10583:3:24", "nodeType": "YulIdentifier", - "src": "10583:3:11" + "src": "10583:3:24" }, - "nativeSrc": "10583:17:11", + "nativeSrc": "10583:17:24", "nodeType": "YulFunctionCall", - "src": "10583:17:11" + "src": "10583:17:24" } ], "functionName": { "name": "mstore", - "nativeSrc": "10570:6:11", + "nativeSrc": "10570:6:24", "nodeType": "YulIdentifier", - "src": "10570:6:11" + "src": "10570:6:24" }, - "nativeSrc": "10570:31:11", + "nativeSrc": "10570:31:24", "nodeType": "YulFunctionCall", - "src": "10570:31:11" + "src": "10570:31:24" }, - "nativeSrc": "10570:31:11", + "nativeSrc": "10570:31:24", "nodeType": "YulExpressionStatement", - "src": "10570:31:11" + "src": "10570:31:24" }, { "expression": { "arguments": [ { "name": "result", - "nativeSrc": "10641:6:11", + "nativeSrc": "10641:6:24", "nodeType": "YulIdentifier", - "src": "10641:6:11" + "src": "10641:6:24" }, { "kind": "number", - "nativeSrc": "10649:1:11", + "nativeSrc": "10649:1:24", "nodeType": "YulLiteral", - "src": "10649:1:11", + "src": "10649:1:24", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "10634:6:11", + "nativeSrc": "10634:6:24", "nodeType": "YulIdentifier", - "src": "10634:6:11" + "src": "10634:6:24" }, - "nativeSrc": "10634:17:11", + "nativeSrc": "10634:17:24", "nodeType": "YulFunctionCall", - "src": "10634:17:11" + "src": "10634:17:24" }, - "nativeSrc": "10634:17:11", + "nativeSrc": "10634:17:24", "nodeType": "YulExpressionStatement", - "src": "10634:17:11" + "src": "10634:17:24" }, { - "nativeSrc": "10703:17:11", + "nativeSrc": "10703:17:24", "nodeType": "YulVariableDeclaration", - "src": "10703:17:11", + "src": "10703:17:24", "value": { "name": "result", - "nativeSrc": "10714:6:11", + "nativeSrc": "10714:6:24", "nodeType": "YulIdentifier", - "src": "10714:6:11" + "src": "10714:6:24" }, "variables": [ { "name": "end", - "nativeSrc": "10707:3:11", + "nativeSrc": "10707:3:24", "nodeType": "YulTypedName", - "src": "10707:3:11", + "src": "10707:3:24", "type": "" } ] @@ -165116,189 +184091,189 @@ "arguments": [ { "kind": "number", - "nativeSrc": "10846:4:11", + "nativeSrc": "10846:4:24", "nodeType": "YulLiteral", - "src": "10846:4:11", + "src": "10846:4:24", "type": "", "value": "0x0f" }, { "kind": "number", - "nativeSrc": "10852:34:11", + "nativeSrc": "10852:34:24", "nodeType": "YulLiteral", - "src": "10852:34:11", + "src": "10852:34:24", "type": "", "value": "0x30313233343536373839616263646566" } ], "functionName": { "name": "mstore", - "nativeSrc": "10839:6:11", + "nativeSrc": "10839:6:24", "nodeType": "YulIdentifier", - "src": "10839:6:11" + "src": "10839:6:24" }, - "nativeSrc": "10839:48:11", + "nativeSrc": "10839:48:24", "nodeType": "YulFunctionCall", - "src": "10839:48:11" + "src": "10839:48:24" }, - "nativeSrc": "10839:48:11", + "nativeSrc": "10839:48:24", "nodeType": "YulExpressionStatement", - "src": "10839:48:11" + "src": "10839:48:24" }, { - "nativeSrc": "10901:51:11", + "nativeSrc": "10901:51:24", "nodeType": "YulVariableDeclaration", - "src": "10901:51:11", + "src": "10901:51:24", "value": { "arguments": [ { "name": "result", - "nativeSrc": "10918:6:11", + "nativeSrc": "10918:6:24", "nodeType": "YulIdentifier", - "src": "10918:6:11" + "src": "10918:6:24" }, { "arguments": [ { "name": "byteCount", - "nativeSrc": "10930:9:11", + "nativeSrc": "10930:9:24", "nodeType": "YulIdentifier", - "src": "10930:9:11" + "src": "10930:9:24" }, { "name": "byteCount", - "nativeSrc": "10941:9:11", + "nativeSrc": "10941:9:24", "nodeType": "YulIdentifier", - "src": "10941:9:11" + "src": "10941:9:24" } ], "functionName": { "name": "add", - "nativeSrc": "10926:3:11", + "nativeSrc": "10926:3:24", "nodeType": "YulIdentifier", - "src": "10926:3:11" + "src": "10926:3:24" }, - "nativeSrc": "10926:25:11", + "nativeSrc": "10926:25:24", "nodeType": "YulFunctionCall", - "src": "10926:25:11" + "src": "10926:25:24" } ], "functionName": { "name": "sub", - "nativeSrc": "10914:3:11", + "nativeSrc": "10914:3:24", "nodeType": "YulIdentifier", - "src": "10914:3:11" + "src": "10914:3:24" }, - "nativeSrc": "10914:38:11", + "nativeSrc": "10914:38:24", "nodeType": "YulFunctionCall", - "src": "10914:38:11" + "src": "10914:38:24" }, "variables": [ { "name": "start", - "nativeSrc": "10905:5:11", + "nativeSrc": "10905:5:24", "nodeType": "YulTypedName", - "src": "10905:5:11", + "src": "10905:5:24", "type": "" } ] }, { - "nativeSrc": "10965:15:11", + "nativeSrc": "10965:15:24", "nodeType": "YulVariableDeclaration", - "src": "10965:15:11", + "src": "10965:15:24", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "10978:1:11", + "nativeSrc": "10978:1:24", "nodeType": "YulLiteral", - "src": "10978:1:11", + "src": "10978:1:24", "type": "", "value": "1" } ], "functionName": { "name": "not", - "nativeSrc": "10974:3:11", + "nativeSrc": "10974:3:24", "nodeType": "YulIdentifier", - "src": "10974:3:11" + "src": "10974:3:24" }, - "nativeSrc": "10974:6:11", + "nativeSrc": "10974:6:24", "nodeType": "YulFunctionCall", - "src": "10974:6:11" + "src": "10974:6:24" }, "variables": [ { "name": "w", - "nativeSrc": "10969:1:11", + "nativeSrc": "10969:1:24", "nodeType": "YulTypedName", - "src": "10969:1:11", + "src": "10969:1:24", "type": "" } ] }, { - "nativeSrc": "11001:17:11", + "nativeSrc": "11001:17:24", "nodeType": "YulVariableDeclaration", - "src": "11001:17:11", + "src": "11001:17:24", "value": { "name": "value", - "nativeSrc": "11013:5:11", + "nativeSrc": "11013:5:24", "nodeType": "YulIdentifier", - "src": "11013:5:11" + "src": "11013:5:24" }, "variables": [ { "name": "temp", - "nativeSrc": "11005:4:11", + "nativeSrc": "11005:4:24", "nodeType": "YulTypedName", - "src": "11005:4:11", + "src": "11005:4:24", "type": "" } ] }, { "body": { - "nativeSrc": "11211:294:11", + "nativeSrc": "11211:294:24", "nodeType": "YulBlock", - "src": "11211:294:11", + "src": "11211:294:24", "statements": [ { - "nativeSrc": "11229:24:11", + "nativeSrc": "11229:24:24", "nodeType": "YulAssignment", - "src": "11229:24:11", + "src": "11229:24:24", "value": { "arguments": [ { "name": "result", - "nativeSrc": "11243:6:11", + "nativeSrc": "11243:6:24", "nodeType": "YulIdentifier", - "src": "11243:6:11" + "src": "11243:6:24" }, { "name": "w", - "nativeSrc": "11251:1:11", + "nativeSrc": "11251:1:24", "nodeType": "YulIdentifier", - "src": "11251:1:11" + "src": "11251:1:24" } ], "functionName": { "name": "add", - "nativeSrc": "11239:3:11", + "nativeSrc": "11239:3:24", "nodeType": "YulIdentifier", - "src": "11239:3:11" + "src": "11239:3:24" }, - "nativeSrc": "11239:14:11", + "nativeSrc": "11239:14:24", "nodeType": "YulFunctionCall", - "src": "11239:14:11" + "src": "11239:14:24" }, "variableNames": [ { "name": "result", - "nativeSrc": "11229:6:11", + "nativeSrc": "11229:6:24", "nodeType": "YulIdentifier", - "src": "11229:6:11" + "src": "11229:6:24" } ] }, @@ -165309,28 +184284,28 @@ "arguments": [ { "name": "result", - "nativeSrc": "11303:6:11", + "nativeSrc": "11303:6:24", "nodeType": "YulIdentifier", - "src": "11303:6:11" + "src": "11303:6:24" }, { "kind": "number", - "nativeSrc": "11311:1:11", + "nativeSrc": "11311:1:24", "nodeType": "YulLiteral", - "src": "11311:1:11", + "src": "11311:1:24", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "11299:3:11", + "nativeSrc": "11299:3:24", "nodeType": "YulIdentifier", - "src": "11299:3:11" + "src": "11299:3:24" }, - "nativeSrc": "11299:14:11", + "nativeSrc": "11299:14:24", "nodeType": "YulFunctionCall", - "src": "11299:14:11" + "src": "11299:14:24" }, { "arguments": [ @@ -165338,63 +184313,63 @@ "arguments": [ { "name": "temp", - "nativeSrc": "11325:4:11", + "nativeSrc": "11325:4:24", "nodeType": "YulIdentifier", - "src": "11325:4:11" + "src": "11325:4:24" }, { "kind": "number", - "nativeSrc": "11331:2:11", + "nativeSrc": "11331:2:24", "nodeType": "YulLiteral", - "src": "11331:2:11", + "src": "11331:2:24", "type": "", "value": "15" } ], "functionName": { "name": "and", - "nativeSrc": "11321:3:11", + "nativeSrc": "11321:3:24", "nodeType": "YulIdentifier", - "src": "11321:3:11" + "src": "11321:3:24" }, - "nativeSrc": "11321:13:11", + "nativeSrc": "11321:13:24", "nodeType": "YulFunctionCall", - "src": "11321:13:11" + "src": "11321:13:24" } ], "functionName": { "name": "mload", - "nativeSrc": "11315:5:11", + "nativeSrc": "11315:5:24", "nodeType": "YulIdentifier", - "src": "11315:5:11" + "src": "11315:5:24" }, - "nativeSrc": "11315:20:11", + "nativeSrc": "11315:20:24", "nodeType": "YulFunctionCall", - "src": "11315:20:11" + "src": "11315:20:24" } ], "functionName": { "name": "mstore8", - "nativeSrc": "11291:7:11", + "nativeSrc": "11291:7:24", "nodeType": "YulIdentifier", - "src": "11291:7:11" + "src": "11291:7:24" }, - "nativeSrc": "11291:45:11", + "nativeSrc": "11291:45:24", "nodeType": "YulFunctionCall", - "src": "11291:45:11" + "src": "11291:45:24" }, - "nativeSrc": "11291:45:11", + "nativeSrc": "11291:45:24", "nodeType": "YulExpressionStatement", - "src": "11291:45:11" + "src": "11291:45:24" }, { "expression": { "arguments": [ { "name": "result", - "nativeSrc": "11361:6:11", + "nativeSrc": "11361:6:24", "nodeType": "YulIdentifier", - "src": "11361:6:11" + "src": "11361:6:24" }, { "arguments": [ @@ -165404,124 +184379,124 @@ "arguments": [ { "kind": "number", - "nativeSrc": "11383:1:11", + "nativeSrc": "11383:1:24", "nodeType": "YulLiteral", - "src": "11383:1:11", + "src": "11383:1:24", "type": "", "value": "4" }, { "name": "temp", - "nativeSrc": "11386:4:11", + "nativeSrc": "11386:4:24", "nodeType": "YulIdentifier", - "src": "11386:4:11" + "src": "11386:4:24" } ], "functionName": { "name": "shr", - "nativeSrc": "11379:3:11", + "nativeSrc": "11379:3:24", "nodeType": "YulIdentifier", - "src": "11379:3:11" + "src": "11379:3:24" }, - "nativeSrc": "11379:12:11", + "nativeSrc": "11379:12:24", "nodeType": "YulFunctionCall", - "src": "11379:12:11" + "src": "11379:12:24" }, { "kind": "number", - "nativeSrc": "11393:2:11", + "nativeSrc": "11393:2:24", "nodeType": "YulLiteral", - "src": "11393:2:11", + "src": "11393:2:24", "type": "", "value": "15" } ], "functionName": { "name": "and", - "nativeSrc": "11375:3:11", + "nativeSrc": "11375:3:24", "nodeType": "YulIdentifier", - "src": "11375:3:11" + "src": "11375:3:24" }, - "nativeSrc": "11375:21:11", + "nativeSrc": "11375:21:24", "nodeType": "YulFunctionCall", - "src": "11375:21:11" + "src": "11375:21:24" } ], "functionName": { "name": "mload", - "nativeSrc": "11369:5:11", + "nativeSrc": "11369:5:24", "nodeType": "YulIdentifier", - "src": "11369:5:11" + "src": "11369:5:24" }, - "nativeSrc": "11369:28:11", + "nativeSrc": "11369:28:24", "nodeType": "YulFunctionCall", - "src": "11369:28:11" + "src": "11369:28:24" } ], "functionName": { "name": "mstore8", - "nativeSrc": "11353:7:11", + "nativeSrc": "11353:7:24", "nodeType": "YulIdentifier", - "src": "11353:7:11" + "src": "11353:7:24" }, - "nativeSrc": "11353:45:11", + "nativeSrc": "11353:45:24", "nodeType": "YulFunctionCall", - "src": "11353:45:11" + "src": "11353:45:24" }, - "nativeSrc": "11353:45:11", + "nativeSrc": "11353:45:24", "nodeType": "YulExpressionStatement", - "src": "11353:45:11" + "src": "11353:45:24" }, { - "nativeSrc": "11415:20:11", + "nativeSrc": "11415:20:24", "nodeType": "YulAssignment", - "src": "11415:20:11", + "src": "11415:20:24", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "11427:1:11", + "nativeSrc": "11427:1:24", "nodeType": "YulLiteral", - "src": "11427:1:11", + "src": "11427:1:24", "type": "", "value": "8" }, { "name": "temp", - "nativeSrc": "11430:4:11", + "nativeSrc": "11430:4:24", "nodeType": "YulIdentifier", - "src": "11430:4:11" + "src": "11430:4:24" } ], "functionName": { "name": "shr", - "nativeSrc": "11423:3:11", + "nativeSrc": "11423:3:24", "nodeType": "YulIdentifier", - "src": "11423:3:11" + "src": "11423:3:24" }, - "nativeSrc": "11423:12:11", + "nativeSrc": "11423:12:24", "nodeType": "YulFunctionCall", - "src": "11423:12:11" + "src": "11423:12:24" }, "variableNames": [ { "name": "temp", - "nativeSrc": "11415:4:11", + "nativeSrc": "11415:4:24", "nodeType": "YulIdentifier", - "src": "11415:4:11" + "src": "11415:4:24" } ] }, { "body": { - "nativeSrc": "11482:9:11", + "nativeSrc": "11482:9:24", "nodeType": "YulBlock", - "src": "11482:9:11", + "src": "11482:9:24", "statements": [ { - "nativeSrc": "11484:5:11", + "nativeSrc": "11484:5:24", "nodeType": "YulBreak", - "src": "11484:5:11" + "src": "11484:5:24" } ] }, @@ -165531,230 +184506,230 @@ "arguments": [ { "name": "result", - "nativeSrc": "11466:6:11", + "nativeSrc": "11466:6:24", "nodeType": "YulIdentifier", - "src": "11466:6:11" + "src": "11466:6:24" }, { "name": "start", - "nativeSrc": "11474:5:11", + "nativeSrc": "11474:5:24", "nodeType": "YulIdentifier", - "src": "11474:5:11" + "src": "11474:5:24" } ], "functionName": { "name": "xor", - "nativeSrc": "11462:3:11", + "nativeSrc": "11462:3:24", "nodeType": "YulIdentifier", - "src": "11462:3:11" + "src": "11462:3:24" }, - "nativeSrc": "11462:18:11", + "nativeSrc": "11462:18:24", "nodeType": "YulFunctionCall", - "src": "11462:18:11" + "src": "11462:18:24" } ], "functionName": { "name": "iszero", - "nativeSrc": "11455:6:11", + "nativeSrc": "11455:6:24", "nodeType": "YulIdentifier", - "src": "11455:6:11" + "src": "11455:6:24" }, - "nativeSrc": "11455:26:11", + "nativeSrc": "11455:26:24", "nodeType": "YulFunctionCall", - "src": "11455:26:11" + "src": "11455:26:24" }, - "nativeSrc": "11452:39:11", + "nativeSrc": "11452:39:24", "nodeType": "YulIf", - "src": "11452:39:11" + "src": "11452:39:24" } ] }, "condition": { "kind": "number", - "nativeSrc": "11206:1:11", + "nativeSrc": "11206:1:24", "nodeType": "YulLiteral", - "src": "11206:1:11", + "src": "11206:1:24", "type": "", "value": "1" }, - "nativeSrc": "11199:306:11", + "nativeSrc": "11199:306:24", "nodeType": "YulForLoop", "post": { - "nativeSrc": "11208:2:11", + "nativeSrc": "11208:2:24", "nodeType": "YulBlock", - "src": "11208:2:11", + "src": "11208:2:24", "statements": [] }, "pre": { - "nativeSrc": "11203:2:11", + "nativeSrc": "11203:2:24", "nodeType": "YulBlock", - "src": "11203:2:11", + "src": "11203:2:24", "statements": [] }, - "src": "11199:306:11" + "src": "11199:306:24" }, { "body": { - "nativeSrc": "11526:121:11", + "nativeSrc": "11526:121:24", "nodeType": "YulBlock", - "src": "11526:121:11", + "src": "11526:121:24", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "11551:4:11", + "nativeSrc": "11551:4:24", "nodeType": "YulLiteral", - "src": "11551:4:11", + "src": "11551:4:24", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "11557:10:11", + "nativeSrc": "11557:10:24", "nodeType": "YulLiteral", - "src": "11557:10:11", + "src": "11557:10:24", "type": "", "value": "0x2194895a" } ], "functionName": { "name": "mstore", - "nativeSrc": "11544:6:11", + "nativeSrc": "11544:6:24", "nodeType": "YulIdentifier", - "src": "11544:6:11" + "src": "11544:6:24" }, - "nativeSrc": "11544:24:11", + "nativeSrc": "11544:24:24", "nodeType": "YulFunctionCall", - "src": "11544:24:11" + "src": "11544:24:24" }, - "nativeSrc": "11544:24:11", + "nativeSrc": "11544:24:24", "nodeType": "YulExpressionStatement", - "src": "11544:24:11" + "src": "11544:24:24" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "11622:4:11", + "nativeSrc": "11622:4:24", "nodeType": "YulLiteral", - "src": "11622:4:11", + "src": "11622:4:24", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "11628:4:11", + "nativeSrc": "11628:4:24", "nodeType": "YulLiteral", - "src": "11628:4:11", + "src": "11628:4:24", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "11615:6:11", + "nativeSrc": "11615:6:24", "nodeType": "YulIdentifier", - "src": "11615:6:11" + "src": "11615:6:24" }, - "nativeSrc": "11615:18:11", + "nativeSrc": "11615:18:24", "nodeType": "YulFunctionCall", - "src": "11615:18:11" + "src": "11615:18:24" }, - "nativeSrc": "11615:18:11", + "nativeSrc": "11615:18:24", "nodeType": "YulExpressionStatement", - "src": "11615:18:11" + "src": "11615:18:24" } ] }, "condition": { "name": "temp", - "nativeSrc": "11521:4:11", + "nativeSrc": "11521:4:24", "nodeType": "YulIdentifier", - "src": "11521:4:11" + "src": "11521:4:24" }, - "nativeSrc": "11518:129:11", + "nativeSrc": "11518:129:24", "nodeType": "YulIf", - "src": "11518:129:11" + "src": "11518:129:24" }, { - "nativeSrc": "11660:25:11", + "nativeSrc": "11660:25:24", "nodeType": "YulVariableDeclaration", - "src": "11660:25:11", + "src": "11660:25:24", "value": { "arguments": [ { "name": "end", - "nativeSrc": "11673:3:11", + "nativeSrc": "11673:3:24", "nodeType": "YulIdentifier", - "src": "11673:3:11" + "src": "11673:3:24" }, { "name": "result", - "nativeSrc": "11678:6:11", + "nativeSrc": "11678:6:24", "nodeType": "YulIdentifier", - "src": "11678:6:11" + "src": "11678:6:24" } ], "functionName": { "name": "sub", - "nativeSrc": "11669:3:11", + "nativeSrc": "11669:3:24", "nodeType": "YulIdentifier", - "src": "11669:3:11" + "src": "11669:3:24" }, - "nativeSrc": "11669:16:11", + "nativeSrc": "11669:16:24", "nodeType": "YulFunctionCall", - "src": "11669:16:11" + "src": "11669:16:24" }, "variables": [ { "name": "n", - "nativeSrc": "11664:1:11", + "nativeSrc": "11664:1:24", "nodeType": "YulTypedName", - "src": "11664:1:11", + "src": "11664:1:24", "type": "" } ] }, { - "nativeSrc": "11698:27:11", + "nativeSrc": "11698:27:24", "nodeType": "YulAssignment", - "src": "11698:27:11", + "src": "11698:27:24", "value": { "arguments": [ { "name": "result", - "nativeSrc": "11712:6:11", + "nativeSrc": "11712:6:24", "nodeType": "YulIdentifier", - "src": "11712:6:11" + "src": "11712:6:24" }, { "kind": "number", - "nativeSrc": "11720:4:11", + "nativeSrc": "11720:4:24", "nodeType": "YulLiteral", - "src": "11720:4:11", + "src": "11720:4:24", "type": "", "value": "0x20" } ], "functionName": { "name": "sub", - "nativeSrc": "11708:3:11", + "nativeSrc": "11708:3:24", "nodeType": "YulIdentifier", - "src": "11708:3:11" + "src": "11708:3:24" }, - "nativeSrc": "11708:17:11", + "nativeSrc": "11708:17:24", "nodeType": "YulFunctionCall", - "src": "11708:17:11" + "src": "11708:17:24" }, "variableNames": [ { "name": "result", - "nativeSrc": "11698:6:11", + "nativeSrc": "11698:6:24", "nodeType": "YulIdentifier", - "src": "11698:6:11" + "src": "11698:6:24" } ] }, @@ -165763,30 +184738,30 @@ "arguments": [ { "name": "result", - "nativeSrc": "11745:6:11", + "nativeSrc": "11745:6:24", "nodeType": "YulIdentifier", - "src": "11745:6:11" + "src": "11745:6:24" }, { "name": "n", - "nativeSrc": "11753:1:11", + "nativeSrc": "11753:1:24", "nodeType": "YulIdentifier", - "src": "11753:1:11" + "src": "11753:1:24" } ], "functionName": { "name": "mstore", - "nativeSrc": "11738:6:11", + "nativeSrc": "11738:6:24", "nodeType": "YulIdentifier", - "src": "11738:6:11" + "src": "11738:6:24" }, - "nativeSrc": "11738:17:11", + "nativeSrc": "11738:17:24", "nodeType": "YulFunctionCall", - "src": "11738:17:11" + "src": "11738:17:24" }, - "nativeSrc": "11738:17:11", + "nativeSrc": "11738:17:24", "nodeType": "YulExpressionStatement", - "src": "11738:17:11" + "src": "11738:17:24" } ] }, @@ -165794,164 +184769,164 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5375, + "declaration": 6981, "isOffset": false, "isSlot": false, - "src": "10527:9:11", + "src": "10527:9:24", "valueSize": 1 }, { - "declaration": 5375, + "declaration": 6981, "isOffset": false, "isSlot": false, - "src": "10930:9:11", + "src": "10930:9:24", "valueSize": 1 }, { - "declaration": 5375, + "declaration": 6981, "isOffset": false, "isSlot": false, - "src": "10941:9:11", + "src": "10941:9:24", "valueSize": 1 }, { - "declaration": 5378, + "declaration": 6984, "isOffset": false, "isSlot": false, - "src": "10485:6:11", + "src": "10485:6:24", "valueSize": 1 }, { - "declaration": 5378, + "declaration": 6984, "isOffset": false, "isSlot": false, - "src": "10587:6:11", + "src": "10587:6:24", "valueSize": 1 }, { - "declaration": 5378, + "declaration": 6984, "isOffset": false, "isSlot": false, - "src": "10641:6:11", + "src": "10641:6:24", "valueSize": 1 }, { - "declaration": 5378, + "declaration": 6984, "isOffset": false, "isSlot": false, - "src": "10714:6:11", + "src": "10714:6:24", "valueSize": 1 }, { - "declaration": 5378, + "declaration": 6984, "isOffset": false, "isSlot": false, - "src": "10918:6:11", + "src": "10918:6:24", "valueSize": 1 }, { - "declaration": 5378, + "declaration": 6984, "isOffset": false, "isSlot": false, - "src": "11229:6:11", + "src": "11229:6:24", "valueSize": 1 }, { - "declaration": 5378, + "declaration": 6984, "isOffset": false, "isSlot": false, - "src": "11243:6:11", + "src": "11243:6:24", "valueSize": 1 }, { - "declaration": 5378, + "declaration": 6984, "isOffset": false, "isSlot": false, - "src": "11303:6:11", + "src": "11303:6:24", "valueSize": 1 }, { - "declaration": 5378, + "declaration": 6984, "isOffset": false, "isSlot": false, - "src": "11361:6:11", + "src": "11361:6:24", "valueSize": 1 }, { - "declaration": 5378, + "declaration": 6984, "isOffset": false, "isSlot": false, - "src": "11466:6:11", + "src": "11466:6:24", "valueSize": 1 }, { - "declaration": 5378, + "declaration": 6984, "isOffset": false, "isSlot": false, - "src": "11678:6:11", + "src": "11678:6:24", "valueSize": 1 }, { - "declaration": 5378, + "declaration": 6984, "isOffset": false, "isSlot": false, - "src": "11698:6:11", + "src": "11698:6:24", "valueSize": 1 }, { - "declaration": 5378, + "declaration": 6984, "isOffset": false, "isSlot": false, - "src": "11712:6:11", + "src": "11712:6:24", "valueSize": 1 }, { - "declaration": 5378, + "declaration": 6984, "isOffset": false, "isSlot": false, - "src": "11745:6:11", + "src": "11745:6:24", "valueSize": 1 }, { - "declaration": 5373, + "declaration": 6979, "isOffset": false, "isSlot": false, - "src": "11013:5:11", + "src": "11013:5:24", "valueSize": 1 } ], - "id": 5380, + "id": 6986, "nodeType": "InlineAssembly", - "src": "10156:1630:11" + "src": "10156:1630:24" } ] }, "documentation": { - "id": 5371, + "id": 6977, "nodeType": "StructuredDocumentation", - "src": "9603:359:11", + "src": "9603:359:24", "text": "@dev Returns the hexadecimal representation of `value`,\n left-padded to an input length of `byteCount` bytes.\n The output is not prefixed with \"0x\" and is encoded using 2 hexadecimal digits per byte,\n giving a total length of `byteCount * 2` bytes.\n Reverts if `byteCount` is too small for the output to contain all the digits." }, - "id": 5382, + "id": 6988, "implemented": true, "kind": "function", "modifiers": [], "name": "toHexStringNoPrefix", - "nameLocation": "9976:19:11", + "nameLocation": "9976:19:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 5376, + "id": 6982, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5373, + "id": 6979, "mutability": "mutable", "name": "value", - "nameLocation": "10004:5:11", + "nameLocation": "10004:5:24", "nodeType": "VariableDeclaration", - "scope": 5382, - "src": "9996:13:11", + "scope": 6988, + "src": "9996:13:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -165959,10 +184934,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5372, + "id": 6978, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9996:7:11", + "src": "9996:7:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -165972,13 +184947,13 @@ }, { "constant": false, - "id": 5375, + "id": 6981, "mutability": "mutable", "name": "byteCount", - "nameLocation": "10019:9:11", + "nameLocation": "10019:9:24", "nodeType": "VariableDeclaration", - "scope": 5382, - "src": "10011:17:11", + "scope": 6988, + "src": "10011:17:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -165986,10 +184961,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5374, + "id": 6980, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10011:7:11", + "src": "10011:7:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -165998,21 +184973,21 @@ "visibility": "internal" } ], - "src": "9995:34:11" + "src": "9995:34:24" }, "returnParameters": { - "id": 5379, + "id": 6985, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5378, + "id": 6984, "mutability": "mutable", "name": "result", - "nameLocation": "10091:6:11", + "nameLocation": "10091:6:24", "nodeType": "VariableDeclaration", - "scope": 5382, - "src": "10077:20:11", + "scope": 6988, + "src": "10077:20:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -166020,10 +184995,10 @@ "typeString": "string" }, "typeName": { - "id": 5377, + "id": 6983, "name": "string", "nodeType": "ElementaryTypeName", - "src": "10077:6:11", + "src": "10077:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -166032,34 +185007,34 @@ "visibility": "internal" } ], - "src": "10076:22:11" + "src": "10076:22:24" }, - "scope": 6134, - "src": "9967:1825:11", + "scope": 7740, + "src": "9967:1825:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5397, + "id": 7003, "nodeType": "Block", - "src": "12147:360:11", + "src": "12147:360:24", "statements": [ { "expression": { - "id": 5394, + "id": 7000, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 5390, + "id": 6996, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5388, - "src": "12157:6:11", + "referencedDeclaration": 6994, + "src": "12157:6:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -166070,12 +185045,12 @@ "rightHandSide": { "arguments": [ { - "id": 5392, + "id": 6998, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5385, - "src": "12186:5:11", + "referencedDeclaration": 6991, + "src": "12186:5:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -166089,23 +185064,23 @@ "typeString": "uint256" } ], - "id": 5391, + "id": 6997, "name": "toHexStringNoPrefix", "nodeType": "Identifier", "overloadedDeclarations": [ - 5382, - 5440, - 5482, - 5508 + 6988, + 7046, + 7088, + 7114 ], - "referencedDeclaration": 5440, - "src": "12166:19:11", + "referencedDeclaration": 7046, + "src": "12166:19:24", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$", "typeString": "function (uint256) pure returns (string memory)" } }, - "id": 5393, + "id": 6999, "isConstant": false, "isLValue": false, "isPure": false, @@ -166114,79 +185089,79 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "12166:26:11", + "src": "12166:26:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "12157:35:11", + "src": "12157:35:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 5395, + "id": 7001, "nodeType": "ExpressionStatement", - "src": "12157:35:11" + "src": "12157:35:24" }, { "AST": { - "nativeSrc": "12254:247:11", + "nativeSrc": "12254:247:24", "nodeType": "YulBlock", - "src": "12254:247:11", + "src": "12254:247:24", "statements": [ { - "nativeSrc": "12268:30:11", + "nativeSrc": "12268:30:24", "nodeType": "YulVariableDeclaration", - "src": "12268:30:11", + "src": "12268:30:24", "value": { "arguments": [ { "arguments": [ { "name": "result", - "nativeSrc": "12287:6:11", + "nativeSrc": "12287:6:24", "nodeType": "YulIdentifier", - "src": "12287:6:11" + "src": "12287:6:24" } ], "functionName": { "name": "mload", - "nativeSrc": "12281:5:11", + "nativeSrc": "12281:5:24", "nodeType": "YulIdentifier", - "src": "12281:5:11" + "src": "12281:5:24" }, - "nativeSrc": "12281:13:11", + "nativeSrc": "12281:13:24", "nodeType": "YulFunctionCall", - "src": "12281:13:11" + "src": "12281:13:24" }, { "kind": "number", - "nativeSrc": "12296:1:11", + "nativeSrc": "12296:1:24", "nodeType": "YulLiteral", - "src": "12296:1:11", + "src": "12296:1:24", "type": "", "value": "2" } ], "functionName": { "name": "add", - "nativeSrc": "12277:3:11", + "nativeSrc": "12277:3:24", "nodeType": "YulIdentifier", - "src": "12277:3:11" + "src": "12277:3:24" }, - "nativeSrc": "12277:21:11", + "nativeSrc": "12277:21:24", "nodeType": "YulFunctionCall", - "src": "12277:21:11" + "src": "12277:21:24" }, "variables": [ { "name": "n", - "nativeSrc": "12272:1:11", + "nativeSrc": "12272:1:24", "nodeType": "YulTypedName", - "src": "12272:1:11", + "src": "12272:1:24", "type": "" } ] @@ -166196,70 +185171,70 @@ "arguments": [ { "name": "result", - "nativeSrc": "12341:6:11", + "nativeSrc": "12341:6:24", "nodeType": "YulIdentifier", - "src": "12341:6:11" + "src": "12341:6:24" }, { "kind": "number", - "nativeSrc": "12349:6:11", + "nativeSrc": "12349:6:24", "nodeType": "YulLiteral", - "src": "12349:6:11", + "src": "12349:6:24", "type": "", "value": "0x3078" } ], "functionName": { "name": "mstore", - "nativeSrc": "12334:6:11", + "nativeSrc": "12334:6:24", "nodeType": "YulIdentifier", - "src": "12334:6:11" + "src": "12334:6:24" }, - "nativeSrc": "12334:22:11", + "nativeSrc": "12334:22:24", "nodeType": "YulFunctionCall", - "src": "12334:22:11" + "src": "12334:22:24" }, - "nativeSrc": "12334:22:11", + "nativeSrc": "12334:22:24", "nodeType": "YulExpressionStatement", - "src": "12334:22:11" + "src": "12334:22:24" }, { - "nativeSrc": "12395:24:11", + "nativeSrc": "12395:24:24", "nodeType": "YulAssignment", - "src": "12395:24:11", + "src": "12395:24:24", "value": { "arguments": [ { "name": "result", - "nativeSrc": "12409:6:11", + "nativeSrc": "12409:6:24", "nodeType": "YulIdentifier", - "src": "12409:6:11" + "src": "12409:6:24" }, { "kind": "number", - "nativeSrc": "12417:1:11", + "nativeSrc": "12417:1:24", "nodeType": "YulLiteral", - "src": "12417:1:11", + "src": "12417:1:24", "type": "", "value": "2" } ], "functionName": { "name": "sub", - "nativeSrc": "12405:3:11", + "nativeSrc": "12405:3:24", "nodeType": "YulIdentifier", - "src": "12405:3:11" + "src": "12405:3:24" }, - "nativeSrc": "12405:14:11", + "nativeSrc": "12405:14:24", "nodeType": "YulFunctionCall", - "src": "12405:14:11" + "src": "12405:14:24" }, "variableNames": [ { "name": "result", - "nativeSrc": "12395:6:11", + "nativeSrc": "12395:6:24", "nodeType": "YulIdentifier", - "src": "12395:6:11" + "src": "12395:6:24" } ] }, @@ -166268,30 +185243,30 @@ "arguments": [ { "name": "result", - "nativeSrc": "12460:6:11", + "nativeSrc": "12460:6:24", "nodeType": "YulIdentifier", - "src": "12460:6:11" + "src": "12460:6:24" }, { "name": "n", - "nativeSrc": "12468:1:11", + "nativeSrc": "12468:1:24", "nodeType": "YulIdentifier", - "src": "12468:1:11" + "src": "12468:1:24" } ], "functionName": { "name": "mstore", - "nativeSrc": "12453:6:11", + "nativeSrc": "12453:6:24", "nodeType": "YulIdentifier", - "src": "12453:6:11" + "src": "12453:6:24" }, - "nativeSrc": "12453:17:11", + "nativeSrc": "12453:17:24", "nodeType": "YulFunctionCall", - "src": "12453:17:11" + "src": "12453:17:24" }, - "nativeSrc": "12453:17:11", + "nativeSrc": "12453:17:24", "nodeType": "YulExpressionStatement", - "src": "12453:17:11" + "src": "12453:17:24" } ] }, @@ -166299,73 +185274,73 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5388, + "declaration": 6994, "isOffset": false, "isSlot": false, - "src": "12287:6:11", + "src": "12287:6:24", "valueSize": 1 }, { - "declaration": 5388, + "declaration": 6994, "isOffset": false, "isSlot": false, - "src": "12341:6:11", + "src": "12341:6:24", "valueSize": 1 }, { - "declaration": 5388, + "declaration": 6994, "isOffset": false, "isSlot": false, - "src": "12395:6:11", + "src": "12395:6:24", "valueSize": 1 }, { - "declaration": 5388, + "declaration": 6994, "isOffset": false, "isSlot": false, - "src": "12409:6:11", + "src": "12409:6:24", "valueSize": 1 }, { - "declaration": 5388, + "declaration": 6994, "isOffset": false, "isSlot": false, - "src": "12460:6:11", + "src": "12460:6:24", "valueSize": 1 } ], - "id": 5396, + "id": 7002, "nodeType": "InlineAssembly", - "src": "12245:256:11" + "src": "12245:256:24" } ] }, "documentation": { - "id": 5383, + "id": 6989, "nodeType": "StructuredDocumentation", - "src": "11798:263:11", + "src": "11798:263:24", "text": "@dev Returns the hexadecimal representation of `value`.\n The output is prefixed with \"0x\" and encoded using 2 hexadecimal digits per byte.\n As address are 20 bytes long, the output will left-padded to have\n a length of `20 * 2 + 2` bytes." }, - "id": 5398, + "id": 7004, "implemented": true, "kind": "function", "modifiers": [], "name": "toHexString", - "nameLocation": "12075:11:11", + "nameLocation": "12075:11:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 5386, + "id": 6992, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5385, + "id": 6991, "mutability": "mutable", "name": "value", - "nameLocation": "12095:5:11", + "nameLocation": "12095:5:24", "nodeType": "VariableDeclaration", - "scope": 5398, - "src": "12087:13:11", + "scope": 7004, + "src": "12087:13:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -166373,10 +185348,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5384, + "id": 6990, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "12087:7:11", + "src": "12087:7:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -166385,21 +185360,21 @@ "visibility": "internal" } ], - "src": "12086:15:11" + "src": "12086:15:24" }, "returnParameters": { - "id": 5389, + "id": 6995, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5388, + "id": 6994, "mutability": "mutable", "name": "result", - "nameLocation": "12139:6:11", + "nameLocation": "12139:6:24", "nodeType": "VariableDeclaration", - "scope": 5398, - "src": "12125:20:11", + "scope": 7004, + "src": "12125:20:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -166407,10 +185382,10 @@ "typeString": "string" }, "typeName": { - "id": 5387, + "id": 6993, "name": "string", "nodeType": "ElementaryTypeName", - "src": "12125:6:11", + "src": "12125:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -166419,34 +185394,34 @@ "visibility": "internal" } ], - "src": "12124:22:11" + "src": "12124:22:24" }, - "scope": 6134, - "src": "12066:441:11", + "scope": 7740, + "src": "12066:441:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5413, + "id": 7019, "nodeType": "Block", - "src": "12844:572:11", + "src": "12844:572:24", "statements": [ { "expression": { - "id": 5410, + "id": 7016, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 5406, + "id": 7012, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5404, - "src": "12854:6:11", + "referencedDeclaration": 7010, + "src": "12854:6:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -166457,12 +185432,12 @@ "rightHandSide": { "arguments": [ { - "id": 5408, + "id": 7014, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5401, - "src": "12883:5:11", + "referencedDeclaration": 7007, + "src": "12883:5:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -166476,23 +185451,23 @@ "typeString": "uint256" } ], - "id": 5407, + "id": 7013, "name": "toHexStringNoPrefix", "nodeType": "Identifier", "overloadedDeclarations": [ - 5382, - 5440, - 5482, - 5508 + 6988, + 7046, + 7088, + 7114 ], - "referencedDeclaration": 5440, - "src": "12863:19:11", + "referencedDeclaration": 7046, + "src": "12863:19:24", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$", "typeString": "function (uint256) pure returns (string memory)" } }, - "id": 5409, + "id": 7015, "isConstant": false, "isLValue": false, "isPure": false, @@ -166501,42 +185476,42 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "12863:26:11", + "src": "12863:26:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "12854:35:11", + "src": "12854:35:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 5411, + "id": 7017, "nodeType": "ExpressionStatement", - "src": "12854:35:11" + "src": "12854:35:24" }, { "AST": { - "nativeSrc": "12951:459:11", + "nativeSrc": "12951:459:24", "nodeType": "YulBlock", - "src": "12951:459:11", + "src": "12951:459:24", "statements": [ { - "nativeSrc": "12965:52:11", + "nativeSrc": "12965:52:24", "nodeType": "YulVariableDeclaration", - "src": "12965:52:11", + "src": "12965:52:24", "value": { "arguments": [ { "arguments": [ { "kind": "number", - "nativeSrc": "12982:1:11", + "nativeSrc": "12982:1:24", "nodeType": "YulLiteral", - "src": "12982:1:11", + "src": "12982:1:24", "type": "", "value": "0" }, @@ -166546,130 +185521,130 @@ "arguments": [ { "name": "result", - "nativeSrc": "12995:6:11", + "nativeSrc": "12995:6:24", "nodeType": "YulIdentifier", - "src": "12995:6:11" + "src": "12995:6:24" }, { "kind": "number", - "nativeSrc": "13003:4:11", + "nativeSrc": "13003:4:24", "nodeType": "YulLiteral", - "src": "13003:4:11", + "src": "13003:4:24", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "12991:3:11", + "nativeSrc": "12991:3:24", "nodeType": "YulIdentifier", - "src": "12991:3:11" + "src": "12991:3:24" }, - "nativeSrc": "12991:17:11", + "nativeSrc": "12991:17:24", "nodeType": "YulFunctionCall", - "src": "12991:17:11" + "src": "12991:17:24" } ], "functionName": { "name": "mload", - "nativeSrc": "12985:5:11", + "nativeSrc": "12985:5:24", "nodeType": "YulIdentifier", - "src": "12985:5:11" + "src": "12985:5:24" }, - "nativeSrc": "12985:24:11", + "nativeSrc": "12985:24:24", "nodeType": "YulFunctionCall", - "src": "12985:24:11" + "src": "12985:24:24" } ], "functionName": { "name": "byte", - "nativeSrc": "12977:4:11", + "nativeSrc": "12977:4:24", "nodeType": "YulIdentifier", - "src": "12977:4:11" + "src": "12977:4:24" }, - "nativeSrc": "12977:33:11", + "nativeSrc": "12977:33:24", "nodeType": "YulFunctionCall", - "src": "12977:33:11" + "src": "12977:33:24" }, { "kind": "number", - "nativeSrc": "13012:4:11", + "nativeSrc": "13012:4:24", "nodeType": "YulLiteral", - "src": "13012:4:11", + "src": "13012:4:24", "type": "", "value": "0x30" } ], "functionName": { "name": "eq", - "nativeSrc": "12974:2:11", + "nativeSrc": "12974:2:24", "nodeType": "YulIdentifier", - "src": "12974:2:11" + "src": "12974:2:24" }, - "nativeSrc": "12974:43:11", + "nativeSrc": "12974:43:24", "nodeType": "YulFunctionCall", - "src": "12974:43:11" + "src": "12974:43:24" }, "variables": [ { "name": "o", - "nativeSrc": "12969:1:11", + "nativeSrc": "12969:1:24", "nodeType": "YulTypedName", - "src": "12969:1:11", + "src": "12969:1:24", "type": "" } ] }, { - "nativeSrc": "13066:30:11", + "nativeSrc": "13066:30:24", "nodeType": "YulVariableDeclaration", - "src": "13066:30:11", + "src": "13066:30:24", "value": { "arguments": [ { "arguments": [ { "name": "result", - "nativeSrc": "13085:6:11", + "nativeSrc": "13085:6:24", "nodeType": "YulIdentifier", - "src": "13085:6:11" + "src": "13085:6:24" } ], "functionName": { "name": "mload", - "nativeSrc": "13079:5:11", + "nativeSrc": "13079:5:24", "nodeType": "YulIdentifier", - "src": "13079:5:11" + "src": "13079:5:24" }, - "nativeSrc": "13079:13:11", + "nativeSrc": "13079:13:24", "nodeType": "YulFunctionCall", - "src": "13079:13:11" + "src": "13079:13:24" }, { "kind": "number", - "nativeSrc": "13094:1:11", + "nativeSrc": "13094:1:24", "nodeType": "YulLiteral", - "src": "13094:1:11", + "src": "13094:1:24", "type": "", "value": "2" } ], "functionName": { "name": "add", - "nativeSrc": "13075:3:11", + "nativeSrc": "13075:3:24", "nodeType": "YulIdentifier", - "src": "13075:3:11" + "src": "13075:3:24" }, - "nativeSrc": "13075:21:11", + "nativeSrc": "13075:21:24", "nodeType": "YulFunctionCall", - "src": "13075:21:11" + "src": "13075:21:24" }, "variables": [ { "name": "n", - "nativeSrc": "13070:1:11", + "nativeSrc": "13070:1:24", "nodeType": "YulTypedName", - "src": "13070:1:11", + "src": "13070:1:24", "type": "" } ] @@ -166681,106 +185656,106 @@ "arguments": [ { "name": "result", - "nativeSrc": "13143:6:11", + "nativeSrc": "13143:6:24", "nodeType": "YulIdentifier", - "src": "13143:6:11" + "src": "13143:6:24" }, { "name": "o", - "nativeSrc": "13151:1:11", + "nativeSrc": "13151:1:24", "nodeType": "YulIdentifier", - "src": "13151:1:11" + "src": "13151:1:24" } ], "functionName": { "name": "add", - "nativeSrc": "13139:3:11", + "nativeSrc": "13139:3:24", "nodeType": "YulIdentifier", - "src": "13139:3:11" + "src": "13139:3:24" }, - "nativeSrc": "13139:14:11", + "nativeSrc": "13139:14:24", "nodeType": "YulFunctionCall", - "src": "13139:14:11" + "src": "13139:14:24" }, { "kind": "number", - "nativeSrc": "13155:6:11", + "nativeSrc": "13155:6:24", "nodeType": "YulLiteral", - "src": "13155:6:11", + "src": "13155:6:24", "type": "", "value": "0x3078" } ], "functionName": { "name": "mstore", - "nativeSrc": "13132:6:11", + "nativeSrc": "13132:6:24", "nodeType": "YulIdentifier", - "src": "13132:6:11" + "src": "13132:6:24" }, - "nativeSrc": "13132:30:11", + "nativeSrc": "13132:30:24", "nodeType": "YulFunctionCall", - "src": "13132:30:11" + "src": "13132:30:24" }, - "nativeSrc": "13132:30:11", + "nativeSrc": "13132:30:24", "nodeType": "YulExpressionStatement", - "src": "13132:30:11" + "src": "13132:30:24" }, { - "nativeSrc": "13230:32:11", + "nativeSrc": "13230:32:24", "nodeType": "YulAssignment", - "src": "13230:32:11", + "src": "13230:32:24", "value": { "arguments": [ { "arguments": [ { "name": "result", - "nativeSrc": "13248:6:11", + "nativeSrc": "13248:6:24", "nodeType": "YulIdentifier", - "src": "13248:6:11" + "src": "13248:6:24" }, { "name": "o", - "nativeSrc": "13256:1:11", + "nativeSrc": "13256:1:24", "nodeType": "YulIdentifier", - "src": "13256:1:11" + "src": "13256:1:24" } ], "functionName": { "name": "add", - "nativeSrc": "13244:3:11", + "nativeSrc": "13244:3:24", "nodeType": "YulIdentifier", - "src": "13244:3:11" + "src": "13244:3:24" }, - "nativeSrc": "13244:14:11", + "nativeSrc": "13244:14:24", "nodeType": "YulFunctionCall", - "src": "13244:14:11" + "src": "13244:14:24" }, { "kind": "number", - "nativeSrc": "13260:1:11", + "nativeSrc": "13260:1:24", "nodeType": "YulLiteral", - "src": "13260:1:11", + "src": "13260:1:24", "type": "", "value": "2" } ], "functionName": { "name": "sub", - "nativeSrc": "13240:3:11", + "nativeSrc": "13240:3:24", "nodeType": "YulIdentifier", - "src": "13240:3:11" + "src": "13240:3:24" }, - "nativeSrc": "13240:22:11", + "nativeSrc": "13240:22:24", "nodeType": "YulFunctionCall", - "src": "13240:22:11" + "src": "13240:22:24" }, "variableNames": [ { "name": "result", - "nativeSrc": "13230:6:11", + "nativeSrc": "13230:6:24", "nodeType": "YulIdentifier", - "src": "13230:6:11" + "src": "13230:6:24" } ] }, @@ -166789,49 +185764,49 @@ "arguments": [ { "name": "result", - "nativeSrc": "13332:6:11", + "nativeSrc": "13332:6:24", "nodeType": "YulIdentifier", - "src": "13332:6:11" + "src": "13332:6:24" }, { "arguments": [ { "name": "n", - "nativeSrc": "13344:1:11", + "nativeSrc": "13344:1:24", "nodeType": "YulIdentifier", - "src": "13344:1:11" + "src": "13344:1:24" }, { "name": "o", - "nativeSrc": "13347:1:11", + "nativeSrc": "13347:1:24", "nodeType": "YulIdentifier", - "src": "13347:1:11" + "src": "13347:1:24" } ], "functionName": { "name": "sub", - "nativeSrc": "13340:3:11", + "nativeSrc": "13340:3:24", "nodeType": "YulIdentifier", - "src": "13340:3:11" + "src": "13340:3:24" }, - "nativeSrc": "13340:9:11", + "nativeSrc": "13340:9:24", "nodeType": "YulFunctionCall", - "src": "13340:9:11" + "src": "13340:9:24" } ], "functionName": { "name": "mstore", - "nativeSrc": "13325:6:11", + "nativeSrc": "13325:6:24", "nodeType": "YulIdentifier", - "src": "13325:6:11" + "src": "13325:6:24" }, - "nativeSrc": "13325:25:11", + "nativeSrc": "13325:25:24", "nodeType": "YulFunctionCall", - "src": "13325:25:11" + "src": "13325:25:24" }, - "nativeSrc": "13325:25:11", + "nativeSrc": "13325:25:24", "nodeType": "YulExpressionStatement", - "src": "13325:25:11" + "src": "13325:25:24" } ] }, @@ -166839,80 +185814,80 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5404, + "declaration": 7010, "isOffset": false, "isSlot": false, - "src": "12995:6:11", + "src": "12995:6:24", "valueSize": 1 }, { - "declaration": 5404, + "declaration": 7010, "isOffset": false, "isSlot": false, - "src": "13085:6:11", + "src": "13085:6:24", "valueSize": 1 }, { - "declaration": 5404, + "declaration": 7010, "isOffset": false, "isSlot": false, - "src": "13143:6:11", + "src": "13143:6:24", "valueSize": 1 }, { - "declaration": 5404, + "declaration": 7010, "isOffset": false, "isSlot": false, - "src": "13230:6:11", + "src": "13230:6:24", "valueSize": 1 }, { - "declaration": 5404, + "declaration": 7010, "isOffset": false, "isSlot": false, - "src": "13248:6:11", + "src": "13248:6:24", "valueSize": 1 }, { - "declaration": 5404, + "declaration": 7010, "isOffset": false, "isSlot": false, - "src": "13332:6:11", + "src": "13332:6:24", "valueSize": 1 } ], - "id": 5412, + "id": 7018, "nodeType": "InlineAssembly", - "src": "12942:468:11" + "src": "12942:468:24" } ] }, "documentation": { - "id": 5399, + "id": 7005, "nodeType": "StructuredDocumentation", - "src": "12513:238:11", + "src": "12513:238:24", "text": "@dev Returns the hexadecimal representation of `value`.\n The output is prefixed with \"0x\".\n The output excludes leading \"0\" from the `toHexString` output.\n `0x00: \"0x0\", 0x01: \"0x1\", 0x12: \"0x12\", 0x123: \"0x123\"`." }, - "id": 5414, + "id": 7020, "implemented": true, "kind": "function", "modifiers": [], "name": "toMinimalHexString", - "nameLocation": "12765:18:11", + "nameLocation": "12765:18:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 5402, + "id": 7008, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5401, + "id": 7007, "mutability": "mutable", "name": "value", - "nameLocation": "12792:5:11", + "nameLocation": "12792:5:24", "nodeType": "VariableDeclaration", - "scope": 5414, - "src": "12784:13:11", + "scope": 7020, + "src": "12784:13:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -166920,10 +185895,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5400, + "id": 7006, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "12784:7:11", + "src": "12784:7:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -166932,21 +185907,21 @@ "visibility": "internal" } ], - "src": "12783:15:11" + "src": "12783:15:24" }, "returnParameters": { - "id": 5405, + "id": 7011, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5404, + "id": 7010, "mutability": "mutable", "name": "result", - "nameLocation": "12836:6:11", + "nameLocation": "12836:6:24", "nodeType": "VariableDeclaration", - "scope": 5414, - "src": "12822:20:11", + "scope": 7020, + "src": "12822:20:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -166954,10 +185929,10 @@ "typeString": "string" }, "typeName": { - "id": 5403, + "id": 7009, "name": "string", "nodeType": "ElementaryTypeName", - "src": "12822:6:11", + "src": "12822:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -166966,34 +185941,34 @@ "visibility": "internal" } ], - "src": "12821:22:11" + "src": "12821:22:24" }, - "scope": 6134, - "src": "12756:660:11", + "scope": 7740, + "src": "12756:660:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5429, + "id": 7035, "nodeType": "Block", - "src": "13747:454:11", + "src": "13747:454:24", "statements": [ { "expression": { - "id": 5426, + "id": 7032, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 5422, + "id": 7028, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5420, - "src": "13757:6:11", + "referencedDeclaration": 7026, + "src": "13757:6:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -167004,12 +185979,12 @@ "rightHandSide": { "arguments": [ { - "id": 5424, + "id": 7030, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5417, - "src": "13786:5:11", + "referencedDeclaration": 7023, + "src": "13786:5:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -167023,23 +185998,23 @@ "typeString": "uint256" } ], - "id": 5423, + "id": 7029, "name": "toHexStringNoPrefix", "nodeType": "Identifier", "overloadedDeclarations": [ - 5382, - 5440, - 5482, - 5508 + 6988, + 7046, + 7088, + 7114 ], - "referencedDeclaration": 5440, - "src": "13766:19:11", + "referencedDeclaration": 7046, + "src": "13766:19:24", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$", "typeString": "function (uint256) pure returns (string memory)" } }, - "id": 5425, + "id": 7031, "isConstant": false, "isLValue": false, "isPure": false, @@ -167048,42 +186023,42 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "13766:26:11", + "src": "13766:26:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "13757:35:11", + "src": "13757:35:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 5427, + "id": 7033, "nodeType": "ExpressionStatement", - "src": "13757:35:11" + "src": "13757:35:24" }, { "AST": { - "nativeSrc": "13854:341:11", + "nativeSrc": "13854:341:24", "nodeType": "YulBlock", - "src": "13854:341:11", + "src": "13854:341:24", "statements": [ { - "nativeSrc": "13868:52:11", + "nativeSrc": "13868:52:24", "nodeType": "YulVariableDeclaration", - "src": "13868:52:11", + "src": "13868:52:24", "value": { "arguments": [ { "arguments": [ { "kind": "number", - "nativeSrc": "13885:1:11", + "nativeSrc": "13885:1:24", "nodeType": "YulLiteral", - "src": "13885:1:11", + "src": "13885:1:24", "type": "", "value": "0" }, @@ -167093,148 +186068,148 @@ "arguments": [ { "name": "result", - "nativeSrc": "13898:6:11", + "nativeSrc": "13898:6:24", "nodeType": "YulIdentifier", - "src": "13898:6:11" + "src": "13898:6:24" }, { "kind": "number", - "nativeSrc": "13906:4:11", + "nativeSrc": "13906:4:24", "nodeType": "YulLiteral", - "src": "13906:4:11", + "src": "13906:4:24", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "13894:3:11", + "nativeSrc": "13894:3:24", "nodeType": "YulIdentifier", - "src": "13894:3:11" + "src": "13894:3:24" }, - "nativeSrc": "13894:17:11", + "nativeSrc": "13894:17:24", "nodeType": "YulFunctionCall", - "src": "13894:17:11" + "src": "13894:17:24" } ], "functionName": { "name": "mload", - "nativeSrc": "13888:5:11", + "nativeSrc": "13888:5:24", "nodeType": "YulIdentifier", - "src": "13888:5:11" + "src": "13888:5:24" }, - "nativeSrc": "13888:24:11", + "nativeSrc": "13888:24:24", "nodeType": "YulFunctionCall", - "src": "13888:24:11" + "src": "13888:24:24" } ], "functionName": { "name": "byte", - "nativeSrc": "13880:4:11", + "nativeSrc": "13880:4:24", "nodeType": "YulIdentifier", - "src": "13880:4:11" + "src": "13880:4:24" }, - "nativeSrc": "13880:33:11", + "nativeSrc": "13880:33:24", "nodeType": "YulFunctionCall", - "src": "13880:33:11" + "src": "13880:33:24" }, { "kind": "number", - "nativeSrc": "13915:4:11", + "nativeSrc": "13915:4:24", "nodeType": "YulLiteral", - "src": "13915:4:11", + "src": "13915:4:24", "type": "", "value": "0x30" } ], "functionName": { "name": "eq", - "nativeSrc": "13877:2:11", + "nativeSrc": "13877:2:24", "nodeType": "YulIdentifier", - "src": "13877:2:11" + "src": "13877:2:24" }, - "nativeSrc": "13877:43:11", + "nativeSrc": "13877:43:24", "nodeType": "YulFunctionCall", - "src": "13877:43:11" + "src": "13877:43:24" }, "variables": [ { "name": "o", - "nativeSrc": "13872:1:11", + "nativeSrc": "13872:1:24", "nodeType": "YulTypedName", - "src": "13872:1:11", + "src": "13872:1:24", "type": "" } ] }, { - "nativeSrc": "13969:22:11", + "nativeSrc": "13969:22:24", "nodeType": "YulVariableDeclaration", - "src": "13969:22:11", + "src": "13969:22:24", "value": { "arguments": [ { "name": "result", - "nativeSrc": "13984:6:11", + "nativeSrc": "13984:6:24", "nodeType": "YulIdentifier", - "src": "13984:6:11" + "src": "13984:6:24" } ], "functionName": { "name": "mload", - "nativeSrc": "13978:5:11", + "nativeSrc": "13978:5:24", "nodeType": "YulIdentifier", - "src": "13978:5:11" + "src": "13978:5:24" }, - "nativeSrc": "13978:13:11", + "nativeSrc": "13978:13:24", "nodeType": "YulFunctionCall", - "src": "13978:13:11" + "src": "13978:13:24" }, "variables": [ { "name": "n", - "nativeSrc": "13973:1:11", + "nativeSrc": "13973:1:24", "nodeType": "YulTypedName", - "src": "13973:1:11", + "src": "13973:1:24", "type": "" } ] }, { - "nativeSrc": "14023:24:11", + "nativeSrc": "14023:24:24", "nodeType": "YulAssignment", - "src": "14023:24:11", + "src": "14023:24:24", "value": { "arguments": [ { "name": "result", - "nativeSrc": "14037:6:11", + "nativeSrc": "14037:6:24", "nodeType": "YulIdentifier", - "src": "14037:6:11" + "src": "14037:6:24" }, { "name": "o", - "nativeSrc": "14045:1:11", + "nativeSrc": "14045:1:24", "nodeType": "YulIdentifier", - "src": "14045:1:11" + "src": "14045:1:24" } ], "functionName": { "name": "add", - "nativeSrc": "14033:3:11", + "nativeSrc": "14033:3:24", "nodeType": "YulIdentifier", - "src": "14033:3:11" + "src": "14033:3:24" }, - "nativeSrc": "14033:14:11", + "nativeSrc": "14033:14:24", "nodeType": "YulFunctionCall", - "src": "14033:14:11" + "src": "14033:14:24" }, "variableNames": [ { "name": "result", - "nativeSrc": "14023:6:11", + "nativeSrc": "14023:6:24", "nodeType": "YulIdentifier", - "src": "14023:6:11" + "src": "14023:6:24" } ] }, @@ -167243,49 +186218,49 @@ "arguments": [ { "name": "result", - "nativeSrc": "14117:6:11", + "nativeSrc": "14117:6:24", "nodeType": "YulIdentifier", - "src": "14117:6:11" + "src": "14117:6:24" }, { "arguments": [ { "name": "n", - "nativeSrc": "14129:1:11", + "nativeSrc": "14129:1:24", "nodeType": "YulIdentifier", - "src": "14129:1:11" + "src": "14129:1:24" }, { "name": "o", - "nativeSrc": "14132:1:11", + "nativeSrc": "14132:1:24", "nodeType": "YulIdentifier", - "src": "14132:1:11" + "src": "14132:1:24" } ], "functionName": { "name": "sub", - "nativeSrc": "14125:3:11", + "nativeSrc": "14125:3:24", "nodeType": "YulIdentifier", - "src": "14125:3:11" + "src": "14125:3:24" }, - "nativeSrc": "14125:9:11", + "nativeSrc": "14125:9:24", "nodeType": "YulFunctionCall", - "src": "14125:9:11" + "src": "14125:9:24" } ], "functionName": { "name": "mstore", - "nativeSrc": "14110:6:11", + "nativeSrc": "14110:6:24", "nodeType": "YulIdentifier", - "src": "14110:6:11" + "src": "14110:6:24" }, - "nativeSrc": "14110:25:11", + "nativeSrc": "14110:25:24", "nodeType": "YulFunctionCall", - "src": "14110:25:11" + "src": "14110:25:24" }, - "nativeSrc": "14110:25:11", + "nativeSrc": "14110:25:24", "nodeType": "YulExpressionStatement", - "src": "14110:25:11" + "src": "14110:25:24" } ] }, @@ -167293,73 +186268,73 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5420, + "declaration": 7026, "isOffset": false, "isSlot": false, - "src": "13898:6:11", + "src": "13898:6:24", "valueSize": 1 }, { - "declaration": 5420, + "declaration": 7026, "isOffset": false, "isSlot": false, - "src": "13984:6:11", + "src": "13984:6:24", "valueSize": 1 }, { - "declaration": 5420, + "declaration": 7026, "isOffset": false, "isSlot": false, - "src": "14023:6:11", + "src": "14023:6:24", "valueSize": 1 }, { - "declaration": 5420, + "declaration": 7026, "isOffset": false, "isSlot": false, - "src": "14037:6:11", + "src": "14037:6:24", "valueSize": 1 }, { - "declaration": 5420, + "declaration": 7026, "isOffset": false, "isSlot": false, - "src": "14117:6:11", + "src": "14117:6:24", "valueSize": 1 } ], - "id": 5428, + "id": 7034, "nodeType": "InlineAssembly", - "src": "13845:350:11" + "src": "13845:350:24" } ] }, "documentation": { - "id": 5415, + "id": 7021, "nodeType": "StructuredDocumentation", - "src": "13422:196:11", + "src": "13422:196:24", "text": "@dev Returns the hexadecimal representation of `value`.\n The output excludes leading \"0\" from the `toHexStringNoPrefix` output.\n `0x00: \"0\", 0x01: \"1\", 0x12: \"12\", 0x123: \"123\"`." }, - "id": 5430, + "id": 7036, "implemented": true, "kind": "function", "modifiers": [], "name": "toMinimalHexStringNoPrefix", - "nameLocation": "13632:26:11", + "nameLocation": "13632:26:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 5418, + "id": 7024, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5417, + "id": 7023, "mutability": "mutable", "name": "value", - "nameLocation": "13667:5:11", + "nameLocation": "13667:5:24", "nodeType": "VariableDeclaration", - "scope": 5430, - "src": "13659:13:11", + "scope": 7036, + "src": "13659:13:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -167367,10 +186342,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5416, + "id": 7022, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13659:7:11", + "src": "13659:7:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -167379,21 +186354,21 @@ "visibility": "internal" } ], - "src": "13658:15:11" + "src": "13658:15:24" }, "returnParameters": { - "id": 5421, + "id": 7027, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5420, + "id": 7026, "mutability": "mutable", "name": "result", - "nameLocation": "13735:6:11", + "nameLocation": "13735:6:24", "nodeType": "VariableDeclaration", - "scope": 5430, - "src": "13721:20:11", + "scope": 7036, + "src": "13721:20:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -167401,10 +186376,10 @@ "typeString": "string" }, "typeName": { - "id": 5419, + "id": 7025, "name": "string", "nodeType": "ElementaryTypeName", - "src": "13721:6:11", + "src": "13721:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -167413,78 +186388,78 @@ "visibility": "internal" } ], - "src": "13720:22:11" + "src": "13720:22:24" }, - "scope": 6134, - "src": "13623:578:11", + "scope": 7740, + "src": "13623:578:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5439, + "id": 7045, "nodeType": "Block", - "src": "14537:1344:11", + "src": "14537:1344:24", "statements": [ { "AST": { - "nativeSrc": "14599:1276:11", + "nativeSrc": "14599:1276:24", "nodeType": "YulBlock", - "src": "14599:1276:11", + "src": "14599:1276:24", "statements": [ { - "nativeSrc": "14863:32:11", + "nativeSrc": "14863:32:24", "nodeType": "YulAssignment", - "src": "14863:32:11", + "src": "14863:32:24", "value": { "arguments": [ { "arguments": [ { "kind": "number", - "nativeSrc": "14883:4:11", + "nativeSrc": "14883:4:24", "nodeType": "YulLiteral", - "src": "14883:4:11", + "src": "14883:4:24", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "14877:5:11", + "nativeSrc": "14877:5:24", "nodeType": "YulIdentifier", - "src": "14877:5:11" + "src": "14877:5:24" }, - "nativeSrc": "14877:11:11", + "nativeSrc": "14877:11:24", "nodeType": "YulFunctionCall", - "src": "14877:11:11" + "src": "14877:11:24" }, { "kind": "number", - "nativeSrc": "14890:4:11", + "nativeSrc": "14890:4:24", "nodeType": "YulLiteral", - "src": "14890:4:11", + "src": "14890:4:24", "type": "", "value": "0x80" } ], "functionName": { "name": "add", - "nativeSrc": "14873:3:11", + "nativeSrc": "14873:3:24", "nodeType": "YulIdentifier", - "src": "14873:3:11" + "src": "14873:3:24" }, - "nativeSrc": "14873:22:11", + "nativeSrc": "14873:22:24", "nodeType": "YulFunctionCall", - "src": "14873:22:11" + "src": "14873:22:24" }, "variableNames": [ { "name": "result", - "nativeSrc": "14863:6:11", + "nativeSrc": "14863:6:24", "nodeType": "YulIdentifier", - "src": "14863:6:11" + "src": "14863:6:24" } ] }, @@ -167493,9 +186468,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "14915:4:11", + "nativeSrc": "14915:4:24", "nodeType": "YulLiteral", - "src": "14915:4:11", + "src": "14915:4:24", "type": "", "value": "0x40" }, @@ -167503,92 +186478,92 @@ "arguments": [ { "name": "result", - "nativeSrc": "14925:6:11", + "nativeSrc": "14925:6:24", "nodeType": "YulIdentifier", - "src": "14925:6:11" + "src": "14925:6:24" }, { "kind": "number", - "nativeSrc": "14933:4:11", + "nativeSrc": "14933:4:24", "nodeType": "YulLiteral", - "src": "14933:4:11", + "src": "14933:4:24", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "14921:3:11", + "nativeSrc": "14921:3:24", "nodeType": "YulIdentifier", - "src": "14921:3:11" + "src": "14921:3:24" }, - "nativeSrc": "14921:17:11", + "nativeSrc": "14921:17:24", "nodeType": "YulFunctionCall", - "src": "14921:17:11" + "src": "14921:17:24" } ], "functionName": { "name": "mstore", - "nativeSrc": "14908:6:11", + "nativeSrc": "14908:6:24", "nodeType": "YulIdentifier", - "src": "14908:6:11" + "src": "14908:6:24" }, - "nativeSrc": "14908:31:11", + "nativeSrc": "14908:31:24", "nodeType": "YulFunctionCall", - "src": "14908:31:11" + "src": "14908:31:24" }, - "nativeSrc": "14908:31:11", + "nativeSrc": "14908:31:24", "nodeType": "YulExpressionStatement", - "src": "14908:31:11" + "src": "14908:31:24" }, { "expression": { "arguments": [ { "name": "result", - "nativeSrc": "14979:6:11", + "nativeSrc": "14979:6:24", "nodeType": "YulIdentifier", - "src": "14979:6:11" + "src": "14979:6:24" }, { "kind": "number", - "nativeSrc": "14987:1:11", + "nativeSrc": "14987:1:24", "nodeType": "YulLiteral", - "src": "14987:1:11", + "src": "14987:1:24", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "14972:6:11", + "nativeSrc": "14972:6:24", "nodeType": "YulIdentifier", - "src": "14972:6:11" + "src": "14972:6:24" }, - "nativeSrc": "14972:17:11", + "nativeSrc": "14972:17:24", "nodeType": "YulFunctionCall", - "src": "14972:17:11" + "src": "14972:17:24" }, - "nativeSrc": "14972:17:11", + "nativeSrc": "14972:17:24", "nodeType": "YulExpressionStatement", - "src": "14972:17:11" + "src": "14972:17:24" }, { - "nativeSrc": "15041:17:11", + "nativeSrc": "15041:17:24", "nodeType": "YulVariableDeclaration", - "src": "15041:17:11", + "src": "15041:17:24", "value": { "name": "result", - "nativeSrc": "15052:6:11", + "nativeSrc": "15052:6:24", "nodeType": "YulIdentifier", - "src": "15052:6:11" + "src": "15052:6:24" }, "variables": [ { "name": "end", - "nativeSrc": "15045:3:11", + "nativeSrc": "15045:3:24", "nodeType": "YulTypedName", - "src": "15045:3:11", + "src": "15045:3:24", "type": "" } ] @@ -167598,111 +186573,111 @@ "arguments": [ { "kind": "number", - "nativeSrc": "15126:4:11", + "nativeSrc": "15126:4:24", "nodeType": "YulLiteral", - "src": "15126:4:11", + "src": "15126:4:24", "type": "", "value": "0x0f" }, { "kind": "number", - "nativeSrc": "15132:34:11", + "nativeSrc": "15132:34:24", "nodeType": "YulLiteral", - "src": "15132:34:11", + "src": "15132:34:24", "type": "", "value": "0x30313233343536373839616263646566" } ], "functionName": { "name": "mstore", - "nativeSrc": "15119:6:11", + "nativeSrc": "15119:6:24", "nodeType": "YulIdentifier", - "src": "15119:6:11" + "src": "15119:6:24" }, - "nativeSrc": "15119:48:11", + "nativeSrc": "15119:48:24", "nodeType": "YulFunctionCall", - "src": "15119:48:11" + "src": "15119:48:24" }, - "nativeSrc": "15119:48:11", + "nativeSrc": "15119:48:24", "nodeType": "YulExpressionStatement", - "src": "15119:48:11" + "src": "15119:48:24" }, { - "nativeSrc": "15221:15:11", + "nativeSrc": "15221:15:24", "nodeType": "YulVariableDeclaration", - "src": "15221:15:11", + "src": "15221:15:24", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "15234:1:11", + "nativeSrc": "15234:1:24", "nodeType": "YulLiteral", - "src": "15234:1:11", + "src": "15234:1:24", "type": "", "value": "1" } ], "functionName": { "name": "not", - "nativeSrc": "15230:3:11", + "nativeSrc": "15230:3:24", "nodeType": "YulIdentifier", - "src": "15230:3:11" + "src": "15230:3:24" }, - "nativeSrc": "15230:6:11", + "nativeSrc": "15230:6:24", "nodeType": "YulFunctionCall", - "src": "15230:6:11" + "src": "15230:6:24" }, "variables": [ { "name": "w", - "nativeSrc": "15225:1:11", + "nativeSrc": "15225:1:24", "nodeType": "YulTypedName", - "src": "15225:1:11", + "src": "15225:1:24", "type": "" } ] }, { "body": { - "nativeSrc": "15456:280:11", + "nativeSrc": "15456:280:24", "nodeType": "YulBlock", - "src": "15456:280:11", + "src": "15456:280:24", "statements": [ { - "nativeSrc": "15474:24:11", + "nativeSrc": "15474:24:24", "nodeType": "YulAssignment", - "src": "15474:24:11", + "src": "15474:24:24", "value": { "arguments": [ { "name": "result", - "nativeSrc": "15488:6:11", + "nativeSrc": "15488:6:24", "nodeType": "YulIdentifier", - "src": "15488:6:11" + "src": "15488:6:24" }, { "name": "w", - "nativeSrc": "15496:1:11", + "nativeSrc": "15496:1:24", "nodeType": "YulIdentifier", - "src": "15496:1:11" + "src": "15496:1:24" } ], "functionName": { "name": "add", - "nativeSrc": "15484:3:11", + "nativeSrc": "15484:3:24", "nodeType": "YulIdentifier", - "src": "15484:3:11" + "src": "15484:3:24" }, - "nativeSrc": "15484:14:11", + "nativeSrc": "15484:14:24", "nodeType": "YulFunctionCall", - "src": "15484:14:11" + "src": "15484:14:24" }, "variableNames": [ { "name": "result", - "nativeSrc": "15474:6:11", + "nativeSrc": "15474:6:24", "nodeType": "YulIdentifier", - "src": "15474:6:11" + "src": "15474:6:24" } ] }, @@ -167713,28 +186688,28 @@ "arguments": [ { "name": "result", - "nativeSrc": "15548:6:11", + "nativeSrc": "15548:6:24", "nodeType": "YulIdentifier", - "src": "15548:6:11" + "src": "15548:6:24" }, { "kind": "number", - "nativeSrc": "15556:1:11", + "nativeSrc": "15556:1:24", "nodeType": "YulLiteral", - "src": "15556:1:11", + "src": "15556:1:24", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "15544:3:11", + "nativeSrc": "15544:3:24", "nodeType": "YulIdentifier", - "src": "15544:3:11" + "src": "15544:3:24" }, - "nativeSrc": "15544:14:11", + "nativeSrc": "15544:14:24", "nodeType": "YulFunctionCall", - "src": "15544:14:11" + "src": "15544:14:24" }, { "arguments": [ @@ -167742,63 +186717,63 @@ "arguments": [ { "name": "temp", - "nativeSrc": "15570:4:11", + "nativeSrc": "15570:4:24", "nodeType": "YulIdentifier", - "src": "15570:4:11" + "src": "15570:4:24" }, { "kind": "number", - "nativeSrc": "15576:2:11", + "nativeSrc": "15576:2:24", "nodeType": "YulLiteral", - "src": "15576:2:11", + "src": "15576:2:24", "type": "", "value": "15" } ], "functionName": { "name": "and", - "nativeSrc": "15566:3:11", + "nativeSrc": "15566:3:24", "nodeType": "YulIdentifier", - "src": "15566:3:11" + "src": "15566:3:24" }, - "nativeSrc": "15566:13:11", + "nativeSrc": "15566:13:24", "nodeType": "YulFunctionCall", - "src": "15566:13:11" + "src": "15566:13:24" } ], "functionName": { "name": "mload", - "nativeSrc": "15560:5:11", + "nativeSrc": "15560:5:24", "nodeType": "YulIdentifier", - "src": "15560:5:11" + "src": "15560:5:24" }, - "nativeSrc": "15560:20:11", + "nativeSrc": "15560:20:24", "nodeType": "YulFunctionCall", - "src": "15560:20:11" + "src": "15560:20:24" } ], "functionName": { "name": "mstore8", - "nativeSrc": "15536:7:11", + "nativeSrc": "15536:7:24", "nodeType": "YulIdentifier", - "src": "15536:7:11" + "src": "15536:7:24" }, - "nativeSrc": "15536:45:11", + "nativeSrc": "15536:45:24", "nodeType": "YulFunctionCall", - "src": "15536:45:11" + "src": "15536:45:24" }, - "nativeSrc": "15536:45:11", + "nativeSrc": "15536:45:24", "nodeType": "YulExpressionStatement", - "src": "15536:45:11" + "src": "15536:45:24" }, { "expression": { "arguments": [ { "name": "result", - "nativeSrc": "15606:6:11", + "nativeSrc": "15606:6:24", "nodeType": "YulIdentifier", - "src": "15606:6:11" + "src": "15606:6:24" }, { "arguments": [ @@ -167808,124 +186783,124 @@ "arguments": [ { "kind": "number", - "nativeSrc": "15628:1:11", + "nativeSrc": "15628:1:24", "nodeType": "YulLiteral", - "src": "15628:1:11", + "src": "15628:1:24", "type": "", "value": "4" }, { "name": "temp", - "nativeSrc": "15631:4:11", + "nativeSrc": "15631:4:24", "nodeType": "YulIdentifier", - "src": "15631:4:11" + "src": "15631:4:24" } ], "functionName": { "name": "shr", - "nativeSrc": "15624:3:11", + "nativeSrc": "15624:3:24", "nodeType": "YulIdentifier", - "src": "15624:3:11" + "src": "15624:3:24" }, - "nativeSrc": "15624:12:11", + "nativeSrc": "15624:12:24", "nodeType": "YulFunctionCall", - "src": "15624:12:11" + "src": "15624:12:24" }, { "kind": "number", - "nativeSrc": "15638:2:11", + "nativeSrc": "15638:2:24", "nodeType": "YulLiteral", - "src": "15638:2:11", + "src": "15638:2:24", "type": "", "value": "15" } ], "functionName": { "name": "and", - "nativeSrc": "15620:3:11", + "nativeSrc": "15620:3:24", "nodeType": "YulIdentifier", - "src": "15620:3:11" + "src": "15620:3:24" }, - "nativeSrc": "15620:21:11", + "nativeSrc": "15620:21:24", "nodeType": "YulFunctionCall", - "src": "15620:21:11" + "src": "15620:21:24" } ], "functionName": { "name": "mload", - "nativeSrc": "15614:5:11", + "nativeSrc": "15614:5:24", "nodeType": "YulIdentifier", - "src": "15614:5:11" + "src": "15614:5:24" }, - "nativeSrc": "15614:28:11", + "nativeSrc": "15614:28:24", "nodeType": "YulFunctionCall", - "src": "15614:28:11" + "src": "15614:28:24" } ], "functionName": { "name": "mstore8", - "nativeSrc": "15598:7:11", + "nativeSrc": "15598:7:24", "nodeType": "YulIdentifier", - "src": "15598:7:11" + "src": "15598:7:24" }, - "nativeSrc": "15598:45:11", + "nativeSrc": "15598:45:24", "nodeType": "YulFunctionCall", - "src": "15598:45:11" + "src": "15598:45:24" }, - "nativeSrc": "15598:45:11", + "nativeSrc": "15598:45:24", "nodeType": "YulExpressionStatement", - "src": "15598:45:11" + "src": "15598:45:24" }, { - "nativeSrc": "15660:20:11", + "nativeSrc": "15660:20:24", "nodeType": "YulAssignment", - "src": "15660:20:11", + "src": "15660:20:24", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "15672:1:11", + "nativeSrc": "15672:1:24", "nodeType": "YulLiteral", - "src": "15672:1:11", + "src": "15672:1:24", "type": "", "value": "8" }, { "name": "temp", - "nativeSrc": "15675:4:11", + "nativeSrc": "15675:4:24", "nodeType": "YulIdentifier", - "src": "15675:4:11" + "src": "15675:4:24" } ], "functionName": { "name": "shr", - "nativeSrc": "15668:3:11", + "nativeSrc": "15668:3:24", "nodeType": "YulIdentifier", - "src": "15668:3:11" + "src": "15668:3:24" }, - "nativeSrc": "15668:12:11", + "nativeSrc": "15668:12:24", "nodeType": "YulFunctionCall", - "src": "15668:12:11" + "src": "15668:12:24" }, "variableNames": [ { "name": "temp", - "nativeSrc": "15660:4:11", + "nativeSrc": "15660:4:24", "nodeType": "YulIdentifier", - "src": "15660:4:11" + "src": "15660:4:24" } ] }, { "body": { - "nativeSrc": "15713:9:11", + "nativeSrc": "15713:9:24", "nodeType": "YulBlock", - "src": "15713:9:11", + "src": "15713:9:24", "statements": [ { - "nativeSrc": "15715:5:11", + "nativeSrc": "15715:5:24", "nodeType": "YulBreak", - "src": "15715:5:11" + "src": "15715:5:24" } ] }, @@ -167933,148 +186908,148 @@ "arguments": [ { "name": "temp", - "nativeSrc": "15707:4:11", + "nativeSrc": "15707:4:24", "nodeType": "YulIdentifier", - "src": "15707:4:11" + "src": "15707:4:24" } ], "functionName": { "name": "iszero", - "nativeSrc": "15700:6:11", + "nativeSrc": "15700:6:24", "nodeType": "YulIdentifier", - "src": "15700:6:11" + "src": "15700:6:24" }, - "nativeSrc": "15700:12:11", + "nativeSrc": "15700:12:24", "nodeType": "YulFunctionCall", - "src": "15700:12:11" + "src": "15700:12:24" }, - "nativeSrc": "15697:25:11", + "nativeSrc": "15697:25:24", "nodeType": "YulIf", - "src": "15697:25:11" + "src": "15697:25:24" } ] }, "condition": { "kind": "number", - "nativeSrc": "15451:1:11", + "nativeSrc": "15451:1:24", "nodeType": "YulLiteral", - "src": "15451:1:11", + "src": "15451:1:24", "type": "", "value": "1" }, - "nativeSrc": "15425:311:11", + "nativeSrc": "15425:311:24", "nodeType": "YulForLoop", "post": { - "nativeSrc": "15453:2:11", + "nativeSrc": "15453:2:24", "nodeType": "YulBlock", - "src": "15453:2:11", + "src": "15453:2:24", "statements": [] }, "pre": { - "nativeSrc": "15429:21:11", + "nativeSrc": "15429:21:24", "nodeType": "YulBlock", - "src": "15429:21:11", + "src": "15429:21:24", "statements": [ { - "nativeSrc": "15431:17:11", + "nativeSrc": "15431:17:24", "nodeType": "YulVariableDeclaration", - "src": "15431:17:11", + "src": "15431:17:24", "value": { "name": "value", - "nativeSrc": "15443:5:11", + "nativeSrc": "15443:5:24", "nodeType": "YulIdentifier", - "src": "15443:5:11" + "src": "15443:5:24" }, "variables": [ { "name": "temp", - "nativeSrc": "15435:4:11", + "nativeSrc": "15435:4:24", "nodeType": "YulTypedName", - "src": "15435:4:11", + "src": "15435:4:24", "type": "" } ] } ] }, - "src": "15425:311:11" + "src": "15425:311:24" }, { - "nativeSrc": "15749:25:11", + "nativeSrc": "15749:25:24", "nodeType": "YulVariableDeclaration", - "src": "15749:25:11", + "src": "15749:25:24", "value": { "arguments": [ { "name": "end", - "nativeSrc": "15762:3:11", + "nativeSrc": "15762:3:24", "nodeType": "YulIdentifier", - "src": "15762:3:11" + "src": "15762:3:24" }, { "name": "result", - "nativeSrc": "15767:6:11", + "nativeSrc": "15767:6:24", "nodeType": "YulIdentifier", - "src": "15767:6:11" + "src": "15767:6:24" } ], "functionName": { "name": "sub", - "nativeSrc": "15758:3:11", + "nativeSrc": "15758:3:24", "nodeType": "YulIdentifier", - "src": "15758:3:11" + "src": "15758:3:24" }, - "nativeSrc": "15758:16:11", + "nativeSrc": "15758:16:24", "nodeType": "YulFunctionCall", - "src": "15758:16:11" + "src": "15758:16:24" }, "variables": [ { "name": "n", - "nativeSrc": "15753:1:11", + "nativeSrc": "15753:1:24", "nodeType": "YulTypedName", - "src": "15753:1:11", + "src": "15753:1:24", "type": "" } ] }, { - "nativeSrc": "15787:27:11", + "nativeSrc": "15787:27:24", "nodeType": "YulAssignment", - "src": "15787:27:11", + "src": "15787:27:24", "value": { "arguments": [ { "name": "result", - "nativeSrc": "15801:6:11", + "nativeSrc": "15801:6:24", "nodeType": "YulIdentifier", - "src": "15801:6:11" + "src": "15801:6:24" }, { "kind": "number", - "nativeSrc": "15809:4:11", + "nativeSrc": "15809:4:24", "nodeType": "YulLiteral", - "src": "15809:4:11", + "src": "15809:4:24", "type": "", "value": "0x20" } ], "functionName": { "name": "sub", - "nativeSrc": "15797:3:11", + "nativeSrc": "15797:3:24", "nodeType": "YulIdentifier", - "src": "15797:3:11" + "src": "15797:3:24" }, - "nativeSrc": "15797:17:11", + "nativeSrc": "15797:17:24", "nodeType": "YulFunctionCall", - "src": "15797:17:11" + "src": "15797:17:24" }, "variableNames": [ { "name": "result", - "nativeSrc": "15787:6:11", + "nativeSrc": "15787:6:24", "nodeType": "YulIdentifier", - "src": "15787:6:11" + "src": "15787:6:24" } ] }, @@ -168083,30 +187058,30 @@ "arguments": [ { "name": "result", - "nativeSrc": "15834:6:11", + "nativeSrc": "15834:6:24", "nodeType": "YulIdentifier", - "src": "15834:6:11" + "src": "15834:6:24" }, { "name": "n", - "nativeSrc": "15842:1:11", + "nativeSrc": "15842:1:24", "nodeType": "YulIdentifier", - "src": "15842:1:11" + "src": "15842:1:24" } ], "functionName": { "name": "mstore", - "nativeSrc": "15827:6:11", + "nativeSrc": "15827:6:24", "nodeType": "YulIdentifier", - "src": "15827:6:11" + "src": "15827:6:24" }, - "nativeSrc": "15827:17:11", + "nativeSrc": "15827:17:24", "nodeType": "YulFunctionCall", - "src": "15827:17:11" + "src": "15827:17:24" }, - "nativeSrc": "15827:17:11", + "nativeSrc": "15827:17:24", "nodeType": "YulExpressionStatement", - "src": "15827:17:11" + "src": "15827:17:24" } ] }, @@ -168114,129 +187089,129 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5436, + "declaration": 7042, "isOffset": false, "isSlot": false, - "src": "14863:6:11", + "src": "14863:6:24", "valueSize": 1 }, { - "declaration": 5436, + "declaration": 7042, "isOffset": false, "isSlot": false, - "src": "14925:6:11", + "src": "14925:6:24", "valueSize": 1 }, { - "declaration": 5436, + "declaration": 7042, "isOffset": false, "isSlot": false, - "src": "14979:6:11", + "src": "14979:6:24", "valueSize": 1 }, { - "declaration": 5436, + "declaration": 7042, "isOffset": false, "isSlot": false, - "src": "15052:6:11", + "src": "15052:6:24", "valueSize": 1 }, { - "declaration": 5436, + "declaration": 7042, "isOffset": false, "isSlot": false, - "src": "15474:6:11", + "src": "15474:6:24", "valueSize": 1 }, { - "declaration": 5436, + "declaration": 7042, "isOffset": false, "isSlot": false, - "src": "15488:6:11", + "src": "15488:6:24", "valueSize": 1 }, { - "declaration": 5436, + "declaration": 7042, "isOffset": false, "isSlot": false, - "src": "15548:6:11", + "src": "15548:6:24", "valueSize": 1 }, { - "declaration": 5436, + "declaration": 7042, "isOffset": false, "isSlot": false, - "src": "15606:6:11", + "src": "15606:6:24", "valueSize": 1 }, { - "declaration": 5436, + "declaration": 7042, "isOffset": false, "isSlot": false, - "src": "15767:6:11", + "src": "15767:6:24", "valueSize": 1 }, { - "declaration": 5436, + "declaration": 7042, "isOffset": false, "isSlot": false, - "src": "15787:6:11", + "src": "15787:6:24", "valueSize": 1 }, { - "declaration": 5436, + "declaration": 7042, "isOffset": false, "isSlot": false, - "src": "15801:6:11", + "src": "15801:6:24", "valueSize": 1 }, { - "declaration": 5436, + "declaration": 7042, "isOffset": false, "isSlot": false, - "src": "15834:6:11", + "src": "15834:6:24", "valueSize": 1 }, { - "declaration": 5433, + "declaration": 7039, "isOffset": false, "isSlot": false, - "src": "15443:5:11", + "src": "15443:5:24", "valueSize": 1 } ], - "id": 5438, + "id": 7044, "nodeType": "InlineAssembly", - "src": "14590:1285:11" + "src": "14590:1285:24" } ] }, "documentation": { - "id": 5431, + "id": 7037, "nodeType": "StructuredDocumentation", - "src": "14207:236:11", + "src": "14207:236:24", "text": "@dev Returns the hexadecimal representation of `value`.\n The output is encoded using 2 hexadecimal digits per byte.\n As address are 20 bytes long, the output will left-padded to have\n a length of `20 * 2` bytes." }, - "id": 5440, + "id": 7046, "implemented": true, "kind": "function", "modifiers": [], "name": "toHexStringNoPrefix", - "nameLocation": "14457:19:11", + "nameLocation": "14457:19:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 5434, + "id": 7040, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5433, + "id": 7039, "mutability": "mutable", "name": "value", - "nameLocation": "14485:5:11", + "nameLocation": "14485:5:24", "nodeType": "VariableDeclaration", - "scope": 5440, - "src": "14477:13:11", + "scope": 7046, + "src": "14477:13:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -168244,10 +187219,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5432, + "id": 7038, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14477:7:11", + "src": "14477:7:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -168256,21 +187231,21 @@ "visibility": "internal" } ], - "src": "14476:15:11" + "src": "14476:15:24" }, "returnParameters": { - "id": 5437, + "id": 7043, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5436, + "id": 7042, "mutability": "mutable", "name": "result", - "nameLocation": "14529:6:11", + "nameLocation": "14529:6:24", "nodeType": "VariableDeclaration", - "scope": 5440, - "src": "14515:20:11", + "scope": 7046, + "src": "14515:20:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -168278,10 +187253,10 @@ "typeString": "string" }, "typeName": { - "id": 5435, + "id": 7041, "name": "string", "nodeType": "ElementaryTypeName", - "src": "14515:6:11", + "src": "14515:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -168290,34 +187265,34 @@ "visibility": "internal" } ], - "src": "14514:22:11" + "src": "14514:22:24" }, - "scope": 6134, - "src": "14448:1433:11", + "scope": 7740, + "src": "14448:1433:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5455, + "id": 7061, "nodeType": "Block", - "src": "16245:755:11", + "src": "16245:755:24", "statements": [ { "expression": { - "id": 5452, + "id": 7058, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 5448, + "id": 7054, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5446, - "src": "16255:6:11", + "referencedDeclaration": 7052, + "src": "16255:6:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -168328,12 +187303,12 @@ "rightHandSide": { "arguments": [ { - "id": 5450, + "id": 7056, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5443, - "src": "16276:5:11", + "referencedDeclaration": 7049, + "src": "16276:5:24", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -168347,23 +187322,23 @@ "typeString": "address" } ], - "id": 5449, + "id": 7055, "name": "toHexString", "nodeType": "Identifier", "overloadedDeclarations": [ - 5370, - 5398, - 5472, - 5498 + 6976, + 7004, + 7078, + 7104 ], - "referencedDeclaration": 5472, - "src": "16264:11:11", + "referencedDeclaration": 7078, + "src": "16264:11:24", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_string_memory_ptr_$", "typeString": "function (address) pure returns (string memory)" } }, - "id": 5451, + "id": 7057, "isConstant": false, "isLValue": false, "isPure": false, @@ -168372,40 +187347,40 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "16264:18:11", + "src": "16264:18:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "16255:27:11", + "src": "16255:27:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 5453, + "id": 7059, "nodeType": "ExpressionStatement", - "src": "16255:27:11" + "src": "16255:27:24" }, { "AST": { - "nativeSrc": "16344:650:11", + "nativeSrc": "16344:650:24", "nodeType": "YulBlock", - "src": "16344:650:11", + "src": "16344:650:24", "statements": [ { - "nativeSrc": "16358:36:11", + "nativeSrc": "16358:36:24", "nodeType": "YulVariableDeclaration", - "src": "16358:36:11", + "src": "16358:36:24", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "16374:1:11", + "nativeSrc": "16374:1:24", "nodeType": "YulLiteral", - "src": "16374:1:11", + "src": "16374:1:24", "type": "", "value": "6" }, @@ -168415,233 +187390,233 @@ "arguments": [ { "kind": "number", - "nativeSrc": "16385:1:11", + "nativeSrc": "16385:1:24", "nodeType": "YulLiteral", - "src": "16385:1:11", + "src": "16385:1:24", "type": "", "value": "0" } ], "functionName": { "name": "not", - "nativeSrc": "16381:3:11", + "nativeSrc": "16381:3:24", "nodeType": "YulIdentifier", - "src": "16381:3:11" + "src": "16381:3:24" }, - "nativeSrc": "16381:6:11", + "nativeSrc": "16381:6:24", "nodeType": "YulFunctionCall", - "src": "16381:6:11" + "src": "16381:6:24" }, { "kind": "number", - "nativeSrc": "16389:3:11", + "nativeSrc": "16389:3:24", "nodeType": "YulLiteral", - "src": "16389:3:11", + "src": "16389:3:24", "type": "", "value": "255" } ], "functionName": { "name": "div", - "nativeSrc": "16377:3:11", + "nativeSrc": "16377:3:24", "nodeType": "YulIdentifier", - "src": "16377:3:11" + "src": "16377:3:24" }, - "nativeSrc": "16377:16:11", + "nativeSrc": "16377:16:24", "nodeType": "YulFunctionCall", - "src": "16377:16:11" + "src": "16377:16:24" } ], "functionName": { "name": "shl", - "nativeSrc": "16370:3:11", + "nativeSrc": "16370:3:24", "nodeType": "YulIdentifier", - "src": "16370:3:11" + "src": "16370:3:24" }, - "nativeSrc": "16370:24:11", + "nativeSrc": "16370:24:24", "nodeType": "YulFunctionCall", - "src": "16370:24:11" + "src": "16370:24:24" }, "variables": [ { "name": "mask", - "nativeSrc": "16362:4:11", + "nativeSrc": "16362:4:24", "nodeType": "YulTypedName", - "src": "16362:4:11", + "src": "16362:4:24", "type": "" } ] }, { - "nativeSrc": "16437:26:11", + "nativeSrc": "16437:26:24", "nodeType": "YulVariableDeclaration", - "src": "16437:26:11", + "src": "16437:26:24", "value": { "arguments": [ { "name": "result", - "nativeSrc": "16450:6:11", + "nativeSrc": "16450:6:24", "nodeType": "YulIdentifier", - "src": "16450:6:11" + "src": "16450:6:24" }, { "kind": "number", - "nativeSrc": "16458:4:11", + "nativeSrc": "16458:4:24", "nodeType": "YulLiteral", - "src": "16458:4:11", + "src": "16458:4:24", "type": "", "value": "0x22" } ], "functionName": { "name": "add", - "nativeSrc": "16446:3:11", + "nativeSrc": "16446:3:24", "nodeType": "YulIdentifier", - "src": "16446:3:11" + "src": "16446:3:24" }, - "nativeSrc": "16446:17:11", + "nativeSrc": "16446:17:24", "nodeType": "YulFunctionCall", - "src": "16446:17:11" + "src": "16446:17:24" }, "variables": [ { "name": "o", - "nativeSrc": "16441:1:11", + "nativeSrc": "16441:1:24", "nodeType": "YulTypedName", - "src": "16441:1:11", + "src": "16441:1:24", "type": "" } ] }, { - "nativeSrc": "16476:50:11", + "nativeSrc": "16476:50:24", "nodeType": "YulVariableDeclaration", - "src": "16476:50:11", + "src": "16476:50:24", "value": { "arguments": [ { "arguments": [ { "name": "o", - "nativeSrc": "16504:1:11", + "nativeSrc": "16504:1:24", "nodeType": "YulIdentifier", - "src": "16504:1:11" + "src": "16504:1:24" }, { "kind": "number", - "nativeSrc": "16507:2:11", + "nativeSrc": "16507:2:24", "nodeType": "YulLiteral", - "src": "16507:2:11", + "src": "16507:2:24", "type": "", "value": "40" } ], "functionName": { "name": "keccak256", - "nativeSrc": "16494:9:11", + "nativeSrc": "16494:9:24", "nodeType": "YulIdentifier", - "src": "16494:9:11" + "src": "16494:9:24" }, - "nativeSrc": "16494:16:11", + "nativeSrc": "16494:16:24", "nodeType": "YulFunctionCall", - "src": "16494:16:11" + "src": "16494:16:24" }, { "arguments": [ { "kind": "number", - "nativeSrc": "16516:2:11", + "nativeSrc": "16516:2:24", "nodeType": "YulLiteral", - "src": "16516:2:11", + "src": "16516:2:24", "type": "", "value": "34" }, { "name": "mask", - "nativeSrc": "16520:4:11", + "nativeSrc": "16520:4:24", "nodeType": "YulIdentifier", - "src": "16520:4:11" + "src": "16520:4:24" } ], "functionName": { "name": "mul", - "nativeSrc": "16512:3:11", + "nativeSrc": "16512:3:24", "nodeType": "YulIdentifier", - "src": "16512:3:11" + "src": "16512:3:24" }, - "nativeSrc": "16512:13:11", + "nativeSrc": "16512:13:24", "nodeType": "YulFunctionCall", - "src": "16512:13:11" + "src": "16512:13:24" } ], "functionName": { "name": "and", - "nativeSrc": "16490:3:11", + "nativeSrc": "16490:3:24", "nodeType": "YulIdentifier", - "src": "16490:3:11" + "src": "16490:3:24" }, - "nativeSrc": "16490:36:11", + "nativeSrc": "16490:36:24", "nodeType": "YulFunctionCall", - "src": "16490:36:11" + "src": "16490:36:24" }, "variables": [ { "name": "hashed", - "nativeSrc": "16480:6:11", + "nativeSrc": "16480:6:24", "nodeType": "YulTypedName", - "src": "16480:6:11", + "src": "16480:6:24", "type": "" } ] }, { - "nativeSrc": "16560:22:11", + "nativeSrc": "16560:22:24", "nodeType": "YulVariableDeclaration", - "src": "16560:22:11", + "src": "16560:22:24", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "16573:3:11", + "nativeSrc": "16573:3:24", "nodeType": "YulLiteral", - "src": "16573:3:11", + "src": "16573:3:24", "type": "", "value": "240" }, { "kind": "number", - "nativeSrc": "16578:3:11", + "nativeSrc": "16578:3:24", "nodeType": "YulLiteral", - "src": "16578:3:11", + "src": "16578:3:24", "type": "", "value": "136" } ], "functionName": { "name": "shl", - "nativeSrc": "16569:3:11", + "nativeSrc": "16569:3:24", "nodeType": "YulIdentifier", - "src": "16569:3:11" + "src": "16569:3:24" }, - "nativeSrc": "16569:13:11", + "nativeSrc": "16569:13:24", "nodeType": "YulFunctionCall", - "src": "16569:13:11" + "src": "16569:13:24" }, "variables": [ { "name": "t", - "nativeSrc": "16564:1:11", + "nativeSrc": "16564:1:24", "nodeType": "YulTypedName", - "src": "16564:1:11", + "src": "16564:1:24", "type": "" } ] }, { "body": { - "nativeSrc": "16642:144:11", + "nativeSrc": "16642:144:24", "nodeType": "YulBlock", - "src": "16642:144:11", + "src": "16642:144:24", "statements": [ { "expression": { @@ -168650,136 +187625,136 @@ "arguments": [ { "name": "i", - "nativeSrc": "16671:1:11", + "nativeSrc": "16671:1:24", "nodeType": "YulIdentifier", - "src": "16671:1:11" + "src": "16671:1:24" }, { "name": "i", - "nativeSrc": "16674:1:11", + "nativeSrc": "16674:1:24", "nodeType": "YulIdentifier", - "src": "16674:1:11" + "src": "16674:1:24" } ], "functionName": { "name": "add", - "nativeSrc": "16667:3:11", + "nativeSrc": "16667:3:24", "nodeType": "YulIdentifier", - "src": "16667:3:11" + "src": "16667:3:24" }, - "nativeSrc": "16667:9:11", + "nativeSrc": "16667:9:24", "nodeType": "YulFunctionCall", - "src": "16667:9:11" + "src": "16667:9:24" }, { "arguments": [ { "name": "t", - "nativeSrc": "16682:1:11", + "nativeSrc": "16682:1:24", "nodeType": "YulIdentifier", - "src": "16682:1:11" + "src": "16682:1:24" }, { "arguments": [ { "name": "i", - "nativeSrc": "16690:1:11", + "nativeSrc": "16690:1:24", "nodeType": "YulIdentifier", - "src": "16690:1:11" + "src": "16690:1:24" }, { "name": "hashed", - "nativeSrc": "16693:6:11", + "nativeSrc": "16693:6:24", "nodeType": "YulIdentifier", - "src": "16693:6:11" + "src": "16693:6:24" } ], "functionName": { "name": "byte", - "nativeSrc": "16685:4:11", + "nativeSrc": "16685:4:24", "nodeType": "YulIdentifier", - "src": "16685:4:11" + "src": "16685:4:24" }, - "nativeSrc": "16685:15:11", + "nativeSrc": "16685:15:24", "nodeType": "YulFunctionCall", - "src": "16685:15:11" + "src": "16685:15:24" } ], "functionName": { "name": "mul", - "nativeSrc": "16678:3:11", + "nativeSrc": "16678:3:24", "nodeType": "YulIdentifier", - "src": "16678:3:11" + "src": "16678:3:24" }, - "nativeSrc": "16678:23:11", + "nativeSrc": "16678:23:24", "nodeType": "YulFunctionCall", - "src": "16678:23:11" + "src": "16678:23:24" } ], "functionName": { "name": "mstore", - "nativeSrc": "16660:6:11", + "nativeSrc": "16660:6:24", "nodeType": "YulIdentifier", - "src": "16660:6:11" + "src": "16660:6:24" }, - "nativeSrc": "16660:42:11", + "nativeSrc": "16660:42:24", "nodeType": "YulFunctionCall", - "src": "16660:42:11" + "src": "16660:42:24" }, - "nativeSrc": "16660:42:11", + "nativeSrc": "16660:42:24", "nodeType": "YulExpressionStatement", - "src": "16660:42:11" + "src": "16660:42:24" }, { - "nativeSrc": "16719:14:11", + "nativeSrc": "16719:14:24", "nodeType": "YulAssignment", - "src": "16719:14:11", + "src": "16719:14:24", "value": { "arguments": [ { "name": "i", - "nativeSrc": "16728:1:11", + "nativeSrc": "16728:1:24", "nodeType": "YulIdentifier", - "src": "16728:1:11" + "src": "16728:1:24" }, { "kind": "number", - "nativeSrc": "16731:1:11", + "nativeSrc": "16731:1:24", "nodeType": "YulLiteral", - "src": "16731:1:11", + "src": "16731:1:24", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "16724:3:11", + "nativeSrc": "16724:3:24", "nodeType": "YulIdentifier", - "src": "16724:3:11" + "src": "16724:3:24" }, - "nativeSrc": "16724:9:11", + "nativeSrc": "16724:9:24", "nodeType": "YulFunctionCall", - "src": "16724:9:11" + "src": "16724:9:24" }, "variableNames": [ { "name": "i", - "nativeSrc": "16719:1:11", + "nativeSrc": "16719:1:24", "nodeType": "YulIdentifier", - "src": "16719:1:11" + "src": "16719:1:24" } ] }, { "body": { - "nativeSrc": "16763:9:11", + "nativeSrc": "16763:9:24", "nodeType": "YulBlock", - "src": "16763:9:11", + "src": "16763:9:24", "statements": [ { - "nativeSrc": "16765:5:11", + "nativeSrc": "16765:5:24", "nodeType": "YulBreak", - "src": "16765:5:11" + "src": "16765:5:24" } ] }, @@ -168787,90 +187762,90 @@ "arguments": [ { "name": "i", - "nativeSrc": "16756:1:11", + "nativeSrc": "16756:1:24", "nodeType": "YulIdentifier", - "src": "16756:1:11" + "src": "16756:1:24" }, { "kind": "number", - "nativeSrc": "16759:2:11", + "nativeSrc": "16759:2:24", "nodeType": "YulLiteral", - "src": "16759:2:11", + "src": "16759:2:24", "type": "", "value": "20" } ], "functionName": { "name": "eq", - "nativeSrc": "16753:2:11", + "nativeSrc": "16753:2:24", "nodeType": "YulIdentifier", - "src": "16753:2:11" + "src": "16753:2:24" }, - "nativeSrc": "16753:9:11", + "nativeSrc": "16753:9:24", "nodeType": "YulFunctionCall", - "src": "16753:9:11" + "src": "16753:9:24" }, - "nativeSrc": "16750:22:11", + "nativeSrc": "16750:22:24", "nodeType": "YulIf", - "src": "16750:22:11" + "src": "16750:22:24" } ] }, "condition": { "kind": "number", - "nativeSrc": "16637:1:11", + "nativeSrc": "16637:1:24", "nodeType": "YulLiteral", - "src": "16637:1:11", + "src": "16637:1:24", "type": "", "value": "1" }, - "nativeSrc": "16618:168:11", + "nativeSrc": "16618:168:24", "nodeType": "YulForLoop", "post": { - "nativeSrc": "16639:2:11", + "nativeSrc": "16639:2:24", "nodeType": "YulBlock", - "src": "16639:2:11", + "src": "16639:2:24", "statements": [] }, "pre": { - "nativeSrc": "16622:14:11", + "nativeSrc": "16622:14:24", "nodeType": "YulBlock", - "src": "16622:14:11", + "src": "16622:14:24", "statements": [ { - "nativeSrc": "16624:10:11", + "nativeSrc": "16624:10:24", "nodeType": "YulVariableDeclaration", - "src": "16624:10:11", + "src": "16624:10:24", "value": { "kind": "number", - "nativeSrc": "16633:1:11", + "nativeSrc": "16633:1:24", "nodeType": "YulLiteral", - "src": "16633:1:11", + "src": "16633:1:24", "type": "", "value": "0" }, "variables": [ { "name": "i", - "nativeSrc": "16628:1:11", + "nativeSrc": "16628:1:24", "nodeType": "YulTypedName", - "src": "16628:1:11", + "src": "16628:1:24", "type": "" } ] } ] }, - "src": "16618:168:11" + "src": "16618:168:24" }, { "expression": { "arguments": [ { "name": "o", - "nativeSrc": "16806:1:11", + "nativeSrc": "16806:1:24", "nodeType": "YulIdentifier", - "src": "16806:1:11" + "src": "16806:1:24" }, { "arguments": [ @@ -168878,28 +187853,28 @@ "arguments": [ { "name": "o", - "nativeSrc": "16819:1:11", + "nativeSrc": "16819:1:24", "nodeType": "YulIdentifier", - "src": "16819:1:11" + "src": "16819:1:24" } ], "functionName": { "name": "mload", - "nativeSrc": "16813:5:11", + "nativeSrc": "16813:5:24", "nodeType": "YulIdentifier", - "src": "16813:5:11" + "src": "16813:5:24" }, - "nativeSrc": "16813:8:11", + "nativeSrc": "16813:8:24", "nodeType": "YulFunctionCall", - "src": "16813:8:11" + "src": "16813:8:24" }, { "arguments": [ { "kind": "number", - "nativeSrc": "16827:1:11", + "nativeSrc": "16827:1:24", "nodeType": "YulLiteral", - "src": "16827:1:11", + "src": "16827:1:24", "type": "", "value": "1" }, @@ -168909,22 +187884,22 @@ "arguments": [ { "kind": "number", - "nativeSrc": "16840:4:11", + "nativeSrc": "16840:4:24", "nodeType": "YulLiteral", - "src": "16840:4:11", + "src": "16840:4:24", "type": "", "value": "0x00" } ], "functionName": { "name": "mload", - "nativeSrc": "16834:5:11", + "nativeSrc": "16834:5:24", "nodeType": "YulIdentifier", - "src": "16834:5:11" + "src": "16834:5:24" }, - "nativeSrc": "16834:11:11", + "nativeSrc": "16834:11:24", "nodeType": "YulFunctionCall", - "src": "16834:11:11" + "src": "16834:11:24" }, { "arguments": [ @@ -168932,123 +187907,123 @@ "arguments": [ { "name": "o", - "nativeSrc": "16857:1:11", + "nativeSrc": "16857:1:24", "nodeType": "YulIdentifier", - "src": "16857:1:11" + "src": "16857:1:24" } ], "functionName": { "name": "mload", - "nativeSrc": "16851:5:11", + "nativeSrc": "16851:5:24", "nodeType": "YulIdentifier", - "src": "16851:5:11" + "src": "16851:5:24" }, - "nativeSrc": "16851:8:11", + "nativeSrc": "16851:8:24", "nodeType": "YulFunctionCall", - "src": "16851:8:11" + "src": "16851:8:24" }, { "name": "mask", - "nativeSrc": "16861:4:11", + "nativeSrc": "16861:4:24", "nodeType": "YulIdentifier", - "src": "16861:4:11" + "src": "16861:4:24" } ], "functionName": { "name": "and", - "nativeSrc": "16847:3:11", + "nativeSrc": "16847:3:24", "nodeType": "YulIdentifier", - "src": "16847:3:11" + "src": "16847:3:24" }, - "nativeSrc": "16847:19:11", + "nativeSrc": "16847:19:24", "nodeType": "YulFunctionCall", - "src": "16847:19:11" + "src": "16847:19:24" } ], "functionName": { "name": "and", - "nativeSrc": "16830:3:11", + "nativeSrc": "16830:3:24", "nodeType": "YulIdentifier", - "src": "16830:3:11" + "src": "16830:3:24" }, - "nativeSrc": "16830:37:11", + "nativeSrc": "16830:37:24", "nodeType": "YulFunctionCall", - "src": "16830:37:11" + "src": "16830:37:24" } ], "functionName": { "name": "shr", - "nativeSrc": "16823:3:11", + "nativeSrc": "16823:3:24", "nodeType": "YulIdentifier", - "src": "16823:3:11" + "src": "16823:3:24" }, - "nativeSrc": "16823:45:11", + "nativeSrc": "16823:45:24", "nodeType": "YulFunctionCall", - "src": "16823:45:11" + "src": "16823:45:24" } ], "functionName": { "name": "xor", - "nativeSrc": "16809:3:11", + "nativeSrc": "16809:3:24", "nodeType": "YulIdentifier", - "src": "16809:3:11" + "src": "16809:3:24" }, - "nativeSrc": "16809:60:11", + "nativeSrc": "16809:60:24", "nodeType": "YulFunctionCall", - "src": "16809:60:11" + "src": "16809:60:24" } ], "functionName": { "name": "mstore", - "nativeSrc": "16799:6:11", + "nativeSrc": "16799:6:24", "nodeType": "YulIdentifier", - "src": "16799:6:11" + "src": "16799:6:24" }, - "nativeSrc": "16799:71:11", + "nativeSrc": "16799:71:24", "nodeType": "YulFunctionCall", - "src": "16799:71:11" + "src": "16799:71:24" }, - "nativeSrc": "16799:71:11", + "nativeSrc": "16799:71:24", "nodeType": "YulExpressionStatement", - "src": "16799:71:11" + "src": "16799:71:24" }, { - "nativeSrc": "16883:17:11", + "nativeSrc": "16883:17:24", "nodeType": "YulAssignment", - "src": "16883:17:11", + "src": "16883:17:24", "value": { "arguments": [ { "name": "o", - "nativeSrc": "16892:1:11", + "nativeSrc": "16892:1:24", "nodeType": "YulIdentifier", - "src": "16892:1:11" + "src": "16892:1:24" }, { "kind": "number", - "nativeSrc": "16895:4:11", + "nativeSrc": "16895:4:24", "nodeType": "YulLiteral", - "src": "16895:4:11", + "src": "16895:4:24", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "16888:3:11", + "nativeSrc": "16888:3:24", "nodeType": "YulIdentifier", - "src": "16888:3:11" + "src": "16888:3:24" }, - "nativeSrc": "16888:12:11", + "nativeSrc": "16888:12:24", "nodeType": "YulFunctionCall", - "src": "16888:12:11" + "src": "16888:12:24" }, "variableNames": [ { "name": "o", - "nativeSrc": "16883:1:11", + "nativeSrc": "16883:1:24", "nodeType": "YulIdentifier", - "src": "16883:1:11" + "src": "16883:1:24" } ] }, @@ -169057,9 +188032,9 @@ "arguments": [ { "name": "o", - "nativeSrc": "16920:1:11", + "nativeSrc": "16920:1:24", "nodeType": "YulIdentifier", - "src": "16920:1:11" + "src": "16920:1:24" }, { "arguments": [ @@ -169067,28 +188042,28 @@ "arguments": [ { "name": "o", - "nativeSrc": "16933:1:11", + "nativeSrc": "16933:1:24", "nodeType": "YulIdentifier", - "src": "16933:1:11" + "src": "16933:1:24" } ], "functionName": { "name": "mload", - "nativeSrc": "16927:5:11", + "nativeSrc": "16927:5:24", "nodeType": "YulIdentifier", - "src": "16927:5:11" + "src": "16927:5:24" }, - "nativeSrc": "16927:8:11", + "nativeSrc": "16927:8:24", "nodeType": "YulFunctionCall", - "src": "16927:8:11" + "src": "16927:8:24" }, { "arguments": [ { "kind": "number", - "nativeSrc": "16941:1:11", + "nativeSrc": "16941:1:24", "nodeType": "YulLiteral", - "src": "16941:1:11", + "src": "16941:1:24", "type": "", "value": "1" }, @@ -169098,22 +188073,22 @@ "arguments": [ { "kind": "number", - "nativeSrc": "16954:4:11", + "nativeSrc": "16954:4:24", "nodeType": "YulLiteral", - "src": "16954:4:11", + "src": "16954:4:24", "type": "", "value": "0x20" } ], "functionName": { "name": "mload", - "nativeSrc": "16948:5:11", + "nativeSrc": "16948:5:24", "nodeType": "YulIdentifier", - "src": "16948:5:11" + "src": "16948:5:24" }, - "nativeSrc": "16948:11:11", + "nativeSrc": "16948:11:24", "nodeType": "YulFunctionCall", - "src": "16948:11:11" + "src": "16948:11:24" }, { "arguments": [ @@ -169121,85 +188096,85 @@ "arguments": [ { "name": "o", - "nativeSrc": "16971:1:11", + "nativeSrc": "16971:1:24", "nodeType": "YulIdentifier", - "src": "16971:1:11" + "src": "16971:1:24" } ], "functionName": { "name": "mload", - "nativeSrc": "16965:5:11", + "nativeSrc": "16965:5:24", "nodeType": "YulIdentifier", - "src": "16965:5:11" + "src": "16965:5:24" }, - "nativeSrc": "16965:8:11", + "nativeSrc": "16965:8:24", "nodeType": "YulFunctionCall", - "src": "16965:8:11" + "src": "16965:8:24" }, { "name": "mask", - "nativeSrc": "16975:4:11", + "nativeSrc": "16975:4:24", "nodeType": "YulIdentifier", - "src": "16975:4:11" + "src": "16975:4:24" } ], "functionName": { "name": "and", - "nativeSrc": "16961:3:11", + "nativeSrc": "16961:3:24", "nodeType": "YulIdentifier", - "src": "16961:3:11" + "src": "16961:3:24" }, - "nativeSrc": "16961:19:11", + "nativeSrc": "16961:19:24", "nodeType": "YulFunctionCall", - "src": "16961:19:11" + "src": "16961:19:24" } ], "functionName": { "name": "and", - "nativeSrc": "16944:3:11", + "nativeSrc": "16944:3:24", "nodeType": "YulIdentifier", - "src": "16944:3:11" + "src": "16944:3:24" }, - "nativeSrc": "16944:37:11", + "nativeSrc": "16944:37:24", "nodeType": "YulFunctionCall", - "src": "16944:37:11" + "src": "16944:37:24" } ], "functionName": { "name": "shr", - "nativeSrc": "16937:3:11", + "nativeSrc": "16937:3:24", "nodeType": "YulIdentifier", - "src": "16937:3:11" + "src": "16937:3:24" }, - "nativeSrc": "16937:45:11", + "nativeSrc": "16937:45:24", "nodeType": "YulFunctionCall", - "src": "16937:45:11" + "src": "16937:45:24" } ], "functionName": { "name": "xor", - "nativeSrc": "16923:3:11", + "nativeSrc": "16923:3:24", "nodeType": "YulIdentifier", - "src": "16923:3:11" + "src": "16923:3:24" }, - "nativeSrc": "16923:60:11", + "nativeSrc": "16923:60:24", "nodeType": "YulFunctionCall", - "src": "16923:60:11" + "src": "16923:60:24" } ], "functionName": { "name": "mstore", - "nativeSrc": "16913:6:11", + "nativeSrc": "16913:6:24", "nodeType": "YulIdentifier", - "src": "16913:6:11" + "src": "16913:6:24" }, - "nativeSrc": "16913:71:11", + "nativeSrc": "16913:71:24", "nodeType": "YulFunctionCall", - "src": "16913:71:11" + "src": "16913:71:24" }, - "nativeSrc": "16913:71:11", + "nativeSrc": "16913:71:24", "nodeType": "YulExpressionStatement", - "src": "16913:71:11" + "src": "16913:71:24" } ] }, @@ -169207,45 +188182,45 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5446, + "declaration": 7052, "isOffset": false, "isSlot": false, - "src": "16450:6:11", + "src": "16450:6:24", "valueSize": 1 } ], - "id": 5454, + "id": 7060, "nodeType": "InlineAssembly", - "src": "16335:659:11" + "src": "16335:659:24" } ] }, "documentation": { - "id": 5441, + "id": 7047, "nodeType": "StructuredDocumentation", - "src": "15887:261:11", + "src": "15887:261:24", "text": "@dev Returns the hexadecimal representation of `value`.\n The output is prefixed with \"0x\", encoded using 2 hexadecimal digits per byte,\n and the alphabets are capitalized conditionally according to\n https://eips.ethereum.org/EIPS/eip-55" }, - "id": 5456, + "id": 7062, "implemented": true, "kind": "function", "modifiers": [], "name": "toHexStringChecksummed", - "nameLocation": "16162:22:11", + "nameLocation": "16162:22:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 5444, + "id": 7050, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5443, + "id": 7049, "mutability": "mutable", "name": "value", - "nameLocation": "16193:5:11", + "nameLocation": "16193:5:24", "nodeType": "VariableDeclaration", - "scope": 5456, - "src": "16185:13:11", + "scope": 7062, + "src": "16185:13:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -169253,10 +188228,10 @@ "typeString": "address" }, "typeName": { - "id": 5442, + "id": 7048, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16185:7:11", + "src": "16185:7:24", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -169266,21 +188241,21 @@ "visibility": "internal" } ], - "src": "16184:15:11" + "src": "16184:15:24" }, "returnParameters": { - "id": 5447, + "id": 7053, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5446, + "id": 7052, "mutability": "mutable", "name": "result", - "nameLocation": "16237:6:11", + "nameLocation": "16237:6:24", "nodeType": "VariableDeclaration", - "scope": 5456, - "src": "16223:20:11", + "scope": 7062, + "src": "16223:20:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -169288,10 +188263,10 @@ "typeString": "string" }, "typeName": { - "id": 5445, + "id": 7051, "name": "string", "nodeType": "ElementaryTypeName", - "src": "16223:6:11", + "src": "16223:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -169300,34 +188275,34 @@ "visibility": "internal" } ], - "src": "16222:22:11" + "src": "16222:22:24" }, - "scope": 6134, - "src": "16153:847:11", + "scope": 7740, + "src": "16153:847:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5471, + "id": 7077, "nodeType": "Block", - "src": "17241:360:11", + "src": "17241:360:24", "statements": [ { "expression": { - "id": 5468, + "id": 7074, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 5464, + "id": 7070, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5462, - "src": "17251:6:11", + "referencedDeclaration": 7068, + "src": "17251:6:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -169338,12 +188313,12 @@ "rightHandSide": { "arguments": [ { - "id": 5466, + "id": 7072, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5459, - "src": "17280:5:11", + "referencedDeclaration": 7065, + "src": "17280:5:24", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -169357,23 +188332,23 @@ "typeString": "address" } ], - "id": 5465, + "id": 7071, "name": "toHexStringNoPrefix", "nodeType": "Identifier", "overloadedDeclarations": [ - 5382, - 5440, - 5482, - 5508 + 6988, + 7046, + 7088, + 7114 ], - "referencedDeclaration": 5482, - "src": "17260:19:11", + "referencedDeclaration": 7088, + "src": "17260:19:24", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_string_memory_ptr_$", "typeString": "function (address) pure returns (string memory)" } }, - "id": 5467, + "id": 7073, "isConstant": false, "isLValue": false, "isPure": false, @@ -169382,79 +188357,79 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "17260:26:11", + "src": "17260:26:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "17251:35:11", + "src": "17251:35:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 5469, + "id": 7075, "nodeType": "ExpressionStatement", - "src": "17251:35:11" + "src": "17251:35:24" }, { "AST": { - "nativeSrc": "17348:247:11", + "nativeSrc": "17348:247:24", "nodeType": "YulBlock", - "src": "17348:247:11", + "src": "17348:247:24", "statements": [ { - "nativeSrc": "17362:30:11", + "nativeSrc": "17362:30:24", "nodeType": "YulVariableDeclaration", - "src": "17362:30:11", + "src": "17362:30:24", "value": { "arguments": [ { "arguments": [ { "name": "result", - "nativeSrc": "17381:6:11", + "nativeSrc": "17381:6:24", "nodeType": "YulIdentifier", - "src": "17381:6:11" + "src": "17381:6:24" } ], "functionName": { "name": "mload", - "nativeSrc": "17375:5:11", + "nativeSrc": "17375:5:24", "nodeType": "YulIdentifier", - "src": "17375:5:11" + "src": "17375:5:24" }, - "nativeSrc": "17375:13:11", + "nativeSrc": "17375:13:24", "nodeType": "YulFunctionCall", - "src": "17375:13:11" + "src": "17375:13:24" }, { "kind": "number", - "nativeSrc": "17390:1:11", + "nativeSrc": "17390:1:24", "nodeType": "YulLiteral", - "src": "17390:1:11", + "src": "17390:1:24", "type": "", "value": "2" } ], "functionName": { "name": "add", - "nativeSrc": "17371:3:11", + "nativeSrc": "17371:3:24", "nodeType": "YulIdentifier", - "src": "17371:3:11" + "src": "17371:3:24" }, - "nativeSrc": "17371:21:11", + "nativeSrc": "17371:21:24", "nodeType": "YulFunctionCall", - "src": "17371:21:11" + "src": "17371:21:24" }, "variables": [ { "name": "n", - "nativeSrc": "17366:1:11", + "nativeSrc": "17366:1:24", "nodeType": "YulTypedName", - "src": "17366:1:11", + "src": "17366:1:24", "type": "" } ] @@ -169464,70 +188439,70 @@ "arguments": [ { "name": "result", - "nativeSrc": "17435:6:11", + "nativeSrc": "17435:6:24", "nodeType": "YulIdentifier", - "src": "17435:6:11" + "src": "17435:6:24" }, { "kind": "number", - "nativeSrc": "17443:6:11", + "nativeSrc": "17443:6:24", "nodeType": "YulLiteral", - "src": "17443:6:11", + "src": "17443:6:24", "type": "", "value": "0x3078" } ], "functionName": { "name": "mstore", - "nativeSrc": "17428:6:11", + "nativeSrc": "17428:6:24", "nodeType": "YulIdentifier", - "src": "17428:6:11" + "src": "17428:6:24" }, - "nativeSrc": "17428:22:11", + "nativeSrc": "17428:22:24", "nodeType": "YulFunctionCall", - "src": "17428:22:11" + "src": "17428:22:24" }, - "nativeSrc": "17428:22:11", + "nativeSrc": "17428:22:24", "nodeType": "YulExpressionStatement", - "src": "17428:22:11" + "src": "17428:22:24" }, { - "nativeSrc": "17489:24:11", + "nativeSrc": "17489:24:24", "nodeType": "YulAssignment", - "src": "17489:24:11", + "src": "17489:24:24", "value": { "arguments": [ { "name": "result", - "nativeSrc": "17503:6:11", + "nativeSrc": "17503:6:24", "nodeType": "YulIdentifier", - "src": "17503:6:11" + "src": "17503:6:24" }, { "kind": "number", - "nativeSrc": "17511:1:11", + "nativeSrc": "17511:1:24", "nodeType": "YulLiteral", - "src": "17511:1:11", + "src": "17511:1:24", "type": "", "value": "2" } ], "functionName": { "name": "sub", - "nativeSrc": "17499:3:11", + "nativeSrc": "17499:3:24", "nodeType": "YulIdentifier", - "src": "17499:3:11" + "src": "17499:3:24" }, - "nativeSrc": "17499:14:11", + "nativeSrc": "17499:14:24", "nodeType": "YulFunctionCall", - "src": "17499:14:11" + "src": "17499:14:24" }, "variableNames": [ { "name": "result", - "nativeSrc": "17489:6:11", + "nativeSrc": "17489:6:24", "nodeType": "YulIdentifier", - "src": "17489:6:11" + "src": "17489:6:24" } ] }, @@ -169536,30 +188511,30 @@ "arguments": [ { "name": "result", - "nativeSrc": "17554:6:11", + "nativeSrc": "17554:6:24", "nodeType": "YulIdentifier", - "src": "17554:6:11" + "src": "17554:6:24" }, { "name": "n", - "nativeSrc": "17562:1:11", + "nativeSrc": "17562:1:24", "nodeType": "YulIdentifier", - "src": "17562:1:11" + "src": "17562:1:24" } ], "functionName": { "name": "mstore", - "nativeSrc": "17547:6:11", + "nativeSrc": "17547:6:24", "nodeType": "YulIdentifier", - "src": "17547:6:11" + "src": "17547:6:24" }, - "nativeSrc": "17547:17:11", + "nativeSrc": "17547:17:24", "nodeType": "YulFunctionCall", - "src": "17547:17:11" + "src": "17547:17:24" }, - "nativeSrc": "17547:17:11", + "nativeSrc": "17547:17:24", "nodeType": "YulExpressionStatement", - "src": "17547:17:11" + "src": "17547:17:24" } ] }, @@ -169567,73 +188542,73 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5462, + "declaration": 7068, "isOffset": false, "isSlot": false, - "src": "17381:6:11", + "src": "17381:6:24", "valueSize": 1 }, { - "declaration": 5462, + "declaration": 7068, "isOffset": false, "isSlot": false, - "src": "17435:6:11", + "src": "17435:6:24", "valueSize": 1 }, { - "declaration": 5462, + "declaration": 7068, "isOffset": false, "isSlot": false, - "src": "17489:6:11", + "src": "17489:6:24", "valueSize": 1 }, { - "declaration": 5462, + "declaration": 7068, "isOffset": false, "isSlot": false, - "src": "17503:6:11", + "src": "17503:6:24", "valueSize": 1 }, { - "declaration": 5462, + "declaration": 7068, "isOffset": false, "isSlot": false, - "src": "17554:6:11", + "src": "17554:6:24", "valueSize": 1 } ], - "id": 5470, + "id": 7076, "nodeType": "InlineAssembly", - "src": "17339:256:11" + "src": "17339:256:24" } ] }, "documentation": { - "id": 5457, + "id": 7063, "nodeType": "StructuredDocumentation", - "src": "17006:149:11", + "src": "17006:149:24", "text": "@dev Returns the hexadecimal representation of `value`.\n The output is prefixed with \"0x\" and encoded using 2 hexadecimal digits per byte." }, - "id": 5472, + "id": 7078, "implemented": true, "kind": "function", "modifiers": [], "name": "toHexString", - "nameLocation": "17169:11:11", + "nameLocation": "17169:11:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 5460, + "id": 7066, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5459, + "id": 7065, "mutability": "mutable", "name": "value", - "nameLocation": "17189:5:11", + "nameLocation": "17189:5:24", "nodeType": "VariableDeclaration", - "scope": 5472, - "src": "17181:13:11", + "scope": 7078, + "src": "17181:13:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -169641,10 +188616,10 @@ "typeString": "address" }, "typeName": { - "id": 5458, + "id": 7064, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17181:7:11", + "src": "17181:7:24", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -169654,21 +188629,21 @@ "visibility": "internal" } ], - "src": "17180:15:11" + "src": "17180:15:24" }, "returnParameters": { - "id": 5463, + "id": 7069, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5462, + "id": 7068, "mutability": "mutable", "name": "result", - "nameLocation": "17233:6:11", + "nameLocation": "17233:6:24", "nodeType": "VariableDeclaration", - "scope": 5472, - "src": "17219:20:11", + "scope": 7078, + "src": "17219:20:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -169676,10 +188651,10 @@ "typeString": "string" }, "typeName": { - "id": 5461, + "id": 7067, "name": "string", "nodeType": "ElementaryTypeName", - "src": "17219:6:11", + "src": "17219:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -169688,57 +188663,57 @@ "visibility": "internal" } ], - "src": "17218:22:11" + "src": "17218:22:24" }, - "scope": 6134, - "src": "17160:441:11", + "scope": 7740, + "src": "17160:441:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5481, + "id": 7087, "nodeType": "Block", - "src": "17827:1258:11", + "src": "17827:1258:24", "statements": [ { "AST": { - "nativeSrc": "17889:1190:11", + "nativeSrc": "17889:1190:24", "nodeType": "YulBlock", - "src": "17889:1190:11", + "src": "17889:1190:24", "statements": [ { - "nativeSrc": "17903:21:11", + "nativeSrc": "17903:21:24", "nodeType": "YulAssignment", - "src": "17903:21:11", + "src": "17903:21:24", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "17919:4:11", + "nativeSrc": "17919:4:24", "nodeType": "YulLiteral", - "src": "17919:4:11", + "src": "17919:4:24", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "17913:5:11", + "nativeSrc": "17913:5:24", "nodeType": "YulIdentifier", - "src": "17913:5:11" + "src": "17913:5:24" }, - "nativeSrc": "17913:11:11", + "nativeSrc": "17913:11:24", "nodeType": "YulFunctionCall", - "src": "17913:11:11" + "src": "17913:11:24" }, "variableNames": [ { "name": "result", - "nativeSrc": "17903:6:11", + "nativeSrc": "17903:6:24", "nodeType": "YulIdentifier", - "src": "17903:6:11" + "src": "17903:6:24" } ] }, @@ -169747,9 +188722,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "18226:4:11", + "nativeSrc": "18226:4:24", "nodeType": "YulLiteral", - "src": "18226:4:11", + "src": "18226:4:24", "type": "", "value": "0x40" }, @@ -169757,115 +188732,115 @@ "arguments": [ { "name": "result", - "nativeSrc": "18236:6:11", + "nativeSrc": "18236:6:24", "nodeType": "YulIdentifier", - "src": "18236:6:11" + "src": "18236:6:24" }, { "kind": "number", - "nativeSrc": "18244:4:11", + "nativeSrc": "18244:4:24", "nodeType": "YulLiteral", - "src": "18244:4:11", + "src": "18244:4:24", "type": "", "value": "0x80" } ], "functionName": { "name": "add", - "nativeSrc": "18232:3:11", + "nativeSrc": "18232:3:24", "nodeType": "YulIdentifier", - "src": "18232:3:11" + "src": "18232:3:24" }, - "nativeSrc": "18232:17:11", + "nativeSrc": "18232:17:24", "nodeType": "YulFunctionCall", - "src": "18232:17:11" + "src": "18232:17:24" } ], "functionName": { "name": "mstore", - "nativeSrc": "18219:6:11", + "nativeSrc": "18219:6:24", "nodeType": "YulIdentifier", - "src": "18219:6:11" + "src": "18219:6:24" }, - "nativeSrc": "18219:31:11", + "nativeSrc": "18219:31:24", "nodeType": "YulFunctionCall", - "src": "18219:31:11" + "src": "18219:31:24" }, - "nativeSrc": "18219:31:11", + "nativeSrc": "18219:31:24", "nodeType": "YulExpressionStatement", - "src": "18219:31:11" + "src": "18219:31:24" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "18270:4:11", + "nativeSrc": "18270:4:24", "nodeType": "YulLiteral", - "src": "18270:4:11", + "src": "18270:4:24", "type": "", "value": "0x0f" }, { "kind": "number", - "nativeSrc": "18276:34:11", + "nativeSrc": "18276:34:24", "nodeType": "YulLiteral", - "src": "18276:34:11", + "src": "18276:34:24", "type": "", "value": "0x30313233343536373839616263646566" } ], "functionName": { "name": "mstore", - "nativeSrc": "18263:6:11", + "nativeSrc": "18263:6:24", "nodeType": "YulIdentifier", - "src": "18263:6:11" + "src": "18263:6:24" }, - "nativeSrc": "18263:48:11", + "nativeSrc": "18263:48:24", "nodeType": "YulFunctionCall", - "src": "18263:48:11" + "src": "18263:48:24" }, - "nativeSrc": "18263:48:11", + "nativeSrc": "18263:48:24", "nodeType": "YulExpressionStatement", - "src": "18263:48:11" + "src": "18263:48:24" }, { - "nativeSrc": "18365:24:11", + "nativeSrc": "18365:24:24", "nodeType": "YulAssignment", - "src": "18365:24:11", + "src": "18365:24:24", "value": { "arguments": [ { "name": "result", - "nativeSrc": "18379:6:11", + "nativeSrc": "18379:6:24", "nodeType": "YulIdentifier", - "src": "18379:6:11" + "src": "18379:6:24" }, { "kind": "number", - "nativeSrc": "18387:1:11", + "nativeSrc": "18387:1:24", "nodeType": "YulLiteral", - "src": "18387:1:11", + "src": "18387:1:24", "type": "", "value": "2" } ], "functionName": { "name": "add", - "nativeSrc": "18375:3:11", + "nativeSrc": "18375:3:24", "nodeType": "YulIdentifier", - "src": "18375:3:11" + "src": "18375:3:24" }, - "nativeSrc": "18375:14:11", + "nativeSrc": "18375:14:24", "nodeType": "YulFunctionCall", - "src": "18375:14:11" + "src": "18375:14:24" }, "variableNames": [ { "name": "result", - "nativeSrc": "18365:6:11", + "nativeSrc": "18365:6:24", "nodeType": "YulIdentifier", - "src": "18365:6:11" + "src": "18365:6:24" } ] }, @@ -169874,70 +188849,70 @@ "arguments": [ { "name": "result", - "nativeSrc": "18409:6:11", + "nativeSrc": "18409:6:24", "nodeType": "YulIdentifier", - "src": "18409:6:11" + "src": "18409:6:24" }, { "kind": "number", - "nativeSrc": "18417:2:11", + "nativeSrc": "18417:2:24", "nodeType": "YulLiteral", - "src": "18417:2:11", + "src": "18417:2:24", "type": "", "value": "40" } ], "functionName": { "name": "mstore", - "nativeSrc": "18402:6:11", + "nativeSrc": "18402:6:24", "nodeType": "YulIdentifier", - "src": "18402:6:11" + "src": "18402:6:24" }, - "nativeSrc": "18402:18:11", + "nativeSrc": "18402:18:24", "nodeType": "YulFunctionCall", - "src": "18402:18:11" + "src": "18402:18:24" }, - "nativeSrc": "18402:18:11", + "nativeSrc": "18402:18:24", "nodeType": "YulExpressionStatement", - "src": "18402:18:11" + "src": "18402:18:24" }, { - "nativeSrc": "18454:26:11", + "nativeSrc": "18454:26:24", "nodeType": "YulVariableDeclaration", - "src": "18454:26:11", + "src": "18454:26:24", "value": { "arguments": [ { "name": "result", - "nativeSrc": "18467:6:11", + "nativeSrc": "18467:6:24", "nodeType": "YulIdentifier", - "src": "18467:6:11" + "src": "18467:6:24" }, { "kind": "number", - "nativeSrc": "18475:4:11", + "nativeSrc": "18475:4:24", "nodeType": "YulLiteral", - "src": "18475:4:11", + "src": "18475:4:24", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "18463:3:11", + "nativeSrc": "18463:3:24", "nodeType": "YulIdentifier", - "src": "18463:3:11" + "src": "18463:3:24" }, - "nativeSrc": "18463:17:11", + "nativeSrc": "18463:17:24", "nodeType": "YulFunctionCall", - "src": "18463:17:11" + "src": "18463:17:24" }, "variables": [ { "name": "o", - "nativeSrc": "18458:1:11", + "nativeSrc": "18458:1:24", "nodeType": "YulTypedName", - "src": "18458:1:11", + "src": "18458:1:24", "type": "" } ] @@ -169949,191 +188924,191 @@ "arguments": [ { "name": "o", - "nativeSrc": "18504:1:11", + "nativeSrc": "18504:1:24", "nodeType": "YulIdentifier", - "src": "18504:1:11" + "src": "18504:1:24" }, { "kind": "number", - "nativeSrc": "18507:2:11", + "nativeSrc": "18507:2:24", "nodeType": "YulLiteral", - "src": "18507:2:11", + "src": "18507:2:24", "type": "", "value": "40" } ], "functionName": { "name": "add", - "nativeSrc": "18500:3:11", + "nativeSrc": "18500:3:24", "nodeType": "YulIdentifier", - "src": "18500:3:11" + "src": "18500:3:24" }, - "nativeSrc": "18500:10:11", + "nativeSrc": "18500:10:24", "nodeType": "YulFunctionCall", - "src": "18500:10:11" + "src": "18500:10:24" }, { "kind": "number", - "nativeSrc": "18512:1:11", + "nativeSrc": "18512:1:24", "nodeType": "YulLiteral", - "src": "18512:1:11", + "src": "18512:1:24", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "18493:6:11", + "nativeSrc": "18493:6:24", "nodeType": "YulIdentifier", - "src": "18493:6:11" + "src": "18493:6:24" }, - "nativeSrc": "18493:21:11", + "nativeSrc": "18493:21:24", "nodeType": "YulFunctionCall", - "src": "18493:21:11" + "src": "18493:21:24" }, - "nativeSrc": "18493:21:11", + "nativeSrc": "18493:21:24", "nodeType": "YulExpressionStatement", - "src": "18493:21:11" + "src": "18493:21:24" }, { - "nativeSrc": "18565:23:11", + "nativeSrc": "18565:23:24", "nodeType": "YulAssignment", - "src": "18565:23:11", + "src": "18565:23:24", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "18578:2:11", + "nativeSrc": "18578:2:24", "nodeType": "YulLiteral", - "src": "18578:2:11", + "src": "18578:2:24", "type": "", "value": "96" }, { "name": "value", - "nativeSrc": "18582:5:11", + "nativeSrc": "18582:5:24", "nodeType": "YulIdentifier", - "src": "18582:5:11" + "src": "18582:5:24" } ], "functionName": { "name": "shl", - "nativeSrc": "18574:3:11", + "nativeSrc": "18574:3:24", "nodeType": "YulIdentifier", - "src": "18574:3:11" + "src": "18574:3:24" }, - "nativeSrc": "18574:14:11", + "nativeSrc": "18574:14:24", "nodeType": "YulFunctionCall", - "src": "18574:14:11" + "src": "18574:14:24" }, "variableNames": [ { "name": "value", - "nativeSrc": "18565:5:11", + "nativeSrc": "18565:5:24", "nodeType": "YulIdentifier", - "src": "18565:5:11" + "src": "18565:5:24" } ] }, { "body": { - "nativeSrc": "18793:276:11", + "nativeSrc": "18793:276:24", "nodeType": "YulBlock", - "src": "18793:276:11", + "src": "18793:276:24", "statements": [ { - "nativeSrc": "18811:26:11", + "nativeSrc": "18811:26:24", "nodeType": "YulVariableDeclaration", - "src": "18811:26:11", + "src": "18811:26:24", "value": { "arguments": [ { "name": "o", - "nativeSrc": "18824:1:11", + "nativeSrc": "18824:1:24", "nodeType": "YulIdentifier", - "src": "18824:1:11" + "src": "18824:1:24" }, { "arguments": [ { "name": "i", - "nativeSrc": "18831:1:11", + "nativeSrc": "18831:1:24", "nodeType": "YulIdentifier", - "src": "18831:1:11" + "src": "18831:1:24" }, { "name": "i", - "nativeSrc": "18834:1:11", + "nativeSrc": "18834:1:24", "nodeType": "YulIdentifier", - "src": "18834:1:11" + "src": "18834:1:24" } ], "functionName": { "name": "add", - "nativeSrc": "18827:3:11", + "nativeSrc": "18827:3:24", "nodeType": "YulIdentifier", - "src": "18827:3:11" + "src": "18827:3:24" }, - "nativeSrc": "18827:9:11", + "nativeSrc": "18827:9:24", "nodeType": "YulFunctionCall", - "src": "18827:9:11" + "src": "18827:9:24" } ], "functionName": { "name": "add", - "nativeSrc": "18820:3:11", + "nativeSrc": "18820:3:24", "nodeType": "YulIdentifier", - "src": "18820:3:11" + "src": "18820:3:24" }, - "nativeSrc": "18820:17:11", + "nativeSrc": "18820:17:24", "nodeType": "YulFunctionCall", - "src": "18820:17:11" + "src": "18820:17:24" }, "variables": [ { "name": "p", - "nativeSrc": "18815:1:11", + "nativeSrc": "18815:1:24", "nodeType": "YulTypedName", - "src": "18815:1:11", + "src": "18815:1:24", "type": "" } ] }, { - "nativeSrc": "18854:26:11", + "nativeSrc": "18854:26:24", "nodeType": "YulVariableDeclaration", - "src": "18854:26:11", + "src": "18854:26:24", "value": { "arguments": [ { "name": "i", - "nativeSrc": "18871:1:11", + "nativeSrc": "18871:1:24", "nodeType": "YulIdentifier", - "src": "18871:1:11" + "src": "18871:1:24" }, { "name": "value", - "nativeSrc": "18874:5:11", + "nativeSrc": "18874:5:24", "nodeType": "YulIdentifier", - "src": "18874:5:11" + "src": "18874:5:24" } ], "functionName": { "name": "byte", - "nativeSrc": "18866:4:11", + "nativeSrc": "18866:4:24", "nodeType": "YulIdentifier", - "src": "18866:4:11" + "src": "18866:4:24" }, - "nativeSrc": "18866:14:11", + "nativeSrc": "18866:14:24", "nodeType": "YulFunctionCall", - "src": "18866:14:11" + "src": "18866:14:24" }, "variables": [ { "name": "temp", - "nativeSrc": "18858:4:11", + "nativeSrc": "18858:4:24", "nodeType": "YulTypedName", - "src": "18858:4:11", + "src": "18858:4:24", "type": "" } ] @@ -170145,28 +189120,28 @@ "arguments": [ { "name": "p", - "nativeSrc": "18909:1:11", + "nativeSrc": "18909:1:24", "nodeType": "YulIdentifier", - "src": "18909:1:11" + "src": "18909:1:24" }, { "kind": "number", - "nativeSrc": "18912:1:11", + "nativeSrc": "18912:1:24", "nodeType": "YulLiteral", - "src": "18912:1:11", + "src": "18912:1:24", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "18905:3:11", + "nativeSrc": "18905:3:24", "nodeType": "YulIdentifier", - "src": "18905:3:11" + "src": "18905:3:24" }, - "nativeSrc": "18905:9:11", + "nativeSrc": "18905:9:24", "nodeType": "YulFunctionCall", - "src": "18905:9:11" + "src": "18905:9:24" }, { "arguments": [ @@ -170174,63 +189149,63 @@ "arguments": [ { "name": "temp", - "nativeSrc": "18926:4:11", + "nativeSrc": "18926:4:24", "nodeType": "YulIdentifier", - "src": "18926:4:11" + "src": "18926:4:24" }, { "kind": "number", - "nativeSrc": "18932:2:11", + "nativeSrc": "18932:2:24", "nodeType": "YulLiteral", - "src": "18932:2:11", + "src": "18932:2:24", "type": "", "value": "15" } ], "functionName": { "name": "and", - "nativeSrc": "18922:3:11", + "nativeSrc": "18922:3:24", "nodeType": "YulIdentifier", - "src": "18922:3:11" + "src": "18922:3:24" }, - "nativeSrc": "18922:13:11", + "nativeSrc": "18922:13:24", "nodeType": "YulFunctionCall", - "src": "18922:13:11" + "src": "18922:13:24" } ], "functionName": { "name": "mload", - "nativeSrc": "18916:5:11", + "nativeSrc": "18916:5:24", "nodeType": "YulIdentifier", - "src": "18916:5:11" + "src": "18916:5:24" }, - "nativeSrc": "18916:20:11", + "nativeSrc": "18916:20:24", "nodeType": "YulFunctionCall", - "src": "18916:20:11" + "src": "18916:20:24" } ], "functionName": { "name": "mstore8", - "nativeSrc": "18897:7:11", + "nativeSrc": "18897:7:24", "nodeType": "YulIdentifier", - "src": "18897:7:11" + "src": "18897:7:24" }, - "nativeSrc": "18897:40:11", + "nativeSrc": "18897:40:24", "nodeType": "YulFunctionCall", - "src": "18897:40:11" + "src": "18897:40:24" }, - "nativeSrc": "18897:40:11", + "nativeSrc": "18897:40:24", "nodeType": "YulExpressionStatement", - "src": "18897:40:11" + "src": "18897:40:24" }, { "expression": { "arguments": [ { "name": "p", - "nativeSrc": "18962:1:11", + "nativeSrc": "18962:1:24", "nodeType": "YulIdentifier", - "src": "18962:1:11" + "src": "18962:1:24" }, { "arguments": [ @@ -170238,105 +189213,105 @@ "arguments": [ { "kind": "number", - "nativeSrc": "18975:1:11", + "nativeSrc": "18975:1:24", "nodeType": "YulLiteral", - "src": "18975:1:11", + "src": "18975:1:24", "type": "", "value": "4" }, { "name": "temp", - "nativeSrc": "18978:4:11", + "nativeSrc": "18978:4:24", "nodeType": "YulIdentifier", - "src": "18978:4:11" + "src": "18978:4:24" } ], "functionName": { "name": "shr", - "nativeSrc": "18971:3:11", + "nativeSrc": "18971:3:24", "nodeType": "YulIdentifier", - "src": "18971:3:11" + "src": "18971:3:24" }, - "nativeSrc": "18971:12:11", + "nativeSrc": "18971:12:24", "nodeType": "YulFunctionCall", - "src": "18971:12:11" + "src": "18971:12:24" } ], "functionName": { "name": "mload", - "nativeSrc": "18965:5:11", + "nativeSrc": "18965:5:24", "nodeType": "YulIdentifier", - "src": "18965:5:11" + "src": "18965:5:24" }, - "nativeSrc": "18965:19:11", + "nativeSrc": "18965:19:24", "nodeType": "YulFunctionCall", - "src": "18965:19:11" + "src": "18965:19:24" } ], "functionName": { "name": "mstore8", - "nativeSrc": "18954:7:11", + "nativeSrc": "18954:7:24", "nodeType": "YulIdentifier", - "src": "18954:7:11" + "src": "18954:7:24" }, - "nativeSrc": "18954:31:11", + "nativeSrc": "18954:31:24", "nodeType": "YulFunctionCall", - "src": "18954:31:11" + "src": "18954:31:24" }, - "nativeSrc": "18954:31:11", + "nativeSrc": "18954:31:24", "nodeType": "YulExpressionStatement", - "src": "18954:31:11" + "src": "18954:31:24" }, { - "nativeSrc": "19002:14:11", + "nativeSrc": "19002:14:24", "nodeType": "YulAssignment", - "src": "19002:14:11", + "src": "19002:14:24", "value": { "arguments": [ { "name": "i", - "nativeSrc": "19011:1:11", + "nativeSrc": "19011:1:24", "nodeType": "YulIdentifier", - "src": "19011:1:11" + "src": "19011:1:24" }, { "kind": "number", - "nativeSrc": "19014:1:11", + "nativeSrc": "19014:1:24", "nodeType": "YulLiteral", - "src": "19014:1:11", + "src": "19014:1:24", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "19007:3:11", + "nativeSrc": "19007:3:24", "nodeType": "YulIdentifier", - "src": "19007:3:11" + "src": "19007:3:24" }, - "nativeSrc": "19007:9:11", + "nativeSrc": "19007:9:24", "nodeType": "YulFunctionCall", - "src": "19007:9:11" + "src": "19007:9:24" }, "variableNames": [ { "name": "i", - "nativeSrc": "19002:1:11", + "nativeSrc": "19002:1:24", "nodeType": "YulIdentifier", - "src": "19002:1:11" + "src": "19002:1:24" } ] }, { "body": { - "nativeSrc": "19046:9:11", + "nativeSrc": "19046:9:24", "nodeType": "YulBlock", - "src": "19046:9:11", + "src": "19046:9:24", "statements": [ { - "nativeSrc": "19048:5:11", + "nativeSrc": "19048:5:24", "nodeType": "YulBreak", - "src": "19048:5:11" + "src": "19048:5:24" } ] }, @@ -170344,81 +189319,81 @@ "arguments": [ { "name": "i", - "nativeSrc": "19039:1:11", + "nativeSrc": "19039:1:24", "nodeType": "YulIdentifier", - "src": "19039:1:11" + "src": "19039:1:24" }, { "kind": "number", - "nativeSrc": "19042:2:11", + "nativeSrc": "19042:2:24", "nodeType": "YulLiteral", - "src": "19042:2:11", + "src": "19042:2:24", "type": "", "value": "20" } ], "functionName": { "name": "eq", - "nativeSrc": "19036:2:11", + "nativeSrc": "19036:2:24", "nodeType": "YulIdentifier", - "src": "19036:2:11" + "src": "19036:2:24" }, - "nativeSrc": "19036:9:11", + "nativeSrc": "19036:9:24", "nodeType": "YulFunctionCall", - "src": "19036:9:11" + "src": "19036:9:24" }, - "nativeSrc": "19033:22:11", + "nativeSrc": "19033:22:24", "nodeType": "YulIf", - "src": "19033:22:11" + "src": "19033:22:24" } ] }, "condition": { "kind": "number", - "nativeSrc": "18788:1:11", + "nativeSrc": "18788:1:24", "nodeType": "YulLiteral", - "src": "18788:1:11", + "src": "18788:1:24", "type": "", "value": "1" }, - "nativeSrc": "18769:300:11", + "nativeSrc": "18769:300:24", "nodeType": "YulForLoop", "post": { - "nativeSrc": "18790:2:11", + "nativeSrc": "18790:2:24", "nodeType": "YulBlock", - "src": "18790:2:11", + "src": "18790:2:24", "statements": [] }, "pre": { - "nativeSrc": "18773:14:11", + "nativeSrc": "18773:14:24", "nodeType": "YulBlock", - "src": "18773:14:11", + "src": "18773:14:24", "statements": [ { - "nativeSrc": "18775:10:11", + "nativeSrc": "18775:10:24", "nodeType": "YulVariableDeclaration", - "src": "18775:10:11", + "src": "18775:10:24", "value": { "kind": "number", - "nativeSrc": "18784:1:11", + "nativeSrc": "18784:1:24", "nodeType": "YulLiteral", - "src": "18784:1:11", + "src": "18784:1:24", "type": "", "value": "0" }, "variables": [ { "name": "i", - "nativeSrc": "18779:1:11", + "nativeSrc": "18779:1:24", "nodeType": "YulTypedName", - "src": "18779:1:11", + "src": "18779:1:24", "type": "" } ] } ] }, - "src": "18769:300:11" + "src": "18769:300:24" } ] }, @@ -170426,101 +189401,101 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5478, + "declaration": 7084, "isOffset": false, "isSlot": false, - "src": "17903:6:11", + "src": "17903:6:24", "valueSize": 1 }, { - "declaration": 5478, + "declaration": 7084, "isOffset": false, "isSlot": false, - "src": "18236:6:11", + "src": "18236:6:24", "valueSize": 1 }, { - "declaration": 5478, + "declaration": 7084, "isOffset": false, "isSlot": false, - "src": "18365:6:11", + "src": "18365:6:24", "valueSize": 1 }, { - "declaration": 5478, + "declaration": 7084, "isOffset": false, "isSlot": false, - "src": "18379:6:11", + "src": "18379:6:24", "valueSize": 1 }, { - "declaration": 5478, + "declaration": 7084, "isOffset": false, "isSlot": false, - "src": "18409:6:11", + "src": "18409:6:24", "valueSize": 1 }, { - "declaration": 5478, + "declaration": 7084, "isOffset": false, "isSlot": false, - "src": "18467:6:11", + "src": "18467:6:24", "valueSize": 1 }, { - "declaration": 5475, + "declaration": 7081, "isOffset": false, "isSlot": false, - "src": "18565:5:11", + "src": "18565:5:24", "valueSize": 1 }, { - "declaration": 5475, + "declaration": 7081, "isOffset": false, "isSlot": false, - "src": "18582:5:11", + "src": "18582:5:24", "valueSize": 1 }, { - "declaration": 5475, + "declaration": 7081, "isOffset": false, "isSlot": false, - "src": "18874:5:11", + "src": "18874:5:24", "valueSize": 1 } ], - "id": 5480, + "id": 7086, "nodeType": "InlineAssembly", - "src": "17880:1199:11" + "src": "17880:1199:24" } ] }, "documentation": { - "id": 5473, + "id": 7079, "nodeType": "StructuredDocumentation", - "src": "17607:126:11", + "src": "17607:126:24", "text": "@dev Returns the hexadecimal representation of `value`.\n The output is encoded using 2 hexadecimal digits per byte." }, - "id": 5482, + "id": 7088, "implemented": true, "kind": "function", "modifiers": [], "name": "toHexStringNoPrefix", - "nameLocation": "17747:19:11", + "nameLocation": "17747:19:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 5476, + "id": 7082, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5475, + "id": 7081, "mutability": "mutable", "name": "value", - "nameLocation": "17775:5:11", + "nameLocation": "17775:5:24", "nodeType": "VariableDeclaration", - "scope": 5482, - "src": "17767:13:11", + "scope": 7088, + "src": "17767:13:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -170528,10 +189503,10 @@ "typeString": "address" }, "typeName": { - "id": 5474, + "id": 7080, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17767:7:11", + "src": "17767:7:24", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -170541,21 +189516,21 @@ "visibility": "internal" } ], - "src": "17766:15:11" + "src": "17766:15:24" }, "returnParameters": { - "id": 5479, + "id": 7085, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5478, + "id": 7084, "mutability": "mutable", "name": "result", - "nameLocation": "17819:6:11", + "nameLocation": "17819:6:24", "nodeType": "VariableDeclaration", - "scope": 5482, - "src": "17805:20:11", + "scope": 7088, + "src": "17805:20:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -170563,10 +189538,10 @@ "typeString": "string" }, "typeName": { - "id": 5477, + "id": 7083, "name": "string", "nodeType": "ElementaryTypeName", - "src": "17805:6:11", + "src": "17805:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -170575,34 +189550,34 @@ "visibility": "internal" } ], - "src": "17804:22:11" + "src": "17804:22:24" }, - "scope": 6134, - "src": "17738:1347:11", + "scope": 7740, + "src": "17738:1347:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5497, + "id": 7103, "nodeType": "Block", - "src": "19306:358:11", + "src": "19306:358:24", "statements": [ { "expression": { - "id": 5494, + "id": 7100, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 5490, + "id": 7096, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5488, - "src": "19316:6:11", + "referencedDeclaration": 7094, + "src": "19316:6:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -170613,12 +189588,12 @@ "rightHandSide": { "arguments": [ { - "id": 5492, + "id": 7098, "name": "raw", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5485, - "src": "19345:3:11", + "referencedDeclaration": 7091, + "src": "19345:3:24", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -170632,23 +189607,23 @@ "typeString": "bytes memory" } ], - "id": 5491, + "id": 7097, "name": "toHexStringNoPrefix", "nodeType": "Identifier", "overloadedDeclarations": [ - 5382, - 5440, - 5482, - 5508 + 6988, + 7046, + 7088, + 7114 ], - "referencedDeclaration": 5508, - "src": "19325:19:11", + "referencedDeclaration": 7114, + "src": "19325:19:24", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (bytes memory) pure returns (string memory)" } }, - "id": 5493, + "id": 7099, "isConstant": false, "isLValue": false, "isPure": false, @@ -170657,79 +189632,79 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "19325:24:11", + "src": "19325:24:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "19316:33:11", + "src": "19316:33:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 5495, + "id": 7101, "nodeType": "ExpressionStatement", - "src": "19316:33:11" + "src": "19316:33:24" }, { "AST": { - "nativeSrc": "19411:247:11", + "nativeSrc": "19411:247:24", "nodeType": "YulBlock", - "src": "19411:247:11", + "src": "19411:247:24", "statements": [ { - "nativeSrc": "19425:30:11", + "nativeSrc": "19425:30:24", "nodeType": "YulVariableDeclaration", - "src": "19425:30:11", + "src": "19425:30:24", "value": { "arguments": [ { "arguments": [ { "name": "result", - "nativeSrc": "19444:6:11", + "nativeSrc": "19444:6:24", "nodeType": "YulIdentifier", - "src": "19444:6:11" + "src": "19444:6:24" } ], "functionName": { "name": "mload", - "nativeSrc": "19438:5:11", + "nativeSrc": "19438:5:24", "nodeType": "YulIdentifier", - "src": "19438:5:11" + "src": "19438:5:24" }, - "nativeSrc": "19438:13:11", + "nativeSrc": "19438:13:24", "nodeType": "YulFunctionCall", - "src": "19438:13:11" + "src": "19438:13:24" }, { "kind": "number", - "nativeSrc": "19453:1:11", + "nativeSrc": "19453:1:24", "nodeType": "YulLiteral", - "src": "19453:1:11", + "src": "19453:1:24", "type": "", "value": "2" } ], "functionName": { "name": "add", - "nativeSrc": "19434:3:11", + "nativeSrc": "19434:3:24", "nodeType": "YulIdentifier", - "src": "19434:3:11" + "src": "19434:3:24" }, - "nativeSrc": "19434:21:11", + "nativeSrc": "19434:21:24", "nodeType": "YulFunctionCall", - "src": "19434:21:11" + "src": "19434:21:24" }, "variables": [ { "name": "n", - "nativeSrc": "19429:1:11", + "nativeSrc": "19429:1:24", "nodeType": "YulTypedName", - "src": "19429:1:11", + "src": "19429:1:24", "type": "" } ] @@ -170739,70 +189714,70 @@ "arguments": [ { "name": "result", - "nativeSrc": "19498:6:11", + "nativeSrc": "19498:6:24", "nodeType": "YulIdentifier", - "src": "19498:6:11" + "src": "19498:6:24" }, { "kind": "number", - "nativeSrc": "19506:6:11", + "nativeSrc": "19506:6:24", "nodeType": "YulLiteral", - "src": "19506:6:11", + "src": "19506:6:24", "type": "", "value": "0x3078" } ], "functionName": { "name": "mstore", - "nativeSrc": "19491:6:11", + "nativeSrc": "19491:6:24", "nodeType": "YulIdentifier", - "src": "19491:6:11" + "src": "19491:6:24" }, - "nativeSrc": "19491:22:11", + "nativeSrc": "19491:22:24", "nodeType": "YulFunctionCall", - "src": "19491:22:11" + "src": "19491:22:24" }, - "nativeSrc": "19491:22:11", + "nativeSrc": "19491:22:24", "nodeType": "YulExpressionStatement", - "src": "19491:22:11" + "src": "19491:22:24" }, { - "nativeSrc": "19552:24:11", + "nativeSrc": "19552:24:24", "nodeType": "YulAssignment", - "src": "19552:24:11", + "src": "19552:24:24", "value": { "arguments": [ { "name": "result", - "nativeSrc": "19566:6:11", + "nativeSrc": "19566:6:24", "nodeType": "YulIdentifier", - "src": "19566:6:11" + "src": "19566:6:24" }, { "kind": "number", - "nativeSrc": "19574:1:11", + "nativeSrc": "19574:1:24", "nodeType": "YulLiteral", - "src": "19574:1:11", + "src": "19574:1:24", "type": "", "value": "2" } ], "functionName": { "name": "sub", - "nativeSrc": "19562:3:11", + "nativeSrc": "19562:3:24", "nodeType": "YulIdentifier", - "src": "19562:3:11" + "src": "19562:3:24" }, - "nativeSrc": "19562:14:11", + "nativeSrc": "19562:14:24", "nodeType": "YulFunctionCall", - "src": "19562:14:11" + "src": "19562:14:24" }, "variableNames": [ { "name": "result", - "nativeSrc": "19552:6:11", + "nativeSrc": "19552:6:24", "nodeType": "YulIdentifier", - "src": "19552:6:11" + "src": "19552:6:24" } ] }, @@ -170811,30 +189786,30 @@ "arguments": [ { "name": "result", - "nativeSrc": "19617:6:11", + "nativeSrc": "19617:6:24", "nodeType": "YulIdentifier", - "src": "19617:6:11" + "src": "19617:6:24" }, { "name": "n", - "nativeSrc": "19625:1:11", + "nativeSrc": "19625:1:24", "nodeType": "YulIdentifier", - "src": "19625:1:11" + "src": "19625:1:24" } ], "functionName": { "name": "mstore", - "nativeSrc": "19610:6:11", + "nativeSrc": "19610:6:24", "nodeType": "YulIdentifier", - "src": "19610:6:11" + "src": "19610:6:24" }, - "nativeSrc": "19610:17:11", + "nativeSrc": "19610:17:24", "nodeType": "YulFunctionCall", - "src": "19610:17:11" + "src": "19610:17:24" }, - "nativeSrc": "19610:17:11", + "nativeSrc": "19610:17:24", "nodeType": "YulExpressionStatement", - "src": "19610:17:11" + "src": "19610:17:24" } ] }, @@ -170842,73 +189817,73 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5488, + "declaration": 7094, "isOffset": false, "isSlot": false, - "src": "19444:6:11", + "src": "19444:6:24", "valueSize": 1 }, { - "declaration": 5488, + "declaration": 7094, "isOffset": false, "isSlot": false, - "src": "19498:6:11", + "src": "19498:6:24", "valueSize": 1 }, { - "declaration": 5488, + "declaration": 7094, "isOffset": false, "isSlot": false, - "src": "19552:6:11", + "src": "19552:6:24", "valueSize": 1 }, { - "declaration": 5488, + "declaration": 7094, "isOffset": false, "isSlot": false, - "src": "19566:6:11", + "src": "19566:6:24", "valueSize": 1 }, { - "declaration": 5488, + "declaration": 7094, "isOffset": false, "isSlot": false, - "src": "19617:6:11", + "src": "19617:6:24", "valueSize": 1 } ], - "id": 5496, + "id": 7102, "nodeType": "InlineAssembly", - "src": "19402:256:11" + "src": "19402:256:24" } ] }, "documentation": { - "id": 5483, + "id": 7089, "nodeType": "StructuredDocumentation", - "src": "19091:126:11", + "src": "19091:126:24", "text": "@dev Returns the hex encoded string from the raw bytes.\n The output is encoded using 2 hexadecimal digits per byte." }, - "id": 5498, + "id": 7104, "implemented": true, "kind": "function", "modifiers": [], "name": "toHexString", - "nameLocation": "19231:11:11", + "nameLocation": "19231:11:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 5486, + "id": 7092, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5485, + "id": 7091, "mutability": "mutable", "name": "raw", - "nameLocation": "19256:3:11", + "nameLocation": "19256:3:24", "nodeType": "VariableDeclaration", - "scope": 5498, - "src": "19243:16:11", + "scope": 7104, + "src": "19243:16:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -170916,10 +189891,10 @@ "typeString": "bytes" }, "typeName": { - "id": 5484, + "id": 7090, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "19243:5:11", + "src": "19243:5:24", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -170928,21 +189903,21 @@ "visibility": "internal" } ], - "src": "19242:18:11" + "src": "19242:18:24" }, "returnParameters": { - "id": 5489, + "id": 7095, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5488, + "id": 7094, "mutability": "mutable", "name": "result", - "nameLocation": "19298:6:11", + "nameLocation": "19298:6:24", "nodeType": "VariableDeclaration", - "scope": 5498, - "src": "19284:20:11", + "scope": 7104, + "src": "19284:20:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -170950,10 +189925,10 @@ "typeString": "string" }, "typeName": { - "id": 5487, + "id": 7093, "name": "string", "nodeType": "ElementaryTypeName", - "src": "19284:6:11", + "src": "19284:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -170962,111 +189937,111 @@ "visibility": "internal" } ], - "src": "19283:22:11" + "src": "19283:22:24" }, - "scope": 6134, - "src": "19222:442:11", + "scope": 7740, + "src": "19222:442:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5507, + "id": 7113, "nodeType": "Block", - "src": "19893:816:11", + "src": "19893:816:24", "statements": [ { "AST": { - "nativeSrc": "19955:748:11", + "nativeSrc": "19955:748:24", "nodeType": "YulBlock", - "src": "19955:748:11", + "src": "19955:748:24", "statements": [ { - "nativeSrc": "19969:19:11", + "nativeSrc": "19969:19:24", "nodeType": "YulVariableDeclaration", - "src": "19969:19:11", + "src": "19969:19:24", "value": { "arguments": [ { "name": "raw", - "nativeSrc": "19984:3:11", + "nativeSrc": "19984:3:24", "nodeType": "YulIdentifier", - "src": "19984:3:11" + "src": "19984:3:24" } ], "functionName": { "name": "mload", - "nativeSrc": "19978:5:11", + "nativeSrc": "19978:5:24", "nodeType": "YulIdentifier", - "src": "19978:5:11" + "src": "19978:5:24" }, - "nativeSrc": "19978:10:11", + "nativeSrc": "19978:10:24", "nodeType": "YulFunctionCall", - "src": "19978:10:11" + "src": "19978:10:24" }, "variables": [ { "name": "n", - "nativeSrc": "19973:1:11", + "nativeSrc": "19973:1:24", "nodeType": "YulTypedName", - "src": "19973:1:11", + "src": "19973:1:24", "type": "" } ] }, { - "nativeSrc": "20001:29:11", + "nativeSrc": "20001:29:24", "nodeType": "YulAssignment", - "src": "20001:29:11", + "src": "20001:29:24", "value": { "arguments": [ { "arguments": [ { "kind": "number", - "nativeSrc": "20021:4:11", + "nativeSrc": "20021:4:24", "nodeType": "YulLiteral", - "src": "20021:4:11", + "src": "20021:4:24", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "20015:5:11", + "nativeSrc": "20015:5:24", "nodeType": "YulIdentifier", - "src": "20015:5:11" + "src": "20015:5:24" }, - "nativeSrc": "20015:11:11", + "nativeSrc": "20015:11:24", "nodeType": "YulFunctionCall", - "src": "20015:11:11" + "src": "20015:11:24" }, { "kind": "number", - "nativeSrc": "20028:1:11", + "nativeSrc": "20028:1:24", "nodeType": "YulLiteral", - "src": "20028:1:11", + "src": "20028:1:24", "type": "", "value": "2" } ], "functionName": { "name": "add", - "nativeSrc": "20011:3:11", + "nativeSrc": "20011:3:24", "nodeType": "YulIdentifier", - "src": "20011:3:11" + "src": "20011:3:24" }, - "nativeSrc": "20011:19:11", + "nativeSrc": "20011:19:24", "nodeType": "YulFunctionCall", - "src": "20011:19:11" + "src": "20011:19:24" }, "variableNames": [ { "name": "result", - "nativeSrc": "20001:6:11", + "nativeSrc": "20001:6:24", "nodeType": "YulIdentifier", - "src": "20001:6:11" + "src": "20001:6:24" } ] }, @@ -171075,207 +190050,207 @@ "arguments": [ { "name": "result", - "nativeSrc": "20091:6:11", + "nativeSrc": "20091:6:24", "nodeType": "YulIdentifier", - "src": "20091:6:11" + "src": "20091:6:24" }, { "arguments": [ { "name": "n", - "nativeSrc": "20103:1:11", + "nativeSrc": "20103:1:24", "nodeType": "YulIdentifier", - "src": "20103:1:11" + "src": "20103:1:24" }, { "name": "n", - "nativeSrc": "20106:1:11", + "nativeSrc": "20106:1:24", "nodeType": "YulIdentifier", - "src": "20106:1:11" + "src": "20106:1:24" } ], "functionName": { "name": "add", - "nativeSrc": "20099:3:11", + "nativeSrc": "20099:3:24", "nodeType": "YulIdentifier", - "src": "20099:3:11" + "src": "20099:3:24" }, - "nativeSrc": "20099:9:11", + "nativeSrc": "20099:9:24", "nodeType": "YulFunctionCall", - "src": "20099:9:11" + "src": "20099:9:24" } ], "functionName": { "name": "mstore", - "nativeSrc": "20084:6:11", + "nativeSrc": "20084:6:24", "nodeType": "YulIdentifier", - "src": "20084:6:11" + "src": "20084:6:24" }, - "nativeSrc": "20084:25:11", + "nativeSrc": "20084:25:24", "nodeType": "YulFunctionCall", - "src": "20084:25:11" + "src": "20084:25:24" }, - "nativeSrc": "20084:25:11", + "nativeSrc": "20084:25:24", "nodeType": "YulExpressionStatement", - "src": "20084:25:11" + "src": "20084:25:24" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "20165:4:11", + "nativeSrc": "20165:4:24", "nodeType": "YulLiteral", - "src": "20165:4:11", + "src": "20165:4:24", "type": "", "value": "0x0f" }, { "kind": "number", - "nativeSrc": "20171:34:11", + "nativeSrc": "20171:34:24", "nodeType": "YulLiteral", - "src": "20171:34:11", + "src": "20171:34:24", "type": "", "value": "0x30313233343536373839616263646566" } ], "functionName": { "name": "mstore", - "nativeSrc": "20158:6:11", + "nativeSrc": "20158:6:24", "nodeType": "YulIdentifier", - "src": "20158:6:11" + "src": "20158:6:24" }, - "nativeSrc": "20158:48:11", + "nativeSrc": "20158:48:24", "nodeType": "YulFunctionCall", - "src": "20158:48:11" + "src": "20158:48:24" }, - "nativeSrc": "20158:48:11", + "nativeSrc": "20158:48:24", "nodeType": "YulExpressionStatement", - "src": "20158:48:11" + "src": "20158:48:24" }, { - "nativeSrc": "20259:26:11", + "nativeSrc": "20259:26:24", "nodeType": "YulVariableDeclaration", - "src": "20259:26:11", + "src": "20259:26:24", "value": { "arguments": [ { "name": "result", - "nativeSrc": "20272:6:11", + "nativeSrc": "20272:6:24", "nodeType": "YulIdentifier", - "src": "20272:6:11" + "src": "20272:6:24" }, { "kind": "number", - "nativeSrc": "20280:4:11", + "nativeSrc": "20280:4:24", "nodeType": "YulLiteral", - "src": "20280:4:11", + "src": "20280:4:24", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "20268:3:11", + "nativeSrc": "20268:3:24", "nodeType": "YulIdentifier", - "src": "20268:3:11" + "src": "20268:3:24" }, - "nativeSrc": "20268:17:11", + "nativeSrc": "20268:17:24", "nodeType": "YulFunctionCall", - "src": "20268:17:11" + "src": "20268:17:24" }, "variables": [ { "name": "o", - "nativeSrc": "20263:1:11", + "nativeSrc": "20263:1:24", "nodeType": "YulTypedName", - "src": "20263:1:11", + "src": "20263:1:24", "type": "" } ] }, { - "nativeSrc": "20298:22:11", + "nativeSrc": "20298:22:24", "nodeType": "YulVariableDeclaration", - "src": "20298:22:11", + "src": "20298:22:24", "value": { "arguments": [ { "name": "raw", - "nativeSrc": "20313:3:11", + "nativeSrc": "20313:3:24", "nodeType": "YulIdentifier", - "src": "20313:3:11" + "src": "20313:3:24" }, { "name": "n", - "nativeSrc": "20318:1:11", + "nativeSrc": "20318:1:24", "nodeType": "YulIdentifier", - "src": "20318:1:11" + "src": "20318:1:24" } ], "functionName": { "name": "add", - "nativeSrc": "20309:3:11", + "nativeSrc": "20309:3:24", "nodeType": "YulIdentifier", - "src": "20309:3:11" + "src": "20309:3:24" }, - "nativeSrc": "20309:11:11", + "nativeSrc": "20309:11:24", "nodeType": "YulFunctionCall", - "src": "20309:11:11" + "src": "20309:11:24" }, "variables": [ { "name": "end", - "nativeSrc": "20302:3:11", + "nativeSrc": "20302:3:24", "nodeType": "YulTypedName", - "src": "20302:3:11", + "src": "20302:3:24", "type": "" } ] }, { "body": { - "nativeSrc": "20364:207:11", + "nativeSrc": "20364:207:24", "nodeType": "YulBlock", - "src": "20364:207:11", + "src": "20364:207:24", "statements": [ { - "nativeSrc": "20382:18:11", + "nativeSrc": "20382:18:24", "nodeType": "YulAssignment", - "src": "20382:18:11", + "src": "20382:18:24", "value": { "arguments": [ { "name": "raw", - "nativeSrc": "20393:3:11", + "nativeSrc": "20393:3:24", "nodeType": "YulIdentifier", - "src": "20393:3:11" + "src": "20393:3:24" }, { "kind": "number", - "nativeSrc": "20398:1:11", + "nativeSrc": "20398:1:24", "nodeType": "YulLiteral", - "src": "20398:1:11", + "src": "20398:1:24", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "20389:3:11", + "nativeSrc": "20389:3:24", "nodeType": "YulIdentifier", - "src": "20389:3:11" + "src": "20389:3:24" }, - "nativeSrc": "20389:11:11", + "nativeSrc": "20389:11:24", "nodeType": "YulFunctionCall", - "src": "20389:11:11" + "src": "20389:11:24" }, "variableNames": [ { "name": "raw", - "nativeSrc": "20382:3:11", + "nativeSrc": "20382:3:24", "nodeType": "YulIdentifier", - "src": "20382:3:11" + "src": "20382:3:24" } ] }, @@ -171286,28 +190261,28 @@ "arguments": [ { "name": "o", - "nativeSrc": "20429:1:11", + "nativeSrc": "20429:1:24", "nodeType": "YulIdentifier", - "src": "20429:1:11" + "src": "20429:1:24" }, { "kind": "number", - "nativeSrc": "20432:1:11", + "nativeSrc": "20432:1:24", "nodeType": "YulLiteral", - "src": "20432:1:11", + "src": "20432:1:24", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "20425:3:11", + "nativeSrc": "20425:3:24", "nodeType": "YulIdentifier", - "src": "20425:3:11" + "src": "20425:3:24" }, - "nativeSrc": "20425:9:11", + "nativeSrc": "20425:9:24", "nodeType": "YulFunctionCall", - "src": "20425:9:11" + "src": "20425:9:24" }, { "arguments": [ @@ -171317,74 +190292,74 @@ "arguments": [ { "name": "raw", - "nativeSrc": "20452:3:11", + "nativeSrc": "20452:3:24", "nodeType": "YulIdentifier", - "src": "20452:3:11" + "src": "20452:3:24" } ], "functionName": { "name": "mload", - "nativeSrc": "20446:5:11", + "nativeSrc": "20446:5:24", "nodeType": "YulIdentifier", - "src": "20446:5:11" + "src": "20446:5:24" }, - "nativeSrc": "20446:10:11", + "nativeSrc": "20446:10:24", "nodeType": "YulFunctionCall", - "src": "20446:10:11" + "src": "20446:10:24" }, { "kind": "number", - "nativeSrc": "20458:2:11", + "nativeSrc": "20458:2:24", "nodeType": "YulLiteral", - "src": "20458:2:11", + "src": "20458:2:24", "type": "", "value": "15" } ], "functionName": { "name": "and", - "nativeSrc": "20442:3:11", + "nativeSrc": "20442:3:24", "nodeType": "YulIdentifier", - "src": "20442:3:11" + "src": "20442:3:24" }, - "nativeSrc": "20442:19:11", + "nativeSrc": "20442:19:24", "nodeType": "YulFunctionCall", - "src": "20442:19:11" + "src": "20442:19:24" } ], "functionName": { "name": "mload", - "nativeSrc": "20436:5:11", + "nativeSrc": "20436:5:24", "nodeType": "YulIdentifier", - "src": "20436:5:11" + "src": "20436:5:24" }, - "nativeSrc": "20436:26:11", + "nativeSrc": "20436:26:24", "nodeType": "YulFunctionCall", - "src": "20436:26:11" + "src": "20436:26:24" } ], "functionName": { "name": "mstore8", - "nativeSrc": "20417:7:11", + "nativeSrc": "20417:7:24", "nodeType": "YulIdentifier", - "src": "20417:7:11" + "src": "20417:7:24" }, - "nativeSrc": "20417:46:11", + "nativeSrc": "20417:46:24", "nodeType": "YulFunctionCall", - "src": "20417:46:11" + "src": "20417:46:24" }, - "nativeSrc": "20417:46:11", + "nativeSrc": "20417:46:24", "nodeType": "YulExpressionStatement", - "src": "20417:46:11" + "src": "20417:46:24" }, { "expression": { "arguments": [ { "name": "o", - "nativeSrc": "20488:1:11", + "nativeSrc": "20488:1:24", "nodeType": "YulIdentifier", - "src": "20488:1:11" + "src": "20488:1:24" }, { "arguments": [ @@ -171394,9 +190369,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "20505:1:11", + "nativeSrc": "20505:1:24", "nodeType": "YulLiteral", - "src": "20505:1:11", + "src": "20505:1:24", "type": "", "value": "4" }, @@ -171404,114 +190379,114 @@ "arguments": [ { "name": "raw", - "nativeSrc": "20514:3:11", + "nativeSrc": "20514:3:24", "nodeType": "YulIdentifier", - "src": "20514:3:11" + "src": "20514:3:24" } ], "functionName": { "name": "mload", - "nativeSrc": "20508:5:11", + "nativeSrc": "20508:5:24", "nodeType": "YulIdentifier", - "src": "20508:5:11" + "src": "20508:5:24" }, - "nativeSrc": "20508:10:11", + "nativeSrc": "20508:10:24", "nodeType": "YulFunctionCall", - "src": "20508:10:11" + "src": "20508:10:24" } ], "functionName": { "name": "shr", - "nativeSrc": "20501:3:11", + "nativeSrc": "20501:3:24", "nodeType": "YulIdentifier", - "src": "20501:3:11" + "src": "20501:3:24" }, - "nativeSrc": "20501:18:11", + "nativeSrc": "20501:18:24", "nodeType": "YulFunctionCall", - "src": "20501:18:11" + "src": "20501:18:24" }, { "kind": "number", - "nativeSrc": "20521:2:11", + "nativeSrc": "20521:2:24", "nodeType": "YulLiteral", - "src": "20521:2:11", + "src": "20521:2:24", "type": "", "value": "15" } ], "functionName": { "name": "and", - "nativeSrc": "20497:3:11", + "nativeSrc": "20497:3:24", "nodeType": "YulIdentifier", - "src": "20497:3:11" + "src": "20497:3:24" }, - "nativeSrc": "20497:27:11", + "nativeSrc": "20497:27:24", "nodeType": "YulFunctionCall", - "src": "20497:27:11" + "src": "20497:27:24" } ], "functionName": { "name": "mload", - "nativeSrc": "20491:5:11", + "nativeSrc": "20491:5:24", "nodeType": "YulIdentifier", - "src": "20491:5:11" + "src": "20491:5:24" }, - "nativeSrc": "20491:34:11", + "nativeSrc": "20491:34:24", "nodeType": "YulFunctionCall", - "src": "20491:34:11" + "src": "20491:34:24" } ], "functionName": { "name": "mstore8", - "nativeSrc": "20480:7:11", + "nativeSrc": "20480:7:24", "nodeType": "YulIdentifier", - "src": "20480:7:11" + "src": "20480:7:24" }, - "nativeSrc": "20480:46:11", + "nativeSrc": "20480:46:24", "nodeType": "YulFunctionCall", - "src": "20480:46:11" + "src": "20480:46:24" }, - "nativeSrc": "20480:46:11", + "nativeSrc": "20480:46:24", "nodeType": "YulExpressionStatement", - "src": "20480:46:11" + "src": "20480:46:24" }, { - "nativeSrc": "20543:14:11", + "nativeSrc": "20543:14:24", "nodeType": "YulAssignment", - "src": "20543:14:11", + "src": "20543:14:24", "value": { "arguments": [ { "name": "o", - "nativeSrc": "20552:1:11", + "nativeSrc": "20552:1:24", "nodeType": "YulIdentifier", - "src": "20552:1:11" + "src": "20552:1:24" }, { "kind": "number", - "nativeSrc": "20555:1:11", + "nativeSrc": "20555:1:24", "nodeType": "YulLiteral", - "src": "20555:1:11", + "src": "20555:1:24", "type": "", "value": "2" } ], "functionName": { "name": "add", - "nativeSrc": "20548:3:11", + "nativeSrc": "20548:3:24", "nodeType": "YulIdentifier", - "src": "20548:3:11" + "src": "20548:3:24" }, - "nativeSrc": "20548:9:11", + "nativeSrc": "20548:9:24", "nodeType": "YulFunctionCall", - "src": "20548:9:11" + "src": "20548:9:24" }, "variableNames": [ { "name": "o", - "nativeSrc": "20543:1:11", + "nativeSrc": "20543:1:24", "nodeType": "YulIdentifier", - "src": "20543:1:11" + "src": "20543:1:24" } ] } @@ -171523,94 +190498,94 @@ "arguments": [ { "name": "raw", - "nativeSrc": "20350:3:11", + "nativeSrc": "20350:3:24", "nodeType": "YulIdentifier", - "src": "20350:3:11" + "src": "20350:3:24" }, { "name": "end", - "nativeSrc": "20355:3:11", + "nativeSrc": "20355:3:24", "nodeType": "YulIdentifier", - "src": "20355:3:11" + "src": "20355:3:24" } ], "functionName": { "name": "eq", - "nativeSrc": "20347:2:11", + "nativeSrc": "20347:2:24", "nodeType": "YulIdentifier", - "src": "20347:2:11" + "src": "20347:2:24" }, - "nativeSrc": "20347:12:11", + "nativeSrc": "20347:12:24", "nodeType": "YulFunctionCall", - "src": "20347:12:11" + "src": "20347:12:24" } ], "functionName": { "name": "iszero", - "nativeSrc": "20340:6:11", + "nativeSrc": "20340:6:24", "nodeType": "YulIdentifier", - "src": "20340:6:11" + "src": "20340:6:24" }, - "nativeSrc": "20340:20:11", + "nativeSrc": "20340:20:24", "nodeType": "YulFunctionCall", - "src": "20340:20:11" + "src": "20340:20:24" }, - "nativeSrc": "20333:238:11", + "nativeSrc": "20333:238:24", "nodeType": "YulForLoop", "post": { - "nativeSrc": "20361:2:11", + "nativeSrc": "20361:2:24", "nodeType": "YulBlock", - "src": "20361:2:11", + "src": "20361:2:24", "statements": [] }, "pre": { - "nativeSrc": "20337:2:11", + "nativeSrc": "20337:2:24", "nodeType": "YulBlock", - "src": "20337:2:11", + "src": "20337:2:24", "statements": [] }, - "src": "20333:238:11" + "src": "20333:238:24" }, { "expression": { "arguments": [ { "name": "o", - "nativeSrc": "20591:1:11", + "nativeSrc": "20591:1:24", "nodeType": "YulIdentifier", - "src": "20591:1:11" + "src": "20591:1:24" }, { "kind": "number", - "nativeSrc": "20594:1:11", + "nativeSrc": "20594:1:24", "nodeType": "YulLiteral", - "src": "20594:1:11", + "src": "20594:1:24", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "20584:6:11", + "nativeSrc": "20584:6:24", "nodeType": "YulIdentifier", - "src": "20584:6:11" + "src": "20584:6:24" }, - "nativeSrc": "20584:12:11", + "nativeSrc": "20584:12:24", "nodeType": "YulFunctionCall", - "src": "20584:12:11" + "src": "20584:12:24" }, - "nativeSrc": "20584:12:11", + "nativeSrc": "20584:12:24", "nodeType": "YulExpressionStatement", - "src": "20584:12:11" + "src": "20584:12:24" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "20654:4:11", + "nativeSrc": "20654:4:24", "nodeType": "YulLiteral", - "src": "20654:4:11", + "src": "20654:4:24", "type": "", "value": "0x40" }, @@ -171618,43 +190593,43 @@ "arguments": [ { "name": "o", - "nativeSrc": "20664:1:11", + "nativeSrc": "20664:1:24", "nodeType": "YulIdentifier", - "src": "20664:1:11" + "src": "20664:1:24" }, { "kind": "number", - "nativeSrc": "20667:4:11", + "nativeSrc": "20667:4:24", "nodeType": "YulLiteral", - "src": "20667:4:11", + "src": "20667:4:24", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "20660:3:11", + "nativeSrc": "20660:3:24", "nodeType": "YulIdentifier", - "src": "20660:3:11" + "src": "20660:3:24" }, - "nativeSrc": "20660:12:11", + "nativeSrc": "20660:12:24", "nodeType": "YulFunctionCall", - "src": "20660:12:11" + "src": "20660:12:24" } ], "functionName": { "name": "mstore", - "nativeSrc": "20647:6:11", + "nativeSrc": "20647:6:24", "nodeType": "YulIdentifier", - "src": "20647:6:11" + "src": "20647:6:24" }, - "nativeSrc": "20647:26:11", + "nativeSrc": "20647:26:24", "nodeType": "YulFunctionCall", - "src": "20647:26:11" + "src": "20647:26:24" }, - "nativeSrc": "20647:26:11", + "nativeSrc": "20647:26:24", "nodeType": "YulExpressionStatement", - "src": "20647:26:11" + "src": "20647:26:24" } ] }, @@ -171662,108 +190637,108 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5501, + "declaration": 7107, "isOffset": false, "isSlot": false, - "src": "19984:3:11", + "src": "19984:3:24", "valueSize": 1 }, { - "declaration": 5501, + "declaration": 7107, "isOffset": false, "isSlot": false, - "src": "20313:3:11", + "src": "20313:3:24", "valueSize": 1 }, { - "declaration": 5501, + "declaration": 7107, "isOffset": false, "isSlot": false, - "src": "20350:3:11", + "src": "20350:3:24", "valueSize": 1 }, { - "declaration": 5501, + "declaration": 7107, "isOffset": false, "isSlot": false, - "src": "20382:3:11", + "src": "20382:3:24", "valueSize": 1 }, { - "declaration": 5501, + "declaration": 7107, "isOffset": false, "isSlot": false, - "src": "20393:3:11", + "src": "20393:3:24", "valueSize": 1 }, { - "declaration": 5501, + "declaration": 7107, "isOffset": false, "isSlot": false, - "src": "20452:3:11", + "src": "20452:3:24", "valueSize": 1 }, { - "declaration": 5501, + "declaration": 7107, "isOffset": false, "isSlot": false, - "src": "20514:3:11", + "src": "20514:3:24", "valueSize": 1 }, { - "declaration": 5504, + "declaration": 7110, "isOffset": false, "isSlot": false, - "src": "20001:6:11", + "src": "20001:6:24", "valueSize": 1 }, { - "declaration": 5504, + "declaration": 7110, "isOffset": false, "isSlot": false, - "src": "20091:6:11", + "src": "20091:6:24", "valueSize": 1 }, { - "declaration": 5504, + "declaration": 7110, "isOffset": false, "isSlot": false, - "src": "20272:6:11", + "src": "20272:6:24", "valueSize": 1 } ], - "id": 5506, + "id": 7112, "nodeType": "InlineAssembly", - "src": "19946:757:11" + "src": "19946:757:24" } ] }, "documentation": { - "id": 5499, + "id": 7105, "nodeType": "StructuredDocumentation", - "src": "19670:126:11", + "src": "19670:126:24", "text": "@dev Returns the hex encoded string from the raw bytes.\n The output is encoded using 2 hexadecimal digits per byte." }, - "id": 5508, + "id": 7114, "implemented": true, "kind": "function", "modifiers": [], "name": "toHexStringNoPrefix", - "nameLocation": "19810:19:11", + "nameLocation": "19810:19:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 5502, + "id": 7108, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5501, + "id": 7107, "mutability": "mutable", "name": "raw", - "nameLocation": "19843:3:11", + "nameLocation": "19843:3:24", "nodeType": "VariableDeclaration", - "scope": 5508, - "src": "19830:16:11", + "scope": 7114, + "src": "19830:16:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -171771,10 +190746,10 @@ "typeString": "bytes" }, "typeName": { - "id": 5500, + "id": 7106, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "19830:5:11", + "src": "19830:5:24", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -171783,21 +190758,21 @@ "visibility": "internal" } ], - "src": "19829:18:11" + "src": "19829:18:24" }, "returnParameters": { - "id": 5505, + "id": 7111, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5504, + "id": 7110, "mutability": "mutable", "name": "result", - "nameLocation": "19885:6:11", + "nameLocation": "19885:6:24", "nodeType": "VariableDeclaration", - "scope": 5508, - "src": "19871:20:11", + "scope": 7114, + "src": "19871:20:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -171805,10 +190780,10 @@ "typeString": "string" }, "typeName": { - "id": 5503, + "id": 7109, "name": "string", "nodeType": "ElementaryTypeName", - "src": "19871:6:11", + "src": "19871:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -171817,40 +190792,40 @@ "visibility": "internal" } ], - "src": "19870:22:11" + "src": "19870:22:24" }, - "scope": 6134, - "src": "19801:908:11", + "scope": 7740, + "src": "19801:908:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5517, + "id": 7123, "nodeType": "Block", - "src": "21138:552:11", + "src": "21138:552:24", "statements": [ { "AST": { - "nativeSrc": "21200:484:11", + "nativeSrc": "21200:484:24", "nodeType": "YulBlock", - "src": "21200:484:11", + "src": "21200:484:24", "statements": [ { "body": { - "nativeSrc": "21226:448:11", + "nativeSrc": "21226:448:24", "nodeType": "YulBlock", - "src": "21226:448:11", + "src": "21226:448:24", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "21251:4:11", + "nativeSrc": "21251:4:24", "nodeType": "YulLiteral", - "src": "21251:4:11", + "src": "21251:4:24", "type": "", "value": "0x00" }, @@ -171860,209 +190835,209 @@ "arguments": [ { "kind": "number", - "nativeSrc": "21265:1:11", + "nativeSrc": "21265:1:24", "nodeType": "YulLiteral", - "src": "21265:1:11", + "src": "21265:1:24", "type": "", "value": "0" } ], "functionName": { "name": "not", - "nativeSrc": "21261:3:11", + "nativeSrc": "21261:3:24", "nodeType": "YulIdentifier", - "src": "21261:3:11" + "src": "21261:3:24" }, - "nativeSrc": "21261:6:11", + "nativeSrc": "21261:6:24", "nodeType": "YulFunctionCall", - "src": "21261:6:11" + "src": "21261:6:24" }, { "kind": "number", - "nativeSrc": "21269:3:11", + "nativeSrc": "21269:3:24", "nodeType": "YulLiteral", - "src": "21269:3:11", + "src": "21269:3:24", "type": "", "value": "255" } ], "functionName": { "name": "div", - "nativeSrc": "21257:3:11", + "nativeSrc": "21257:3:24", "nodeType": "YulIdentifier", - "src": "21257:3:11" + "src": "21257:3:24" }, - "nativeSrc": "21257:16:11", + "nativeSrc": "21257:16:24", "nodeType": "YulFunctionCall", - "src": "21257:16:11" + "src": "21257:16:24" } ], "functionName": { "name": "mstore", - "nativeSrc": "21244:6:11", + "nativeSrc": "21244:6:24", "nodeType": "YulIdentifier", - "src": "21244:6:11" + "src": "21244:6:24" }, - "nativeSrc": "21244:30:11", + "nativeSrc": "21244:30:24", "nodeType": "YulFunctionCall", - "src": "21244:30:11" + "src": "21244:30:24" }, - "nativeSrc": "21244:30:11", + "nativeSrc": "21244:30:24", "nodeType": "YulExpressionStatement", - "src": "21244:30:11" + "src": "21244:30:24" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "21298:4:11", + "nativeSrc": "21298:4:24", "nodeType": "YulLiteral", - "src": "21298:4:11", + "src": "21298:4:24", "type": "", "value": "0x20" }, { "kind": "number", - "nativeSrc": "21304:66:11", + "nativeSrc": "21304:66:24", "nodeType": "YulLiteral", - "src": "21304:66:11", + "src": "21304:66:24", "type": "", "value": "0x0202020202020202020202020202020202020202020202020303030304040506" } ], "functionName": { "name": "mstore", - "nativeSrc": "21291:6:11", + "nativeSrc": "21291:6:24", "nodeType": "YulIdentifier", - "src": "21291:6:11" + "src": "21291:6:24" }, - "nativeSrc": "21291:80:11", + "nativeSrc": "21291:80:24", "nodeType": "YulFunctionCall", - "src": "21291:80:11" + "src": "21291:80:24" }, - "nativeSrc": "21291:80:11", + "nativeSrc": "21291:80:24", "nodeType": "YulExpressionStatement", - "src": "21291:80:11" + "src": "21291:80:24" }, { - "nativeSrc": "21388:21:11", + "nativeSrc": "21388:21:24", "nodeType": "YulVariableDeclaration", - "src": "21388:21:11", + "src": "21388:21:24", "value": { "arguments": [ { "name": "s", - "nativeSrc": "21401:1:11", + "nativeSrc": "21401:1:24", "nodeType": "YulIdentifier", - "src": "21401:1:11" + "src": "21401:1:24" }, { "kind": "number", - "nativeSrc": "21404:4:11", + "nativeSrc": "21404:4:24", "nodeType": "YulLiteral", - "src": "21404:4:11", + "src": "21404:4:24", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "21397:3:11", + "nativeSrc": "21397:3:24", "nodeType": "YulIdentifier", - "src": "21397:3:11" + "src": "21397:3:24" }, - "nativeSrc": "21397:12:11", + "nativeSrc": "21397:12:24", "nodeType": "YulFunctionCall", - "src": "21397:12:11" + "src": "21397:12:24" }, "variables": [ { "name": "o", - "nativeSrc": "21392:1:11", + "nativeSrc": "21392:1:24", "nodeType": "YulTypedName", - "src": "21392:1:11", + "src": "21392:1:24", "type": "" } ] }, { - "nativeSrc": "21426:27:11", + "nativeSrc": "21426:27:24", "nodeType": "YulVariableDeclaration", - "src": "21426:27:11", + "src": "21426:27:24", "value": { "arguments": [ { "name": "o", - "nativeSrc": "21441:1:11", + "nativeSrc": "21441:1:24", "nodeType": "YulIdentifier", - "src": "21441:1:11" + "src": "21441:1:24" }, { "arguments": [ { "name": "s", - "nativeSrc": "21450:1:11", + "nativeSrc": "21450:1:24", "nodeType": "YulIdentifier", - "src": "21450:1:11" + "src": "21450:1:24" } ], "functionName": { "name": "mload", - "nativeSrc": "21444:5:11", + "nativeSrc": "21444:5:24", "nodeType": "YulIdentifier", - "src": "21444:5:11" + "src": "21444:5:24" }, - "nativeSrc": "21444:8:11", + "nativeSrc": "21444:8:24", "nodeType": "YulFunctionCall", - "src": "21444:8:11" + "src": "21444:8:24" } ], "functionName": { "name": "add", - "nativeSrc": "21437:3:11", + "nativeSrc": "21437:3:24", "nodeType": "YulIdentifier", - "src": "21437:3:11" + "src": "21437:3:24" }, - "nativeSrc": "21437:16:11", + "nativeSrc": "21437:16:24", "nodeType": "YulFunctionCall", - "src": "21437:16:11" + "src": "21437:16:24" }, "variables": [ { "name": "end", - "nativeSrc": "21430:3:11", + "nativeSrc": "21430:3:24", "nodeType": "YulTypedName", - "src": "21430:3:11", + "src": "21430:3:24", "type": "" } ] }, { "body": { - "nativeSrc": "21521:139:11", + "nativeSrc": "21521:139:24", "nodeType": "YulBlock", - "src": "21521:139:11", + "src": "21521:139:24", "statements": [ { - "nativeSrc": "21543:47:11", + "nativeSrc": "21543:47:24", "nodeType": "YulAssignment", - "src": "21543:47:11", + "src": "21543:47:24", "value": { "arguments": [ { "name": "o", - "nativeSrc": "21552:1:11", + "nativeSrc": "21552:1:24", "nodeType": "YulIdentifier", - "src": "21552:1:11" + "src": "21552:1:24" }, { "arguments": [ { "kind": "number", - "nativeSrc": "21560:1:11", + "nativeSrc": "21560:1:24", "nodeType": "YulLiteral", - "src": "21560:1:11", + "src": "21560:1:24", "type": "", "value": "0" }, @@ -172072,9 +191047,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "21573:3:11", + "nativeSrc": "21573:3:24", "nodeType": "YulLiteral", - "src": "21573:3:11", + "src": "21573:3:24", "type": "", "value": "250" }, @@ -172082,84 +191057,84 @@ "arguments": [ { "name": "o", - "nativeSrc": "21584:1:11", + "nativeSrc": "21584:1:24", "nodeType": "YulIdentifier", - "src": "21584:1:11" + "src": "21584:1:24" } ], "functionName": { "name": "mload", - "nativeSrc": "21578:5:11", + "nativeSrc": "21578:5:24", "nodeType": "YulIdentifier", - "src": "21578:5:11" + "src": "21578:5:24" }, - "nativeSrc": "21578:8:11", + "nativeSrc": "21578:8:24", "nodeType": "YulFunctionCall", - "src": "21578:8:11" + "src": "21578:8:24" } ], "functionName": { "name": "shr", - "nativeSrc": "21569:3:11", + "nativeSrc": "21569:3:24", "nodeType": "YulIdentifier", - "src": "21569:3:11" + "src": "21569:3:24" }, - "nativeSrc": "21569:18:11", + "nativeSrc": "21569:18:24", "nodeType": "YulFunctionCall", - "src": "21569:18:11" + "src": "21569:18:24" } ], "functionName": { "name": "mload", - "nativeSrc": "21563:5:11", + "nativeSrc": "21563:5:24", "nodeType": "YulIdentifier", - "src": "21563:5:11" + "src": "21563:5:24" }, - "nativeSrc": "21563:25:11", + "nativeSrc": "21563:25:24", "nodeType": "YulFunctionCall", - "src": "21563:25:11" + "src": "21563:25:24" } ], "functionName": { "name": "byte", - "nativeSrc": "21555:4:11", + "nativeSrc": "21555:4:24", "nodeType": "YulIdentifier", - "src": "21555:4:11" + "src": "21555:4:24" }, - "nativeSrc": "21555:34:11", + "nativeSrc": "21555:34:24", "nodeType": "YulFunctionCall", - "src": "21555:34:11" + "src": "21555:34:24" } ], "functionName": { "name": "add", - "nativeSrc": "21548:3:11", + "nativeSrc": "21548:3:24", "nodeType": "YulIdentifier", - "src": "21548:3:11" + "src": "21548:3:24" }, - "nativeSrc": "21548:42:11", + "nativeSrc": "21548:42:24", "nodeType": "YulFunctionCall", - "src": "21548:42:11" + "src": "21548:42:24" }, "variableNames": [ { "name": "o", - "nativeSrc": "21543:1:11", + "nativeSrc": "21543:1:24", "nodeType": "YulIdentifier", - "src": "21543:1:11" + "src": "21543:1:24" } ] }, { "body": { - "nativeSrc": "21633:9:11", + "nativeSrc": "21633:9:24", "nodeType": "YulBlock", - "src": "21633:9:11", + "src": "21633:9:24", "statements": [ { - "nativeSrc": "21635:5:11", + "nativeSrc": "21635:5:24", "nodeType": "YulBreak", - "src": "21635:5:11" + "src": "21635:5:24" } ] }, @@ -172169,130 +191144,130 @@ "arguments": [ { "name": "o", - "nativeSrc": "21624:1:11", + "nativeSrc": "21624:1:24", "nodeType": "YulIdentifier", - "src": "21624:1:11" + "src": "21624:1:24" }, { "name": "end", - "nativeSrc": "21627:3:11", + "nativeSrc": "21627:3:24", "nodeType": "YulIdentifier", - "src": "21627:3:11" + "src": "21627:3:24" } ], "functionName": { "name": "lt", - "nativeSrc": "21621:2:11", + "nativeSrc": "21621:2:24", "nodeType": "YulIdentifier", - "src": "21621:2:11" + "src": "21621:2:24" }, - "nativeSrc": "21621:10:11", + "nativeSrc": "21621:10:24", "nodeType": "YulFunctionCall", - "src": "21621:10:11" + "src": "21621:10:24" } ], "functionName": { "name": "iszero", - "nativeSrc": "21614:6:11", + "nativeSrc": "21614:6:24", "nodeType": "YulIdentifier", - "src": "21614:6:11" + "src": "21614:6:24" }, - "nativeSrc": "21614:18:11", + "nativeSrc": "21614:18:24", "nodeType": "YulFunctionCall", - "src": "21614:18:11" + "src": "21614:18:24" }, - "nativeSrc": "21611:31:11", + "nativeSrc": "21611:31:24", "nodeType": "YulIf", - "src": "21611:31:11" + "src": "21611:31:24" } ] }, "condition": { "kind": "number", - "nativeSrc": "21490:1:11", + "nativeSrc": "21490:1:24", "nodeType": "YulLiteral", - "src": "21490:1:11", + "src": "21490:1:24", "type": "", "value": "1" }, - "nativeSrc": "21470:190:11", + "nativeSrc": "21470:190:24", "nodeType": "YulForLoop", "post": { - "nativeSrc": "21492:28:11", + "nativeSrc": "21492:28:24", "nodeType": "YulBlock", - "src": "21492:28:11", + "src": "21492:28:24", "statements": [ { - "nativeSrc": "21494:24:11", + "nativeSrc": "21494:24:24", "nodeType": "YulAssignment", - "src": "21494:24:11", + "src": "21494:24:24", "value": { "arguments": [ { "name": "result", - "nativeSrc": "21508:6:11", + "nativeSrc": "21508:6:24", "nodeType": "YulIdentifier", - "src": "21508:6:11" + "src": "21508:6:24" }, { "kind": "number", - "nativeSrc": "21516:1:11", + "nativeSrc": "21516:1:24", "nodeType": "YulLiteral", - "src": "21516:1:11", + "src": "21516:1:24", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "21504:3:11", + "nativeSrc": "21504:3:24", "nodeType": "YulIdentifier", - "src": "21504:3:11" + "src": "21504:3:24" }, - "nativeSrc": "21504:14:11", + "nativeSrc": "21504:14:24", "nodeType": "YulFunctionCall", - "src": "21504:14:11" + "src": "21504:14:24" }, "variableNames": [ { "name": "result", - "nativeSrc": "21494:6:11", + "nativeSrc": "21494:6:24", "nodeType": "YulIdentifier", - "src": "21494:6:11" + "src": "21494:6:24" } ] } ] }, "pre": { - "nativeSrc": "21474:15:11", + "nativeSrc": "21474:15:24", "nodeType": "YulBlock", - "src": "21474:15:11", + "src": "21474:15:24", "statements": [ { - "nativeSrc": "21476:11:11", + "nativeSrc": "21476:11:24", "nodeType": "YulAssignment", - "src": "21476:11:11", + "src": "21476:11:24", "value": { "kind": "number", - "nativeSrc": "21486:1:11", + "nativeSrc": "21486:1:24", "nodeType": "YulLiteral", - "src": "21486:1:11", + "src": "21486:1:24", "type": "", "value": "1" }, "variableNames": [ { "name": "result", - "nativeSrc": "21476:6:11", + "nativeSrc": "21476:6:24", "nodeType": "YulIdentifier", - "src": "21476:6:11" + "src": "21476:6:24" } ] } ] }, - "src": "21470:190:11" + "src": "21470:190:24" } ] }, @@ -172300,24 +191275,24 @@ "arguments": [ { "name": "s", - "nativeSrc": "21223:1:11", + "nativeSrc": "21223:1:24", "nodeType": "YulIdentifier", - "src": "21223:1:11" + "src": "21223:1:24" } ], "functionName": { "name": "mload", - "nativeSrc": "21217:5:11", + "nativeSrc": "21217:5:24", "nodeType": "YulIdentifier", - "src": "21217:5:11" + "src": "21217:5:24" }, - "nativeSrc": "21217:8:11", + "nativeSrc": "21217:8:24", "nodeType": "YulFunctionCall", - "src": "21217:8:11" + "src": "21217:8:24" }, - "nativeSrc": "21214:460:11", + "nativeSrc": "21214:460:24", "nodeType": "YulIf", - "src": "21214:460:11" + "src": "21214:460:24" } ] }, @@ -172325,80 +191300,80 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5514, + "declaration": 7120, "isOffset": false, "isSlot": false, - "src": "21476:6:11", + "src": "21476:6:24", "valueSize": 1 }, { - "declaration": 5514, + "declaration": 7120, "isOffset": false, "isSlot": false, - "src": "21494:6:11", + "src": "21494:6:24", "valueSize": 1 }, { - "declaration": 5514, + "declaration": 7120, "isOffset": false, "isSlot": false, - "src": "21508:6:11", + "src": "21508:6:24", "valueSize": 1 }, { - "declaration": 5511, + "declaration": 7117, "isOffset": false, "isSlot": false, - "src": "21223:1:11", + "src": "21223:1:24", "valueSize": 1 }, { - "declaration": 5511, + "declaration": 7117, "isOffset": false, "isSlot": false, - "src": "21401:1:11", + "src": "21401:1:24", "valueSize": 1 }, { - "declaration": 5511, + "declaration": 7117, "isOffset": false, "isSlot": false, - "src": "21450:1:11", + "src": "21450:1:24", "valueSize": 1 } ], - "id": 5516, + "id": 7122, "nodeType": "InlineAssembly", - "src": "21191:493:11" + "src": "21191:493:24" } ] }, "documentation": { - "id": 5509, + "id": 7115, "nodeType": "StructuredDocumentation", - "src": "20998:60:11", + "src": "20998:60:24", "text": "@dev Returns the number of UTF characters in the string." }, - "id": 5518, + "id": 7124, "implemented": true, "kind": "function", "modifiers": [], "name": "runeCount", - "nameLocation": "21072:9:11", + "nameLocation": "21072:9:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 5512, + "id": 7118, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5511, + "id": 7117, "mutability": "mutable", "name": "s", - "nameLocation": "21096:1:11", + "nameLocation": "21096:1:24", "nodeType": "VariableDeclaration", - "scope": 5518, - "src": "21082:15:11", + "scope": 7124, + "src": "21082:15:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -172406,10 +191381,10 @@ "typeString": "string" }, "typeName": { - "id": 5510, + "id": 7116, "name": "string", "nodeType": "ElementaryTypeName", - "src": "21082:6:11", + "src": "21082:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -172418,21 +191393,21 @@ "visibility": "internal" } ], - "src": "21081:17:11" + "src": "21081:17:24" }, "returnParameters": { - "id": 5515, + "id": 7121, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5514, + "id": 7120, "mutability": "mutable", "name": "result", - "nameLocation": "21130:6:11", + "nameLocation": "21130:6:24", "nodeType": "VariableDeclaration", - "scope": 5518, - "src": "21122:14:11", + "scope": 7124, + "src": "21122:14:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -172440,10 +191415,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5513, + "id": 7119, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "21122:7:11", + "src": "21122:7:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -172452,58 +191427,58 @@ "visibility": "internal" } ], - "src": "21121:16:11" + "src": "21121:16:24" }, - "scope": 6134, - "src": "21063:627:11", + "scope": 7740, + "src": "21063:627:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5527, + "id": 7133, "nodeType": "Block", - "src": "21883:665:11", + "src": "21883:665:24", "statements": [ { "AST": { - "nativeSrc": "21945:597:11", + "nativeSrc": "21945:597:24", "nodeType": "YulBlock", - "src": "21945:597:11", + "src": "21945:597:24", "statements": [ { - "nativeSrc": "21959:11:11", + "nativeSrc": "21959:11:24", "nodeType": "YulAssignment", - "src": "21959:11:11", + "src": "21959:11:24", "value": { "kind": "number", - "nativeSrc": "21969:1:11", + "nativeSrc": "21969:1:24", "nodeType": "YulLiteral", - "src": "21969:1:11", + "src": "21969:1:24", "type": "", "value": "1" }, "variableNames": [ { "name": "result", - "nativeSrc": "21959:6:11", + "nativeSrc": "21959:6:24", "nodeType": "YulIdentifier", - "src": "21959:6:11" + "src": "21959:6:24" } ] }, { - "nativeSrc": "21983:36:11", + "nativeSrc": "21983:36:24", "nodeType": "YulVariableDeclaration", - "src": "21983:36:11", + "src": "21983:36:24", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "21999:1:11", + "nativeSrc": "21999:1:24", "nodeType": "YulLiteral", - "src": "21999:1:11", + "src": "21999:1:24", "type": "", "value": "7" }, @@ -172513,211 +191488,211 @@ "arguments": [ { "kind": "number", - "nativeSrc": "22010:1:11", + "nativeSrc": "22010:1:24", "nodeType": "YulLiteral", - "src": "22010:1:11", + "src": "22010:1:24", "type": "", "value": "0" } ], "functionName": { "name": "not", - "nativeSrc": "22006:3:11", + "nativeSrc": "22006:3:24", "nodeType": "YulIdentifier", - "src": "22006:3:11" + "src": "22006:3:24" }, - "nativeSrc": "22006:6:11", + "nativeSrc": "22006:6:24", "nodeType": "YulFunctionCall", - "src": "22006:6:11" + "src": "22006:6:24" }, { "kind": "number", - "nativeSrc": "22014:3:11", + "nativeSrc": "22014:3:24", "nodeType": "YulLiteral", - "src": "22014:3:11", + "src": "22014:3:24", "type": "", "value": "255" } ], "functionName": { "name": "div", - "nativeSrc": "22002:3:11", + "nativeSrc": "22002:3:24", "nodeType": "YulIdentifier", - "src": "22002:3:11" + "src": "22002:3:24" }, - "nativeSrc": "22002:16:11", + "nativeSrc": "22002:16:24", "nodeType": "YulFunctionCall", - "src": "22002:16:11" + "src": "22002:16:24" } ], "functionName": { "name": "shl", - "nativeSrc": "21995:3:11", + "nativeSrc": "21995:3:24", "nodeType": "YulIdentifier", - "src": "21995:3:11" + "src": "21995:3:24" }, - "nativeSrc": "21995:24:11", + "nativeSrc": "21995:24:24", "nodeType": "YulFunctionCall", - "src": "21995:24:11" + "src": "21995:24:24" }, "variables": [ { "name": "mask", - "nativeSrc": "21987:4:11", + "nativeSrc": "21987:4:24", "nodeType": "YulTypedName", - "src": "21987:4:11", + "src": "21987:4:24", "type": "" } ] }, { - "nativeSrc": "22032:17:11", + "nativeSrc": "22032:17:24", "nodeType": "YulVariableDeclaration", - "src": "22032:17:11", + "src": "22032:17:24", "value": { "arguments": [ { "name": "s", - "nativeSrc": "22047:1:11", + "nativeSrc": "22047:1:24", "nodeType": "YulIdentifier", - "src": "22047:1:11" + "src": "22047:1:24" } ], "functionName": { "name": "mload", - "nativeSrc": "22041:5:11", + "nativeSrc": "22041:5:24", "nodeType": "YulIdentifier", - "src": "22041:5:11" + "src": "22041:5:24" }, - "nativeSrc": "22041:8:11", + "nativeSrc": "22041:8:24", "nodeType": "YulFunctionCall", - "src": "22041:8:11" + "src": "22041:8:24" }, "variables": [ { "name": "n", - "nativeSrc": "22036:1:11", + "nativeSrc": "22036:1:24", "nodeType": "YulTypedName", - "src": "22036:1:11", + "src": "22036:1:24", "type": "" } ] }, { "body": { - "nativeSrc": "22067:465:11", + "nativeSrc": "22067:465:24", "nodeType": "YulBlock", - "src": "22067:465:11", + "src": "22067:465:24", "statements": [ { - "nativeSrc": "22085:21:11", + "nativeSrc": "22085:21:24", "nodeType": "YulVariableDeclaration", - "src": "22085:21:11", + "src": "22085:21:24", "value": { "arguments": [ { "name": "s", - "nativeSrc": "22098:1:11", + "nativeSrc": "22098:1:24", "nodeType": "YulIdentifier", - "src": "22098:1:11" + "src": "22098:1:24" }, { "kind": "number", - "nativeSrc": "22101:4:11", + "nativeSrc": "22101:4:24", "nodeType": "YulLiteral", - "src": "22101:4:11", + "src": "22101:4:24", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "22094:3:11", + "nativeSrc": "22094:3:24", "nodeType": "YulIdentifier", - "src": "22094:3:11" + "src": "22094:3:24" }, - "nativeSrc": "22094:12:11", + "nativeSrc": "22094:12:24", "nodeType": "YulFunctionCall", - "src": "22094:12:11" + "src": "22094:12:24" }, "variables": [ { "name": "o", - "nativeSrc": "22089:1:11", + "nativeSrc": "22089:1:24", "nodeType": "YulTypedName", - "src": "22089:1:11", + "src": "22089:1:24", "type": "" } ] }, { - "nativeSrc": "22123:20:11", + "nativeSrc": "22123:20:24", "nodeType": "YulVariableDeclaration", - "src": "22123:20:11", + "src": "22123:20:24", "value": { "arguments": [ { "name": "o", - "nativeSrc": "22138:1:11", + "nativeSrc": "22138:1:24", "nodeType": "YulIdentifier", - "src": "22138:1:11" + "src": "22138:1:24" }, { "name": "n", - "nativeSrc": "22141:1:11", + "nativeSrc": "22141:1:24", "nodeType": "YulIdentifier", - "src": "22141:1:11" + "src": "22141:1:24" } ], "functionName": { "name": "add", - "nativeSrc": "22134:3:11", + "nativeSrc": "22134:3:24", "nodeType": "YulIdentifier", - "src": "22134:3:11" + "src": "22134:3:24" }, - "nativeSrc": "22134:9:11", + "nativeSrc": "22134:9:24", "nodeType": "YulFunctionCall", - "src": "22134:9:11" + "src": "22134:9:24" }, "variables": [ { "name": "end", - "nativeSrc": "22127:3:11", + "nativeSrc": "22127:3:24", "nodeType": "YulTypedName", - "src": "22127:3:11", + "src": "22127:3:24", "type": "" } ] }, { - "nativeSrc": "22160:22:11", + "nativeSrc": "22160:22:24", "nodeType": "YulVariableDeclaration", - "src": "22160:22:11", + "src": "22160:22:24", "value": { "arguments": [ { "name": "end", - "nativeSrc": "22178:3:11", + "nativeSrc": "22178:3:24", "nodeType": "YulIdentifier", - "src": "22178:3:11" + "src": "22178:3:24" } ], "functionName": { "name": "mload", - "nativeSrc": "22172:5:11", + "nativeSrc": "22172:5:24", "nodeType": "YulIdentifier", - "src": "22172:5:11" + "src": "22172:5:24" }, - "nativeSrc": "22172:10:11", + "nativeSrc": "22172:10:24", "nodeType": "YulFunctionCall", - "src": "22172:10:11" + "src": "22172:10:24" }, "variables": [ { "name": "last", - "nativeSrc": "22164:4:11", + "nativeSrc": "22164:4:24", "nodeType": "YulTypedName", - "src": "22164:4:11", + "src": "22164:4:24", "type": "" } ] @@ -172727,70 +191702,70 @@ "arguments": [ { "name": "end", - "nativeSrc": "22206:3:11", + "nativeSrc": "22206:3:24", "nodeType": "YulIdentifier", - "src": "22206:3:11" + "src": "22206:3:24" }, { "kind": "number", - "nativeSrc": "22211:1:11", + "nativeSrc": "22211:1:24", "nodeType": "YulLiteral", - "src": "22211:1:11", + "src": "22211:1:24", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "22199:6:11", + "nativeSrc": "22199:6:24", "nodeType": "YulIdentifier", - "src": "22199:6:11" + "src": "22199:6:24" }, - "nativeSrc": "22199:14:11", + "nativeSrc": "22199:14:24", "nodeType": "YulFunctionCall", - "src": "22199:14:11" + "src": "22199:14:24" }, - "nativeSrc": "22199:14:11", + "nativeSrc": "22199:14:24", "nodeType": "YulExpressionStatement", - "src": "22199:14:11" + "src": "22199:14:24" }, { "body": { - "nativeSrc": "22242:242:11", + "nativeSrc": "22242:242:24", "nodeType": "YulBlock", - "src": "22242:242:11", + "src": "22242:242:24", "statements": [ { "body": { - "nativeSrc": "22287:89:11", + "nativeSrc": "22287:89:24", "nodeType": "YulBlock", - "src": "22287:89:11", + "src": "22287:89:24", "statements": [ { - "nativeSrc": "22313:11:11", + "nativeSrc": "22313:11:24", "nodeType": "YulAssignment", - "src": "22313:11:11", + "src": "22313:11:24", "value": { "kind": "number", - "nativeSrc": "22323:1:11", + "nativeSrc": "22323:1:24", "nodeType": "YulLiteral", - "src": "22323:1:11", + "src": "22323:1:24", "type": "", "value": "0" }, "variableNames": [ { "name": "result", - "nativeSrc": "22313:6:11", + "nativeSrc": "22313:6:24", "nodeType": "YulIdentifier", - "src": "22313:6:11" + "src": "22313:6:24" } ] }, { - "nativeSrc": "22349:5:11", + "nativeSrc": "22349:5:24", "nodeType": "YulBreak", - "src": "22349:5:11" + "src": "22349:5:24" } ] }, @@ -172798,94 +191773,94 @@ "arguments": [ { "name": "mask", - "nativeSrc": "22271:4:11", + "nativeSrc": "22271:4:24", "nodeType": "YulIdentifier", - "src": "22271:4:11" + "src": "22271:4:24" }, { "arguments": [ { "name": "o", - "nativeSrc": "22283:1:11", + "nativeSrc": "22283:1:24", "nodeType": "YulIdentifier", - "src": "22283:1:11" + "src": "22283:1:24" } ], "functionName": { "name": "mload", - "nativeSrc": "22277:5:11", + "nativeSrc": "22277:5:24", "nodeType": "YulIdentifier", - "src": "22277:5:11" + "src": "22277:5:24" }, - "nativeSrc": "22277:8:11", + "nativeSrc": "22277:8:24", "nodeType": "YulFunctionCall", - "src": "22277:8:11" + "src": "22277:8:24" } ], "functionName": { "name": "and", - "nativeSrc": "22267:3:11", + "nativeSrc": "22267:3:24", "nodeType": "YulIdentifier", - "src": "22267:3:11" + "src": "22267:3:24" }, - "nativeSrc": "22267:19:11", + "nativeSrc": "22267:19:24", "nodeType": "YulFunctionCall", - "src": "22267:19:11" + "src": "22267:19:24" }, - "nativeSrc": "22264:112:11", + "nativeSrc": "22264:112:24", "nodeType": "YulIf", - "src": "22264:112:11" + "src": "22264:112:24" }, { - "nativeSrc": "22397:17:11", + "nativeSrc": "22397:17:24", "nodeType": "YulAssignment", - "src": "22397:17:11", + "src": "22397:17:24", "value": { "arguments": [ { "name": "o", - "nativeSrc": "22406:1:11", + "nativeSrc": "22406:1:24", "nodeType": "YulIdentifier", - "src": "22406:1:11" + "src": "22406:1:24" }, { "kind": "number", - "nativeSrc": "22409:4:11", + "nativeSrc": "22409:4:24", "nodeType": "YulLiteral", - "src": "22409:4:11", + "src": "22409:4:24", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "22402:3:11", + "nativeSrc": "22402:3:24", "nodeType": "YulIdentifier", - "src": "22402:3:11" + "src": "22402:3:24" }, - "nativeSrc": "22402:12:11", + "nativeSrc": "22402:12:24", "nodeType": "YulFunctionCall", - "src": "22402:12:11" + "src": "22402:12:24" }, "variableNames": [ { "name": "o", - "nativeSrc": "22397:1:11", + "nativeSrc": "22397:1:24", "nodeType": "YulIdentifier", - "src": "22397:1:11" + "src": "22397:1:24" } ] }, { "body": { - "nativeSrc": "22457:9:11", + "nativeSrc": "22457:9:24", "nodeType": "YulBlock", - "src": "22457:9:11", + "src": "22457:9:24", "statements": [ { - "nativeSrc": "22459:5:11", + "nativeSrc": "22459:5:24", "nodeType": "YulBreak", - "src": "22459:5:11" + "src": "22459:5:24" } ] }, @@ -172895,109 +191870,109 @@ "arguments": [ { "name": "o", - "nativeSrc": "22448:1:11", + "nativeSrc": "22448:1:24", "nodeType": "YulIdentifier", - "src": "22448:1:11" + "src": "22448:1:24" }, { "name": "end", - "nativeSrc": "22451:3:11", + "nativeSrc": "22451:3:24", "nodeType": "YulIdentifier", - "src": "22451:3:11" + "src": "22451:3:24" } ], "functionName": { "name": "lt", - "nativeSrc": "22445:2:11", + "nativeSrc": "22445:2:24", "nodeType": "YulIdentifier", - "src": "22445:2:11" + "src": "22445:2:24" }, - "nativeSrc": "22445:10:11", + "nativeSrc": "22445:10:24", "nodeType": "YulFunctionCall", - "src": "22445:10:11" + "src": "22445:10:24" } ], "functionName": { "name": "iszero", - "nativeSrc": "22438:6:11", + "nativeSrc": "22438:6:24", "nodeType": "YulIdentifier", - "src": "22438:6:11" + "src": "22438:6:24" }, - "nativeSrc": "22438:18:11", + "nativeSrc": "22438:18:24", "nodeType": "YulFunctionCall", - "src": "22438:18:11" + "src": "22438:18:24" }, - "nativeSrc": "22435:31:11", + "nativeSrc": "22435:31:24", "nodeType": "YulIf", - "src": "22435:31:11" + "src": "22435:31:24" } ] }, "condition": { "kind": "number", - "nativeSrc": "22237:1:11", + "nativeSrc": "22237:1:24", "nodeType": "YulLiteral", - "src": "22237:1:11", + "src": "22237:1:24", "type": "", "value": "1" }, - "nativeSrc": "22230:254:11", + "nativeSrc": "22230:254:24", "nodeType": "YulForLoop", "post": { - "nativeSrc": "22239:2:11", + "nativeSrc": "22239:2:24", "nodeType": "YulBlock", - "src": "22239:2:11", + "src": "22239:2:24", "statements": [] }, "pre": { - "nativeSrc": "22234:2:11", + "nativeSrc": "22234:2:24", "nodeType": "YulBlock", - "src": "22234:2:11", + "src": "22234:2:24", "statements": [] }, - "src": "22230:254:11" + "src": "22230:254:24" }, { "expression": { "arguments": [ { "name": "end", - "nativeSrc": "22508:3:11", + "nativeSrc": "22508:3:24", "nodeType": "YulIdentifier", - "src": "22508:3:11" + "src": "22508:3:24" }, { "name": "last", - "nativeSrc": "22513:4:11", + "nativeSrc": "22513:4:24", "nodeType": "YulIdentifier", - "src": "22513:4:11" + "src": "22513:4:24" } ], "functionName": { "name": "mstore", - "nativeSrc": "22501:6:11", + "nativeSrc": "22501:6:24", "nodeType": "YulIdentifier", - "src": "22501:6:11" + "src": "22501:6:24" }, - "nativeSrc": "22501:17:11", + "nativeSrc": "22501:17:24", "nodeType": "YulFunctionCall", - "src": "22501:17:11" + "src": "22501:17:24" }, - "nativeSrc": "22501:17:11", + "nativeSrc": "22501:17:24", "nodeType": "YulExpressionStatement", - "src": "22501:17:11" + "src": "22501:17:24" } ] }, "condition": { "name": "n", - "nativeSrc": "22065:1:11", + "nativeSrc": "22065:1:24", "nodeType": "YulIdentifier", - "src": "22065:1:11" + "src": "22065:1:24" }, - "nativeSrc": "22062:470:11", + "nativeSrc": "22062:470:24", "nodeType": "YulIf", - "src": "22062:470:11" + "src": "22062:470:24" } ] }, @@ -173005,66 +191980,66 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5524, + "declaration": 7130, "isOffset": false, "isSlot": false, - "src": "21959:6:11", + "src": "21959:6:24", "valueSize": 1 }, { - "declaration": 5524, + "declaration": 7130, "isOffset": false, "isSlot": false, - "src": "22313:6:11", + "src": "22313:6:24", "valueSize": 1 }, { - "declaration": 5521, + "declaration": 7127, "isOffset": false, "isSlot": false, - "src": "22047:1:11", + "src": "22047:1:24", "valueSize": 1 }, { - "declaration": 5521, + "declaration": 7127, "isOffset": false, "isSlot": false, - "src": "22098:1:11", + "src": "22098:1:24", "valueSize": 1 } ], - "id": 5526, + "id": 7132, "nodeType": "InlineAssembly", - "src": "21936:606:11" + "src": "21936:606:24" } ] }, "documentation": { - "id": 5519, + "id": 7125, "nodeType": "StructuredDocumentation", - "src": "21696:108:11", + "src": "21696:108:24", "text": "@dev Returns if this string is a 7-bit ASCII string.\n (i.e. all characters codes are in [0..127])" }, - "id": 5528, + "id": 7134, "implemented": true, "kind": "function", "modifiers": [], "name": "is7BitASCII", - "nameLocation": "21818:11:11", + "nameLocation": "21818:11:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 5522, + "id": 7128, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5521, + "id": 7127, "mutability": "mutable", "name": "s", - "nameLocation": "21844:1:11", + "nameLocation": "21844:1:24", "nodeType": "VariableDeclaration", - "scope": 5528, - "src": "21830:15:11", + "scope": 7134, + "src": "21830:15:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -173072,10 +192047,10 @@ "typeString": "string" }, "typeName": { - "id": 5520, + "id": 7126, "name": "string", "nodeType": "ElementaryTypeName", - "src": "21830:6:11", + "src": "21830:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -173084,21 +192059,21 @@ "visibility": "internal" } ], - "src": "21829:17:11" + "src": "21829:17:24" }, "returnParameters": { - "id": 5525, + "id": 7131, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5524, + "id": 7130, "mutability": "mutable", "name": "result", - "nameLocation": "21875:6:11", + "nameLocation": "21875:6:24", "nodeType": "VariableDeclaration", - "scope": 5528, - "src": "21870:11:11", + "scope": 7134, + "src": "21870:11:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -173106,10 +192081,10 @@ "typeString": "bool" }, "typeName": { - "id": 5523, + "id": 7129, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "21870:4:11", + "src": "21870:4:24", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -173118,64 +192093,64 @@ "visibility": "internal" } ], - "src": "21869:13:11" + "src": "21869:13:24" }, - "scope": 6134, - "src": "21809:739:11", + "scope": 7740, + "src": "21809:739:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5539, + "id": 7145, "nodeType": "Block", - "src": "22831:494:11", + "src": "22831:494:24", "statements": [ { "AST": { - "nativeSrc": "22893:426:11", + "nativeSrc": "22893:426:24", "nodeType": "YulBlock", - "src": "22893:426:11", + "src": "22893:426:24", "statements": [ { - "nativeSrc": "22907:11:11", + "nativeSrc": "22907:11:24", "nodeType": "YulAssignment", - "src": "22907:11:11", + "src": "22907:11:24", "value": { "kind": "number", - "nativeSrc": "22917:1:11", + "nativeSrc": "22917:1:24", "nodeType": "YulLiteral", - "src": "22917:1:11", + "src": "22917:1:24", "type": "", "value": "1" }, "variableNames": [ { "name": "result", - "nativeSrc": "22907:6:11", + "nativeSrc": "22907:6:24", "nodeType": "YulIdentifier", - "src": "22907:6:11" + "src": "22907:6:24" } ] }, { "body": { - "nativeSrc": "22943:366:11", + "nativeSrc": "22943:366:24", "nodeType": "YulBlock", - "src": "22943:366:11", + "src": "22943:366:24", "statements": [ { - "nativeSrc": "22961:43:11", + "nativeSrc": "22961:43:24", "nodeType": "YulVariableDeclaration", - "src": "22961:43:11", + "src": "22961:43:24", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "22981:3:11", + "nativeSrc": "22981:3:24", "nodeType": "YulLiteral", - "src": "22981:3:11", + "src": "22981:3:24", "type": "", "value": "128" }, @@ -173183,108 +192158,108 @@ "arguments": [ { "kind": "number", - "nativeSrc": "22990:3:11", + "nativeSrc": "22990:3:24", "nodeType": "YulLiteral", - "src": "22990:3:11", + "src": "22990:3:24", "type": "", "value": "128" }, { "name": "allowed", - "nativeSrc": "22995:7:11", + "nativeSrc": "22995:7:24", "nodeType": "YulIdentifier", - "src": "22995:7:11" + "src": "22995:7:24" } ], "functionName": { "name": "shl", - "nativeSrc": "22986:3:11", + "nativeSrc": "22986:3:24", "nodeType": "YulIdentifier", - "src": "22986:3:11" + "src": "22986:3:24" }, - "nativeSrc": "22986:17:11", + "nativeSrc": "22986:17:24", "nodeType": "YulFunctionCall", - "src": "22986:17:11" + "src": "22986:17:24" } ], "functionName": { "name": "shr", - "nativeSrc": "22977:3:11", + "nativeSrc": "22977:3:24", "nodeType": "YulIdentifier", - "src": "22977:3:11" + "src": "22977:3:24" }, - "nativeSrc": "22977:27:11", + "nativeSrc": "22977:27:24", "nodeType": "YulFunctionCall", - "src": "22977:27:11" + "src": "22977:27:24" }, "variables": [ { "name": "allowed_", - "nativeSrc": "22965:8:11", + "nativeSrc": "22965:8:24", "nodeType": "YulTypedName", - "src": "22965:8:11", + "src": "22965:8:24", "type": "" } ] }, { - "nativeSrc": "23021:21:11", + "nativeSrc": "23021:21:24", "nodeType": "YulVariableDeclaration", - "src": "23021:21:11", + "src": "23021:21:24", "value": { "arguments": [ { "name": "s", - "nativeSrc": "23034:1:11", + "nativeSrc": "23034:1:24", "nodeType": "YulIdentifier", - "src": "23034:1:11" + "src": "23034:1:24" }, { "kind": "number", - "nativeSrc": "23037:4:11", + "nativeSrc": "23037:4:24", "nodeType": "YulLiteral", - "src": "23037:4:11", + "src": "23037:4:24", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "23030:3:11", + "nativeSrc": "23030:3:24", "nodeType": "YulIdentifier", - "src": "23030:3:11" + "src": "23030:3:24" }, - "nativeSrc": "23030:12:11", + "nativeSrc": "23030:12:24", "nodeType": "YulFunctionCall", - "src": "23030:12:11" + "src": "23030:12:24" }, "variables": [ { "name": "o", - "nativeSrc": "23025:1:11", + "nativeSrc": "23025:1:24", "nodeType": "YulTypedName", - "src": "23025:1:11", + "src": "23025:1:24", "type": "" } ] }, { "body": { - "nativeSrc": "23100:195:11", + "nativeSrc": "23100:195:24", "nodeType": "YulBlock", - "src": "23100:195:11", + "src": "23100:195:24", "statements": [ { - "nativeSrc": "23122:55:11", + "nativeSrc": "23122:55:24", "nodeType": "YulAssignment", - "src": "23122:55:11", + "src": "23122:55:24", "value": { "arguments": [ { "name": "result", - "nativeSrc": "23136:6:11", + "nativeSrc": "23136:6:24", "nodeType": "YulIdentifier", - "src": "23136:6:11" + "src": "23136:6:24" }, { "arguments": [ @@ -173292,9 +192267,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "23153:1:11", + "nativeSrc": "23153:1:24", "nodeType": "YulLiteral", - "src": "23153:1:11", + "src": "23153:1:24", "type": "", "value": "0" }, @@ -173302,119 +192277,119 @@ "arguments": [ { "name": "o", - "nativeSrc": "23162:1:11", + "nativeSrc": "23162:1:24", "nodeType": "YulIdentifier", - "src": "23162:1:11" + "src": "23162:1:24" } ], "functionName": { "name": "mload", - "nativeSrc": "23156:5:11", + "nativeSrc": "23156:5:24", "nodeType": "YulIdentifier", - "src": "23156:5:11" + "src": "23156:5:24" }, - "nativeSrc": "23156:8:11", + "nativeSrc": "23156:8:24", "nodeType": "YulFunctionCall", - "src": "23156:8:11" + "src": "23156:8:24" } ], "functionName": { "name": "byte", - "nativeSrc": "23148:4:11", + "nativeSrc": "23148:4:24", "nodeType": "YulIdentifier", - "src": "23148:4:11" + "src": "23148:4:24" }, - "nativeSrc": "23148:17:11", + "nativeSrc": "23148:17:24", "nodeType": "YulFunctionCall", - "src": "23148:17:11" + "src": "23148:17:24" }, { "name": "allowed_", - "nativeSrc": "23167:8:11", + "nativeSrc": "23167:8:24", "nodeType": "YulIdentifier", - "src": "23167:8:11" + "src": "23167:8:24" } ], "functionName": { "name": "shr", - "nativeSrc": "23144:3:11", + "nativeSrc": "23144:3:24", "nodeType": "YulIdentifier", - "src": "23144:3:11" + "src": "23144:3:24" }, - "nativeSrc": "23144:32:11", + "nativeSrc": "23144:32:24", "nodeType": "YulFunctionCall", - "src": "23144:32:11" + "src": "23144:32:24" } ], "functionName": { "name": "and", - "nativeSrc": "23132:3:11", + "nativeSrc": "23132:3:24", "nodeType": "YulIdentifier", - "src": "23132:3:11" + "src": "23132:3:24" }, - "nativeSrc": "23132:45:11", + "nativeSrc": "23132:45:24", "nodeType": "YulFunctionCall", - "src": "23132:45:11" + "src": "23132:45:24" }, "variableNames": [ { "name": "result", - "nativeSrc": "23122:6:11", + "nativeSrc": "23122:6:24", "nodeType": "YulIdentifier", - "src": "23122:6:11" + "src": "23122:6:24" } ] }, { - "nativeSrc": "23198:14:11", + "nativeSrc": "23198:14:24", "nodeType": "YulAssignment", - "src": "23198:14:11", + "src": "23198:14:24", "value": { "arguments": [ { "name": "o", - "nativeSrc": "23207:1:11", + "nativeSrc": "23207:1:24", "nodeType": "YulIdentifier", - "src": "23207:1:11" + "src": "23207:1:24" }, { "kind": "number", - "nativeSrc": "23210:1:11", + "nativeSrc": "23210:1:24", "nodeType": "YulLiteral", - "src": "23210:1:11", + "src": "23210:1:24", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "23203:3:11", + "nativeSrc": "23203:3:24", "nodeType": "YulIdentifier", - "src": "23203:3:11" + "src": "23203:3:24" }, - "nativeSrc": "23203:9:11", + "nativeSrc": "23203:9:24", "nodeType": "YulFunctionCall", - "src": "23203:9:11" + "src": "23203:9:24" }, "variableNames": [ { "name": "o", - "nativeSrc": "23198:1:11", + "nativeSrc": "23198:1:24", "nodeType": "YulIdentifier", - "src": "23198:1:11" + "src": "23198:1:24" } ] }, { "body": { - "nativeSrc": "23268:9:11", + "nativeSrc": "23268:9:24", "nodeType": "YulBlock", - "src": "23268:9:11", + "src": "23268:9:24", "statements": [ { - "nativeSrc": "23270:5:11", + "nativeSrc": "23270:5:24", "nodeType": "YulBreak", - "src": "23270:5:11" + "src": "23270:5:24" } ] }, @@ -173424,139 +192399,139 @@ "arguments": [ { "name": "result", - "nativeSrc": "23247:6:11", + "nativeSrc": "23247:6:24", "nodeType": "YulIdentifier", - "src": "23247:6:11" + "src": "23247:6:24" }, { "arguments": [ { "name": "o", - "nativeSrc": "23258:1:11", + "nativeSrc": "23258:1:24", "nodeType": "YulIdentifier", - "src": "23258:1:11" + "src": "23258:1:24" }, { "name": "end", - "nativeSrc": "23261:3:11", + "nativeSrc": "23261:3:24", "nodeType": "YulIdentifier", - "src": "23261:3:11" + "src": "23261:3:24" } ], "functionName": { "name": "lt", - "nativeSrc": "23255:2:11", + "nativeSrc": "23255:2:24", "nodeType": "YulIdentifier", - "src": "23255:2:11" + "src": "23255:2:24" }, - "nativeSrc": "23255:10:11", + "nativeSrc": "23255:10:24", "nodeType": "YulFunctionCall", - "src": "23255:10:11" + "src": "23255:10:24" } ], "functionName": { "name": "and", - "nativeSrc": "23243:3:11", + "nativeSrc": "23243:3:24", "nodeType": "YulIdentifier", - "src": "23243:3:11" + "src": "23243:3:24" }, - "nativeSrc": "23243:23:11", + "nativeSrc": "23243:23:24", "nodeType": "YulFunctionCall", - "src": "23243:23:11" + "src": "23243:23:24" } ], "functionName": { "name": "iszero", - "nativeSrc": "23236:6:11", + "nativeSrc": "23236:6:24", "nodeType": "YulIdentifier", - "src": "23236:6:11" + "src": "23236:6:24" }, - "nativeSrc": "23236:31:11", + "nativeSrc": "23236:31:24", "nodeType": "YulFunctionCall", - "src": "23236:31:11" + "src": "23236:31:24" }, - "nativeSrc": "23233:44:11", + "nativeSrc": "23233:44:24", "nodeType": "YulIf", - "src": "23233:44:11" + "src": "23233:44:24" } ] }, "condition": { "kind": "number", - "nativeSrc": "23095:1:11", + "nativeSrc": "23095:1:24", "nodeType": "YulLiteral", - "src": "23095:1:11", + "src": "23095:1:24", "type": "", "value": "1" }, - "nativeSrc": "23059:236:11", + "nativeSrc": "23059:236:24", "nodeType": "YulForLoop", "post": { - "nativeSrc": "23097:2:11", + "nativeSrc": "23097:2:24", "nodeType": "YulBlock", - "src": "23097:2:11", + "src": "23097:2:24", "statements": [] }, "pre": { - "nativeSrc": "23063:31:11", + "nativeSrc": "23063:31:24", "nodeType": "YulBlock", - "src": "23063:31:11", + "src": "23063:31:24", "statements": [ { - "nativeSrc": "23065:27:11", + "nativeSrc": "23065:27:24", "nodeType": "YulVariableDeclaration", - "src": "23065:27:11", + "src": "23065:27:24", "value": { "arguments": [ { "name": "o", - "nativeSrc": "23080:1:11", + "nativeSrc": "23080:1:24", "nodeType": "YulIdentifier", - "src": "23080:1:11" + "src": "23080:1:24" }, { "arguments": [ { "name": "s", - "nativeSrc": "23089:1:11", + "nativeSrc": "23089:1:24", "nodeType": "YulIdentifier", - "src": "23089:1:11" + "src": "23089:1:24" } ], "functionName": { "name": "mload", - "nativeSrc": "23083:5:11", + "nativeSrc": "23083:5:24", "nodeType": "YulIdentifier", - "src": "23083:5:11" + "src": "23083:5:24" }, - "nativeSrc": "23083:8:11", + "nativeSrc": "23083:8:24", "nodeType": "YulFunctionCall", - "src": "23083:8:11" + "src": "23083:8:24" } ], "functionName": { "name": "add", - "nativeSrc": "23076:3:11", + "nativeSrc": "23076:3:24", "nodeType": "YulIdentifier", - "src": "23076:3:11" + "src": "23076:3:24" }, - "nativeSrc": "23076:16:11", + "nativeSrc": "23076:16:24", "nodeType": "YulFunctionCall", - "src": "23076:16:11" + "src": "23076:16:24" }, "variables": [ { "name": "end", - "nativeSrc": "23069:3:11", + "nativeSrc": "23069:3:24", "nodeType": "YulTypedName", - "src": "23069:3:11", + "src": "23069:3:24", "type": "" } ] } ] }, - "src": "23059:236:11" + "src": "23059:236:24" } ] }, @@ -173564,24 +192539,24 @@ "arguments": [ { "name": "s", - "nativeSrc": "22940:1:11", + "nativeSrc": "22940:1:24", "nodeType": "YulIdentifier", - "src": "22940:1:11" + "src": "22940:1:24" } ], "functionName": { "name": "mload", - "nativeSrc": "22934:5:11", + "nativeSrc": "22934:5:24", "nodeType": "YulIdentifier", - "src": "22934:5:11" + "src": "22934:5:24" }, - "nativeSrc": "22934:8:11", + "nativeSrc": "22934:8:24", "nodeType": "YulFunctionCall", - "src": "22934:8:11" + "src": "22934:8:24" }, - "nativeSrc": "22931:378:11", + "nativeSrc": "22931:378:24", "nodeType": "YulIf", - "src": "22931:378:11" + "src": "22931:378:24" } ] }, @@ -173589,94 +192564,94 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5533, + "declaration": 7139, "isOffset": false, "isSlot": false, - "src": "22995:7:11", + "src": "22995:7:24", "valueSize": 1 }, { - "declaration": 5536, + "declaration": 7142, "isOffset": false, "isSlot": false, - "src": "22907:6:11", + "src": "22907:6:24", "valueSize": 1 }, { - "declaration": 5536, + "declaration": 7142, "isOffset": false, "isSlot": false, - "src": "23122:6:11", + "src": "23122:6:24", "valueSize": 1 }, { - "declaration": 5536, + "declaration": 7142, "isOffset": false, "isSlot": false, - "src": "23136:6:11", + "src": "23136:6:24", "valueSize": 1 }, { - "declaration": 5536, + "declaration": 7142, "isOffset": false, "isSlot": false, - "src": "23247:6:11", + "src": "23247:6:24", "valueSize": 1 }, { - "declaration": 5531, + "declaration": 7137, "isOffset": false, "isSlot": false, - "src": "22940:1:11", + "src": "22940:1:24", "valueSize": 1 }, { - "declaration": 5531, + "declaration": 7137, "isOffset": false, "isSlot": false, - "src": "23034:1:11", + "src": "23034:1:24", "valueSize": 1 }, { - "declaration": 5531, + "declaration": 7137, "isOffset": false, "isSlot": false, - "src": "23089:1:11", + "src": "23089:1:24", "valueSize": 1 } ], - "id": 5538, + "id": 7144, "nodeType": "InlineAssembly", - "src": "22884:435:11" + "src": "22884:435:24" } ] }, "documentation": { - "id": 5529, + "id": 7135, "nodeType": "StructuredDocumentation", - "src": "22554:181:11", + "src": "22554:181:24", "text": "@dev Returns if this string is a 7-bit ASCII string,\n AND all characters are in the `allowed` lookup.\n Note: If `s` is empty, returns true regardless of `allowed`." }, - "id": 5540, + "id": 7146, "implemented": true, "kind": "function", "modifiers": [], "name": "is7BitASCII", - "nameLocation": "22749:11:11", + "nameLocation": "22749:11:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 5534, + "id": 7140, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5531, + "id": 7137, "mutability": "mutable", "name": "s", - "nameLocation": "22775:1:11", + "nameLocation": "22775:1:24", "nodeType": "VariableDeclaration", - "scope": 5540, - "src": "22761:15:11", + "scope": 7146, + "src": "22761:15:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -173684,10 +192659,10 @@ "typeString": "string" }, "typeName": { - "id": 5530, + "id": 7136, "name": "string", "nodeType": "ElementaryTypeName", - "src": "22761:6:11", + "src": "22761:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -173697,13 +192672,13 @@ }, { "constant": false, - "id": 5533, + "id": 7139, "mutability": "mutable", "name": "allowed", - "nameLocation": "22786:7:11", + "nameLocation": "22786:7:24", "nodeType": "VariableDeclaration", - "scope": 5540, - "src": "22778:15:11", + "scope": 7146, + "src": "22778:15:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -173711,10 +192686,10 @@ "typeString": "uint128" }, "typeName": { - "id": 5532, + "id": 7138, "name": "uint128", "nodeType": "ElementaryTypeName", - "src": "22778:7:11", + "src": "22778:7:24", "typeDescriptions": { "typeIdentifier": "t_uint128", "typeString": "uint128" @@ -173723,21 +192698,21 @@ "visibility": "internal" } ], - "src": "22760:34:11" + "src": "22760:34:24" }, "returnParameters": { - "id": 5537, + "id": 7143, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5536, + "id": 7142, "mutability": "mutable", "name": "result", - "nameLocation": "22823:6:11", + "nameLocation": "22823:6:24", "nodeType": "VariableDeclaration", - "scope": 5540, - "src": "22818:11:11", + "scope": 7146, + "src": "22818:11:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -173745,10 +192720,10 @@ "typeString": "bool" }, "typeName": { - "id": 5535, + "id": 7141, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "22818:4:11", + "src": "22818:4:24", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -173757,90 +192732,90 @@ "visibility": "internal" } ], - "src": "22817:13:11" + "src": "22817:13:24" }, - "scope": 6134, - "src": "22740:585:11", + "scope": 7740, + "src": "22740:585:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5549, + "id": 7155, "nodeType": "Block", - "src": "23630:556:11", + "src": "23630:556:24", "statements": [ { "AST": { - "nativeSrc": "23692:488:11", + "nativeSrc": "23692:488:24", "nodeType": "YulBlock", - "src": "23692:488:11", + "src": "23692:488:24", "statements": [ { "body": { - "nativeSrc": "23718:452:11", + "nativeSrc": "23718:452:24", "nodeType": "YulBlock", - "src": "23718:452:11", + "src": "23718:452:24", "statements": [ { - "nativeSrc": "23736:21:11", + "nativeSrc": "23736:21:24", "nodeType": "YulVariableDeclaration", - "src": "23736:21:11", + "src": "23736:21:24", "value": { "arguments": [ { "name": "s", - "nativeSrc": "23749:1:11", + "nativeSrc": "23749:1:24", "nodeType": "YulIdentifier", - "src": "23749:1:11" + "src": "23749:1:24" }, { "kind": "number", - "nativeSrc": "23752:4:11", + "nativeSrc": "23752:4:24", "nodeType": "YulLiteral", - "src": "23752:4:11", + "src": "23752:4:24", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "23745:3:11", + "nativeSrc": "23745:3:24", "nodeType": "YulIdentifier", - "src": "23745:3:11" + "src": "23745:3:24" }, - "nativeSrc": "23745:12:11", + "nativeSrc": "23745:12:24", "nodeType": "YulFunctionCall", - "src": "23745:12:11" + "src": "23745:12:24" }, "variables": [ { "name": "o", - "nativeSrc": "23740:1:11", + "nativeSrc": "23740:1:24", "nodeType": "YulTypedName", - "src": "23740:1:11", + "src": "23740:1:24", "type": "" } ] }, { "body": { - "nativeSrc": "23815:174:11", + "nativeSrc": "23815:174:24", "nodeType": "YulBlock", - "src": "23815:174:11", + "src": "23815:174:24", "statements": [ { - "nativeSrc": "23837:47:11", + "nativeSrc": "23837:47:24", "nodeType": "YulAssignment", - "src": "23837:47:11", + "src": "23837:47:24", "value": { "arguments": [ { "name": "result", - "nativeSrc": "23850:6:11", + "nativeSrc": "23850:6:24", "nodeType": "YulIdentifier", - "src": "23850:6:11" + "src": "23850:6:24" }, { "arguments": [ @@ -173848,9 +192823,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "23867:1:11", + "nativeSrc": "23867:1:24", "nodeType": "YulLiteral", - "src": "23867:1:11", + "src": "23867:1:24", "type": "", "value": "0" }, @@ -173858,121 +192833,121 @@ "arguments": [ { "name": "o", - "nativeSrc": "23876:1:11", + "nativeSrc": "23876:1:24", "nodeType": "YulIdentifier", - "src": "23876:1:11" + "src": "23876:1:24" } ], "functionName": { "name": "mload", - "nativeSrc": "23870:5:11", + "nativeSrc": "23870:5:24", "nodeType": "YulIdentifier", - "src": "23870:5:11" + "src": "23870:5:24" }, - "nativeSrc": "23870:8:11", + "nativeSrc": "23870:8:24", "nodeType": "YulFunctionCall", - "src": "23870:8:11" + "src": "23870:8:24" } ], "functionName": { "name": "byte", - "nativeSrc": "23862:4:11", + "nativeSrc": "23862:4:24", "nodeType": "YulIdentifier", - "src": "23862:4:11" + "src": "23862:4:24" }, - "nativeSrc": "23862:17:11", + "nativeSrc": "23862:17:24", "nodeType": "YulFunctionCall", - "src": "23862:17:11" + "src": "23862:17:24" }, { "kind": "number", - "nativeSrc": "23881:1:11", + "nativeSrc": "23881:1:24", "nodeType": "YulLiteral", - "src": "23881:1:11", + "src": "23881:1:24", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "23858:3:11", + "nativeSrc": "23858:3:24", "nodeType": "YulIdentifier", - "src": "23858:3:11" + "src": "23858:3:24" }, - "nativeSrc": "23858:25:11", + "nativeSrc": "23858:25:24", "nodeType": "YulFunctionCall", - "src": "23858:25:11" + "src": "23858:25:24" } ], "functionName": { "name": "or", - "nativeSrc": "23847:2:11", + "nativeSrc": "23847:2:24", "nodeType": "YulIdentifier", - "src": "23847:2:11" + "src": "23847:2:24" }, - "nativeSrc": "23847:37:11", + "nativeSrc": "23847:37:24", "nodeType": "YulFunctionCall", - "src": "23847:37:11" + "src": "23847:37:24" }, "variableNames": [ { "name": "result", - "nativeSrc": "23837:6:11", + "nativeSrc": "23837:6:24", "nodeType": "YulIdentifier", - "src": "23837:6:11" + "src": "23837:6:24" } ] }, { - "nativeSrc": "23905:14:11", + "nativeSrc": "23905:14:24", "nodeType": "YulAssignment", - "src": "23905:14:11", + "src": "23905:14:24", "value": { "arguments": [ { "name": "o", - "nativeSrc": "23914:1:11", + "nativeSrc": "23914:1:24", "nodeType": "YulIdentifier", - "src": "23914:1:11" + "src": "23914:1:24" }, { "kind": "number", - "nativeSrc": "23917:1:11", + "nativeSrc": "23917:1:24", "nodeType": "YulLiteral", - "src": "23917:1:11", + "src": "23917:1:24", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "23910:3:11", + "nativeSrc": "23910:3:24", "nodeType": "YulIdentifier", - "src": "23910:3:11" + "src": "23910:3:24" }, - "nativeSrc": "23910:9:11", + "nativeSrc": "23910:9:24", "nodeType": "YulFunctionCall", - "src": "23910:9:11" + "src": "23910:9:24" }, "variableNames": [ { "name": "o", - "nativeSrc": "23905:1:11", + "nativeSrc": "23905:1:24", "nodeType": "YulIdentifier", - "src": "23905:1:11" + "src": "23905:1:24" } ] }, { "body": { - "nativeSrc": "23962:9:11", + "nativeSrc": "23962:9:24", "nodeType": "YulBlock", - "src": "23962:9:11", + "src": "23962:9:24", "statements": [ { - "nativeSrc": "23964:5:11", + "nativeSrc": "23964:5:24", "nodeType": "YulBreak", - "src": "23964:5:11" + "src": "23964:5:24" } ] }, @@ -173982,194 +192957,194 @@ "arguments": [ { "name": "o", - "nativeSrc": "23953:1:11", + "nativeSrc": "23953:1:24", "nodeType": "YulIdentifier", - "src": "23953:1:11" + "src": "23953:1:24" }, { "name": "end", - "nativeSrc": "23956:3:11", + "nativeSrc": "23956:3:24", "nodeType": "YulIdentifier", - "src": "23956:3:11" + "src": "23956:3:24" } ], "functionName": { "name": "lt", - "nativeSrc": "23950:2:11", + "nativeSrc": "23950:2:24", "nodeType": "YulIdentifier", - "src": "23950:2:11" + "src": "23950:2:24" }, - "nativeSrc": "23950:10:11", + "nativeSrc": "23950:10:24", "nodeType": "YulFunctionCall", - "src": "23950:10:11" + "src": "23950:10:24" } ], "functionName": { "name": "iszero", - "nativeSrc": "23943:6:11", + "nativeSrc": "23943:6:24", "nodeType": "YulIdentifier", - "src": "23943:6:11" + "src": "23943:6:24" }, - "nativeSrc": "23943:18:11", + "nativeSrc": "23943:18:24", "nodeType": "YulFunctionCall", - "src": "23943:18:11" + "src": "23943:18:24" }, - "nativeSrc": "23940:31:11", + "nativeSrc": "23940:31:24", "nodeType": "YulIf", - "src": "23940:31:11" + "src": "23940:31:24" } ] }, "condition": { "kind": "number", - "nativeSrc": "23810:1:11", + "nativeSrc": "23810:1:24", "nodeType": "YulLiteral", - "src": "23810:1:11", + "src": "23810:1:24", "type": "", "value": "1" }, - "nativeSrc": "23774:215:11", + "nativeSrc": "23774:215:24", "nodeType": "YulForLoop", "post": { - "nativeSrc": "23812:2:11", + "nativeSrc": "23812:2:24", "nodeType": "YulBlock", - "src": "23812:2:11", + "src": "23812:2:24", "statements": [] }, "pre": { - "nativeSrc": "23778:31:11", + "nativeSrc": "23778:31:24", "nodeType": "YulBlock", - "src": "23778:31:11", + "src": "23778:31:24", "statements": [ { - "nativeSrc": "23780:27:11", + "nativeSrc": "23780:27:24", "nodeType": "YulVariableDeclaration", - "src": "23780:27:11", + "src": "23780:27:24", "value": { "arguments": [ { "name": "o", - "nativeSrc": "23795:1:11", + "nativeSrc": "23795:1:24", "nodeType": "YulIdentifier", - "src": "23795:1:11" + "src": "23795:1:24" }, { "arguments": [ { "name": "s", - "nativeSrc": "23804:1:11", + "nativeSrc": "23804:1:24", "nodeType": "YulIdentifier", - "src": "23804:1:11" + "src": "23804:1:24" } ], "functionName": { "name": "mload", - "nativeSrc": "23798:5:11", + "nativeSrc": "23798:5:24", "nodeType": "YulIdentifier", - "src": "23798:5:11" + "src": "23798:5:24" }, - "nativeSrc": "23798:8:11", + "nativeSrc": "23798:8:24", "nodeType": "YulFunctionCall", - "src": "23798:8:11" + "src": "23798:8:24" } ], "functionName": { "name": "add", - "nativeSrc": "23791:3:11", + "nativeSrc": "23791:3:24", "nodeType": "YulIdentifier", - "src": "23791:3:11" + "src": "23791:3:24" }, - "nativeSrc": "23791:16:11", + "nativeSrc": "23791:16:24", "nodeType": "YulFunctionCall", - "src": "23791:16:11" + "src": "23791:16:24" }, "variables": [ { "name": "end", - "nativeSrc": "23784:3:11", + "nativeSrc": "23784:3:24", "nodeType": "YulTypedName", - "src": "23784:3:11", + "src": "23784:3:24", "type": "" } ] } ] }, - "src": "23774:215:11" + "src": "23774:215:24" }, { "body": { - "nativeSrc": "24026:130:11", + "nativeSrc": "24026:130:24", "nodeType": "YulBlock", - "src": "24026:130:11", + "src": "24026:130:24", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "24055:4:11", + "nativeSrc": "24055:4:24", "nodeType": "YulLiteral", - "src": "24055:4:11", + "src": "24055:4:24", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "24061:10:11", + "nativeSrc": "24061:10:24", "nodeType": "YulLiteral", - "src": "24061:10:11", + "src": "24061:10:24", "type": "", "value": "0xc9807e0d" } ], "functionName": { "name": "mstore", - "nativeSrc": "24048:6:11", + "nativeSrc": "24048:6:24", "nodeType": "YulIdentifier", - "src": "24048:6:11" + "src": "24048:6:24" }, - "nativeSrc": "24048:24:11", + "nativeSrc": "24048:24:24", "nodeType": "YulFunctionCall", - "src": "24048:24:11" + "src": "24048:24:24" }, - "nativeSrc": "24048:24:11", + "nativeSrc": "24048:24:24", "nodeType": "YulExpressionStatement", - "src": "24048:24:11" + "src": "24048:24:24" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "24127:4:11", + "nativeSrc": "24127:4:24", "nodeType": "YulLiteral", - "src": "24127:4:11", + "src": "24127:4:24", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "24133:4:11", + "nativeSrc": "24133:4:24", "nodeType": "YulLiteral", - "src": "24133:4:11", + "src": "24133:4:24", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "24120:6:11", + "nativeSrc": "24120:6:24", "nodeType": "YulIdentifier", - "src": "24120:6:11" + "src": "24120:6:24" }, - "nativeSrc": "24120:18:11", + "nativeSrc": "24120:18:24", "nodeType": "YulFunctionCall", - "src": "24120:18:11" + "src": "24120:18:24" }, - "nativeSrc": "24120:18:11", + "nativeSrc": "24120:18:24", "nodeType": "YulExpressionStatement", - "src": "24120:18:11" + "src": "24120:18:24" } ] }, @@ -174177,32 +193152,32 @@ "arguments": [ { "kind": "number", - "nativeSrc": "24013:3:11", + "nativeSrc": "24013:3:24", "nodeType": "YulLiteral", - "src": "24013:3:11", + "src": "24013:3:24", "type": "", "value": "128" }, { "name": "result", - "nativeSrc": "24018:6:11", + "nativeSrc": "24018:6:24", "nodeType": "YulIdentifier", - "src": "24018:6:11" + "src": "24018:6:24" } ], "functionName": { "name": "shr", - "nativeSrc": "24009:3:11", + "nativeSrc": "24009:3:24", "nodeType": "YulIdentifier", - "src": "24009:3:11" + "src": "24009:3:24" }, - "nativeSrc": "24009:16:11", + "nativeSrc": "24009:16:24", "nodeType": "YulFunctionCall", - "src": "24009:16:11" + "src": "24009:16:24" }, - "nativeSrc": "24006:150:11", + "nativeSrc": "24006:150:24", "nodeType": "YulIf", - "src": "24006:150:11" + "src": "24006:150:24" } ] }, @@ -174210,24 +193185,24 @@ "arguments": [ { "name": "s", - "nativeSrc": "23715:1:11", + "nativeSrc": "23715:1:24", "nodeType": "YulIdentifier", - "src": "23715:1:11" + "src": "23715:1:24" } ], "functionName": { "name": "mload", - "nativeSrc": "23709:5:11", + "nativeSrc": "23709:5:24", "nodeType": "YulIdentifier", - "src": "23709:5:11" + "src": "23709:5:24" }, - "nativeSrc": "23709:8:11", + "nativeSrc": "23709:8:24", "nodeType": "YulFunctionCall", - "src": "23709:8:11" + "src": "23709:8:24" }, - "nativeSrc": "23706:464:11", + "nativeSrc": "23706:464:24", "nodeType": "YulIf", - "src": "23706:464:11" + "src": "23706:464:24" } ] }, @@ -174235,80 +193210,80 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5546, + "declaration": 7152, "isOffset": false, "isSlot": false, - "src": "23837:6:11", + "src": "23837:6:24", "valueSize": 1 }, { - "declaration": 5546, + "declaration": 7152, "isOffset": false, "isSlot": false, - "src": "23850:6:11", + "src": "23850:6:24", "valueSize": 1 }, { - "declaration": 5546, + "declaration": 7152, "isOffset": false, "isSlot": false, - "src": "24018:6:11", + "src": "24018:6:24", "valueSize": 1 }, { - "declaration": 5543, + "declaration": 7149, "isOffset": false, "isSlot": false, - "src": "23715:1:11", + "src": "23715:1:24", "valueSize": 1 }, { - "declaration": 5543, + "declaration": 7149, "isOffset": false, "isSlot": false, - "src": "23749:1:11", + "src": "23749:1:24", "valueSize": 1 }, { - "declaration": 5543, + "declaration": 7149, "isOffset": false, "isSlot": false, - "src": "23804:1:11", + "src": "23804:1:24", "valueSize": 1 } ], - "id": 5548, + "id": 7154, "nodeType": "InlineAssembly", - "src": "23683:497:11" + "src": "23683:497:24" } ] }, "documentation": { - "id": 5541, + "id": 7147, "nodeType": "StructuredDocumentation", - "src": "23331:204:11", + "src": "23331:204:24", "text": "@dev Converts the bytes in the 7-bit ASCII string `s` to\n an allowed lookup for use in `is7BitASCII(s, allowed)`.\n To save runtime gas, you can cache the result in an immutable variable." }, - "id": 5550, + "id": 7156, "implemented": true, "kind": "function", "modifiers": [], "name": "to7BitASCIIAllowedLookup", - "nameLocation": "23549:24:11", + "nameLocation": "23549:24:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 5544, + "id": 7150, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5543, + "id": 7149, "mutability": "mutable", "name": "s", - "nameLocation": "23588:1:11", + "nameLocation": "23588:1:24", "nodeType": "VariableDeclaration", - "scope": 5550, - "src": "23574:15:11", + "scope": 7156, + "src": "23574:15:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -174316,10 +193291,10 @@ "typeString": "string" }, "typeName": { - "id": 5542, + "id": 7148, "name": "string", "nodeType": "ElementaryTypeName", - "src": "23574:6:11", + "src": "23574:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -174328,21 +193303,21 @@ "visibility": "internal" } ], - "src": "23573:17:11" + "src": "23573:17:24" }, "returnParameters": { - "id": 5547, + "id": 7153, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5546, + "id": 7152, "mutability": "mutable", "name": "result", - "nameLocation": "23622:6:11", + "nameLocation": "23622:6:24", "nodeType": "VariableDeclaration", - "scope": 5550, - "src": "23614:14:11", + "scope": 7156, + "src": "23614:14:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -174350,10 +193325,10 @@ "typeString": "uint128" }, "typeName": { - "id": 5545, + "id": 7151, "name": "uint128", "nodeType": "ElementaryTypeName", - "src": "23614:7:11", + "src": "23614:7:24", "typeDescriptions": { "typeIdentifier": "t_uint128", "typeString": "uint128" @@ -174362,19 +193337,19 @@ "visibility": "internal" } ], - "src": "23613:16:11" + "src": "23613:16:24" }, - "scope": 6134, - "src": "23540:646:11", + "scope": 7740, + "src": "23540:646:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5581, + "id": 7187, "nodeType": "Block", - "src": "25022:99:11", + "src": "25022:99:24", "statements": [ { "expression": { @@ -174384,12 +193359,12 @@ { "arguments": [ { - "id": 5568, + "id": 7174, "name": "subject", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5553, - "src": "25069:7:11", + "referencedDeclaration": 7159, + "src": "25069:7:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -174403,26 +193378,26 @@ "typeString": "string memory" } ], - "id": 5567, + "id": 7173, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "25063:5:11", + "src": "25063:5:24", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5566, + "id": 7172, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "25063:5:11", + "src": "25063:5:24", "typeDescriptions": {} } }, - "id": 5569, + "id": 7175, "isConstant": false, "isLValue": false, "isPure": false, @@ -174431,7 +193406,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "25063:14:11", + "src": "25063:14:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -174441,12 +193416,12 @@ { "arguments": [ { - "id": 5572, + "id": 7178, "name": "needle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5555, - "src": "25085:6:11", + "referencedDeclaration": 7161, + "src": "25085:6:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -174460,26 +193435,26 @@ "typeString": "string memory" } ], - "id": 5571, + "id": 7177, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "25079:5:11", + "src": "25079:5:24", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5570, + "id": 7176, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "25079:5:11", + "src": "25079:5:24", "typeDescriptions": {} } }, - "id": 5573, + "id": 7179, "isConstant": false, "isLValue": false, "isPure": false, @@ -174488,7 +193463,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "25079:13:11", + "src": "25079:13:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -174498,12 +193473,12 @@ { "arguments": [ { - "id": 5576, + "id": 7182, "name": "replacement", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5557, - "src": "25100:11:11", + "referencedDeclaration": 7163, + "src": "25100:11:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -174517,26 +193492,26 @@ "typeString": "string memory" } ], - "id": 5575, + "id": 7181, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "25094:5:11", + "src": "25094:5:24", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5574, + "id": 7180, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "25094:5:11", + "src": "25094:5:24", "typeDescriptions": {} } }, - "id": 5577, + "id": 7183, "isConstant": false, "isLValue": false, "isPure": false, @@ -174545,7 +193520,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "25094:18:11", + "src": "25094:18:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -174569,33 +193544,33 @@ } ], "expression": { - "id": 5564, + "id": 7170, "name": "LibBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3078, - "src": "25046:8:11", + "referencedDeclaration": 4684, + "src": "25046:8:24", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytes_$3078_$", + "typeIdentifier": "t_type$_t_contract$_LibBytes_$4684_$", "typeString": "type(library LibBytes)" } }, - "id": 5565, + "id": 7171, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "25055:7:11", + "memberLocation": "25055:7:24", "memberName": "replace", "nodeType": "MemberAccess", - "referencedDeclaration": 2701, - "src": "25046:16:11", + "referencedDeclaration": 4307, + "src": "25046:16:24", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$", "typeString": "function (bytes memory,bytes memory,bytes memory) pure returns (bytes memory)" } }, - "id": 5578, + "id": 7184, "isConstant": false, "isLValue": false, "isPure": false, @@ -174604,7 +193579,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "25046:67:11", + "src": "25046:67:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -174619,26 +193594,26 @@ "typeString": "bytes memory" } ], - "id": 5563, + "id": 7169, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "25039:6:11", + "src": "25039:6:24", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { - "id": 5562, + "id": 7168, "name": "string", "nodeType": "ElementaryTypeName", - "src": "25039:6:11", + "src": "25039:6:24", "typeDescriptions": {} } }, - "id": 5579, + "id": 7185, "isConstant": false, "isLValue": false, "isPure": false, @@ -174647,46 +193622,46 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "25039:75:11", + "src": "25039:75:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "functionReturnParameters": 5561, - "id": 5580, + "functionReturnParameters": 7167, + "id": 7186, "nodeType": "Return", - "src": "25032:82:11" + "src": "25032:82:24" } ] }, "documentation": { - "id": 5551, + "id": 7157, "nodeType": "StructuredDocumentation", - "src": "24779:83:11", + "src": "24779:83:24", "text": "@dev Returns `subject` all occurrences of `needle` replaced with `replacement`." }, - "id": 5582, + "id": 7188, "implemented": true, "kind": "function", "modifiers": [], "name": "replace", - "nameLocation": "24876:7:11", + "nameLocation": "24876:7:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 5558, + "id": 7164, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5553, + "id": 7159, "mutability": "mutable", "name": "subject", - "nameLocation": "24898:7:11", + "nameLocation": "24898:7:24", "nodeType": "VariableDeclaration", - "scope": 5582, - "src": "24884:21:11", + "scope": 7188, + "src": "24884:21:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -174694,10 +193669,10 @@ "typeString": "string" }, "typeName": { - "id": 5552, + "id": 7158, "name": "string", "nodeType": "ElementaryTypeName", - "src": "24884:6:11", + "src": "24884:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -174707,13 +193682,13 @@ }, { "constant": false, - "id": 5555, + "id": 7161, "mutability": "mutable", "name": "needle", - "nameLocation": "24921:6:11", + "nameLocation": "24921:6:24", "nodeType": "VariableDeclaration", - "scope": 5582, - "src": "24907:20:11", + "scope": 7188, + "src": "24907:20:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -174721,10 +193696,10 @@ "typeString": "string" }, "typeName": { - "id": 5554, + "id": 7160, "name": "string", "nodeType": "ElementaryTypeName", - "src": "24907:6:11", + "src": "24907:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -174734,13 +193709,13 @@ }, { "constant": false, - "id": 5557, + "id": 7163, "mutability": "mutable", "name": "replacement", - "nameLocation": "24943:11:11", + "nameLocation": "24943:11:24", "nodeType": "VariableDeclaration", - "scope": 5582, - "src": "24929:25:11", + "scope": 7188, + "src": "24929:25:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -174748,10 +193723,10 @@ "typeString": "string" }, "typeName": { - "id": 5556, + "id": 7162, "name": "string", "nodeType": "ElementaryTypeName", - "src": "24929:6:11", + "src": "24929:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -174760,21 +193735,21 @@ "visibility": "internal" } ], - "src": "24883:72:11" + "src": "24883:72:24" }, "returnParameters": { - "id": 5561, + "id": 7167, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5560, + "id": 7166, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 5582, - "src": "25003:13:11", + "scope": 7188, + "src": "25003:13:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -174782,10 +193757,10 @@ "typeString": "string" }, "typeName": { - "id": 5559, + "id": 7165, "name": "string", "nodeType": "ElementaryTypeName", - "src": "25003:6:11", + "src": "25003:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -174794,19 +193769,19 @@ "visibility": "internal" } ], - "src": "25002:15:11" + "src": "25002:15:24" }, - "scope": 6134, - "src": "24867:254:11", + "scope": 7740, + "src": "24867:254:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5607, + "id": 7213, "nodeType": "Block", - "src": "25492:77:11", + "src": "25492:77:24", "statements": [ { "expression": { @@ -174814,12 +193789,12 @@ { "arguments": [ { - "id": 5598, + "id": 7204, "name": "subject", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5585, - "src": "25532:7:11", + "referencedDeclaration": 7191, + "src": "25532:7:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -174833,26 +193808,26 @@ "typeString": "string memory" } ], - "id": 5597, + "id": 7203, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "25526:5:11", + "src": "25526:5:24", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5596, + "id": 7202, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "25526:5:11", + "src": "25526:5:24", "typeDescriptions": {} } }, - "id": 5599, + "id": 7205, "isConstant": false, "isLValue": false, "isPure": false, @@ -174861,7 +193836,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "25526:14:11", + "src": "25526:14:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -174871,12 +193846,12 @@ { "arguments": [ { - "id": 5602, + "id": 7208, "name": "needle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5587, - "src": "25548:6:11", + "referencedDeclaration": 7193, + "src": "25548:6:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -174890,26 +193865,26 @@ "typeString": "string memory" } ], - "id": 5601, + "id": 7207, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "25542:5:11", + "src": "25542:5:24", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5600, + "id": 7206, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "25542:5:11", + "src": "25542:5:24", "typeDescriptions": {} } }, - "id": 5603, + "id": 7209, "isConstant": false, "isLValue": false, "isPure": false, @@ -174918,7 +193893,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "25542:13:11", + "src": "25542:13:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -174926,12 +193901,12 @@ } }, { - "id": 5604, + "id": 7210, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5589, - "src": "25557:4:11", + "referencedDeclaration": 7195, + "src": "25557:4:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -174954,33 +193929,33 @@ } ], "expression": { - "id": 5594, + "id": 7200, "name": "LibBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3078, - "src": "25509:8:11", + "referencedDeclaration": 4684, + "src": "25509:8:24", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytes_$3078_$", + "typeIdentifier": "t_type$_t_contract$_LibBytes_$4684_$", "typeString": "type(library LibBytes)" } }, - "id": 5595, + "id": 7201, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "25518:7:11", + "memberLocation": "25518:7:24", "memberName": "indexOf", "nodeType": "MemberAccess", - "referencedDeclaration": 2715, - "src": "25509:16:11", + "referencedDeclaration": 4321, + "src": "25509:16:24", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (bytes memory,bytes memory,uint256) pure returns (uint256)" } }, - "id": 5605, + "id": 7211, "isConstant": false, "isLValue": false, "isPure": false, @@ -174989,46 +193964,46 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "25509:53:11", + "src": "25509:53:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 5593, - "id": 5606, + "functionReturnParameters": 7199, + "id": 7212, "nodeType": "Return", - "src": "25502:60:11" + "src": "25502:60:24" } ] }, "documentation": { - "id": 5583, + "id": 7189, "nodeType": "StructuredDocumentation", - "src": "25127:224:11", + "src": "25127:224:24", "text": "@dev Returns the byte index of the first location of `needle` in `subject`,\n needleing from left to right, starting from `from`.\n Returns `NOT_FOUND` (i.e. `type(uint256).max`) if the `needle` is not found." }, - "id": 5608, + "id": 7214, "implemented": true, "kind": "function", "modifiers": [], "name": "indexOf", - "nameLocation": "25365:7:11", + "nameLocation": "25365:7:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 5590, + "id": 7196, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5585, + "id": 7191, "mutability": "mutable", "name": "subject", - "nameLocation": "25387:7:11", + "nameLocation": "25387:7:24", "nodeType": "VariableDeclaration", - "scope": 5608, - "src": "25373:21:11", + "scope": 7214, + "src": "25373:21:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -175036,10 +194011,10 @@ "typeString": "string" }, "typeName": { - "id": 5584, + "id": 7190, "name": "string", "nodeType": "ElementaryTypeName", - "src": "25373:6:11", + "src": "25373:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -175049,13 +194024,13 @@ }, { "constant": false, - "id": 5587, + "id": 7193, "mutability": "mutable", "name": "needle", - "nameLocation": "25410:6:11", + "nameLocation": "25410:6:24", "nodeType": "VariableDeclaration", - "scope": 5608, - "src": "25396:20:11", + "scope": 7214, + "src": "25396:20:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -175063,10 +194038,10 @@ "typeString": "string" }, "typeName": { - "id": 5586, + "id": 7192, "name": "string", "nodeType": "ElementaryTypeName", - "src": "25396:6:11", + "src": "25396:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -175076,13 +194051,13 @@ }, { "constant": false, - "id": 5589, + "id": 7195, "mutability": "mutable", "name": "from", - "nameLocation": "25426:4:11", + "nameLocation": "25426:4:24", "nodeType": "VariableDeclaration", - "scope": 5608, - "src": "25418:12:11", + "scope": 7214, + "src": "25418:12:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -175090,10 +194065,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5588, + "id": 7194, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "25418:7:11", + "src": "25418:7:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -175102,21 +194077,21 @@ "visibility": "internal" } ], - "src": "25372:59:11" + "src": "25372:59:24" }, "returnParameters": { - "id": 5593, + "id": 7199, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5592, + "id": 7198, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 5608, - "src": "25479:7:11", + "scope": 7214, + "src": "25479:7:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -175124,10 +194099,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5591, + "id": 7197, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "25479:7:11", + "src": "25479:7:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -175136,19 +194111,19 @@ "visibility": "internal" } ], - "src": "25478:9:11" + "src": "25478:9:24" }, - "scope": 6134, - "src": "25356:213:11", + "scope": 7740, + "src": "25356:213:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5631, + "id": 7237, "nodeType": "Block", - "src": "25876:74:11", + "src": "25876:74:24", "statements": [ { "expression": { @@ -175156,12 +194131,12 @@ { "arguments": [ { - "id": 5622, + "id": 7228, "name": "subject", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5611, - "src": "25916:7:11", + "referencedDeclaration": 7217, + "src": "25916:7:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -175175,26 +194150,26 @@ "typeString": "string memory" } ], - "id": 5621, + "id": 7227, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "25910:5:11", + "src": "25910:5:24", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5620, + "id": 7226, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "25910:5:11", + "src": "25910:5:24", "typeDescriptions": {} } }, - "id": 5623, + "id": 7229, "isConstant": false, "isLValue": false, "isPure": false, @@ -175203,7 +194178,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "25910:14:11", + "src": "25910:14:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -175213,12 +194188,12 @@ { "arguments": [ { - "id": 5626, + "id": 7232, "name": "needle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5613, - "src": "25932:6:11", + "referencedDeclaration": 7219, + "src": "25932:6:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -175232,26 +194207,26 @@ "typeString": "string memory" } ], - "id": 5625, + "id": 7231, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "25926:5:11", + "src": "25926:5:24", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5624, + "id": 7230, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "25926:5:11", + "src": "25926:5:24", "typeDescriptions": {} } }, - "id": 5627, + "id": 7233, "isConstant": false, "isLValue": false, "isPure": false, @@ -175260,7 +194235,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "25926:13:11", + "src": "25926:13:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -175269,14 +194244,14 @@ }, { "hexValue": "30", - "id": 5628, + "id": 7234, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "25941:1:11", + "src": "25941:1:24", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -175300,33 +194275,33 @@ } ], "expression": { - "id": 5618, + "id": 7224, "name": "LibBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3078, - "src": "25893:8:11", + "referencedDeclaration": 4684, + "src": "25893:8:24", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytes_$3078_$", + "typeIdentifier": "t_type$_t_contract$_LibBytes_$4684_$", "typeString": "type(library LibBytes)" } }, - "id": 5619, + "id": 7225, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "25902:7:11", + "memberLocation": "25902:7:24", "memberName": "indexOf", "nodeType": "MemberAccess", - "referencedDeclaration": 2715, - "src": "25893:16:11", + "referencedDeclaration": 4321, + "src": "25893:16:24", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (bytes memory,bytes memory,uint256) pure returns (uint256)" } }, - "id": 5629, + "id": 7235, "isConstant": false, "isLValue": false, "isPure": false, @@ -175335,46 +194310,46 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "25893:50:11", + "src": "25893:50:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 5617, - "id": 5630, + "functionReturnParameters": 7223, + "id": 7236, "nodeType": "Return", - "src": "25886:57:11" + "src": "25886:57:24" } ] }, "documentation": { - "id": 5609, + "id": 7215, "nodeType": "StructuredDocumentation", - "src": "25575:202:11", + "src": "25575:202:24", "text": "@dev Returns the byte index of the first location of `needle` in `subject`,\n needleing from left to right.\n Returns `NOT_FOUND` (i.e. `type(uint256).max`) if the `needle` is not found." }, - "id": 5632, + "id": 7238, "implemented": true, "kind": "function", "modifiers": [], "name": "indexOf", - "nameLocation": "25791:7:11", + "nameLocation": "25791:7:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 5614, + "id": 7220, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5611, + "id": 7217, "mutability": "mutable", "name": "subject", - "nameLocation": "25813:7:11", + "nameLocation": "25813:7:24", "nodeType": "VariableDeclaration", - "scope": 5632, - "src": "25799:21:11", + "scope": 7238, + "src": "25799:21:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -175382,10 +194357,10 @@ "typeString": "string" }, "typeName": { - "id": 5610, + "id": 7216, "name": "string", "nodeType": "ElementaryTypeName", - "src": "25799:6:11", + "src": "25799:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -175395,13 +194370,13 @@ }, { "constant": false, - "id": 5613, + "id": 7219, "mutability": "mutable", "name": "needle", - "nameLocation": "25836:6:11", + "nameLocation": "25836:6:24", "nodeType": "VariableDeclaration", - "scope": 5632, - "src": "25822:20:11", + "scope": 7238, + "src": "25822:20:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -175409,10 +194384,10 @@ "typeString": "string" }, "typeName": { - "id": 5612, + "id": 7218, "name": "string", "nodeType": "ElementaryTypeName", - "src": "25822:6:11", + "src": "25822:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -175421,21 +194396,21 @@ "visibility": "internal" } ], - "src": "25798:45:11" + "src": "25798:45:24" }, "returnParameters": { - "id": 5617, + "id": 7223, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5616, + "id": 7222, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 5632, - "src": "25867:7:11", + "scope": 7238, + "src": "25867:7:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -175443,10 +194418,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5615, + "id": 7221, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "25867:7:11", + "src": "25867:7:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -175455,19 +194430,19 @@ "visibility": "internal" } ], - "src": "25866:9:11" + "src": "25866:9:24" }, - "scope": 6134, - "src": "25782:168:11", + "scope": 7740, + "src": "25782:168:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5657, + "id": 7263, "nodeType": "Block", - "src": "26325:81:11", + "src": "26325:81:24", "statements": [ { "expression": { @@ -175475,12 +194450,12 @@ { "arguments": [ { - "id": 5648, + "id": 7254, "name": "subject", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5635, - "src": "26369:7:11", + "referencedDeclaration": 7241, + "src": "26369:7:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -175494,26 +194469,26 @@ "typeString": "string memory" } ], - "id": 5647, + "id": 7253, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "26363:5:11", + "src": "26363:5:24", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5646, + "id": 7252, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "26363:5:11", + "src": "26363:5:24", "typeDescriptions": {} } }, - "id": 5649, + "id": 7255, "isConstant": false, "isLValue": false, "isPure": false, @@ -175522,7 +194497,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "26363:14:11", + "src": "26363:14:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -175532,12 +194507,12 @@ { "arguments": [ { - "id": 5652, + "id": 7258, "name": "needle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5637, - "src": "26385:6:11", + "referencedDeclaration": 7243, + "src": "26385:6:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -175551,26 +194526,26 @@ "typeString": "string memory" } ], - "id": 5651, + "id": 7257, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "26379:5:11", + "src": "26379:5:24", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5650, + "id": 7256, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "26379:5:11", + "src": "26379:5:24", "typeDescriptions": {} } }, - "id": 5653, + "id": 7259, "isConstant": false, "isLValue": false, "isPure": false, @@ -175579,7 +194554,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "26379:13:11", + "src": "26379:13:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -175587,12 +194562,12 @@ } }, { - "id": 5654, + "id": 7260, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5639, - "src": "26394:4:11", + "referencedDeclaration": 7245, + "src": "26394:4:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -175615,33 +194590,33 @@ } ], "expression": { - "id": 5644, + "id": 7250, "name": "LibBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3078, - "src": "26342:8:11", + "referencedDeclaration": 4684, + "src": "26342:8:24", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytes_$3078_$", + "typeIdentifier": "t_type$_t_contract$_LibBytes_$4684_$", "typeString": "type(library LibBytes)" } }, - "id": 5645, + "id": 7251, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "26351:11:11", + "memberLocation": "26351:11:24", "memberName": "lastIndexOf", "nodeType": "MemberAccess", - "referencedDeclaration": 2746, - "src": "26342:20:11", + "referencedDeclaration": 4352, + "src": "26342:20:24", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (bytes memory,bytes memory,uint256) pure returns (uint256)" } }, - "id": 5655, + "id": 7261, "isConstant": false, "isLValue": false, "isPure": false, @@ -175650,46 +194625,46 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "26342:57:11", + "src": "26342:57:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 5643, - "id": 5656, + "functionReturnParameters": 7249, + "id": 7262, "nodeType": "Return", - "src": "26335:64:11" + "src": "26335:64:24" } ] }, "documentation": { - "id": 5633, + "id": 7239, "nodeType": "StructuredDocumentation", - "src": "25956:224:11", + "src": "25956:224:24", "text": "@dev Returns the byte index of the first location of `needle` in `subject`,\n needleing from right to left, starting from `from`.\n Returns `NOT_FOUND` (i.e. `type(uint256).max`) if the `needle` is not found." }, - "id": 5658, + "id": 7264, "implemented": true, "kind": "function", "modifiers": [], "name": "lastIndexOf", - "nameLocation": "26194:11:11", + "nameLocation": "26194:11:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 5640, + "id": 7246, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5635, + "id": 7241, "mutability": "mutable", "name": "subject", - "nameLocation": "26220:7:11", + "nameLocation": "26220:7:24", "nodeType": "VariableDeclaration", - "scope": 5658, - "src": "26206:21:11", + "scope": 7264, + "src": "26206:21:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -175697,10 +194672,10 @@ "typeString": "string" }, "typeName": { - "id": 5634, + "id": 7240, "name": "string", "nodeType": "ElementaryTypeName", - "src": "26206:6:11", + "src": "26206:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -175710,13 +194685,13 @@ }, { "constant": false, - "id": 5637, + "id": 7243, "mutability": "mutable", "name": "needle", - "nameLocation": "26243:6:11", + "nameLocation": "26243:6:24", "nodeType": "VariableDeclaration", - "scope": 5658, - "src": "26229:20:11", + "scope": 7264, + "src": "26229:20:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -175724,10 +194699,10 @@ "typeString": "string" }, "typeName": { - "id": 5636, + "id": 7242, "name": "string", "nodeType": "ElementaryTypeName", - "src": "26229:6:11", + "src": "26229:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -175737,13 +194712,13 @@ }, { "constant": false, - "id": 5639, + "id": 7245, "mutability": "mutable", "name": "from", - "nameLocation": "26259:4:11", + "nameLocation": "26259:4:24", "nodeType": "VariableDeclaration", - "scope": 5658, - "src": "26251:12:11", + "scope": 7264, + "src": "26251:12:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -175751,10 +194726,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5638, + "id": 7244, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "26251:7:11", + "src": "26251:7:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -175763,21 +194738,21 @@ "visibility": "internal" } ], - "src": "26205:59:11" + "src": "26205:59:24" }, "returnParameters": { - "id": 5643, + "id": 7249, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5642, + "id": 7248, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 5658, - "src": "26312:7:11", + "scope": 7264, + "src": "26312:7:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -175785,10 +194760,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5641, + "id": 7247, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "26312:7:11", + "src": "26312:7:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -175797,19 +194772,19 @@ "visibility": "internal" } ], - "src": "26311:9:11" + "src": "26311:9:24" }, - "scope": 6134, - "src": "26185:221:11", + "scope": 7740, + "src": "26185:221:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5685, + "id": 7291, "nodeType": "Block", - "src": "26745:94:11", + "src": "26745:94:24", "statements": [ { "expression": { @@ -175817,12 +194792,12 @@ { "arguments": [ { - "id": 5672, + "id": 7278, "name": "subject", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5661, - "src": "26789:7:11", + "referencedDeclaration": 7267, + "src": "26789:7:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -175836,26 +194811,26 @@ "typeString": "string memory" } ], - "id": 5671, + "id": 7277, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "26783:5:11", + "src": "26783:5:24", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5670, + "id": 7276, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "26783:5:11", + "src": "26783:5:24", "typeDescriptions": {} } }, - "id": 5673, + "id": 7279, "isConstant": false, "isLValue": false, "isPure": false, @@ -175864,7 +194839,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "26783:14:11", + "src": "26783:14:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -175874,12 +194849,12 @@ { "arguments": [ { - "id": 5676, + "id": 7282, "name": "needle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5663, - "src": "26805:6:11", + "referencedDeclaration": 7269, + "src": "26805:6:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -175893,26 +194868,26 @@ "typeString": "string memory" } ], - "id": 5675, + "id": 7281, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "26799:5:11", + "src": "26799:5:24", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5674, + "id": 7280, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "26799:5:11", + "src": "26799:5:24", "typeDescriptions": {} } }, - "id": 5677, + "id": 7283, "isConstant": false, "isLValue": false, "isPure": false, @@ -175921,7 +194896,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "26799:13:11", + "src": "26799:13:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -175932,22 +194907,22 @@ "expression": { "arguments": [ { - "id": 5680, + "id": 7286, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "26819:7:11", + "src": "26819:7:24", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 5679, + "id": 7285, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "26819:7:11", + "src": "26819:7:24", "typeDescriptions": {} } } @@ -175959,18 +194934,18 @@ "typeString": "type(uint256)" } ], - "id": 5678, + "id": 7284, "name": "type", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -27, - "src": "26814:4:11", + "src": "26814:4:24", "typeDescriptions": { "typeIdentifier": "t_function_metatype_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 5681, + "id": 7287, "isConstant": false, "isLValue": false, "isPure": true, @@ -175979,22 +194954,22 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "26814:13:11", + "src": "26814:13:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_magic_meta_type_t_uint256", "typeString": "type(uint256)" } }, - "id": 5682, + "id": 7288, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "26828:3:11", + "memberLocation": "26828:3:24", "memberName": "max", "nodeType": "MemberAccess", - "src": "26814:17:11", + "src": "26814:17:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -176017,33 +194992,33 @@ } ], "expression": { - "id": 5668, + "id": 7274, "name": "LibBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3078, - "src": "26762:8:11", + "referencedDeclaration": 4684, + "src": "26762:8:24", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytes_$3078_$", + "typeIdentifier": "t_type$_t_contract$_LibBytes_$4684_$", "typeString": "type(library LibBytes)" } }, - "id": 5669, + "id": 7275, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "26771:11:11", + "memberLocation": "26771:11:24", "memberName": "lastIndexOf", "nodeType": "MemberAccess", - "referencedDeclaration": 2746, - "src": "26762:20:11", + "referencedDeclaration": 4352, + "src": "26762:20:24", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (bytes memory,bytes memory,uint256) pure returns (uint256)" } }, - "id": 5683, + "id": 7289, "isConstant": false, "isLValue": false, "isPure": false, @@ -176052,46 +195027,46 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "26762:70:11", + "src": "26762:70:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 5667, - "id": 5684, + "functionReturnParameters": 7273, + "id": 7290, "nodeType": "Return", - "src": "26755:77:11" + "src": "26755:77:24" } ] }, "documentation": { - "id": 5659, + "id": 7265, "nodeType": "StructuredDocumentation", - "src": "26412:202:11", + "src": "26412:202:24", "text": "@dev Returns the byte index of the first location of `needle` in `subject`,\n needleing from right to left.\n Returns `NOT_FOUND` (i.e. `type(uint256).max`) if the `needle` is not found." }, - "id": 5686, + "id": 7292, "implemented": true, "kind": "function", "modifiers": [], "name": "lastIndexOf", - "nameLocation": "26628:11:11", + "nameLocation": "26628:11:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 5664, + "id": 7270, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5661, + "id": 7267, "mutability": "mutable", "name": "subject", - "nameLocation": "26654:7:11", + "nameLocation": "26654:7:24", "nodeType": "VariableDeclaration", - "scope": 5686, - "src": "26640:21:11", + "scope": 7292, + "src": "26640:21:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -176099,10 +195074,10 @@ "typeString": "string" }, "typeName": { - "id": 5660, + "id": 7266, "name": "string", "nodeType": "ElementaryTypeName", - "src": "26640:6:11", + "src": "26640:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -176112,13 +195087,13 @@ }, { "constant": false, - "id": 5663, + "id": 7269, "mutability": "mutable", "name": "needle", - "nameLocation": "26677:6:11", + "nameLocation": "26677:6:24", "nodeType": "VariableDeclaration", - "scope": 5686, - "src": "26663:20:11", + "scope": 7292, + "src": "26663:20:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -176126,10 +195101,10 @@ "typeString": "string" }, "typeName": { - "id": 5662, + "id": 7268, "name": "string", "nodeType": "ElementaryTypeName", - "src": "26663:6:11", + "src": "26663:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -176138,21 +195113,21 @@ "visibility": "internal" } ], - "src": "26639:45:11" + "src": "26639:45:24" }, "returnParameters": { - "id": 5667, + "id": 7273, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5666, + "id": 7272, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 5686, - "src": "26732:7:11", + "scope": 7292, + "src": "26732:7:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -176160,10 +195135,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5665, + "id": 7271, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "26732:7:11", + "src": "26732:7:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -176172,19 +195147,19 @@ "visibility": "internal" } ], - "src": "26731:9:11" + "src": "26731:9:24" }, - "scope": 6134, - "src": "26619:220:11", + "scope": 7740, + "src": "26619:220:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5708, + "id": 7314, "nodeType": "Block", - "src": "27015:72:11", + "src": "27015:72:24", "statements": [ { "expression": { @@ -176192,12 +195167,12 @@ { "arguments": [ { - "id": 5700, + "id": 7306, "name": "subject", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5689, - "src": "27056:7:11", + "referencedDeclaration": 7295, + "src": "27056:7:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -176211,26 +195186,26 @@ "typeString": "string memory" } ], - "id": 5699, + "id": 7305, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "27050:5:11", + "src": "27050:5:24", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5698, + "id": 7304, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "27050:5:11", + "src": "27050:5:24", "typeDescriptions": {} } }, - "id": 5701, + "id": 7307, "isConstant": false, "isLValue": false, "isPure": false, @@ -176239,7 +195214,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "27050:14:11", + "src": "27050:14:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -176249,12 +195224,12 @@ { "arguments": [ { - "id": 5704, + "id": 7310, "name": "needle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5691, - "src": "27072:6:11", + "referencedDeclaration": 7297, + "src": "27072:6:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -176268,26 +195243,26 @@ "typeString": "string memory" } ], - "id": 5703, + "id": 7309, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "27066:5:11", + "src": "27066:5:24", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5702, + "id": 7308, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "27066:5:11", + "src": "27066:5:24", "typeDescriptions": {} } }, - "id": 5705, + "id": 7311, "isConstant": false, "isLValue": false, "isPure": false, @@ -176296,7 +195271,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "27066:13:11", + "src": "27066:13:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -176316,33 +195291,33 @@ } ], "expression": { - "id": 5696, + "id": 7302, "name": "LibBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3078, - "src": "27032:8:11", + "referencedDeclaration": 4684, + "src": "27032:8:24", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytes_$3078_$", + "typeIdentifier": "t_type$_t_contract$_LibBytes_$4684_$", "typeString": "type(library LibBytes)" } }, - "id": 5697, + "id": 7303, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "27041:8:11", + "memberLocation": "27041:8:24", "memberName": "contains", "nodeType": "MemberAccess", - "referencedDeclaration": 2785, - "src": "27032:17:11", + "referencedDeclaration": 4391, + "src": "27032:17:24", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bool_$", "typeString": "function (bytes memory,bytes memory) pure returns (bool)" } }, - "id": 5706, + "id": 7312, "isConstant": false, "isLValue": false, "isPure": false, @@ -176351,46 +195326,46 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "27032:48:11", + "src": "27032:48:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 5695, - "id": 5707, + "functionReturnParameters": 7301, + "id": 7313, "nodeType": "Return", - "src": "27025:55:11" + "src": "27025:55:24" } ] }, "documentation": { - "id": 5687, + "id": 7293, "nodeType": "StructuredDocumentation", - "src": "26845:73:11", + "src": "26845:73:24", "text": "@dev Returns true if `needle` is found in `subject`, false otherwise." }, - "id": 5709, + "id": 7315, "implemented": true, "kind": "function", "modifiers": [], "name": "contains", - "nameLocation": "26932:8:11", + "nameLocation": "26932:8:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 5692, + "id": 7298, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5689, + "id": 7295, "mutability": "mutable", "name": "subject", - "nameLocation": "26955:7:11", + "nameLocation": "26955:7:24", "nodeType": "VariableDeclaration", - "scope": 5709, - "src": "26941:21:11", + "scope": 7315, + "src": "26941:21:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -176398,10 +195373,10 @@ "typeString": "string" }, "typeName": { - "id": 5688, + "id": 7294, "name": "string", "nodeType": "ElementaryTypeName", - "src": "26941:6:11", + "src": "26941:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -176411,13 +195386,13 @@ }, { "constant": false, - "id": 5691, + "id": 7297, "mutability": "mutable", "name": "needle", - "nameLocation": "26978:6:11", + "nameLocation": "26978:6:24", "nodeType": "VariableDeclaration", - "scope": 5709, - "src": "26964:20:11", + "scope": 7315, + "src": "26964:20:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -176425,10 +195400,10 @@ "typeString": "string" }, "typeName": { - "id": 5690, + "id": 7296, "name": "string", "nodeType": "ElementaryTypeName", - "src": "26964:6:11", + "src": "26964:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -176437,21 +195412,21 @@ "visibility": "internal" } ], - "src": "26940:45:11" + "src": "26940:45:24" }, "returnParameters": { - "id": 5695, + "id": 7301, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5694, + "id": 7300, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 5709, - "src": "27009:4:11", + "scope": 7315, + "src": "27009:4:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -176459,10 +195434,10 @@ "typeString": "bool" }, "typeName": { - "id": 5693, + "id": 7299, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "27009:4:11", + "src": "27009:4:24", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -176471,19 +195446,19 @@ "visibility": "internal" } ], - "src": "27008:6:11" + "src": "27008:6:24" }, - "scope": 6134, - "src": "26923:164:11", + "scope": 7740, + "src": "26923:164:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5731, + "id": 7337, "nodeType": "Block", - "src": "27248:74:11", + "src": "27248:74:24", "statements": [ { "expression": { @@ -176491,12 +195466,12 @@ { "arguments": [ { - "id": 5723, + "id": 7329, "name": "subject", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5712, - "src": "27291:7:11", + "referencedDeclaration": 7318, + "src": "27291:7:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -176510,26 +195485,26 @@ "typeString": "string memory" } ], - "id": 5722, + "id": 7328, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "27285:5:11", + "src": "27285:5:24", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5721, + "id": 7327, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "27285:5:11", + "src": "27285:5:24", "typeDescriptions": {} } }, - "id": 5724, + "id": 7330, "isConstant": false, "isLValue": false, "isPure": false, @@ -176538,7 +195513,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "27285:14:11", + "src": "27285:14:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -176548,12 +195523,12 @@ { "arguments": [ { - "id": 5727, + "id": 7333, "name": "needle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5714, - "src": "27307:6:11", + "referencedDeclaration": 7320, + "src": "27307:6:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -176567,26 +195542,26 @@ "typeString": "string memory" } ], - "id": 5726, + "id": 7332, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "27301:5:11", + "src": "27301:5:24", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5725, + "id": 7331, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "27301:5:11", + "src": "27301:5:24", "typeDescriptions": {} } }, - "id": 5728, + "id": 7334, "isConstant": false, "isLValue": false, "isPure": false, @@ -176595,7 +195570,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "27301:13:11", + "src": "27301:13:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -176615,33 +195590,33 @@ } ], "expression": { - "id": 5719, + "id": 7325, "name": "LibBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3078, - "src": "27265:8:11", + "referencedDeclaration": 4684, + "src": "27265:8:24", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytes_$3078_$", + "typeIdentifier": "t_type$_t_contract$_LibBytes_$4684_$", "typeString": "type(library LibBytes)" } }, - "id": 5720, + "id": 7326, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "27274:10:11", + "memberLocation": "27274:10:24", "memberName": "startsWith", "nodeType": "MemberAccess", - "referencedDeclaration": 2797, - "src": "27265:19:11", + "referencedDeclaration": 4403, + "src": "27265:19:24", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bool_$", "typeString": "function (bytes memory,bytes memory) pure returns (bool)" } }, - "id": 5729, + "id": 7335, "isConstant": false, "isLValue": false, "isPure": false, @@ -176650,46 +195625,46 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "27265:50:11", + "src": "27265:50:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 5718, - "id": 5730, + "functionReturnParameters": 7324, + "id": 7336, "nodeType": "Return", - "src": "27258:57:11" + "src": "27258:57:24" } ] }, "documentation": { - "id": 5710, + "id": 7316, "nodeType": "StructuredDocumentation", - "src": "27093:56:11", + "src": "27093:56:24", "text": "@dev Returns whether `subject` starts with `needle`." }, - "id": 5732, + "id": 7338, "implemented": true, "kind": "function", "modifiers": [], "name": "startsWith", - "nameLocation": "27163:10:11", + "nameLocation": "27163:10:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 5715, + "id": 7321, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5712, + "id": 7318, "mutability": "mutable", "name": "subject", - "nameLocation": "27188:7:11", + "nameLocation": "27188:7:24", "nodeType": "VariableDeclaration", - "scope": 5732, - "src": "27174:21:11", + "scope": 7338, + "src": "27174:21:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -176697,10 +195672,10 @@ "typeString": "string" }, "typeName": { - "id": 5711, + "id": 7317, "name": "string", "nodeType": "ElementaryTypeName", - "src": "27174:6:11", + "src": "27174:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -176710,13 +195685,13 @@ }, { "constant": false, - "id": 5714, + "id": 7320, "mutability": "mutable", "name": "needle", - "nameLocation": "27211:6:11", + "nameLocation": "27211:6:24", "nodeType": "VariableDeclaration", - "scope": 5732, - "src": "27197:20:11", + "scope": 7338, + "src": "27197:20:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -176724,10 +195699,10 @@ "typeString": "string" }, "typeName": { - "id": 5713, + "id": 7319, "name": "string", "nodeType": "ElementaryTypeName", - "src": "27197:6:11", + "src": "27197:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -176736,21 +195711,21 @@ "visibility": "internal" } ], - "src": "27173:45:11" + "src": "27173:45:24" }, "returnParameters": { - "id": 5718, + "id": 7324, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5717, + "id": 7323, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 5732, - "src": "27242:4:11", + "scope": 7338, + "src": "27242:4:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -176758,10 +195733,10 @@ "typeString": "bool" }, "typeName": { - "id": 5716, + "id": 7322, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "27242:4:11", + "src": "27242:4:24", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -176770,19 +195745,19 @@ "visibility": "internal" } ], - "src": "27241:6:11" + "src": "27241:6:24" }, - "scope": 6134, - "src": "27154:168:11", + "scope": 7740, + "src": "27154:168:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5754, + "id": 7360, "nodeType": "Block", - "src": "27479:72:11", + "src": "27479:72:24", "statements": [ { "expression": { @@ -176790,12 +195765,12 @@ { "arguments": [ { - "id": 5746, + "id": 7352, "name": "subject", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5735, - "src": "27520:7:11", + "referencedDeclaration": 7341, + "src": "27520:7:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -176809,26 +195784,26 @@ "typeString": "string memory" } ], - "id": 5745, + "id": 7351, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "27514:5:11", + "src": "27514:5:24", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5744, + "id": 7350, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "27514:5:11", + "src": "27514:5:24", "typeDescriptions": {} } }, - "id": 5747, + "id": 7353, "isConstant": false, "isLValue": false, "isPure": false, @@ -176837,7 +195812,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "27514:14:11", + "src": "27514:14:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -176847,12 +195822,12 @@ { "arguments": [ { - "id": 5750, + "id": 7356, "name": "needle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5737, - "src": "27536:6:11", + "referencedDeclaration": 7343, + "src": "27536:6:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -176866,26 +195841,26 @@ "typeString": "string memory" } ], - "id": 5749, + "id": 7355, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "27530:5:11", + "src": "27530:5:24", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5748, + "id": 7354, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "27530:5:11", + "src": "27530:5:24", "typeDescriptions": {} } }, - "id": 5751, + "id": 7357, "isConstant": false, "isLValue": false, "isPure": false, @@ -176894,7 +195869,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "27530:13:11", + "src": "27530:13:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -176914,33 +195889,33 @@ } ], "expression": { - "id": 5742, + "id": 7348, "name": "LibBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3078, - "src": "27496:8:11", + "referencedDeclaration": 4684, + "src": "27496:8:24", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytes_$3078_$", + "typeIdentifier": "t_type$_t_contract$_LibBytes_$4684_$", "typeString": "type(library LibBytes)" } }, - "id": 5743, + "id": 7349, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "27505:8:11", + "memberLocation": "27505:8:24", "memberName": "endsWith", "nodeType": "MemberAccess", - "referencedDeclaration": 2809, - "src": "27496:17:11", + "referencedDeclaration": 4415, + "src": "27496:17:24", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bool_$", "typeString": "function (bytes memory,bytes memory) pure returns (bool)" } }, - "id": 5752, + "id": 7358, "isConstant": false, "isLValue": false, "isPure": false, @@ -176949,46 +195924,46 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "27496:48:11", + "src": "27496:48:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 5741, - "id": 5753, + "functionReturnParameters": 7347, + "id": 7359, "nodeType": "Return", - "src": "27489:55:11" + "src": "27489:55:24" } ] }, "documentation": { - "id": 5733, + "id": 7339, "nodeType": "StructuredDocumentation", - "src": "27328:54:11", + "src": "27328:54:24", "text": "@dev Returns whether `subject` ends with `needle`." }, - "id": 5755, + "id": 7361, "implemented": true, "kind": "function", "modifiers": [], "name": "endsWith", - "nameLocation": "27396:8:11", + "nameLocation": "27396:8:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 5738, + "id": 7344, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5735, + "id": 7341, "mutability": "mutable", "name": "subject", - "nameLocation": "27419:7:11", + "nameLocation": "27419:7:24", "nodeType": "VariableDeclaration", - "scope": 5755, - "src": "27405:21:11", + "scope": 7361, + "src": "27405:21:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -176996,10 +195971,10 @@ "typeString": "string" }, "typeName": { - "id": 5734, + "id": 7340, "name": "string", "nodeType": "ElementaryTypeName", - "src": "27405:6:11", + "src": "27405:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -177009,13 +195984,13 @@ }, { "constant": false, - "id": 5737, + "id": 7343, "mutability": "mutable", "name": "needle", - "nameLocation": "27442:6:11", + "nameLocation": "27442:6:24", "nodeType": "VariableDeclaration", - "scope": 5755, - "src": "27428:20:11", + "scope": 7361, + "src": "27428:20:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -177023,10 +195998,10 @@ "typeString": "string" }, "typeName": { - "id": 5736, + "id": 7342, "name": "string", "nodeType": "ElementaryTypeName", - "src": "27428:6:11", + "src": "27428:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -177035,21 +196010,21 @@ "visibility": "internal" } ], - "src": "27404:45:11" + "src": "27404:45:24" }, "returnParameters": { - "id": 5741, + "id": 7347, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5740, + "id": 7346, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 5755, - "src": "27473:4:11", + "scope": 7361, + "src": "27473:4:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -177057,10 +196032,10 @@ "typeString": "bool" }, "typeName": { - "id": 5739, + "id": 7345, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "27473:4:11", + "src": "27473:4:24", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -177069,19 +196044,19 @@ "visibility": "internal" } ], - "src": "27472:6:11" + "src": "27472:6:24" }, - "scope": 6134, - "src": "27387:164:11", + "scope": 7740, + "src": "27387:164:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5777, + "id": 7383, "nodeType": "Block", - "src": "27698:70:11", + "src": "27698:70:24", "statements": [ { "expression": { @@ -177091,12 +196066,12 @@ { "arguments": [ { - "id": 5771, + "id": 7377, "name": "subject", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5758, - "src": "27744:7:11", + "referencedDeclaration": 7364, + "src": "27744:7:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -177110,26 +196085,26 @@ "typeString": "string memory" } ], - "id": 5770, + "id": 7376, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "27738:5:11", + "src": "27738:5:24", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5769, + "id": 7375, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "27738:5:11", + "src": "27738:5:24", "typeDescriptions": {} } }, - "id": 5772, + "id": 7378, "isConstant": false, "isLValue": false, "isPure": false, @@ -177138,7 +196113,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "27738:14:11", + "src": "27738:14:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -177146,12 +196121,12 @@ } }, { - "id": 5773, + "id": 7379, "name": "times", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5760, - "src": "27754:5:11", + "referencedDeclaration": 7366, + "src": "27754:5:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -177170,33 +196145,33 @@ } ], "expression": { - "id": 5767, + "id": 7373, "name": "LibBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3078, - "src": "27722:8:11", + "referencedDeclaration": 4684, + "src": "27722:8:24", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytes_$3078_$", + "typeIdentifier": "t_type$_t_contract$_LibBytes_$4684_$", "typeString": "type(library LibBytes)" } }, - "id": 5768, + "id": 7374, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "27731:6:11", + "memberLocation": "27731:6:24", "memberName": "repeat", "nodeType": "MemberAccess", - "referencedDeclaration": 2821, - "src": "27722:15:11", + "referencedDeclaration": 4427, + "src": "27722:15:24", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes_memory_ptr_$", "typeString": "function (bytes memory,uint256) pure returns (bytes memory)" } }, - "id": 5774, + "id": 7380, "isConstant": false, "isLValue": false, "isPure": false, @@ -177205,7 +196180,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "27722:38:11", + "src": "27722:38:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -177220,26 +196195,26 @@ "typeString": "bytes memory" } ], - "id": 5766, + "id": 7372, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "27715:6:11", + "src": "27715:6:24", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { - "id": 5765, + "id": 7371, "name": "string", "nodeType": "ElementaryTypeName", - "src": "27715:6:11", + "src": "27715:6:24", "typeDescriptions": {} } }, - "id": 5775, + "id": 7381, "isConstant": false, "isLValue": false, "isPure": false, @@ -177248,46 +196223,46 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "27715:46:11", + "src": "27715:46:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "functionReturnParameters": 5764, - "id": 5776, + "functionReturnParameters": 7370, + "id": 7382, "nodeType": "Return", - "src": "27708:53:11" + "src": "27708:53:24" } ] }, "documentation": { - "id": 5756, + "id": 7362, "nodeType": "StructuredDocumentation", - "src": "27557:44:11", + "src": "27557:44:24", "text": "@dev Returns `subject` repeated `times`." }, - "id": 5778, + "id": 7384, "implemented": true, "kind": "function", "modifiers": [], "name": "repeat", - "nameLocation": "27615:6:11", + "nameLocation": "27615:6:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 5761, + "id": 7367, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5758, + "id": 7364, "mutability": "mutable", "name": "subject", - "nameLocation": "27636:7:11", + "nameLocation": "27636:7:24", "nodeType": "VariableDeclaration", - "scope": 5778, - "src": "27622:21:11", + "scope": 7384, + "src": "27622:21:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -177295,10 +196270,10 @@ "typeString": "string" }, "typeName": { - "id": 5757, + "id": 7363, "name": "string", "nodeType": "ElementaryTypeName", - "src": "27622:6:11", + "src": "27622:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -177308,13 +196283,13 @@ }, { "constant": false, - "id": 5760, + "id": 7366, "mutability": "mutable", "name": "times", - "nameLocation": "27653:5:11", + "nameLocation": "27653:5:24", "nodeType": "VariableDeclaration", - "scope": 5778, - "src": "27645:13:11", + "scope": 7384, + "src": "27645:13:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -177322,10 +196297,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5759, + "id": 7365, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "27645:7:11", + "src": "27645:7:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -177334,21 +196309,21 @@ "visibility": "internal" } ], - "src": "27621:38:11" + "src": "27621:38:24" }, "returnParameters": { - "id": 5764, + "id": 7370, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5763, + "id": 7369, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 5778, - "src": "27683:13:11", + "scope": 7384, + "src": "27683:13:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -177356,10 +196331,10 @@ "typeString": "string" }, "typeName": { - "id": 5762, + "id": 7368, "name": "string", "nodeType": "ElementaryTypeName", - "src": "27683:6:11", + "src": "27683:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -177368,19 +196343,19 @@ "visibility": "internal" } ], - "src": "27682:15:11" + "src": "27682:15:24" }, - "scope": 6134, - "src": "27606:162:11", + "scope": 7740, + "src": "27606:162:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5803, + "id": 7409, "nodeType": "Block", - "src": "28033:74:11", + "src": "28033:74:24", "statements": [ { "expression": { @@ -177390,12 +196365,12 @@ { "arguments": [ { - "id": 5796, + "id": 7402, "name": "subject", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5781, - "src": "28078:7:11", + "referencedDeclaration": 7387, + "src": "28078:7:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -177409,26 +196384,26 @@ "typeString": "string memory" } ], - "id": 5795, + "id": 7401, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "28072:5:11", + "src": "28072:5:24", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5794, + "id": 7400, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "28072:5:11", + "src": "28072:5:24", "typeDescriptions": {} } }, - "id": 5797, + "id": 7403, "isConstant": false, "isLValue": false, "isPure": false, @@ -177437,7 +196412,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "28072:14:11", + "src": "28072:14:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -177445,24 +196420,24 @@ } }, { - "id": 5798, + "id": 7404, "name": "start", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5783, - "src": "28088:5:11", + "referencedDeclaration": 7389, + "src": "28088:5:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 5799, + "id": 7405, "name": "end", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5785, - "src": "28095:3:11", + "referencedDeclaration": 7391, + "src": "28095:3:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -177485,33 +196460,33 @@ } ], "expression": { - "id": 5792, + "id": 7398, "name": "LibBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3078, - "src": "28057:8:11", + "referencedDeclaration": 4684, + "src": "28057:8:24", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytes_$3078_$", + "typeIdentifier": "t_type$_t_contract$_LibBytes_$4684_$", "typeString": "type(library LibBytes)" } }, - "id": 5793, + "id": 7399, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "28066:5:11", + "memberLocation": "28066:5:24", "memberName": "slice", "nodeType": "MemberAccess", - "referencedDeclaration": 2835, - "src": "28057:14:11", + "referencedDeclaration": 4441, + "src": "28057:14:24", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$", "typeString": "function (bytes memory,uint256,uint256) pure returns (bytes memory)" } }, - "id": 5800, + "id": 7406, "isConstant": false, "isLValue": false, "isPure": false, @@ -177520,7 +196495,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "28057:42:11", + "src": "28057:42:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -177535,26 +196510,26 @@ "typeString": "bytes memory" } ], - "id": 5791, + "id": 7397, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "28050:6:11", + "src": "28050:6:24", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { - "id": 5790, + "id": 7396, "name": "string", "nodeType": "ElementaryTypeName", - "src": "28050:6:11", + "src": "28050:6:24", "typeDescriptions": {} } }, - "id": 5801, + "id": 7407, "isConstant": false, "isLValue": false, "isPure": false, @@ -177563,46 +196538,46 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "28050:50:11", + "src": "28050:50:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "functionReturnParameters": 5789, - "id": 5802, + "functionReturnParameters": 7395, + "id": 7408, "nodeType": "Return", - "src": "28043:57:11" + "src": "28043:57:24" } ] }, "documentation": { - "id": 5779, + "id": 7385, "nodeType": "StructuredDocumentation", - "src": "27774:122:11", + "src": "27774:122:24", "text": "@dev Returns a copy of `subject` sliced from `start` to `end` (exclusive).\n `start` and `end` are byte offsets." }, - "id": 5804, + "id": 7410, "implemented": true, "kind": "function", "modifiers": [], "name": "slice", - "nameLocation": "27910:5:11", + "nameLocation": "27910:5:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 5786, + "id": 7392, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5781, + "id": 7387, "mutability": "mutable", "name": "subject", - "nameLocation": "27930:7:11", + "nameLocation": "27930:7:24", "nodeType": "VariableDeclaration", - "scope": 5804, - "src": "27916:21:11", + "scope": 7410, + "src": "27916:21:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -177610,10 +196585,10 @@ "typeString": "string" }, "typeName": { - "id": 5780, + "id": 7386, "name": "string", "nodeType": "ElementaryTypeName", - "src": "27916:6:11", + "src": "27916:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -177623,13 +196598,13 @@ }, { "constant": false, - "id": 5783, + "id": 7389, "mutability": "mutable", "name": "start", - "nameLocation": "27947:5:11", + "nameLocation": "27947:5:24", "nodeType": "VariableDeclaration", - "scope": 5804, - "src": "27939:13:11", + "scope": 7410, + "src": "27939:13:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -177637,10 +196612,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5782, + "id": 7388, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "27939:7:11", + "src": "27939:7:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -177650,13 +196625,13 @@ }, { "constant": false, - "id": 5785, + "id": 7391, "mutability": "mutable", "name": "end", - "nameLocation": "27962:3:11", + "nameLocation": "27962:3:24", "nodeType": "VariableDeclaration", - "scope": 5804, - "src": "27954:11:11", + "scope": 7410, + "src": "27954:11:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -177664,10 +196639,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5784, + "id": 7390, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "27954:7:11", + "src": "27954:7:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -177676,21 +196651,21 @@ "visibility": "internal" } ], - "src": "27915:51:11" + "src": "27915:51:24" }, "returnParameters": { - "id": 5789, + "id": 7395, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5788, + "id": 7394, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 5804, - "src": "28014:13:11", + "scope": 7410, + "src": "28014:13:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -177698,10 +196673,10 @@ "typeString": "string" }, "typeName": { - "id": 5787, + "id": 7393, "name": "string", "nodeType": "ElementaryTypeName", - "src": "28014:6:11", + "src": "28014:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -177710,19 +196685,19 @@ "visibility": "internal" } ], - "src": "28013:15:11" + "src": "28013:15:24" }, - "scope": 6134, - "src": "27901:206:11", + "scope": 7740, + "src": "27901:206:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5831, + "id": 7437, "nodeType": "Block", - "src": "28325:88:11", + "src": "28325:88:24", "statements": [ { "expression": { @@ -177732,12 +196707,12 @@ { "arguments": [ { - "id": 5820, + "id": 7426, "name": "subject", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5807, - "src": "28370:7:11", + "referencedDeclaration": 7413, + "src": "28370:7:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -177751,26 +196726,26 @@ "typeString": "string memory" } ], - "id": 5819, + "id": 7425, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "28364:5:11", + "src": "28364:5:24", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5818, + "id": 7424, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "28364:5:11", + "src": "28364:5:24", "typeDescriptions": {} } }, - "id": 5821, + "id": 7427, "isConstant": false, "isLValue": false, "isPure": false, @@ -177779,7 +196754,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "28364:14:11", + "src": "28364:14:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -177787,12 +196762,12 @@ } }, { - "id": 5822, + "id": 7428, "name": "start", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5809, - "src": "28380:5:11", + "referencedDeclaration": 7415, + "src": "28380:5:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -177802,22 +196777,22 @@ "expression": { "arguments": [ { - "id": 5825, + "id": 7431, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "28392:7:11", + "src": "28392:7:24", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 5824, + "id": 7430, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "28392:7:11", + "src": "28392:7:24", "typeDescriptions": {} } } @@ -177829,18 +196804,18 @@ "typeString": "type(uint256)" } ], - "id": 5823, + "id": 7429, "name": "type", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -27, - "src": "28387:4:11", + "src": "28387:4:24", "typeDescriptions": { "typeIdentifier": "t_function_metatype_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 5826, + "id": 7432, "isConstant": false, "isLValue": false, "isPure": true, @@ -177849,22 +196824,22 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "28387:13:11", + "src": "28387:13:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_magic_meta_type_t_uint256", "typeString": "type(uint256)" } }, - "id": 5827, + "id": 7433, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "28401:3:11", + "memberLocation": "28401:3:24", "memberName": "max", "nodeType": "MemberAccess", - "src": "28387:17:11", + "src": "28387:17:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -177887,33 +196862,33 @@ } ], "expression": { - "id": 5816, + "id": 7422, "name": "LibBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3078, - "src": "28349:8:11", + "referencedDeclaration": 4684, + "src": "28349:8:24", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytes_$3078_$", + "typeIdentifier": "t_type$_t_contract$_LibBytes_$4684_$", "typeString": "type(library LibBytes)" } }, - "id": 5817, + "id": 7423, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "28358:5:11", + "memberLocation": "28358:5:24", "memberName": "slice", "nodeType": "MemberAccess", - "referencedDeclaration": 2835, - "src": "28349:14:11", + "referencedDeclaration": 4441, + "src": "28349:14:24", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$", "typeString": "function (bytes memory,uint256,uint256) pure returns (bytes memory)" } }, - "id": 5828, + "id": 7434, "isConstant": false, "isLValue": false, "isPure": false, @@ -177922,7 +196897,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "28349:56:11", + "src": "28349:56:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -177937,26 +196912,26 @@ "typeString": "bytes memory" } ], - "id": 5815, + "id": 7421, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "28342:6:11", + "src": "28342:6:24", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { - "id": 5814, + "id": 7420, "name": "string", "nodeType": "ElementaryTypeName", - "src": "28342:6:11", + "src": "28342:6:24", "typeDescriptions": {} } }, - "id": 5829, + "id": 7435, "isConstant": false, "isLValue": false, "isPure": false, @@ -177965,46 +196940,46 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "28342:64:11", + "src": "28342:64:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "functionReturnParameters": 5813, - "id": 5830, + "functionReturnParameters": 7419, + "id": 7436, "nodeType": "Return", - "src": "28335:71:11" + "src": "28335:71:24" } ] }, "documentation": { - "id": 5805, + "id": 7411, "nodeType": "StructuredDocumentation", - "src": "28113:116:11", + "src": "28113:116:24", "text": "@dev Returns a copy of `subject` sliced from `start` to the end of the string.\n `start` is a byte offset." }, - "id": 5832, + "id": 7438, "implemented": true, "kind": "function", "modifiers": [], "name": "slice", - "nameLocation": "28243:5:11", + "nameLocation": "28243:5:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 5810, + "id": 7416, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5807, + "id": 7413, "mutability": "mutable", "name": "subject", - "nameLocation": "28263:7:11", + "nameLocation": "28263:7:24", "nodeType": "VariableDeclaration", - "scope": 5832, - "src": "28249:21:11", + "scope": 7438, + "src": "28249:21:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -178012,10 +196987,10 @@ "typeString": "string" }, "typeName": { - "id": 5806, + "id": 7412, "name": "string", "nodeType": "ElementaryTypeName", - "src": "28249:6:11", + "src": "28249:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -178025,13 +197000,13 @@ }, { "constant": false, - "id": 5809, + "id": 7415, "mutability": "mutable", "name": "start", - "nameLocation": "28280:5:11", + "nameLocation": "28280:5:24", "nodeType": "VariableDeclaration", - "scope": 5832, - "src": "28272:13:11", + "scope": 7438, + "src": "28272:13:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -178039,10 +197014,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5808, + "id": 7414, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "28272:7:11", + "src": "28272:7:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -178051,21 +197026,21 @@ "visibility": "internal" } ], - "src": "28248:38:11" + "src": "28248:38:24" }, "returnParameters": { - "id": 5813, + "id": 7419, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5812, + "id": 7418, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 5832, - "src": "28310:13:11", + "scope": 7438, + "src": "28310:13:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -178073,10 +197048,10 @@ "typeString": "string" }, "typeName": { - "id": 5811, + "id": 7417, "name": "string", "nodeType": "ElementaryTypeName", - "src": "28310:6:11", + "src": "28310:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -178085,19 +197060,19 @@ "visibility": "internal" } ], - "src": "28309:15:11" + "src": "28309:15:24" }, - "scope": 6134, - "src": "28234:179:11", + "scope": 7740, + "src": "28234:179:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5855, + "id": 7461, "nodeType": "Block", - "src": "28653:73:11", + "src": "28653:73:24", "statements": [ { "expression": { @@ -178105,12 +197080,12 @@ { "arguments": [ { - "id": 5847, + "id": 7453, "name": "subject", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5835, - "src": "28695:7:11", + "referencedDeclaration": 7441, + "src": "28695:7:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -178124,26 +197099,26 @@ "typeString": "string memory" } ], - "id": 5846, + "id": 7452, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "28689:5:11", + "src": "28689:5:24", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5845, + "id": 7451, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "28689:5:11", + "src": "28689:5:24", "typeDescriptions": {} } }, - "id": 5848, + "id": 7454, "isConstant": false, "isLValue": false, "isPure": false, @@ -178152,7 +197127,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "28689:14:11", + "src": "28689:14:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -178162,12 +197137,12 @@ { "arguments": [ { - "id": 5851, + "id": 7457, "name": "needle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5837, - "src": "28711:6:11", + "referencedDeclaration": 7443, + "src": "28711:6:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -178181,26 +197156,26 @@ "typeString": "string memory" } ], - "id": 5850, + "id": 7456, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "28705:5:11", + "src": "28705:5:24", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5849, + "id": 7455, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "28705:5:11", + "src": "28705:5:24", "typeDescriptions": {} } }, - "id": 5852, + "id": 7458, "isConstant": false, "isLValue": false, "isPure": false, @@ -178209,7 +197184,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "28705:13:11", + "src": "28705:13:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -178229,33 +197204,33 @@ } ], "expression": { - "id": 5843, + "id": 7449, "name": "LibBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3078, - "src": "28670:8:11", + "referencedDeclaration": 4684, + "src": "28670:8:24", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytes_$3078_$", + "typeIdentifier": "t_type$_t_contract$_LibBytes_$4684_$", "typeString": "type(library LibBytes)" } }, - "id": 5844, + "id": 7450, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "28679:9:11", + "memberLocation": "28679:9:24", "memberName": "indicesOf", "nodeType": "MemberAccess", - "referencedDeclaration": 2921, - "src": "28670:18:11", + "referencedDeclaration": 4527, + "src": "28670:18:24", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (bytes memory,bytes memory) pure returns (uint256[] memory)" } }, - "id": 5853, + "id": 7459, "isConstant": false, "isLValue": false, "isPure": false, @@ -178264,46 +197239,46 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "28670:49:11", + "src": "28670:49:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "functionReturnParameters": 5842, - "id": 5854, + "functionReturnParameters": 7448, + "id": 7460, "nodeType": "Return", - "src": "28663:56:11" + "src": "28663:56:24" } ] }, "documentation": { - "id": 5833, + "id": 7439, "nodeType": "StructuredDocumentation", - "src": "28419:96:11", + "src": "28419:96:24", "text": "@dev Returns all the indices of `needle` in `subject`.\n The indices are byte offsets." }, - "id": 5856, + "id": 7462, "implemented": true, "kind": "function", "modifiers": [], "name": "indicesOf", - "nameLocation": "28529:9:11", + "nameLocation": "28529:9:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 5838, + "id": 7444, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5835, + "id": 7441, "mutability": "mutable", "name": "subject", - "nameLocation": "28553:7:11", + "nameLocation": "28553:7:24", "nodeType": "VariableDeclaration", - "scope": 5856, - "src": "28539:21:11", + "scope": 7462, + "src": "28539:21:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -178311,10 +197286,10 @@ "typeString": "string" }, "typeName": { - "id": 5834, + "id": 7440, "name": "string", "nodeType": "ElementaryTypeName", - "src": "28539:6:11", + "src": "28539:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -178324,13 +197299,13 @@ }, { "constant": false, - "id": 5837, + "id": 7443, "mutability": "mutable", "name": "needle", - "nameLocation": "28576:6:11", + "nameLocation": "28576:6:24", "nodeType": "VariableDeclaration", - "scope": 5856, - "src": "28562:20:11", + "scope": 7462, + "src": "28562:20:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -178338,10 +197313,10 @@ "typeString": "string" }, "typeName": { - "id": 5836, + "id": 7442, "name": "string", "nodeType": "ElementaryTypeName", - "src": "28562:6:11", + "src": "28562:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -178350,21 +197325,21 @@ "visibility": "internal" } ], - "src": "28538:45:11" + "src": "28538:45:24" }, "returnParameters": { - "id": 5842, + "id": 7448, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5841, + "id": 7447, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 5856, - "src": "28631:16:11", + "scope": 7462, + "src": "28631:16:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -178373,18 +197348,18 @@ }, "typeName": { "baseType": { - "id": 5839, + "id": 7445, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "28631:7:11", + "src": "28631:7:24", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 5840, + "id": 7446, "nodeType": "ArrayTypeName", - "src": "28631:9:11", + "src": "28631:9:24", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -178393,34 +197368,34 @@ "visibility": "internal" } ], - "src": "28630:18:11" + "src": "28630:18:24" }, - "scope": 6134, - "src": "28520:206:11", + "scope": 7740, + "src": "28520:206:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5885, + "id": 7491, "nodeType": "Block", - "src": "28969:180:11", + "src": "28969:180:24", "statements": [ { "assignments": [ - 5871 + 7477 ], "declarations": [ { "constant": false, - "id": 5871, + "id": 7477, "mutability": "mutable", "name": "a", - "nameLocation": "28994:1:11", + "nameLocation": "28994:1:24", "nodeType": "VariableDeclaration", - "scope": 5885, - "src": "28979:16:11", + "scope": 7491, + "src": "28979:16:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -178429,18 +197404,18 @@ }, "typeName": { "baseType": { - "id": 5869, + "id": 7475, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "28979:5:11", + "src": "28979:5:24", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, - "id": 5870, + "id": 7476, "nodeType": "ArrayTypeName", - "src": "28979:7:11", + "src": "28979:7:24", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", "typeString": "bytes[]" @@ -178449,18 +197424,18 @@ "visibility": "internal" } ], - "id": 5883, + "id": 7489, "initialValue": { "arguments": [ { "arguments": [ { - "id": 5876, + "id": 7482, "name": "subject", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5859, - "src": "29019:7:11", + "referencedDeclaration": 7465, + "src": "29019:7:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -178474,26 +197449,26 @@ "typeString": "string memory" } ], - "id": 5875, + "id": 7481, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "29013:5:11", + "src": "29013:5:24", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5874, + "id": 7480, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "29013:5:11", + "src": "29013:5:24", "typeDescriptions": {} } }, - "id": 5877, + "id": 7483, "isConstant": false, "isLValue": false, "isPure": false, @@ -178502,7 +197477,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "29013:14:11", + "src": "29013:14:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -178512,12 +197487,12 @@ { "arguments": [ { - "id": 5880, + "id": 7486, "name": "delimiter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5861, - "src": "29035:9:11", + "referencedDeclaration": 7467, + "src": "29035:9:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -178531,26 +197506,26 @@ "typeString": "string memory" } ], - "id": 5879, + "id": 7485, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "29029:5:11", + "src": "29029:5:24", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5878, + "id": 7484, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "29029:5:11", + "src": "29029:5:24", "typeDescriptions": {} } }, - "id": 5881, + "id": 7487, "isConstant": false, "isLValue": false, "isPure": false, @@ -178559,7 +197534,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "29029:16:11", + "src": "29029:16:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -178579,33 +197554,33 @@ } ], "expression": { - "id": 5872, + "id": 7478, "name": "LibBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3078, - "src": "28998:8:11", + "referencedDeclaration": 4684, + "src": "28998:8:24", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytes_$3078_$", + "typeIdentifier": "t_type$_t_contract$_LibBytes_$4684_$", "typeString": "type(library LibBytes)" } }, - "id": 5873, + "id": 7479, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "29007:5:11", + "memberLocation": "29007:5:24", "memberName": "split", "nodeType": "MemberAccess", - "referencedDeclaration": 2944, - "src": "28998:14:11", + "referencedDeclaration": 4550, + "src": "28998:14:24", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$", "typeString": "function (bytes memory,bytes memory) pure returns (bytes memory[] memory)" } }, - "id": 5882, + "id": 7488, "isConstant": false, "isLValue": false, "isPure": false, @@ -178614,7 +197589,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "28998:48:11", + "src": "28998:48:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", @@ -178622,30 +197597,30 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "28979:67:11" + "src": "28979:67:24" }, { "AST": { - "nativeSrc": "29108:35:11", + "nativeSrc": "29108:35:24", "nodeType": "YulBlock", - "src": "29108:35:11", + "src": "29108:35:24", "statements": [ { - "nativeSrc": "29122:11:11", + "nativeSrc": "29122:11:24", "nodeType": "YulAssignment", - "src": "29122:11:11", + "src": "29122:11:24", "value": { "name": "a", - "nativeSrc": "29132:1:11", + "nativeSrc": "29132:1:24", "nodeType": "YulIdentifier", - "src": "29132:1:11" + "src": "29132:1:24" }, "variableNames": [ { "name": "result", - "nativeSrc": "29122:6:11", + "nativeSrc": "29122:6:24", "nodeType": "YulIdentifier", - "src": "29122:6:11" + "src": "29122:6:24" } ] } @@ -178655,52 +197630,52 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5871, + "declaration": 7477, "isOffset": false, "isSlot": false, - "src": "29132:1:11", + "src": "29132:1:24", "valueSize": 1 }, { - "declaration": 5865, + "declaration": 7471, "isOffset": false, "isSlot": false, - "src": "29122:6:11", + "src": "29122:6:24", "valueSize": 1 } ], - "id": 5884, + "id": 7490, "nodeType": "InlineAssembly", - "src": "29099:44:11" + "src": "29099:44:24" } ] }, "documentation": { - "id": 5857, + "id": 7463, "nodeType": "StructuredDocumentation", - "src": "28732:94:11", + "src": "28732:94:24", "text": "@dev Returns an arrays of strings based on the `delimiter` inside of the `subject` string." }, - "id": 5886, + "id": 7492, "implemented": true, "kind": "function", "modifiers": [], "name": "split", - "nameLocation": "28840:5:11", + "nameLocation": "28840:5:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 5862, + "id": 7468, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5859, + "id": 7465, "mutability": "mutable", "name": "subject", - "nameLocation": "28860:7:11", + "nameLocation": "28860:7:24", "nodeType": "VariableDeclaration", - "scope": 5886, - "src": "28846:21:11", + "scope": 7492, + "src": "28846:21:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -178708,10 +197683,10 @@ "typeString": "string" }, "typeName": { - "id": 5858, + "id": 7464, "name": "string", "nodeType": "ElementaryTypeName", - "src": "28846:6:11", + "src": "28846:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -178721,13 +197696,13 @@ }, { "constant": false, - "id": 5861, + "id": 7467, "mutability": "mutable", "name": "delimiter", - "nameLocation": "28883:9:11", + "nameLocation": "28883:9:24", "nodeType": "VariableDeclaration", - "scope": 5886, - "src": "28869:23:11", + "scope": 7492, + "src": "28869:23:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -178735,10 +197710,10 @@ "typeString": "string" }, "typeName": { - "id": 5860, + "id": 7466, "name": "string", "nodeType": "ElementaryTypeName", - "src": "28869:6:11", + "src": "28869:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -178747,21 +197722,21 @@ "visibility": "internal" } ], - "src": "28845:48:11" + "src": "28845:48:24" }, "returnParameters": { - "id": 5866, + "id": 7472, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5865, + "id": 7471, "mutability": "mutable", "name": "result", - "nameLocation": "28957:6:11", + "nameLocation": "28957:6:24", "nodeType": "VariableDeclaration", - "scope": 5886, - "src": "28941:22:11", + "scope": 7492, + "src": "28941:22:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -178770,18 +197745,18 @@ }, "typeName": { "baseType": { - "id": 5863, + "id": 7469, "name": "string", "nodeType": "ElementaryTypeName", - "src": "28941:6:11", + "src": "28941:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, - "id": 5864, + "id": 7470, "nodeType": "ArrayTypeName", - "src": "28941:8:11", + "src": "28941:8:24", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", "typeString": "string[]" @@ -178790,19 +197765,19 @@ "visibility": "internal" } ], - "src": "28940:24:11" + "src": "28940:24:24" }, - "scope": 6134, - "src": "28831:318:11", + "scope": 7740, + "src": "28831:318:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5911, + "id": 7517, "nodeType": "Block", - "src": "29388:67:11", + "src": "29388:67:24", "statements": [ { "expression": { @@ -178812,12 +197787,12 @@ { "arguments": [ { - "id": 5902, + "id": 7508, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5889, - "src": "29434:1:11", + "referencedDeclaration": 7495, + "src": "29434:1:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -178831,26 +197806,26 @@ "typeString": "string memory" } ], - "id": 5901, + "id": 7507, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "29428:5:11", + "src": "29428:5:24", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5900, + "id": 7506, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "29428:5:11", + "src": "29428:5:24", "typeDescriptions": {} } }, - "id": 5903, + "id": 7509, "isConstant": false, "isLValue": false, "isPure": false, @@ -178859,7 +197834,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "29428:8:11", + "src": "29428:8:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -178869,12 +197844,12 @@ { "arguments": [ { - "id": 5906, + "id": 7512, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5891, - "src": "29444:1:11", + "referencedDeclaration": 7497, + "src": "29444:1:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -178888,26 +197863,26 @@ "typeString": "string memory" } ], - "id": 5905, + "id": 7511, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "29438:5:11", + "src": "29438:5:24", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5904, + "id": 7510, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "29438:5:11", + "src": "29438:5:24", "typeDescriptions": {} } }, - "id": 5907, + "id": 7513, "isConstant": false, "isLValue": false, "isPure": false, @@ -178916,7 +197891,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "29438:8:11", + "src": "29438:8:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -178936,33 +197911,33 @@ } ], "expression": { - "id": 5898, + "id": 7504, "name": "LibBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3078, - "src": "29412:8:11", + "referencedDeclaration": 4684, + "src": "29412:8:24", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytes_$3078_$", + "typeIdentifier": "t_type$_t_contract$_LibBytes_$4684_$", "typeString": "type(library LibBytes)" } }, - "id": 5899, + "id": 7505, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "29421:6:11", + "memberLocation": "29421:6:24", "memberName": "concat", "nodeType": "MemberAccess", - "referencedDeclaration": 2956, - "src": "29412:15:11", + "referencedDeclaration": 4562, + "src": "29412:15:24", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$", "typeString": "function (bytes memory,bytes memory) pure returns (bytes memory)" } }, - "id": 5908, + "id": 7514, "isConstant": false, "isLValue": false, "isPure": false, @@ -178971,7 +197946,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "29412:35:11", + "src": "29412:35:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -178986,26 +197961,26 @@ "typeString": "bytes memory" } ], - "id": 5897, + "id": 7503, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "29405:6:11", + "src": "29405:6:24", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { - "id": 5896, + "id": 7502, "name": "string", "nodeType": "ElementaryTypeName", - "src": "29405:6:11", + "src": "29405:6:24", "typeDescriptions": {} } }, - "id": 5909, + "id": 7515, "isConstant": false, "isLValue": false, "isPure": false, @@ -179014,46 +197989,46 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "29405:43:11", + "src": "29405:43:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "functionReturnParameters": 5895, - "id": 5910, + "functionReturnParameters": 7501, + "id": 7516, "nodeType": "Return", - "src": "29398:50:11" + "src": "29398:50:24" } ] }, "documentation": { - "id": 5887, + "id": 7493, "nodeType": "StructuredDocumentation", - "src": "29155:140:11", + "src": "29155:140:24", "text": "@dev Returns a concatenated string of `a` and `b`.\n Cheaper than `string.concat()` and does not de-align the free memory pointer." }, - "id": 5912, + "id": 7518, "implemented": true, "kind": "function", "modifiers": [], "name": "concat", - "nameLocation": "29309:6:11", + "nameLocation": "29309:6:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 5892, + "id": 7498, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5889, + "id": 7495, "mutability": "mutable", "name": "a", - "nameLocation": "29330:1:11", + "nameLocation": "29330:1:24", "nodeType": "VariableDeclaration", - "scope": 5912, - "src": "29316:15:11", + "scope": 7518, + "src": "29316:15:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -179061,10 +198036,10 @@ "typeString": "string" }, "typeName": { - "id": 5888, + "id": 7494, "name": "string", "nodeType": "ElementaryTypeName", - "src": "29316:6:11", + "src": "29316:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -179074,13 +198049,13 @@ }, { "constant": false, - "id": 5891, + "id": 7497, "mutability": "mutable", "name": "b", - "nameLocation": "29347:1:11", + "nameLocation": "29347:1:24", "nodeType": "VariableDeclaration", - "scope": 5912, - "src": "29333:15:11", + "scope": 7518, + "src": "29333:15:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -179088,10 +198063,10 @@ "typeString": "string" }, "typeName": { - "id": 5890, + "id": 7496, "name": "string", "nodeType": "ElementaryTypeName", - "src": "29333:6:11", + "src": "29333:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -179100,21 +198075,21 @@ "visibility": "internal" } ], - "src": "29315:34:11" + "src": "29315:34:24" }, "returnParameters": { - "id": 5895, + "id": 7501, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5894, + "id": 7500, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 5912, - "src": "29373:13:11", + "scope": 7518, + "src": "29373:13:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -179122,10 +198097,10 @@ "typeString": "string" }, "typeName": { - "id": 5893, + "id": 7499, "name": "string", "nodeType": "ElementaryTypeName", - "src": "29373:6:11", + "src": "29373:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -179134,192 +198109,192 @@ "visibility": "internal" } ], - "src": "29372:15:11" + "src": "29372:15:24" }, - "scope": 6134, - "src": "29300:155:11", + "scope": 7740, + "src": "29300:155:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5923, + "id": 7529, "nodeType": "Block", - "src": "29739:799:11", + "src": "29739:799:24", "statements": [ { "AST": { - "nativeSrc": "29801:731:11", + "nativeSrc": "29801:731:24", "nodeType": "YulBlock", - "src": "29801:731:11", + "src": "29801:731:24", "statements": [ { - "nativeSrc": "29815:23:11", + "nativeSrc": "29815:23:24", "nodeType": "YulVariableDeclaration", - "src": "29815:23:11", + "src": "29815:23:24", "value": { "arguments": [ { "name": "subject", - "nativeSrc": "29830:7:11", + "nativeSrc": "29830:7:24", "nodeType": "YulIdentifier", - "src": "29830:7:11" + "src": "29830:7:24" } ], "functionName": { "name": "mload", - "nativeSrc": "29824:5:11", + "nativeSrc": "29824:5:24", "nodeType": "YulIdentifier", - "src": "29824:5:11" + "src": "29824:5:24" }, - "nativeSrc": "29824:14:11", + "nativeSrc": "29824:14:24", "nodeType": "YulFunctionCall", - "src": "29824:14:11" + "src": "29824:14:24" }, "variables": [ { "name": "n", - "nativeSrc": "29819:1:11", + "nativeSrc": "29819:1:24", "nodeType": "YulTypedName", - "src": "29819:1:11", + "src": "29819:1:24", "type": "" } ] }, { "body": { - "nativeSrc": "29856:666:11", + "nativeSrc": "29856:666:24", "nodeType": "YulBlock", - "src": "29856:666:11", + "src": "29856:666:24", "statements": [ { - "nativeSrc": "29874:21:11", + "nativeSrc": "29874:21:24", "nodeType": "YulAssignment", - "src": "29874:21:11", + "src": "29874:21:24", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "29890:4:11", + "nativeSrc": "29890:4:24", "nodeType": "YulLiteral", - "src": "29890:4:11", + "src": "29890:4:24", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "29884:5:11", + "nativeSrc": "29884:5:24", "nodeType": "YulIdentifier", - "src": "29884:5:11" + "src": "29884:5:24" }, - "nativeSrc": "29884:11:11", + "nativeSrc": "29884:11:24", "nodeType": "YulFunctionCall", - "src": "29884:11:11" + "src": "29884:11:24" }, "variableNames": [ { "name": "result", - "nativeSrc": "29874:6:11", + "nativeSrc": "29874:6:24", "nodeType": "YulIdentifier", - "src": "29874:6:11" + "src": "29874:6:24" } ] }, { - "nativeSrc": "29912:26:11", + "nativeSrc": "29912:26:24", "nodeType": "YulVariableDeclaration", - "src": "29912:26:11", + "src": "29912:26:24", "value": { "arguments": [ { "name": "result", - "nativeSrc": "29925:6:11", + "nativeSrc": "29925:6:24", "nodeType": "YulIdentifier", - "src": "29925:6:11" + "src": "29925:6:24" }, { "kind": "number", - "nativeSrc": "29933:4:11", + "nativeSrc": "29933:4:24", "nodeType": "YulLiteral", - "src": "29933:4:11", + "src": "29933:4:24", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "29921:3:11", + "nativeSrc": "29921:3:24", "nodeType": "YulIdentifier", - "src": "29921:3:11" + "src": "29921:3:24" }, - "nativeSrc": "29921:17:11", + "nativeSrc": "29921:17:24", "nodeType": "YulFunctionCall", - "src": "29921:17:11" + "src": "29921:17:24" }, "variables": [ { "name": "o", - "nativeSrc": "29916:1:11", + "nativeSrc": "29916:1:24", "nodeType": "YulTypedName", - "src": "29916:1:11", + "src": "29916:1:24", "type": "" } ] }, { - "nativeSrc": "29955:29:11", + "nativeSrc": "29955:29:24", "nodeType": "YulVariableDeclaration", - "src": "29955:29:11", + "src": "29955:29:24", "value": { "arguments": [ { "name": "subject", - "nativeSrc": "29968:7:11", + "nativeSrc": "29968:7:24", "nodeType": "YulIdentifier", - "src": "29968:7:11" + "src": "29968:7:24" }, { "name": "result", - "nativeSrc": "29977:6:11", + "nativeSrc": "29977:6:24", "nodeType": "YulIdentifier", - "src": "29977:6:11" + "src": "29977:6:24" } ], "functionName": { "name": "sub", - "nativeSrc": "29964:3:11", + "nativeSrc": "29964:3:24", "nodeType": "YulIdentifier", - "src": "29964:3:11" + "src": "29964:3:24" }, - "nativeSrc": "29964:20:11", + "nativeSrc": "29964:20:24", "nodeType": "YulFunctionCall", - "src": "29964:20:11" + "src": "29964:20:24" }, "variables": [ { "name": "d", - "nativeSrc": "29959:1:11", + "nativeSrc": "29959:1:24", "nodeType": "YulTypedName", - "src": "29959:1:11", + "src": "29959:1:24", "type": "" } ] }, { - "nativeSrc": "30001:53:11", + "nativeSrc": "30001:53:24", "nodeType": "YulVariableDeclaration", - "src": "30001:53:11", + "src": "30001:53:24", "value": { "arguments": [ { "arguments": [ { "kind": "number", - "nativeSrc": "30022:2:11", + "nativeSrc": "30022:2:24", "nodeType": "YulLiteral", - "src": "30022:2:11", + "src": "30022:2:24", "type": "", "value": "70" }, @@ -179327,86 +198302,86 @@ "arguments": [ { "kind": "number", - "nativeSrc": "30030:1:11", + "nativeSrc": "30030:1:24", "nodeType": "YulLiteral", - "src": "30030:1:11", + "src": "30030:1:24", "type": "", "value": "5" }, { "name": "toUpper", - "nativeSrc": "30033:7:11", + "nativeSrc": "30033:7:24", "nodeType": "YulIdentifier", - "src": "30033:7:11" + "src": "30033:7:24" } ], "functionName": { "name": "shl", - "nativeSrc": "30026:3:11", + "nativeSrc": "30026:3:24", "nodeType": "YulIdentifier", - "src": "30026:3:11" + "src": "30026:3:24" }, - "nativeSrc": "30026:15:11", + "nativeSrc": "30026:15:24", "nodeType": "YulFunctionCall", - "src": "30026:15:11" + "src": "30026:15:24" } ], "functionName": { "name": "add", - "nativeSrc": "30018:3:11", + "nativeSrc": "30018:3:24", "nodeType": "YulIdentifier", - "src": "30018:3:11" + "src": "30018:3:24" }, - "nativeSrc": "30018:24:11", + "nativeSrc": "30018:24:24", "nodeType": "YulFunctionCall", - "src": "30018:24:11" + "src": "30018:24:24" }, { "kind": "number", - "nativeSrc": "30044:9:11", + "nativeSrc": "30044:9:24", "nodeType": "YulLiteral", - "src": "30044:9:11", + "src": "30044:9:24", "type": "", "value": "0x3ffffff" } ], "functionName": { "name": "shl", - "nativeSrc": "30014:3:11", + "nativeSrc": "30014:3:24", "nodeType": "YulIdentifier", - "src": "30014:3:11" + "src": "30014:3:24" }, - "nativeSrc": "30014:40:11", + "nativeSrc": "30014:40:24", "nodeType": "YulFunctionCall", - "src": "30014:40:11" + "src": "30014:40:24" }, "variables": [ { "name": "flags", - "nativeSrc": "30005:5:11", + "nativeSrc": "30005:5:24", "nodeType": "YulTypedName", - "src": "30005:5:11", + "src": "30005:5:24", "type": "" } ] }, { "body": { - "nativeSrc": "30105:218:11", + "nativeSrc": "30105:218:24", "nodeType": "YulBlock", - "src": "30105:218:11", + "src": "30105:218:24", "statements": [ { - "nativeSrc": "30127:34:11", + "nativeSrc": "30127:34:24", "nodeType": "YulVariableDeclaration", - "src": "30127:34:11", + "src": "30127:34:24", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "30141:1:11", + "nativeSrc": "30141:1:24", "nodeType": "YulLiteral", - "src": "30141:1:11", + "src": "30141:1:24", "type": "", "value": "0" }, @@ -179416,55 +198391,55 @@ "arguments": [ { "name": "d", - "nativeSrc": "30154:1:11", + "nativeSrc": "30154:1:24", "nodeType": "YulIdentifier", - "src": "30154:1:11" + "src": "30154:1:24" }, { "name": "o", - "nativeSrc": "30157:1:11", + "nativeSrc": "30157:1:24", "nodeType": "YulIdentifier", - "src": "30157:1:11" + "src": "30157:1:24" } ], "functionName": { "name": "add", - "nativeSrc": "30150:3:11", + "nativeSrc": "30150:3:24", "nodeType": "YulIdentifier", - "src": "30150:3:11" + "src": "30150:3:24" }, - "nativeSrc": "30150:9:11", + "nativeSrc": "30150:9:24", "nodeType": "YulFunctionCall", - "src": "30150:9:11" + "src": "30150:9:24" } ], "functionName": { "name": "mload", - "nativeSrc": "30144:5:11", + "nativeSrc": "30144:5:24", "nodeType": "YulIdentifier", - "src": "30144:5:11" + "src": "30144:5:24" }, - "nativeSrc": "30144:16:11", + "nativeSrc": "30144:16:24", "nodeType": "YulFunctionCall", - "src": "30144:16:11" + "src": "30144:16:24" } ], "functionName": { "name": "byte", - "nativeSrc": "30136:4:11", + "nativeSrc": "30136:4:24", "nodeType": "YulIdentifier", - "src": "30136:4:11" + "src": "30136:4:24" }, - "nativeSrc": "30136:25:11", + "nativeSrc": "30136:25:24", "nodeType": "YulFunctionCall", - "src": "30136:25:11" + "src": "30136:25:24" }, "variables": [ { "name": "b", - "nativeSrc": "30131:1:11", + "nativeSrc": "30131:1:24", "nodeType": "YulTypedName", - "src": "30131:1:11", + "src": "30131:1:24", "type": "" } ] @@ -179474,9 +198449,9 @@ "arguments": [ { "name": "o", - "nativeSrc": "30190:1:11", + "nativeSrc": "30190:1:24", "nodeType": "YulIdentifier", - "src": "30190:1:11" + "src": "30190:1:24" }, { "arguments": [ @@ -179486,128 +198461,128 @@ "arguments": [ { "name": "b", - "nativeSrc": "30205:1:11", + "nativeSrc": "30205:1:24", "nodeType": "YulIdentifier", - "src": "30205:1:11" + "src": "30205:1:24" }, { "name": "flags", - "nativeSrc": "30208:5:11", + "nativeSrc": "30208:5:24", "nodeType": "YulIdentifier", - "src": "30208:5:11" + "src": "30208:5:24" } ], "functionName": { "name": "shr", - "nativeSrc": "30201:3:11", + "nativeSrc": "30201:3:24", "nodeType": "YulIdentifier", - "src": "30201:3:11" + "src": "30201:3:24" }, - "nativeSrc": "30201:13:11", + "nativeSrc": "30201:13:24", "nodeType": "YulFunctionCall", - "src": "30201:13:11" + "src": "30201:13:24" }, { "kind": "number", - "nativeSrc": "30216:4:11", + "nativeSrc": "30216:4:24", "nodeType": "YulLiteral", - "src": "30216:4:11", + "src": "30216:4:24", "type": "", "value": "0x20" } ], "functionName": { "name": "and", - "nativeSrc": "30197:3:11", + "nativeSrc": "30197:3:24", "nodeType": "YulIdentifier", - "src": "30197:3:11" + "src": "30197:3:24" }, - "nativeSrc": "30197:24:11", + "nativeSrc": "30197:24:24", "nodeType": "YulFunctionCall", - "src": "30197:24:11" + "src": "30197:24:24" }, { "name": "b", - "nativeSrc": "30223:1:11", + "nativeSrc": "30223:1:24", "nodeType": "YulIdentifier", - "src": "30223:1:11" + "src": "30223:1:24" } ], "functionName": { "name": "xor", - "nativeSrc": "30193:3:11", + "nativeSrc": "30193:3:24", "nodeType": "YulIdentifier", - "src": "30193:3:11" + "src": "30193:3:24" }, - "nativeSrc": "30193:32:11", + "nativeSrc": "30193:32:24", "nodeType": "YulFunctionCall", - "src": "30193:32:11" + "src": "30193:32:24" } ], "functionName": { "name": "mstore8", - "nativeSrc": "30182:7:11", + "nativeSrc": "30182:7:24", "nodeType": "YulIdentifier", - "src": "30182:7:11" + "src": "30182:7:24" }, - "nativeSrc": "30182:44:11", + "nativeSrc": "30182:44:24", "nodeType": "YulFunctionCall", - "src": "30182:44:11" + "src": "30182:44:24" }, - "nativeSrc": "30182:44:11", + "nativeSrc": "30182:44:24", "nodeType": "YulExpressionStatement", - "src": "30182:44:11" + "src": "30182:44:24" }, { - "nativeSrc": "30247:14:11", + "nativeSrc": "30247:14:24", "nodeType": "YulAssignment", - "src": "30247:14:11", + "src": "30247:14:24", "value": { "arguments": [ { "name": "o", - "nativeSrc": "30256:1:11", + "nativeSrc": "30256:1:24", "nodeType": "YulIdentifier", - "src": "30256:1:11" + "src": "30256:1:24" }, { "kind": "number", - "nativeSrc": "30259:1:11", + "nativeSrc": "30259:1:24", "nodeType": "YulLiteral", - "src": "30259:1:11", + "src": "30259:1:24", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "30252:3:11", + "nativeSrc": "30252:3:24", "nodeType": "YulIdentifier", - "src": "30252:3:11" + "src": "30252:3:24" }, - "nativeSrc": "30252:9:11", + "nativeSrc": "30252:9:24", "nodeType": "YulFunctionCall", - "src": "30252:9:11" + "src": "30252:9:24" }, "variableNames": [ { "name": "o", - "nativeSrc": "30247:1:11", + "nativeSrc": "30247:1:24", "nodeType": "YulIdentifier", - "src": "30247:1:11" + "src": "30247:1:24" } ] }, { "body": { - "nativeSrc": "30296:9:11", + "nativeSrc": "30296:9:24", "nodeType": "YulBlock", - "src": "30296:9:11", + "src": "30296:9:24", "statements": [ { - "nativeSrc": "30298:5:11", + "nativeSrc": "30298:5:24", "nodeType": "YulBreak", - "src": "30298:5:11" + "src": "30298:5:24" } ] }, @@ -179615,167 +198590,167 @@ "arguments": [ { "name": "o", - "nativeSrc": "30288:1:11", + "nativeSrc": "30288:1:24", "nodeType": "YulIdentifier", - "src": "30288:1:11" + "src": "30288:1:24" }, { "name": "end", - "nativeSrc": "30291:3:11", + "nativeSrc": "30291:3:24", "nodeType": "YulIdentifier", - "src": "30291:3:11" + "src": "30291:3:24" } ], "functionName": { "name": "eq", - "nativeSrc": "30285:2:11", + "nativeSrc": "30285:2:24", "nodeType": "YulIdentifier", - "src": "30285:2:11" + "src": "30285:2:24" }, - "nativeSrc": "30285:10:11", + "nativeSrc": "30285:10:24", "nodeType": "YulFunctionCall", - "src": "30285:10:11" + "src": "30285:10:24" }, - "nativeSrc": "30282:23:11", + "nativeSrc": "30282:23:24", "nodeType": "YulIf", - "src": "30282:23:11" + "src": "30282:23:24" } ] }, "condition": { "kind": "number", - "nativeSrc": "30100:1:11", + "nativeSrc": "30100:1:24", "nodeType": "YulLiteral", - "src": "30100:1:11", + "src": "30100:1:24", "type": "", "value": "1" }, - "nativeSrc": "30071:252:11", + "nativeSrc": "30071:252:24", "nodeType": "YulForLoop", "post": { - "nativeSrc": "30102:2:11", + "nativeSrc": "30102:2:24", "nodeType": "YulBlock", - "src": "30102:2:11", + "src": "30102:2:24", "statements": [] }, "pre": { - "nativeSrc": "30075:24:11", + "nativeSrc": "30075:24:24", "nodeType": "YulBlock", - "src": "30075:24:11", + "src": "30075:24:24", "statements": [ { - "nativeSrc": "30077:20:11", + "nativeSrc": "30077:20:24", "nodeType": "YulVariableDeclaration", - "src": "30077:20:11", + "src": "30077:20:24", "value": { "arguments": [ { "name": "o", - "nativeSrc": "30092:1:11", + "nativeSrc": "30092:1:24", "nodeType": "YulIdentifier", - "src": "30092:1:11" + "src": "30092:1:24" }, { "name": "n", - "nativeSrc": "30095:1:11", + "nativeSrc": "30095:1:24", "nodeType": "YulIdentifier", - "src": "30095:1:11" + "src": "30095:1:24" } ], "functionName": { "name": "add", - "nativeSrc": "30088:3:11", + "nativeSrc": "30088:3:24", "nodeType": "YulIdentifier", - "src": "30088:3:11" + "src": "30088:3:24" }, - "nativeSrc": "30088:9:11", + "nativeSrc": "30088:9:24", "nodeType": "YulFunctionCall", - "src": "30088:9:11" + "src": "30088:9:24" }, "variables": [ { "name": "end", - "nativeSrc": "30081:3:11", + "nativeSrc": "30081:3:24", "nodeType": "YulTypedName", - "src": "30081:3:11", + "src": "30081:3:24", "type": "" } ] } ] }, - "src": "30071:252:11" + "src": "30071:252:24" }, { "expression": { "arguments": [ { "name": "result", - "nativeSrc": "30347:6:11", + "nativeSrc": "30347:6:24", "nodeType": "YulIdentifier", - "src": "30347:6:11" + "src": "30347:6:24" }, { "name": "n", - "nativeSrc": "30355:1:11", + "nativeSrc": "30355:1:24", "nodeType": "YulIdentifier", - "src": "30355:1:11" + "src": "30355:1:24" } ], "functionName": { "name": "mstore", - "nativeSrc": "30340:6:11", + "nativeSrc": "30340:6:24", "nodeType": "YulIdentifier", - "src": "30340:6:11" + "src": "30340:6:24" }, - "nativeSrc": "30340:17:11", + "nativeSrc": "30340:17:24", "nodeType": "YulFunctionCall", - "src": "30340:17:11" + "src": "30340:17:24" }, - "nativeSrc": "30340:17:11", + "nativeSrc": "30340:17:24", "nodeType": "YulExpressionStatement", - "src": "30340:17:11" + "src": "30340:17:24" }, { "expression": { "arguments": [ { "name": "o", - "nativeSrc": "30402:1:11", + "nativeSrc": "30402:1:24", "nodeType": "YulIdentifier", - "src": "30402:1:11" + "src": "30402:1:24" }, { "kind": "number", - "nativeSrc": "30405:1:11", + "nativeSrc": "30405:1:24", "nodeType": "YulLiteral", - "src": "30405:1:11", + "src": "30405:1:24", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "30395:6:11", + "nativeSrc": "30395:6:24", "nodeType": "YulIdentifier", - "src": "30395:6:11" + "src": "30395:6:24" }, - "nativeSrc": "30395:12:11", + "nativeSrc": "30395:12:24", "nodeType": "YulFunctionCall", - "src": "30395:12:11" + "src": "30395:12:24" }, - "nativeSrc": "30395:12:11", + "nativeSrc": "30395:12:24", "nodeType": "YulExpressionStatement", - "src": "30395:12:11" + "src": "30395:12:24" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "30469:4:11", + "nativeSrc": "30469:4:24", "nodeType": "YulLiteral", - "src": "30469:4:11", + "src": "30469:4:24", "type": "", "value": "0x40" }, @@ -179783,55 +198758,55 @@ "arguments": [ { "name": "o", - "nativeSrc": "30479:1:11", + "nativeSrc": "30479:1:24", "nodeType": "YulIdentifier", - "src": "30479:1:11" + "src": "30479:1:24" }, { "kind": "number", - "nativeSrc": "30482:4:11", + "nativeSrc": "30482:4:24", "nodeType": "YulLiteral", - "src": "30482:4:11", + "src": "30482:4:24", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "30475:3:11", + "nativeSrc": "30475:3:24", "nodeType": "YulIdentifier", - "src": "30475:3:11" + "src": "30475:3:24" }, - "nativeSrc": "30475:12:11", + "nativeSrc": "30475:12:24", "nodeType": "YulFunctionCall", - "src": "30475:12:11" + "src": "30475:12:24" } ], "functionName": { "name": "mstore", - "nativeSrc": "30462:6:11", + "nativeSrc": "30462:6:24", "nodeType": "YulIdentifier", - "src": "30462:6:11" + "src": "30462:6:24" }, - "nativeSrc": "30462:26:11", + "nativeSrc": "30462:26:24", "nodeType": "YulFunctionCall", - "src": "30462:26:11" + "src": "30462:26:24" }, - "nativeSrc": "30462:26:11", + "nativeSrc": "30462:26:24", "nodeType": "YulExpressionStatement", - "src": "30462:26:11" + "src": "30462:26:24" } ] }, "condition": { "name": "n", - "nativeSrc": "29854:1:11", + "nativeSrc": "29854:1:24", "nodeType": "YulIdentifier", - "src": "29854:1:11" + "src": "29854:1:24" }, - "nativeSrc": "29851:671:11", + "nativeSrc": "29851:671:24", "nodeType": "YulIf", - "src": "29851:671:11" + "src": "29851:671:24" } ] }, @@ -179839,87 +198814,87 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5920, + "declaration": 7526, "isOffset": false, "isSlot": false, - "src": "29874:6:11", + "src": "29874:6:24", "valueSize": 1 }, { - "declaration": 5920, + "declaration": 7526, "isOffset": false, "isSlot": false, - "src": "29925:6:11", + "src": "29925:6:24", "valueSize": 1 }, { - "declaration": 5920, + "declaration": 7526, "isOffset": false, "isSlot": false, - "src": "29977:6:11", + "src": "29977:6:24", "valueSize": 1 }, { - "declaration": 5920, + "declaration": 7526, "isOffset": false, "isSlot": false, - "src": "30347:6:11", + "src": "30347:6:24", "valueSize": 1 }, { - "declaration": 5915, + "declaration": 7521, "isOffset": false, "isSlot": false, - "src": "29830:7:11", + "src": "29830:7:24", "valueSize": 1 }, { - "declaration": 5915, + "declaration": 7521, "isOffset": false, "isSlot": false, - "src": "29968:7:11", + "src": "29968:7:24", "valueSize": 1 }, { - "declaration": 5917, + "declaration": 7523, "isOffset": false, "isSlot": false, - "src": "30033:7:11", + "src": "30033:7:24", "valueSize": 1 } ], - "id": 5922, + "id": 7528, "nodeType": "InlineAssembly", - "src": "29792:740:11" + "src": "29792:740:24" } ] }, "documentation": { - "id": 5913, + "id": 7519, "nodeType": "StructuredDocumentation", - "src": "29461:147:11", + "src": "29461:147:24", "text": "@dev Returns a copy of the string in either lowercase or UPPERCASE.\n WARNING! This function is only compatible with 7-bit ASCII strings." }, - "id": 5924, + "id": 7530, "implemented": true, "kind": "function", "modifiers": [], "name": "toCase", - "nameLocation": "29622:6:11", + "nameLocation": "29622:6:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 5918, + "id": 7524, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5915, + "id": 7521, "mutability": "mutable", "name": "subject", - "nameLocation": "29643:7:11", + "nameLocation": "29643:7:24", "nodeType": "VariableDeclaration", - "scope": 5924, - "src": "29629:21:11", + "scope": 7530, + "src": "29629:21:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -179927,10 +198902,10 @@ "typeString": "string" }, "typeName": { - "id": 5914, + "id": 7520, "name": "string", "nodeType": "ElementaryTypeName", - "src": "29629:6:11", + "src": "29629:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -179940,13 +198915,13 @@ }, { "constant": false, - "id": 5917, + "id": 7523, "mutability": "mutable", "name": "toUpper", - "nameLocation": "29657:7:11", + "nameLocation": "29657:7:24", "nodeType": "VariableDeclaration", - "scope": 5924, - "src": "29652:12:11", + "scope": 7530, + "src": "29652:12:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -179954,10 +198929,10 @@ "typeString": "bool" }, "typeName": { - "id": 5916, + "id": 7522, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "29652:4:11", + "src": "29652:4:24", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -179966,21 +198941,21 @@ "visibility": "internal" } ], - "src": "29628:37:11" + "src": "29628:37:24" }, "returnParameters": { - "id": 5921, + "id": 7527, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5920, + "id": 7526, "mutability": "mutable", "name": "result", - "nameLocation": "29727:6:11", + "nameLocation": "29727:6:24", "nodeType": "VariableDeclaration", - "scope": 5924, - "src": "29713:20:11", + "scope": 7530, + "src": "29713:20:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -179988,10 +198963,10 @@ "typeString": "string" }, "typeName": { - "id": 5919, + "id": 7525, "name": "string", "nodeType": "ElementaryTypeName", - "src": "29713:6:11", + "src": "29713:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -180000,238 +198975,238 @@ "visibility": "internal" } ], - "src": "29712:22:11" + "src": "29712:22:24" }, - "scope": 6134, - "src": "29613:925:11", + "scope": 7740, + "src": "29613:925:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5933, + "id": 7539, "nodeType": "Block", - "src": "30752:490:11", + "src": "30752:490:24", "statements": [ { "AST": { - "nativeSrc": "30814:422:11", + "nativeSrc": "30814:422:24", "nodeType": "YulBlock", - "src": "30814:422:11", + "src": "30814:422:24", "statements": [ { - "nativeSrc": "30828:21:11", + "nativeSrc": "30828:21:24", "nodeType": "YulAssignment", - "src": "30828:21:11", + "src": "30828:21:24", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "30844:4:11", + "nativeSrc": "30844:4:24", "nodeType": "YulLiteral", - "src": "30844:4:11", + "src": "30844:4:24", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "30838:5:11", + "nativeSrc": "30838:5:24", "nodeType": "YulIdentifier", - "src": "30838:5:11" + "src": "30838:5:24" }, - "nativeSrc": "30838:11:11", + "nativeSrc": "30838:11:24", "nodeType": "YulFunctionCall", - "src": "30838:11:11" + "src": "30838:11:24" }, "variableNames": [ { "name": "result", - "nativeSrc": "30828:6:11", + "nativeSrc": "30828:6:24", "nodeType": "YulIdentifier", - "src": "30828:6:11" + "src": "30828:6:24" } ] }, { - "nativeSrc": "30862:10:11", + "nativeSrc": "30862:10:24", "nodeType": "YulVariableDeclaration", - "src": "30862:10:11", + "src": "30862:10:24", "value": { "kind": "number", - "nativeSrc": "30871:1:11", + "nativeSrc": "30871:1:24", "nodeType": "YulLiteral", - "src": "30871:1:11", + "src": "30871:1:24", "type": "", "value": "0" }, "variables": [ { "name": "n", - "nativeSrc": "30866:1:11", + "nativeSrc": "30866:1:24", "nodeType": "YulTypedName", - "src": "30866:1:11", + "src": "30866:1:24", "type": "" } ] }, { "body": { - "nativeSrc": "30922:2:11", + "nativeSrc": "30922:2:24", "nodeType": "YulBlock", - "src": "30922:2:11", + "src": "30922:2:24", "statements": [] }, "condition": { "arguments": [ { "name": "n", - "nativeSrc": "30897:1:11", + "nativeSrc": "30897:1:24", "nodeType": "YulIdentifier", - "src": "30897:1:11" + "src": "30897:1:24" }, { "name": "s", - "nativeSrc": "30900:1:11", + "nativeSrc": "30900:1:24", "nodeType": "YulIdentifier", - "src": "30900:1:11" + "src": "30900:1:24" } ], "functionName": { "name": "byte", - "nativeSrc": "30892:4:11", + "nativeSrc": "30892:4:24", "nodeType": "YulIdentifier", - "src": "30892:4:11" + "src": "30892:4:24" }, - "nativeSrc": "30892:10:11", + "nativeSrc": "30892:10:24", "nodeType": "YulFunctionCall", - "src": "30892:10:11" + "src": "30892:10:24" }, - "nativeSrc": "30885:39:11", + "nativeSrc": "30885:39:24", "nodeType": "YulForLoop", "post": { - "nativeSrc": "30903:18:11", + "nativeSrc": "30903:18:24", "nodeType": "YulBlock", - "src": "30903:18:11", + "src": "30903:18:24", "statements": [ { - "nativeSrc": "30905:14:11", + "nativeSrc": "30905:14:24", "nodeType": "YulAssignment", - "src": "30905:14:11", + "src": "30905:14:24", "value": { "arguments": [ { "name": "n", - "nativeSrc": "30914:1:11", + "nativeSrc": "30914:1:24", "nodeType": "YulIdentifier", - "src": "30914:1:11" + "src": "30914:1:24" }, { "kind": "number", - "nativeSrc": "30917:1:11", + "nativeSrc": "30917:1:24", "nodeType": "YulLiteral", - "src": "30917:1:11", + "src": "30917:1:24", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "30910:3:11", + "nativeSrc": "30910:3:24", "nodeType": "YulIdentifier", - "src": "30910:3:11" + "src": "30910:3:24" }, - "nativeSrc": "30910:9:11", + "nativeSrc": "30910:9:24", "nodeType": "YulFunctionCall", - "src": "30910:9:11" + "src": "30910:9:24" }, "variableNames": [ { "name": "n", - "nativeSrc": "30905:1:11", + "nativeSrc": "30905:1:24", "nodeType": "YulIdentifier", - "src": "30905:1:11" + "src": "30905:1:24" } ] } ] }, "pre": { - "nativeSrc": "30889:2:11", + "nativeSrc": "30889:2:24", "nodeType": "YulBlock", - "src": "30889:2:11", + "src": "30889:2:24", "statements": [] }, - "src": "30885:39:11" + "src": "30885:39:24" }, { "expression": { "arguments": [ { "name": "result", - "nativeSrc": "30962:6:11", + "nativeSrc": "30962:6:24", "nodeType": "YulIdentifier", - "src": "30962:6:11" + "src": "30962:6:24" }, { "name": "n", - "nativeSrc": "30970:1:11", + "nativeSrc": "30970:1:24", "nodeType": "YulIdentifier", - "src": "30970:1:11" + "src": "30970:1:24" } ], "functionName": { "name": "mstore", - "nativeSrc": "30955:6:11", + "nativeSrc": "30955:6:24", "nodeType": "YulIdentifier", - "src": "30955:6:11" + "src": "30955:6:24" }, - "nativeSrc": "30955:17:11", + "nativeSrc": "30955:17:24", "nodeType": "YulFunctionCall", - "src": "30955:17:11" + "src": "30955:17:24" }, - "nativeSrc": "30955:17:11", + "nativeSrc": "30955:17:24", "nodeType": "YulExpressionStatement", - "src": "30955:17:11" + "src": "30955:17:24" }, { - "nativeSrc": "31006:26:11", + "nativeSrc": "31006:26:24", "nodeType": "YulVariableDeclaration", - "src": "31006:26:11", + "src": "31006:26:24", "value": { "arguments": [ { "name": "result", - "nativeSrc": "31019:6:11", + "nativeSrc": "31019:6:24", "nodeType": "YulIdentifier", - "src": "31019:6:11" + "src": "31019:6:24" }, { "kind": "number", - "nativeSrc": "31027:4:11", + "nativeSrc": "31027:4:24", "nodeType": "YulLiteral", - "src": "31027:4:11", + "src": "31027:4:24", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "31015:3:11", + "nativeSrc": "31015:3:24", "nodeType": "YulIdentifier", - "src": "31015:3:11" + "src": "31015:3:24" }, - "nativeSrc": "31015:17:11", + "nativeSrc": "31015:17:24", "nodeType": "YulFunctionCall", - "src": "31015:17:11" + "src": "31015:17:24" }, "variables": [ { "name": "o", - "nativeSrc": "31010:1:11", + "nativeSrc": "31010:1:24", "nodeType": "YulTypedName", - "src": "31010:1:11", + "src": "31010:1:24", "type": "" } ] @@ -180241,30 +199216,30 @@ "arguments": [ { "name": "o", - "nativeSrc": "31052:1:11", + "nativeSrc": "31052:1:24", "nodeType": "YulIdentifier", - "src": "31052:1:11" + "src": "31052:1:24" }, { "name": "s", - "nativeSrc": "31055:1:11", + "nativeSrc": "31055:1:24", "nodeType": "YulIdentifier", - "src": "31055:1:11" + "src": "31055:1:24" } ], "functionName": { "name": "mstore", - "nativeSrc": "31045:6:11", + "nativeSrc": "31045:6:24", "nodeType": "YulIdentifier", - "src": "31045:6:11" + "src": "31045:6:24" }, - "nativeSrc": "31045:12:11", + "nativeSrc": "31045:12:24", "nodeType": "YulFunctionCall", - "src": "31045:12:11" + "src": "31045:12:24" }, - "nativeSrc": "31045:12:11", + "nativeSrc": "31045:12:24", "nodeType": "YulExpressionStatement", - "src": "31045:12:11" + "src": "31045:12:24" }, { "expression": { @@ -180273,58 +199248,58 @@ "arguments": [ { "name": "o", - "nativeSrc": "31115:1:11", + "nativeSrc": "31115:1:24", "nodeType": "YulIdentifier", - "src": "31115:1:11" + "src": "31115:1:24" }, { "name": "n", - "nativeSrc": "31118:1:11", + "nativeSrc": "31118:1:24", "nodeType": "YulIdentifier", - "src": "31118:1:11" + "src": "31118:1:24" } ], "functionName": { "name": "add", - "nativeSrc": "31111:3:11", + "nativeSrc": "31111:3:24", "nodeType": "YulIdentifier", - "src": "31111:3:11" + "src": "31111:3:24" }, - "nativeSrc": "31111:9:11", + "nativeSrc": "31111:9:24", "nodeType": "YulFunctionCall", - "src": "31111:9:11" + "src": "31111:9:24" }, { "kind": "number", - "nativeSrc": "31122:1:11", + "nativeSrc": "31122:1:24", "nodeType": "YulLiteral", - "src": "31122:1:11", + "src": "31122:1:24", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "31104:6:11", + "nativeSrc": "31104:6:24", "nodeType": "YulIdentifier", - "src": "31104:6:11" + "src": "31104:6:24" }, - "nativeSrc": "31104:20:11", + "nativeSrc": "31104:20:24", "nodeType": "YulFunctionCall", - "src": "31104:20:11" + "src": "31104:20:24" }, - "nativeSrc": "31104:20:11", + "nativeSrc": "31104:20:24", "nodeType": "YulExpressionStatement", - "src": "31104:20:11" + "src": "31104:20:24" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "31182:4:11", + "nativeSrc": "31182:4:24", "nodeType": "YulLiteral", - "src": "31182:4:11", + "src": "31182:4:24", "type": "", "value": "0x40" }, @@ -180332,43 +199307,43 @@ "arguments": [ { "name": "result", - "nativeSrc": "31192:6:11", + "nativeSrc": "31192:6:24", "nodeType": "YulIdentifier", - "src": "31192:6:11" + "src": "31192:6:24" }, { "kind": "number", - "nativeSrc": "31200:4:11", + "nativeSrc": "31200:4:24", "nodeType": "YulLiteral", - "src": "31200:4:11", + "src": "31200:4:24", "type": "", "value": "0x40" } ], "functionName": { "name": "add", - "nativeSrc": "31188:3:11", + "nativeSrc": "31188:3:24", "nodeType": "YulIdentifier", - "src": "31188:3:11" + "src": "31188:3:24" }, - "nativeSrc": "31188:17:11", + "nativeSrc": "31188:17:24", "nodeType": "YulFunctionCall", - "src": "31188:17:11" + "src": "31188:17:24" } ], "functionName": { "name": "mstore", - "nativeSrc": "31175:6:11", + "nativeSrc": "31175:6:24", "nodeType": "YulIdentifier", - "src": "31175:6:11" + "src": "31175:6:24" }, - "nativeSrc": "31175:31:11", + "nativeSrc": "31175:31:24", "nodeType": "YulFunctionCall", - "src": "31175:31:11" + "src": "31175:31:24" }, - "nativeSrc": "31175:31:11", + "nativeSrc": "31175:31:24", "nodeType": "YulExpressionStatement", - "src": "31175:31:11" + "src": "31175:31:24" } ] }, @@ -180376,80 +199351,80 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5930, + "declaration": 7536, "isOffset": false, "isSlot": false, - "src": "30828:6:11", + "src": "30828:6:24", "valueSize": 1 }, { - "declaration": 5930, + "declaration": 7536, "isOffset": false, "isSlot": false, - "src": "30962:6:11", + "src": "30962:6:24", "valueSize": 1 }, { - "declaration": 5930, + "declaration": 7536, "isOffset": false, "isSlot": false, - "src": "31019:6:11", + "src": "31019:6:24", "valueSize": 1 }, { - "declaration": 5930, + "declaration": 7536, "isOffset": false, "isSlot": false, - "src": "31192:6:11", + "src": "31192:6:24", "valueSize": 1 }, { - "declaration": 5927, + "declaration": 7533, "isOffset": false, "isSlot": false, - "src": "30900:1:11", + "src": "30900:1:24", "valueSize": 1 }, { - "declaration": 5927, + "declaration": 7533, "isOffset": false, "isSlot": false, - "src": "31055:1:11", + "src": "31055:1:24", "valueSize": 1 } ], - "id": 5932, + "id": 7538, "nodeType": "InlineAssembly", - "src": "30805:431:11" + "src": "30805:431:24" } ] }, "documentation": { - "id": 5925, + "id": 7531, "nodeType": "StructuredDocumentation", - "src": "30544:122:11", + "src": "30544:122:24", "text": "@dev Returns a string from a small bytes32 string.\n `s` must be null-terminated, or behavior will be undefined." }, - "id": 5934, + "id": 7540, "implemented": true, "kind": "function", "modifiers": [], "name": "fromSmallString", - "nameLocation": "30680:15:11", + "nameLocation": "30680:15:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 5928, + "id": 7534, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5927, + "id": 7533, "mutability": "mutable", "name": "s", - "nameLocation": "30704:1:11", + "nameLocation": "30704:1:24", "nodeType": "VariableDeclaration", - "scope": 5934, - "src": "30696:9:11", + "scope": 7540, + "src": "30696:9:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -180457,10 +199432,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 5926, + "id": 7532, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "30696:7:11", + "src": "30696:7:24", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -180469,21 +199444,21 @@ "visibility": "internal" } ], - "src": "30695:11:11" + "src": "30695:11:24" }, "returnParameters": { - "id": 5931, + "id": 7537, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5930, + "id": 7536, "mutability": "mutable", "name": "result", - "nameLocation": "30744:6:11", + "nameLocation": "30744:6:24", "nodeType": "VariableDeclaration", - "scope": 5934, - "src": "30730:20:11", + "scope": 7540, + "src": "30730:20:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -180491,10 +199466,10 @@ "typeString": "string" }, "typeName": { - "id": 5929, + "id": 7535, "name": "string", "nodeType": "ElementaryTypeName", - "src": "30730:6:11", + "src": "30730:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -180503,210 +199478,210 @@ "visibility": "internal" } ], - "src": "30729:22:11" + "src": "30729:22:24" }, - "scope": 6134, - "src": "30671:571:11", + "scope": 7740, + "src": "30671:571:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5943, + "id": 7549, "nodeType": "Block", - "src": "31418:259:11", + "src": "31418:259:24", "statements": [ { "AST": { - "nativeSrc": "31480:191:11", + "nativeSrc": "31480:191:24", "nodeType": "YulBlock", - "src": "31480:191:11", + "src": "31480:191:24", "statements": [ { "body": { - "nativeSrc": "31546:2:11", + "nativeSrc": "31546:2:24", "nodeType": "YulBlock", - "src": "31546:2:11", + "src": "31546:2:24", "statements": [] }, "condition": { "arguments": [ { "name": "result", - "nativeSrc": "31506:6:11", + "nativeSrc": "31506:6:24", "nodeType": "YulIdentifier", - "src": "31506:6:11" + "src": "31506:6:24" }, { "name": "s", - "nativeSrc": "31514:1:11", + "nativeSrc": "31514:1:24", "nodeType": "YulIdentifier", - "src": "31514:1:11" + "src": "31514:1:24" } ], "functionName": { "name": "byte", - "nativeSrc": "31501:4:11", + "nativeSrc": "31501:4:24", "nodeType": "YulIdentifier", - "src": "31501:4:11" + "src": "31501:4:24" }, - "nativeSrc": "31501:15:11", + "nativeSrc": "31501:15:24", "nodeType": "YulFunctionCall", - "src": "31501:15:11" + "src": "31501:15:24" }, - "nativeSrc": "31494:54:11", + "nativeSrc": "31494:54:24", "nodeType": "YulForLoop", "post": { - "nativeSrc": "31517:28:11", + "nativeSrc": "31517:28:24", "nodeType": "YulBlock", - "src": "31517:28:11", + "src": "31517:28:24", "statements": [ { - "nativeSrc": "31519:24:11", + "nativeSrc": "31519:24:24", "nodeType": "YulAssignment", - "src": "31519:24:11", + "src": "31519:24:24", "value": { "arguments": [ { "name": "result", - "nativeSrc": "31533:6:11", + "nativeSrc": "31533:6:24", "nodeType": "YulIdentifier", - "src": "31533:6:11" + "src": "31533:6:24" }, { "kind": "number", - "nativeSrc": "31541:1:11", + "nativeSrc": "31541:1:24", "nodeType": "YulLiteral", - "src": "31541:1:11", + "src": "31541:1:24", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "31529:3:11", + "nativeSrc": "31529:3:24", "nodeType": "YulIdentifier", - "src": "31529:3:11" + "src": "31529:3:24" }, - "nativeSrc": "31529:14:11", + "nativeSrc": "31529:14:24", "nodeType": "YulFunctionCall", - "src": "31529:14:11" + "src": "31529:14:24" }, "variableNames": [ { "name": "result", - "nativeSrc": "31519:6:11", + "nativeSrc": "31519:6:24", "nodeType": "YulIdentifier", - "src": "31519:6:11" + "src": "31519:6:24" } ] } ] }, "pre": { - "nativeSrc": "31498:2:11", + "nativeSrc": "31498:2:24", "nodeType": "YulBlock", - "src": "31498:2:11", + "src": "31498:2:24", "statements": [] }, - "src": "31494:54:11" + "src": "31494:54:24" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "31586:4:11", + "nativeSrc": "31586:4:24", "nodeType": "YulLiteral", - "src": "31586:4:11", + "src": "31586:4:24", "type": "", "value": "0x00" }, { "name": "s", - "nativeSrc": "31592:1:11", + "nativeSrc": "31592:1:24", "nodeType": "YulIdentifier", - "src": "31592:1:11" + "src": "31592:1:24" } ], "functionName": { "name": "mstore", - "nativeSrc": "31579:6:11", + "nativeSrc": "31579:6:24", "nodeType": "YulIdentifier", - "src": "31579:6:11" + "src": "31579:6:24" }, - "nativeSrc": "31579:15:11", + "nativeSrc": "31579:15:24", "nodeType": "YulFunctionCall", - "src": "31579:15:11" + "src": "31579:15:24" }, - "nativeSrc": "31579:15:11", + "nativeSrc": "31579:15:24", "nodeType": "YulExpressionStatement", - "src": "31579:15:11" + "src": "31579:15:24" }, { "expression": { "arguments": [ { "name": "result", - "nativeSrc": "31614:6:11", + "nativeSrc": "31614:6:24", "nodeType": "YulIdentifier", - "src": "31614:6:11" + "src": "31614:6:24" }, { "kind": "number", - "nativeSrc": "31622:4:11", + "nativeSrc": "31622:4:24", "nodeType": "YulLiteral", - "src": "31622:4:11", + "src": "31622:4:24", "type": "", "value": "0x00" } ], "functionName": { "name": "mstore", - "nativeSrc": "31607:6:11", + "nativeSrc": "31607:6:24", "nodeType": "YulIdentifier", - "src": "31607:6:11" + "src": "31607:6:24" }, - "nativeSrc": "31607:20:11", + "nativeSrc": "31607:20:24", "nodeType": "YulFunctionCall", - "src": "31607:20:11" + "src": "31607:20:24" }, - "nativeSrc": "31607:20:11", + "nativeSrc": "31607:20:24", "nodeType": "YulExpressionStatement", - "src": "31607:20:11" + "src": "31607:20:24" }, { - "nativeSrc": "31640:21:11", + "nativeSrc": "31640:21:24", "nodeType": "YulAssignment", - "src": "31640:21:11", + "src": "31640:21:24", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "31656:4:11", + "nativeSrc": "31656:4:24", "nodeType": "YulLiteral", - "src": "31656:4:11", + "src": "31656:4:24", "type": "", "value": "0x00" } ], "functionName": { "name": "mload", - "nativeSrc": "31650:5:11", + "nativeSrc": "31650:5:24", "nodeType": "YulIdentifier", - "src": "31650:5:11" + "src": "31650:5:24" }, - "nativeSrc": "31650:11:11", + "nativeSrc": "31650:11:24", "nodeType": "YulFunctionCall", - "src": "31650:11:11" + "src": "31650:11:24" }, "variableNames": [ { "name": "result", - "nativeSrc": "31640:6:11", + "nativeSrc": "31640:6:24", "nodeType": "YulIdentifier", - "src": "31640:6:11" + "src": "31640:6:24" } ] } @@ -180716,87 +199691,87 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5940, + "declaration": 7546, "isOffset": false, "isSlot": false, - "src": "31506:6:11", + "src": "31506:6:24", "valueSize": 1 }, { - "declaration": 5940, + "declaration": 7546, "isOffset": false, "isSlot": false, - "src": "31519:6:11", + "src": "31519:6:24", "valueSize": 1 }, { - "declaration": 5940, + "declaration": 7546, "isOffset": false, "isSlot": false, - "src": "31533:6:11", + "src": "31533:6:24", "valueSize": 1 }, { - "declaration": 5940, + "declaration": 7546, "isOffset": false, "isSlot": false, - "src": "31614:6:11", + "src": "31614:6:24", "valueSize": 1 }, { - "declaration": 5940, + "declaration": 7546, "isOffset": false, "isSlot": false, - "src": "31640:6:11", + "src": "31640:6:24", "valueSize": 1 }, { - "declaration": 5937, + "declaration": 7543, "isOffset": false, "isSlot": false, - "src": "31514:1:11", + "src": "31514:1:24", "valueSize": 1 }, { - "declaration": 5937, + "declaration": 7543, "isOffset": false, "isSlot": false, - "src": "31592:1:11", + "src": "31592:1:24", "valueSize": 1 } ], - "id": 5942, + "id": 7548, "nodeType": "InlineAssembly", - "src": "31471:200:11" + "src": "31471:200:24" } ] }, "documentation": { - "id": 5935, + "id": 7541, "nodeType": "StructuredDocumentation", - "src": "31248:85:11", + "src": "31248:85:24", "text": "@dev Returns the small string, with all bytes after the first null byte zeroized." }, - "id": 5944, + "id": 7550, "implemented": true, "kind": "function", "modifiers": [], "name": "normalizeSmallString", - "nameLocation": "31347:20:11", + "nameLocation": "31347:20:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 5938, + "id": 7544, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5937, + "id": 7543, "mutability": "mutable", "name": "s", - "nameLocation": "31376:1:11", + "nameLocation": "31376:1:24", "nodeType": "VariableDeclaration", - "scope": 5944, - "src": "31368:9:11", + "scope": 7550, + "src": "31368:9:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -180804,10 +199779,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 5936, + "id": 7542, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "31368:7:11", + "src": "31368:7:24", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -180816,21 +199791,21 @@ "visibility": "internal" } ], - "src": "31367:11:11" + "src": "31367:11:24" }, "returnParameters": { - "id": 5941, + "id": 7547, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5940, + "id": 7546, "mutability": "mutable", "name": "result", - "nameLocation": "31410:6:11", + "nameLocation": "31410:6:24", "nodeType": "VariableDeclaration", - "scope": 5944, - "src": "31402:14:11", + "scope": 7550, + "src": "31402:14:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -180838,10 +199813,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 5939, + "id": 7545, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "31402:7:11", + "src": "31402:7:24", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -180850,131 +199825,131 @@ "visibility": "internal" } ], - "src": "31401:16:11" + "src": "31401:16:24" }, - "scope": 6134, - "src": "31338:339:11", + "scope": 7740, + "src": "31338:339:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5953, + "id": 7559, "nodeType": "Block", - "src": "31840:343:11", + "src": "31840:343:24", "statements": [ { "AST": { - "nativeSrc": "31902:275:11", + "nativeSrc": "31902:275:24", "nodeType": "YulBlock", - "src": "31902:275:11", + "src": "31902:275:24", "statements": [ { - "nativeSrc": "31916:18:11", + "nativeSrc": "31916:18:24", "nodeType": "YulAssignment", - "src": "31916:18:11", + "src": "31916:18:24", "value": { "arguments": [ { "name": "s", - "nativeSrc": "31932:1:11", + "nativeSrc": "31932:1:24", "nodeType": "YulIdentifier", - "src": "31932:1:11" + "src": "31932:1:24" } ], "functionName": { "name": "mload", - "nativeSrc": "31926:5:11", + "nativeSrc": "31926:5:24", "nodeType": "YulIdentifier", - "src": "31926:5:11" + "src": "31926:5:24" }, - "nativeSrc": "31926:8:11", + "nativeSrc": "31926:8:24", "nodeType": "YulFunctionCall", - "src": "31926:8:11" + "src": "31926:8:24" }, "variableNames": [ { "name": "result", - "nativeSrc": "31916:6:11", + "nativeSrc": "31916:6:24", "nodeType": "YulIdentifier", - "src": "31916:6:11" + "src": "31916:6:24" } ] }, { "body": { - "nativeSrc": "31973:120:11", + "nativeSrc": "31973:120:24", "nodeType": "YulBlock", - "src": "31973:120:11", + "src": "31973:120:24", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "31998:4:11", + "nativeSrc": "31998:4:24", "nodeType": "YulLiteral", - "src": "31998:4:11", + "src": "31998:4:24", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "32004:10:11", + "nativeSrc": "32004:10:24", "nodeType": "YulLiteral", - "src": "32004:10:11", + "src": "32004:10:24", "type": "", "value": "0xec92f9a3" } ], "functionName": { "name": "mstore", - "nativeSrc": "31991:6:11", + "nativeSrc": "31991:6:24", "nodeType": "YulIdentifier", - "src": "31991:6:11" + "src": "31991:6:24" }, - "nativeSrc": "31991:24:11", + "nativeSrc": "31991:24:24", "nodeType": "YulFunctionCall", - "src": "31991:24:11" + "src": "31991:24:24" }, - "nativeSrc": "31991:24:11", + "nativeSrc": "31991:24:24", "nodeType": "YulExpressionStatement", - "src": "31991:24:11" + "src": "31991:24:24" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "32068:4:11", + "nativeSrc": "32068:4:24", "nodeType": "YulLiteral", - "src": "32068:4:11", + "src": "32068:4:24", "type": "", "value": "0x1c" }, { "kind": "number", - "nativeSrc": "32074:4:11", + "nativeSrc": "32074:4:24", "nodeType": "YulLiteral", - "src": "32074:4:11", + "src": "32074:4:24", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "32061:6:11", + "nativeSrc": "32061:6:24", "nodeType": "YulIdentifier", - "src": "32061:6:11" + "src": "32061:6:24" }, - "nativeSrc": "32061:18:11", + "nativeSrc": "32061:18:24", "nodeType": "YulFunctionCall", - "src": "32061:18:11" + "src": "32061:18:24" }, - "nativeSrc": "32061:18:11", + "nativeSrc": "32061:18:24", "nodeType": "YulExpressionStatement", - "src": "32061:18:11" + "src": "32061:18:24" } ] }, @@ -180984,57 +199959,57 @@ "arguments": [ { "name": "result", - "nativeSrc": "31960:6:11", + "nativeSrc": "31960:6:24", "nodeType": "YulIdentifier", - "src": "31960:6:11" + "src": "31960:6:24" }, { "kind": "number", - "nativeSrc": "31968:2:11", + "nativeSrc": "31968:2:24", "nodeType": "YulLiteral", - "src": "31968:2:11", + "src": "31968:2:24", "type": "", "value": "33" } ], "functionName": { "name": "lt", - "nativeSrc": "31957:2:11", + "nativeSrc": "31957:2:24", "nodeType": "YulIdentifier", - "src": "31957:2:11" + "src": "31957:2:24" }, - "nativeSrc": "31957:14:11", + "nativeSrc": "31957:14:24", "nodeType": "YulFunctionCall", - "src": "31957:14:11" + "src": "31957:14:24" } ], "functionName": { "name": "iszero", - "nativeSrc": "31950:6:11", + "nativeSrc": "31950:6:24", "nodeType": "YulIdentifier", - "src": "31950:6:11" + "src": "31950:6:24" }, - "nativeSrc": "31950:22:11", + "nativeSrc": "31950:22:24", "nodeType": "YulFunctionCall", - "src": "31950:22:11" + "src": "31950:22:24" }, - "nativeSrc": "31947:146:11", + "nativeSrc": "31947:146:24", "nodeType": "YulIf", - "src": "31947:146:11" + "src": "31947:146:24" }, { - "nativeSrc": "32106:61:11", + "nativeSrc": "32106:61:24", "nodeType": "YulAssignment", - "src": "32106:61:11", + "src": "32106:61:24", "value": { "arguments": [ { "arguments": [ { "kind": "number", - "nativeSrc": "32124:1:11", + "nativeSrc": "32124:1:24", "nodeType": "YulLiteral", - "src": "32124:1:11", + "src": "32124:1:24", "type": "", "value": "3" }, @@ -181042,39 +200017,39 @@ "arguments": [ { "kind": "number", - "nativeSrc": "32131:2:11", + "nativeSrc": "32131:2:24", "nodeType": "YulLiteral", - "src": "32131:2:11", + "src": "32131:2:24", "type": "", "value": "32" }, { "name": "result", - "nativeSrc": "32135:6:11", + "nativeSrc": "32135:6:24", "nodeType": "YulIdentifier", - "src": "32135:6:11" + "src": "32135:6:24" } ], "functionName": { "name": "sub", - "nativeSrc": "32127:3:11", + "nativeSrc": "32127:3:24", "nodeType": "YulIdentifier", - "src": "32127:3:11" + "src": "32127:3:24" }, - "nativeSrc": "32127:15:11", + "nativeSrc": "32127:15:24", "nodeType": "YulFunctionCall", - "src": "32127:15:11" + "src": "32127:15:24" } ], "functionName": { "name": "shl", - "nativeSrc": "32120:3:11", + "nativeSrc": "32120:3:24", "nodeType": "YulIdentifier", - "src": "32120:3:11" + "src": "32120:3:24" }, - "nativeSrc": "32120:23:11", + "nativeSrc": "32120:23:24", "nodeType": "YulFunctionCall", - "src": "32120:23:11" + "src": "32120:23:24" }, { "arguments": [ @@ -181082,55 +200057,55 @@ "arguments": [ { "name": "s", - "nativeSrc": "32155:1:11", + "nativeSrc": "32155:1:24", "nodeType": "YulIdentifier", - "src": "32155:1:11" + "src": "32155:1:24" }, { "name": "result", - "nativeSrc": "32158:6:11", + "nativeSrc": "32158:6:24", "nodeType": "YulIdentifier", - "src": "32158:6:11" + "src": "32158:6:24" } ], "functionName": { "name": "add", - "nativeSrc": "32151:3:11", + "nativeSrc": "32151:3:24", "nodeType": "YulIdentifier", - "src": "32151:3:11" + "src": "32151:3:24" }, - "nativeSrc": "32151:14:11", + "nativeSrc": "32151:14:24", "nodeType": "YulFunctionCall", - "src": "32151:14:11" + "src": "32151:14:24" } ], "functionName": { "name": "mload", - "nativeSrc": "32145:5:11", + "nativeSrc": "32145:5:24", "nodeType": "YulIdentifier", - "src": "32145:5:11" + "src": "32145:5:24" }, - "nativeSrc": "32145:21:11", + "nativeSrc": "32145:21:24", "nodeType": "YulFunctionCall", - "src": "32145:21:11" + "src": "32145:21:24" } ], "functionName": { "name": "shl", - "nativeSrc": "32116:3:11", + "nativeSrc": "32116:3:24", "nodeType": "YulIdentifier", - "src": "32116:3:11" + "src": "32116:3:24" }, - "nativeSrc": "32116:51:11", + "nativeSrc": "32116:51:24", "nodeType": "YulFunctionCall", - "src": "32116:51:11" + "src": "32116:51:24" }, "variableNames": [ { "name": "result", - "nativeSrc": "32106:6:11", + "nativeSrc": "32106:6:24", "nodeType": "YulIdentifier", - "src": "32106:6:11" + "src": "32106:6:24" } ] } @@ -181140,87 +200115,87 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5950, + "declaration": 7556, "isOffset": false, "isSlot": false, - "src": "31916:6:11", + "src": "31916:6:24", "valueSize": 1 }, { - "declaration": 5950, + "declaration": 7556, "isOffset": false, "isSlot": false, - "src": "31960:6:11", + "src": "31960:6:24", "valueSize": 1 }, { - "declaration": 5950, + "declaration": 7556, "isOffset": false, "isSlot": false, - "src": "32106:6:11", + "src": "32106:6:24", "valueSize": 1 }, { - "declaration": 5950, + "declaration": 7556, "isOffset": false, "isSlot": false, - "src": "32135:6:11", + "src": "32135:6:24", "valueSize": 1 }, { - "declaration": 5950, + "declaration": 7556, "isOffset": false, "isSlot": false, - "src": "32158:6:11", + "src": "32158:6:24", "valueSize": 1 }, { - "declaration": 5947, + "declaration": 7553, "isOffset": false, "isSlot": false, - "src": "31932:1:11", + "src": "31932:1:24", "valueSize": 1 }, { - "declaration": 5947, + "declaration": 7553, "isOffset": false, "isSlot": false, - "src": "32155:1:11", + "src": "32155:1:24", "valueSize": 1 } ], - "id": 5952, + "id": 7558, "nodeType": "InlineAssembly", - "src": "31893:284:11" + "src": "31893:284:24" } ] }, "documentation": { - "id": 5945, + "id": 7551, "nodeType": "StructuredDocumentation", - "src": "31683:73:11", + "src": "31683:73:24", "text": "@dev Returns the string as a normalized null-terminated small string." }, - "id": 5954, + "id": 7560, "implemented": true, "kind": "function", "modifiers": [], "name": "toSmallString", - "nameLocation": "31770:13:11", + "nameLocation": "31770:13:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 5948, + "id": 7554, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5947, + "id": 7553, "mutability": "mutable", "name": "s", - "nameLocation": "31798:1:11", + "nameLocation": "31798:1:24", "nodeType": "VariableDeclaration", - "scope": 5954, - "src": "31784:15:11", + "scope": 7560, + "src": "31784:15:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -181228,10 +200203,10 @@ "typeString": "string" }, "typeName": { - "id": 5946, + "id": 7552, "name": "string", "nodeType": "ElementaryTypeName", - "src": "31784:6:11", + "src": "31784:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -181240,21 +200215,21 @@ "visibility": "internal" } ], - "src": "31783:17:11" + "src": "31783:17:24" }, "returnParameters": { - "id": 5951, + "id": 7557, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5950, + "id": 7556, "mutability": "mutable", "name": "result", - "nameLocation": "31832:6:11", + "nameLocation": "31832:6:24", "nodeType": "VariableDeclaration", - "scope": 5954, - "src": "31824:14:11", + "scope": 7560, + "src": "31824:14:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -181262,10 +200237,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 5949, + "id": 7555, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "31824:7:11", + "src": "31824:7:24", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -181274,34 +200249,34 @@ "visibility": "internal" } ], - "src": "31823:16:11" + "src": "31823:16:24" }, - "scope": 6134, - "src": "31761:422:11", + "scope": 7740, + "src": "31761:422:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5969, + "id": 7575, "nodeType": "Block", - "src": "32402:48:11", + "src": "32402:48:24", "statements": [ { "expression": { - "id": 5967, + "id": 7573, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 5962, + "id": 7568, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5960, - "src": "32412:6:11", + "referencedDeclaration": 7566, + "src": "32412:6:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -181312,12 +200287,12 @@ "rightHandSide": { "arguments": [ { - "id": 5964, + "id": 7570, "name": "subject", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5957, - "src": "32428:7:11", + "referencedDeclaration": 7563, + "src": "32428:7:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -181325,14 +200300,14 @@ }, { "hexValue": "66616c7365", - "id": 5965, + "id": 7571, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "32437:5:11", + "src": "32437:5:24", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -181351,18 +200326,18 @@ "typeString": "bool" } ], - "id": 5963, + "id": 7569, "name": "toCase", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5924, - "src": "32421:6:11", + "referencedDeclaration": 7530, + "src": "32421:6:24", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_bool_$returns$_t_string_memory_ptr_$", "typeString": "function (string memory,bool) pure returns (string memory)" } }, - "id": 5966, + "id": 7572, "isConstant": false, "isLValue": false, "isPure": false, @@ -181371,51 +200346,51 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "32421:22:11", + "src": "32421:22:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "32412:31:11", + "src": "32412:31:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 5968, + "id": 7574, "nodeType": "ExpressionStatement", - "src": "32412:31:11" + "src": "32412:31:24" } ] }, "documentation": { - "id": 5955, + "id": 7561, "nodeType": "StructuredDocumentation", - "src": "32189:125:11", + "src": "32189:125:24", "text": "@dev Returns a lowercased copy of the string.\n WARNING! This function is only compatible with 7-bit ASCII strings." }, - "id": 5970, + "id": 7576, "implemented": true, "kind": "function", "modifiers": [], "name": "lower", - "nameLocation": "32328:5:11", + "nameLocation": "32328:5:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 5958, + "id": 7564, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5957, + "id": 7563, "mutability": "mutable", "name": "subject", - "nameLocation": "32348:7:11", + "nameLocation": "32348:7:24", "nodeType": "VariableDeclaration", - "scope": 5970, - "src": "32334:21:11", + "scope": 7576, + "src": "32334:21:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -181423,10 +200398,10 @@ "typeString": "string" }, "typeName": { - "id": 5956, + "id": 7562, "name": "string", "nodeType": "ElementaryTypeName", - "src": "32334:6:11", + "src": "32334:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -181435,21 +200410,21 @@ "visibility": "internal" } ], - "src": "32333:23:11" + "src": "32333:23:24" }, "returnParameters": { - "id": 5961, + "id": 7567, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5960, + "id": 7566, "mutability": "mutable", "name": "result", - "nameLocation": "32394:6:11", + "nameLocation": "32394:6:24", "nodeType": "VariableDeclaration", - "scope": 5970, - "src": "32380:20:11", + "scope": 7576, + "src": "32380:20:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -181457,10 +200432,10 @@ "typeString": "string" }, "typeName": { - "id": 5959, + "id": 7565, "name": "string", "nodeType": "ElementaryTypeName", - "src": "32380:6:11", + "src": "32380:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -181469,34 +200444,34 @@ "visibility": "internal" } ], - "src": "32379:22:11" + "src": "32379:22:24" }, - "scope": 6134, - "src": "32319:131:11", + "scope": 7740, + "src": "32319:131:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5985, + "id": 7591, "nodeType": "Block", - "src": "32670:47:11", + "src": "32670:47:24", "statements": [ { "expression": { - "id": 5983, + "id": 7589, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 5978, + "id": 7584, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5976, - "src": "32680:6:11", + "referencedDeclaration": 7582, + "src": "32680:6:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -181507,12 +200482,12 @@ "rightHandSide": { "arguments": [ { - "id": 5980, + "id": 7586, "name": "subject", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5973, - "src": "32696:7:11", + "referencedDeclaration": 7579, + "src": "32696:7:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -181520,14 +200495,14 @@ }, { "hexValue": "74727565", - "id": 5981, + "id": 7587, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "32705:4:11", + "src": "32705:4:24", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -181546,18 +200521,18 @@ "typeString": "bool" } ], - "id": 5979, + "id": 7585, "name": "toCase", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5924, - "src": "32689:6:11", + "referencedDeclaration": 7530, + "src": "32689:6:24", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_bool_$returns$_t_string_memory_ptr_$", "typeString": "function (string memory,bool) pure returns (string memory)" } }, - "id": 5982, + "id": 7588, "isConstant": false, "isLValue": false, "isPure": false, @@ -181566,51 +200541,51 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "32689:21:11", + "src": "32689:21:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "32680:30:11", + "src": "32680:30:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 5984, + "id": 7590, "nodeType": "ExpressionStatement", - "src": "32680:30:11" + "src": "32680:30:24" } ] }, "documentation": { - "id": 5971, + "id": 7577, "nodeType": "StructuredDocumentation", - "src": "32456:126:11", + "src": "32456:126:24", "text": "@dev Returns an UPPERCASED copy of the string.\n WARNING! This function is only compatible with 7-bit ASCII strings." }, - "id": 5986, + "id": 7592, "implemented": true, "kind": "function", "modifiers": [], "name": "upper", - "nameLocation": "32596:5:11", + "nameLocation": "32596:5:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 5974, + "id": 7580, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5973, + "id": 7579, "mutability": "mutable", "name": "subject", - "nameLocation": "32616:7:11", + "nameLocation": "32616:7:24", "nodeType": "VariableDeclaration", - "scope": 5986, - "src": "32602:21:11", + "scope": 7592, + "src": "32602:21:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -181618,10 +200593,10 @@ "typeString": "string" }, "typeName": { - "id": 5972, + "id": 7578, "name": "string", "nodeType": "ElementaryTypeName", - "src": "32602:6:11", + "src": "32602:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -181630,21 +200605,21 @@ "visibility": "internal" } ], - "src": "32601:23:11" + "src": "32601:23:24" }, "returnParameters": { - "id": 5977, + "id": 7583, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5976, + "id": 7582, "mutability": "mutable", "name": "result", - "nameLocation": "32662:6:11", + "nameLocation": "32662:6:24", "nodeType": "VariableDeclaration", - "scope": 5986, - "src": "32648:20:11", + "scope": 7592, + "src": "32648:20:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -181652,10 +200627,10 @@ "typeString": "string" }, "typeName": { - "id": 5975, + "id": 7581, "name": "string", "nodeType": "ElementaryTypeName", - "src": "32648:6:11", + "src": "32648:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -181664,149 +200639,149 @@ "visibility": "internal" } ], - "src": "32647:22:11" + "src": "32647:22:24" }, - "scope": 6134, - "src": "32587:130:11", + "scope": 7740, + "src": "32587:130:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5995, + "id": 7601, "nodeType": "Block", - "src": "32866:1292:11", + "src": "32866:1292:24", "statements": [ { "AST": { - "nativeSrc": "32928:1224:11", + "nativeSrc": "32928:1224:24", "nodeType": "YulBlock", - "src": "32928:1224:11", + "src": "32928:1224:24", "statements": [ { - "nativeSrc": "32942:21:11", + "nativeSrc": "32942:21:24", "nodeType": "YulAssignment", - "src": "32942:21:11", + "src": "32942:21:24", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "32958:4:11", + "nativeSrc": "32958:4:24", "nodeType": "YulLiteral", - "src": "32958:4:11", + "src": "32958:4:24", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "32952:5:11", + "nativeSrc": "32952:5:24", "nodeType": "YulIdentifier", - "src": "32952:5:11" + "src": "32952:5:24" }, - "nativeSrc": "32952:11:11", + "nativeSrc": "32952:11:24", "nodeType": "YulFunctionCall", - "src": "32952:11:11" + "src": "32952:11:24" }, "variableNames": [ { "name": "result", - "nativeSrc": "32942:6:11", + "nativeSrc": "32942:6:24", "nodeType": "YulIdentifier", - "src": "32942:6:11" + "src": "32942:6:24" } ] }, { - "nativeSrc": "32976:27:11", + "nativeSrc": "32976:27:24", "nodeType": "YulVariableDeclaration", - "src": "32976:27:11", + "src": "32976:27:24", "value": { "arguments": [ { "name": "s", - "nativeSrc": "32991:1:11", + "nativeSrc": "32991:1:24", "nodeType": "YulIdentifier", - "src": "32991:1:11" + "src": "32991:1:24" }, { "arguments": [ { "name": "s", - "nativeSrc": "33000:1:11", + "nativeSrc": "33000:1:24", "nodeType": "YulIdentifier", - "src": "33000:1:11" + "src": "33000:1:24" } ], "functionName": { "name": "mload", - "nativeSrc": "32994:5:11", + "nativeSrc": "32994:5:24", "nodeType": "YulIdentifier", - "src": "32994:5:11" + "src": "32994:5:24" }, - "nativeSrc": "32994:8:11", + "nativeSrc": "32994:8:24", "nodeType": "YulFunctionCall", - "src": "32994:8:11" + "src": "32994:8:24" } ], "functionName": { "name": "add", - "nativeSrc": "32987:3:11", + "nativeSrc": "32987:3:24", "nodeType": "YulIdentifier", - "src": "32987:3:11" + "src": "32987:3:24" }, - "nativeSrc": "32987:16:11", + "nativeSrc": "32987:16:24", "nodeType": "YulFunctionCall", - "src": "32987:16:11" + "src": "32987:16:24" }, "variables": [ { "name": "end", - "nativeSrc": "32980:3:11", + "nativeSrc": "32980:3:24", "nodeType": "YulTypedName", - "src": "32980:3:11", + "src": "32980:3:24", "type": "" } ] }, { - "nativeSrc": "33016:26:11", + "nativeSrc": "33016:26:24", "nodeType": "YulVariableDeclaration", - "src": "33016:26:11", + "src": "33016:26:24", "value": { "arguments": [ { "name": "result", - "nativeSrc": "33029:6:11", + "nativeSrc": "33029:6:24", "nodeType": "YulIdentifier", - "src": "33029:6:11" + "src": "33029:6:24" }, { "kind": "number", - "nativeSrc": "33037:4:11", + "nativeSrc": "33037:4:24", "nodeType": "YulLiteral", - "src": "33037:4:11", + "src": "33037:4:24", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "33025:3:11", + "nativeSrc": "33025:3:24", "nodeType": "YulIdentifier", - "src": "33025:3:11" + "src": "33025:3:24" }, - "nativeSrc": "33025:17:11", + "nativeSrc": "33025:17:24", "nodeType": "YulFunctionCall", - "src": "33025:17:11" + "src": "33025:17:24" }, "variables": [ { "name": "o", - "nativeSrc": "33020:1:11", + "nativeSrc": "33020:1:24", "nodeType": "YulTypedName", - "src": "33020:1:11", + "src": "33020:1:24", "type": "" } ] @@ -181816,77 +200791,77 @@ "arguments": [ { "kind": "number", - "nativeSrc": "33236:4:11", + "nativeSrc": "33236:4:24", "nodeType": "YulLiteral", - "src": "33236:4:11", + "src": "33236:4:24", "type": "", "value": "0x1f" }, { "kind": "number", - "nativeSrc": "33242:8:11", + "nativeSrc": "33242:8:24", "nodeType": "YulLiteral", - "src": "33242:8:11", + "src": "33242:8:24", "type": "", "value": "0x900094" } ], "functionName": { "name": "mstore", - "nativeSrc": "33229:6:11", + "nativeSrc": "33229:6:24", "nodeType": "YulIdentifier", - "src": "33229:6:11" + "src": "33229:6:24" }, - "nativeSrc": "33229:22:11", + "nativeSrc": "33229:22:24", "nodeType": "YulFunctionCall", - "src": "33229:22:11" + "src": "33229:22:24" }, - "nativeSrc": "33229:22:11", + "nativeSrc": "33229:22:24", "nodeType": "YulExpressionStatement", - "src": "33229:22:11" + "src": "33229:22:24" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "33271:4:11", + "nativeSrc": "33271:4:24", "nodeType": "YulLiteral", - "src": "33271:4:11", + "src": "33271:4:24", "type": "", "value": "0x08" }, { "kind": "number", - "nativeSrc": "33277:14:11", + "nativeSrc": "33277:14:24", "nodeType": "YulLiteral", - "src": "33277:14:11", + "src": "33277:14:24", "type": "", "value": "0xc0000000a6ab" } ], "functionName": { "name": "mstore", - "nativeSrc": "33264:6:11", + "nativeSrc": "33264:6:24", "nodeType": "YulIdentifier", - "src": "33264:6:11" + "src": "33264:6:24" }, - "nativeSrc": "33264:28:11", + "nativeSrc": "33264:28:24", "nodeType": "YulFunctionCall", - "src": "33264:28:11" + "src": "33264:28:24" }, - "nativeSrc": "33264:28:11", + "nativeSrc": "33264:28:24", "nodeType": "YulExpressionStatement", - "src": "33264:28:11" + "src": "33264:28:24" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "33384:4:11", + "nativeSrc": "33384:4:24", "nodeType": "YulLiteral", - "src": "33384:4:11", + "src": "33384:4:24", "type": "", "value": "0x00" }, @@ -181894,226 +200869,226 @@ "arguments": [ { "kind": "number", - "nativeSrc": "33394:2:11", + "nativeSrc": "33394:2:24", "nodeType": "YulLiteral", - "src": "33394:2:11", + "src": "33394:2:24", "type": "", "value": "64" }, { "kind": "number", - "nativeSrc": "33398:50:11", + "nativeSrc": "33398:50:24", "nodeType": "YulLiteral", - "src": "33398:50:11", + "src": "33398:50:24", "type": "", "value": "0x2671756f743b26616d703b262333393b266c743b2667743b" } ], "functionName": { "name": "shl", - "nativeSrc": "33390:3:11", + "nativeSrc": "33390:3:24", "nodeType": "YulIdentifier", - "src": "33390:3:11" + "src": "33390:3:24" }, - "nativeSrc": "33390:59:11", + "nativeSrc": "33390:59:24", "nodeType": "YulFunctionCall", - "src": "33390:59:11" + "src": "33390:59:24" } ], "functionName": { "name": "mstore", - "nativeSrc": "33377:6:11", + "nativeSrc": "33377:6:24", "nodeType": "YulIdentifier", - "src": "33377:6:11" + "src": "33377:6:24" }, - "nativeSrc": "33377:73:11", + "nativeSrc": "33377:73:24", "nodeType": "YulFunctionCall", - "src": "33377:73:11" + "src": "33377:73:24" }, - "nativeSrc": "33377:73:11", + "nativeSrc": "33377:73:24", "nodeType": "YulExpressionStatement", - "src": "33377:73:11" + "src": "33377:73:24" }, { "body": { - "nativeSrc": "33492:453:11", + "nativeSrc": "33492:453:24", "nodeType": "YulBlock", - "src": "33492:453:11", + "src": "33492:453:24", "statements": [ { - "nativeSrc": "33510:14:11", + "nativeSrc": "33510:14:24", "nodeType": "YulAssignment", - "src": "33510:14:11", + "src": "33510:14:24", "value": { "arguments": [ { "name": "s", - "nativeSrc": "33519:1:11", + "nativeSrc": "33519:1:24", "nodeType": "YulIdentifier", - "src": "33519:1:11" + "src": "33519:1:24" }, { "kind": "number", - "nativeSrc": "33522:1:11", + "nativeSrc": "33522:1:24", "nodeType": "YulLiteral", - "src": "33522:1:11", + "src": "33522:1:24", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "33515:3:11", + "nativeSrc": "33515:3:24", "nodeType": "YulIdentifier", - "src": "33515:3:11" + "src": "33515:3:24" }, - "nativeSrc": "33515:9:11", + "nativeSrc": "33515:9:24", "nodeType": "YulFunctionCall", - "src": "33515:9:11" + "src": "33515:9:24" }, "variableNames": [ { "name": "s", - "nativeSrc": "33510:1:11", + "nativeSrc": "33510:1:24", "nodeType": "YulIdentifier", - "src": "33510:1:11" + "src": "33510:1:24" } ] }, { - "nativeSrc": "33541:28:11", + "nativeSrc": "33541:28:24", "nodeType": "YulVariableDeclaration", - "src": "33541:28:11", + "src": "33541:28:24", "value": { "arguments": [ { "arguments": [ { "name": "s", - "nativeSrc": "33560:1:11", + "nativeSrc": "33560:1:24", "nodeType": "YulIdentifier", - "src": "33560:1:11" + "src": "33560:1:24" } ], "functionName": { "name": "mload", - "nativeSrc": "33554:5:11", + "nativeSrc": "33554:5:24", "nodeType": "YulIdentifier", - "src": "33554:5:11" + "src": "33554:5:24" }, - "nativeSrc": "33554:8:11", + "nativeSrc": "33554:8:24", "nodeType": "YulFunctionCall", - "src": "33554:8:11" + "src": "33554:8:24" }, { "kind": "number", - "nativeSrc": "33564:4:11", + "nativeSrc": "33564:4:24", "nodeType": "YulLiteral", - "src": "33564:4:11", + "src": "33564:4:24", "type": "", "value": "0xff" } ], "functionName": { "name": "and", - "nativeSrc": "33550:3:11", + "nativeSrc": "33550:3:24", "nodeType": "YulIdentifier", - "src": "33550:3:11" + "src": "33550:3:24" }, - "nativeSrc": "33550:19:11", + "nativeSrc": "33550:19:24", "nodeType": "YulFunctionCall", - "src": "33550:19:11" + "src": "33550:19:24" }, "variables": [ { "name": "c", - "nativeSrc": "33545:1:11", + "nativeSrc": "33545:1:24", "nodeType": "YulTypedName", - "src": "33545:1:11", + "src": "33545:1:24", "type": "" } ] }, { "body": { - "nativeSrc": "33684:117:11", + "nativeSrc": "33684:117:24", "nodeType": "YulBlock", - "src": "33684:117:11", + "src": "33684:117:24", "statements": [ { "expression": { "arguments": [ { "name": "o", - "nativeSrc": "33714:1:11", + "nativeSrc": "33714:1:24", "nodeType": "YulIdentifier", - "src": "33714:1:11" + "src": "33714:1:24" }, { "name": "c", - "nativeSrc": "33717:1:11", + "nativeSrc": "33717:1:24", "nodeType": "YulIdentifier", - "src": "33717:1:11" + "src": "33717:1:24" } ], "functionName": { "name": "mstore8", - "nativeSrc": "33706:7:11", + "nativeSrc": "33706:7:24", "nodeType": "YulIdentifier", - "src": "33706:7:11" + "src": "33706:7:24" }, - "nativeSrc": "33706:13:11", + "nativeSrc": "33706:13:24", "nodeType": "YulFunctionCall", - "src": "33706:13:11" + "src": "33706:13:24" }, - "nativeSrc": "33706:13:11", + "nativeSrc": "33706:13:24", "nodeType": "YulExpressionStatement", - "src": "33706:13:11" + "src": "33706:13:24" }, { - "nativeSrc": "33740:14:11", + "nativeSrc": "33740:14:24", "nodeType": "YulAssignment", - "src": "33740:14:11", + "src": "33740:14:24", "value": { "arguments": [ { "name": "o", - "nativeSrc": "33749:1:11", + "nativeSrc": "33749:1:24", "nodeType": "YulIdentifier", - "src": "33749:1:11" + "src": "33749:1:24" }, { "kind": "number", - "nativeSrc": "33752:1:11", + "nativeSrc": "33752:1:24", "nodeType": "YulLiteral", - "src": "33752:1:11", + "src": "33752:1:24", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "33745:3:11", + "nativeSrc": "33745:3:24", "nodeType": "YulIdentifier", - "src": "33745:3:11" + "src": "33745:3:24" }, - "nativeSrc": "33745:9:11", + "nativeSrc": "33745:9:24", "nodeType": "YulFunctionCall", - "src": "33745:9:11" + "src": "33745:9:24" }, "variableNames": [ { "name": "o", - "nativeSrc": "33740:1:11", + "nativeSrc": "33740:1:24", "nodeType": "YulIdentifier", - "src": "33740:1:11" + "src": "33740:1:24" } ] }, { - "nativeSrc": "33775:8:11", + "nativeSrc": "33775:8:24", "nodeType": "YulContinue", - "src": "33775:8:11" + "src": "33775:8:24" } ] }, @@ -182125,74 +201100,74 @@ "arguments": [ { "name": "c", - "nativeSrc": "33656:1:11", + "nativeSrc": "33656:1:24", "nodeType": "YulIdentifier", - "src": "33656:1:11" + "src": "33656:1:24" }, { "kind": "number", - "nativeSrc": "33659:1:11", + "nativeSrc": "33659:1:24", "nodeType": "YulLiteral", - "src": "33659:1:11", + "src": "33659:1:24", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "33652:3:11", + "nativeSrc": "33652:3:24", "nodeType": "YulIdentifier", - "src": "33652:3:11" + "src": "33652:3:24" }, - "nativeSrc": "33652:9:11", + "nativeSrc": "33652:9:24", "nodeType": "YulFunctionCall", - "src": "33652:9:11" + "src": "33652:9:24" }, { "kind": "number", - "nativeSrc": "33663:18:11", + "nativeSrc": "33663:18:24", "nodeType": "YulLiteral", - "src": "33663:18:11", + "src": "33663:18:24", "type": "", "value": "0x500000c400000000" } ], "functionName": { "name": "and", - "nativeSrc": "33648:3:11", + "nativeSrc": "33648:3:24", "nodeType": "YulIdentifier", - "src": "33648:3:11" + "src": "33648:3:24" }, - "nativeSrc": "33648:34:11", + "nativeSrc": "33648:34:24", "nodeType": "YulFunctionCall", - "src": "33648:34:11" + "src": "33648:34:24" } ], "functionName": { "name": "iszero", - "nativeSrc": "33641:6:11", + "nativeSrc": "33641:6:24", "nodeType": "YulIdentifier", - "src": "33641:6:11" + "src": "33641:6:24" }, - "nativeSrc": "33641:42:11", + "nativeSrc": "33641:42:24", "nodeType": "YulFunctionCall", - "src": "33641:42:11" + "src": "33641:42:24" }, - "nativeSrc": "33638:163:11", + "nativeSrc": "33638:163:24", "nodeType": "YulIf", - "src": "33638:163:11" + "src": "33638:163:24" }, { - "nativeSrc": "33818:27:11", + "nativeSrc": "33818:27:24", "nodeType": "YulVariableDeclaration", - "src": "33818:27:11", + "src": "33818:27:24", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "33831:3:11", + "nativeSrc": "33831:3:24", "nodeType": "YulLiteral", - "src": "33831:3:11", + "src": "33831:3:24", "type": "", "value": "248" }, @@ -182200,38 +201175,38 @@ "arguments": [ { "name": "c", - "nativeSrc": "33842:1:11", + "nativeSrc": "33842:1:24", "nodeType": "YulIdentifier", - "src": "33842:1:11" + "src": "33842:1:24" } ], "functionName": { "name": "mload", - "nativeSrc": "33836:5:11", + "nativeSrc": "33836:5:24", "nodeType": "YulIdentifier", - "src": "33836:5:11" + "src": "33836:5:24" }, - "nativeSrc": "33836:8:11", + "nativeSrc": "33836:8:24", "nodeType": "YulFunctionCall", - "src": "33836:8:11" + "src": "33836:8:24" } ], "functionName": { "name": "shr", - "nativeSrc": "33827:3:11", + "nativeSrc": "33827:3:24", "nodeType": "YulIdentifier", - "src": "33827:3:11" + "src": "33827:3:24" }, - "nativeSrc": "33827:18:11", + "nativeSrc": "33827:18:24", "nodeType": "YulFunctionCall", - "src": "33827:18:11" + "src": "33827:18:24" }, "variables": [ { "name": "t", - "nativeSrc": "33822:1:11", + "nativeSrc": "33822:1:24", "nodeType": "YulTypedName", - "src": "33822:1:11", + "src": "33822:1:24", "type": "" } ] @@ -182241,9 +201216,9 @@ "arguments": [ { "name": "o", - "nativeSrc": "33869:1:11", + "nativeSrc": "33869:1:24", "nodeType": "YulIdentifier", - "src": "33869:1:11" + "src": "33869:1:24" }, { "arguments": [ @@ -182251,111 +201226,111 @@ "arguments": [ { "name": "t", - "nativeSrc": "33882:1:11", + "nativeSrc": "33882:1:24", "nodeType": "YulIdentifier", - "src": "33882:1:11" + "src": "33882:1:24" }, { "kind": "number", - "nativeSrc": "33885:4:11", + "nativeSrc": "33885:4:24", "nodeType": "YulLiteral", - "src": "33885:4:11", + "src": "33885:4:24", "type": "", "value": "0x1f" } ], "functionName": { "name": "and", - "nativeSrc": "33878:3:11", + "nativeSrc": "33878:3:24", "nodeType": "YulIdentifier", - "src": "33878:3:11" + "src": "33878:3:24" }, - "nativeSrc": "33878:12:11", + "nativeSrc": "33878:12:24", "nodeType": "YulFunctionCall", - "src": "33878:12:11" + "src": "33878:12:24" } ], "functionName": { "name": "mload", - "nativeSrc": "33872:5:11", + "nativeSrc": "33872:5:24", "nodeType": "YulIdentifier", - "src": "33872:5:11" + "src": "33872:5:24" }, - "nativeSrc": "33872:19:11", + "nativeSrc": "33872:19:24", "nodeType": "YulFunctionCall", - "src": "33872:19:11" + "src": "33872:19:24" } ], "functionName": { "name": "mstore", - "nativeSrc": "33862:6:11", + "nativeSrc": "33862:6:24", "nodeType": "YulIdentifier", - "src": "33862:6:11" + "src": "33862:6:24" }, - "nativeSrc": "33862:30:11", + "nativeSrc": "33862:30:24", "nodeType": "YulFunctionCall", - "src": "33862:30:11" + "src": "33862:30:24" }, - "nativeSrc": "33862:30:11", + "nativeSrc": "33862:30:24", "nodeType": "YulExpressionStatement", - "src": "33862:30:11" + "src": "33862:30:24" }, { - "nativeSrc": "33909:22:11", + "nativeSrc": "33909:22:24", "nodeType": "YulAssignment", - "src": "33909:22:11", + "src": "33909:22:24", "value": { "arguments": [ { "name": "o", - "nativeSrc": "33918:1:11", + "nativeSrc": "33918:1:24", "nodeType": "YulIdentifier", - "src": "33918:1:11" + "src": "33918:1:24" }, { "arguments": [ { "kind": "number", - "nativeSrc": "33925:1:11", + "nativeSrc": "33925:1:24", "nodeType": "YulLiteral", - "src": "33925:1:11", + "src": "33925:1:24", "type": "", "value": "5" }, { "name": "t", - "nativeSrc": "33928:1:11", + "nativeSrc": "33928:1:24", "nodeType": "YulIdentifier", - "src": "33928:1:11" + "src": "33928:1:24" } ], "functionName": { "name": "shr", - "nativeSrc": "33921:3:11", + "nativeSrc": "33921:3:24", "nodeType": "YulIdentifier", - "src": "33921:3:11" + "src": "33921:3:24" }, - "nativeSrc": "33921:9:11", + "nativeSrc": "33921:9:24", "nodeType": "YulFunctionCall", - "src": "33921:9:11" + "src": "33921:9:24" } ], "functionName": { "name": "add", - "nativeSrc": "33914:3:11", + "nativeSrc": "33914:3:24", "nodeType": "YulIdentifier", - "src": "33914:3:11" + "src": "33914:3:24" }, - "nativeSrc": "33914:17:11", + "nativeSrc": "33914:17:24", "nodeType": "YulFunctionCall", - "src": "33914:17:11" + "src": "33914:17:24" }, "variableNames": [ { "name": "o", - "nativeSrc": "33909:1:11", + "nativeSrc": "33909:1:24", "nodeType": "YulIdentifier", - "src": "33909:1:11" + "src": "33909:1:24" } ] } @@ -182367,164 +201342,164 @@ "arguments": [ { "name": "s", - "nativeSrc": "33480:1:11", + "nativeSrc": "33480:1:24", "nodeType": "YulIdentifier", - "src": "33480:1:11" + "src": "33480:1:24" }, { "name": "end", - "nativeSrc": "33483:3:11", + "nativeSrc": "33483:3:24", "nodeType": "YulIdentifier", - "src": "33483:3:11" + "src": "33483:3:24" } ], "functionName": { "name": "eq", - "nativeSrc": "33477:2:11", + "nativeSrc": "33477:2:24", "nodeType": "YulIdentifier", - "src": "33477:2:11" + "src": "33477:2:24" }, - "nativeSrc": "33477:10:11", + "nativeSrc": "33477:10:24", "nodeType": "YulFunctionCall", - "src": "33477:10:11" + "src": "33477:10:24" } ], "functionName": { "name": "iszero", - "nativeSrc": "33470:6:11", + "nativeSrc": "33470:6:24", "nodeType": "YulIdentifier", - "src": "33470:6:11" + "src": "33470:6:24" }, - "nativeSrc": "33470:18:11", + "nativeSrc": "33470:18:24", "nodeType": "YulFunctionCall", - "src": "33470:18:11" + "src": "33470:18:24" }, - "nativeSrc": "33463:482:11", + "nativeSrc": "33463:482:24", "nodeType": "YulForLoop", "post": { - "nativeSrc": "33489:2:11", + "nativeSrc": "33489:2:24", "nodeType": "YulBlock", - "src": "33489:2:11", + "src": "33489:2:24", "statements": [] }, "pre": { - "nativeSrc": "33467:2:11", + "nativeSrc": "33467:2:24", "nodeType": "YulBlock", - "src": "33467:2:11", + "src": "33467:2:24", "statements": [] }, - "src": "33463:482:11" + "src": "33463:482:24" }, { "expression": { "arguments": [ { "name": "o", - "nativeSrc": "33965:1:11", + "nativeSrc": "33965:1:24", "nodeType": "YulIdentifier", - "src": "33965:1:11" + "src": "33965:1:24" }, { "kind": "number", - "nativeSrc": "33968:1:11", + "nativeSrc": "33968:1:24", "nodeType": "YulLiteral", - "src": "33968:1:11", + "src": "33968:1:24", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "33958:6:11", + "nativeSrc": "33958:6:24", "nodeType": "YulIdentifier", - "src": "33958:6:11" + "src": "33958:6:24" }, - "nativeSrc": "33958:12:11", + "nativeSrc": "33958:12:24", "nodeType": "YulFunctionCall", - "src": "33958:12:11" + "src": "33958:12:24" }, - "nativeSrc": "33958:12:11", + "nativeSrc": "33958:12:24", "nodeType": "YulExpressionStatement", - "src": "33958:12:11" + "src": "33958:12:24" }, { "expression": { "arguments": [ { "name": "result", - "nativeSrc": "34028:6:11", + "nativeSrc": "34028:6:24", "nodeType": "YulIdentifier", - "src": "34028:6:11" + "src": "34028:6:24" }, { "arguments": [ { "name": "o", - "nativeSrc": "34040:1:11", + "nativeSrc": "34040:1:24", "nodeType": "YulIdentifier", - "src": "34040:1:11" + "src": "34040:1:24" }, { "arguments": [ { "name": "result", - "nativeSrc": "34047:6:11", + "nativeSrc": "34047:6:24", "nodeType": "YulIdentifier", - "src": "34047:6:11" + "src": "34047:6:24" }, { "kind": "number", - "nativeSrc": "34055:4:11", + "nativeSrc": "34055:4:24", "nodeType": "YulLiteral", - "src": "34055:4:11", + "src": "34055:4:24", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "34043:3:11", + "nativeSrc": "34043:3:24", "nodeType": "YulIdentifier", - "src": "34043:3:11" + "src": "34043:3:24" }, - "nativeSrc": "34043:17:11", + "nativeSrc": "34043:17:24", "nodeType": "YulFunctionCall", - "src": "34043:17:11" + "src": "34043:17:24" } ], "functionName": { "name": "sub", - "nativeSrc": "34036:3:11", + "nativeSrc": "34036:3:24", "nodeType": "YulIdentifier", - "src": "34036:3:11" + "src": "34036:3:24" }, - "nativeSrc": "34036:25:11", + "nativeSrc": "34036:25:24", "nodeType": "YulFunctionCall", - "src": "34036:25:11" + "src": "34036:25:24" } ], "functionName": { "name": "mstore", - "nativeSrc": "34021:6:11", + "nativeSrc": "34021:6:24", "nodeType": "YulIdentifier", - "src": "34021:6:11" + "src": "34021:6:24" }, - "nativeSrc": "34021:41:11", + "nativeSrc": "34021:41:24", "nodeType": "YulFunctionCall", - "src": "34021:41:11" + "src": "34021:41:24" }, - "nativeSrc": "34021:41:11", + "nativeSrc": "34021:41:24", "nodeType": "YulExpressionStatement", - "src": "34021:41:11" + "src": "34021:41:24" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "34103:4:11", + "nativeSrc": "34103:4:24", "nodeType": "YulLiteral", - "src": "34103:4:11", + "src": "34103:4:24", "type": "", "value": "0x40" }, @@ -182532,43 +201507,43 @@ "arguments": [ { "name": "o", - "nativeSrc": "34113:1:11", + "nativeSrc": "34113:1:24", "nodeType": "YulIdentifier", - "src": "34113:1:11" + "src": "34113:1:24" }, { "kind": "number", - "nativeSrc": "34116:4:11", + "nativeSrc": "34116:4:24", "nodeType": "YulLiteral", - "src": "34116:4:11", + "src": "34116:4:24", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "34109:3:11", + "nativeSrc": "34109:3:24", "nodeType": "YulIdentifier", - "src": "34109:3:11" + "src": "34109:3:24" }, - "nativeSrc": "34109:12:11", + "nativeSrc": "34109:12:24", "nodeType": "YulFunctionCall", - "src": "34109:12:11" + "src": "34109:12:24" } ], "functionName": { "name": "mstore", - "nativeSrc": "34096:6:11", + "nativeSrc": "34096:6:24", "nodeType": "YulIdentifier", - "src": "34096:6:11" + "src": "34096:6:24" }, - "nativeSrc": "34096:26:11", + "nativeSrc": "34096:26:24", "nodeType": "YulFunctionCall", - "src": "34096:26:11" + "src": "34096:26:24" }, - "nativeSrc": "34096:26:11", + "nativeSrc": "34096:26:24", "nodeType": "YulExpressionStatement", - "src": "34096:26:11" + "src": "34096:26:24" } ] }, @@ -182576,108 +201551,108 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5992, + "declaration": 7598, "isOffset": false, "isSlot": false, - "src": "32942:6:11", + "src": "32942:6:24", "valueSize": 1 }, { - "declaration": 5992, + "declaration": 7598, "isOffset": false, "isSlot": false, - "src": "33029:6:11", + "src": "33029:6:24", "valueSize": 1 }, { - "declaration": 5992, + "declaration": 7598, "isOffset": false, "isSlot": false, - "src": "34028:6:11", + "src": "34028:6:24", "valueSize": 1 }, { - "declaration": 5992, + "declaration": 7598, "isOffset": false, "isSlot": false, - "src": "34047:6:11", + "src": "34047:6:24", "valueSize": 1 }, { - "declaration": 5989, + "declaration": 7595, "isOffset": false, "isSlot": false, - "src": "32991:1:11", + "src": "32991:1:24", "valueSize": 1 }, { - "declaration": 5989, + "declaration": 7595, "isOffset": false, "isSlot": false, - "src": "33000:1:11", + "src": "33000:1:24", "valueSize": 1 }, { - "declaration": 5989, + "declaration": 7595, "isOffset": false, "isSlot": false, - "src": "33480:1:11", + "src": "33480:1:24", "valueSize": 1 }, { - "declaration": 5989, + "declaration": 7595, "isOffset": false, "isSlot": false, - "src": "33510:1:11", + "src": "33510:1:24", "valueSize": 1 }, { - "declaration": 5989, + "declaration": 7595, "isOffset": false, "isSlot": false, - "src": "33519:1:11", + "src": "33519:1:24", "valueSize": 1 }, { - "declaration": 5989, + "declaration": 7595, "isOffset": false, "isSlot": false, - "src": "33560:1:11", + "src": "33560:1:24", "valueSize": 1 } ], - "id": 5994, + "id": 7600, "nodeType": "InlineAssembly", - "src": "32919:1233:11" + "src": "32919:1233:24" } ] }, "documentation": { - "id": 5987, + "id": 7593, "nodeType": "StructuredDocumentation", - "src": "32723:56:11", + "src": "32723:56:24", "text": "@dev Escapes the string to be used within HTML tags." }, - "id": 5996, + "id": 7602, "implemented": true, "kind": "function", "modifiers": [], "name": "escapeHTML", - "nameLocation": "32793:10:11", + "nameLocation": "32793:10:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 5990, + "id": 7596, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5989, + "id": 7595, "mutability": "mutable", "name": "s", - "nameLocation": "32818:1:11", + "nameLocation": "32818:1:24", "nodeType": "VariableDeclaration", - "scope": 5996, - "src": "32804:15:11", + "scope": 7602, + "src": "32804:15:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -182685,10 +201660,10 @@ "typeString": "string" }, "typeName": { - "id": 5988, + "id": 7594, "name": "string", "nodeType": "ElementaryTypeName", - "src": "32804:6:11", + "src": "32804:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -182697,21 +201672,21 @@ "visibility": "internal" } ], - "src": "32803:17:11" + "src": "32803:17:24" }, "returnParameters": { - "id": 5993, + "id": 7599, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5992, + "id": 7598, "mutability": "mutable", "name": "result", - "nameLocation": "32858:6:11", + "nameLocation": "32858:6:24", "nodeType": "VariableDeclaration", - "scope": 5996, - "src": "32844:20:11", + "scope": 7602, + "src": "32844:20:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -182719,10 +201694,10 @@ "typeString": "string" }, "typeName": { - "id": 5991, + "id": 7597, "name": "string", "nodeType": "ElementaryTypeName", - "src": "32844:6:11", + "src": "32844:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -182731,176 +201706,176 @@ "visibility": "internal" } ], - "src": "32843:22:11" + "src": "32843:22:24" }, - "scope": 6134, - "src": "32784:1374:11", + "scope": 7740, + "src": "32784:1374:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 6007, + "id": 7613, "nodeType": "Block", - "src": "34455:2098:11", + "src": "34455:2098:24", "statements": [ { "AST": { - "nativeSrc": "34517:2030:11", + "nativeSrc": "34517:2030:24", "nodeType": "YulBlock", - "src": "34517:2030:11", + "src": "34517:2030:24", "statements": [ { - "nativeSrc": "34531:21:11", + "nativeSrc": "34531:21:24", "nodeType": "YulAssignment", - "src": "34531:21:11", + "src": "34531:21:24", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "34547:4:11", + "nativeSrc": "34547:4:24", "nodeType": "YulLiteral", - "src": "34547:4:11", + "src": "34547:4:24", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "34541:5:11", + "nativeSrc": "34541:5:24", "nodeType": "YulIdentifier", - "src": "34541:5:11" + "src": "34541:5:24" }, - "nativeSrc": "34541:11:11", + "nativeSrc": "34541:11:24", "nodeType": "YulFunctionCall", - "src": "34541:11:11" + "src": "34541:11:24" }, "variableNames": [ { "name": "result", - "nativeSrc": "34531:6:11", + "nativeSrc": "34531:6:24", "nodeType": "YulIdentifier", - "src": "34531:6:11" + "src": "34531:6:24" } ] }, { - "nativeSrc": "34565:26:11", + "nativeSrc": "34565:26:24", "nodeType": "YulVariableDeclaration", - "src": "34565:26:11", + "src": "34565:26:24", "value": { "arguments": [ { "name": "result", - "nativeSrc": "34578:6:11", + "nativeSrc": "34578:6:24", "nodeType": "YulIdentifier", - "src": "34578:6:11" + "src": "34578:6:24" }, { "kind": "number", - "nativeSrc": "34586:4:11", + "nativeSrc": "34586:4:24", "nodeType": "YulLiteral", - "src": "34586:4:11", + "src": "34586:4:24", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "34574:3:11", + "nativeSrc": "34574:3:24", "nodeType": "YulIdentifier", - "src": "34574:3:11" + "src": "34574:3:24" }, - "nativeSrc": "34574:17:11", + "nativeSrc": "34574:17:24", "nodeType": "YulFunctionCall", - "src": "34574:17:11" + "src": "34574:17:24" }, "variables": [ { "name": "o", - "nativeSrc": "34569:1:11", + "nativeSrc": "34569:1:24", "nodeType": "YulTypedName", - "src": "34569:1:11", + "src": "34569:1:24", "type": "" } ] }, { "body": { - "nativeSrc": "34623:77:11", + "nativeSrc": "34623:77:24", "nodeType": "YulBlock", - "src": "34623:77:11", + "src": "34623:77:24", "statements": [ { "expression": { "arguments": [ { "name": "o", - "nativeSrc": "34649:1:11", + "nativeSrc": "34649:1:24", "nodeType": "YulIdentifier", - "src": "34649:1:11" + "src": "34649:1:24" }, { "kind": "number", - "nativeSrc": "34652:2:11", + "nativeSrc": "34652:2:24", "nodeType": "YulLiteral", - "src": "34652:2:11", + "src": "34652:2:24", "type": "", "value": "34" } ], "functionName": { "name": "mstore8", - "nativeSrc": "34641:7:11", + "nativeSrc": "34641:7:24", "nodeType": "YulIdentifier", - "src": "34641:7:11" + "src": "34641:7:24" }, - "nativeSrc": "34641:14:11", + "nativeSrc": "34641:14:24", "nodeType": "YulFunctionCall", - "src": "34641:14:11" + "src": "34641:14:24" }, - "nativeSrc": "34641:14:11", + "nativeSrc": "34641:14:24", "nodeType": "YulExpressionStatement", - "src": "34641:14:11" + "src": "34641:14:24" }, { - "nativeSrc": "34672:14:11", + "nativeSrc": "34672:14:24", "nodeType": "YulAssignment", - "src": "34672:14:11", + "src": "34672:14:24", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "34681:1:11", + "nativeSrc": "34681:1:24", "nodeType": "YulLiteral", - "src": "34681:1:11", + "src": "34681:1:24", "type": "", "value": "1" }, { "name": "o", - "nativeSrc": "34684:1:11", + "nativeSrc": "34684:1:24", "nodeType": "YulIdentifier", - "src": "34684:1:11" + "src": "34684:1:24" } ], "functionName": { "name": "add", - "nativeSrc": "34677:3:11", + "nativeSrc": "34677:3:24", "nodeType": "YulIdentifier", - "src": "34677:3:11" + "src": "34677:3:24" }, - "nativeSrc": "34677:9:11", + "nativeSrc": "34677:9:24", "nodeType": "YulFunctionCall", - "src": "34677:9:11" + "src": "34677:9:24" }, "variableNames": [ { "name": "o", - "nativeSrc": "34672:1:11", + "nativeSrc": "34672:1:24", "nodeType": "YulIdentifier", - "src": "34672:1:11" + "src": "34672:1:24" } ] } @@ -182908,319 +201883,319 @@ }, "condition": { "name": "addDoubleQuotes", - "nativeSrc": "34607:15:11", + "nativeSrc": "34607:15:24", "nodeType": "YulIdentifier", - "src": "34607:15:11" + "src": "34607:15:24" }, - "nativeSrc": "34604:96:11", + "nativeSrc": "34604:96:24", "nodeType": "YulIf", - "src": "34604:96:11" + "src": "34604:96:24" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "34947:4:11", + "nativeSrc": "34947:4:24", "nodeType": "YulLiteral", - "src": "34947:4:11", + "src": "34947:4:24", "type": "", "value": "0x15" }, { "kind": "number", - "nativeSrc": "34953:58:11", + "nativeSrc": "34953:58:24", "nodeType": "YulLiteral", - "src": "34953:58:11", + "src": "34953:58:24", "type": "", "value": "0x5c75303030303031323334353637383961626364656662746e006672" } ], "functionName": { "name": "mstore", - "nativeSrc": "34940:6:11", + "nativeSrc": "34940:6:24", "nodeType": "YulIdentifier", - "src": "34940:6:11" + "src": "34940:6:24" }, - "nativeSrc": "34940:72:11", + "nativeSrc": "34940:72:24", "nodeType": "YulFunctionCall", - "src": "34940:72:11" + "src": "34940:72:24" }, - "nativeSrc": "34940:72:11", + "nativeSrc": "34940:72:24", "nodeType": "YulExpressionStatement", - "src": "34940:72:11" + "src": "34940:72:24" }, { - "nativeSrc": "35077:39:11", + "nativeSrc": "35077:39:24", "nodeType": "YulVariableDeclaration", - "src": "35077:39:11", + "src": "35077:39:24", "value": { "arguments": [ { "arguments": [ { "kind": "number", - "nativeSrc": "35093:4:11", + "nativeSrc": "35093:4:24", "nodeType": "YulLiteral", - "src": "35093:4:11", + "src": "35093:4:24", "type": "", "value": "0x22" }, { "kind": "number", - "nativeSrc": "35099:1:11", + "nativeSrc": "35099:1:24", "nodeType": "YulLiteral", - "src": "35099:1:11", + "src": "35099:1:24", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "35089:3:11", + "nativeSrc": "35089:3:24", "nodeType": "YulIdentifier", - "src": "35089:3:11" + "src": "35089:3:24" }, - "nativeSrc": "35089:12:11", + "nativeSrc": "35089:12:24", "nodeType": "YulFunctionCall", - "src": "35089:12:11" + "src": "35089:12:24" }, { "arguments": [ { "kind": "number", - "nativeSrc": "35107:4:11", + "nativeSrc": "35107:4:24", "nodeType": "YulLiteral", - "src": "35107:4:11", + "src": "35107:4:24", "type": "", "value": "0x5c" }, { "kind": "number", - "nativeSrc": "35113:1:11", + "nativeSrc": "35113:1:24", "nodeType": "YulLiteral", - "src": "35113:1:11", + "src": "35113:1:24", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "35103:3:11", + "nativeSrc": "35103:3:24", "nodeType": "YulIdentifier", - "src": "35103:3:11" + "src": "35103:3:24" }, - "nativeSrc": "35103:12:11", + "nativeSrc": "35103:12:24", "nodeType": "YulFunctionCall", - "src": "35103:12:11" + "src": "35103:12:24" } ], "functionName": { "name": "or", - "nativeSrc": "35086:2:11", + "nativeSrc": "35086:2:24", "nodeType": "YulIdentifier", - "src": "35086:2:11" + "src": "35086:2:24" }, - "nativeSrc": "35086:30:11", + "nativeSrc": "35086:30:24", "nodeType": "YulFunctionCall", - "src": "35086:30:11" + "src": "35086:30:24" }, "variables": [ { "name": "e", - "nativeSrc": "35081:1:11", + "nativeSrc": "35081:1:24", "nodeType": "YulTypedName", - "src": "35081:1:11", + "src": "35081:1:24", "type": "" } ] }, { "body": { - "nativeSrc": "35187:1044:11", + "nativeSrc": "35187:1044:24", "nodeType": "YulBlock", - "src": "35187:1044:11", + "src": "35187:1044:24", "statements": [ { - "nativeSrc": "35205:14:11", + "nativeSrc": "35205:14:24", "nodeType": "YulAssignment", - "src": "35205:14:11", + "src": "35205:14:24", "value": { "arguments": [ { "name": "s", - "nativeSrc": "35214:1:11", + "nativeSrc": "35214:1:24", "nodeType": "YulIdentifier", - "src": "35214:1:11" + "src": "35214:1:24" }, { "kind": "number", - "nativeSrc": "35217:1:11", + "nativeSrc": "35217:1:24", "nodeType": "YulLiteral", - "src": "35217:1:11", + "src": "35217:1:24", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "35210:3:11", + "nativeSrc": "35210:3:24", "nodeType": "YulIdentifier", - "src": "35210:3:11" + "src": "35210:3:24" }, - "nativeSrc": "35210:9:11", + "nativeSrc": "35210:9:24", "nodeType": "YulFunctionCall", - "src": "35210:9:11" + "src": "35210:9:24" }, "variableNames": [ { "name": "s", - "nativeSrc": "35205:1:11", + "nativeSrc": "35205:1:24", "nodeType": "YulIdentifier", - "src": "35205:1:11" + "src": "35205:1:24" } ] }, { - "nativeSrc": "35236:28:11", + "nativeSrc": "35236:28:24", "nodeType": "YulVariableDeclaration", - "src": "35236:28:11", + "src": "35236:28:24", "value": { "arguments": [ { "arguments": [ { "name": "s", - "nativeSrc": "35255:1:11", + "nativeSrc": "35255:1:24", "nodeType": "YulIdentifier", - "src": "35255:1:11" + "src": "35255:1:24" } ], "functionName": { "name": "mload", - "nativeSrc": "35249:5:11", + "nativeSrc": "35249:5:24", "nodeType": "YulIdentifier", - "src": "35249:5:11" + "src": "35249:5:24" }, - "nativeSrc": "35249:8:11", + "nativeSrc": "35249:8:24", "nodeType": "YulFunctionCall", - "src": "35249:8:11" + "src": "35249:8:24" }, { "kind": "number", - "nativeSrc": "35259:4:11", + "nativeSrc": "35259:4:24", "nodeType": "YulLiteral", - "src": "35259:4:11", + "src": "35259:4:24", "type": "", "value": "0xff" } ], "functionName": { "name": "and", - "nativeSrc": "35245:3:11", + "nativeSrc": "35245:3:24", "nodeType": "YulIdentifier", - "src": "35245:3:11" + "src": "35245:3:24" }, - "nativeSrc": "35245:19:11", + "nativeSrc": "35245:19:24", "nodeType": "YulFunctionCall", - "src": "35245:19:11" + "src": "35245:19:24" }, "variables": [ { "name": "c", - "nativeSrc": "35240:1:11", + "nativeSrc": "35240:1:24", "nodeType": "YulTypedName", - "src": "35240:1:11", + "src": "35240:1:24", "type": "" } ] }, { "body": { - "nativeSrc": "35304:403:11", + "nativeSrc": "35304:403:24", "nodeType": "YulBlock", - "src": "35304:403:11", + "src": "35304:403:24", "statements": [ { "body": { - "nativeSrc": "35355:182:11", + "nativeSrc": "35355:182:24", "nodeType": "YulBlock", - "src": "35355:182:11", + "src": "35355:182:24", "statements": [ { "expression": { "arguments": [ { "name": "o", - "nativeSrc": "35438:1:11", + "nativeSrc": "35438:1:24", "nodeType": "YulIdentifier", - "src": "35438:1:11" + "src": "35438:1:24" }, { "name": "c", - "nativeSrc": "35441:1:11", + "nativeSrc": "35441:1:24", "nodeType": "YulIdentifier", - "src": "35441:1:11" + "src": "35441:1:24" } ], "functionName": { "name": "mstore8", - "nativeSrc": "35430:7:11", + "nativeSrc": "35430:7:24", "nodeType": "YulIdentifier", - "src": "35430:7:11" + "src": "35430:7:24" }, - "nativeSrc": "35430:13:11", + "nativeSrc": "35430:13:24", "nodeType": "YulFunctionCall", - "src": "35430:13:11" + "src": "35430:13:24" }, - "nativeSrc": "35430:13:11", + "nativeSrc": "35430:13:24", "nodeType": "YulExpressionStatement", - "src": "35430:13:11" + "src": "35430:13:24" }, { - "nativeSrc": "35468:14:11", + "nativeSrc": "35468:14:24", "nodeType": "YulAssignment", - "src": "35468:14:11", + "src": "35468:14:24", "value": { "arguments": [ { "name": "o", - "nativeSrc": "35477:1:11", + "nativeSrc": "35477:1:24", "nodeType": "YulIdentifier", - "src": "35477:1:11" + "src": "35477:1:24" }, { "kind": "number", - "nativeSrc": "35480:1:11", + "nativeSrc": "35480:1:24", "nodeType": "YulLiteral", - "src": "35480:1:11", + "src": "35480:1:24", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "35473:3:11", + "nativeSrc": "35473:3:24", "nodeType": "YulIdentifier", - "src": "35473:3:11" + "src": "35473:3:24" }, - "nativeSrc": "35473:9:11", + "nativeSrc": "35473:9:24", "nodeType": "YulFunctionCall", - "src": "35473:9:11" + "src": "35473:9:24" }, "variableNames": [ { "name": "o", - "nativeSrc": "35468:1:11", + "nativeSrc": "35468:1:24", "nodeType": "YulIdentifier", - "src": "35468:1:11" + "src": "35468:1:24" } ] }, { - "nativeSrc": "35507:8:11", + "nativeSrc": "35507:8:24", "nodeType": "YulContinue", - "src": "35507:8:11" + "src": "35507:8:24" } ] }, @@ -183232,92 +202207,92 @@ "arguments": [ { "name": "c", - "nativeSrc": "35344:1:11", + "nativeSrc": "35344:1:24", "nodeType": "YulIdentifier", - "src": "35344:1:11" + "src": "35344:1:24" }, { "kind": "number", - "nativeSrc": "35347:1:11", + "nativeSrc": "35347:1:24", "nodeType": "YulLiteral", - "src": "35347:1:11", + "src": "35347:1:24", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "35340:3:11", + "nativeSrc": "35340:3:24", "nodeType": "YulIdentifier", - "src": "35340:3:11" + "src": "35340:3:24" }, - "nativeSrc": "35340:9:11", + "nativeSrc": "35340:9:24", "nodeType": "YulFunctionCall", - "src": "35340:9:11" + "src": "35340:9:24" }, { "name": "e", - "nativeSrc": "35351:1:11", + "nativeSrc": "35351:1:24", "nodeType": "YulIdentifier", - "src": "35351:1:11" + "src": "35351:1:24" } ], "functionName": { "name": "and", - "nativeSrc": "35336:3:11", + "nativeSrc": "35336:3:24", "nodeType": "YulIdentifier", - "src": "35336:3:11" + "src": "35336:3:24" }, - "nativeSrc": "35336:17:11", + "nativeSrc": "35336:17:24", "nodeType": "YulFunctionCall", - "src": "35336:17:11" + "src": "35336:17:24" } ], "functionName": { "name": "iszero", - "nativeSrc": "35329:6:11", + "nativeSrc": "35329:6:24", "nodeType": "YulIdentifier", - "src": "35329:6:11" + "src": "35329:6:24" }, - "nativeSrc": "35329:25:11", + "nativeSrc": "35329:25:24", "nodeType": "YulFunctionCall", - "src": "35329:25:11" + "src": "35329:25:24" }, - "nativeSrc": "35326:211:11", + "nativeSrc": "35326:211:24", "nodeType": "YulIf", - "src": "35326:211:11" + "src": "35326:211:24" }, { "expression": { "arguments": [ { "name": "o", - "nativeSrc": "35566:1:11", + "nativeSrc": "35566:1:24", "nodeType": "YulIdentifier", - "src": "35566:1:11" + "src": "35566:1:24" }, { "kind": "number", - "nativeSrc": "35569:4:11", + "nativeSrc": "35569:4:24", "nodeType": "YulLiteral", - "src": "35569:4:11", + "src": "35569:4:24", "type": "", "value": "0x5c" } ], "functionName": { "name": "mstore8", - "nativeSrc": "35558:7:11", + "nativeSrc": "35558:7:24", "nodeType": "YulIdentifier", - "src": "35558:7:11" + "src": "35558:7:24" }, - "nativeSrc": "35558:16:11", + "nativeSrc": "35558:16:24", "nodeType": "YulFunctionCall", - "src": "35558:16:11" + "src": "35558:16:24" }, - "nativeSrc": "35558:16:11", + "nativeSrc": "35558:16:24", "nodeType": "YulExpressionStatement", - "src": "35558:16:11" + "src": "35558:16:24" }, { "expression": { @@ -183326,94 +202301,94 @@ "arguments": [ { "name": "o", - "nativeSrc": "35616:1:11", + "nativeSrc": "35616:1:24", "nodeType": "YulIdentifier", - "src": "35616:1:11" + "src": "35616:1:24" }, { "kind": "number", - "nativeSrc": "35619:1:11", + "nativeSrc": "35619:1:24", "nodeType": "YulLiteral", - "src": "35619:1:11", + "src": "35619:1:24", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "35612:3:11", + "nativeSrc": "35612:3:24", "nodeType": "YulIdentifier", - "src": "35612:3:11" + "src": "35612:3:24" }, - "nativeSrc": "35612:9:11", + "nativeSrc": "35612:9:24", "nodeType": "YulFunctionCall", - "src": "35612:9:11" + "src": "35612:9:24" }, { "name": "c", - "nativeSrc": "35623:1:11", + "nativeSrc": "35623:1:24", "nodeType": "YulIdentifier", - "src": "35623:1:11" + "src": "35623:1:24" } ], "functionName": { "name": "mstore8", - "nativeSrc": "35604:7:11", + "nativeSrc": "35604:7:24", "nodeType": "YulIdentifier", - "src": "35604:7:11" + "src": "35604:7:24" }, - "nativeSrc": "35604:21:11", + "nativeSrc": "35604:21:24", "nodeType": "YulFunctionCall", - "src": "35604:21:11" + "src": "35604:21:24" }, - "nativeSrc": "35604:21:11", + "nativeSrc": "35604:21:24", "nodeType": "YulExpressionStatement", - "src": "35604:21:11" + "src": "35604:21:24" }, { - "nativeSrc": "35646:14:11", + "nativeSrc": "35646:14:24", "nodeType": "YulAssignment", - "src": "35646:14:11", + "src": "35646:14:24", "value": { "arguments": [ { "name": "o", - "nativeSrc": "35655:1:11", + "nativeSrc": "35655:1:24", "nodeType": "YulIdentifier", - "src": "35655:1:11" + "src": "35655:1:24" }, { "kind": "number", - "nativeSrc": "35658:1:11", + "nativeSrc": "35658:1:24", "nodeType": "YulLiteral", - "src": "35658:1:11", + "src": "35658:1:24", "type": "", "value": "2" } ], "functionName": { "name": "add", - "nativeSrc": "35651:3:11", + "nativeSrc": "35651:3:24", "nodeType": "YulIdentifier", - "src": "35651:3:11" + "src": "35651:3:24" }, - "nativeSrc": "35651:9:11", + "nativeSrc": "35651:9:24", "nodeType": "YulFunctionCall", - "src": "35651:9:11" + "src": "35651:9:24" }, "variableNames": [ { "name": "o", - "nativeSrc": "35646:1:11", + "nativeSrc": "35646:1:24", "nodeType": "YulIdentifier", - "src": "35646:1:11" + "src": "35646:1:24" } ] }, { - "nativeSrc": "35681:8:11", + "nativeSrc": "35681:8:24", "nodeType": "YulContinue", - "src": "35681:8:11" + "src": "35681:8:24" } ] }, @@ -183423,58 +202398,58 @@ "arguments": [ { "name": "c", - "nativeSrc": "35294:1:11", + "nativeSrc": "35294:1:24", "nodeType": "YulIdentifier", - "src": "35294:1:11" + "src": "35294:1:24" }, { "kind": "number", - "nativeSrc": "35297:4:11", + "nativeSrc": "35297:4:24", "nodeType": "YulLiteral", - "src": "35297:4:11", + "src": "35297:4:24", "type": "", "value": "0x20" } ], "functionName": { "name": "lt", - "nativeSrc": "35291:2:11", + "nativeSrc": "35291:2:24", "nodeType": "YulIdentifier", - "src": "35291:2:11" + "src": "35291:2:24" }, - "nativeSrc": "35291:11:11", + "nativeSrc": "35291:11:24", "nodeType": "YulFunctionCall", - "src": "35291:11:11" + "src": "35291:11:24" } ], "functionName": { "name": "iszero", - "nativeSrc": "35284:6:11", + "nativeSrc": "35284:6:24", "nodeType": "YulIdentifier", - "src": "35284:6:11" + "src": "35284:6:24" }, - "nativeSrc": "35284:19:11", + "nativeSrc": "35284:19:24", "nodeType": "YulFunctionCall", - "src": "35284:19:11" + "src": "35284:19:24" }, - "nativeSrc": "35281:426:11", + "nativeSrc": "35281:426:24", "nodeType": "YulIf", - "src": "35281:426:11" + "src": "35281:426:24" }, { "body": { - "nativeSrc": "35758:333:11", + "nativeSrc": "35758:333:24", "nodeType": "YulBlock", - "src": "35758:333:11", + "src": "35758:333:24", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "35848:4:11", + "nativeSrc": "35848:4:24", "nodeType": "YulLiteral", - "src": "35848:4:11", + "src": "35848:4:24", "type": "", "value": "0x1d" }, @@ -183484,63 +202459,63 @@ "arguments": [ { "kind": "number", - "nativeSrc": "35864:1:11", + "nativeSrc": "35864:1:24", "nodeType": "YulLiteral", - "src": "35864:1:11", + "src": "35864:1:24", "type": "", "value": "4" }, { "name": "c", - "nativeSrc": "35867:1:11", + "nativeSrc": "35867:1:24", "nodeType": "YulIdentifier", - "src": "35867:1:11" + "src": "35867:1:24" } ], "functionName": { "name": "shr", - "nativeSrc": "35860:3:11", + "nativeSrc": "35860:3:24", "nodeType": "YulIdentifier", - "src": "35860:3:11" + "src": "35860:3:24" }, - "nativeSrc": "35860:9:11", + "nativeSrc": "35860:9:24", "nodeType": "YulFunctionCall", - "src": "35860:9:11" + "src": "35860:9:24" } ], "functionName": { "name": "mload", - "nativeSrc": "35854:5:11", + "nativeSrc": "35854:5:24", "nodeType": "YulIdentifier", - "src": "35854:5:11" + "src": "35854:5:24" }, - "nativeSrc": "35854:16:11", + "nativeSrc": "35854:16:24", "nodeType": "YulFunctionCall", - "src": "35854:16:11" + "src": "35854:16:24" } ], "functionName": { "name": "mstore8", - "nativeSrc": "35840:7:11", + "nativeSrc": "35840:7:24", "nodeType": "YulIdentifier", - "src": "35840:7:11" + "src": "35840:7:24" }, - "nativeSrc": "35840:31:11", + "nativeSrc": "35840:31:24", "nodeType": "YulFunctionCall", - "src": "35840:31:11" + "src": "35840:31:24" }, - "nativeSrc": "35840:31:11", + "nativeSrc": "35840:31:24", "nodeType": "YulExpressionStatement", - "src": "35840:31:11" + "src": "35840:31:24" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "35914:4:11", + "nativeSrc": "35914:4:24", "nodeType": "YulLiteral", - "src": "35914:4:11", + "src": "35914:4:24", "type": "", "value": "0x1e" }, @@ -183550,144 +202525,144 @@ "arguments": [ { "name": "c", - "nativeSrc": "35930:1:11", + "nativeSrc": "35930:1:24", "nodeType": "YulIdentifier", - "src": "35930:1:11" + "src": "35930:1:24" }, { "kind": "number", - "nativeSrc": "35933:2:11", + "nativeSrc": "35933:2:24", "nodeType": "YulLiteral", - "src": "35933:2:11", + "src": "35933:2:24", "type": "", "value": "15" } ], "functionName": { "name": "and", - "nativeSrc": "35926:3:11", + "nativeSrc": "35926:3:24", "nodeType": "YulIdentifier", - "src": "35926:3:11" + "src": "35926:3:24" }, - "nativeSrc": "35926:10:11", + "nativeSrc": "35926:10:24", "nodeType": "YulFunctionCall", - "src": "35926:10:11" + "src": "35926:10:24" } ], "functionName": { "name": "mload", - "nativeSrc": "35920:5:11", + "nativeSrc": "35920:5:24", "nodeType": "YulIdentifier", - "src": "35920:5:11" + "src": "35920:5:24" }, - "nativeSrc": "35920:17:11", + "nativeSrc": "35920:17:24", "nodeType": "YulFunctionCall", - "src": "35920:17:11" + "src": "35920:17:24" } ], "functionName": { "name": "mstore8", - "nativeSrc": "35906:7:11", + "nativeSrc": "35906:7:24", "nodeType": "YulIdentifier", - "src": "35906:7:11" + "src": "35906:7:24" }, - "nativeSrc": "35906:32:11", + "nativeSrc": "35906:32:24", "nodeType": "YulFunctionCall", - "src": "35906:32:11" + "src": "35906:32:24" }, - "nativeSrc": "35906:32:11", + "nativeSrc": "35906:32:24", "nodeType": "YulExpressionStatement", - "src": "35906:32:11" + "src": "35906:32:24" }, { "expression": { "arguments": [ { "name": "o", - "nativeSrc": "35980:1:11", + "nativeSrc": "35980:1:24", "nodeType": "YulIdentifier", - "src": "35980:1:11" + "src": "35980:1:24" }, { "arguments": [ { "kind": "number", - "nativeSrc": "35989:4:11", + "nativeSrc": "35989:4:24", "nodeType": "YulLiteral", - "src": "35989:4:11", + "src": "35989:4:24", "type": "", "value": "0x19" } ], "functionName": { "name": "mload", - "nativeSrc": "35983:5:11", + "nativeSrc": "35983:5:24", "nodeType": "YulIdentifier", - "src": "35983:5:11" + "src": "35983:5:24" }, - "nativeSrc": "35983:11:11", + "nativeSrc": "35983:11:24", "nodeType": "YulFunctionCall", - "src": "35983:11:11" + "src": "35983:11:24" } ], "functionName": { "name": "mstore", - "nativeSrc": "35973:6:11", + "nativeSrc": "35973:6:24", "nodeType": "YulIdentifier", - "src": "35973:6:11" + "src": "35973:6:24" }, - "nativeSrc": "35973:22:11", + "nativeSrc": "35973:22:24", "nodeType": "YulFunctionCall", - "src": "35973:22:11" + "src": "35973:22:24" }, - "nativeSrc": "35973:22:11", + "nativeSrc": "35973:22:24", "nodeType": "YulExpressionStatement", - "src": "35973:22:11" + "src": "35973:22:24" }, { - "nativeSrc": "36030:14:11", + "nativeSrc": "36030:14:24", "nodeType": "YulAssignment", - "src": "36030:14:11", + "src": "36030:14:24", "value": { "arguments": [ { "name": "o", - "nativeSrc": "36039:1:11", + "nativeSrc": "36039:1:24", "nodeType": "YulIdentifier", - "src": "36039:1:11" + "src": "36039:1:24" }, { "kind": "number", - "nativeSrc": "36042:1:11", + "nativeSrc": "36042:1:24", "nodeType": "YulLiteral", - "src": "36042:1:11", + "src": "36042:1:24", "type": "", "value": "6" } ], "functionName": { "name": "add", - "nativeSrc": "36035:3:11", + "nativeSrc": "36035:3:24", "nodeType": "YulIdentifier", - "src": "36035:3:11" + "src": "36035:3:24" }, - "nativeSrc": "36035:9:11", + "nativeSrc": "36035:9:24", "nodeType": "YulFunctionCall", - "src": "36035:9:11" + "src": "36035:9:24" }, "variableNames": [ { "name": "o", - "nativeSrc": "36030:1:11", + "nativeSrc": "36030:1:24", "nodeType": "YulIdentifier", - "src": "36030:1:11" + "src": "36030:1:24" } ] }, { - "nativeSrc": "36065:8:11", + "nativeSrc": "36065:8:24", "nodeType": "YulContinue", - "src": "36065:8:11" + "src": "36065:8:24" } ] }, @@ -183699,94 +202674,94 @@ "arguments": [ { "name": "c", - "nativeSrc": "35742:1:11", + "nativeSrc": "35742:1:24", "nodeType": "YulIdentifier", - "src": "35742:1:11" + "src": "35742:1:24" }, { "kind": "number", - "nativeSrc": "35745:1:11", + "nativeSrc": "35745:1:24", "nodeType": "YulLiteral", - "src": "35745:1:11", + "src": "35745:1:24", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "35738:3:11", + "nativeSrc": "35738:3:24", "nodeType": "YulIdentifier", - "src": "35738:3:11" + "src": "35738:3:24" }, - "nativeSrc": "35738:9:11", + "nativeSrc": "35738:9:24", "nodeType": "YulFunctionCall", - "src": "35738:9:11" + "src": "35738:9:24" }, { "kind": "number", - "nativeSrc": "35749:6:11", + "nativeSrc": "35749:6:24", "nodeType": "YulLiteral", - "src": "35749:6:11", + "src": "35749:6:24", "type": "", "value": "0x3700" } ], "functionName": { "name": "and", - "nativeSrc": "35734:3:11", + "nativeSrc": "35734:3:24", "nodeType": "YulIdentifier", - "src": "35734:3:11" + "src": "35734:3:24" }, - "nativeSrc": "35734:22:11", + "nativeSrc": "35734:22:24", "nodeType": "YulFunctionCall", - "src": "35734:22:11" + "src": "35734:22:24" } ], "functionName": { "name": "iszero", - "nativeSrc": "35727:6:11", + "nativeSrc": "35727:6:24", "nodeType": "YulIdentifier", - "src": "35727:6:11" + "src": "35727:6:24" }, - "nativeSrc": "35727:30:11", + "nativeSrc": "35727:30:24", "nodeType": "YulFunctionCall", - "src": "35727:30:11" + "src": "35727:30:24" }, - "nativeSrc": "35724:367:11", + "nativeSrc": "35724:367:24", "nodeType": "YulIf", - "src": "35724:367:11" + "src": "35724:367:24" }, { "expression": { "arguments": [ { "name": "o", - "nativeSrc": "36116:1:11", + "nativeSrc": "36116:1:24", "nodeType": "YulIdentifier", - "src": "36116:1:11" + "src": "36116:1:24" }, { "kind": "number", - "nativeSrc": "36119:4:11", + "nativeSrc": "36119:4:24", "nodeType": "YulLiteral", - "src": "36119:4:11", + "src": "36119:4:24", "type": "", "value": "0x5c" } ], "functionName": { "name": "mstore8", - "nativeSrc": "36108:7:11", + "nativeSrc": "36108:7:24", "nodeType": "YulIdentifier", - "src": "36108:7:11" + "src": "36108:7:24" }, - "nativeSrc": "36108:16:11", + "nativeSrc": "36108:16:24", "nodeType": "YulFunctionCall", - "src": "36108:16:11" + "src": "36108:16:24" }, - "nativeSrc": "36108:16:11", + "nativeSrc": "36108:16:24", "nodeType": "YulExpressionStatement", - "src": "36108:16:11" + "src": "36108:16:24" }, { "expression": { @@ -183795,28 +202770,28 @@ "arguments": [ { "name": "o", - "nativeSrc": "36162:1:11", + "nativeSrc": "36162:1:24", "nodeType": "YulIdentifier", - "src": "36162:1:11" + "src": "36162:1:24" }, { "kind": "number", - "nativeSrc": "36165:1:11", + "nativeSrc": "36165:1:24", "nodeType": "YulLiteral", - "src": "36165:1:11", + "src": "36165:1:24", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "36158:3:11", + "nativeSrc": "36158:3:24", "nodeType": "YulIdentifier", - "src": "36158:3:11" + "src": "36158:3:24" }, - "nativeSrc": "36158:9:11", + "nativeSrc": "36158:9:24", "nodeType": "YulFunctionCall", - "src": "36158:9:11" + "src": "36158:9:24" }, { "arguments": [ @@ -183824,92 +202799,92 @@ "arguments": [ { "name": "c", - "nativeSrc": "36179:1:11", + "nativeSrc": "36179:1:24", "nodeType": "YulIdentifier", - "src": "36179:1:11" + "src": "36179:1:24" }, { "kind": "number", - "nativeSrc": "36182:1:11", + "nativeSrc": "36182:1:24", "nodeType": "YulLiteral", - "src": "36182:1:11", + "src": "36182:1:24", "type": "", "value": "8" } ], "functionName": { "name": "add", - "nativeSrc": "36175:3:11", + "nativeSrc": "36175:3:24", "nodeType": "YulIdentifier", - "src": "36175:3:11" + "src": "36175:3:24" }, - "nativeSrc": "36175:9:11", + "nativeSrc": "36175:9:24", "nodeType": "YulFunctionCall", - "src": "36175:9:11" + "src": "36175:9:24" } ], "functionName": { "name": "mload", - "nativeSrc": "36169:5:11", + "nativeSrc": "36169:5:24", "nodeType": "YulIdentifier", - "src": "36169:5:11" + "src": "36169:5:24" }, - "nativeSrc": "36169:16:11", + "nativeSrc": "36169:16:24", "nodeType": "YulFunctionCall", - "src": "36169:16:11" + "src": "36169:16:24" } ], "functionName": { "name": "mstore8", - "nativeSrc": "36150:7:11", + "nativeSrc": "36150:7:24", "nodeType": "YulIdentifier", - "src": "36150:7:11" + "src": "36150:7:24" }, - "nativeSrc": "36150:36:11", + "nativeSrc": "36150:36:24", "nodeType": "YulFunctionCall", - "src": "36150:36:11" + "src": "36150:36:24" }, - "nativeSrc": "36150:36:11", + "nativeSrc": "36150:36:24", "nodeType": "YulExpressionStatement", - "src": "36150:36:11" + "src": "36150:36:24" }, { - "nativeSrc": "36203:14:11", + "nativeSrc": "36203:14:24", "nodeType": "YulAssignment", - "src": "36203:14:11", + "src": "36203:14:24", "value": { "arguments": [ { "name": "o", - "nativeSrc": "36212:1:11", + "nativeSrc": "36212:1:24", "nodeType": "YulIdentifier", - "src": "36212:1:11" + "src": "36212:1:24" }, { "kind": "number", - "nativeSrc": "36215:1:11", + "nativeSrc": "36215:1:24", "nodeType": "YulLiteral", - "src": "36215:1:11", + "src": "36215:1:24", "type": "", "value": "2" } ], "functionName": { "name": "add", - "nativeSrc": "36208:3:11", + "nativeSrc": "36208:3:24", "nodeType": "YulIdentifier", - "src": "36208:3:11" + "src": "36208:3:24" }, - "nativeSrc": "36208:9:11", + "nativeSrc": "36208:9:24", "nodeType": "YulFunctionCall", - "src": "36208:9:11" + "src": "36208:9:24" }, "variableNames": [ { "name": "o", - "nativeSrc": "36203:1:11", + "nativeSrc": "36203:1:24", "nodeType": "YulIdentifier", - "src": "36203:1:11" + "src": "36203:1:24" } ] } @@ -183921,182 +202896,182 @@ "arguments": [ { "name": "s", - "nativeSrc": "35175:1:11", + "nativeSrc": "35175:1:24", "nodeType": "YulIdentifier", - "src": "35175:1:11" + "src": "35175:1:24" }, { "name": "end", - "nativeSrc": "35178:3:11", + "nativeSrc": "35178:3:24", "nodeType": "YulIdentifier", - "src": "35178:3:11" + "src": "35178:3:24" } ], "functionName": { "name": "eq", - "nativeSrc": "35172:2:11", + "nativeSrc": "35172:2:24", "nodeType": "YulIdentifier", - "src": "35172:2:11" + "src": "35172:2:24" }, - "nativeSrc": "35172:10:11", + "nativeSrc": "35172:10:24", "nodeType": "YulFunctionCall", - "src": "35172:10:11" + "src": "35172:10:24" } ], "functionName": { "name": "iszero", - "nativeSrc": "35165:6:11", + "nativeSrc": "35165:6:24", "nodeType": "YulIdentifier", - "src": "35165:6:11" + "src": "35165:6:24" }, - "nativeSrc": "35165:18:11", + "nativeSrc": "35165:18:24", "nodeType": "YulFunctionCall", - "src": "35165:18:11" + "src": "35165:18:24" }, - "nativeSrc": "35129:1102:11", + "nativeSrc": "35129:1102:24", "nodeType": "YulForLoop", "post": { - "nativeSrc": "35184:2:11", + "nativeSrc": "35184:2:24", "nodeType": "YulBlock", - "src": "35184:2:11", + "src": "35184:2:24", "statements": [] }, "pre": { - "nativeSrc": "35133:31:11", + "nativeSrc": "35133:31:24", "nodeType": "YulBlock", - "src": "35133:31:11", + "src": "35133:31:24", "statements": [ { - "nativeSrc": "35135:27:11", + "nativeSrc": "35135:27:24", "nodeType": "YulVariableDeclaration", - "src": "35135:27:11", + "src": "35135:27:24", "value": { "arguments": [ { "name": "s", - "nativeSrc": "35150:1:11", + "nativeSrc": "35150:1:24", "nodeType": "YulIdentifier", - "src": "35150:1:11" + "src": "35150:1:24" }, { "arguments": [ { "name": "s", - "nativeSrc": "35159:1:11", + "nativeSrc": "35159:1:24", "nodeType": "YulIdentifier", - "src": "35159:1:11" + "src": "35159:1:24" } ], "functionName": { "name": "mload", - "nativeSrc": "35153:5:11", + "nativeSrc": "35153:5:24", "nodeType": "YulIdentifier", - "src": "35153:5:11" + "src": "35153:5:24" }, - "nativeSrc": "35153:8:11", + "nativeSrc": "35153:8:24", "nodeType": "YulFunctionCall", - "src": "35153:8:11" + "src": "35153:8:24" } ], "functionName": { "name": "add", - "nativeSrc": "35146:3:11", + "nativeSrc": "35146:3:24", "nodeType": "YulIdentifier", - "src": "35146:3:11" + "src": "35146:3:24" }, - "nativeSrc": "35146:16:11", + "nativeSrc": "35146:16:24", "nodeType": "YulFunctionCall", - "src": "35146:16:11" + "src": "35146:16:24" }, "variables": [ { "name": "end", - "nativeSrc": "35139:3:11", + "nativeSrc": "35139:3:24", "nodeType": "YulTypedName", - "src": "35139:3:11", + "src": "35139:3:24", "type": "" } ] } ] }, - "src": "35129:1102:11" + "src": "35129:1102:24" }, { "body": { - "nativeSrc": "36263:77:11", + "nativeSrc": "36263:77:24", "nodeType": "YulBlock", - "src": "36263:77:11", + "src": "36263:77:24", "statements": [ { "expression": { "arguments": [ { "name": "o", - "nativeSrc": "36289:1:11", + "nativeSrc": "36289:1:24", "nodeType": "YulIdentifier", - "src": "36289:1:11" + "src": "36289:1:24" }, { "kind": "number", - "nativeSrc": "36292:2:11", + "nativeSrc": "36292:2:24", "nodeType": "YulLiteral", - "src": "36292:2:11", + "src": "36292:2:24", "type": "", "value": "34" } ], "functionName": { "name": "mstore8", - "nativeSrc": "36281:7:11", + "nativeSrc": "36281:7:24", "nodeType": "YulIdentifier", - "src": "36281:7:11" + "src": "36281:7:24" }, - "nativeSrc": "36281:14:11", + "nativeSrc": "36281:14:24", "nodeType": "YulFunctionCall", - "src": "36281:14:11" + "src": "36281:14:24" }, - "nativeSrc": "36281:14:11", + "nativeSrc": "36281:14:24", "nodeType": "YulExpressionStatement", - "src": "36281:14:11" + "src": "36281:14:24" }, { - "nativeSrc": "36312:14:11", + "nativeSrc": "36312:14:24", "nodeType": "YulAssignment", - "src": "36312:14:11", + "src": "36312:14:24", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "36321:1:11", + "nativeSrc": "36321:1:24", "nodeType": "YulLiteral", - "src": "36321:1:11", + "src": "36321:1:24", "type": "", "value": "1" }, { "name": "o", - "nativeSrc": "36324:1:11", + "nativeSrc": "36324:1:24", "nodeType": "YulIdentifier", - "src": "36324:1:11" + "src": "36324:1:24" } ], "functionName": { "name": "add", - "nativeSrc": "36317:3:11", + "nativeSrc": "36317:3:24", "nodeType": "YulIdentifier", - "src": "36317:3:11" + "src": "36317:3:24" }, - "nativeSrc": "36317:9:11", + "nativeSrc": "36317:9:24", "nodeType": "YulFunctionCall", - "src": "36317:9:11" + "src": "36317:9:24" }, "variableNames": [ { "name": "o", - "nativeSrc": "36312:1:11", + "nativeSrc": "36312:1:24", "nodeType": "YulIdentifier", - "src": "36312:1:11" + "src": "36312:1:24" } ] } @@ -184104,124 +203079,124 @@ }, "condition": { "name": "addDoubleQuotes", - "nativeSrc": "36247:15:11", + "nativeSrc": "36247:15:24", "nodeType": "YulIdentifier", - "src": "36247:15:11" + "src": "36247:15:24" }, - "nativeSrc": "36244:96:11", + "nativeSrc": "36244:96:24", "nodeType": "YulIf", - "src": "36244:96:11" + "src": "36244:96:24" }, { "expression": { "arguments": [ { "name": "o", - "nativeSrc": "36360:1:11", + "nativeSrc": "36360:1:24", "nodeType": "YulIdentifier", - "src": "36360:1:11" + "src": "36360:1:24" }, { "kind": "number", - "nativeSrc": "36363:1:11", + "nativeSrc": "36363:1:24", "nodeType": "YulLiteral", - "src": "36363:1:11", + "src": "36363:1:24", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "36353:6:11", + "nativeSrc": "36353:6:24", "nodeType": "YulIdentifier", - "src": "36353:6:11" + "src": "36353:6:24" }, - "nativeSrc": "36353:12:11", + "nativeSrc": "36353:12:24", "nodeType": "YulFunctionCall", - "src": "36353:12:11" + "src": "36353:12:24" }, - "nativeSrc": "36353:12:11", + "nativeSrc": "36353:12:24", "nodeType": "YulExpressionStatement", - "src": "36353:12:11" + "src": "36353:12:24" }, { "expression": { "arguments": [ { "name": "result", - "nativeSrc": "36423:6:11", + "nativeSrc": "36423:6:24", "nodeType": "YulIdentifier", - "src": "36423:6:11" + "src": "36423:6:24" }, { "arguments": [ { "name": "o", - "nativeSrc": "36435:1:11", + "nativeSrc": "36435:1:24", "nodeType": "YulIdentifier", - "src": "36435:1:11" + "src": "36435:1:24" }, { "arguments": [ { "name": "result", - "nativeSrc": "36442:6:11", + "nativeSrc": "36442:6:24", "nodeType": "YulIdentifier", - "src": "36442:6:11" + "src": "36442:6:24" }, { "kind": "number", - "nativeSrc": "36450:4:11", + "nativeSrc": "36450:4:24", "nodeType": "YulLiteral", - "src": "36450:4:11", + "src": "36450:4:24", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "36438:3:11", + "nativeSrc": "36438:3:24", "nodeType": "YulIdentifier", - "src": "36438:3:11" + "src": "36438:3:24" }, - "nativeSrc": "36438:17:11", + "nativeSrc": "36438:17:24", "nodeType": "YulFunctionCall", - "src": "36438:17:11" + "src": "36438:17:24" } ], "functionName": { "name": "sub", - "nativeSrc": "36431:3:11", + "nativeSrc": "36431:3:24", "nodeType": "YulIdentifier", - "src": "36431:3:11" + "src": "36431:3:24" }, - "nativeSrc": "36431:25:11", + "nativeSrc": "36431:25:24", "nodeType": "YulFunctionCall", - "src": "36431:25:11" + "src": "36431:25:24" } ], "functionName": { "name": "mstore", - "nativeSrc": "36416:6:11", + "nativeSrc": "36416:6:24", "nodeType": "YulIdentifier", - "src": "36416:6:11" + "src": "36416:6:24" }, - "nativeSrc": "36416:41:11", + "nativeSrc": "36416:41:24", "nodeType": "YulFunctionCall", - "src": "36416:41:11" + "src": "36416:41:24" }, - "nativeSrc": "36416:41:11", + "nativeSrc": "36416:41:24", "nodeType": "YulExpressionStatement", - "src": "36416:41:11" + "src": "36416:41:24" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "36498:4:11", + "nativeSrc": "36498:4:24", "nodeType": "YulLiteral", - "src": "36498:4:11", + "src": "36498:4:24", "type": "", "value": "0x40" }, @@ -184229,43 +203204,43 @@ "arguments": [ { "name": "o", - "nativeSrc": "36508:1:11", + "nativeSrc": "36508:1:24", "nodeType": "YulIdentifier", - "src": "36508:1:11" + "src": "36508:1:24" }, { "kind": "number", - "nativeSrc": "36511:4:11", + "nativeSrc": "36511:4:24", "nodeType": "YulLiteral", - "src": "36511:4:11", + "src": "36511:4:24", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "36504:3:11", + "nativeSrc": "36504:3:24", "nodeType": "YulIdentifier", - "src": "36504:3:11" + "src": "36504:3:24" }, - "nativeSrc": "36504:12:11", + "nativeSrc": "36504:12:24", "nodeType": "YulFunctionCall", - "src": "36504:12:11" + "src": "36504:12:24" } ], "functionName": { "name": "mstore", - "nativeSrc": "36491:6:11", + "nativeSrc": "36491:6:24", "nodeType": "YulIdentifier", - "src": "36491:6:11" + "src": "36491:6:24" }, - "nativeSrc": "36491:26:11", + "nativeSrc": "36491:26:24", "nodeType": "YulFunctionCall", - "src": "36491:26:11" + "src": "36491:26:24" }, - "nativeSrc": "36491:26:11", + "nativeSrc": "36491:26:24", "nodeType": "YulExpressionStatement", - "src": "36491:26:11" + "src": "36491:26:24" } ] }, @@ -184273,122 +203248,122 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 6001, + "declaration": 7607, "isOffset": false, "isSlot": false, - "src": "34607:15:11", + "src": "34607:15:24", "valueSize": 1 }, { - "declaration": 6001, + "declaration": 7607, "isOffset": false, "isSlot": false, - "src": "36247:15:11", + "src": "36247:15:24", "valueSize": 1 }, { - "declaration": 6004, + "declaration": 7610, "isOffset": false, "isSlot": false, - "src": "34531:6:11", + "src": "34531:6:24", "valueSize": 1 }, { - "declaration": 6004, + "declaration": 7610, "isOffset": false, "isSlot": false, - "src": "34578:6:11", + "src": "34578:6:24", "valueSize": 1 }, { - "declaration": 6004, + "declaration": 7610, "isOffset": false, "isSlot": false, - "src": "36423:6:11", + "src": "36423:6:24", "valueSize": 1 }, { - "declaration": 6004, + "declaration": 7610, "isOffset": false, "isSlot": false, - "src": "36442:6:11", + "src": "36442:6:24", "valueSize": 1 }, { - "declaration": 5999, + "declaration": 7605, "isOffset": false, "isSlot": false, - "src": "35150:1:11", + "src": "35150:1:24", "valueSize": 1 }, { - "declaration": 5999, + "declaration": 7605, "isOffset": false, "isSlot": false, - "src": "35159:1:11", + "src": "35159:1:24", "valueSize": 1 }, { - "declaration": 5999, + "declaration": 7605, "isOffset": false, "isSlot": false, - "src": "35175:1:11", + "src": "35175:1:24", "valueSize": 1 }, { - "declaration": 5999, + "declaration": 7605, "isOffset": false, "isSlot": false, - "src": "35205:1:11", + "src": "35205:1:24", "valueSize": 1 }, { - "declaration": 5999, + "declaration": 7605, "isOffset": false, "isSlot": false, - "src": "35214:1:11", + "src": "35214:1:24", "valueSize": 1 }, { - "declaration": 5999, + "declaration": 7605, "isOffset": false, "isSlot": false, - "src": "35255:1:11", + "src": "35255:1:24", "valueSize": 1 } ], - "id": 6006, + "id": 7612, "nodeType": "InlineAssembly", - "src": "34508:2039:11" + "src": "34508:2039:24" } ] }, "documentation": { - "id": 5997, + "id": 7603, "nodeType": "StructuredDocumentation", - "src": "34164:154:11", + "src": "34164:154:24", "text": "@dev Escapes the string to be used within double-quotes in a JSON.\n If `addDoubleQuotes` is true, the result will be enclosed in double-quotes." }, - "id": 6008, + "id": 7614, "implemented": true, "kind": "function", "modifiers": [], "name": "escapeJSON", - "nameLocation": "34332:10:11", + "nameLocation": "34332:10:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 6002, + "id": 7608, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5999, + "id": 7605, "mutability": "mutable", "name": "s", - "nameLocation": "34357:1:11", + "nameLocation": "34357:1:24", "nodeType": "VariableDeclaration", - "scope": 6008, - "src": "34343:15:11", + "scope": 7614, + "src": "34343:15:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -184396,10 +203371,10 @@ "typeString": "string" }, "typeName": { - "id": 5998, + "id": 7604, "name": "string", "nodeType": "ElementaryTypeName", - "src": "34343:6:11", + "src": "34343:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -184409,13 +203384,13 @@ }, { "constant": false, - "id": 6001, + "id": 7607, "mutability": "mutable", "name": "addDoubleQuotes", - "nameLocation": "34365:15:11", + "nameLocation": "34365:15:24", "nodeType": "VariableDeclaration", - "scope": 6008, - "src": "34360:20:11", + "scope": 7614, + "src": "34360:20:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -184423,10 +203398,10 @@ "typeString": "bool" }, "typeName": { - "id": 6000, + "id": 7606, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "34360:4:11", + "src": "34360:4:24", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -184435,21 +203410,21 @@ "visibility": "internal" } ], - "src": "34342:39:11" + "src": "34342:39:24" }, "returnParameters": { - "id": 6005, + "id": 7611, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6004, + "id": 7610, "mutability": "mutable", "name": "result", - "nameLocation": "34443:6:11", + "nameLocation": "34443:6:24", "nodeType": "VariableDeclaration", - "scope": 6008, - "src": "34429:20:11", + "scope": 7614, + "src": "34429:20:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -184457,10 +203432,10 @@ "typeString": "string" }, "typeName": { - "id": 6003, + "id": 7609, "name": "string", "nodeType": "ElementaryTypeName", - "src": "34429:6:11", + "src": "34429:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -184469,34 +203444,34 @@ "visibility": "internal" } ], - "src": "34428:22:11" + "src": "34428:22:24" }, - "scope": 6134, - "src": "34323:2230:11", + "scope": 7740, + "src": "34323:2230:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 6023, + "id": 7629, "nodeType": "Block", - "src": "36716:46:11", + "src": "36716:46:24", "statements": [ { "expression": { - "id": 6021, + "id": 7627, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 6016, + "id": 7622, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6014, - "src": "36726:6:11", + "referencedDeclaration": 7620, + "src": "36726:6:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -184507,12 +203482,12 @@ "rightHandSide": { "arguments": [ { - "id": 6018, + "id": 7624, "name": "s", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6011, - "src": "36746:1:11", + "referencedDeclaration": 7617, + "src": "36746:1:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -184520,14 +203495,14 @@ }, { "hexValue": "66616c7365", - "id": 6019, + "id": 7625, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "36749:5:11", + "src": "36749:5:24", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -184546,21 +203521,21 @@ "typeString": "bool" } ], - "id": 6017, + "id": 7623, "name": "escapeJSON", "nodeType": "Identifier", "overloadedDeclarations": [ - 6008, - 6024 + 7614, + 7630 ], - "referencedDeclaration": 6008, - "src": "36735:10:11", + "referencedDeclaration": 7614, + "src": "36735:10:24", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_bool_$returns$_t_string_memory_ptr_$", "typeString": "function (string memory,bool) pure returns (string memory)" } }, - "id": 6020, + "id": 7626, "isConstant": false, "isLValue": false, "isPure": false, @@ -184569,51 +203544,51 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "36735:20:11", + "src": "36735:20:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "36726:29:11", + "src": "36726:29:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 6022, + "id": 7628, "nodeType": "ExpressionStatement", - "src": "36726:29:11" + "src": "36726:29:24" } ] }, "documentation": { - "id": 6009, + "id": 7615, "nodeType": "StructuredDocumentation", - "src": "36559:70:11", + "src": "36559:70:24", "text": "@dev Escapes the string to be used within double-quotes in a JSON." }, - "id": 6024, + "id": 7630, "implemented": true, "kind": "function", "modifiers": [], "name": "escapeJSON", - "nameLocation": "36643:10:11", + "nameLocation": "36643:10:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 6012, + "id": 7618, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6011, + "id": 7617, "mutability": "mutable", "name": "s", - "nameLocation": "36668:1:11", + "nameLocation": "36668:1:24", "nodeType": "VariableDeclaration", - "scope": 6024, - "src": "36654:15:11", + "scope": 7630, + "src": "36654:15:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -184621,10 +203596,10 @@ "typeString": "string" }, "typeName": { - "id": 6010, + "id": 7616, "name": "string", "nodeType": "ElementaryTypeName", - "src": "36654:6:11", + "src": "36654:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -184633,21 +203608,21 @@ "visibility": "internal" } ], - "src": "36653:17:11" + "src": "36653:17:24" }, "returnParameters": { - "id": 6015, + "id": 7621, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6014, + "id": 7620, "mutability": "mutable", "name": "result", - "nameLocation": "36708:6:11", + "nameLocation": "36708:6:24", "nodeType": "VariableDeclaration", - "scope": 6024, - "src": "36694:20:11", + "scope": 7630, + "src": "36694:20:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -184655,10 +203630,10 @@ "typeString": "string" }, "typeName": { - "id": 6013, + "id": 7619, "name": "string", "nodeType": "ElementaryTypeName", - "src": "36694:6:11", + "src": "36694:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -184667,57 +203642,57 @@ "visibility": "internal" } ], - "src": "36693:22:11" + "src": "36693:22:24" }, - "scope": 6134, - "src": "36634:128:11", + "scope": 7740, + "src": "36634:128:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 6033, + "id": 7639, "nodeType": "Block", - "src": "37208:1153:11", + "src": "37208:1153:24", "statements": [ { "AST": { - "nativeSrc": "37270:1085:11", + "nativeSrc": "37270:1085:24", "nodeType": "YulBlock", - "src": "37270:1085:11", + "src": "37270:1085:24", "statements": [ { - "nativeSrc": "37284:21:11", + "nativeSrc": "37284:21:24", "nodeType": "YulAssignment", - "src": "37284:21:11", + "src": "37284:21:24", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "37300:4:11", + "nativeSrc": "37300:4:24", "nodeType": "YulLiteral", - "src": "37300:4:11", + "src": "37300:4:24", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "37294:5:11", + "nativeSrc": "37294:5:24", "nodeType": "YulIdentifier", - "src": "37294:5:11" + "src": "37294:5:24" }, - "nativeSrc": "37294:11:11", + "nativeSrc": "37294:11:24", "nodeType": "YulFunctionCall", - "src": "37294:11:11" + "src": "37294:11:24" }, "variableNames": [ { "name": "result", - "nativeSrc": "37284:6:11", + "nativeSrc": "37284:6:24", "nodeType": "YulIdentifier", - "src": "37284:6:11" + "src": "37284:6:24" } ] }, @@ -184726,213 +203701,213 @@ "arguments": [ { "kind": "number", - "nativeSrc": "37460:4:11", + "nativeSrc": "37460:4:24", "nodeType": "YulLiteral", - "src": "37460:4:11", + "src": "37460:4:24", "type": "", "value": "0x0f" }, { "kind": "number", - "nativeSrc": "37466:34:11", + "nativeSrc": "37466:34:24", "nodeType": "YulLiteral", - "src": "37466:34:11", + "src": "37466:34:24", "type": "", "value": "0x30313233343536373839414243444546" } ], "functionName": { "name": "mstore", - "nativeSrc": "37453:6:11", + "nativeSrc": "37453:6:24", "nodeType": "YulIdentifier", - "src": "37453:6:11" + "src": "37453:6:24" }, - "nativeSrc": "37453:48:11", + "nativeSrc": "37453:48:24", "nodeType": "YulFunctionCall", - "src": "37453:48:11" + "src": "37453:48:24" }, - "nativeSrc": "37453:48:11", + "nativeSrc": "37453:48:24", "nodeType": "YulExpressionStatement", - "src": "37453:48:11" + "src": "37453:48:24" }, { - "nativeSrc": "37514:26:11", + "nativeSrc": "37514:26:24", "nodeType": "YulVariableDeclaration", - "src": "37514:26:11", + "src": "37514:26:24", "value": { "arguments": [ { "name": "result", - "nativeSrc": "37527:6:11", + "nativeSrc": "37527:6:24", "nodeType": "YulIdentifier", - "src": "37527:6:11" + "src": "37527:6:24" }, { "kind": "number", - "nativeSrc": "37535:4:11", + "nativeSrc": "37535:4:24", "nodeType": "YulLiteral", - "src": "37535:4:11", + "src": "37535:4:24", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "37523:3:11", + "nativeSrc": "37523:3:24", "nodeType": "YulIdentifier", - "src": "37523:3:11" + "src": "37523:3:24" }, - "nativeSrc": "37523:17:11", + "nativeSrc": "37523:17:24", "nodeType": "YulFunctionCall", - "src": "37523:17:11" + "src": "37523:17:24" }, "variables": [ { "name": "o", - "nativeSrc": "37518:1:11", + "nativeSrc": "37518:1:24", "nodeType": "YulTypedName", - "src": "37518:1:11", + "src": "37518:1:24", "type": "" } ] }, { "body": { - "nativeSrc": "37611:537:11", + "nativeSrc": "37611:537:24", "nodeType": "YulBlock", - "src": "37611:537:11", + "src": "37611:537:24", "statements": [ { - "nativeSrc": "37629:14:11", + "nativeSrc": "37629:14:24", "nodeType": "YulAssignment", - "src": "37629:14:11", + "src": "37629:14:24", "value": { "arguments": [ { "name": "s", - "nativeSrc": "37638:1:11", + "nativeSrc": "37638:1:24", "nodeType": "YulIdentifier", - "src": "37638:1:11" + "src": "37638:1:24" }, { "kind": "number", - "nativeSrc": "37641:1:11", + "nativeSrc": "37641:1:24", "nodeType": "YulLiteral", - "src": "37641:1:11", + "src": "37641:1:24", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "37634:3:11", + "nativeSrc": "37634:3:24", "nodeType": "YulIdentifier", - "src": "37634:3:11" + "src": "37634:3:24" }, - "nativeSrc": "37634:9:11", + "nativeSrc": "37634:9:24", "nodeType": "YulFunctionCall", - "src": "37634:9:11" + "src": "37634:9:24" }, "variableNames": [ { "name": "s", - "nativeSrc": "37629:1:11", + "nativeSrc": "37629:1:24", "nodeType": "YulIdentifier", - "src": "37629:1:11" + "src": "37629:1:24" } ] }, { - "nativeSrc": "37660:28:11", + "nativeSrc": "37660:28:24", "nodeType": "YulVariableDeclaration", - "src": "37660:28:11", + "src": "37660:28:24", "value": { "arguments": [ { "arguments": [ { "name": "s", - "nativeSrc": "37679:1:11", + "nativeSrc": "37679:1:24", "nodeType": "YulIdentifier", - "src": "37679:1:11" + "src": "37679:1:24" } ], "functionName": { "name": "mload", - "nativeSrc": "37673:5:11", + "nativeSrc": "37673:5:24", "nodeType": "YulIdentifier", - "src": "37673:5:11" + "src": "37673:5:24" }, - "nativeSrc": "37673:8:11", + "nativeSrc": "37673:8:24", "nodeType": "YulFunctionCall", - "src": "37673:8:11" + "src": "37673:8:24" }, { "kind": "number", - "nativeSrc": "37683:4:11", + "nativeSrc": "37683:4:24", "nodeType": "YulLiteral", - "src": "37683:4:11", + "src": "37683:4:24", "type": "", "value": "0xff" } ], "functionName": { "name": "and", - "nativeSrc": "37669:3:11", + "nativeSrc": "37669:3:24", "nodeType": "YulIdentifier", - "src": "37669:3:11" + "src": "37669:3:24" }, - "nativeSrc": "37669:19:11", + "nativeSrc": "37669:19:24", "nodeType": "YulFunctionCall", - "src": "37669:19:11" + "src": "37669:19:24" }, "variables": [ { "name": "c", - "nativeSrc": "37664:1:11", + "nativeSrc": "37664:1:24", "nodeType": "YulTypedName", - "src": "37664:1:11", + "src": "37664:1:24", "type": "" } ] }, { "body": { - "nativeSrc": "37821:252:11", + "nativeSrc": "37821:252:24", "nodeType": "YulBlock", - "src": "37821:252:11", + "src": "37821:252:24", "statements": [ { "expression": { "arguments": [ { "name": "o", - "nativeSrc": "37851:1:11", + "nativeSrc": "37851:1:24", "nodeType": "YulIdentifier", - "src": "37851:1:11" + "src": "37851:1:24" }, { "kind": "number", - "nativeSrc": "37854:4:11", + "nativeSrc": "37854:4:24", "nodeType": "YulLiteral", - "src": "37854:4:11", + "src": "37854:4:24", "type": "", "value": "0x25" } ], "functionName": { "name": "mstore8", - "nativeSrc": "37843:7:11", + "nativeSrc": "37843:7:24", "nodeType": "YulIdentifier", - "src": "37843:7:11" + "src": "37843:7:24" }, - "nativeSrc": "37843:16:11", + "nativeSrc": "37843:16:24", "nodeType": "YulFunctionCall", - "src": "37843:16:11" + "src": "37843:16:24" }, - "nativeSrc": "37843:16:11", + "nativeSrc": "37843:16:24", "nodeType": "YulExpressionStatement", - "src": "37843:16:11" + "src": "37843:16:24" }, { "expression": { @@ -184941,28 +203916,28 @@ "arguments": [ { "name": "o", - "nativeSrc": "37900:1:11", + "nativeSrc": "37900:1:24", "nodeType": "YulIdentifier", - "src": "37900:1:11" + "src": "37900:1:24" }, { "kind": "number", - "nativeSrc": "37903:1:11", + "nativeSrc": "37903:1:24", "nodeType": "YulLiteral", - "src": "37903:1:11", + "src": "37903:1:24", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "37896:3:11", + "nativeSrc": "37896:3:24", "nodeType": "YulIdentifier", - "src": "37896:3:11" + "src": "37896:3:24" }, - "nativeSrc": "37896:9:11", + "nativeSrc": "37896:9:24", "nodeType": "YulFunctionCall", - "src": "37896:9:11" + "src": "37896:9:24" }, { "arguments": [ @@ -184972,73 +203947,73 @@ "arguments": [ { "kind": "number", - "nativeSrc": "37921:1:11", + "nativeSrc": "37921:1:24", "nodeType": "YulLiteral", - "src": "37921:1:11", + "src": "37921:1:24", "type": "", "value": "4" }, { "name": "c", - "nativeSrc": "37924:1:11", + "nativeSrc": "37924:1:24", "nodeType": "YulIdentifier", - "src": "37924:1:11" + "src": "37924:1:24" } ], "functionName": { "name": "shr", - "nativeSrc": "37917:3:11", + "nativeSrc": "37917:3:24", "nodeType": "YulIdentifier", - "src": "37917:3:11" + "src": "37917:3:24" }, - "nativeSrc": "37917:9:11", + "nativeSrc": "37917:9:24", "nodeType": "YulFunctionCall", - "src": "37917:9:11" + "src": "37917:9:24" }, { "kind": "number", - "nativeSrc": "37928:2:11", + "nativeSrc": "37928:2:24", "nodeType": "YulLiteral", - "src": "37928:2:11", + "src": "37928:2:24", "type": "", "value": "15" } ], "functionName": { "name": "and", - "nativeSrc": "37913:3:11", + "nativeSrc": "37913:3:24", "nodeType": "YulIdentifier", - "src": "37913:3:11" + "src": "37913:3:24" }, - "nativeSrc": "37913:18:11", + "nativeSrc": "37913:18:24", "nodeType": "YulFunctionCall", - "src": "37913:18:11" + "src": "37913:18:24" } ], "functionName": { "name": "mload", - "nativeSrc": "37907:5:11", + "nativeSrc": "37907:5:24", "nodeType": "YulIdentifier", - "src": "37907:5:11" + "src": "37907:5:24" }, - "nativeSrc": "37907:25:11", + "nativeSrc": "37907:25:24", "nodeType": "YulFunctionCall", - "src": "37907:25:11" + "src": "37907:25:24" } ], "functionName": { "name": "mstore8", - "nativeSrc": "37888:7:11", + "nativeSrc": "37888:7:24", "nodeType": "YulIdentifier", - "src": "37888:7:11" + "src": "37888:7:24" }, - "nativeSrc": "37888:45:11", + "nativeSrc": "37888:45:24", "nodeType": "YulFunctionCall", - "src": "37888:45:11" + "src": "37888:45:24" }, - "nativeSrc": "37888:45:11", + "nativeSrc": "37888:45:24", "nodeType": "YulExpressionStatement", - "src": "37888:45:11" + "src": "37888:45:24" }, { "expression": { @@ -185047,28 +204022,28 @@ "arguments": [ { "name": "o", - "nativeSrc": "37966:1:11", + "nativeSrc": "37966:1:24", "nodeType": "YulIdentifier", - "src": "37966:1:11" + "src": "37966:1:24" }, { "kind": "number", - "nativeSrc": "37969:1:11", + "nativeSrc": "37969:1:24", "nodeType": "YulLiteral", - "src": "37969:1:11", + "src": "37969:1:24", "type": "", "value": "2" } ], "functionName": { "name": "add", - "nativeSrc": "37962:3:11", + "nativeSrc": "37962:3:24", "nodeType": "YulIdentifier", - "src": "37962:3:11" + "src": "37962:3:24" }, - "nativeSrc": "37962:9:11", + "nativeSrc": "37962:9:24", "nodeType": "YulFunctionCall", - "src": "37962:9:11" + "src": "37962:9:24" }, { "arguments": [ @@ -185076,99 +204051,99 @@ "arguments": [ { "name": "c", - "nativeSrc": "37983:1:11", + "nativeSrc": "37983:1:24", "nodeType": "YulIdentifier", - "src": "37983:1:11" + "src": "37983:1:24" }, { "kind": "number", - "nativeSrc": "37986:2:11", + "nativeSrc": "37986:2:24", "nodeType": "YulLiteral", - "src": "37986:2:11", + "src": "37986:2:24", "type": "", "value": "15" } ], "functionName": { "name": "and", - "nativeSrc": "37979:3:11", + "nativeSrc": "37979:3:24", "nodeType": "YulIdentifier", - "src": "37979:3:11" + "src": "37979:3:24" }, - "nativeSrc": "37979:10:11", + "nativeSrc": "37979:10:24", "nodeType": "YulFunctionCall", - "src": "37979:10:11" + "src": "37979:10:24" } ], "functionName": { "name": "mload", - "nativeSrc": "37973:5:11", + "nativeSrc": "37973:5:24", "nodeType": "YulIdentifier", - "src": "37973:5:11" + "src": "37973:5:24" }, - "nativeSrc": "37973:17:11", + "nativeSrc": "37973:17:24", "nodeType": "YulFunctionCall", - "src": "37973:17:11" + "src": "37973:17:24" } ], "functionName": { "name": "mstore8", - "nativeSrc": "37954:7:11", + "nativeSrc": "37954:7:24", "nodeType": "YulIdentifier", - "src": "37954:7:11" + "src": "37954:7:24" }, - "nativeSrc": "37954:37:11", + "nativeSrc": "37954:37:24", "nodeType": "YulFunctionCall", - "src": "37954:37:11" + "src": "37954:37:24" }, - "nativeSrc": "37954:37:11", + "nativeSrc": "37954:37:24", "nodeType": "YulExpressionStatement", - "src": "37954:37:11" + "src": "37954:37:24" }, { - "nativeSrc": "38012:14:11", + "nativeSrc": "38012:14:24", "nodeType": "YulAssignment", - "src": "38012:14:11", + "src": "38012:14:24", "value": { "arguments": [ { "name": "o", - "nativeSrc": "38021:1:11", + "nativeSrc": "38021:1:24", "nodeType": "YulIdentifier", - "src": "38021:1:11" + "src": "38021:1:24" }, { "kind": "number", - "nativeSrc": "38024:1:11", + "nativeSrc": "38024:1:24", "nodeType": "YulLiteral", - "src": "38024:1:11", + "src": "38024:1:24", "type": "", "value": "3" } ], "functionName": { "name": "add", - "nativeSrc": "38017:3:11", + "nativeSrc": "38017:3:24", "nodeType": "YulIdentifier", - "src": "38017:3:11" + "src": "38017:3:24" }, - "nativeSrc": "38017:9:11", + "nativeSrc": "38017:9:24", "nodeType": "YulFunctionCall", - "src": "38017:9:11" + "src": "38017:9:24" }, "variableNames": [ { "name": "o", - "nativeSrc": "38012:1:11", + "nativeSrc": "38012:1:24", "nodeType": "YulIdentifier", - "src": "38012:1:11" + "src": "38012:1:24" } ] }, { - "nativeSrc": "38047:8:11", + "nativeSrc": "38047:8:24", "nodeType": "YulContinue", - "src": "38047:8:11" + "src": "38047:8:24" } ] }, @@ -185178,9 +204153,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "37773:1:11", + "nativeSrc": "37773:1:24", "nodeType": "YulLiteral", - "src": "37773:1:11", + "src": "37773:1:24", "type": "", "value": "1" }, @@ -185188,122 +204163,122 @@ "arguments": [ { "name": "c", - "nativeSrc": "37780:1:11", + "nativeSrc": "37780:1:24", "nodeType": "YulIdentifier", - "src": "37780:1:11" + "src": "37780:1:24" }, { "kind": "number", - "nativeSrc": "37783:34:11", + "nativeSrc": "37783:34:24", "nodeType": "YulLiteral", - "src": "37783:34:11", + "src": "37783:34:24", "type": "", "value": "0x47fffffe87fffffe03ff678200000000" } ], "functionName": { "name": "shr", - "nativeSrc": "37776:3:11", + "nativeSrc": "37776:3:24", "nodeType": "YulIdentifier", - "src": "37776:3:11" + "src": "37776:3:24" }, - "nativeSrc": "37776:42:11", + "nativeSrc": "37776:42:24", "nodeType": "YulFunctionCall", - "src": "37776:42:11" + "src": "37776:42:24" } ], "functionName": { "name": "and", - "nativeSrc": "37769:3:11", + "nativeSrc": "37769:3:24", "nodeType": "YulIdentifier", - "src": "37769:3:11" + "src": "37769:3:24" }, - "nativeSrc": "37769:50:11", + "nativeSrc": "37769:50:24", "nodeType": "YulFunctionCall", - "src": "37769:50:11" + "src": "37769:50:24" } ], "functionName": { "name": "iszero", - "nativeSrc": "37762:6:11", + "nativeSrc": "37762:6:24", "nodeType": "YulIdentifier", - "src": "37762:6:11" + "src": "37762:6:24" }, - "nativeSrc": "37762:58:11", + "nativeSrc": "37762:58:24", "nodeType": "YulFunctionCall", - "src": "37762:58:11" + "src": "37762:58:24" }, - "nativeSrc": "37759:314:11", + "nativeSrc": "37759:314:24", "nodeType": "YulIf", - "src": "37759:314:11" + "src": "37759:314:24" }, { "expression": { "arguments": [ { "name": "o", - "nativeSrc": "38098:1:11", + "nativeSrc": "38098:1:24", "nodeType": "YulIdentifier", - "src": "38098:1:11" + "src": "38098:1:24" }, { "name": "c", - "nativeSrc": "38101:1:11", + "nativeSrc": "38101:1:24", "nodeType": "YulIdentifier", - "src": "38101:1:11" + "src": "38101:1:24" } ], "functionName": { "name": "mstore8", - "nativeSrc": "38090:7:11", + "nativeSrc": "38090:7:24", "nodeType": "YulIdentifier", - "src": "38090:7:11" + "src": "38090:7:24" }, - "nativeSrc": "38090:13:11", + "nativeSrc": "38090:13:24", "nodeType": "YulFunctionCall", - "src": "38090:13:11" + "src": "38090:13:24" }, - "nativeSrc": "38090:13:11", + "nativeSrc": "38090:13:24", "nodeType": "YulExpressionStatement", - "src": "38090:13:11" + "src": "38090:13:24" }, { - "nativeSrc": "38120:14:11", + "nativeSrc": "38120:14:24", "nodeType": "YulAssignment", - "src": "38120:14:11", + "src": "38120:14:24", "value": { "arguments": [ { "name": "o", - "nativeSrc": "38129:1:11", + "nativeSrc": "38129:1:24", "nodeType": "YulIdentifier", - "src": "38129:1:11" + "src": "38129:1:24" }, { "kind": "number", - "nativeSrc": "38132:1:11", + "nativeSrc": "38132:1:24", "nodeType": "YulLiteral", - "src": "38132:1:11", + "src": "38132:1:24", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "38125:3:11", + "nativeSrc": "38125:3:24", "nodeType": "YulIdentifier", - "src": "38125:3:11" + "src": "38125:3:24" }, - "nativeSrc": "38125:9:11", + "nativeSrc": "38125:9:24", "nodeType": "YulFunctionCall", - "src": "38125:9:11" + "src": "38125:9:24" }, "variableNames": [ { "name": "o", - "nativeSrc": "38120:1:11", + "nativeSrc": "38120:1:24", "nodeType": "YulIdentifier", - "src": "38120:1:11" + "src": "38120:1:24" } ] } @@ -185315,217 +204290,217 @@ "arguments": [ { "name": "s", - "nativeSrc": "37599:1:11", + "nativeSrc": "37599:1:24", "nodeType": "YulIdentifier", - "src": "37599:1:11" + "src": "37599:1:24" }, { "name": "end", - "nativeSrc": "37602:3:11", + "nativeSrc": "37602:3:24", "nodeType": "YulIdentifier", - "src": "37602:3:11" + "src": "37602:3:24" } ], "functionName": { "name": "eq", - "nativeSrc": "37596:2:11", + "nativeSrc": "37596:2:24", "nodeType": "YulIdentifier", - "src": "37596:2:11" + "src": "37596:2:24" }, - "nativeSrc": "37596:10:11", + "nativeSrc": "37596:10:24", "nodeType": "YulFunctionCall", - "src": "37596:10:11" + "src": "37596:10:24" } ], "functionName": { "name": "iszero", - "nativeSrc": "37589:6:11", + "nativeSrc": "37589:6:24", "nodeType": "YulIdentifier", - "src": "37589:6:11" + "src": "37589:6:24" }, - "nativeSrc": "37589:18:11", + "nativeSrc": "37589:18:24", "nodeType": "YulFunctionCall", - "src": "37589:18:11" + "src": "37589:18:24" }, - "nativeSrc": "37553:595:11", + "nativeSrc": "37553:595:24", "nodeType": "YulForLoop", "post": { - "nativeSrc": "37608:2:11", + "nativeSrc": "37608:2:24", "nodeType": "YulBlock", - "src": "37608:2:11", + "src": "37608:2:24", "statements": [] }, "pre": { - "nativeSrc": "37557:31:11", + "nativeSrc": "37557:31:24", "nodeType": "YulBlock", - "src": "37557:31:11", + "src": "37557:31:24", "statements": [ { - "nativeSrc": "37559:27:11", + "nativeSrc": "37559:27:24", "nodeType": "YulVariableDeclaration", - "src": "37559:27:11", + "src": "37559:27:24", "value": { "arguments": [ { "name": "s", - "nativeSrc": "37574:1:11", + "nativeSrc": "37574:1:24", "nodeType": "YulIdentifier", - "src": "37574:1:11" + "src": "37574:1:24" }, { "arguments": [ { "name": "s", - "nativeSrc": "37583:1:11", + "nativeSrc": "37583:1:24", "nodeType": "YulIdentifier", - "src": "37583:1:11" + "src": "37583:1:24" } ], "functionName": { "name": "mload", - "nativeSrc": "37577:5:11", + "nativeSrc": "37577:5:24", "nodeType": "YulIdentifier", - "src": "37577:5:11" + "src": "37577:5:24" }, - "nativeSrc": "37577:8:11", + "nativeSrc": "37577:8:24", "nodeType": "YulFunctionCall", - "src": "37577:8:11" + "src": "37577:8:24" } ], "functionName": { "name": "add", - "nativeSrc": "37570:3:11", + "nativeSrc": "37570:3:24", "nodeType": "YulIdentifier", - "src": "37570:3:11" + "src": "37570:3:24" }, - "nativeSrc": "37570:16:11", + "nativeSrc": "37570:16:24", "nodeType": "YulFunctionCall", - "src": "37570:16:11" + "src": "37570:16:24" }, "variables": [ { "name": "end", - "nativeSrc": "37563:3:11", + "nativeSrc": "37563:3:24", "nodeType": "YulTypedName", - "src": "37563:3:11", + "src": "37563:3:24", "type": "" } ] } ] }, - "src": "37553:595:11" + "src": "37553:595:24" }, { "expression": { "arguments": [ { "name": "result", - "nativeSrc": "38168:6:11", + "nativeSrc": "38168:6:24", "nodeType": "YulIdentifier", - "src": "38168:6:11" + "src": "38168:6:24" }, { "arguments": [ { "name": "o", - "nativeSrc": "38180:1:11", + "nativeSrc": "38180:1:24", "nodeType": "YulIdentifier", - "src": "38180:1:11" + "src": "38180:1:24" }, { "arguments": [ { "name": "result", - "nativeSrc": "38187:6:11", + "nativeSrc": "38187:6:24", "nodeType": "YulIdentifier", - "src": "38187:6:11" + "src": "38187:6:24" }, { "kind": "number", - "nativeSrc": "38195:4:11", + "nativeSrc": "38195:4:24", "nodeType": "YulLiteral", - "src": "38195:4:11", + "src": "38195:4:24", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "38183:3:11", + "nativeSrc": "38183:3:24", "nodeType": "YulIdentifier", - "src": "38183:3:11" + "src": "38183:3:24" }, - "nativeSrc": "38183:17:11", + "nativeSrc": "38183:17:24", "nodeType": "YulFunctionCall", - "src": "38183:17:11" + "src": "38183:17:24" } ], "functionName": { "name": "sub", - "nativeSrc": "38176:3:11", + "nativeSrc": "38176:3:24", "nodeType": "YulIdentifier", - "src": "38176:3:11" + "src": "38176:3:24" }, - "nativeSrc": "38176:25:11", + "nativeSrc": "38176:25:24", "nodeType": "YulFunctionCall", - "src": "38176:25:11" + "src": "38176:25:24" } ], "functionName": { "name": "mstore", - "nativeSrc": "38161:6:11", + "nativeSrc": "38161:6:24", "nodeType": "YulIdentifier", - "src": "38161:6:11" + "src": "38161:6:24" }, - "nativeSrc": "38161:41:11", + "nativeSrc": "38161:41:24", "nodeType": "YulFunctionCall", - "src": "38161:41:11" + "src": "38161:41:24" }, - "nativeSrc": "38161:41:11", + "nativeSrc": "38161:41:24", "nodeType": "YulExpressionStatement", - "src": "38161:41:11" + "src": "38161:41:24" }, { "expression": { "arguments": [ { "name": "o", - "nativeSrc": "38243:1:11", + "nativeSrc": "38243:1:24", "nodeType": "YulIdentifier", - "src": "38243:1:11" + "src": "38243:1:24" }, { "kind": "number", - "nativeSrc": "38246:1:11", + "nativeSrc": "38246:1:24", "nodeType": "YulLiteral", - "src": "38246:1:11", + "src": "38246:1:24", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "38236:6:11", + "nativeSrc": "38236:6:24", "nodeType": "YulIdentifier", - "src": "38236:6:11" + "src": "38236:6:24" }, - "nativeSrc": "38236:12:11", + "nativeSrc": "38236:12:24", "nodeType": "YulFunctionCall", - "src": "38236:12:11" + "src": "38236:12:24" }, - "nativeSrc": "38236:12:11", + "nativeSrc": "38236:12:24", "nodeType": "YulExpressionStatement", - "src": "38236:12:11" + "src": "38236:12:24" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "38306:4:11", + "nativeSrc": "38306:4:24", "nodeType": "YulLiteral", - "src": "38306:4:11", + "src": "38306:4:24", "type": "", "value": "0x40" }, @@ -185533,43 +204508,43 @@ "arguments": [ { "name": "o", - "nativeSrc": "38316:1:11", + "nativeSrc": "38316:1:24", "nodeType": "YulIdentifier", - "src": "38316:1:11" + "src": "38316:1:24" }, { "kind": "number", - "nativeSrc": "38319:4:11", + "nativeSrc": "38319:4:24", "nodeType": "YulLiteral", - "src": "38319:4:11", + "src": "38319:4:24", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "38312:3:11", + "nativeSrc": "38312:3:24", "nodeType": "YulIdentifier", - "src": "38312:3:11" + "src": "38312:3:24" }, - "nativeSrc": "38312:12:11", + "nativeSrc": "38312:12:24", "nodeType": "YulFunctionCall", - "src": "38312:12:11" + "src": "38312:12:24" } ], "functionName": { "name": "mstore", - "nativeSrc": "38299:6:11", + "nativeSrc": "38299:6:24", "nodeType": "YulIdentifier", - "src": "38299:6:11" + "src": "38299:6:24" }, - "nativeSrc": "38299:26:11", + "nativeSrc": "38299:26:24", "nodeType": "YulFunctionCall", - "src": "38299:26:11" + "src": "38299:26:24" }, - "nativeSrc": "38299:26:11", + "nativeSrc": "38299:26:24", "nodeType": "YulExpressionStatement", - "src": "38299:26:11" + "src": "38299:26:24" } ] }, @@ -185577,108 +204552,108 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 6030, + "declaration": 7636, "isOffset": false, "isSlot": false, - "src": "37284:6:11", + "src": "37284:6:24", "valueSize": 1 }, { - "declaration": 6030, + "declaration": 7636, "isOffset": false, "isSlot": false, - "src": "37527:6:11", + "src": "37527:6:24", "valueSize": 1 }, { - "declaration": 6030, + "declaration": 7636, "isOffset": false, "isSlot": false, - "src": "38168:6:11", + "src": "38168:6:24", "valueSize": 1 }, { - "declaration": 6030, + "declaration": 7636, "isOffset": false, "isSlot": false, - "src": "38187:6:11", + "src": "38187:6:24", "valueSize": 1 }, { - "declaration": 6027, + "declaration": 7633, "isOffset": false, "isSlot": false, - "src": "37574:1:11", + "src": "37574:1:24", "valueSize": 1 }, { - "declaration": 6027, + "declaration": 7633, "isOffset": false, "isSlot": false, - "src": "37583:1:11", + "src": "37583:1:24", "valueSize": 1 }, { - "declaration": 6027, + "declaration": 7633, "isOffset": false, "isSlot": false, - "src": "37599:1:11", + "src": "37599:1:24", "valueSize": 1 }, { - "declaration": 6027, + "declaration": 7633, "isOffset": false, "isSlot": false, - "src": "37629:1:11", + "src": "37629:1:24", "valueSize": 1 }, { - "declaration": 6027, + "declaration": 7633, "isOffset": false, "isSlot": false, - "src": "37638:1:11", + "src": "37638:1:24", "valueSize": 1 }, { - "declaration": 6027, + "declaration": 7633, "isOffset": false, "isSlot": false, - "src": "37679:1:11", + "src": "37679:1:24", "valueSize": 1 } ], - "id": 6032, + "id": 7638, "nodeType": "InlineAssembly", - "src": "37261:1094:11" + "src": "37261:1094:24" } ] }, "documentation": { - "id": 6025, + "id": 7631, "nodeType": "StructuredDocumentation", - "src": "36768:345:11", + "src": "36768:345:24", "text": "@dev Encodes `s` so that it can be safely used in a URI,\n just like `encodeURIComponent` in JavaScript.\n See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent\n See: https://datatracker.ietf.org/doc/html/rfc2396\n See: https://datatracker.ietf.org/doc/html/rfc3986" }, - "id": 6034, + "id": 7640, "implemented": true, "kind": "function", "modifiers": [], "name": "encodeURIComponent", - "nameLocation": "37127:18:11", + "nameLocation": "37127:18:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 6028, + "id": 7634, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6027, + "id": 7633, "mutability": "mutable", "name": "s", - "nameLocation": "37160:1:11", + "nameLocation": "37160:1:24", "nodeType": "VariableDeclaration", - "scope": 6034, - "src": "37146:15:11", + "scope": 7640, + "src": "37146:15:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -185686,10 +204661,10 @@ "typeString": "string" }, "typeName": { - "id": 6026, + "id": 7632, "name": "string", "nodeType": "ElementaryTypeName", - "src": "37146:6:11", + "src": "37146:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -185698,21 +204673,21 @@ "visibility": "internal" } ], - "src": "37145:17:11" + "src": "37145:17:24" }, "returnParameters": { - "id": 6031, + "id": 7637, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6030, + "id": 7636, "mutability": "mutable", "name": "result", - "nameLocation": "37200:6:11", + "nameLocation": "37200:6:24", "nodeType": "VariableDeclaration", - "scope": 6034, - "src": "37186:20:11", + "scope": 7640, + "src": "37186:20:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -185720,10 +204695,10 @@ "typeString": "string" }, "typeName": { - "id": 6029, + "id": 7635, "name": "string", "nodeType": "ElementaryTypeName", - "src": "37186:6:11", + "src": "37186:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -185732,30 +204707,30 @@ "visibility": "internal" } ], - "src": "37185:22:11" + "src": "37185:22:24" }, - "scope": 6134, - "src": "37118:1243:11", + "scope": 7740, + "src": "37118:1243:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 6045, + "id": 7651, "nodeType": "Block", - "src": "38494:174:11", + "src": "38494:174:24", "statements": [ { "AST": { - "nativeSrc": "38556:106:11", + "nativeSrc": "38556:106:24", "nodeType": "YulBlock", - "src": "38556:106:11", + "src": "38556:106:24", "statements": [ { - "nativeSrc": "38570:82:11", + "nativeSrc": "38570:82:24", "nodeType": "YulAssignment", - "src": "38570:82:11", + "src": "38570:82:24", "value": { "arguments": [ { @@ -185764,58 +204739,58 @@ "arguments": [ { "name": "a", - "nativeSrc": "38597:1:11", + "nativeSrc": "38597:1:24", "nodeType": "YulIdentifier", - "src": "38597:1:11" + "src": "38597:1:24" }, { "kind": "number", - "nativeSrc": "38600:4:11", + "nativeSrc": "38600:4:24", "nodeType": "YulLiteral", - "src": "38600:4:11", + "src": "38600:4:24", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "38593:3:11", + "nativeSrc": "38593:3:24", "nodeType": "YulIdentifier", - "src": "38593:3:11" + "src": "38593:3:24" }, - "nativeSrc": "38593:12:11", + "nativeSrc": "38593:12:24", "nodeType": "YulFunctionCall", - "src": "38593:12:11" + "src": "38593:12:24" }, { "arguments": [ { "name": "a", - "nativeSrc": "38613:1:11", + "nativeSrc": "38613:1:24", "nodeType": "YulIdentifier", - "src": "38613:1:11" + "src": "38613:1:24" } ], "functionName": { "name": "mload", - "nativeSrc": "38607:5:11", + "nativeSrc": "38607:5:24", "nodeType": "YulIdentifier", - "src": "38607:5:11" + "src": "38607:5:24" }, - "nativeSrc": "38607:8:11", + "nativeSrc": "38607:8:24", "nodeType": "YulFunctionCall", - "src": "38607:8:11" + "src": "38607:8:24" } ], "functionName": { "name": "keccak256", - "nativeSrc": "38583:9:11", + "nativeSrc": "38583:9:24", "nodeType": "YulIdentifier", - "src": "38583:9:11" + "src": "38583:9:24" }, - "nativeSrc": "38583:33:11", + "nativeSrc": "38583:33:24", "nodeType": "YulFunctionCall", - "src": "38583:33:11" + "src": "38583:33:24" }, { "arguments": [ @@ -185823,76 +204798,76 @@ "arguments": [ { "name": "b", - "nativeSrc": "38632:1:11", + "nativeSrc": "38632:1:24", "nodeType": "YulIdentifier", - "src": "38632:1:11" + "src": "38632:1:24" }, { "kind": "number", - "nativeSrc": "38635:4:11", + "nativeSrc": "38635:4:24", "nodeType": "YulLiteral", - "src": "38635:4:11", + "src": "38635:4:24", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "38628:3:11", + "nativeSrc": "38628:3:24", "nodeType": "YulIdentifier", - "src": "38628:3:11" + "src": "38628:3:24" }, - "nativeSrc": "38628:12:11", + "nativeSrc": "38628:12:24", "nodeType": "YulFunctionCall", - "src": "38628:12:11" + "src": "38628:12:24" }, { "arguments": [ { "name": "b", - "nativeSrc": "38648:1:11", + "nativeSrc": "38648:1:24", "nodeType": "YulIdentifier", - "src": "38648:1:11" + "src": "38648:1:24" } ], "functionName": { "name": "mload", - "nativeSrc": "38642:5:11", + "nativeSrc": "38642:5:24", "nodeType": "YulIdentifier", - "src": "38642:5:11" + "src": "38642:5:24" }, - "nativeSrc": "38642:8:11", + "nativeSrc": "38642:8:24", "nodeType": "YulFunctionCall", - "src": "38642:8:11" + "src": "38642:8:24" } ], "functionName": { "name": "keccak256", - "nativeSrc": "38618:9:11", + "nativeSrc": "38618:9:24", "nodeType": "YulIdentifier", - "src": "38618:9:11" + "src": "38618:9:24" }, - "nativeSrc": "38618:33:11", + "nativeSrc": "38618:33:24", "nodeType": "YulFunctionCall", - "src": "38618:33:11" + "src": "38618:33:24" } ], "functionName": { "name": "eq", - "nativeSrc": "38580:2:11", + "nativeSrc": "38580:2:24", "nodeType": "YulIdentifier", - "src": "38580:2:11" + "src": "38580:2:24" }, - "nativeSrc": "38580:72:11", + "nativeSrc": "38580:72:24", "nodeType": "YulFunctionCall", - "src": "38580:72:11" + "src": "38580:72:24" }, "variableNames": [ { "name": "result", - "nativeSrc": "38570:6:11", + "nativeSrc": "38570:6:24", "nodeType": "YulIdentifier", - "src": "38570:6:11" + "src": "38570:6:24" } ] } @@ -185902,73 +204877,73 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 6037, + "declaration": 7643, "isOffset": false, "isSlot": false, - "src": "38597:1:11", + "src": "38597:1:24", "valueSize": 1 }, { - "declaration": 6037, + "declaration": 7643, "isOffset": false, "isSlot": false, - "src": "38613:1:11", + "src": "38613:1:24", "valueSize": 1 }, { - "declaration": 6039, + "declaration": 7645, "isOffset": false, "isSlot": false, - "src": "38632:1:11", + "src": "38632:1:24", "valueSize": 1 }, { - "declaration": 6039, + "declaration": 7645, "isOffset": false, "isSlot": false, - "src": "38648:1:11", + "src": "38648:1:24", "valueSize": 1 }, { - "declaration": 6042, + "declaration": 7648, "isOffset": false, "isSlot": false, - "src": "38570:6:11", + "src": "38570:6:24", "valueSize": 1 } ], - "id": 6044, + "id": 7650, "nodeType": "InlineAssembly", - "src": "38547:115:11" + "src": "38547:115:24" } ] }, "documentation": { - "id": 6035, + "id": 7641, "nodeType": "StructuredDocumentation", - "src": "38367:40:11", + "src": "38367:40:24", "text": "@dev Returns whether `a` equals `b`." }, - "id": 6046, + "id": 7652, "implemented": true, "kind": "function", "modifiers": [], "name": "eq", - "nameLocation": "38421:2:11", + "nameLocation": "38421:2:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 6040, + "id": 7646, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6037, + "id": 7643, "mutability": "mutable", "name": "a", - "nameLocation": "38438:1:11", + "nameLocation": "38438:1:24", "nodeType": "VariableDeclaration", - "scope": 6046, - "src": "38424:15:11", + "scope": 7652, + "src": "38424:15:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -185976,10 +204951,10 @@ "typeString": "string" }, "typeName": { - "id": 6036, + "id": 7642, "name": "string", "nodeType": "ElementaryTypeName", - "src": "38424:6:11", + "src": "38424:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -185989,13 +204964,13 @@ }, { "constant": false, - "id": 6039, + "id": 7645, "mutability": "mutable", "name": "b", - "nameLocation": "38455:1:11", + "nameLocation": "38455:1:24", "nodeType": "VariableDeclaration", - "scope": 6046, - "src": "38441:15:11", + "scope": 7652, + "src": "38441:15:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -186003,10 +204978,10 @@ "typeString": "string" }, "typeName": { - "id": 6038, + "id": 7644, "name": "string", "nodeType": "ElementaryTypeName", - "src": "38441:6:11", + "src": "38441:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -186015,21 +204990,21 @@ "visibility": "internal" } ], - "src": "38423:34:11" + "src": "38423:34:24" }, "returnParameters": { - "id": 6043, + "id": 7649, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6042, + "id": 7648, "mutability": "mutable", "name": "result", - "nameLocation": "38486:6:11", + "nameLocation": "38486:6:24", "nodeType": "VariableDeclaration", - "scope": 6046, - "src": "38481:11:11", + "scope": 7652, + "src": "38481:11:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -186037,10 +205012,10 @@ "typeString": "bool" }, "typeName": { - "id": 6041, + "id": 7647, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "38481:4:11", + "src": "38481:4:24", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -186049,39 +205024,39 @@ "visibility": "internal" } ], - "src": "38480:13:11" + "src": "38480:13:24" }, - "scope": 6134, - "src": "38412:256:11", + "scope": 7740, + "src": "38412:256:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 6057, + "id": 7663, "nodeType": "Block", - "src": "38841:774:11", + "src": "38841:774:24", "statements": [ { "AST": { - "nativeSrc": "38903:706:11", + "nativeSrc": "38903:706:24", "nodeType": "YulBlock", - "src": "38903:706:11", + "src": "38903:706:24", "statements": [ { - "nativeSrc": "38995:46:11", + "nativeSrc": "38995:46:24", "nodeType": "YulVariableDeclaration", - "src": "38995:46:11", + "src": "38995:46:24", "value": { "arguments": [ { "arguments": [ { "kind": "number", - "nativeSrc": "39012:1:11", + "nativeSrc": "39012:1:24", "nodeType": "YulLiteral", - "src": "39012:1:11", + "src": "39012:1:24", "type": "", "value": "7" }, @@ -186093,203 +205068,203 @@ "arguments": [ { "name": "b", - "nativeSrc": "39030:1:11", + "nativeSrc": "39030:1:24", "nodeType": "YulIdentifier", - "src": "39030:1:11" + "src": "39030:1:24" } ], "functionName": { "name": "iszero", - "nativeSrc": "39023:6:11", + "nativeSrc": "39023:6:24", "nodeType": "YulIdentifier", - "src": "39023:6:11" + "src": "39023:6:24" }, - "nativeSrc": "39023:9:11", + "nativeSrc": "39023:9:24", "nodeType": "YulFunctionCall", - "src": "39023:9:11" + "src": "39023:9:24" } ], "functionName": { "name": "not", - "nativeSrc": "39019:3:11", + "nativeSrc": "39019:3:24", "nodeType": "YulIdentifier", - "src": "39019:3:11" + "src": "39019:3:24" }, - "nativeSrc": "39019:14:11", + "nativeSrc": "39019:14:24", "nodeType": "YulFunctionCall", - "src": "39019:14:11" + "src": "39019:14:24" }, { "kind": "number", - "nativeSrc": "39035:3:11", + "nativeSrc": "39035:3:24", "nodeType": "YulLiteral", - "src": "39035:3:11", + "src": "39035:3:24", "type": "", "value": "255" } ], "functionName": { "name": "div", - "nativeSrc": "39015:3:11", + "nativeSrc": "39015:3:24", "nodeType": "YulIdentifier", - "src": "39015:3:11" + "src": "39015:3:24" }, - "nativeSrc": "39015:24:11", + "nativeSrc": "39015:24:24", "nodeType": "YulFunctionCall", - "src": "39015:24:11" + "src": "39015:24:24" } ], "functionName": { "name": "shl", - "nativeSrc": "39008:3:11", + "nativeSrc": "39008:3:24", "nodeType": "YulIdentifier", - "src": "39008:3:11" + "src": "39008:3:24" }, - "nativeSrc": "39008:32:11", + "nativeSrc": "39008:32:24", "nodeType": "YulFunctionCall", - "src": "39008:32:11" + "src": "39008:32:24" } ], "functionName": { "name": "not", - "nativeSrc": "39004:3:11", + "nativeSrc": "39004:3:24", "nodeType": "YulIdentifier", - "src": "39004:3:11" + "src": "39004:3:24" }, - "nativeSrc": "39004:37:11", + "nativeSrc": "39004:37:24", "nodeType": "YulFunctionCall", - "src": "39004:37:11" + "src": "39004:37:24" }, "variables": [ { "name": "m", - "nativeSrc": "38999:1:11", + "nativeSrc": "38999:1:24", "nodeType": "YulTypedName", - "src": "38999:1:11", + "src": "38999:1:24", "type": "" } ] }, { - "nativeSrc": "39071:45:11", + "nativeSrc": "39071:45:24", "nodeType": "YulVariableDeclaration", - "src": "39071:45:11", + "src": "39071:45:24", "value": { "arguments": [ { "arguments": [ { "name": "m", - "nativeSrc": "39087:1:11", + "nativeSrc": "39087:1:24", "nodeType": "YulIdentifier", - "src": "39087:1:11" + "src": "39087:1:24" }, { "arguments": [ { "name": "b", - "nativeSrc": "39093:1:11", + "nativeSrc": "39093:1:24", "nodeType": "YulIdentifier", - "src": "39093:1:11" + "src": "39093:1:24" }, { "arguments": [ { "name": "m", - "nativeSrc": "39100:1:11", + "nativeSrc": "39100:1:24", "nodeType": "YulIdentifier", - "src": "39100:1:11" + "src": "39100:1:24" }, { "arguments": [ { "name": "b", - "nativeSrc": "39107:1:11", + "nativeSrc": "39107:1:24", "nodeType": "YulIdentifier", - "src": "39107:1:11" + "src": "39107:1:24" }, { "name": "m", - "nativeSrc": "39110:1:11", + "nativeSrc": "39110:1:24", "nodeType": "YulIdentifier", - "src": "39110:1:11" + "src": "39110:1:24" } ], "functionName": { "name": "and", - "nativeSrc": "39103:3:11", + "nativeSrc": "39103:3:24", "nodeType": "YulIdentifier", - "src": "39103:3:11" + "src": "39103:3:24" }, - "nativeSrc": "39103:9:11", + "nativeSrc": "39103:9:24", "nodeType": "YulFunctionCall", - "src": "39103:9:11" + "src": "39103:9:24" } ], "functionName": { "name": "add", - "nativeSrc": "39096:3:11", + "nativeSrc": "39096:3:24", "nodeType": "YulIdentifier", - "src": "39096:3:11" + "src": "39096:3:24" }, - "nativeSrc": "39096:17:11", + "nativeSrc": "39096:17:24", "nodeType": "YulFunctionCall", - "src": "39096:17:11" + "src": "39096:17:24" } ], "functionName": { "name": "or", - "nativeSrc": "39090:2:11", + "nativeSrc": "39090:2:24", "nodeType": "YulIdentifier", - "src": "39090:2:11" + "src": "39090:2:24" }, - "nativeSrc": "39090:24:11", + "nativeSrc": "39090:24:24", "nodeType": "YulFunctionCall", - "src": "39090:24:11" + "src": "39090:24:24" } ], "functionName": { "name": "or", - "nativeSrc": "39084:2:11", + "nativeSrc": "39084:2:24", "nodeType": "YulIdentifier", - "src": "39084:2:11" + "src": "39084:2:24" }, - "nativeSrc": "39084:31:11", + "nativeSrc": "39084:31:24", "nodeType": "YulFunctionCall", - "src": "39084:31:11" + "src": "39084:31:24" } ], "functionName": { "name": "not", - "nativeSrc": "39080:3:11", + "nativeSrc": "39080:3:24", "nodeType": "YulIdentifier", - "src": "39080:3:11" + "src": "39080:3:24" }, - "nativeSrc": "39080:36:11", + "nativeSrc": "39080:36:24", "nodeType": "YulFunctionCall", - "src": "39080:36:11" + "src": "39080:36:24" }, "variables": [ { "name": "x", - "nativeSrc": "39075:1:11", + "nativeSrc": "39075:1:24", "nodeType": "YulTypedName", - "src": "39075:1:11", + "src": "39075:1:24", "type": "" } ] }, { - "nativeSrc": "39129:44:11", + "nativeSrc": "39129:44:24", "nodeType": "YulVariableDeclaration", - "src": "39129:44:11", + "src": "39129:44:24", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "39142:1:11", + "nativeSrc": "39142:1:24", "nodeType": "YulLiteral", - "src": "39142:1:11", + "src": "39142:1:24", "type": "", "value": "7" }, @@ -186301,91 +205276,91 @@ "arguments": [ { "kind": "number", - "nativeSrc": "39163:3:11", + "nativeSrc": "39163:3:24", "nodeType": "YulLiteral", - "src": "39163:3:11", + "src": "39163:3:24", "type": "", "value": "128" }, { "name": "x", - "nativeSrc": "39168:1:11", + "nativeSrc": "39168:1:24", "nodeType": "YulIdentifier", - "src": "39168:1:11" + "src": "39168:1:24" } ], "functionName": { "name": "shr", - "nativeSrc": "39159:3:11", + "nativeSrc": "39159:3:24", "nodeType": "YulIdentifier", - "src": "39159:3:11" + "src": "39159:3:24" }, - "nativeSrc": "39159:11:11", + "nativeSrc": "39159:11:24", "nodeType": "YulFunctionCall", - "src": "39159:11:11" + "src": "39159:11:24" } ], "functionName": { "name": "iszero", - "nativeSrc": "39152:6:11", + "nativeSrc": "39152:6:24", "nodeType": "YulIdentifier", - "src": "39152:6:11" + "src": "39152:6:24" }, - "nativeSrc": "39152:19:11", + "nativeSrc": "39152:19:24", "nodeType": "YulFunctionCall", - "src": "39152:19:11" + "src": "39152:19:24" } ], "functionName": { "name": "iszero", - "nativeSrc": "39145:6:11", + "nativeSrc": "39145:6:24", "nodeType": "YulIdentifier", - "src": "39145:6:11" + "src": "39145:6:24" }, - "nativeSrc": "39145:27:11", + "nativeSrc": "39145:27:24", "nodeType": "YulFunctionCall", - "src": "39145:27:11" + "src": "39145:27:24" } ], "functionName": { "name": "shl", - "nativeSrc": "39138:3:11", + "nativeSrc": "39138:3:24", "nodeType": "YulIdentifier", - "src": "39138:3:11" + "src": "39138:3:24" }, - "nativeSrc": "39138:35:11", + "nativeSrc": "39138:35:24", "nodeType": "YulFunctionCall", - "src": "39138:35:11" + "src": "39138:35:24" }, "variables": [ { "name": "r", - "nativeSrc": "39133:1:11", + "nativeSrc": "39133:1:24", "nodeType": "YulTypedName", - "src": "39133:1:11", + "src": "39133:1:24", "type": "" } ] }, { - "nativeSrc": "39186:54:11", + "nativeSrc": "39186:54:24", "nodeType": "YulAssignment", - "src": "39186:54:11", + "src": "39186:54:24", "value": { "arguments": [ { "name": "r", - "nativeSrc": "39194:1:11", + "nativeSrc": "39194:1:24", "nodeType": "YulIdentifier", - "src": "39194:1:11" + "src": "39194:1:24" }, { "arguments": [ { "kind": "number", - "nativeSrc": "39201:1:11", + "nativeSrc": "39201:1:24", "nodeType": "YulLiteral", - "src": "39201:1:11", + "src": "39201:1:24", "type": "", "value": "6" }, @@ -186397,9 +205372,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "39222:2:11", + "nativeSrc": "39222:2:24", "nodeType": "YulLiteral", - "src": "39222:2:11", + "src": "39222:2:24", "type": "", "value": "64" }, @@ -186407,110 +205382,110 @@ "arguments": [ { "name": "r", - "nativeSrc": "39230:1:11", + "nativeSrc": "39230:1:24", "nodeType": "YulIdentifier", - "src": "39230:1:11" + "src": "39230:1:24" }, { "name": "x", - "nativeSrc": "39233:1:11", + "nativeSrc": "39233:1:24", "nodeType": "YulIdentifier", - "src": "39233:1:11" + "src": "39233:1:24" } ], "functionName": { "name": "shr", - "nativeSrc": "39226:3:11", + "nativeSrc": "39226:3:24", "nodeType": "YulIdentifier", - "src": "39226:3:11" + "src": "39226:3:24" }, - "nativeSrc": "39226:9:11", + "nativeSrc": "39226:9:24", "nodeType": "YulFunctionCall", - "src": "39226:9:11" + "src": "39226:9:24" } ], "functionName": { "name": "shr", - "nativeSrc": "39218:3:11", + "nativeSrc": "39218:3:24", "nodeType": "YulIdentifier", - "src": "39218:3:11" + "src": "39218:3:24" }, - "nativeSrc": "39218:18:11", + "nativeSrc": "39218:18:24", "nodeType": "YulFunctionCall", - "src": "39218:18:11" + "src": "39218:18:24" } ], "functionName": { "name": "iszero", - "nativeSrc": "39211:6:11", + "nativeSrc": "39211:6:24", "nodeType": "YulIdentifier", - "src": "39211:6:11" + "src": "39211:6:24" }, - "nativeSrc": "39211:26:11", + "nativeSrc": "39211:26:24", "nodeType": "YulFunctionCall", - "src": "39211:26:11" + "src": "39211:26:24" } ], "functionName": { "name": "iszero", - "nativeSrc": "39204:6:11", + "nativeSrc": "39204:6:24", "nodeType": "YulIdentifier", - "src": "39204:6:11" + "src": "39204:6:24" }, - "nativeSrc": "39204:34:11", + "nativeSrc": "39204:34:24", "nodeType": "YulFunctionCall", - "src": "39204:34:11" + "src": "39204:34:24" } ], "functionName": { "name": "shl", - "nativeSrc": "39197:3:11", + "nativeSrc": "39197:3:24", "nodeType": "YulIdentifier", - "src": "39197:3:11" + "src": "39197:3:24" }, - "nativeSrc": "39197:42:11", + "nativeSrc": "39197:42:24", "nodeType": "YulFunctionCall", - "src": "39197:42:11" + "src": "39197:42:24" } ], "functionName": { "name": "or", - "nativeSrc": "39191:2:11", + "nativeSrc": "39191:2:24", "nodeType": "YulIdentifier", - "src": "39191:2:11" + "src": "39191:2:24" }, - "nativeSrc": "39191:49:11", + "nativeSrc": "39191:49:24", "nodeType": "YulFunctionCall", - "src": "39191:49:11" + "src": "39191:49:24" }, "variableNames": [ { "name": "r", - "nativeSrc": "39186:1:11", + "nativeSrc": "39186:1:24", "nodeType": "YulIdentifier", - "src": "39186:1:11" + "src": "39186:1:24" } ] }, { - "nativeSrc": "39253:45:11", + "nativeSrc": "39253:45:24", "nodeType": "YulAssignment", - "src": "39253:45:11", + "src": "39253:45:24", "value": { "arguments": [ { "name": "r", - "nativeSrc": "39261:1:11", + "nativeSrc": "39261:1:24", "nodeType": "YulIdentifier", - "src": "39261:1:11" + "src": "39261:1:24" }, { "arguments": [ { "kind": "number", - "nativeSrc": "39268:1:11", + "nativeSrc": "39268:1:24", "nodeType": "YulLiteral", - "src": "39268:1:11", + "src": "39268:1:24", "type": "", "value": "5" }, @@ -186518,9 +205493,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "39274:10:11", + "nativeSrc": "39274:10:24", "nodeType": "YulLiteral", - "src": "39274:10:11", + "src": "39274:10:24", "type": "", "value": "0xffffffff" }, @@ -186528,88 +205503,88 @@ "arguments": [ { "name": "r", - "nativeSrc": "39290:1:11", + "nativeSrc": "39290:1:24", "nodeType": "YulIdentifier", - "src": "39290:1:11" + "src": "39290:1:24" }, { "name": "x", - "nativeSrc": "39293:1:11", + "nativeSrc": "39293:1:24", "nodeType": "YulIdentifier", - "src": "39293:1:11" + "src": "39293:1:24" } ], "functionName": { "name": "shr", - "nativeSrc": "39286:3:11", + "nativeSrc": "39286:3:24", "nodeType": "YulIdentifier", - "src": "39286:3:11" + "src": "39286:3:24" }, - "nativeSrc": "39286:9:11", + "nativeSrc": "39286:9:24", "nodeType": "YulFunctionCall", - "src": "39286:9:11" + "src": "39286:9:24" } ], "functionName": { "name": "lt", - "nativeSrc": "39271:2:11", + "nativeSrc": "39271:2:24", "nodeType": "YulIdentifier", - "src": "39271:2:11" + "src": "39271:2:24" }, - "nativeSrc": "39271:25:11", + "nativeSrc": "39271:25:24", "nodeType": "YulFunctionCall", - "src": "39271:25:11" + "src": "39271:25:24" } ], "functionName": { "name": "shl", - "nativeSrc": "39264:3:11", + "nativeSrc": "39264:3:24", "nodeType": "YulIdentifier", - "src": "39264:3:11" + "src": "39264:3:24" }, - "nativeSrc": "39264:33:11", + "nativeSrc": "39264:33:24", "nodeType": "YulFunctionCall", - "src": "39264:33:11" + "src": "39264:33:24" } ], "functionName": { "name": "or", - "nativeSrc": "39258:2:11", + "nativeSrc": "39258:2:24", "nodeType": "YulIdentifier", - "src": "39258:2:11" + "src": "39258:2:24" }, - "nativeSrc": "39258:40:11", + "nativeSrc": "39258:40:24", "nodeType": "YulFunctionCall", - "src": "39258:40:11" + "src": "39258:40:24" }, "variableNames": [ { "name": "r", - "nativeSrc": "39253:1:11", + "nativeSrc": "39253:1:24", "nodeType": "YulIdentifier", - "src": "39253:1:11" + "src": "39253:1:24" } ] }, { - "nativeSrc": "39311:41:11", + "nativeSrc": "39311:41:24", "nodeType": "YulAssignment", - "src": "39311:41:11", + "src": "39311:41:24", "value": { "arguments": [ { "name": "r", - "nativeSrc": "39319:1:11", + "nativeSrc": "39319:1:24", "nodeType": "YulIdentifier", - "src": "39319:1:11" + "src": "39319:1:24" }, { "arguments": [ { "kind": "number", - "nativeSrc": "39326:1:11", + "nativeSrc": "39326:1:24", "nodeType": "YulLiteral", - "src": "39326:1:11", + "src": "39326:1:24", "type": "", "value": "4" }, @@ -186617,9 +205592,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "39332:6:11", + "nativeSrc": "39332:6:24", "nodeType": "YulLiteral", - "src": "39332:6:11", + "src": "39332:6:24", "type": "", "value": "0xffff" }, @@ -186627,88 +205602,88 @@ "arguments": [ { "name": "r", - "nativeSrc": "39344:1:11", + "nativeSrc": "39344:1:24", "nodeType": "YulIdentifier", - "src": "39344:1:11" + "src": "39344:1:24" }, { "name": "x", - "nativeSrc": "39347:1:11", + "nativeSrc": "39347:1:24", "nodeType": "YulIdentifier", - "src": "39347:1:11" + "src": "39347:1:24" } ], "functionName": { "name": "shr", - "nativeSrc": "39340:3:11", + "nativeSrc": "39340:3:24", "nodeType": "YulIdentifier", - "src": "39340:3:11" + "src": "39340:3:24" }, - "nativeSrc": "39340:9:11", + "nativeSrc": "39340:9:24", "nodeType": "YulFunctionCall", - "src": "39340:9:11" + "src": "39340:9:24" } ], "functionName": { "name": "lt", - "nativeSrc": "39329:2:11", + "nativeSrc": "39329:2:24", "nodeType": "YulIdentifier", - "src": "39329:2:11" + "src": "39329:2:24" }, - "nativeSrc": "39329:21:11", + "nativeSrc": "39329:21:24", "nodeType": "YulFunctionCall", - "src": "39329:21:11" + "src": "39329:21:24" } ], "functionName": { "name": "shl", - "nativeSrc": "39322:3:11", + "nativeSrc": "39322:3:24", "nodeType": "YulIdentifier", - "src": "39322:3:11" + "src": "39322:3:24" }, - "nativeSrc": "39322:29:11", + "nativeSrc": "39322:29:24", "nodeType": "YulFunctionCall", - "src": "39322:29:11" + "src": "39322:29:24" } ], "functionName": { "name": "or", - "nativeSrc": "39316:2:11", + "nativeSrc": "39316:2:24", "nodeType": "YulIdentifier", - "src": "39316:2:11" + "src": "39316:2:24" }, - "nativeSrc": "39316:36:11", + "nativeSrc": "39316:36:24", "nodeType": "YulFunctionCall", - "src": "39316:36:11" + "src": "39316:36:24" }, "variableNames": [ { "name": "r", - "nativeSrc": "39311:1:11", + "nativeSrc": "39311:1:24", "nodeType": "YulIdentifier", - "src": "39311:1:11" + "src": "39311:1:24" } ] }, { - "nativeSrc": "39365:39:11", + "nativeSrc": "39365:39:24", "nodeType": "YulAssignment", - "src": "39365:39:11", + "src": "39365:39:24", "value": { "arguments": [ { "name": "r", - "nativeSrc": "39373:1:11", + "nativeSrc": "39373:1:24", "nodeType": "YulIdentifier", - "src": "39373:1:11" + "src": "39373:1:24" }, { "arguments": [ { "kind": "number", - "nativeSrc": "39380:1:11", + "nativeSrc": "39380:1:24", "nodeType": "YulLiteral", - "src": "39380:1:11", + "src": "39380:1:24", "type": "", "value": "3" }, @@ -186716,9 +205691,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "39386:4:11", + "nativeSrc": "39386:4:24", "nodeType": "YulLiteral", - "src": "39386:4:11", + "src": "39386:4:24", "type": "", "value": "0xff" }, @@ -186726,73 +205701,73 @@ "arguments": [ { "name": "r", - "nativeSrc": "39396:1:11", + "nativeSrc": "39396:1:24", "nodeType": "YulIdentifier", - "src": "39396:1:11" + "src": "39396:1:24" }, { "name": "x", - "nativeSrc": "39399:1:11", + "nativeSrc": "39399:1:24", "nodeType": "YulIdentifier", - "src": "39399:1:11" + "src": "39399:1:24" } ], "functionName": { "name": "shr", - "nativeSrc": "39392:3:11", + "nativeSrc": "39392:3:24", "nodeType": "YulIdentifier", - "src": "39392:3:11" + "src": "39392:3:24" }, - "nativeSrc": "39392:9:11", + "nativeSrc": "39392:9:24", "nodeType": "YulFunctionCall", - "src": "39392:9:11" + "src": "39392:9:24" } ], "functionName": { "name": "lt", - "nativeSrc": "39383:2:11", + "nativeSrc": "39383:2:24", "nodeType": "YulIdentifier", - "src": "39383:2:11" + "src": "39383:2:24" }, - "nativeSrc": "39383:19:11", + "nativeSrc": "39383:19:24", "nodeType": "YulFunctionCall", - "src": "39383:19:11" + "src": "39383:19:24" } ], "functionName": { "name": "shl", - "nativeSrc": "39376:3:11", + "nativeSrc": "39376:3:24", "nodeType": "YulIdentifier", - "src": "39376:3:11" + "src": "39376:3:24" }, - "nativeSrc": "39376:27:11", + "nativeSrc": "39376:27:24", "nodeType": "YulFunctionCall", - "src": "39376:27:11" + "src": "39376:27:24" } ], "functionName": { "name": "or", - "nativeSrc": "39370:2:11", + "nativeSrc": "39370:2:24", "nodeType": "YulIdentifier", - "src": "39370:2:11" + "src": "39370:2:24" }, - "nativeSrc": "39370:34:11", + "nativeSrc": "39370:34:24", "nodeType": "YulFunctionCall", - "src": "39370:34:11" + "src": "39370:34:24" }, "variableNames": [ { "name": "r", - "nativeSrc": "39365:1:11", + "nativeSrc": "39365:1:24", "nodeType": "YulIdentifier", - "src": "39365:1:11" + "src": "39365:1:24" } ] }, { - "nativeSrc": "39460:139:11", + "nativeSrc": "39460:139:24", "nodeType": "YulAssignment", - "src": "39460:139:11", + "src": "39460:139:24", "value": { "arguments": [ { @@ -186801,20 +205776,20 @@ "arguments": [ { "name": "a", - "nativeSrc": "39482:1:11", + "nativeSrc": "39482:1:24", "nodeType": "YulIdentifier", - "src": "39482:1:11" + "src": "39482:1:24" } ], "functionName": { "name": "mload", - "nativeSrc": "39476:5:11", + "nativeSrc": "39476:5:24", "nodeType": "YulIdentifier", - "src": "39476:5:11" + "src": "39476:5:24" }, - "nativeSrc": "39476:8:11", + "nativeSrc": "39476:8:24", "nodeType": "YulFunctionCall", - "src": "39476:8:11" + "src": "39476:8:24" }, { "arguments": [ @@ -186822,28 +205797,28 @@ "arguments": [ { "name": "x", - "nativeSrc": "39497:1:11", + "nativeSrc": "39497:1:24", "nodeType": "YulIdentifier", - "src": "39497:1:11" + "src": "39497:1:24" } ], "functionName": { "name": "iszero", - "nativeSrc": "39490:6:11", + "nativeSrc": "39490:6:24", "nodeType": "YulIdentifier", - "src": "39490:6:11" + "src": "39490:6:24" }, - "nativeSrc": "39490:9:11", + "nativeSrc": "39490:9:24", "nodeType": "YulFunctionCall", - "src": "39490:9:11" + "src": "39490:9:24" }, { "arguments": [ { "kind": "number", - "nativeSrc": "39505:2:11", + "nativeSrc": "39505:2:24", "nodeType": "YulLiteral", - "src": "39505:2:11", + "src": "39505:2:24", "type": "", "value": "31" }, @@ -186851,61 +205826,61 @@ "arguments": [ { "kind": "number", - "nativeSrc": "39513:1:11", + "nativeSrc": "39513:1:24", "nodeType": "YulLiteral", - "src": "39513:1:11", + "src": "39513:1:24", "type": "", "value": "3" }, { "name": "r", - "nativeSrc": "39516:1:11", + "nativeSrc": "39516:1:24", "nodeType": "YulIdentifier", - "src": "39516:1:11" + "src": "39516:1:24" } ], "functionName": { "name": "shr", - "nativeSrc": "39509:3:11", + "nativeSrc": "39509:3:24", "nodeType": "YulIdentifier", - "src": "39509:3:11" + "src": "39509:3:24" }, - "nativeSrc": "39509:9:11", + "nativeSrc": "39509:9:24", "nodeType": "YulFunctionCall", - "src": "39509:9:11" + "src": "39509:9:24" } ], "functionName": { "name": "xor", - "nativeSrc": "39501:3:11", + "nativeSrc": "39501:3:24", "nodeType": "YulIdentifier", - "src": "39501:3:11" + "src": "39501:3:24" }, - "nativeSrc": "39501:18:11", + "nativeSrc": "39501:18:24", "nodeType": "YulFunctionCall", - "src": "39501:18:11" + "src": "39501:18:24" } ], "functionName": { "name": "add", - "nativeSrc": "39486:3:11", + "nativeSrc": "39486:3:24", "nodeType": "YulIdentifier", - "src": "39486:3:11" + "src": "39486:3:24" }, - "nativeSrc": "39486:34:11", + "nativeSrc": "39486:34:24", "nodeType": "YulFunctionCall", - "src": "39486:34:11" + "src": "39486:34:24" } ], "functionName": { "name": "eq", - "nativeSrc": "39473:2:11", + "nativeSrc": "39473:2:24", "nodeType": "YulIdentifier", - "src": "39473:2:11" + "src": "39473:2:24" }, - "nativeSrc": "39473:48:11", + "nativeSrc": "39473:48:24", "nodeType": "YulFunctionCall", - "src": "39473:48:11" + "src": "39473:48:24" }, { "arguments": [ @@ -186915,45 +205890,45 @@ "arguments": [ { "kind": "number", - "nativeSrc": "39551:1:11", + "nativeSrc": "39551:1:24", "nodeType": "YulLiteral", - "src": "39551:1:11", + "src": "39551:1:24", "type": "", "value": "8" }, { "name": "r", - "nativeSrc": "39554:1:11", + "nativeSrc": "39554:1:24", "nodeType": "YulIdentifier", - "src": "39554:1:11" + "src": "39554:1:24" } ], "functionName": { "name": "add", - "nativeSrc": "39547:3:11", + "nativeSrc": "39547:3:24", "nodeType": "YulIdentifier", - "src": "39547:3:11" + "src": "39547:3:24" }, - "nativeSrc": "39547:9:11", + "nativeSrc": "39547:9:24", "nodeType": "YulFunctionCall", - "src": "39547:9:11" + "src": "39547:9:24" }, { "name": "b", - "nativeSrc": "39558:1:11", + "nativeSrc": "39558:1:24", "nodeType": "YulIdentifier", - "src": "39558:1:11" + "src": "39558:1:24" } ], "functionName": { "name": "shr", - "nativeSrc": "39543:3:11", + "nativeSrc": "39543:3:24", "nodeType": "YulIdentifier", - "src": "39543:3:11" + "src": "39543:3:24" }, - "nativeSrc": "39543:17:11", + "nativeSrc": "39543:17:24", "nodeType": "YulFunctionCall", - "src": "39543:17:11" + "src": "39543:17:24" }, { "arguments": [ @@ -186961,28 +205936,28 @@ "arguments": [ { "kind": "number", - "nativeSrc": "39570:1:11", + "nativeSrc": "39570:1:24", "nodeType": "YulLiteral", - "src": "39570:1:11", + "src": "39570:1:24", "type": "", "value": "8" }, { "name": "r", - "nativeSrc": "39573:1:11", + "nativeSrc": "39573:1:24", "nodeType": "YulIdentifier", - "src": "39573:1:11" + "src": "39573:1:24" } ], "functionName": { "name": "add", - "nativeSrc": "39566:3:11", + "nativeSrc": "39566:3:24", "nodeType": "YulIdentifier", - "src": "39566:3:11" + "src": "39566:3:24" }, - "nativeSrc": "39566:9:11", + "nativeSrc": "39566:9:24", "nodeType": "YulFunctionCall", - "src": "39566:9:11" + "src": "39566:9:24" }, { "arguments": [ @@ -186990,79 +205965,79 @@ "arguments": [ { "name": "a", - "nativeSrc": "39587:1:11", + "nativeSrc": "39587:1:24", "nodeType": "YulIdentifier", - "src": "39587:1:11" + "src": "39587:1:24" }, { "kind": "number", - "nativeSrc": "39590:4:11", + "nativeSrc": "39590:4:24", "nodeType": "YulLiteral", - "src": "39590:4:11", + "src": "39590:4:24", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "39583:3:11", + "nativeSrc": "39583:3:24", "nodeType": "YulIdentifier", - "src": "39583:3:11" + "src": "39583:3:24" }, - "nativeSrc": "39583:12:11", + "nativeSrc": "39583:12:24", "nodeType": "YulFunctionCall", - "src": "39583:12:11" + "src": "39583:12:24" } ], "functionName": { "name": "mload", - "nativeSrc": "39577:5:11", + "nativeSrc": "39577:5:24", "nodeType": "YulIdentifier", - "src": "39577:5:11" + "src": "39577:5:24" }, - "nativeSrc": "39577:19:11", + "nativeSrc": "39577:19:24", "nodeType": "YulFunctionCall", - "src": "39577:19:11" + "src": "39577:19:24" } ], "functionName": { "name": "shr", - "nativeSrc": "39562:3:11", + "nativeSrc": "39562:3:24", "nodeType": "YulIdentifier", - "src": "39562:3:11" + "src": "39562:3:24" }, - "nativeSrc": "39562:35:11", + "nativeSrc": "39562:35:24", "nodeType": "YulFunctionCall", - "src": "39562:35:11" + "src": "39562:35:24" } ], "functionName": { "name": "xor", - "nativeSrc": "39539:3:11", + "nativeSrc": "39539:3:24", "nodeType": "YulIdentifier", - "src": "39539:3:11" + "src": "39539:3:24" }, - "nativeSrc": "39539:59:11", + "nativeSrc": "39539:59:24", "nodeType": "YulFunctionCall", - "src": "39539:59:11" + "src": "39539:59:24" } ], "functionName": { "name": "gt", - "nativeSrc": "39470:2:11", + "nativeSrc": "39470:2:24", "nodeType": "YulIdentifier", - "src": "39470:2:11" + "src": "39470:2:24" }, - "nativeSrc": "39470:129:11", + "nativeSrc": "39470:129:24", "nodeType": "YulFunctionCall", - "src": "39470:129:11" + "src": "39470:129:24" }, "variableNames": [ { "name": "result", - "nativeSrc": "39460:6:11", + "nativeSrc": "39460:6:24", "nodeType": "YulIdentifier", - "src": "39460:6:11" + "src": "39460:6:24" } ] } @@ -187072,87 +206047,87 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 6049, + "declaration": 7655, "isOffset": false, "isSlot": false, - "src": "39482:1:11", + "src": "39482:1:24", "valueSize": 1 }, { - "declaration": 6049, + "declaration": 7655, "isOffset": false, "isSlot": false, - "src": "39587:1:11", + "src": "39587:1:24", "valueSize": 1 }, { - "declaration": 6051, + "declaration": 7657, "isOffset": false, "isSlot": false, - "src": "39030:1:11", + "src": "39030:1:24", "valueSize": 1 }, { - "declaration": 6051, + "declaration": 7657, "isOffset": false, "isSlot": false, - "src": "39093:1:11", + "src": "39093:1:24", "valueSize": 1 }, { - "declaration": 6051, + "declaration": 7657, "isOffset": false, "isSlot": false, - "src": "39107:1:11", + "src": "39107:1:24", "valueSize": 1 }, { - "declaration": 6051, + "declaration": 7657, "isOffset": false, "isSlot": false, - "src": "39558:1:11", + "src": "39558:1:24", "valueSize": 1 }, { - "declaration": 6054, + "declaration": 7660, "isOffset": false, "isSlot": false, - "src": "39460:6:11", + "src": "39460:6:24", "valueSize": 1 } ], - "id": 6056, + "id": 7662, "nodeType": "InlineAssembly", - "src": "38894:715:11" + "src": "38894:715:24" } ] }, "documentation": { - "id": 6047, + "id": 7653, "nodeType": "StructuredDocumentation", - "src": "38674:85:11", + "src": "38674:85:24", "text": "@dev Returns whether `a` equals `b`, where `b` is a null-terminated small string." }, - "id": 6058, + "id": 7664, "implemented": true, "kind": "function", "modifiers": [], "name": "eqs", - "nameLocation": "38773:3:11", + "nameLocation": "38773:3:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 6052, + "id": 7658, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6049, + "id": 7655, "mutability": "mutable", "name": "a", - "nameLocation": "38791:1:11", + "nameLocation": "38791:1:24", "nodeType": "VariableDeclaration", - "scope": 6058, - "src": "38777:15:11", + "scope": 7664, + "src": "38777:15:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -187160,10 +206135,10 @@ "typeString": "string" }, "typeName": { - "id": 6048, + "id": 7654, "name": "string", "nodeType": "ElementaryTypeName", - "src": "38777:6:11", + "src": "38777:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -187173,13 +206148,13 @@ }, { "constant": false, - "id": 6051, + "id": 7657, "mutability": "mutable", "name": "b", - "nameLocation": "38802:1:11", + "nameLocation": "38802:1:24", "nodeType": "VariableDeclaration", - "scope": 6058, - "src": "38794:9:11", + "scope": 7664, + "src": "38794:9:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -187187,10 +206162,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6050, + "id": 7656, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "38794:7:11", + "src": "38794:7:24", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -187199,21 +206174,21 @@ "visibility": "internal" } ], - "src": "38776:28:11" + "src": "38776:28:24" }, "returnParameters": { - "id": 6055, + "id": 7661, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6054, + "id": 7660, "mutability": "mutable", "name": "result", - "nameLocation": "38833:6:11", + "nameLocation": "38833:6:24", "nodeType": "VariableDeclaration", - "scope": 6058, - "src": "38828:11:11", + "scope": 7664, + "src": "38828:11:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -187221,10 +206196,10 @@ "typeString": "bool" }, "typeName": { - "id": 6053, + "id": 7659, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "38828:4:11", + "src": "38828:4:24", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -187233,19 +206208,19 @@ "visibility": "internal" } ], - "src": "38827:13:11" + "src": "38827:13:24" }, - "scope": 6134, - "src": "38764:851:11", + "scope": 7740, + "src": "38764:851:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 6080, + "id": 7686, "nodeType": "Block", - "src": "39837:56:11", + "src": "39837:56:24", "statements": [ { "expression": { @@ -187253,12 +206228,12 @@ { "arguments": [ { - "id": 6072, + "id": 7678, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6061, - "src": "39873:1:11", + "referencedDeclaration": 7667, + "src": "39873:1:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -187272,26 +206247,26 @@ "typeString": "string memory" } ], - "id": 6071, + "id": 7677, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "39867:5:11", + "src": "39867:5:24", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 6070, + "id": 7676, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "39867:5:11", + "src": "39867:5:24", "typeDescriptions": {} } }, - "id": 6073, + "id": 7679, "isConstant": false, "isLValue": false, "isPure": false, @@ -187300,7 +206275,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "39867:8:11", + "src": "39867:8:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -187310,12 +206285,12 @@ { "arguments": [ { - "id": 6076, + "id": 7682, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6063, - "src": "39883:1:11", + "referencedDeclaration": 7669, + "src": "39883:1:24", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -187329,26 +206304,26 @@ "typeString": "string memory" } ], - "id": 6075, + "id": 7681, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "39877:5:11", + "src": "39877:5:24", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 6074, + "id": 7680, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "39877:5:11", + "src": "39877:5:24", "typeDescriptions": {} } }, - "id": 6077, + "id": 7683, "isConstant": false, "isLValue": false, "isPure": false, @@ -187357,7 +206332,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "39877:8:11", + "src": "39877:8:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -187377,33 +206352,33 @@ } ], "expression": { - "id": 6068, + "id": 7674, "name": "LibBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3078, - "src": "39854:8:11", + "referencedDeclaration": 4684, + "src": "39854:8:24", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytes_$3078_$", + "typeIdentifier": "t_type$_t_contract$_LibBytes_$4684_$", "typeString": "type(library LibBytes)" } }, - "id": 6069, + "id": 7675, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "39863:3:11", + "memberLocation": "39863:3:24", "memberName": "cmp", "nodeType": "MemberAccess", - "referencedDeclaration": 2992, - "src": "39854:12:11", + "referencedDeclaration": 4598, + "src": "39854:12:24", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_int256_$", "typeString": "function (bytes memory,bytes memory) pure returns (int256)" } }, - "id": 6078, + "id": 7684, "isConstant": false, "isLValue": false, "isPure": false, @@ -187412,46 +206387,46 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "39854:32:11", + "src": "39854:32:24", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, - "functionReturnParameters": 6067, - "id": 6079, + "functionReturnParameters": 7673, + "id": 7685, "nodeType": "Return", - "src": "39847:39:11" + "src": "39847:39:24" } ] }, "documentation": { - "id": 6059, + "id": 7665, "nodeType": "StructuredDocumentation", - "src": "39621:133:11", + "src": "39621:133:24", "text": "@dev Returns 0 if `a == b`, -1 if `a < b`, +1 if `a > b`.\n If `a` == b[:a.length]`, and `a.length < b.length`, returns -1." }, - "id": 6081, + "id": 7687, "implemented": true, "kind": "function", "modifiers": [], "name": "cmp", - "nameLocation": "39768:3:11", + "nameLocation": "39768:3:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 6064, + "id": 7670, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6061, + "id": 7667, "mutability": "mutable", "name": "a", - "nameLocation": "39786:1:11", + "nameLocation": "39786:1:24", "nodeType": "VariableDeclaration", - "scope": 6081, - "src": "39772:15:11", + "scope": 7687, + "src": "39772:15:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -187459,10 +206434,10 @@ "typeString": "string" }, "typeName": { - "id": 6060, + "id": 7666, "name": "string", "nodeType": "ElementaryTypeName", - "src": "39772:6:11", + "src": "39772:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -187472,13 +206447,13 @@ }, { "constant": false, - "id": 6063, + "id": 7669, "mutability": "mutable", "name": "b", - "nameLocation": "39803:1:11", + "nameLocation": "39803:1:24", "nodeType": "VariableDeclaration", - "scope": 6081, - "src": "39789:15:11", + "scope": 7687, + "src": "39789:15:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -187486,10 +206461,10 @@ "typeString": "string" }, "typeName": { - "id": 6062, + "id": 7668, "name": "string", "nodeType": "ElementaryTypeName", - "src": "39789:6:11", + "src": "39789:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -187498,21 +206473,21 @@ "visibility": "internal" } ], - "src": "39771:34:11" + "src": "39771:34:24" }, "returnParameters": { - "id": 6067, + "id": 7673, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6066, + "id": 7672, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 6081, - "src": "39829:6:11", + "scope": 7687, + "src": "39829:6:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -187520,10 +206495,10 @@ "typeString": "int256" }, "typeName": { - "id": 6065, + "id": 7671, "name": "int256", "nodeType": "ElementaryTypeName", - "src": "39829:6:11", + "src": "39829:6:24", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" @@ -187532,30 +206507,30 @@ "visibility": "internal" } ], - "src": "39828:8:11" + "src": "39828:8:24" }, - "scope": 6134, - "src": "39759:134:11", + "scope": 7740, + "src": "39759:134:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 6090, + "id": 7696, "nodeType": "Block", - "src": "40114:573:11", + "src": "40114:573:24", "statements": [ { "AST": { - "nativeSrc": "40176:505:11", + "nativeSrc": "40176:505:24", "nodeType": "YulBlock", - "src": "40176:505:11", + "src": "40176:505:24", "statements": [ { - "nativeSrc": "40322:349:11", + "nativeSrc": "40322:349:24", "nodeType": "YulAssignment", - "src": "40322:349:11", + "src": "40322:349:24", "value": { "arguments": [ { @@ -187564,39 +206539,39 @@ "arguments": [ { "name": "a", - "nativeSrc": "40437:1:11", + "nativeSrc": "40437:1:24", "nodeType": "YulIdentifier", - "src": "40437:1:11" + "src": "40437:1:24" }, { "kind": "number", - "nativeSrc": "40440:4:11", + "nativeSrc": "40440:4:24", "nodeType": "YulLiteral", - "src": "40440:4:11", + "src": "40440:4:24", "type": "", "value": "0x1f" } ], "functionName": { "name": "add", - "nativeSrc": "40433:3:11", + "nativeSrc": "40433:3:24", "nodeType": "YulIdentifier", - "src": "40433:3:11" + "src": "40433:3:24" }, - "nativeSrc": "40433:12:11", + "nativeSrc": "40433:12:24", "nodeType": "YulFunctionCall", - "src": "40433:12:11" + "src": "40433:12:24" } ], "functionName": { "name": "mload", - "nativeSrc": "40427:5:11", + "nativeSrc": "40427:5:24", "nodeType": "YulIdentifier", - "src": "40427:5:11" + "src": "40427:5:24" }, - "nativeSrc": "40427:19:11", + "nativeSrc": "40427:19:24", "nodeType": "YulFunctionCall", - "src": "40427:19:11" + "src": "40427:19:24" }, { "arguments": [ @@ -187606,76 +206581,76 @@ "arguments": [ { "name": "a", - "nativeSrc": "40640:1:11", + "nativeSrc": "40640:1:24", "nodeType": "YulIdentifier", - "src": "40640:1:11" + "src": "40640:1:24" } ], "functionName": { "name": "mload", - "nativeSrc": "40634:5:11", + "nativeSrc": "40634:5:24", "nodeType": "YulIdentifier", - "src": "40634:5:11" + "src": "40634:5:24" }, - "nativeSrc": "40634:8:11", + "nativeSrc": "40634:8:24", "nodeType": "YulFunctionCall", - "src": "40634:8:11" + "src": "40634:8:24" }, { "kind": "number", - "nativeSrc": "40644:1:11", + "nativeSrc": "40644:1:24", "nodeType": "YulLiteral", - "src": "40644:1:11", + "src": "40644:1:24", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "40630:3:11", + "nativeSrc": "40630:3:24", "nodeType": "YulIdentifier", - "src": "40630:3:11" + "src": "40630:3:24" }, - "nativeSrc": "40630:16:11", + "nativeSrc": "40630:16:24", "nodeType": "YulFunctionCall", - "src": "40630:16:11" + "src": "40630:16:24" }, { "kind": "number", - "nativeSrc": "40648:4:11", + "nativeSrc": "40648:4:24", "nodeType": "YulLiteral", - "src": "40648:4:11", + "src": "40648:4:24", "type": "", "value": "0x1f" } ], "functionName": { "name": "lt", - "nativeSrc": "40627:2:11", + "nativeSrc": "40627:2:24", "nodeType": "YulIdentifier", - "src": "40627:2:11" + "src": "40627:2:24" }, - "nativeSrc": "40627:26:11", + "nativeSrc": "40627:26:24", "nodeType": "YulFunctionCall", - "src": "40627:26:11" + "src": "40627:26:24" } ], "functionName": { "name": "mul", - "nativeSrc": "40348:3:11", + "nativeSrc": "40348:3:24", "nodeType": "YulIdentifier", - "src": "40348:3:11" + "src": "40348:3:24" }, - "nativeSrc": "40348:323:11", + "nativeSrc": "40348:323:24", "nodeType": "YulFunctionCall", - "src": "40348:323:11" + "src": "40348:323:24" }, "variableNames": [ { "name": "result", - "nativeSrc": "40322:6:11", + "nativeSrc": "40322:6:24", "nodeType": "YulIdentifier", - "src": "40322:6:11" + "src": "40322:6:24" } ] } @@ -187685,59 +206660,59 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 6084, + "declaration": 7690, "isOffset": false, "isSlot": false, - "src": "40437:1:11", + "src": "40437:1:24", "valueSize": 1 }, { - "declaration": 6084, + "declaration": 7690, "isOffset": false, "isSlot": false, - "src": "40640:1:11", + "src": "40640:1:24", "valueSize": 1 }, { - "declaration": 6087, + "declaration": 7693, "isOffset": false, "isSlot": false, - "src": "40322:6:11", + "src": "40322:6:24", "valueSize": 1 } ], - "id": 6089, + "id": 7695, "nodeType": "InlineAssembly", - "src": "40167:514:11" + "src": "40167:514:24" } ] }, "documentation": { - "id": 6082, + "id": 7688, "nodeType": "StructuredDocumentation", - "src": "39899:137:11", + "src": "39899:137:24", "text": "@dev Packs a single string with its length into a single word.\n Returns `bytes32(0)` if the length is zero or greater than 31." }, - "id": 6091, + "id": 7697, "implemented": true, "kind": "function", "modifiers": [], "name": "packOne", - "nameLocation": "40050:7:11", + "nameLocation": "40050:7:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 6085, + "id": 7691, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6084, + "id": 7690, "mutability": "mutable", "name": "a", - "nameLocation": "40072:1:11", + "nameLocation": "40072:1:24", "nodeType": "VariableDeclaration", - "scope": 6091, - "src": "40058:15:11", + "scope": 7697, + "src": "40058:15:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -187745,10 +206720,10 @@ "typeString": "string" }, "typeName": { - "id": 6083, + "id": 7689, "name": "string", "nodeType": "ElementaryTypeName", - "src": "40058:6:11", + "src": "40058:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -187757,21 +206732,21 @@ "visibility": "internal" } ], - "src": "40057:17:11" + "src": "40057:17:24" }, "returnParameters": { - "id": 6088, + "id": 7694, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6087, + "id": 7693, "mutability": "mutable", "name": "result", - "nameLocation": "40106:6:11", + "nameLocation": "40106:6:24", "nodeType": "VariableDeclaration", - "scope": 6091, - "src": "40098:14:11", + "scope": 7697, + "src": "40098:14:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -187779,10 +206754,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6086, + "id": 7692, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "40098:7:11", + "src": "40098:7:24", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -187791,57 +206766,57 @@ "visibility": "internal" } ], - "src": "40097:16:11" + "src": "40097:16:24" }, - "scope": 6134, - "src": "40041:646:11", + "scope": 7740, + "src": "40041:646:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 6100, + "id": 7706, "nodeType": "Block", - "src": "40974:469:11", + "src": "40974:469:24", "statements": [ { "AST": { - "nativeSrc": "41036:401:11", + "nativeSrc": "41036:401:24", "nodeType": "YulBlock", - "src": "41036:401:11", + "src": "41036:401:24", "statements": [ { - "nativeSrc": "41050:21:11", + "nativeSrc": "41050:21:24", "nodeType": "YulAssignment", - "src": "41050:21:11", + "src": "41050:21:24", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "41066:4:11", + "nativeSrc": "41066:4:24", "nodeType": "YulLiteral", - "src": "41066:4:11", + "src": "41066:4:24", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "41060:5:11", + "nativeSrc": "41060:5:24", "nodeType": "YulIdentifier", - "src": "41060:5:11" + "src": "41060:5:24" }, - "nativeSrc": "41060:11:11", + "nativeSrc": "41060:11:24", "nodeType": "YulFunctionCall", - "src": "41060:11:11" + "src": "41060:11:24" }, "variableNames": [ { "name": "result", - "nativeSrc": "41050:6:11", + "nativeSrc": "41050:6:24", "nodeType": "YulIdentifier", - "src": "41050:6:11" + "src": "41050:6:24" } ] }, @@ -187850,9 +206825,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "41124:4:11", + "nativeSrc": "41124:4:24", "nodeType": "YulLiteral", - "src": "41124:4:11", + "src": "41124:4:24", "type": "", "value": "0x40" }, @@ -187860,75 +206835,75 @@ "arguments": [ { "name": "result", - "nativeSrc": "41134:6:11", + "nativeSrc": "41134:6:24", "nodeType": "YulIdentifier", - "src": "41134:6:11" + "src": "41134:6:24" }, { "kind": "number", - "nativeSrc": "41142:4:11", + "nativeSrc": "41142:4:24", "nodeType": "YulLiteral", - "src": "41142:4:11", + "src": "41142:4:24", "type": "", "value": "0x40" } ], "functionName": { "name": "add", - "nativeSrc": "41130:3:11", + "nativeSrc": "41130:3:24", "nodeType": "YulIdentifier", - "src": "41130:3:11" + "src": "41130:3:24" }, - "nativeSrc": "41130:17:11", + "nativeSrc": "41130:17:24", "nodeType": "YulFunctionCall", - "src": "41130:17:11" + "src": "41130:17:24" } ], "functionName": { "name": "mstore", - "nativeSrc": "41117:6:11", + "nativeSrc": "41117:6:24", "nodeType": "YulIdentifier", - "src": "41117:6:11" + "src": "41117:6:24" }, - "nativeSrc": "41117:31:11", + "nativeSrc": "41117:31:24", "nodeType": "YulFunctionCall", - "src": "41117:31:11" + "src": "41117:31:24" }, - "nativeSrc": "41117:31:11", + "nativeSrc": "41117:31:24", "nodeType": "YulExpressionStatement", - "src": "41117:31:11" + "src": "41117:31:24" }, { "expression": { "arguments": [ { "name": "result", - "nativeSrc": "41225:6:11", + "nativeSrc": "41225:6:24", "nodeType": "YulIdentifier", - "src": "41225:6:11" + "src": "41225:6:24" }, { "kind": "number", - "nativeSrc": "41233:1:11", + "nativeSrc": "41233:1:24", "nodeType": "YulLiteral", - "src": "41233:1:11", + "src": "41233:1:24", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "41218:6:11", + "nativeSrc": "41218:6:24", "nodeType": "YulIdentifier", - "src": "41218:6:11" + "src": "41218:6:24" }, - "nativeSrc": "41218:17:11", + "nativeSrc": "41218:17:24", "nodeType": "YulFunctionCall", - "src": "41218:17:11" + "src": "41218:17:24" }, - "nativeSrc": "41218:17:11", + "nativeSrc": "41218:17:24", "nodeType": "YulExpressionStatement", - "src": "41218:17:11" + "src": "41218:17:24" }, { "expression": { @@ -187937,49 +206912,49 @@ "arguments": [ { "name": "result", - "nativeSrc": "41287:6:11", + "nativeSrc": "41287:6:24", "nodeType": "YulIdentifier", - "src": "41287:6:11" + "src": "41287:6:24" }, { "kind": "number", - "nativeSrc": "41295:4:11", + "nativeSrc": "41295:4:24", "nodeType": "YulLiteral", - "src": "41295:4:11", + "src": "41295:4:24", "type": "", "value": "0x1f" } ], "functionName": { "name": "add", - "nativeSrc": "41283:3:11", + "nativeSrc": "41283:3:24", "nodeType": "YulIdentifier", - "src": "41283:3:11" + "src": "41283:3:24" }, - "nativeSrc": "41283:17:11", + "nativeSrc": "41283:17:24", "nodeType": "YulFunctionCall", - "src": "41283:17:11" + "src": "41283:17:24" }, { "name": "packed", - "nativeSrc": "41302:6:11", + "nativeSrc": "41302:6:24", "nodeType": "YulIdentifier", - "src": "41302:6:11" + "src": "41302:6:24" } ], "functionName": { "name": "mstore", - "nativeSrc": "41276:6:11", + "nativeSrc": "41276:6:24", "nodeType": "YulIdentifier", - "src": "41276:6:11" + "src": "41276:6:24" }, - "nativeSrc": "41276:33:11", + "nativeSrc": "41276:33:24", "nodeType": "YulFunctionCall", - "src": "41276:33:11" + "src": "41276:33:24" }, - "nativeSrc": "41276:33:11", + "nativeSrc": "41276:33:24", "nodeType": "YulExpressionStatement", - "src": "41276:33:11" + "src": "41276:33:24" }, { "expression": { @@ -187990,81 +206965,81 @@ "arguments": [ { "name": "result", - "nativeSrc": "41368:6:11", + "nativeSrc": "41368:6:24", "nodeType": "YulIdentifier", - "src": "41368:6:11" + "src": "41368:6:24" }, { "kind": "number", - "nativeSrc": "41376:4:11", + "nativeSrc": "41376:4:24", "nodeType": "YulLiteral", - "src": "41376:4:11", + "src": "41376:4:24", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "41364:3:11", + "nativeSrc": "41364:3:24", "nodeType": "YulIdentifier", - "src": "41364:3:11" + "src": "41364:3:24" }, - "nativeSrc": "41364:17:11", + "nativeSrc": "41364:17:24", "nodeType": "YulFunctionCall", - "src": "41364:17:11" + "src": "41364:17:24" }, { "arguments": [ { "name": "result", - "nativeSrc": "41389:6:11", + "nativeSrc": "41389:6:24", "nodeType": "YulIdentifier", - "src": "41389:6:11" + "src": "41389:6:24" } ], "functionName": { "name": "mload", - "nativeSrc": "41383:5:11", + "nativeSrc": "41383:5:24", "nodeType": "YulIdentifier", - "src": "41383:5:11" + "src": "41383:5:24" }, - "nativeSrc": "41383:13:11", + "nativeSrc": "41383:13:24", "nodeType": "YulFunctionCall", - "src": "41383:13:11" + "src": "41383:13:24" } ], "functionName": { "name": "add", - "nativeSrc": "41360:3:11", + "nativeSrc": "41360:3:24", "nodeType": "YulIdentifier", - "src": "41360:3:11" + "src": "41360:3:24" }, - "nativeSrc": "41360:37:11", + "nativeSrc": "41360:37:24", "nodeType": "YulFunctionCall", - "src": "41360:37:11" + "src": "41360:37:24" }, { "kind": "number", - "nativeSrc": "41399:1:11", + "nativeSrc": "41399:1:24", "nodeType": "YulLiteral", - "src": "41399:1:11", + "src": "41399:1:24", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "41353:6:11", + "nativeSrc": "41353:6:24", "nodeType": "YulIdentifier", - "src": "41353:6:11" + "src": "41353:6:24" }, - "nativeSrc": "41353:48:11", + "nativeSrc": "41353:48:24", "nodeType": "YulFunctionCall", - "src": "41353:48:11" + "src": "41353:48:24" }, - "nativeSrc": "41353:48:11", + "nativeSrc": "41353:48:24", "nodeType": "YulExpressionStatement", - "src": "41353:48:11" + "src": "41353:48:24" } ] }, @@ -188072,87 +207047,87 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 6094, + "declaration": 7700, "isOffset": false, "isSlot": false, - "src": "41302:6:11", + "src": "41302:6:24", "valueSize": 1 }, { - "declaration": 6097, + "declaration": 7703, "isOffset": false, "isSlot": false, - "src": "41050:6:11", + "src": "41050:6:24", "valueSize": 1 }, { - "declaration": 6097, + "declaration": 7703, "isOffset": false, "isSlot": false, - "src": "41134:6:11", + "src": "41134:6:24", "valueSize": 1 }, { - "declaration": 6097, + "declaration": 7703, "isOffset": false, "isSlot": false, - "src": "41225:6:11", + "src": "41225:6:24", "valueSize": 1 }, { - "declaration": 6097, + "declaration": 7703, "isOffset": false, "isSlot": false, - "src": "41287:6:11", + "src": "41287:6:24", "valueSize": 1 }, { - "declaration": 6097, + "declaration": 7703, "isOffset": false, "isSlot": false, - "src": "41368:6:11", + "src": "41368:6:24", "valueSize": 1 }, { - "declaration": 6097, + "declaration": 7703, "isOffset": false, "isSlot": false, - "src": "41389:6:11", + "src": "41389:6:24", "valueSize": 1 } ], - "id": 6099, + "id": 7705, "nodeType": "InlineAssembly", - "src": "41027:410:11" + "src": "41027:410:24" } ] }, "documentation": { - "id": 6092, + "id": 7698, "nodeType": "StructuredDocumentation", - "src": "40693:196:11", + "src": "40693:196:24", "text": "@dev Unpacks a string packed using {packOne}.\n Returns the empty string if `packed` is `bytes32(0)`.\n If `packed` is not an output of {packOne}, the output behavior is undefined." }, - "id": 6101, + "id": 7707, "implemented": true, "kind": "function", "modifiers": [], "name": "unpackOne", - "nameLocation": "40903:9:11", + "nameLocation": "40903:9:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 6095, + "id": 7701, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6094, + "id": 7700, "mutability": "mutable", "name": "packed", - "nameLocation": "40921:6:11", + "nameLocation": "40921:6:24", "nodeType": "VariableDeclaration", - "scope": 6101, - "src": "40913:14:11", + "scope": 7707, + "src": "40913:14:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -188160,10 +207135,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6093, + "id": 7699, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "40913:7:11", + "src": "40913:7:24", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -188172,21 +207147,21 @@ "visibility": "internal" } ], - "src": "40912:16:11" + "src": "40912:16:24" }, "returnParameters": { - "id": 6098, + "id": 7704, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6097, + "id": 7703, "mutability": "mutable", "name": "result", - "nameLocation": "40966:6:11", + "nameLocation": "40966:6:24", "nodeType": "VariableDeclaration", - "scope": 6101, - "src": "40952:20:11", + "scope": 7707, + "src": "40952:20:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -188194,10 +207169,10 @@ "typeString": "string" }, "typeName": { - "id": 6096, + "id": 7702, "name": "string", "nodeType": "ElementaryTypeName", - "src": "40952:6:11", + "src": "40952:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -188206,63 +207181,63 @@ "visibility": "internal" } ], - "src": "40951:22:11" + "src": "40951:22:24" }, - "scope": 6134, - "src": "40894:549:11", + "scope": 7740, + "src": "40894:549:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 6112, + "id": 7718, "nodeType": "Block", - "src": "41685:706:11", + "src": "41685:706:24", "statements": [ { "AST": { - "nativeSrc": "41747:638:11", + "nativeSrc": "41747:638:24", "nodeType": "YulBlock", - "src": "41747:638:11", + "src": "41747:638:24", "statements": [ { - "nativeSrc": "41761:20:11", + "nativeSrc": "41761:20:24", "nodeType": "YulVariableDeclaration", - "src": "41761:20:11", + "src": "41761:20:24", "value": { "arguments": [ { "name": "a", - "nativeSrc": "41779:1:11", + "nativeSrc": "41779:1:24", "nodeType": "YulIdentifier", - "src": "41779:1:11" + "src": "41779:1:24" } ], "functionName": { "name": "mload", - "nativeSrc": "41773:5:11", + "nativeSrc": "41773:5:24", "nodeType": "YulIdentifier", - "src": "41773:5:11" + "src": "41773:5:24" }, - "nativeSrc": "41773:8:11", + "nativeSrc": "41773:8:24", "nodeType": "YulFunctionCall", - "src": "41773:8:11" + "src": "41773:8:24" }, "variables": [ { "name": "aLen", - "nativeSrc": "41765:4:11", + "nativeSrc": "41765:4:24", "nodeType": "YulTypedName", - "src": "41765:4:11", + "src": "41765:4:24", "type": "" } ] }, { - "nativeSrc": "41927:448:11", + "nativeSrc": "41927:448:24", "nodeType": "YulAssignment", - "src": "41927:448:11", + "src": "41927:448:24", "value": { "arguments": [ { @@ -188273,9 +207248,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "42059:1:11", + "nativeSrc": "42059:1:24", "nodeType": "YulLiteral", - "src": "42059:1:11", + "src": "42059:1:24", "type": "", "value": "3" }, @@ -188283,39 +207258,39 @@ "arguments": [ { "kind": "number", - "nativeSrc": "42066:4:11", + "nativeSrc": "42066:4:24", "nodeType": "YulLiteral", - "src": "42066:4:11", + "src": "42066:4:24", "type": "", "value": "0x1f" }, { "name": "aLen", - "nativeSrc": "42072:4:11", + "nativeSrc": "42072:4:24", "nodeType": "YulIdentifier", - "src": "42072:4:11" + "src": "42072:4:24" } ], "functionName": { "name": "sub", - "nativeSrc": "42062:3:11", + "nativeSrc": "42062:3:24", "nodeType": "YulIdentifier", - "src": "42062:3:11" + "src": "42062:3:24" }, - "nativeSrc": "42062:15:11", + "nativeSrc": "42062:15:24", "nodeType": "YulFunctionCall", - "src": "42062:15:11" + "src": "42062:15:24" } ], "functionName": { "name": "shl", - "nativeSrc": "42055:3:11", + "nativeSrc": "42055:3:24", "nodeType": "YulIdentifier", - "src": "42055:3:11" + "src": "42055:3:24" }, - "nativeSrc": "42055:23:11", + "nativeSrc": "42055:23:24", "nodeType": "YulFunctionCall", - "src": "42055:23:11" + "src": "42055:23:24" }, { "arguments": [ @@ -188323,48 +207298,48 @@ "arguments": [ { "name": "a", - "nativeSrc": "42090:1:11", + "nativeSrc": "42090:1:24", "nodeType": "YulIdentifier", - "src": "42090:1:11" + "src": "42090:1:24" }, { "name": "aLen", - "nativeSrc": "42093:4:11", + "nativeSrc": "42093:4:24", "nodeType": "YulIdentifier", - "src": "42093:4:11" + "src": "42093:4:24" } ], "functionName": { "name": "add", - "nativeSrc": "42086:3:11", + "nativeSrc": "42086:3:24", "nodeType": "YulIdentifier", - "src": "42086:3:11" + "src": "42086:3:24" }, - "nativeSrc": "42086:12:11", + "nativeSrc": "42086:12:24", "nodeType": "YulFunctionCall", - "src": "42086:12:11" + "src": "42086:12:24" } ], "functionName": { "name": "mload", - "nativeSrc": "42080:5:11", + "nativeSrc": "42080:5:24", "nodeType": "YulIdentifier", - "src": "42080:5:11" + "src": "42080:5:24" }, - "nativeSrc": "42080:19:11", + "nativeSrc": "42080:19:24", "nodeType": "YulFunctionCall", - "src": "42080:19:11" + "src": "42080:19:24" } ], "functionName": { "name": "shl", - "nativeSrc": "42051:3:11", + "nativeSrc": "42051:3:24", "nodeType": "YulIdentifier", - "src": "42051:3:11" + "src": "42051:3:24" }, - "nativeSrc": "42051:49:11", + "nativeSrc": "42051:49:24", "nodeType": "YulFunctionCall", - "src": "42051:49:11" + "src": "42051:49:24" }, { "arguments": [ @@ -188374,67 +207349,67 @@ "arguments": [ { "name": "b", - "nativeSrc": "42116:1:11", + "nativeSrc": "42116:1:24", "nodeType": "YulIdentifier", - "src": "42116:1:11" + "src": "42116:1:24" }, { "kind": "number", - "nativeSrc": "42119:4:11", + "nativeSrc": "42119:4:24", "nodeType": "YulLiteral", - "src": "42119:4:11", + "src": "42119:4:24", "type": "", "value": "0x1e" } ], "functionName": { "name": "add", - "nativeSrc": "42112:3:11", + "nativeSrc": "42112:3:24", "nodeType": "YulIdentifier", - "src": "42112:3:11" + "src": "42112:3:24" }, - "nativeSrc": "42112:12:11", + "nativeSrc": "42112:12:24", "nodeType": "YulFunctionCall", - "src": "42112:12:11" + "src": "42112:12:24" }, { "name": "aLen", - "nativeSrc": "42126:4:11", + "nativeSrc": "42126:4:24", "nodeType": "YulIdentifier", - "src": "42126:4:11" + "src": "42126:4:24" } ], "functionName": { "name": "sub", - "nativeSrc": "42108:3:11", + "nativeSrc": "42108:3:24", "nodeType": "YulIdentifier", - "src": "42108:3:11" + "src": "42108:3:24" }, - "nativeSrc": "42108:23:11", + "nativeSrc": "42108:23:24", "nodeType": "YulFunctionCall", - "src": "42108:23:11" + "src": "42108:23:24" } ], "functionName": { "name": "mload", - "nativeSrc": "42102:5:11", + "nativeSrc": "42102:5:24", "nodeType": "YulIdentifier", - "src": "42102:5:11" + "src": "42102:5:24" }, - "nativeSrc": "42102:30:11", + "nativeSrc": "42102:30:24", "nodeType": "YulFunctionCall", - "src": "42102:30:11" + "src": "42102:30:24" } ], "functionName": { "name": "or", - "nativeSrc": "41978:2:11", + "nativeSrc": "41978:2:24", "nodeType": "YulIdentifier", - "src": "41978:2:11" + "src": "41978:2:24" }, - "nativeSrc": "41978:155:11", + "nativeSrc": "41978:155:24", "nodeType": "YulFunctionCall", - "src": "41978:155:11" + "src": "41978:155:24" }, { "arguments": [ @@ -188444,95 +207419,95 @@ "arguments": [ { "name": "aLen", - "nativeSrc": "42331:4:11", + "nativeSrc": "42331:4:24", "nodeType": "YulIdentifier", - "src": "42331:4:11" + "src": "42331:4:24" }, { "arguments": [ { "name": "b", - "nativeSrc": "42343:1:11", + "nativeSrc": "42343:1:24", "nodeType": "YulIdentifier", - "src": "42343:1:11" + "src": "42343:1:24" } ], "functionName": { "name": "mload", - "nativeSrc": "42337:5:11", + "nativeSrc": "42337:5:24", "nodeType": "YulIdentifier", - "src": "42337:5:11" + "src": "42337:5:24" }, - "nativeSrc": "42337:8:11", + "nativeSrc": "42337:8:24", "nodeType": "YulFunctionCall", - "src": "42337:8:11" + "src": "42337:8:24" } ], "functionName": { "name": "add", - "nativeSrc": "42327:3:11", + "nativeSrc": "42327:3:24", "nodeType": "YulIdentifier", - "src": "42327:3:11" + "src": "42327:3:24" }, - "nativeSrc": "42327:19:11", + "nativeSrc": "42327:19:24", "nodeType": "YulFunctionCall", - "src": "42327:19:11" + "src": "42327:19:24" }, { "kind": "number", - "nativeSrc": "42348:1:11", + "nativeSrc": "42348:1:24", "nodeType": "YulLiteral", - "src": "42348:1:11", + "src": "42348:1:24", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "42323:3:11", + "nativeSrc": "42323:3:24", "nodeType": "YulIdentifier", - "src": "42323:3:11" + "src": "42323:3:24" }, - "nativeSrc": "42323:27:11", + "nativeSrc": "42323:27:24", "nodeType": "YulFunctionCall", - "src": "42323:27:11" + "src": "42323:27:24" }, { "kind": "number", - "nativeSrc": "42352:4:11", + "nativeSrc": "42352:4:24", "nodeType": "YulLiteral", - "src": "42352:4:11", + "src": "42352:4:24", "type": "", "value": "0x1e" } ], "functionName": { "name": "lt", - "nativeSrc": "42320:2:11", + "nativeSrc": "42320:2:24", "nodeType": "YulIdentifier", - "src": "42320:2:11" + "src": "42320:2:24" }, - "nativeSrc": "42320:37:11", + "nativeSrc": "42320:37:24", "nodeType": "YulFunctionCall", - "src": "42320:37:11" + "src": "42320:37:24" } ], "functionName": { "name": "mul", - "nativeSrc": "41953:3:11", + "nativeSrc": "41953:3:24", "nodeType": "YulIdentifier", - "src": "41953:3:11" + "src": "41953:3:24" }, - "nativeSrc": "41953:422:11", + "nativeSrc": "41953:422:24", "nodeType": "YulFunctionCall", - "src": "41953:422:11" + "src": "41953:422:24" }, "variableNames": [ { "name": "result", - "nativeSrc": "41927:6:11", + "nativeSrc": "41927:6:24", "nodeType": "YulIdentifier", - "src": "41927:6:11" + "src": "41927:6:24" } ] } @@ -188542,73 +207517,73 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 6104, + "declaration": 7710, "isOffset": false, "isSlot": false, - "src": "41779:1:11", + "src": "41779:1:24", "valueSize": 1 }, { - "declaration": 6104, + "declaration": 7710, "isOffset": false, "isSlot": false, - "src": "42090:1:11", + "src": "42090:1:24", "valueSize": 1 }, { - "declaration": 6106, + "declaration": 7712, "isOffset": false, "isSlot": false, - "src": "42116:1:11", + "src": "42116:1:24", "valueSize": 1 }, { - "declaration": 6106, + "declaration": 7712, "isOffset": false, "isSlot": false, - "src": "42343:1:11", + "src": "42343:1:24", "valueSize": 1 }, { - "declaration": 6109, + "declaration": 7715, "isOffset": false, "isSlot": false, - "src": "41927:6:11", + "src": "41927:6:24", "valueSize": 1 } ], - "id": 6111, + "id": 7717, "nodeType": "InlineAssembly", - "src": "41738:647:11" + "src": "41738:647:24" } ] }, "documentation": { - "id": 6102, + "id": 7708, "nodeType": "StructuredDocumentation", - "src": "41449:141:11", + "src": "41449:141:24", "text": "@dev Packs two strings with their lengths into a single word.\n Returns `bytes32(0)` if combined length is zero or greater than 30." }, - "id": 6113, + "id": 7719, "implemented": true, "kind": "function", "modifiers": [], "name": "packTwo", - "nameLocation": "41604:7:11", + "nameLocation": "41604:7:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 6107, + "id": 7713, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6104, + "id": 7710, "mutability": "mutable", "name": "a", - "nameLocation": "41626:1:11", + "nameLocation": "41626:1:24", "nodeType": "VariableDeclaration", - "scope": 6113, - "src": "41612:15:11", + "scope": 7719, + "src": "41612:15:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -188616,10 +207591,10 @@ "typeString": "string" }, "typeName": { - "id": 6103, + "id": 7709, "name": "string", "nodeType": "ElementaryTypeName", - "src": "41612:6:11", + "src": "41612:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -188629,13 +207604,13 @@ }, { "constant": false, - "id": 6106, + "id": 7712, "mutability": "mutable", "name": "b", - "nameLocation": "41643:1:11", + "nameLocation": "41643:1:24", "nodeType": "VariableDeclaration", - "scope": 6113, - "src": "41629:15:11", + "scope": 7719, + "src": "41629:15:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -188643,10 +207618,10 @@ "typeString": "string" }, "typeName": { - "id": 6105, + "id": 7711, "name": "string", "nodeType": "ElementaryTypeName", - "src": "41629:6:11", + "src": "41629:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -188655,21 +207630,21 @@ "visibility": "internal" } ], - "src": "41611:34:11" + "src": "41611:34:24" }, "returnParameters": { - "id": 6110, + "id": 7716, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6109, + "id": 7715, "mutability": "mutable", "name": "result", - "nameLocation": "41677:6:11", + "nameLocation": "41677:6:24", "nodeType": "VariableDeclaration", - "scope": 6113, - "src": "41669:14:11", + "scope": 7719, + "src": "41669:14:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -188677,10 +207652,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6108, + "id": 7714, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "41669:7:11", + "src": "41669:7:24", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -188689,97 +207664,97 @@ "visibility": "internal" } ], - "src": "41668:16:11" + "src": "41668:16:24" }, - "scope": 6134, - "src": "41595:796:11", + "scope": 7740, + "src": "41595:796:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 6124, + "id": 7730, "nodeType": "Block", - "src": "42730:778:11", + "src": "42730:778:24", "statements": [ { "AST": { - "nativeSrc": "42792:710:11", + "nativeSrc": "42792:710:24", "nodeType": "YulBlock", - "src": "42792:710:11", + "src": "42792:710:24", "statements": [ { - "nativeSrc": "42806:22:11", + "nativeSrc": "42806:22:24", "nodeType": "YulAssignment", - "src": "42806:22:11", + "src": "42806:22:24", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "42823:4:11", + "nativeSrc": "42823:4:24", "nodeType": "YulLiteral", - "src": "42823:4:11", + "src": "42823:4:24", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "42817:5:11", + "nativeSrc": "42817:5:24", "nodeType": "YulIdentifier", - "src": "42817:5:11" + "src": "42817:5:24" }, - "nativeSrc": "42817:11:11", + "nativeSrc": "42817:11:24", "nodeType": "YulFunctionCall", - "src": "42817:11:11" + "src": "42817:11:24" }, "variableNames": [ { "name": "resultA", - "nativeSrc": "42806:7:11", + "nativeSrc": "42806:7:24", "nodeType": "YulIdentifier", - "src": "42806:7:11" + "src": "42806:7:24" } ] }, { - "nativeSrc": "42874:29:11", + "nativeSrc": "42874:29:24", "nodeType": "YulAssignment", - "src": "42874:29:11", + "src": "42874:29:24", "value": { "arguments": [ { "name": "resultA", - "nativeSrc": "42889:7:11", + "nativeSrc": "42889:7:24", "nodeType": "YulIdentifier", - "src": "42889:7:11" + "src": "42889:7:24" }, { "kind": "number", - "nativeSrc": "42898:4:11", + "nativeSrc": "42898:4:24", "nodeType": "YulLiteral", - "src": "42898:4:11", + "src": "42898:4:24", "type": "", "value": "0x40" } ], "functionName": { "name": "add", - "nativeSrc": "42885:3:11", + "nativeSrc": "42885:3:24", "nodeType": "YulIdentifier", - "src": "42885:3:11" + "src": "42885:3:24" }, - "nativeSrc": "42885:18:11", + "nativeSrc": "42885:18:24", "nodeType": "YulFunctionCall", - "src": "42885:18:11" + "src": "42885:18:24" }, "variableNames": [ { "name": "resultB", - "nativeSrc": "42874:7:11", + "nativeSrc": "42874:7:24", "nodeType": "YulIdentifier", - "src": "42874:7:11" + "src": "42874:7:24" } ] }, @@ -188788,9 +207763,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "43022:4:11", + "nativeSrc": "43022:4:24", "nodeType": "YulLiteral", - "src": "43022:4:11", + "src": "43022:4:24", "type": "", "value": "0x40" }, @@ -188798,107 +207773,107 @@ "arguments": [ { "name": "resultB", - "nativeSrc": "43032:7:11", + "nativeSrc": "43032:7:24", "nodeType": "YulIdentifier", - "src": "43032:7:11" + "src": "43032:7:24" }, { "kind": "number", - "nativeSrc": "43041:4:11", + "nativeSrc": "43041:4:24", "nodeType": "YulLiteral", - "src": "43041:4:11", + "src": "43041:4:24", "type": "", "value": "0x40" } ], "functionName": { "name": "add", - "nativeSrc": "43028:3:11", + "nativeSrc": "43028:3:24", "nodeType": "YulIdentifier", - "src": "43028:3:11" + "src": "43028:3:24" }, - "nativeSrc": "43028:18:11", + "nativeSrc": "43028:18:24", "nodeType": "YulFunctionCall", - "src": "43028:18:11" + "src": "43028:18:24" } ], "functionName": { "name": "mstore", - "nativeSrc": "43015:6:11", + "nativeSrc": "43015:6:24", "nodeType": "YulIdentifier", - "src": "43015:6:11" + "src": "43015:6:24" }, - "nativeSrc": "43015:32:11", + "nativeSrc": "43015:32:24", "nodeType": "YulFunctionCall", - "src": "43015:32:11" + "src": "43015:32:24" }, - "nativeSrc": "43015:32:11", + "nativeSrc": "43015:32:24", "nodeType": "YulExpressionStatement", - "src": "43015:32:11" + "src": "43015:32:24" }, { "expression": { "arguments": [ { "name": "resultA", - "nativeSrc": "43108:7:11", + "nativeSrc": "43108:7:24", "nodeType": "YulIdentifier", - "src": "43108:7:11" + "src": "43108:7:24" }, { "kind": "number", - "nativeSrc": "43117:1:11", + "nativeSrc": "43117:1:24", "nodeType": "YulLiteral", - "src": "43117:1:11", + "src": "43117:1:24", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "43101:6:11", + "nativeSrc": "43101:6:24", "nodeType": "YulIdentifier", - "src": "43101:6:11" + "src": "43101:6:24" }, - "nativeSrc": "43101:18:11", + "nativeSrc": "43101:18:24", "nodeType": "YulFunctionCall", - "src": "43101:18:11" + "src": "43101:18:24" }, - "nativeSrc": "43101:18:11", + "nativeSrc": "43101:18:24", "nodeType": "YulExpressionStatement", - "src": "43101:18:11" + "src": "43101:18:24" }, { "expression": { "arguments": [ { "name": "resultB", - "nativeSrc": "43139:7:11", + "nativeSrc": "43139:7:24", "nodeType": "YulIdentifier", - "src": "43139:7:11" + "src": "43139:7:24" }, { "kind": "number", - "nativeSrc": "43148:1:11", + "nativeSrc": "43148:1:24", "nodeType": "YulLiteral", - "src": "43148:1:11", + "src": "43148:1:24", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "43132:6:11", + "nativeSrc": "43132:6:24", "nodeType": "YulIdentifier", - "src": "43132:6:11" + "src": "43132:6:24" }, - "nativeSrc": "43132:18:11", + "nativeSrc": "43132:18:24", "nodeType": "YulFunctionCall", - "src": "43132:18:11" + "src": "43132:18:24" }, - "nativeSrc": "43132:18:11", + "nativeSrc": "43132:18:24", "nodeType": "YulExpressionStatement", - "src": "43132:18:11" + "src": "43132:18:24" }, { "expression": { @@ -188907,49 +207882,49 @@ "arguments": [ { "name": "resultA", - "nativeSrc": "43218:7:11", + "nativeSrc": "43218:7:24", "nodeType": "YulIdentifier", - "src": "43218:7:11" + "src": "43218:7:24" }, { "kind": "number", - "nativeSrc": "43227:4:11", + "nativeSrc": "43227:4:24", "nodeType": "YulLiteral", - "src": "43227:4:11", + "src": "43227:4:24", "type": "", "value": "0x1f" } ], "functionName": { "name": "add", - "nativeSrc": "43214:3:11", + "nativeSrc": "43214:3:24", "nodeType": "YulIdentifier", - "src": "43214:3:11" + "src": "43214:3:24" }, - "nativeSrc": "43214:18:11", + "nativeSrc": "43214:18:24", "nodeType": "YulFunctionCall", - "src": "43214:18:11" + "src": "43214:18:24" }, { "name": "packed", - "nativeSrc": "43234:6:11", + "nativeSrc": "43234:6:24", "nodeType": "YulIdentifier", - "src": "43234:6:11" + "src": "43234:6:24" } ], "functionName": { "name": "mstore", - "nativeSrc": "43207:6:11", + "nativeSrc": "43207:6:24", "nodeType": "YulIdentifier", - "src": "43207:6:11" + "src": "43207:6:24" }, - "nativeSrc": "43207:34:11", + "nativeSrc": "43207:34:24", "nodeType": "YulFunctionCall", - "src": "43207:34:11" + "src": "43207:34:24" }, - "nativeSrc": "43207:34:11", + "nativeSrc": "43207:34:24", "nodeType": "YulExpressionStatement", - "src": "43207:34:11" + "src": "43207:34:24" }, { "expression": { @@ -188958,28 +207933,28 @@ "arguments": [ { "name": "resultB", - "nativeSrc": "43265:7:11", + "nativeSrc": "43265:7:24", "nodeType": "YulIdentifier", - "src": "43265:7:11" + "src": "43265:7:24" }, { "kind": "number", - "nativeSrc": "43274:4:11", + "nativeSrc": "43274:4:24", "nodeType": "YulLiteral", - "src": "43274:4:11", + "src": "43274:4:24", "type": "", "value": "0x1f" } ], "functionName": { "name": "add", - "nativeSrc": "43261:3:11", + "nativeSrc": "43261:3:24", "nodeType": "YulIdentifier", - "src": "43261:3:11" + "src": "43261:3:24" }, - "nativeSrc": "43261:18:11", + "nativeSrc": "43261:18:24", "nodeType": "YulFunctionCall", - "src": "43261:18:11" + "src": "43261:18:24" }, { "arguments": [ @@ -188989,84 +207964,84 @@ "arguments": [ { "name": "resultA", - "nativeSrc": "43295:7:11", + "nativeSrc": "43295:7:24", "nodeType": "YulIdentifier", - "src": "43295:7:11" + "src": "43295:7:24" }, { "kind": "number", - "nativeSrc": "43304:4:11", + "nativeSrc": "43304:4:24", "nodeType": "YulLiteral", - "src": "43304:4:11", + "src": "43304:4:24", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "43291:3:11", + "nativeSrc": "43291:3:24", "nodeType": "YulIdentifier", - "src": "43291:3:11" + "src": "43291:3:24" }, - "nativeSrc": "43291:18:11", + "nativeSrc": "43291:18:24", "nodeType": "YulFunctionCall", - "src": "43291:18:11" + "src": "43291:18:24" }, { "arguments": [ { "name": "resultA", - "nativeSrc": "43317:7:11", + "nativeSrc": "43317:7:24", "nodeType": "YulIdentifier", - "src": "43317:7:11" + "src": "43317:7:24" } ], "functionName": { "name": "mload", - "nativeSrc": "43311:5:11", + "nativeSrc": "43311:5:24", "nodeType": "YulIdentifier", - "src": "43311:5:11" + "src": "43311:5:24" }, - "nativeSrc": "43311:14:11", + "nativeSrc": "43311:14:24", "nodeType": "YulFunctionCall", - "src": "43311:14:11" + "src": "43311:14:24" } ], "functionName": { "name": "add", - "nativeSrc": "43287:3:11", + "nativeSrc": "43287:3:24", "nodeType": "YulIdentifier", - "src": "43287:3:11" + "src": "43287:3:24" }, - "nativeSrc": "43287:39:11", + "nativeSrc": "43287:39:24", "nodeType": "YulFunctionCall", - "src": "43287:39:11" + "src": "43287:39:24" } ], "functionName": { "name": "mload", - "nativeSrc": "43281:5:11", + "nativeSrc": "43281:5:24", "nodeType": "YulIdentifier", - "src": "43281:5:11" + "src": "43281:5:24" }, - "nativeSrc": "43281:46:11", + "nativeSrc": "43281:46:24", "nodeType": "YulFunctionCall", - "src": "43281:46:11" + "src": "43281:46:24" } ], "functionName": { "name": "mstore", - "nativeSrc": "43254:6:11", + "nativeSrc": "43254:6:24", "nodeType": "YulIdentifier", - "src": "43254:6:11" + "src": "43254:6:24" }, - "nativeSrc": "43254:74:11", + "nativeSrc": "43254:74:24", "nodeType": "YulFunctionCall", - "src": "43254:74:11" + "src": "43254:74:24" }, - "nativeSrc": "43254:74:11", + "nativeSrc": "43254:74:24", "nodeType": "YulExpressionStatement", - "src": "43254:74:11" + "src": "43254:74:24" }, { "expression": { @@ -189077,81 +208052,81 @@ "arguments": [ { "name": "resultA", - "nativeSrc": "43394:7:11", + "nativeSrc": "43394:7:24", "nodeType": "YulIdentifier", - "src": "43394:7:11" + "src": "43394:7:24" }, { "kind": "number", - "nativeSrc": "43403:4:11", + "nativeSrc": "43403:4:24", "nodeType": "YulLiteral", - "src": "43403:4:11", + "src": "43403:4:24", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "43390:3:11", + "nativeSrc": "43390:3:24", "nodeType": "YulIdentifier", - "src": "43390:3:11" + "src": "43390:3:24" }, - "nativeSrc": "43390:18:11", + "nativeSrc": "43390:18:24", "nodeType": "YulFunctionCall", - "src": "43390:18:11" + "src": "43390:18:24" }, { "arguments": [ { "name": "resultA", - "nativeSrc": "43416:7:11", + "nativeSrc": "43416:7:24", "nodeType": "YulIdentifier", - "src": "43416:7:11" + "src": "43416:7:24" } ], "functionName": { "name": "mload", - "nativeSrc": "43410:5:11", + "nativeSrc": "43410:5:24", "nodeType": "YulIdentifier", - "src": "43410:5:11" + "src": "43410:5:24" }, - "nativeSrc": "43410:14:11", + "nativeSrc": "43410:14:24", "nodeType": "YulFunctionCall", - "src": "43410:14:11" + "src": "43410:14:24" } ], "functionName": { "name": "add", - "nativeSrc": "43386:3:11", + "nativeSrc": "43386:3:24", "nodeType": "YulIdentifier", - "src": "43386:3:11" + "src": "43386:3:24" }, - "nativeSrc": "43386:39:11", + "nativeSrc": "43386:39:24", "nodeType": "YulFunctionCall", - "src": "43386:39:11" + "src": "43386:39:24" }, { "kind": "number", - "nativeSrc": "43427:1:11", + "nativeSrc": "43427:1:24", "nodeType": "YulLiteral", - "src": "43427:1:11", + "src": "43427:1:24", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "43379:6:11", + "nativeSrc": "43379:6:24", "nodeType": "YulIdentifier", - "src": "43379:6:11" + "src": "43379:6:24" }, - "nativeSrc": "43379:50:11", + "nativeSrc": "43379:50:24", "nodeType": "YulFunctionCall", - "src": "43379:50:11" + "src": "43379:50:24" }, - "nativeSrc": "43379:50:11", + "nativeSrc": "43379:50:24", "nodeType": "YulExpressionStatement", - "src": "43379:50:11" + "src": "43379:50:24" }, { "expression": { @@ -189162,81 +208137,81 @@ "arguments": [ { "name": "resultB", - "nativeSrc": "43457:7:11", + "nativeSrc": "43457:7:24", "nodeType": "YulIdentifier", - "src": "43457:7:11" + "src": "43457:7:24" }, { "kind": "number", - "nativeSrc": "43466:4:11", + "nativeSrc": "43466:4:24", "nodeType": "YulLiteral", - "src": "43466:4:11", + "src": "43466:4:24", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "43453:3:11", + "nativeSrc": "43453:3:24", "nodeType": "YulIdentifier", - "src": "43453:3:11" + "src": "43453:3:24" }, - "nativeSrc": "43453:18:11", + "nativeSrc": "43453:18:24", "nodeType": "YulFunctionCall", - "src": "43453:18:11" + "src": "43453:18:24" }, { "arguments": [ { "name": "resultB", - "nativeSrc": "43479:7:11", + "nativeSrc": "43479:7:24", "nodeType": "YulIdentifier", - "src": "43479:7:11" + "src": "43479:7:24" } ], "functionName": { "name": "mload", - "nativeSrc": "43473:5:11", + "nativeSrc": "43473:5:24", "nodeType": "YulIdentifier", - "src": "43473:5:11" + "src": "43473:5:24" }, - "nativeSrc": "43473:14:11", + "nativeSrc": "43473:14:24", "nodeType": "YulFunctionCall", - "src": "43473:14:11" + "src": "43473:14:24" } ], "functionName": { "name": "add", - "nativeSrc": "43449:3:11", + "nativeSrc": "43449:3:24", "nodeType": "YulIdentifier", - "src": "43449:3:11" + "src": "43449:3:24" }, - "nativeSrc": "43449:39:11", + "nativeSrc": "43449:39:24", "nodeType": "YulFunctionCall", - "src": "43449:39:11" + "src": "43449:39:24" }, { "kind": "number", - "nativeSrc": "43490:1:11", + "nativeSrc": "43490:1:24", "nodeType": "YulLiteral", - "src": "43490:1:11", + "src": "43490:1:24", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "43442:6:11", + "nativeSrc": "43442:6:24", "nodeType": "YulIdentifier", - "src": "43442:6:11" + "src": "43442:6:24" }, - "nativeSrc": "43442:50:11", + "nativeSrc": "43442:50:24", "nodeType": "YulFunctionCall", - "src": "43442:50:11" + "src": "43442:50:24" }, - "nativeSrc": "43442:50:11", + "nativeSrc": "43442:50:24", "nodeType": "YulExpressionStatement", - "src": "43442:50:11" + "src": "43442:50:24" } ] }, @@ -189244,143 +208219,143 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 6116, + "declaration": 7722, "isOffset": false, "isSlot": false, - "src": "43234:6:11", + "src": "43234:6:24", "valueSize": 1 }, { - "declaration": 6119, + "declaration": 7725, "isOffset": false, "isSlot": false, - "src": "42806:7:11", + "src": "42806:7:24", "valueSize": 1 }, { - "declaration": 6119, + "declaration": 7725, "isOffset": false, "isSlot": false, - "src": "42889:7:11", + "src": "42889:7:24", "valueSize": 1 }, { - "declaration": 6119, + "declaration": 7725, "isOffset": false, "isSlot": false, - "src": "43108:7:11", + "src": "43108:7:24", "valueSize": 1 }, { - "declaration": 6119, + "declaration": 7725, "isOffset": false, "isSlot": false, - "src": "43218:7:11", + "src": "43218:7:24", "valueSize": 1 }, { - "declaration": 6119, + "declaration": 7725, "isOffset": false, "isSlot": false, - "src": "43295:7:11", + "src": "43295:7:24", "valueSize": 1 }, { - "declaration": 6119, + "declaration": 7725, "isOffset": false, "isSlot": false, - "src": "43317:7:11", + "src": "43317:7:24", "valueSize": 1 }, { - "declaration": 6119, + "declaration": 7725, "isOffset": false, "isSlot": false, - "src": "43394:7:11", + "src": "43394:7:24", "valueSize": 1 }, { - "declaration": 6119, + "declaration": 7725, "isOffset": false, "isSlot": false, - "src": "43416:7:11", + "src": "43416:7:24", "valueSize": 1 }, { - "declaration": 6121, + "declaration": 7727, "isOffset": false, "isSlot": false, - "src": "42874:7:11", + "src": "42874:7:24", "valueSize": 1 }, { - "declaration": 6121, + "declaration": 7727, "isOffset": false, "isSlot": false, - "src": "43032:7:11", + "src": "43032:7:24", "valueSize": 1 }, { - "declaration": 6121, + "declaration": 7727, "isOffset": false, "isSlot": false, - "src": "43139:7:11", + "src": "43139:7:24", "valueSize": 1 }, { - "declaration": 6121, + "declaration": 7727, "isOffset": false, "isSlot": false, - "src": "43265:7:11", + "src": "43265:7:24", "valueSize": 1 }, { - "declaration": 6121, + "declaration": 7727, "isOffset": false, "isSlot": false, - "src": "43457:7:11", + "src": "43457:7:24", "valueSize": 1 }, { - "declaration": 6121, + "declaration": 7727, "isOffset": false, "isSlot": false, - "src": "43479:7:11", + "src": "43479:7:24", "valueSize": 1 } ], - "id": 6123, + "id": 7729, "nodeType": "InlineAssembly", - "src": "42783:719:11" + "src": "42783:719:24" } ] }, "documentation": { - "id": 6114, + "id": 7720, "nodeType": "StructuredDocumentation", - "src": "42397:196:11", + "src": "42397:196:24", "text": "@dev Unpacks strings packed using {packTwo}.\n Returns the empty strings if `packed` is `bytes32(0)`.\n If `packed` is not an output of {packTwo}, the output behavior is undefined." }, - "id": 6125, + "id": 7731, "implemented": true, "kind": "function", "modifiers": [], "name": "unpackTwo", - "nameLocation": "42607:9:11", + "nameLocation": "42607:9:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 6117, + "id": 7723, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6116, + "id": 7722, "mutability": "mutable", "name": "packed", - "nameLocation": "42625:6:11", + "nameLocation": "42625:6:24", "nodeType": "VariableDeclaration", - "scope": 6125, - "src": "42617:14:11", + "scope": 7731, + "src": "42617:14:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -189388,10 +208363,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6115, + "id": 7721, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "42617:7:11", + "src": "42617:7:24", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -189400,21 +208375,21 @@ "visibility": "internal" } ], - "src": "42616:16:11" + "src": "42616:16:24" }, "returnParameters": { - "id": 6122, + "id": 7728, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6119, + "id": 7725, "mutability": "mutable", "name": "resultA", - "nameLocation": "42694:7:11", + "nameLocation": "42694:7:24", "nodeType": "VariableDeclaration", - "scope": 6125, - "src": "42680:21:11", + "scope": 7731, + "src": "42680:21:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -189422,10 +208397,10 @@ "typeString": "string" }, "typeName": { - "id": 6118, + "id": 7724, "name": "string", "nodeType": "ElementaryTypeName", - "src": "42680:6:11", + "src": "42680:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -189435,13 +208410,13 @@ }, { "constant": false, - "id": 6121, + "id": 7727, "mutability": "mutable", "name": "resultB", - "nameLocation": "42717:7:11", + "nameLocation": "42717:7:24", "nodeType": "VariableDeclaration", - "scope": 6125, - "src": "42703:21:11", + "scope": 7731, + "src": "42703:21:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -189449,10 +208424,10 @@ "typeString": "string" }, "typeName": { - "id": 6120, + "id": 7726, "name": "string", "nodeType": "ElementaryTypeName", - "src": "42703:6:11", + "src": "42703:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -189461,117 +208436,117 @@ "visibility": "internal" } ], - "src": "42679:46:11" + "src": "42679:46:24" }, - "scope": 6134, - "src": "42598:910:11", + "scope": 7740, + "src": "42598:910:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 6132, + "id": 7738, "nodeType": "Block", - "src": "43618:631:11", + "src": "43618:631:24", "statements": [ { "AST": { - "nativeSrc": "43680:563:11", + "nativeSrc": "43680:563:24", "nodeType": "YulBlock", - "src": "43680:563:11", + "src": "43680:563:24", "statements": [ { - "nativeSrc": "43772:28:11", + "nativeSrc": "43772:28:24", "nodeType": "YulVariableDeclaration", - "src": "43772:28:11", + "src": "43772:28:24", "value": { "arguments": [ { "name": "a", - "nativeSrc": "43792:1:11", + "nativeSrc": "43792:1:24", "nodeType": "YulIdentifier", - "src": "43792:1:11" + "src": "43792:1:24" }, { "kind": "number", - "nativeSrc": "43795:4:11", + "nativeSrc": "43795:4:24", "nodeType": "YulLiteral", - "src": "43795:4:11", + "src": "43795:4:24", "type": "", "value": "0x20" } ], "functionName": { "name": "sub", - "nativeSrc": "43788:3:11", + "nativeSrc": "43788:3:24", "nodeType": "YulIdentifier", - "src": "43788:3:11" + "src": "43788:3:24" }, - "nativeSrc": "43788:12:11", + "nativeSrc": "43788:12:24", "nodeType": "YulFunctionCall", - "src": "43788:12:11" + "src": "43788:12:24" }, "variables": [ { "name": "retStart", - "nativeSrc": "43776:8:11", + "nativeSrc": "43776:8:24", "nodeType": "YulTypedName", - "src": "43776:8:11", + "src": "43776:8:24", "type": "" } ] }, { - "nativeSrc": "43813:42:11", + "nativeSrc": "43813:42:24", "nodeType": "YulVariableDeclaration", - "src": "43813:42:11", + "src": "43813:42:24", "value": { "arguments": [ { "arguments": [ { "name": "a", - "nativeSrc": "43846:1:11", + "nativeSrc": "43846:1:24", "nodeType": "YulIdentifier", - "src": "43846:1:11" + "src": "43846:1:24" } ], "functionName": { "name": "mload", - "nativeSrc": "43840:5:11", + "nativeSrc": "43840:5:24", "nodeType": "YulIdentifier", - "src": "43840:5:11" + "src": "43840:5:24" }, - "nativeSrc": "43840:8:11", + "nativeSrc": "43840:8:24", "nodeType": "YulFunctionCall", - "src": "43840:8:11" + "src": "43840:8:24" }, { "kind": "number", - "nativeSrc": "43850:4:11", + "nativeSrc": "43850:4:24", "nodeType": "YulLiteral", - "src": "43850:4:11", + "src": "43850:4:24", "type": "", "value": "0x40" } ], "functionName": { "name": "add", - "nativeSrc": "43836:3:11", + "nativeSrc": "43836:3:24", "nodeType": "YulIdentifier", - "src": "43836:3:11" + "src": "43836:3:24" }, - "nativeSrc": "43836:19:11", + "nativeSrc": "43836:19:24", "nodeType": "YulFunctionCall", - "src": "43836:19:11" + "src": "43836:19:24" }, "variables": [ { "name": "retUnpaddedSize", - "nativeSrc": "43817:15:11", + "nativeSrc": "43817:15:24", "nodeType": "YulTypedName", - "src": "43817:15:11", + "src": "43817:15:24", "type": "" } ] @@ -189583,90 +208558,90 @@ "arguments": [ { "name": "retStart", - "nativeSrc": "44009:8:11", + "nativeSrc": "44009:8:24", "nodeType": "YulIdentifier", - "src": "44009:8:11" + "src": "44009:8:24" }, { "name": "retUnpaddedSize", - "nativeSrc": "44019:15:11", + "nativeSrc": "44019:15:24", "nodeType": "YulIdentifier", - "src": "44019:15:11" + "src": "44019:15:24" } ], "functionName": { "name": "add", - "nativeSrc": "44005:3:11", + "nativeSrc": "44005:3:24", "nodeType": "YulIdentifier", - "src": "44005:3:11" + "src": "44005:3:24" }, - "nativeSrc": "44005:30:11", + "nativeSrc": "44005:30:24", "nodeType": "YulFunctionCall", - "src": "44005:30:11" + "src": "44005:30:24" }, { "kind": "number", - "nativeSrc": "44037:1:11", + "nativeSrc": "44037:1:24", "nodeType": "YulLiteral", - "src": "44037:1:11", + "src": "44037:1:24", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "43998:6:11", + "nativeSrc": "43998:6:24", "nodeType": "YulIdentifier", - "src": "43998:6:11" + "src": "43998:6:24" }, - "nativeSrc": "43998:41:11", + "nativeSrc": "43998:41:24", "nodeType": "YulFunctionCall", - "src": "43998:41:11" + "src": "43998:41:24" }, - "nativeSrc": "43998:41:11", + "nativeSrc": "43998:41:24", "nodeType": "YulExpressionStatement", - "src": "43998:41:11" + "src": "43998:41:24" }, { "expression": { "arguments": [ { "name": "retStart", - "nativeSrc": "44059:8:11", + "nativeSrc": "44059:8:24", "nodeType": "YulIdentifier", - "src": "44059:8:11" + "src": "44059:8:24" }, { "kind": "number", - "nativeSrc": "44069:4:11", + "nativeSrc": "44069:4:24", "nodeType": "YulLiteral", - "src": "44069:4:11", + "src": "44069:4:24", "type": "", "value": "0x20" } ], "functionName": { "name": "mstore", - "nativeSrc": "44052:6:11", + "nativeSrc": "44052:6:24", "nodeType": "YulIdentifier", - "src": "44052:6:11" + "src": "44052:6:24" }, - "nativeSrc": "44052:22:11", + "nativeSrc": "44052:22:24", "nodeType": "YulFunctionCall", - "src": "44052:22:11" + "src": "44052:22:24" }, - "nativeSrc": "44052:22:11", + "nativeSrc": "44052:22:24", "nodeType": "YulExpressionStatement", - "src": "44052:22:11" + "src": "44052:22:24" }, { "expression": { "arguments": [ { "name": "retStart", - "nativeSrc": "44180:8:11", + "nativeSrc": "44180:8:24", "nodeType": "YulIdentifier", - "src": "44180:8:11" + "src": "44180:8:24" }, { "arguments": [ @@ -189674,75 +208649,75 @@ "arguments": [ { "kind": "number", - "nativeSrc": "44198:4:11", + "nativeSrc": "44198:4:24", "nodeType": "YulLiteral", - "src": "44198:4:11", + "src": "44198:4:24", "type": "", "value": "0x1f" } ], "functionName": { "name": "not", - "nativeSrc": "44194:3:11", + "nativeSrc": "44194:3:24", "nodeType": "YulIdentifier", - "src": "44194:3:11" + "src": "44194:3:24" }, - "nativeSrc": "44194:9:11", + "nativeSrc": "44194:9:24", "nodeType": "YulFunctionCall", - "src": "44194:9:11" + "src": "44194:9:24" }, { "arguments": [ { "kind": "number", - "nativeSrc": "44209:4:11", + "nativeSrc": "44209:4:24", "nodeType": "YulLiteral", - "src": "44209:4:11", + "src": "44209:4:24", "type": "", "value": "0x1f" }, { "name": "retUnpaddedSize", - "nativeSrc": "44215:15:11", + "nativeSrc": "44215:15:24", "nodeType": "YulIdentifier", - "src": "44215:15:11" + "src": "44215:15:24" } ], "functionName": { "name": "add", - "nativeSrc": "44205:3:11", + "nativeSrc": "44205:3:24", "nodeType": "YulIdentifier", - "src": "44205:3:11" + "src": "44205:3:24" }, - "nativeSrc": "44205:26:11", + "nativeSrc": "44205:26:24", "nodeType": "YulFunctionCall", - "src": "44205:26:11" + "src": "44205:26:24" } ], "functionName": { "name": "and", - "nativeSrc": "44190:3:11", + "nativeSrc": "44190:3:24", "nodeType": "YulIdentifier", - "src": "44190:3:11" + "src": "44190:3:24" }, - "nativeSrc": "44190:42:11", + "nativeSrc": "44190:42:24", "nodeType": "YulFunctionCall", - "src": "44190:42:11" + "src": "44190:42:24" } ], "functionName": { "name": "return", - "nativeSrc": "44173:6:11", + "nativeSrc": "44173:6:24", "nodeType": "YulIdentifier", - "src": "44173:6:11" + "src": "44173:6:24" }, - "nativeSrc": "44173:60:11", + "nativeSrc": "44173:60:24", "nodeType": "YulFunctionCall", - "src": "44173:60:11" + "src": "44173:60:24" }, - "nativeSrc": "44173:60:11", + "nativeSrc": "44173:60:24", "nodeType": "YulExpressionStatement", - "src": "44173:60:11" + "src": "44173:60:24" } ] }, @@ -189750,52 +208725,52 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 6128, + "declaration": 7734, "isOffset": false, "isSlot": false, - "src": "43792:1:11", + "src": "43792:1:24", "valueSize": 1 }, { - "declaration": 6128, + "declaration": 7734, "isOffset": false, "isSlot": false, - "src": "43846:1:11", + "src": "43846:1:24", "valueSize": 1 } ], - "id": 6131, + "id": 7737, "nodeType": "InlineAssembly", - "src": "43671:572:11" + "src": "43671:572:24" } ] }, "documentation": { - "id": 6126, + "id": 7732, "nodeType": "StructuredDocumentation", - "src": "43514:46:11", + "src": "43514:46:24", "text": "@dev Directly returns `a` without copying." }, - "id": 6133, + "id": 7739, "implemented": true, "kind": "function", "modifiers": [], "name": "directReturn", - "nameLocation": "43574:12:11", + "nameLocation": "43574:12:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 6129, + "id": 7735, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6128, + "id": 7734, "mutability": "mutable", "name": "a", - "nameLocation": "43601:1:11", + "nameLocation": "43601:1:24", "nodeType": "VariableDeclaration", - "scope": 6133, - "src": "43587:15:11", + "scope": 7739, + "src": "43587:15:24", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -189803,10 +208778,10 @@ "typeString": "string" }, "typeName": { - "id": 6127, + "id": 7733, "name": "string", "nodeType": "ElementaryTypeName", - "src": "43587:6:11", + "src": "43587:6:24", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -189815,49 +208790,49 @@ "visibility": "internal" } ], - "src": "43586:17:11" + "src": "43586:17:24" }, "returnParameters": { - "id": 6130, + "id": 7736, "nodeType": "ParameterList", "parameters": [], - "src": "43618:0:11" + "src": "43618:0:24" }, - "scope": 6134, - "src": "43565:684:11", + "scope": 7740, + "src": "43565:684:24", "stateMutability": "pure", "virtual": false, "visibility": "internal" } ], - "scope": 6135, - "src": "690:43561:11", + "scope": 7741, + "src": "690:43561:24", "usedErrors": [ - 5105, - 5108, - 5111 + 6711, + 6714, + 6717 ], "usedEvents": [] } ], - "src": "32:44220:11" + "src": "32:44220:24" }, - "id": 11 + "id": 24 }, "solady/utils/SignatureCheckerLib.sol": { "ast": { "absolutePath": "solady/utils/SignatureCheckerLib.sol", "exportedSymbols": { "SignatureCheckerLib": [ - 6354 + 7960 ] }, - "id": 6355, + "id": 7961, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 6136, + "id": 7742, "literals": [ "solidity", "^", @@ -189865,7 +208840,7 @@ ".4" ], "nodeType": "PragmaDirective", - "src": "32:23:12" + "src": "32:23:25" }, { "abstract": false, @@ -189874,25 +208849,25 @@ "contractDependencies": [], "contractKind": "library", "documentation": { - "id": 6137, + "id": 7743, "nodeType": "StructuredDocumentation", - "src": "57:1381:12", + "src": "57:1381:25", "text": "@notice Signature verification helper that supports both ECDSA signatures from EOAs\n and ERC1271 signatures from smart contract wallets like Argent and Gnosis safe.\n @author Solady (https://github.com/vectorized/solady/blob/main/src/utils/SignatureCheckerLib.sol)\n @author Modified from OpenZeppelin (https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/cryptography/SignatureChecker.sol)\n @dev Note:\n - The signature checking functions use the ecrecover precompile (0x1).\n - The `bytes memory signature` variants use the identity precompile (0x4)\n to copy memory internally.\n - Unlike ECDSA signatures, contract signatures are revocable.\n - As of Solady version 0.0.134, all `bytes signature` variants accept both\n regular 65-byte `(r, s, v)` and EIP-2098 `(r, vs)` short form signatures.\n See: https://eips.ethereum.org/EIPS/eip-2098\n This is for calldata efficiency on smart accounts prevalent on L2s.\n WARNING! Do NOT use signatures as unique identifiers:\n - Use a nonce in the digest to prevent replay attacks on the same contract.\n - Use EIP-712 for the digest to prevent replay attacks across different chains and contracts.\n EIP-712 also enables readable signing of typed data for better user safety.\n This implementation does NOT check if a signature is non-malleable." }, "fullyImplemented": true, - "id": 6354, + "id": 7960, "linearizedBaseContracts": [ - 6354 + 7960 ], "name": "SignatureCheckerLib", - "nameLocation": "1446:19:12", + "nameLocation": "1446:19:25", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 6159, + "id": 7765, "nodeType": "Block", - "src": "2104:1914:12", + "src": "2104:1914:25", "statements": [ { "condition": { @@ -189900,18 +208875,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 6154, + "id": 7760, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 6149, + "id": 7755, "name": "signer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6140, - "src": "2118:6:12", + "referencedDeclaration": 7746, + "src": "2118:6:25", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -189923,14 +208898,14 @@ "arguments": [ { "hexValue": "30", - "id": 6152, + "id": 7758, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2136:1:12", + "src": "2136:1:25", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -189945,26 +208920,26 @@ "typeString": "int_const 0" } ], - "id": 6151, + "id": 7757, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2128:7:12", + "src": "2128:7:25", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 6150, + "id": 7756, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2128:7:12", + "src": "2128:7:25", "typeDescriptions": {} } }, - "id": 6153, + "id": 7759, "isConstant": false, "isLValue": false, "isPure": true, @@ -189973,152 +208948,152 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2128:10:12", + "src": "2128:10:25", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2118:20:12", + "src": "2118:20:25", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 6157, + "id": 7763, "nodeType": "IfStatement", - "src": "2114:40:12", + "src": "2114:40:25", "trueBody": { "expression": { - "id": 6155, + "id": 7761, "name": "isValid", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6147, - "src": "2147:7:12", + "referencedDeclaration": 7753, + "src": "2147:7:25", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 6148, - "id": 6156, + "functionReturnParameters": 7754, + "id": 7762, "nodeType": "Return", - "src": "2140:14:12" + "src": "2140:14:25" } }, { "AST": { - "nativeSrc": "2216:1796:12", + "nativeSrc": "2216:1796:25", "nodeType": "YulBlock", - "src": "2216:1796:12", + "src": "2216:1796:25", "statements": [ { - "nativeSrc": "2230:20:12", + "nativeSrc": "2230:20:25", "nodeType": "YulVariableDeclaration", - "src": "2230:20:12", + "src": "2230:20:25", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "2245:4:12", + "nativeSrc": "2245:4:25", "nodeType": "YulLiteral", - "src": "2245:4:12", + "src": "2245:4:25", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "2239:5:12", + "nativeSrc": "2239:5:25", "nodeType": "YulIdentifier", - "src": "2239:5:12" + "src": "2239:5:25" }, - "nativeSrc": "2239:11:12", + "nativeSrc": "2239:11:25", "nodeType": "YulFunctionCall", - "src": "2239:11:12" + "src": "2239:11:25" }, "variables": [ { "name": "m", - "nativeSrc": "2234:1:12", + "nativeSrc": "2234:1:25", "nodeType": "YulTypedName", - "src": "2234:1:12", + "src": "2234:1:25", "type": "" } ] }, { "body": { - "nativeSrc": "2275:1727:12", + "nativeSrc": "2275:1727:25", "nodeType": "YulBlock", - "src": "2275:1727:12", + "src": "2275:1727:25", "statements": [ { "body": { - "nativeSrc": "2324:1000:12", + "nativeSrc": "2324:1000:25", "nodeType": "YulBlock", - "src": "2324:1000:12", + "src": "2324:1000:25", "statements": [ { "cases": [ { "body": { - "nativeSrc": "2398:218:12", + "nativeSrc": "2398:218:25", "nodeType": "YulBlock", - "src": "2398:218:12", + "src": "2398:218:25", "statements": [ { - "nativeSrc": "2424:37:12", + "nativeSrc": "2424:37:25", "nodeType": "YulVariableDeclaration", - "src": "2424:37:12", + "src": "2424:37:25", "value": { "arguments": [ { "arguments": [ { "name": "signature", - "nativeSrc": "2444:9:12", + "nativeSrc": "2444:9:25", "nodeType": "YulIdentifier", - "src": "2444:9:12" + "src": "2444:9:25" }, { "kind": "number", - "nativeSrc": "2455:4:12", + "nativeSrc": "2455:4:25", "nodeType": "YulLiteral", - "src": "2455:4:12", + "src": "2455:4:25", "type": "", "value": "0x40" } ], "functionName": { "name": "add", - "nativeSrc": "2440:3:12", + "nativeSrc": "2440:3:25", "nodeType": "YulIdentifier", - "src": "2440:3:12" + "src": "2440:3:25" }, - "nativeSrc": "2440:20:12", + "nativeSrc": "2440:20:25", "nodeType": "YulFunctionCall", - "src": "2440:20:12" + "src": "2440:20:25" } ], "functionName": { "name": "mload", - "nativeSrc": "2434:5:12", + "nativeSrc": "2434:5:25", "nodeType": "YulIdentifier", - "src": "2434:5:12" + "src": "2434:5:25" }, - "nativeSrc": "2434:27:12", + "nativeSrc": "2434:27:25", "nodeType": "YulFunctionCall", - "src": "2434:27:12" + "src": "2434:27:25" }, "variables": [ { "name": "vs", - "nativeSrc": "2428:2:12", + "nativeSrc": "2428:2:25", "nodeType": "YulTypedName", - "src": "2428:2:12", + "src": "2428:2:25", "type": "" } ] @@ -190128,9 +209103,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "2493:4:12", + "nativeSrc": "2493:4:25", "nodeType": "YulLiteral", - "src": "2493:4:12", + "src": "2493:4:25", "type": "", "value": "0x20" }, @@ -190140,71 +209115,71 @@ "arguments": [ { "kind": "number", - "nativeSrc": "2507:3:12", + "nativeSrc": "2507:3:25", "nodeType": "YulLiteral", - "src": "2507:3:12", + "src": "2507:3:25", "type": "", "value": "255" }, { "name": "vs", - "nativeSrc": "2512:2:12", + "nativeSrc": "2512:2:25", "nodeType": "YulIdentifier", - "src": "2512:2:12" + "src": "2512:2:25" } ], "functionName": { "name": "shr", - "nativeSrc": "2503:3:12", + "nativeSrc": "2503:3:25", "nodeType": "YulIdentifier", - "src": "2503:3:12" + "src": "2503:3:25" }, - "nativeSrc": "2503:12:12", + "nativeSrc": "2503:12:25", "nodeType": "YulFunctionCall", - "src": "2503:12:12" + "src": "2503:12:25" }, { "kind": "number", - "nativeSrc": "2517:2:12", + "nativeSrc": "2517:2:25", "nodeType": "YulLiteral", - "src": "2517:2:12", + "src": "2517:2:25", "type": "", "value": "27" } ], "functionName": { "name": "add", - "nativeSrc": "2499:3:12", + "nativeSrc": "2499:3:25", "nodeType": "YulIdentifier", - "src": "2499:3:12" + "src": "2499:3:25" }, - "nativeSrc": "2499:21:12", + "nativeSrc": "2499:21:25", "nodeType": "YulFunctionCall", - "src": "2499:21:12" + "src": "2499:21:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "2486:6:12", + "nativeSrc": "2486:6:25", "nodeType": "YulIdentifier", - "src": "2486:6:12" + "src": "2486:6:25" }, - "nativeSrc": "2486:35:12", + "nativeSrc": "2486:35:25", "nodeType": "YulFunctionCall", - "src": "2486:35:12" + "src": "2486:35:25" }, - "nativeSrc": "2486:35:12", + "nativeSrc": "2486:35:25", "nodeType": "YulExpressionStatement", - "src": "2486:35:12" + "src": "2486:35:25" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "2561:4:12", + "nativeSrc": "2561:4:25", "nodeType": "YulLiteral", - "src": "2561:4:12", + "src": "2561:4:25", "type": "", "value": "0x60" }, @@ -190212,9 +209187,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "2571:1:12", + "nativeSrc": "2571:1:25", "nodeType": "YulLiteral", - "src": "2571:1:12", + "src": "2571:1:25", "type": "", "value": "1" }, @@ -190222,83 +209197,83 @@ "arguments": [ { "kind": "number", - "nativeSrc": "2578:1:12", + "nativeSrc": "2578:1:25", "nodeType": "YulLiteral", - "src": "2578:1:12", + "src": "2578:1:25", "type": "", "value": "1" }, { "name": "vs", - "nativeSrc": "2581:2:12", + "nativeSrc": "2581:2:25", "nodeType": "YulIdentifier", - "src": "2581:2:12" + "src": "2581:2:25" } ], "functionName": { "name": "shl", - "nativeSrc": "2574:3:12", + "nativeSrc": "2574:3:25", "nodeType": "YulIdentifier", - "src": "2574:3:12" + "src": "2574:3:25" }, - "nativeSrc": "2574:10:12", + "nativeSrc": "2574:10:25", "nodeType": "YulFunctionCall", - "src": "2574:10:12" + "src": "2574:10:25" } ], "functionName": { "name": "shr", - "nativeSrc": "2567:3:12", + "nativeSrc": "2567:3:25", "nodeType": "YulIdentifier", - "src": "2567:3:12" + "src": "2567:3:25" }, - "nativeSrc": "2567:18:12", + "nativeSrc": "2567:18:25", "nodeType": "YulFunctionCall", - "src": "2567:18:12" + "src": "2567:18:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "2554:6:12", + "nativeSrc": "2554:6:25", "nodeType": "YulIdentifier", - "src": "2554:6:12" + "src": "2554:6:25" }, - "nativeSrc": "2554:32:12", + "nativeSrc": "2554:32:25", "nodeType": "YulFunctionCall", - "src": "2554:32:12" + "src": "2554:32:25" }, - "nativeSrc": "2554:32:12", + "nativeSrc": "2554:32:25", "nodeType": "YulExpressionStatement", - "src": "2554:32:12" + "src": "2554:32:25" } ] }, - "nativeSrc": "2390:226:12", + "nativeSrc": "2390:226:25", "nodeType": "YulCase", - "src": "2390:226:12", + "src": "2390:226:25", "value": { "kind": "number", - "nativeSrc": "2395:2:12", + "nativeSrc": "2395:2:25", "nodeType": "YulLiteral", - "src": "2395:2:12", + "src": "2395:2:25", "type": "", "value": "64" } }, { "body": { - "nativeSrc": "2645:180:12", + "nativeSrc": "2645:180:25", "nodeType": "YulBlock", - "src": "2645:180:12", + "src": "2645:180:25", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "2678:4:12", + "nativeSrc": "2678:4:25", "nodeType": "YulLiteral", - "src": "2678:4:12", + "src": "2678:4:25", "type": "", "value": "0x20" }, @@ -190306,9 +209281,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "2689:1:12", + "nativeSrc": "2689:1:25", "nodeType": "YulLiteral", - "src": "2689:1:12", + "src": "2689:1:25", "type": "", "value": "0" }, @@ -190318,74 +209293,74 @@ "arguments": [ { "name": "signature", - "nativeSrc": "2702:9:12", + "nativeSrc": "2702:9:25", "nodeType": "YulIdentifier", - "src": "2702:9:12" + "src": "2702:9:25" }, { "kind": "number", - "nativeSrc": "2713:4:12", + "nativeSrc": "2713:4:25", "nodeType": "YulLiteral", - "src": "2713:4:12", + "src": "2713:4:25", "type": "", "value": "0x60" } ], "functionName": { "name": "add", - "nativeSrc": "2698:3:12", + "nativeSrc": "2698:3:25", "nodeType": "YulIdentifier", - "src": "2698:3:12" + "src": "2698:3:25" }, - "nativeSrc": "2698:20:12", + "nativeSrc": "2698:20:25", "nodeType": "YulFunctionCall", - "src": "2698:20:12" + "src": "2698:20:25" } ], "functionName": { "name": "mload", - "nativeSrc": "2692:5:12", + "nativeSrc": "2692:5:25", "nodeType": "YulIdentifier", - "src": "2692:5:12" + "src": "2692:5:25" }, - "nativeSrc": "2692:27:12", + "nativeSrc": "2692:27:25", "nodeType": "YulFunctionCall", - "src": "2692:27:12" + "src": "2692:27:25" } ], "functionName": { "name": "byte", - "nativeSrc": "2684:4:12", + "nativeSrc": "2684:4:25", "nodeType": "YulIdentifier", - "src": "2684:4:12" + "src": "2684:4:25" }, - "nativeSrc": "2684:36:12", + "nativeSrc": "2684:36:25", "nodeType": "YulFunctionCall", - "src": "2684:36:12" + "src": "2684:36:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "2671:6:12", + "nativeSrc": "2671:6:25", "nodeType": "YulIdentifier", - "src": "2671:6:12" + "src": "2671:6:25" }, - "nativeSrc": "2671:50:12", + "nativeSrc": "2671:50:25", "nodeType": "YulFunctionCall", - "src": "2671:50:12" + "src": "2671:50:25" }, - "nativeSrc": "2671:50:12", + "nativeSrc": "2671:50:25", "nodeType": "YulExpressionStatement", - "src": "2671:50:12" + "src": "2671:50:25" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "2761:4:12", + "nativeSrc": "2761:4:25", "nodeType": "YulLiteral", - "src": "2761:4:12", + "src": "2761:4:25", "type": "", "value": "0x60" }, @@ -190395,85 +209370,85 @@ "arguments": [ { "name": "signature", - "nativeSrc": "2777:9:12", + "nativeSrc": "2777:9:25", "nodeType": "YulIdentifier", - "src": "2777:9:12" + "src": "2777:9:25" }, { "kind": "number", - "nativeSrc": "2788:4:12", + "nativeSrc": "2788:4:25", "nodeType": "YulLiteral", - "src": "2788:4:12", + "src": "2788:4:25", "type": "", "value": "0x40" } ], "functionName": { "name": "add", - "nativeSrc": "2773:3:12", + "nativeSrc": "2773:3:25", "nodeType": "YulIdentifier", - "src": "2773:3:12" + "src": "2773:3:25" }, - "nativeSrc": "2773:20:12", + "nativeSrc": "2773:20:25", "nodeType": "YulFunctionCall", - "src": "2773:20:12" + "src": "2773:20:25" } ], "functionName": { "name": "mload", - "nativeSrc": "2767:5:12", + "nativeSrc": "2767:5:25", "nodeType": "YulIdentifier", - "src": "2767:5:12" + "src": "2767:5:25" }, - "nativeSrc": "2767:27:12", + "nativeSrc": "2767:27:25", "nodeType": "YulFunctionCall", - "src": "2767:27:12" + "src": "2767:27:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "2754:6:12", + "nativeSrc": "2754:6:25", "nodeType": "YulIdentifier", - "src": "2754:6:12" + "src": "2754:6:25" }, - "nativeSrc": "2754:41:12", + "nativeSrc": "2754:41:25", "nodeType": "YulFunctionCall", - "src": "2754:41:12" + "src": "2754:41:25" }, - "nativeSrc": "2754:41:12", + "nativeSrc": "2754:41:25", "nodeType": "YulExpressionStatement", - "src": "2754:41:12" + "src": "2754:41:25" } ] }, - "nativeSrc": "2637:188:12", + "nativeSrc": "2637:188:25", "nodeType": "YulCase", - "src": "2637:188:12", + "src": "2637:188:25", "value": { "kind": "number", - "nativeSrc": "2642:2:12", + "nativeSrc": "2642:2:25", "nodeType": "YulLiteral", - "src": "2642:2:12", + "src": "2642:2:25", "type": "", "value": "65" } }, { "body": { - "nativeSrc": "2854:9:12", + "nativeSrc": "2854:9:25", "nodeType": "YulBlock", - "src": "2854:9:12", + "src": "2854:9:25", "statements": [ { - "nativeSrc": "2856:5:12", + "nativeSrc": "2856:5:25", "nodeType": "YulBreak", - "src": "2856:5:12" + "src": "2856:5:25" } ] }, - "nativeSrc": "2846:17:12", + "nativeSrc": "2846:17:25", "nodeType": "YulCase", - "src": "2846:17:12", + "src": "2846:17:25", "value": "default" } ], @@ -190481,65 +209456,65 @@ "arguments": [ { "name": "signature", - "nativeSrc": "2359:9:12", + "nativeSrc": "2359:9:25", "nodeType": "YulIdentifier", - "src": "2359:9:12" + "src": "2359:9:25" } ], "functionName": { "name": "mload", - "nativeSrc": "2353:5:12", + "nativeSrc": "2353:5:25", "nodeType": "YulIdentifier", - "src": "2353:5:12" + "src": "2353:5:25" }, - "nativeSrc": "2353:16:12", + "nativeSrc": "2353:16:25", "nodeType": "YulFunctionCall", - "src": "2353:16:12" + "src": "2353:16:25" }, - "nativeSrc": "2346:517:12", + "nativeSrc": "2346:517:25", "nodeType": "YulSwitch", - "src": "2346:517:12" + "src": "2346:517:25" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "2891:4:12", + "nativeSrc": "2891:4:25", "nodeType": "YulLiteral", - "src": "2891:4:12", + "src": "2891:4:25", "type": "", "value": "0x00" }, { "name": "hash", - "nativeSrc": "2897:4:12", + "nativeSrc": "2897:4:25", "nodeType": "YulIdentifier", - "src": "2897:4:12" + "src": "2897:4:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "2884:6:12", + "nativeSrc": "2884:6:25", "nodeType": "YulIdentifier", - "src": "2884:6:12" + "src": "2884:6:25" }, - "nativeSrc": "2884:18:12", + "nativeSrc": "2884:18:25", "nodeType": "YulFunctionCall", - "src": "2884:18:12" + "src": "2884:18:25" }, - "nativeSrc": "2884:18:12", + "nativeSrc": "2884:18:25", "nodeType": "YulExpressionStatement", - "src": "2884:18:12" + "src": "2884:18:25" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "2930:4:12", + "nativeSrc": "2930:4:25", "nodeType": "YulLiteral", - "src": "2930:4:12", + "src": "2930:4:25", "type": "", "value": "0x40" }, @@ -190549,59 +209524,59 @@ "arguments": [ { "name": "signature", - "nativeSrc": "2946:9:12", + "nativeSrc": "2946:9:25", "nodeType": "YulIdentifier", - "src": "2946:9:12" + "src": "2946:9:25" }, { "kind": "number", - "nativeSrc": "2957:4:12", + "nativeSrc": "2957:4:25", "nodeType": "YulLiteral", - "src": "2957:4:12", + "src": "2957:4:25", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "2942:3:12", + "nativeSrc": "2942:3:25", "nodeType": "YulIdentifier", - "src": "2942:3:12" + "src": "2942:3:25" }, - "nativeSrc": "2942:20:12", + "nativeSrc": "2942:20:25", "nodeType": "YulFunctionCall", - "src": "2942:20:12" + "src": "2942:20:25" } ], "functionName": { "name": "mload", - "nativeSrc": "2936:5:12", + "nativeSrc": "2936:5:25", "nodeType": "YulIdentifier", - "src": "2936:5:12" + "src": "2936:5:25" }, - "nativeSrc": "2936:27:12", + "nativeSrc": "2936:27:25", "nodeType": "YulFunctionCall", - "src": "2936:27:12" + "src": "2936:27:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "2923:6:12", + "nativeSrc": "2923:6:25", "nodeType": "YulIdentifier", - "src": "2923:6:12" + "src": "2923:6:25" }, - "nativeSrc": "2923:41:12", + "nativeSrc": "2923:41:25", "nodeType": "YulFunctionCall", - "src": "2923:41:12" + "src": "2923:41:25" }, - "nativeSrc": "2923:41:12", + "nativeSrc": "2923:41:25", "nodeType": "YulExpressionStatement", - "src": "2923:41:12" + "src": "2923:41:25" }, { - "nativeSrc": "2993:68:12", + "nativeSrc": "2993:68:25", "nodeType": "YulVariableDeclaration", - "src": "2993:68:12", + "src": "2993:68:25", "value": { "arguments": [ { @@ -190610,111 +209585,111 @@ "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "3027:3:12", + "nativeSrc": "3027:3:25", "nodeType": "YulIdentifier", - "src": "3027:3:12" + "src": "3027:3:25" }, - "nativeSrc": "3027:5:12", + "nativeSrc": "3027:5:25", "nodeType": "YulFunctionCall", - "src": "3027:5:12" + "src": "3027:5:25" }, { "kind": "number", - "nativeSrc": "3034:1:12", + "nativeSrc": "3034:1:25", "nodeType": "YulLiteral", - "src": "3034:1:12", + "src": "3034:1:25", "type": "", "value": "1" }, { "kind": "number", - "nativeSrc": "3037:4:12", + "nativeSrc": "3037:4:25", "nodeType": "YulLiteral", - "src": "3037:4:12", + "src": "3037:4:25", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "3043:4:12", + "nativeSrc": "3043:4:25", "nodeType": "YulLiteral", - "src": "3043:4:12", + "src": "3043:4:25", "type": "", "value": "0x80" }, { "kind": "number", - "nativeSrc": "3049:4:12", + "nativeSrc": "3049:4:25", "nodeType": "YulLiteral", - "src": "3049:4:12", + "src": "3049:4:25", "type": "", "value": "0x01" }, { "kind": "number", - "nativeSrc": "3055:4:12", + "nativeSrc": "3055:4:25", "nodeType": "YulLiteral", - "src": "3055:4:12", + "src": "3055:4:25", "type": "", "value": "0x20" } ], "functionName": { "name": "staticcall", - "nativeSrc": "3016:10:12", + "nativeSrc": "3016:10:25", "nodeType": "YulIdentifier", - "src": "3016:10:12" + "src": "3016:10:25" }, - "nativeSrc": "3016:44:12", + "nativeSrc": "3016:44:25", "nodeType": "YulFunctionCall", - "src": "3016:44:12" + "src": "3016:44:25" } ], "functionName": { "name": "mload", - "nativeSrc": "3010:5:12", + "nativeSrc": "3010:5:25", "nodeType": "YulIdentifier", - "src": "3010:5:12" + "src": "3010:5:25" }, - "nativeSrc": "3010:51:12", + "nativeSrc": "3010:51:25", "nodeType": "YulFunctionCall", - "src": "3010:51:12" + "src": "3010:51:25" }, "variables": [ { "name": "recovered", - "nativeSrc": "2997:9:12", + "nativeSrc": "2997:9:25", "nodeType": "YulTypedName", - "src": "2997:9:12", + "src": "2997:9:25", "type": "" } ] }, { - "nativeSrc": "3082:64:12", + "nativeSrc": "3082:64:25", "nodeType": "YulAssignment", - "src": "3082:64:12", + "src": "3082:64:25", "value": { "arguments": [ { "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "3096:14:12", + "nativeSrc": "3096:14:25", "nodeType": "YulIdentifier", - "src": "3096:14:12" + "src": "3096:14:25" }, - "nativeSrc": "3096:16:12", + "nativeSrc": "3096:16:25", "nodeType": "YulFunctionCall", - "src": "3096:16:12" + "src": "3096:16:25" }, { "arguments": [ { "kind": "number", - "nativeSrc": "3118:2:12", + "nativeSrc": "3118:2:25", "nodeType": "YulLiteral", - "src": "3118:2:12", + "src": "3118:2:25", "type": "", "value": "96" }, @@ -190722,55 +209697,55 @@ "arguments": [ { "name": "signer", - "nativeSrc": "3126:6:12", + "nativeSrc": "3126:6:25", "nodeType": "YulIdentifier", - "src": "3126:6:12" + "src": "3126:6:25" }, { "name": "recovered", - "nativeSrc": "3134:9:12", + "nativeSrc": "3134:9:25", "nodeType": "YulIdentifier", - "src": "3134:9:12" + "src": "3134:9:25" } ], "functionName": { "name": "xor", - "nativeSrc": "3122:3:12", + "nativeSrc": "3122:3:25", "nodeType": "YulIdentifier", - "src": "3122:3:12" + "src": "3122:3:25" }, - "nativeSrc": "3122:22:12", + "nativeSrc": "3122:22:25", "nodeType": "YulFunctionCall", - "src": "3122:22:12" + "src": "3122:22:25" } ], "functionName": { "name": "shl", - "nativeSrc": "3114:3:12", + "nativeSrc": "3114:3:25", "nodeType": "YulIdentifier", - "src": "3114:3:12" + "src": "3114:3:25" }, - "nativeSrc": "3114:31:12", + "nativeSrc": "3114:31:25", "nodeType": "YulFunctionCall", - "src": "3114:31:12" + "src": "3114:31:25" } ], "functionName": { "name": "gt", - "nativeSrc": "3093:2:12", + "nativeSrc": "3093:2:25", "nodeType": "YulIdentifier", - "src": "3093:2:12" + "src": "3093:2:25" }, - "nativeSrc": "3093:53:12", + "nativeSrc": "3093:53:25", "nodeType": "YulFunctionCall", - "src": "3093:53:12" + "src": "3093:53:25" }, "variableNames": [ { "name": "isValid", - "nativeSrc": "3082:7:12", + "nativeSrc": "3082:7:25", "nodeType": "YulIdentifier", - "src": "3082:7:12" + "src": "3082:7:25" } ] }, @@ -190779,71 +209754,71 @@ "arguments": [ { "kind": "number", - "nativeSrc": "3174:4:12", + "nativeSrc": "3174:4:25", "nodeType": "YulLiteral", - "src": "3174:4:12", + "src": "3174:4:25", "type": "", "value": "0x60" }, { "kind": "number", - "nativeSrc": "3180:1:12", + "nativeSrc": "3180:1:25", "nodeType": "YulLiteral", - "src": "3180:1:12", + "src": "3180:1:25", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "3167:6:12", + "nativeSrc": "3167:6:25", "nodeType": "YulIdentifier", - "src": "3167:6:12" + "src": "3167:6:25" }, - "nativeSrc": "3167:15:12", + "nativeSrc": "3167:15:25", "nodeType": "YulFunctionCall", - "src": "3167:15:12" + "src": "3167:15:25" }, - "nativeSrc": "3167:15:12", + "nativeSrc": "3167:15:25", "nodeType": "YulExpressionStatement", - "src": "3167:15:12" + "src": "3167:15:25" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "3236:4:12", + "nativeSrc": "3236:4:25", "nodeType": "YulLiteral", - "src": "3236:4:12", + "src": "3236:4:25", "type": "", "value": "0x40" }, { "name": "m", - "nativeSrc": "3242:1:12", + "nativeSrc": "3242:1:25", "nodeType": "YulIdentifier", - "src": "3242:1:12" + "src": "3242:1:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "3229:6:12", + "nativeSrc": "3229:6:25", "nodeType": "YulIdentifier", - "src": "3229:6:12" + "src": "3229:6:25" }, - "nativeSrc": "3229:15:12", + "nativeSrc": "3229:15:25", "nodeType": "YulFunctionCall", - "src": "3229:15:12" + "src": "3229:15:25" }, - "nativeSrc": "3229:15:12", + "nativeSrc": "3229:15:25", "nodeType": "YulExpressionStatement", - "src": "3229:15:12" + "src": "3229:15:25" }, { - "nativeSrc": "3301:5:12", + "nativeSrc": "3301:5:25", "nodeType": "YulBreak", - "src": "3301:5:12" + "src": "3301:5:25" } ] }, @@ -190853,75 +209828,75 @@ "arguments": [ { "name": "signer", - "nativeSrc": "2315:6:12", + "nativeSrc": "2315:6:25", "nodeType": "YulIdentifier", - "src": "2315:6:12" + "src": "2315:6:25" } ], "functionName": { "name": "extcodesize", - "nativeSrc": "2303:11:12", + "nativeSrc": "2303:11:25", "nodeType": "YulIdentifier", - "src": "2303:11:12" + "src": "2303:11:25" }, - "nativeSrc": "2303:19:12", + "nativeSrc": "2303:19:25", "nodeType": "YulFunctionCall", - "src": "2303:19:12" + "src": "2303:19:25" } ], "functionName": { "name": "iszero", - "nativeSrc": "2296:6:12", + "nativeSrc": "2296:6:25", "nodeType": "YulIdentifier", - "src": "2296:6:12" + "src": "2296:6:25" }, - "nativeSrc": "2296:27:12", + "nativeSrc": "2296:27:25", "nodeType": "YulFunctionCall", - "src": "2296:27:12" + "src": "2296:27:25" }, - "nativeSrc": "2293:1031:12", + "nativeSrc": "2293:1031:25", "nodeType": "YulIf", - "src": "2293:1031:12" + "src": "2293:1031:25" }, { - "nativeSrc": "3341:29:12", + "nativeSrc": "3341:29:25", "nodeType": "YulVariableDeclaration", - "src": "3341:29:12", + "src": "3341:29:25", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "3354:3:12", + "nativeSrc": "3354:3:25", "nodeType": "YulLiteral", - "src": "3354:3:12", + "src": "3354:3:25", "type": "", "value": "224" }, { "kind": "number", - "nativeSrc": "3359:10:12", + "nativeSrc": "3359:10:25", "nodeType": "YulLiteral", - "src": "3359:10:12", + "src": "3359:10:25", "type": "", "value": "0x1626ba7e" } ], "functionName": { "name": "shl", - "nativeSrc": "3350:3:12", + "nativeSrc": "3350:3:25", "nodeType": "YulIdentifier", - "src": "3350:3:12" + "src": "3350:3:25" }, - "nativeSrc": "3350:20:12", + "nativeSrc": "3350:20:25", "nodeType": "YulFunctionCall", - "src": "3350:20:12" + "src": "3350:20:25" }, "variables": [ { "name": "f", - "nativeSrc": "3345:1:12", + "nativeSrc": "3345:1:25", "nodeType": "YulTypedName", - "src": "3345:1:12", + "src": "3345:1:25", "type": "" } ] @@ -190931,30 +209906,30 @@ "arguments": [ { "name": "m", - "nativeSrc": "3394:1:12", + "nativeSrc": "3394:1:25", "nodeType": "YulIdentifier", - "src": "3394:1:12" + "src": "3394:1:25" }, { "name": "f", - "nativeSrc": "3397:1:12", + "nativeSrc": "3397:1:25", "nodeType": "YulIdentifier", - "src": "3397:1:12" + "src": "3397:1:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "3387:6:12", + "nativeSrc": "3387:6:25", "nodeType": "YulIdentifier", - "src": "3387:6:12" + "src": "3387:6:25" }, - "nativeSrc": "3387:12:12", + "nativeSrc": "3387:12:25", "nodeType": "YulFunctionCall", - "src": "3387:12:12" + "src": "3387:12:25" }, - "nativeSrc": "3387:12:12", + "nativeSrc": "3387:12:25", "nodeType": "YulExpressionStatement", - "src": "3387:12:12" + "src": "3387:12:25" }, { "expression": { @@ -190963,87 +209938,87 @@ "arguments": [ { "name": "m", - "nativeSrc": "3486:1:12", + "nativeSrc": "3486:1:25", "nodeType": "YulIdentifier", - "src": "3486:1:12" + "src": "3486:1:25" }, { "kind": "number", - "nativeSrc": "3489:4:12", + "nativeSrc": "3489:4:25", "nodeType": "YulLiteral", - "src": "3489:4:12", + "src": "3489:4:25", "type": "", "value": "0x04" } ], "functionName": { "name": "add", - "nativeSrc": "3482:3:12", + "nativeSrc": "3482:3:25", "nodeType": "YulIdentifier", - "src": "3482:3:12" + "src": "3482:3:25" }, - "nativeSrc": "3482:12:12", + "nativeSrc": "3482:12:25", "nodeType": "YulFunctionCall", - "src": "3482:12:12" + "src": "3482:12:25" }, { "name": "hash", - "nativeSrc": "3496:4:12", + "nativeSrc": "3496:4:25", "nodeType": "YulIdentifier", - "src": "3496:4:12" + "src": "3496:4:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "3475:6:12", + "nativeSrc": "3475:6:25", "nodeType": "YulIdentifier", - "src": "3475:6:12" + "src": "3475:6:25" }, - "nativeSrc": "3475:26:12", + "nativeSrc": "3475:26:25", "nodeType": "YulFunctionCall", - "src": "3475:26:12" + "src": "3475:26:25" }, - "nativeSrc": "3475:26:12", + "nativeSrc": "3475:26:25", "nodeType": "YulExpressionStatement", - "src": "3475:26:12" + "src": "3475:26:25" }, { - "nativeSrc": "3518:21:12", + "nativeSrc": "3518:21:25", "nodeType": "YulVariableDeclaration", - "src": "3518:21:12", + "src": "3518:21:25", "value": { "arguments": [ { "name": "m", - "nativeSrc": "3531:1:12", + "nativeSrc": "3531:1:25", "nodeType": "YulIdentifier", - "src": "3531:1:12" + "src": "3531:1:25" }, { "kind": "number", - "nativeSrc": "3534:4:12", + "nativeSrc": "3534:4:25", "nodeType": "YulLiteral", - "src": "3534:4:12", + "src": "3534:4:25", "type": "", "value": "0x24" } ], "functionName": { "name": "add", - "nativeSrc": "3527:3:12", + "nativeSrc": "3527:3:25", "nodeType": "YulIdentifier", - "src": "3527:3:12" + "src": "3527:3:25" }, - "nativeSrc": "3527:12:12", + "nativeSrc": "3527:12:25", "nodeType": "YulFunctionCall", - "src": "3527:12:12" + "src": "3527:12:25" }, "variables": [ { "name": "d", - "nativeSrc": "3522:1:12", + "nativeSrc": "3522:1:25", "nodeType": "YulTypedName", - "src": "3522:1:12", + "src": "3522:1:25", "type": "" } ] @@ -191053,44 +210028,44 @@ "arguments": [ { "name": "d", - "nativeSrc": "3563:1:12", + "nativeSrc": "3563:1:25", "nodeType": "YulIdentifier", - "src": "3563:1:12" + "src": "3563:1:25" }, { "kind": "number", - "nativeSrc": "3566:4:12", + "nativeSrc": "3566:4:25", "nodeType": "YulLiteral", - "src": "3566:4:12", + "src": "3566:4:25", "type": "", "value": "0x40" } ], "functionName": { "name": "mstore", - "nativeSrc": "3556:6:12", + "nativeSrc": "3556:6:25", "nodeType": "YulIdentifier", - "src": "3556:6:12" + "src": "3556:6:25" }, - "nativeSrc": "3556:15:12", + "nativeSrc": "3556:15:25", "nodeType": "YulFunctionCall", - "src": "3556:15:12" + "src": "3556:15:25" }, - "nativeSrc": "3556:15:12", + "nativeSrc": "3556:15:25", "nodeType": "YulExpressionStatement", - "src": "3556:15:12" + "src": "3556:15:25" }, { - "nativeSrc": "3684:36:12", + "nativeSrc": "3684:36:25", "nodeType": "YulVariableDeclaration", - "src": "3684:36:12", + "src": "3684:36:25", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "3697:4:12", + "nativeSrc": "3697:4:25", "nodeType": "YulLiteral", - "src": "3697:4:12", + "src": "3697:4:25", "type": "", "value": "0x20" }, @@ -191098,163 +210073,163 @@ "arguments": [ { "name": "signature", - "nativeSrc": "3709:9:12", + "nativeSrc": "3709:9:25", "nodeType": "YulIdentifier", - "src": "3709:9:12" + "src": "3709:9:25" } ], "functionName": { "name": "mload", - "nativeSrc": "3703:5:12", + "nativeSrc": "3703:5:25", "nodeType": "YulIdentifier", - "src": "3703:5:12" + "src": "3703:5:25" }, - "nativeSrc": "3703:16:12", + "nativeSrc": "3703:16:25", "nodeType": "YulFunctionCall", - "src": "3703:16:12" + "src": "3703:16:25" } ], "functionName": { "name": "add", - "nativeSrc": "3693:3:12", + "nativeSrc": "3693:3:25", "nodeType": "YulIdentifier", - "src": "3693:3:12" + "src": "3693:3:25" }, - "nativeSrc": "3693:27:12", + "nativeSrc": "3693:27:25", "nodeType": "YulFunctionCall", - "src": "3693:27:12" + "src": "3693:27:25" }, "variables": [ { "name": "n", - "nativeSrc": "3688:1:12", + "nativeSrc": "3688:1:25", "nodeType": "YulTypedName", - "src": "3688:1:12", + "src": "3688:1:25", "type": "" } ] }, { - "nativeSrc": "3737:65:12", + "nativeSrc": "3737:65:25", "nodeType": "YulVariableDeclaration", - "src": "3737:65:12", + "src": "3737:65:25", "value": { "arguments": [ { "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "3762:3:12", + "nativeSrc": "3762:3:25", "nodeType": "YulIdentifier", - "src": "3762:3:12" + "src": "3762:3:25" }, - "nativeSrc": "3762:5:12", + "nativeSrc": "3762:5:25", "nodeType": "YulFunctionCall", - "src": "3762:5:12" + "src": "3762:5:25" }, { "kind": "number", - "nativeSrc": "3769:1:12", + "nativeSrc": "3769:1:25", "nodeType": "YulLiteral", - "src": "3769:1:12", + "src": "3769:1:25", "type": "", "value": "4" }, { "name": "signature", - "nativeSrc": "3772:9:12", + "nativeSrc": "3772:9:25", "nodeType": "YulIdentifier", - "src": "3772:9:12" + "src": "3772:9:25" }, { "name": "n", - "nativeSrc": "3783:1:12", + "nativeSrc": "3783:1:25", "nodeType": "YulIdentifier", - "src": "3783:1:12" + "src": "3783:1:25" }, { "arguments": [ { "name": "m", - "nativeSrc": "3790:1:12", + "nativeSrc": "3790:1:25", "nodeType": "YulIdentifier", - "src": "3790:1:12" + "src": "3790:1:25" }, { "kind": "number", - "nativeSrc": "3793:4:12", + "nativeSrc": "3793:4:25", "nodeType": "YulLiteral", - "src": "3793:4:12", + "src": "3793:4:25", "type": "", "value": "0x44" } ], "functionName": { "name": "add", - "nativeSrc": "3786:3:12", + "nativeSrc": "3786:3:25", "nodeType": "YulIdentifier", - "src": "3786:3:12" + "src": "3786:3:25" }, - "nativeSrc": "3786:12:12", + "nativeSrc": "3786:12:25", "nodeType": "YulFunctionCall", - "src": "3786:12:12" + "src": "3786:12:25" }, { "name": "n", - "nativeSrc": "3800:1:12", + "nativeSrc": "3800:1:25", "nodeType": "YulIdentifier", - "src": "3800:1:12" + "src": "3800:1:25" } ], "functionName": { "name": "staticcall", - "nativeSrc": "3751:10:12", + "nativeSrc": "3751:10:25", "nodeType": "YulIdentifier", - "src": "3751:10:12" + "src": "3751:10:25" }, - "nativeSrc": "3751:51:12", + "nativeSrc": "3751:51:25", "nodeType": "YulFunctionCall", - "src": "3751:51:12" + "src": "3751:51:25" }, "variables": [ { "name": "copied", - "nativeSrc": "3741:6:12", + "nativeSrc": "3741:6:25", "nodeType": "YulTypedName", - "src": "3741:6:12", + "src": "3741:6:25", "type": "" } ] }, { - "nativeSrc": "3819:77:12", + "nativeSrc": "3819:77:25", "nodeType": "YulAssignment", - "src": "3819:77:12", + "src": "3819:77:25", "value": { "arguments": [ { "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "3841:3:12", + "nativeSrc": "3841:3:25", "nodeType": "YulIdentifier", - "src": "3841:3:12" + "src": "3841:3:25" }, - "nativeSrc": "3841:5:12", + "nativeSrc": "3841:5:25", "nodeType": "YulFunctionCall", - "src": "3841:5:12" + "src": "3841:5:25" }, { "name": "signer", - "nativeSrc": "3848:6:12", + "nativeSrc": "3848:6:25", "nodeType": "YulIdentifier", - "src": "3848:6:12" + "src": "3848:6:25" }, { "name": "m", - "nativeSrc": "3856:1:12", + "nativeSrc": "3856:1:25", "nodeType": "YulIdentifier", - "src": "3856:1:12" + "src": "3856:1:25" }, { "arguments": [ @@ -191262,71 +210237,71 @@ "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "3863:14:12", + "nativeSrc": "3863:14:25", "nodeType": "YulIdentifier", - "src": "3863:14:12" + "src": "3863:14:25" }, - "nativeSrc": "3863:16:12", + "nativeSrc": "3863:16:25", "nodeType": "YulFunctionCall", - "src": "3863:16:12" + "src": "3863:16:25" }, { "kind": "number", - "nativeSrc": "3881:4:12", + "nativeSrc": "3881:4:25", "nodeType": "YulLiteral", - "src": "3881:4:12", + "src": "3881:4:25", "type": "", "value": "0x44" } ], "functionName": { "name": "add", - "nativeSrc": "3859:3:12", + "nativeSrc": "3859:3:25", "nodeType": "YulIdentifier", - "src": "3859:3:12" + "src": "3859:3:25" }, - "nativeSrc": "3859:27:12", + "nativeSrc": "3859:27:25", "nodeType": "YulFunctionCall", - "src": "3859:27:12" + "src": "3859:27:25" }, { "name": "d", - "nativeSrc": "3888:1:12", + "nativeSrc": "3888:1:25", "nodeType": "YulIdentifier", - "src": "3888:1:12" + "src": "3888:1:25" }, { "kind": "number", - "nativeSrc": "3891:4:12", + "nativeSrc": "3891:4:25", "nodeType": "YulLiteral", - "src": "3891:4:12", + "src": "3891:4:25", "type": "", "value": "0x20" } ], "functionName": { "name": "staticcall", - "nativeSrc": "3830:10:12", + "nativeSrc": "3830:10:25", "nodeType": "YulIdentifier", - "src": "3830:10:12" + "src": "3830:10:25" }, - "nativeSrc": "3830:66:12", + "nativeSrc": "3830:66:25", "nodeType": "YulFunctionCall", - "src": "3830:66:12" + "src": "3830:66:25" }, "variableNames": [ { "name": "isValid", - "nativeSrc": "3819:7:12", + "nativeSrc": "3819:7:25", "nodeType": "YulIdentifier", - "src": "3819:7:12" + "src": "3819:7:25" } ] }, { - "nativeSrc": "3913:53:12", + "nativeSrc": "3913:53:25", "nodeType": "YulAssignment", - "src": "3913:53:12", + "src": "3913:53:25", "value": { "arguments": [ { @@ -191335,113 +210310,113 @@ "arguments": [ { "name": "d", - "nativeSrc": "3937:1:12", + "nativeSrc": "3937:1:25", "nodeType": "YulIdentifier", - "src": "3937:1:12" + "src": "3937:1:25" } ], "functionName": { "name": "mload", - "nativeSrc": "3931:5:12", + "nativeSrc": "3931:5:25", "nodeType": "YulIdentifier", - "src": "3931:5:12" + "src": "3931:5:25" }, - "nativeSrc": "3931:8:12", + "nativeSrc": "3931:8:25", "nodeType": "YulFunctionCall", - "src": "3931:8:12" + "src": "3931:8:25" }, { "name": "f", - "nativeSrc": "3941:1:12", + "nativeSrc": "3941:1:25", "nodeType": "YulIdentifier", - "src": "3941:1:12" + "src": "3941:1:25" } ], "functionName": { "name": "eq", - "nativeSrc": "3928:2:12", + "nativeSrc": "3928:2:25", "nodeType": "YulIdentifier", - "src": "3928:2:12" + "src": "3928:2:25" }, - "nativeSrc": "3928:15:12", + "nativeSrc": "3928:15:25", "nodeType": "YulFunctionCall", - "src": "3928:15:12" + "src": "3928:15:25" }, { "arguments": [ { "name": "isValid", - "nativeSrc": "3949:7:12", + "nativeSrc": "3949:7:25", "nodeType": "YulIdentifier", - "src": "3949:7:12" + "src": "3949:7:25" }, { "name": "copied", - "nativeSrc": "3958:6:12", + "nativeSrc": "3958:6:25", "nodeType": "YulIdentifier", - "src": "3958:6:12" + "src": "3958:6:25" } ], "functionName": { "name": "and", - "nativeSrc": "3945:3:12", + "nativeSrc": "3945:3:25", "nodeType": "YulIdentifier", - "src": "3945:3:12" + "src": "3945:3:25" }, - "nativeSrc": "3945:20:12", + "nativeSrc": "3945:20:25", "nodeType": "YulFunctionCall", - "src": "3945:20:12" + "src": "3945:20:25" } ], "functionName": { "name": "and", - "nativeSrc": "3924:3:12", + "nativeSrc": "3924:3:25", "nodeType": "YulIdentifier", - "src": "3924:3:12" + "src": "3924:3:25" }, - "nativeSrc": "3924:42:12", + "nativeSrc": "3924:42:25", "nodeType": "YulFunctionCall", - "src": "3924:42:12" + "src": "3924:42:25" }, "variableNames": [ { "name": "isValid", - "nativeSrc": "3913:7:12", + "nativeSrc": "3913:7:25", "nodeType": "YulIdentifier", - "src": "3913:7:12" + "src": "3913:7:25" } ] }, { - "nativeSrc": "3983:5:12", + "nativeSrc": "3983:5:25", "nodeType": "YulBreak", - "src": "3983:5:12" + "src": "3983:5:25" } ] }, "condition": { "kind": "number", - "nativeSrc": "2270:1:12", + "nativeSrc": "2270:1:25", "nodeType": "YulLiteral", - "src": "2270:1:12", + "src": "2270:1:25", "type": "", "value": "1" }, - "nativeSrc": "2263:1739:12", + "nativeSrc": "2263:1739:25", "nodeType": "YulForLoop", "post": { - "nativeSrc": "2272:2:12", + "nativeSrc": "2272:2:25", "nodeType": "YulBlock", - "src": "2272:2:12", + "src": "2272:2:25", "statements": [] }, "pre": { - "nativeSrc": "2267:2:12", + "nativeSrc": "2267:2:25", "nodeType": "YulBlock", - "src": "2267:2:12", + "src": "2267:2:25", "statements": [] }, - "src": "2263:1739:12" + "src": "2263:1739:25" } ] }, @@ -191449,150 +210424,150 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 6142, + "declaration": 7748, "isOffset": false, "isSlot": false, - "src": "2897:4:12", + "src": "2897:4:25", "valueSize": 1 }, { - "declaration": 6142, + "declaration": 7748, "isOffset": false, "isSlot": false, - "src": "3496:4:12", + "src": "3496:4:25", "valueSize": 1 }, { - "declaration": 6147, + "declaration": 7753, "isOffset": false, "isSlot": false, - "src": "3082:7:12", + "src": "3082:7:25", "valueSize": 1 }, { - "declaration": 6147, + "declaration": 7753, "isOffset": false, "isSlot": false, - "src": "3819:7:12", + "src": "3819:7:25", "valueSize": 1 }, { - "declaration": 6147, + "declaration": 7753, "isOffset": false, "isSlot": false, - "src": "3913:7:12", + "src": "3913:7:25", "valueSize": 1 }, { - "declaration": 6147, + "declaration": 7753, "isOffset": false, "isSlot": false, - "src": "3949:7:12", + "src": "3949:7:25", "valueSize": 1 }, { - "declaration": 6144, + "declaration": 7750, "isOffset": false, "isSlot": false, - "src": "2359:9:12", + "src": "2359:9:25", "valueSize": 1 }, { - "declaration": 6144, + "declaration": 7750, "isOffset": false, "isSlot": false, - "src": "2444:9:12", + "src": "2444:9:25", "valueSize": 1 }, { - "declaration": 6144, + "declaration": 7750, "isOffset": false, "isSlot": false, - "src": "2702:9:12", + "src": "2702:9:25", "valueSize": 1 }, { - "declaration": 6144, + "declaration": 7750, "isOffset": false, "isSlot": false, - "src": "2777:9:12", + "src": "2777:9:25", "valueSize": 1 }, { - "declaration": 6144, + "declaration": 7750, "isOffset": false, "isSlot": false, - "src": "2946:9:12", + "src": "2946:9:25", "valueSize": 1 }, { - "declaration": 6144, + "declaration": 7750, "isOffset": false, "isSlot": false, - "src": "3709:9:12", + "src": "3709:9:25", "valueSize": 1 }, { - "declaration": 6144, + "declaration": 7750, "isOffset": false, "isSlot": false, - "src": "3772:9:12", + "src": "3772:9:25", "valueSize": 1 }, { - "declaration": 6140, + "declaration": 7746, "isOffset": false, "isSlot": false, - "src": "2315:6:12", + "src": "2315:6:25", "valueSize": 1 }, { - "declaration": 6140, + "declaration": 7746, "isOffset": false, "isSlot": false, - "src": "3126:6:12", + "src": "3126:6:25", "valueSize": 1 }, { - "declaration": 6140, + "declaration": 7746, "isOffset": false, "isSlot": false, - "src": "3848:6:12", + "src": "3848:6:25", "valueSize": 1 } ], - "id": 6158, + "id": 7764, "nodeType": "InlineAssembly", - "src": "2207:1805:12" + "src": "2207:1805:25" } ] }, "documentation": { - "id": 6138, + "id": 7744, "nodeType": "StructuredDocumentation", - "src": "1755:196:12", + "src": "1755:196:25", "text": "@dev Returns whether `signature` is valid for `signer` and `hash`.\n If `signer.code.length == 0`, then validate with `ecrecover`, else\n it will validate with ERC1271 on `signer`." }, - "id": 6160, + "id": 7766, "implemented": true, "kind": "function", "modifiers": [], "name": "isValidSignatureNow", - "nameLocation": "1965:19:12", + "nameLocation": "1965:19:25", "nodeType": "FunctionDefinition", "parameters": { - "id": 6145, + "id": 7751, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6140, + "id": 7746, "mutability": "mutable", "name": "signer", - "nameLocation": "1993:6:12", + "nameLocation": "1993:6:25", "nodeType": "VariableDeclaration", - "scope": 6160, - "src": "1985:14:12", + "scope": 7766, + "src": "1985:14:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -191600,10 +210575,10 @@ "typeString": "address" }, "typeName": { - "id": 6139, + "id": 7745, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1985:7:12", + "src": "1985:7:25", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -191614,13 +210589,13 @@ }, { "constant": false, - "id": 6142, + "id": 7748, "mutability": "mutable", "name": "hash", - "nameLocation": "2009:4:12", + "nameLocation": "2009:4:25", "nodeType": "VariableDeclaration", - "scope": 6160, - "src": "2001:12:12", + "scope": 7766, + "src": "2001:12:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -191628,10 +210603,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6141, + "id": 7747, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2001:7:12", + "src": "2001:7:25", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -191641,13 +210616,13 @@ }, { "constant": false, - "id": 6144, + "id": 7750, "mutability": "mutable", "name": "signature", - "nameLocation": "2028:9:12", + "nameLocation": "2028:9:25", "nodeType": "VariableDeclaration", - "scope": 6160, - "src": "2015:22:12", + "scope": 7766, + "src": "2015:22:25", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -191655,10 +210630,10 @@ "typeString": "bytes" }, "typeName": { - "id": 6143, + "id": 7749, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "2015:5:12", + "src": "2015:5:25", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -191667,21 +210642,21 @@ "visibility": "internal" } ], - "src": "1984:54:12" + "src": "1984:54:25" }, "returnParameters": { - "id": 6148, + "id": 7754, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6147, + "id": 7753, "mutability": "mutable", "name": "isValid", - "nameLocation": "2091:7:12", + "nameLocation": "2091:7:25", "nodeType": "VariableDeclaration", - "scope": 6160, - "src": "2086:12:12", + "scope": 7766, + "src": "2086:12:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -191689,10 +210664,10 @@ "typeString": "bool" }, "typeName": { - "id": 6146, + "id": 7752, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2086:4:12", + "src": "2086:4:25", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -191701,19 +210676,19 @@ "visibility": "internal" } ], - "src": "2085:14:12" + "src": "2085:14:25" }, - "scope": 6354, - "src": "1956:2062:12", + "scope": 7960, + "src": "1956:2062:25", "stateMutability": "view", "virtual": false, "visibility": "internal" }, { "body": { - "id": 6182, + "id": 7788, "nodeType": "Block", - "src": "4383:1941:12", + "src": "4383:1941:25", "statements": [ { "condition": { @@ -191721,18 +210696,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 6177, + "id": 7783, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 6172, + "id": 7778, "name": "signer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6163, - "src": "4397:6:12", + "referencedDeclaration": 7769, + "src": "4397:6:25", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -191744,14 +210719,14 @@ "arguments": [ { "hexValue": "30", - "id": 6175, + "id": 7781, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4415:1:12", + "src": "4415:1:25", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -191766,26 +210741,26 @@ "typeString": "int_const 0" } ], - "id": 6174, + "id": 7780, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4407:7:12", + "src": "4407:7:25", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 6173, + "id": 7779, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4407:7:12", + "src": "4407:7:25", "typeDescriptions": {} } }, - "id": 6176, + "id": 7782, "isConstant": false, "isLValue": false, "isPure": true, @@ -191794,152 +210769,152 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4407:10:12", + "src": "4407:10:25", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "4397:20:12", + "src": "4397:20:25", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 6180, + "id": 7786, "nodeType": "IfStatement", - "src": "4393:40:12", + "src": "4393:40:25", "trueBody": { "expression": { - "id": 6178, + "id": 7784, "name": "isValid", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6170, - "src": "4426:7:12", + "referencedDeclaration": 7776, + "src": "4426:7:25", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 6171, - "id": 6179, + "functionReturnParameters": 7777, + "id": 7785, "nodeType": "Return", - "src": "4419:14:12" + "src": "4419:14:25" } }, { "AST": { - "nativeSrc": "4495:1823:12", + "nativeSrc": "4495:1823:25", "nodeType": "YulBlock", - "src": "4495:1823:12", + "src": "4495:1823:25", "statements": [ { - "nativeSrc": "4509:20:12", + "nativeSrc": "4509:20:25", "nodeType": "YulVariableDeclaration", - "src": "4509:20:12", + "src": "4509:20:25", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "4524:4:12", + "nativeSrc": "4524:4:25", "nodeType": "YulLiteral", - "src": "4524:4:12", + "src": "4524:4:25", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "4518:5:12", + "nativeSrc": "4518:5:25", "nodeType": "YulIdentifier", - "src": "4518:5:12" + "src": "4518:5:25" }, - "nativeSrc": "4518:11:12", + "nativeSrc": "4518:11:25", "nodeType": "YulFunctionCall", - "src": "4518:11:12" + "src": "4518:11:25" }, "variables": [ { "name": "m", - "nativeSrc": "4513:1:12", + "nativeSrc": "4513:1:25", "nodeType": "YulTypedName", - "src": "4513:1:12", + "src": "4513:1:25", "type": "" } ] }, { "body": { - "nativeSrc": "4554:1754:12", + "nativeSrc": "4554:1754:25", "nodeType": "YulBlock", - "src": "4554:1754:12", + "src": "4554:1754:25", "statements": [ { "body": { - "nativeSrc": "4603:1041:12", + "nativeSrc": "4603:1041:25", "nodeType": "YulBlock", - "src": "4603:1041:12", + "src": "4603:1041:25", "statements": [ { "cases": [ { "body": { - "nativeSrc": "4677:309:12", + "nativeSrc": "4677:309:25", "nodeType": "YulBlock", - "src": "4677:309:12", + "src": "4677:309:25", "statements": [ { - "nativeSrc": "4703:51:12", + "nativeSrc": "4703:51:25", "nodeType": "YulVariableDeclaration", - "src": "4703:51:12", + "src": "4703:51:25", "value": { "arguments": [ { "arguments": [ { "name": "signature.offset", - "nativeSrc": "4730:16:12", + "nativeSrc": "4730:16:25", "nodeType": "YulIdentifier", - "src": "4730:16:12" + "src": "4730:16:25" }, { "kind": "number", - "nativeSrc": "4748:4:12", + "nativeSrc": "4748:4:25", "nodeType": "YulLiteral", - "src": "4748:4:12", + "src": "4748:4:25", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "4726:3:12", + "nativeSrc": "4726:3:25", "nodeType": "YulIdentifier", - "src": "4726:3:12" + "src": "4726:3:25" }, - "nativeSrc": "4726:27:12", + "nativeSrc": "4726:27:25", "nodeType": "YulFunctionCall", - "src": "4726:27:12" + "src": "4726:27:25" } ], "functionName": { "name": "calldataload", - "nativeSrc": "4713:12:12", + "nativeSrc": "4713:12:25", "nodeType": "YulIdentifier", - "src": "4713:12:12" + "src": "4713:12:25" }, - "nativeSrc": "4713:41:12", + "nativeSrc": "4713:41:25", "nodeType": "YulFunctionCall", - "src": "4713:41:12" + "src": "4713:41:25" }, "variables": [ { "name": "vs", - "nativeSrc": "4707:2:12", + "nativeSrc": "4707:2:25", "nodeType": "YulTypedName", - "src": "4707:2:12", + "src": "4707:2:25", "type": "" } ] @@ -191949,9 +210924,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "4786:4:12", + "nativeSrc": "4786:4:25", "nodeType": "YulLiteral", - "src": "4786:4:12", + "src": "4786:4:25", "type": "", "value": "0x20" }, @@ -191961,71 +210936,71 @@ "arguments": [ { "kind": "number", - "nativeSrc": "4800:3:12", + "nativeSrc": "4800:3:25", "nodeType": "YulLiteral", - "src": "4800:3:12", + "src": "4800:3:25", "type": "", "value": "255" }, { "name": "vs", - "nativeSrc": "4805:2:12", + "nativeSrc": "4805:2:25", "nodeType": "YulIdentifier", - "src": "4805:2:12" + "src": "4805:2:25" } ], "functionName": { "name": "shr", - "nativeSrc": "4796:3:12", + "nativeSrc": "4796:3:25", "nodeType": "YulIdentifier", - "src": "4796:3:12" + "src": "4796:3:25" }, - "nativeSrc": "4796:12:12", + "nativeSrc": "4796:12:25", "nodeType": "YulFunctionCall", - "src": "4796:12:12" + "src": "4796:12:25" }, { "kind": "number", - "nativeSrc": "4810:2:12", + "nativeSrc": "4810:2:25", "nodeType": "YulLiteral", - "src": "4810:2:12", + "src": "4810:2:25", "type": "", "value": "27" } ], "functionName": { "name": "add", - "nativeSrc": "4792:3:12", + "nativeSrc": "4792:3:25", "nodeType": "YulIdentifier", - "src": "4792:3:12" + "src": "4792:3:25" }, - "nativeSrc": "4792:21:12", + "nativeSrc": "4792:21:25", "nodeType": "YulFunctionCall", - "src": "4792:21:12" + "src": "4792:21:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "4779:6:12", + "nativeSrc": "4779:6:25", "nodeType": "YulIdentifier", - "src": "4779:6:12" + "src": "4779:6:25" }, - "nativeSrc": "4779:35:12", + "nativeSrc": "4779:35:25", "nodeType": "YulFunctionCall", - "src": "4779:35:12" + "src": "4779:35:25" }, - "nativeSrc": "4779:35:12", + "nativeSrc": "4779:35:25", "nodeType": "YulExpressionStatement", - "src": "4779:35:12" + "src": "4779:35:25" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "4854:4:12", + "nativeSrc": "4854:4:25", "nodeType": "YulLiteral", - "src": "4854:4:12", + "src": "4854:4:25", "type": "", "value": "0x40" }, @@ -192033,44 +211008,44 @@ "arguments": [ { "name": "signature.offset", - "nativeSrc": "4873:16:12", + "nativeSrc": "4873:16:25", "nodeType": "YulIdentifier", - "src": "4873:16:12" + "src": "4873:16:25" } ], "functionName": { "name": "calldataload", - "nativeSrc": "4860:12:12", + "nativeSrc": "4860:12:25", "nodeType": "YulIdentifier", - "src": "4860:12:12" + "src": "4860:12:25" }, - "nativeSrc": "4860:30:12", + "nativeSrc": "4860:30:25", "nodeType": "YulFunctionCall", - "src": "4860:30:12" + "src": "4860:30:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "4847:6:12", + "nativeSrc": "4847:6:25", "nodeType": "YulIdentifier", - "src": "4847:6:12" + "src": "4847:6:25" }, - "nativeSrc": "4847:44:12", + "nativeSrc": "4847:44:25", "nodeType": "YulFunctionCall", - "src": "4847:44:12" + "src": "4847:44:25" }, - "nativeSrc": "4847:44:12", + "nativeSrc": "4847:44:25", "nodeType": "YulExpressionStatement", - "src": "4847:44:12" + "src": "4847:44:25" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "4931:4:12", + "nativeSrc": "4931:4:25", "nodeType": "YulLiteral", - "src": "4931:4:12", + "src": "4931:4:25", "type": "", "value": "0x60" }, @@ -192078,9 +211053,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "4941:1:12", + "nativeSrc": "4941:1:25", "nodeType": "YulLiteral", - "src": "4941:1:12", + "src": "4941:1:25", "type": "", "value": "1" }, @@ -192088,83 +211063,83 @@ "arguments": [ { "kind": "number", - "nativeSrc": "4948:1:12", + "nativeSrc": "4948:1:25", "nodeType": "YulLiteral", - "src": "4948:1:12", + "src": "4948:1:25", "type": "", "value": "1" }, { "name": "vs", - "nativeSrc": "4951:2:12", + "nativeSrc": "4951:2:25", "nodeType": "YulIdentifier", - "src": "4951:2:12" + "src": "4951:2:25" } ], "functionName": { "name": "shl", - "nativeSrc": "4944:3:12", + "nativeSrc": "4944:3:25", "nodeType": "YulIdentifier", - "src": "4944:3:12" + "src": "4944:3:25" }, - "nativeSrc": "4944:10:12", + "nativeSrc": "4944:10:25", "nodeType": "YulFunctionCall", - "src": "4944:10:12" + "src": "4944:10:25" } ], "functionName": { "name": "shr", - "nativeSrc": "4937:3:12", + "nativeSrc": "4937:3:25", "nodeType": "YulIdentifier", - "src": "4937:3:12" + "src": "4937:3:25" }, - "nativeSrc": "4937:18:12", + "nativeSrc": "4937:18:25", "nodeType": "YulFunctionCall", - "src": "4937:18:12" + "src": "4937:18:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "4924:6:12", + "nativeSrc": "4924:6:25", "nodeType": "YulIdentifier", - "src": "4924:6:12" + "src": "4924:6:25" }, - "nativeSrc": "4924:32:12", + "nativeSrc": "4924:32:25", "nodeType": "YulFunctionCall", - "src": "4924:32:12" + "src": "4924:32:25" }, - "nativeSrc": "4924:32:12", + "nativeSrc": "4924:32:25", "nodeType": "YulExpressionStatement", - "src": "4924:32:12" + "src": "4924:32:25" } ] }, - "nativeSrc": "4669:317:12", + "nativeSrc": "4669:317:25", "nodeType": "YulCase", - "src": "4669:317:12", + "src": "4669:317:25", "value": { "kind": "number", - "nativeSrc": "4674:2:12", + "nativeSrc": "4674:2:25", "nodeType": "YulLiteral", - "src": "4674:2:12", + "src": "4674:2:25", "type": "", "value": "64" } }, { "body": { - "nativeSrc": "5015:200:12", + "nativeSrc": "5015:200:25", "nodeType": "YulBlock", - "src": "5015:200:12", + "src": "5015:200:25", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "5048:4:12", + "nativeSrc": "5048:4:25", "nodeType": "YulLiteral", - "src": "5048:4:12", + "src": "5048:4:25", "type": "", "value": "0x20" }, @@ -192172,9 +211147,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "5059:1:12", + "nativeSrc": "5059:1:25", "nodeType": "YulLiteral", - "src": "5059:1:12", + "src": "5059:1:25", "type": "", "value": "0" }, @@ -192184,185 +211159,185 @@ "arguments": [ { "name": "signature.offset", - "nativeSrc": "5079:16:12", + "nativeSrc": "5079:16:25", "nodeType": "YulIdentifier", - "src": "5079:16:12" + "src": "5079:16:25" }, { "kind": "number", - "nativeSrc": "5097:4:12", + "nativeSrc": "5097:4:25", "nodeType": "YulLiteral", - "src": "5097:4:12", + "src": "5097:4:25", "type": "", "value": "0x40" } ], "functionName": { "name": "add", - "nativeSrc": "5075:3:12", + "nativeSrc": "5075:3:25", "nodeType": "YulIdentifier", - "src": "5075:3:12" + "src": "5075:3:25" }, - "nativeSrc": "5075:27:12", + "nativeSrc": "5075:27:25", "nodeType": "YulFunctionCall", - "src": "5075:27:12" + "src": "5075:27:25" } ], "functionName": { "name": "calldataload", - "nativeSrc": "5062:12:12", + "nativeSrc": "5062:12:25", "nodeType": "YulIdentifier", - "src": "5062:12:12" + "src": "5062:12:25" }, - "nativeSrc": "5062:41:12", + "nativeSrc": "5062:41:25", "nodeType": "YulFunctionCall", - "src": "5062:41:12" + "src": "5062:41:25" } ], "functionName": { "name": "byte", - "nativeSrc": "5054:4:12", + "nativeSrc": "5054:4:25", "nodeType": "YulIdentifier", - "src": "5054:4:12" + "src": "5054:4:25" }, - "nativeSrc": "5054:50:12", + "nativeSrc": "5054:50:25", "nodeType": "YulFunctionCall", - "src": "5054:50:12" + "src": "5054:50:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "5041:6:12", + "nativeSrc": "5041:6:25", "nodeType": "YulIdentifier", - "src": "5041:6:12" + "src": "5041:6:25" }, - "nativeSrc": "5041:64:12", + "nativeSrc": "5041:64:25", "nodeType": "YulFunctionCall", - "src": "5041:64:12" + "src": "5041:64:25" }, - "nativeSrc": "5041:64:12", + "nativeSrc": "5041:64:25", "nodeType": "YulExpressionStatement", - "src": "5041:64:12" + "src": "5041:64:25" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "5151:4:12", + "nativeSrc": "5151:4:25", "nodeType": "YulLiteral", - "src": "5151:4:12", + "src": "5151:4:25", "type": "", "value": "0x40" }, { "name": "signature.offset", - "nativeSrc": "5157:16:12", + "nativeSrc": "5157:16:25", "nodeType": "YulIdentifier", - "src": "5157:16:12" + "src": "5157:16:25" }, { "kind": "number", - "nativeSrc": "5175:4:12", + "nativeSrc": "5175:4:25", "nodeType": "YulLiteral", - "src": "5175:4:12", + "src": "5175:4:25", "type": "", "value": "0x40" } ], "functionName": { "name": "calldatacopy", - "nativeSrc": "5138:12:12", + "nativeSrc": "5138:12:25", "nodeType": "YulIdentifier", - "src": "5138:12:12" + "src": "5138:12:25" }, - "nativeSrc": "5138:42:12", + "nativeSrc": "5138:42:25", "nodeType": "YulFunctionCall", - "src": "5138:42:12" + "src": "5138:42:25" }, - "nativeSrc": "5138:42:12", + "nativeSrc": "5138:42:25", "nodeType": "YulExpressionStatement", - "src": "5138:42:12" + "src": "5138:42:25" } ] }, - "nativeSrc": "5007:208:12", + "nativeSrc": "5007:208:25", "nodeType": "YulCase", - "src": "5007:208:12", + "src": "5007:208:25", "value": { "kind": "number", - "nativeSrc": "5012:2:12", + "nativeSrc": "5012:2:25", "nodeType": "YulLiteral", - "src": "5012:2:12", + "src": "5012:2:25", "type": "", "value": "65" } }, { "body": { - "nativeSrc": "5244:9:12", + "nativeSrc": "5244:9:25", "nodeType": "YulBlock", - "src": "5244:9:12", + "src": "5244:9:25", "statements": [ { - "nativeSrc": "5246:5:12", + "nativeSrc": "5246:5:25", "nodeType": "YulBreak", - "src": "5246:5:12" + "src": "5246:5:25" } ] }, - "nativeSrc": "5236:17:12", + "nativeSrc": "5236:17:25", "nodeType": "YulCase", - "src": "5236:17:12", + "src": "5236:17:25", "value": "default" } ], "expression": { "name": "signature.length", - "nativeSrc": "4632:16:12", + "nativeSrc": "4632:16:25", "nodeType": "YulIdentifier", - "src": "4632:16:12" + "src": "4632:16:25" }, - "nativeSrc": "4625:628:12", + "nativeSrc": "4625:628:25", "nodeType": "YulSwitch", - "src": "4625:628:12" + "src": "4625:628:25" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "5281:4:12", + "nativeSrc": "5281:4:25", "nodeType": "YulLiteral", - "src": "5281:4:12", + "src": "5281:4:25", "type": "", "value": "0x00" }, { "name": "hash", - "nativeSrc": "5287:4:12", + "nativeSrc": "5287:4:25", "nodeType": "YulIdentifier", - "src": "5287:4:12" + "src": "5287:4:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "5274:6:12", + "nativeSrc": "5274:6:25", "nodeType": "YulIdentifier", - "src": "5274:6:12" + "src": "5274:6:25" }, - "nativeSrc": "5274:18:12", + "nativeSrc": "5274:18:25", "nodeType": "YulFunctionCall", - "src": "5274:18:12" + "src": "5274:18:25" }, - "nativeSrc": "5274:18:12", + "nativeSrc": "5274:18:25", "nodeType": "YulExpressionStatement", - "src": "5274:18:12" + "src": "5274:18:25" }, { - "nativeSrc": "5313:68:12", + "nativeSrc": "5313:68:25", "nodeType": "YulVariableDeclaration", - "src": "5313:68:12", + "src": "5313:68:25", "value": { "arguments": [ { @@ -192371,111 +211346,111 @@ "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "5347:3:12", + "nativeSrc": "5347:3:25", "nodeType": "YulIdentifier", - "src": "5347:3:12" + "src": "5347:3:25" }, - "nativeSrc": "5347:5:12", + "nativeSrc": "5347:5:25", "nodeType": "YulFunctionCall", - "src": "5347:5:12" + "src": "5347:5:25" }, { "kind": "number", - "nativeSrc": "5354:1:12", + "nativeSrc": "5354:1:25", "nodeType": "YulLiteral", - "src": "5354:1:12", + "src": "5354:1:25", "type": "", "value": "1" }, { "kind": "number", - "nativeSrc": "5357:4:12", + "nativeSrc": "5357:4:25", "nodeType": "YulLiteral", - "src": "5357:4:12", + "src": "5357:4:25", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "5363:4:12", + "nativeSrc": "5363:4:25", "nodeType": "YulLiteral", - "src": "5363:4:12", + "src": "5363:4:25", "type": "", "value": "0x80" }, { "kind": "number", - "nativeSrc": "5369:4:12", + "nativeSrc": "5369:4:25", "nodeType": "YulLiteral", - "src": "5369:4:12", + "src": "5369:4:25", "type": "", "value": "0x01" }, { "kind": "number", - "nativeSrc": "5375:4:12", + "nativeSrc": "5375:4:25", "nodeType": "YulLiteral", - "src": "5375:4:12", + "src": "5375:4:25", "type": "", "value": "0x20" } ], "functionName": { "name": "staticcall", - "nativeSrc": "5336:10:12", + "nativeSrc": "5336:10:25", "nodeType": "YulIdentifier", - "src": "5336:10:12" + "src": "5336:10:25" }, - "nativeSrc": "5336:44:12", + "nativeSrc": "5336:44:25", "nodeType": "YulFunctionCall", - "src": "5336:44:12" + "src": "5336:44:25" } ], "functionName": { "name": "mload", - "nativeSrc": "5330:5:12", + "nativeSrc": "5330:5:25", "nodeType": "YulIdentifier", - "src": "5330:5:12" + "src": "5330:5:25" }, - "nativeSrc": "5330:51:12", + "nativeSrc": "5330:51:25", "nodeType": "YulFunctionCall", - "src": "5330:51:12" + "src": "5330:51:25" }, "variables": [ { "name": "recovered", - "nativeSrc": "5317:9:12", + "nativeSrc": "5317:9:25", "nodeType": "YulTypedName", - "src": "5317:9:12", + "src": "5317:9:25", "type": "" } ] }, { - "nativeSrc": "5402:64:12", + "nativeSrc": "5402:64:25", "nodeType": "YulAssignment", - "src": "5402:64:12", + "src": "5402:64:25", "value": { "arguments": [ { "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "5416:14:12", + "nativeSrc": "5416:14:25", "nodeType": "YulIdentifier", - "src": "5416:14:12" + "src": "5416:14:25" }, - "nativeSrc": "5416:16:12", + "nativeSrc": "5416:16:25", "nodeType": "YulFunctionCall", - "src": "5416:16:12" + "src": "5416:16:25" }, { "arguments": [ { "kind": "number", - "nativeSrc": "5438:2:12", + "nativeSrc": "5438:2:25", "nodeType": "YulLiteral", - "src": "5438:2:12", + "src": "5438:2:25", "type": "", "value": "96" }, @@ -192483,55 +211458,55 @@ "arguments": [ { "name": "signer", - "nativeSrc": "5446:6:12", + "nativeSrc": "5446:6:25", "nodeType": "YulIdentifier", - "src": "5446:6:12" + "src": "5446:6:25" }, { "name": "recovered", - "nativeSrc": "5454:9:12", + "nativeSrc": "5454:9:25", "nodeType": "YulIdentifier", - "src": "5454:9:12" + "src": "5454:9:25" } ], "functionName": { "name": "xor", - "nativeSrc": "5442:3:12", + "nativeSrc": "5442:3:25", "nodeType": "YulIdentifier", - "src": "5442:3:12" + "src": "5442:3:25" }, - "nativeSrc": "5442:22:12", + "nativeSrc": "5442:22:25", "nodeType": "YulFunctionCall", - "src": "5442:22:12" + "src": "5442:22:25" } ], "functionName": { "name": "shl", - "nativeSrc": "5434:3:12", + "nativeSrc": "5434:3:25", "nodeType": "YulIdentifier", - "src": "5434:3:12" + "src": "5434:3:25" }, - "nativeSrc": "5434:31:12", + "nativeSrc": "5434:31:25", "nodeType": "YulFunctionCall", - "src": "5434:31:12" + "src": "5434:31:25" } ], "functionName": { "name": "gt", - "nativeSrc": "5413:2:12", + "nativeSrc": "5413:2:25", "nodeType": "YulIdentifier", - "src": "5413:2:12" + "src": "5413:2:25" }, - "nativeSrc": "5413:53:12", + "nativeSrc": "5413:53:25", "nodeType": "YulFunctionCall", - "src": "5413:53:12" + "src": "5413:53:25" }, "variableNames": [ { "name": "isValid", - "nativeSrc": "5402:7:12", + "nativeSrc": "5402:7:25", "nodeType": "YulIdentifier", - "src": "5402:7:12" + "src": "5402:7:25" } ] }, @@ -192540,71 +211515,71 @@ "arguments": [ { "kind": "number", - "nativeSrc": "5494:4:12", + "nativeSrc": "5494:4:25", "nodeType": "YulLiteral", - "src": "5494:4:12", + "src": "5494:4:25", "type": "", "value": "0x60" }, { "kind": "number", - "nativeSrc": "5500:1:12", + "nativeSrc": "5500:1:25", "nodeType": "YulLiteral", - "src": "5500:1:12", + "src": "5500:1:25", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "5487:6:12", + "nativeSrc": "5487:6:25", "nodeType": "YulIdentifier", - "src": "5487:6:12" + "src": "5487:6:25" }, - "nativeSrc": "5487:15:12", + "nativeSrc": "5487:15:25", "nodeType": "YulFunctionCall", - "src": "5487:15:12" + "src": "5487:15:25" }, - "nativeSrc": "5487:15:12", + "nativeSrc": "5487:15:25", "nodeType": "YulExpressionStatement", - "src": "5487:15:12" + "src": "5487:15:25" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "5556:4:12", + "nativeSrc": "5556:4:25", "nodeType": "YulLiteral", - "src": "5556:4:12", + "src": "5556:4:25", "type": "", "value": "0x40" }, { "name": "m", - "nativeSrc": "5562:1:12", + "nativeSrc": "5562:1:25", "nodeType": "YulIdentifier", - "src": "5562:1:12" + "src": "5562:1:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "5549:6:12", + "nativeSrc": "5549:6:25", "nodeType": "YulIdentifier", - "src": "5549:6:12" + "src": "5549:6:25" }, - "nativeSrc": "5549:15:12", + "nativeSrc": "5549:15:25", "nodeType": "YulFunctionCall", - "src": "5549:15:12" + "src": "5549:15:25" }, - "nativeSrc": "5549:15:12", + "nativeSrc": "5549:15:25", "nodeType": "YulExpressionStatement", - "src": "5549:15:12" + "src": "5549:15:25" }, { - "nativeSrc": "5621:5:12", + "nativeSrc": "5621:5:25", "nodeType": "YulBreak", - "src": "5621:5:12" + "src": "5621:5:25" } ] }, @@ -192614,75 +211589,75 @@ "arguments": [ { "name": "signer", - "nativeSrc": "4594:6:12", + "nativeSrc": "4594:6:25", "nodeType": "YulIdentifier", - "src": "4594:6:12" + "src": "4594:6:25" } ], "functionName": { "name": "extcodesize", - "nativeSrc": "4582:11:12", + "nativeSrc": "4582:11:25", "nodeType": "YulIdentifier", - "src": "4582:11:12" + "src": "4582:11:25" }, - "nativeSrc": "4582:19:12", + "nativeSrc": "4582:19:25", "nodeType": "YulFunctionCall", - "src": "4582:19:12" + "src": "4582:19:25" } ], "functionName": { "name": "iszero", - "nativeSrc": "4575:6:12", + "nativeSrc": "4575:6:25", "nodeType": "YulIdentifier", - "src": "4575:6:12" + "src": "4575:6:25" }, - "nativeSrc": "4575:27:12", + "nativeSrc": "4575:27:25", "nodeType": "YulFunctionCall", - "src": "4575:27:12" + "src": "4575:27:25" }, - "nativeSrc": "4572:1072:12", + "nativeSrc": "4572:1072:25", "nodeType": "YulIf", - "src": "4572:1072:12" + "src": "4572:1072:25" }, { - "nativeSrc": "5661:29:12", + "nativeSrc": "5661:29:25", "nodeType": "YulVariableDeclaration", - "src": "5661:29:12", + "src": "5661:29:25", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "5674:3:12", + "nativeSrc": "5674:3:25", "nodeType": "YulLiteral", - "src": "5674:3:12", + "src": "5674:3:25", "type": "", "value": "224" }, { "kind": "number", - "nativeSrc": "5679:10:12", + "nativeSrc": "5679:10:25", "nodeType": "YulLiteral", - "src": "5679:10:12", + "src": "5679:10:25", "type": "", "value": "0x1626ba7e" } ], "functionName": { "name": "shl", - "nativeSrc": "5670:3:12", + "nativeSrc": "5670:3:25", "nodeType": "YulIdentifier", - "src": "5670:3:12" + "src": "5670:3:25" }, - "nativeSrc": "5670:20:12", + "nativeSrc": "5670:20:25", "nodeType": "YulFunctionCall", - "src": "5670:20:12" + "src": "5670:20:25" }, "variables": [ { "name": "f", - "nativeSrc": "5665:1:12", + "nativeSrc": "5665:1:25", "nodeType": "YulTypedName", - "src": "5665:1:12", + "src": "5665:1:25", "type": "" } ] @@ -192692,30 +211667,30 @@ "arguments": [ { "name": "m", - "nativeSrc": "5714:1:12", + "nativeSrc": "5714:1:25", "nodeType": "YulIdentifier", - "src": "5714:1:12" + "src": "5714:1:25" }, { "name": "f", - "nativeSrc": "5717:1:12", + "nativeSrc": "5717:1:25", "nodeType": "YulIdentifier", - "src": "5717:1:12" + "src": "5717:1:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "5707:6:12", + "nativeSrc": "5707:6:25", "nodeType": "YulIdentifier", - "src": "5707:6:12" + "src": "5707:6:25" }, - "nativeSrc": "5707:12:12", + "nativeSrc": "5707:12:25", "nodeType": "YulFunctionCall", - "src": "5707:12:12" + "src": "5707:12:25" }, - "nativeSrc": "5707:12:12", + "nativeSrc": "5707:12:25", "nodeType": "YulExpressionStatement", - "src": "5707:12:12" + "src": "5707:12:25" }, { "expression": { @@ -192724,87 +211699,87 @@ "arguments": [ { "name": "m", - "nativeSrc": "5806:1:12", + "nativeSrc": "5806:1:25", "nodeType": "YulIdentifier", - "src": "5806:1:12" + "src": "5806:1:25" }, { "kind": "number", - "nativeSrc": "5809:4:12", + "nativeSrc": "5809:4:25", "nodeType": "YulLiteral", - "src": "5809:4:12", + "src": "5809:4:25", "type": "", "value": "0x04" } ], "functionName": { "name": "add", - "nativeSrc": "5802:3:12", + "nativeSrc": "5802:3:25", "nodeType": "YulIdentifier", - "src": "5802:3:12" + "src": "5802:3:25" }, - "nativeSrc": "5802:12:12", + "nativeSrc": "5802:12:25", "nodeType": "YulFunctionCall", - "src": "5802:12:12" + "src": "5802:12:25" }, { "name": "hash", - "nativeSrc": "5816:4:12", + "nativeSrc": "5816:4:25", "nodeType": "YulIdentifier", - "src": "5816:4:12" + "src": "5816:4:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "5795:6:12", + "nativeSrc": "5795:6:25", "nodeType": "YulIdentifier", - "src": "5795:6:12" + "src": "5795:6:25" }, - "nativeSrc": "5795:26:12", + "nativeSrc": "5795:26:25", "nodeType": "YulFunctionCall", - "src": "5795:26:12" + "src": "5795:26:25" }, - "nativeSrc": "5795:26:12", + "nativeSrc": "5795:26:25", "nodeType": "YulExpressionStatement", - "src": "5795:26:12" + "src": "5795:26:25" }, { - "nativeSrc": "5838:21:12", + "nativeSrc": "5838:21:25", "nodeType": "YulVariableDeclaration", - "src": "5838:21:12", + "src": "5838:21:25", "value": { "arguments": [ { "name": "m", - "nativeSrc": "5851:1:12", + "nativeSrc": "5851:1:25", "nodeType": "YulIdentifier", - "src": "5851:1:12" + "src": "5851:1:25" }, { "kind": "number", - "nativeSrc": "5854:4:12", + "nativeSrc": "5854:4:25", "nodeType": "YulLiteral", - "src": "5854:4:12", + "src": "5854:4:25", "type": "", "value": "0x24" } ], "functionName": { "name": "add", - "nativeSrc": "5847:3:12", + "nativeSrc": "5847:3:25", "nodeType": "YulIdentifier", - "src": "5847:3:12" + "src": "5847:3:25" }, - "nativeSrc": "5847:12:12", + "nativeSrc": "5847:12:25", "nodeType": "YulFunctionCall", - "src": "5847:12:12" + "src": "5847:12:25" }, "variables": [ { "name": "d", - "nativeSrc": "5842:1:12", + "nativeSrc": "5842:1:25", "nodeType": "YulTypedName", - "src": "5842:1:12", + "src": "5842:1:25", "type": "" } ] @@ -192814,32 +211789,32 @@ "arguments": [ { "name": "d", - "nativeSrc": "5883:1:12", + "nativeSrc": "5883:1:25", "nodeType": "YulIdentifier", - "src": "5883:1:12" + "src": "5883:1:25" }, { "kind": "number", - "nativeSrc": "5886:4:12", + "nativeSrc": "5886:4:25", "nodeType": "YulLiteral", - "src": "5886:4:12", + "src": "5886:4:25", "type": "", "value": "0x40" } ], "functionName": { "name": "mstore", - "nativeSrc": "5876:6:12", + "nativeSrc": "5876:6:25", "nodeType": "YulIdentifier", - "src": "5876:6:12" + "src": "5876:6:25" }, - "nativeSrc": "5876:15:12", + "nativeSrc": "5876:15:25", "nodeType": "YulFunctionCall", - "src": "5876:15:12" + "src": "5876:15:25" }, - "nativeSrc": "5876:15:12", + "nativeSrc": "5876:15:25", "nodeType": "YulExpressionStatement", - "src": "5876:15:12" + "src": "5876:15:25" }, { "expression": { @@ -192848,49 +211823,49 @@ "arguments": [ { "name": "m", - "nativeSrc": "5969:1:12", + "nativeSrc": "5969:1:25", "nodeType": "YulIdentifier", - "src": "5969:1:12" + "src": "5969:1:25" }, { "kind": "number", - "nativeSrc": "5972:4:12", + "nativeSrc": "5972:4:25", "nodeType": "YulLiteral", - "src": "5972:4:12", + "src": "5972:4:25", "type": "", "value": "0x44" } ], "functionName": { "name": "add", - "nativeSrc": "5965:3:12", + "nativeSrc": "5965:3:25", "nodeType": "YulIdentifier", - "src": "5965:3:12" + "src": "5965:3:25" }, - "nativeSrc": "5965:12:12", + "nativeSrc": "5965:12:25", "nodeType": "YulFunctionCall", - "src": "5965:12:12" + "src": "5965:12:25" }, { "name": "signature.length", - "nativeSrc": "5979:16:12", + "nativeSrc": "5979:16:25", "nodeType": "YulIdentifier", - "src": "5979:16:12" + "src": "5979:16:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "5958:6:12", + "nativeSrc": "5958:6:25", "nodeType": "YulIdentifier", - "src": "5958:6:12" + "src": "5958:6:25" }, - "nativeSrc": "5958:38:12", + "nativeSrc": "5958:38:25", "nodeType": "YulFunctionCall", - "src": "5958:38:12" + "src": "5958:38:25" }, - "nativeSrc": "5958:38:12", + "nativeSrc": "5958:38:25", "nodeType": "YulExpressionStatement", - "src": "5958:38:12" + "src": "5958:38:25" }, { "expression": { @@ -192899,151 +211874,151 @@ "arguments": [ { "name": "m", - "nativeSrc": "6076:1:12", + "nativeSrc": "6076:1:25", "nodeType": "YulIdentifier", - "src": "6076:1:12" + "src": "6076:1:25" }, { "kind": "number", - "nativeSrc": "6079:4:12", + "nativeSrc": "6079:4:25", "nodeType": "YulLiteral", - "src": "6079:4:12", + "src": "6079:4:25", "type": "", "value": "0x64" } ], "functionName": { "name": "add", - "nativeSrc": "6072:3:12", + "nativeSrc": "6072:3:25", "nodeType": "YulIdentifier", - "src": "6072:3:12" + "src": "6072:3:25" }, - "nativeSrc": "6072:12:12", + "nativeSrc": "6072:12:25", "nodeType": "YulFunctionCall", - "src": "6072:12:12" + "src": "6072:12:25" }, { "name": "signature.offset", - "nativeSrc": "6086:16:12", + "nativeSrc": "6086:16:25", "nodeType": "YulIdentifier", - "src": "6086:16:12" + "src": "6086:16:25" }, { "name": "signature.length", - "nativeSrc": "6104:16:12", + "nativeSrc": "6104:16:25", "nodeType": "YulIdentifier", - "src": "6104:16:12" + "src": "6104:16:25" } ], "functionName": { "name": "calldatacopy", - "nativeSrc": "6059:12:12", + "nativeSrc": "6059:12:25", "nodeType": "YulIdentifier", - "src": "6059:12:12" + "src": "6059:12:25" }, - "nativeSrc": "6059:62:12", + "nativeSrc": "6059:62:25", "nodeType": "YulFunctionCall", - "src": "6059:62:12" + "src": "6059:62:25" }, - "nativeSrc": "6059:62:12", + "nativeSrc": "6059:62:25", "nodeType": "YulExpressionStatement", - "src": "6059:62:12" + "src": "6059:62:25" }, { - "nativeSrc": "6138:77:12", + "nativeSrc": "6138:77:25", "nodeType": "YulAssignment", - "src": "6138:77:12", + "src": "6138:77:25", "value": { "arguments": [ { "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "6160:3:12", + "nativeSrc": "6160:3:25", "nodeType": "YulIdentifier", - "src": "6160:3:12" + "src": "6160:3:25" }, - "nativeSrc": "6160:5:12", + "nativeSrc": "6160:5:25", "nodeType": "YulFunctionCall", - "src": "6160:5:12" + "src": "6160:5:25" }, { "name": "signer", - "nativeSrc": "6167:6:12", + "nativeSrc": "6167:6:25", "nodeType": "YulIdentifier", - "src": "6167:6:12" + "src": "6167:6:25" }, { "name": "m", - "nativeSrc": "6175:1:12", + "nativeSrc": "6175:1:25", "nodeType": "YulIdentifier", - "src": "6175:1:12" + "src": "6175:1:25" }, { "arguments": [ { "name": "signature.length", - "nativeSrc": "6182:16:12", + "nativeSrc": "6182:16:25", "nodeType": "YulIdentifier", - "src": "6182:16:12" + "src": "6182:16:25" }, { "kind": "number", - "nativeSrc": "6200:4:12", + "nativeSrc": "6200:4:25", "nodeType": "YulLiteral", - "src": "6200:4:12", + "src": "6200:4:25", "type": "", "value": "0x64" } ], "functionName": { "name": "add", - "nativeSrc": "6178:3:12", + "nativeSrc": "6178:3:25", "nodeType": "YulIdentifier", - "src": "6178:3:12" + "src": "6178:3:25" }, - "nativeSrc": "6178:27:12", + "nativeSrc": "6178:27:25", "nodeType": "YulFunctionCall", - "src": "6178:27:12" + "src": "6178:27:25" }, { "name": "d", - "nativeSrc": "6207:1:12", + "nativeSrc": "6207:1:25", "nodeType": "YulIdentifier", - "src": "6207:1:12" + "src": "6207:1:25" }, { "kind": "number", - "nativeSrc": "6210:4:12", + "nativeSrc": "6210:4:25", "nodeType": "YulLiteral", - "src": "6210:4:12", + "src": "6210:4:25", "type": "", "value": "0x20" } ], "functionName": { "name": "staticcall", - "nativeSrc": "6149:10:12", + "nativeSrc": "6149:10:25", "nodeType": "YulIdentifier", - "src": "6149:10:12" + "src": "6149:10:25" }, - "nativeSrc": "6149:66:12", + "nativeSrc": "6149:66:25", "nodeType": "YulFunctionCall", - "src": "6149:66:12" + "src": "6149:66:25" }, "variableNames": [ { "name": "isValid", - "nativeSrc": "6138:7:12", + "nativeSrc": "6138:7:25", "nodeType": "YulIdentifier", - "src": "6138:7:12" + "src": "6138:7:25" } ] }, { - "nativeSrc": "6232:40:12", + "nativeSrc": "6232:40:25", "nodeType": "YulAssignment", - "src": "6232:40:12", + "src": "6232:40:25", "value": { "arguments": [ { @@ -193052,94 +212027,94 @@ "arguments": [ { "name": "d", - "nativeSrc": "6256:1:12", + "nativeSrc": "6256:1:25", "nodeType": "YulIdentifier", - "src": "6256:1:12" + "src": "6256:1:25" } ], "functionName": { "name": "mload", - "nativeSrc": "6250:5:12", + "nativeSrc": "6250:5:25", "nodeType": "YulIdentifier", - "src": "6250:5:12" + "src": "6250:5:25" }, - "nativeSrc": "6250:8:12", + "nativeSrc": "6250:8:25", "nodeType": "YulFunctionCall", - "src": "6250:8:12" + "src": "6250:8:25" }, { "name": "f", - "nativeSrc": "6260:1:12", + "nativeSrc": "6260:1:25", "nodeType": "YulIdentifier", - "src": "6260:1:12" + "src": "6260:1:25" } ], "functionName": { "name": "eq", - "nativeSrc": "6247:2:12", + "nativeSrc": "6247:2:25", "nodeType": "YulIdentifier", - "src": "6247:2:12" + "src": "6247:2:25" }, - "nativeSrc": "6247:15:12", + "nativeSrc": "6247:15:25", "nodeType": "YulFunctionCall", - "src": "6247:15:12" + "src": "6247:15:25" }, { "name": "isValid", - "nativeSrc": "6264:7:12", + "nativeSrc": "6264:7:25", "nodeType": "YulIdentifier", - "src": "6264:7:12" + "src": "6264:7:25" } ], "functionName": { "name": "and", - "nativeSrc": "6243:3:12", + "nativeSrc": "6243:3:25", "nodeType": "YulIdentifier", - "src": "6243:3:12" + "src": "6243:3:25" }, - "nativeSrc": "6243:29:12", + "nativeSrc": "6243:29:25", "nodeType": "YulFunctionCall", - "src": "6243:29:12" + "src": "6243:29:25" }, "variableNames": [ { "name": "isValid", - "nativeSrc": "6232:7:12", + "nativeSrc": "6232:7:25", "nodeType": "YulIdentifier", - "src": "6232:7:12" + "src": "6232:7:25" } ] }, { - "nativeSrc": "6289:5:12", + "nativeSrc": "6289:5:25", "nodeType": "YulBreak", - "src": "6289:5:12" + "src": "6289:5:25" } ] }, "condition": { "kind": "number", - "nativeSrc": "4549:1:12", + "nativeSrc": "4549:1:25", "nodeType": "YulLiteral", - "src": "4549:1:12", + "src": "4549:1:25", "type": "", "value": "1" }, - "nativeSrc": "4542:1766:12", + "nativeSrc": "4542:1766:25", "nodeType": "YulForLoop", "post": { - "nativeSrc": "4551:2:12", + "nativeSrc": "4551:2:25", "nodeType": "YulBlock", - "src": "4551:2:12", + "src": "4551:2:25", "statements": [] }, "pre": { - "nativeSrc": "4546:2:12", + "nativeSrc": "4546:2:25", "nodeType": "YulBlock", - "src": "4546:2:12", + "src": "4546:2:25", "statements": [] }, - "src": "4542:1766:12" + "src": "4542:1766:25" } ] }, @@ -193147,173 +212122,173 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 6165, + "declaration": 7771, "isOffset": false, "isSlot": false, - "src": "5287:4:12", + "src": "5287:4:25", "valueSize": 1 }, { - "declaration": 6165, + "declaration": 7771, "isOffset": false, "isSlot": false, - "src": "5816:4:12", + "src": "5816:4:25", "valueSize": 1 }, { - "declaration": 6170, + "declaration": 7776, "isOffset": false, "isSlot": false, - "src": "5402:7:12", + "src": "5402:7:25", "valueSize": 1 }, { - "declaration": 6170, + "declaration": 7776, "isOffset": false, "isSlot": false, - "src": "6138:7:12", + "src": "6138:7:25", "valueSize": 1 }, { - "declaration": 6170, + "declaration": 7776, "isOffset": false, "isSlot": false, - "src": "6232:7:12", + "src": "6232:7:25", "valueSize": 1 }, { - "declaration": 6170, + "declaration": 7776, "isOffset": false, "isSlot": false, - "src": "6264:7:12", + "src": "6264:7:25", "valueSize": 1 }, { - "declaration": 6167, + "declaration": 7773, "isOffset": false, "isSlot": false, - "src": "4632:16:12", + "src": "4632:16:25", "suffix": "length", "valueSize": 1 }, { - "declaration": 6167, + "declaration": 7773, "isOffset": false, "isSlot": false, - "src": "5979:16:12", + "src": "5979:16:25", "suffix": "length", "valueSize": 1 }, { - "declaration": 6167, + "declaration": 7773, "isOffset": false, "isSlot": false, - "src": "6104:16:12", + "src": "6104:16:25", "suffix": "length", "valueSize": 1 }, { - "declaration": 6167, + "declaration": 7773, "isOffset": false, "isSlot": false, - "src": "6182:16:12", + "src": "6182:16:25", "suffix": "length", "valueSize": 1 }, { - "declaration": 6167, + "declaration": 7773, "isOffset": true, "isSlot": false, - "src": "4730:16:12", + "src": "4730:16:25", "suffix": "offset", "valueSize": 1 }, { - "declaration": 6167, + "declaration": 7773, "isOffset": true, "isSlot": false, - "src": "4873:16:12", + "src": "4873:16:25", "suffix": "offset", "valueSize": 1 }, { - "declaration": 6167, + "declaration": 7773, "isOffset": true, "isSlot": false, - "src": "5079:16:12", + "src": "5079:16:25", "suffix": "offset", "valueSize": 1 }, { - "declaration": 6167, + "declaration": 7773, "isOffset": true, "isSlot": false, - "src": "5157:16:12", + "src": "5157:16:25", "suffix": "offset", "valueSize": 1 }, { - "declaration": 6167, + "declaration": 7773, "isOffset": true, "isSlot": false, - "src": "6086:16:12", + "src": "6086:16:25", "suffix": "offset", "valueSize": 1 }, { - "declaration": 6163, + "declaration": 7769, "isOffset": false, "isSlot": false, - "src": "4594:6:12", + "src": "4594:6:25", "valueSize": 1 }, { - "declaration": 6163, + "declaration": 7769, "isOffset": false, "isSlot": false, - "src": "5446:6:12", + "src": "5446:6:25", "valueSize": 1 }, { - "declaration": 6163, + "declaration": 7769, "isOffset": false, "isSlot": false, - "src": "6167:6:12", + "src": "6167:6:25", "valueSize": 1 } ], - "id": 6181, + "id": 7787, "nodeType": "InlineAssembly", - "src": "4486:1832:12" + "src": "4486:1832:25" } ] }, "documentation": { - "id": 6161, + "id": 7767, "nodeType": "StructuredDocumentation", - "src": "4024:196:12", + "src": "4024:196:25", "text": "@dev Returns whether `signature` is valid for `signer` and `hash`.\n If `signer.code.length == 0`, then validate with `ecrecover`, else\n it will validate with ERC1271 on `signer`." }, - "id": 6183, + "id": 7789, "implemented": true, "kind": "function", "modifiers": [], "name": "isValidSignatureNowCalldata", - "nameLocation": "4234:27:12", + "nameLocation": "4234:27:25", "nodeType": "FunctionDefinition", "parameters": { - "id": 6168, + "id": 7774, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6163, + "id": 7769, "mutability": "mutable", "name": "signer", - "nameLocation": "4270:6:12", + "nameLocation": "4270:6:25", "nodeType": "VariableDeclaration", - "scope": 6183, - "src": "4262:14:12", + "scope": 7789, + "src": "4262:14:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -193321,10 +212296,10 @@ "typeString": "address" }, "typeName": { - "id": 6162, + "id": 7768, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4262:7:12", + "src": "4262:7:25", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -193335,13 +212310,13 @@ }, { "constant": false, - "id": 6165, + "id": 7771, "mutability": "mutable", "name": "hash", - "nameLocation": "4286:4:12", + "nameLocation": "4286:4:25", "nodeType": "VariableDeclaration", - "scope": 6183, - "src": "4278:12:12", + "scope": 7789, + "src": "4278:12:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -193349,10 +212324,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6164, + "id": 7770, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "4278:7:12", + "src": "4278:7:25", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -193362,13 +212337,13 @@ }, { "constant": false, - "id": 6167, + "id": 7773, "mutability": "mutable", "name": "signature", - "nameLocation": "4307:9:12", + "nameLocation": "4307:9:25", "nodeType": "VariableDeclaration", - "scope": 6183, - "src": "4292:24:12", + "scope": 7789, + "src": "4292:24:25", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -193376,10 +212351,10 @@ "typeString": "bytes" }, "typeName": { - "id": 6166, + "id": 7772, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "4292:5:12", + "src": "4292:5:25", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -193388,21 +212363,21 @@ "visibility": "internal" } ], - "src": "4261:56:12" + "src": "4261:56:25" }, "returnParameters": { - "id": 6171, + "id": 7777, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6170, + "id": 7776, "mutability": "mutable", "name": "isValid", - "nameLocation": "4370:7:12", + "nameLocation": "4370:7:25", "nodeType": "VariableDeclaration", - "scope": 6183, - "src": "4365:12:12", + "scope": 7789, + "src": "4365:12:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -193410,10 +212385,10 @@ "typeString": "bool" }, "typeName": { - "id": 6169, + "id": 7775, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "4365:4:12", + "src": "4365:4:25", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -193422,19 +212397,19 @@ "visibility": "internal" } ], - "src": "4364:14:12" + "src": "4364:14:25" }, - "scope": 6354, - "src": "4225:2099:12", + "scope": 7960, + "src": "4225:2099:25", "stateMutability": "view", "virtual": false, "visibility": "internal" }, { "body": { - "id": 6207, + "id": 7813, "nodeType": "Block", - "src": "6692:1509:12", + "src": "6692:1509:25", "statements": [ { "condition": { @@ -193442,18 +212417,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 6202, + "id": 7808, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 6197, + "id": 7803, "name": "signer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6186, - "src": "6706:6:12", + "referencedDeclaration": 7792, + "src": "6706:6:25", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -193465,14 +212440,14 @@ "arguments": [ { "hexValue": "30", - "id": 6200, + "id": 7806, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6724:1:12", + "src": "6724:1:25", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -193487,26 +212462,26 @@ "typeString": "int_const 0" } ], - "id": 6199, + "id": 7805, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "6716:7:12", + "src": "6716:7:25", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 6198, + "id": 7804, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6716:7:12", + "src": "6716:7:25", "typeDescriptions": {} } }, - "id": 6201, + "id": 7807, "isConstant": false, "isLValue": false, "isPure": true, @@ -193515,134 +212490,134 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "6716:10:12", + "src": "6716:10:25", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "6706:20:12", + "src": "6706:20:25", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 6205, + "id": 7811, "nodeType": "IfStatement", - "src": "6702:40:12", + "src": "6702:40:25", "trueBody": { "expression": { - "id": 6203, + "id": 7809, "name": "isValid", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6195, - "src": "6735:7:12", + "referencedDeclaration": 7801, + "src": "6735:7:25", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 6196, - "id": 6204, + "functionReturnParameters": 7802, + "id": 7810, "nodeType": "Return", - "src": "6728:14:12" + "src": "6728:14:25" } }, { "AST": { - "nativeSrc": "6804:1391:12", + "nativeSrc": "6804:1391:25", "nodeType": "YulBlock", - "src": "6804:1391:12", + "src": "6804:1391:25", "statements": [ { - "nativeSrc": "6818:20:12", + "nativeSrc": "6818:20:25", "nodeType": "YulVariableDeclaration", - "src": "6818:20:12", + "src": "6818:20:25", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "6833:4:12", + "nativeSrc": "6833:4:25", "nodeType": "YulLiteral", - "src": "6833:4:12", + "src": "6833:4:25", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "6827:5:12", + "nativeSrc": "6827:5:25", "nodeType": "YulIdentifier", - "src": "6827:5:12" + "src": "6827:5:25" }, - "nativeSrc": "6827:11:12", + "nativeSrc": "6827:11:25", "nodeType": "YulFunctionCall", - "src": "6827:11:12" + "src": "6827:11:25" }, "variables": [ { "name": "m", - "nativeSrc": "6822:1:12", + "nativeSrc": "6822:1:25", "nodeType": "YulTypedName", - "src": "6822:1:12", + "src": "6822:1:25", "type": "" } ] }, { "body": { - "nativeSrc": "6863:1322:12", + "nativeSrc": "6863:1322:25", "nodeType": "YulBlock", - "src": "6863:1322:12", + "src": "6863:1322:25", "statements": [ { "body": { - "nativeSrc": "6912:561:12", + "nativeSrc": "6912:561:25", "nodeType": "YulBlock", - "src": "6912:561:12", + "src": "6912:561:25", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "6941:4:12", + "nativeSrc": "6941:4:25", "nodeType": "YulLiteral", - "src": "6941:4:12", + "src": "6941:4:25", "type": "", "value": "0x00" }, { "name": "hash", - "nativeSrc": "6947:4:12", + "nativeSrc": "6947:4:25", "nodeType": "YulIdentifier", - "src": "6947:4:12" + "src": "6947:4:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "6934:6:12", + "nativeSrc": "6934:6:25", "nodeType": "YulIdentifier", - "src": "6934:6:12" + "src": "6934:6:25" }, - "nativeSrc": "6934:18:12", + "nativeSrc": "6934:18:25", "nodeType": "YulFunctionCall", - "src": "6934:18:12" + "src": "6934:18:25" }, - "nativeSrc": "6934:18:12", + "nativeSrc": "6934:18:25", "nodeType": "YulExpressionStatement", - "src": "6934:18:12" + "src": "6934:18:25" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "6980:4:12", + "nativeSrc": "6980:4:25", "nodeType": "YulLiteral", - "src": "6980:4:12", + "src": "6980:4:25", "type": "", "value": "0x20" }, @@ -193652,103 +212627,103 @@ "arguments": [ { "kind": "number", - "nativeSrc": "6994:3:12", + "nativeSrc": "6994:3:25", "nodeType": "YulLiteral", - "src": "6994:3:12", + "src": "6994:3:25", "type": "", "value": "255" }, { "name": "vs", - "nativeSrc": "6999:2:12", + "nativeSrc": "6999:2:25", "nodeType": "YulIdentifier", - "src": "6999:2:12" + "src": "6999:2:25" } ], "functionName": { "name": "shr", - "nativeSrc": "6990:3:12", + "nativeSrc": "6990:3:25", "nodeType": "YulIdentifier", - "src": "6990:3:12" + "src": "6990:3:25" }, - "nativeSrc": "6990:12:12", + "nativeSrc": "6990:12:25", "nodeType": "YulFunctionCall", - "src": "6990:12:12" + "src": "6990:12:25" }, { "kind": "number", - "nativeSrc": "7004:2:12", + "nativeSrc": "7004:2:25", "nodeType": "YulLiteral", - "src": "7004:2:12", + "src": "7004:2:25", "type": "", "value": "27" } ], "functionName": { "name": "add", - "nativeSrc": "6986:3:12", + "nativeSrc": "6986:3:25", "nodeType": "YulIdentifier", - "src": "6986:3:12" + "src": "6986:3:25" }, - "nativeSrc": "6986:21:12", + "nativeSrc": "6986:21:25", "nodeType": "YulFunctionCall", - "src": "6986:21:12" + "src": "6986:21:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "6973:6:12", + "nativeSrc": "6973:6:25", "nodeType": "YulIdentifier", - "src": "6973:6:12" + "src": "6973:6:25" }, - "nativeSrc": "6973:35:12", + "nativeSrc": "6973:35:25", "nodeType": "YulFunctionCall", - "src": "6973:35:12" + "src": "6973:35:25" }, - "nativeSrc": "6973:35:12", + "nativeSrc": "6973:35:25", "nodeType": "YulExpressionStatement", - "src": "6973:35:12" + "src": "6973:35:25" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "7044:4:12", + "nativeSrc": "7044:4:25", "nodeType": "YulLiteral", - "src": "7044:4:12", + "src": "7044:4:25", "type": "", "value": "0x40" }, { "name": "r", - "nativeSrc": "7050:1:12", + "nativeSrc": "7050:1:25", "nodeType": "YulIdentifier", - "src": "7050:1:12" + "src": "7050:1:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "7037:6:12", + "nativeSrc": "7037:6:25", "nodeType": "YulIdentifier", - "src": "7037:6:12" + "src": "7037:6:25" }, - "nativeSrc": "7037:15:12", + "nativeSrc": "7037:15:25", "nodeType": "YulFunctionCall", - "src": "7037:15:12" + "src": "7037:15:25" }, - "nativeSrc": "7037:15:12", + "nativeSrc": "7037:15:25", "nodeType": "YulExpressionStatement", - "src": "7037:15:12" + "src": "7037:15:25" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "7088:4:12", + "nativeSrc": "7088:4:25", "nodeType": "YulLiteral", - "src": "7088:4:12", + "src": "7088:4:25", "type": "", "value": "0x60" }, @@ -193756,9 +212731,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "7098:1:12", + "nativeSrc": "7098:1:25", "nodeType": "YulLiteral", - "src": "7098:1:12", + "src": "7098:1:25", "type": "", "value": "1" }, @@ -193766,59 +212741,59 @@ "arguments": [ { "kind": "number", - "nativeSrc": "7105:1:12", + "nativeSrc": "7105:1:25", "nodeType": "YulLiteral", - "src": "7105:1:12", + "src": "7105:1:25", "type": "", "value": "1" }, { "name": "vs", - "nativeSrc": "7108:2:12", + "nativeSrc": "7108:2:25", "nodeType": "YulIdentifier", - "src": "7108:2:12" + "src": "7108:2:25" } ], "functionName": { "name": "shl", - "nativeSrc": "7101:3:12", + "nativeSrc": "7101:3:25", "nodeType": "YulIdentifier", - "src": "7101:3:12" + "src": "7101:3:25" }, - "nativeSrc": "7101:10:12", + "nativeSrc": "7101:10:25", "nodeType": "YulFunctionCall", - "src": "7101:10:12" + "src": "7101:10:25" } ], "functionName": { "name": "shr", - "nativeSrc": "7094:3:12", + "nativeSrc": "7094:3:25", "nodeType": "YulIdentifier", - "src": "7094:3:12" + "src": "7094:3:25" }, - "nativeSrc": "7094:18:12", + "nativeSrc": "7094:18:25", "nodeType": "YulFunctionCall", - "src": "7094:18:12" + "src": "7094:18:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "7081:6:12", + "nativeSrc": "7081:6:25", "nodeType": "YulIdentifier", - "src": "7081:6:12" + "src": "7081:6:25" }, - "nativeSrc": "7081:32:12", + "nativeSrc": "7081:32:25", "nodeType": "YulFunctionCall", - "src": "7081:32:12" + "src": "7081:32:25" }, - "nativeSrc": "7081:32:12", + "nativeSrc": "7081:32:25", "nodeType": "YulExpressionStatement", - "src": "7081:32:12" + "src": "7081:32:25" }, { - "nativeSrc": "7142:68:12", + "nativeSrc": "7142:68:25", "nodeType": "YulVariableDeclaration", - "src": "7142:68:12", + "src": "7142:68:25", "value": { "arguments": [ { @@ -193827,111 +212802,111 @@ "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "7176:3:12", + "nativeSrc": "7176:3:25", "nodeType": "YulIdentifier", - "src": "7176:3:12" + "src": "7176:3:25" }, - "nativeSrc": "7176:5:12", + "nativeSrc": "7176:5:25", "nodeType": "YulFunctionCall", - "src": "7176:5:12" + "src": "7176:5:25" }, { "kind": "number", - "nativeSrc": "7183:1:12", + "nativeSrc": "7183:1:25", "nodeType": "YulLiteral", - "src": "7183:1:12", + "src": "7183:1:25", "type": "", "value": "1" }, { "kind": "number", - "nativeSrc": "7186:4:12", + "nativeSrc": "7186:4:25", "nodeType": "YulLiteral", - "src": "7186:4:12", + "src": "7186:4:25", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "7192:4:12", + "nativeSrc": "7192:4:25", "nodeType": "YulLiteral", - "src": "7192:4:12", + "src": "7192:4:25", "type": "", "value": "0x80" }, { "kind": "number", - "nativeSrc": "7198:4:12", + "nativeSrc": "7198:4:25", "nodeType": "YulLiteral", - "src": "7198:4:12", + "src": "7198:4:25", "type": "", "value": "0x01" }, { "kind": "number", - "nativeSrc": "7204:4:12", + "nativeSrc": "7204:4:25", "nodeType": "YulLiteral", - "src": "7204:4:12", + "src": "7204:4:25", "type": "", "value": "0x20" } ], "functionName": { "name": "staticcall", - "nativeSrc": "7165:10:12", + "nativeSrc": "7165:10:25", "nodeType": "YulIdentifier", - "src": "7165:10:12" + "src": "7165:10:25" }, - "nativeSrc": "7165:44:12", + "nativeSrc": "7165:44:25", "nodeType": "YulFunctionCall", - "src": "7165:44:12" + "src": "7165:44:25" } ], "functionName": { "name": "mload", - "nativeSrc": "7159:5:12", + "nativeSrc": "7159:5:25", "nodeType": "YulIdentifier", - "src": "7159:5:12" + "src": "7159:5:25" }, - "nativeSrc": "7159:51:12", + "nativeSrc": "7159:51:25", "nodeType": "YulFunctionCall", - "src": "7159:51:12" + "src": "7159:51:25" }, "variables": [ { "name": "recovered", - "nativeSrc": "7146:9:12", + "nativeSrc": "7146:9:25", "nodeType": "YulTypedName", - "src": "7146:9:12", + "src": "7146:9:25", "type": "" } ] }, { - "nativeSrc": "7231:64:12", + "nativeSrc": "7231:64:25", "nodeType": "YulAssignment", - "src": "7231:64:12", + "src": "7231:64:25", "value": { "arguments": [ { "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "7245:14:12", + "nativeSrc": "7245:14:25", "nodeType": "YulIdentifier", - "src": "7245:14:12" + "src": "7245:14:25" }, - "nativeSrc": "7245:16:12", + "nativeSrc": "7245:16:25", "nodeType": "YulFunctionCall", - "src": "7245:16:12" + "src": "7245:16:25" }, { "arguments": [ { "kind": "number", - "nativeSrc": "7267:2:12", + "nativeSrc": "7267:2:25", "nodeType": "YulLiteral", - "src": "7267:2:12", + "src": "7267:2:25", "type": "", "value": "96" }, @@ -193939,55 +212914,55 @@ "arguments": [ { "name": "signer", - "nativeSrc": "7275:6:12", + "nativeSrc": "7275:6:25", "nodeType": "YulIdentifier", - "src": "7275:6:12" + "src": "7275:6:25" }, { "name": "recovered", - "nativeSrc": "7283:9:12", + "nativeSrc": "7283:9:25", "nodeType": "YulIdentifier", - "src": "7283:9:12" + "src": "7283:9:25" } ], "functionName": { "name": "xor", - "nativeSrc": "7271:3:12", + "nativeSrc": "7271:3:25", "nodeType": "YulIdentifier", - "src": "7271:3:12" + "src": "7271:3:25" }, - "nativeSrc": "7271:22:12", + "nativeSrc": "7271:22:25", "nodeType": "YulFunctionCall", - "src": "7271:22:12" + "src": "7271:22:25" } ], "functionName": { "name": "shl", - "nativeSrc": "7263:3:12", + "nativeSrc": "7263:3:25", "nodeType": "YulIdentifier", - "src": "7263:3:12" + "src": "7263:3:25" }, - "nativeSrc": "7263:31:12", + "nativeSrc": "7263:31:25", "nodeType": "YulFunctionCall", - "src": "7263:31:12" + "src": "7263:31:25" } ], "functionName": { "name": "gt", - "nativeSrc": "7242:2:12", + "nativeSrc": "7242:2:25", "nodeType": "YulIdentifier", - "src": "7242:2:12" + "src": "7242:2:25" }, - "nativeSrc": "7242:53:12", + "nativeSrc": "7242:53:25", "nodeType": "YulFunctionCall", - "src": "7242:53:12" + "src": "7242:53:25" }, "variableNames": [ { "name": "isValid", - "nativeSrc": "7231:7:12", + "nativeSrc": "7231:7:25", "nodeType": "YulIdentifier", - "src": "7231:7:12" + "src": "7231:7:25" } ] }, @@ -193996,71 +212971,71 @@ "arguments": [ { "kind": "number", - "nativeSrc": "7323:4:12", + "nativeSrc": "7323:4:25", "nodeType": "YulLiteral", - "src": "7323:4:12", + "src": "7323:4:25", "type": "", "value": "0x60" }, { "kind": "number", - "nativeSrc": "7329:1:12", + "nativeSrc": "7329:1:25", "nodeType": "YulLiteral", - "src": "7329:1:12", + "src": "7329:1:25", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "7316:6:12", + "nativeSrc": "7316:6:25", "nodeType": "YulIdentifier", - "src": "7316:6:12" + "src": "7316:6:25" }, - "nativeSrc": "7316:15:12", + "nativeSrc": "7316:15:25", "nodeType": "YulFunctionCall", - "src": "7316:15:12" + "src": "7316:15:25" }, - "nativeSrc": "7316:15:12", + "nativeSrc": "7316:15:25", "nodeType": "YulExpressionStatement", - "src": "7316:15:12" + "src": "7316:15:25" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "7385:4:12", + "nativeSrc": "7385:4:25", "nodeType": "YulLiteral", - "src": "7385:4:12", + "src": "7385:4:25", "type": "", "value": "0x40" }, { "name": "m", - "nativeSrc": "7391:1:12", + "nativeSrc": "7391:1:25", "nodeType": "YulIdentifier", - "src": "7391:1:12" + "src": "7391:1:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "7378:6:12", + "nativeSrc": "7378:6:25", "nodeType": "YulIdentifier", - "src": "7378:6:12" + "src": "7378:6:25" }, - "nativeSrc": "7378:15:12", + "nativeSrc": "7378:15:25", "nodeType": "YulFunctionCall", - "src": "7378:15:12" + "src": "7378:15:25" }, - "nativeSrc": "7378:15:12", + "nativeSrc": "7378:15:25", "nodeType": "YulExpressionStatement", - "src": "7378:15:12" + "src": "7378:15:25" }, { - "nativeSrc": "7450:5:12", + "nativeSrc": "7450:5:25", "nodeType": "YulBreak", - "src": "7450:5:12" + "src": "7450:5:25" } ] }, @@ -194070,75 +213045,75 @@ "arguments": [ { "name": "signer", - "nativeSrc": "6903:6:12", + "nativeSrc": "6903:6:25", "nodeType": "YulIdentifier", - "src": "6903:6:12" + "src": "6903:6:25" } ], "functionName": { "name": "extcodesize", - "nativeSrc": "6891:11:12", + "nativeSrc": "6891:11:25", "nodeType": "YulIdentifier", - "src": "6891:11:12" + "src": "6891:11:25" }, - "nativeSrc": "6891:19:12", + "nativeSrc": "6891:19:25", "nodeType": "YulFunctionCall", - "src": "6891:19:12" + "src": "6891:19:25" } ], "functionName": { "name": "iszero", - "nativeSrc": "6884:6:12", + "nativeSrc": "6884:6:25", "nodeType": "YulIdentifier", - "src": "6884:6:12" + "src": "6884:6:25" }, - "nativeSrc": "6884:27:12", + "nativeSrc": "6884:27:25", "nodeType": "YulFunctionCall", - "src": "6884:27:12" + "src": "6884:27:25" }, - "nativeSrc": "6881:592:12", + "nativeSrc": "6881:592:25", "nodeType": "YulIf", - "src": "6881:592:12" + "src": "6881:592:25" }, { - "nativeSrc": "7490:29:12", + "nativeSrc": "7490:29:25", "nodeType": "YulVariableDeclaration", - "src": "7490:29:12", + "src": "7490:29:25", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "7503:3:12", + "nativeSrc": "7503:3:25", "nodeType": "YulLiteral", - "src": "7503:3:12", + "src": "7503:3:25", "type": "", "value": "224" }, { "kind": "number", - "nativeSrc": "7508:10:12", + "nativeSrc": "7508:10:25", "nodeType": "YulLiteral", - "src": "7508:10:12", + "src": "7508:10:25", "type": "", "value": "0x1626ba7e" } ], "functionName": { "name": "shl", - "nativeSrc": "7499:3:12", + "nativeSrc": "7499:3:25", "nodeType": "YulIdentifier", - "src": "7499:3:12" + "src": "7499:3:25" }, - "nativeSrc": "7499:20:12", + "nativeSrc": "7499:20:25", "nodeType": "YulFunctionCall", - "src": "7499:20:12" + "src": "7499:20:25" }, "variables": [ { "name": "f", - "nativeSrc": "7494:1:12", + "nativeSrc": "7494:1:25", "nodeType": "YulTypedName", - "src": "7494:1:12", + "src": "7494:1:25", "type": "" } ] @@ -194148,30 +213123,30 @@ "arguments": [ { "name": "m", - "nativeSrc": "7543:1:12", + "nativeSrc": "7543:1:25", "nodeType": "YulIdentifier", - "src": "7543:1:12" + "src": "7543:1:25" }, { "name": "f", - "nativeSrc": "7546:1:12", + "nativeSrc": "7546:1:25", "nodeType": "YulIdentifier", - "src": "7546:1:12" + "src": "7546:1:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "7536:6:12", + "nativeSrc": "7536:6:25", "nodeType": "YulIdentifier", - "src": "7536:6:12" + "src": "7536:6:25" }, - "nativeSrc": "7536:12:12", + "nativeSrc": "7536:12:25", "nodeType": "YulFunctionCall", - "src": "7536:12:12" + "src": "7536:12:25" }, - "nativeSrc": "7536:12:12", + "nativeSrc": "7536:12:25", "nodeType": "YulExpressionStatement", - "src": "7536:12:12" + "src": "7536:12:25" }, { "expression": { @@ -194180,87 +213155,87 @@ "arguments": [ { "name": "m", - "nativeSrc": "7635:1:12", + "nativeSrc": "7635:1:25", "nodeType": "YulIdentifier", - "src": "7635:1:12" + "src": "7635:1:25" }, { "kind": "number", - "nativeSrc": "7638:4:12", + "nativeSrc": "7638:4:25", "nodeType": "YulLiteral", - "src": "7638:4:12", + "src": "7638:4:25", "type": "", "value": "0x04" } ], "functionName": { "name": "add", - "nativeSrc": "7631:3:12", + "nativeSrc": "7631:3:25", "nodeType": "YulIdentifier", - "src": "7631:3:12" + "src": "7631:3:25" }, - "nativeSrc": "7631:12:12", + "nativeSrc": "7631:12:25", "nodeType": "YulFunctionCall", - "src": "7631:12:12" + "src": "7631:12:25" }, { "name": "hash", - "nativeSrc": "7645:4:12", + "nativeSrc": "7645:4:25", "nodeType": "YulIdentifier", - "src": "7645:4:12" + "src": "7645:4:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "7624:6:12", + "nativeSrc": "7624:6:25", "nodeType": "YulIdentifier", - "src": "7624:6:12" + "src": "7624:6:25" }, - "nativeSrc": "7624:26:12", + "nativeSrc": "7624:26:25", "nodeType": "YulFunctionCall", - "src": "7624:26:12" + "src": "7624:26:25" }, - "nativeSrc": "7624:26:12", + "nativeSrc": "7624:26:25", "nodeType": "YulExpressionStatement", - "src": "7624:26:12" + "src": "7624:26:25" }, { - "nativeSrc": "7667:21:12", + "nativeSrc": "7667:21:25", "nodeType": "YulVariableDeclaration", - "src": "7667:21:12", + "src": "7667:21:25", "value": { "arguments": [ { "name": "m", - "nativeSrc": "7680:1:12", + "nativeSrc": "7680:1:25", "nodeType": "YulIdentifier", - "src": "7680:1:12" + "src": "7680:1:25" }, { "kind": "number", - "nativeSrc": "7683:4:12", + "nativeSrc": "7683:4:25", "nodeType": "YulLiteral", - "src": "7683:4:12", + "src": "7683:4:25", "type": "", "value": "0x24" } ], "functionName": { "name": "add", - "nativeSrc": "7676:3:12", + "nativeSrc": "7676:3:25", "nodeType": "YulIdentifier", - "src": "7676:3:12" + "src": "7676:3:25" }, - "nativeSrc": "7676:12:12", + "nativeSrc": "7676:12:25", "nodeType": "YulFunctionCall", - "src": "7676:12:12" + "src": "7676:12:25" }, "variables": [ { "name": "d", - "nativeSrc": "7671:1:12", + "nativeSrc": "7671:1:25", "nodeType": "YulTypedName", - "src": "7671:1:12", + "src": "7671:1:25", "type": "" } ] @@ -194270,32 +213245,32 @@ "arguments": [ { "name": "d", - "nativeSrc": "7712:1:12", + "nativeSrc": "7712:1:25", "nodeType": "YulIdentifier", - "src": "7712:1:12" + "src": "7712:1:25" }, { "kind": "number", - "nativeSrc": "7715:4:12", + "nativeSrc": "7715:4:25", "nodeType": "YulLiteral", - "src": "7715:4:12", + "src": "7715:4:25", "type": "", "value": "0x40" } ], "functionName": { "name": "mstore", - "nativeSrc": "7705:6:12", + "nativeSrc": "7705:6:25", "nodeType": "YulIdentifier", - "src": "7705:6:12" + "src": "7705:6:25" }, - "nativeSrc": "7705:15:12", + "nativeSrc": "7705:15:25", "nodeType": "YulFunctionCall", - "src": "7705:15:12" + "src": "7705:15:25" }, - "nativeSrc": "7705:15:12", + "nativeSrc": "7705:15:25", "nodeType": "YulExpressionStatement", - "src": "7705:15:12" + "src": "7705:15:25" }, { "expression": { @@ -194304,51 +213279,51 @@ "arguments": [ { "name": "m", - "nativeSrc": "7798:1:12", + "nativeSrc": "7798:1:25", "nodeType": "YulIdentifier", - "src": "7798:1:12" + "src": "7798:1:25" }, { "kind": "number", - "nativeSrc": "7801:4:12", + "nativeSrc": "7801:4:25", "nodeType": "YulLiteral", - "src": "7801:4:12", + "src": "7801:4:25", "type": "", "value": "0x44" } ], "functionName": { "name": "add", - "nativeSrc": "7794:3:12", + "nativeSrc": "7794:3:25", "nodeType": "YulIdentifier", - "src": "7794:3:12" + "src": "7794:3:25" }, - "nativeSrc": "7794:12:12", + "nativeSrc": "7794:12:25", "nodeType": "YulFunctionCall", - "src": "7794:12:12" + "src": "7794:12:25" }, { "kind": "number", - "nativeSrc": "7808:2:12", + "nativeSrc": "7808:2:25", "nodeType": "YulLiteral", - "src": "7808:2:12", + "src": "7808:2:25", "type": "", "value": "65" } ], "functionName": { "name": "mstore", - "nativeSrc": "7787:6:12", + "nativeSrc": "7787:6:25", "nodeType": "YulIdentifier", - "src": "7787:6:12" + "src": "7787:6:25" }, - "nativeSrc": "7787:24:12", + "nativeSrc": "7787:24:25", "nodeType": "YulFunctionCall", - "src": "7787:24:12" + "src": "7787:24:25" }, - "nativeSrc": "7787:24:12", + "nativeSrc": "7787:24:25", "nodeType": "YulExpressionStatement", - "src": "7787:24:12" + "src": "7787:24:25" }, { "expression": { @@ -194357,49 +213332,49 @@ "arguments": [ { "name": "m", - "nativeSrc": "7867:1:12", + "nativeSrc": "7867:1:25", "nodeType": "YulIdentifier", - "src": "7867:1:12" + "src": "7867:1:25" }, { "kind": "number", - "nativeSrc": "7870:4:12", + "nativeSrc": "7870:4:25", "nodeType": "YulLiteral", - "src": "7870:4:12", + "src": "7870:4:25", "type": "", "value": "0x64" } ], "functionName": { "name": "add", - "nativeSrc": "7863:3:12", + "nativeSrc": "7863:3:25", "nodeType": "YulIdentifier", - "src": "7863:3:12" + "src": "7863:3:25" }, - "nativeSrc": "7863:12:12", + "nativeSrc": "7863:12:25", "nodeType": "YulFunctionCall", - "src": "7863:12:12" + "src": "7863:12:25" }, { "name": "r", - "nativeSrc": "7877:1:12", + "nativeSrc": "7877:1:25", "nodeType": "YulIdentifier", - "src": "7877:1:12" + "src": "7877:1:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "7856:6:12", + "nativeSrc": "7856:6:25", "nodeType": "YulIdentifier", - "src": "7856:6:12" + "src": "7856:6:25" }, - "nativeSrc": "7856:23:12", + "nativeSrc": "7856:23:25", "nodeType": "YulFunctionCall", - "src": "7856:23:12" + "src": "7856:23:25" }, - "nativeSrc": "7856:23:12", + "nativeSrc": "7856:23:25", "nodeType": "YulExpressionStatement", - "src": "7856:23:12" + "src": "7856:23:25" }, { "expression": { @@ -194408,36 +213383,36 @@ "arguments": [ { "name": "m", - "nativeSrc": "7915:1:12", + "nativeSrc": "7915:1:25", "nodeType": "YulIdentifier", - "src": "7915:1:12" + "src": "7915:1:25" }, { "kind": "number", - "nativeSrc": "7918:4:12", + "nativeSrc": "7918:4:25", "nodeType": "YulLiteral", - "src": "7918:4:12", + "src": "7918:4:25", "type": "", "value": "0x84" } ], "functionName": { "name": "add", - "nativeSrc": "7911:3:12", + "nativeSrc": "7911:3:25", "nodeType": "YulIdentifier", - "src": "7911:3:12" + "src": "7911:3:25" }, - "nativeSrc": "7911:12:12", + "nativeSrc": "7911:12:25", "nodeType": "YulFunctionCall", - "src": "7911:12:12" + "src": "7911:12:25" }, { "arguments": [ { "kind": "number", - "nativeSrc": "7929:1:12", + "nativeSrc": "7929:1:25", "nodeType": "YulLiteral", - "src": "7929:1:12", + "src": "7929:1:25", "type": "", "value": "1" }, @@ -194445,54 +213420,54 @@ "arguments": [ { "kind": "number", - "nativeSrc": "7936:1:12", + "nativeSrc": "7936:1:25", "nodeType": "YulLiteral", - "src": "7936:1:12", + "src": "7936:1:25", "type": "", "value": "1" }, { "name": "vs", - "nativeSrc": "7939:2:12", + "nativeSrc": "7939:2:25", "nodeType": "YulIdentifier", - "src": "7939:2:12" + "src": "7939:2:25" } ], "functionName": { "name": "shl", - "nativeSrc": "7932:3:12", + "nativeSrc": "7932:3:25", "nodeType": "YulIdentifier", - "src": "7932:3:12" + "src": "7932:3:25" }, - "nativeSrc": "7932:10:12", + "nativeSrc": "7932:10:25", "nodeType": "YulFunctionCall", - "src": "7932:10:12" + "src": "7932:10:25" } ], "functionName": { "name": "shr", - "nativeSrc": "7925:3:12", + "nativeSrc": "7925:3:25", "nodeType": "YulIdentifier", - "src": "7925:3:12" + "src": "7925:3:25" }, - "nativeSrc": "7925:18:12", + "nativeSrc": "7925:18:25", "nodeType": "YulFunctionCall", - "src": "7925:18:12" + "src": "7925:18:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "7904:6:12", + "nativeSrc": "7904:6:25", "nodeType": "YulIdentifier", - "src": "7904:6:12" + "src": "7904:6:25" }, - "nativeSrc": "7904:40:12", + "nativeSrc": "7904:40:25", "nodeType": "YulFunctionCall", - "src": "7904:40:12" + "src": "7904:40:25" }, - "nativeSrc": "7904:40:12", + "nativeSrc": "7904:40:25", "nodeType": "YulExpressionStatement", - "src": "7904:40:12" + "src": "7904:40:25" }, { "expression": { @@ -194501,28 +213476,28 @@ "arguments": [ { "name": "m", - "nativeSrc": "7981:1:12", + "nativeSrc": "7981:1:25", "nodeType": "YulIdentifier", - "src": "7981:1:12" + "src": "7981:1:25" }, { "kind": "number", - "nativeSrc": "7984:4:12", + "nativeSrc": "7984:4:25", "nodeType": "YulLiteral", - "src": "7984:4:12", + "src": "7984:4:25", "type": "", "value": "0xa4" } ], "functionName": { "name": "add", - "nativeSrc": "7977:3:12", + "nativeSrc": "7977:3:25", "nodeType": "YulIdentifier", - "src": "7977:3:12" + "src": "7977:3:25" }, - "nativeSrc": "7977:12:12", + "nativeSrc": "7977:12:25", "nodeType": "YulFunctionCall", - "src": "7977:12:12" + "src": "7977:12:25" }, { "arguments": [ @@ -194530,139 +213505,139 @@ "arguments": [ { "kind": "number", - "nativeSrc": "7999:3:12", + "nativeSrc": "7999:3:25", "nodeType": "YulLiteral", - "src": "7999:3:12", + "src": "7999:3:25", "type": "", "value": "255" }, { "name": "vs", - "nativeSrc": "8004:2:12", + "nativeSrc": "8004:2:25", "nodeType": "YulIdentifier", - "src": "8004:2:12" + "src": "8004:2:25" } ], "functionName": { "name": "shr", - "nativeSrc": "7995:3:12", + "nativeSrc": "7995:3:25", "nodeType": "YulIdentifier", - "src": "7995:3:12" + "src": "7995:3:25" }, - "nativeSrc": "7995:12:12", + "nativeSrc": "7995:12:25", "nodeType": "YulFunctionCall", - "src": "7995:12:12" + "src": "7995:12:25" }, { "kind": "number", - "nativeSrc": "8009:2:12", + "nativeSrc": "8009:2:25", "nodeType": "YulLiteral", - "src": "8009:2:12", + "src": "8009:2:25", "type": "", "value": "27" } ], "functionName": { "name": "add", - "nativeSrc": "7991:3:12", + "nativeSrc": "7991:3:25", "nodeType": "YulIdentifier", - "src": "7991:3:12" + "src": "7991:3:25" }, - "nativeSrc": "7991:21:12", + "nativeSrc": "7991:21:25", "nodeType": "YulFunctionCall", - "src": "7991:21:12" + "src": "7991:21:25" } ], "functionName": { "name": "mstore8", - "nativeSrc": "7969:7:12", + "nativeSrc": "7969:7:25", "nodeType": "YulIdentifier", - "src": "7969:7:12" + "src": "7969:7:25" }, - "nativeSrc": "7969:44:12", + "nativeSrc": "7969:44:25", "nodeType": "YulFunctionCall", - "src": "7969:44:12" + "src": "7969:44:25" }, - "nativeSrc": "7969:44:12", + "nativeSrc": "7969:44:25", "nodeType": "YulExpressionStatement", - "src": "7969:44:12" + "src": "7969:44:25" }, { - "nativeSrc": "8038:54:12", + "nativeSrc": "8038:54:25", "nodeType": "YulAssignment", - "src": "8038:54:12", + "src": "8038:54:25", "value": { "arguments": [ { "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "8060:3:12", + "nativeSrc": "8060:3:25", "nodeType": "YulIdentifier", - "src": "8060:3:12" + "src": "8060:3:25" }, - "nativeSrc": "8060:5:12", + "nativeSrc": "8060:5:25", "nodeType": "YulFunctionCall", - "src": "8060:5:12" + "src": "8060:5:25" }, { "name": "signer", - "nativeSrc": "8067:6:12", + "nativeSrc": "8067:6:25", "nodeType": "YulIdentifier", - "src": "8067:6:12" + "src": "8067:6:25" }, { "name": "m", - "nativeSrc": "8075:1:12", + "nativeSrc": "8075:1:25", "nodeType": "YulIdentifier", - "src": "8075:1:12" + "src": "8075:1:25" }, { "kind": "number", - "nativeSrc": "8078:4:12", + "nativeSrc": "8078:4:25", "nodeType": "YulLiteral", - "src": "8078:4:12", + "src": "8078:4:25", "type": "", "value": "0xa5" }, { "name": "d", - "nativeSrc": "8084:1:12", + "nativeSrc": "8084:1:25", "nodeType": "YulIdentifier", - "src": "8084:1:12" + "src": "8084:1:25" }, { "kind": "number", - "nativeSrc": "8087:4:12", + "nativeSrc": "8087:4:25", "nodeType": "YulLiteral", - "src": "8087:4:12", + "src": "8087:4:25", "type": "", "value": "0x20" } ], "functionName": { "name": "staticcall", - "nativeSrc": "8049:10:12", + "nativeSrc": "8049:10:25", "nodeType": "YulIdentifier", - "src": "8049:10:12" + "src": "8049:10:25" }, - "nativeSrc": "8049:43:12", + "nativeSrc": "8049:43:25", "nodeType": "YulFunctionCall", - "src": "8049:43:12" + "src": "8049:43:25" }, "variableNames": [ { "name": "isValid", - "nativeSrc": "8038:7:12", + "nativeSrc": "8038:7:25", "nodeType": "YulIdentifier", - "src": "8038:7:12" + "src": "8038:7:25" } ] }, { - "nativeSrc": "8109:40:12", + "nativeSrc": "8109:40:25", "nodeType": "YulAssignment", - "src": "8109:40:12", + "src": "8109:40:25", "value": { "arguments": [ { @@ -194671,94 +213646,94 @@ "arguments": [ { "name": "d", - "nativeSrc": "8133:1:12", + "nativeSrc": "8133:1:25", "nodeType": "YulIdentifier", - "src": "8133:1:12" + "src": "8133:1:25" } ], "functionName": { "name": "mload", - "nativeSrc": "8127:5:12", + "nativeSrc": "8127:5:25", "nodeType": "YulIdentifier", - "src": "8127:5:12" + "src": "8127:5:25" }, - "nativeSrc": "8127:8:12", + "nativeSrc": "8127:8:25", "nodeType": "YulFunctionCall", - "src": "8127:8:12" + "src": "8127:8:25" }, { "name": "f", - "nativeSrc": "8137:1:12", + "nativeSrc": "8137:1:25", "nodeType": "YulIdentifier", - "src": "8137:1:12" + "src": "8137:1:25" } ], "functionName": { "name": "eq", - "nativeSrc": "8124:2:12", + "nativeSrc": "8124:2:25", "nodeType": "YulIdentifier", - "src": "8124:2:12" + "src": "8124:2:25" }, - "nativeSrc": "8124:15:12", + "nativeSrc": "8124:15:25", "nodeType": "YulFunctionCall", - "src": "8124:15:12" + "src": "8124:15:25" }, { "name": "isValid", - "nativeSrc": "8141:7:12", + "nativeSrc": "8141:7:25", "nodeType": "YulIdentifier", - "src": "8141:7:12" + "src": "8141:7:25" } ], "functionName": { "name": "and", - "nativeSrc": "8120:3:12", + "nativeSrc": "8120:3:25", "nodeType": "YulIdentifier", - "src": "8120:3:12" + "src": "8120:3:25" }, - "nativeSrc": "8120:29:12", + "nativeSrc": "8120:29:25", "nodeType": "YulFunctionCall", - "src": "8120:29:12" + "src": "8120:29:25" }, "variableNames": [ { "name": "isValid", - "nativeSrc": "8109:7:12", + "nativeSrc": "8109:7:25", "nodeType": "YulIdentifier", - "src": "8109:7:12" + "src": "8109:7:25" } ] }, { - "nativeSrc": "8166:5:12", + "nativeSrc": "8166:5:25", "nodeType": "YulBreak", - "src": "8166:5:12" + "src": "8166:5:25" } ] }, "condition": { "kind": "number", - "nativeSrc": "6858:1:12", + "nativeSrc": "6858:1:25", "nodeType": "YulLiteral", - "src": "6858:1:12", + "src": "6858:1:25", "type": "", "value": "1" }, - "nativeSrc": "6851:1334:12", + "nativeSrc": "6851:1334:25", "nodeType": "YulForLoop", "post": { - "nativeSrc": "6860:2:12", + "nativeSrc": "6860:2:25", "nodeType": "YulBlock", - "src": "6860:2:12", + "src": "6860:2:25", "statements": [] }, "pre": { - "nativeSrc": "6855:2:12", + "nativeSrc": "6855:2:25", "nodeType": "YulBlock", - "src": "6855:2:12", + "src": "6855:2:25", "statements": [] }, - "src": "6851:1334:12" + "src": "6851:1334:25" } ] }, @@ -194766,143 +213741,143 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 6188, + "declaration": 7794, "isOffset": false, "isSlot": false, - "src": "6947:4:12", + "src": "6947:4:25", "valueSize": 1 }, { - "declaration": 6188, + "declaration": 7794, "isOffset": false, "isSlot": false, - "src": "7645:4:12", + "src": "7645:4:25", "valueSize": 1 }, { - "declaration": 6195, + "declaration": 7801, "isOffset": false, "isSlot": false, - "src": "7231:7:12", + "src": "7231:7:25", "valueSize": 1 }, { - "declaration": 6195, + "declaration": 7801, "isOffset": false, "isSlot": false, - "src": "8038:7:12", + "src": "8038:7:25", "valueSize": 1 }, { - "declaration": 6195, + "declaration": 7801, "isOffset": false, "isSlot": false, - "src": "8109:7:12", + "src": "8109:7:25", "valueSize": 1 }, { - "declaration": 6195, + "declaration": 7801, "isOffset": false, "isSlot": false, - "src": "8141:7:12", + "src": "8141:7:25", "valueSize": 1 }, { - "declaration": 6190, + "declaration": 7796, "isOffset": false, "isSlot": false, - "src": "7050:1:12", + "src": "7050:1:25", "valueSize": 1 }, { - "declaration": 6190, + "declaration": 7796, "isOffset": false, "isSlot": false, - "src": "7877:1:12", + "src": "7877:1:25", "valueSize": 1 }, { - "declaration": 6186, + "declaration": 7792, "isOffset": false, "isSlot": false, - "src": "6903:6:12", + "src": "6903:6:25", "valueSize": 1 }, { - "declaration": 6186, + "declaration": 7792, "isOffset": false, "isSlot": false, - "src": "7275:6:12", + "src": "7275:6:25", "valueSize": 1 }, { - "declaration": 6186, + "declaration": 7792, "isOffset": false, "isSlot": false, - "src": "8067:6:12", + "src": "8067:6:25", "valueSize": 1 }, { - "declaration": 6192, + "declaration": 7798, "isOffset": false, "isSlot": false, - "src": "6999:2:12", + "src": "6999:2:25", "valueSize": 1 }, { - "declaration": 6192, + "declaration": 7798, "isOffset": false, "isSlot": false, - "src": "7108:2:12", + "src": "7108:2:25", "valueSize": 1 }, { - "declaration": 6192, + "declaration": 7798, "isOffset": false, "isSlot": false, - "src": "7939:2:12", + "src": "7939:2:25", "valueSize": 1 }, { - "declaration": 6192, + "declaration": 7798, "isOffset": false, "isSlot": false, - "src": "8004:2:12", + "src": "8004:2:25", "valueSize": 1 } ], - "id": 6206, + "id": 7812, "nodeType": "InlineAssembly", - "src": "6795:1400:12" + "src": "6795:1400:25" } ] }, "documentation": { - "id": 6184, + "id": 7790, "nodeType": "StructuredDocumentation", - "src": "6330:210:12", + "src": "6330:210:25", "text": "@dev Returns whether the signature (`r`, `vs`) is valid for `signer` and `hash`.\n If `signer.code.length == 0`, then validate with `ecrecover`, else\n it will validate with ERC1271 on `signer`." }, - "id": 6208, + "id": 7814, "implemented": true, "kind": "function", "modifiers": [], "name": "isValidSignatureNow", - "nameLocation": "6554:19:12", + "nameLocation": "6554:19:25", "nodeType": "FunctionDefinition", "parameters": { - "id": 6193, + "id": 7799, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6186, + "id": 7792, "mutability": "mutable", "name": "signer", - "nameLocation": "6582:6:12", + "nameLocation": "6582:6:25", "nodeType": "VariableDeclaration", - "scope": 6208, - "src": "6574:14:12", + "scope": 7814, + "src": "6574:14:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -194910,10 +213885,10 @@ "typeString": "address" }, "typeName": { - "id": 6185, + "id": 7791, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6574:7:12", + "src": "6574:7:25", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -194924,13 +213899,13 @@ }, { "constant": false, - "id": 6188, + "id": 7794, "mutability": "mutable", "name": "hash", - "nameLocation": "6598:4:12", + "nameLocation": "6598:4:25", "nodeType": "VariableDeclaration", - "scope": 6208, - "src": "6590:12:12", + "scope": 7814, + "src": "6590:12:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -194938,10 +213913,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6187, + "id": 7793, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "6590:7:12", + "src": "6590:7:25", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -194951,13 +213926,13 @@ }, { "constant": false, - "id": 6190, + "id": 7796, "mutability": "mutable", "name": "r", - "nameLocation": "6612:1:12", + "nameLocation": "6612:1:25", "nodeType": "VariableDeclaration", - "scope": 6208, - "src": "6604:9:12", + "scope": 7814, + "src": "6604:9:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -194965,10 +213940,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6189, + "id": 7795, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "6604:7:12", + "src": "6604:7:25", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -194978,13 +213953,13 @@ }, { "constant": false, - "id": 6192, + "id": 7798, "mutability": "mutable", "name": "vs", - "nameLocation": "6623:2:12", + "nameLocation": "6623:2:25", "nodeType": "VariableDeclaration", - "scope": 6208, - "src": "6615:10:12", + "scope": 7814, + "src": "6615:10:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -194992,10 +213967,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6191, + "id": 7797, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "6615:7:12", + "src": "6615:7:25", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -195004,21 +213979,21 @@ "visibility": "internal" } ], - "src": "6573:53:12" + "src": "6573:53:25" }, "returnParameters": { - "id": 6196, + "id": 7802, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6195, + "id": 7801, "mutability": "mutable", "name": "isValid", - "nameLocation": "6679:7:12", + "nameLocation": "6679:7:25", "nodeType": "VariableDeclaration", - "scope": 6208, - "src": "6674:12:12", + "scope": 7814, + "src": "6674:12:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -195026,10 +214001,10 @@ "typeString": "bool" }, "typeName": { - "id": 6194, + "id": 7800, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "6674:4:12", + "src": "6674:4:25", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -195038,19 +214013,19 @@ "visibility": "internal" } ], - "src": "6673:14:12" + "src": "6673:14:25" }, - "scope": 6354, - "src": "6545:1656:12", + "scope": 7960, + "src": "6545:1656:25", "stateMutability": "view", "virtual": false, "visibility": "internal" }, { "body": { - "id": 6234, + "id": 7840, "nodeType": "Block", - "src": "8581:1446:12", + "src": "8581:1446:25", "statements": [ { "condition": { @@ -195058,18 +214033,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 6229, + "id": 7835, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 6224, + "id": 7830, "name": "signer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6211, - "src": "8595:6:12", + "referencedDeclaration": 7817, + "src": "8595:6:25", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -195081,14 +214056,14 @@ "arguments": [ { "hexValue": "30", - "id": 6227, + "id": 7833, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8613:1:12", + "src": "8613:1:25", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -195103,26 +214078,26 @@ "typeString": "int_const 0" } ], - "id": 6226, + "id": 7832, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "8605:7:12", + "src": "8605:7:25", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 6225, + "id": 7831, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8605:7:12", + "src": "8605:7:25", "typeDescriptions": {} } }, - "id": 6228, + "id": 7834, "isConstant": false, "isLValue": false, "isPure": true, @@ -195131,134 +214106,134 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8605:10:12", + "src": "8605:10:25", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "8595:20:12", + "src": "8595:20:25", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 6232, + "id": 7838, "nodeType": "IfStatement", - "src": "8591:40:12", + "src": "8591:40:25", "trueBody": { "expression": { - "id": 6230, + "id": 7836, "name": "isValid", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6222, - "src": "8624:7:12", + "referencedDeclaration": 7828, + "src": "8624:7:25", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 6223, - "id": 6231, + "functionReturnParameters": 7829, + "id": 7837, "nodeType": "Return", - "src": "8617:14:12" + "src": "8617:14:25" } }, { "AST": { - "nativeSrc": "8693:1328:12", + "nativeSrc": "8693:1328:25", "nodeType": "YulBlock", - "src": "8693:1328:12", + "src": "8693:1328:25", "statements": [ { - "nativeSrc": "8707:20:12", + "nativeSrc": "8707:20:25", "nodeType": "YulVariableDeclaration", - "src": "8707:20:12", + "src": "8707:20:25", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "8722:4:12", + "nativeSrc": "8722:4:25", "nodeType": "YulLiteral", - "src": "8722:4:12", + "src": "8722:4:25", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "8716:5:12", + "nativeSrc": "8716:5:25", "nodeType": "YulIdentifier", - "src": "8716:5:12" + "src": "8716:5:25" }, - "nativeSrc": "8716:11:12", + "nativeSrc": "8716:11:25", "nodeType": "YulFunctionCall", - "src": "8716:11:12" + "src": "8716:11:25" }, "variables": [ { "name": "m", - "nativeSrc": "8711:1:12", + "nativeSrc": "8711:1:25", "nodeType": "YulTypedName", - "src": "8711:1:12", + "src": "8711:1:25", "type": "" } ] }, { "body": { - "nativeSrc": "8752:1259:12", + "nativeSrc": "8752:1259:25", "nodeType": "YulBlock", - "src": "8752:1259:12", + "src": "8752:1259:25", "statements": [ { "body": { - "nativeSrc": "8801:535:12", + "nativeSrc": "8801:535:25", "nodeType": "YulBlock", - "src": "8801:535:12", + "src": "8801:535:25", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "8830:4:12", + "nativeSrc": "8830:4:25", "nodeType": "YulLiteral", - "src": "8830:4:12", + "src": "8830:4:25", "type": "", "value": "0x00" }, { "name": "hash", - "nativeSrc": "8836:4:12", + "nativeSrc": "8836:4:25", "nodeType": "YulIdentifier", - "src": "8836:4:12" + "src": "8836:4:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "8823:6:12", + "nativeSrc": "8823:6:25", "nodeType": "YulIdentifier", - "src": "8823:6:12" + "src": "8823:6:25" }, - "nativeSrc": "8823:18:12", + "nativeSrc": "8823:18:25", "nodeType": "YulFunctionCall", - "src": "8823:18:12" + "src": "8823:18:25" }, - "nativeSrc": "8823:18:12", + "nativeSrc": "8823:18:25", "nodeType": "YulExpressionStatement", - "src": "8823:18:12" + "src": "8823:18:25" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "8869:4:12", + "nativeSrc": "8869:4:25", "nodeType": "YulLiteral", - "src": "8869:4:12", + "src": "8869:4:25", "type": "", "value": "0x20" }, @@ -195266,112 +214241,112 @@ "arguments": [ { "name": "v", - "nativeSrc": "8879:1:12", + "nativeSrc": "8879:1:25", "nodeType": "YulIdentifier", - "src": "8879:1:12" + "src": "8879:1:25" }, { "kind": "number", - "nativeSrc": "8882:4:12", + "nativeSrc": "8882:4:25", "nodeType": "YulLiteral", - "src": "8882:4:12", + "src": "8882:4:25", "type": "", "value": "0xff" } ], "functionName": { "name": "and", - "nativeSrc": "8875:3:12", + "nativeSrc": "8875:3:25", "nodeType": "YulIdentifier", - "src": "8875:3:12" + "src": "8875:3:25" }, - "nativeSrc": "8875:12:12", + "nativeSrc": "8875:12:25", "nodeType": "YulFunctionCall", - "src": "8875:12:12" + "src": "8875:12:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "8862:6:12", + "nativeSrc": "8862:6:25", "nodeType": "YulIdentifier", - "src": "8862:6:12" + "src": "8862:6:25" }, - "nativeSrc": "8862:26:12", + "nativeSrc": "8862:26:25", "nodeType": "YulFunctionCall", - "src": "8862:26:12" + "src": "8862:26:25" }, - "nativeSrc": "8862:26:12", + "nativeSrc": "8862:26:25", "nodeType": "YulExpressionStatement", - "src": "8862:26:12" + "src": "8862:26:25" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "8924:4:12", + "nativeSrc": "8924:4:25", "nodeType": "YulLiteral", - "src": "8924:4:12", + "src": "8924:4:25", "type": "", "value": "0x40" }, { "name": "r", - "nativeSrc": "8930:1:12", + "nativeSrc": "8930:1:25", "nodeType": "YulIdentifier", - "src": "8930:1:12" + "src": "8930:1:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "8917:6:12", + "nativeSrc": "8917:6:25", "nodeType": "YulIdentifier", - "src": "8917:6:12" + "src": "8917:6:25" }, - "nativeSrc": "8917:15:12", + "nativeSrc": "8917:15:25", "nodeType": "YulFunctionCall", - "src": "8917:15:12" + "src": "8917:15:25" }, - "nativeSrc": "8917:15:12", + "nativeSrc": "8917:15:25", "nodeType": "YulExpressionStatement", - "src": "8917:15:12" + "src": "8917:15:25" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "8968:4:12", + "nativeSrc": "8968:4:25", "nodeType": "YulLiteral", - "src": "8968:4:12", + "src": "8968:4:25", "type": "", "value": "0x60" }, { "name": "s", - "nativeSrc": "8974:1:12", + "nativeSrc": "8974:1:25", "nodeType": "YulIdentifier", - "src": "8974:1:12" + "src": "8974:1:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "8961:6:12", + "nativeSrc": "8961:6:25", "nodeType": "YulIdentifier", - "src": "8961:6:12" + "src": "8961:6:25" }, - "nativeSrc": "8961:15:12", + "nativeSrc": "8961:15:25", "nodeType": "YulFunctionCall", - "src": "8961:15:12" + "src": "8961:15:25" }, - "nativeSrc": "8961:15:12", + "nativeSrc": "8961:15:25", "nodeType": "YulExpressionStatement", - "src": "8961:15:12" + "src": "8961:15:25" }, { - "nativeSrc": "9005:68:12", + "nativeSrc": "9005:68:25", "nodeType": "YulVariableDeclaration", - "src": "9005:68:12", + "src": "9005:68:25", "value": { "arguments": [ { @@ -195380,111 +214355,111 @@ "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "9039:3:12", + "nativeSrc": "9039:3:25", "nodeType": "YulIdentifier", - "src": "9039:3:12" + "src": "9039:3:25" }, - "nativeSrc": "9039:5:12", + "nativeSrc": "9039:5:25", "nodeType": "YulFunctionCall", - "src": "9039:5:12" + "src": "9039:5:25" }, { "kind": "number", - "nativeSrc": "9046:1:12", + "nativeSrc": "9046:1:25", "nodeType": "YulLiteral", - "src": "9046:1:12", + "src": "9046:1:25", "type": "", "value": "1" }, { "kind": "number", - "nativeSrc": "9049:4:12", + "nativeSrc": "9049:4:25", "nodeType": "YulLiteral", - "src": "9049:4:12", + "src": "9049:4:25", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "9055:4:12", + "nativeSrc": "9055:4:25", "nodeType": "YulLiteral", - "src": "9055:4:12", + "src": "9055:4:25", "type": "", "value": "0x80" }, { "kind": "number", - "nativeSrc": "9061:4:12", + "nativeSrc": "9061:4:25", "nodeType": "YulLiteral", - "src": "9061:4:12", + "src": "9061:4:25", "type": "", "value": "0x01" }, { "kind": "number", - "nativeSrc": "9067:4:12", + "nativeSrc": "9067:4:25", "nodeType": "YulLiteral", - "src": "9067:4:12", + "src": "9067:4:25", "type": "", "value": "0x20" } ], "functionName": { "name": "staticcall", - "nativeSrc": "9028:10:12", + "nativeSrc": "9028:10:25", "nodeType": "YulIdentifier", - "src": "9028:10:12" + "src": "9028:10:25" }, - "nativeSrc": "9028:44:12", + "nativeSrc": "9028:44:25", "nodeType": "YulFunctionCall", - "src": "9028:44:12" + "src": "9028:44:25" } ], "functionName": { "name": "mload", - "nativeSrc": "9022:5:12", + "nativeSrc": "9022:5:25", "nodeType": "YulIdentifier", - "src": "9022:5:12" + "src": "9022:5:25" }, - "nativeSrc": "9022:51:12", + "nativeSrc": "9022:51:25", "nodeType": "YulFunctionCall", - "src": "9022:51:12" + "src": "9022:51:25" }, "variables": [ { "name": "recovered", - "nativeSrc": "9009:9:12", + "nativeSrc": "9009:9:25", "nodeType": "YulTypedName", - "src": "9009:9:12", + "src": "9009:9:25", "type": "" } ] }, { - "nativeSrc": "9094:64:12", + "nativeSrc": "9094:64:25", "nodeType": "YulAssignment", - "src": "9094:64:12", + "src": "9094:64:25", "value": { "arguments": [ { "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "9108:14:12", + "nativeSrc": "9108:14:25", "nodeType": "YulIdentifier", - "src": "9108:14:12" + "src": "9108:14:25" }, - "nativeSrc": "9108:16:12", + "nativeSrc": "9108:16:25", "nodeType": "YulFunctionCall", - "src": "9108:16:12" + "src": "9108:16:25" }, { "arguments": [ { "kind": "number", - "nativeSrc": "9130:2:12", + "nativeSrc": "9130:2:25", "nodeType": "YulLiteral", - "src": "9130:2:12", + "src": "9130:2:25", "type": "", "value": "96" }, @@ -195492,55 +214467,55 @@ "arguments": [ { "name": "signer", - "nativeSrc": "9138:6:12", + "nativeSrc": "9138:6:25", "nodeType": "YulIdentifier", - "src": "9138:6:12" + "src": "9138:6:25" }, { "name": "recovered", - "nativeSrc": "9146:9:12", + "nativeSrc": "9146:9:25", "nodeType": "YulIdentifier", - "src": "9146:9:12" + "src": "9146:9:25" } ], "functionName": { "name": "xor", - "nativeSrc": "9134:3:12", + "nativeSrc": "9134:3:25", "nodeType": "YulIdentifier", - "src": "9134:3:12" + "src": "9134:3:25" }, - "nativeSrc": "9134:22:12", + "nativeSrc": "9134:22:25", "nodeType": "YulFunctionCall", - "src": "9134:22:12" + "src": "9134:22:25" } ], "functionName": { "name": "shl", - "nativeSrc": "9126:3:12", + "nativeSrc": "9126:3:25", "nodeType": "YulIdentifier", - "src": "9126:3:12" + "src": "9126:3:25" }, - "nativeSrc": "9126:31:12", + "nativeSrc": "9126:31:25", "nodeType": "YulFunctionCall", - "src": "9126:31:12" + "src": "9126:31:25" } ], "functionName": { "name": "gt", - "nativeSrc": "9105:2:12", + "nativeSrc": "9105:2:25", "nodeType": "YulIdentifier", - "src": "9105:2:12" + "src": "9105:2:25" }, - "nativeSrc": "9105:53:12", + "nativeSrc": "9105:53:25", "nodeType": "YulFunctionCall", - "src": "9105:53:12" + "src": "9105:53:25" }, "variableNames": [ { "name": "isValid", - "nativeSrc": "9094:7:12", + "nativeSrc": "9094:7:25", "nodeType": "YulIdentifier", - "src": "9094:7:12" + "src": "9094:7:25" } ] }, @@ -195549,71 +214524,71 @@ "arguments": [ { "kind": "number", - "nativeSrc": "9186:4:12", + "nativeSrc": "9186:4:25", "nodeType": "YulLiteral", - "src": "9186:4:12", + "src": "9186:4:25", "type": "", "value": "0x60" }, { "kind": "number", - "nativeSrc": "9192:1:12", + "nativeSrc": "9192:1:25", "nodeType": "YulLiteral", - "src": "9192:1:12", + "src": "9192:1:25", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "9179:6:12", + "nativeSrc": "9179:6:25", "nodeType": "YulIdentifier", - "src": "9179:6:12" + "src": "9179:6:25" }, - "nativeSrc": "9179:15:12", + "nativeSrc": "9179:15:25", "nodeType": "YulFunctionCall", - "src": "9179:15:12" + "src": "9179:15:25" }, - "nativeSrc": "9179:15:12", + "nativeSrc": "9179:15:25", "nodeType": "YulExpressionStatement", - "src": "9179:15:12" + "src": "9179:15:25" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "9248:4:12", + "nativeSrc": "9248:4:25", "nodeType": "YulLiteral", - "src": "9248:4:12", + "src": "9248:4:25", "type": "", "value": "0x40" }, { "name": "m", - "nativeSrc": "9254:1:12", + "nativeSrc": "9254:1:25", "nodeType": "YulIdentifier", - "src": "9254:1:12" + "src": "9254:1:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "9241:6:12", + "nativeSrc": "9241:6:25", "nodeType": "YulIdentifier", - "src": "9241:6:12" + "src": "9241:6:25" }, - "nativeSrc": "9241:15:12", + "nativeSrc": "9241:15:25", "nodeType": "YulFunctionCall", - "src": "9241:15:12" + "src": "9241:15:25" }, - "nativeSrc": "9241:15:12", + "nativeSrc": "9241:15:25", "nodeType": "YulExpressionStatement", - "src": "9241:15:12" + "src": "9241:15:25" }, { - "nativeSrc": "9313:5:12", + "nativeSrc": "9313:5:25", "nodeType": "YulBreak", - "src": "9313:5:12" + "src": "9313:5:25" } ] }, @@ -195623,75 +214598,75 @@ "arguments": [ { "name": "signer", - "nativeSrc": "8792:6:12", + "nativeSrc": "8792:6:25", "nodeType": "YulIdentifier", - "src": "8792:6:12" + "src": "8792:6:25" } ], "functionName": { "name": "extcodesize", - "nativeSrc": "8780:11:12", + "nativeSrc": "8780:11:25", "nodeType": "YulIdentifier", - "src": "8780:11:12" + "src": "8780:11:25" }, - "nativeSrc": "8780:19:12", + "nativeSrc": "8780:19:25", "nodeType": "YulFunctionCall", - "src": "8780:19:12" + "src": "8780:19:25" } ], "functionName": { "name": "iszero", - "nativeSrc": "8773:6:12", + "nativeSrc": "8773:6:25", "nodeType": "YulIdentifier", - "src": "8773:6:12" + "src": "8773:6:25" }, - "nativeSrc": "8773:27:12", + "nativeSrc": "8773:27:25", "nodeType": "YulFunctionCall", - "src": "8773:27:12" + "src": "8773:27:25" }, - "nativeSrc": "8770:566:12", + "nativeSrc": "8770:566:25", "nodeType": "YulIf", - "src": "8770:566:12" + "src": "8770:566:25" }, { - "nativeSrc": "9353:29:12", + "nativeSrc": "9353:29:25", "nodeType": "YulVariableDeclaration", - "src": "9353:29:12", + "src": "9353:29:25", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "9366:3:12", + "nativeSrc": "9366:3:25", "nodeType": "YulLiteral", - "src": "9366:3:12", + "src": "9366:3:25", "type": "", "value": "224" }, { "kind": "number", - "nativeSrc": "9371:10:12", + "nativeSrc": "9371:10:25", "nodeType": "YulLiteral", - "src": "9371:10:12", + "src": "9371:10:25", "type": "", "value": "0x1626ba7e" } ], "functionName": { "name": "shl", - "nativeSrc": "9362:3:12", + "nativeSrc": "9362:3:25", "nodeType": "YulIdentifier", - "src": "9362:3:12" + "src": "9362:3:25" }, - "nativeSrc": "9362:20:12", + "nativeSrc": "9362:20:25", "nodeType": "YulFunctionCall", - "src": "9362:20:12" + "src": "9362:20:25" }, "variables": [ { "name": "f", - "nativeSrc": "9357:1:12", + "nativeSrc": "9357:1:25", "nodeType": "YulTypedName", - "src": "9357:1:12", + "src": "9357:1:25", "type": "" } ] @@ -195701,30 +214676,30 @@ "arguments": [ { "name": "m", - "nativeSrc": "9406:1:12", + "nativeSrc": "9406:1:25", "nodeType": "YulIdentifier", - "src": "9406:1:12" + "src": "9406:1:25" }, { "name": "f", - "nativeSrc": "9409:1:12", + "nativeSrc": "9409:1:25", "nodeType": "YulIdentifier", - "src": "9409:1:12" + "src": "9409:1:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "9399:6:12", + "nativeSrc": "9399:6:25", "nodeType": "YulIdentifier", - "src": "9399:6:12" + "src": "9399:6:25" }, - "nativeSrc": "9399:12:12", + "nativeSrc": "9399:12:25", "nodeType": "YulFunctionCall", - "src": "9399:12:12" + "src": "9399:12:25" }, - "nativeSrc": "9399:12:12", + "nativeSrc": "9399:12:25", "nodeType": "YulExpressionStatement", - "src": "9399:12:12" + "src": "9399:12:25" }, { "expression": { @@ -195733,87 +214708,87 @@ "arguments": [ { "name": "m", - "nativeSrc": "9498:1:12", + "nativeSrc": "9498:1:25", "nodeType": "YulIdentifier", - "src": "9498:1:12" + "src": "9498:1:25" }, { "kind": "number", - "nativeSrc": "9501:4:12", + "nativeSrc": "9501:4:25", "nodeType": "YulLiteral", - "src": "9501:4:12", + "src": "9501:4:25", "type": "", "value": "0x04" } ], "functionName": { "name": "add", - "nativeSrc": "9494:3:12", + "nativeSrc": "9494:3:25", "nodeType": "YulIdentifier", - "src": "9494:3:12" + "src": "9494:3:25" }, - "nativeSrc": "9494:12:12", + "nativeSrc": "9494:12:25", "nodeType": "YulFunctionCall", - "src": "9494:12:12" + "src": "9494:12:25" }, { "name": "hash", - "nativeSrc": "9508:4:12", + "nativeSrc": "9508:4:25", "nodeType": "YulIdentifier", - "src": "9508:4:12" + "src": "9508:4:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "9487:6:12", + "nativeSrc": "9487:6:25", "nodeType": "YulIdentifier", - "src": "9487:6:12" + "src": "9487:6:25" }, - "nativeSrc": "9487:26:12", + "nativeSrc": "9487:26:25", "nodeType": "YulFunctionCall", - "src": "9487:26:12" + "src": "9487:26:25" }, - "nativeSrc": "9487:26:12", + "nativeSrc": "9487:26:25", "nodeType": "YulExpressionStatement", - "src": "9487:26:12" + "src": "9487:26:25" }, { - "nativeSrc": "9530:21:12", + "nativeSrc": "9530:21:25", "nodeType": "YulVariableDeclaration", - "src": "9530:21:12", + "src": "9530:21:25", "value": { "arguments": [ { "name": "m", - "nativeSrc": "9543:1:12", + "nativeSrc": "9543:1:25", "nodeType": "YulIdentifier", - "src": "9543:1:12" + "src": "9543:1:25" }, { "kind": "number", - "nativeSrc": "9546:4:12", + "nativeSrc": "9546:4:25", "nodeType": "YulLiteral", - "src": "9546:4:12", + "src": "9546:4:25", "type": "", "value": "0x24" } ], "functionName": { "name": "add", - "nativeSrc": "9539:3:12", + "nativeSrc": "9539:3:25", "nodeType": "YulIdentifier", - "src": "9539:3:12" + "src": "9539:3:25" }, - "nativeSrc": "9539:12:12", + "nativeSrc": "9539:12:25", "nodeType": "YulFunctionCall", - "src": "9539:12:12" + "src": "9539:12:25" }, "variables": [ { "name": "d", - "nativeSrc": "9534:1:12", + "nativeSrc": "9534:1:25", "nodeType": "YulTypedName", - "src": "9534:1:12", + "src": "9534:1:25", "type": "" } ] @@ -195823,32 +214798,32 @@ "arguments": [ { "name": "d", - "nativeSrc": "9575:1:12", + "nativeSrc": "9575:1:25", "nodeType": "YulIdentifier", - "src": "9575:1:12" + "src": "9575:1:25" }, { "kind": "number", - "nativeSrc": "9578:4:12", + "nativeSrc": "9578:4:25", "nodeType": "YulLiteral", - "src": "9578:4:12", + "src": "9578:4:25", "type": "", "value": "0x40" } ], "functionName": { "name": "mstore", - "nativeSrc": "9568:6:12", + "nativeSrc": "9568:6:25", "nodeType": "YulIdentifier", - "src": "9568:6:12" + "src": "9568:6:25" }, - "nativeSrc": "9568:15:12", + "nativeSrc": "9568:15:25", "nodeType": "YulFunctionCall", - "src": "9568:15:12" + "src": "9568:15:25" }, - "nativeSrc": "9568:15:12", + "nativeSrc": "9568:15:25", "nodeType": "YulExpressionStatement", - "src": "9568:15:12" + "src": "9568:15:25" }, { "expression": { @@ -195857,51 +214832,51 @@ "arguments": [ { "name": "m", - "nativeSrc": "9661:1:12", + "nativeSrc": "9661:1:25", "nodeType": "YulIdentifier", - "src": "9661:1:12" + "src": "9661:1:25" }, { "kind": "number", - "nativeSrc": "9664:4:12", + "nativeSrc": "9664:4:25", "nodeType": "YulLiteral", - "src": "9664:4:12", + "src": "9664:4:25", "type": "", "value": "0x44" } ], "functionName": { "name": "add", - "nativeSrc": "9657:3:12", + "nativeSrc": "9657:3:25", "nodeType": "YulIdentifier", - "src": "9657:3:12" + "src": "9657:3:25" }, - "nativeSrc": "9657:12:12", + "nativeSrc": "9657:12:25", "nodeType": "YulFunctionCall", - "src": "9657:12:12" + "src": "9657:12:25" }, { "kind": "number", - "nativeSrc": "9671:2:12", + "nativeSrc": "9671:2:25", "nodeType": "YulLiteral", - "src": "9671:2:12", + "src": "9671:2:25", "type": "", "value": "65" } ], "functionName": { "name": "mstore", - "nativeSrc": "9650:6:12", + "nativeSrc": "9650:6:25", "nodeType": "YulIdentifier", - "src": "9650:6:12" + "src": "9650:6:25" }, - "nativeSrc": "9650:24:12", + "nativeSrc": "9650:24:25", "nodeType": "YulFunctionCall", - "src": "9650:24:12" + "src": "9650:24:25" }, - "nativeSrc": "9650:24:12", + "nativeSrc": "9650:24:25", "nodeType": "YulExpressionStatement", - "src": "9650:24:12" + "src": "9650:24:25" }, { "expression": { @@ -195910,49 +214885,49 @@ "arguments": [ { "name": "m", - "nativeSrc": "9730:1:12", + "nativeSrc": "9730:1:25", "nodeType": "YulIdentifier", - "src": "9730:1:12" + "src": "9730:1:25" }, { "kind": "number", - "nativeSrc": "9733:4:12", + "nativeSrc": "9733:4:25", "nodeType": "YulLiteral", - "src": "9733:4:12", + "src": "9733:4:25", "type": "", "value": "0x64" } ], "functionName": { "name": "add", - "nativeSrc": "9726:3:12", + "nativeSrc": "9726:3:25", "nodeType": "YulIdentifier", - "src": "9726:3:12" + "src": "9726:3:25" }, - "nativeSrc": "9726:12:12", + "nativeSrc": "9726:12:25", "nodeType": "YulFunctionCall", - "src": "9726:12:12" + "src": "9726:12:25" }, { "name": "r", - "nativeSrc": "9740:1:12", + "nativeSrc": "9740:1:25", "nodeType": "YulIdentifier", - "src": "9740:1:12" + "src": "9740:1:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "9719:6:12", + "nativeSrc": "9719:6:25", "nodeType": "YulIdentifier", - "src": "9719:6:12" + "src": "9719:6:25" }, - "nativeSrc": "9719:23:12", + "nativeSrc": "9719:23:25", "nodeType": "YulFunctionCall", - "src": "9719:23:12" + "src": "9719:23:25" }, - "nativeSrc": "9719:23:12", + "nativeSrc": "9719:23:25", "nodeType": "YulExpressionStatement", - "src": "9719:23:12" + "src": "9719:23:25" }, { "expression": { @@ -195961,49 +214936,49 @@ "arguments": [ { "name": "m", - "nativeSrc": "9778:1:12", + "nativeSrc": "9778:1:25", "nodeType": "YulIdentifier", - "src": "9778:1:12" + "src": "9778:1:25" }, { "kind": "number", - "nativeSrc": "9781:4:12", + "nativeSrc": "9781:4:25", "nodeType": "YulLiteral", - "src": "9781:4:12", + "src": "9781:4:25", "type": "", "value": "0x84" } ], "functionName": { "name": "add", - "nativeSrc": "9774:3:12", + "nativeSrc": "9774:3:25", "nodeType": "YulIdentifier", - "src": "9774:3:12" + "src": "9774:3:25" }, - "nativeSrc": "9774:12:12", + "nativeSrc": "9774:12:25", "nodeType": "YulFunctionCall", - "src": "9774:12:12" + "src": "9774:12:25" }, { "name": "s", - "nativeSrc": "9788:1:12", + "nativeSrc": "9788:1:25", "nodeType": "YulIdentifier", - "src": "9788:1:12" + "src": "9788:1:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "9767:6:12", + "nativeSrc": "9767:6:25", "nodeType": "YulIdentifier", - "src": "9767:6:12" + "src": "9767:6:25" }, - "nativeSrc": "9767:23:12", + "nativeSrc": "9767:23:25", "nodeType": "YulFunctionCall", - "src": "9767:23:12" + "src": "9767:23:25" }, - "nativeSrc": "9767:23:12", + "nativeSrc": "9767:23:25", "nodeType": "YulExpressionStatement", - "src": "9767:23:12" + "src": "9767:23:25" }, { "expression": { @@ -196012,126 +214987,126 @@ "arguments": [ { "name": "m", - "nativeSrc": "9827:1:12", + "nativeSrc": "9827:1:25", "nodeType": "YulIdentifier", - "src": "9827:1:12" + "src": "9827:1:25" }, { "kind": "number", - "nativeSrc": "9830:4:12", + "nativeSrc": "9830:4:25", "nodeType": "YulLiteral", - "src": "9830:4:12", + "src": "9830:4:25", "type": "", "value": "0xa4" } ], "functionName": { "name": "add", - "nativeSrc": "9823:3:12", + "nativeSrc": "9823:3:25", "nodeType": "YulIdentifier", - "src": "9823:3:12" + "src": "9823:3:25" }, - "nativeSrc": "9823:12:12", + "nativeSrc": "9823:12:25", "nodeType": "YulFunctionCall", - "src": "9823:12:12" + "src": "9823:12:25" }, { "name": "v", - "nativeSrc": "9837:1:12", + "nativeSrc": "9837:1:25", "nodeType": "YulIdentifier", - "src": "9837:1:12" + "src": "9837:1:25" } ], "functionName": { "name": "mstore8", - "nativeSrc": "9815:7:12", + "nativeSrc": "9815:7:25", "nodeType": "YulIdentifier", - "src": "9815:7:12" + "src": "9815:7:25" }, - "nativeSrc": "9815:24:12", + "nativeSrc": "9815:24:25", "nodeType": "YulFunctionCall", - "src": "9815:24:12" + "src": "9815:24:25" }, - "nativeSrc": "9815:24:12", + "nativeSrc": "9815:24:25", "nodeType": "YulExpressionStatement", - "src": "9815:24:12" + "src": "9815:24:25" }, { - "nativeSrc": "9864:54:12", + "nativeSrc": "9864:54:25", "nodeType": "YulAssignment", - "src": "9864:54:12", + "src": "9864:54:25", "value": { "arguments": [ { "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "9886:3:12", + "nativeSrc": "9886:3:25", "nodeType": "YulIdentifier", - "src": "9886:3:12" + "src": "9886:3:25" }, - "nativeSrc": "9886:5:12", + "nativeSrc": "9886:5:25", "nodeType": "YulFunctionCall", - "src": "9886:5:12" + "src": "9886:5:25" }, { "name": "signer", - "nativeSrc": "9893:6:12", + "nativeSrc": "9893:6:25", "nodeType": "YulIdentifier", - "src": "9893:6:12" + "src": "9893:6:25" }, { "name": "m", - "nativeSrc": "9901:1:12", + "nativeSrc": "9901:1:25", "nodeType": "YulIdentifier", - "src": "9901:1:12" + "src": "9901:1:25" }, { "kind": "number", - "nativeSrc": "9904:4:12", + "nativeSrc": "9904:4:25", "nodeType": "YulLiteral", - "src": "9904:4:12", + "src": "9904:4:25", "type": "", "value": "0xa5" }, { "name": "d", - "nativeSrc": "9910:1:12", + "nativeSrc": "9910:1:25", "nodeType": "YulIdentifier", - "src": "9910:1:12" + "src": "9910:1:25" }, { "kind": "number", - "nativeSrc": "9913:4:12", + "nativeSrc": "9913:4:25", "nodeType": "YulLiteral", - "src": "9913:4:12", + "src": "9913:4:25", "type": "", "value": "0x20" } ], "functionName": { "name": "staticcall", - "nativeSrc": "9875:10:12", + "nativeSrc": "9875:10:25", "nodeType": "YulIdentifier", - "src": "9875:10:12" + "src": "9875:10:25" }, - "nativeSrc": "9875:43:12", + "nativeSrc": "9875:43:25", "nodeType": "YulFunctionCall", - "src": "9875:43:12" + "src": "9875:43:25" }, "variableNames": [ { "name": "isValid", - "nativeSrc": "9864:7:12", + "nativeSrc": "9864:7:25", "nodeType": "YulIdentifier", - "src": "9864:7:12" + "src": "9864:7:25" } ] }, { - "nativeSrc": "9935:40:12", + "nativeSrc": "9935:40:25", "nodeType": "YulAssignment", - "src": "9935:40:12", + "src": "9935:40:25", "value": { "arguments": [ { @@ -196140,94 +215115,94 @@ "arguments": [ { "name": "d", - "nativeSrc": "9959:1:12", + "nativeSrc": "9959:1:25", "nodeType": "YulIdentifier", - "src": "9959:1:12" + "src": "9959:1:25" } ], "functionName": { "name": "mload", - "nativeSrc": "9953:5:12", + "nativeSrc": "9953:5:25", "nodeType": "YulIdentifier", - "src": "9953:5:12" + "src": "9953:5:25" }, - "nativeSrc": "9953:8:12", + "nativeSrc": "9953:8:25", "nodeType": "YulFunctionCall", - "src": "9953:8:12" + "src": "9953:8:25" }, { "name": "f", - "nativeSrc": "9963:1:12", + "nativeSrc": "9963:1:25", "nodeType": "YulIdentifier", - "src": "9963:1:12" + "src": "9963:1:25" } ], "functionName": { "name": "eq", - "nativeSrc": "9950:2:12", + "nativeSrc": "9950:2:25", "nodeType": "YulIdentifier", - "src": "9950:2:12" + "src": "9950:2:25" }, - "nativeSrc": "9950:15:12", + "nativeSrc": "9950:15:25", "nodeType": "YulFunctionCall", - "src": "9950:15:12" + "src": "9950:15:25" }, { "name": "isValid", - "nativeSrc": "9967:7:12", + "nativeSrc": "9967:7:25", "nodeType": "YulIdentifier", - "src": "9967:7:12" + "src": "9967:7:25" } ], "functionName": { "name": "and", - "nativeSrc": "9946:3:12", + "nativeSrc": "9946:3:25", "nodeType": "YulIdentifier", - "src": "9946:3:12" + "src": "9946:3:25" }, - "nativeSrc": "9946:29:12", + "nativeSrc": "9946:29:25", "nodeType": "YulFunctionCall", - "src": "9946:29:12" + "src": "9946:29:25" }, "variableNames": [ { "name": "isValid", - "nativeSrc": "9935:7:12", + "nativeSrc": "9935:7:25", "nodeType": "YulIdentifier", - "src": "9935:7:12" + "src": "9935:7:25" } ] }, { - "nativeSrc": "9992:5:12", + "nativeSrc": "9992:5:25", "nodeType": "YulBreak", - "src": "9992:5:12" + "src": "9992:5:25" } ] }, "condition": { "kind": "number", - "nativeSrc": "8747:1:12", + "nativeSrc": "8747:1:25", "nodeType": "YulLiteral", - "src": "8747:1:12", + "src": "8747:1:25", "type": "", "value": "1" }, - "nativeSrc": "8740:1271:12", + "nativeSrc": "8740:1271:25", "nodeType": "YulForLoop", "post": { - "nativeSrc": "8749:2:12", + "nativeSrc": "8749:2:25", "nodeType": "YulBlock", - "src": "8749:2:12", + "src": "8749:2:25", "statements": [] }, "pre": { - "nativeSrc": "8744:2:12", + "nativeSrc": "8744:2:25", "nodeType": "YulBlock", - "src": "8744:2:12", + "src": "8744:2:25", "statements": [] }, - "src": "8740:1271:12" + "src": "8740:1271:25" } ] }, @@ -196235,143 +215210,143 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 6213, + "declaration": 7819, "isOffset": false, "isSlot": false, - "src": "8836:4:12", + "src": "8836:4:25", "valueSize": 1 }, { - "declaration": 6213, + "declaration": 7819, "isOffset": false, "isSlot": false, - "src": "9508:4:12", + "src": "9508:4:25", "valueSize": 1 }, { - "declaration": 6222, + "declaration": 7828, "isOffset": false, "isSlot": false, - "src": "9094:7:12", + "src": "9094:7:25", "valueSize": 1 }, { - "declaration": 6222, + "declaration": 7828, "isOffset": false, "isSlot": false, - "src": "9864:7:12", + "src": "9864:7:25", "valueSize": 1 }, { - "declaration": 6222, + "declaration": 7828, "isOffset": false, "isSlot": false, - "src": "9935:7:12", + "src": "9935:7:25", "valueSize": 1 }, { - "declaration": 6222, + "declaration": 7828, "isOffset": false, "isSlot": false, - "src": "9967:7:12", + "src": "9967:7:25", "valueSize": 1 }, { - "declaration": 6217, + "declaration": 7823, "isOffset": false, "isSlot": false, - "src": "8930:1:12", + "src": "8930:1:25", "valueSize": 1 }, { - "declaration": 6217, + "declaration": 7823, "isOffset": false, "isSlot": false, - "src": "9740:1:12", + "src": "9740:1:25", "valueSize": 1 }, { - "declaration": 6219, + "declaration": 7825, "isOffset": false, "isSlot": false, - "src": "8974:1:12", + "src": "8974:1:25", "valueSize": 1 }, { - "declaration": 6219, + "declaration": 7825, "isOffset": false, "isSlot": false, - "src": "9788:1:12", + "src": "9788:1:25", "valueSize": 1 }, { - "declaration": 6211, + "declaration": 7817, "isOffset": false, "isSlot": false, - "src": "8792:6:12", + "src": "8792:6:25", "valueSize": 1 }, { - "declaration": 6211, + "declaration": 7817, "isOffset": false, "isSlot": false, - "src": "9138:6:12", + "src": "9138:6:25", "valueSize": 1 }, { - "declaration": 6211, + "declaration": 7817, "isOffset": false, "isSlot": false, - "src": "9893:6:12", + "src": "9893:6:25", "valueSize": 1 }, { - "declaration": 6215, + "declaration": 7821, "isOffset": false, "isSlot": false, - "src": "8879:1:12", + "src": "8879:1:25", "valueSize": 1 }, { - "declaration": 6215, + "declaration": 7821, "isOffset": false, "isSlot": false, - "src": "9837:1:12", + "src": "9837:1:25", "valueSize": 1 } ], - "id": 6233, + "id": 7839, "nodeType": "InlineAssembly", - "src": "8684:1337:12" + "src": "8684:1337:25" } ] }, "documentation": { - "id": 6209, + "id": 7815, "nodeType": "StructuredDocumentation", - "src": "8207:214:12", + "src": "8207:214:25", "text": "@dev Returns whether the signature (`v`, `r`, `s`) is valid for `signer` and `hash`.\n If `signer.code.length == 0`, then validate with `ecrecover`, else\n it will validate with ERC1271 on `signer`." }, - "id": 6235, + "id": 7841, "implemented": true, "kind": "function", "modifiers": [], "name": "isValidSignatureNow", - "nameLocation": "8435:19:12", + "nameLocation": "8435:19:25", "nodeType": "FunctionDefinition", "parameters": { - "id": 6220, + "id": 7826, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6211, + "id": 7817, "mutability": "mutable", "name": "signer", - "nameLocation": "8463:6:12", + "nameLocation": "8463:6:25", "nodeType": "VariableDeclaration", - "scope": 6235, - "src": "8455:14:12", + "scope": 7841, + "src": "8455:14:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -196379,10 +215354,10 @@ "typeString": "address" }, "typeName": { - "id": 6210, + "id": 7816, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8455:7:12", + "src": "8455:7:25", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -196393,13 +215368,13 @@ }, { "constant": false, - "id": 6213, + "id": 7819, "mutability": "mutable", "name": "hash", - "nameLocation": "8479:4:12", + "nameLocation": "8479:4:25", "nodeType": "VariableDeclaration", - "scope": 6235, - "src": "8471:12:12", + "scope": 7841, + "src": "8471:12:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -196407,10 +215382,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6212, + "id": 7818, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8471:7:12", + "src": "8471:7:25", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -196420,13 +215395,13 @@ }, { "constant": false, - "id": 6215, + "id": 7821, "mutability": "mutable", "name": "v", - "nameLocation": "8491:1:12", + "nameLocation": "8491:1:25", "nodeType": "VariableDeclaration", - "scope": 6235, - "src": "8485:7:12", + "scope": 7841, + "src": "8485:7:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -196434,10 +215409,10 @@ "typeString": "uint8" }, "typeName": { - "id": 6214, + "id": 7820, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "8485:5:12", + "src": "8485:5:25", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -196447,13 +215422,13 @@ }, { "constant": false, - "id": 6217, + "id": 7823, "mutability": "mutable", "name": "r", - "nameLocation": "8502:1:12", + "nameLocation": "8502:1:25", "nodeType": "VariableDeclaration", - "scope": 6235, - "src": "8494:9:12", + "scope": 7841, + "src": "8494:9:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -196461,10 +215436,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6216, + "id": 7822, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8494:7:12", + "src": "8494:7:25", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -196474,13 +215449,13 @@ }, { "constant": false, - "id": 6219, + "id": 7825, "mutability": "mutable", "name": "s", - "nameLocation": "8513:1:12", + "nameLocation": "8513:1:25", "nodeType": "VariableDeclaration", - "scope": 6235, - "src": "8505:9:12", + "scope": 7841, + "src": "8505:9:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -196488,10 +215463,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6218, + "id": 7824, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8505:7:12", + "src": "8505:7:25", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -196500,21 +215475,21 @@ "visibility": "internal" } ], - "src": "8454:61:12" + "src": "8454:61:25" }, "returnParameters": { - "id": 6223, + "id": 7829, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6222, + "id": 7828, "mutability": "mutable", "name": "isValid", - "nameLocation": "8568:7:12", + "nameLocation": "8568:7:25", "nodeType": "VariableDeclaration", - "scope": 6235, - "src": "8563:12:12", + "scope": 7841, + "src": "8563:12:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -196522,10 +215497,10 @@ "typeString": "bool" }, "typeName": { - "id": 6221, + "id": 7827, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "8563:4:12", + "src": "8563:4:25", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -196534,100 +215509,100 @@ "visibility": "internal" } ], - "src": "8562:14:12" + "src": "8562:14:25" }, - "scope": 6354, - "src": "8426:1601:12", + "scope": 7960, + "src": "8426:1601:25", "stateMutability": "view", "virtual": false, "visibility": "internal" }, { "body": { - "id": 6248, + "id": 7854, "nodeType": "Block", - "src": "10636:714:12", + "src": "10636:714:25", "statements": [ { "AST": { - "nativeSrc": "10698:646:12", + "nativeSrc": "10698:646:25", "nodeType": "YulBlock", - "src": "10698:646:12", + "src": "10698:646:25", "statements": [ { - "nativeSrc": "10712:20:12", + "nativeSrc": "10712:20:25", "nodeType": "YulVariableDeclaration", - "src": "10712:20:12", + "src": "10712:20:25", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "10727:4:12", + "nativeSrc": "10727:4:25", "nodeType": "YulLiteral", - "src": "10727:4:12", + "src": "10727:4:25", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "10721:5:12", + "nativeSrc": "10721:5:25", "nodeType": "YulIdentifier", - "src": "10721:5:12" + "src": "10721:5:25" }, - "nativeSrc": "10721:11:12", + "nativeSrc": "10721:11:25", "nodeType": "YulFunctionCall", - "src": "10721:11:12" + "src": "10721:11:25" }, "variables": [ { "name": "m", - "nativeSrc": "10716:1:12", + "nativeSrc": "10716:1:25", "nodeType": "YulTypedName", - "src": "10716:1:12", + "src": "10716:1:25", "type": "" } ] }, { - "nativeSrc": "10745:29:12", + "nativeSrc": "10745:29:25", "nodeType": "YulVariableDeclaration", - "src": "10745:29:12", + "src": "10745:29:25", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "10758:3:12", + "nativeSrc": "10758:3:25", "nodeType": "YulLiteral", - "src": "10758:3:12", + "src": "10758:3:25", "type": "", "value": "224" }, { "kind": "number", - "nativeSrc": "10763:10:12", + "nativeSrc": "10763:10:25", "nodeType": "YulLiteral", - "src": "10763:10:12", + "src": "10763:10:25", "type": "", "value": "0x1626ba7e" } ], "functionName": { "name": "shl", - "nativeSrc": "10754:3:12", + "nativeSrc": "10754:3:25", "nodeType": "YulIdentifier", - "src": "10754:3:12" + "src": "10754:3:25" }, - "nativeSrc": "10754:20:12", + "nativeSrc": "10754:20:25", "nodeType": "YulFunctionCall", - "src": "10754:20:12" + "src": "10754:20:25" }, "variables": [ { "name": "f", - "nativeSrc": "10749:1:12", + "nativeSrc": "10749:1:25", "nodeType": "YulTypedName", - "src": "10749:1:12", + "src": "10749:1:25", "type": "" } ] @@ -196637,30 +215612,30 @@ "arguments": [ { "name": "m", - "nativeSrc": "10794:1:12", + "nativeSrc": "10794:1:25", "nodeType": "YulIdentifier", - "src": "10794:1:12" + "src": "10794:1:25" }, { "name": "f", - "nativeSrc": "10797:1:12", + "nativeSrc": "10797:1:25", "nodeType": "YulIdentifier", - "src": "10797:1:12" + "src": "10797:1:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "10787:6:12", + "nativeSrc": "10787:6:25", "nodeType": "YulIdentifier", - "src": "10787:6:12" + "src": "10787:6:25" }, - "nativeSrc": "10787:12:12", + "nativeSrc": "10787:12:25", "nodeType": "YulFunctionCall", - "src": "10787:12:12" + "src": "10787:12:25" }, - "nativeSrc": "10787:12:12", + "nativeSrc": "10787:12:25", "nodeType": "YulExpressionStatement", - "src": "10787:12:12" + "src": "10787:12:25" }, { "expression": { @@ -196669,87 +215644,87 @@ "arguments": [ { "name": "m", - "nativeSrc": "10882:1:12", + "nativeSrc": "10882:1:25", "nodeType": "YulIdentifier", - "src": "10882:1:12" + "src": "10882:1:25" }, { "kind": "number", - "nativeSrc": "10885:4:12", + "nativeSrc": "10885:4:25", "nodeType": "YulLiteral", - "src": "10885:4:12", + "src": "10885:4:25", "type": "", "value": "0x04" } ], "functionName": { "name": "add", - "nativeSrc": "10878:3:12", + "nativeSrc": "10878:3:25", "nodeType": "YulIdentifier", - "src": "10878:3:12" + "src": "10878:3:25" }, - "nativeSrc": "10878:12:12", + "nativeSrc": "10878:12:25", "nodeType": "YulFunctionCall", - "src": "10878:12:12" + "src": "10878:12:25" }, { "name": "hash", - "nativeSrc": "10892:4:12", + "nativeSrc": "10892:4:25", "nodeType": "YulIdentifier", - "src": "10892:4:12" + "src": "10892:4:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "10871:6:12", + "nativeSrc": "10871:6:25", "nodeType": "YulIdentifier", - "src": "10871:6:12" + "src": "10871:6:25" }, - "nativeSrc": "10871:26:12", + "nativeSrc": "10871:26:25", "nodeType": "YulFunctionCall", - "src": "10871:26:12" + "src": "10871:26:25" }, - "nativeSrc": "10871:26:12", + "nativeSrc": "10871:26:25", "nodeType": "YulExpressionStatement", - "src": "10871:26:12" + "src": "10871:26:25" }, { - "nativeSrc": "10910:21:12", + "nativeSrc": "10910:21:25", "nodeType": "YulVariableDeclaration", - "src": "10910:21:12", + "src": "10910:21:25", "value": { "arguments": [ { "name": "m", - "nativeSrc": "10923:1:12", + "nativeSrc": "10923:1:25", "nodeType": "YulIdentifier", - "src": "10923:1:12" + "src": "10923:1:25" }, { "kind": "number", - "nativeSrc": "10926:4:12", + "nativeSrc": "10926:4:25", "nodeType": "YulLiteral", - "src": "10926:4:12", + "src": "10926:4:25", "type": "", "value": "0x24" } ], "functionName": { "name": "add", - "nativeSrc": "10919:3:12", + "nativeSrc": "10919:3:25", "nodeType": "YulIdentifier", - "src": "10919:3:12" + "src": "10919:3:25" }, - "nativeSrc": "10919:12:12", + "nativeSrc": "10919:12:25", "nodeType": "YulFunctionCall", - "src": "10919:12:12" + "src": "10919:12:25" }, "variables": [ { "name": "d", - "nativeSrc": "10914:1:12", + "nativeSrc": "10914:1:25", "nodeType": "YulTypedName", - "src": "10914:1:12", + "src": "10914:1:25", "type": "" } ] @@ -196759,44 +215734,44 @@ "arguments": [ { "name": "d", - "nativeSrc": "10951:1:12", + "nativeSrc": "10951:1:25", "nodeType": "YulIdentifier", - "src": "10951:1:12" + "src": "10951:1:25" }, { "kind": "number", - "nativeSrc": "10954:4:12", + "nativeSrc": "10954:4:25", "nodeType": "YulLiteral", - "src": "10954:4:12", + "src": "10954:4:25", "type": "", "value": "0x40" } ], "functionName": { "name": "mstore", - "nativeSrc": "10944:6:12", + "nativeSrc": "10944:6:25", "nodeType": "YulIdentifier", - "src": "10944:6:12" + "src": "10944:6:25" }, - "nativeSrc": "10944:15:12", + "nativeSrc": "10944:15:25", "nodeType": "YulFunctionCall", - "src": "10944:15:12" + "src": "10944:15:25" }, - "nativeSrc": "10944:15:12", + "nativeSrc": "10944:15:25", "nodeType": "YulExpressionStatement", - "src": "10944:15:12" + "src": "10944:15:25" }, { - "nativeSrc": "11064:36:12", + "nativeSrc": "11064:36:25", "nodeType": "YulVariableDeclaration", - "src": "11064:36:12", + "src": "11064:36:25", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "11077:4:12", + "nativeSrc": "11077:4:25", "nodeType": "YulLiteral", - "src": "11077:4:12", + "src": "11077:4:25", "type": "", "value": "0x20" }, @@ -196804,163 +215779,163 @@ "arguments": [ { "name": "signature", - "nativeSrc": "11089:9:12", + "nativeSrc": "11089:9:25", "nodeType": "YulIdentifier", - "src": "11089:9:12" + "src": "11089:9:25" } ], "functionName": { "name": "mload", - "nativeSrc": "11083:5:12", + "nativeSrc": "11083:5:25", "nodeType": "YulIdentifier", - "src": "11083:5:12" + "src": "11083:5:25" }, - "nativeSrc": "11083:16:12", + "nativeSrc": "11083:16:25", "nodeType": "YulFunctionCall", - "src": "11083:16:12" + "src": "11083:16:25" } ], "functionName": { "name": "add", - "nativeSrc": "11073:3:12", + "nativeSrc": "11073:3:25", "nodeType": "YulIdentifier", - "src": "11073:3:12" + "src": "11073:3:25" }, - "nativeSrc": "11073:27:12", + "nativeSrc": "11073:27:25", "nodeType": "YulFunctionCall", - "src": "11073:27:12" + "src": "11073:27:25" }, "variables": [ { "name": "n", - "nativeSrc": "11068:1:12", + "nativeSrc": "11068:1:25", "nodeType": "YulTypedName", - "src": "11068:1:12", + "src": "11068:1:25", "type": "" } ] }, { - "nativeSrc": "11113:65:12", + "nativeSrc": "11113:65:25", "nodeType": "YulVariableDeclaration", - "src": "11113:65:12", + "src": "11113:65:25", "value": { "arguments": [ { "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "11138:3:12", + "nativeSrc": "11138:3:25", "nodeType": "YulIdentifier", - "src": "11138:3:12" + "src": "11138:3:25" }, - "nativeSrc": "11138:5:12", + "nativeSrc": "11138:5:25", "nodeType": "YulFunctionCall", - "src": "11138:5:12" + "src": "11138:5:25" }, { "kind": "number", - "nativeSrc": "11145:1:12", + "nativeSrc": "11145:1:25", "nodeType": "YulLiteral", - "src": "11145:1:12", + "src": "11145:1:25", "type": "", "value": "4" }, { "name": "signature", - "nativeSrc": "11148:9:12", + "nativeSrc": "11148:9:25", "nodeType": "YulIdentifier", - "src": "11148:9:12" + "src": "11148:9:25" }, { "name": "n", - "nativeSrc": "11159:1:12", + "nativeSrc": "11159:1:25", "nodeType": "YulIdentifier", - "src": "11159:1:12" + "src": "11159:1:25" }, { "arguments": [ { "name": "m", - "nativeSrc": "11166:1:12", + "nativeSrc": "11166:1:25", "nodeType": "YulIdentifier", - "src": "11166:1:12" + "src": "11166:1:25" }, { "kind": "number", - "nativeSrc": "11169:4:12", + "nativeSrc": "11169:4:25", "nodeType": "YulLiteral", - "src": "11169:4:12", + "src": "11169:4:25", "type": "", "value": "0x44" } ], "functionName": { "name": "add", - "nativeSrc": "11162:3:12", + "nativeSrc": "11162:3:25", "nodeType": "YulIdentifier", - "src": "11162:3:12" + "src": "11162:3:25" }, - "nativeSrc": "11162:12:12", + "nativeSrc": "11162:12:25", "nodeType": "YulFunctionCall", - "src": "11162:12:12" + "src": "11162:12:25" }, { "name": "n", - "nativeSrc": "11176:1:12", + "nativeSrc": "11176:1:25", "nodeType": "YulIdentifier", - "src": "11176:1:12" + "src": "11176:1:25" } ], "functionName": { "name": "staticcall", - "nativeSrc": "11127:10:12", + "nativeSrc": "11127:10:25", "nodeType": "YulIdentifier", - "src": "11127:10:12" + "src": "11127:10:25" }, - "nativeSrc": "11127:51:12", + "nativeSrc": "11127:51:25", "nodeType": "YulFunctionCall", - "src": "11127:51:12" + "src": "11127:51:25" }, "variables": [ { "name": "copied", - "nativeSrc": "11117:6:12", + "nativeSrc": "11117:6:25", "nodeType": "YulTypedName", - "src": "11117:6:12", + "src": "11117:6:25", "type": "" } ] }, { - "nativeSrc": "11191:77:12", + "nativeSrc": "11191:77:25", "nodeType": "YulAssignment", - "src": "11191:77:12", + "src": "11191:77:25", "value": { "arguments": [ { "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "11213:3:12", + "nativeSrc": "11213:3:25", "nodeType": "YulIdentifier", - "src": "11213:3:12" + "src": "11213:3:25" }, - "nativeSrc": "11213:5:12", + "nativeSrc": "11213:5:25", "nodeType": "YulFunctionCall", - "src": "11213:5:12" + "src": "11213:5:25" }, { "name": "signer", - "nativeSrc": "11220:6:12", + "nativeSrc": "11220:6:25", "nodeType": "YulIdentifier", - "src": "11220:6:12" + "src": "11220:6:25" }, { "name": "m", - "nativeSrc": "11228:1:12", + "nativeSrc": "11228:1:25", "nodeType": "YulIdentifier", - "src": "11228:1:12" + "src": "11228:1:25" }, { "arguments": [ @@ -196968,71 +215943,71 @@ "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "11235:14:12", + "nativeSrc": "11235:14:25", "nodeType": "YulIdentifier", - "src": "11235:14:12" + "src": "11235:14:25" }, - "nativeSrc": "11235:16:12", + "nativeSrc": "11235:16:25", "nodeType": "YulFunctionCall", - "src": "11235:16:12" + "src": "11235:16:25" }, { "kind": "number", - "nativeSrc": "11253:4:12", + "nativeSrc": "11253:4:25", "nodeType": "YulLiteral", - "src": "11253:4:12", + "src": "11253:4:25", "type": "", "value": "0x44" } ], "functionName": { "name": "add", - "nativeSrc": "11231:3:12", + "nativeSrc": "11231:3:25", "nodeType": "YulIdentifier", - "src": "11231:3:12" + "src": "11231:3:25" }, - "nativeSrc": "11231:27:12", + "nativeSrc": "11231:27:25", "nodeType": "YulFunctionCall", - "src": "11231:27:12" + "src": "11231:27:25" }, { "name": "d", - "nativeSrc": "11260:1:12", + "nativeSrc": "11260:1:25", "nodeType": "YulIdentifier", - "src": "11260:1:12" + "src": "11260:1:25" }, { "kind": "number", - "nativeSrc": "11263:4:12", + "nativeSrc": "11263:4:25", "nodeType": "YulLiteral", - "src": "11263:4:12", + "src": "11263:4:25", "type": "", "value": "0x20" } ], "functionName": { "name": "staticcall", - "nativeSrc": "11202:10:12", + "nativeSrc": "11202:10:25", "nodeType": "YulIdentifier", - "src": "11202:10:12" + "src": "11202:10:25" }, - "nativeSrc": "11202:66:12", + "nativeSrc": "11202:66:25", "nodeType": "YulFunctionCall", - "src": "11202:66:12" + "src": "11202:66:25" }, "variableNames": [ { "name": "isValid", - "nativeSrc": "11191:7:12", + "nativeSrc": "11191:7:25", "nodeType": "YulIdentifier", - "src": "11191:7:12" + "src": "11191:7:25" } ] }, { - "nativeSrc": "11281:53:12", + "nativeSrc": "11281:53:25", "nodeType": "YulAssignment", - "src": "11281:53:12", + "src": "11281:53:25", "value": { "arguments": [ { @@ -197041,80 +216016,80 @@ "arguments": [ { "name": "d", - "nativeSrc": "11305:1:12", + "nativeSrc": "11305:1:25", "nodeType": "YulIdentifier", - "src": "11305:1:12" + "src": "11305:1:25" } ], "functionName": { "name": "mload", - "nativeSrc": "11299:5:12", + "nativeSrc": "11299:5:25", "nodeType": "YulIdentifier", - "src": "11299:5:12" + "src": "11299:5:25" }, - "nativeSrc": "11299:8:12", + "nativeSrc": "11299:8:25", "nodeType": "YulFunctionCall", - "src": "11299:8:12" + "src": "11299:8:25" }, { "name": "f", - "nativeSrc": "11309:1:12", + "nativeSrc": "11309:1:25", "nodeType": "YulIdentifier", - "src": "11309:1:12" + "src": "11309:1:25" } ], "functionName": { "name": "eq", - "nativeSrc": "11296:2:12", + "nativeSrc": "11296:2:25", "nodeType": "YulIdentifier", - "src": "11296:2:12" + "src": "11296:2:25" }, - "nativeSrc": "11296:15:12", + "nativeSrc": "11296:15:25", "nodeType": "YulFunctionCall", - "src": "11296:15:12" + "src": "11296:15:25" }, { "arguments": [ { "name": "isValid", - "nativeSrc": "11317:7:12", + "nativeSrc": "11317:7:25", "nodeType": "YulIdentifier", - "src": "11317:7:12" + "src": "11317:7:25" }, { "name": "copied", - "nativeSrc": "11326:6:12", + "nativeSrc": "11326:6:25", "nodeType": "YulIdentifier", - "src": "11326:6:12" + "src": "11326:6:25" } ], "functionName": { "name": "and", - "nativeSrc": "11313:3:12", + "nativeSrc": "11313:3:25", "nodeType": "YulIdentifier", - "src": "11313:3:12" + "src": "11313:3:25" }, - "nativeSrc": "11313:20:12", + "nativeSrc": "11313:20:25", "nodeType": "YulFunctionCall", - "src": "11313:20:12" + "src": "11313:20:25" } ], "functionName": { "name": "and", - "nativeSrc": "11292:3:12", + "nativeSrc": "11292:3:25", "nodeType": "YulIdentifier", - "src": "11292:3:12" + "src": "11292:3:25" }, - "nativeSrc": "11292:42:12", + "nativeSrc": "11292:42:25", "nodeType": "YulFunctionCall", - "src": "11292:42:12" + "src": "11292:42:25" }, "variableNames": [ { "name": "isValid", - "nativeSrc": "11281:7:12", + "nativeSrc": "11281:7:25", "nodeType": "YulIdentifier", - "src": "11281:7:12" + "src": "11281:7:25" } ] } @@ -197124,87 +216099,87 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 6240, + "declaration": 7846, "isOffset": false, "isSlot": false, - "src": "10892:4:12", + "src": "10892:4:25", "valueSize": 1 }, { - "declaration": 6245, + "declaration": 7851, "isOffset": false, "isSlot": false, - "src": "11191:7:12", + "src": "11191:7:25", "valueSize": 1 }, { - "declaration": 6245, + "declaration": 7851, "isOffset": false, "isSlot": false, - "src": "11281:7:12", + "src": "11281:7:25", "valueSize": 1 }, { - "declaration": 6245, + "declaration": 7851, "isOffset": false, "isSlot": false, - "src": "11317:7:12", + "src": "11317:7:25", "valueSize": 1 }, { - "declaration": 6242, + "declaration": 7848, "isOffset": false, "isSlot": false, - "src": "11089:9:12", + "src": "11089:9:25", "valueSize": 1 }, { - "declaration": 6242, + "declaration": 7848, "isOffset": false, "isSlot": false, - "src": "11148:9:12", + "src": "11148:9:25", "valueSize": 1 }, { - "declaration": 6238, + "declaration": 7844, "isOffset": false, "isSlot": false, - "src": "11220:6:12", + "src": "11220:6:25", "valueSize": 1 } ], - "id": 6247, + "id": 7853, "nodeType": "InlineAssembly", - "src": "10689:655:12" + "src": "10689:655:25" } ] }, "documentation": { - "id": 6236, + "id": 7842, "nodeType": "StructuredDocumentation", - "src": "10386:90:12", + "src": "10386:90:25", "text": "@dev Returns whether `signature` is valid for `hash` for an ERC1271 `signer` contract." }, - "id": 6249, + "id": 7855, "implemented": true, "kind": "function", "modifiers": [], "name": "isValidERC1271SignatureNow", - "nameLocation": "10490:26:12", + "nameLocation": "10490:26:25", "nodeType": "FunctionDefinition", "parameters": { - "id": 6243, + "id": 7849, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6238, + "id": 7844, "mutability": "mutable", "name": "signer", - "nameLocation": "10525:6:12", + "nameLocation": "10525:6:25", "nodeType": "VariableDeclaration", - "scope": 6249, - "src": "10517:14:12", + "scope": 7855, + "src": "10517:14:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -197212,10 +216187,10 @@ "typeString": "address" }, "typeName": { - "id": 6237, + "id": 7843, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10517:7:12", + "src": "10517:7:25", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -197226,13 +216201,13 @@ }, { "constant": false, - "id": 6240, + "id": 7846, "mutability": "mutable", "name": "hash", - "nameLocation": "10541:4:12", + "nameLocation": "10541:4:25", "nodeType": "VariableDeclaration", - "scope": 6249, - "src": "10533:12:12", + "scope": 7855, + "src": "10533:12:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -197240,10 +216215,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6239, + "id": 7845, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10533:7:12", + "src": "10533:7:25", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -197253,13 +216228,13 @@ }, { "constant": false, - "id": 6242, + "id": 7848, "mutability": "mutable", "name": "signature", - "nameLocation": "10560:9:12", + "nameLocation": "10560:9:25", "nodeType": "VariableDeclaration", - "scope": 6249, - "src": "10547:22:12", + "scope": 7855, + "src": "10547:22:25", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -197267,10 +216242,10 @@ "typeString": "bytes" }, "typeName": { - "id": 6241, + "id": 7847, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "10547:5:12", + "src": "10547:5:25", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -197279,21 +216254,21 @@ "visibility": "internal" } ], - "src": "10516:54:12" + "src": "10516:54:25" }, "returnParameters": { - "id": 6246, + "id": 7852, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6245, + "id": 7851, "mutability": "mutable", "name": "isValid", - "nameLocation": "10623:7:12", + "nameLocation": "10623:7:25", "nodeType": "VariableDeclaration", - "scope": 6249, - "src": "10618:12:12", + "scope": 7855, + "src": "10618:12:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -197301,10 +216276,10 @@ "typeString": "bool" }, "typeName": { - "id": 6244, + "id": 7850, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "10618:4:12", + "src": "10618:4:25", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -197313,100 +216288,100 @@ "visibility": "internal" } ], - "src": "10617:14:12" + "src": "10617:14:25" }, - "scope": 6354, - "src": "10481:869:12", + "scope": 7960, + "src": "10481:869:25", "stateMutability": "view", "virtual": false, "visibility": "internal" }, { "body": { - "id": 6262, + "id": 7868, "nodeType": "Block", - "src": "11618:700:12", + "src": "11618:700:25", "statements": [ { "AST": { - "nativeSrc": "11680:632:12", + "nativeSrc": "11680:632:25", "nodeType": "YulBlock", - "src": "11680:632:12", + "src": "11680:632:25", "statements": [ { - "nativeSrc": "11694:20:12", + "nativeSrc": "11694:20:25", "nodeType": "YulVariableDeclaration", - "src": "11694:20:12", + "src": "11694:20:25", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "11709:4:12", + "nativeSrc": "11709:4:25", "nodeType": "YulLiteral", - "src": "11709:4:12", + "src": "11709:4:25", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "11703:5:12", + "nativeSrc": "11703:5:25", "nodeType": "YulIdentifier", - "src": "11703:5:12" + "src": "11703:5:25" }, - "nativeSrc": "11703:11:12", + "nativeSrc": "11703:11:25", "nodeType": "YulFunctionCall", - "src": "11703:11:12" + "src": "11703:11:25" }, "variables": [ { "name": "m", - "nativeSrc": "11698:1:12", + "nativeSrc": "11698:1:25", "nodeType": "YulTypedName", - "src": "11698:1:12", + "src": "11698:1:25", "type": "" } ] }, { - "nativeSrc": "11727:29:12", + "nativeSrc": "11727:29:25", "nodeType": "YulVariableDeclaration", - "src": "11727:29:12", + "src": "11727:29:25", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "11740:3:12", + "nativeSrc": "11740:3:25", "nodeType": "YulLiteral", - "src": "11740:3:12", + "src": "11740:3:25", "type": "", "value": "224" }, { "kind": "number", - "nativeSrc": "11745:10:12", + "nativeSrc": "11745:10:25", "nodeType": "YulLiteral", - "src": "11745:10:12", + "src": "11745:10:25", "type": "", "value": "0x1626ba7e" } ], "functionName": { "name": "shl", - "nativeSrc": "11736:3:12", + "nativeSrc": "11736:3:25", "nodeType": "YulIdentifier", - "src": "11736:3:12" + "src": "11736:3:25" }, - "nativeSrc": "11736:20:12", + "nativeSrc": "11736:20:25", "nodeType": "YulFunctionCall", - "src": "11736:20:12" + "src": "11736:20:25" }, "variables": [ { "name": "f", - "nativeSrc": "11731:1:12", + "nativeSrc": "11731:1:25", "nodeType": "YulTypedName", - "src": "11731:1:12", + "src": "11731:1:25", "type": "" } ] @@ -197416,30 +216391,30 @@ "arguments": [ { "name": "m", - "nativeSrc": "11776:1:12", + "nativeSrc": "11776:1:25", "nodeType": "YulIdentifier", - "src": "11776:1:12" + "src": "11776:1:25" }, { "name": "f", - "nativeSrc": "11779:1:12", + "nativeSrc": "11779:1:25", "nodeType": "YulIdentifier", - "src": "11779:1:12" + "src": "11779:1:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "11769:6:12", + "nativeSrc": "11769:6:25", "nodeType": "YulIdentifier", - "src": "11769:6:12" + "src": "11769:6:25" }, - "nativeSrc": "11769:12:12", + "nativeSrc": "11769:12:25", "nodeType": "YulFunctionCall", - "src": "11769:12:12" + "src": "11769:12:25" }, - "nativeSrc": "11769:12:12", + "nativeSrc": "11769:12:25", "nodeType": "YulExpressionStatement", - "src": "11769:12:12" + "src": "11769:12:25" }, { "expression": { @@ -197448,87 +216423,87 @@ "arguments": [ { "name": "m", - "nativeSrc": "11864:1:12", + "nativeSrc": "11864:1:25", "nodeType": "YulIdentifier", - "src": "11864:1:12" + "src": "11864:1:25" }, { "kind": "number", - "nativeSrc": "11867:4:12", + "nativeSrc": "11867:4:25", "nodeType": "YulLiteral", - "src": "11867:4:12", + "src": "11867:4:25", "type": "", "value": "0x04" } ], "functionName": { "name": "add", - "nativeSrc": "11860:3:12", + "nativeSrc": "11860:3:25", "nodeType": "YulIdentifier", - "src": "11860:3:12" + "src": "11860:3:25" }, - "nativeSrc": "11860:12:12", + "nativeSrc": "11860:12:25", "nodeType": "YulFunctionCall", - "src": "11860:12:12" + "src": "11860:12:25" }, { "name": "hash", - "nativeSrc": "11874:4:12", + "nativeSrc": "11874:4:25", "nodeType": "YulIdentifier", - "src": "11874:4:12" + "src": "11874:4:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "11853:6:12", + "nativeSrc": "11853:6:25", "nodeType": "YulIdentifier", - "src": "11853:6:12" + "src": "11853:6:25" }, - "nativeSrc": "11853:26:12", + "nativeSrc": "11853:26:25", "nodeType": "YulFunctionCall", - "src": "11853:26:12" + "src": "11853:26:25" }, - "nativeSrc": "11853:26:12", + "nativeSrc": "11853:26:25", "nodeType": "YulExpressionStatement", - "src": "11853:26:12" + "src": "11853:26:25" }, { - "nativeSrc": "11892:21:12", + "nativeSrc": "11892:21:25", "nodeType": "YulVariableDeclaration", - "src": "11892:21:12", + "src": "11892:21:25", "value": { "arguments": [ { "name": "m", - "nativeSrc": "11905:1:12", + "nativeSrc": "11905:1:25", "nodeType": "YulIdentifier", - "src": "11905:1:12" + "src": "11905:1:25" }, { "kind": "number", - "nativeSrc": "11908:4:12", + "nativeSrc": "11908:4:25", "nodeType": "YulLiteral", - "src": "11908:4:12", + "src": "11908:4:25", "type": "", "value": "0x24" } ], "functionName": { "name": "add", - "nativeSrc": "11901:3:12", + "nativeSrc": "11901:3:25", "nodeType": "YulIdentifier", - "src": "11901:3:12" + "src": "11901:3:25" }, - "nativeSrc": "11901:12:12", + "nativeSrc": "11901:12:25", "nodeType": "YulFunctionCall", - "src": "11901:12:12" + "src": "11901:12:25" }, "variables": [ { "name": "d", - "nativeSrc": "11896:1:12", + "nativeSrc": "11896:1:25", "nodeType": "YulTypedName", - "src": "11896:1:12", + "src": "11896:1:25", "type": "" } ] @@ -197538,32 +216513,32 @@ "arguments": [ { "name": "d", - "nativeSrc": "11933:1:12", + "nativeSrc": "11933:1:25", "nodeType": "YulIdentifier", - "src": "11933:1:12" + "src": "11933:1:25" }, { "kind": "number", - "nativeSrc": "11936:4:12", + "nativeSrc": "11936:4:25", "nodeType": "YulLiteral", - "src": "11936:4:12", + "src": "11936:4:25", "type": "", "value": "0x40" } ], "functionName": { "name": "mstore", - "nativeSrc": "11926:6:12", + "nativeSrc": "11926:6:25", "nodeType": "YulIdentifier", - "src": "11926:6:12" + "src": "11926:6:25" }, - "nativeSrc": "11926:15:12", + "nativeSrc": "11926:15:25", "nodeType": "YulFunctionCall", - "src": "11926:15:12" + "src": "11926:15:25" }, - "nativeSrc": "11926:15:12", + "nativeSrc": "11926:15:25", "nodeType": "YulExpressionStatement", - "src": "11926:15:12" + "src": "11926:15:25" }, { "expression": { @@ -197572,49 +216547,49 @@ "arguments": [ { "name": "m", - "nativeSrc": "12015:1:12", + "nativeSrc": "12015:1:25", "nodeType": "YulIdentifier", - "src": "12015:1:12" + "src": "12015:1:25" }, { "kind": "number", - "nativeSrc": "12018:4:12", + "nativeSrc": "12018:4:25", "nodeType": "YulLiteral", - "src": "12018:4:12", + "src": "12018:4:25", "type": "", "value": "0x44" } ], "functionName": { "name": "add", - "nativeSrc": "12011:3:12", + "nativeSrc": "12011:3:25", "nodeType": "YulIdentifier", - "src": "12011:3:12" + "src": "12011:3:25" }, - "nativeSrc": "12011:12:12", + "nativeSrc": "12011:12:25", "nodeType": "YulFunctionCall", - "src": "12011:12:12" + "src": "12011:12:25" }, { "name": "signature.length", - "nativeSrc": "12025:16:12", + "nativeSrc": "12025:16:25", "nodeType": "YulIdentifier", - "src": "12025:16:12" + "src": "12025:16:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "12004:6:12", + "nativeSrc": "12004:6:25", "nodeType": "YulIdentifier", - "src": "12004:6:12" + "src": "12004:6:25" }, - "nativeSrc": "12004:38:12", + "nativeSrc": "12004:38:25", "nodeType": "YulFunctionCall", - "src": "12004:38:12" + "src": "12004:38:25" }, - "nativeSrc": "12004:38:12", + "nativeSrc": "12004:38:25", "nodeType": "YulExpressionStatement", - "src": "12004:38:12" + "src": "12004:38:25" }, { "expression": { @@ -197623,151 +216598,151 @@ "arguments": [ { "name": "m", - "nativeSrc": "12114:1:12", + "nativeSrc": "12114:1:25", "nodeType": "YulIdentifier", - "src": "12114:1:12" + "src": "12114:1:25" }, { "kind": "number", - "nativeSrc": "12117:4:12", + "nativeSrc": "12117:4:25", "nodeType": "YulLiteral", - "src": "12117:4:12", + "src": "12117:4:25", "type": "", "value": "0x64" } ], "functionName": { "name": "add", - "nativeSrc": "12110:3:12", + "nativeSrc": "12110:3:25", "nodeType": "YulIdentifier", - "src": "12110:3:12" + "src": "12110:3:25" }, - "nativeSrc": "12110:12:12", + "nativeSrc": "12110:12:25", "nodeType": "YulFunctionCall", - "src": "12110:12:12" + "src": "12110:12:25" }, { "name": "signature.offset", - "nativeSrc": "12124:16:12", + "nativeSrc": "12124:16:25", "nodeType": "YulIdentifier", - "src": "12124:16:12" + "src": "12124:16:25" }, { "name": "signature.length", - "nativeSrc": "12142:16:12", + "nativeSrc": "12142:16:25", "nodeType": "YulIdentifier", - "src": "12142:16:12" + "src": "12142:16:25" } ], "functionName": { "name": "calldatacopy", - "nativeSrc": "12097:12:12", + "nativeSrc": "12097:12:25", "nodeType": "YulIdentifier", - "src": "12097:12:12" + "src": "12097:12:25" }, - "nativeSrc": "12097:62:12", + "nativeSrc": "12097:62:25", "nodeType": "YulFunctionCall", - "src": "12097:62:12" + "src": "12097:62:25" }, - "nativeSrc": "12097:62:12", + "nativeSrc": "12097:62:25", "nodeType": "YulExpressionStatement", - "src": "12097:62:12" + "src": "12097:62:25" }, { - "nativeSrc": "12172:77:12", + "nativeSrc": "12172:77:25", "nodeType": "YulAssignment", - "src": "12172:77:12", + "src": "12172:77:25", "value": { "arguments": [ { "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "12194:3:12", + "nativeSrc": "12194:3:25", "nodeType": "YulIdentifier", - "src": "12194:3:12" + "src": "12194:3:25" }, - "nativeSrc": "12194:5:12", + "nativeSrc": "12194:5:25", "nodeType": "YulFunctionCall", - "src": "12194:5:12" + "src": "12194:5:25" }, { "name": "signer", - "nativeSrc": "12201:6:12", + "nativeSrc": "12201:6:25", "nodeType": "YulIdentifier", - "src": "12201:6:12" + "src": "12201:6:25" }, { "name": "m", - "nativeSrc": "12209:1:12", + "nativeSrc": "12209:1:25", "nodeType": "YulIdentifier", - "src": "12209:1:12" + "src": "12209:1:25" }, { "arguments": [ { "name": "signature.length", - "nativeSrc": "12216:16:12", + "nativeSrc": "12216:16:25", "nodeType": "YulIdentifier", - "src": "12216:16:12" + "src": "12216:16:25" }, { "kind": "number", - "nativeSrc": "12234:4:12", + "nativeSrc": "12234:4:25", "nodeType": "YulLiteral", - "src": "12234:4:12", + "src": "12234:4:25", "type": "", "value": "0x64" } ], "functionName": { "name": "add", - "nativeSrc": "12212:3:12", + "nativeSrc": "12212:3:25", "nodeType": "YulIdentifier", - "src": "12212:3:12" + "src": "12212:3:25" }, - "nativeSrc": "12212:27:12", + "nativeSrc": "12212:27:25", "nodeType": "YulFunctionCall", - "src": "12212:27:12" + "src": "12212:27:25" }, { "name": "d", - "nativeSrc": "12241:1:12", + "nativeSrc": "12241:1:25", "nodeType": "YulIdentifier", - "src": "12241:1:12" + "src": "12241:1:25" }, { "kind": "number", - "nativeSrc": "12244:4:12", + "nativeSrc": "12244:4:25", "nodeType": "YulLiteral", - "src": "12244:4:12", + "src": "12244:4:25", "type": "", "value": "0x20" } ], "functionName": { "name": "staticcall", - "nativeSrc": "12183:10:12", + "nativeSrc": "12183:10:25", "nodeType": "YulIdentifier", - "src": "12183:10:12" + "src": "12183:10:25" }, - "nativeSrc": "12183:66:12", + "nativeSrc": "12183:66:25", "nodeType": "YulFunctionCall", - "src": "12183:66:12" + "src": "12183:66:25" }, "variableNames": [ { "name": "isValid", - "nativeSrc": "12172:7:12", + "nativeSrc": "12172:7:25", "nodeType": "YulIdentifier", - "src": "12172:7:12" + "src": "12172:7:25" } ] }, { - "nativeSrc": "12262:40:12", + "nativeSrc": "12262:40:25", "nodeType": "YulAssignment", - "src": "12262:40:12", + "src": "12262:40:25", "value": { "arguments": [ { @@ -197776,61 +216751,61 @@ "arguments": [ { "name": "d", - "nativeSrc": "12286:1:12", + "nativeSrc": "12286:1:25", "nodeType": "YulIdentifier", - "src": "12286:1:12" + "src": "12286:1:25" } ], "functionName": { "name": "mload", - "nativeSrc": "12280:5:12", + "nativeSrc": "12280:5:25", "nodeType": "YulIdentifier", - "src": "12280:5:12" + "src": "12280:5:25" }, - "nativeSrc": "12280:8:12", + "nativeSrc": "12280:8:25", "nodeType": "YulFunctionCall", - "src": "12280:8:12" + "src": "12280:8:25" }, { "name": "f", - "nativeSrc": "12290:1:12", + "nativeSrc": "12290:1:25", "nodeType": "YulIdentifier", - "src": "12290:1:12" + "src": "12290:1:25" } ], "functionName": { "name": "eq", - "nativeSrc": "12277:2:12", + "nativeSrc": "12277:2:25", "nodeType": "YulIdentifier", - "src": "12277:2:12" + "src": "12277:2:25" }, - "nativeSrc": "12277:15:12", + "nativeSrc": "12277:15:25", "nodeType": "YulFunctionCall", - "src": "12277:15:12" + "src": "12277:15:25" }, { "name": "isValid", - "nativeSrc": "12294:7:12", + "nativeSrc": "12294:7:25", "nodeType": "YulIdentifier", - "src": "12294:7:12" + "src": "12294:7:25" } ], "functionName": { "name": "and", - "nativeSrc": "12273:3:12", + "nativeSrc": "12273:3:25", "nodeType": "YulIdentifier", - "src": "12273:3:12" + "src": "12273:3:25" }, - "nativeSrc": "12273:29:12", + "nativeSrc": "12273:29:25", "nodeType": "YulFunctionCall", - "src": "12273:29:12" + "src": "12273:29:25" }, "variableNames": [ { "name": "isValid", - "nativeSrc": "12262:7:12", + "nativeSrc": "12262:7:25", "nodeType": "YulIdentifier", - "src": "12262:7:12" + "src": "12262:7:25" } ] } @@ -197840,105 +216815,105 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 6254, + "declaration": 7860, "isOffset": false, "isSlot": false, - "src": "11874:4:12", + "src": "11874:4:25", "valueSize": 1 }, { - "declaration": 6259, + "declaration": 7865, "isOffset": false, "isSlot": false, - "src": "12172:7:12", + "src": "12172:7:25", "valueSize": 1 }, { - "declaration": 6259, + "declaration": 7865, "isOffset": false, "isSlot": false, - "src": "12262:7:12", + "src": "12262:7:25", "valueSize": 1 }, { - "declaration": 6259, + "declaration": 7865, "isOffset": false, "isSlot": false, - "src": "12294:7:12", + "src": "12294:7:25", "valueSize": 1 }, { - "declaration": 6256, + "declaration": 7862, "isOffset": false, "isSlot": false, - "src": "12025:16:12", + "src": "12025:16:25", "suffix": "length", "valueSize": 1 }, { - "declaration": 6256, + "declaration": 7862, "isOffset": false, "isSlot": false, - "src": "12142:16:12", + "src": "12142:16:25", "suffix": "length", "valueSize": 1 }, { - "declaration": 6256, + "declaration": 7862, "isOffset": false, "isSlot": false, - "src": "12216:16:12", + "src": "12216:16:25", "suffix": "length", "valueSize": 1 }, { - "declaration": 6256, + "declaration": 7862, "isOffset": true, "isSlot": false, - "src": "12124:16:12", + "src": "12124:16:25", "suffix": "offset", "valueSize": 1 }, { - "declaration": 6252, + "declaration": 7858, "isOffset": false, "isSlot": false, - "src": "12201:6:12", + "src": "12201:6:25", "valueSize": 1 } ], - "id": 6261, + "id": 7867, "nodeType": "InlineAssembly", - "src": "11671:641:12" + "src": "11671:641:25" } ] }, "documentation": { - "id": 6250, + "id": 7856, "nodeType": "StructuredDocumentation", - "src": "11356:90:12", + "src": "11356:90:25", "text": "@dev Returns whether `signature` is valid for `hash` for an ERC1271 `signer` contract." }, - "id": 6263, + "id": 7869, "implemented": true, "kind": "function", "modifiers": [], "name": "isValidERC1271SignatureNowCalldata", - "nameLocation": "11460:34:12", + "nameLocation": "11460:34:25", "nodeType": "FunctionDefinition", "parameters": { - "id": 6257, + "id": 7863, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6252, + "id": 7858, "mutability": "mutable", "name": "signer", - "nameLocation": "11512:6:12", + "nameLocation": "11512:6:25", "nodeType": "VariableDeclaration", - "scope": 6263, - "src": "11504:14:12", + "scope": 7869, + "src": "11504:14:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -197946,10 +216921,10 @@ "typeString": "address" }, "typeName": { - "id": 6251, + "id": 7857, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11504:7:12", + "src": "11504:7:25", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -197960,13 +216935,13 @@ }, { "constant": false, - "id": 6254, + "id": 7860, "mutability": "mutable", "name": "hash", - "nameLocation": "11536:4:12", + "nameLocation": "11536:4:25", "nodeType": "VariableDeclaration", - "scope": 6263, - "src": "11528:12:12", + "scope": 7869, + "src": "11528:12:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -197974,10 +216949,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6253, + "id": 7859, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "11528:7:12", + "src": "11528:7:25", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -197987,13 +216962,13 @@ }, { "constant": false, - "id": 6256, + "id": 7862, "mutability": "mutable", "name": "signature", - "nameLocation": "11565:9:12", + "nameLocation": "11565:9:25", "nodeType": "VariableDeclaration", - "scope": 6263, - "src": "11550:24:12", + "scope": 7869, + "src": "11550:24:25", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -198001,10 +216976,10 @@ "typeString": "bytes" }, "typeName": { - "id": 6255, + "id": 7861, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "11550:5:12", + "src": "11550:5:25", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -198013,21 +216988,21 @@ "visibility": "internal" } ], - "src": "11494:86:12" + "src": "11494:86:25" }, "returnParameters": { - "id": 6260, + "id": 7866, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6259, + "id": 7865, "mutability": "mutable", "name": "isValid", - "nameLocation": "11609:7:12", + "nameLocation": "11609:7:25", "nodeType": "VariableDeclaration", - "scope": 6263, - "src": "11604:12:12", + "scope": 7869, + "src": "11604:12:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -198035,10 +217010,10 @@ "typeString": "bool" }, "typeName": { - "id": 6258, + "id": 7864, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "11604:4:12", + "src": "11604:4:25", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -198047,100 +217022,100 @@ "visibility": "internal" } ], - "src": "11603:14:12" + "src": "11603:14:25" }, - "scope": 6354, - "src": "11451:867:12", + "scope": 7960, + "src": "11451:867:25", "stateMutability": "view", "virtual": false, "visibility": "internal" }, { "body": { - "id": 6278, + "id": 7884, "nodeType": "Block", - "src": "12595:744:12", + "src": "12595:744:25", "statements": [ { "AST": { - "nativeSrc": "12657:676:12", + "nativeSrc": "12657:676:25", "nodeType": "YulBlock", - "src": "12657:676:12", + "src": "12657:676:25", "statements": [ { - "nativeSrc": "12671:20:12", + "nativeSrc": "12671:20:25", "nodeType": "YulVariableDeclaration", - "src": "12671:20:12", + "src": "12671:20:25", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "12686:4:12", + "nativeSrc": "12686:4:25", "nodeType": "YulLiteral", - "src": "12686:4:12", + "src": "12686:4:25", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "12680:5:12", + "nativeSrc": "12680:5:25", "nodeType": "YulIdentifier", - "src": "12680:5:12" + "src": "12680:5:25" }, - "nativeSrc": "12680:11:12", + "nativeSrc": "12680:11:25", "nodeType": "YulFunctionCall", - "src": "12680:11:12" + "src": "12680:11:25" }, "variables": [ { "name": "m", - "nativeSrc": "12675:1:12", + "nativeSrc": "12675:1:25", "nodeType": "YulTypedName", - "src": "12675:1:12", + "src": "12675:1:25", "type": "" } ] }, { - "nativeSrc": "12704:29:12", + "nativeSrc": "12704:29:25", "nodeType": "YulVariableDeclaration", - "src": "12704:29:12", + "src": "12704:29:25", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "12717:3:12", + "nativeSrc": "12717:3:25", "nodeType": "YulLiteral", - "src": "12717:3:12", + "src": "12717:3:25", "type": "", "value": "224" }, { "kind": "number", - "nativeSrc": "12722:10:12", + "nativeSrc": "12722:10:25", "nodeType": "YulLiteral", - "src": "12722:10:12", + "src": "12722:10:25", "type": "", "value": "0x1626ba7e" } ], "functionName": { "name": "shl", - "nativeSrc": "12713:3:12", + "nativeSrc": "12713:3:25", "nodeType": "YulIdentifier", - "src": "12713:3:12" + "src": "12713:3:25" }, - "nativeSrc": "12713:20:12", + "nativeSrc": "12713:20:25", "nodeType": "YulFunctionCall", - "src": "12713:20:12" + "src": "12713:20:25" }, "variables": [ { "name": "f", - "nativeSrc": "12708:1:12", + "nativeSrc": "12708:1:25", "nodeType": "YulTypedName", - "src": "12708:1:12", + "src": "12708:1:25", "type": "" } ] @@ -198150,30 +217125,30 @@ "arguments": [ { "name": "m", - "nativeSrc": "12753:1:12", + "nativeSrc": "12753:1:25", "nodeType": "YulIdentifier", - "src": "12753:1:12" + "src": "12753:1:25" }, { "name": "f", - "nativeSrc": "12756:1:12", + "nativeSrc": "12756:1:25", "nodeType": "YulIdentifier", - "src": "12756:1:12" + "src": "12756:1:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "12746:6:12", + "nativeSrc": "12746:6:25", "nodeType": "YulIdentifier", - "src": "12746:6:12" + "src": "12746:6:25" }, - "nativeSrc": "12746:12:12", + "nativeSrc": "12746:12:25", "nodeType": "YulFunctionCall", - "src": "12746:12:12" + "src": "12746:12:25" }, - "nativeSrc": "12746:12:12", + "nativeSrc": "12746:12:25", "nodeType": "YulExpressionStatement", - "src": "12746:12:12" + "src": "12746:12:25" }, { "expression": { @@ -198182,87 +217157,87 @@ "arguments": [ { "name": "m", - "nativeSrc": "12841:1:12", + "nativeSrc": "12841:1:25", "nodeType": "YulIdentifier", - "src": "12841:1:12" + "src": "12841:1:25" }, { "kind": "number", - "nativeSrc": "12844:4:12", + "nativeSrc": "12844:4:25", "nodeType": "YulLiteral", - "src": "12844:4:12", + "src": "12844:4:25", "type": "", "value": "0x04" } ], "functionName": { "name": "add", - "nativeSrc": "12837:3:12", + "nativeSrc": "12837:3:25", "nodeType": "YulIdentifier", - "src": "12837:3:12" + "src": "12837:3:25" }, - "nativeSrc": "12837:12:12", + "nativeSrc": "12837:12:25", "nodeType": "YulFunctionCall", - "src": "12837:12:12" + "src": "12837:12:25" }, { "name": "hash", - "nativeSrc": "12851:4:12", + "nativeSrc": "12851:4:25", "nodeType": "YulIdentifier", - "src": "12851:4:12" + "src": "12851:4:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "12830:6:12", + "nativeSrc": "12830:6:25", "nodeType": "YulIdentifier", - "src": "12830:6:12" + "src": "12830:6:25" }, - "nativeSrc": "12830:26:12", + "nativeSrc": "12830:26:25", "nodeType": "YulFunctionCall", - "src": "12830:26:12" + "src": "12830:26:25" }, - "nativeSrc": "12830:26:12", + "nativeSrc": "12830:26:25", "nodeType": "YulExpressionStatement", - "src": "12830:26:12" + "src": "12830:26:25" }, { - "nativeSrc": "12869:21:12", + "nativeSrc": "12869:21:25", "nodeType": "YulVariableDeclaration", - "src": "12869:21:12", + "src": "12869:21:25", "value": { "arguments": [ { "name": "m", - "nativeSrc": "12882:1:12", + "nativeSrc": "12882:1:25", "nodeType": "YulIdentifier", - "src": "12882:1:12" + "src": "12882:1:25" }, { "kind": "number", - "nativeSrc": "12885:4:12", + "nativeSrc": "12885:4:25", "nodeType": "YulLiteral", - "src": "12885:4:12", + "src": "12885:4:25", "type": "", "value": "0x24" } ], "functionName": { "name": "add", - "nativeSrc": "12878:3:12", + "nativeSrc": "12878:3:25", "nodeType": "YulIdentifier", - "src": "12878:3:12" + "src": "12878:3:25" }, - "nativeSrc": "12878:12:12", + "nativeSrc": "12878:12:25", "nodeType": "YulFunctionCall", - "src": "12878:12:12" + "src": "12878:12:25" }, "variables": [ { "name": "d", - "nativeSrc": "12873:1:12", + "nativeSrc": "12873:1:25", "nodeType": "YulTypedName", - "src": "12873:1:12", + "src": "12873:1:25", "type": "" } ] @@ -198272,32 +217247,32 @@ "arguments": [ { "name": "d", - "nativeSrc": "12910:1:12", + "nativeSrc": "12910:1:25", "nodeType": "YulIdentifier", - "src": "12910:1:12" + "src": "12910:1:25" }, { "kind": "number", - "nativeSrc": "12913:4:12", + "nativeSrc": "12913:4:25", "nodeType": "YulLiteral", - "src": "12913:4:12", + "src": "12913:4:25", "type": "", "value": "0x40" } ], "functionName": { "name": "mstore", - "nativeSrc": "12903:6:12", + "nativeSrc": "12903:6:25", "nodeType": "YulIdentifier", - "src": "12903:6:12" + "src": "12903:6:25" }, - "nativeSrc": "12903:15:12", + "nativeSrc": "12903:15:25", "nodeType": "YulFunctionCall", - "src": "12903:15:12" + "src": "12903:15:25" }, - "nativeSrc": "12903:15:12", + "nativeSrc": "12903:15:25", "nodeType": "YulExpressionStatement", - "src": "12903:15:12" + "src": "12903:15:25" }, { "expression": { @@ -198306,51 +217281,51 @@ "arguments": [ { "name": "m", - "nativeSrc": "12992:1:12", + "nativeSrc": "12992:1:25", "nodeType": "YulIdentifier", - "src": "12992:1:12" + "src": "12992:1:25" }, { "kind": "number", - "nativeSrc": "12995:4:12", + "nativeSrc": "12995:4:25", "nodeType": "YulLiteral", - "src": "12995:4:12", + "src": "12995:4:25", "type": "", "value": "0x44" } ], "functionName": { "name": "add", - "nativeSrc": "12988:3:12", + "nativeSrc": "12988:3:25", "nodeType": "YulIdentifier", - "src": "12988:3:12" + "src": "12988:3:25" }, - "nativeSrc": "12988:12:12", + "nativeSrc": "12988:12:25", "nodeType": "YulFunctionCall", - "src": "12988:12:12" + "src": "12988:12:25" }, { "kind": "number", - "nativeSrc": "13002:2:12", + "nativeSrc": "13002:2:25", "nodeType": "YulLiteral", - "src": "13002:2:12", + "src": "13002:2:25", "type": "", "value": "65" } ], "functionName": { "name": "mstore", - "nativeSrc": "12981:6:12", + "nativeSrc": "12981:6:25", "nodeType": "YulIdentifier", - "src": "12981:6:12" + "src": "12981:6:25" }, - "nativeSrc": "12981:24:12", + "nativeSrc": "12981:24:25", "nodeType": "YulFunctionCall", - "src": "12981:24:12" + "src": "12981:24:25" }, - "nativeSrc": "12981:24:12", + "nativeSrc": "12981:24:25", "nodeType": "YulExpressionStatement", - "src": "12981:24:12" + "src": "12981:24:25" }, { "expression": { @@ -198359,49 +217334,49 @@ "arguments": [ { "name": "m", - "nativeSrc": "13057:1:12", + "nativeSrc": "13057:1:25", "nodeType": "YulIdentifier", - "src": "13057:1:12" + "src": "13057:1:25" }, { "kind": "number", - "nativeSrc": "13060:4:12", + "nativeSrc": "13060:4:25", "nodeType": "YulLiteral", - "src": "13060:4:12", + "src": "13060:4:25", "type": "", "value": "0x64" } ], "functionName": { "name": "add", - "nativeSrc": "13053:3:12", + "nativeSrc": "13053:3:25", "nodeType": "YulIdentifier", - "src": "13053:3:12" + "src": "13053:3:25" }, - "nativeSrc": "13053:12:12", + "nativeSrc": "13053:12:25", "nodeType": "YulFunctionCall", - "src": "13053:12:12" + "src": "13053:12:25" }, { "name": "r", - "nativeSrc": "13067:1:12", + "nativeSrc": "13067:1:25", "nodeType": "YulIdentifier", - "src": "13067:1:12" + "src": "13067:1:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "13046:6:12", + "nativeSrc": "13046:6:25", "nodeType": "YulIdentifier", - "src": "13046:6:12" + "src": "13046:6:25" }, - "nativeSrc": "13046:23:12", + "nativeSrc": "13046:23:25", "nodeType": "YulFunctionCall", - "src": "13046:23:12" + "src": "13046:23:25" }, - "nativeSrc": "13046:23:12", + "nativeSrc": "13046:23:25", "nodeType": "YulExpressionStatement", - "src": "13046:23:12" + "src": "13046:23:25" }, { "expression": { @@ -198410,36 +217385,36 @@ "arguments": [ { "name": "m", - "nativeSrc": "13101:1:12", + "nativeSrc": "13101:1:25", "nodeType": "YulIdentifier", - "src": "13101:1:12" + "src": "13101:1:25" }, { "kind": "number", - "nativeSrc": "13104:4:12", + "nativeSrc": "13104:4:25", "nodeType": "YulLiteral", - "src": "13104:4:12", + "src": "13104:4:25", "type": "", "value": "0x84" } ], "functionName": { "name": "add", - "nativeSrc": "13097:3:12", + "nativeSrc": "13097:3:25", "nodeType": "YulIdentifier", - "src": "13097:3:12" + "src": "13097:3:25" }, - "nativeSrc": "13097:12:12", + "nativeSrc": "13097:12:25", "nodeType": "YulFunctionCall", - "src": "13097:12:12" + "src": "13097:12:25" }, { "arguments": [ { "kind": "number", - "nativeSrc": "13115:1:12", + "nativeSrc": "13115:1:25", "nodeType": "YulLiteral", - "src": "13115:1:12", + "src": "13115:1:25", "type": "", "value": "1" }, @@ -198447,54 +217422,54 @@ "arguments": [ { "kind": "number", - "nativeSrc": "13122:1:12", + "nativeSrc": "13122:1:25", "nodeType": "YulLiteral", - "src": "13122:1:12", + "src": "13122:1:25", "type": "", "value": "1" }, { "name": "vs", - "nativeSrc": "13125:2:12", + "nativeSrc": "13125:2:25", "nodeType": "YulIdentifier", - "src": "13125:2:12" + "src": "13125:2:25" } ], "functionName": { "name": "shl", - "nativeSrc": "13118:3:12", + "nativeSrc": "13118:3:25", "nodeType": "YulIdentifier", - "src": "13118:3:12" + "src": "13118:3:25" }, - "nativeSrc": "13118:10:12", + "nativeSrc": "13118:10:25", "nodeType": "YulFunctionCall", - "src": "13118:10:12" + "src": "13118:10:25" } ], "functionName": { "name": "shr", - "nativeSrc": "13111:3:12", + "nativeSrc": "13111:3:25", "nodeType": "YulIdentifier", - "src": "13111:3:12" + "src": "13111:3:25" }, - "nativeSrc": "13111:18:12", + "nativeSrc": "13111:18:25", "nodeType": "YulFunctionCall", - "src": "13111:18:12" + "src": "13111:18:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "13090:6:12", + "nativeSrc": "13090:6:25", "nodeType": "YulIdentifier", - "src": "13090:6:12" + "src": "13090:6:25" }, - "nativeSrc": "13090:40:12", + "nativeSrc": "13090:40:25", "nodeType": "YulFunctionCall", - "src": "13090:40:12" + "src": "13090:40:25" }, - "nativeSrc": "13090:40:12", + "nativeSrc": "13090:40:25", "nodeType": "YulExpressionStatement", - "src": "13090:40:12" + "src": "13090:40:25" }, { "expression": { @@ -198503,28 +217478,28 @@ "arguments": [ { "name": "m", - "nativeSrc": "13163:1:12", + "nativeSrc": "13163:1:25", "nodeType": "YulIdentifier", - "src": "13163:1:12" + "src": "13163:1:25" }, { "kind": "number", - "nativeSrc": "13166:4:12", + "nativeSrc": "13166:4:25", "nodeType": "YulLiteral", - "src": "13166:4:12", + "src": "13166:4:25", "type": "", "value": "0xa4" } ], "functionName": { "name": "add", - "nativeSrc": "13159:3:12", + "nativeSrc": "13159:3:25", "nodeType": "YulIdentifier", - "src": "13159:3:12" + "src": "13159:3:25" }, - "nativeSrc": "13159:12:12", + "nativeSrc": "13159:12:25", "nodeType": "YulFunctionCall", - "src": "13159:12:12" + "src": "13159:12:25" }, { "arguments": [ @@ -198532,139 +217507,139 @@ "arguments": [ { "kind": "number", - "nativeSrc": "13181:3:12", + "nativeSrc": "13181:3:25", "nodeType": "YulLiteral", - "src": "13181:3:12", + "src": "13181:3:25", "type": "", "value": "255" }, { "name": "vs", - "nativeSrc": "13186:2:12", + "nativeSrc": "13186:2:25", "nodeType": "YulIdentifier", - "src": "13186:2:12" + "src": "13186:2:25" } ], "functionName": { "name": "shr", - "nativeSrc": "13177:3:12", + "nativeSrc": "13177:3:25", "nodeType": "YulIdentifier", - "src": "13177:3:12" + "src": "13177:3:25" }, - "nativeSrc": "13177:12:12", + "nativeSrc": "13177:12:25", "nodeType": "YulFunctionCall", - "src": "13177:12:12" + "src": "13177:12:25" }, { "kind": "number", - "nativeSrc": "13191:2:12", + "nativeSrc": "13191:2:25", "nodeType": "YulLiteral", - "src": "13191:2:12", + "src": "13191:2:25", "type": "", "value": "27" } ], "functionName": { "name": "add", - "nativeSrc": "13173:3:12", + "nativeSrc": "13173:3:25", "nodeType": "YulIdentifier", - "src": "13173:3:12" + "src": "13173:3:25" }, - "nativeSrc": "13173:21:12", + "nativeSrc": "13173:21:25", "nodeType": "YulFunctionCall", - "src": "13173:21:12" + "src": "13173:21:25" } ], "functionName": { "name": "mstore8", - "nativeSrc": "13151:7:12", + "nativeSrc": "13151:7:25", "nodeType": "YulIdentifier", - "src": "13151:7:12" + "src": "13151:7:25" }, - "nativeSrc": "13151:44:12", + "nativeSrc": "13151:44:25", "nodeType": "YulFunctionCall", - "src": "13151:44:12" + "src": "13151:44:25" }, - "nativeSrc": "13151:44:12", + "nativeSrc": "13151:44:25", "nodeType": "YulExpressionStatement", - "src": "13151:44:12" + "src": "13151:44:25" }, { - "nativeSrc": "13216:54:12", + "nativeSrc": "13216:54:25", "nodeType": "YulAssignment", - "src": "13216:54:12", + "src": "13216:54:25", "value": { "arguments": [ { "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "13238:3:12", + "nativeSrc": "13238:3:25", "nodeType": "YulIdentifier", - "src": "13238:3:12" + "src": "13238:3:25" }, - "nativeSrc": "13238:5:12", + "nativeSrc": "13238:5:25", "nodeType": "YulFunctionCall", - "src": "13238:5:12" + "src": "13238:5:25" }, { "name": "signer", - "nativeSrc": "13245:6:12", + "nativeSrc": "13245:6:25", "nodeType": "YulIdentifier", - "src": "13245:6:12" + "src": "13245:6:25" }, { "name": "m", - "nativeSrc": "13253:1:12", + "nativeSrc": "13253:1:25", "nodeType": "YulIdentifier", - "src": "13253:1:12" + "src": "13253:1:25" }, { "kind": "number", - "nativeSrc": "13256:4:12", + "nativeSrc": "13256:4:25", "nodeType": "YulLiteral", - "src": "13256:4:12", + "src": "13256:4:25", "type": "", "value": "0xa5" }, { "name": "d", - "nativeSrc": "13262:1:12", + "nativeSrc": "13262:1:25", "nodeType": "YulIdentifier", - "src": "13262:1:12" + "src": "13262:1:25" }, { "kind": "number", - "nativeSrc": "13265:4:12", + "nativeSrc": "13265:4:25", "nodeType": "YulLiteral", - "src": "13265:4:12", + "src": "13265:4:25", "type": "", "value": "0x20" } ], "functionName": { "name": "staticcall", - "nativeSrc": "13227:10:12", + "nativeSrc": "13227:10:25", "nodeType": "YulIdentifier", - "src": "13227:10:12" + "src": "13227:10:25" }, - "nativeSrc": "13227:43:12", + "nativeSrc": "13227:43:25", "nodeType": "YulFunctionCall", - "src": "13227:43:12" + "src": "13227:43:25" }, "variableNames": [ { "name": "isValid", - "nativeSrc": "13216:7:12", + "nativeSrc": "13216:7:25", "nodeType": "YulIdentifier", - "src": "13216:7:12" + "src": "13216:7:25" } ] }, { - "nativeSrc": "13283:40:12", + "nativeSrc": "13283:40:25", "nodeType": "YulAssignment", - "src": "13283:40:12", + "src": "13283:40:25", "value": { "arguments": [ { @@ -198673,61 +217648,61 @@ "arguments": [ { "name": "d", - "nativeSrc": "13307:1:12", + "nativeSrc": "13307:1:25", "nodeType": "YulIdentifier", - "src": "13307:1:12" + "src": "13307:1:25" } ], "functionName": { "name": "mload", - "nativeSrc": "13301:5:12", + "nativeSrc": "13301:5:25", "nodeType": "YulIdentifier", - "src": "13301:5:12" + "src": "13301:5:25" }, - "nativeSrc": "13301:8:12", + "nativeSrc": "13301:8:25", "nodeType": "YulFunctionCall", - "src": "13301:8:12" + "src": "13301:8:25" }, { "name": "f", - "nativeSrc": "13311:1:12", + "nativeSrc": "13311:1:25", "nodeType": "YulIdentifier", - "src": "13311:1:12" + "src": "13311:1:25" } ], "functionName": { "name": "eq", - "nativeSrc": "13298:2:12", + "nativeSrc": "13298:2:25", "nodeType": "YulIdentifier", - "src": "13298:2:12" + "src": "13298:2:25" }, - "nativeSrc": "13298:15:12", + "nativeSrc": "13298:15:25", "nodeType": "YulFunctionCall", - "src": "13298:15:12" + "src": "13298:15:25" }, { "name": "isValid", - "nativeSrc": "13315:7:12", + "nativeSrc": "13315:7:25", "nodeType": "YulIdentifier", - "src": "13315:7:12" + "src": "13315:7:25" } ], "functionName": { "name": "and", - "nativeSrc": "13294:3:12", + "nativeSrc": "13294:3:25", "nodeType": "YulIdentifier", - "src": "13294:3:12" + "src": "13294:3:25" }, - "nativeSrc": "13294:29:12", + "nativeSrc": "13294:29:25", "nodeType": "YulFunctionCall", - "src": "13294:29:12" + "src": "13294:29:25" }, "variableNames": [ { "name": "isValid", - "nativeSrc": "13283:7:12", + "nativeSrc": "13283:7:25", "nodeType": "YulIdentifier", - "src": "13283:7:12" + "src": "13283:7:25" } ] } @@ -198737,94 +217712,94 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 6268, + "declaration": 7874, "isOffset": false, "isSlot": false, - "src": "12851:4:12", + "src": "12851:4:25", "valueSize": 1 }, { - "declaration": 6275, + "declaration": 7881, "isOffset": false, "isSlot": false, - "src": "13216:7:12", + "src": "13216:7:25", "valueSize": 1 }, { - "declaration": 6275, + "declaration": 7881, "isOffset": false, "isSlot": false, - "src": "13283:7:12", + "src": "13283:7:25", "valueSize": 1 }, { - "declaration": 6275, + "declaration": 7881, "isOffset": false, "isSlot": false, - "src": "13315:7:12", + "src": "13315:7:25", "valueSize": 1 }, { - "declaration": 6270, + "declaration": 7876, "isOffset": false, "isSlot": false, - "src": "13067:1:12", + "src": "13067:1:25", "valueSize": 1 }, { - "declaration": 6266, + "declaration": 7872, "isOffset": false, "isSlot": false, - "src": "13245:6:12", + "src": "13245:6:25", "valueSize": 1 }, { - "declaration": 6272, + "declaration": 7878, "isOffset": false, "isSlot": false, - "src": "13125:2:12", + "src": "13125:2:25", "valueSize": 1 }, { - "declaration": 6272, + "declaration": 7878, "isOffset": false, "isSlot": false, - "src": "13186:2:12", + "src": "13186:2:25", "valueSize": 1 } ], - "id": 6277, + "id": 7883, "nodeType": "InlineAssembly", - "src": "12648:685:12" + "src": "12648:685:25" } ] }, "documentation": { - "id": 6264, + "id": 7870, "nodeType": "StructuredDocumentation", - "src": "12324:112:12", + "src": "12324:112:25", "text": "@dev Returns whether the signature (`r`, `vs`) is valid for `hash`\n for an ERC1271 `signer` contract." }, - "id": 6279, + "id": 7885, "implemented": true, "kind": "function", "modifiers": [], "name": "isValidERC1271SignatureNow", - "nameLocation": "12450:26:12", + "nameLocation": "12450:26:25", "nodeType": "FunctionDefinition", "parameters": { - "id": 6273, + "id": 7879, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6266, + "id": 7872, "mutability": "mutable", "name": "signer", - "nameLocation": "12485:6:12", + "nameLocation": "12485:6:25", "nodeType": "VariableDeclaration", - "scope": 6279, - "src": "12477:14:12", + "scope": 7885, + "src": "12477:14:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -198832,10 +217807,10 @@ "typeString": "address" }, "typeName": { - "id": 6265, + "id": 7871, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12477:7:12", + "src": "12477:7:25", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -198846,13 +217821,13 @@ }, { "constant": false, - "id": 6268, + "id": 7874, "mutability": "mutable", "name": "hash", - "nameLocation": "12501:4:12", + "nameLocation": "12501:4:25", "nodeType": "VariableDeclaration", - "scope": 6279, - "src": "12493:12:12", + "scope": 7885, + "src": "12493:12:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -198860,10 +217835,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6267, + "id": 7873, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12493:7:12", + "src": "12493:7:25", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -198873,13 +217848,13 @@ }, { "constant": false, - "id": 6270, + "id": 7876, "mutability": "mutable", "name": "r", - "nameLocation": "12515:1:12", + "nameLocation": "12515:1:25", "nodeType": "VariableDeclaration", - "scope": 6279, - "src": "12507:9:12", + "scope": 7885, + "src": "12507:9:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -198887,10 +217862,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6269, + "id": 7875, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12507:7:12", + "src": "12507:7:25", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -198900,13 +217875,13 @@ }, { "constant": false, - "id": 6272, + "id": 7878, "mutability": "mutable", "name": "vs", - "nameLocation": "12526:2:12", + "nameLocation": "12526:2:25", "nodeType": "VariableDeclaration", - "scope": 6279, - "src": "12518:10:12", + "scope": 7885, + "src": "12518:10:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -198914,10 +217889,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6271, + "id": 7877, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12518:7:12", + "src": "12518:7:25", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -198926,21 +217901,21 @@ "visibility": "internal" } ], - "src": "12476:53:12" + "src": "12476:53:25" }, "returnParameters": { - "id": 6276, + "id": 7882, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6275, + "id": 7881, "mutability": "mutable", "name": "isValid", - "nameLocation": "12582:7:12", + "nameLocation": "12582:7:25", "nodeType": "VariableDeclaration", - "scope": 6279, - "src": "12577:12:12", + "scope": 7885, + "src": "12577:12:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -198948,10 +217923,10 @@ "typeString": "bool" }, "typeName": { - "id": 6274, + "id": 7880, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "12577:4:12", + "src": "12577:4:25", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -198960,100 +217935,100 @@ "visibility": "internal" } ], - "src": "12576:14:12" + "src": "12576:14:25" }, - "scope": 6354, - "src": "12441:898:12", + "scope": 7960, + "src": "12441:898:25", "stateMutability": "view", "virtual": false, "visibility": "internal" }, { "body": { - "id": 6296, + "id": 7902, "nodeType": "Block", - "src": "13628:707:12", + "src": "13628:707:25", "statements": [ { "AST": { - "nativeSrc": "13690:639:12", + "nativeSrc": "13690:639:25", "nodeType": "YulBlock", - "src": "13690:639:12", + "src": "13690:639:25", "statements": [ { - "nativeSrc": "13704:20:12", + "nativeSrc": "13704:20:25", "nodeType": "YulVariableDeclaration", - "src": "13704:20:12", + "src": "13704:20:25", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "13719:4:12", + "nativeSrc": "13719:4:25", "nodeType": "YulLiteral", - "src": "13719:4:12", + "src": "13719:4:25", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "13713:5:12", + "nativeSrc": "13713:5:25", "nodeType": "YulIdentifier", - "src": "13713:5:12" + "src": "13713:5:25" }, - "nativeSrc": "13713:11:12", + "nativeSrc": "13713:11:25", "nodeType": "YulFunctionCall", - "src": "13713:11:12" + "src": "13713:11:25" }, "variables": [ { "name": "m", - "nativeSrc": "13708:1:12", + "nativeSrc": "13708:1:25", "nodeType": "YulTypedName", - "src": "13708:1:12", + "src": "13708:1:25", "type": "" } ] }, { - "nativeSrc": "13737:29:12", + "nativeSrc": "13737:29:25", "nodeType": "YulVariableDeclaration", - "src": "13737:29:12", + "src": "13737:29:25", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "13750:3:12", + "nativeSrc": "13750:3:25", "nodeType": "YulLiteral", - "src": "13750:3:12", + "src": "13750:3:25", "type": "", "value": "224" }, { "kind": "number", - "nativeSrc": "13755:10:12", + "nativeSrc": "13755:10:25", "nodeType": "YulLiteral", - "src": "13755:10:12", + "src": "13755:10:25", "type": "", "value": "0x1626ba7e" } ], "functionName": { "name": "shl", - "nativeSrc": "13746:3:12", + "nativeSrc": "13746:3:25", "nodeType": "YulIdentifier", - "src": "13746:3:12" + "src": "13746:3:25" }, - "nativeSrc": "13746:20:12", + "nativeSrc": "13746:20:25", "nodeType": "YulFunctionCall", - "src": "13746:20:12" + "src": "13746:20:25" }, "variables": [ { "name": "f", - "nativeSrc": "13741:1:12", + "nativeSrc": "13741:1:25", "nodeType": "YulTypedName", - "src": "13741:1:12", + "src": "13741:1:25", "type": "" } ] @@ -199063,30 +218038,30 @@ "arguments": [ { "name": "m", - "nativeSrc": "13786:1:12", + "nativeSrc": "13786:1:25", "nodeType": "YulIdentifier", - "src": "13786:1:12" + "src": "13786:1:25" }, { "name": "f", - "nativeSrc": "13789:1:12", + "nativeSrc": "13789:1:25", "nodeType": "YulIdentifier", - "src": "13789:1:12" + "src": "13789:1:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "13779:6:12", + "nativeSrc": "13779:6:25", "nodeType": "YulIdentifier", - "src": "13779:6:12" + "src": "13779:6:25" }, - "nativeSrc": "13779:12:12", + "nativeSrc": "13779:12:25", "nodeType": "YulFunctionCall", - "src": "13779:12:12" + "src": "13779:12:25" }, - "nativeSrc": "13779:12:12", + "nativeSrc": "13779:12:25", "nodeType": "YulExpressionStatement", - "src": "13779:12:12" + "src": "13779:12:25" }, { "expression": { @@ -199095,87 +218070,87 @@ "arguments": [ { "name": "m", - "nativeSrc": "13874:1:12", + "nativeSrc": "13874:1:25", "nodeType": "YulIdentifier", - "src": "13874:1:12" + "src": "13874:1:25" }, { "kind": "number", - "nativeSrc": "13877:4:12", + "nativeSrc": "13877:4:25", "nodeType": "YulLiteral", - "src": "13877:4:12", + "src": "13877:4:25", "type": "", "value": "0x04" } ], "functionName": { "name": "add", - "nativeSrc": "13870:3:12", + "nativeSrc": "13870:3:25", "nodeType": "YulIdentifier", - "src": "13870:3:12" + "src": "13870:3:25" }, - "nativeSrc": "13870:12:12", + "nativeSrc": "13870:12:25", "nodeType": "YulFunctionCall", - "src": "13870:12:12" + "src": "13870:12:25" }, { "name": "hash", - "nativeSrc": "13884:4:12", + "nativeSrc": "13884:4:25", "nodeType": "YulIdentifier", - "src": "13884:4:12" + "src": "13884:4:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "13863:6:12", + "nativeSrc": "13863:6:25", "nodeType": "YulIdentifier", - "src": "13863:6:12" + "src": "13863:6:25" }, - "nativeSrc": "13863:26:12", + "nativeSrc": "13863:26:25", "nodeType": "YulFunctionCall", - "src": "13863:26:12" + "src": "13863:26:25" }, - "nativeSrc": "13863:26:12", + "nativeSrc": "13863:26:25", "nodeType": "YulExpressionStatement", - "src": "13863:26:12" + "src": "13863:26:25" }, { - "nativeSrc": "13902:21:12", + "nativeSrc": "13902:21:25", "nodeType": "YulVariableDeclaration", - "src": "13902:21:12", + "src": "13902:21:25", "value": { "arguments": [ { "name": "m", - "nativeSrc": "13915:1:12", + "nativeSrc": "13915:1:25", "nodeType": "YulIdentifier", - "src": "13915:1:12" + "src": "13915:1:25" }, { "kind": "number", - "nativeSrc": "13918:4:12", + "nativeSrc": "13918:4:25", "nodeType": "YulLiteral", - "src": "13918:4:12", + "src": "13918:4:25", "type": "", "value": "0x24" } ], "functionName": { "name": "add", - "nativeSrc": "13911:3:12", + "nativeSrc": "13911:3:25", "nodeType": "YulIdentifier", - "src": "13911:3:12" + "src": "13911:3:25" }, - "nativeSrc": "13911:12:12", + "nativeSrc": "13911:12:25", "nodeType": "YulFunctionCall", - "src": "13911:12:12" + "src": "13911:12:25" }, "variables": [ { "name": "d", - "nativeSrc": "13906:1:12", + "nativeSrc": "13906:1:25", "nodeType": "YulTypedName", - "src": "13906:1:12", + "src": "13906:1:25", "type": "" } ] @@ -199185,32 +218160,32 @@ "arguments": [ { "name": "d", - "nativeSrc": "13943:1:12", + "nativeSrc": "13943:1:25", "nodeType": "YulIdentifier", - "src": "13943:1:12" + "src": "13943:1:25" }, { "kind": "number", - "nativeSrc": "13946:4:12", + "nativeSrc": "13946:4:25", "nodeType": "YulLiteral", - "src": "13946:4:12", + "src": "13946:4:25", "type": "", "value": "0x40" } ], "functionName": { "name": "mstore", - "nativeSrc": "13936:6:12", + "nativeSrc": "13936:6:25", "nodeType": "YulIdentifier", - "src": "13936:6:12" + "src": "13936:6:25" }, - "nativeSrc": "13936:15:12", + "nativeSrc": "13936:15:25", "nodeType": "YulFunctionCall", - "src": "13936:15:12" + "src": "13936:15:25" }, - "nativeSrc": "13936:15:12", + "nativeSrc": "13936:15:25", "nodeType": "YulExpressionStatement", - "src": "13936:15:12" + "src": "13936:15:25" }, { "expression": { @@ -199219,51 +218194,51 @@ "arguments": [ { "name": "m", - "nativeSrc": "14025:1:12", + "nativeSrc": "14025:1:25", "nodeType": "YulIdentifier", - "src": "14025:1:12" + "src": "14025:1:25" }, { "kind": "number", - "nativeSrc": "14028:4:12", + "nativeSrc": "14028:4:25", "nodeType": "YulLiteral", - "src": "14028:4:12", + "src": "14028:4:25", "type": "", "value": "0x44" } ], "functionName": { "name": "add", - "nativeSrc": "14021:3:12", + "nativeSrc": "14021:3:25", "nodeType": "YulIdentifier", - "src": "14021:3:12" + "src": "14021:3:25" }, - "nativeSrc": "14021:12:12", + "nativeSrc": "14021:12:25", "nodeType": "YulFunctionCall", - "src": "14021:12:12" + "src": "14021:12:25" }, { "kind": "number", - "nativeSrc": "14035:2:12", + "nativeSrc": "14035:2:25", "nodeType": "YulLiteral", - "src": "14035:2:12", + "src": "14035:2:25", "type": "", "value": "65" } ], "functionName": { "name": "mstore", - "nativeSrc": "14014:6:12", + "nativeSrc": "14014:6:25", "nodeType": "YulIdentifier", - "src": "14014:6:12" + "src": "14014:6:25" }, - "nativeSrc": "14014:24:12", + "nativeSrc": "14014:24:25", "nodeType": "YulFunctionCall", - "src": "14014:24:12" + "src": "14014:24:25" }, - "nativeSrc": "14014:24:12", + "nativeSrc": "14014:24:25", "nodeType": "YulExpressionStatement", - "src": "14014:24:12" + "src": "14014:24:25" }, { "expression": { @@ -199272,49 +218247,49 @@ "arguments": [ { "name": "m", - "nativeSrc": "14090:1:12", + "nativeSrc": "14090:1:25", "nodeType": "YulIdentifier", - "src": "14090:1:12" + "src": "14090:1:25" }, { "kind": "number", - "nativeSrc": "14093:4:12", + "nativeSrc": "14093:4:25", "nodeType": "YulLiteral", - "src": "14093:4:12", + "src": "14093:4:25", "type": "", "value": "0x64" } ], "functionName": { "name": "add", - "nativeSrc": "14086:3:12", + "nativeSrc": "14086:3:25", "nodeType": "YulIdentifier", - "src": "14086:3:12" + "src": "14086:3:25" }, - "nativeSrc": "14086:12:12", + "nativeSrc": "14086:12:25", "nodeType": "YulFunctionCall", - "src": "14086:12:12" + "src": "14086:12:25" }, { "name": "r", - "nativeSrc": "14100:1:12", + "nativeSrc": "14100:1:25", "nodeType": "YulIdentifier", - "src": "14100:1:12" + "src": "14100:1:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "14079:6:12", + "nativeSrc": "14079:6:25", "nodeType": "YulIdentifier", - "src": "14079:6:12" + "src": "14079:6:25" }, - "nativeSrc": "14079:23:12", + "nativeSrc": "14079:23:25", "nodeType": "YulFunctionCall", - "src": "14079:23:12" + "src": "14079:23:25" }, - "nativeSrc": "14079:23:12", + "nativeSrc": "14079:23:25", "nodeType": "YulExpressionStatement", - "src": "14079:23:12" + "src": "14079:23:25" }, { "expression": { @@ -199323,49 +218298,49 @@ "arguments": [ { "name": "m", - "nativeSrc": "14134:1:12", + "nativeSrc": "14134:1:25", "nodeType": "YulIdentifier", - "src": "14134:1:12" + "src": "14134:1:25" }, { "kind": "number", - "nativeSrc": "14137:4:12", + "nativeSrc": "14137:4:25", "nodeType": "YulLiteral", - "src": "14137:4:12", + "src": "14137:4:25", "type": "", "value": "0x84" } ], "functionName": { "name": "add", - "nativeSrc": "14130:3:12", + "nativeSrc": "14130:3:25", "nodeType": "YulIdentifier", - "src": "14130:3:12" + "src": "14130:3:25" }, - "nativeSrc": "14130:12:12", + "nativeSrc": "14130:12:25", "nodeType": "YulFunctionCall", - "src": "14130:12:12" + "src": "14130:12:25" }, { "name": "s", - "nativeSrc": "14144:1:12", + "nativeSrc": "14144:1:25", "nodeType": "YulIdentifier", - "src": "14144:1:12" + "src": "14144:1:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "14123:6:12", + "nativeSrc": "14123:6:25", "nodeType": "YulIdentifier", - "src": "14123:6:12" + "src": "14123:6:25" }, - "nativeSrc": "14123:23:12", + "nativeSrc": "14123:23:25", "nodeType": "YulFunctionCall", - "src": "14123:23:12" + "src": "14123:23:25" }, - "nativeSrc": "14123:23:12", + "nativeSrc": "14123:23:25", "nodeType": "YulExpressionStatement", - "src": "14123:23:12" + "src": "14123:23:25" }, { "expression": { @@ -199374,126 +218349,126 @@ "arguments": [ { "name": "m", - "nativeSrc": "14179:1:12", + "nativeSrc": "14179:1:25", "nodeType": "YulIdentifier", - "src": "14179:1:12" + "src": "14179:1:25" }, { "kind": "number", - "nativeSrc": "14182:4:12", + "nativeSrc": "14182:4:25", "nodeType": "YulLiteral", - "src": "14182:4:12", + "src": "14182:4:25", "type": "", "value": "0xa4" } ], "functionName": { "name": "add", - "nativeSrc": "14175:3:12", + "nativeSrc": "14175:3:25", "nodeType": "YulIdentifier", - "src": "14175:3:12" + "src": "14175:3:25" }, - "nativeSrc": "14175:12:12", + "nativeSrc": "14175:12:25", "nodeType": "YulFunctionCall", - "src": "14175:12:12" + "src": "14175:12:25" }, { "name": "v", - "nativeSrc": "14189:1:12", + "nativeSrc": "14189:1:25", "nodeType": "YulIdentifier", - "src": "14189:1:12" + "src": "14189:1:25" } ], "functionName": { "name": "mstore8", - "nativeSrc": "14167:7:12", + "nativeSrc": "14167:7:25", "nodeType": "YulIdentifier", - "src": "14167:7:12" + "src": "14167:7:25" }, - "nativeSrc": "14167:24:12", + "nativeSrc": "14167:24:25", "nodeType": "YulFunctionCall", - "src": "14167:24:12" + "src": "14167:24:25" }, - "nativeSrc": "14167:24:12", + "nativeSrc": "14167:24:25", "nodeType": "YulExpressionStatement", - "src": "14167:24:12" + "src": "14167:24:25" }, { - "nativeSrc": "14212:54:12", + "nativeSrc": "14212:54:25", "nodeType": "YulAssignment", - "src": "14212:54:12", + "src": "14212:54:25", "value": { "arguments": [ { "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "14234:3:12", + "nativeSrc": "14234:3:25", "nodeType": "YulIdentifier", - "src": "14234:3:12" + "src": "14234:3:25" }, - "nativeSrc": "14234:5:12", + "nativeSrc": "14234:5:25", "nodeType": "YulFunctionCall", - "src": "14234:5:12" + "src": "14234:5:25" }, { "name": "signer", - "nativeSrc": "14241:6:12", + "nativeSrc": "14241:6:25", "nodeType": "YulIdentifier", - "src": "14241:6:12" + "src": "14241:6:25" }, { "name": "m", - "nativeSrc": "14249:1:12", + "nativeSrc": "14249:1:25", "nodeType": "YulIdentifier", - "src": "14249:1:12" + "src": "14249:1:25" }, { "kind": "number", - "nativeSrc": "14252:4:12", + "nativeSrc": "14252:4:25", "nodeType": "YulLiteral", - "src": "14252:4:12", + "src": "14252:4:25", "type": "", "value": "0xa5" }, { "name": "d", - "nativeSrc": "14258:1:12", + "nativeSrc": "14258:1:25", "nodeType": "YulIdentifier", - "src": "14258:1:12" + "src": "14258:1:25" }, { "kind": "number", - "nativeSrc": "14261:4:12", + "nativeSrc": "14261:4:25", "nodeType": "YulLiteral", - "src": "14261:4:12", + "src": "14261:4:25", "type": "", "value": "0x20" } ], "functionName": { "name": "staticcall", - "nativeSrc": "14223:10:12", + "nativeSrc": "14223:10:25", "nodeType": "YulIdentifier", - "src": "14223:10:12" + "src": "14223:10:25" }, - "nativeSrc": "14223:43:12", + "nativeSrc": "14223:43:25", "nodeType": "YulFunctionCall", - "src": "14223:43:12" + "src": "14223:43:25" }, "variableNames": [ { "name": "isValid", - "nativeSrc": "14212:7:12", + "nativeSrc": "14212:7:25", "nodeType": "YulIdentifier", - "src": "14212:7:12" + "src": "14212:7:25" } ] }, { - "nativeSrc": "14279:40:12", + "nativeSrc": "14279:40:25", "nodeType": "YulAssignment", - "src": "14279:40:12", + "src": "14279:40:25", "value": { "arguments": [ { @@ -199502,61 +218477,61 @@ "arguments": [ { "name": "d", - "nativeSrc": "14303:1:12", + "nativeSrc": "14303:1:25", "nodeType": "YulIdentifier", - "src": "14303:1:12" + "src": "14303:1:25" } ], "functionName": { "name": "mload", - "nativeSrc": "14297:5:12", + "nativeSrc": "14297:5:25", "nodeType": "YulIdentifier", - "src": "14297:5:12" + "src": "14297:5:25" }, - "nativeSrc": "14297:8:12", + "nativeSrc": "14297:8:25", "nodeType": "YulFunctionCall", - "src": "14297:8:12" + "src": "14297:8:25" }, { "name": "f", - "nativeSrc": "14307:1:12", + "nativeSrc": "14307:1:25", "nodeType": "YulIdentifier", - "src": "14307:1:12" + "src": "14307:1:25" } ], "functionName": { "name": "eq", - "nativeSrc": "14294:2:12", + "nativeSrc": "14294:2:25", "nodeType": "YulIdentifier", - "src": "14294:2:12" + "src": "14294:2:25" }, - "nativeSrc": "14294:15:12", + "nativeSrc": "14294:15:25", "nodeType": "YulFunctionCall", - "src": "14294:15:12" + "src": "14294:15:25" }, { "name": "isValid", - "nativeSrc": "14311:7:12", + "nativeSrc": "14311:7:25", "nodeType": "YulIdentifier", - "src": "14311:7:12" + "src": "14311:7:25" } ], "functionName": { "name": "and", - "nativeSrc": "14290:3:12", + "nativeSrc": "14290:3:25", "nodeType": "YulIdentifier", - "src": "14290:3:12" + "src": "14290:3:25" }, - "nativeSrc": "14290:29:12", + "nativeSrc": "14290:29:25", "nodeType": "YulFunctionCall", - "src": "14290:29:12" + "src": "14290:29:25" }, "variableNames": [ { "name": "isValid", - "nativeSrc": "14279:7:12", + "nativeSrc": "14279:7:25", "nodeType": "YulIdentifier", - "src": "14279:7:12" + "src": "14279:7:25" } ] } @@ -199566,94 +218541,94 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 6284, + "declaration": 7890, "isOffset": false, "isSlot": false, - "src": "13884:4:12", + "src": "13884:4:25", "valueSize": 1 }, { - "declaration": 6293, + "declaration": 7899, "isOffset": false, "isSlot": false, - "src": "14212:7:12", + "src": "14212:7:25", "valueSize": 1 }, { - "declaration": 6293, + "declaration": 7899, "isOffset": false, "isSlot": false, - "src": "14279:7:12", + "src": "14279:7:25", "valueSize": 1 }, { - "declaration": 6293, + "declaration": 7899, "isOffset": false, "isSlot": false, - "src": "14311:7:12", + "src": "14311:7:25", "valueSize": 1 }, { - "declaration": 6288, + "declaration": 7894, "isOffset": false, "isSlot": false, - "src": "14100:1:12", + "src": "14100:1:25", "valueSize": 1 }, { - "declaration": 6290, + "declaration": 7896, "isOffset": false, "isSlot": false, - "src": "14144:1:12", + "src": "14144:1:25", "valueSize": 1 }, { - "declaration": 6282, + "declaration": 7888, "isOffset": false, "isSlot": false, - "src": "14241:6:12", + "src": "14241:6:25", "valueSize": 1 }, { - "declaration": 6286, + "declaration": 7892, "isOffset": false, "isSlot": false, - "src": "14189:1:12", + "src": "14189:1:25", "valueSize": 1 } ], - "id": 6295, + "id": 7901, "nodeType": "InlineAssembly", - "src": "13681:648:12" + "src": "13681:648:25" } ] }, "documentation": { - "id": 6280, + "id": 7886, "nodeType": "StructuredDocumentation", - "src": "13345:116:12", + "src": "13345:116:25", "text": "@dev Returns whether the signature (`v`, `r`, `s`) is valid for `hash`\n for an ERC1271 `signer` contract." }, - "id": 6297, + "id": 7903, "implemented": true, "kind": "function", "modifiers": [], "name": "isValidERC1271SignatureNow", - "nameLocation": "13475:26:12", + "nameLocation": "13475:26:25", "nodeType": "FunctionDefinition", "parameters": { - "id": 6291, + "id": 7897, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6282, + "id": 7888, "mutability": "mutable", "name": "signer", - "nameLocation": "13510:6:12", + "nameLocation": "13510:6:25", "nodeType": "VariableDeclaration", - "scope": 6297, - "src": "13502:14:12", + "scope": 7903, + "src": "13502:14:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -199661,10 +218636,10 @@ "typeString": "address" }, "typeName": { - "id": 6281, + "id": 7887, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13502:7:12", + "src": "13502:7:25", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -199675,13 +218650,13 @@ }, { "constant": false, - "id": 6284, + "id": 7890, "mutability": "mutable", "name": "hash", - "nameLocation": "13526:4:12", + "nameLocation": "13526:4:25", "nodeType": "VariableDeclaration", - "scope": 6297, - "src": "13518:12:12", + "scope": 7903, + "src": "13518:12:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -199689,10 +218664,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6283, + "id": 7889, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13518:7:12", + "src": "13518:7:25", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -199702,13 +218677,13 @@ }, { "constant": false, - "id": 6286, + "id": 7892, "mutability": "mutable", "name": "v", - "nameLocation": "13538:1:12", + "nameLocation": "13538:1:25", "nodeType": "VariableDeclaration", - "scope": 6297, - "src": "13532:7:12", + "scope": 7903, + "src": "13532:7:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -199716,10 +218691,10 @@ "typeString": "uint8" }, "typeName": { - "id": 6285, + "id": 7891, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "13532:5:12", + "src": "13532:5:25", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -199729,13 +218704,13 @@ }, { "constant": false, - "id": 6288, + "id": 7894, "mutability": "mutable", "name": "r", - "nameLocation": "13549:1:12", + "nameLocation": "13549:1:25", "nodeType": "VariableDeclaration", - "scope": 6297, - "src": "13541:9:12", + "scope": 7903, + "src": "13541:9:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -199743,10 +218718,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6287, + "id": 7893, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13541:7:12", + "src": "13541:7:25", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -199756,13 +218731,13 @@ }, { "constant": false, - "id": 6290, + "id": 7896, "mutability": "mutable", "name": "s", - "nameLocation": "13560:1:12", + "nameLocation": "13560:1:25", "nodeType": "VariableDeclaration", - "scope": 6297, - "src": "13552:9:12", + "scope": 7903, + "src": "13552:9:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -199770,10 +218745,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6289, + "id": 7895, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13552:7:12", + "src": "13552:7:25", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -199782,21 +218757,21 @@ "visibility": "internal" } ], - "src": "13501:61:12" + "src": "13501:61:25" }, "returnParameters": { - "id": 6294, + "id": 7900, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6293, + "id": 7899, "mutability": "mutable", "name": "isValid", - "nameLocation": "13615:7:12", + "nameLocation": "13615:7:25", "nodeType": "VariableDeclaration", - "scope": 6297, - "src": "13610:12:12", + "scope": 7903, + "src": "13610:12:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -199804,10 +218779,10 @@ "typeString": "bool" }, "typeName": { - "id": 6292, + "id": 7898, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "13610:4:12", + "src": "13610:4:25", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -199816,106 +218791,106 @@ "visibility": "internal" } ], - "src": "13609:14:12" + "src": "13609:14:25" }, - "scope": 6354, - "src": "13466:869:12", + "scope": 7960, + "src": "13466:869:25", "stateMutability": "view", "virtual": false, "visibility": "internal" }, { "body": { - "id": 6310, + "id": 7916, "nodeType": "Block", - "src": "15568:3267:12", + "src": "15568:3267:25", "statements": [ { "AST": { - "nativeSrc": "15630:3199:12", + "nativeSrc": "15630:3199:25", "nodeType": "YulBlock", - "src": "15630:3199:12", + "src": "15630:3199:25", "statements": [ { "body": { - "nativeSrc": "15714:673:12", + "nativeSrc": "15714:673:25", "nodeType": "YulBlock", - "src": "15714:673:12", + "src": "15714:673:25", "statements": [ { - "nativeSrc": "15732:21:12", + "nativeSrc": "15732:21:25", "nodeType": "YulVariableDeclaration", - "src": "15732:21:12", + "src": "15732:21:25", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "15748:4:12", + "nativeSrc": "15748:4:25", "nodeType": "YulLiteral", - "src": "15748:4:12", + "src": "15748:4:25", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "15742:5:12", + "nativeSrc": "15742:5:25", "nodeType": "YulIdentifier", - "src": "15742:5:12" + "src": "15742:5:25" }, - "nativeSrc": "15742:11:12", + "nativeSrc": "15742:11:25", "nodeType": "YulFunctionCall", - "src": "15742:11:12" + "src": "15742:11:25" }, "variables": [ { "name": "m_", - "nativeSrc": "15736:2:12", + "nativeSrc": "15736:2:25", "nodeType": "YulTypedName", - "src": "15736:2:12", + "src": "15736:2:25", "type": "" } ] }, { - "nativeSrc": "15770:30:12", + "nativeSrc": "15770:30:25", "nodeType": "YulVariableDeclaration", - "src": "15770:30:12", + "src": "15770:30:25", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "15784:3:12", + "nativeSrc": "15784:3:25", "nodeType": "YulLiteral", - "src": "15784:3:12", + "src": "15784:3:25", "type": "", "value": "224" }, { "kind": "number", - "nativeSrc": "15789:10:12", + "nativeSrc": "15789:10:25", "nodeType": "YulLiteral", - "src": "15789:10:12", + "src": "15789:10:25", "type": "", "value": "0x1626ba7e" } ], "functionName": { "name": "shl", - "nativeSrc": "15780:3:12", + "nativeSrc": "15780:3:25", "nodeType": "YulIdentifier", - "src": "15780:3:12" + "src": "15780:3:25" }, - "nativeSrc": "15780:20:12", + "nativeSrc": "15780:20:25", "nodeType": "YulFunctionCall", - "src": "15780:20:12" + "src": "15780:20:25" }, "variables": [ { "name": "f_", - "nativeSrc": "15774:2:12", + "nativeSrc": "15774:2:25", "nodeType": "YulTypedName", - "src": "15774:2:12", + "src": "15774:2:25", "type": "" } ] @@ -199925,30 +218900,30 @@ "arguments": [ { "name": "m_", - "nativeSrc": "15824:2:12", + "nativeSrc": "15824:2:25", "nodeType": "YulIdentifier", - "src": "15824:2:12" + "src": "15824:2:25" }, { "name": "f_", - "nativeSrc": "15828:2:12", + "nativeSrc": "15828:2:25", "nodeType": "YulIdentifier", - "src": "15828:2:12" + "src": "15828:2:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "15817:6:12", + "nativeSrc": "15817:6:25", "nodeType": "YulIdentifier", - "src": "15817:6:12" + "src": "15817:6:25" }, - "nativeSrc": "15817:14:12", + "nativeSrc": "15817:14:25", "nodeType": "YulFunctionCall", - "src": "15817:14:12" + "src": "15817:14:25" }, - "nativeSrc": "15817:14:12", + "nativeSrc": "15817:14:25", "nodeType": "YulExpressionStatement", - "src": "15817:14:12" + "src": "15817:14:25" }, { "expression": { @@ -199957,87 +218932,87 @@ "arguments": [ { "name": "m_", - "nativeSrc": "15918:2:12", + "nativeSrc": "15918:2:25", "nodeType": "YulIdentifier", - "src": "15918:2:12" + "src": "15918:2:25" }, { "kind": "number", - "nativeSrc": "15922:4:12", + "nativeSrc": "15922:4:25", "nodeType": "YulLiteral", - "src": "15922:4:12", + "src": "15922:4:25", "type": "", "value": "0x04" } ], "functionName": { "name": "add", - "nativeSrc": "15914:3:12", + "nativeSrc": "15914:3:25", "nodeType": "YulIdentifier", - "src": "15914:3:12" + "src": "15914:3:25" }, - "nativeSrc": "15914:13:12", + "nativeSrc": "15914:13:25", "nodeType": "YulFunctionCall", - "src": "15914:13:12" + "src": "15914:13:25" }, { "name": "hash_", - "nativeSrc": "15929:5:12", + "nativeSrc": "15929:5:25", "nodeType": "YulIdentifier", - "src": "15929:5:12" + "src": "15929:5:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "15907:6:12", + "nativeSrc": "15907:6:25", "nodeType": "YulIdentifier", - "src": "15907:6:12" + "src": "15907:6:25" }, - "nativeSrc": "15907:28:12", + "nativeSrc": "15907:28:25", "nodeType": "YulFunctionCall", - "src": "15907:28:12" + "src": "15907:28:25" }, - "nativeSrc": "15907:28:12", + "nativeSrc": "15907:28:25", "nodeType": "YulExpressionStatement", - "src": "15907:28:12" + "src": "15907:28:25" }, { - "nativeSrc": "15952:23:12", + "nativeSrc": "15952:23:25", "nodeType": "YulVariableDeclaration", - "src": "15952:23:12", + "src": "15952:23:25", "value": { "arguments": [ { "name": "m_", - "nativeSrc": "15966:2:12", + "nativeSrc": "15966:2:25", "nodeType": "YulIdentifier", - "src": "15966:2:12" + "src": "15966:2:25" }, { "kind": "number", - "nativeSrc": "15970:4:12", + "nativeSrc": "15970:4:25", "nodeType": "YulLiteral", - "src": "15970:4:12", + "src": "15970:4:25", "type": "", "value": "0x24" } ], "functionName": { "name": "add", - "nativeSrc": "15962:3:12", + "nativeSrc": "15962:3:25", "nodeType": "YulIdentifier", - "src": "15962:3:12" + "src": "15962:3:25" }, - "nativeSrc": "15962:13:12", + "nativeSrc": "15962:13:25", "nodeType": "YulFunctionCall", - "src": "15962:13:12" + "src": "15962:13:25" }, "variables": [ { "name": "d_", - "nativeSrc": "15956:2:12", + "nativeSrc": "15956:2:25", "nodeType": "YulTypedName", - "src": "15956:2:12", + "src": "15956:2:25", "type": "" } ] @@ -200047,44 +219022,44 @@ "arguments": [ { "name": "d_", - "nativeSrc": "15999:2:12", + "nativeSrc": "15999:2:25", "nodeType": "YulIdentifier", - "src": "15999:2:12" + "src": "15999:2:25" }, { "kind": "number", - "nativeSrc": "16003:4:12", + "nativeSrc": "16003:4:25", "nodeType": "YulLiteral", - "src": "16003:4:12", + "src": "16003:4:25", "type": "", "value": "0x40" } ], "functionName": { "name": "mstore", - "nativeSrc": "15992:6:12", + "nativeSrc": "15992:6:25", "nodeType": "YulIdentifier", - "src": "15992:6:12" + "src": "15992:6:25" }, - "nativeSrc": "15992:16:12", + "nativeSrc": "15992:16:25", "nodeType": "YulFunctionCall", - "src": "15992:16:12" + "src": "15992:16:25" }, - "nativeSrc": "15992:16:12", + "nativeSrc": "15992:16:25", "nodeType": "YulExpressionStatement", - "src": "15992:16:12" + "src": "15992:16:25" }, { - "nativeSrc": "16075:38:12", + "nativeSrc": "16075:38:25", "nodeType": "YulVariableDeclaration", - "src": "16075:38:12", + "src": "16075:38:25", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "16089:4:12", + "nativeSrc": "16089:4:25", "nodeType": "YulLiteral", - "src": "16089:4:12", + "src": "16089:4:25", "type": "", "value": "0x20" }, @@ -200092,163 +219067,163 @@ "arguments": [ { "name": "signature_", - "nativeSrc": "16101:10:12", + "nativeSrc": "16101:10:25", "nodeType": "YulIdentifier", - "src": "16101:10:12" + "src": "16101:10:25" } ], "functionName": { "name": "mload", - "nativeSrc": "16095:5:12", + "nativeSrc": "16095:5:25", "nodeType": "YulIdentifier", - "src": "16095:5:12" + "src": "16095:5:25" }, - "nativeSrc": "16095:17:12", + "nativeSrc": "16095:17:25", "nodeType": "YulFunctionCall", - "src": "16095:17:12" + "src": "16095:17:25" } ], "functionName": { "name": "add", - "nativeSrc": "16085:3:12", + "nativeSrc": "16085:3:25", "nodeType": "YulIdentifier", - "src": "16085:3:12" + "src": "16085:3:25" }, - "nativeSrc": "16085:28:12", + "nativeSrc": "16085:28:25", "nodeType": "YulFunctionCall", - "src": "16085:28:12" + "src": "16085:28:25" }, "variables": [ { "name": "n_", - "nativeSrc": "16079:2:12", + "nativeSrc": "16079:2:25", "nodeType": "YulTypedName", - "src": "16079:2:12", + "src": "16079:2:25", "type": "" } ] }, { - "nativeSrc": "16130:70:12", + "nativeSrc": "16130:70:25", "nodeType": "YulVariableDeclaration", - "src": "16130:70:12", + "src": "16130:70:25", "value": { "arguments": [ { "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "16156:3:12", + "nativeSrc": "16156:3:25", "nodeType": "YulIdentifier", - "src": "16156:3:12" + "src": "16156:3:25" }, - "nativeSrc": "16156:5:12", + "nativeSrc": "16156:5:25", "nodeType": "YulFunctionCall", - "src": "16156:5:12" + "src": "16156:5:25" }, { "kind": "number", - "nativeSrc": "16163:1:12", + "nativeSrc": "16163:1:25", "nodeType": "YulLiteral", - "src": "16163:1:12", + "src": "16163:1:25", "type": "", "value": "4" }, { "name": "signature_", - "nativeSrc": "16166:10:12", + "nativeSrc": "16166:10:25", "nodeType": "YulIdentifier", - "src": "16166:10:12" + "src": "16166:10:25" }, { "name": "n_", - "nativeSrc": "16178:2:12", + "nativeSrc": "16178:2:25", "nodeType": "YulIdentifier", - "src": "16178:2:12" + "src": "16178:2:25" }, { "arguments": [ { "name": "m_", - "nativeSrc": "16186:2:12", + "nativeSrc": "16186:2:25", "nodeType": "YulIdentifier", - "src": "16186:2:12" + "src": "16186:2:25" }, { "kind": "number", - "nativeSrc": "16190:4:12", + "nativeSrc": "16190:4:25", "nodeType": "YulLiteral", - "src": "16190:4:12", + "src": "16190:4:25", "type": "", "value": "0x44" } ], "functionName": { "name": "add", - "nativeSrc": "16182:3:12", + "nativeSrc": "16182:3:25", "nodeType": "YulIdentifier", - "src": "16182:3:12" + "src": "16182:3:25" }, - "nativeSrc": "16182:13:12", + "nativeSrc": "16182:13:25", "nodeType": "YulFunctionCall", - "src": "16182:13:12" + "src": "16182:13:25" }, { "name": "n_", - "nativeSrc": "16197:2:12", + "nativeSrc": "16197:2:25", "nodeType": "YulIdentifier", - "src": "16197:2:12" + "src": "16197:2:25" } ], "functionName": { "name": "staticcall", - "nativeSrc": "16145:10:12", + "nativeSrc": "16145:10:25", "nodeType": "YulIdentifier", - "src": "16145:10:12" + "src": "16145:10:25" }, - "nativeSrc": "16145:55:12", + "nativeSrc": "16145:55:25", "nodeType": "YulFunctionCall", - "src": "16145:55:12" + "src": "16145:55:25" }, "variables": [ { "name": "copied_", - "nativeSrc": "16134:7:12", + "nativeSrc": "16134:7:25", "nodeType": "YulTypedName", - "src": "16134:7:12", + "src": "16134:7:25", "type": "" } ] }, { - "nativeSrc": "16217:81:12", + "nativeSrc": "16217:81:25", "nodeType": "YulAssignment", - "src": "16217:81:12", + "src": "16217:81:25", "value": { "arguments": [ { "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "16240:3:12", + "nativeSrc": "16240:3:25", "nodeType": "YulIdentifier", - "src": "16240:3:12" + "src": "16240:3:25" }, - "nativeSrc": "16240:5:12", + "nativeSrc": "16240:5:25", "nodeType": "YulFunctionCall", - "src": "16240:5:12" + "src": "16240:5:25" }, { "name": "signer_", - "nativeSrc": "16247:7:12", + "nativeSrc": "16247:7:25", "nodeType": "YulIdentifier", - "src": "16247:7:12" + "src": "16247:7:25" }, { "name": "m_", - "nativeSrc": "16256:2:12", + "nativeSrc": "16256:2:25", "nodeType": "YulIdentifier", - "src": "16256:2:12" + "src": "16256:2:25" }, { "arguments": [ @@ -200256,71 +219231,71 @@ "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "16264:14:12", + "nativeSrc": "16264:14:25", "nodeType": "YulIdentifier", - "src": "16264:14:12" + "src": "16264:14:25" }, - "nativeSrc": "16264:16:12", + "nativeSrc": "16264:16:25", "nodeType": "YulFunctionCall", - "src": "16264:16:12" + "src": "16264:16:25" }, { "kind": "number", - "nativeSrc": "16282:4:12", + "nativeSrc": "16282:4:25", "nodeType": "YulLiteral", - "src": "16282:4:12", + "src": "16282:4:25", "type": "", "value": "0x44" } ], "functionName": { "name": "add", - "nativeSrc": "16260:3:12", + "nativeSrc": "16260:3:25", "nodeType": "YulIdentifier", - "src": "16260:3:12" + "src": "16260:3:25" }, - "nativeSrc": "16260:27:12", + "nativeSrc": "16260:27:25", "nodeType": "YulFunctionCall", - "src": "16260:27:12" + "src": "16260:27:25" }, { "name": "d_", - "nativeSrc": "16289:2:12", + "nativeSrc": "16289:2:25", "nodeType": "YulIdentifier", - "src": "16289:2:12" + "src": "16289:2:25" }, { "kind": "number", - "nativeSrc": "16293:4:12", + "nativeSrc": "16293:4:25", "nodeType": "YulLiteral", - "src": "16293:4:12", + "src": "16293:4:25", "type": "", "value": "0x20" } ], "functionName": { "name": "staticcall", - "nativeSrc": "16229:10:12", + "nativeSrc": "16229:10:25", "nodeType": "YulIdentifier", - "src": "16229:10:12" + "src": "16229:10:25" }, - "nativeSrc": "16229:69:12", + "nativeSrc": "16229:69:25", "nodeType": "YulFunctionCall", - "src": "16229:69:12" + "src": "16229:69:25" }, "variableNames": [ { "name": "_isValid", - "nativeSrc": "16217:8:12", + "nativeSrc": "16217:8:25", "nodeType": "YulIdentifier", - "src": "16217:8:12" + "src": "16217:8:25" } ] }, { - "nativeSrc": "16315:58:12", + "nativeSrc": "16315:58:25", "nodeType": "YulAssignment", - "src": "16315:58:12", + "src": "16315:58:25", "value": { "arguments": [ { @@ -200329,260 +219304,260 @@ "arguments": [ { "name": "d_", - "nativeSrc": "16340:2:12", + "nativeSrc": "16340:2:25", "nodeType": "YulIdentifier", - "src": "16340:2:12" + "src": "16340:2:25" } ], "functionName": { "name": "mload", - "nativeSrc": "16334:5:12", + "nativeSrc": "16334:5:25", "nodeType": "YulIdentifier", - "src": "16334:5:12" + "src": "16334:5:25" }, - "nativeSrc": "16334:9:12", + "nativeSrc": "16334:9:25", "nodeType": "YulFunctionCall", - "src": "16334:9:12" + "src": "16334:9:25" }, { "name": "f_", - "nativeSrc": "16345:2:12", + "nativeSrc": "16345:2:25", "nodeType": "YulIdentifier", - "src": "16345:2:12" + "src": "16345:2:25" } ], "functionName": { "name": "eq", - "nativeSrc": "16331:2:12", + "nativeSrc": "16331:2:25", "nodeType": "YulIdentifier", - "src": "16331:2:12" + "src": "16331:2:25" }, - "nativeSrc": "16331:17:12", + "nativeSrc": "16331:17:25", "nodeType": "YulFunctionCall", - "src": "16331:17:12" + "src": "16331:17:25" }, { "arguments": [ { "name": "_isValid", - "nativeSrc": "16354:8:12", + "nativeSrc": "16354:8:25", "nodeType": "YulIdentifier", - "src": "16354:8:12" + "src": "16354:8:25" }, { "name": "copied_", - "nativeSrc": "16364:7:12", + "nativeSrc": "16364:7:25", "nodeType": "YulIdentifier", - "src": "16364:7:12" + "src": "16364:7:25" } ], "functionName": { "name": "and", - "nativeSrc": "16350:3:12", + "nativeSrc": "16350:3:25", "nodeType": "YulIdentifier", - "src": "16350:3:12" + "src": "16350:3:25" }, - "nativeSrc": "16350:22:12", + "nativeSrc": "16350:22:25", "nodeType": "YulFunctionCall", - "src": "16350:22:12" + "src": "16350:22:25" } ], "functionName": { "name": "and", - "nativeSrc": "16327:3:12", + "nativeSrc": "16327:3:25", "nodeType": "YulIdentifier", - "src": "16327:3:12" + "src": "16327:3:25" }, - "nativeSrc": "16327:46:12", + "nativeSrc": "16327:46:25", "nodeType": "YulFunctionCall", - "src": "16327:46:12" + "src": "16327:46:25" }, "variableNames": [ { "name": "_isValid", - "nativeSrc": "16315:8:12", + "nativeSrc": "16315:8:25", "nodeType": "YulIdentifier", - "src": "16315:8:12" + "src": "16315:8:25" } ] } ] }, "name": "callIsValidSignature", - "nativeSrc": "15644:743:12", + "nativeSrc": "15644:743:25", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "signer_", - "nativeSrc": "15674:7:12", + "nativeSrc": "15674:7:25", "nodeType": "YulTypedName", - "src": "15674:7:12", + "src": "15674:7:25", "type": "" }, { "name": "hash_", - "nativeSrc": "15683:5:12", + "nativeSrc": "15683:5:25", "nodeType": "YulTypedName", - "src": "15683:5:12", + "src": "15683:5:25", "type": "" }, { "name": "signature_", - "nativeSrc": "15690:10:12", + "nativeSrc": "15690:10:25", "nodeType": "YulTypedName", - "src": "15690:10:12", + "src": "15690:10:25", "type": "" } ], "returnVariables": [ { "name": "_isValid", - "nativeSrc": "15705:8:12", + "nativeSrc": "15705:8:25", "nodeType": "YulTypedName", - "src": "15705:8:12", + "src": "15705:8:25", "type": "" } ], - "src": "15644:743:12" + "src": "15644:743:25" }, { - "nativeSrc": "16400:41:12", + "nativeSrc": "16400:41:25", "nodeType": "YulVariableDeclaration", - "src": "16400:41:12", + "src": "16400:41:25", "value": { "arguments": [ { "arguments": [ { "name": "signer", - "nativeSrc": "16433:6:12", + "nativeSrc": "16433:6:25", "nodeType": "YulIdentifier", - "src": "16433:6:12" + "src": "16433:6:25" } ], "functionName": { "name": "extcodesize", - "nativeSrc": "16421:11:12", + "nativeSrc": "16421:11:25", "nodeType": "YulIdentifier", - "src": "16421:11:12" + "src": "16421:11:25" }, - "nativeSrc": "16421:19:12", + "nativeSrc": "16421:19:25", "nodeType": "YulFunctionCall", - "src": "16421:19:12" + "src": "16421:19:25" } ], "functionName": { "name": "iszero", - "nativeSrc": "16414:6:12", + "nativeSrc": "16414:6:25", "nodeType": "YulIdentifier", - "src": "16414:6:12" + "src": "16414:6:25" }, - "nativeSrc": "16414:27:12", + "nativeSrc": "16414:27:25", "nodeType": "YulFunctionCall", - "src": "16414:27:12" + "src": "16414:27:25" }, "variables": [ { "name": "noCode", - "nativeSrc": "16404:6:12", + "nativeSrc": "16404:6:25", "nodeType": "YulTypedName", - "src": "16404:6:12", + "src": "16404:6:25", "type": "" } ] }, { - "nativeSrc": "16454:25:12", + "nativeSrc": "16454:25:25", "nodeType": "YulVariableDeclaration", - "src": "16454:25:12", + "src": "16454:25:25", "value": { "arguments": [ { "name": "signature", - "nativeSrc": "16469:9:12", + "nativeSrc": "16469:9:25", "nodeType": "YulIdentifier", - "src": "16469:9:12" + "src": "16469:9:25" } ], "functionName": { "name": "mload", - "nativeSrc": "16463:5:12", + "nativeSrc": "16463:5:25", "nodeType": "YulIdentifier", - "src": "16463:5:12" + "src": "16463:5:25" }, - "nativeSrc": "16463:16:12", + "nativeSrc": "16463:16:25", "nodeType": "YulFunctionCall", - "src": "16463:16:12" + "src": "16463:16:25" }, "variables": [ { "name": "n", - "nativeSrc": "16458:1:12", + "nativeSrc": "16458:1:25", "nodeType": "YulTypedName", - "src": "16458:1:12", + "src": "16458:1:25", "type": "" } ] }, { "body": { - "nativeSrc": "16504:1262:12", + "nativeSrc": "16504:1262:25", "nodeType": "YulBlock", - "src": "16504:1262:12", + "src": "16504:1262:25", "statements": [ { "body": { - "nativeSrc": "16602:144:12", + "nativeSrc": "16602:144:25", "nodeType": "YulBlock", - "src": "16602:144:12", + "src": "16602:144:25", "statements": [ { "body": { - "nativeSrc": "16642:60:12", + "nativeSrc": "16642:60:25", "nodeType": "YulBlock", - "src": "16642:60:12", + "src": "16642:60:25", "statements": [ { - "nativeSrc": "16644:56:12", + "nativeSrc": "16644:56:25", "nodeType": "YulAssignment", - "src": "16644:56:12", + "src": "16644:56:25", "value": { "arguments": [ { "name": "signer", - "nativeSrc": "16676:6:12", + "nativeSrc": "16676:6:25", "nodeType": "YulIdentifier", - "src": "16676:6:12" + "src": "16676:6:25" }, { "name": "hash", - "nativeSrc": "16684:4:12", + "nativeSrc": "16684:4:25", "nodeType": "YulIdentifier", - "src": "16684:4:12" + "src": "16684:4:25" }, { "name": "signature", - "nativeSrc": "16690:9:12", + "nativeSrc": "16690:9:25", "nodeType": "YulIdentifier", - "src": "16690:9:12" + "src": "16690:9:25" } ], "functionName": { "name": "callIsValidSignature", - "nativeSrc": "16655:20:12", + "nativeSrc": "16655:20:25", "nodeType": "YulIdentifier", - "src": "16655:20:12" + "src": "16655:20:25" }, - "nativeSrc": "16655:45:12", + "nativeSrc": "16655:45:25", "nodeType": "YulFunctionCall", - "src": "16655:45:12" + "src": "16655:45:25" }, "variableNames": [ { "name": "isValid", - "nativeSrc": "16644:7:12", + "nativeSrc": "16644:7:25", "nodeType": "YulIdentifier", - "src": "16644:7:12" + "src": "16644:7:25" } ] } @@ -200592,29 +219567,29 @@ "arguments": [ { "name": "noCode", - "nativeSrc": "16634:6:12", + "nativeSrc": "16634:6:25", "nodeType": "YulIdentifier", - "src": "16634:6:12" + "src": "16634:6:25" } ], "functionName": { "name": "iszero", - "nativeSrc": "16627:6:12", + "nativeSrc": "16627:6:25", "nodeType": "YulIdentifier", - "src": "16627:6:12" + "src": "16627:6:25" }, - "nativeSrc": "16627:14:12", + "nativeSrc": "16627:14:25", "nodeType": "YulFunctionCall", - "src": "16627:14:12" + "src": "16627:14:25" }, - "nativeSrc": "16624:78:12", + "nativeSrc": "16624:78:25", "nodeType": "YulIf", - "src": "16624:78:12" + "src": "16624:78:25" }, { - "nativeSrc": "16723:5:12", + "nativeSrc": "16723:5:25", "nodeType": "YulBreak", - "src": "16723:5:12" + "src": "16723:5:25" } ] }, @@ -200628,45 +219603,45 @@ "arguments": [ { "name": "signature", - "nativeSrc": "16545:9:12", + "nativeSrc": "16545:9:25", "nodeType": "YulIdentifier", - "src": "16545:9:12" + "src": "16545:9:25" }, { "name": "n", - "nativeSrc": "16556:1:12", + "nativeSrc": "16556:1:25", "nodeType": "YulIdentifier", - "src": "16556:1:12" + "src": "16556:1:25" } ], "functionName": { "name": "add", - "nativeSrc": "16541:3:12", + "nativeSrc": "16541:3:25", "nodeType": "YulIdentifier", - "src": "16541:3:12" + "src": "16541:3:25" }, - "nativeSrc": "16541:17:12", + "nativeSrc": "16541:17:25", "nodeType": "YulFunctionCall", - "src": "16541:17:12" + "src": "16541:17:25" } ], "functionName": { "name": "mload", - "nativeSrc": "16535:5:12", + "nativeSrc": "16535:5:25", "nodeType": "YulIdentifier", - "src": "16535:5:12" + "src": "16535:5:25" }, - "nativeSrc": "16535:24:12", + "nativeSrc": "16535:24:25", "nodeType": "YulFunctionCall", - "src": "16535:24:12" + "src": "16535:24:25" }, { "arguments": [ { "kind": "number", - "nativeSrc": "16565:6:12", + "nativeSrc": "16565:6:25", "nodeType": "YulLiteral", - "src": "16565:6:12", + "src": "16565:6:25", "type": "", "value": "0x6492" }, @@ -200676,149 +219651,149 @@ "arguments": [ { "name": "isValid", - "nativeSrc": "16581:7:12", + "nativeSrc": "16581:7:25", "nodeType": "YulIdentifier", - "src": "16581:7:12" + "src": "16581:7:25" } ], "functionName": { "name": "not", - "nativeSrc": "16577:3:12", + "nativeSrc": "16577:3:25", "nodeType": "YulIdentifier", - "src": "16577:3:12" + "src": "16577:3:25" }, - "nativeSrc": "16577:12:12", + "nativeSrc": "16577:12:25", "nodeType": "YulFunctionCall", - "src": "16577:12:12" + "src": "16577:12:25" }, { "kind": "number", - "nativeSrc": "16591:6:12", + "nativeSrc": "16591:6:25", "nodeType": "YulLiteral", - "src": "16591:6:12", + "src": "16591:6:25", "type": "", "value": "0xffff" } ], "functionName": { "name": "div", - "nativeSrc": "16573:3:12", + "nativeSrc": "16573:3:25", "nodeType": "YulIdentifier", - "src": "16573:3:12" + "src": "16573:3:25" }, - "nativeSrc": "16573:25:12", + "nativeSrc": "16573:25:25", "nodeType": "YulFunctionCall", - "src": "16573:25:12" + "src": "16573:25:25" } ], "functionName": { "name": "mul", - "nativeSrc": "16561:3:12", + "nativeSrc": "16561:3:25", "nodeType": "YulIdentifier", - "src": "16561:3:12" + "src": "16561:3:25" }, - "nativeSrc": "16561:38:12", + "nativeSrc": "16561:38:25", "nodeType": "YulFunctionCall", - "src": "16561:38:12" + "src": "16561:38:25" } ], "functionName": { "name": "eq", - "nativeSrc": "16532:2:12", + "nativeSrc": "16532:2:25", "nodeType": "YulIdentifier", - "src": "16532:2:12" + "src": "16532:2:25" }, - "nativeSrc": "16532:68:12", + "nativeSrc": "16532:68:25", "nodeType": "YulFunctionCall", - "src": "16532:68:12" + "src": "16532:68:25" } ], "functionName": { "name": "iszero", - "nativeSrc": "16525:6:12", + "nativeSrc": "16525:6:25", "nodeType": "YulIdentifier", - "src": "16525:6:12" + "src": "16525:6:25" }, - "nativeSrc": "16525:76:12", + "nativeSrc": "16525:76:25", "nodeType": "YulFunctionCall", - "src": "16525:76:12" + "src": "16525:76:25" }, - "nativeSrc": "16522:224:12", + "nativeSrc": "16522:224:25", "nodeType": "YulIf", - "src": "16522:224:12" + "src": "16522:224:25" }, { "body": { - "nativeSrc": "16781:225:12", + "nativeSrc": "16781:225:25", "nodeType": "YulBlock", - "src": "16781:225:12", + "src": "16781:225:25", "statements": [ { - "nativeSrc": "16803:29:12", + "nativeSrc": "16803:29:25", "nodeType": "YulVariableDeclaration", - "src": "16803:29:12", + "src": "16803:29:25", "value": { "arguments": [ { "name": "signature", - "nativeSrc": "16816:9:12", + "nativeSrc": "16816:9:25", "nodeType": "YulIdentifier", - "src": "16816:9:12" + "src": "16816:9:25" }, { "kind": "number", - "nativeSrc": "16827:4:12", + "nativeSrc": "16827:4:25", "nodeType": "YulLiteral", - "src": "16827:4:12", + "src": "16827:4:25", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "16812:3:12", + "nativeSrc": "16812:3:25", "nodeType": "YulIdentifier", - "src": "16812:3:12" + "src": "16812:3:25" }, - "nativeSrc": "16812:20:12", + "nativeSrc": "16812:20:25", "nodeType": "YulFunctionCall", - "src": "16812:20:12" + "src": "16812:20:25" }, "variables": [ { "name": "o", - "nativeSrc": "16807:1:12", + "nativeSrc": "16807:1:25", "nodeType": "YulTypedName", - "src": "16807:1:12", + "src": "16807:1:25", "type": "" } ] }, { - "nativeSrc": "16873:74:12", + "nativeSrc": "16873:74:25", "nodeType": "YulAssignment", - "src": "16873:74:12", + "src": "16873:74:25", "value": { "arguments": [ { "name": "signer", - "nativeSrc": "16905:6:12", + "nativeSrc": "16905:6:25", "nodeType": "YulIdentifier", - "src": "16905:6:12" + "src": "16905:6:25" }, { "name": "hash", - "nativeSrc": "16913:4:12", + "nativeSrc": "16913:4:25", "nodeType": "YulIdentifier", - "src": "16913:4:12" + "src": "16913:4:25" }, { "arguments": [ { "name": "o", - "nativeSrc": "16923:1:12", + "nativeSrc": "16923:1:25", "nodeType": "YulIdentifier", - "src": "16923:1:12" + "src": "16923:1:25" }, { "arguments": [ @@ -200826,93 +219801,93 @@ "arguments": [ { "name": "o", - "nativeSrc": "16936:1:12", + "nativeSrc": "16936:1:25", "nodeType": "YulIdentifier", - "src": "16936:1:12" + "src": "16936:1:25" }, { "kind": "number", - "nativeSrc": "16939:4:12", + "nativeSrc": "16939:4:25", "nodeType": "YulLiteral", - "src": "16939:4:12", + "src": "16939:4:25", "type": "", "value": "0x40" } ], "functionName": { "name": "add", - "nativeSrc": "16932:3:12", + "nativeSrc": "16932:3:25", "nodeType": "YulIdentifier", - "src": "16932:3:12" + "src": "16932:3:25" }, - "nativeSrc": "16932:12:12", + "nativeSrc": "16932:12:25", "nodeType": "YulFunctionCall", - "src": "16932:12:12" + "src": "16932:12:25" } ], "functionName": { "name": "mload", - "nativeSrc": "16926:5:12", + "nativeSrc": "16926:5:25", "nodeType": "YulIdentifier", - "src": "16926:5:12" + "src": "16926:5:25" }, - "nativeSrc": "16926:19:12", + "nativeSrc": "16926:19:25", "nodeType": "YulFunctionCall", - "src": "16926:19:12" + "src": "16926:19:25" } ], "functionName": { "name": "add", - "nativeSrc": "16919:3:12", + "nativeSrc": "16919:3:25", "nodeType": "YulIdentifier", - "src": "16919:3:12" + "src": "16919:3:25" }, - "nativeSrc": "16919:27:12", + "nativeSrc": "16919:27:25", "nodeType": "YulFunctionCall", - "src": "16919:27:12" + "src": "16919:27:25" } ], "functionName": { "name": "callIsValidSignature", - "nativeSrc": "16884:20:12", + "nativeSrc": "16884:20:25", "nodeType": "YulIdentifier", - "src": "16884:20:12" + "src": "16884:20:25" }, - "nativeSrc": "16884:63:12", + "nativeSrc": "16884:63:25", "nodeType": "YulFunctionCall", - "src": "16884:63:12" + "src": "16884:63:25" }, "variableNames": [ { "name": "isValid", - "nativeSrc": "16873:7:12", + "nativeSrc": "16873:7:25", "nodeType": "YulIdentifier", - "src": "16873:7:12" + "src": "16873:7:25" } ] }, { "body": { - "nativeSrc": "16979:9:12", + "nativeSrc": "16979:9:25", "nodeType": "YulBlock", - "src": "16979:9:12", + "src": "16979:9:25", "statements": [ { - "nativeSrc": "16981:5:12", + "nativeSrc": "16981:5:25", "nodeType": "YulBreak", - "src": "16981:5:12" + "src": "16981:5:25" } ] }, "condition": { "name": "isValid", - "nativeSrc": "16971:7:12", + "nativeSrc": "16971:7:25", "nodeType": "YulIdentifier", - "src": "16971:7:12" + "src": "16971:7:25" }, - "nativeSrc": "16968:20:12", + "nativeSrc": "16968:20:25", "nodeType": "YulIf", - "src": "16968:20:12" + "src": "16968:20:25" } ] }, @@ -200920,56 +219895,56 @@ "arguments": [ { "name": "noCode", - "nativeSrc": "16773:6:12", + "nativeSrc": "16773:6:25", "nodeType": "YulIdentifier", - "src": "16773:6:12" + "src": "16773:6:25" } ], "functionName": { "name": "iszero", - "nativeSrc": "16766:6:12", + "nativeSrc": "16766:6:25", "nodeType": "YulIdentifier", - "src": "16766:6:12" + "src": "16766:6:25" }, - "nativeSrc": "16766:14:12", + "nativeSrc": "16766:14:25", "nodeType": "YulFunctionCall", - "src": "16766:14:12" + "src": "16766:14:25" }, - "nativeSrc": "16763:243:12", + "nativeSrc": "16763:243:25", "nodeType": "YulIf", - "src": "16763:243:12" + "src": "16763:243:25" }, { - "nativeSrc": "17023:20:12", + "nativeSrc": "17023:20:25", "nodeType": "YulVariableDeclaration", - "src": "17023:20:12", + "src": "17023:20:25", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "17038:4:12", + "nativeSrc": "17038:4:25", "nodeType": "YulLiteral", - "src": "17038:4:12", + "src": "17038:4:25", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "17032:5:12", + "nativeSrc": "17032:5:25", "nodeType": "YulIdentifier", - "src": "17032:5:12" + "src": "17032:5:25" }, - "nativeSrc": "17032:11:12", + "nativeSrc": "17032:11:25", "nodeType": "YulFunctionCall", - "src": "17032:11:12" + "src": "17032:11:25" }, "variables": [ { "name": "m", - "nativeSrc": "17027:1:12", + "nativeSrc": "17027:1:25", "nodeType": "YulTypedName", - "src": "17027:1:12", + "src": "17027:1:25", "type": "" } ] @@ -200979,30 +219954,30 @@ "arguments": [ { "name": "m", - "nativeSrc": "17067:1:12", + "nativeSrc": "17067:1:25", "nodeType": "YulIdentifier", - "src": "17067:1:12" + "src": "17067:1:25" }, { "name": "signer", - "nativeSrc": "17070:6:12", + "nativeSrc": "17070:6:25", "nodeType": "YulIdentifier", - "src": "17070:6:12" + "src": "17070:6:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "17060:6:12", + "nativeSrc": "17060:6:25", "nodeType": "YulIdentifier", - "src": "17060:6:12" + "src": "17060:6:25" }, - "nativeSrc": "17060:17:12", + "nativeSrc": "17060:17:25", "nodeType": "YulFunctionCall", - "src": "17060:17:12" + "src": "17060:17:25" }, - "nativeSrc": "17060:17:12", + "nativeSrc": "17060:17:25", "nodeType": "YulExpressionStatement", - "src": "17060:17:12" + "src": "17060:17:25" }, { "expression": { @@ -201011,49 +219986,49 @@ "arguments": [ { "name": "m", - "nativeSrc": "17105:1:12", + "nativeSrc": "17105:1:25", "nodeType": "YulIdentifier", - "src": "17105:1:12" + "src": "17105:1:25" }, { "kind": "number", - "nativeSrc": "17108:4:12", + "nativeSrc": "17108:4:25", "nodeType": "YulLiteral", - "src": "17108:4:12", + "src": "17108:4:25", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "17101:3:12", + "nativeSrc": "17101:3:25", "nodeType": "YulIdentifier", - "src": "17101:3:12" + "src": "17101:3:25" }, - "nativeSrc": "17101:12:12", + "nativeSrc": "17101:12:25", "nodeType": "YulFunctionCall", - "src": "17101:12:12" + "src": "17101:12:25" }, { "name": "hash", - "nativeSrc": "17115:4:12", + "nativeSrc": "17115:4:25", "nodeType": "YulIdentifier", - "src": "17115:4:12" + "src": "17115:4:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "17094:6:12", + "nativeSrc": "17094:6:25", "nodeType": "YulIdentifier", - "src": "17094:6:12" + "src": "17094:6:25" }, - "nativeSrc": "17094:26:12", + "nativeSrc": "17094:26:25", "nodeType": "YulFunctionCall", - "src": "17094:26:12" + "src": "17094:26:25" }, - "nativeSrc": "17094:26:12", + "nativeSrc": "17094:26:25", "nodeType": "YulExpressionStatement", - "src": "17094:26:12" + "src": "17094:26:25" }, { "expression": { @@ -201064,35 +220039,35 @@ "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "17192:3:12", + "nativeSrc": "17192:3:25", "nodeType": "YulIdentifier", - "src": "17192:3:12" + "src": "17192:3:25" }, - "nativeSrc": "17192:5:12", + "nativeSrc": "17192:5:25", "nodeType": "YulFunctionCall", - "src": "17192:5:12" + "src": "17192:5:25" }, { "kind": "number", - "nativeSrc": "17241:42:12", + "nativeSrc": "17241:42:25", "nodeType": "YulLiteral", - "src": "17241:42:12", + "src": "17241:42:25", "type": "", "value": "0x0000bc370E4DC924F427d84e2f4B9Ec81626ba7E" }, { "kind": "number", - "nativeSrc": "17336:1:12", + "nativeSrc": "17336:1:25", "nodeType": "YulLiteral", - "src": "17336:1:12", + "src": "17336:1:25", "type": "", "value": "0" }, { "name": "m", - "nativeSrc": "17381:1:12", + "nativeSrc": "17381:1:25", "nodeType": "YulIdentifier", - "src": "17381:1:12" + "src": "17381:1:25" }, { "arguments": [ @@ -201100,32 +220075,32 @@ "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "17432:14:12", + "nativeSrc": "17432:14:25", "nodeType": "YulIdentifier", - "src": "17432:14:12" + "src": "17432:14:25" }, - "nativeSrc": "17432:16:12", + "nativeSrc": "17432:16:25", "nodeType": "YulFunctionCall", - "src": "17432:16:12" + "src": "17432:16:25" }, { "kind": "number", - "nativeSrc": "17450:4:12", + "nativeSrc": "17450:4:25", "nodeType": "YulLiteral", - "src": "17450:4:12", + "src": "17450:4:25", "type": "", "value": "0x40" } ], "functionName": { "name": "add", - "nativeSrc": "17428:3:12", + "nativeSrc": "17428:3:25", "nodeType": "YulIdentifier", - "src": "17428:3:12" + "src": "17428:3:25" }, - "nativeSrc": "17428:27:12", + "nativeSrc": "17428:27:25", "nodeType": "YulFunctionCall", - "src": "17428:27:12" + "src": "17428:27:25" }, { "arguments": [ @@ -201133,19 +220108,19 @@ "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "17525:3:12", + "nativeSrc": "17525:3:25", "nodeType": "YulIdentifier", - "src": "17525:3:12" + "src": "17525:3:25" }, - "nativeSrc": "17525:5:12", + "nativeSrc": "17525:5:25", "nodeType": "YulFunctionCall", - "src": "17525:5:12" + "src": "17525:5:25" }, { "kind": "number", - "nativeSrc": "17532:1:12", + "nativeSrc": "17532:1:25", "nodeType": "YulLiteral", - "src": "17532:1:12", + "src": "17532:1:25", "type": "", "value": "4" }, @@ -201153,233 +220128,233 @@ "arguments": [ { "name": "signature", - "nativeSrc": "17539:9:12", + "nativeSrc": "17539:9:25", "nodeType": "YulIdentifier", - "src": "17539:9:12" + "src": "17539:9:25" }, { "kind": "number", - "nativeSrc": "17550:4:12", + "nativeSrc": "17550:4:25", "nodeType": "YulLiteral", - "src": "17550:4:12", + "src": "17550:4:25", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "17535:3:12", + "nativeSrc": "17535:3:25", "nodeType": "YulIdentifier", - "src": "17535:3:12" + "src": "17535:3:25" }, - "nativeSrc": "17535:20:12", + "nativeSrc": "17535:20:25", "nodeType": "YulFunctionCall", - "src": "17535:20:12" + "src": "17535:20:25" }, { "name": "n", - "nativeSrc": "17557:1:12", + "nativeSrc": "17557:1:25", "nodeType": "YulIdentifier", - "src": "17557:1:12" + "src": "17557:1:25" }, { "arguments": [ { "name": "m", - "nativeSrc": "17564:1:12", + "nativeSrc": "17564:1:25", "nodeType": "YulIdentifier", - "src": "17564:1:12" + "src": "17564:1:25" }, { "kind": "number", - "nativeSrc": "17567:4:12", + "nativeSrc": "17567:4:25", "nodeType": "YulLiteral", - "src": "17567:4:12", + "src": "17567:4:25", "type": "", "value": "0x40" } ], "functionName": { "name": "add", - "nativeSrc": "17560:3:12", + "nativeSrc": "17560:3:25", "nodeType": "YulIdentifier", - "src": "17560:3:12" + "src": "17560:3:25" }, - "nativeSrc": "17560:12:12", + "nativeSrc": "17560:12:25", "nodeType": "YulFunctionCall", - "src": "17560:12:12" + "src": "17560:12:25" }, { "name": "n", - "nativeSrc": "17574:1:12", + "nativeSrc": "17574:1:25", "nodeType": "YulIdentifier", - "src": "17574:1:12" + "src": "17574:1:25" } ], "functionName": { "name": "staticcall", - "nativeSrc": "17514:10:12", + "nativeSrc": "17514:10:25", "nodeType": "YulIdentifier", - "src": "17514:10:12" + "src": "17514:10:25" }, - "nativeSrc": "17514:62:12", + "nativeSrc": "17514:62:25", "nodeType": "YulFunctionCall", - "src": "17514:62:12" + "src": "17514:62:25" }, { "kind": "number", - "nativeSrc": "17608:4:12", + "nativeSrc": "17608:4:25", "nodeType": "YulLiteral", - "src": "17608:4:12", + "src": "17608:4:25", "type": "", "value": "0x00" } ], "functionName": { "name": "call", - "nativeSrc": "17162:4:12", + "nativeSrc": "17162:4:25", "nodeType": "YulIdentifier", - "src": "17162:4:12" + "src": "17162:4:25" }, - "nativeSrc": "17162:506:12", + "nativeSrc": "17162:506:25", "nodeType": "YulFunctionCall", - "src": "17162:506:12" + "src": "17162:506:25" } ], "functionName": { "name": "pop", - "nativeSrc": "17137:3:12", + "nativeSrc": "17137:3:25", "nodeType": "YulIdentifier", - "src": "17137:3:12" + "src": "17137:3:25" }, - "nativeSrc": "17137:549:12", + "nativeSrc": "17137:549:25", "nodeType": "YulFunctionCall", - "src": "17137:549:12" + "src": "17137:549:25" }, - "nativeSrc": "17137:549:12", + "nativeSrc": "17137:549:25", "nodeType": "YulExpressionStatement", - "src": "17137:549:12" + "src": "17137:549:25" }, { - "nativeSrc": "17703:27:12", + "nativeSrc": "17703:27:25", "nodeType": "YulAssignment", - "src": "17703:27:12", + "src": "17703:27:25", "value": { "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "17714:14:12", + "nativeSrc": "17714:14:25", "nodeType": "YulIdentifier", - "src": "17714:14:12" + "src": "17714:14:25" }, - "nativeSrc": "17714:16:12", + "nativeSrc": "17714:16:25", "nodeType": "YulFunctionCall", - "src": "17714:16:12" + "src": "17714:16:25" }, "variableNames": [ { "name": "isValid", - "nativeSrc": "17703:7:12", + "nativeSrc": "17703:7:25", "nodeType": "YulIdentifier", - "src": "17703:7:12" + "src": "17703:7:25" } ] }, { - "nativeSrc": "17747:5:12", + "nativeSrc": "17747:5:25", "nodeType": "YulBreak", - "src": "17747:5:12" + "src": "17747:5:25" } ] }, "condition": { "kind": "number", - "nativeSrc": "16499:1:12", + "nativeSrc": "16499:1:25", "nodeType": "YulLiteral", - "src": "16499:1:12", + "src": "16499:1:25", "type": "", "value": "1" }, - "nativeSrc": "16492:1274:12", + "nativeSrc": "16492:1274:25", "nodeType": "YulForLoop", "post": { - "nativeSrc": "16501:2:12", + "nativeSrc": "16501:2:25", "nodeType": "YulBlock", - "src": "16501:2:12", + "src": "16501:2:25", "statements": [] }, "pre": { - "nativeSrc": "16496:2:12", + "nativeSrc": "16496:2:25", "nodeType": "YulBlock", - "src": "16496:2:12", + "src": "16496:2:25", "statements": [] }, - "src": "16492:1274:12" + "src": "16492:1274:25" }, { "body": { - "nativeSrc": "17873:946:12", + "nativeSrc": "17873:946:25", "nodeType": "YulBlock", - "src": "17873:946:12", + "src": "17873:946:25", "statements": [ { "cases": [ { "body": { - "nativeSrc": "17924:202:12", + "nativeSrc": "17924:202:25", "nodeType": "YulBlock", - "src": "17924:202:12", + "src": "17924:202:25", "statements": [ { - "nativeSrc": "17946:37:12", + "nativeSrc": "17946:37:25", "nodeType": "YulVariableDeclaration", - "src": "17946:37:12", + "src": "17946:37:25", "value": { "arguments": [ { "arguments": [ { "name": "signature", - "nativeSrc": "17966:9:12", + "nativeSrc": "17966:9:25", "nodeType": "YulIdentifier", - "src": "17966:9:12" + "src": "17966:9:25" }, { "kind": "number", - "nativeSrc": "17977:4:12", + "nativeSrc": "17977:4:25", "nodeType": "YulLiteral", - "src": "17977:4:12", + "src": "17977:4:25", "type": "", "value": "0x40" } ], "functionName": { "name": "add", - "nativeSrc": "17962:3:12", + "nativeSrc": "17962:3:25", "nodeType": "YulIdentifier", - "src": "17962:3:12" + "src": "17962:3:25" }, - "nativeSrc": "17962:20:12", + "nativeSrc": "17962:20:25", "nodeType": "YulFunctionCall", - "src": "17962:20:12" + "src": "17962:20:25" } ], "functionName": { "name": "mload", - "nativeSrc": "17956:5:12", + "nativeSrc": "17956:5:25", "nodeType": "YulIdentifier", - "src": "17956:5:12" + "src": "17956:5:25" }, - "nativeSrc": "17956:27:12", + "nativeSrc": "17956:27:25", "nodeType": "YulFunctionCall", - "src": "17956:27:12" + "src": "17956:27:25" }, "variables": [ { "name": "vs", - "nativeSrc": "17950:2:12", + "nativeSrc": "17950:2:25", "nodeType": "YulTypedName", - "src": "17950:2:12", + "src": "17950:2:25", "type": "" } ] @@ -201389,9 +220364,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "18011:4:12", + "nativeSrc": "18011:4:25", "nodeType": "YulLiteral", - "src": "18011:4:12", + "src": "18011:4:25", "type": "", "value": "0x20" }, @@ -201401,71 +220376,71 @@ "arguments": [ { "kind": "number", - "nativeSrc": "18025:3:12", + "nativeSrc": "18025:3:25", "nodeType": "YulLiteral", - "src": "18025:3:12", + "src": "18025:3:25", "type": "", "value": "255" }, { "name": "vs", - "nativeSrc": "18030:2:12", + "nativeSrc": "18030:2:25", "nodeType": "YulIdentifier", - "src": "18030:2:12" + "src": "18030:2:25" } ], "functionName": { "name": "shr", - "nativeSrc": "18021:3:12", + "nativeSrc": "18021:3:25", "nodeType": "YulIdentifier", - "src": "18021:3:12" + "src": "18021:3:25" }, - "nativeSrc": "18021:12:12", + "nativeSrc": "18021:12:25", "nodeType": "YulFunctionCall", - "src": "18021:12:12" + "src": "18021:12:25" }, { "kind": "number", - "nativeSrc": "18035:2:12", + "nativeSrc": "18035:2:25", "nodeType": "YulLiteral", - "src": "18035:2:12", + "src": "18035:2:25", "type": "", "value": "27" } ], "functionName": { "name": "add", - "nativeSrc": "18017:3:12", + "nativeSrc": "18017:3:25", "nodeType": "YulIdentifier", - "src": "18017:3:12" + "src": "18017:3:25" }, - "nativeSrc": "18017:21:12", + "nativeSrc": "18017:21:25", "nodeType": "YulFunctionCall", - "src": "18017:21:12" + "src": "18017:21:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "18004:6:12", + "nativeSrc": "18004:6:25", "nodeType": "YulIdentifier", - "src": "18004:6:12" + "src": "18004:6:25" }, - "nativeSrc": "18004:35:12", + "nativeSrc": "18004:35:25", "nodeType": "YulFunctionCall", - "src": "18004:35:12" + "src": "18004:35:25" }, - "nativeSrc": "18004:35:12", + "nativeSrc": "18004:35:25", "nodeType": "YulExpressionStatement", - "src": "18004:35:12" + "src": "18004:35:25" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "18075:4:12", + "nativeSrc": "18075:4:25", "nodeType": "YulLiteral", - "src": "18075:4:12", + "src": "18075:4:25", "type": "", "value": "0x60" }, @@ -201473,9 +220448,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "18085:1:12", + "nativeSrc": "18085:1:25", "nodeType": "YulLiteral", - "src": "18085:1:12", + "src": "18085:1:25", "type": "", "value": "1" }, @@ -201483,83 +220458,83 @@ "arguments": [ { "kind": "number", - "nativeSrc": "18092:1:12", + "nativeSrc": "18092:1:25", "nodeType": "YulLiteral", - "src": "18092:1:12", + "src": "18092:1:25", "type": "", "value": "1" }, { "name": "vs", - "nativeSrc": "18095:2:12", + "nativeSrc": "18095:2:25", "nodeType": "YulIdentifier", - "src": "18095:2:12" + "src": "18095:2:25" } ], "functionName": { "name": "shl", - "nativeSrc": "18088:3:12", + "nativeSrc": "18088:3:25", "nodeType": "YulIdentifier", - "src": "18088:3:12" + "src": "18088:3:25" }, - "nativeSrc": "18088:10:12", + "nativeSrc": "18088:10:25", "nodeType": "YulFunctionCall", - "src": "18088:10:12" + "src": "18088:10:25" } ], "functionName": { "name": "shr", - "nativeSrc": "18081:3:12", + "nativeSrc": "18081:3:25", "nodeType": "YulIdentifier", - "src": "18081:3:12" + "src": "18081:3:25" }, - "nativeSrc": "18081:18:12", + "nativeSrc": "18081:18:25", "nodeType": "YulFunctionCall", - "src": "18081:18:12" + "src": "18081:18:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "18068:6:12", + "nativeSrc": "18068:6:25", "nodeType": "YulIdentifier", - "src": "18068:6:12" + "src": "18068:6:25" }, - "nativeSrc": "18068:32:12", + "nativeSrc": "18068:32:25", "nodeType": "YulFunctionCall", - "src": "18068:32:12" + "src": "18068:32:25" }, - "nativeSrc": "18068:32:12", + "nativeSrc": "18068:32:25", "nodeType": "YulExpressionStatement", - "src": "18068:32:12" + "src": "18068:32:25" } ] }, - "nativeSrc": "17916:210:12", + "nativeSrc": "17916:210:25", "nodeType": "YulCase", - "src": "17916:210:12", + "src": "17916:210:25", "value": { "kind": "number", - "nativeSrc": "17921:2:12", + "nativeSrc": "17921:2:25", "nodeType": "YulLiteral", - "src": "17921:2:12", + "src": "17921:2:25", "type": "", "value": "64" } }, { "body": { - "nativeSrc": "18151:168:12", + "nativeSrc": "18151:168:25", "nodeType": "YulBlock", - "src": "18151:168:12", + "src": "18151:168:25", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "18180:4:12", + "nativeSrc": "18180:4:25", "nodeType": "YulLiteral", - "src": "18180:4:12", + "src": "18180:4:25", "type": "", "value": "0x20" }, @@ -201567,9 +220542,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "18191:1:12", + "nativeSrc": "18191:1:25", "nodeType": "YulLiteral", - "src": "18191:1:12", + "src": "18191:1:25", "type": "", "value": "0" }, @@ -201579,74 +220554,74 @@ "arguments": [ { "name": "signature", - "nativeSrc": "18204:9:12", + "nativeSrc": "18204:9:25", "nodeType": "YulIdentifier", - "src": "18204:9:12" + "src": "18204:9:25" }, { "kind": "number", - "nativeSrc": "18215:4:12", + "nativeSrc": "18215:4:25", "nodeType": "YulLiteral", - "src": "18215:4:12", + "src": "18215:4:25", "type": "", "value": "0x60" } ], "functionName": { "name": "add", - "nativeSrc": "18200:3:12", + "nativeSrc": "18200:3:25", "nodeType": "YulIdentifier", - "src": "18200:3:12" + "src": "18200:3:25" }, - "nativeSrc": "18200:20:12", + "nativeSrc": "18200:20:25", "nodeType": "YulFunctionCall", - "src": "18200:20:12" + "src": "18200:20:25" } ], "functionName": { "name": "mload", - "nativeSrc": "18194:5:12", + "nativeSrc": "18194:5:25", "nodeType": "YulIdentifier", - "src": "18194:5:12" + "src": "18194:5:25" }, - "nativeSrc": "18194:27:12", + "nativeSrc": "18194:27:25", "nodeType": "YulFunctionCall", - "src": "18194:27:12" + "src": "18194:27:25" } ], "functionName": { "name": "byte", - "nativeSrc": "18186:4:12", + "nativeSrc": "18186:4:25", "nodeType": "YulIdentifier", - "src": "18186:4:12" + "src": "18186:4:25" }, - "nativeSrc": "18186:36:12", + "nativeSrc": "18186:36:25", "nodeType": "YulFunctionCall", - "src": "18186:36:12" + "src": "18186:36:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "18173:6:12", + "nativeSrc": "18173:6:25", "nodeType": "YulIdentifier", - "src": "18173:6:12" + "src": "18173:6:25" }, - "nativeSrc": "18173:50:12", + "nativeSrc": "18173:50:25", "nodeType": "YulFunctionCall", - "src": "18173:50:12" + "src": "18173:50:25" }, - "nativeSrc": "18173:50:12", + "nativeSrc": "18173:50:25", "nodeType": "YulExpressionStatement", - "src": "18173:50:12" + "src": "18173:50:25" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "18259:4:12", + "nativeSrc": "18259:4:25", "nodeType": "YulLiteral", - "src": "18259:4:12", + "src": "18259:4:25", "type": "", "value": "0x60" }, @@ -201656,129 +220631,129 @@ "arguments": [ { "name": "signature", - "nativeSrc": "18275:9:12", + "nativeSrc": "18275:9:25", "nodeType": "YulIdentifier", - "src": "18275:9:12" + "src": "18275:9:25" }, { "kind": "number", - "nativeSrc": "18286:4:12", + "nativeSrc": "18286:4:25", "nodeType": "YulLiteral", - "src": "18286:4:12", + "src": "18286:4:25", "type": "", "value": "0x40" } ], "functionName": { "name": "add", - "nativeSrc": "18271:3:12", + "nativeSrc": "18271:3:25", "nodeType": "YulIdentifier", - "src": "18271:3:12" + "src": "18271:3:25" }, - "nativeSrc": "18271:20:12", + "nativeSrc": "18271:20:25", "nodeType": "YulFunctionCall", - "src": "18271:20:12" + "src": "18271:20:25" } ], "functionName": { "name": "mload", - "nativeSrc": "18265:5:12", + "nativeSrc": "18265:5:25", "nodeType": "YulIdentifier", - "src": "18265:5:12" + "src": "18265:5:25" }, - "nativeSrc": "18265:27:12", + "nativeSrc": "18265:27:25", "nodeType": "YulFunctionCall", - "src": "18265:27:12" + "src": "18265:27:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "18252:6:12", + "nativeSrc": "18252:6:25", "nodeType": "YulIdentifier", - "src": "18252:6:12" + "src": "18252:6:25" }, - "nativeSrc": "18252:41:12", + "nativeSrc": "18252:41:25", "nodeType": "YulFunctionCall", - "src": "18252:41:12" + "src": "18252:41:25" }, - "nativeSrc": "18252:41:12", + "nativeSrc": "18252:41:25", "nodeType": "YulExpressionStatement", - "src": "18252:41:12" + "src": "18252:41:25" } ] }, - "nativeSrc": "18143:176:12", + "nativeSrc": "18143:176:25", "nodeType": "YulCase", - "src": "18143:176:12", + "src": "18143:176:25", "value": { "kind": "number", - "nativeSrc": "18148:2:12", + "nativeSrc": "18148:2:25", "nodeType": "YulLiteral", - "src": "18148:2:12", + "src": "18148:2:25", "type": "", "value": "65" } }, { "body": { - "nativeSrc": "18344:9:12", + "nativeSrc": "18344:9:25", "nodeType": "YulBlock", - "src": "18344:9:12", + "src": "18344:9:25", "statements": [ { - "nativeSrc": "18346:5:12", + "nativeSrc": "18346:5:25", "nodeType": "YulBreak", - "src": "18346:5:12" + "src": "18346:5:25" } ] }, - "nativeSrc": "18336:17:12", + "nativeSrc": "18336:17:25", "nodeType": "YulCase", - "src": "18336:17:12", + "src": "18336:17:25", "value": "default" } ], "expression": { "name": "n", - "nativeSrc": "17898:1:12", + "nativeSrc": "17898:1:25", "nodeType": "YulIdentifier", - "src": "17898:1:12" + "src": "17898:1:25" }, - "nativeSrc": "17891:462:12", + "nativeSrc": "17891:462:25", "nodeType": "YulSwitch", - "src": "17891:462:12" + "src": "17891:462:25" }, { - "nativeSrc": "18370:20:12", + "nativeSrc": "18370:20:25", "nodeType": "YulVariableDeclaration", - "src": "18370:20:12", + "src": "18370:20:25", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "18385:4:12", + "nativeSrc": "18385:4:25", "nodeType": "YulLiteral", - "src": "18385:4:12", + "src": "18385:4:25", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "18379:5:12", + "nativeSrc": "18379:5:25", "nodeType": "YulIdentifier", - "src": "18379:5:12" + "src": "18379:5:25" }, - "nativeSrc": "18379:11:12", + "nativeSrc": "18379:11:25", "nodeType": "YulFunctionCall", - "src": "18379:11:12" + "src": "18379:11:25" }, "variables": [ { "name": "m", - "nativeSrc": "18374:1:12", + "nativeSrc": "18374:1:25", "nodeType": "YulTypedName", - "src": "18374:1:12", + "src": "18374:1:25", "type": "" } ] @@ -201788,41 +220763,41 @@ "arguments": [ { "kind": "number", - "nativeSrc": "18414:4:12", + "nativeSrc": "18414:4:25", "nodeType": "YulLiteral", - "src": "18414:4:12", + "src": "18414:4:25", "type": "", "value": "0x00" }, { "name": "hash", - "nativeSrc": "18420:4:12", + "nativeSrc": "18420:4:25", "nodeType": "YulIdentifier", - "src": "18420:4:12" + "src": "18420:4:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "18407:6:12", + "nativeSrc": "18407:6:25", "nodeType": "YulIdentifier", - "src": "18407:6:12" + "src": "18407:6:25" }, - "nativeSrc": "18407:18:12", + "nativeSrc": "18407:18:25", "nodeType": "YulFunctionCall", - "src": "18407:18:12" + "src": "18407:18:25" }, - "nativeSrc": "18407:18:12", + "nativeSrc": "18407:18:25", "nodeType": "YulExpressionStatement", - "src": "18407:18:12" + "src": "18407:18:25" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "18449:4:12", + "nativeSrc": "18449:4:25", "nodeType": "YulLiteral", - "src": "18449:4:12", + "src": "18449:4:25", "type": "", "value": "0x40" }, @@ -201832,59 +220807,59 @@ "arguments": [ { "name": "signature", - "nativeSrc": "18465:9:12", + "nativeSrc": "18465:9:25", "nodeType": "YulIdentifier", - "src": "18465:9:12" + "src": "18465:9:25" }, { "kind": "number", - "nativeSrc": "18476:4:12", + "nativeSrc": "18476:4:25", "nodeType": "YulLiteral", - "src": "18476:4:12", + "src": "18476:4:25", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "18461:3:12", + "nativeSrc": "18461:3:25", "nodeType": "YulIdentifier", - "src": "18461:3:12" + "src": "18461:3:25" }, - "nativeSrc": "18461:20:12", + "nativeSrc": "18461:20:25", "nodeType": "YulFunctionCall", - "src": "18461:20:12" + "src": "18461:20:25" } ], "functionName": { "name": "mload", - "nativeSrc": "18455:5:12", + "nativeSrc": "18455:5:25", "nodeType": "YulIdentifier", - "src": "18455:5:12" + "src": "18455:5:25" }, - "nativeSrc": "18455:27:12", + "nativeSrc": "18455:27:25", "nodeType": "YulFunctionCall", - "src": "18455:27:12" + "src": "18455:27:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "18442:6:12", + "nativeSrc": "18442:6:25", "nodeType": "YulIdentifier", - "src": "18442:6:12" + "src": "18442:6:25" }, - "nativeSrc": "18442:41:12", + "nativeSrc": "18442:41:25", "nodeType": "YulFunctionCall", - "src": "18442:41:12" + "src": "18442:41:25" }, - "nativeSrc": "18442:41:12", + "nativeSrc": "18442:41:25", "nodeType": "YulExpressionStatement", - "src": "18442:41:12" + "src": "18442:41:25" }, { - "nativeSrc": "18508:68:12", + "nativeSrc": "18508:68:25", "nodeType": "YulVariableDeclaration", - "src": "18508:68:12", + "src": "18508:68:25", "value": { "arguments": [ { @@ -201893,111 +220868,111 @@ "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "18542:3:12", + "nativeSrc": "18542:3:25", "nodeType": "YulIdentifier", - "src": "18542:3:12" + "src": "18542:3:25" }, - "nativeSrc": "18542:5:12", + "nativeSrc": "18542:5:25", "nodeType": "YulFunctionCall", - "src": "18542:5:12" + "src": "18542:5:25" }, { "kind": "number", - "nativeSrc": "18549:1:12", + "nativeSrc": "18549:1:25", "nodeType": "YulLiteral", - "src": "18549:1:12", + "src": "18549:1:25", "type": "", "value": "1" }, { "kind": "number", - "nativeSrc": "18552:4:12", + "nativeSrc": "18552:4:25", "nodeType": "YulLiteral", - "src": "18552:4:12", + "src": "18552:4:25", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "18558:4:12", + "nativeSrc": "18558:4:25", "nodeType": "YulLiteral", - "src": "18558:4:12", + "src": "18558:4:25", "type": "", "value": "0x80" }, { "kind": "number", - "nativeSrc": "18564:4:12", + "nativeSrc": "18564:4:25", "nodeType": "YulLiteral", - "src": "18564:4:12", + "src": "18564:4:25", "type": "", "value": "0x01" }, { "kind": "number", - "nativeSrc": "18570:4:12", + "nativeSrc": "18570:4:25", "nodeType": "YulLiteral", - "src": "18570:4:12", + "src": "18570:4:25", "type": "", "value": "0x20" } ], "functionName": { "name": "staticcall", - "nativeSrc": "18531:10:12", + "nativeSrc": "18531:10:25", "nodeType": "YulIdentifier", - "src": "18531:10:12" + "src": "18531:10:25" }, - "nativeSrc": "18531:44:12", + "nativeSrc": "18531:44:25", "nodeType": "YulFunctionCall", - "src": "18531:44:12" + "src": "18531:44:25" } ], "functionName": { "name": "mload", - "nativeSrc": "18525:5:12", + "nativeSrc": "18525:5:25", "nodeType": "YulIdentifier", - "src": "18525:5:12" + "src": "18525:5:25" }, - "nativeSrc": "18525:51:12", + "nativeSrc": "18525:51:25", "nodeType": "YulFunctionCall", - "src": "18525:51:12" + "src": "18525:51:25" }, "variables": [ { "name": "recovered", - "nativeSrc": "18512:9:12", + "nativeSrc": "18512:9:25", "nodeType": "YulTypedName", - "src": "18512:9:12", + "src": "18512:9:25", "type": "" } ] }, { - "nativeSrc": "18593:64:12", + "nativeSrc": "18593:64:25", "nodeType": "YulAssignment", - "src": "18593:64:12", + "src": "18593:64:25", "value": { "arguments": [ { "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "18607:14:12", + "nativeSrc": "18607:14:25", "nodeType": "YulIdentifier", - "src": "18607:14:12" + "src": "18607:14:25" }, - "nativeSrc": "18607:16:12", + "nativeSrc": "18607:16:25", "nodeType": "YulFunctionCall", - "src": "18607:16:12" + "src": "18607:16:25" }, { "arguments": [ { "kind": "number", - "nativeSrc": "18629:2:12", + "nativeSrc": "18629:2:25", "nodeType": "YulLiteral", - "src": "18629:2:12", + "src": "18629:2:25", "type": "", "value": "96" }, @@ -202005,55 +220980,55 @@ "arguments": [ { "name": "signer", - "nativeSrc": "18637:6:12", + "nativeSrc": "18637:6:25", "nodeType": "YulIdentifier", - "src": "18637:6:12" + "src": "18637:6:25" }, { "name": "recovered", - "nativeSrc": "18645:9:12", + "nativeSrc": "18645:9:25", "nodeType": "YulIdentifier", - "src": "18645:9:12" + "src": "18645:9:25" } ], "functionName": { "name": "xor", - "nativeSrc": "18633:3:12", + "nativeSrc": "18633:3:25", "nodeType": "YulIdentifier", - "src": "18633:3:12" + "src": "18633:3:25" }, - "nativeSrc": "18633:22:12", + "nativeSrc": "18633:22:25", "nodeType": "YulFunctionCall", - "src": "18633:22:12" + "src": "18633:22:25" } ], "functionName": { "name": "shl", - "nativeSrc": "18625:3:12", + "nativeSrc": "18625:3:25", "nodeType": "YulIdentifier", - "src": "18625:3:12" + "src": "18625:3:25" }, - "nativeSrc": "18625:31:12", + "nativeSrc": "18625:31:25", "nodeType": "YulFunctionCall", - "src": "18625:31:12" + "src": "18625:31:25" } ], "functionName": { "name": "gt", - "nativeSrc": "18604:2:12", + "nativeSrc": "18604:2:25", "nodeType": "YulIdentifier", - "src": "18604:2:12" + "src": "18604:2:25" }, - "nativeSrc": "18604:53:12", + "nativeSrc": "18604:53:25", "nodeType": "YulFunctionCall", - "src": "18604:53:12" + "src": "18604:53:25" }, "variableNames": [ { "name": "isValid", - "nativeSrc": "18593:7:12", + "nativeSrc": "18593:7:25", "nodeType": "YulIdentifier", - "src": "18593:7:12" + "src": "18593:7:25" } ] }, @@ -202062,71 +221037,71 @@ "arguments": [ { "kind": "number", - "nativeSrc": "18681:4:12", + "nativeSrc": "18681:4:25", "nodeType": "YulLiteral", - "src": "18681:4:12", + "src": "18681:4:25", "type": "", "value": "0x60" }, { "kind": "number", - "nativeSrc": "18687:1:12", + "nativeSrc": "18687:1:25", "nodeType": "YulLiteral", - "src": "18687:1:12", + "src": "18687:1:25", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "18674:6:12", + "nativeSrc": "18674:6:25", "nodeType": "YulIdentifier", - "src": "18674:6:12" + "src": "18674:6:25" }, - "nativeSrc": "18674:15:12", + "nativeSrc": "18674:15:25", "nodeType": "YulFunctionCall", - "src": "18674:15:12" + "src": "18674:15:25" }, - "nativeSrc": "18674:15:12", + "nativeSrc": "18674:15:25", "nodeType": "YulExpressionStatement", - "src": "18674:15:12" + "src": "18674:15:25" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "18739:4:12", + "nativeSrc": "18739:4:25", "nodeType": "YulLiteral", - "src": "18739:4:12", + "src": "18739:4:25", "type": "", "value": "0x40" }, { "name": "m", - "nativeSrc": "18745:1:12", + "nativeSrc": "18745:1:25", "nodeType": "YulIdentifier", - "src": "18745:1:12" + "src": "18745:1:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "18732:6:12", + "nativeSrc": "18732:6:25", "nodeType": "YulIdentifier", - "src": "18732:6:12" + "src": "18732:6:25" }, - "nativeSrc": "18732:15:12", + "nativeSrc": "18732:15:25", "nodeType": "YulFunctionCall", - "src": "18732:15:12" + "src": "18732:15:25" }, - "nativeSrc": "18732:15:12", + "nativeSrc": "18732:15:25", "nodeType": "YulExpressionStatement", - "src": "18732:15:12" + "src": "18732:15:25" }, { - "nativeSrc": "18800:5:12", + "nativeSrc": "18800:5:25", "nodeType": "YulBreak", - "src": "18800:5:12" + "src": "18800:5:25" } ] }, @@ -202134,42 +221109,42 @@ "arguments": [ { "name": "noCode", - "nativeSrc": "17853:6:12", + "nativeSrc": "17853:6:25", "nodeType": "YulIdentifier", - "src": "17853:6:12" + "src": "17853:6:25" }, { "name": "isValid", - "nativeSrc": "17861:7:12", + "nativeSrc": "17861:7:25", "nodeType": "YulIdentifier", - "src": "17861:7:12" + "src": "17861:7:25" } ], "functionName": { "name": "gt", - "nativeSrc": "17850:2:12", + "nativeSrc": "17850:2:25", "nodeType": "YulIdentifier", - "src": "17850:2:12" + "src": "17850:2:25" }, - "nativeSrc": "17850:19:12", + "nativeSrc": "17850:19:25", "nodeType": "YulFunctionCall", - "src": "17850:19:12" + "src": "17850:19:25" }, - "nativeSrc": "17843:976:12", + "nativeSrc": "17843:976:25", "nodeType": "YulForLoop", "post": { - "nativeSrc": "17870:2:12", + "nativeSrc": "17870:2:25", "nodeType": "YulBlock", - "src": "17870:2:12", + "src": "17870:2:25", "statements": [] }, "pre": { - "nativeSrc": "17847:2:12", + "nativeSrc": "17847:2:25", "nodeType": "YulBlock", - "src": "17847:2:12", + "src": "17847:2:25", "statements": [] }, - "src": "17843:976:12" + "src": "17843:976:25" } ] }, @@ -202177,213 +221152,213 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 6302, + "declaration": 7908, "isOffset": false, "isSlot": false, - "src": "16684:4:12", + "src": "16684:4:25", "valueSize": 1 }, { - "declaration": 6302, + "declaration": 7908, "isOffset": false, "isSlot": false, - "src": "16913:4:12", + "src": "16913:4:25", "valueSize": 1 }, { - "declaration": 6302, + "declaration": 7908, "isOffset": false, "isSlot": false, - "src": "17115:4:12", + "src": "17115:4:25", "valueSize": 1 }, { - "declaration": 6302, + "declaration": 7908, "isOffset": false, "isSlot": false, - "src": "18420:4:12", + "src": "18420:4:25", "valueSize": 1 }, { - "declaration": 6307, + "declaration": 7913, "isOffset": false, "isSlot": false, - "src": "16581:7:12", + "src": "16581:7:25", "valueSize": 1 }, { - "declaration": 6307, + "declaration": 7913, "isOffset": false, "isSlot": false, - "src": "16644:7:12", + "src": "16644:7:25", "valueSize": 1 }, { - "declaration": 6307, + "declaration": 7913, "isOffset": false, "isSlot": false, - "src": "16873:7:12", + "src": "16873:7:25", "valueSize": 1 }, { - "declaration": 6307, + "declaration": 7913, "isOffset": false, "isSlot": false, - "src": "16971:7:12", + "src": "16971:7:25", "valueSize": 1 }, { - "declaration": 6307, + "declaration": 7913, "isOffset": false, "isSlot": false, - "src": "17703:7:12", + "src": "17703:7:25", "valueSize": 1 }, { - "declaration": 6307, + "declaration": 7913, "isOffset": false, "isSlot": false, - "src": "17861:7:12", + "src": "17861:7:25", "valueSize": 1 }, { - "declaration": 6307, + "declaration": 7913, "isOffset": false, "isSlot": false, - "src": "18593:7:12", + "src": "18593:7:25", "valueSize": 1 }, { - "declaration": 6304, + "declaration": 7910, "isOffset": false, "isSlot": false, - "src": "16469:9:12", + "src": "16469:9:25", "valueSize": 1 }, { - "declaration": 6304, + "declaration": 7910, "isOffset": false, "isSlot": false, - "src": "16545:9:12", + "src": "16545:9:25", "valueSize": 1 }, { - "declaration": 6304, + "declaration": 7910, "isOffset": false, "isSlot": false, - "src": "16690:9:12", + "src": "16690:9:25", "valueSize": 1 }, { - "declaration": 6304, + "declaration": 7910, "isOffset": false, "isSlot": false, - "src": "16816:9:12", + "src": "16816:9:25", "valueSize": 1 }, { - "declaration": 6304, + "declaration": 7910, "isOffset": false, "isSlot": false, - "src": "17539:9:12", + "src": "17539:9:25", "valueSize": 1 }, { - "declaration": 6304, + "declaration": 7910, "isOffset": false, "isSlot": false, - "src": "17966:9:12", + "src": "17966:9:25", "valueSize": 1 }, { - "declaration": 6304, + "declaration": 7910, "isOffset": false, "isSlot": false, - "src": "18204:9:12", + "src": "18204:9:25", "valueSize": 1 }, { - "declaration": 6304, + "declaration": 7910, "isOffset": false, "isSlot": false, - "src": "18275:9:12", + "src": "18275:9:25", "valueSize": 1 }, { - "declaration": 6304, + "declaration": 7910, "isOffset": false, "isSlot": false, - "src": "18465:9:12", + "src": "18465:9:25", "valueSize": 1 }, { - "declaration": 6300, + "declaration": 7906, "isOffset": false, "isSlot": false, - "src": "16433:6:12", + "src": "16433:6:25", "valueSize": 1 }, { - "declaration": 6300, + "declaration": 7906, "isOffset": false, "isSlot": false, - "src": "16676:6:12", + "src": "16676:6:25", "valueSize": 1 }, { - "declaration": 6300, + "declaration": 7906, "isOffset": false, "isSlot": false, - "src": "16905:6:12", + "src": "16905:6:25", "valueSize": 1 }, { - "declaration": 6300, + "declaration": 7906, "isOffset": false, "isSlot": false, - "src": "17070:6:12", + "src": "17070:6:25", "valueSize": 1 }, { - "declaration": 6300, + "declaration": 7906, "isOffset": false, "isSlot": false, - "src": "18637:6:12", + "src": "18637:6:25", "valueSize": 1 } ], - "id": 6309, + "id": 7915, "nodeType": "InlineAssembly", - "src": "15621:3208:12" + "src": "15621:3208:25" } ] }, "documentation": { - "id": 6298, + "id": 7904, "nodeType": "StructuredDocumentation", - "src": "14765:630:12", + "src": "14765:630:25", "text": "@dev Returns whether `signature` is valid for `hash`.\n If the signature is postfixed with the ERC6492 magic number, it will attempt to\n deploy / prepare the `signer` smart account before doing a regular ERC1271 check.\n Note: This function is NOT reentrancy safe.\n The verifier must be deployed.\n Otherwise, the function will return false if `signer` is not yet deployed / prepared.\n See: https://gist.github.com/Vectorized/011d6becff6e0a73e42fe100f8d7ef04\n With a dedicated verifier, this function is safe to use in contracts\n that have been granted special permissions." }, - "id": 6311, + "id": 7917, "implemented": true, "kind": "function", "modifiers": [], "name": "isValidERC6492SignatureNowAllowSideEffects", - "nameLocation": "15409:42:12", + "nameLocation": "15409:42:25", "nodeType": "FunctionDefinition", "parameters": { - "id": 6305, + "id": 7911, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6300, + "id": 7906, "mutability": "mutable", "name": "signer", - "nameLocation": "15469:6:12", + "nameLocation": "15469:6:25", "nodeType": "VariableDeclaration", - "scope": 6311, - "src": "15461:14:12", + "scope": 7917, + "src": "15461:14:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -202391,10 +221366,10 @@ "typeString": "address" }, "typeName": { - "id": 6299, + "id": 7905, "name": "address", "nodeType": "ElementaryTypeName", - "src": "15461:7:12", + "src": "15461:7:25", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -202405,13 +221380,13 @@ }, { "constant": false, - "id": 6302, + "id": 7908, "mutability": "mutable", "name": "hash", - "nameLocation": "15493:4:12", + "nameLocation": "15493:4:25", "nodeType": "VariableDeclaration", - "scope": 6311, - "src": "15485:12:12", + "scope": 7917, + "src": "15485:12:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -202419,10 +221394,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6301, + "id": 7907, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "15485:7:12", + "src": "15485:7:25", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -202432,13 +221407,13 @@ }, { "constant": false, - "id": 6304, + "id": 7910, "mutability": "mutable", "name": "signature", - "nameLocation": "15520:9:12", + "nameLocation": "15520:9:25", "nodeType": "VariableDeclaration", - "scope": 6311, - "src": "15507:22:12", + "scope": 7917, + "src": "15507:22:25", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -202446,10 +221421,10 @@ "typeString": "bytes" }, "typeName": { - "id": 6303, + "id": 7909, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "15507:5:12", + "src": "15507:5:25", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -202458,21 +221433,21 @@ "visibility": "internal" } ], - "src": "15451:84:12" + "src": "15451:84:25" }, "returnParameters": { - "id": 6308, + "id": 7914, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6307, + "id": 7913, "mutability": "mutable", "name": "isValid", - "nameLocation": "15559:7:12", + "nameLocation": "15559:7:25", "nodeType": "VariableDeclaration", - "scope": 6311, - "src": "15554:12:12", + "scope": 7917, + "src": "15554:12:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -202480,10 +221455,10 @@ "typeString": "bool" }, "typeName": { - "id": 6306, + "id": 7912, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "15554:4:12", + "src": "15554:4:25", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -202492,106 +221467,106 @@ "visibility": "internal" } ], - "src": "15553:14:12" + "src": "15553:14:25" }, - "scope": 6354, - "src": "15400:3435:12", + "scope": 7960, + "src": "15400:3435:25", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 6324, + "id": 7930, "nodeType": "Block", - "src": "19555:3324:12", + "src": "19555:3324:25", "statements": [ { "AST": { - "nativeSrc": "19617:3256:12", + "nativeSrc": "19617:3256:25", "nodeType": "YulBlock", - "src": "19617:3256:12", + "src": "19617:3256:25", "statements": [ { "body": { - "nativeSrc": "19701:673:12", + "nativeSrc": "19701:673:25", "nodeType": "YulBlock", - "src": "19701:673:12", + "src": "19701:673:25", "statements": [ { - "nativeSrc": "19719:21:12", + "nativeSrc": "19719:21:25", "nodeType": "YulVariableDeclaration", - "src": "19719:21:12", + "src": "19719:21:25", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "19735:4:12", + "nativeSrc": "19735:4:25", "nodeType": "YulLiteral", - "src": "19735:4:12", + "src": "19735:4:25", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "19729:5:12", + "nativeSrc": "19729:5:25", "nodeType": "YulIdentifier", - "src": "19729:5:12" + "src": "19729:5:25" }, - "nativeSrc": "19729:11:12", + "nativeSrc": "19729:11:25", "nodeType": "YulFunctionCall", - "src": "19729:11:12" + "src": "19729:11:25" }, "variables": [ { "name": "m_", - "nativeSrc": "19723:2:12", + "nativeSrc": "19723:2:25", "nodeType": "YulTypedName", - "src": "19723:2:12", + "src": "19723:2:25", "type": "" } ] }, { - "nativeSrc": "19757:30:12", + "nativeSrc": "19757:30:25", "nodeType": "YulVariableDeclaration", - "src": "19757:30:12", + "src": "19757:30:25", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "19771:3:12", + "nativeSrc": "19771:3:25", "nodeType": "YulLiteral", - "src": "19771:3:12", + "src": "19771:3:25", "type": "", "value": "224" }, { "kind": "number", - "nativeSrc": "19776:10:12", + "nativeSrc": "19776:10:25", "nodeType": "YulLiteral", - "src": "19776:10:12", + "src": "19776:10:25", "type": "", "value": "0x1626ba7e" } ], "functionName": { "name": "shl", - "nativeSrc": "19767:3:12", + "nativeSrc": "19767:3:25", "nodeType": "YulIdentifier", - "src": "19767:3:12" + "src": "19767:3:25" }, - "nativeSrc": "19767:20:12", + "nativeSrc": "19767:20:25", "nodeType": "YulFunctionCall", - "src": "19767:20:12" + "src": "19767:20:25" }, "variables": [ { "name": "f_", - "nativeSrc": "19761:2:12", + "nativeSrc": "19761:2:25", "nodeType": "YulTypedName", - "src": "19761:2:12", + "src": "19761:2:25", "type": "" } ] @@ -202601,30 +221576,30 @@ "arguments": [ { "name": "m_", - "nativeSrc": "19811:2:12", + "nativeSrc": "19811:2:25", "nodeType": "YulIdentifier", - "src": "19811:2:12" + "src": "19811:2:25" }, { "name": "f_", - "nativeSrc": "19815:2:12", + "nativeSrc": "19815:2:25", "nodeType": "YulIdentifier", - "src": "19815:2:12" + "src": "19815:2:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "19804:6:12", + "nativeSrc": "19804:6:25", "nodeType": "YulIdentifier", - "src": "19804:6:12" + "src": "19804:6:25" }, - "nativeSrc": "19804:14:12", + "nativeSrc": "19804:14:25", "nodeType": "YulFunctionCall", - "src": "19804:14:12" + "src": "19804:14:25" }, - "nativeSrc": "19804:14:12", + "nativeSrc": "19804:14:25", "nodeType": "YulExpressionStatement", - "src": "19804:14:12" + "src": "19804:14:25" }, { "expression": { @@ -202633,87 +221608,87 @@ "arguments": [ { "name": "m_", - "nativeSrc": "19905:2:12", + "nativeSrc": "19905:2:25", "nodeType": "YulIdentifier", - "src": "19905:2:12" + "src": "19905:2:25" }, { "kind": "number", - "nativeSrc": "19909:4:12", + "nativeSrc": "19909:4:25", "nodeType": "YulLiteral", - "src": "19909:4:12", + "src": "19909:4:25", "type": "", "value": "0x04" } ], "functionName": { "name": "add", - "nativeSrc": "19901:3:12", + "nativeSrc": "19901:3:25", "nodeType": "YulIdentifier", - "src": "19901:3:12" + "src": "19901:3:25" }, - "nativeSrc": "19901:13:12", + "nativeSrc": "19901:13:25", "nodeType": "YulFunctionCall", - "src": "19901:13:12" + "src": "19901:13:25" }, { "name": "hash_", - "nativeSrc": "19916:5:12", + "nativeSrc": "19916:5:25", "nodeType": "YulIdentifier", - "src": "19916:5:12" + "src": "19916:5:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "19894:6:12", + "nativeSrc": "19894:6:25", "nodeType": "YulIdentifier", - "src": "19894:6:12" + "src": "19894:6:25" }, - "nativeSrc": "19894:28:12", + "nativeSrc": "19894:28:25", "nodeType": "YulFunctionCall", - "src": "19894:28:12" + "src": "19894:28:25" }, - "nativeSrc": "19894:28:12", + "nativeSrc": "19894:28:25", "nodeType": "YulExpressionStatement", - "src": "19894:28:12" + "src": "19894:28:25" }, { - "nativeSrc": "19939:23:12", + "nativeSrc": "19939:23:25", "nodeType": "YulVariableDeclaration", - "src": "19939:23:12", + "src": "19939:23:25", "value": { "arguments": [ { "name": "m_", - "nativeSrc": "19953:2:12", + "nativeSrc": "19953:2:25", "nodeType": "YulIdentifier", - "src": "19953:2:12" + "src": "19953:2:25" }, { "kind": "number", - "nativeSrc": "19957:4:12", + "nativeSrc": "19957:4:25", "nodeType": "YulLiteral", - "src": "19957:4:12", + "src": "19957:4:25", "type": "", "value": "0x24" } ], "functionName": { "name": "add", - "nativeSrc": "19949:3:12", + "nativeSrc": "19949:3:25", "nodeType": "YulIdentifier", - "src": "19949:3:12" + "src": "19949:3:25" }, - "nativeSrc": "19949:13:12", + "nativeSrc": "19949:13:25", "nodeType": "YulFunctionCall", - "src": "19949:13:12" + "src": "19949:13:25" }, "variables": [ { "name": "d_", - "nativeSrc": "19943:2:12", + "nativeSrc": "19943:2:25", "nodeType": "YulTypedName", - "src": "19943:2:12", + "src": "19943:2:25", "type": "" } ] @@ -202723,44 +221698,44 @@ "arguments": [ { "name": "d_", - "nativeSrc": "19986:2:12", + "nativeSrc": "19986:2:25", "nodeType": "YulIdentifier", - "src": "19986:2:12" + "src": "19986:2:25" }, { "kind": "number", - "nativeSrc": "19990:4:12", + "nativeSrc": "19990:4:25", "nodeType": "YulLiteral", - "src": "19990:4:12", + "src": "19990:4:25", "type": "", "value": "0x40" } ], "functionName": { "name": "mstore", - "nativeSrc": "19979:6:12", + "nativeSrc": "19979:6:25", "nodeType": "YulIdentifier", - "src": "19979:6:12" + "src": "19979:6:25" }, - "nativeSrc": "19979:16:12", + "nativeSrc": "19979:16:25", "nodeType": "YulFunctionCall", - "src": "19979:16:12" + "src": "19979:16:25" }, - "nativeSrc": "19979:16:12", + "nativeSrc": "19979:16:25", "nodeType": "YulExpressionStatement", - "src": "19979:16:12" + "src": "19979:16:25" }, { - "nativeSrc": "20062:38:12", + "nativeSrc": "20062:38:25", "nodeType": "YulVariableDeclaration", - "src": "20062:38:12", + "src": "20062:38:25", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "20076:4:12", + "nativeSrc": "20076:4:25", "nodeType": "YulLiteral", - "src": "20076:4:12", + "src": "20076:4:25", "type": "", "value": "0x20" }, @@ -202768,163 +221743,163 @@ "arguments": [ { "name": "signature_", - "nativeSrc": "20088:10:12", + "nativeSrc": "20088:10:25", "nodeType": "YulIdentifier", - "src": "20088:10:12" + "src": "20088:10:25" } ], "functionName": { "name": "mload", - "nativeSrc": "20082:5:12", + "nativeSrc": "20082:5:25", "nodeType": "YulIdentifier", - "src": "20082:5:12" + "src": "20082:5:25" }, - "nativeSrc": "20082:17:12", + "nativeSrc": "20082:17:25", "nodeType": "YulFunctionCall", - "src": "20082:17:12" + "src": "20082:17:25" } ], "functionName": { "name": "add", - "nativeSrc": "20072:3:12", + "nativeSrc": "20072:3:25", "nodeType": "YulIdentifier", - "src": "20072:3:12" + "src": "20072:3:25" }, - "nativeSrc": "20072:28:12", + "nativeSrc": "20072:28:25", "nodeType": "YulFunctionCall", - "src": "20072:28:12" + "src": "20072:28:25" }, "variables": [ { "name": "n_", - "nativeSrc": "20066:2:12", + "nativeSrc": "20066:2:25", "nodeType": "YulTypedName", - "src": "20066:2:12", + "src": "20066:2:25", "type": "" } ] }, { - "nativeSrc": "20117:70:12", + "nativeSrc": "20117:70:25", "nodeType": "YulVariableDeclaration", - "src": "20117:70:12", + "src": "20117:70:25", "value": { "arguments": [ { "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "20143:3:12", + "nativeSrc": "20143:3:25", "nodeType": "YulIdentifier", - "src": "20143:3:12" + "src": "20143:3:25" }, - "nativeSrc": "20143:5:12", + "nativeSrc": "20143:5:25", "nodeType": "YulFunctionCall", - "src": "20143:5:12" + "src": "20143:5:25" }, { "kind": "number", - "nativeSrc": "20150:1:12", + "nativeSrc": "20150:1:25", "nodeType": "YulLiteral", - "src": "20150:1:12", + "src": "20150:1:25", "type": "", "value": "4" }, { "name": "signature_", - "nativeSrc": "20153:10:12", + "nativeSrc": "20153:10:25", "nodeType": "YulIdentifier", - "src": "20153:10:12" + "src": "20153:10:25" }, { "name": "n_", - "nativeSrc": "20165:2:12", + "nativeSrc": "20165:2:25", "nodeType": "YulIdentifier", - "src": "20165:2:12" + "src": "20165:2:25" }, { "arguments": [ { "name": "m_", - "nativeSrc": "20173:2:12", + "nativeSrc": "20173:2:25", "nodeType": "YulIdentifier", - "src": "20173:2:12" + "src": "20173:2:25" }, { "kind": "number", - "nativeSrc": "20177:4:12", + "nativeSrc": "20177:4:25", "nodeType": "YulLiteral", - "src": "20177:4:12", + "src": "20177:4:25", "type": "", "value": "0x44" } ], "functionName": { "name": "add", - "nativeSrc": "20169:3:12", + "nativeSrc": "20169:3:25", "nodeType": "YulIdentifier", - "src": "20169:3:12" + "src": "20169:3:25" }, - "nativeSrc": "20169:13:12", + "nativeSrc": "20169:13:25", "nodeType": "YulFunctionCall", - "src": "20169:13:12" + "src": "20169:13:25" }, { "name": "n_", - "nativeSrc": "20184:2:12", + "nativeSrc": "20184:2:25", "nodeType": "YulIdentifier", - "src": "20184:2:12" + "src": "20184:2:25" } ], "functionName": { "name": "staticcall", - "nativeSrc": "20132:10:12", + "nativeSrc": "20132:10:25", "nodeType": "YulIdentifier", - "src": "20132:10:12" + "src": "20132:10:25" }, - "nativeSrc": "20132:55:12", + "nativeSrc": "20132:55:25", "nodeType": "YulFunctionCall", - "src": "20132:55:12" + "src": "20132:55:25" }, "variables": [ { "name": "copied_", - "nativeSrc": "20121:7:12", + "nativeSrc": "20121:7:25", "nodeType": "YulTypedName", - "src": "20121:7:12", + "src": "20121:7:25", "type": "" } ] }, { - "nativeSrc": "20204:81:12", + "nativeSrc": "20204:81:25", "nodeType": "YulAssignment", - "src": "20204:81:12", + "src": "20204:81:25", "value": { "arguments": [ { "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "20227:3:12", + "nativeSrc": "20227:3:25", "nodeType": "YulIdentifier", - "src": "20227:3:12" + "src": "20227:3:25" }, - "nativeSrc": "20227:5:12", + "nativeSrc": "20227:5:25", "nodeType": "YulFunctionCall", - "src": "20227:5:12" + "src": "20227:5:25" }, { "name": "signer_", - "nativeSrc": "20234:7:12", + "nativeSrc": "20234:7:25", "nodeType": "YulIdentifier", - "src": "20234:7:12" + "src": "20234:7:25" }, { "name": "m_", - "nativeSrc": "20243:2:12", + "nativeSrc": "20243:2:25", "nodeType": "YulIdentifier", - "src": "20243:2:12" + "src": "20243:2:25" }, { "arguments": [ @@ -202932,71 +221907,71 @@ "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "20251:14:12", + "nativeSrc": "20251:14:25", "nodeType": "YulIdentifier", - "src": "20251:14:12" + "src": "20251:14:25" }, - "nativeSrc": "20251:16:12", + "nativeSrc": "20251:16:25", "nodeType": "YulFunctionCall", - "src": "20251:16:12" + "src": "20251:16:25" }, { "kind": "number", - "nativeSrc": "20269:4:12", + "nativeSrc": "20269:4:25", "nodeType": "YulLiteral", - "src": "20269:4:12", + "src": "20269:4:25", "type": "", "value": "0x44" } ], "functionName": { "name": "add", - "nativeSrc": "20247:3:12", + "nativeSrc": "20247:3:25", "nodeType": "YulIdentifier", - "src": "20247:3:12" + "src": "20247:3:25" }, - "nativeSrc": "20247:27:12", + "nativeSrc": "20247:27:25", "nodeType": "YulFunctionCall", - "src": "20247:27:12" + "src": "20247:27:25" }, { "name": "d_", - "nativeSrc": "20276:2:12", + "nativeSrc": "20276:2:25", "nodeType": "YulIdentifier", - "src": "20276:2:12" + "src": "20276:2:25" }, { "kind": "number", - "nativeSrc": "20280:4:12", + "nativeSrc": "20280:4:25", "nodeType": "YulLiteral", - "src": "20280:4:12", + "src": "20280:4:25", "type": "", "value": "0x20" } ], "functionName": { "name": "staticcall", - "nativeSrc": "20216:10:12", + "nativeSrc": "20216:10:25", "nodeType": "YulIdentifier", - "src": "20216:10:12" + "src": "20216:10:25" }, - "nativeSrc": "20216:69:12", + "nativeSrc": "20216:69:25", "nodeType": "YulFunctionCall", - "src": "20216:69:12" + "src": "20216:69:25" }, "variableNames": [ { "name": "_isValid", - "nativeSrc": "20204:8:12", + "nativeSrc": "20204:8:25", "nodeType": "YulIdentifier", - "src": "20204:8:12" + "src": "20204:8:25" } ] }, { - "nativeSrc": "20302:58:12", + "nativeSrc": "20302:58:25", "nodeType": "YulAssignment", - "src": "20302:58:12", + "src": "20302:58:25", "value": { "arguments": [ { @@ -203005,260 +221980,260 @@ "arguments": [ { "name": "d_", - "nativeSrc": "20327:2:12", + "nativeSrc": "20327:2:25", "nodeType": "YulIdentifier", - "src": "20327:2:12" + "src": "20327:2:25" } ], "functionName": { "name": "mload", - "nativeSrc": "20321:5:12", + "nativeSrc": "20321:5:25", "nodeType": "YulIdentifier", - "src": "20321:5:12" + "src": "20321:5:25" }, - "nativeSrc": "20321:9:12", + "nativeSrc": "20321:9:25", "nodeType": "YulFunctionCall", - "src": "20321:9:12" + "src": "20321:9:25" }, { "name": "f_", - "nativeSrc": "20332:2:12", + "nativeSrc": "20332:2:25", "nodeType": "YulIdentifier", - "src": "20332:2:12" + "src": "20332:2:25" } ], "functionName": { "name": "eq", - "nativeSrc": "20318:2:12", + "nativeSrc": "20318:2:25", "nodeType": "YulIdentifier", - "src": "20318:2:12" + "src": "20318:2:25" }, - "nativeSrc": "20318:17:12", + "nativeSrc": "20318:17:25", "nodeType": "YulFunctionCall", - "src": "20318:17:12" + "src": "20318:17:25" }, { "arguments": [ { "name": "_isValid", - "nativeSrc": "20341:8:12", + "nativeSrc": "20341:8:25", "nodeType": "YulIdentifier", - "src": "20341:8:12" + "src": "20341:8:25" }, { "name": "copied_", - "nativeSrc": "20351:7:12", + "nativeSrc": "20351:7:25", "nodeType": "YulIdentifier", - "src": "20351:7:12" + "src": "20351:7:25" } ], "functionName": { "name": "and", - "nativeSrc": "20337:3:12", + "nativeSrc": "20337:3:25", "nodeType": "YulIdentifier", - "src": "20337:3:12" + "src": "20337:3:25" }, - "nativeSrc": "20337:22:12", + "nativeSrc": "20337:22:25", "nodeType": "YulFunctionCall", - "src": "20337:22:12" + "src": "20337:22:25" } ], "functionName": { "name": "and", - "nativeSrc": "20314:3:12", + "nativeSrc": "20314:3:25", "nodeType": "YulIdentifier", - "src": "20314:3:12" + "src": "20314:3:25" }, - "nativeSrc": "20314:46:12", + "nativeSrc": "20314:46:25", "nodeType": "YulFunctionCall", - "src": "20314:46:12" + "src": "20314:46:25" }, "variableNames": [ { "name": "_isValid", - "nativeSrc": "20302:8:12", + "nativeSrc": "20302:8:25", "nodeType": "YulIdentifier", - "src": "20302:8:12" + "src": "20302:8:25" } ] } ] }, "name": "callIsValidSignature", - "nativeSrc": "19631:743:12", + "nativeSrc": "19631:743:25", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "signer_", - "nativeSrc": "19661:7:12", + "nativeSrc": "19661:7:25", "nodeType": "YulTypedName", - "src": "19661:7:12", + "src": "19661:7:25", "type": "" }, { "name": "hash_", - "nativeSrc": "19670:5:12", + "nativeSrc": "19670:5:25", "nodeType": "YulTypedName", - "src": "19670:5:12", + "src": "19670:5:25", "type": "" }, { "name": "signature_", - "nativeSrc": "19677:10:12", + "nativeSrc": "19677:10:25", "nodeType": "YulTypedName", - "src": "19677:10:12", + "src": "19677:10:25", "type": "" } ], "returnVariables": [ { "name": "_isValid", - "nativeSrc": "19692:8:12", + "nativeSrc": "19692:8:25", "nodeType": "YulTypedName", - "src": "19692:8:12", + "src": "19692:8:25", "type": "" } ], - "src": "19631:743:12" + "src": "19631:743:25" }, { - "nativeSrc": "20387:41:12", + "nativeSrc": "20387:41:25", "nodeType": "YulVariableDeclaration", - "src": "20387:41:12", + "src": "20387:41:25", "value": { "arguments": [ { "arguments": [ { "name": "signer", - "nativeSrc": "20420:6:12", + "nativeSrc": "20420:6:25", "nodeType": "YulIdentifier", - "src": "20420:6:12" + "src": "20420:6:25" } ], "functionName": { "name": "extcodesize", - "nativeSrc": "20408:11:12", + "nativeSrc": "20408:11:25", "nodeType": "YulIdentifier", - "src": "20408:11:12" + "src": "20408:11:25" }, - "nativeSrc": "20408:19:12", + "nativeSrc": "20408:19:25", "nodeType": "YulFunctionCall", - "src": "20408:19:12" + "src": "20408:19:25" } ], "functionName": { "name": "iszero", - "nativeSrc": "20401:6:12", + "nativeSrc": "20401:6:25", "nodeType": "YulIdentifier", - "src": "20401:6:12" + "src": "20401:6:25" }, - "nativeSrc": "20401:27:12", + "nativeSrc": "20401:27:25", "nodeType": "YulFunctionCall", - "src": "20401:27:12" + "src": "20401:27:25" }, "variables": [ { "name": "noCode", - "nativeSrc": "20391:6:12", + "nativeSrc": "20391:6:25", "nodeType": "YulTypedName", - "src": "20391:6:12", + "src": "20391:6:25", "type": "" } ] }, { - "nativeSrc": "20441:25:12", + "nativeSrc": "20441:25:25", "nodeType": "YulVariableDeclaration", - "src": "20441:25:12", + "src": "20441:25:25", "value": { "arguments": [ { "name": "signature", - "nativeSrc": "20456:9:12", + "nativeSrc": "20456:9:25", "nodeType": "YulIdentifier", - "src": "20456:9:12" + "src": "20456:9:25" } ], "functionName": { "name": "mload", - "nativeSrc": "20450:5:12", + "nativeSrc": "20450:5:25", "nodeType": "YulIdentifier", - "src": "20450:5:12" + "src": "20450:5:25" }, - "nativeSrc": "20450:16:12", + "nativeSrc": "20450:16:25", "nodeType": "YulFunctionCall", - "src": "20450:16:12" + "src": "20450:16:25" }, "variables": [ { "name": "n", - "nativeSrc": "20445:1:12", + "nativeSrc": "20445:1:25", "nodeType": "YulTypedName", - "src": "20445:1:12", + "src": "20445:1:25", "type": "" } ] }, { "body": { - "nativeSrc": "20491:1319:12", + "nativeSrc": "20491:1319:25", "nodeType": "YulBlock", - "src": "20491:1319:12", + "src": "20491:1319:25", "statements": [ { "body": { - "nativeSrc": "20589:144:12", + "nativeSrc": "20589:144:25", "nodeType": "YulBlock", - "src": "20589:144:12", + "src": "20589:144:25", "statements": [ { "body": { - "nativeSrc": "20629:60:12", + "nativeSrc": "20629:60:25", "nodeType": "YulBlock", - "src": "20629:60:12", + "src": "20629:60:25", "statements": [ { - "nativeSrc": "20631:56:12", + "nativeSrc": "20631:56:25", "nodeType": "YulAssignment", - "src": "20631:56:12", + "src": "20631:56:25", "value": { "arguments": [ { "name": "signer", - "nativeSrc": "20663:6:12", + "nativeSrc": "20663:6:25", "nodeType": "YulIdentifier", - "src": "20663:6:12" + "src": "20663:6:25" }, { "name": "hash", - "nativeSrc": "20671:4:12", + "nativeSrc": "20671:4:25", "nodeType": "YulIdentifier", - "src": "20671:4:12" + "src": "20671:4:25" }, { "name": "signature", - "nativeSrc": "20677:9:12", + "nativeSrc": "20677:9:25", "nodeType": "YulIdentifier", - "src": "20677:9:12" + "src": "20677:9:25" } ], "functionName": { "name": "callIsValidSignature", - "nativeSrc": "20642:20:12", + "nativeSrc": "20642:20:25", "nodeType": "YulIdentifier", - "src": "20642:20:12" + "src": "20642:20:25" }, - "nativeSrc": "20642:45:12", + "nativeSrc": "20642:45:25", "nodeType": "YulFunctionCall", - "src": "20642:45:12" + "src": "20642:45:25" }, "variableNames": [ { "name": "isValid", - "nativeSrc": "20631:7:12", + "nativeSrc": "20631:7:25", "nodeType": "YulIdentifier", - "src": "20631:7:12" + "src": "20631:7:25" } ] } @@ -203268,29 +222243,29 @@ "arguments": [ { "name": "noCode", - "nativeSrc": "20621:6:12", + "nativeSrc": "20621:6:25", "nodeType": "YulIdentifier", - "src": "20621:6:12" + "src": "20621:6:25" } ], "functionName": { "name": "iszero", - "nativeSrc": "20614:6:12", + "nativeSrc": "20614:6:25", "nodeType": "YulIdentifier", - "src": "20614:6:12" + "src": "20614:6:25" }, - "nativeSrc": "20614:14:12", + "nativeSrc": "20614:14:25", "nodeType": "YulFunctionCall", - "src": "20614:14:12" + "src": "20614:14:25" }, - "nativeSrc": "20611:78:12", + "nativeSrc": "20611:78:25", "nodeType": "YulIf", - "src": "20611:78:12" + "src": "20611:78:25" }, { - "nativeSrc": "20710:5:12", + "nativeSrc": "20710:5:25", "nodeType": "YulBreak", - "src": "20710:5:12" + "src": "20710:5:25" } ] }, @@ -203304,45 +222279,45 @@ "arguments": [ { "name": "signature", - "nativeSrc": "20532:9:12", + "nativeSrc": "20532:9:25", "nodeType": "YulIdentifier", - "src": "20532:9:12" + "src": "20532:9:25" }, { "name": "n", - "nativeSrc": "20543:1:12", + "nativeSrc": "20543:1:25", "nodeType": "YulIdentifier", - "src": "20543:1:12" + "src": "20543:1:25" } ], "functionName": { "name": "add", - "nativeSrc": "20528:3:12", + "nativeSrc": "20528:3:25", "nodeType": "YulIdentifier", - "src": "20528:3:12" + "src": "20528:3:25" }, - "nativeSrc": "20528:17:12", + "nativeSrc": "20528:17:25", "nodeType": "YulFunctionCall", - "src": "20528:17:12" + "src": "20528:17:25" } ], "functionName": { "name": "mload", - "nativeSrc": "20522:5:12", + "nativeSrc": "20522:5:25", "nodeType": "YulIdentifier", - "src": "20522:5:12" + "src": "20522:5:25" }, - "nativeSrc": "20522:24:12", + "nativeSrc": "20522:24:25", "nodeType": "YulFunctionCall", - "src": "20522:24:12" + "src": "20522:24:25" }, { "arguments": [ { "kind": "number", - "nativeSrc": "20552:6:12", + "nativeSrc": "20552:6:25", "nodeType": "YulLiteral", - "src": "20552:6:12", + "src": "20552:6:25", "type": "", "value": "0x6492" }, @@ -203352,149 +222327,149 @@ "arguments": [ { "name": "isValid", - "nativeSrc": "20568:7:12", + "nativeSrc": "20568:7:25", "nodeType": "YulIdentifier", - "src": "20568:7:12" + "src": "20568:7:25" } ], "functionName": { "name": "not", - "nativeSrc": "20564:3:12", + "nativeSrc": "20564:3:25", "nodeType": "YulIdentifier", - "src": "20564:3:12" + "src": "20564:3:25" }, - "nativeSrc": "20564:12:12", + "nativeSrc": "20564:12:25", "nodeType": "YulFunctionCall", - "src": "20564:12:12" + "src": "20564:12:25" }, { "kind": "number", - "nativeSrc": "20578:6:12", + "nativeSrc": "20578:6:25", "nodeType": "YulLiteral", - "src": "20578:6:12", + "src": "20578:6:25", "type": "", "value": "0xffff" } ], "functionName": { "name": "div", - "nativeSrc": "20560:3:12", + "nativeSrc": "20560:3:25", "nodeType": "YulIdentifier", - "src": "20560:3:12" + "src": "20560:3:25" }, - "nativeSrc": "20560:25:12", + "nativeSrc": "20560:25:25", "nodeType": "YulFunctionCall", - "src": "20560:25:12" + "src": "20560:25:25" } ], "functionName": { "name": "mul", - "nativeSrc": "20548:3:12", + "nativeSrc": "20548:3:25", "nodeType": "YulIdentifier", - "src": "20548:3:12" + "src": "20548:3:25" }, - "nativeSrc": "20548:38:12", + "nativeSrc": "20548:38:25", "nodeType": "YulFunctionCall", - "src": "20548:38:12" + "src": "20548:38:25" } ], "functionName": { "name": "eq", - "nativeSrc": "20519:2:12", + "nativeSrc": "20519:2:25", "nodeType": "YulIdentifier", - "src": "20519:2:12" + "src": "20519:2:25" }, - "nativeSrc": "20519:68:12", + "nativeSrc": "20519:68:25", "nodeType": "YulFunctionCall", - "src": "20519:68:12" + "src": "20519:68:25" } ], "functionName": { "name": "iszero", - "nativeSrc": "20512:6:12", + "nativeSrc": "20512:6:25", "nodeType": "YulIdentifier", - "src": "20512:6:12" + "src": "20512:6:25" }, - "nativeSrc": "20512:76:12", + "nativeSrc": "20512:76:25", "nodeType": "YulFunctionCall", - "src": "20512:76:12" + "src": "20512:76:25" }, - "nativeSrc": "20509:224:12", + "nativeSrc": "20509:224:25", "nodeType": "YulIf", - "src": "20509:224:12" + "src": "20509:224:25" }, { "body": { - "nativeSrc": "20768:225:12", + "nativeSrc": "20768:225:25", "nodeType": "YulBlock", - "src": "20768:225:12", + "src": "20768:225:25", "statements": [ { - "nativeSrc": "20790:29:12", + "nativeSrc": "20790:29:25", "nodeType": "YulVariableDeclaration", - "src": "20790:29:12", + "src": "20790:29:25", "value": { "arguments": [ { "name": "signature", - "nativeSrc": "20803:9:12", + "nativeSrc": "20803:9:25", "nodeType": "YulIdentifier", - "src": "20803:9:12" + "src": "20803:9:25" }, { "kind": "number", - "nativeSrc": "20814:4:12", + "nativeSrc": "20814:4:25", "nodeType": "YulLiteral", - "src": "20814:4:12", + "src": "20814:4:25", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "20799:3:12", + "nativeSrc": "20799:3:25", "nodeType": "YulIdentifier", - "src": "20799:3:12" + "src": "20799:3:25" }, - "nativeSrc": "20799:20:12", + "nativeSrc": "20799:20:25", "nodeType": "YulFunctionCall", - "src": "20799:20:12" + "src": "20799:20:25" }, "variables": [ { "name": "o", - "nativeSrc": "20794:1:12", + "nativeSrc": "20794:1:25", "nodeType": "YulTypedName", - "src": "20794:1:12", + "src": "20794:1:25", "type": "" } ] }, { - "nativeSrc": "20860:74:12", + "nativeSrc": "20860:74:25", "nodeType": "YulAssignment", - "src": "20860:74:12", + "src": "20860:74:25", "value": { "arguments": [ { "name": "signer", - "nativeSrc": "20892:6:12", + "nativeSrc": "20892:6:25", "nodeType": "YulIdentifier", - "src": "20892:6:12" + "src": "20892:6:25" }, { "name": "hash", - "nativeSrc": "20900:4:12", + "nativeSrc": "20900:4:25", "nodeType": "YulIdentifier", - "src": "20900:4:12" + "src": "20900:4:25" }, { "arguments": [ { "name": "o", - "nativeSrc": "20910:1:12", + "nativeSrc": "20910:1:25", "nodeType": "YulIdentifier", - "src": "20910:1:12" + "src": "20910:1:25" }, { "arguments": [ @@ -203502,93 +222477,93 @@ "arguments": [ { "name": "o", - "nativeSrc": "20923:1:12", + "nativeSrc": "20923:1:25", "nodeType": "YulIdentifier", - "src": "20923:1:12" + "src": "20923:1:25" }, { "kind": "number", - "nativeSrc": "20926:4:12", + "nativeSrc": "20926:4:25", "nodeType": "YulLiteral", - "src": "20926:4:12", + "src": "20926:4:25", "type": "", "value": "0x40" } ], "functionName": { "name": "add", - "nativeSrc": "20919:3:12", + "nativeSrc": "20919:3:25", "nodeType": "YulIdentifier", - "src": "20919:3:12" + "src": "20919:3:25" }, - "nativeSrc": "20919:12:12", + "nativeSrc": "20919:12:25", "nodeType": "YulFunctionCall", - "src": "20919:12:12" + "src": "20919:12:25" } ], "functionName": { "name": "mload", - "nativeSrc": "20913:5:12", + "nativeSrc": "20913:5:25", "nodeType": "YulIdentifier", - "src": "20913:5:12" + "src": "20913:5:25" }, - "nativeSrc": "20913:19:12", + "nativeSrc": "20913:19:25", "nodeType": "YulFunctionCall", - "src": "20913:19:12" + "src": "20913:19:25" } ], "functionName": { "name": "add", - "nativeSrc": "20906:3:12", + "nativeSrc": "20906:3:25", "nodeType": "YulIdentifier", - "src": "20906:3:12" + "src": "20906:3:25" }, - "nativeSrc": "20906:27:12", + "nativeSrc": "20906:27:25", "nodeType": "YulFunctionCall", - "src": "20906:27:12" + "src": "20906:27:25" } ], "functionName": { "name": "callIsValidSignature", - "nativeSrc": "20871:20:12", + "nativeSrc": "20871:20:25", "nodeType": "YulIdentifier", - "src": "20871:20:12" + "src": "20871:20:25" }, - "nativeSrc": "20871:63:12", + "nativeSrc": "20871:63:25", "nodeType": "YulFunctionCall", - "src": "20871:63:12" + "src": "20871:63:25" }, "variableNames": [ { "name": "isValid", - "nativeSrc": "20860:7:12", + "nativeSrc": "20860:7:25", "nodeType": "YulIdentifier", - "src": "20860:7:12" + "src": "20860:7:25" } ] }, { "body": { - "nativeSrc": "20966:9:12", + "nativeSrc": "20966:9:25", "nodeType": "YulBlock", - "src": "20966:9:12", + "src": "20966:9:25", "statements": [ { - "nativeSrc": "20968:5:12", + "nativeSrc": "20968:5:25", "nodeType": "YulBreak", - "src": "20968:5:12" + "src": "20968:5:25" } ] }, "condition": { "name": "isValid", - "nativeSrc": "20958:7:12", + "nativeSrc": "20958:7:25", "nodeType": "YulIdentifier", - "src": "20958:7:12" + "src": "20958:7:25" }, - "nativeSrc": "20955:20:12", + "nativeSrc": "20955:20:25", "nodeType": "YulIf", - "src": "20955:20:12" + "src": "20955:20:25" } ] }, @@ -203596,56 +222571,56 @@ "arguments": [ { "name": "noCode", - "nativeSrc": "20760:6:12", + "nativeSrc": "20760:6:25", "nodeType": "YulIdentifier", - "src": "20760:6:12" + "src": "20760:6:25" } ], "functionName": { "name": "iszero", - "nativeSrc": "20753:6:12", + "nativeSrc": "20753:6:25", "nodeType": "YulIdentifier", - "src": "20753:6:12" + "src": "20753:6:25" }, - "nativeSrc": "20753:14:12", + "nativeSrc": "20753:14:25", "nodeType": "YulFunctionCall", - "src": "20753:14:12" + "src": "20753:14:25" }, - "nativeSrc": "20750:243:12", + "nativeSrc": "20750:243:25", "nodeType": "YulIf", - "src": "20750:243:12" + "src": "20750:243:25" }, { - "nativeSrc": "21010:20:12", + "nativeSrc": "21010:20:25", "nodeType": "YulVariableDeclaration", - "src": "21010:20:12", + "src": "21010:20:25", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "21025:4:12", + "nativeSrc": "21025:4:25", "nodeType": "YulLiteral", - "src": "21025:4:12", + "src": "21025:4:25", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "21019:5:12", + "nativeSrc": "21019:5:25", "nodeType": "YulIdentifier", - "src": "21019:5:12" + "src": "21019:5:25" }, - "nativeSrc": "21019:11:12", + "nativeSrc": "21019:11:25", "nodeType": "YulFunctionCall", - "src": "21019:11:12" + "src": "21019:11:25" }, "variables": [ { "name": "m", - "nativeSrc": "21014:1:12", + "nativeSrc": "21014:1:25", "nodeType": "YulTypedName", - "src": "21014:1:12", + "src": "21014:1:25", "type": "" } ] @@ -203655,30 +222630,30 @@ "arguments": [ { "name": "m", - "nativeSrc": "21054:1:12", + "nativeSrc": "21054:1:25", "nodeType": "YulIdentifier", - "src": "21054:1:12" + "src": "21054:1:25" }, { "name": "signer", - "nativeSrc": "21057:6:12", + "nativeSrc": "21057:6:25", "nodeType": "YulIdentifier", - "src": "21057:6:12" + "src": "21057:6:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "21047:6:12", + "nativeSrc": "21047:6:25", "nodeType": "YulIdentifier", - "src": "21047:6:12" + "src": "21047:6:25" }, - "nativeSrc": "21047:17:12", + "nativeSrc": "21047:17:25", "nodeType": "YulFunctionCall", - "src": "21047:17:12" + "src": "21047:17:25" }, - "nativeSrc": "21047:17:12", + "nativeSrc": "21047:17:25", "nodeType": "YulExpressionStatement", - "src": "21047:17:12" + "src": "21047:17:25" }, { "expression": { @@ -203687,89 +222662,89 @@ "arguments": [ { "name": "m", - "nativeSrc": "21092:1:12", + "nativeSrc": "21092:1:25", "nodeType": "YulIdentifier", - "src": "21092:1:12" + "src": "21092:1:25" }, { "kind": "number", - "nativeSrc": "21095:4:12", + "nativeSrc": "21095:4:25", "nodeType": "YulLiteral", - "src": "21095:4:12", + "src": "21095:4:25", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "21088:3:12", + "nativeSrc": "21088:3:25", "nodeType": "YulIdentifier", - "src": "21088:3:12" + "src": "21088:3:25" }, - "nativeSrc": "21088:12:12", + "nativeSrc": "21088:12:25", "nodeType": "YulFunctionCall", - "src": "21088:12:12" + "src": "21088:12:25" }, { "name": "hash", - "nativeSrc": "21102:4:12", + "nativeSrc": "21102:4:25", "nodeType": "YulIdentifier", - "src": "21102:4:12" + "src": "21102:4:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "21081:6:12", + "nativeSrc": "21081:6:25", "nodeType": "YulIdentifier", - "src": "21081:6:12" + "src": "21081:6:25" }, - "nativeSrc": "21081:26:12", + "nativeSrc": "21081:26:25", "nodeType": "YulFunctionCall", - "src": "21081:26:12" + "src": "21081:26:25" }, - "nativeSrc": "21081:26:12", + "nativeSrc": "21081:26:25", "nodeType": "YulExpressionStatement", - "src": "21081:26:12" + "src": "21081:26:25" }, { - "nativeSrc": "21124:565:12", + "nativeSrc": "21124:565:25", "nodeType": "YulVariableDeclaration", - "src": "21124:565:12", + "src": "21124:565:25", "value": { "arguments": [ { "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "21217:3:12", + "nativeSrc": "21217:3:25", "nodeType": "YulIdentifier", - "src": "21217:3:12" + "src": "21217:3:25" }, - "nativeSrc": "21217:5:12", + "nativeSrc": "21217:5:25", "nodeType": "YulFunctionCall", - "src": "21217:5:12" + "src": "21217:5:25" }, { "kind": "number", - "nativeSrc": "21266:42:12", + "nativeSrc": "21266:42:25", "nodeType": "YulLiteral", - "src": "21266:42:12", + "src": "21266:42:25", "type": "", "value": "0x00007bd799e4A591FeA53f8A8a3E9f931626Ba7e" }, { "kind": "number", - "nativeSrc": "21357:1:12", + "nativeSrc": "21357:1:25", "nodeType": "YulLiteral", - "src": "21357:1:12", + "src": "21357:1:25", "type": "", "value": "0" }, { "name": "m", - "nativeSrc": "21402:1:12", + "nativeSrc": "21402:1:25", "nodeType": "YulIdentifier", - "src": "21402:1:12" + "src": "21402:1:25" }, { "arguments": [ @@ -203777,32 +222752,32 @@ "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "21453:14:12", + "nativeSrc": "21453:14:25", "nodeType": "YulIdentifier", - "src": "21453:14:12" + "src": "21453:14:25" }, - "nativeSrc": "21453:16:12", + "nativeSrc": "21453:16:25", "nodeType": "YulFunctionCall", - "src": "21453:16:12" + "src": "21453:16:25" }, { "kind": "number", - "nativeSrc": "21471:4:12", + "nativeSrc": "21471:4:25", "nodeType": "YulLiteral", - "src": "21471:4:12", + "src": "21471:4:25", "type": "", "value": "0x40" } ], "functionName": { "name": "add", - "nativeSrc": "21449:3:12", + "nativeSrc": "21449:3:25", "nodeType": "YulIdentifier", - "src": "21449:3:12" + "src": "21449:3:25" }, - "nativeSrc": "21449:27:12", + "nativeSrc": "21449:27:25", "nodeType": "YulFunctionCall", - "src": "21449:27:12" + "src": "21449:27:25" }, { "arguments": [ @@ -203810,19 +222785,19 @@ "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "21546:3:12", + "nativeSrc": "21546:3:25", "nodeType": "YulIdentifier", - "src": "21546:3:12" + "src": "21546:3:25" }, - "nativeSrc": "21546:5:12", + "nativeSrc": "21546:5:25", "nodeType": "YulFunctionCall", - "src": "21546:5:12" + "src": "21546:5:25" }, { "kind": "number", - "nativeSrc": "21553:1:12", + "nativeSrc": "21553:1:25", "nodeType": "YulLiteral", - "src": "21553:1:12", + "src": "21553:1:25", "type": "", "value": "4" }, @@ -203830,247 +222805,247 @@ "arguments": [ { "name": "signature", - "nativeSrc": "21560:9:12", + "nativeSrc": "21560:9:25", "nodeType": "YulIdentifier", - "src": "21560:9:12" + "src": "21560:9:25" }, { "kind": "number", - "nativeSrc": "21571:4:12", + "nativeSrc": "21571:4:25", "nodeType": "YulLiteral", - "src": "21571:4:12", + "src": "21571:4:25", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "21556:3:12", + "nativeSrc": "21556:3:25", "nodeType": "YulIdentifier", - "src": "21556:3:12" + "src": "21556:3:25" }, - "nativeSrc": "21556:20:12", + "nativeSrc": "21556:20:25", "nodeType": "YulFunctionCall", - "src": "21556:20:12" + "src": "21556:20:25" }, { "name": "n", - "nativeSrc": "21578:1:12", + "nativeSrc": "21578:1:25", "nodeType": "YulIdentifier", - "src": "21578:1:12" + "src": "21578:1:25" }, { "arguments": [ { "name": "m", - "nativeSrc": "21585:1:12", + "nativeSrc": "21585:1:25", "nodeType": "YulIdentifier", - "src": "21585:1:12" + "src": "21585:1:25" }, { "kind": "number", - "nativeSrc": "21588:4:12", + "nativeSrc": "21588:4:25", "nodeType": "YulLiteral", - "src": "21588:4:12", + "src": "21588:4:25", "type": "", "value": "0x40" } ], "functionName": { "name": "add", - "nativeSrc": "21581:3:12", + "nativeSrc": "21581:3:25", "nodeType": "YulIdentifier", - "src": "21581:3:12" + "src": "21581:3:25" }, - "nativeSrc": "21581:12:12", + "nativeSrc": "21581:12:25", "nodeType": "YulFunctionCall", - "src": "21581:12:12" + "src": "21581:12:25" }, { "name": "n", - "nativeSrc": "21595:1:12", + "nativeSrc": "21595:1:25", "nodeType": "YulIdentifier", - "src": "21595:1:12" + "src": "21595:1:25" } ], "functionName": { "name": "staticcall", - "nativeSrc": "21535:10:12", + "nativeSrc": "21535:10:25", "nodeType": "YulIdentifier", - "src": "21535:10:12" + "src": "21535:10:25" }, - "nativeSrc": "21535:62:12", + "nativeSrc": "21535:62:25", "nodeType": "YulFunctionCall", - "src": "21535:62:12" + "src": "21535:62:25" }, { "kind": "number", - "nativeSrc": "21629:4:12", + "nativeSrc": "21629:4:25", "nodeType": "YulLiteral", - "src": "21629:4:12", + "src": "21629:4:25", "type": "", "value": "0x00" } ], "functionName": { "name": "call", - "nativeSrc": "21187:4:12", + "nativeSrc": "21187:4:25", "nodeType": "YulIdentifier", - "src": "21187:4:12" + "src": "21187:4:25" }, - "nativeSrc": "21187:502:12", + "nativeSrc": "21187:502:25", "nodeType": "YulFunctionCall", - "src": "21187:502:12" + "src": "21187:502:25" }, "variables": [ { "name": "willBeZeroIfRevertingVerifierExists", - "nativeSrc": "21128:35:12", + "nativeSrc": "21128:35:25", "nodeType": "YulTypedName", - "src": "21128:35:12", + "src": "21128:35:25", "type": "" } ] }, { - "nativeSrc": "21706:68:12", + "nativeSrc": "21706:68:25", "nodeType": "YulAssignment", - "src": "21706:68:12", + "src": "21706:68:25", "value": { "arguments": [ { "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "21720:14:12", + "nativeSrc": "21720:14:25", "nodeType": "YulIdentifier", - "src": "21720:14:12" + "src": "21720:14:25" }, - "nativeSrc": "21720:16:12", + "nativeSrc": "21720:16:25", "nodeType": "YulFunctionCall", - "src": "21720:16:12" + "src": "21720:16:25" }, { "name": "willBeZeroIfRevertingVerifierExists", - "nativeSrc": "21738:35:12", + "nativeSrc": "21738:35:25", "nodeType": "YulIdentifier", - "src": "21738:35:12" + "src": "21738:35:25" } ], "functionName": { "name": "gt", - "nativeSrc": "21717:2:12", + "nativeSrc": "21717:2:25", "nodeType": "YulIdentifier", - "src": "21717:2:12" + "src": "21717:2:25" }, - "nativeSrc": "21717:57:12", + "nativeSrc": "21717:57:25", "nodeType": "YulFunctionCall", - "src": "21717:57:12" + "src": "21717:57:25" }, "variableNames": [ { "name": "isValid", - "nativeSrc": "21706:7:12", + "nativeSrc": "21706:7:25", "nodeType": "YulIdentifier", - "src": "21706:7:12" + "src": "21706:7:25" } ] }, { - "nativeSrc": "21791:5:12", + "nativeSrc": "21791:5:25", "nodeType": "YulBreak", - "src": "21791:5:12" + "src": "21791:5:25" } ] }, "condition": { "kind": "number", - "nativeSrc": "20486:1:12", + "nativeSrc": "20486:1:25", "nodeType": "YulLiteral", - "src": "20486:1:12", + "src": "20486:1:25", "type": "", "value": "1" }, - "nativeSrc": "20479:1331:12", + "nativeSrc": "20479:1331:25", "nodeType": "YulForLoop", "post": { - "nativeSrc": "20488:2:12", + "nativeSrc": "20488:2:25", "nodeType": "YulBlock", - "src": "20488:2:12", + "src": "20488:2:25", "statements": [] }, "pre": { - "nativeSrc": "20483:2:12", + "nativeSrc": "20483:2:25", "nodeType": "YulBlock", - "src": "20483:2:12", + "src": "20483:2:25", "statements": [] }, - "src": "20479:1331:12" + "src": "20479:1331:25" }, { "body": { - "nativeSrc": "21917:946:12", + "nativeSrc": "21917:946:25", "nodeType": "YulBlock", - "src": "21917:946:12", + "src": "21917:946:25", "statements": [ { "cases": [ { "body": { - "nativeSrc": "21968:202:12", + "nativeSrc": "21968:202:25", "nodeType": "YulBlock", - "src": "21968:202:12", + "src": "21968:202:25", "statements": [ { - "nativeSrc": "21990:37:12", + "nativeSrc": "21990:37:25", "nodeType": "YulVariableDeclaration", - "src": "21990:37:12", + "src": "21990:37:25", "value": { "arguments": [ { "arguments": [ { "name": "signature", - "nativeSrc": "22010:9:12", + "nativeSrc": "22010:9:25", "nodeType": "YulIdentifier", - "src": "22010:9:12" + "src": "22010:9:25" }, { "kind": "number", - "nativeSrc": "22021:4:12", + "nativeSrc": "22021:4:25", "nodeType": "YulLiteral", - "src": "22021:4:12", + "src": "22021:4:25", "type": "", "value": "0x40" } ], "functionName": { "name": "add", - "nativeSrc": "22006:3:12", + "nativeSrc": "22006:3:25", "nodeType": "YulIdentifier", - "src": "22006:3:12" + "src": "22006:3:25" }, - "nativeSrc": "22006:20:12", + "nativeSrc": "22006:20:25", "nodeType": "YulFunctionCall", - "src": "22006:20:12" + "src": "22006:20:25" } ], "functionName": { "name": "mload", - "nativeSrc": "22000:5:12", + "nativeSrc": "22000:5:25", "nodeType": "YulIdentifier", - "src": "22000:5:12" + "src": "22000:5:25" }, - "nativeSrc": "22000:27:12", + "nativeSrc": "22000:27:25", "nodeType": "YulFunctionCall", - "src": "22000:27:12" + "src": "22000:27:25" }, "variables": [ { "name": "vs", - "nativeSrc": "21994:2:12", + "nativeSrc": "21994:2:25", "nodeType": "YulTypedName", - "src": "21994:2:12", + "src": "21994:2:25", "type": "" } ] @@ -204080,9 +223055,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "22055:4:12", + "nativeSrc": "22055:4:25", "nodeType": "YulLiteral", - "src": "22055:4:12", + "src": "22055:4:25", "type": "", "value": "0x20" }, @@ -204092,71 +223067,71 @@ "arguments": [ { "kind": "number", - "nativeSrc": "22069:3:12", + "nativeSrc": "22069:3:25", "nodeType": "YulLiteral", - "src": "22069:3:12", + "src": "22069:3:25", "type": "", "value": "255" }, { "name": "vs", - "nativeSrc": "22074:2:12", + "nativeSrc": "22074:2:25", "nodeType": "YulIdentifier", - "src": "22074:2:12" + "src": "22074:2:25" } ], "functionName": { "name": "shr", - "nativeSrc": "22065:3:12", + "nativeSrc": "22065:3:25", "nodeType": "YulIdentifier", - "src": "22065:3:12" + "src": "22065:3:25" }, - "nativeSrc": "22065:12:12", + "nativeSrc": "22065:12:25", "nodeType": "YulFunctionCall", - "src": "22065:12:12" + "src": "22065:12:25" }, { "kind": "number", - "nativeSrc": "22079:2:12", + "nativeSrc": "22079:2:25", "nodeType": "YulLiteral", - "src": "22079:2:12", + "src": "22079:2:25", "type": "", "value": "27" } ], "functionName": { "name": "add", - "nativeSrc": "22061:3:12", + "nativeSrc": "22061:3:25", "nodeType": "YulIdentifier", - "src": "22061:3:12" + "src": "22061:3:25" }, - "nativeSrc": "22061:21:12", + "nativeSrc": "22061:21:25", "nodeType": "YulFunctionCall", - "src": "22061:21:12" + "src": "22061:21:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "22048:6:12", + "nativeSrc": "22048:6:25", "nodeType": "YulIdentifier", - "src": "22048:6:12" + "src": "22048:6:25" }, - "nativeSrc": "22048:35:12", + "nativeSrc": "22048:35:25", "nodeType": "YulFunctionCall", - "src": "22048:35:12" + "src": "22048:35:25" }, - "nativeSrc": "22048:35:12", + "nativeSrc": "22048:35:25", "nodeType": "YulExpressionStatement", - "src": "22048:35:12" + "src": "22048:35:25" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "22119:4:12", + "nativeSrc": "22119:4:25", "nodeType": "YulLiteral", - "src": "22119:4:12", + "src": "22119:4:25", "type": "", "value": "0x60" }, @@ -204164,9 +223139,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "22129:1:12", + "nativeSrc": "22129:1:25", "nodeType": "YulLiteral", - "src": "22129:1:12", + "src": "22129:1:25", "type": "", "value": "1" }, @@ -204174,83 +223149,83 @@ "arguments": [ { "kind": "number", - "nativeSrc": "22136:1:12", + "nativeSrc": "22136:1:25", "nodeType": "YulLiteral", - "src": "22136:1:12", + "src": "22136:1:25", "type": "", "value": "1" }, { "name": "vs", - "nativeSrc": "22139:2:12", + "nativeSrc": "22139:2:25", "nodeType": "YulIdentifier", - "src": "22139:2:12" + "src": "22139:2:25" } ], "functionName": { "name": "shl", - "nativeSrc": "22132:3:12", + "nativeSrc": "22132:3:25", "nodeType": "YulIdentifier", - "src": "22132:3:12" + "src": "22132:3:25" }, - "nativeSrc": "22132:10:12", + "nativeSrc": "22132:10:25", "nodeType": "YulFunctionCall", - "src": "22132:10:12" + "src": "22132:10:25" } ], "functionName": { "name": "shr", - "nativeSrc": "22125:3:12", + "nativeSrc": "22125:3:25", "nodeType": "YulIdentifier", - "src": "22125:3:12" + "src": "22125:3:25" }, - "nativeSrc": "22125:18:12", + "nativeSrc": "22125:18:25", "nodeType": "YulFunctionCall", - "src": "22125:18:12" + "src": "22125:18:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "22112:6:12", + "nativeSrc": "22112:6:25", "nodeType": "YulIdentifier", - "src": "22112:6:12" + "src": "22112:6:25" }, - "nativeSrc": "22112:32:12", + "nativeSrc": "22112:32:25", "nodeType": "YulFunctionCall", - "src": "22112:32:12" + "src": "22112:32:25" }, - "nativeSrc": "22112:32:12", + "nativeSrc": "22112:32:25", "nodeType": "YulExpressionStatement", - "src": "22112:32:12" + "src": "22112:32:25" } ] }, - "nativeSrc": "21960:210:12", + "nativeSrc": "21960:210:25", "nodeType": "YulCase", - "src": "21960:210:12", + "src": "21960:210:25", "value": { "kind": "number", - "nativeSrc": "21965:2:12", + "nativeSrc": "21965:2:25", "nodeType": "YulLiteral", - "src": "21965:2:12", + "src": "21965:2:25", "type": "", "value": "64" } }, { "body": { - "nativeSrc": "22195:168:12", + "nativeSrc": "22195:168:25", "nodeType": "YulBlock", - "src": "22195:168:12", + "src": "22195:168:25", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "22224:4:12", + "nativeSrc": "22224:4:25", "nodeType": "YulLiteral", - "src": "22224:4:12", + "src": "22224:4:25", "type": "", "value": "0x20" }, @@ -204258,9 +223233,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "22235:1:12", + "nativeSrc": "22235:1:25", "nodeType": "YulLiteral", - "src": "22235:1:12", + "src": "22235:1:25", "type": "", "value": "0" }, @@ -204270,74 +223245,74 @@ "arguments": [ { "name": "signature", - "nativeSrc": "22248:9:12", + "nativeSrc": "22248:9:25", "nodeType": "YulIdentifier", - "src": "22248:9:12" + "src": "22248:9:25" }, { "kind": "number", - "nativeSrc": "22259:4:12", + "nativeSrc": "22259:4:25", "nodeType": "YulLiteral", - "src": "22259:4:12", + "src": "22259:4:25", "type": "", "value": "0x60" } ], "functionName": { "name": "add", - "nativeSrc": "22244:3:12", + "nativeSrc": "22244:3:25", "nodeType": "YulIdentifier", - "src": "22244:3:12" + "src": "22244:3:25" }, - "nativeSrc": "22244:20:12", + "nativeSrc": "22244:20:25", "nodeType": "YulFunctionCall", - "src": "22244:20:12" + "src": "22244:20:25" } ], "functionName": { "name": "mload", - "nativeSrc": "22238:5:12", + "nativeSrc": "22238:5:25", "nodeType": "YulIdentifier", - "src": "22238:5:12" + "src": "22238:5:25" }, - "nativeSrc": "22238:27:12", + "nativeSrc": "22238:27:25", "nodeType": "YulFunctionCall", - "src": "22238:27:12" + "src": "22238:27:25" } ], "functionName": { "name": "byte", - "nativeSrc": "22230:4:12", + "nativeSrc": "22230:4:25", "nodeType": "YulIdentifier", - "src": "22230:4:12" + "src": "22230:4:25" }, - "nativeSrc": "22230:36:12", + "nativeSrc": "22230:36:25", "nodeType": "YulFunctionCall", - "src": "22230:36:12" + "src": "22230:36:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "22217:6:12", + "nativeSrc": "22217:6:25", "nodeType": "YulIdentifier", - "src": "22217:6:12" + "src": "22217:6:25" }, - "nativeSrc": "22217:50:12", + "nativeSrc": "22217:50:25", "nodeType": "YulFunctionCall", - "src": "22217:50:12" + "src": "22217:50:25" }, - "nativeSrc": "22217:50:12", + "nativeSrc": "22217:50:25", "nodeType": "YulExpressionStatement", - "src": "22217:50:12" + "src": "22217:50:25" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "22303:4:12", + "nativeSrc": "22303:4:25", "nodeType": "YulLiteral", - "src": "22303:4:12", + "src": "22303:4:25", "type": "", "value": "0x60" }, @@ -204347,129 +223322,129 @@ "arguments": [ { "name": "signature", - "nativeSrc": "22319:9:12", + "nativeSrc": "22319:9:25", "nodeType": "YulIdentifier", - "src": "22319:9:12" + "src": "22319:9:25" }, { "kind": "number", - "nativeSrc": "22330:4:12", + "nativeSrc": "22330:4:25", "nodeType": "YulLiteral", - "src": "22330:4:12", + "src": "22330:4:25", "type": "", "value": "0x40" } ], "functionName": { "name": "add", - "nativeSrc": "22315:3:12", + "nativeSrc": "22315:3:25", "nodeType": "YulIdentifier", - "src": "22315:3:12" + "src": "22315:3:25" }, - "nativeSrc": "22315:20:12", + "nativeSrc": "22315:20:25", "nodeType": "YulFunctionCall", - "src": "22315:20:12" + "src": "22315:20:25" } ], "functionName": { "name": "mload", - "nativeSrc": "22309:5:12", + "nativeSrc": "22309:5:25", "nodeType": "YulIdentifier", - "src": "22309:5:12" + "src": "22309:5:25" }, - "nativeSrc": "22309:27:12", + "nativeSrc": "22309:27:25", "nodeType": "YulFunctionCall", - "src": "22309:27:12" + "src": "22309:27:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "22296:6:12", + "nativeSrc": "22296:6:25", "nodeType": "YulIdentifier", - "src": "22296:6:12" + "src": "22296:6:25" }, - "nativeSrc": "22296:41:12", + "nativeSrc": "22296:41:25", "nodeType": "YulFunctionCall", - "src": "22296:41:12" + "src": "22296:41:25" }, - "nativeSrc": "22296:41:12", + "nativeSrc": "22296:41:25", "nodeType": "YulExpressionStatement", - "src": "22296:41:12" + "src": "22296:41:25" } ] }, - "nativeSrc": "22187:176:12", + "nativeSrc": "22187:176:25", "nodeType": "YulCase", - "src": "22187:176:12", + "src": "22187:176:25", "value": { "kind": "number", - "nativeSrc": "22192:2:12", + "nativeSrc": "22192:2:25", "nodeType": "YulLiteral", - "src": "22192:2:12", + "src": "22192:2:25", "type": "", "value": "65" } }, { "body": { - "nativeSrc": "22388:9:12", + "nativeSrc": "22388:9:25", "nodeType": "YulBlock", - "src": "22388:9:12", + "src": "22388:9:25", "statements": [ { - "nativeSrc": "22390:5:12", + "nativeSrc": "22390:5:25", "nodeType": "YulBreak", - "src": "22390:5:12" + "src": "22390:5:25" } ] }, - "nativeSrc": "22380:17:12", + "nativeSrc": "22380:17:25", "nodeType": "YulCase", - "src": "22380:17:12", + "src": "22380:17:25", "value": "default" } ], "expression": { "name": "n", - "nativeSrc": "21942:1:12", + "nativeSrc": "21942:1:25", "nodeType": "YulIdentifier", - "src": "21942:1:12" + "src": "21942:1:25" }, - "nativeSrc": "21935:462:12", + "nativeSrc": "21935:462:25", "nodeType": "YulSwitch", - "src": "21935:462:12" + "src": "21935:462:25" }, { - "nativeSrc": "22414:20:12", + "nativeSrc": "22414:20:25", "nodeType": "YulVariableDeclaration", - "src": "22414:20:12", + "src": "22414:20:25", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "22429:4:12", + "nativeSrc": "22429:4:25", "nodeType": "YulLiteral", - "src": "22429:4:12", + "src": "22429:4:25", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "22423:5:12", + "nativeSrc": "22423:5:25", "nodeType": "YulIdentifier", - "src": "22423:5:12" + "src": "22423:5:25" }, - "nativeSrc": "22423:11:12", + "nativeSrc": "22423:11:25", "nodeType": "YulFunctionCall", - "src": "22423:11:12" + "src": "22423:11:25" }, "variables": [ { "name": "m", - "nativeSrc": "22418:1:12", + "nativeSrc": "22418:1:25", "nodeType": "YulTypedName", - "src": "22418:1:12", + "src": "22418:1:25", "type": "" } ] @@ -204479,41 +223454,41 @@ "arguments": [ { "kind": "number", - "nativeSrc": "22458:4:12", + "nativeSrc": "22458:4:25", "nodeType": "YulLiteral", - "src": "22458:4:12", + "src": "22458:4:25", "type": "", "value": "0x00" }, { "name": "hash", - "nativeSrc": "22464:4:12", + "nativeSrc": "22464:4:25", "nodeType": "YulIdentifier", - "src": "22464:4:12" + "src": "22464:4:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "22451:6:12", + "nativeSrc": "22451:6:25", "nodeType": "YulIdentifier", - "src": "22451:6:12" + "src": "22451:6:25" }, - "nativeSrc": "22451:18:12", + "nativeSrc": "22451:18:25", "nodeType": "YulFunctionCall", - "src": "22451:18:12" + "src": "22451:18:25" }, - "nativeSrc": "22451:18:12", + "nativeSrc": "22451:18:25", "nodeType": "YulExpressionStatement", - "src": "22451:18:12" + "src": "22451:18:25" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "22493:4:12", + "nativeSrc": "22493:4:25", "nodeType": "YulLiteral", - "src": "22493:4:12", + "src": "22493:4:25", "type": "", "value": "0x40" }, @@ -204523,59 +223498,59 @@ "arguments": [ { "name": "signature", - "nativeSrc": "22509:9:12", + "nativeSrc": "22509:9:25", "nodeType": "YulIdentifier", - "src": "22509:9:12" + "src": "22509:9:25" }, { "kind": "number", - "nativeSrc": "22520:4:12", + "nativeSrc": "22520:4:25", "nodeType": "YulLiteral", - "src": "22520:4:12", + "src": "22520:4:25", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "22505:3:12", + "nativeSrc": "22505:3:25", "nodeType": "YulIdentifier", - "src": "22505:3:12" + "src": "22505:3:25" }, - "nativeSrc": "22505:20:12", + "nativeSrc": "22505:20:25", "nodeType": "YulFunctionCall", - "src": "22505:20:12" + "src": "22505:20:25" } ], "functionName": { "name": "mload", - "nativeSrc": "22499:5:12", + "nativeSrc": "22499:5:25", "nodeType": "YulIdentifier", - "src": "22499:5:12" + "src": "22499:5:25" }, - "nativeSrc": "22499:27:12", + "nativeSrc": "22499:27:25", "nodeType": "YulFunctionCall", - "src": "22499:27:12" + "src": "22499:27:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "22486:6:12", + "nativeSrc": "22486:6:25", "nodeType": "YulIdentifier", - "src": "22486:6:12" + "src": "22486:6:25" }, - "nativeSrc": "22486:41:12", + "nativeSrc": "22486:41:25", "nodeType": "YulFunctionCall", - "src": "22486:41:12" + "src": "22486:41:25" }, - "nativeSrc": "22486:41:12", + "nativeSrc": "22486:41:25", "nodeType": "YulExpressionStatement", - "src": "22486:41:12" + "src": "22486:41:25" }, { - "nativeSrc": "22552:68:12", + "nativeSrc": "22552:68:25", "nodeType": "YulVariableDeclaration", - "src": "22552:68:12", + "src": "22552:68:25", "value": { "arguments": [ { @@ -204584,111 +223559,111 @@ "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "22586:3:12", + "nativeSrc": "22586:3:25", "nodeType": "YulIdentifier", - "src": "22586:3:12" + "src": "22586:3:25" }, - "nativeSrc": "22586:5:12", + "nativeSrc": "22586:5:25", "nodeType": "YulFunctionCall", - "src": "22586:5:12" + "src": "22586:5:25" }, { "kind": "number", - "nativeSrc": "22593:1:12", + "nativeSrc": "22593:1:25", "nodeType": "YulLiteral", - "src": "22593:1:12", + "src": "22593:1:25", "type": "", "value": "1" }, { "kind": "number", - "nativeSrc": "22596:4:12", + "nativeSrc": "22596:4:25", "nodeType": "YulLiteral", - "src": "22596:4:12", + "src": "22596:4:25", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "22602:4:12", + "nativeSrc": "22602:4:25", "nodeType": "YulLiteral", - "src": "22602:4:12", + "src": "22602:4:25", "type": "", "value": "0x80" }, { "kind": "number", - "nativeSrc": "22608:4:12", + "nativeSrc": "22608:4:25", "nodeType": "YulLiteral", - "src": "22608:4:12", + "src": "22608:4:25", "type": "", "value": "0x01" }, { "kind": "number", - "nativeSrc": "22614:4:12", + "nativeSrc": "22614:4:25", "nodeType": "YulLiteral", - "src": "22614:4:12", + "src": "22614:4:25", "type": "", "value": "0x20" } ], "functionName": { "name": "staticcall", - "nativeSrc": "22575:10:12", + "nativeSrc": "22575:10:25", "nodeType": "YulIdentifier", - "src": "22575:10:12" + "src": "22575:10:25" }, - "nativeSrc": "22575:44:12", + "nativeSrc": "22575:44:25", "nodeType": "YulFunctionCall", - "src": "22575:44:12" + "src": "22575:44:25" } ], "functionName": { "name": "mload", - "nativeSrc": "22569:5:12", + "nativeSrc": "22569:5:25", "nodeType": "YulIdentifier", - "src": "22569:5:12" + "src": "22569:5:25" }, - "nativeSrc": "22569:51:12", + "nativeSrc": "22569:51:25", "nodeType": "YulFunctionCall", - "src": "22569:51:12" + "src": "22569:51:25" }, "variables": [ { "name": "recovered", - "nativeSrc": "22556:9:12", + "nativeSrc": "22556:9:25", "nodeType": "YulTypedName", - "src": "22556:9:12", + "src": "22556:9:25", "type": "" } ] }, { - "nativeSrc": "22637:64:12", + "nativeSrc": "22637:64:25", "nodeType": "YulAssignment", - "src": "22637:64:12", + "src": "22637:64:25", "value": { "arguments": [ { "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "22651:14:12", + "nativeSrc": "22651:14:25", "nodeType": "YulIdentifier", - "src": "22651:14:12" + "src": "22651:14:25" }, - "nativeSrc": "22651:16:12", + "nativeSrc": "22651:16:25", "nodeType": "YulFunctionCall", - "src": "22651:16:12" + "src": "22651:16:25" }, { "arguments": [ { "kind": "number", - "nativeSrc": "22673:2:12", + "nativeSrc": "22673:2:25", "nodeType": "YulLiteral", - "src": "22673:2:12", + "src": "22673:2:25", "type": "", "value": "96" }, @@ -204696,55 +223671,55 @@ "arguments": [ { "name": "signer", - "nativeSrc": "22681:6:12", + "nativeSrc": "22681:6:25", "nodeType": "YulIdentifier", - "src": "22681:6:12" + "src": "22681:6:25" }, { "name": "recovered", - "nativeSrc": "22689:9:12", + "nativeSrc": "22689:9:25", "nodeType": "YulIdentifier", - "src": "22689:9:12" + "src": "22689:9:25" } ], "functionName": { "name": "xor", - "nativeSrc": "22677:3:12", + "nativeSrc": "22677:3:25", "nodeType": "YulIdentifier", - "src": "22677:3:12" + "src": "22677:3:25" }, - "nativeSrc": "22677:22:12", + "nativeSrc": "22677:22:25", "nodeType": "YulFunctionCall", - "src": "22677:22:12" + "src": "22677:22:25" } ], "functionName": { "name": "shl", - "nativeSrc": "22669:3:12", + "nativeSrc": "22669:3:25", "nodeType": "YulIdentifier", - "src": "22669:3:12" + "src": "22669:3:25" }, - "nativeSrc": "22669:31:12", + "nativeSrc": "22669:31:25", "nodeType": "YulFunctionCall", - "src": "22669:31:12" + "src": "22669:31:25" } ], "functionName": { "name": "gt", - "nativeSrc": "22648:2:12", + "nativeSrc": "22648:2:25", "nodeType": "YulIdentifier", - "src": "22648:2:12" + "src": "22648:2:25" }, - "nativeSrc": "22648:53:12", + "nativeSrc": "22648:53:25", "nodeType": "YulFunctionCall", - "src": "22648:53:12" + "src": "22648:53:25" }, "variableNames": [ { "name": "isValid", - "nativeSrc": "22637:7:12", + "nativeSrc": "22637:7:25", "nodeType": "YulIdentifier", - "src": "22637:7:12" + "src": "22637:7:25" } ] }, @@ -204753,71 +223728,71 @@ "arguments": [ { "kind": "number", - "nativeSrc": "22725:4:12", + "nativeSrc": "22725:4:25", "nodeType": "YulLiteral", - "src": "22725:4:12", + "src": "22725:4:25", "type": "", "value": "0x60" }, { "kind": "number", - "nativeSrc": "22731:1:12", + "nativeSrc": "22731:1:25", "nodeType": "YulLiteral", - "src": "22731:1:12", + "src": "22731:1:25", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "22718:6:12", + "nativeSrc": "22718:6:25", "nodeType": "YulIdentifier", - "src": "22718:6:12" + "src": "22718:6:25" }, - "nativeSrc": "22718:15:12", + "nativeSrc": "22718:15:25", "nodeType": "YulFunctionCall", - "src": "22718:15:12" + "src": "22718:15:25" }, - "nativeSrc": "22718:15:12", + "nativeSrc": "22718:15:25", "nodeType": "YulExpressionStatement", - "src": "22718:15:12" + "src": "22718:15:25" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "22783:4:12", + "nativeSrc": "22783:4:25", "nodeType": "YulLiteral", - "src": "22783:4:12", + "src": "22783:4:25", "type": "", "value": "0x40" }, { "name": "m", - "nativeSrc": "22789:1:12", + "nativeSrc": "22789:1:25", "nodeType": "YulIdentifier", - "src": "22789:1:12" + "src": "22789:1:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "22776:6:12", + "nativeSrc": "22776:6:25", "nodeType": "YulIdentifier", - "src": "22776:6:12" + "src": "22776:6:25" }, - "nativeSrc": "22776:15:12", + "nativeSrc": "22776:15:25", "nodeType": "YulFunctionCall", - "src": "22776:15:12" + "src": "22776:15:25" }, - "nativeSrc": "22776:15:12", + "nativeSrc": "22776:15:25", "nodeType": "YulExpressionStatement", - "src": "22776:15:12" + "src": "22776:15:25" }, { - "nativeSrc": "22844:5:12", + "nativeSrc": "22844:5:25", "nodeType": "YulBreak", - "src": "22844:5:12" + "src": "22844:5:25" } ] }, @@ -204825,42 +223800,42 @@ "arguments": [ { "name": "noCode", - "nativeSrc": "21897:6:12", + "nativeSrc": "21897:6:25", "nodeType": "YulIdentifier", - "src": "21897:6:12" + "src": "21897:6:25" }, { "name": "isValid", - "nativeSrc": "21905:7:12", + "nativeSrc": "21905:7:25", "nodeType": "YulIdentifier", - "src": "21905:7:12" + "src": "21905:7:25" } ], "functionName": { "name": "gt", - "nativeSrc": "21894:2:12", + "nativeSrc": "21894:2:25", "nodeType": "YulIdentifier", - "src": "21894:2:12" + "src": "21894:2:25" }, - "nativeSrc": "21894:19:12", + "nativeSrc": "21894:19:25", "nodeType": "YulFunctionCall", - "src": "21894:19:12" + "src": "21894:19:25" }, - "nativeSrc": "21887:976:12", + "nativeSrc": "21887:976:25", "nodeType": "YulForLoop", "post": { - "nativeSrc": "21914:2:12", + "nativeSrc": "21914:2:25", "nodeType": "YulBlock", - "src": "21914:2:12", + "src": "21914:2:25", "statements": [] }, "pre": { - "nativeSrc": "21891:2:12", + "nativeSrc": "21891:2:25", "nodeType": "YulBlock", - "src": "21891:2:12", + "src": "21891:2:25", "statements": [] }, - "src": "21887:976:12" + "src": "21887:976:25" } ] }, @@ -204868,213 +223843,213 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 6316, + "declaration": 7922, "isOffset": false, "isSlot": false, - "src": "20671:4:12", + "src": "20671:4:25", "valueSize": 1 }, { - "declaration": 6316, + "declaration": 7922, "isOffset": false, "isSlot": false, - "src": "20900:4:12", + "src": "20900:4:25", "valueSize": 1 }, { - "declaration": 6316, + "declaration": 7922, "isOffset": false, "isSlot": false, - "src": "21102:4:12", + "src": "21102:4:25", "valueSize": 1 }, { - "declaration": 6316, + "declaration": 7922, "isOffset": false, "isSlot": false, - "src": "22464:4:12", + "src": "22464:4:25", "valueSize": 1 }, { - "declaration": 6321, + "declaration": 7927, "isOffset": false, "isSlot": false, - "src": "20568:7:12", + "src": "20568:7:25", "valueSize": 1 }, { - "declaration": 6321, + "declaration": 7927, "isOffset": false, "isSlot": false, - "src": "20631:7:12", + "src": "20631:7:25", "valueSize": 1 }, { - "declaration": 6321, + "declaration": 7927, "isOffset": false, "isSlot": false, - "src": "20860:7:12", + "src": "20860:7:25", "valueSize": 1 }, { - "declaration": 6321, + "declaration": 7927, "isOffset": false, "isSlot": false, - "src": "20958:7:12", + "src": "20958:7:25", "valueSize": 1 }, { - "declaration": 6321, + "declaration": 7927, "isOffset": false, "isSlot": false, - "src": "21706:7:12", + "src": "21706:7:25", "valueSize": 1 }, { - "declaration": 6321, + "declaration": 7927, "isOffset": false, "isSlot": false, - "src": "21905:7:12", + "src": "21905:7:25", "valueSize": 1 }, { - "declaration": 6321, + "declaration": 7927, "isOffset": false, "isSlot": false, - "src": "22637:7:12", + "src": "22637:7:25", "valueSize": 1 }, { - "declaration": 6318, + "declaration": 7924, "isOffset": false, "isSlot": false, - "src": "20456:9:12", + "src": "20456:9:25", "valueSize": 1 }, { - "declaration": 6318, + "declaration": 7924, "isOffset": false, "isSlot": false, - "src": "20532:9:12", + "src": "20532:9:25", "valueSize": 1 }, { - "declaration": 6318, + "declaration": 7924, "isOffset": false, "isSlot": false, - "src": "20677:9:12", + "src": "20677:9:25", "valueSize": 1 }, { - "declaration": 6318, + "declaration": 7924, "isOffset": false, "isSlot": false, - "src": "20803:9:12", + "src": "20803:9:25", "valueSize": 1 }, { - "declaration": 6318, + "declaration": 7924, "isOffset": false, "isSlot": false, - "src": "21560:9:12", + "src": "21560:9:25", "valueSize": 1 }, { - "declaration": 6318, + "declaration": 7924, "isOffset": false, "isSlot": false, - "src": "22010:9:12", + "src": "22010:9:25", "valueSize": 1 }, { - "declaration": 6318, + "declaration": 7924, "isOffset": false, "isSlot": false, - "src": "22248:9:12", + "src": "22248:9:25", "valueSize": 1 }, { - "declaration": 6318, + "declaration": 7924, "isOffset": false, "isSlot": false, - "src": "22319:9:12", + "src": "22319:9:25", "valueSize": 1 }, { - "declaration": 6318, + "declaration": 7924, "isOffset": false, "isSlot": false, - "src": "22509:9:12", + "src": "22509:9:25", "valueSize": 1 }, { - "declaration": 6314, + "declaration": 7920, "isOffset": false, "isSlot": false, - "src": "20420:6:12", + "src": "20420:6:25", "valueSize": 1 }, { - "declaration": 6314, + "declaration": 7920, "isOffset": false, "isSlot": false, - "src": "20663:6:12", + "src": "20663:6:25", "valueSize": 1 }, { - "declaration": 6314, + "declaration": 7920, "isOffset": false, "isSlot": false, - "src": "20892:6:12", + "src": "20892:6:25", "valueSize": 1 }, { - "declaration": 6314, + "declaration": 7920, "isOffset": false, "isSlot": false, - "src": "21057:6:12", + "src": "21057:6:25", "valueSize": 1 }, { - "declaration": 6314, + "declaration": 7920, "isOffset": false, "isSlot": false, - "src": "22681:6:12", + "src": "22681:6:25", "valueSize": 1 } ], - "id": 6323, + "id": 7929, "nodeType": "InlineAssembly", - "src": "19608:3265:12" + "src": "19608:3265:25" } ] }, "documentation": { - "id": 6312, + "id": 7918, "nodeType": "StructuredDocumentation", - "src": "18841:567:12", + "src": "18841:567:25", "text": "@dev Returns whether `signature` is valid for `hash`.\n If the signature is postfixed with the ERC6492 magic number, it will attempt\n to use a reverting verifier to deploy / prepare the `signer` smart account\n and do a `isValidSignature` check via the reverting verifier.\n Note: This function is reentrancy safe.\n The reverting verifier must be deployed.\n Otherwise, the function will return false if `signer` is not yet deployed / prepared.\n See: https://gist.github.com/Vectorized/846a474c855eee9e441506676800a9ad" }, - "id": 6325, + "id": 7931, "implemented": true, "kind": "function", "modifiers": [], "name": "isValidERC6492SignatureNow", - "nameLocation": "19422:26:12", + "nameLocation": "19422:26:25", "nodeType": "FunctionDefinition", "parameters": { - "id": 6319, + "id": 7925, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6314, + "id": 7920, "mutability": "mutable", "name": "signer", - "nameLocation": "19457:6:12", + "nameLocation": "19457:6:25", "nodeType": "VariableDeclaration", - "scope": 6325, - "src": "19449:14:12", + "scope": 7931, + "src": "19449:14:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -205082,10 +224057,10 @@ "typeString": "address" }, "typeName": { - "id": 6313, + "id": 7919, "name": "address", "nodeType": "ElementaryTypeName", - "src": "19449:7:12", + "src": "19449:7:25", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -205096,13 +224071,13 @@ }, { "constant": false, - "id": 6316, + "id": 7922, "mutability": "mutable", "name": "hash", - "nameLocation": "19473:4:12", + "nameLocation": "19473:4:25", "nodeType": "VariableDeclaration", - "scope": 6325, - "src": "19465:12:12", + "scope": 7931, + "src": "19465:12:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -205110,10 +224085,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6315, + "id": 7921, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "19465:7:12", + "src": "19465:7:25", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -205123,13 +224098,13 @@ }, { "constant": false, - "id": 6318, + "id": 7924, "mutability": "mutable", "name": "signature", - "nameLocation": "19492:9:12", + "nameLocation": "19492:9:25", "nodeType": "VariableDeclaration", - "scope": 6325, - "src": "19479:22:12", + "scope": 7931, + "src": "19479:22:25", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -205137,10 +224112,10 @@ "typeString": "bytes" }, "typeName": { - "id": 6317, + "id": 7923, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "19479:5:12", + "src": "19479:5:25", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -205149,21 +224124,21 @@ "visibility": "internal" } ], - "src": "19448:54:12" + "src": "19448:54:25" }, "returnParameters": { - "id": 6322, + "id": 7928, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6321, + "id": 7927, "mutability": "mutable", "name": "isValid", - "nameLocation": "19542:7:12", + "nameLocation": "19542:7:25", "nodeType": "VariableDeclaration", - "scope": 6325, - "src": "19537:12:12", + "scope": 7931, + "src": "19537:12:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -205171,10 +224146,10 @@ "typeString": "bool" }, "typeName": { - "id": 6320, + "id": 7926, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "19537:4:12", + "src": "19537:4:25", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -205183,132 +224158,132 @@ "visibility": "internal" } ], - "src": "19536:14:12" + "src": "19536:14:25" }, - "scope": 6354, - "src": "19413:3466:12", + "scope": 7960, + "src": "19413:3466:25", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 6334, + "id": 7940, "nodeType": "Block", - "src": "23500:324:12", + "src": "23500:324:25", "statements": [ { "AST": { - "nativeSrc": "23562:256:12", + "nativeSrc": "23562:256:25", "nodeType": "YulBlock", - "src": "23562:256:12", + "src": "23562:256:25", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "23583:4:12", + "nativeSrc": "23583:4:25", "nodeType": "YulLiteral", - "src": "23583:4:12", + "src": "23583:4:25", "type": "", "value": "0x20" }, { "name": "hash", - "nativeSrc": "23589:4:12", + "nativeSrc": "23589:4:25", "nodeType": "YulIdentifier", - "src": "23589:4:12" + "src": "23589:4:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "23576:6:12", + "nativeSrc": "23576:6:25", "nodeType": "YulIdentifier", - "src": "23576:6:12" + "src": "23576:6:25" }, - "nativeSrc": "23576:18:12", + "nativeSrc": "23576:18:25", "nodeType": "YulFunctionCall", - "src": "23576:18:12" + "src": "23576:18:25" }, - "nativeSrc": "23576:18:12", + "nativeSrc": "23576:18:25", "nodeType": "YulExpressionStatement", - "src": "23576:18:12" + "src": "23576:18:25" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "23657:4:12", + "nativeSrc": "23657:4:25", "nodeType": "YulLiteral", - "src": "23657:4:12", + "src": "23657:4:25", "type": "", "value": "0x00" }, { "hexValue": "0000000019457468657265756d205369676e6564204d6573736167653a0a3332", "kind": "string", - "nativeSrc": "23663:50:12", + "nativeSrc": "23663:50:25", "nodeType": "YulLiteral", - "src": "23663:50:12", + "src": "23663:50:25", "type": "", "value": "\u0000\u0000\u0000\u0000\u0019Ethereum Signed Message:\n32" } ], "functionName": { "name": "mstore", - "nativeSrc": "23650:6:12", + "nativeSrc": "23650:6:25", "nodeType": "YulIdentifier", - "src": "23650:6:12" + "src": "23650:6:25" }, - "nativeSrc": "23650:64:12", + "nativeSrc": "23650:64:25", "nodeType": "YulFunctionCall", - "src": "23650:64:12" + "src": "23650:64:25" }, - "nativeSrc": "23650:64:12", + "nativeSrc": "23650:64:25", "nodeType": "YulExpressionStatement", - "src": "23650:64:12" + "src": "23650:64:25" }, { - "nativeSrc": "23740:31:12", + "nativeSrc": "23740:31:25", "nodeType": "YulAssignment", - "src": "23740:31:12", + "src": "23740:31:25", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "23760:4:12", + "nativeSrc": "23760:4:25", "nodeType": "YulLiteral", - "src": "23760:4:12", + "src": "23760:4:25", "type": "", "value": "0x04" }, { "kind": "number", - "nativeSrc": "23766:4:12", + "nativeSrc": "23766:4:25", "nodeType": "YulLiteral", - "src": "23766:4:12", + "src": "23766:4:25", "type": "", "value": "0x3c" } ], "functionName": { "name": "keccak256", - "nativeSrc": "23750:9:12", + "nativeSrc": "23750:9:25", "nodeType": "YulIdentifier", - "src": "23750:9:12" + "src": "23750:9:25" }, - "nativeSrc": "23750:21:12", + "nativeSrc": "23750:21:25", "nodeType": "YulFunctionCall", - "src": "23750:21:12" + "src": "23750:21:25" }, "variableNames": [ { "name": "result", - "nativeSrc": "23740:6:12", + "nativeSrc": "23740:6:25", "nodeType": "YulIdentifier", - "src": "23740:6:12" + "src": "23740:6:25" } ] } @@ -205318,52 +224293,52 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 6328, + "declaration": 7934, "isOffset": false, "isSlot": false, - "src": "23589:4:12", + "src": "23589:4:25", "valueSize": 1 }, { - "declaration": 6331, + "declaration": 7937, "isOffset": false, "isSlot": false, - "src": "23740:6:12", + "src": "23740:6:25", "valueSize": 1 } ], - "id": 6333, + "id": 7939, "nodeType": "InlineAssembly", - "src": "23553:265:12" + "src": "23553:265:25" } ] }, "documentation": { - "id": 6326, + "id": 7932, "nodeType": "StructuredDocumentation", - "src": "23168:242:12", + "src": "23168:242:25", "text": "@dev Returns an Ethereum Signed Message, created from a `hash`.\n This produces a hash corresponding to the one signed with the\n [`eth_sign`](https://eth.wiki/json-rpc/API#eth_sign)\n JSON-RPC method as part of EIP-191." }, - "id": 6335, + "id": 7941, "implemented": true, "kind": "function", "modifiers": [], "name": "toEthSignedMessageHash", - "nameLocation": "23424:22:12", + "nameLocation": "23424:22:25", "nodeType": "FunctionDefinition", "parameters": { - "id": 6329, + "id": 7935, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6328, + "id": 7934, "mutability": "mutable", "name": "hash", - "nameLocation": "23455:4:12", + "nameLocation": "23455:4:25", "nodeType": "VariableDeclaration", - "scope": 6335, - "src": "23447:12:12", + "scope": 7941, + "src": "23447:12:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -205371,10 +224346,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6327, + "id": 7933, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "23447:7:12", + "src": "23447:7:25", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -205383,21 +224358,21 @@ "visibility": "internal" } ], - "src": "23446:14:12" + "src": "23446:14:25" }, "returnParameters": { - "id": 6332, + "id": 7938, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6331, + "id": 7937, "mutability": "mutable", "name": "result", - "nameLocation": "23492:6:12", + "nameLocation": "23492:6:25", "nodeType": "VariableDeclaration", - "scope": 6335, - "src": "23484:14:12", + "scope": 7941, + "src": "23484:14:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -205405,10 +224380,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6330, + "id": 7936, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "23484:7:12", + "src": "23484:7:25", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -205417,77 +224392,77 @@ "visibility": "internal" } ], - "src": "23483:16:12" + "src": "23483:16:25" }, - "scope": 6354, - "src": "23415:409:12", + "scope": 7960, + "src": "23415:409:25", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 6344, + "id": 7950, "nodeType": "Block", - "src": "24217:1019:12", + "src": "24217:1019:25", "statements": [ { "AST": { - "nativeSrc": "24279:951:12", + "nativeSrc": "24279:951:25", "nodeType": "YulBlock", - "src": "24279:951:12", + "src": "24279:951:25", "statements": [ { - "nativeSrc": "24293:23:12", + "nativeSrc": "24293:23:25", "nodeType": "YulVariableDeclaration", - "src": "24293:23:12", + "src": "24293:23:25", "value": { "arguments": [ { "name": "s", - "nativeSrc": "24314:1:12", + "nativeSrc": "24314:1:25", "nodeType": "YulIdentifier", - "src": "24314:1:12" + "src": "24314:1:25" } ], "functionName": { "name": "mload", - "nativeSrc": "24308:5:12", + "nativeSrc": "24308:5:25", "nodeType": "YulIdentifier", - "src": "24308:5:12" + "src": "24308:5:25" }, - "nativeSrc": "24308:8:12", + "nativeSrc": "24308:8:25", "nodeType": "YulFunctionCall", - "src": "24308:8:12" + "src": "24308:8:25" }, "variables": [ { "name": "sLength", - "nativeSrc": "24297:7:12", + "nativeSrc": "24297:7:25", "nodeType": "YulTypedName", - "src": "24297:7:12", + "src": "24297:7:25", "type": "" } ] }, { - "nativeSrc": "24329:13:12", + "nativeSrc": "24329:13:25", "nodeType": "YulVariableDeclaration", - "src": "24329:13:12", + "src": "24329:13:25", "value": { "kind": "number", - "nativeSrc": "24338:4:12", + "nativeSrc": "24338:4:25", "nodeType": "YulLiteral", - "src": "24338:4:12", + "src": "24338:4:25", "type": "", "value": "0x20" }, "variables": [ { "name": "o", - "nativeSrc": "24333:1:12", + "nativeSrc": "24333:1:25", "nodeType": "YulTypedName", - "src": "24333:1:12", + "src": "24333:1:25", "type": "" } ] @@ -205497,111 +224472,111 @@ "arguments": [ { "name": "o", - "nativeSrc": "24362:1:12", + "nativeSrc": "24362:1:25", "nodeType": "YulIdentifier", - "src": "24362:1:12" + "src": "24362:1:25" }, { "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a", "kind": "string", - "nativeSrc": "24365:32:12", + "nativeSrc": "24365:32:25", "nodeType": "YulLiteral", - "src": "24365:32:12", + "src": "24365:32:25", "type": "", "value": "\u0019Ethereum Signed Message:\n" } ], "functionName": { "name": "mstore", - "nativeSrc": "24355:6:12", + "nativeSrc": "24355:6:25", "nodeType": "YulIdentifier", - "src": "24355:6:12" + "src": "24355:6:25" }, - "nativeSrc": "24355:43:12", + "nativeSrc": "24355:43:25", "nodeType": "YulFunctionCall", - "src": "24355:43:12" + "src": "24355:43:25" }, - "nativeSrc": "24355:43:12", + "nativeSrc": "24355:43:25", "nodeType": "YulExpressionStatement", - "src": "24355:43:12" + "src": "24355:43:25" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "24450:4:12", + "nativeSrc": "24450:4:25", "nodeType": "YulLiteral", - "src": "24450:4:12", + "src": "24450:4:25", "type": "", "value": "0x00" }, { "kind": "number", - "nativeSrc": "24456:4:12", + "nativeSrc": "24456:4:25", "nodeType": "YulLiteral", - "src": "24456:4:12", + "src": "24456:4:25", "type": "", "value": "0x00" } ], "functionName": { "name": "mstore", - "nativeSrc": "24443:6:12", + "nativeSrc": "24443:6:25", "nodeType": "YulIdentifier", - "src": "24443:6:12" + "src": "24443:6:25" }, - "nativeSrc": "24443:18:12", + "nativeSrc": "24443:18:25", "nodeType": "YulFunctionCall", - "src": "24443:18:12" + "src": "24443:18:25" }, - "nativeSrc": "24443:18:12", + "nativeSrc": "24443:18:25", "nodeType": "YulExpressionStatement", - "src": "24443:18:12" + "src": "24443:18:25" }, { "body": { - "nativeSrc": "24598:177:12", + "nativeSrc": "24598:177:25", "nodeType": "YulBlock", - "src": "24598:177:12", + "src": "24598:177:25", "statements": [ { - "nativeSrc": "24616:14:12", + "nativeSrc": "24616:14:25", "nodeType": "YulAssignment", - "src": "24616:14:12", + "src": "24616:14:25", "value": { "arguments": [ { "name": "o", - "nativeSrc": "24625:1:12", + "nativeSrc": "24625:1:25", "nodeType": "YulIdentifier", - "src": "24625:1:12" + "src": "24625:1:25" }, { "kind": "number", - "nativeSrc": "24628:1:12", + "nativeSrc": "24628:1:25", "nodeType": "YulLiteral", - "src": "24628:1:12", + "src": "24628:1:25", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "24621:3:12", + "nativeSrc": "24621:3:25", "nodeType": "YulIdentifier", - "src": "24621:3:12" + "src": "24621:3:25" }, - "nativeSrc": "24621:9:12", + "nativeSrc": "24621:9:25", "nodeType": "YulFunctionCall", - "src": "24621:9:12" + "src": "24621:9:25" }, "variableNames": [ { "name": "o", - "nativeSrc": "24616:1:12", + "nativeSrc": "24616:1:25", "nodeType": "YulIdentifier", - "src": "24616:1:12" + "src": "24616:1:25" } ] }, @@ -205610,17 +224585,17 @@ "arguments": [ { "name": "o", - "nativeSrc": "24655:1:12", + "nativeSrc": "24655:1:25", "nodeType": "YulIdentifier", - "src": "24655:1:12" + "src": "24655:1:25" }, { "arguments": [ { "kind": "number", - "nativeSrc": "24662:2:12", + "nativeSrc": "24662:2:25", "nodeType": "YulLiteral", - "src": "24662:2:12", + "src": "24662:2:25", "type": "", "value": "48" }, @@ -205628,105 +224603,105 @@ "arguments": [ { "name": "temp", - "nativeSrc": "24670:4:12", + "nativeSrc": "24670:4:25", "nodeType": "YulIdentifier", - "src": "24670:4:12" + "src": "24670:4:25" }, { "kind": "number", - "nativeSrc": "24676:2:12", + "nativeSrc": "24676:2:25", "nodeType": "YulLiteral", - "src": "24676:2:12", + "src": "24676:2:25", "type": "", "value": "10" } ], "functionName": { "name": "mod", - "nativeSrc": "24666:3:12", + "nativeSrc": "24666:3:25", "nodeType": "YulIdentifier", - "src": "24666:3:12" + "src": "24666:3:25" }, - "nativeSrc": "24666:13:12", + "nativeSrc": "24666:13:25", "nodeType": "YulFunctionCall", - "src": "24666:13:12" + "src": "24666:13:25" } ], "functionName": { "name": "add", - "nativeSrc": "24658:3:12", + "nativeSrc": "24658:3:25", "nodeType": "YulIdentifier", - "src": "24658:3:12" + "src": "24658:3:25" }, - "nativeSrc": "24658:22:12", + "nativeSrc": "24658:22:25", "nodeType": "YulFunctionCall", - "src": "24658:22:12" + "src": "24658:22:25" } ], "functionName": { "name": "mstore8", - "nativeSrc": "24647:7:12", + "nativeSrc": "24647:7:25", "nodeType": "YulIdentifier", - "src": "24647:7:12" + "src": "24647:7:25" }, - "nativeSrc": "24647:34:12", + "nativeSrc": "24647:34:25", "nodeType": "YulFunctionCall", - "src": "24647:34:12" + "src": "24647:34:25" }, - "nativeSrc": "24647:34:12", + "nativeSrc": "24647:34:25", "nodeType": "YulExpressionStatement", - "src": "24647:34:12" + "src": "24647:34:25" }, { - "nativeSrc": "24698:21:12", + "nativeSrc": "24698:21:25", "nodeType": "YulAssignment", - "src": "24698:21:12", + "src": "24698:21:25", "value": { "arguments": [ { "name": "temp", - "nativeSrc": "24710:4:12", + "nativeSrc": "24710:4:25", "nodeType": "YulIdentifier", - "src": "24710:4:12" + "src": "24710:4:25" }, { "kind": "number", - "nativeSrc": "24716:2:12", + "nativeSrc": "24716:2:25", "nodeType": "YulLiteral", - "src": "24716:2:12", + "src": "24716:2:25", "type": "", "value": "10" } ], "functionName": { "name": "div", - "nativeSrc": "24706:3:12", + "nativeSrc": "24706:3:25", "nodeType": "YulIdentifier", - "src": "24706:3:12" + "src": "24706:3:25" }, - "nativeSrc": "24706:13:12", + "nativeSrc": "24706:13:25", "nodeType": "YulFunctionCall", - "src": "24706:13:12" + "src": "24706:13:25" }, "variableNames": [ { "name": "temp", - "nativeSrc": "24698:4:12", + "nativeSrc": "24698:4:25", "nodeType": "YulIdentifier", - "src": "24698:4:12" + "src": "24698:4:25" } ] }, { "body": { - "nativeSrc": "24752:9:12", + "nativeSrc": "24752:9:25", "nodeType": "YulBlock", - "src": "24752:9:12", + "src": "24752:9:25", "statements": [ { - "nativeSrc": "24754:5:12", + "nativeSrc": "24754:5:25", "nodeType": "YulBreak", - "src": "24754:5:12" + "src": "24754:5:25" } ] }, @@ -205734,109 +224709,109 @@ "arguments": [ { "name": "temp", - "nativeSrc": "24746:4:12", + "nativeSrc": "24746:4:25", "nodeType": "YulIdentifier", - "src": "24746:4:12" + "src": "24746:4:25" } ], "functionName": { "name": "iszero", - "nativeSrc": "24739:6:12", + "nativeSrc": "24739:6:25", "nodeType": "YulIdentifier", - "src": "24739:6:12" + "src": "24739:6:25" }, - "nativeSrc": "24739:12:12", + "nativeSrc": "24739:12:25", "nodeType": "YulFunctionCall", - "src": "24739:12:12" + "src": "24739:12:25" }, - "nativeSrc": "24736:25:12", + "nativeSrc": "24736:25:25", "nodeType": "YulIf", - "src": "24736:25:12" + "src": "24736:25:25" } ] }, "condition": { "kind": "number", - "nativeSrc": "24593:1:12", + "nativeSrc": "24593:1:25", "nodeType": "YulLiteral", - "src": "24593:1:12", + "src": "24593:1:25", "type": "", "value": "1" }, - "nativeSrc": "24565:210:12", + "nativeSrc": "24565:210:25", "nodeType": "YulForLoop", "post": { - "nativeSrc": "24595:2:12", + "nativeSrc": "24595:2:25", "nodeType": "YulBlock", - "src": "24595:2:12", + "src": "24595:2:25", "statements": [] }, "pre": { - "nativeSrc": "24569:23:12", + "nativeSrc": "24569:23:25", "nodeType": "YulBlock", - "src": "24569:23:12", + "src": "24569:23:25", "statements": [ { - "nativeSrc": "24571:19:12", + "nativeSrc": "24571:19:25", "nodeType": "YulVariableDeclaration", - "src": "24571:19:12", + "src": "24571:19:25", "value": { "name": "sLength", - "nativeSrc": "24583:7:12", + "nativeSrc": "24583:7:25", "nodeType": "YulIdentifier", - "src": "24583:7:12" + "src": "24583:7:25" }, "variables": [ { "name": "temp", - "nativeSrc": "24575:4:12", + "nativeSrc": "24575:4:25", "nodeType": "YulTypedName", - "src": "24575:4:12", + "src": "24575:4:25", "type": "" } ] } ] }, - "src": "24565:210:12" + "src": "24565:210:25" }, { - "nativeSrc": "24788:21:12", + "nativeSrc": "24788:21:25", "nodeType": "YulVariableDeclaration", - "src": "24788:21:12", + "src": "24788:21:25", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "24801:4:12", + "nativeSrc": "24801:4:25", "nodeType": "YulLiteral", - "src": "24801:4:12", + "src": "24801:4:25", "type": "", "value": "0x3a" }, { "name": "o", - "nativeSrc": "24807:1:12", + "nativeSrc": "24807:1:25", "nodeType": "YulIdentifier", - "src": "24807:1:12" + "src": "24807:1:25" } ], "functionName": { "name": "sub", - "nativeSrc": "24797:3:12", + "nativeSrc": "24797:3:25", "nodeType": "YulIdentifier", - "src": "24797:3:12" + "src": "24797:3:25" }, - "nativeSrc": "24797:12:12", + "nativeSrc": "24797:12:25", "nodeType": "YulFunctionCall", - "src": "24797:12:12" + "src": "24797:12:25" }, "variables": [ { "name": "n", - "nativeSrc": "24792:1:12", + "nativeSrc": "24792:1:25", "nodeType": "YulTypedName", - "src": "24792:1:12", + "src": "24792:1:25", "type": "" } ] @@ -205848,76 +224823,76 @@ "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "24965:14:12", + "nativeSrc": "24965:14:25", "nodeType": "YulIdentifier", - "src": "24965:14:12" + "src": "24965:14:25" }, - "nativeSrc": "24965:16:12", + "nativeSrc": "24965:16:25", "nodeType": "YulFunctionCall", - "src": "24965:16:12" + "src": "24965:16:25" }, { "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "24983:14:12", + "nativeSrc": "24983:14:25", "nodeType": "YulIdentifier", - "src": "24983:14:12" + "src": "24983:14:25" }, - "nativeSrc": "24983:16:12", + "nativeSrc": "24983:16:25", "nodeType": "YulFunctionCall", - "src": "24983:16:12" + "src": "24983:16:25" }, { "arguments": [ { "name": "n", - "nativeSrc": "25004:1:12", + "nativeSrc": "25004:1:25", "nodeType": "YulIdentifier", - "src": "25004:1:12" + "src": "25004:1:25" }, { "kind": "number", - "nativeSrc": "25007:4:12", + "nativeSrc": "25007:4:25", "nodeType": "YulLiteral", - "src": "25007:4:12", + "src": "25007:4:25", "type": "", "value": "0x20" } ], "functionName": { "name": "gt", - "nativeSrc": "25001:2:12", + "nativeSrc": "25001:2:25", "nodeType": "YulIdentifier", - "src": "25001:2:12" + "src": "25001:2:25" }, - "nativeSrc": "25001:11:12", + "nativeSrc": "25001:11:25", "nodeType": "YulFunctionCall", - "src": "25001:11:12" + "src": "25001:11:25" } ], "functionName": { "name": "returndatacopy", - "nativeSrc": "24950:14:12", + "nativeSrc": "24950:14:25", "nodeType": "YulIdentifier", - "src": "24950:14:12" + "src": "24950:14:25" }, - "nativeSrc": "24950:63:12", + "nativeSrc": "24950:63:25", "nodeType": "YulFunctionCall", - "src": "24950:63:12" + "src": "24950:63:25" }, - "nativeSrc": "24950:63:12", + "nativeSrc": "24950:63:25", "nodeType": "YulExpressionStatement", - "src": "24950:63:12" + "src": "24950:63:25" }, { "expression": { "arguments": [ { "name": "s", - "nativeSrc": "25033:1:12", + "nativeSrc": "25033:1:25", "nodeType": "YulIdentifier", - "src": "25033:1:12" + "src": "25033:1:25" }, { "arguments": [ @@ -205925,162 +224900,162 @@ "arguments": [ { "kind": "number", - "nativeSrc": "25045:4:12", + "nativeSrc": "25045:4:25", "nodeType": "YulLiteral", - "src": "25045:4:12", + "src": "25045:4:25", "type": "", "value": "0x00" } ], "functionName": { "name": "mload", - "nativeSrc": "25039:5:12", + "nativeSrc": "25039:5:25", "nodeType": "YulIdentifier", - "src": "25039:5:12" + "src": "25039:5:25" }, - "nativeSrc": "25039:11:12", + "nativeSrc": "25039:11:25", "nodeType": "YulFunctionCall", - "src": "25039:11:12" + "src": "25039:11:25" }, { "arguments": [ { "name": "n", - "nativeSrc": "25058:1:12", + "nativeSrc": "25058:1:25", "nodeType": "YulIdentifier", - "src": "25058:1:12" + "src": "25058:1:25" } ], "functionName": { "name": "mload", - "nativeSrc": "25052:5:12", + "nativeSrc": "25052:5:25", "nodeType": "YulIdentifier", - "src": "25052:5:12" + "src": "25052:5:25" }, - "nativeSrc": "25052:8:12", + "nativeSrc": "25052:8:25", "nodeType": "YulFunctionCall", - "src": "25052:8:12" + "src": "25052:8:25" } ], "functionName": { "name": "or", - "nativeSrc": "25036:2:12", + "nativeSrc": "25036:2:25", "nodeType": "YulIdentifier", - "src": "25036:2:12" + "src": "25036:2:25" }, - "nativeSrc": "25036:25:12", + "nativeSrc": "25036:25:25", "nodeType": "YulFunctionCall", - "src": "25036:25:12" + "src": "25036:25:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "25026:6:12", + "nativeSrc": "25026:6:25", "nodeType": "YulIdentifier", - "src": "25026:6:12" + "src": "25026:6:25" }, - "nativeSrc": "25026:36:12", + "nativeSrc": "25026:36:25", "nodeType": "YulFunctionCall", - "src": "25026:36:12" + "src": "25026:36:25" }, - "nativeSrc": "25026:36:12", + "nativeSrc": "25026:36:25", "nodeType": "YulExpressionStatement", - "src": "25026:36:12" + "src": "25026:36:25" }, { - "nativeSrc": "25108:58:12", + "nativeSrc": "25108:58:25", "nodeType": "YulAssignment", - "src": "25108:58:12", + "src": "25108:58:25", "value": { "arguments": [ { "arguments": [ { "name": "s", - "nativeSrc": "25132:1:12", + "nativeSrc": "25132:1:25", "nodeType": "YulIdentifier", - "src": "25132:1:12" + "src": "25132:1:25" }, { "arguments": [ { "kind": "number", - "nativeSrc": "25139:4:12", + "nativeSrc": "25139:4:25", "nodeType": "YulLiteral", - "src": "25139:4:12", + "src": "25139:4:25", "type": "", "value": "0x20" }, { "name": "n", - "nativeSrc": "25145:1:12", + "nativeSrc": "25145:1:25", "nodeType": "YulIdentifier", - "src": "25145:1:12" + "src": "25145:1:25" } ], "functionName": { "name": "sub", - "nativeSrc": "25135:3:12", + "nativeSrc": "25135:3:25", "nodeType": "YulIdentifier", - "src": "25135:3:12" + "src": "25135:3:25" }, - "nativeSrc": "25135:12:12", + "nativeSrc": "25135:12:25", "nodeType": "YulFunctionCall", - "src": "25135:12:12" + "src": "25135:12:25" } ], "functionName": { "name": "add", - "nativeSrc": "25128:3:12", + "nativeSrc": "25128:3:25", "nodeType": "YulIdentifier", - "src": "25128:3:12" + "src": "25128:3:25" }, - "nativeSrc": "25128:20:12", + "nativeSrc": "25128:20:25", "nodeType": "YulFunctionCall", - "src": "25128:20:12" + "src": "25128:20:25" }, { "arguments": [ { "name": "n", - "nativeSrc": "25154:1:12", + "nativeSrc": "25154:1:25", "nodeType": "YulIdentifier", - "src": "25154:1:12" + "src": "25154:1:25" }, { "name": "sLength", - "nativeSrc": "25157:7:12", + "nativeSrc": "25157:7:25", "nodeType": "YulIdentifier", - "src": "25157:7:12" + "src": "25157:7:25" } ], "functionName": { "name": "add", - "nativeSrc": "25150:3:12", + "nativeSrc": "25150:3:25", "nodeType": "YulIdentifier", - "src": "25150:3:12" + "src": "25150:3:25" }, - "nativeSrc": "25150:15:12", + "nativeSrc": "25150:15:25", "nodeType": "YulFunctionCall", - "src": "25150:15:12" + "src": "25150:15:25" } ], "functionName": { "name": "keccak256", - "nativeSrc": "25118:9:12", + "nativeSrc": "25118:9:25", "nodeType": "YulIdentifier", - "src": "25118:9:12" + "src": "25118:9:25" }, - "nativeSrc": "25118:48:12", + "nativeSrc": "25118:48:25", "nodeType": "YulFunctionCall", - "src": "25118:48:12" + "src": "25118:48:25" }, "variableNames": [ { "name": "result", - "nativeSrc": "25108:6:12", + "nativeSrc": "25108:6:25", "nodeType": "YulIdentifier", - "src": "25108:6:12" + "src": "25108:6:25" } ] }, @@ -206089,30 +225064,30 @@ "arguments": [ { "name": "s", - "nativeSrc": "25186:1:12", + "nativeSrc": "25186:1:25", "nodeType": "YulIdentifier", - "src": "25186:1:12" + "src": "25186:1:25" }, { "name": "sLength", - "nativeSrc": "25189:7:12", + "nativeSrc": "25189:7:25", "nodeType": "YulIdentifier", - "src": "25189:7:12" + "src": "25189:7:25" } ], "functionName": { "name": "mstore", - "nativeSrc": "25179:6:12", + "nativeSrc": "25179:6:25", "nodeType": "YulIdentifier", - "src": "25179:6:12" + "src": "25179:6:25" }, - "nativeSrc": "25179:18:12", + "nativeSrc": "25179:18:25", "nodeType": "YulFunctionCall", - "src": "25179:18:12" + "src": "25179:18:25" }, - "nativeSrc": "25179:18:12", + "nativeSrc": "25179:18:25", "nodeType": "YulExpressionStatement", - "src": "25179:18:12" + "src": "25179:18:25" } ] }, @@ -206120,73 +225095,73 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 6341, + "declaration": 7947, "isOffset": false, "isSlot": false, - "src": "25108:6:12", + "src": "25108:6:25", "valueSize": 1 }, { - "declaration": 6338, + "declaration": 7944, "isOffset": false, "isSlot": false, - "src": "24314:1:12", + "src": "24314:1:25", "valueSize": 1 }, { - "declaration": 6338, + "declaration": 7944, "isOffset": false, "isSlot": false, - "src": "25033:1:12", + "src": "25033:1:25", "valueSize": 1 }, { - "declaration": 6338, + "declaration": 7944, "isOffset": false, "isSlot": false, - "src": "25132:1:12", + "src": "25132:1:25", "valueSize": 1 }, { - "declaration": 6338, + "declaration": 7944, "isOffset": false, "isSlot": false, - "src": "25186:1:12", + "src": "25186:1:25", "valueSize": 1 } ], - "id": 6343, + "id": 7949, "nodeType": "InlineAssembly", - "src": "24270:960:12" + "src": "24270:960:25" } ] }, "documentation": { - "id": 6336, + "id": 7942, "nodeType": "StructuredDocumentation", - "src": "23830:295:12", + "src": "23830:295:25", "text": "@dev Returns an Ethereum Signed Message, created from `s`.\n This produces a hash corresponding to the one signed with the\n [`eth_sign`](https://eth.wiki/json-rpc/API#eth_sign)\n JSON-RPC method as part of EIP-191.\n Note: Supports lengths of `s` up to 999999 bytes." }, - "id": 6345, + "id": 7951, "implemented": true, "kind": "function", "modifiers": [], "name": "toEthSignedMessageHash", - "nameLocation": "24139:22:12", + "nameLocation": "24139:22:25", "nodeType": "FunctionDefinition", "parameters": { - "id": 6339, + "id": 7945, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6338, + "id": 7944, "mutability": "mutable", "name": "s", - "nameLocation": "24175:1:12", + "nameLocation": "24175:1:25", "nodeType": "VariableDeclaration", - "scope": 6345, - "src": "24162:14:12", + "scope": 7951, + "src": "24162:14:25", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -206194,10 +225169,10 @@ "typeString": "bytes" }, "typeName": { - "id": 6337, + "id": 7943, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "24162:5:12", + "src": "24162:5:25", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -206206,21 +225181,21 @@ "visibility": "internal" } ], - "src": "24161:16:12" + "src": "24161:16:25" }, "returnParameters": { - "id": 6342, + "id": 7948, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6341, + "id": 7947, "mutability": "mutable", "name": "result", - "nameLocation": "24209:6:12", + "nameLocation": "24209:6:25", "nodeType": "VariableDeclaration", - "scope": 6345, - "src": "24201:14:12", + "scope": 7951, + "src": "24201:14:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -206228,10 +225203,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6340, + "id": 7946, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "24201:7:12", + "src": "24201:7:25", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -206240,44 +225215,44 @@ "visibility": "internal" } ], - "src": "24200:16:12" + "src": "24200:16:25" }, - "scope": 6354, - "src": "24130:1106:12", + "scope": 7960, + "src": "24130:1106:25", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 6352, + "id": 7958, "nodeType": "Block", - "src": "25646:113:12", + "src": "25646:113:25", "statements": [ { "AST": { - "nativeSrc": "25708:45:12", + "nativeSrc": "25708:45:25", "nodeType": "YulBlock", - "src": "25708:45:12", + "src": "25708:45:25", "statements": [ { - "nativeSrc": "25722:21:12", + "nativeSrc": "25722:21:25", "nodeType": "YulAssignment", - "src": "25722:21:12", + "src": "25722:21:25", "value": { "kind": "number", - "nativeSrc": "25742:1:12", + "nativeSrc": "25742:1:25", "nodeType": "YulLiteral", - "src": "25742:1:12", + "src": "25742:1:25", "type": "", "value": "0" }, "variableNames": [ { "name": "signature.length", - "nativeSrc": "25722:16:12", + "nativeSrc": "25722:16:25", "nodeType": "YulIdentifier", - "src": "25722:16:12" + "src": "25722:16:25" } ] } @@ -206287,52 +225262,52 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 6349, + "declaration": 7955, "isOffset": false, "isSlot": false, - "src": "25722:16:12", + "src": "25722:16:25", "suffix": "length", "valueSize": 1 } ], - "id": 6351, + "id": 7957, "nodeType": "InlineAssembly", - "src": "25699:54:12" + "src": "25699:54:25" } ] }, "documentation": { - "id": 6346, + "id": 7952, "nodeType": "StructuredDocumentation", - "src": "25525:41:12", + "src": "25525:41:25", "text": "@dev Returns an empty calldata bytes." }, - "id": 6353, + "id": 7959, "implemented": true, "kind": "function", "modifiers": [], "name": "emptySignature", - "nameLocation": "25580:14:12", + "nameLocation": "25580:14:25", "nodeType": "FunctionDefinition", "parameters": { - "id": 6347, + "id": 7953, "nodeType": "ParameterList", "parameters": [], - "src": "25594:2:12" + "src": "25594:2:25" }, "returnParameters": { - "id": 6350, + "id": 7956, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6349, + "id": 7955, "mutability": "mutable", "name": "signature", - "nameLocation": "25635:9:12", + "nameLocation": "25635:9:25", "nodeType": "VariableDeclaration", - "scope": 6353, - "src": "25620:24:12", + "scope": 7959, + "src": "25620:24:25", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -206340,10 +225315,10 @@ "typeString": "bytes" }, "typeName": { - "id": 6348, + "id": 7954, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "25620:5:12", + "src": "25620:5:25", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -206352,42 +225327,42 @@ "visibility": "internal" } ], - "src": "25619:26:12" + "src": "25619:26:25" }, - "scope": 6354, - "src": "25571:188:12", + "scope": 7960, + "src": "25571:188:25", "stateMutability": "pure", "virtual": false, "visibility": "internal" } ], - "scope": 6355, - "src": "1438:24323:12", + "scope": 7961, + "src": "1438:24323:25", "usedErrors": [], "usedEvents": [] } ], - "src": "32:25730:12" + "src": "32:25730:25" }, - "id": 12 + "id": 25 }, "solady/utils/UUPSUpgradeable.sol": { "ast": { "absolutePath": "solady/utils/UUPSUpgradeable.sol", "exportedSymbols": { "CallContextChecker": [ - 2572 + 4178 ], "UUPSUpgradeable": [ - 6411 + 8017 ] }, - "id": 6412, + "id": 8018, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 6356, + "id": 7962, "literals": [ "solidity", "^", @@ -206395,26 +225370,26 @@ ".4" ], "nodeType": "PragmaDirective", - "src": "32:23:13" + "src": "32:23:26" }, { "absolutePath": "solady/utils/CallContextChecker.sol", "file": "./CallContextChecker.sol", - "id": 6358, + "id": 7964, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 6412, - "sourceUnit": 2573, - "src": "57:60:13", + "scope": 8018, + "sourceUnit": 4179, + "src": "57:60:26", "symbolAliases": [ { "foreign": { - "id": 6357, + "id": 7963, "name": "CallContextChecker", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2572, - "src": "65:18:13", + "referencedDeclaration": 4178, + "src": "65:18:26", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -206427,86 +225402,86 @@ "baseContracts": [ { "baseName": { - "id": 6360, + "id": 7966, "name": "CallContextChecker", "nameLocations": [ - "739:18:13" + "739:18:26" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 2572, - "src": "739:18:13" + "referencedDeclaration": 4178, + "src": "739:18:26" }, - "id": 6361, + "id": 7967, "nodeType": "InheritanceSpecifier", - "src": "739:18:13" + "src": "739:18:26" } ], "canonicalName": "UUPSUpgradeable", "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 6359, + "id": 7965, "nodeType": "StructuredDocumentation", - "src": "119:583:13", + "src": "119:583:26", "text": "@notice UUPS proxy mixin.\n @author Solady (https://github.com/vectorized/solady/blob/main/src/utils/UUPSUpgradeable.sol)\n @author Modified from OpenZeppelin\n (https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/proxy/utils/UUPSUpgradeable.sol)\n @dev Note:\n - This implementation is intended to be used with ERC1967 proxies.\n See: `LibClone.deployERC1967` and related functions.\n - This implementation is NOT compatible with legacy OpenZeppelin proxies\n which do not store the implementation at `_ERC1967_IMPLEMENTATION_SLOT`." }, "fullyImplemented": false, - "id": 6411, + "id": 8017, "linearizedBaseContracts": [ - 6411, - 2572 + 8017, + 4178 ], "name": "UUPSUpgradeable", - "nameLocation": "720:15:13", + "nameLocation": "720:15:26", "nodeType": "ContractDefinition", "nodes": [ { "documentation": { - "id": 6362, + "id": 7968, "nodeType": "StructuredDocumentation", - "src": "1047:28:13", + "src": "1047:28:26", "text": "@dev The upgrade failed." }, "errorSelector": "55299b49", - "id": 6364, + "id": 7970, "name": "UpgradeFailed", - "nameLocation": "1086:13:13", + "nameLocation": "1086:13:26", "nodeType": "ErrorDefinition", "parameters": { - "id": 6363, + "id": 7969, "nodeType": "ParameterList", "parameters": [], - "src": "1099:2:13" + "src": "1099:2:26" }, - "src": "1080:22:13" + "src": "1080:22:26" }, { "anonymous": false, "documentation": { - "id": 6365, + "id": 7971, "nodeType": "StructuredDocumentation", - "src": "1391:61:13", + "src": "1391:61:26", "text": "@dev Emitted when the proxy's implementation is upgraded." }, "eventSelector": "bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", - "id": 6369, + "id": 7975, "name": "Upgraded", - "nameLocation": "1463:8:13", + "nameLocation": "1463:8:26", "nodeType": "EventDefinition", "parameters": { - "id": 6368, + "id": 7974, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6367, + "id": 7973, "indexed": true, "mutability": "mutable", "name": "implementation", - "nameLocation": "1488:14:13", + "nameLocation": "1488:14:26", "nodeType": "VariableDeclaration", - "scope": 6369, - "src": "1472:30:13", + "scope": 7975, + "src": "1472:30:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -206514,10 +225489,10 @@ "typeString": "address" }, "typeName": { - "id": 6366, + "id": 7972, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1472:7:13", + "src": "1472:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -206527,25 +225502,25 @@ "visibility": "internal" } ], - "src": "1471:32:13" + "src": "1471:32:26" }, - "src": "1457:47:13" + "src": "1457:47:26" }, { "constant": true, "documentation": { - "id": 6370, + "id": 7976, "nodeType": "StructuredDocumentation", - "src": "1510:49:13", + "src": "1510:49:26", "text": "@dev `keccak256(bytes(\"Upgraded(address)\"))`." }, - "id": 6373, + "id": 7979, "mutability": "constant", "name": "_UPGRADED_EVENT_SIGNATURE", - "nameLocation": "1589:25:13", + "nameLocation": "1589:25:26", "nodeType": "VariableDeclaration", - "scope": 6411, - "src": "1564:127:13", + "scope": 8017, + "src": "1564:127:26", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -206553,10 +225528,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6371, + "id": 7977, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1564:7:13", + "src": "1564:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -206564,14 +225539,14 @@ }, "value": { "hexValue": "307862633763643735613230656532376664396164656261623332303431663735353231346462633662666661393063633032323562333964613265356332643362", - "id": 6372, + "id": 7978, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1625:66:13", + "src": "1625:66:26", "typeDescriptions": { "typeIdentifier": "t_rational_85255390875014325802867460126659607941379558699672153012307716606304121007419_by_1", "typeString": "int_const 8525...(69 digits omitted)...7419" @@ -206583,18 +225558,18 @@ { "constant": true, "documentation": { - "id": 6374, + "id": 7980, "nodeType": "StructuredDocumentation", - "src": "1981:137:13", + "src": "1981:137:26", "text": "@dev The ERC-1967 storage slot for the implementation in the proxy.\n `uint256(keccak256(\"eip1967.proxy.implementation\")) - 1`." }, - "id": 6377, + "id": 7983, "mutability": "constant", "name": "_ERC1967_IMPLEMENTATION_SLOT", - "nameLocation": "2149:28:13", + "nameLocation": "2149:28:26", "nodeType": "VariableDeclaration", - "scope": 6411, - "src": "2123:131:13", + "scope": 8017, + "src": "2123:131:26", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -206602,10 +225577,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6375, + "id": 7981, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2123:7:13", + "src": "2123:7:26", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -206613,14 +225588,14 @@ }, "value": { "hexValue": "307833363038393461313362613161333231303636376338323834393264623938646361336532303736636333373335613932306133636135303564333832626263", - "id": 6376, + "id": 7982, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2188:66:13", + "src": "2188:66:26", "typeDescriptions": { "typeIdentifier": "t_rational_24440054405305269366569402256811496959409073762505157381672968839269610695612_by_1", "typeString": "int_const 2444...(69 digits omitted)...5612" @@ -206631,31 +225606,31 @@ }, { "documentation": { - "id": 6378, + "id": 7984, "nodeType": "StructuredDocumentation", - "src": "2544:251:13", + "src": "2544:251:26", "text": "@dev Please override this function to check if `msg.sender` is authorized\n to upgrade the proxy to `newImplementation`, reverting if not.\n ```\n function _authorizeUpgrade(address) internal override onlyOwner {}\n ```" }, - "id": 6383, + "id": 7989, "implemented": false, "kind": "function", "modifiers": [], "name": "_authorizeUpgrade", - "nameLocation": "2809:17:13", + "nameLocation": "2809:17:26", "nodeType": "FunctionDefinition", "parameters": { - "id": 6381, + "id": 7987, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6380, + "id": 7986, "mutability": "mutable", "name": "newImplementation", - "nameLocation": "2835:17:13", + "nameLocation": "2835:17:26", "nodeType": "VariableDeclaration", - "scope": 6383, - "src": "2827:25:13", + "scope": 7989, + "src": "2827:25:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -206663,10 +225638,10 @@ "typeString": "address" }, "typeName": { - "id": 6379, + "id": 7985, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2827:7:13", + "src": "2827:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -206676,96 +225651,96 @@ "visibility": "internal" } ], - "src": "2826:27:13" + "src": "2826:27:26" }, "returnParameters": { - "id": 6382, + "id": 7988, "nodeType": "ParameterList", "parameters": [], - "src": "2870:0:13" + "src": "2870:0:26" }, - "scope": 6411, - "src": "2800:71:13", + "scope": 8017, + "src": "2800:71:26", "stateMutability": "nonpayable", "virtual": true, "visibility": "internal" }, { "body": { - "id": 6393, + "id": 7999, "nodeType": "Block", - "src": "3229:151:13", + "src": "3229:151:26", "statements": [ { "expression": { - "id": 6391, + "id": 7997, "name": "_ERC1967_IMPLEMENTATION_SLOT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6377, - "src": "3345:28:13", + "referencedDeclaration": 7983, + "src": "3345:28:26", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 6390, - "id": 6392, + "functionReturnParameters": 7996, + "id": 7998, "nodeType": "Return", - "src": "3338:35:13" + "src": "3338:35:26" } ] }, "documentation": { - "id": 6384, + "id": 7990, "nodeType": "StructuredDocumentation", - "src": "2877:271:13", + "src": "2877:271:26", "text": "@dev Returns the storage slot used by the implementation,\n as specified in [ERC1822](https://eips.ethereum.org/EIPS/eip-1822).\n Note: The `notDelegated` modifier prevents accidental upgrades to\n an implementation that is a proxy contract." }, "functionSelector": "52d1902d", - "id": 6394, + "id": 8000, "implemented": true, "kind": "function", "modifiers": [ { - "id": 6387, + "id": 7993, "kind": "modifierInvocation", "modifierName": { - "id": 6386, + "id": 7992, "name": "notDelegated", "nameLocations": [ - "3198:12:13" + "3198:12:26" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 2566, - "src": "3198:12:13" + "referencedDeclaration": 4172, + "src": "3198:12:26" }, "nodeType": "ModifierInvocation", - "src": "3198:12:13" + "src": "3198:12:26" } ], "name": "proxiableUUID", - "nameLocation": "3162:13:13", + "nameLocation": "3162:13:26", "nodeType": "FunctionDefinition", "parameters": { - "id": 6385, + "id": 7991, "nodeType": "ParameterList", "parameters": [], - "src": "3175:2:13" + "src": "3175:2:26" }, "returnParameters": { - "id": 6390, + "id": 7996, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6389, + "id": 7995, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 6394, - "src": "3220:7:13", + "scope": 8000, + "src": "3220:7:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -206773,10 +225748,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6388, + "id": 7994, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3220:7:13", + "src": "3220:7:26", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -206785,30 +225760,30 @@ "visibility": "internal" } ], - "src": "3219:9:13" + "src": "3219:9:26" }, - "scope": 6411, - "src": "3153:227:13", + "scope": 8017, + "src": "3153:227:26", "stateMutability": "view", "virtual": true, "visibility": "public" }, { "body": { - "id": 6409, + "id": 8015, "nodeType": "Block", - "src": "3729:1475:13", + "src": "3729:1475:26", "statements": [ { "expression": { "arguments": [ { - "id": 6405, + "id": 8011, "name": "newImplementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6397, - "src": "3757:17:13", + "referencedDeclaration": 8003, + "src": "3757:17:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -206822,18 +225797,18 @@ "typeString": "address" } ], - "id": 6404, + "id": 8010, "name": "_authorizeUpgrade", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6383, - "src": "3739:17:13", + "referencedDeclaration": 7989, + "src": "3739:17:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 6406, + "id": 8012, "isConstant": false, "isLValue": false, "isPure": false, @@ -206842,34 +225817,34 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3739:36:13", + "src": "3739:36:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6407, + "id": 8013, "nodeType": "ExpressionStatement", - "src": "3739:36:13" + "src": "3739:36:26" }, { "AST": { - "nativeSrc": "3837:1361:13", + "nativeSrc": "3837:1361:26", "nodeType": "YulBlock", - "src": "3837:1361:13", + "src": "3837:1361:26", "statements": [ { - "nativeSrc": "3851:56:13", + "nativeSrc": "3851:56:26", "nodeType": "YulAssignment", - "src": "3851:56:13", + "src": "3851:56:26", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "3876:2:13", + "nativeSrc": "3876:2:26", "nodeType": "YulLiteral", - "src": "3876:2:13", + "src": "3876:2:26", "type": "", "value": "96" }, @@ -206877,46 +225852,46 @@ "arguments": [ { "kind": "number", - "nativeSrc": "3884:2:13", + "nativeSrc": "3884:2:26", "nodeType": "YulLiteral", - "src": "3884:2:13", + "src": "3884:2:26", "type": "", "value": "96" }, { "name": "newImplementation", - "nativeSrc": "3888:17:13", + "nativeSrc": "3888:17:26", "nodeType": "YulIdentifier", - "src": "3888:17:13" + "src": "3888:17:26" } ], "functionName": { "name": "shl", - "nativeSrc": "3880:3:13", + "nativeSrc": "3880:3:26", "nodeType": "YulIdentifier", - "src": "3880:3:13" + "src": "3880:3:26" }, - "nativeSrc": "3880:26:13", + "nativeSrc": "3880:26:26", "nodeType": "YulFunctionCall", - "src": "3880:26:13" + "src": "3880:26:26" } ], "functionName": { "name": "shr", - "nativeSrc": "3872:3:13", + "nativeSrc": "3872:3:26", "nodeType": "YulIdentifier", - "src": "3872:3:13" + "src": "3872:3:26" }, - "nativeSrc": "3872:35:13", + "nativeSrc": "3872:35:26", "nodeType": "YulFunctionCall", - "src": "3872:35:13" + "src": "3872:35:26" }, "variableNames": [ { "name": "newImplementation", - "nativeSrc": "3851:17:13", + "nativeSrc": "3851:17:26", "nodeType": "YulIdentifier", - "src": "3851:17:13" + "src": "3851:17:26" } ] }, @@ -206925,9 +225900,9 @@ "arguments": [ { "kind": "number", - "nativeSrc": "3952:4:13", + "nativeSrc": "3952:4:26", "nodeType": "YulLiteral", - "src": "3952:4:13", + "src": "3952:4:26", "type": "", "value": "0x00" }, @@ -206935,156 +225910,156 @@ "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "3958:14:13", + "nativeSrc": "3958:14:26", "nodeType": "YulIdentifier", - "src": "3958:14:13" + "src": "3958:14:26" }, - "nativeSrc": "3958:16:13", + "nativeSrc": "3958:16:26", "nodeType": "YulFunctionCall", - "src": "3958:16:13" + "src": "3958:16:26" } ], "functionName": { "name": "mstore", - "nativeSrc": "3945:6:13", + "nativeSrc": "3945:6:26", "nodeType": "YulIdentifier", - "src": "3945:6:13" + "src": "3945:6:26" }, - "nativeSrc": "3945:30:13", + "nativeSrc": "3945:30:26", "nodeType": "YulFunctionCall", - "src": "3945:30:13" + "src": "3945:30:26" }, - "nativeSrc": "3945:30:13", + "nativeSrc": "3945:30:26", "nodeType": "YulExpressionStatement", - "src": "3945:30:13" + "src": "3945:30:26" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "3995:4:13", + "nativeSrc": "3995:4:26", "nodeType": "YulLiteral", - "src": "3995:4:13", + "src": "3995:4:26", "type": "", "value": "0x01" }, { "kind": "number", - "nativeSrc": "4001:10:13", + "nativeSrc": "4001:10:26", "nodeType": "YulLiteral", - "src": "4001:10:13", + "src": "4001:10:26", "type": "", "value": "0x52d1902d" } ], "functionName": { "name": "mstore", - "nativeSrc": "3988:6:13", + "nativeSrc": "3988:6:26", "nodeType": "YulIdentifier", - "src": "3988:6:13" + "src": "3988:6:26" }, - "nativeSrc": "3988:24:13", + "nativeSrc": "3988:24:26", "nodeType": "YulFunctionCall", - "src": "3988:24:13" + "src": "3988:24:26" }, - "nativeSrc": "3988:24:13", + "nativeSrc": "3988:24:26", "nodeType": "YulExpressionStatement", - "src": "3988:24:13" + "src": "3988:24:26" }, { - "nativeSrc": "4047:37:13", + "nativeSrc": "4047:37:26", "nodeType": "YulVariableDeclaration", - "src": "4047:37:13", + "src": "4047:37:26", "value": { "name": "_ERC1967_IMPLEMENTATION_SLOT", - "nativeSrc": "4056:28:13", + "nativeSrc": "4056:28:26", "nodeType": "YulIdentifier", - "src": "4056:28:13" + "src": "4056:28:26" }, "variables": [ { "name": "s", - "nativeSrc": "4051:1:13", + "nativeSrc": "4051:1:26", "nodeType": "YulTypedName", - "src": "4051:1:13", + "src": "4051:1:26", "type": "" } ] }, { "body": { - "nativeSrc": "4265:113:13", + "nativeSrc": "4265:113:26", "nodeType": "YulBlock", - "src": "4265:113:13", + "src": "4265:113:26", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "4290:4:13", + "nativeSrc": "4290:4:26", "nodeType": "YulLiteral", - "src": "4290:4:13", + "src": "4290:4:26", "type": "", "value": "0x01" }, { "kind": "number", - "nativeSrc": "4296:10:13", + "nativeSrc": "4296:10:26", "nodeType": "YulLiteral", - "src": "4296:10:13", + "src": "4296:10:26", "type": "", "value": "0x55299b49" } ], "functionName": { "name": "mstore", - "nativeSrc": "4283:6:13", + "nativeSrc": "4283:6:26", "nodeType": "YulIdentifier", - "src": "4283:6:13" + "src": "4283:6:26" }, - "nativeSrc": "4283:24:13", + "nativeSrc": "4283:24:26", "nodeType": "YulFunctionCall", - "src": "4283:24:13" + "src": "4283:24:26" }, - "nativeSrc": "4283:24:13", + "nativeSrc": "4283:24:26", "nodeType": "YulExpressionStatement", - "src": "4283:24:13" + "src": "4283:24:26" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "4353:4:13", + "nativeSrc": "4353:4:26", "nodeType": "YulLiteral", - "src": "4353:4:13", + "src": "4353:4:26", "type": "", "value": "0x1d" }, { "kind": "number", - "nativeSrc": "4359:4:13", + "nativeSrc": "4359:4:26", "nodeType": "YulLiteral", - "src": "4359:4:13", + "src": "4359:4:26", "type": "", "value": "0x04" } ], "functionName": { "name": "revert", - "nativeSrc": "4346:6:13", + "nativeSrc": "4346:6:26", "nodeType": "YulIdentifier", - "src": "4346:6:13" + "src": "4346:6:26" }, - "nativeSrc": "4346:18:13", + "nativeSrc": "4346:18:26", "nodeType": "YulFunctionCall", - "src": "4346:18:13" + "src": "4346:18:26" }, - "nativeSrc": "4346:18:13", + "nativeSrc": "4346:18:26", "nodeType": "YulExpressionStatement", - "src": "4346:18:13" + "src": "4346:18:26" } ] }, @@ -207100,105 +226075,105 @@ "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "4209:3:13", + "nativeSrc": "4209:3:26", "nodeType": "YulIdentifier", - "src": "4209:3:13" + "src": "4209:3:26" }, - "nativeSrc": "4209:5:13", + "nativeSrc": "4209:5:26", "nodeType": "YulFunctionCall", - "src": "4209:5:13" + "src": "4209:5:26" }, { "name": "newImplementation", - "nativeSrc": "4216:17:13", + "nativeSrc": "4216:17:26", "nodeType": "YulIdentifier", - "src": "4216:17:13" + "src": "4216:17:26" }, { "kind": "number", - "nativeSrc": "4235:4:13", + "nativeSrc": "4235:4:26", "nodeType": "YulLiteral", - "src": "4235:4:13", + "src": "4235:4:26", "type": "", "value": "0x1d" }, { "kind": "number", - "nativeSrc": "4241:4:13", + "nativeSrc": "4241:4:26", "nodeType": "YulLiteral", - "src": "4241:4:13", + "src": "4241:4:26", "type": "", "value": "0x04" }, { "kind": "number", - "nativeSrc": "4247:4:13", + "nativeSrc": "4247:4:26", "nodeType": "YulLiteral", - "src": "4247:4:13", + "src": "4247:4:26", "type": "", "value": "0x01" }, { "kind": "number", - "nativeSrc": "4253:4:13", + "nativeSrc": "4253:4:26", "nodeType": "YulLiteral", - "src": "4253:4:13", + "src": "4253:4:26", "type": "", "value": "0x20" } ], "functionName": { "name": "staticcall", - "nativeSrc": "4198:10:13", + "nativeSrc": "4198:10:26", "nodeType": "YulIdentifier", - "src": "4198:10:13" + "src": "4198:10:26" }, - "nativeSrc": "4198:60:13", + "nativeSrc": "4198:60:26", "nodeType": "YulFunctionCall", - "src": "4198:60:13" + "src": "4198:60:26" } ], "functionName": { "name": "mload", - "nativeSrc": "4192:5:13", + "nativeSrc": "4192:5:26", "nodeType": "YulIdentifier", - "src": "4192:5:13" + "src": "4192:5:26" }, - "nativeSrc": "4192:67:13", + "nativeSrc": "4192:67:26", "nodeType": "YulFunctionCall", - "src": "4192:67:13" + "src": "4192:67:26" }, { "name": "s", - "nativeSrc": "4261:1:13", + "nativeSrc": "4261:1:26", "nodeType": "YulIdentifier", - "src": "4261:1:13" + "src": "4261:1:26" } ], "functionName": { "name": "eq", - "nativeSrc": "4189:2:13", + "nativeSrc": "4189:2:26", "nodeType": "YulIdentifier", - "src": "4189:2:13" + "src": "4189:2:26" }, - "nativeSrc": "4189:74:13", + "nativeSrc": "4189:74:26", "nodeType": "YulFunctionCall", - "src": "4189:74:13" + "src": "4189:74:26" } ], "functionName": { "name": "iszero", - "nativeSrc": "4182:6:13", + "nativeSrc": "4182:6:26", "nodeType": "YulIdentifier", - "src": "4182:6:13" + "src": "4182:6:26" }, - "nativeSrc": "4182:82:13", + "nativeSrc": "4182:82:26", "nodeType": "YulFunctionCall", - "src": "4182:82:13" + "src": "4182:82:26" }, - "nativeSrc": "4179:199:13", + "nativeSrc": "4179:199:26", "nodeType": "YulIf", - "src": "4179:199:13" + "src": "4179:199:26" }, { "expression": { @@ -207207,116 +226182,116 @@ "arguments": [], "functionName": { "name": "codesize", - "nativeSrc": "4438:8:13", + "nativeSrc": "4438:8:26", "nodeType": "YulIdentifier", - "src": "4438:8:13" + "src": "4438:8:26" }, - "nativeSrc": "4438:10:13", + "nativeSrc": "4438:10:26", "nodeType": "YulFunctionCall", - "src": "4438:10:13" + "src": "4438:10:26" }, { "kind": "number", - "nativeSrc": "4450:4:13", + "nativeSrc": "4450:4:26", "nodeType": "YulLiteral", - "src": "4450:4:13", + "src": "4450:4:26", "type": "", "value": "0x00" }, { "name": "_UPGRADED_EVENT_SIGNATURE", - "nativeSrc": "4456:25:13", + "nativeSrc": "4456:25:26", "nodeType": "YulIdentifier", - "src": "4456:25:13" + "src": "4456:25:26" }, { "name": "newImplementation", - "nativeSrc": "4483:17:13", + "nativeSrc": "4483:17:26", "nodeType": "YulIdentifier", - "src": "4483:17:13" + "src": "4483:17:26" } ], "functionName": { "name": "log2", - "nativeSrc": "4433:4:13", + "nativeSrc": "4433:4:26", "nodeType": "YulIdentifier", - "src": "4433:4:13" + "src": "4433:4:26" }, - "nativeSrc": "4433:68:13", + "nativeSrc": "4433:68:26", "nodeType": "YulFunctionCall", - "src": "4433:68:13" + "src": "4433:68:26" }, - "nativeSrc": "4433:68:13", + "nativeSrc": "4433:68:26", "nodeType": "YulExpressionStatement", - "src": "4433:68:13" + "src": "4433:68:26" }, { "expression": { "arguments": [ { "name": "s", - "nativeSrc": "4521:1:13", + "nativeSrc": "4521:1:26", "nodeType": "YulIdentifier", - "src": "4521:1:13" + "src": "4521:1:26" }, { "name": "newImplementation", - "nativeSrc": "4524:17:13", + "nativeSrc": "4524:17:26", "nodeType": "YulIdentifier", - "src": "4524:17:13" + "src": "4524:17:26" } ], "functionName": { "name": "sstore", - "nativeSrc": "4514:6:13", + "nativeSrc": "4514:6:26", "nodeType": "YulIdentifier", - "src": "4514:6:13" + "src": "4514:6:26" }, - "nativeSrc": "4514:28:13", + "nativeSrc": "4514:28:26", "nodeType": "YulFunctionCall", - "src": "4514:28:13" + "src": "4514:28:26" }, - "nativeSrc": "4514:28:13", + "nativeSrc": "4514:28:26", "nodeType": "YulExpressionStatement", - "src": "4514:28:13" + "src": "4514:28:26" }, { "body": { - "nativeSrc": "4687:501:13", + "nativeSrc": "4687:501:26", "nodeType": "YulBlock", - "src": "4687:501:13", + "src": "4687:501:26", "statements": [ { - "nativeSrc": "4785:20:13", + "nativeSrc": "4785:20:26", "nodeType": "YulVariableDeclaration", - "src": "4785:20:13", + "src": "4785:20:26", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "4800:4:13", + "nativeSrc": "4800:4:26", "nodeType": "YulLiteral", - "src": "4800:4:13", + "src": "4800:4:26", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "4794:5:13", + "nativeSrc": "4794:5:26", "nodeType": "YulIdentifier", - "src": "4794:5:13" + "src": "4794:5:26" }, - "nativeSrc": "4794:11:13", + "nativeSrc": "4794:11:26", "nodeType": "YulFunctionCall", - "src": "4794:11:13" + "src": "4794:11:26" }, "variables": [ { "name": "m", - "nativeSrc": "4789:1:13", + "nativeSrc": "4789:1:26", "nodeType": "YulTypedName", - "src": "4789:1:13", + "src": "4789:1:26", "type": "" } ] @@ -207326,57 +226301,57 @@ "arguments": [ { "name": "m", - "nativeSrc": "4835:1:13", + "nativeSrc": "4835:1:26", "nodeType": "YulIdentifier", - "src": "4835:1:13" + "src": "4835:1:26" }, { "name": "data.offset", - "nativeSrc": "4838:11:13", + "nativeSrc": "4838:11:26", "nodeType": "YulIdentifier", - "src": "4838:11:13" + "src": "4838:11:26" }, { "name": "data.length", - "nativeSrc": "4851:11:13", + "nativeSrc": "4851:11:26", "nodeType": "YulIdentifier", - "src": "4851:11:13" + "src": "4851:11:26" } ], "functionName": { "name": "calldatacopy", - "nativeSrc": "4822:12:13", + "nativeSrc": "4822:12:26", "nodeType": "YulIdentifier", - "src": "4822:12:13" + "src": "4822:12:26" }, - "nativeSrc": "4822:41:13", + "nativeSrc": "4822:41:26", "nodeType": "YulFunctionCall", - "src": "4822:41:13" + "src": "4822:41:26" }, - "nativeSrc": "4822:41:13", + "nativeSrc": "4822:41:26", "nodeType": "YulExpressionStatement", - "src": "4822:41:13" + "src": "4822:41:26" }, { "body": { - "nativeSrc": "4980:194:13", + "nativeSrc": "4980:194:26", "nodeType": "YulBlock", - "src": "4980:194:13", + "src": "4980:194:26", "statements": [ { "expression": { "arguments": [ { "name": "m", - "nativeSrc": "5082:1:13", + "nativeSrc": "5082:1:26", "nodeType": "YulIdentifier", - "src": "5082:1:13" + "src": "5082:1:26" }, { "kind": "number", - "nativeSrc": "5085:4:13", + "nativeSrc": "5085:4:26", "nodeType": "YulLiteral", - "src": "5085:4:13", + "src": "5085:4:26", "type": "", "value": "0x00" }, @@ -207384,64 +226359,64 @@ "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "5091:14:13", + "nativeSrc": "5091:14:26", "nodeType": "YulIdentifier", - "src": "5091:14:13" + "src": "5091:14:26" }, - "nativeSrc": "5091:16:13", + "nativeSrc": "5091:16:26", "nodeType": "YulFunctionCall", - "src": "5091:16:13" + "src": "5091:16:26" } ], "functionName": { "name": "returndatacopy", - "nativeSrc": "5067:14:13", + "nativeSrc": "5067:14:26", "nodeType": "YulIdentifier", - "src": "5067:14:13" + "src": "5067:14:26" }, - "nativeSrc": "5067:41:13", + "nativeSrc": "5067:41:26", "nodeType": "YulFunctionCall", - "src": "5067:41:13" + "src": "5067:41:26" }, - "nativeSrc": "5067:41:13", + "nativeSrc": "5067:41:26", "nodeType": "YulExpressionStatement", - "src": "5067:41:13" + "src": "5067:41:26" }, { "expression": { "arguments": [ { "name": "m", - "nativeSrc": "5136:1:13", + "nativeSrc": "5136:1:26", "nodeType": "YulIdentifier", - "src": "5136:1:13" + "src": "5136:1:26" }, { "arguments": [], "functionName": { "name": "returndatasize", - "nativeSrc": "5139:14:13", + "nativeSrc": "5139:14:26", "nodeType": "YulIdentifier", - "src": "5139:14:13" + "src": "5139:14:26" }, - "nativeSrc": "5139:16:13", + "nativeSrc": "5139:16:26", "nodeType": "YulFunctionCall", - "src": "5139:16:13" + "src": "5139:16:26" } ], "functionName": { "name": "revert", - "nativeSrc": "5129:6:13", + "nativeSrc": "5129:6:26", "nodeType": "YulIdentifier", - "src": "5129:6:13" + "src": "5129:6:26" }, - "nativeSrc": "5129:27:13", + "nativeSrc": "5129:27:26", "nodeType": "YulFunctionCall", - "src": "5129:27:13" + "src": "5129:27:26" }, - "nativeSrc": "5129:27:13", + "nativeSrc": "5129:27:26", "nodeType": "YulExpressionStatement", - "src": "5129:27:13" + "src": "5129:27:26" } ] }, @@ -207453,89 +226428,89 @@ "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "4903:3:13", + "nativeSrc": "4903:3:26", "nodeType": "YulIdentifier", - "src": "4903:3:13" + "src": "4903:3:26" }, - "nativeSrc": "4903:5:13", + "nativeSrc": "4903:5:26", "nodeType": "YulFunctionCall", - "src": "4903:5:13" + "src": "4903:5:26" }, { "name": "newImplementation", - "nativeSrc": "4910:17:13", + "nativeSrc": "4910:17:26", "nodeType": "YulIdentifier", - "src": "4910:17:13" + "src": "4910:17:26" }, { "name": "m", - "nativeSrc": "4929:1:13", + "nativeSrc": "4929:1:26", "nodeType": "YulIdentifier", - "src": "4929:1:13" + "src": "4929:1:26" }, { "name": "data.length", - "nativeSrc": "4932:11:13", + "nativeSrc": "4932:11:26", "nodeType": "YulIdentifier", - "src": "4932:11:13" + "src": "4932:11:26" }, { "arguments": [], "functionName": { "name": "codesize", - "nativeSrc": "4945:8:13", + "nativeSrc": "4945:8:26", "nodeType": "YulIdentifier", - "src": "4945:8:13" + "src": "4945:8:26" }, - "nativeSrc": "4945:10:13", + "nativeSrc": "4945:10:26", "nodeType": "YulFunctionCall", - "src": "4945:10:13" + "src": "4945:10:26" }, { "kind": "number", - "nativeSrc": "4957:4:13", + "nativeSrc": "4957:4:26", "nodeType": "YulLiteral", - "src": "4957:4:13", + "src": "4957:4:26", "type": "", "value": "0x00" } ], "functionName": { "name": "delegatecall", - "nativeSrc": "4890:12:13", + "nativeSrc": "4890:12:26", "nodeType": "YulIdentifier", - "src": "4890:12:13" + "src": "4890:12:26" }, - "nativeSrc": "4890:72:13", + "nativeSrc": "4890:72:26", "nodeType": "YulFunctionCall", - "src": "4890:72:13" + "src": "4890:72:26" } ], "functionName": { "name": "iszero", - "nativeSrc": "4883:6:13", + "nativeSrc": "4883:6:26", "nodeType": "YulIdentifier", - "src": "4883:6:13" + "src": "4883:6:26" }, - "nativeSrc": "4883:80:13", + "nativeSrc": "4883:80:26", "nodeType": "YulFunctionCall", - "src": "4883:80:13" + "src": "4883:80:26" }, - "nativeSrc": "4880:294:13", + "nativeSrc": "4880:294:26", "nodeType": "YulIf", - "src": "4880:294:13" + "src": "4880:294:26" } ] }, "condition": { "name": "data.length", - "nativeSrc": "4675:11:13", + "nativeSrc": "4675:11:26", "nodeType": "YulIdentifier", - "src": "4675:11:13" + "src": "4675:11:26" }, - "nativeSrc": "4672:516:13", + "nativeSrc": "4672:516:26", "nodeType": "YulIf", - "src": "4672:516:13" + "src": "4672:516:26" } ] }, @@ -207543,144 +226518,144 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 6377, + "declaration": 7983, "isOffset": false, "isSlot": false, - "src": "4056:28:13", + "src": "4056:28:26", "valueSize": 1 }, { - "declaration": 6373, + "declaration": 7979, "isOffset": false, "isSlot": false, - "src": "4456:25:13", + "src": "4456:25:26", "valueSize": 1 }, { - "declaration": 6399, + "declaration": 8005, "isOffset": false, "isSlot": false, - "src": "4675:11:13", + "src": "4675:11:26", "suffix": "length", "valueSize": 1 }, { - "declaration": 6399, + "declaration": 8005, "isOffset": false, "isSlot": false, - "src": "4851:11:13", + "src": "4851:11:26", "suffix": "length", "valueSize": 1 }, { - "declaration": 6399, + "declaration": 8005, "isOffset": false, "isSlot": false, - "src": "4932:11:13", + "src": "4932:11:26", "suffix": "length", "valueSize": 1 }, { - "declaration": 6399, + "declaration": 8005, "isOffset": true, "isSlot": false, - "src": "4838:11:13", + "src": "4838:11:26", "suffix": "offset", "valueSize": 1 }, { - "declaration": 6397, + "declaration": 8003, "isOffset": false, "isSlot": false, - "src": "3851:17:13", + "src": "3851:17:26", "valueSize": 1 }, { - "declaration": 6397, + "declaration": 8003, "isOffset": false, "isSlot": false, - "src": "3888:17:13", + "src": "3888:17:26", "valueSize": 1 }, { - "declaration": 6397, + "declaration": 8003, "isOffset": false, "isSlot": false, - "src": "4216:17:13", + "src": "4216:17:26", "valueSize": 1 }, { - "declaration": 6397, + "declaration": 8003, "isOffset": false, "isSlot": false, - "src": "4483:17:13", + "src": "4483:17:26", "valueSize": 1 }, { - "declaration": 6397, + "declaration": 8003, "isOffset": false, "isSlot": false, - "src": "4524:17:13", + "src": "4524:17:26", "valueSize": 1 }, { - "declaration": 6397, + "declaration": 8003, "isOffset": false, "isSlot": false, - "src": "4910:17:13", + "src": "4910:17:26", "valueSize": 1 } ], - "id": 6408, + "id": 8014, "nodeType": "InlineAssembly", - "src": "3828:1370:13" + "src": "3828:1370:26" } ] }, "documentation": { - "id": 6395, + "id": 8001, "nodeType": "StructuredDocumentation", - "src": "3386:195:13", + "src": "3386:195:26", "text": "@dev Upgrades the proxy's implementation to `newImplementation`.\n Emits a {Upgraded} event.\n Note: Passing in empty `data` skips the delegatecall to `newImplementation`." }, "functionSelector": "4f1ef286", - "id": 6410, + "id": 8016, "implemented": true, "kind": "function", "modifiers": [ { - "id": 6402, + "id": 8008, "kind": "modifierInvocation", "modifierName": { - "id": 6401, + "id": 8007, "name": "onlyProxy", "nameLocations": [ - "3715:9:13" + "3715:9:26" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 2558, - "src": "3715:9:13" + "referencedDeclaration": 4164, + "src": "3715:9:26" }, "nodeType": "ModifierInvocation", - "src": "3715:9:13" + "src": "3715:9:26" } ], "name": "upgradeToAndCall", - "nameLocation": "3595:16:13", + "nameLocation": "3595:16:26", "nodeType": "FunctionDefinition", "parameters": { - "id": 6400, + "id": 8006, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6397, + "id": 8003, "mutability": "mutable", "name": "newImplementation", - "nameLocation": "3620:17:13", + "nameLocation": "3620:17:26", "nodeType": "VariableDeclaration", - "scope": 6410, - "src": "3612:25:13", + "scope": 8016, + "src": "3612:25:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -207688,10 +226663,10 @@ "typeString": "address" }, "typeName": { - "id": 6396, + "id": 8002, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3612:7:13", + "src": "3612:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -207702,13 +226677,13 @@ }, { "constant": false, - "id": 6399, + "id": 8005, "mutability": "mutable", "name": "data", - "nameLocation": "3654:4:13", + "nameLocation": "3654:4:26", "nodeType": "VariableDeclaration", - "scope": 6410, - "src": "3639:19:13", + "scope": 8016, + "src": "3639:19:26", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -207716,10 +226691,10 @@ "typeString": "bytes" }, "typeName": { - "id": 6398, + "id": 8004, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "3639:5:13", + "src": "3639:5:26", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -207728,56 +226703,56 @@ "visibility": "internal" } ], - "src": "3611:48:13" + "src": "3611:48:26" }, "returnParameters": { - "id": 6403, + "id": 8009, "nodeType": "ParameterList", "parameters": [], - "src": "3729:0:13" + "src": "3729:0:26" }, - "scope": 6411, - "src": "3586:1618:13", + "scope": 8017, + "src": "3586:1618:26", "stateMutability": "payable", "virtual": true, "visibility": "public" } ], - "scope": 6412, - "src": "702:4504:13", + "scope": 8018, + "src": "702:4504:26", "usedErrors": [ - 2454, - 6364 + 4060, + 7970 ], "usedEvents": [ - 6369 + 7975 ] } ], - "src": "32:5175:13" + "src": "32:5175:26" }, - "id": 13 + "id": 26 }, "src/AuthenticatedStaticCaller.sol": { "ast": { "absolutePath": "src/AuthenticatedStaticCaller.sol", "exportedSymbols": { "AuthenticatedStaticCaller": [ - 6513 + 8127 ], "ERC1271": [ - 6904 + 8518 ], "StaticCall": [ - 6424 + 8030 ] }, - "id": 6514, + "id": 8128, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 6413, + "id": 8019, "literals": [ "solidity", "^", @@ -207785,26 +226760,26 @@ ".28" ], "nodeType": "PragmaDirective", - "src": "32:24:14" + "src": "32:24:27" }, { "absolutePath": "src/ERC1271.sol", "file": "./ERC1271.sol", - "id": 6415, + "id": 8021, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 6514, - "sourceUnit": 6905, - "src": "57:38:14", + "scope": 8128, + "sourceUnit": 8519, + "src": "57:38:27", "symbolAliases": [ { "foreign": { - "id": 6414, + "id": 8020, "name": "ERC1271", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6904, - "src": "65:7:14", + "referencedDeclaration": 8518, + "src": "65:7:27", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -207814,17 +226789,17 @@ }, { "canonicalName": "StaticCall", - "id": 6424, + "id": 8030, "members": [ { "constant": false, - "id": 6417, + "id": 8023, "mutability": "mutable", "name": "target", - "nameLocation": "129:6:14", + "nameLocation": "129:6:27", "nodeType": "VariableDeclaration", - "scope": 6424, - "src": "121:14:14", + "scope": 8030, + "src": "121:14:27", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -207832,10 +226807,10 @@ "typeString": "address" }, "typeName": { - "id": 6416, + "id": 8022, "name": "address", "nodeType": "ElementaryTypeName", - "src": "121:7:14", + "src": "121:7:27", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -207846,13 +226821,13 @@ }, { "constant": false, - "id": 6419, + "id": 8025, "mutability": "mutable", "name": "data", - "nameLocation": "147:4:14", + "nameLocation": "147:4:27", "nodeType": "VariableDeclaration", - "scope": 6424, - "src": "141:10:14", + "scope": 8030, + "src": "141:10:27", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -207860,10 +226835,10 @@ "typeString": "bytes" }, "typeName": { - "id": 6418, + "id": 8024, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "141:5:14", + "src": "141:5:27", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -207873,13 +226848,13 @@ }, { "constant": false, - "id": 6421, + "id": 8027, "mutability": "mutable", "name": "signedAt", - "nameLocation": "165:8:14", + "nameLocation": "165:8:27", "nodeType": "VariableDeclaration", - "scope": 6424, - "src": "157:16:14", + "scope": 8030, + "src": "157:16:27", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -207887,10 +226862,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6420, + "id": 8026, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "157:7:14", + "src": "157:7:27", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -207900,13 +226875,13 @@ }, { "constant": false, - "id": 6423, + "id": 8029, "mutability": "mutable", "name": "signature", - "nameLocation": "185:9:14", + "nameLocation": "185:9:27", "nodeType": "VariableDeclaration", - "scope": 6424, - "src": "179:15:14", + "scope": 8030, + "src": "179:15:27", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -207914,10 +226889,10 @@ "typeString": "bytes" }, "typeName": { - "id": 6422, + "id": 8028, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "179:5:14", + "src": "179:5:27", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -207927,10 +226902,10 @@ } ], "name": "StaticCall", - "nameLocation": "104:10:14", + "nameLocation": "104:10:27", "nodeType": "StructDefinition", - "scope": 6514, - "src": "97:100:14", + "scope": 8128, + "src": "97:100:27", "visibility": "public" }, { @@ -207938,52 +226913,52 @@ "baseContracts": [ { "baseName": { - "id": 6425, + "id": 8031, "name": "ERC1271", "nameLocations": [ - "246:7:14" + "246:7:27" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 6904, - "src": "246:7:14" + "referencedDeclaration": 8518, + "src": "246:7:27" }, - "id": 6426, + "id": 8032, "nodeType": "InheritanceSpecifier", - "src": "246:7:14" + "src": "246:7:27" } ], "canonicalName": "AuthenticatedStaticCaller", "contractDependencies": [], "contractKind": "contract", "fullyImplemented": false, - "id": 6513, + "id": 8127, "linearizedBaseContracts": [ - 6513, - 6904 + 8127, + 8518 ], "name": "AuthenticatedStaticCaller", - "nameLocation": "217:25:14", + "nameLocation": "217:25:27", "nodeType": "ContractDefinition", "nodes": [ { "errorSelector": "f88f0490", - "id": 6432, + "id": 8038, "name": "SignatureExpired", - "nameLocation": "266:16:14", + "nameLocation": "266:16:27", "nodeType": "ErrorDefinition", "parameters": { - "id": 6431, + "id": 8037, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6428, + "id": 8034, "mutability": "mutable", "name": "expiredAt", - "nameLocation": "291:9:14", + "nameLocation": "291:9:27", "nodeType": "VariableDeclaration", - "scope": 6432, - "src": "283:17:14", + "scope": 8038, + "src": "283:17:27", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -207991,10 +226966,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6427, + "id": 8033, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "283:7:14", + "src": "283:7:27", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -208004,13 +226979,13 @@ }, { "constant": false, - "id": 6430, + "id": 8036, "mutability": "mutable", "name": "currentTimestamp", - "nameLocation": "310:16:14", + "nameLocation": "310:16:27", "nodeType": "VariableDeclaration", - "scope": 6432, - "src": "302:24:14", + "scope": 8038, + "src": "302:24:27", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -208018,10 +226993,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6429, + "id": 8035, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "302:7:14", + "src": "302:7:27", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -208030,33 +227005,33 @@ "visibility": "internal" } ], - "src": "282:45:14" + "src": "282:45:27" }, - "src": "260:68:14" + "src": "260:68:27" }, { "errorSelector": "8baa579f", - "id": 6434, + "id": 8040, "name": "InvalidSignature", - "nameLocation": "339:16:14", + "nameLocation": "339:16:27", "nodeType": "ErrorDefinition", "parameters": { - "id": 6433, + "id": 8039, "nodeType": "ParameterList", "parameters": [], - "src": "355:2:14" + "src": "355:2:27" }, - "src": "333:25:14" + "src": "333:25:27" }, { "constant": true, - "id": 6437, + "id": 8043, "mutability": "constant", "name": "signatureLifetime", - "nameLocation": "417:17:14", + "nameLocation": "417:17:27", "nodeType": "VariableDeclaration", - "scope": 6513, - "src": "400:47:14", + "scope": 8127, + "src": "400:47:27", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -208064,10 +227039,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6435, + "id": 8041, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "400:7:14", + "src": "400:7:27", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -208075,14 +227050,14 @@ }, "value": { "hexValue": "3330", - "id": 6436, + "id": 8042, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "437:10:14", + "src": "437:10:27", "subdenomination": "minutes", "typeDescriptions": { "typeIdentifier": "t_rational_1800_by_1", @@ -208094,9 +227069,89 @@ }, { "body": { - "id": 6511, + "id": 8050, "nodeType": "Block", - "src": "543:628:14", + "src": "518:41:27", + "statements": [ + { + "expression": { + "id": 8048, + "name": "signatureLifetime", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8043, + "src": "535:17:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 8047, + "id": 8049, + "nodeType": "Return", + "src": "528:24:27" + } + ] + }, + "functionSelector": "17452caa", + "id": 8051, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getSignatureLifetime", + "nameLocation": "463:20:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8044, + "nodeType": "ParameterList", + "parameters": [], + "src": "483:2:27" + }, + "returnParameters": { + "id": 8047, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8046, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 8051, + "src": "509:7:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8045, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "509:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "508:9:27" + }, + "scope": 8127, + "src": "454:105:27", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 8125, + "nodeType": "Block", + "src": "654:628:27", "statements": [ { "condition": { @@ -208104,7 +227159,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6451, + "id": 8065, "isConstant": false, "isLValue": false, "isPure": false, @@ -208114,34 +227169,34 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6448, + "id": 8062, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 6445, + "id": 8059, "name": "call", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6440, - "src": "557:4:14", + "referencedDeclaration": 8054, + "src": "668:4:27", "typeDescriptions": { - "typeIdentifier": "t_struct$_StaticCall_$6424_calldata_ptr", + "typeIdentifier": "t_struct$_StaticCall_$8030_calldata_ptr", "typeString": "struct StaticCall calldata" } }, - "id": 6446, + "id": 8060, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "562:8:14", + "memberLocation": "673:8:27", "memberName": "signedAt", "nodeType": "MemberAccess", - "referencedDeclaration": 6421, - "src": "557:13:14", + "referencedDeclaration": 8027, + "src": "668:13:27", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -208150,18 +227205,18 @@ "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { - "id": 6447, + "id": 8061, "name": "signatureLifetime", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6437, - "src": "573:17:14", + "referencedDeclaration": 8043, + "src": "684:17:27", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "557:33:14", + "src": "668:33:27", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -208171,44 +227226,44 @@ "operator": "<", "rightExpression": { "expression": { - "id": 6449, + "id": 8063, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -4, - "src": "593:5:14", + "src": "704:5:27", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 6450, + "id": 8064, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "599:9:14", + "memberLocation": "710:9:27", "memberName": "timestamp", "nodeType": "MemberAccess", - "src": "593:15:14", + "src": "704:15:27", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "557:51:14", + "src": "668:51:27", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 6462, + "id": 8076, "nodeType": "IfStatement", - "src": "553:157:14", + "src": "664:157:27", "trueBody": { - "id": 6461, + "id": 8075, "nodeType": "Block", - "src": "610:100:14", + "src": "721:100:27", "statements": [ { "errorCall": { @@ -208218,34 +227273,34 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6456, + "id": 8070, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 6453, + "id": 8067, "name": "call", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6440, - "src": "648:4:14", + "referencedDeclaration": 8054, + "src": "759:4:27", "typeDescriptions": { - "typeIdentifier": "t_struct$_StaticCall_$6424_calldata_ptr", + "typeIdentifier": "t_struct$_StaticCall_$8030_calldata_ptr", "typeString": "struct StaticCall calldata" } }, - "id": 6454, + "id": 8068, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "653:8:14", + "memberLocation": "764:8:27", "memberName": "signedAt", "nodeType": "MemberAccess", - "referencedDeclaration": 6421, - "src": "648:13:14", + "referencedDeclaration": 8027, + "src": "759:13:27", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -208254,18 +227309,18 @@ "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { - "id": 6455, + "id": 8069, "name": "signatureLifetime", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6437, - "src": "664:17:14", + "referencedDeclaration": 8043, + "src": "775:17:27", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "648:33:14", + "src": "759:33:27", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -208273,26 +227328,26 @@ }, { "expression": { - "id": 6457, + "id": 8071, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -4, - "src": "683:5:14", + "src": "794:5:27", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 6458, + "id": 8072, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "689:9:14", + "memberLocation": "800:9:27", "memberName": "timestamp", "nodeType": "MemberAccess", - "src": "683:15:14", + "src": "794:15:27", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -208310,18 +227365,18 @@ "typeString": "uint256" } ], - "id": 6452, + "id": 8066, "name": "SignatureExpired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6432, - "src": "631:16:14", + "referencedDeclaration": 8038, + "src": "742:16:27", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$_t_error_$", "typeString": "function (uint256,uint256) pure returns (error)" } }, - "id": 6459, + "id": 8073, "isConstant": false, "isLValue": false, "isPure": false, @@ -208330,34 +227385,34 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "631:68:14", + "src": "742:68:27", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_error", "typeString": "error" } }, - "id": 6460, + "id": 8074, "nodeType": "RevertStatement", - "src": "624:75:14" + "src": "735:75:27" } ] } }, { "assignments": [ - 6464 + 8078 ], "declarations": [ { "constant": false, - "id": 6464, + "id": 8078, "mutability": "mutable", "name": "hash", - "nameLocation": "727:4:14", + "nameLocation": "838:4:27", "nodeType": "VariableDeclaration", - "scope": 6511, - "src": "719:12:14", + "scope": 8125, + "src": "830:12:27", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -208365,10 +227420,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6463, + "id": 8077, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "719:7:14", + "src": "830:7:27", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -208377,7 +227432,7 @@ "visibility": "internal" } ], - "id": 6479, + "id": 8093, "initialValue": { "arguments": [ { @@ -208385,41 +227440,41 @@ { "expression": { "expression": { - "id": 6469, + "id": 8083, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, - "src": "757:4:14", + "src": "868:4:27", "typeDescriptions": { - "typeIdentifier": "t_contract$_AuthenticatedStaticCaller_$6513", + "typeIdentifier": "t_contract$_AuthenticatedStaticCaller_$8127", "typeString": "contract AuthenticatedStaticCaller" } }, - "id": 6470, + "id": 8084, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "762:16:14", + "memberLocation": "873:16:27", "memberName": "signedStaticCall", "nodeType": "MemberAccess", - "referencedDeclaration": 6512, - "src": "757:21:14", + "referencedDeclaration": 8126, + "src": "868:21:27", "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_struct$_StaticCall_$6424_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeIdentifier": "t_function_external_view$_t_struct$_StaticCall_$8030_memory_ptr_$returns$_t_bytes_memory_ptr_$", "typeString": "function (struct StaticCall memory) view external returns (bytes memory)" } }, - "id": 6471, + "id": 8085, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "779:8:14", + "memberLocation": "890:8:27", "memberName": "selector", "nodeType": "MemberAccess", - "src": "757:30:14", + "src": "868:30:27", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -208429,27 +227484,27 @@ "arguments": [ { "expression": { - "id": 6474, + "id": 8088, "name": "call", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6440, - "src": "797:4:14", + "referencedDeclaration": 8054, + "src": "908:4:27", "typeDescriptions": { - "typeIdentifier": "t_struct$_StaticCall_$6424_calldata_ptr", + "typeIdentifier": "t_struct$_StaticCall_$8030_calldata_ptr", "typeString": "struct StaticCall calldata" } }, - "id": 6475, + "id": 8089, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "802:8:14", + "memberLocation": "913:8:27", "memberName": "signedAt", "nodeType": "MemberAccess", - "referencedDeclaration": 6421, - "src": "797:13:14", + "referencedDeclaration": 8027, + "src": "908:13:27", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -208463,26 +227518,26 @@ "typeString": "uint256" } ], - "id": 6473, + "id": 8087, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "789:7:14", + "src": "900:7:27", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": { - "id": 6472, + "id": 8086, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "789:7:14", + "src": "900:7:27", "typeDescriptions": {} } }, - "id": 6476, + "id": 8090, "isConstant": false, "isLValue": false, "isPure": false, @@ -208491,7 +227546,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "789:22:14", + "src": "900:22:27", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -208511,40 +227566,40 @@ } ], "expression": { - "id": 6467, + "id": 8081, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "744:5:14", + "src": "855:5:27", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 6466, + "id": 8080, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "744:5:14", + "src": "855:5:27", "typeDescriptions": {} } }, - "id": 6468, + "id": 8082, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "750:6:14", + "memberLocation": "861:6:27", "memberName": "concat", "nodeType": "MemberAccess", - "src": "744:12:14", + "src": "855:12:27", "typeDescriptions": { "typeIdentifier": "t_function_bytesconcat_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 6477, + "id": 8091, "isConstant": false, "isLValue": false, "isPure": false, @@ -208553,7 +227608,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "744:68:14", + "src": "855:68:27", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -208568,18 +227623,18 @@ "typeString": "bytes memory" } ], - "id": 6465, + "id": 8079, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "734:9:14", + "src": "845:9:27", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 6478, + "id": 8092, "isConstant": false, "isLValue": false, "isPure": false, @@ -208588,7 +227643,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "734:79:14", + "src": "845:79:27", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -208596,11 +227651,11 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "719:94:14" + "src": "830:94:27" }, { "condition": { - "id": 6487, + "id": 8101, "isConstant": false, "isLValue": false, "isPure": false, @@ -208608,18 +227663,18 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "827:56:14", + "src": "938:56:27", "subExpression": { "arguments": [ { "arguments": [ { - "id": 6482, + "id": 8096, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6464, - "src": "861:4:14", + "referencedDeclaration": 8078, + "src": "972:4:27", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -208633,18 +227688,18 @@ "typeString": "bytes32" } ], - "id": 6481, + "id": 8095, "name": "replaySafeHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6806, - "src": "846:14:14", + "referencedDeclaration": 8420, + "src": "957:14:27", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", "typeString": "function (bytes32) view returns (bytes32)" } }, - "id": 6483, + "id": 8097, "isConstant": false, "isLValue": false, "isPure": false, @@ -208653,7 +227708,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "846:20:14", + "src": "957:20:27", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -208662,27 +227717,27 @@ }, { "expression": { - "id": 6484, + "id": 8098, "name": "call", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6440, - "src": "868:4:14", + "referencedDeclaration": 8054, + "src": "979:4:27", "typeDescriptions": { - "typeIdentifier": "t_struct$_StaticCall_$6424_calldata_ptr", + "typeIdentifier": "t_struct$_StaticCall_$8030_calldata_ptr", "typeString": "struct StaticCall calldata" } }, - "id": 6485, + "id": 8099, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "873:9:14", + "memberLocation": "984:9:27", "memberName": "signature", "nodeType": "MemberAccess", - "referencedDeclaration": 6423, - "src": "868:14:14", + "referencedDeclaration": 8029, + "src": "979:14:27", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -208700,18 +227755,18 @@ "typeString": "bytes calldata" } ], - "id": 6480, + "id": 8094, "name": "_isValidSignature", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6903, - "src": "828:17:14", + "referencedDeclaration": 8517, + "src": "939:17:27", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes_calldata_ptr_$returns$_t_bool_$", "typeString": "function (bytes32,bytes calldata) view returns (bool)" } }, - "id": 6486, + "id": 8100, "isConstant": false, "isLValue": false, "isPure": false, @@ -208720,7 +227775,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "828:55:14", + "src": "939:55:27", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -208732,31 +227787,31 @@ "typeString": "bool" } }, - "id": 6492, + "id": 8106, "nodeType": "IfStatement", - "src": "823:112:14", + "src": "934:112:27", "trueBody": { - "id": 6491, + "id": 8105, "nodeType": "Block", - "src": "885:50:14", + "src": "996:50:27", "statements": [ { "errorCall": { "arguments": [], "expression": { "argumentTypes": [], - "id": 6488, + "id": 8102, "name": "InvalidSignature", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6434, - "src": "906:16:14", + "referencedDeclaration": 8040, + "src": "1017:16:27", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$__$returns$_t_error_$", "typeString": "function () pure returns (error)" } }, - "id": 6489, + "id": 8103, "isConstant": false, "isLValue": false, "isPure": false, @@ -208765,35 +227820,35 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "906:18:14", + "src": "1017:18:27", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_error", "typeString": "error" } }, - "id": 6490, + "id": 8104, "nodeType": "RevertStatement", - "src": "899:25:14" + "src": "1010:25:27" } ] } }, { "assignments": [ - 6494, - 6496 + 8108, + 8110 ], "declarations": [ { "constant": false, - "id": 6494, + "id": 8108, "mutability": "mutable", "name": "success", - "nameLocation": "950:7:14", + "nameLocation": "1061:7:27", "nodeType": "VariableDeclaration", - "scope": 6511, - "src": "945:12:14", + "scope": 8125, + "src": "1056:12:27", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -208801,10 +227856,10 @@ "typeString": "bool" }, "typeName": { - "id": 6493, + "id": 8107, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "945:4:14", + "src": "1056:4:27", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -208814,13 +227869,13 @@ }, { "constant": false, - "id": 6496, + "id": 8110, "mutability": "mutable", "name": "result", - "nameLocation": "972:6:14", + "nameLocation": "1083:6:27", "nodeType": "VariableDeclaration", - "scope": 6511, - "src": "959:19:14", + "scope": 8125, + "src": "1070:19:27", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -208828,10 +227883,10 @@ "typeString": "bytes" }, "typeName": { - "id": 6495, + "id": 8109, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "959:5:14", + "src": "1070:5:27", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -208840,32 +227895,32 @@ "visibility": "internal" } ], - "id": 6503, + "id": 8117, "initialValue": { "arguments": [ { "expression": { - "id": 6500, + "id": 8114, "name": "call", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6440, - "src": "1005:4:14", + "referencedDeclaration": 8054, + "src": "1116:4:27", "typeDescriptions": { - "typeIdentifier": "t_struct$_StaticCall_$6424_calldata_ptr", + "typeIdentifier": "t_struct$_StaticCall_$8030_calldata_ptr", "typeString": "struct StaticCall calldata" } }, - "id": 6501, + "id": 8115, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1010:4:14", + "memberLocation": "1121:4:27", "memberName": "data", "nodeType": "MemberAccess", - "referencedDeclaration": 6419, - "src": "1005:9:14", + "referencedDeclaration": 8025, + "src": "1116:9:27", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -208881,47 +227936,47 @@ ], "expression": { "expression": { - "id": 6497, + "id": 8111, "name": "call", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6440, - "src": "982:4:14", + "referencedDeclaration": 8054, + "src": "1093:4:27", "typeDescriptions": { - "typeIdentifier": "t_struct$_StaticCall_$6424_calldata_ptr", + "typeIdentifier": "t_struct$_StaticCall_$8030_calldata_ptr", "typeString": "struct StaticCall calldata" } }, - "id": 6498, + "id": 8112, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "987:6:14", + "memberLocation": "1098:6:27", "memberName": "target", "nodeType": "MemberAccess", - "referencedDeclaration": 6417, - "src": "982:11:14", + "referencedDeclaration": 8023, + "src": "1093:11:27", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 6499, + "id": 8113, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "994:10:14", + "memberLocation": "1105:10:27", "memberName": "staticcall", "nodeType": "MemberAccess", - "src": "982:22:14", + "src": "1093:22:27", "typeDescriptions": { "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "function (bytes memory) view returns (bool,bytes memory)" } }, - "id": 6502, + "id": 8116, "isConstant": false, "isLValue": false, "isPure": false, @@ -208930,7 +227985,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "982:33:14", + "src": "1093:33:27", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", @@ -208938,11 +227993,11 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "944:71:14" + "src": "1055:71:27" }, { "condition": { - "id": 6505, + "id": 8119, "isConstant": false, "isLValue": false, "isPure": false, @@ -208950,14 +228005,14 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "1029:8:14", + "src": "1140:8:27", "subExpression": { - "id": 6504, + "id": 8118, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6494, - "src": "1030:7:14", + "referencedDeclaration": 8108, + "src": "1141:7:27", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -208968,19 +228023,19 @@ "typeString": "bool" } }, - "id": 6508, + "id": 8122, "nodeType": "IfStatement", - "src": "1025:117:14", + "src": "1136:117:27", "trueBody": { - "id": 6507, + "id": 8121, "nodeType": "Block", - "src": "1039:103:14", + "src": "1150:103:27", "statements": [ { "AST": { - "nativeSrc": "1062:70:14", + "nativeSrc": "1173:70:27", "nodeType": "YulBlock", - "src": "1062:70:14", + "src": "1173:70:27", "statements": [ { "expression": { @@ -208989,174 +228044,174 @@ "arguments": [ { "name": "result", - "nativeSrc": "1091:6:14", + "nativeSrc": "1202:6:27", "nodeType": "YulIdentifier", - "src": "1091:6:14" + "src": "1202:6:27" }, { "kind": "number", - "nativeSrc": "1099:2:14", + "nativeSrc": "1210:2:27", "nodeType": "YulLiteral", - "src": "1099:2:14", + "src": "1210:2:27", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "1087:3:14", + "nativeSrc": "1198:3:27", "nodeType": "YulIdentifier", - "src": "1087:3:14" + "src": "1198:3:27" }, - "nativeSrc": "1087:15:14", + "nativeSrc": "1198:15:27", "nodeType": "YulFunctionCall", - "src": "1087:15:14" + "src": "1198:15:27" }, { "arguments": [ { "name": "result", - "nativeSrc": "1110:6:14", + "nativeSrc": "1221:6:27", "nodeType": "YulIdentifier", - "src": "1110:6:14" + "src": "1221:6:27" } ], "functionName": { "name": "mload", - "nativeSrc": "1104:5:14", + "nativeSrc": "1215:5:27", "nodeType": "YulIdentifier", - "src": "1104:5:14" + "src": "1215:5:27" }, - "nativeSrc": "1104:13:14", + "nativeSrc": "1215:13:27", "nodeType": "YulFunctionCall", - "src": "1104:13:14" + "src": "1215:13:27" } ], "functionName": { "name": "revert", - "nativeSrc": "1080:6:14", + "nativeSrc": "1191:6:27", "nodeType": "YulIdentifier", - "src": "1080:6:14" + "src": "1191:6:27" }, - "nativeSrc": "1080:38:14", + "nativeSrc": "1191:38:27", "nodeType": "YulFunctionCall", - "src": "1080:38:14" + "src": "1191:38:27" }, - "nativeSrc": "1080:38:14", + "nativeSrc": "1191:38:27", "nodeType": "YulExpressionStatement", - "src": "1080:38:14" + "src": "1191:38:27" } ] }, "evmVersion": "paris", "externalReferences": [ { - "declaration": 6496, + "declaration": 8110, "isOffset": false, "isSlot": false, - "src": "1091:6:14", + "src": "1202:6:27", "valueSize": 1 }, { - "declaration": 6496, + "declaration": 8110, "isOffset": false, "isSlot": false, - "src": "1110:6:14", + "src": "1221:6:27", "valueSize": 1 } ], - "id": 6506, + "id": 8120, "nodeType": "InlineAssembly", - "src": "1053:79:14" + "src": "1164:79:27" } ] } }, { "expression": { - "id": 6509, + "id": 8123, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6496, - "src": "1158:6:14", + "referencedDeclaration": 8110, + "src": "1269:6:27", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "functionReturnParameters": 6444, - "id": 6510, + "functionReturnParameters": 8058, + "id": 8124, "nodeType": "Return", - "src": "1151:13:14" + "src": "1262:13:27" } ] }, "functionSelector": "737bebdd", - "id": 6512, + "id": 8126, "implemented": true, "kind": "function", "modifiers": [], "name": "signedStaticCall", - "nameLocation": "463:16:14", + "nameLocation": "574:16:27", "nodeType": "FunctionDefinition", "parameters": { - "id": 6441, + "id": 8055, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6440, + "id": 8054, "mutability": "mutable", "name": "call", - "nameLocation": "500:4:14", + "nameLocation": "611:4:27", "nodeType": "VariableDeclaration", - "scope": 6512, - "src": "480:24:14", + "scope": 8126, + "src": "591:24:27", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { - "typeIdentifier": "t_struct$_StaticCall_$6424_calldata_ptr", + "typeIdentifier": "t_struct$_StaticCall_$8030_calldata_ptr", "typeString": "struct StaticCall" }, "typeName": { - "id": 6439, + "id": 8053, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 6438, + "id": 8052, "name": "StaticCall", "nameLocations": [ - "480:10:14" + "591:10:27" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 6424, - "src": "480:10:14" + "referencedDeclaration": 8030, + "src": "591:10:27" }, - "referencedDeclaration": 6424, - "src": "480:10:14", + "referencedDeclaration": 8030, + "src": "591:10:27", "typeDescriptions": { - "typeIdentifier": "t_struct$_StaticCall_$6424_storage_ptr", + "typeIdentifier": "t_struct$_StaticCall_$8030_storage_ptr", "typeString": "struct StaticCall" } }, "visibility": "internal" } ], - "src": "479:26:14" + "src": "590:26:27" }, "returnParameters": { - "id": 6444, + "id": 8058, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6443, + "id": 8057, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 6512, - "src": "529:12:14", + "scope": 8126, + "src": "640:12:27", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -209164,10 +228219,10 @@ "typeString": "bytes" }, "typeName": { - "id": 6442, + "id": 8056, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "529:5:14", + "src": "640:5:27", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -209176,45 +228231,45 @@ "visibility": "internal" } ], - "src": "528:14:14" + "src": "639:14:27" }, - "scope": 6513, - "src": "454:717:14", + "scope": 8127, + "src": "565:717:27", "stateMutability": "view", "virtual": false, "visibility": "external" } ], - "scope": 6514, - "src": "199:974:14", + "scope": 8128, + "src": "199:1085:27", "usedErrors": [ - 6432, - 6434 + 8038, + 8040 ], "usedEvents": [] } ], - "src": "32:1142:14" + "src": "32:1253:27" }, - "id": 14 + "id": 27 }, "src/CredentialKeyMapper.sol": { "ast": { "absolutePath": "src/CredentialKeyMapper.sol", "exportedSymbols": { "CredentialKeyMapper": [ - 6710 + 8324 ], "WebAuthn": [ - 8558 + 10439 ] }, - "id": 6711, + "id": 8325, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 6515, + "id": 8129, "literals": [ "solidity", "^", @@ -209222,26 +228277,26 @@ ".28" ], "nodeType": "PragmaDirective", - "src": "32:24:15" + "src": "32:24:28" }, { "absolutePath": "webauthn-sol/WebAuthn.sol", "file": "webauthn-sol/WebAuthn.sol", - "id": 6517, + "id": 8131, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 6711, - "sourceUnit": 8559, - "src": "793:51:15", + "scope": 8325, + "sourceUnit": 10440, + "src": "793:51:28", "symbolAliases": [ { "foreign": { - "id": 6516, + "id": 8130, "name": "WebAuthn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8558, - "src": "801:8:15", + "referencedDeclaration": 10439, + "src": "801:8:28", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -209256,33 +228311,33 @@ "contractDependencies": [], "contractKind": "contract", "fullyImplemented": true, - "id": 6710, + "id": 8324, "linearizedBaseContracts": [ - 6710 + 8324 ], "name": "CredentialKeyMapper", - "nameLocation": "855:19:15", + "nameLocation": "855:19:28", "nodeType": "ContractDefinition", "nodes": [ { "canonicalName": "CredentialKeyMapper.PublicKey", "documentation": { - "id": 6518, + "id": 8132, "nodeType": "StructuredDocumentation", - "src": "881:65:15", + "src": "881:65:28", "text": " @dev Affine coordinates of a P-256 public key." }, - "id": 6525, + "id": 8139, "members": [ { "constant": false, - "id": 6521, + "id": 8135, "mutability": "mutable", "name": "x", - "nameLocation": "1054:1:15", + "nameLocation": "1054:1:28", "nodeType": "VariableDeclaration", - "scope": 6525, - "src": "1046:9:15", + "scope": 8139, + "src": "1046:9:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -209290,10 +228345,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6520, + "id": 8134, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1046:7:15", + "src": "1046:7:28", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -209303,13 +228358,13 @@ }, { "constant": false, - "id": 6524, + "id": 8138, "mutability": "mutable", "name": "y", - "nameLocation": "1141:1:15", + "nameLocation": "1141:1:28", "nodeType": "VariableDeclaration", - "scope": 6525, - "src": "1133:9:15", + "scope": 8139, + "src": "1133:9:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -209317,10 +228372,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6523, + "id": 8137, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1133:7:15", + "src": "1133:7:28", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -209330,37 +228385,37 @@ } ], "name": "PublicKey", - "nameLocation": "958:9:15", + "nameLocation": "958:9:28", "nodeType": "StructDefinition", - "scope": 6710, - "src": "951:198:15", + "scope": 8324, + "src": "951:198:28", "visibility": "public" }, { "documentation": { - "id": 6526, + "id": 8140, "nodeType": "StructuredDocumentation", - "src": "1155:201:15", + "src": "1155:201:28", "text": " @dev Reverts when attempting to register a credential ID that is already\n present in `_keys`.\n @param idHash The hash of the credential ID that has already been set." }, "errorSelector": "ef0c9c96", - "id": 6530, + "id": 8144, "name": "CredentialIdAlreadySet", - "nameLocation": "1367:22:15", + "nameLocation": "1367:22:28", "nodeType": "ErrorDefinition", "parameters": { - "id": 6529, + "id": 8143, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6528, + "id": 8142, "mutability": "mutable", "name": "idHash", - "nameLocation": "1398:6:15", + "nameLocation": "1398:6:28", "nodeType": "VariableDeclaration", - "scope": 6530, - "src": "1390:14:15", + "scope": 8144, + "src": "1390:14:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -209368,10 +228423,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6527, + "id": 8141, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1390:7:15", + "src": "1390:7:28", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -209380,29 +228435,29 @@ "visibility": "internal" } ], - "src": "1389:16:15" + "src": "1389:16:28" }, - "src": "1361:45:15" + "src": "1361:45:28" }, { "errorSelector": "39b4a3c1", - "id": 6536, + "id": 8150, "name": "InvalidKey", - "nameLocation": "1418:10:15", + "nameLocation": "1418:10:28", "nodeType": "ErrorDefinition", "parameters": { - "id": 6535, + "id": 8149, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6532, + "id": 8146, "mutability": "mutable", "name": "x", - "nameLocation": "1437:1:15", + "nameLocation": "1437:1:28", "nodeType": "VariableDeclaration", - "scope": 6536, - "src": "1429:9:15", + "scope": 8150, + "src": "1429:9:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -209410,10 +228465,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6531, + "id": 8145, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1429:7:15", + "src": "1429:7:28", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -209423,13 +228478,13 @@ }, { "constant": false, - "id": 6534, + "id": 8148, "mutability": "mutable", "name": "y", - "nameLocation": "1448:1:15", + "nameLocation": "1448:1:28", "nodeType": "VariableDeclaration", - "scope": 6536, - "src": "1440:9:15", + "scope": 8150, + "src": "1440:9:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -209437,10 +228492,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6533, + "id": 8147, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1440:7:15", + "src": "1440:7:28", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -209449,84 +228504,84 @@ "visibility": "internal" } ], - "src": "1428:22:15" + "src": "1428:22:28" }, - "src": "1412:39:15" + "src": "1412:39:28" }, { "errorSelector": "c389e55e", - "id": 6538, + "id": 8152, "name": "EmptyCredentialId", - "nameLocation": "1462:17:15", + "nameLocation": "1462:17:28", "nodeType": "ErrorDefinition", "parameters": { - "id": 6537, + "id": 8151, "nodeType": "ParameterList", "parameters": [], - "src": "1479:2:15" + "src": "1479:2:28" }, - "src": "1456:26:15" + "src": "1456:26:28" }, { "constant": false, "documentation": { - "id": 6539, + "id": 8153, "nodeType": "StructuredDocumentation", - "src": "1488:81:15", + "src": "1488:81:28", "text": "@dev Maps the hash of a credential ID (`id`) to its corresponding public key." }, - "id": 6544, + "id": 8158, "mutability": "mutable", "name": "_keys", - "nameLocation": "1612:5:15", + "nameLocation": "1612:5:28", "nodeType": "VariableDeclaration", - "scope": 6710, - "src": "1574:43:15", + "scope": 8324, + "src": "1574:43:28", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PublicKey_$6525_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PublicKey_$8139_storage_$", "typeString": "mapping(bytes32 => struct CredentialKeyMapper.PublicKey)" }, "typeName": { - "id": 6543, + "id": 8157, "keyName": "", "keyNameLocation": "-1:-1:-1", "keyType": { - "id": 6540, + "id": 8154, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1582:7:15", + "src": "1582:7:28", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Mapping", - "src": "1574:29:15", + "src": "1574:29:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PublicKey_$6525_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PublicKey_$8139_storage_$", "typeString": "mapping(bytes32 => struct CredentialKeyMapper.PublicKey)" }, "valueName": "", "valueNameLocation": "-1:-1:-1", "valueType": { - "id": 6542, + "id": 8156, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 6541, + "id": 8155, "name": "PublicKey", "nameLocations": [ - "1593:9:15" + "1593:9:28" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 6525, - "src": "1593:9:15" + "referencedDeclaration": 8139, + "src": "1593:9:28" }, - "referencedDeclaration": 6525, - "src": "1593:9:15", + "referencedDeclaration": 8139, + "src": "1593:9:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_PublicKey_$6525_storage_ptr", + "typeIdentifier": "t_struct$_PublicKey_$8139_storage_ptr", "typeString": "struct CredentialKeyMapper.PublicKey" } } @@ -209535,64 +228590,64 @@ }, { "body": { - "id": 6588, + "id": 8202, "nodeType": "Block", - "src": "2430:223:15", + "src": "2430:223:28", "statements": [ { "assignments": [ - 6560 + 8174 ], "declarations": [ { "constant": false, - "id": 6560, + "id": 8174, "mutability": "mutable", "name": "auth", - "nameLocation": "2469:4:15", + "nameLocation": "2469:4:28", "nodeType": "VariableDeclaration", - "scope": 6588, - "src": "2440:33:15", + "scope": 8202, + "src": "2440:33:28", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8332_memory_ptr", + "typeIdentifier": "t_struct$_WebAuthnAuth_$10213_memory_ptr", "typeString": "struct WebAuthn.WebAuthnAuth" }, "typeName": { - "id": 6559, + "id": 8173, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 6558, + "id": 8172, "name": "WebAuthn.WebAuthnAuth", "nameLocations": [ - "2440:8:15", - "2449:12:15" + "2440:8:28", + "2449:12:28" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 8332, - "src": "2440:21:15" + "referencedDeclaration": 10213, + "src": "2440:21:28" }, - "referencedDeclaration": 8332, - "src": "2440:21:15", + "referencedDeclaration": 10213, + "src": "2440:21:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8332_storage_ptr", + "typeIdentifier": "t_struct$_WebAuthnAuth_$10213_storage_ptr", "typeString": "struct WebAuthn.WebAuthnAuth" } }, "visibility": "internal" } ], - "id": 6568, + "id": 8182, "initialValue": { "arguments": [ { - "id": 6563, + "id": 8177, "name": "signature", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6549, - "src": "2487:9:15", + "referencedDeclaration": 8163, + "src": "2487:9:28", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -209602,43 +228657,43 @@ "components": [ { "expression": { - "id": 6564, + "id": 8178, "name": "WebAuthn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8558, - "src": "2499:8:15", + "referencedDeclaration": 10439, + "src": "2499:8:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WebAuthn_$8558_$", + "typeIdentifier": "t_type$_t_contract$_WebAuthn_$10439_$", "typeString": "type(library WebAuthn)" } }, - "id": 6565, + "id": 8179, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "2508:12:15", + "memberLocation": "2508:12:28", "memberName": "WebAuthnAuth", "nodeType": "MemberAccess", - "referencedDeclaration": 8332, - "src": "2499:21:15", + "referencedDeclaration": 10213, + "src": "2499:21:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_WebAuthnAuth_$8332_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_WebAuthnAuth_$10213_storage_ptr_$", "typeString": "type(struct WebAuthn.WebAuthnAuth storage pointer)" } } ], - "id": 6566, + "id": 8180, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "2498:23:15", + "src": "2498:23:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_WebAuthnAuth_$8332_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_WebAuthnAuth_$10213_storage_ptr_$", "typeString": "type(struct WebAuthn.WebAuthnAuth storage pointer)" } } @@ -209650,37 +228705,37 @@ "typeString": "bytes calldata" }, { - "typeIdentifier": "t_type$_t_struct$_WebAuthnAuth_$8332_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_WebAuthnAuth_$10213_storage_ptr_$", "typeString": "type(struct WebAuthn.WebAuthnAuth storage pointer)" } ], "expression": { - "id": 6561, + "id": 8175, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "2476:3:15", + "src": "2476:3:28", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 6562, + "id": 8176, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "2480:6:15", + "memberLocation": "2480:6:28", "memberName": "decode", "nodeType": "MemberAccess", - "src": "2476:10:15", + "src": "2476:10:28", "typeDescriptions": { "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 6567, + "id": 8181, "isConstant": false, "isLValue": false, "isPure": false, @@ -209689,15 +228744,15 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2476:46:15", + "src": "2476:46:28", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8332_memory_ptr", + "typeIdentifier": "t_struct$_WebAuthnAuth_$10213_memory_ptr", "typeString": "struct WebAuthn.WebAuthnAuth memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "2440:82:15" + "src": "2440:82:28" }, { "expression": { @@ -209705,12 +228760,12 @@ { "arguments": [ { - "id": 6574, + "id": 8188, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6547, - "src": "2571:4:15", + "referencedDeclaration": 8161, + "src": "2571:4:28", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -209725,32 +228780,32 @@ } ], "expression": { - "id": 6572, + "id": 8186, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "2560:3:15", + "src": "2560:3:28", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 6573, + "id": 8187, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "2564:6:15", + "memberLocation": "2564:6:28", "memberName": "encode", "nodeType": "MemberAccess", - "src": "2560:10:15", + "src": "2560:10:28", "typeDescriptions": { "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 6575, + "id": 8189, "isConstant": false, "isLValue": false, "isPure": false, @@ -209759,7 +228814,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2560:16:15", + "src": "2560:16:28", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -209768,14 +228823,14 @@ }, { "hexValue": "66616c7365", - "id": 6576, + "id": 8190, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "2589:5:15", + "src": "2589:5:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -209783,26 +228838,26 @@ "value": "false" }, { - "id": 6577, + "id": 8191, "name": "auth", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6560, - "src": "2610:4:15", + "referencedDeclaration": 8174, + "src": "2610:4:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8332_memory_ptr", + "typeIdentifier": "t_struct$_WebAuthnAuth_$10213_memory_ptr", "typeString": "struct WebAuthn.WebAuthnAuth memory" } }, { "arguments": [ { - "id": 6580, + "id": 8194, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6551, - "src": "2627:1:15", + "referencedDeclaration": 8165, + "src": "2627:1:28", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -209816,26 +228871,26 @@ "typeString": "bytes32" } ], - "id": 6579, + "id": 8193, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2619:7:15", + "src": "2619:7:28", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 6578, + "id": 8192, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2619:7:15", + "src": "2619:7:28", "typeDescriptions": {} } }, - "id": 6581, + "id": 8195, "isConstant": false, "isLValue": false, "isPure": false, @@ -209844,7 +228899,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2619:10:15", + "src": "2619:10:28", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -209854,12 +228909,12 @@ { "arguments": [ { - "id": 6584, + "id": 8198, "name": "y", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6553, - "src": "2642:1:15", + "referencedDeclaration": 8167, + "src": "2642:1:28", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -209873,26 +228928,26 @@ "typeString": "bytes32" } ], - "id": 6583, + "id": 8197, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2634:7:15", + "src": "2634:7:28", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 6582, + "id": 8196, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2634:7:15", + "src": "2634:7:28", "typeDescriptions": {} } }, - "id": 6585, + "id": 8199, "isConstant": false, "isLValue": false, "isPure": false, @@ -209901,7 +228956,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2634:10:15", + "src": "2634:10:28", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -209920,7 +228975,7 @@ "typeString": "bool" }, { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8332_memory_ptr", + "typeIdentifier": "t_struct$_WebAuthnAuth_$10213_memory_ptr", "typeString": "struct WebAuthn.WebAuthnAuth memory" }, { @@ -209933,44 +228988,44 @@ } ], "expression": { - "id": 6569, + "id": 8183, "name": "WebAuthn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8558, - "src": "2532:8:15", + "referencedDeclaration": 10439, + "src": "2532:8:28", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WebAuthn_$8558_$", + "typeIdentifier": "t_type$_t_contract$_WebAuthn_$10439_$", "typeString": "type(library WebAuthn)" } }, - "id": 6571, + "id": 8185, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "2541:6:15", + "memberLocation": "2541:6:28", "memberName": "verify", "nodeType": "MemberAccess", - "referencedDeclaration": 8557, - "src": "2532:15:15", + "referencedDeclaration": 10438, + "src": "2532:15:28", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$_t_bool_$_t_struct$_WebAuthnAuth_$8332_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$_t_bool_$_t_struct$_WebAuthnAuth_$10213_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bool_$", "typeString": "function (bytes memory,bool,struct WebAuthn.WebAuthnAuth memory,uint256,uint256) view returns (bool)" } }, - "id": 6586, + "id": 8200, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [ - "2549:9:15", - "2578:9:15", - "2596:12:15", - "2616:1:15", - "2631:1:15" + "2549:9:28", + "2578:9:28", + "2596:12:28", + "2616:1:28", + "2631:1:28" ], "names": [ "challenge", @@ -209980,45 +229035,45 @@ "y" ], "nodeType": "FunctionCall", - "src": "2532:114:15", + "src": "2532:114:28", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 6587, + "id": 8201, "nodeType": "ExpressionStatement", - "src": "2532:114:15" + "src": "2532:114:28" } ] }, "documentation": { - "id": 6545, + "id": 8159, "nodeType": "StructuredDocumentation", - "src": "1624:701:15", + "src": "1624:701:28", "text": " @notice Internal helper that reverts unless `signature` is a valid\n WebAuthn assertion over `hash` produced by the holder of the\n `(x, y)` public key.\n @param hash The EIP-191 compliant hash that must have been signed.\n @param signature The raw CBOR-encoded WebAuthn assertion data returned by\n the client (see `WebAuthn.WebAuthnAuth`).\n @param x X-coordinate of the expected public key.\n @param y Y-coordinate of the expected public key.\n @dev The function is `view` because `WebAuthn.verify` does not modify\n state; it will revert if verification fails." }, - "id": 6589, + "id": 8203, "implemented": true, "kind": "function", "modifiers": [], "name": "_validSignature", - "nameLocation": "2339:15:15", + "nameLocation": "2339:15:28", "nodeType": "FunctionDefinition", "parameters": { - "id": 6554, + "id": 8168, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6547, + "id": 8161, "mutability": "mutable", "name": "hash", - "nameLocation": "2363:4:15", + "nameLocation": "2363:4:28", "nodeType": "VariableDeclaration", - "scope": 6589, - "src": "2355:12:15", + "scope": 8203, + "src": "2355:12:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -210026,10 +229081,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6546, + "id": 8160, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2355:7:15", + "src": "2355:7:28", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -210039,13 +229094,13 @@ }, { "constant": false, - "id": 6549, + "id": 8163, "mutability": "mutable", "name": "signature", - "nameLocation": "2384:9:15", + "nameLocation": "2384:9:28", "nodeType": "VariableDeclaration", - "scope": 6589, - "src": "2369:24:15", + "scope": 8203, + "src": "2369:24:28", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -210053,10 +229108,10 @@ "typeString": "bytes" }, "typeName": { - "id": 6548, + "id": 8162, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "2369:5:15", + "src": "2369:5:28", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -210066,13 +229121,13 @@ }, { "constant": false, - "id": 6551, + "id": 8165, "mutability": "mutable", "name": "x", - "nameLocation": "2403:1:15", + "nameLocation": "2403:1:28", "nodeType": "VariableDeclaration", - "scope": 6589, - "src": "2395:9:15", + "scope": 8203, + "src": "2395:9:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -210080,10 +229135,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6550, + "id": 8164, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2395:7:15", + "src": "2395:7:28", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -210093,13 +229148,13 @@ }, { "constant": false, - "id": 6553, + "id": 8167, "mutability": "mutable", "name": "y", - "nameLocation": "2414:1:15", + "nameLocation": "2414:1:28", "nodeType": "VariableDeclaration", - "scope": 6589, - "src": "2406:9:15", + "scope": 8203, + "src": "2406:9:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -210107,10 +229162,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6552, + "id": 8166, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2406:7:15", + "src": "2406:7:28", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -210119,25 +229174,25 @@ "visibility": "internal" } ], - "src": "2354:62:15" + "src": "2354:62:28" }, "returnParameters": { - "id": 6555, + "id": 8169, "nodeType": "ParameterList", "parameters": [], - "src": "2430:0:15" + "src": "2430:0:28" }, - "scope": 6710, - "src": "2330:323:15", + "scope": 8324, + "src": "2330:323:28", "stateMutability": "view", "virtual": false, "visibility": "private" }, { "body": { - "id": 6652, + "id": 8266, "nodeType": "Block", - "src": "3372:342:15", + "src": "3372:342:28", "statements": [ { "condition": { @@ -210145,7 +229200,7 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 6606, + "id": 8220, "isConstant": false, "isLValue": false, "isPure": false, @@ -210153,25 +229208,25 @@ "leftExpression": { "expression": { "baseExpression": { - "id": 6598, + "id": 8212, "name": "_keys", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6544, - "src": "3386:5:15", + "referencedDeclaration": 8158, + "src": "3386:5:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PublicKey_$6525_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PublicKey_$8139_storage_$", "typeString": "mapping(bytes32 => struct CredentialKeyMapper.PublicKey storage ref)" } }, - "id": 6600, + "id": 8214, "indexExpression": { - "id": 6599, + "id": 8213, "name": "idHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6592, - "src": "3392:6:15", + "referencedDeclaration": 8206, + "src": "3392:6:28", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -210182,22 +229237,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3386:13:15", + "src": "3386:13:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_PublicKey_$6525_storage", + "typeIdentifier": "t_struct$_PublicKey_$8139_storage", "typeString": "struct CredentialKeyMapper.PublicKey storage ref" } }, - "id": 6601, + "id": 8215, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "3400:1:15", + "memberLocation": "3400:1:28", "memberName": "x", "nodeType": "MemberAccess", - "referencedDeclaration": 6521, - "src": "3386:15:15", + "referencedDeclaration": 8135, + "src": "3386:15:28", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -210209,14 +229264,14 @@ "arguments": [ { "hexValue": "30", - "id": 6604, + "id": 8218, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3413:1:15", + "src": "3413:1:28", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -210231,26 +229286,26 @@ "typeString": "int_const 0" } ], - "id": 6603, + "id": 8217, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3405:7:15", + "src": "3405:7:28", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": { - "id": 6602, + "id": 8216, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3405:7:15", + "src": "3405:7:28", "typeDescriptions": {} } }, - "id": 6605, + "id": 8219, "isConstant": false, "isLValue": false, "isPure": true, @@ -210259,37 +229314,37 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3405:10:15", + "src": "3405:10:28", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "3386:29:15", + "src": "3386:29:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 6612, + "id": 8226, "nodeType": "IfStatement", - "src": "3382:97:15", + "src": "3382:97:28", "trueBody": { - "id": 6611, + "id": 8225, "nodeType": "Block", - "src": "3417:62:15", + "src": "3417:62:28", "statements": [ { "errorCall": { "arguments": [ { - "id": 6608, + "id": 8222, "name": "idHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6592, - "src": "3461:6:15", + "referencedDeclaration": 8206, + "src": "3461:6:28", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -210303,18 +229358,18 @@ "typeString": "bytes32" } ], - "id": 6607, + "id": 8221, "name": "CredentialIdAlreadySet", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6530, - "src": "3438:22:15", + "referencedDeclaration": 8144, + "src": "3438:22:28", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_bytes32_$returns$_t_error_$", "typeString": "function (bytes32) pure returns (error)" } }, - "id": 6609, + "id": 8223, "isConstant": false, "isLValue": false, "isPure": false, @@ -210323,16 +229378,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3438:30:15", + "src": "3438:30:28", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_error", "typeString": "error" } }, - "id": 6610, + "id": 8224, "nodeType": "RevertStatement", - "src": "3431:37:15" + "src": "3431:37:28" } ] } @@ -210343,33 +229398,33 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 6616, + "id": 8230, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 6613, + "id": 8227, "name": "idHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6592, - "src": "3493:6:15", + "referencedDeclaration": 8206, + "src": "3493:6:28", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 6614, + "id": 8228, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "3500:6:15", + "memberLocation": "3500:6:28", "memberName": "length", "nodeType": "MemberAccess", - "src": "3493:13:15", + "src": "3493:13:28", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -210379,51 +229434,51 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 6615, + "id": 8229, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3510:1:15", + "src": "3510:1:28", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "3493:18:15", + "src": "3493:18:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 6621, + "id": 8235, "nodeType": "IfStatement", - "src": "3489:75:15", + "src": "3489:75:28", "trueBody": { - "id": 6620, + "id": 8234, "nodeType": "Block", - "src": "3513:51:15", + "src": "3513:51:28", "statements": [ { "errorCall": { "arguments": [], "expression": { "argumentTypes": [], - "id": 6617, + "id": 8231, "name": "EmptyCredentialId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6538, - "src": "3534:17:15", + "referencedDeclaration": 8152, + "src": "3534:17:28", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$__$returns$_t_error_$", "typeString": "function () pure returns (error)" } }, - "id": 6618, + "id": 8232, "isConstant": false, "isLValue": false, "isPure": false, @@ -210432,16 +229487,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3534:19:15", + "src": "3534:19:28", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_error", "typeString": "error" } }, - "id": 6619, + "id": 8233, "nodeType": "RevertStatement", - "src": "3527:26:15" + "src": "3527:26:28" } ] } @@ -210452,7 +229507,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 6636, + "id": 8250, "isConstant": false, "isLValue": false, "isPure": false, @@ -210462,34 +229517,34 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 6628, + "id": 8242, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 6622, + "id": 8236, "name": "key", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6595, - "src": "3578:3:15", + "referencedDeclaration": 8209, + "src": "3578:3:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_PublicKey_$6525_calldata_ptr", + "typeIdentifier": "t_struct$_PublicKey_$8139_calldata_ptr", "typeString": "struct CredentialKeyMapper.PublicKey calldata" } }, - "id": 6623, + "id": 8237, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "3582:1:15", + "memberLocation": "3582:1:28", "memberName": "x", "nodeType": "MemberAccess", - "referencedDeclaration": 6521, - "src": "3578:5:15", + "referencedDeclaration": 8135, + "src": "3578:5:28", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -210501,14 +229556,14 @@ "arguments": [ { "hexValue": "30", - "id": 6626, + "id": 8240, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3595:1:15", + "src": "3595:1:28", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -210523,26 +229578,26 @@ "typeString": "int_const 0" } ], - "id": 6625, + "id": 8239, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3587:7:15", + "src": "3587:7:28", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": { - "id": 6624, + "id": 8238, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3587:7:15", + "src": "3587:7:28", "typeDescriptions": {} } }, - "id": 6627, + "id": 8241, "isConstant": false, "isLValue": false, "isPure": true, @@ -210551,14 +229606,14 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3587:10:15", + "src": "3587:10:28", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "3578:19:15", + "src": "3578:19:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -210571,34 +229626,34 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 6635, + "id": 8249, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 6629, + "id": 8243, "name": "key", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6595, - "src": "3601:3:15", + "referencedDeclaration": 8209, + "src": "3601:3:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_PublicKey_$6525_calldata_ptr", + "typeIdentifier": "t_struct$_PublicKey_$8139_calldata_ptr", "typeString": "struct CredentialKeyMapper.PublicKey calldata" } }, - "id": 6630, + "id": 8244, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "3605:1:15", + "memberLocation": "3605:1:28", "memberName": "y", "nodeType": "MemberAccess", - "referencedDeclaration": 6524, - "src": "3601:5:15", + "referencedDeclaration": 8138, + "src": "3601:5:28", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -210610,14 +229665,14 @@ "arguments": [ { "hexValue": "30", - "id": 6633, + "id": 8247, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3618:1:15", + "src": "3618:1:28", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -210632,26 +229687,26 @@ "typeString": "int_const 0" } ], - "id": 6632, + "id": 8246, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3610:7:15", + "src": "3610:7:28", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": { - "id": 6631, + "id": 8245, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3610:7:15", + "src": "3610:7:28", "typeDescriptions": {} } }, - "id": 6634, + "id": 8248, "isConstant": false, "isLValue": false, "isPure": true, @@ -210660,59 +229715,59 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3610:10:15", + "src": "3610:10:28", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "3601:19:15", + "src": "3601:19:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "3578:42:15", + "src": "3578:42:28", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 6645, + "id": 8259, "nodeType": "IfStatement", - "src": "3574:104:15", + "src": "3574:104:28", "trueBody": { - "id": 6644, + "id": 8258, "nodeType": "Block", - "src": "3622:56:15", + "src": "3622:56:28", "statements": [ { "errorCall": { "arguments": [ { "expression": { - "id": 6638, + "id": 8252, "name": "key", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6595, - "src": "3654:3:15", + "referencedDeclaration": 8209, + "src": "3654:3:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_PublicKey_$6525_calldata_ptr", + "typeIdentifier": "t_struct$_PublicKey_$8139_calldata_ptr", "typeString": "struct CredentialKeyMapper.PublicKey calldata" } }, - "id": 6639, + "id": 8253, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "3658:1:15", + "memberLocation": "3658:1:28", "memberName": "x", "nodeType": "MemberAccess", - "referencedDeclaration": 6521, - "src": "3654:5:15", + "referencedDeclaration": 8135, + "src": "3654:5:28", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -210720,27 +229775,27 @@ }, { "expression": { - "id": 6640, + "id": 8254, "name": "key", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6595, - "src": "3661:3:15", + "referencedDeclaration": 8209, + "src": "3661:3:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_PublicKey_$6525_calldata_ptr", + "typeIdentifier": "t_struct$_PublicKey_$8139_calldata_ptr", "typeString": "struct CredentialKeyMapper.PublicKey calldata" } }, - "id": 6641, + "id": 8255, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "3665:1:15", + "memberLocation": "3665:1:28", "memberName": "y", "nodeType": "MemberAccess", - "referencedDeclaration": 6524, - "src": "3661:5:15", + "referencedDeclaration": 8138, + "src": "3661:5:28", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -210758,18 +229813,18 @@ "typeString": "bytes32" } ], - "id": 6637, + "id": 8251, "name": "InvalidKey", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6536, - "src": "3643:10:15", + "referencedDeclaration": 8150, + "src": "3643:10:28", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_bytes32_$_t_bytes32_$returns$_t_error_$", "typeString": "function (bytes32,bytes32) pure returns (error)" } }, - "id": 6642, + "id": 8256, "isConstant": false, "isLValue": false, "isPure": false, @@ -210778,48 +229833,48 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3643:24:15", + "src": "3643:24:28", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_error", "typeString": "error" } }, - "id": 6643, + "id": 8257, "nodeType": "RevertStatement", - "src": "3636:31:15" + "src": "3636:31:28" } ] } }, { "expression": { - "id": 6650, + "id": 8264, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 6646, + "id": 8260, "name": "_keys", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6544, - "src": "3688:5:15", + "referencedDeclaration": 8158, + "src": "3688:5:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PublicKey_$6525_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PublicKey_$8139_storage_$", "typeString": "mapping(bytes32 => struct CredentialKeyMapper.PublicKey storage ref)" } }, - "id": 6648, + "id": 8262, "indexExpression": { - "id": 6647, + "id": 8261, "name": "idHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6592, - "src": "3694:6:15", + "referencedDeclaration": 8206, + "src": "3694:6:28", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -210830,65 +229885,65 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3688:13:15", + "src": "3688:13:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_PublicKey_$6525_storage", + "typeIdentifier": "t_struct$_PublicKey_$8139_storage", "typeString": "struct CredentialKeyMapper.PublicKey storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 6649, + "id": 8263, "name": "key", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6595, - "src": "3704:3:15", + "referencedDeclaration": 8209, + "src": "3704:3:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_PublicKey_$6525_calldata_ptr", + "typeIdentifier": "t_struct$_PublicKey_$8139_calldata_ptr", "typeString": "struct CredentialKeyMapper.PublicKey calldata" } }, - "src": "3688:19:15", + "src": "3688:19:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_PublicKey_$6525_storage", + "typeIdentifier": "t_struct$_PublicKey_$8139_storage", "typeString": "struct CredentialKeyMapper.PublicKey storage ref" } }, - "id": 6651, + "id": 8265, "nodeType": "ExpressionStatement", - "src": "3688:19:15" + "src": "3688:19:28" } ] }, "documentation": { - "id": 6590, + "id": 8204, "nodeType": "StructuredDocumentation", - "src": "2659:633:15", + "src": "2659:633:28", "text": " @notice Register a new credential → public-key mapping.\n @param idHash The keccak256 hash of the credential ID returned by the authenticator during\n WebAuthn registration.\n @param key The public key (affine coordinates) that corresponds to\n `id`.\n @custom:reverts CredentialIdAlreadySet When `id` is already in `_keys`.\n @custom:reverts InvalidKey When no key is stored under `id`.\n @custom:reverts (from _validSignature) When the signature fails to\n validate." }, "functionSelector": "7415a725", - "id": 6653, + "id": 8267, "implemented": true, "kind": "function", "modifiers": [], "name": "setCredentialKey", - "nameLocation": "3306:16:15", + "nameLocation": "3306:16:28", "nodeType": "FunctionDefinition", "parameters": { - "id": 6596, + "id": 8210, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6592, + "id": 8206, "mutability": "mutable", "name": "idHash", - "nameLocation": "3331:6:15", + "nameLocation": "3331:6:28", "nodeType": "VariableDeclaration", - "scope": 6653, - "src": "3323:14:15", + "scope": 8267, + "src": "3323:14:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -210896,10 +229951,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6591, + "id": 8205, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3323:7:15", + "src": "3323:7:28", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -210909,78 +229964,78 @@ }, { "constant": false, - "id": 6595, + "id": 8209, "mutability": "mutable", "name": "key", - "nameLocation": "3358:3:15", + "nameLocation": "3358:3:28", "nodeType": "VariableDeclaration", - "scope": 6653, - "src": "3339:22:15", + "scope": 8267, + "src": "3339:22:28", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { - "typeIdentifier": "t_struct$_PublicKey_$6525_calldata_ptr", + "typeIdentifier": "t_struct$_PublicKey_$8139_calldata_ptr", "typeString": "struct CredentialKeyMapper.PublicKey" }, "typeName": { - "id": 6594, + "id": 8208, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 6593, + "id": 8207, "name": "PublicKey", "nameLocations": [ - "3339:9:15" + "3339:9:28" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 6525, - "src": "3339:9:15" + "referencedDeclaration": 8139, + "src": "3339:9:28" }, - "referencedDeclaration": 6525, - "src": "3339:9:15", + "referencedDeclaration": 8139, + "src": "3339:9:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_PublicKey_$6525_storage_ptr", + "typeIdentifier": "t_struct$_PublicKey_$8139_storage_ptr", "typeString": "struct CredentialKeyMapper.PublicKey" } }, "visibility": "internal" } ], - "src": "3322:40:15" + "src": "3322:40:28" }, "returnParameters": { - "id": 6597, + "id": 8211, "nodeType": "ParameterList", "parameters": [], - "src": "3372:0:15" + "src": "3372:0:28" }, - "scope": 6710, - "src": "3297:417:15", + "scope": 8324, + "src": "3297:417:28", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 6668, + "id": 8282, "nodeType": "Block", - "src": "4114:36:15", + "src": "4114:36:28", "statements": [ { "expression": { - "id": 6666, + "id": 8280, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 6662, + "id": 8276, "name": "key", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6660, - "src": "4124:3:15", + "referencedDeclaration": 8274, + "src": "4124:3:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_PublicKey_$6525_memory_ptr", + "typeIdentifier": "t_struct$_PublicKey_$8139_memory_ptr", "typeString": "struct CredentialKeyMapper.PublicKey memory" } }, @@ -210988,25 +230043,25 @@ "operator": "=", "rightHandSide": { "baseExpression": { - "id": 6663, + "id": 8277, "name": "_keys", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6544, - "src": "4130:5:15", + "referencedDeclaration": 8158, + "src": "4130:5:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PublicKey_$6525_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PublicKey_$8139_storage_$", "typeString": "mapping(bytes32 => struct CredentialKeyMapper.PublicKey storage ref)" } }, - "id": 6665, + "id": 8279, "indexExpression": { - "id": 6664, + "id": 8278, "name": "idHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6656, - "src": "4136:6:15", + "referencedDeclaration": 8270, + "src": "4136:6:28", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -211017,51 +230072,51 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4130:13:15", + "src": "4130:13:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_PublicKey_$6525_storage", + "typeIdentifier": "t_struct$_PublicKey_$8139_storage", "typeString": "struct CredentialKeyMapper.PublicKey storage ref" } }, - "src": "4124:19:15", + "src": "4124:19:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_PublicKey_$6525_memory_ptr", + "typeIdentifier": "t_struct$_PublicKey_$8139_memory_ptr", "typeString": "struct CredentialKeyMapper.PublicKey memory" } }, - "id": 6667, + "id": 8281, "nodeType": "ExpressionStatement", - "src": "4124:19:15" + "src": "4124:19:28" } ] }, "documentation": { - "id": 6654, + "id": 8268, "nodeType": "StructuredDocumentation", - "src": "3720:302:15", + "src": "3720:302:28", "text": " @notice Retrieve the public key associated with a credential ID.\n @param idHash The credential identifier whose public key is requested.\n @return key The stored `PublicKey` struct (`x`, `y`). If the credential is\n unknown, both coordinates will be zero." }, "functionSelector": "185d0dcd", - "id": 6669, + "id": 8283, "implemented": true, "kind": "function", "modifiers": [], "name": "getCredentialKey", - "nameLocation": "4036:16:15", + "nameLocation": "4036:16:28", "nodeType": "FunctionDefinition", "parameters": { - "id": 6657, + "id": 8271, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6656, + "id": 8270, "mutability": "mutable", "name": "idHash", - "nameLocation": "4061:6:15", + "nameLocation": "4061:6:28", "nodeType": "VariableDeclaration", - "scope": 6669, - "src": "4053:14:15", + "scope": 8283, + "src": "4053:14:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -211069,10 +230124,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6655, + "id": 8269, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "4053:7:15", + "src": "4053:7:28", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -211081,78 +230136,78 @@ "visibility": "internal" } ], - "src": "4052:16:15" + "src": "4052:16:28" }, "returnParameters": { - "id": 6661, + "id": 8275, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6660, + "id": 8274, "mutability": "mutable", "name": "key", - "nameLocation": "4109:3:15", + "nameLocation": "4109:3:28", "nodeType": "VariableDeclaration", - "scope": 6669, - "src": "4092:20:15", + "scope": 8283, + "src": "4092:20:28", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_PublicKey_$6525_memory_ptr", + "typeIdentifier": "t_struct$_PublicKey_$8139_memory_ptr", "typeString": "struct CredentialKeyMapper.PublicKey" }, "typeName": { - "id": 6659, + "id": 8273, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 6658, + "id": 8272, "name": "PublicKey", "nameLocations": [ - "4092:9:15" + "4092:9:28" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 6525, - "src": "4092:9:15" + "referencedDeclaration": 8139, + "src": "4092:9:28" }, - "referencedDeclaration": 6525, - "src": "4092:9:15", + "referencedDeclaration": 8139, + "src": "4092:9:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_PublicKey_$6525_storage_ptr", + "typeIdentifier": "t_struct$_PublicKey_$8139_storage_ptr", "typeString": "struct CredentialKeyMapper.PublicKey" } }, "visibility": "internal" } ], - "src": "4091:22:15" + "src": "4091:22:28" }, - "scope": 6710, - "src": "4027:123:15", + "scope": 8324, + "src": "4027:123:28", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "body": { - "id": 6708, + "id": 8322, "nodeType": "Block", - "src": "4649:204:15", + "src": "4649:204:28", "statements": [ { "assignments": [ - 6678 + 8292 ], "declarations": [ { "constant": false, - "id": 6678, + "id": 8292, "mutability": "mutable", "name": "hash", - "nameLocation": "4667:4:15", + "nameLocation": "4667:4:28", "nodeType": "VariableDeclaration", - "scope": 6708, - "src": "4659:12:15", + "scope": 8322, + "src": "4659:12:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -211160,10 +230215,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6677, + "id": 8291, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "4659:7:15", + "src": "4659:7:28", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -211172,7 +230227,7 @@ "visibility": "internal" } ], - "id": 6689, + "id": 8303, "initialValue": { "arguments": [ { @@ -211180,53 +230235,53 @@ { "expression": { "expression": { - "id": 6683, + "id": 8297, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, - "src": "4697:4:15", + "src": "4697:4:28", "typeDescriptions": { - "typeIdentifier": "t_contract$_CredentialKeyMapper_$6710", + "typeIdentifier": "t_contract$_CredentialKeyMapper_$8324", "typeString": "contract CredentialKeyMapper" } }, - "id": 6684, + "id": 8298, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "4702:19:15", + "memberLocation": "4702:19:28", "memberName": "removeCredentialKey", "nodeType": "MemberAccess", - "referencedDeclaration": 6709, - "src": "4697:24:15", + "referencedDeclaration": 8323, + "src": "4697:24:28", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (bytes32,bytes memory) external" } }, - "id": 6685, + "id": 8299, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "4722:8:15", + "memberLocation": "4722:8:28", "memberName": "selector", "nodeType": "MemberAccess", - "src": "4697:33:15", + "src": "4697:33:28", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, { - "id": 6686, + "id": 8300, "name": "idHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6672, - "src": "4732:6:15", + "referencedDeclaration": 8286, + "src": "4732:6:28", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -211245,40 +230300,40 @@ } ], "expression": { - "id": 6681, + "id": 8295, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4684:5:15", + "src": "4684:5:28", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 6680, + "id": 8294, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "4684:5:15", + "src": "4684:5:28", "typeDescriptions": {} } }, - "id": 6682, + "id": 8296, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "4690:6:15", + "memberLocation": "4690:6:28", "memberName": "concat", "nodeType": "MemberAccess", - "src": "4684:12:15", + "src": "4684:12:28", "typeDescriptions": { "typeIdentifier": "t_function_bytesconcat_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 6687, + "id": 8301, "isConstant": false, "isLValue": false, "isPure": false, @@ -211287,7 +230342,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4684:55:15", + "src": "4684:55:28", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -211302,18 +230357,18 @@ "typeString": "bytes memory" } ], - "id": 6679, + "id": 8293, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "4674:9:15", + "src": "4674:9:28", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 6688, + "id": 8302, "isConstant": false, "isLValue": false, "isPure": false, @@ -211322,7 +230377,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4674:66:15", + "src": "4674:66:28", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -211330,30 +230385,30 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "4659:81:15" + "src": "4659:81:28" }, { "expression": { "arguments": [ { - "id": 6691, + "id": 8305, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6678, - "src": "4766:4:15", + "referencedDeclaration": 8292, + "src": "4766:4:28", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 6692, + "id": 8306, "name": "signature", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6674, - "src": "4772:9:15", + "referencedDeclaration": 8288, + "src": "4772:9:28", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -211362,25 +230417,25 @@ { "expression": { "baseExpression": { - "id": 6693, + "id": 8307, "name": "_keys", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6544, - "src": "4783:5:15", + "referencedDeclaration": 8158, + "src": "4783:5:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PublicKey_$6525_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PublicKey_$8139_storage_$", "typeString": "mapping(bytes32 => struct CredentialKeyMapper.PublicKey storage ref)" } }, - "id": 6695, + "id": 8309, "indexExpression": { - "id": 6694, + "id": 8308, "name": "idHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6672, - "src": "4789:6:15", + "referencedDeclaration": 8286, + "src": "4789:6:28", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -211391,22 +230446,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4783:13:15", + "src": "4783:13:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_PublicKey_$6525_storage", + "typeIdentifier": "t_struct$_PublicKey_$8139_storage", "typeString": "struct CredentialKeyMapper.PublicKey storage ref" } }, - "id": 6696, + "id": 8310, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "4797:1:15", + "memberLocation": "4797:1:28", "memberName": "x", "nodeType": "MemberAccess", - "referencedDeclaration": 6521, - "src": "4783:15:15", + "referencedDeclaration": 8135, + "src": "4783:15:28", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -211415,25 +230470,25 @@ { "expression": { "baseExpression": { - "id": 6697, + "id": 8311, "name": "_keys", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6544, - "src": "4800:5:15", + "referencedDeclaration": 8158, + "src": "4800:5:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PublicKey_$6525_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PublicKey_$8139_storage_$", "typeString": "mapping(bytes32 => struct CredentialKeyMapper.PublicKey storage ref)" } }, - "id": 6699, + "id": 8313, "indexExpression": { - "id": 6698, + "id": 8312, "name": "idHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6672, - "src": "4806:6:15", + "referencedDeclaration": 8286, + "src": "4806:6:28", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -211444,22 +230499,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4800:13:15", + "src": "4800:13:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_PublicKey_$6525_storage", + "typeIdentifier": "t_struct$_PublicKey_$8139_storage", "typeString": "struct CredentialKeyMapper.PublicKey storage ref" } }, - "id": 6700, + "id": 8314, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "4814:1:15", + "memberLocation": "4814:1:28", "memberName": "y", "nodeType": "MemberAccess", - "referencedDeclaration": 6524, - "src": "4800:15:15", + "referencedDeclaration": 8138, + "src": "4800:15:28", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -211485,18 +230540,18 @@ "typeString": "bytes32" } ], - "id": 6690, + "id": 8304, "name": "_validSignature", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6589, - "src": "4750:15:15", + "referencedDeclaration": 8203, + "src": "4750:15:28", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes_calldata_ptr_$_t_bytes32_$_t_bytes32_$returns$__$", "typeString": "function (bytes32,bytes calldata,bytes32,bytes32) view" } }, - "id": 6701, + "id": 8315, "isConstant": false, "isLValue": false, "isPure": false, @@ -211505,20 +230560,20 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4750:66:15", + "src": "4750:66:28", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6702, + "id": 8316, "nodeType": "ExpressionStatement", - "src": "4750:66:15" + "src": "4750:66:28" }, { "expression": { - "id": 6706, + "id": 8320, "isConstant": false, "isLValue": false, "isPure": false, @@ -211526,28 +230581,28 @@ "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, - "src": "4826:20:15", + "src": "4826:20:28", "subExpression": { "baseExpression": { - "id": 6703, + "id": 8317, "name": "_keys", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6544, - "src": "4833:5:15", + "referencedDeclaration": 8158, + "src": "4833:5:28", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PublicKey_$6525_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PublicKey_$8139_storage_$", "typeString": "mapping(bytes32 => struct CredentialKeyMapper.PublicKey storage ref)" } }, - "id": 6705, + "id": 8319, "indexExpression": { - "id": 6704, + "id": 8318, "name": "idHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6672, - "src": "4839:6:15", + "referencedDeclaration": 8286, + "src": "4839:6:28", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -211558,9 +230613,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4833:13:15", + "src": "4833:13:28", "typeDescriptions": { - "typeIdentifier": "t_struct$_PublicKey_$6525_storage", + "typeIdentifier": "t_struct$_PublicKey_$8139_storage", "typeString": "struct CredentialKeyMapper.PublicKey storage ref" } }, @@ -211569,39 +230624,39 @@ "typeString": "tuple()" } }, - "id": 6707, + "id": 8321, "nodeType": "ExpressionStatement", - "src": "4826:20:15" + "src": "4826:20:28" } ] }, "documentation": { - "id": 6670, + "id": 8284, "nodeType": "StructuredDocumentation", - "src": "4156:408:15", + "src": "4156:408:28", "text": " @notice Remove an existing credential → public-key mapping.\n @param idHash The hash of the credential ID to forget.\n @param signature A valid WebAuthn assertion proving control of the key\n currently registered under `id`.\n @dev The hash that must be signed is\n `keccak256(this.removeCredentialKey.selector || id)`." }, "functionSelector": "1874cc36", - "id": 6709, + "id": 8323, "implemented": true, "kind": "function", "modifiers": [], "name": "removeCredentialKey", - "nameLocation": "4578:19:15", + "nameLocation": "4578:19:28", "nodeType": "FunctionDefinition", "parameters": { - "id": 6675, + "id": 8289, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6672, + "id": 8286, "mutability": "mutable", "name": "idHash", - "nameLocation": "4606:6:15", + "nameLocation": "4606:6:28", "nodeType": "VariableDeclaration", - "scope": 6709, - "src": "4598:14:15", + "scope": 8323, + "src": "4598:14:28", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -211609,10 +230664,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6671, + "id": 8285, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "4598:7:15", + "src": "4598:7:28", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -211622,13 +230677,13 @@ }, { "constant": false, - "id": 6674, + "id": 8288, "mutability": "mutable", "name": "signature", - "nameLocation": "4629:9:15", + "nameLocation": "4629:9:28", "nodeType": "VariableDeclaration", - "scope": 6709, - "src": "4614:24:15", + "scope": 8323, + "src": "4614:24:28", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -211636,10 +230691,10 @@ "typeString": "bytes" }, "typeName": { - "id": 6673, + "id": 8287, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "4614:5:15", + "src": "4614:5:28", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -211648,49 +230703,49 @@ "visibility": "internal" } ], - "src": "4597:42:15" + "src": "4597:42:28" }, "returnParameters": { - "id": 6676, + "id": 8290, "nodeType": "ParameterList", "parameters": [], - "src": "4649:0:15" + "src": "4649:0:28" }, - "scope": 6710, - "src": "4569:284:15", + "scope": 8324, + "src": "4569:284:28", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" } ], - "scope": 6711, - "src": "846:4009:15", + "scope": 8325, + "src": "846:4009:28", "usedErrors": [ - 6530, - 6536, - 6538 + 8144, + 8150, + 8152 ], "usedEvents": [] } ], - "src": "32:4824:15" + "src": "32:4824:28" }, - "id": 15 + "id": 28 }, "src/ERC1271.sol": { "ast": { "absolutePath": "src/ERC1271.sol", "exportedSymbols": { "ERC1271": [ - 6904 + 8518 ] }, - "id": 6905, + "id": 8519, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 6712, + "id": 8326, "literals": [ "solidity", "^", @@ -211698,7 +230753,7 @@ ".4" ], "nodeType": "PragmaDirective", - "src": "32:23:16" + "src": "32:23:29" }, { "abstract": true, @@ -211707,35 +230762,35 @@ "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 6713, + "id": 8327, "nodeType": "StructuredDocumentation", - "src": "57:851:16", + "src": "57:851:29", "text": "@title ERC-1271\n @notice Abstract ERC-1271 implementation (based on Solady's) with guards to handle the same\n signer being used on multiple accounts.\n @dev To prevent the same signature from being validated on different accounts owned by the samer signer,\n we introduce an anti cross-account-replay layer: the original hash is input into a new EIP-712 compliant\n hash. The domain separator of this outer hash contains the chain id and address of this contract, so that\n it cannot be used on two accounts (see `replaySafeHash()` for the implementation details).\n @author Applied Blockchain (https://github.com/appliedblockchain/giano)\n @author Coinbase (https://github.com/coinbase/smart-wallet)\n @author Solady (https://github.com/vectorized/solady/blob/main/src/accounts/ERC1271.sol)" }, "fullyImplemented": false, - "id": 6904, + "id": 8518, "linearizedBaseContracts": [ - 6904 + 8518 ], "name": "ERC1271", - "nameLocation": "926:7:16", + "nameLocation": "926:7:29", "nodeType": "ContractDefinition", "nodes": [ { "constant": true, "documentation": { - "id": 6714, + "id": 8328, "nodeType": "StructuredDocumentation", - "src": "940:409:16", + "src": "940:409:29", "text": "@dev Precomputed `typeHash` used to produce EIP-712 compliant hash when applying the anti\n cross-account-replay layer.\n The original hash must either be:\n - An EIP-191 hash: keccak256(\"\\x19Ethereum Signed Message:\\n\" || len(someMessage) || someMessage)\n - An EIP-712 hash: keccak256(\"\\x19\\x01\" || someDomainSeparator || hashStruct(someStruct))" }, - "id": 6719, + "id": 8333, "mutability": "constant", "name": "_MESSAGE_TYPEHASH", - "nameLocation": "1379:17:16", + "nameLocation": "1379:17:29", "nodeType": "VariableDeclaration", - "scope": 6904, - "src": "1354:95:16", + "scope": 8518, + "src": "1354:95:29", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -211743,10 +230798,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6715, + "id": 8329, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1354:7:16", + "src": "1354:7:29", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -211756,14 +230811,14 @@ "arguments": [ { "hexValue": "4769616e6f536d61727457616c6c65744d6573736167652862797465733332206861736829", - "id": 6717, + "id": 8331, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1409:39:16", + "src": "1409:39:29", "typeDescriptions": { "typeIdentifier": "t_stringliteral_37f248f492286ab572e2a1ee0bd5315f2aae54a08b5871b294d657f3a1f1d007", "typeString": "literal_string \"GianoSmartWalletMessage(bytes32 hash)\"" @@ -211778,18 +230833,18 @@ "typeString": "literal_string \"GianoSmartWalletMessage(bytes32 hash)\"" } ], - "id": 6716, + "id": 8330, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "1399:9:16", + "src": "1399:9:29", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 6718, + "id": 8332, "isConstant": false, "isLValue": false, "isPure": true, @@ -211798,7 +230853,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1399:50:16", + "src": "1399:50:29", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -211809,24 +230864,24 @@ }, { "body": { - "id": 6769, + "id": 8383, "nodeType": "Block", - "src": "2491:267:16", + "src": "2491:267:29", "statements": [ { "expression": { - "id": 6740, + "id": 8354, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 6738, + "id": 8352, "name": "fields", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6723, - "src": "2501:6:16", + "referencedDeclaration": 8337, + "src": "2501:6:29", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -211836,33 +230891,33 @@ "operator": "=", "rightHandSide": { "hexValue": "0f", - "id": 6739, + "id": 8353, "isConstant": false, "isLValue": false, "isPure": true, "kind": "hexString", "lValueRequested": false, "nodeType": "Literal", - "src": "2510:7:16", + "src": "2510:7:29", "typeDescriptions": { "typeIdentifier": "t_stringliteral_3d725c5ee53025f027da36bea8d3af3b6a3e9d2d1542d47c162631de48e66c1c", "typeString": "literal_string hex\"0f\"" }, "value": "\u000f" }, - "src": "2501:16:16", + "src": "2501:16:29", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, - "id": 6741, + "id": 8355, "nodeType": "ExpressionStatement", - "src": "2501:16:16" + "src": "2501:16:29" }, { "expression": { - "id": 6747, + "id": 8361, "isConstant": false, "isLValue": false, "isPure": false, @@ -211870,38 +230925,38 @@ "leftHandSide": { "components": [ { - "id": 6742, + "id": 8356, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6725, - "src": "2541:4:16", + "referencedDeclaration": 8339, + "src": "2541:4:29", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { - "id": 6743, + "id": 8357, "name": "version", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6727, - "src": "2547:7:16", + "referencedDeclaration": 8341, + "src": "2547:7:29", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], - "id": 6744, + "id": 8358, "isConstant": false, "isInlineArray": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "TupleExpression", - "src": "2540:15:16", + "src": "2540:15:29", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_string_memory_ptr_$_t_string_memory_ptr_$", "typeString": "tuple(string memory,string memory)" @@ -211913,18 +230968,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 6745, + "id": 8359, "name": "_domainNameAndVersion", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6893, - "src": "2558:21:16", + "referencedDeclaration": 8507, + "src": "2558:21:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_string_memory_ptr_$_t_string_memory_ptr_$", "typeString": "function () view returns (string memory,string memory)" } }, - "id": 6746, + "id": 8360, "isConstant": false, "isLValue": false, "isPure": false, @@ -211933,37 +230988,37 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2558:23:16", + "src": "2558:23:29", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_string_memory_ptr_$_t_string_memory_ptr_$", "typeString": "tuple(string memory,string memory)" } }, - "src": "2540:41:16", + "src": "2540:41:29", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6748, + "id": 8362, "nodeType": "ExpressionStatement", - "src": "2540:41:16" + "src": "2540:41:29" }, { "expression": { - "id": 6752, + "id": 8366, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 6749, + "id": 8363, "name": "chainId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6729, - "src": "2591:7:16", + "referencedDeclaration": 8343, + "src": "2591:7:29", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -211973,55 +231028,55 @@ "operator": "=", "rightHandSide": { "expression": { - "id": 6750, + "id": 8364, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -4, - "src": "2601:5:16", + "src": "2601:5:29", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 6751, + "id": 8365, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "2607:7:16", + "memberLocation": "2607:7:29", "memberName": "chainid", "nodeType": "MemberAccess", - "src": "2601:13:16", + "src": "2601:13:29", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2591:23:16", + "src": "2591:23:29", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6753, + "id": 8367, "nodeType": "ExpressionStatement", - "src": "2591:23:16" + "src": "2591:23:29" }, { "expression": { - "id": 6759, + "id": 8373, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 6754, + "id": 8368, "name": "verifyingContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6731, - "src": "2624:17:16", + "referencedDeclaration": 8345, + "src": "2624:17:29", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -212032,14 +231087,14 @@ "rightHandSide": { "arguments": [ { - "id": 6757, + "id": 8371, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, - "src": "2652:4:16", + "src": "2652:4:29", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1271_$6904", + "typeIdentifier": "t_contract$_ERC1271_$8518", "typeString": "contract ERC1271" } } @@ -212047,30 +231102,30 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_ERC1271_$6904", + "typeIdentifier": "t_contract$_ERC1271_$8518", "typeString": "contract ERC1271" } ], - "id": 6756, + "id": 8370, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2644:7:16", + "src": "2644:7:29", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 6755, + "id": 8369, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2644:7:16", + "src": "2644:7:29", "typeDescriptions": {} } }, - "id": 6758, + "id": 8372, "isConstant": false, "isLValue": false, "isPure": false, @@ -212079,37 +231134,37 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2644:13:16", + "src": "2644:13:29", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2624:33:16", + "src": "2624:33:29", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 6760, + "id": 8374, "nodeType": "ExpressionStatement", - "src": "2624:33:16" + "src": "2624:33:29" }, { "expression": { - "id": 6763, + "id": 8377, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 6761, + "id": 8375, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6733, - "src": "2667:4:16", + "referencedDeclaration": 8347, + "src": "2667:4:29", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -212118,41 +231173,41 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 6762, + "id": 8376, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6733, - "src": "2674:4:16", + "referencedDeclaration": 8347, + "src": "2674:4:29", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "2667:11:16", + "src": "2667:11:29", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 6764, + "id": 8378, "nodeType": "ExpressionStatement", - "src": "2667:11:16" + "src": "2667:11:29" }, { "expression": { - "id": 6767, + "id": 8381, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 6765, + "id": 8379, "name": "extensions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6736, - "src": "2705:10:16", + "referencedDeclaration": 8350, + "src": "2705:10:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -212161,62 +231216,62 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 6766, + "id": 8380, "name": "extensions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6736, - "src": "2718:10:16", + "referencedDeclaration": 8350, + "src": "2718:10:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "src": "2705:23:16", + "src": "2705:23:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 6768, + "id": 8382, "nodeType": "ExpressionStatement", - "src": "2705:23:16" + "src": "2705:23:29" } ] }, "documentation": { - "id": 6720, + "id": 8334, "nodeType": "StructuredDocumentation", - "src": "1456:700:16", + "src": "1456:700:29", "text": "@notice Returns information about the `EIP712Domain` used to create EIP-712 compliant hashes.\n @dev Follows ERC-5267 (see https://eips.ethereum.org/EIPS/eip-5267).\n @return fields The bitmap of used fields.\n @return name The value of the `EIP712Domain.name` field.\n @return version The value of the `EIP712Domain.version` field.\n @return chainId The value of the `EIP712Domain.chainId` field.\n @return verifyingContract The value of the `EIP712Domain.verifyingContract` field.\n @return salt The value of the `EIP712Domain.salt` field.\n @return extensions The list of EIP numbers, that extends EIP-712 with new domain fields." }, "functionSelector": "84b0196e", - "id": 6770, + "id": 8384, "implemented": true, "kind": "function", "modifiers": [], "name": "eip712Domain", - "nameLocation": "2170:12:16", + "nameLocation": "2170:12:29", "nodeType": "FunctionDefinition", "parameters": { - "id": 6721, + "id": 8335, "nodeType": "ParameterList", "parameters": [], - "src": "2182:2:16" + "src": "2182:2:29" }, "returnParameters": { - "id": 6737, + "id": 8351, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6723, + "id": 8337, "mutability": "mutable", "name": "fields", - "nameLocation": "2268:6:16", + "nameLocation": "2268:6:29", "nodeType": "VariableDeclaration", - "scope": 6770, - "src": "2261:13:16", + "scope": 8384, + "src": "2261:13:29", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -212224,10 +231279,10 @@ "typeString": "bytes1" }, "typeName": { - "id": 6722, + "id": 8336, "name": "bytes1", "nodeType": "ElementaryTypeName", - "src": "2261:6:16", + "src": "2261:6:29", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -212237,13 +231292,13 @@ }, { "constant": false, - "id": 6725, + "id": 8339, "mutability": "mutable", "name": "name", - "nameLocation": "2302:4:16", + "nameLocation": "2302:4:29", "nodeType": "VariableDeclaration", - "scope": 6770, - "src": "2288:18:16", + "scope": 8384, + "src": "2288:18:29", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -212251,10 +231306,10 @@ "typeString": "string" }, "typeName": { - "id": 6724, + "id": 8338, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2288:6:16", + "src": "2288:6:29", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -212264,13 +231319,13 @@ }, { "constant": false, - "id": 6727, + "id": 8341, "mutability": "mutable", "name": "version", - "nameLocation": "2334:7:16", + "nameLocation": "2334:7:29", "nodeType": "VariableDeclaration", - "scope": 6770, - "src": "2320:21:16", + "scope": 8384, + "src": "2320:21:29", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -212278,10 +231333,10 @@ "typeString": "string" }, "typeName": { - "id": 6726, + "id": 8340, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2320:6:16", + "src": "2320:6:29", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -212291,13 +231346,13 @@ }, { "constant": false, - "id": 6729, + "id": 8343, "mutability": "mutable", "name": "chainId", - "nameLocation": "2363:7:16", + "nameLocation": "2363:7:29", "nodeType": "VariableDeclaration", - "scope": 6770, - "src": "2355:15:16", + "scope": 8384, + "src": "2355:15:29", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -212305,10 +231360,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6728, + "id": 8342, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2355:7:16", + "src": "2355:7:29", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -212318,13 +231373,13 @@ }, { "constant": false, - "id": 6731, + "id": 8345, "mutability": "mutable", "name": "verifyingContract", - "nameLocation": "2392:17:16", + "nameLocation": "2392:17:29", "nodeType": "VariableDeclaration", - "scope": 6770, - "src": "2384:25:16", + "scope": 8384, + "src": "2384:25:29", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -212332,10 +231387,10 @@ "typeString": "address" }, "typeName": { - "id": 6730, + "id": 8344, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2384:7:16", + "src": "2384:7:29", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -212346,13 +231401,13 @@ }, { "constant": false, - "id": 6733, + "id": 8347, "mutability": "mutable", "name": "salt", - "nameLocation": "2431:4:16", + "nameLocation": "2431:4:29", "nodeType": "VariableDeclaration", - "scope": 6770, - "src": "2423:12:16", + "scope": 8384, + "src": "2423:12:29", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -212360,10 +231415,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6732, + "id": 8346, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2423:7:16", + "src": "2423:7:29", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -212373,13 +231428,13 @@ }, { "constant": false, - "id": 6736, + "id": 8350, "mutability": "mutable", "name": "extensions", - "nameLocation": "2466:10:16", + "nameLocation": "2466:10:29", "nodeType": "VariableDeclaration", - "scope": 6770, - "src": "2449:27:16", + "scope": 8384, + "src": "2449:27:29", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -212388,18 +231443,18 @@ }, "typeName": { "baseType": { - "id": 6734, + "id": 8348, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2449:7:16", + "src": "2449:7:29", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 6735, + "id": 8349, "nodeType": "ArrayTypeName", - "src": "2449:9:16", + "src": "2449:9:29", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -212408,19 +231463,19 @@ "visibility": "internal" } ], - "src": "2247:239:16" + "src": "2247:239:29" }, - "scope": 6904, - "src": "2161:597:16", + "scope": 8518, + "src": "2161:597:29", "stateMutability": "view", "virtual": true, "visibility": "external" }, { "body": { - "id": 6792, + "id": 8406, "nodeType": "Block", - "src": "3501:229:16", + "src": "3501:229:29", "statements": [ { "condition": { @@ -212428,12 +231483,12 @@ { "arguments": [ { - "id": 6782, + "id": 8396, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6773, - "src": "3555:4:16", + "referencedDeclaration": 8387, + "src": "3555:4:29", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -212447,18 +231502,18 @@ "typeString": "bytes32" } ], - "id": 6781, + "id": 8395, "name": "replaySafeHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6806, - "src": "3540:14:16", + "referencedDeclaration": 8420, + "src": "3540:14:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", "typeString": "function (bytes32) view returns (bytes32)" } }, - "id": 6783, + "id": 8397, "isConstant": false, "isLValue": false, "isPure": false, @@ -212467,7 +231522,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3540:20:16", + "src": "3540:20:29", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -212475,12 +231530,12 @@ } }, { - "id": 6784, + "id": 8398, "name": "signature", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6775, - "src": "3573:9:16", + "referencedDeclaration": 8389, + "src": "3573:9:29", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -212498,68 +231553,68 @@ "typeString": "bytes calldata" } ], - "id": 6780, + "id": 8394, "name": "_isValidSignature", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6903, - "src": "3515:17:16", + "referencedDeclaration": 8517, + "src": "3515:17:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes_calldata_ptr_$returns$_t_bool_$", "typeString": "function (bytes32,bytes calldata) view returns (bool)" } }, - "id": 6785, + "id": 8399, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [ - "3534:4:16", - "3562:9:16" + "3534:4:29", + "3562:9:29" ], "names": [ "hash", "signature" ], "nodeType": "FunctionCall", - "src": "3515:69:16", + "src": "3515:69:29", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 6789, + "id": 8403, "nodeType": "IfStatement", - "src": "3511:185:16", + "src": "3511:185:29", "trueBody": { - "id": 6788, + "id": 8402, "nodeType": "Block", - "src": "3586:110:16", + "src": "3586:110:29", "statements": [ { "expression": { "hexValue": "30783136323662613765", - "id": 6786, + "id": 8400, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3675:10:16", + "src": "3675:10:29", "typeDescriptions": { "typeIdentifier": "t_rational_371636862_by_1", "typeString": "int_const 371636862" }, "value": "0x1626ba7e" }, - "functionReturnParameters": 6779, - "id": 6787, + "functionReturnParameters": 8393, + "id": 8401, "nodeType": "Return", - "src": "3668:17:16" + "src": "3668:17:29" } ] } @@ -212567,54 +231622,54 @@ { "expression": { "hexValue": "30786666666666666666", - "id": 6790, + "id": 8404, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3713:10:16", + "src": "3713:10:29", "typeDescriptions": { "typeIdentifier": "t_rational_4294967295_by_1", "typeString": "int_const 4294967295" }, "value": "0xffffffff" }, - "functionReturnParameters": 6779, - "id": 6791, + "functionReturnParameters": 8393, + "id": 8405, "nodeType": "Return", - "src": "3706:17:16" + "src": "3706:17:29" } ] }, "documentation": { - "id": 6771, + "id": 8385, "nodeType": "StructuredDocumentation", - "src": "2764:622:16", + "src": "2764:622:29", "text": "@notice Validates the `signature` against the given `hash`.\n @dev This implementation follows ERC-1271. See https://eips.ethereum.org/EIPS/eip-1271.\n @dev IMPORTANT: Signature verification is performed on the hash produced AFTER applying the anti\n cross-account-replay layer on the given `hash` (i.e., verification is run on the replay-safe\n hash version).\n @param hash The original hash.\n @param signature The signature of the replay-safe hash to validate.\n @return result `0x1626ba7e` if validation succeeded, else `0xffffffff`." }, "functionSelector": "1626ba7e", - "id": 6793, + "id": 8407, "implemented": true, "kind": "function", "modifiers": [], "name": "isValidSignature", - "nameLocation": "3400:16:16", + "nameLocation": "3400:16:29", "nodeType": "FunctionDefinition", "parameters": { - "id": 6776, + "id": 8390, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6773, + "id": 8387, "mutability": "mutable", "name": "hash", - "nameLocation": "3425:4:16", + "nameLocation": "3425:4:29", "nodeType": "VariableDeclaration", - "scope": 6793, - "src": "3417:12:16", + "scope": 8407, + "src": "3417:12:29", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -212622,10 +231677,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6772, + "id": 8386, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3417:7:16", + "src": "3417:7:29", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -212635,13 +231690,13 @@ }, { "constant": false, - "id": 6775, + "id": 8389, "mutability": "mutable", "name": "signature", - "nameLocation": "3446:9:16", + "nameLocation": "3446:9:29", "nodeType": "VariableDeclaration", - "scope": 6793, - "src": "3431:24:16", + "scope": 8407, + "src": "3431:24:29", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -212649,10 +231704,10 @@ "typeString": "bytes" }, "typeName": { - "id": 6774, + "id": 8388, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "3431:5:16", + "src": "3431:5:29", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -212661,21 +231716,21 @@ "visibility": "internal" } ], - "src": "3416:40:16" + "src": "3416:40:29" }, "returnParameters": { - "id": 6779, + "id": 8393, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6778, + "id": 8392, "mutability": "mutable", "name": "result", - "nameLocation": "3493:6:16", + "nameLocation": "3493:6:29", "nodeType": "VariableDeclaration", - "scope": 6793, - "src": "3486:13:16", + "scope": 8407, + "src": "3486:13:29", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -212683,10 +231738,10 @@ "typeString": "bytes4" }, "typeName": { - "id": 6777, + "id": 8391, "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "3486:6:16", + "src": "3486:6:29", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -212695,30 +231750,30 @@ "visibility": "internal" } ], - "src": "3485:15:16" + "src": "3485:15:29" }, - "scope": 6904, - "src": "3391:339:16", + "scope": 8518, + "src": "3391:339:29", "stateMutability": "view", "virtual": true, "visibility": "public" }, { "body": { - "id": 6805, + "id": 8419, "nodeType": "Block", - "src": "4282:41:16", + "src": "4282:41:29", "statements": [ { "expression": { "arguments": [ { - "id": 6802, + "id": 8416, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6796, - "src": "4311:4:16", + "referencedDeclaration": 8410, + "src": "4311:4:29", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -212732,18 +231787,18 @@ "typeString": "bytes32" } ], - "id": 6801, + "id": 8415, "name": "_eip712Hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6868, - "src": "4299:11:16", + "referencedDeclaration": 8482, + "src": "4299:11:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", "typeString": "function (bytes32) view returns (bytes32)" } }, - "id": 6803, + "id": 8417, "isConstant": false, "isLValue": false, "isPure": false, @@ -212752,47 +231807,47 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4299:17:16", + "src": "4299:17:29", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 6800, - "id": 6804, + "functionReturnParameters": 8414, + "id": 8418, "nodeType": "Return", - "src": "4292:24:16" + "src": "4292:24:29" } ] }, "documentation": { - "id": 6794, + "id": 8408, "nodeType": "StructuredDocumentation", - "src": "3736:465:16", + "src": "3736:465:29", "text": "@notice Wrapper around `_eip712Hash()` to produce a replay-safe hash fron the given `hash`.\n @dev The returned EIP-712 compliant replay-safe hash is the result of:\n keccak256(\n \\x19\\x01 ||\n this.domainSeparator ||\n hashStruct(GianoSmartWalletMessage({ hash: `hash`}))\n )\n @param hash The original hash.\n @return The corresponding replay-safe hash." }, "functionSelector": "ce1506be", - "id": 6806, + "id": 8420, "implemented": true, "kind": "function", "modifiers": [], "name": "replaySafeHash", - "nameLocation": "4215:14:16", + "nameLocation": "4215:14:29", "nodeType": "FunctionDefinition", "parameters": { - "id": 6797, + "id": 8411, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6796, + "id": 8410, "mutability": "mutable", "name": "hash", - "nameLocation": "4238:4:16", + "nameLocation": "4238:4:29", "nodeType": "VariableDeclaration", - "scope": 6806, - "src": "4230:12:16", + "scope": 8420, + "src": "4230:12:29", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -212800,10 +231855,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6795, + "id": 8409, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "4230:7:16", + "src": "4230:7:29", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -212812,21 +231867,21 @@ "visibility": "internal" } ], - "src": "4229:14:16" + "src": "4229:14:29" }, "returnParameters": { - "id": 6800, + "id": 8414, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6799, + "id": 8413, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 6806, - "src": "4273:7:16", + "scope": 8420, + "src": "4273:7:29", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -212834,10 +231889,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6798, + "id": 8412, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "4273:7:16", + "src": "4273:7:29", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -212846,35 +231901,35 @@ "visibility": "internal" } ], - "src": "4272:9:16" + "src": "4272:9:29" }, - "scope": 6904, - "src": "4206:117:16", + "scope": 8518, + "src": "4206:117:29", "stateMutability": "view", "virtual": true, "visibility": "public" }, { "body": { - "id": 6846, + "id": 8460, "nodeType": "Block", - "src": "4698:418:16", + "src": "4698:418:29", "statements": [ { "assignments": [ - 6813, - 6815 + 8427, + 8429 ], "declarations": [ { "constant": false, - "id": 6813, + "id": 8427, "mutability": "mutable", "name": "name", - "nameLocation": "4723:4:16", + "nameLocation": "4723:4:29", "nodeType": "VariableDeclaration", - "scope": 6846, - "src": "4709:18:16", + "scope": 8460, + "src": "4709:18:29", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -212882,10 +231937,10 @@ "typeString": "string" }, "typeName": { - "id": 6812, + "id": 8426, "name": "string", "nodeType": "ElementaryTypeName", - "src": "4709:6:16", + "src": "4709:6:29", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -212895,13 +231950,13 @@ }, { "constant": false, - "id": 6815, + "id": 8429, "mutability": "mutable", "name": "version", - "nameLocation": "4743:7:16", + "nameLocation": "4743:7:29", "nodeType": "VariableDeclaration", - "scope": 6846, - "src": "4729:21:16", + "scope": 8460, + "src": "4729:21:29", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -212909,10 +231964,10 @@ "typeString": "string" }, "typeName": { - "id": 6814, + "id": 8428, "name": "string", "nodeType": "ElementaryTypeName", - "src": "4729:6:16", + "src": "4729:6:29", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -212921,23 +231976,23 @@ "visibility": "internal" } ], - "id": 6818, + "id": 8432, "initialValue": { "arguments": [], "expression": { "argumentTypes": [], - "id": 6816, + "id": 8430, "name": "_domainNameAndVersion", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6893, - "src": "4754:21:16", + "referencedDeclaration": 8507, + "src": "4754:21:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_string_memory_ptr_$_t_string_memory_ptr_$", "typeString": "function () view returns (string memory,string memory)" } }, - "id": 6817, + "id": 8431, "isConstant": false, "isLValue": false, "isPure": false, @@ -212946,7 +232001,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4754:23:16", + "src": "4754:23:29", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_string_memory_ptr_$_t_string_memory_ptr_$", @@ -212954,7 +232009,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "4708:69:16" + "src": "4708:69:29" }, { "expression": { @@ -212965,14 +232020,14 @@ "arguments": [ { "hexValue": "454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429", - "id": 6823, + "id": 8437, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4855:84:16", + "src": "4855:84:29", "typeDescriptions": { "typeIdentifier": "t_stringliteral_8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f", "typeString": "literal_string \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\"" @@ -212987,18 +232042,18 @@ "typeString": "literal_string \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\"" } ], - "id": 6822, + "id": 8436, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "4845:9:16", + "src": "4845:9:29", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 6824, + "id": 8438, "isConstant": false, "isLValue": false, "isPure": true, @@ -213007,7 +232062,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4845:95:16", + "src": "4845:95:29", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -213019,12 +232074,12 @@ { "arguments": [ { - "id": 6828, + "id": 8442, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6813, - "src": "4974:4:16", + "referencedDeclaration": 8427, + "src": "4974:4:29", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -213038,26 +232093,26 @@ "typeString": "string memory" } ], - "id": 6827, + "id": 8441, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4968:5:16", + "src": "4968:5:29", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 6826, + "id": 8440, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "4968:5:16", + "src": "4968:5:29", "typeDescriptions": {} } }, - "id": 6829, + "id": 8443, "isConstant": false, "isLValue": false, "isPure": false, @@ -213066,7 +232121,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4968:11:16", + "src": "4968:11:29", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -213081,18 +232136,18 @@ "typeString": "bytes memory" } ], - "id": 6825, + "id": 8439, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "4958:9:16", + "src": "4958:9:29", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 6830, + "id": 8444, "isConstant": false, "isLValue": false, "isPure": false, @@ -213101,7 +232156,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4958:22:16", + "src": "4958:22:29", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -213113,12 +232168,12 @@ { "arguments": [ { - "id": 6834, + "id": 8448, "name": "version", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6815, - "src": "5014:7:16", + "referencedDeclaration": 8429, + "src": "5014:7:29", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -213132,26 +232187,26 @@ "typeString": "string memory" } ], - "id": 6833, + "id": 8447, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "5008:5:16", + "src": "5008:5:29", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 6832, + "id": 8446, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "5008:5:16", + "src": "5008:5:29", "typeDescriptions": {} } }, - "id": 6835, + "id": 8449, "isConstant": false, "isLValue": false, "isPure": false, @@ -213160,7 +232215,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5008:14:16", + "src": "5008:14:29", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -213175,18 +232230,18 @@ "typeString": "bytes memory" } ], - "id": 6831, + "id": 8445, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "4998:9:16", + "src": "4998:9:29", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 6836, + "id": 8450, "isConstant": false, "isLValue": false, "isPure": false, @@ -213195,7 +232250,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4998:25:16", + "src": "4998:25:29", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -213204,26 +232259,26 @@ }, { "expression": { - "id": 6837, + "id": 8451, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -4, - "src": "5041:5:16", + "src": "5041:5:29", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 6838, + "id": 8452, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "5047:7:16", + "memberLocation": "5047:7:29", "memberName": "chainid", "nodeType": "MemberAccess", - "src": "5041:13:16", + "src": "5041:13:29", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -213232,14 +232287,14 @@ { "arguments": [ { - "id": 6841, + "id": 8455, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, - "src": "5080:4:16", + "src": "5080:4:29", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1271_$6904", + "typeIdentifier": "t_contract$_ERC1271_$8518", "typeString": "contract ERC1271" } } @@ -213247,30 +232302,30 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_ERC1271_$6904", + "typeIdentifier": "t_contract$_ERC1271_$8518", "typeString": "contract ERC1271" } ], - "id": 6840, + "id": 8454, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "5072:7:16", + "src": "5072:7:29", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 6839, + "id": 8453, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5072:7:16", + "src": "5072:7:29", "typeDescriptions": {} } }, - "id": 6842, + "id": 8456, "isConstant": false, "isLValue": false, "isPure": false, @@ -213279,7 +232334,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5072:13:16", + "src": "5072:13:29", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -213311,32 +232366,32 @@ } ], "expression": { - "id": 6820, + "id": 8434, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "4817:3:16", + "src": "4817:3:29", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 6821, + "id": 8435, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "4821:6:16", + "memberLocation": "4821:6:29", "memberName": "encode", "nodeType": "MemberAccess", - "src": "4817:10:16", + "src": "4817:10:29", "typeDescriptions": { "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 6843, + "id": 8457, "isConstant": false, "isLValue": false, "isPure": false, @@ -213345,7 +232400,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4817:282:16", + "src": "4817:282:29", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -213360,18 +232415,18 @@ "typeString": "bytes memory" } ], - "id": 6819, + "id": 8433, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "4794:9:16", + "src": "4794:9:29", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 6844, + "id": 8458, "isConstant": false, "isLValue": false, "isPure": false, @@ -213380,53 +232435,53 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4794:315:16", + "src": "4794:315:29", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 6811, - "id": 6845, + "functionReturnParameters": 8425, + "id": 8459, "nodeType": "Return", - "src": "4787:322:16" + "src": "4787:322:29" } ] }, "documentation": { - "id": 6807, + "id": 8421, "nodeType": "StructuredDocumentation", - "src": "4329:307:16", + "src": "4329:307:29", "text": "@notice Returns the `domainSeparator` used to create EIP-712 compliant hashes.\n @dev Implements domainSeparator = hashStruct(eip712Domain).\n See https://eips.ethereum.org/EIPS/eip-712#definition-of-domainseparator.\n @return The 32 bytes domain separator result." }, "functionSelector": "f698da25", - "id": 6847, + "id": 8461, "implemented": true, "kind": "function", "modifiers": [], "name": "domainSeparator", - "nameLocation": "4650:15:16", + "nameLocation": "4650:15:29", "nodeType": "FunctionDefinition", "parameters": { - "id": 6808, + "id": 8422, "nodeType": "ParameterList", "parameters": [], - "src": "4665:2:16" + "src": "4665:2:29" }, "returnParameters": { - "id": 6811, + "id": 8425, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6810, + "id": 8424, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 6847, - "src": "4689:7:16", + "scope": 8461, + "src": "4689:7:29", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -213434,10 +232489,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6809, + "id": 8423, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "4689:7:16", + "src": "4689:7:29", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -213446,19 +232501,19 @@ "visibility": "internal" } ], - "src": "4688:9:16" + "src": "4688:9:29" }, - "scope": 6904, - "src": "4641:475:16", + "scope": 8518, + "src": "4641:475:29", "stateMutability": "view", "virtual": false, "visibility": "public" }, { "body": { - "id": 6867, + "id": 8481, "nodeType": "Block", - "src": "5665:101:16", + "src": "5665:101:29", "statements": [ { "expression": { @@ -213467,14 +232522,14 @@ "arguments": [ { "hexValue": "1901", - "id": 6858, + "id": 8472, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5709:10:16", + "src": "5709:10:29", "typeDescriptions": { "typeIdentifier": "t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", "typeString": "literal_string hex\"1901\"" @@ -213485,18 +232540,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 6859, + "id": 8473, "name": "domainSeparator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6847, - "src": "5721:15:16", + "referencedDeclaration": 8461, + "src": "5721:15:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_bytes32_$", "typeString": "function () view returns (bytes32)" } }, - "id": 6860, + "id": 8474, "isConstant": false, "isLValue": false, "isPure": false, @@ -213505,7 +232560,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5721:17:16", + "src": "5721:17:29", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -213515,12 +232570,12 @@ { "arguments": [ { - "id": 6862, + "id": 8476, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6850, - "src": "5752:4:16", + "referencedDeclaration": 8464, + "src": "5752:4:29", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -213534,18 +232589,18 @@ "typeString": "bytes32" } ], - "id": 6861, + "id": 8475, "name": "_hashStruct", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6885, - "src": "5740:11:16", + "referencedDeclaration": 8499, + "src": "5740:11:29", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", "typeString": "function (bytes32) view returns (bytes32)" } }, - "id": 6863, + "id": 8477, "isConstant": false, "isLValue": false, "isPure": false, @@ -213554,7 +232609,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5740:17:16", + "src": "5740:17:29", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -213578,32 +232633,32 @@ } ], "expression": { - "id": 6856, + "id": 8470, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "5692:3:16", + "src": "5692:3:29", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 6857, + "id": 8471, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "5696:12:16", + "memberLocation": "5696:12:29", "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "5692:16:16", + "src": "5692:16:29", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 6864, + "id": 8478, "isConstant": false, "isLValue": false, "isPure": false, @@ -213612,7 +232667,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5692:66:16", + "src": "5692:66:29", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -213627,18 +232682,18 @@ "typeString": "bytes memory" } ], - "id": 6855, + "id": 8469, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "5682:9:16", + "src": "5682:9:29", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 6865, + "id": 8479, "isConstant": false, "isLValue": false, "isPure": false, @@ -213647,46 +232702,46 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5682:77:16", + "src": "5682:77:29", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 6854, - "id": 6866, + "functionReturnParameters": 8468, + "id": 8480, "nodeType": "Return", - "src": "5675:84:16" + "src": "5675:84:29" } ] }, "documentation": { - "id": 6848, + "id": 8462, "nodeType": "StructuredDocumentation", - "src": "5546:39:16", + "src": "5546:39:29", "text": "@return The resulting EIP-712 hash." }, - "id": 6868, + "id": 8482, "implemented": true, "kind": "function", "modifiers": [], "name": "_eip712Hash", - "nameLocation": "5599:11:16", + "nameLocation": "5599:11:29", "nodeType": "FunctionDefinition", "parameters": { - "id": 6851, + "id": 8465, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6850, + "id": 8464, "mutability": "mutable", "name": "hash", - "nameLocation": "5619:4:16", + "nameLocation": "5619:4:29", "nodeType": "VariableDeclaration", - "scope": 6868, - "src": "5611:12:16", + "scope": 8482, + "src": "5611:12:29", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -213694,10 +232749,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6849, + "id": 8463, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "5611:7:16", + "src": "5611:7:29", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -213706,21 +232761,21 @@ "visibility": "internal" } ], - "src": "5610:14:16" + "src": "5610:14:29" }, "returnParameters": { - "id": 6854, + "id": 8468, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6853, + "id": 8467, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 6868, - "src": "5656:7:16", + "scope": 8482, + "src": "5656:7:29", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -213728,10 +232783,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6852, + "id": 8466, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "5656:7:16", + "src": "5656:7:29", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -213740,19 +232795,19 @@ "visibility": "internal" } ], - "src": "5655:9:16" + "src": "5655:9:29" }, - "scope": 6904, - "src": "5590:176:16", + "scope": 8518, + "src": "5590:176:29", "stateMutability": "view", "virtual": true, "visibility": "internal" }, { "body": { - "id": 6884, + "id": 8498, "nodeType": "Block", - "src": "6284:70:16", + "src": "6284:70:29", "statements": [ { "expression": { @@ -213760,24 +232815,24 @@ { "arguments": [ { - "id": 6879, + "id": 8493, "name": "_MESSAGE_TYPEHASH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6719, - "src": "6322:17:16", + "referencedDeclaration": 8333, + "src": "6322:17:29", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 6880, + "id": 8494, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6871, - "src": "6341:4:16", + "referencedDeclaration": 8485, + "src": "6341:4:29", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -213796,32 +232851,32 @@ } ], "expression": { - "id": 6877, + "id": 8491, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "6311:3:16", + "src": "6311:3:29", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 6878, + "id": 8492, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "6315:6:16", + "memberLocation": "6315:6:29", "memberName": "encode", "nodeType": "MemberAccess", - "src": "6311:10:16", + "src": "6311:10:29", "typeDescriptions": { "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 6881, + "id": 8495, "isConstant": false, "isLValue": false, "isPure": false, @@ -213830,7 +232885,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "6311:35:16", + "src": "6311:35:29", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -213845,18 +232900,18 @@ "typeString": "bytes memory" } ], - "id": 6876, + "id": 8490, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "6301:9:16", + "src": "6301:9:29", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 6882, + "id": 8496, "isConstant": false, "isLValue": false, "isPure": false, @@ -213865,46 +232920,46 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "6301:46:16", + "src": "6301:46:29", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 6875, - "id": 6883, + "functionReturnParameters": 8489, + "id": 8497, "nodeType": "Return", - "src": "6294:53:16" + "src": "6294:53:29" } ] }, "documentation": { - "id": 6869, + "id": 8483, "nodeType": "StructuredDocumentation", - "src": "5772:432:16", + "src": "5772:432:29", "text": "@notice Returns the EIP-712 `hashStruct` result of the `GianoSmartWalletMessage(bytes32 hash)` data\n structure.\n @dev Implements hashStruct(s : 𝕊) = keccak256(typeHash || encodeData(s)).\n @dev See https://eips.ethereum.org/EIPS/eip-712#definition-of-hashstruct.\n @param hash The `GianoSmartWalletMessage.hash` field.\n @return The EIP-712 `hashStruct` result." }, - "id": 6885, + "id": 8499, "implemented": true, "kind": "function", "modifiers": [], "name": "_hashStruct", - "nameLocation": "6218:11:16", + "nameLocation": "6218:11:29", "nodeType": "FunctionDefinition", "parameters": { - "id": 6872, + "id": 8486, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6871, + "id": 8485, "mutability": "mutable", "name": "hash", - "nameLocation": "6238:4:16", + "nameLocation": "6238:4:29", "nodeType": "VariableDeclaration", - "scope": 6885, - "src": "6230:12:16", + "scope": 8499, + "src": "6230:12:29", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -213912,10 +232967,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6870, + "id": 8484, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "6230:7:16", + "src": "6230:7:29", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -213924,21 +232979,21 @@ "visibility": "internal" } ], - "src": "6229:14:16" + "src": "6229:14:29" }, "returnParameters": { - "id": 6875, + "id": 8489, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6874, + "id": 8488, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 6885, - "src": "6275:7:16", + "scope": 8499, + "src": "6275:7:29", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -213946,10 +233001,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6873, + "id": 8487, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "6275:7:16", + "src": "6275:7:29", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -213958,47 +233013,47 @@ "visibility": "internal" } ], - "src": "6274:9:16" + "src": "6274:9:29" }, - "scope": 6904, - "src": "6209:145:16", + "scope": 8518, + "src": "6209:145:29", "stateMutability": "view", "virtual": true, "visibility": "internal" }, { "documentation": { - "id": 6886, + "id": 8500, "nodeType": "StructuredDocumentation", - "src": "6360:295:16", + "src": "6360:295:29", "text": "@notice Returns the domain name and version to use when creating EIP-712 signatures.\n @dev MUST be defined by the implementation.\n @return name The user readable name of signing domain.\n @return version The current major version of the signing domain." }, - "id": 6893, + "id": 8507, "implemented": false, "kind": "function", "modifiers": [], "name": "_domainNameAndVersion", - "nameLocation": "6669:21:16", + "nameLocation": "6669:21:29", "nodeType": "FunctionDefinition", "parameters": { - "id": 6887, + "id": 8501, "nodeType": "ParameterList", "parameters": [], - "src": "6690:2:16" + "src": "6690:2:29" }, "returnParameters": { - "id": 6892, + "id": 8506, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6889, + "id": 8503, "mutability": "mutable", "name": "name", - "nameLocation": "6738:4:16", + "nameLocation": "6738:4:29", "nodeType": "VariableDeclaration", - "scope": 6893, - "src": "6724:18:16", + "scope": 8507, + "src": "6724:18:29", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -214006,10 +233061,10 @@ "typeString": "string" }, "typeName": { - "id": 6888, + "id": 8502, "name": "string", "nodeType": "ElementaryTypeName", - "src": "6724:6:16", + "src": "6724:6:29", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -214019,13 +233074,13 @@ }, { "constant": false, - "id": 6891, + "id": 8505, "mutability": "mutable", "name": "version", - "nameLocation": "6758:7:16", + "nameLocation": "6758:7:29", "nodeType": "VariableDeclaration", - "scope": 6893, - "src": "6744:21:16", + "scope": 8507, + "src": "6744:21:29", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -214033,10 +233088,10 @@ "typeString": "string" }, "typeName": { - "id": 6890, + "id": 8504, "name": "string", "nodeType": "ElementaryTypeName", - "src": "6744:6:16", + "src": "6744:6:29", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -214045,41 +233100,41 @@ "visibility": "internal" } ], - "src": "6723:43:16" + "src": "6723:43:29" }, - "scope": 6904, - "src": "6660:107:16", + "scope": 8518, + "src": "6660:107:29", "stateMutability": "view", "virtual": true, "visibility": "internal" }, { "documentation": { - "id": 6894, + "id": 8508, "nodeType": "StructuredDocumentation", - "src": "6773:339:16", + "src": "6773:339:29", "text": "@notice Validates the `signature` against the given `hash`.\n @dev MUST be defined by the implementation.\n @param hash The hash whose signature has been performed on.\n @param signature The signature associated with `hash`.\n @return `true` is the signature is valid, else `false`." }, - "id": 6903, + "id": 8517, "implemented": false, "kind": "function", "modifiers": [], "name": "_isValidSignature", - "nameLocation": "7126:17:16", + "nameLocation": "7126:17:29", "nodeType": "FunctionDefinition", "parameters": { - "id": 6899, + "id": 8513, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6896, + "id": 8510, "mutability": "mutable", "name": "hash", - "nameLocation": "7152:4:16", + "nameLocation": "7152:4:29", "nodeType": "VariableDeclaration", - "scope": 6903, - "src": "7144:12:16", + "scope": 8517, + "src": "7144:12:29", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -214087,10 +233142,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6895, + "id": 8509, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7144:7:16", + "src": "7144:7:29", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -214100,13 +233155,13 @@ }, { "constant": false, - "id": 6898, + "id": 8512, "mutability": "mutable", "name": "signature", - "nameLocation": "7173:9:16", + "nameLocation": "7173:9:29", "nodeType": "VariableDeclaration", - "scope": 6903, - "src": "7158:24:16", + "scope": 8517, + "src": "7158:24:29", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -214114,10 +233169,10 @@ "typeString": "bytes" }, "typeName": { - "id": 6897, + "id": 8511, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "7158:5:16", + "src": "7158:5:29", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -214126,21 +233181,21 @@ "visibility": "internal" } ], - "src": "7143:40:16" + "src": "7143:40:29" }, "returnParameters": { - "id": 6902, + "id": 8516, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6901, + "id": 8515, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 6903, - "src": "7215:4:16", + "scope": 8517, + "src": "7215:4:29", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -214148,10 +233203,10 @@ "typeString": "bool" }, "typeName": { - "id": 6900, + "id": 8514, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "7215:4:16", + "src": "7215:4:29", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -214160,95 +233215,95 @@ "visibility": "internal" } ], - "src": "7214:6:16" + "src": "7214:6:29" }, - "scope": 6904, - "src": "7117:104:16", + "scope": 8518, + "src": "7117:104:29", "stateMutability": "view", "virtual": true, "visibility": "internal" } ], - "scope": 6905, - "src": "908:6315:16", + "scope": 8519, + "src": "908:6315:29", "usedErrors": [], "usedEvents": [] } ], - "src": "32:7192:16" + "src": "32:7192:29" }, - "id": 16 + "id": 29 }, "src/GianoSmartWallet.sol": { "ast": { "absolutePath": "src/GianoSmartWallet.sol", "exportedSymbols": { "AuthenticatedStaticCaller": [ - 6513 + 8127 ], "ERC1271": [ - 6904 + 8518 ], "GianoSmartWallet": [ - 7506 + 9190 ], "IAccount": [ - 541 + 823 ], "MultiOwnable": [ - 8181 + 9893 ], "PackedUserOperation": [ - 563 + 1223 ], "Receiver": [ - 2448 + 4054 ], "SignatureCheckerLib": [ - 6354 + 7960 ], "UUPSUpgradeable": [ - 6411 + 8017 ], "UserOperationLib": [ - 524 + 806 ], "WebAuthn": [ - 8558 + 10439 ] }, - "id": 7507, + "id": 9191, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 6906, + "id": 8520, "literals": [ "solidity", "0.8", ".28" ], "nodeType": "PragmaDirective", - "src": "32:23:17" + "src": "32:23:30" }, { "absolutePath": "@account-abstraction/contracts/interfaces/IAccount.sol", "file": "@account-abstraction/contracts/interfaces/IAccount.sol", - "id": 6908, + "id": 8522, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 7507, - "sourceUnit": 542, - "src": "57:80:17", + "scope": 9191, + "sourceUnit": 824, + "src": "57:80:30", "symbolAliases": [ { "foreign": { - "id": 6907, + "id": 8521, "name": "IAccount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 541, - "src": "65:8:17", + "referencedDeclaration": 823, + "src": "65:8:30", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -214259,21 +233314,21 @@ { "absolutePath": "@account-abstraction/contracts/interfaces/PackedUserOperation.sol", "file": "@account-abstraction/contracts/interfaces/PackedUserOperation.sol", - "id": 6910, + "id": 8524, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 7507, - "sourceUnit": 564, - "src": "139:102:17", + "scope": 9191, + "sourceUnit": 1224, + "src": "139:102:30", "symbolAliases": [ { "foreign": { - "id": 6909, + "id": 8523, "name": "PackedUserOperation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 563, - "src": "147:19:17", + "referencedDeclaration": 1223, + "src": "147:19:30", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -214284,21 +233339,21 @@ { "absolutePath": "@account-abstraction/contracts/core/UserOperationLib.sol", "file": "@account-abstraction/contracts/core/UserOperationLib.sol", - "id": 6912, + "id": 8526, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 7507, - "sourceUnit": 525, - "src": "242:90:17", + "scope": 9191, + "sourceUnit": 807, + "src": "242:90:30", "symbolAliases": [ { "foreign": { - "id": 6911, + "id": 8525, "name": "UserOperationLib", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 524, - "src": "250:16:17", + "referencedDeclaration": 806, + "src": "250:16:30", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -214309,21 +233364,21 @@ { "absolutePath": "solady/accounts/Receiver.sol", "file": "solady/accounts/Receiver.sol", - "id": 6914, + "id": 8528, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 7507, - "sourceUnit": 2449, - "src": "333:54:17", + "scope": 9191, + "sourceUnit": 4055, + "src": "333:54:30", "symbolAliases": [ { "foreign": { - "id": 6913, + "id": 8527, "name": "Receiver", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2448, - "src": "341:8:17", + "referencedDeclaration": 4054, + "src": "341:8:30", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -214334,21 +233389,21 @@ { "absolutePath": "solady/utils/SignatureCheckerLib.sol", "file": "solady/utils/SignatureCheckerLib.sol", - "id": 6916, + "id": 8530, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 7507, - "sourceUnit": 6355, - "src": "388:73:17", + "scope": 9191, + "sourceUnit": 7961, + "src": "388:73:30", "symbolAliases": [ { "foreign": { - "id": 6915, + "id": 8529, "name": "SignatureCheckerLib", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6354, - "src": "396:19:17", + "referencedDeclaration": 7960, + "src": "396:19:30", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -214359,21 +233414,21 @@ { "absolutePath": "solady/utils/UUPSUpgradeable.sol", "file": "solady/utils/UUPSUpgradeable.sol", - "id": 6918, + "id": 8532, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 7507, - "sourceUnit": 6412, - "src": "462:65:17", + "scope": 9191, + "sourceUnit": 8018, + "src": "462:65:30", "symbolAliases": [ { "foreign": { - "id": 6917, + "id": 8531, "name": "UUPSUpgradeable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "470:15:17", + "referencedDeclaration": 8017, + "src": "470:15:30", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -214384,21 +233439,21 @@ { "absolutePath": "webauthn-sol/WebAuthn.sol", "file": "webauthn-sol/WebAuthn.sol", - "id": 6920, + "id": 8534, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 7507, - "sourceUnit": 8559, - "src": "528:51:17", + "scope": 9191, + "sourceUnit": 10440, + "src": "528:51:30", "symbolAliases": [ { "foreign": { - "id": 6919, + "id": 8533, "name": "WebAuthn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8558, - "src": "536:8:17", + "referencedDeclaration": 10439, + "src": "536:8:30", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -214409,21 +233464,21 @@ { "absolutePath": "src/AuthenticatedStaticCaller.sol", "file": "./AuthenticatedStaticCaller.sol", - "id": 6922, + "id": 8536, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 7507, - "sourceUnit": 6514, - "src": "580:74:17", + "scope": 9191, + "sourceUnit": 8128, + "src": "580:74:30", "symbolAliases": [ { "foreign": { - "id": 6921, + "id": 8535, "name": "AuthenticatedStaticCaller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6513, - "src": "588:25:17", + "referencedDeclaration": 8127, + "src": "588:25:30", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -214434,21 +233489,21 @@ { "absolutePath": "src/ERC1271.sol", "file": "./ERC1271.sol", - "id": 6924, + "id": 8538, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 7507, - "sourceUnit": 6905, - "src": "656:38:17", + "scope": 9191, + "sourceUnit": 8519, + "src": "656:38:30", "symbolAliases": [ { "foreign": { - "id": 6923, + "id": 8537, "name": "ERC1271", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6904, - "src": "664:7:17", + "referencedDeclaration": 8518, + "src": "664:7:30", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -214459,21 +233514,21 @@ { "absolutePath": "src/MultiOwnable.sol", "file": "./MultiOwnable.sol", - "id": 6926, + "id": 8540, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 7507, - "sourceUnit": 8182, - "src": "695:48:17", + "scope": 9191, + "sourceUnit": 9894, + "src": "695:48:30", "symbolAliases": [ { "foreign": { - "id": 6925, + "id": 8539, "name": "MultiOwnable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8181, - "src": "703:12:17", + "referencedDeclaration": 9893, + "src": "703:12:30", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -214486,169 +233541,169 @@ "baseContracts": [ { "baseName": { - "id": 6928, + "id": 8542, "name": "ERC1271", "nameLocations": [ - "1224:7:17" + "1224:7:30" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 6904, - "src": "1224:7:17" + "referencedDeclaration": 8518, + "src": "1224:7:30" }, - "id": 6929, + "id": 8543, "nodeType": "InheritanceSpecifier", - "src": "1224:7:17" + "src": "1224:7:30" }, { "baseName": { - "id": 6930, + "id": 8544, "name": "IAccount", "nameLocations": [ - "1233:8:17" + "1233:8:30" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 541, - "src": "1233:8:17" + "referencedDeclaration": 823, + "src": "1233:8:30" }, - "id": 6931, + "id": 8545, "nodeType": "InheritanceSpecifier", - "src": "1233:8:17" + "src": "1233:8:30" }, { "baseName": { - "id": 6932, + "id": 8546, "name": "MultiOwnable", "nameLocations": [ - "1243:12:17" + "1243:12:30" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 8181, - "src": "1243:12:17" + "referencedDeclaration": 9893, + "src": "1243:12:30" }, - "id": 6933, + "id": 8547, "nodeType": "InheritanceSpecifier", - "src": "1243:12:17" + "src": "1243:12:30" }, { "baseName": { - "id": 6934, + "id": 8548, "name": "UUPSUpgradeable", "nameLocations": [ - "1257:15:17" + "1257:15:30" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 6411, - "src": "1257:15:17" + "referencedDeclaration": 8017, + "src": "1257:15:30" }, - "id": 6935, + "id": 8549, "nodeType": "InheritanceSpecifier", - "src": "1257:15:17" + "src": "1257:15:30" }, { "baseName": { - "id": 6936, + "id": 8550, "name": "Receiver", "nameLocations": [ - "1274:8:17" + "1274:8:30" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 2448, - "src": "1274:8:17" + "referencedDeclaration": 4054, + "src": "1274:8:30" }, - "id": 6937, + "id": 8551, "nodeType": "InheritanceSpecifier", - "src": "1274:8:17" + "src": "1274:8:30" }, { "baseName": { - "id": 6938, + "id": 8552, "name": "AuthenticatedStaticCaller", "nameLocations": [ - "1284:25:17" + "1284:25:30" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 6513, - "src": "1284:25:17" + "referencedDeclaration": 8127, + "src": "1284:25:30" }, - "id": 6939, + "id": 8553, "nodeType": "InheritanceSpecifier", - "src": "1284:25:17" + "src": "1284:25:30" } ], "canonicalName": "GianoSmartWallet", "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 6927, + "id": 8541, "nodeType": "StructuredDocumentation", - "src": "745:450:17", + "src": "745:450:30", "text": "@title Giano Smart Wallet\n @notice ERC-4337-compatible smart account, based on Solady's ERC4337 account implementation\n with inspiration from Alchemy's LightAccount and Daimo's DaimoAccount.\n @author Applied Blockchain (https://github.com/appliedblockchain/giano)\n @author Coinbase (https://github.com/coinbase/smart-wallet)\n @author Solady (https://github.com/vectorized/solady/blob/main/src/accounts/ERC4337.sol)" }, "fullyImplemented": true, - "id": 7506, + "id": 9190, "internalFunctionIDs": { - "6410": 1 + "8016": 1 }, "linearizedBaseContracts": [ - 7506, - 6513, - 2448, - 6411, - 2572, - 8181, - 541, - 6904 + 9190, + 8127, + 4054, + 8017, + 4178, + 9893, + 823, + 8518 ], "name": "GianoSmartWallet", - "nameLocation": "1204:16:17", + "nameLocation": "1204:16:30", "nodeType": "ContractDefinition", "nodes": [ { "canonicalName": "GianoSmartWallet.SignatureWrapper", "documentation": { - "id": 6940, + "id": 8554, "nodeType": "StructuredDocumentation", - "src": "1316:126:17", + "src": "1316:126:30", "text": "@notice A wrapper struct used for signature validation so that callers\n can identify the owner that signed." }, - "id": 6947, + "id": 8561, "members": [ { "constant": false, - "id": 6943, + "id": 8557, "mutability": "mutable", - "name": "ownerIndex", - "nameLocation": "1574:10:17", + "name": "ownerBytes", + "nameLocation": "1599:10:30", "nodeType": "VariableDeclaration", - "scope": 6947, - "src": "1566:18:17", + "scope": 8561, + "src": "1593:16:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" }, "typeName": { - "id": 6942, - "name": "uint256", + "id": 8556, + "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1566:7:17", + "src": "1593:5:30", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" } }, "visibility": "internal" }, { "constant": false, - "id": 6946, + "id": 8560, "mutability": "mutable", "name": "signatureData", - "nameLocation": "1823:13:17", + "nameLocation": "1818:13:30", "nodeType": "VariableDeclaration", - "scope": 6947, - "src": "1817:19:17", + "scope": 8561, + "src": "1812:19:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -214656,10 +233711,10 @@ "typeString": "bytes" }, "typeName": { - "id": 6945, + "id": 8559, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1817:5:17", + "src": "1812:5:30", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -214669,31 +233724,31 @@ } ], "name": "SignatureWrapper", - "nameLocation": "1454:16:17", + "nameLocation": "1454:16:30", "nodeType": "StructDefinition", - "scope": 7506, - "src": "1447:396:17", + "scope": 9190, + "src": "1447:391:30", "visibility": "public" }, { "canonicalName": "GianoSmartWallet.Call", "documentation": { - "id": 6948, + "id": 8562, "nodeType": "StructuredDocumentation", - "src": "1849:38:17", + "src": "1844:38:30", "text": "@notice Represents a call to make." }, - "id": 6958, + "id": 8572, "members": [ { "constant": false, - "id": 6951, + "id": 8565, "mutability": "mutable", "name": "target", - "nameLocation": "1960:6:17", + "nameLocation": "1955:6:30", "nodeType": "VariableDeclaration", - "scope": 6958, - "src": "1952:14:17", + "scope": 8572, + "src": "1947:14:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -214701,10 +233756,10 @@ "typeString": "address" }, "typeName": { - "id": 6950, + "id": 8564, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1952:7:17", + "src": "1947:7:30", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -214715,13 +233770,13 @@ }, { "constant": false, - "id": 6954, + "id": 8568, "mutability": "mutable", "name": "value", - "nameLocation": "2041:5:17", + "nameLocation": "2036:5:30", "nodeType": "VariableDeclaration", - "scope": 6958, - "src": "2033:13:17", + "scope": 8572, + "src": "2028:13:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -214729,10 +233784,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6953, + "id": 8567, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2033:7:17", + "src": "2028:7:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -214742,13 +233797,13 @@ }, { "constant": false, - "id": 6957, + "id": 8571, "mutability": "mutable", "name": "data", - "nameLocation": "2101:4:17", + "nameLocation": "2096:4:30", "nodeType": "VariableDeclaration", - "scope": 6958, - "src": "2095:10:17", + "scope": 8572, + "src": "2090:10:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -214756,10 +233811,10 @@ "typeString": "bytes" }, "typeName": { - "id": 6956, + "id": 8570, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "2095:5:17", + "src": "2090:5:30", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -214769,28 +233824,28 @@ } ], "name": "Call", - "nameLocation": "1899:4:17", + "nameLocation": "1894:4:30", "nodeType": "StructDefinition", - "scope": 7506, - "src": "1892:220:17", + "scope": 9190, + "src": "1887:220:30", "visibility": "public" }, { "constant": true, "documentation": { - "id": 6959, + "id": 8573, "nodeType": "StructuredDocumentation", - "src": "2118:495:17", + "src": "2113:495:30", "text": "@notice Reserved nonce key (upper 192 bits of `UserOperation.nonce`) for cross-chain replayable\n transactions.\n @dev MUST BE the `UserOperation.nonce` key when `UserOperation.calldata` is calling\n `executeWithoutChainIdValidation`and MUST NOT BE `UserOperation.nonce` key when `UserOperation.calldata` is\n NOT calling `executeWithoutChainIdValidation`.\n @dev Helps enforce sequential sequencing of replayable transactions." }, "functionSelector": "88ce4c7c", - "id": 6962, + "id": 8576, "mutability": "constant", "name": "REPLAYABLE_NONCE_KEY", - "nameLocation": "2642:20:17", + "nameLocation": "2637:20:30", "nodeType": "VariableDeclaration", - "scope": 7506, - "src": "2618:51:17", + "scope": 9190, + "src": "2613:51:30", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -214798,10 +233853,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6960, + "id": 8574, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2618:7:17", + "src": "2613:7:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -214809,14 +233864,14 @@ }, "value": { "hexValue": "38343533", - "id": 6961, + "id": 8575, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2665:4:17", + "src": "2660:4:30", "typeDescriptions": { "typeIdentifier": "t_rational_8453_by_1", "typeString": "int_const 8453" @@ -214827,49 +233882,49 @@ }, { "documentation": { - "id": 6963, + "id": 8577, "nodeType": "StructuredDocumentation", - "src": "2676:98:17", + "src": "2671:98:30", "text": "@notice Thrown when `initialize` is called but the account already has had at least one owner." }, "errorSelector": "5daa87a0", - "id": 6965, + "id": 8579, "name": "Initialized", - "nameLocation": "2785:11:17", + "nameLocation": "2780:11:30", "nodeType": "ErrorDefinition", "parameters": { - "id": 6964, + "id": 8578, "nodeType": "ParameterList", "parameters": [], - "src": "2796:2:17" + "src": "2791:2:30" }, - "src": "2779:20:17" + "src": "2774:20:30" }, { "documentation": { - "id": 6966, + "id": 8580, "nodeType": "StructuredDocumentation", - "src": "2805:201:17", + "src": "2800:201:30", "text": "@notice Thrown when a call is passed to `executeWithoutChainIdValidation` that is not allowed by\n `canSkipChainIdValidation`\n @param selector The selector of the call." }, "errorSelector": "3b06e146", - "id": 6970, + "id": 8584, "name": "SelectorNotAllowed", - "nameLocation": "3017:18:17", + "nameLocation": "3012:18:30", "nodeType": "ErrorDefinition", "parameters": { - "id": 6969, + "id": 8583, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6968, + "id": 8582, "mutability": "mutable", "name": "selector", - "nameLocation": "3043:8:17", + "nameLocation": "3038:8:30", "nodeType": "VariableDeclaration", - "scope": 6970, - "src": "3036:15:17", + "scope": 8584, + "src": "3031:15:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -214877,10 +233932,10 @@ "typeString": "bytes4" }, "typeName": { - "id": 6967, + "id": 8581, "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "3036:6:17", + "src": "3031:6:30", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -214889,35 +233944,35 @@ "visibility": "internal" } ], - "src": "3035:17:17" + "src": "3030:17:30" }, - "src": "3011:42:17" + "src": "3006:42:30" }, { "documentation": { - "id": 6971, + "id": 8585, "nodeType": "StructuredDocumentation", - "src": "3059:374:17", + "src": "3054:374:30", "text": "@notice Thrown in validateUserOp if the key of `UserOperation.nonce` does not match the calldata.\n @dev Calls to `this.executeWithoutChainIdValidation` MUST use `REPLAYABLE_NONCE_KEY` and\n calls NOT to `this.executeWithoutChainIdValidation` MUST NOT use `REPLAYABLE_NONCE_KEY`.\n @param key The invalid `UserOperation.nonce` key." }, "errorSelector": "2ef37813", - "id": 6975, + "id": 8589, "name": "InvalidNonceKey", - "nameLocation": "3444:15:17", + "nameLocation": "3439:15:30", "nodeType": "ErrorDefinition", "parameters": { - "id": 6974, + "id": 8588, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6973, + "id": 8587, "mutability": "mutable", "name": "key", - "nameLocation": "3468:3:17", + "nameLocation": "3463:3:30", "nodeType": "VariableDeclaration", - "scope": 6975, - "src": "3460:11:17", + "scope": 8589, + "src": "3455:11:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -214925,10 +233980,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6972, + "id": 8586, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3460:7:17", + "src": "3455:7:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -214937,15 +233992,64 @@ "visibility": "internal" } ], - "src": "3459:13:17" + "src": "3454:13:30" + }, + "src": "3433:35:30" + }, + { + "documentation": { + "id": 8590, + "nodeType": "StructuredDocumentation", + "src": "3474:179:30", + "text": "@notice Thrown when an upgrade is attempted to an implementation that does not exist.\n @param implementation The address of the implementation that has no code." + }, + "errorSelector": "0c760937", + "id": 8594, + "name": "InvalidImplementation", + "nameLocation": "3664:21:30", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 8593, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8592, + "mutability": "mutable", + "name": "implementation", + "nameLocation": "3694:14:30", + "nodeType": "VariableDeclaration", + "scope": 8594, + "src": "3686:22:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8591, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3686:7:30", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3685:24:30" }, - "src": "3438:35:17" + "src": "3658:52:30" }, { "body": { - "id": 6989, + "id": 8608, "nodeType": "Block", - "src": "3574:106:17", + "src": "3811:106:30", "statements": [ { "condition": { @@ -214953,33 +234057,33 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 6982, + "id": 8601, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 6978, + "id": 8597, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "3588:3:17", + "src": "3825:3:30", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 6979, + "id": 8598, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "3592:6:17", + "memberLocation": "3829:6:30", "memberName": "sender", "nodeType": "MemberAccess", - "src": "3588:10:17", + "src": "3825:10:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -214991,18 +234095,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 6980, + "id": 8599, "name": "entryPoint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7258, - "src": "3602:10:17", + "referencedDeclaration": 8940, + "src": "3839:10:30", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 6981, + "id": 8600, "isConstant": false, "isLValue": false, "isPure": false, @@ -215011,44 +234115,44 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3602:12:17", + "src": "3839:12:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "3588:26:17", + "src": "3825:26:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 6987, + "id": 8606, "nodeType": "IfStatement", - "src": "3584:78:17", + "src": "3821:78:30", "trueBody": { - "id": 6986, + "id": 8605, "nodeType": "Block", - "src": "3616:46:17", + "src": "3853:46:30", "statements": [ { "errorCall": { "arguments": [], "expression": { "argumentTypes": [], - "id": 6983, + "id": 8602, "name": "Unauthorized", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7673, - "src": "3637:12:17", + "referencedDeclaration": 9385, + "src": "3874:12:30", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$__$returns$_t_error_$", "typeString": "function () pure returns (error)" } }, - "id": 6984, + "id": 8603, "isConstant": false, "isLValue": false, "isPure": false, @@ -215057,52 +234161,52 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3637:14:17", + "src": "3874:14:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_error", "typeString": "error" } }, - "id": 6985, + "id": 8604, "nodeType": "RevertStatement", - "src": "3630:21:17" + "src": "3867:21:30" } ] } }, { - "id": 6988, + "id": 8607, "nodeType": "PlaceholderStatement", - "src": "3672:1:17" + "src": "3909:1:30" } ] }, "documentation": { - "id": 6976, + "id": 8595, "nodeType": "StructuredDocumentation", - "src": "3479:56:17", + "src": "3716:56:30", "text": "@notice Reverts if the caller is not the EntryPoint." }, - "id": 6990, + "id": 8609, "name": "onlyEntryPoint", - "nameLocation": "3549:14:17", + "nameLocation": "3786:14:30", "nodeType": "ModifierDefinition", "parameters": { - "id": 6977, + "id": 8596, "nodeType": "ParameterList", "parameters": [], - "src": "3563:2:17" + "src": "3800:2:30" }, - "src": "3540:140:17", + "src": "3777:140:30", "virtual": true, "visibility": "internal" }, { "body": { - "id": 7004, + "id": 8623, "nodeType": "Block", - "src": "3827:98:17", + "src": "4064:98:30", "statements": [ { "condition": { @@ -215110,33 +234214,33 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 6997, + "id": 8616, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 6993, + "id": 8612, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "3841:3:17", + "src": "4078:3:30", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 6994, + "id": 8613, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "3845:6:17", + "memberLocation": "4082:6:30", "memberName": "sender", "nodeType": "MemberAccess", - "src": "3841:10:17", + "src": "4078:10:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -215148,18 +234252,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 6995, + "id": 8614, "name": "entryPoint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7258, - "src": "3855:10:17", + "referencedDeclaration": 8940, + "src": "4092:10:30", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 6996, + "id": 8615, "isConstant": false, "isLValue": false, "isPure": false, @@ -215168,44 +234272,44 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3855:12:17", + "src": "4092:12:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "3841:26:17", + "src": "4078:26:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 7002, + "id": 8621, "nodeType": "IfStatement", - "src": "3837:70:17", + "src": "4074:70:30", "trueBody": { - "id": 7001, + "id": 8620, "nodeType": "Block", - "src": "3869:38:17", + "src": "4106:38:30", "statements": [ { "expression": { "arguments": [], "expression": { "argumentTypes": [], - "id": 6998, + "id": 8617, "name": "_checkOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8171, - "src": "3883:11:17", + "referencedDeclaration": 9883, + "src": "4120:11:30", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$__$", "typeString": "function () view" } }, - "id": 6999, + "id": 8618, "isConstant": false, "isLValue": false, "isPure": false, @@ -215214,69 +234318,69 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3883:13:17", + "src": "4120:13:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7000, + "id": 8619, "nodeType": "ExpressionStatement", - "src": "3883:13:17" + "src": "4120:13:30" } ] } }, { - "id": 7003, + "id": 8622, "nodeType": "PlaceholderStatement", - "src": "3917:1:17" + "src": "4154:1:30" } ] }, "documentation": { - "id": 6991, + "id": 8610, "nodeType": "StructuredDocumentation", - "src": "3686:95:17", + "src": "3923:95:30", "text": "@notice Reverts if the caller is neither the EntryPoint, the owner, nor the account itself." }, - "id": 7005, + "id": 8624, "name": "onlyEntryPointOrOwner", - "nameLocation": "3795:21:17", + "nameLocation": "4032:21:30", "nodeType": "ModifierDefinition", "parameters": { - "id": 6992, + "id": 8611, "nodeType": "ParameterList", "parameters": [], - "src": "3816:2:17" + "src": "4053:2:30" }, - "src": "3786:139:17", + "src": "4023:139:30", "virtual": true, "visibility": "internal" }, { "body": { - "id": 7012, + "id": 8631, "nodeType": "Block", - "src": "4586:303:17", + "src": "4823:303:30", "statements": [ { - "id": 7010, + "id": 8629, "nodeType": "PlaceholderStatement", - "src": "4596:1:17" + "src": "4833:1:30" }, { "AST": { - "nativeSrc": "4633:250:17", + "nativeSrc": "4870:250:30", "nodeType": "YulBlock", - "src": "4633:250:17", + "src": "4870:250:30", "statements": [ { "body": { - "nativeSrc": "4670:203:17", + "nativeSrc": "4907:203:30", "nodeType": "YulBlock", - "src": "4670:203:17", + "src": "4907:203:30", "statements": [ { "expression": { @@ -215287,49 +234391,49 @@ "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "4785:3:17", + "nativeSrc": "5022:3:30", "nodeType": "YulIdentifier", - "src": "4785:3:17" + "src": "5022:3:30" }, - "nativeSrc": "4785:5:17", + "nativeSrc": "5022:5:30", "nodeType": "YulFunctionCall", - "src": "4785:5:17" + "src": "5022:5:30" }, { "arguments": [], "functionName": { "name": "caller", - "nativeSrc": "4792:6:17", + "nativeSrc": "5029:6:30", "nodeType": "YulIdentifier", - "src": "4792:6:17" + "src": "5029:6:30" }, - "nativeSrc": "4792:8:17", + "nativeSrc": "5029:8:30", "nodeType": "YulFunctionCall", - "src": "4792:8:17" + "src": "5029:8:30" }, { "name": "missingAccountFunds", - "nativeSrc": "4802:19:17", + "nativeSrc": "5039:19:30", "nodeType": "YulIdentifier", - "src": "4802:19:17" + "src": "5039:19:30" }, { "arguments": [], "functionName": { "name": "codesize", - "nativeSrc": "4823:8:17", + "nativeSrc": "5060:8:30", "nodeType": "YulIdentifier", - "src": "4823:8:17" + "src": "5060:8:30" }, - "nativeSrc": "4823:10:17", + "nativeSrc": "5060:10:30", "nodeType": "YulFunctionCall", - "src": "4823:10:17" + "src": "5060:10:30" }, { "kind": "number", - "nativeSrc": "4835:4:17", + "nativeSrc": "5072:4:30", "nodeType": "YulLiteral", - "src": "4835:4:17", + "src": "5072:4:30", "type": "", "value": "0x00" }, @@ -215337,111 +234441,111 @@ "arguments": [], "functionName": { "name": "codesize", - "nativeSrc": "4841:8:17", + "nativeSrc": "5078:8:30", "nodeType": "YulIdentifier", - "src": "4841:8:17" + "src": "5078:8:30" }, - "nativeSrc": "4841:10:17", + "nativeSrc": "5078:10:30", "nodeType": "YulFunctionCall", - "src": "4841:10:17" + "src": "5078:10:30" }, { "kind": "number", - "nativeSrc": "4853:4:17", + "nativeSrc": "5090:4:30", "nodeType": "YulLiteral", - "src": "4853:4:17", + "src": "5090:4:30", "type": "", "value": "0x00" } ], "functionName": { "name": "call", - "nativeSrc": "4780:4:17", + "nativeSrc": "5017:4:30", "nodeType": "YulIdentifier", - "src": "4780:4:17" + "src": "5017:4:30" }, - "nativeSrc": "4780:78:17", + "nativeSrc": "5017:78:30", "nodeType": "YulFunctionCall", - "src": "4780:78:17" + "src": "5017:78:30" } ], "functionName": { "name": "pop", - "nativeSrc": "4776:3:17", + "nativeSrc": "5013:3:30", "nodeType": "YulIdentifier", - "src": "4776:3:17" + "src": "5013:3:30" }, - "nativeSrc": "4776:83:17", + "nativeSrc": "5013:83:30", "nodeType": "YulFunctionCall", - "src": "4776:83:17" + "src": "5013:83:30" }, - "nativeSrc": "4776:83:17", + "nativeSrc": "5013:83:30", "nodeType": "YulExpressionStatement", - "src": "4776:83:17" + "src": "5013:83:30" } ] }, "condition": { "name": "missingAccountFunds", - "nativeSrc": "4650:19:17", + "nativeSrc": "4887:19:30", "nodeType": "YulIdentifier", - "src": "4650:19:17" + "src": "4887:19:30" }, - "nativeSrc": "4647:226:17", + "nativeSrc": "4884:226:30", "nodeType": "YulIf", - "src": "4647:226:17" + "src": "4884:226:30" } ] }, "evmVersion": "paris", "externalReferences": [ { - "declaration": 7008, + "declaration": 8627, "isOffset": false, "isSlot": false, - "src": "4650:19:17", + "src": "4887:19:30", "valueSize": 1 }, { - "declaration": 7008, + "declaration": 8627, "isOffset": false, "isSlot": false, - "src": "4802:19:17", + "src": "5039:19:30", "valueSize": 1 } ], "flags": [ "memory-safe" ], - "id": 7011, + "id": 8630, "nodeType": "InlineAssembly", - "src": "4608:275:17" + "src": "4845:275:30" } ] }, "documentation": { - "id": 7006, + "id": 8625, "nodeType": "StructuredDocumentation", - "src": "3931:593:17", + "src": "4168:593:30", "text": "@notice Sends to the EntryPoint (i.e. `msg.sender`) the missing funds for this transaction.\n @dev Subclass MAY override this modifier for better funds management (e.g. send to the\n EntryPoint more than the minimum required, so that in future transactions it will not\n be required to send again).\n @param missingAccountFunds The minimum value this modifier should send the EntryPoint which\n MAY be zero, in case there is enough deposit, or the userOp has a\n paymaster." }, - "id": 7013, + "id": 8632, "name": "payPrefund", - "nameLocation": "4538:10:17", + "nameLocation": "4775:10:30", "nodeType": "ModifierDefinition", "parameters": { - "id": 7009, + "id": 8628, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7008, + "id": 8627, "mutability": "mutable", "name": "missingAccountFunds", - "nameLocation": "4557:19:17", + "nameLocation": "4794:19:30", "nodeType": "VariableDeclaration", - "scope": 7013, - "src": "4549:27:17", + "scope": 8632, + "src": "4786:27:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -215449,10 +234553,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7007, + "id": 8626, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4549:7:17", + "src": "4786:7:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -215461,32 +234565,32 @@ "visibility": "internal" } ], - "src": "4548:29:17" + "src": "4785:29:30" }, - "src": "4529:360:17", + "src": "4766:360:30", "virtual": true, "visibility": "internal" }, { "body": { - "id": 7043, + "id": 8662, "nodeType": "Block", - "src": "4909:243:17", + "src": "5146:243:30", "statements": [ { "assignments": [ - 7020 + 8639 ], "declarations": [ { "constant": false, - "id": 7020, + "id": 8639, "mutability": "mutable", "name": "owners", - "nameLocation": "5043:6:17", + "nameLocation": "5280:6:30", "nodeType": "VariableDeclaration", - "scope": 7043, - "src": "5028:21:17", + "scope": 8662, + "src": "5265:21:30", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -215495,18 +234599,18 @@ }, "typeName": { "baseType": { - "id": 7018, + "id": 8637, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "5028:5:17", + "src": "5265:5:30", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, - "id": 7019, + "id": 8638, "nodeType": "ArrayTypeName", - "src": "5028:7:17", + "src": "5265:7:30", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", "typeString": "bytes[]" @@ -215515,19 +234619,19 @@ "visibility": "internal" } ], - "id": 7026, + "id": 8645, "initialValue": { "arguments": [ { "hexValue": "31", - "id": 7024, + "id": 8643, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5064:1:17", + "src": "5301:1:30", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -215542,38 +234646,38 @@ "typeString": "int_const 1" } ], - "id": 7023, + "id": 8642, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", - "src": "5052:11:17", + "src": "5289:11:30", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$", "typeString": "function (uint256) pure returns (bytes memory[] memory)" }, "typeName": { "baseType": { - "id": 7021, + "id": 8640, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "5056:5:17", + "src": "5293:5:30", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, - "id": 7022, + "id": 8641, "nodeType": "ArrayTypeName", - "src": "5056:7:17", + "src": "5293:7:30", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", "typeString": "bytes[]" } } }, - "id": 7025, + "id": 8644, "isConstant": false, "isLValue": false, "isPure": true, @@ -215582,7 +234686,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5052:14:17", + "src": "5289:14:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", @@ -215590,39 +234694,39 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "5028:38:17" + "src": "5265:38:30" }, { "expression": { - "id": 7037, + "id": 8656, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 7027, + "id": 8646, "name": "owners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7020, - "src": "5076:6:17", + "referencedDeclaration": 8639, + "src": "5313:6:30", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", "typeString": "bytes memory[] memory" } }, - "id": 7029, + "id": 8648, "indexExpression": { "hexValue": "30", - "id": 7028, + "id": 8647, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5083:1:17", + "src": "5320:1:30", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -215634,7 +234738,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "5076:9:17", + "src": "5313:9:30", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -215648,14 +234752,14 @@ "arguments": [ { "hexValue": "30", - "id": 7034, + "id": 8653, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5107:1:17", + "src": "5344:1:30", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -215670,26 +234774,26 @@ "typeString": "int_const 0" } ], - "id": 7033, + "id": 8652, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "5099:7:17", + "src": "5336:7:30", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 7032, + "id": 8651, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5099:7:17", + "src": "5336:7:30", "typeDescriptions": {} } }, - "id": 7035, + "id": 8654, "isConstant": false, "isLValue": false, "isPure": true, @@ -215698,7 +234802,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5099:10:17", + "src": "5336:10:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -215714,32 +234818,32 @@ } ], "expression": { - "id": 7030, + "id": 8649, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "5088:3:17", + "src": "5325:3:30", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 7031, + "id": 8650, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "5092:6:17", + "memberLocation": "5329:6:30", "memberName": "encode", "nodeType": "MemberAccess", - "src": "5088:10:17", + "src": "5325:10:30", "typeDescriptions": { "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 7036, + "id": 8655, "isConstant": false, "isLValue": false, "isPure": true, @@ -215748,33 +234852,33 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5088:22:17", + "src": "5325:22:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "src": "5076:34:17", + "src": "5313:34:30", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 7038, + "id": 8657, "nodeType": "ExpressionStatement", - "src": "5076:34:17" + "src": "5313:34:30" }, { "expression": { "arguments": [ { - "id": 7040, + "id": 8659, "name": "owners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7020, - "src": "5138:6:17", + "referencedDeclaration": 8639, + "src": "5375:6:30", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", "typeString": "bytes memory[] memory" @@ -215788,18 +234892,18 @@ "typeString": "bytes memory[] memory" } ], - "id": 7039, + "id": 8658, "name": "_initializeOwners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8036, - "src": "5120:17:17", + "referencedDeclaration": 9748, + "src": "5357:17:30", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$returns$__$", "typeString": "function (bytes memory[] memory)" } }, - "id": 7041, + "id": 8660, "isConstant": false, "isLValue": false, "isPure": false, @@ -215808,20 +234912,20 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5120:25:17", + "src": "5357:25:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7042, + "id": 8661, "nodeType": "ExpressionStatement", - "src": "5120:25:17" + "src": "5357:25:30" } ] }, - "id": 7044, + "id": 8663, "implemented": true, "kind": "constructor", "modifiers": [], @@ -215829,28 +234933,28 @@ "nameLocation": "-1:-1:-1", "nodeType": "FunctionDefinition", "parameters": { - "id": 7014, + "id": 8633, "nodeType": "ParameterList", "parameters": [], - "src": "4906:2:17" + "src": "5143:2:30" }, "returnParameters": { - "id": 7015, + "id": 8634, "nodeType": "ParameterList", "parameters": [], - "src": "4909:0:17" + "src": "5146:0:30" }, - "scope": 7506, - "src": "4895:257:17", + "scope": 9190, + "src": "5132:257:30", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { - "id": 7064, + "id": 8683, "nodeType": "Block", - "src": "5619:124:17", + "src": "5856:124:30", "statements": [ { "condition": { @@ -215858,7 +234962,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7054, + "id": 8673, "isConstant": false, "isLValue": false, "isPure": false, @@ -215867,18 +234971,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 7051, + "id": 8670, "name": "nextOwnerIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7910, - "src": "5633:14:17", + "referencedDeclaration": 9622, + "src": "5870:14:30", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", "typeString": "function () view returns (uint256)" } }, - "id": 7052, + "id": 8671, "isConstant": false, "isLValue": false, "isPure": false, @@ -215887,7 +234991,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5633:16:17", + "src": "5870:16:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -215898,51 +235002,51 @@ "operator": "!=", "rightExpression": { "hexValue": "30", - "id": 7053, + "id": 8672, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5653:1:17", + "src": "5890:1:30", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "5633:21:17", + "src": "5870:21:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 7059, + "id": 8678, "nodeType": "IfStatement", - "src": "5629:72:17", + "src": "5866:72:30", "trueBody": { - "id": 7058, + "id": 8677, "nodeType": "Block", - "src": "5656:45:17", + "src": "5893:45:30", "statements": [ { "errorCall": { "arguments": [], "expression": { "argumentTypes": [], - "id": 7055, + "id": 8674, "name": "Initialized", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6965, - "src": "5677:11:17", + "referencedDeclaration": 8579, + "src": "5914:11:30", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$__$returns$_t_error_$", "typeString": "function () pure returns (error)" } }, - "id": 7056, + "id": 8675, "isConstant": false, "isLValue": false, "isPure": false, @@ -215951,16 +235055,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5677:13:17", + "src": "5914:13:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_error", "typeString": "error" } }, - "id": 7057, + "id": 8676, "nodeType": "RevertStatement", - "src": "5670:20:17" + "src": "5907:20:30" } ] } @@ -215969,12 +235073,12 @@ "expression": { "arguments": [ { - "id": 7061, + "id": 8680, "name": "owners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7048, - "src": "5729:6:17", + "referencedDeclaration": 8667, + "src": "5966:6:30", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", "typeString": "bytes calldata[] calldata" @@ -215988,18 +235092,18 @@ "typeString": "bytes calldata[] calldata" } ], - "id": 7060, + "id": 8679, "name": "_initializeOwners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8036, - "src": "5711:17:17", + "referencedDeclaration": 9748, + "src": "5948:17:30", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$returns$__$", "typeString": "function (bytes memory[] memory)" } }, - "id": 7062, + "id": 8681, "isConstant": false, "isLValue": false, "isPure": false, @@ -216008,46 +235112,46 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5711:25:17", + "src": "5948:25:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7063, + "id": 8682, "nodeType": "ExpressionStatement", - "src": "5711:25:17" + "src": "5948:25:30" } ] }, "documentation": { - "id": 7045, + "id": 8664, "nodeType": "StructuredDocumentation", - "src": "5158:386:17", + "src": "5395:386:30", "text": "@notice Initializes the account with the `owners`.\n @dev Reverts if the account has had at least one owner, i.e. has been initialized.\n @param owners Array of initial owners for this account. Each item should be\n an ABI encoded Ethereum address, i.e. 32 bytes with 12 leading 0 bytes,\n or a 64 byte public key." }, "functionSelector": "6f2de70e", - "id": 7065, + "id": 8684, "implemented": true, "kind": "function", "modifiers": [], "name": "initialize", - "nameLocation": "5558:10:17", + "nameLocation": "5795:10:30", "nodeType": "FunctionDefinition", "parameters": { - "id": 7049, + "id": 8668, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7048, + "id": 8667, "mutability": "mutable", "name": "owners", - "nameLocation": "5586:6:17", + "nameLocation": "5823:6:30", "nodeType": "VariableDeclaration", - "scope": 7065, - "src": "5569:23:17", + "scope": 8684, + "src": "5806:23:30", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -216056,18 +235160,18 @@ }, "typeName": { "baseType": { - "id": 7046, + "id": 8665, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "5569:5:17", + "src": "5806:5:30", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, - "id": 7047, + "id": 8666, "nodeType": "ArrayTypeName", - "src": "5569:7:17", + "src": "5806:7:30", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", "typeString": "bytes[]" @@ -216076,43 +235180,43 @@ "visibility": "internal" } ], - "src": "5568:25:17" + "src": "5805:25:30" }, "returnParameters": { - "id": 7050, + "id": 8669, "nodeType": "ParameterList", "parameters": [], - "src": "5619:0:17" + "src": "5856:0:30" }, - "scope": 7506, - "src": "5549:194:17", + "scope": 9190, + "src": "5786:194:30", "stateMutability": "payable", "virtual": true, "visibility": "external" }, { "baseFunctions": [ - 540 + 822 ], "body": { - "id": 7137, + "id": 8819, "nodeType": "Block", - "src": "7285:643:17", + "src": "7522:1461:30", "statements": [ { "assignments": [ - 7084 + 8703 ], "declarations": [ { "constant": false, - "id": 7084, + "id": 8703, "mutability": "mutable", "name": "key", - "nameLocation": "7303:3:17", + "nameLocation": "7540:3:30", "nodeType": "VariableDeclaration", - "scope": 7137, - "src": "7295:11:17", + "scope": 8819, + "src": "7532:11:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -216120,10 +235224,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7083, + "id": 8702, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7295:7:17", + "src": "7532:7:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -216132,40 +235236,40 @@ "visibility": "internal" } ], - "id": 7089, + "id": 8708, "initialValue": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7088, + "id": 8707, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 7085, + "id": 8704, "name": "userOp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7069, - "src": "7309:6:17", + "referencedDeclaration": 8688, + "src": "7546:6:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_calldata_ptr", "typeString": "struct PackedUserOperation calldata" } }, - "id": 7086, + "id": 8705, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "7316:5:17", + "memberLocation": "7553:5:30", "memberName": "nonce", "nodeType": "MemberAccess", - "referencedDeclaration": 548, - "src": "7309:12:17", + "referencedDeclaration": 1208, + "src": "7546:12:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -216175,28 +235279,28 @@ "operator": ">>", "rightExpression": { "hexValue": "3634", - "id": 7087, + "id": 8706, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7325:2:17", + "src": "7562:2:30", "typeDescriptions": { "typeIdentifier": "t_rational_64_by_1", "typeString": "int_const 64" }, "value": "64" }, - "src": "7309:18:17", + "src": "7546:18:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "7295:32:17" + "src": "7532:32:30" }, { "condition": { @@ -216204,7 +235308,7 @@ "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, - "id": 7098, + "id": 8717, "isConstant": false, "isLValue": false, "isPure": false, @@ -216213,27 +235317,27 @@ "arguments": [ { "expression": { - "id": 7092, + "id": 8711, "name": "userOp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7069, - "src": "7349:6:17", + "referencedDeclaration": 8688, + "src": "7586:6:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_calldata_ptr", "typeString": "struct PackedUserOperation calldata" } }, - "id": 7093, + "id": 8712, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "7356:8:17", + "memberLocation": "7593:8:30", "memberName": "callData", "nodeType": "MemberAccess", - "referencedDeclaration": 552, - "src": "7349:15:17", + "referencedDeclaration": 1212, + "src": "7586:15:30", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -216247,26 +235351,26 @@ "typeString": "bytes calldata" } ], - "id": 7091, + "id": 8710, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7342:6:17", + "src": "7579:6:30", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes4_$", "typeString": "type(bytes4)" }, "typeName": { - "id": 7090, + "id": 8709, "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "7342:6:17", + "src": "7579:6:30", "typeDescriptions": {} } }, - "id": 7094, + "id": 8713, "isConstant": false, "isLValue": false, "isPure": false, @@ -216275,7 +235379,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7342:23:17", + "src": "7579:23:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes4", @@ -216287,56 +235391,56 @@ "rightExpression": { "expression": { "expression": { - "id": 7095, + "id": 8714, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, - "src": "7369:4:17", + "src": "7606:4:30", "typeDescriptions": { - "typeIdentifier": "t_contract$_GianoSmartWallet_$7506", + "typeIdentifier": "t_contract$_GianoSmartWallet_$9190", "typeString": "contract GianoSmartWallet" } }, - "id": 7096, + "id": 8715, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "7374:31:17", + "memberLocation": "7611:31:30", "memberName": "executeWithoutChainIdValidation", "nodeType": "MemberAccess", - "referencedDeclaration": 7192, - "src": "7369:36:17", + "referencedDeclaration": 8874, + "src": "7606:36:30", "typeDescriptions": { "typeIdentifier": "t_function_external_payable$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$returns$__$", "typeString": "function (bytes memory[] memory) payable external" } }, - "id": 7097, + "id": 8716, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "7406:8:17", + "memberLocation": "7643:8:30", "memberName": "selector", "nodeType": "MemberAccess", - "src": "7369:45:17", + "src": "7606:45:30", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, - "src": "7342:72:17", + "src": "7579:72:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 7124, + "id": 8806, "nodeType": "Block", - "src": "7601:117:17", + "src": "8656:117:30", "statements": [ { "condition": { @@ -216344,18 +235448,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7117, + "id": 8799, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 7115, + "id": 8797, "name": "key", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7084, - "src": "7619:3:17", + "referencedDeclaration": 8703, + "src": "8674:3:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -216364,41 +235468,41 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 7116, + "id": 8798, "name": "REPLAYABLE_NONCE_KEY", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6962, - "src": "7626:20:17", + "referencedDeclaration": 8576, + "src": "8681:20:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7619:27:17", + "src": "8674:27:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 7123, + "id": 8805, "nodeType": "IfStatement", - "src": "7615:93:17", + "src": "8670:93:30", "trueBody": { - "id": 7122, + "id": 8804, "nodeType": "Block", - "src": "7648:60:17", + "src": "8703:60:30", "statements": [ { "errorCall": { "arguments": [ { - "id": 7119, + "id": 8801, "name": "key", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7084, - "src": "7689:3:17", + "referencedDeclaration": 8703, + "src": "8744:3:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -216412,18 +235516,18 @@ "typeString": "uint256" } ], - "id": 7118, + "id": 8800, "name": "InvalidNonceKey", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6975, - "src": "7673:15:17", + "referencedDeclaration": 8589, + "src": "8728:15:30", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_uint256_$returns$_t_error_$", "typeString": "function (uint256) pure returns (error)" } }, - "id": 7120, + "id": 8802, "isConstant": false, "isLValue": false, "isPure": false, @@ -216432,44 +235536,44 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7673:20:17", + "src": "8728:20:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_error", "typeString": "error" } }, - "id": 7121, + "id": 8803, "nodeType": "RevertStatement", - "src": "7666:27:17" + "src": "8721:27:30" } ] } } ] }, - "id": 7125, + "id": 8807, "nodeType": "IfStatement", - "src": "7338:380:17", + "src": "7575:1198:30", "trueBody": { - "id": 7114, + "id": 8796, "nodeType": "Block", - "src": "7416:179:17", + "src": "7653:997:30", "statements": [ { "expression": { - "id": 7103, + "id": 8722, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 7099, + "id": 8718, "name": "userOpHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7071, - "src": "7430:10:17", + "referencedDeclaration": 8690, + "src": "7667:10:30", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -216480,14 +235584,14 @@ "rightHandSide": { "arguments": [ { - "id": 7101, + "id": 8720, "name": "userOp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7069, - "src": "7471:6:17", + "referencedDeclaration": 8688, + "src": "7708:6:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_calldata_ptr", "typeString": "struct PackedUserOperation calldata" } } @@ -216495,22 +235599,22 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_calldata_ptr", "typeString": "struct PackedUserOperation calldata" } ], - "id": 7100, + "id": 8719, "name": "getUserOpHashWithoutChainId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7284, - "src": "7443:27:17", + "referencedDeclaration": 8962, + "src": "7680:27:30", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_PackedUserOperation_$563_calldata_ptr_$returns$_t_bytes32_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_PackedUserOperation_$1223_calldata_ptr_$returns$_t_bytes32_$", "typeString": "function (struct PackedUserOperation calldata) view returns (bytes32)" } }, - "id": 7102, + "id": 8721, "isConstant": false, "isLValue": false, "isPure": false, @@ -216519,22 +235623,22 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7443:35:17", + "src": "7680:35:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "7430:48:17", + "src": "7667:48:30", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 7104, + "id": 8723, "nodeType": "ExpressionStatement", - "src": "7430:48:17" + "src": "7667:48:30" }, { "condition": { @@ -216542,18 +235646,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7107, + "id": 8726, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 7105, + "id": 8724, "name": "key", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7084, - "src": "7496:3:17", + "referencedDeclaration": 8703, + "src": "7733:3:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -216562,41 +235666,41 @@ "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { - "id": 7106, + "id": 8725, "name": "REPLAYABLE_NONCE_KEY", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6962, - "src": "7503:20:17", + "referencedDeclaration": 8576, + "src": "7740:20:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7496:27:17", + "src": "7733:27:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 7113, + "id": 8732, "nodeType": "IfStatement", - "src": "7492:93:17", + "src": "7729:93:30", "trueBody": { - "id": 7112, + "id": 8731, "nodeType": "Block", - "src": "7525:60:17", + "src": "7762:60:30", "statements": [ { "errorCall": { "arguments": [ { - "id": 7109, + "id": 8728, "name": "key", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7084, - "src": "7566:3:17", + "referencedDeclaration": 8703, + "src": "7803:3:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -216610,18 +235714,18 @@ "typeString": "uint256" } ], - "id": 7108, + "id": 8727, "name": "InvalidNonceKey", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6975, - "src": "7550:15:17", + "referencedDeclaration": 8589, + "src": "7787:15:30", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_uint256_$returns$_t_error_$", "typeString": "function (uint256) pure returns (error)" } }, - "id": 7110, + "id": 8729, "isConstant": false, "isLValue": false, "isPure": false, @@ -216630,19 +235734,874 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7550:20:17", + "src": "7787:20:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_error", "typeString": "error" } }, - "id": 7111, + "id": 8730, "nodeType": "RevertStatement", - "src": "7543:27:17" + "src": "7780:27:30" } ] } + }, + { + "assignments": [ + 8737 + ], + "declarations": [ + { + "constant": false, + "id": 8737, + "mutability": "mutable", + "name": "calls", + "nameLocation": "7940:5:30", + "nodeType": "VariableDeclaration", + "scope": 8796, + "src": "7925:20:30", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes[]" + }, + "typeName": { + "baseType": { + "id": 8735, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7925:5:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "id": 8736, + "nodeType": "ArrayTypeName", + "src": "7925:7:30", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", + "typeString": "bytes[]" + } + }, + "visibility": "internal" + } + ], + "id": 8749, + "initialValue": { + "arguments": [ + { + "baseExpression": { + "expression": { + "id": 8740, + "name": "userOp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8688, + "src": "7959:6:30", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_calldata_ptr", + "typeString": "struct PackedUserOperation calldata" + } + }, + "id": 8741, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7966:8:30", + "memberName": "callData", + "nodeType": "MemberAccess", + "referencedDeclaration": 1212, + "src": "7959:15:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 8743, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexRangeAccess", + "src": "7959:19:30", + "startExpression": { + "hexValue": "34", + "id": 8742, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7975:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr_slice", + "typeString": "bytes calldata slice" + } + }, + { + "components": [ + { + "baseExpression": { + "id": 8745, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7981:5:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 8744, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7981:5:30", + "typeDescriptions": {} + } + }, + "id": 8746, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7981:7:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$", + "typeString": "type(bytes memory[] memory)" + } + } + ], + "id": 8747, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "7980:9:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$", + "typeString": "type(bytes memory[] memory)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr_slice", + "typeString": "bytes calldata slice" + }, + { + "typeIdentifier": "t_type$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$", + "typeString": "type(bytes memory[] memory)" + } + ], + "expression": { + "id": 8738, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "7948:3:30", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8739, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "7952:6:30", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "7948:10:30", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 8748, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7948:42:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7925:65:30" + }, + { + "body": { + "id": 8794, + "nodeType": "Block", + "src": "8043:597:30", + "statements": [ + { + "assignments": [ + 8761 + ], + "declarations": [ + { + "constant": false, + "id": 8761, + "mutability": "mutable", + "name": "callData", + "nameLocation": "8074:8:30", + "nodeType": "VariableDeclaration", + "scope": 8794, + "src": "8061:21:30", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 8760, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8061:5:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 8765, + "initialValue": { + "baseExpression": { + "id": 8762, + "name": "calls", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8737, + "src": "8085:5:30", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + } + }, + "id": 8764, + "indexExpression": { + "id": 8763, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8751, + "src": "8091:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8085:8:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8061:32:30" + }, + { + "assignments": [ + 8767 + ], + "declarations": [ + { + "constant": false, + "id": 8767, + "mutability": "mutable", + "name": "selector", + "nameLocation": "8118:8:30", + "nodeType": "VariableDeclaration", + "scope": 8794, + "src": "8111:15:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 8766, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "8111:6:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "id": 8772, + "initialValue": { + "arguments": [ + { + "id": 8770, + "name": "callData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8761, + "src": "8136:8:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8769, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8129:6:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes4_$", + "typeString": "type(bytes4)" + }, + "typeName": { + "id": 8768, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "8129:6:30", + "typeDescriptions": {} + } + }, + "id": 8771, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8129:16:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8111:34:30" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 8777, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8773, + "name": "selector", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8767, + "src": "8168:8:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "expression": { + "id": 8774, + "name": "UUPSUpgradeable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8017, + "src": "8180:15:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_UUPSUpgradeable_$8017_$", + "typeString": "type(contract UUPSUpgradeable)" + } + }, + "id": 8775, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8196:16:30", + "memberName": "upgradeToAndCall", + "nodeType": "MemberAccess", + "referencedDeclaration": 8016, + "src": "8180:32:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_calldata_ptr_$returns$__$", + "typeString": "function (address,bytes calldata)" + } + }, + "id": 8776, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "8213:8:30", + "memberName": "selector", + "nodeType": "MemberAccess", + "src": "8180:41:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "8168:53:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8793, + "nodeType": "IfStatement", + "src": "8164:462:30", + "trueBody": { + "id": 8792, + "nodeType": "Block", + "src": "8223:403:30", + "statements": [ + { + "assignments": [ + 8779 + ], + "declarations": [ + { + "constant": false, + "id": 8779, + "mutability": "mutable", + "name": "newImplementation", + "nameLocation": "8253:17:30", + "nodeType": "VariableDeclaration", + "scope": 8792, + "src": "8245:25:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8778, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8245:7:30", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 8780, + "nodeType": "VariableDeclarationStatement", + "src": "8245:25:30" + }, + { + "AST": { + "nativeSrc": "8301:198:30", + "nodeType": "YulBlock", + "src": "8301:198:30", + "statements": [ + { + "nativeSrc": "8432:45:30", + "nodeType": "YulAssignment", + "src": "8432:45:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "callData", + "nativeSrc": "8463:8:30", + "nodeType": "YulIdentifier", + "src": "8463:8:30" + }, + { + "kind": "number", + "nativeSrc": "8473:2:30", + "nodeType": "YulLiteral", + "src": "8473:2:30", + "type": "", + "value": "36" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8459:3:30", + "nodeType": "YulIdentifier", + "src": "8459:3:30" + }, + "nativeSrc": "8459:17:30", + "nodeType": "YulFunctionCall", + "src": "8459:17:30" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "8453:5:30", + "nodeType": "YulIdentifier", + "src": "8453:5:30" + }, + "nativeSrc": "8453:24:30", + "nodeType": "YulFunctionCall", + "src": "8453:24:30" + }, + "variableNames": [ + { + "name": "newImplementation", + "nativeSrc": "8432:17:30", + "nodeType": "YulIdentifier", + "src": "8432:17:30" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 8761, + "isOffset": false, + "isSlot": false, + "src": "8463:8:30", + "valueSize": 1 + }, + { + "declaration": 8779, + "isOffset": false, + "isSlot": false, + "src": "8432:17:30", + "valueSize": 1 + } + ], + "id": 8781, + "nodeType": "InlineAssembly", + "src": "8292:207:30" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8786, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 8782, + "name": "newImplementation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8779, + "src": "8524:17:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 8783, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8542:4:30", + "memberName": "code", + "nodeType": "MemberAccess", + "src": "8524:22:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 8784, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8547:6:30", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "8524:29:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 8785, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8557:1:30", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "8524:34:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8791, + "nodeType": "IfStatement", + "src": "8520:87:30", + "trueBody": { + "errorCall": { + "arguments": [ + { + "id": 8788, + "name": "newImplementation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8779, + "src": "8589:17:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 8787, + "name": "InvalidImplementation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8594, + "src": "8567:21:30", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$_t_error_$", + "typeString": "function (address) pure returns (error)" + } + }, + "id": 8789, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8567:40:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_error", + "typeString": "error" + } + }, + "id": 8790, + "nodeType": "RevertStatement", + "src": "8560:47:30" + } + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8756, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8753, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8751, + "src": "8020:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 8754, + "name": "calls", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8737, + "src": "8024:5:30", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + } + }, + "id": 8755, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8030:6:30", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "8024:12:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8020:16:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8795, + "initializationExpression": { + "assignments": [ + 8751 + ], + "declarations": [ + { + "constant": false, + "id": 8751, + "mutability": "mutable", + "name": "i", + "nameLocation": "8017:1:30", + "nodeType": "VariableDeclaration", + "scope": 8795, + "src": "8009:9:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8750, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8009:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 8752, + "nodeType": "VariableDeclarationStatement", + "src": "8009:9:30" + }, + "isSimpleCounterLoop": true, + "loopExpression": { + "expression": { + "id": 8758, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "8038:3:30", + "subExpression": { + "id": 8757, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8751, + "src": "8038:1:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8759, + "nodeType": "ExpressionStatement", + "src": "8038:3:30" + }, + "nodeType": "ForStatement", + "src": "8004:636:30" } ] } @@ -216651,12 +236610,12 @@ "condition": { "arguments": [ { - "id": 7127, + "id": 8809, "name": "userOpHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7071, - "src": "7814:10:17", + "referencedDeclaration": 8690, + "src": "8869:10:30", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -216664,27 +236623,27 @@ }, { "expression": { - "id": 7128, + "id": 8810, "name": "userOp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7069, - "src": "7826:6:17", + "referencedDeclaration": 8688, + "src": "8881:6:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_calldata_ptr", "typeString": "struct PackedUserOperation calldata" } }, - "id": 7129, + "id": 8811, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "7833:9:17", + "memberLocation": "8888:9:30", "memberName": "signature", "nodeType": "MemberAccess", - "referencedDeclaration": 562, - "src": "7826:16:17", + "referencedDeclaration": 1222, + "src": "8881:16:30", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -216702,20 +236661,20 @@ "typeString": "bytes calldata" } ], - "id": 7126, + "id": 8808, "name": "_isValidSignature", "nodeType": "Identifier", "overloadedDeclarations": [ - 7479 + 9163 ], - "referencedDeclaration": 7479, - "src": "7796:17:17", + "referencedDeclaration": 9163, + "src": "8851:17:30", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes_calldata_ptr_$returns$_t_bool_$", "typeString": "function (bytes32,bytes calldata) view returns (bool)" } }, - "id": 7130, + "id": 8812, "isConstant": false, "isLValue": false, "isPure": false, @@ -216724,42 +236683,42 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7796:47:17", + "src": "8851:47:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 7134, + "id": 8816, "nodeType": "IfStatement", - "src": "7792:86:17", + "src": "8847:86:30", "trueBody": { - "id": 7133, + "id": 8815, "nodeType": "Block", - "src": "7845:33:17", + "src": "8900:33:30", "statements": [ { "expression": { "hexValue": "30", - "id": 7131, + "id": 8813, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7866:1:17", + "src": "8921:1:30", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "functionReturnParameters": 7082, - "id": 7132, + "functionReturnParameters": 8701, + "id": 8814, "nodeType": "Return", - "src": "7859:8:17" + "src": "8914:8:30" } ] } @@ -216767,124 +236726,124 @@ { "expression": { "hexValue": "31", - "id": 7135, + "id": 8817, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7920:1:17", + "src": "8975:1:30", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "functionReturnParameters": 7082, - "id": 7136, + "functionReturnParameters": 8701, + "id": 8818, "nodeType": "Return", - "src": "7913:8:17" + "src": "8968:8:30" } ] }, "documentation": { - "id": 7066, + "id": 8685, "nodeType": "StructuredDocumentation", - "src": "5749:1294:17", + "src": "5986:1294:30", "text": "@inheritdoc IAccount\n @notice ERC-4337 `validateUserOp` method. The EntryPoint will\n call `UserOperation.sender.call(UserOperation.callData)` only if this validation call returns\n successfully.\n @dev Signature failure should be reported by returning 1 (see: `this._isValidSignature`). This\n allows making a \"simulation call\" without a valid signature. Other failures (e.g. invalid signature format)\n should still revert to signal failure.\n @dev Reverts if the `UserOperation.nonce` key is invalid for `UserOperation.calldata`.\n @dev Reverts if the signature format is incorrect or invalid for owner type.\n @param userOp The `UserOperation` to validate.\n @param userOpHash The `UserOperation` hash, as computed by `EntryPoint.getUserOpHash(UserOperation)`.\n @param missingAccountFunds The missing account funds that must be deposited on the Entrypoint.\n @return validationData The encoded `ValidationData` structure:\n `(uint256(validAfter) << (160 + 48)) | (uint256(validUntil) << 160) | (success ? 0 : 1)`\n where `validUntil` is 0 (indefinite) and `validAfter` is 0." }, "functionSelector": "19822f7c", - "id": 7138, + "id": 8820, "implemented": true, "kind": "function", "modifiers": [ { - "id": 7076, + "id": 8695, "kind": "modifierInvocation", "modifierName": { - "id": 7075, + "id": 8694, "name": "onlyEntryPoint", "nameLocations": [ - "7205:14:17" + "7442:14:30" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 6990, - "src": "7205:14:17" + "referencedDeclaration": 8609, + "src": "7442:14:30" }, "nodeType": "ModifierInvocation", - "src": "7205:14:17" + "src": "7442:14:30" }, { "arguments": [ { - "id": 7078, + "id": 8697, "name": "missingAccountFunds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7073, - "src": "7231:19:17", + "referencedDeclaration": 8692, + "src": "7468:19:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 7079, + "id": 8698, "kind": "modifierInvocation", "modifierName": { - "id": 7077, + "id": 8696, "name": "payPrefund", "nameLocations": [ - "7220:10:17" + "7457:10:30" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 7013, - "src": "7220:10:17" + "referencedDeclaration": 8632, + "src": "7457:10:30" }, "nodeType": "ModifierInvocation", - "src": "7220:31:17" + "src": "7457:31:30" } ], "name": "validateUserOp", - "nameLocation": "7057:14:17", + "nameLocation": "7294:14:30", "nodeType": "FunctionDefinition", "parameters": { - "id": 7074, + "id": 8693, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7069, + "id": 8688, "mutability": "mutable", "name": "userOp", - "nameLocation": "7110:6:17", + "nameLocation": "7347:6:30", "nodeType": "VariableDeclaration", - "scope": 7138, - "src": "7081:35:17", + "scope": 8820, + "src": "7318:35:30", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_calldata_ptr", "typeString": "struct PackedUserOperation" }, "typeName": { - "id": 7068, + "id": 8687, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 7067, + "id": 8686, "name": "PackedUserOperation", "nameLocations": [ - "7081:19:17" + "7318:19:30" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 563, - "src": "7081:19:17" + "referencedDeclaration": 1223, + "src": "7318:19:30" }, - "referencedDeclaration": 563, - "src": "7081:19:17", + "referencedDeclaration": 1223, + "src": "7318:19:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_storage_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_storage_ptr", "typeString": "struct PackedUserOperation" } }, @@ -216892,13 +236851,13 @@ }, { "constant": false, - "id": 7071, + "id": 8690, "mutability": "mutable", "name": "userOpHash", - "nameLocation": "7134:10:17", + "nameLocation": "7371:10:30", "nodeType": "VariableDeclaration", - "scope": 7138, - "src": "7126:18:17", + "scope": 8820, + "src": "7363:18:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -216906,10 +236865,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7070, + "id": 8689, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7126:7:17", + "src": "7363:7:30", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -216919,13 +236878,13 @@ }, { "constant": false, - "id": 7073, + "id": 8692, "mutability": "mutable", "name": "missingAccountFunds", - "nameLocation": "7162:19:17", + "nameLocation": "7399:19:30", "nodeType": "VariableDeclaration", - "scope": 7138, - "src": "7154:27:17", + "scope": 8820, + "src": "7391:27:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -216933,10 +236892,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7072, + "id": 8691, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7154:7:17", + "src": "7391:7:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -216945,21 +236904,21 @@ "visibility": "internal" } ], - "src": "7071:116:17" + "src": "7308:116:30" }, "returnParameters": { - "id": 7082, + "id": 8701, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7081, + "id": 8700, "mutability": "mutable", "name": "validationData", - "nameLocation": "7269:14:17", + "nameLocation": "7506:14:30", "nodeType": "VariableDeclaration", - "scope": 7138, - "src": "7261:22:17", + "scope": 8820, + "src": "7498:22:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -216967,10 +236926,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7080, + "id": 8699, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7261:7:17", + "src": "7498:7:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -216979,40 +236938,40 @@ "visibility": "internal" } ], - "src": "7260:24:17" + "src": "7497:24:30" }, - "scope": 7506, - "src": "7048:880:17", + "scope": 9190, + "src": "7285:1698:30", "stateMutability": "nonpayable", "virtual": true, "visibility": "external" }, { "body": { - "id": 7191, + "id": 8873, "nodeType": "Block", - "src": "8697:320:17", + "src": "9752:320:30", "statements": [ { "body": { - "id": 7189, + "id": 8871, "nodeType": "Block", - "src": "8746:265:17", + "src": "9801:265:30", "statements": [ { "assignments": [ - 7158 + 8840 ], "declarations": [ { "constant": false, - "id": 7158, + "id": 8840, "mutability": "mutable", "name": "call", - "nameLocation": "8775:4:17", + "nameLocation": "9830:4:30", "nodeType": "VariableDeclaration", - "scope": 7189, - "src": "8760:19:17", + "scope": 8871, + "src": "9815:19:30", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -217020,10 +236979,10 @@ "typeString": "bytes" }, "typeName": { - "id": 7157, + "id": 8839, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "8760:5:17", + "src": "9815:5:30", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -217032,28 +236991,28 @@ "visibility": "internal" } ], - "id": 7162, + "id": 8844, "initialValue": { "baseExpression": { - "id": 7159, + "id": 8841, "name": "calls", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7142, - "src": "8782:5:17", + "referencedDeclaration": 8824, + "src": "9837:5:30", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", "typeString": "bytes calldata[] calldata" } }, - "id": 7161, + "id": 8843, "indexExpression": { - "id": 7160, + "id": 8842, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7148, - "src": "8788:1:17", + "referencedDeclaration": 8830, + "src": "9843:1:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -217064,29 +237023,29 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8782:8:17", + "src": "9837:8:30", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" } }, "nodeType": "VariableDeclarationStatement", - "src": "8760:30:17" + "src": "9815:30:30" }, { "assignments": [ - 7164 + 8846 ], "declarations": [ { "constant": false, - "id": 7164, + "id": 8846, "mutability": "mutable", "name": "selector", - "nameLocation": "8811:8:17", + "nameLocation": "9866:8:30", "nodeType": "VariableDeclaration", - "scope": 7189, - "src": "8804:15:17", + "scope": 8871, + "src": "9859:15:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -217094,10 +237053,10 @@ "typeString": "bytes4" }, "typeName": { - "id": 7163, + "id": 8845, "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "8804:6:17", + "src": "9859:6:30", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -217106,16 +237065,16 @@ "visibility": "internal" } ], - "id": 7169, + "id": 8851, "initialValue": { "arguments": [ { - "id": 7167, + "id": 8849, "name": "call", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7158, - "src": "8829:4:17", + "referencedDeclaration": 8840, + "src": "9884:4:30", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -217129,26 +237088,26 @@ "typeString": "bytes calldata" } ], - "id": 7166, + "id": 8848, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "8822:6:17", + "src": "9877:6:30", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes4_$", "typeString": "type(bytes4)" }, "typeName": { - "id": 7165, + "id": 8847, "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "8822:6:17", + "src": "9877:6:30", "typeDescriptions": {} } }, - "id": 7168, + "id": 8850, "isConstant": false, "isLValue": false, "isPure": false, @@ -217157,7 +237116,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8822:12:17", + "src": "9877:12:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes4", @@ -217165,11 +237124,11 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "8804:30:17" + "src": "9859:30:30" }, { "condition": { - "id": 7173, + "id": 8855, "isConstant": false, "isLValue": false, "isPure": false, @@ -217177,16 +237136,16 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "8852:35:17", + "src": "9907:35:30", "subExpression": { "arguments": [ { - "id": 7171, + "id": 8853, "name": "selector", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7164, - "src": "8878:8:17", + "referencedDeclaration": 8846, + "src": "9933:8:30", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -217200,18 +237159,18 @@ "typeString": "bytes4" } ], - "id": 7170, + "id": 8852, "name": "canSkipChainIdValidation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7336, - "src": "8853:24:17", + "referencedDeclaration": 9014, + "src": "9908:24:30", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes4_$returns$_t_bool_$", "typeString": "function (bytes4) pure returns (bool)" } }, - "id": 7172, + "id": 8854, "isConstant": false, "isLValue": false, "isPure": false, @@ -217220,7 +237179,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8853:34:17", + "src": "9908:34:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -217232,24 +237191,24 @@ "typeString": "bool" } }, - "id": 7179, + "id": 8861, "nodeType": "IfStatement", - "src": "8848:109:17", + "src": "9903:109:30", "trueBody": { - "id": 7178, + "id": 8860, "nodeType": "Block", - "src": "8889:68:17", + "src": "9944:68:30", "statements": [ { "errorCall": { "arguments": [ { - "id": 7175, + "id": 8857, "name": "selector", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7164, - "src": "8933:8:17", + "referencedDeclaration": 8846, + "src": "9988:8:30", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -217263,18 +237222,18 @@ "typeString": "bytes4" } ], - "id": 7174, + "id": 8856, "name": "SelectorNotAllowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6970, - "src": "8914:18:17", + "referencedDeclaration": 8584, + "src": "9969:18:30", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_bytes4_$returns$_t_error_$", "typeString": "function (bytes4) pure returns (error)" } }, - "id": 7176, + "id": 8858, "isConstant": false, "isLValue": false, "isPure": false, @@ -217283,16 +237242,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8914:28:17", + "src": "9969:28:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_error", "typeString": "error" } }, - "id": 7177, + "id": 8859, "nodeType": "RevertStatement", - "src": "8907:35:17" + "src": "9962:35:30" } ] } @@ -217303,14 +237262,14 @@ { "arguments": [ { - "id": 7183, + "id": 8865, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, - "src": "8985:4:17", + "src": "10040:4:30", "typeDescriptions": { - "typeIdentifier": "t_contract$_GianoSmartWallet_$7506", + "typeIdentifier": "t_contract$_GianoSmartWallet_$9190", "typeString": "contract GianoSmartWallet" } } @@ -217318,30 +237277,30 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_GianoSmartWallet_$7506", + "typeIdentifier": "t_contract$_GianoSmartWallet_$9190", "typeString": "contract GianoSmartWallet" } ], - "id": 7182, + "id": 8864, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "8977:7:17", + "src": "10032:7:30", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 7181, + "id": 8863, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8977:7:17", + "src": "10032:7:30", "typeDescriptions": {} } }, - "id": 7184, + "id": 8866, "isConstant": false, "isLValue": false, "isPure": false, @@ -217350,7 +237309,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8977:13:17", + "src": "10032:13:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -217359,14 +237318,14 @@ }, { "hexValue": "30", - "id": 7185, + "id": 8867, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8992:1:17", + "src": "10047:1:30", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -217374,12 +237333,12 @@ "value": "0" }, { - "id": 7186, + "id": 8868, "name": "call", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7158, - "src": "8995:4:17", + "referencedDeclaration": 8840, + "src": "10050:4:30", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -217401,18 +237360,18 @@ "typeString": "bytes calldata" } ], - "id": 7180, + "id": 8862, "name": "_call", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7363, - "src": "8971:5:17", + "referencedDeclaration": 9041, + "src": "10026:5:30", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (address,uint256,bytes memory)" } }, - "id": 7187, + "id": 8869, "isConstant": false, "isLValue": false, "isPure": false, @@ -217421,16 +237380,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8971:29:17", + "src": "10026:29:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7188, + "id": 8870, "nodeType": "ExpressionStatement", - "src": "8971:29:17" + "src": "10026:29:30" } ] }, @@ -217439,18 +237398,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7153, + "id": 8835, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 7150, + "id": 8832, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7148, - "src": "8723:1:17", + "referencedDeclaration": 8830, + "src": "9778:1:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -217460,52 +237419,52 @@ "operator": "<", "rightExpression": { "expression": { - "id": 7151, + "id": 8833, "name": "calls", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7142, - "src": "8727:5:17", + "referencedDeclaration": 8824, + "src": "9782:5:30", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", "typeString": "bytes calldata[] calldata" } }, - "id": 7152, + "id": 8834, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "8733:6:17", + "memberLocation": "9788:6:30", "memberName": "length", "nodeType": "MemberAccess", - "src": "8727:12:17", + "src": "9782:12:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8723:16:17", + "src": "9778:16:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 7190, + "id": 8872, "initializationExpression": { "assignments": [ - 7148 + 8830 ], "declarations": [ { "constant": false, - "id": 7148, + "id": 8830, "mutability": "mutable", "name": "i", - "nameLocation": "8720:1:17", + "nameLocation": "9775:1:30", "nodeType": "VariableDeclaration", - "scope": 7190, - "src": "8712:9:17", + "scope": 8872, + "src": "9767:9:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -217513,10 +237472,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7147, + "id": 8829, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8712:7:17", + "src": "9767:7:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -217525,14 +237484,14 @@ "visibility": "internal" } ], - "id": 7149, + "id": 8831, "nodeType": "VariableDeclarationStatement", - "src": "8712:9:17" + "src": "9767:9:30" }, "isSimpleCounterLoop": true, "loopExpression": { "expression": { - "id": 7155, + "id": 8837, "isConstant": false, "isLValue": false, "isPure": false, @@ -217540,14 +237499,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "8741:3:17", + "src": "9796:3:30", "subExpression": { - "id": 7154, + "id": 8836, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7148, - "src": "8741:1:17", + "referencedDeclaration": 8830, + "src": "9796:1:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -217558,59 +237517,59 @@ "typeString": "uint256" } }, - "id": 7156, + "id": 8838, "nodeType": "ExpressionStatement", - "src": "8741:3:17" + "src": "9796:3:30" }, "nodeType": "ForStatement", - "src": "8707:304:17" + "src": "9762:304:30" } ] }, "documentation": { - "id": 7139, + "id": 8821, "nodeType": "StructuredDocumentation", - "src": "7934:653:17", + "src": "8989:653:30", "text": "@notice Executes `calls` on this account (i.e. self call).\n @dev Can only be called by the Entrypoint.\n @dev Reverts if the given call is not authorized to skip the chain ID validtion.\n @dev `validateUserOp()` will recompute the `userOpHash` without the chain ID before validating\n it if the `UserOperation.calldata` is calling this function. This allows certain UserOperations\n to be replayed for all accounts sharing the same address across chains. E.g. This may be\n useful for syncing owner changes.\n @param calls An array of calldata to use for separate self calls." }, "functionSelector": "2c2abd1e", - "id": 7192, + "id": 8874, "implemented": true, "kind": "function", "modifiers": [ { - "id": 7145, + "id": 8827, "kind": "modifierInvocation", "modifierName": { - "id": 7144, + "id": 8826, "name": "onlyEntryPoint", "nameLocations": [ - "8682:14:17" + "9737:14:30" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 6990, - "src": "8682:14:17" + "referencedDeclaration": 8609, + "src": "9737:14:30" }, "nodeType": "ModifierInvocation", - "src": "8682:14:17" + "src": "9737:14:30" } ], "name": "executeWithoutChainIdValidation", - "nameLocation": "8601:31:17", + "nameLocation": "9656:31:30", "nodeType": "FunctionDefinition", "parameters": { - "id": 7143, + "id": 8825, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7142, + "id": 8824, "mutability": "mutable", "name": "calls", - "nameLocation": "8650:5:17", + "nameLocation": "9705:5:30", "nodeType": "VariableDeclaration", - "scope": 7192, - "src": "8633:22:17", + "scope": 8874, + "src": "9688:22:30", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -217619,18 +237578,18 @@ }, "typeName": { "baseType": { - "id": 7140, + "id": 8822, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "8633:5:17", + "src": "9688:5:30", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, - "id": 7141, + "id": 8823, "nodeType": "ArrayTypeName", - "src": "8633:7:17", + "src": "9688:7:30", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", "typeString": "bytes[]" @@ -217639,60 +237598,60 @@ "visibility": "internal" } ], - "src": "8632:24:17" + "src": "9687:24:30" }, "returnParameters": { - "id": 7146, + "id": 8828, "nodeType": "ParameterList", "parameters": [], - "src": "8697:0:17" + "src": "9752:0:30" }, - "scope": 7506, - "src": "8592:425:17", + "scope": 9190, + "src": "9647:425:30", "stateMutability": "payable", "virtual": true, "visibility": "external" }, { "body": { - "id": 7210, + "id": 8892, "nodeType": "Block", - "src": "9454:43:17", + "src": "10509:43:30", "statements": [ { "expression": { "arguments": [ { - "id": 7205, + "id": 8887, "name": "target", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7195, - "src": "9470:6:17", + "referencedDeclaration": 8877, + "src": "10525:6:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 7206, + "id": 8888, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7197, - "src": "9478:5:17", + "referencedDeclaration": 8879, + "src": "10533:5:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 7207, + "id": 8889, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7199, - "src": "9485:4:17", + "referencedDeclaration": 8881, + "src": "10540:4:30", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -217714,18 +237673,18 @@ "typeString": "bytes calldata" } ], - "id": 7204, + "id": 8886, "name": "_call", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7363, - "src": "9464:5:17", + "referencedDeclaration": 9041, + "src": "10519:5:30", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (address,uint256,bytes memory)" } }, - "id": 7208, + "id": 8890, "isConstant": false, "isLValue": false, "isPure": false, @@ -217734,63 +237693,63 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "9464:26:17", + "src": "10519:26:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7209, + "id": 8891, "nodeType": "ExpressionStatement", - "src": "9464:26:17" + "src": "10519:26:30" } ] }, "documentation": { - "id": 7193, + "id": 8875, "nodeType": "StructuredDocumentation", - "src": "9023:310:17", + "src": "10078:310:30", "text": "@notice Executes the given call from this account.\n @dev Can only be called by the Entrypoint or an owner of this account (including itself).\n @param target The address to call.\n @param value The value to send with the call.\n @param data The data of the call." }, "functionSelector": "b61d27f6", - "id": 7211, + "id": 8893, "implemented": true, "kind": "function", "modifiers": [ { - "id": 7202, + "id": 8884, "kind": "modifierInvocation", "modifierName": { - "id": 7201, + "id": 8883, "name": "onlyEntryPointOrOwner", "nameLocations": [ - "9432:21:17" + "10487:21:30" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 7005, - "src": "9432:21:17" + "referencedDeclaration": 8624, + "src": "10487:21:30" }, "nodeType": "ModifierInvocation", - "src": "9432:21:17" + "src": "10487:21:30" } ], "name": "execute", - "nameLocation": "9347:7:17", + "nameLocation": "10402:7:30", "nodeType": "FunctionDefinition", "parameters": { - "id": 7200, + "id": 8882, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7195, + "id": 8877, "mutability": "mutable", "name": "target", - "nameLocation": "9363:6:17", + "nameLocation": "10418:6:30", "nodeType": "VariableDeclaration", - "scope": 7211, - "src": "9355:14:17", + "scope": 8893, + "src": "10410:14:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -217798,10 +237757,10 @@ "typeString": "address" }, "typeName": { - "id": 7194, + "id": 8876, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9355:7:17", + "src": "10410:7:30", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -217812,13 +237771,13 @@ }, { "constant": false, - "id": 7197, + "id": 8879, "mutability": "mutable", "name": "value", - "nameLocation": "9379:5:17", + "nameLocation": "10434:5:30", "nodeType": "VariableDeclaration", - "scope": 7211, - "src": "9371:13:17", + "scope": 8893, + "src": "10426:13:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -217826,10 +237785,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7196, + "id": 8878, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9371:7:17", + "src": "10426:7:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -217839,13 +237798,13 @@ }, { "constant": false, - "id": 7199, + "id": 8881, "mutability": "mutable", "name": "data", - "nameLocation": "9401:4:17", + "nameLocation": "10456:4:30", "nodeType": "VariableDeclaration", - "scope": 7211, - "src": "9386:19:17", + "scope": 8893, + "src": "10441:19:30", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -217853,10 +237812,10 @@ "typeString": "bytes" }, "typeName": { - "id": 7198, + "id": 8880, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "9386:5:17", + "src": "10441:5:30", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -217865,31 +237824,31 @@ "visibility": "internal" } ], - "src": "9354:52:17" + "src": "10409:52:30" }, "returnParameters": { - "id": 7203, + "id": 8885, "nodeType": "ParameterList", "parameters": [], - "src": "9454:0:17" + "src": "10509:0:30" }, - "scope": 7506, - "src": "9338:159:17", + "scope": 9190, + "src": "10393:159:30", "stateMutability": "payable", "virtual": true, "visibility": "external" }, { "body": { - "id": 7248, + "id": 8930, "nodeType": "Block", - "src": "9805:133:17", + "src": "10860:133:30", "statements": [ { "body": { - "id": 7246, + "id": 8928, "nodeType": "Block", - "src": "9854:78:17", + "src": "10909:78:30", "statements": [ { "expression": { @@ -217897,25 +237856,25 @@ { "expression": { "baseExpression": { - "id": 7232, + "id": 8914, "name": "calls", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7216, - "src": "9874:5:17", + "referencedDeclaration": 8898, + "src": "10929:5:30", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Call_$6958_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_Call_$8572_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct GianoSmartWallet.Call calldata[] calldata" } }, - "id": 7234, + "id": 8916, "indexExpression": { - "id": 7233, + "id": 8915, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7222, - "src": "9880:1:17", + "referencedDeclaration": 8904, + "src": "10935:1:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -217926,22 +237885,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9874:8:17", + "src": "10929:8:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_Call_$6958_calldata_ptr", + "typeIdentifier": "t_struct$_Call_$8572_calldata_ptr", "typeString": "struct GianoSmartWallet.Call calldata" } }, - "id": 7235, + "id": 8917, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "9883:6:17", + "memberLocation": "10938:6:30", "memberName": "target", "nodeType": "MemberAccess", - "referencedDeclaration": 6951, - "src": "9874:15:17", + "referencedDeclaration": 8565, + "src": "10929:15:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -217950,25 +237909,25 @@ { "expression": { "baseExpression": { - "id": 7236, + "id": 8918, "name": "calls", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7216, - "src": "9891:5:17", + "referencedDeclaration": 8898, + "src": "10946:5:30", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Call_$6958_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_Call_$8572_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct GianoSmartWallet.Call calldata[] calldata" } }, - "id": 7238, + "id": 8920, "indexExpression": { - "id": 7237, + "id": 8919, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7222, - "src": "9897:1:17", + "referencedDeclaration": 8904, + "src": "10952:1:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -217979,22 +237938,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9891:8:17", + "src": "10946:8:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_Call_$6958_calldata_ptr", + "typeIdentifier": "t_struct$_Call_$8572_calldata_ptr", "typeString": "struct GianoSmartWallet.Call calldata" } }, - "id": 7239, + "id": 8921, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "9900:5:17", + "memberLocation": "10955:5:30", "memberName": "value", "nodeType": "MemberAccess", - "referencedDeclaration": 6954, - "src": "9891:14:17", + "referencedDeclaration": 8568, + "src": "10946:14:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -218003,25 +237962,25 @@ { "expression": { "baseExpression": { - "id": 7240, + "id": 8922, "name": "calls", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7216, - "src": "9907:5:17", + "referencedDeclaration": 8898, + "src": "10962:5:30", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Call_$6958_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_Call_$8572_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct GianoSmartWallet.Call calldata[] calldata" } }, - "id": 7242, + "id": 8924, "indexExpression": { - "id": 7241, + "id": 8923, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7222, - "src": "9913:1:17", + "referencedDeclaration": 8904, + "src": "10968:1:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -218032,22 +237991,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9907:8:17", + "src": "10962:8:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_Call_$6958_calldata_ptr", + "typeIdentifier": "t_struct$_Call_$8572_calldata_ptr", "typeString": "struct GianoSmartWallet.Call calldata" } }, - "id": 7243, + "id": 8925, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "9916:4:17", + "memberLocation": "10971:4:30", "memberName": "data", "nodeType": "MemberAccess", - "referencedDeclaration": 6957, - "src": "9907:13:17", + "referencedDeclaration": 8571, + "src": "10962:13:30", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -218069,18 +238028,18 @@ "typeString": "bytes calldata" } ], - "id": 7231, + "id": 8913, "name": "_call", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7363, - "src": "9868:5:17", + "referencedDeclaration": 9041, + "src": "10923:5:30", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (address,uint256,bytes memory)" } }, - "id": 7244, + "id": 8926, "isConstant": false, "isLValue": false, "isPure": false, @@ -218089,16 +238048,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "9868:53:17", + "src": "10923:53:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7245, + "id": 8927, "nodeType": "ExpressionStatement", - "src": "9868:53:17" + "src": "10923:53:30" } ] }, @@ -218107,18 +238066,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7227, + "id": 8909, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 7224, + "id": 8906, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7222, - "src": "9831:1:17", + "referencedDeclaration": 8904, + "src": "10886:1:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -218128,52 +238087,52 @@ "operator": "<", "rightExpression": { "expression": { - "id": 7225, + "id": 8907, "name": "calls", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7216, - "src": "9835:5:17", + "referencedDeclaration": 8898, + "src": "10890:5:30", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Call_$6958_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_Call_$8572_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct GianoSmartWallet.Call calldata[] calldata" } }, - "id": 7226, + "id": 8908, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "9841:6:17", + "memberLocation": "10896:6:30", "memberName": "length", "nodeType": "MemberAccess", - "src": "9835:12:17", + "src": "10890:12:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9831:16:17", + "src": "10886:16:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 7247, + "id": 8929, "initializationExpression": { "assignments": [ - 7222 + 8904 ], "declarations": [ { "constant": false, - "id": 7222, + "id": 8904, "mutability": "mutable", "name": "i", - "nameLocation": "9828:1:17", + "nameLocation": "10883:1:30", "nodeType": "VariableDeclaration", - "scope": 7247, - "src": "9820:9:17", + "scope": 8929, + "src": "10875:9:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -218181,10 +238140,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7221, + "id": 8903, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9820:7:17", + "src": "10875:7:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -218193,14 +238152,14 @@ "visibility": "internal" } ], - "id": 7223, + "id": 8905, "nodeType": "VariableDeclarationStatement", - "src": "9820:9:17" + "src": "10875:9:30" }, "isSimpleCounterLoop": true, "loopExpression": { "expression": { - "id": 7229, + "id": 8911, "isConstant": false, "isLValue": false, "isPure": false, @@ -218208,14 +238167,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "9849:3:17", + "src": "10904:3:30", "subExpression": { - "id": 7228, + "id": 8910, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7222, - "src": "9849:1:17", + "referencedDeclaration": 8904, + "src": "10904:1:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -218226,174 +238185,174 @@ "typeString": "uint256" } }, - "id": 7230, + "id": 8912, "nodeType": "ExpressionStatement", - "src": "9849:3:17" + "src": "10904:3:30" }, "nodeType": "ForStatement", - "src": "9815:117:17" + "src": "10870:117:30" } ] }, "documentation": { - "id": 7212, + "id": 8894, "nodeType": "StructuredDocumentation", - "src": "9503:205:17", + "src": "10558:205:30", "text": "@notice Executes batch of `Call`s.\n @dev Can only be called by the Entrypoint or an owner of this account (including itself).\n @param calls The list of `Call`s to execute." }, "functionSelector": "34fcd5be", - "id": 7249, + "id": 8931, "implemented": true, "kind": "function", "modifiers": [ { - "id": 7219, + "id": 8901, "kind": "modifierInvocation", "modifierName": { - "id": 7218, + "id": 8900, "name": "onlyEntryPointOrOwner", "nameLocations": [ - "9783:21:17" + "10838:21:30" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 7005, - "src": "9783:21:17" + "referencedDeclaration": 8624, + "src": "10838:21:30" }, "nodeType": "ModifierInvocation", - "src": "9783:21:17" + "src": "10838:21:30" } ], "name": "executeBatch", - "nameLocation": "9722:12:17", + "nameLocation": "10777:12:30", "nodeType": "FunctionDefinition", "parameters": { - "id": 7217, + "id": 8899, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7216, + "id": 8898, "mutability": "mutable", "name": "calls", - "nameLocation": "9751:5:17", + "nameLocation": "10806:5:30", "nodeType": "VariableDeclaration", - "scope": 7249, - "src": "9735:21:17", + "scope": 8931, + "src": "10790:21:30", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Call_$6958_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_Call_$8572_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct GianoSmartWallet.Call[]" }, "typeName": { "baseType": { - "id": 7214, + "id": 8896, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 7213, + "id": 8895, "name": "Call", "nameLocations": [ - "9735:4:17" + "10790:4:30" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 6958, - "src": "9735:4:17" + "referencedDeclaration": 8572, + "src": "10790:4:30" }, - "referencedDeclaration": 6958, - "src": "9735:4:17", + "referencedDeclaration": 8572, + "src": "10790:4:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_Call_$6958_storage_ptr", + "typeIdentifier": "t_struct$_Call_$8572_storage_ptr", "typeString": "struct GianoSmartWallet.Call" } }, - "id": 7215, + "id": 8897, "nodeType": "ArrayTypeName", - "src": "9735:6:17", + "src": "10790:6:30", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Call_$6958_storage_$dyn_storage_ptr", + "typeIdentifier": "t_array$_t_struct$_Call_$8572_storage_$dyn_storage_ptr", "typeString": "struct GianoSmartWallet.Call[]" } }, "visibility": "internal" } ], - "src": "9734:23:17" + "src": "10789:23:30" }, "returnParameters": { - "id": 7220, + "id": 8902, "nodeType": "ParameterList", "parameters": [], - "src": "9805:0:17" + "src": "10860:0:30" }, - "scope": 7506, - "src": "9713:225:17", + "scope": 9190, + "src": "10768:225:30", "stateMutability": "payable", "virtual": true, "visibility": "external" }, { "body": { - "id": 7257, + "id": 8939, "nodeType": "Block", - "src": "10123:66:17", + "src": "11178:66:30", "statements": [ { "expression": { - "hexValue": "307834333337303834443945323535466630373032343631434638383935434539453362354666313038", - "id": 7255, + "hexValue": "307842313046304246323934333961383941313866393936393332366335643231326337453039363131", + "id": 8937, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10140:42:17", + "src": "11195:42:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, - "value": "0x4337084D9E255Ff0702461CF8895CE9E3b5Ff108" + "value": "0xB10F0BF29439a89A18f9969326c5d212c7E09611" }, - "functionReturnParameters": 7254, - "id": 7256, + "functionReturnParameters": 8936, + "id": 8938, "nodeType": "Return", - "src": "10133:49:17" + "src": "11188:49:30" } ] }, "documentation": { - "id": 7250, + "id": 8932, "nodeType": "StructuredDocumentation", - "src": "9944:114:17", - "text": "@notice Returns the address of the EntryPoint v0.8.\n @return The address of the EntryPoint v0.8" + "src": "10999:114:30", + "text": "@notice Returns the address of the EntryPoint v0.7.\n @return The address of the EntryPoint v0.7" }, "functionSelector": "b0d691fe", - "id": 7258, + "id": 8940, "implemented": true, "kind": "function", "modifiers": [], "name": "entryPoint", - "nameLocation": "10072:10:17", + "nameLocation": "11127:10:30", "nodeType": "FunctionDefinition", "parameters": { - "id": 7251, + "id": 8933, "nodeType": "ParameterList", "parameters": [], - "src": "10082:2:17" + "src": "11137:2:30" }, "returnParameters": { - "id": 7254, + "id": 8936, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7253, + "id": 8935, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 7258, - "src": "10114:7:17", + "scope": 8940, + "src": "11169:7:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -218401,10 +238360,10 @@ "typeString": "address" }, "typeName": { - "id": 7252, + "id": 8934, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10114:7:17", + "src": "11169:7:30", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -218414,19 +238373,19 @@ "visibility": "internal" } ], - "src": "10113:9:17" + "src": "11168:9:30" }, - "scope": 7506, - "src": "10063:126:17", + "scope": 9190, + "src": "11118:126:30", "stateMutability": "view", "virtual": true, "visibility": "public" }, { "body": { - "id": 7283, + "id": 8961, "nodeType": "Block", - "src": "10695:102:17", + "src": "11750:90:30", "statements": [ { "expression": { @@ -218436,118 +238395,53 @@ { "arguments": [ { - "id": 7272, + "id": 8954, "name": "userOp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7262, - "src": "10755:6:17", + "referencedDeclaration": 8944, + "src": "11810:6:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_calldata_ptr", "typeString": "struct PackedUserOperation calldata" } - }, - { - "arguments": [ - { - "hexValue": "30", - "id": 7275, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10771:1:17", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 7274, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10763:7:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 7273, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "10763:7:17", - "typeDescriptions": {} - } - }, - "id": 7276, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10763:10:17", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_calldata_ptr", "typeString": "struct PackedUserOperation calldata" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" } ], "expression": { - "id": 7270, + "id": 8952, "name": "UserOperationLib", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 524, - "src": "10733:16:17", + "referencedDeclaration": 806, + "src": "11788:16:30", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UserOperationLib_$524_$", + "typeIdentifier": "t_type$_t_contract$_UserOperationLib_$806_$", "typeString": "type(library UserOperationLib)" } }, - "id": 7271, + "id": 8953, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "10750:4:17", + "memberLocation": "11805:4:30", "memberName": "hash", "nodeType": "MemberAccess", - "referencedDeclaration": 523, - "src": "10733:21:17", + "referencedDeclaration": 805, + "src": "11788:21:30", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_PackedUserOperation_$563_calldata_ptr_$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (struct PackedUserOperation calldata,bytes32) pure returns (bytes32)" + "typeIdentifier": "t_function_internal_pure$_t_struct$_PackedUserOperation_$1223_calldata_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct PackedUserOperation calldata) pure returns (bytes32)" } }, - "id": 7277, + "id": 8955, "isConstant": false, "isLValue": false, "isPure": false, @@ -218556,7 +238450,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "10733:41:17", + "src": "11788:29:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -218567,18 +238461,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 7278, + "id": 8956, "name": "entryPoint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7258, - "src": "10776:10:17", + "referencedDeclaration": 8940, + "src": "11819:10:30", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 7279, + "id": 8957, "isConstant": false, "isLValue": false, "isPure": false, @@ -218587,7 +238481,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "10776:12:17", + "src": "11819:12:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -218607,32 +238501,32 @@ } ], "expression": { - "id": 7268, + "id": 8950, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "10722:3:17", + "src": "11777:3:30", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 7269, + "id": 8951, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "10726:6:17", + "memberLocation": "11781:6:30", "memberName": "encode", "nodeType": "MemberAccess", - "src": "10722:10:17", + "src": "11777:10:30", "typeDescriptions": { "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 7280, + "id": 8958, "isConstant": false, "isLValue": false, "isPure": false, @@ -218641,7 +238535,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "10722:67:17", + "src": "11777:55:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -218656,18 +238550,18 @@ "typeString": "bytes memory" } ], - "id": 7267, + "id": 8949, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "10712:9:17", + "src": "11767:9:30", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 7281, + "id": 8959, "isConstant": false, "isLValue": false, "isPure": false, @@ -218676,91 +238570,91 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "10712:78:17", + "src": "11767:66:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 7266, - "id": 7282, + "functionReturnParameters": 8948, + "id": 8960, "nodeType": "Return", - "src": "10705:85:17" + "src": "11760:73:30" } ] }, "documentation": { - "id": 7259, + "id": 8941, "nodeType": "StructuredDocumentation", - "src": "10195:383:17", + "src": "11250:383:30", "text": "@notice Computes the hash of the `UserOperation` in the same way as EntryPoint v0.6, but\n leaves out the chain ID.\n @dev This allows accounts to sign a hash that can be used on many chains.\n @param userOp The `UserOperation` to compute the hash for.\n @return The `UserOperation` hash, which does not depend on chain ID." }, "functionSelector": "a05bd44e", - "id": 7284, + "id": 8962, "implemented": true, "kind": "function", "modifiers": [], "name": "getUserOpHashWithoutChainId", - "nameLocation": "10592:27:17", + "nameLocation": "11647:27:30", "nodeType": "FunctionDefinition", "parameters": { - "id": 7263, + "id": 8945, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7262, + "id": 8944, "mutability": "mutable", "name": "userOp", - "nameLocation": "10649:6:17", + "nameLocation": "11704:6:30", "nodeType": "VariableDeclaration", - "scope": 7284, - "src": "10620:35:17", + "scope": 8962, + "src": "11675:35:30", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_calldata_ptr", "typeString": "struct PackedUserOperation" }, "typeName": { - "id": 7261, + "id": 8943, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 7260, + "id": 8942, "name": "PackedUserOperation", "nameLocations": [ - "10620:19:17" + "11675:19:30" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 563, - "src": "10620:19:17" + "referencedDeclaration": 1223, + "src": "11675:19:30" }, - "referencedDeclaration": 563, - "src": "10620:19:17", + "referencedDeclaration": 1223, + "src": "11675:19:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_storage_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_storage_ptr", "typeString": "struct PackedUserOperation" } }, "visibility": "internal" } ], - "src": "10619:37:17" + "src": "11674:37:30" }, "returnParameters": { - "id": 7266, + "id": 8948, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7265, + "id": 8947, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 7284, - "src": "10686:7:17", + "scope": 8962, + "src": "11741:7:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -218768,10 +238662,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7264, + "id": 8946, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10686:7:17", + "src": "11741:7:30", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -218780,55 +238674,55 @@ "visibility": "internal" } ], - "src": "10685:9:17" + "src": "11740:9:30" }, - "scope": 7506, - "src": "10583:214:17", + "scope": 9190, + "src": "11638:202:30", "stateMutability": "view", "virtual": true, "visibility": "public" }, { "body": { - "id": 7291, + "id": 8969, "nodeType": "Block", - "src": "10992:89:17", + "src": "12035:89:30", "statements": [ { "AST": { - "nativeSrc": "11011:64:17", + "nativeSrc": "12054:64:30", "nodeType": "YulBlock", - "src": "11011:64:17", + "src": "12054:64:30", "statements": [ { - "nativeSrc": "11025:40:17", + "nativeSrc": "12068:40:30", "nodeType": "YulAssignment", - "src": "11025:40:17", + "src": "12068:40:30", "value": { "arguments": [ { "name": "_ERC1967_IMPLEMENTATION_SLOT", - "nativeSrc": "11036:28:17", + "nativeSrc": "12079:28:30", "nodeType": "YulIdentifier", - "src": "11036:28:17" + "src": "12079:28:30" } ], "functionName": { "name": "sload", - "nativeSrc": "11030:5:17", + "nativeSrc": "12073:5:30", "nodeType": "YulIdentifier", - "src": "11030:5:17" + "src": "12073:5:30" }, - "nativeSrc": "11030:35:17", + "nativeSrc": "12073:35:30", "nodeType": "YulFunctionCall", - "src": "11030:35:17" + "src": "12073:35:30" }, "variableNames": [ { "name": "$", - "nativeSrc": "11025:1:17", + "nativeSrc": "12068:1:30", "nodeType": "YulIdentifier", - "src": "11025:1:17" + "src": "12068:1:30" } ] } @@ -218837,59 +238731,59 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 7288, + "declaration": 8966, "isOffset": false, "isSlot": false, - "src": "11025:1:17", + "src": "12068:1:30", "valueSize": 1 }, { - "declaration": 6377, + "declaration": 7983, "isOffset": false, "isSlot": false, - "src": "11036:28:17", + "src": "12079:28:30", "valueSize": 1 } ], - "id": 7290, + "id": 8968, "nodeType": "InlineAssembly", - "src": "11002:73:17" + "src": "12045:73:30" } ] }, "documentation": { - "id": 7285, + "id": 8963, "nodeType": "StructuredDocumentation", - "src": "10803:126:17", + "src": "11846:126:30", "text": "@notice Returns the implementation of the ERC1967 proxy.\n @return $ The address of implementation contract." }, "functionSelector": "5c60da1b", - "id": 7292, + "id": 8970, "implemented": true, "kind": "function", "modifiers": [], "name": "implementation", - "nameLocation": "10943:14:17", + "nameLocation": "11986:14:30", "nodeType": "FunctionDefinition", "parameters": { - "id": 7286, + "id": 8964, "nodeType": "ParameterList", "parameters": [], - "src": "10957:2:17" + "src": "12000:2:30" }, "returnParameters": { - "id": 7289, + "id": 8967, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7288, + "id": 8966, "mutability": "mutable", "name": "$", - "nameLocation": "10989:1:17", + "nameLocation": "12032:1:30", "nodeType": "VariableDeclaration", - "scope": 7292, - "src": "10981:9:17", + "scope": 8970, + "src": "12024:9:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -218897,10 +238791,10 @@ "typeString": "address" }, "typeName": { - "id": 7287, + "id": 8965, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10981:7:17", + "src": "12024:7:30", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -218910,19 +238804,19 @@ "visibility": "internal" } ], - "src": "10980:11:17" + "src": "12023:11:30" }, - "scope": 7506, - "src": "10934:147:17", + "scope": 9190, + "src": "11977:147:30", "stateMutability": "view", "virtual": false, "visibility": "public" }, { "body": { - "id": 7335, + "id": 9013, "nodeType": "Block", - "src": "11463:460:17", + "src": "12506:460:30", "statements": [ { "condition": { @@ -218930,7 +238824,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 7328, + "id": 9006, "isConstant": false, "isLValue": false, "isPure": false, @@ -218940,7 +238834,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 7322, + "id": 9000, "isConstant": false, "isLValue": false, "isPure": false, @@ -218950,7 +238844,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 7316, + "id": 8994, "isConstant": false, "isLValue": false, "isPure": false, @@ -218960,7 +238854,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 7310, + "id": 8988, "isConstant": false, "isLValue": false, "isPure": false, @@ -218970,18 +238864,18 @@ "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, - "id": 7304, + "id": 8982, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 7300, + "id": 8978, "name": "functionSelector", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7295, - "src": "11490:16:17", + "referencedDeclaration": 8973, + "src": "12533:16:30", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -218992,47 +238886,47 @@ "rightExpression": { "expression": { "expression": { - "id": 7301, + "id": 8979, "name": "MultiOwnable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8181, - "src": "11510:12:17", + "referencedDeclaration": 9893, + "src": "12553:12:30", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MultiOwnable_$8181_$", + "typeIdentifier": "t_type$_t_contract$_MultiOwnable_$9893_$", "typeString": "type(contract MultiOwnable)" } }, - "id": 7302, + "id": 8980, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "11523:17:17", + "memberLocation": "12566:17:30", "memberName": "addOwnerPublicKey", "nodeType": "MemberAccess", - "referencedDeclaration": 7775, - "src": "11510:30:17", + "referencedDeclaration": 9487, + "src": "12553:30:30", "typeDescriptions": { "typeIdentifier": "t_function_declaration_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", "typeString": "function MultiOwnable.addOwnerPublicKey(bytes32,bytes32)" } }, - "id": 7303, + "id": 8981, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "11541:8:17", + "memberLocation": "12584:8:30", "memberName": "selector", "nodeType": "MemberAccess", - "src": "11510:39:17", + "src": "12553:39:30", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, - "src": "11490:59:17", + "src": "12533:59:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -219045,18 +238939,18 @@ "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, - "id": 7309, + "id": 8987, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 7305, + "id": 8983, "name": "functionSelector", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7295, - "src": "11565:16:17", + "referencedDeclaration": 8973, + "src": "12608:16:30", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -219067,53 +238961,53 @@ "rightExpression": { "expression": { "expression": { - "id": 7306, + "id": 8984, "name": "MultiOwnable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8181, - "src": "11585:12:17", + "referencedDeclaration": 9893, + "src": "12628:12:30", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MultiOwnable_$8181_$", + "typeIdentifier": "t_type$_t_contract$_MultiOwnable_$9893_$", "typeString": "type(contract MultiOwnable)" } }, - "id": 7307, + "id": 8985, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "11598:15:17", + "memberLocation": "12641:15:30", "memberName": "addOwnerAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 7752, - "src": "11585:28:17", + "referencedDeclaration": 9464, + "src": "12628:28:30", "typeDescriptions": { "typeIdentifier": "t_function_declaration_nonpayable$_t_address_$returns$__$", "typeString": "function MultiOwnable.addOwnerAddress(address)" } }, - "id": 7308, + "id": 8986, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "11614:8:17", + "memberLocation": "12657:8:30", "memberName": "selector", "nodeType": "MemberAccess", - "src": "11585:37:17", + "src": "12628:37:30", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, - "src": "11565:57:17", + "src": "12608:57:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "11490:132:17", + "src": "12533:132:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -219126,18 +239020,18 @@ "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, - "id": 7315, + "id": 8993, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 7311, + "id": 8989, "name": "functionSelector", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7295, - "src": "11638:16:17", + "referencedDeclaration": 8973, + "src": "12681:16:30", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -219148,53 +239042,53 @@ "rightExpression": { "expression": { "expression": { - "id": 7312, + "id": 8990, "name": "MultiOwnable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8181, - "src": "11658:12:17", + "referencedDeclaration": 9893, + "src": "12701:12:30", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MultiOwnable_$8181_$", + "typeIdentifier": "t_type$_t_contract$_MultiOwnable_$9893_$", "typeString": "type(contract MultiOwnable)" } }, - "id": 7313, + "id": 8991, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "11671:18:17", + "memberLocation": "12714:18:30", "memberName": "removeOwnerAtIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 7800, - "src": "11658:31:17", + "referencedDeclaration": 9512, + "src": "12701:31:30", "typeDescriptions": { "typeIdentifier": "t_function_declaration_nonpayable$_t_uint256_$_t_bytes_calldata_ptr_$returns$__$", "typeString": "function MultiOwnable.removeOwnerAtIndex(uint256,bytes calldata)" } }, - "id": 7314, + "id": 8992, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "11690:8:17", + "memberLocation": "12733:8:30", "memberName": "selector", "nodeType": "MemberAccess", - "src": "11658:40:17", + "src": "12701:40:30", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, - "src": "11638:60:17", + "src": "12681:60:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "11490:208:17", + "src": "12533:208:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -219207,18 +239101,18 @@ "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, - "id": 7321, + "id": 8999, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 7317, + "id": 8995, "name": "functionSelector", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7295, - "src": "11714:16:17", + "referencedDeclaration": 8973, + "src": "12757:16:30", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -219229,53 +239123,53 @@ "rightExpression": { "expression": { "expression": { - "id": 7318, + "id": 8996, "name": "MultiOwnable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8181, - "src": "11734:12:17", + "referencedDeclaration": 9893, + "src": "12777:12:30", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MultiOwnable_$8181_$", + "typeIdentifier": "t_type$_t_contract$_MultiOwnable_$9893_$", "typeString": "type(contract MultiOwnable)" } }, - "id": 7319, + "id": 8997, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "11747:15:17", + "memberLocation": "12790:15:30", "memberName": "removeLastOwner", "nodeType": "MemberAccess", - "referencedDeclaration": 7830, - "src": "11734:28:17", + "referencedDeclaration": 9542, + "src": "12777:28:30", "typeDescriptions": { "typeIdentifier": "t_function_declaration_nonpayable$_t_uint256_$_t_bytes_calldata_ptr_$returns$__$", "typeString": "function MultiOwnable.removeLastOwner(uint256,bytes calldata)" } }, - "id": 7320, + "id": 8998, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "11763:8:17", + "memberLocation": "12806:8:30", "memberName": "selector", "nodeType": "MemberAccess", - "src": "11734:37:17", + "src": "12777:37:30", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, - "src": "11714:57:17", + "src": "12757:57:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "11490:281:17", + "src": "12533:281:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -219288,18 +239182,18 @@ "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, - "id": 7327, + "id": 9005, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 7323, + "id": 9001, "name": "functionSelector", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7295, - "src": "11787:16:17", + "referencedDeclaration": 8973, + "src": "12830:16:30", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -219310,87 +239204,87 @@ "rightExpression": { "expression": { "expression": { - "id": 7324, + "id": 9002, "name": "UUPSUpgradeable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "11807:15:17", + "referencedDeclaration": 8017, + "src": "12850:15:30", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UUPSUpgradeable_$6411_$", + "typeIdentifier": "t_type$_t_contract$_UUPSUpgradeable_$8017_$", "typeString": "type(contract UUPSUpgradeable)" } }, - "id": 7325, + "id": 9003, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "11823:16:17", + "memberLocation": "12866:16:30", "memberName": "upgradeToAndCall", "nodeType": "MemberAccess", - "referencedDeclaration": 6410, - "src": "11807:32:17", + "referencedDeclaration": 8016, + "src": "12850:32:30", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_calldata_ptr_$returns$__$", "typeString": "function (address,bytes calldata)" } }, - "id": 7326, + "id": 9004, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "11840:8:17", + "memberLocation": "12883:8:30", "memberName": "selector", "nodeType": "MemberAccess", - "src": "11807:41:17", + "src": "12850:41:30", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, - "src": "11787:61:17", + "src": "12830:61:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "11490:358:17", + "src": "12533:358:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 7332, + "id": 9010, "nodeType": "IfStatement", - "src": "11473:422:17", + "src": "12516:422:30", "trueBody": { - "id": 7331, + "id": 9009, "nodeType": "Block", - "src": "11859:36:17", + "src": "12902:36:30", "statements": [ { "expression": { "hexValue": "74727565", - "id": 7329, + "id": 9007, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "11880:4:17", + "src": "12923:4:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "functionReturnParameters": 7299, - "id": 7330, + "functionReturnParameters": 8977, + "id": 9008, "nodeType": "Return", - "src": "11873:11:17" + "src": "12916:11:30" } ] } @@ -219398,54 +239292,54 @@ { "expression": { "hexValue": "66616c7365", - "id": 7333, + "id": 9011, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "11911:5:17", + "src": "12954:5:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, - "functionReturnParameters": 7299, - "id": 7334, + "functionReturnParameters": 8977, + "id": 9012, "nodeType": "Return", - "src": "11904:12:17" + "src": "12947:12:30" } ] }, "documentation": { - "id": 7293, + "id": 8971, "nodeType": "StructuredDocumentation", - "src": "11271:101:17", + "src": "12314:101:30", "text": "@return `true` is the function selector is allowed to skip the chain ID validation, else `false`." }, "functionSelector": "9f9bcb34", - "id": 7336, + "id": 9014, "implemented": true, "kind": "function", "modifiers": [], "name": "canSkipChainIdValidation", - "nameLocation": "11386:24:17", + "nameLocation": "12429:24:30", "nodeType": "FunctionDefinition", "parameters": { - "id": 7296, + "id": 8974, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7295, + "id": 8973, "mutability": "mutable", "name": "functionSelector", - "nameLocation": "11418:16:17", + "nameLocation": "12461:16:30", "nodeType": "VariableDeclaration", - "scope": 7336, - "src": "11411:23:17", + "scope": 9014, + "src": "12454:23:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -219453,10 +239347,10 @@ "typeString": "bytes4" }, "typeName": { - "id": 7294, + "id": 8972, "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "11411:6:17", + "src": "12454:6:30", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -219465,21 +239359,21 @@ "visibility": "internal" } ], - "src": "11410:25:17" + "src": "12453:25:30" }, "returnParameters": { - "id": 7299, + "id": 8977, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7298, + "id": 8976, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 7336, - "src": "11457:4:17", + "scope": 9014, + "src": "12500:4:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -219487,10 +239381,10 @@ "typeString": "bool" }, "typeName": { - "id": 7297, + "id": 8975, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "11457:4:17", + "src": "12500:4:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -219499,35 +239393,35 @@ "visibility": "internal" } ], - "src": "11456:6:17" + "src": "12499:6:30" }, - "scope": 7506, - "src": "11377:546:17", + "scope": 9190, + "src": "12420:546:30", "stateMutability": "pure", "virtual": false, "visibility": "public" }, { "body": { - "id": 7362, + "id": 9040, "nodeType": "Block", - "src": "12434:228:17", + "src": "13477:228:30", "statements": [ { "assignments": [ - 7347, - 7349 + 9025, + 9027 ], "declarations": [ { "constant": false, - "id": 7347, + "id": 9025, "mutability": "mutable", "name": "success", - "nameLocation": "12450:7:17", + "nameLocation": "13493:7:30", "nodeType": "VariableDeclaration", - "scope": 7362, - "src": "12445:12:17", + "scope": 9040, + "src": "13488:12:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -219535,10 +239429,10 @@ "typeString": "bool" }, "typeName": { - "id": 7346, + "id": 9024, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "12445:4:17", + "src": "13488:4:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -219548,553 +239442,13 @@ }, { "constant": false, - "id": 7349, + "id": 9027, "mutability": "mutable", "name": "result", - "nameLocation": "12472:6:17", - "nodeType": "VariableDeclaration", - "scope": 7362, - "src": "12459:19:17", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 7348, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "12459:5:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "id": 7356, - "initialValue": { - "arguments": [ - { - "id": 7354, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7343, - "src": "12508:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "id": 7350, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7339, - "src": "12482:6:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 7351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12489:4:17", - "memberName": "call", - "nodeType": "MemberAccess", - "src": "12482:11:17", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 7353, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "id": 7352, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7341, - "src": "12501:5:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "src": "12482:25:17", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 7355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12482:31:17", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12444:69:17" - }, - { - "condition": { - "id": 7358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "12527:8:17", - "subExpression": { - "id": 7357, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7347, - "src": "12528:7:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7361, - "nodeType": "IfStatement", - "src": "12523:133:17", - "trueBody": { - "id": 7360, - "nodeType": "Block", - "src": "12537:119:17", - "statements": [ - { - "AST": { - "nativeSrc": "12576:70:17", - "nodeType": "YulBlock", - "src": "12576:70:17", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "result", - "nativeSrc": "12605:6:17", - "nodeType": "YulIdentifier", - "src": "12605:6:17" - }, - { - "kind": "number", - "nativeSrc": "12613:2:17", - "nodeType": "YulLiteral", - "src": "12613:2:17", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "12601:3:17", - "nodeType": "YulIdentifier", - "src": "12601:3:17" - }, - "nativeSrc": "12601:15:17", - "nodeType": "YulFunctionCall", - "src": "12601:15:17" - }, - { - "arguments": [ - { - "name": "result", - "nativeSrc": "12624:6:17", - "nodeType": "YulIdentifier", - "src": "12624:6:17" - } - ], - "functionName": { - "name": "mload", - "nativeSrc": "12618:5:17", - "nodeType": "YulIdentifier", - "src": "12618:5:17" - }, - "nativeSrc": "12618:13:17", - "nodeType": "YulFunctionCall", - "src": "12618:13:17" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "12594:6:17", - "nodeType": "YulIdentifier", - "src": "12594:6:17" - }, - "nativeSrc": "12594:38:17", - "nodeType": "YulFunctionCall", - "src": "12594:38:17" - }, - "nativeSrc": "12594:38:17", - "nodeType": "YulExpressionStatement", - "src": "12594:38:17" - } - ] - }, - "evmVersion": "paris", - "externalReferences": [ - { - "declaration": 7349, - "isOffset": false, - "isSlot": false, - "src": "12605:6:17", - "valueSize": 1 - }, - { - "declaration": 7349, - "isOffset": false, - "isSlot": false, - "src": "12624:6:17", - "valueSize": 1 - } - ], - "flags": [ - "memory-safe" - ], - "id": 7359, - "nodeType": "InlineAssembly", - "src": "12551:95:17" - } - ] - } - } - ] - }, - "documentation": { - "id": 7337, - "nodeType": "StructuredDocumentation", - "src": "11929:426:17", - "text": "@notice Executes the given call from this account.\n @dev Reverts if the call reverted.\n @dev Implementation taken from\n https://github.com/alchemyplatform/light-account/blob/43f625afdda544d5e5af9c370c9f4be0943e4e90/src/common/BaseLightAccount.sol#L125\n @param target The target call address.\n @param value The call value to user.\n @param data The raw call data." - }, - "id": 7363, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_call", - "nameLocation": "12369:5:17", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7344, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7339, - "mutability": "mutable", - "name": "target", - "nameLocation": "12383:6:17", - "nodeType": "VariableDeclaration", - "scope": 7363, - "src": "12375:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7338, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12375:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7341, - "mutability": "mutable", - "name": "value", - "nameLocation": "12399:5:17", - "nodeType": "VariableDeclaration", - "scope": 7363, - "src": "12391:13:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7340, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12391:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7343, - "mutability": "mutable", - "name": "data", - "nameLocation": "12419:4:17", - "nodeType": "VariableDeclaration", - "scope": 7363, - "src": "12406:17:17", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 7342, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "12406:5:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "12374:50:17" - }, - "returnParameters": { - "id": 7345, - "nodeType": "ParameterList", - "parameters": [], - "src": "12434:0:17" - }, - "scope": 7506, - "src": "12360:302:17", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "baseFunctions": [ - 6903 - ], - "body": { - "id": 7478, - "nodeType": "Block", - "src": "13076:1194:17", - "statements": [ - { - "assignments": [ - 7376 - ], - "declarations": [ - { - "constant": false, - "id": 7376, - "mutability": "mutable", - "name": "sigWrapper", - "nameLocation": "13110:10:17", - "nodeType": "VariableDeclaration", - "scope": 7478, - "src": "13086:34:17", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SignatureWrapper_$6947_memory_ptr", - "typeString": "struct GianoSmartWallet.SignatureWrapper" - }, - "typeName": { - "id": 7375, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 7374, - "name": "SignatureWrapper", - "nameLocations": [ - "13086:16:17" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 6947, - "src": "13086:16:17" - }, - "referencedDeclaration": 6947, - "src": "13086:16:17", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SignatureWrapper_$6947_storage_ptr", - "typeString": "struct GianoSmartWallet.SignatureWrapper" - } - }, - "visibility": "internal" - } - ], - "id": 7383, - "initialValue": { - "arguments": [ - { - "id": 7379, - "name": "signature", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7368, - "src": "13134:9:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - { - "components": [ - { - "id": 7380, - "name": "SignatureWrapper", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6947, - "src": "13146:16:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_SignatureWrapper_$6947_storage_ptr_$", - "typeString": "type(struct GianoSmartWallet.SignatureWrapper storage pointer)" - } - } - ], - "id": 7381, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13145:18:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_SignatureWrapper_$6947_storage_ptr_$", - "typeString": "type(struct GianoSmartWallet.SignatureWrapper storage pointer)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - }, - { - "typeIdentifier": "t_type$_t_struct$_SignatureWrapper_$6947_storage_ptr_$", - "typeString": "type(struct GianoSmartWallet.SignatureWrapper storage pointer)" - } - ], - "expression": { - "id": 7377, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "13123:3:17", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 7378, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "13127:6:17", - "memberName": "decode", - "nodeType": "MemberAccess", - "src": "13123:10:17", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 7382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13123:41:17", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_SignatureWrapper_$6947_memory_ptr", - "typeString": "struct GianoSmartWallet.SignatureWrapper memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13086:78:17" - }, - { - "assignments": [ - 7385 - ], - "declarations": [ - { - "constant": false, - "id": 7385, - "mutability": "mutable", - "name": "ownerBytes", - "nameLocation": "13187:10:17", + "nameLocation": "13515:6:30", "nodeType": "VariableDeclaration", - "scope": 7478, - "src": "13174:23:17", + "scope": 9040, + "src": "13502:19:30", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -220102,10 +239456,10 @@ "typeString": "bytes" }, "typeName": { - "id": 7384, + "id": 9026, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "13174:5:17", + "src": "13502:5:30", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -220114,57 +239468,495 @@ "visibility": "internal" } ], - "id": 7390, + "id": 9034, "initialValue": { "arguments": [ { + "id": 9032, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9021, + "src": "13551:4:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], "expression": { - "id": 7387, - "name": "sigWrapper", + "id": 9028, + "name": "target", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7376, - "src": "13213:10:17", + "referencedDeclaration": 9017, + "src": "13525:6:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_SignatureWrapper_$6947_memory_ptr", - "typeString": "struct GianoSmartWallet.SignatureWrapper memory" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 7388, + "id": 9029, "isConstant": false, - "isLValue": true, + "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "13224:10:17", - "memberName": "ownerIndex", + "memberLocation": "13532:4:30", + "memberName": "call", "nodeType": "MemberAccess", - "referencedDeclaration": 6943, - "src": "13213:21:17", + "src": "13525:11:30", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 9031, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "id": 9030, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9019, + "src": "13544:5:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "src": "13525:25:30", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 9033, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13525:31:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13487:69:30" + }, + { + "condition": { + "id": 9036, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "13570:8:30", + "subExpression": { + "id": 9035, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9025, + "src": "13571:7:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9039, + "nodeType": "IfStatement", + "src": "13566:133:30", + "trueBody": { + "id": 9038, + "nodeType": "Block", + "src": "13580:119:30", + "statements": [ + { + "AST": { + "nativeSrc": "13619:70:30", + "nodeType": "YulBlock", + "src": "13619:70:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "result", + "nativeSrc": "13648:6:30", + "nodeType": "YulIdentifier", + "src": "13648:6:30" + }, + { + "kind": "number", + "nativeSrc": "13656:2:30", + "nodeType": "YulLiteral", + "src": "13656:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13644:3:30", + "nodeType": "YulIdentifier", + "src": "13644:3:30" + }, + "nativeSrc": "13644:15:30", + "nodeType": "YulFunctionCall", + "src": "13644:15:30" + }, + { + "arguments": [ + { + "name": "result", + "nativeSrc": "13667:6:30", + "nodeType": "YulIdentifier", + "src": "13667:6:30" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "13661:5:30", + "nodeType": "YulIdentifier", + "src": "13661:5:30" + }, + "nativeSrc": "13661:13:30", + "nodeType": "YulFunctionCall", + "src": "13661:13:30" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "13637:6:30", + "nodeType": "YulIdentifier", + "src": "13637:6:30" + }, + "nativeSrc": "13637:38:30", + "nodeType": "YulFunctionCall", + "src": "13637:38:30" + }, + "nativeSrc": "13637:38:30", + "nodeType": "YulExpressionStatement", + "src": "13637:38:30" + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 9027, + "isOffset": false, + "isSlot": false, + "src": "13648:6:30", + "valueSize": 1 + }, + { + "declaration": 9027, + "isOffset": false, + "isSlot": false, + "src": "13667:6:30", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 9037, + "nodeType": "InlineAssembly", + "src": "13594:95:30" + } + ] + } + } + ] + }, + "documentation": { + "id": 9015, + "nodeType": "StructuredDocumentation", + "src": "12972:426:30", + "text": "@notice Executes the given call from this account.\n @dev Reverts if the call reverted.\n @dev Implementation taken from\n https://github.com/alchemyplatform/light-account/blob/43f625afdda544d5e5af9c370c9f4be0943e4e90/src/common/BaseLightAccount.sol#L125\n @param target The target call address.\n @param value The call value to user.\n @param data The raw call data." + }, + "id": 9041, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_call", + "nameLocation": "13412:5:30", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9022, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9017, + "mutability": "mutable", + "name": "target", + "nameLocation": "13426:6:30", + "nodeType": "VariableDeclaration", + "scope": 9041, + "src": "13418:14:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9016, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13418:7:30", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9019, + "mutability": "mutable", + "name": "value", + "nameLocation": "13442:5:30", + "nodeType": "VariableDeclaration", + "scope": 9041, + "src": "13434:13:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9018, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13434:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9021, + "mutability": "mutable", + "name": "data", + "nameLocation": "13462:4:30", + "nodeType": "VariableDeclaration", + "scope": 9041, + "src": "13449:17:30", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 9020, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "13449:5:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "13417:50:30" + }, + "returnParameters": { + "id": 9023, + "nodeType": "ParameterList", + "parameters": [], + "src": "13477:0:30" + }, + "scope": 9190, + "src": "13403:302:30", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "baseFunctions": [ + 8517 + ], + "body": { + "id": 9162, + "nodeType": "Block", + "src": "14110:1336:30", + "statements": [ + { + "assignments": [ + 9054 + ], + "declarations": [ + { + "constant": false, + "id": 9054, + "mutability": "mutable", + "name": "sigWrapper", + "nameLocation": "14144:10:30", + "nodeType": "VariableDeclaration", + "scope": 9162, + "src": "14120:34:30", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignatureWrapper_$8561_memory_ptr", + "typeString": "struct GianoSmartWallet.SignatureWrapper" + }, + "typeName": { + "id": 9053, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 9052, + "name": "SignatureWrapper", + "nameLocations": [ + "14120:16:30" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 8561, + "src": "14120:16:30" + }, + "referencedDeclaration": 8561, + "src": "14120:16:30", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignatureWrapper_$8561_storage_ptr", + "typeString": "struct GianoSmartWallet.SignatureWrapper" + } + }, + "visibility": "internal" + } + ], + "id": 9061, + "initialValue": { + "arguments": [ + { + "id": 9057, + "name": "signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9046, + "src": "14168:9:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + { + "components": [ + { + "id": 9058, + "name": "SignatureWrapper", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8561, + "src": "14180:16:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_SignatureWrapper_$8561_storage_ptr_$", + "typeString": "type(struct GianoSmartWallet.SignatureWrapper storage pointer)" + } + } + ], + "id": 9059, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "14179:18:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_SignatureWrapper_$8561_storage_ptr_$", + "typeString": "type(struct GianoSmartWallet.SignatureWrapper storage pointer)" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + }, + { + "typeIdentifier": "t_type$_t_struct$_SignatureWrapper_$8561_storage_ptr_$", + "typeString": "type(struct GianoSmartWallet.SignatureWrapper storage pointer)" } ], - "id": 7386, - "name": "ownerAtIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7899, - "src": "13200:12:17", + "expression": { + "id": 9055, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "14157:3:30", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9056, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "14161:6:30", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "14157:10:30", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (uint256) view returns (bytes memory)" + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" } }, - "id": 7389, + "id": 9060, "isConstant": false, "isLValue": false, "isPure": false, @@ -220173,15 +239965,178 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "13200:35:17", + "src": "14157:41:30", "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignatureWrapper_$8561_memory_ptr", + "typeString": "struct GianoSmartWallet.SignatureWrapper memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14120:78:30" + }, + { + "assignments": [ + 9063 + ], + "declarations": [ + { + "constant": false, + "id": 9063, + "mutability": "mutable", + "name": "ownerBytes", + "nameLocation": "14221:10:30", + "nodeType": "VariableDeclaration", + "scope": 9162, + "src": "14208:23:30", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 9062, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "14208:5:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 9066, + "initialValue": { + "expression": { + "id": 9064, + "name": "sigWrapper", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9054, + "src": "14234:10:30", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignatureWrapper_$8561_memory_ptr", + "typeString": "struct GianoSmartWallet.SignatureWrapper memory" + } + }, + "id": 9065, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14245:10:30", + "memberName": "ownerBytes", + "nodeType": "MemberAccess", + "referencedDeclaration": 8557, + "src": "14234:21:30", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "13174:61:17" + "src": "14208:47:30" + }, + { + "condition": { + "id": 9070, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "14348:25:30", + "subExpression": { + "arguments": [ + { + "id": 9068, + "name": "ownerBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9063, + "src": "14362:10:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9067, + "name": "isOwnerBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9596, + "src": "14349:12:30", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$_t_bool_$", + "typeString": "function (bytes memory) view returns (bool)" + } + }, + "id": 9069, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14349:24:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9074, + "nodeType": "IfStatement", + "src": "14344:68:30", + "trueBody": { + "id": 9073, + "nodeType": "Block", + "src": "14375:37:30", + "statements": [ + { + "expression": { + "hexValue": "66616c7365", + "id": 9071, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14396:5:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 9051, + "id": 9072, + "nodeType": "Return", + "src": "14389:12:30" + } + ] + } }, { "condition": { @@ -220189,33 +240144,33 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7394, + "id": 9078, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 7391, + "id": 9075, "name": "ownerBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7385, - "src": "13250:10:17", + "referencedDeclaration": 9063, + "src": "14426:10:30", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 7392, + "id": 9076, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "13261:6:17", + "memberLocation": "14437:6:30", "memberName": "length", "nodeType": "MemberAccess", - "src": "13250:17:17", + "src": "14426:17:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -220225,33 +240180,33 @@ "operator": "==", "rightExpression": { "hexValue": "3332", - "id": 7393, + "id": 9077, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "13271:2:17", + "src": "14447:2:30", "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" }, "value": "32" }, - "src": "13250:23:17", + "src": "14426:23:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 7427, + "id": 9111, "nodeType": "IfStatement", - "src": "13246:604:17", + "src": "14422:604:30", "trueBody": { - "id": 7426, + "id": 9110, "nodeType": "Block", - "src": "13275:575:17", + "src": "14451:575:30", "statements": [ { "condition": { @@ -220259,7 +240214,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7407, + "id": 9091, "isConstant": false, "isLValue": false, "isPure": false, @@ -220269,12 +240224,12 @@ { "arguments": [ { - "id": 7399, + "id": 9083, "name": "ownerBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7385, - "src": "13309:10:17", + "referencedDeclaration": 9063, + "src": "14485:10:30", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -220288,26 +240243,26 @@ "typeString": "bytes memory" } ], - "id": 7398, + "id": 9082, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "13301:7:17", + "src": "14477:7:30", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": { - "id": 7397, + "id": 9081, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13301:7:17", + "src": "14477:7:30", "typeDescriptions": {} } }, - "id": 7400, + "id": 9084, "isConstant": false, "isLValue": false, "isPure": false, @@ -220316,7 +240271,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "13301:19:17", + "src": "14477:19:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -220331,26 +240286,26 @@ "typeString": "bytes32" } ], - "id": 7396, + "id": 9080, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "13293:7:17", + "src": "14469:7:30", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 7395, + "id": 9079, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13293:7:17", + "src": "14469:7:30", "typeDescriptions": {} } }, - "id": 7401, + "id": 9085, "isConstant": false, "isLValue": false, "isPure": false, @@ -220359,7 +240314,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "13293:28:17", + "src": "14469:28:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -220372,22 +240327,22 @@ "expression": { "arguments": [ { - "id": 7404, + "id": 9088, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "13329:7:17", + "src": "14505:7:30", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint160_$", "typeString": "type(uint160)" }, "typeName": { - "id": 7403, + "id": 9087, "name": "uint160", "nodeType": "ElementaryTypeName", - "src": "13329:7:17", + "src": "14505:7:30", "typeDescriptions": {} } } @@ -220399,18 +240354,18 @@ "typeString": "type(uint160)" } ], - "id": 7402, + "id": 9086, "name": "type", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -27, - "src": "13324:4:17", + "src": "14500:4:30", "typeDescriptions": { "typeIdentifier": "t_function_metatype_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 7405, + "id": 9089, "isConstant": false, "isLValue": false, "isPure": true, @@ -220419,51 +240374,51 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "13324:13:17", + "src": "14500:13:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_magic_meta_type_t_uint160", "typeString": "type(uint160)" } }, - "id": 7406, + "id": 9090, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "13338:3:17", + "memberLocation": "14514:3:30", "memberName": "max", "nodeType": "MemberAccess", - "src": "13324:17:17", + "src": "14500:17:30", "typeDescriptions": { "typeIdentifier": "t_uint160", "typeString": "uint160" } }, - "src": "13293:48:17", + "src": "14469:48:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 7413, + "id": 9097, "nodeType": "IfStatement", - "src": "13289:318:17", + "src": "14465:318:30", "trueBody": { - "id": 7412, + "id": 9096, "nodeType": "Block", - "src": "13343:264:17", + "src": "14519:264:30", "statements": [ { "errorCall": { "arguments": [ { - "id": 7409, + "id": 9093, "name": "ownerBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7385, - "src": "13581:10:17", + "referencedDeclaration": 9063, + "src": "14757:10:30", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -220477,18 +240432,18 @@ "typeString": "bytes memory" } ], - "id": 7408, + "id": 9092, "name": "InvalidEthereumAddressOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7702, - "src": "13553:27:17", + "referencedDeclaration": 9414, + "src": "14729:27:30", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_bytes_memory_ptr_$returns$_t_error_$", "typeString": "function (bytes memory) pure returns (error)" } }, - "id": 7410, + "id": 9094, "isConstant": false, "isLValue": false, "isPure": false, @@ -220497,34 +240452,34 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "13553:39:17", + "src": "14729:39:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_error", "typeString": "error" } }, - "id": 7411, + "id": 9095, "nodeType": "RevertStatement", - "src": "13546:46:17" + "src": "14722:46:30" } ] } }, { "assignments": [ - 7415 + 9099 ], "declarations": [ { "constant": false, - "id": 7415, + "id": 9099, "mutability": "mutable", "name": "owner", - "nameLocation": "13629:5:17", + "nameLocation": "14805:5:30", "nodeType": "VariableDeclaration", - "scope": 7426, - "src": "13621:13:17", + "scope": 9110, + "src": "14797:13:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -220532,10 +240487,10 @@ "typeString": "address" }, "typeName": { - "id": 7414, + "id": 9098, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13621:7:17", + "src": "14797:7:30", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -220545,66 +240500,66 @@ "visibility": "internal" } ], - "id": 7416, + "id": 9100, "nodeType": "VariableDeclarationStatement", - "src": "13621:13:17" + "src": "14797:13:30" }, { "AST": { - "nativeSrc": "13673:67:17", + "nativeSrc": "14849:67:30", "nodeType": "YulBlock", - "src": "13673:67:17", + "src": "14849:67:30", "statements": [ { - "nativeSrc": "13691:35:17", + "nativeSrc": "14867:35:30", "nodeType": "YulAssignment", - "src": "13691:35:17", + "src": "14867:35:30", "value": { "arguments": [ { "arguments": [ { "name": "ownerBytes", - "nativeSrc": "13710:10:17", + "nativeSrc": "14886:10:30", "nodeType": "YulIdentifier", - "src": "13710:10:17" + "src": "14886:10:30" }, { "kind": "number", - "nativeSrc": "13722:2:17", + "nativeSrc": "14898:2:30", "nodeType": "YulLiteral", - "src": "13722:2:17", + "src": "14898:2:30", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "13706:3:17", + "nativeSrc": "14882:3:30", "nodeType": "YulIdentifier", - "src": "13706:3:17" + "src": "14882:3:30" }, - "nativeSrc": "13706:19:17", + "nativeSrc": "14882:19:30", "nodeType": "YulFunctionCall", - "src": "13706:19:17" + "src": "14882:19:30" } ], "functionName": { "name": "mload", - "nativeSrc": "13700:5:17", + "nativeSrc": "14876:5:30", "nodeType": "YulIdentifier", - "src": "13700:5:17" + "src": "14876:5:30" }, - "nativeSrc": "13700:26:17", + "nativeSrc": "14876:26:30", "nodeType": "YulFunctionCall", - "src": "13700:26:17" + "src": "14876:26:30" }, "variableNames": [ { "name": "owner", - "nativeSrc": "13691:5:17", + "nativeSrc": "14867:5:30", "nodeType": "YulIdentifier", - "src": "13691:5:17" + "src": "14867:5:30" } ] } @@ -220613,49 +240568,49 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 7415, + "declaration": 9099, "isOffset": false, "isSlot": false, - "src": "13691:5:17", + "src": "14867:5:30", "valueSize": 1 }, { - "declaration": 7385, + "declaration": 9063, "isOffset": false, "isSlot": false, - "src": "13710:10:17", + "src": "14886:10:30", "valueSize": 1 } ], "flags": [ "memory-safe" ], - "id": 7417, + "id": 9101, "nodeType": "InlineAssembly", - "src": "13648:92:17" + "src": "14824:92:30" }, { "expression": { "arguments": [ { - "id": 7420, + "id": 9104, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7415, - "src": "13801:5:17", + "referencedDeclaration": 9099, + "src": "14977:5:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 7421, + "id": 9105, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7366, - "src": "13808:4:17", + "referencedDeclaration": 9044, + "src": "14984:4:30", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -220663,27 +240618,27 @@ }, { "expression": { - "id": 7422, + "id": 9106, "name": "sigWrapper", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7376, - "src": "13814:10:17", + "referencedDeclaration": 9054, + "src": "14990:10:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_SignatureWrapper_$6947_memory_ptr", + "typeIdentifier": "t_struct$_SignatureWrapper_$8561_memory_ptr", "typeString": "struct GianoSmartWallet.SignatureWrapper memory" } }, - "id": 7423, + "id": 9107, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "13825:13:17", + "memberLocation": "15001:13:30", "memberName": "signatureData", "nodeType": "MemberAccess", - "referencedDeclaration": 6946, - "src": "13814:24:17", + "referencedDeclaration": 8560, + "src": "14990:24:30", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -220706,33 +240661,33 @@ } ], "expression": { - "id": 7418, + "id": 9102, "name": "SignatureCheckerLib", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6354, - "src": "13761:19:17", + "referencedDeclaration": 7960, + "src": "14937:19:30", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SignatureCheckerLib_$6354_$", + "typeIdentifier": "t_type$_t_contract$_SignatureCheckerLib_$7960_$", "typeString": "type(library SignatureCheckerLib)" } }, - "id": 7419, + "id": 9103, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "13781:19:17", + "memberLocation": "14957:19:30", "memberName": "isValidSignatureNow", "nodeType": "MemberAccess", - "referencedDeclaration": 6160, - "src": "13761:39:17", + "referencedDeclaration": 7766, + "src": "14937:39:30", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_bool_$", "typeString": "function (address,bytes32,bytes memory) view returns (bool)" } }, - "id": 7424, + "id": 9108, "isConstant": false, "isLValue": false, "isPure": false, @@ -220741,17 +240696,17 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "13761:78:17", + "src": "14937:78:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 7373, - "id": 7425, + "functionReturnParameters": 9051, + "id": 9109, "nodeType": "Return", - "src": "13754:85:17" + "src": "14930:85:30" } ] } @@ -220762,33 +240717,33 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7431, + "id": 9115, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 7428, + "id": 9112, "name": "ownerBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7385, - "src": "13864:10:17", + "referencedDeclaration": 9063, + "src": "15040:10:30", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 7429, + "id": 9113, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "13875:6:17", + "memberLocation": "15051:6:30", "memberName": "length", "nodeType": "MemberAccess", - "src": "13864:17:17", + "src": "15040:17:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -220798,49 +240753,49 @@ "operator": "==", "rightExpression": { "hexValue": "3634", - "id": 7430, + "id": 9114, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "13885:2:17", + "src": "15061:2:30", "typeDescriptions": { "typeIdentifier": "t_rational_64_by_1", "typeString": "int_const 64" }, "value": "64" }, - "src": "13864:23:17", + "src": "15040:23:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 7473, + "id": 9157, "nodeType": "IfStatement", - "src": "13860:351:17", + "src": "15036:351:30", "trueBody": { - "id": 7472, + "id": 9156, "nodeType": "Block", - "src": "13889:322:17", + "src": "15065:322:30", "statements": [ { "assignments": [ - 7433, - 7435 + 9117, + 9119 ], "declarations": [ { "constant": false, - "id": 7433, + "id": 9117, "mutability": "mutable", "name": "x", - "nameLocation": "13912:1:17", + "nameLocation": "15088:1:30", "nodeType": "VariableDeclaration", - "scope": 7472, - "src": "13904:9:17", + "scope": 9156, + "src": "15080:9:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -220848,10 +240803,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7432, + "id": 9116, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13904:7:17", + "src": "15080:7:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -220861,13 +240816,13 @@ }, { "constant": false, - "id": 7435, + "id": 9119, "mutability": "mutable", "name": "y", - "nameLocation": "13923:1:17", + "nameLocation": "15099:1:30", "nodeType": "VariableDeclaration", - "scope": 7472, - "src": "13915:9:17", + "scope": 9156, + "src": "15091:9:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -220875,10 +240830,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7434, + "id": 9118, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13915:7:17", + "src": "15091:7:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -220887,16 +240842,16 @@ "visibility": "internal" } ], - "id": 7445, + "id": 9129, "initialValue": { "arguments": [ { - "id": 7438, + "id": 9122, "name": "ownerBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7385, - "src": "13939:10:17", + "referencedDeclaration": 9063, + "src": "15115:10:30", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -220905,54 +240860,54 @@ { "components": [ { - "id": 7440, + "id": 9124, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "13952:7:17", + "src": "15128:7:30", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 7439, + "id": 9123, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13952:7:17", + "src": "15128:7:30", "typeDescriptions": {} } }, { - "id": 7442, + "id": 9126, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "13961:7:17", + "src": "15137:7:30", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 7441, + "id": 9125, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13961:7:17", + "src": "15137:7:30", "typeDescriptions": {} } } ], - "id": 7443, + "id": 9127, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "13951:18:17", + "src": "15127:18:30", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_type$_t_uint256_$_$_t_type$_t_uint256_$_$", "typeString": "tuple(type(uint256),type(uint256))" @@ -220971,32 +240926,32 @@ } ], "expression": { - "id": 7436, + "id": 9120, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "13928:3:17", + "src": "15104:3:30", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 7437, + "id": 9121, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "13932:6:17", + "memberLocation": "15108:6:30", "memberName": "decode", "nodeType": "MemberAccess", - "src": "13928:10:17", + "src": "15104:10:30", "typeDescriptions": { "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 7444, + "id": 9128, "isConstant": false, "isLValue": false, "isPure": false, @@ -221005,7 +240960,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "13928:42:17", + "src": "15104:42:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", @@ -221013,78 +240968,78 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "13903:67:17" + "src": "15079:67:30" }, { "assignments": [ - 7450 + 9134 ], "declarations": [ { "constant": false, - "id": 7450, + "id": 9134, "mutability": "mutable", "name": "auth", - "nameLocation": "14014:4:17", + "nameLocation": "15190:4:30", "nodeType": "VariableDeclaration", - "scope": 7472, - "src": "13985:33:17", + "scope": 9156, + "src": "15161:33:30", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8332_memory_ptr", + "typeIdentifier": "t_struct$_WebAuthnAuth_$10213_memory_ptr", "typeString": "struct WebAuthn.WebAuthnAuth" }, "typeName": { - "id": 7449, + "id": 9133, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 7448, + "id": 9132, "name": "WebAuthn.WebAuthnAuth", "nameLocations": [ - "13985:8:17", - "13994:12:17" + "15161:8:30", + "15170:12:30" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 8332, - "src": "13985:21:17" + "referencedDeclaration": 10213, + "src": "15161:21:30" }, - "referencedDeclaration": 8332, - "src": "13985:21:17", + "referencedDeclaration": 10213, + "src": "15161:21:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8332_storage_ptr", + "typeIdentifier": "t_struct$_WebAuthnAuth_$10213_storage_ptr", "typeString": "struct WebAuthn.WebAuthnAuth" } }, "visibility": "internal" } ], - "id": 7459, + "id": 9143, "initialValue": { "arguments": [ { "expression": { - "id": 7453, + "id": 9137, "name": "sigWrapper", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7376, - "src": "14032:10:17", + "referencedDeclaration": 9054, + "src": "15208:10:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_SignatureWrapper_$6947_memory_ptr", + "typeIdentifier": "t_struct$_SignatureWrapper_$8561_memory_ptr", "typeString": "struct GianoSmartWallet.SignatureWrapper memory" } }, - "id": 7454, + "id": 9138, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "14043:13:17", + "memberLocation": "15219:13:30", "memberName": "signatureData", "nodeType": "MemberAccess", - "referencedDeclaration": 6946, - "src": "14032:24:17", + "referencedDeclaration": 8560, + "src": "15208:24:30", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -221094,43 +241049,43 @@ "components": [ { "expression": { - "id": 7455, + "id": 9139, "name": "WebAuthn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8558, - "src": "14059:8:17", + "referencedDeclaration": 10439, + "src": "15235:8:30", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WebAuthn_$8558_$", + "typeIdentifier": "t_type$_t_contract$_WebAuthn_$10439_$", "typeString": "type(library WebAuthn)" } }, - "id": 7456, + "id": 9140, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "14068:12:17", + "memberLocation": "15244:12:30", "memberName": "WebAuthnAuth", "nodeType": "MemberAccess", - "referencedDeclaration": 8332, - "src": "14059:21:17", + "referencedDeclaration": 10213, + "src": "15235:21:30", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_WebAuthnAuth_$8332_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_WebAuthnAuth_$10213_storage_ptr_$", "typeString": "type(struct WebAuthn.WebAuthnAuth storage pointer)" } } ], - "id": 7457, + "id": 9141, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "14058:23:17", + "src": "15234:23:30", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_WebAuthnAuth_$8332_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_WebAuthnAuth_$10213_storage_ptr_$", "typeString": "type(struct WebAuthn.WebAuthnAuth storage pointer)" } } @@ -221142,37 +241097,37 @@ "typeString": "bytes memory" }, { - "typeIdentifier": "t_type$_t_struct$_WebAuthnAuth_$8332_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_WebAuthnAuth_$10213_storage_ptr_$", "typeString": "type(struct WebAuthn.WebAuthnAuth storage pointer)" } ], "expression": { - "id": 7451, + "id": 9135, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "14021:3:17", + "src": "15197:3:30", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 7452, + "id": 9136, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "14025:6:17", + "memberLocation": "15201:6:30", "memberName": "decode", "nodeType": "MemberAccess", - "src": "14021:10:17", + "src": "15197:10:30", "typeDescriptions": { "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 7458, + "id": 9142, "isConstant": false, "isLValue": false, "isPure": false, @@ -221181,15 +241136,15 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "14021:61:17", + "src": "15197:61:30", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8332_memory_ptr", + "typeIdentifier": "t_struct$_WebAuthnAuth_$10213_memory_ptr", "typeString": "struct WebAuthn.WebAuthnAuth memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "13985:97:17" + "src": "15161:97:30" }, { "expression": { @@ -221197,12 +241152,12 @@ { "arguments": [ { - "id": 7464, + "id": 9148, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7366, - "src": "14143:4:17", + "referencedDeclaration": 9044, + "src": "15319:4:30", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -221217,32 +241172,32 @@ } ], "expression": { - "id": 7462, + "id": 9146, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "14132:3:17", + "src": "15308:3:30", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 7463, + "id": 9147, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "14136:6:17", + "memberLocation": "15312:6:30", "memberName": "encode", "nodeType": "MemberAccess", - "src": "14132:10:17", + "src": "15308:10:30", "typeDescriptions": { "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 7465, + "id": 9149, "isConstant": false, "isLValue": false, "isPure": false, @@ -221251,7 +241206,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "14132:16:17", + "src": "15308:16:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -221260,14 +241215,14 @@ }, { "hexValue": "66616c7365", - "id": 7466, + "id": 9150, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "14161:5:17", + "src": "15337:5:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -221275,36 +241230,36 @@ "value": "false" }, { - "id": 7467, + "id": 9151, "name": "auth", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7450, - "src": "14182:4:17", + "referencedDeclaration": 9134, + "src": "15358:4:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8332_memory_ptr", + "typeIdentifier": "t_struct$_WebAuthnAuth_$10213_memory_ptr", "typeString": "struct WebAuthn.WebAuthnAuth memory" } }, { - "id": 7468, + "id": 9152, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7433, - "src": "14191:1:17", + "referencedDeclaration": 9117, + "src": "15367:1:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 7469, + "id": 9153, "name": "y", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7435, - "src": "14197:1:17", + "referencedDeclaration": 9119, + "src": "15373:1:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -221322,7 +241277,7 @@ "typeString": "bool" }, { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8332_memory_ptr", + "typeIdentifier": "t_struct$_WebAuthnAuth_$10213_memory_ptr", "typeString": "struct WebAuthn.WebAuthnAuth memory" }, { @@ -221335,44 +241290,44 @@ } ], "expression": { - "id": 7460, + "id": 9144, "name": "WebAuthn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8558, - "src": "14104:8:17", + "referencedDeclaration": 10439, + "src": "15280:8:30", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WebAuthn_$8558_$", + "typeIdentifier": "t_type$_t_contract$_WebAuthn_$10439_$", "typeString": "type(library WebAuthn)" } }, - "id": 7461, + "id": 9145, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "14113:6:17", + "memberLocation": "15289:6:30", "memberName": "verify", "nodeType": "MemberAccess", - "referencedDeclaration": 8557, - "src": "14104:15:17", + "referencedDeclaration": 10438, + "src": "15280:15:30", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$_t_bool_$_t_struct$_WebAuthnAuth_$8332_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$_t_bool_$_t_struct$_WebAuthnAuth_$10213_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bool_$", "typeString": "function (bytes memory,bool,struct WebAuthn.WebAuthnAuth memory,uint256,uint256) view returns (bool)" } }, - "id": 7470, + "id": 9154, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [ - "14121:9:17", - "14150:9:17", - "14168:12:17", - "14188:1:17", - "14194:1:17" + "15297:9:30", + "15326:9:30", + "15344:12:30", + "15364:1:30", + "15370:1:30" ], "names": [ "challenge", @@ -221382,17 +241337,17 @@ "y" ], "nodeType": "FunctionCall", - "src": "14104:96:17", + "src": "15280:96:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 7373, - "id": 7471, + "functionReturnParameters": 9051, + "id": 9155, "nodeType": "Return", - "src": "14097:103:17" + "src": "15273:103:30" } ] } @@ -221401,12 +241356,12 @@ "errorCall": { "arguments": [ { - "id": 7475, + "id": 9159, "name": "ownerBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7385, - "src": "14252:10:17", + "referencedDeclaration": 9063, + "src": "15428:10:30", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -221420,18 +241375,18 @@ "typeString": "bytes memory" } ], - "id": 7474, + "id": 9158, "name": "InvalidOwnerBytesLength", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7697, - "src": "14228:23:17", + "referencedDeclaration": 9409, + "src": "15404:23:30", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_bytes_memory_ptr_$returns$_t_error_$", "typeString": "function (bytes memory) pure returns (error)" } }, - "id": 7476, + "id": 9160, "isConstant": false, "isLValue": false, "isPure": false, @@ -221440,51 +241395,51 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "14228:35:17", + "src": "15404:35:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_error", "typeString": "error" } }, - "id": 7477, + "id": 9161, "nodeType": "RevertStatement", - "src": "14221:42:17" + "src": "15397:42:30" } ] }, "documentation": { - "id": 7364, + "id": 9042, "nodeType": "StructuredDocumentation", - "src": "12668:290:17", - "text": "@inheritdoc ERC1271\n @dev Used by both `ERC1271.isValidSignature` AND `IAccount.validateUserOp` signature validation.\n @dev Reverts if owner at `ownerIndex` is not compatible with `signature` format.\n @param signature ABI encoded `SignatureWrapper`." + "src": "13711:281:30", + "text": "@inheritdoc ERC1271\n @dev Used by both `ERC1271.isValidSignature` AND `IAccount.validateUserOp` signature validation.\n @dev Reverts if `ownerBytes` is not compatible with `signature` format.\n @param signature ABI encoded `SignatureWrapper`." }, - "id": 7479, + "id": 9163, "implemented": true, "kind": "function", "modifiers": [], "name": "_isValidSignature", - "nameLocation": "12972:17:17", + "nameLocation": "14006:17:30", "nodeType": "FunctionDefinition", "overrides": { - "id": 7370, + "id": 9048, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "13052:8:17" + "src": "14086:8:30" }, "parameters": { - "id": 7369, + "id": 9047, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7366, + "id": 9044, "mutability": "mutable", "name": "hash", - "nameLocation": "12998:4:17", + "nameLocation": "14032:4:30", "nodeType": "VariableDeclaration", - "scope": 7479, - "src": "12990:12:17", + "scope": 9163, + "src": "14024:12:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -221492,10 +241447,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7365, + "id": 9043, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12990:7:17", + "src": "14024:7:30", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -221505,13 +241460,13 @@ }, { "constant": false, - "id": 7368, + "id": 9046, "mutability": "mutable", "name": "signature", - "nameLocation": "13019:9:17", + "nameLocation": "14053:9:30", "nodeType": "VariableDeclaration", - "scope": 7479, - "src": "13004:24:17", + "scope": 9163, + "src": "14038:24:30", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -221519,10 +241474,10 @@ "typeString": "bytes" }, "typeName": { - "id": 7367, + "id": 9045, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "13004:5:17", + "src": "14038:5:30", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -221531,21 +241486,21 @@ "visibility": "internal" } ], - "src": "12989:40:17" + "src": "14023:40:30" }, "returnParameters": { - "id": 7373, + "id": 9051, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7372, + "id": 9050, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 7479, - "src": "13070:4:17", + "scope": 9163, + "src": "14104:4:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -221553,10 +241508,10 @@ "typeString": "bool" }, "typeName": { - "id": 7371, + "id": 9049, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "13070:4:17", + "src": "14104:4:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -221565,84 +241520,84 @@ "visibility": "internal" } ], - "src": "13069:6:17" + "src": "14103:6:30" }, - "scope": 7506, - "src": "12963:1307:17", + "scope": 9190, + "src": "13997:1449:30", "stateMutability": "view", "virtual": true, "visibility": "internal" }, { "baseFunctions": [ - 6383 + 7989 ], "body": { - "id": 7489, + "id": 9173, "nodeType": "Block", - "src": "14546:2:17", + "src": "15722:2:30", "statements": [] }, "documentation": { - "id": 7480, + "id": 9164, "nodeType": "StructuredDocumentation", - "src": "14276:171:17", + "src": "15452:171:30", "text": "@inheritdoc UUPSUpgradeable\n @dev Authorization logic is only based on the `msg.sender` being an owner of this account,\n or `address(this)`." }, - "id": 7490, + "id": 9174, "implemented": true, "kind": "function", "modifiers": [ { - "id": 7487, + "id": 9171, "kind": "modifierInvocation", "modifierName": { - "id": 7486, + "id": 9170, "name": "onlyOwner", "nameLocations": [ - "14536:9:17" + "15712:9:30" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 7732, - "src": "14536:9:17" + "referencedDeclaration": 9444, + "src": "15712:9:30" }, "nodeType": "ModifierInvocation", - "src": "14536:9:17" + "src": "15712:9:30" } ], "name": "_authorizeUpgrade", - "nameLocation": "14461:17:17", + "nameLocation": "15637:17:30", "nodeType": "FunctionDefinition", "overrides": { - "id": 7485, + "id": 9169, "nodeType": "OverrideSpecifier", "overrides": [ { - "id": 7484, + "id": 9168, "name": "UUPSUpgradeable", "nameLocations": [ - "14519:15:17" + "15695:15:30" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 6411, - "src": "14519:15:17" + "referencedDeclaration": 8017, + "src": "15695:15:30" } ], - "src": "14510:25:17" + "src": "15686:25:30" }, "parameters": { - "id": 7483, + "id": 9167, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7482, + "id": 9166, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 7490, - "src": "14479:7:17", + "scope": 9174, + "src": "15655:7:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -221650,10 +241605,10 @@ "typeString": "address" }, "typeName": { - "id": 7481, + "id": 9165, "name": "address", "nodeType": "ElementaryTypeName", - "src": "14479:7:17", + "src": "15655:7:30", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -221663,42 +241618,42 @@ "visibility": "internal" } ], - "src": "14478:9:17" + "src": "15654:9:30" }, "returnParameters": { - "id": 7488, + "id": 9172, "nodeType": "ParameterList", "parameters": [], - "src": "14546:0:17" + "src": "15722:0:30" }, - "scope": 7506, - "src": "14452:96:17", + "scope": 9190, + "src": "15628:96:30", "stateMutability": "view", "virtual": true, "visibility": "internal" }, { "baseFunctions": [ - 6893 + 8507 ], "body": { - "id": 7504, + "id": 9188, "nodeType": "Block", - "src": "14686:51:17", + "src": "15862:51:30", "statements": [ { "expression": { "components": [ { "hexValue": "4769616e6f20536d6172742057616c6c6574", - "id": 7500, + "id": 9184, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14704:20:17", + "src": "15880:20:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_321a444b6eee393fdfbee13e3222c9c543be2342dd1ac24e520dc15d09993511", "typeString": "literal_string \"Giano Smart Wallet\"" @@ -221707,14 +241662,14 @@ }, { "hexValue": "31", - "id": 7501, + "id": 9185, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14726:3:17", + "src": "15902:3:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6", "typeString": "literal_string \"1\"" @@ -221722,75 +241677,75 @@ "value": "1" } ], - "id": 7502, + "id": 9186, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "14703:27:17", + "src": "15879:27:30", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_stringliteral_321a444b6eee393fdfbee13e3222c9c543be2342dd1ac24e520dc15d09993511_$_t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6_$", "typeString": "tuple(literal_string \"Giano Smart Wallet\",literal_string \"1\")" } }, - "functionReturnParameters": 7499, - "id": 7503, + "functionReturnParameters": 9183, + "id": 9187, "nodeType": "Return", - "src": "14696:34:17" + "src": "15872:34:30" } ] }, "documentation": { - "id": 7491, + "id": 9175, "nodeType": "StructuredDocumentation", - "src": "14554:23:17", + "src": "15730:23:30", "text": "@inheritdoc ERC1271" }, - "id": 7505, + "id": 9189, "implemented": true, "kind": "function", "modifiers": [], "name": "_domainNameAndVersion", - "nameLocation": "14591:21:17", + "nameLocation": "15767:21:30", "nodeType": "FunctionDefinition", "overrides": { - "id": 7494, + "id": 9178, "nodeType": "OverrideSpecifier", "overrides": [ { - "id": 7493, + "id": 9177, "name": "ERC1271", "nameLocations": [ - "14638:7:17" + "15814:7:30" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 6904, - "src": "14638:7:17" + "referencedDeclaration": 8518, + "src": "15814:7:30" } ], - "src": "14629:17:17" + "src": "15805:17:30" }, "parameters": { - "id": 7492, + "id": 9176, "nodeType": "ParameterList", "parameters": [], - "src": "14612:2:17" + "src": "15788:2:30" }, "returnParameters": { - "id": 7499, + "id": 9183, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7496, + "id": 9180, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 7505, - "src": "14656:13:17", + "scope": 9189, + "src": "15832:13:30", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -221798,10 +241753,10 @@ "typeString": "string" }, "typeName": { - "id": 7495, + "id": 9179, "name": "string", "nodeType": "ElementaryTypeName", - "src": "14656:6:17", + "src": "15832:6:30", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -221811,13 +241766,13 @@ }, { "constant": false, - "id": 7498, + "id": 9182, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 7505, - "src": "14671:13:17", + "scope": 9189, + "src": "15847:13:30", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -221825,10 +241780,10 @@ "typeString": "string" }, "typeName": { - "id": 7497, + "id": 9181, "name": "string", "nodeType": "ElementaryTypeName", - "src": "14671:6:17", + "src": "15847:6:30", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -221837,66 +241792,67 @@ "visibility": "internal" } ], - "src": "14655:30:17" + "src": "15831:30:30" }, - "scope": 7506, - "src": "14582:155:17", + "scope": 9190, + "src": "15758:155:30", "stateMutability": "pure", "virtual": false, "visibility": "internal" } ], - "scope": 7507, - "src": "1195:13544:17", + "scope": 9191, + "src": "1195:14720:30", "usedErrors": [ - 2399, - 2454, - 6364, - 6432, - 6434, - 6965, - 6970, - 6975, - 7673, - 7678, - 7683, - 7692, - 7697, - 7702, - 7705, - 7710 + 4005, + 4060, + 7970, + 8038, + 8040, + 8579, + 8584, + 8589, + 8594, + 9385, + 9390, + 9395, + 9404, + 9409, + 9414, + 9417, + 9422 ], "usedEvents": [ - 6369, - 7717, - 7724 + 7975, + 9429, + 9436 ] } ], - "src": "32:14708:17" + "src": "32:15884:30" }, - "id": 17 + "id": 30 }, "src/GianoSmartWalletFactory.sol": { "ast": { "absolutePath": "src/GianoSmartWalletFactory.sol", "exportedSymbols": { "GianoSmartWallet": [ - 7506 + 9190 ], "GianoSmartWalletFactory": [ - 7645 + 9357 ], "LibClone": [ - 5093 + 6699 ] }, - "id": 7646, + "id": 9358, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 7508, + "id": 9192, "literals": [ "solidity", "^", @@ -221904,26 +241860,26 @@ ".4" ], "nodeType": "PragmaDirective", - "src": "32:23:18" + "src": "32:23:31" }, { "absolutePath": "src/GianoSmartWallet.sol", "file": "./GianoSmartWallet.sol", - "id": 7510, + "id": 9194, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 7646, - "sourceUnit": 7507, - "src": "57:56:18", + "scope": 9358, + "sourceUnit": 9191, + "src": "57:56:31", "symbolAliases": [ { "foreign": { - "id": 7509, + "id": 9193, "name": "GianoSmartWallet", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7506, - "src": "65:16:18", + "referencedDeclaration": 9190, + "src": "65:16:31", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -221934,21 +241890,21 @@ { "absolutePath": "solady/utils/LibClone.sol", "file": "solady/utils/LibClone.sol", - "id": 7512, + "id": 9196, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 7646, - "sourceUnit": 5094, - "src": "114:51:18", + "scope": 9358, + "sourceUnit": 6700, + "src": "114:51:31", "symbolAliases": [ { "foreign": { - "id": 7511, + "id": 9195, "name": "LibClone", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5093, - "src": "122:8:18", + "referencedDeclaration": 6699, + "src": "122:8:31", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -221963,36 +241919,36 @@ "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 7513, + "id": 9197, "nodeType": "StructuredDocumentation", - "src": "167:358:18", + "src": "167:358:31", "text": "@title Giano Smart Wallet Factory\n @notice GianoSmartWallet factory, based on Solady's ERC4337Factory.\n @author Applied Blockchain (https://github.com/appliedblockchain/giano)\n @author Coinbase (https://github.com/coinbase/smart-wallet)\n @author Solady (https://github.com/vectorized/solady/blob/main/src/accounts/ERC4337Factory.sol)" }, "fullyImplemented": true, - "id": 7645, + "id": 9357, "linearizedBaseContracts": [ - 7645 + 9357 ], "name": "GianoSmartWalletFactory", - "nameLocation": "534:23:18", + "nameLocation": "534:23:31", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "documentation": { - "id": 7514, + "id": 9198, "nodeType": "StructuredDocumentation", - "src": "564:91:18", + "src": "564:91:31", "text": "@notice Address of the ERC-4337 implementation used as implementation for new accounts." }, "functionSelector": "5c60da1b", - "id": 7516, + "id": 9200, "mutability": "immutable", "name": "implementation", - "nameLocation": "685:14:18", + "nameLocation": "685:14:31", "nodeType": "VariableDeclaration", - "scope": 7645, - "src": "660:39:18", + "scope": 9357, + "src": "660:39:31", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -222000,10 +241956,10 @@ "typeString": "address" }, "typeName": { - "id": 7515, + "id": 9199, "name": "address", "nodeType": "ElementaryTypeName", - "src": "660:7:18", + "src": "660:7:31", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -222013,45 +241969,298 @@ "visibility": "public" }, { + "anonymous": false, "documentation": { - "id": 7517, + "id": 9201, "nodeType": "StructuredDocumentation", - "src": "706:92:18", + "src": "706:219:31", + "text": "@notice Emitted when a new account is created.\n @param account The address of the created account.\n @param owners Array of initial owners.\n @param nonce The nonce of the created account." + }, + "eventSelector": "f8e246d8281c915feaf5c1ffd75d9a144f6dbdbbf545e286088661b19d8028f4", + "id": 9210, + "name": "AccountCreated", + "nameLocation": "936:14:31", + "nodeType": "EventDefinition", + "parameters": { + "id": 9209, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9203, + "indexed": true, + "mutability": "mutable", + "name": "account", + "nameLocation": "967:7:31", + "nodeType": "VariableDeclaration", + "scope": 9210, + "src": "951:23:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9202, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "951:7:31", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9206, + "indexed": false, + "mutability": "mutable", + "name": "owners", + "nameLocation": "984:6:31", + "nodeType": "VariableDeclaration", + "scope": 9210, + "src": "976:14:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes[]" + }, + "typeName": { + "baseType": { + "id": 9204, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "976:5:31", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "id": 9205, + "nodeType": "ArrayTypeName", + "src": "976:7:31", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", + "typeString": "bytes[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9208, + "indexed": false, + "mutability": "mutable", + "name": "nonce", + "nameLocation": "1000:5:31", + "nodeType": "VariableDeclaration", + "scope": 9210, + "src": "992:13:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9207, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "992:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "950:56:31" + }, + "src": "930:77:31" + }, + { + "documentation": { + "id": 9211, + "nodeType": "StructuredDocumentation", + "src": "1013:88:31", + "text": "@notice Thrown when trying to construct with an implementation that is not deployed." + }, + "errorSelector": "870dfeb7", + "id": 9213, + "name": "ImplementationUndeployed", + "nameLocation": "1112:24:31", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 9212, + "nodeType": "ParameterList", + "parameters": [], + "src": "1136:2:31" + }, + "src": "1106:33:31" + }, + { + "documentation": { + "id": 9214, + "nodeType": "StructuredDocumentation", + "src": "1146:92:31", "text": "@notice Thrown when trying to create a new `GianoSmartWallet` account without any owner." }, "errorSelector": "3c776be1", - "id": 7519, + "id": 9216, "name": "OwnerRequired", - "nameLocation": "809:13:18", + "nameLocation": "1249:13:31", "nodeType": "ErrorDefinition", "parameters": { - "id": 7518, + "id": 9215, "nodeType": "ParameterList", "parameters": [], - "src": "822:2:18" + "src": "1262:2:31" }, - "src": "803:22:18" + "src": "1243:22:31" }, { "body": { - "id": 7529, + "id": 9235, "nodeType": "Block", - "src": "1146:49:18", + "src": "1586:130:31", "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 9222, + "name": "implementation_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9219, + "src": "1600:15:31", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 9223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1616:4:31", + "memberName": "code", + "nodeType": "MemberAccess", + "src": "1600:20:31", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 9224, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1621:6:31", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1600:27:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 9225, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1631:1:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1600:32:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9230, + "nodeType": "IfStatement", + "src": "1596:71:31", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 9227, + "name": "ImplementationUndeployed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9213, + "src": "1641:24:31", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$_t_error_$", + "typeString": "function () pure returns (error)" + } + }, + "id": 9228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1641:26:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_error", + "typeString": "error" + } + }, + "id": 9229, + "nodeType": "RevertStatement", + "src": "1634:33:31" + } + }, { "expression": { - "id": 7527, + "id": 9233, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 7525, + "id": 9231, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7516, - "src": "1156:14:18", + "referencedDeclaration": 9200, + "src": "1677:14:31", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -222060,36 +242269,36 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 7526, + "id": 9232, "name": "implementation_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7522, - "src": "1173:15:18", + "referencedDeclaration": 9219, + "src": "1694:15:31", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1156:32:18", + "src": "1677:32:31", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 7528, + "id": 9234, "nodeType": "ExpressionStatement", - "src": "1156:32:18" + "src": "1677:32:31" } ] }, "documentation": { - "id": 7520, + "id": 9217, "nodeType": "StructuredDocumentation", - "src": "831:265:18", + "src": "1271:265:31", "text": "@notice Factory constructor used to initialize the implementation address to use for future\n GianoSmartWallet deployments.\n @param implementation_ The address of the GianoSmartWallet implementation which new accounts will proxy to." }, - "id": 7530, + "id": 9236, "implemented": true, "kind": "constructor", "modifiers": [], @@ -222097,18 +242306,18 @@ "nameLocation": "-1:-1:-1", "nodeType": "FunctionDefinition", "parameters": { - "id": 7523, + "id": 9220, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7522, + "id": 9219, "mutability": "mutable", "name": "implementation_", - "nameLocation": "1121:15:18", + "nameLocation": "1561:15:31", "nodeType": "VariableDeclaration", - "scope": 7530, - "src": "1113:23:18", + "scope": 9236, + "src": "1553:23:31", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -222116,10 +242325,10 @@ "typeString": "address" }, "typeName": { - "id": 7521, + "id": 9218, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1113:7:18", + "src": "1553:7:31", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -222129,25 +242338,25 @@ "visibility": "internal" } ], - "src": "1112:25:18" + "src": "1552:25:31" }, "returnParameters": { - "id": 7524, + "id": 9221, "nodeType": "ParameterList", "parameters": [], - "src": "1146:0:18" + "src": "1586:0:31" }, - "scope": 7645, - "src": "1101:94:18", + "scope": 9357, + "src": "1541:175:31", "stateMutability": "payable", "virtual": false, "visibility": "public" }, { "body": { - "id": 7585, + "id": 9297, "nodeType": "Block", - "src": "2067:379:18", + "src": "2588:443:31", "statements": [ { "condition": { @@ -222155,33 +242364,33 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7545, + "id": 9251, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 7542, + "id": 9248, "name": "owners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7534, - "src": "2081:6:18", + "referencedDeclaration": 9240, + "src": "2602:6:31", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", "typeString": "bytes calldata[] calldata" } }, - "id": 7543, + "id": 9249, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "2088:6:18", + "memberLocation": "2609:6:31", "memberName": "length", "nodeType": "MemberAccess", - "src": "2081:13:18", + "src": "2602:13:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -222191,51 +242400,51 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 7544, + "id": 9250, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2098:1:18", + "src": "2619:1:31", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "2081:18:18", + "src": "2602:18:31", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 7550, + "id": 9256, "nodeType": "IfStatement", - "src": "2077:71:18", + "src": "2598:71:31", "trueBody": { - "id": 7549, + "id": 9255, "nodeType": "Block", - "src": "2101:47:18", + "src": "2622:47:31", "statements": [ { "errorCall": { "arguments": [], "expression": { "argumentTypes": [], - "id": 7546, + "id": 9252, "name": "OwnerRequired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7519, - "src": "2122:13:18", + "referencedDeclaration": 9216, + "src": "2643:13:31", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$__$returns$_t_error_$", "typeString": "function () pure returns (error)" } }, - "id": 7547, + "id": 9253, "isConstant": false, "isLValue": false, "isPure": false, @@ -222244,35 +242453,35 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2122:15:18", + "src": "2643:15:31", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_error", "typeString": "error" } }, - "id": 7548, + "id": 9254, "nodeType": "RevertStatement", - "src": "2115:22:18" + "src": "2636:22:31" } ] } }, { "assignments": [ - 7552, - 7554 + 9258, + 9260 ], "declarations": [ { "constant": false, - "id": 7552, + "id": 9258, "mutability": "mutable", "name": "alreadyDeployed", - "nameLocation": "2164:15:18", + "nameLocation": "2685:15:31", "nodeType": "VariableDeclaration", - "scope": 7585, - "src": "2159:20:18", + "scope": 9297, + "src": "2680:20:31", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -222280,10 +242489,10 @@ "typeString": "bool" }, "typeName": { - "id": 7551, + "id": 9257, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2159:4:18", + "src": "2680:4:31", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -222293,13 +242502,13 @@ }, { "constant": false, - "id": 7554, + "id": 9260, "mutability": "mutable", "name": "accountAddress", - "nameLocation": "2189:14:18", + "nameLocation": "2710:14:31", "nodeType": "VariableDeclaration", - "scope": 7585, - "src": "2181:22:18", + "scope": 9297, + "src": "2702:22:31", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -222307,10 +242516,10 @@ "typeString": "address" }, "typeName": { - "id": 7553, + "id": 9259, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2181:7:18", + "src": "2702:7:31", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -222320,43 +242529,43 @@ "visibility": "internal" } ], - "id": 7565, + "id": 9271, "initialValue": { "arguments": [ { "expression": { - "id": 7557, + "id": 9263, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "2243:3:18", + "src": "2764:3:31", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 7558, + "id": 9264, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "2247:5:18", + "memberLocation": "2768:5:31", "memberName": "value", "nodeType": "MemberAccess", - "src": "2243:9:18", + "src": "2764:9:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 7559, + "id": 9265, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7516, - "src": "2254:14:18", + "referencedDeclaration": 9200, + "src": "2775:14:31", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -222365,24 +242574,24 @@ { "arguments": [ { - "id": 7561, + "id": 9267, "name": "owners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7534, - "src": "2279:6:18", + "referencedDeclaration": 9240, + "src": "2800:6:31", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", "typeString": "bytes calldata[] calldata" } }, { - "id": 7562, + "id": 9268, "name": "nonce", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7536, - "src": "2287:5:18", + "referencedDeclaration": 9242, + "src": "2808:5:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -222400,18 +242609,18 @@ "typeString": "uint256" } ], - "id": 7560, + "id": 9266, "name": "_getSalt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7644, - "src": "2270:8:18", + "referencedDeclaration": 9356, + "src": "2791:8:31", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr_$_t_uint256_$returns$_t_bytes32_$", "typeString": "function (bytes calldata[] calldata,uint256) pure returns (bytes32)" } }, - "id": 7563, + "id": 9269, "isConstant": false, "isLValue": false, "isPure": false, @@ -222420,7 +242629,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2270:23:18", + "src": "2791:23:31", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -222444,33 +242653,33 @@ } ], "expression": { - "id": 7555, + "id": 9261, "name": "LibClone", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5093, - "src": "2207:8:18", + "referencedDeclaration": 6699, + "src": "2728:8:31", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibClone_$5093_$", + "typeIdentifier": "t_type$_t_contract$_LibClone_$6699_$", "typeString": "type(library LibClone)" } }, - "id": 7556, + "id": 9262, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "2216:26:18", + "memberLocation": "2737:26:31", "memberName": "createDeterministicERC1967", "nodeType": "MemberAccess", - "referencedDeclaration": 3631, - "src": "2207:35:18", + "referencedDeclaration": 5237, + "src": "2728:35:31", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes32_$returns$_t_bool_$_t_address_$", "typeString": "function (uint256,address,bytes32) returns (bool,address)" } }, - "id": 7564, + "id": 9270, "isConstant": false, "isLValue": false, "isPure": false, @@ -222479,7 +242688,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2207:87:18", + "src": "2728:87:31", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_address_$", @@ -222487,24 +242696,24 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "2158:136:18" + "src": "2679:136:31" }, { "expression": { - "id": 7573, + "id": 9279, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 7566, + "id": 9272, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7540, - "src": "2305:7:18", + "referencedDeclaration": 9246, + "src": "2826:7:31", "typeDescriptions": { - "typeIdentifier": "t_contract$_GianoSmartWallet_$7506", + "typeIdentifier": "t_contract$_GianoSmartWallet_$9190", "typeString": "contract GianoSmartWallet" } }, @@ -222515,12 +242724,12 @@ { "arguments": [ { - "id": 7570, + "id": 9276, "name": "accountAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7554, - "src": "2340:14:18", + "referencedDeclaration": 9260, + "src": "2861:14:31", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -222534,27 +242743,27 @@ "typeString": "address" } ], - "id": 7569, + "id": 9275, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2332:8:18", + "src": "2853:8:31", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_payable_$", "typeString": "type(address payable)" }, "typeName": { - "id": 7568, + "id": 9274, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2332:8:18", + "src": "2853:8:31", "stateMutability": "payable", "typeDescriptions": {} } }, - "id": 7571, + "id": 9277, "isConstant": false, "isLValue": false, "isPure": false, @@ -222563,7 +242772,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2332:23:18", + "src": "2853:23:31", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -222578,18 +242787,18 @@ "typeString": "address payable" } ], - "id": 7567, + "id": 9273, "name": "GianoSmartWallet", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7506, - "src": "2315:16:18", + "referencedDeclaration": 9190, + "src": "2836:16:31", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_GianoSmartWallet_$7506_$", + "typeIdentifier": "t_type$_t_contract$_GianoSmartWallet_$9190_$", "typeString": "type(contract GianoSmartWallet)" } }, - "id": 7572, + "id": 9278, "isConstant": false, "isLValue": false, "isPure": false, @@ -222598,26 +242807,26 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2315:41:18", + "src": "2836:41:31", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_GianoSmartWallet_$7506", + "typeIdentifier": "t_contract$_GianoSmartWallet_$9190", "typeString": "contract GianoSmartWallet" } }, - "src": "2305:51:18", + "src": "2826:51:31", "typeDescriptions": { - "typeIdentifier": "t_contract$_GianoSmartWallet_$7506", + "typeIdentifier": "t_contract$_GianoSmartWallet_$9190", "typeString": "contract GianoSmartWallet" } }, - "id": 7574, + "id": 9280, "nodeType": "ExpressionStatement", - "src": "2305:51:18" + "src": "2826:51:31" }, { "condition": { - "id": 7576, + "id": 9282, "isConstant": false, "isLValue": false, "isPure": false, @@ -222625,14 +242834,14 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "2371:16:18", + "src": "2892:16:31", "subExpression": { - "id": 7575, + "id": 9281, "name": "alreadyDeployed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7552, - "src": "2372:15:18", + "referencedDeclaration": 9258, + "src": "2893:15:31", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -222643,24 +242852,110 @@ "typeString": "bool" } }, - "id": 7584, + "id": 9296, "nodeType": "IfStatement", - "src": "2367:73:18", + "src": "2888:137:31", "trueBody": { - "id": 7583, + "id": 9295, "nodeType": "Block", - "src": "2389:51:18", + "src": "2910:115:31", "statements": [ + { + "eventCall": { + "arguments": [ + { + "id": 9284, + "name": "accountAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9260, + "src": "2944:14:31", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9285, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9240, + "src": "2960:6:31", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", + "typeString": "bytes calldata[] calldata" + } + }, + { + "id": 9286, + "name": "nonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9242, + "src": "2968:5:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", + "typeString": "bytes calldata[] calldata" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 9283, + "name": "AccountCreated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9210, + "src": "2929:14:31", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (address,bytes memory[] memory,uint256)" + } + }, + "id": 9287, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2929:45:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9288, + "nodeType": "EmitStatement", + "src": "2924:50:31" + }, { "expression": { "arguments": [ { - "id": 7580, + "id": 9292, "name": "owners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7534, - "src": "2422:6:18", + "referencedDeclaration": 9240, + "src": "3007:6:31", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", "typeString": "bytes calldata[] calldata" @@ -222675,33 +242970,33 @@ } ], "expression": { - "id": 7577, + "id": 9289, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7540, - "src": "2403:7:18", + "referencedDeclaration": 9246, + "src": "2988:7:31", "typeDescriptions": { - "typeIdentifier": "t_contract$_GianoSmartWallet_$7506", + "typeIdentifier": "t_contract$_GianoSmartWallet_$9190", "typeString": "contract GianoSmartWallet" } }, - "id": 7579, + "id": 9291, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "2411:10:18", + "memberLocation": "2996:10:31", "memberName": "initialize", "nodeType": "MemberAccess", - "referencedDeclaration": 7065, - "src": "2403:18:18", + "referencedDeclaration": 8684, + "src": "2988:18:31", "typeDescriptions": { "typeIdentifier": "t_function_external_payable$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$returns$__$", "typeString": "function (bytes memory[] memory) payable external" } }, - "id": 7581, + "id": 9293, "isConstant": false, "isLValue": false, "isPure": false, @@ -222710,16 +243005,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2403:26:18", + "src": "2988:26:31", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7582, + "id": 9294, "nodeType": "ExpressionStatement", - "src": "2403:26:18" + "src": "2988:26:31" } ] } @@ -222727,32 +243022,32 @@ ] }, "documentation": { - "id": 7531, + "id": 9237, "nodeType": "StructuredDocumentation", - "src": "1201:738:18", + "src": "1722:738:31", "text": "@notice Returns the deterministic address for a GianoSmartWallet created with `owners` and `nonce`\n deploys and initializes contract if it has not yet been created.\n @dev Deployed as a ERC-1967 proxy that's implementation is `this.implementation`.\n @param owners Array of initial owners. Each item should be an ABI encoded address or 64 byte public key.\n @param nonce The nonce of the account, a caller defined value which allows multiple accounts\n with the same `owners` to exist at different addresses.\n @return account The address of the ERC-1967 proxy created with inputs `owners`, `nonce`, and\n `this.implementation`." }, "functionSelector": "3ffba36f", - "id": 7586, + "id": 9298, "implemented": true, "kind": "function", "modifiers": [], "name": "createAccount", - "nameLocation": "1953:13:18", + "nameLocation": "2474:13:31", "nodeType": "FunctionDefinition", "parameters": { - "id": 7537, + "id": 9243, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7534, + "id": 9240, "mutability": "mutable", "name": "owners", - "nameLocation": "1984:6:18", + "nameLocation": "2505:6:31", "nodeType": "VariableDeclaration", - "scope": 7586, - "src": "1967:23:18", + "scope": 9298, + "src": "2488:23:31", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -222761,18 +243056,18 @@ }, "typeName": { "baseType": { - "id": 7532, + "id": 9238, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1967:5:18", + "src": "2488:5:31", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, - "id": 7533, + "id": 9239, "nodeType": "ArrayTypeName", - "src": "1967:7:18", + "src": "2488:7:31", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", "typeString": "bytes[]" @@ -222782,13 +243077,13 @@ }, { "constant": false, - "id": 7536, + "id": 9242, "mutability": "mutable", "name": "nonce", - "nameLocation": "2000:5:18", + "nameLocation": "2521:5:31", "nodeType": "VariableDeclaration", - "scope": 7586, - "src": "1992:13:18", + "scope": 9298, + "src": "2513:13:31", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -222796,10 +243091,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7535, + "id": 9241, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1992:7:18", + "src": "2513:7:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -222808,63 +243103,63 @@ "visibility": "internal" } ], - "src": "1966:40:18" + "src": "2487:40:31" }, "returnParameters": { - "id": 7541, + "id": 9247, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7540, + "id": 9246, "mutability": "mutable", "name": "account", - "nameLocation": "2058:7:18", + "nameLocation": "2579:7:31", "nodeType": "VariableDeclaration", - "scope": 7586, - "src": "2041:24:18", + "scope": 9298, + "src": "2562:24:31", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_GianoSmartWallet_$7506", + "typeIdentifier": "t_contract$_GianoSmartWallet_$9190", "typeString": "contract GianoSmartWallet" }, "typeName": { - "id": 7539, + "id": 9245, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 7538, + "id": 9244, "name": "GianoSmartWallet", "nameLocations": [ - "2041:16:18" + "2562:16:31" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 7506, - "src": "2041:16:18" + "referencedDeclaration": 9190, + "src": "2562:16:31" }, - "referencedDeclaration": 7506, - "src": "2041:16:18", + "referencedDeclaration": 9190, + "src": "2562:16:31", "typeDescriptions": { - "typeIdentifier": "t_contract$_GianoSmartWallet_$7506", + "typeIdentifier": "t_contract$_GianoSmartWallet_$9190", "typeString": "contract GianoSmartWallet" } }, "visibility": "internal" } ], - "src": "2040:26:18" + "src": "2561:26:31" }, - "scope": 7645, - "src": "1944:502:18", + "scope": 9357, + "src": "2465:566:31", "stateMutability": "payable", "virtual": true, "visibility": "external" }, { "body": { - "id": 7611, + "id": 9323, "nodeType": "Block", - "src": "2901:116:18", + "src": "3486:116:31", "statements": [ { "expression": { @@ -222873,18 +243168,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 7599, + "id": 9311, "name": "initCodeHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7624, - "src": "2955:12:18", + "referencedDeclaration": 9336, + "src": "3540:12:31", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_bytes32_$", "typeString": "function () view returns (bytes32)" } }, - "id": 7600, + "id": 9312, "isConstant": false, "isLValue": false, "isPure": false, @@ -222893,7 +243188,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2955:14:18", + "src": "3540:14:31", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -222903,24 +243198,24 @@ { "arguments": [ { - "id": 7602, + "id": 9314, "name": "owners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7590, - "src": "2980:6:18", + "referencedDeclaration": 9302, + "src": "3565:6:31", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", "typeString": "bytes calldata[] calldata" } }, { - "id": 7603, + "id": 9315, "name": "nonce", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7592, - "src": "2988:5:18", + "referencedDeclaration": 9304, + "src": "3573:5:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -222938,18 +243233,18 @@ "typeString": "uint256" } ], - "id": 7601, + "id": 9313, "name": "_getSalt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7644, - "src": "2971:8:18", + "referencedDeclaration": 9356, + "src": "3556:8:31", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr_$_t_uint256_$returns$_t_bytes32_$", "typeString": "function (bytes calldata[] calldata,uint256) pure returns (bytes32)" } }, - "id": 7604, + "id": 9316, "isConstant": false, "isLValue": false, "isPure": false, @@ -222958,7 +243253,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2971:23:18", + "src": "3556:23:31", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -222968,14 +243263,14 @@ { "arguments": [ { - "id": 7607, + "id": 9319, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, - "src": "3004:4:18", + "src": "3589:4:31", "typeDescriptions": { - "typeIdentifier": "t_contract$_GianoSmartWalletFactory_$7645", + "typeIdentifier": "t_contract$_GianoSmartWalletFactory_$9357", "typeString": "contract GianoSmartWalletFactory" } } @@ -222983,30 +243278,30 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_GianoSmartWalletFactory_$7645", + "typeIdentifier": "t_contract$_GianoSmartWalletFactory_$9357", "typeString": "contract GianoSmartWalletFactory" } ], - "id": 7606, + "id": 9318, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2996:7:18", + "src": "3581:7:31", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 7605, + "id": 9317, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2996:7:18", + "src": "3581:7:31", "typeDescriptions": {} } }, - "id": 7608, + "id": 9320, "isConstant": false, "isLValue": false, "isPure": false, @@ -223015,7 +243310,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2996:13:18", + "src": "3581:13:31", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -223039,33 +243334,33 @@ } ], "expression": { - "id": 7597, + "id": 9309, "name": "LibClone", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5093, - "src": "2918:8:18", + "referencedDeclaration": 6699, + "src": "3503:8:31", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibClone_$5093_$", + "typeIdentifier": "t_type$_t_contract$_LibClone_$6699_$", "typeString": "type(library LibClone)" } }, - "id": 7598, + "id": 9310, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "2927:27:18", + "memberLocation": "3512:27:31", "memberName": "predictDeterministicAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 5070, - "src": "2918:36:18", + "referencedDeclaration": 6676, + "src": "3503:36:31", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_address_$", "typeString": "function (bytes32,bytes32,address) pure returns (address)" } }, - "id": 7609, + "id": 9321, "isConstant": false, "isLValue": false, "isPure": false, @@ -223074,47 +243369,47 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2918:92:18", + "src": "3503:92:31", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 7596, - "id": 7610, + "functionReturnParameters": 9308, + "id": 9322, "nodeType": "Return", - "src": "2911:99:18" + "src": "3496:99:31" } ] }, "documentation": { - "id": 7587, + "id": 9299, "nodeType": "StructuredDocumentation", - "src": "2452:352:18", + "src": "3037:352:31", "text": "@notice Returns the deterministic address of the account that would be created by `createAccount`.\n @param owners Array of initial owners. Each item should be an ABI encoded address or 64 byte public key.\n @param nonce The nonce provided to `createAccount()`.\n @return The predicted account deployment address." }, "functionSelector": "250b1b41", - "id": 7612, + "id": 9324, "implemented": true, "kind": "function", "modifiers": [], "name": "getAddress", - "nameLocation": "2818:10:18", + "nameLocation": "3403:10:31", "nodeType": "FunctionDefinition", "parameters": { - "id": 7593, + "id": 9305, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7590, + "id": 9302, "mutability": "mutable", "name": "owners", - "nameLocation": "2846:6:18", + "nameLocation": "3431:6:31", "nodeType": "VariableDeclaration", - "scope": 7612, - "src": "2829:23:18", + "scope": 9324, + "src": "3414:23:31", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -223123,18 +243418,18 @@ }, "typeName": { "baseType": { - "id": 7588, + "id": 9300, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "2829:5:18", + "src": "3414:5:31", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, - "id": 7589, + "id": 9301, "nodeType": "ArrayTypeName", - "src": "2829:7:18", + "src": "3414:7:31", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", "typeString": "bytes[]" @@ -223144,13 +243439,13 @@ }, { "constant": false, - "id": 7592, + "id": 9304, "mutability": "mutable", "name": "nonce", - "nameLocation": "2862:5:18", + "nameLocation": "3447:5:31", "nodeType": "VariableDeclaration", - "scope": 7612, - "src": "2854:13:18", + "scope": 9324, + "src": "3439:13:31", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -223158,10 +243453,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7591, + "id": 9303, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2854:7:18", + "src": "3439:7:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -223170,21 +243465,21 @@ "visibility": "internal" } ], - "src": "2828:40:18" + "src": "3413:40:31" }, "returnParameters": { - "id": 7596, + "id": 9308, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7595, + "id": 9307, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 7612, - "src": "2892:7:18", + "scope": 9324, + "src": "3477:7:31", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -223192,10 +243487,10 @@ "typeString": "address" }, "typeName": { - "id": 7594, + "id": 9306, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2892:7:18", + "src": "3477:7:31", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -223205,30 +243500,30 @@ "visibility": "internal" } ], - "src": "2891:9:18" + "src": "3476:9:31" }, - "scope": 7645, - "src": "2809:208:18", + "scope": 9357, + "src": "3394:208:31", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "body": { - "id": 7623, + "id": 9335, "nodeType": "Block", - "src": "3288:68:18", + "src": "3873:68:31", "statements": [ { "expression": { "arguments": [ { - "id": 7620, + "id": 9332, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7516, - "src": "3334:14:18", + "referencedDeclaration": 9200, + "src": "3919:14:31", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -223243,33 +243538,33 @@ } ], "expression": { - "id": 7618, + "id": 9330, "name": "LibClone", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5093, - "src": "3305:8:18", + "referencedDeclaration": 6699, + "src": "3890:8:31", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibClone_$5093_$", + "typeIdentifier": "t_type$_t_contract$_LibClone_$6699_$", "typeString": "type(library LibClone)" } }, - "id": 7619, + "id": 9331, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "3314:19:18", + "memberLocation": "3899:19:31", "memberName": "initCodeHashERC1967", "nodeType": "MemberAccess", - "referencedDeclaration": 3651, - "src": "3305:28:18", + "referencedDeclaration": 5257, + "src": "3890:28:31", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_bytes32_$", "typeString": "function (address) pure returns (bytes32)" } }, - "id": 7621, + "id": 9333, "isConstant": false, "isLValue": false, "isPure": false, @@ -223278,53 +243573,53 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3305:44:18", + "src": "3890:44:31", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 7617, - "id": 7622, + "functionReturnParameters": 9329, + "id": 9334, "nodeType": "Return", - "src": "3298:51:18" + "src": "3883:51:31" } ] }, "documentation": { - "id": 7613, + "id": 9325, "nodeType": "StructuredDocumentation", - "src": "3023:198:18", + "src": "3608:198:31", "text": "@notice Returns the initialization code hash of the account:\n a ERC1967 proxy that's implementation is `this.implementation`.\n @return The initialization code hash." }, "functionSelector": "db4c545e", - "id": 7624, + "id": 9336, "implemented": true, "kind": "function", "modifiers": [], "name": "initCodeHash", - "nameLocation": "3235:12:18", + "nameLocation": "3820:12:31", "nodeType": "FunctionDefinition", "parameters": { - "id": 7614, + "id": 9326, "nodeType": "ParameterList", "parameters": [], - "src": "3247:2:18" + "src": "3832:2:31" }, "returnParameters": { - "id": 7617, + "id": 9329, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7616, + "id": 9328, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 7624, - "src": "3279:7:18", + "scope": 9336, + "src": "3864:7:31", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -223332,10 +243627,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7615, + "id": 9327, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3279:7:18", + "src": "3864:7:31", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -223344,19 +243639,19 @@ "visibility": "internal" } ], - "src": "3278:9:18" + "src": "3863:9:31" }, - "scope": 7645, - "src": "3226:130:18", + "scope": 9357, + "src": "3811:130:31", "stateMutability": "view", "virtual": true, "visibility": "public" }, { "body": { - "id": 7643, + "id": 9355, "nodeType": "Block", - "src": "3763:60:18", + "src": "4348:60:31", "statements": [ { "expression": { @@ -223364,24 +243659,24 @@ { "arguments": [ { - "id": 7638, + "id": 9350, "name": "owners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7628, - "src": "3801:6:18", + "referencedDeclaration": 9340, + "src": "4386:6:31", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", "typeString": "bytes calldata[] calldata" } }, { - "id": 7639, + "id": 9351, "name": "nonce", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7630, - "src": "3809:5:18", + "referencedDeclaration": 9342, + "src": "4394:5:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -223400,32 +243695,32 @@ } ], "expression": { - "id": 7636, + "id": 9348, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "3790:3:18", + "src": "4375:3:31", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 7637, + "id": 9349, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "3794:6:18", + "memberLocation": "4379:6:31", "memberName": "encode", "nodeType": "MemberAccess", - "src": "3790:10:18", + "src": "4375:10:31", "typeDescriptions": { "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 7640, + "id": 9352, "isConstant": false, "isLValue": false, "isPure": false, @@ -223434,7 +243729,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3790:25:18", + "src": "4375:25:31", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -223449,18 +243744,18 @@ "typeString": "bytes memory" } ], - "id": 7635, + "id": 9347, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "3780:9:18", + "src": "4365:9:31", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 7641, + "id": 9353, "isConstant": false, "isLValue": false, "isPure": false, @@ -223469,46 +243764,46 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3780:36:18", + "src": "4365:36:31", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 7634, - "id": 7642, + "functionReturnParameters": 9346, + "id": 9354, "nodeType": "Return", - "src": "3773:43:18" + "src": "4358:43:31" } ] }, "documentation": { - "id": 7625, + "id": 9337, "nodeType": "StructuredDocumentation", - "src": "3362:306:18", + "src": "3947:306:31", "text": "@notice Returns the create2 salt for `LibClone.predictDeterministicAddress`\n @param owners Array of initial owners. Each item should be an ABI encoded address or 64 byte public key.\n @param nonce The nonce provided to `createAccount()`.\n @return The computed salt." }, - "id": 7644, + "id": 9356, "implemented": true, "kind": "function", "modifiers": [], "name": "_getSalt", - "nameLocation": "3682:8:18", + "nameLocation": "4267:8:31", "nodeType": "FunctionDefinition", "parameters": { - "id": 7631, + "id": 9343, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7628, + "id": 9340, "mutability": "mutable", "name": "owners", - "nameLocation": "3708:6:18", + "nameLocation": "4293:6:31", "nodeType": "VariableDeclaration", - "scope": 7644, - "src": "3691:23:18", + "scope": 9356, + "src": "4276:23:31", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -223517,18 +243812,18 @@ }, "typeName": { "baseType": { - "id": 7626, + "id": 9338, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "3691:5:18", + "src": "4276:5:31", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, - "id": 7627, + "id": 9339, "nodeType": "ArrayTypeName", - "src": "3691:7:18", + "src": "4276:7:31", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", "typeString": "bytes[]" @@ -223538,13 +243833,13 @@ }, { "constant": false, - "id": 7630, + "id": 9342, "mutability": "mutable", "name": "nonce", - "nameLocation": "3724:5:18", + "nameLocation": "4309:5:31", "nodeType": "VariableDeclaration", - "scope": 7644, - "src": "3716:13:18", + "scope": 9356, + "src": "4301:13:31", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -223552,10 +243847,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7629, + "id": 9341, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3716:7:18", + "src": "4301:7:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -223564,21 +243859,21 @@ "visibility": "internal" } ], - "src": "3690:40:18" + "src": "4275:40:31" }, "returnParameters": { - "id": 7634, + "id": 9346, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7633, + "id": 9345, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 7644, - "src": "3754:7:18", + "scope": 9356, + "src": "4339:7:31", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -223586,10 +243881,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7632, + "id": 9344, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3754:7:18", + "src": "4339:7:31", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -223598,44 +243893,47 @@ "visibility": "internal" } ], - "src": "3753:9:18" + "src": "4338:9:31" }, - "scope": 7645, - "src": "3673:150:18", + "scope": 9357, + "src": "4258:150:31", "stateMutability": "pure", "virtual": false, "visibility": "internal" } ], - "scope": 7646, - "src": "525:3300:18", + "scope": 9358, + "src": "525:3885:31", "usedErrors": [ - 7519 + 9213, + 9216 ], - "usedEvents": [] + "usedEvents": [ + 9210 + ] } ], - "src": "32:3794:18" + "src": "32:4379:31" }, - "id": 18 + "id": 31 }, "src/MultiOwnable.sol": { "ast": { "absolutePath": "src/MultiOwnable.sol", "exportedSymbols": { "MultiOwnable": [ - 8181 + 9893 ], "MultiOwnableStorage": [ - 7665 + 9377 ] }, - "id": 8182, + "id": 9894, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 7647, + "id": 9359, "literals": [ "solidity", "^", @@ -223643,27 +243941,27 @@ ".18" ], "nodeType": "PragmaDirective", - "src": "32:24:19" + "src": "32:24:32" }, { "canonicalName": "MultiOwnableStorage", "documentation": { - "id": 7648, + "id": 9360, "nodeType": "StructuredDocumentation", - "src": "58:130:19", + "src": "58:130:32", "text": "@notice Storage layout used by this contract.\n @custom:storage-location erc7201:appliedblockchain.storage.MultiOwnable" }, - "id": 7665, + "id": 9377, "members": [ { "constant": false, - "id": 7651, + "id": 9363, "mutability": "mutable", "name": "nextOwnerIndex", - "nameLocation": "285:14:19", + "nameLocation": "285:14:32", "nodeType": "VariableDeclaration", - "scope": 7665, - "src": "277:22:19", + "scope": 9377, + "src": "277:22:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -223671,10 +243969,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7650, + "id": 9362, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "277:7:19", + "src": "277:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -223684,13 +243982,13 @@ }, { "constant": false, - "id": 7654, + "id": 9366, "mutability": "mutable", "name": "removedOwnersCount", - "nameLocation": "374:18:19", + "nameLocation": "374:18:32", "nodeType": "VariableDeclaration", - "scope": 7665, - "src": "366:26:19", + "scope": 9377, + "src": "366:26:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -223698,10 +243996,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7653, + "id": 9365, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "366:7:19", + "src": "366:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -223711,13 +244009,13 @@ }, { "constant": false, - "id": 7659, + "id": 9371, "mutability": "mutable", "name": "ownerAtIndex", - "nameLocation": "989:12:19", + "nameLocation": "989:12:32", "nodeType": "VariableDeclaration", - "scope": 7665, - "src": "951:50:19", + "scope": 9377, + "src": "951:50:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -223725,32 +244023,32 @@ "typeString": "mapping(uint256 => bytes)" }, "typeName": { - "id": 7658, + "id": 9370, "keyName": "index", - "keyNameLocation": "967:5:19", + "keyNameLocation": "967:5:32", "keyType": { - "id": 7656, + "id": 9368, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "959:7:19", + "src": "959:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Mapping", - "src": "951:37:19", + "src": "951:37:32", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes_storage_$", "typeString": "mapping(uint256 => bytes)" }, "valueName": "owner", - "valueNameLocation": "982:5:19", + "valueNameLocation": "982:5:32", "valueType": { - "id": 7657, + "id": 9369, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "976:5:19", + "src": "976:5:32", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -223761,13 +244059,13 @@ }, { "constant": false, - "id": 7664, + "id": 9376, "mutability": "mutable", "name": "isOwner", - "nameLocation": "1164:7:19", + "nameLocation": "1164:7:32", "nodeType": "VariableDeclaration", - "scope": 7665, - "src": "1125:46:19", + "scope": 9377, + "src": "1125:46:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -223775,32 +244073,32 @@ "typeString": "mapping(bytes => bool)" }, "typeName": { - "id": 7663, + "id": 9375, "keyName": "bytes_", - "keyNameLocation": "1139:6:19", + "keyNameLocation": "1139:6:32", "keyType": { - "id": 7661, + "id": 9373, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1133:5:19", + "src": "1133:5:32", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "nodeType": "Mapping", - "src": "1125:38:19", + "src": "1125:38:32", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes_memory_ptr_$_t_bool_$", "typeString": "mapping(bytes => bool)" }, "valueName": "isOwner_", - "valueNameLocation": "1154:8:19", + "valueNameLocation": "1154:8:32", "valueType": { - "id": 7662, + "id": 9374, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1149:4:19", + "src": "1149:4:32", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -223811,10 +244109,10 @@ } ], "name": "MultiOwnableStorage", - "nameLocation": "195:19:19", + "nameLocation": "195:19:32", "nodeType": "StructDefinition", - "scope": 8182, - "src": "188:986:19", + "scope": 9894, + "src": "188:986:32", "visibility": "public" }, { @@ -223824,35 +244122,35 @@ "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 7666, + "id": 9378, "nodeType": "StructuredDocumentation", - "src": "1176:251:19", + "src": "1176:251:32", "text": "@title Multi Ownable\n @notice Auth contract allowing multiple owners, each identified as bytes.\n @author Applied Blockchain (https://github.com/appliedblockchain/giano)\n @author Coinbase (https://github.com/coinbase/smart-wallet)" }, "fullyImplemented": true, - "id": 8181, + "id": 9893, "linearizedBaseContracts": [ - 8181 + 9893 ], "name": "MultiOwnable", - "nameLocation": "1436:12:19", + "nameLocation": "1436:12:32", "nodeType": "ContractDefinition", "nodes": [ { "constant": true, "documentation": { - "id": 7667, + "id": 9379, "nodeType": "StructuredDocumentation", - "src": "1455:293:19", + "src": "1455:293:32", "text": "@dev Slot for the `MultiOwnableStorage` struct in storage.\n Computed from\n keccak256(abi.encode(uint256(keccak256(\"appliedblockchain.storage.MultiOwnable\")) - 1)) & ~bytes32(uint256(0xff))\n Follows ERC-7201 (see https://eips.ethereum.org/EIPS/eip-7201)." }, - "id": 7670, + "id": 9382, "mutability": "constant", "name": "MUTLI_OWNABLE_STORAGE_LOCATION", - "nameLocation": "1778:30:19", + "nameLocation": "1778:30:32", "nodeType": "VariableDeclaration", - "scope": 8181, - "src": "1753:132:19", + "scope": 9893, + "src": "1753:132:32", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -223860,10 +244158,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7668, + "id": 9380, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1753:7:19", + "src": "1753:7:32", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -223871,14 +244169,14 @@ }, "value": { "hexValue": "307830363237663732616630653666343132313935623064386163626534333862323830393064643534356237643233333166636366373737323335363166353030", - "id": 7669, + "id": 9381, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1819:66:19", + "src": "1819:66:32", "typeDescriptions": { "typeIdentifier": "t_rational_2784490016061331327668105261358156012958660789088861839901469404483232593152_by_1", "typeString": "int_const 2784...(68 digits omitted)...3152" @@ -223889,49 +244187,49 @@ }, { "documentation": { - "id": 7671, + "id": 9383, "nodeType": "StructuredDocumentation", - "src": "1892:101:19", + "src": "1892:101:32", "text": "@notice Thrown when the `msg.sender` is not an owner and is trying to call a privileged function." }, "errorSelector": "82b42900", - "id": 7673, + "id": 9385, "name": "Unauthorized", - "nameLocation": "2004:12:19", + "nameLocation": "2004:12:32", "nodeType": "ErrorDefinition", "parameters": { - "id": 7672, + "id": 9384, "nodeType": "ParameterList", "parameters": [], - "src": "2016:2:19" + "src": "2016:2:32" }, - "src": "1998:21:19" + "src": "1998:21:32" }, { "documentation": { - "id": 7674, + "id": 9386, "nodeType": "StructuredDocumentation", - "src": "2025:112:19", + "src": "2025:112:32", "text": "@notice Thrown when trying to add an already registered owner.\n @param owner The owner bytes." }, "errorSelector": "8d16255a", - "id": 7678, + "id": 9390, "name": "AlreadyOwner", - "nameLocation": "2148:12:19", + "nameLocation": "2148:12:32", "nodeType": "ErrorDefinition", "parameters": { - "id": 7677, + "id": 9389, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7676, + "id": 9388, "mutability": "mutable", "name": "owner", - "nameLocation": "2167:5:19", + "nameLocation": "2167:5:32", "nodeType": "VariableDeclaration", - "scope": 7678, - "src": "2161:11:19", + "scope": 9390, + "src": "2161:11:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -223939,10 +244237,10 @@ "typeString": "bytes" }, "typeName": { - "id": 7675, + "id": 9387, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "2161:5:19", + "src": "2161:5:32", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -223951,35 +244249,35 @@ "visibility": "internal" } ], - "src": "2160:13:19" + "src": "2160:13:32" }, - "src": "2142:32:19" + "src": "2142:32:32" }, { "documentation": { - "id": 7679, + "id": 9391, "nodeType": "StructuredDocumentation", - "src": "2180:139:19", + "src": "2180:139:32", "text": "@notice Thrown when trying to remove an owner from an index that is empty.\n @param index The targeted index for removal." }, "errorSelector": "68188e7a", - "id": 7683, + "id": 9395, "name": "NoOwnerAtIndex", - "nameLocation": "2330:14:19", + "nameLocation": "2330:14:32", "nodeType": "ErrorDefinition", "parameters": { - "id": 7682, + "id": 9394, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7681, + "id": 9393, "mutability": "mutable", "name": "index", - "nameLocation": "2353:5:19", + "nameLocation": "2353:5:32", "nodeType": "VariableDeclaration", - "scope": 7683, - "src": "2345:13:19", + "scope": 9395, + "src": "2345:13:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -223987,10 +244285,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7680, + "id": 9392, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2345:7:19", + "src": "2345:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -223999,35 +244297,35 @@ "visibility": "internal" } ], - "src": "2344:15:19" + "src": "2344:15:32" }, - "src": "2324:36:19" + "src": "2324:36:32" }, { "documentation": { - "id": 7684, + "id": 9396, "nodeType": "StructuredDocumentation", - "src": "2366:276:19", + "src": "2366:276:32", "text": "@notice Thrown when `owner` argument does not match owner found at index.\n @param index The index of the owner to be removed.\n @param expectedOwner The owner passed in the remove call.\n @param actualOwner The actual owner at `index`." }, "errorSelector": "781f2e39", - "id": 7692, + "id": 9404, "name": "WrongOwnerAtIndex", - "nameLocation": "2653:17:19", + "nameLocation": "2653:17:32", "nodeType": "ErrorDefinition", "parameters": { - "id": 7691, + "id": 9403, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7686, + "id": 9398, "mutability": "mutable", "name": "index", - "nameLocation": "2679:5:19", + "nameLocation": "2679:5:32", "nodeType": "VariableDeclaration", - "scope": 7692, - "src": "2671:13:19", + "scope": 9404, + "src": "2671:13:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -224035,10 +244333,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7685, + "id": 9397, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2671:7:19", + "src": "2671:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -224048,13 +244346,13 @@ }, { "constant": false, - "id": 7688, + "id": 9400, "mutability": "mutable", "name": "expectedOwner", - "nameLocation": "2692:13:19", + "nameLocation": "2692:13:32", "nodeType": "VariableDeclaration", - "scope": 7692, - "src": "2686:19:19", + "scope": 9404, + "src": "2686:19:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -224062,10 +244360,10 @@ "typeString": "bytes" }, "typeName": { - "id": 7687, + "id": 9399, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "2686:5:19", + "src": "2686:5:32", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -224075,13 +244373,13 @@ }, { "constant": false, - "id": 7690, + "id": 9402, "mutability": "mutable", "name": "actualOwner", - "nameLocation": "2713:11:19", + "nameLocation": "2713:11:32", "nodeType": "VariableDeclaration", - "scope": 7692, - "src": "2707:17:19", + "scope": 9404, + "src": "2707:17:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -224089,10 +244387,10 @@ "typeString": "bytes" }, "typeName": { - "id": 7689, + "id": 9401, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "2707:5:19", + "src": "2707:5:32", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -224101,35 +244399,35 @@ "visibility": "internal" } ], - "src": "2670:55:19" + "src": "2670:55:32" }, - "src": "2647:79:19" + "src": "2647:79:32" }, { "documentation": { - "id": 7693, + "id": 9405, "nodeType": "StructuredDocumentation", - "src": "2732:173:19", + "src": "2732:173:32", "text": "@notice Thrown when a provided owner is neither 64 bytes long (for public key)\n nor a ABI encoded address.\n @param owner The invalid owner." }, "errorSelector": "4eeab722", - "id": 7697, + "id": 9409, "name": "InvalidOwnerBytesLength", - "nameLocation": "2916:23:19", + "nameLocation": "2916:23:32", "nodeType": "ErrorDefinition", "parameters": { - "id": 7696, + "id": 9408, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7695, + "id": 9407, "mutability": "mutable", "name": "owner", - "nameLocation": "2946:5:19", + "nameLocation": "2946:5:32", "nodeType": "VariableDeclaration", - "scope": 7697, - "src": "2940:11:19", + "scope": 9409, + "src": "2940:11:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -224137,10 +244435,10 @@ "typeString": "bytes" }, "typeName": { - "id": 7694, + "id": 9406, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "2940:5:19", + "src": "2940:5:32", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -224149,35 +244447,35 @@ "visibility": "internal" } ], - "src": "2939:13:19" + "src": "2939:13:32" }, - "src": "2910:43:19" + "src": "2910:43:32" }, { "documentation": { - "id": 7698, + "id": 9410, "nodeType": "StructuredDocumentation", - "src": "2959:142:19", + "src": "2959:142:32", "text": "@notice Thrown if a provided owner is 32 bytes long but does not fit in an `address` type.\n @param owner The invalid owner." }, "errorSelector": "bff1ac65", - "id": 7702, + "id": 9414, "name": "InvalidEthereumAddressOwner", - "nameLocation": "3112:27:19", + "nameLocation": "3112:27:32", "nodeType": "ErrorDefinition", "parameters": { - "id": 7701, + "id": 9413, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7700, + "id": 9412, "mutability": "mutable", "name": "owner", - "nameLocation": "3146:5:19", + "nameLocation": "3146:5:32", "nodeType": "VariableDeclaration", - "scope": 7702, - "src": "3140:11:19", + "scope": 9414, + "src": "3140:11:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -224185,10 +244483,10 @@ "typeString": "bytes" }, "typeName": { - "id": 7699, + "id": 9411, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "3140:5:19", + "src": "3140:5:32", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -224197,55 +244495,55 @@ "visibility": "internal" } ], - "src": "3139:13:19" + "src": "3139:13:32" }, - "src": "3106:47:19" + "src": "3106:47:32" }, { "documentation": { - "id": 7703, + "id": 9415, "nodeType": "StructuredDocumentation", - "src": "3159:89:19", + "src": "3159:89:32", "text": "@notice Thrown when removeOwnerAtIndex is called and there is only one current owner." }, "errorSelector": "948bf897", - "id": 7705, + "id": 9417, "name": "LastOwner", - "nameLocation": "3259:9:19", + "nameLocation": "3259:9:32", "nodeType": "ErrorDefinition", "parameters": { - "id": 7704, + "id": 9416, "nodeType": "ParameterList", "parameters": [], - "src": "3268:2:19" + "src": "3268:2:32" }, - "src": "3253:18:19" + "src": "3253:18:32" }, { "documentation": { - "id": 7706, + "id": 9418, "nodeType": "StructuredDocumentation", - "src": "3277:160:19", + "src": "3277:160:32", "text": "@notice Thrown when removeLastOwner is called and there is more than one current owner.\n @param ownersRemaining The number of current owners." }, "errorSelector": "823f1aa8", - "id": 7710, + "id": 9422, "name": "NotLastOwner", - "nameLocation": "3448:12:19", + "nameLocation": "3448:12:32", "nodeType": "ErrorDefinition", "parameters": { - "id": 7709, + "id": 9421, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7708, + "id": 9420, "mutability": "mutable", "name": "ownersRemaining", - "nameLocation": "3469:15:19", + "nameLocation": "3469:15:32", "nodeType": "VariableDeclaration", - "scope": 7710, - "src": "3461:23:19", + "scope": 9422, + "src": "3461:23:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -224253,10 +244551,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7707, + "id": 9419, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3461:7:19", + "src": "3461:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -224265,37 +244563,37 @@ "visibility": "internal" } ], - "src": "3460:25:19" + "src": "3460:25:32" }, - "src": "3442:44:19" + "src": "3442:44:32" }, { "anonymous": false, "documentation": { - "id": 7711, + "id": 9423, "nodeType": "StructuredDocumentation", - "src": "3492:154:19", + "src": "3492:154:32", "text": "@notice Emitted when a new owner is registered.\n @param index The owner index of the owner added.\n @param owner The owner added." }, "eventSelector": "38109edc26e166b5579352ce56a50813177eb25208fd90d61f2f378386220220", - "id": 7717, + "id": 9429, "name": "AddOwner", - "nameLocation": "3657:8:19", + "nameLocation": "3657:8:32", "nodeType": "EventDefinition", "parameters": { - "id": 7716, + "id": 9428, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7713, + "id": 9425, "indexed": true, "mutability": "mutable", "name": "index", - "nameLocation": "3682:5:19", + "nameLocation": "3682:5:32", "nodeType": "VariableDeclaration", - "scope": 7717, - "src": "3666:21:19", + "scope": 9429, + "src": "3666:21:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -224303,10 +244601,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7712, + "id": 9424, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3666:7:19", + "src": "3666:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -224316,14 +244614,14 @@ }, { "constant": false, - "id": 7715, + "id": 9427, "indexed": false, "mutability": "mutable", "name": "owner", - "nameLocation": "3695:5:19", + "nameLocation": "3695:5:32", "nodeType": "VariableDeclaration", - "scope": 7717, - "src": "3689:11:19", + "scope": 9429, + "src": "3689:11:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -224331,10 +244629,10 @@ "typeString": "bytes" }, "typeName": { - "id": 7714, + "id": 9426, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "3689:5:19", + "src": "3689:5:32", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -224343,37 +244641,37 @@ "visibility": "internal" } ], - "src": "3665:36:19" + "src": "3665:36:32" }, - "src": "3651:51:19" + "src": "3651:51:32" }, { "anonymous": false, "documentation": { - "id": 7718, + "id": 9430, "nodeType": "StructuredDocumentation", - "src": "3708:152:19", + "src": "3708:152:32", "text": "@notice Emitted when an owner is removed.\n @param index The owner index of the owner removed.\n @param owner The owner removed." }, "eventSelector": "cf95bbfe6f870f8cc40482dc3dccdafd268f0e9ce0a4f24ea1bea9be64e505ff", - "id": 7724, + "id": 9436, "name": "RemoveOwner", - "nameLocation": "3871:11:19", + "nameLocation": "3871:11:32", "nodeType": "EventDefinition", "parameters": { - "id": 7723, + "id": 9435, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7720, + "id": 9432, "indexed": true, "mutability": "mutable", "name": "index", - "nameLocation": "3899:5:19", + "nameLocation": "3899:5:32", "nodeType": "VariableDeclaration", - "scope": 7724, - "src": "3883:21:19", + "scope": 9436, + "src": "3883:21:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -224381,10 +244679,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7719, + "id": 9431, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3883:7:19", + "src": "3883:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -224394,14 +244692,14 @@ }, { "constant": false, - "id": 7722, + "id": 9434, "indexed": false, "mutability": "mutable", "name": "owner", - "nameLocation": "3912:5:19", + "nameLocation": "3912:5:32", "nodeType": "VariableDeclaration", - "scope": 7724, - "src": "3906:11:19", + "scope": 9436, + "src": "3906:11:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -224409,10 +244707,10 @@ "typeString": "bytes" }, "typeName": { - "id": 7721, + "id": 9433, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "3906:5:19", + "src": "3906:5:32", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -224421,33 +244719,33 @@ "visibility": "internal" } ], - "src": "3882:36:19" + "src": "3882:36:32" }, - "src": "3865:54:19" + "src": "3865:54:32" }, { "body": { - "id": 7731, + "id": 9443, "nodeType": "Block", - "src": "4037:41:19", + "src": "4037:41:32", "statements": [ { "expression": { "arguments": [], "expression": { "argumentTypes": [], - "id": 7727, + "id": 9439, "name": "_checkOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8171, - "src": "4047:11:19", + "referencedDeclaration": 9883, + "src": "4047:11:32", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$__$", "typeString": "function () view" } }, - "id": 7728, + "id": 9440, "isConstant": false, "isLValue": false, "isPure": false, @@ -224456,49 +244754,49 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4047:13:19", + "src": "4047:13:32", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7729, + "id": 9441, "nodeType": "ExpressionStatement", - "src": "4047:13:19" + "src": "4047:13:32" }, { - "id": 7730, + "id": 9442, "nodeType": "PlaceholderStatement", - "src": "4070:1:19" + "src": "4070:1:32" } ] }, "documentation": { - "id": 7725, + "id": 9437, "nodeType": "StructuredDocumentation", - "src": "3925:78:19", + "src": "3925:78:32", "text": "@notice Access control modifier ensuring the caller is an authorized owner" }, - "id": 7732, + "id": 9444, "name": "onlyOwner", - "nameLocation": "4017:9:19", + "nameLocation": "4017:9:32", "nodeType": "ModifierDefinition", "parameters": { - "id": 7726, + "id": 9438, "nodeType": "ParameterList", "parameters": [], - "src": "4026:2:19" + "src": "4026:2:32" }, - "src": "4008:70:19", + "src": "4008:70:32", "virtual": true, "visibility": "internal" }, { "body": { - "id": 7751, + "id": 9463, "nodeType": "Block", - "src": "4250:96:19", + "src": "4250:96:32", "statements": [ { "expression": { @@ -224506,12 +244804,12 @@ { "arguments": [ { - "id": 7743, + "id": 9455, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7735, - "src": "4288:5:19", + "referencedDeclaration": 9447, + "src": "4288:5:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -224526,32 +244824,32 @@ } ], "expression": { - "id": 7741, + "id": 9453, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "4277:3:19", + "src": "4277:3:32", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 7742, + "id": 9454, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "4281:6:19", + "memberLocation": "4281:6:32", "memberName": "encode", "nodeType": "MemberAccess", - "src": "4277:10:19", + "src": "4277:10:32", "typeDescriptions": { "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 7744, + "id": 9456, "isConstant": false, "isLValue": false, "isPure": false, @@ -224560,7 +244858,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4277:17:19", + "src": "4277:17:32", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -224568,7 +244866,7 @@ } }, { - "id": 7748, + "id": 9460, "isConstant": false, "isLValue": false, "isPure": false, @@ -224576,24 +244874,24 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "4296:42:19", + "src": "4296:42:32", "subExpression": { "expression": { "arguments": [], "expression": { "argumentTypes": [], - "id": 7745, + "id": 9457, "name": "_getMultiOwnableStorage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8180, - "src": "4296:23:19", + "referencedDeclaration": 9892, + "src": "4296:23:32", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_MultiOwnableStorage_$7665_storage_ptr_$", + "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_MultiOwnableStorage_$9377_storage_ptr_$", "typeString": "function () pure returns (struct MultiOwnableStorage storage pointer)" } }, - "id": 7746, + "id": 9458, "isConstant": false, "isLValue": false, "isPure": false, @@ -224602,23 +244900,23 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4296:25:19", + "src": "4296:25:32", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7665_storage_ptr", + "typeIdentifier": "t_struct$_MultiOwnableStorage_$9377_storage_ptr", "typeString": "struct MultiOwnableStorage storage pointer" } }, - "id": 7747, + "id": 9459, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, - "memberLocation": "4322:14:19", + "memberLocation": "4322:14:32", "memberName": "nextOwnerIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 7651, - "src": "4296:40:19", + "referencedDeclaration": 9363, + "src": "4296:40:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -224641,18 +244939,18 @@ "typeString": "uint256" } ], - "id": 7740, + "id": 9452, "name": "_addOwnerAtIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8080, - "src": "4260:16:19", + "referencedDeclaration": 9792, + "src": "4260:16:32", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_uint256_$returns$__$", "typeString": "function (bytes memory,uint256)" } }, - "id": 7749, + "id": 9461, "isConstant": false, "isLValue": false, "isPure": false, @@ -224661,63 +244959,63 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4260:79:19", + "src": "4260:79:32", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7750, + "id": 9462, "nodeType": "ExpressionStatement", - "src": "4260:79:19" + "src": "4260:79:32" } ] }, "documentation": { - "id": 7733, + "id": 9445, "nodeType": "StructuredDocumentation", - "src": "4084:94:19", + "src": "4084:94:32", "text": "@notice Adds a new Ethereum-address owner.\n @param owner The owner address." }, "functionSelector": "0f0f3f24", - "id": 7752, + "id": 9464, "implemented": true, "kind": "function", "modifiers": [ { - "id": 7738, + "id": 9450, "kind": "modifierInvocation", "modifierName": { - "id": 7737, + "id": 9449, "name": "onlyOwner", "nameLocations": [ - "4240:9:19" + "4240:9:32" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 7732, - "src": "4240:9:19" + "referencedDeclaration": 9444, + "src": "4240:9:32" }, "nodeType": "ModifierInvocation", - "src": "4240:9:19" + "src": "4240:9:32" } ], "name": "addOwnerAddress", - "nameLocation": "4192:15:19", + "nameLocation": "4192:15:32", "nodeType": "FunctionDefinition", "parameters": { - "id": 7736, + "id": 9448, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7735, + "id": 9447, "mutability": "mutable", "name": "owner", - "nameLocation": "4216:5:19", + "nameLocation": "4216:5:32", "nodeType": "VariableDeclaration", - "scope": 7752, - "src": "4208:13:19", + "scope": 9464, + "src": "4208:13:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -224725,10 +245023,10 @@ "typeString": "address" }, "typeName": { - "id": 7734, + "id": 9446, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4208:7:19", + "src": "4208:7:32", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -224738,25 +245036,25 @@ "visibility": "internal" } ], - "src": "4207:15:19" + "src": "4207:15:32" }, "returnParameters": { - "id": 7739, + "id": 9451, "nodeType": "ParameterList", "parameters": [], - "src": "4250:0:19" + "src": "4250:0:32" }, - "scope": 8181, - "src": "4183:163:19", + "scope": 9893, + "src": "4183:163:32", "stateMutability": "nonpayable", "virtual": true, "visibility": "external" }, { "body": { - "id": 7774, + "id": 9486, "nodeType": "Block", - "src": "4585:95:19", + "src": "4585:95:32", "statements": [ { "expression": { @@ -224764,24 +245062,24 @@ { "arguments": [ { - "id": 7765, + "id": 9477, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7755, - "src": "4623:1:19", + "referencedDeclaration": 9467, + "src": "4623:1:32", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 7766, + "id": 9478, "name": "y", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7757, - "src": "4626:1:19", + "referencedDeclaration": 9469, + "src": "4626:1:32", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -224800,32 +245098,32 @@ } ], "expression": { - "id": 7763, + "id": 9475, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "4612:3:19", + "src": "4612:3:32", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 7764, + "id": 9476, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "4616:6:19", + "memberLocation": "4616:6:32", "memberName": "encode", "nodeType": "MemberAccess", - "src": "4612:10:19", + "src": "4612:10:32", "typeDescriptions": { "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 7767, + "id": 9479, "isConstant": false, "isLValue": false, "isPure": false, @@ -224834,7 +245132,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4612:16:19", + "src": "4612:16:32", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -224842,7 +245140,7 @@ } }, { - "id": 7771, + "id": 9483, "isConstant": false, "isLValue": false, "isPure": false, @@ -224850,24 +245148,24 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "4630:42:19", + "src": "4630:42:32", "subExpression": { "expression": { "arguments": [], "expression": { "argumentTypes": [], - "id": 7768, + "id": 9480, "name": "_getMultiOwnableStorage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8180, - "src": "4630:23:19", + "referencedDeclaration": 9892, + "src": "4630:23:32", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_MultiOwnableStorage_$7665_storage_ptr_$", + "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_MultiOwnableStorage_$9377_storage_ptr_$", "typeString": "function () pure returns (struct MultiOwnableStorage storage pointer)" } }, - "id": 7769, + "id": 9481, "isConstant": false, "isLValue": false, "isPure": false, @@ -224876,23 +245174,23 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4630:25:19", + "src": "4630:25:32", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7665_storage_ptr", + "typeIdentifier": "t_struct$_MultiOwnableStorage_$9377_storage_ptr", "typeString": "struct MultiOwnableStorage storage pointer" } }, - "id": 7770, + "id": 9482, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, - "memberLocation": "4656:14:19", + "memberLocation": "4656:14:32", "memberName": "nextOwnerIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 7651, - "src": "4630:40:19", + "referencedDeclaration": 9363, + "src": "4630:40:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -224915,18 +245213,18 @@ "typeString": "uint256" } ], - "id": 7762, + "id": 9474, "name": "_addOwnerAtIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8080, - "src": "4595:16:19", + "referencedDeclaration": 9792, + "src": "4595:16:32", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_uint256_$returns$__$", "typeString": "function (bytes memory,uint256)" } }, - "id": 7772, + "id": 9484, "isConstant": false, "isLValue": false, "isPure": false, @@ -224935,63 +245233,63 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4595:78:19", + "src": "4595:78:32", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7773, + "id": 9485, "nodeType": "ExpressionStatement", - "src": "4595:78:19" + "src": "4595:78:32" } ] }, "documentation": { - "id": 7753, + "id": 9465, "nodeType": "StructuredDocumentation", - "src": "4352:152:19", + "src": "4352:152:32", "text": "@notice Adds a new public-key owner.\n @param x The owner public key x coordinate.\n @param y The owner public key y coordinate." }, "functionSelector": "29565e3b", - "id": 7775, + "id": 9487, "implemented": true, "kind": "function", "modifiers": [ { - "id": 7760, + "id": 9472, "kind": "modifierInvocation", "modifierName": { - "id": 7759, + "id": 9471, "name": "onlyOwner", "nameLocations": [ - "4575:9:19" + "4575:9:32" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 7732, - "src": "4575:9:19" + "referencedDeclaration": 9444, + "src": "4575:9:32" }, "nodeType": "ModifierInvocation", - "src": "4575:9:19" + "src": "4575:9:32" } ], "name": "addOwnerPublicKey", - "nameLocation": "4518:17:19", + "nameLocation": "4518:17:32", "nodeType": "FunctionDefinition", "parameters": { - "id": 7758, + "id": 9470, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7755, + "id": 9467, "mutability": "mutable", "name": "x", - "nameLocation": "4544:1:19", + "nameLocation": "4544:1:32", "nodeType": "VariableDeclaration", - "scope": 7775, - "src": "4536:9:19", + "scope": 9487, + "src": "4536:9:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -224999,10 +245297,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7754, + "id": 9466, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "4536:7:19", + "src": "4536:7:32", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -225012,13 +245310,13 @@ }, { "constant": false, - "id": 7757, + "id": 9469, "mutability": "mutable", "name": "y", - "nameLocation": "4555:1:19", + "nameLocation": "4555:1:32", "nodeType": "VariableDeclaration", - "scope": 7775, - "src": "4547:9:19", + "scope": 9487, + "src": "4547:9:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -225026,10 +245324,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7756, + "id": 9468, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "4547:7:19", + "src": "4547:7:32", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -225038,25 +245336,25 @@ "visibility": "internal" } ], - "src": "4535:22:19" + "src": "4535:22:32" }, "returnParameters": { - "id": 7761, + "id": 9473, "nodeType": "ParameterList", "parameters": [], - "src": "4585:0:19" + "src": "4585:0:32" }, - "scope": 8181, - "src": "4509:171:19", + "scope": 9893, + "src": "4509:171:32", "stateMutability": "nonpayable", "virtual": true, "visibility": "external" }, { "body": { - "id": 7799, + "id": 9511, "nodeType": "Block", - "src": "5170:126:19", + "src": "5170:126:32", "statements": [ { "condition": { @@ -225064,7 +245362,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7788, + "id": 9500, "isConstant": false, "isLValue": false, "isPure": false, @@ -225073,18 +245371,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 7785, + "id": 9497, "name": "ownerCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7929, - "src": "5184:10:19", + "referencedDeclaration": 9641, + "src": "5184:10:32", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", "typeString": "function () view returns (uint256)" } }, - "id": 7786, + "id": 9498, "isConstant": false, "isLValue": false, "isPure": false, @@ -225093,7 +245391,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5184:12:19", + "src": "5184:12:32", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -225104,51 +245402,51 @@ "operator": "==", "rightExpression": { "hexValue": "31", - "id": 7787, + "id": 9499, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5200:1:19", + "src": "5200:1:32", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "5184:17:19", + "src": "5184:17:32", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 7793, + "id": 9505, "nodeType": "IfStatement", - "src": "5180:66:19", + "src": "5180:66:32", "trueBody": { - "id": 7792, + "id": 9504, "nodeType": "Block", - "src": "5203:43:19", + "src": "5203:43:32", "statements": [ { "errorCall": { "arguments": [], "expression": { "argumentTypes": [], - "id": 7789, + "id": 9501, "name": "LastOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7705, - "src": "5224:9:19", + "referencedDeclaration": 9417, + "src": "5224:9:32", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$__$returns$_t_error_$", "typeString": "function () pure returns (error)" } }, - "id": 7790, + "id": 9502, "isConstant": false, "isLValue": false, "isPure": false, @@ -225157,16 +245455,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5224:11:19", + "src": "5224:11:32", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_error", "typeString": "error" } }, - "id": 7791, + "id": 9503, "nodeType": "RevertStatement", - "src": "5217:18:19" + "src": "5217:18:32" } ] } @@ -225175,24 +245473,24 @@ "expression": { "arguments": [ { - "id": 7795, + "id": 9507, "name": "index", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7778, - "src": "5276:5:19", + "referencedDeclaration": 9490, + "src": "5276:5:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 7796, + "id": 9508, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7780, - "src": "5283:5:19", + "referencedDeclaration": 9492, + "src": "5283:5:32", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -225210,18 +245508,18 @@ "typeString": "bytes calldata" } ], - "id": 7794, + "id": 9506, "name": "_removeOwnerAtIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8147, - "src": "5256:19:19", + "referencedDeclaration": 9859, + "src": "5256:19:32", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_bytes_calldata_ptr_$returns$__$", "typeString": "function (uint256,bytes calldata)" } }, - "id": 7797, + "id": 9509, "isConstant": false, "isLValue": false, "isPure": false, @@ -225230,63 +245528,63 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5256:33:19", + "src": "5256:33:32", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7798, + "id": 9510, "nodeType": "ExpressionStatement", - "src": "5256:33:19" + "src": "5256:33:32" } ] }, "documentation": { - "id": 7776, + "id": 9488, "nodeType": "StructuredDocumentation", - "src": "4686:387:19", + "src": "4686:387:32", "text": "@notice Removes owner at the given `index`.\n @dev Reverts if the owner is not registered at `index`.\n @dev Reverts if there is currently only one owner.\n @dev Reverts if `owner` does not match bytes found at `index`.\n @param index The index of the owner to be removed.\n @param owner The ABI encoded bytes of the owner to be removed." }, "functionSelector": "89625b57", - "id": 7800, + "id": 9512, "implemented": true, "kind": "function", "modifiers": [ { - "id": 7783, + "id": 9495, "kind": "modifierInvocation", "modifierName": { - "id": 7782, + "id": 9494, "name": "onlyOwner", "nameLocations": [ - "5160:9:19" + "5160:9:32" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 7732, - "src": "5160:9:19" + "referencedDeclaration": 9444, + "src": "5160:9:32" }, "nodeType": "ModifierInvocation", - "src": "5160:9:19" + "src": "5160:9:32" } ], "name": "removeOwnerAtIndex", - "nameLocation": "5087:18:19", + "nameLocation": "5087:18:32", "nodeType": "FunctionDefinition", "parameters": { - "id": 7781, + "id": 9493, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7778, + "id": 9490, "mutability": "mutable", "name": "index", - "nameLocation": "5114:5:19", + "nameLocation": "5114:5:32", "nodeType": "VariableDeclaration", - "scope": 7800, - "src": "5106:13:19", + "scope": 9512, + "src": "5106:13:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -225294,10 +245592,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7777, + "id": 9489, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5106:7:19", + "src": "5106:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -225307,13 +245605,13 @@ }, { "constant": false, - "id": 7780, + "id": 9492, "mutability": "mutable", "name": "owner", - "nameLocation": "5136:5:19", + "nameLocation": "5136:5:32", "nodeType": "VariableDeclaration", - "scope": 7800, - "src": "5121:20:19", + "scope": 9512, + "src": "5121:20:32", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -225321,10 +245619,10 @@ "typeString": "bytes" }, "typeName": { - "id": 7779, + "id": 9491, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "5121:5:19", + "src": "5121:5:32", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -225333,40 +245631,40 @@ "visibility": "internal" } ], - "src": "5105:37:19" + "src": "5105:37:32" }, "returnParameters": { - "id": 7784, + "id": 9496, "nodeType": "ParameterList", "parameters": [], - "src": "5170:0:19" + "src": "5170:0:32" }, - "scope": 8181, - "src": "5078:218:19", + "scope": 9893, + "src": "5078:218:32", "stateMutability": "nonpayable", "virtual": true, "visibility": "external" }, { "body": { - "id": 7829, + "id": 9541, "nodeType": "Block", - "src": "5828:194:19", + "src": "5828:194:32", "statements": [ { "assignments": [ - 7811 + 9523 ], "declarations": [ { "constant": false, - "id": 7811, + "id": 9523, "mutability": "mutable", "name": "ownersRemaining", - "nameLocation": "5846:15:19", + "nameLocation": "5846:15:32", "nodeType": "VariableDeclaration", - "scope": 7829, - "src": "5838:23:19", + "scope": 9541, + "src": "5838:23:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -225374,10 +245672,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7810, + "id": 9522, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5838:7:19", + "src": "5838:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -225386,23 +245684,23 @@ "visibility": "internal" } ], - "id": 7814, + "id": 9526, "initialValue": { "arguments": [], "expression": { "argumentTypes": [], - "id": 7812, + "id": 9524, "name": "ownerCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7929, - "src": "5864:10:19", + "referencedDeclaration": 9641, + "src": "5864:10:32", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", "typeString": "function () view returns (uint256)" } }, - "id": 7813, + "id": 9525, "isConstant": false, "isLValue": false, "isPure": false, @@ -225411,7 +245709,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5864:12:19", + "src": "5864:12:32", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -225419,7 +245717,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "5838:38:19" + "src": "5838:38:32" }, { "condition": { @@ -225427,18 +245725,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7817, + "id": 9529, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 7815, + "id": 9527, "name": "ownersRemaining", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7811, - "src": "5890:15:19", + "referencedDeclaration": 9523, + "src": "5890:15:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -225448,44 +245746,44 @@ "operator": ">", "rightExpression": { "hexValue": "31", - "id": 7816, + "id": 9528, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5908:1:19", + "src": "5908:1:32", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "5890:19:19", + "src": "5890:19:32", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 7823, + "id": 9535, "nodeType": "IfStatement", - "src": "5886:86:19", + "src": "5886:86:32", "trueBody": { - "id": 7822, + "id": 9534, "nodeType": "Block", - "src": "5911:61:19", + "src": "5911:61:32", "statements": [ { "errorCall": { "arguments": [ { - "id": 7819, + "id": 9531, "name": "ownersRemaining", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7811, - "src": "5945:15:19", + "referencedDeclaration": 9523, + "src": "5945:15:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -225499,18 +245797,18 @@ "typeString": "uint256" } ], - "id": 7818, + "id": 9530, "name": "NotLastOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7710, - "src": "5932:12:19", + "referencedDeclaration": 9422, + "src": "5932:12:32", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_uint256_$returns$_t_error_$", "typeString": "function (uint256) pure returns (error)" } }, - "id": 7820, + "id": 9532, "isConstant": false, "isLValue": false, "isPure": false, @@ -225519,16 +245817,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5932:29:19", + "src": "5932:29:32", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_error", "typeString": "error" } }, - "id": 7821, + "id": 9533, "nodeType": "RevertStatement", - "src": "5925:36:19" + "src": "5925:36:32" } ] } @@ -225537,24 +245835,24 @@ "expression": { "arguments": [ { - "id": 7825, + "id": 9537, "name": "index", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7803, - "src": "6002:5:19", + "referencedDeclaration": 9515, + "src": "6002:5:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 7826, + "id": 9538, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7805, - "src": "6009:5:19", + "referencedDeclaration": 9517, + "src": "6009:5:32", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -225572,18 +245870,18 @@ "typeString": "bytes calldata" } ], - "id": 7824, + "id": 9536, "name": "_removeOwnerAtIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8147, - "src": "5982:19:19", + "referencedDeclaration": 9859, + "src": "5982:19:32", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_bytes_calldata_ptr_$returns$__$", "typeString": "function (uint256,bytes calldata)" } }, - "id": 7827, + "id": 9539, "isConstant": false, "isLValue": false, "isPure": false, @@ -225592,63 +245890,63 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5982:33:19", + "src": "5982:33:32", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7828, + "id": 9540, "nodeType": "ExpressionStatement", - "src": "5982:33:19" + "src": "5982:33:32" } ] }, "documentation": { - "id": 7801, + "id": 9513, "nodeType": "StructuredDocumentation", - "src": "5302:432:19", + "src": "5302:432:32", "text": "@notice Removes owner at the given `index`, which should be the only current owner.\n @dev Reverts if the owner is not registered at `index`.\n @dev Reverts if there is currently more than one owner.\n @dev Reverts if `owner` does not match bytes found at `index`.\n @param index The index of the owner to be removed.\n @param owner The ABI encoded bytes of the owner to be removed." }, "functionSelector": "b8197367", - "id": 7830, + "id": 9542, "implemented": true, "kind": "function", "modifiers": [ { - "id": 7808, + "id": 9520, "kind": "modifierInvocation", "modifierName": { - "id": 7807, + "id": 9519, "name": "onlyOwner", "nameLocations": [ - "5818:9:19" + "5818:9:32" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 7732, - "src": "5818:9:19" + "referencedDeclaration": 9444, + "src": "5818:9:32" }, "nodeType": "ModifierInvocation", - "src": "5818:9:19" + "src": "5818:9:32" } ], "name": "removeLastOwner", - "nameLocation": "5748:15:19", + "nameLocation": "5748:15:32", "nodeType": "FunctionDefinition", "parameters": { - "id": 7806, + "id": 9518, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7803, + "id": 9515, "mutability": "mutable", "name": "index", - "nameLocation": "5772:5:19", + "nameLocation": "5772:5:32", "nodeType": "VariableDeclaration", - "scope": 7830, - "src": "5764:13:19", + "scope": 9542, + "src": "5764:13:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -225656,10 +245954,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7802, + "id": 9514, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5764:7:19", + "src": "5764:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -225669,13 +245967,13 @@ }, { "constant": false, - "id": 7805, + "id": 9517, "mutability": "mutable", "name": "owner", - "nameLocation": "5794:5:19", + "nameLocation": "5794:5:32", "nodeType": "VariableDeclaration", - "scope": 7830, - "src": "5779:20:19", + "scope": 9542, + "src": "5779:20:32", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -225683,10 +245981,10 @@ "typeString": "bytes" }, "typeName": { - "id": 7804, + "id": 9516, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "5779:5:19", + "src": "5779:5:32", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -225695,25 +245993,25 @@ "visibility": "internal" } ], - "src": "5763:37:19" + "src": "5763:37:32" }, "returnParameters": { - "id": 7809, + "id": 9521, "nodeType": "ParameterList", "parameters": [], - "src": "5828:0:19" + "src": "5828:0:32" }, - "scope": 8181, - "src": "5739:283:19", + "scope": 9893, + "src": "5739:283:32", "stateMutability": "nonpayable", "virtual": true, "visibility": "external" }, { "body": { - "id": 7847, + "id": 9559, "nodeType": "Block", - "src": "6315:78:19", + "src": "6315:78:32", "statements": [ { "expression": { @@ -225722,18 +246020,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 7838, + "id": 9550, "name": "_getMultiOwnableStorage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8180, - "src": "6332:23:19", + "referencedDeclaration": 9892, + "src": "6332:23:32", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_MultiOwnableStorage_$7665_storage_ptr_$", + "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_MultiOwnableStorage_$9377_storage_ptr_$", "typeString": "function () pure returns (struct MultiOwnableStorage storage pointer)" } }, - "id": 7839, + "id": 9551, "isConstant": false, "isLValue": false, "isPure": false, @@ -225742,38 +246040,38 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "6332:25:19", + "src": "6332:25:32", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7665_storage_ptr", + "typeIdentifier": "t_struct$_MultiOwnableStorage_$9377_storage_ptr", "typeString": "struct MultiOwnableStorage storage pointer" } }, - "id": 7840, + "id": 9552, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "6358:7:19", + "memberLocation": "6358:7:32", "memberName": "isOwner", "nodeType": "MemberAccess", - "referencedDeclaration": 7664, - "src": "6332:33:19", + "referencedDeclaration": 9376, + "src": "6332:33:32", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes_memory_ptr_$_t_bool_$", "typeString": "mapping(bytes memory => bool)" } }, - "id": 7845, + "id": 9557, "indexExpression": { "arguments": [ { - "id": 7843, + "id": 9555, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7833, - "src": "6377:7:19", + "referencedDeclaration": 9545, + "src": "6377:7:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -225788,32 +246086,32 @@ } ], "expression": { - "id": 7841, + "id": 9553, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "6366:3:19", + "src": "6366:3:32", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 7842, + "id": 9554, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "6370:6:19", + "memberLocation": "6370:6:32", "memberName": "encode", "nodeType": "MemberAccess", - "src": "6366:10:19", + "src": "6366:10:32", "typeDescriptions": { "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 7844, + "id": 9556, "isConstant": false, "isLValue": false, "isPure": false, @@ -225822,7 +246120,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "6366:19:19", + "src": "6366:19:32", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -225834,46 +246132,46 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6332:54:19", + "src": "6332:54:32", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 7837, - "id": 7846, + "functionReturnParameters": 9549, + "id": 9558, "nodeType": "Return", - "src": "6325:61:19" + "src": "6325:61:32" } ] }, "documentation": { - "id": 7831, + "id": 9543, "nodeType": "StructuredDocumentation", - "src": "6028:206:19", + "src": "6028:206:32", "text": "@notice Checks if the given `account` address is registered as owner.\n @param account The account address to check.\n @return `true` if the account is an owner else `false`." }, "functionSelector": "a2e1a8d8", - "id": 7848, + "id": 9560, "implemented": true, "kind": "function", "modifiers": [], "name": "isOwnerAddress", - "nameLocation": "6248:14:19", + "nameLocation": "6248:14:32", "nodeType": "FunctionDefinition", "parameters": { - "id": 7834, + "id": 9546, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7833, + "id": 9545, "mutability": "mutable", "name": "account", - "nameLocation": "6271:7:19", + "nameLocation": "6271:7:32", "nodeType": "VariableDeclaration", - "scope": 7848, - "src": "6263:15:19", + "scope": 9560, + "src": "6263:15:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -225881,10 +246179,10 @@ "typeString": "address" }, "typeName": { - "id": 7832, + "id": 9544, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6263:7:19", + "src": "6263:7:32", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -225894,21 +246192,21 @@ "visibility": "internal" } ], - "src": "6262:17:19" + "src": "6262:17:32" }, "returnParameters": { - "id": 7837, + "id": 9549, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7836, + "id": 9548, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 7848, - "src": "6309:4:19", + "scope": 9560, + "src": "6309:4:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -225916,10 +246214,10 @@ "typeString": "bool" }, "typeName": { - "id": 7835, + "id": 9547, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "6309:4:19", + "src": "6309:4:32", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -225928,19 +246226,19 @@ "visibility": "internal" } ], - "src": "6308:6:19" + "src": "6308:6:32" }, - "scope": 8181, - "src": "6239:154:19", + "scope": 9893, + "src": "6239:154:32", "stateMutability": "view", "virtual": true, "visibility": "public" }, { "body": { - "id": 7868, + "id": 9580, "nodeType": "Block", - "src": "6734:75:19", + "src": "6734:75:32", "statements": [ { "expression": { @@ -225949,18 +246247,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 7858, + "id": 9570, "name": "_getMultiOwnableStorage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8180, - "src": "6751:23:19", + "referencedDeclaration": 9892, + "src": "6751:23:32", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_MultiOwnableStorage_$7665_storage_ptr_$", + "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_MultiOwnableStorage_$9377_storage_ptr_$", "typeString": "function () pure returns (struct MultiOwnableStorage storage pointer)" } }, - "id": 7859, + "id": 9571, "isConstant": false, "isLValue": false, "isPure": false, @@ -225969,50 +246267,50 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "6751:25:19", + "src": "6751:25:32", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7665_storage_ptr", + "typeIdentifier": "t_struct$_MultiOwnableStorage_$9377_storage_ptr", "typeString": "struct MultiOwnableStorage storage pointer" } }, - "id": 7860, + "id": 9572, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "6777:7:19", + "memberLocation": "6777:7:32", "memberName": "isOwner", "nodeType": "MemberAccess", - "referencedDeclaration": 7664, - "src": "6751:33:19", + "referencedDeclaration": 9376, + "src": "6751:33:32", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes_memory_ptr_$_t_bool_$", "typeString": "mapping(bytes memory => bool)" } }, - "id": 7866, + "id": 9578, "indexExpression": { "arguments": [ { - "id": 7863, + "id": 9575, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7851, - "src": "6796:1:19", + "referencedDeclaration": 9563, + "src": "6796:1:32", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 7864, + "id": 9576, "name": "y", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7853, - "src": "6799:1:19", + "referencedDeclaration": 9565, + "src": "6799:1:32", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -226031,32 +246329,32 @@ } ], "expression": { - "id": 7861, + "id": 9573, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "6785:3:19", + "src": "6785:3:32", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 7862, + "id": 9574, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "6789:6:19", + "memberLocation": "6789:6:32", "memberName": "encode", "nodeType": "MemberAccess", - "src": "6785:10:19", + "src": "6785:10:32", "typeDescriptions": { "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 7865, + "id": 9577, "isConstant": false, "isLValue": false, "isPure": false, @@ -226065,7 +246363,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "6785:16:19", + "src": "6785:16:32", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -226077,46 +246375,46 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6751:51:19", + "src": "6751:51:32", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 7857, - "id": 7867, + "functionReturnParameters": 9569, + "id": 9579, "nodeType": "Return", - "src": "6744:58:19" + "src": "6744:58:32" } ] }, "documentation": { - "id": 7849, + "id": 9561, "nodeType": "StructuredDocumentation", - "src": "6399:247:19", + "src": "6399:247:32", "text": "@notice Checks if the given `x`, `y` public key is registered as owner.\n @param x The public key x coordinate.\n @param y The public key y coordinate.\n @return `true` if the account is an owner else `false`." }, "functionSelector": "066a1eb7", - "id": 7869, + "id": 9581, "implemented": true, "kind": "function", "modifiers": [], "name": "isOwnerPublicKey", - "nameLocation": "6660:16:19", + "nameLocation": "6660:16:32", "nodeType": "FunctionDefinition", "parameters": { - "id": 7854, + "id": 9566, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7851, + "id": 9563, "mutability": "mutable", "name": "x", - "nameLocation": "6685:1:19", + "nameLocation": "6685:1:32", "nodeType": "VariableDeclaration", - "scope": 7869, - "src": "6677:9:19", + "scope": 9581, + "src": "6677:9:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -226124,10 +246422,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7850, + "id": 9562, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "6677:7:19", + "src": "6677:7:32", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -226137,13 +246435,13 @@ }, { "constant": false, - "id": 7853, + "id": 9565, "mutability": "mutable", "name": "y", - "nameLocation": "6696:1:19", + "nameLocation": "6696:1:32", "nodeType": "VariableDeclaration", - "scope": 7869, - "src": "6688:9:19", + "scope": 9581, + "src": "6688:9:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -226151,10 +246449,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7852, + "id": 9564, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "6688:7:19", + "src": "6688:7:32", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -226163,21 +246461,21 @@ "visibility": "internal" } ], - "src": "6676:22:19" + "src": "6676:22:32" }, "returnParameters": { - "id": 7857, + "id": 9569, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7856, + "id": 9568, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 7869, - "src": "6728:4:19", + "scope": 9581, + "src": "6728:4:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -226185,10 +246483,10 @@ "typeString": "bool" }, "typeName": { - "id": 7855, + "id": 9567, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "6728:4:19", + "src": "6728:4:32", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -226197,19 +246495,19 @@ "visibility": "internal" } ], - "src": "6727:6:19" + "src": "6727:6:32" }, - "scope": 8181, - "src": "6651:158:19", + "scope": 9893, + "src": "6651:158:32", "stateMutability": "view", "virtual": true, "visibility": "public" }, { "body": { - "id": 7883, + "id": 9595, "nodeType": "Block", - "src": "7131:66:19", + "src": "7131:66:32", "statements": [ { "expression": { @@ -226218,18 +246516,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 7877, + "id": 9589, "name": "_getMultiOwnableStorage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8180, - "src": "7148:23:19", + "referencedDeclaration": 9892, + "src": "7148:23:32", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_MultiOwnableStorage_$7665_storage_ptr_$", + "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_MultiOwnableStorage_$9377_storage_ptr_$", "typeString": "function () pure returns (struct MultiOwnableStorage storage pointer)" } }, - "id": 7878, + "id": 9590, "isConstant": false, "isLValue": false, "isPure": false, @@ -226238,36 +246536,36 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7148:25:19", + "src": "7148:25:32", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7665_storage_ptr", + "typeIdentifier": "t_struct$_MultiOwnableStorage_$9377_storage_ptr", "typeString": "struct MultiOwnableStorage storage pointer" } }, - "id": 7879, + "id": 9591, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "7174:7:19", + "memberLocation": "7174:7:32", "memberName": "isOwner", "nodeType": "MemberAccess", - "referencedDeclaration": 7664, - "src": "7148:33:19", + "referencedDeclaration": 9376, + "src": "7148:33:32", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes_memory_ptr_$_t_bool_$", "typeString": "mapping(bytes memory => bool)" } }, - "id": 7881, + "id": 9593, "indexExpression": { - "id": 7880, + "id": 9592, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7872, - "src": "7182:7:19", + "referencedDeclaration": 9584, + "src": "7182:7:32", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -226278,46 +246576,46 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7148:42:19", + "src": "7148:42:32", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 7876, - "id": 7882, + "functionReturnParameters": 9588, + "id": 9594, "nodeType": "Return", - "src": "7141:49:19" + "src": "7141:49:32" } ] }, "documentation": { - "id": 7870, + "id": 9582, "nodeType": "StructuredDocumentation", - "src": "6815:232:19", + "src": "6815:232:32", "text": "@notice Checks if the given `account` bytes is registered as owner.\n @param account The account, should be ABI encoded address or public key.\n @return `true` if the account is an owner else `false`." }, "functionSelector": "1ca5393f", - "id": 7884, + "id": 9596, "implemented": true, "kind": "function", "modifiers": [], "name": "isOwnerBytes", - "nameLocation": "7061:12:19", + "nameLocation": "7061:12:32", "nodeType": "FunctionDefinition", "parameters": { - "id": 7873, + "id": 9585, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7872, + "id": 9584, "mutability": "mutable", "name": "account", - "nameLocation": "7087:7:19", + "nameLocation": "7087:7:32", "nodeType": "VariableDeclaration", - "scope": 7884, - "src": "7074:20:19", + "scope": 9596, + "src": "7074:20:32", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -226325,10 +246623,10 @@ "typeString": "bytes" }, "typeName": { - "id": 7871, + "id": 9583, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "7074:5:19", + "src": "7074:5:32", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -226337,21 +246635,21 @@ "visibility": "internal" } ], - "src": "7073:22:19" + "src": "7073:22:32" }, "returnParameters": { - "id": 7876, + "id": 9588, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7875, + "id": 9587, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 7884, - "src": "7125:4:19", + "scope": 9596, + "src": "7125:4:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -226359,10 +246657,10 @@ "typeString": "bool" }, "typeName": { - "id": 7874, + "id": 9586, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "7125:4:19", + "src": "7125:4:32", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -226371,19 +246669,19 @@ "visibility": "internal" } ], - "src": "7124:6:19" + "src": "7124:6:32" }, - "scope": 8181, - "src": "7052:145:19", + "scope": 9893, + "src": "7052:145:32", "stateMutability": "view", "virtual": true, "visibility": "public" }, { "body": { - "id": 7898, + "id": 9610, "nodeType": "Block", - "src": "7486:69:19", + "src": "7486:69:32", "statements": [ { "expression": { @@ -226392,18 +246690,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 7892, + "id": 9604, "name": "_getMultiOwnableStorage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8180, - "src": "7503:23:19", + "referencedDeclaration": 9892, + "src": "7503:23:32", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_MultiOwnableStorage_$7665_storage_ptr_$", + "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_MultiOwnableStorage_$9377_storage_ptr_$", "typeString": "function () pure returns (struct MultiOwnableStorage storage pointer)" } }, - "id": 7893, + "id": 9605, "isConstant": false, "isLValue": false, "isPure": false, @@ -226412,36 +246710,36 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7503:25:19", + "src": "7503:25:32", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7665_storage_ptr", + "typeIdentifier": "t_struct$_MultiOwnableStorage_$9377_storage_ptr", "typeString": "struct MultiOwnableStorage storage pointer" } }, - "id": 7894, + "id": 9606, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "7529:12:19", + "memberLocation": "7529:12:32", "memberName": "ownerAtIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 7659, - "src": "7503:38:19", + "referencedDeclaration": 9371, + "src": "7503:38:32", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes_storage_$", "typeString": "mapping(uint256 => bytes storage ref)" } }, - "id": 7896, + "id": 9608, "indexExpression": { - "id": 7895, + "id": 9607, "name": "index", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7887, - "src": "7542:5:19", + "referencedDeclaration": 9599, + "src": "7542:5:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -226452,46 +246750,46 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7503:45:19", + "src": "7503:45:32", "typeDescriptions": { "typeIdentifier": "t_bytes_storage", "typeString": "bytes storage ref" } }, - "functionReturnParameters": 7891, - "id": 7897, + "functionReturnParameters": 9603, + "id": 9609, "nodeType": "Return", - "src": "7496:52:19" + "src": "7496:52:32" } ] }, "documentation": { - "id": 7885, + "id": 9597, "nodeType": "StructuredDocumentation", - "src": "7203:198:19", + "src": "7203:198:32", "text": "@notice Returns the owner bytes at the given `index`.\n @param index The index to lookup.\n @return The owner bytes (empty if no owner is registered at this `index`)." }, "functionSelector": "8ea69029", - "id": 7899, + "id": 9611, "implemented": true, "kind": "function", "modifiers": [], "name": "ownerAtIndex", - "nameLocation": "7415:12:19", + "nameLocation": "7415:12:32", "nodeType": "FunctionDefinition", "parameters": { - "id": 7888, + "id": 9600, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7887, + "id": 9599, "mutability": "mutable", "name": "index", - "nameLocation": "7436:5:19", + "nameLocation": "7436:5:32", "nodeType": "VariableDeclaration", - "scope": 7899, - "src": "7428:13:19", + "scope": 9611, + "src": "7428:13:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -226499,10 +246797,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7886, + "id": 9598, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7428:7:19", + "src": "7428:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -226511,21 +246809,21 @@ "visibility": "internal" } ], - "src": "7427:15:19" + "src": "7427:15:32" }, "returnParameters": { - "id": 7891, + "id": 9603, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7890, + "id": 9602, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 7899, - "src": "7472:12:19", + "scope": 9611, + "src": "7472:12:32", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -226533,10 +246831,10 @@ "typeString": "bytes" }, "typeName": { - "id": 7889, + "id": 9601, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "7472:5:19", + "src": "7472:5:32", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -226545,19 +246843,19 @@ "visibility": "internal" } ], - "src": "7471:14:19" + "src": "7471:14:32" }, - "scope": 8181, - "src": "7406:149:19", + "scope": 9893, + "src": "7406:149:32", "stateMutability": "view", "virtual": true, "visibility": "public" }, { "body": { - "id": 7909, + "id": 9621, "nodeType": "Block", - "src": "7779:64:19", + "src": "7779:64:32", "statements": [ { "expression": { @@ -226565,18 +246863,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 7905, + "id": 9617, "name": "_getMultiOwnableStorage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8180, - "src": "7796:23:19", + "referencedDeclaration": 9892, + "src": "7796:23:32", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_MultiOwnableStorage_$7665_storage_ptr_$", + "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_MultiOwnableStorage_$9377_storage_ptr_$", "typeString": "function () pure returns (struct MultiOwnableStorage storage pointer)" } }, - "id": 7906, + "id": 9618, "isConstant": false, "isLValue": false, "isPure": false, @@ -226585,68 +246883,68 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7796:25:19", + "src": "7796:25:32", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7665_storage_ptr", + "typeIdentifier": "t_struct$_MultiOwnableStorage_$9377_storage_ptr", "typeString": "struct MultiOwnableStorage storage pointer" } }, - "id": 7907, + "id": 9619, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "7822:14:19", + "memberLocation": "7822:14:32", "memberName": "nextOwnerIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 7651, - "src": "7796:40:19", + "referencedDeclaration": 9363, + "src": "7796:40:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 7904, - "id": 7908, + "functionReturnParameters": 9616, + "id": 9620, "nodeType": "Return", - "src": "7789:47:19" + "src": "7789:47:32" } ] }, "documentation": { - "id": 7900, + "id": 9612, "nodeType": "StructuredDocumentation", - "src": "7561:149:19", + "src": "7561:149:32", "text": "@notice Returns the next index that will be used to add a new owner.\n @return The next index that will be used to add a new owner." }, "functionSelector": "d948fd2e", - "id": 7910, + "id": 9622, "implemented": true, "kind": "function", "modifiers": [], "name": "nextOwnerIndex", - "nameLocation": "7724:14:19", + "nameLocation": "7724:14:32", "nodeType": "FunctionDefinition", "parameters": { - "id": 7901, + "id": 9613, "nodeType": "ParameterList", "parameters": [], - "src": "7738:2:19" + "src": "7738:2:32" }, "returnParameters": { - "id": 7904, + "id": 9616, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7903, + "id": 9615, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 7910, - "src": "7770:7:19", + "scope": 9622, + "src": "7770:7:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -226654,10 +246952,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7902, + "id": 9614, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7770:7:19", + "src": "7770:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -226666,80 +246964,80 @@ "visibility": "internal" } ], - "src": "7769:9:19" + "src": "7769:9:32" }, - "scope": 8181, - "src": "7715:128:19", + "scope": 9893, + "src": "7715:128:32", "stateMutability": "view", "virtual": true, "visibility": "public" }, { "body": { - "id": 7928, + "id": 9640, "nodeType": "Block", - "src": "8010:130:19", + "src": "8010:130:32", "statements": [ { "assignments": [ - 7918 + 9630 ], "declarations": [ { "constant": false, - "id": 7918, + "id": 9630, "mutability": "mutable", "name": "$", - "nameLocation": "8048:1:19", + "nameLocation": "8048:1:32", "nodeType": "VariableDeclaration", - "scope": 7928, - "src": "8020:29:19", + "scope": 9640, + "src": "8020:29:32", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7665_storage_ptr", + "typeIdentifier": "t_struct$_MultiOwnableStorage_$9377_storage_ptr", "typeString": "struct MultiOwnableStorage" }, "typeName": { - "id": 7917, + "id": 9629, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 7916, + "id": 9628, "name": "MultiOwnableStorage", "nameLocations": [ - "8020:19:19" + "8020:19:32" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 7665, - "src": "8020:19:19" + "referencedDeclaration": 9377, + "src": "8020:19:32" }, - "referencedDeclaration": 7665, - "src": "8020:19:19", + "referencedDeclaration": 9377, + "src": "8020:19:32", "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7665_storage_ptr", + "typeIdentifier": "t_struct$_MultiOwnableStorage_$9377_storage_ptr", "typeString": "struct MultiOwnableStorage" } }, "visibility": "internal" } ], - "id": 7921, + "id": 9633, "initialValue": { "arguments": [], "expression": { "argumentTypes": [], - "id": 7919, + "id": 9631, "name": "_getMultiOwnableStorage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8180, - "src": "8052:23:19", + "referencedDeclaration": 9892, + "src": "8052:23:32", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_MultiOwnableStorage_$7665_storage_ptr_$", + "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_MultiOwnableStorage_$9377_storage_ptr_$", "typeString": "function () pure returns (struct MultiOwnableStorage storage pointer)" } }, - "id": 7920, + "id": 9632, "isConstant": false, "isLValue": false, "isPure": false, @@ -226748,15 +247046,15 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8052:25:19", + "src": "8052:25:32", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7665_storage_ptr", + "typeIdentifier": "t_struct$_MultiOwnableStorage_$9377_storage_ptr", "typeString": "struct MultiOwnableStorage storage pointer" } }, "nodeType": "VariableDeclarationStatement", - "src": "8020:57:19" + "src": "8020:57:32" }, { "expression": { @@ -226764,34 +247062,34 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7926, + "id": 9638, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 7922, + "id": 9634, "name": "$", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7918, - "src": "8094:1:19", + "referencedDeclaration": 9630, + "src": "8094:1:32", "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7665_storage_ptr", + "typeIdentifier": "t_struct$_MultiOwnableStorage_$9377_storage_ptr", "typeString": "struct MultiOwnableStorage storage pointer" } }, - "id": 7923, + "id": 9635, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "8096:14:19", + "memberLocation": "8096:14:32", "memberName": "nextOwnerIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 7651, - "src": "8094:16:19", + "referencedDeclaration": 9363, + "src": "8094:16:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -226801,78 +247099,78 @@ "operator": "-", "rightExpression": { "expression": { - "id": 7924, + "id": 9636, "name": "$", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7918, - "src": "8113:1:19", + "referencedDeclaration": 9630, + "src": "8113:1:32", "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7665_storage_ptr", + "typeIdentifier": "t_struct$_MultiOwnableStorage_$9377_storage_ptr", "typeString": "struct MultiOwnableStorage storage pointer" } }, - "id": 7925, + "id": 9637, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "8115:18:19", + "memberLocation": "8115:18:32", "memberName": "removedOwnersCount", "nodeType": "MemberAccess", - "referencedDeclaration": 7654, - "src": "8113:20:19", + "referencedDeclaration": 9366, + "src": "8113:20:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8094:39:19", + "src": "8094:39:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 7915, - "id": 7927, + "functionReturnParameters": 9627, + "id": 9639, "nodeType": "Return", - "src": "8087:46:19" + "src": "8087:46:32" } ] }, "documentation": { - "id": 7911, + "id": 9623, "nodeType": "StructuredDocumentation", - "src": "7849:96:19", + "src": "7849:96:32", "text": "@notice Returns the current number of owners\n @return The current owner count" }, "functionSelector": "0db02622", - "id": 7929, + "id": 9641, "implemented": true, "kind": "function", "modifiers": [], "name": "ownerCount", - "nameLocation": "7959:10:19", + "nameLocation": "7959:10:32", "nodeType": "FunctionDefinition", "parameters": { - "id": 7912, + "id": 9624, "nodeType": "ParameterList", "parameters": [], - "src": "7969:2:19" + "src": "7969:2:32" }, "returnParameters": { - "id": 7915, + "id": 9627, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7914, + "id": 9626, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 7929, - "src": "8001:7:19", + "scope": 9641, + "src": "8001:7:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -226880,10 +247178,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7913, + "id": 9625, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8001:7:19", + "src": "8001:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -226892,19 +247190,19 @@ "visibility": "internal" } ], - "src": "8000:9:19" + "src": "8000:9:32" }, - "scope": 8181, - "src": "7950:190:19", + "scope": 9893, + "src": "7950:190:32", "stateMutability": "view", "virtual": true, "visibility": "public" }, { "body": { - "id": 7939, + "id": 9651, "nodeType": "Block", - "src": "8417:68:19", + "src": "8417:68:32", "statements": [ { "expression": { @@ -226912,18 +247210,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 7935, + "id": 9647, "name": "_getMultiOwnableStorage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8180, - "src": "8434:23:19", + "referencedDeclaration": 9892, + "src": "8434:23:32", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_MultiOwnableStorage_$7665_storage_ptr_$", + "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_MultiOwnableStorage_$9377_storage_ptr_$", "typeString": "function () pure returns (struct MultiOwnableStorage storage pointer)" } }, - "id": 7936, + "id": 9648, "isConstant": false, "isLValue": false, "isPure": false, @@ -226932,68 +247230,68 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8434:25:19", + "src": "8434:25:32", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7665_storage_ptr", + "typeIdentifier": "t_struct$_MultiOwnableStorage_$9377_storage_ptr", "typeString": "struct MultiOwnableStorage storage pointer" } }, - "id": 7937, + "id": 9649, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "8460:18:19", + "memberLocation": "8460:18:32", "memberName": "removedOwnersCount", "nodeType": "MemberAccess", - "referencedDeclaration": 7654, - "src": "8434:44:19", + "referencedDeclaration": 9366, + "src": "8434:44:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 7934, - "id": 7938, + "functionReturnParameters": 9646, + "id": 9650, "nodeType": "Return", - "src": "8427:51:19" + "src": "8427:51:32" } ] }, "documentation": { - "id": 7930, + "id": 9642, "nodeType": "StructuredDocumentation", - "src": "8146:198:19", + "src": "8146:198:32", "text": "@notice Tracks the number of owners removed\n @dev Used with `this.nextOwnerIndex` to avoid removing all owners\n @return The number of owners that have been removed." }, "functionSelector": "36d9cf9b", - "id": 7940, + "id": 9652, "implemented": true, "kind": "function", "modifiers": [], "name": "removedOwnersCount", - "nameLocation": "8358:18:19", + "nameLocation": "8358:18:32", "nodeType": "FunctionDefinition", "parameters": { - "id": 7931, + "id": 9643, "nodeType": "ParameterList", "parameters": [], - "src": "8376:2:19" + "src": "8376:2:32" }, "returnParameters": { - "id": 7934, + "id": 9646, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7933, + "id": 9645, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 7940, - "src": "8408:7:19", + "scope": 9652, + "src": "8408:7:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -227001,10 +247299,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7932, + "id": 9644, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8408:7:19", + "src": "8408:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -227013,80 +247311,80 @@ "visibility": "internal" } ], - "src": "8407:9:19" + "src": "8407:9:32" }, - "scope": 8181, - "src": "8349:136:19", + "scope": 9893, + "src": "8349:136:32", "stateMutability": "view", "virtual": true, "visibility": "public" }, { "body": { - "id": 8035, + "id": 9747, "nodeType": "Block", - "src": "8862:603:19", + "src": "8862:603:32", "statements": [ { "assignments": [ - 7949 + 9661 ], "declarations": [ { "constant": false, - "id": 7949, + "id": 9661, "mutability": "mutable", "name": "$", - "nameLocation": "8900:1:19", + "nameLocation": "8900:1:32", "nodeType": "VariableDeclaration", - "scope": 8035, - "src": "8872:29:19", + "scope": 9747, + "src": "8872:29:32", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7665_storage_ptr", + "typeIdentifier": "t_struct$_MultiOwnableStorage_$9377_storage_ptr", "typeString": "struct MultiOwnableStorage" }, "typeName": { - "id": 7948, + "id": 9660, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 7947, + "id": 9659, "name": "MultiOwnableStorage", "nameLocations": [ - "8872:19:19" + "8872:19:32" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 7665, - "src": "8872:19:19" + "referencedDeclaration": 9377, + "src": "8872:19:32" }, - "referencedDeclaration": 7665, - "src": "8872:19:19", + "referencedDeclaration": 9377, + "src": "8872:19:32", "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7665_storage_ptr", + "typeIdentifier": "t_struct$_MultiOwnableStorage_$9377_storage_ptr", "typeString": "struct MultiOwnableStorage" } }, "visibility": "internal" } ], - "id": 7952, + "id": 9664, "initialValue": { "arguments": [], "expression": { "argumentTypes": [], - "id": 7950, + "id": 9662, "name": "_getMultiOwnableStorage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8180, - "src": "8904:23:19", + "referencedDeclaration": 9892, + "src": "8904:23:32", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_MultiOwnableStorage_$7665_storage_ptr_$", + "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_MultiOwnableStorage_$9377_storage_ptr_$", "typeString": "function () pure returns (struct MultiOwnableStorage storage pointer)" } }, - "id": 7951, + "id": 9663, "isConstant": false, "isLValue": false, "isPure": false, @@ -227095,30 +247393,30 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8904:25:19", + "src": "8904:25:32", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7665_storage_ptr", + "typeIdentifier": "t_struct$_MultiOwnableStorage_$9377_storage_ptr", "typeString": "struct MultiOwnableStorage storage pointer" } }, "nodeType": "VariableDeclarationStatement", - "src": "8872:57:19" + "src": "8872:57:32" }, { "assignments": [ - 7954 + 9666 ], "declarations": [ { "constant": false, - "id": 7954, + "id": 9666, "mutability": "mutable", "name": "nextOwnerIndex_", - "nameLocation": "8947:15:19", + "nameLocation": "8947:15:32", "nodeType": "VariableDeclaration", - "scope": 8035, - "src": "8939:23:19", + "scope": 9747, + "src": "8939:23:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -227126,10 +247424,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7953, + "id": 9665, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8939:7:19", + "src": "8939:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -227138,43 +247436,43 @@ "visibility": "internal" } ], - "id": 7957, + "id": 9669, "initialValue": { "expression": { - "id": 7955, + "id": 9667, "name": "$", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7949, - "src": "8965:1:19", + "referencedDeclaration": 9661, + "src": "8965:1:32", "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7665_storage_ptr", + "typeIdentifier": "t_struct$_MultiOwnableStorage_$9377_storage_ptr", "typeString": "struct MultiOwnableStorage storage pointer" } }, - "id": 7956, + "id": 9668, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "8967:14:19", + "memberLocation": "8967:14:32", "memberName": "nextOwnerIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 7651, - "src": "8965:16:19", + "referencedDeclaration": 9363, + "src": "8965:16:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "8939:42:19" + "src": "8939:42:32" }, { "body": { - "id": 8027, + "id": 9739, "nodeType": "Block", - "src": "9031:384:19", + "src": "9031:384:32", "statements": [ { "condition": { @@ -227182,7 +247480,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 7980, + "id": 9692, "isConstant": false, "isLValue": false, "isPure": false, @@ -227192,7 +247490,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7973, + "id": 9685, "isConstant": false, "isLValue": false, "isPure": false, @@ -227200,25 +247498,25 @@ "leftExpression": { "expression": { "baseExpression": { - "id": 7968, + "id": 9680, "name": "owners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7944, - "src": "9049:6:19", + "referencedDeclaration": 9656, + "src": "9049:6:32", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", "typeString": "bytes memory[] memory" } }, - "id": 7970, + "id": 9682, "indexExpression": { - "id": 7969, + "id": 9681, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7959, - "src": "9056:1:19", + "referencedDeclaration": 9671, + "src": "9056:1:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -227229,21 +247527,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9049:9:19", + "src": "9049:9:32", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 7971, + "id": 9683, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "9059:6:19", + "memberLocation": "9059:6:32", "memberName": "length", "nodeType": "MemberAccess", - "src": "9049:16:19", + "src": "9049:16:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -227253,21 +247551,21 @@ "operator": "!=", "rightExpression": { "hexValue": "3332", - "id": 7972, + "id": 9684, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9069:2:19", + "src": "9069:2:32", "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" }, "value": "32" }, - "src": "9049:22:19", + "src": "9049:22:32", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -227280,7 +247578,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7979, + "id": 9691, "isConstant": false, "isLValue": false, "isPure": false, @@ -227288,25 +247586,25 @@ "leftExpression": { "expression": { "baseExpression": { - "id": 7974, + "id": 9686, "name": "owners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7944, - "src": "9075:6:19", + "referencedDeclaration": 9656, + "src": "9075:6:32", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", "typeString": "bytes memory[] memory" } }, - "id": 7976, + "id": 9688, "indexExpression": { - "id": 7975, + "id": 9687, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7959, - "src": "9082:1:19", + "referencedDeclaration": 9671, + "src": "9082:1:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -227317,21 +247615,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9075:9:19", + "src": "9075:9:32", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 7977, + "id": 9689, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "9085:6:19", + "memberLocation": "9085:6:32", "memberName": "length", "nodeType": "MemberAccess", - "src": "9075:16:19", + "src": "9075:16:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -227341,64 +247639,64 @@ "operator": "!=", "rightExpression": { "hexValue": "3634", - "id": 7978, + "id": 9690, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9095:2:19", + "src": "9095:2:32", "typeDescriptions": { "typeIdentifier": "t_rational_64_by_1", "typeString": "int_const 64" }, "value": "64" }, - "src": "9075:22:19", + "src": "9075:22:32", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "9049:48:19", + "src": "9049:48:32", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 7988, + "id": 9700, "nodeType": "IfStatement", - "src": "9045:128:19", + "src": "9045:128:32", "trueBody": { - "id": 7987, + "id": 9699, "nodeType": "Block", - "src": "9099:74:19", + "src": "9099:74:32", "statements": [ { "errorCall": { "arguments": [ { "baseExpression": { - "id": 7982, + "id": 9694, "name": "owners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7944, - "src": "9148:6:19", + "referencedDeclaration": 9656, + "src": "9148:6:32", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", "typeString": "bytes memory[] memory" } }, - "id": 7984, + "id": 9696, "indexExpression": { - "id": 7983, + "id": 9695, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7959, - "src": "9155:1:19", + "referencedDeclaration": 9671, + "src": "9155:1:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -227409,7 +247707,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9148:9:19", + "src": "9148:9:32", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -227423,18 +247721,18 @@ "typeString": "bytes memory" } ], - "id": 7981, + "id": 9693, "name": "InvalidOwnerBytesLength", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7697, - "src": "9124:23:19", + "referencedDeclaration": 9409, + "src": "9124:23:32", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_bytes_memory_ptr_$returns$_t_error_$", "typeString": "function (bytes memory) pure returns (error)" } }, - "id": 7985, + "id": 9697, "isConstant": false, "isLValue": false, "isPure": false, @@ -227443,16 +247741,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "9124:34:19", + "src": "9124:34:32", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_error", "typeString": "error" } }, - "id": 7986, + "id": 9698, "nodeType": "RevertStatement", - "src": "9117:41:19" + "src": "9117:41:32" } ] } @@ -227463,7 +247761,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 8010, + "id": 9722, "isConstant": false, "isLValue": false, "isPure": false, @@ -227473,7 +247771,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7994, + "id": 9706, "isConstant": false, "isLValue": false, "isPure": false, @@ -227481,25 +247779,25 @@ "leftExpression": { "expression": { "baseExpression": { - "id": 7989, + "id": 9701, "name": "owners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7944, - "src": "9191:6:19", + "referencedDeclaration": 9656, + "src": "9191:6:32", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", "typeString": "bytes memory[] memory" } }, - "id": 7991, + "id": 9703, "indexExpression": { - "id": 7990, + "id": 9702, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7959, - "src": "9198:1:19", + "referencedDeclaration": 9671, + "src": "9198:1:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -227510,21 +247808,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9191:9:19", + "src": "9191:9:32", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 7992, + "id": 9704, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "9201:6:19", + "memberLocation": "9201:6:32", "memberName": "length", "nodeType": "MemberAccess", - "src": "9191:16:19", + "src": "9191:16:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -227534,21 +247832,21 @@ "operator": "==", "rightExpression": { "hexValue": "3332", - "id": 7993, + "id": 9705, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9211:2:19", + "src": "9211:2:32", "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" }, "value": "32" }, - "src": "9191:22:19", + "src": "9191:22:32", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -227561,7 +247859,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8009, + "id": 9721, "isConstant": false, "isLValue": false, "isPure": false, @@ -227572,25 +247870,25 @@ "arguments": [ { "baseExpression": { - "id": 7999, + "id": 9711, "name": "owners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7944, - "src": "9233:6:19", + "referencedDeclaration": 9656, + "src": "9233:6:32", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", "typeString": "bytes memory[] memory" } }, - "id": 8001, + "id": 9713, "indexExpression": { - "id": 8000, + "id": 9712, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7959, - "src": "9240:1:19", + "referencedDeclaration": 9671, + "src": "9240:1:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -227601,7 +247899,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9233:9:19", + "src": "9233:9:32", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -227615,26 +247913,26 @@ "typeString": "bytes memory" } ], - "id": 7998, + "id": 9710, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "9225:7:19", + "src": "9225:7:32", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": { - "id": 7997, + "id": 9709, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "9225:7:19", + "src": "9225:7:32", "typeDescriptions": {} } }, - "id": 8002, + "id": 9714, "isConstant": false, "isLValue": false, "isPure": false, @@ -227643,7 +247941,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "9225:18:19", + "src": "9225:18:32", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -227658,26 +247956,26 @@ "typeString": "bytes32" } ], - "id": 7996, + "id": 9708, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "9217:7:19", + "src": "9217:7:32", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 7995, + "id": 9707, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9217:7:19", + "src": "9217:7:32", "typeDescriptions": {} } }, - "id": 8003, + "id": 9715, "isConstant": false, "isLValue": false, "isPure": false, @@ -227686,7 +247984,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "9217:27:19", + "src": "9217:27:32", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -227699,22 +247997,22 @@ "expression": { "arguments": [ { - "id": 8006, + "id": 9718, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "9252:7:19", + "src": "9252:7:32", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint160_$", "typeString": "type(uint160)" }, "typeName": { - "id": 8005, + "id": 9717, "name": "uint160", "nodeType": "ElementaryTypeName", - "src": "9252:7:19", + "src": "9252:7:32", "typeDescriptions": {} } } @@ -227726,18 +248024,18 @@ "typeString": "type(uint160)" } ], - "id": 8004, + "id": 9716, "name": "type", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -27, - "src": "9247:4:19", + "src": "9247:4:32", "typeDescriptions": { "typeIdentifier": "t_function_metatype_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 8007, + "id": 9719, "isConstant": false, "isLValue": false, "isPure": true, @@ -227746,963 +248044,3040 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "9247:13:19", + "src": "9247:13:32", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_magic_meta_type_t_uint160", "typeString": "type(uint160)" } }, - "id": 8008, + "id": 9720, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "9261:3:19", + "memberLocation": "9261:3:32", "memberName": "max", "nodeType": "MemberAccess", - "src": "9247:17:19", + "src": "9247:17:32", "typeDescriptions": { "typeIdentifier": "t_uint160", "typeString": "uint160" } }, - "src": "9217:47:19", + "src": "9217:47:32", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "9191:73:19", + "src": "9191:73:32", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9730, + "nodeType": "IfStatement", + "src": "9187:157:32", + "trueBody": { + "id": 9729, + "nodeType": "Block", + "src": "9266:78:32", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "baseExpression": { + "id": 9724, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9656, + "src": "9319:6:32", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + } + }, + "id": 9726, + "indexExpression": { + "id": 9725, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9671, + "src": "9326:1:32", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9319:9:32", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9723, + "name": "InvalidEthereumAddressOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9414, + "src": "9291:27:32", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_bytes_memory_ptr_$returns$_t_error_$", + "typeString": "function (bytes memory) pure returns (error)" + } + }, + "id": 9727, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9291:38:32", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_error", + "typeString": "error" + } + }, + "id": 9728, + "nodeType": "RevertStatement", + "src": "9284:45:32" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "baseExpression": { + "id": 9732, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9656, + "src": "9375:6:32", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + } + }, + "id": 9734, + "indexExpression": { + "id": 9733, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9671, + "src": "9382:1:32", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9375:9:32", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 9736, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "9386:17:32", + "subExpression": { + "id": 9735, + "name": "nextOwnerIndex_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9666, + "src": "9386:15:32", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 9731, + "name": "_addOwnerAtIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9792, + "src": "9358:16:32", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (bytes memory,uint256)" + } + }, + "id": 9737, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9358:46:32", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9738, + "nodeType": "ExpressionStatement", + "src": "9358:46:32" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9676, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 9673, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9671, + "src": "9007:1:32", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 9674, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9656, + "src": "9011:6:32", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + } + }, + "id": 9675, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9018:6:32", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "9011:13:32", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9007:17:32", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9740, + "initializationExpression": { + "assignments": [ + 9671 + ], + "declarations": [ + { + "constant": false, + "id": 9671, + "mutability": "mutable", + "name": "i", + "nameLocation": "9004:1:32", + "nodeType": "VariableDeclaration", + "scope": 9740, + "src": "8996:9:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9670, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8996:7:32", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 9672, + "nodeType": "VariableDeclarationStatement", + "src": "8996:9:32" + }, + "isSimpleCounterLoop": true, + "loopExpression": { + "expression": { + "id": 9678, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "9026:3:32", + "subExpression": { + "id": 9677, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9671, + "src": "9026:1:32", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 9679, + "nodeType": "ExpressionStatement", + "src": "9026:3:32" + }, + "nodeType": "ForStatement", + "src": "8991:424:32" + }, + { + "expression": { + "id": 9745, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 9741, + "name": "$", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9661, + "src": "9424:1:32", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MultiOwnableStorage_$9377_storage_ptr", + "typeString": "struct MultiOwnableStorage storage pointer" + } + }, + "id": 9743, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "9426:14:32", + "memberName": "nextOwnerIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 9363, + "src": "9424:16:32", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 9744, + "name": "nextOwnerIndex_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9666, + "src": "9443:15:32", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9424:34:32", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 9746, + "nodeType": "ExpressionStatement", + "src": "9424:34:32" + } + ] + }, + "documentation": { + "id": 9653, + "nodeType": "StructuredDocumentation", + "src": "8491:299:32", + "text": "@notice Initialize the owners of this contract.\n @dev Intended to be called contract is first deployed and never again.\n @dev Reverts if a provided owner is neither 64 bytes long (for public key) nor a valid address.\n @param owners The initial set of owners." + }, + "id": 9748, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_initializeOwners", + "nameLocation": "8804:17:32", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9657, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9656, + "mutability": "mutable", + "name": "owners", + "nameLocation": "8837:6:32", + "nodeType": "VariableDeclaration", + "scope": 9748, + "src": "8822:21:32", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes[]" + }, + "typeName": { + "baseType": { + "id": 9654, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8822:5:32", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "id": 9655, + "nodeType": "ArrayTypeName", + "src": "8822:7:32", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", + "typeString": "bytes[]" + } + }, + "visibility": "internal" + } + ], + "src": "8821:23:32" + }, + "returnParameters": { + "id": 9658, + "nodeType": "ParameterList", + "parameters": [], + "src": "8862:0:32" + }, + "scope": 9893, + "src": "8795:670:32", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 9791, + "nodeType": "Block", + "src": "9782:246:32", + "statements": [ + { + "condition": { + "arguments": [ + { + "id": 9757, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9751, + "src": "9809:5:32", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9756, + "name": "isOwnerBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9596, + "src": "9796:12:32", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$_t_bool_$", + "typeString": "function (bytes memory) view returns (bool)" + } + }, + "id": 9758, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9796:19:32", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9763, + "nodeType": "IfStatement", + "src": "9792:51:32", + "trueBody": { + "errorCall": { + "arguments": [ + { + "id": 9760, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9751, + "src": "9837:5:32", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9759, + "name": "AlreadyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9390, + "src": "9824:12:32", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_bytes_memory_ptr_$returns$_t_error_$", + "typeString": "function (bytes memory) pure returns (error)" + } + }, + "id": 9761, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9824:19:32", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_error", + "typeString": "error" + } + }, + "id": 9762, + "nodeType": "RevertStatement", + "src": "9817:26:32" + } + }, + { + "assignments": [ + 9766 + ], + "declarations": [ + { + "constant": false, + "id": 9766, + "mutability": "mutable", + "name": "$", + "nameLocation": "9882:1:32", + "nodeType": "VariableDeclaration", + "scope": 9791, + "src": "9854:29:32", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MultiOwnableStorage_$9377_storage_ptr", + "typeString": "struct MultiOwnableStorage" + }, + "typeName": { + "id": 9765, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 9764, + "name": "MultiOwnableStorage", + "nameLocations": [ + "9854:19:32" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 9377, + "src": "9854:19:32" + }, + "referencedDeclaration": 9377, + "src": "9854:19:32", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MultiOwnableStorage_$9377_storage_ptr", + "typeString": "struct MultiOwnableStorage" + } + }, + "visibility": "internal" + } + ], + "id": 9769, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 9767, + "name": "_getMultiOwnableStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9892, + "src": "9886:23:32", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_MultiOwnableStorage_$9377_storage_ptr_$", + "typeString": "function () pure returns (struct MultiOwnableStorage storage pointer)" + } + }, + "id": 9768, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9886:25:32", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_MultiOwnableStorage_$9377_storage_ptr", + "typeString": "struct MultiOwnableStorage storage pointer" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9854:57:32" + }, + { + "expression": { + "id": 9776, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "expression": { + "id": 9770, + "name": "$", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9766, + "src": "9921:1:32", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MultiOwnableStorage_$9377_storage_ptr", + "typeString": "struct MultiOwnableStorage storage pointer" + } + }, + "id": 9773, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9923:7:32", + "memberName": "isOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 9376, + "src": "9921:9:32", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes_memory_ptr_$_t_bool_$", + "typeString": "mapping(bytes memory => bool)" + } + }, + "id": 9774, + "indexExpression": { + "id": 9772, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9751, + "src": "9931:5:32", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9921:16:32", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 9775, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9940:4:32", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "9921:23:32", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9777, + "nodeType": "ExpressionStatement", + "src": "9921:23:32" + }, + { + "expression": { + "id": 9784, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "expression": { + "id": 9778, + "name": "$", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9766, + "src": "9954:1:32", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MultiOwnableStorage_$9377_storage_ptr", + "typeString": "struct MultiOwnableStorage storage pointer" + } + }, + "id": 9781, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9956:12:32", + "memberName": "ownerAtIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 9371, + "src": "9954:14:32", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes_storage_$", + "typeString": "mapping(uint256 => bytes storage ref)" + } + }, + "id": 9782, + "indexExpression": { + "id": 9780, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9753, + "src": "9969:5:32", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9954:21:32", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 9783, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9751, + "src": "9978:5:32", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "src": "9954:29:32", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + }, + "id": 9785, + "nodeType": "ExpressionStatement", + "src": "9954:29:32" + }, + { + "eventCall": { + "arguments": [ + { + "id": 9787, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9753, + "src": "10008:5:32", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 9788, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9751, + "src": "10015:5:32", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9786, + "name": "AddOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9429, + "src": "9999:8:32", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (uint256,bytes memory)" + } + }, + "id": 9789, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9999:22:32", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9790, + "nodeType": "EmitStatement", + "src": "9994:27:32" + } + ] + }, + "documentation": { + "id": 9749, + "nodeType": "StructuredDocumentation", + "src": "9471:228:32", + "text": "@notice Adds an owner at the given `index`.\n @dev Reverts if `owner` is already registered as an owner.\n @param owner The owner raw bytes to register.\n @param index The index to write to." + }, + "id": 9792, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_addOwnerAtIndex", + "nameLocation": "9713:16:32", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9754, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9751, + "mutability": "mutable", + "name": "owner", + "nameLocation": "9743:5:32", + "nodeType": "VariableDeclaration", + "scope": 9792, + "src": "9730:18:32", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 9750, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "9730:5:32", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9753, + "mutability": "mutable", + "name": "index", + "nameLocation": "9758:5:32", + "nodeType": "VariableDeclaration", + "scope": 9792, + "src": "9750:13:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9752, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9750:7:32", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "9729:35:32" + }, + "returnParameters": { + "id": 9755, + "nodeType": "ParameterList", + "parameters": [], + "src": "9782:0:32" + }, + "scope": 9893, + "src": "9704:324:32", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 9858, + "nodeType": "Block", + "src": "10450:492:32", + "statements": [ + { + "assignments": [ + 9801 + ], + "declarations": [ + { + "constant": false, + "id": 9801, + "mutability": "mutable", + "name": "owner_", + "nameLocation": "10473:6:32", + "nodeType": "VariableDeclaration", + "scope": 9858, + "src": "10460:19:32", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 9800, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "10460:5:32", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 9805, + "initialValue": { + "arguments": [ + { + "id": 9803, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9795, + "src": "10495:5:32", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 9802, + "name": "ownerAtIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9611, + "src": "10482:12:32", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (uint256) view returns (bytes memory)" + } + }, + "id": 9804, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10482:19:32", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10460:41:32" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9809, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 9806, + "name": "owner_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9801, + "src": "10515:6:32", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 9807, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10522:6:32", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "10515:13:32", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 9808, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10532:1:32", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "10515:18:32", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9814, + "nodeType": "IfStatement", + "src": "10511:52:32", + "trueBody": { + "errorCall": { + "arguments": [ + { + "id": 9811, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9795, + "src": "10557:5:32", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 9810, + "name": "NoOwnerAtIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9395, + "src": "10542:14:32", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint256_$returns$_t_error_$", + "typeString": "function (uint256) pure returns (error)" + } + }, + "id": 9812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10542:21:32", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_error", + "typeString": "error" + } + }, + "id": 9813, + "nodeType": "RevertStatement", + "src": "10535:28:32" + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 9821, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 9816, + "name": "owner_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9801, + "src": "10587:6:32", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9815, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "10577:9:32", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 9817, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10577:17:32", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "id": 9819, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9797, + "src": "10608:5:32", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" } - }, - "id": 8018, - "nodeType": "IfStatement", - "src": "9187:157:19", - "trueBody": { - "id": 8017, - "nodeType": "Block", - "src": "9266:78:19", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "baseExpression": { - "id": 8012, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7944, - "src": "9319:6:19", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - } - }, - "id": 8014, - "indexExpression": { - "id": 8013, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7959, - "src": "9326:1:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9319:9:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 8011, - "name": "InvalidEthereumAddressOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7702, - "src": "9291:27:19", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_bytes_memory_ptr_$returns$_t_error_$", - "typeString": "function (bytes memory) pure returns (error)" - } - }, - "id": 8015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9291:38:19", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_error", - "typeString": "error" - } - }, - "id": 8016, - "nodeType": "RevertStatement", - "src": "9284:45:19" - } - ] + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 9818, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "10598:9:32", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" } }, + "id": 9820, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10598:16:32", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "10577:37:32", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9829, + "nodeType": "IfStatement", + "src": "10573:151:32", + "trueBody": { + "id": 9828, + "nodeType": "Block", + "src": "10616:108:32", + "statements": [ { - "expression": { + "errorCall": { "arguments": [ { - "baseExpression": { - "id": 8020, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7944, - "src": "9375:6:19", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - } - }, - "id": 8022, - "indexExpression": { - "id": 8021, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7959, - "src": "9382:1:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9375:9:19", + "id": 9823, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9795, + "src": "10663:5:32", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, { - "id": 8024, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "9386:17:19", - "subExpression": { - "id": 8023, - "name": "nextOwnerIndex_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7954, - "src": "9386:15:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, + "id": 9824, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9797, + "src": "10685:5:32", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + { + "id": 9825, + "name": "owner_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9801, + "src": "10705:6:32", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, { "typeIdentifier": "t_uint256", "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" } ], - "id": 8019, - "name": "_addOwnerAtIndex", + "id": 9822, + "name": "WrongOwnerAtIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8080, - "src": "9358:16:19", + "referencedDeclaration": 9404, + "src": "10637:17:32", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (bytes memory,uint256)" + "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_error_$", + "typeString": "function (uint256,bytes memory,bytes memory) pure returns (error)" } }, - "id": 8025, + "id": 9826, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, - "nameLocations": [], - "names": [], + "nameLocations": [ + "10656:5:32", + "10670:13:32", + "10692:11:32" + ], + "names": [ + "index", + "expectedOwner", + "actualOwner" + ], "nodeType": "FunctionCall", - "src": "9358:46:19", + "src": "10637:76:32", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_error", + "typeString": "error" } }, - "id": 8026, - "nodeType": "ExpressionStatement", - "src": "9358:46:19" + "id": 9827, + "nodeType": "RevertStatement", + "src": "10630:83:32" } ] + } + }, + { + "assignments": [ + 9832 + ], + "declarations": [ + { + "constant": false, + "id": 9832, + "mutability": "mutable", + "name": "$", + "nameLocation": "10762:1:32", + "nodeType": "VariableDeclaration", + "scope": 9858, + "src": "10734:29:32", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MultiOwnableStorage_$9377_storage_ptr", + "typeString": "struct MultiOwnableStorage" + }, + "typeName": { + "id": 9831, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 9830, + "name": "MultiOwnableStorage", + "nameLocations": [ + "10734:19:32" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 9377, + "src": "10734:19:32" + }, + "referencedDeclaration": 9377, + "src": "10734:19:32", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MultiOwnableStorage_$9377_storage_ptr", + "typeString": "struct MultiOwnableStorage" + } + }, + "visibility": "internal" + } + ], + "id": 9835, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 9833, + "name": "_getMultiOwnableStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9892, + "src": "10766:23:32", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_MultiOwnableStorage_$9377_storage_ptr_$", + "typeString": "function () pure returns (struct MultiOwnableStorage storage pointer)" + } + }, + "id": 9834, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10766:25:32", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_MultiOwnableStorage_$9377_storage_ptr", + "typeString": "struct MultiOwnableStorage storage pointer" + } }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "nodeType": "VariableDeclarationStatement", + "src": "10734:57:32" + }, + { + "expression": { + "id": 9840, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "10801:23:32", + "subExpression": { + "baseExpression": { + "expression": { + "id": 9836, + "name": "$", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9832, + "src": "10808:1:32", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MultiOwnableStorage_$9377_storage_ptr", + "typeString": "struct MultiOwnableStorage storage pointer" + } + }, + "id": 9837, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10810:7:32", + "memberName": "isOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 9376, + "src": "10808:9:32", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes_memory_ptr_$_t_bool_$", + "typeString": "mapping(bytes memory => bool)" + } + }, + "id": 9839, + "indexExpression": { + "id": 9838, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9797, + "src": "10818:5:32", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10808:16:32", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } }, - "id": 7964, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9841, + "nodeType": "ExpressionStatement", + "src": "10801:23:32" + }, + { + "expression": { + "id": 9846, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftExpression": { - "id": 7961, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7959, - "src": "9007:1:19", + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "10834:28:32", + "subExpression": { + "baseExpression": { + "expression": { + "id": 9842, + "name": "$", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9832, + "src": "10841:1:32", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MultiOwnableStorage_$9377_storage_ptr", + "typeString": "struct MultiOwnableStorage storage pointer" + } + }, + "id": 9843, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10843:12:32", + "memberName": "ownerAtIndex", + "nodeType": "MemberAccess", + "referencedDeclaration": 9371, + "src": "10841:14:32", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes_storage_$", + "typeString": "mapping(uint256 => bytes storage ref)" + } + }, + "id": 9845, + "indexExpression": { + "id": 9844, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9795, + "src": "10856:5:32", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10841:21:32", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" } }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9847, + "nodeType": "ExpressionStatement", + "src": "10834:28:32" + }, + { + "expression": { + "id": 9851, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "10872:22:32", + "subExpression": { "expression": { - "id": 7962, - "name": "owners", + "id": 9848, + "name": "$", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7944, - "src": "9011:6:19", + "referencedDeclaration": 9832, + "src": "10872:1:32", "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" + "typeIdentifier": "t_struct$_MultiOwnableStorage_$9377_storage_ptr", + "typeString": "struct MultiOwnableStorage storage pointer" } }, - "id": 7963, + "id": 9850, "isConstant": false, - "isLValue": false, + "isLValue": true, "isPure": false, - "lValueRequested": false, - "memberLocation": "9018:6:19", - "memberName": "length", + "lValueRequested": true, + "memberLocation": "10874:18:32", + "memberName": "removedOwnersCount", "nodeType": "MemberAccess", - "src": "9011:13:19", + "referencedDeclaration": 9366, + "src": "10872:20:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9007:17:19", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 8028, - "initializationExpression": { - "assignments": [ - 7959 - ], - "declarations": [ + "id": 9852, + "nodeType": "ExpressionStatement", + "src": "10872:22:32" + }, + { + "eventCall": { + "arguments": [ { - "constant": false, - "id": 7959, - "mutability": "mutable", - "name": "i", - "nameLocation": "9004:1:19", - "nodeType": "VariableDeclaration", - "scope": 8028, - "src": "8996:9:19", - "stateVariable": false, - "storageLocation": "default", + "id": 9854, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9795, + "src": "10922:5:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" - }, - "typeName": { - "id": 7958, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8996:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" + } + }, + { + "id": 9855, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9797, + "src": "10929:5:32", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } } ], - "id": 7960, - "nodeType": "VariableDeclarationStatement", - "src": "8996:9:19" - }, - "isSimpleCounterLoop": true, - "loopExpression": { "expression": { - "id": 7966, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "9026:3:19", - "subExpression": { - "id": 7965, - "name": "i", + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 9853, + "name": "RemoveOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9436, + "src": "10910:11:32", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (uint256,bytes memory)" + } + }, + "id": 9856, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10910:25:32", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9857, + "nodeType": "EmitStatement", + "src": "10905:30:32" + } + ] + }, + "documentation": { + "id": 9793, + "nodeType": "StructuredDocumentation", + "src": "10034:328:32", + "text": "@notice Removes owner at the given `index`.\n @dev Reverts if the owner is not registered at `index`.\n @dev Reverts if `owner` does not match bytes found at `index`.\n @param index The index of the owner to be removed.\n @param owner The ABI encoded bytes of the owner to be removed." + }, + "id": 9859, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_removeOwnerAtIndex", + "nameLocation": "10376:19:32", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9798, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9795, + "mutability": "mutable", + "name": "index", + "nameLocation": "10404:5:32", + "nodeType": "VariableDeclaration", + "scope": 9859, + "src": "10396:13:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9794, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10396:7:32", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9797, + "mutability": "mutable", + "name": "owner", + "nameLocation": "10426:5:32", + "nodeType": "VariableDeclaration", + "scope": 9859, + "src": "10411:20:32", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 9796, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "10411:5:32", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "10395:37:32" + }, + "returnParameters": { + "id": 9799, + "nodeType": "ParameterList", + "parameters": [], + "src": "10450:0:32" + }, + "scope": 9893, + "src": "10367:575:32", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 9882, + "nodeType": "Block", + "src": "11165:144:32", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 9875, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "expression": { + "id": 9864, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "11194:3:32", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 9865, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11198:6:32", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "11194:10:32", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 9863, + "name": "isOwnerAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7959, - "src": "9026:1:19", + "referencedDeclaration": 9560, + "src": "11179:14:32", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" } }, + "id": 9866, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11179:26:32", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "id": 7967, - "nodeType": "ExpressionStatement", - "src": "9026:3:19" + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 9873, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 9867, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "11210:3:32", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 9868, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11214:6:32", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "11210:10:32", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "id": 9871, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "11232:4:32", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MultiOwnable_$9893", + "typeString": "contract MultiOwnable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_MultiOwnable_$9893", + "typeString": "contract MultiOwnable" + } + ], + "id": 9870, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "11224:7:32", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 9869, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11224:7:32", + "typeDescriptions": {} + } + }, + "id": 9872, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11224:13:32", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "11210:27:32", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 9874, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "11209:29:32", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "11179:59:32", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } }, - "nodeType": "ForStatement", - "src": "8991:424:19" + "id": 9878, + "nodeType": "IfStatement", + "src": "11175:96:32", + "trueBody": { + "id": 9877, + "nodeType": "Block", + "src": "11240:31:32", + "statements": [ + { + "functionReturnParameters": 9862, + "id": 9876, + "nodeType": "Return", + "src": "11254:7:32" + } + ] + } }, + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 9879, + "name": "Unauthorized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9385, + "src": "11288:12:32", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$_t_error_$", + "typeString": "function () pure returns (error)" + } + }, + "id": 9880, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11288:14:32", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_error", + "typeString": "error" + } + }, + "id": 9881, + "nodeType": "RevertStatement", + "src": "11281:21:32" + } + ] + }, + "documentation": { + "id": 9860, + "nodeType": "StructuredDocumentation", + "src": "10948:167:32", + "text": "@notice Checks if the sender is an owner of this contract or the contract itself.\n @dev Revert if the sender is not an owner fo the contract itself." + }, + "id": 9883, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_checkOwner", + "nameLocation": "11129:11:32", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9861, + "nodeType": "ParameterList", + "parameters": [], + "src": "11140:2:32" + }, + "returnParameters": { + "id": 9862, + "nodeType": "ParameterList", + "parameters": [], + "src": "11165:0:32" + }, + "scope": 9893, + "src": "11120:189:32", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 9891, + "nodeType": "Block", + "src": "11583:105:32", + "statements": [ + { + "AST": { + "nativeSrc": "11618:64:32", + "nodeType": "YulBlock", + "src": "11618:64:32", + "statements": [ + { + "nativeSrc": "11632:40:32", + "nodeType": "YulAssignment", + "src": "11632:40:32", + "value": { + "name": "MUTLI_OWNABLE_STORAGE_LOCATION", + "nativeSrc": "11642:30:32", + "nodeType": "YulIdentifier", + "src": "11642:30:32" + }, + "variableNames": [ + { + "name": "$.slot", + "nativeSrc": "11632:6:32", + "nodeType": "YulIdentifier", + "src": "11632:6:32" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 9888, + "isOffset": false, + "isSlot": true, + "src": "11632:6:32", + "suffix": "slot", + "valueSize": 1 + }, + { + "declaration": 9382, + "isOffset": false, + "isSlot": false, + "src": "11642:30:32", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 9890, + "nodeType": "InlineAssembly", + "src": "11593:89:32" + } + ] + }, + "documentation": { + "id": 9884, + "nodeType": "StructuredDocumentation", + "src": "11315:174:32", + "text": "@notice Helper function to get a storage reference to the `MultiOwnableStorage` struct.\n @return $ A storage reference to the `MultiOwnableStorage` struct." + }, + "id": 9892, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_getMultiOwnableStorage", + "nameLocation": "11503:23:32", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9885, + "nodeType": "ParameterList", + "parameters": [], + "src": "11526:2:32" + }, + "returnParameters": { + "id": 9889, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9888, + "mutability": "mutable", + "name": "$", + "nameLocation": "11580:1:32", + "nodeType": "VariableDeclaration", + "scope": 9892, + "src": "11552:29:32", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MultiOwnableStorage_$9377_storage_ptr", + "typeString": "struct MultiOwnableStorage" + }, + "typeName": { + "id": 9887, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 9886, + "name": "MultiOwnableStorage", + "nameLocations": [ + "11552:19:32" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 9377, + "src": "11552:19:32" + }, + "referencedDeclaration": 9377, + "src": "11552:19:32", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MultiOwnableStorage_$9377_storage_ptr", + "typeString": "struct MultiOwnableStorage" + } + }, + "visibility": "internal" + } + ], + "src": "11551:31:32" + }, + "scope": 9893, + "src": "11494:194:32", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 9894, + "src": "1427:10263:32", + "usedErrors": [ + 9385, + 9390, + 9395, + 9404, + 9409, + 9414, + 9417, + 9422 + ], + "usedEvents": [ + 9429, + 9436 + ] + } + ], + "src": "32:11659:32" + }, + "id": 32 + }, + "src/testing/PermissivePaymaster.sol": { + "ast": { + "absolutePath": "src/testing/PermissivePaymaster.sol", + "exportedSymbols": { + "BasePaymaster": [ + 270 + ], + "IEntryPoint": [ + 1041 + ], + "OnlyEntrypoint": [ + 9903 + ], + "PackedUserOperation": [ + 1223 + ], + "PermissivePaymaster": [ + 9997 + ] + }, + "id": 9998, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 9895, + "literals": [ + "solidity", + "^", + "0.8", + ".28" + ], + "nodeType": "PragmaDirective", + "src": "32:24:33" + }, + { + "absolutePath": "@account-abstraction/contracts/interfaces/PackedUserOperation.sol", + "file": "@account-abstraction/contracts/interfaces/PackedUserOperation.sol", + "id": 9897, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 9998, + "sourceUnit": 1224, + "src": "57:102:33", + "symbolAliases": [ + { + "foreign": { + "id": 9896, + "name": "PackedUserOperation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1223, + "src": "65:19:33", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@account-abstraction/contracts/core/BasePaymaster.sol", + "file": "@account-abstraction/contracts/core/BasePaymaster.sol", + "id": 9899, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 9998, + "sourceUnit": 271, + "src": "160:84:33", + "symbolAliases": [ + { + "foreign": { + "id": 9898, + "name": "BasePaymaster", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 270, + "src": "168:13:33", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@account-abstraction/contracts/interfaces/IEntryPoint.sol", + "file": "@account-abstraction/contracts/interfaces/IEntryPoint.sol", + "id": 9901, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 9998, + "sourceUnit": 1042, + "src": "245:86:33", + "symbolAliases": [ + { + "foreign": { + "id": 9900, + "name": "IEntryPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1041, + "src": "253:11:33", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "errorSelector": "8247bd80", + "id": 9903, + "name": "OnlyEntrypoint", + "nameLocation": "339:14:33", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 9902, + "nodeType": "ParameterList", + "parameters": [], + "src": "353:2:33" + }, + "src": "333:23:33" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 9904, + "name": "BasePaymaster", + "nameLocations": [ + "390:13:33" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 270, + "src": "390:13:33" + }, + "id": 9905, + "nodeType": "InheritanceSpecifier", + "src": "390:13:33" + } + ], + "canonicalName": "PermissivePaymaster", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 9997, + "linearizedBaseContracts": [ + 9997, + 270, + 1371, + 2157, + 1097 + ], + "name": "PermissivePaymaster", + "nameLocation": "367:19:33", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 9921, + "nodeType": "Block", + "src": "484:54:33", + "statements": [ { "expression": { - "id": 8033, + "id": 9919, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { + "id": 9915, + "name": "entryPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14, + "src": "494:10:33", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEntryPoint_$1041", + "typeString": "contract IEntryPoint" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 9917, + "name": "_entryPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9907, + "src": "519:11:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], "expression": { - "id": 8029, - "name": "$", + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 9916, + "name": "IEntryPoint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7949, - "src": "9424:1:19", + "referencedDeclaration": 1041, + "src": "507:11:33", "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7665_storage_ptr", - "typeString": "struct MultiOwnableStorage storage pointer" + "typeIdentifier": "t_type$_t_contract$_IEntryPoint_$1041_$", + "typeString": "type(contract IEntryPoint)" } }, - "id": 8031, + "id": 9918, "isConstant": false, - "isLValue": true, + "isLValue": false, "isPure": false, - "lValueRequested": true, - "memberLocation": "9426:14:19", - "memberName": "nextOwnerIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 7651, - "src": "9424:16:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 8032, - "name": "nextOwnerIndex_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7954, - "src": "9443:15:19", + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "507:24:33", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_contract$_IEntryPoint_$1041", + "typeString": "contract IEntryPoint" } }, - "src": "9424:34:19", + "src": "494:37:33", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_contract$_IEntryPoint_$1041", + "typeString": "contract IEntryPoint" } }, - "id": 8034, + "id": 9920, "nodeType": "ExpressionStatement", - "src": "9424:34:19" + "src": "494:37:33" } ] }, - "documentation": { - "id": 7941, - "nodeType": "StructuredDocumentation", - "src": "8491:299:19", - "text": "@notice Initialize the owners of this contract.\n @dev Intended to be called contract is first deployed and never again.\n @dev Reverts if a provided owner is neither 64 bytes long (for public key) nor a valid address.\n @param owners The initial set of owners." - }, - "id": 8036, + "id": 9922, "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_initializeOwners", - "nameLocation": "8804:17:19", + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "arguments": [ + { + "id": 9911, + "name": "_entryPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9907, + "src": "470:11:33", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 9910, + "name": "IEntryPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1041, + "src": "458:11:33", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IEntryPoint_$1041_$", + "typeString": "type(contract IEntryPoint)" + } + }, + "id": 9912, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "458:24:33", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEntryPoint_$1041", + "typeString": "contract IEntryPoint" + } + } + ], + "id": 9913, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 9909, + "name": "BasePaymaster", + "nameLocations": [ + "444:13:33" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 270, + "src": "444:13:33" + }, + "nodeType": "ModifierInvocation", + "src": "444:39:33" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", "nodeType": "FunctionDefinition", "parameters": { - "id": 7945, + "id": 9908, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7944, + "id": 9907, "mutability": "mutable", - "name": "owners", - "nameLocation": "8837:6:19", + "name": "_entryPoint", + "nameLocation": "431:11:33", "nodeType": "VariableDeclaration", - "scope": 8036, - "src": "8822:21:19", + "scope": 9922, + "src": "423:19:33", "stateVariable": false, - "storageLocation": "memory", + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes[]" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "baseType": { - "id": 7942, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "8822:5:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "id": 7943, - "nodeType": "ArrayTypeName", - "src": "8822:7:19", + "id": 9906, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "423:7:33", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", - "typeString": "bytes[]" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "internal" } ], - "src": "8821:23:19" + "src": "422:21:33" }, "returnParameters": { - "id": 7946, + "id": 9914, "nodeType": "ParameterList", "parameters": [], - "src": "8862:0:19" + "src": "484:0:33" }, - "scope": 8181, - "src": "8795:670:19", + "scope": 9997, + "src": "411:127:33", "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" + "virtual": false, + "visibility": "public" }, { + "baseFunctions": [ + 109 + ], "body": { - "id": 8079, + "id": 9953, "nodeType": "Block", - "src": "9782:246:19", + "src": "765:212:33", "statements": [ { "condition": { - "arguments": [ - { - "id": 8045, - "name": "owner", + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 9943, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 9937, + "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8039, - "src": "9809:5:19", + "referencedDeclaration": -15, + "src": "779:3:33", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_magic_message", + "typeString": "msg" } - ], - "id": 8044, - "name": "isOwnerBytes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7884, - "src": "9796:12:19", + }, + "id": 9938, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "783:6:33", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "779:10:33", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (bytes memory) view returns (bool)" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 8046, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9796:19:19", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 8051, - "nodeType": "IfStatement", - "src": "9792:51:19", - "trueBody": { - "errorCall": { + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { "arguments": [ { - "id": 8048, - "name": "owner", + "id": 9941, + "name": "entryPoint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8039, - "src": "9837:5:19", + "referencedDeclaration": 14, + "src": "801:10:33", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_contract$_IEntryPoint_$1041", + "typeString": "contract IEntryPoint" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_contract$_IEntryPoint_$1041", + "typeString": "contract IEntryPoint" } ], - "id": 8047, - "name": "AlreadyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7678, - "src": "9824:12:19", + "id": 9940, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "793:7:33", "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_bytes_memory_ptr_$returns$_t_error_$", - "typeString": "function (bytes memory) pure returns (error)" + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 9939, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "793:7:33", + "typeDescriptions": {} } }, - "id": 8049, + "id": 9942, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", + "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "9824:19:19", + "src": "793:19:33", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_error", - "typeString": "error" - } - }, - "id": 8050, - "nodeType": "RevertStatement", - "src": "9817:26:19" - } - }, - { - "assignments": [ - 8054 - ], - "declarations": [ - { - "constant": false, - "id": 8054, - "mutability": "mutable", - "name": "$", - "nameLocation": "9882:1:19", - "nodeType": "VariableDeclaration", - "scope": 8079, - "src": "9854:29:19", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7665_storage_ptr", - "typeString": "struct MultiOwnableStorage" - }, - "typeName": { - "id": 8053, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 8052, - "name": "MultiOwnableStorage", - "nameLocations": [ - "9854:19:19" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 7665, - "src": "9854:19:19" - }, - "referencedDeclaration": 7665, - "src": "9854:19:19", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7665_storage_ptr", - "typeString": "struct MultiOwnableStorage" - } - }, - "visibility": "internal" - } - ], - "id": 8057, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8055, - "name": "_getMultiOwnableStorage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8180, - "src": "9886:23:19", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_MultiOwnableStorage_$7665_storage_ptr_$", - "typeString": "function () pure returns (struct MultiOwnableStorage storage pointer)" - } - }, - "id": 8056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9886:25:19", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7665_storage_ptr", - "typeString": "struct MultiOwnableStorage storage pointer" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9854:57:19" - }, - { - "expression": { - "id": 8064, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "expression": { - "id": 8058, - "name": "$", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8054, - "src": "9921:1:19", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7665_storage_ptr", - "typeString": "struct MultiOwnableStorage storage pointer" - } - }, - "id": 8061, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9923:7:19", - "memberName": "isOwner", - "nodeType": "MemberAccess", - "referencedDeclaration": 7664, - "src": "9921:9:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes_memory_ptr_$_t_bool_$", - "typeString": "mapping(bytes memory => bool)" - } - }, - "id": 8062, - "indexExpression": { - "id": 8060, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8039, - "src": "9931:5:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9921:16:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "74727565", - "id": 8063, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9940:4:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "9921:23:19", + "src": "779:33:33", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 8065, - "nodeType": "ExpressionStatement", - "src": "9921:23:19" - }, - { - "expression": { - "id": 8072, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "expression": { - "id": 8066, - "name": "$", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8054, - "src": "9954:1:19", + "id": 9948, + "nodeType": "IfStatement", + "src": "775:87:33", + "trueBody": { + "id": 9947, + "nodeType": "Block", + "src": "814:48:33", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 9944, + "name": "OnlyEntrypoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9903, + "src": "835:14:33", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$_t_error_$", + "typeString": "function () pure returns (error)" + } + }, + "id": 9945, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "835:16:33", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7665_storage_ptr", - "typeString": "struct MultiOwnableStorage storage pointer" + "typeIdentifier": "t_error", + "typeString": "error" } }, - "id": 8069, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9956:12:19", - "memberName": "ownerAtIndex", - "nodeType": "MemberAccess", - "referencedDeclaration": 7659, - "src": "9954:14:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes_storage_$", - "typeString": "mapping(uint256 => bytes storage ref)" - } - }, - "id": 8070, - "indexExpression": { - "id": 8068, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8041, - "src": "9969:5:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9954:21:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage", - "typeString": "bytes storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 8071, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8039, - "src": "9978:5:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "id": 9946, + "nodeType": "RevertStatement", + "src": "828:23:33" } - }, - "src": "9954:29:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage", - "typeString": "bytes storage ref" - } - }, - "id": 8073, - "nodeType": "ExpressionStatement", - "src": "9954:29:19" + ] + } }, { - "eventCall": { - "arguments": [ + "expression": { + "components": [ { - "id": 8075, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8041, - "src": "10008:5:19", + "hexValue": "", + "id": 9949, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "964:2:33", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" }, { - "id": 8076, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8039, - "src": "10015:5:19", + "hexValue": "30", + "id": 9950, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "968:1:33", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 8074, - "name": "AddOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7717, - "src": "9999:8:19", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,bytes memory)" + "value": "0" } - }, - "id": 8077, + ], + "id": 9951, "isConstant": false, + "isInlineArray": false, "isLValue": false, - "isPure": false, - "kind": "functionCall", + "isPure": true, "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9999:22:19", - "tryCall": false, + "nodeType": "TupleExpression", + "src": "963:7:33", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_tuple$_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_$_t_rational_0_by_1_$", + "typeString": "tuple(literal_string \"\",int_const 0)" } }, - "id": 8078, - "nodeType": "EmitStatement", - "src": "9994:27:19" + "functionReturnParameters": 9936, + "id": 9952, + "nodeType": "Return", + "src": "956:14:33" } ] }, - "documentation": { - "id": 8037, - "nodeType": "StructuredDocumentation", - "src": "9471:228:19", - "text": "@notice Adds an owner at the given `index`.\n @dev Reverts if `owner` is already registered as an owner.\n @param owner The owner raw bytes to register.\n @param index The index to write to." - }, - "id": 8080, + "id": 9954, "implemented": true, "kind": "function", "modifiers": [], - "name": "_addOwnerAtIndex", - "nameLocation": "9713:16:19", + "name": "_validatePaymasterUserOp", + "nameLocation": "553:24:33", "nodeType": "FunctionDefinition", + "overrides": { + "id": 9931, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "701:8:33" + }, "parameters": { - "id": 8042, + "id": 9930, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8039, + "id": 9925, "mutability": "mutable", - "name": "owner", - "nameLocation": "9743:5:19", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9954, + "src": "587:28:33", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_calldata_ptr", + "typeString": "struct PackedUserOperation" + }, + "typeName": { + "id": 9924, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 9923, + "name": "PackedUserOperation", + "nameLocations": [ + "587:19:33" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1223, + "src": "587:19:33" + }, + "referencedDeclaration": 1223, + "src": "587:19:33", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedUserOperation_$1223_storage_ptr", + "typeString": "struct PackedUserOperation" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9927, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9954, + "src": "625:7:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9926, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "625:7:33", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9929, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9954, + "src": "659:7:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9928, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "659:7:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "577:109:33" + }, + "returnParameters": { + "id": 9936, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9933, + "mutability": "mutable", + "name": "context", + "nameLocation": "732:7:33", "nodeType": "VariableDeclaration", - "scope": 8080, - "src": "9730:18:19", + "scope": 9954, + "src": "719:20:33", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -228710,10 +251085,10 @@ "typeString": "bytes" }, "typeName": { - "id": 8038, + "id": 9932, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "9730:5:19", + "src": "719:5:33", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -228723,13 +251098,13 @@ }, { "constant": false, - "id": 8041, + "id": 9935, "mutability": "mutable", - "name": "index", - "nameLocation": "9758:5:19", + "name": "validationData", + "nameLocation": "749:14:33", "nodeType": "VariableDeclaration", - "scope": 8080, - "src": "9750:13:19", + "scope": 9954, + "src": "741:22:33", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -228737,10 +251112,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8040, + "id": 9934, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9750:7:19", + "src": "741:7:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -228749,514 +251124,479 @@ "visibility": "internal" } ], - "src": "9729:35:19" - }, - "returnParameters": { - "id": 8043, - "nodeType": "ParameterList", - "parameters": [], - "src": "9782:0:19" + "src": "718:46:33" }, - "scope": 8181, - "src": "9704:324:19", - "stateMutability": "nonpayable", - "virtual": true, + "scope": 9997, + "src": "544:433:33", + "stateMutability": "view", + "virtual": false, "visibility": "internal" }, { + "baseFunctions": [ + 158 + ], "body": { - "id": 8146, + "id": 9979, "nodeType": "Block", - "src": "10450:492:19", + "src": "1083:103:33", "statements": [ - { - "assignments": [ - 8089 - ], - "declarations": [ - { - "constant": false, - "id": 8089, - "mutability": "mutable", - "name": "owner_", - "nameLocation": "10473:6:19", - "nodeType": "VariableDeclaration", - "scope": 8146, - "src": "10460:19:19", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 8088, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "10460:5:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "id": 8093, - "initialValue": { - "arguments": [ - { - "id": 8091, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8083, - "src": "10495:5:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8090, - "name": "ownerAtIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7899, - "src": "10482:12:19", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (uint256) view returns (bytes memory)" - } - }, - "id": 8092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10482:19:19", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10460:41:19" - }, { "condition": { "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, - "id": 8097, + "id": 9973, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 8094, - "name": "owner_", + "id": 9967, + "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8089, - "src": "10515:6:19", + "referencedDeclaration": -15, + "src": "1097:3:33", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_magic_message", + "typeString": "msg" } }, - "id": 8095, + "id": 9968, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "10522:6:19", - "memberName": "length", + "memberLocation": "1101:6:33", + "memberName": "sender", "nodeType": "MemberAccess", - "src": "10515:13:19", + "src": "1097:10:33", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "nodeType": "BinaryOperation", - "operator": "==", + "operator": "!=", "rightExpression": { - "hexValue": "30", - "id": 8096, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10532:1:19", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10515:18:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 8102, - "nodeType": "IfStatement", - "src": "10511:52:19", - "trueBody": { - "errorCall": { "arguments": [ { - "id": 8099, - "name": "index", + "id": 9971, + "name": "entryPoint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8083, - "src": "10557:5:19", + "referencedDeclaration": 14, + "src": "1119:10:33", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_contract$_IEntryPoint_$1041", + "typeString": "contract IEntryPoint" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_contract$_IEntryPoint_$1041", + "typeString": "contract IEntryPoint" } ], - "id": 8098, - "name": "NoOwnerAtIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7683, - "src": "10542:14:19", + "id": 9970, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1111:7:33", "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint256_$returns$_t_error_$", - "typeString": "function (uint256) pure returns (error)" + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 9969, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1111:7:33", + "typeDescriptions": {} } }, - "id": 8100, + "id": 9972, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", + "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "10542:21:19", + "src": "1111:19:33", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_error", - "typeString": "error" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 8101, - "nodeType": "RevertStatement", - "src": "10535:28:19" - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 8109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 8104, - "name": "owner_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8089, - "src": "10587:6:19", + "src": "1097:33:33", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9978, + "nodeType": "IfStatement", + "src": "1093:87:33", + "trueBody": { + "id": 9977, + "nodeType": "Block", + "src": "1132:48:33", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 9974, + "name": "OnlyEntrypoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9903, + "src": "1153:14:33", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$_t_error_$", + "typeString": "function () pure returns (error)" + } + }, + "id": 9975, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1153:16:33", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_error", + "typeString": "error" } - } + }, + "id": 9976, + "nodeType": "RevertStatement", + "src": "1146:23:33" + } + ] + } + } + ] + }, + "id": 9980, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_postOp", + "nameLocation": "992:7:33", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 9965, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1074:8:33" + }, + "parameters": { + "id": 9964, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9957, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9980, + "src": "1000:24:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PostOpMode_$1068", + "typeString": "enum IPaymaster.PostOpMode" + }, + "typeName": { + "id": 9956, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 9955, + "name": "BasePaymaster.PostOpMode", + "nameLocations": [ + "1000:13:33", + "1014:10:33" ], - "expression": { - "argumentTypes": [ + "nodeType": "IdentifierPath", + "referencedDeclaration": 1068, + "src": "1000:24:33" + }, + "referencedDeclaration": 1068, + "src": "1000:24:33", + "typeDescriptions": { + "typeIdentifier": "t_enum$_PostOpMode_$1068", + "typeString": "enum IPaymaster.PostOpMode" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9959, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9980, + "src": "1026:14:33", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 9958, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1026:5:33", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9961, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9980, + "src": "1042:7:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9960, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1042:7:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9963, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9980, + "src": "1051:7:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9962, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1051:7:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "999:60:33" + }, + "returnParameters": { + "id": 9966, + "nodeType": "ParameterList", + "parameters": [], + "src": "1083:0:33" + }, + "scope": 9997, + "src": "983:203:33", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9995, + "nodeType": "Block", + "src": "1276:70:33", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "id": 9991, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "1333:4:33", + "typeDescriptions": { + "typeIdentifier": "t_contract$_PermissivePaymaster_$9997", + "typeString": "contract PermissivePaymaster" + } } ], - "id": 8103, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "10577:9:19", + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_PermissivePaymaster_$9997", + "typeString": "contract PermissivePaymaster" + } + ], + "id": 9990, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1325:7:33", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 9989, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1325:7:33", + "typeDescriptions": {} + } + }, + "id": 9992, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1325:13:33", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" + "typeIdentifier": "t_address", + "typeString": "address" } - }, - "id": 8105, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10577:17:19", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ + ], + "expression": { + "argumentTypes": [ { - "id": 8107, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8085, - "src": "10608:5:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } + "typeIdentifier": "t_address", + "typeString": "address" } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" + "typeIdentifier": "t_address", + "typeString": "address" } ], - "id": 8106, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "10598:9:19", + "expression": { + "id": 9983, + "name": "entryPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14, + "src": "1286:10:33", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IEntryPoint_$1041", + "typeString": "contract IEntryPoint" + } + }, + "id": 9985, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1297:9:33", + "memberName": "depositTo", + "nodeType": "MemberAccess", + "referencedDeclaration": 1176, + "src": "1286:20:33", "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" + "typeIdentifier": "t_function_external_payable$_t_address_$returns$__$", + "typeString": "function (address) payable external" } }, - "id": 8108, + "id": 9988, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10598:16:19", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "10577:37:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 8117, - "nodeType": "IfStatement", - "src": "10573:151:19", - "trueBody": { - "id": 8116, - "nodeType": "Block", - "src": "10616:108:19", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "id": 8111, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8083, - "src": "10663:5:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 8112, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8085, - "src": "10685:5:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - { - "id": 8113, - "name": "owner_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8089, - "src": "10705:6:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 8110, - "name": "WrongOwnerAtIndex", + "id": 9986, + "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7692, - "src": "10637:17:19", + "referencedDeclaration": -15, + "src": "1314:3:33", "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_error_$", - "typeString": "function (uint256,bytes memory,bytes memory) pure returns (error)" + "typeIdentifier": "t_magic_message", + "typeString": "msg" } }, - "id": 8114, + "id": 9987, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", "lValueRequested": false, - "nameLocations": [ - "10656:5:19", - "10670:13:19", - "10692:11:19" - ], - "names": [ - "index", - "expectedOwner", - "actualOwner" - ], - "nodeType": "FunctionCall", - "src": "10637:76:19", - "tryCall": false, + "memberLocation": "1318:5:33", + "memberName": "value", + "nodeType": "MemberAccess", + "src": "1314:9:33", "typeDescriptions": { - "typeIdentifier": "t_error", - "typeString": "error" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - }, - "id": 8115, - "nodeType": "RevertStatement", - "src": "10630:83:19" - } - ] - } - }, - { - "assignments": [ - 8120 - ], - "declarations": [ - { - "constant": false, - "id": 8120, - "mutability": "mutable", - "name": "$", - "nameLocation": "10762:1:19", - "nodeType": "VariableDeclaration", - "scope": 8146, - "src": "10734:29:19", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7665_storage_ptr", - "typeString": "struct MultiOwnableStorage" - }, - "typeName": { - "id": 8119, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 8118, - "name": "MultiOwnableStorage", - "nameLocations": [ - "10734:19:19" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 7665, - "src": "10734:19:19" - }, - "referencedDeclaration": 7665, - "src": "10734:19:19", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7665_storage_ptr", - "typeString": "struct MultiOwnableStorage" } - }, - "visibility": "internal" - } - ], - "id": 8123, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8121, - "name": "_getMultiOwnableStorage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8180, - "src": "10766:23:19", + ], + "src": "1286:38:33", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_MultiOwnableStorage_$7665_storage_ptr_$", - "typeString": "function () pure returns (struct MultiOwnableStorage storage pointer)" + "typeIdentifier": "t_function_external_payable$_t_address_$returns$__$value", + "typeString": "function (address) payable external" } }, - "id": 8122, + "id": 9993, "isConstant": false, "isLValue": false, "isPure": false, @@ -229265,261 +251605,487 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "10766:25:19", + "src": "1286:53:33", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7665_storage_ptr", - "typeString": "struct MultiOwnableStorage storage pointer" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "nodeType": "VariableDeclarationStatement", - "src": "10734:57:19" - }, + "id": 9994, + "nodeType": "ExpressionStatement", + "src": "1286:53:33" + } + ] + }, + "id": 9996, + "implemented": true, + "kind": "receive", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9981, + "nodeType": "ParameterList", + "parameters": [], + "src": "1256:2:33" + }, + "returnParameters": { + "id": 9982, + "nodeType": "ParameterList", + "parameters": [], + "src": "1276:0:33" + }, + "scope": 9997, + "src": "1249:97:33", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 9998, + "src": "358:990:33", + "usedErrors": [ + 1237, + 1242, + 9903 + ], + "usedEvents": [ + 1248 + ] + } + ], + "src": "32:1317:33" + }, + "id": 33 + }, + "src/testing/PrivateERC20.sol": { + "ast": { + "absolutePath": "src/testing/PrivateERC20.sol", + "exportedSymbols": { + "Context": [ + 2157 + ], + "ERC20": [ + 2023 + ], + "IERC20": [ + 2101 + ], + "IERC20Errors": [ + 1413 + ], + "IERC20Metadata": [ + 2127 + ], + "PrivateERC20": [ + 10062 + ] + }, + "id": 10063, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 9999, + "literals": [ + "solidity", + "^", + "0.8", + ".28" + ], + "nodeType": "PragmaDirective", + "src": "32:24:34" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", + "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", + "id": 10000, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 10063, + "sourceUnit": 2024, + "src": "58:55:34", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 10001, + "name": "ERC20", + "nameLocations": [ + "140:5:34" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2023, + "src": "140:5:34" + }, + "id": 10002, + "nodeType": "InheritanceSpecifier", + "src": "140:5:34" + } + ], + "canonicalName": "PrivateERC20", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 10062, + "linearizedBaseContracts": [ + 10062, + 2023, + 1413, + 2127, + 2101, + 2157 + ], + "name": "PrivateERC20", + "nameLocation": "124:12:34", + "nodeType": "ContractDefinition", + "nodes": [ + { + "errorSelector": "295a81c1", + "id": 10008, + "name": "Unauthorized", + "nameLocation": "158:12:34", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 10007, + "nodeType": "ParameterList", + "parameters": [ { - "expression": { - "id": 8128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "10801:23:19", - "subExpression": { - "baseExpression": { - "expression": { - "id": 8124, - "name": "$", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8120, - "src": "10808:1:19", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7665_storage_ptr", - "typeString": "struct MultiOwnableStorage storage pointer" - } - }, - "id": 8125, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10810:7:19", - "memberName": "isOwner", - "nodeType": "MemberAccess", - "referencedDeclaration": 7664, - "src": "10808:9:19", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes_memory_ptr_$_t_bool_$", - "typeString": "mapping(bytes memory => bool)" - } - }, - "id": 8127, - "indexExpression": { - "id": 8126, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8085, - "src": "10818:5:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10808:16:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, + "constant": false, + "id": 10004, + "mutability": "mutable", + "name": "expectedSender", + "nameLocation": "179:14:34", + "nodeType": "VariableDeclaration", + "scope": 10008, + "src": "171:22:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10003, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "171:7:34", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 8129, - "nodeType": "ExpressionStatement", - "src": "10801:23:19" + "visibility": "internal" }, + { + "constant": false, + "id": 10006, + "mutability": "mutable", + "name": "actualSender", + "nameLocation": "203:12:34", + "nodeType": "VariableDeclaration", + "scope": 10008, + "src": "195:20:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10005, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "195:7:34", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "170:46:34" + }, + "src": "152:65:34" + }, + { + "body": { + "id": 10023, + "nodeType": "Block", + "src": "288:49:34", + "statements": [ { "expression": { - "id": 8134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "10834:28:19", - "subExpression": { - "baseExpression": { + "arguments": [ + { "expression": { - "id": 8130, - "name": "$", + "id": 10018, + "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8120, - "src": "10841:1:19", + "referencedDeclaration": -15, + "src": "304:3:34", "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7665_storage_ptr", - "typeString": "struct MultiOwnableStorage storage pointer" + "typeIdentifier": "t_magic_message", + "typeString": "msg" } }, - "id": 8131, + "id": 10019, "isConstant": false, - "isLValue": true, + "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "10843:12:19", - "memberName": "ownerAtIndex", + "memberLocation": "308:6:34", + "memberName": "sender", "nodeType": "MemberAccess", - "referencedDeclaration": 7659, - "src": "10841:14:19", + "src": "304:10:34", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes_storage_$", - "typeString": "mapping(uint256 => bytes storage ref)" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 8133, - "indexExpression": { - "id": 8132, - "name": "index", + { + "id": 10020, + "name": "initialSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8083, - "src": "10856:5:19", + "referencedDeclaration": 10010, + "src": "316:13:34", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10841:21:19", + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 10017, + "name": "_mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1863, + "src": "298:5:34", "typeDescriptions": { - "typeIdentifier": "t_bytes_storage", - "typeString": "bytes storage ref" + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" } }, + "id": 10021, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "298:32:34", + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8135, + "id": 10022, "nodeType": "ExpressionStatement", - "src": "10834:28:19" - }, - { - "expression": { - "id": 8139, + "src": "298:32:34" + } + ] + }, + "id": 10024, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "hexValue": "50726976617465204552433230", + "id": 10013, "isConstant": false, "isLValue": false, - "isPure": false, + "isPure": true, + "kind": "string", "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "10872:22:19", - "subExpression": { - "expression": { - "id": 8136, - "name": "$", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8120, - "src": "10872:1:19", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7665_storage_ptr", - "typeString": "struct MultiOwnableStorage storage pointer" - } - }, - "id": 8138, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "10874:18:19", - "memberName": "removedOwnersCount", - "nodeType": "MemberAccess", - "referencedDeclaration": 7654, - "src": "10872:20:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "nodeType": "Literal", + "src": "264:15:34", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f6e62e233a99a2c3613c00cd733fa8246c5ebe760becc4725833eed9c7544848", + "typeString": "literal_string \"Private ERC20\"" + }, + "value": "Private ERC20" + }, + { + "hexValue": "504532", + "id": 10014, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "281:5:34", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6c88767607289b9e25b97d8b82df9ce5b2dca171f8f69870c9431bc308fdc93e", + "typeString": "literal_string \"PE2\"" }, + "value": "PE2" + } + ], + "id": 10015, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 10012, + "name": "ERC20", + "nameLocations": [ + "258:5:34" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2023, + "src": "258:5:34" + }, + "nodeType": "ModifierInvocation", + "src": "258:29:34" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10011, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10010, + "mutability": "mutable", + "name": "initialSupply", + "nameLocation": "243:13:34", + "nodeType": "VariableDeclaration", + "scope": 10024, + "src": "235:21:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10009, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "235:7:34", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 8140, - "nodeType": "ExpressionStatement", - "src": "10872:22:19" - }, + "visibility": "internal" + } + ], + "src": "234:23:34" + }, + "returnParameters": { + "id": 10016, + "nodeType": "ParameterList", + "parameters": [], + "src": "288:0:34" + }, + "scope": 10062, + "src": "223:114:34", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 10035, + "nodeType": "Block", + "src": "377:33:34", + "statements": [ { - "eventCall": { + "expression": { "arguments": [ { - "id": 8142, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8083, - "src": "10922:5:19", + "expression": { + "id": 10030, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "387:3:34", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 10031, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "391:6:34", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "387:10:34", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, { - "id": 8143, - "name": "owner", + "id": 10032, + "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8085, - "src": "10929:5:19", + "referencedDeclaration": 10026, + "src": "399:6:34", "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } ], - "id": 8141, - "name": "RemoveOwner", + "id": 10029, + "name": "_mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7724, - "src": "10910:11:19", + "referencedDeclaration": 1863, + "src": "381:5:34", "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (uint256,bytes memory)" + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" } }, - "id": 8144, + "id": 10033, "isConstant": false, "isLValue": false, "isPure": false, @@ -229528,45 +252094,40 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "10910:25:19", + "src": "381:25:34", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 8145, - "nodeType": "EmitStatement", - "src": "10905:30:19" + "id": 10034, + "nodeType": "ExpressionStatement", + "src": "381:25:34" } ] }, - "documentation": { - "id": 8081, - "nodeType": "StructuredDocumentation", - "src": "10034:328:19", - "text": "@notice Removes owner at the given `index`.\n @dev Reverts if the owner is not registered at `index`.\n @dev Reverts if `owner` does not match bytes found at `index`.\n @param index The index of the owner to be removed.\n @param owner The ABI encoded bytes of the owner to be removed." - }, - "id": 8147, + "functionSelector": "a0712d68", + "id": 10036, "implemented": true, "kind": "function", "modifiers": [], - "name": "_removeOwnerAtIndex", - "nameLocation": "10376:19:19", + "name": "mint", + "nameLocation": "349:4:34", "nodeType": "FunctionDefinition", "parameters": { - "id": 8086, + "id": 10027, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8083, + "id": 10026, "mutability": "mutable", - "name": "index", - "nameLocation": "10404:5:19", + "name": "amount", + "nameLocation": "362:6:34", "nodeType": "VariableDeclaration", - "scope": 8147, - "src": "10396:13:19", + "scope": 10036, + "src": "354:14:34", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -229574,300 +252135,276 @@ "typeString": "uint256" }, "typeName": { - "id": 8082, + "id": 10025, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10396:7:19", + "src": "354:7:34", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" - }, - { - "constant": false, - "id": 8085, - "mutability": "mutable", - "name": "owner", - "nameLocation": "10426:5:19", - "nodeType": "VariableDeclaration", - "scope": 8147, - "src": "10411:20:19", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 8084, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "10411:5:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" } ], - "src": "10395:37:19" + "src": "353:16:34" }, "returnParameters": { - "id": 8087, + "id": 10028, "nodeType": "ParameterList", "parameters": [], - "src": "10450:0:19" + "src": "377:0:34" }, - "scope": 8181, - "src": "10367:575:19", + "scope": 10062, + "src": "340:70:34", "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" + "virtual": false, + "visibility": "public" }, { "body": { - "id": 8170, + "id": 10060, "nodeType": "Block", - "src": "11165:144:19", + "src": "489:123:34", "statements": [ { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 8163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 10047, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 10044, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10038, + "src": "507:7:34", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { "expression": { - "id": 8152, + "id": 10045, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "11194:3:19", + "src": "518:3:34", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 8153, + "id": 10046, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "11198:6:19", + "memberLocation": "522:6:34", "memberName": "sender", "nodeType": "MemberAccess", - "src": "11194:10:19", + "src": "518:10:34", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 8151, - "name": "isOwnerAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7848, - "src": "11179:14:19", + }, + "src": "507:21:34", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "id": 8154, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11179:26:19", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" + { + "arguments": [ + { + "id": 10049, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10038, + "src": "543:7:34", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } }, - "id": 8161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { + { "expression": { - "id": 8155, + "id": 10050, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "11210:3:19", + "src": "552:3:34", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 8156, + "id": 10051, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "11214:6:19", + "memberLocation": "556:6:34", "memberName": "sender", "nodeType": "MemberAccess", - "src": "11210:10:19", + "src": "552:10:34", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "id": 8159, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "11232:4:19", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MultiOwnable_$8181", - "typeString": "contract MultiOwnable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MultiOwnable_$8181", - "typeString": "contract MultiOwnable" - } - ], - "id": 8158, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11224:7:19", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8157, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11224:7:19", - "typeDescriptions": {} - } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" }, - "id": 8160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11224:13:19", - "tryCall": false, - "typeDescriptions": { + { "typeIdentifier": "t_address", "typeString": "address" } - }, - "src": "11210:27:19", + ], + "id": 10048, + "name": "Unauthorized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10008, + "src": "530:12:34", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$_t_error_$", + "typeString": "function (address,address) pure returns (error)" } + }, + "id": 10052, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "530:33:34", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_error", + "typeString": "error" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_error", + "typeString": "error" } ], - "id": 8162, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "11209:29:19", + "id": 10043, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "499:7:34", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_error_$returns$__$", + "typeString": "function (bool,error) pure" } }, - "src": "11179:59:19", + "id": 10053, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "499:65:34", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "id": 8166, - "nodeType": "IfStatement", - "src": "11175:96:19", - "trueBody": { - "id": 8165, - "nodeType": "Block", - "src": "11240:31:19", - "statements": [ - { - "functionReturnParameters": 8150, - "id": 8164, - "nodeType": "Return", - "src": "11254:7:19" - } - ] - } + "id": 10054, + "nodeType": "ExpressionStatement", + "src": "499:65:34" }, { - "errorCall": { - "arguments": [], + "expression": { + "arguments": [ + { + "id": 10057, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10038, + "src": "597:7:34", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], "expression": { - "argumentTypes": [], - "id": 8167, - "name": "Unauthorized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7673, - "src": "11288:12:19", + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 10055, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "581:5:34", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_super$_PrivateERC20_$10062_$", + "typeString": "type(contract super PrivateERC20)" + } + }, + "id": 10056, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "587:9:34", + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 1609, + "src": "581:15:34", "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$_t_error_$", - "typeString": "function () pure returns (error)" + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view returns (uint256)" } }, - "id": 8168, + "id": 10058, "isConstant": false, "isLValue": false, "isPure": false, @@ -229876,219 +252413,142 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "11288:14:19", + "src": "581:24:34", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_error", - "typeString": "error" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 8169, - "nodeType": "RevertStatement", - "src": "11281:21:19" + "functionReturnParameters": 10042, + "id": 10059, + "nodeType": "Return", + "src": "574:31:34" } ] }, - "documentation": { - "id": 8148, - "nodeType": "StructuredDocumentation", - "src": "10948:167:19", - "text": "@notice Checks if the sender is an owner of this contract or the contract itself.\n @dev Revert if the sender is not an owner fo the contract itself." - }, - "id": 8171, + "functionSelector": "356adc00", + "id": 10061, "implemented": true, "kind": "function", "modifiers": [], - "name": "_checkOwner", - "nameLocation": "11129:11:19", + "name": "privateBalanceOf", + "nameLocation": "425:16:34", "nodeType": "FunctionDefinition", "parameters": { - "id": 8149, - "nodeType": "ParameterList", - "parameters": [], - "src": "11140:2:19" - }, - "returnParameters": { - "id": 8150, + "id": 10039, "nodeType": "ParameterList", - "parameters": [], - "src": "11165:0:19" - }, - "scope": 8181, - "src": "11120:189:19", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 8179, - "nodeType": "Block", - "src": "11583:105:19", - "statements": [ + "parameters": [ { - "AST": { - "nativeSrc": "11618:64:19", - "nodeType": "YulBlock", - "src": "11618:64:19", - "statements": [ - { - "nativeSrc": "11632:40:19", - "nodeType": "YulAssignment", - "src": "11632:40:19", - "value": { - "name": "MUTLI_OWNABLE_STORAGE_LOCATION", - "nativeSrc": "11642:30:19", - "nodeType": "YulIdentifier", - "src": "11642:30:19" - }, - "variableNames": [ - { - "name": "$.slot", - "nativeSrc": "11632:6:19", - "nodeType": "YulIdentifier", - "src": "11632:6:19" - } - ] - } - ] + "constant": false, + "id": 10038, + "mutability": "mutable", + "name": "account", + "nameLocation": "450:7:34", + "nodeType": "VariableDeclaration", + "scope": 10061, + "src": "442:15:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" }, - "evmVersion": "paris", - "externalReferences": [ - { - "declaration": 8176, - "isOffset": false, - "isSlot": true, - "src": "11632:6:19", - "suffix": "slot", - "valueSize": 1 - }, - { - "declaration": 7670, - "isOffset": false, - "isSlot": false, - "src": "11642:30:19", - "valueSize": 1 + "typeName": { + "id": 10037, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "442:7:34", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" } - ], - "flags": [ - "memory-safe" - ], - "id": 8178, - "nodeType": "InlineAssembly", - "src": "11593:89:19" + }, + "visibility": "internal" } - ] - }, - "documentation": { - "id": 8172, - "nodeType": "StructuredDocumentation", - "src": "11315:174:19", - "text": "@notice Helper function to get a storage reference to the `MultiOwnableStorage` struct.\n @return $ A storage reference to the `MultiOwnableStorage` struct." - }, - "id": 8180, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_getMultiOwnableStorage", - "nameLocation": "11503:23:19", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 8173, - "nodeType": "ParameterList", - "parameters": [], - "src": "11526:2:19" + ], + "src": "441:17:34" }, "returnParameters": { - "id": 8177, + "id": 10042, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8176, + "id": 10041, "mutability": "mutable", - "name": "$", - "nameLocation": "11580:1:19", + "name": "", + "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 8180, - "src": "11552:29:19", + "scope": 10061, + "src": "480:7:34", "stateVariable": false, - "storageLocation": "storage", + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7665_storage_ptr", - "typeString": "struct MultiOwnableStorage" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": 8175, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 8174, - "name": "MultiOwnableStorage", - "nameLocations": [ - "11552:19:19" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 7665, - "src": "11552:19:19" - }, - "referencedDeclaration": 7665, - "src": "11552:19:19", + "id": 10040, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "480:7:34", "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7665_storage_ptr", - "typeString": "struct MultiOwnableStorage" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "visibility": "internal" } ], - "src": "11551:31:19" + "src": "479:9:34" }, - "scope": 8181, - "src": "11494:194:19", - "stateMutability": "pure", + "scope": 10062, + "src": "416:196:34", + "stateMutability": "view", "virtual": false, - "visibility": "internal" + "visibility": "public" } ], - "scope": 8182, - "src": "1427:10263:19", + "scope": 10063, + "src": "115:499:34", "usedErrors": [ - 7673, - 7678, - 7683, - 7692, - 7697, - 7702, - 7705, - 7710 + 1383, + 1388, + 1393, + 1402, + 1407, + 1412, + 10008 ], "usedEvents": [ - 7717, - 7724 + 2035, + 2044 ] } ], - "src": "32:11659:19" + "src": "32:583:34" }, - "id": 19 + "id": 34 }, "src/utils/ERC1271InputGenerator.sol": { "ast": { "absolutePath": "src/utils/ERC1271InputGenerator.sol", "exportedSymbols": { "ERC1271InputGenerator": [ - 8299 + 10180 ], "GianoSmartWallet": [ - 7506 + 9190 ] }, - "id": 8300, + "id": 10181, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 8183, + "id": 10064, "literals": [ "solidity", "^", @@ -230096,26 +252556,26 @@ ".0" ], "nodeType": "PragmaDirective", - "src": "32:23:20" + "src": "32:23:35" }, { "absolutePath": "src/GianoSmartWallet.sol", "file": "../GianoSmartWallet.sol", - "id": 8185, + "id": 10066, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 8300, - "sourceUnit": 7507, - "src": "57:57:20", + "scope": 10181, + "sourceUnit": 9191, + "src": "57:57:35", "symbolAliases": [ { "foreign": { - "id": 8184, + "id": 10065, "name": "GianoSmartWallet", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7506, - "src": "65:16:20", + "referencedDeclaration": 9190, + "src": "65:16:35", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -230130,65 +252590,65 @@ "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 8186, + "id": 10067, "nodeType": "StructuredDocumentation", - "src": "116:716:20", + "src": "116:716:35", "text": "@title ERC1271 Input Generator\n @notice Helper contract for generating an ERC-1271 input hash to sign for deployed and undeployed\n GianoSmartWallet. May be useful for generating ERC-6492 compliant signatures.\n Inspired by Ambire's DeploylessUniversalSigValidator\n https://github.com/AmbireTech/signature-validator/blob/d5f84f5fc00bfdf79b80205b983a8258b6d1b3ea/contracts/DeploylessUniversalSigValidator.sol.\n @dev This contract is not meant to ever actually be deployed, only mock deployed and used via a static eth_call.\n @author Applied Blockchain (https://github.com/appliedblockchain/giano)\n @author Coinbase (https://github.com/coinbase/smart-wallet)" }, "fullyImplemented": true, - "id": 8299, + "id": 10180, "linearizedBaseContracts": [ - 8299 + 10180 ], "name": "ERC1271InputGenerator", - "nameLocation": "841:21:20", + "nameLocation": "841:21:35", "nodeType": "ContractDefinition", "nodes": [ { "documentation": { - "id": 8187, + "id": 10068, "nodeType": "StructuredDocumentation", - "src": "869:78:20", + "src": "869:78:35", "text": "@notice Thrown when call to `accountFactory` with `factoryCalldata` fails." }, "errorSelector": "128aaaa0", - "id": 8189, + "id": 10070, "name": "AccountDeploymentFailed", - "nameLocation": "958:23:20", + "nameLocation": "958:23:35", "nodeType": "ErrorDefinition", "parameters": { - "id": 8188, + "id": 10069, "nodeType": "ParameterList", "parameters": [], - "src": "981:2:20" + "src": "981:2:35" }, - "src": "952:32:20" + "src": "952:32:35" }, { "documentation": { - "id": 8190, + "id": 10071, "nodeType": "StructuredDocumentation", - "src": "990:216:20", + "src": "990:216:35", "text": "@notice Thrown when the address returned from call to `accountFactory` does not\n match passed account\n @param account The passed account\n @param returned The returned account" }, "errorSelector": "c8624383", - "id": 8196, + "id": 10077, "name": "ReturnedAddressDoesNotMatchAccount", - "nameLocation": "1217:34:20", + "nameLocation": "1217:34:35", "nodeType": "ErrorDefinition", "parameters": { - "id": 8195, + "id": 10076, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8192, + "id": 10073, "mutability": "mutable", "name": "account", - "nameLocation": "1260:7:20", + "nameLocation": "1260:7:35", "nodeType": "VariableDeclaration", - "scope": 8196, - "src": "1252:15:20", + "scope": 10077, + "src": "1252:15:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -230196,10 +252656,10 @@ "typeString": "address" }, "typeName": { - "id": 8191, + "id": 10072, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1252:7:20", + "src": "1252:7:35", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -230210,13 +252670,13 @@ }, { "constant": false, - "id": 8194, + "id": 10075, "mutability": "mutable", "name": "returned", - "nameLocation": "1277:8:20", + "nameLocation": "1277:8:35", "nodeType": "VariableDeclaration", - "scope": 8196, - "src": "1269:16:20", + "scope": 10077, + "src": "1269:16:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -230224,10 +252684,10 @@ "typeString": "address" }, "typeName": { - "id": 8193, + "id": 10074, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1269:7:20", + "src": "1269:7:35", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -230237,30 +252697,30 @@ "visibility": "internal" } ], - "src": "1251:35:20" + "src": "1251:35:35" }, - "src": "1211:76:20" + "src": "1211:76:35" }, { "body": { - "id": 8219, + "id": 10100, "nodeType": "Block", - "src": "2162:632:20", + "src": "2162:632:35", "statements": [ { "assignments": [ - 8210 + 10091 ], "declarations": [ { "constant": false, - "id": 8210, + "id": 10091, "mutability": "mutable", "name": "replaySafeHash", - "nameLocation": "2518:14:20", + "nameLocation": "2518:14:35", "nodeType": "VariableDeclaration", - "scope": 8219, - "src": "2510:22:20", + "scope": 10100, + "src": "2510:22:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -230268,10 +252728,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 8209, + "id": 10090, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2510:7:20", + "src": "2510:7:35", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -230280,52 +252740,52 @@ "visibility": "internal" } ], - "id": 8217, + "id": 10098, "initialValue": { "arguments": [ { - "id": 8212, + "id": 10093, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8200, - "src": "2562:7:20", + "referencedDeclaration": 10081, + "src": "2562:7:35", "typeDescriptions": { - "typeIdentifier": "t_contract$_GianoSmartWallet_$7506", + "typeIdentifier": "t_contract$_GianoSmartWallet_$9190", "typeString": "contract GianoSmartWallet" } }, { - "id": 8213, + "id": 10094, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8202, - "src": "2571:4:20", + "referencedDeclaration": 10083, + "src": "2571:4:35", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 8214, + "id": 10095, "name": "accountFactory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8204, - "src": "2577:14:20", + "referencedDeclaration": 10085, + "src": "2577:14:35", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 8215, + "id": 10096, "name": "factoryCalldata", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8206, - "src": "2593:15:20", + "referencedDeclaration": 10087, + "src": "2593:15:35", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -230335,7 +252795,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_GianoSmartWallet_$7506", + "typeIdentifier": "t_contract$_GianoSmartWallet_$9190", "typeString": "contract GianoSmartWallet" }, { @@ -230351,18 +252811,18 @@ "typeString": "bytes memory" } ], - "id": 8211, + "id": 10092, "name": "_gianoSmartWallet1271Input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8298, - "src": "2535:26:20", + "referencedDeclaration": 10179, + "src": "2535:26:35", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_GianoSmartWallet_$7506_$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_GianoSmartWallet_$9190_$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (contract GianoSmartWallet,bytes32,address,bytes memory) returns (bytes32)" } }, - "id": 8216, + "id": 10097, "isConstant": false, "isLValue": false, "isPure": false, @@ -230371,7 +252831,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2535:74:20", + "src": "2535:74:35", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -230379,105 +252839,105 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "2510:99:20" + "src": "2510:99:35" }, { "AST": { - "nativeSrc": "2628:160:20", + "nativeSrc": "2628:160:35", "nodeType": "YulBlock", - "src": "2628:160:20", + "src": "2628:160:35", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "2687:4:20", + "nativeSrc": "2687:4:35", "nodeType": "YulLiteral", - "src": "2687:4:20", + "src": "2687:4:35", "type": "", "value": "0x80" }, { "name": "replaySafeHash", - "nativeSrc": "2693:14:20", + "nativeSrc": "2693:14:35", "nodeType": "YulIdentifier", - "src": "2693:14:20" + "src": "2693:14:35" } ], "functionName": { "name": "mstore", - "nativeSrc": "2680:6:20", + "nativeSrc": "2680:6:35", "nodeType": "YulIdentifier", - "src": "2680:6:20" + "src": "2680:6:35" }, - "nativeSrc": "2680:28:20", + "nativeSrc": "2680:28:35", "nodeType": "YulFunctionCall", - "src": "2680:28:20" + "src": "2680:28:35" }, - "nativeSrc": "2680:28:20", + "nativeSrc": "2680:28:35", "nodeType": "YulExpressionStatement", - "src": "2680:28:20" + "src": "2680:28:35" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "2767:4:20", + "nativeSrc": "2767:4:35", "nodeType": "YulLiteral", - "src": "2767:4:20", + "src": "2767:4:35", "type": "", "value": "0x80" }, { "kind": "number", - "nativeSrc": "2773:4:20", + "nativeSrc": "2773:4:35", "nodeType": "YulLiteral", - "src": "2773:4:20", + "src": "2773:4:35", "type": "", "value": "0x20" } ], "functionName": { "name": "return", - "nativeSrc": "2760:6:20", + "nativeSrc": "2760:6:35", "nodeType": "YulIdentifier", - "src": "2760:6:20" + "src": "2760:6:35" }, - "nativeSrc": "2760:18:20", + "nativeSrc": "2760:18:35", "nodeType": "YulFunctionCall", - "src": "2760:18:20" + "src": "2760:18:35" }, - "nativeSrc": "2760:18:20", + "nativeSrc": "2760:18:35", "nodeType": "YulExpressionStatement", - "src": "2760:18:20" + "src": "2760:18:35" } ] }, "evmVersion": "paris", "externalReferences": [ { - "declaration": 8210, + "declaration": 10091, "isOffset": false, "isSlot": false, - "src": "2693:14:20", + "src": "2693:14:35", "valueSize": 1 } ], - "id": 8218, + "id": 10099, "nodeType": "InlineAssembly", - "src": "2619:169:20" + "src": "2619:169:35" } ] }, "documentation": { - "id": 8197, + "id": 10078, "nodeType": "StructuredDocumentation", - "src": "1293:758:20", + "src": "1293:758:35", "text": "@notice Computes and returns the expected ERC-1271 replay-safe hash for a GianoSmartWallet.\n @dev `accountFactory` can be any address if the account is already deployed.\n @dev `factoryCalldata` can be 0x if the account is already deployed.\n @dev If calling with solidity, the `replaySafeHash` will be `.code`.\n @param account The account that will receive the ERC-1271 `isValidSignature` call.\n @param hash The hash the wallet was asked to sign.\n @param accountFactory The factory that will be used to deploy the account (if not already deployed).\n @param factoryCalldata The calldata that will be used to deploy the account (if not already deployed)." }, - "id": 8220, + "id": 10101, "implemented": true, "kind": "constructor", "modifiers": [], @@ -230485,41 +252945,41 @@ "nameLocation": "-1:-1:-1", "nodeType": "FunctionDefinition", "parameters": { - "id": 8207, + "id": 10088, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8200, + "id": 10081, "mutability": "mutable", "name": "account", - "nameLocation": "2085:7:20", + "nameLocation": "2085:7:35", "nodeType": "VariableDeclaration", - "scope": 8220, - "src": "2068:24:20", + "scope": 10101, + "src": "2068:24:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_GianoSmartWallet_$7506", + "typeIdentifier": "t_contract$_GianoSmartWallet_$9190", "typeString": "contract GianoSmartWallet" }, "typeName": { - "id": 8199, + "id": 10080, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 8198, + "id": 10079, "name": "GianoSmartWallet", "nameLocations": [ - "2068:16:20" + "2068:16:35" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 7506, - "src": "2068:16:20" + "referencedDeclaration": 9190, + "src": "2068:16:35" }, - "referencedDeclaration": 7506, - "src": "2068:16:20", + "referencedDeclaration": 9190, + "src": "2068:16:35", "typeDescriptions": { - "typeIdentifier": "t_contract$_GianoSmartWallet_$7506", + "typeIdentifier": "t_contract$_GianoSmartWallet_$9190", "typeString": "contract GianoSmartWallet" } }, @@ -230527,13 +252987,13 @@ }, { "constant": false, - "id": 8202, + "id": 10083, "mutability": "mutable", "name": "hash", - "nameLocation": "2102:4:20", + "nameLocation": "2102:4:35", "nodeType": "VariableDeclaration", - "scope": 8220, - "src": "2094:12:20", + "scope": 10101, + "src": "2094:12:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -230541,10 +253001,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 8201, + "id": 10082, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2094:7:20", + "src": "2094:7:35", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -230554,13 +253014,13 @@ }, { "constant": false, - "id": 8204, + "id": 10085, "mutability": "mutable", "name": "accountFactory", - "nameLocation": "2116:14:20", + "nameLocation": "2116:14:35", "nodeType": "VariableDeclaration", - "scope": 8220, - "src": "2108:22:20", + "scope": 10101, + "src": "2108:22:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -230568,10 +253028,10 @@ "typeString": "address" }, "typeName": { - "id": 8203, + "id": 10084, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2108:7:20", + "src": "2108:7:35", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -230582,13 +253042,13 @@ }, { "constant": false, - "id": 8206, + "id": 10087, "mutability": "mutable", "name": "factoryCalldata", - "nameLocation": "2145:15:20", + "nameLocation": "2145:15:35", "nodeType": "VariableDeclaration", - "scope": 8220, - "src": "2132:28:20", + "scope": 10101, + "src": "2132:28:35", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -230596,10 +253056,10 @@ "typeString": "bytes" }, "typeName": { - "id": 8205, + "id": 10086, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "2132:5:20", + "src": "2132:5:35", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -230608,25 +253068,25 @@ "visibility": "internal" } ], - "src": "2067:94:20" + "src": "2067:94:35" }, "returnParameters": { - "id": 8208, + "id": 10089, "nodeType": "ParameterList", "parameters": [], - "src": "2162:0:20" + "src": "2162:0:35" }, - "scope": 8299, - "src": "2056:738:20", + "scope": 10180, + "src": "2056:738:35", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { - "id": 8297, + "id": 10178, "nodeType": "Block", - "src": "3769:717:20", + "src": "3769:717:35", "statements": [ { "condition": { @@ -230634,7 +253094,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8242, + "id": 10123, "isConstant": false, "isLValue": false, "isPure": false, @@ -230644,14 +253104,14 @@ "expression": { "arguments": [ { - "id": 8237, + "id": 10118, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8224, - "src": "3870:7:20", + "referencedDeclaration": 10105, + "src": "3870:7:35", "typeDescriptions": { - "typeIdentifier": "t_contract$_GianoSmartWallet_$7506", + "typeIdentifier": "t_contract$_GianoSmartWallet_$9190", "typeString": "contract GianoSmartWallet" } } @@ -230659,30 +253119,30 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_GianoSmartWallet_$7506", + "typeIdentifier": "t_contract$_GianoSmartWallet_$9190", "typeString": "contract GianoSmartWallet" } ], - "id": 8236, + "id": 10117, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3862:7:20", + "src": "3862:7:35", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 8235, + "id": 10116, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3862:7:20", + "src": "3862:7:35", "typeDescriptions": {} } }, - "id": 8238, + "id": 10119, "isConstant": false, "isLValue": false, "isPure": false, @@ -230691,36 +253151,36 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3862:16:20", + "src": "3862:16:35", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 8239, + "id": 10120, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "3879:4:20", + "memberLocation": "3879:4:35", "memberName": "code", "nodeType": "MemberAccess", - "src": "3862:21:20", + "src": "3862:21:35", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 8240, + "id": 10121, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "3884:6:20", + "memberLocation": "3884:6:35", "memberName": "length", "nodeType": "MemberAccess", - "src": "3862:28:20", + "src": "3862:28:35", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -230730,44 +253190,44 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 8241, + "id": 10122, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3893:1:20", + "src": "3893:1:35", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "3862:32:20", + "src": "3862:32:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 8249, + "id": 10130, "nodeType": "IfStatement", - "src": "3858:98:20", + "src": "3858:98:35", "trueBody": { - "id": 8248, + "id": 10129, "nodeType": "Block", - "src": "3896:60:20", + "src": "3896:60:35", "statements": [ { "expression": { "arguments": [ { - "id": 8245, + "id": 10126, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8226, - "src": "3940:4:20", + "referencedDeclaration": 10107, + "src": "3940:4:35", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -230782,33 +253242,33 @@ } ], "expression": { - "id": 8243, + "id": 10124, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8224, - "src": "3917:7:20", + "referencedDeclaration": 10105, + "src": "3917:7:35", "typeDescriptions": { - "typeIdentifier": "t_contract$_GianoSmartWallet_$7506", + "typeIdentifier": "t_contract$_GianoSmartWallet_$9190", "typeString": "contract GianoSmartWallet" } }, - "id": 8244, + "id": 10125, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "3925:14:20", + "memberLocation": "3925:14:35", "memberName": "replaySafeHash", "nodeType": "MemberAccess", - "referencedDeclaration": 6806, - "src": "3917:22:20", + "referencedDeclaration": 8420, + "src": "3917:22:35", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", "typeString": "function (bytes32) view external returns (bytes32)" } }, - "id": 8246, + "id": 10127, "isConstant": false, "isLValue": false, "isPure": false, @@ -230817,36 +253277,36 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3917:28:20", + "src": "3917:28:35", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 8234, - "id": 8247, + "functionReturnParameters": 10115, + "id": 10128, "nodeType": "Return", - "src": "3910:35:20" + "src": "3910:35:35" } ] } }, { "assignments": [ - 8251, - 8253 + 10132, + 10134 ], "declarations": [ { "constant": false, - "id": 8251, + "id": 10132, "mutability": "mutable", "name": "success", - "nameLocation": "4003:7:20", + "nameLocation": "4003:7:35", "nodeType": "VariableDeclaration", - "scope": 8297, - "src": "3998:12:20", + "scope": 10178, + "src": "3998:12:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -230854,10 +253314,10 @@ "typeString": "bool" }, "typeName": { - "id": 8250, + "id": 10131, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "3998:4:20", + "src": "3998:4:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -230867,13 +253327,13 @@ }, { "constant": false, - "id": 8253, + "id": 10134, "mutability": "mutable", "name": "result", - "nameLocation": "4025:6:20", + "nameLocation": "4025:6:35", "nodeType": "VariableDeclaration", - "scope": 8297, - "src": "4012:19:20", + "scope": 10178, + "src": "4012:19:35", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -230881,10 +253341,10 @@ "typeString": "bytes" }, "typeName": { - "id": 8252, + "id": 10133, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "4012:5:20", + "src": "4012:5:35", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -230893,16 +253353,16 @@ "visibility": "internal" } ], - "id": 8258, + "id": 10139, "initialValue": { "arguments": [ { - "id": 8256, + "id": 10137, "name": "factoryCalldata", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8230, - "src": "4055:15:20", + "referencedDeclaration": 10111, + "src": "4055:15:35", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -230917,32 +253377,32 @@ } ], "expression": { - "id": 8254, + "id": 10135, "name": "accountFactory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8228, - "src": "4035:14:20", + "referencedDeclaration": 10109, + "src": "4035:14:35", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 8255, + "id": 10136, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "4050:4:20", + "memberLocation": "4050:4:35", "memberName": "call", "nodeType": "MemberAccess", - "src": "4035:19:20", + "src": "4035:19:35", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 8257, + "id": 10138, "isConstant": false, "isLValue": false, "isPure": false, @@ -230951,7 +253411,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4035:36:20", + "src": "4035:36:35", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", @@ -230959,11 +253419,11 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "3997:74:20" + "src": "3997:74:35" }, { "condition": { - "id": 8260, + "id": 10141, "isConstant": false, "isLValue": false, "isPure": false, @@ -230971,14 +253431,14 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "4085:8:20", + "src": "4085:8:35", "subExpression": { - "id": 8259, + "id": 10140, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8251, - "src": "4086:7:20", + "referencedDeclaration": 10132, + "src": "4086:7:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -230989,31 +253449,31 @@ "typeString": "bool" } }, - "id": 8265, + "id": 10146, "nodeType": "IfStatement", - "src": "4081:71:20", + "src": "4081:71:35", "trueBody": { - "id": 8264, + "id": 10145, "nodeType": "Block", - "src": "4095:57:20", + "src": "4095:57:35", "statements": [ { "errorCall": { "arguments": [], "expression": { "argumentTypes": [], - "id": 8261, + "id": 10142, "name": "AccountDeploymentFailed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8189, - "src": "4116:23:20", + "referencedDeclaration": 10070, + "src": "4116:23:35", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$__$returns$_t_error_$", "typeString": "function () pure returns (error)" } }, - "id": 8262, + "id": 10143, "isConstant": false, "isLValue": false, "isPure": false, @@ -231022,34 +253482,34 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4116:25:20", + "src": "4116:25:35", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_error", "typeString": "error" } }, - "id": 8263, + "id": 10144, "nodeType": "RevertStatement", - "src": "4109:32:20" + "src": "4109:32:35" } ] } }, { "assignments": [ - 8267 + 10148 ], "declarations": [ { "constant": false, - "id": 8267, + "id": 10148, "mutability": "mutable", "name": "returnAddress", - "nameLocation": "4170:13:20", + "nameLocation": "4170:13:35", "nodeType": "VariableDeclaration", - "scope": 8297, - "src": "4162:21:20", + "scope": 10178, + "src": "4162:21:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -231057,10 +253517,10 @@ "typeString": "address" }, "typeName": { - "id": 8266, + "id": 10147, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4162:7:20", + "src": "4162:7:35", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -231070,16 +253530,16 @@ "visibility": "internal" } ], - "id": 8275, + "id": 10156, "initialValue": { "arguments": [ { - "id": 8270, + "id": 10151, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8253, - "src": "4197:6:20", + "referencedDeclaration": 10134, + "src": "4197:6:35", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -231088,34 +253548,34 @@ { "components": [ { - "id": 8272, + "id": 10153, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4206:7:20", + "src": "4206:7:35", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 8271, + "id": 10152, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4206:7:20", + "src": "4206:7:35", "typeDescriptions": {} } } ], - "id": 8273, + "id": 10154, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "4205:9:20", + "src": "4205:9:35", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -231134,32 +253594,32 @@ } ], "expression": { - "id": 8268, + "id": 10149, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "4186:3:20", + "src": "4186:3:35", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 8269, + "id": 10150, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "4190:6:20", + "memberLocation": "4190:6:35", "memberName": "decode", "nodeType": "MemberAccess", - "src": "4186:10:20", + "src": "4186:10:35", "typeDescriptions": { "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 8274, + "id": 10155, "isConstant": false, "isLValue": false, "isPure": false, @@ -231168,7 +253628,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4186:29:20", + "src": "4186:29:35", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -231176,7 +253636,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "4162:53:20" + "src": "4162:53:35" }, { "condition": { @@ -231184,18 +253644,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 8281, + "id": 10162, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 8276, + "id": 10157, "name": "returnAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8267, - "src": "4229:13:20", + "referencedDeclaration": 10148, + "src": "4229:13:35", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -231206,14 +253666,14 @@ "rightExpression": { "arguments": [ { - "id": 8279, + "id": 10160, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8224, - "src": "4254:7:20", + "referencedDeclaration": 10105, + "src": "4254:7:35", "typeDescriptions": { - "typeIdentifier": "t_contract$_GianoSmartWallet_$7506", + "typeIdentifier": "t_contract$_GianoSmartWallet_$9190", "typeString": "contract GianoSmartWallet" } } @@ -231221,30 +253681,30 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_GianoSmartWallet_$7506", + "typeIdentifier": "t_contract$_GianoSmartWallet_$9190", "typeString": "contract GianoSmartWallet" } ], - "id": 8278, + "id": 10159, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4246:7:20", + "src": "4246:7:35", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 8277, + "id": 10158, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4246:7:20", + "src": "4246:7:35", "typeDescriptions": {} } }, - "id": 8280, + "id": 10161, "isConstant": false, "isLValue": false, "isPure": false, @@ -231253,26 +253713,26 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4246:16:20", + "src": "4246:16:35", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "4229:33:20", + "src": "4229:33:35", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 8291, + "id": 10172, "nodeType": "IfStatement", - "src": "4225:138:20", + "src": "4225:138:35", "trueBody": { - "id": 8290, + "id": 10171, "nodeType": "Block", - "src": "4264:99:20", + "src": "4264:99:35", "statements": [ { "errorCall": { @@ -231280,14 +253740,14 @@ { "arguments": [ { - "id": 8285, + "id": 10166, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8224, - "src": "4328:7:20", + "referencedDeclaration": 10105, + "src": "4328:7:35", "typeDescriptions": { - "typeIdentifier": "t_contract$_GianoSmartWallet_$7506", + "typeIdentifier": "t_contract$_GianoSmartWallet_$9190", "typeString": "contract GianoSmartWallet" } } @@ -231295,30 +253755,30 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_GianoSmartWallet_$7506", + "typeIdentifier": "t_contract$_GianoSmartWallet_$9190", "typeString": "contract GianoSmartWallet" } ], - "id": 8284, + "id": 10165, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4320:7:20", + "src": "4320:7:35", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 8283, + "id": 10164, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4320:7:20", + "src": "4320:7:35", "typeDescriptions": {} } }, - "id": 8286, + "id": 10167, "isConstant": false, "isLValue": false, "isPure": false, @@ -231327,7 +253787,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4320:16:20", + "src": "4320:16:35", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -231335,12 +253795,12 @@ } }, { - "id": 8287, + "id": 10168, "name": "returnAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8267, - "src": "4338:13:20", + "referencedDeclaration": 10148, + "src": "4338:13:35", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -231358,18 +253818,18 @@ "typeString": "address" } ], - "id": 8282, + "id": 10163, "name": "ReturnedAddressDoesNotMatchAccount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8196, - "src": "4285:34:20", + "referencedDeclaration": 10077, + "src": "4285:34:35", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$_t_error_$", "typeString": "function (address,address) pure returns (error)" } }, - "id": 8288, + "id": 10169, "isConstant": false, "isLValue": false, "isPure": false, @@ -231378,16 +253838,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4285:67:20", + "src": "4285:67:35", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_error", "typeString": "error" } }, - "id": 8289, + "id": 10170, "nodeType": "RevertStatement", - "src": "4278:74:20" + "src": "4278:74:35" } ] } @@ -231396,12 +253856,12 @@ "expression": { "arguments": [ { - "id": 8294, + "id": 10175, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8226, - "src": "4474:4:20", + "referencedDeclaration": 10107, + "src": "4474:4:35", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -231416,33 +253876,33 @@ } ], "expression": { - "id": 8292, + "id": 10173, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8224, - "src": "4451:7:20", + "referencedDeclaration": 10105, + "src": "4451:7:35", "typeDescriptions": { - "typeIdentifier": "t_contract$_GianoSmartWallet_$7506", + "typeIdentifier": "t_contract$_GianoSmartWallet_$9190", "typeString": "contract GianoSmartWallet" } }, - "id": 8293, + "id": 10174, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "4459:14:20", + "memberLocation": "4459:14:35", "memberName": "replaySafeHash", "nodeType": "MemberAccess", - "referencedDeclaration": 6806, - "src": "4451:22:20", + "referencedDeclaration": 8420, + "src": "4451:22:35", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", "typeString": "function (bytes32) view external returns (bytes32)" } }, - "id": 8295, + "id": 10176, "isConstant": false, "isLValue": false, "isPure": false, @@ -231451,69 +253911,69 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4451:28:20", + "src": "4451:28:35", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 8234, - "id": 8296, + "functionReturnParameters": 10115, + "id": 10177, "nodeType": "Return", - "src": "4444:35:20" + "src": "4444:35:35" } ] }, "documentation": { - "id": 8221, + "id": 10102, "nodeType": "StructuredDocumentation", - "src": "2800:769:20", + "src": "2800:769:35", "text": "@notice Helper method to get a replay-safe hash from the given `account` by calling its `replaySafeHash()`\n method.\n @dev Deploys the account if not already deployed before calling `replaySafeHash` on it.\n @dev Implements ERC-6492, see https://eips.ethereum.org/EIPS/eip-6492.\n @param account The account that will receive the ERC-1271 `isValidSignature` call.\n @param hash The hash the wallet was asked to sign.\n @param accountFactory The factory that will be used to deploy the account (if not already deployed).\n @param factoryCalldata The calldata that will be used to deploy the account (if not already deployed).\n @return The replay-safe hash." }, - "id": 8298, + "id": 10179, "implemented": true, "kind": "function", "modifiers": [], "name": "_gianoSmartWallet1271Input", - "nameLocation": "3583:26:20", + "nameLocation": "3583:26:35", "nodeType": "FunctionDefinition", "parameters": { - "id": 8231, + "id": 10112, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8224, + "id": 10105, "mutability": "mutable", "name": "account", - "nameLocation": "3636:7:20", + "nameLocation": "3636:7:35", "nodeType": "VariableDeclaration", - "scope": 8298, - "src": "3619:24:20", + "scope": 10179, + "src": "3619:24:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_GianoSmartWallet_$7506", + "typeIdentifier": "t_contract$_GianoSmartWallet_$9190", "typeString": "contract GianoSmartWallet" }, "typeName": { - "id": 8223, + "id": 10104, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 8222, + "id": 10103, "name": "GianoSmartWallet", "nameLocations": [ - "3619:16:20" + "3619:16:35" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 7506, - "src": "3619:16:20" + "referencedDeclaration": 9190, + "src": "3619:16:35" }, - "referencedDeclaration": 7506, - "src": "3619:16:20", + "referencedDeclaration": 9190, + "src": "3619:16:35", "typeDescriptions": { - "typeIdentifier": "t_contract$_GianoSmartWallet_$7506", + "typeIdentifier": "t_contract$_GianoSmartWallet_$9190", "typeString": "contract GianoSmartWallet" } }, @@ -231521,13 +253981,13 @@ }, { "constant": false, - "id": 8226, + "id": 10107, "mutability": "mutable", "name": "hash", - "nameLocation": "3661:4:20", + "nameLocation": "3661:4:35", "nodeType": "VariableDeclaration", - "scope": 8298, - "src": "3653:12:20", + "scope": 10179, + "src": "3653:12:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -231535,10 +253995,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 8225, + "id": 10106, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3653:7:20", + "src": "3653:7:35", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -231548,13 +254008,13 @@ }, { "constant": false, - "id": 8228, + "id": 10109, "mutability": "mutable", "name": "accountFactory", - "nameLocation": "3683:14:20", + "nameLocation": "3683:14:35", "nodeType": "VariableDeclaration", - "scope": 8298, - "src": "3675:22:20", + "scope": 10179, + "src": "3675:22:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -231562,10 +254022,10 @@ "typeString": "address" }, "typeName": { - "id": 8227, + "id": 10108, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3675:7:20", + "src": "3675:7:35", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -231576,13 +254036,13 @@ }, { "constant": false, - "id": 8230, + "id": 10111, "mutability": "mutable", "name": "factoryCalldata", - "nameLocation": "3720:15:20", + "nameLocation": "3720:15:35", "nodeType": "VariableDeclaration", - "scope": 8298, - "src": "3707:28:20", + "scope": 10179, + "src": "3707:28:35", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -231590,10 +254050,10 @@ "typeString": "bytes" }, "typeName": { - "id": 8229, + "id": 10110, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "3707:5:20", + "src": "3707:5:35", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -231602,21 +254062,21 @@ "visibility": "internal" } ], - "src": "3609:132:20" + "src": "3609:132:35" }, "returnParameters": { - "id": 8234, + "id": 10115, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8233, + "id": 10114, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 8298, - "src": "3760:7:20", + "scope": 10179, + "src": "3760:7:35", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -231624,10 +254084,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 8232, + "id": 10113, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3760:7:20", + "src": "3760:7:35", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -231636,54 +254096,54 @@ "visibility": "internal" } ], - "src": "3759:9:20" + "src": "3759:9:35" }, - "scope": 8299, - "src": "3574:912:20", + "scope": 10180, + "src": "3574:912:35", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" } ], - "scope": 8300, - "src": "832:3656:20", + "scope": 10181, + "src": "832:3656:35", "usedErrors": [ - 8189, - 8196 + 10070, + 10077 ], "usedEvents": [] } ], - "src": "32:4457:20" + "src": "32:4457:35" }, - "id": 20 + "id": 35 }, "webauthn-sol/WebAuthn.sol": { "ast": { "absolutePath": "webauthn-sol/WebAuthn.sol", "exportedSymbols": { "Base64": [ - 2393 + 3999 ], "FCL_Elliptic_ZZ": [ - 2298 + 3904 ], "FCL_ecdsa": [ - 957 + 2563 ], "LibString": [ - 6134 + 7740 ], "WebAuthn": [ - 8558 + 10439 ] }, - "id": 8559, + "id": 10440, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 8301, + "id": 10182, "literals": [ "solidity", "^", @@ -231691,26 +254151,26 @@ ".0" ], "nodeType": "PragmaDirective", - "src": "32:23:21" + "src": "32:23:36" }, { "absolutePath": "FreshCryptoLib/FCL_ecdsa.sol", "file": "FreshCryptoLib/FCL_ecdsa.sol", - "id": 8303, + "id": 10184, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 8559, - "sourceUnit": 958, - "src": "57:55:21", + "scope": 10440, + "sourceUnit": 2564, + "src": "57:55:36", "symbolAliases": [ { "foreign": { - "id": 8302, + "id": 10183, "name": "FCL_ecdsa", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 957, - "src": "65:9:21", + "referencedDeclaration": 2563, + "src": "65:9:36", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -231721,21 +254181,21 @@ { "absolutePath": "FreshCryptoLib/FCL_elliptic.sol", "file": "FreshCryptoLib/FCL_elliptic.sol", - "id": 8305, + "id": 10186, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 8559, - "sourceUnit": 2299, - "src": "113:64:21", + "scope": 10440, + "sourceUnit": 3905, + "src": "113:64:36", "symbolAliases": [ { "foreign": { - "id": 8304, + "id": 10185, "name": "FCL_Elliptic_ZZ", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2298, - "src": "121:15:21", + "referencedDeclaration": 3904, + "src": "121:15:36", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -231746,21 +254206,21 @@ { "absolutePath": "openzeppelin-contracts/contracts/utils/Base64.sol", "file": "openzeppelin-contracts/contracts/utils/Base64.sol", - "id": 8307, + "id": 10188, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 8559, - "sourceUnit": 2394, - "src": "178:73:21", + "scope": 10440, + "sourceUnit": 4000, + "src": "178:73:36", "symbolAliases": [ { "foreign": { - "id": 8306, + "id": 10187, "name": "Base64", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2393, - "src": "186:6:21", + "referencedDeclaration": 3999, + "src": "186:6:36", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -231771,21 +254231,21 @@ { "absolutePath": "solady/utils/LibString.sol", "file": "solady/utils/LibString.sol", - "id": 8309, + "id": 10190, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 8559, - "sourceUnit": 6135, - "src": "252:53:21", + "scope": 10440, + "sourceUnit": 7741, + "src": "252:53:36", "symbolAliases": [ { "foreign": { - "id": 8308, + "id": 10189, "name": "LibString", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6134, - "src": "260:9:21", + "referencedDeclaration": 7740, + "src": "260:9:36", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -231800,40 +254260,40 @@ "contractDependencies": [], "contractKind": "library", "documentation": { - "id": 8310, + "id": 10191, "nodeType": "StructuredDocumentation", - "src": "307:454:21", + "src": "307:454:36", "text": "@title WebAuthn\n @notice A library for verifying WebAuthn Authentication Assertions, built off the work\n of Daimo.\n @dev Attempts to use the RIP-7212 precompile for signature verification.\n If precompile verification fails, it falls back to FreshCryptoLib.\n @author Coinbase (https://github.com/base-org/webauthn-sol)\n @author Daimo (https://github.com/daimo-eth/p256-verifier/blob/master/src/WebAuthn.sol)" }, "fullyImplemented": true, - "id": 8558, + "id": 10439, "linearizedBaseContracts": [ - 8558 + 10439 ], "name": "WebAuthn", - "nameLocation": "769:8:21", + "nameLocation": "769:8:36", "nodeType": "ContractDefinition", "nodes": [ { "global": false, - "id": 8313, + "id": 10194, "libraryName": { - "id": 8311, + "id": 10192, "name": "LibString", "nameLocations": [ - "790:9:21" + "790:9:36" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 6134, - "src": "790:9:21" + "referencedDeclaration": 7740, + "src": "790:9:36" }, "nodeType": "UsingForDirective", - "src": "784:27:21", + "src": "784:27:36", "typeName": { - "id": 8312, + "id": 10193, "name": "string", "nodeType": "ElementaryTypeName", - "src": "804:6:21", + "src": "804:6:36", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -231842,17 +254302,17 @@ }, { "canonicalName": "WebAuthn.WebAuthnAuth", - "id": 8332, + "id": 10213, "members": [ { "constant": false, - "id": 8316, + "id": 10197, "mutability": "mutable", "name": "authenticatorData", - "nameLocation": "1012:17:21", + "nameLocation": "1012:17:36", "nodeType": "VariableDeclaration", - "scope": 8332, - "src": "1006:23:21", + "scope": 10213, + "src": "1006:23:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -231860,10 +254320,10 @@ "typeString": "bytes" }, "typeName": { - "id": 8315, + "id": 10196, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1006:5:21", + "src": "1006:5:36", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -231873,13 +254333,13 @@ }, { "constant": false, - "id": 8319, + "id": 10200, "mutability": "mutable", "name": "clientDataJSON", - "nameLocation": "1191:14:21", + "nameLocation": "1191:14:36", "nodeType": "VariableDeclaration", - "scope": 8332, - "src": "1184:21:21", + "scope": 10213, + "src": "1184:21:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -231887,10 +254347,10 @@ "typeString": "string" }, "typeName": { - "id": 8318, + "id": 10199, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1184:6:21", + "src": "1184:6:36", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -231900,13 +254360,13 @@ }, { "constant": false, - "id": 8322, + "id": 10203, "mutability": "mutable", "name": "challengeIndex", - "nameLocation": "1305:14:21", + "nameLocation": "1305:14:36", "nodeType": "VariableDeclaration", - "scope": 8332, - "src": "1297:22:21", + "scope": 10213, + "src": "1297:22:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -231914,10 +254374,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8321, + "id": 10202, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1297:7:21", + "src": "1297:7:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -231927,13 +254387,13 @@ }, { "constant": false, - "id": 8325, + "id": 10206, "mutability": "mutable", "name": "typeIndex", - "nameLocation": "1414:9:21", + "nameLocation": "1414:9:36", "nodeType": "VariableDeclaration", - "scope": 8332, - "src": "1406:17:21", + "scope": 10213, + "src": "1406:17:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -231941,10 +254401,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8324, + "id": 10205, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1406:7:21", + "src": "1406:7:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -231954,13 +254414,13 @@ }, { "constant": false, - "id": 8328, + "id": 10209, "mutability": "mutable", "name": "r", - "nameLocation": "1493:1:21", + "nameLocation": "1493:1:36", "nodeType": "VariableDeclaration", - "scope": 8332, - "src": "1485:9:21", + "scope": 10213, + "src": "1485:9:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -231968,10 +254428,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8327, + "id": 10208, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1485:7:21", + "src": "1485:7:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -231981,13 +254441,13 @@ }, { "constant": false, - "id": 8331, + "id": 10212, "mutability": "mutable", "name": "s", - "nameLocation": "1564:1:21", + "nameLocation": "1564:1:36", "nodeType": "VariableDeclaration", - "scope": 8332, - "src": "1556:9:21", + "scope": 10213, + "src": "1556:9:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -231995,10 +254455,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8330, + "id": 10211, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1556:7:21", + "src": "1556:7:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -232008,27 +254468,27 @@ } ], "name": "WebAuthnAuth", - "nameLocation": "824:12:21", + "nameLocation": "824:12:36", "nodeType": "StructDefinition", - "scope": 8558, - "src": "817:755:21", + "scope": 10439, + "src": "817:755:36", "visibility": "public" }, { "constant": true, "documentation": { - "id": 8333, + "id": 10214, "nodeType": "StructuredDocumentation", - "src": "1578:147:21", + "src": "1578:147:36", "text": "@dev Bit 0 of the authenticator data struct, corresponding to the \"User Present\" bit.\n See https://www.w3.org/TR/webauthn-2/#flags." }, - "id": 8336, + "id": 10217, "mutability": "constant", "name": "_AUTH_DATA_FLAGS_UP", - "nameLocation": "1754:19:21", + "nameLocation": "1754:19:36", "nodeType": "VariableDeclaration", - "scope": 8558, - "src": "1730:50:21", + "scope": 10439, + "src": "1730:50:36", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -232036,10 +254496,10 @@ "typeString": "bytes1" }, "typeName": { - "id": 8334, + "id": 10215, "name": "bytes1", "nodeType": "ElementaryTypeName", - "src": "1730:6:21", + "src": "1730:6:36", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -232047,14 +254507,14 @@ }, "value": { "hexValue": "30783031", - "id": 8335, + "id": 10216, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1776:4:21", + "src": "1776:4:36", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -232066,18 +254526,18 @@ { "constant": true, "documentation": { - "id": 8337, + "id": 10218, "nodeType": "StructuredDocumentation", - "src": "1787:148:21", + "src": "1787:148:36", "text": "@dev Bit 2 of the authenticator data struct, corresponding to the \"User Verified\" bit.\n See https://www.w3.org/TR/webauthn-2/#flags." }, - "id": 8340, + "id": 10221, "mutability": "constant", "name": "_AUTH_DATA_FLAGS_UV", - "nameLocation": "1964:19:21", + "nameLocation": "1964:19:36", "nodeType": "VariableDeclaration", - "scope": 8558, - "src": "1940:50:21", + "scope": 10439, + "src": "1940:50:36", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -232085,10 +254545,10 @@ "typeString": "bytes1" }, "typeName": { - "id": 8338, + "id": 10219, "name": "bytes1", "nodeType": "ElementaryTypeName", - "src": "1940:6:21", + "src": "1940:6:36", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -232096,14 +254556,14 @@ }, "value": { "hexValue": "30783034", - "id": 8339, + "id": 10220, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1986:4:21", + "src": "1986:4:36", "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", "typeString": "int_const 4" @@ -232115,18 +254575,18 @@ { "constant": true, "documentation": { - "id": 8341, + "id": 10222, "nodeType": "StructuredDocumentation", - "src": "1997:89:21", + "src": "1997:89:36", "text": "@dev Secp256r1 curve order / 2 used as guard to prevent signature malleability issue." }, - "id": 8347, + "id": 10228, "mutability": "constant", "name": "_P256_N_DIV_2", - "nameLocation": "2116:13:21", + "nameLocation": "2116:13:36", "nodeType": "VariableDeclaration", - "scope": 8558, - "src": "2091:62:21", + "scope": 10439, + "src": "2091:62:36", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -232134,10 +254594,10 @@ "typeString": "uint256" }, "typeName": { - "id": 8342, + "id": 10223, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2091:7:21", + "src": "2091:7:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -232148,34 +254608,34 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8346, + "id": 10227, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "expression": { - "id": 8343, + "id": 10224, "name": "FCL_Elliptic_ZZ", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2298, - "src": "2132:15:21", + "referencedDeclaration": 3904, + "src": "2132:15:36", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2298_$", + "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$3904_$", "typeString": "type(library FCL_Elliptic_ZZ)" } }, - "id": 8344, + "id": 10225, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "2148:1:21", + "memberLocation": "2148:1:36", "memberName": "n", "nodeType": "MemberAccess", - "referencedDeclaration": 980, - "src": "2132:17:21", + "referencedDeclaration": 2586, + "src": "2132:17:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -232185,21 +254645,21 @@ "operator": "/", "rightExpression": { "hexValue": "32", - "id": 8345, + "id": 10226, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2152:1:21", + "src": "2152:1:36", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" }, "value": "2" }, - "src": "2132:21:21", + "src": "2132:21:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -232210,18 +254670,18 @@ { "constant": true, "documentation": { - "id": 8348, + "id": 10229, "nodeType": "StructuredDocumentation", - "src": "2160:194:21", + "src": "2160:194:36", "text": "@dev The precompiled contract address to use for signature verification in the “secp256r1” elliptic curve.\n See https://github.com/ethereum/RIPs/blob/master/RIPS/rip-7212.md." }, - "id": 8354, + "id": 10235, "mutability": "constant", "name": "_VERIFIER", - "nameLocation": "2384:9:21", + "nameLocation": "2384:9:36", "nodeType": "VariableDeclaration", - "scope": 8558, - "src": "2359:51:21", + "scope": 10439, + "src": "2359:51:36", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -232229,10 +254689,10 @@ "typeString": "address" }, "typeName": { - "id": 8349, + "id": 10230, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2359:7:21", + "src": "2359:7:36", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -232243,14 +254703,14 @@ "arguments": [ { "hexValue": "3078313030", - "id": 8352, + "id": 10233, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2404:5:21", + "src": "2404:5:36", "typeDescriptions": { "typeIdentifier": "t_rational_256_by_1", "typeString": "int_const 256" @@ -232265,26 +254725,26 @@ "typeString": "int_const 256" } ], - "id": 8351, + "id": 10232, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2396:7:21", + "src": "2396:7:36", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 8350, + "id": 10231, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2396:7:21", + "src": "2396:7:36", "typeDescriptions": {} } }, - "id": 8353, + "id": 10234, "isConstant": false, "isLValue": false, "isPure": true, @@ -232293,7 +254753,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2396:14:21", + "src": "2396:14:36", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -232305,18 +254765,18 @@ { "constant": true, "documentation": { - "id": 8355, + "id": 10236, "nodeType": "StructuredDocumentation", - "src": "2417:174:21", + "src": "2417:174:36", "text": "@dev The expected type (hash) in the client data JSON when verifying assertion signatures.\n See https://www.w3.org/TR/webauthn-2/#dom-collectedclientdata-type" }, - "id": 8360, + "id": 10241, "mutability": "constant", "name": "_EXPECTED_TYPE_HASH", - "nameLocation": "2621:19:21", + "nameLocation": "2621:19:36", "nodeType": "VariableDeclaration", - "scope": 8558, - "src": "2596:81:21", + "scope": 10439, + "src": "2596:81:36", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -232324,10 +254784,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 8356, + "id": 10237, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2596:7:21", + "src": "2596:7:36", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -232337,14 +254797,14 @@ "arguments": [ { "hexValue": "2274797065223a22776562617574686e2e67657422", - "id": 8358, + "id": 10239, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2653:23:21", + "src": "2653:23:36", "typeDescriptions": { "typeIdentifier": "t_stringliteral_ff1a2a9176d650e4a99dedb58f1793003935130579fe17b5a3f698ac5b00e634", "typeString": "literal_string \"\"type\":\"webauthn.get\"\"" @@ -232359,18 +254819,18 @@ "typeString": "literal_string \"\"type\":\"webauthn.get\"\"" } ], - "id": 8357, + "id": 10238, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "2643:9:21", + "src": "2643:9:36", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 8359, + "id": 10240, "isConstant": false, "isLValue": false, "isPure": true, @@ -232379,7 +254839,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2643:34:21", + "src": "2643:34:36", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -232390,9 +254850,9 @@ }, { "body": { - "id": 8556, + "id": 10437, "nodeType": "Block", - "src": "6852:2753:21", + "src": "6880:2765:36", "statements": [ { "condition": { @@ -232400,34 +254860,34 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8380, + "id": 10261, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 8377, + "id": 10258, "name": "webAuthnAuth", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8368, - "src": "6866:12:21", + "referencedDeclaration": 10249, + "src": "6894:12:36", "typeDescriptions": { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8332_memory_ptr", + "typeIdentifier": "t_struct$_WebAuthnAuth_$10213_memory_ptr", "typeString": "struct WebAuthn.WebAuthnAuth memory" } }, - "id": 8378, + "id": 10259, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "6879:1:21", + "memberLocation": "6907:1:36", "memberName": "s", "nodeType": "MemberAccess", - "referencedDeclaration": 8331, - "src": "6866:14:21", + "referencedDeclaration": 10212, + "src": "6894:14:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -232436,70 +254896,70 @@ "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { - "id": 8379, + "id": 10260, "name": "_P256_N_DIV_2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8347, - "src": "6883:13:21", + "referencedDeclaration": 10228, + "src": "6911:13:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6866:30:21", + "src": "6894:30:36", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 8384, + "id": 10265, "nodeType": "IfStatement", - "src": "6862:125:21", + "src": "6890:125:36", "trueBody": { - "id": 8383, + "id": 10264, "nodeType": "Block", - "src": "6898:89:21", + "src": "6926:89:36", "statements": [ { "expression": { "hexValue": "66616c7365", - "id": 8381, + "id": 10262, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "6971:5:21", + "src": "6999:5:36", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, - "functionReturnParameters": 8376, - "id": 8382, + "functionReturnParameters": 10257, + "id": 10263, "nodeType": "Return", - "src": "6964:12:21" + "src": "6992:12:36" } ] } }, { "assignments": [ - 8386 + 10267 ], "declarations": [ { "constant": false, - "id": 8386, + "id": 10267, "mutability": "mutable", "name": "_type", - "nameLocation": "7142:5:21", + "nameLocation": "7170:5:36", "nodeType": "VariableDeclaration", - "scope": 8556, - "src": "7128:19:21", + "scope": 10437, + "src": "7156:19:36", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -232507,10 +254967,10 @@ "typeString": "string" }, "typeName": { - "id": 8385, + "id": 10266, "name": "string", "nodeType": "ElementaryTypeName", - "src": "7128:6:21", + "src": "7156:6:36", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -232519,32 +254979,32 @@ "visibility": "internal" } ], - "id": 8397, + "id": 10278, "initialValue": { "arguments": [ { "expression": { - "id": 8390, + "id": 10271, "name": "webAuthnAuth", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8368, - "src": "7184:12:21", + "referencedDeclaration": 10249, + "src": "7212:12:36", "typeDescriptions": { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8332_memory_ptr", + "typeIdentifier": "t_struct$_WebAuthnAuth_$10213_memory_ptr", "typeString": "struct WebAuthn.WebAuthnAuth memory" } }, - "id": 8391, + "id": 10272, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "7197:9:21", + "memberLocation": "7225:9:36", "memberName": "typeIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 8325, - "src": "7184:22:21", + "referencedDeclaration": 10206, + "src": "7212:22:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -232555,34 +255015,34 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8395, + "id": 10276, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 8392, + "id": 10273, "name": "webAuthnAuth", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8368, - "src": "7208:12:21", + "referencedDeclaration": 10249, + "src": "7236:12:36", "typeDescriptions": { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8332_memory_ptr", + "typeIdentifier": "t_struct$_WebAuthnAuth_$10213_memory_ptr", "typeString": "struct WebAuthn.WebAuthnAuth memory" } }, - "id": 8393, + "id": 10274, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "7221:9:21", + "memberLocation": "7249:9:36", "memberName": "typeIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 8325, - "src": "7208:22:21", + "referencedDeclaration": 10206, + "src": "7236:22:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -232592,21 +255052,21 @@ "operator": "+", "rightExpression": { "hexValue": "3231", - "id": 8394, + "id": 10275, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7233:2:21", + "src": "7261:2:36", "typeDescriptions": { "typeIdentifier": "t_rational_21_by_1", "typeString": "int_const 21" }, "value": "21" }, - "src": "7208:27:21", + "src": "7236:27:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -232626,48 +255086,48 @@ ], "expression": { "expression": { - "id": 8387, + "id": 10268, "name": "webAuthnAuth", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8368, - "src": "7150:12:21", + "referencedDeclaration": 10249, + "src": "7178:12:36", "typeDescriptions": { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8332_memory_ptr", + "typeIdentifier": "t_struct$_WebAuthnAuth_$10213_memory_ptr", "typeString": "struct WebAuthn.WebAuthnAuth memory" } }, - "id": 8388, + "id": 10269, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "7163:14:21", + "memberLocation": "7191:14:36", "memberName": "clientDataJSON", "nodeType": "MemberAccess", - "referencedDeclaration": 8319, - "src": "7150:27:21", + "referencedDeclaration": 10200, + "src": "7178:27:36", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 8389, + "id": 10270, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "7178:5:21", + "memberLocation": "7206:5:36", "memberName": "slice", "nodeType": "MemberAccess", - "referencedDeclaration": 5804, - "src": "7150:33:21", + "referencedDeclaration": 7410, + "src": "7178:33:36", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$attached_to$_t_string_memory_ptr_$", "typeString": "function (string memory,uint256,uint256) pure returns (string memory)" } }, - "id": 8396, + "id": 10277, "isConstant": false, "isLValue": false, "isPure": false, @@ -232676,7 +255136,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7150:86:21", + "src": "7178:86:36", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -232684,7 +255144,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "7128:108:21" + "src": "7156:108:36" }, { "condition": { @@ -232692,7 +255152,7 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 8405, + "id": 10286, "isConstant": false, "isLValue": false, "isPure": false, @@ -232702,12 +255162,12 @@ { "arguments": [ { - "id": 8401, + "id": 10282, "name": "_type", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8386, - "src": "7266:5:21", + "referencedDeclaration": 10267, + "src": "7294:5:36", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -232721,26 +255181,26 @@ "typeString": "string memory" } ], - "id": 8400, + "id": 10281, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7260:5:21", + "src": "7288:5:36", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 8399, + "id": 10280, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "7260:5:21", + "src": "7288:5:36", "typeDescriptions": {} } }, - "id": 8402, + "id": 10283, "isConstant": false, "isLValue": false, "isPure": false, @@ -232749,7 +255209,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7260:12:21", + "src": "7288:12:36", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -232764,18 +255224,18 @@ "typeString": "bytes memory" } ], - "id": 8398, + "id": 10279, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "7250:9:21", + "src": "7278:9:36", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 8403, + "id": 10284, "isConstant": false, "isLValue": false, "isPure": false, @@ -232784,7 +255244,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7250:23:21", + "src": "7278:23:36", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -232794,70 +255254,70 @@ "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { - "id": 8404, + "id": 10285, "name": "_EXPECTED_TYPE_HASH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8360, - "src": "7277:19:21", + "referencedDeclaration": 10241, + "src": "7305:19:36", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "7250:46:21", + "src": "7278:46:36", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 8409, + "id": 10290, "nodeType": "IfStatement", - "src": "7246:89:21", + "src": "7274:89:36", "trueBody": { - "id": 8408, + "id": 10289, "nodeType": "Block", - "src": "7298:37:21", + "src": "7326:37:36", "statements": [ { "expression": { "hexValue": "66616c7365", - "id": 8406, + "id": 10287, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "7319:5:21", + "src": "7347:5:36", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, - "functionReturnParameters": 8376, - "id": 8407, + "functionReturnParameters": 10257, + "id": 10288, "nodeType": "Return", - "src": "7312:12:21" + "src": "7340:12:36" } ] } }, { "assignments": [ - 8411 + 10292 ], "declarations": [ { "constant": false, - "id": 8411, + "id": 10292, "mutability": "mutable", "name": "expectedChallenge", - "nameLocation": "7462:17:21", + "nameLocation": "7490:17:36", "nodeType": "VariableDeclaration", - "scope": 8556, - "src": "7449:30:21", + "scope": 10437, + "src": "7477:30:36", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -232865,10 +255325,10 @@ "typeString": "bytes" }, "typeName": { - "id": 8410, + "id": 10291, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "7449:5:21", + "src": "7477:5:36", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -232877,21 +255337,21 @@ "visibility": "internal" } ], - "id": 8425, + "id": 10306, "initialValue": { "arguments": [ { "arguments": [ { "hexValue": "226368616c6c656e6765223a22", - "id": 8417, + "id": 10298, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7502:15:21", + "src": "7530:15:36", "typeDescriptions": { "typeIdentifier": "t_stringliteral_113c04afa71755a4031625b892f63ab93216801f92d9b727f651dde51622cc9b", "typeString": "literal_string \"\"challenge\":\"\"" @@ -232901,12 +255361,12 @@ { "arguments": [ { - "id": 8420, + "id": 10301, "name": "challenge", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8363, - "src": "7536:9:21", + "referencedDeclaration": 10244, + "src": "7564:9:36", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -232921,33 +255381,33 @@ } ], "expression": { - "id": 8418, + "id": 10299, "name": "Base64", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2393, - "src": "7519:6:21", + "referencedDeclaration": 3999, + "src": "7547:6:36", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Base64_$2393_$", + "typeIdentifier": "t_type$_t_contract$_Base64_$3999_$", "typeString": "type(library Base64)" } }, - "id": 8419, + "id": 10300, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "7526:9:21", + "memberLocation": "7554:9:36", "memberName": "encodeURL", "nodeType": "MemberAccess", - "referencedDeclaration": 2338, - "src": "7519:16:21", + "referencedDeclaration": 3944, + "src": "7547:16:36", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (bytes memory) pure returns (string memory)" } }, - "id": 8421, + "id": 10302, "isConstant": false, "isLValue": false, "isPure": false, @@ -232956,7 +255416,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7519:27:21", + "src": "7547:27:36", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -232965,14 +255425,14 @@ }, { "hexValue": "22", - "id": 8422, + "id": 10303, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7548:3:21", + "src": "7576:3:36", "typeDescriptions": { "typeIdentifier": "t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0", "typeString": "literal_string \"\"\"" @@ -232996,40 +255456,40 @@ } ], "expression": { - "id": 8415, + "id": 10296, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7488:6:21", + "src": "7516:6:36", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { - "id": 8414, + "id": 10295, "name": "string", "nodeType": "ElementaryTypeName", - "src": "7488:6:21", + "src": "7516:6:36", "typeDescriptions": {} } }, - "id": 8416, + "id": 10297, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "7495:6:21", + "memberLocation": "7523:6:36", "memberName": "concat", "nodeType": "MemberAccess", - "src": "7488:13:21", + "src": "7516:13:36", "typeDescriptions": { "typeIdentifier": "t_function_stringconcat_pure$__$returns$_t_string_memory_ptr_$", "typeString": "function () pure returns (string memory)" } }, - "id": 8423, + "id": 10304, "isConstant": false, "isLValue": false, "isPure": false, @@ -233038,7 +255498,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7488:64:21", + "src": "7516:64:36", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -233053,26 +255513,26 @@ "typeString": "string memory" } ], - "id": 8413, + "id": 10294, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7482:5:21", + "src": "7510:5:36", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 8412, + "id": 10293, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "7482:5:21", + "src": "7510:5:36", "typeDescriptions": {} } }, - "id": 8424, + "id": 10305, "isConstant": false, "isLValue": false, "isPure": false, @@ -233081,7 +255541,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7482:71:21", + "src": "7510:71:36", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -233089,22 +255549,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "7449:104:21" + "src": "7477:104:36" }, { "assignments": [ - 8427 + 10308 ], "declarations": [ { "constant": false, - "id": 8427, + "id": 10308, "mutability": "mutable", "name": "actualChallenge", - "nameLocation": "7577:15:21", + "nameLocation": "7605:15:36", "nodeType": "VariableDeclaration", - "scope": 8556, - "src": "7563:29:21", + "scope": 10437, + "src": "7591:29:36", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -233112,10 +255572,10 @@ "typeString": "string" }, "typeName": { - "id": 8426, + "id": 10307, "name": "string", "nodeType": "ElementaryTypeName", - "src": "7563:6:21", + "src": "7591:6:36", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -233124,32 +255584,32 @@ "visibility": "internal" } ], - "id": 8439, + "id": 10320, "initialValue": { "arguments": [ { "expression": { - "id": 8431, + "id": 10312, "name": "webAuthnAuth", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8368, - "src": "7629:12:21", + "referencedDeclaration": 10249, + "src": "7669:12:36", "typeDescriptions": { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8332_memory_ptr", + "typeIdentifier": "t_struct$_WebAuthnAuth_$10213_memory_ptr", "typeString": "struct WebAuthn.WebAuthnAuth memory" } }, - "id": 8432, + "id": 10313, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "7642:14:21", + "memberLocation": "7682:14:36", "memberName": "challengeIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 8322, - "src": "7629:27:21", + "referencedDeclaration": 10203, + "src": "7669:27:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -233160,34 +255620,34 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8437, + "id": 10318, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 8433, + "id": 10314, "name": "webAuthnAuth", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8368, - "src": "7658:12:21", + "referencedDeclaration": 10249, + "src": "7698:12:36", "typeDescriptions": { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8332_memory_ptr", + "typeIdentifier": "t_struct$_WebAuthnAuth_$10213_memory_ptr", "typeString": "struct WebAuthn.WebAuthnAuth memory" } }, - "id": 8434, + "id": 10315, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "7671:14:21", + "memberLocation": "7711:14:36", "memberName": "challengeIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 8322, - "src": "7658:27:21", + "referencedDeclaration": 10203, + "src": "7698:27:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -233197,32 +255657,32 @@ "operator": "+", "rightExpression": { "expression": { - "id": 8435, + "id": 10316, "name": "expectedChallenge", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8411, - "src": "7688:17:21", + "referencedDeclaration": 10292, + "src": "7728:17:36", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 8436, + "id": 10317, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "7706:6:21", + "memberLocation": "7746:6:36", "memberName": "length", "nodeType": "MemberAccess", - "src": "7688:24:21", + "src": "7728:24:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7658:54:21", + "src": "7698:54:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -233242,48 +255702,48 @@ ], "expression": { "expression": { - "id": 8428, + "id": 10309, "name": "webAuthnAuth", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8368, - "src": "7595:12:21", + "referencedDeclaration": 10249, + "src": "7635:12:36", "typeDescriptions": { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8332_memory_ptr", + "typeIdentifier": "t_struct$_WebAuthnAuth_$10213_memory_ptr", "typeString": "struct WebAuthn.WebAuthnAuth memory" } }, - "id": 8429, + "id": 10310, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "7608:14:21", + "memberLocation": "7648:14:36", "memberName": "clientDataJSON", "nodeType": "MemberAccess", - "referencedDeclaration": 8319, - "src": "7595:27:21", + "referencedDeclaration": 10200, + "src": "7635:27:36", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 8430, + "id": 10311, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "7623:5:21", + "memberLocation": "7663:5:36", "memberName": "slice", "nodeType": "MemberAccess", - "referencedDeclaration": 5804, - "src": "7595:33:21", + "referencedDeclaration": 7410, + "src": "7635:33:36", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$attached_to$_t_string_memory_ptr_$", "typeString": "function (string memory,uint256,uint256) pure returns (string memory)" } }, - "id": 8438, + "id": 10319, "isConstant": false, "isLValue": false, "isPure": false, @@ -233292,7 +255752,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7595:118:21", + "src": "7635:118:36", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -233300,7 +255760,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "7563:150:21" + "src": "7591:162:36" }, { "condition": { @@ -233308,7 +255768,7 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 8449, + "id": 10330, "isConstant": false, "isLValue": false, "isPure": false, @@ -233318,12 +255778,12 @@ { "arguments": [ { - "id": 8443, + "id": 10324, "name": "actualChallenge", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8427, - "src": "7743:15:21", + "referencedDeclaration": 10308, + "src": "7783:15:36", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -233337,26 +255797,26 @@ "typeString": "string memory" } ], - "id": 8442, + "id": 10323, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7737:5:21", + "src": "7777:5:36", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 8441, + "id": 10322, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "7737:5:21", + "src": "7777:5:36", "typeDescriptions": {} } }, - "id": 8444, + "id": 10325, "isConstant": false, "isLValue": false, "isPure": false, @@ -233365,7 +255825,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7737:22:21", + "src": "7777:22:36", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -233380,18 +255840,18 @@ "typeString": "bytes memory" } ], - "id": 8440, + "id": 10321, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "7727:9:21", + "src": "7767:9:36", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 8445, + "id": 10326, "isConstant": false, "isLValue": false, "isPure": false, @@ -233400,7 +255860,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7727:33:21", + "src": "7767:33:36", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -233412,12 +255872,12 @@ "rightExpression": { "arguments": [ { - "id": 8447, + "id": 10328, "name": "expectedChallenge", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8411, - "src": "7774:17:21", + "referencedDeclaration": 10292, + "src": "7814:17:36", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -233431,18 +255891,18 @@ "typeString": "bytes memory" } ], - "id": 8446, + "id": 10327, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "7764:9:21", + "src": "7804:9:36", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 8448, + "id": 10329, "isConstant": false, "isLValue": false, "isPure": false, @@ -233451,48 +255911,48 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7764:28:21", + "src": "7804:28:36", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "7727:65:21", + "src": "7767:65:36", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 8453, + "id": 10334, "nodeType": "IfStatement", - "src": "7723:108:21", + "src": "7763:108:36", "trueBody": { - "id": 8452, + "id": 10333, "nodeType": "Block", - "src": "7794:37:21", + "src": "7834:37:36", "statements": [ { "expression": { "hexValue": "66616c7365", - "id": 8450, + "id": 10331, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "7815:5:21", + "src": "7855:5:36", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, - "functionReturnParameters": 8376, - "id": 8451, + "functionReturnParameters": 10257, + "id": 10332, "nodeType": "Return", - "src": "7808:12:21" + "src": "7848:12:36" } ] } @@ -233503,7 +255963,7 @@ "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, - "id": 8461, + "id": 10342, "isConstant": false, "isLValue": false, "isPure": false, @@ -233513,7 +255973,7 @@ "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, - "id": 8459, + "id": 10340, "isConstant": false, "isLValue": false, "isPure": false, @@ -233521,43 +255981,43 @@ "leftExpression": { "baseExpression": { "expression": { - "id": 8454, + "id": 10335, "name": "webAuthnAuth", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8368, - "src": "7947:12:21", + "referencedDeclaration": 10249, + "src": "7987:12:36", "typeDescriptions": { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8332_memory_ptr", + "typeIdentifier": "t_struct$_WebAuthnAuth_$10213_memory_ptr", "typeString": "struct WebAuthn.WebAuthnAuth memory" } }, - "id": 8455, + "id": 10336, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "7960:17:21", + "memberLocation": "8000:17:36", "memberName": "authenticatorData", "nodeType": "MemberAccess", - "referencedDeclaration": 8316, - "src": "7947:30:21", + "referencedDeclaration": 10197, + "src": "7987:30:36", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 8457, + "id": 10338, "indexExpression": { "hexValue": "3332", - "id": 8456, + "id": 10337, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7978:2:21", + "src": "8018:2:36", "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" @@ -233569,7 +256029,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7947:34:21", + "src": "7987:34:36", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -233578,18 +256038,18 @@ "nodeType": "BinaryOperation", "operator": "&", "rightExpression": { - "id": 8458, + "id": 10339, "name": "_AUTH_DATA_FLAGS_UP", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8336, - "src": "7984:19:21", + "referencedDeclaration": 10217, + "src": "8024:19:36", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, - "src": "7947:56:21", + "src": "7987:56:36", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -233598,52 +256058,52 @@ "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { - "id": 8460, + "id": 10341, "name": "_AUTH_DATA_FLAGS_UP", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8336, - "src": "8007:19:21", + "referencedDeclaration": 10217, + "src": "8047:19:36", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, - "src": "7947:79:21", + "src": "7987:79:36", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 8465, + "id": 10346, "nodeType": "IfStatement", - "src": "7943:122:21", + "src": "7983:122:36", "trueBody": { - "id": 8464, + "id": 10345, "nodeType": "Block", - "src": "8028:37:21", + "src": "8068:37:36", "statements": [ { "expression": { "hexValue": "66616c7365", - "id": 8462, + "id": 10343, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "8049:5:21", + "src": "8089:5:36", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, - "functionReturnParameters": 8376, - "id": 8463, + "functionReturnParameters": 10257, + "id": 10344, "nodeType": "Return", - "src": "8042:12:21" + "src": "8082:12:36" } ] } @@ -233654,18 +256114,18 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 8476, + "id": 10357, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 8466, + "id": 10347, "name": "requireUV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8365, - "src": "8229:9:21", + "referencedDeclaration": 10246, + "src": "8269:9:36", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -233678,7 +256138,7 @@ "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, - "id": 8475, + "id": 10356, "isConstant": false, "isLValue": false, "isPure": false, @@ -233690,7 +256150,7 @@ "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, - "id": 8472, + "id": 10353, "isConstant": false, "isLValue": false, "isPure": false, @@ -233698,43 +256158,43 @@ "leftExpression": { "baseExpression": { "expression": { - "id": 8467, + "id": 10348, "name": "webAuthnAuth", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8368, - "src": "8243:12:21", + "referencedDeclaration": 10249, + "src": "8283:12:36", "typeDescriptions": { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8332_memory_ptr", + "typeIdentifier": "t_struct$_WebAuthnAuth_$10213_memory_ptr", "typeString": "struct WebAuthn.WebAuthnAuth memory" } }, - "id": 8468, + "id": 10349, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "8256:17:21", + "memberLocation": "8296:17:36", "memberName": "authenticatorData", "nodeType": "MemberAccess", - "referencedDeclaration": 8316, - "src": "8243:30:21", + "referencedDeclaration": 10197, + "src": "8283:30:36", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 8470, + "id": 10351, "indexExpression": { "hexValue": "3332", - "id": 8469, + "id": 10350, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8274:2:21", + "src": "8314:2:36", "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" @@ -233746,7 +256206,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8243:34:21", + "src": "8283:34:36", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -233755,32 +256215,32 @@ "nodeType": "BinaryOperation", "operator": "&", "rightExpression": { - "id": 8471, + "id": 10352, "name": "_AUTH_DATA_FLAGS_UV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8340, - "src": "8280:19:21", + "referencedDeclaration": 10221, + "src": "8320:19:36", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, - "src": "8243:56:21", + "src": "8283:56:36", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } } ], - "id": 8473, + "id": 10354, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "8242:58:21", + "src": "8282:58:36", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -233789,76 +256249,76 @@ "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { - "id": 8474, + "id": 10355, "name": "_AUTH_DATA_FLAGS_UV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8340, - "src": "8304:19:21", + "referencedDeclaration": 10221, + "src": "8344:19:36", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, - "src": "8242:81:21", + "src": "8282:81:36", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "8229:94:21", + "src": "8269:94:36", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 8480, + "id": 10361, "nodeType": "IfStatement", - "src": "8225:137:21", + "src": "8265:137:36", "trueBody": { - "id": 8479, + "id": 10360, "nodeType": "Block", - "src": "8325:37:21", + "src": "8365:37:36", "statements": [ { "expression": { "hexValue": "66616c7365", - "id": 8477, + "id": 10358, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "8346:5:21", + "src": "8386:5:36", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, - "functionReturnParameters": 8376, - "id": 8478, + "functionReturnParameters": 10257, + "id": 10359, "nodeType": "Return", - "src": "8339:12:21" + "src": "8379:12:36" } ] } }, { "assignments": [ - 8482 + 10363 ], "declarations": [ { "constant": false, - "id": 8482, + "id": 10363, "mutability": "mutable", "name": "clientDataJSONHash", - "nameLocation": "8489:18:21", + "nameLocation": "8529:18:36", "nodeType": "VariableDeclaration", - "scope": 8556, - "src": "8481:26:21", + "scope": 10437, + "src": "8521:26:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -233866,10 +256326,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 8481, + "id": 10362, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8481:7:21", + "src": "8521:7:36", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -233878,34 +256338,34 @@ "visibility": "internal" } ], - "id": 8490, + "id": 10371, "initialValue": { "arguments": [ { "arguments": [ { "expression": { - "id": 8486, + "id": 10367, "name": "webAuthnAuth", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8368, - "src": "8523:12:21", + "referencedDeclaration": 10249, + "src": "8563:12:36", "typeDescriptions": { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8332_memory_ptr", + "typeIdentifier": "t_struct$_WebAuthnAuth_$10213_memory_ptr", "typeString": "struct WebAuthn.WebAuthnAuth memory" } }, - "id": 8487, + "id": 10368, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "8536:14:21", + "memberLocation": "8576:14:36", "memberName": "clientDataJSON", "nodeType": "MemberAccess", - "referencedDeclaration": 8319, - "src": "8523:27:21", + "referencedDeclaration": 10200, + "src": "8563:27:36", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -233919,26 +256379,26 @@ "typeString": "string memory" } ], - "id": 8485, + "id": 10366, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "8517:5:21", + "src": "8557:5:36", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 8484, + "id": 10365, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "8517:5:21", + "src": "8557:5:36", "typeDescriptions": {} } }, - "id": 8488, + "id": 10369, "isConstant": false, "isLValue": false, "isPure": false, @@ -233947,7 +256407,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8517:34:21", + "src": "8557:34:36", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -233962,18 +256422,18 @@ "typeString": "bytes memory" } ], - "id": 8483, + "id": 10364, "name": "sha256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -22, - "src": "8510:6:21", + "src": "8550:6:36", "typeDescriptions": { "typeIdentifier": "t_function_sha256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 8489, + "id": 10370, "isConstant": false, "isLValue": false, "isPure": false, @@ -233982,7 +256442,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8510:42:21", + "src": "8550:42:36", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -233990,22 +256450,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "8481:71:21" + "src": "8521:71:36" }, { "assignments": [ - 8492 + 10373 ], "declarations": [ { "constant": false, - "id": 8492, + "id": 10373, "mutability": "mutable", "name": "messageHash", - "nameLocation": "8717:11:21", + "nameLocation": "8757:11:36", "nodeType": "VariableDeclaration", - "scope": 8556, - "src": "8709:19:21", + "scope": 10437, + "src": "8749:19:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -234013,10 +256473,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 8491, + "id": 10372, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8709:7:21", + "src": "8749:7:36", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -234025,46 +256485,46 @@ "visibility": "internal" } ], - "id": 8501, + "id": 10382, "initialValue": { "arguments": [ { "arguments": [ { "expression": { - "id": 8496, + "id": 10377, "name": "webAuthnAuth", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8368, - "src": "8755:12:21", + "referencedDeclaration": 10249, + "src": "8795:12:36", "typeDescriptions": { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8332_memory_ptr", + "typeIdentifier": "t_struct$_WebAuthnAuth_$10213_memory_ptr", "typeString": "struct WebAuthn.WebAuthnAuth memory" } }, - "id": 8497, + "id": 10378, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "8768:17:21", + "memberLocation": "8808:17:36", "memberName": "authenticatorData", "nodeType": "MemberAccess", - "referencedDeclaration": 8316, - "src": "8755:30:21", + "referencedDeclaration": 10197, + "src": "8795:30:36", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { - "id": 8498, + "id": 10379, "name": "clientDataJSONHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8482, - "src": "8787:18:21", + "referencedDeclaration": 10363, + "src": "8827:18:36", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -234083,32 +256543,32 @@ } ], "expression": { - "id": 8494, + "id": 10375, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "8738:3:21", + "src": "8778:3:36", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 8495, + "id": 10376, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "8742:12:21", + "memberLocation": "8782:12:36", "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "8738:16:21", + "src": "8778:16:36", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 8499, + "id": 10380, "isConstant": false, "isLValue": false, "isPure": false, @@ -234117,7 +256577,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8738:68:21", + "src": "8778:68:36", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -234132,18 +256592,18 @@ "typeString": "bytes memory" } ], - "id": 8493, + "id": 10374, "name": "sha256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -22, - "src": "8731:6:21", + "src": "8771:6:36", "typeDescriptions": { "typeIdentifier": "t_function_sha256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 8500, + "id": 10381, "isConstant": false, "isLValue": false, "isPure": false, @@ -234152,7 +256612,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8731:76:21", + "src": "8771:76:36", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -234160,22 +256620,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "8709:98:21" + "src": "8749:98:36" }, { "assignments": [ - 8503 + 10384 ], "declarations": [ { "constant": false, - "id": 8503, + "id": 10384, "mutability": "mutable", "name": "args", - "nameLocation": "8830:4:21", + "nameLocation": "8870:4:36", "nodeType": "VariableDeclaration", - "scope": 8556, - "src": "8817:17:21", + "scope": 10437, + "src": "8857:17:36", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -234183,10 +256643,10 @@ "typeString": "bytes" }, "typeName": { - "id": 8502, + "id": 10383, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "8817:5:21", + "src": "8857:5:36", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -234195,16 +256655,16 @@ "visibility": "internal" } ], - "id": 8514, + "id": 10395, "initialValue": { "arguments": [ { - "id": 8506, + "id": 10387, "name": "messageHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8492, - "src": "8848:11:21", + "referencedDeclaration": 10373, + "src": "8888:11:36", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -234212,27 +256672,27 @@ }, { "expression": { - "id": 8507, + "id": 10388, "name": "webAuthnAuth", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8368, - "src": "8861:12:21", + "referencedDeclaration": 10249, + "src": "8901:12:36", "typeDescriptions": { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8332_memory_ptr", + "typeIdentifier": "t_struct$_WebAuthnAuth_$10213_memory_ptr", "typeString": "struct WebAuthn.WebAuthnAuth memory" } }, - "id": 8508, + "id": 10389, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "8874:1:21", + "memberLocation": "8914:1:36", "memberName": "r", "nodeType": "MemberAccess", - "referencedDeclaration": 8328, - "src": "8861:14:21", + "referencedDeclaration": 10209, + "src": "8901:14:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -234240,51 +256700,51 @@ }, { "expression": { - "id": 8509, + "id": 10390, "name": "webAuthnAuth", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8368, - "src": "8877:12:21", + "referencedDeclaration": 10249, + "src": "8917:12:36", "typeDescriptions": { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8332_memory_ptr", + "typeIdentifier": "t_struct$_WebAuthnAuth_$10213_memory_ptr", "typeString": "struct WebAuthn.WebAuthnAuth memory" } }, - "id": 8510, + "id": 10391, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "8890:1:21", + "memberLocation": "8930:1:36", "memberName": "s", "nodeType": "MemberAccess", - "referencedDeclaration": 8331, - "src": "8877:14:21", + "referencedDeclaration": 10212, + "src": "8917:14:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 8511, + "id": 10392, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8370, - "src": "8893:1:21", + "referencedDeclaration": 10251, + "src": "8933:1:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 8512, + "id": 10393, "name": "y", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8372, - "src": "8896:1:21", + "referencedDeclaration": 10253, + "src": "8936:1:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -234315,32 +256775,32 @@ } ], "expression": { - "id": 8504, + "id": 10385, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "8837:3:21", + "src": "8877:3:36", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 8505, + "id": 10386, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "8841:6:21", + "memberLocation": "8881:6:36", "memberName": "encode", "nodeType": "MemberAccess", - "src": "8837:10:21", + "src": "8877:10:36", "typeDescriptions": { "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 8513, + "id": 10394, "isConstant": false, "isLValue": false, "isPure": false, @@ -234349,7 +256809,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8837:61:21", + "src": "8877:61:36", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -234357,23 +256817,23 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "8817:81:21" + "src": "8857:81:36" }, { "assignments": [ - 8516, - 8518 + 10397, + 10399 ], "declarations": [ { "constant": false, - "id": 8516, + "id": 10397, "mutability": "mutable", "name": "success", - "nameLocation": "8961:7:21", + "nameLocation": "9001:7:36", "nodeType": "VariableDeclaration", - "scope": 8556, - "src": "8956:12:21", + "scope": 10437, + "src": "8996:12:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -234381,10 +256841,10 @@ "typeString": "bool" }, "typeName": { - "id": 8515, + "id": 10396, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "8956:4:21", + "src": "8996:4:36", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -234394,13 +256854,13 @@ }, { "constant": false, - "id": 8518, + "id": 10399, "mutability": "mutable", "name": "ret", - "nameLocation": "8983:3:21", + "nameLocation": "9023:3:36", "nodeType": "VariableDeclaration", - "scope": 8556, - "src": "8970:16:21", + "scope": 10437, + "src": "9010:16:36", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -234408,10 +256868,10 @@ "typeString": "bytes" }, "typeName": { - "id": 8517, + "id": 10398, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "8970:5:21", + "src": "9010:5:36", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -234420,16 +256880,16 @@ "visibility": "internal" } ], - "id": 8523, + "id": 10404, "initialValue": { "arguments": [ { - "id": 8521, + "id": 10402, "name": "args", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8503, - "src": "9011:4:21", + "referencedDeclaration": 10384, + "src": "9051:4:36", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -234444,32 +256904,32 @@ } ], "expression": { - "id": 8519, + "id": 10400, "name": "_VERIFIER", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8354, - "src": "8990:9:21", + "referencedDeclaration": 10235, + "src": "9030:9:36", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 8520, + "id": 10401, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "9000:10:21", + "memberLocation": "9040:10:36", "memberName": "staticcall", "nodeType": "MemberAccess", - "src": "8990:20:21", + "src": "9030:20:36", "typeDescriptions": { "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "function (bytes memory) view returns (bool,bytes memory)" } }, - "id": 8522, + "id": 10403, "isConstant": false, "isLValue": false, "isPure": false, @@ -234478,7 +256938,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8990:26:21", + "src": "9030:26:36", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", @@ -234486,22 +256946,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "8955:61:21" + "src": "8995:61:36" }, { "assignments": [ - 8525 + 10406 ], "declarations": [ { "constant": false, - "id": 8525, + "id": 10406, "mutability": "mutable", "name": "valid", - "nameLocation": "9415:5:21", + "nameLocation": "9455:5:36", "nodeType": "VariableDeclaration", - "scope": 8556, - "src": "9410:10:21", + "scope": 10437, + "src": "9450:10:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -234509,10 +256969,10 @@ "typeString": "bool" }, "typeName": { - "id": 8524, + "id": 10405, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "9410:4:21", + "src": "9450:4:36", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -234521,39 +256981,39 @@ "visibility": "internal" } ], - "id": 8530, + "id": 10411, "initialValue": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8529, + "id": 10410, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 8526, + "id": 10407, "name": "ret", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8518, - "src": "9423:3:21", + "referencedDeclaration": 10399, + "src": "9463:3:36", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 8527, + "id": 10408, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "9427:6:21", + "memberLocation": "9467:6:36", "memberName": "length", "nodeType": "MemberAccess", - "src": "9423:10:21", + "src": "9463:10:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -234563,28 +257023,28 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 8528, + "id": 10409, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9436:1:21", + "src": "9476:1:36", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "9423:14:21", + "src": "9463:14:36", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "VariableDeclarationStatement", - "src": "9410:27:21" + "src": "9450:27:36" }, { "condition": { @@ -234592,18 +257052,18 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 8533, + "id": 10414, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 8531, + "id": 10412, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8516, - "src": "9451:7:21", + "referencedDeclaration": 10397, + "src": "9491:7:36", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -234612,33 +257072,33 @@ "nodeType": "BinaryOperation", "operator": "&&", "rightExpression": { - "id": 8532, + "id": 10413, "name": "valid", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8525, - "src": "9462:5:21", + "referencedDeclaration": 10406, + "src": "9502:5:36", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "9451:16:21", + "src": "9491:16:36", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 8544, + "id": 10425, "nodeType": "IfStatement", - "src": "9447:60:21", + "src": "9487:60:36", "trueBody": { "expression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8542, + "id": 10423, "isConstant": false, "isLValue": false, "isPure": false, @@ -234646,12 +257106,12 @@ "leftExpression": { "arguments": [ { - "id": 8536, + "id": 10417, "name": "ret", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8518, - "src": "9487:3:21", + "referencedDeclaration": 10399, + "src": "9527:3:36", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -234660,34 +257120,34 @@ { "components": [ { - "id": 8538, + "id": 10419, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "9493:7:21", + "src": "9533:7:36", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 8537, + "id": 10418, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9493:7:21", + "src": "9533:7:36", "typeDescriptions": {} } } ], - "id": 8539, + "id": 10420, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "9492:9:21", + "src": "9532:9:36", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" @@ -234706,32 +257166,32 @@ } ], "expression": { - "id": 8534, + "id": 10415, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "9476:3:21", + "src": "9516:3:36", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 8535, + "id": 10416, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "9480:6:21", + "memberLocation": "9520:6:36", "memberName": "decode", "nodeType": "MemberAccess", - "src": "9476:10:21", + "src": "9516:10:36", "typeDescriptions": { "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 8540, + "id": 10421, "isConstant": false, "isLValue": false, "isPure": false, @@ -234740,7 +257200,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "9476:26:21", + "src": "9516:26:36", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -234751,42 +257211,42 @@ "operator": "==", "rightExpression": { "hexValue": "31", - "id": 8541, + "id": 10422, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9506:1:21", + "src": "9546:1:36", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "9476:31:21", + "src": "9516:31:36", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 8376, - "id": 8543, + "functionReturnParameters": 10257, + "id": 10424, "nodeType": "Return", - "src": "9469:38:21" + "src": "9509:38:36" } }, { "expression": { "arguments": [ { - "id": 8547, + "id": 10428, "name": "messageHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8492, - "src": "9548:11:21", + "referencedDeclaration": 10373, + "src": "9588:11:36", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -234794,27 +257254,27 @@ }, { "expression": { - "id": 8548, + "id": 10429, "name": "webAuthnAuth", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8368, - "src": "9561:12:21", + "referencedDeclaration": 10249, + "src": "9601:12:36", "typeDescriptions": { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8332_memory_ptr", + "typeIdentifier": "t_struct$_WebAuthnAuth_$10213_memory_ptr", "typeString": "struct WebAuthn.WebAuthnAuth memory" } }, - "id": 8549, + "id": 10430, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "9574:1:21", + "memberLocation": "9614:1:36", "memberName": "r", "nodeType": "MemberAccess", - "referencedDeclaration": 8328, - "src": "9561:14:21", + "referencedDeclaration": 10209, + "src": "9601:14:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -234822,51 +257282,51 @@ }, { "expression": { - "id": 8550, + "id": 10431, "name": "webAuthnAuth", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8368, - "src": "9577:12:21", + "referencedDeclaration": 10249, + "src": "9617:12:36", "typeDescriptions": { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8332_memory_ptr", + "typeIdentifier": "t_struct$_WebAuthnAuth_$10213_memory_ptr", "typeString": "struct WebAuthn.WebAuthnAuth memory" } }, - "id": 8551, + "id": 10432, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "9590:1:21", + "memberLocation": "9630:1:36", "memberName": "s", "nodeType": "MemberAccess", - "referencedDeclaration": 8331, - "src": "9577:14:21", + "referencedDeclaration": 10212, + "src": "9617:14:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 8552, + "id": 10433, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8370, - "src": "9593:1:21", + "referencedDeclaration": 10251, + "src": "9633:1:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 8553, + "id": 10434, "name": "y", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8372, - "src": "9596:1:21", + "referencedDeclaration": 10253, + "src": "9636:1:36", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -234897,33 +257357,33 @@ } ], "expression": { - "id": 8545, + "id": 10426, "name": "FCL_ecdsa", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 957, - "src": "9525:9:21", + "referencedDeclaration": 2563, + "src": "9565:9:36", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FCL_ecdsa_$957_$", + "typeIdentifier": "t_type$_t_contract$_FCL_ecdsa_$2563_$", "typeString": "type(library FCL_ecdsa)" } }, - "id": 8546, + "id": 10427, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "9535:12:21", + "memberLocation": "9575:12:36", "memberName": "ecdsa_verify", "nodeType": "MemberAccess", - "referencedDeclaration": 674, - "src": "9525:22:21", + "referencedDeclaration": 2280, + "src": "9565:22:36", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_bool_$", "typeString": "function (bytes32,uint256,uint256,uint256,uint256) view returns (bool)" } }, - "id": 8554, + "id": 10435, "isConstant": false, "isLValue": false, "isPure": false, @@ -234932,244 +257392,2937 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "9525:73:21", + "src": "9565:73:36", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 8376, - "id": 8555, + "functionReturnParameters": 10257, + "id": 10436, "nodeType": "Return", - "src": "9518:80:21" + "src": "9558:80:36" } ] }, "documentation": { - "id": 8361, + "id": 10242, "nodeType": "StructuredDocumentation", - "src": "2684:4022:21", + "src": "2684:4022:36", "text": "\n @notice Verifies a Webauthn Authentication Assertion as described\n in https://www.w3.org/TR/webauthn-2/#sctn-verifying-assertion.\n @dev We do not verify all the steps as described in the specification, only ones relevant to our context.\n Please carefully read through this list before usage.\n Specifically, we do verify the following:\n - Verify that authenticatorData (which comes from the authenticator, such as iCloud Keychain) indicates\n a well-formed assertion with the user present bit set. If `requireUV` is set, checks that the authenticator\n enforced user verification. User verification should be required if, and only if, options.userVerification\n is set to required in the request.\n - Verifies that the client JSON is of type \"webauthn.get\", i.e. the client was responding to a request to\n assert authentication.\n - Verifies that the client JSON contains the requested challenge.\n - Verifies that (r, s) constitute a valid signature over both the authenicatorData and client JSON, for public\n key (x, y).\n We make some assumptions about the particular use case of this verifier, so we do NOT verify the following:\n - Does NOT verify that the origin in the `clientDataJSON` matches the Relying Party's origin: tt is considered\n the authenticator's responsibility to ensure that the user is interacting with the correct RP. This is\n enforced by most high quality authenticators properly, particularly the iCloud Keychain and Google Password\n Manager were tested.\n - Does NOT verify That `topOrigin` in `clientDataJSON` is well-formed: We assume it would never be present, i.e.\n the credentials are never used in a cross-origin/iframe context. The website/app set up should disallow\n cross-origin usage of the credentials. This is the default behaviour for created credentials in common settings.\n - Does NOT verify that the `rpIdHash` in `authenticatorData` is the SHA-256 hash of the RP ID expected by the Relying\n Party: this means that we rely on the authenticator to properly enforce credentials to be used only by the correct RP.\n This is generally enforced with features like Apple App Site Association and Google Asset Links. To protect from\n edge cases in which a previously-linked RP ID is removed from the authorised RP IDs, we recommend that messages\n signed by the authenticator include some expiry mechanism.\n - Does NOT verify the credential backup state: this assumes the credential backup state is NOT used as part of Relying\n Party business logic or policy.\n - Does NOT verify the values of the client extension outputs: this assumes that the Relying Party does not use client\n extension outputs.\n - Does NOT verify the signature counter: signature counters are intended to enable risk scoring for the Relying Party.\n This assumes risk scoring is not used as part of Relying Party business logic or policy.\n - Does NOT verify the attestation object: this assumes that response.attestationObject is NOT present in the response,\n i.e. the RP does not intend to verify an attestation.\n @param challenge The challenge that was provided by the relying party.\n @param requireUV A boolean indicating whether user verification is required.\n @param webAuthnAuth The `WebAuthnAuth` struct.\n @param x The x coordinate of the public key.\n @param y The y coordinate of the public key.\n @return `true` if the authentication assertion passed validation, else `false`." }, - "id": 8557, + "id": 10438, "implemented": true, "kind": "function", "modifiers": [], "name": "verify", - "nameLocation": "6720:6:21", + "nameLocation": "6720:6:36", "nodeType": "FunctionDefinition", "parameters": { - "id": 8373, + "id": 10254, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8363, + "id": 10244, + "mutability": "mutable", + "name": "challenge", + "nameLocation": "6740:9:36", + "nodeType": "VariableDeclaration", + "scope": 10438, + "src": "6727:22:36", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 10243, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6727:5:36", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10246, + "mutability": "mutable", + "name": "requireUV", + "nameLocation": "6756:9:36", + "nodeType": "VariableDeclaration", + "scope": 10438, + "src": "6751:14:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10245, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6751:4:36", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10249, + "mutability": "mutable", + "name": "webAuthnAuth", + "nameLocation": "6787:12:36", + "nodeType": "VariableDeclaration", + "scope": 10438, + "src": "6767:32:36", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WebAuthnAuth_$10213_memory_ptr", + "typeString": "struct WebAuthn.WebAuthnAuth" + }, + "typeName": { + "id": 10248, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 10247, + "name": "WebAuthnAuth", + "nameLocations": [ + "6767:12:36" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 10213, + "src": "6767:12:36" + }, + "referencedDeclaration": 10213, + "src": "6767:12:36", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WebAuthnAuth_$10213_storage_ptr", + "typeString": "struct WebAuthn.WebAuthnAuth" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10251, "mutability": "mutable", - "name": "challenge", - "nameLocation": "6740:9:21", + "name": "x", + "nameLocation": "6809:1:36", "nodeType": "VariableDeclaration", - "scope": 8557, - "src": "6727:22:21", + "scope": 10438, + "src": "6801:9:36", "stateVariable": false, - "storageLocation": "memory", + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": 8362, - "name": "bytes", + "id": 10250, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6727:5:21", + "src": "6801:7:36", "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, - "id": 8365, + "id": 10253, "mutability": "mutable", - "name": "requireUV", - "nameLocation": "6756:9:21", + "name": "y", + "nameLocation": "6820:1:36", "nodeType": "VariableDeclaration", - "scope": 8557, - "src": "6751:14:21", + "scope": 10438, + "src": "6812:9:36", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": 8364, - "name": "bool", + "id": 10252, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6751:4:21", + "src": "6812:7:36", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "visibility": "internal" - }, + } + ], + "src": "6726:96:36" + }, + "returnParameters": { + "id": 10257, + "nodeType": "ParameterList", + "parameters": [ { "constant": false, - "id": 8368, + "id": 10256, "mutability": "mutable", - "name": "webAuthnAuth", - "nameLocation": "6787:12:21", + "name": "", + "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 8557, - "src": "6767:32:21", + "scope": 10438, + "src": "6870:4:36", "stateVariable": false, - "storageLocation": "memory", + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8332_memory_ptr", - "typeString": "struct WebAuthn.WebAuthnAuth" + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10255, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6870:4:36", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "6869:6:36" + }, + "scope": 10439, + "src": "6711:2934:36", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 10440, + "src": "761:8886:36", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "32:9616:36" + }, + "id": 36 + } + }, + "contracts": { + "@account-abstraction/contracts/core/BasePaymaster.sol": { + "BasePaymaster": { + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "OwnableInvalidOwner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "OwnableUnauthorizedAccount", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "unstakeDelaySec", + "type": "uint32" + } + ], + "name": "addStake", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "deposit", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "entryPoint", + "outputs": [ + { + "internalType": "contract IEntryPoint", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getDeposit", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "enum IPaymaster.PostOpMode", + "name": "mode", + "type": "uint8" + }, + { + "internalType": "bytes", + "name": "context", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "actualGasCost", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "actualUserOpFeePerGas", + "type": "uint256" + } + ], + "name": "postOp", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "unlockStake", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "initCode", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "callData", + "type": "bytes" + }, + { + "internalType": "bytes32", + "name": "accountGasLimits", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "preVerificationGas", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "gasFees", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "paymasterAndData", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "internalType": "struct PackedUserOperation", + "name": "userOp", + "type": "tuple" + }, + { + "internalType": "bytes32", + "name": "userOpHash", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "maxCost", + "type": "uint256" + } + ], + "name": "validatePaymasterUserOp", + "outputs": [ + { + "internalType": "bytes", + "name": "context", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "validationData", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address payable", + "name": "withdrawAddress", + "type": "address" + } + ], + "name": "withdrawStake", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address payable", + "name": "withdrawAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "withdrawTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "addStake(uint32)": "0396cb60", + "deposit()": "d0e30db0", + "entryPoint()": "b0d691fe", + "getDeposit()": "c399ec88", + "owner()": "8da5cb5b", + "postOp(uint8,bytes,uint256,uint256)": "7c627b21", + "renounceOwnership()": "715018a6", + "transferOwnership(address)": "f2fde38b", + "unlockStake()": "bb9fe6bf", + "validatePaymasterUserOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),bytes32,uint256)": "52b7512c", + "withdrawStake(address)": "c23a5cea", + "withdrawTo(address,uint256)": "205c2878" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"unstakeDelaySec\",\"type\":\"uint32\"}],\"name\":\"addStake\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"entryPoint\",\"outputs\":[{\"internalType\":\"contract IEntryPoint\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IPaymaster.PostOpMode\",\"name\":\"mode\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"context\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"actualGasCost\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"actualUserOpFeePerGas\",\"type\":\"uint256\"}],\"name\":\"postOp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unlockStake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation\",\"name\":\"userOp\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"maxCost\",\"type\":\"uint256\"}],\"name\":\"validatePaymasterUserOp\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"context\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"validationData\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"withdrawAddress\",\"type\":\"address\"}],\"name\":\"withdrawStake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"withdrawAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdrawTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}]},\"kind\":\"dev\",\"methods\":{\"addStake(uint32)\":{\"params\":{\"unstakeDelaySec\":\"- The unstake delay for this paymaster. Can only be increased.\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"postOp(uint8,bytes,uint256,uint256)\":{\"params\":{\"actualGasCost\":\"- Actual gas used so far (without this postOp call).\",\"actualUserOpFeePerGas\":\"- the gas price this UserOp pays. This value is based on the UserOp's maxFeePerGas and maxPriorityFee (and basefee) It is not the same as tx.gasprice, which is what the bundler pays.\",\"context\":\"- The context value returned by validatePaymasterUserOp\",\"mode\":\"- Enum with the following options: opSucceeded - User operation succeeded. opReverted - User op reverted. The paymaster still has to pay for gas. postOpReverted - never passed in a call to postOp().\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"validatePaymasterUserOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),bytes32,uint256)\":{\"params\":{\"maxCost\":\"- The maximum cost of this transaction (based on maximum gas and gas price from userOp).\",\"userOp\":\"- The user operation.\",\"userOpHash\":\"- Hash of the user's request data.\"},\"returns\":{\"context\":\" - Value to send to a postOp. Zero length to signify postOp is not required.\",\"validationData\":\"- Signature and time-range of this operation, encoded the same as the return value of validateUserOperation. <20-byte> sigAuthorizer - 0 for valid signature, 1 to mark signature failure, other values are invalid for paymaster. <6-byte> validUntil - last timestamp this operation is valid. 0 for \\\"indefinite\\\" <6-byte> validAfter - first timestamp this operation is valid Note that the validation code cannot use block.timestamp (or block.number) directly.\"}},\"withdrawStake(address)\":{\"params\":{\"withdrawAddress\":\"- The address to send withdrawn value.\"}},\"withdrawTo(address,uint256)\":{\"params\":{\"amount\":\"- Amount to withdraw.\",\"withdrawAddress\":\"- Target to send to.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addStake(uint32)\":{\"notice\":\"Add stake for this paymaster. This method can also carry eth value to add to the current stake.\"},\"deposit()\":{\"notice\":\"Add a deposit for this paymaster, used for paying for transaction fees.\"},\"getDeposit()\":{\"notice\":\"Return current paymaster's deposit on the entryPoint.\"},\"postOp(uint8,bytes,uint256,uint256)\":{\"notice\":\"Post-operation handler. Must verify sender is the entryPoint.\"},\"unlockStake()\":{\"notice\":\"Unlock the stake, in order to withdraw it. The paymaster can't serve requests once unlocked, until it calls addStake again\"},\"validatePaymasterUserOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),bytes32,uint256)\":{\"notice\":\"Payment validation: check if paymaster agrees to pay. Must verify sender is the entryPoint. Revert to reject this request. Note that bundlers will reject this method if it changes the state, unless the paymaster is trusted (whitelisted). The paymaster pre-pays using its deposit, and receive back a refund after the postOp method returns.\"},\"withdrawStake(address)\":{\"notice\":\"Withdraw the entire paymaster's stake. stake must be unlocked first (and then wait for the unstakeDelay to be over)\"},\"withdrawTo(address,uint256)\":{\"notice\":\"Withdraw value from the deposit.\"}},\"notice\":\"Helper class for creating a paymaster. provides helper methods for staking. Validates that the postOp is called only by the entryPoint.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"@account-abstraction/contracts/core/BasePaymaster.sol\":\"BasePaymaster\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@account-abstraction/contracts/core/BasePaymaster.sol\":{\"keccak256\":\"0x156dd80127599c02937985a4fe44dd6424e29445af9aae886aff0f1993af43ab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9a6afd9203f905b1d9a95f354e06d9b61328e5d27844d96100175718edb859ef\",\"dweb:/ipfs/QmYyKGTMaTyjDKY1QyThLJL8BZgUrTAxrHL3SNmRJLqnji\"]},\"@account-abstraction/contracts/core/Helpers.sol\":{\"keccak256\":\"0x6247e011a6cb0b263b3aa098822977181674d91b62e5bdfe04c6e66f72da25d6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ca829a69b3fbc74fec8e140d42a2bf93bc3512609272f031c846470f61f0ab7e\",\"dweb:/ipfs/QmP3r3MBgAN39KeVB1rCGJWwcBcotNt26ALtAR54poQ1Jc\"]},\"@account-abstraction/contracts/core/UserOperationLib.sol\":{\"keccak256\":\"0x9d50ece985d35f82e33e5da417595c86fac10449e3d10895d08363d33aad454b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b1d11cc364c8bf7ed5388268c895b5ffed16e87dfbcb320ddeeba5e7974315dc\",\"dweb:/ipfs/QmYSpvjxEjweietQrYZagwQ52ipy7eXx4rwvnTzXKeGeMS\"]},\"@account-abstraction/contracts/interfaces/IAggregator.sol\":{\"keccak256\":\"0xf100d6fcc0c3b450b13e979b6a42c628c292a1bc340eccc2e7796b80e3975588\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://192938b5b27234d35c8098a319e879363c79f750eea4d0e409dc889a8ce5b155\",\"dweb:/ipfs/QmURpaJFPqEtkKP2ngBsgZhAGN8wAWh5XQpYmCkiz4Urz5\"]},\"@account-abstraction/contracts/interfaces/IEntryPoint.sol\":{\"keccak256\":\"0x1972a5fcb3a808b58c85af5741949ef6af11ab0debd3ae8c708171ae1ae0d0c4\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://baa9837ae73b9e2362a47d42d081d7c0f3d8e878e5edb381117d94a6968949c9\",\"dweb:/ipfs/QmUmo6FUE7fv5z1WzW1YFjxp8PqaeN2JrEee9au59w3Xhe\"]},\"@account-abstraction/contracts/interfaces/INonceManager.sol\":{\"keccak256\":\"0xd575af0f6ebbd5f0b2933307d44cd7b4e03a69f4b817a67db5409bd3c89aeecb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b1e2dea9b05cfba9d13339ed16d96457dc861013cc4f3f35b71a80f82448db3\",\"dweb:/ipfs/QmVaGy5uGDMSiU2SzyokTjoHFyb39VVG5wtaM9KTnHyZSk\"]},\"@account-abstraction/contracts/interfaces/IPaymaster.sol\":{\"keccak256\":\"0x49d8dbf8a85b006bcd89bbc40e4e9e113997cc016007de85263bdae70572d07f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bc0d83804c1b795d5c216b3518cd176c48f90db28550f267cbd89746d6b476c8\",\"dweb:/ipfs/QmNdCm4c6hnt7f6Q8q21QjtCNZWWRUaMVEYnQHEv68VnKt\"]},\"@account-abstraction/contracts/interfaces/IStakeManager.sol\":{\"keccak256\":\"0xbe5ca9e7f254d031687419e7b96ef48c9c63e9398bbe992dc72ffc6dc14e0a04\",\"license\":\"GPL-3.0-only\",\"urls\":[\"bzz-raw://1fffec71c38627a26fabb423350148009579f092623fb02b471a12d973763a00\",\"dweb:/ipfs/QmRBi31QEYXHj3x1AnQ2jKa2eziZH1b9av396P3b4dw6bj\"]},\"@account-abstraction/contracts/interfaces/PackedUserOperation.sol\":{\"keccak256\":\"0x1129b46381db68eddbc5cb49e50664667b66b03c480453858e7b25eabe444359\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://499a948aba60480dba6e25c763b8d918f1c246eb7a3302e04f493e080f3295be\",\"dweb:/ipfs/QmeRhhswf4NACcBKam2PyjpTP2ddSm648kah5kkQJsvwz3\"]},\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]}},\"version\":1}" + } + }, + "@account-abstraction/contracts/core/UserOperationLib.sol": { + "UserOperationLib": { + "abi": [ + { + "inputs": [], + "name": "PAYMASTER_DATA_OFFSET", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "PAYMASTER_POSTOP_GAS_OFFSET", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "PAYMASTER_VALIDATION_GAS_OFFSET", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "6080806040523460175760b79081601d823930815050f35b600080fdfe6080806040526004361015601257600080fd5b60003560e01c90816325093e1b14606d57508063b29a8ff41460575763ede3150214603c57600080fd5b6000366003190112605257602060405160348152f35b600080fd5b6000366003190112605257602060405160148152f35b600036600319011260525780602460209252f3fea2646970667358221220166b7ff4ece83787ecc206c6105839c9ad1f5fdfa666c52d9b16237a82630bcf64736f6c634300081c0033", + "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE CALLVALUE PUSH1 0x17 JUMPI PUSH1 0xB7 SWAP1 DUP2 PUSH1 0x1D DUP3 CODECOPY ADDRESS DUP2 POP POP RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH1 0x12 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0x25093E1B EQ PUSH1 0x6D JUMPI POP DUP1 PUSH4 0xB29A8FF4 EQ PUSH1 0x57 JUMPI PUSH4 0xEDE31502 EQ PUSH1 0x3C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH1 0x52 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x34 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH1 0x52 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x14 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH1 0x52 JUMPI DUP1 PUSH1 0x24 PUSH1 0x20 SWAP3 MSTORE RETURN INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 AND PUSH12 0x7FF4ECE83787ECC206C61058 CODECOPY 0xC9 0xAD 0x1F PUSH0 0xDF 0xA6 PUSH7 0xC52D9B16237A82 PUSH4 0xBCF6473 PUSH16 0x6C634300081C00330000000000000000 ", + "sourceMap": "282:4714:2:-:0;;;;;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "6080806040526004361015601257600080fd5b60003560e01c90816325093e1b14606d57508063b29a8ff41460575763ede3150214603c57600080fd5b6000366003190112605257602060405160348152f35b600080fd5b6000366003190112605257602060405160148152f35b600036600319011260525780602460209252f3fea2646970667358221220166b7ff4ece83787ecc206c6105839c9ad1f5fdfa666c52d9b16237a82630bcf64736f6c634300081c0033", + "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH1 0x12 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0x25093E1B EQ PUSH1 0x6D JUMPI POP DUP1 PUSH4 0xB29A8FF4 EQ PUSH1 0x57 JUMPI PUSH4 0xEDE31502 EQ PUSH1 0x3C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH1 0x52 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x34 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH1 0x52 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x14 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH1 0x52 JUMPI DUP1 PUSH1 0x24 PUSH1 0x20 SWAP3 MSTORE RETURN INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 AND PUSH12 0x7FF4ECE83787ECC206C61058 CODECOPY 0xC9 0xAD 0x1F PUSH0 0xDF 0xA6 PUSH7 0xC52D9B16237A82 PUSH4 0xBCF6473 PUSH16 0x6C634300081C00330000000000000000 ", + "sourceMap": "282:4714:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;282:4714:2;;;;;;;490:2;282:4714;;;;;;;;;;-1:-1:-1;;282:4714:2;;;;;;;372:2;282:4714;;;;;;-1:-1:-1;;282:4714:2;;;;;434:2;282:4714;;;" + }, + "methodIdentifiers": { + "PAYMASTER_DATA_OFFSET()": "ede31502", + "PAYMASTER_POSTOP_GAS_OFFSET()": "25093e1b", + "PAYMASTER_VALIDATION_GAS_OFFSET()": "b29a8ff4" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"PAYMASTER_DATA_OFFSET\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PAYMASTER_POSTOP_GAS_OFFSET\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PAYMASTER_VALIDATION_GAS_OFFSET\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Utility functions helpful when working with UserOperation structs.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"@account-abstraction/contracts/core/UserOperationLib.sol\":\"UserOperationLib\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@account-abstraction/contracts/core/Helpers.sol\":{\"keccak256\":\"0x6247e011a6cb0b263b3aa098822977181674d91b62e5bdfe04c6e66f72da25d6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ca829a69b3fbc74fec8e140d42a2bf93bc3512609272f031c846470f61f0ab7e\",\"dweb:/ipfs/QmP3r3MBgAN39KeVB1rCGJWwcBcotNt26ALtAR54poQ1Jc\"]},\"@account-abstraction/contracts/core/UserOperationLib.sol\":{\"keccak256\":\"0x9d50ece985d35f82e33e5da417595c86fac10449e3d10895d08363d33aad454b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b1d11cc364c8bf7ed5388268c895b5ffed16e87dfbcb320ddeeba5e7974315dc\",\"dweb:/ipfs/QmYSpvjxEjweietQrYZagwQ52ipy7eXx4rwvnTzXKeGeMS\"]},\"@account-abstraction/contracts/interfaces/PackedUserOperation.sol\":{\"keccak256\":\"0x1129b46381db68eddbc5cb49e50664667b66b03c480453858e7b25eabe444359\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://499a948aba60480dba6e25c763b8d918f1c246eb7a3302e04f493e080f3295be\",\"dweb:/ipfs/QmeRhhswf4NACcBKam2PyjpTP2ddSm648kah5kkQJsvwz3\"]}},\"version\":1}" + } + }, + "@account-abstraction/contracts/interfaces/IAccount.sol": { + "IAccount": { + "abi": [ + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "initCode", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "callData", + "type": "bytes" + }, + { + "internalType": "bytes32", + "name": "accountGasLimits", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "preVerificationGas", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "gasFees", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "paymasterAndData", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "internalType": "struct PackedUserOperation", + "name": "userOp", + "type": "tuple" + }, + { + "internalType": "bytes32", + "name": "userOpHash", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "missingAccountFunds", + "type": "uint256" + } + ], + "name": "validateUserOp", + "outputs": [ + { + "internalType": "uint256", + "name": "validationData", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "validateUserOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),bytes32,uint256)": "19822f7c" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation\",\"name\":\"userOp\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"missingAccountFunds\",\"type\":\"uint256\"}],\"name\":\"validateUserOp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"validationData\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"validateUserOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),bytes32,uint256)\":{\"details\":\"Must validate caller is the entryPoint. Must validate the signature and nonce\",\"params\":{\"missingAccountFunds\":\"- Missing funds on the account's deposit in the entrypoint. This is the minimum amount to transfer to the sender(entryPoint) to be able to make the call. The excess is left as a deposit in the entrypoint for future calls. Can be withdrawn anytime using \\\"entryPoint.withdrawTo()\\\". In case there is a paymaster in the request (or the current deposit is high enough), this value will be zero.\",\"userOp\":\"- The operation that is about to be executed.\",\"userOpHash\":\"- Hash of the user's request data. can be used as the basis for signature.\"},\"returns\":{\"validationData\":\" - Packaged ValidationData structure. use `_packValidationData` and `_unpackValidationData` to encode and decode. <20-byte> sigAuthorizer - 0 for valid signature, 1 to mark signature failure, otherwise, an address of an \\\"authorizer\\\" contract. <6-byte> validUntil - Last timestamp this operation is valid. 0 for \\\"indefinite\\\" <6-byte> validAfter - First timestamp this operation is valid If an account doesn't use time-range, it is enough to return SIG_VALIDATION_FAILED value (1) for signature failure. Note that the validation code cannot use block.timestamp (or block.number) directly.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"validateUserOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),bytes32,uint256)\":{\"notice\":\"Validate user's signature and nonce the entryPoint will make the call to the recipient only if this validation call returns successfully. signature failure should be reported by returning SIG_VALIDATION_FAILED (1). This allows making a \\\"simulation call\\\" without a valid signature Other failures (e.g. nonce mismatch, or invalid signature format) should still revert to signal failure.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@account-abstraction/contracts/interfaces/IAccount.sol\":\"IAccount\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@account-abstraction/contracts/interfaces/IAccount.sol\":{\"keccak256\":\"0x38710bec0cb20ff4ceef46a80475b5bdabc27b7efd2687fd473db68332f61b78\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://dea7a723e1ef852e8764e69914a345d2e8bc5e13facfc9d5c29d791cb4ab0020\",\"dweb:/ipfs/QmU8dYgyF4DBJXFqjwLAtnE3q8q259ChfoEk9a6wyhHzEP\"]},\"@account-abstraction/contracts/interfaces/PackedUserOperation.sol\":{\"keccak256\":\"0x1129b46381db68eddbc5cb49e50664667b66b03c480453858e7b25eabe444359\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://499a948aba60480dba6e25c763b8d918f1c246eb7a3302e04f493e080f3295be\",\"dweb:/ipfs/QmeRhhswf4NACcBKam2PyjpTP2ddSm648kah5kkQJsvwz3\"]}},\"version\":1}" + } + }, + "@account-abstraction/contracts/interfaces/IAggregator.sol": { + "IAggregator": { + "abi": [ + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "initCode", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "callData", + "type": "bytes" + }, + { + "internalType": "bytes32", + "name": "accountGasLimits", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "preVerificationGas", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "gasFees", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "paymasterAndData", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "internalType": "struct PackedUserOperation[]", + "name": "userOps", + "type": "tuple[]" + } + ], + "name": "aggregateSignatures", + "outputs": [ + { + "internalType": "bytes", + "name": "aggregatedSignature", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "initCode", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "callData", + "type": "bytes" + }, + { + "internalType": "bytes32", + "name": "accountGasLimits", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "preVerificationGas", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "gasFees", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "paymasterAndData", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "internalType": "struct PackedUserOperation[]", + "name": "userOps", + "type": "tuple[]" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "name": "validateSignatures", + "outputs": [], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "initCode", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "callData", + "type": "bytes" + }, + { + "internalType": "bytes32", + "name": "accountGasLimits", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "preVerificationGas", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "gasFees", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "paymasterAndData", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "internalType": "struct PackedUserOperation", + "name": "userOp", + "type": "tuple" + } + ], + "name": "validateUserOpSignature", + "outputs": [ + { + "internalType": "bytes", + "name": "sigForUserOp", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "aggregateSignatures((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[])": "ae574a43", + "validateSignatures((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],bytes)": "2dd81133", + "validateUserOpSignature((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))": "062a422b" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation[]\",\"name\":\"userOps\",\"type\":\"tuple[]\"}],\"name\":\"aggregateSignatures\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"aggregatedSignature\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation[]\",\"name\":\"userOps\",\"type\":\"tuple[]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"validateSignatures\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation\",\"name\":\"userOp\",\"type\":\"tuple\"}],\"name\":\"validateUserOpSignature\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"sigForUserOp\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"aggregateSignatures((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[])\":{\"params\":{\"userOps\":\"- Array of UserOperations to collect the signatures from.\"},\"returns\":{\"aggregatedSignature\":\"- The aggregated signature.\"}},\"validateSignatures((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],bytes)\":{\"params\":{\"signature\":\"- The aggregated signature.\",\"userOps\":\"- Array of UserOperations to validate the signature for.\"}},\"validateUserOpSignature((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))\":{\"params\":{\"userOp\":\"- The userOperation received from the user.\"},\"returns\":{\"sigForUserOp\":\"- The value to put into the signature field of the userOp when calling handleOps. (usually empty, unless account and aggregator support some kind of \\\"multisig\\\".\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"aggregateSignatures((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[])\":{\"notice\":\"Aggregate multiple signatures into a single value. This method is called off-chain to calculate the signature to pass with handleOps() bundler MAY use optimized custom code perform this aggregation.\"},\"validateSignatures((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],bytes)\":{\"notice\":\"Validate aggregated signature. Revert if the aggregated signature does not match the given list of operations.\"},\"validateUserOpSignature((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))\":{\"notice\":\"Validate signature of a single userOp. This method should be called by bundler after EntryPointSimulation.simulateValidation() returns the aggregator this account uses. First it validates the signature over the userOp. Then it returns data to be used when creating the handleOps.\"}},\"notice\":\"Aggregated Signatures validator.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"@account-abstraction/contracts/interfaces/IAggregator.sol\":\"IAggregator\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@account-abstraction/contracts/interfaces/IAggregator.sol\":{\"keccak256\":\"0xf100d6fcc0c3b450b13e979b6a42c628c292a1bc340eccc2e7796b80e3975588\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://192938b5b27234d35c8098a319e879363c79f750eea4d0e409dc889a8ce5b155\",\"dweb:/ipfs/QmURpaJFPqEtkKP2ngBsgZhAGN8wAWh5XQpYmCkiz4Urz5\"]},\"@account-abstraction/contracts/interfaces/PackedUserOperation.sol\":{\"keccak256\":\"0x1129b46381db68eddbc5cb49e50664667b66b03c480453858e7b25eabe444359\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://499a948aba60480dba6e25c763b8d918f1c246eb7a3302e04f493e080f3295be\",\"dweb:/ipfs/QmeRhhswf4NACcBKam2PyjpTP2ddSm648kah5kkQJsvwz3\"]}},\"version\":1}" + } + }, + "@account-abstraction/contracts/interfaces/IEntryPoint.sol": { + "IEntryPoint": { + "abi": [ + { + "inputs": [ + { + "internalType": "bool", + "name": "success", + "type": "bool" + }, + { + "internalType": "bytes", + "name": "ret", + "type": "bytes" + } + ], + "name": "DelegateAndRevert", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "opIndex", + "type": "uint256" + }, + { + "internalType": "string", + "name": "reason", + "type": "string" + } + ], + "name": "FailedOp", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "opIndex", + "type": "uint256" + }, + { + "internalType": "string", + "name": "reason", + "type": "string" + }, + { + "internalType": "bytes", + "name": "inner", + "type": "bytes" + } + ], + "name": "FailedOpWithRevert", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "returnData", + "type": "bytes" + } + ], + "name": "PostOpReverted", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "SenderAddressResult", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "aggregator", + "type": "address" + } + ], + "name": "SignatureValidationFailed", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "userOpHash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "factory", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "paymaster", + "type": "address" + } + ], + "name": "AccountDeployed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "BeforeExecution", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "totalDeposit", + "type": "uint256" + } + ], + "name": "Deposited", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "userOpHash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "revertReason", + "type": "bytes" + } + ], + "name": "PostOpRevertReason", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "aggregator", + "type": "address" + } + ], + "name": "SignatureAggregatorChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "totalStaked", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "unstakeDelaySec", + "type": "uint256" + } + ], + "name": "StakeLocked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "withdrawTime", + "type": "uint256" + } + ], + "name": "StakeUnlocked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "withdrawAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "StakeWithdrawn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "userOpHash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "paymaster", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bool", + "name": "success", + "type": "bool" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "actualGasCost", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "actualGasUsed", + "type": "uint256" + } + ], + "name": "UserOperationEvent", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "userOpHash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + } + ], + "name": "UserOperationPrefundTooLow", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "userOpHash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "revertReason", + "type": "bytes" + } + ], + "name": "UserOperationRevertReason", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "withdrawAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Withdrawn", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_unstakeDelaySec", + "type": "uint32" + } + ], + "name": "addStake", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "delegateAndRevert", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "depositTo", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "getDepositInfo", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "deposit", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "staked", + "type": "bool" + }, + { + "internalType": "uint112", + "name": "stake", + "type": "uint112" + }, + { + "internalType": "uint32", + "name": "unstakeDelaySec", + "type": "uint32" + }, + { + "internalType": "uint48", + "name": "withdrawTime", + "type": "uint48" + } + ], + "internalType": "struct IStakeManager.DepositInfo", + "name": "info", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "uint192", + "name": "key", + "type": "uint192" + } + ], + "name": "getNonce", + "outputs": [ + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "initCode", + "type": "bytes" + } + ], + "name": "getSenderAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "initCode", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "callData", + "type": "bytes" + }, + { + "internalType": "bytes32", + "name": "accountGasLimits", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "preVerificationGas", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "gasFees", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "paymasterAndData", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "internalType": "struct PackedUserOperation", + "name": "userOp", + "type": "tuple" + } + ], + "name": "getUserOpHash", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "components": [ + { + "internalType": "address", + "name": "sender", + "type": "address" }, - "typeName": { - "id": 8367, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 8366, - "name": "WebAuthnAuth", - "nameLocations": [ - "6767:12:21" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 8332, - "src": "6767:12:21" - }, - "referencedDeclaration": 8332, - "src": "6767:12:21", - "typeDescriptions": { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8332_storage_ptr", - "typeString": "struct WebAuthn.WebAuthnAuth" - } + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" }, - "visibility": "internal" - }, - { - "constant": false, - "id": 8370, - "mutability": "mutable", - "name": "x", - "nameLocation": "6809:1:21", - "nodeType": "VariableDeclaration", - "scope": 8557, - "src": "6801:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + { + "internalType": "bytes", + "name": "initCode", + "type": "bytes" }, - "typeName": { - "id": 8369, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6801:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + { + "internalType": "bytes", + "name": "callData", + "type": "bytes" }, - "visibility": "internal" - }, - { - "constant": false, - "id": 8372, - "mutability": "mutable", - "name": "y", - "nameLocation": "6820:1:21", - "nodeType": "VariableDeclaration", - "scope": 8557, - "src": "6812:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + { + "internalType": "bytes32", + "name": "accountGasLimits", + "type": "bytes32" }, - "typeName": { - "id": 8371, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6812:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + { + "internalType": "uint256", + "name": "preVerificationGas", + "type": "uint256" }, - "visibility": "internal" - } - ], - "src": "6726:96:21" - }, - "returnParameters": { - "id": 8376, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8375, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 8557, - "src": "6846:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + { + "internalType": "bytes32", + "name": "gasFees", + "type": "bytes32" }, - "typeName": { - "id": 8374, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6846:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } + { + "internalType": "bytes", + "name": "paymasterAndData", + "type": "bytes" }, - "visibility": "internal" - } - ], - "src": "6845:6:21" - }, - "scope": 8558, - "src": "6711:2894:21", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "internalType": "struct PackedUserOperation[]", + "name": "userOps", + "type": "tuple[]" + }, + { + "internalType": "contract IAggregator", + "name": "aggregator", + "type": "address" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "internalType": "struct IEntryPoint.UserOpsPerAggregator[]", + "name": "opsPerAggregator", + "type": "tuple[]" + }, + { + "internalType": "address payable", + "name": "beneficiary", + "type": "address" + } + ], + "name": "handleAggregatedOps", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "initCode", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "callData", + "type": "bytes" + }, + { + "internalType": "bytes32", + "name": "accountGasLimits", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "preVerificationGas", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "gasFees", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "paymasterAndData", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "internalType": "struct PackedUserOperation[]", + "name": "ops", + "type": "tuple[]" + }, + { + "internalType": "address payable", + "name": "beneficiary", + "type": "address" + } + ], + "name": "handleOps", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint192", + "name": "key", + "type": "uint192" + } + ], + "name": "incrementNonce", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "unlockStake", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address payable", + "name": "withdrawAddress", + "type": "address" + } + ], + "name": "withdrawStake", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address payable", + "name": "withdrawAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "withdrawAmount", + "type": "uint256" + } + ], + "name": "withdrawTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "addStake(uint32)": "0396cb60", + "balanceOf(address)": "70a08231", + "delegateAndRevert(address,bytes)": "850aaf62", + "depositTo(address)": "b760faf9", + "getDepositInfo(address)": "5287ce12", + "getNonce(address,uint192)": "35567e1a", + "getSenderAddress(bytes)": "9b249f69", + "getUserOpHash((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))": "22cdde4c", + "handleAggregatedOps(((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address,bytes)[],address)": "dbed18e0", + "handleOps((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address)": "765e827f", + "incrementNonce(uint192)": "0bd28e3b", + "unlockStake()": "bb9fe6bf", + "withdrawStake(address)": "c23a5cea", + "withdrawTo(address,uint256)": "205c2878" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"ret\",\"type\":\"bytes\"}],\"name\":\"DelegateAndRevert\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"FailedOp\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"inner\",\"type\":\"bytes\"}],\"name\":\"FailedOpWithRevert\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"name\":\"PostOpReverted\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"SenderAddressResult\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"aggregator\",\"type\":\"address\"}],\"name\":\"SignatureValidationFailed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"factory\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"}],\"name\":\"AccountDeployed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"BeforeExecution\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalDeposit\",\"type\":\"uint256\"}],\"name\":\"Deposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"revertReason\",\"type\":\"bytes\"}],\"name\":\"PostOpRevertReason\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"aggregator\",\"type\":\"address\"}],\"name\":\"SignatureAggregatorChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalStaked\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"unstakeDelaySec\",\"type\":\"uint256\"}],\"name\":\"StakeLocked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"withdrawTime\",\"type\":\"uint256\"}],\"name\":\"StakeUnlocked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"withdrawAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"StakeWithdrawn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"actualGasCost\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"actualGasUsed\",\"type\":\"uint256\"}],\"name\":\"UserOperationEvent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"UserOperationPrefundTooLow\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"revertReason\",\"type\":\"bytes\"}],\"name\":\"UserOperationRevertReason\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"withdrawAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Withdrawn\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_unstakeDelaySec\",\"type\":\"uint32\"}],\"name\":\"addStake\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"delegateAndRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"depositTo\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getDepositInfo\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"deposit\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"staked\",\"type\":\"bool\"},{\"internalType\":\"uint112\",\"name\":\"stake\",\"type\":\"uint112\"},{\"internalType\":\"uint32\",\"name\":\"unstakeDelaySec\",\"type\":\"uint32\"},{\"internalType\":\"uint48\",\"name\":\"withdrawTime\",\"type\":\"uint48\"}],\"internalType\":\"struct IStakeManager.DepositInfo\",\"name\":\"info\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint192\",\"name\":\"key\",\"type\":\"uint192\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"}],\"name\":\"getSenderAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation\",\"name\":\"userOp\",\"type\":\"tuple\"}],\"name\":\"getUserOpHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation[]\",\"name\":\"userOps\",\"type\":\"tuple[]\"},{\"internalType\":\"contract IAggregator\",\"name\":\"aggregator\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct IEntryPoint.UserOpsPerAggregator[]\",\"name\":\"opsPerAggregator\",\"type\":\"tuple[]\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"}],\"name\":\"handleAggregatedOps\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation[]\",\"name\":\"ops\",\"type\":\"tuple[]\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"}],\"name\":\"handleOps\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint192\",\"name\":\"key\",\"type\":\"uint192\"}],\"name\":\"incrementNonce\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unlockStake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"withdrawAddress\",\"type\":\"address\"}],\"name\":\"withdrawStake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"withdrawAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"withdrawAmount\",\"type\":\"uint256\"}],\"name\":\"withdrawTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"FailedOp(uint256,string)\":[{\"params\":{\"opIndex\":\"- Index into the array of ops to the failed one (in simulateValidation, this is always zero).\",\"reason\":\"- Revert reason. The string starts with a unique code \\\"AAmn\\\", where \\\"m\\\" is \\\"1\\\" for factory, \\\"2\\\" for account and \\\"3\\\" for paymaster issues, so a failure can be attributed to the correct entity.\"}}],\"FailedOpWithRevert(uint256,string,bytes)\":[{\"details\":\"note that inner is truncated to 2048 bytes\",\"params\":{\"inner\":\"- data from inner cought revert reason\",\"opIndex\":\"- Index into the array of ops to the failed one (in simulateValidation, this is always zero).\",\"reason\":\"- Revert reason. see FailedOp(uint256,string), above\"}}],\"SignatureValidationFailed(address)\":[{\"params\":{\"aggregator\":\"The aggregator that failed to verify the signature\"}}]},\"events\":{\"AccountDeployed(bytes32,address,address,address)\":{\"params\":{\"factory\":\"- The factory used to deploy this account (in the initCode)\",\"paymaster\":\"- The paymaster used by this UserOp\",\"sender\":\"- The account that is deployed\",\"userOpHash\":\"- The userOp that deployed this account. UserOperationEvent will follow.\"}},\"PostOpRevertReason(bytes32,address,uint256,bytes)\":{\"params\":{\"nonce\":\"- The nonce used in the request.\",\"revertReason\":\"- The return bytes from the (reverted) call to \\\"callData\\\".\",\"sender\":\"- The sender of this request.\",\"userOpHash\":\"- The request unique identifier.\"}},\"SignatureAggregatorChanged(address)\":{\"params\":{\"aggregator\":\"- The aggregator used for the following UserOperationEvents.\"}},\"UserOperationPrefundTooLow(bytes32,address,uint256)\":{\"params\":{\"nonce\":\"- The nonce used in the request.\",\"sender\":\"- The sender of this request.\",\"userOpHash\":\"- The request unique identifier.\"}},\"UserOperationRevertReason(bytes32,address,uint256,bytes)\":{\"params\":{\"nonce\":\"- The nonce used in the request.\",\"revertReason\":\"- The return bytes from the (reverted) call to \\\"callData\\\".\",\"sender\":\"- The sender of this request.\",\"userOpHash\":\"- The request unique identifier.\"}}},\"kind\":\"dev\",\"methods\":{\"addStake(uint32)\":{\"params\":{\"_unstakeDelaySec\":\"- The new lock duration before the deposit can be withdrawn.\"}},\"balanceOf(address)\":{\"params\":{\"account\":\"- The account to query.\"},\"returns\":{\"_0\":\"- The deposit (for gas payment) of the account.\"}},\"delegateAndRevert(address,bytes)\":{\"details\":\"calling this method, the EntryPoint will make a delegatecall to the given data, and report (via revert) the result. The method always revert, so is only useful off-chain for dry run calls, in cases where state-override to replace actual EntryPoint code is less convenient.\",\"params\":{\"data\":\"data to pass to target in a delegatecall\",\"target\":\"a target contract to make a delegatecall from entrypoint\"}},\"depositTo(address)\":{\"params\":{\"account\":\"- The account to add to.\"}},\"getDepositInfo(address)\":{\"params\":{\"account\":\"- The account to query.\"},\"returns\":{\"info\":\" - Full deposit information of given account.\"}},\"getNonce(address,uint192)\":{\"params\":{\"key\":\"the high 192 bit of the nonce\",\"sender\":\"the account address\"},\"returns\":{\"nonce\":\"a full nonce to pass for next UserOp with this sender.\"}},\"getSenderAddress(bytes)\":{\"params\":{\"initCode\":\"- The constructor code to be passed into the UserOperation.\"}},\"getUserOpHash((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))\":{\"params\":{\"userOp\":\"- The user operation to generate the request ID for.\"},\"returns\":{\"_0\":\"hash the hash of this UserOperation\"}},\"handleAggregatedOps(((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address,bytes)[],address)\":{\"params\":{\"beneficiary\":\"- The address to receive the fees.\",\"opsPerAggregator\":\"- The operations to execute, grouped by aggregator (or address(0) for no-aggregator accounts).\"}},\"handleOps((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address)\":{\"params\":{\"beneficiary\":\"- The address to receive the fees.\",\"ops\":\"- The operations to execute.\"}},\"withdrawStake(address)\":{\"params\":{\"withdrawAddress\":\"- The address to send withdrawn value.\"}},\"withdrawTo(address,uint256)\":{\"params\":{\"withdrawAddress\":\"- The address to send withdrawn value.\",\"withdrawAmount\":\"- The amount to withdraw.\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"FailedOp(uint256,string)\":[{\"notice\":\"A custom revert error of handleOps, to identify the offending op. Should be caught in off-chain handleOps simulation and not happen on-chain. Useful for mitigating DoS attempts against batchers or for troubleshooting of factory/account/paymaster reverts. NOTE: If simulateValidation passes successfully, there should be no reason for handleOps to fail on it.\"}],\"FailedOpWithRevert(uint256,string,bytes)\":[{\"notice\":\"A custom revert error of handleOps, to report a revert by account or paymaster.\"}],\"SignatureValidationFailed(address)\":[{\"notice\":\"Error case when a signature aggregator fails to verify the aggregated signature it had created.\"}]},\"events\":{\"AccountDeployed(bytes32,address,address,address)\":{\"notice\":\"Account \\\"sender\\\" was deployed.\"},\"BeforeExecution()\":{\"notice\":\"An event emitted by handleOps(), before starting the execution loop. Any event emitted before this event, is part of the validation.\"},\"PostOpRevertReason(bytes32,address,uint256,bytes)\":{\"notice\":\"An event emitted if the UserOperation Paymaster's \\\"postOp\\\" call reverted with non-zero length.\"},\"SignatureAggregatorChanged(address)\":{\"notice\":\"Signature aggregator used by the following UserOperationEvents within this bundle.\"},\"UserOperationPrefundTooLow(bytes32,address,uint256)\":{\"notice\":\"UserOp consumed more than prefund. The UserOperation is reverted, and no refund is made.\"},\"UserOperationRevertReason(bytes32,address,uint256,bytes)\":{\"notice\":\"An event emitted if the UserOperation \\\"callData\\\" reverted with non-zero length.\"}},\"kind\":\"user\",\"methods\":{\"addStake(uint32)\":{\"notice\":\"Add to the account's stake - amount and delay any pending unstake is first cancelled.\"},\"balanceOf(address)\":{\"notice\":\"Get account balance.\"},\"delegateAndRevert(address,bytes)\":{\"notice\":\"Helper method for dry-run testing.\"},\"depositTo(address)\":{\"notice\":\"Add to the deposit of the given account.\"},\"getDepositInfo(address)\":{\"notice\":\"Get deposit info.\"},\"getNonce(address,uint192)\":{\"notice\":\"Return the next nonce for this sender. Within a given key, the nonce values are sequenced (starting with zero, and incremented by one on each userop) But UserOp with different keys can come with arbitrary order.\"},\"getSenderAddress(bytes)\":{\"notice\":\"Get counterfactual sender address. Calculate the sender contract address that will be generated by the initCode and salt in the UserOperation. This method always revert, and returns the address in SenderAddressResult error\"},\"getUserOpHash((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))\":{\"notice\":\"Generate a request Id - unique identifier for this request. The request ID is a hash over the content of the userOp (except the signature), the entrypoint and the chainid.\"},\"handleAggregatedOps(((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address,bytes)[],address)\":{\"notice\":\"Execute a batch of UserOperation with Aggregators\"},\"handleOps((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address)\":{\"notice\":\"Execute a batch of UserOperations. No signature aggregator is used. If any account requires an aggregator (that is, it returned an aggregator when performing simulateValidation), then handleAggregatedOps() must be used instead.\"},\"incrementNonce(uint192)\":{\"notice\":\"Manually increment the nonce of the sender. This method is exposed just for completeness.. Account does NOT need to call it, neither during validation, nor elsewhere, as the EntryPoint will update the nonce regardless. Possible use-case is call it with various keys to \\\"initialize\\\" their nonces to one, so that future UserOperations will not pay extra for the first transaction with a given key.\"},\"unlockStake()\":{\"notice\":\"Attempt to unlock the stake. The value can be withdrawn (using withdrawStake) after the unstake delay.\"},\"withdrawStake(address)\":{\"notice\":\"Withdraw from the (unlocked) stake. Must first call unlockStake and wait for the unstakeDelay to pass.\"},\"withdrawTo(address,uint256)\":{\"notice\":\"Withdraw from the deposit.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@account-abstraction/contracts/interfaces/IEntryPoint.sol\":\"IEntryPoint\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@account-abstraction/contracts/interfaces/IAggregator.sol\":{\"keccak256\":\"0xf100d6fcc0c3b450b13e979b6a42c628c292a1bc340eccc2e7796b80e3975588\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://192938b5b27234d35c8098a319e879363c79f750eea4d0e409dc889a8ce5b155\",\"dweb:/ipfs/QmURpaJFPqEtkKP2ngBsgZhAGN8wAWh5XQpYmCkiz4Urz5\"]},\"@account-abstraction/contracts/interfaces/IEntryPoint.sol\":{\"keccak256\":\"0x1972a5fcb3a808b58c85af5741949ef6af11ab0debd3ae8c708171ae1ae0d0c4\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://baa9837ae73b9e2362a47d42d081d7c0f3d8e878e5edb381117d94a6968949c9\",\"dweb:/ipfs/QmUmo6FUE7fv5z1WzW1YFjxp8PqaeN2JrEee9au59w3Xhe\"]},\"@account-abstraction/contracts/interfaces/INonceManager.sol\":{\"keccak256\":\"0xd575af0f6ebbd5f0b2933307d44cd7b4e03a69f4b817a67db5409bd3c89aeecb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b1e2dea9b05cfba9d13339ed16d96457dc861013cc4f3f35b71a80f82448db3\",\"dweb:/ipfs/QmVaGy5uGDMSiU2SzyokTjoHFyb39VVG5wtaM9KTnHyZSk\"]},\"@account-abstraction/contracts/interfaces/IStakeManager.sol\":{\"keccak256\":\"0xbe5ca9e7f254d031687419e7b96ef48c9c63e9398bbe992dc72ffc6dc14e0a04\",\"license\":\"GPL-3.0-only\",\"urls\":[\"bzz-raw://1fffec71c38627a26fabb423350148009579f092623fb02b471a12d973763a00\",\"dweb:/ipfs/QmRBi31QEYXHj3x1AnQ2jKa2eziZH1b9av396P3b4dw6bj\"]},\"@account-abstraction/contracts/interfaces/PackedUserOperation.sol\":{\"keccak256\":\"0x1129b46381db68eddbc5cb49e50664667b66b03c480453858e7b25eabe444359\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://499a948aba60480dba6e25c763b8d918f1c246eb7a3302e04f493e080f3295be\",\"dweb:/ipfs/QmeRhhswf4NACcBKam2PyjpTP2ddSm648kah5kkQJsvwz3\"]}},\"version\":1}" + } + }, + "@account-abstraction/contracts/interfaces/INonceManager.sol": { + "INonceManager": { + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "uint192", + "name": "key", + "type": "uint192" + } + ], + "name": "getNonce", + "outputs": [ + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint192", + "name": "key", + "type": "uint192" + } + ], + "name": "incrementNonce", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "getNonce(address,uint192)": "35567e1a", + "incrementNonce(uint192)": "0bd28e3b" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint192\",\"name\":\"key\",\"type\":\"uint192\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint192\",\"name\":\"key\",\"type\":\"uint192\"}],\"name\":\"incrementNonce\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"getNonce(address,uint192)\":{\"params\":{\"key\":\"the high 192 bit of the nonce\",\"sender\":\"the account address\"},\"returns\":{\"nonce\":\"a full nonce to pass for next UserOp with this sender.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getNonce(address,uint192)\":{\"notice\":\"Return the next nonce for this sender. Within a given key, the nonce values are sequenced (starting with zero, and incremented by one on each userop) But UserOp with different keys can come with arbitrary order.\"},\"incrementNonce(uint192)\":{\"notice\":\"Manually increment the nonce of the sender. This method is exposed just for completeness.. Account does NOT need to call it, neither during validation, nor elsewhere, as the EntryPoint will update the nonce regardless. Possible use-case is call it with various keys to \\\"initialize\\\" their nonces to one, so that future UserOperations will not pay extra for the first transaction with a given key.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@account-abstraction/contracts/interfaces/INonceManager.sol\":\"INonceManager\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@account-abstraction/contracts/interfaces/INonceManager.sol\":{\"keccak256\":\"0xd575af0f6ebbd5f0b2933307d44cd7b4e03a69f4b817a67db5409bd3c89aeecb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b1e2dea9b05cfba9d13339ed16d96457dc861013cc4f3f35b71a80f82448db3\",\"dweb:/ipfs/QmVaGy5uGDMSiU2SzyokTjoHFyb39VVG5wtaM9KTnHyZSk\"]}},\"version\":1}" + } + }, + "@account-abstraction/contracts/interfaces/IPaymaster.sol": { + "IPaymaster": { + "abi": [ + { + "inputs": [ + { + "internalType": "enum IPaymaster.PostOpMode", + "name": "mode", + "type": "uint8" + }, + { + "internalType": "bytes", + "name": "context", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "actualGasCost", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "actualUserOpFeePerGas", + "type": "uint256" + } + ], + "name": "postOp", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "initCode", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "callData", + "type": "bytes" + }, + { + "internalType": "bytes32", + "name": "accountGasLimits", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "preVerificationGas", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "gasFees", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "paymasterAndData", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "internalType": "struct PackedUserOperation", + "name": "userOp", + "type": "tuple" + }, + { + "internalType": "bytes32", + "name": "userOpHash", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "maxCost", + "type": "uint256" + } + ], + "name": "validatePaymasterUserOp", + "outputs": [ + { + "internalType": "bytes", + "name": "context", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "validationData", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "postOp(uint8,bytes,uint256,uint256)": "7c627b21", + "validatePaymasterUserOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),bytes32,uint256)": "52b7512c" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"enum IPaymaster.PostOpMode\",\"name\":\"mode\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"context\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"actualGasCost\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"actualUserOpFeePerGas\",\"type\":\"uint256\"}],\"name\":\"postOp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation\",\"name\":\"userOp\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"maxCost\",\"type\":\"uint256\"}],\"name\":\"validatePaymasterUserOp\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"context\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"validationData\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"postOp(uint8,bytes,uint256,uint256)\":{\"params\":{\"actualGasCost\":\"- Actual gas used so far (without this postOp call).\",\"actualUserOpFeePerGas\":\"- the gas price this UserOp pays. This value is based on the UserOp's maxFeePerGas and maxPriorityFee (and basefee) It is not the same as tx.gasprice, which is what the bundler pays.\",\"context\":\"- The context value returned by validatePaymasterUserOp\",\"mode\":\"- Enum with the following options: opSucceeded - User operation succeeded. opReverted - User op reverted. The paymaster still has to pay for gas. postOpReverted - never passed in a call to postOp().\"}},\"validatePaymasterUserOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),bytes32,uint256)\":{\"params\":{\"maxCost\":\"- The maximum cost of this transaction (based on maximum gas and gas price from userOp).\",\"userOp\":\"- The user operation.\",\"userOpHash\":\"- Hash of the user's request data.\"},\"returns\":{\"context\":\" - Value to send to a postOp. Zero length to signify postOp is not required.\",\"validationData\":\"- Signature and time-range of this operation, encoded the same as the return value of validateUserOperation. <20-byte> sigAuthorizer - 0 for valid signature, 1 to mark signature failure, other values are invalid for paymaster. <6-byte> validUntil - last timestamp this operation is valid. 0 for \\\"indefinite\\\" <6-byte> validAfter - first timestamp this operation is valid Note that the validation code cannot use block.timestamp (or block.number) directly.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"postOp(uint8,bytes,uint256,uint256)\":{\"notice\":\"Post-operation handler. Must verify sender is the entryPoint.\"},\"validatePaymasterUserOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),bytes32,uint256)\":{\"notice\":\"Payment validation: check if paymaster agrees to pay. Must verify sender is the entryPoint. Revert to reject this request. Note that bundlers will reject this method if it changes the state, unless the paymaster is trusted (whitelisted). The paymaster pre-pays using its deposit, and receive back a refund after the postOp method returns.\"}},\"notice\":\"The interface exposed by a paymaster contract, who agrees to pay the gas for user's operations. A paymaster must hold a stake to cover the required entrypoint stake and also the gas for the transaction.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"@account-abstraction/contracts/interfaces/IPaymaster.sol\":\"IPaymaster\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@account-abstraction/contracts/interfaces/IPaymaster.sol\":{\"keccak256\":\"0x49d8dbf8a85b006bcd89bbc40e4e9e113997cc016007de85263bdae70572d07f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bc0d83804c1b795d5c216b3518cd176c48f90db28550f267cbd89746d6b476c8\",\"dweb:/ipfs/QmNdCm4c6hnt7f6Q8q21QjtCNZWWRUaMVEYnQHEv68VnKt\"]},\"@account-abstraction/contracts/interfaces/PackedUserOperation.sol\":{\"keccak256\":\"0x1129b46381db68eddbc5cb49e50664667b66b03c480453858e7b25eabe444359\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://499a948aba60480dba6e25c763b8d918f1c246eb7a3302e04f493e080f3295be\",\"dweb:/ipfs/QmeRhhswf4NACcBKam2PyjpTP2ddSm648kah5kkQJsvwz3\"]}},\"version\":1}" + } + }, + "@account-abstraction/contracts/interfaces/IStakeManager.sol": { + "IStakeManager": { + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "totalDeposit", + "type": "uint256" + } + ], + "name": "Deposited", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "totalStaked", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "unstakeDelaySec", + "type": "uint256" + } + ], + "name": "StakeLocked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "withdrawTime", + "type": "uint256" + } + ], + "name": "StakeUnlocked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "withdrawAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "StakeWithdrawn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "withdrawAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Withdrawn", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_unstakeDelaySec", + "type": "uint32" + } + ], + "name": "addStake", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "depositTo", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "getDepositInfo", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "deposit", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "staked", + "type": "bool" + }, + { + "internalType": "uint112", + "name": "stake", + "type": "uint112" + }, + { + "internalType": "uint32", + "name": "unstakeDelaySec", + "type": "uint32" + }, + { + "internalType": "uint48", + "name": "withdrawTime", + "type": "uint48" + } + ], + "internalType": "struct IStakeManager.DepositInfo", + "name": "info", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "unlockStake", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address payable", + "name": "withdrawAddress", + "type": "address" + } + ], + "name": "withdrawStake", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address payable", + "name": "withdrawAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "withdrawAmount", + "type": "uint256" + } + ], + "name": "withdrawTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "addStake(uint32)": "0396cb60", + "balanceOf(address)": "70a08231", + "depositTo(address)": "b760faf9", + "getDepositInfo(address)": "5287ce12", + "unlockStake()": "bb9fe6bf", + "withdrawStake(address)": "c23a5cea", + "withdrawTo(address,uint256)": "205c2878" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalDeposit\",\"type\":\"uint256\"}],\"name\":\"Deposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalStaked\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"unstakeDelaySec\",\"type\":\"uint256\"}],\"name\":\"StakeLocked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"withdrawTime\",\"type\":\"uint256\"}],\"name\":\"StakeUnlocked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"withdrawAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"StakeWithdrawn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"withdrawAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Withdrawn\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_unstakeDelaySec\",\"type\":\"uint32\"}],\"name\":\"addStake\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"depositTo\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getDepositInfo\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"deposit\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"staked\",\"type\":\"bool\"},{\"internalType\":\"uint112\",\"name\":\"stake\",\"type\":\"uint112\"},{\"internalType\":\"uint32\",\"name\":\"unstakeDelaySec\",\"type\":\"uint32\"},{\"internalType\":\"uint48\",\"name\":\"withdrawTime\",\"type\":\"uint48\"}],\"internalType\":\"struct IStakeManager.DepositInfo\",\"name\":\"info\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unlockStake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"withdrawAddress\",\"type\":\"address\"}],\"name\":\"withdrawStake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"withdrawAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"withdrawAmount\",\"type\":\"uint256\"}],\"name\":\"withdrawTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"addStake(uint32)\":{\"params\":{\"_unstakeDelaySec\":\"- The new lock duration before the deposit can be withdrawn.\"}},\"balanceOf(address)\":{\"params\":{\"account\":\"- The account to query.\"},\"returns\":{\"_0\":\"- The deposit (for gas payment) of the account.\"}},\"depositTo(address)\":{\"params\":{\"account\":\"- The account to add to.\"}},\"getDepositInfo(address)\":{\"params\":{\"account\":\"- The account to query.\"},\"returns\":{\"info\":\" - Full deposit information of given account.\"}},\"withdrawStake(address)\":{\"params\":{\"withdrawAddress\":\"- The address to send withdrawn value.\"}},\"withdrawTo(address,uint256)\":{\"params\":{\"withdrawAddress\":\"- The address to send withdrawn value.\",\"withdrawAmount\":\"- The amount to withdraw.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addStake(uint32)\":{\"notice\":\"Add to the account's stake - amount and delay any pending unstake is first cancelled.\"},\"balanceOf(address)\":{\"notice\":\"Get account balance.\"},\"depositTo(address)\":{\"notice\":\"Add to the deposit of the given account.\"},\"getDepositInfo(address)\":{\"notice\":\"Get deposit info.\"},\"unlockStake()\":{\"notice\":\"Attempt to unlock the stake. The value can be withdrawn (using withdrawStake) after the unstake delay.\"},\"withdrawStake(address)\":{\"notice\":\"Withdraw from the (unlocked) stake. Must first call unlockStake and wait for the unstakeDelay to pass.\"},\"withdrawTo(address,uint256)\":{\"notice\":\"Withdraw from the deposit.\"}},\"notice\":\"Manage deposits and stakes. Deposit is just a balance used to pay for UserOperations (either by a paymaster or an account). Stake is value locked for at least \\\"unstakeDelay\\\" by the staked entity.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"@account-abstraction/contracts/interfaces/IStakeManager.sol\":\"IStakeManager\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@account-abstraction/contracts/interfaces/IStakeManager.sol\":{\"keccak256\":\"0xbe5ca9e7f254d031687419e7b96ef48c9c63e9398bbe992dc72ffc6dc14e0a04\",\"license\":\"GPL-3.0-only\",\"urls\":[\"bzz-raw://1fffec71c38627a26fabb423350148009579f092623fb02b471a12d973763a00\",\"dweb:/ipfs/QmRBi31QEYXHj3x1AnQ2jKa2eziZH1b9av396P3b4dw6bj\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/access/Ownable.sol": { + "Ownable": { + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "OwnableInvalidOwner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "OwnableUnauthorizedAccount", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "owner()": "8da5cb5b", + "renounceOwnership()": "715018a6", + "transferOwnership(address)": "f2fde38b" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Contract module which provides a basic access control mechanism, where there is an account (an owner) that can be granted exclusive access to specific functions. The initial owner is set to the address provided by the deployer. This can later be changed with {transferOwnership}. This module is used through inheritance. It will make available the modifier `onlyOwner`, which can be applied to your functions to restrict their use to the owner.\",\"errors\":{\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}]},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Initializes the contract setting the address provided by the deployer as the initial owner.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/access/Ownable.sol\":\"Ownable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/interfaces/draft-IERC6093.sol": { + "IERC1155Errors": { + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "needed", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ERC1155InsufficientBalance", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "approver", + "type": "address" + } + ], + "name": "ERC1155InvalidApprover", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "idsLength", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "valuesLength", + "type": "uint256" + } + ], + "name": "ERC1155InvalidArrayLength", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "ERC1155InvalidOperator", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "receiver", + "type": "address" + } + ], + "name": "ERC1155InvalidReceiver", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "ERC1155InvalidSender", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" } ], - "scope": 8559, - "src": "761:8846:21", - "usedErrors": [], - "usedEvents": [] + "name": "ERC1155MissingApprovalForAll", + "type": "error" } ], - "src": "32:9576:21" + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC1155InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"idsLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"valuesLength\",\"type\":\"uint256\"}],\"name\":\"ERC1155InvalidArrayLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidOperator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC1155MissingApprovalForAll\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Standard ERC-1155 Errors Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-1155 tokens.\",\"errors\":{\"ERC1155InsufficientBalance(address,uint256,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC1155InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC1155InvalidArrayLength(uint256,uint256)\":[{\"details\":\"Indicates an array length mismatch between ids and values in a safeBatchTransferFrom operation. Used in batch transfers.\",\"params\":{\"idsLength\":\"Length of the array of token identifiers\",\"valuesLength\":\"Length of the array of token amounts\"}}],\"ERC1155InvalidOperator(address)\":[{\"details\":\"Indicates a failure with the `operator` to be approved. Used in approvals.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC1155InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC1155InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC1155MissingApprovalForAll(address,address)\":[{\"details\":\"Indicates a failure with the `operator`\\u2019s approval. Used in transfers.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\",\"owner\":\"Address of the current owner of a token.\"}}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":\"IERC1155Errors\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b\",\"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz\"]}},\"version\":1}" }, - "id": 21 - } - }, - "contracts": { - "@account-abstraction/contracts/core/UserOperationLib.sol": { - "UserOperationLib": { + "IERC20Errors": { "abi": [ { - "inputs": [], - "name": "PAYMASTER_DATA_OFFSET", + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "allowance", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "needed", + "type": "uint256" + } + ], + "name": "ERC20InsufficientAllowance", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "needed", + "type": "uint256" + } + ], + "name": "ERC20InsufficientBalance", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "approver", + "type": "address" + } + ], + "name": "ERC20InvalidApprover", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "receiver", + "type": "address" + } + ], + "name": "ERC20InvalidReceiver", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "ERC20InvalidSender", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "ERC20InvalidSpender", + "type": "error" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Standard ERC-20 Errors Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-20 tokens.\",\"errors\":{\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":\"IERC20Errors\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b\",\"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz\"]}},\"version\":1}" + }, + "IERC721Errors": { + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "ERC721IncorrectOwner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ERC721InsufficientApproval", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "approver", + "type": "address" + } + ], + "name": "ERC721InvalidApprover", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "ERC721InvalidOperator", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "ERC721InvalidOwner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "receiver", + "type": "address" + } + ], + "name": "ERC721InvalidReceiver", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "ERC721InvalidSender", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ERC721NonexistentToken", + "type": "error" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721IncorrectOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721InsufficientApproval\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOperator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC721InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721NonexistentToken\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Standard ERC-721 Errors Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-721 tokens.\",\"errors\":{\"ERC721IncorrectOwner(address,uint256,address)\":[{\"details\":\"Indicates an error related to the ownership over a particular token. Used in transfers.\",\"params\":{\"owner\":\"Address of the current owner of a token.\",\"sender\":\"Address whose tokens are being transferred.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InsufficientApproval(address,uint256)\":[{\"details\":\"Indicates a failure with the `operator`\\u2019s approval. Used in transfers.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC721InvalidOperator(address)\":[{\"details\":\"Indicates a failure with the `operator` to be approved. Used in approvals.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC721InvalidOwner(address)\":[{\"details\":\"Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in ERC-20. Used in balance queries.\",\"params\":{\"owner\":\"Address of the current owner of a token.\"}}],\"ERC721InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC721InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC721NonexistentToken(uint256)\":[{\"details\":\"Indicates a `tokenId` whose `owner` is the zero address.\",\"params\":{\"tokenId\":\"Identifier number of a token.\"}}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":\"IERC721Errors\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b\",\"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/token/ERC20/ERC20.sol": { + "ERC20": { + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "allowance", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "needed", + "type": "uint256" + } + ], + "name": "ERC20InsufficientAllowance", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "needed", + "type": "uint256" + } + ], + "name": "ERC20InsufficientBalance", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "approver", + "type": "address" + } + ], + "name": "ERC20InvalidApprover", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "receiver", + "type": "address" + } + ], + "name": "ERC20InvalidReceiver", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "ERC20InvalidSender", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "ERC20InvalidSpender", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", "outputs": [ { "internalType": "uint256", @@ -235182,7 +260335,253 @@ }, { "inputs": [], - "name": "PAYMASTER_POSTOP_GAS_OFFSET", + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "decimals()": "313ce567", + "name()": "06fdde03", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC20} interface. This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. TIP: For a detailed writeup see our guide https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. The default value of {decimals} is 18. To change this, you should override this function so it returns a different value. We have followed general OpenZeppelin Contracts guidelines: functions revert instead returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC-20 applications.\",\"errors\":{\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"constructor\":{\"details\":\"Sets the values for {name} and {symbol}. Both values are immutable: they can only be set once during construction.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":\"ERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b\",\"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x41f6b3b9e030561e7896dbef372b499cc8d418a80c3884a4d65a68f2fdc7493a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://80b0992a11b2fd1f75ced2971696d07bbd1d19ce6761dd50d8b6d48aa435f42a\",\"dweb:/ipfs/QmZDe5xd2gXHjVEjv9t8C1KQ68K5T8qFwdinwQgmP3rF3x\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf\",\"dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/token/ERC20/IERC20.sol": { + "IERC20": { + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", "outputs": [ { "internalType": "uint256", @@ -235195,7 +260594,7 @@ }, { "inputs": [], - "name": "PAYMASTER_VALIDATION_GAS_OFFSET", + "name": "totalSupply", "outputs": [ { "internalType": "uint256", @@ -235205,6 +260604,59 @@ ], "stateMutability": "view", "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" } ], "evm": { @@ -235212,104 +260664,253 @@ "functionDebugData": {}, "generatedSources": [], "linkReferences": {}, - "object": "6080806040523460175760b79081601d823930815050f35b600080fdfe6080806040526004361015601257600080fd5b60003560e01c90816325093e1b14606d57508063b29a8ff41460575763ede3150214603c57600080fd5b6000366003190112605257602060405160348152f35b600080fd5b6000366003190112605257602060405160148152f35b600036600319011260525780602460209252f3fea26469706673582212209661a61d84c2589e8888a66724dfc0094c2890a0d563100b16fe5cab892be50564736f6c634300081c0033", - "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE CALLVALUE PUSH1 0x17 JUMPI PUSH1 0xB7 SWAP1 DUP2 PUSH1 0x1D DUP3 CODECOPY ADDRESS DUP2 POP POP RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH1 0x12 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0x25093E1B EQ PUSH1 0x6D JUMPI POP DUP1 PUSH4 0xB29A8FF4 EQ PUSH1 0x57 JUMPI PUSH4 0xEDE31502 EQ PUSH1 0x3C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH1 0x52 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x34 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH1 0x52 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x14 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH1 0x52 JUMPI DUP1 PUSH1 0x24 PUSH1 0x20 SWAP3 MSTORE RETURN INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP7 PUSH2 0xA61D DUP5 0xC2 PC SWAP15 DUP9 DUP9 0xA6 PUSH8 0x24DFC0094C2890A0 0xD5 PUSH4 0x100B16FE TLOAD 0xAB DUP10 0x2B 0xE5 SDIV PUSH5 0x736F6C6343 STOP ADDMOD SHR STOP CALLER ", - "sourceMap": "278:4766:1:-:0;;;;;;;;;;;;;;;;;;;;;" + "object": "", + "opcodes": "", + "sourceMap": "" }, "deployedBytecode": { "functionDebugData": {}, "generatedSources": [], "immutableReferences": {}, "linkReferences": {}, - "object": "6080806040526004361015601257600080fd5b60003560e01c90816325093e1b14606d57508063b29a8ff41460575763ede3150214603c57600080fd5b6000366003190112605257602060405160348152f35b600080fd5b6000366003190112605257602060405160148152f35b600036600319011260525780602460209252f3fea26469706673582212209661a61d84c2589e8888a66724dfc0094c2890a0d563100b16fe5cab892be50564736f6c634300081c0033", - "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH1 0x12 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0x25093E1B EQ PUSH1 0x6D JUMPI POP DUP1 PUSH4 0xB29A8FF4 EQ PUSH1 0x57 JUMPI PUSH4 0xEDE31502 EQ PUSH1 0x3C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH1 0x52 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x34 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH1 0x52 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x14 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH1 0x52 JUMPI DUP1 PUSH1 0x24 PUSH1 0x20 SWAP3 MSTORE RETURN INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP7 PUSH2 0xA61D DUP5 0xC2 PC SWAP15 DUP9 DUP9 0xA6 PUSH8 0x24DFC0094C2890A0 0xD5 PUSH4 0x100B16FE TLOAD 0xAB DUP10 0x2B 0xE5 SDIV PUSH5 0x736F6C6343 STOP ADDMOD SHR STOP CALLER ", - "sourceMap": "278:4766:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;278:4766:1;;;;;;;486:2;278:4766;;;;;;;;;;-1:-1:-1;;278:4766:1;;;;;;;368:2;278:4766;;;;;;-1:-1:-1;;278:4766:1;;;;;430:2;278:4766;;;" + "object": "", + "opcodes": "", + "sourceMap": "" }, "methodIdentifiers": { - "PAYMASTER_DATA_OFFSET()": "ede31502", - "PAYMASTER_POSTOP_GAS_OFFSET()": "25093e1b", - "PAYMASTER_VALIDATION_GAS_OFFSET()": "b29a8ff4" + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd" } }, - "metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"PAYMASTER_DATA_OFFSET\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PAYMASTER_POSTOP_GAS_OFFSET\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PAYMASTER_VALIDATION_GAS_OFFSET\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Utility functions helpful when working with UserOperation structs.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"@account-abstraction/contracts/core/UserOperationLib.sol\":\"UserOperationLib\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@account-abstraction/contracts/core/Helpers.sol\":{\"keccak256\":\"0x42b948af5fa14a96149611595df1186800c7558b2de8762e4b45a7c45c16f65e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://737a7908131ece48a5df1faaa3d0be79c42792379c27f5615dae6aa14cd68c2f\",\"dweb:/ipfs/QmPAxGMDxuek7XWSUVfZpvYE8bustfsjTDVDK8hmE88e1f\"]},\"@account-abstraction/contracts/core/UserOperationLib.sol\":{\"keccak256\":\"0x2d3450fa3906422b6fdbbe7f2a2a9e36d6f3751bfa9cd80af88befd6a5be78c1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://292a0ef5295d7f2016e99d2c228958f7f6de94f5bd9652d8696af15af0094a99\",\"dweb:/ipfs/QmVg4fhkZbUB7AopGcaVPmTdvChq7W9ga8fjrc3XaJNTM2\"]},\"@account-abstraction/contracts/interfaces/PackedUserOperation.sol\":{\"keccak256\":\"0xb15188e25e45fe73097e279675b6c0beccbd4133ead2260f8f0c4ba840046800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d14c1edd1e95d37c26e54bb34305e2cc9dedc46eb75ec91caeb777678e8ea79\",\"dweb:/ipfs/QmcCL2syVtV7W3XvYx3si84MPkbEJKqEN8hjFNhAPoDDhK\"]}},\"version\":1}" + "metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC-20 standard as defined in the ERC.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets a `value` amount of tokens as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from `from` to `to` using the allowance mechanism. `value` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]}},\"version\":1}" } }, - "@account-abstraction/contracts/interfaces/IAccount.sol": { - "IAccount": { + "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol": { + "IERC20Metadata": { "abi": [ { + "anonymous": false, "inputs": [ { - "components": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "nonce", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "initCode", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "callData", - "type": "bytes" - }, - { - "internalType": "bytes32", - "name": "accountGasLimits", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "preVerificationGas", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "gasFees", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "paymasterAndData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - } - ], - "internalType": "struct PackedUserOperation", - "name": "userOp", - "type": "tuple" + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" }, { - "internalType": "bytes32", - "name": "userOpHash", - "type": "bytes32" + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" }, { + "indexed": false, "internalType": "uint256", - "name": "missingAccountFunds", + "name": "value", "type": "uint256" } ], - "name": "validateUserOp", + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", "outputs": [ { "internalType": "uint256", - "name": "validationData", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", "type": "uint256" } ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], "stateMutability": "nonpayable", "type": "function" } @@ -235333,10 +260934,92 @@ "sourceMap": "" }, "methodIdentifiers": { - "validateUserOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),bytes32,uint256)": "19822f7c" + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "decimals()": "313ce567", + "name()": "06fdde03", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for the optional metadata functions from the ERC-20 standard.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets a `value` amount of tokens as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"decimals()\":{\"details\":\"Returns the decimals places of the token.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from `from` to `to` using the allowance mechanism. `value` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":\"IERC20Metadata\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf\",\"dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/utils/Context.sol": { + "Context": { + "abi": [], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Context.sol\":\"Context\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/utils/introspection/IERC165.sol": { + "IERC165": { + "abi": [ + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "supportsInterface(bytes4)": "01ffc9a7" } }, - "metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation\",\"name\":\"userOp\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"missingAccountFunds\",\"type\":\"uint256\"}],\"name\":\"validateUserOp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"validationData\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"validateUserOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),bytes32,uint256)\":{\"details\":\"Must validate caller is the entryPoint. Must validate the signature and nonce\",\"params\":{\"missingAccountFunds\":\"- Missing funds on the account's deposit in the entrypoint. This is the minimum amount to transfer to the sender(entryPoint) to be able to make the call. The excess is left as a deposit in the entrypoint for future calls. Can be withdrawn anytime using \\\"entryPoint.withdrawTo()\\\". In case there is a paymaster in the request (or the current deposit is high enough), this value will be zero.\",\"userOp\":\"- The operation that is about to be executed.\",\"userOpHash\":\"- Hash of the user's request data. can be used as the basis for signature.\"},\"returns\":{\"validationData\":\" - Packaged ValidationData structure. use `_packValidationData` and `_unpackValidationData` to encode and decode. <20-byte> aggregatorOrSigFail - 0 for valid signature, 1 to mark signature failure, otherwise, an address of an \\\"aggregator\\\" contract. <6-byte> validUntil - Last timestamp this operation is valid at, or 0 for \\\"indefinitely\\\" <6-byte> validAfter - First timestamp this operation is valid If an account doesn't use time-range, it is enough to return SIG_VALIDATION_FAILED value (1) for signature failure. Note that the validation code cannot use block.timestamp (or block.number) directly.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"validateUserOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),bytes32,uint256)\":{\"notice\":\"Validate user's signature and nonce the entryPoint will make the call to the recipient only if this validation call returns successfully. signature failure should be reported by returning SIG_VALIDATION_FAILED (1). This allows making a \\\"simulation call\\\" without a valid signature Other failures (e.g. nonce mismatch, or invalid signature format) should still revert to signal failure.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@account-abstraction/contracts/interfaces/IAccount.sol\":\"IAccount\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@account-abstraction/contracts/interfaces/IAccount.sol\":{\"keccak256\":\"0x1030b464b49ce80da46b5b6c9af357c2d526f308de61391db6a4ec767d33b864\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://671945f8e18e7305797312b5a209506be3c9bd1d9b9b561c1e8863bccfa61319\",\"dweb:/ipfs/QmVanLK5Aenrb7J94doiE1C9oHwo86jvv8NrpDeNHwvnii\"]},\"@account-abstraction/contracts/interfaces/PackedUserOperation.sol\":{\"keccak256\":\"0xb15188e25e45fe73097e279675b6c0beccbd4133ead2260f8f0c4ba840046800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d14c1edd1e95d37c26e54bb34305e2cc9dedc46eb75ec91caeb777678e8ea79\",\"dweb:/ipfs/QmcCL2syVtV7W3XvYx3si84MPkbEJKqEN8hjFNhAPoDDhK\"]}},\"version\":1}" + "metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC-165 standard, as defined in the https://eips.ethereum.org/EIPS/eip-165[ERC]. Implementers can declare support of contract interfaces, which can then be queried by others ({ERC165Checker}). For an implementation, see {ERC165}.\",\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":\"IERC165\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]}},\"version\":1}" } }, "FreshCryptoLib/FCL_ecdsa.sol": { @@ -235349,7 +261032,7 @@ "linkReferences": {}, "object": "60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea26469706673582212209ea5b5661beb1be2f69808caf876e8831b38da425ca3fcec62ec3c6b664e4af664736f6c634300081c0033", "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE CALLVALUE PUSH1 0x17 JUMPI PUSH1 0x3A SWAP1 DUP2 PUSH1 0x1D DUP3 CODECOPY ADDRESS DUP2 POP POP RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP15 0xA5 0xB5 PUSH7 0x1BEB1BE2F69808 0xCA 0xF8 PUSH23 0xE8831B38DA425CA3FCEC62EC3C6B664E4AF664736F6C63 NUMBER STOP ADDMOD SHR STOP CALLER ", - "sourceMap": "1217:3244:4:-:0;;;;;;;;;;;;;;;;;;;;;" + "sourceMap": "1217:3244:17:-:0;;;;;;;;;;;;;;;;;;;;;" }, "deployedBytecode": { "functionDebugData": {}, @@ -235358,7 +261041,7 @@ "linkReferences": {}, "object": "600080fdfea26469706673582212209ea5b5661beb1be2f69808caf876e8831b38da425ca3fcec62ec3c6b664e4af664736f6c634300081c0033", "opcodes": "PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP15 0xA5 0xB5 PUSH7 0x1BEB1BE2F69808 0xCA 0xF8 PUSH23 0xE8831B38DA425CA3FCEC62EC3C6B664E4AF664736F6C63 NUMBER STOP ADDMOD SHR STOP CALLER ", - "sourceMap": "1217:3244:4:-:0;;" + "sourceMap": "1217:3244:17:-:0;;" }, "methodIdentifiers": {} }, @@ -235375,7 +261058,7 @@ "linkReferences": {}, "object": "60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea2646970667358221220a3d696919b263b7170c2483d35c375e2cb8a7aa6ef6f80d531af5adc504c3d6164736f6c634300081c0033", "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE CALLVALUE PUSH1 0x17 JUMPI PUSH1 0x3A SWAP1 DUP2 PUSH1 0x1D DUP3 CODECOPY ADDRESS DUP2 POP POP RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 LOG3 0xD6 SWAP7 SWAP2 SWAP12 0x26 EXTCODESIZE PUSH18 0x70C2483D35C375E2CB8A7AA6EF6F80D531AF GAS 0xDC POP 0x4C RETURNDATASIZE PUSH2 0x6473 PUSH16 0x6C634300081C00330000000000000000 ", - "sourceMap": "1220:39313:5:-:0;;;;;;;;;;;;;;;;;;;;;" + "sourceMap": "1220:39313:18:-:0;;;;;;;;;;;;;;;;;;;;;" }, "deployedBytecode": { "functionDebugData": {}, @@ -235384,7 +261067,7 @@ "linkReferences": {}, "object": "600080fdfea2646970667358221220a3d696919b263b7170c2483d35c375e2cb8a7aa6ef6f80d531af5adc504c3d6164736f6c634300081c0033", "opcodes": "PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 LOG3 0xD6 SWAP7 SWAP2 SWAP12 0x26 EXTCODESIZE PUSH18 0x70C2483D35C375E2CB8A7AA6EF6F80D531AF GAS 0xDC POP 0x4C RETURNDATASIZE PUSH2 0x6473 PUSH16 0x6C634300081C00330000000000000000 ", - "sourceMap": "1220:39313:5:-:0;;" + "sourceMap": "1220:39313:18:-:0;;" }, "methodIdentifiers": {} }, @@ -235401,7 +261084,7 @@ "linkReferences": {}, "object": "60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea2646970667358221220a185923cc00d2e855a2c4d8df49b7da5249b20dbdbc30f0f6c2ef410b239ff4364736f6c634300081c0033", "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE CALLVALUE PUSH1 0x17 JUMPI PUSH1 0x3A SWAP1 DUP2 PUSH1 0x1D DUP3 CODECOPY ADDRESS DUP2 POP POP RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 LOG1 DUP6 SWAP3 EXTCODECOPY 0xC0 0xD 0x2E DUP6 GAS 0x2C 0x4D DUP14 DELEGATECALL SWAP12 PUSH30 0xA5249B20DBDBC30F0F6C2EF410B239FF4364736F6C634300081C00330000 ", - "sourceMap": "202:5008:6:-:0;;;;;;;;;;;;;;;;;;;;;" + "sourceMap": "202:5008:19:-:0;;;;;;;;;;;;;;;;;;;;;" }, "deployedBytecode": { "functionDebugData": {}, @@ -235410,7 +261093,7 @@ "linkReferences": {}, "object": "600080fdfea2646970667358221220a185923cc00d2e855a2c4d8df49b7da5249b20dbdbc30f0f6c2ef410b239ff4364736f6c634300081c0033", "opcodes": "PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 LOG1 DUP6 SWAP3 EXTCODECOPY 0xC0 0xD 0x2E DUP6 GAS 0x2C 0x4D DUP14 DELEGATECALL SWAP12 PUSH30 0xA5249B20DBDBC30F0F6C2EF410B239FF4364736F6C634300081C00330000 ", - "sourceMap": "202:5008:6:-:0;;" + "sourceMap": "202:5008:19:-:0;;" }, "methodIdentifiers": {} }, @@ -235473,7 +261156,7 @@ "linkReferences": {}, "object": "60a08060405234601d5730608052603a908160238239608051815050f35b600080fdfe600080fdfea26469706673582212200f4e22115b69c9ec60462a11c134d045c14a77c159e554c3267a594e8774d8b864736f6c634300081c0033", "opcodes": "PUSH1 0xA0 DUP1 PUSH1 0x40 MSTORE CALLVALUE PUSH1 0x1D JUMPI ADDRESS PUSH1 0x80 MSTORE PUSH1 0x3A SWAP1 DUP2 PUSH1 0x23 DUP3 CODECOPY PUSH1 0x80 MLOAD DUP2 POP POP RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xF 0x4E 0x22 GT JUMPDEST PUSH10 0xC9EC60462A11C134D045 0xC1 BLOBBASEFEE PUSH24 0xC159E554C3267A594E8774D8B864736F6C634300081C0033 ", - "sourceMap": "198:4295:8:-:0;;;;;;;1279:4;1255:31;;198:4295;;;;;;1255:31;198:4295;;;;;;;;" + "sourceMap": "198:4295:21:-:0;;;;;;;1279:4;1255:31;;198:4295;;;;;;1255:31;198:4295;;;;;;;;" }, "deployedBytecode": { "functionDebugData": {}, @@ -235482,7 +261165,7 @@ "linkReferences": {}, "object": "600080fdfea26469706673582212200f4e22115b69c9ec60462a11c134d045c14a77c159e554c3267a594e8774d8b864736f6c634300081c0033", "opcodes": "PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xF 0x4E 0x22 GT JUMPDEST PUSH10 0xC9EC60462A11C134D045 0xC1 BLOBBASEFEE PUSH24 0xC159E554C3267A594E8774D8B864736F6C634300081C0033 ", - "sourceMap": "198:4295:8:-:0;;" + "sourceMap": "198:4295:21:-:0;;" }, "methodIdentifiers": {} }, @@ -235499,7 +261182,7 @@ "linkReferences": {}, "object": "60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea264697066735822122013509f86b48312e9cc2deb4bb3f58fdca22930db1d63f87d97ed75ad3f4f232564736f6c634300081c0033", "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE CALLVALUE PUSH1 0x17 JUMPI PUSH1 0x3A SWAP1 DUP2 PUSH1 0x1D DUP3 CODECOPY ADDRESS DUP2 POP POP RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SGT POP SWAP16 DUP7 0xB4 DUP4 SLT 0xE9 0xCC 0x2D 0xEB 0x4B 0xB3 CREATE2 DUP16 0xDC LOG2 0x29 ADDRESS 0xDB SAR PUSH4 0xF87D97ED PUSH22 0xAD3F4F232564736F6C634300081C0033000000000000 ", - "sourceMap": "197:34035:9:-:0;;;;;;;;;;;;;;;;;;;;;" + "sourceMap": "197:34035:22:-:0;;;;;;;;;;;;;;;;;;;;;" }, "deployedBytecode": { "functionDebugData": {}, @@ -235508,7 +261191,7 @@ "linkReferences": {}, "object": "600080fdfea264697066735822122013509f86b48312e9cc2deb4bb3f58fdca22930db1d63f87d97ed75ad3f4f232564736f6c634300081c0033", "opcodes": "PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SGT POP SWAP16 DUP7 0xB4 DUP4 SLT 0xE9 0xCC 0x2D 0xEB 0x4B 0xB3 CREATE2 DUP16 0xDC LOG2 0x29 ADDRESS 0xDB SAR PUSH4 0xF87D97ED PUSH22 0xAD3F4F232564736F6C634300081C0033000000000000 ", - "sourceMap": "197:34035:9:-:0;;" + "sourceMap": "197:34035:22:-:0;;" }, "methodIdentifiers": {} }, @@ -235541,7 +261224,7 @@ "linkReferences": {}, "object": "60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea264697066735822122021078c0b40a1425b0f70cdb7636626a7af628dc05a74c92015d6ae21574421ea64736f6c634300081c0033", "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE CALLVALUE PUSH1 0x17 JUMPI PUSH1 0x3A SWAP1 DUP2 PUSH1 0x1D DUP3 CODECOPY ADDRESS DUP2 POP POP RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x21 SMOD DUP13 SIGNEXTEND BLOCKHASH LOG1 TIMESTAMP JUMPDEST 0xF PUSH17 0xCDB7636626A7AF628DC05A74C92015D6AE 0x21 JUMPI PREVRANDAO 0x21 0xEA PUSH5 0x736F6C6343 STOP ADDMOD SHR STOP CALLER ", - "sourceMap": "3756:152678:10:-:0;;;;;;;;;;;;;;;;;;;;;" + "sourceMap": "3756:152678:23:-:0;;;;;;;;;;;;;;;;;;;;;" }, "deployedBytecode": { "functionDebugData": {}, @@ -235550,7 +261233,7 @@ "linkReferences": {}, "object": "600080fdfea264697066735822122021078c0b40a1425b0f70cdb7636626a7af628dc05a74c92015d6ae21574421ea64736f6c634300081c0033", "opcodes": "PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x21 SMOD DUP13 SIGNEXTEND BLOCKHASH LOG1 TIMESTAMP JUMPDEST 0xF PUSH17 0xCDB7636626A7AF628DC05A74C92015D6AE 0x21 JUMPI PREVRANDAO 0x21 0xEA PUSH5 0x736F6C6343 STOP ADDMOD SHR STOP CALLER ", - "sourceMap": "3756:152678:10:-:0;;" + "sourceMap": "3756:152678:23:-:0;;" }, "methodIdentifiers": {} }, @@ -235583,7 +261266,7 @@ "linkReferences": {}, "object": "60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea2646970667358221220ab6cad7b68e06ba2d4d7a3b774278f60527efe5ba94662a3757478eb084700a364736f6c634300081c0033", "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE CALLVALUE PUSH1 0x17 JUMPI PUSH1 0x3A SWAP1 DUP2 PUSH1 0x1D DUP3 CODECOPY ADDRESS DUP2 POP POP RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xAB PUSH13 0xAD7B68E06BA2D4D7A3B774278F PUSH1 0x52 PUSH31 0xFE5BA94662A3757478EB084700A364736F6C634300081C0033000000000000 ", - "sourceMap": "690:43561:11:-:0;;;;;;;;;;;;;;;;;;;;;" + "sourceMap": "690:43561:24:-:0;;;;;;;;;;;;;;;;;;;;;" }, "deployedBytecode": { "functionDebugData": {}, @@ -235592,7 +261275,7 @@ "linkReferences": {}, "object": "600080fdfea2646970667358221220ab6cad7b68e06ba2d4d7a3b774278f60527efe5ba94662a3757478eb084700a364736f6c634300081c0033", "opcodes": "PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xAB PUSH13 0xAD7B68E06BA2D4D7A3B774278F PUSH1 0x52 PUSH31 0xFE5BA94662A3757478EB084700A364736F6C634300081C0033000000000000 ", - "sourceMap": "690:43561:11:-:0;;" + "sourceMap": "690:43561:24:-:0;;" }, "methodIdentifiers": {} }, @@ -235609,7 +261292,7 @@ "linkReferences": {}, "object": "60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea26469706673582212205e6a4e99a3a11eaf2dc5391896d7dc787d8d403a88150a42c9eec17c4322cc3064736f6c634300081c0033", "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE CALLVALUE PUSH1 0x17 JUMPI PUSH1 0x3A SWAP1 DUP2 PUSH1 0x1D DUP3 CODECOPY ADDRESS DUP2 POP POP RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 MCOPY PUSH11 0x4E99A3A11EAF2DC5391896 0xD7 0xDC PUSH25 0x7D8D403A88150A42C9EEC17C4322CC3064736F6C634300081C STOP CALLER ", - "sourceMap": "1438:24323:12:-:0;;;;;;;;;;;;;;;;;;;;;" + "sourceMap": "1438:24323:25:-:0;;;;;;;;;;;;;;;;;;;;;" }, "deployedBytecode": { "functionDebugData": {}, @@ -235618,7 +261301,7 @@ "linkReferences": {}, "object": "600080fdfea26469706673582212205e6a4e99a3a11eaf2dc5391896d7dc787d8d403a88150a42c9eec17c4322cc3064736f6c634300081c0033", "opcodes": "PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 MCOPY PUSH11 0x4E99A3A11EAF2DC5391896 0xD7 0xDC PUSH25 0x7D8D403A88150A42C9EEC17C4322CC3064736F6C634300081C STOP CALLER ", - "sourceMap": "1438:24323:12:-:0;;" + "sourceMap": "1438:24323:25:-:0;;" }, "methodIdentifiers": {} }, @@ -235789,6 +261472,19 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [], + "name": "getSignatureLifetime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { @@ -235895,12 +261591,13 @@ "methodIdentifiers": { "domainSeparator()": "f698da25", "eip712Domain()": "84b0196e", + "getSignatureLifetime()": "17452caa", "isValidSignature(bytes32,bytes)": "1626ba7e", "replaySafeHash(bytes32)": "ce1506be", "signedStaticCall((address,bytes,uint256,bytes))": "737bebdd" } }, - "metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InvalidSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expiredAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentTimestamp\",\"type\":\"uint256\"}],\"name\":\"SignatureExpired\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"domainSeparator\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"isValidSignature\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"result\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"}],\"name\":\"replaySafeHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"signedAt\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct StaticCall\",\"name\":\"call\",\"type\":\"tuple\"}],\"name\":\"signedStaticCall\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"domainSeparator()\":{\"details\":\"Implements domainSeparator = hashStruct(eip712Domain). See https://eips.ethereum.org/EIPS/eip-712#definition-of-domainseparator.\",\"returns\":{\"_0\":\"The 32 bytes domain separator result.\"}},\"eip712Domain()\":{\"details\":\"Follows ERC-5267 (see https://eips.ethereum.org/EIPS/eip-5267).\",\"returns\":{\"chainId\":\"The value of the `EIP712Domain.chainId` field.\",\"extensions\":\"The list of EIP numbers, that extends EIP-712 with new domain fields.\",\"fields\":\"The bitmap of used fields.\",\"name\":\"The value of the `EIP712Domain.name` field.\",\"salt\":\"The value of the `EIP712Domain.salt` field.\",\"verifyingContract\":\"The value of the `EIP712Domain.verifyingContract` field.\",\"version\":\"The value of the `EIP712Domain.version` field.\"}},\"isValidSignature(bytes32,bytes)\":{\"details\":\"This implementation follows ERC-1271. See https://eips.ethereum.org/EIPS/eip-1271.IMPORTANT: Signature verification is performed on the hash produced AFTER applying the anti cross-account-replay layer on the given `hash` (i.e., verification is run on the replay-safe hash version).\",\"params\":{\"hash\":\"The original hash.\",\"signature\":\"The signature of the replay-safe hash to validate.\"},\"returns\":{\"result\":\"`0x1626ba7e` if validation succeeded, else `0xffffffff`.\"}},\"replaySafeHash(bytes32)\":{\"details\":\"The returned EIP-712 compliant replay-safe hash is the result of: keccak256( \\\\x19\\\\x01 || this.domainSeparator || hashStruct(GianoSmartWalletMessage({ hash: `hash`})) )\",\"params\":{\"hash\":\"The original hash.\"},\"returns\":{\"_0\":\"The corresponding replay-safe hash.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"domainSeparator()\":{\"notice\":\"Returns the `domainSeparator` used to create EIP-712 compliant hashes.\"},\"eip712Domain()\":{\"notice\":\"Returns information about the `EIP712Domain` used to create EIP-712 compliant hashes.\"},\"isValidSignature(bytes32,bytes)\":{\"notice\":\"Validates the `signature` against the given `hash`.\"},\"replaySafeHash(bytes32)\":{\"notice\":\"Wrapper around `_eip712Hash()` to produce a replay-safe hash fron the given `hash`.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/AuthenticatedStaticCaller.sol\":\"AuthenticatedStaticCaller\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"src/AuthenticatedStaticCaller.sol\":{\"keccak256\":\"0x17f20b3b0656a90ce191a20803ea099c08e77ad51a9b2983124a809cd8387c36\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afa1d387dd11f9b3cbe06e47293fe5a5f8072af89a007b0e2bebd248637fc9f5\",\"dweb:/ipfs/QmRFSkpcryVHnHKFQoWjHnJksMBQrTeiex1SLufctBha4u\"]},\"src/ERC1271.sol\":{\"keccak256\":\"0x75c3fe08b6e1789dab7714196704f425d1afea21d725fcb6c418a70ef5bf6fad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dd292bcf9b1891abb517323636493499dbdd00bebc1f759c07fb26e103a1b71d\",\"dweb:/ipfs/QmWMT3C54pakfUCTkcPzFQAvE8nRnPqDDpFaDhY5A9fpEp\"]}},\"version\":1}" + "metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InvalidSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expiredAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentTimestamp\",\"type\":\"uint256\"}],\"name\":\"SignatureExpired\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"domainSeparator\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSignatureLifetime\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"isValidSignature\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"result\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"}],\"name\":\"replaySafeHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"signedAt\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct StaticCall\",\"name\":\"call\",\"type\":\"tuple\"}],\"name\":\"signedStaticCall\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"domainSeparator()\":{\"details\":\"Implements domainSeparator = hashStruct(eip712Domain). See https://eips.ethereum.org/EIPS/eip-712#definition-of-domainseparator.\",\"returns\":{\"_0\":\"The 32 bytes domain separator result.\"}},\"eip712Domain()\":{\"details\":\"Follows ERC-5267 (see https://eips.ethereum.org/EIPS/eip-5267).\",\"returns\":{\"chainId\":\"The value of the `EIP712Domain.chainId` field.\",\"extensions\":\"The list of EIP numbers, that extends EIP-712 with new domain fields.\",\"fields\":\"The bitmap of used fields.\",\"name\":\"The value of the `EIP712Domain.name` field.\",\"salt\":\"The value of the `EIP712Domain.salt` field.\",\"verifyingContract\":\"The value of the `EIP712Domain.verifyingContract` field.\",\"version\":\"The value of the `EIP712Domain.version` field.\"}},\"isValidSignature(bytes32,bytes)\":{\"details\":\"This implementation follows ERC-1271. See https://eips.ethereum.org/EIPS/eip-1271.IMPORTANT: Signature verification is performed on the hash produced AFTER applying the anti cross-account-replay layer on the given `hash` (i.e., verification is run on the replay-safe hash version).\",\"params\":{\"hash\":\"The original hash.\",\"signature\":\"The signature of the replay-safe hash to validate.\"},\"returns\":{\"result\":\"`0x1626ba7e` if validation succeeded, else `0xffffffff`.\"}},\"replaySafeHash(bytes32)\":{\"details\":\"The returned EIP-712 compliant replay-safe hash is the result of: keccak256( \\\\x19\\\\x01 || this.domainSeparator || hashStruct(GianoSmartWalletMessage({ hash: `hash`})) )\",\"params\":{\"hash\":\"The original hash.\"},\"returns\":{\"_0\":\"The corresponding replay-safe hash.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"domainSeparator()\":{\"notice\":\"Returns the `domainSeparator` used to create EIP-712 compliant hashes.\"},\"eip712Domain()\":{\"notice\":\"Returns information about the `EIP712Domain` used to create EIP-712 compliant hashes.\"},\"isValidSignature(bytes32,bytes)\":{\"notice\":\"Validates the `signature` against the given `hash`.\"},\"replaySafeHash(bytes32)\":{\"notice\":\"Wrapper around `_eip712Hash()` to produce a replay-safe hash fron the given `hash`.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/AuthenticatedStaticCaller.sol\":\"AuthenticatedStaticCaller\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"src/AuthenticatedStaticCaller.sol\":{\"keccak256\":\"0x06bb6bea86630eda0e5920c4fe4a5d51e89d18072faf7c4b5d7ae8ca82b87b94\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2920f02558ea8bbe8ca21cbe1bcbbea7d3c4d7f0d3e812cde706f95c53b399aa\",\"dweb:/ipfs/QmaNpbMazUf1n6hpXSMq7RDJix7ipPiALKE93fMmBtbS4A\"]},\"src/ERC1271.sol\":{\"keccak256\":\"0x75c3fe08b6e1789dab7714196704f425d1afea21d725fcb6c418a70ef5bf6fad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dd292bcf9b1891abb517323636493499dbdd00bebc1f759c07fb26e103a1b71d\",\"dweb:/ipfs/QmWMT3C54pakfUCTkcPzFQAvE8nRnPqDDpFaDhY5A9fpEp\"]}},\"version\":1}" } }, "src/CredentialKeyMapper.sol": { @@ -236023,9 +261720,9 @@ "functionDebugData": {}, "generatedSources": [], "linkReferences": {}, - "object": "608080604052346015576114da908161001b8239f35b600080fdfe6080604052600436101561001257600080fd5b60003560e01c8063185d0dcd146100475780631874cc361461004257637415a7251461003d57600080fd5b610120565b6100bf565b346100ba5760203660031901126100ba5760043561006560c0604052565b6000608052600060a05260005260006020526100b6604060002060016040519161008e836101d6565b8054835201546020820152604051918291829190916020806040830194805184520151910152565b0390f35b600080fd5b346100ba5760403660031901126100ba5760243560043567ffffffffffffffff82116100ba57366023830112156100ba5781600401359067ffffffffffffffff82116100ba5736602483850101116100ba57602461011e93019061022a565b005b346100ba5760603660031901126100ba5760043560403660231901126100ba578060005260006020526040600020546101ac57602435801580156101a2575b6101895761011e61017a836000526000602052604060002090565b60243581556001604435910155565b6339b4a3c160e01b600052600452604480356024526000fd5b506044351561015f565b6377864e4b60e11b60005260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff8211176101f257604052565b6101c0565b90601f8019910116810190811067ffffffffffffffff8211176101f257604052565b6040519061022860c0836101f7565b565b6040516020810190630c3a661b60e11b8252826024820152602481526102516044826101f7565b5190209181600052600060205260406000205493826000526000602052600160406000200154908201916020818403126100ba5780359067ffffffffffffffff82116100ba57019460c0868403126100ba576102ab610219565b863567ffffffffffffffff81116100ba57846102c8918901610388565b815260208701359667ffffffffffffffff88116100ba5761034a6103609760a0836102fe61034f996102289d61033c9701610388565b6020870152604081013560408701526060810135606087015260808101356080870152013560a0850152604051928391602083019190602083019252565b03601f1981018352826101f7565b610540565b506000526000602052604060002090565b60016000918281550155565b67ffffffffffffffff81116101f257601f01601f191660200190565b81601f820112156100ba576020813591016103a28261036c565b926103b060405194856101f7565b828452828201116100ba5781600092602092838601378301015290565b634e487b7160e01b600052601160045260246000fd5b90601582018092116103f157565b6103cd565b90600282018092116103f157565b919082018092116103f157565b60005b8381106104245750506000910152565b8181015183820152602001610414565b9061044760209282815194859201610411565b0190565b906102286001602d60405180956c1131b430b63632b733b2911d1160991b60208301526104818151809260208686019101610411565b8101601160f91b838201520301601e198101855201836101f7565b8051602010156104ac5760400190565b634e487b7160e01b600052603260045260246000fd5b6040513d6000823e3d90fd5b60209291906104e4849282815194859201610411565b019081520190565b604051906104fb6020836101f7565b60008252565b3d1561052c573d906105128261036c565b9161052060405193846101f7565b82523d6000602084013e565b606090565b908160209103126100ba575190565b92919060009360a082019485517f7fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a8106107205760208301917fff1a2a9176d650e4a99dedb58f1793003935130579fe17b5a3f698ac5b00e6346105b2845160608701516105ac816103e3565b916108ca565b6020815191012003610729576105ca6105cf91610733565b61044b565b6105e4835160408601516105ac845182610404565b6020815191012090602081519101200361072057600160f81b600160f81b61061d61060f865161049c565b516001600160f81b03191690565b16036107205761063a602092600092505160405191828092610434565b039060025afa1561071b57602060006106708151610664855161033c6040519384928884016104ce565b60405191828092610434565b039060025afa1561071b5760806000519101936000808651856106c3855161033c8a60405194859360208501978c899192608093969594919660a084019784526020840152604083015260608201520152565b51906101005afa946106d3610501565b80519680610712575b6106f257506106ef9550519051916107c2565b90565b60019661070e9650810160209081019550019250610531915050565b1490565b508615156106dc565b6104c2565b94505050505090565b5094505050505090565b6040516106ef916107456060836101f7565b604082527f4142434445464748494a4b4c4d4e4f505152535455565758595a61626364656660208301527f6768696a6b6c6d6e6f707172737475767778797a303132333435363738392d5f604083015261098e565b600080516020611485833981519152039060008051602061148583398151915282116103f157565b9391909293831580156108b2575b80156108aa575b8015610892575b610888576107ec8386610a36565b156108885760405191602083526020808401526020604084015260608301527fffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254f608083015260008051602061148583398151915260a083015260208260c0816005600019fa156100ba5760008051602061148583398151915294610882938661087c945181818909940991610b11565b9161079a565b90081590565b5050505050600090565b506000805160206114858339815191528210156107de565b5081156107d7565b506000805160206114858339815191528410156107d0565b80516060949392908381111561093c575b81811115610934575b508281106108f157505050565b6040519450918290039101601f8201601f19165b8181015185820152601f190190811561091e5790610905565b5050604081840160006020820152016040528252565b9050386108e4565b9250826108db565b600281901b91906001600160fe1b038116036103f157565b906109668261036c565b61097360405191826101f7565b8281528092610984601f199161036c565b0190602036910137565b90815115610a2c57906109bb6109b66109af6109aa8451610944565b6103f6565b6003900490565b61095c565b91602083019082805101906020820192835194600085525b8381106109e257505050505290565b600360049101916001603f845182828260121c16880101518453828282600c1c16880101518385015382828260061c168801015160028501531685010151600382015301906109d3565b50506106ef6104ec565b600160601b63ffffffff60c01b03198110801590610af9575b8015610ae8575b610ae157600160601b63ffffffff60c01b0319907f5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b908290817fffffffff00000001000000000000000000000000fffffffffffffffffffffffc820990600160601b63ffffffff60c01b0319908181800909080890600160601b63ffffffff60c01b03199080091490565b5050600090565b5080158015610a5657508115610a56565b50600160601b63ffffffff60c01b0319821015610a4f565b9092600092908360ff81841580611108575b6110fd57610b318887611110565b9290918215806110f5575b6110ba575b5085811c60028660fe1c16015b156110a157600186821c16600286831c60011b160160018114611056575b60028114611049575b60031461103c575b600198600019919091019694959489949392915b8860001911610c0f5750505050505050505060405191606083015260208252602080830152602060408301526002600160601b0363ffffffff60c01b03196080830152600163ffffffff60601b0360601b1960a083015260208260c0816005600019fa156100ba579051600160601b63ffffffff60c01b0319910990565b909192939495969798600163ffffffff60601b0360601b198660020990600160601b63ffffffff60c01b0319828009600160601b63ffffffff60c01b031981830992600160601b63ffffffff60c01b03199082900991600160601b63ffffffff60c01b03199081908f8281830891600160601b63ffffffff60c01b031991820390080960030998600160601b63ffffffff60c01b03199083099c600160601b63ffffffff60c01b0319910991600160601b63ffffffff60c01b031980826002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b03198b80090898600160601b63ffffffff60c01b031991829081038b08900996600160601b63ffffffff60c01b03199088908290840908968b60028c60018d841c16921c60011b1601801561101f5760018114610fd4575b60028114610fc9575b600314610fc0575b8215610fad57600160601b63ffffffff60c01b031990889082908f90090890600160601b63ffffffff60c01b03199089820390829085900908978115610e73575b600160601b63ffffffff60c01b031989800998600160601b63ffffffff60c01b0319908a0992600160601b63ffffffff60c01b0319908a90099c600160601b63ffffffff60c01b03199084900998600160601b63ffffffff60c01b03199109600160601b63ffffffff60c01b031980826002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b031985810381868009080897600160601b63ffffffff60c01b03199384910991600160601b63ffffffff60c01b03199182908a82039008090894985b600019019796959493929190610b91565b88610d96579a91975090959050600160601b63ffffffff60c01b0319816002600160601b0363ffffffff60c01b0319099a600160601b63ffffffff60c01b03198c8009600160601b63ffffffff60c01b0319818d099c600160601b63ffffffff60c01b0319908290099b600160601b63ffffffff60c01b031990818b8103820890600160601b63ffffffff60c01b0319908c900809600160601b63ffffffff60c01b03199060030991600160601b63ffffffff60c01b0319908d0998600160601b63ffffffff60c01b031991099b600160601b63ffffffff60c01b031980826002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b0319848009089b600160601b63ffffffff60c01b03199384910991600160601b63ffffffff60c01b03199182908e8203900890090894610e62565b60019c50909a8c98509096509050610e62565b50508385610d55565b859250849150610d4d565b7f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29692507f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f59150610d44565b50505099959894600163ffffffff60601b0360601b190394610e62565b9250809650958192610b7d565b9697508796899450610b75565b7f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29698507f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f59450610b6c565b60001901600186821c16600286831c60011b1601610b4e565b949560008051602061148583398151915291968203900894848615806110ed575b15610b41579850505050505050505090565b5060016110db565b508315610b3c565b965050505050505090565b508315610b23565b91907f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2967f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f59180156112c857846112a694958314806112bf575b156112aa5750600160601b63ffffffff60c01b0319905082600209600160601b63ffffffff60c01b031981800992600160601b63ffffffff60c01b031984840991600160601b63ffffffff60c01b03199085900992600160601b63ffffffff60c01b0319908190816001820890600160601b63ffffffff60c01b0319907fffffffff00000001000000000000000000000000fffffffffffffffffffffffe900809600309600160601b63ffffffff60c01b031980846002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b03198380090892600160601b63ffffffff60c01b03196001860995600160601b63ffffffff60c01b0319906001900994600160601b63ffffffff60c01b031993849109600160601b63ffffffff60c01b031990810392909182908682039008900908906113ea565b9091565b9091926112b6936112ce565b929091906113ea565b50818414611169565b50925090565b91939080156113e157600160601b63ffffffff60c01b03199081039384908290600190090893600160601b63ffffffff60c01b031990838203908290600190090892600160601b63ffffffff60c01b031984800993600160601b63ffffffff60c01b031990850992600160601b63ffffffff60c01b03199085900994600160601b63ffffffff60c01b031980876002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b031986810381858009080895600160601b63ffffffff60c01b031992839086900991600160601b63ffffffff60c01b03199182908982039008090892600160601b63ffffffff60c01b03199060010991600160601b63ffffffff60c01b03199060010990565b50600191508190565b91909260405190602082526020808301526020604083015260608201526002600160601b0363ffffffff60c01b03196080820152600163ffffffff60601b0360601b1960a082015260208160c0816005600019fa156100ba575192600160601b63ffffffff60c01b03199084900992600160601b63ffffffff60c01b03199109600160601b63ffffffff60c01b031991908290800990099156feffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551a2646970667358221220e47add3c302cfd7450ab0d91737d23a225224a244a6c5360ba690ffd4fc2e63d64736f6c634300081c0033", - "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE CALLVALUE PUSH1 0x15 JUMPI PUSH2 0x14DA SWAP1 DUP2 PUSH2 0x1B DUP3 CODECOPY RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x12 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x185D0DCD EQ PUSH2 0x47 JUMPI DUP1 PUSH4 0x1874CC36 EQ PUSH2 0x42 JUMPI PUSH4 0x7415A725 EQ PUSH2 0x3D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x120 JUMP JUMPDEST PUSH2 0xBF JUMP JUMPDEST CALLVALUE PUSH2 0xBA JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xBA JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0x65 PUSH1 0xC0 PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 MSTORE PUSH1 0x0 PUSH1 0xA0 MSTORE PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x20 MSTORE PUSH2 0xB6 PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x1 PUSH1 0x40 MLOAD SWAP2 PUSH2 0x8E DUP4 PUSH2 0x1D6 JUMP JUMPDEST DUP1 SLOAD DUP4 MSTORE ADD SLOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 MLOAD SWAP2 DUP3 SWAP2 DUP3 SWAP2 SWAP1 SWAP2 PUSH1 0x20 DUP1 PUSH1 0x40 DUP4 ADD SWAP5 DUP1 MLOAD DUP5 MSTORE ADD MLOAD SWAP2 ADD MSTORE JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0xBA JUMPI PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xBA JUMPI PUSH1 0x24 CALLDATALOAD PUSH1 0x4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH2 0xBA JUMPI CALLDATASIZE PUSH1 0x23 DUP4 ADD SLT ISZERO PUSH2 0xBA JUMPI DUP2 PUSH1 0x4 ADD CALLDATALOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH2 0xBA JUMPI CALLDATASIZE PUSH1 0x24 DUP4 DUP6 ADD ADD GT PUSH2 0xBA JUMPI PUSH1 0x24 PUSH2 0x11E SWAP4 ADD SWAP1 PUSH2 0x22A JUMP JUMPDEST STOP JUMPDEST CALLVALUE PUSH2 0xBA JUMPI PUSH1 0x60 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xBA JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x40 CALLDATASIZE PUSH1 0x23 NOT ADD SLT PUSH2 0xBA JUMPI DUP1 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x1AC JUMPI PUSH1 0x24 CALLDATALOAD DUP1 ISZERO DUP1 ISZERO PUSH2 0x1A2 JUMPI JUMPDEST PUSH2 0x189 JUMPI PUSH2 0x11E PUSH2 0x17A DUP4 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD DUP2 SSTORE PUSH1 0x1 PUSH1 0x44 CALLDATALOAD SWAP2 ADD SSTORE JUMP JUMPDEST PUSH4 0x39B4A3C1 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x4 MSTORE PUSH1 0x44 DUP1 CALLDATALOAD PUSH1 0x24 MSTORE PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x44 CALLDATALOAD ISZERO PUSH2 0x15F JUMP JUMPDEST PUSH4 0x77864E4B PUSH1 0xE1 SHL PUSH1 0x0 MSTORE PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x1F2 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH2 0x1C0 JUMP JUMPDEST SWAP1 PUSH1 0x1F DUP1 NOT SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x1F2 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x228 PUSH1 0xC0 DUP4 PUSH2 0x1F7 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 PUSH4 0xC3A661B PUSH1 0xE1 SHL DUP3 MSTORE DUP3 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x24 DUP2 MSTORE PUSH2 0x251 PUSH1 0x44 DUP3 PUSH2 0x1F7 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP2 DUP2 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD SWAP4 DUP3 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x20 MSTORE PUSH1 0x1 PUSH1 0x40 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 DUP3 ADD SWAP2 PUSH1 0x20 DUP2 DUP5 SUB SLT PUSH2 0xBA JUMPI DUP1 CALLDATALOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH2 0xBA JUMPI ADD SWAP5 PUSH1 0xC0 DUP7 DUP5 SUB SLT PUSH2 0xBA JUMPI PUSH2 0x2AB PUSH2 0x219 JUMP JUMPDEST DUP7 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0xBA JUMPI DUP5 PUSH2 0x2C8 SWAP2 DUP10 ADD PUSH2 0x388 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP8 ADD CALLDATALOAD SWAP7 PUSH8 0xFFFFFFFFFFFFFFFF DUP9 GT PUSH2 0xBA JUMPI PUSH2 0x34A PUSH2 0x360 SWAP8 PUSH1 0xA0 DUP4 PUSH2 0x2FE PUSH2 0x34F SWAP10 PUSH2 0x228 SWAP14 PUSH2 0x33C SWAP8 ADD PUSH2 0x388 JUMP JUMPDEST PUSH1 0x20 DUP8 ADD MSTORE PUSH1 0x40 DUP2 ADD CALLDATALOAD PUSH1 0x40 DUP8 ADD MSTORE PUSH1 0x60 DUP2 ADD CALLDATALOAD PUSH1 0x60 DUP8 ADD MSTORE PUSH1 0x80 DUP2 ADD CALLDATALOAD PUSH1 0x80 DUP8 ADD MSTORE ADD CALLDATALOAD PUSH1 0xA0 DUP6 ADD MSTORE PUSH1 0x40 MLOAD SWAP3 DUP4 SWAP2 PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 PUSH1 0x20 DUP4 ADD SWAP3 MSTORE JUMP JUMPDEST SUB PUSH1 0x1F NOT DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x1F7 JUMP JUMPDEST PUSH2 0x540 JUMP JUMPDEST POP PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP2 DUP3 DUP2 SSTORE ADD SSTORE JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x1F2 JUMPI PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST DUP2 PUSH1 0x1F DUP3 ADD SLT ISZERO PUSH2 0xBA JUMPI PUSH1 0x20 DUP2 CALLDATALOAD SWAP2 ADD PUSH2 0x3A2 DUP3 PUSH2 0x36C JUMP JUMPDEST SWAP3 PUSH2 0x3B0 PUSH1 0x40 MLOAD SWAP5 DUP6 PUSH2 0x1F7 JUMP JUMPDEST DUP3 DUP5 MSTORE DUP3 DUP3 ADD GT PUSH2 0xBA JUMPI DUP2 PUSH1 0x0 SWAP3 PUSH1 0x20 SWAP3 DUP4 DUP7 ADD CALLDATACOPY DUP4 ADD ADD MSTORE SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x15 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x3F1 JUMPI JUMP JUMPDEST PUSH2 0x3CD JUMP JUMPDEST SWAP1 PUSH1 0x2 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x3F1 JUMPI JUMP JUMPDEST SWAP2 SWAP1 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x3F1 JUMPI JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0x424 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x414 JUMP JUMPDEST SWAP1 PUSH2 0x447 PUSH1 0x20 SWAP3 DUP3 DUP2 MLOAD SWAP5 DUP6 SWAP3 ADD PUSH2 0x411 JUMP JUMPDEST ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH2 0x228 PUSH1 0x1 PUSH1 0x2D PUSH1 0x40 MLOAD DUP1 SWAP6 PUSH13 0x1131B430B63632B733B2911D11 PUSH1 0x99 SHL PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x481 DUP2 MLOAD DUP1 SWAP3 PUSH1 0x20 DUP7 DUP7 ADD SWAP2 ADD PUSH2 0x411 JUMP JUMPDEST DUP2 ADD PUSH1 0x11 PUSH1 0xF9 SHL DUP4 DUP3 ADD MSTORE SUB ADD PUSH1 0x1E NOT DUP2 ADD DUP6 MSTORE ADD DUP4 PUSH2 0x1F7 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x20 LT ISZERO PUSH2 0x4AC JUMPI PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x20 SWAP3 SWAP2 SWAP1 PUSH2 0x4E4 DUP5 SWAP3 DUP3 DUP2 MLOAD SWAP5 DUP6 SWAP3 ADD PUSH2 0x411 JUMP JUMPDEST ADD SWAP1 DUP2 MSTORE ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x4FB PUSH1 0x20 DUP4 PUSH2 0x1F7 JUMP JUMPDEST PUSH1 0x0 DUP3 MSTORE JUMP JUMPDEST RETURNDATASIZE ISZERO PUSH2 0x52C JUMPI RETURNDATASIZE SWAP1 PUSH2 0x512 DUP3 PUSH2 0x36C JUMP JUMPDEST SWAP2 PUSH2 0x520 PUSH1 0x40 MLOAD SWAP4 DUP5 PUSH2 0x1F7 JUMP JUMPDEST DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY JUMP JUMPDEST PUSH1 0x60 SWAP1 JUMP JUMPDEST SWAP1 DUP2 PUSH1 0x20 SWAP2 SUB SLT PUSH2 0xBA JUMPI MLOAD SWAP1 JUMP JUMPDEST SWAP3 SWAP2 SWAP1 PUSH1 0x0 SWAP4 PUSH1 0xA0 DUP3 ADD SWAP5 DUP6 MLOAD PUSH32 0x7FFFFFFF800000007FFFFFFFFFFFFFFFDE737D56D38BCF4279DCE5617E3192A8 LT PUSH2 0x720 JUMPI PUSH1 0x20 DUP4 ADD SWAP2 PUSH32 0xFF1A2A9176D650E4A99DEDB58F1793003935130579FE17B5A3F698AC5B00E634 PUSH2 0x5B2 DUP5 MLOAD PUSH1 0x60 DUP8 ADD MLOAD PUSH2 0x5AC DUP2 PUSH2 0x3E3 JUMP JUMPDEST SWAP2 PUSH2 0x8CA JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SUB PUSH2 0x729 JUMPI PUSH2 0x5CA PUSH2 0x5CF SWAP2 PUSH2 0x733 JUMP JUMPDEST PUSH2 0x44B JUMP JUMPDEST PUSH2 0x5E4 DUP4 MLOAD PUSH1 0x40 DUP7 ADD MLOAD PUSH2 0x5AC DUP5 MLOAD DUP3 PUSH2 0x404 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SWAP1 PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SUB PUSH2 0x720 JUMPI PUSH1 0x1 PUSH1 0xF8 SHL PUSH1 0x1 PUSH1 0xF8 SHL PUSH2 0x61D PUSH2 0x60F DUP7 MLOAD PUSH2 0x49C JUMP JUMPDEST MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 JUMP JUMPDEST AND SUB PUSH2 0x720 JUMPI PUSH2 0x63A PUSH1 0x20 SWAP3 PUSH1 0x0 SWAP3 POP MLOAD PUSH1 0x40 MLOAD SWAP2 DUP3 DUP1 SWAP3 PUSH2 0x434 JUMP JUMPDEST SUB SWAP1 PUSH1 0x2 GAS STATICCALL ISZERO PUSH2 0x71B JUMPI PUSH1 0x20 PUSH1 0x0 PUSH2 0x670 DUP2 MLOAD PUSH2 0x664 DUP6 MLOAD PUSH2 0x33C PUSH1 0x40 MLOAD SWAP4 DUP5 SWAP3 DUP9 DUP5 ADD PUSH2 0x4CE JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 DUP1 SWAP3 PUSH2 0x434 JUMP JUMPDEST SUB SWAP1 PUSH1 0x2 GAS STATICCALL ISZERO PUSH2 0x71B JUMPI PUSH1 0x80 PUSH1 0x0 MLOAD SWAP2 ADD SWAP4 PUSH1 0x0 DUP1 DUP7 MLOAD DUP6 PUSH2 0x6C3 DUP6 MLOAD PUSH2 0x33C DUP11 PUSH1 0x40 MLOAD SWAP5 DUP6 SWAP4 PUSH1 0x20 DUP6 ADD SWAP8 DUP13 DUP10 SWAP2 SWAP3 PUSH1 0x80 SWAP4 SWAP7 SWAP6 SWAP5 SWAP2 SWAP7 PUSH1 0xA0 DUP5 ADD SWAP8 DUP5 MSTORE PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE ADD MSTORE JUMP JUMPDEST MLOAD SWAP1 PUSH2 0x100 GAS STATICCALL SWAP5 PUSH2 0x6D3 PUSH2 0x501 JUMP JUMPDEST DUP1 MLOAD SWAP7 DUP1 PUSH2 0x712 JUMPI JUMPDEST PUSH2 0x6F2 JUMPI POP PUSH2 0x6EF SWAP6 POP MLOAD SWAP1 MLOAD SWAP2 PUSH2 0x7C2 JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x1 SWAP7 PUSH2 0x70E SWAP7 POP DUP2 ADD PUSH1 0x20 SWAP1 DUP2 ADD SWAP6 POP ADD SWAP3 POP PUSH2 0x531 SWAP2 POP POP JUMP JUMPDEST EQ SWAP1 JUMP JUMPDEST POP DUP7 ISZERO ISZERO PUSH2 0x6DC JUMP JUMPDEST PUSH2 0x4C2 JUMP JUMPDEST SWAP5 POP POP POP POP POP SWAP1 JUMP JUMPDEST POP SWAP5 POP POP POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x6EF SWAP2 PUSH2 0x745 PUSH1 0x60 DUP4 PUSH2 0x1F7 JUMP JUMPDEST PUSH1 0x40 DUP3 MSTORE PUSH32 0x4142434445464748494A4B4C4D4E4F505152535455565758595A616263646566 PUSH1 0x20 DUP4 ADD MSTORE PUSH32 0x6768696A6B6C6D6E6F707172737475767778797A303132333435363738392D5F PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x98E JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1485 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SUB SWAP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1485 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP3 GT PUSH2 0x3F1 JUMPI JUMP JUMPDEST SWAP4 SWAP2 SWAP1 SWAP3 SWAP4 DUP4 ISZERO DUP1 ISZERO PUSH2 0x8B2 JUMPI JUMPDEST DUP1 ISZERO PUSH2 0x8AA JUMPI JUMPDEST DUP1 ISZERO PUSH2 0x892 JUMPI JUMPDEST PUSH2 0x888 JUMPI PUSH2 0x7EC DUP4 DUP7 PUSH2 0xA36 JUMP JUMPDEST ISZERO PUSH2 0x888 JUMPI PUSH1 0x40 MLOAD SWAP2 PUSH1 0x20 DUP4 MSTORE PUSH1 0x20 DUP1 DUP5 ADD MSTORE PUSH1 0x20 PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x60 DUP4 ADD MSTORE PUSH32 0xFFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC63254F PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1485 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0xA0 DUP4 ADD MSTORE PUSH1 0x20 DUP3 PUSH1 0xC0 DUP2 PUSH1 0x5 PUSH1 0x0 NOT STATICCALL ISZERO PUSH2 0xBA JUMPI PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1485 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP5 PUSH2 0x882 SWAP4 DUP7 PUSH2 0x87C SWAP5 MLOAD DUP2 DUP2 DUP10 MULMOD SWAP5 MULMOD SWAP2 PUSH2 0xB11 JUMP JUMPDEST SWAP2 PUSH2 0x79A JUMP JUMPDEST SWAP1 ADDMOD ISZERO SWAP1 JUMP JUMPDEST POP POP POP POP POP PUSH1 0x0 SWAP1 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1485 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP3 LT ISZERO PUSH2 0x7DE JUMP JUMPDEST POP DUP2 ISZERO PUSH2 0x7D7 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1485 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP5 LT ISZERO PUSH2 0x7D0 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x60 SWAP5 SWAP4 SWAP3 SWAP1 DUP4 DUP2 GT ISZERO PUSH2 0x93C JUMPI JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x934 JUMPI JUMPDEST POP DUP3 DUP2 LT PUSH2 0x8F1 JUMPI POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP5 POP SWAP2 DUP3 SWAP1 SUB SWAP2 ADD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND JUMPDEST DUP2 DUP2 ADD MLOAD DUP6 DUP3 ADD MSTORE PUSH1 0x1F NOT ADD SWAP1 DUP2 ISZERO PUSH2 0x91E JUMPI SWAP1 PUSH2 0x905 JUMP JUMPDEST POP POP PUSH1 0x40 DUP2 DUP5 ADD PUSH1 0x0 PUSH1 0x20 DUP3 ADD MSTORE ADD PUSH1 0x40 MSTORE DUP3 MSTORE JUMP JUMPDEST SWAP1 POP CODESIZE PUSH2 0x8E4 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x8DB JUMP JUMPDEST PUSH1 0x2 DUP2 SWAP1 SHL SWAP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xFE SHL SUB DUP2 AND SUB PUSH2 0x3F1 JUMPI JUMP JUMPDEST SWAP1 PUSH2 0x966 DUP3 PUSH2 0x36C JUMP JUMPDEST PUSH2 0x973 PUSH1 0x40 MLOAD SWAP2 DUP3 PUSH2 0x1F7 JUMP JUMPDEST DUP3 DUP2 MSTORE DUP1 SWAP3 PUSH2 0x984 PUSH1 0x1F NOT SWAP2 PUSH2 0x36C JUMP JUMPDEST ADD SWAP1 PUSH1 0x20 CALLDATASIZE SWAP2 ADD CALLDATACOPY JUMP JUMPDEST SWAP1 DUP2 MLOAD ISZERO PUSH2 0xA2C JUMPI SWAP1 PUSH2 0x9BB PUSH2 0x9B6 PUSH2 0x9AF PUSH2 0x9AA DUP5 MLOAD PUSH2 0x944 JUMP JUMPDEST PUSH2 0x3F6 JUMP JUMPDEST PUSH1 0x3 SWAP1 DIV SWAP1 JUMP JUMPDEST PUSH2 0x95C JUMP JUMPDEST SWAP2 PUSH1 0x20 DUP4 ADD SWAP1 DUP3 DUP1 MLOAD ADD SWAP1 PUSH1 0x20 DUP3 ADD SWAP3 DUP4 MLOAD SWAP5 PUSH1 0x0 DUP6 MSTORE JUMPDEST DUP4 DUP2 LT PUSH2 0x9E2 JUMPI POP POP POP POP MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x4 SWAP2 ADD SWAP2 PUSH1 0x1 PUSH1 0x3F DUP5 MLOAD DUP3 DUP3 DUP3 PUSH1 0x12 SHR AND DUP9 ADD ADD MLOAD DUP5 MSTORE8 DUP3 DUP3 DUP3 PUSH1 0xC SHR AND DUP9 ADD ADD MLOAD DUP4 DUP6 ADD MSTORE8 DUP3 DUP3 DUP3 PUSH1 0x6 SHR AND DUP9 ADD ADD MLOAD PUSH1 0x2 DUP6 ADD MSTORE8 AND DUP6 ADD ADD MLOAD PUSH1 0x3 DUP3 ADD MSTORE8 ADD SWAP1 PUSH2 0x9D3 JUMP JUMPDEST POP POP PUSH2 0x6EF PUSH2 0x4EC JUMP JUMPDEST PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 LT DUP1 ISZERO SWAP1 PUSH2 0xAF9 JUMPI JUMPDEST DUP1 ISZERO PUSH2 0xAE8 JUMPI JUMPDEST PUSH2 0xAE1 JUMPI PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH32 0x5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B SWAP1 DUP3 SWAP1 DUP2 PUSH32 0xFFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC DUP3 MULMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 DUP2 DUP1 MULMOD MULMOD ADDMOD ADDMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP1 MULMOD EQ SWAP1 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP1 JUMP JUMPDEST POP DUP1 ISZERO DUP1 ISZERO PUSH2 0xA56 JUMPI POP DUP2 ISZERO PUSH2 0xA56 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP3 LT ISZERO PUSH2 0xA4F JUMP JUMPDEST SWAP1 SWAP3 PUSH1 0x0 SWAP3 SWAP1 DUP4 PUSH1 0xFF DUP2 DUP5 ISZERO DUP1 PUSH2 0x1108 JUMPI JUMPDEST PUSH2 0x10FD JUMPI PUSH2 0xB31 DUP9 DUP8 PUSH2 0x1110 JUMP JUMPDEST SWAP3 SWAP1 SWAP2 DUP3 ISZERO DUP1 PUSH2 0x10F5 JUMPI JUMPDEST PUSH2 0x10BA JUMPI JUMPDEST POP DUP6 DUP2 SHR PUSH1 0x2 DUP7 PUSH1 0xFE SHR AND ADD JUMPDEST ISZERO PUSH2 0x10A1 JUMPI PUSH1 0x1 DUP7 DUP3 SHR AND PUSH1 0x2 DUP7 DUP4 SHR PUSH1 0x1 SHL AND ADD PUSH1 0x1 DUP2 EQ PUSH2 0x1056 JUMPI JUMPDEST PUSH1 0x2 DUP2 EQ PUSH2 0x1049 JUMPI JUMPDEST PUSH1 0x3 EQ PUSH2 0x103C JUMPI JUMPDEST PUSH1 0x1 SWAP9 PUSH1 0x0 NOT SWAP2 SWAP1 SWAP2 ADD SWAP7 SWAP5 SWAP6 SWAP5 DUP10 SWAP5 SWAP4 SWAP3 SWAP2 JUMPDEST DUP9 PUSH1 0x0 NOT GT PUSH2 0xC0F JUMPI POP POP POP POP POP POP POP POP POP PUSH1 0x40 MLOAD SWAP2 PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x20 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD MSTORE PUSH1 0x20 PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH1 0x60 SHL SUB PUSH1 0x60 SHL NOT PUSH1 0xA0 DUP4 ADD MSTORE PUSH1 0x20 DUP3 PUSH1 0xC0 DUP2 PUSH1 0x5 PUSH1 0x0 NOT STATICCALL ISZERO PUSH2 0xBA JUMPI SWAP1 MLOAD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD SWAP1 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 SWAP6 SWAP7 SWAP8 SWAP9 PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH1 0x60 SHL SUB PUSH1 0x60 SHL NOT DUP7 PUSH1 0x2 MULMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP3 DUP1 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 DUP4 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP3 SWAP1 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 SWAP1 DUP16 DUP3 DUP2 DUP4 ADDMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SUB SWAP1 ADDMOD MULMOD PUSH1 0x3 MULMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP4 MULMOD SWAP13 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP3 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP12 DUP1 MULMOD ADDMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SWAP1 DUP2 SUB DUP12 ADDMOD SWAP1 MULMOD SWAP7 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP9 SWAP1 DUP3 SWAP1 DUP5 MULMOD ADDMOD SWAP7 DUP12 PUSH1 0x2 DUP13 PUSH1 0x1 DUP14 DUP5 SHR AND SWAP3 SHR PUSH1 0x1 SHL AND ADD DUP1 ISZERO PUSH2 0x101F JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0xFD4 JUMPI JUMPDEST PUSH1 0x2 DUP2 EQ PUSH2 0xFC9 JUMPI JUMPDEST PUSH1 0x3 EQ PUSH2 0xFC0 JUMPI JUMPDEST DUP3 ISZERO PUSH2 0xFAD JUMPI PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP9 SWAP1 DUP3 SWAP1 DUP16 SWAP1 MULMOD ADDMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP10 DUP3 SUB SWAP1 DUP3 SWAP1 DUP6 SWAP1 MULMOD ADDMOD SWAP8 DUP2 ISZERO PUSH2 0xE73 JUMPI JUMPDEST PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP10 DUP1 MULMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP11 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP11 SWAP1 MULMOD SWAP13 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP5 SWAP1 MULMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP3 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP6 DUP2 SUB DUP2 DUP7 DUP1 MULMOD ADDMOD ADDMOD SWAP8 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP4 DUP5 SWAP2 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SWAP1 DUP11 DUP3 SUB SWAP1 ADDMOD MULMOD ADDMOD SWAP5 SWAP9 JUMPDEST PUSH1 0x0 NOT ADD SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xB91 JUMP JUMPDEST DUP9 PUSH2 0xD96 JUMPI SWAP11 SWAP2 SWAP8 POP SWAP1 SWAP6 SWAP1 POP PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD SWAP11 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP13 DUP1 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 DUP14 MULMOD SWAP13 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP3 SWAP1 MULMOD SWAP12 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 DUP12 DUP2 SUB DUP3 ADDMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP13 SWAP1 ADDMOD MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH1 0x3 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP14 MULMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD SWAP12 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP3 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP5 DUP1 MULMOD ADDMOD SWAP12 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP4 DUP5 SWAP2 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SWAP1 DUP15 DUP3 SUB SWAP1 ADDMOD SWAP1 MULMOD ADDMOD SWAP5 PUSH2 0xE62 JUMP JUMPDEST PUSH1 0x1 SWAP13 POP SWAP1 SWAP11 DUP13 SWAP9 POP SWAP1 SWAP7 POP SWAP1 POP PUSH2 0xE62 JUMP JUMPDEST POP POP DUP4 DUP6 PUSH2 0xD55 JUMP JUMPDEST DUP6 SWAP3 POP DUP5 SWAP2 POP PUSH2 0xD4D JUMP JUMPDEST PUSH32 0x6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296 SWAP3 POP PUSH32 0x4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5 SWAP2 POP PUSH2 0xD44 JUMP JUMPDEST POP POP POP SWAP10 SWAP6 SWAP9 SWAP5 PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH1 0x60 SHL SUB PUSH1 0x60 SHL NOT SUB SWAP5 PUSH2 0xE62 JUMP JUMPDEST SWAP3 POP DUP1 SWAP7 POP SWAP6 DUP2 SWAP3 PUSH2 0xB7D JUMP JUMPDEST SWAP7 SWAP8 POP DUP8 SWAP7 DUP10 SWAP5 POP PUSH2 0xB75 JUMP JUMPDEST PUSH32 0x6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296 SWAP9 POP PUSH32 0x4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5 SWAP5 POP PUSH2 0xB6C JUMP JUMPDEST PUSH1 0x0 NOT ADD PUSH1 0x1 DUP7 DUP3 SHR AND PUSH1 0x2 DUP7 DUP4 SHR PUSH1 0x1 SHL AND ADD PUSH2 0xB4E JUMP JUMPDEST SWAP5 SWAP6 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1485 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP2 SWAP7 DUP3 SUB SWAP1 ADDMOD SWAP5 DUP5 DUP7 ISZERO DUP1 PUSH2 0x10ED JUMPI JUMPDEST ISZERO PUSH2 0xB41 JUMPI SWAP9 POP POP POP POP POP POP POP POP POP SWAP1 JUMP JUMPDEST POP PUSH1 0x1 PUSH2 0x10DB JUMP JUMPDEST POP DUP4 ISZERO PUSH2 0xB3C JUMP JUMPDEST SWAP7 POP POP POP POP POP POP POP SWAP1 JUMP JUMPDEST POP DUP4 ISZERO PUSH2 0xB23 JUMP JUMPDEST SWAP2 SWAP1 PUSH32 0x6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296 PUSH32 0x4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5 SWAP2 DUP1 ISZERO PUSH2 0x12C8 JUMPI DUP5 PUSH2 0x12A6 SWAP5 SWAP6 DUP4 EQ DUP1 PUSH2 0x12BF JUMPI JUMPDEST ISZERO PUSH2 0x12AA JUMPI POP PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 POP DUP3 PUSH1 0x2 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 DUP1 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP5 DUP5 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP6 SWAP1 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 SWAP1 DUP2 PUSH1 0x1 DUP3 ADDMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH32 0xFFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFE SWAP1 ADDMOD MULMOD PUSH1 0x3 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP5 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP4 DUP1 MULMOD ADDMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT PUSH1 0x1 DUP7 MULMOD SWAP6 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH1 0x1 SWAP1 MULMOD SWAP5 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP4 DUP5 SWAP2 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 SUB SWAP3 SWAP1 SWAP2 DUP3 SWAP1 DUP7 DUP3 SUB SWAP1 ADDMOD SWAP1 MULMOD ADDMOD SWAP1 PUSH2 0x13EA JUMP JUMPDEST SWAP1 SWAP2 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 PUSH2 0x12B6 SWAP4 PUSH2 0x12CE JUMP JUMPDEST SWAP3 SWAP1 SWAP2 SWAP1 PUSH2 0x13EA JUMP JUMPDEST POP DUP2 DUP5 EQ PUSH2 0x1169 JUMP JUMPDEST POP SWAP3 POP SWAP1 JUMP JUMPDEST SWAP2 SWAP4 SWAP1 DUP1 ISZERO PUSH2 0x13E1 JUMPI PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 SUB SWAP4 DUP5 SWAP1 DUP3 SWAP1 PUSH1 0x1 SWAP1 MULMOD ADDMOD SWAP4 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP4 DUP3 SUB SWAP1 DUP3 SWAP1 PUSH1 0x1 SWAP1 MULMOD ADDMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP5 DUP1 MULMOD SWAP4 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP6 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP6 SWAP1 MULMOD SWAP5 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP8 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP7 DUP2 SUB DUP2 DUP6 DUP1 MULMOD ADDMOD ADDMOD SWAP6 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP3 DUP4 SWAP1 DUP7 SWAP1 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SWAP1 DUP10 DUP3 SUB SWAP1 ADDMOD MULMOD ADDMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH1 0x1 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH1 0x1 MULMOD SWAP1 JUMP JUMPDEST POP PUSH1 0x1 SWAP2 POP DUP2 SWAP1 JUMP JUMPDEST SWAP2 SWAP1 SWAP3 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD MSTORE PUSH1 0x20 PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH1 0x60 SHL SUB PUSH1 0x60 SHL NOT PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0x20 DUP2 PUSH1 0xC0 DUP2 PUSH1 0x5 PUSH1 0x0 NOT STATICCALL ISZERO PUSH2 0xBA JUMPI MLOAD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP5 SWAP1 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 SWAP1 DUP3 SWAP1 DUP1 MULMOD SWAP1 MULMOD SWAP2 JUMP INVALID SELFDESTRUCT SELFDESTRUCT SELFDESTRUCT SELFDESTRUCT STOP STOP STOP STOP SELFDESTRUCT SELFDESTRUCT SELFDESTRUCT SELFDESTRUCT SELFDESTRUCT SELFDESTRUCT SELFDESTRUCT SELFDESTRUCT 0xBC 0xE6 STATICCALL 0xAD 0xA7 OR SWAP15 DUP5 RETURN 0xB9 0xCA 0xC2 0xFC PUSH4 0x2551A264 PUSH10 0x70667358221220E47ADD EXTCODECOPY ADDRESS 0x2C REVERT PUSH21 0x50AB0D91737D23A225224A244A6C5360BA690FFD4F 0xC2 0xE6 RETURNDATASIZE PUSH5 0x736F6C6343 STOP ADDMOD SHR STOP CALLER ", - "sourceMap": "846:4009:15:-:0;;;;;;;;;;;;;;;;;" + "object": "608080604052346015576114da908161001b8239f35b600080fdfe6080604052600436101561001257600080fd5b60003560e01c8063185d0dcd146100475780631874cc361461004257637415a7251461003d57600080fd5b610120565b6100bf565b346100ba5760203660031901126100ba5760043561006560c0604052565b6000608052600060a05260005260006020526100b6604060002060016040519161008e836101d6565b8054835201546020820152604051918291829190916020806040830194805184520151910152565b0390f35b600080fd5b346100ba5760403660031901126100ba5760243560043567ffffffffffffffff82116100ba57366023830112156100ba5781600401359067ffffffffffffffff82116100ba5736602483850101116100ba57602461011e93019061022a565b005b346100ba5760603660031901126100ba5760043560403660231901126100ba578060005260006020526040600020546101ac57602435801580156101a2575b6101895761011e61017a836000526000602052604060002090565b60243581556001604435910155565b6339b4a3c160e01b600052600452604480356024526000fd5b506044351561015f565b6377864e4b60e11b60005260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff8211176101f257604052565b6101c0565b90601f8019910116810190811067ffffffffffffffff8211176101f257604052565b6040519061022860c0836101f7565b565b6040516020810190630c3a661b60e11b8252826024820152602481526102516044826101f7565b5190209181600052600060205260406000205493826000526000602052600160406000200154908201916020818403126100ba5780359067ffffffffffffffff82116100ba57019460c0868403126100ba576102ab610219565b863567ffffffffffffffff81116100ba57846102c8918901610388565b815260208701359667ffffffffffffffff88116100ba5761034a6103609760a0836102fe61034f996102289d61033c9701610388565b6020870152604081013560408701526060810135606087015260808101356080870152013560a0850152604051928391602083019190602083019252565b03601f1981018352826101f7565b610540565b506000526000602052604060002090565b60016000918281550155565b67ffffffffffffffff81116101f257601f01601f191660200190565b81601f820112156100ba576020813591016103a28261036c565b926103b060405194856101f7565b828452828201116100ba5781600092602092838601378301015290565b634e487b7160e01b600052601160045260246000fd5b90601582018092116103f157565b6103cd565b90600282018092116103f157565b919082018092116103f157565b60005b8381106104245750506000910152565b8181015183820152602001610414565b9061044760209282815194859201610411565b0190565b906102286001602d60405180956c1131b430b63632b733b2911d1160991b60208301526104818151809260208686019101610411565b8101601160f91b838201520301601e198101855201836101f7565b8051602010156104ac5760400190565b634e487b7160e01b600052603260045260246000fd5b6040513d6000823e3d90fd5b60209291906104e4849282815194859201610411565b019081520190565b604051906104fb6020836101f7565b60008252565b3d1561052c573d906105128261036c565b9161052060405193846101f7565b82523d6000602084013e565b606090565b908160209103126100ba575190565b92919060009360a082019485517f7fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a8106107205760208301917fff1a2a9176d650e4a99dedb58f1793003935130579fe17b5a3f698ac5b00e6346105b2845160608701516105ac816103e3565b916108ca565b6020815191012003610729576105ca6105cf91610733565b61044b565b6105e4835160408601516105ac845182610404565b6020815191012090602081519101200361072057600160f81b600160f81b61061d61060f865161049c565b516001600160f81b03191690565b16036107205761063a602092600092505160405191828092610434565b039060025afa1561071b57602060006106708151610664855161033c6040519384928884016104ce565b60405191828092610434565b039060025afa1561071b5760806000519101936000808651856106c3855161033c8a60405194859360208501978c899192608093969594919660a084019784526020840152604083015260608201520152565b51906101005afa946106d3610501565b80519680610712575b6106f257506106ef9550519051916107c2565b90565b60019661070e9650810160209081019550019250610531915050565b1490565b508615156106dc565b6104c2565b94505050505090565b5094505050505090565b6040516106ef916107456060836101f7565b604082527f4142434445464748494a4b4c4d4e4f505152535455565758595a61626364656660208301527f6768696a6b6c6d6e6f707172737475767778797a303132333435363738392d5f604083015261098e565b600080516020611485833981519152039060008051602061148583398151915282116103f157565b9391909293831580156108b2575b80156108aa575b8015610892575b610888576107ec8386610a36565b156108885760405191602083526020808401526020604084015260608301527fffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254f608083015260008051602061148583398151915260a083015260208260c0816005600019fa156100ba5760008051602061148583398151915294610882938661087c945181818909940991610b11565b9161079a565b90081590565b5050505050600090565b506000805160206114858339815191528210156107de565b5081156107d7565b506000805160206114858339815191528410156107d0565b80516060949392908381111561093c575b81811115610934575b508281106108f157505050565b6040519450918290039101601f8201601f19165b8181015185820152601f190190811561091e5790610905565b5050604081840160006020820152016040528252565b9050386108e4565b9250826108db565b600281901b91906001600160fe1b038116036103f157565b906109668261036c565b61097360405191826101f7565b8281528092610984601f199161036c565b0190602036910137565b90815115610a2c57906109bb6109b66109af6109aa8451610944565b6103f6565b6003900490565b61095c565b91602083019082805101906020820192835194600085525b8381106109e257505050505290565b600360049101916001603f845182828260121c16880101518453828282600c1c16880101518385015382828260061c168801015160028501531685010151600382015301906109d3565b50506106ef6104ec565b600160601b63ffffffff60c01b03198110801590610af9575b8015610ae8575b610ae157600160601b63ffffffff60c01b0319907f5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b908290817fffffffff00000001000000000000000000000000fffffffffffffffffffffffc820990600160601b63ffffffff60c01b0319908181800909080890600160601b63ffffffff60c01b03199080091490565b5050600090565b5080158015610a5657508115610a56565b50600160601b63ffffffff60c01b0319821015610a4f565b9092600092908360ff81841580611108575b6110fd57610b318887611110565b9290918215806110f5575b6110ba575b5085811c60028660fe1c16015b156110a157600186821c16600286831c60011b160160018114611056575b60028114611049575b60031461103c575b600198600019919091019694959489949392915b8860001911610c0f5750505050505050505060405191606083015260208252602080830152602060408301526002600160601b0363ffffffff60c01b03196080830152600163ffffffff60601b0360601b1960a083015260208260c0816005600019fa156100ba579051600160601b63ffffffff60c01b0319910990565b909192939495969798600163ffffffff60601b0360601b198660020990600160601b63ffffffff60c01b0319828009600160601b63ffffffff60c01b031981830992600160601b63ffffffff60c01b03199082900991600160601b63ffffffff60c01b03199081908f8281830891600160601b63ffffffff60c01b031991820390080960030998600160601b63ffffffff60c01b03199083099c600160601b63ffffffff60c01b0319910991600160601b63ffffffff60c01b031980826002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b03198b80090898600160601b63ffffffff60c01b031991829081038b08900996600160601b63ffffffff60c01b03199088908290840908968b60028c60018d841c16921c60011b1601801561101f5760018114610fd4575b60028114610fc9575b600314610fc0575b8215610fad57600160601b63ffffffff60c01b031990889082908f90090890600160601b63ffffffff60c01b03199089820390829085900908978115610e73575b600160601b63ffffffff60c01b031989800998600160601b63ffffffff60c01b0319908a0992600160601b63ffffffff60c01b0319908a90099c600160601b63ffffffff60c01b03199084900998600160601b63ffffffff60c01b03199109600160601b63ffffffff60c01b031980826002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b031985810381868009080897600160601b63ffffffff60c01b03199384910991600160601b63ffffffff60c01b03199182908a82039008090894985b600019019796959493929190610b91565b88610d96579a91975090959050600160601b63ffffffff60c01b0319816002600160601b0363ffffffff60c01b0319099a600160601b63ffffffff60c01b03198c8009600160601b63ffffffff60c01b0319818d099c600160601b63ffffffff60c01b0319908290099b600160601b63ffffffff60c01b031990818b8103820890600160601b63ffffffff60c01b0319908c900809600160601b63ffffffff60c01b03199060030991600160601b63ffffffff60c01b0319908d0998600160601b63ffffffff60c01b031991099b600160601b63ffffffff60c01b031980826002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b0319848009089b600160601b63ffffffff60c01b03199384910991600160601b63ffffffff60c01b03199182908e8203900890090894610e62565b60019c50909a8c98509096509050610e62565b50508385610d55565b859250849150610d4d565b7f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29692507f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f59150610d44565b50505099959894600163ffffffff60601b0360601b190394610e62565b9250809650958192610b7d565b9697508796899450610b75565b7f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29698507f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f59450610b6c565b60001901600186821c16600286831c60011b1601610b4e565b949560008051602061148583398151915291968203900894848615806110ed575b15610b41579850505050505050505090565b5060016110db565b508315610b3c565b965050505050505090565b508315610b23565b91907f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2967f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f59180156112c857846112a694958314806112bf575b156112aa5750600160601b63ffffffff60c01b0319905082600209600160601b63ffffffff60c01b031981800992600160601b63ffffffff60c01b031984840991600160601b63ffffffff60c01b03199085900992600160601b63ffffffff60c01b0319908190816001820890600160601b63ffffffff60c01b0319907fffffffff00000001000000000000000000000000fffffffffffffffffffffffe900809600309600160601b63ffffffff60c01b031980846002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b03198380090892600160601b63ffffffff60c01b03196001860995600160601b63ffffffff60c01b0319906001900994600160601b63ffffffff60c01b031993849109600160601b63ffffffff60c01b031990810392909182908682039008900908906113ea565b9091565b9091926112b6936112ce565b929091906113ea565b50818414611169565b50925090565b91939080156113e157600160601b63ffffffff60c01b03199081039384908290600190090893600160601b63ffffffff60c01b031990838203908290600190090892600160601b63ffffffff60c01b031984800993600160601b63ffffffff60c01b031990850992600160601b63ffffffff60c01b03199085900994600160601b63ffffffff60c01b031980876002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b031986810381858009080895600160601b63ffffffff60c01b031992839086900991600160601b63ffffffff60c01b03199182908982039008090892600160601b63ffffffff60c01b03199060010991600160601b63ffffffff60c01b03199060010990565b50600191508190565b91909260405190602082526020808301526020604083015260608201526002600160601b0363ffffffff60c01b03196080820152600163ffffffff60601b0360601b1960a082015260208160c0816005600019fa156100ba575192600160601b63ffffffff60c01b03199084900992600160601b63ffffffff60c01b03199109600160601b63ffffffff60c01b031991908290800990099156feffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551a2646970667358221220c3871a7f51c40a63e23a07543227a03894c1e09c4b1747edd49d559d597f51e464736f6c634300081c0033", + "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE CALLVALUE PUSH1 0x15 JUMPI PUSH2 0x14DA SWAP1 DUP2 PUSH2 0x1B DUP3 CODECOPY RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x12 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x185D0DCD EQ PUSH2 0x47 JUMPI DUP1 PUSH4 0x1874CC36 EQ PUSH2 0x42 JUMPI PUSH4 0x7415A725 EQ PUSH2 0x3D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x120 JUMP JUMPDEST PUSH2 0xBF JUMP JUMPDEST CALLVALUE PUSH2 0xBA JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xBA JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0x65 PUSH1 0xC0 PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 MSTORE PUSH1 0x0 PUSH1 0xA0 MSTORE PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x20 MSTORE PUSH2 0xB6 PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x1 PUSH1 0x40 MLOAD SWAP2 PUSH2 0x8E DUP4 PUSH2 0x1D6 JUMP JUMPDEST DUP1 SLOAD DUP4 MSTORE ADD SLOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 MLOAD SWAP2 DUP3 SWAP2 DUP3 SWAP2 SWAP1 SWAP2 PUSH1 0x20 DUP1 PUSH1 0x40 DUP4 ADD SWAP5 DUP1 MLOAD DUP5 MSTORE ADD MLOAD SWAP2 ADD MSTORE JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0xBA JUMPI PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xBA JUMPI PUSH1 0x24 CALLDATALOAD PUSH1 0x4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH2 0xBA JUMPI CALLDATASIZE PUSH1 0x23 DUP4 ADD SLT ISZERO PUSH2 0xBA JUMPI DUP2 PUSH1 0x4 ADD CALLDATALOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH2 0xBA JUMPI CALLDATASIZE PUSH1 0x24 DUP4 DUP6 ADD ADD GT PUSH2 0xBA JUMPI PUSH1 0x24 PUSH2 0x11E SWAP4 ADD SWAP1 PUSH2 0x22A JUMP JUMPDEST STOP JUMPDEST CALLVALUE PUSH2 0xBA JUMPI PUSH1 0x60 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xBA JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x40 CALLDATASIZE PUSH1 0x23 NOT ADD SLT PUSH2 0xBA JUMPI DUP1 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x1AC JUMPI PUSH1 0x24 CALLDATALOAD DUP1 ISZERO DUP1 ISZERO PUSH2 0x1A2 JUMPI JUMPDEST PUSH2 0x189 JUMPI PUSH2 0x11E PUSH2 0x17A DUP4 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD DUP2 SSTORE PUSH1 0x1 PUSH1 0x44 CALLDATALOAD SWAP2 ADD SSTORE JUMP JUMPDEST PUSH4 0x39B4A3C1 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x4 MSTORE PUSH1 0x44 DUP1 CALLDATALOAD PUSH1 0x24 MSTORE PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x44 CALLDATALOAD ISZERO PUSH2 0x15F JUMP JUMPDEST PUSH4 0x77864E4B PUSH1 0xE1 SHL PUSH1 0x0 MSTORE PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x1F2 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH2 0x1C0 JUMP JUMPDEST SWAP1 PUSH1 0x1F DUP1 NOT SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x1F2 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x228 PUSH1 0xC0 DUP4 PUSH2 0x1F7 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 PUSH4 0xC3A661B PUSH1 0xE1 SHL DUP3 MSTORE DUP3 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x24 DUP2 MSTORE PUSH2 0x251 PUSH1 0x44 DUP3 PUSH2 0x1F7 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP2 DUP2 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD SWAP4 DUP3 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x20 MSTORE PUSH1 0x1 PUSH1 0x40 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 DUP3 ADD SWAP2 PUSH1 0x20 DUP2 DUP5 SUB SLT PUSH2 0xBA JUMPI DUP1 CALLDATALOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH2 0xBA JUMPI ADD SWAP5 PUSH1 0xC0 DUP7 DUP5 SUB SLT PUSH2 0xBA JUMPI PUSH2 0x2AB PUSH2 0x219 JUMP JUMPDEST DUP7 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0xBA JUMPI DUP5 PUSH2 0x2C8 SWAP2 DUP10 ADD PUSH2 0x388 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP8 ADD CALLDATALOAD SWAP7 PUSH8 0xFFFFFFFFFFFFFFFF DUP9 GT PUSH2 0xBA JUMPI PUSH2 0x34A PUSH2 0x360 SWAP8 PUSH1 0xA0 DUP4 PUSH2 0x2FE PUSH2 0x34F SWAP10 PUSH2 0x228 SWAP14 PUSH2 0x33C SWAP8 ADD PUSH2 0x388 JUMP JUMPDEST PUSH1 0x20 DUP8 ADD MSTORE PUSH1 0x40 DUP2 ADD CALLDATALOAD PUSH1 0x40 DUP8 ADD MSTORE PUSH1 0x60 DUP2 ADD CALLDATALOAD PUSH1 0x60 DUP8 ADD MSTORE PUSH1 0x80 DUP2 ADD CALLDATALOAD PUSH1 0x80 DUP8 ADD MSTORE ADD CALLDATALOAD PUSH1 0xA0 DUP6 ADD MSTORE PUSH1 0x40 MLOAD SWAP3 DUP4 SWAP2 PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 PUSH1 0x20 DUP4 ADD SWAP3 MSTORE JUMP JUMPDEST SUB PUSH1 0x1F NOT DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x1F7 JUMP JUMPDEST PUSH2 0x540 JUMP JUMPDEST POP PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP2 DUP3 DUP2 SSTORE ADD SSTORE JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x1F2 JUMPI PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST DUP2 PUSH1 0x1F DUP3 ADD SLT ISZERO PUSH2 0xBA JUMPI PUSH1 0x20 DUP2 CALLDATALOAD SWAP2 ADD PUSH2 0x3A2 DUP3 PUSH2 0x36C JUMP JUMPDEST SWAP3 PUSH2 0x3B0 PUSH1 0x40 MLOAD SWAP5 DUP6 PUSH2 0x1F7 JUMP JUMPDEST DUP3 DUP5 MSTORE DUP3 DUP3 ADD GT PUSH2 0xBA JUMPI DUP2 PUSH1 0x0 SWAP3 PUSH1 0x20 SWAP3 DUP4 DUP7 ADD CALLDATACOPY DUP4 ADD ADD MSTORE SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x15 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x3F1 JUMPI JUMP JUMPDEST PUSH2 0x3CD JUMP JUMPDEST SWAP1 PUSH1 0x2 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x3F1 JUMPI JUMP JUMPDEST SWAP2 SWAP1 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x3F1 JUMPI JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0x424 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x414 JUMP JUMPDEST SWAP1 PUSH2 0x447 PUSH1 0x20 SWAP3 DUP3 DUP2 MLOAD SWAP5 DUP6 SWAP3 ADD PUSH2 0x411 JUMP JUMPDEST ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH2 0x228 PUSH1 0x1 PUSH1 0x2D PUSH1 0x40 MLOAD DUP1 SWAP6 PUSH13 0x1131B430B63632B733B2911D11 PUSH1 0x99 SHL PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x481 DUP2 MLOAD DUP1 SWAP3 PUSH1 0x20 DUP7 DUP7 ADD SWAP2 ADD PUSH2 0x411 JUMP JUMPDEST DUP2 ADD PUSH1 0x11 PUSH1 0xF9 SHL DUP4 DUP3 ADD MSTORE SUB ADD PUSH1 0x1E NOT DUP2 ADD DUP6 MSTORE ADD DUP4 PUSH2 0x1F7 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x20 LT ISZERO PUSH2 0x4AC JUMPI PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x20 SWAP3 SWAP2 SWAP1 PUSH2 0x4E4 DUP5 SWAP3 DUP3 DUP2 MLOAD SWAP5 DUP6 SWAP3 ADD PUSH2 0x411 JUMP JUMPDEST ADD SWAP1 DUP2 MSTORE ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x4FB PUSH1 0x20 DUP4 PUSH2 0x1F7 JUMP JUMPDEST PUSH1 0x0 DUP3 MSTORE JUMP JUMPDEST RETURNDATASIZE ISZERO PUSH2 0x52C JUMPI RETURNDATASIZE SWAP1 PUSH2 0x512 DUP3 PUSH2 0x36C JUMP JUMPDEST SWAP2 PUSH2 0x520 PUSH1 0x40 MLOAD SWAP4 DUP5 PUSH2 0x1F7 JUMP JUMPDEST DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY JUMP JUMPDEST PUSH1 0x60 SWAP1 JUMP JUMPDEST SWAP1 DUP2 PUSH1 0x20 SWAP2 SUB SLT PUSH2 0xBA JUMPI MLOAD SWAP1 JUMP JUMPDEST SWAP3 SWAP2 SWAP1 PUSH1 0x0 SWAP4 PUSH1 0xA0 DUP3 ADD SWAP5 DUP6 MLOAD PUSH32 0x7FFFFFFF800000007FFFFFFFFFFFFFFFDE737D56D38BCF4279DCE5617E3192A8 LT PUSH2 0x720 JUMPI PUSH1 0x20 DUP4 ADD SWAP2 PUSH32 0xFF1A2A9176D650E4A99DEDB58F1793003935130579FE17B5A3F698AC5B00E634 PUSH2 0x5B2 DUP5 MLOAD PUSH1 0x60 DUP8 ADD MLOAD PUSH2 0x5AC DUP2 PUSH2 0x3E3 JUMP JUMPDEST SWAP2 PUSH2 0x8CA JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SUB PUSH2 0x729 JUMPI PUSH2 0x5CA PUSH2 0x5CF SWAP2 PUSH2 0x733 JUMP JUMPDEST PUSH2 0x44B JUMP JUMPDEST PUSH2 0x5E4 DUP4 MLOAD PUSH1 0x40 DUP7 ADD MLOAD PUSH2 0x5AC DUP5 MLOAD DUP3 PUSH2 0x404 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SWAP1 PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SUB PUSH2 0x720 JUMPI PUSH1 0x1 PUSH1 0xF8 SHL PUSH1 0x1 PUSH1 0xF8 SHL PUSH2 0x61D PUSH2 0x60F DUP7 MLOAD PUSH2 0x49C JUMP JUMPDEST MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 JUMP JUMPDEST AND SUB PUSH2 0x720 JUMPI PUSH2 0x63A PUSH1 0x20 SWAP3 PUSH1 0x0 SWAP3 POP MLOAD PUSH1 0x40 MLOAD SWAP2 DUP3 DUP1 SWAP3 PUSH2 0x434 JUMP JUMPDEST SUB SWAP1 PUSH1 0x2 GAS STATICCALL ISZERO PUSH2 0x71B JUMPI PUSH1 0x20 PUSH1 0x0 PUSH2 0x670 DUP2 MLOAD PUSH2 0x664 DUP6 MLOAD PUSH2 0x33C PUSH1 0x40 MLOAD SWAP4 DUP5 SWAP3 DUP9 DUP5 ADD PUSH2 0x4CE JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 DUP1 SWAP3 PUSH2 0x434 JUMP JUMPDEST SUB SWAP1 PUSH1 0x2 GAS STATICCALL ISZERO PUSH2 0x71B JUMPI PUSH1 0x80 PUSH1 0x0 MLOAD SWAP2 ADD SWAP4 PUSH1 0x0 DUP1 DUP7 MLOAD DUP6 PUSH2 0x6C3 DUP6 MLOAD PUSH2 0x33C DUP11 PUSH1 0x40 MLOAD SWAP5 DUP6 SWAP4 PUSH1 0x20 DUP6 ADD SWAP8 DUP13 DUP10 SWAP2 SWAP3 PUSH1 0x80 SWAP4 SWAP7 SWAP6 SWAP5 SWAP2 SWAP7 PUSH1 0xA0 DUP5 ADD SWAP8 DUP5 MSTORE PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE ADD MSTORE JUMP JUMPDEST MLOAD SWAP1 PUSH2 0x100 GAS STATICCALL SWAP5 PUSH2 0x6D3 PUSH2 0x501 JUMP JUMPDEST DUP1 MLOAD SWAP7 DUP1 PUSH2 0x712 JUMPI JUMPDEST PUSH2 0x6F2 JUMPI POP PUSH2 0x6EF SWAP6 POP MLOAD SWAP1 MLOAD SWAP2 PUSH2 0x7C2 JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x1 SWAP7 PUSH2 0x70E SWAP7 POP DUP2 ADD PUSH1 0x20 SWAP1 DUP2 ADD SWAP6 POP ADD SWAP3 POP PUSH2 0x531 SWAP2 POP POP JUMP JUMPDEST EQ SWAP1 JUMP JUMPDEST POP DUP7 ISZERO ISZERO PUSH2 0x6DC JUMP JUMPDEST PUSH2 0x4C2 JUMP JUMPDEST SWAP5 POP POP POP POP POP SWAP1 JUMP JUMPDEST POP SWAP5 POP POP POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x6EF SWAP2 PUSH2 0x745 PUSH1 0x60 DUP4 PUSH2 0x1F7 JUMP JUMPDEST PUSH1 0x40 DUP3 MSTORE PUSH32 0x4142434445464748494A4B4C4D4E4F505152535455565758595A616263646566 PUSH1 0x20 DUP4 ADD MSTORE PUSH32 0x6768696A6B6C6D6E6F707172737475767778797A303132333435363738392D5F PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x98E JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1485 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SUB SWAP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1485 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP3 GT PUSH2 0x3F1 JUMPI JUMP JUMPDEST SWAP4 SWAP2 SWAP1 SWAP3 SWAP4 DUP4 ISZERO DUP1 ISZERO PUSH2 0x8B2 JUMPI JUMPDEST DUP1 ISZERO PUSH2 0x8AA JUMPI JUMPDEST DUP1 ISZERO PUSH2 0x892 JUMPI JUMPDEST PUSH2 0x888 JUMPI PUSH2 0x7EC DUP4 DUP7 PUSH2 0xA36 JUMP JUMPDEST ISZERO PUSH2 0x888 JUMPI PUSH1 0x40 MLOAD SWAP2 PUSH1 0x20 DUP4 MSTORE PUSH1 0x20 DUP1 DUP5 ADD MSTORE PUSH1 0x20 PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x60 DUP4 ADD MSTORE PUSH32 0xFFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC63254F PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1485 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0xA0 DUP4 ADD MSTORE PUSH1 0x20 DUP3 PUSH1 0xC0 DUP2 PUSH1 0x5 PUSH1 0x0 NOT STATICCALL ISZERO PUSH2 0xBA JUMPI PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1485 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP5 PUSH2 0x882 SWAP4 DUP7 PUSH2 0x87C SWAP5 MLOAD DUP2 DUP2 DUP10 MULMOD SWAP5 MULMOD SWAP2 PUSH2 0xB11 JUMP JUMPDEST SWAP2 PUSH2 0x79A JUMP JUMPDEST SWAP1 ADDMOD ISZERO SWAP1 JUMP JUMPDEST POP POP POP POP POP PUSH1 0x0 SWAP1 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1485 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP3 LT ISZERO PUSH2 0x7DE JUMP JUMPDEST POP DUP2 ISZERO PUSH2 0x7D7 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1485 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP5 LT ISZERO PUSH2 0x7D0 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x60 SWAP5 SWAP4 SWAP3 SWAP1 DUP4 DUP2 GT ISZERO PUSH2 0x93C JUMPI JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x934 JUMPI JUMPDEST POP DUP3 DUP2 LT PUSH2 0x8F1 JUMPI POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP5 POP SWAP2 DUP3 SWAP1 SUB SWAP2 ADD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND JUMPDEST DUP2 DUP2 ADD MLOAD DUP6 DUP3 ADD MSTORE PUSH1 0x1F NOT ADD SWAP1 DUP2 ISZERO PUSH2 0x91E JUMPI SWAP1 PUSH2 0x905 JUMP JUMPDEST POP POP PUSH1 0x40 DUP2 DUP5 ADD PUSH1 0x0 PUSH1 0x20 DUP3 ADD MSTORE ADD PUSH1 0x40 MSTORE DUP3 MSTORE JUMP JUMPDEST SWAP1 POP CODESIZE PUSH2 0x8E4 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x8DB JUMP JUMPDEST PUSH1 0x2 DUP2 SWAP1 SHL SWAP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xFE SHL SUB DUP2 AND SUB PUSH2 0x3F1 JUMPI JUMP JUMPDEST SWAP1 PUSH2 0x966 DUP3 PUSH2 0x36C JUMP JUMPDEST PUSH2 0x973 PUSH1 0x40 MLOAD SWAP2 DUP3 PUSH2 0x1F7 JUMP JUMPDEST DUP3 DUP2 MSTORE DUP1 SWAP3 PUSH2 0x984 PUSH1 0x1F NOT SWAP2 PUSH2 0x36C JUMP JUMPDEST ADD SWAP1 PUSH1 0x20 CALLDATASIZE SWAP2 ADD CALLDATACOPY JUMP JUMPDEST SWAP1 DUP2 MLOAD ISZERO PUSH2 0xA2C JUMPI SWAP1 PUSH2 0x9BB PUSH2 0x9B6 PUSH2 0x9AF PUSH2 0x9AA DUP5 MLOAD PUSH2 0x944 JUMP JUMPDEST PUSH2 0x3F6 JUMP JUMPDEST PUSH1 0x3 SWAP1 DIV SWAP1 JUMP JUMPDEST PUSH2 0x95C JUMP JUMPDEST SWAP2 PUSH1 0x20 DUP4 ADD SWAP1 DUP3 DUP1 MLOAD ADD SWAP1 PUSH1 0x20 DUP3 ADD SWAP3 DUP4 MLOAD SWAP5 PUSH1 0x0 DUP6 MSTORE JUMPDEST DUP4 DUP2 LT PUSH2 0x9E2 JUMPI POP POP POP POP MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x4 SWAP2 ADD SWAP2 PUSH1 0x1 PUSH1 0x3F DUP5 MLOAD DUP3 DUP3 DUP3 PUSH1 0x12 SHR AND DUP9 ADD ADD MLOAD DUP5 MSTORE8 DUP3 DUP3 DUP3 PUSH1 0xC SHR AND DUP9 ADD ADD MLOAD DUP4 DUP6 ADD MSTORE8 DUP3 DUP3 DUP3 PUSH1 0x6 SHR AND DUP9 ADD ADD MLOAD PUSH1 0x2 DUP6 ADD MSTORE8 AND DUP6 ADD ADD MLOAD PUSH1 0x3 DUP3 ADD MSTORE8 ADD SWAP1 PUSH2 0x9D3 JUMP JUMPDEST POP POP PUSH2 0x6EF PUSH2 0x4EC JUMP JUMPDEST PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 LT DUP1 ISZERO SWAP1 PUSH2 0xAF9 JUMPI JUMPDEST DUP1 ISZERO PUSH2 0xAE8 JUMPI JUMPDEST PUSH2 0xAE1 JUMPI PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH32 0x5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B SWAP1 DUP3 SWAP1 DUP2 PUSH32 0xFFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC DUP3 MULMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 DUP2 DUP1 MULMOD MULMOD ADDMOD ADDMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP1 MULMOD EQ SWAP1 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP1 JUMP JUMPDEST POP DUP1 ISZERO DUP1 ISZERO PUSH2 0xA56 JUMPI POP DUP2 ISZERO PUSH2 0xA56 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP3 LT ISZERO PUSH2 0xA4F JUMP JUMPDEST SWAP1 SWAP3 PUSH1 0x0 SWAP3 SWAP1 DUP4 PUSH1 0xFF DUP2 DUP5 ISZERO DUP1 PUSH2 0x1108 JUMPI JUMPDEST PUSH2 0x10FD JUMPI PUSH2 0xB31 DUP9 DUP8 PUSH2 0x1110 JUMP JUMPDEST SWAP3 SWAP1 SWAP2 DUP3 ISZERO DUP1 PUSH2 0x10F5 JUMPI JUMPDEST PUSH2 0x10BA JUMPI JUMPDEST POP DUP6 DUP2 SHR PUSH1 0x2 DUP7 PUSH1 0xFE SHR AND ADD JUMPDEST ISZERO PUSH2 0x10A1 JUMPI PUSH1 0x1 DUP7 DUP3 SHR AND PUSH1 0x2 DUP7 DUP4 SHR PUSH1 0x1 SHL AND ADD PUSH1 0x1 DUP2 EQ PUSH2 0x1056 JUMPI JUMPDEST PUSH1 0x2 DUP2 EQ PUSH2 0x1049 JUMPI JUMPDEST PUSH1 0x3 EQ PUSH2 0x103C JUMPI JUMPDEST PUSH1 0x1 SWAP9 PUSH1 0x0 NOT SWAP2 SWAP1 SWAP2 ADD SWAP7 SWAP5 SWAP6 SWAP5 DUP10 SWAP5 SWAP4 SWAP3 SWAP2 JUMPDEST DUP9 PUSH1 0x0 NOT GT PUSH2 0xC0F JUMPI POP POP POP POP POP POP POP POP POP PUSH1 0x40 MLOAD SWAP2 PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x20 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD MSTORE PUSH1 0x20 PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH1 0x60 SHL SUB PUSH1 0x60 SHL NOT PUSH1 0xA0 DUP4 ADD MSTORE PUSH1 0x20 DUP3 PUSH1 0xC0 DUP2 PUSH1 0x5 PUSH1 0x0 NOT STATICCALL ISZERO PUSH2 0xBA JUMPI SWAP1 MLOAD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD SWAP1 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 SWAP6 SWAP7 SWAP8 SWAP9 PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH1 0x60 SHL SUB PUSH1 0x60 SHL NOT DUP7 PUSH1 0x2 MULMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP3 DUP1 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 DUP4 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP3 SWAP1 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 SWAP1 DUP16 DUP3 DUP2 DUP4 ADDMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SUB SWAP1 ADDMOD MULMOD PUSH1 0x3 MULMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP4 MULMOD SWAP13 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP3 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP12 DUP1 MULMOD ADDMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SWAP1 DUP2 SUB DUP12 ADDMOD SWAP1 MULMOD SWAP7 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP9 SWAP1 DUP3 SWAP1 DUP5 MULMOD ADDMOD SWAP7 DUP12 PUSH1 0x2 DUP13 PUSH1 0x1 DUP14 DUP5 SHR AND SWAP3 SHR PUSH1 0x1 SHL AND ADD DUP1 ISZERO PUSH2 0x101F JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0xFD4 JUMPI JUMPDEST PUSH1 0x2 DUP2 EQ PUSH2 0xFC9 JUMPI JUMPDEST PUSH1 0x3 EQ PUSH2 0xFC0 JUMPI JUMPDEST DUP3 ISZERO PUSH2 0xFAD JUMPI PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP9 SWAP1 DUP3 SWAP1 DUP16 SWAP1 MULMOD ADDMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP10 DUP3 SUB SWAP1 DUP3 SWAP1 DUP6 SWAP1 MULMOD ADDMOD SWAP8 DUP2 ISZERO PUSH2 0xE73 JUMPI JUMPDEST PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP10 DUP1 MULMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP11 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP11 SWAP1 MULMOD SWAP13 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP5 SWAP1 MULMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP3 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP6 DUP2 SUB DUP2 DUP7 DUP1 MULMOD ADDMOD ADDMOD SWAP8 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP4 DUP5 SWAP2 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SWAP1 DUP11 DUP3 SUB SWAP1 ADDMOD MULMOD ADDMOD SWAP5 SWAP9 JUMPDEST PUSH1 0x0 NOT ADD SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xB91 JUMP JUMPDEST DUP9 PUSH2 0xD96 JUMPI SWAP11 SWAP2 SWAP8 POP SWAP1 SWAP6 SWAP1 POP PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD SWAP11 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP13 DUP1 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 DUP14 MULMOD SWAP13 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP3 SWAP1 MULMOD SWAP12 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 DUP12 DUP2 SUB DUP3 ADDMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP13 SWAP1 ADDMOD MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH1 0x3 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP14 MULMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD SWAP12 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP3 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP5 DUP1 MULMOD ADDMOD SWAP12 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP4 DUP5 SWAP2 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SWAP1 DUP15 DUP3 SUB SWAP1 ADDMOD SWAP1 MULMOD ADDMOD SWAP5 PUSH2 0xE62 JUMP JUMPDEST PUSH1 0x1 SWAP13 POP SWAP1 SWAP11 DUP13 SWAP9 POP SWAP1 SWAP7 POP SWAP1 POP PUSH2 0xE62 JUMP JUMPDEST POP POP DUP4 DUP6 PUSH2 0xD55 JUMP JUMPDEST DUP6 SWAP3 POP DUP5 SWAP2 POP PUSH2 0xD4D JUMP JUMPDEST PUSH32 0x6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296 SWAP3 POP PUSH32 0x4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5 SWAP2 POP PUSH2 0xD44 JUMP JUMPDEST POP POP POP SWAP10 SWAP6 SWAP9 SWAP5 PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH1 0x60 SHL SUB PUSH1 0x60 SHL NOT SUB SWAP5 PUSH2 0xE62 JUMP JUMPDEST SWAP3 POP DUP1 SWAP7 POP SWAP6 DUP2 SWAP3 PUSH2 0xB7D JUMP JUMPDEST SWAP7 SWAP8 POP DUP8 SWAP7 DUP10 SWAP5 POP PUSH2 0xB75 JUMP JUMPDEST PUSH32 0x6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296 SWAP9 POP PUSH32 0x4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5 SWAP5 POP PUSH2 0xB6C JUMP JUMPDEST PUSH1 0x0 NOT ADD PUSH1 0x1 DUP7 DUP3 SHR AND PUSH1 0x2 DUP7 DUP4 SHR PUSH1 0x1 SHL AND ADD PUSH2 0xB4E JUMP JUMPDEST SWAP5 SWAP6 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1485 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP2 SWAP7 DUP3 SUB SWAP1 ADDMOD SWAP5 DUP5 DUP7 ISZERO DUP1 PUSH2 0x10ED JUMPI JUMPDEST ISZERO PUSH2 0xB41 JUMPI SWAP9 POP POP POP POP POP POP POP POP POP SWAP1 JUMP JUMPDEST POP PUSH1 0x1 PUSH2 0x10DB JUMP JUMPDEST POP DUP4 ISZERO PUSH2 0xB3C JUMP JUMPDEST SWAP7 POP POP POP POP POP POP POP SWAP1 JUMP JUMPDEST POP DUP4 ISZERO PUSH2 0xB23 JUMP JUMPDEST SWAP2 SWAP1 PUSH32 0x6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296 PUSH32 0x4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5 SWAP2 DUP1 ISZERO PUSH2 0x12C8 JUMPI DUP5 PUSH2 0x12A6 SWAP5 SWAP6 DUP4 EQ DUP1 PUSH2 0x12BF JUMPI JUMPDEST ISZERO PUSH2 0x12AA JUMPI POP PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 POP DUP3 PUSH1 0x2 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 DUP1 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP5 DUP5 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP6 SWAP1 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 SWAP1 DUP2 PUSH1 0x1 DUP3 ADDMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH32 0xFFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFE SWAP1 ADDMOD MULMOD PUSH1 0x3 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP5 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP4 DUP1 MULMOD ADDMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT PUSH1 0x1 DUP7 MULMOD SWAP6 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH1 0x1 SWAP1 MULMOD SWAP5 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP4 DUP5 SWAP2 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 SUB SWAP3 SWAP1 SWAP2 DUP3 SWAP1 DUP7 DUP3 SUB SWAP1 ADDMOD SWAP1 MULMOD ADDMOD SWAP1 PUSH2 0x13EA JUMP JUMPDEST SWAP1 SWAP2 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 PUSH2 0x12B6 SWAP4 PUSH2 0x12CE JUMP JUMPDEST SWAP3 SWAP1 SWAP2 SWAP1 PUSH2 0x13EA JUMP JUMPDEST POP DUP2 DUP5 EQ PUSH2 0x1169 JUMP JUMPDEST POP SWAP3 POP SWAP1 JUMP JUMPDEST SWAP2 SWAP4 SWAP1 DUP1 ISZERO PUSH2 0x13E1 JUMPI PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 SUB SWAP4 DUP5 SWAP1 DUP3 SWAP1 PUSH1 0x1 SWAP1 MULMOD ADDMOD SWAP4 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP4 DUP3 SUB SWAP1 DUP3 SWAP1 PUSH1 0x1 SWAP1 MULMOD ADDMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP5 DUP1 MULMOD SWAP4 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP6 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP6 SWAP1 MULMOD SWAP5 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP8 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP7 DUP2 SUB DUP2 DUP6 DUP1 MULMOD ADDMOD ADDMOD SWAP6 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP3 DUP4 SWAP1 DUP7 SWAP1 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SWAP1 DUP10 DUP3 SUB SWAP1 ADDMOD MULMOD ADDMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH1 0x1 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH1 0x1 MULMOD SWAP1 JUMP JUMPDEST POP PUSH1 0x1 SWAP2 POP DUP2 SWAP1 JUMP JUMPDEST SWAP2 SWAP1 SWAP3 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD MSTORE PUSH1 0x20 PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH1 0x60 SHL SUB PUSH1 0x60 SHL NOT PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0x20 DUP2 PUSH1 0xC0 DUP2 PUSH1 0x5 PUSH1 0x0 NOT STATICCALL ISZERO PUSH2 0xBA JUMPI MLOAD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP5 SWAP1 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 SWAP1 DUP3 SWAP1 DUP1 MULMOD SWAP1 MULMOD SWAP2 JUMP INVALID SELFDESTRUCT SELFDESTRUCT SELFDESTRUCT SELFDESTRUCT STOP STOP STOP STOP SELFDESTRUCT SELFDESTRUCT SELFDESTRUCT SELFDESTRUCT SELFDESTRUCT SELFDESTRUCT SELFDESTRUCT SELFDESTRUCT 0xBC 0xE6 STATICCALL 0xAD 0xA7 OR SWAP15 DUP5 RETURN 0xB9 0xCA 0xC2 0xFC PUSH4 0x2551A264 PUSH10 0x70667358221220C3871A PUSH32 0x51C40A63E23A07543227A03894C1E09C4B1747EDD49D559D597F51E464736F6C PUSH4 0x4300081C STOP CALLER ", + "sourceMap": "846:4009:28:-:0;;;;;;;;;;;;;;;;;" }, "deployedBytecode": { "functionDebugData": { @@ -236199,67 +261896,67 @@ }, "fun_ecAff_add": { "entryPoint": 4368, - "id": 1762, + "id": 3368, "parameterSlots": 2, "returnSlots": 2 }, "fun_ecAff_isOnCurve": { "entryPoint": 2614, - "id": 1674, + "id": 3280, "parameterSlots": 2, "returnSlots": 1 }, "fun_ecZZ_AddN": { "entryPoint": 4814, - "id": 1533, + "id": 3139, "parameterSlots": 4, "returnSlots": 4 }, "fun_ecZZ_SetAff": { "entryPoint": 5098, - "id": 1460, + "id": 3066, "parameterSlots": 4, "returnSlots": 2 }, "fun_ecZZ_mulmuladd_S_asm": { "entryPoint": 2833, - "id": 1856, + "id": 3462, "parameterSlots": 4, "returnSlots": 1 }, "fun_ecdsa_verify": { "entryPoint": 1986, - "id": 674, + "id": 2280, "parameterSlots": 5, "returnSlots": 1 }, "fun_encode": { "entryPoint": 2446, - "id": 2392, + "id": 3998, "parameterSlots": 2, "returnSlots": 1 }, "fun_encodeURL": { "entryPoint": 1843, - "id": 2338, + "id": 3944, "parameterSlots": 1, "returnSlots": 1 }, "fun_removeCredentialKey": { "entryPoint": 554, - "id": 6709, + "id": 8323, "parameterSlots": 3, "returnSlots": 0 }, "fun_slice": { "entryPoint": 2250, - "id": 2835, + "id": 4441, "parameterSlots": 3, "returnSlots": 1 }, "fun_verify": { "entryPoint": 1344, - "id": 8557, + "id": 10438, "parameterSlots": 4, "returnSlots": 1 }, @@ -236327,9 +262024,9 @@ "generatedSources": [], "immutableReferences": {}, "linkReferences": {}, - "object": "6080604052600436101561001257600080fd5b60003560e01c8063185d0dcd146100475780631874cc361461004257637415a7251461003d57600080fd5b610120565b6100bf565b346100ba5760203660031901126100ba5760043561006560c0604052565b6000608052600060a05260005260006020526100b6604060002060016040519161008e836101d6565b8054835201546020820152604051918291829190916020806040830194805184520151910152565b0390f35b600080fd5b346100ba5760403660031901126100ba5760243560043567ffffffffffffffff82116100ba57366023830112156100ba5781600401359067ffffffffffffffff82116100ba5736602483850101116100ba57602461011e93019061022a565b005b346100ba5760603660031901126100ba5760043560403660231901126100ba578060005260006020526040600020546101ac57602435801580156101a2575b6101895761011e61017a836000526000602052604060002090565b60243581556001604435910155565b6339b4a3c160e01b600052600452604480356024526000fd5b506044351561015f565b6377864e4b60e11b60005260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff8211176101f257604052565b6101c0565b90601f8019910116810190811067ffffffffffffffff8211176101f257604052565b6040519061022860c0836101f7565b565b6040516020810190630c3a661b60e11b8252826024820152602481526102516044826101f7565b5190209181600052600060205260406000205493826000526000602052600160406000200154908201916020818403126100ba5780359067ffffffffffffffff82116100ba57019460c0868403126100ba576102ab610219565b863567ffffffffffffffff81116100ba57846102c8918901610388565b815260208701359667ffffffffffffffff88116100ba5761034a6103609760a0836102fe61034f996102289d61033c9701610388565b6020870152604081013560408701526060810135606087015260808101356080870152013560a0850152604051928391602083019190602083019252565b03601f1981018352826101f7565b610540565b506000526000602052604060002090565b60016000918281550155565b67ffffffffffffffff81116101f257601f01601f191660200190565b81601f820112156100ba576020813591016103a28261036c565b926103b060405194856101f7565b828452828201116100ba5781600092602092838601378301015290565b634e487b7160e01b600052601160045260246000fd5b90601582018092116103f157565b6103cd565b90600282018092116103f157565b919082018092116103f157565b60005b8381106104245750506000910152565b8181015183820152602001610414565b9061044760209282815194859201610411565b0190565b906102286001602d60405180956c1131b430b63632b733b2911d1160991b60208301526104818151809260208686019101610411565b8101601160f91b838201520301601e198101855201836101f7565b8051602010156104ac5760400190565b634e487b7160e01b600052603260045260246000fd5b6040513d6000823e3d90fd5b60209291906104e4849282815194859201610411565b019081520190565b604051906104fb6020836101f7565b60008252565b3d1561052c573d906105128261036c565b9161052060405193846101f7565b82523d6000602084013e565b606090565b908160209103126100ba575190565b92919060009360a082019485517f7fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a8106107205760208301917fff1a2a9176d650e4a99dedb58f1793003935130579fe17b5a3f698ac5b00e6346105b2845160608701516105ac816103e3565b916108ca565b6020815191012003610729576105ca6105cf91610733565b61044b565b6105e4835160408601516105ac845182610404565b6020815191012090602081519101200361072057600160f81b600160f81b61061d61060f865161049c565b516001600160f81b03191690565b16036107205761063a602092600092505160405191828092610434565b039060025afa1561071b57602060006106708151610664855161033c6040519384928884016104ce565b60405191828092610434565b039060025afa1561071b5760806000519101936000808651856106c3855161033c8a60405194859360208501978c899192608093969594919660a084019784526020840152604083015260608201520152565b51906101005afa946106d3610501565b80519680610712575b6106f257506106ef9550519051916107c2565b90565b60019661070e9650810160209081019550019250610531915050565b1490565b508615156106dc565b6104c2565b94505050505090565b5094505050505090565b6040516106ef916107456060836101f7565b604082527f4142434445464748494a4b4c4d4e4f505152535455565758595a61626364656660208301527f6768696a6b6c6d6e6f707172737475767778797a303132333435363738392d5f604083015261098e565b600080516020611485833981519152039060008051602061148583398151915282116103f157565b9391909293831580156108b2575b80156108aa575b8015610892575b610888576107ec8386610a36565b156108885760405191602083526020808401526020604084015260608301527fffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254f608083015260008051602061148583398151915260a083015260208260c0816005600019fa156100ba5760008051602061148583398151915294610882938661087c945181818909940991610b11565b9161079a565b90081590565b5050505050600090565b506000805160206114858339815191528210156107de565b5081156107d7565b506000805160206114858339815191528410156107d0565b80516060949392908381111561093c575b81811115610934575b508281106108f157505050565b6040519450918290039101601f8201601f19165b8181015185820152601f190190811561091e5790610905565b5050604081840160006020820152016040528252565b9050386108e4565b9250826108db565b600281901b91906001600160fe1b038116036103f157565b906109668261036c565b61097360405191826101f7565b8281528092610984601f199161036c565b0190602036910137565b90815115610a2c57906109bb6109b66109af6109aa8451610944565b6103f6565b6003900490565b61095c565b91602083019082805101906020820192835194600085525b8381106109e257505050505290565b600360049101916001603f845182828260121c16880101518453828282600c1c16880101518385015382828260061c168801015160028501531685010151600382015301906109d3565b50506106ef6104ec565b600160601b63ffffffff60c01b03198110801590610af9575b8015610ae8575b610ae157600160601b63ffffffff60c01b0319907f5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b908290817fffffffff00000001000000000000000000000000fffffffffffffffffffffffc820990600160601b63ffffffff60c01b0319908181800909080890600160601b63ffffffff60c01b03199080091490565b5050600090565b5080158015610a5657508115610a56565b50600160601b63ffffffff60c01b0319821015610a4f565b9092600092908360ff81841580611108575b6110fd57610b318887611110565b9290918215806110f5575b6110ba575b5085811c60028660fe1c16015b156110a157600186821c16600286831c60011b160160018114611056575b60028114611049575b60031461103c575b600198600019919091019694959489949392915b8860001911610c0f5750505050505050505060405191606083015260208252602080830152602060408301526002600160601b0363ffffffff60c01b03196080830152600163ffffffff60601b0360601b1960a083015260208260c0816005600019fa156100ba579051600160601b63ffffffff60c01b0319910990565b909192939495969798600163ffffffff60601b0360601b198660020990600160601b63ffffffff60c01b0319828009600160601b63ffffffff60c01b031981830992600160601b63ffffffff60c01b03199082900991600160601b63ffffffff60c01b03199081908f8281830891600160601b63ffffffff60c01b031991820390080960030998600160601b63ffffffff60c01b03199083099c600160601b63ffffffff60c01b0319910991600160601b63ffffffff60c01b031980826002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b03198b80090898600160601b63ffffffff60c01b031991829081038b08900996600160601b63ffffffff60c01b03199088908290840908968b60028c60018d841c16921c60011b1601801561101f5760018114610fd4575b60028114610fc9575b600314610fc0575b8215610fad57600160601b63ffffffff60c01b031990889082908f90090890600160601b63ffffffff60c01b03199089820390829085900908978115610e73575b600160601b63ffffffff60c01b031989800998600160601b63ffffffff60c01b0319908a0992600160601b63ffffffff60c01b0319908a90099c600160601b63ffffffff60c01b03199084900998600160601b63ffffffff60c01b03199109600160601b63ffffffff60c01b031980826002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b031985810381868009080897600160601b63ffffffff60c01b03199384910991600160601b63ffffffff60c01b03199182908a82039008090894985b600019019796959493929190610b91565b88610d96579a91975090959050600160601b63ffffffff60c01b0319816002600160601b0363ffffffff60c01b0319099a600160601b63ffffffff60c01b03198c8009600160601b63ffffffff60c01b0319818d099c600160601b63ffffffff60c01b0319908290099b600160601b63ffffffff60c01b031990818b8103820890600160601b63ffffffff60c01b0319908c900809600160601b63ffffffff60c01b03199060030991600160601b63ffffffff60c01b0319908d0998600160601b63ffffffff60c01b031991099b600160601b63ffffffff60c01b031980826002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b0319848009089b600160601b63ffffffff60c01b03199384910991600160601b63ffffffff60c01b03199182908e8203900890090894610e62565b60019c50909a8c98509096509050610e62565b50508385610d55565b859250849150610d4d565b7f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29692507f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f59150610d44565b50505099959894600163ffffffff60601b0360601b190394610e62565b9250809650958192610b7d565b9697508796899450610b75565b7f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29698507f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f59450610b6c565b60001901600186821c16600286831c60011b1601610b4e565b949560008051602061148583398151915291968203900894848615806110ed575b15610b41579850505050505050505090565b5060016110db565b508315610b3c565b965050505050505090565b508315610b23565b91907f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2967f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f59180156112c857846112a694958314806112bf575b156112aa5750600160601b63ffffffff60c01b0319905082600209600160601b63ffffffff60c01b031981800992600160601b63ffffffff60c01b031984840991600160601b63ffffffff60c01b03199085900992600160601b63ffffffff60c01b0319908190816001820890600160601b63ffffffff60c01b0319907fffffffff00000001000000000000000000000000fffffffffffffffffffffffe900809600309600160601b63ffffffff60c01b031980846002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b03198380090892600160601b63ffffffff60c01b03196001860995600160601b63ffffffff60c01b0319906001900994600160601b63ffffffff60c01b031993849109600160601b63ffffffff60c01b031990810392909182908682039008900908906113ea565b9091565b9091926112b6936112ce565b929091906113ea565b50818414611169565b50925090565b91939080156113e157600160601b63ffffffff60c01b03199081039384908290600190090893600160601b63ffffffff60c01b031990838203908290600190090892600160601b63ffffffff60c01b031984800993600160601b63ffffffff60c01b031990850992600160601b63ffffffff60c01b03199085900994600160601b63ffffffff60c01b031980876002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b031986810381858009080895600160601b63ffffffff60c01b031992839086900991600160601b63ffffffff60c01b03199182908982039008090892600160601b63ffffffff60c01b03199060010991600160601b63ffffffff60c01b03199060010990565b50600191508190565b91909260405190602082526020808301526020604083015260608201526002600160601b0363ffffffff60c01b03196080820152600163ffffffff60601b0360601b1960a082015260208160c0816005600019fa156100ba575192600160601b63ffffffff60c01b03199084900992600160601b63ffffffff60c01b03199109600160601b63ffffffff60c01b031991908290800990099156feffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551a2646970667358221220e47add3c302cfd7450ab0d91737d23a225224a244a6c5360ba690ffd4fc2e63d64736f6c634300081c0033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x12 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x185D0DCD EQ PUSH2 0x47 JUMPI DUP1 PUSH4 0x1874CC36 EQ PUSH2 0x42 JUMPI PUSH4 0x7415A725 EQ PUSH2 0x3D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x120 JUMP JUMPDEST PUSH2 0xBF JUMP JUMPDEST CALLVALUE PUSH2 0xBA JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xBA JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0x65 PUSH1 0xC0 PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 MSTORE PUSH1 0x0 PUSH1 0xA0 MSTORE PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x20 MSTORE PUSH2 0xB6 PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x1 PUSH1 0x40 MLOAD SWAP2 PUSH2 0x8E DUP4 PUSH2 0x1D6 JUMP JUMPDEST DUP1 SLOAD DUP4 MSTORE ADD SLOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 MLOAD SWAP2 DUP3 SWAP2 DUP3 SWAP2 SWAP1 SWAP2 PUSH1 0x20 DUP1 PUSH1 0x40 DUP4 ADD SWAP5 DUP1 MLOAD DUP5 MSTORE ADD MLOAD SWAP2 ADD MSTORE JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0xBA JUMPI PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xBA JUMPI PUSH1 0x24 CALLDATALOAD PUSH1 0x4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH2 0xBA JUMPI CALLDATASIZE PUSH1 0x23 DUP4 ADD SLT ISZERO PUSH2 0xBA JUMPI DUP2 PUSH1 0x4 ADD CALLDATALOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH2 0xBA JUMPI CALLDATASIZE PUSH1 0x24 DUP4 DUP6 ADD ADD GT PUSH2 0xBA JUMPI PUSH1 0x24 PUSH2 0x11E SWAP4 ADD SWAP1 PUSH2 0x22A JUMP JUMPDEST STOP JUMPDEST CALLVALUE PUSH2 0xBA JUMPI PUSH1 0x60 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xBA JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x40 CALLDATASIZE PUSH1 0x23 NOT ADD SLT PUSH2 0xBA JUMPI DUP1 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x1AC JUMPI PUSH1 0x24 CALLDATALOAD DUP1 ISZERO DUP1 ISZERO PUSH2 0x1A2 JUMPI JUMPDEST PUSH2 0x189 JUMPI PUSH2 0x11E PUSH2 0x17A DUP4 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD DUP2 SSTORE PUSH1 0x1 PUSH1 0x44 CALLDATALOAD SWAP2 ADD SSTORE JUMP JUMPDEST PUSH4 0x39B4A3C1 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x4 MSTORE PUSH1 0x44 DUP1 CALLDATALOAD PUSH1 0x24 MSTORE PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x44 CALLDATALOAD ISZERO PUSH2 0x15F JUMP JUMPDEST PUSH4 0x77864E4B PUSH1 0xE1 SHL PUSH1 0x0 MSTORE PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x1F2 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH2 0x1C0 JUMP JUMPDEST SWAP1 PUSH1 0x1F DUP1 NOT SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x1F2 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x228 PUSH1 0xC0 DUP4 PUSH2 0x1F7 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 PUSH4 0xC3A661B PUSH1 0xE1 SHL DUP3 MSTORE DUP3 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x24 DUP2 MSTORE PUSH2 0x251 PUSH1 0x44 DUP3 PUSH2 0x1F7 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP2 DUP2 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD SWAP4 DUP3 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x20 MSTORE PUSH1 0x1 PUSH1 0x40 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 DUP3 ADD SWAP2 PUSH1 0x20 DUP2 DUP5 SUB SLT PUSH2 0xBA JUMPI DUP1 CALLDATALOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH2 0xBA JUMPI ADD SWAP5 PUSH1 0xC0 DUP7 DUP5 SUB SLT PUSH2 0xBA JUMPI PUSH2 0x2AB PUSH2 0x219 JUMP JUMPDEST DUP7 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0xBA JUMPI DUP5 PUSH2 0x2C8 SWAP2 DUP10 ADD PUSH2 0x388 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP8 ADD CALLDATALOAD SWAP7 PUSH8 0xFFFFFFFFFFFFFFFF DUP9 GT PUSH2 0xBA JUMPI PUSH2 0x34A PUSH2 0x360 SWAP8 PUSH1 0xA0 DUP4 PUSH2 0x2FE PUSH2 0x34F SWAP10 PUSH2 0x228 SWAP14 PUSH2 0x33C SWAP8 ADD PUSH2 0x388 JUMP JUMPDEST PUSH1 0x20 DUP8 ADD MSTORE PUSH1 0x40 DUP2 ADD CALLDATALOAD PUSH1 0x40 DUP8 ADD MSTORE PUSH1 0x60 DUP2 ADD CALLDATALOAD PUSH1 0x60 DUP8 ADD MSTORE PUSH1 0x80 DUP2 ADD CALLDATALOAD PUSH1 0x80 DUP8 ADD MSTORE ADD CALLDATALOAD PUSH1 0xA0 DUP6 ADD MSTORE PUSH1 0x40 MLOAD SWAP3 DUP4 SWAP2 PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 PUSH1 0x20 DUP4 ADD SWAP3 MSTORE JUMP JUMPDEST SUB PUSH1 0x1F NOT DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x1F7 JUMP JUMPDEST PUSH2 0x540 JUMP JUMPDEST POP PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP2 DUP3 DUP2 SSTORE ADD SSTORE JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x1F2 JUMPI PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST DUP2 PUSH1 0x1F DUP3 ADD SLT ISZERO PUSH2 0xBA JUMPI PUSH1 0x20 DUP2 CALLDATALOAD SWAP2 ADD PUSH2 0x3A2 DUP3 PUSH2 0x36C JUMP JUMPDEST SWAP3 PUSH2 0x3B0 PUSH1 0x40 MLOAD SWAP5 DUP6 PUSH2 0x1F7 JUMP JUMPDEST DUP3 DUP5 MSTORE DUP3 DUP3 ADD GT PUSH2 0xBA JUMPI DUP2 PUSH1 0x0 SWAP3 PUSH1 0x20 SWAP3 DUP4 DUP7 ADD CALLDATACOPY DUP4 ADD ADD MSTORE SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x15 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x3F1 JUMPI JUMP JUMPDEST PUSH2 0x3CD JUMP JUMPDEST SWAP1 PUSH1 0x2 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x3F1 JUMPI JUMP JUMPDEST SWAP2 SWAP1 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x3F1 JUMPI JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0x424 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x414 JUMP JUMPDEST SWAP1 PUSH2 0x447 PUSH1 0x20 SWAP3 DUP3 DUP2 MLOAD SWAP5 DUP6 SWAP3 ADD PUSH2 0x411 JUMP JUMPDEST ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH2 0x228 PUSH1 0x1 PUSH1 0x2D PUSH1 0x40 MLOAD DUP1 SWAP6 PUSH13 0x1131B430B63632B733B2911D11 PUSH1 0x99 SHL PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x481 DUP2 MLOAD DUP1 SWAP3 PUSH1 0x20 DUP7 DUP7 ADD SWAP2 ADD PUSH2 0x411 JUMP JUMPDEST DUP2 ADD PUSH1 0x11 PUSH1 0xF9 SHL DUP4 DUP3 ADD MSTORE SUB ADD PUSH1 0x1E NOT DUP2 ADD DUP6 MSTORE ADD DUP4 PUSH2 0x1F7 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x20 LT ISZERO PUSH2 0x4AC JUMPI PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x20 SWAP3 SWAP2 SWAP1 PUSH2 0x4E4 DUP5 SWAP3 DUP3 DUP2 MLOAD SWAP5 DUP6 SWAP3 ADD PUSH2 0x411 JUMP JUMPDEST ADD SWAP1 DUP2 MSTORE ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x4FB PUSH1 0x20 DUP4 PUSH2 0x1F7 JUMP JUMPDEST PUSH1 0x0 DUP3 MSTORE JUMP JUMPDEST RETURNDATASIZE ISZERO PUSH2 0x52C JUMPI RETURNDATASIZE SWAP1 PUSH2 0x512 DUP3 PUSH2 0x36C JUMP JUMPDEST SWAP2 PUSH2 0x520 PUSH1 0x40 MLOAD SWAP4 DUP5 PUSH2 0x1F7 JUMP JUMPDEST DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY JUMP JUMPDEST PUSH1 0x60 SWAP1 JUMP JUMPDEST SWAP1 DUP2 PUSH1 0x20 SWAP2 SUB SLT PUSH2 0xBA JUMPI MLOAD SWAP1 JUMP JUMPDEST SWAP3 SWAP2 SWAP1 PUSH1 0x0 SWAP4 PUSH1 0xA0 DUP3 ADD SWAP5 DUP6 MLOAD PUSH32 0x7FFFFFFF800000007FFFFFFFFFFFFFFFDE737D56D38BCF4279DCE5617E3192A8 LT PUSH2 0x720 JUMPI PUSH1 0x20 DUP4 ADD SWAP2 PUSH32 0xFF1A2A9176D650E4A99DEDB58F1793003935130579FE17B5A3F698AC5B00E634 PUSH2 0x5B2 DUP5 MLOAD PUSH1 0x60 DUP8 ADD MLOAD PUSH2 0x5AC DUP2 PUSH2 0x3E3 JUMP JUMPDEST SWAP2 PUSH2 0x8CA JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SUB PUSH2 0x729 JUMPI PUSH2 0x5CA PUSH2 0x5CF SWAP2 PUSH2 0x733 JUMP JUMPDEST PUSH2 0x44B JUMP JUMPDEST PUSH2 0x5E4 DUP4 MLOAD PUSH1 0x40 DUP7 ADD MLOAD PUSH2 0x5AC DUP5 MLOAD DUP3 PUSH2 0x404 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SWAP1 PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SUB PUSH2 0x720 JUMPI PUSH1 0x1 PUSH1 0xF8 SHL PUSH1 0x1 PUSH1 0xF8 SHL PUSH2 0x61D PUSH2 0x60F DUP7 MLOAD PUSH2 0x49C JUMP JUMPDEST MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 JUMP JUMPDEST AND SUB PUSH2 0x720 JUMPI PUSH2 0x63A PUSH1 0x20 SWAP3 PUSH1 0x0 SWAP3 POP MLOAD PUSH1 0x40 MLOAD SWAP2 DUP3 DUP1 SWAP3 PUSH2 0x434 JUMP JUMPDEST SUB SWAP1 PUSH1 0x2 GAS STATICCALL ISZERO PUSH2 0x71B JUMPI PUSH1 0x20 PUSH1 0x0 PUSH2 0x670 DUP2 MLOAD PUSH2 0x664 DUP6 MLOAD PUSH2 0x33C PUSH1 0x40 MLOAD SWAP4 DUP5 SWAP3 DUP9 DUP5 ADD PUSH2 0x4CE JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 DUP1 SWAP3 PUSH2 0x434 JUMP JUMPDEST SUB SWAP1 PUSH1 0x2 GAS STATICCALL ISZERO PUSH2 0x71B JUMPI PUSH1 0x80 PUSH1 0x0 MLOAD SWAP2 ADD SWAP4 PUSH1 0x0 DUP1 DUP7 MLOAD DUP6 PUSH2 0x6C3 DUP6 MLOAD PUSH2 0x33C DUP11 PUSH1 0x40 MLOAD SWAP5 DUP6 SWAP4 PUSH1 0x20 DUP6 ADD SWAP8 DUP13 DUP10 SWAP2 SWAP3 PUSH1 0x80 SWAP4 SWAP7 SWAP6 SWAP5 SWAP2 SWAP7 PUSH1 0xA0 DUP5 ADD SWAP8 DUP5 MSTORE PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE ADD MSTORE JUMP JUMPDEST MLOAD SWAP1 PUSH2 0x100 GAS STATICCALL SWAP5 PUSH2 0x6D3 PUSH2 0x501 JUMP JUMPDEST DUP1 MLOAD SWAP7 DUP1 PUSH2 0x712 JUMPI JUMPDEST PUSH2 0x6F2 JUMPI POP PUSH2 0x6EF SWAP6 POP MLOAD SWAP1 MLOAD SWAP2 PUSH2 0x7C2 JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x1 SWAP7 PUSH2 0x70E SWAP7 POP DUP2 ADD PUSH1 0x20 SWAP1 DUP2 ADD SWAP6 POP ADD SWAP3 POP PUSH2 0x531 SWAP2 POP POP JUMP JUMPDEST EQ SWAP1 JUMP JUMPDEST POP DUP7 ISZERO ISZERO PUSH2 0x6DC JUMP JUMPDEST PUSH2 0x4C2 JUMP JUMPDEST SWAP5 POP POP POP POP POP SWAP1 JUMP JUMPDEST POP SWAP5 POP POP POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x6EF SWAP2 PUSH2 0x745 PUSH1 0x60 DUP4 PUSH2 0x1F7 JUMP JUMPDEST PUSH1 0x40 DUP3 MSTORE PUSH32 0x4142434445464748494A4B4C4D4E4F505152535455565758595A616263646566 PUSH1 0x20 DUP4 ADD MSTORE PUSH32 0x6768696A6B6C6D6E6F707172737475767778797A303132333435363738392D5F PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x98E JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1485 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SUB SWAP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1485 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP3 GT PUSH2 0x3F1 JUMPI JUMP JUMPDEST SWAP4 SWAP2 SWAP1 SWAP3 SWAP4 DUP4 ISZERO DUP1 ISZERO PUSH2 0x8B2 JUMPI JUMPDEST DUP1 ISZERO PUSH2 0x8AA JUMPI JUMPDEST DUP1 ISZERO PUSH2 0x892 JUMPI JUMPDEST PUSH2 0x888 JUMPI PUSH2 0x7EC DUP4 DUP7 PUSH2 0xA36 JUMP JUMPDEST ISZERO PUSH2 0x888 JUMPI PUSH1 0x40 MLOAD SWAP2 PUSH1 0x20 DUP4 MSTORE PUSH1 0x20 DUP1 DUP5 ADD MSTORE PUSH1 0x20 PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x60 DUP4 ADD MSTORE PUSH32 0xFFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC63254F PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1485 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0xA0 DUP4 ADD MSTORE PUSH1 0x20 DUP3 PUSH1 0xC0 DUP2 PUSH1 0x5 PUSH1 0x0 NOT STATICCALL ISZERO PUSH2 0xBA JUMPI PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1485 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP5 PUSH2 0x882 SWAP4 DUP7 PUSH2 0x87C SWAP5 MLOAD DUP2 DUP2 DUP10 MULMOD SWAP5 MULMOD SWAP2 PUSH2 0xB11 JUMP JUMPDEST SWAP2 PUSH2 0x79A JUMP JUMPDEST SWAP1 ADDMOD ISZERO SWAP1 JUMP JUMPDEST POP POP POP POP POP PUSH1 0x0 SWAP1 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1485 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP3 LT ISZERO PUSH2 0x7DE JUMP JUMPDEST POP DUP2 ISZERO PUSH2 0x7D7 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1485 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP5 LT ISZERO PUSH2 0x7D0 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x60 SWAP5 SWAP4 SWAP3 SWAP1 DUP4 DUP2 GT ISZERO PUSH2 0x93C JUMPI JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x934 JUMPI JUMPDEST POP DUP3 DUP2 LT PUSH2 0x8F1 JUMPI POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP5 POP SWAP2 DUP3 SWAP1 SUB SWAP2 ADD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND JUMPDEST DUP2 DUP2 ADD MLOAD DUP6 DUP3 ADD MSTORE PUSH1 0x1F NOT ADD SWAP1 DUP2 ISZERO PUSH2 0x91E JUMPI SWAP1 PUSH2 0x905 JUMP JUMPDEST POP POP PUSH1 0x40 DUP2 DUP5 ADD PUSH1 0x0 PUSH1 0x20 DUP3 ADD MSTORE ADD PUSH1 0x40 MSTORE DUP3 MSTORE JUMP JUMPDEST SWAP1 POP CODESIZE PUSH2 0x8E4 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x8DB JUMP JUMPDEST PUSH1 0x2 DUP2 SWAP1 SHL SWAP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xFE SHL SUB DUP2 AND SUB PUSH2 0x3F1 JUMPI JUMP JUMPDEST SWAP1 PUSH2 0x966 DUP3 PUSH2 0x36C JUMP JUMPDEST PUSH2 0x973 PUSH1 0x40 MLOAD SWAP2 DUP3 PUSH2 0x1F7 JUMP JUMPDEST DUP3 DUP2 MSTORE DUP1 SWAP3 PUSH2 0x984 PUSH1 0x1F NOT SWAP2 PUSH2 0x36C JUMP JUMPDEST ADD SWAP1 PUSH1 0x20 CALLDATASIZE SWAP2 ADD CALLDATACOPY JUMP JUMPDEST SWAP1 DUP2 MLOAD ISZERO PUSH2 0xA2C JUMPI SWAP1 PUSH2 0x9BB PUSH2 0x9B6 PUSH2 0x9AF PUSH2 0x9AA DUP5 MLOAD PUSH2 0x944 JUMP JUMPDEST PUSH2 0x3F6 JUMP JUMPDEST PUSH1 0x3 SWAP1 DIV SWAP1 JUMP JUMPDEST PUSH2 0x95C JUMP JUMPDEST SWAP2 PUSH1 0x20 DUP4 ADD SWAP1 DUP3 DUP1 MLOAD ADD SWAP1 PUSH1 0x20 DUP3 ADD SWAP3 DUP4 MLOAD SWAP5 PUSH1 0x0 DUP6 MSTORE JUMPDEST DUP4 DUP2 LT PUSH2 0x9E2 JUMPI POP POP POP POP MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x4 SWAP2 ADD SWAP2 PUSH1 0x1 PUSH1 0x3F DUP5 MLOAD DUP3 DUP3 DUP3 PUSH1 0x12 SHR AND DUP9 ADD ADD MLOAD DUP5 MSTORE8 DUP3 DUP3 DUP3 PUSH1 0xC SHR AND DUP9 ADD ADD MLOAD DUP4 DUP6 ADD MSTORE8 DUP3 DUP3 DUP3 PUSH1 0x6 SHR AND DUP9 ADD ADD MLOAD PUSH1 0x2 DUP6 ADD MSTORE8 AND DUP6 ADD ADD MLOAD PUSH1 0x3 DUP3 ADD MSTORE8 ADD SWAP1 PUSH2 0x9D3 JUMP JUMPDEST POP POP PUSH2 0x6EF PUSH2 0x4EC JUMP JUMPDEST PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 LT DUP1 ISZERO SWAP1 PUSH2 0xAF9 JUMPI JUMPDEST DUP1 ISZERO PUSH2 0xAE8 JUMPI JUMPDEST PUSH2 0xAE1 JUMPI PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH32 0x5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B SWAP1 DUP3 SWAP1 DUP2 PUSH32 0xFFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC DUP3 MULMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 DUP2 DUP1 MULMOD MULMOD ADDMOD ADDMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP1 MULMOD EQ SWAP1 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP1 JUMP JUMPDEST POP DUP1 ISZERO DUP1 ISZERO PUSH2 0xA56 JUMPI POP DUP2 ISZERO PUSH2 0xA56 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP3 LT ISZERO PUSH2 0xA4F JUMP JUMPDEST SWAP1 SWAP3 PUSH1 0x0 SWAP3 SWAP1 DUP4 PUSH1 0xFF DUP2 DUP5 ISZERO DUP1 PUSH2 0x1108 JUMPI JUMPDEST PUSH2 0x10FD JUMPI PUSH2 0xB31 DUP9 DUP8 PUSH2 0x1110 JUMP JUMPDEST SWAP3 SWAP1 SWAP2 DUP3 ISZERO DUP1 PUSH2 0x10F5 JUMPI JUMPDEST PUSH2 0x10BA JUMPI JUMPDEST POP DUP6 DUP2 SHR PUSH1 0x2 DUP7 PUSH1 0xFE SHR AND ADD JUMPDEST ISZERO PUSH2 0x10A1 JUMPI PUSH1 0x1 DUP7 DUP3 SHR AND PUSH1 0x2 DUP7 DUP4 SHR PUSH1 0x1 SHL AND ADD PUSH1 0x1 DUP2 EQ PUSH2 0x1056 JUMPI JUMPDEST PUSH1 0x2 DUP2 EQ PUSH2 0x1049 JUMPI JUMPDEST PUSH1 0x3 EQ PUSH2 0x103C JUMPI JUMPDEST PUSH1 0x1 SWAP9 PUSH1 0x0 NOT SWAP2 SWAP1 SWAP2 ADD SWAP7 SWAP5 SWAP6 SWAP5 DUP10 SWAP5 SWAP4 SWAP3 SWAP2 JUMPDEST DUP9 PUSH1 0x0 NOT GT PUSH2 0xC0F JUMPI POP POP POP POP POP POP POP POP POP PUSH1 0x40 MLOAD SWAP2 PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x20 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD MSTORE PUSH1 0x20 PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH1 0x60 SHL SUB PUSH1 0x60 SHL NOT PUSH1 0xA0 DUP4 ADD MSTORE PUSH1 0x20 DUP3 PUSH1 0xC0 DUP2 PUSH1 0x5 PUSH1 0x0 NOT STATICCALL ISZERO PUSH2 0xBA JUMPI SWAP1 MLOAD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD SWAP1 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 SWAP6 SWAP7 SWAP8 SWAP9 PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH1 0x60 SHL SUB PUSH1 0x60 SHL NOT DUP7 PUSH1 0x2 MULMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP3 DUP1 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 DUP4 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP3 SWAP1 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 SWAP1 DUP16 DUP3 DUP2 DUP4 ADDMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SUB SWAP1 ADDMOD MULMOD PUSH1 0x3 MULMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP4 MULMOD SWAP13 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP3 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP12 DUP1 MULMOD ADDMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SWAP1 DUP2 SUB DUP12 ADDMOD SWAP1 MULMOD SWAP7 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP9 SWAP1 DUP3 SWAP1 DUP5 MULMOD ADDMOD SWAP7 DUP12 PUSH1 0x2 DUP13 PUSH1 0x1 DUP14 DUP5 SHR AND SWAP3 SHR PUSH1 0x1 SHL AND ADD DUP1 ISZERO PUSH2 0x101F JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0xFD4 JUMPI JUMPDEST PUSH1 0x2 DUP2 EQ PUSH2 0xFC9 JUMPI JUMPDEST PUSH1 0x3 EQ PUSH2 0xFC0 JUMPI JUMPDEST DUP3 ISZERO PUSH2 0xFAD JUMPI PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP9 SWAP1 DUP3 SWAP1 DUP16 SWAP1 MULMOD ADDMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP10 DUP3 SUB SWAP1 DUP3 SWAP1 DUP6 SWAP1 MULMOD ADDMOD SWAP8 DUP2 ISZERO PUSH2 0xE73 JUMPI JUMPDEST PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP10 DUP1 MULMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP11 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP11 SWAP1 MULMOD SWAP13 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP5 SWAP1 MULMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP3 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP6 DUP2 SUB DUP2 DUP7 DUP1 MULMOD ADDMOD ADDMOD SWAP8 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP4 DUP5 SWAP2 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SWAP1 DUP11 DUP3 SUB SWAP1 ADDMOD MULMOD ADDMOD SWAP5 SWAP9 JUMPDEST PUSH1 0x0 NOT ADD SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xB91 JUMP JUMPDEST DUP9 PUSH2 0xD96 JUMPI SWAP11 SWAP2 SWAP8 POP SWAP1 SWAP6 SWAP1 POP PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD SWAP11 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP13 DUP1 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 DUP14 MULMOD SWAP13 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP3 SWAP1 MULMOD SWAP12 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 DUP12 DUP2 SUB DUP3 ADDMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP13 SWAP1 ADDMOD MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH1 0x3 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP14 MULMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD SWAP12 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP3 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP5 DUP1 MULMOD ADDMOD SWAP12 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP4 DUP5 SWAP2 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SWAP1 DUP15 DUP3 SUB SWAP1 ADDMOD SWAP1 MULMOD ADDMOD SWAP5 PUSH2 0xE62 JUMP JUMPDEST PUSH1 0x1 SWAP13 POP SWAP1 SWAP11 DUP13 SWAP9 POP SWAP1 SWAP7 POP SWAP1 POP PUSH2 0xE62 JUMP JUMPDEST POP POP DUP4 DUP6 PUSH2 0xD55 JUMP JUMPDEST DUP6 SWAP3 POP DUP5 SWAP2 POP PUSH2 0xD4D JUMP JUMPDEST PUSH32 0x6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296 SWAP3 POP PUSH32 0x4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5 SWAP2 POP PUSH2 0xD44 JUMP JUMPDEST POP POP POP SWAP10 SWAP6 SWAP9 SWAP5 PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH1 0x60 SHL SUB PUSH1 0x60 SHL NOT SUB SWAP5 PUSH2 0xE62 JUMP JUMPDEST SWAP3 POP DUP1 SWAP7 POP SWAP6 DUP2 SWAP3 PUSH2 0xB7D JUMP JUMPDEST SWAP7 SWAP8 POP DUP8 SWAP7 DUP10 SWAP5 POP PUSH2 0xB75 JUMP JUMPDEST PUSH32 0x6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296 SWAP9 POP PUSH32 0x4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5 SWAP5 POP PUSH2 0xB6C JUMP JUMPDEST PUSH1 0x0 NOT ADD PUSH1 0x1 DUP7 DUP3 SHR AND PUSH1 0x2 DUP7 DUP4 SHR PUSH1 0x1 SHL AND ADD PUSH2 0xB4E JUMP JUMPDEST SWAP5 SWAP6 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1485 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP2 SWAP7 DUP3 SUB SWAP1 ADDMOD SWAP5 DUP5 DUP7 ISZERO DUP1 PUSH2 0x10ED JUMPI JUMPDEST ISZERO PUSH2 0xB41 JUMPI SWAP9 POP POP POP POP POP POP POP POP POP SWAP1 JUMP JUMPDEST POP PUSH1 0x1 PUSH2 0x10DB JUMP JUMPDEST POP DUP4 ISZERO PUSH2 0xB3C JUMP JUMPDEST SWAP7 POP POP POP POP POP POP POP SWAP1 JUMP JUMPDEST POP DUP4 ISZERO PUSH2 0xB23 JUMP JUMPDEST SWAP2 SWAP1 PUSH32 0x6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296 PUSH32 0x4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5 SWAP2 DUP1 ISZERO PUSH2 0x12C8 JUMPI DUP5 PUSH2 0x12A6 SWAP5 SWAP6 DUP4 EQ DUP1 PUSH2 0x12BF JUMPI JUMPDEST ISZERO PUSH2 0x12AA JUMPI POP PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 POP DUP3 PUSH1 0x2 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 DUP1 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP5 DUP5 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP6 SWAP1 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 SWAP1 DUP2 PUSH1 0x1 DUP3 ADDMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH32 0xFFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFE SWAP1 ADDMOD MULMOD PUSH1 0x3 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP5 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP4 DUP1 MULMOD ADDMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT PUSH1 0x1 DUP7 MULMOD SWAP6 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH1 0x1 SWAP1 MULMOD SWAP5 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP4 DUP5 SWAP2 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 SUB SWAP3 SWAP1 SWAP2 DUP3 SWAP1 DUP7 DUP3 SUB SWAP1 ADDMOD SWAP1 MULMOD ADDMOD SWAP1 PUSH2 0x13EA JUMP JUMPDEST SWAP1 SWAP2 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 PUSH2 0x12B6 SWAP4 PUSH2 0x12CE JUMP JUMPDEST SWAP3 SWAP1 SWAP2 SWAP1 PUSH2 0x13EA JUMP JUMPDEST POP DUP2 DUP5 EQ PUSH2 0x1169 JUMP JUMPDEST POP SWAP3 POP SWAP1 JUMP JUMPDEST SWAP2 SWAP4 SWAP1 DUP1 ISZERO PUSH2 0x13E1 JUMPI PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 SUB SWAP4 DUP5 SWAP1 DUP3 SWAP1 PUSH1 0x1 SWAP1 MULMOD ADDMOD SWAP4 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP4 DUP3 SUB SWAP1 DUP3 SWAP1 PUSH1 0x1 SWAP1 MULMOD ADDMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP5 DUP1 MULMOD SWAP4 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP6 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP6 SWAP1 MULMOD SWAP5 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP8 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP7 DUP2 SUB DUP2 DUP6 DUP1 MULMOD ADDMOD ADDMOD SWAP6 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP3 DUP4 SWAP1 DUP7 SWAP1 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SWAP1 DUP10 DUP3 SUB SWAP1 ADDMOD MULMOD ADDMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH1 0x1 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH1 0x1 MULMOD SWAP1 JUMP JUMPDEST POP PUSH1 0x1 SWAP2 POP DUP2 SWAP1 JUMP JUMPDEST SWAP2 SWAP1 SWAP3 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD MSTORE PUSH1 0x20 PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH1 0x60 SHL SUB PUSH1 0x60 SHL NOT PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0x20 DUP2 PUSH1 0xC0 DUP2 PUSH1 0x5 PUSH1 0x0 NOT STATICCALL ISZERO PUSH2 0xBA JUMPI MLOAD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP5 SWAP1 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 SWAP1 DUP3 SWAP1 DUP1 MULMOD SWAP1 MULMOD SWAP2 JUMP INVALID SELFDESTRUCT SELFDESTRUCT SELFDESTRUCT SELFDESTRUCT STOP STOP STOP STOP SELFDESTRUCT SELFDESTRUCT SELFDESTRUCT SELFDESTRUCT SELFDESTRUCT SELFDESTRUCT SELFDESTRUCT SELFDESTRUCT 0xBC 0xE6 STATICCALL 0xAD 0xA7 OR SWAP15 DUP5 RETURN 0xB9 0xCA 0xC2 0xFC PUSH4 0x2551A264 PUSH10 0x70667358221220E47ADD EXTCODECOPY ADDRESS 0x2C REVERT PUSH21 0x50AB0D91737D23A225224A244A6C5360BA690FFD4F 0xC2 0xE6 RETURNDATASIZE PUSH5 0x736F6C6343 STOP ADDMOD SHR STOP CALLER ", - "sourceMap": "846:4009:15:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;846:4009:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;846:4009:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;846:4009:15;;;;;;;;-1:-1:-1;;846:4009:15;;;;;-1:-1:-1;846:4009:15;-1:-1:-1;846:4009:15;;;-1:-1:-1;846:4009:15;;3382:97;;846:4009;;3578:19;;:42;;;;846:4009;3574:104;;846:4009;3688:13;;3386:5;846:4009;3386:5;846:4009;;;3386:5;846:4009;;;3688:13;846:4009;;;;;;;;;;;3574:104;-1:-1:-1;;;;3643:24:15;846:4009;;3601:5;846:4009;;;;-1:-1:-1;3643:24:15;3578:42;-1:-1:-1;3601:5:15;846:4009;3601:19;3578:42;;3382:97;-1:-1:-1;;;;3438:30:15;846:4009;;;-1:-1:-1;3643:24:15;846:4009;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::i;:::-;:::o;4569:284::-;846:4009;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4674:66;;846:4009;;-1:-1:-1;846:4009:15;-1:-1:-1;846:4009:15;;;-1:-1:-1;846:4009:15;;;;-1:-1:-1;846:4009:15;-1:-1:-1;846:4009:15;;4800:15;846:4009;-1:-1:-1;846:4009:15;4800:15;846:4009;2476:46;;;846:4009;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2560:16;4833:13;846:4009;;;;2532:114;846:4009;4826:20;846:4009;2560:16;846:4009;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2560:16;;;846:4009;2560:16;;846:4009;;;;;;;;2560:16;;846:4009;;2560:16;;;;;;:::i;:::-;2532:114;:::i;:::-;;3386:5;846:4009;3386:5;846:4009;;;3386:5;846:4009;;;4833:13;846:4009;-1:-1:-1;846:4009:15;;;;;;;;;;;;;;;-1:-1:-1;;846:4009:15;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;846:4009:15;;;;;;;;;;;;:::o;2162:66:5:-;846:4009:15;;;2162:66:5;;;;;;;;2132:21:21;;7233:2;2132:21;;;;;;;:::o;:::-;;:::i;:::-;;2566:1:6;2132:21:21;;;;;;;:::o;:::-;;;;;;;;;;:::o;2643:34::-;;;;;;;;-1:-1:-1;;2643:34:21;;;;:::o;:::-;;;;;;;;;;;;;;;;;;846:4009:15;;;2643:34:21;;;;;:::i;:::-;;;:::o;:::-;;;;;846:4009:15;;2643:34:21;;;;;;;;;;846:4009:15;;2643:34:21;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;846:4009:15;;7150:27:21;2643:34;;;;;;;:::o;:::-;846:4009:15;;;2643:34:21;;;;;;;;1986:4;846:4009:15;;1986:4:21;;;;;;;;2643:34;1986:4;;;2643:34;1986:4;;846:4009:15;;;2643:34:21;;;;;:::i;:::-;;846:4009:15;;;1986:4:21;;:::o;2396:14::-;846:4009:15;;;;;;;:::i;:::-;1530:1:6;2396:14:21;;:::o;:::-;;;;;;;;;;:::i;:::-;846:4009:15;;;;;;;:::i;:::-;2396:14:21;;;-1:-1:-1;2396:14:21;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;:::o;6711:2894::-;;;;2589:5:15;6846:4:21;6866:14;;;846:4009:15;;;2162:66:5;-1:-1:-1;6862:125:21;;7150:27;;;;2643:34;28057:42:11;7150:27:21;;7184:22;;;846:4009:15;7208:27:21;;;:::i;:::-;28057:42:11;;:::i;:::-;7150:27:21;846:4009:15;;;;7250:23:21;:46;7246:89;;7519:27;7488:64;7519:27;;:::i;:::-;7488:64;:::i;:::-;28057:42:11;7595:27:21;;7629;;;846:4009:15;7658:54:21;846:4009:15;;7658:54:21;;:::i;28057:42:11:-;7150:27:21;846:4009:15;;;;7727:33:21;846:4009:15;7150:27:21;846:4009:15;;;;7764:28:21;7727:65;7723:108;;846:4009:15;2643:34:21;;846:4009:15;2643:34:21;;7947;;:30;;:34;:::i;:::-;2643;-1:-1:-1;;;;;;2643:34:21;;;7947;:56;:79;7943:122;;1986:4;7150:27;8225:137;-1:-1:-1;8225:137:21;8523:27;;7629;846:4009:15;1986:4:21;;;;;:::i;:::-;8510:42;;;;;;;;7150:27;-1:-1:-1;1986:4:21;8510:42;;8738:68;8755:30;;8738:68;7629:27;846:4009:15;8738:68:21;;;;;;;:::i;:::-;7629:27;846:4009:15;1986:4:21;;;;;:::i;:::-;8731:76;;8510:42;8731:76;;;;;8861:14;-1:-1:-1;8731:76:21;8861:14;;846:4009:15;-1:-1:-1;846:4009:15;;;;8837:61:21;846:4009:15;;8837:61:21;846:4009:15;7629:27:21;846:4009:15;8837:61:21;;;7150:27;8837:61;;;;;1986:4;;;;;;;;;;;;846:4009:15;;;1986:4:21;;;846:4009:15;1986:4:21;;;846:4009:15;1986:4:21;;;846:4009:15;1986:4:21;846:4009:15;1986:4:21;8837:61;8990:26;;2404:5;8990:26;;;;;:::i;:::-;846:4009:15;;9451:16:21;;;;6711:2894;9447:60;;846:4009:15;9525:73:21;846:4009:15;;;;;9525:73:21;;:::i;:::-;6711:2894;:::o;9447:60::-;1776:4;;9476:26;;-1:-1:-1;9476:26:21;;7150:27;9476:26;;;;-1:-1:-1;9476:26:21;;-1:-1:-1;9476:26:21;;-1:-1:-1;;9476:26:21:i;:::-;:31;9469:38;:::o;9451:16::-;9423:14;;;;9451:16;;8731:76;;:::i;7943:122::-;8042:12;;;;;;;:::o;7246:89::-;7312:12;;;;;;;;:::o;985:132:6:-;846:4009:15;;1078:32:6;;846:4009:15;;;;:::i;:::-;;2396:14:21;;846:4009:15;;;;;;;;;;1078:32:6;:::i;1349:17:4:-;-1:-1:-1;;;;;;;;;;;1349:17:4;;-1:-1:-1;;;;;;;;;;;1349:17:4;;;;:::o;1562:703::-;;;;;;1691:6;;:32;;;;1562:703;1691:42;;;;1562:703;1691:68;;;;1562:703;1687:111;;1821:39;;;;:::i;:::-;1820:40;1816:83;;3235:647:5;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3235:647:5;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3235:647:5;2222:3:4;3235:647:5;;2132:64:4;3235:647:5;;2062:34:4;;;;1984:49;;2132:64;;:::i;:::-;2222:3;;:::i;:::-;2211:18;;2251:7;1562:703;:::o;1816:83::-;1876:12;;;;;846:4009:15;1876:12:4;:::o;1691:68::-;1737:22;-1:-1:-1;;;;;;;;;;;1737:22:4;;;1691:68;;:42;1727:6;;;1691:42;;:32;1701:22;-1:-1:-1;;;;;;;;;;;1701:22:4;;;1691:32;;16753:1115:9;16943:919;;2396:14:21;;16753:1115:9;;;16943:919;;;;;;16753:1115;16943:919;;;;;;16753:1115;16943:919;;;;;;16753:1115;;;:::o;16943:919::-;;;;-1:-1:-1;16943:919:9;;;;;;846:4009:15;16943:919:9;;-1:-1:-1;;16943:919:9;;;;;;;;;;-1:-1:-1;;16943:919:9;;;;;;;;;;;;;;;;;;;;;;;;;;16753:1115::o;16943:919::-;;;;;;;;-1:-1:-1;16943:919:9;;;846:4009:15;;;;;;;-1:-1:-1;;;;;846:4009:15;;;;;:::o;:::-;;2396:14:21;;;:::i;:::-;846:4009:15;;;;;;:::i;:::-;2396:14:21;;;846:4009:15;;;;;;;:::i;:::-;;;;;;;;:::o;1186:4022:6:-;;846:4009:15;;1515:16:6;1511:31;;2503:69;2606:24;2547:25;2548:19;:15;846:4009:15;;2548:15:6;:::i;:::-;:19;:::i;:::-;2571:1;2162:66:5;;;;2547:25:6;2606:24;:::i;:::-;2641:2537;;;;;;;;;;;;;;;;;1104:5;2641:2537;;;;;;;;;;;;;1186:4022;:::o;2641:2537::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1511:31;846:4009:15;;;;:::i;12684:438:5:-;-1:-1:-1;;;;;;;;12774:6:5;;;;;:16;;12684:438;12774:42;;;;12684:438;12770:85;;-1:-1:-1;;;;;;;;1531:66:5;1802;;1531;;;1666;1531;12990:15;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;;12966:15;12959:29;12952:57;13039:17;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;12902:15;13095:10;12684:438;:::o;12770:85::-;12832:12;;846:4009:15;12832:12:5;:::o;12774:42::-;12796:6;;;12795:20;;12774:42;12795:20;12808:6;;;12774:42;;:16;-1:-1:-1;;;;;;;;;12784:6:5;;;12774:16;;13895:6587;;;846:4009:15;;13895:6587:5;846:4009:15;14174:3:5;846:4009:15;14256:13:5;;;:30;;13895:6587;14252:44;;14322:25;;;;:::i;:::-;14366:5;;;;;14365:16;;;13895:6587;14362:211;;13895:6587;14586:5830;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;14586:5830:5;;;;;3235:647;;;14586:5830;;3235:647;;;14586:5830;3235:647;;;14586:5830;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;14586:5830:5;;;;-1:-1:-1;;;;;1531:66:5;;;14586:5830;;;;;3235:647;14586:5830;3235:647;14586:5830;3235:647;;14586:5830;;;;;;-1:-1:-1;;;;;;;;1531:66:5;14586:5830;13895:6587;:::o;14586:5830::-;1531:66;;;;;;;;;-1:-1:-1;;;;;1531:66:5;;;14586:5830;;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;14586:5830;-1:-1:-1;;;;;;;;14586:5830:5;;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;;;;;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:5;14586:5830;;;;;;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;14586:5830;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;-1:-1:-1;;;;;;;;;;14586:5830:5;-1:-1:-1;;;;;;;;14586:5830:5;;;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;14586:5830;;1531:66;14586:5830;;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;;;14586:5830;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;1531:66:5;;;;;;;14586:5830;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;14586:5830;;;;1531:66;;;;14586:5830;;;;;;;;-1:-1:-1;;;;;;;;14586:5830:5;;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:5;14586:5830;-1:-1:-1;;;;;;;;1531:66:5;14586:5830;-1:-1:-1;;;;;;;;;;14586:5830:5;-1:-1:-1;;;;;;;;14586:5830:5;;;1531:66;14586:5830;;;;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;14586:5830;;;;;;;;;;-1:-1:-1;;14586:5830:5;;;;;;;;;;;;;;;1531:66;;;-1:-1:-1;1531:66:5;;;-1:-1:-1;;;;;;;;;1531:66:5;-1:-1:-1;;;;;;;;;;14586:5830:5;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;14586:5830;-1:-1:-1;;;;;;;;14586:5830:5;;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;14586:5830;;;1531:66;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;14586:5830;;-1:-1:-1;;;;;;;;1531:66:5;14586:5830;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;14586:5830;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;-1:-1:-1;;;;;;;;;;14586:5830:5;-1:-1:-1;;;;;;;;14586:5830:5;;;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;14586:5830;;;;;;;;;;;;;;-1:-1:-1;14586:5830:5;;;;-1:-1:-1;14586:5830:5;;-1:-1:-1;14586:5830:5;-1:-1:-1;14586:5830:5;;;;;;;;;;;;-1:-1:-1;14586:5830:5;;-1:-1:-1;14586:5830:5;;;1938:66;;-1:-1:-1;2032:66:5;;-1:-1:-1;14586:5830:5;;;1531:66;;;;;;;-1:-1:-1;;;;;1531:66:5;;;14586:5830;;;;;;;;;;;;;;;;;;-1:-1:-1;14586:5830:5;;;;-1:-1:-1;14586:5830:5;;;1938:66;;-1:-1:-1;2032:66:5;;-1:-1:-1;14586:5830:5;;;3235:647;;14586:5830;;;;;;;;;;;;;;;;14362:211;2032:66;;-1:-1:-1;;;;;;;;;;;2032:66:5;;;;14437:31;;14486:10;;14518:13;;:30;;;14362:211;14514:44;14362:211;14514:44;14550:8;;;;;;;;;;;:::o;14518:30::-;;14535:13;14518:30;;14365:16;14375:5;;;14365:16;;14252:44;14288:8;;;;;;;;;:::o;14256:30::-;14273:13;;;14256:30;;13224:499;;;1938:66;2032;13342:11;12535:6;;13437:41;;13492:6;13686:30;13492:6;;;;13491:18;;;13224:499;13488:181;;;-1:-1:-1;;;;;;;;;1531:66:5;-1:-1:-1;9612:681:5;;;-1:-1:-1;;;;;;;;9612:681:5;;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;9612:681;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;9612:681;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;;13563:1;1531:66;9612:681;1531:66;-1:-1:-1;;;;;;;;1531:66:5;9612:681;;;;;;-1:-1:-1;;;;;;;;1531:66:5;9612:681;-1:-1:-1;;;;;;;;;;9612:681:5;-1:-1:-1;;;;;;;;9612:681:5;;;;1531:66;-1:-1:-1;;;;;;;;13563:1:5;9612:681;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;13563:1;;9612:681;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;9612:681;-1:-1:-1;;;;;;;;9612:681:5;;;;1531:66;;;;9612:681;;;;;;;;13525:42;13686:30;:::i;:::-;13679:37;;13224:499::o;13488:181::-;13627:31;;;;;;:::i;:::-;13605:53;;;;13686:30;:::i;13491:18::-;13502:6;;;;13491:18;;13437:41;-1:-1:-1;13463:15:5;-1:-1:-1;13463:15:5;:::o;10559:1073::-;;;;10790:7;;10786:67;;-1:-1:-1;;;;;;;;10867:673:5;;;;;;1531:66;;13645:1;;10867:673;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;10867:673;;;;1531:66;;13645:1;;10867:673;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;10867:673;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;10867:673;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;10867:673;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;-1:-1:-1;;;;;;;;;;10867:673:5;-1:-1:-1;;;;;;;;10867:673:5;;;1531:66;10867:673;;;;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;;;10867:673;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;10867:673;;;;;;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;13645:1;10867:673;1531:66;-1:-1:-1;;;;;;;;1531:66:5;13645:1;10867:673;10559:1073;:::o;10786:67::-;-1:-1:-1;13645:1:5;;-1:-1:-1;13645:1:5;;10817:21::o;8954:351::-;;;;4081:643;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;4081:643:5;;;;-1:-1:-1;;;;;1531:66:5;;;4081:643;;;;;3235:647;4081:643;3235:647;4081:643;3235:647;;4081:643;;;;;;-1:-1:-1;;;;;;;;1531:66:5;4081:643;;9135:20;1531:66;-1:-1:-1;;;;;;;;1531:66:5;9186:21;-1:-1:-1;;;;;;;;1531:66:5;;;;;9232:17;9271:20;;8954:351;:::o" + "object": "6080604052600436101561001257600080fd5b60003560e01c8063185d0dcd146100475780631874cc361461004257637415a7251461003d57600080fd5b610120565b6100bf565b346100ba5760203660031901126100ba5760043561006560c0604052565b6000608052600060a05260005260006020526100b6604060002060016040519161008e836101d6565b8054835201546020820152604051918291829190916020806040830194805184520151910152565b0390f35b600080fd5b346100ba5760403660031901126100ba5760243560043567ffffffffffffffff82116100ba57366023830112156100ba5781600401359067ffffffffffffffff82116100ba5736602483850101116100ba57602461011e93019061022a565b005b346100ba5760603660031901126100ba5760043560403660231901126100ba578060005260006020526040600020546101ac57602435801580156101a2575b6101895761011e61017a836000526000602052604060002090565b60243581556001604435910155565b6339b4a3c160e01b600052600452604480356024526000fd5b506044351561015f565b6377864e4b60e11b60005260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff8211176101f257604052565b6101c0565b90601f8019910116810190811067ffffffffffffffff8211176101f257604052565b6040519061022860c0836101f7565b565b6040516020810190630c3a661b60e11b8252826024820152602481526102516044826101f7565b5190209181600052600060205260406000205493826000526000602052600160406000200154908201916020818403126100ba5780359067ffffffffffffffff82116100ba57019460c0868403126100ba576102ab610219565b863567ffffffffffffffff81116100ba57846102c8918901610388565b815260208701359667ffffffffffffffff88116100ba5761034a6103609760a0836102fe61034f996102289d61033c9701610388565b6020870152604081013560408701526060810135606087015260808101356080870152013560a0850152604051928391602083019190602083019252565b03601f1981018352826101f7565b610540565b506000526000602052604060002090565b60016000918281550155565b67ffffffffffffffff81116101f257601f01601f191660200190565b81601f820112156100ba576020813591016103a28261036c565b926103b060405194856101f7565b828452828201116100ba5781600092602092838601378301015290565b634e487b7160e01b600052601160045260246000fd5b90601582018092116103f157565b6103cd565b90600282018092116103f157565b919082018092116103f157565b60005b8381106104245750506000910152565b8181015183820152602001610414565b9061044760209282815194859201610411565b0190565b906102286001602d60405180956c1131b430b63632b733b2911d1160991b60208301526104818151809260208686019101610411565b8101601160f91b838201520301601e198101855201836101f7565b8051602010156104ac5760400190565b634e487b7160e01b600052603260045260246000fd5b6040513d6000823e3d90fd5b60209291906104e4849282815194859201610411565b019081520190565b604051906104fb6020836101f7565b60008252565b3d1561052c573d906105128261036c565b9161052060405193846101f7565b82523d6000602084013e565b606090565b908160209103126100ba575190565b92919060009360a082019485517f7fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a8106107205760208301917fff1a2a9176d650e4a99dedb58f1793003935130579fe17b5a3f698ac5b00e6346105b2845160608701516105ac816103e3565b916108ca565b6020815191012003610729576105ca6105cf91610733565b61044b565b6105e4835160408601516105ac845182610404565b6020815191012090602081519101200361072057600160f81b600160f81b61061d61060f865161049c565b516001600160f81b03191690565b16036107205761063a602092600092505160405191828092610434565b039060025afa1561071b57602060006106708151610664855161033c6040519384928884016104ce565b60405191828092610434565b039060025afa1561071b5760806000519101936000808651856106c3855161033c8a60405194859360208501978c899192608093969594919660a084019784526020840152604083015260608201520152565b51906101005afa946106d3610501565b80519680610712575b6106f257506106ef9550519051916107c2565b90565b60019661070e9650810160209081019550019250610531915050565b1490565b508615156106dc565b6104c2565b94505050505090565b5094505050505090565b6040516106ef916107456060836101f7565b604082527f4142434445464748494a4b4c4d4e4f505152535455565758595a61626364656660208301527f6768696a6b6c6d6e6f707172737475767778797a303132333435363738392d5f604083015261098e565b600080516020611485833981519152039060008051602061148583398151915282116103f157565b9391909293831580156108b2575b80156108aa575b8015610892575b610888576107ec8386610a36565b156108885760405191602083526020808401526020604084015260608301527fffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254f608083015260008051602061148583398151915260a083015260208260c0816005600019fa156100ba5760008051602061148583398151915294610882938661087c945181818909940991610b11565b9161079a565b90081590565b5050505050600090565b506000805160206114858339815191528210156107de565b5081156107d7565b506000805160206114858339815191528410156107d0565b80516060949392908381111561093c575b81811115610934575b508281106108f157505050565b6040519450918290039101601f8201601f19165b8181015185820152601f190190811561091e5790610905565b5050604081840160006020820152016040528252565b9050386108e4565b9250826108db565b600281901b91906001600160fe1b038116036103f157565b906109668261036c565b61097360405191826101f7565b8281528092610984601f199161036c565b0190602036910137565b90815115610a2c57906109bb6109b66109af6109aa8451610944565b6103f6565b6003900490565b61095c565b91602083019082805101906020820192835194600085525b8381106109e257505050505290565b600360049101916001603f845182828260121c16880101518453828282600c1c16880101518385015382828260061c168801015160028501531685010151600382015301906109d3565b50506106ef6104ec565b600160601b63ffffffff60c01b03198110801590610af9575b8015610ae8575b610ae157600160601b63ffffffff60c01b0319907f5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b908290817fffffffff00000001000000000000000000000000fffffffffffffffffffffffc820990600160601b63ffffffff60c01b0319908181800909080890600160601b63ffffffff60c01b03199080091490565b5050600090565b5080158015610a5657508115610a56565b50600160601b63ffffffff60c01b0319821015610a4f565b9092600092908360ff81841580611108575b6110fd57610b318887611110565b9290918215806110f5575b6110ba575b5085811c60028660fe1c16015b156110a157600186821c16600286831c60011b160160018114611056575b60028114611049575b60031461103c575b600198600019919091019694959489949392915b8860001911610c0f5750505050505050505060405191606083015260208252602080830152602060408301526002600160601b0363ffffffff60c01b03196080830152600163ffffffff60601b0360601b1960a083015260208260c0816005600019fa156100ba579051600160601b63ffffffff60c01b0319910990565b909192939495969798600163ffffffff60601b0360601b198660020990600160601b63ffffffff60c01b0319828009600160601b63ffffffff60c01b031981830992600160601b63ffffffff60c01b03199082900991600160601b63ffffffff60c01b03199081908f8281830891600160601b63ffffffff60c01b031991820390080960030998600160601b63ffffffff60c01b03199083099c600160601b63ffffffff60c01b0319910991600160601b63ffffffff60c01b031980826002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b03198b80090898600160601b63ffffffff60c01b031991829081038b08900996600160601b63ffffffff60c01b03199088908290840908968b60028c60018d841c16921c60011b1601801561101f5760018114610fd4575b60028114610fc9575b600314610fc0575b8215610fad57600160601b63ffffffff60c01b031990889082908f90090890600160601b63ffffffff60c01b03199089820390829085900908978115610e73575b600160601b63ffffffff60c01b031989800998600160601b63ffffffff60c01b0319908a0992600160601b63ffffffff60c01b0319908a90099c600160601b63ffffffff60c01b03199084900998600160601b63ffffffff60c01b03199109600160601b63ffffffff60c01b031980826002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b031985810381868009080897600160601b63ffffffff60c01b03199384910991600160601b63ffffffff60c01b03199182908a82039008090894985b600019019796959493929190610b91565b88610d96579a91975090959050600160601b63ffffffff60c01b0319816002600160601b0363ffffffff60c01b0319099a600160601b63ffffffff60c01b03198c8009600160601b63ffffffff60c01b0319818d099c600160601b63ffffffff60c01b0319908290099b600160601b63ffffffff60c01b031990818b8103820890600160601b63ffffffff60c01b0319908c900809600160601b63ffffffff60c01b03199060030991600160601b63ffffffff60c01b0319908d0998600160601b63ffffffff60c01b031991099b600160601b63ffffffff60c01b031980826002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b0319848009089b600160601b63ffffffff60c01b03199384910991600160601b63ffffffff60c01b03199182908e8203900890090894610e62565b60019c50909a8c98509096509050610e62565b50508385610d55565b859250849150610d4d565b7f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29692507f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f59150610d44565b50505099959894600163ffffffff60601b0360601b190394610e62565b9250809650958192610b7d565b9697508796899450610b75565b7f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29698507f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f59450610b6c565b60001901600186821c16600286831c60011b1601610b4e565b949560008051602061148583398151915291968203900894848615806110ed575b15610b41579850505050505050505090565b5060016110db565b508315610b3c565b965050505050505090565b508315610b23565b91907f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2967f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f59180156112c857846112a694958314806112bf575b156112aa5750600160601b63ffffffff60c01b0319905082600209600160601b63ffffffff60c01b031981800992600160601b63ffffffff60c01b031984840991600160601b63ffffffff60c01b03199085900992600160601b63ffffffff60c01b0319908190816001820890600160601b63ffffffff60c01b0319907fffffffff00000001000000000000000000000000fffffffffffffffffffffffe900809600309600160601b63ffffffff60c01b031980846002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b03198380090892600160601b63ffffffff60c01b03196001860995600160601b63ffffffff60c01b0319906001900994600160601b63ffffffff60c01b031993849109600160601b63ffffffff60c01b031990810392909182908682039008900908906113ea565b9091565b9091926112b6936112ce565b929091906113ea565b50818414611169565b50925090565b91939080156113e157600160601b63ffffffff60c01b03199081039384908290600190090893600160601b63ffffffff60c01b031990838203908290600190090892600160601b63ffffffff60c01b031984800993600160601b63ffffffff60c01b031990850992600160601b63ffffffff60c01b03199085900994600160601b63ffffffff60c01b031980876002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b031986810381858009080895600160601b63ffffffff60c01b031992839086900991600160601b63ffffffff60c01b03199182908982039008090892600160601b63ffffffff60c01b03199060010991600160601b63ffffffff60c01b03199060010990565b50600191508190565b91909260405190602082526020808301526020604083015260608201526002600160601b0363ffffffff60c01b03196080820152600163ffffffff60601b0360601b1960a082015260208160c0816005600019fa156100ba575192600160601b63ffffffff60c01b03199084900992600160601b63ffffffff60c01b03199109600160601b63ffffffff60c01b031991908290800990099156feffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551a2646970667358221220c3871a7f51c40a63e23a07543227a03894c1e09c4b1747edd49d559d597f51e464736f6c634300081c0033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x12 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x185D0DCD EQ PUSH2 0x47 JUMPI DUP1 PUSH4 0x1874CC36 EQ PUSH2 0x42 JUMPI PUSH4 0x7415A725 EQ PUSH2 0x3D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x120 JUMP JUMPDEST PUSH2 0xBF JUMP JUMPDEST CALLVALUE PUSH2 0xBA JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xBA JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0x65 PUSH1 0xC0 PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 MSTORE PUSH1 0x0 PUSH1 0xA0 MSTORE PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x20 MSTORE PUSH2 0xB6 PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x1 PUSH1 0x40 MLOAD SWAP2 PUSH2 0x8E DUP4 PUSH2 0x1D6 JUMP JUMPDEST DUP1 SLOAD DUP4 MSTORE ADD SLOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 MLOAD SWAP2 DUP3 SWAP2 DUP3 SWAP2 SWAP1 SWAP2 PUSH1 0x20 DUP1 PUSH1 0x40 DUP4 ADD SWAP5 DUP1 MLOAD DUP5 MSTORE ADD MLOAD SWAP2 ADD MSTORE JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0xBA JUMPI PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xBA JUMPI PUSH1 0x24 CALLDATALOAD PUSH1 0x4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH2 0xBA JUMPI CALLDATASIZE PUSH1 0x23 DUP4 ADD SLT ISZERO PUSH2 0xBA JUMPI DUP2 PUSH1 0x4 ADD CALLDATALOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH2 0xBA JUMPI CALLDATASIZE PUSH1 0x24 DUP4 DUP6 ADD ADD GT PUSH2 0xBA JUMPI PUSH1 0x24 PUSH2 0x11E SWAP4 ADD SWAP1 PUSH2 0x22A JUMP JUMPDEST STOP JUMPDEST CALLVALUE PUSH2 0xBA JUMPI PUSH1 0x60 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xBA JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x40 CALLDATASIZE PUSH1 0x23 NOT ADD SLT PUSH2 0xBA JUMPI DUP1 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x1AC JUMPI PUSH1 0x24 CALLDATALOAD DUP1 ISZERO DUP1 ISZERO PUSH2 0x1A2 JUMPI JUMPDEST PUSH2 0x189 JUMPI PUSH2 0x11E PUSH2 0x17A DUP4 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD DUP2 SSTORE PUSH1 0x1 PUSH1 0x44 CALLDATALOAD SWAP2 ADD SSTORE JUMP JUMPDEST PUSH4 0x39B4A3C1 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x4 MSTORE PUSH1 0x44 DUP1 CALLDATALOAD PUSH1 0x24 MSTORE PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x44 CALLDATALOAD ISZERO PUSH2 0x15F JUMP JUMPDEST PUSH4 0x77864E4B PUSH1 0xE1 SHL PUSH1 0x0 MSTORE PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x1F2 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH2 0x1C0 JUMP JUMPDEST SWAP1 PUSH1 0x1F DUP1 NOT SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x1F2 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x228 PUSH1 0xC0 DUP4 PUSH2 0x1F7 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 PUSH4 0xC3A661B PUSH1 0xE1 SHL DUP3 MSTORE DUP3 PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x24 DUP2 MSTORE PUSH2 0x251 PUSH1 0x44 DUP3 PUSH2 0x1F7 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP2 DUP2 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD SWAP4 DUP3 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x20 MSTORE PUSH1 0x1 PUSH1 0x40 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 DUP3 ADD SWAP2 PUSH1 0x20 DUP2 DUP5 SUB SLT PUSH2 0xBA JUMPI DUP1 CALLDATALOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH2 0xBA JUMPI ADD SWAP5 PUSH1 0xC0 DUP7 DUP5 SUB SLT PUSH2 0xBA JUMPI PUSH2 0x2AB PUSH2 0x219 JUMP JUMPDEST DUP7 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0xBA JUMPI DUP5 PUSH2 0x2C8 SWAP2 DUP10 ADD PUSH2 0x388 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP8 ADD CALLDATALOAD SWAP7 PUSH8 0xFFFFFFFFFFFFFFFF DUP9 GT PUSH2 0xBA JUMPI PUSH2 0x34A PUSH2 0x360 SWAP8 PUSH1 0xA0 DUP4 PUSH2 0x2FE PUSH2 0x34F SWAP10 PUSH2 0x228 SWAP14 PUSH2 0x33C SWAP8 ADD PUSH2 0x388 JUMP JUMPDEST PUSH1 0x20 DUP8 ADD MSTORE PUSH1 0x40 DUP2 ADD CALLDATALOAD PUSH1 0x40 DUP8 ADD MSTORE PUSH1 0x60 DUP2 ADD CALLDATALOAD PUSH1 0x60 DUP8 ADD MSTORE PUSH1 0x80 DUP2 ADD CALLDATALOAD PUSH1 0x80 DUP8 ADD MSTORE ADD CALLDATALOAD PUSH1 0xA0 DUP6 ADD MSTORE PUSH1 0x40 MLOAD SWAP3 DUP4 SWAP2 PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 PUSH1 0x20 DUP4 ADD SWAP3 MSTORE JUMP JUMPDEST SUB PUSH1 0x1F NOT DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x1F7 JUMP JUMPDEST PUSH2 0x540 JUMP JUMPDEST POP PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP2 DUP3 DUP2 SSTORE ADD SSTORE JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x1F2 JUMPI PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST DUP2 PUSH1 0x1F DUP3 ADD SLT ISZERO PUSH2 0xBA JUMPI PUSH1 0x20 DUP2 CALLDATALOAD SWAP2 ADD PUSH2 0x3A2 DUP3 PUSH2 0x36C JUMP JUMPDEST SWAP3 PUSH2 0x3B0 PUSH1 0x40 MLOAD SWAP5 DUP6 PUSH2 0x1F7 JUMP JUMPDEST DUP3 DUP5 MSTORE DUP3 DUP3 ADD GT PUSH2 0xBA JUMPI DUP2 PUSH1 0x0 SWAP3 PUSH1 0x20 SWAP3 DUP4 DUP7 ADD CALLDATACOPY DUP4 ADD ADD MSTORE SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x15 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x3F1 JUMPI JUMP JUMPDEST PUSH2 0x3CD JUMP JUMPDEST SWAP1 PUSH1 0x2 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x3F1 JUMPI JUMP JUMPDEST SWAP2 SWAP1 DUP3 ADD DUP1 SWAP3 GT PUSH2 0x3F1 JUMPI JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0x424 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x414 JUMP JUMPDEST SWAP1 PUSH2 0x447 PUSH1 0x20 SWAP3 DUP3 DUP2 MLOAD SWAP5 DUP6 SWAP3 ADD PUSH2 0x411 JUMP JUMPDEST ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH2 0x228 PUSH1 0x1 PUSH1 0x2D PUSH1 0x40 MLOAD DUP1 SWAP6 PUSH13 0x1131B430B63632B733B2911D11 PUSH1 0x99 SHL PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x481 DUP2 MLOAD DUP1 SWAP3 PUSH1 0x20 DUP7 DUP7 ADD SWAP2 ADD PUSH2 0x411 JUMP JUMPDEST DUP2 ADD PUSH1 0x11 PUSH1 0xF9 SHL DUP4 DUP3 ADD MSTORE SUB ADD PUSH1 0x1E NOT DUP2 ADD DUP6 MSTORE ADD DUP4 PUSH2 0x1F7 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x20 LT ISZERO PUSH2 0x4AC JUMPI PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x20 SWAP3 SWAP2 SWAP1 PUSH2 0x4E4 DUP5 SWAP3 DUP3 DUP2 MLOAD SWAP5 DUP6 SWAP3 ADD PUSH2 0x411 JUMP JUMPDEST ADD SWAP1 DUP2 MSTORE ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x4FB PUSH1 0x20 DUP4 PUSH2 0x1F7 JUMP JUMPDEST PUSH1 0x0 DUP3 MSTORE JUMP JUMPDEST RETURNDATASIZE ISZERO PUSH2 0x52C JUMPI RETURNDATASIZE SWAP1 PUSH2 0x512 DUP3 PUSH2 0x36C JUMP JUMPDEST SWAP2 PUSH2 0x520 PUSH1 0x40 MLOAD SWAP4 DUP5 PUSH2 0x1F7 JUMP JUMPDEST DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY JUMP JUMPDEST PUSH1 0x60 SWAP1 JUMP JUMPDEST SWAP1 DUP2 PUSH1 0x20 SWAP2 SUB SLT PUSH2 0xBA JUMPI MLOAD SWAP1 JUMP JUMPDEST SWAP3 SWAP2 SWAP1 PUSH1 0x0 SWAP4 PUSH1 0xA0 DUP3 ADD SWAP5 DUP6 MLOAD PUSH32 0x7FFFFFFF800000007FFFFFFFFFFFFFFFDE737D56D38BCF4279DCE5617E3192A8 LT PUSH2 0x720 JUMPI PUSH1 0x20 DUP4 ADD SWAP2 PUSH32 0xFF1A2A9176D650E4A99DEDB58F1793003935130579FE17B5A3F698AC5B00E634 PUSH2 0x5B2 DUP5 MLOAD PUSH1 0x60 DUP8 ADD MLOAD PUSH2 0x5AC DUP2 PUSH2 0x3E3 JUMP JUMPDEST SWAP2 PUSH2 0x8CA JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SUB PUSH2 0x729 JUMPI PUSH2 0x5CA PUSH2 0x5CF SWAP2 PUSH2 0x733 JUMP JUMPDEST PUSH2 0x44B JUMP JUMPDEST PUSH2 0x5E4 DUP4 MLOAD PUSH1 0x40 DUP7 ADD MLOAD PUSH2 0x5AC DUP5 MLOAD DUP3 PUSH2 0x404 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SWAP1 PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SUB PUSH2 0x720 JUMPI PUSH1 0x1 PUSH1 0xF8 SHL PUSH1 0x1 PUSH1 0xF8 SHL PUSH2 0x61D PUSH2 0x60F DUP7 MLOAD PUSH2 0x49C JUMP JUMPDEST MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 JUMP JUMPDEST AND SUB PUSH2 0x720 JUMPI PUSH2 0x63A PUSH1 0x20 SWAP3 PUSH1 0x0 SWAP3 POP MLOAD PUSH1 0x40 MLOAD SWAP2 DUP3 DUP1 SWAP3 PUSH2 0x434 JUMP JUMPDEST SUB SWAP1 PUSH1 0x2 GAS STATICCALL ISZERO PUSH2 0x71B JUMPI PUSH1 0x20 PUSH1 0x0 PUSH2 0x670 DUP2 MLOAD PUSH2 0x664 DUP6 MLOAD PUSH2 0x33C PUSH1 0x40 MLOAD SWAP4 DUP5 SWAP3 DUP9 DUP5 ADD PUSH2 0x4CE JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 DUP1 SWAP3 PUSH2 0x434 JUMP JUMPDEST SUB SWAP1 PUSH1 0x2 GAS STATICCALL ISZERO PUSH2 0x71B JUMPI PUSH1 0x80 PUSH1 0x0 MLOAD SWAP2 ADD SWAP4 PUSH1 0x0 DUP1 DUP7 MLOAD DUP6 PUSH2 0x6C3 DUP6 MLOAD PUSH2 0x33C DUP11 PUSH1 0x40 MLOAD SWAP5 DUP6 SWAP4 PUSH1 0x20 DUP6 ADD SWAP8 DUP13 DUP10 SWAP2 SWAP3 PUSH1 0x80 SWAP4 SWAP7 SWAP6 SWAP5 SWAP2 SWAP7 PUSH1 0xA0 DUP5 ADD SWAP8 DUP5 MSTORE PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE ADD MSTORE JUMP JUMPDEST MLOAD SWAP1 PUSH2 0x100 GAS STATICCALL SWAP5 PUSH2 0x6D3 PUSH2 0x501 JUMP JUMPDEST DUP1 MLOAD SWAP7 DUP1 PUSH2 0x712 JUMPI JUMPDEST PUSH2 0x6F2 JUMPI POP PUSH2 0x6EF SWAP6 POP MLOAD SWAP1 MLOAD SWAP2 PUSH2 0x7C2 JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x1 SWAP7 PUSH2 0x70E SWAP7 POP DUP2 ADD PUSH1 0x20 SWAP1 DUP2 ADD SWAP6 POP ADD SWAP3 POP PUSH2 0x531 SWAP2 POP POP JUMP JUMPDEST EQ SWAP1 JUMP JUMPDEST POP DUP7 ISZERO ISZERO PUSH2 0x6DC JUMP JUMPDEST PUSH2 0x4C2 JUMP JUMPDEST SWAP5 POP POP POP POP POP SWAP1 JUMP JUMPDEST POP SWAP5 POP POP POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x6EF SWAP2 PUSH2 0x745 PUSH1 0x60 DUP4 PUSH2 0x1F7 JUMP JUMPDEST PUSH1 0x40 DUP3 MSTORE PUSH32 0x4142434445464748494A4B4C4D4E4F505152535455565758595A616263646566 PUSH1 0x20 DUP4 ADD MSTORE PUSH32 0x6768696A6B6C6D6E6F707172737475767778797A303132333435363738392D5F PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x98E JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1485 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SUB SWAP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1485 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP3 GT PUSH2 0x3F1 JUMPI JUMP JUMPDEST SWAP4 SWAP2 SWAP1 SWAP3 SWAP4 DUP4 ISZERO DUP1 ISZERO PUSH2 0x8B2 JUMPI JUMPDEST DUP1 ISZERO PUSH2 0x8AA JUMPI JUMPDEST DUP1 ISZERO PUSH2 0x892 JUMPI JUMPDEST PUSH2 0x888 JUMPI PUSH2 0x7EC DUP4 DUP7 PUSH2 0xA36 JUMP JUMPDEST ISZERO PUSH2 0x888 JUMPI PUSH1 0x40 MLOAD SWAP2 PUSH1 0x20 DUP4 MSTORE PUSH1 0x20 DUP1 DUP5 ADD MSTORE PUSH1 0x20 PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x60 DUP4 ADD MSTORE PUSH32 0xFFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC63254F PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1485 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0xA0 DUP4 ADD MSTORE PUSH1 0x20 DUP3 PUSH1 0xC0 DUP2 PUSH1 0x5 PUSH1 0x0 NOT STATICCALL ISZERO PUSH2 0xBA JUMPI PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1485 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP5 PUSH2 0x882 SWAP4 DUP7 PUSH2 0x87C SWAP5 MLOAD DUP2 DUP2 DUP10 MULMOD SWAP5 MULMOD SWAP2 PUSH2 0xB11 JUMP JUMPDEST SWAP2 PUSH2 0x79A JUMP JUMPDEST SWAP1 ADDMOD ISZERO SWAP1 JUMP JUMPDEST POP POP POP POP POP PUSH1 0x0 SWAP1 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1485 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP3 LT ISZERO PUSH2 0x7DE JUMP JUMPDEST POP DUP2 ISZERO PUSH2 0x7D7 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1485 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP5 LT ISZERO PUSH2 0x7D0 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x60 SWAP5 SWAP4 SWAP3 SWAP1 DUP4 DUP2 GT ISZERO PUSH2 0x93C JUMPI JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x934 JUMPI JUMPDEST POP DUP3 DUP2 LT PUSH2 0x8F1 JUMPI POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP5 POP SWAP2 DUP3 SWAP1 SUB SWAP2 ADD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND JUMPDEST DUP2 DUP2 ADD MLOAD DUP6 DUP3 ADD MSTORE PUSH1 0x1F NOT ADD SWAP1 DUP2 ISZERO PUSH2 0x91E JUMPI SWAP1 PUSH2 0x905 JUMP JUMPDEST POP POP PUSH1 0x40 DUP2 DUP5 ADD PUSH1 0x0 PUSH1 0x20 DUP3 ADD MSTORE ADD PUSH1 0x40 MSTORE DUP3 MSTORE JUMP JUMPDEST SWAP1 POP CODESIZE PUSH2 0x8E4 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x8DB JUMP JUMPDEST PUSH1 0x2 DUP2 SWAP1 SHL SWAP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xFE SHL SUB DUP2 AND SUB PUSH2 0x3F1 JUMPI JUMP JUMPDEST SWAP1 PUSH2 0x966 DUP3 PUSH2 0x36C JUMP JUMPDEST PUSH2 0x973 PUSH1 0x40 MLOAD SWAP2 DUP3 PUSH2 0x1F7 JUMP JUMPDEST DUP3 DUP2 MSTORE DUP1 SWAP3 PUSH2 0x984 PUSH1 0x1F NOT SWAP2 PUSH2 0x36C JUMP JUMPDEST ADD SWAP1 PUSH1 0x20 CALLDATASIZE SWAP2 ADD CALLDATACOPY JUMP JUMPDEST SWAP1 DUP2 MLOAD ISZERO PUSH2 0xA2C JUMPI SWAP1 PUSH2 0x9BB PUSH2 0x9B6 PUSH2 0x9AF PUSH2 0x9AA DUP5 MLOAD PUSH2 0x944 JUMP JUMPDEST PUSH2 0x3F6 JUMP JUMPDEST PUSH1 0x3 SWAP1 DIV SWAP1 JUMP JUMPDEST PUSH2 0x95C JUMP JUMPDEST SWAP2 PUSH1 0x20 DUP4 ADD SWAP1 DUP3 DUP1 MLOAD ADD SWAP1 PUSH1 0x20 DUP3 ADD SWAP3 DUP4 MLOAD SWAP5 PUSH1 0x0 DUP6 MSTORE JUMPDEST DUP4 DUP2 LT PUSH2 0x9E2 JUMPI POP POP POP POP MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x4 SWAP2 ADD SWAP2 PUSH1 0x1 PUSH1 0x3F DUP5 MLOAD DUP3 DUP3 DUP3 PUSH1 0x12 SHR AND DUP9 ADD ADD MLOAD DUP5 MSTORE8 DUP3 DUP3 DUP3 PUSH1 0xC SHR AND DUP9 ADD ADD MLOAD DUP4 DUP6 ADD MSTORE8 DUP3 DUP3 DUP3 PUSH1 0x6 SHR AND DUP9 ADD ADD MLOAD PUSH1 0x2 DUP6 ADD MSTORE8 AND DUP6 ADD ADD MLOAD PUSH1 0x3 DUP3 ADD MSTORE8 ADD SWAP1 PUSH2 0x9D3 JUMP JUMPDEST POP POP PUSH2 0x6EF PUSH2 0x4EC JUMP JUMPDEST PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 LT DUP1 ISZERO SWAP1 PUSH2 0xAF9 JUMPI JUMPDEST DUP1 ISZERO PUSH2 0xAE8 JUMPI JUMPDEST PUSH2 0xAE1 JUMPI PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH32 0x5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B SWAP1 DUP3 SWAP1 DUP2 PUSH32 0xFFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC DUP3 MULMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 DUP2 DUP1 MULMOD MULMOD ADDMOD ADDMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP1 MULMOD EQ SWAP1 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP1 JUMP JUMPDEST POP DUP1 ISZERO DUP1 ISZERO PUSH2 0xA56 JUMPI POP DUP2 ISZERO PUSH2 0xA56 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP3 LT ISZERO PUSH2 0xA4F JUMP JUMPDEST SWAP1 SWAP3 PUSH1 0x0 SWAP3 SWAP1 DUP4 PUSH1 0xFF DUP2 DUP5 ISZERO DUP1 PUSH2 0x1108 JUMPI JUMPDEST PUSH2 0x10FD JUMPI PUSH2 0xB31 DUP9 DUP8 PUSH2 0x1110 JUMP JUMPDEST SWAP3 SWAP1 SWAP2 DUP3 ISZERO DUP1 PUSH2 0x10F5 JUMPI JUMPDEST PUSH2 0x10BA JUMPI JUMPDEST POP DUP6 DUP2 SHR PUSH1 0x2 DUP7 PUSH1 0xFE SHR AND ADD JUMPDEST ISZERO PUSH2 0x10A1 JUMPI PUSH1 0x1 DUP7 DUP3 SHR AND PUSH1 0x2 DUP7 DUP4 SHR PUSH1 0x1 SHL AND ADD PUSH1 0x1 DUP2 EQ PUSH2 0x1056 JUMPI JUMPDEST PUSH1 0x2 DUP2 EQ PUSH2 0x1049 JUMPI JUMPDEST PUSH1 0x3 EQ PUSH2 0x103C JUMPI JUMPDEST PUSH1 0x1 SWAP9 PUSH1 0x0 NOT SWAP2 SWAP1 SWAP2 ADD SWAP7 SWAP5 SWAP6 SWAP5 DUP10 SWAP5 SWAP4 SWAP3 SWAP2 JUMPDEST DUP9 PUSH1 0x0 NOT GT PUSH2 0xC0F JUMPI POP POP POP POP POP POP POP POP POP PUSH1 0x40 MLOAD SWAP2 PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x20 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD MSTORE PUSH1 0x20 PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH1 0x60 SHL SUB PUSH1 0x60 SHL NOT PUSH1 0xA0 DUP4 ADD MSTORE PUSH1 0x20 DUP3 PUSH1 0xC0 DUP2 PUSH1 0x5 PUSH1 0x0 NOT STATICCALL ISZERO PUSH2 0xBA JUMPI SWAP1 MLOAD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD SWAP1 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 SWAP6 SWAP7 SWAP8 SWAP9 PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH1 0x60 SHL SUB PUSH1 0x60 SHL NOT DUP7 PUSH1 0x2 MULMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP3 DUP1 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 DUP4 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP3 SWAP1 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 SWAP1 DUP16 DUP3 DUP2 DUP4 ADDMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SUB SWAP1 ADDMOD MULMOD PUSH1 0x3 MULMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP4 MULMOD SWAP13 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP3 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP12 DUP1 MULMOD ADDMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SWAP1 DUP2 SUB DUP12 ADDMOD SWAP1 MULMOD SWAP7 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP9 SWAP1 DUP3 SWAP1 DUP5 MULMOD ADDMOD SWAP7 DUP12 PUSH1 0x2 DUP13 PUSH1 0x1 DUP14 DUP5 SHR AND SWAP3 SHR PUSH1 0x1 SHL AND ADD DUP1 ISZERO PUSH2 0x101F JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0xFD4 JUMPI JUMPDEST PUSH1 0x2 DUP2 EQ PUSH2 0xFC9 JUMPI JUMPDEST PUSH1 0x3 EQ PUSH2 0xFC0 JUMPI JUMPDEST DUP3 ISZERO PUSH2 0xFAD JUMPI PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP9 SWAP1 DUP3 SWAP1 DUP16 SWAP1 MULMOD ADDMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP10 DUP3 SUB SWAP1 DUP3 SWAP1 DUP6 SWAP1 MULMOD ADDMOD SWAP8 DUP2 ISZERO PUSH2 0xE73 JUMPI JUMPDEST PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP10 DUP1 MULMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP11 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP11 SWAP1 MULMOD SWAP13 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP5 SWAP1 MULMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP3 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP6 DUP2 SUB DUP2 DUP7 DUP1 MULMOD ADDMOD ADDMOD SWAP8 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP4 DUP5 SWAP2 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SWAP1 DUP11 DUP3 SUB SWAP1 ADDMOD MULMOD ADDMOD SWAP5 SWAP9 JUMPDEST PUSH1 0x0 NOT ADD SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xB91 JUMP JUMPDEST DUP9 PUSH2 0xD96 JUMPI SWAP11 SWAP2 SWAP8 POP SWAP1 SWAP6 SWAP1 POP PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD SWAP11 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP13 DUP1 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 DUP14 MULMOD SWAP13 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP3 SWAP1 MULMOD SWAP12 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 DUP12 DUP2 SUB DUP3 ADDMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP13 SWAP1 ADDMOD MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH1 0x3 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP14 MULMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD SWAP12 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP3 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP5 DUP1 MULMOD ADDMOD SWAP12 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP4 DUP5 SWAP2 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SWAP1 DUP15 DUP3 SUB SWAP1 ADDMOD SWAP1 MULMOD ADDMOD SWAP5 PUSH2 0xE62 JUMP JUMPDEST PUSH1 0x1 SWAP13 POP SWAP1 SWAP11 DUP13 SWAP9 POP SWAP1 SWAP7 POP SWAP1 POP PUSH2 0xE62 JUMP JUMPDEST POP POP DUP4 DUP6 PUSH2 0xD55 JUMP JUMPDEST DUP6 SWAP3 POP DUP5 SWAP2 POP PUSH2 0xD4D JUMP JUMPDEST PUSH32 0x6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296 SWAP3 POP PUSH32 0x4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5 SWAP2 POP PUSH2 0xD44 JUMP JUMPDEST POP POP POP SWAP10 SWAP6 SWAP9 SWAP5 PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH1 0x60 SHL SUB PUSH1 0x60 SHL NOT SUB SWAP5 PUSH2 0xE62 JUMP JUMPDEST SWAP3 POP DUP1 SWAP7 POP SWAP6 DUP2 SWAP3 PUSH2 0xB7D JUMP JUMPDEST SWAP7 SWAP8 POP DUP8 SWAP7 DUP10 SWAP5 POP PUSH2 0xB75 JUMP JUMPDEST PUSH32 0x6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296 SWAP9 POP PUSH32 0x4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5 SWAP5 POP PUSH2 0xB6C JUMP JUMPDEST PUSH1 0x0 NOT ADD PUSH1 0x1 DUP7 DUP3 SHR AND PUSH1 0x2 DUP7 DUP4 SHR PUSH1 0x1 SHL AND ADD PUSH2 0xB4E JUMP JUMPDEST SWAP5 SWAP6 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1485 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP2 SWAP7 DUP3 SUB SWAP1 ADDMOD SWAP5 DUP5 DUP7 ISZERO DUP1 PUSH2 0x10ED JUMPI JUMPDEST ISZERO PUSH2 0xB41 JUMPI SWAP9 POP POP POP POP POP POP POP POP POP SWAP1 JUMP JUMPDEST POP PUSH1 0x1 PUSH2 0x10DB JUMP JUMPDEST POP DUP4 ISZERO PUSH2 0xB3C JUMP JUMPDEST SWAP7 POP POP POP POP POP POP POP SWAP1 JUMP JUMPDEST POP DUP4 ISZERO PUSH2 0xB23 JUMP JUMPDEST SWAP2 SWAP1 PUSH32 0x6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296 PUSH32 0x4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5 SWAP2 DUP1 ISZERO PUSH2 0x12C8 JUMPI DUP5 PUSH2 0x12A6 SWAP5 SWAP6 DUP4 EQ DUP1 PUSH2 0x12BF JUMPI JUMPDEST ISZERO PUSH2 0x12AA JUMPI POP PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 POP DUP3 PUSH1 0x2 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 DUP1 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP5 DUP5 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP6 SWAP1 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 SWAP1 DUP2 PUSH1 0x1 DUP3 ADDMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH32 0xFFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFE SWAP1 ADDMOD MULMOD PUSH1 0x3 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP5 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP4 DUP1 MULMOD ADDMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT PUSH1 0x1 DUP7 MULMOD SWAP6 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH1 0x1 SWAP1 MULMOD SWAP5 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP4 DUP5 SWAP2 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 SUB SWAP3 SWAP1 SWAP2 DUP3 SWAP1 DUP7 DUP3 SUB SWAP1 ADDMOD SWAP1 MULMOD ADDMOD SWAP1 PUSH2 0x13EA JUMP JUMPDEST SWAP1 SWAP2 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 PUSH2 0x12B6 SWAP4 PUSH2 0x12CE JUMP JUMPDEST SWAP3 SWAP1 SWAP2 SWAP1 PUSH2 0x13EA JUMP JUMPDEST POP DUP2 DUP5 EQ PUSH2 0x1169 JUMP JUMPDEST POP SWAP3 POP SWAP1 JUMP JUMPDEST SWAP2 SWAP4 SWAP1 DUP1 ISZERO PUSH2 0x13E1 JUMPI PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 SUB SWAP4 DUP5 SWAP1 DUP3 SWAP1 PUSH1 0x1 SWAP1 MULMOD ADDMOD SWAP4 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP4 DUP3 SUB SWAP1 DUP3 SWAP1 PUSH1 0x1 SWAP1 MULMOD ADDMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP5 DUP1 MULMOD SWAP4 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP6 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP6 SWAP1 MULMOD SWAP5 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP8 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP7 DUP2 SUB DUP2 DUP6 DUP1 MULMOD ADDMOD ADDMOD SWAP6 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP3 DUP4 SWAP1 DUP7 SWAP1 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SWAP1 DUP10 DUP3 SUB SWAP1 ADDMOD MULMOD ADDMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH1 0x1 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH1 0x1 MULMOD SWAP1 JUMP JUMPDEST POP PUSH1 0x1 SWAP2 POP DUP2 SWAP1 JUMP JUMPDEST SWAP2 SWAP1 SWAP3 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD MSTORE PUSH1 0x20 PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH1 0x60 SHL SUB PUSH1 0x60 SHL NOT PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0x20 DUP2 PUSH1 0xC0 DUP2 PUSH1 0x5 PUSH1 0x0 NOT STATICCALL ISZERO PUSH2 0xBA JUMPI MLOAD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP5 SWAP1 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 SWAP1 DUP3 SWAP1 DUP1 MULMOD SWAP1 MULMOD SWAP2 JUMP INVALID SELFDESTRUCT SELFDESTRUCT SELFDESTRUCT SELFDESTRUCT STOP STOP STOP STOP SELFDESTRUCT SELFDESTRUCT SELFDESTRUCT SELFDESTRUCT SELFDESTRUCT SELFDESTRUCT SELFDESTRUCT SELFDESTRUCT 0xBC 0xE6 STATICCALL 0xAD 0xA7 OR SWAP15 DUP5 RETURN 0xB9 0xCA 0xC2 0xFC PUSH4 0x2551A264 PUSH10 0x70667358221220C3871A PUSH32 0x51C40A63E23A07543227A03894C1E09C4B1747EDD49D559D597F51E464736F6C PUSH4 0x4300081C STOP CALLER ", + "sourceMap": "846:4009:28:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;846:4009:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;846:4009:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;846:4009:28;;;;;;;;-1:-1:-1;;846:4009:28;;;;;-1:-1:-1;846:4009:28;-1:-1:-1;846:4009:28;;;-1:-1:-1;846:4009:28;;3382:97;;846:4009;;3578:19;;:42;;;;846:4009;3574:104;;846:4009;3688:13;;3386:5;846:4009;3386:5;846:4009;;;3386:5;846:4009;;;3688:13;846:4009;;;;;;;;;;;3574:104;-1:-1:-1;;;;3643:24:28;846:4009;;3601:5;846:4009;;;;-1:-1:-1;3643:24:28;3578:42;-1:-1:-1;3601:5:28;846:4009;3601:19;3578:42;;3382:97;-1:-1:-1;;;;3438:30:28;846:4009;;;-1:-1:-1;3643:24:28;846:4009;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::i;:::-;:::o;4569:284::-;846:4009;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4674:66;;846:4009;;-1:-1:-1;846:4009:28;-1:-1:-1;846:4009:28;;;-1:-1:-1;846:4009:28;;;;-1:-1:-1;846:4009:28;-1:-1:-1;846:4009:28;;4800:15;846:4009;-1:-1:-1;846:4009:28;4800:15;846:4009;2476:46;;;846:4009;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2560:16;4833:13;846:4009;;;;2532:114;846:4009;4826:20;846:4009;2560:16;846:4009;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2560:16;;;846:4009;2560:16;;846:4009;;;;;;;;2560:16;;846:4009;;2560:16;;;;;;:::i;:::-;2532:114;:::i;:::-;;3386:5;846:4009;3386:5;846:4009;;;3386:5;846:4009;;;4833:13;846:4009;-1:-1:-1;846:4009:28;;;;;;;;;;;;;;;-1:-1:-1;;846:4009:28;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;846:4009:28;;;;;;;;;;;;:::o;2162:66:18:-;846:4009:28;;;2162:66:18;;;;;;;;2132:21:36;;7261:2;2132:21;;;;;;;:::o;:::-;;:::i;:::-;;2566:1:19;2132:21:36;;;;;;;:::o;:::-;;;;;;;;;;:::o;2643:34::-;;;;;;;;-1:-1:-1;;2643:34:36;;;;:::o;:::-;;;;;;;;;;;;;;;;;;846:4009:28;;;2643:34:36;;;;;:::i;:::-;;;:::o;:::-;;;;;846:4009:28;;2643:34:36;;;;;;;;;;846:4009:28;;2643:34:36;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;846:4009:28;;7178:27:36;2643:34;;;;;;;:::o;:::-;846:4009:28;;;2643:34:36;;;;;;;;1986:4;846:4009:28;;1986:4:36;;;;;;;;2643:34;1986:4;;;2643:34;1986:4;;846:4009:28;;;2643:34:36;;;;;:::i;:::-;;846:4009:28;;;1986:4:36;;:::o;2396:14::-;846:4009:28;;;;;;;:::i;:::-;1530:1:19;2396:14:36;;:::o;:::-;;;;;;;;;;:::i;:::-;846:4009:28;;;;;;;:::i;:::-;2396:14:36;;;-1:-1:-1;2396:14:36;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;:::o;6711:2934::-;;;;2589:5:28;6870:4:36;6894:14;;;846:4009:28;;;2162:66:18;-1:-1:-1;6890:125:36;;7178:27;;;;2643:34;28057:42:24;7178:27:36;;7212:22;;;846:4009:28;7236:27:36;;;:::i;:::-;28057:42:24;;:::i;:::-;7178:27:36;846:4009:28;;;;7278:23:36;:46;7274:89;;7547:27;7516:64;7547:27;;:::i;:::-;7516:64;:::i;:::-;28057:42:24;7635:27:36;;7669;;;846:4009:28;7698:54:36;846:4009:28;;7698:54:36;;:::i;28057:42:24:-;7178:27:36;846:4009:28;;;;7767:33:36;846:4009:28;7178:27:36;846:4009:28;;;;7804:28:36;7767:65;7763:108;;846:4009:28;2643:34:36;;846:4009:28;2643:34:36;;7987;;:30;;:34;:::i;:::-;2643;-1:-1:-1;;;;;;2643:34:36;;;7987;:56;:79;7983:122;;1986:4;7178:27;8265:137;-1:-1:-1;8265:137:36;8563:27;;7669;846:4009:28;1986:4:36;;;;;:::i;:::-;8550:42;;;;;;;;7178:27;-1:-1:-1;1986:4:36;8550:42;;8778:68;8795:30;;8778:68;7669:27;846:4009:28;8778:68:36;;;;;;;:::i;:::-;7669:27;846:4009:28;1986:4:36;;;;;:::i;:::-;8771:76;;8550:42;8771:76;;;;;8901:14;-1:-1:-1;8771:76:36;8901:14;;846:4009:28;-1:-1:-1;846:4009:28;;;;8877:61:36;846:4009:28;;8877:61:36;846:4009:28;7669:27:36;846:4009:28;8877:61:36;;;7178:27;8877:61;;;;;1986:4;;;;;;;;;;;;846:4009:28;;;1986:4:36;;;846:4009:28;1986:4:36;;;846:4009:28;1986:4:36;;;846:4009:28;1986:4:36;846:4009:28;1986:4:36;8877:61;9030:26;;2404:5;9030:26;;;;;:::i;:::-;846:4009:28;;9491:16:36;;;;6711:2934;9487:60;;846:4009:28;9565:73:36;846:4009:28;;;;;9565:73:36;;:::i;:::-;6711:2934;:::o;9487:60::-;1776:4;;9516:26;;-1:-1:-1;9516:26:36;;7178:27;9516:26;;;;-1:-1:-1;9516:26:36;;-1:-1:-1;9516:26:36;;-1:-1:-1;;9516:26:36:i;:::-;:31;9509:38;:::o;9491:16::-;9463:14;;;;9491:16;;8771:76;;:::i;7983:122::-;8082:12;;;;;;;:::o;7274:89::-;7340:12;;;;;;;;:::o;985:132:19:-;846:4009:28;;1078:32:19;;846:4009:28;;;;:::i;:::-;;2396:14:36;;846:4009:28;;;;;;;;;;1078:32:19;:::i;1349:17:17:-;-1:-1:-1;;;;;;;;;;;1349:17:17;;-1:-1:-1;;;;;;;;;;;1349:17:17;;;;:::o;1562:703::-;;;;;;1691:6;;:32;;;;1562:703;1691:42;;;;1562:703;1691:68;;;;1562:703;1687:111;;1821:39;;;;:::i;:::-;1820:40;1816:83;;3235:647:18;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3235:647:18;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3235:647:18;2222:3:17;3235:647:18;;2132:64:17;3235:647:18;;2062:34:17;;;;1984:49;;2132:64;;:::i;:::-;2222:3;;:::i;:::-;2211:18;;2251:7;1562:703;:::o;1816:83::-;1876:12;;;;;846:4009:28;1876:12:17;:::o;1691:68::-;1737:22;-1:-1:-1;;;;;;;;;;;1737:22:17;;;1691:68;;:42;1727:6;;;1691:42;;:32;1701:22;-1:-1:-1;;;;;;;;;;;1701:22:17;;;1691:32;;16753:1115:22;16943:919;;2396:14:36;;16753:1115:22;;;16943:919;;;;;;16753:1115;16943:919;;;;;;16753:1115;16943:919;;;;;;16753:1115;;;:::o;16943:919::-;;;;-1:-1:-1;16943:919:22;;;;;;846:4009:28;16943:919:22;;-1:-1:-1;;16943:919:22;;;;;;;;;;-1:-1:-1;;16943:919:22;;;;;;;;;;;;;;;;;;;;;;;;;;16753:1115::o;16943:919::-;;;;;;;;-1:-1:-1;16943:919:22;;;846:4009:28;;;;;;;-1:-1:-1;;;;;846:4009:28;;;;;:::o;:::-;;2396:14:36;;;:::i;:::-;846:4009:28;;;;;;:::i;:::-;2396:14:36;;;846:4009:28;;;;;;;:::i;:::-;;;;;;;;:::o;1186:4022:19:-;;846:4009:28;;1515:16:19;1511:31;;2503:69;2606:24;2547:25;2548:19;:15;846:4009:28;;2548:15:19;:::i;:::-;:19;:::i;:::-;2571:1;2162:66:18;;;;2547:25:19;2606:24;:::i;:::-;2641:2537;;;;;;;;;;;;;;;;;1104:5;2641:2537;;;;;;;;;;;;;1186:4022;:::o;2641:2537::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1511:31;846:4009:28;;;;:::i;12684:438:18:-;-1:-1:-1;;;;;;;;12774:6:18;;;;;:16;;12684:438;12774:42;;;;12684:438;12770:85;;-1:-1:-1;;;;;;;;1531:66:18;1802;;1531;;;1666;1531;12990:15;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;;;12966:15;12959:29;12952:57;13039:17;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;12902:15;13095:10;12684:438;:::o;12770:85::-;12832:12;;846:4009:28;12832:12:18;:::o;12774:42::-;12796:6;;;12795:20;;12774:42;12795:20;12808:6;;;12774:42;;:16;-1:-1:-1;;;;;;;;;12784:6:18;;;12774:16;;13895:6587;;;846:4009:28;;13895:6587:18;846:4009:28;14174:3:18;846:4009:28;14256:13:18;;;:30;;13895:6587;14252:44;;14322:25;;;;:::i;:::-;14366:5;;;;;14365:16;;;13895:6587;14362:211;;13895:6587;14586:5830;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;14586:5830:18;;;;;3235:647;;;14586:5830;;3235:647;;;14586:5830;3235:647;;;14586:5830;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;14586:5830:18;;;;-1:-1:-1;;;;;1531:66:18;;;14586:5830;;;;;3235:647;14586:5830;3235:647;14586:5830;3235:647;;14586:5830;;;;;;-1:-1:-1;;;;;;;;1531:66:18;14586:5830;13895:6587;:::o;14586:5830::-;1531:66;;;;;;;;;-1:-1:-1;;;;;1531:66:18;;;14586:5830;;;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;14586:5830;-1:-1:-1;;;;;;;;14586:5830:18;;;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;;;;;;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:18;14586:5830;;;;;;;1531:66;-1:-1:-1;;;;;;;;1531:66:18;14586:5830;;1531:66;-1:-1:-1;;;;;;;;1531:66:18;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;-1:-1:-1;;;;;;;;;;14586:5830:18;-1:-1:-1;;;;;;;;14586:5830:18;;;;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;;14586:5830;;1531:66;14586:5830;;;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;;;;14586:5830;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;1531:66:18;;;;;;;14586:5830;;1531:66;-1:-1:-1;;;;;;;;1531:66:18;14586:5830;;;;1531:66;;;;14586:5830;;;;;;;;-1:-1:-1;;;;;;;;14586:5830:18;;;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:18;14586:5830;-1:-1:-1;;;;;;;;1531:66:18;14586:5830;-1:-1:-1;;;;;;;;;;14586:5830:18;-1:-1:-1;;;;;;;;14586:5830:18;;;1531:66;14586:5830;;;;;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;;14586:5830;;;;;;;;;;-1:-1:-1;;14586:5830:18;;;;;;;;;;;;;;;1531:66;;;-1:-1:-1;1531:66:18;;;-1:-1:-1;;;;;;;;;1531:66:18;-1:-1:-1;;;;;;;;;;14586:5830:18;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;14586:5830;-1:-1:-1;;;;;;;;14586:5830:18;;;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;14586:5830;;;1531:66;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;;14586:5830;;-1:-1:-1;;;;;;;;1531:66:18;14586:5830;;1531:66;-1:-1:-1;;;;;;;;1531:66:18;14586:5830;;1531:66;-1:-1:-1;;;;;;;;1531:66:18;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;-1:-1:-1;;;;;;;;;;14586:5830:18;-1:-1:-1;;;;;;;;14586:5830:18;;;;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;;14586:5830;;;;;;;;;;;;;;-1:-1:-1;14586:5830:18;;;;-1:-1:-1;14586:5830:18;;-1:-1:-1;14586:5830:18;-1:-1:-1;14586:5830:18;;;;;;;;;;;;-1:-1:-1;14586:5830:18;;-1:-1:-1;14586:5830:18;;;1938:66;;-1:-1:-1;2032:66:18;;-1:-1:-1;14586:5830:18;;;1531:66;;;;;;;-1:-1:-1;;;;;1531:66:18;;;14586:5830;;;;;;;;;;;;;;;;;;-1:-1:-1;14586:5830:18;;;;-1:-1:-1;14586:5830:18;;;1938:66;;-1:-1:-1;2032:66:18;;-1:-1:-1;14586:5830:18;;;3235:647;;14586:5830;;;;;;;;;;;;;;;;14362:211;2032:66;;-1:-1:-1;;;;;;;;;;;2032:66:18;;;;14437:31;;14486:10;;14518:13;;:30;;;14362:211;14514:44;14362:211;14514:44;14550:8;;;;;;;;;;;:::o;14518:30::-;;14535:13;14518:30;;14365:16;14375:5;;;14365:16;;14252:44;14288:8;;;;;;;;;:::o;14256:30::-;14273:13;;;14256:30;;13224:499;;;1938:66;2032;13342:11;12535:6;;13437:41;;13492:6;13686:30;13492:6;;;;13491:18;;;13224:499;13488:181;;;-1:-1:-1;;;;;;;;;1531:66:18;-1:-1:-1;9612:681:18;;;-1:-1:-1;;;;;;;;9612:681:18;;;1531:66;-1:-1:-1;;;;;;;;1531:66:18;9612:681;;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;;9612:681;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;;;13563:1;1531:66;9612:681;1531:66;-1:-1:-1;;;;;;;;1531:66:18;9612:681;;;;;;-1:-1:-1;;;;;;;;1531:66:18;9612:681;-1:-1:-1;;;;;;;;;;9612:681:18;-1:-1:-1;;;;;;;;9612:681:18;;;;1531:66;-1:-1:-1;;;;;;;;13563:1:18;9612:681;;1531:66;-1:-1:-1;;;;;;;;1531:66:18;13563:1;;9612:681;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;;9612:681;-1:-1:-1;;;;;;;;9612:681:18;;;;1531:66;;;;9612:681;;;;;;;;13525:42;13686:30;:::i;:::-;13679:37;;13224:499::o;13488:181::-;13627:31;;;;;;:::i;:::-;13605:53;;;;13686:30;:::i;13491:18::-;13502:6;;;;13491:18;;13437:41;-1:-1:-1;13463:15:18;-1:-1:-1;13463:15:18;:::o;10559:1073::-;;;;10790:7;;10786:67;;-1:-1:-1;;;;;;;;10867:673:18;;;;;;1531:66;;13645:1;;10867:673;;1531:66;-1:-1:-1;;;;;;;;1531:66:18;10867:673;;;;1531:66;;13645:1;;10867:673;;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;10867:673;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;10867:673;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;;10867:673;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;-1:-1:-1;;;;;;;;;;10867:673:18;-1:-1:-1;;;;;;;;10867:673:18;;;1531:66;10867:673;;;;;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;;;;10867:673;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;;10867:673;;;;;;;1531:66;-1:-1:-1;;;;;;;;1531:66:18;13645:1;10867:673;1531:66;-1:-1:-1;;;;;;;;1531:66:18;13645:1;10867:673;10559:1073;:::o;10786:67::-;-1:-1:-1;13645:1:18;;-1:-1:-1;13645:1:18;;10817:21::o;8954:351::-;;;;4081:643;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;4081:643:18;;;;-1:-1:-1;;;;;1531:66:18;;;4081:643;;;;;3235:647;4081:643;3235:647;4081:643;3235:647;;4081:643;;;;;;-1:-1:-1;;;;;;;;1531:66:18;4081:643;;9135:20;1531:66;-1:-1:-1;;;;;;;;1531:66:18;9186:21;-1:-1:-1;;;;;;;;1531:66:18;;;;;9232:17;9271:20;;8954:351;:::o" }, "methodIdentifiers": { "getCredentialKey(bytes32)": "185d0dcd", @@ -236337,7 +262034,7 @@ "setCredentialKey(bytes32,(bytes32,bytes32))": "7415a725" } }, - "metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"idHash\",\"type\":\"bytes32\"}],\"name\":\"CredentialIdAlreadySet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EmptyCredentialId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"x\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"y\",\"type\":\"bytes32\"}],\"name\":\"InvalidKey\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"idHash\",\"type\":\"bytes32\"}],\"name\":\"getCredentialKey\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"x\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"y\",\"type\":\"bytes32\"}],\"internalType\":\"struct CredentialKeyMapper.PublicKey\",\"name\":\"key\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"idHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"removeCredentialKey\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"idHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"x\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"y\",\"type\":\"bytes32\"}],\"internalType\":\"struct CredentialKeyMapper.PublicKey\",\"name\":\"key\",\"type\":\"tuple\"}],\"name\":\"setCredentialKey\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"CredentialIdAlreadySet(bytes32)\":[{\"details\":\"Reverts when attempting to register a credential ID that is already present in `_keys`.\",\"params\":{\"idHash\":\"The hash of the credential ID that has already been set.\"}}]},\"kind\":\"dev\",\"methods\":{\"getCredentialKey(bytes32)\":{\"params\":{\"idHash\":\"The credential identifier whose public key is requested.\"},\"returns\":{\"key\":\"The stored `PublicKey` struct (`x`, `y`). If the credential is unknown, both coordinates will be zero.\"}},\"removeCredentialKey(bytes32,bytes)\":{\"details\":\"The hash that must be signed is `keccak256(this.removeCredentialKey.selector || id)`.\",\"params\":{\"idHash\":\"The hash of the credential ID to forget.\",\"signature\":\"A valid WebAuthn assertion proving control of the key currently registered under `id`.\"}},\"setCredentialKey(bytes32,(bytes32,bytes32))\":{\"custom:reverts\":\"CredentialIdAlreadySet When `id` is already in `_keys`.InvalidKey When no key is stored under `id`.(from _validSignature) When the signature fails to validate.\",\"params\":{\"idHash\":\"The keccak256 hash of the credential ID returned by the authenticator during WebAuthn registration.\",\"key\":\"The public key (affine coordinates) that corresponds to `id`.\"}}},\"stateVariables\":{\"_keys\":{\"details\":\"Maps the hash of a credential ID (`id`) to its corresponding public key.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getCredentialKey(bytes32)\":{\"notice\":\"Retrieve the public key associated with a credential ID.\"},\"removeCredentialKey(bytes32,bytes)\":{\"notice\":\"Remove an existing credential \\u2192 public-key mapping.\"},\"setCredentialKey(bytes32,(bytes32,bytes32))\":{\"notice\":\"Register a new credential \\u2192 public-key mapping.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/CredentialKeyMapper.sol\":\"CredentialKeyMapper\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"FreshCryptoLib/FCL_ecdsa.sol\":{\"keccak256\":\"0x679d2e9a655cd7e156a0cfc24de0aca88d4e0b34a8e0dfe6a599f23af092f5a2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db31eb84c6f854f076d2501e3d8b5a606fb4924168bdfc6fc3de84e67ed8a80d\",\"dweb:/ipfs/QmWGAmc7B4aT6Ki52uF9QmPQKWipaptit7r3JknBHjUGfe\"]},\"FreshCryptoLib/FCL_elliptic.sol\":{\"keccak256\":\"0xac7bb3260a446851f45b8cb71e31d64ca469d7711ed04662092a9554f1283a38\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f9b0dc5a2306ad3f3a0ff4a5b947fe49422181e97c163ea237fc8bfc6736429d\",\"dweb:/ipfs/QmeruF7BvG5BNnqwqwdshoVXuXqXtajbUYB19KwPynHrQE\"]},\"openzeppelin-contracts/contracts/utils/Base64.sol\":{\"keccak256\":\"0xbee2b819e1b4bf569ffc1b1b9d560b4abd6a589575f3093edaab9244de18a0c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e478c0e9bbf3eb8cd3b7784f9b397603e34747f9ffd16571ed1d89ce102de389\",\"dweb:/ipfs/QmZ6zXpwy5xRxx9RkodJmDZSUTeEqPQUanAC5TUoYqW2VR\"]},\"solady/utils/LibBytes.sol\":{\"keccak256\":\"0x320c3c933df51e8fd6f1fc96de721c8cc6f1be1d4c586c11f1c472a23b86eba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cec71f42247eda74535c6e695a2ac194268a342594a26c090bafd04434698b20\",\"dweb:/ipfs/QmXA8Qaw6DdWujdrNHMHpDLNGG4QCgC859ozivrxkxp7Ea\"]},\"solady/utils/LibString.sol\":{\"keccak256\":\"0x8a6b219f6ccda90c08e2debae62618d78d6f0cef086eb6c9503793d7f12815dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d1301acbf7371cb51ab01fe3bee8a9b732ee0bcf6cc0db20ed5a3fb9241d675e\",\"dweb:/ipfs/QmXuM4tSfPDeFRvP3nEQmuezp1yEm4HxyWtU41FjiCdxAG\"]},\"src/CredentialKeyMapper.sol\":{\"keccak256\":\"0x1cff3a0f5a5eff02b7a73a2bbc66fbb890c76613cb78f09fbab13390aa74dca4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5e04a809662895ccf0509fe519a65653938a261ed6f87e729105987a9af33104\",\"dweb:/ipfs/QmTdVGTcSZ3YhjT3mPdAtUkikSUxfJxN1RnibeGW2UUkZR\"]},\"webauthn-sol/WebAuthn.sol\":{\"keccak256\":\"0x5f38c750d900e5b5f22264ce71ead4a52528d24c52ff82928949833a5b2cea9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c373620c40cb0ddf0e347d3d6426dd9e34b8eb62ee83844372b48689f62dee5c\",\"dweb:/ipfs/QmdxkcQtgQZfKg8LZ3H5XuWhd1e1c4raa44oMnSGHgayt5\"]}},\"version\":1}" + "metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"idHash\",\"type\":\"bytes32\"}],\"name\":\"CredentialIdAlreadySet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EmptyCredentialId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"x\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"y\",\"type\":\"bytes32\"}],\"name\":\"InvalidKey\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"idHash\",\"type\":\"bytes32\"}],\"name\":\"getCredentialKey\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"x\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"y\",\"type\":\"bytes32\"}],\"internalType\":\"struct CredentialKeyMapper.PublicKey\",\"name\":\"key\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"idHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"removeCredentialKey\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"idHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"x\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"y\",\"type\":\"bytes32\"}],\"internalType\":\"struct CredentialKeyMapper.PublicKey\",\"name\":\"key\",\"type\":\"tuple\"}],\"name\":\"setCredentialKey\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"CredentialIdAlreadySet(bytes32)\":[{\"details\":\"Reverts when attempting to register a credential ID that is already present in `_keys`.\",\"params\":{\"idHash\":\"The hash of the credential ID that has already been set.\"}}]},\"kind\":\"dev\",\"methods\":{\"getCredentialKey(bytes32)\":{\"params\":{\"idHash\":\"The credential identifier whose public key is requested.\"},\"returns\":{\"key\":\"The stored `PublicKey` struct (`x`, `y`). If the credential is unknown, both coordinates will be zero.\"}},\"removeCredentialKey(bytes32,bytes)\":{\"details\":\"The hash that must be signed is `keccak256(this.removeCredentialKey.selector || id)`.\",\"params\":{\"idHash\":\"The hash of the credential ID to forget.\",\"signature\":\"A valid WebAuthn assertion proving control of the key currently registered under `id`.\"}},\"setCredentialKey(bytes32,(bytes32,bytes32))\":{\"custom:reverts\":\"CredentialIdAlreadySet When `id` is already in `_keys`.InvalidKey When no key is stored under `id`.(from _validSignature) When the signature fails to validate.\",\"params\":{\"idHash\":\"The keccak256 hash of the credential ID returned by the authenticator during WebAuthn registration.\",\"key\":\"The public key (affine coordinates) that corresponds to `id`.\"}}},\"stateVariables\":{\"_keys\":{\"details\":\"Maps the hash of a credential ID (`id`) to its corresponding public key.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getCredentialKey(bytes32)\":{\"notice\":\"Retrieve the public key associated with a credential ID.\"},\"removeCredentialKey(bytes32,bytes)\":{\"notice\":\"Remove an existing credential \\u2192 public-key mapping.\"},\"setCredentialKey(bytes32,(bytes32,bytes32))\":{\"notice\":\"Register a new credential \\u2192 public-key mapping.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/CredentialKeyMapper.sol\":\"CredentialKeyMapper\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"FreshCryptoLib/FCL_ecdsa.sol\":{\"keccak256\":\"0x679d2e9a655cd7e156a0cfc24de0aca88d4e0b34a8e0dfe6a599f23af092f5a2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db31eb84c6f854f076d2501e3d8b5a606fb4924168bdfc6fc3de84e67ed8a80d\",\"dweb:/ipfs/QmWGAmc7B4aT6Ki52uF9QmPQKWipaptit7r3JknBHjUGfe\"]},\"FreshCryptoLib/FCL_elliptic.sol\":{\"keccak256\":\"0xac7bb3260a446851f45b8cb71e31d64ca469d7711ed04662092a9554f1283a38\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f9b0dc5a2306ad3f3a0ff4a5b947fe49422181e97c163ea237fc8bfc6736429d\",\"dweb:/ipfs/QmeruF7BvG5BNnqwqwdshoVXuXqXtajbUYB19KwPynHrQE\"]},\"openzeppelin-contracts/contracts/utils/Base64.sol\":{\"keccak256\":\"0xbee2b819e1b4bf569ffc1b1b9d560b4abd6a589575f3093edaab9244de18a0c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e478c0e9bbf3eb8cd3b7784f9b397603e34747f9ffd16571ed1d89ce102de389\",\"dweb:/ipfs/QmZ6zXpwy5xRxx9RkodJmDZSUTeEqPQUanAC5TUoYqW2VR\"]},\"solady/utils/LibBytes.sol\":{\"keccak256\":\"0x320c3c933df51e8fd6f1fc96de721c8cc6f1be1d4c586c11f1c472a23b86eba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cec71f42247eda74535c6e695a2ac194268a342594a26c090bafd04434698b20\",\"dweb:/ipfs/QmXA8Qaw6DdWujdrNHMHpDLNGG4QCgC859ozivrxkxp7Ea\"]},\"solady/utils/LibString.sol\":{\"keccak256\":\"0x8a6b219f6ccda90c08e2debae62618d78d6f0cef086eb6c9503793d7f12815dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d1301acbf7371cb51ab01fe3bee8a9b732ee0bcf6cc0db20ed5a3fb9241d675e\",\"dweb:/ipfs/QmXuM4tSfPDeFRvP3nEQmuezp1yEm4HxyWtU41FjiCdxAG\"]},\"src/CredentialKeyMapper.sol\":{\"keccak256\":\"0x1cff3a0f5a5eff02b7a73a2bbc66fbb890c76613cb78f09fbab13390aa74dca4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5e04a809662895ccf0509fe519a65653938a261ed6f87e729105987a9af33104\",\"dweb:/ipfs/QmTdVGTcSZ3YhjT3mPdAtUkikSUxfJxN1RnibeGW2UUkZR\"]},\"webauthn-sol/WebAuthn.sol\":{\"keccak256\":\"0x8b940975249f72155110e5e5b4611fc9031330538183862b9d8f12ea7c30ad25\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://433957720c13a834b9aab98a5054e9dabe5c660a1a3fb267e6ad1a22b99b68ed\",\"dweb:/ipfs/QmTkQxCCf8kDAHa6rBwLT2mxFXN3tSAWyx4rLmgcLkFkRh\"]}},\"version\":1}" } }, "src/ERC1271.sol": { @@ -236511,6 +262208,17 @@ "name": "InvalidEthereumAddressOwner", "type": "error" }, + { + "inputs": [ + { + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "InvalidImplementation", + "type": "error" + }, { "inputs": [ { @@ -236881,6 +262589,19 @@ "stateMutability": "payable", "type": "function" }, + { + "inputs": [], + "name": "getSignatureLifetime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { @@ -237367,26 +263088,38 @@ }, "generatedSources": [], "linkReferences": {}, - "object": "60a0604052346103de57306080526040805161001b82826103e3565b60018152601f19820160005b8181106103cd5750508151600060208201526020815261004783826103e3565b61005082610406565b5261005a81610406565b507f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f5005460005b825181101561038c5760206100958285610429565b5151141580610377575b6103505760206100af8285610429565b51511480610312575b6102eb576100c68184610429565b51918060001981146102d5576001019260ff6100e18261048c565b54166102b5576100f08161048c565b805460ff1916600117905560008281527f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f50260205286902081516001600160401b03811161029f578154600181811c91168015610295575b602082101461027f57601f8111610237575b506020601f82116001146101bc579260008051602061333d83398151915292826101a89360019897966000916101b1575b50600019600383901b1c191690881b1790555b885191829182610460565b0390a201610080565b90508301513861018a565b601f1982169083600052806000209160005b81811061021f57508360019897969360008051602061333d83398151915296936101a8968b9410610206575b5050811b01905561019d565b85015160001960f88460031b161c1916905538806101fa565b9192602060018192868a0151815501940192016101ce565b826000526020600020601f830160051c81019160208410610275575b601f0160051c01905b8181106102695750610159565b6000815560010161025c565b9091508190610253565b634e487b7160e01b600052602260045260246000fd5b90607f1690610147565b634e487b7160e01b600052604160045260246000fd5b855163468b12ad60e11b81529081906102d19060048301610460565b0390fd5b634e487b7160e01b600052601160045260246000fd5b836102f96102d19285610429565b51905163bff1ac6560e01b815291829160048301610460565b5061031d8184610429565b5160208151910151906020811061033e575b506001600160a01b03106100b8565b6000199060200360031b1b163861032f565b8361035e6102d19285610429565b5190516327755b9160e11b815291829160048301610460565b50836103838285610429565b5151141561009f565b83827f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f5005551612e6b90816104d2823960805181818161074b01526108390152f35b806060602080938601015201610027565b600080fd5b601f909101601f19168101906001600160401b0382119082101761029f57604052565b8051156104135760200190565b634e487b7160e01b600052603260045260246000fd5b80518210156104135760209160051b010190565b60005b8381106104505750506000910152565b8181015183820152602001610440565b60409160208252610480815180928160208601526020868601910161043d565b601f01601f1916010190565b60206104a591816040519382858094519384920161043d565b81017f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f5038152030190209056fe60806040526004361015610015575b3661143757005b60003560e01c8063066a1eb7146101d55780630db02622146101d05780630f0f3f24146101cb5780631626ba7e146101c657806319822f7c146101c15780631ca5393f146101bc57806329565e3b146101b75780632c2abd1e146101b257806334fcd5be146101ad57806336d9cf9b146101a85780634f1ef286146101a357806352d1902d1461019e5780635c60da1b146101995780636f2de70e14610194578063737bebdd1461018f57806384b0196e1461018a57806388ce4c7c1461018557806389625b57146101805780638ea690291461017b5780639f9bcb3414610176578063a05bd44e14610171578063a2e1a8d81461016c578063b0d691fe14610167578063b61d27f614610162578063b81973671461015d578063ce1506be14610158578063d948fd2e146101535763f698da250361000e57610dda565b610daf565b610d91565b610d4a565b610cda565b610cab565b610c84565b610c4a565b610c10565b610bdd565b610b9d565b610b4d565b610aac565b6109a6565b6108ab565b610875565b610825565b610710565b6106e5565b61064e565b6105a2565b610504565b6104cd565b610374565b610313565b61026d565b610239565b3461023457604036600319011261023457602060ff6102286004356102236024359161021560405193849288840160209093929193604081019481520152565b03601f198101835282610426565b610e0c565b54166040519015158152f35b600080fd5b34610234576000366003190112610234576020610254610e94565b604051908152f35b6001600160a01b0381160361023457565b34610234576020366003190112610234576102e460043561028d8161025c565b61029561146f565b6040519060018060a01b03166020820152602081526102b5604082610426565b600080516020612db683398151915254906102cf82610ec0565b600080516020612db6833981519152556114f8565b005b9181601f84011215610234578235916001600160401b038311610234576020838186019501011161023457565b34610234576040366003190112610234576004356024356001600160401b0381116102345760209161034c6103529236906004016102e6565b91610ecf565b6040516001600160e01b03199091168152f35b90816101209103126102345790565b34610234576060366003190112610234576004356001600160401b038111610234576103a4903690600401610365565b604435602435734337084d9e255ff0702461cf8895ce9e3b5ff107193301610400576103d482916103eb94610f65565b916103ef575b506040519081529081906020820190565b0390f35b60009081803892335af150386103da565b6282b42960e81b60005260046000fd5b634e487b7160e01b600052604160045260246000fd5b90601f801991011681019081106001600160401b0382111761044757604052565b610410565b6040519061045b60c083610426565b565b6001600160401b03811161044757601f01601f191660200190565b9291926104848261045d565b916104926040519384610426565b829481845281830111610234578281602093846000960137010152565b9080601f83011215610234578160206104ca93359101610478565b90565b34610234576020366003190112610234576004356001600160401b0381116102345760ff61022861022360209336906004016104af565b34610234576040366003190112610234576102e46024356102b560043561052961146f565b6040805160208101929092528101929092528160608101610215565b906020600319830112610234576004356001600160401b0381116102345760040160009280601f8301121561059e578135936001600160401b03851161059b57506020808301928560051b010111610234579190565b80fd5b8380fd5b6105ab36610545565b90734337084d9e255ff0702461cf8895ce9e3b5ff10833036104005760005b828110156102e45760006105e38260051b840184610efd565b6105ed8183610f2f565b6105f68161120f565b1561063257508291610609913691610478565b60208151910182305af161061b6110d8565b901561062a57506001016105ca565b602081519101fd5b631d8370a360e11b84526001600160e01b031916600452602483fd5b61065736610545565b90734337084d9e255ff0702461cf8895ce9e3b5ff10833036106d8575b60005b82811061068057005b806106d26106916001938686611026565b3561069b8161025c565b60206106a8848888611026565b01356106cc6106c56106bb868a8a611026565b6040810190610efd565b3691610478565b916118f4565b01610677565b6106e061146f565b610674565b34610234576000366003190112610234576020600080516020612e1683398151915254604051908152f35b6040366003190112610234576004356107288161025c565b6024356001600160401b038111610234576107479036906004016102e6565b90917f000000000000000000000000000000000000000000000000000000000000000030146108175761077861146f565b60018060a01b03163d6000526352d1902d600152600080516020612df6833981519152602060016004601d855afa510361080957807fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28181600080516020612df6833981519152556107ea57005b816000926040519485378338925af41561080057005b3d6000823e3d90fd5b6355299b496001526004601dfd5b639f03a0266000526004601cfd5b3461023457600036600319011261023457307f000000000000000000000000000000000000000000000000000000000000000003610817576020604051600080516020612df68339815191528152f35b3461023457600036600319011261023457600080516020612df6833981519152546040516001600160a01b039091168152602090f35b6108b436610545565b600080516020612db68339815191525461093c576001600160401b038111610447578060051b91604051916108ec6020850184610426565b825260208201928101903682116102345780935b828510610910576102e484611928565b84356001600160401b038111610234576020916109318392369086016104af565b815201940193610900565b6302ed543d60e51b60005260046000fd5b60005b8381106109605750506000910152565b8181015183820152602001610950565b906020916109898151809281855285808601910161094d565b601f01601f1916010190565b9060206104ca928181520190610970565b34610234576020366003190112610234576004356001600160401b0381116102345780600401608060031983360301126102345760448201356109e881611057565b4211610a8557610a1f610a0c610a00610a239361108f565b60208151910120611cab565b610a196064860185610efd565b91611813565b1590565b610a7457600091610a42826024610a3a869561104d565b930190610efd565b90610a52604051809381936110b5565b03915afa610a5e6110d8565b901561062a576103eb9060405191829182610995565b638baa579f60e01b60005260046000fd5b610a91610aa891611057565b630f88f04960e41b60005260045242602452604490565b6000fd5b3461023457600036600319011261023457610aec610afa610acb611a3a565b604092919251938493600f60f81b855260e0602086015260e0850190610970565b908382036040850152610970565b466060830152306080830152600060a083015281810360c0830152602060605191828152019060809060005b818110610b34575050500390f35b8251845285945060209384019390920191600101610b26565b346102345760003660031901126102345760206040516121058152f35b9060406003198301126102345760043591602435906001600160401b03821161023457610b99916004016102e6565b9091565b3461023457610bab36610b6a565b90610bb461146f565b6001610bbe610e94565b14610bcc576102e492611b94565b63948bf89760e01b60005260046000fd5b34610234576020366003190112610234576103eb610bfc600435611142565b604051918291602083526020830190610970565b34610234576020366003190112610234576004356001600160e01b03198116810361023457610c4060209161120f565b6040519015158152f35b34610234576020366003190112610234576004356001600160401b03811161023457610254610c7f6020923690600401610365565b611292565b34610234576020366003190112610234576020610c40600435610ca68161025c565b6113a8565b34610234576000366003190112610234576020604051734337084d9e255ff0702461cf8895ce9e3b5ff1088152f35b606036600319011261023457600435610cf28161025c565b604435906024356001600160401b038311610234576106cc610d1b6102e49436906004016102e6565b734337084d9e255ff0702461cf8895ce9e3b5ff1083303610d3d573691610478565b610d4561146f565b6106c5565b3461023457610d5836610b6a565b90610d6161146f565b610d69610e94565b9260018411610d7c576102e49350611b94565b83631047e35560e31b60005260045260246000fd5b34610234576020366003190112610234576020610254600435611cab565b34610234576000366003190112610234576020600080516020612db683398151915254604051908152f35b346102345760003660031901126102345760206102546113ce565b90610e086020928281519485920161094d565b0190565b6020610e2591816040519382858094519384920161094d565b81017f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f50381520301902090565b634e487b7160e01b600052601160045260246000fd5b600080516020612dd68339815191520390600080516020612dd68339815191528211610e8f57565b610e51565b600080516020612db683398151915254600080516020612e16833981519152548103908111610e8f5790565b6000198114610e8f5760010190565b90610edd610ee29392611cab565b611813565b610ef2576001600160e01b031990565b630b135d3f60e11b90565b903590601e198136030182121561023457018035906001600160401b0382116102345760200191813603831361023457565b356001600160e01b0319811692919060048210610f4a575050565b6001600160e01b031960049290920360031b82901b16169150565b602081013560401c91610f7b6060830183610efd565b6316155e8f60e11b916001600160e01b031991610f9791610f2f565b1603610fe85750610fa781611292565b916121058103610fd4575090610a19610fc6925b610100810190610efd565b610fcf57600190565b600090565b632ef3781360e01b60005260045260246000fd5b916121058114610fd4575090610a19610fc692610fbb565b61100b60ff91610e0c565b541690565b634e487b7160e01b600052603260045260246000fd5b91908110156110485760051b81013590605e1981360301821215610234570190565b611010565b356104ca8161025c565b906107088201809211610e8f57565b9060158201809211610e8f57565b9060028201809211610e8f57565b91908201809211610e8f57565b906040519163737bebdd60e01b602084015260248301526024825261045b604483610426565b908092918237016000815290565b604051906110d2602083610426565b60008252565b3d15611103573d906110e98261045d565b916110f76040519384610426565b82523d6000602084013e565b606090565b90600182811c92168015611138575b602083101461112257565b634e487b7160e01b600052602260045260246000fd5b91607f1691611117565b6000527f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f50260205260406000206040519081600082549261118184611108565b80845293600181169081156111ed57506001146111a6575b506104ca92500382610426565b90506000929192526020600020906000915b8183106111d15750509060206104ca9282010138611199565b60209193508060019154838588010152019101909183926111b8565b9050602092506104ca94915060ff191682840152151560051b82010138611199565b63ffffffff60e01b166329565e3b60e01b8114908115611281575b8115611270575b811561125f575b811561124e575b5061124957600090565b600190565b63278f794360e11b1490503861123f565b63b819736760e01b81149150611238565b6389625b5760e01b81149150611231565b6303c3cfc960e21b8114915061122a565b80359061129e8261025c565b61136b60208201356102156112b66040850185610efd565b908160405191823720936112d66112d06060830183610efd565b9061220c565b90608081013560a0820135906112f86112d060c08501359460e0810190610efd565b93604051988997602089019b8c949192610100969399989794919961012087019a7f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e885260018060a01b0316602088015260408701526060860152608085015260a084015260c083015260e08201520152565b5190206040805160208101928352734337084d9e255ff0702461cf8895ce9e3b5ff108918101919091526113a28160608101610215565b51902090565b61100b60ff916040519060018060a01b0316602082015260208152610223604082610426565b6113d6611a3a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526113a260c082610426565b60003560e01c63bc197c81811463f23a6e6182141763150b7a0282141761146657633c10b94e6000526004601cfd5b6020526020603cf35b611478336113a8565b8015611493575b61045b576282b42960e81b60005260046000fd5b5030331461147f565b8181106114a7575050565b6000815560010161149c565b9190601f81116114c257505050565b61045b926000526020600020906020601f840160051c830193106114ee575b601f0160051c019061149c565b90915081906114e1565b61150181611000565b61166f5761150e81610e0c565b600160ff19825416179055816000527f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f502602052604060002081516001600160401b0381116104475761156a816115648454611108565b846114b3565b6020601f82116001146115de57916115bf827f38109edc26e166b5579352ce56a50813177eb25208fd90d61f2f37838622022095936115ce956000916115d3575b508160011b916000199060031b1c19161790565b90555b60405191829182610995565b0390a2565b9050840151386115ab565b601f198216906115f384600052602060002090565b9160005b8181106116575750926115ce9492600192827f38109edc26e166b5579352ce56a50813177eb25208fd90d61f2f37838622022098961061163e575b5050811b0190556115c2565b85015160001960f88460031b161c191690553880611632565b9192602060018192868a0151815501940192016115f7565b60405163468b12ad60e11b815290819061168c9060048301610995565b0390fd5b602081830312610234578035906001600160401b03821161023457016040818303126102345760405191604083018381106001600160401b03821117610447576040528135835260208201356001600160401b038111610234576116f492016104af565b602082015290565b602081519101519060208110611710575090565b6000199060200360031b1b1690565b9190826040910312610234576020825192015190565b81601f8201121561023457602081519101906117508161045d565b9261175e6040519485610426565b81845281830111610234576104ca91602084019061094d565b602081830312610234578051906001600160401b03821161023457019060c082820312610234576117a661044c565b9180516001600160401b03811161023457826117c3918301611735565b835260208101516001600160401b0381116102345760a0926117e6918301611735565b6020840152604081015160408401526060810151606084015260808101516080840152015160a082015290565b92919061182291810190611690565b9061182d8251611142565b9160208351146118ab578251936040851461185d576040516327755b9160e11b81528061168c8660048301610995565b6102156118a661189161187d8760208080999b6104ca9b0101910161171f565b969095015160208082518301019101611777565b92604051928391602083019190602083019252565b611ead565b91929091906001600160a01b036118c1856116fc565b116118d9576020806104ca9495015192015191611d20565b60405163bff1ac6560e01b81528061168c8660048301610995565b916000928392602083519301915af161190b6110d8565b901561062a5750565b80518210156110485760209160051b010190565b90600080516020612db68339815191525460005b8351811015611a255760206119518286611914565b5151141580611a0f575b6119e857602061196b8286611914565b515114806119c6575b61199f578061199961198860019387611914565b519361199381610ec0565b946114f8565b0161193c565b6119ac61168c9185611914565b5160405163bff1ac6560e01b815291829160048301610995565b506001600160a01b036119e26119dc8387611914565b516116fc565b11611974565b6119f561168c9185611914565b516040516327755b9160e11b815291829160048301610995565b506040611a1c8286611914565b5151141561195b565b50600080516020612db6833981519152559050565b6040908151611a498382610426565b601281527111da585b9bc814db585c9d0815d85b1b195d60721b602082015291611a7581519182610426565b60018152603160f81b602082015290565b908060209392818452848401376000828201840152601f01601f1916010190565b92916104ca9492611ac5928552606060208601526060850191611a86565b916040818403910152610970565b60209082604051938492833781017f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f50381520301902090565b600281901b91906001600160fe1b03811603610e8f57565b611b2d8154611108565b9081611b37575050565b81601f60009311600114611b49575055565b81835260208320611b6591601f0160051c81019060010161149c565b808252602082209081548360011b9084198560031b1c191617905555565b9160206104ca938181520191611a86565b9190611b9f83611142565b805115611c955780516020820120611bb8368585610478565b6020815191012003611c7657509081611bff611bf5837fcf95bbfe6f870f8cc40482dc3dccdafd268f0e9ce0a4f24ea1bea9be64e505ff95611ad3565b805460ff19169055565b611c3a611c35856000527f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f502602052604060002090565b611b23565b611c67611c55600080516020612e1683398151915254610ec0565b600080516020612e1683398151915255565b6115ce60405192839283611b83565b60405163781f2e3960e01b815293849361168c93909160048601611aa7565b63340c473d60e11b600052600484905260246000fd5b611cb36113ce565b9060405160208101917f37f248f492286ab572e2a1ee0bd5315f2aae54a08b5871b294d657f3a1f1d0078352604082015260408152611cf3606082610426565b51902060405190602082019261190160f01b845260228301526042820152604281526113a2606282610426565b9091600091906001600160a01b03821615611e0a5760405192600484019460248501956044860192853b15611d8a57509186939160209593630b135d3f60e11b8852526040845281518501809260045afa9360443d01915afa9151630b135d3f60e11b1491161690565b979650509050815180604014611de557604114611da75750505050565b602092939550606082015160001a835260408201516060525b60005201516040526020600160806000825afa511860601b3d11916000606052604052565b506020929395506040820151601b8160ff1c01845260018060ff1b0316606052611dc0565b50505050600090565b9061045b6001602d60405180956c1131b430b63632b733b2911d1160991b6020830152611e49815180926020868601910161094d565b8101601160f91b838201520301601e19810185520183610426565b8051602010156110485760400190565b6040513d6000823e3d90fd5b6020929190611e9684928281519485920161094d565b019081520190565b90816020910312610234575190565b92919060009360a082019485517f7fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a81061208a5760208301917fff1a2a9176d650e4a99dedb58f1793003935130579fe17b5a3f698ac5b00e634611f1f84516060870151611f1981611066565b91612217565b602081519101200361209357611f37611f3c9161209d565b611e13565b611f5183516040860151611f19845182611082565b6020815191012090602081519101200361208a57600160f81b600160f81b611f8a611f7c8651611e64565b516001600160f81b03191690565b160361208a57611fa7602092600092505160405191828092610df5565b039060025afa156120855760206000611fdd8151611fd18551610215604051938492888401611e80565b60405191828092610df5565b039060025afa1561208557608060005191019360008086518561203085516102158a60405194859360208501978c899192608093969594919660a084019784526020840152604083015260608201520152565b51906101005afa946120406110d8565b8051968061207c575b61205c57506104ca955051905191612104565b6001966120789650810160209081019550019250611e9e915050565b1490565b50861515612049565b611e74565b94505050505090565b5094505050505090565b6040516104ca916120af606083610426565b604082527f4142434445464748494a4b4c4d4e4f505152535455565758595a61626364656660208301527f6768696a6b6c6d6e6f707172737475767778797a303132333435363738392d5f60408301526122c3565b9391909293831580156121f4575b80156121ec575b80156121d4575b6121ca5761212e838661236b565b156121ca5760405191602083526020808401526020604084015260608301527fffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254f6080830152600080516020612dd683398151915260a083015260208260c0816005600019fa1561023457600080516020612dd6833981519152946121c493866121be945181818909940991612446565b91610e67565b90081590565b5050505050600090565b50600080516020612dd6833981519152821015612120565b508115612119565b50600080516020612dd6833981519152841015612112565b816040519182372090565b805160609493929083811115612289575b81811115612281575b5082811061223e57505050565b6040519450918290039101601f8201601f19165b8181015185820152601f190190811561226b5790612252565b5050604081840160006020820152016040528252565b905038612231565b925082612228565b9061229b8261045d565b6122a86040519182610426565b82815280926122b9601f199161045d565b0190602036910137565b9081511561236157906122f06122eb6122e46122df8451611b0b565b611074565b6003900490565b612291565b91602083019082805101906020820192835194600085525b83811061231757505050505290565b600360049101916001603f845182828260121c16880101518453828282600c1c16880101518385015382828260061c16880101516002850153168501015160038201530190612308565b50506104ca6110c3565b600160601b63ffffffff60c01b0319811080159061242e575b801561241d575b61241657600160601b63ffffffff60c01b0319907f5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b908290817fffffffff00000001000000000000000000000000fffffffffffffffffffffffc820990600160601b63ffffffff60c01b0319908181800909080890600160601b63ffffffff60c01b03199080091490565b5050600090565b508015801561238b5750811561238b565b50600160601b63ffffffff60c01b0319821015612384565b9092600092908360ff81841580612a3d575b612a32576124668887612a45565b929091821580612a2a575b6129ef575b5085811c60028660fe1c16015b156129d657600186821c16600286831c60011b16016001811461298b575b6002811461297e575b600314612971575b600198600019919091019694959489949392915b88600019116125445750505050505050505060405191606083015260208252602080830152602060408301526002600160601b0363ffffffff60c01b03196080830152600163ffffffff60601b0360601b1960a083015260208260c0816005600019fa15610234579051600160601b63ffffffff60c01b0319910990565b909192939495969798600163ffffffff60601b0360601b198660020990600160601b63ffffffff60c01b0319828009600160601b63ffffffff60c01b031981830992600160601b63ffffffff60c01b03199082900991600160601b63ffffffff60c01b03199081908f8281830891600160601b63ffffffff60c01b031991820390080960030998600160601b63ffffffff60c01b03199083099c600160601b63ffffffff60c01b0319910991600160601b63ffffffff60c01b031980826002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b03198b80090898600160601b63ffffffff60c01b031991829081038b08900996600160601b63ffffffff60c01b03199088908290840908968b60028c60018d841c16921c60011b160180156129545760018114612909575b600281146128fe575b6003146128f5575b82156128e257600160601b63ffffffff60c01b031990889082908f90090890600160601b63ffffffff60c01b031990898203908290859009089781156127a8575b600160601b63ffffffff60c01b031989800998600160601b63ffffffff60c01b0319908a0992600160601b63ffffffff60c01b0319908a90099c600160601b63ffffffff60c01b03199084900998600160601b63ffffffff60c01b03199109600160601b63ffffffff60c01b031980826002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b031985810381868009080897600160601b63ffffffff60c01b03199384910991600160601b63ffffffff60c01b03199182908a82039008090894985b6000190197969594939291906124c6565b886126cb579a91975090959050600160601b63ffffffff60c01b0319816002600160601b0363ffffffff60c01b0319099a600160601b63ffffffff60c01b03198c8009600160601b63ffffffff60c01b0319818d099c600160601b63ffffffff60c01b0319908290099b600160601b63ffffffff60c01b031990818b8103820890600160601b63ffffffff60c01b0319908c900809600160601b63ffffffff60c01b03199060030991600160601b63ffffffff60c01b0319908d0998600160601b63ffffffff60c01b031991099b600160601b63ffffffff60c01b031980826002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b0319848009089b600160601b63ffffffff60c01b03199384910991600160601b63ffffffff60c01b03199182908e8203900890090894612797565b60019c50909a8c98509096509050612797565b5050838561268a565b859250849150612682565b7f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29692507f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f59150612679565b50505099959894600163ffffffff60601b0360601b190394612797565b92508096509581926124b2565b96975087968994506124aa565b7f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29698507f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f594506124a1565b60001901600186821c16600286831c60011b1601612483565b9495600080516020612dd68339815191529196820390089484861580612a22575b15612476579850505050505050505090565b506001612a10565b508315612471565b965050505050505090565b508315612458565b91907f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2967f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5918015612bf95784610b999495831480612bf0575b15612bdb5750600160601b63ffffffff60c01b0319905082600209600160601b63ffffffff60c01b031981800992600160601b63ffffffff60c01b031984840991600160601b63ffffffff60c01b03199085900992600160601b63ffffffff60c01b0319908190816001820890600160601b63ffffffff60c01b0319907fffffffff00000001000000000000000000000000fffffffffffffffffffffffe900809600309600160601b63ffffffff60c01b031980846002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b03198380090892600160601b63ffffffff60c01b03196001860995600160601b63ffffffff60c01b0319906001900994600160601b63ffffffff60c01b031993849109600160601b63ffffffff60c01b03199081039290918290868203900890090890612d1b565b909192612be793612bff565b92909190612d1b565b50818414612a9e565b50925090565b9193908015612d1257600160601b63ffffffff60c01b03199081039384908290600190090893600160601b63ffffffff60c01b031990838203908290600190090892600160601b63ffffffff60c01b031984800993600160601b63ffffffff60c01b031990850992600160601b63ffffffff60c01b03199085900994600160601b63ffffffff60c01b031980876002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b031986810381858009080895600160601b63ffffffff60c01b031992839086900991600160601b63ffffffff60c01b03199182908982039008090892600160601b63ffffffff60c01b03199060010991600160601b63ffffffff60c01b03199060010990565b50600191508190565b91909260405190602082526020808301526020604083015260608201526002600160601b0363ffffffff60c01b03196080820152600163ffffffff60601b0360601b1960a082015260208160c0816005600019fa15610234575192600160601b63ffffffff60c01b03199084900992600160601b63ffffffff60c01b03199109600160601b63ffffffff60c01b031991908290800990099156fe0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f500ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f501a2646970667358221220f6c6f795f835be206c00cf3919d49ee1b1cafd3de969039377ca4cace421a6b664736f6c634300081c003338109edc26e166b5579352ce56a50813177eb25208fd90d61f2f378386220220", - "opcodes": "PUSH1 0xA0 PUSH1 0x40 MSTORE CALLVALUE PUSH2 0x3DE JUMPI ADDRESS PUSH1 0x80 MSTORE PUSH1 0x40 DUP1 MLOAD PUSH2 0x1B DUP3 DUP3 PUSH2 0x3E3 JUMP JUMPDEST PUSH1 0x1 DUP2 MSTORE PUSH1 0x1F NOT DUP3 ADD PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH2 0x3CD JUMPI POP POP DUP2 MLOAD PUSH1 0x0 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x20 DUP2 MSTORE PUSH2 0x47 DUP4 DUP3 PUSH2 0x3E3 JUMP JUMPDEST PUSH2 0x50 DUP3 PUSH2 0x406 JUMP JUMPDEST MSTORE PUSH2 0x5A DUP2 PUSH2 0x406 JUMP JUMPDEST POP PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F500 SLOAD PUSH1 0x0 JUMPDEST DUP3 MLOAD DUP2 LT ISZERO PUSH2 0x38C JUMPI PUSH1 0x20 PUSH2 0x95 DUP3 DUP6 PUSH2 0x429 JUMP JUMPDEST MLOAD MLOAD EQ ISZERO DUP1 PUSH2 0x377 JUMPI JUMPDEST PUSH2 0x350 JUMPI PUSH1 0x20 PUSH2 0xAF DUP3 DUP6 PUSH2 0x429 JUMP JUMPDEST MLOAD MLOAD EQ DUP1 PUSH2 0x312 JUMPI JUMPDEST PUSH2 0x2EB JUMPI PUSH2 0xC6 DUP2 DUP5 PUSH2 0x429 JUMP JUMPDEST MLOAD SWAP2 DUP1 PUSH1 0x0 NOT DUP2 EQ PUSH2 0x2D5 JUMPI PUSH1 0x1 ADD SWAP3 PUSH1 0xFF PUSH2 0xE1 DUP3 PUSH2 0x48C JUMP JUMPDEST SLOAD AND PUSH2 0x2B5 JUMPI PUSH2 0xF0 DUP2 PUSH2 0x48C JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH1 0x0 DUP3 DUP2 MSTORE PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F502 PUSH1 0x20 MSTORE DUP7 SWAP1 KECCAK256 DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x29F JUMPI DUP2 SLOAD PUSH1 0x1 DUP2 DUP2 SHR SWAP2 AND DUP1 ISZERO PUSH2 0x295 JUMPI JUMPDEST PUSH1 0x20 DUP3 LT EQ PUSH2 0x27F JUMPI PUSH1 0x1F DUP2 GT PUSH2 0x237 JUMPI JUMPDEST POP PUSH1 0x20 PUSH1 0x1F DUP3 GT PUSH1 0x1 EQ PUSH2 0x1BC JUMPI SWAP3 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x333D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP3 DUP3 PUSH2 0x1A8 SWAP4 PUSH1 0x1 SWAP9 SWAP8 SWAP7 PUSH1 0x0 SWAP2 PUSH2 0x1B1 JUMPI JUMPDEST POP PUSH1 0x0 NOT PUSH1 0x3 DUP4 SWAP1 SHL SHR NOT AND SWAP1 DUP9 SHL OR SWAP1 SSTORE JUMPDEST DUP9 MLOAD SWAP2 DUP3 SWAP2 DUP3 PUSH2 0x460 JUMP JUMPDEST SUB SWAP1 LOG2 ADD PUSH2 0x80 JUMP JUMPDEST SWAP1 POP DUP4 ADD MLOAD CODESIZE PUSH2 0x18A JUMP JUMPDEST PUSH1 0x1F NOT DUP3 AND SWAP1 DUP4 PUSH1 0x0 MSTORE DUP1 PUSH1 0x0 KECCAK256 SWAP2 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH2 0x21F JUMPI POP DUP4 PUSH1 0x1 SWAP9 SWAP8 SWAP7 SWAP4 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x333D DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP7 SWAP4 PUSH2 0x1A8 SWAP7 DUP12 SWAP5 LT PUSH2 0x206 JUMPI JUMPDEST POP POP DUP2 SHL ADD SWAP1 SSTORE PUSH2 0x19D JUMP JUMPDEST DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 PUSH2 0x1FA JUMP JUMPDEST SWAP2 SWAP3 PUSH1 0x20 PUSH1 0x1 DUP2 SWAP3 DUP7 DUP11 ADD MLOAD DUP2 SSTORE ADD SWAP5 ADD SWAP3 ADD PUSH2 0x1CE JUMP JUMPDEST DUP3 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 PUSH1 0x1F DUP4 ADD PUSH1 0x5 SHR DUP2 ADD SWAP2 PUSH1 0x20 DUP5 LT PUSH2 0x275 JUMPI JUMPDEST PUSH1 0x1F ADD PUSH1 0x5 SHR ADD SWAP1 JUMPDEST DUP2 DUP2 LT PUSH2 0x269 JUMPI POP PUSH2 0x159 JUMP JUMPDEST PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x25C JUMP JUMPDEST SWAP1 SWAP2 POP DUP2 SWAP1 PUSH2 0x253 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x7F AND SWAP1 PUSH2 0x147 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP6 MLOAD PUSH4 0x468B12AD PUSH1 0xE1 SHL DUP2 MSTORE SWAP1 DUP2 SWAP1 PUSH2 0x2D1 SWAP1 PUSH1 0x4 DUP4 ADD PUSH2 0x460 JUMP JUMPDEST SUB SWAP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP4 PUSH2 0x2F9 PUSH2 0x2D1 SWAP3 DUP6 PUSH2 0x429 JUMP JUMPDEST MLOAD SWAP1 MLOAD PUSH4 0xBFF1AC65 PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 DUP3 SWAP2 PUSH1 0x4 DUP4 ADD PUSH2 0x460 JUMP JUMPDEST POP PUSH2 0x31D DUP2 DUP5 PUSH2 0x429 JUMP JUMPDEST MLOAD PUSH1 0x20 DUP2 MLOAD SWAP2 ADD MLOAD SWAP1 PUSH1 0x20 DUP2 LT PUSH2 0x33E JUMPI JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB LT PUSH2 0xB8 JUMP JUMPDEST PUSH1 0x0 NOT SWAP1 PUSH1 0x20 SUB PUSH1 0x3 SHL SHL AND CODESIZE PUSH2 0x32F JUMP JUMPDEST DUP4 PUSH2 0x35E PUSH2 0x2D1 SWAP3 DUP6 PUSH2 0x429 JUMP JUMPDEST MLOAD SWAP1 MLOAD PUSH4 0x27755B91 PUSH1 0xE1 SHL DUP2 MSTORE SWAP2 DUP3 SWAP2 PUSH1 0x4 DUP4 ADD PUSH2 0x460 JUMP JUMPDEST POP DUP4 PUSH2 0x383 DUP3 DUP6 PUSH2 0x429 JUMP JUMPDEST MLOAD MLOAD EQ ISZERO PUSH2 0x9F JUMP JUMPDEST DUP4 DUP3 PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F500 SSTORE MLOAD PUSH2 0x2E6B SWAP1 DUP2 PUSH2 0x4D2 DUP3 CODECOPY PUSH1 0x80 MLOAD DUP2 DUP2 DUP2 PUSH2 0x74B ADD MSTORE PUSH2 0x839 ADD MSTORE RETURN JUMPDEST DUP1 PUSH1 0x60 PUSH1 0x20 DUP1 SWAP4 DUP7 ADD ADD MSTORE ADD PUSH2 0x27 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1F SWAP1 SWAP2 ADD PUSH1 0x1F NOT AND DUP2 ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT SWAP1 DUP3 LT OR PUSH2 0x29F JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x413 JUMPI PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 MLOAD DUP3 LT ISZERO PUSH2 0x413 JUMPI PUSH1 0x20 SWAP2 PUSH1 0x5 SHL ADD ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0x450 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x440 JUMP JUMPDEST PUSH1 0x40 SWAP2 PUSH1 0x20 DUP3 MSTORE PUSH2 0x480 DUP2 MLOAD DUP1 SWAP3 DUP2 PUSH1 0x20 DUP7 ADD MSTORE PUSH1 0x20 DUP7 DUP7 ADD SWAP2 ADD PUSH2 0x43D JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND ADD ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 PUSH2 0x4A5 SWAP2 DUP2 PUSH1 0x40 MLOAD SWAP4 DUP3 DUP6 DUP1 SWAP5 MLOAD SWAP4 DUP5 SWAP3 ADD PUSH2 0x43D JUMP JUMPDEST DUP2 ADD PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F503 DUP2 MSTORE SUB ADD SWAP1 KECCAK256 SWAP1 JUMP INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x15 JUMPI JUMPDEST CALLDATASIZE PUSH2 0x1437 JUMPI STOP JUMPDEST PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x66A1EB7 EQ PUSH2 0x1D5 JUMPI DUP1 PUSH4 0xDB02622 EQ PUSH2 0x1D0 JUMPI DUP1 PUSH4 0xF0F3F24 EQ PUSH2 0x1CB JUMPI DUP1 PUSH4 0x1626BA7E EQ PUSH2 0x1C6 JUMPI DUP1 PUSH4 0x19822F7C EQ PUSH2 0x1C1 JUMPI DUP1 PUSH4 0x1CA5393F EQ PUSH2 0x1BC JUMPI DUP1 PUSH4 0x29565E3B EQ PUSH2 0x1B7 JUMPI DUP1 PUSH4 0x2C2ABD1E EQ PUSH2 0x1B2 JUMPI DUP1 PUSH4 0x34FCD5BE EQ PUSH2 0x1AD JUMPI DUP1 PUSH4 0x36D9CF9B EQ PUSH2 0x1A8 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x1A3 JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x19E JUMPI DUP1 PUSH4 0x5C60DA1B EQ PUSH2 0x199 JUMPI DUP1 PUSH4 0x6F2DE70E EQ PUSH2 0x194 JUMPI DUP1 PUSH4 0x737BEBDD EQ PUSH2 0x18F JUMPI DUP1 PUSH4 0x84B0196E EQ PUSH2 0x18A JUMPI DUP1 PUSH4 0x88CE4C7C EQ PUSH2 0x185 JUMPI DUP1 PUSH4 0x89625B57 EQ PUSH2 0x180 JUMPI DUP1 PUSH4 0x8EA69029 EQ PUSH2 0x17B JUMPI DUP1 PUSH4 0x9F9BCB34 EQ PUSH2 0x176 JUMPI DUP1 PUSH4 0xA05BD44E EQ PUSH2 0x171 JUMPI DUP1 PUSH4 0xA2E1A8D8 EQ PUSH2 0x16C JUMPI DUP1 PUSH4 0xB0D691FE EQ PUSH2 0x167 JUMPI DUP1 PUSH4 0xB61D27F6 EQ PUSH2 0x162 JUMPI DUP1 PUSH4 0xB8197367 EQ PUSH2 0x15D JUMPI DUP1 PUSH4 0xCE1506BE EQ PUSH2 0x158 JUMPI DUP1 PUSH4 0xD948FD2E EQ PUSH2 0x153 JUMPI PUSH4 0xF698DA25 SUB PUSH2 0xE JUMPI PUSH2 0xDDA JUMP JUMPDEST PUSH2 0xDAF JUMP JUMPDEST PUSH2 0xD91 JUMP JUMPDEST PUSH2 0xD4A JUMP JUMPDEST PUSH2 0xCDA JUMP JUMPDEST PUSH2 0xCAB JUMP JUMPDEST PUSH2 0xC84 JUMP JUMPDEST PUSH2 0xC4A JUMP JUMPDEST PUSH2 0xC10 JUMP JUMPDEST PUSH2 0xBDD JUMP JUMPDEST PUSH2 0xB9D JUMP JUMPDEST PUSH2 0xB4D JUMP JUMPDEST PUSH2 0xAAC JUMP JUMPDEST PUSH2 0x9A6 JUMP JUMPDEST PUSH2 0x8AB JUMP JUMPDEST PUSH2 0x875 JUMP JUMPDEST PUSH2 0x825 JUMP JUMPDEST PUSH2 0x710 JUMP JUMPDEST PUSH2 0x6E5 JUMP JUMPDEST PUSH2 0x64E JUMP JUMPDEST PUSH2 0x5A2 JUMP JUMPDEST PUSH2 0x504 JUMP JUMPDEST PUSH2 0x4CD JUMP JUMPDEST PUSH2 0x374 JUMP JUMPDEST PUSH2 0x313 JUMP JUMPDEST PUSH2 0x26D JUMP JUMPDEST PUSH2 0x239 JUMP JUMPDEST CALLVALUE PUSH2 0x234 JUMPI PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x234 JUMPI PUSH1 0x20 PUSH1 0xFF PUSH2 0x228 PUSH1 0x4 CALLDATALOAD PUSH2 0x223 PUSH1 0x24 CALLDATALOAD SWAP2 PUSH2 0x215 PUSH1 0x40 MLOAD SWAP4 DUP5 SWAP3 DUP9 DUP5 ADD PUSH1 0x20 SWAP1 SWAP4 SWAP3 SWAP2 SWAP4 PUSH1 0x40 DUP2 ADD SWAP5 DUP2 MSTORE ADD MSTORE JUMP JUMPDEST SUB PUSH1 0x1F NOT DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x426 JUMP JUMPDEST PUSH2 0xE0C JUMP JUMPDEST SLOAD AND PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x234 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x234 JUMPI PUSH1 0x20 PUSH2 0x254 PUSH2 0xE94 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND SUB PUSH2 0x234 JUMPI JUMP JUMPDEST CALLVALUE PUSH2 0x234 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x234 JUMPI PUSH2 0x2E4 PUSH1 0x4 CALLDATALOAD PUSH2 0x28D DUP2 PUSH2 0x25C JUMP JUMPDEST PUSH2 0x295 PUSH2 0x146F JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x20 DUP2 MSTORE PUSH2 0x2B5 PUSH1 0x40 DUP3 PUSH2 0x426 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DB6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD SWAP1 PUSH2 0x2CF DUP3 PUSH2 0xEC0 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DB6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SSTORE PUSH2 0x14F8 JUMP JUMPDEST STOP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0x234 JUMPI DUP3 CALLDATALOAD SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 GT PUSH2 0x234 JUMPI PUSH1 0x20 DUP4 DUP2 DUP7 ADD SWAP6 ADD ADD GT PUSH2 0x234 JUMPI JUMP JUMPDEST CALLVALUE PUSH2 0x234 JUMPI PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x234 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x24 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x234 JUMPI PUSH1 0x20 SWAP2 PUSH2 0x34C PUSH2 0x352 SWAP3 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x2E6 JUMP JUMPDEST SWAP2 PUSH2 0xECF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP2 AND DUP2 MSTORE RETURN JUMPDEST SWAP1 DUP2 PUSH2 0x120 SWAP2 SUB SLT PUSH2 0x234 JUMPI SWAP1 JUMP JUMPDEST CALLVALUE PUSH2 0x234 JUMPI PUSH1 0x60 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x234 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x234 JUMPI PUSH2 0x3A4 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x365 JUMP JUMPDEST PUSH1 0x44 CALLDATALOAD PUSH1 0x24 CALLDATALOAD PUSH20 0x4337084D9E255FF0702461CF8895CE9E3B5FF107 NOT CALLER ADD PUSH2 0x400 JUMPI PUSH2 0x3D4 DUP3 SWAP2 PUSH2 0x3EB SWAP5 PUSH2 0xF65 JUMP JUMPDEST SWAP2 PUSH2 0x3EF JUMPI JUMPDEST POP PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE SWAP1 DUP2 SWAP1 PUSH1 0x20 DUP3 ADD SWAP1 JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 SWAP1 DUP2 DUP1 CODESIZE SWAP3 CALLER GAS CALL POP CODESIZE PUSH2 0x3DA JUMP JUMPDEST PUSH3 0x82B429 PUSH1 0xE8 SHL PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x1F DUP1 NOT SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT OR PUSH2 0x447 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH2 0x410 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x45B PUSH1 0xC0 DUP4 PUSH2 0x426 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x447 JUMPI PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP3 SWAP2 SWAP3 PUSH2 0x484 DUP3 PUSH2 0x45D JUMP JUMPDEST SWAP2 PUSH2 0x492 PUSH1 0x40 MLOAD SWAP4 DUP5 PUSH2 0x426 JUMP JUMPDEST DUP3 SWAP5 DUP2 DUP5 MSTORE DUP2 DUP4 ADD GT PUSH2 0x234 JUMPI DUP3 DUP2 PUSH1 0x20 SWAP4 DUP5 PUSH1 0x0 SWAP7 ADD CALLDATACOPY ADD ADD MSTORE JUMP JUMPDEST SWAP1 DUP1 PUSH1 0x1F DUP4 ADD SLT ISZERO PUSH2 0x234 JUMPI DUP2 PUSH1 0x20 PUSH2 0x4CA SWAP4 CALLDATALOAD SWAP2 ADD PUSH2 0x478 JUMP JUMPDEST SWAP1 JUMP JUMPDEST CALLVALUE PUSH2 0x234 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x234 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x234 JUMPI PUSH1 0xFF PUSH2 0x228 PUSH2 0x223 PUSH1 0x20 SWAP4 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x4AF JUMP JUMPDEST CALLVALUE PUSH2 0x234 JUMPI PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x234 JUMPI PUSH2 0x2E4 PUSH1 0x24 CALLDATALOAD PUSH2 0x2B5 PUSH1 0x4 CALLDATALOAD PUSH2 0x529 PUSH2 0x146F JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE DUP2 PUSH1 0x60 DUP2 ADD PUSH2 0x215 JUMP JUMPDEST SWAP1 PUSH1 0x20 PUSH1 0x3 NOT DUP4 ADD SLT PUSH2 0x234 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x234 JUMPI PUSH1 0x4 ADD PUSH1 0x0 SWAP3 DUP1 PUSH1 0x1F DUP4 ADD SLT ISZERO PUSH2 0x59E JUMPI DUP2 CALLDATALOAD SWAP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP6 GT PUSH2 0x59B JUMPI POP PUSH1 0x20 DUP1 DUP4 ADD SWAP3 DUP6 PUSH1 0x5 SHL ADD ADD GT PUSH2 0x234 JUMPI SWAP2 SWAP1 JUMP JUMPDEST DUP1 REVERT JUMPDEST DUP4 DUP1 REVERT JUMPDEST PUSH2 0x5AB CALLDATASIZE PUSH2 0x545 JUMP JUMPDEST SWAP1 PUSH20 0x4337084D9E255FF0702461CF8895CE9E3B5FF108 CALLER SUB PUSH2 0x400 JUMPI PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x2E4 JUMPI PUSH1 0x0 PUSH2 0x5E3 DUP3 PUSH1 0x5 SHL DUP5 ADD DUP5 PUSH2 0xEFD JUMP JUMPDEST PUSH2 0x5ED DUP2 DUP4 PUSH2 0xF2F JUMP JUMPDEST PUSH2 0x5F6 DUP2 PUSH2 0x120F JUMP JUMPDEST ISZERO PUSH2 0x632 JUMPI POP DUP3 SWAP2 PUSH2 0x609 SWAP2 CALLDATASIZE SWAP2 PUSH2 0x478 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD DUP3 ADDRESS GAS CALL PUSH2 0x61B PUSH2 0x10D8 JUMP JUMPDEST SWAP1 ISZERO PUSH2 0x62A JUMPI POP PUSH1 0x1 ADD PUSH2 0x5CA JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD REVERT JUMPDEST PUSH4 0x1D8370A3 PUSH1 0xE1 SHL DUP5 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH1 0x4 MSTORE PUSH1 0x24 DUP4 REVERT JUMPDEST PUSH2 0x657 CALLDATASIZE PUSH2 0x545 JUMP JUMPDEST SWAP1 PUSH20 0x4337084D9E255FF0702461CF8895CE9E3B5FF108 CALLER SUB PUSH2 0x6D8 JUMPI JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT PUSH2 0x680 JUMPI STOP JUMPDEST DUP1 PUSH2 0x6D2 PUSH2 0x691 PUSH1 0x1 SWAP4 DUP7 DUP7 PUSH2 0x1026 JUMP JUMPDEST CALLDATALOAD PUSH2 0x69B DUP2 PUSH2 0x25C JUMP JUMPDEST PUSH1 0x20 PUSH2 0x6A8 DUP5 DUP9 DUP9 PUSH2 0x1026 JUMP JUMPDEST ADD CALLDATALOAD PUSH2 0x6CC PUSH2 0x6C5 PUSH2 0x6BB DUP7 DUP11 DUP11 PUSH2 0x1026 JUMP JUMPDEST PUSH1 0x40 DUP2 ADD SWAP1 PUSH2 0xEFD JUMP JUMPDEST CALLDATASIZE SWAP2 PUSH2 0x478 JUMP JUMPDEST SWAP2 PUSH2 0x18F4 JUMP JUMPDEST ADD PUSH2 0x677 JUMP JUMPDEST PUSH2 0x6E0 PUSH2 0x146F JUMP JUMPDEST PUSH2 0x674 JUMP JUMPDEST CALLVALUE PUSH2 0x234 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x234 JUMPI PUSH1 0x20 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E16 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x234 JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0x728 DUP2 PUSH2 0x25C JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x234 JUMPI PUSH2 0x747 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x2E6 JUMP JUMPDEST SWAP1 SWAP2 PUSH32 0x0 ADDRESS EQ PUSH2 0x817 JUMPI PUSH2 0x778 PUSH2 0x146F JUMP JUMPDEST PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB AND RETURNDATASIZE PUSH1 0x0 MSTORE PUSH4 0x52D1902D PUSH1 0x1 MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DF6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x20 PUSH1 0x1 PUSH1 0x4 PUSH1 0x1D DUP6 GAS STATICCALL MLOAD SUB PUSH2 0x809 JUMPI DUP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B PUSH1 0x0 DUP1 LOG2 DUP2 DUP2 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DF6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SSTORE PUSH2 0x7EA JUMPI STOP JUMPDEST DUP2 PUSH1 0x0 SWAP3 PUSH1 0x40 MLOAD SWAP5 DUP6 CALLDATACOPY DUP4 CODESIZE SWAP3 GAS DELEGATECALL ISZERO PUSH2 0x800 JUMPI STOP JUMPDEST RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH4 0x55299B49 PUSH1 0x1 MSTORE PUSH1 0x4 PUSH1 0x1D REVERT JUMPDEST PUSH4 0x9F03A026 PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x1C REVERT JUMPDEST CALLVALUE PUSH2 0x234 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x234 JUMPI ADDRESS PUSH32 0x0 SUB PUSH2 0x817 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DF6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x234 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x234 JUMPI PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DF6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 SWAP1 RETURN JUMPDEST PUSH2 0x8B4 CALLDATASIZE PUSH2 0x545 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DB6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH2 0x93C JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x447 JUMPI DUP1 PUSH1 0x5 SHL SWAP2 PUSH1 0x40 MLOAD SWAP2 PUSH2 0x8EC PUSH1 0x20 DUP6 ADD DUP5 PUSH2 0x426 JUMP JUMPDEST DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP3 DUP2 ADD SWAP1 CALLDATASIZE DUP3 GT PUSH2 0x234 JUMPI DUP1 SWAP4 JUMPDEST DUP3 DUP6 LT PUSH2 0x910 JUMPI PUSH2 0x2E4 DUP5 PUSH2 0x1928 JUMP JUMPDEST DUP5 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x234 JUMPI PUSH1 0x20 SWAP2 PUSH2 0x931 DUP4 SWAP3 CALLDATASIZE SWAP1 DUP7 ADD PUSH2 0x4AF JUMP JUMPDEST DUP2 MSTORE ADD SWAP5 ADD SWAP4 PUSH2 0x900 JUMP JUMPDEST PUSH4 0x2ED543D PUSH1 0xE5 SHL PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0x960 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x950 JUMP JUMPDEST SWAP1 PUSH1 0x20 SWAP2 PUSH2 0x989 DUP2 MLOAD DUP1 SWAP3 DUP2 DUP6 MSTORE DUP6 DUP1 DUP7 ADD SWAP2 ADD PUSH2 0x94D JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND ADD ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x20 PUSH2 0x4CA SWAP3 DUP2 DUP2 MSTORE ADD SWAP1 PUSH2 0x970 JUMP JUMPDEST CALLVALUE PUSH2 0x234 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x234 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x234 JUMPI DUP1 PUSH1 0x4 ADD PUSH1 0x80 PUSH1 0x3 NOT DUP4 CALLDATASIZE SUB ADD SLT PUSH2 0x234 JUMPI PUSH1 0x44 DUP3 ADD CALLDATALOAD PUSH2 0x9E8 DUP2 PUSH2 0x1057 JUMP JUMPDEST TIMESTAMP GT PUSH2 0xA85 JUMPI PUSH2 0xA1F PUSH2 0xA0C PUSH2 0xA00 PUSH2 0xA23 SWAP4 PUSH2 0x108F JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 PUSH2 0x1CAB JUMP JUMPDEST PUSH2 0xA19 PUSH1 0x64 DUP7 ADD DUP6 PUSH2 0xEFD JUMP JUMPDEST SWAP2 PUSH2 0x1813 JUMP JUMPDEST ISZERO SWAP1 JUMP JUMPDEST PUSH2 0xA74 JUMPI PUSH1 0x0 SWAP2 PUSH2 0xA42 DUP3 PUSH1 0x24 PUSH2 0xA3A DUP7 SWAP6 PUSH2 0x104D JUMP JUMPDEST SWAP4 ADD SWAP1 PUSH2 0xEFD JUMP JUMPDEST SWAP1 PUSH2 0xA52 PUSH1 0x40 MLOAD DUP1 SWAP4 DUP2 SWAP4 PUSH2 0x10B5 JUMP JUMPDEST SUB SWAP2 GAS STATICCALL PUSH2 0xA5E PUSH2 0x10D8 JUMP JUMPDEST SWAP1 ISZERO PUSH2 0x62A JUMPI PUSH2 0x3EB SWAP1 PUSH1 0x40 MLOAD SWAP2 DUP3 SWAP2 DUP3 PUSH2 0x995 JUMP JUMPDEST PUSH4 0x8BAA579F PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x0 REVERT JUMPDEST PUSH2 0xA91 PUSH2 0xAA8 SWAP2 PUSH2 0x1057 JUMP JUMPDEST PUSH4 0xF88F049 PUSH1 0xE4 SHL PUSH1 0x0 MSTORE PUSH1 0x4 MSTORE TIMESTAMP PUSH1 0x24 MSTORE PUSH1 0x44 SWAP1 JUMP JUMPDEST PUSH1 0x0 REVERT JUMPDEST CALLVALUE PUSH2 0x234 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x234 JUMPI PUSH2 0xAEC PUSH2 0xAFA PUSH2 0xACB PUSH2 0x1A3A JUMP JUMPDEST PUSH1 0x40 SWAP3 SWAP2 SWAP3 MLOAD SWAP4 DUP5 SWAP4 PUSH1 0xF PUSH1 0xF8 SHL DUP6 MSTORE PUSH1 0xE0 PUSH1 0x20 DUP7 ADD MSTORE PUSH1 0xE0 DUP6 ADD SWAP1 PUSH2 0x970 JUMP JUMPDEST SWAP1 DUP4 DUP3 SUB PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0x970 JUMP JUMPDEST CHAINID PUSH1 0x60 DUP4 ADD MSTORE ADDRESS PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0x0 PUSH1 0xA0 DUP4 ADD MSTORE DUP2 DUP2 SUB PUSH1 0xC0 DUP4 ADD MSTORE PUSH1 0x20 PUSH1 0x60 MLOAD SWAP2 DUP3 DUP2 MSTORE ADD SWAP1 PUSH1 0x80 SWAP1 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH2 0xB34 JUMPI POP POP POP SUB SWAP1 RETURN JUMPDEST DUP3 MLOAD DUP5 MSTORE DUP6 SWAP5 POP PUSH1 0x20 SWAP4 DUP5 ADD SWAP4 SWAP1 SWAP3 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0xB26 JUMP JUMPDEST CALLVALUE PUSH2 0x234 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x234 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH2 0x2105 DUP2 MSTORE RETURN JUMPDEST SWAP1 PUSH1 0x40 PUSH1 0x3 NOT DUP4 ADD SLT PUSH2 0x234 JUMPI PUSH1 0x4 CALLDATALOAD SWAP2 PUSH1 0x24 CALLDATALOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH2 0x234 JUMPI PUSH2 0xB99 SWAP2 PUSH1 0x4 ADD PUSH2 0x2E6 JUMP JUMPDEST SWAP1 SWAP2 JUMP JUMPDEST CALLVALUE PUSH2 0x234 JUMPI PUSH2 0xBAB CALLDATASIZE PUSH2 0xB6A JUMP JUMPDEST SWAP1 PUSH2 0xBB4 PUSH2 0x146F JUMP JUMPDEST PUSH1 0x1 PUSH2 0xBBE PUSH2 0xE94 JUMP JUMPDEST EQ PUSH2 0xBCC JUMPI PUSH2 0x2E4 SWAP3 PUSH2 0x1B94 JUMP JUMPDEST PUSH4 0x948BF897 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x0 REVERT JUMPDEST CALLVALUE PUSH2 0x234 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x234 JUMPI PUSH2 0x3EB PUSH2 0xBFC PUSH1 0x4 CALLDATALOAD PUSH2 0x1142 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 SWAP2 PUSH1 0x20 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP1 PUSH2 0x970 JUMP JUMPDEST CALLVALUE PUSH2 0x234 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x234 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 SUB PUSH2 0x234 JUMPI PUSH2 0xC40 PUSH1 0x20 SWAP2 PUSH2 0x120F JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x234 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x234 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x234 JUMPI PUSH2 0x254 PUSH2 0xC7F PUSH1 0x20 SWAP3 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x365 JUMP JUMPDEST PUSH2 0x1292 JUMP JUMPDEST CALLVALUE PUSH2 0x234 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x234 JUMPI PUSH1 0x20 PUSH2 0xC40 PUSH1 0x4 CALLDATALOAD PUSH2 0xCA6 DUP2 PUSH2 0x25C JUMP JUMPDEST PUSH2 0x13A8 JUMP JUMPDEST CALLVALUE PUSH2 0x234 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x234 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH20 0x4337084D9E255FF0702461CF8895CE9E3B5FF108 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x60 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x234 JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0xCF2 DUP2 PUSH2 0x25C JUMP JUMPDEST PUSH1 0x44 CALLDATALOAD SWAP1 PUSH1 0x24 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 GT PUSH2 0x234 JUMPI PUSH2 0x6CC PUSH2 0xD1B PUSH2 0x2E4 SWAP5 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x2E6 JUMP JUMPDEST PUSH20 0x4337084D9E255FF0702461CF8895CE9E3B5FF108 CALLER SUB PUSH2 0xD3D JUMPI CALLDATASIZE SWAP2 PUSH2 0x478 JUMP JUMPDEST PUSH2 0xD45 PUSH2 0x146F JUMP JUMPDEST PUSH2 0x6C5 JUMP JUMPDEST CALLVALUE PUSH2 0x234 JUMPI PUSH2 0xD58 CALLDATASIZE PUSH2 0xB6A JUMP JUMPDEST SWAP1 PUSH2 0xD61 PUSH2 0x146F JUMP JUMPDEST PUSH2 0xD69 PUSH2 0xE94 JUMP JUMPDEST SWAP3 PUSH1 0x1 DUP5 GT PUSH2 0xD7C JUMPI PUSH2 0x2E4 SWAP4 POP PUSH2 0x1B94 JUMP JUMPDEST DUP4 PUSH4 0x1047E355 PUSH1 0xE3 SHL PUSH1 0x0 MSTORE PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST CALLVALUE PUSH2 0x234 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x234 JUMPI PUSH1 0x20 PUSH2 0x254 PUSH1 0x4 CALLDATALOAD PUSH2 0x1CAB JUMP JUMPDEST CALLVALUE PUSH2 0x234 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x234 JUMPI PUSH1 0x20 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DB6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x234 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x234 JUMPI PUSH1 0x20 PUSH2 0x254 PUSH2 0x13CE JUMP JUMPDEST SWAP1 PUSH2 0xE08 PUSH1 0x20 SWAP3 DUP3 DUP2 MLOAD SWAP5 DUP6 SWAP3 ADD PUSH2 0x94D JUMP JUMPDEST ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 PUSH2 0xE25 SWAP2 DUP2 PUSH1 0x40 MLOAD SWAP4 DUP3 DUP6 DUP1 SWAP5 MLOAD SWAP4 DUP5 SWAP3 ADD PUSH2 0x94D JUMP JUMPDEST DUP2 ADD PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F503 DUP2 MSTORE SUB ADD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DD6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SUB SWAP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DD6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP3 GT PUSH2 0xE8F JUMPI JUMP JUMPDEST PUSH2 0xE51 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DB6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E16 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD DUP2 SUB SWAP1 DUP2 GT PUSH2 0xE8F JUMPI SWAP1 JUMP JUMPDEST PUSH1 0x0 NOT DUP2 EQ PUSH2 0xE8F JUMPI PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH2 0xEDD PUSH2 0xEE2 SWAP4 SWAP3 PUSH2 0x1CAB JUMP JUMPDEST PUSH2 0x1813 JUMP JUMPDEST PUSH2 0xEF2 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 JUMP JUMPDEST PUSH4 0xB135D3F PUSH1 0xE1 SHL SWAP1 JUMP JUMPDEST SWAP1 CALLDATALOAD SWAP1 PUSH1 0x1E NOT DUP2 CALLDATASIZE SUB ADD DUP3 SLT ISZERO PUSH2 0x234 JUMPI ADD DUP1 CALLDATALOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH2 0x234 JUMPI PUSH1 0x20 ADD SWAP2 DUP2 CALLDATASIZE SUB DUP4 SGT PUSH2 0x234 JUMPI JUMP JUMPDEST CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND SWAP3 SWAP2 SWAP1 PUSH1 0x4 DUP3 LT PUSH2 0xF4A JUMPI POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0x4 SWAP3 SWAP1 SWAP3 SUB PUSH1 0x3 SHL DUP3 SWAP1 SHL AND AND SWAP2 POP JUMP JUMPDEST PUSH1 0x20 DUP2 ADD CALLDATALOAD PUSH1 0x40 SHR SWAP2 PUSH2 0xF7B PUSH1 0x60 DUP4 ADD DUP4 PUSH2 0xEFD JUMP JUMPDEST PUSH4 0x16155E8F PUSH1 0xE1 SHL SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP2 PUSH2 0xF97 SWAP2 PUSH2 0xF2F JUMP JUMPDEST AND SUB PUSH2 0xFE8 JUMPI POP PUSH2 0xFA7 DUP2 PUSH2 0x1292 JUMP JUMPDEST SWAP2 PUSH2 0x2105 DUP2 SUB PUSH2 0xFD4 JUMPI POP SWAP1 PUSH2 0xA19 PUSH2 0xFC6 SWAP3 JUMPDEST PUSH2 0x100 DUP2 ADD SWAP1 PUSH2 0xEFD JUMP JUMPDEST PUSH2 0xFCF JUMPI PUSH1 0x1 SWAP1 JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH4 0x2EF37813 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH2 0x2105 DUP2 EQ PUSH2 0xFD4 JUMPI POP SWAP1 PUSH2 0xA19 PUSH2 0xFC6 SWAP3 PUSH2 0xFBB JUMP JUMPDEST PUSH2 0x100B PUSH1 0xFF SWAP2 PUSH2 0xE0C JUMP JUMPDEST SLOAD AND SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 SWAP1 DUP2 LT ISZERO PUSH2 0x1048 JUMPI PUSH1 0x5 SHL DUP2 ADD CALLDATALOAD SWAP1 PUSH1 0x5E NOT DUP2 CALLDATASIZE SUB ADD DUP3 SLT ISZERO PUSH2 0x234 JUMPI ADD SWAP1 JUMP JUMPDEST PUSH2 0x1010 JUMP JUMPDEST CALLDATALOAD PUSH2 0x4CA DUP2 PUSH2 0x25C JUMP JUMPDEST SWAP1 PUSH2 0x708 DUP3 ADD DUP1 SWAP3 GT PUSH2 0xE8F JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x15 DUP3 ADD DUP1 SWAP3 GT PUSH2 0xE8F JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x2 DUP3 ADD DUP1 SWAP3 GT PUSH2 0xE8F JUMPI JUMP JUMPDEST SWAP2 SWAP1 DUP3 ADD DUP1 SWAP3 GT PUSH2 0xE8F JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x40 MLOAD SWAP2 PUSH4 0x737BEBDD PUSH1 0xE0 SHL PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x24 DUP3 MSTORE PUSH2 0x45B PUSH1 0x44 DUP4 PUSH2 0x426 JUMP JUMPDEST SWAP1 DUP1 SWAP3 SWAP2 DUP3 CALLDATACOPY ADD PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x10D2 PUSH1 0x20 DUP4 PUSH2 0x426 JUMP JUMPDEST PUSH1 0x0 DUP3 MSTORE JUMP JUMPDEST RETURNDATASIZE ISZERO PUSH2 0x1103 JUMPI RETURNDATASIZE SWAP1 PUSH2 0x10E9 DUP3 PUSH2 0x45D JUMP JUMPDEST SWAP2 PUSH2 0x10F7 PUSH1 0x40 MLOAD SWAP4 DUP5 PUSH2 0x426 JUMP JUMPDEST DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY JUMP JUMPDEST PUSH1 0x60 SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH2 0x1138 JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH2 0x1122 JUMPI JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH2 0x1117 JUMP JUMPDEST PUSH1 0x0 MSTORE PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F502 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD SWAP1 DUP2 PUSH1 0x0 DUP3 SLOAD SWAP3 PUSH2 0x1181 DUP5 PUSH2 0x1108 JUMP JUMPDEST DUP1 DUP5 MSTORE SWAP4 PUSH1 0x1 DUP2 AND SWAP1 DUP2 ISZERO PUSH2 0x11ED JUMPI POP PUSH1 0x1 EQ PUSH2 0x11A6 JUMPI JUMPDEST POP PUSH2 0x4CA SWAP3 POP SUB DUP3 PUSH2 0x426 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 SWAP3 SWAP2 SWAP3 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x0 SWAP2 JUMPDEST DUP2 DUP4 LT PUSH2 0x11D1 JUMPI POP POP SWAP1 PUSH1 0x20 PUSH2 0x4CA SWAP3 DUP3 ADD ADD CODESIZE PUSH2 0x1199 JUMP JUMPDEST PUSH1 0x20 SWAP2 SWAP4 POP DUP1 PUSH1 0x1 SWAP2 SLOAD DUP4 DUP6 DUP9 ADD ADD MSTORE ADD SWAP2 ADD SWAP1 SWAP2 DUP4 SWAP3 PUSH2 0x11B8 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 SWAP3 POP PUSH2 0x4CA SWAP5 SWAP2 POP PUSH1 0xFF NOT AND DUP3 DUP5 ADD MSTORE ISZERO ISZERO PUSH1 0x5 SHL DUP3 ADD ADD CODESIZE PUSH2 0x1199 JUMP JUMPDEST PUSH4 0xFFFFFFFF PUSH1 0xE0 SHL AND PUSH4 0x29565E3B PUSH1 0xE0 SHL DUP2 EQ SWAP1 DUP2 ISZERO PUSH2 0x1281 JUMPI JUMPDEST DUP2 ISZERO PUSH2 0x1270 JUMPI JUMPDEST DUP2 ISZERO PUSH2 0x125F JUMPI JUMPDEST DUP2 ISZERO PUSH2 0x124E JUMPI JUMPDEST POP PUSH2 0x1249 JUMPI PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH1 0x1 SWAP1 JUMP JUMPDEST PUSH4 0x278F7943 PUSH1 0xE1 SHL EQ SWAP1 POP CODESIZE PUSH2 0x123F JUMP JUMPDEST PUSH4 0xB8197367 PUSH1 0xE0 SHL DUP2 EQ SWAP2 POP PUSH2 0x1238 JUMP JUMPDEST PUSH4 0x89625B57 PUSH1 0xE0 SHL DUP2 EQ SWAP2 POP PUSH2 0x1231 JUMP JUMPDEST PUSH4 0x3C3CFC9 PUSH1 0xE2 SHL DUP2 EQ SWAP2 POP PUSH2 0x122A JUMP JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH2 0x129E DUP3 PUSH2 0x25C JUMP JUMPDEST PUSH2 0x136B PUSH1 0x20 DUP3 ADD CALLDATALOAD PUSH2 0x215 PUSH2 0x12B6 PUSH1 0x40 DUP6 ADD DUP6 PUSH2 0xEFD JUMP JUMPDEST SWAP1 DUP2 PUSH1 0x40 MLOAD SWAP2 DUP3 CALLDATACOPY KECCAK256 SWAP4 PUSH2 0x12D6 PUSH2 0x12D0 PUSH1 0x60 DUP4 ADD DUP4 PUSH2 0xEFD JUMP JUMPDEST SWAP1 PUSH2 0x220C JUMP JUMPDEST SWAP1 PUSH1 0x80 DUP2 ADD CALLDATALOAD PUSH1 0xA0 DUP3 ADD CALLDATALOAD SWAP1 PUSH2 0x12F8 PUSH2 0x12D0 PUSH1 0xC0 DUP6 ADD CALLDATALOAD SWAP5 PUSH1 0xE0 DUP2 ADD SWAP1 PUSH2 0xEFD JUMP JUMPDEST SWAP4 PUSH1 0x40 MLOAD SWAP9 DUP10 SWAP8 PUSH1 0x20 DUP10 ADD SWAP12 DUP13 SWAP5 SWAP2 SWAP3 PUSH2 0x100 SWAP7 SWAP4 SWAP10 SWAP9 SWAP8 SWAP5 SWAP2 SWAP10 PUSH2 0x120 DUP8 ADD SWAP11 PUSH32 0x29A0BCA4AF4BE3421398DA00295E58E6D7DE38CB492214754CB6A47507DD6F8E DUP9 MSTORE PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP9 ADD MSTORE PUSH1 0x40 DUP8 ADD MSTORE PUSH1 0x60 DUP7 ADD MSTORE PUSH1 0x80 DUP6 ADD MSTORE PUSH1 0xA0 DUP5 ADD MSTORE PUSH1 0xC0 DUP4 ADD MSTORE PUSH1 0xE0 DUP3 ADD MSTORE ADD MSTORE JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP3 DUP4 MSTORE PUSH20 0x4337084D9E255FF0702461CF8895CE9E3B5FF108 SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH2 0x13A2 DUP2 PUSH1 0x60 DUP2 ADD PUSH2 0x215 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x100B PUSH1 0xFF SWAP2 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x20 DUP2 MSTORE PUSH2 0x223 PUSH1 0x40 DUP3 PUSH2 0x426 JUMP JUMPDEST PUSH2 0x13D6 PUSH2 0x1A3A JUMP JUMPDEST SWAP1 PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SWAP1 PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 ADD SWAP3 PUSH32 0x8B73C3C69BB8FE3D512ECC4CF759CC79239F7B179B0FFACAA9A75D522B39400F DUP5 MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE CHAINID PUSH1 0x80 DUP3 ADD MSTORE ADDRESS PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xA0 DUP2 MSTORE PUSH2 0x13A2 PUSH1 0xC0 DUP3 PUSH2 0x426 JUMP JUMPDEST PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR PUSH4 0xBC197C81 DUP2 EQ PUSH4 0xF23A6E61 DUP3 EQ OR PUSH4 0x150B7A02 DUP3 EQ OR PUSH2 0x1466 JUMPI PUSH4 0x3C10B94E PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x1C REVERT JUMPDEST PUSH1 0x20 MSTORE PUSH1 0x20 PUSH1 0x3C RETURN JUMPDEST PUSH2 0x1478 CALLER PUSH2 0x13A8 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1493 JUMPI JUMPDEST PUSH2 0x45B JUMPI PUSH3 0x82B429 PUSH1 0xE8 SHL PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x0 REVERT JUMPDEST POP ADDRESS CALLER EQ PUSH2 0x147F JUMP JUMPDEST DUP2 DUP2 LT PUSH2 0x14A7 JUMPI POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x149C JUMP JUMPDEST SWAP2 SWAP1 PUSH1 0x1F DUP2 GT PUSH2 0x14C2 JUMPI POP POP POP JUMP JUMPDEST PUSH2 0x45B SWAP3 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x20 PUSH1 0x1F DUP5 ADD PUSH1 0x5 SHR DUP4 ADD SWAP4 LT PUSH2 0x14EE JUMPI JUMPDEST PUSH1 0x1F ADD PUSH1 0x5 SHR ADD SWAP1 PUSH2 0x149C JUMP JUMPDEST SWAP1 SWAP2 POP DUP2 SWAP1 PUSH2 0x14E1 JUMP JUMPDEST PUSH2 0x1501 DUP2 PUSH2 0x1000 JUMP JUMPDEST PUSH2 0x166F JUMPI PUSH2 0x150E DUP2 PUSH2 0xE0C JUMP JUMPDEST PUSH1 0x1 PUSH1 0xFF NOT DUP3 SLOAD AND OR SWAP1 SSTORE DUP2 PUSH1 0x0 MSTORE PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F502 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x447 JUMPI PUSH2 0x156A DUP2 PUSH2 0x1564 DUP5 SLOAD PUSH2 0x1108 JUMP JUMPDEST DUP5 PUSH2 0x14B3 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x1F DUP3 GT PUSH1 0x1 EQ PUSH2 0x15DE JUMPI SWAP2 PUSH2 0x15BF DUP3 PUSH32 0x38109EDC26E166B5579352CE56A50813177EB25208FD90D61F2F378386220220 SWAP6 SWAP4 PUSH2 0x15CE SWAP6 PUSH1 0x0 SWAP2 PUSH2 0x15D3 JUMPI JUMPDEST POP DUP2 PUSH1 0x1 SHL SWAP2 PUSH1 0x0 NOT SWAP1 PUSH1 0x3 SHL SHR NOT AND OR SWAP1 JUMP JUMPDEST SWAP1 SSTORE JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 SWAP2 DUP3 PUSH2 0x995 JUMP JUMPDEST SUB SWAP1 LOG2 JUMP JUMPDEST SWAP1 POP DUP5 ADD MLOAD CODESIZE PUSH2 0x15AB JUMP JUMPDEST PUSH1 0x1F NOT DUP3 AND SWAP1 PUSH2 0x15F3 DUP5 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP2 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH2 0x1657 JUMPI POP SWAP3 PUSH2 0x15CE SWAP5 SWAP3 PUSH1 0x1 SWAP3 DUP3 PUSH32 0x38109EDC26E166B5579352CE56A50813177EB25208FD90D61F2F378386220220 SWAP9 SWAP7 LT PUSH2 0x163E JUMPI JUMPDEST POP POP DUP2 SHL ADD SWAP1 SSTORE PUSH2 0x15C2 JUMP JUMPDEST DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 PUSH2 0x1632 JUMP JUMPDEST SWAP2 SWAP3 PUSH1 0x20 PUSH1 0x1 DUP2 SWAP3 DUP7 DUP11 ADD MLOAD DUP2 SSTORE ADD SWAP5 ADD SWAP3 ADD PUSH2 0x15F7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x468B12AD PUSH1 0xE1 SHL DUP2 MSTORE SWAP1 DUP2 SWAP1 PUSH2 0x168C SWAP1 PUSH1 0x4 DUP4 ADD PUSH2 0x995 JUMP JUMPDEST SUB SWAP1 REVERT JUMPDEST PUSH1 0x20 DUP2 DUP4 SUB SLT PUSH2 0x234 JUMPI DUP1 CALLDATALOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH2 0x234 JUMPI ADD PUSH1 0x40 DUP2 DUP4 SUB SLT PUSH2 0x234 JUMPI PUSH1 0x40 MLOAD SWAP2 PUSH1 0x40 DUP4 ADD DUP4 DUP2 LT PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT OR PUSH2 0x447 JUMPI PUSH1 0x40 MSTORE DUP2 CALLDATALOAD DUP4 MSTORE PUSH1 0x20 DUP3 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x234 JUMPI PUSH2 0x16F4 SWAP3 ADD PUSH2 0x4AF JUMP JUMPDEST PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD MLOAD SWAP1 PUSH1 0x20 DUP2 LT PUSH2 0x1710 JUMPI POP SWAP1 JUMP JUMPDEST PUSH1 0x0 NOT SWAP1 PUSH1 0x20 SUB PUSH1 0x3 SHL SHL AND SWAP1 JUMP JUMPDEST SWAP2 SWAP1 DUP3 PUSH1 0x40 SWAP2 SUB SLT PUSH2 0x234 JUMPI PUSH1 0x20 DUP3 MLOAD SWAP3 ADD MLOAD SWAP1 JUMP JUMPDEST DUP2 PUSH1 0x1F DUP3 ADD SLT ISZERO PUSH2 0x234 JUMPI PUSH1 0x20 DUP2 MLOAD SWAP2 ADD SWAP1 PUSH2 0x1750 DUP2 PUSH2 0x45D JUMP JUMPDEST SWAP3 PUSH2 0x175E PUSH1 0x40 MLOAD SWAP5 DUP6 PUSH2 0x426 JUMP JUMPDEST DUP2 DUP5 MSTORE DUP2 DUP4 ADD GT PUSH2 0x234 JUMPI PUSH2 0x4CA SWAP2 PUSH1 0x20 DUP5 ADD SWAP1 PUSH2 0x94D JUMP JUMPDEST PUSH1 0x20 DUP2 DUP4 SUB SLT PUSH2 0x234 JUMPI DUP1 MLOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH2 0x234 JUMPI ADD SWAP1 PUSH1 0xC0 DUP3 DUP3 SUB SLT PUSH2 0x234 JUMPI PUSH2 0x17A6 PUSH2 0x44C JUMP JUMPDEST SWAP2 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x234 JUMPI DUP3 PUSH2 0x17C3 SWAP2 DUP4 ADD PUSH2 0x1735 JUMP JUMPDEST DUP4 MSTORE PUSH1 0x20 DUP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x234 JUMPI PUSH1 0xA0 SWAP3 PUSH2 0x17E6 SWAP2 DUP4 ADD PUSH2 0x1735 JUMP JUMPDEST PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x40 DUP2 ADD MLOAD PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x60 DUP2 ADD MLOAD PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP2 ADD MLOAD PUSH1 0x80 DUP5 ADD MSTORE ADD MLOAD PUSH1 0xA0 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST SWAP3 SWAP2 SWAP1 PUSH2 0x1822 SWAP2 DUP2 ADD SWAP1 PUSH2 0x1690 JUMP JUMPDEST SWAP1 PUSH2 0x182D DUP3 MLOAD PUSH2 0x1142 JUMP JUMPDEST SWAP2 PUSH1 0x20 DUP4 MLOAD EQ PUSH2 0x18AB JUMPI DUP3 MLOAD SWAP4 PUSH1 0x40 DUP6 EQ PUSH2 0x185D JUMPI PUSH1 0x40 MLOAD PUSH4 0x27755B91 PUSH1 0xE1 SHL DUP2 MSTORE DUP1 PUSH2 0x168C DUP7 PUSH1 0x4 DUP4 ADD PUSH2 0x995 JUMP JUMPDEST PUSH2 0x215 PUSH2 0x18A6 PUSH2 0x1891 PUSH2 0x187D DUP8 PUSH1 0x20 DUP1 DUP1 SWAP10 SWAP12 PUSH2 0x4CA SWAP12 ADD ADD SWAP2 ADD PUSH2 0x171F JUMP JUMPDEST SWAP7 SWAP1 SWAP6 ADD MLOAD PUSH1 0x20 DUP1 DUP3 MLOAD DUP4 ADD ADD SWAP2 ADD PUSH2 0x1777 JUMP JUMPDEST SWAP3 PUSH1 0x40 MLOAD SWAP3 DUP4 SWAP2 PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 PUSH1 0x20 DUP4 ADD SWAP3 MSTORE JUMP JUMPDEST PUSH2 0x1EAD JUMP JUMPDEST SWAP2 SWAP3 SWAP1 SWAP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH2 0x18C1 DUP6 PUSH2 0x16FC JUMP JUMPDEST GT PUSH2 0x18D9 JUMPI PUSH1 0x20 DUP1 PUSH2 0x4CA SWAP5 SWAP6 ADD MLOAD SWAP3 ADD MLOAD SWAP2 PUSH2 0x1D20 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xBFF1AC65 PUSH1 0xE0 SHL DUP2 MSTORE DUP1 PUSH2 0x168C DUP7 PUSH1 0x4 DUP4 ADD PUSH2 0x995 JUMP JUMPDEST SWAP2 PUSH1 0x0 SWAP3 DUP4 SWAP3 PUSH1 0x20 DUP4 MLOAD SWAP4 ADD SWAP2 GAS CALL PUSH2 0x190B PUSH2 0x10D8 JUMP JUMPDEST SWAP1 ISZERO PUSH2 0x62A JUMPI POP JUMP JUMPDEST DUP1 MLOAD DUP3 LT ISZERO PUSH2 0x1048 JUMPI PUSH1 0x20 SWAP2 PUSH1 0x5 SHL ADD ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DB6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x0 JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH2 0x1A25 JUMPI PUSH1 0x20 PUSH2 0x1951 DUP3 DUP7 PUSH2 0x1914 JUMP JUMPDEST MLOAD MLOAD EQ ISZERO DUP1 PUSH2 0x1A0F JUMPI JUMPDEST PUSH2 0x19E8 JUMPI PUSH1 0x20 PUSH2 0x196B DUP3 DUP7 PUSH2 0x1914 JUMP JUMPDEST MLOAD MLOAD EQ DUP1 PUSH2 0x19C6 JUMPI JUMPDEST PUSH2 0x199F JUMPI DUP1 PUSH2 0x1999 PUSH2 0x1988 PUSH1 0x1 SWAP4 DUP8 PUSH2 0x1914 JUMP JUMPDEST MLOAD SWAP4 PUSH2 0x1993 DUP2 PUSH2 0xEC0 JUMP JUMPDEST SWAP5 PUSH2 0x14F8 JUMP JUMPDEST ADD PUSH2 0x193C JUMP JUMPDEST PUSH2 0x19AC PUSH2 0x168C SWAP2 DUP6 PUSH2 0x1914 JUMP JUMPDEST MLOAD PUSH1 0x40 MLOAD PUSH4 0xBFF1AC65 PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 DUP3 SWAP2 PUSH1 0x4 DUP4 ADD PUSH2 0x995 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH2 0x19E2 PUSH2 0x19DC DUP4 DUP8 PUSH2 0x1914 JUMP JUMPDEST MLOAD PUSH2 0x16FC JUMP JUMPDEST GT PUSH2 0x1974 JUMP JUMPDEST PUSH2 0x19F5 PUSH2 0x168C SWAP2 DUP6 PUSH2 0x1914 JUMP JUMPDEST MLOAD PUSH1 0x40 MLOAD PUSH4 0x27755B91 PUSH1 0xE1 SHL DUP2 MSTORE SWAP2 DUP3 SWAP2 PUSH1 0x4 DUP4 ADD PUSH2 0x995 JUMP JUMPDEST POP PUSH1 0x40 PUSH2 0x1A1C DUP3 DUP7 PUSH2 0x1914 JUMP JUMPDEST MLOAD MLOAD EQ ISZERO PUSH2 0x195B JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DB6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SSTORE SWAP1 POP JUMP JUMPDEST PUSH1 0x40 SWAP1 DUP2 MLOAD PUSH2 0x1A49 DUP4 DUP3 PUSH2 0x426 JUMP JUMPDEST PUSH1 0x12 DUP2 MSTORE PUSH18 0x11DA585B9BC814DB585C9D0815D85B1B195D PUSH1 0x72 SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP2 PUSH2 0x1A75 DUP2 MLOAD SWAP2 DUP3 PUSH2 0x426 JUMP JUMPDEST PUSH1 0x1 DUP2 MSTORE PUSH1 0x31 PUSH1 0xF8 SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST SWAP1 DUP1 PUSH1 0x20 SWAP4 SWAP3 DUP2 DUP5 MSTORE DUP5 DUP5 ADD CALLDATACOPY PUSH1 0x0 DUP3 DUP3 ADD DUP5 ADD MSTORE PUSH1 0x1F ADD PUSH1 0x1F NOT AND ADD ADD SWAP1 JUMP JUMPDEST SWAP3 SWAP2 PUSH2 0x4CA SWAP5 SWAP3 PUSH2 0x1AC5 SWAP3 DUP6 MSTORE PUSH1 0x60 PUSH1 0x20 DUP7 ADD MSTORE PUSH1 0x60 DUP6 ADD SWAP2 PUSH2 0x1A86 JUMP JUMPDEST SWAP2 PUSH1 0x40 DUP2 DUP5 SUB SWAP2 ADD MSTORE PUSH2 0x970 JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP3 PUSH1 0x40 MLOAD SWAP4 DUP5 SWAP3 DUP4 CALLDATACOPY DUP2 ADD PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F503 DUP2 MSTORE SUB ADD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x2 DUP2 SWAP1 SHL SWAP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xFE SHL SUB DUP2 AND SUB PUSH2 0xE8F JUMPI JUMP JUMPDEST PUSH2 0x1B2D DUP2 SLOAD PUSH2 0x1108 JUMP JUMPDEST SWAP1 DUP2 PUSH2 0x1B37 JUMPI POP POP JUMP JUMPDEST DUP2 PUSH1 0x1F PUSH1 0x0 SWAP4 GT PUSH1 0x1 EQ PUSH2 0x1B49 JUMPI POP SSTORE JUMP JUMPDEST DUP2 DUP4 MSTORE PUSH1 0x20 DUP4 KECCAK256 PUSH2 0x1B65 SWAP2 PUSH1 0x1F ADD PUSH1 0x5 SHR DUP2 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x149C JUMP JUMPDEST DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 KECCAK256 SWAP1 DUP2 SLOAD DUP4 PUSH1 0x1 SHL SWAP1 DUP5 NOT DUP6 PUSH1 0x3 SHL SHR NOT AND OR SWAP1 SSTORE SSTORE JUMP JUMPDEST SWAP2 PUSH1 0x20 PUSH2 0x4CA SWAP4 DUP2 DUP2 MSTORE ADD SWAP2 PUSH2 0x1A86 JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x1B9F DUP4 PUSH2 0x1142 JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x1C95 JUMPI DUP1 MLOAD PUSH1 0x20 DUP3 ADD KECCAK256 PUSH2 0x1BB8 CALLDATASIZE DUP6 DUP6 PUSH2 0x478 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SUB PUSH2 0x1C76 JUMPI POP SWAP1 DUP2 PUSH2 0x1BFF PUSH2 0x1BF5 DUP4 PUSH32 0xCF95BBFE6F870F8CC40482DC3DCCDAFD268F0E9CE0A4F24EA1BEA9BE64E505FF SWAP6 PUSH2 0x1AD3 JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x1C3A PUSH2 0x1C35 DUP6 PUSH1 0x0 MSTORE PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F502 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x1B23 JUMP JUMPDEST PUSH2 0x1C67 PUSH2 0x1C55 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E16 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH2 0xEC0 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E16 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SSTORE JUMP JUMPDEST PUSH2 0x15CE PUSH1 0x40 MLOAD SWAP3 DUP4 SWAP3 DUP4 PUSH2 0x1B83 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x781F2E39 PUSH1 0xE0 SHL DUP2 MSTORE SWAP4 DUP5 SWAP4 PUSH2 0x168C SWAP4 SWAP1 SWAP2 PUSH1 0x4 DUP7 ADD PUSH2 0x1AA7 JUMP JUMPDEST PUSH4 0x340C473D PUSH1 0xE1 SHL PUSH1 0x0 MSTORE PUSH1 0x4 DUP5 SWAP1 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1CB3 PUSH2 0x13CE JUMP JUMPDEST SWAP1 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 ADD SWAP2 PUSH32 0x37F248F492286AB572E2A1EE0BD5315F2AAE54A08B5871B294D657F3A1F1D007 DUP4 MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP2 MSTORE PUSH2 0x1CF3 PUSH1 0x60 DUP3 PUSH2 0x426 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 ADD SWAP3 PUSH2 0x1901 PUSH1 0xF0 SHL DUP5 MSTORE PUSH1 0x22 DUP4 ADD MSTORE PUSH1 0x42 DUP3 ADD MSTORE PUSH1 0x42 DUP2 MSTORE PUSH2 0x13A2 PUSH1 0x62 DUP3 PUSH2 0x426 JUMP JUMPDEST SWAP1 SWAP2 PUSH1 0x0 SWAP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND ISZERO PUSH2 0x1E0A JUMPI PUSH1 0x40 MLOAD SWAP3 PUSH1 0x4 DUP5 ADD SWAP5 PUSH1 0x24 DUP6 ADD SWAP6 PUSH1 0x44 DUP7 ADD SWAP3 DUP6 EXTCODESIZE ISZERO PUSH2 0x1D8A JUMPI POP SWAP2 DUP7 SWAP4 SWAP2 PUSH1 0x20 SWAP6 SWAP4 PUSH4 0xB135D3F PUSH1 0xE1 SHL DUP9 MSTORE MSTORE PUSH1 0x40 DUP5 MSTORE DUP2 MLOAD DUP6 ADD DUP1 SWAP3 PUSH1 0x4 GAS STATICCALL SWAP4 PUSH1 0x44 RETURNDATASIZE ADD SWAP2 GAS STATICCALL SWAP2 MLOAD PUSH4 0xB135D3F PUSH1 0xE1 SHL EQ SWAP2 AND AND SWAP1 JUMP JUMPDEST SWAP8 SWAP7 POP POP SWAP1 POP DUP2 MLOAD DUP1 PUSH1 0x40 EQ PUSH2 0x1DE5 JUMPI PUSH1 0x41 EQ PUSH2 0x1DA7 JUMPI POP POP POP POP JUMP JUMPDEST PUSH1 0x20 SWAP3 SWAP4 SWAP6 POP PUSH1 0x60 DUP3 ADD MLOAD PUSH1 0x0 BYTE DUP4 MSTORE PUSH1 0x40 DUP3 ADD MLOAD PUSH1 0x60 MSTORE JUMPDEST PUSH1 0x0 MSTORE ADD MLOAD PUSH1 0x40 MSTORE PUSH1 0x20 PUSH1 0x1 PUSH1 0x80 PUSH1 0x0 DUP3 GAS STATICCALL MLOAD XOR PUSH1 0x60 SHL RETURNDATASIZE GT SWAP2 PUSH1 0x0 PUSH1 0x60 MSTORE PUSH1 0x40 MSTORE JUMP JUMPDEST POP PUSH1 0x20 SWAP3 SWAP4 SWAP6 POP PUSH1 0x40 DUP3 ADD MLOAD PUSH1 0x1B DUP2 PUSH1 0xFF SHR ADD DUP5 MSTORE PUSH1 0x1 DUP1 PUSH1 0xFF SHL SUB AND PUSH1 0x60 MSTORE PUSH2 0x1DC0 JUMP JUMPDEST POP POP POP POP PUSH1 0x0 SWAP1 JUMP JUMPDEST SWAP1 PUSH2 0x45B PUSH1 0x1 PUSH1 0x2D PUSH1 0x40 MLOAD DUP1 SWAP6 PUSH13 0x1131B430B63632B733B2911D11 PUSH1 0x99 SHL PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1E49 DUP2 MLOAD DUP1 SWAP3 PUSH1 0x20 DUP7 DUP7 ADD SWAP2 ADD PUSH2 0x94D JUMP JUMPDEST DUP2 ADD PUSH1 0x11 PUSH1 0xF9 SHL DUP4 DUP3 ADD MSTORE SUB ADD PUSH1 0x1E NOT DUP2 ADD DUP6 MSTORE ADD DUP4 PUSH2 0x426 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x20 LT ISZERO PUSH2 0x1048 JUMPI PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x20 SWAP3 SWAP2 SWAP1 PUSH2 0x1E96 DUP5 SWAP3 DUP3 DUP2 MLOAD SWAP5 DUP6 SWAP3 ADD PUSH2 0x94D JUMP JUMPDEST ADD SWAP1 DUP2 MSTORE ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 PUSH1 0x20 SWAP2 SUB SLT PUSH2 0x234 JUMPI MLOAD SWAP1 JUMP JUMPDEST SWAP3 SWAP2 SWAP1 PUSH1 0x0 SWAP4 PUSH1 0xA0 DUP3 ADD SWAP5 DUP6 MLOAD PUSH32 0x7FFFFFFF800000007FFFFFFFFFFFFFFFDE737D56D38BCF4279DCE5617E3192A8 LT PUSH2 0x208A JUMPI PUSH1 0x20 DUP4 ADD SWAP2 PUSH32 0xFF1A2A9176D650E4A99DEDB58F1793003935130579FE17B5A3F698AC5B00E634 PUSH2 0x1F1F DUP5 MLOAD PUSH1 0x60 DUP8 ADD MLOAD PUSH2 0x1F19 DUP2 PUSH2 0x1066 JUMP JUMPDEST SWAP2 PUSH2 0x2217 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SUB PUSH2 0x2093 JUMPI PUSH2 0x1F37 PUSH2 0x1F3C SWAP2 PUSH2 0x209D JUMP JUMPDEST PUSH2 0x1E13 JUMP JUMPDEST PUSH2 0x1F51 DUP4 MLOAD PUSH1 0x40 DUP7 ADD MLOAD PUSH2 0x1F19 DUP5 MLOAD DUP3 PUSH2 0x1082 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SWAP1 PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SUB PUSH2 0x208A JUMPI PUSH1 0x1 PUSH1 0xF8 SHL PUSH1 0x1 PUSH1 0xF8 SHL PUSH2 0x1F8A PUSH2 0x1F7C DUP7 MLOAD PUSH2 0x1E64 JUMP JUMPDEST MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 JUMP JUMPDEST AND SUB PUSH2 0x208A JUMPI PUSH2 0x1FA7 PUSH1 0x20 SWAP3 PUSH1 0x0 SWAP3 POP MLOAD PUSH1 0x40 MLOAD SWAP2 DUP3 DUP1 SWAP3 PUSH2 0xDF5 JUMP JUMPDEST SUB SWAP1 PUSH1 0x2 GAS STATICCALL ISZERO PUSH2 0x2085 JUMPI PUSH1 0x20 PUSH1 0x0 PUSH2 0x1FDD DUP2 MLOAD PUSH2 0x1FD1 DUP6 MLOAD PUSH2 0x215 PUSH1 0x40 MLOAD SWAP4 DUP5 SWAP3 DUP9 DUP5 ADD PUSH2 0x1E80 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 DUP1 SWAP3 PUSH2 0xDF5 JUMP JUMPDEST SUB SWAP1 PUSH1 0x2 GAS STATICCALL ISZERO PUSH2 0x2085 JUMPI PUSH1 0x80 PUSH1 0x0 MLOAD SWAP2 ADD SWAP4 PUSH1 0x0 DUP1 DUP7 MLOAD DUP6 PUSH2 0x2030 DUP6 MLOAD PUSH2 0x215 DUP11 PUSH1 0x40 MLOAD SWAP5 DUP6 SWAP4 PUSH1 0x20 DUP6 ADD SWAP8 DUP13 DUP10 SWAP2 SWAP3 PUSH1 0x80 SWAP4 SWAP7 SWAP6 SWAP5 SWAP2 SWAP7 PUSH1 0xA0 DUP5 ADD SWAP8 DUP5 MSTORE PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE ADD MSTORE JUMP JUMPDEST MLOAD SWAP1 PUSH2 0x100 GAS STATICCALL SWAP5 PUSH2 0x2040 PUSH2 0x10D8 JUMP JUMPDEST DUP1 MLOAD SWAP7 DUP1 PUSH2 0x207C JUMPI JUMPDEST PUSH2 0x205C JUMPI POP PUSH2 0x4CA SWAP6 POP MLOAD SWAP1 MLOAD SWAP2 PUSH2 0x2104 JUMP JUMPDEST PUSH1 0x1 SWAP7 PUSH2 0x2078 SWAP7 POP DUP2 ADD PUSH1 0x20 SWAP1 DUP2 ADD SWAP6 POP ADD SWAP3 POP PUSH2 0x1E9E SWAP2 POP POP JUMP JUMPDEST EQ SWAP1 JUMP JUMPDEST POP DUP7 ISZERO ISZERO PUSH2 0x2049 JUMP JUMPDEST PUSH2 0x1E74 JUMP JUMPDEST SWAP5 POP POP POP POP POP SWAP1 JUMP JUMPDEST POP SWAP5 POP POP POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x4CA SWAP2 PUSH2 0x20AF PUSH1 0x60 DUP4 PUSH2 0x426 JUMP JUMPDEST PUSH1 0x40 DUP3 MSTORE PUSH32 0x4142434445464748494A4B4C4D4E4F505152535455565758595A616263646566 PUSH1 0x20 DUP4 ADD MSTORE PUSH32 0x6768696A6B6C6D6E6F707172737475767778797A303132333435363738392D5F PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x22C3 JUMP JUMPDEST SWAP4 SWAP2 SWAP1 SWAP3 SWAP4 DUP4 ISZERO DUP1 ISZERO PUSH2 0x21F4 JUMPI JUMPDEST DUP1 ISZERO PUSH2 0x21EC JUMPI JUMPDEST DUP1 ISZERO PUSH2 0x21D4 JUMPI JUMPDEST PUSH2 0x21CA JUMPI PUSH2 0x212E DUP4 DUP7 PUSH2 0x236B JUMP JUMPDEST ISZERO PUSH2 0x21CA JUMPI PUSH1 0x40 MLOAD SWAP2 PUSH1 0x20 DUP4 MSTORE PUSH1 0x20 DUP1 DUP5 ADD MSTORE PUSH1 0x20 PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x60 DUP4 ADD MSTORE PUSH32 0xFFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC63254F PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DD6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0xA0 DUP4 ADD MSTORE PUSH1 0x20 DUP3 PUSH1 0xC0 DUP2 PUSH1 0x5 PUSH1 0x0 NOT STATICCALL ISZERO PUSH2 0x234 JUMPI PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DD6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP5 PUSH2 0x21C4 SWAP4 DUP7 PUSH2 0x21BE SWAP5 MLOAD DUP2 DUP2 DUP10 MULMOD SWAP5 MULMOD SWAP2 PUSH2 0x2446 JUMP JUMPDEST SWAP2 PUSH2 0xE67 JUMP JUMPDEST SWAP1 ADDMOD ISZERO SWAP1 JUMP JUMPDEST POP POP POP POP POP PUSH1 0x0 SWAP1 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DD6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP3 LT ISZERO PUSH2 0x2120 JUMP JUMPDEST POP DUP2 ISZERO PUSH2 0x2119 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DD6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP5 LT ISZERO PUSH2 0x2112 JUMP JUMPDEST DUP2 PUSH1 0x40 MLOAD SWAP2 DUP3 CALLDATACOPY KECCAK256 SWAP1 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x60 SWAP5 SWAP4 SWAP3 SWAP1 DUP4 DUP2 GT ISZERO PUSH2 0x2289 JUMPI JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x2281 JUMPI JUMPDEST POP DUP3 DUP2 LT PUSH2 0x223E JUMPI POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP5 POP SWAP2 DUP3 SWAP1 SUB SWAP2 ADD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND JUMPDEST DUP2 DUP2 ADD MLOAD DUP6 DUP3 ADD MSTORE PUSH1 0x1F NOT ADD SWAP1 DUP2 ISZERO PUSH2 0x226B JUMPI SWAP1 PUSH2 0x2252 JUMP JUMPDEST POP POP PUSH1 0x40 DUP2 DUP5 ADD PUSH1 0x0 PUSH1 0x20 DUP3 ADD MSTORE ADD PUSH1 0x40 MSTORE DUP3 MSTORE JUMP JUMPDEST SWAP1 POP CODESIZE PUSH2 0x2231 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x2228 JUMP JUMPDEST SWAP1 PUSH2 0x229B DUP3 PUSH2 0x45D JUMP JUMPDEST PUSH2 0x22A8 PUSH1 0x40 MLOAD SWAP2 DUP3 PUSH2 0x426 JUMP JUMPDEST DUP3 DUP2 MSTORE DUP1 SWAP3 PUSH2 0x22B9 PUSH1 0x1F NOT SWAP2 PUSH2 0x45D JUMP JUMPDEST ADD SWAP1 PUSH1 0x20 CALLDATASIZE SWAP2 ADD CALLDATACOPY JUMP JUMPDEST SWAP1 DUP2 MLOAD ISZERO PUSH2 0x2361 JUMPI SWAP1 PUSH2 0x22F0 PUSH2 0x22EB PUSH2 0x22E4 PUSH2 0x22DF DUP5 MLOAD PUSH2 0x1B0B JUMP JUMPDEST PUSH2 0x1074 JUMP JUMPDEST PUSH1 0x3 SWAP1 DIV SWAP1 JUMP JUMPDEST PUSH2 0x2291 JUMP JUMPDEST SWAP2 PUSH1 0x20 DUP4 ADD SWAP1 DUP3 DUP1 MLOAD ADD SWAP1 PUSH1 0x20 DUP3 ADD SWAP3 DUP4 MLOAD SWAP5 PUSH1 0x0 DUP6 MSTORE JUMPDEST DUP4 DUP2 LT PUSH2 0x2317 JUMPI POP POP POP POP MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x4 SWAP2 ADD SWAP2 PUSH1 0x1 PUSH1 0x3F DUP5 MLOAD DUP3 DUP3 DUP3 PUSH1 0x12 SHR AND DUP9 ADD ADD MLOAD DUP5 MSTORE8 DUP3 DUP3 DUP3 PUSH1 0xC SHR AND DUP9 ADD ADD MLOAD DUP4 DUP6 ADD MSTORE8 DUP3 DUP3 DUP3 PUSH1 0x6 SHR AND DUP9 ADD ADD MLOAD PUSH1 0x2 DUP6 ADD MSTORE8 AND DUP6 ADD ADD MLOAD PUSH1 0x3 DUP3 ADD MSTORE8 ADD SWAP1 PUSH2 0x2308 JUMP JUMPDEST POP POP PUSH2 0x4CA PUSH2 0x10C3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 LT DUP1 ISZERO SWAP1 PUSH2 0x242E JUMPI JUMPDEST DUP1 ISZERO PUSH2 0x241D JUMPI JUMPDEST PUSH2 0x2416 JUMPI PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH32 0x5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B SWAP1 DUP3 SWAP1 DUP2 PUSH32 0xFFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC DUP3 MULMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 DUP2 DUP1 MULMOD MULMOD ADDMOD ADDMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP1 MULMOD EQ SWAP1 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP1 JUMP JUMPDEST POP DUP1 ISZERO DUP1 ISZERO PUSH2 0x238B JUMPI POP DUP2 ISZERO PUSH2 0x238B JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP3 LT ISZERO PUSH2 0x2384 JUMP JUMPDEST SWAP1 SWAP3 PUSH1 0x0 SWAP3 SWAP1 DUP4 PUSH1 0xFF DUP2 DUP5 ISZERO DUP1 PUSH2 0x2A3D JUMPI JUMPDEST PUSH2 0x2A32 JUMPI PUSH2 0x2466 DUP9 DUP8 PUSH2 0x2A45 JUMP JUMPDEST SWAP3 SWAP1 SWAP2 DUP3 ISZERO DUP1 PUSH2 0x2A2A JUMPI JUMPDEST PUSH2 0x29EF JUMPI JUMPDEST POP DUP6 DUP2 SHR PUSH1 0x2 DUP7 PUSH1 0xFE SHR AND ADD JUMPDEST ISZERO PUSH2 0x29D6 JUMPI PUSH1 0x1 DUP7 DUP3 SHR AND PUSH1 0x2 DUP7 DUP4 SHR PUSH1 0x1 SHL AND ADD PUSH1 0x1 DUP2 EQ PUSH2 0x298B JUMPI JUMPDEST PUSH1 0x2 DUP2 EQ PUSH2 0x297E JUMPI JUMPDEST PUSH1 0x3 EQ PUSH2 0x2971 JUMPI JUMPDEST PUSH1 0x1 SWAP9 PUSH1 0x0 NOT SWAP2 SWAP1 SWAP2 ADD SWAP7 SWAP5 SWAP6 SWAP5 DUP10 SWAP5 SWAP4 SWAP3 SWAP2 JUMPDEST DUP9 PUSH1 0x0 NOT GT PUSH2 0x2544 JUMPI POP POP POP POP POP POP POP POP POP PUSH1 0x40 MLOAD SWAP2 PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x20 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD MSTORE PUSH1 0x20 PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH1 0x60 SHL SUB PUSH1 0x60 SHL NOT PUSH1 0xA0 DUP4 ADD MSTORE PUSH1 0x20 DUP3 PUSH1 0xC0 DUP2 PUSH1 0x5 PUSH1 0x0 NOT STATICCALL ISZERO PUSH2 0x234 JUMPI SWAP1 MLOAD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD SWAP1 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 SWAP6 SWAP7 SWAP8 SWAP9 PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH1 0x60 SHL SUB PUSH1 0x60 SHL NOT DUP7 PUSH1 0x2 MULMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP3 DUP1 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 DUP4 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP3 SWAP1 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 SWAP1 DUP16 DUP3 DUP2 DUP4 ADDMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SUB SWAP1 ADDMOD MULMOD PUSH1 0x3 MULMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP4 MULMOD SWAP13 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP3 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP12 DUP1 MULMOD ADDMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SWAP1 DUP2 SUB DUP12 ADDMOD SWAP1 MULMOD SWAP7 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP9 SWAP1 DUP3 SWAP1 DUP5 MULMOD ADDMOD SWAP7 DUP12 PUSH1 0x2 DUP13 PUSH1 0x1 DUP14 DUP5 SHR AND SWAP3 SHR PUSH1 0x1 SHL AND ADD DUP1 ISZERO PUSH2 0x2954 JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x2909 JUMPI JUMPDEST PUSH1 0x2 DUP2 EQ PUSH2 0x28FE JUMPI JUMPDEST PUSH1 0x3 EQ PUSH2 0x28F5 JUMPI JUMPDEST DUP3 ISZERO PUSH2 0x28E2 JUMPI PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP9 SWAP1 DUP3 SWAP1 DUP16 SWAP1 MULMOD ADDMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP10 DUP3 SUB SWAP1 DUP3 SWAP1 DUP6 SWAP1 MULMOD ADDMOD SWAP8 DUP2 ISZERO PUSH2 0x27A8 JUMPI JUMPDEST PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP10 DUP1 MULMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP11 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP11 SWAP1 MULMOD SWAP13 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP5 SWAP1 MULMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP3 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP6 DUP2 SUB DUP2 DUP7 DUP1 MULMOD ADDMOD ADDMOD SWAP8 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP4 DUP5 SWAP2 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SWAP1 DUP11 DUP3 SUB SWAP1 ADDMOD MULMOD ADDMOD SWAP5 SWAP9 JUMPDEST PUSH1 0x0 NOT ADD SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x24C6 JUMP JUMPDEST DUP9 PUSH2 0x26CB JUMPI SWAP11 SWAP2 SWAP8 POP SWAP1 SWAP6 SWAP1 POP PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD SWAP11 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP13 DUP1 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 DUP14 MULMOD SWAP13 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP3 SWAP1 MULMOD SWAP12 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 DUP12 DUP2 SUB DUP3 ADDMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP13 SWAP1 ADDMOD MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH1 0x3 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP14 MULMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD SWAP12 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP3 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP5 DUP1 MULMOD ADDMOD SWAP12 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP4 DUP5 SWAP2 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SWAP1 DUP15 DUP3 SUB SWAP1 ADDMOD SWAP1 MULMOD ADDMOD SWAP5 PUSH2 0x2797 JUMP JUMPDEST PUSH1 0x1 SWAP13 POP SWAP1 SWAP11 DUP13 SWAP9 POP SWAP1 SWAP7 POP SWAP1 POP PUSH2 0x2797 JUMP JUMPDEST POP POP DUP4 DUP6 PUSH2 0x268A JUMP JUMPDEST DUP6 SWAP3 POP DUP5 SWAP2 POP PUSH2 0x2682 JUMP JUMPDEST PUSH32 0x6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296 SWAP3 POP PUSH32 0x4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5 SWAP2 POP PUSH2 0x2679 JUMP JUMPDEST POP POP POP SWAP10 SWAP6 SWAP9 SWAP5 PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH1 0x60 SHL SUB PUSH1 0x60 SHL NOT SUB SWAP5 PUSH2 0x2797 JUMP JUMPDEST SWAP3 POP DUP1 SWAP7 POP SWAP6 DUP2 SWAP3 PUSH2 0x24B2 JUMP JUMPDEST SWAP7 SWAP8 POP DUP8 SWAP7 DUP10 SWAP5 POP PUSH2 0x24AA JUMP JUMPDEST PUSH32 0x6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296 SWAP9 POP PUSH32 0x4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5 SWAP5 POP PUSH2 0x24A1 JUMP JUMPDEST PUSH1 0x0 NOT ADD PUSH1 0x1 DUP7 DUP3 SHR AND PUSH1 0x2 DUP7 DUP4 SHR PUSH1 0x1 SHL AND ADD PUSH2 0x2483 JUMP JUMPDEST SWAP5 SWAP6 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DD6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP2 SWAP7 DUP3 SUB SWAP1 ADDMOD SWAP5 DUP5 DUP7 ISZERO DUP1 PUSH2 0x2A22 JUMPI JUMPDEST ISZERO PUSH2 0x2476 JUMPI SWAP9 POP POP POP POP POP POP POP POP POP SWAP1 JUMP JUMPDEST POP PUSH1 0x1 PUSH2 0x2A10 JUMP JUMPDEST POP DUP4 ISZERO PUSH2 0x2471 JUMP JUMPDEST SWAP7 POP POP POP POP POP POP POP SWAP1 JUMP JUMPDEST POP DUP4 ISZERO PUSH2 0x2458 JUMP JUMPDEST SWAP2 SWAP1 PUSH32 0x6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296 PUSH32 0x4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5 SWAP2 DUP1 ISZERO PUSH2 0x2BF9 JUMPI DUP5 PUSH2 0xB99 SWAP5 SWAP6 DUP4 EQ DUP1 PUSH2 0x2BF0 JUMPI JUMPDEST ISZERO PUSH2 0x2BDB JUMPI POP PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 POP DUP3 PUSH1 0x2 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 DUP1 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP5 DUP5 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP6 SWAP1 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 SWAP1 DUP2 PUSH1 0x1 DUP3 ADDMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH32 0xFFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFE SWAP1 ADDMOD MULMOD PUSH1 0x3 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP5 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP4 DUP1 MULMOD ADDMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT PUSH1 0x1 DUP7 MULMOD SWAP6 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH1 0x1 SWAP1 MULMOD SWAP5 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP4 DUP5 SWAP2 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 SUB SWAP3 SWAP1 SWAP2 DUP3 SWAP1 DUP7 DUP3 SUB SWAP1 ADDMOD SWAP1 MULMOD ADDMOD SWAP1 PUSH2 0x2D1B JUMP JUMPDEST SWAP1 SWAP2 SWAP3 PUSH2 0x2BE7 SWAP4 PUSH2 0x2BFF JUMP JUMPDEST SWAP3 SWAP1 SWAP2 SWAP1 PUSH2 0x2D1B JUMP JUMPDEST POP DUP2 DUP5 EQ PUSH2 0x2A9E JUMP JUMPDEST POP SWAP3 POP SWAP1 JUMP JUMPDEST SWAP2 SWAP4 SWAP1 DUP1 ISZERO PUSH2 0x2D12 JUMPI PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 SUB SWAP4 DUP5 SWAP1 DUP3 SWAP1 PUSH1 0x1 SWAP1 MULMOD ADDMOD SWAP4 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP4 DUP3 SUB SWAP1 DUP3 SWAP1 PUSH1 0x1 SWAP1 MULMOD ADDMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP5 DUP1 MULMOD SWAP4 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP6 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP6 SWAP1 MULMOD SWAP5 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP8 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP7 DUP2 SUB DUP2 DUP6 DUP1 MULMOD ADDMOD ADDMOD SWAP6 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP3 DUP4 SWAP1 DUP7 SWAP1 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SWAP1 DUP10 DUP3 SUB SWAP1 ADDMOD MULMOD ADDMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH1 0x1 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH1 0x1 MULMOD SWAP1 JUMP JUMPDEST POP PUSH1 0x1 SWAP2 POP DUP2 SWAP1 JUMP JUMPDEST SWAP2 SWAP1 SWAP3 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD MSTORE PUSH1 0x20 PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH1 0x60 SHL SUB PUSH1 0x60 SHL NOT PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0x20 DUP2 PUSH1 0xC0 DUP2 PUSH1 0x5 PUSH1 0x0 NOT STATICCALL ISZERO PUSH2 0x234 JUMPI MLOAD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP5 SWAP1 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 SWAP1 DUP3 SWAP1 DUP1 MULMOD SWAP1 MULMOD SWAP2 JUMP INVALID MOD 0x27 0xF7 0x2A CREATE 0xE6 DELEGATECALL SLT NOT JUMPDEST 0xD DUP11 0xCB 0xE4 CODESIZE 0xB2 DUP1 SWAP1 0xDD SLOAD JUMPDEST PUSH30 0x2331FCCF77723561F500FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAAD 0xA7 OR SWAP15 DUP5 RETURN 0xB9 0xCA 0xC2 0xFC PUSH4 0x25513608 SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBC0627F72AF0E6F412195B0D DUP11 0xCB 0xE4 CODESIZE 0xB2 DUP1 SWAP1 0xDD SLOAD JUMPDEST PUSH30 0x2331FCCF77723561F501A2646970667358221220F6C6F795F835BE206C00 0xCF CODECOPY NOT 0xD4 SWAP15 0xE1 0xB1 0xCA REVERT RETURNDATASIZE 0xE9 PUSH10 0x39377CA4CACE421A6B6 PUSH5 0x736F6C6343 STOP ADDMOD SHR STOP CALLER CODESIZE LT SWAP15 0xDC 0x26 0xE1 PUSH7 0xB5579352CE56A5 ADDMOD SGT OR PUSH31 0xB25208FD90D61F2F3783862202200000000000000000000000000000000000 ", - "sourceMap": "1195:13544:17:-:0;;;;;;1279:4:8;1255:31;;1195:13544:17;;;;;;;:::i;:::-;5064:1;1195:13544;;-1:-1:-1;;1195:13544:17;;-1:-1:-1;1195:13544:17;;;;;;;;;;-1:-1:-1;1195:13544:17;5088:22;;1195:13544;;5088:22;;;;;;:::i;:::-;5076:34;;;:::i;:::-;;;;;:::i;:::-;;11593:89:19;1195:13544:17;-1:-1:-1;9026:3:19;1195:13544:17;;9007:17:19;;;;;1195:13544:17;9049:9:19;;;;:::i;:::-;;1195:13544:17;9049:22:19;;:48;;;9026:3;9045:128;;1195:13544:17;9191:9:19;;;;:::i;:::-;;1195:13544:17;9191:22:19;:73;;;9026:3;9187:157;;9375:9;;;;:::i;:::-;;;9386:17;-1:-1:-1;;1195:13544:17;;;;5064:1;1195:13544;;;;;;:::i;:::-;;;9792:51:19;;1195:13544:17;;;:::i;:::-;;;-1:-1:-1;;1195:13544:17;5064:1;1195:13544;;;-1:-1:-1;1195:13544:17;;;9954:14:19;1195:13544:17;;;;;;;-1:-1:-1;;;;;1195:13544:17;;;;;;5064:1;1195:13544;;;;;;;;;9026:3:19;1195:13544:17;;;;;;;;;;;9026:3:19;1195:13544:17;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1195:13544:17;;9999:22:19;1195:13544:17;5064:1;1195:13544;;;-1:-1:-1;1195:13544:17;;;;-1:-1:-1;;;7148:33:19;1195:13544:17;;;;;;;;;;;;;;;9999:22:19;;;;;:::i;:::-;;;;1195:13544:17;8996:9:19;;1195:13544:17;;;;;;;;;;;;;;;;-1:-1:-1;1195:13544:17;;-1:-1:-1;1195:13544:17;;-1:-1:-1;1195:13544:17;;;;;;;;5064:1;1195:13544;;;;-1:-1:-1;;;;;;;;;;;1195:13544:17;;9999:22:19;1195:13544:17;;;;;;;;;;;;;;;;;;;;;;;;7148:33:19;1195:13544:17;;;;;;;;;;;;;;;5064:1;1195:13544;;;;;;;;;;;;;;;;;-1:-1:-1;1195:13544:17;;-1:-1:-1;1195:13544:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1195:13544:17;;5064:1;1195:13544;;;;;;-1:-1:-1;1195:13544:17;;;;;;;;-1:-1:-1;1195:13544:17;;;;;-1:-1:-1;1195:13544:17;;;;;;;;;;;;-1:-1:-1;1195:13544:17;;;;;-1:-1:-1;1195:13544:17;9792:51:19;1195:13544:17;;-1:-1:-1;;;9824:19:19;;1195:13544:17;;;9824:19:19;;;;;;:::i;:::-;;;;1195:13544:17;;;;-1:-1:-1;1195:13544:17;;;;;-1:-1:-1;1195:13544:17;9187:157:19;9319:9;;9291:38;9319:9;;;:::i;:::-;;1195:13544:17;;-1:-1:-1;;;9291:38:19;;1195:13544:17;;;9291:38:19;;;;:::i;9191:73::-;9233:9;;;;;:::i;:::-;;1195:13544:17;;;;;;;;;;;;9191:73:19;-1:-1:-1;;;;;;;9191:73:19;;1195:13544:17;;;;;;7148:33:19;1195:13544:17;;;;;;9045:128:19;9148:9;;9124:34;9148:9;;;:::i;:::-;;1195:13544:17;;-1:-1:-1;;;9124:34:19;;1195:13544:17;;;9124:34:19;;;;:::i;9049:48::-;9075:9;;;;;;:::i;:::-;;1195:13544:17;9075:22:19;;9049:48;;9007:17;;;11593:89;1195:13544:17;;;;;;;;1255:31:8;1195:13544:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1195:13544:17;;;;-1:-1:-1;;;;;1195:13544:17;;;;;;;;;;:::o;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;1195:13544:17;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;1195:13544:17;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;7148:33:19;1195:13544:17;;;;;;;:::o" + "object": "60a0604052346103de57306080526040805161001b82826103e3565b60018152601f19820160005b8181106103cd5750508151600060208201526020815261004783826103e3565b61005082610406565b5261005a81610406565b507f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f5005460005b825181101561038c5760206100958285610429565b5151141580610377575b6103505760206100af8285610429565b51511480610312575b6102eb576100c68184610429565b51918060001981146102d5576001019260ff6100e18261048c565b54166102b5576100f08161048c565b805460ff1916600117905560008281527f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f50260205286902081516001600160401b03811161029f578154600181811c91168015610295575b602082101461027f57601f8111610237575b506020601f82116001146101bc579260008051602061347e83398151915292826101a89360019897966000916101b1575b50600019600383901b1c191690881b1790555b885191829182610460565b0390a201610080565b90508301513861018a565b601f1982169083600052806000209160005b81811061021f57508360019897969360008051602061347e83398151915296936101a8968b9410610206575b5050811b01905561019d565b85015160001960f88460031b161c1916905538806101fa565b9192602060018192868a0151815501940192016101ce565b826000526020600020601f830160051c81019160208410610275575b601f0160051c01905b8181106102695750610159565b6000815560010161025c565b9091508190610253565b634e487b7160e01b600052602260045260246000fd5b90607f1690610147565b634e487b7160e01b600052604160045260246000fd5b855163468b12ad60e11b81529081906102d19060048301610460565b0390fd5b634e487b7160e01b600052601160045260246000fd5b836102f96102d19285610429565b51905163bff1ac6560e01b815291829160048301610460565b5061031d8184610429565b5160208151910151906020811061033e575b506001600160a01b03106100b8565b6000199060200360031b1b163861032f565b8361035e6102d19285610429565b5190516327755b9160e11b815291829160048301610460565b50836103838285610429565b5151141561009f565b83827f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f5005551612fac90816104d2823960805181818161077801526108660152f35b806060602080938601015201610027565b600080fd5b601f909101601f19168101906001600160401b0382119082101761029f57604052565b8051156104135760200190565b634e487b7160e01b600052603260045260246000fd5b80518210156104135760209160051b010190565b60005b8381106104505750506000910152565b8181015183820152602001610440565b60409160208252610480815180928160208601526020868601910161043d565b601f01601f1916010190565b60206104a591816040519382858094519384920161043d565b81017f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f5038152030190209056fe60806040526004361015610015575b3661167757005b60003560e01c8063066a1eb7146101e55780630db02622146101e05780630f0f3f24146101db5780631626ba7e146101d657806317452caa146101d157806319822f7c146101cc5780631ca5393f146101c757806329565e3b146101c25780632c2abd1e146101bd57806334fcd5be146101b857806336d9cf9b146101b35780634f1ef286146101ae57806352d1902d146101a95780635c60da1b146101a45780636f2de70e1461019f578063737bebdd1461019a57806384b0196e1461019557806388ce4c7c1461019057806389625b571461018b5780638ea69029146101865780639f9bcb3414610181578063a05bd44e1461017c578063a2e1a8d814610177578063b0d691fe14610172578063b61d27f61461016d578063b819736714610168578063ce1506be14610163578063d948fd2e1461015e5763f698da250361000e57610ea7565b610e7c565b610e5e565b610e17565b610da7565b610d78565b610d51565b610d17565b610cdd565b610caa565b610c6a565b610c1a565b610b79565b610a73565b6108d8565b6108a2565b610852565b61073d565b610712565b61067b565b6105cf565b610531565b6104fa565b6103a1565b610375565b610323565b61027d565b610249565b3461024457604036600319011261024457602060ff6102386004356102336024359161022560405193849288840160209093929193604081019481520152565b03601f198101835282610453565b610ed9565b54166040519015158152f35b600080fd5b34610244576000366003190112610244576020610264610f61565b604051908152f35b6001600160a01b0381160361024457565b34610244576020366003190112610244576102f460043561029d8161026c565b6102a56116af565b6040519060018060a01b03166020820152602081526102c5604082610453565b600080516020612ef783398151915254906102df82610f8d565b600080516020612ef783398151915255611738565b005b9181601f84011215610244578235916001600160401b038311610244576020838186019501011161024457565b34610244576040366003190112610244576004356024356001600160401b0381116102445760209161035c6103629236906004016102f6565b91610f9c565b6040516001600160e01b03199091168152f35b346102445760003660031901126102445760206040516107088152f35b90816101209103126102445790565b34610244576060366003190112610244576004356001600160401b038111610244576103d1903690600401610392565b60443560243573b10f0bf29439a89a18f9969326c5d212c7e0961019330161042d5761040182916104189461114b565b9161041c575b506040519081529081906020820190565b0390f35b60009081803892335af15038610407565b6282b42960e81b60005260046000fd5b634e487b7160e01b600052604160045260246000fd5b90601f801991011681019081106001600160401b0382111761047457604052565b61043d565b6040519061048860c083610453565b565b6001600160401b03811161047457601f01601f191660200190565b9291926104b18261048a565b916104bf6040519384610453565b829481845281830111610244578281602093846000960137010152565b9080601f83011215610244578160206104f7933591016104a5565b90565b34610244576020366003190112610244576004356001600160401b0381116102445760ff61023861023360209336906004016104dc565b34610244576040366003190112610244576102f46024356102c56004356105566116af565b6040805160208101929092528101929092528160608101610225565b906020600319830112610244576004356001600160401b0381116102445760040160009280601f830112156105cb578135936001600160401b0385116105c857506020808301928560051b010111610244579190565b80fd5b8380fd5b6105d836610572565b9073b10f0bf29439a89a18f9969326c5d212c7e09611330361042d5760005b828110156102f45760006106108260051b840184610fca565b61061a8183610ffc565b61062381611474565b1561065f575082916106369136916104a5565b60208151910182305af161064861133d565b901561065757506001016105f7565b602081519101fd5b631d8370a360e11b84526001600160e01b031916600452602483fd5b61068436610572565b9073b10f0bf29439a89a18f9969326c5d212c7e096113303610705575b60005b8281106106ad57005b806106ff6106be6001938686611290565b356106c88161026c565b60206106d5848888611290565b01356106f96106f26106e8868a8a611290565b6040810190610fca565b36916104a5565b91611b5b565b016106a4565b61070d6116af565b6106a1565b34610244576000366003190112610244576020600080516020612f5783398151915254604051908152f35b6040366003190112610244576004356107558161026c565b6024356001600160401b038111610244576107749036906004016102f6565b90917f00000000000000000000000000000000000000000000000000000000000000003014610844576107a56116af565b60018060a01b03163d6000526352d1902d600152600080516020612f37833981519152602060016004601d855afa510361083657807fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28181600080516020612f378339815191525561081757005b816000926040519485378338925af41561082d57005b3d6000823e3d90fd5b6355299b496001526004601dfd5b639f03a0266000526004601cfd5b3461024457600036600319011261024457307f000000000000000000000000000000000000000000000000000000000000000003610844576020604051600080516020612f378339815191528152f35b3461024457600036600319011261024457600080516020612f37833981519152546040516001600160a01b039091168152602090f35b6108e136610572565b600080516020612ef7833981519152549182610a095761090291369161104f565b9060005b82518110156109f357602061091b8285611110565b51511415806109dd575b6109b65760206109358285611110565b51511480610994575b610969578061096361095260019386611110565b519361095d81610f8d565b94611738565b01610906565b6109766109909184611110565b5160405163bff1ac6560e01b815291829160048301610a62565b0390fd5b506001600160a01b036109b06109aa8386611110565b51611952565b1161093e565b6109c36109909184611110565b516040516327755b9160e11b815291829160048301610a62565b5060406109ea8285611110565b51511415610925565b6102f482600080516020612ef783398151915255565b6302ed543d60e51b60005260046000fd5b60005b838110610a2d5750506000910152565b8181015183820152602001610a1d565b90602091610a5681518092818552858086019101610a1a565b601f01601f1916010190565b9060206104f7928181520190610a3d565b34610244576020366003190112610244576004356001600160401b038111610244578060040160806003198336030112610244576044820135610ab5816112bc565b4211610b5257610aec610ad9610acd610af0936112f4565b60208151910120611dec565b610ae66064860185610fca565b91611a69565b1590565b610b4157600091610b0f826024610b0786956112b2565b930190610fca565b90610b1f6040518093819361131a565b03915afa610b2b61133d565b9015610657576104189060405191829182610a62565b638baa579f60e01b60005260046000fd5b610b5e610b75916112bc565b630f88f04960e41b60005260045242602452604490565b6000fd5b3461024457600036600319011261024457610bb9610bc7610b98611b7b565b604092919251938493600f60f81b855260e0602086015260e0850190610a3d565b908382036040850152610a3d565b466060830152306080830152600060a083015281810360c0830152602060605191828152019060809060005b818110610c01575050500390f35b8251845285945060209384019390920191600101610bf3565b346102445760003660031901126102445760206040516121058152f35b9060406003198301126102445760043591602435906001600160401b03821161024457610c66916004016102f6565b9091565b3461024457610c7836610c37565b90610c816116af565b6001610c8b610f61565b14610c99576102f492611cd5565b63948bf89760e01b60005260046000fd5b3461024457602036600319011261024457610418610cc96004356113a7565b604051918291602083526020830190610a3d565b34610244576020366003190112610244576004356001600160e01b03198116810361024457610d0d602091611474565b6040519015158152f35b34610244576020366003190112610244576004356001600160401b03811161024457610264610d4c6020923690600401610392565b6114f7565b34610244576020366003190112610244576020610d0d600435610d738161026c565b6115e8565b3461024457600036600319011261024457602060405173b10f0bf29439a89a18f9969326c5d212c7e096118152f35b606036600319011261024457600435610dbf8161026c565b604435906024356001600160401b038311610244576106f9610de86102f49436906004016102f6565b73b10f0bf29439a89a18f9969326c5d212c7e096113303610e0a5736916104a5565b610e126116af565b6106f2565b3461024457610e2536610c37565b90610e2e6116af565b610e36610f61565b9260018411610e49576102f49350611cd5565b83631047e35560e31b60005260045260246000fd5b34610244576020366003190112610244576020610264600435611dec565b34610244576000366003190112610244576020600080516020612ef783398151915254604051908152f35b3461024457600036600319011261024457602061026461160e565b90610ed560209282815194859201610a1a565b0190565b6020610ef2918160405193828580945193849201610a1a565b81017f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f50381520301902090565b634e487b7160e01b600052601160045260246000fd5b600080516020612f178339815191520390600080516020612f178339815191528211610f5c57565b610f1e565b600080516020612ef783398151915254600080516020612f57833981519152548103908111610f5c5790565b6000198114610f5c5760010190565b90610faa610faf9392611dec565b611a69565b610fbf576001600160e01b031990565b630b135d3f60e11b90565b903590601e198136030182121561024457018035906001600160401b0382116102445760200191813603831361024457565b356001600160e01b0319811692919060048210611017575050565b6001600160e01b031960049290920360031b82901b16169150565b909291928360041161024457831161024457600401916003190190565b929190926001600160401b038411610474578360051b90602060405161107782850182610453565b8096815201918101918383116102445781905b838210611098575050505050565b81356001600160401b038111610244576020916110b887849387016104dc565b81520191019061108a565b602081830312610244578035906001600160401b03821161024457019080601f83011215610244578160206104f79335910161104f565b634e487b7160e01b600052603260045260246000fd5b80518210156111245760209160051b010190565b6110fa565b80516020909101516001600160e01b0319811692919060048210611017575050565b91602083013560401c9160608401906111648286610fca565b6316155e8f60e11b916001600160e01b03199161118091610ffc565b16036112635750611190846114f7565b92612105810361124f57506111b26111ab6111ba9286610fca565b8091611032565b8101906110c3565b9160005b8351811015611229576111d18185611110565b5163278f794360e11b6111f36111e683611129565b6001600160e01b03191690565b14611202575b506001016111be565b60240151803b6111f957630c76093760e01b6000526001600160a01b031660045260246000fd5b5090926112419250610ae6905b610100810190610fca565b61124a57600190565b600090565b632ef3781360e01b60005260045260246000fd5b929050612105819492941461124f575090610ae661124192611236565b61128b60ff91610ed9565b541690565b91908110156111245760051b81013590605e1981360301821215610244570190565b356104f78161026c565b906107088201809211610f5c57565b9060158201809211610f5c57565b9060028201809211610f5c57565b91908201809211610f5c57565b906040519163737bebdd60e01b6020840152602483015260248252610488604483610453565b908092918237016000815290565b60405190611337602083610453565b60008252565b3d15611368573d9061134e8261048a565b9161135c6040519384610453565b82523d6000602084013e565b606090565b90600182811c9216801561139d575b602083101461138757565b634e487b7160e01b600052602260045260246000fd5b91607f169161137c565b6000527f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f5026020526040600020604051908160008254926113e68461136d565b8084529360018116908115611452575060011461140b575b506104f792500382610453565b90506000929192526020600020906000915b8183106114365750509060206104f792820101386113fe565b602091935080600191548385880101520191019091839261141d565b9050602092506104f794915060ff191682840152151560051b820101386113fe565b63ffffffff60e01b166329565e3b60e01b81149081156114e6575b81156114d5575b81156114c4575b81156114b3575b506114ae57600090565b600190565b63278f794360e11b149050386114a4565b63b819736760e01b8114915061149d565b6389625b5760e01b81149150611496565b6303c3cfc960e21b8114915061148f565b60208101356115ab61150c6040840184610fca565b908160405191823720916102256115266060860186610fca565b90816040519182372060c086013560a0870135608088013561155461154e60e08b018b610fca565b9061234d565b604080519a356001600160a01b031660208c01908152908b019790975260608a0198909852608089019390935260a088019290925260c087019190915260e086015261010085019390935292918290610120820190565b519020604080516020810192835273b10f0bf29439a89a18f9969326c5d212c7e09611918101919091526115e28160608101610225565b51902090565b61128b60ff916040519060018060a01b0316602082015260208152610233604082610453565b611616611b7b565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526115e260c082610453565b60003560e01c63bc197c81811463f23a6e6182141763150b7a028214176116a657633c10b94e6000526004601cfd5b6020526020603cf35b6116b8336115e8565b80156116d3575b610488576282b42960e81b60005260046000fd5b503033146116bf565b8181106116e7575050565b600081556001016116dc565b9190601f811161170257505050565b610488926000526020600020906020601f840160051c8301931061172e575b601f0160051c01906116dc565b9091508190611721565b61174181611280565b6118af5761174e81610ed9565b600160ff19825416179055816000527f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f502602052604060002081516001600160401b038111610474576117aa816117a4845461136d565b846116f3565b6020601f821160011461181e57916117ff827f38109edc26e166b5579352ce56a50813177eb25208fd90d61f2f378386220220959361180e95600091611813575b508160011b916000199060031b1c19161790565b90555b60405191829182610a62565b0390a2565b9050840151386117eb565b601f1982169061183384600052602060002090565b9160005b81811061189757509261180e9492600192827f38109edc26e166b5579352ce56a50813177eb25208fd90d61f2f37838622022098961061187e575b5050811b019055611802565b85015160001960f88460031b161c191690553880611872565b9192602060018192868a015181550194019201611837565b60405163468b12ad60e11b81529081906109909060048301610a62565b602081830312610244578035906001600160401b03821161024457016040818303126102445760405191604083018381106001600160401b038211176104745760405281356001600160401b038111610244578161192b9184016104dc565b835260208201356001600160401b0381116102445761194a92016104dc565b602082015290565b602081519101519060208110611966575090565b6000199060200360031b1b1690565b9190826040910312610244576020825192015190565b81601f8201121561024457602081519101906119a68161048a565b926119b46040519485610453565b81845281830111610244576104f7916020840190610a1a565b602081830312610244578051906001600160401b03821161024457019060c082820312610244576119fc610479565b9180516001600160401b0381116102445782611a1991830161198b565b835260208101516001600160401b0381116102445760a092611a3c91830161198b565b6020840152604081015160408401526060810151606084015260808101516080840152015160a082015290565b929190611a78918101906118cc565b90815191611a88610aec84611280565b611b52576020835114611b095782519360408514611abb576040516327755b9160e11b8152806109908660048301610a62565b610225611b04611aef611adb8760208080999b6104f79b01019101611975565b9690950151602080825183010191016119cd565b92604051928391602083019190602083019252565b611fee565b91929091906001600160a01b03611b1f85611952565b11611b37576020806104f79495015192015191611e61565b60405163bff1ac6560e01b8152806109908660048301610a62565b50915050600090565b916000928392602083519301915af1611b7261133d565b90156106575750565b6040908151611b8a8382610453565b601281527111da585b9bc814db585c9d0815d85b1b195d60721b602082015291611bb681519182610453565b60018152603160f81b602082015290565b908060209392818452848401376000828201840152601f01601f1916010190565b92916104f79492611c06928552606060208601526060850191611bc7565b916040818403910152610a3d565b60209082604051938492833781017f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f50381520301902090565b600281901b91906001600160fe1b03811603610f5c57565b611c6e815461136d565b9081611c78575050565b81601f60009311600114611c8a575055565b81835260208320611ca691601f0160051c8101906001016116dc565b808252602082209081548360011b9084198560031b1c191617905555565b9160206104f7938181520191611bc7565b9190611ce0836113a7565b805115611dd65780516020820120611cf93685856104a5565b6020815191012003611db757509081611d40611d36837fcf95bbfe6f870f8cc40482dc3dccdafd268f0e9ce0a4f24ea1bea9be64e505ff95611c14565b805460ff19169055565b611d7b611d76856000527f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f502602052604060002090565b611c64565b611da8611d96600080516020612f5783398151915254610f8d565b600080516020612f5783398151915255565b61180e60405192839283611cc4565b60405163781f2e3960e01b815293849361099093909160048601611be8565b63340c473d60e11b600052600484905260246000fd5b611df461160e565b9060405160208101917f37f248f492286ab572e2a1ee0bd5315f2aae54a08b5871b294d657f3a1f1d0078352604082015260408152611e34606082610453565b51902060405190602082019261190160f01b845260228301526042820152604281526115e2606282610453565b9091600091906001600160a01b03821615611f4b5760405192600484019460248501956044860192853b15611ecb57509186939160209593630b135d3f60e11b8852526040845281518501809260045afa9360443d01915afa9151630b135d3f60e11b1491161690565b979650509050815180604014611f2657604114611ee85750505050565b602092939550606082015160001a835260408201516060525b60005201516040526020600160806000825afa511860601b3d11916000606052604052565b506020929395506040820151601b8160ff1c01845260018060ff1b0316606052611f01565b50505050600090565b906104886001602d60405180956c1131b430b63632b733b2911d1160991b6020830152611f8a8151809260208686019101610a1a565b8101601160f91b838201520301601e19810185520183610453565b8051602010156111245760400190565b6040513d6000823e3d90fd5b6020929190611fd7849282815194859201610a1a565b019081520190565b90816020910312610244575190565b92919060009360a082019485517f7fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a8106121cb5760208301917fff1a2a9176d650e4a99dedb58f1793003935130579fe17b5a3f698ac5b00e6346120608451606087015161205a816112cb565b91612358565b60208151910120036121d45761207861207d916121de565b611f54565b6120928351604086015161205a8451826112e7565b602081519101209060208151910120036121cb57600160f81b600160f81b6120cb6120bd8651611fa5565b516001600160f81b03191690565b16036121cb576120e8602092600092505160405191828092610ec2565b039060025afa156121c6576020600061211e81516121128551610225604051938492888401611fc1565b60405191828092610ec2565b039060025afa156121c657608060005191019360008086518561217185516102258a60405194859360208501978c899192608093969594919660a084019784526020840152604083015260608201520152565b51906101005afa9461218161133d565b805196806121bd575b61219d57506104f7955051905191612245565b6001966121b99650810160209081019550019250611fdf915050565b1490565b5086151561218a565b611fb5565b94505050505090565b5094505050505090565b6040516104f7916121f0606083610453565b604082527f4142434445464748494a4b4c4d4e4f505152535455565758595a61626364656660208301527f6768696a6b6c6d6e6f707172737475767778797a303132333435363738392d5f6040830152612404565b939190929383158015612335575b801561232d575b8015612315575b61230b5761226f83866124ac565b1561230b5760405191602083526020808401526020604084015260608301527fffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254f6080830152600080516020612f1783398151915260a083015260208260c0816005600019fa1561024457600080516020612f178339815191529461230593866122ff945181818909940991612587565b91610f34565b90081590565b5050505050600090565b50600080516020612f17833981519152821015612261565b50811561225a565b50600080516020612f17833981519152841015612253565b816040519182372090565b8051606094939290838111156123ca575b818111156123c2575b5082811061237f57505050565b6040519450918290039101601f8201601f19165b8181015185820152601f19019081156123ac5790612393565b5050604081840160006020820152016040528252565b905038612372565b925082612369565b906123dc8261048a565b6123e96040519182610453565b82815280926123fa601f199161048a565b0190602036910137565b908151156124a2579061243161242c6124256124208451611c4c565b6112d9565b6003900490565b6123d2565b91602083019082805101906020820192835194600085525b83811061245857505050505290565b600360049101916001603f845182828260121c16880101518453828282600c1c16880101518385015382828260061c16880101516002850153168501015160038201530190612449565b50506104f7611328565b600160601b63ffffffff60c01b0319811080159061256f575b801561255e575b61255757600160601b63ffffffff60c01b0319907f5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b908290817fffffffff00000001000000000000000000000000fffffffffffffffffffffffc820990600160601b63ffffffff60c01b0319908181800909080890600160601b63ffffffff60c01b03199080091490565b5050600090565b50801580156124cc575081156124cc565b50600160601b63ffffffff60c01b03198210156124c5565b9092600092908360ff81841580612b7e575b612b73576125a78887612b86565b929091821580612b6b575b612b30575b5085811c60028660fe1c16015b15612b1757600186821c16600286831c60011b160160018114612acc575b60028114612abf575b600314612ab2575b600198600019919091019694959489949392915b88600019116126855750505050505050505060405191606083015260208252602080830152602060408301526002600160601b0363ffffffff60c01b03196080830152600163ffffffff60601b0360601b1960a083015260208260c0816005600019fa15610244579051600160601b63ffffffff60c01b0319910990565b909192939495969798600163ffffffff60601b0360601b198660020990600160601b63ffffffff60c01b0319828009600160601b63ffffffff60c01b031981830992600160601b63ffffffff60c01b03199082900991600160601b63ffffffff60c01b03199081908f8281830891600160601b63ffffffff60c01b031991820390080960030998600160601b63ffffffff60c01b03199083099c600160601b63ffffffff60c01b0319910991600160601b63ffffffff60c01b031980826002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b03198b80090898600160601b63ffffffff60c01b031991829081038b08900996600160601b63ffffffff60c01b03199088908290840908968b60028c60018d841c16921c60011b16018015612a955760018114612a4a575b60028114612a3f575b600314612a36575b8215612a2357600160601b63ffffffff60c01b031990889082908f90090890600160601b63ffffffff60c01b031990898203908290859009089781156128e9575b600160601b63ffffffff60c01b031989800998600160601b63ffffffff60c01b0319908a0992600160601b63ffffffff60c01b0319908a90099c600160601b63ffffffff60c01b03199084900998600160601b63ffffffff60c01b03199109600160601b63ffffffff60c01b031980826002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b031985810381868009080897600160601b63ffffffff60c01b03199384910991600160601b63ffffffff60c01b03199182908a82039008090894985b600019019796959493929190612607565b8861280c579a91975090959050600160601b63ffffffff60c01b0319816002600160601b0363ffffffff60c01b0319099a600160601b63ffffffff60c01b03198c8009600160601b63ffffffff60c01b0319818d099c600160601b63ffffffff60c01b0319908290099b600160601b63ffffffff60c01b031990818b8103820890600160601b63ffffffff60c01b0319908c900809600160601b63ffffffff60c01b03199060030991600160601b63ffffffff60c01b0319908d0998600160601b63ffffffff60c01b031991099b600160601b63ffffffff60c01b031980826002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b0319848009089b600160601b63ffffffff60c01b03199384910991600160601b63ffffffff60c01b03199182908e82039008900908946128d8565b60019c50909a8c985090965090506128d8565b505083856127cb565b8592508491506127c3565b7f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29692507f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f591506127ba565b50505099959894600163ffffffff60601b0360601b1903946128d8565b92508096509581926125f3565b96975087968994506125eb565b7f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29698507f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f594506125e2565b60001901600186821c16600286831c60011b16016125c4565b9495600080516020612f178339815191529196820390089484861580612b63575b156125b7579850505050505050505090565b506001612b51565b5083156125b2565b965050505050505090565b508315612599565b91907f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2967f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5918015612d3a5784610c669495831480612d31575b15612d1c5750600160601b63ffffffff60c01b0319905082600209600160601b63ffffffff60c01b031981800992600160601b63ffffffff60c01b031984840991600160601b63ffffffff60c01b03199085900992600160601b63ffffffff60c01b0319908190816001820890600160601b63ffffffff60c01b0319907fffffffff00000001000000000000000000000000fffffffffffffffffffffffe900809600309600160601b63ffffffff60c01b031980846002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b03198380090892600160601b63ffffffff60c01b03196001860995600160601b63ffffffff60c01b0319906001900994600160601b63ffffffff60c01b031993849109600160601b63ffffffff60c01b03199081039290918290868203900890090890612e5c565b909192612d2893612d40565b92909190612e5c565b50818414612bdf565b50925090565b9193908015612e5357600160601b63ffffffff60c01b03199081039384908290600190090893600160601b63ffffffff60c01b031990838203908290600190090892600160601b63ffffffff60c01b031984800993600160601b63ffffffff60c01b031990850992600160601b63ffffffff60c01b03199085900994600160601b63ffffffff60c01b031980876002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b031986810381858009080895600160601b63ffffffff60c01b031992839086900991600160601b63ffffffff60c01b03199182908982039008090892600160601b63ffffffff60c01b03199060010991600160601b63ffffffff60c01b03199060010990565b50600191508190565b91909260405190602082526020808301526020604083015260608201526002600160601b0363ffffffff60c01b03196080820152600163ffffffff60601b0360601b1960a082015260208160c0816005600019fa15610244575192600160601b63ffffffff60c01b03199084900992600160601b63ffffffff60c01b03199109600160601b63ffffffff60c01b031991908290800990099156fe0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f500ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f501a264697066735822122026165c0497221dc0d0a6fe46163b1bfa2e7e78ebc4b8a9a8f3c3ed3c6cbe43ec64736f6c634300081c003338109edc26e166b5579352ce56a50813177eb25208fd90d61f2f378386220220", + "opcodes": "PUSH1 0xA0 PUSH1 0x40 MSTORE CALLVALUE PUSH2 0x3DE JUMPI ADDRESS PUSH1 0x80 MSTORE PUSH1 0x40 DUP1 MLOAD PUSH2 0x1B DUP3 DUP3 PUSH2 0x3E3 JUMP JUMPDEST PUSH1 0x1 DUP2 MSTORE PUSH1 0x1F NOT DUP3 ADD PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH2 0x3CD JUMPI POP POP DUP2 MLOAD PUSH1 0x0 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x20 DUP2 MSTORE PUSH2 0x47 DUP4 DUP3 PUSH2 0x3E3 JUMP JUMPDEST PUSH2 0x50 DUP3 PUSH2 0x406 JUMP JUMPDEST MSTORE PUSH2 0x5A DUP2 PUSH2 0x406 JUMP JUMPDEST POP PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F500 SLOAD PUSH1 0x0 JUMPDEST DUP3 MLOAD DUP2 LT ISZERO PUSH2 0x38C JUMPI PUSH1 0x20 PUSH2 0x95 DUP3 DUP6 PUSH2 0x429 JUMP JUMPDEST MLOAD MLOAD EQ ISZERO DUP1 PUSH2 0x377 JUMPI JUMPDEST PUSH2 0x350 JUMPI PUSH1 0x20 PUSH2 0xAF DUP3 DUP6 PUSH2 0x429 JUMP JUMPDEST MLOAD MLOAD EQ DUP1 PUSH2 0x312 JUMPI JUMPDEST PUSH2 0x2EB JUMPI PUSH2 0xC6 DUP2 DUP5 PUSH2 0x429 JUMP JUMPDEST MLOAD SWAP2 DUP1 PUSH1 0x0 NOT DUP2 EQ PUSH2 0x2D5 JUMPI PUSH1 0x1 ADD SWAP3 PUSH1 0xFF PUSH2 0xE1 DUP3 PUSH2 0x48C JUMP JUMPDEST SLOAD AND PUSH2 0x2B5 JUMPI PUSH2 0xF0 DUP2 PUSH2 0x48C JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH1 0x0 DUP3 DUP2 MSTORE PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F502 PUSH1 0x20 MSTORE DUP7 SWAP1 KECCAK256 DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x29F JUMPI DUP2 SLOAD PUSH1 0x1 DUP2 DUP2 SHR SWAP2 AND DUP1 ISZERO PUSH2 0x295 JUMPI JUMPDEST PUSH1 0x20 DUP3 LT EQ PUSH2 0x27F JUMPI PUSH1 0x1F DUP2 GT PUSH2 0x237 JUMPI JUMPDEST POP PUSH1 0x20 PUSH1 0x1F DUP3 GT PUSH1 0x1 EQ PUSH2 0x1BC JUMPI SWAP3 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x347E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP3 DUP3 PUSH2 0x1A8 SWAP4 PUSH1 0x1 SWAP9 SWAP8 SWAP7 PUSH1 0x0 SWAP2 PUSH2 0x1B1 JUMPI JUMPDEST POP PUSH1 0x0 NOT PUSH1 0x3 DUP4 SWAP1 SHL SHR NOT AND SWAP1 DUP9 SHL OR SWAP1 SSTORE JUMPDEST DUP9 MLOAD SWAP2 DUP3 SWAP2 DUP3 PUSH2 0x460 JUMP JUMPDEST SUB SWAP1 LOG2 ADD PUSH2 0x80 JUMP JUMPDEST SWAP1 POP DUP4 ADD MLOAD CODESIZE PUSH2 0x18A JUMP JUMPDEST PUSH1 0x1F NOT DUP3 AND SWAP1 DUP4 PUSH1 0x0 MSTORE DUP1 PUSH1 0x0 KECCAK256 SWAP2 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH2 0x21F JUMPI POP DUP4 PUSH1 0x1 SWAP9 SWAP8 SWAP7 SWAP4 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x347E DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP7 SWAP4 PUSH2 0x1A8 SWAP7 DUP12 SWAP5 LT PUSH2 0x206 JUMPI JUMPDEST POP POP DUP2 SHL ADD SWAP1 SSTORE PUSH2 0x19D JUMP JUMPDEST DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 PUSH2 0x1FA JUMP JUMPDEST SWAP2 SWAP3 PUSH1 0x20 PUSH1 0x1 DUP2 SWAP3 DUP7 DUP11 ADD MLOAD DUP2 SSTORE ADD SWAP5 ADD SWAP3 ADD PUSH2 0x1CE JUMP JUMPDEST DUP3 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 PUSH1 0x1F DUP4 ADD PUSH1 0x5 SHR DUP2 ADD SWAP2 PUSH1 0x20 DUP5 LT PUSH2 0x275 JUMPI JUMPDEST PUSH1 0x1F ADD PUSH1 0x5 SHR ADD SWAP1 JUMPDEST DUP2 DUP2 LT PUSH2 0x269 JUMPI POP PUSH2 0x159 JUMP JUMPDEST PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x25C JUMP JUMPDEST SWAP1 SWAP2 POP DUP2 SWAP1 PUSH2 0x253 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x7F AND SWAP1 PUSH2 0x147 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP6 MLOAD PUSH4 0x468B12AD PUSH1 0xE1 SHL DUP2 MSTORE SWAP1 DUP2 SWAP1 PUSH2 0x2D1 SWAP1 PUSH1 0x4 DUP4 ADD PUSH2 0x460 JUMP JUMPDEST SUB SWAP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP4 PUSH2 0x2F9 PUSH2 0x2D1 SWAP3 DUP6 PUSH2 0x429 JUMP JUMPDEST MLOAD SWAP1 MLOAD PUSH4 0xBFF1AC65 PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 DUP3 SWAP2 PUSH1 0x4 DUP4 ADD PUSH2 0x460 JUMP JUMPDEST POP PUSH2 0x31D DUP2 DUP5 PUSH2 0x429 JUMP JUMPDEST MLOAD PUSH1 0x20 DUP2 MLOAD SWAP2 ADD MLOAD SWAP1 PUSH1 0x20 DUP2 LT PUSH2 0x33E JUMPI JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB LT PUSH2 0xB8 JUMP JUMPDEST PUSH1 0x0 NOT SWAP1 PUSH1 0x20 SUB PUSH1 0x3 SHL SHL AND CODESIZE PUSH2 0x32F JUMP JUMPDEST DUP4 PUSH2 0x35E PUSH2 0x2D1 SWAP3 DUP6 PUSH2 0x429 JUMP JUMPDEST MLOAD SWAP1 MLOAD PUSH4 0x27755B91 PUSH1 0xE1 SHL DUP2 MSTORE SWAP2 DUP3 SWAP2 PUSH1 0x4 DUP4 ADD PUSH2 0x460 JUMP JUMPDEST POP DUP4 PUSH2 0x383 DUP3 DUP6 PUSH2 0x429 JUMP JUMPDEST MLOAD MLOAD EQ ISZERO PUSH2 0x9F JUMP JUMPDEST DUP4 DUP3 PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F500 SSTORE MLOAD PUSH2 0x2FAC SWAP1 DUP2 PUSH2 0x4D2 DUP3 CODECOPY PUSH1 0x80 MLOAD DUP2 DUP2 DUP2 PUSH2 0x778 ADD MSTORE PUSH2 0x866 ADD MSTORE RETURN JUMPDEST DUP1 PUSH1 0x60 PUSH1 0x20 DUP1 SWAP4 DUP7 ADD ADD MSTORE ADD PUSH2 0x27 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1F SWAP1 SWAP2 ADD PUSH1 0x1F NOT AND DUP2 ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT SWAP1 DUP3 LT OR PUSH2 0x29F JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x413 JUMPI PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 MLOAD DUP3 LT ISZERO PUSH2 0x413 JUMPI PUSH1 0x20 SWAP2 PUSH1 0x5 SHL ADD ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0x450 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x440 JUMP JUMPDEST PUSH1 0x40 SWAP2 PUSH1 0x20 DUP3 MSTORE PUSH2 0x480 DUP2 MLOAD DUP1 SWAP3 DUP2 PUSH1 0x20 DUP7 ADD MSTORE PUSH1 0x20 DUP7 DUP7 ADD SWAP2 ADD PUSH2 0x43D JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND ADD ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 PUSH2 0x4A5 SWAP2 DUP2 PUSH1 0x40 MLOAD SWAP4 DUP3 DUP6 DUP1 SWAP5 MLOAD SWAP4 DUP5 SWAP3 ADD PUSH2 0x43D JUMP JUMPDEST DUP2 ADD PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F503 DUP2 MSTORE SUB ADD SWAP1 KECCAK256 SWAP1 JUMP INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x15 JUMPI JUMPDEST CALLDATASIZE PUSH2 0x1677 JUMPI STOP JUMPDEST PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x66A1EB7 EQ PUSH2 0x1E5 JUMPI DUP1 PUSH4 0xDB02622 EQ PUSH2 0x1E0 JUMPI DUP1 PUSH4 0xF0F3F24 EQ PUSH2 0x1DB JUMPI DUP1 PUSH4 0x1626BA7E EQ PUSH2 0x1D6 JUMPI DUP1 PUSH4 0x17452CAA EQ PUSH2 0x1D1 JUMPI DUP1 PUSH4 0x19822F7C EQ PUSH2 0x1CC JUMPI DUP1 PUSH4 0x1CA5393F EQ PUSH2 0x1C7 JUMPI DUP1 PUSH4 0x29565E3B EQ PUSH2 0x1C2 JUMPI DUP1 PUSH4 0x2C2ABD1E EQ PUSH2 0x1BD JUMPI DUP1 PUSH4 0x34FCD5BE EQ PUSH2 0x1B8 JUMPI DUP1 PUSH4 0x36D9CF9B EQ PUSH2 0x1B3 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x1AE JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x1A9 JUMPI DUP1 PUSH4 0x5C60DA1B EQ PUSH2 0x1A4 JUMPI DUP1 PUSH4 0x6F2DE70E EQ PUSH2 0x19F JUMPI DUP1 PUSH4 0x737BEBDD EQ PUSH2 0x19A JUMPI DUP1 PUSH4 0x84B0196E EQ PUSH2 0x195 JUMPI DUP1 PUSH4 0x88CE4C7C EQ PUSH2 0x190 JUMPI DUP1 PUSH4 0x89625B57 EQ PUSH2 0x18B JUMPI DUP1 PUSH4 0x8EA69029 EQ PUSH2 0x186 JUMPI DUP1 PUSH4 0x9F9BCB34 EQ PUSH2 0x181 JUMPI DUP1 PUSH4 0xA05BD44E EQ PUSH2 0x17C JUMPI DUP1 PUSH4 0xA2E1A8D8 EQ PUSH2 0x177 JUMPI DUP1 PUSH4 0xB0D691FE EQ PUSH2 0x172 JUMPI DUP1 PUSH4 0xB61D27F6 EQ PUSH2 0x16D JUMPI DUP1 PUSH4 0xB8197367 EQ PUSH2 0x168 JUMPI DUP1 PUSH4 0xCE1506BE EQ PUSH2 0x163 JUMPI DUP1 PUSH4 0xD948FD2E EQ PUSH2 0x15E JUMPI PUSH4 0xF698DA25 SUB PUSH2 0xE JUMPI PUSH2 0xEA7 JUMP JUMPDEST PUSH2 0xE7C JUMP JUMPDEST PUSH2 0xE5E JUMP JUMPDEST PUSH2 0xE17 JUMP JUMPDEST PUSH2 0xDA7 JUMP JUMPDEST PUSH2 0xD78 JUMP JUMPDEST PUSH2 0xD51 JUMP JUMPDEST PUSH2 0xD17 JUMP JUMPDEST PUSH2 0xCDD JUMP JUMPDEST PUSH2 0xCAA JUMP JUMPDEST PUSH2 0xC6A JUMP JUMPDEST PUSH2 0xC1A JUMP JUMPDEST PUSH2 0xB79 JUMP JUMPDEST PUSH2 0xA73 JUMP JUMPDEST PUSH2 0x8D8 JUMP JUMPDEST PUSH2 0x8A2 JUMP JUMPDEST PUSH2 0x852 JUMP JUMPDEST PUSH2 0x73D JUMP JUMPDEST PUSH2 0x712 JUMP JUMPDEST PUSH2 0x67B JUMP JUMPDEST PUSH2 0x5CF JUMP JUMPDEST PUSH2 0x531 JUMP JUMPDEST PUSH2 0x4FA JUMP JUMPDEST PUSH2 0x3A1 JUMP JUMPDEST PUSH2 0x375 JUMP JUMPDEST PUSH2 0x323 JUMP JUMPDEST PUSH2 0x27D JUMP JUMPDEST PUSH2 0x249 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH1 0xFF PUSH2 0x238 PUSH1 0x4 CALLDATALOAD PUSH2 0x233 PUSH1 0x24 CALLDATALOAD SWAP2 PUSH2 0x225 PUSH1 0x40 MLOAD SWAP4 DUP5 SWAP3 DUP9 DUP5 ADD PUSH1 0x20 SWAP1 SWAP4 SWAP3 SWAP2 SWAP4 PUSH1 0x40 DUP2 ADD SWAP5 DUP2 MSTORE ADD MSTORE JUMP JUMPDEST SUB PUSH1 0x1F NOT DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x453 JUMP JUMPDEST PUSH2 0xED9 JUMP JUMPDEST SLOAD AND PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH2 0x264 PUSH2 0xF61 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND SUB PUSH2 0x244 JUMPI JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH2 0x2F4 PUSH1 0x4 CALLDATALOAD PUSH2 0x29D DUP2 PUSH2 0x26C JUMP JUMPDEST PUSH2 0x2A5 PUSH2 0x16AF JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x20 DUP2 MSTORE PUSH2 0x2C5 PUSH1 0x40 DUP3 PUSH2 0x453 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2EF7 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD SWAP1 PUSH2 0x2DF DUP3 PUSH2 0xF8D JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2EF7 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SSTORE PUSH2 0x1738 JUMP JUMPDEST STOP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0x244 JUMPI DUP3 CALLDATALOAD SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 GT PUSH2 0x244 JUMPI PUSH1 0x20 DUP4 DUP2 DUP7 ADD SWAP6 ADD ADD GT PUSH2 0x244 JUMPI JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x24 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH1 0x20 SWAP2 PUSH2 0x35C PUSH2 0x362 SWAP3 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x2F6 JUMP JUMPDEST SWAP2 PUSH2 0xF9C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP2 AND DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH2 0x708 DUP2 MSTORE RETURN JUMPDEST SWAP1 DUP2 PUSH2 0x120 SWAP2 SUB SLT PUSH2 0x244 JUMPI SWAP1 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x60 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH2 0x3D1 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x392 JUMP JUMPDEST PUSH1 0x44 CALLDATALOAD PUSH1 0x24 CALLDATALOAD PUSH20 0xB10F0BF29439A89A18F9969326C5D212C7E09610 NOT CALLER ADD PUSH2 0x42D JUMPI PUSH2 0x401 DUP3 SWAP2 PUSH2 0x418 SWAP5 PUSH2 0x114B JUMP JUMPDEST SWAP2 PUSH2 0x41C JUMPI JUMPDEST POP PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE SWAP1 DUP2 SWAP1 PUSH1 0x20 DUP3 ADD SWAP1 JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 SWAP1 DUP2 DUP1 CODESIZE SWAP3 CALLER GAS CALL POP CODESIZE PUSH2 0x407 JUMP JUMPDEST PUSH3 0x82B429 PUSH1 0xE8 SHL PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x1F DUP1 NOT SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT OR PUSH2 0x474 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH2 0x43D JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x488 PUSH1 0xC0 DUP4 PUSH2 0x453 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x474 JUMPI PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP3 SWAP2 SWAP3 PUSH2 0x4B1 DUP3 PUSH2 0x48A JUMP JUMPDEST SWAP2 PUSH2 0x4BF PUSH1 0x40 MLOAD SWAP4 DUP5 PUSH2 0x453 JUMP JUMPDEST DUP3 SWAP5 DUP2 DUP5 MSTORE DUP2 DUP4 ADD GT PUSH2 0x244 JUMPI DUP3 DUP2 PUSH1 0x20 SWAP4 DUP5 PUSH1 0x0 SWAP7 ADD CALLDATACOPY ADD ADD MSTORE JUMP JUMPDEST SWAP1 DUP1 PUSH1 0x1F DUP4 ADD SLT ISZERO PUSH2 0x244 JUMPI DUP2 PUSH1 0x20 PUSH2 0x4F7 SWAP4 CALLDATALOAD SWAP2 ADD PUSH2 0x4A5 JUMP JUMPDEST SWAP1 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH1 0xFF PUSH2 0x238 PUSH2 0x233 PUSH1 0x20 SWAP4 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x4DC JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH2 0x2F4 PUSH1 0x24 CALLDATALOAD PUSH2 0x2C5 PUSH1 0x4 CALLDATALOAD PUSH2 0x556 PUSH2 0x16AF JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE DUP2 PUSH1 0x60 DUP2 ADD PUSH2 0x225 JUMP JUMPDEST SWAP1 PUSH1 0x20 PUSH1 0x3 NOT DUP4 ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH1 0x4 ADD PUSH1 0x0 SWAP3 DUP1 PUSH1 0x1F DUP4 ADD SLT ISZERO PUSH2 0x5CB JUMPI DUP2 CALLDATALOAD SWAP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP6 GT PUSH2 0x5C8 JUMPI POP PUSH1 0x20 DUP1 DUP4 ADD SWAP3 DUP6 PUSH1 0x5 SHL ADD ADD GT PUSH2 0x244 JUMPI SWAP2 SWAP1 JUMP JUMPDEST DUP1 REVERT JUMPDEST DUP4 DUP1 REVERT JUMPDEST PUSH2 0x5D8 CALLDATASIZE PUSH2 0x572 JUMP JUMPDEST SWAP1 PUSH20 0xB10F0BF29439A89A18F9969326C5D212C7E09611 CALLER SUB PUSH2 0x42D JUMPI PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x2F4 JUMPI PUSH1 0x0 PUSH2 0x610 DUP3 PUSH1 0x5 SHL DUP5 ADD DUP5 PUSH2 0xFCA JUMP JUMPDEST PUSH2 0x61A DUP2 DUP4 PUSH2 0xFFC JUMP JUMPDEST PUSH2 0x623 DUP2 PUSH2 0x1474 JUMP JUMPDEST ISZERO PUSH2 0x65F JUMPI POP DUP3 SWAP2 PUSH2 0x636 SWAP2 CALLDATASIZE SWAP2 PUSH2 0x4A5 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD DUP3 ADDRESS GAS CALL PUSH2 0x648 PUSH2 0x133D JUMP JUMPDEST SWAP1 ISZERO PUSH2 0x657 JUMPI POP PUSH1 0x1 ADD PUSH2 0x5F7 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD REVERT JUMPDEST PUSH4 0x1D8370A3 PUSH1 0xE1 SHL DUP5 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH1 0x4 MSTORE PUSH1 0x24 DUP4 REVERT JUMPDEST PUSH2 0x684 CALLDATASIZE PUSH2 0x572 JUMP JUMPDEST SWAP1 PUSH20 0xB10F0BF29439A89A18F9969326C5D212C7E09611 CALLER SUB PUSH2 0x705 JUMPI JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT PUSH2 0x6AD JUMPI STOP JUMPDEST DUP1 PUSH2 0x6FF PUSH2 0x6BE PUSH1 0x1 SWAP4 DUP7 DUP7 PUSH2 0x1290 JUMP JUMPDEST CALLDATALOAD PUSH2 0x6C8 DUP2 PUSH2 0x26C JUMP JUMPDEST PUSH1 0x20 PUSH2 0x6D5 DUP5 DUP9 DUP9 PUSH2 0x1290 JUMP JUMPDEST ADD CALLDATALOAD PUSH2 0x6F9 PUSH2 0x6F2 PUSH2 0x6E8 DUP7 DUP11 DUP11 PUSH2 0x1290 JUMP JUMPDEST PUSH1 0x40 DUP2 ADD SWAP1 PUSH2 0xFCA JUMP JUMPDEST CALLDATASIZE SWAP2 PUSH2 0x4A5 JUMP JUMPDEST SWAP2 PUSH2 0x1B5B JUMP JUMPDEST ADD PUSH2 0x6A4 JUMP JUMPDEST PUSH2 0x70D PUSH2 0x16AF JUMP JUMPDEST PUSH2 0x6A1 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2F57 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0x755 DUP2 PUSH2 0x26C JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH2 0x774 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x2F6 JUMP JUMPDEST SWAP1 SWAP2 PUSH32 0x0 ADDRESS EQ PUSH2 0x844 JUMPI PUSH2 0x7A5 PUSH2 0x16AF JUMP JUMPDEST PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB AND RETURNDATASIZE PUSH1 0x0 MSTORE PUSH4 0x52D1902D PUSH1 0x1 MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2F37 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x20 PUSH1 0x1 PUSH1 0x4 PUSH1 0x1D DUP6 GAS STATICCALL MLOAD SUB PUSH2 0x836 JUMPI DUP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B PUSH1 0x0 DUP1 LOG2 DUP2 DUP2 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2F37 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SSTORE PUSH2 0x817 JUMPI STOP JUMPDEST DUP2 PUSH1 0x0 SWAP3 PUSH1 0x40 MLOAD SWAP5 DUP6 CALLDATACOPY DUP4 CODESIZE SWAP3 GAS DELEGATECALL ISZERO PUSH2 0x82D JUMPI STOP JUMPDEST RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH4 0x55299B49 PUSH1 0x1 MSTORE PUSH1 0x4 PUSH1 0x1D REVERT JUMPDEST PUSH4 0x9F03A026 PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x1C REVERT JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI ADDRESS PUSH32 0x0 SUB PUSH2 0x844 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2F37 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2F37 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 SWAP1 RETURN JUMPDEST PUSH2 0x8E1 CALLDATASIZE PUSH2 0x572 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2EF7 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD SWAP2 DUP3 PUSH2 0xA09 JUMPI PUSH2 0x902 SWAP2 CALLDATASIZE SWAP2 PUSH2 0x104F JUMP JUMPDEST SWAP1 PUSH1 0x0 JUMPDEST DUP3 MLOAD DUP2 LT ISZERO PUSH2 0x9F3 JUMPI PUSH1 0x20 PUSH2 0x91B DUP3 DUP6 PUSH2 0x1110 JUMP JUMPDEST MLOAD MLOAD EQ ISZERO DUP1 PUSH2 0x9DD JUMPI JUMPDEST PUSH2 0x9B6 JUMPI PUSH1 0x20 PUSH2 0x935 DUP3 DUP6 PUSH2 0x1110 JUMP JUMPDEST MLOAD MLOAD EQ DUP1 PUSH2 0x994 JUMPI JUMPDEST PUSH2 0x969 JUMPI DUP1 PUSH2 0x963 PUSH2 0x952 PUSH1 0x1 SWAP4 DUP7 PUSH2 0x1110 JUMP JUMPDEST MLOAD SWAP4 PUSH2 0x95D DUP2 PUSH2 0xF8D JUMP JUMPDEST SWAP5 PUSH2 0x1738 JUMP JUMPDEST ADD PUSH2 0x906 JUMP JUMPDEST PUSH2 0x976 PUSH2 0x990 SWAP2 DUP5 PUSH2 0x1110 JUMP JUMPDEST MLOAD PUSH1 0x40 MLOAD PUSH4 0xBFF1AC65 PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 DUP3 SWAP2 PUSH1 0x4 DUP4 ADD PUSH2 0xA62 JUMP JUMPDEST SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH2 0x9B0 PUSH2 0x9AA DUP4 DUP7 PUSH2 0x1110 JUMP JUMPDEST MLOAD PUSH2 0x1952 JUMP JUMPDEST GT PUSH2 0x93E JUMP JUMPDEST PUSH2 0x9C3 PUSH2 0x990 SWAP2 DUP5 PUSH2 0x1110 JUMP JUMPDEST MLOAD PUSH1 0x40 MLOAD PUSH4 0x27755B91 PUSH1 0xE1 SHL DUP2 MSTORE SWAP2 DUP3 SWAP2 PUSH1 0x4 DUP4 ADD PUSH2 0xA62 JUMP JUMPDEST POP PUSH1 0x40 PUSH2 0x9EA DUP3 DUP6 PUSH2 0x1110 JUMP JUMPDEST MLOAD MLOAD EQ ISZERO PUSH2 0x925 JUMP JUMPDEST PUSH2 0x2F4 DUP3 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2EF7 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SSTORE JUMP JUMPDEST PUSH4 0x2ED543D PUSH1 0xE5 SHL PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0xA2D JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0xA1D JUMP JUMPDEST SWAP1 PUSH1 0x20 SWAP2 PUSH2 0xA56 DUP2 MLOAD DUP1 SWAP3 DUP2 DUP6 MSTORE DUP6 DUP1 DUP7 ADD SWAP2 ADD PUSH2 0xA1A JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND ADD ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x20 PUSH2 0x4F7 SWAP3 DUP2 DUP2 MSTORE ADD SWAP1 PUSH2 0xA3D JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI DUP1 PUSH1 0x4 ADD PUSH1 0x80 PUSH1 0x3 NOT DUP4 CALLDATASIZE SUB ADD SLT PUSH2 0x244 JUMPI PUSH1 0x44 DUP3 ADD CALLDATALOAD PUSH2 0xAB5 DUP2 PUSH2 0x12BC JUMP JUMPDEST TIMESTAMP GT PUSH2 0xB52 JUMPI PUSH2 0xAEC PUSH2 0xAD9 PUSH2 0xACD PUSH2 0xAF0 SWAP4 PUSH2 0x12F4 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 PUSH2 0x1DEC JUMP JUMPDEST PUSH2 0xAE6 PUSH1 0x64 DUP7 ADD DUP6 PUSH2 0xFCA JUMP JUMPDEST SWAP2 PUSH2 0x1A69 JUMP JUMPDEST ISZERO SWAP1 JUMP JUMPDEST PUSH2 0xB41 JUMPI PUSH1 0x0 SWAP2 PUSH2 0xB0F DUP3 PUSH1 0x24 PUSH2 0xB07 DUP7 SWAP6 PUSH2 0x12B2 JUMP JUMPDEST SWAP4 ADD SWAP1 PUSH2 0xFCA JUMP JUMPDEST SWAP1 PUSH2 0xB1F PUSH1 0x40 MLOAD DUP1 SWAP4 DUP2 SWAP4 PUSH2 0x131A JUMP JUMPDEST SUB SWAP2 GAS STATICCALL PUSH2 0xB2B PUSH2 0x133D JUMP JUMPDEST SWAP1 ISZERO PUSH2 0x657 JUMPI PUSH2 0x418 SWAP1 PUSH1 0x40 MLOAD SWAP2 DUP3 SWAP2 DUP3 PUSH2 0xA62 JUMP JUMPDEST PUSH4 0x8BAA579F PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x0 REVERT JUMPDEST PUSH2 0xB5E PUSH2 0xB75 SWAP2 PUSH2 0x12BC JUMP JUMPDEST PUSH4 0xF88F049 PUSH1 0xE4 SHL PUSH1 0x0 MSTORE PUSH1 0x4 MSTORE TIMESTAMP PUSH1 0x24 MSTORE PUSH1 0x44 SWAP1 JUMP JUMPDEST PUSH1 0x0 REVERT JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH2 0xBB9 PUSH2 0xBC7 PUSH2 0xB98 PUSH2 0x1B7B JUMP JUMPDEST PUSH1 0x40 SWAP3 SWAP2 SWAP3 MLOAD SWAP4 DUP5 SWAP4 PUSH1 0xF PUSH1 0xF8 SHL DUP6 MSTORE PUSH1 0xE0 PUSH1 0x20 DUP7 ADD MSTORE PUSH1 0xE0 DUP6 ADD SWAP1 PUSH2 0xA3D JUMP JUMPDEST SWAP1 DUP4 DUP3 SUB PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0xA3D JUMP JUMPDEST CHAINID PUSH1 0x60 DUP4 ADD MSTORE ADDRESS PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0x0 PUSH1 0xA0 DUP4 ADD MSTORE DUP2 DUP2 SUB PUSH1 0xC0 DUP4 ADD MSTORE PUSH1 0x20 PUSH1 0x60 MLOAD SWAP2 DUP3 DUP2 MSTORE ADD SWAP1 PUSH1 0x80 SWAP1 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH2 0xC01 JUMPI POP POP POP SUB SWAP1 RETURN JUMPDEST DUP3 MLOAD DUP5 MSTORE DUP6 SWAP5 POP PUSH1 0x20 SWAP4 DUP5 ADD SWAP4 SWAP1 SWAP3 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0xBF3 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH2 0x2105 DUP2 MSTORE RETURN JUMPDEST SWAP1 PUSH1 0x40 PUSH1 0x3 NOT DUP4 ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD SWAP2 PUSH1 0x24 CALLDATALOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH2 0x244 JUMPI PUSH2 0xC66 SWAP2 PUSH1 0x4 ADD PUSH2 0x2F6 JUMP JUMPDEST SWAP1 SWAP2 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH2 0xC78 CALLDATASIZE PUSH2 0xC37 JUMP JUMPDEST SWAP1 PUSH2 0xC81 PUSH2 0x16AF JUMP JUMPDEST PUSH1 0x1 PUSH2 0xC8B PUSH2 0xF61 JUMP JUMPDEST EQ PUSH2 0xC99 JUMPI PUSH2 0x2F4 SWAP3 PUSH2 0x1CD5 JUMP JUMPDEST PUSH4 0x948BF897 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x0 REVERT JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH2 0x418 PUSH2 0xCC9 PUSH1 0x4 CALLDATALOAD PUSH2 0x13A7 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 SWAP2 PUSH1 0x20 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP1 PUSH2 0xA3D JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 SUB PUSH2 0x244 JUMPI PUSH2 0xD0D PUSH1 0x20 SWAP2 PUSH2 0x1474 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH2 0x264 PUSH2 0xD4C PUSH1 0x20 SWAP3 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x392 JUMP JUMPDEST PUSH2 0x14F7 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH2 0xD0D PUSH1 0x4 CALLDATALOAD PUSH2 0xD73 DUP2 PUSH2 0x26C JUMP JUMPDEST PUSH2 0x15E8 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH20 0xB10F0BF29439A89A18F9969326C5D212C7E09611 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x60 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0xDBF DUP2 PUSH2 0x26C JUMP JUMPDEST PUSH1 0x44 CALLDATALOAD SWAP1 PUSH1 0x24 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 GT PUSH2 0x244 JUMPI PUSH2 0x6F9 PUSH2 0xDE8 PUSH2 0x2F4 SWAP5 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x2F6 JUMP JUMPDEST PUSH20 0xB10F0BF29439A89A18F9969326C5D212C7E09611 CALLER SUB PUSH2 0xE0A JUMPI CALLDATASIZE SWAP2 PUSH2 0x4A5 JUMP JUMPDEST PUSH2 0xE12 PUSH2 0x16AF JUMP JUMPDEST PUSH2 0x6F2 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH2 0xE25 CALLDATASIZE PUSH2 0xC37 JUMP JUMPDEST SWAP1 PUSH2 0xE2E PUSH2 0x16AF JUMP JUMPDEST PUSH2 0xE36 PUSH2 0xF61 JUMP JUMPDEST SWAP3 PUSH1 0x1 DUP5 GT PUSH2 0xE49 JUMPI PUSH2 0x2F4 SWAP4 POP PUSH2 0x1CD5 JUMP JUMPDEST DUP4 PUSH4 0x1047E355 PUSH1 0xE3 SHL PUSH1 0x0 MSTORE PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH2 0x264 PUSH1 0x4 CALLDATALOAD PUSH2 0x1DEC JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2EF7 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH2 0x264 PUSH2 0x160E JUMP JUMPDEST SWAP1 PUSH2 0xED5 PUSH1 0x20 SWAP3 DUP3 DUP2 MLOAD SWAP5 DUP6 SWAP3 ADD PUSH2 0xA1A JUMP JUMPDEST ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 PUSH2 0xEF2 SWAP2 DUP2 PUSH1 0x40 MLOAD SWAP4 DUP3 DUP6 DUP1 SWAP5 MLOAD SWAP4 DUP5 SWAP3 ADD PUSH2 0xA1A JUMP JUMPDEST DUP2 ADD PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F503 DUP2 MSTORE SUB ADD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2F17 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SUB SWAP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2F17 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP3 GT PUSH2 0xF5C JUMPI JUMP JUMPDEST PUSH2 0xF1E JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2EF7 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2F57 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD DUP2 SUB SWAP1 DUP2 GT PUSH2 0xF5C JUMPI SWAP1 JUMP JUMPDEST PUSH1 0x0 NOT DUP2 EQ PUSH2 0xF5C JUMPI PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH2 0xFAA PUSH2 0xFAF SWAP4 SWAP3 PUSH2 0x1DEC JUMP JUMPDEST PUSH2 0x1A69 JUMP JUMPDEST PUSH2 0xFBF JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 JUMP JUMPDEST PUSH4 0xB135D3F PUSH1 0xE1 SHL SWAP1 JUMP JUMPDEST SWAP1 CALLDATALOAD SWAP1 PUSH1 0x1E NOT DUP2 CALLDATASIZE SUB ADD DUP3 SLT ISZERO PUSH2 0x244 JUMPI ADD DUP1 CALLDATALOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH2 0x244 JUMPI PUSH1 0x20 ADD SWAP2 DUP2 CALLDATASIZE SUB DUP4 SGT PUSH2 0x244 JUMPI JUMP JUMPDEST CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND SWAP3 SWAP2 SWAP1 PUSH1 0x4 DUP3 LT PUSH2 0x1017 JUMPI POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0x4 SWAP3 SWAP1 SWAP3 SUB PUSH1 0x3 SHL DUP3 SWAP1 SHL AND AND SWAP2 POP JUMP JUMPDEST SWAP1 SWAP3 SWAP2 SWAP3 DUP4 PUSH1 0x4 GT PUSH2 0x244 JUMPI DUP4 GT PUSH2 0x244 JUMPI PUSH1 0x4 ADD SWAP2 PUSH1 0x3 NOT ADD SWAP1 JUMP JUMPDEST SWAP3 SWAP2 SWAP1 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP5 GT PUSH2 0x474 JUMPI DUP4 PUSH1 0x5 SHL SWAP1 PUSH1 0x20 PUSH1 0x40 MLOAD PUSH2 0x1077 DUP3 DUP6 ADD DUP3 PUSH2 0x453 JUMP JUMPDEST DUP1 SWAP7 DUP2 MSTORE ADD SWAP2 DUP2 ADD SWAP2 DUP4 DUP4 GT PUSH2 0x244 JUMPI DUP2 SWAP1 JUMPDEST DUP4 DUP3 LT PUSH2 0x1098 JUMPI POP POP POP POP POP JUMP JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH1 0x20 SWAP2 PUSH2 0x10B8 DUP8 DUP5 SWAP4 DUP8 ADD PUSH2 0x4DC JUMP JUMPDEST DUP2 MSTORE ADD SWAP2 ADD SWAP1 PUSH2 0x108A JUMP JUMPDEST PUSH1 0x20 DUP2 DUP4 SUB SLT PUSH2 0x244 JUMPI DUP1 CALLDATALOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH2 0x244 JUMPI ADD SWAP1 DUP1 PUSH1 0x1F DUP4 ADD SLT ISZERO PUSH2 0x244 JUMPI DUP2 PUSH1 0x20 PUSH2 0x4F7 SWAP4 CALLDATALOAD SWAP2 ADD PUSH2 0x104F JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 MLOAD DUP3 LT ISZERO PUSH2 0x1124 JUMPI PUSH1 0x20 SWAP2 PUSH1 0x5 SHL ADD ADD SWAP1 JUMP JUMPDEST PUSH2 0x10FA JUMP JUMPDEST DUP1 MLOAD PUSH1 0x20 SWAP1 SWAP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND SWAP3 SWAP2 SWAP1 PUSH1 0x4 DUP3 LT PUSH2 0x1017 JUMPI POP POP JUMP JUMPDEST SWAP2 PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x40 SHR SWAP2 PUSH1 0x60 DUP5 ADD SWAP1 PUSH2 0x1164 DUP3 DUP7 PUSH2 0xFCA JUMP JUMPDEST PUSH4 0x16155E8F PUSH1 0xE1 SHL SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP2 PUSH2 0x1180 SWAP2 PUSH2 0xFFC JUMP JUMPDEST AND SUB PUSH2 0x1263 JUMPI POP PUSH2 0x1190 DUP5 PUSH2 0x14F7 JUMP JUMPDEST SWAP3 PUSH2 0x2105 DUP2 SUB PUSH2 0x124F JUMPI POP PUSH2 0x11B2 PUSH2 0x11AB PUSH2 0x11BA SWAP3 DUP7 PUSH2 0xFCA JUMP JUMPDEST DUP1 SWAP2 PUSH2 0x1032 JUMP JUMPDEST DUP2 ADD SWAP1 PUSH2 0x10C3 JUMP JUMPDEST SWAP2 PUSH1 0x0 JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH2 0x1229 JUMPI PUSH2 0x11D1 DUP2 DUP6 PUSH2 0x1110 JUMP JUMPDEST MLOAD PUSH4 0x278F7943 PUSH1 0xE1 SHL PUSH2 0x11F3 PUSH2 0x11E6 DUP4 PUSH2 0x1129 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND SWAP1 JUMP JUMPDEST EQ PUSH2 0x1202 JUMPI JUMPDEST POP PUSH1 0x1 ADD PUSH2 0x11BE JUMP JUMPDEST PUSH1 0x24 ADD MLOAD DUP1 EXTCODESIZE PUSH2 0x11F9 JUMPI PUSH4 0xC760937 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP1 SWAP3 PUSH2 0x1241 SWAP3 POP PUSH2 0xAE6 SWAP1 JUMPDEST PUSH2 0x100 DUP2 ADD SWAP1 PUSH2 0xFCA JUMP JUMPDEST PUSH2 0x124A JUMPI PUSH1 0x1 SWAP1 JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH4 0x2EF37813 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP3 SWAP1 POP PUSH2 0x2105 DUP2 SWAP5 SWAP3 SWAP5 EQ PUSH2 0x124F JUMPI POP SWAP1 PUSH2 0xAE6 PUSH2 0x1241 SWAP3 PUSH2 0x1236 JUMP JUMPDEST PUSH2 0x128B PUSH1 0xFF SWAP2 PUSH2 0xED9 JUMP JUMPDEST SLOAD AND SWAP1 JUMP JUMPDEST SWAP2 SWAP1 DUP2 LT ISZERO PUSH2 0x1124 JUMPI PUSH1 0x5 SHL DUP2 ADD CALLDATALOAD SWAP1 PUSH1 0x5E NOT DUP2 CALLDATASIZE SUB ADD DUP3 SLT ISZERO PUSH2 0x244 JUMPI ADD SWAP1 JUMP JUMPDEST CALLDATALOAD PUSH2 0x4F7 DUP2 PUSH2 0x26C JUMP JUMPDEST SWAP1 PUSH2 0x708 DUP3 ADD DUP1 SWAP3 GT PUSH2 0xF5C JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x15 DUP3 ADD DUP1 SWAP3 GT PUSH2 0xF5C JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x2 DUP3 ADD DUP1 SWAP3 GT PUSH2 0xF5C JUMPI JUMP JUMPDEST SWAP2 SWAP1 DUP3 ADD DUP1 SWAP3 GT PUSH2 0xF5C JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x40 MLOAD SWAP2 PUSH4 0x737BEBDD PUSH1 0xE0 SHL PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x24 DUP3 MSTORE PUSH2 0x488 PUSH1 0x44 DUP4 PUSH2 0x453 JUMP JUMPDEST SWAP1 DUP1 SWAP3 SWAP2 DUP3 CALLDATACOPY ADD PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x1337 PUSH1 0x20 DUP4 PUSH2 0x453 JUMP JUMPDEST PUSH1 0x0 DUP3 MSTORE JUMP JUMPDEST RETURNDATASIZE ISZERO PUSH2 0x1368 JUMPI RETURNDATASIZE SWAP1 PUSH2 0x134E DUP3 PUSH2 0x48A JUMP JUMPDEST SWAP2 PUSH2 0x135C PUSH1 0x40 MLOAD SWAP4 DUP5 PUSH2 0x453 JUMP JUMPDEST DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY JUMP JUMPDEST PUSH1 0x60 SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH2 0x139D JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH2 0x1387 JUMPI JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH2 0x137C JUMP JUMPDEST PUSH1 0x0 MSTORE PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F502 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD SWAP1 DUP2 PUSH1 0x0 DUP3 SLOAD SWAP3 PUSH2 0x13E6 DUP5 PUSH2 0x136D JUMP JUMPDEST DUP1 DUP5 MSTORE SWAP4 PUSH1 0x1 DUP2 AND SWAP1 DUP2 ISZERO PUSH2 0x1452 JUMPI POP PUSH1 0x1 EQ PUSH2 0x140B JUMPI JUMPDEST POP PUSH2 0x4F7 SWAP3 POP SUB DUP3 PUSH2 0x453 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 SWAP3 SWAP2 SWAP3 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x0 SWAP2 JUMPDEST DUP2 DUP4 LT PUSH2 0x1436 JUMPI POP POP SWAP1 PUSH1 0x20 PUSH2 0x4F7 SWAP3 DUP3 ADD ADD CODESIZE PUSH2 0x13FE JUMP JUMPDEST PUSH1 0x20 SWAP2 SWAP4 POP DUP1 PUSH1 0x1 SWAP2 SLOAD DUP4 DUP6 DUP9 ADD ADD MSTORE ADD SWAP2 ADD SWAP1 SWAP2 DUP4 SWAP3 PUSH2 0x141D JUMP JUMPDEST SWAP1 POP PUSH1 0x20 SWAP3 POP PUSH2 0x4F7 SWAP5 SWAP2 POP PUSH1 0xFF NOT AND DUP3 DUP5 ADD MSTORE ISZERO ISZERO PUSH1 0x5 SHL DUP3 ADD ADD CODESIZE PUSH2 0x13FE JUMP JUMPDEST PUSH4 0xFFFFFFFF PUSH1 0xE0 SHL AND PUSH4 0x29565E3B PUSH1 0xE0 SHL DUP2 EQ SWAP1 DUP2 ISZERO PUSH2 0x14E6 JUMPI JUMPDEST DUP2 ISZERO PUSH2 0x14D5 JUMPI JUMPDEST DUP2 ISZERO PUSH2 0x14C4 JUMPI JUMPDEST DUP2 ISZERO PUSH2 0x14B3 JUMPI JUMPDEST POP PUSH2 0x14AE JUMPI PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH1 0x1 SWAP1 JUMP JUMPDEST PUSH4 0x278F7943 PUSH1 0xE1 SHL EQ SWAP1 POP CODESIZE PUSH2 0x14A4 JUMP JUMPDEST PUSH4 0xB8197367 PUSH1 0xE0 SHL DUP2 EQ SWAP2 POP PUSH2 0x149D JUMP JUMPDEST PUSH4 0x89625B57 PUSH1 0xE0 SHL DUP2 EQ SWAP2 POP PUSH2 0x1496 JUMP JUMPDEST PUSH4 0x3C3CFC9 PUSH1 0xE2 SHL DUP2 EQ SWAP2 POP PUSH2 0x148F JUMP JUMPDEST PUSH1 0x20 DUP2 ADD CALLDATALOAD PUSH2 0x15AB PUSH2 0x150C PUSH1 0x40 DUP5 ADD DUP5 PUSH2 0xFCA JUMP JUMPDEST SWAP1 DUP2 PUSH1 0x40 MLOAD SWAP2 DUP3 CALLDATACOPY KECCAK256 SWAP2 PUSH2 0x225 PUSH2 0x1526 PUSH1 0x60 DUP7 ADD DUP7 PUSH2 0xFCA JUMP JUMPDEST SWAP1 DUP2 PUSH1 0x40 MLOAD SWAP2 DUP3 CALLDATACOPY KECCAK256 PUSH1 0xC0 DUP7 ADD CALLDATALOAD PUSH1 0xA0 DUP8 ADD CALLDATALOAD PUSH1 0x80 DUP9 ADD CALLDATALOAD PUSH2 0x1554 PUSH2 0x154E PUSH1 0xE0 DUP12 ADD DUP12 PUSH2 0xFCA JUMP JUMPDEST SWAP1 PUSH2 0x234D JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP11 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP13 ADD SWAP1 DUP2 MSTORE SWAP1 DUP12 ADD SWAP8 SWAP1 SWAP8 MSTORE PUSH1 0x60 DUP11 ADD SWAP9 SWAP1 SWAP9 MSTORE PUSH1 0x80 DUP10 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0xA0 DUP9 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0xC0 DUP8 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0xE0 DUP7 ADD MSTORE PUSH2 0x100 DUP6 ADD SWAP4 SWAP1 SWAP4 MSTORE SWAP3 SWAP2 DUP3 SWAP1 PUSH2 0x120 DUP3 ADD SWAP1 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP3 DUP4 MSTORE PUSH20 0xB10F0BF29439A89A18F9969326C5D212C7E09611 SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH2 0x15E2 DUP2 PUSH1 0x60 DUP2 ADD PUSH2 0x225 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x128B PUSH1 0xFF SWAP2 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x20 DUP2 MSTORE PUSH2 0x233 PUSH1 0x40 DUP3 PUSH2 0x453 JUMP JUMPDEST PUSH2 0x1616 PUSH2 0x1B7B JUMP JUMPDEST SWAP1 PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SWAP1 PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 ADD SWAP3 PUSH32 0x8B73C3C69BB8FE3D512ECC4CF759CC79239F7B179B0FFACAA9A75D522B39400F DUP5 MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE CHAINID PUSH1 0x80 DUP3 ADD MSTORE ADDRESS PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xA0 DUP2 MSTORE PUSH2 0x15E2 PUSH1 0xC0 DUP3 PUSH2 0x453 JUMP JUMPDEST PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR PUSH4 0xBC197C81 DUP2 EQ PUSH4 0xF23A6E61 DUP3 EQ OR PUSH4 0x150B7A02 DUP3 EQ OR PUSH2 0x16A6 JUMPI PUSH4 0x3C10B94E PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x1C REVERT JUMPDEST PUSH1 0x20 MSTORE PUSH1 0x20 PUSH1 0x3C RETURN JUMPDEST PUSH2 0x16B8 CALLER PUSH2 0x15E8 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x16D3 JUMPI JUMPDEST PUSH2 0x488 JUMPI PUSH3 0x82B429 PUSH1 0xE8 SHL PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x0 REVERT JUMPDEST POP ADDRESS CALLER EQ PUSH2 0x16BF JUMP JUMPDEST DUP2 DUP2 LT PUSH2 0x16E7 JUMPI POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x16DC JUMP JUMPDEST SWAP2 SWAP1 PUSH1 0x1F DUP2 GT PUSH2 0x1702 JUMPI POP POP POP JUMP JUMPDEST PUSH2 0x488 SWAP3 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x20 PUSH1 0x1F DUP5 ADD PUSH1 0x5 SHR DUP4 ADD SWAP4 LT PUSH2 0x172E JUMPI JUMPDEST PUSH1 0x1F ADD PUSH1 0x5 SHR ADD SWAP1 PUSH2 0x16DC JUMP JUMPDEST SWAP1 SWAP2 POP DUP2 SWAP1 PUSH2 0x1721 JUMP JUMPDEST PUSH2 0x1741 DUP2 PUSH2 0x1280 JUMP JUMPDEST PUSH2 0x18AF JUMPI PUSH2 0x174E DUP2 PUSH2 0xED9 JUMP JUMPDEST PUSH1 0x1 PUSH1 0xFF NOT DUP3 SLOAD AND OR SWAP1 SSTORE DUP2 PUSH1 0x0 MSTORE PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F502 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x474 JUMPI PUSH2 0x17AA DUP2 PUSH2 0x17A4 DUP5 SLOAD PUSH2 0x136D JUMP JUMPDEST DUP5 PUSH2 0x16F3 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x1F DUP3 GT PUSH1 0x1 EQ PUSH2 0x181E JUMPI SWAP2 PUSH2 0x17FF DUP3 PUSH32 0x38109EDC26E166B5579352CE56A50813177EB25208FD90D61F2F378386220220 SWAP6 SWAP4 PUSH2 0x180E SWAP6 PUSH1 0x0 SWAP2 PUSH2 0x1813 JUMPI JUMPDEST POP DUP2 PUSH1 0x1 SHL SWAP2 PUSH1 0x0 NOT SWAP1 PUSH1 0x3 SHL SHR NOT AND OR SWAP1 JUMP JUMPDEST SWAP1 SSTORE JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 SWAP2 DUP3 PUSH2 0xA62 JUMP JUMPDEST SUB SWAP1 LOG2 JUMP JUMPDEST SWAP1 POP DUP5 ADD MLOAD CODESIZE PUSH2 0x17EB JUMP JUMPDEST PUSH1 0x1F NOT DUP3 AND SWAP1 PUSH2 0x1833 DUP5 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP2 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH2 0x1897 JUMPI POP SWAP3 PUSH2 0x180E SWAP5 SWAP3 PUSH1 0x1 SWAP3 DUP3 PUSH32 0x38109EDC26E166B5579352CE56A50813177EB25208FD90D61F2F378386220220 SWAP9 SWAP7 LT PUSH2 0x187E JUMPI JUMPDEST POP POP DUP2 SHL ADD SWAP1 SSTORE PUSH2 0x1802 JUMP JUMPDEST DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 PUSH2 0x1872 JUMP JUMPDEST SWAP2 SWAP3 PUSH1 0x20 PUSH1 0x1 DUP2 SWAP3 DUP7 DUP11 ADD MLOAD DUP2 SSTORE ADD SWAP5 ADD SWAP3 ADD PUSH2 0x1837 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x468B12AD PUSH1 0xE1 SHL DUP2 MSTORE SWAP1 DUP2 SWAP1 PUSH2 0x990 SWAP1 PUSH1 0x4 DUP4 ADD PUSH2 0xA62 JUMP JUMPDEST PUSH1 0x20 DUP2 DUP4 SUB SLT PUSH2 0x244 JUMPI DUP1 CALLDATALOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH2 0x244 JUMPI ADD PUSH1 0x40 DUP2 DUP4 SUB SLT PUSH2 0x244 JUMPI PUSH1 0x40 MLOAD SWAP2 PUSH1 0x40 DUP4 ADD DUP4 DUP2 LT PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT OR PUSH2 0x474 JUMPI PUSH1 0x40 MSTORE DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI DUP2 PUSH2 0x192B SWAP2 DUP5 ADD PUSH2 0x4DC JUMP JUMPDEST DUP4 MSTORE PUSH1 0x20 DUP3 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH2 0x194A SWAP3 ADD PUSH2 0x4DC JUMP JUMPDEST PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD MLOAD SWAP1 PUSH1 0x20 DUP2 LT PUSH2 0x1966 JUMPI POP SWAP1 JUMP JUMPDEST PUSH1 0x0 NOT SWAP1 PUSH1 0x20 SUB PUSH1 0x3 SHL SHL AND SWAP1 JUMP JUMPDEST SWAP2 SWAP1 DUP3 PUSH1 0x40 SWAP2 SUB SLT PUSH2 0x244 JUMPI PUSH1 0x20 DUP3 MLOAD SWAP3 ADD MLOAD SWAP1 JUMP JUMPDEST DUP2 PUSH1 0x1F DUP3 ADD SLT ISZERO PUSH2 0x244 JUMPI PUSH1 0x20 DUP2 MLOAD SWAP2 ADD SWAP1 PUSH2 0x19A6 DUP2 PUSH2 0x48A JUMP JUMPDEST SWAP3 PUSH2 0x19B4 PUSH1 0x40 MLOAD SWAP5 DUP6 PUSH2 0x453 JUMP JUMPDEST DUP2 DUP5 MSTORE DUP2 DUP4 ADD GT PUSH2 0x244 JUMPI PUSH2 0x4F7 SWAP2 PUSH1 0x20 DUP5 ADD SWAP1 PUSH2 0xA1A JUMP JUMPDEST PUSH1 0x20 DUP2 DUP4 SUB SLT PUSH2 0x244 JUMPI DUP1 MLOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH2 0x244 JUMPI ADD SWAP1 PUSH1 0xC0 DUP3 DUP3 SUB SLT PUSH2 0x244 JUMPI PUSH2 0x19FC PUSH2 0x479 JUMP JUMPDEST SWAP2 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI DUP3 PUSH2 0x1A19 SWAP2 DUP4 ADD PUSH2 0x198B JUMP JUMPDEST DUP4 MSTORE PUSH1 0x20 DUP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH1 0xA0 SWAP3 PUSH2 0x1A3C SWAP2 DUP4 ADD PUSH2 0x198B JUMP JUMPDEST PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x40 DUP2 ADD MLOAD PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x60 DUP2 ADD MLOAD PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP2 ADD MLOAD PUSH1 0x80 DUP5 ADD MSTORE ADD MLOAD PUSH1 0xA0 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST SWAP3 SWAP2 SWAP1 PUSH2 0x1A78 SWAP2 DUP2 ADD SWAP1 PUSH2 0x18CC JUMP JUMPDEST SWAP1 DUP2 MLOAD SWAP2 PUSH2 0x1A88 PUSH2 0xAEC DUP5 PUSH2 0x1280 JUMP JUMPDEST PUSH2 0x1B52 JUMPI PUSH1 0x20 DUP4 MLOAD EQ PUSH2 0x1B09 JUMPI DUP3 MLOAD SWAP4 PUSH1 0x40 DUP6 EQ PUSH2 0x1ABB JUMPI PUSH1 0x40 MLOAD PUSH4 0x27755B91 PUSH1 0xE1 SHL DUP2 MSTORE DUP1 PUSH2 0x990 DUP7 PUSH1 0x4 DUP4 ADD PUSH2 0xA62 JUMP JUMPDEST PUSH2 0x225 PUSH2 0x1B04 PUSH2 0x1AEF PUSH2 0x1ADB DUP8 PUSH1 0x20 DUP1 DUP1 SWAP10 SWAP12 PUSH2 0x4F7 SWAP12 ADD ADD SWAP2 ADD PUSH2 0x1975 JUMP JUMPDEST SWAP7 SWAP1 SWAP6 ADD MLOAD PUSH1 0x20 DUP1 DUP3 MLOAD DUP4 ADD ADD SWAP2 ADD PUSH2 0x19CD JUMP JUMPDEST SWAP3 PUSH1 0x40 MLOAD SWAP3 DUP4 SWAP2 PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 PUSH1 0x20 DUP4 ADD SWAP3 MSTORE JUMP JUMPDEST PUSH2 0x1FEE JUMP JUMPDEST SWAP2 SWAP3 SWAP1 SWAP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH2 0x1B1F DUP6 PUSH2 0x1952 JUMP JUMPDEST GT PUSH2 0x1B37 JUMPI PUSH1 0x20 DUP1 PUSH2 0x4F7 SWAP5 SWAP6 ADD MLOAD SWAP3 ADD MLOAD SWAP2 PUSH2 0x1E61 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xBFF1AC65 PUSH1 0xE0 SHL DUP2 MSTORE DUP1 PUSH2 0x990 DUP7 PUSH1 0x4 DUP4 ADD PUSH2 0xA62 JUMP JUMPDEST POP SWAP2 POP POP PUSH1 0x0 SWAP1 JUMP JUMPDEST SWAP2 PUSH1 0x0 SWAP3 DUP4 SWAP3 PUSH1 0x20 DUP4 MLOAD SWAP4 ADD SWAP2 GAS CALL PUSH2 0x1B72 PUSH2 0x133D JUMP JUMPDEST SWAP1 ISZERO PUSH2 0x657 JUMPI POP JUMP JUMPDEST PUSH1 0x40 SWAP1 DUP2 MLOAD PUSH2 0x1B8A DUP4 DUP3 PUSH2 0x453 JUMP JUMPDEST PUSH1 0x12 DUP2 MSTORE PUSH18 0x11DA585B9BC814DB585C9D0815D85B1B195D PUSH1 0x72 SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP2 PUSH2 0x1BB6 DUP2 MLOAD SWAP2 DUP3 PUSH2 0x453 JUMP JUMPDEST PUSH1 0x1 DUP2 MSTORE PUSH1 0x31 PUSH1 0xF8 SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST SWAP1 DUP1 PUSH1 0x20 SWAP4 SWAP3 DUP2 DUP5 MSTORE DUP5 DUP5 ADD CALLDATACOPY PUSH1 0x0 DUP3 DUP3 ADD DUP5 ADD MSTORE PUSH1 0x1F ADD PUSH1 0x1F NOT AND ADD ADD SWAP1 JUMP JUMPDEST SWAP3 SWAP2 PUSH2 0x4F7 SWAP5 SWAP3 PUSH2 0x1C06 SWAP3 DUP6 MSTORE PUSH1 0x60 PUSH1 0x20 DUP7 ADD MSTORE PUSH1 0x60 DUP6 ADD SWAP2 PUSH2 0x1BC7 JUMP JUMPDEST SWAP2 PUSH1 0x40 DUP2 DUP5 SUB SWAP2 ADD MSTORE PUSH2 0xA3D JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP3 PUSH1 0x40 MLOAD SWAP4 DUP5 SWAP3 DUP4 CALLDATACOPY DUP2 ADD PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F503 DUP2 MSTORE SUB ADD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x2 DUP2 SWAP1 SHL SWAP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xFE SHL SUB DUP2 AND SUB PUSH2 0xF5C JUMPI JUMP JUMPDEST PUSH2 0x1C6E DUP2 SLOAD PUSH2 0x136D JUMP JUMPDEST SWAP1 DUP2 PUSH2 0x1C78 JUMPI POP POP JUMP JUMPDEST DUP2 PUSH1 0x1F PUSH1 0x0 SWAP4 GT PUSH1 0x1 EQ PUSH2 0x1C8A JUMPI POP SSTORE JUMP JUMPDEST DUP2 DUP4 MSTORE PUSH1 0x20 DUP4 KECCAK256 PUSH2 0x1CA6 SWAP2 PUSH1 0x1F ADD PUSH1 0x5 SHR DUP2 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x16DC JUMP JUMPDEST DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 KECCAK256 SWAP1 DUP2 SLOAD DUP4 PUSH1 0x1 SHL SWAP1 DUP5 NOT DUP6 PUSH1 0x3 SHL SHR NOT AND OR SWAP1 SSTORE SSTORE JUMP JUMPDEST SWAP2 PUSH1 0x20 PUSH2 0x4F7 SWAP4 DUP2 DUP2 MSTORE ADD SWAP2 PUSH2 0x1BC7 JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x1CE0 DUP4 PUSH2 0x13A7 JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x1DD6 JUMPI DUP1 MLOAD PUSH1 0x20 DUP3 ADD KECCAK256 PUSH2 0x1CF9 CALLDATASIZE DUP6 DUP6 PUSH2 0x4A5 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SUB PUSH2 0x1DB7 JUMPI POP SWAP1 DUP2 PUSH2 0x1D40 PUSH2 0x1D36 DUP4 PUSH32 0xCF95BBFE6F870F8CC40482DC3DCCDAFD268F0E9CE0A4F24EA1BEA9BE64E505FF SWAP6 PUSH2 0x1C14 JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x1D7B PUSH2 0x1D76 DUP6 PUSH1 0x0 MSTORE PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F502 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x1C64 JUMP JUMPDEST PUSH2 0x1DA8 PUSH2 0x1D96 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2F57 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH2 0xF8D JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2F57 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SSTORE JUMP JUMPDEST PUSH2 0x180E PUSH1 0x40 MLOAD SWAP3 DUP4 SWAP3 DUP4 PUSH2 0x1CC4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x781F2E39 PUSH1 0xE0 SHL DUP2 MSTORE SWAP4 DUP5 SWAP4 PUSH2 0x990 SWAP4 SWAP1 SWAP2 PUSH1 0x4 DUP7 ADD PUSH2 0x1BE8 JUMP JUMPDEST PUSH4 0x340C473D PUSH1 0xE1 SHL PUSH1 0x0 MSTORE PUSH1 0x4 DUP5 SWAP1 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1DF4 PUSH2 0x160E JUMP JUMPDEST SWAP1 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 ADD SWAP2 PUSH32 0x37F248F492286AB572E2A1EE0BD5315F2AAE54A08B5871B294D657F3A1F1D007 DUP4 MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP2 MSTORE PUSH2 0x1E34 PUSH1 0x60 DUP3 PUSH2 0x453 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 ADD SWAP3 PUSH2 0x1901 PUSH1 0xF0 SHL DUP5 MSTORE PUSH1 0x22 DUP4 ADD MSTORE PUSH1 0x42 DUP3 ADD MSTORE PUSH1 0x42 DUP2 MSTORE PUSH2 0x15E2 PUSH1 0x62 DUP3 PUSH2 0x453 JUMP JUMPDEST SWAP1 SWAP2 PUSH1 0x0 SWAP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND ISZERO PUSH2 0x1F4B JUMPI PUSH1 0x40 MLOAD SWAP3 PUSH1 0x4 DUP5 ADD SWAP5 PUSH1 0x24 DUP6 ADD SWAP6 PUSH1 0x44 DUP7 ADD SWAP3 DUP6 EXTCODESIZE ISZERO PUSH2 0x1ECB JUMPI POP SWAP2 DUP7 SWAP4 SWAP2 PUSH1 0x20 SWAP6 SWAP4 PUSH4 0xB135D3F PUSH1 0xE1 SHL DUP9 MSTORE MSTORE PUSH1 0x40 DUP5 MSTORE DUP2 MLOAD DUP6 ADD DUP1 SWAP3 PUSH1 0x4 GAS STATICCALL SWAP4 PUSH1 0x44 RETURNDATASIZE ADD SWAP2 GAS STATICCALL SWAP2 MLOAD PUSH4 0xB135D3F PUSH1 0xE1 SHL EQ SWAP2 AND AND SWAP1 JUMP JUMPDEST SWAP8 SWAP7 POP POP SWAP1 POP DUP2 MLOAD DUP1 PUSH1 0x40 EQ PUSH2 0x1F26 JUMPI PUSH1 0x41 EQ PUSH2 0x1EE8 JUMPI POP POP POP POP JUMP JUMPDEST PUSH1 0x20 SWAP3 SWAP4 SWAP6 POP PUSH1 0x60 DUP3 ADD MLOAD PUSH1 0x0 BYTE DUP4 MSTORE PUSH1 0x40 DUP3 ADD MLOAD PUSH1 0x60 MSTORE JUMPDEST PUSH1 0x0 MSTORE ADD MLOAD PUSH1 0x40 MSTORE PUSH1 0x20 PUSH1 0x1 PUSH1 0x80 PUSH1 0x0 DUP3 GAS STATICCALL MLOAD XOR PUSH1 0x60 SHL RETURNDATASIZE GT SWAP2 PUSH1 0x0 PUSH1 0x60 MSTORE PUSH1 0x40 MSTORE JUMP JUMPDEST POP PUSH1 0x20 SWAP3 SWAP4 SWAP6 POP PUSH1 0x40 DUP3 ADD MLOAD PUSH1 0x1B DUP2 PUSH1 0xFF SHR ADD DUP5 MSTORE PUSH1 0x1 DUP1 PUSH1 0xFF SHL SUB AND PUSH1 0x60 MSTORE PUSH2 0x1F01 JUMP JUMPDEST POP POP POP POP PUSH1 0x0 SWAP1 JUMP JUMPDEST SWAP1 PUSH2 0x488 PUSH1 0x1 PUSH1 0x2D PUSH1 0x40 MLOAD DUP1 SWAP6 PUSH13 0x1131B430B63632B733B2911D11 PUSH1 0x99 SHL PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1F8A DUP2 MLOAD DUP1 SWAP3 PUSH1 0x20 DUP7 DUP7 ADD SWAP2 ADD PUSH2 0xA1A JUMP JUMPDEST DUP2 ADD PUSH1 0x11 PUSH1 0xF9 SHL DUP4 DUP3 ADD MSTORE SUB ADD PUSH1 0x1E NOT DUP2 ADD DUP6 MSTORE ADD DUP4 PUSH2 0x453 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x20 LT ISZERO PUSH2 0x1124 JUMPI PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x20 SWAP3 SWAP2 SWAP1 PUSH2 0x1FD7 DUP5 SWAP3 DUP3 DUP2 MLOAD SWAP5 DUP6 SWAP3 ADD PUSH2 0xA1A JUMP JUMPDEST ADD SWAP1 DUP2 MSTORE ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 PUSH1 0x20 SWAP2 SUB SLT PUSH2 0x244 JUMPI MLOAD SWAP1 JUMP JUMPDEST SWAP3 SWAP2 SWAP1 PUSH1 0x0 SWAP4 PUSH1 0xA0 DUP3 ADD SWAP5 DUP6 MLOAD PUSH32 0x7FFFFFFF800000007FFFFFFFFFFFFFFFDE737D56D38BCF4279DCE5617E3192A8 LT PUSH2 0x21CB JUMPI PUSH1 0x20 DUP4 ADD SWAP2 PUSH32 0xFF1A2A9176D650E4A99DEDB58F1793003935130579FE17B5A3F698AC5B00E634 PUSH2 0x2060 DUP5 MLOAD PUSH1 0x60 DUP8 ADD MLOAD PUSH2 0x205A DUP2 PUSH2 0x12CB JUMP JUMPDEST SWAP2 PUSH2 0x2358 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SUB PUSH2 0x21D4 JUMPI PUSH2 0x2078 PUSH2 0x207D SWAP2 PUSH2 0x21DE JUMP JUMPDEST PUSH2 0x1F54 JUMP JUMPDEST PUSH2 0x2092 DUP4 MLOAD PUSH1 0x40 DUP7 ADD MLOAD PUSH2 0x205A DUP5 MLOAD DUP3 PUSH2 0x12E7 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SWAP1 PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SUB PUSH2 0x21CB JUMPI PUSH1 0x1 PUSH1 0xF8 SHL PUSH1 0x1 PUSH1 0xF8 SHL PUSH2 0x20CB PUSH2 0x20BD DUP7 MLOAD PUSH2 0x1FA5 JUMP JUMPDEST MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 JUMP JUMPDEST AND SUB PUSH2 0x21CB JUMPI PUSH2 0x20E8 PUSH1 0x20 SWAP3 PUSH1 0x0 SWAP3 POP MLOAD PUSH1 0x40 MLOAD SWAP2 DUP3 DUP1 SWAP3 PUSH2 0xEC2 JUMP JUMPDEST SUB SWAP1 PUSH1 0x2 GAS STATICCALL ISZERO PUSH2 0x21C6 JUMPI PUSH1 0x20 PUSH1 0x0 PUSH2 0x211E DUP2 MLOAD PUSH2 0x2112 DUP6 MLOAD PUSH2 0x225 PUSH1 0x40 MLOAD SWAP4 DUP5 SWAP3 DUP9 DUP5 ADD PUSH2 0x1FC1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 DUP1 SWAP3 PUSH2 0xEC2 JUMP JUMPDEST SUB SWAP1 PUSH1 0x2 GAS STATICCALL ISZERO PUSH2 0x21C6 JUMPI PUSH1 0x80 PUSH1 0x0 MLOAD SWAP2 ADD SWAP4 PUSH1 0x0 DUP1 DUP7 MLOAD DUP6 PUSH2 0x2171 DUP6 MLOAD PUSH2 0x225 DUP11 PUSH1 0x40 MLOAD SWAP5 DUP6 SWAP4 PUSH1 0x20 DUP6 ADD SWAP8 DUP13 DUP10 SWAP2 SWAP3 PUSH1 0x80 SWAP4 SWAP7 SWAP6 SWAP5 SWAP2 SWAP7 PUSH1 0xA0 DUP5 ADD SWAP8 DUP5 MSTORE PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE ADD MSTORE JUMP JUMPDEST MLOAD SWAP1 PUSH2 0x100 GAS STATICCALL SWAP5 PUSH2 0x2181 PUSH2 0x133D JUMP JUMPDEST DUP1 MLOAD SWAP7 DUP1 PUSH2 0x21BD JUMPI JUMPDEST PUSH2 0x219D JUMPI POP PUSH2 0x4F7 SWAP6 POP MLOAD SWAP1 MLOAD SWAP2 PUSH2 0x2245 JUMP JUMPDEST PUSH1 0x1 SWAP7 PUSH2 0x21B9 SWAP7 POP DUP2 ADD PUSH1 0x20 SWAP1 DUP2 ADD SWAP6 POP ADD SWAP3 POP PUSH2 0x1FDF SWAP2 POP POP JUMP JUMPDEST EQ SWAP1 JUMP JUMPDEST POP DUP7 ISZERO ISZERO PUSH2 0x218A JUMP JUMPDEST PUSH2 0x1FB5 JUMP JUMPDEST SWAP5 POP POP POP POP POP SWAP1 JUMP JUMPDEST POP SWAP5 POP POP POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x4F7 SWAP2 PUSH2 0x21F0 PUSH1 0x60 DUP4 PUSH2 0x453 JUMP JUMPDEST PUSH1 0x40 DUP3 MSTORE PUSH32 0x4142434445464748494A4B4C4D4E4F505152535455565758595A616263646566 PUSH1 0x20 DUP4 ADD MSTORE PUSH32 0x6768696A6B6C6D6E6F707172737475767778797A303132333435363738392D5F PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x2404 JUMP JUMPDEST SWAP4 SWAP2 SWAP1 SWAP3 SWAP4 DUP4 ISZERO DUP1 ISZERO PUSH2 0x2335 JUMPI JUMPDEST DUP1 ISZERO PUSH2 0x232D JUMPI JUMPDEST DUP1 ISZERO PUSH2 0x2315 JUMPI JUMPDEST PUSH2 0x230B JUMPI PUSH2 0x226F DUP4 DUP7 PUSH2 0x24AC JUMP JUMPDEST ISZERO PUSH2 0x230B JUMPI PUSH1 0x40 MLOAD SWAP2 PUSH1 0x20 DUP4 MSTORE PUSH1 0x20 DUP1 DUP5 ADD MSTORE PUSH1 0x20 PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x60 DUP4 ADD MSTORE PUSH32 0xFFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC63254F PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2F17 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0xA0 DUP4 ADD MSTORE PUSH1 0x20 DUP3 PUSH1 0xC0 DUP2 PUSH1 0x5 PUSH1 0x0 NOT STATICCALL ISZERO PUSH2 0x244 JUMPI PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2F17 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP5 PUSH2 0x2305 SWAP4 DUP7 PUSH2 0x22FF SWAP5 MLOAD DUP2 DUP2 DUP10 MULMOD SWAP5 MULMOD SWAP2 PUSH2 0x2587 JUMP JUMPDEST SWAP2 PUSH2 0xF34 JUMP JUMPDEST SWAP1 ADDMOD ISZERO SWAP1 JUMP JUMPDEST POP POP POP POP POP PUSH1 0x0 SWAP1 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2F17 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP3 LT ISZERO PUSH2 0x2261 JUMP JUMPDEST POP DUP2 ISZERO PUSH2 0x225A JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2F17 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP5 LT ISZERO PUSH2 0x2253 JUMP JUMPDEST DUP2 PUSH1 0x40 MLOAD SWAP2 DUP3 CALLDATACOPY KECCAK256 SWAP1 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x60 SWAP5 SWAP4 SWAP3 SWAP1 DUP4 DUP2 GT ISZERO PUSH2 0x23CA JUMPI JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x23C2 JUMPI JUMPDEST POP DUP3 DUP2 LT PUSH2 0x237F JUMPI POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP5 POP SWAP2 DUP3 SWAP1 SUB SWAP2 ADD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND JUMPDEST DUP2 DUP2 ADD MLOAD DUP6 DUP3 ADD MSTORE PUSH1 0x1F NOT ADD SWAP1 DUP2 ISZERO PUSH2 0x23AC JUMPI SWAP1 PUSH2 0x2393 JUMP JUMPDEST POP POP PUSH1 0x40 DUP2 DUP5 ADD PUSH1 0x0 PUSH1 0x20 DUP3 ADD MSTORE ADD PUSH1 0x40 MSTORE DUP3 MSTORE JUMP JUMPDEST SWAP1 POP CODESIZE PUSH2 0x2372 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x2369 JUMP JUMPDEST SWAP1 PUSH2 0x23DC DUP3 PUSH2 0x48A JUMP JUMPDEST PUSH2 0x23E9 PUSH1 0x40 MLOAD SWAP2 DUP3 PUSH2 0x453 JUMP JUMPDEST DUP3 DUP2 MSTORE DUP1 SWAP3 PUSH2 0x23FA PUSH1 0x1F NOT SWAP2 PUSH2 0x48A JUMP JUMPDEST ADD SWAP1 PUSH1 0x20 CALLDATASIZE SWAP2 ADD CALLDATACOPY JUMP JUMPDEST SWAP1 DUP2 MLOAD ISZERO PUSH2 0x24A2 JUMPI SWAP1 PUSH2 0x2431 PUSH2 0x242C PUSH2 0x2425 PUSH2 0x2420 DUP5 MLOAD PUSH2 0x1C4C JUMP JUMPDEST PUSH2 0x12D9 JUMP JUMPDEST PUSH1 0x3 SWAP1 DIV SWAP1 JUMP JUMPDEST PUSH2 0x23D2 JUMP JUMPDEST SWAP2 PUSH1 0x20 DUP4 ADD SWAP1 DUP3 DUP1 MLOAD ADD SWAP1 PUSH1 0x20 DUP3 ADD SWAP3 DUP4 MLOAD SWAP5 PUSH1 0x0 DUP6 MSTORE JUMPDEST DUP4 DUP2 LT PUSH2 0x2458 JUMPI POP POP POP POP MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x4 SWAP2 ADD SWAP2 PUSH1 0x1 PUSH1 0x3F DUP5 MLOAD DUP3 DUP3 DUP3 PUSH1 0x12 SHR AND DUP9 ADD ADD MLOAD DUP5 MSTORE8 DUP3 DUP3 DUP3 PUSH1 0xC SHR AND DUP9 ADD ADD MLOAD DUP4 DUP6 ADD MSTORE8 DUP3 DUP3 DUP3 PUSH1 0x6 SHR AND DUP9 ADD ADD MLOAD PUSH1 0x2 DUP6 ADD MSTORE8 AND DUP6 ADD ADD MLOAD PUSH1 0x3 DUP3 ADD MSTORE8 ADD SWAP1 PUSH2 0x2449 JUMP JUMPDEST POP POP PUSH2 0x4F7 PUSH2 0x1328 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 LT DUP1 ISZERO SWAP1 PUSH2 0x256F JUMPI JUMPDEST DUP1 ISZERO PUSH2 0x255E JUMPI JUMPDEST PUSH2 0x2557 JUMPI PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH32 0x5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B SWAP1 DUP3 SWAP1 DUP2 PUSH32 0xFFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC DUP3 MULMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 DUP2 DUP1 MULMOD MULMOD ADDMOD ADDMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP1 MULMOD EQ SWAP1 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP1 JUMP JUMPDEST POP DUP1 ISZERO DUP1 ISZERO PUSH2 0x24CC JUMPI POP DUP2 ISZERO PUSH2 0x24CC JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP3 LT ISZERO PUSH2 0x24C5 JUMP JUMPDEST SWAP1 SWAP3 PUSH1 0x0 SWAP3 SWAP1 DUP4 PUSH1 0xFF DUP2 DUP5 ISZERO DUP1 PUSH2 0x2B7E JUMPI JUMPDEST PUSH2 0x2B73 JUMPI PUSH2 0x25A7 DUP9 DUP8 PUSH2 0x2B86 JUMP JUMPDEST SWAP3 SWAP1 SWAP2 DUP3 ISZERO DUP1 PUSH2 0x2B6B JUMPI JUMPDEST PUSH2 0x2B30 JUMPI JUMPDEST POP DUP6 DUP2 SHR PUSH1 0x2 DUP7 PUSH1 0xFE SHR AND ADD JUMPDEST ISZERO PUSH2 0x2B17 JUMPI PUSH1 0x1 DUP7 DUP3 SHR AND PUSH1 0x2 DUP7 DUP4 SHR PUSH1 0x1 SHL AND ADD PUSH1 0x1 DUP2 EQ PUSH2 0x2ACC JUMPI JUMPDEST PUSH1 0x2 DUP2 EQ PUSH2 0x2ABF JUMPI JUMPDEST PUSH1 0x3 EQ PUSH2 0x2AB2 JUMPI JUMPDEST PUSH1 0x1 SWAP9 PUSH1 0x0 NOT SWAP2 SWAP1 SWAP2 ADD SWAP7 SWAP5 SWAP6 SWAP5 DUP10 SWAP5 SWAP4 SWAP3 SWAP2 JUMPDEST DUP9 PUSH1 0x0 NOT GT PUSH2 0x2685 JUMPI POP POP POP POP POP POP POP POP POP PUSH1 0x40 MLOAD SWAP2 PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x20 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD MSTORE PUSH1 0x20 PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH1 0x60 SHL SUB PUSH1 0x60 SHL NOT PUSH1 0xA0 DUP4 ADD MSTORE PUSH1 0x20 DUP3 PUSH1 0xC0 DUP2 PUSH1 0x5 PUSH1 0x0 NOT STATICCALL ISZERO PUSH2 0x244 JUMPI SWAP1 MLOAD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD SWAP1 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 SWAP6 SWAP7 SWAP8 SWAP9 PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH1 0x60 SHL SUB PUSH1 0x60 SHL NOT DUP7 PUSH1 0x2 MULMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP3 DUP1 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 DUP4 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP3 SWAP1 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 SWAP1 DUP16 DUP3 DUP2 DUP4 ADDMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SUB SWAP1 ADDMOD MULMOD PUSH1 0x3 MULMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP4 MULMOD SWAP13 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP3 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP12 DUP1 MULMOD ADDMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SWAP1 DUP2 SUB DUP12 ADDMOD SWAP1 MULMOD SWAP7 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP9 SWAP1 DUP3 SWAP1 DUP5 MULMOD ADDMOD SWAP7 DUP12 PUSH1 0x2 DUP13 PUSH1 0x1 DUP14 DUP5 SHR AND SWAP3 SHR PUSH1 0x1 SHL AND ADD DUP1 ISZERO PUSH2 0x2A95 JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x2A4A JUMPI JUMPDEST PUSH1 0x2 DUP2 EQ PUSH2 0x2A3F JUMPI JUMPDEST PUSH1 0x3 EQ PUSH2 0x2A36 JUMPI JUMPDEST DUP3 ISZERO PUSH2 0x2A23 JUMPI PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP9 SWAP1 DUP3 SWAP1 DUP16 SWAP1 MULMOD ADDMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP10 DUP3 SUB SWAP1 DUP3 SWAP1 DUP6 SWAP1 MULMOD ADDMOD SWAP8 DUP2 ISZERO PUSH2 0x28E9 JUMPI JUMPDEST PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP10 DUP1 MULMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP11 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP11 SWAP1 MULMOD SWAP13 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP5 SWAP1 MULMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP3 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP6 DUP2 SUB DUP2 DUP7 DUP1 MULMOD ADDMOD ADDMOD SWAP8 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP4 DUP5 SWAP2 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SWAP1 DUP11 DUP3 SUB SWAP1 ADDMOD MULMOD ADDMOD SWAP5 SWAP9 JUMPDEST PUSH1 0x0 NOT ADD SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2607 JUMP JUMPDEST DUP9 PUSH2 0x280C JUMPI SWAP11 SWAP2 SWAP8 POP SWAP1 SWAP6 SWAP1 POP PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD SWAP11 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP13 DUP1 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 DUP14 MULMOD SWAP13 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP3 SWAP1 MULMOD SWAP12 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 DUP12 DUP2 SUB DUP3 ADDMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP13 SWAP1 ADDMOD MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH1 0x3 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP14 MULMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD SWAP12 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP3 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP5 DUP1 MULMOD ADDMOD SWAP12 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP4 DUP5 SWAP2 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SWAP1 DUP15 DUP3 SUB SWAP1 ADDMOD SWAP1 MULMOD ADDMOD SWAP5 PUSH2 0x28D8 JUMP JUMPDEST PUSH1 0x1 SWAP13 POP SWAP1 SWAP11 DUP13 SWAP9 POP SWAP1 SWAP7 POP SWAP1 POP PUSH2 0x28D8 JUMP JUMPDEST POP POP DUP4 DUP6 PUSH2 0x27CB JUMP JUMPDEST DUP6 SWAP3 POP DUP5 SWAP2 POP PUSH2 0x27C3 JUMP JUMPDEST PUSH32 0x6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296 SWAP3 POP PUSH32 0x4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5 SWAP2 POP PUSH2 0x27BA JUMP JUMPDEST POP POP POP SWAP10 SWAP6 SWAP9 SWAP5 PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH1 0x60 SHL SUB PUSH1 0x60 SHL NOT SUB SWAP5 PUSH2 0x28D8 JUMP JUMPDEST SWAP3 POP DUP1 SWAP7 POP SWAP6 DUP2 SWAP3 PUSH2 0x25F3 JUMP JUMPDEST SWAP7 SWAP8 POP DUP8 SWAP7 DUP10 SWAP5 POP PUSH2 0x25EB JUMP JUMPDEST PUSH32 0x6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296 SWAP9 POP PUSH32 0x4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5 SWAP5 POP PUSH2 0x25E2 JUMP JUMPDEST PUSH1 0x0 NOT ADD PUSH1 0x1 DUP7 DUP3 SHR AND PUSH1 0x2 DUP7 DUP4 SHR PUSH1 0x1 SHL AND ADD PUSH2 0x25C4 JUMP JUMPDEST SWAP5 SWAP6 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2F17 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP2 SWAP7 DUP3 SUB SWAP1 ADDMOD SWAP5 DUP5 DUP7 ISZERO DUP1 PUSH2 0x2B63 JUMPI JUMPDEST ISZERO PUSH2 0x25B7 JUMPI SWAP9 POP POP POP POP POP POP POP POP POP SWAP1 JUMP JUMPDEST POP PUSH1 0x1 PUSH2 0x2B51 JUMP JUMPDEST POP DUP4 ISZERO PUSH2 0x25B2 JUMP JUMPDEST SWAP7 POP POP POP POP POP POP POP SWAP1 JUMP JUMPDEST POP DUP4 ISZERO PUSH2 0x2599 JUMP JUMPDEST SWAP2 SWAP1 PUSH32 0x6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296 PUSH32 0x4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5 SWAP2 DUP1 ISZERO PUSH2 0x2D3A JUMPI DUP5 PUSH2 0xC66 SWAP5 SWAP6 DUP4 EQ DUP1 PUSH2 0x2D31 JUMPI JUMPDEST ISZERO PUSH2 0x2D1C JUMPI POP PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 POP DUP3 PUSH1 0x2 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 DUP1 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP5 DUP5 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP6 SWAP1 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 SWAP1 DUP2 PUSH1 0x1 DUP3 ADDMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH32 0xFFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFE SWAP1 ADDMOD MULMOD PUSH1 0x3 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP5 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP4 DUP1 MULMOD ADDMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT PUSH1 0x1 DUP7 MULMOD SWAP6 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH1 0x1 SWAP1 MULMOD SWAP5 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP4 DUP5 SWAP2 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 SUB SWAP3 SWAP1 SWAP2 DUP3 SWAP1 DUP7 DUP3 SUB SWAP1 ADDMOD SWAP1 MULMOD ADDMOD SWAP1 PUSH2 0x2E5C JUMP JUMPDEST SWAP1 SWAP2 SWAP3 PUSH2 0x2D28 SWAP4 PUSH2 0x2D40 JUMP JUMPDEST SWAP3 SWAP1 SWAP2 SWAP1 PUSH2 0x2E5C JUMP JUMPDEST POP DUP2 DUP5 EQ PUSH2 0x2BDF JUMP JUMPDEST POP SWAP3 POP SWAP1 JUMP JUMPDEST SWAP2 SWAP4 SWAP1 DUP1 ISZERO PUSH2 0x2E53 JUMPI PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 SUB SWAP4 DUP5 SWAP1 DUP3 SWAP1 PUSH1 0x1 SWAP1 MULMOD ADDMOD SWAP4 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP4 DUP3 SUB SWAP1 DUP3 SWAP1 PUSH1 0x1 SWAP1 MULMOD ADDMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP5 DUP1 MULMOD SWAP4 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP6 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP6 SWAP1 MULMOD SWAP5 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP8 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP7 DUP2 SUB DUP2 DUP6 DUP1 MULMOD ADDMOD ADDMOD SWAP6 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP3 DUP4 SWAP1 DUP7 SWAP1 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SWAP1 DUP10 DUP3 SUB SWAP1 ADDMOD MULMOD ADDMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH1 0x1 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH1 0x1 MULMOD SWAP1 JUMP JUMPDEST POP PUSH1 0x1 SWAP2 POP DUP2 SWAP1 JUMP JUMPDEST SWAP2 SWAP1 SWAP3 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD MSTORE PUSH1 0x20 PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH1 0x60 SHL SUB PUSH1 0x60 SHL NOT PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0x20 DUP2 PUSH1 0xC0 DUP2 PUSH1 0x5 PUSH1 0x0 NOT STATICCALL ISZERO PUSH2 0x244 JUMPI MLOAD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP5 SWAP1 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 SWAP1 DUP3 SWAP1 DUP1 MULMOD SWAP1 MULMOD SWAP2 JUMP INVALID MOD 0x27 0xF7 0x2A CREATE 0xE6 DELEGATECALL SLT NOT JUMPDEST 0xD DUP11 0xCB 0xE4 CODESIZE 0xB2 DUP1 SWAP1 0xDD SLOAD JUMPDEST PUSH30 0x2331FCCF77723561F500FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAAD 0xA7 OR SWAP15 DUP5 RETURN 0xB9 0xCA 0xC2 0xFC PUSH4 0x25513608 SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBC0627F72AF0E6F412195B0D DUP11 0xCB 0xE4 CODESIZE 0xB2 DUP1 SWAP1 0xDD SLOAD JUMPDEST PUSH30 0x2331FCCF77723561F501A264697066735822122026165C0497221DC0D0A6 INVALID CHAINID AND EXTCODESIZE SHL STATICCALL 0x2E PUSH31 0x78EBC4B8A9A8F3C3ED3C6CBE43EC64736F6C634300081C003338109EDC26E1 PUSH7 0xB5579352CE56A5 ADDMOD SGT OR PUSH31 0xB25208FD90D61F2F3783862202200000000000000000000000000000000000 ", + "sourceMap": "1195:14720:30:-:0;;;;;;1279:4:21;1255:31;;1195:14720:30;;;;;;;:::i;:::-;5301:1;1195:14720;;-1:-1:-1;;1195:14720:30;;-1:-1:-1;1195:14720:30;;;;;;;;;;-1:-1:-1;1195:14720:30;5325:22;;1195:14720;;5325:22;;;;;;:::i;:::-;5313:34;;;:::i;:::-;;;;;:::i;:::-;;11593:89:32;1195:14720:30;-1:-1:-1;9026:3:32;1195:14720:30;;9007:17:32;;;;;1195:14720:30;9049:9:32;;;;:::i;:::-;;1195:14720:30;9049:22:32;;:48;;;9026:3;9045:128;;1195:14720:30;9191:9:32;;;;:::i;:::-;;1195:14720:30;9191:22:32;:73;;;9026:3;9187:157;;9375:9;;;;:::i;:::-;;;9386:17;-1:-1:-1;;1195:14720:30;;;;5301:1;1195:14720;;;;;;:::i;:::-;;;9792:51:32;;1195:14720:30;;;:::i;:::-;;;-1:-1:-1;;1195:14720:30;5301:1;1195:14720;;;-1:-1:-1;1195:14720:30;;;9954:14:32;1195:14720:30;;;;;;;-1:-1:-1;;;;;1195:14720:30;;;;;;5301:1;1195:14720;;;;;;;;;9026:3:32;1195:14720:30;;;;;;;;;;;9026:3:32;1195:14720:30;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1195:14720:30;;9999:22:32;1195:14720:30;5301:1;1195:14720;;;-1:-1:-1;1195:14720:30;;;;-1:-1:-1;;;7148:33:32;1195:14720:30;;;;;;;;;;;;;;;9999:22:32;;;;;:::i;:::-;;;;1195:14720:30;8996:9:32;;1195:14720:30;;;;;;;;;;;;;;;;-1:-1:-1;1195:14720:30;;-1:-1:-1;1195:14720:30;;-1:-1:-1;1195:14720:30;;;;;;;;5301:1;1195:14720;;;;-1:-1:-1;;;;;;;;;;;1195:14720:30;;9999:22:32;1195:14720:30;;;;;;;;;;;;;;;;;;;;;;;;7148:33:32;1195:14720:30;;;;;;;;;;;;;;;5301:1;1195:14720;;;;;;;;;;;;;;;;;-1:-1:-1;1195:14720:30;;-1:-1:-1;1195:14720:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1195:14720:30;;5301:1;1195:14720;;;;;;-1:-1:-1;1195:14720:30;;;;;;;;-1:-1:-1;1195:14720:30;;;;;-1:-1:-1;1195:14720:30;;;;;;;;;;;;-1:-1:-1;1195:14720:30;;;;;-1:-1:-1;1195:14720:30;9792:51:32;1195:14720:30;;-1:-1:-1;;;9824:19:32;;1195:14720:30;;;9824:19:32;;;;;;:::i;:::-;;;;1195:14720:30;;;;-1:-1:-1;1195:14720:30;;;;;-1:-1:-1;1195:14720:30;9187:157:32;9319:9;;9291:38;9319:9;;;:::i;:::-;;1195:14720:30;;-1:-1:-1;;;9291:38:32;;1195:14720:30;;;9291:38:32;;;;:::i;9191:73::-;9233:9;;;;;:::i;:::-;;1195:14720:30;;;;;;;;;;;;9191:73:32;-1:-1:-1;;;;;;;9191:73:32;;1195:14720:30;;;;;;7148:33:32;1195:14720:30;;;;;;9045:128:32;9148:9;;9124:34;9148:9;;;:::i;:::-;;1195:14720:30;;-1:-1:-1;;;9124:34:32;;1195:14720:30;;;9124:34:32;;;;:::i;9049:48::-;9075:9;;;;;;:::i;:::-;;1195:14720:30;9075:22:32;;9049:48;;9007:17;;;11593:89;1195:14720:30;;;;;;;;1255:31:21;1195:14720:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1195:14720:30;;;;-1:-1:-1;;;;;1195:14720:30;;;;;;;;;;:::o;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;1195:14720:30;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;1195:14720:30;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;7148:33:32;1195:14720:30;;;;;;;:::o" }, "deployedBytecode": { "functionDebugData": { "abi_decode_array_bytes_calldata_dyn_calldata": { - "entryPoint": 1349, + "entryPoint": 1394, "id": null, "parameterSlots": 1, "returnSlots": 2 }, + "abi_decode_array_bytes_dyn": { + "entryPoint": 4291, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_available_length_array_bytes_dyn": { + "entryPoint": 4175, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, "abi_decode_available_length_bytes": { - "entryPoint": 1144, + "entryPoint": 1189, "id": null, "parameterSlots": 3, "returnSlots": 1 }, "abi_decode_bytes": { - "entryPoint": 1199, + "entryPoint": 1244, "id": null, "parameterSlots": 2, "returnSlots": 1 @@ -237398,31 +263131,31 @@ "returnSlots": 1 }, "abi_decode_bytes_calldata": { - "entryPoint": 742, + "entryPoint": 758, "id": null, "parameterSlots": 2, "returnSlots": 2 }, "abi_decode_bytes_fromMemory": { - "entryPoint": 5941, + "entryPoint": 6539, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_struct_PackedUserOperation_calldata": { - "entryPoint": 869, + "entryPoint": 914, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_struct_SignatureWrapper": { - "entryPoint": 5776, + "entryPoint": 6348, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_struct_WebAuthnAuth_fromMemory": { - "entryPoint": 6007, + "entryPoint": 6605, "id": null, "parameterSlots": 2, "returnSlots": 1 @@ -237434,39 +263167,45 @@ "returnSlots": 1 }, "abi_decode_uint256_fromMemory": { - "entryPoint": 7838, + "entryPoint": 8159, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_uint256t_bytes_calldata": { - "entryPoint": 2922, + "entryPoint": 3127, "id": null, "parameterSlots": 1, "returnSlots": 3 }, "abi_decode_uint256t_uint256_fromMemory": { - "entryPoint": 5919, + "entryPoint": 6517, "id": null, "parameterSlots": 2, "returnSlots": 2 }, - "abi_encode_bytes": { - "entryPoint": 2453, + "abi_encode_address": { + "entryPoint": null, "id": null, - "parameterSlots": 2, + "parameterSlots": 1, "returnSlots": 1 }, - "abi_encode_bytes32_address": { + "abi_encode_address_uint256_bytes32_bytes32_bytes32_uint256_bytes32_bytes32": { "entryPoint": null, "id": null, + "parameterSlots": 9, + "returnSlots": 1 + }, + "abi_encode_bytes": { + "entryPoint": 2658, + "id": null, "parameterSlots": 2, "returnSlots": 1 }, - "abi_encode_bytes32_address_uint256_bytes32_bytes32_bytes32_uint256_bytes32_bytes32": { + "abi_encode_bytes32_address": { "entryPoint": null, "id": null, - "parameterSlots": 9, + "parameterSlots": 2, "returnSlots": 1 }, "abi_encode_bytes32_bytes32": { @@ -237482,37 +263221,37 @@ "returnSlots": 1 }, "abi_encode_bytes_calldata": { - "entryPoint": 7043, + "entryPoint": 7364, "id": null, "parameterSlots": 3, "returnSlots": 1 }, "abi_encode_bytes_calldata_ptr": { - "entryPoint": 4277, + "entryPoint": 4890, "id": null, "parameterSlots": 3, "returnSlots": 1 }, "abi_encode_bytes_calldata_to_bytes": { - "entryPoint": 6790, + "entryPoint": 7111, "id": null, "parameterSlots": 3, "returnSlots": 1 }, "abi_encode_bytes_memory_ptr": { - "entryPoint": 3573, + "entryPoint": 3778, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_encode_bytes_to_bytes": { - "entryPoint": 2416, + "entryPoint": 2621, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_encode_packed_bytes_bytes32": { - "entryPoint": 7808, + "entryPoint": 8129, "id": null, "parameterSlots": 3, "returnSlots": 1 @@ -237523,14 +263262,14 @@ "parameterSlots": 2, "returnSlots": 1 }, - "abi_encode_uint256_11168": { + "abi_encode_uint256_11559": { "entryPoint": null, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "abi_encode_uint256_bytes_calldata_bytes": { - "entryPoint": 6823, + "entryPoint": 7144, "id": null, "parameterSlots": 5, "returnSlots": 1 @@ -237542,31 +263281,31 @@ "returnSlots": 1 }, "access_calldata_tail_bytes_calldata": { - "entryPoint": 3837, + "entryPoint": 4042, "id": null, "parameterSlots": 2, "returnSlots": 2 }, "allocate_and_zero_memory_array_string": { - "entryPoint": 8849, + "entryPoint": 9170, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "allocate_memory": { - "entryPoint": 1100, + "entryPoint": 1145, "id": null, "parameterSlots": 0, "returnSlots": 1 }, "allocate_memory_array_bytes": { - "entryPoint": 4291, + "entryPoint": 4904, "id": null, "parameterSlots": 0, "returnSlots": 1 }, "array_allocation_size_bytes": { - "entryPoint": 1117, + "entryPoint": 1162, "id": null, "parameterSlots": 1, "returnSlots": 1 @@ -237578,37 +263317,43 @@ "returnSlots": 1 }, "bytes_concat_bytes4_bytes32": { - "entryPoint": 4239, + "entryPoint": 4852, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "calldata_array_index_access_struct_Call_calldata_dyn_calldata": { - "entryPoint": 4134, + "entryPoint": 4752, "id": null, "parameterSlots": 3, "returnSlots": 1 }, + "calldata_array_index_range_access_bytes_calldata": { + "entryPoint": 4146, + "id": null, + "parameterSlots": 3, + "returnSlots": 2 + }, "checked_add_uint256": { - "entryPoint": 4226, + "entryPoint": 4839, "id": null, "parameterSlots": 2, "returnSlots": 1 }, - "checked_add_uint256_11157": { - "entryPoint": 4183, + "checked_add_uint256_11548": { + "entryPoint": 4796, "id": null, "parameterSlots": 1, "returnSlots": 1 }, - "checked_add_uint256_11207": { - "entryPoint": 4198, + "checked_add_uint256_11599": { + "entryPoint": 4811, "id": null, "parameterSlots": 1, "returnSlots": 1 }, - "checked_add_uint256_11217": { - "entryPoint": 4212, + "checked_add_uint256_11608": { + "entryPoint": 4825, "id": null, "parameterSlots": 1, "returnSlots": 1 @@ -237620,19 +263365,19 @@ "returnSlots": 1 }, "checked_mul_uint256": { - "entryPoint": 6923, + "entryPoint": 7244, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "checked_sub_uint256": { - "entryPoint": 3687, + "entryPoint": 3892, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "clean_up_bytearray_end_slots_bytes_storage": { - "entryPoint": 5299, + "entryPoint": 5875, "id": null, "parameterSlots": 3, "returnSlots": 0 @@ -237643,116 +263388,134 @@ "parameterSlots": 1, "returnSlots": 1 }, + "cleanup_bytes4": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, "clear_storage_range_bytes1": { - "entryPoint": 5276, + "entryPoint": 5852, "id": null, "parameterSlots": 2, "returnSlots": 0 }, "convert_bytes_to_fixedbytes_from_bytes_calldata_to_bytes4": { - "entryPoint": 3887, + "entryPoint": 4092, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "convert_bytes_to_fixedbytes_from_bytes_to_bytes32": { - "entryPoint": 5884, + "entryPoint": 6482, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "convert_bytes_to_fixedbytes_from_bytes_to_bytes4": { + "entryPoint": 4393, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "copy_memory_to_memory_with_cleanup": { - "entryPoint": 2381, + "entryPoint": 2586, "id": null, "parameterSlots": 3, "returnSlots": 0 }, "external_fun_REPLAYABLE_NONCE_KEY": { - "entryPoint": 2893, + "entryPoint": 3098, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "external_fun_addOwnerAddress": { - "entryPoint": 621, + "entryPoint": 637, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "external_fun_addOwnerPublicKey": { - "entryPoint": 1284, + "entryPoint": 1329, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "external_fun_canSkipChainIdValidation": { - "entryPoint": 3088, + "entryPoint": 3293, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "external_fun_domainSeparator": { - "entryPoint": 3546, + "entryPoint": 3751, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "external_fun_eip712Domain": { - "entryPoint": 2732, + "entryPoint": 2937, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "external_fun_entryPoint": { - "entryPoint": 3243, + "entryPoint": 3448, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "external_fun_execute": { - "entryPoint": 3290, + "entryPoint": 3495, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "external_fun_executeBatch": { - "entryPoint": 1614, + "entryPoint": 1659, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "external_fun_executeWithoutChainIdValidation": { - "entryPoint": 1442, + "entryPoint": 1487, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "external_fun_getSignatureLifetime": { + "entryPoint": 885, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "external_fun_getUserOpHashWithoutChainId": { - "entryPoint": 3146, + "entryPoint": 3351, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "external_fun_implementation": { - "entryPoint": 2165, + "entryPoint": 2210, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "external_fun_initialize": { - "entryPoint": 2219, + "entryPoint": 2264, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "external_fun_isOwnerAddress": { - "entryPoint": 3204, + "entryPoint": 3409, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "external_fun_isOwnerBytes": { - "entryPoint": 1229, + "entryPoint": 1274, "id": null, "parameterSlots": 0, "returnSlots": 0 @@ -237764,85 +263527,85 @@ "returnSlots": 0 }, "external_fun_isValidSignature": { - "entryPoint": 787, + "entryPoint": 803, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "external_fun_nextOwnerIndex": { - "entryPoint": 3503, + "entryPoint": 3708, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "external_fun_ownerAtIndex": { - "entryPoint": 3037, + "entryPoint": 3242, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "external_fun_ownerCount": { - "entryPoint": 569, + "entryPoint": 585, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "external_fun_proxiableUUID": { - "entryPoint": 2085, + "entryPoint": 2130, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "external_fun_removeLastOwner": { - "entryPoint": 3402, + "entryPoint": 3607, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "external_fun_removeOwnerAtIndex": { - "entryPoint": 2973, + "entryPoint": 3178, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "external_fun_removedOwnersCount": { - "entryPoint": 1765, + "entryPoint": 1810, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "external_fun_replaySafeHash": { - "entryPoint": 3473, + "entryPoint": 3678, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "external_fun_signedStaticCall": { - "entryPoint": 2470, + "entryPoint": 2675, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "external_fun_upgradeToAndCall": { - "entryPoint": 1808, + "entryPoint": 1853, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "external_fun_validateUserOp": { - "entryPoint": 884, + "entryPoint": 929, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "extract_byte_array_length": { - "entryPoint": 4360, + "entryPoint": 4973, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "extract_returndata": { - "entryPoint": 4312, + "entryPoint": 4925, "id": null, "parameterSlots": 0, "returnSlots": 1 @@ -237854,193 +263617,187 @@ "returnSlots": 1 }, "finalize_allocation": { - "entryPoint": 1062, + "entryPoint": 1107, "id": null, "parameterSlots": 2, "returnSlots": 0 }, - "fun__isValidSignature": { - "entryPoint": 6163, - "id": 7479, - "parameterSlots": 3, - "returnSlots": 1 - }, "fun_addOwnerAtIndex": { - "entryPoint": 5368, - "id": 8080, + "entryPoint": 5944, + "id": 9792, "parameterSlots": 2, "returnSlots": 0 }, "fun_call": { - "entryPoint": 6388, - "id": 7363, + "entryPoint": 7003, + "id": 9041, "parameterSlots": 3, "returnSlots": 0 }, "fun_calldataKeccak": { - "entryPoint": 8716, - "id": 160, + "entryPoint": 9037, + "id": 431, "parameterSlots": 2, "returnSlots": 1 }, "fun_canSkipChainIdValidation": { - "entryPoint": 4623, - "id": 7336, + "entryPoint": 5236, + "id": 9014, "parameterSlots": 1, "returnSlots": 1 }, "fun_checkOwner": { - "entryPoint": 5231, - "id": 8171, + "entryPoint": 5807, + "id": 9883, "parameterSlots": 0, "returnSlots": 0 }, "fun_domainNameAndVersion": { - "entryPoint": 6714, - "id": 7505, + "entryPoint": 7035, + "id": 9189, "parameterSlots": 0, "returnSlots": 2 }, "fun_domainSeparator": { - "entryPoint": 5070, - "id": 6847, + "entryPoint": 5646, + "id": 8461, "parameterSlots": 0, "returnSlots": 1 }, "fun_ecAff_add": { - "entryPoint": 10821, - "id": 1762, + "entryPoint": 11142, + "id": 3368, "parameterSlots": 2, "returnSlots": 2 }, "fun_ecAff_isOnCurve": { - "entryPoint": 9067, - "id": 1674, + "entryPoint": 9388, + "id": 3280, "parameterSlots": 2, "returnSlots": 1 }, "fun_ecZZ_AddN": { - "entryPoint": 11263, - "id": 1533, + "entryPoint": 11584, + "id": 3139, "parameterSlots": 4, "returnSlots": 4 }, "fun_ecZZ_SetAff": { - "entryPoint": 11547, - "id": 1460, + "entryPoint": 11868, + "id": 3066, "parameterSlots": 4, "returnSlots": 2 }, "fun_ecZZ_mulmuladd_S_asm": { - "entryPoint": 9286, - "id": 1856, + "entryPoint": 9607, + "id": 3462, "parameterSlots": 4, "returnSlots": 1 }, "fun_ecdsa_verify": { - "entryPoint": 8452, - "id": 674, + "entryPoint": 8773, + "id": 2280, "parameterSlots": 5, "returnSlots": 1 }, "fun_eip712Hash": { - "entryPoint": 7339, - "id": 6868, + "entryPoint": 7660, + "id": 8482, "parameterSlots": 1, "returnSlots": 1 }, "fun_encode": { - "entryPoint": 8899, - "id": 2392, + "entryPoint": 9220, + "id": 3998, "parameterSlots": 2, "returnSlots": 1 }, "fun_encodeURL": { - "entryPoint": 8349, - "id": 2338, + "entryPoint": 8670, + "id": 3944, "parameterSlots": 1, "returnSlots": 1 }, "fun_getUserOpHashWithoutChainId": { - "entryPoint": 4754, - "id": 7284, + "entryPoint": 5367, + "id": 8962, "parameterSlots": 1, "returnSlots": 1 }, - "fun_initializeOwners": { - "entryPoint": 6440, - "id": 8036, - "parameterSlots": 1, - "returnSlots": 0 - }, "fun_isOwnerAddress": { - "entryPoint": 5032, - "id": 7848, + "entryPoint": 5608, + "id": 9560, "parameterSlots": 1, "returnSlots": 1 }, "fun_isOwnerBytes": { - "entryPoint": 4096, - "id": 7884, + "entryPoint": 4736, + "id": 9596, "parameterSlots": 1, "returnSlots": 1 }, "fun_isValidSignature": { - "entryPoint": 3791, - "id": 6793, + "entryPoint": 6761, + "id": 9163, "parameterSlots": 3, "returnSlots": 1 }, "fun_isValidSignatureNow": { - "entryPoint": 7456, - "id": 6160, + "entryPoint": 7777, + "id": 7766, + "parameterSlots": 3, + "returnSlots": 1 + }, + "fun_isValidSignature_8407": { + "entryPoint": 3996, + "id": 8407, "parameterSlots": 3, "returnSlots": 1 }, "fun_onImplementation": { "entryPoint": null, - "id": 2507, + "id": 4113, "parameterSlots": 0, "returnSlots": 1 }, "fun_ownerAtIndex": { - "entryPoint": 4418, - "id": 7899, + "entryPoint": 5031, + "id": 9611, "parameterSlots": 1, "returnSlots": 1 }, "fun_ownerCount": { - "entryPoint": 3732, - "id": 7929, + "entryPoint": 3937, + "id": 9641, "parameterSlots": 0, "returnSlots": 1 }, "fun_removeOwnerAtIndex": { - "entryPoint": 7060, - "id": 8147, + "entryPoint": 7381, + "id": 9859, "parameterSlots": 3, "returnSlots": 0 }, "fun_slice": { - "entryPoint": 8727, - "id": 2835, + "entryPoint": 9048, + "id": 4441, "parameterSlots": 3, "returnSlots": 1 }, "fun_validateUserOp_inner": { - "entryPoint": 3941, + "entryPoint": 4427, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "fun_verify": { - "entryPoint": 7853, - "id": 8557, + "entryPoint": 8174, + "id": 10438, "parameterSlots": 4, "returnSlots": 1 }, "increment_uint256": { - "entryPoint": 3776, + "entryPoint": 3981, "id": null, "parameterSlots": 1, "returnSlots": 1 @@ -238052,55 +263809,55 @@ "returnSlots": 1 }, "memory_array_index_access_bytes": { - "entryPoint": 7780, + "entryPoint": 8101, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "memory_array_index_access_bytes_dyn": { - "entryPoint": 6420, + "entryPoint": 4368, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "modifier_receiverFallback": { - "entryPoint": 5175, - "id": 2428, + "entryPoint": 5751, + "id": 4034, "parameterSlots": 0, "returnSlots": 0 }, "packed_hashed_bytes_calldata_uint256_to_bytes_uint": { - "entryPoint": 6867, + "entryPoint": 7188, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "packed_hashed_bytes_uint256_to_bytes_uint": { - "entryPoint": 3596, + "entryPoint": 3801, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "panic_error_0x11": { - "entryPoint": 3665, + "entryPoint": 3870, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "panic_error_0x32": { - "entryPoint": 4112, + "entryPoint": 4346, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "panic_error_0x41": { - "entryPoint": 1040, + "entryPoint": 1085, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "read_from_calldatat_address": { - "entryPoint": 4173, + "entryPoint": 4786, "id": null, "parameterSlots": 1, "returnSlots": 1 @@ -238112,19 +263869,25 @@ "returnSlots": 1 }, "revert_forward": { - "entryPoint": 7796, + "entryPoint": 8117, "id": null, "parameterSlots": 0, "returnSlots": 0 }, + "shift_right_uint256_uint8": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, "storage_set_to_zero_bytes": { - "entryPoint": 6947, + "entryPoint": 7268, "id": null, "parameterSlots": 1, "returnSlots": 0 }, "string_concat_stringliteral_113c_string_stringliteral_6e9f": { - "entryPoint": 7699, + "entryPoint": 8020, "id": null, "parameterSlots": 1, "returnSlots": 1 @@ -238141,14 +263904,14 @@ "parameterSlots": 1, "returnSlots": 0 }, - "update_storage_value_offset_uint256_to_uint256_11187": { + "update_storage_value_offset_uint256_to_uint256_11547": { "entryPoint": null, "id": null, "parameterSlots": 1, "returnSlots": 0 }, "validator_revert_address": { - "entryPoint": 604, + "entryPoint": 620, "id": null, "parameterSlots": 1, "returnSlots": 0 @@ -238156,21 +263919,21 @@ }, "generatedSources": [], "immutableReferences": { - "2467": [ + "4073": [ { "length": 32, - "start": 1867 + "start": 1912 }, { "length": 32, - "start": 2105 + "start": 2150 } ] }, "linkReferences": {}, - "object": "60806040526004361015610015575b3661143757005b60003560e01c8063066a1eb7146101d55780630db02622146101d05780630f0f3f24146101cb5780631626ba7e146101c657806319822f7c146101c15780631ca5393f146101bc57806329565e3b146101b75780632c2abd1e146101b257806334fcd5be146101ad57806336d9cf9b146101a85780634f1ef286146101a357806352d1902d1461019e5780635c60da1b146101995780636f2de70e14610194578063737bebdd1461018f57806384b0196e1461018a57806388ce4c7c1461018557806389625b57146101805780638ea690291461017b5780639f9bcb3414610176578063a05bd44e14610171578063a2e1a8d81461016c578063b0d691fe14610167578063b61d27f614610162578063b81973671461015d578063ce1506be14610158578063d948fd2e146101535763f698da250361000e57610dda565b610daf565b610d91565b610d4a565b610cda565b610cab565b610c84565b610c4a565b610c10565b610bdd565b610b9d565b610b4d565b610aac565b6109a6565b6108ab565b610875565b610825565b610710565b6106e5565b61064e565b6105a2565b610504565b6104cd565b610374565b610313565b61026d565b610239565b3461023457604036600319011261023457602060ff6102286004356102236024359161021560405193849288840160209093929193604081019481520152565b03601f198101835282610426565b610e0c565b54166040519015158152f35b600080fd5b34610234576000366003190112610234576020610254610e94565b604051908152f35b6001600160a01b0381160361023457565b34610234576020366003190112610234576102e460043561028d8161025c565b61029561146f565b6040519060018060a01b03166020820152602081526102b5604082610426565b600080516020612db683398151915254906102cf82610ec0565b600080516020612db6833981519152556114f8565b005b9181601f84011215610234578235916001600160401b038311610234576020838186019501011161023457565b34610234576040366003190112610234576004356024356001600160401b0381116102345760209161034c6103529236906004016102e6565b91610ecf565b6040516001600160e01b03199091168152f35b90816101209103126102345790565b34610234576060366003190112610234576004356001600160401b038111610234576103a4903690600401610365565b604435602435734337084d9e255ff0702461cf8895ce9e3b5ff107193301610400576103d482916103eb94610f65565b916103ef575b506040519081529081906020820190565b0390f35b60009081803892335af150386103da565b6282b42960e81b60005260046000fd5b634e487b7160e01b600052604160045260246000fd5b90601f801991011681019081106001600160401b0382111761044757604052565b610410565b6040519061045b60c083610426565b565b6001600160401b03811161044757601f01601f191660200190565b9291926104848261045d565b916104926040519384610426565b829481845281830111610234578281602093846000960137010152565b9080601f83011215610234578160206104ca93359101610478565b90565b34610234576020366003190112610234576004356001600160401b0381116102345760ff61022861022360209336906004016104af565b34610234576040366003190112610234576102e46024356102b560043561052961146f565b6040805160208101929092528101929092528160608101610215565b906020600319830112610234576004356001600160401b0381116102345760040160009280601f8301121561059e578135936001600160401b03851161059b57506020808301928560051b010111610234579190565b80fd5b8380fd5b6105ab36610545565b90734337084d9e255ff0702461cf8895ce9e3b5ff10833036104005760005b828110156102e45760006105e38260051b840184610efd565b6105ed8183610f2f565b6105f68161120f565b1561063257508291610609913691610478565b60208151910182305af161061b6110d8565b901561062a57506001016105ca565b602081519101fd5b631d8370a360e11b84526001600160e01b031916600452602483fd5b61065736610545565b90734337084d9e255ff0702461cf8895ce9e3b5ff10833036106d8575b60005b82811061068057005b806106d26106916001938686611026565b3561069b8161025c565b60206106a8848888611026565b01356106cc6106c56106bb868a8a611026565b6040810190610efd565b3691610478565b916118f4565b01610677565b6106e061146f565b610674565b34610234576000366003190112610234576020600080516020612e1683398151915254604051908152f35b6040366003190112610234576004356107288161025c565b6024356001600160401b038111610234576107479036906004016102e6565b90917f000000000000000000000000000000000000000000000000000000000000000030146108175761077861146f565b60018060a01b03163d6000526352d1902d600152600080516020612df6833981519152602060016004601d855afa510361080957807fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28181600080516020612df6833981519152556107ea57005b816000926040519485378338925af41561080057005b3d6000823e3d90fd5b6355299b496001526004601dfd5b639f03a0266000526004601cfd5b3461023457600036600319011261023457307f000000000000000000000000000000000000000000000000000000000000000003610817576020604051600080516020612df68339815191528152f35b3461023457600036600319011261023457600080516020612df6833981519152546040516001600160a01b039091168152602090f35b6108b436610545565b600080516020612db68339815191525461093c576001600160401b038111610447578060051b91604051916108ec6020850184610426565b825260208201928101903682116102345780935b828510610910576102e484611928565b84356001600160401b038111610234576020916109318392369086016104af565b815201940193610900565b6302ed543d60e51b60005260046000fd5b60005b8381106109605750506000910152565b8181015183820152602001610950565b906020916109898151809281855285808601910161094d565b601f01601f1916010190565b9060206104ca928181520190610970565b34610234576020366003190112610234576004356001600160401b0381116102345780600401608060031983360301126102345760448201356109e881611057565b4211610a8557610a1f610a0c610a00610a239361108f565b60208151910120611cab565b610a196064860185610efd565b91611813565b1590565b610a7457600091610a42826024610a3a869561104d565b930190610efd565b90610a52604051809381936110b5565b03915afa610a5e6110d8565b901561062a576103eb9060405191829182610995565b638baa579f60e01b60005260046000fd5b610a91610aa891611057565b630f88f04960e41b60005260045242602452604490565b6000fd5b3461023457600036600319011261023457610aec610afa610acb611a3a565b604092919251938493600f60f81b855260e0602086015260e0850190610970565b908382036040850152610970565b466060830152306080830152600060a083015281810360c0830152602060605191828152019060809060005b818110610b34575050500390f35b8251845285945060209384019390920191600101610b26565b346102345760003660031901126102345760206040516121058152f35b9060406003198301126102345760043591602435906001600160401b03821161023457610b99916004016102e6565b9091565b3461023457610bab36610b6a565b90610bb461146f565b6001610bbe610e94565b14610bcc576102e492611b94565b63948bf89760e01b60005260046000fd5b34610234576020366003190112610234576103eb610bfc600435611142565b604051918291602083526020830190610970565b34610234576020366003190112610234576004356001600160e01b03198116810361023457610c4060209161120f565b6040519015158152f35b34610234576020366003190112610234576004356001600160401b03811161023457610254610c7f6020923690600401610365565b611292565b34610234576020366003190112610234576020610c40600435610ca68161025c565b6113a8565b34610234576000366003190112610234576020604051734337084d9e255ff0702461cf8895ce9e3b5ff1088152f35b606036600319011261023457600435610cf28161025c565b604435906024356001600160401b038311610234576106cc610d1b6102e49436906004016102e6565b734337084d9e255ff0702461cf8895ce9e3b5ff1083303610d3d573691610478565b610d4561146f565b6106c5565b3461023457610d5836610b6a565b90610d6161146f565b610d69610e94565b9260018411610d7c576102e49350611b94565b83631047e35560e31b60005260045260246000fd5b34610234576020366003190112610234576020610254600435611cab565b34610234576000366003190112610234576020600080516020612db683398151915254604051908152f35b346102345760003660031901126102345760206102546113ce565b90610e086020928281519485920161094d565b0190565b6020610e2591816040519382858094519384920161094d565b81017f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f50381520301902090565b634e487b7160e01b600052601160045260246000fd5b600080516020612dd68339815191520390600080516020612dd68339815191528211610e8f57565b610e51565b600080516020612db683398151915254600080516020612e16833981519152548103908111610e8f5790565b6000198114610e8f5760010190565b90610edd610ee29392611cab565b611813565b610ef2576001600160e01b031990565b630b135d3f60e11b90565b903590601e198136030182121561023457018035906001600160401b0382116102345760200191813603831361023457565b356001600160e01b0319811692919060048210610f4a575050565b6001600160e01b031960049290920360031b82901b16169150565b602081013560401c91610f7b6060830183610efd565b6316155e8f60e11b916001600160e01b031991610f9791610f2f565b1603610fe85750610fa781611292565b916121058103610fd4575090610a19610fc6925b610100810190610efd565b610fcf57600190565b600090565b632ef3781360e01b60005260045260246000fd5b916121058114610fd4575090610a19610fc692610fbb565b61100b60ff91610e0c565b541690565b634e487b7160e01b600052603260045260246000fd5b91908110156110485760051b81013590605e1981360301821215610234570190565b611010565b356104ca8161025c565b906107088201809211610e8f57565b9060158201809211610e8f57565b9060028201809211610e8f57565b91908201809211610e8f57565b906040519163737bebdd60e01b602084015260248301526024825261045b604483610426565b908092918237016000815290565b604051906110d2602083610426565b60008252565b3d15611103573d906110e98261045d565b916110f76040519384610426565b82523d6000602084013e565b606090565b90600182811c92168015611138575b602083101461112257565b634e487b7160e01b600052602260045260246000fd5b91607f1691611117565b6000527f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f50260205260406000206040519081600082549261118184611108565b80845293600181169081156111ed57506001146111a6575b506104ca92500382610426565b90506000929192526020600020906000915b8183106111d15750509060206104ca9282010138611199565b60209193508060019154838588010152019101909183926111b8565b9050602092506104ca94915060ff191682840152151560051b82010138611199565b63ffffffff60e01b166329565e3b60e01b8114908115611281575b8115611270575b811561125f575b811561124e575b5061124957600090565b600190565b63278f794360e11b1490503861123f565b63b819736760e01b81149150611238565b6389625b5760e01b81149150611231565b6303c3cfc960e21b8114915061122a565b80359061129e8261025c565b61136b60208201356102156112b66040850185610efd565b908160405191823720936112d66112d06060830183610efd565b9061220c565b90608081013560a0820135906112f86112d060c08501359460e0810190610efd565b93604051988997602089019b8c949192610100969399989794919961012087019a7f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e885260018060a01b0316602088015260408701526060860152608085015260a084015260c083015260e08201520152565b5190206040805160208101928352734337084d9e255ff0702461cf8895ce9e3b5ff108918101919091526113a28160608101610215565b51902090565b61100b60ff916040519060018060a01b0316602082015260208152610223604082610426565b6113d6611a3a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526113a260c082610426565b60003560e01c63bc197c81811463f23a6e6182141763150b7a0282141761146657633c10b94e6000526004601cfd5b6020526020603cf35b611478336113a8565b8015611493575b61045b576282b42960e81b60005260046000fd5b5030331461147f565b8181106114a7575050565b6000815560010161149c565b9190601f81116114c257505050565b61045b926000526020600020906020601f840160051c830193106114ee575b601f0160051c019061149c565b90915081906114e1565b61150181611000565b61166f5761150e81610e0c565b600160ff19825416179055816000527f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f502602052604060002081516001600160401b0381116104475761156a816115648454611108565b846114b3565b6020601f82116001146115de57916115bf827f38109edc26e166b5579352ce56a50813177eb25208fd90d61f2f37838622022095936115ce956000916115d3575b508160011b916000199060031b1c19161790565b90555b60405191829182610995565b0390a2565b9050840151386115ab565b601f198216906115f384600052602060002090565b9160005b8181106116575750926115ce9492600192827f38109edc26e166b5579352ce56a50813177eb25208fd90d61f2f37838622022098961061163e575b5050811b0190556115c2565b85015160001960f88460031b161c191690553880611632565b9192602060018192868a0151815501940192016115f7565b60405163468b12ad60e11b815290819061168c9060048301610995565b0390fd5b602081830312610234578035906001600160401b03821161023457016040818303126102345760405191604083018381106001600160401b03821117610447576040528135835260208201356001600160401b038111610234576116f492016104af565b602082015290565b602081519101519060208110611710575090565b6000199060200360031b1b1690565b9190826040910312610234576020825192015190565b81601f8201121561023457602081519101906117508161045d565b9261175e6040519485610426565b81845281830111610234576104ca91602084019061094d565b602081830312610234578051906001600160401b03821161023457019060c082820312610234576117a661044c565b9180516001600160401b03811161023457826117c3918301611735565b835260208101516001600160401b0381116102345760a0926117e6918301611735565b6020840152604081015160408401526060810151606084015260808101516080840152015160a082015290565b92919061182291810190611690565b9061182d8251611142565b9160208351146118ab578251936040851461185d576040516327755b9160e11b81528061168c8660048301610995565b6102156118a661189161187d8760208080999b6104ca9b0101910161171f565b969095015160208082518301019101611777565b92604051928391602083019190602083019252565b611ead565b91929091906001600160a01b036118c1856116fc565b116118d9576020806104ca9495015192015191611d20565b60405163bff1ac6560e01b81528061168c8660048301610995565b916000928392602083519301915af161190b6110d8565b901561062a5750565b80518210156110485760209160051b010190565b90600080516020612db68339815191525460005b8351811015611a255760206119518286611914565b5151141580611a0f575b6119e857602061196b8286611914565b515114806119c6575b61199f578061199961198860019387611914565b519361199381610ec0565b946114f8565b0161193c565b6119ac61168c9185611914565b5160405163bff1ac6560e01b815291829160048301610995565b506001600160a01b036119e26119dc8387611914565b516116fc565b11611974565b6119f561168c9185611914565b516040516327755b9160e11b815291829160048301610995565b506040611a1c8286611914565b5151141561195b565b50600080516020612db6833981519152559050565b6040908151611a498382610426565b601281527111da585b9bc814db585c9d0815d85b1b195d60721b602082015291611a7581519182610426565b60018152603160f81b602082015290565b908060209392818452848401376000828201840152601f01601f1916010190565b92916104ca9492611ac5928552606060208601526060850191611a86565b916040818403910152610970565b60209082604051938492833781017f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f50381520301902090565b600281901b91906001600160fe1b03811603610e8f57565b611b2d8154611108565b9081611b37575050565b81601f60009311600114611b49575055565b81835260208320611b6591601f0160051c81019060010161149c565b808252602082209081548360011b9084198560031b1c191617905555565b9160206104ca938181520191611a86565b9190611b9f83611142565b805115611c955780516020820120611bb8368585610478565b6020815191012003611c7657509081611bff611bf5837fcf95bbfe6f870f8cc40482dc3dccdafd268f0e9ce0a4f24ea1bea9be64e505ff95611ad3565b805460ff19169055565b611c3a611c35856000527f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f502602052604060002090565b611b23565b611c67611c55600080516020612e1683398151915254610ec0565b600080516020612e1683398151915255565b6115ce60405192839283611b83565b60405163781f2e3960e01b815293849361168c93909160048601611aa7565b63340c473d60e11b600052600484905260246000fd5b611cb36113ce565b9060405160208101917f37f248f492286ab572e2a1ee0bd5315f2aae54a08b5871b294d657f3a1f1d0078352604082015260408152611cf3606082610426565b51902060405190602082019261190160f01b845260228301526042820152604281526113a2606282610426565b9091600091906001600160a01b03821615611e0a5760405192600484019460248501956044860192853b15611d8a57509186939160209593630b135d3f60e11b8852526040845281518501809260045afa9360443d01915afa9151630b135d3f60e11b1491161690565b979650509050815180604014611de557604114611da75750505050565b602092939550606082015160001a835260408201516060525b60005201516040526020600160806000825afa511860601b3d11916000606052604052565b506020929395506040820151601b8160ff1c01845260018060ff1b0316606052611dc0565b50505050600090565b9061045b6001602d60405180956c1131b430b63632b733b2911d1160991b6020830152611e49815180926020868601910161094d565b8101601160f91b838201520301601e19810185520183610426565b8051602010156110485760400190565b6040513d6000823e3d90fd5b6020929190611e9684928281519485920161094d565b019081520190565b90816020910312610234575190565b92919060009360a082019485517f7fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a81061208a5760208301917fff1a2a9176d650e4a99dedb58f1793003935130579fe17b5a3f698ac5b00e634611f1f84516060870151611f1981611066565b91612217565b602081519101200361209357611f37611f3c9161209d565b611e13565b611f5183516040860151611f19845182611082565b6020815191012090602081519101200361208a57600160f81b600160f81b611f8a611f7c8651611e64565b516001600160f81b03191690565b160361208a57611fa7602092600092505160405191828092610df5565b039060025afa156120855760206000611fdd8151611fd18551610215604051938492888401611e80565b60405191828092610df5565b039060025afa1561208557608060005191019360008086518561203085516102158a60405194859360208501978c899192608093969594919660a084019784526020840152604083015260608201520152565b51906101005afa946120406110d8565b8051968061207c575b61205c57506104ca955051905191612104565b6001966120789650810160209081019550019250611e9e915050565b1490565b50861515612049565b611e74565b94505050505090565b5094505050505090565b6040516104ca916120af606083610426565b604082527f4142434445464748494a4b4c4d4e4f505152535455565758595a61626364656660208301527f6768696a6b6c6d6e6f707172737475767778797a303132333435363738392d5f60408301526122c3565b9391909293831580156121f4575b80156121ec575b80156121d4575b6121ca5761212e838661236b565b156121ca5760405191602083526020808401526020604084015260608301527fffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254f6080830152600080516020612dd683398151915260a083015260208260c0816005600019fa1561023457600080516020612dd6833981519152946121c493866121be945181818909940991612446565b91610e67565b90081590565b5050505050600090565b50600080516020612dd6833981519152821015612120565b508115612119565b50600080516020612dd6833981519152841015612112565b816040519182372090565b805160609493929083811115612289575b81811115612281575b5082811061223e57505050565b6040519450918290039101601f8201601f19165b8181015185820152601f190190811561226b5790612252565b5050604081840160006020820152016040528252565b905038612231565b925082612228565b9061229b8261045d565b6122a86040519182610426565b82815280926122b9601f199161045d565b0190602036910137565b9081511561236157906122f06122eb6122e46122df8451611b0b565b611074565b6003900490565b612291565b91602083019082805101906020820192835194600085525b83811061231757505050505290565b600360049101916001603f845182828260121c16880101518453828282600c1c16880101518385015382828260061c16880101516002850153168501015160038201530190612308565b50506104ca6110c3565b600160601b63ffffffff60c01b0319811080159061242e575b801561241d575b61241657600160601b63ffffffff60c01b0319907f5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b908290817fffffffff00000001000000000000000000000000fffffffffffffffffffffffc820990600160601b63ffffffff60c01b0319908181800909080890600160601b63ffffffff60c01b03199080091490565b5050600090565b508015801561238b5750811561238b565b50600160601b63ffffffff60c01b0319821015612384565b9092600092908360ff81841580612a3d575b612a32576124668887612a45565b929091821580612a2a575b6129ef575b5085811c60028660fe1c16015b156129d657600186821c16600286831c60011b16016001811461298b575b6002811461297e575b600314612971575b600198600019919091019694959489949392915b88600019116125445750505050505050505060405191606083015260208252602080830152602060408301526002600160601b0363ffffffff60c01b03196080830152600163ffffffff60601b0360601b1960a083015260208260c0816005600019fa15610234579051600160601b63ffffffff60c01b0319910990565b909192939495969798600163ffffffff60601b0360601b198660020990600160601b63ffffffff60c01b0319828009600160601b63ffffffff60c01b031981830992600160601b63ffffffff60c01b03199082900991600160601b63ffffffff60c01b03199081908f8281830891600160601b63ffffffff60c01b031991820390080960030998600160601b63ffffffff60c01b03199083099c600160601b63ffffffff60c01b0319910991600160601b63ffffffff60c01b031980826002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b03198b80090898600160601b63ffffffff60c01b031991829081038b08900996600160601b63ffffffff60c01b03199088908290840908968b60028c60018d841c16921c60011b160180156129545760018114612909575b600281146128fe575b6003146128f5575b82156128e257600160601b63ffffffff60c01b031990889082908f90090890600160601b63ffffffff60c01b031990898203908290859009089781156127a8575b600160601b63ffffffff60c01b031989800998600160601b63ffffffff60c01b0319908a0992600160601b63ffffffff60c01b0319908a90099c600160601b63ffffffff60c01b03199084900998600160601b63ffffffff60c01b03199109600160601b63ffffffff60c01b031980826002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b031985810381868009080897600160601b63ffffffff60c01b03199384910991600160601b63ffffffff60c01b03199182908a82039008090894985b6000190197969594939291906124c6565b886126cb579a91975090959050600160601b63ffffffff60c01b0319816002600160601b0363ffffffff60c01b0319099a600160601b63ffffffff60c01b03198c8009600160601b63ffffffff60c01b0319818d099c600160601b63ffffffff60c01b0319908290099b600160601b63ffffffff60c01b031990818b8103820890600160601b63ffffffff60c01b0319908c900809600160601b63ffffffff60c01b03199060030991600160601b63ffffffff60c01b0319908d0998600160601b63ffffffff60c01b031991099b600160601b63ffffffff60c01b031980826002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b0319848009089b600160601b63ffffffff60c01b03199384910991600160601b63ffffffff60c01b03199182908e8203900890090894612797565b60019c50909a8c98509096509050612797565b5050838561268a565b859250849150612682565b7f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29692507f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f59150612679565b50505099959894600163ffffffff60601b0360601b190394612797565b92508096509581926124b2565b96975087968994506124aa565b7f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29698507f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f594506124a1565b60001901600186821c16600286831c60011b1601612483565b9495600080516020612dd68339815191529196820390089484861580612a22575b15612476579850505050505050505090565b506001612a10565b508315612471565b965050505050505090565b508315612458565b91907f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2967f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5918015612bf95784610b999495831480612bf0575b15612bdb5750600160601b63ffffffff60c01b0319905082600209600160601b63ffffffff60c01b031981800992600160601b63ffffffff60c01b031984840991600160601b63ffffffff60c01b03199085900992600160601b63ffffffff60c01b0319908190816001820890600160601b63ffffffff60c01b0319907fffffffff00000001000000000000000000000000fffffffffffffffffffffffe900809600309600160601b63ffffffff60c01b031980846002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b03198380090892600160601b63ffffffff60c01b03196001860995600160601b63ffffffff60c01b0319906001900994600160601b63ffffffff60c01b031993849109600160601b63ffffffff60c01b03199081039290918290868203900890090890612d1b565b909192612be793612bff565b92909190612d1b565b50818414612a9e565b50925090565b9193908015612d1257600160601b63ffffffff60c01b03199081039384908290600190090893600160601b63ffffffff60c01b031990838203908290600190090892600160601b63ffffffff60c01b031984800993600160601b63ffffffff60c01b031990850992600160601b63ffffffff60c01b03199085900994600160601b63ffffffff60c01b031980876002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b031986810381858009080895600160601b63ffffffff60c01b031992839086900991600160601b63ffffffff60c01b03199182908982039008090892600160601b63ffffffff60c01b03199060010991600160601b63ffffffff60c01b03199060010990565b50600191508190565b91909260405190602082526020808301526020604083015260608201526002600160601b0363ffffffff60c01b03196080820152600163ffffffff60601b0360601b1960a082015260208160c0816005600019fa15610234575192600160601b63ffffffff60c01b03199084900992600160601b63ffffffff60c01b03199109600160601b63ffffffff60c01b031991908290800990099156fe0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f500ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f501a2646970667358221220f6c6f795f835be206c00cf3919d49ee1b1cafd3de969039377ca4cace421a6b664736f6c634300081c0033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x15 JUMPI JUMPDEST CALLDATASIZE PUSH2 0x1437 JUMPI STOP JUMPDEST PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x66A1EB7 EQ PUSH2 0x1D5 JUMPI DUP1 PUSH4 0xDB02622 EQ PUSH2 0x1D0 JUMPI DUP1 PUSH4 0xF0F3F24 EQ PUSH2 0x1CB JUMPI DUP1 PUSH4 0x1626BA7E EQ PUSH2 0x1C6 JUMPI DUP1 PUSH4 0x19822F7C EQ PUSH2 0x1C1 JUMPI DUP1 PUSH4 0x1CA5393F EQ PUSH2 0x1BC JUMPI DUP1 PUSH4 0x29565E3B EQ PUSH2 0x1B7 JUMPI DUP1 PUSH4 0x2C2ABD1E EQ PUSH2 0x1B2 JUMPI DUP1 PUSH4 0x34FCD5BE EQ PUSH2 0x1AD JUMPI DUP1 PUSH4 0x36D9CF9B EQ PUSH2 0x1A8 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x1A3 JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x19E JUMPI DUP1 PUSH4 0x5C60DA1B EQ PUSH2 0x199 JUMPI DUP1 PUSH4 0x6F2DE70E EQ PUSH2 0x194 JUMPI DUP1 PUSH4 0x737BEBDD EQ PUSH2 0x18F JUMPI DUP1 PUSH4 0x84B0196E EQ PUSH2 0x18A JUMPI DUP1 PUSH4 0x88CE4C7C EQ PUSH2 0x185 JUMPI DUP1 PUSH4 0x89625B57 EQ PUSH2 0x180 JUMPI DUP1 PUSH4 0x8EA69029 EQ PUSH2 0x17B JUMPI DUP1 PUSH4 0x9F9BCB34 EQ PUSH2 0x176 JUMPI DUP1 PUSH4 0xA05BD44E EQ PUSH2 0x171 JUMPI DUP1 PUSH4 0xA2E1A8D8 EQ PUSH2 0x16C JUMPI DUP1 PUSH4 0xB0D691FE EQ PUSH2 0x167 JUMPI DUP1 PUSH4 0xB61D27F6 EQ PUSH2 0x162 JUMPI DUP1 PUSH4 0xB8197367 EQ PUSH2 0x15D JUMPI DUP1 PUSH4 0xCE1506BE EQ PUSH2 0x158 JUMPI DUP1 PUSH4 0xD948FD2E EQ PUSH2 0x153 JUMPI PUSH4 0xF698DA25 SUB PUSH2 0xE JUMPI PUSH2 0xDDA JUMP JUMPDEST PUSH2 0xDAF JUMP JUMPDEST PUSH2 0xD91 JUMP JUMPDEST PUSH2 0xD4A JUMP JUMPDEST PUSH2 0xCDA JUMP JUMPDEST PUSH2 0xCAB JUMP JUMPDEST PUSH2 0xC84 JUMP JUMPDEST PUSH2 0xC4A JUMP JUMPDEST PUSH2 0xC10 JUMP JUMPDEST PUSH2 0xBDD JUMP JUMPDEST PUSH2 0xB9D JUMP JUMPDEST PUSH2 0xB4D JUMP JUMPDEST PUSH2 0xAAC JUMP JUMPDEST PUSH2 0x9A6 JUMP JUMPDEST PUSH2 0x8AB JUMP JUMPDEST PUSH2 0x875 JUMP JUMPDEST PUSH2 0x825 JUMP JUMPDEST PUSH2 0x710 JUMP JUMPDEST PUSH2 0x6E5 JUMP JUMPDEST PUSH2 0x64E JUMP JUMPDEST PUSH2 0x5A2 JUMP JUMPDEST PUSH2 0x504 JUMP JUMPDEST PUSH2 0x4CD JUMP JUMPDEST PUSH2 0x374 JUMP JUMPDEST PUSH2 0x313 JUMP JUMPDEST PUSH2 0x26D JUMP JUMPDEST PUSH2 0x239 JUMP JUMPDEST CALLVALUE PUSH2 0x234 JUMPI PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x234 JUMPI PUSH1 0x20 PUSH1 0xFF PUSH2 0x228 PUSH1 0x4 CALLDATALOAD PUSH2 0x223 PUSH1 0x24 CALLDATALOAD SWAP2 PUSH2 0x215 PUSH1 0x40 MLOAD SWAP4 DUP5 SWAP3 DUP9 DUP5 ADD PUSH1 0x20 SWAP1 SWAP4 SWAP3 SWAP2 SWAP4 PUSH1 0x40 DUP2 ADD SWAP5 DUP2 MSTORE ADD MSTORE JUMP JUMPDEST SUB PUSH1 0x1F NOT DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x426 JUMP JUMPDEST PUSH2 0xE0C JUMP JUMPDEST SLOAD AND PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x234 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x234 JUMPI PUSH1 0x20 PUSH2 0x254 PUSH2 0xE94 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND SUB PUSH2 0x234 JUMPI JUMP JUMPDEST CALLVALUE PUSH2 0x234 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x234 JUMPI PUSH2 0x2E4 PUSH1 0x4 CALLDATALOAD PUSH2 0x28D DUP2 PUSH2 0x25C JUMP JUMPDEST PUSH2 0x295 PUSH2 0x146F JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x20 DUP2 MSTORE PUSH2 0x2B5 PUSH1 0x40 DUP3 PUSH2 0x426 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DB6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD SWAP1 PUSH2 0x2CF DUP3 PUSH2 0xEC0 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DB6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SSTORE PUSH2 0x14F8 JUMP JUMPDEST STOP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0x234 JUMPI DUP3 CALLDATALOAD SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 GT PUSH2 0x234 JUMPI PUSH1 0x20 DUP4 DUP2 DUP7 ADD SWAP6 ADD ADD GT PUSH2 0x234 JUMPI JUMP JUMPDEST CALLVALUE PUSH2 0x234 JUMPI PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x234 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x24 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x234 JUMPI PUSH1 0x20 SWAP2 PUSH2 0x34C PUSH2 0x352 SWAP3 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x2E6 JUMP JUMPDEST SWAP2 PUSH2 0xECF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP2 AND DUP2 MSTORE RETURN JUMPDEST SWAP1 DUP2 PUSH2 0x120 SWAP2 SUB SLT PUSH2 0x234 JUMPI SWAP1 JUMP JUMPDEST CALLVALUE PUSH2 0x234 JUMPI PUSH1 0x60 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x234 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x234 JUMPI PUSH2 0x3A4 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x365 JUMP JUMPDEST PUSH1 0x44 CALLDATALOAD PUSH1 0x24 CALLDATALOAD PUSH20 0x4337084D9E255FF0702461CF8895CE9E3B5FF107 NOT CALLER ADD PUSH2 0x400 JUMPI PUSH2 0x3D4 DUP3 SWAP2 PUSH2 0x3EB SWAP5 PUSH2 0xF65 JUMP JUMPDEST SWAP2 PUSH2 0x3EF JUMPI JUMPDEST POP PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE SWAP1 DUP2 SWAP1 PUSH1 0x20 DUP3 ADD SWAP1 JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 SWAP1 DUP2 DUP1 CODESIZE SWAP3 CALLER GAS CALL POP CODESIZE PUSH2 0x3DA JUMP JUMPDEST PUSH3 0x82B429 PUSH1 0xE8 SHL PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x1F DUP1 NOT SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT OR PUSH2 0x447 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH2 0x410 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x45B PUSH1 0xC0 DUP4 PUSH2 0x426 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x447 JUMPI PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP3 SWAP2 SWAP3 PUSH2 0x484 DUP3 PUSH2 0x45D JUMP JUMPDEST SWAP2 PUSH2 0x492 PUSH1 0x40 MLOAD SWAP4 DUP5 PUSH2 0x426 JUMP JUMPDEST DUP3 SWAP5 DUP2 DUP5 MSTORE DUP2 DUP4 ADD GT PUSH2 0x234 JUMPI DUP3 DUP2 PUSH1 0x20 SWAP4 DUP5 PUSH1 0x0 SWAP7 ADD CALLDATACOPY ADD ADD MSTORE JUMP JUMPDEST SWAP1 DUP1 PUSH1 0x1F DUP4 ADD SLT ISZERO PUSH2 0x234 JUMPI DUP2 PUSH1 0x20 PUSH2 0x4CA SWAP4 CALLDATALOAD SWAP2 ADD PUSH2 0x478 JUMP JUMPDEST SWAP1 JUMP JUMPDEST CALLVALUE PUSH2 0x234 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x234 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x234 JUMPI PUSH1 0xFF PUSH2 0x228 PUSH2 0x223 PUSH1 0x20 SWAP4 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x4AF JUMP JUMPDEST CALLVALUE PUSH2 0x234 JUMPI PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x234 JUMPI PUSH2 0x2E4 PUSH1 0x24 CALLDATALOAD PUSH2 0x2B5 PUSH1 0x4 CALLDATALOAD PUSH2 0x529 PUSH2 0x146F JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE DUP2 PUSH1 0x60 DUP2 ADD PUSH2 0x215 JUMP JUMPDEST SWAP1 PUSH1 0x20 PUSH1 0x3 NOT DUP4 ADD SLT PUSH2 0x234 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x234 JUMPI PUSH1 0x4 ADD PUSH1 0x0 SWAP3 DUP1 PUSH1 0x1F DUP4 ADD SLT ISZERO PUSH2 0x59E JUMPI DUP2 CALLDATALOAD SWAP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP6 GT PUSH2 0x59B JUMPI POP PUSH1 0x20 DUP1 DUP4 ADD SWAP3 DUP6 PUSH1 0x5 SHL ADD ADD GT PUSH2 0x234 JUMPI SWAP2 SWAP1 JUMP JUMPDEST DUP1 REVERT JUMPDEST DUP4 DUP1 REVERT JUMPDEST PUSH2 0x5AB CALLDATASIZE PUSH2 0x545 JUMP JUMPDEST SWAP1 PUSH20 0x4337084D9E255FF0702461CF8895CE9E3B5FF108 CALLER SUB PUSH2 0x400 JUMPI PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x2E4 JUMPI PUSH1 0x0 PUSH2 0x5E3 DUP3 PUSH1 0x5 SHL DUP5 ADD DUP5 PUSH2 0xEFD JUMP JUMPDEST PUSH2 0x5ED DUP2 DUP4 PUSH2 0xF2F JUMP JUMPDEST PUSH2 0x5F6 DUP2 PUSH2 0x120F JUMP JUMPDEST ISZERO PUSH2 0x632 JUMPI POP DUP3 SWAP2 PUSH2 0x609 SWAP2 CALLDATASIZE SWAP2 PUSH2 0x478 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD DUP3 ADDRESS GAS CALL PUSH2 0x61B PUSH2 0x10D8 JUMP JUMPDEST SWAP1 ISZERO PUSH2 0x62A JUMPI POP PUSH1 0x1 ADD PUSH2 0x5CA JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD REVERT JUMPDEST PUSH4 0x1D8370A3 PUSH1 0xE1 SHL DUP5 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH1 0x4 MSTORE PUSH1 0x24 DUP4 REVERT JUMPDEST PUSH2 0x657 CALLDATASIZE PUSH2 0x545 JUMP JUMPDEST SWAP1 PUSH20 0x4337084D9E255FF0702461CF8895CE9E3B5FF108 CALLER SUB PUSH2 0x6D8 JUMPI JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT PUSH2 0x680 JUMPI STOP JUMPDEST DUP1 PUSH2 0x6D2 PUSH2 0x691 PUSH1 0x1 SWAP4 DUP7 DUP7 PUSH2 0x1026 JUMP JUMPDEST CALLDATALOAD PUSH2 0x69B DUP2 PUSH2 0x25C JUMP JUMPDEST PUSH1 0x20 PUSH2 0x6A8 DUP5 DUP9 DUP9 PUSH2 0x1026 JUMP JUMPDEST ADD CALLDATALOAD PUSH2 0x6CC PUSH2 0x6C5 PUSH2 0x6BB DUP7 DUP11 DUP11 PUSH2 0x1026 JUMP JUMPDEST PUSH1 0x40 DUP2 ADD SWAP1 PUSH2 0xEFD JUMP JUMPDEST CALLDATASIZE SWAP2 PUSH2 0x478 JUMP JUMPDEST SWAP2 PUSH2 0x18F4 JUMP JUMPDEST ADD PUSH2 0x677 JUMP JUMPDEST PUSH2 0x6E0 PUSH2 0x146F JUMP JUMPDEST PUSH2 0x674 JUMP JUMPDEST CALLVALUE PUSH2 0x234 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x234 JUMPI PUSH1 0x20 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E16 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x234 JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0x728 DUP2 PUSH2 0x25C JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x234 JUMPI PUSH2 0x747 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x2E6 JUMP JUMPDEST SWAP1 SWAP2 PUSH32 0x0 ADDRESS EQ PUSH2 0x817 JUMPI PUSH2 0x778 PUSH2 0x146F JUMP JUMPDEST PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB AND RETURNDATASIZE PUSH1 0x0 MSTORE PUSH4 0x52D1902D PUSH1 0x1 MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DF6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x20 PUSH1 0x1 PUSH1 0x4 PUSH1 0x1D DUP6 GAS STATICCALL MLOAD SUB PUSH2 0x809 JUMPI DUP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B PUSH1 0x0 DUP1 LOG2 DUP2 DUP2 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DF6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SSTORE PUSH2 0x7EA JUMPI STOP JUMPDEST DUP2 PUSH1 0x0 SWAP3 PUSH1 0x40 MLOAD SWAP5 DUP6 CALLDATACOPY DUP4 CODESIZE SWAP3 GAS DELEGATECALL ISZERO PUSH2 0x800 JUMPI STOP JUMPDEST RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH4 0x55299B49 PUSH1 0x1 MSTORE PUSH1 0x4 PUSH1 0x1D REVERT JUMPDEST PUSH4 0x9F03A026 PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x1C REVERT JUMPDEST CALLVALUE PUSH2 0x234 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x234 JUMPI ADDRESS PUSH32 0x0 SUB PUSH2 0x817 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DF6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x234 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x234 JUMPI PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DF6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 SWAP1 RETURN JUMPDEST PUSH2 0x8B4 CALLDATASIZE PUSH2 0x545 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DB6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH2 0x93C JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x447 JUMPI DUP1 PUSH1 0x5 SHL SWAP2 PUSH1 0x40 MLOAD SWAP2 PUSH2 0x8EC PUSH1 0x20 DUP6 ADD DUP5 PUSH2 0x426 JUMP JUMPDEST DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP3 DUP2 ADD SWAP1 CALLDATASIZE DUP3 GT PUSH2 0x234 JUMPI DUP1 SWAP4 JUMPDEST DUP3 DUP6 LT PUSH2 0x910 JUMPI PUSH2 0x2E4 DUP5 PUSH2 0x1928 JUMP JUMPDEST DUP5 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x234 JUMPI PUSH1 0x20 SWAP2 PUSH2 0x931 DUP4 SWAP3 CALLDATASIZE SWAP1 DUP7 ADD PUSH2 0x4AF JUMP JUMPDEST DUP2 MSTORE ADD SWAP5 ADD SWAP4 PUSH2 0x900 JUMP JUMPDEST PUSH4 0x2ED543D PUSH1 0xE5 SHL PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0x960 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x950 JUMP JUMPDEST SWAP1 PUSH1 0x20 SWAP2 PUSH2 0x989 DUP2 MLOAD DUP1 SWAP3 DUP2 DUP6 MSTORE DUP6 DUP1 DUP7 ADD SWAP2 ADD PUSH2 0x94D JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND ADD ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x20 PUSH2 0x4CA SWAP3 DUP2 DUP2 MSTORE ADD SWAP1 PUSH2 0x970 JUMP JUMPDEST CALLVALUE PUSH2 0x234 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x234 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x234 JUMPI DUP1 PUSH1 0x4 ADD PUSH1 0x80 PUSH1 0x3 NOT DUP4 CALLDATASIZE SUB ADD SLT PUSH2 0x234 JUMPI PUSH1 0x44 DUP3 ADD CALLDATALOAD PUSH2 0x9E8 DUP2 PUSH2 0x1057 JUMP JUMPDEST TIMESTAMP GT PUSH2 0xA85 JUMPI PUSH2 0xA1F PUSH2 0xA0C PUSH2 0xA00 PUSH2 0xA23 SWAP4 PUSH2 0x108F JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 PUSH2 0x1CAB JUMP JUMPDEST PUSH2 0xA19 PUSH1 0x64 DUP7 ADD DUP6 PUSH2 0xEFD JUMP JUMPDEST SWAP2 PUSH2 0x1813 JUMP JUMPDEST ISZERO SWAP1 JUMP JUMPDEST PUSH2 0xA74 JUMPI PUSH1 0x0 SWAP2 PUSH2 0xA42 DUP3 PUSH1 0x24 PUSH2 0xA3A DUP7 SWAP6 PUSH2 0x104D JUMP JUMPDEST SWAP4 ADD SWAP1 PUSH2 0xEFD JUMP JUMPDEST SWAP1 PUSH2 0xA52 PUSH1 0x40 MLOAD DUP1 SWAP4 DUP2 SWAP4 PUSH2 0x10B5 JUMP JUMPDEST SUB SWAP2 GAS STATICCALL PUSH2 0xA5E PUSH2 0x10D8 JUMP JUMPDEST SWAP1 ISZERO PUSH2 0x62A JUMPI PUSH2 0x3EB SWAP1 PUSH1 0x40 MLOAD SWAP2 DUP3 SWAP2 DUP3 PUSH2 0x995 JUMP JUMPDEST PUSH4 0x8BAA579F PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x0 REVERT JUMPDEST PUSH2 0xA91 PUSH2 0xAA8 SWAP2 PUSH2 0x1057 JUMP JUMPDEST PUSH4 0xF88F049 PUSH1 0xE4 SHL PUSH1 0x0 MSTORE PUSH1 0x4 MSTORE TIMESTAMP PUSH1 0x24 MSTORE PUSH1 0x44 SWAP1 JUMP JUMPDEST PUSH1 0x0 REVERT JUMPDEST CALLVALUE PUSH2 0x234 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x234 JUMPI PUSH2 0xAEC PUSH2 0xAFA PUSH2 0xACB PUSH2 0x1A3A JUMP JUMPDEST PUSH1 0x40 SWAP3 SWAP2 SWAP3 MLOAD SWAP4 DUP5 SWAP4 PUSH1 0xF PUSH1 0xF8 SHL DUP6 MSTORE PUSH1 0xE0 PUSH1 0x20 DUP7 ADD MSTORE PUSH1 0xE0 DUP6 ADD SWAP1 PUSH2 0x970 JUMP JUMPDEST SWAP1 DUP4 DUP3 SUB PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0x970 JUMP JUMPDEST CHAINID PUSH1 0x60 DUP4 ADD MSTORE ADDRESS PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0x0 PUSH1 0xA0 DUP4 ADD MSTORE DUP2 DUP2 SUB PUSH1 0xC0 DUP4 ADD MSTORE PUSH1 0x20 PUSH1 0x60 MLOAD SWAP2 DUP3 DUP2 MSTORE ADD SWAP1 PUSH1 0x80 SWAP1 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH2 0xB34 JUMPI POP POP POP SUB SWAP1 RETURN JUMPDEST DUP3 MLOAD DUP5 MSTORE DUP6 SWAP5 POP PUSH1 0x20 SWAP4 DUP5 ADD SWAP4 SWAP1 SWAP3 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0xB26 JUMP JUMPDEST CALLVALUE PUSH2 0x234 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x234 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH2 0x2105 DUP2 MSTORE RETURN JUMPDEST SWAP1 PUSH1 0x40 PUSH1 0x3 NOT DUP4 ADD SLT PUSH2 0x234 JUMPI PUSH1 0x4 CALLDATALOAD SWAP2 PUSH1 0x24 CALLDATALOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH2 0x234 JUMPI PUSH2 0xB99 SWAP2 PUSH1 0x4 ADD PUSH2 0x2E6 JUMP JUMPDEST SWAP1 SWAP2 JUMP JUMPDEST CALLVALUE PUSH2 0x234 JUMPI PUSH2 0xBAB CALLDATASIZE PUSH2 0xB6A JUMP JUMPDEST SWAP1 PUSH2 0xBB4 PUSH2 0x146F JUMP JUMPDEST PUSH1 0x1 PUSH2 0xBBE PUSH2 0xE94 JUMP JUMPDEST EQ PUSH2 0xBCC JUMPI PUSH2 0x2E4 SWAP3 PUSH2 0x1B94 JUMP JUMPDEST PUSH4 0x948BF897 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x0 REVERT JUMPDEST CALLVALUE PUSH2 0x234 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x234 JUMPI PUSH2 0x3EB PUSH2 0xBFC PUSH1 0x4 CALLDATALOAD PUSH2 0x1142 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 SWAP2 PUSH1 0x20 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP1 PUSH2 0x970 JUMP JUMPDEST CALLVALUE PUSH2 0x234 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x234 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 SUB PUSH2 0x234 JUMPI PUSH2 0xC40 PUSH1 0x20 SWAP2 PUSH2 0x120F JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x234 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x234 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x234 JUMPI PUSH2 0x254 PUSH2 0xC7F PUSH1 0x20 SWAP3 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x365 JUMP JUMPDEST PUSH2 0x1292 JUMP JUMPDEST CALLVALUE PUSH2 0x234 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x234 JUMPI PUSH1 0x20 PUSH2 0xC40 PUSH1 0x4 CALLDATALOAD PUSH2 0xCA6 DUP2 PUSH2 0x25C JUMP JUMPDEST PUSH2 0x13A8 JUMP JUMPDEST CALLVALUE PUSH2 0x234 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x234 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH20 0x4337084D9E255FF0702461CF8895CE9E3B5FF108 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x60 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x234 JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0xCF2 DUP2 PUSH2 0x25C JUMP JUMPDEST PUSH1 0x44 CALLDATALOAD SWAP1 PUSH1 0x24 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 GT PUSH2 0x234 JUMPI PUSH2 0x6CC PUSH2 0xD1B PUSH2 0x2E4 SWAP5 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x2E6 JUMP JUMPDEST PUSH20 0x4337084D9E255FF0702461CF8895CE9E3B5FF108 CALLER SUB PUSH2 0xD3D JUMPI CALLDATASIZE SWAP2 PUSH2 0x478 JUMP JUMPDEST PUSH2 0xD45 PUSH2 0x146F JUMP JUMPDEST PUSH2 0x6C5 JUMP JUMPDEST CALLVALUE PUSH2 0x234 JUMPI PUSH2 0xD58 CALLDATASIZE PUSH2 0xB6A JUMP JUMPDEST SWAP1 PUSH2 0xD61 PUSH2 0x146F JUMP JUMPDEST PUSH2 0xD69 PUSH2 0xE94 JUMP JUMPDEST SWAP3 PUSH1 0x1 DUP5 GT PUSH2 0xD7C JUMPI PUSH2 0x2E4 SWAP4 POP PUSH2 0x1B94 JUMP JUMPDEST DUP4 PUSH4 0x1047E355 PUSH1 0xE3 SHL PUSH1 0x0 MSTORE PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST CALLVALUE PUSH2 0x234 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x234 JUMPI PUSH1 0x20 PUSH2 0x254 PUSH1 0x4 CALLDATALOAD PUSH2 0x1CAB JUMP JUMPDEST CALLVALUE PUSH2 0x234 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x234 JUMPI PUSH1 0x20 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DB6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x234 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x234 JUMPI PUSH1 0x20 PUSH2 0x254 PUSH2 0x13CE JUMP JUMPDEST SWAP1 PUSH2 0xE08 PUSH1 0x20 SWAP3 DUP3 DUP2 MLOAD SWAP5 DUP6 SWAP3 ADD PUSH2 0x94D JUMP JUMPDEST ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 PUSH2 0xE25 SWAP2 DUP2 PUSH1 0x40 MLOAD SWAP4 DUP3 DUP6 DUP1 SWAP5 MLOAD SWAP4 DUP5 SWAP3 ADD PUSH2 0x94D JUMP JUMPDEST DUP2 ADD PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F503 DUP2 MSTORE SUB ADD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DD6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SUB SWAP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DD6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP3 GT PUSH2 0xE8F JUMPI JUMP JUMPDEST PUSH2 0xE51 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DB6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E16 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD DUP2 SUB SWAP1 DUP2 GT PUSH2 0xE8F JUMPI SWAP1 JUMP JUMPDEST PUSH1 0x0 NOT DUP2 EQ PUSH2 0xE8F JUMPI PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH2 0xEDD PUSH2 0xEE2 SWAP4 SWAP3 PUSH2 0x1CAB JUMP JUMPDEST PUSH2 0x1813 JUMP JUMPDEST PUSH2 0xEF2 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 JUMP JUMPDEST PUSH4 0xB135D3F PUSH1 0xE1 SHL SWAP1 JUMP JUMPDEST SWAP1 CALLDATALOAD SWAP1 PUSH1 0x1E NOT DUP2 CALLDATASIZE SUB ADD DUP3 SLT ISZERO PUSH2 0x234 JUMPI ADD DUP1 CALLDATALOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH2 0x234 JUMPI PUSH1 0x20 ADD SWAP2 DUP2 CALLDATASIZE SUB DUP4 SGT PUSH2 0x234 JUMPI JUMP JUMPDEST CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND SWAP3 SWAP2 SWAP1 PUSH1 0x4 DUP3 LT PUSH2 0xF4A JUMPI POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0x4 SWAP3 SWAP1 SWAP3 SUB PUSH1 0x3 SHL DUP3 SWAP1 SHL AND AND SWAP2 POP JUMP JUMPDEST PUSH1 0x20 DUP2 ADD CALLDATALOAD PUSH1 0x40 SHR SWAP2 PUSH2 0xF7B PUSH1 0x60 DUP4 ADD DUP4 PUSH2 0xEFD JUMP JUMPDEST PUSH4 0x16155E8F PUSH1 0xE1 SHL SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP2 PUSH2 0xF97 SWAP2 PUSH2 0xF2F JUMP JUMPDEST AND SUB PUSH2 0xFE8 JUMPI POP PUSH2 0xFA7 DUP2 PUSH2 0x1292 JUMP JUMPDEST SWAP2 PUSH2 0x2105 DUP2 SUB PUSH2 0xFD4 JUMPI POP SWAP1 PUSH2 0xA19 PUSH2 0xFC6 SWAP3 JUMPDEST PUSH2 0x100 DUP2 ADD SWAP1 PUSH2 0xEFD JUMP JUMPDEST PUSH2 0xFCF JUMPI PUSH1 0x1 SWAP1 JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH4 0x2EF37813 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH2 0x2105 DUP2 EQ PUSH2 0xFD4 JUMPI POP SWAP1 PUSH2 0xA19 PUSH2 0xFC6 SWAP3 PUSH2 0xFBB JUMP JUMPDEST PUSH2 0x100B PUSH1 0xFF SWAP2 PUSH2 0xE0C JUMP JUMPDEST SLOAD AND SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 SWAP1 DUP2 LT ISZERO PUSH2 0x1048 JUMPI PUSH1 0x5 SHL DUP2 ADD CALLDATALOAD SWAP1 PUSH1 0x5E NOT DUP2 CALLDATASIZE SUB ADD DUP3 SLT ISZERO PUSH2 0x234 JUMPI ADD SWAP1 JUMP JUMPDEST PUSH2 0x1010 JUMP JUMPDEST CALLDATALOAD PUSH2 0x4CA DUP2 PUSH2 0x25C JUMP JUMPDEST SWAP1 PUSH2 0x708 DUP3 ADD DUP1 SWAP3 GT PUSH2 0xE8F JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x15 DUP3 ADD DUP1 SWAP3 GT PUSH2 0xE8F JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x2 DUP3 ADD DUP1 SWAP3 GT PUSH2 0xE8F JUMPI JUMP JUMPDEST SWAP2 SWAP1 DUP3 ADD DUP1 SWAP3 GT PUSH2 0xE8F JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x40 MLOAD SWAP2 PUSH4 0x737BEBDD PUSH1 0xE0 SHL PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x24 DUP3 MSTORE PUSH2 0x45B PUSH1 0x44 DUP4 PUSH2 0x426 JUMP JUMPDEST SWAP1 DUP1 SWAP3 SWAP2 DUP3 CALLDATACOPY ADD PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x10D2 PUSH1 0x20 DUP4 PUSH2 0x426 JUMP JUMPDEST PUSH1 0x0 DUP3 MSTORE JUMP JUMPDEST RETURNDATASIZE ISZERO PUSH2 0x1103 JUMPI RETURNDATASIZE SWAP1 PUSH2 0x10E9 DUP3 PUSH2 0x45D JUMP JUMPDEST SWAP2 PUSH2 0x10F7 PUSH1 0x40 MLOAD SWAP4 DUP5 PUSH2 0x426 JUMP JUMPDEST DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY JUMP JUMPDEST PUSH1 0x60 SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH2 0x1138 JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH2 0x1122 JUMPI JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH2 0x1117 JUMP JUMPDEST PUSH1 0x0 MSTORE PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F502 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD SWAP1 DUP2 PUSH1 0x0 DUP3 SLOAD SWAP3 PUSH2 0x1181 DUP5 PUSH2 0x1108 JUMP JUMPDEST DUP1 DUP5 MSTORE SWAP4 PUSH1 0x1 DUP2 AND SWAP1 DUP2 ISZERO PUSH2 0x11ED JUMPI POP PUSH1 0x1 EQ PUSH2 0x11A6 JUMPI JUMPDEST POP PUSH2 0x4CA SWAP3 POP SUB DUP3 PUSH2 0x426 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 SWAP3 SWAP2 SWAP3 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x0 SWAP2 JUMPDEST DUP2 DUP4 LT PUSH2 0x11D1 JUMPI POP POP SWAP1 PUSH1 0x20 PUSH2 0x4CA SWAP3 DUP3 ADD ADD CODESIZE PUSH2 0x1199 JUMP JUMPDEST PUSH1 0x20 SWAP2 SWAP4 POP DUP1 PUSH1 0x1 SWAP2 SLOAD DUP4 DUP6 DUP9 ADD ADD MSTORE ADD SWAP2 ADD SWAP1 SWAP2 DUP4 SWAP3 PUSH2 0x11B8 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 SWAP3 POP PUSH2 0x4CA SWAP5 SWAP2 POP PUSH1 0xFF NOT AND DUP3 DUP5 ADD MSTORE ISZERO ISZERO PUSH1 0x5 SHL DUP3 ADD ADD CODESIZE PUSH2 0x1199 JUMP JUMPDEST PUSH4 0xFFFFFFFF PUSH1 0xE0 SHL AND PUSH4 0x29565E3B PUSH1 0xE0 SHL DUP2 EQ SWAP1 DUP2 ISZERO PUSH2 0x1281 JUMPI JUMPDEST DUP2 ISZERO PUSH2 0x1270 JUMPI JUMPDEST DUP2 ISZERO PUSH2 0x125F JUMPI JUMPDEST DUP2 ISZERO PUSH2 0x124E JUMPI JUMPDEST POP PUSH2 0x1249 JUMPI PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH1 0x1 SWAP1 JUMP JUMPDEST PUSH4 0x278F7943 PUSH1 0xE1 SHL EQ SWAP1 POP CODESIZE PUSH2 0x123F JUMP JUMPDEST PUSH4 0xB8197367 PUSH1 0xE0 SHL DUP2 EQ SWAP2 POP PUSH2 0x1238 JUMP JUMPDEST PUSH4 0x89625B57 PUSH1 0xE0 SHL DUP2 EQ SWAP2 POP PUSH2 0x1231 JUMP JUMPDEST PUSH4 0x3C3CFC9 PUSH1 0xE2 SHL DUP2 EQ SWAP2 POP PUSH2 0x122A JUMP JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH2 0x129E DUP3 PUSH2 0x25C JUMP JUMPDEST PUSH2 0x136B PUSH1 0x20 DUP3 ADD CALLDATALOAD PUSH2 0x215 PUSH2 0x12B6 PUSH1 0x40 DUP6 ADD DUP6 PUSH2 0xEFD JUMP JUMPDEST SWAP1 DUP2 PUSH1 0x40 MLOAD SWAP2 DUP3 CALLDATACOPY KECCAK256 SWAP4 PUSH2 0x12D6 PUSH2 0x12D0 PUSH1 0x60 DUP4 ADD DUP4 PUSH2 0xEFD JUMP JUMPDEST SWAP1 PUSH2 0x220C JUMP JUMPDEST SWAP1 PUSH1 0x80 DUP2 ADD CALLDATALOAD PUSH1 0xA0 DUP3 ADD CALLDATALOAD SWAP1 PUSH2 0x12F8 PUSH2 0x12D0 PUSH1 0xC0 DUP6 ADD CALLDATALOAD SWAP5 PUSH1 0xE0 DUP2 ADD SWAP1 PUSH2 0xEFD JUMP JUMPDEST SWAP4 PUSH1 0x40 MLOAD SWAP9 DUP10 SWAP8 PUSH1 0x20 DUP10 ADD SWAP12 DUP13 SWAP5 SWAP2 SWAP3 PUSH2 0x100 SWAP7 SWAP4 SWAP10 SWAP9 SWAP8 SWAP5 SWAP2 SWAP10 PUSH2 0x120 DUP8 ADD SWAP11 PUSH32 0x29A0BCA4AF4BE3421398DA00295E58E6D7DE38CB492214754CB6A47507DD6F8E DUP9 MSTORE PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP9 ADD MSTORE PUSH1 0x40 DUP8 ADD MSTORE PUSH1 0x60 DUP7 ADD MSTORE PUSH1 0x80 DUP6 ADD MSTORE PUSH1 0xA0 DUP5 ADD MSTORE PUSH1 0xC0 DUP4 ADD MSTORE PUSH1 0xE0 DUP3 ADD MSTORE ADD MSTORE JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP3 DUP4 MSTORE PUSH20 0x4337084D9E255FF0702461CF8895CE9E3B5FF108 SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH2 0x13A2 DUP2 PUSH1 0x60 DUP2 ADD PUSH2 0x215 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x100B PUSH1 0xFF SWAP2 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x20 DUP2 MSTORE PUSH2 0x223 PUSH1 0x40 DUP3 PUSH2 0x426 JUMP JUMPDEST PUSH2 0x13D6 PUSH2 0x1A3A JUMP JUMPDEST SWAP1 PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SWAP1 PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 ADD SWAP3 PUSH32 0x8B73C3C69BB8FE3D512ECC4CF759CC79239F7B179B0FFACAA9A75D522B39400F DUP5 MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE CHAINID PUSH1 0x80 DUP3 ADD MSTORE ADDRESS PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xA0 DUP2 MSTORE PUSH2 0x13A2 PUSH1 0xC0 DUP3 PUSH2 0x426 JUMP JUMPDEST PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR PUSH4 0xBC197C81 DUP2 EQ PUSH4 0xF23A6E61 DUP3 EQ OR PUSH4 0x150B7A02 DUP3 EQ OR PUSH2 0x1466 JUMPI PUSH4 0x3C10B94E PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x1C REVERT JUMPDEST PUSH1 0x20 MSTORE PUSH1 0x20 PUSH1 0x3C RETURN JUMPDEST PUSH2 0x1478 CALLER PUSH2 0x13A8 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1493 JUMPI JUMPDEST PUSH2 0x45B JUMPI PUSH3 0x82B429 PUSH1 0xE8 SHL PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x0 REVERT JUMPDEST POP ADDRESS CALLER EQ PUSH2 0x147F JUMP JUMPDEST DUP2 DUP2 LT PUSH2 0x14A7 JUMPI POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x149C JUMP JUMPDEST SWAP2 SWAP1 PUSH1 0x1F DUP2 GT PUSH2 0x14C2 JUMPI POP POP POP JUMP JUMPDEST PUSH2 0x45B SWAP3 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x20 PUSH1 0x1F DUP5 ADD PUSH1 0x5 SHR DUP4 ADD SWAP4 LT PUSH2 0x14EE JUMPI JUMPDEST PUSH1 0x1F ADD PUSH1 0x5 SHR ADD SWAP1 PUSH2 0x149C JUMP JUMPDEST SWAP1 SWAP2 POP DUP2 SWAP1 PUSH2 0x14E1 JUMP JUMPDEST PUSH2 0x1501 DUP2 PUSH2 0x1000 JUMP JUMPDEST PUSH2 0x166F JUMPI PUSH2 0x150E DUP2 PUSH2 0xE0C JUMP JUMPDEST PUSH1 0x1 PUSH1 0xFF NOT DUP3 SLOAD AND OR SWAP1 SSTORE DUP2 PUSH1 0x0 MSTORE PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F502 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x447 JUMPI PUSH2 0x156A DUP2 PUSH2 0x1564 DUP5 SLOAD PUSH2 0x1108 JUMP JUMPDEST DUP5 PUSH2 0x14B3 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x1F DUP3 GT PUSH1 0x1 EQ PUSH2 0x15DE JUMPI SWAP2 PUSH2 0x15BF DUP3 PUSH32 0x38109EDC26E166B5579352CE56A50813177EB25208FD90D61F2F378386220220 SWAP6 SWAP4 PUSH2 0x15CE SWAP6 PUSH1 0x0 SWAP2 PUSH2 0x15D3 JUMPI JUMPDEST POP DUP2 PUSH1 0x1 SHL SWAP2 PUSH1 0x0 NOT SWAP1 PUSH1 0x3 SHL SHR NOT AND OR SWAP1 JUMP JUMPDEST SWAP1 SSTORE JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 SWAP2 DUP3 PUSH2 0x995 JUMP JUMPDEST SUB SWAP1 LOG2 JUMP JUMPDEST SWAP1 POP DUP5 ADD MLOAD CODESIZE PUSH2 0x15AB JUMP JUMPDEST PUSH1 0x1F NOT DUP3 AND SWAP1 PUSH2 0x15F3 DUP5 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP2 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH2 0x1657 JUMPI POP SWAP3 PUSH2 0x15CE SWAP5 SWAP3 PUSH1 0x1 SWAP3 DUP3 PUSH32 0x38109EDC26E166B5579352CE56A50813177EB25208FD90D61F2F378386220220 SWAP9 SWAP7 LT PUSH2 0x163E JUMPI JUMPDEST POP POP DUP2 SHL ADD SWAP1 SSTORE PUSH2 0x15C2 JUMP JUMPDEST DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 PUSH2 0x1632 JUMP JUMPDEST SWAP2 SWAP3 PUSH1 0x20 PUSH1 0x1 DUP2 SWAP3 DUP7 DUP11 ADD MLOAD DUP2 SSTORE ADD SWAP5 ADD SWAP3 ADD PUSH2 0x15F7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x468B12AD PUSH1 0xE1 SHL DUP2 MSTORE SWAP1 DUP2 SWAP1 PUSH2 0x168C SWAP1 PUSH1 0x4 DUP4 ADD PUSH2 0x995 JUMP JUMPDEST SUB SWAP1 REVERT JUMPDEST PUSH1 0x20 DUP2 DUP4 SUB SLT PUSH2 0x234 JUMPI DUP1 CALLDATALOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH2 0x234 JUMPI ADD PUSH1 0x40 DUP2 DUP4 SUB SLT PUSH2 0x234 JUMPI PUSH1 0x40 MLOAD SWAP2 PUSH1 0x40 DUP4 ADD DUP4 DUP2 LT PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT OR PUSH2 0x447 JUMPI PUSH1 0x40 MSTORE DUP2 CALLDATALOAD DUP4 MSTORE PUSH1 0x20 DUP3 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x234 JUMPI PUSH2 0x16F4 SWAP3 ADD PUSH2 0x4AF JUMP JUMPDEST PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD MLOAD SWAP1 PUSH1 0x20 DUP2 LT PUSH2 0x1710 JUMPI POP SWAP1 JUMP JUMPDEST PUSH1 0x0 NOT SWAP1 PUSH1 0x20 SUB PUSH1 0x3 SHL SHL AND SWAP1 JUMP JUMPDEST SWAP2 SWAP1 DUP3 PUSH1 0x40 SWAP2 SUB SLT PUSH2 0x234 JUMPI PUSH1 0x20 DUP3 MLOAD SWAP3 ADD MLOAD SWAP1 JUMP JUMPDEST DUP2 PUSH1 0x1F DUP3 ADD SLT ISZERO PUSH2 0x234 JUMPI PUSH1 0x20 DUP2 MLOAD SWAP2 ADD SWAP1 PUSH2 0x1750 DUP2 PUSH2 0x45D JUMP JUMPDEST SWAP3 PUSH2 0x175E PUSH1 0x40 MLOAD SWAP5 DUP6 PUSH2 0x426 JUMP JUMPDEST DUP2 DUP5 MSTORE DUP2 DUP4 ADD GT PUSH2 0x234 JUMPI PUSH2 0x4CA SWAP2 PUSH1 0x20 DUP5 ADD SWAP1 PUSH2 0x94D JUMP JUMPDEST PUSH1 0x20 DUP2 DUP4 SUB SLT PUSH2 0x234 JUMPI DUP1 MLOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH2 0x234 JUMPI ADD SWAP1 PUSH1 0xC0 DUP3 DUP3 SUB SLT PUSH2 0x234 JUMPI PUSH2 0x17A6 PUSH2 0x44C JUMP JUMPDEST SWAP2 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x234 JUMPI DUP3 PUSH2 0x17C3 SWAP2 DUP4 ADD PUSH2 0x1735 JUMP JUMPDEST DUP4 MSTORE PUSH1 0x20 DUP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x234 JUMPI PUSH1 0xA0 SWAP3 PUSH2 0x17E6 SWAP2 DUP4 ADD PUSH2 0x1735 JUMP JUMPDEST PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x40 DUP2 ADD MLOAD PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x60 DUP2 ADD MLOAD PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP2 ADD MLOAD PUSH1 0x80 DUP5 ADD MSTORE ADD MLOAD PUSH1 0xA0 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST SWAP3 SWAP2 SWAP1 PUSH2 0x1822 SWAP2 DUP2 ADD SWAP1 PUSH2 0x1690 JUMP JUMPDEST SWAP1 PUSH2 0x182D DUP3 MLOAD PUSH2 0x1142 JUMP JUMPDEST SWAP2 PUSH1 0x20 DUP4 MLOAD EQ PUSH2 0x18AB JUMPI DUP3 MLOAD SWAP4 PUSH1 0x40 DUP6 EQ PUSH2 0x185D JUMPI PUSH1 0x40 MLOAD PUSH4 0x27755B91 PUSH1 0xE1 SHL DUP2 MSTORE DUP1 PUSH2 0x168C DUP7 PUSH1 0x4 DUP4 ADD PUSH2 0x995 JUMP JUMPDEST PUSH2 0x215 PUSH2 0x18A6 PUSH2 0x1891 PUSH2 0x187D DUP8 PUSH1 0x20 DUP1 DUP1 SWAP10 SWAP12 PUSH2 0x4CA SWAP12 ADD ADD SWAP2 ADD PUSH2 0x171F JUMP JUMPDEST SWAP7 SWAP1 SWAP6 ADD MLOAD PUSH1 0x20 DUP1 DUP3 MLOAD DUP4 ADD ADD SWAP2 ADD PUSH2 0x1777 JUMP JUMPDEST SWAP3 PUSH1 0x40 MLOAD SWAP3 DUP4 SWAP2 PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 PUSH1 0x20 DUP4 ADD SWAP3 MSTORE JUMP JUMPDEST PUSH2 0x1EAD JUMP JUMPDEST SWAP2 SWAP3 SWAP1 SWAP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH2 0x18C1 DUP6 PUSH2 0x16FC JUMP JUMPDEST GT PUSH2 0x18D9 JUMPI PUSH1 0x20 DUP1 PUSH2 0x4CA SWAP5 SWAP6 ADD MLOAD SWAP3 ADD MLOAD SWAP2 PUSH2 0x1D20 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xBFF1AC65 PUSH1 0xE0 SHL DUP2 MSTORE DUP1 PUSH2 0x168C DUP7 PUSH1 0x4 DUP4 ADD PUSH2 0x995 JUMP JUMPDEST SWAP2 PUSH1 0x0 SWAP3 DUP4 SWAP3 PUSH1 0x20 DUP4 MLOAD SWAP4 ADD SWAP2 GAS CALL PUSH2 0x190B PUSH2 0x10D8 JUMP JUMPDEST SWAP1 ISZERO PUSH2 0x62A JUMPI POP JUMP JUMPDEST DUP1 MLOAD DUP3 LT ISZERO PUSH2 0x1048 JUMPI PUSH1 0x20 SWAP2 PUSH1 0x5 SHL ADD ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DB6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x0 JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH2 0x1A25 JUMPI PUSH1 0x20 PUSH2 0x1951 DUP3 DUP7 PUSH2 0x1914 JUMP JUMPDEST MLOAD MLOAD EQ ISZERO DUP1 PUSH2 0x1A0F JUMPI JUMPDEST PUSH2 0x19E8 JUMPI PUSH1 0x20 PUSH2 0x196B DUP3 DUP7 PUSH2 0x1914 JUMP JUMPDEST MLOAD MLOAD EQ DUP1 PUSH2 0x19C6 JUMPI JUMPDEST PUSH2 0x199F JUMPI DUP1 PUSH2 0x1999 PUSH2 0x1988 PUSH1 0x1 SWAP4 DUP8 PUSH2 0x1914 JUMP JUMPDEST MLOAD SWAP4 PUSH2 0x1993 DUP2 PUSH2 0xEC0 JUMP JUMPDEST SWAP5 PUSH2 0x14F8 JUMP JUMPDEST ADD PUSH2 0x193C JUMP JUMPDEST PUSH2 0x19AC PUSH2 0x168C SWAP2 DUP6 PUSH2 0x1914 JUMP JUMPDEST MLOAD PUSH1 0x40 MLOAD PUSH4 0xBFF1AC65 PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 DUP3 SWAP2 PUSH1 0x4 DUP4 ADD PUSH2 0x995 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH2 0x19E2 PUSH2 0x19DC DUP4 DUP8 PUSH2 0x1914 JUMP JUMPDEST MLOAD PUSH2 0x16FC JUMP JUMPDEST GT PUSH2 0x1974 JUMP JUMPDEST PUSH2 0x19F5 PUSH2 0x168C SWAP2 DUP6 PUSH2 0x1914 JUMP JUMPDEST MLOAD PUSH1 0x40 MLOAD PUSH4 0x27755B91 PUSH1 0xE1 SHL DUP2 MSTORE SWAP2 DUP3 SWAP2 PUSH1 0x4 DUP4 ADD PUSH2 0x995 JUMP JUMPDEST POP PUSH1 0x40 PUSH2 0x1A1C DUP3 DUP7 PUSH2 0x1914 JUMP JUMPDEST MLOAD MLOAD EQ ISZERO PUSH2 0x195B JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DB6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SSTORE SWAP1 POP JUMP JUMPDEST PUSH1 0x40 SWAP1 DUP2 MLOAD PUSH2 0x1A49 DUP4 DUP3 PUSH2 0x426 JUMP JUMPDEST PUSH1 0x12 DUP2 MSTORE PUSH18 0x11DA585B9BC814DB585C9D0815D85B1B195D PUSH1 0x72 SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP2 PUSH2 0x1A75 DUP2 MLOAD SWAP2 DUP3 PUSH2 0x426 JUMP JUMPDEST PUSH1 0x1 DUP2 MSTORE PUSH1 0x31 PUSH1 0xF8 SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST SWAP1 DUP1 PUSH1 0x20 SWAP4 SWAP3 DUP2 DUP5 MSTORE DUP5 DUP5 ADD CALLDATACOPY PUSH1 0x0 DUP3 DUP3 ADD DUP5 ADD MSTORE PUSH1 0x1F ADD PUSH1 0x1F NOT AND ADD ADD SWAP1 JUMP JUMPDEST SWAP3 SWAP2 PUSH2 0x4CA SWAP5 SWAP3 PUSH2 0x1AC5 SWAP3 DUP6 MSTORE PUSH1 0x60 PUSH1 0x20 DUP7 ADD MSTORE PUSH1 0x60 DUP6 ADD SWAP2 PUSH2 0x1A86 JUMP JUMPDEST SWAP2 PUSH1 0x40 DUP2 DUP5 SUB SWAP2 ADD MSTORE PUSH2 0x970 JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP3 PUSH1 0x40 MLOAD SWAP4 DUP5 SWAP3 DUP4 CALLDATACOPY DUP2 ADD PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F503 DUP2 MSTORE SUB ADD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x2 DUP2 SWAP1 SHL SWAP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xFE SHL SUB DUP2 AND SUB PUSH2 0xE8F JUMPI JUMP JUMPDEST PUSH2 0x1B2D DUP2 SLOAD PUSH2 0x1108 JUMP JUMPDEST SWAP1 DUP2 PUSH2 0x1B37 JUMPI POP POP JUMP JUMPDEST DUP2 PUSH1 0x1F PUSH1 0x0 SWAP4 GT PUSH1 0x1 EQ PUSH2 0x1B49 JUMPI POP SSTORE JUMP JUMPDEST DUP2 DUP4 MSTORE PUSH1 0x20 DUP4 KECCAK256 PUSH2 0x1B65 SWAP2 PUSH1 0x1F ADD PUSH1 0x5 SHR DUP2 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x149C JUMP JUMPDEST DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 KECCAK256 SWAP1 DUP2 SLOAD DUP4 PUSH1 0x1 SHL SWAP1 DUP5 NOT DUP6 PUSH1 0x3 SHL SHR NOT AND OR SWAP1 SSTORE SSTORE JUMP JUMPDEST SWAP2 PUSH1 0x20 PUSH2 0x4CA SWAP4 DUP2 DUP2 MSTORE ADD SWAP2 PUSH2 0x1A86 JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x1B9F DUP4 PUSH2 0x1142 JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x1C95 JUMPI DUP1 MLOAD PUSH1 0x20 DUP3 ADD KECCAK256 PUSH2 0x1BB8 CALLDATASIZE DUP6 DUP6 PUSH2 0x478 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SUB PUSH2 0x1C76 JUMPI POP SWAP1 DUP2 PUSH2 0x1BFF PUSH2 0x1BF5 DUP4 PUSH32 0xCF95BBFE6F870F8CC40482DC3DCCDAFD268F0E9CE0A4F24EA1BEA9BE64E505FF SWAP6 PUSH2 0x1AD3 JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x1C3A PUSH2 0x1C35 DUP6 PUSH1 0x0 MSTORE PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F502 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x1B23 JUMP JUMPDEST PUSH2 0x1C67 PUSH2 0x1C55 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E16 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH2 0xEC0 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E16 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SSTORE JUMP JUMPDEST PUSH2 0x15CE PUSH1 0x40 MLOAD SWAP3 DUP4 SWAP3 DUP4 PUSH2 0x1B83 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x781F2E39 PUSH1 0xE0 SHL DUP2 MSTORE SWAP4 DUP5 SWAP4 PUSH2 0x168C SWAP4 SWAP1 SWAP2 PUSH1 0x4 DUP7 ADD PUSH2 0x1AA7 JUMP JUMPDEST PUSH4 0x340C473D PUSH1 0xE1 SHL PUSH1 0x0 MSTORE PUSH1 0x4 DUP5 SWAP1 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1CB3 PUSH2 0x13CE JUMP JUMPDEST SWAP1 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 ADD SWAP2 PUSH32 0x37F248F492286AB572E2A1EE0BD5315F2AAE54A08B5871B294D657F3A1F1D007 DUP4 MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP2 MSTORE PUSH2 0x1CF3 PUSH1 0x60 DUP3 PUSH2 0x426 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 ADD SWAP3 PUSH2 0x1901 PUSH1 0xF0 SHL DUP5 MSTORE PUSH1 0x22 DUP4 ADD MSTORE PUSH1 0x42 DUP3 ADD MSTORE PUSH1 0x42 DUP2 MSTORE PUSH2 0x13A2 PUSH1 0x62 DUP3 PUSH2 0x426 JUMP JUMPDEST SWAP1 SWAP2 PUSH1 0x0 SWAP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND ISZERO PUSH2 0x1E0A JUMPI PUSH1 0x40 MLOAD SWAP3 PUSH1 0x4 DUP5 ADD SWAP5 PUSH1 0x24 DUP6 ADD SWAP6 PUSH1 0x44 DUP7 ADD SWAP3 DUP6 EXTCODESIZE ISZERO PUSH2 0x1D8A JUMPI POP SWAP2 DUP7 SWAP4 SWAP2 PUSH1 0x20 SWAP6 SWAP4 PUSH4 0xB135D3F PUSH1 0xE1 SHL DUP9 MSTORE MSTORE PUSH1 0x40 DUP5 MSTORE DUP2 MLOAD DUP6 ADD DUP1 SWAP3 PUSH1 0x4 GAS STATICCALL SWAP4 PUSH1 0x44 RETURNDATASIZE ADD SWAP2 GAS STATICCALL SWAP2 MLOAD PUSH4 0xB135D3F PUSH1 0xE1 SHL EQ SWAP2 AND AND SWAP1 JUMP JUMPDEST SWAP8 SWAP7 POP POP SWAP1 POP DUP2 MLOAD DUP1 PUSH1 0x40 EQ PUSH2 0x1DE5 JUMPI PUSH1 0x41 EQ PUSH2 0x1DA7 JUMPI POP POP POP POP JUMP JUMPDEST PUSH1 0x20 SWAP3 SWAP4 SWAP6 POP PUSH1 0x60 DUP3 ADD MLOAD PUSH1 0x0 BYTE DUP4 MSTORE PUSH1 0x40 DUP3 ADD MLOAD PUSH1 0x60 MSTORE JUMPDEST PUSH1 0x0 MSTORE ADD MLOAD PUSH1 0x40 MSTORE PUSH1 0x20 PUSH1 0x1 PUSH1 0x80 PUSH1 0x0 DUP3 GAS STATICCALL MLOAD XOR PUSH1 0x60 SHL RETURNDATASIZE GT SWAP2 PUSH1 0x0 PUSH1 0x60 MSTORE PUSH1 0x40 MSTORE JUMP JUMPDEST POP PUSH1 0x20 SWAP3 SWAP4 SWAP6 POP PUSH1 0x40 DUP3 ADD MLOAD PUSH1 0x1B DUP2 PUSH1 0xFF SHR ADD DUP5 MSTORE PUSH1 0x1 DUP1 PUSH1 0xFF SHL SUB AND PUSH1 0x60 MSTORE PUSH2 0x1DC0 JUMP JUMPDEST POP POP POP POP PUSH1 0x0 SWAP1 JUMP JUMPDEST SWAP1 PUSH2 0x45B PUSH1 0x1 PUSH1 0x2D PUSH1 0x40 MLOAD DUP1 SWAP6 PUSH13 0x1131B430B63632B733B2911D11 PUSH1 0x99 SHL PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1E49 DUP2 MLOAD DUP1 SWAP3 PUSH1 0x20 DUP7 DUP7 ADD SWAP2 ADD PUSH2 0x94D JUMP JUMPDEST DUP2 ADD PUSH1 0x11 PUSH1 0xF9 SHL DUP4 DUP3 ADD MSTORE SUB ADD PUSH1 0x1E NOT DUP2 ADD DUP6 MSTORE ADD DUP4 PUSH2 0x426 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x20 LT ISZERO PUSH2 0x1048 JUMPI PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x20 SWAP3 SWAP2 SWAP1 PUSH2 0x1E96 DUP5 SWAP3 DUP3 DUP2 MLOAD SWAP5 DUP6 SWAP3 ADD PUSH2 0x94D JUMP JUMPDEST ADD SWAP1 DUP2 MSTORE ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 PUSH1 0x20 SWAP2 SUB SLT PUSH2 0x234 JUMPI MLOAD SWAP1 JUMP JUMPDEST SWAP3 SWAP2 SWAP1 PUSH1 0x0 SWAP4 PUSH1 0xA0 DUP3 ADD SWAP5 DUP6 MLOAD PUSH32 0x7FFFFFFF800000007FFFFFFFFFFFFFFFDE737D56D38BCF4279DCE5617E3192A8 LT PUSH2 0x208A JUMPI PUSH1 0x20 DUP4 ADD SWAP2 PUSH32 0xFF1A2A9176D650E4A99DEDB58F1793003935130579FE17B5A3F698AC5B00E634 PUSH2 0x1F1F DUP5 MLOAD PUSH1 0x60 DUP8 ADD MLOAD PUSH2 0x1F19 DUP2 PUSH2 0x1066 JUMP JUMPDEST SWAP2 PUSH2 0x2217 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SUB PUSH2 0x2093 JUMPI PUSH2 0x1F37 PUSH2 0x1F3C SWAP2 PUSH2 0x209D JUMP JUMPDEST PUSH2 0x1E13 JUMP JUMPDEST PUSH2 0x1F51 DUP4 MLOAD PUSH1 0x40 DUP7 ADD MLOAD PUSH2 0x1F19 DUP5 MLOAD DUP3 PUSH2 0x1082 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SWAP1 PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SUB PUSH2 0x208A JUMPI PUSH1 0x1 PUSH1 0xF8 SHL PUSH1 0x1 PUSH1 0xF8 SHL PUSH2 0x1F8A PUSH2 0x1F7C DUP7 MLOAD PUSH2 0x1E64 JUMP JUMPDEST MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 JUMP JUMPDEST AND SUB PUSH2 0x208A JUMPI PUSH2 0x1FA7 PUSH1 0x20 SWAP3 PUSH1 0x0 SWAP3 POP MLOAD PUSH1 0x40 MLOAD SWAP2 DUP3 DUP1 SWAP3 PUSH2 0xDF5 JUMP JUMPDEST SUB SWAP1 PUSH1 0x2 GAS STATICCALL ISZERO PUSH2 0x2085 JUMPI PUSH1 0x20 PUSH1 0x0 PUSH2 0x1FDD DUP2 MLOAD PUSH2 0x1FD1 DUP6 MLOAD PUSH2 0x215 PUSH1 0x40 MLOAD SWAP4 DUP5 SWAP3 DUP9 DUP5 ADD PUSH2 0x1E80 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 DUP1 SWAP3 PUSH2 0xDF5 JUMP JUMPDEST SUB SWAP1 PUSH1 0x2 GAS STATICCALL ISZERO PUSH2 0x2085 JUMPI PUSH1 0x80 PUSH1 0x0 MLOAD SWAP2 ADD SWAP4 PUSH1 0x0 DUP1 DUP7 MLOAD DUP6 PUSH2 0x2030 DUP6 MLOAD PUSH2 0x215 DUP11 PUSH1 0x40 MLOAD SWAP5 DUP6 SWAP4 PUSH1 0x20 DUP6 ADD SWAP8 DUP13 DUP10 SWAP2 SWAP3 PUSH1 0x80 SWAP4 SWAP7 SWAP6 SWAP5 SWAP2 SWAP7 PUSH1 0xA0 DUP5 ADD SWAP8 DUP5 MSTORE PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE ADD MSTORE JUMP JUMPDEST MLOAD SWAP1 PUSH2 0x100 GAS STATICCALL SWAP5 PUSH2 0x2040 PUSH2 0x10D8 JUMP JUMPDEST DUP1 MLOAD SWAP7 DUP1 PUSH2 0x207C JUMPI JUMPDEST PUSH2 0x205C JUMPI POP PUSH2 0x4CA SWAP6 POP MLOAD SWAP1 MLOAD SWAP2 PUSH2 0x2104 JUMP JUMPDEST PUSH1 0x1 SWAP7 PUSH2 0x2078 SWAP7 POP DUP2 ADD PUSH1 0x20 SWAP1 DUP2 ADD SWAP6 POP ADD SWAP3 POP PUSH2 0x1E9E SWAP2 POP POP JUMP JUMPDEST EQ SWAP1 JUMP JUMPDEST POP DUP7 ISZERO ISZERO PUSH2 0x2049 JUMP JUMPDEST PUSH2 0x1E74 JUMP JUMPDEST SWAP5 POP POP POP POP POP SWAP1 JUMP JUMPDEST POP SWAP5 POP POP POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x4CA SWAP2 PUSH2 0x20AF PUSH1 0x60 DUP4 PUSH2 0x426 JUMP JUMPDEST PUSH1 0x40 DUP3 MSTORE PUSH32 0x4142434445464748494A4B4C4D4E4F505152535455565758595A616263646566 PUSH1 0x20 DUP4 ADD MSTORE PUSH32 0x6768696A6B6C6D6E6F707172737475767778797A303132333435363738392D5F PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x22C3 JUMP JUMPDEST SWAP4 SWAP2 SWAP1 SWAP3 SWAP4 DUP4 ISZERO DUP1 ISZERO PUSH2 0x21F4 JUMPI JUMPDEST DUP1 ISZERO PUSH2 0x21EC JUMPI JUMPDEST DUP1 ISZERO PUSH2 0x21D4 JUMPI JUMPDEST PUSH2 0x21CA JUMPI PUSH2 0x212E DUP4 DUP7 PUSH2 0x236B JUMP JUMPDEST ISZERO PUSH2 0x21CA JUMPI PUSH1 0x40 MLOAD SWAP2 PUSH1 0x20 DUP4 MSTORE PUSH1 0x20 DUP1 DUP5 ADD MSTORE PUSH1 0x20 PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x60 DUP4 ADD MSTORE PUSH32 0xFFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC63254F PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DD6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0xA0 DUP4 ADD MSTORE PUSH1 0x20 DUP3 PUSH1 0xC0 DUP2 PUSH1 0x5 PUSH1 0x0 NOT STATICCALL ISZERO PUSH2 0x234 JUMPI PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DD6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP5 PUSH2 0x21C4 SWAP4 DUP7 PUSH2 0x21BE SWAP5 MLOAD DUP2 DUP2 DUP10 MULMOD SWAP5 MULMOD SWAP2 PUSH2 0x2446 JUMP JUMPDEST SWAP2 PUSH2 0xE67 JUMP JUMPDEST SWAP1 ADDMOD ISZERO SWAP1 JUMP JUMPDEST POP POP POP POP POP PUSH1 0x0 SWAP1 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DD6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP3 LT ISZERO PUSH2 0x2120 JUMP JUMPDEST POP DUP2 ISZERO PUSH2 0x2119 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DD6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP5 LT ISZERO PUSH2 0x2112 JUMP JUMPDEST DUP2 PUSH1 0x40 MLOAD SWAP2 DUP3 CALLDATACOPY KECCAK256 SWAP1 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x60 SWAP5 SWAP4 SWAP3 SWAP1 DUP4 DUP2 GT ISZERO PUSH2 0x2289 JUMPI JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x2281 JUMPI JUMPDEST POP DUP3 DUP2 LT PUSH2 0x223E JUMPI POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP5 POP SWAP2 DUP3 SWAP1 SUB SWAP2 ADD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND JUMPDEST DUP2 DUP2 ADD MLOAD DUP6 DUP3 ADD MSTORE PUSH1 0x1F NOT ADD SWAP1 DUP2 ISZERO PUSH2 0x226B JUMPI SWAP1 PUSH2 0x2252 JUMP JUMPDEST POP POP PUSH1 0x40 DUP2 DUP5 ADD PUSH1 0x0 PUSH1 0x20 DUP3 ADD MSTORE ADD PUSH1 0x40 MSTORE DUP3 MSTORE JUMP JUMPDEST SWAP1 POP CODESIZE PUSH2 0x2231 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x2228 JUMP JUMPDEST SWAP1 PUSH2 0x229B DUP3 PUSH2 0x45D JUMP JUMPDEST PUSH2 0x22A8 PUSH1 0x40 MLOAD SWAP2 DUP3 PUSH2 0x426 JUMP JUMPDEST DUP3 DUP2 MSTORE DUP1 SWAP3 PUSH2 0x22B9 PUSH1 0x1F NOT SWAP2 PUSH2 0x45D JUMP JUMPDEST ADD SWAP1 PUSH1 0x20 CALLDATASIZE SWAP2 ADD CALLDATACOPY JUMP JUMPDEST SWAP1 DUP2 MLOAD ISZERO PUSH2 0x2361 JUMPI SWAP1 PUSH2 0x22F0 PUSH2 0x22EB PUSH2 0x22E4 PUSH2 0x22DF DUP5 MLOAD PUSH2 0x1B0B JUMP JUMPDEST PUSH2 0x1074 JUMP JUMPDEST PUSH1 0x3 SWAP1 DIV SWAP1 JUMP JUMPDEST PUSH2 0x2291 JUMP JUMPDEST SWAP2 PUSH1 0x20 DUP4 ADD SWAP1 DUP3 DUP1 MLOAD ADD SWAP1 PUSH1 0x20 DUP3 ADD SWAP3 DUP4 MLOAD SWAP5 PUSH1 0x0 DUP6 MSTORE JUMPDEST DUP4 DUP2 LT PUSH2 0x2317 JUMPI POP POP POP POP MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x4 SWAP2 ADD SWAP2 PUSH1 0x1 PUSH1 0x3F DUP5 MLOAD DUP3 DUP3 DUP3 PUSH1 0x12 SHR AND DUP9 ADD ADD MLOAD DUP5 MSTORE8 DUP3 DUP3 DUP3 PUSH1 0xC SHR AND DUP9 ADD ADD MLOAD DUP4 DUP6 ADD MSTORE8 DUP3 DUP3 DUP3 PUSH1 0x6 SHR AND DUP9 ADD ADD MLOAD PUSH1 0x2 DUP6 ADD MSTORE8 AND DUP6 ADD ADD MLOAD PUSH1 0x3 DUP3 ADD MSTORE8 ADD SWAP1 PUSH2 0x2308 JUMP JUMPDEST POP POP PUSH2 0x4CA PUSH2 0x10C3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 LT DUP1 ISZERO SWAP1 PUSH2 0x242E JUMPI JUMPDEST DUP1 ISZERO PUSH2 0x241D JUMPI JUMPDEST PUSH2 0x2416 JUMPI PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH32 0x5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B SWAP1 DUP3 SWAP1 DUP2 PUSH32 0xFFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC DUP3 MULMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 DUP2 DUP1 MULMOD MULMOD ADDMOD ADDMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP1 MULMOD EQ SWAP1 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP1 JUMP JUMPDEST POP DUP1 ISZERO DUP1 ISZERO PUSH2 0x238B JUMPI POP DUP2 ISZERO PUSH2 0x238B JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP3 LT ISZERO PUSH2 0x2384 JUMP JUMPDEST SWAP1 SWAP3 PUSH1 0x0 SWAP3 SWAP1 DUP4 PUSH1 0xFF DUP2 DUP5 ISZERO DUP1 PUSH2 0x2A3D JUMPI JUMPDEST PUSH2 0x2A32 JUMPI PUSH2 0x2466 DUP9 DUP8 PUSH2 0x2A45 JUMP JUMPDEST SWAP3 SWAP1 SWAP2 DUP3 ISZERO DUP1 PUSH2 0x2A2A JUMPI JUMPDEST PUSH2 0x29EF JUMPI JUMPDEST POP DUP6 DUP2 SHR PUSH1 0x2 DUP7 PUSH1 0xFE SHR AND ADD JUMPDEST ISZERO PUSH2 0x29D6 JUMPI PUSH1 0x1 DUP7 DUP3 SHR AND PUSH1 0x2 DUP7 DUP4 SHR PUSH1 0x1 SHL AND ADD PUSH1 0x1 DUP2 EQ PUSH2 0x298B JUMPI JUMPDEST PUSH1 0x2 DUP2 EQ PUSH2 0x297E JUMPI JUMPDEST PUSH1 0x3 EQ PUSH2 0x2971 JUMPI JUMPDEST PUSH1 0x1 SWAP9 PUSH1 0x0 NOT SWAP2 SWAP1 SWAP2 ADD SWAP7 SWAP5 SWAP6 SWAP5 DUP10 SWAP5 SWAP4 SWAP3 SWAP2 JUMPDEST DUP9 PUSH1 0x0 NOT GT PUSH2 0x2544 JUMPI POP POP POP POP POP POP POP POP POP PUSH1 0x40 MLOAD SWAP2 PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x20 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD MSTORE PUSH1 0x20 PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH1 0x60 SHL SUB PUSH1 0x60 SHL NOT PUSH1 0xA0 DUP4 ADD MSTORE PUSH1 0x20 DUP3 PUSH1 0xC0 DUP2 PUSH1 0x5 PUSH1 0x0 NOT STATICCALL ISZERO PUSH2 0x234 JUMPI SWAP1 MLOAD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD SWAP1 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 SWAP6 SWAP7 SWAP8 SWAP9 PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH1 0x60 SHL SUB PUSH1 0x60 SHL NOT DUP7 PUSH1 0x2 MULMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP3 DUP1 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 DUP4 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP3 SWAP1 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 SWAP1 DUP16 DUP3 DUP2 DUP4 ADDMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SUB SWAP1 ADDMOD MULMOD PUSH1 0x3 MULMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP4 MULMOD SWAP13 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP3 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP12 DUP1 MULMOD ADDMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SWAP1 DUP2 SUB DUP12 ADDMOD SWAP1 MULMOD SWAP7 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP9 SWAP1 DUP3 SWAP1 DUP5 MULMOD ADDMOD SWAP7 DUP12 PUSH1 0x2 DUP13 PUSH1 0x1 DUP14 DUP5 SHR AND SWAP3 SHR PUSH1 0x1 SHL AND ADD DUP1 ISZERO PUSH2 0x2954 JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x2909 JUMPI JUMPDEST PUSH1 0x2 DUP2 EQ PUSH2 0x28FE JUMPI JUMPDEST PUSH1 0x3 EQ PUSH2 0x28F5 JUMPI JUMPDEST DUP3 ISZERO PUSH2 0x28E2 JUMPI PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP9 SWAP1 DUP3 SWAP1 DUP16 SWAP1 MULMOD ADDMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP10 DUP3 SUB SWAP1 DUP3 SWAP1 DUP6 SWAP1 MULMOD ADDMOD SWAP8 DUP2 ISZERO PUSH2 0x27A8 JUMPI JUMPDEST PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP10 DUP1 MULMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP11 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP11 SWAP1 MULMOD SWAP13 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP5 SWAP1 MULMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP3 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP6 DUP2 SUB DUP2 DUP7 DUP1 MULMOD ADDMOD ADDMOD SWAP8 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP4 DUP5 SWAP2 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SWAP1 DUP11 DUP3 SUB SWAP1 ADDMOD MULMOD ADDMOD SWAP5 SWAP9 JUMPDEST PUSH1 0x0 NOT ADD SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x24C6 JUMP JUMPDEST DUP9 PUSH2 0x26CB JUMPI SWAP11 SWAP2 SWAP8 POP SWAP1 SWAP6 SWAP1 POP PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD SWAP11 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP13 DUP1 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 DUP14 MULMOD SWAP13 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP3 SWAP1 MULMOD SWAP12 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 DUP12 DUP2 SUB DUP3 ADDMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP13 SWAP1 ADDMOD MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH1 0x3 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP14 MULMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD SWAP12 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP3 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP5 DUP1 MULMOD ADDMOD SWAP12 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP4 DUP5 SWAP2 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SWAP1 DUP15 DUP3 SUB SWAP1 ADDMOD SWAP1 MULMOD ADDMOD SWAP5 PUSH2 0x2797 JUMP JUMPDEST PUSH1 0x1 SWAP13 POP SWAP1 SWAP11 DUP13 SWAP9 POP SWAP1 SWAP7 POP SWAP1 POP PUSH2 0x2797 JUMP JUMPDEST POP POP DUP4 DUP6 PUSH2 0x268A JUMP JUMPDEST DUP6 SWAP3 POP DUP5 SWAP2 POP PUSH2 0x2682 JUMP JUMPDEST PUSH32 0x6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296 SWAP3 POP PUSH32 0x4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5 SWAP2 POP PUSH2 0x2679 JUMP JUMPDEST POP POP POP SWAP10 SWAP6 SWAP9 SWAP5 PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH1 0x60 SHL SUB PUSH1 0x60 SHL NOT SUB SWAP5 PUSH2 0x2797 JUMP JUMPDEST SWAP3 POP DUP1 SWAP7 POP SWAP6 DUP2 SWAP3 PUSH2 0x24B2 JUMP JUMPDEST SWAP7 SWAP8 POP DUP8 SWAP7 DUP10 SWAP5 POP PUSH2 0x24AA JUMP JUMPDEST PUSH32 0x6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296 SWAP9 POP PUSH32 0x4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5 SWAP5 POP PUSH2 0x24A1 JUMP JUMPDEST PUSH1 0x0 NOT ADD PUSH1 0x1 DUP7 DUP3 SHR AND PUSH1 0x2 DUP7 DUP4 SHR PUSH1 0x1 SHL AND ADD PUSH2 0x2483 JUMP JUMPDEST SWAP5 SWAP6 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DD6 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP2 SWAP7 DUP3 SUB SWAP1 ADDMOD SWAP5 DUP5 DUP7 ISZERO DUP1 PUSH2 0x2A22 JUMPI JUMPDEST ISZERO PUSH2 0x2476 JUMPI SWAP9 POP POP POP POP POP POP POP POP POP SWAP1 JUMP JUMPDEST POP PUSH1 0x1 PUSH2 0x2A10 JUMP JUMPDEST POP DUP4 ISZERO PUSH2 0x2471 JUMP JUMPDEST SWAP7 POP POP POP POP POP POP POP SWAP1 JUMP JUMPDEST POP DUP4 ISZERO PUSH2 0x2458 JUMP JUMPDEST SWAP2 SWAP1 PUSH32 0x6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296 PUSH32 0x4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5 SWAP2 DUP1 ISZERO PUSH2 0x2BF9 JUMPI DUP5 PUSH2 0xB99 SWAP5 SWAP6 DUP4 EQ DUP1 PUSH2 0x2BF0 JUMPI JUMPDEST ISZERO PUSH2 0x2BDB JUMPI POP PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 POP DUP3 PUSH1 0x2 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 DUP1 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP5 DUP5 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP6 SWAP1 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 SWAP1 DUP2 PUSH1 0x1 DUP3 ADDMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH32 0xFFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFE SWAP1 ADDMOD MULMOD PUSH1 0x3 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP5 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP4 DUP1 MULMOD ADDMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT PUSH1 0x1 DUP7 MULMOD SWAP6 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH1 0x1 SWAP1 MULMOD SWAP5 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP4 DUP5 SWAP2 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 SUB SWAP3 SWAP1 SWAP2 DUP3 SWAP1 DUP7 DUP3 SUB SWAP1 ADDMOD SWAP1 MULMOD ADDMOD SWAP1 PUSH2 0x2D1B JUMP JUMPDEST SWAP1 SWAP2 SWAP3 PUSH2 0x2BE7 SWAP4 PUSH2 0x2BFF JUMP JUMPDEST SWAP3 SWAP1 SWAP2 SWAP1 PUSH2 0x2D1B JUMP JUMPDEST POP DUP2 DUP5 EQ PUSH2 0x2A9E JUMP JUMPDEST POP SWAP3 POP SWAP1 JUMP JUMPDEST SWAP2 SWAP4 SWAP1 DUP1 ISZERO PUSH2 0x2D12 JUMPI PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 SUB SWAP4 DUP5 SWAP1 DUP3 SWAP1 PUSH1 0x1 SWAP1 MULMOD ADDMOD SWAP4 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP4 DUP3 SUB SWAP1 DUP3 SWAP1 PUSH1 0x1 SWAP1 MULMOD ADDMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP5 DUP1 MULMOD SWAP4 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP6 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP6 SWAP1 MULMOD SWAP5 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP8 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP7 DUP2 SUB DUP2 DUP6 DUP1 MULMOD ADDMOD ADDMOD SWAP6 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP3 DUP4 SWAP1 DUP7 SWAP1 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SWAP1 DUP10 DUP3 SUB SWAP1 ADDMOD MULMOD ADDMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH1 0x1 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH1 0x1 MULMOD SWAP1 JUMP JUMPDEST POP PUSH1 0x1 SWAP2 POP DUP2 SWAP1 JUMP JUMPDEST SWAP2 SWAP1 SWAP3 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD MSTORE PUSH1 0x20 PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH1 0x60 SHL SUB PUSH1 0x60 SHL NOT PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0x20 DUP2 PUSH1 0xC0 DUP2 PUSH1 0x5 PUSH1 0x0 NOT STATICCALL ISZERO PUSH2 0x234 JUMPI MLOAD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP5 SWAP1 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 SWAP1 DUP3 SWAP1 DUP1 MULMOD SWAP1 MULMOD SWAP2 JUMP INVALID MOD 0x27 0xF7 0x2A CREATE 0xE6 DELEGATECALL SLT NOT JUMPDEST 0xD DUP11 0xCB 0xE4 CODESIZE 0xB2 DUP1 SWAP1 0xDD SLOAD JUMPDEST PUSH30 0x2331FCCF77723561F500FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAAD 0xA7 OR SWAP15 DUP5 RETURN 0xB9 0xCA 0xC2 0xFC PUSH4 0x25513608 SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBC0627F72AF0E6F412195B0D DUP11 0xCB 0xE4 CODESIZE 0xB2 DUP1 SWAP1 0xDD SLOAD JUMPDEST PUSH30 0x2331FCCF77723561F501A2646970667358221220F6C6F795F835BE206C00 0xCF CODECOPY NOT 0xD4 SWAP15 0xE1 0xB1 0xCA REVERT RETURNDATASIZE 0xE9 PUSH10 0x39377CA4CACE421A6B6 PUSH5 0x736F6C6343 STOP ADDMOD SHR STOP CALLER ", - "sourceMap": "1195:13544:17:-:0;;;;;;;;;-1:-1:-1;1195:13544:17;1266:232:7;1195:13544:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1195:13544:17;;;;;;;;;6785:16:19;1195:13544:17;;;6785:16:19;1195:13544:17;;6785:16:19;;;;;;1195:13544:17;;;;;;;;;;;;;;;6785:16:19;;;;;;;;;;:::i;:::-;1195:13544:17;:::i;:::-;;;;;;;;;;;;-1:-1:-1;1195:13544:17;;;;;;;;-1:-1:-1;;1195:13544:17;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;1195:13544:17;;;;;:::o;:::-;;;;;;-1:-1:-1;;1195:13544:17;;;;4296:42:19;1195:13544:17;;;;;:::i;:::-;4008:70:19;;:::i;:::-;1195:13544:17;;;;;;;;;;4277:17:19;;1195:13544:17;;4277:17:19;;;1195:13544:17;4277:17:19;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1195:13544:17;4296:42:19;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1195:13544:17;4296:42:19;:::i;:::-;1195:13544:17;;;;;;;;;;;;;;-1:-1:-1;;;;;1195:13544:17;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1195:13544:17;;;;;;;;-1:-1:-1;;;;;1195:13544:17;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;-1:-1:-1;;;;;;1195:13544:17;;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1195:13544:17;;;;;;-1:-1:-1;;;;;1195:13544:17;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;3588:10:17;:26;3584:78;;7048:880;;;1195:13544;7048:880;;:::i;:::-;4608:275;;;1195:13544;-1:-1:-1;1195:13544:17;;;;;;;;;;;;;;;;;4608:275;-1:-1:-1;4608:275:17;;;;3588:10;;4608:275;;;;;;3584:78;3637:14;;;-1:-1:-1;3637:14:17;1195:13544;-1:-1:-1;3637:14:17;1195:13544;;;;;;;;;;;;;;;6785:16:19;;1195:13544:17;;;;;;;;-1:-1:-1;;;;;1195:13544:17;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;:::i;:::-;:::o;:::-;-1:-1:-1;;;;;1195:13544:17;;;;;;-1:-1:-1;;1195:13544:17;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;1195:13544:17;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;-1:-1:-1;;1195:13544:17;;;;;;-1:-1:-1;;;;;1195:13544:17;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1195:13544:17;;;;4630:42:19;1195:13544:17;;4612:16:19;1195:13544:17;;4008:70:19;;:::i;:::-;1195:13544:17;;;;4612:16:19;;1195:13544:17;;;;;;;;;;;;;;4612:16:19;1195:13544:17;;;;-1:-1:-1;;1195:13544:17;;;;;;;-1:-1:-1;;;;;1195:13544:17;;;;;;-1:-1:-1;1195:13544:17;;;;;;;;;;;;-1:-1:-1;;;;;1195:13544:17;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;3588:10;10140:42;3588:10;:26;3584:78;;-1:-1:-1;8741:3:17;8723:16;;;;;;-1:-1:-1;1195:13544:17;;;;;;;;:::i;:::-;8822:12;;;;:::i;:::-;8853:34;;;:::i;:::-;8852:35;8848:109;;1195:13544;;;;;;;;:::i;:::-;12482:31;;;;;8985:4;;12482:31;;;;:::i;:::-;12527:8;;12523:133;;8741:3;1195:13544;;8712:9;;12523:133;12482:31;12551:95;;;;;8848:109;-1:-1:-1;;;8914:28:17;;-1:-1:-1;;;;;;1195:13544:17;;;;8914:28;;1195:13544;;;;:::i;:::-;3841:10;10140:42;3841:10;:26;3837:70;;1195:13544;-1:-1:-1;9831:16:17;;;;;;1195:13544;9849:3;9874:8;9868:53;9874:8;1195:13544;9874:8;;;;:::i;:::-;1195:13544;;;;:::i;:::-;9891:14;:8;;;;;:::i;:::-;:14;1195:13544;;9907:13;:8;;;;;:::i;:::-;:13;;;;;:::i;:::-;1195:13544;;;:::i;:::-;9868:53;;:::i;:::-;1195:13544;9820:9;;3837:70;;;:::i;:::-;;;1195:13544;;;;;;-1:-1:-1;;1195:13544:17;;;;;-1:-1:-1;;;;;;;;;;;1195:13544:17;;;;;;;;;;-1:-1:-1;;1195:13544:17;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1195:13544:17;;;;;;;;;;;:::i;:::-;3080:19:8;;2661:6;2687:4;2661:32;3076:57;;4008:70:19;;:::i;:::-;1195:13544:17;;;;;3828:1370:13;;-1:-1:-1;3828:1370:13;;;;-1:-1:-1;;;;;;;;;;;1195:13544:17;3828:1370:13;1195:13544:17;3828:1370:13;;;;;;;;;;-1:-1:-1;3828:1370:13;;;;-1:-1:-1;;;;;;;;;;;3828:1370:13;;;1195:13544:17;3828:1370:13;;-1:-1:-1;3828:1370:13;1195:13544:17;3828:1370:13;;;;;;;;;;;;1195:13544:17;3828:1370:13;;-1:-1:-1;3828:1370:13;;;;;;;;;1195:13544:17;3828:1370:13;;3076:57:8;4365:120;-1:-1:-1;4365:120:8;1195:13544:17;4365:120:8;;1195:13544:17;;;;;;-1:-1:-1;;1195:13544:17;;;;2687:4:8;2661:6;:32;3340:58;;1195:13544:17;;;-1:-1:-1;;;;;;;;;;;1195:13544:17;;;;;;;;;-1:-1:-1;;1195:13544:17;;;;-1:-1:-1;;;;;;;;;;;11002:73:17;1195:13544;;-1:-1:-1;;;;;1195:13544:17;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1195:13544:17;5629:72;;-1:-1:-1;;;;;1195:13544:17;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5711:25;;;:::i;1195:13544::-;;;-1:-1:-1;;;;;1195:13544:17;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;5629:72;5677:13;;;-1:-1:-1;5677:13:17;1195:13544;-1:-1:-1;5677:13:17;1195:13544;;;;;;;;-1:-1:-1;;1195:13544:17;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;1195:13544:17;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1195:13544:17;;;;;;-1:-1:-1;;;;;1195:13544:17;;;;;;;;;;;;;;;;;557:13:14;;;1195:13544:17;557:33:14;;;:::i;:::-;593:15;-1:-1:-1;553:157:14;;828:55;4299:17:16;744:68:14;827:56;744:68;;:::i;:::-;1195:13544:17;;;;;734:79:14;4299:17:16;:::i;:::-;868:14:14;;;;;;:::i;:::-;828:55;;:::i;:::-;827:56;;1195:13544:17;827:56:14;823:112;;-1:-1:-1;982:11:14;1005:9;982:11;1005:9;982:11;;;;:::i;:::-;1005:9;;;;:::i;:::-;1195:13544:17;437:10:14;557:13;1195:13544:17;437:10:14;;;;;:::i;:::-;982:33;;;;;;:::i;:::-;1029:8;;1025:117;;1195:13544:17;;557:13:14;1195:13544:17;;;;;;:::i;823:112:14:-;906:18;;;-1:-1:-1;906:18:14;1195:13544:17;-1:-1:-1;906:18:14;553:157;648:33;631:68;648:33;;:::i;:::-;-1:-1:-1;;;;631:68:14;1195:13544:17;;593:15:14;437:10;1195:13544:17;437:10:14;;;631:68;-1:-1:-1;631:68:14;1195:13544:17;;;;;;-1:-1:-1;;1195:13544:17;;;;;;2558:23:16;;:::i;:::-;1195:13544:17;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;2601:13:16;1195:13544:17;;;;2652:4:16;1195:13544:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1195:13544:17;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1195:13544:17;;;;;;;2665:4;1195:13544;;;;;;-1:-1:-1;;1195:13544:17;;;;;;;;;;;-1:-1:-1;;;;;1195:13544:17;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;:::i;:::-;4008:70:19;;;:::i;:::-;5200:1;5184:12;;:::i;:::-;:17;5180:66;;5283:5;;;:::i;5180:66::-;5224:11;;;;;1195:13544:17;5224:11:19;;1195:13544:17;;;;;;-1:-1:-1;;1195:13544:17;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1195:13544:17;;;;;;-1:-1:-1;;;;;;1195:13544:17;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;1195:13544:17;;;;;;-1:-1:-1;;;;;1195:13544:17;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1195:13544:17;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1195:13544:17;;;;;;;10140:42;1195:13544;;;;;;-1:-1:-1;;1195:13544:17;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;1195:13544:17;;;;;;9464:26;1195:13544;;;;;;:::i;:::-;10140:42;3841:10;:26;3837:70;;1195:13544;;;:::i;3837:70::-;;;:::i;:::-;;;1195:13544;;;;;;;:::i;:::-;4008:70:19;;;:::i;:::-;5864:12;;:::i;:::-;5890:19;5908:1;5890:19;;5886:86;;6009:5;;;;:::i;5886:86::-;5932:29;;;;;;1195:13544:17;;;5932:29:19;;1195:13544:17;;;;;;-1:-1:-1;;1195:13544:17;;;;;4299:17:16;1195:13544:17;;4299:17:16;:::i;1195:13544:17:-;;;;;;-1:-1:-1;;1195:13544:17;;;;;-1:-1:-1;;;;;;;;;;;1195:13544:17;;;;;;;;;;;;;-1:-1:-1;;1195:13544:17;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;6751:33:19;1195:13544:17;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1195:13544:17;;-1:-1:-1;;;;;;;;;;;1195:13544:17;;;;:::o;:::-;;:::i;7950:190:19:-;-1:-1:-1;;;;;;;;;;;1195:13544:17;-1:-1:-1;;;;;;;;;;;1195:13544:17;;;;;;;;7950:190:19;:::o;1195:13544:17:-;-1:-1:-1;;1195:13544:17;;;;;;;:::o;3391:339:16:-;;4299:17;3515:69;3391:339;;4299:17;:::i;:::-;3515:69;:::i;:::-;3511:185;;-1:-1:-1;;;;;;1195:13544:17;3391:339:16:o;3511:185::-;-1:-1:-1;;;1195:13544:17;3668:17:16:o;1195:13544:17:-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1195:13544:17;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;;;;;;1195:13544:17;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;1195:13544:17;;;;;;;;;;;;;-1:-1:-1;1195:13544:17:o;7048:880::-;7309:12;;;1195:13544;;;7349:15;;;;;;;:::i;:::-;-1:-1:-1;;;1195:13544:17;-1:-1:-1;;;;;;1195:13544:17;7342:23;;;:::i;:::-;1195:13544;7342:72;1195:13544;;7443:35;;;;:::i;:::-;7496:27;2665:4;7496:27;;7492:93;;7338:380;;7826:16;7796:47;7338:380;;7826:16;;;;;:::i;7796:47::-;7792:86;;7920:1;7048:880;:::o;7792:86::-;7866:1;7859:8;:::o;7492:93::-;-1:-1:-1;;;7550:20:17;;7673;1195:13544;;-1:-1:-1;631:68:14;7338:380:17;7619:27;2665:4;7619:27;;7615:93;;7338:380;;7826:16;7796:47;7338:380;;;7052:145:19;1195:13544:17;;7052:145:19;1195:13544:17;:::i;:::-;;;7052:145:19;:::o;1195:13544:17:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;:::i;437:10:14:-;;;;;;;;;;:::o;:::-;;7233:2:21;437:10:14;;;;;;;:::o;:::-;;2566:1:6;437:10:14;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;1195:13544:17;;;;;;437:10:14;;;1195:13544:17;437:10:14;;;1195:13544:17;437:10:14;;;;;;;:::i;:::-;;;;;1195:13544:17;;;;;;437:10:14;:::o;:::-;1195:13544:17;;;;;;;:::i;:::-;1530:1:6;437:10:14;;:::o;:::-;;;;;;;;;;:::i;:::-;1195:13544:17;;;;;;;:::i;:::-;437:10:14;;;-1:-1:-1;437:10:14;;;;:::o;:::-;1195:13544:17;437:10:14;:::o;1195:13544:17:-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;7406:149:19;-1:-1:-1;1195:13544:17;7503:38:19;1195:13544:17;;;-1:-1:-1;1195:13544:17;;;;;-1:-1:-1;1195:13544:17;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;1195:13544:17;;;;;-1:-1:-1;1195:13544:17;;-1:-1:-1;1195:13544:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11377:546;1195:13544;;;;11510:39;;;11490:59;;:132;;;;;11377:546;11490:208;;;;11377:546;11490:281;;;;11377:546;11490:358;;;;11377:546;11473:422;;;1195:13544;11377:546;:::o;11473:422::-;11880:4;11873:11;:::o;11490:358::-;-1:-1:-1;;;11787:61:17;;-1:-1:-1;11490:358:17;;;:281;-1:-1:-1;;;11714:57:17;;;-1:-1:-1;11490:281:17;;:208;-1:-1:-1;;;11638:60:17;;;-1:-1:-1;11490:208:17;;:132;-1:-1:-1;;;11565:57:17;;;-1:-1:-1;11490:132:17;;10583:214;1195:13544;;;;;;:::i;:::-;2162:233:1;1707:12;;;1195:13544:17;2162:233:1;1818:15;;;;;;:::i;:::-;3287:193:0;;1818:15:1;3287:193:0;;;;;1882:15:1;1867:31;1882:15;;;;;;:::i;:::-;1867:31;;:::i;:::-;1935:23;;;;1195:13544:17;1997:25:1;;;1195:13544:17;2050:14:1;2105:39;2120:23;2050:14;;;1195:13544:17;2120:23:1;;;;;;:::i;2105:39::-;1195:13544:17;1818:15:1;1195:13544:17;2162:233:1;;;1707:12;2162:233;;;;1065:197;;;;;;;;;;;;;;;1195:13544:17;1065:197:1;1195:13544:17;;;;;;;;1065:197:1;;;1195:13544:17;1065:197:1;;;1195:13544:17;1065:197:1;;;1195:13544:17;1065:197:1;;;1195:13544:17;1065:197:1;;;1195:13544:17;1065:197:1;;;1195:13544:17;1065:197:1;;;1195:13544:17;1065:197:1;1195:13544:17;1065:197:1;2162:233;1195:13544:17;4988:47:1;;1818:15;1195:13544:17;;1707:12:1;10722:67:17;;1195:13544;;;10140:42;1195:13544;;;;;;;10722:67;1195:13544;;;;10722:67;1195:13544;10722:67;1195:13544;10712:78;;10583:214;:::o;6239:154:19:-;1195:13544:17;;6239:154:19;1195:13544:17;;;;;;;;;6366:19:19;;;1195:13544:17;6366:19:19;;;;1195:13544:17;6366:19:19;;:::i;4641:475:16:-;4754:23;;:::i;:::-;1195:13544:17;;;;;;4958:22:16;1195:13544:17;;;;;;4998:25:16;1195:13544:17;;4817:282:16;1195:13544:17;4817:282:16;;1195:13544:17;4845:95:16;1195:13544:17;;;;;;;;;;5041:13:16;1195:13544:17;;;;5080:4:16;1195:13544:17;;;;;4817:282:16;;;;;;:::i;1579:906:7:-;1757:663;;;;;;;;;;;;;;;;;1372:120;1757:663;1372:120;;;;1757:663;;;;;;11120:189:19;11179:26;11194:10;11179:26;:::i;:::-;:59;;;;11120:189;11175:96;;3637:14:17;;;11288::19;;;;;11179:59;11232:4;;11194:10;11210:27;11179:59;;1195:13544:17;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;1195:13544:17;;-1:-1:-1;1195:13544:17;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;1195:13544:17;;;;9704:324:19;9796:19;;;:::i;:::-;9792:51;;1195:13544:17;;;:::i;:::-;9940:4:19;1195:13544:17;;;;;;;;;;;9954:14:19;1195:13544:17;;;;;;;-1:-1:-1;;;;;1195:13544:17;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;9999:22:19;1195:13544:17;;9999:22:19;1195:13544:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;9999:22:19;;;;;:::i;:::-;;;;9704:324::o;1195:13544:17:-;;;;;;;;;;6785:16:19;;1195:13544:17;;;;;;;;;;;;;;;;;;;;;;;9999:22:19;1195:13544:17;;9940:4:19;1195:13544:17;;9999:22:19;1195:13544:17;;;;;;;;;;;;;;;;;;;;;;;9921:9:19;1195:13544:17;;;;;;;;;;;;;;;9940:4:19;1195:13544:17;;;;;;;;;;;;;;;9792:51:19;1195:13544:17;;-1:-1:-1;;;9824:19:19;;1195:13544:17;;;9824:19:19;;;;;;:::i;:::-;;;;1195:13544:17;;;;;;;;;;;-1:-1:-1;;;;;1195:13544:17;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1195:13544:17;;;;;;;;;;;;;;;-1:-1:-1;;;;;1195:13544:17;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;1195:13544:17;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;1195:13544:17;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;1195:13544:17;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;12963:1307::-;;;;13123:41;12963:1307;13123:41;;;;:::i;:::-;1195:13544;13200:35;1195:13544;;13200:35;:::i;:::-;1195:13544;13271:2;1195:13544;;13250:23;13246:604;;1195:13544;;13864:23;13885:2;13864:23;;13860:351;;13885:2;1195:13544;-1:-1:-1;;;14228:35:17;;1195:13544;14228:35;1195:13544;14228:35;;;;:::i;13860:351::-;14132:16;;14021:61;13928:42;;13271:2;13928:42;;;;14104:96;13928:42;;;;;;:::i;:::-;14032:24;;;;;13271:2;1195:13544;;;14021:61;;;;;;:::i;:::-;1195:13544;13885:2;1195:13544;14132:16;;;13271:2;14132:16;;1195:13544;;;;;;;;14132:16;14104:96;:::i;13246:604::-;1195:13544;;;;;-1:-1:-1;;;;;13301:19:17;1195:13544;13301:19;:::i;:::-;13293:48;13289:318;;13271:2;13648:92;13761:78;13648:92;;;;13814:24;;;13761:78;;:::i;13289:318::-;1195:13544;;-1:-1:-1;;;13553:39:17;;1195:13544;13553:39;1195:13544;13553:39;;;;:::i;12360:302::-;;12482:31;12360:302;;;12482:31;;;;;;;;;;:::i;:::-;12527:8;;12523:133;;12360:302;:::o;1195:13544::-;;;;;;;;;;;;;;;:::o;8795:670:19:-;;-1:-1:-1;;;;;;;;;;;1195:13544:17;-1:-1:-1;9026:3:19;1195:13544:17;;9007:17:19;;;;;9069:2;9049:9;;;;:::i;:::-;;1195:13544:17;9049:22:19;;:48;;;9026:3;9045:128;;9069:2;9191:9;;;;:::i;:::-;;1195:13544:17;9191:22:19;:73;;;9026:3;9187:157;;9375:9;9386:17;9375:9;1195:13544:17;9375:9:19;;;:::i;:::-;;9386:17;;;;:::i;:::-;;;:::i;:::-;1195:13544:17;8996:9:19;;9187:157;9319:9;9291:38;9319:9;;;:::i;:::-;;1195:13544:17;;-1:-1:-1;;;9291:38:19;;1195:13544:17;;;9291:38:19;;;;:::i;9191:73::-;-1:-1:-1;;;;;;9225:18:19;9233:9;;;;:::i;:::-;;9225:18;:::i;:::-;9217:47;9191:73;;9045:128;9148:9;9124:34;9148:9;;;:::i;:::-;;1195:13544:17;;-1:-1:-1;;;9124:34:19;;1195:13544:17;;;9124:34:19;;;;:::i;9049:48::-;9075:9;9095:2;9075:9;;;;:::i;:::-;;1195:13544:17;9075:22:19;;9049:48;;9007:17;-1:-1:-1;;;;;;;;;;;;1195:13544:17;9007:17:19;-1:-1:-1;1195:13544:17:o;14582:155::-;1195:13544;;;;;;;;:::i;:::-;;437:10:14;;-1:-1:-1;;;1195:13544:17;;;;437:10:14;1195:13544:17;;;;;;:::i;:::-;;437:10:14;;-1:-1:-1;;;1195:13544:17;;;;14582:155;:::o;1195:13544::-;;;;;;;;;;;;;-1:-1:-1;1195:13544:17;;;;;;;;-1:-1:-1;;1195:13544:17;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;10808:9:19;1195:13544:17;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1195:13544:17;;;;;:::o;:::-;;;;;:::i;:::-;;;;;;;:::o;:::-;;;-1:-1:-1;1195:13544:17;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::i;10367:575:19:-;;;10482:19;;;:::i;:::-;1195:13544:17;;10515:18:19;10511:52;;1195:13544:17;;;;;10577:17:19;1195:13544:17;;;;;:::i;:::-;;;;;;10598:16:19;10577:37;10573:151;;1195:13544:17;;;;;;10910:25:19;1195:13544:17;;:::i;:::-;;;-1:-1:-1;;1195:13544:17;;;;;10834:28:19;10841:21;;1195:13544:17;;10841:14:19;1195:13544:17;;;;;;;10841:21:19;10834:28;:::i;:::-;10872:22;;-1:-1:-1;;;;;;;;;;;1195:13544:17;10872:22:19;:::i;:::-;-1:-1:-1;;;;;;;;;;;1195:13544:17;;10872:22:19;10910:25;1195:13544:17;;10910:25:19;;;;;:::i;10573:151::-;1195:13544:17;;-1:-1:-1;;;10637:76:19;;1195:13544:17;;;10637:76:19;;1195:13544:17;;10637:76:19;;;;:::i;10511:52::-;-1:-1:-1;;;10532:1:19;10542:21;7673:20:17;1195:13544;;;;-1:-1:-1;631:68:14;5590:176:16;5721:17;;:::i;:::-;1195:13544:17;;;6311:35:16;;;1195:13544:17;1399:50:16;1195:13544:17;;;;;;;6311:35:16;;;;;;:::i;:::-;1195:13544:17;6301:46:16;;1195:13544:17;;5692:66:16;6311:35;5692:66;;1195:13544:17;;;;;;;;;;;;;;;5692:66:16;;;;;;:::i;1956:2062:12:-;;;1195:13544:17;;1956:2062:12;-1:-1:-1;;;;;1195:13544:17;;2118:20:12;2114:40;;2207:1805;;;;;;;;;;;;;;;;;;;;1195:13544:17;;;;;2207:1805:12;1195:13544:17;;;;;2207:1805:12;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2207:1805:12;;;;;1956:2062::o;2207:1805::-;;;;;;;;;;;;;;;1195:13544:17;;;2207:1805:12;;;;1956:2062::o;2207:1805::-;;;;;;;;;;1195:13544:17;2207:1805:12;;;;;;;;;;1195:13544:17;2207:1805:12;;;;;;;;1195:13544:17;2207:1805:12;;;;;;;;;;1195:13544:17;2207:1805:12;;;;1956:2062::o;2207:1805::-;;;;;;;;;;;;;;;;;;1195:13544:17;2207:1805:12;;;;;;;;;2114:40;2140:14;;;;1195:13544:17;2140:14:12;:::o;2643:34:21:-;;;;;1195:13544:17;;2643:34:21;;;;;;;;;1195:13544:17;;;2643:34:21;;;;;;1195:13544:17;;;:::i;:::-;;;2643:34:21;;;1195:13544:17;;;2643:34:21;;;1195:13544:17;;2643:34:21;;;;;;;:::i;:::-;1195:13544:17;;7150:27:21;2643:34;;;;;;;:::o;1986:4::-;1195:13544:17;;1986:4:21;;;;;;;;1195:13544:17;1986:4:21;;;1195:13544:17;1986:4:21;;1195:13544:17;;;;;;;;:::i;:::-;;;;;1986:4:21;;:::o;2396:14::-;;;;;;;;;1195:13544:17;2396:14:21;:::o;6711:2894::-;;;;1195:13544:17;6846:4:21;6866:14;;;1195:13544:17;;;2162:66:5;-1:-1:-1;6862:125:21;;7150:27;;;;2643:34;28057:42:11;7150:27:21;;7184:22;;;1195:13544:17;7208:27:21;;;:::i;:::-;28057:42:11;;:::i;:::-;7150:27:21;1195:13544:17;;;;7250:23:21;:46;7246:89;;7519:27;7488:64;7519:27;;:::i;:::-;7488:64;:::i;:::-;28057:42:11;7595:27:21;;7629;;;1195:13544:17;7658:54:21;1195:13544:17;;7658:54:21;;:::i;28057:42:11:-;7150:27:21;1195:13544:17;;;;7727:33:21;1195:13544:17;7150:27:21;1195:13544:17;;;;7764:28:21;7727:65;7723:108;;1195:13544:17;2643:34:21;;1195:13544:17;2643:34:21;;7947;;:30;;:34;:::i;:::-;2643;-1:-1:-1;;;;;;1195:13544:17;;2643:34:21;7947;:56;:79;7943:122;;1986:4;7150:27;8225:137;-1:-1:-1;8225:137:21;8523:27;;7629;1195:13544:17;1986:4:21;;;;;:::i;:::-;8510:42;;;;;;;;7150:27;-1:-1:-1;1986:4:21;8510:42;;8738:68;8755:30;;8738:68;7629:27;1195:13544:17;8738:68:21;;;;;;;:::i;:::-;7629:27;1195:13544:17;1986:4:21;;;;;:::i;:::-;8731:76;;8510:42;8731:76;;;;;8861:14;-1:-1:-1;8731:76:21;8861:14;;1195:13544:17;-1:-1:-1;1195:13544:17;;;;8837:61:21;1195:13544:17;;8837:61:21;1195:13544:17;7629:27:21;1195:13544:17;8837:61:21;;;7150:27;8837:61;;;;;1986:4;;;;;;;;;;;;1195:13544:17;;;1986:4:21;;;1195:13544:17;1986:4:21;;;1195:13544:17;1986:4:21;;;1195:13544:17;1986:4:21;1195:13544:17;1986:4:21;8837:61;8990:26;;2404:5;8990:26;;;;;:::i;:::-;1195:13544:17;;9451:16:21;;;;6711:2894;9447:60;;1195:13544:17;9525:73:21;1195:13544:17;;;;;9525:73:21;;:::i;9447:60::-;1776:4;;9476:26;;-1:-1:-1;9476:26:21;;7150:27;9476:26;;;;-1:-1:-1;9476:26:21;;-1:-1:-1;9476:26:21;;-1:-1:-1;;9476:26:21:i;:::-;:31;9469:38;:::o;9451:16::-;9423:14;;;;9451:16;;8731:76;;:::i;7943:122::-;8042:12;;;;;;;:::o;7246:89::-;7312:12;;;;;;;;:::o;985:132:6:-;1195:13544:17;;1078:32:6;;1195:13544:17;;;;:::i;:::-;;437:10:14;;1195:13544:17;;;;;;;;;;1078:32:6;:::i;1562:703:4:-;;;;;;1691:6;;:32;;;;1562:703;1691:42;;;;1562:703;1691:68;;;;1562:703;1687:111;;1821:39;;;;:::i;:::-;1820:40;1816:83;;3235:647:5;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3235:647:5;;;;;1195:13544:17;3235:647:5;1195:13544:17;3235:647:5;1195:13544:17;;3235:647:5;;;;-1:-1:-1;;;;;;;;;;;3235:647:5;2222:3:4;3235:647:5;;2132:64:4;3235:647:5;;2062:34:4;;;;1984:49;;2132:64;;:::i;:::-;2222:3;;:::i;:::-;2211:18;;2251:7;1562:703;:::o;1816:83::-;1876:12;;;;;1195:13544:17;1876:12:4;:::o;1691:68::-;1737:22;-1:-1:-1;;;;;;;;;;;1737:22:4;;;1691:68;;:42;1727:6;;;1691:42;;:32;1701:22;-1:-1:-1;;;;;;;;;;;1701:22:4;;;1691:32;;3205:281:0;3287:193;;;;;;;3205:281;:::o;16753:1115:9:-;16943:919;;1195:13544:17;;16753:1115:9;;;16943:919;;;;;;16753:1115;16943:919;;;;;;16753:1115;16943:919;;;;;;16753:1115;;;:::o;16943:919::-;;;;-1:-1:-1;16943:919:9;;;;;;6785:16:19;16943:919:9;;-1:-1:-1;;16943:919:9;;;;;;;;;;-1:-1:-1;;16943:919:9;;;;;;;;;;;;;;;;;;;;;;;;;;16753:1115::o;16943:919::-;;;;;;;;-1:-1:-1;16943:919:9;;;1195:13544:17;;437:10:14;;;:::i;:::-;1195:13544:17;;;;;;:::i;:::-;437:10:14;;;1195:13544:17;6785:16:19;1195:13544:17;6785:16:19;;1195:13544:17;;:::i;:::-;;;;;;;;:::o;1186:4022:6:-;;1195:13544:17;;1515:16:6;1511:31;;2503:69;2606:24;2547:25;2548:19;:15;1195:13544:17;;2548:15:6;:::i;:::-;:19;:::i;:::-;2571:1;2162:66:5;;;;2547:25:6;2606:24;:::i;:::-;2641:2537;;;;;;;;;;;;;;;;;1104:5;2641:2537;;;;;;;;;;;;;1186:4022;:::o;2641:2537::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1511:31;1195:13544:17;;;;:::i;12684:438:5:-;-1:-1:-1;;;;;;;;12774:6:5;;;;;:16;;12684:438;12774:42;;;;12684:438;12770:85;;-1:-1:-1;;;;;;;;1531:66:5;1802;;1531;;;1666;1531;12990:15;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;;12966:15;12959:29;12952:57;13039:17;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;12902:15;13095:10;12684:438;:::o;12770:85::-;12832:12;;1195:13544:17;12832:12:5;:::o;12774:42::-;12796:6;;;12795:20;;12774:42;12795:20;12808:6;;;12774:42;;:16;-1:-1:-1;;;;;;;;;12784:6:5;;;12774:16;;13895:6587;;;1195:13544:17;;13895:6587:5;1195:13544:17;14174:3:5;1195:13544:17;14256:13:5;;;:30;;13895:6587;14252:44;;14322:25;;;;:::i;:::-;14366:5;;;;;14365:16;;;13895:6587;14362:211;;13895:6587;14586:5830;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;14586:5830:5;;;;;1195:13544:17;;;14586:5830:5;;1195:13544:17;;;14586:5830:5;1195:13544:17;;;14586:5830:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;14586:5830:5;;;;-1:-1:-1;;;;;1531:66:5;;;14586:5830;;;;;1195:13544:17;14586:5830:5;1195:13544:17;14586:5830:5;1195:13544:17;;14586:5830:5;;;;;;-1:-1:-1;;;;;;;;1531:66:5;14586:5830;13895:6587;:::o;14586:5830::-;1531:66;;;;;;;;;-1:-1:-1;;;;;1531:66:5;;;14586:5830;;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;14586:5830;-1:-1:-1;;;;;;;;14586:5830:5;;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;;;;;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:5;14586:5830;;;;;;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;14586:5830;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;-1:-1:-1;;;;;;;;;;14586:5830:5;-1:-1:-1;;;;;;;;14586:5830:5;;;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;14586:5830;;1531:66;14586:5830;;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;;;14586:5830;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;1531:66:5;;;;;;;14586:5830;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;14586:5830;;;;1531:66;;;;14586:5830;;;;;;;;-1:-1:-1;;;;;;;;14586:5830:5;;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:5;14586:5830;-1:-1:-1;;;;;;;;1531:66:5;14586:5830;-1:-1:-1;;;;;;;;;;14586:5830:5;-1:-1:-1;;;;;;;;14586:5830:5;;;1531:66;14586:5830;;;;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;14586:5830;;;;;;;;;;-1:-1:-1;;14586:5830:5;;;;;;;;;;;;;;;1531:66;;;-1:-1:-1;1531:66:5;;;-1:-1:-1;;;;;;;;;1531:66:5;-1:-1:-1;;;;;;;;;;14586:5830:5;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;14586:5830;-1:-1:-1;;;;;;;;14586:5830:5;;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;14586:5830;;;1531:66;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;14586:5830;;-1:-1:-1;;;;;;;;1531:66:5;14586:5830;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;14586:5830;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;-1:-1:-1;;;;;;;;;;14586:5830:5;-1:-1:-1;;;;;;;;14586:5830:5;;;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;14586:5830;;;;;;;;;;;;;;-1:-1:-1;14586:5830:5;;;;-1:-1:-1;14586:5830:5;;-1:-1:-1;14586:5830:5;-1:-1:-1;14586:5830:5;;;;;;;;;;;;-1:-1:-1;14586:5830:5;;-1:-1:-1;14586:5830:5;;;1938:66;;-1:-1:-1;2032:66:5;;-1:-1:-1;14586:5830:5;;;1531:66;;;;;;;-1:-1:-1;;;;;1531:66:5;;;14586:5830;;;;;;;;;;;;;;;;;;-1:-1:-1;14586:5830:5;;;;-1:-1:-1;14586:5830:5;;;1938:66;;-1:-1:-1;2032:66:5;;-1:-1:-1;14586:5830:5;;;1195:13544:17;;14586:5830:5;;;;;;;;;;;;;;;;14362:211;2032:66;;-1:-1:-1;;;;;;;;;;;2032:66:5;;;;14437:31;;14486:10;;14518:13;;:30;;;14362:211;14514:44;14362:211;14514:44;14550:8;;;;;;;;;;;:::o;14518:30::-;;14535:13;14518:30;;14365:16;14375:5;;;14365:16;;14252:44;14288:8;;;;;;;;;:::o;14256:30::-;14273:13;;;14256:30;;13224:499;;;1938:66;2032;13342:11;12535:6;;13437:41;;13492:6;13686:30;13492:6;;;;13491:18;;;13224:499;13488:181;;;-1:-1:-1;;;;;;;;;1531:66:5;-1:-1:-1;9612:681:5;;;-1:-1:-1;;;;;;;;9612:681:5;;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;9612:681;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;9612:681;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;;13563:1;1531:66;9612:681;1531:66;-1:-1:-1;;;;;;;;1531:66:5;9612:681;;;;;;-1:-1:-1;;;;;;;;1531:66:5;9612:681;-1:-1:-1;;;;;;;;;;9612:681:5;-1:-1:-1;;;;;;;;9612:681:5;;;;1531:66;-1:-1:-1;;;;;;;;13563:1:5;9612:681;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;13563:1;;9612:681;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;9612:681;-1:-1:-1;;;;;;;;9612:681:5;;;;1531:66;;;;9612:681;;;;;;;;13525:42;13686:30;:::i;13488:181::-;13627:31;;;;;;:::i;:::-;13605:53;;;;13686:30;:::i;13491:18::-;13502:6;;;;13491:18;;13437:41;-1:-1:-1;13463:15:5;-1:-1:-1;13463:15:5;:::o;10559:1073::-;;;;10790:7;;10786:67;;-1:-1:-1;;;;;;;;10867:673:5;;;;;;1531:66;;13645:1;;10867:673;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;10867:673;;;;1531:66;;13645:1;;10867:673;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;10867:673;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;10867:673;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;10867:673;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;-1:-1:-1;;;;;;;;;;10867:673:5;-1:-1:-1;;;;;;;;10867:673:5;;;1531:66;10867:673;;;;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;;;10867:673;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;10867:673;;;;;;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;13645:1;10867:673;1531:66;-1:-1:-1;;;;;;;;1531:66:5;13645:1;10867:673;10559:1073;:::o;10786:67::-;-1:-1:-1;13645:1:5;;-1:-1:-1;13645:1:5;;10817:21::o;8954:351::-;;;;4081:643;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;4081:643:5;;;;-1:-1:-1;;;;;1531:66:5;;;4081:643;;;;;1195:13544:17;4081:643:5;1195:13544:17;4081:643:5;1195:13544:17;;4081:643:5;;;;;;-1:-1:-1;;;;;;;;1531:66:5;4081:643;;9135:20;1531:66;-1:-1:-1;;;;;;;;1531:66:5;9186:21;-1:-1:-1;;;;;;;;1531:66:5;;;;;9232:17;9271:20;;8954:351;:::o" + "object": "60806040526004361015610015575b3661167757005b60003560e01c8063066a1eb7146101e55780630db02622146101e05780630f0f3f24146101db5780631626ba7e146101d657806317452caa146101d157806319822f7c146101cc5780631ca5393f146101c757806329565e3b146101c25780632c2abd1e146101bd57806334fcd5be146101b857806336d9cf9b146101b35780634f1ef286146101ae57806352d1902d146101a95780635c60da1b146101a45780636f2de70e1461019f578063737bebdd1461019a57806384b0196e1461019557806388ce4c7c1461019057806389625b571461018b5780638ea69029146101865780639f9bcb3414610181578063a05bd44e1461017c578063a2e1a8d814610177578063b0d691fe14610172578063b61d27f61461016d578063b819736714610168578063ce1506be14610163578063d948fd2e1461015e5763f698da250361000e57610ea7565b610e7c565b610e5e565b610e17565b610da7565b610d78565b610d51565b610d17565b610cdd565b610caa565b610c6a565b610c1a565b610b79565b610a73565b6108d8565b6108a2565b610852565b61073d565b610712565b61067b565b6105cf565b610531565b6104fa565b6103a1565b610375565b610323565b61027d565b610249565b3461024457604036600319011261024457602060ff6102386004356102336024359161022560405193849288840160209093929193604081019481520152565b03601f198101835282610453565b610ed9565b54166040519015158152f35b600080fd5b34610244576000366003190112610244576020610264610f61565b604051908152f35b6001600160a01b0381160361024457565b34610244576020366003190112610244576102f460043561029d8161026c565b6102a56116af565b6040519060018060a01b03166020820152602081526102c5604082610453565b600080516020612ef783398151915254906102df82610f8d565b600080516020612ef783398151915255611738565b005b9181601f84011215610244578235916001600160401b038311610244576020838186019501011161024457565b34610244576040366003190112610244576004356024356001600160401b0381116102445760209161035c6103629236906004016102f6565b91610f9c565b6040516001600160e01b03199091168152f35b346102445760003660031901126102445760206040516107088152f35b90816101209103126102445790565b34610244576060366003190112610244576004356001600160401b038111610244576103d1903690600401610392565b60443560243573b10f0bf29439a89a18f9969326c5d212c7e0961019330161042d5761040182916104189461114b565b9161041c575b506040519081529081906020820190565b0390f35b60009081803892335af15038610407565b6282b42960e81b60005260046000fd5b634e487b7160e01b600052604160045260246000fd5b90601f801991011681019081106001600160401b0382111761047457604052565b61043d565b6040519061048860c083610453565b565b6001600160401b03811161047457601f01601f191660200190565b9291926104b18261048a565b916104bf6040519384610453565b829481845281830111610244578281602093846000960137010152565b9080601f83011215610244578160206104f7933591016104a5565b90565b34610244576020366003190112610244576004356001600160401b0381116102445760ff61023861023360209336906004016104dc565b34610244576040366003190112610244576102f46024356102c56004356105566116af565b6040805160208101929092528101929092528160608101610225565b906020600319830112610244576004356001600160401b0381116102445760040160009280601f830112156105cb578135936001600160401b0385116105c857506020808301928560051b010111610244579190565b80fd5b8380fd5b6105d836610572565b9073b10f0bf29439a89a18f9969326c5d212c7e09611330361042d5760005b828110156102f45760006106108260051b840184610fca565b61061a8183610ffc565b61062381611474565b1561065f575082916106369136916104a5565b60208151910182305af161064861133d565b901561065757506001016105f7565b602081519101fd5b631d8370a360e11b84526001600160e01b031916600452602483fd5b61068436610572565b9073b10f0bf29439a89a18f9969326c5d212c7e096113303610705575b60005b8281106106ad57005b806106ff6106be6001938686611290565b356106c88161026c565b60206106d5848888611290565b01356106f96106f26106e8868a8a611290565b6040810190610fca565b36916104a5565b91611b5b565b016106a4565b61070d6116af565b6106a1565b34610244576000366003190112610244576020600080516020612f5783398151915254604051908152f35b6040366003190112610244576004356107558161026c565b6024356001600160401b038111610244576107749036906004016102f6565b90917f00000000000000000000000000000000000000000000000000000000000000003014610844576107a56116af565b60018060a01b03163d6000526352d1902d600152600080516020612f37833981519152602060016004601d855afa510361083657807fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28181600080516020612f378339815191525561081757005b816000926040519485378338925af41561082d57005b3d6000823e3d90fd5b6355299b496001526004601dfd5b639f03a0266000526004601cfd5b3461024457600036600319011261024457307f000000000000000000000000000000000000000000000000000000000000000003610844576020604051600080516020612f378339815191528152f35b3461024457600036600319011261024457600080516020612f37833981519152546040516001600160a01b039091168152602090f35b6108e136610572565b600080516020612ef7833981519152549182610a095761090291369161104f565b9060005b82518110156109f357602061091b8285611110565b51511415806109dd575b6109b65760206109358285611110565b51511480610994575b610969578061096361095260019386611110565b519361095d81610f8d565b94611738565b01610906565b6109766109909184611110565b5160405163bff1ac6560e01b815291829160048301610a62565b0390fd5b506001600160a01b036109b06109aa8386611110565b51611952565b1161093e565b6109c36109909184611110565b516040516327755b9160e11b815291829160048301610a62565b5060406109ea8285611110565b51511415610925565b6102f482600080516020612ef783398151915255565b6302ed543d60e51b60005260046000fd5b60005b838110610a2d5750506000910152565b8181015183820152602001610a1d565b90602091610a5681518092818552858086019101610a1a565b601f01601f1916010190565b9060206104f7928181520190610a3d565b34610244576020366003190112610244576004356001600160401b038111610244578060040160806003198336030112610244576044820135610ab5816112bc565b4211610b5257610aec610ad9610acd610af0936112f4565b60208151910120611dec565b610ae66064860185610fca565b91611a69565b1590565b610b4157600091610b0f826024610b0786956112b2565b930190610fca565b90610b1f6040518093819361131a565b03915afa610b2b61133d565b9015610657576104189060405191829182610a62565b638baa579f60e01b60005260046000fd5b610b5e610b75916112bc565b630f88f04960e41b60005260045242602452604490565b6000fd5b3461024457600036600319011261024457610bb9610bc7610b98611b7b565b604092919251938493600f60f81b855260e0602086015260e0850190610a3d565b908382036040850152610a3d565b466060830152306080830152600060a083015281810360c0830152602060605191828152019060809060005b818110610c01575050500390f35b8251845285945060209384019390920191600101610bf3565b346102445760003660031901126102445760206040516121058152f35b9060406003198301126102445760043591602435906001600160401b03821161024457610c66916004016102f6565b9091565b3461024457610c7836610c37565b90610c816116af565b6001610c8b610f61565b14610c99576102f492611cd5565b63948bf89760e01b60005260046000fd5b3461024457602036600319011261024457610418610cc96004356113a7565b604051918291602083526020830190610a3d565b34610244576020366003190112610244576004356001600160e01b03198116810361024457610d0d602091611474565b6040519015158152f35b34610244576020366003190112610244576004356001600160401b03811161024457610264610d4c6020923690600401610392565b6114f7565b34610244576020366003190112610244576020610d0d600435610d738161026c565b6115e8565b3461024457600036600319011261024457602060405173b10f0bf29439a89a18f9969326c5d212c7e096118152f35b606036600319011261024457600435610dbf8161026c565b604435906024356001600160401b038311610244576106f9610de86102f49436906004016102f6565b73b10f0bf29439a89a18f9969326c5d212c7e096113303610e0a5736916104a5565b610e126116af565b6106f2565b3461024457610e2536610c37565b90610e2e6116af565b610e36610f61565b9260018411610e49576102f49350611cd5565b83631047e35560e31b60005260045260246000fd5b34610244576020366003190112610244576020610264600435611dec565b34610244576000366003190112610244576020600080516020612ef783398151915254604051908152f35b3461024457600036600319011261024457602061026461160e565b90610ed560209282815194859201610a1a565b0190565b6020610ef2918160405193828580945193849201610a1a565b81017f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f50381520301902090565b634e487b7160e01b600052601160045260246000fd5b600080516020612f178339815191520390600080516020612f178339815191528211610f5c57565b610f1e565b600080516020612ef783398151915254600080516020612f57833981519152548103908111610f5c5790565b6000198114610f5c5760010190565b90610faa610faf9392611dec565b611a69565b610fbf576001600160e01b031990565b630b135d3f60e11b90565b903590601e198136030182121561024457018035906001600160401b0382116102445760200191813603831361024457565b356001600160e01b0319811692919060048210611017575050565b6001600160e01b031960049290920360031b82901b16169150565b909291928360041161024457831161024457600401916003190190565b929190926001600160401b038411610474578360051b90602060405161107782850182610453565b8096815201918101918383116102445781905b838210611098575050505050565b81356001600160401b038111610244576020916110b887849387016104dc565b81520191019061108a565b602081830312610244578035906001600160401b03821161024457019080601f83011215610244578160206104f79335910161104f565b634e487b7160e01b600052603260045260246000fd5b80518210156111245760209160051b010190565b6110fa565b80516020909101516001600160e01b0319811692919060048210611017575050565b91602083013560401c9160608401906111648286610fca565b6316155e8f60e11b916001600160e01b03199161118091610ffc565b16036112635750611190846114f7565b92612105810361124f57506111b26111ab6111ba9286610fca565b8091611032565b8101906110c3565b9160005b8351811015611229576111d18185611110565b5163278f794360e11b6111f36111e683611129565b6001600160e01b03191690565b14611202575b506001016111be565b60240151803b6111f957630c76093760e01b6000526001600160a01b031660045260246000fd5b5090926112419250610ae6905b610100810190610fca565b61124a57600190565b600090565b632ef3781360e01b60005260045260246000fd5b929050612105819492941461124f575090610ae661124192611236565b61128b60ff91610ed9565b541690565b91908110156111245760051b81013590605e1981360301821215610244570190565b356104f78161026c565b906107088201809211610f5c57565b9060158201809211610f5c57565b9060028201809211610f5c57565b91908201809211610f5c57565b906040519163737bebdd60e01b6020840152602483015260248252610488604483610453565b908092918237016000815290565b60405190611337602083610453565b60008252565b3d15611368573d9061134e8261048a565b9161135c6040519384610453565b82523d6000602084013e565b606090565b90600182811c9216801561139d575b602083101461138757565b634e487b7160e01b600052602260045260246000fd5b91607f169161137c565b6000527f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f5026020526040600020604051908160008254926113e68461136d565b8084529360018116908115611452575060011461140b575b506104f792500382610453565b90506000929192526020600020906000915b8183106114365750509060206104f792820101386113fe565b602091935080600191548385880101520191019091839261141d565b9050602092506104f794915060ff191682840152151560051b820101386113fe565b63ffffffff60e01b166329565e3b60e01b81149081156114e6575b81156114d5575b81156114c4575b81156114b3575b506114ae57600090565b600190565b63278f794360e11b149050386114a4565b63b819736760e01b8114915061149d565b6389625b5760e01b81149150611496565b6303c3cfc960e21b8114915061148f565b60208101356115ab61150c6040840184610fca565b908160405191823720916102256115266060860186610fca565b90816040519182372060c086013560a0870135608088013561155461154e60e08b018b610fca565b9061234d565b604080519a356001600160a01b031660208c01908152908b019790975260608a0198909852608089019390935260a088019290925260c087019190915260e086015261010085019390935292918290610120820190565b519020604080516020810192835273b10f0bf29439a89a18f9969326c5d212c7e09611918101919091526115e28160608101610225565b51902090565b61128b60ff916040519060018060a01b0316602082015260208152610233604082610453565b611616611b7b565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526115e260c082610453565b60003560e01c63bc197c81811463f23a6e6182141763150b7a028214176116a657633c10b94e6000526004601cfd5b6020526020603cf35b6116b8336115e8565b80156116d3575b610488576282b42960e81b60005260046000fd5b503033146116bf565b8181106116e7575050565b600081556001016116dc565b9190601f811161170257505050565b610488926000526020600020906020601f840160051c8301931061172e575b601f0160051c01906116dc565b9091508190611721565b61174181611280565b6118af5761174e81610ed9565b600160ff19825416179055816000527f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f502602052604060002081516001600160401b038111610474576117aa816117a4845461136d565b846116f3565b6020601f821160011461181e57916117ff827f38109edc26e166b5579352ce56a50813177eb25208fd90d61f2f378386220220959361180e95600091611813575b508160011b916000199060031b1c19161790565b90555b60405191829182610a62565b0390a2565b9050840151386117eb565b601f1982169061183384600052602060002090565b9160005b81811061189757509261180e9492600192827f38109edc26e166b5579352ce56a50813177eb25208fd90d61f2f37838622022098961061187e575b5050811b019055611802565b85015160001960f88460031b161c191690553880611872565b9192602060018192868a015181550194019201611837565b60405163468b12ad60e11b81529081906109909060048301610a62565b602081830312610244578035906001600160401b03821161024457016040818303126102445760405191604083018381106001600160401b038211176104745760405281356001600160401b038111610244578161192b9184016104dc565b835260208201356001600160401b0381116102445761194a92016104dc565b602082015290565b602081519101519060208110611966575090565b6000199060200360031b1b1690565b9190826040910312610244576020825192015190565b81601f8201121561024457602081519101906119a68161048a565b926119b46040519485610453565b81845281830111610244576104f7916020840190610a1a565b602081830312610244578051906001600160401b03821161024457019060c082820312610244576119fc610479565b9180516001600160401b0381116102445782611a1991830161198b565b835260208101516001600160401b0381116102445760a092611a3c91830161198b565b6020840152604081015160408401526060810151606084015260808101516080840152015160a082015290565b929190611a78918101906118cc565b90815191611a88610aec84611280565b611b52576020835114611b095782519360408514611abb576040516327755b9160e11b8152806109908660048301610a62565b610225611b04611aef611adb8760208080999b6104f79b01019101611975565b9690950151602080825183010191016119cd565b92604051928391602083019190602083019252565b611fee565b91929091906001600160a01b03611b1f85611952565b11611b37576020806104f79495015192015191611e61565b60405163bff1ac6560e01b8152806109908660048301610a62565b50915050600090565b916000928392602083519301915af1611b7261133d565b90156106575750565b6040908151611b8a8382610453565b601281527111da585b9bc814db585c9d0815d85b1b195d60721b602082015291611bb681519182610453565b60018152603160f81b602082015290565b908060209392818452848401376000828201840152601f01601f1916010190565b92916104f79492611c06928552606060208601526060850191611bc7565b916040818403910152610a3d565b60209082604051938492833781017f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f50381520301902090565b600281901b91906001600160fe1b03811603610f5c57565b611c6e815461136d565b9081611c78575050565b81601f60009311600114611c8a575055565b81835260208320611ca691601f0160051c8101906001016116dc565b808252602082209081548360011b9084198560031b1c191617905555565b9160206104f7938181520191611bc7565b9190611ce0836113a7565b805115611dd65780516020820120611cf93685856104a5565b6020815191012003611db757509081611d40611d36837fcf95bbfe6f870f8cc40482dc3dccdafd268f0e9ce0a4f24ea1bea9be64e505ff95611c14565b805460ff19169055565b611d7b611d76856000527f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f502602052604060002090565b611c64565b611da8611d96600080516020612f5783398151915254610f8d565b600080516020612f5783398151915255565b61180e60405192839283611cc4565b60405163781f2e3960e01b815293849361099093909160048601611be8565b63340c473d60e11b600052600484905260246000fd5b611df461160e565b9060405160208101917f37f248f492286ab572e2a1ee0bd5315f2aae54a08b5871b294d657f3a1f1d0078352604082015260408152611e34606082610453565b51902060405190602082019261190160f01b845260228301526042820152604281526115e2606282610453565b9091600091906001600160a01b03821615611f4b5760405192600484019460248501956044860192853b15611ecb57509186939160209593630b135d3f60e11b8852526040845281518501809260045afa9360443d01915afa9151630b135d3f60e11b1491161690565b979650509050815180604014611f2657604114611ee85750505050565b602092939550606082015160001a835260408201516060525b60005201516040526020600160806000825afa511860601b3d11916000606052604052565b506020929395506040820151601b8160ff1c01845260018060ff1b0316606052611f01565b50505050600090565b906104886001602d60405180956c1131b430b63632b733b2911d1160991b6020830152611f8a8151809260208686019101610a1a565b8101601160f91b838201520301601e19810185520183610453565b8051602010156111245760400190565b6040513d6000823e3d90fd5b6020929190611fd7849282815194859201610a1a565b019081520190565b90816020910312610244575190565b92919060009360a082019485517f7fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a8106121cb5760208301917fff1a2a9176d650e4a99dedb58f1793003935130579fe17b5a3f698ac5b00e6346120608451606087015161205a816112cb565b91612358565b60208151910120036121d45761207861207d916121de565b611f54565b6120928351604086015161205a8451826112e7565b602081519101209060208151910120036121cb57600160f81b600160f81b6120cb6120bd8651611fa5565b516001600160f81b03191690565b16036121cb576120e8602092600092505160405191828092610ec2565b039060025afa156121c6576020600061211e81516121128551610225604051938492888401611fc1565b60405191828092610ec2565b039060025afa156121c657608060005191019360008086518561217185516102258a60405194859360208501978c899192608093969594919660a084019784526020840152604083015260608201520152565b51906101005afa9461218161133d565b805196806121bd575b61219d57506104f7955051905191612245565b6001966121b99650810160209081019550019250611fdf915050565b1490565b5086151561218a565b611fb5565b94505050505090565b5094505050505090565b6040516104f7916121f0606083610453565b604082527f4142434445464748494a4b4c4d4e4f505152535455565758595a61626364656660208301527f6768696a6b6c6d6e6f707172737475767778797a303132333435363738392d5f6040830152612404565b939190929383158015612335575b801561232d575b8015612315575b61230b5761226f83866124ac565b1561230b5760405191602083526020808401526020604084015260608301527fffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254f6080830152600080516020612f1783398151915260a083015260208260c0816005600019fa1561024457600080516020612f178339815191529461230593866122ff945181818909940991612587565b91610f34565b90081590565b5050505050600090565b50600080516020612f17833981519152821015612261565b50811561225a565b50600080516020612f17833981519152841015612253565b816040519182372090565b8051606094939290838111156123ca575b818111156123c2575b5082811061237f57505050565b6040519450918290039101601f8201601f19165b8181015185820152601f19019081156123ac5790612393565b5050604081840160006020820152016040528252565b905038612372565b925082612369565b906123dc8261048a565b6123e96040519182610453565b82815280926123fa601f199161048a565b0190602036910137565b908151156124a2579061243161242c6124256124208451611c4c565b6112d9565b6003900490565b6123d2565b91602083019082805101906020820192835194600085525b83811061245857505050505290565b600360049101916001603f845182828260121c16880101518453828282600c1c16880101518385015382828260061c16880101516002850153168501015160038201530190612449565b50506104f7611328565b600160601b63ffffffff60c01b0319811080159061256f575b801561255e575b61255757600160601b63ffffffff60c01b0319907f5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b908290817fffffffff00000001000000000000000000000000fffffffffffffffffffffffc820990600160601b63ffffffff60c01b0319908181800909080890600160601b63ffffffff60c01b03199080091490565b5050600090565b50801580156124cc575081156124cc565b50600160601b63ffffffff60c01b03198210156124c5565b9092600092908360ff81841580612b7e575b612b73576125a78887612b86565b929091821580612b6b575b612b30575b5085811c60028660fe1c16015b15612b1757600186821c16600286831c60011b160160018114612acc575b60028114612abf575b600314612ab2575b600198600019919091019694959489949392915b88600019116126855750505050505050505060405191606083015260208252602080830152602060408301526002600160601b0363ffffffff60c01b03196080830152600163ffffffff60601b0360601b1960a083015260208260c0816005600019fa15610244579051600160601b63ffffffff60c01b0319910990565b909192939495969798600163ffffffff60601b0360601b198660020990600160601b63ffffffff60c01b0319828009600160601b63ffffffff60c01b031981830992600160601b63ffffffff60c01b03199082900991600160601b63ffffffff60c01b03199081908f8281830891600160601b63ffffffff60c01b031991820390080960030998600160601b63ffffffff60c01b03199083099c600160601b63ffffffff60c01b0319910991600160601b63ffffffff60c01b031980826002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b03198b80090898600160601b63ffffffff60c01b031991829081038b08900996600160601b63ffffffff60c01b03199088908290840908968b60028c60018d841c16921c60011b16018015612a955760018114612a4a575b60028114612a3f575b600314612a36575b8215612a2357600160601b63ffffffff60c01b031990889082908f90090890600160601b63ffffffff60c01b031990898203908290859009089781156128e9575b600160601b63ffffffff60c01b031989800998600160601b63ffffffff60c01b0319908a0992600160601b63ffffffff60c01b0319908a90099c600160601b63ffffffff60c01b03199084900998600160601b63ffffffff60c01b03199109600160601b63ffffffff60c01b031980826002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b031985810381868009080897600160601b63ffffffff60c01b03199384910991600160601b63ffffffff60c01b03199182908a82039008090894985b600019019796959493929190612607565b8861280c579a91975090959050600160601b63ffffffff60c01b0319816002600160601b0363ffffffff60c01b0319099a600160601b63ffffffff60c01b03198c8009600160601b63ffffffff60c01b0319818d099c600160601b63ffffffff60c01b0319908290099b600160601b63ffffffff60c01b031990818b8103820890600160601b63ffffffff60c01b0319908c900809600160601b63ffffffff60c01b03199060030991600160601b63ffffffff60c01b0319908d0998600160601b63ffffffff60c01b031991099b600160601b63ffffffff60c01b031980826002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b0319848009089b600160601b63ffffffff60c01b03199384910991600160601b63ffffffff60c01b03199182908e82039008900908946128d8565b60019c50909a8c985090965090506128d8565b505083856127cb565b8592508491506127c3565b7f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29692507f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f591506127ba565b50505099959894600163ffffffff60601b0360601b1903946128d8565b92508096509581926125f3565b96975087968994506125eb565b7f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29698507f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f594506125e2565b60001901600186821c16600286831c60011b16016125c4565b9495600080516020612f178339815191529196820390089484861580612b63575b156125b7579850505050505050505090565b506001612b51565b5083156125b2565b965050505050505090565b508315612599565b91907f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2967f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5918015612d3a5784610c669495831480612d31575b15612d1c5750600160601b63ffffffff60c01b0319905082600209600160601b63ffffffff60c01b031981800992600160601b63ffffffff60c01b031984840991600160601b63ffffffff60c01b03199085900992600160601b63ffffffff60c01b0319908190816001820890600160601b63ffffffff60c01b0319907fffffffff00000001000000000000000000000000fffffffffffffffffffffffe900809600309600160601b63ffffffff60c01b031980846002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b03198380090892600160601b63ffffffff60c01b03196001860995600160601b63ffffffff60c01b0319906001900994600160601b63ffffffff60c01b031993849109600160601b63ffffffff60c01b03199081039290918290868203900890090890612e5c565b909192612d2893612d40565b92909190612e5c565b50818414612bdf565b50925090565b9193908015612e5357600160601b63ffffffff60c01b03199081039384908290600190090893600160601b63ffffffff60c01b031990838203908290600190090892600160601b63ffffffff60c01b031984800993600160601b63ffffffff60c01b031990850992600160601b63ffffffff60c01b03199085900994600160601b63ffffffff60c01b031980876002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b031986810381858009080895600160601b63ffffffff60c01b031992839086900991600160601b63ffffffff60c01b03199182908982039008090892600160601b63ffffffff60c01b03199060010991600160601b63ffffffff60c01b03199060010990565b50600191508190565b91909260405190602082526020808301526020604083015260608201526002600160601b0363ffffffff60c01b03196080820152600163ffffffff60601b0360601b1960a082015260208160c0816005600019fa15610244575192600160601b63ffffffff60c01b03199084900992600160601b63ffffffff60c01b03199109600160601b63ffffffff60c01b031991908290800990099156fe0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f500ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f501a264697066735822122026165c0497221dc0d0a6fe46163b1bfa2e7e78ebc4b8a9a8f3c3ed3c6cbe43ec64736f6c634300081c0033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x15 JUMPI JUMPDEST CALLDATASIZE PUSH2 0x1677 JUMPI STOP JUMPDEST PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x66A1EB7 EQ PUSH2 0x1E5 JUMPI DUP1 PUSH4 0xDB02622 EQ PUSH2 0x1E0 JUMPI DUP1 PUSH4 0xF0F3F24 EQ PUSH2 0x1DB JUMPI DUP1 PUSH4 0x1626BA7E EQ PUSH2 0x1D6 JUMPI DUP1 PUSH4 0x17452CAA EQ PUSH2 0x1D1 JUMPI DUP1 PUSH4 0x19822F7C EQ PUSH2 0x1CC JUMPI DUP1 PUSH4 0x1CA5393F EQ PUSH2 0x1C7 JUMPI DUP1 PUSH4 0x29565E3B EQ PUSH2 0x1C2 JUMPI DUP1 PUSH4 0x2C2ABD1E EQ PUSH2 0x1BD JUMPI DUP1 PUSH4 0x34FCD5BE EQ PUSH2 0x1B8 JUMPI DUP1 PUSH4 0x36D9CF9B EQ PUSH2 0x1B3 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x1AE JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x1A9 JUMPI DUP1 PUSH4 0x5C60DA1B EQ PUSH2 0x1A4 JUMPI DUP1 PUSH4 0x6F2DE70E EQ PUSH2 0x19F JUMPI DUP1 PUSH4 0x737BEBDD EQ PUSH2 0x19A JUMPI DUP1 PUSH4 0x84B0196E EQ PUSH2 0x195 JUMPI DUP1 PUSH4 0x88CE4C7C EQ PUSH2 0x190 JUMPI DUP1 PUSH4 0x89625B57 EQ PUSH2 0x18B JUMPI DUP1 PUSH4 0x8EA69029 EQ PUSH2 0x186 JUMPI DUP1 PUSH4 0x9F9BCB34 EQ PUSH2 0x181 JUMPI DUP1 PUSH4 0xA05BD44E EQ PUSH2 0x17C JUMPI DUP1 PUSH4 0xA2E1A8D8 EQ PUSH2 0x177 JUMPI DUP1 PUSH4 0xB0D691FE EQ PUSH2 0x172 JUMPI DUP1 PUSH4 0xB61D27F6 EQ PUSH2 0x16D JUMPI DUP1 PUSH4 0xB8197367 EQ PUSH2 0x168 JUMPI DUP1 PUSH4 0xCE1506BE EQ PUSH2 0x163 JUMPI DUP1 PUSH4 0xD948FD2E EQ PUSH2 0x15E JUMPI PUSH4 0xF698DA25 SUB PUSH2 0xE JUMPI PUSH2 0xEA7 JUMP JUMPDEST PUSH2 0xE7C JUMP JUMPDEST PUSH2 0xE5E JUMP JUMPDEST PUSH2 0xE17 JUMP JUMPDEST PUSH2 0xDA7 JUMP JUMPDEST PUSH2 0xD78 JUMP JUMPDEST PUSH2 0xD51 JUMP JUMPDEST PUSH2 0xD17 JUMP JUMPDEST PUSH2 0xCDD JUMP JUMPDEST PUSH2 0xCAA JUMP JUMPDEST PUSH2 0xC6A JUMP JUMPDEST PUSH2 0xC1A JUMP JUMPDEST PUSH2 0xB79 JUMP JUMPDEST PUSH2 0xA73 JUMP JUMPDEST PUSH2 0x8D8 JUMP JUMPDEST PUSH2 0x8A2 JUMP JUMPDEST PUSH2 0x852 JUMP JUMPDEST PUSH2 0x73D JUMP JUMPDEST PUSH2 0x712 JUMP JUMPDEST PUSH2 0x67B JUMP JUMPDEST PUSH2 0x5CF JUMP JUMPDEST PUSH2 0x531 JUMP JUMPDEST PUSH2 0x4FA JUMP JUMPDEST PUSH2 0x3A1 JUMP JUMPDEST PUSH2 0x375 JUMP JUMPDEST PUSH2 0x323 JUMP JUMPDEST PUSH2 0x27D JUMP JUMPDEST PUSH2 0x249 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH1 0xFF PUSH2 0x238 PUSH1 0x4 CALLDATALOAD PUSH2 0x233 PUSH1 0x24 CALLDATALOAD SWAP2 PUSH2 0x225 PUSH1 0x40 MLOAD SWAP4 DUP5 SWAP3 DUP9 DUP5 ADD PUSH1 0x20 SWAP1 SWAP4 SWAP3 SWAP2 SWAP4 PUSH1 0x40 DUP2 ADD SWAP5 DUP2 MSTORE ADD MSTORE JUMP JUMPDEST SUB PUSH1 0x1F NOT DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x453 JUMP JUMPDEST PUSH2 0xED9 JUMP JUMPDEST SLOAD AND PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH2 0x264 PUSH2 0xF61 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND SUB PUSH2 0x244 JUMPI JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH2 0x2F4 PUSH1 0x4 CALLDATALOAD PUSH2 0x29D DUP2 PUSH2 0x26C JUMP JUMPDEST PUSH2 0x2A5 PUSH2 0x16AF JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x20 DUP2 MSTORE PUSH2 0x2C5 PUSH1 0x40 DUP3 PUSH2 0x453 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2EF7 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD SWAP1 PUSH2 0x2DF DUP3 PUSH2 0xF8D JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2EF7 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SSTORE PUSH2 0x1738 JUMP JUMPDEST STOP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0x244 JUMPI DUP3 CALLDATALOAD SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 GT PUSH2 0x244 JUMPI PUSH1 0x20 DUP4 DUP2 DUP7 ADD SWAP6 ADD ADD GT PUSH2 0x244 JUMPI JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x24 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH1 0x20 SWAP2 PUSH2 0x35C PUSH2 0x362 SWAP3 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x2F6 JUMP JUMPDEST SWAP2 PUSH2 0xF9C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP2 AND DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH2 0x708 DUP2 MSTORE RETURN JUMPDEST SWAP1 DUP2 PUSH2 0x120 SWAP2 SUB SLT PUSH2 0x244 JUMPI SWAP1 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x60 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH2 0x3D1 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x392 JUMP JUMPDEST PUSH1 0x44 CALLDATALOAD PUSH1 0x24 CALLDATALOAD PUSH20 0xB10F0BF29439A89A18F9969326C5D212C7E09610 NOT CALLER ADD PUSH2 0x42D JUMPI PUSH2 0x401 DUP3 SWAP2 PUSH2 0x418 SWAP5 PUSH2 0x114B JUMP JUMPDEST SWAP2 PUSH2 0x41C JUMPI JUMPDEST POP PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE SWAP1 DUP2 SWAP1 PUSH1 0x20 DUP3 ADD SWAP1 JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 SWAP1 DUP2 DUP1 CODESIZE SWAP3 CALLER GAS CALL POP CODESIZE PUSH2 0x407 JUMP JUMPDEST PUSH3 0x82B429 PUSH1 0xE8 SHL PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x1F DUP1 NOT SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT OR PUSH2 0x474 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH2 0x43D JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x488 PUSH1 0xC0 DUP4 PUSH2 0x453 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x474 JUMPI PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP3 SWAP2 SWAP3 PUSH2 0x4B1 DUP3 PUSH2 0x48A JUMP JUMPDEST SWAP2 PUSH2 0x4BF PUSH1 0x40 MLOAD SWAP4 DUP5 PUSH2 0x453 JUMP JUMPDEST DUP3 SWAP5 DUP2 DUP5 MSTORE DUP2 DUP4 ADD GT PUSH2 0x244 JUMPI DUP3 DUP2 PUSH1 0x20 SWAP4 DUP5 PUSH1 0x0 SWAP7 ADD CALLDATACOPY ADD ADD MSTORE JUMP JUMPDEST SWAP1 DUP1 PUSH1 0x1F DUP4 ADD SLT ISZERO PUSH2 0x244 JUMPI DUP2 PUSH1 0x20 PUSH2 0x4F7 SWAP4 CALLDATALOAD SWAP2 ADD PUSH2 0x4A5 JUMP JUMPDEST SWAP1 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH1 0xFF PUSH2 0x238 PUSH2 0x233 PUSH1 0x20 SWAP4 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x4DC JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH2 0x2F4 PUSH1 0x24 CALLDATALOAD PUSH2 0x2C5 PUSH1 0x4 CALLDATALOAD PUSH2 0x556 PUSH2 0x16AF JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE DUP2 PUSH1 0x60 DUP2 ADD PUSH2 0x225 JUMP JUMPDEST SWAP1 PUSH1 0x20 PUSH1 0x3 NOT DUP4 ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH1 0x4 ADD PUSH1 0x0 SWAP3 DUP1 PUSH1 0x1F DUP4 ADD SLT ISZERO PUSH2 0x5CB JUMPI DUP2 CALLDATALOAD SWAP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP6 GT PUSH2 0x5C8 JUMPI POP PUSH1 0x20 DUP1 DUP4 ADD SWAP3 DUP6 PUSH1 0x5 SHL ADD ADD GT PUSH2 0x244 JUMPI SWAP2 SWAP1 JUMP JUMPDEST DUP1 REVERT JUMPDEST DUP4 DUP1 REVERT JUMPDEST PUSH2 0x5D8 CALLDATASIZE PUSH2 0x572 JUMP JUMPDEST SWAP1 PUSH20 0xB10F0BF29439A89A18F9969326C5D212C7E09611 CALLER SUB PUSH2 0x42D JUMPI PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x2F4 JUMPI PUSH1 0x0 PUSH2 0x610 DUP3 PUSH1 0x5 SHL DUP5 ADD DUP5 PUSH2 0xFCA JUMP JUMPDEST PUSH2 0x61A DUP2 DUP4 PUSH2 0xFFC JUMP JUMPDEST PUSH2 0x623 DUP2 PUSH2 0x1474 JUMP JUMPDEST ISZERO PUSH2 0x65F JUMPI POP DUP3 SWAP2 PUSH2 0x636 SWAP2 CALLDATASIZE SWAP2 PUSH2 0x4A5 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD DUP3 ADDRESS GAS CALL PUSH2 0x648 PUSH2 0x133D JUMP JUMPDEST SWAP1 ISZERO PUSH2 0x657 JUMPI POP PUSH1 0x1 ADD PUSH2 0x5F7 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD REVERT JUMPDEST PUSH4 0x1D8370A3 PUSH1 0xE1 SHL DUP5 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH1 0x4 MSTORE PUSH1 0x24 DUP4 REVERT JUMPDEST PUSH2 0x684 CALLDATASIZE PUSH2 0x572 JUMP JUMPDEST SWAP1 PUSH20 0xB10F0BF29439A89A18F9969326C5D212C7E09611 CALLER SUB PUSH2 0x705 JUMPI JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT PUSH2 0x6AD JUMPI STOP JUMPDEST DUP1 PUSH2 0x6FF PUSH2 0x6BE PUSH1 0x1 SWAP4 DUP7 DUP7 PUSH2 0x1290 JUMP JUMPDEST CALLDATALOAD PUSH2 0x6C8 DUP2 PUSH2 0x26C JUMP JUMPDEST PUSH1 0x20 PUSH2 0x6D5 DUP5 DUP9 DUP9 PUSH2 0x1290 JUMP JUMPDEST ADD CALLDATALOAD PUSH2 0x6F9 PUSH2 0x6F2 PUSH2 0x6E8 DUP7 DUP11 DUP11 PUSH2 0x1290 JUMP JUMPDEST PUSH1 0x40 DUP2 ADD SWAP1 PUSH2 0xFCA JUMP JUMPDEST CALLDATASIZE SWAP2 PUSH2 0x4A5 JUMP JUMPDEST SWAP2 PUSH2 0x1B5B JUMP JUMPDEST ADD PUSH2 0x6A4 JUMP JUMPDEST PUSH2 0x70D PUSH2 0x16AF JUMP JUMPDEST PUSH2 0x6A1 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2F57 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0x755 DUP2 PUSH2 0x26C JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH2 0x774 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x2F6 JUMP JUMPDEST SWAP1 SWAP2 PUSH32 0x0 ADDRESS EQ PUSH2 0x844 JUMPI PUSH2 0x7A5 PUSH2 0x16AF JUMP JUMPDEST PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB AND RETURNDATASIZE PUSH1 0x0 MSTORE PUSH4 0x52D1902D PUSH1 0x1 MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2F37 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x20 PUSH1 0x1 PUSH1 0x4 PUSH1 0x1D DUP6 GAS STATICCALL MLOAD SUB PUSH2 0x836 JUMPI DUP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B PUSH1 0x0 DUP1 LOG2 DUP2 DUP2 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2F37 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SSTORE PUSH2 0x817 JUMPI STOP JUMPDEST DUP2 PUSH1 0x0 SWAP3 PUSH1 0x40 MLOAD SWAP5 DUP6 CALLDATACOPY DUP4 CODESIZE SWAP3 GAS DELEGATECALL ISZERO PUSH2 0x82D JUMPI STOP JUMPDEST RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH4 0x55299B49 PUSH1 0x1 MSTORE PUSH1 0x4 PUSH1 0x1D REVERT JUMPDEST PUSH4 0x9F03A026 PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x1C REVERT JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI ADDRESS PUSH32 0x0 SUB PUSH2 0x844 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2F37 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2F37 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 SWAP1 RETURN JUMPDEST PUSH2 0x8E1 CALLDATASIZE PUSH2 0x572 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2EF7 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD SWAP2 DUP3 PUSH2 0xA09 JUMPI PUSH2 0x902 SWAP2 CALLDATASIZE SWAP2 PUSH2 0x104F JUMP JUMPDEST SWAP1 PUSH1 0x0 JUMPDEST DUP3 MLOAD DUP2 LT ISZERO PUSH2 0x9F3 JUMPI PUSH1 0x20 PUSH2 0x91B DUP3 DUP6 PUSH2 0x1110 JUMP JUMPDEST MLOAD MLOAD EQ ISZERO DUP1 PUSH2 0x9DD JUMPI JUMPDEST PUSH2 0x9B6 JUMPI PUSH1 0x20 PUSH2 0x935 DUP3 DUP6 PUSH2 0x1110 JUMP JUMPDEST MLOAD MLOAD EQ DUP1 PUSH2 0x994 JUMPI JUMPDEST PUSH2 0x969 JUMPI DUP1 PUSH2 0x963 PUSH2 0x952 PUSH1 0x1 SWAP4 DUP7 PUSH2 0x1110 JUMP JUMPDEST MLOAD SWAP4 PUSH2 0x95D DUP2 PUSH2 0xF8D JUMP JUMPDEST SWAP5 PUSH2 0x1738 JUMP JUMPDEST ADD PUSH2 0x906 JUMP JUMPDEST PUSH2 0x976 PUSH2 0x990 SWAP2 DUP5 PUSH2 0x1110 JUMP JUMPDEST MLOAD PUSH1 0x40 MLOAD PUSH4 0xBFF1AC65 PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 DUP3 SWAP2 PUSH1 0x4 DUP4 ADD PUSH2 0xA62 JUMP JUMPDEST SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH2 0x9B0 PUSH2 0x9AA DUP4 DUP7 PUSH2 0x1110 JUMP JUMPDEST MLOAD PUSH2 0x1952 JUMP JUMPDEST GT PUSH2 0x93E JUMP JUMPDEST PUSH2 0x9C3 PUSH2 0x990 SWAP2 DUP5 PUSH2 0x1110 JUMP JUMPDEST MLOAD PUSH1 0x40 MLOAD PUSH4 0x27755B91 PUSH1 0xE1 SHL DUP2 MSTORE SWAP2 DUP3 SWAP2 PUSH1 0x4 DUP4 ADD PUSH2 0xA62 JUMP JUMPDEST POP PUSH1 0x40 PUSH2 0x9EA DUP3 DUP6 PUSH2 0x1110 JUMP JUMPDEST MLOAD MLOAD EQ ISZERO PUSH2 0x925 JUMP JUMPDEST PUSH2 0x2F4 DUP3 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2EF7 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SSTORE JUMP JUMPDEST PUSH4 0x2ED543D PUSH1 0xE5 SHL PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0xA2D JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0xA1D JUMP JUMPDEST SWAP1 PUSH1 0x20 SWAP2 PUSH2 0xA56 DUP2 MLOAD DUP1 SWAP3 DUP2 DUP6 MSTORE DUP6 DUP1 DUP7 ADD SWAP2 ADD PUSH2 0xA1A JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND ADD ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x20 PUSH2 0x4F7 SWAP3 DUP2 DUP2 MSTORE ADD SWAP1 PUSH2 0xA3D JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI DUP1 PUSH1 0x4 ADD PUSH1 0x80 PUSH1 0x3 NOT DUP4 CALLDATASIZE SUB ADD SLT PUSH2 0x244 JUMPI PUSH1 0x44 DUP3 ADD CALLDATALOAD PUSH2 0xAB5 DUP2 PUSH2 0x12BC JUMP JUMPDEST TIMESTAMP GT PUSH2 0xB52 JUMPI PUSH2 0xAEC PUSH2 0xAD9 PUSH2 0xACD PUSH2 0xAF0 SWAP4 PUSH2 0x12F4 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 PUSH2 0x1DEC JUMP JUMPDEST PUSH2 0xAE6 PUSH1 0x64 DUP7 ADD DUP6 PUSH2 0xFCA JUMP JUMPDEST SWAP2 PUSH2 0x1A69 JUMP JUMPDEST ISZERO SWAP1 JUMP JUMPDEST PUSH2 0xB41 JUMPI PUSH1 0x0 SWAP2 PUSH2 0xB0F DUP3 PUSH1 0x24 PUSH2 0xB07 DUP7 SWAP6 PUSH2 0x12B2 JUMP JUMPDEST SWAP4 ADD SWAP1 PUSH2 0xFCA JUMP JUMPDEST SWAP1 PUSH2 0xB1F PUSH1 0x40 MLOAD DUP1 SWAP4 DUP2 SWAP4 PUSH2 0x131A JUMP JUMPDEST SUB SWAP2 GAS STATICCALL PUSH2 0xB2B PUSH2 0x133D JUMP JUMPDEST SWAP1 ISZERO PUSH2 0x657 JUMPI PUSH2 0x418 SWAP1 PUSH1 0x40 MLOAD SWAP2 DUP3 SWAP2 DUP3 PUSH2 0xA62 JUMP JUMPDEST PUSH4 0x8BAA579F PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x0 REVERT JUMPDEST PUSH2 0xB5E PUSH2 0xB75 SWAP2 PUSH2 0x12BC JUMP JUMPDEST PUSH4 0xF88F049 PUSH1 0xE4 SHL PUSH1 0x0 MSTORE PUSH1 0x4 MSTORE TIMESTAMP PUSH1 0x24 MSTORE PUSH1 0x44 SWAP1 JUMP JUMPDEST PUSH1 0x0 REVERT JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH2 0xBB9 PUSH2 0xBC7 PUSH2 0xB98 PUSH2 0x1B7B JUMP JUMPDEST PUSH1 0x40 SWAP3 SWAP2 SWAP3 MLOAD SWAP4 DUP5 SWAP4 PUSH1 0xF PUSH1 0xF8 SHL DUP6 MSTORE PUSH1 0xE0 PUSH1 0x20 DUP7 ADD MSTORE PUSH1 0xE0 DUP6 ADD SWAP1 PUSH2 0xA3D JUMP JUMPDEST SWAP1 DUP4 DUP3 SUB PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0xA3D JUMP JUMPDEST CHAINID PUSH1 0x60 DUP4 ADD MSTORE ADDRESS PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0x0 PUSH1 0xA0 DUP4 ADD MSTORE DUP2 DUP2 SUB PUSH1 0xC0 DUP4 ADD MSTORE PUSH1 0x20 PUSH1 0x60 MLOAD SWAP2 DUP3 DUP2 MSTORE ADD SWAP1 PUSH1 0x80 SWAP1 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH2 0xC01 JUMPI POP POP POP SUB SWAP1 RETURN JUMPDEST DUP3 MLOAD DUP5 MSTORE DUP6 SWAP5 POP PUSH1 0x20 SWAP4 DUP5 ADD SWAP4 SWAP1 SWAP3 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0xBF3 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH2 0x2105 DUP2 MSTORE RETURN JUMPDEST SWAP1 PUSH1 0x40 PUSH1 0x3 NOT DUP4 ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD SWAP2 PUSH1 0x24 CALLDATALOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH2 0x244 JUMPI PUSH2 0xC66 SWAP2 PUSH1 0x4 ADD PUSH2 0x2F6 JUMP JUMPDEST SWAP1 SWAP2 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH2 0xC78 CALLDATASIZE PUSH2 0xC37 JUMP JUMPDEST SWAP1 PUSH2 0xC81 PUSH2 0x16AF JUMP JUMPDEST PUSH1 0x1 PUSH2 0xC8B PUSH2 0xF61 JUMP JUMPDEST EQ PUSH2 0xC99 JUMPI PUSH2 0x2F4 SWAP3 PUSH2 0x1CD5 JUMP JUMPDEST PUSH4 0x948BF897 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x0 REVERT JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH2 0x418 PUSH2 0xCC9 PUSH1 0x4 CALLDATALOAD PUSH2 0x13A7 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 SWAP2 PUSH1 0x20 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP1 PUSH2 0xA3D JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 SUB PUSH2 0x244 JUMPI PUSH2 0xD0D PUSH1 0x20 SWAP2 PUSH2 0x1474 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH2 0x264 PUSH2 0xD4C PUSH1 0x20 SWAP3 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x392 JUMP JUMPDEST PUSH2 0x14F7 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH2 0xD0D PUSH1 0x4 CALLDATALOAD PUSH2 0xD73 DUP2 PUSH2 0x26C JUMP JUMPDEST PUSH2 0x15E8 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH20 0xB10F0BF29439A89A18F9969326C5D212C7E09611 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x60 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0xDBF DUP2 PUSH2 0x26C JUMP JUMPDEST PUSH1 0x44 CALLDATALOAD SWAP1 PUSH1 0x24 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 GT PUSH2 0x244 JUMPI PUSH2 0x6F9 PUSH2 0xDE8 PUSH2 0x2F4 SWAP5 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x2F6 JUMP JUMPDEST PUSH20 0xB10F0BF29439A89A18F9969326C5D212C7E09611 CALLER SUB PUSH2 0xE0A JUMPI CALLDATASIZE SWAP2 PUSH2 0x4A5 JUMP JUMPDEST PUSH2 0xE12 PUSH2 0x16AF JUMP JUMPDEST PUSH2 0x6F2 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH2 0xE25 CALLDATASIZE PUSH2 0xC37 JUMP JUMPDEST SWAP1 PUSH2 0xE2E PUSH2 0x16AF JUMP JUMPDEST PUSH2 0xE36 PUSH2 0xF61 JUMP JUMPDEST SWAP3 PUSH1 0x1 DUP5 GT PUSH2 0xE49 JUMPI PUSH2 0x2F4 SWAP4 POP PUSH2 0x1CD5 JUMP JUMPDEST DUP4 PUSH4 0x1047E355 PUSH1 0xE3 SHL PUSH1 0x0 MSTORE PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH2 0x264 PUSH1 0x4 CALLDATALOAD PUSH2 0x1DEC JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2EF7 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH2 0x264 PUSH2 0x160E JUMP JUMPDEST SWAP1 PUSH2 0xED5 PUSH1 0x20 SWAP3 DUP3 DUP2 MLOAD SWAP5 DUP6 SWAP3 ADD PUSH2 0xA1A JUMP JUMPDEST ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 PUSH2 0xEF2 SWAP2 DUP2 PUSH1 0x40 MLOAD SWAP4 DUP3 DUP6 DUP1 SWAP5 MLOAD SWAP4 DUP5 SWAP3 ADD PUSH2 0xA1A JUMP JUMPDEST DUP2 ADD PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F503 DUP2 MSTORE SUB ADD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2F17 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SUB SWAP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2F17 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP3 GT PUSH2 0xF5C JUMPI JUMP JUMPDEST PUSH2 0xF1E JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2EF7 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2F57 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD DUP2 SUB SWAP1 DUP2 GT PUSH2 0xF5C JUMPI SWAP1 JUMP JUMPDEST PUSH1 0x0 NOT DUP2 EQ PUSH2 0xF5C JUMPI PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH2 0xFAA PUSH2 0xFAF SWAP4 SWAP3 PUSH2 0x1DEC JUMP JUMPDEST PUSH2 0x1A69 JUMP JUMPDEST PUSH2 0xFBF JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 JUMP JUMPDEST PUSH4 0xB135D3F PUSH1 0xE1 SHL SWAP1 JUMP JUMPDEST SWAP1 CALLDATALOAD SWAP1 PUSH1 0x1E NOT DUP2 CALLDATASIZE SUB ADD DUP3 SLT ISZERO PUSH2 0x244 JUMPI ADD DUP1 CALLDATALOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH2 0x244 JUMPI PUSH1 0x20 ADD SWAP2 DUP2 CALLDATASIZE SUB DUP4 SGT PUSH2 0x244 JUMPI JUMP JUMPDEST CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND SWAP3 SWAP2 SWAP1 PUSH1 0x4 DUP3 LT PUSH2 0x1017 JUMPI POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0x4 SWAP3 SWAP1 SWAP3 SUB PUSH1 0x3 SHL DUP3 SWAP1 SHL AND AND SWAP2 POP JUMP JUMPDEST SWAP1 SWAP3 SWAP2 SWAP3 DUP4 PUSH1 0x4 GT PUSH2 0x244 JUMPI DUP4 GT PUSH2 0x244 JUMPI PUSH1 0x4 ADD SWAP2 PUSH1 0x3 NOT ADD SWAP1 JUMP JUMPDEST SWAP3 SWAP2 SWAP1 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP5 GT PUSH2 0x474 JUMPI DUP4 PUSH1 0x5 SHL SWAP1 PUSH1 0x20 PUSH1 0x40 MLOAD PUSH2 0x1077 DUP3 DUP6 ADD DUP3 PUSH2 0x453 JUMP JUMPDEST DUP1 SWAP7 DUP2 MSTORE ADD SWAP2 DUP2 ADD SWAP2 DUP4 DUP4 GT PUSH2 0x244 JUMPI DUP2 SWAP1 JUMPDEST DUP4 DUP3 LT PUSH2 0x1098 JUMPI POP POP POP POP POP JUMP JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH1 0x20 SWAP2 PUSH2 0x10B8 DUP8 DUP5 SWAP4 DUP8 ADD PUSH2 0x4DC JUMP JUMPDEST DUP2 MSTORE ADD SWAP2 ADD SWAP1 PUSH2 0x108A JUMP JUMPDEST PUSH1 0x20 DUP2 DUP4 SUB SLT PUSH2 0x244 JUMPI DUP1 CALLDATALOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH2 0x244 JUMPI ADD SWAP1 DUP1 PUSH1 0x1F DUP4 ADD SLT ISZERO PUSH2 0x244 JUMPI DUP2 PUSH1 0x20 PUSH2 0x4F7 SWAP4 CALLDATALOAD SWAP2 ADD PUSH2 0x104F JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 MLOAD DUP3 LT ISZERO PUSH2 0x1124 JUMPI PUSH1 0x20 SWAP2 PUSH1 0x5 SHL ADD ADD SWAP1 JUMP JUMPDEST PUSH2 0x10FA JUMP JUMPDEST DUP1 MLOAD PUSH1 0x20 SWAP1 SWAP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND SWAP3 SWAP2 SWAP1 PUSH1 0x4 DUP3 LT PUSH2 0x1017 JUMPI POP POP JUMP JUMPDEST SWAP2 PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x40 SHR SWAP2 PUSH1 0x60 DUP5 ADD SWAP1 PUSH2 0x1164 DUP3 DUP7 PUSH2 0xFCA JUMP JUMPDEST PUSH4 0x16155E8F PUSH1 0xE1 SHL SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP2 PUSH2 0x1180 SWAP2 PUSH2 0xFFC JUMP JUMPDEST AND SUB PUSH2 0x1263 JUMPI POP PUSH2 0x1190 DUP5 PUSH2 0x14F7 JUMP JUMPDEST SWAP3 PUSH2 0x2105 DUP2 SUB PUSH2 0x124F JUMPI POP PUSH2 0x11B2 PUSH2 0x11AB PUSH2 0x11BA SWAP3 DUP7 PUSH2 0xFCA JUMP JUMPDEST DUP1 SWAP2 PUSH2 0x1032 JUMP JUMPDEST DUP2 ADD SWAP1 PUSH2 0x10C3 JUMP JUMPDEST SWAP2 PUSH1 0x0 JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH2 0x1229 JUMPI PUSH2 0x11D1 DUP2 DUP6 PUSH2 0x1110 JUMP JUMPDEST MLOAD PUSH4 0x278F7943 PUSH1 0xE1 SHL PUSH2 0x11F3 PUSH2 0x11E6 DUP4 PUSH2 0x1129 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND SWAP1 JUMP JUMPDEST EQ PUSH2 0x1202 JUMPI JUMPDEST POP PUSH1 0x1 ADD PUSH2 0x11BE JUMP JUMPDEST PUSH1 0x24 ADD MLOAD DUP1 EXTCODESIZE PUSH2 0x11F9 JUMPI PUSH4 0xC760937 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP1 SWAP3 PUSH2 0x1241 SWAP3 POP PUSH2 0xAE6 SWAP1 JUMPDEST PUSH2 0x100 DUP2 ADD SWAP1 PUSH2 0xFCA JUMP JUMPDEST PUSH2 0x124A JUMPI PUSH1 0x1 SWAP1 JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH4 0x2EF37813 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP3 SWAP1 POP PUSH2 0x2105 DUP2 SWAP5 SWAP3 SWAP5 EQ PUSH2 0x124F JUMPI POP SWAP1 PUSH2 0xAE6 PUSH2 0x1241 SWAP3 PUSH2 0x1236 JUMP JUMPDEST PUSH2 0x128B PUSH1 0xFF SWAP2 PUSH2 0xED9 JUMP JUMPDEST SLOAD AND SWAP1 JUMP JUMPDEST SWAP2 SWAP1 DUP2 LT ISZERO PUSH2 0x1124 JUMPI PUSH1 0x5 SHL DUP2 ADD CALLDATALOAD SWAP1 PUSH1 0x5E NOT DUP2 CALLDATASIZE SUB ADD DUP3 SLT ISZERO PUSH2 0x244 JUMPI ADD SWAP1 JUMP JUMPDEST CALLDATALOAD PUSH2 0x4F7 DUP2 PUSH2 0x26C JUMP JUMPDEST SWAP1 PUSH2 0x708 DUP3 ADD DUP1 SWAP3 GT PUSH2 0xF5C JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x15 DUP3 ADD DUP1 SWAP3 GT PUSH2 0xF5C JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x2 DUP3 ADD DUP1 SWAP3 GT PUSH2 0xF5C JUMPI JUMP JUMPDEST SWAP2 SWAP1 DUP3 ADD DUP1 SWAP3 GT PUSH2 0xF5C JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x40 MLOAD SWAP2 PUSH4 0x737BEBDD PUSH1 0xE0 SHL PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x24 DUP3 MSTORE PUSH2 0x488 PUSH1 0x44 DUP4 PUSH2 0x453 JUMP JUMPDEST SWAP1 DUP1 SWAP3 SWAP2 DUP3 CALLDATACOPY ADD PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x1337 PUSH1 0x20 DUP4 PUSH2 0x453 JUMP JUMPDEST PUSH1 0x0 DUP3 MSTORE JUMP JUMPDEST RETURNDATASIZE ISZERO PUSH2 0x1368 JUMPI RETURNDATASIZE SWAP1 PUSH2 0x134E DUP3 PUSH2 0x48A JUMP JUMPDEST SWAP2 PUSH2 0x135C PUSH1 0x40 MLOAD SWAP4 DUP5 PUSH2 0x453 JUMP JUMPDEST DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY JUMP JUMPDEST PUSH1 0x60 SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH2 0x139D JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH2 0x1387 JUMPI JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH2 0x137C JUMP JUMPDEST PUSH1 0x0 MSTORE PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F502 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD SWAP1 DUP2 PUSH1 0x0 DUP3 SLOAD SWAP3 PUSH2 0x13E6 DUP5 PUSH2 0x136D JUMP JUMPDEST DUP1 DUP5 MSTORE SWAP4 PUSH1 0x1 DUP2 AND SWAP1 DUP2 ISZERO PUSH2 0x1452 JUMPI POP PUSH1 0x1 EQ PUSH2 0x140B JUMPI JUMPDEST POP PUSH2 0x4F7 SWAP3 POP SUB DUP3 PUSH2 0x453 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 SWAP3 SWAP2 SWAP3 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x0 SWAP2 JUMPDEST DUP2 DUP4 LT PUSH2 0x1436 JUMPI POP POP SWAP1 PUSH1 0x20 PUSH2 0x4F7 SWAP3 DUP3 ADD ADD CODESIZE PUSH2 0x13FE JUMP JUMPDEST PUSH1 0x20 SWAP2 SWAP4 POP DUP1 PUSH1 0x1 SWAP2 SLOAD DUP4 DUP6 DUP9 ADD ADD MSTORE ADD SWAP2 ADD SWAP1 SWAP2 DUP4 SWAP3 PUSH2 0x141D JUMP JUMPDEST SWAP1 POP PUSH1 0x20 SWAP3 POP PUSH2 0x4F7 SWAP5 SWAP2 POP PUSH1 0xFF NOT AND DUP3 DUP5 ADD MSTORE ISZERO ISZERO PUSH1 0x5 SHL DUP3 ADD ADD CODESIZE PUSH2 0x13FE JUMP JUMPDEST PUSH4 0xFFFFFFFF PUSH1 0xE0 SHL AND PUSH4 0x29565E3B PUSH1 0xE0 SHL DUP2 EQ SWAP1 DUP2 ISZERO PUSH2 0x14E6 JUMPI JUMPDEST DUP2 ISZERO PUSH2 0x14D5 JUMPI JUMPDEST DUP2 ISZERO PUSH2 0x14C4 JUMPI JUMPDEST DUP2 ISZERO PUSH2 0x14B3 JUMPI JUMPDEST POP PUSH2 0x14AE JUMPI PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH1 0x1 SWAP1 JUMP JUMPDEST PUSH4 0x278F7943 PUSH1 0xE1 SHL EQ SWAP1 POP CODESIZE PUSH2 0x14A4 JUMP JUMPDEST PUSH4 0xB8197367 PUSH1 0xE0 SHL DUP2 EQ SWAP2 POP PUSH2 0x149D JUMP JUMPDEST PUSH4 0x89625B57 PUSH1 0xE0 SHL DUP2 EQ SWAP2 POP PUSH2 0x1496 JUMP JUMPDEST PUSH4 0x3C3CFC9 PUSH1 0xE2 SHL DUP2 EQ SWAP2 POP PUSH2 0x148F JUMP JUMPDEST PUSH1 0x20 DUP2 ADD CALLDATALOAD PUSH2 0x15AB PUSH2 0x150C PUSH1 0x40 DUP5 ADD DUP5 PUSH2 0xFCA JUMP JUMPDEST SWAP1 DUP2 PUSH1 0x40 MLOAD SWAP2 DUP3 CALLDATACOPY KECCAK256 SWAP2 PUSH2 0x225 PUSH2 0x1526 PUSH1 0x60 DUP7 ADD DUP7 PUSH2 0xFCA JUMP JUMPDEST SWAP1 DUP2 PUSH1 0x40 MLOAD SWAP2 DUP3 CALLDATACOPY KECCAK256 PUSH1 0xC0 DUP7 ADD CALLDATALOAD PUSH1 0xA0 DUP8 ADD CALLDATALOAD PUSH1 0x80 DUP9 ADD CALLDATALOAD PUSH2 0x1554 PUSH2 0x154E PUSH1 0xE0 DUP12 ADD DUP12 PUSH2 0xFCA JUMP JUMPDEST SWAP1 PUSH2 0x234D JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP11 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP13 ADD SWAP1 DUP2 MSTORE SWAP1 DUP12 ADD SWAP8 SWAP1 SWAP8 MSTORE PUSH1 0x60 DUP11 ADD SWAP9 SWAP1 SWAP9 MSTORE PUSH1 0x80 DUP10 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0xA0 DUP9 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0xC0 DUP8 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0xE0 DUP7 ADD MSTORE PUSH2 0x100 DUP6 ADD SWAP4 SWAP1 SWAP4 MSTORE SWAP3 SWAP2 DUP3 SWAP1 PUSH2 0x120 DUP3 ADD SWAP1 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP3 DUP4 MSTORE PUSH20 0xB10F0BF29439A89A18F9969326C5D212C7E09611 SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH2 0x15E2 DUP2 PUSH1 0x60 DUP2 ADD PUSH2 0x225 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x128B PUSH1 0xFF SWAP2 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x20 DUP2 MSTORE PUSH2 0x233 PUSH1 0x40 DUP3 PUSH2 0x453 JUMP JUMPDEST PUSH2 0x1616 PUSH2 0x1B7B JUMP JUMPDEST SWAP1 PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SWAP1 PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 ADD SWAP3 PUSH32 0x8B73C3C69BB8FE3D512ECC4CF759CC79239F7B179B0FFACAA9A75D522B39400F DUP5 MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE CHAINID PUSH1 0x80 DUP3 ADD MSTORE ADDRESS PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xA0 DUP2 MSTORE PUSH2 0x15E2 PUSH1 0xC0 DUP3 PUSH2 0x453 JUMP JUMPDEST PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR PUSH4 0xBC197C81 DUP2 EQ PUSH4 0xF23A6E61 DUP3 EQ OR PUSH4 0x150B7A02 DUP3 EQ OR PUSH2 0x16A6 JUMPI PUSH4 0x3C10B94E PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x1C REVERT JUMPDEST PUSH1 0x20 MSTORE PUSH1 0x20 PUSH1 0x3C RETURN JUMPDEST PUSH2 0x16B8 CALLER PUSH2 0x15E8 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x16D3 JUMPI JUMPDEST PUSH2 0x488 JUMPI PUSH3 0x82B429 PUSH1 0xE8 SHL PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x0 REVERT JUMPDEST POP ADDRESS CALLER EQ PUSH2 0x16BF JUMP JUMPDEST DUP2 DUP2 LT PUSH2 0x16E7 JUMPI POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x16DC JUMP JUMPDEST SWAP2 SWAP1 PUSH1 0x1F DUP2 GT PUSH2 0x1702 JUMPI POP POP POP JUMP JUMPDEST PUSH2 0x488 SWAP3 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x20 PUSH1 0x1F DUP5 ADD PUSH1 0x5 SHR DUP4 ADD SWAP4 LT PUSH2 0x172E JUMPI JUMPDEST PUSH1 0x1F ADD PUSH1 0x5 SHR ADD SWAP1 PUSH2 0x16DC JUMP JUMPDEST SWAP1 SWAP2 POP DUP2 SWAP1 PUSH2 0x1721 JUMP JUMPDEST PUSH2 0x1741 DUP2 PUSH2 0x1280 JUMP JUMPDEST PUSH2 0x18AF JUMPI PUSH2 0x174E DUP2 PUSH2 0xED9 JUMP JUMPDEST PUSH1 0x1 PUSH1 0xFF NOT DUP3 SLOAD AND OR SWAP1 SSTORE DUP2 PUSH1 0x0 MSTORE PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F502 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x474 JUMPI PUSH2 0x17AA DUP2 PUSH2 0x17A4 DUP5 SLOAD PUSH2 0x136D JUMP JUMPDEST DUP5 PUSH2 0x16F3 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x1F DUP3 GT PUSH1 0x1 EQ PUSH2 0x181E JUMPI SWAP2 PUSH2 0x17FF DUP3 PUSH32 0x38109EDC26E166B5579352CE56A50813177EB25208FD90D61F2F378386220220 SWAP6 SWAP4 PUSH2 0x180E SWAP6 PUSH1 0x0 SWAP2 PUSH2 0x1813 JUMPI JUMPDEST POP DUP2 PUSH1 0x1 SHL SWAP2 PUSH1 0x0 NOT SWAP1 PUSH1 0x3 SHL SHR NOT AND OR SWAP1 JUMP JUMPDEST SWAP1 SSTORE JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 SWAP2 DUP3 PUSH2 0xA62 JUMP JUMPDEST SUB SWAP1 LOG2 JUMP JUMPDEST SWAP1 POP DUP5 ADD MLOAD CODESIZE PUSH2 0x17EB JUMP JUMPDEST PUSH1 0x1F NOT DUP3 AND SWAP1 PUSH2 0x1833 DUP5 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP2 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH2 0x1897 JUMPI POP SWAP3 PUSH2 0x180E SWAP5 SWAP3 PUSH1 0x1 SWAP3 DUP3 PUSH32 0x38109EDC26E166B5579352CE56A50813177EB25208FD90D61F2F378386220220 SWAP9 SWAP7 LT PUSH2 0x187E JUMPI JUMPDEST POP POP DUP2 SHL ADD SWAP1 SSTORE PUSH2 0x1802 JUMP JUMPDEST DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 PUSH2 0x1872 JUMP JUMPDEST SWAP2 SWAP3 PUSH1 0x20 PUSH1 0x1 DUP2 SWAP3 DUP7 DUP11 ADD MLOAD DUP2 SSTORE ADD SWAP5 ADD SWAP3 ADD PUSH2 0x1837 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x468B12AD PUSH1 0xE1 SHL DUP2 MSTORE SWAP1 DUP2 SWAP1 PUSH2 0x990 SWAP1 PUSH1 0x4 DUP4 ADD PUSH2 0xA62 JUMP JUMPDEST PUSH1 0x20 DUP2 DUP4 SUB SLT PUSH2 0x244 JUMPI DUP1 CALLDATALOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH2 0x244 JUMPI ADD PUSH1 0x40 DUP2 DUP4 SUB SLT PUSH2 0x244 JUMPI PUSH1 0x40 MLOAD SWAP2 PUSH1 0x40 DUP4 ADD DUP4 DUP2 LT PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT OR PUSH2 0x474 JUMPI PUSH1 0x40 MSTORE DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI DUP2 PUSH2 0x192B SWAP2 DUP5 ADD PUSH2 0x4DC JUMP JUMPDEST DUP4 MSTORE PUSH1 0x20 DUP3 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH2 0x194A SWAP3 ADD PUSH2 0x4DC JUMP JUMPDEST PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD MLOAD SWAP1 PUSH1 0x20 DUP2 LT PUSH2 0x1966 JUMPI POP SWAP1 JUMP JUMPDEST PUSH1 0x0 NOT SWAP1 PUSH1 0x20 SUB PUSH1 0x3 SHL SHL AND SWAP1 JUMP JUMPDEST SWAP2 SWAP1 DUP3 PUSH1 0x40 SWAP2 SUB SLT PUSH2 0x244 JUMPI PUSH1 0x20 DUP3 MLOAD SWAP3 ADD MLOAD SWAP1 JUMP JUMPDEST DUP2 PUSH1 0x1F DUP3 ADD SLT ISZERO PUSH2 0x244 JUMPI PUSH1 0x20 DUP2 MLOAD SWAP2 ADD SWAP1 PUSH2 0x19A6 DUP2 PUSH2 0x48A JUMP JUMPDEST SWAP3 PUSH2 0x19B4 PUSH1 0x40 MLOAD SWAP5 DUP6 PUSH2 0x453 JUMP JUMPDEST DUP2 DUP5 MSTORE DUP2 DUP4 ADD GT PUSH2 0x244 JUMPI PUSH2 0x4F7 SWAP2 PUSH1 0x20 DUP5 ADD SWAP1 PUSH2 0xA1A JUMP JUMPDEST PUSH1 0x20 DUP2 DUP4 SUB SLT PUSH2 0x244 JUMPI DUP1 MLOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH2 0x244 JUMPI ADD SWAP1 PUSH1 0xC0 DUP3 DUP3 SUB SLT PUSH2 0x244 JUMPI PUSH2 0x19FC PUSH2 0x479 JUMP JUMPDEST SWAP2 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI DUP3 PUSH2 0x1A19 SWAP2 DUP4 ADD PUSH2 0x198B JUMP JUMPDEST DUP4 MSTORE PUSH1 0x20 DUP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH1 0xA0 SWAP3 PUSH2 0x1A3C SWAP2 DUP4 ADD PUSH2 0x198B JUMP JUMPDEST PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x40 DUP2 ADD MLOAD PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x60 DUP2 ADD MLOAD PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP2 ADD MLOAD PUSH1 0x80 DUP5 ADD MSTORE ADD MLOAD PUSH1 0xA0 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST SWAP3 SWAP2 SWAP1 PUSH2 0x1A78 SWAP2 DUP2 ADD SWAP1 PUSH2 0x18CC JUMP JUMPDEST SWAP1 DUP2 MLOAD SWAP2 PUSH2 0x1A88 PUSH2 0xAEC DUP5 PUSH2 0x1280 JUMP JUMPDEST PUSH2 0x1B52 JUMPI PUSH1 0x20 DUP4 MLOAD EQ PUSH2 0x1B09 JUMPI DUP3 MLOAD SWAP4 PUSH1 0x40 DUP6 EQ PUSH2 0x1ABB JUMPI PUSH1 0x40 MLOAD PUSH4 0x27755B91 PUSH1 0xE1 SHL DUP2 MSTORE DUP1 PUSH2 0x990 DUP7 PUSH1 0x4 DUP4 ADD PUSH2 0xA62 JUMP JUMPDEST PUSH2 0x225 PUSH2 0x1B04 PUSH2 0x1AEF PUSH2 0x1ADB DUP8 PUSH1 0x20 DUP1 DUP1 SWAP10 SWAP12 PUSH2 0x4F7 SWAP12 ADD ADD SWAP2 ADD PUSH2 0x1975 JUMP JUMPDEST SWAP7 SWAP1 SWAP6 ADD MLOAD PUSH1 0x20 DUP1 DUP3 MLOAD DUP4 ADD ADD SWAP2 ADD PUSH2 0x19CD JUMP JUMPDEST SWAP3 PUSH1 0x40 MLOAD SWAP3 DUP4 SWAP2 PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 PUSH1 0x20 DUP4 ADD SWAP3 MSTORE JUMP JUMPDEST PUSH2 0x1FEE JUMP JUMPDEST SWAP2 SWAP3 SWAP1 SWAP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH2 0x1B1F DUP6 PUSH2 0x1952 JUMP JUMPDEST GT PUSH2 0x1B37 JUMPI PUSH1 0x20 DUP1 PUSH2 0x4F7 SWAP5 SWAP6 ADD MLOAD SWAP3 ADD MLOAD SWAP2 PUSH2 0x1E61 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xBFF1AC65 PUSH1 0xE0 SHL DUP2 MSTORE DUP1 PUSH2 0x990 DUP7 PUSH1 0x4 DUP4 ADD PUSH2 0xA62 JUMP JUMPDEST POP SWAP2 POP POP PUSH1 0x0 SWAP1 JUMP JUMPDEST SWAP2 PUSH1 0x0 SWAP3 DUP4 SWAP3 PUSH1 0x20 DUP4 MLOAD SWAP4 ADD SWAP2 GAS CALL PUSH2 0x1B72 PUSH2 0x133D JUMP JUMPDEST SWAP1 ISZERO PUSH2 0x657 JUMPI POP JUMP JUMPDEST PUSH1 0x40 SWAP1 DUP2 MLOAD PUSH2 0x1B8A DUP4 DUP3 PUSH2 0x453 JUMP JUMPDEST PUSH1 0x12 DUP2 MSTORE PUSH18 0x11DA585B9BC814DB585C9D0815D85B1B195D PUSH1 0x72 SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP2 PUSH2 0x1BB6 DUP2 MLOAD SWAP2 DUP3 PUSH2 0x453 JUMP JUMPDEST PUSH1 0x1 DUP2 MSTORE PUSH1 0x31 PUSH1 0xF8 SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST SWAP1 DUP1 PUSH1 0x20 SWAP4 SWAP3 DUP2 DUP5 MSTORE DUP5 DUP5 ADD CALLDATACOPY PUSH1 0x0 DUP3 DUP3 ADD DUP5 ADD MSTORE PUSH1 0x1F ADD PUSH1 0x1F NOT AND ADD ADD SWAP1 JUMP JUMPDEST SWAP3 SWAP2 PUSH2 0x4F7 SWAP5 SWAP3 PUSH2 0x1C06 SWAP3 DUP6 MSTORE PUSH1 0x60 PUSH1 0x20 DUP7 ADD MSTORE PUSH1 0x60 DUP6 ADD SWAP2 PUSH2 0x1BC7 JUMP JUMPDEST SWAP2 PUSH1 0x40 DUP2 DUP5 SUB SWAP2 ADD MSTORE PUSH2 0xA3D JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP3 PUSH1 0x40 MLOAD SWAP4 DUP5 SWAP3 DUP4 CALLDATACOPY DUP2 ADD PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F503 DUP2 MSTORE SUB ADD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x2 DUP2 SWAP1 SHL SWAP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xFE SHL SUB DUP2 AND SUB PUSH2 0xF5C JUMPI JUMP JUMPDEST PUSH2 0x1C6E DUP2 SLOAD PUSH2 0x136D JUMP JUMPDEST SWAP1 DUP2 PUSH2 0x1C78 JUMPI POP POP JUMP JUMPDEST DUP2 PUSH1 0x1F PUSH1 0x0 SWAP4 GT PUSH1 0x1 EQ PUSH2 0x1C8A JUMPI POP SSTORE JUMP JUMPDEST DUP2 DUP4 MSTORE PUSH1 0x20 DUP4 KECCAK256 PUSH2 0x1CA6 SWAP2 PUSH1 0x1F ADD PUSH1 0x5 SHR DUP2 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x16DC JUMP JUMPDEST DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 KECCAK256 SWAP1 DUP2 SLOAD DUP4 PUSH1 0x1 SHL SWAP1 DUP5 NOT DUP6 PUSH1 0x3 SHL SHR NOT AND OR SWAP1 SSTORE SSTORE JUMP JUMPDEST SWAP2 PUSH1 0x20 PUSH2 0x4F7 SWAP4 DUP2 DUP2 MSTORE ADD SWAP2 PUSH2 0x1BC7 JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x1CE0 DUP4 PUSH2 0x13A7 JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x1DD6 JUMPI DUP1 MLOAD PUSH1 0x20 DUP3 ADD KECCAK256 PUSH2 0x1CF9 CALLDATASIZE DUP6 DUP6 PUSH2 0x4A5 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SUB PUSH2 0x1DB7 JUMPI POP SWAP1 DUP2 PUSH2 0x1D40 PUSH2 0x1D36 DUP4 PUSH32 0xCF95BBFE6F870F8CC40482DC3DCCDAFD268F0E9CE0A4F24EA1BEA9BE64E505FF SWAP6 PUSH2 0x1C14 JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x1D7B PUSH2 0x1D76 DUP6 PUSH1 0x0 MSTORE PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F502 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x1C64 JUMP JUMPDEST PUSH2 0x1DA8 PUSH2 0x1D96 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2F57 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH2 0xF8D JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2F57 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SSTORE JUMP JUMPDEST PUSH2 0x180E PUSH1 0x40 MLOAD SWAP3 DUP4 SWAP3 DUP4 PUSH2 0x1CC4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x781F2E39 PUSH1 0xE0 SHL DUP2 MSTORE SWAP4 DUP5 SWAP4 PUSH2 0x990 SWAP4 SWAP1 SWAP2 PUSH1 0x4 DUP7 ADD PUSH2 0x1BE8 JUMP JUMPDEST PUSH4 0x340C473D PUSH1 0xE1 SHL PUSH1 0x0 MSTORE PUSH1 0x4 DUP5 SWAP1 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1DF4 PUSH2 0x160E JUMP JUMPDEST SWAP1 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 ADD SWAP2 PUSH32 0x37F248F492286AB572E2A1EE0BD5315F2AAE54A08B5871B294D657F3A1F1D007 DUP4 MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP2 MSTORE PUSH2 0x1E34 PUSH1 0x60 DUP3 PUSH2 0x453 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 ADD SWAP3 PUSH2 0x1901 PUSH1 0xF0 SHL DUP5 MSTORE PUSH1 0x22 DUP4 ADD MSTORE PUSH1 0x42 DUP3 ADD MSTORE PUSH1 0x42 DUP2 MSTORE PUSH2 0x15E2 PUSH1 0x62 DUP3 PUSH2 0x453 JUMP JUMPDEST SWAP1 SWAP2 PUSH1 0x0 SWAP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND ISZERO PUSH2 0x1F4B JUMPI PUSH1 0x40 MLOAD SWAP3 PUSH1 0x4 DUP5 ADD SWAP5 PUSH1 0x24 DUP6 ADD SWAP6 PUSH1 0x44 DUP7 ADD SWAP3 DUP6 EXTCODESIZE ISZERO PUSH2 0x1ECB JUMPI POP SWAP2 DUP7 SWAP4 SWAP2 PUSH1 0x20 SWAP6 SWAP4 PUSH4 0xB135D3F PUSH1 0xE1 SHL DUP9 MSTORE MSTORE PUSH1 0x40 DUP5 MSTORE DUP2 MLOAD DUP6 ADD DUP1 SWAP3 PUSH1 0x4 GAS STATICCALL SWAP4 PUSH1 0x44 RETURNDATASIZE ADD SWAP2 GAS STATICCALL SWAP2 MLOAD PUSH4 0xB135D3F PUSH1 0xE1 SHL EQ SWAP2 AND AND SWAP1 JUMP JUMPDEST SWAP8 SWAP7 POP POP SWAP1 POP DUP2 MLOAD DUP1 PUSH1 0x40 EQ PUSH2 0x1F26 JUMPI PUSH1 0x41 EQ PUSH2 0x1EE8 JUMPI POP POP POP POP JUMP JUMPDEST PUSH1 0x20 SWAP3 SWAP4 SWAP6 POP PUSH1 0x60 DUP3 ADD MLOAD PUSH1 0x0 BYTE DUP4 MSTORE PUSH1 0x40 DUP3 ADD MLOAD PUSH1 0x60 MSTORE JUMPDEST PUSH1 0x0 MSTORE ADD MLOAD PUSH1 0x40 MSTORE PUSH1 0x20 PUSH1 0x1 PUSH1 0x80 PUSH1 0x0 DUP3 GAS STATICCALL MLOAD XOR PUSH1 0x60 SHL RETURNDATASIZE GT SWAP2 PUSH1 0x0 PUSH1 0x60 MSTORE PUSH1 0x40 MSTORE JUMP JUMPDEST POP PUSH1 0x20 SWAP3 SWAP4 SWAP6 POP PUSH1 0x40 DUP3 ADD MLOAD PUSH1 0x1B DUP2 PUSH1 0xFF SHR ADD DUP5 MSTORE PUSH1 0x1 DUP1 PUSH1 0xFF SHL SUB AND PUSH1 0x60 MSTORE PUSH2 0x1F01 JUMP JUMPDEST POP POP POP POP PUSH1 0x0 SWAP1 JUMP JUMPDEST SWAP1 PUSH2 0x488 PUSH1 0x1 PUSH1 0x2D PUSH1 0x40 MLOAD DUP1 SWAP6 PUSH13 0x1131B430B63632B733B2911D11 PUSH1 0x99 SHL PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1F8A DUP2 MLOAD DUP1 SWAP3 PUSH1 0x20 DUP7 DUP7 ADD SWAP2 ADD PUSH2 0xA1A JUMP JUMPDEST DUP2 ADD PUSH1 0x11 PUSH1 0xF9 SHL DUP4 DUP3 ADD MSTORE SUB ADD PUSH1 0x1E NOT DUP2 ADD DUP6 MSTORE ADD DUP4 PUSH2 0x453 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x20 LT ISZERO PUSH2 0x1124 JUMPI PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x20 SWAP3 SWAP2 SWAP1 PUSH2 0x1FD7 DUP5 SWAP3 DUP3 DUP2 MLOAD SWAP5 DUP6 SWAP3 ADD PUSH2 0xA1A JUMP JUMPDEST ADD SWAP1 DUP2 MSTORE ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 PUSH1 0x20 SWAP2 SUB SLT PUSH2 0x244 JUMPI MLOAD SWAP1 JUMP JUMPDEST SWAP3 SWAP2 SWAP1 PUSH1 0x0 SWAP4 PUSH1 0xA0 DUP3 ADD SWAP5 DUP6 MLOAD PUSH32 0x7FFFFFFF800000007FFFFFFFFFFFFFFFDE737D56D38BCF4279DCE5617E3192A8 LT PUSH2 0x21CB JUMPI PUSH1 0x20 DUP4 ADD SWAP2 PUSH32 0xFF1A2A9176D650E4A99DEDB58F1793003935130579FE17B5A3F698AC5B00E634 PUSH2 0x2060 DUP5 MLOAD PUSH1 0x60 DUP8 ADD MLOAD PUSH2 0x205A DUP2 PUSH2 0x12CB JUMP JUMPDEST SWAP2 PUSH2 0x2358 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SUB PUSH2 0x21D4 JUMPI PUSH2 0x2078 PUSH2 0x207D SWAP2 PUSH2 0x21DE JUMP JUMPDEST PUSH2 0x1F54 JUMP JUMPDEST PUSH2 0x2092 DUP4 MLOAD PUSH1 0x40 DUP7 ADD MLOAD PUSH2 0x205A DUP5 MLOAD DUP3 PUSH2 0x12E7 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SWAP1 PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SUB PUSH2 0x21CB JUMPI PUSH1 0x1 PUSH1 0xF8 SHL PUSH1 0x1 PUSH1 0xF8 SHL PUSH2 0x20CB PUSH2 0x20BD DUP7 MLOAD PUSH2 0x1FA5 JUMP JUMPDEST MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 JUMP JUMPDEST AND SUB PUSH2 0x21CB JUMPI PUSH2 0x20E8 PUSH1 0x20 SWAP3 PUSH1 0x0 SWAP3 POP MLOAD PUSH1 0x40 MLOAD SWAP2 DUP3 DUP1 SWAP3 PUSH2 0xEC2 JUMP JUMPDEST SUB SWAP1 PUSH1 0x2 GAS STATICCALL ISZERO PUSH2 0x21C6 JUMPI PUSH1 0x20 PUSH1 0x0 PUSH2 0x211E DUP2 MLOAD PUSH2 0x2112 DUP6 MLOAD PUSH2 0x225 PUSH1 0x40 MLOAD SWAP4 DUP5 SWAP3 DUP9 DUP5 ADD PUSH2 0x1FC1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 DUP1 SWAP3 PUSH2 0xEC2 JUMP JUMPDEST SUB SWAP1 PUSH1 0x2 GAS STATICCALL ISZERO PUSH2 0x21C6 JUMPI PUSH1 0x80 PUSH1 0x0 MLOAD SWAP2 ADD SWAP4 PUSH1 0x0 DUP1 DUP7 MLOAD DUP6 PUSH2 0x2171 DUP6 MLOAD PUSH2 0x225 DUP11 PUSH1 0x40 MLOAD SWAP5 DUP6 SWAP4 PUSH1 0x20 DUP6 ADD SWAP8 DUP13 DUP10 SWAP2 SWAP3 PUSH1 0x80 SWAP4 SWAP7 SWAP6 SWAP5 SWAP2 SWAP7 PUSH1 0xA0 DUP5 ADD SWAP8 DUP5 MSTORE PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE ADD MSTORE JUMP JUMPDEST MLOAD SWAP1 PUSH2 0x100 GAS STATICCALL SWAP5 PUSH2 0x2181 PUSH2 0x133D JUMP JUMPDEST DUP1 MLOAD SWAP7 DUP1 PUSH2 0x21BD JUMPI JUMPDEST PUSH2 0x219D JUMPI POP PUSH2 0x4F7 SWAP6 POP MLOAD SWAP1 MLOAD SWAP2 PUSH2 0x2245 JUMP JUMPDEST PUSH1 0x1 SWAP7 PUSH2 0x21B9 SWAP7 POP DUP2 ADD PUSH1 0x20 SWAP1 DUP2 ADD SWAP6 POP ADD SWAP3 POP PUSH2 0x1FDF SWAP2 POP POP JUMP JUMPDEST EQ SWAP1 JUMP JUMPDEST POP DUP7 ISZERO ISZERO PUSH2 0x218A JUMP JUMPDEST PUSH2 0x1FB5 JUMP JUMPDEST SWAP5 POP POP POP POP POP SWAP1 JUMP JUMPDEST POP SWAP5 POP POP POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x4F7 SWAP2 PUSH2 0x21F0 PUSH1 0x60 DUP4 PUSH2 0x453 JUMP JUMPDEST PUSH1 0x40 DUP3 MSTORE PUSH32 0x4142434445464748494A4B4C4D4E4F505152535455565758595A616263646566 PUSH1 0x20 DUP4 ADD MSTORE PUSH32 0x6768696A6B6C6D6E6F707172737475767778797A303132333435363738392D5F PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x2404 JUMP JUMPDEST SWAP4 SWAP2 SWAP1 SWAP3 SWAP4 DUP4 ISZERO DUP1 ISZERO PUSH2 0x2335 JUMPI JUMPDEST DUP1 ISZERO PUSH2 0x232D JUMPI JUMPDEST DUP1 ISZERO PUSH2 0x2315 JUMPI JUMPDEST PUSH2 0x230B JUMPI PUSH2 0x226F DUP4 DUP7 PUSH2 0x24AC JUMP JUMPDEST ISZERO PUSH2 0x230B JUMPI PUSH1 0x40 MLOAD SWAP2 PUSH1 0x20 DUP4 MSTORE PUSH1 0x20 DUP1 DUP5 ADD MSTORE PUSH1 0x20 PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x60 DUP4 ADD MSTORE PUSH32 0xFFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC63254F PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2F17 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0xA0 DUP4 ADD MSTORE PUSH1 0x20 DUP3 PUSH1 0xC0 DUP2 PUSH1 0x5 PUSH1 0x0 NOT STATICCALL ISZERO PUSH2 0x244 JUMPI PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2F17 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP5 PUSH2 0x2305 SWAP4 DUP7 PUSH2 0x22FF SWAP5 MLOAD DUP2 DUP2 DUP10 MULMOD SWAP5 MULMOD SWAP2 PUSH2 0x2587 JUMP JUMPDEST SWAP2 PUSH2 0xF34 JUMP JUMPDEST SWAP1 ADDMOD ISZERO SWAP1 JUMP JUMPDEST POP POP POP POP POP PUSH1 0x0 SWAP1 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2F17 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP3 LT ISZERO PUSH2 0x2261 JUMP JUMPDEST POP DUP2 ISZERO PUSH2 0x225A JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2F17 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP5 LT ISZERO PUSH2 0x2253 JUMP JUMPDEST DUP2 PUSH1 0x40 MLOAD SWAP2 DUP3 CALLDATACOPY KECCAK256 SWAP1 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x60 SWAP5 SWAP4 SWAP3 SWAP1 DUP4 DUP2 GT ISZERO PUSH2 0x23CA JUMPI JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x23C2 JUMPI JUMPDEST POP DUP3 DUP2 LT PUSH2 0x237F JUMPI POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP5 POP SWAP2 DUP3 SWAP1 SUB SWAP2 ADD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND JUMPDEST DUP2 DUP2 ADD MLOAD DUP6 DUP3 ADD MSTORE PUSH1 0x1F NOT ADD SWAP1 DUP2 ISZERO PUSH2 0x23AC JUMPI SWAP1 PUSH2 0x2393 JUMP JUMPDEST POP POP PUSH1 0x40 DUP2 DUP5 ADD PUSH1 0x0 PUSH1 0x20 DUP3 ADD MSTORE ADD PUSH1 0x40 MSTORE DUP3 MSTORE JUMP JUMPDEST SWAP1 POP CODESIZE PUSH2 0x2372 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x2369 JUMP JUMPDEST SWAP1 PUSH2 0x23DC DUP3 PUSH2 0x48A JUMP JUMPDEST PUSH2 0x23E9 PUSH1 0x40 MLOAD SWAP2 DUP3 PUSH2 0x453 JUMP JUMPDEST DUP3 DUP2 MSTORE DUP1 SWAP3 PUSH2 0x23FA PUSH1 0x1F NOT SWAP2 PUSH2 0x48A JUMP JUMPDEST ADD SWAP1 PUSH1 0x20 CALLDATASIZE SWAP2 ADD CALLDATACOPY JUMP JUMPDEST SWAP1 DUP2 MLOAD ISZERO PUSH2 0x24A2 JUMPI SWAP1 PUSH2 0x2431 PUSH2 0x242C PUSH2 0x2425 PUSH2 0x2420 DUP5 MLOAD PUSH2 0x1C4C JUMP JUMPDEST PUSH2 0x12D9 JUMP JUMPDEST PUSH1 0x3 SWAP1 DIV SWAP1 JUMP JUMPDEST PUSH2 0x23D2 JUMP JUMPDEST SWAP2 PUSH1 0x20 DUP4 ADD SWAP1 DUP3 DUP1 MLOAD ADD SWAP1 PUSH1 0x20 DUP3 ADD SWAP3 DUP4 MLOAD SWAP5 PUSH1 0x0 DUP6 MSTORE JUMPDEST DUP4 DUP2 LT PUSH2 0x2458 JUMPI POP POP POP POP MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x4 SWAP2 ADD SWAP2 PUSH1 0x1 PUSH1 0x3F DUP5 MLOAD DUP3 DUP3 DUP3 PUSH1 0x12 SHR AND DUP9 ADD ADD MLOAD DUP5 MSTORE8 DUP3 DUP3 DUP3 PUSH1 0xC SHR AND DUP9 ADD ADD MLOAD DUP4 DUP6 ADD MSTORE8 DUP3 DUP3 DUP3 PUSH1 0x6 SHR AND DUP9 ADD ADD MLOAD PUSH1 0x2 DUP6 ADD MSTORE8 AND DUP6 ADD ADD MLOAD PUSH1 0x3 DUP3 ADD MSTORE8 ADD SWAP1 PUSH2 0x2449 JUMP JUMPDEST POP POP PUSH2 0x4F7 PUSH2 0x1328 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 LT DUP1 ISZERO SWAP1 PUSH2 0x256F JUMPI JUMPDEST DUP1 ISZERO PUSH2 0x255E JUMPI JUMPDEST PUSH2 0x2557 JUMPI PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH32 0x5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B SWAP1 DUP3 SWAP1 DUP2 PUSH32 0xFFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC DUP3 MULMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 DUP2 DUP1 MULMOD MULMOD ADDMOD ADDMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP1 MULMOD EQ SWAP1 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP1 JUMP JUMPDEST POP DUP1 ISZERO DUP1 ISZERO PUSH2 0x24CC JUMPI POP DUP2 ISZERO PUSH2 0x24CC JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP3 LT ISZERO PUSH2 0x24C5 JUMP JUMPDEST SWAP1 SWAP3 PUSH1 0x0 SWAP3 SWAP1 DUP4 PUSH1 0xFF DUP2 DUP5 ISZERO DUP1 PUSH2 0x2B7E JUMPI JUMPDEST PUSH2 0x2B73 JUMPI PUSH2 0x25A7 DUP9 DUP8 PUSH2 0x2B86 JUMP JUMPDEST SWAP3 SWAP1 SWAP2 DUP3 ISZERO DUP1 PUSH2 0x2B6B JUMPI JUMPDEST PUSH2 0x2B30 JUMPI JUMPDEST POP DUP6 DUP2 SHR PUSH1 0x2 DUP7 PUSH1 0xFE SHR AND ADD JUMPDEST ISZERO PUSH2 0x2B17 JUMPI PUSH1 0x1 DUP7 DUP3 SHR AND PUSH1 0x2 DUP7 DUP4 SHR PUSH1 0x1 SHL AND ADD PUSH1 0x1 DUP2 EQ PUSH2 0x2ACC JUMPI JUMPDEST PUSH1 0x2 DUP2 EQ PUSH2 0x2ABF JUMPI JUMPDEST PUSH1 0x3 EQ PUSH2 0x2AB2 JUMPI JUMPDEST PUSH1 0x1 SWAP9 PUSH1 0x0 NOT SWAP2 SWAP1 SWAP2 ADD SWAP7 SWAP5 SWAP6 SWAP5 DUP10 SWAP5 SWAP4 SWAP3 SWAP2 JUMPDEST DUP9 PUSH1 0x0 NOT GT PUSH2 0x2685 JUMPI POP POP POP POP POP POP POP POP POP PUSH1 0x40 MLOAD SWAP2 PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x20 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD MSTORE PUSH1 0x20 PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH1 0x60 SHL SUB PUSH1 0x60 SHL NOT PUSH1 0xA0 DUP4 ADD MSTORE PUSH1 0x20 DUP3 PUSH1 0xC0 DUP2 PUSH1 0x5 PUSH1 0x0 NOT STATICCALL ISZERO PUSH2 0x244 JUMPI SWAP1 MLOAD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD SWAP1 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 SWAP6 SWAP7 SWAP8 SWAP9 PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH1 0x60 SHL SUB PUSH1 0x60 SHL NOT DUP7 PUSH1 0x2 MULMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP3 DUP1 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 DUP4 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP3 SWAP1 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 SWAP1 DUP16 DUP3 DUP2 DUP4 ADDMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SUB SWAP1 ADDMOD MULMOD PUSH1 0x3 MULMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP4 MULMOD SWAP13 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP3 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP12 DUP1 MULMOD ADDMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SWAP1 DUP2 SUB DUP12 ADDMOD SWAP1 MULMOD SWAP7 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP9 SWAP1 DUP3 SWAP1 DUP5 MULMOD ADDMOD SWAP7 DUP12 PUSH1 0x2 DUP13 PUSH1 0x1 DUP14 DUP5 SHR AND SWAP3 SHR PUSH1 0x1 SHL AND ADD DUP1 ISZERO PUSH2 0x2A95 JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x2A4A JUMPI JUMPDEST PUSH1 0x2 DUP2 EQ PUSH2 0x2A3F JUMPI JUMPDEST PUSH1 0x3 EQ PUSH2 0x2A36 JUMPI JUMPDEST DUP3 ISZERO PUSH2 0x2A23 JUMPI PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP9 SWAP1 DUP3 SWAP1 DUP16 SWAP1 MULMOD ADDMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP10 DUP3 SUB SWAP1 DUP3 SWAP1 DUP6 SWAP1 MULMOD ADDMOD SWAP8 DUP2 ISZERO PUSH2 0x28E9 JUMPI JUMPDEST PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP10 DUP1 MULMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP11 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP11 SWAP1 MULMOD SWAP13 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP5 SWAP1 MULMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP3 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP6 DUP2 SUB DUP2 DUP7 DUP1 MULMOD ADDMOD ADDMOD SWAP8 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP4 DUP5 SWAP2 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SWAP1 DUP11 DUP3 SUB SWAP1 ADDMOD MULMOD ADDMOD SWAP5 SWAP9 JUMPDEST PUSH1 0x0 NOT ADD SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2607 JUMP JUMPDEST DUP9 PUSH2 0x280C JUMPI SWAP11 SWAP2 SWAP8 POP SWAP1 SWAP6 SWAP1 POP PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD SWAP11 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP13 DUP1 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 DUP14 MULMOD SWAP13 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP3 SWAP1 MULMOD SWAP12 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 DUP12 DUP2 SUB DUP3 ADDMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP13 SWAP1 ADDMOD MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH1 0x3 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP14 MULMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD SWAP12 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP3 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP5 DUP1 MULMOD ADDMOD SWAP12 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP4 DUP5 SWAP2 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SWAP1 DUP15 DUP3 SUB SWAP1 ADDMOD SWAP1 MULMOD ADDMOD SWAP5 PUSH2 0x28D8 JUMP JUMPDEST PUSH1 0x1 SWAP13 POP SWAP1 SWAP11 DUP13 SWAP9 POP SWAP1 SWAP7 POP SWAP1 POP PUSH2 0x28D8 JUMP JUMPDEST POP POP DUP4 DUP6 PUSH2 0x27CB JUMP JUMPDEST DUP6 SWAP3 POP DUP5 SWAP2 POP PUSH2 0x27C3 JUMP JUMPDEST PUSH32 0x6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296 SWAP3 POP PUSH32 0x4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5 SWAP2 POP PUSH2 0x27BA JUMP JUMPDEST POP POP POP SWAP10 SWAP6 SWAP9 SWAP5 PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH1 0x60 SHL SUB PUSH1 0x60 SHL NOT SUB SWAP5 PUSH2 0x28D8 JUMP JUMPDEST SWAP3 POP DUP1 SWAP7 POP SWAP6 DUP2 SWAP3 PUSH2 0x25F3 JUMP JUMPDEST SWAP7 SWAP8 POP DUP8 SWAP7 DUP10 SWAP5 POP PUSH2 0x25EB JUMP JUMPDEST PUSH32 0x6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296 SWAP9 POP PUSH32 0x4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5 SWAP5 POP PUSH2 0x25E2 JUMP JUMPDEST PUSH1 0x0 NOT ADD PUSH1 0x1 DUP7 DUP3 SHR AND PUSH1 0x2 DUP7 DUP4 SHR PUSH1 0x1 SHL AND ADD PUSH2 0x25C4 JUMP JUMPDEST SWAP5 SWAP6 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2F17 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP2 SWAP7 DUP3 SUB SWAP1 ADDMOD SWAP5 DUP5 DUP7 ISZERO DUP1 PUSH2 0x2B63 JUMPI JUMPDEST ISZERO PUSH2 0x25B7 JUMPI SWAP9 POP POP POP POP POP POP POP POP POP SWAP1 JUMP JUMPDEST POP PUSH1 0x1 PUSH2 0x2B51 JUMP JUMPDEST POP DUP4 ISZERO PUSH2 0x25B2 JUMP JUMPDEST SWAP7 POP POP POP POP POP POP POP SWAP1 JUMP JUMPDEST POP DUP4 ISZERO PUSH2 0x2599 JUMP JUMPDEST SWAP2 SWAP1 PUSH32 0x6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296 PUSH32 0x4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5 SWAP2 DUP1 ISZERO PUSH2 0x2D3A JUMPI DUP5 PUSH2 0xC66 SWAP5 SWAP6 DUP4 EQ DUP1 PUSH2 0x2D31 JUMPI JUMPDEST ISZERO PUSH2 0x2D1C JUMPI POP PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 POP DUP3 PUSH1 0x2 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 DUP1 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP5 DUP5 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP6 SWAP1 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 SWAP1 DUP2 PUSH1 0x1 DUP3 ADDMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH32 0xFFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFE SWAP1 ADDMOD MULMOD PUSH1 0x3 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP5 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP4 DUP1 MULMOD ADDMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT PUSH1 0x1 DUP7 MULMOD SWAP6 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH1 0x1 SWAP1 MULMOD SWAP5 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP4 DUP5 SWAP2 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 SUB SWAP3 SWAP1 SWAP2 DUP3 SWAP1 DUP7 DUP3 SUB SWAP1 ADDMOD SWAP1 MULMOD ADDMOD SWAP1 PUSH2 0x2E5C JUMP JUMPDEST SWAP1 SWAP2 SWAP3 PUSH2 0x2D28 SWAP4 PUSH2 0x2D40 JUMP JUMPDEST SWAP3 SWAP1 SWAP2 SWAP1 PUSH2 0x2E5C JUMP JUMPDEST POP DUP2 DUP5 EQ PUSH2 0x2BDF JUMP JUMPDEST POP SWAP3 POP SWAP1 JUMP JUMPDEST SWAP2 SWAP4 SWAP1 DUP1 ISZERO PUSH2 0x2E53 JUMPI PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 SUB SWAP4 DUP5 SWAP1 DUP3 SWAP1 PUSH1 0x1 SWAP1 MULMOD ADDMOD SWAP4 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP4 DUP3 SUB SWAP1 DUP3 SWAP1 PUSH1 0x1 SWAP1 MULMOD ADDMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP5 DUP1 MULMOD SWAP4 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP6 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP6 SWAP1 MULMOD SWAP5 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP8 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP7 DUP2 SUB DUP2 DUP6 DUP1 MULMOD ADDMOD ADDMOD SWAP6 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP3 DUP4 SWAP1 DUP7 SWAP1 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SWAP1 DUP10 DUP3 SUB SWAP1 ADDMOD MULMOD ADDMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH1 0x1 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH1 0x1 MULMOD SWAP1 JUMP JUMPDEST POP PUSH1 0x1 SWAP2 POP DUP2 SWAP1 JUMP JUMPDEST SWAP2 SWAP1 SWAP3 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD MSTORE PUSH1 0x20 PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH1 0x60 SHL SUB PUSH1 0x60 SHL NOT PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0x20 DUP2 PUSH1 0xC0 DUP2 PUSH1 0x5 PUSH1 0x0 NOT STATICCALL ISZERO PUSH2 0x244 JUMPI MLOAD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP5 SWAP1 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 SWAP1 DUP3 SWAP1 DUP1 MULMOD SWAP1 MULMOD SWAP2 JUMP INVALID MOD 0x27 0xF7 0x2A CREATE 0xE6 DELEGATECALL SLT NOT JUMPDEST 0xD DUP11 0xCB 0xE4 CODESIZE 0xB2 DUP1 SWAP1 0xDD SLOAD JUMPDEST PUSH30 0x2331FCCF77723561F500FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAAD 0xA7 OR SWAP15 DUP5 RETURN 0xB9 0xCA 0xC2 0xFC PUSH4 0x25513608 SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBC0627F72AF0E6F412195B0D DUP11 0xCB 0xE4 CODESIZE 0xB2 DUP1 SWAP1 0xDD SLOAD JUMPDEST PUSH30 0x2331FCCF77723561F501A264697066735822122026165C0497221DC0D0A6 INVALID CHAINID AND EXTCODESIZE SHL STATICCALL 0x2E PUSH31 0x78EBC4B8A9A8F3C3ED3C6CBE43EC64736F6C634300081C0033000000000000 ", + "sourceMap": "1195:14720:30:-:0;;;;;;;;;-1:-1:-1;1195:14720:30;1266:232:20;1195:14720:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1195:14720:30;;;;;;;;;6785:16:32;1195:14720:30;;;6785:16:32;1195:14720:30;;6785:16:32;;;;;;1195:14720:30;;;;;;;;;;;;;;;6785:16:32;;;;;;;;;;:::i;:::-;1195:14720:30;:::i;:::-;;;;;;;;;;;;-1:-1:-1;1195:14720:30;;;;;;;;-1:-1:-1;;1195:14720:30;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;1195:14720:30;;;;;:::o;:::-;;;;;;-1:-1:-1;;1195:14720:30;;;;4296:42:32;1195:14720:30;;;;;:::i;:::-;4008:70:32;;:::i;:::-;1195:14720:30;;;;;;;;;;4277:17:32;;1195:14720:30;;4277:17:32;;;1195:14720:30;4277:17:32;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1195:14720:30;4296:42:32;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1195:14720:30;4296:42:32;:::i;:::-;1195:14720:30;;;;;;;;;;;;;;-1:-1:-1;;;;;1195:14720:30;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1195:14720:30;;;;;;;;-1:-1:-1;;;;;1195:14720:30;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;-1:-1:-1;;;;;;1195:14720:30;;;;;;;;;;;;-1:-1:-1;;1195:14720:30;;;;;;;437:10:27;1195:14720:30;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1195:14720:30;;;;;;-1:-1:-1;;;;;1195:14720:30;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;3825:10:30;:26;3821:78;;7285:1698;;;1195:14720;7285:1698;;:::i;:::-;4845:275;;;1195:14720;-1:-1:-1;1195:14720:30;;;;;;;;;;;;;;;;;4845:275;-1:-1:-1;4845:275:30;;;;3825:10;;4845:275;;;;;;3821:78;3874:14;;;-1:-1:-1;3874:14:30;1195:14720;-1:-1:-1;3874:14:30;1195:14720;;;;;;;;;;;;;;;6785:16:32;;1195:14720:30;;;;;;;;-1:-1:-1;;;;;1195:14720:30;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;:::i;:::-;:::o;:::-;-1:-1:-1;;;;;1195:14720:30;;;;;;-1:-1:-1;;1195:14720:30;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;1195:14720:30;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;-1:-1:-1;;1195:14720:30;;;;;;-1:-1:-1;;;;;1195:14720:30;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1195:14720:30;;;;4630:42:32;1195:14720:30;;4612:16:32;1195:14720:30;;4008:70:32;;:::i;:::-;1195:14720:30;;;;4612:16:32;;1195:14720:30;;;;;;;;;;;;;;4612:16:32;1195:14720:30;;;;-1:-1:-1;;1195:14720:30;;;;;;;-1:-1:-1;;;;;1195:14720:30;;;;;;-1:-1:-1;1195:14720:30;;;;;;;;;;;;-1:-1:-1;;;;;1195:14720:30;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;3825:10;11195:42;3825:10;:26;3821:78;;-1:-1:-1;9796:3:30;9778:16;;;;;;-1:-1:-1;1195:14720:30;;;;;;;;:::i;:::-;9877:12;;;;:::i;:::-;9908:34;;;:::i;:::-;9907:35;9903:109;;1195:14720;;;;;;;;:::i;:::-;13525:31;;;;;10040:4;;13525:31;;;;:::i;:::-;13570:8;;13566:133;;9796:3;1195:14720;;9767:9;;13566:133;13525:31;13594:95;;;;;9903:109;-1:-1:-1;;;9969:28:30;;-1:-1:-1;;;;;;1195:14720:30;;;;9969:28;;1195:14720;;;;:::i;:::-;4078:10;11195:42;4078:10;:26;4074:70;;1195:14720;-1:-1:-1;10886:16:30;;;;;;1195:14720;10904:3;10929:8;10923:53;10929:8;1195:14720;10929:8;;;;:::i;:::-;1195:14720;;;;:::i;:::-;10946:14;:8;;;;;:::i;:::-;:14;1195:14720;;10962:13;:8;;;;;:::i;:::-;:13;;;;;:::i;:::-;1195:14720;;;:::i;:::-;10923:53;;:::i;:::-;1195:14720;10875:9;;4074:70;;;:::i;:::-;;;1195:14720;;;;;;-1:-1:-1;;1195:14720:30;;;;;-1:-1:-1;;;;;;;;;;;1195:14720:30;;;;;;;;;;-1:-1:-1;;1195:14720:30;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1195:14720:30;;;;;;;;;;;:::i;:::-;3080:19:21;;2661:6;2687:4;2661:32;3076:57;;4008:70:32;;:::i;:::-;1195:14720:30;;;;;3828:1370:26;;-1:-1:-1;3828:1370:26;;;;-1:-1:-1;;;;;;;;;;;1195:14720:30;3828:1370:26;1195:14720:30;3828:1370:26;;;;;;;;;;-1:-1:-1;3828:1370:26;;;;-1:-1:-1;;;;;;;;;;;3828:1370:26;;;1195:14720:30;3828:1370:26;;-1:-1:-1;3828:1370:26;1195:14720:30;3828:1370:26;;;;;;;;;;;;1195:14720:30;3828:1370:26;;-1:-1:-1;3828:1370:26;;;;;;;;;1195:14720:30;3828:1370:26;;3076:57:21;4365:120;-1:-1:-1;4365:120:21;1195:14720:30;4365:120:21;;1195:14720:30;;;;;;-1:-1:-1;;1195:14720:30;;;;2687:4:21;2661:6;:32;3340:58;;1195:14720:30;;;-1:-1:-1;;;;;;;;;;;1195:14720:30;;;;;;;;;-1:-1:-1;;1195:14720:30;;;;-1:-1:-1;;;;;;;;;;;12045:73:30;1195:14720;;-1:-1:-1;;;;;1195:14720:30;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1195:14720:30;5870:21;;5866:72;;1195:14720;;;;;:::i;:::-;8939:42:32;-1:-1:-1;9026:3:32;1195:14720:30;;9007:17:32;;;;;9069:2;9049:9;;;;:::i;:::-;;1195:14720:30;9049:22:32;;:48;;;9026:3;9045:128;;9069:2;9191:9;;;;:::i;:::-;;1195:14720:30;9191:22:32;:73;;;9026:3;9187:157;;9375:9;9386:17;9375:9;1195:14720:30;9375:9:32;;;:::i;:::-;;9386:17;;;;:::i;:::-;;;:::i;:::-;1195:14720:30;8996:9:32;;9187:157;9319:9;9291:38;9319:9;;;:::i;:::-;;1195:14720:30;;-1:-1:-1;;;9291:38:32;;1195:14720:30;;;;9291:38:32;;;:::i;:::-;;;;9191:73;-1:-1:-1;;;;;;9225:18:32;9233:9;;;;:::i;:::-;;9225:18;:::i;:::-;9217:47;9191:73;;9045:128;9148:9;9124:34;9148:9;;;:::i;:::-;;1195:14720:30;;-1:-1:-1;;;9124:34:32;;1195:14720:30;;;;9124:34:32;;;:::i;9049:48::-;9075:9;9095:2;9075:9;;;;:::i;:::-;;1195:14720:30;9075:22:32;;9049:48;;9007:17;9424:34;9007:17;-1:-1:-1;;;;;;;;;;;1195:14720:30;;5866:72;5914:13;;;-1:-1:-1;5914:13:30;1195:14720;-1:-1:-1;5914:13:30;1195:14720;;;;;;;;-1:-1:-1;;1195:14720:30;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;1195:14720:30;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1195:14720:30;;;;;;-1:-1:-1;;;;;1195:14720:30;;;;;;;;;;;;;;;;;668:13:27;;;1195:14720:30;668:33:27;;;:::i;:::-;704:15;-1:-1:-1;664:157:27;;939:55;4299:17:29;855:68:27;938:56;855:68;;:::i;:::-;1195:14720:30;;;;;845:79:27;4299:17:29;:::i;:::-;979:14:27;;;;;;:::i;:::-;939:55;;:::i;:::-;938:56;;1195:14720:30;938:56:27;934:112;;-1:-1:-1;1093:11:27;1116:9;1093:11;1116:9;1093:11;;;;:::i;:::-;1116:9;;;;:::i;:::-;1195:14720:30;;668:13:27;1195:14720:30;;;;;;:::i;:::-;1093:33:27;;;;;;:::i;:::-;1140:8;;1136:117;;1195:14720:30;;668:13:27;1195:14720:30;;;;;;:::i;934:112:27:-;1017:18;;;-1:-1:-1;1017:18:27;1195:14720:30;-1:-1:-1;1017:18:27;664:157;759:33;742:68;759:33;;:::i;:::-;-1:-1:-1;;;;742:68:27;1195:14720:30;;704:15:27;1195:14720:30;;;;;742:68:27;-1:-1:-1;742:68:27;1195:14720:30;;;;;;-1:-1:-1;;1195:14720:30;;;;;;2558:23:29;;:::i;:::-;1195:14720:30;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;2601:13:29;1195:14720:30;;;;2652:4:29;1195:14720:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1195:14720:30;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1195:14720:30;;;;;;;2660:4;1195:14720;;;;;;-1:-1:-1;;1195:14720:30;;;;;;;;;;;-1:-1:-1;;;;;1195:14720:30;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;:::i;:::-;4008:70:32;;;:::i;:::-;5200:1;5184:12;;:::i;:::-;:17;5180:66;;5283:5;;;:::i;5180:66::-;5224:11;;;;;1195:14720:30;5224:11:32;;1195:14720:30;;;;;;-1:-1:-1;;1195:14720:30;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1195:14720:30;;;;;;-1:-1:-1;;;;;;1195:14720:30;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;1195:14720:30;;;;;;-1:-1:-1;;;;;1195:14720:30;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1195:14720:30;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1195:14720:30;;;;;;;11195:42;1195:14720;;;;;;-1:-1:-1;;1195:14720:30;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;1195:14720:30;;;;;;10519:26;1195:14720;;;;;;:::i;:::-;11195:42;4078:10;:26;4074:70;;1195:14720;;;:::i;4074:70::-;;;:::i;:::-;;;1195:14720;;;;;;;:::i;:::-;4008:70:32;;;:::i;:::-;5864:12;;:::i;:::-;5890:19;5908:1;5890:19;;5886:86;;6009:5;;;;:::i;5886:86::-;5932:29;;;;;;1195:14720:30;;;5932:29:32;;1195:14720:30;;;;;;-1:-1:-1;;1195:14720:30;;;;;4299:17:29;1195:14720:30;;4299:17:29;:::i;1195:14720:30:-;;;;;;-1:-1:-1;;1195:14720:30;;;;;-1:-1:-1;;;;;;;;;;;1195:14720:30;;;;;;;;;;;;;-1:-1:-1;;1195:14720:30;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;6751:33:32;1195:14720:30;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1195:14720:30;;-1:-1:-1;;;;;;;;;;;1195:14720:30;;;;:::o;:::-;;:::i;7950:190:32:-;-1:-1:-1;;;;;;;;;;;1195:14720:30;-1:-1:-1;;;;;;;;;;;1195:14720:30;;;;;;;;7950:190:32;:::o;1195:14720:30:-;-1:-1:-1;;1195:14720:30;;;;;;;:::o;3391:339:29:-;;4299:17;3515:69;3391:339;;4299:17;:::i;:::-;3515:69;:::i;:::-;3511:185;;-1:-1:-1;;;;;;1195:14720:30;3391:339:29:o;3511:185::-;-1:-1:-1;;;1195:14720:30;3668:17:29:o;1195:14720:30:-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1195:14720:30;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;;;;;;1195:14720:30;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;1195:14720:30;;;;;;;;;;;;;-1:-1:-1;1195:14720:30:o;:::-;;;;;;7975:1;1195:14720;;;;;;;7975:1;1195:14720;;-1:-1:-1;;1195:14720:30;;:::o;:::-;;;;;-1:-1:-1;;;;;1195:14720:30;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;1195:14720:30;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1195:14720:30;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;;1195:14720:30;;;;;;;;;;;;:::o;7285:1698::-;;7546:12;;;1195:14720;;;7586:15;;;;;;;;;:::i;:::-;-1:-1:-1;;;1195:14720:30;-1:-1:-1;;;;;;1195:14720:30;7579:23;;;:::i;:::-;1195:14720;7579:72;1195:14720;;7680:35;;;;:::i;:::-;7733:27;2660:4;7733:27;;7729:93;;7959:15;:19;:15;7948:42;7959:15;;;:::i;:::-;:19;;;:::i;:::-;7948:42;;;;:::i;:::-;8009:9;-1:-1:-1;8038:3:30;1195:14720;;8020:16;;;;;8085:8;;;;:::i;:::-;;-1:-1:-1;;;8168:53:30;8129:16;8085:8;8129:16;:::i;:::-;-1:-1:-1;;;;;;1195:14720:30;;;8168:53;;8164:462;;8038:3;;1195:14720;;8009:9;;8164:462;8292:207;;;8524:29;;8164:462;8520:87;-1:-1:-1;;;;8567:40:30;-1:-1:-1;;;;;1195:14720:30;7975:1;1195:14720;;-1:-1:-1;742:68:27;8020:16:30;;;;8851:47;8020:16;;8881;8020;7575:1198;8881:16;;;;;:::i;8851:47::-;8847:86;;8975:1;7285:1698;:::o;8847:86::-;8921:1;8914:8;:::o;7729:93::-;-1:-1:-1;;;7787:20:30;;8728;1195:14720;;-1:-1:-1;742:68:27;7575:1198:30;8674:27;;;2660:4;8674:27;;;;;8670:93;;7575:1198;;8881:16;8851:47;7575:1198;;;7052:145:32;1195:14720:30;;7052:145:32;1195:14720:30;:::i;:::-;;;7052:145:32;:::o;1195:14720:30:-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;:::i;:::-;;437:10:27;1195:14720:30;;;;;;;:::o;:::-;;7261:2:36;1195:14720:30;;;;;;;:::o;:::-;;2566:1:19;1195:14720:30;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::o;:::-;;;;;;;;:::i;:::-;1530:1:19;1195:14720:30;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;1195:14720:30;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;7406:149:32;-1:-1:-1;1195:14720:30;7503:38:32;1195:14720:30;;;-1:-1:-1;1195:14720:30;;;;;-1:-1:-1;1195:14720:30;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;1195:14720:30;;;;;-1:-1:-1;1195:14720:30;;-1:-1:-1;1195:14720:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12420:546;1195:14720;;;;12553:39;;;12533:59;;:132;;;;;12420:546;12533:208;;;;12420:546;12533:281;;;;12420:546;12533:358;;;;12420:546;12516:422;;;1195:14720;12420:546;:::o;12516:422::-;12923:4;12916:11;:::o;12533:358::-;-1:-1:-1;;;12830:61:30;;-1:-1:-1;12533:358:30;;;:281;-1:-1:-1;;;12757:57:30;;;-1:-1:-1;12533:281:30;;:208;-1:-1:-1;;;12681:60:30;;;-1:-1:-1;12533:208:30;;:132;-1:-1:-1;;;12608:57:30;;;-1:-1:-1;12533:132:30;;11638:202;1938:12:2;;;1195:14720:30;2342:180:2;1998:15;;;;;;:::i;:::-;2961:193:1;;1998:15:2;2961:193:1;;;;;2062:15:2;2342:180;2062:15;;;;;;:::i;:::-;2961:193:1;;1998:15:2;2961:193:1;;;;;2230:14:2;;;1195:14720:30;2177:25:2;;;1195:14720:30;2115:23:2;;;1195:14720:30;2285:39:2;2300:23;;;;2115;2300;:::i;:::-;2285:39;;:::i;:::-;1998:15;1195:14720:30;;823:61:2;;-1:-1:-1;;;;;1195:14720:30;1938:12:2;2342:180;;1195:14720:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2342:180:2;1195:14720:30;;;;;;;;2342:180:2;1195:14720:30;4962:25:2;;1998:15;1195:14720:30;;1938:12:2;11777:55:30;;1195:14720;;;11195:42;1195:14720;;;;;;;11777:55;1195:14720;;;;11777:55;1195:14720;11777:55;1195:14720;11767:66;;11638:202;:::o;6239:154:32:-;1195:14720:30;;6239:154:32;1195:14720:30;;;;;;;;;6366:19:32;;;1195:14720:30;6366:19:32;;;;1195:14720:30;6366:19:32;;:::i;4641:475:29:-;4754:23;;:::i;:::-;1195:14720:30;;;;;;4958:22:29;1195:14720:30;;;;;;4998:25:29;1195:14720:30;;4817:282:29;1195:14720:30;4817:282:29;;1195:14720:30;4845:95:29;1195:14720:30;;;;;;;;;;5041:13:29;1195:14720:30;;;;5080:4:29;1195:14720:30;;;;;4817:282:29;;;;;;:::i;1579:906:20:-;1757:663;;;;;;;;;;;;;;;;;1372:120;1757:663;1372:120;;;;1757:663;;;;;;11120:189:32;11179:26;11194:10;11179:26;:::i;:::-;:59;;;;11120:189;11175:96;;3874:14:30;;;11288::32;;;;;11179:59;11232:4;;11194:10;11210:27;11179:59;;1195:14720:30;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;1195:14720:30;;-1:-1:-1;1195:14720:30;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;1195:14720:30;;;;9704:324:32;9796:19;;;:::i;:::-;9792:51;;1195:14720:30;;;:::i;:::-;9940:4:32;1195:14720:30;;;;;;;;;;;9954:14:32;1195:14720:30;;;;;;;-1:-1:-1;;;;;1195:14720:30;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;9999:22:32;1195:14720:30;;9999:22:32;1195:14720:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;9999:22:32;;;;;:::i;:::-;;;;9704:324::o;1195:14720:30:-;;;;;;;;;;6785:16:32;;1195:14720:30;;;;;;;;;;;;;;;;;;;;;;;9999:22:32;1195:14720:30;;9940:4:32;1195:14720:30;;9999:22:32;1195:14720:30;;;;;;;;;;;;;;;;;;;;;;;9921:9:32;1195:14720:30;;;;;;;;;;;;;;;9940:4:32;1195:14720:30;;;;;;;;;;;;;;;9792:51:32;1195:14720:30;;-1:-1:-1;;;9824:19:32;;1195:14720:30;;;9824:19:32;;;;;;:::i;1195:14720:30:-;;;;;;;;;;;-1:-1:-1;;;;;1195:14720:30;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1195:14720:30;;;;;;;;;-1:-1:-1;;;;;1195:14720:30;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;1195:14720:30;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;1195:14720:30;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;1195:14720:30;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;1195:14720:30;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;13997:1449::-;;;;14157:41;13997:1449;14157:41;;;;:::i;:::-;14234:21;;;14349:24;14348:25;14349:24;;;:::i;14348:25::-;14344:68;;14447:2;1195:14720;;14426:23;14422:604;;1195:14720;;15040:23;15061:2;15040:23;;15036:351;;15061:2;1195:14720;-1:-1:-1;;;15404:35:30;;1195:14720;15404:35;1195:14720;15404:35;;;;:::i;15036:351::-;15308:16;;15197:61;15104:42;;14447:2;15104:42;;;;15280:96;15104:42;;;;;;:::i;:::-;15208:24;;;;;14447:2;1195:14720;;;15197:61;;;;;;:::i;:::-;1195:14720;15061:2;1195:14720;15308:16;;;14447:2;15308:16;;1195:14720;;;;;;;;15308:16;15280:96;:::i;14422:604::-;1195:14720;;;;;-1:-1:-1;;;;;14477:19:30;1195:14720;14477:19;:::i;:::-;14469:48;14465:318;;14447:2;14824:92;14937:78;14824:92;;;;14990:24;;;14937:78;;:::i;14465:318::-;1195:14720;;-1:-1:-1;;;14729:39:30;;1195:14720;14729:39;1195:14720;14729:39;;;;:::i;14344:68::-;14389:12;;;;1195:14720;14389:12;:::o;13403:302::-;;13525:31;13403:302;;;13525:31;;;;;;;;;;:::i;:::-;13570:8;;13566:133;;13403:302;:::o;15758:155::-;1195:14720;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;1195:14720:30;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;1195:14720:30;;;;15758:155;:::o;1195:14720::-;;;;;;;;;;;;;-1:-1:-1;1195:14720:30;;;;;;;;-1:-1:-1;;1195:14720:30;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;10808:9:32;1195:14720:30;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1195:14720:30;;;;;:::o;:::-;;;;;:::i;:::-;;;;;;;:::o;:::-;;;-1:-1:-1;1195:14720:30;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::i;10367:575:32:-;;;10482:19;;;:::i;:::-;1195:14720:30;;10515:18:32;10511:52;;1195:14720:30;;;;;10577:17:32;1195:14720:30;;;;;:::i;:::-;;;;;;10598:16:32;10577:37;10573:151;;1195:14720:30;;;;;;10910:25:32;1195:14720:30;;:::i;:::-;;;-1:-1:-1;;1195:14720:30;;;;;10834:28:32;10841:21;;1195:14720:30;;10841:14:32;1195:14720:30;;;;;;;10841:21:32;10834:28;:::i;:::-;10872:22;;-1:-1:-1;;;;;;;;;;;1195:14720:30;10872:22:32;:::i;:::-;-1:-1:-1;;;;;;;;;;;1195:14720:30;;10872:22:32;10910:25;1195:14720:30;;10910:25:32;;;;;:::i;10573:151::-;1195:14720:30;;-1:-1:-1;;;10637:76:32;;1195:14720:30;;;10637:76:32;;1195:14720:30;;10637:76:32;;;;:::i;10511:52::-;-1:-1:-1;;;10532:1:32;10542:21;8728:20:30;1195:14720;;;;-1:-1:-1;742:68:27;5590:176:29;5721:17;;:::i;:::-;1195:14720:30;;;6311:35:29;;;1195:14720:30;1399:50:29;1195:14720:30;;;;;;;6311:35:29;;;;;;:::i;:::-;1195:14720:30;6301:46:29;;1195:14720:30;;5692:66:29;6311:35;5692:66;;1195:14720:30;;;;;;;;;;;;;;;5692:66:29;;;;;;:::i;1956:2062:25:-;;;1195:14720:30;;1956:2062:25;-1:-1:-1;;;;;1195:14720:30;;2118:20:25;2114:40;;2207:1805;;;;;;;;;;;;;;;;;;;;1195:14720:30;;;;;2207:1805:25;1195:14720:30;;;;;2207:1805:25;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2207:1805:25;;;;;1956:2062::o;2207:1805::-;;;;;;;;;;;;;;;1195:14720:30;;;2207:1805:25;;;;1956:2062::o;2207:1805::-;;;;;;;;;;1195:14720:30;2207:1805:25;;;;;;;;;;1195:14720:30;2207:1805:25;;;;;;;;1195:14720:30;2207:1805:25;;;;;;;;;;1195:14720:30;2207:1805:25;;;;1956:2062::o;2207:1805::-;;;;;;;;;;;;;;;;;;1195:14720:30;2207:1805:25;;;;;;;;;2114:40;2140:14;;;;1195:14720:30;2140:14:25;:::o;2643:34:36:-;;;;;1195:14720:30;;2643:34:36;;;;;;;;;1195:14720:30;;;2643:34:36;;;;;;1195:14720:30;;;:::i;:::-;;;2643:34:36;;;1195:14720:30;;;2643:34:36;;;1195:14720:30;;2643:34:36;;;;;;;:::i;:::-;1195:14720:30;;7178:27:36;2643:34;;;;;;;:::o;1986:4::-;1195:14720:30;;1986:4:36;;;;;;;;1195:14720:30;1986:4:36;;;1195:14720:30;1986:4:36;;1195:14720:30;;;;;;;;:::i;:::-;;;;;1986:4:36;;:::o;2396:14::-;;;;;;;;;1195:14720:30;2396:14:36;:::o;6711:2934::-;;;;1195:14720:30;6870:4:36;6894:14;;;1195:14720:30;;;2162:66:18;-1:-1:-1;6890:125:36;;7178:27;;;;2643:34;28057:42:24;7178:27:36;;7212:22;;;1195:14720:30;7236:27:36;;;:::i;:::-;28057:42:24;;:::i;:::-;7178:27:36;1195:14720:30;;;;7278:23:36;:46;7274:89;;7547:27;7516:64;7547:27;;:::i;:::-;7516:64;:::i;:::-;28057:42:24;7635:27:36;;7669;;;1195:14720:30;7698:54:36;1195:14720:30;;7698:54:36;;:::i;28057:42:24:-;7178:27:36;1195:14720:30;;;;7767:33:36;1195:14720:30;7178:27:36;1195:14720:30;;;;7804:28:36;7767:65;7763:108;;1195:14720:30;2643:34:36;;1195:14720:30;2643:34:36;;7987;;:30;;:34;:::i;:::-;2643;-1:-1:-1;;;;;;1195:14720:30;;2643:34:36;7987;:56;:79;7983:122;;1986:4;7178:27;8265:137;-1:-1:-1;8265:137:36;8563:27;;7669;1195:14720:30;1986:4:36;;;;;:::i;:::-;8550:42;;;;;;;;7178:27;-1:-1:-1;1986:4:36;8550:42;;8778:68;8795:30;;8778:68;7669:27;1195:14720:30;8778:68:36;;;;;;;:::i;:::-;7669:27;1195:14720:30;1986:4:36;;;;;:::i;:::-;8771:76;;8550:42;8771:76;;;;;8901:14;-1:-1:-1;8771:76:36;8901:14;;1195:14720:30;-1:-1:-1;1195:14720:30;;;;8877:61:36;1195:14720:30;;8877:61:36;1195:14720:30;7669:27:36;1195:14720:30;8877:61:36;;;7178:27;8877:61;;;;;1986:4;;;;;;;;;;;;1195:14720:30;;;1986:4:36;;;1195:14720:30;1986:4:36;;;1195:14720:30;1986:4:36;;;1195:14720:30;1986:4:36;1195:14720:30;1986:4:36;8877:61;9030:26;;2404:5;9030:26;;;;;:::i;:::-;1195:14720:30;;9491:16:36;;;;6711:2934;9487:60;;1195:14720:30;9565:73:36;1195:14720:30;;;;;9565:73:36;;:::i;9487:60::-;1776:4;;9516:26;;-1:-1:-1;9516:26:36;;7178:27;9516:26;;;;-1:-1:-1;9516:26:36;;-1:-1:-1;9516:26:36;;-1:-1:-1;;9516:26:36:i;:::-;:31;9509:38;:::o;9491:16::-;9463:14;;;;9491:16;;8771:76;;:::i;7983:122::-;8082:12;;;;;;;:::o;7274:89::-;7340:12;;;;;;;;:::o;985:132:19:-;1195:14720:30;;1078:32:19;;1195:14720:30;;;;:::i;:::-;;;;;;;;;;;;;;1078:32:19;:::i;1562:703:17:-;;;;;;1691:6;;:32;;;;1562:703;1691:42;;;;1562:703;1691:68;;;;1562:703;1687:111;;1821:39;;;;:::i;:::-;1820:40;1816:83;;3235:647:18;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3235:647:18;;;;;1195:14720:30;3235:647:18;1195:14720:30;3235:647:18;1195:14720:30;;3235:647:18;;;;-1:-1:-1;;;;;;;;;;;3235:647:18;2222:3:17;3235:647:18;;2132:64:17;3235:647:18;;2062:34:17;;;;1984:49;;2132:64;;:::i;:::-;2222:3;;:::i;:::-;2211:18;;2251:7;1562:703;:::o;1816:83::-;1876:12;;;;;1195:14720:30;1876:12:17;:::o;1691:68::-;1737:22;-1:-1:-1;;;;;;;;;;;1737:22:17;;;1691:68;;:42;1727:6;;;1691:42;;:32;1701:22;-1:-1:-1;;;;;;;;;;;1701:22:17;;;1691:32;;2879:281:1;2961:193;;;;;;;2879:281;:::o;16753:1115:22:-;16943:919;;1195:14720:30;;16753:1115:22;;;16943:919;;;;;;16753:1115;16943:919;;;;;;16753:1115;16943:919;;;;;;16753:1115;;;:::o;16943:919::-;;;;-1:-1:-1;16943:919:22;;;;;;6785:16:32;16943:919:22;;-1:-1:-1;;16943:919:22;;;;;;;;;;-1:-1:-1;;16943:919:22;;;;;;;;;;;;;;;;;;;;;;;;;;16753:1115::o;16943:919::-;;;;;;;;-1:-1:-1;16943:919:22;;;1195:14720:30;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;6785:16:32;1195:14720:30;6785:16:32;;1195:14720:30;;:::i;:::-;;;;;;;;:::o;1186:4022:19:-;;1195:14720:30;;1515:16:19;1511:31;;2503:69;2606:24;2547:25;2548:19;:15;1195:14720:30;;2548:15:19;:::i;:::-;:19;:::i;:::-;2571:1;2162:66:18;;;;2547:25:19;2606:24;:::i;:::-;2641:2537;;;;;;;;;;;;;;;;;1104:5;2641:2537;;;;;;;;;;;;;1186:4022;:::o;2641:2537::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1511:31;1195:14720:30;;;;:::i;12684:438:18:-;-1:-1:-1;;;;;;;;12774:6:18;;;;;:16;;12684:438;12774:42;;;;12684:438;12770:85;;-1:-1:-1;;;;;;;;1531:66:18;1802;;1531;;;1666;1531;12990:15;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;;;12966:15;12959:29;12952:57;13039:17;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;12902:15;13095:10;12684:438;:::o;12770:85::-;12832:12;;1195:14720:30;12832:12:18;:::o;12774:42::-;12796:6;;;12795:20;;12774:42;12795:20;12808:6;;;12774:42;;:16;-1:-1:-1;;;;;;;;;12784:6:18;;;12774:16;;13895:6587;;;1195:14720:30;;13895:6587:18;1195:14720:30;14174:3:18;1195:14720:30;14256:13:18;;;:30;;13895:6587;14252:44;;14322:25;;;;:::i;:::-;14366:5;;;;;14365:16;;;13895:6587;14362:211;;13895:6587;14586:5830;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;14586:5830:18;;;;;1195:14720:30;;;14586:5830:18;;1195:14720:30;;;14586:5830:18;1195:14720:30;;;14586:5830:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;14586:5830:18;;;;-1:-1:-1;;;;;1531:66:18;;;14586:5830;;;;;1195:14720:30;14586:5830:18;1195:14720:30;14586:5830:18;1195:14720:30;;14586:5830:18;;;;;;-1:-1:-1;;;;;;;;1531:66:18;14586:5830;13895:6587;:::o;14586:5830::-;1531:66;;;;;;;;;-1:-1:-1;;;;;1531:66:18;;;14586:5830;;;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;14586:5830;-1:-1:-1;;;;;;;;14586:5830:18;;;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;;;;;;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:18;14586:5830;;;;;;;1531:66;-1:-1:-1;;;;;;;;1531:66:18;14586:5830;;1531:66;-1:-1:-1;;;;;;;;1531:66:18;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;-1:-1:-1;;;;;;;;;;14586:5830:18;-1:-1:-1;;;;;;;;14586:5830:18;;;;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;;14586:5830;;1531:66;14586:5830;;;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;;;;14586:5830;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;1531:66:18;;;;;;;14586:5830;;1531:66;-1:-1:-1;;;;;;;;1531:66:18;14586:5830;;;;1531:66;;;;14586:5830;;;;;;;;-1:-1:-1;;;;;;;;14586:5830:18;;;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:18;14586:5830;-1:-1:-1;;;;;;;;1531:66:18;14586:5830;-1:-1:-1;;;;;;;;;;14586:5830:18;-1:-1:-1;;;;;;;;14586:5830:18;;;1531:66;14586:5830;;;;;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;;14586:5830;;;;;;;;;;-1:-1:-1;;14586:5830:18;;;;;;;;;;;;;;;1531:66;;;-1:-1:-1;1531:66:18;;;-1:-1:-1;;;;;;;;;1531:66:18;-1:-1:-1;;;;;;;;;;14586:5830:18;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;14586:5830;-1:-1:-1;;;;;;;;14586:5830:18;;;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;14586:5830;;;1531:66;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;;14586:5830;;-1:-1:-1;;;;;;;;1531:66:18;14586:5830;;1531:66;-1:-1:-1;;;;;;;;1531:66:18;14586:5830;;1531:66;-1:-1:-1;;;;;;;;1531:66:18;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;-1:-1:-1;;;;;;;;;;14586:5830:18;-1:-1:-1;;;;;;;;14586:5830:18;;;;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;;14586:5830;;;;;;;;;;;;;;-1:-1:-1;14586:5830:18;;;;-1:-1:-1;14586:5830:18;;-1:-1:-1;14586:5830:18;-1:-1:-1;14586:5830:18;;;;;;;;;;;;-1:-1:-1;14586:5830:18;;-1:-1:-1;14586:5830:18;;;1938:66;;-1:-1:-1;2032:66:18;;-1:-1:-1;14586:5830:18;;;1531:66;;;;;;;-1:-1:-1;;;;;1531:66:18;;;14586:5830;;;;;;;;;;;;;;;;;;-1:-1:-1;14586:5830:18;;;;-1:-1:-1;14586:5830:18;;;1938:66;;-1:-1:-1;2032:66:18;;-1:-1:-1;14586:5830:18;;;1195:14720:30;;14586:5830:18;;;;;;;;;;;;;;;;14362:211;2032:66;;-1:-1:-1;;;;;;;;;;;2032:66:18;;;;14437:31;;14486:10;;14518:13;;:30;;;14362:211;14514:44;14362:211;14514:44;14550:8;;;;;;;;;;;:::o;14518:30::-;;14535:13;14518:30;;14365:16;14375:5;;;14365:16;;14252:44;14288:8;;;;;;;;;:::o;14256:30::-;14273:13;;;14256:30;;13224:499;;;1938:66;2032;13342:11;12535:6;;13437:41;;13492:6;13686:30;13492:6;;;;13491:18;;;13224:499;13488:181;;;-1:-1:-1;;;;;;;;;1531:66:18;-1:-1:-1;9612:681:18;;;-1:-1:-1;;;;;;;;9612:681:18;;;1531:66;-1:-1:-1;;;;;;;;1531:66:18;9612:681;;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;;9612:681;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;;;13563:1;1531:66;9612:681;1531:66;-1:-1:-1;;;;;;;;1531:66:18;9612:681;;;;;;-1:-1:-1;;;;;;;;1531:66:18;9612:681;-1:-1:-1;;;;;;;;;;9612:681:18;-1:-1:-1;;;;;;;;9612:681:18;;;;1531:66;-1:-1:-1;;;;;;;;13563:1:18;9612:681;;1531:66;-1:-1:-1;;;;;;;;1531:66:18;13563:1;;9612:681;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;;9612:681;-1:-1:-1;;;;;;;;9612:681:18;;;;1531:66;;;;9612:681;;;;;;;;13525:42;13686:30;:::i;13488:181::-;13627:31;;;;;;:::i;:::-;13605:53;;;;13686:30;:::i;13491:18::-;13502:6;;;;13491:18;;13437:41;-1:-1:-1;13463:15:18;-1:-1:-1;13463:15:18;:::o;10559:1073::-;;;;10790:7;;10786:67;;-1:-1:-1;;;;;;;;10867:673:18;;;;;;1531:66;;13645:1;;10867:673;;1531:66;-1:-1:-1;;;;;;;;1531:66:18;10867:673;;;;1531:66;;13645:1;;10867:673;;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;10867:673;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;10867:673;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;;10867:673;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;-1:-1:-1;;;;;;;;;;10867:673:18;-1:-1:-1;;;;;;;;10867:673:18;;;1531:66;10867:673;;;;;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;;;;10867:673;1531:66;-1:-1:-1;;;;;;;;1531:66:18;;;10867:673;;;;;;;1531:66;-1:-1:-1;;;;;;;;1531:66:18;13645:1;10867:673;1531:66;-1:-1:-1;;;;;;;;1531:66:18;13645:1;10867:673;10559:1073;:::o;10786:67::-;-1:-1:-1;13645:1:18;;-1:-1:-1;13645:1:18;;10817:21::o;8954:351::-;;;;4081:643;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;4081:643:18;;;;-1:-1:-1;;;;;1531:66:18;;;4081:643;;;;;1195:14720:30;4081:643:18;1195:14720:30;4081:643:18;1195:14720:30;;4081:643:18;;;;;;-1:-1:-1;;;;;;;;1531:66:18;4081:643;;9135:20;1531:66;-1:-1:-1;;;;;;;;1531:66:18;9186:21;-1:-1:-1;;;;;;;;1531:66:18;;;;;9232:17;9271:20;;8954:351;:::o" }, "methodIdentifiers": { "REPLAYABLE_NONCE_KEY()": "88ce4c7c", @@ -238183,6 +263946,7 @@ "execute(address,uint256,bytes)": "b61d27f6", "executeBatch((address,uint256,bytes)[])": "34fcd5be", "executeWithoutChainIdValidation(bytes[])": "2c2abd1e", + "getSignatureLifetime()": "17452caa", "getUserOpHashWithoutChainId((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))": "a05bd44e", "implementation()": "5c60da1b", "initialize(bytes[])": "6f2de70e", @@ -238203,7 +263967,7 @@ "validateUserOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),bytes32,uint256)": "19822f7c" } }, - "metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"owner\",\"type\":\"bytes\"}],\"name\":\"AlreadyOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FnSelectorNotRecognized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Initialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"owner\",\"type\":\"bytes\"}],\"name\":\"InvalidEthereumAddressOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"key\",\"type\":\"uint256\"}],\"name\":\"InvalidNonceKey\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"owner\",\"type\":\"bytes\"}],\"name\":\"InvalidOwnerBytesLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSignature\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"LastOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"NoOwnerAtIndex\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"ownersRemaining\",\"type\":\"uint256\"}],\"name\":\"NotLastOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"selector\",\"type\":\"bytes4\"}],\"name\":\"SelectorNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expiredAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentTimestamp\",\"type\":\"uint256\"}],\"name\":\"SignatureExpired\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UpgradeFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"expectedOwner\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"actualOwner\",\"type\":\"bytes\"}],\"name\":\"WrongOwnerAtIndex\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"owner\",\"type\":\"bytes\"}],\"name\":\"AddOwner\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"owner\",\"type\":\"bytes\"}],\"name\":\"RemoveOwner\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"REPLAYABLE_NONCE_KEY\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"addOwnerAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"x\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"y\",\"type\":\"bytes32\"}],\"name\":\"addOwnerPublicKey\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"canSkipChainIdValidation\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"domainSeparator\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"entryPoint\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"execute\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct GianoSmartWallet.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"executeBatch\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"calls\",\"type\":\"bytes[]\"}],\"name\":\"executeWithoutChainIdValidation\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation\",\"name\":\"userOp\",\"type\":\"tuple\"}],\"name\":\"getUserOpHashWithoutChainId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"$\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"owners\",\"type\":\"bytes[]\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isOwnerAddress\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"account\",\"type\":\"bytes\"}],\"name\":\"isOwnerBytes\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"x\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"y\",\"type\":\"bytes32\"}],\"name\":\"isOwnerPublicKey\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"isValidSignature\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"result\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextOwnerIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"ownerAtIndex\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ownerCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"owner\",\"type\":\"bytes\"}],\"name\":\"removeLastOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"owner\",\"type\":\"bytes\"}],\"name\":\"removeOwnerAtIndex\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"removedOwnersCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"}],\"name\":\"replaySafeHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"signedAt\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct StaticCall\",\"name\":\"call\",\"type\":\"tuple\"}],\"name\":\"signedStaticCall\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation\",\"name\":\"userOp\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"missingAccountFunds\",\"type\":\"uint256\"}],\"name\":\"validateUserOp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"validationData\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"author\":\"Applied Blockchain (https://github.com/appliedblockchain/giano)Coinbase (https://github.com/coinbase/smart-wallet)Solady (https://github.com/vectorized/solady/blob/main/src/accounts/ERC4337.sol)\",\"errors\":{\"AlreadyOwner(bytes)\":[{\"params\":{\"owner\":\"The owner bytes.\"}}],\"FnSelectorNotRecognized()\":[{\"details\":\"The function selector is not recognized.\"}],\"InvalidEthereumAddressOwner(bytes)\":[{\"params\":{\"owner\":\"The invalid owner.\"}}],\"InvalidNonceKey(uint256)\":[{\"details\":\"Calls to `this.executeWithoutChainIdValidation` MUST use `REPLAYABLE_NONCE_KEY` and calls NOT to `this.executeWithoutChainIdValidation` MUST NOT use `REPLAYABLE_NONCE_KEY`.\",\"params\":{\"key\":\"The invalid `UserOperation.nonce` key.\"}}],\"InvalidOwnerBytesLength(bytes)\":[{\"params\":{\"owner\":\"The invalid owner.\"}}],\"NoOwnerAtIndex(uint256)\":[{\"params\":{\"index\":\"The targeted index for removal.\"}}],\"NotLastOwner(uint256)\":[{\"params\":{\"ownersRemaining\":\"The number of current owners.\"}}],\"SelectorNotAllowed(bytes4)\":[{\"params\":{\"selector\":\"The selector of the call.\"}}],\"UnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized call context.\"}],\"UpgradeFailed()\":[{\"details\":\"The upgrade failed.\"}],\"WrongOwnerAtIndex(uint256,bytes,bytes)\":[{\"params\":{\"actualOwner\":\"The actual owner at `index`.\",\"expectedOwner\":\"The owner passed in the remove call.\",\"index\":\"The index of the owner to be removed.\"}}]},\"events\":{\"AddOwner(uint256,bytes)\":{\"params\":{\"index\":\"The owner index of the owner added.\",\"owner\":\"The owner added.\"}},\"RemoveOwner(uint256,bytes)\":{\"params\":{\"index\":\"The owner index of the owner removed.\",\"owner\":\"The owner removed.\"}},\"Upgraded(address)\":{\"details\":\"Emitted when the proxy's implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"addOwnerAddress(address)\":{\"params\":{\"owner\":\"The owner address.\"}},\"addOwnerPublicKey(bytes32,bytes32)\":{\"params\":{\"x\":\"The owner public key x coordinate.\",\"y\":\"The owner public key y coordinate.\"}},\"canSkipChainIdValidation(bytes4)\":{\"returns\":{\"_0\":\"`true` is the function selector is allowed to skip the chain ID validation, else `false`.\"}},\"domainSeparator()\":{\"details\":\"Implements domainSeparator = hashStruct(eip712Domain). See https://eips.ethereum.org/EIPS/eip-712#definition-of-domainseparator.\",\"returns\":{\"_0\":\"The 32 bytes domain separator result.\"}},\"eip712Domain()\":{\"details\":\"Follows ERC-5267 (see https://eips.ethereum.org/EIPS/eip-5267).\",\"returns\":{\"chainId\":\"The value of the `EIP712Domain.chainId` field.\",\"extensions\":\"The list of EIP numbers, that extends EIP-712 with new domain fields.\",\"fields\":\"The bitmap of used fields.\",\"name\":\"The value of the `EIP712Domain.name` field.\",\"salt\":\"The value of the `EIP712Domain.salt` field.\",\"verifyingContract\":\"The value of the `EIP712Domain.verifyingContract` field.\",\"version\":\"The value of the `EIP712Domain.version` field.\"}},\"entryPoint()\":{\"returns\":{\"_0\":\"The address of the EntryPoint v0.8\"}},\"execute(address,uint256,bytes)\":{\"details\":\"Can only be called by the Entrypoint or an owner of this account (including itself).\",\"params\":{\"data\":\"The data of the call.\",\"target\":\"The address to call.\",\"value\":\"The value to send with the call.\"}},\"executeBatch((address,uint256,bytes)[])\":{\"details\":\"Can only be called by the Entrypoint or an owner of this account (including itself).\",\"params\":{\"calls\":\"The list of `Call`s to execute.\"}},\"executeWithoutChainIdValidation(bytes[])\":{\"details\":\"Can only be called by the Entrypoint.Reverts if the given call is not authorized to skip the chain ID validtion.`validateUserOp()` will recompute the `userOpHash` without the chain ID before validating it if the `UserOperation.calldata` is calling this function. This allows certain UserOperations to be replayed for all accounts sharing the same address across chains. E.g. This may be useful for syncing owner changes.\",\"params\":{\"calls\":\"An array of calldata to use for separate self calls.\"}},\"getUserOpHashWithoutChainId((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))\":{\"details\":\"This allows accounts to sign a hash that can be used on many chains.\",\"params\":{\"userOp\":\"The `UserOperation` to compute the hash for.\"},\"returns\":{\"_0\":\"The `UserOperation` hash, which does not depend on chain ID.\"}},\"implementation()\":{\"returns\":{\"$\":\"The address of implementation contract.\"}},\"initialize(bytes[])\":{\"details\":\"Reverts if the account has had at least one owner, i.e. has been initialized.\",\"params\":{\"owners\":\"Array of initial owners for this account. Each item should be an ABI encoded Ethereum address, i.e. 32 bytes with 12 leading 0 bytes, or a 64 byte public key.\"}},\"isOwnerAddress(address)\":{\"params\":{\"account\":\"The account address to check.\"},\"returns\":{\"_0\":\"`true` if the account is an owner else `false`.\"}},\"isOwnerBytes(bytes)\":{\"params\":{\"account\":\"The account, should be ABI encoded address or public key.\"},\"returns\":{\"_0\":\"`true` if the account is an owner else `false`.\"}},\"isOwnerPublicKey(bytes32,bytes32)\":{\"params\":{\"x\":\"The public key x coordinate.\",\"y\":\"The public key y coordinate.\"},\"returns\":{\"_0\":\"`true` if the account is an owner else `false`.\"}},\"isValidSignature(bytes32,bytes)\":{\"details\":\"This implementation follows ERC-1271. See https://eips.ethereum.org/EIPS/eip-1271.IMPORTANT: Signature verification is performed on the hash produced AFTER applying the anti cross-account-replay layer on the given `hash` (i.e., verification is run on the replay-safe hash version).\",\"params\":{\"hash\":\"The original hash.\",\"signature\":\"The signature of the replay-safe hash to validate.\"},\"returns\":{\"result\":\"`0x1626ba7e` if validation succeeded, else `0xffffffff`.\"}},\"nextOwnerIndex()\":{\"returns\":{\"_0\":\"The next index that will be used to add a new owner.\"}},\"ownerAtIndex(uint256)\":{\"params\":{\"index\":\"The index to lookup.\"},\"returns\":{\"_0\":\"The owner bytes (empty if no owner is registered at this `index`).\"}},\"ownerCount()\":{\"returns\":{\"_0\":\"The current owner count\"}},\"proxiableUUID()\":{\"details\":\"Returns the storage slot used by the implementation, as specified in [ERC1822](https://eips.ethereum.org/EIPS/eip-1822). Note: The `notDelegated` modifier prevents accidental upgrades to an implementation that is a proxy contract.\"},\"removeLastOwner(uint256,bytes)\":{\"details\":\"Reverts if the owner is not registered at `index`.Reverts if there is currently more than one owner.Reverts if `owner` does not match bytes found at `index`.\",\"params\":{\"index\":\"The index of the owner to be removed.\",\"owner\":\"The ABI encoded bytes of the owner to be removed.\"}},\"removeOwnerAtIndex(uint256,bytes)\":{\"details\":\"Reverts if the owner is not registered at `index`.Reverts if there is currently only one owner.Reverts if `owner` does not match bytes found at `index`.\",\"params\":{\"index\":\"The index of the owner to be removed.\",\"owner\":\"The ABI encoded bytes of the owner to be removed.\"}},\"removedOwnersCount()\":{\"details\":\"Used with `this.nextOwnerIndex` to avoid removing all owners\",\"returns\":{\"_0\":\"The number of owners that have been removed.\"}},\"replaySafeHash(bytes32)\":{\"details\":\"The returned EIP-712 compliant replay-safe hash is the result of: keccak256( \\\\x19\\\\x01 || this.domainSeparator || hashStruct(GianoSmartWalletMessage({ hash: `hash`})) )\",\"params\":{\"hash\":\"The original hash.\"},\"returns\":{\"_0\":\"The corresponding replay-safe hash.\"}},\"upgradeToAndCall(address,bytes)\":{\"details\":\"Upgrades the proxy's implementation to `newImplementation`. Emits a {Upgraded} event. Note: Passing in empty `data` skips the delegatecall to `newImplementation`.\"},\"validateUserOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),bytes32,uint256)\":{\"details\":\"Signature failure should be reported by returning 1 (see: `this._isValidSignature`). This allows making a \\\"simulation call\\\" without a valid signature. Other failures (e.g. invalid signature format) should still revert to signal failure.Reverts if the `UserOperation.nonce` key is invalid for `UserOperation.calldata`.Reverts if the signature format is incorrect or invalid for owner type.\",\"params\":{\"missingAccountFunds\":\"The missing account funds that must be deposited on the Entrypoint.\",\"userOp\":\"The `UserOperation` to validate.\",\"userOpHash\":\"The `UserOperation` hash, as computed by `EntryPoint.getUserOpHash(UserOperation)`.\"},\"returns\":{\"validationData\":\"The encoded `ValidationData` structure: `(uint256(validAfter) << (160 + 48)) | (uint256(validUntil) << 160) | (success ? 0 : 1)` where `validUntil` is 0 (indefinite) and `validAfter` is 0.\"}}},\"stateVariables\":{\"REPLAYABLE_NONCE_KEY\":{\"details\":\"MUST BE the `UserOperation.nonce` key when `UserOperation.calldata` is calling `executeWithoutChainIdValidation`and MUST NOT BE `UserOperation.nonce` key when `UserOperation.calldata` is NOT calling `executeWithoutChainIdValidation`.Helps enforce sequential sequencing of replayable transactions.\"}},\"title\":\"Giano Smart Wallet\",\"version\":1},\"userdoc\":{\"errors\":{\"AlreadyOwner(bytes)\":[{\"notice\":\"Thrown when trying to add an already registered owner.\"}],\"Initialized()\":[{\"notice\":\"Thrown when `initialize` is called but the account already has had at least one owner.\"}],\"InvalidEthereumAddressOwner(bytes)\":[{\"notice\":\"Thrown if a provided owner is 32 bytes long but does not fit in an `address` type.\"}],\"InvalidNonceKey(uint256)\":[{\"notice\":\"Thrown in validateUserOp if the key of `UserOperation.nonce` does not match the calldata.\"}],\"InvalidOwnerBytesLength(bytes)\":[{\"notice\":\"Thrown when a provided owner is neither 64 bytes long (for public key) nor a ABI encoded address.\"}],\"LastOwner()\":[{\"notice\":\"Thrown when removeOwnerAtIndex is called and there is only one current owner.\"}],\"NoOwnerAtIndex(uint256)\":[{\"notice\":\"Thrown when trying to remove an owner from an index that is empty.\"}],\"NotLastOwner(uint256)\":[{\"notice\":\"Thrown when removeLastOwner is called and there is more than one current owner.\"}],\"SelectorNotAllowed(bytes4)\":[{\"notice\":\"Thrown when a call is passed to `executeWithoutChainIdValidation` that is not allowed by `canSkipChainIdValidation`\"}],\"Unauthorized()\":[{\"notice\":\"Thrown when the `msg.sender` is not an owner and is trying to call a privileged function.\"}],\"WrongOwnerAtIndex(uint256,bytes,bytes)\":[{\"notice\":\"Thrown when `owner` argument does not match owner found at index.\"}]},\"events\":{\"AddOwner(uint256,bytes)\":{\"notice\":\"Emitted when a new owner is registered.\"},\"RemoveOwner(uint256,bytes)\":{\"notice\":\"Emitted when an owner is removed.\"}},\"kind\":\"user\",\"methods\":{\"REPLAYABLE_NONCE_KEY()\":{\"notice\":\"Reserved nonce key (upper 192 bits of `UserOperation.nonce`) for cross-chain replayable transactions.\"},\"addOwnerAddress(address)\":{\"notice\":\"Adds a new Ethereum-address owner.\"},\"addOwnerPublicKey(bytes32,bytes32)\":{\"notice\":\"Adds a new public-key owner.\"},\"domainSeparator()\":{\"notice\":\"Returns the `domainSeparator` used to create EIP-712 compliant hashes.\"},\"eip712Domain()\":{\"notice\":\"Returns information about the `EIP712Domain` used to create EIP-712 compliant hashes.\"},\"entryPoint()\":{\"notice\":\"Returns the address of the EntryPoint v0.8.\"},\"execute(address,uint256,bytes)\":{\"notice\":\"Executes the given call from this account.\"},\"executeBatch((address,uint256,bytes)[])\":{\"notice\":\"Executes batch of `Call`s.\"},\"executeWithoutChainIdValidation(bytes[])\":{\"notice\":\"Executes `calls` on this account (i.e. self call).\"},\"getUserOpHashWithoutChainId((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))\":{\"notice\":\"Computes the hash of the `UserOperation` in the same way as EntryPoint v0.6, but leaves out the chain ID.\"},\"implementation()\":{\"notice\":\"Returns the implementation of the ERC1967 proxy.\"},\"initialize(bytes[])\":{\"notice\":\"Initializes the account with the `owners`.\"},\"isOwnerAddress(address)\":{\"notice\":\"Checks if the given `account` address is registered as owner.\"},\"isOwnerBytes(bytes)\":{\"notice\":\"Checks if the given `account` bytes is registered as owner.\"},\"isOwnerPublicKey(bytes32,bytes32)\":{\"notice\":\"Checks if the given `x`, `y` public key is registered as owner.\"},\"isValidSignature(bytes32,bytes)\":{\"notice\":\"Validates the `signature` against the given `hash`.\"},\"nextOwnerIndex()\":{\"notice\":\"Returns the next index that will be used to add a new owner.\"},\"ownerAtIndex(uint256)\":{\"notice\":\"Returns the owner bytes at the given `index`.\"},\"ownerCount()\":{\"notice\":\"Returns the current number of owners\"},\"removeLastOwner(uint256,bytes)\":{\"notice\":\"Removes owner at the given `index`, which should be the only current owner.\"},\"removeOwnerAtIndex(uint256,bytes)\":{\"notice\":\"Removes owner at the given `index`.\"},\"removedOwnersCount()\":{\"notice\":\"Tracks the number of owners removed\"},\"replaySafeHash(bytes32)\":{\"notice\":\"Wrapper around `_eip712Hash()` to produce a replay-safe hash fron the given `hash`.\"},\"validateUserOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),bytes32,uint256)\":{\"notice\":\"ERC-4337 `validateUserOp` method. The EntryPoint will call `UserOperation.sender.call(UserOperation.callData)` only if this validation call returns successfully.\"}},\"notice\":\"ERC-4337-compatible smart account, based on Solady's ERC4337 account implementation with inspiration from Alchemy's LightAccount and Daimo's DaimoAccount.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/GianoSmartWallet.sol\":\"GianoSmartWallet\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@account-abstraction/contracts/core/Helpers.sol\":{\"keccak256\":\"0x42b948af5fa14a96149611595df1186800c7558b2de8762e4b45a7c45c16f65e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://737a7908131ece48a5df1faaa3d0be79c42792379c27f5615dae6aa14cd68c2f\",\"dweb:/ipfs/QmPAxGMDxuek7XWSUVfZpvYE8bustfsjTDVDK8hmE88e1f\"]},\"@account-abstraction/contracts/core/UserOperationLib.sol\":{\"keccak256\":\"0x2d3450fa3906422b6fdbbe7f2a2a9e36d6f3751bfa9cd80af88befd6a5be78c1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://292a0ef5295d7f2016e99d2c228958f7f6de94f5bd9652d8696af15af0094a99\",\"dweb:/ipfs/QmVg4fhkZbUB7AopGcaVPmTdvChq7W9ga8fjrc3XaJNTM2\"]},\"@account-abstraction/contracts/interfaces/IAccount.sol\":{\"keccak256\":\"0x1030b464b49ce80da46b5b6c9af357c2d526f308de61391db6a4ec767d33b864\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://671945f8e18e7305797312b5a209506be3c9bd1d9b9b561c1e8863bccfa61319\",\"dweb:/ipfs/QmVanLK5Aenrb7J94doiE1C9oHwo86jvv8NrpDeNHwvnii\"]},\"@account-abstraction/contracts/interfaces/PackedUserOperation.sol\":{\"keccak256\":\"0xb15188e25e45fe73097e279675b6c0beccbd4133ead2260f8f0c4ba840046800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d14c1edd1e95d37c26e54bb34305e2cc9dedc46eb75ec91caeb777678e8ea79\",\"dweb:/ipfs/QmcCL2syVtV7W3XvYx3si84MPkbEJKqEN8hjFNhAPoDDhK\"]},\"FreshCryptoLib/FCL_ecdsa.sol\":{\"keccak256\":\"0x679d2e9a655cd7e156a0cfc24de0aca88d4e0b34a8e0dfe6a599f23af092f5a2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db31eb84c6f854f076d2501e3d8b5a606fb4924168bdfc6fc3de84e67ed8a80d\",\"dweb:/ipfs/QmWGAmc7B4aT6Ki52uF9QmPQKWipaptit7r3JknBHjUGfe\"]},\"FreshCryptoLib/FCL_elliptic.sol\":{\"keccak256\":\"0xac7bb3260a446851f45b8cb71e31d64ca469d7711ed04662092a9554f1283a38\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f9b0dc5a2306ad3f3a0ff4a5b947fe49422181e97c163ea237fc8bfc6736429d\",\"dweb:/ipfs/QmeruF7BvG5BNnqwqwdshoVXuXqXtajbUYB19KwPynHrQE\"]},\"openzeppelin-contracts/contracts/utils/Base64.sol\":{\"keccak256\":\"0xbee2b819e1b4bf569ffc1b1b9d560b4abd6a589575f3093edaab9244de18a0c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e478c0e9bbf3eb8cd3b7784f9b397603e34747f9ffd16571ed1d89ce102de389\",\"dweb:/ipfs/QmZ6zXpwy5xRxx9RkodJmDZSUTeEqPQUanAC5TUoYqW2VR\"]},\"solady/accounts/Receiver.sol\":{\"keccak256\":\"0xc879aa81dd5639f5fd97b31acd91658ffe33ae4b72b70ed7bd701c37addce43b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2e03a8d37d48644857d94f7432c1e2272bfd19649dfe80aba8f979f157f71f00\",\"dweb:/ipfs/QmWWS34bNWhiZgLXS9gtD8N2dxreRsVXxhvQRKqd4wKUuU\"]},\"solady/utils/CallContextChecker.sol\":{\"keccak256\":\"0xc54c743a03f4909826712e9c6b683ca95e8b0c120c55284a9e3572621ebd734b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3d3138009aba3d2fd310636f3cc1d6029e970c57ddb74693bebf2a02d3e6f12d\",\"dweb:/ipfs/QmauMpcVDyQqVnAUF75DXy831LvtxyFS7GND7kge1Zgw55\"]},\"solady/utils/LibBytes.sol\":{\"keccak256\":\"0x320c3c933df51e8fd6f1fc96de721c8cc6f1be1d4c586c11f1c472a23b86eba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cec71f42247eda74535c6e695a2ac194268a342594a26c090bafd04434698b20\",\"dweb:/ipfs/QmXA8Qaw6DdWujdrNHMHpDLNGG4QCgC859ozivrxkxp7Ea\"]},\"solady/utils/LibString.sol\":{\"keccak256\":\"0x8a6b219f6ccda90c08e2debae62618d78d6f0cef086eb6c9503793d7f12815dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d1301acbf7371cb51ab01fe3bee8a9b732ee0bcf6cc0db20ed5a3fb9241d675e\",\"dweb:/ipfs/QmXuM4tSfPDeFRvP3nEQmuezp1yEm4HxyWtU41FjiCdxAG\"]},\"solady/utils/SignatureCheckerLib.sol\":{\"keccak256\":\"0x098c7eb88b3048f227b240e0e5bf1da4a8f7622b30f6d7c06416bfcab3225e77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c2766f652916c5d6433665fb1c3b2f04c3d9292a35c12e0f8d7c71dd6438cb\",\"dweb:/ipfs/QmWTMwN2RDZUUPg7KkH1qFBjTSh84Zw8bbYwRBCQUtLN2h\"]},\"solady/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x63899eaf1a24713464b8084ada33a83c4b7db789fe83ae22f016e39646bee361\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://617fa735ffa8ba31051745614a508abd69d2cfc1b1bc1eb3c772865db5f7ce65\",\"dweb:/ipfs/QmR1pQbHPyXcLbFm2vHrXBs1qRFrGC22gF7wWYamYy8aaE\"]},\"src/AuthenticatedStaticCaller.sol\":{\"keccak256\":\"0x17f20b3b0656a90ce191a20803ea099c08e77ad51a9b2983124a809cd8387c36\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afa1d387dd11f9b3cbe06e47293fe5a5f8072af89a007b0e2bebd248637fc9f5\",\"dweb:/ipfs/QmRFSkpcryVHnHKFQoWjHnJksMBQrTeiex1SLufctBha4u\"]},\"src/ERC1271.sol\":{\"keccak256\":\"0x75c3fe08b6e1789dab7714196704f425d1afea21d725fcb6c418a70ef5bf6fad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dd292bcf9b1891abb517323636493499dbdd00bebc1f759c07fb26e103a1b71d\",\"dweb:/ipfs/QmWMT3C54pakfUCTkcPzFQAvE8nRnPqDDpFaDhY5A9fpEp\"]},\"src/GianoSmartWallet.sol\":{\"keccak256\":\"0x8b2f9e6a083aeb3bb05134b51187905197f44824f17b1e1679e42256c257bb2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88028395730ab7595b3c357bdb85f4efc6541ffcac62e239bd575ba8c95d9fa7\",\"dweb:/ipfs/QmXKaRrTW2JT6mXJ9ytY9s9yPsVg9rqLy343bW3rSmrJgS\"]},\"src/MultiOwnable.sol\":{\"keccak256\":\"0x46a9fa25c7de87b56df47b67d61b6efd96ed3f382c5d440d04de55fa23bccadd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75ac03bdfdddec29b0b1f4f9c33add4b5b9d5400b1a54691a544a59ac710de5c\",\"dweb:/ipfs/QmXajkF7z8rqmDE89H4uVaKCDyQsdwphif8BHZLLu9MQ5k\"]},\"webauthn-sol/WebAuthn.sol\":{\"keccak256\":\"0x5f38c750d900e5b5f22264ce71ead4a52528d24c52ff82928949833a5b2cea9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c373620c40cb0ddf0e347d3d6426dd9e34b8eb62ee83844372b48689f62dee5c\",\"dweb:/ipfs/QmdxkcQtgQZfKg8LZ3H5XuWhd1e1c4raa44oMnSGHgayt5\"]}},\"version\":1}" + "metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"owner\",\"type\":\"bytes\"}],\"name\":\"AlreadyOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FnSelectorNotRecognized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Initialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"owner\",\"type\":\"bytes\"}],\"name\":\"InvalidEthereumAddressOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"key\",\"type\":\"uint256\"}],\"name\":\"InvalidNonceKey\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"owner\",\"type\":\"bytes\"}],\"name\":\"InvalidOwnerBytesLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSignature\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"LastOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"NoOwnerAtIndex\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"ownersRemaining\",\"type\":\"uint256\"}],\"name\":\"NotLastOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"selector\",\"type\":\"bytes4\"}],\"name\":\"SelectorNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expiredAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentTimestamp\",\"type\":\"uint256\"}],\"name\":\"SignatureExpired\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UpgradeFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"expectedOwner\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"actualOwner\",\"type\":\"bytes\"}],\"name\":\"WrongOwnerAtIndex\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"owner\",\"type\":\"bytes\"}],\"name\":\"AddOwner\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"owner\",\"type\":\"bytes\"}],\"name\":\"RemoveOwner\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"REPLAYABLE_NONCE_KEY\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"addOwnerAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"x\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"y\",\"type\":\"bytes32\"}],\"name\":\"addOwnerPublicKey\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"canSkipChainIdValidation\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"domainSeparator\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"entryPoint\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"execute\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct GianoSmartWallet.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"executeBatch\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"calls\",\"type\":\"bytes[]\"}],\"name\":\"executeWithoutChainIdValidation\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSignatureLifetime\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation\",\"name\":\"userOp\",\"type\":\"tuple\"}],\"name\":\"getUserOpHashWithoutChainId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"$\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"owners\",\"type\":\"bytes[]\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isOwnerAddress\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"account\",\"type\":\"bytes\"}],\"name\":\"isOwnerBytes\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"x\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"y\",\"type\":\"bytes32\"}],\"name\":\"isOwnerPublicKey\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"isValidSignature\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"result\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextOwnerIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"ownerAtIndex\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ownerCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"owner\",\"type\":\"bytes\"}],\"name\":\"removeLastOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"owner\",\"type\":\"bytes\"}],\"name\":\"removeOwnerAtIndex\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"removedOwnersCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"}],\"name\":\"replaySafeHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"signedAt\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct StaticCall\",\"name\":\"call\",\"type\":\"tuple\"}],\"name\":\"signedStaticCall\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation\",\"name\":\"userOp\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"missingAccountFunds\",\"type\":\"uint256\"}],\"name\":\"validateUserOp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"validationData\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"author\":\"Applied Blockchain (https://github.com/appliedblockchain/giano)Coinbase (https://github.com/coinbase/smart-wallet)Solady (https://github.com/vectorized/solady/blob/main/src/accounts/ERC4337.sol)\",\"errors\":{\"AlreadyOwner(bytes)\":[{\"params\":{\"owner\":\"The owner bytes.\"}}],\"FnSelectorNotRecognized()\":[{\"details\":\"The function selector is not recognized.\"}],\"InvalidEthereumAddressOwner(bytes)\":[{\"params\":{\"owner\":\"The invalid owner.\"}}],\"InvalidImplementation(address)\":[{\"params\":{\"implementation\":\"The address of the implementation that has no code.\"}}],\"InvalidNonceKey(uint256)\":[{\"details\":\"Calls to `this.executeWithoutChainIdValidation` MUST use `REPLAYABLE_NONCE_KEY` and calls NOT to `this.executeWithoutChainIdValidation` MUST NOT use `REPLAYABLE_NONCE_KEY`.\",\"params\":{\"key\":\"The invalid `UserOperation.nonce` key.\"}}],\"InvalidOwnerBytesLength(bytes)\":[{\"params\":{\"owner\":\"The invalid owner.\"}}],\"NoOwnerAtIndex(uint256)\":[{\"params\":{\"index\":\"The targeted index for removal.\"}}],\"NotLastOwner(uint256)\":[{\"params\":{\"ownersRemaining\":\"The number of current owners.\"}}],\"SelectorNotAllowed(bytes4)\":[{\"params\":{\"selector\":\"The selector of the call.\"}}],\"UnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized call context.\"}],\"UpgradeFailed()\":[{\"details\":\"The upgrade failed.\"}],\"WrongOwnerAtIndex(uint256,bytes,bytes)\":[{\"params\":{\"actualOwner\":\"The actual owner at `index`.\",\"expectedOwner\":\"The owner passed in the remove call.\",\"index\":\"The index of the owner to be removed.\"}}]},\"events\":{\"AddOwner(uint256,bytes)\":{\"params\":{\"index\":\"The owner index of the owner added.\",\"owner\":\"The owner added.\"}},\"RemoveOwner(uint256,bytes)\":{\"params\":{\"index\":\"The owner index of the owner removed.\",\"owner\":\"The owner removed.\"}},\"Upgraded(address)\":{\"details\":\"Emitted when the proxy's implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"addOwnerAddress(address)\":{\"params\":{\"owner\":\"The owner address.\"}},\"addOwnerPublicKey(bytes32,bytes32)\":{\"params\":{\"x\":\"The owner public key x coordinate.\",\"y\":\"The owner public key y coordinate.\"}},\"canSkipChainIdValidation(bytes4)\":{\"returns\":{\"_0\":\"`true` is the function selector is allowed to skip the chain ID validation, else `false`.\"}},\"domainSeparator()\":{\"details\":\"Implements domainSeparator = hashStruct(eip712Domain). See https://eips.ethereum.org/EIPS/eip-712#definition-of-domainseparator.\",\"returns\":{\"_0\":\"The 32 bytes domain separator result.\"}},\"eip712Domain()\":{\"details\":\"Follows ERC-5267 (see https://eips.ethereum.org/EIPS/eip-5267).\",\"returns\":{\"chainId\":\"The value of the `EIP712Domain.chainId` field.\",\"extensions\":\"The list of EIP numbers, that extends EIP-712 with new domain fields.\",\"fields\":\"The bitmap of used fields.\",\"name\":\"The value of the `EIP712Domain.name` field.\",\"salt\":\"The value of the `EIP712Domain.salt` field.\",\"verifyingContract\":\"The value of the `EIP712Domain.verifyingContract` field.\",\"version\":\"The value of the `EIP712Domain.version` field.\"}},\"entryPoint()\":{\"returns\":{\"_0\":\"The address of the EntryPoint v0.7\"}},\"execute(address,uint256,bytes)\":{\"details\":\"Can only be called by the Entrypoint or an owner of this account (including itself).\",\"params\":{\"data\":\"The data of the call.\",\"target\":\"The address to call.\",\"value\":\"The value to send with the call.\"}},\"executeBatch((address,uint256,bytes)[])\":{\"details\":\"Can only be called by the Entrypoint or an owner of this account (including itself).\",\"params\":{\"calls\":\"The list of `Call`s to execute.\"}},\"executeWithoutChainIdValidation(bytes[])\":{\"details\":\"Can only be called by the Entrypoint.Reverts if the given call is not authorized to skip the chain ID validtion.`validateUserOp()` will recompute the `userOpHash` without the chain ID before validating it if the `UserOperation.calldata` is calling this function. This allows certain UserOperations to be replayed for all accounts sharing the same address across chains. E.g. This may be useful for syncing owner changes.\",\"params\":{\"calls\":\"An array of calldata to use for separate self calls.\"}},\"getUserOpHashWithoutChainId((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))\":{\"details\":\"This allows accounts to sign a hash that can be used on many chains.\",\"params\":{\"userOp\":\"The `UserOperation` to compute the hash for.\"},\"returns\":{\"_0\":\"The `UserOperation` hash, which does not depend on chain ID.\"}},\"implementation()\":{\"returns\":{\"$\":\"The address of implementation contract.\"}},\"initialize(bytes[])\":{\"details\":\"Reverts if the account has had at least one owner, i.e. has been initialized.\",\"params\":{\"owners\":\"Array of initial owners for this account. Each item should be an ABI encoded Ethereum address, i.e. 32 bytes with 12 leading 0 bytes, or a 64 byte public key.\"}},\"isOwnerAddress(address)\":{\"params\":{\"account\":\"The account address to check.\"},\"returns\":{\"_0\":\"`true` if the account is an owner else `false`.\"}},\"isOwnerBytes(bytes)\":{\"params\":{\"account\":\"The account, should be ABI encoded address or public key.\"},\"returns\":{\"_0\":\"`true` if the account is an owner else `false`.\"}},\"isOwnerPublicKey(bytes32,bytes32)\":{\"params\":{\"x\":\"The public key x coordinate.\",\"y\":\"The public key y coordinate.\"},\"returns\":{\"_0\":\"`true` if the account is an owner else `false`.\"}},\"isValidSignature(bytes32,bytes)\":{\"details\":\"This implementation follows ERC-1271. See https://eips.ethereum.org/EIPS/eip-1271.IMPORTANT: Signature verification is performed on the hash produced AFTER applying the anti cross-account-replay layer on the given `hash` (i.e., verification is run on the replay-safe hash version).\",\"params\":{\"hash\":\"The original hash.\",\"signature\":\"The signature of the replay-safe hash to validate.\"},\"returns\":{\"result\":\"`0x1626ba7e` if validation succeeded, else `0xffffffff`.\"}},\"nextOwnerIndex()\":{\"returns\":{\"_0\":\"The next index that will be used to add a new owner.\"}},\"ownerAtIndex(uint256)\":{\"params\":{\"index\":\"The index to lookup.\"},\"returns\":{\"_0\":\"The owner bytes (empty if no owner is registered at this `index`).\"}},\"ownerCount()\":{\"returns\":{\"_0\":\"The current owner count\"}},\"proxiableUUID()\":{\"details\":\"Returns the storage slot used by the implementation, as specified in [ERC1822](https://eips.ethereum.org/EIPS/eip-1822). Note: The `notDelegated` modifier prevents accidental upgrades to an implementation that is a proxy contract.\"},\"removeLastOwner(uint256,bytes)\":{\"details\":\"Reverts if the owner is not registered at `index`.Reverts if there is currently more than one owner.Reverts if `owner` does not match bytes found at `index`.\",\"params\":{\"index\":\"The index of the owner to be removed.\",\"owner\":\"The ABI encoded bytes of the owner to be removed.\"}},\"removeOwnerAtIndex(uint256,bytes)\":{\"details\":\"Reverts if the owner is not registered at `index`.Reverts if there is currently only one owner.Reverts if `owner` does not match bytes found at `index`.\",\"params\":{\"index\":\"The index of the owner to be removed.\",\"owner\":\"The ABI encoded bytes of the owner to be removed.\"}},\"removedOwnersCount()\":{\"details\":\"Used with `this.nextOwnerIndex` to avoid removing all owners\",\"returns\":{\"_0\":\"The number of owners that have been removed.\"}},\"replaySafeHash(bytes32)\":{\"details\":\"The returned EIP-712 compliant replay-safe hash is the result of: keccak256( \\\\x19\\\\x01 || this.domainSeparator || hashStruct(GianoSmartWalletMessage({ hash: `hash`})) )\",\"params\":{\"hash\":\"The original hash.\"},\"returns\":{\"_0\":\"The corresponding replay-safe hash.\"}},\"upgradeToAndCall(address,bytes)\":{\"details\":\"Upgrades the proxy's implementation to `newImplementation`. Emits a {Upgraded} event. Note: Passing in empty `data` skips the delegatecall to `newImplementation`.\"},\"validateUserOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),bytes32,uint256)\":{\"details\":\"Signature failure should be reported by returning 1 (see: `this._isValidSignature`). This allows making a \\\"simulation call\\\" without a valid signature. Other failures (e.g. invalid signature format) should still revert to signal failure.Reverts if the `UserOperation.nonce` key is invalid for `UserOperation.calldata`.Reverts if the signature format is incorrect or invalid for owner type.\",\"params\":{\"missingAccountFunds\":\"The missing account funds that must be deposited on the Entrypoint.\",\"userOp\":\"The `UserOperation` to validate.\",\"userOpHash\":\"The `UserOperation` hash, as computed by `EntryPoint.getUserOpHash(UserOperation)`.\"},\"returns\":{\"validationData\":\"The encoded `ValidationData` structure: `(uint256(validAfter) << (160 + 48)) | (uint256(validUntil) << 160) | (success ? 0 : 1)` where `validUntil` is 0 (indefinite) and `validAfter` is 0.\"}}},\"stateVariables\":{\"REPLAYABLE_NONCE_KEY\":{\"details\":\"MUST BE the `UserOperation.nonce` key when `UserOperation.calldata` is calling `executeWithoutChainIdValidation`and MUST NOT BE `UserOperation.nonce` key when `UserOperation.calldata` is NOT calling `executeWithoutChainIdValidation`.Helps enforce sequential sequencing of replayable transactions.\"}},\"title\":\"Giano Smart Wallet\",\"version\":1},\"userdoc\":{\"errors\":{\"AlreadyOwner(bytes)\":[{\"notice\":\"Thrown when trying to add an already registered owner.\"}],\"Initialized()\":[{\"notice\":\"Thrown when `initialize` is called but the account already has had at least one owner.\"}],\"InvalidEthereumAddressOwner(bytes)\":[{\"notice\":\"Thrown if a provided owner is 32 bytes long but does not fit in an `address` type.\"}],\"InvalidImplementation(address)\":[{\"notice\":\"Thrown when an upgrade is attempted to an implementation that does not exist.\"}],\"InvalidNonceKey(uint256)\":[{\"notice\":\"Thrown in validateUserOp if the key of `UserOperation.nonce` does not match the calldata.\"}],\"InvalidOwnerBytesLength(bytes)\":[{\"notice\":\"Thrown when a provided owner is neither 64 bytes long (for public key) nor a ABI encoded address.\"}],\"LastOwner()\":[{\"notice\":\"Thrown when removeOwnerAtIndex is called and there is only one current owner.\"}],\"NoOwnerAtIndex(uint256)\":[{\"notice\":\"Thrown when trying to remove an owner from an index that is empty.\"}],\"NotLastOwner(uint256)\":[{\"notice\":\"Thrown when removeLastOwner is called and there is more than one current owner.\"}],\"SelectorNotAllowed(bytes4)\":[{\"notice\":\"Thrown when a call is passed to `executeWithoutChainIdValidation` that is not allowed by `canSkipChainIdValidation`\"}],\"Unauthorized()\":[{\"notice\":\"Thrown when the `msg.sender` is not an owner and is trying to call a privileged function.\"}],\"WrongOwnerAtIndex(uint256,bytes,bytes)\":[{\"notice\":\"Thrown when `owner` argument does not match owner found at index.\"}]},\"events\":{\"AddOwner(uint256,bytes)\":{\"notice\":\"Emitted when a new owner is registered.\"},\"RemoveOwner(uint256,bytes)\":{\"notice\":\"Emitted when an owner is removed.\"}},\"kind\":\"user\",\"methods\":{\"REPLAYABLE_NONCE_KEY()\":{\"notice\":\"Reserved nonce key (upper 192 bits of `UserOperation.nonce`) for cross-chain replayable transactions.\"},\"addOwnerAddress(address)\":{\"notice\":\"Adds a new Ethereum-address owner.\"},\"addOwnerPublicKey(bytes32,bytes32)\":{\"notice\":\"Adds a new public-key owner.\"},\"domainSeparator()\":{\"notice\":\"Returns the `domainSeparator` used to create EIP-712 compliant hashes.\"},\"eip712Domain()\":{\"notice\":\"Returns information about the `EIP712Domain` used to create EIP-712 compliant hashes.\"},\"entryPoint()\":{\"notice\":\"Returns the address of the EntryPoint v0.7.\"},\"execute(address,uint256,bytes)\":{\"notice\":\"Executes the given call from this account.\"},\"executeBatch((address,uint256,bytes)[])\":{\"notice\":\"Executes batch of `Call`s.\"},\"executeWithoutChainIdValidation(bytes[])\":{\"notice\":\"Executes `calls` on this account (i.e. self call).\"},\"getUserOpHashWithoutChainId((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))\":{\"notice\":\"Computes the hash of the `UserOperation` in the same way as EntryPoint v0.6, but leaves out the chain ID.\"},\"implementation()\":{\"notice\":\"Returns the implementation of the ERC1967 proxy.\"},\"initialize(bytes[])\":{\"notice\":\"Initializes the account with the `owners`.\"},\"isOwnerAddress(address)\":{\"notice\":\"Checks if the given `account` address is registered as owner.\"},\"isOwnerBytes(bytes)\":{\"notice\":\"Checks if the given `account` bytes is registered as owner.\"},\"isOwnerPublicKey(bytes32,bytes32)\":{\"notice\":\"Checks if the given `x`, `y` public key is registered as owner.\"},\"isValidSignature(bytes32,bytes)\":{\"notice\":\"Validates the `signature` against the given `hash`.\"},\"nextOwnerIndex()\":{\"notice\":\"Returns the next index that will be used to add a new owner.\"},\"ownerAtIndex(uint256)\":{\"notice\":\"Returns the owner bytes at the given `index`.\"},\"ownerCount()\":{\"notice\":\"Returns the current number of owners\"},\"removeLastOwner(uint256,bytes)\":{\"notice\":\"Removes owner at the given `index`, which should be the only current owner.\"},\"removeOwnerAtIndex(uint256,bytes)\":{\"notice\":\"Removes owner at the given `index`.\"},\"removedOwnersCount()\":{\"notice\":\"Tracks the number of owners removed\"},\"replaySafeHash(bytes32)\":{\"notice\":\"Wrapper around `_eip712Hash()` to produce a replay-safe hash fron the given `hash`.\"},\"validateUserOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),bytes32,uint256)\":{\"notice\":\"ERC-4337 `validateUserOp` method. The EntryPoint will call `UserOperation.sender.call(UserOperation.callData)` only if this validation call returns successfully.\"}},\"notice\":\"ERC-4337-compatible smart account, based on Solady's ERC4337 account implementation with inspiration from Alchemy's LightAccount and Daimo's DaimoAccount.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/GianoSmartWallet.sol\":\"GianoSmartWallet\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@account-abstraction/contracts/core/Helpers.sol\":{\"keccak256\":\"0x6247e011a6cb0b263b3aa098822977181674d91b62e5bdfe04c6e66f72da25d6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ca829a69b3fbc74fec8e140d42a2bf93bc3512609272f031c846470f61f0ab7e\",\"dweb:/ipfs/QmP3r3MBgAN39KeVB1rCGJWwcBcotNt26ALtAR54poQ1Jc\"]},\"@account-abstraction/contracts/core/UserOperationLib.sol\":{\"keccak256\":\"0x9d50ece985d35f82e33e5da417595c86fac10449e3d10895d08363d33aad454b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b1d11cc364c8bf7ed5388268c895b5ffed16e87dfbcb320ddeeba5e7974315dc\",\"dweb:/ipfs/QmYSpvjxEjweietQrYZagwQ52ipy7eXx4rwvnTzXKeGeMS\"]},\"@account-abstraction/contracts/interfaces/IAccount.sol\":{\"keccak256\":\"0x38710bec0cb20ff4ceef46a80475b5bdabc27b7efd2687fd473db68332f61b78\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://dea7a723e1ef852e8764e69914a345d2e8bc5e13facfc9d5c29d791cb4ab0020\",\"dweb:/ipfs/QmU8dYgyF4DBJXFqjwLAtnE3q8q259ChfoEk9a6wyhHzEP\"]},\"@account-abstraction/contracts/interfaces/PackedUserOperation.sol\":{\"keccak256\":\"0x1129b46381db68eddbc5cb49e50664667b66b03c480453858e7b25eabe444359\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://499a948aba60480dba6e25c763b8d918f1c246eb7a3302e04f493e080f3295be\",\"dweb:/ipfs/QmeRhhswf4NACcBKam2PyjpTP2ddSm648kah5kkQJsvwz3\"]},\"FreshCryptoLib/FCL_ecdsa.sol\":{\"keccak256\":\"0x679d2e9a655cd7e156a0cfc24de0aca88d4e0b34a8e0dfe6a599f23af092f5a2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db31eb84c6f854f076d2501e3d8b5a606fb4924168bdfc6fc3de84e67ed8a80d\",\"dweb:/ipfs/QmWGAmc7B4aT6Ki52uF9QmPQKWipaptit7r3JknBHjUGfe\"]},\"FreshCryptoLib/FCL_elliptic.sol\":{\"keccak256\":\"0xac7bb3260a446851f45b8cb71e31d64ca469d7711ed04662092a9554f1283a38\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f9b0dc5a2306ad3f3a0ff4a5b947fe49422181e97c163ea237fc8bfc6736429d\",\"dweb:/ipfs/QmeruF7BvG5BNnqwqwdshoVXuXqXtajbUYB19KwPynHrQE\"]},\"openzeppelin-contracts/contracts/utils/Base64.sol\":{\"keccak256\":\"0xbee2b819e1b4bf569ffc1b1b9d560b4abd6a589575f3093edaab9244de18a0c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e478c0e9bbf3eb8cd3b7784f9b397603e34747f9ffd16571ed1d89ce102de389\",\"dweb:/ipfs/QmZ6zXpwy5xRxx9RkodJmDZSUTeEqPQUanAC5TUoYqW2VR\"]},\"solady/accounts/Receiver.sol\":{\"keccak256\":\"0xc879aa81dd5639f5fd97b31acd91658ffe33ae4b72b70ed7bd701c37addce43b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2e03a8d37d48644857d94f7432c1e2272bfd19649dfe80aba8f979f157f71f00\",\"dweb:/ipfs/QmWWS34bNWhiZgLXS9gtD8N2dxreRsVXxhvQRKqd4wKUuU\"]},\"solady/utils/CallContextChecker.sol\":{\"keccak256\":\"0xc54c743a03f4909826712e9c6b683ca95e8b0c120c55284a9e3572621ebd734b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3d3138009aba3d2fd310636f3cc1d6029e970c57ddb74693bebf2a02d3e6f12d\",\"dweb:/ipfs/QmauMpcVDyQqVnAUF75DXy831LvtxyFS7GND7kge1Zgw55\"]},\"solady/utils/LibBytes.sol\":{\"keccak256\":\"0x320c3c933df51e8fd6f1fc96de721c8cc6f1be1d4c586c11f1c472a23b86eba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cec71f42247eda74535c6e695a2ac194268a342594a26c090bafd04434698b20\",\"dweb:/ipfs/QmXA8Qaw6DdWujdrNHMHpDLNGG4QCgC859ozivrxkxp7Ea\"]},\"solady/utils/LibString.sol\":{\"keccak256\":\"0x8a6b219f6ccda90c08e2debae62618d78d6f0cef086eb6c9503793d7f12815dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d1301acbf7371cb51ab01fe3bee8a9b732ee0bcf6cc0db20ed5a3fb9241d675e\",\"dweb:/ipfs/QmXuM4tSfPDeFRvP3nEQmuezp1yEm4HxyWtU41FjiCdxAG\"]},\"solady/utils/SignatureCheckerLib.sol\":{\"keccak256\":\"0x098c7eb88b3048f227b240e0e5bf1da4a8f7622b30f6d7c06416bfcab3225e77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c2766f652916c5d6433665fb1c3b2f04c3d9292a35c12e0f8d7c71dd6438cb\",\"dweb:/ipfs/QmWTMwN2RDZUUPg7KkH1qFBjTSh84Zw8bbYwRBCQUtLN2h\"]},\"solady/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x63899eaf1a24713464b8084ada33a83c4b7db789fe83ae22f016e39646bee361\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://617fa735ffa8ba31051745614a508abd69d2cfc1b1bc1eb3c772865db5f7ce65\",\"dweb:/ipfs/QmR1pQbHPyXcLbFm2vHrXBs1qRFrGC22gF7wWYamYy8aaE\"]},\"src/AuthenticatedStaticCaller.sol\":{\"keccak256\":\"0x06bb6bea86630eda0e5920c4fe4a5d51e89d18072faf7c4b5d7ae8ca82b87b94\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2920f02558ea8bbe8ca21cbe1bcbbea7d3c4d7f0d3e812cde706f95c53b399aa\",\"dweb:/ipfs/QmaNpbMazUf1n6hpXSMq7RDJix7ipPiALKE93fMmBtbS4A\"]},\"src/ERC1271.sol\":{\"keccak256\":\"0x75c3fe08b6e1789dab7714196704f425d1afea21d725fcb6c418a70ef5bf6fad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dd292bcf9b1891abb517323636493499dbdd00bebc1f759c07fb26e103a1b71d\",\"dweb:/ipfs/QmWMT3C54pakfUCTkcPzFQAvE8nRnPqDDpFaDhY5A9fpEp\"]},\"src/GianoSmartWallet.sol\":{\"keccak256\":\"0xf05cb23f0bb419a8c28816e04968fdff321c043773bb079fc6c7a9d04e84d5ce\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded464f8e431d9dc99944dcf6b915dea80540747c2a0e8bc67a386036c840de8\",\"dweb:/ipfs/QmZ7uhKaEsNtfJnqyE4Zz3VR3oiM9aykYnEV9xBH3oEpze\"]},\"src/MultiOwnable.sol\":{\"keccak256\":\"0x46a9fa25c7de87b56df47b67d61b6efd96ed3f382c5d440d04de55fa23bccadd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75ac03bdfdddec29b0b1f4f9c33add4b5b9d5400b1a54691a544a59ac710de5c\",\"dweb:/ipfs/QmXajkF7z8rqmDE89H4uVaKCDyQsdwphif8BHZLLu9MQ5k\"]},\"webauthn-sol/WebAuthn.sol\":{\"keccak256\":\"0x8b940975249f72155110e5e5b4611fc9031330538183862b9d8f12ea7c30ad25\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://433957720c13a834b9aab98a5054e9dabe5c660a1a3fb267e6ad1a22b99b68ed\",\"dweb:/ipfs/QmTkQxCCf8kDAHa6rBwLT2mxFXN3tSAWyx4rLmgcLkFkRh\"]}},\"version\":1}" } }, "src/GianoSmartWalletFactory.sol": { @@ -238220,11 +263984,41 @@ "stateMutability": "payable", "type": "constructor" }, + { + "inputs": [], + "name": "ImplementationUndeployed", + "type": "error" + }, { "inputs": [], "name": "OwnerRequired", "type": "error" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes[]", + "name": "owners", + "type": "bytes[]" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + } + ], + "name": "AccountCreated", + "type": "event" + }, { "inputs": [ { @@ -238305,46 +264099,52 @@ "functionDebugData": {}, "generatedSources": [], "linkReferences": {}, - "object": "60a0601f61059938819003918201601f19168301916001600160401b0383118484101761007d5780849260209460405283398101031261007857516001600160a01b0381168103610078576080526040516105059081610094823960805181818160600152818160a501528181610148015261029d0152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561001257600080fd5b6000803560e01c8063250b1b411461027f5780633ffba36f146100d45780635c60da1b1461008f5763db4c545e1461004957600080fd5b3461008c578060031936011261008c5760206100847f000000000000000000000000000000000000000000000000000000000000000061045c565b604051908152f35b80fd5b503461008c578060031936011261008c576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b506100de366102f1565b81939115610270576100f1908484610420565b918193604051947fcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f36060527f5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e20766040526160096020527f0000000000000000000000000000000000000000000000000000000000000000601e5268603d3d8160223d3973600a52605f60212060358701523060581b865260ff86538460158701526055862090341595823b1561025457505060019461024f578338818034855af115610242575b604086905260608490526001600160a01b031693156101dc575b602084604051908152f35b833b1561023e578461020684938293633796f38760e11b8452602060048501526024840191610386565b038183865af192831561023157602093610221575b806101d1565b8161022b9161034e565b3861021b565b50604051903d90823e3d90fd5b8280fd5b63b12d13eb84526004601cfd5b6101b7565b91509450605f602134f5806101b757633011642584526004601cfd5b633c776be160e01b8252600482fd5b503461008c576020906102c7610294366102f1565b906102c19392937f000000000000000000000000000000000000000000000000000000000000000061045c565b93610420565b9060ff83536035523060601b60015260155260558120906035526040519060018060a01b03168152f35b9060406003198301126103495760043567ffffffffffffffff811161034957826023820112156103495780600401359267ffffffffffffffff84116103495760248460051b8301011161034957602401919060243590565b600080fd5b90601f8019910116810190811067ffffffffffffffff82111761037057604052565b634e487b7160e01b600052604160045260246000fd5b90602083828152019060208160051b85010193836000915b8383106103ae5750505050505090565b909192939495601f198282030186528635601e1984360301811215610349578301906020823592019167ffffffffffffffff8111610349578036038313610349576020828280600196849695859652848401376000828201840152601f01601f1916010198019601949301919061039e565b6104569061044292936040519384926020840196604088526060850191610386565b90604083015203601f19810183528261034e565b51902090565b90604051917fcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f36060527f5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e2076604052616009602052601e5268603d3d8160223d3973600a52605f60212091604052600060605256fea2646970667358221220f185e7189731d307fa4ff3e25125ee2a0fcaea1fb6b56f6504f894f0d3acd44464736f6c634300081c0033", - "opcodes": "PUSH1 0xA0 PUSH1 0x1F PUSH2 0x599 CODESIZE DUP2 SWAP1 SUB SWAP2 DUP3 ADD PUSH1 0x1F NOT AND DUP4 ADD SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 GT DUP5 DUP5 LT OR PUSH2 0x7D JUMPI DUP1 DUP5 SWAP3 PUSH1 0x20 SWAP5 PUSH1 0x40 MSTORE DUP4 CODECOPY DUP2 ADD SUB SLT PUSH2 0x78 JUMPI MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 SUB PUSH2 0x78 JUMPI PUSH1 0x80 MSTORE PUSH1 0x40 MLOAD PUSH2 0x505 SWAP1 DUP2 PUSH2 0x94 DUP3 CODECOPY PUSH1 0x80 MLOAD DUP2 DUP2 DUP2 PUSH1 0x60 ADD MSTORE DUP2 DUP2 PUSH1 0xA5 ADD MSTORE DUP2 DUP2 PUSH2 0x148 ADD MSTORE PUSH2 0x29D ADD MSTORE RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x12 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x250B1B41 EQ PUSH2 0x27F JUMPI DUP1 PUSH4 0x3FFBA36F EQ PUSH2 0xD4 JUMPI DUP1 PUSH4 0x5C60DA1B EQ PUSH2 0x8F JUMPI PUSH4 0xDB4C545E EQ PUSH2 0x49 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x8C JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x8C JUMPI PUSH1 0x20 PUSH2 0x84 PUSH32 0x0 PUSH2 0x45C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0x8C JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x8C JUMPI PUSH1 0x40 MLOAD PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 SWAP1 RETURN JUMPDEST POP PUSH2 0xDE CALLDATASIZE PUSH2 0x2F1 JUMP JUMPDEST DUP2 SWAP4 SWAP2 ISZERO PUSH2 0x270 JUMPI PUSH2 0xF1 SWAP1 DUP5 DUP5 PUSH2 0x420 JUMP JUMPDEST SWAP2 DUP2 SWAP4 PUSH1 0x40 MLOAD SWAP5 PUSH32 0xCC3735A920A3CA505D382BBC545AF43D6000803E6038573D6000FD5B3D6000F3 PUSH1 0x60 MSTORE PUSH32 0x5155F3363D3D373D3D363D7F360894A13BA1A3210667C828492DB98DCA3E2076 PUSH1 0x40 MSTORE PUSH2 0x6009 PUSH1 0x20 MSTORE PUSH32 0x0 PUSH1 0x1E MSTORE PUSH9 0x603D3D8160223D3973 PUSH1 0xA MSTORE PUSH1 0x5F PUSH1 0x21 KECCAK256 PUSH1 0x35 DUP8 ADD MSTORE ADDRESS PUSH1 0x58 SHL DUP7 MSTORE PUSH1 0xFF DUP7 MSTORE8 DUP5 PUSH1 0x15 DUP8 ADD MSTORE PUSH1 0x55 DUP7 KECCAK256 SWAP1 CALLVALUE ISZERO SWAP6 DUP3 EXTCODESIZE ISZERO PUSH2 0x254 JUMPI POP POP PUSH1 0x1 SWAP5 PUSH2 0x24F JUMPI DUP4 CODESIZE DUP2 DUP1 CALLVALUE DUP6 GAS CALL ISZERO PUSH2 0x242 JUMPI JUMPDEST PUSH1 0x40 DUP7 SWAP1 MSTORE PUSH1 0x60 DUP5 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP4 ISZERO PUSH2 0x1DC JUMPI JUMPDEST PUSH1 0x20 DUP5 PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP4 EXTCODESIZE ISZERO PUSH2 0x23E JUMPI DUP5 PUSH2 0x206 DUP5 SWAP4 DUP3 SWAP4 PUSH4 0x3796F387 PUSH1 0xE1 SHL DUP5 MSTORE PUSH1 0x20 PUSH1 0x4 DUP6 ADD MSTORE PUSH1 0x24 DUP5 ADD SWAP2 PUSH2 0x386 JUMP JUMPDEST SUB DUP2 DUP4 DUP7 GAS CALL SWAP3 DUP4 ISZERO PUSH2 0x231 JUMPI PUSH1 0x20 SWAP4 PUSH2 0x221 JUMPI JUMPDEST DUP1 PUSH2 0x1D1 JUMP JUMPDEST DUP2 PUSH2 0x22B SWAP2 PUSH2 0x34E JUMP JUMPDEST CODESIZE PUSH2 0x21B JUMP JUMPDEST POP PUSH1 0x40 MLOAD SWAP1 RETURNDATASIZE SWAP1 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP3 DUP1 REVERT JUMPDEST PUSH4 0xB12D13EB DUP5 MSTORE PUSH1 0x4 PUSH1 0x1C REVERT JUMPDEST PUSH2 0x1B7 JUMP JUMPDEST SWAP2 POP SWAP5 POP PUSH1 0x5F PUSH1 0x21 CALLVALUE CREATE2 DUP1 PUSH2 0x1B7 JUMPI PUSH4 0x30116425 DUP5 MSTORE PUSH1 0x4 PUSH1 0x1C REVERT JUMPDEST PUSH4 0x3C776BE1 PUSH1 0xE0 SHL DUP3 MSTORE PUSH1 0x4 DUP3 REVERT JUMPDEST POP CALLVALUE PUSH2 0x8C JUMPI PUSH1 0x20 SWAP1 PUSH2 0x2C7 PUSH2 0x294 CALLDATASIZE PUSH2 0x2F1 JUMP JUMPDEST SWAP1 PUSH2 0x2C1 SWAP4 SWAP3 SWAP4 PUSH32 0x0 PUSH2 0x45C JUMP JUMPDEST SWAP4 PUSH2 0x420 JUMP JUMPDEST SWAP1 PUSH1 0xFF DUP4 MSTORE8 PUSH1 0x35 MSTORE ADDRESS PUSH1 0x60 SHL PUSH1 0x1 MSTORE PUSH1 0x15 MSTORE PUSH1 0x55 DUP2 KECCAK256 SWAP1 PUSH1 0x35 MSTORE PUSH1 0x40 MLOAD SWAP1 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE RETURN JUMPDEST SWAP1 PUSH1 0x40 PUSH1 0x3 NOT DUP4 ADD SLT PUSH2 0x349 JUMPI PUSH1 0x4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x349 JUMPI DUP3 PUSH1 0x23 DUP3 ADD SLT ISZERO PUSH2 0x349 JUMPI DUP1 PUSH1 0x4 ADD CALLDATALOAD SWAP3 PUSH8 0xFFFFFFFFFFFFFFFF DUP5 GT PUSH2 0x349 JUMPI PUSH1 0x24 DUP5 PUSH1 0x5 SHL DUP4 ADD ADD GT PUSH2 0x349 JUMPI PUSH1 0x24 ADD SWAP2 SWAP1 PUSH1 0x24 CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x1F DUP1 NOT SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x370 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x20 DUP4 DUP3 DUP2 MSTORE ADD SWAP1 PUSH1 0x20 DUP2 PUSH1 0x5 SHL DUP6 ADD ADD SWAP4 DUP4 PUSH1 0x0 SWAP2 JUMPDEST DUP4 DUP4 LT PUSH2 0x3AE JUMPI POP POP POP POP POP POP SWAP1 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 SWAP6 PUSH1 0x1F NOT DUP3 DUP3 SUB ADD DUP7 MSTORE DUP7 CALLDATALOAD PUSH1 0x1E NOT DUP5 CALLDATASIZE SUB ADD DUP2 SLT ISZERO PUSH2 0x349 JUMPI DUP4 ADD SWAP1 PUSH1 0x20 DUP3 CALLDATALOAD SWAP3 ADD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x349 JUMPI DUP1 CALLDATASIZE SUB DUP4 SGT PUSH2 0x349 JUMPI PUSH1 0x20 DUP3 DUP3 DUP1 PUSH1 0x1 SWAP7 DUP5 SWAP7 SWAP6 DUP6 SWAP7 MSTORE DUP5 DUP5 ADD CALLDATACOPY PUSH1 0x0 DUP3 DUP3 ADD DUP5 ADD MSTORE PUSH1 0x1F ADD PUSH1 0x1F NOT AND ADD ADD SWAP9 ADD SWAP7 ADD SWAP5 SWAP4 ADD SWAP2 SWAP1 PUSH2 0x39E JUMP JUMPDEST PUSH2 0x456 SWAP1 PUSH2 0x442 SWAP3 SWAP4 PUSH1 0x40 MLOAD SWAP4 DUP5 SWAP3 PUSH1 0x20 DUP5 ADD SWAP7 PUSH1 0x40 DUP9 MSTORE PUSH1 0x60 DUP6 ADD SWAP2 PUSH2 0x386 JUMP JUMPDEST SWAP1 PUSH1 0x40 DUP4 ADD MSTORE SUB PUSH1 0x1F NOT DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x34E JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x40 MLOAD SWAP2 PUSH32 0xCC3735A920A3CA505D382BBC545AF43D6000803E6038573D6000FD5B3D6000F3 PUSH1 0x60 MSTORE PUSH32 0x5155F3363D3D373D3D363D7F360894A13BA1A3210667C828492DB98DCA3E2076 PUSH1 0x40 MSTORE PUSH2 0x6009 PUSH1 0x20 MSTORE PUSH1 0x1E MSTORE PUSH9 0x603D3D8160223D3973 PUSH1 0xA MSTORE PUSH1 0x5F PUSH1 0x21 KECCAK256 SWAP2 PUSH1 0x40 MSTORE PUSH1 0x0 PUSH1 0x60 MSTORE JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CALL DUP6 0xE7 XOR SWAP8 BALANCE 0xD3 SMOD STATICCALL 0x4F RETURN 0xE2 MLOAD 0x25 0xEE 0x2A 0xF 0xCA 0xEA 0x1F 0xB6 0xB5 PUSH16 0x6504F894F0D3ACD44464736F6C634300 ADDMOD SHR STOP CALLER ", - "sourceMap": "525:3300:18:-:0;;;;;;;;;;-1:-1:-1;;525:3300:18;;;;-1:-1:-1;;;;;525:3300:18;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;525:3300:18;;;;;;1156:32;;525:3300;;;;;;;;1156:32;525:3300;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;525:3300:18;;;;;;-1:-1:-1;525:3300:18;;;;;-1:-1:-1;525:3300:18" + "object": "60a0601f6105fc38819003918201601f19168301916001600160401b038311848410176100955780849260209460405283398101031261009057516001600160a01b038116810361009057803b1561007f5760805260405161055090816100ac823960805181818160600152818160a50152818161014801526102d90152f35b63870dfeb760e01b60005260046000fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561001257600080fd5b6000803560e01c8063250b1b41146102bb5780633ffba36f146100d45780635c60da1b1461008f5763db4c545e1461004957600080fd5b3461008c578060031936011261008c5760206100847f00000000000000000000000000000000000000000000000000000000000000006104a7565b604051908152f35b80fd5b503461008c578060031936011261008c576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b506100de3661032d565b919080156102ac576100f1838284610479565b928490604051917fcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f36060527f5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e20766040526160096020527f0000000000000000000000000000000000000000000000000000000000000000601e5268603d3d8160223d3973600a52605f60212060358401523060581b835260ff83538560158401526055832090341596823b1561029057505060019561028b578638818034855af11561027e575b604083905260608790526001600160a01b031694156101dc575b602085604051908152f35b818061020c7ff8e246d8281c915feaf5c1ffd75d9a144f6dbdbbf545e286088661b19d8028f49386888a97610424565b0390a2823b1561027a57604051633796f38760e11b81526020600482015293918291859182916102419160248401919061038a565b038183865af192831561026d5760209361025d575b80806101d1565b8161026791610441565b38610256565b50604051903d90823e3d90fd5b8380fd5b63b12d13eb87526004601cfd5b6101b7565b91509550605f602134f5806101b757633011642587526004601cfd5b633c776be160e01b8452600484fd5b503461008c576020906103036102d03661032d565b906102fd9392937f00000000000000000000000000000000000000000000000000000000000000006104a7565b93610479565b9060ff83536035523060601b60015260155260558120906035526040519060018060a01b03168152f35b9060406003198301126103855760043567ffffffffffffffff811161038557826023820112156103855780600401359267ffffffffffffffff84116103855760248460051b8301011161038557602401919060243590565b600080fd5b90602083828152019060208160051b85010193836000915b8383106103b25750505050505090565b909192939495601f198282030186528635601e1984360301811215610385578301906020823592019167ffffffffffffffff8111610385578036038313610385576020828280600196849695859652848401376000828201840152601f01601f191601019801960194930191906103a2565b93929160209161043c9160408752604087019161038a565b930152565b90601f8019910116810190811067ffffffffffffffff82111761046357604052565b634e487b7160e01b600052604160045260246000fd5b91906104a190610493604051938492602084019687610424565b03601f198101835282610441565b51902090565b90604051917fcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f36060527f5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e2076604052616009602052601e5268603d3d8160223d3973600a52605f60212091604052600060605256fea264697066735822122079a7c0317042da2b1872c462530ee18db5a88a17ac87cadab45f8223d673b7e764736f6c634300081c0033", + "opcodes": "PUSH1 0xA0 PUSH1 0x1F PUSH2 0x5FC CODESIZE DUP2 SWAP1 SUB SWAP2 DUP3 ADD PUSH1 0x1F NOT AND DUP4 ADD SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 GT DUP5 DUP5 LT OR PUSH2 0x95 JUMPI DUP1 DUP5 SWAP3 PUSH1 0x20 SWAP5 PUSH1 0x40 MSTORE DUP4 CODECOPY DUP2 ADD SUB SLT PUSH2 0x90 JUMPI MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 SUB PUSH2 0x90 JUMPI DUP1 EXTCODESIZE ISZERO PUSH2 0x7F JUMPI PUSH1 0x80 MSTORE PUSH1 0x40 MLOAD PUSH2 0x550 SWAP1 DUP2 PUSH2 0xAC DUP3 CODECOPY PUSH1 0x80 MLOAD DUP2 DUP2 DUP2 PUSH1 0x60 ADD MSTORE DUP2 DUP2 PUSH1 0xA5 ADD MSTORE DUP2 DUP2 PUSH2 0x148 ADD MSTORE PUSH2 0x2D9 ADD MSTORE RETURN JUMPDEST PUSH4 0x870DFEB7 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x12 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x250B1B41 EQ PUSH2 0x2BB JUMPI DUP1 PUSH4 0x3FFBA36F EQ PUSH2 0xD4 JUMPI DUP1 PUSH4 0x5C60DA1B EQ PUSH2 0x8F JUMPI PUSH4 0xDB4C545E EQ PUSH2 0x49 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x8C JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x8C JUMPI PUSH1 0x20 PUSH2 0x84 PUSH32 0x0 PUSH2 0x4A7 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0x8C JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x8C JUMPI PUSH1 0x40 MLOAD PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 SWAP1 RETURN JUMPDEST POP PUSH2 0xDE CALLDATASIZE PUSH2 0x32D JUMP JUMPDEST SWAP2 SWAP1 DUP1 ISZERO PUSH2 0x2AC JUMPI PUSH2 0xF1 DUP4 DUP3 DUP5 PUSH2 0x479 JUMP JUMPDEST SWAP3 DUP5 SWAP1 PUSH1 0x40 MLOAD SWAP2 PUSH32 0xCC3735A920A3CA505D382BBC545AF43D6000803E6038573D6000FD5B3D6000F3 PUSH1 0x60 MSTORE PUSH32 0x5155F3363D3D373D3D363D7F360894A13BA1A3210667C828492DB98DCA3E2076 PUSH1 0x40 MSTORE PUSH2 0x6009 PUSH1 0x20 MSTORE PUSH32 0x0 PUSH1 0x1E MSTORE PUSH9 0x603D3D8160223D3973 PUSH1 0xA MSTORE PUSH1 0x5F PUSH1 0x21 KECCAK256 PUSH1 0x35 DUP5 ADD MSTORE ADDRESS PUSH1 0x58 SHL DUP4 MSTORE PUSH1 0xFF DUP4 MSTORE8 DUP6 PUSH1 0x15 DUP5 ADD MSTORE PUSH1 0x55 DUP4 KECCAK256 SWAP1 CALLVALUE ISZERO SWAP7 DUP3 EXTCODESIZE ISZERO PUSH2 0x290 JUMPI POP POP PUSH1 0x1 SWAP6 PUSH2 0x28B JUMPI DUP7 CODESIZE DUP2 DUP1 CALLVALUE DUP6 GAS CALL ISZERO PUSH2 0x27E JUMPI JUMPDEST PUSH1 0x40 DUP4 SWAP1 MSTORE PUSH1 0x60 DUP8 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP5 ISZERO PUSH2 0x1DC JUMPI JUMPDEST PUSH1 0x20 DUP6 PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP2 DUP1 PUSH2 0x20C PUSH32 0xF8E246D8281C915FEAF5C1FFD75D9A144F6DBDBBF545E286088661B19D8028F4 SWAP4 DUP7 DUP9 DUP11 SWAP8 PUSH2 0x424 JUMP JUMPDEST SUB SWAP1 LOG2 DUP3 EXTCODESIZE ISZERO PUSH2 0x27A JUMPI PUSH1 0x40 MLOAD PUSH4 0x3796F387 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE SWAP4 SWAP2 DUP3 SWAP2 DUP6 SWAP2 DUP3 SWAP2 PUSH2 0x241 SWAP2 PUSH1 0x24 DUP5 ADD SWAP2 SWAP1 PUSH2 0x38A JUMP JUMPDEST SUB DUP2 DUP4 DUP7 GAS CALL SWAP3 DUP4 ISZERO PUSH2 0x26D JUMPI PUSH1 0x20 SWAP4 PUSH2 0x25D JUMPI JUMPDEST DUP1 DUP1 PUSH2 0x1D1 JUMP JUMPDEST DUP2 PUSH2 0x267 SWAP2 PUSH2 0x441 JUMP JUMPDEST CODESIZE PUSH2 0x256 JUMP JUMPDEST POP PUSH1 0x40 MLOAD SWAP1 RETURNDATASIZE SWAP1 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP4 DUP1 REVERT JUMPDEST PUSH4 0xB12D13EB DUP8 MSTORE PUSH1 0x4 PUSH1 0x1C REVERT JUMPDEST PUSH2 0x1B7 JUMP JUMPDEST SWAP2 POP SWAP6 POP PUSH1 0x5F PUSH1 0x21 CALLVALUE CREATE2 DUP1 PUSH2 0x1B7 JUMPI PUSH4 0x30116425 DUP8 MSTORE PUSH1 0x4 PUSH1 0x1C REVERT JUMPDEST PUSH4 0x3C776BE1 PUSH1 0xE0 SHL DUP5 MSTORE PUSH1 0x4 DUP5 REVERT JUMPDEST POP CALLVALUE PUSH2 0x8C JUMPI PUSH1 0x20 SWAP1 PUSH2 0x303 PUSH2 0x2D0 CALLDATASIZE PUSH2 0x32D JUMP JUMPDEST SWAP1 PUSH2 0x2FD SWAP4 SWAP3 SWAP4 PUSH32 0x0 PUSH2 0x4A7 JUMP JUMPDEST SWAP4 PUSH2 0x479 JUMP JUMPDEST SWAP1 PUSH1 0xFF DUP4 MSTORE8 PUSH1 0x35 MSTORE ADDRESS PUSH1 0x60 SHL PUSH1 0x1 MSTORE PUSH1 0x15 MSTORE PUSH1 0x55 DUP2 KECCAK256 SWAP1 PUSH1 0x35 MSTORE PUSH1 0x40 MLOAD SWAP1 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE RETURN JUMPDEST SWAP1 PUSH1 0x40 PUSH1 0x3 NOT DUP4 ADD SLT PUSH2 0x385 JUMPI PUSH1 0x4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x385 JUMPI DUP3 PUSH1 0x23 DUP3 ADD SLT ISZERO PUSH2 0x385 JUMPI DUP1 PUSH1 0x4 ADD CALLDATALOAD SWAP3 PUSH8 0xFFFFFFFFFFFFFFFF DUP5 GT PUSH2 0x385 JUMPI PUSH1 0x24 DUP5 PUSH1 0x5 SHL DUP4 ADD ADD GT PUSH2 0x385 JUMPI PUSH1 0x24 ADD SWAP2 SWAP1 PUSH1 0x24 CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x20 DUP4 DUP3 DUP2 MSTORE ADD SWAP1 PUSH1 0x20 DUP2 PUSH1 0x5 SHL DUP6 ADD ADD SWAP4 DUP4 PUSH1 0x0 SWAP2 JUMPDEST DUP4 DUP4 LT PUSH2 0x3B2 JUMPI POP POP POP POP POP POP SWAP1 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 SWAP6 PUSH1 0x1F NOT DUP3 DUP3 SUB ADD DUP7 MSTORE DUP7 CALLDATALOAD PUSH1 0x1E NOT DUP5 CALLDATASIZE SUB ADD DUP2 SLT ISZERO PUSH2 0x385 JUMPI DUP4 ADD SWAP1 PUSH1 0x20 DUP3 CALLDATALOAD SWAP3 ADD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x385 JUMPI DUP1 CALLDATASIZE SUB DUP4 SGT PUSH2 0x385 JUMPI PUSH1 0x20 DUP3 DUP3 DUP1 PUSH1 0x1 SWAP7 DUP5 SWAP7 SWAP6 DUP6 SWAP7 MSTORE DUP5 DUP5 ADD CALLDATACOPY PUSH1 0x0 DUP3 DUP3 ADD DUP5 ADD MSTORE PUSH1 0x1F ADD PUSH1 0x1F NOT AND ADD ADD SWAP9 ADD SWAP7 ADD SWAP5 SWAP4 ADD SWAP2 SWAP1 PUSH2 0x3A2 JUMP JUMPDEST SWAP4 SWAP3 SWAP2 PUSH1 0x20 SWAP2 PUSH2 0x43C SWAP2 PUSH1 0x40 DUP8 MSTORE PUSH1 0x40 DUP8 ADD SWAP2 PUSH2 0x38A JUMP JUMPDEST SWAP4 ADD MSTORE JUMP JUMPDEST SWAP1 PUSH1 0x1F DUP1 NOT SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x463 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 SWAP1 PUSH2 0x4A1 SWAP1 PUSH2 0x493 PUSH1 0x40 MLOAD SWAP4 DUP5 SWAP3 PUSH1 0x20 DUP5 ADD SWAP7 DUP8 PUSH2 0x424 JUMP JUMPDEST SUB PUSH1 0x1F NOT DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x441 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x40 MLOAD SWAP2 PUSH32 0xCC3735A920A3CA505D382BBC545AF43D6000803E6038573D6000FD5B3D6000F3 PUSH1 0x60 MSTORE PUSH32 0x5155F3363D3D373D3D363D7F360894A13BA1A3210667C828492DB98DCA3E2076 PUSH1 0x40 MSTORE PUSH2 0x6009 PUSH1 0x20 MSTORE PUSH1 0x1E MSTORE PUSH9 0x603D3D8160223D3973 PUSH1 0xA MSTORE PUSH1 0x5F PUSH1 0x21 KECCAK256 SWAP2 PUSH1 0x40 MSTORE PUSH1 0x0 PUSH1 0x60 MSTORE JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH26 0xA7C0317042DA2B1872C462530EE18DB5A88A17AC87CADAB45F82 0x23 0xD6 PUSH20 0xB7E764736F6C634300081C003300000000000000 ", + "sourceMap": "525:3885:31:-:0;;;;;;;;;;-1:-1:-1;;525:3885:31;;;;-1:-1:-1;;;;;525:3885:31;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;525:3885:31;;;;;;1600:27;;:32;1596:71;;1677:32;;525:3885;;;;;;;;1677:32;525:3885;;;;;;;;;;;;;;;;;;;;;1596:71;1641:26;;;-1:-1:-1;1641:26:31;;-1:-1:-1;1641:26:31;525:3885;-1:-1:-1;525:3885:31;;;;;;-1:-1:-1;525:3885:31;;;;;-1:-1:-1;525:3885:31" }, "deployedBytecode": { "functionDebugData": { "abi_decode_array_bytes_calldata_dyn_calldatat_uint256": { - "entryPoint": 753, + "entryPoint": 813, "id": null, "parameterSlots": 1, "returnSlots": 3 }, "abi_encode_array_bytes_calldata_dyn_calldata": { - "entryPoint": 902, + "entryPoint": 906, "id": null, "parameterSlots": 3, "returnSlots": 1 }, + "abi_encode_array_bytes_calldata_dyn_calldata_uint256": { + "entryPoint": 1060, + "id": null, + "parameterSlots": 4, + "returnSlots": 1 + }, "finalize_allocation": { - "entryPoint": 846, + "entryPoint": 1089, "id": null, "parameterSlots": 2, "returnSlots": 0 }, "fun_getSalt": { - "entryPoint": 1056, - "id": 7644, + "entryPoint": 1145, + "id": 9356, "parameterSlots": 3, "returnSlots": 1 }, "fun_initCodeHashERC1967": { - "entryPoint": 1116, - "id": 3651, + "entryPoint": 1191, + "id": 5257, "parameterSlots": 1, "returnSlots": 1 } }, "generatedSources": [], "immutableReferences": { - "7516": [ + "9200": [ { "length": 32, "start": 96 @@ -238359,14 +264159,14 @@ }, { "length": 32, - "start": 669 + "start": 729 } ] }, "linkReferences": {}, - "object": "6080604052600436101561001257600080fd5b6000803560e01c8063250b1b411461027f5780633ffba36f146100d45780635c60da1b1461008f5763db4c545e1461004957600080fd5b3461008c578060031936011261008c5760206100847f000000000000000000000000000000000000000000000000000000000000000061045c565b604051908152f35b80fd5b503461008c578060031936011261008c576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b506100de366102f1565b81939115610270576100f1908484610420565b918193604051947fcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f36060527f5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e20766040526160096020527f0000000000000000000000000000000000000000000000000000000000000000601e5268603d3d8160223d3973600a52605f60212060358701523060581b865260ff86538460158701526055862090341595823b1561025457505060019461024f578338818034855af115610242575b604086905260608490526001600160a01b031693156101dc575b602084604051908152f35b833b1561023e578461020684938293633796f38760e11b8452602060048501526024840191610386565b038183865af192831561023157602093610221575b806101d1565b8161022b9161034e565b3861021b565b50604051903d90823e3d90fd5b8280fd5b63b12d13eb84526004601cfd5b6101b7565b91509450605f602134f5806101b757633011642584526004601cfd5b633c776be160e01b8252600482fd5b503461008c576020906102c7610294366102f1565b906102c19392937f000000000000000000000000000000000000000000000000000000000000000061045c565b93610420565b9060ff83536035523060601b60015260155260558120906035526040519060018060a01b03168152f35b9060406003198301126103495760043567ffffffffffffffff811161034957826023820112156103495780600401359267ffffffffffffffff84116103495760248460051b8301011161034957602401919060243590565b600080fd5b90601f8019910116810190811067ffffffffffffffff82111761037057604052565b634e487b7160e01b600052604160045260246000fd5b90602083828152019060208160051b85010193836000915b8383106103ae5750505050505090565b909192939495601f198282030186528635601e1984360301811215610349578301906020823592019167ffffffffffffffff8111610349578036038313610349576020828280600196849695859652848401376000828201840152601f01601f1916010198019601949301919061039e565b6104569061044292936040519384926020840196604088526060850191610386565b90604083015203601f19810183528261034e565b51902090565b90604051917fcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f36060527f5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e2076604052616009602052601e5268603d3d8160223d3973600a52605f60212091604052600060605256fea2646970667358221220f185e7189731d307fa4ff3e25125ee2a0fcaea1fb6b56f6504f894f0d3acd44464736f6c634300081c0033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x12 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x250B1B41 EQ PUSH2 0x27F JUMPI DUP1 PUSH4 0x3FFBA36F EQ PUSH2 0xD4 JUMPI DUP1 PUSH4 0x5C60DA1B EQ PUSH2 0x8F JUMPI PUSH4 0xDB4C545E EQ PUSH2 0x49 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x8C JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x8C JUMPI PUSH1 0x20 PUSH2 0x84 PUSH32 0x0 PUSH2 0x45C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0x8C JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x8C JUMPI PUSH1 0x40 MLOAD PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 SWAP1 RETURN JUMPDEST POP PUSH2 0xDE CALLDATASIZE PUSH2 0x2F1 JUMP JUMPDEST DUP2 SWAP4 SWAP2 ISZERO PUSH2 0x270 JUMPI PUSH2 0xF1 SWAP1 DUP5 DUP5 PUSH2 0x420 JUMP JUMPDEST SWAP2 DUP2 SWAP4 PUSH1 0x40 MLOAD SWAP5 PUSH32 0xCC3735A920A3CA505D382BBC545AF43D6000803E6038573D6000FD5B3D6000F3 PUSH1 0x60 MSTORE PUSH32 0x5155F3363D3D373D3D363D7F360894A13BA1A3210667C828492DB98DCA3E2076 PUSH1 0x40 MSTORE PUSH2 0x6009 PUSH1 0x20 MSTORE PUSH32 0x0 PUSH1 0x1E MSTORE PUSH9 0x603D3D8160223D3973 PUSH1 0xA MSTORE PUSH1 0x5F PUSH1 0x21 KECCAK256 PUSH1 0x35 DUP8 ADD MSTORE ADDRESS PUSH1 0x58 SHL DUP7 MSTORE PUSH1 0xFF DUP7 MSTORE8 DUP5 PUSH1 0x15 DUP8 ADD MSTORE PUSH1 0x55 DUP7 KECCAK256 SWAP1 CALLVALUE ISZERO SWAP6 DUP3 EXTCODESIZE ISZERO PUSH2 0x254 JUMPI POP POP PUSH1 0x1 SWAP5 PUSH2 0x24F JUMPI DUP4 CODESIZE DUP2 DUP1 CALLVALUE DUP6 GAS CALL ISZERO PUSH2 0x242 JUMPI JUMPDEST PUSH1 0x40 DUP7 SWAP1 MSTORE PUSH1 0x60 DUP5 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP4 ISZERO PUSH2 0x1DC JUMPI JUMPDEST PUSH1 0x20 DUP5 PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP4 EXTCODESIZE ISZERO PUSH2 0x23E JUMPI DUP5 PUSH2 0x206 DUP5 SWAP4 DUP3 SWAP4 PUSH4 0x3796F387 PUSH1 0xE1 SHL DUP5 MSTORE PUSH1 0x20 PUSH1 0x4 DUP6 ADD MSTORE PUSH1 0x24 DUP5 ADD SWAP2 PUSH2 0x386 JUMP JUMPDEST SUB DUP2 DUP4 DUP7 GAS CALL SWAP3 DUP4 ISZERO PUSH2 0x231 JUMPI PUSH1 0x20 SWAP4 PUSH2 0x221 JUMPI JUMPDEST DUP1 PUSH2 0x1D1 JUMP JUMPDEST DUP2 PUSH2 0x22B SWAP2 PUSH2 0x34E JUMP JUMPDEST CODESIZE PUSH2 0x21B JUMP JUMPDEST POP PUSH1 0x40 MLOAD SWAP1 RETURNDATASIZE SWAP1 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP3 DUP1 REVERT JUMPDEST PUSH4 0xB12D13EB DUP5 MSTORE PUSH1 0x4 PUSH1 0x1C REVERT JUMPDEST PUSH2 0x1B7 JUMP JUMPDEST SWAP2 POP SWAP5 POP PUSH1 0x5F PUSH1 0x21 CALLVALUE CREATE2 DUP1 PUSH2 0x1B7 JUMPI PUSH4 0x30116425 DUP5 MSTORE PUSH1 0x4 PUSH1 0x1C REVERT JUMPDEST PUSH4 0x3C776BE1 PUSH1 0xE0 SHL DUP3 MSTORE PUSH1 0x4 DUP3 REVERT JUMPDEST POP CALLVALUE PUSH2 0x8C JUMPI PUSH1 0x20 SWAP1 PUSH2 0x2C7 PUSH2 0x294 CALLDATASIZE PUSH2 0x2F1 JUMP JUMPDEST SWAP1 PUSH2 0x2C1 SWAP4 SWAP3 SWAP4 PUSH32 0x0 PUSH2 0x45C JUMP JUMPDEST SWAP4 PUSH2 0x420 JUMP JUMPDEST SWAP1 PUSH1 0xFF DUP4 MSTORE8 PUSH1 0x35 MSTORE ADDRESS PUSH1 0x60 SHL PUSH1 0x1 MSTORE PUSH1 0x15 MSTORE PUSH1 0x55 DUP2 KECCAK256 SWAP1 PUSH1 0x35 MSTORE PUSH1 0x40 MLOAD SWAP1 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE RETURN JUMPDEST SWAP1 PUSH1 0x40 PUSH1 0x3 NOT DUP4 ADD SLT PUSH2 0x349 JUMPI PUSH1 0x4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x349 JUMPI DUP3 PUSH1 0x23 DUP3 ADD SLT ISZERO PUSH2 0x349 JUMPI DUP1 PUSH1 0x4 ADD CALLDATALOAD SWAP3 PUSH8 0xFFFFFFFFFFFFFFFF DUP5 GT PUSH2 0x349 JUMPI PUSH1 0x24 DUP5 PUSH1 0x5 SHL DUP4 ADD ADD GT PUSH2 0x349 JUMPI PUSH1 0x24 ADD SWAP2 SWAP1 PUSH1 0x24 CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x1F DUP1 NOT SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x370 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x20 DUP4 DUP3 DUP2 MSTORE ADD SWAP1 PUSH1 0x20 DUP2 PUSH1 0x5 SHL DUP6 ADD ADD SWAP4 DUP4 PUSH1 0x0 SWAP2 JUMPDEST DUP4 DUP4 LT PUSH2 0x3AE JUMPI POP POP POP POP POP POP SWAP1 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 SWAP6 PUSH1 0x1F NOT DUP3 DUP3 SUB ADD DUP7 MSTORE DUP7 CALLDATALOAD PUSH1 0x1E NOT DUP5 CALLDATASIZE SUB ADD DUP2 SLT ISZERO PUSH2 0x349 JUMPI DUP4 ADD SWAP1 PUSH1 0x20 DUP3 CALLDATALOAD SWAP3 ADD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x349 JUMPI DUP1 CALLDATASIZE SUB DUP4 SGT PUSH2 0x349 JUMPI PUSH1 0x20 DUP3 DUP3 DUP1 PUSH1 0x1 SWAP7 DUP5 SWAP7 SWAP6 DUP6 SWAP7 MSTORE DUP5 DUP5 ADD CALLDATACOPY PUSH1 0x0 DUP3 DUP3 ADD DUP5 ADD MSTORE PUSH1 0x1F ADD PUSH1 0x1F NOT AND ADD ADD SWAP9 ADD SWAP7 ADD SWAP5 SWAP4 ADD SWAP2 SWAP1 PUSH2 0x39E JUMP JUMPDEST PUSH2 0x456 SWAP1 PUSH2 0x442 SWAP3 SWAP4 PUSH1 0x40 MLOAD SWAP4 DUP5 SWAP3 PUSH1 0x20 DUP5 ADD SWAP7 PUSH1 0x40 DUP9 MSTORE PUSH1 0x60 DUP6 ADD SWAP2 PUSH2 0x386 JUMP JUMPDEST SWAP1 PUSH1 0x40 DUP4 ADD MSTORE SUB PUSH1 0x1F NOT DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x34E JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x40 MLOAD SWAP2 PUSH32 0xCC3735A920A3CA505D382BBC545AF43D6000803E6038573D6000FD5B3D6000F3 PUSH1 0x60 MSTORE PUSH32 0x5155F3363D3D373D3D363D7F360894A13BA1A3210667C828492DB98DCA3E2076 PUSH1 0x40 MSTORE PUSH2 0x6009 PUSH1 0x20 MSTORE PUSH1 0x1E MSTORE PUSH9 0x603D3D8160223D3973 PUSH1 0xA MSTORE PUSH1 0x5F PUSH1 0x21 KECCAK256 SWAP2 PUSH1 0x40 MSTORE PUSH1 0x0 PUSH1 0x60 MSTORE JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CALL DUP6 0xE7 XOR SWAP8 BALANCE 0xD3 SMOD STATICCALL 0x4F RETURN 0xE2 MLOAD 0x25 0xEE 0x2A 0xF 0xCA 0xEA 0x1F 0xB6 0xB5 PUSH16 0x6504F894F0D3ACD44464736F6C634300 ADDMOD SHR STOP CALLER ", - "sourceMap": "525:3300:18:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;49637:1499:10;525:3300:18;49637:1499:10;;;525:3300:18;;;;;;;;;;;;;;;;;;;;3305:44;3334:14;3305:44;:::i;:::-;525:3300;;;;;;;;;;;;;;;;;;;;;;;;660:39;-1:-1:-1;;;;;525:3300:18;;;;;;;;;;;:::i;:::-;2081:18;;;;2077:71;;2270:23;;;;;:::i;:::-;2207:87;49540:20:10;49637:1499;525:3300:18;49637:1499:10;;;;;;525:3300:18;49637:1499:10;;;;2254:14:18;49637:1499:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;2243:9:18;;49637:1499:10;;;;;;;;;;;;;;;2243:9:18;;;49637:1499:10;;;;;;;525:3300:18;49637:1499:10;;;;;;;-1:-1:-1;;;;;525:3300:18;;2371:16;2367:73;;49637:1499:10;;525:3300:18;;;;;;;2367:73;2403:26;;;;;525:3300;;;;;;;;;2403:26;;49637:1499:10;525:3300:18;2403:26;;525:3300;;;;;;:::i;:::-;2403:26;;;;;;;;;;;49637:1499:10;2403:26:18;;;2367:73;;;;2403:26;;;;;:::i;:::-;;;;;525:3300;;;;;;;;;;;2403:26;525:3300;;;49637:1499:10;;;;525:3300:18;49637:1499:10;;;;;;2243:9:18;;;;49637:1499:10;;2243:9:18;49637:1499:10;;;;;;;525:3300:18;49637:1499:10;;2077:71:18;-1:-1:-1;;;2122:15:18;;525:3300;2122:15;;525:3300;;;;;;;2971:23;525:3300;;;:::i;:::-;3334:14;3305:44;3334:14;;;;3305:44;:::i;:::-;2971:23;;:::i;:::-;155145:366:10;;;;;;3004:4:18;155145:366:10;;;;;;;;;;;;525:3300:18;;;;;;;;;;;;;;;-1:-1:-1;;525:3300:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;525:3300:18;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;525:3300:18;;;;;-1:-1:-1;525:3300:18;;;;;;;;;;;;;;;;;;;-1:-1:-1;525:3300:18;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;525:3300:18;;;;;;;;-1:-1:-1;;525:3300:18;;;;;;;;;;;;;;3673:150;3790:25;3673:150;525:3300;3673:150;;525:3300;;3790:25;;;;;;525:3300;;;;;;;;;:::i;:::-;;;;;;3790:25;525:3300;;3790:25;;;;;;:::i;:::-;525:3300;3780:36;;3673:150;:::o;51982:703:10:-;;52125:554;;;;;;;;;;;;;;;;;;;;;;;;;;51982:703::o" + "object": "6080604052600436101561001257600080fd5b6000803560e01c8063250b1b41146102bb5780633ffba36f146100d45780635c60da1b1461008f5763db4c545e1461004957600080fd5b3461008c578060031936011261008c5760206100847f00000000000000000000000000000000000000000000000000000000000000006104a7565b604051908152f35b80fd5b503461008c578060031936011261008c576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b506100de3661032d565b919080156102ac576100f1838284610479565b928490604051917fcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f36060527f5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e20766040526160096020527f0000000000000000000000000000000000000000000000000000000000000000601e5268603d3d8160223d3973600a52605f60212060358401523060581b835260ff83538560158401526055832090341596823b1561029057505060019561028b578638818034855af11561027e575b604083905260608790526001600160a01b031694156101dc575b602085604051908152f35b818061020c7ff8e246d8281c915feaf5c1ffd75d9a144f6dbdbbf545e286088661b19d8028f49386888a97610424565b0390a2823b1561027a57604051633796f38760e11b81526020600482015293918291859182916102419160248401919061038a565b038183865af192831561026d5760209361025d575b80806101d1565b8161026791610441565b38610256565b50604051903d90823e3d90fd5b8380fd5b63b12d13eb87526004601cfd5b6101b7565b91509550605f602134f5806101b757633011642587526004601cfd5b633c776be160e01b8452600484fd5b503461008c576020906103036102d03661032d565b906102fd9392937f00000000000000000000000000000000000000000000000000000000000000006104a7565b93610479565b9060ff83536035523060601b60015260155260558120906035526040519060018060a01b03168152f35b9060406003198301126103855760043567ffffffffffffffff811161038557826023820112156103855780600401359267ffffffffffffffff84116103855760248460051b8301011161038557602401919060243590565b600080fd5b90602083828152019060208160051b85010193836000915b8383106103b25750505050505090565b909192939495601f198282030186528635601e1984360301811215610385578301906020823592019167ffffffffffffffff8111610385578036038313610385576020828280600196849695859652848401376000828201840152601f01601f191601019801960194930191906103a2565b93929160209161043c9160408752604087019161038a565b930152565b90601f8019910116810190811067ffffffffffffffff82111761046357604052565b634e487b7160e01b600052604160045260246000fd5b91906104a190610493604051938492602084019687610424565b03601f198101835282610441565b51902090565b90604051917fcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f36060527f5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e2076604052616009602052601e5268603d3d8160223d3973600a52605f60212091604052600060605256fea264697066735822122079a7c0317042da2b1872c462530ee18db5a88a17ac87cadab45f8223d673b7e764736f6c634300081c0033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x12 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x250B1B41 EQ PUSH2 0x2BB JUMPI DUP1 PUSH4 0x3FFBA36F EQ PUSH2 0xD4 JUMPI DUP1 PUSH4 0x5C60DA1B EQ PUSH2 0x8F JUMPI PUSH4 0xDB4C545E EQ PUSH2 0x49 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x8C JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x8C JUMPI PUSH1 0x20 PUSH2 0x84 PUSH32 0x0 PUSH2 0x4A7 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0x8C JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x8C JUMPI PUSH1 0x40 MLOAD PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 SWAP1 RETURN JUMPDEST POP PUSH2 0xDE CALLDATASIZE PUSH2 0x32D JUMP JUMPDEST SWAP2 SWAP1 DUP1 ISZERO PUSH2 0x2AC JUMPI PUSH2 0xF1 DUP4 DUP3 DUP5 PUSH2 0x479 JUMP JUMPDEST SWAP3 DUP5 SWAP1 PUSH1 0x40 MLOAD SWAP2 PUSH32 0xCC3735A920A3CA505D382BBC545AF43D6000803E6038573D6000FD5B3D6000F3 PUSH1 0x60 MSTORE PUSH32 0x5155F3363D3D373D3D363D7F360894A13BA1A3210667C828492DB98DCA3E2076 PUSH1 0x40 MSTORE PUSH2 0x6009 PUSH1 0x20 MSTORE PUSH32 0x0 PUSH1 0x1E MSTORE PUSH9 0x603D3D8160223D3973 PUSH1 0xA MSTORE PUSH1 0x5F PUSH1 0x21 KECCAK256 PUSH1 0x35 DUP5 ADD MSTORE ADDRESS PUSH1 0x58 SHL DUP4 MSTORE PUSH1 0xFF DUP4 MSTORE8 DUP6 PUSH1 0x15 DUP5 ADD MSTORE PUSH1 0x55 DUP4 KECCAK256 SWAP1 CALLVALUE ISZERO SWAP7 DUP3 EXTCODESIZE ISZERO PUSH2 0x290 JUMPI POP POP PUSH1 0x1 SWAP6 PUSH2 0x28B JUMPI DUP7 CODESIZE DUP2 DUP1 CALLVALUE DUP6 GAS CALL ISZERO PUSH2 0x27E JUMPI JUMPDEST PUSH1 0x40 DUP4 SWAP1 MSTORE PUSH1 0x60 DUP8 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP5 ISZERO PUSH2 0x1DC JUMPI JUMPDEST PUSH1 0x20 DUP6 PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP2 DUP1 PUSH2 0x20C PUSH32 0xF8E246D8281C915FEAF5C1FFD75D9A144F6DBDBBF545E286088661B19D8028F4 SWAP4 DUP7 DUP9 DUP11 SWAP8 PUSH2 0x424 JUMP JUMPDEST SUB SWAP1 LOG2 DUP3 EXTCODESIZE ISZERO PUSH2 0x27A JUMPI PUSH1 0x40 MLOAD PUSH4 0x3796F387 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE SWAP4 SWAP2 DUP3 SWAP2 DUP6 SWAP2 DUP3 SWAP2 PUSH2 0x241 SWAP2 PUSH1 0x24 DUP5 ADD SWAP2 SWAP1 PUSH2 0x38A JUMP JUMPDEST SUB DUP2 DUP4 DUP7 GAS CALL SWAP3 DUP4 ISZERO PUSH2 0x26D JUMPI PUSH1 0x20 SWAP4 PUSH2 0x25D JUMPI JUMPDEST DUP1 DUP1 PUSH2 0x1D1 JUMP JUMPDEST DUP2 PUSH2 0x267 SWAP2 PUSH2 0x441 JUMP JUMPDEST CODESIZE PUSH2 0x256 JUMP JUMPDEST POP PUSH1 0x40 MLOAD SWAP1 RETURNDATASIZE SWAP1 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP4 DUP1 REVERT JUMPDEST PUSH4 0xB12D13EB DUP8 MSTORE PUSH1 0x4 PUSH1 0x1C REVERT JUMPDEST PUSH2 0x1B7 JUMP JUMPDEST SWAP2 POP SWAP6 POP PUSH1 0x5F PUSH1 0x21 CALLVALUE CREATE2 DUP1 PUSH2 0x1B7 JUMPI PUSH4 0x30116425 DUP8 MSTORE PUSH1 0x4 PUSH1 0x1C REVERT JUMPDEST PUSH4 0x3C776BE1 PUSH1 0xE0 SHL DUP5 MSTORE PUSH1 0x4 DUP5 REVERT JUMPDEST POP CALLVALUE PUSH2 0x8C JUMPI PUSH1 0x20 SWAP1 PUSH2 0x303 PUSH2 0x2D0 CALLDATASIZE PUSH2 0x32D JUMP JUMPDEST SWAP1 PUSH2 0x2FD SWAP4 SWAP3 SWAP4 PUSH32 0x0 PUSH2 0x4A7 JUMP JUMPDEST SWAP4 PUSH2 0x479 JUMP JUMPDEST SWAP1 PUSH1 0xFF DUP4 MSTORE8 PUSH1 0x35 MSTORE ADDRESS PUSH1 0x60 SHL PUSH1 0x1 MSTORE PUSH1 0x15 MSTORE PUSH1 0x55 DUP2 KECCAK256 SWAP1 PUSH1 0x35 MSTORE PUSH1 0x40 MLOAD SWAP1 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE RETURN JUMPDEST SWAP1 PUSH1 0x40 PUSH1 0x3 NOT DUP4 ADD SLT PUSH2 0x385 JUMPI PUSH1 0x4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x385 JUMPI DUP3 PUSH1 0x23 DUP3 ADD SLT ISZERO PUSH2 0x385 JUMPI DUP1 PUSH1 0x4 ADD CALLDATALOAD SWAP3 PUSH8 0xFFFFFFFFFFFFFFFF DUP5 GT PUSH2 0x385 JUMPI PUSH1 0x24 DUP5 PUSH1 0x5 SHL DUP4 ADD ADD GT PUSH2 0x385 JUMPI PUSH1 0x24 ADD SWAP2 SWAP1 PUSH1 0x24 CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x20 DUP4 DUP3 DUP2 MSTORE ADD SWAP1 PUSH1 0x20 DUP2 PUSH1 0x5 SHL DUP6 ADD ADD SWAP4 DUP4 PUSH1 0x0 SWAP2 JUMPDEST DUP4 DUP4 LT PUSH2 0x3B2 JUMPI POP POP POP POP POP POP SWAP1 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 SWAP6 PUSH1 0x1F NOT DUP3 DUP3 SUB ADD DUP7 MSTORE DUP7 CALLDATALOAD PUSH1 0x1E NOT DUP5 CALLDATASIZE SUB ADD DUP2 SLT ISZERO PUSH2 0x385 JUMPI DUP4 ADD SWAP1 PUSH1 0x20 DUP3 CALLDATALOAD SWAP3 ADD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x385 JUMPI DUP1 CALLDATASIZE SUB DUP4 SGT PUSH2 0x385 JUMPI PUSH1 0x20 DUP3 DUP3 DUP1 PUSH1 0x1 SWAP7 DUP5 SWAP7 SWAP6 DUP6 SWAP7 MSTORE DUP5 DUP5 ADD CALLDATACOPY PUSH1 0x0 DUP3 DUP3 ADD DUP5 ADD MSTORE PUSH1 0x1F ADD PUSH1 0x1F NOT AND ADD ADD SWAP9 ADD SWAP7 ADD SWAP5 SWAP4 ADD SWAP2 SWAP1 PUSH2 0x3A2 JUMP JUMPDEST SWAP4 SWAP3 SWAP2 PUSH1 0x20 SWAP2 PUSH2 0x43C SWAP2 PUSH1 0x40 DUP8 MSTORE PUSH1 0x40 DUP8 ADD SWAP2 PUSH2 0x38A JUMP JUMPDEST SWAP4 ADD MSTORE JUMP JUMPDEST SWAP1 PUSH1 0x1F DUP1 NOT SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x463 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 SWAP1 PUSH2 0x4A1 SWAP1 PUSH2 0x493 PUSH1 0x40 MLOAD SWAP4 DUP5 SWAP3 PUSH1 0x20 DUP5 ADD SWAP7 DUP8 PUSH2 0x424 JUMP JUMPDEST SUB PUSH1 0x1F NOT DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x441 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x40 MLOAD SWAP2 PUSH32 0xCC3735A920A3CA505D382BBC545AF43D6000803E6038573D6000FD5B3D6000F3 PUSH1 0x60 MSTORE PUSH32 0x5155F3363D3D373D3D363D7F360894A13BA1A3210667C828492DB98DCA3E2076 PUSH1 0x40 MSTORE PUSH2 0x6009 PUSH1 0x20 MSTORE PUSH1 0x1E MSTORE PUSH9 0x603D3D8160223D3973 PUSH1 0xA MSTORE PUSH1 0x5F PUSH1 0x21 KECCAK256 SWAP2 PUSH1 0x40 MSTORE PUSH1 0x0 PUSH1 0x60 MSTORE JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH26 0xA7C0317042DA2B1872C462530EE18DB5A88A17AC87CADAB45F82 0x23 0xD6 PUSH20 0xB7E764736F6C634300081C003300000000000000 ", + "sourceMap": "525:3885:31:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;49637:1499:23;525:3885:31;49637:1499:23;;;525:3885:31;;;;;;;;;;;;;;;;;;;;3890:44;3919:14;3890:44;:::i;:::-;525:3885;;;;;;;;;;;;;;;;;;;;;;;;660:39;-1:-1:-1;;;;;525:3885:31;;;;;;;;;;;:::i;:::-;2602:18;;;;2598:71;;2791:23;;;;;:::i;:::-;2728:87;49540:20:23;49637:1499;525:3885:31;49637:1499:23;;;;;;525:3885:31;49637:1499:23;;;;2775:14:31;49637:1499:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;2764:9:31;;49637:1499:23;;;;;;;;;;;;;;;2764:9:31;;;49637:1499:23;;;;;;;525:3885:31;49637:1499:23;;;;;;;-1:-1:-1;;;;;525:3885:31;;2892:16;2888:137;;49637:1499:23;;525:3885:31;;;;;;;2888:137;2929:45;;;;;;;;;;:::i;:::-;;;;2988:26;;;;;525:3885;;-1:-1:-1;;;2988:26:31;;49637:1499:23;525:3885:31;2988:26;;525:3885;;;;;;;;;;;;;;;;;:::i;:::-;2988:26;;;;;;;;;;;49637:1499:23;2988:26:31;;;2888:137;;;;;2988:26;;;;;:::i;:::-;;;;;525:3885;;;;;;;;;;;2988:26;525:3885;;;49637:1499:23;;;;525:3885:31;49637:1499:23;;;;;;2764:9:31;;;;49637:1499:23;;2764:9:31;49637:1499:23;;;;;;;525:3885:31;49637:1499:23;;2598:71:31;-1:-1:-1;;;2643:15:31;;525:3885;2643:15;;525:3885;;;;;;;3556:23;525:3885;;;:::i;:::-;3919:14;3890:44;3919:14;;;;3890:44;:::i;:::-;3556:23;;:::i;:::-;155145:366:23;;;;;;3589:4:31;155145:366:23;;;;;;;;;;;;525:3885:31;;;;;;;;;;;;;;;-1:-1:-1;;525:3885:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;525:3885:31;;;;;;;;;;;;;;;;;;;;-1:-1:-1;525:3885:31;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;525:3885:31;;;;;;;;-1:-1:-1;;525:3885:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;525:3885:31;;;;;-1:-1:-1;525:3885:31;4258:150;;;4375:25;4258:150;4375:25;525:3885;;4375:25;;;;;;;;;:::i;:::-;;525:3885;;4375:25;;;;;;:::i;:::-;525:3885;4365:36;;4258:150;:::o;51982:703:23:-;;52125:554;;;;;;;;;;;;;;;;;;;;;;;;;;51982:703::o" }, "methodIdentifiers": { "createAccount(bytes[],uint256)": "3ffba36f", @@ -238375,7 +264175,7 @@ "initCodeHash()": "db4c545e" } }, - "metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation_\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"OwnerRequired\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"owners\",\"type\":\"bytes[]\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"createAccount\",\"outputs\":[{\"internalType\":\"contract GianoSmartWallet\",\"name\":\"account\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"owners\",\"type\":\"bytes[]\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"getAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initCodeHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Applied Blockchain (https://github.com/appliedblockchain/giano)Coinbase (https://github.com/coinbase/smart-wallet)Solady (https://github.com/vectorized/solady/blob/main/src/accounts/ERC4337Factory.sol)\",\"kind\":\"dev\",\"methods\":{\"constructor\":{\"params\":{\"implementation_\":\"The address of the GianoSmartWallet implementation which new accounts will proxy to.\"}},\"createAccount(bytes[],uint256)\":{\"details\":\"Deployed as a ERC-1967 proxy that's implementation is `this.implementation`.\",\"params\":{\"nonce\":\"The nonce of the account, a caller defined value which allows multiple accounts with the same `owners` to exist at different addresses.\",\"owners\":\"Array of initial owners. Each item should be an ABI encoded address or 64 byte public key.\"},\"returns\":{\"account\":\"The address of the ERC-1967 proxy created with inputs `owners`, `nonce`, and `this.implementation`.\"}},\"getAddress(bytes[],uint256)\":{\"params\":{\"nonce\":\"The nonce provided to `createAccount()`.\",\"owners\":\"Array of initial owners. Each item should be an ABI encoded address or 64 byte public key.\"},\"returns\":{\"_0\":\"The predicted account deployment address.\"}},\"initCodeHash()\":{\"returns\":{\"_0\":\"The initialization code hash.\"}}},\"title\":\"Giano Smart Wallet Factory\",\"version\":1},\"userdoc\":{\"errors\":{\"OwnerRequired()\":[{\"notice\":\"Thrown when trying to create a new `GianoSmartWallet` account without any owner.\"}]},\"kind\":\"user\",\"methods\":{\"constructor\":{\"notice\":\"Factory constructor used to initialize the implementation address to use for future GianoSmartWallet deployments.\"},\"createAccount(bytes[],uint256)\":{\"notice\":\"Returns the deterministic address for a GianoSmartWallet created with `owners` and `nonce` deploys and initializes contract if it has not yet been created.\"},\"getAddress(bytes[],uint256)\":{\"notice\":\"Returns the deterministic address of the account that would be created by `createAccount`.\"},\"implementation()\":{\"notice\":\"Address of the ERC-4337 implementation used as implementation for new accounts.\"},\"initCodeHash()\":{\"notice\":\"Returns the initialization code hash of the account: a ERC1967 proxy that's implementation is `this.implementation`.\"}},\"notice\":\"GianoSmartWallet factory, based on Solady's ERC4337Factory.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/GianoSmartWalletFactory.sol\":\"GianoSmartWalletFactory\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@account-abstraction/contracts/core/Helpers.sol\":{\"keccak256\":\"0x42b948af5fa14a96149611595df1186800c7558b2de8762e4b45a7c45c16f65e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://737a7908131ece48a5df1faaa3d0be79c42792379c27f5615dae6aa14cd68c2f\",\"dweb:/ipfs/QmPAxGMDxuek7XWSUVfZpvYE8bustfsjTDVDK8hmE88e1f\"]},\"@account-abstraction/contracts/core/UserOperationLib.sol\":{\"keccak256\":\"0x2d3450fa3906422b6fdbbe7f2a2a9e36d6f3751bfa9cd80af88befd6a5be78c1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://292a0ef5295d7f2016e99d2c228958f7f6de94f5bd9652d8696af15af0094a99\",\"dweb:/ipfs/QmVg4fhkZbUB7AopGcaVPmTdvChq7W9ga8fjrc3XaJNTM2\"]},\"@account-abstraction/contracts/interfaces/IAccount.sol\":{\"keccak256\":\"0x1030b464b49ce80da46b5b6c9af357c2d526f308de61391db6a4ec767d33b864\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://671945f8e18e7305797312b5a209506be3c9bd1d9b9b561c1e8863bccfa61319\",\"dweb:/ipfs/QmVanLK5Aenrb7J94doiE1C9oHwo86jvv8NrpDeNHwvnii\"]},\"@account-abstraction/contracts/interfaces/PackedUserOperation.sol\":{\"keccak256\":\"0xb15188e25e45fe73097e279675b6c0beccbd4133ead2260f8f0c4ba840046800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d14c1edd1e95d37c26e54bb34305e2cc9dedc46eb75ec91caeb777678e8ea79\",\"dweb:/ipfs/QmcCL2syVtV7W3XvYx3si84MPkbEJKqEN8hjFNhAPoDDhK\"]},\"FreshCryptoLib/FCL_ecdsa.sol\":{\"keccak256\":\"0x679d2e9a655cd7e156a0cfc24de0aca88d4e0b34a8e0dfe6a599f23af092f5a2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db31eb84c6f854f076d2501e3d8b5a606fb4924168bdfc6fc3de84e67ed8a80d\",\"dweb:/ipfs/QmWGAmc7B4aT6Ki52uF9QmPQKWipaptit7r3JknBHjUGfe\"]},\"FreshCryptoLib/FCL_elliptic.sol\":{\"keccak256\":\"0xac7bb3260a446851f45b8cb71e31d64ca469d7711ed04662092a9554f1283a38\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f9b0dc5a2306ad3f3a0ff4a5b947fe49422181e97c163ea237fc8bfc6736429d\",\"dweb:/ipfs/QmeruF7BvG5BNnqwqwdshoVXuXqXtajbUYB19KwPynHrQE\"]},\"openzeppelin-contracts/contracts/utils/Base64.sol\":{\"keccak256\":\"0xbee2b819e1b4bf569ffc1b1b9d560b4abd6a589575f3093edaab9244de18a0c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e478c0e9bbf3eb8cd3b7784f9b397603e34747f9ffd16571ed1d89ce102de389\",\"dweb:/ipfs/QmZ6zXpwy5xRxx9RkodJmDZSUTeEqPQUanAC5TUoYqW2VR\"]},\"solady/accounts/Receiver.sol\":{\"keccak256\":\"0xc879aa81dd5639f5fd97b31acd91658ffe33ae4b72b70ed7bd701c37addce43b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2e03a8d37d48644857d94f7432c1e2272bfd19649dfe80aba8f979f157f71f00\",\"dweb:/ipfs/QmWWS34bNWhiZgLXS9gtD8N2dxreRsVXxhvQRKqd4wKUuU\"]},\"solady/utils/CallContextChecker.sol\":{\"keccak256\":\"0xc54c743a03f4909826712e9c6b683ca95e8b0c120c55284a9e3572621ebd734b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3d3138009aba3d2fd310636f3cc1d6029e970c57ddb74693bebf2a02d3e6f12d\",\"dweb:/ipfs/QmauMpcVDyQqVnAUF75DXy831LvtxyFS7GND7kge1Zgw55\"]},\"solady/utils/LibBytes.sol\":{\"keccak256\":\"0x320c3c933df51e8fd6f1fc96de721c8cc6f1be1d4c586c11f1c472a23b86eba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cec71f42247eda74535c6e695a2ac194268a342594a26c090bafd04434698b20\",\"dweb:/ipfs/QmXA8Qaw6DdWujdrNHMHpDLNGG4QCgC859ozivrxkxp7Ea\"]},\"solady/utils/LibClone.sol\":{\"keccak256\":\"0x1b96fd03a3948155bd2fe95dc4980930c759b174026e18f11bc8e88d55ae030e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://64998d16472a127031ee6a796ed9afcf13dd662afd30eb4d3e2a42c2bc9fd204\",\"dweb:/ipfs/QmTXHGy9t8YTW96tjiZ8RBqmijXUTqc1JznEBqHv8Duc4A\"]},\"solady/utils/LibString.sol\":{\"keccak256\":\"0x8a6b219f6ccda90c08e2debae62618d78d6f0cef086eb6c9503793d7f12815dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d1301acbf7371cb51ab01fe3bee8a9b732ee0bcf6cc0db20ed5a3fb9241d675e\",\"dweb:/ipfs/QmXuM4tSfPDeFRvP3nEQmuezp1yEm4HxyWtU41FjiCdxAG\"]},\"solady/utils/SignatureCheckerLib.sol\":{\"keccak256\":\"0x098c7eb88b3048f227b240e0e5bf1da4a8f7622b30f6d7c06416bfcab3225e77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c2766f652916c5d6433665fb1c3b2f04c3d9292a35c12e0f8d7c71dd6438cb\",\"dweb:/ipfs/QmWTMwN2RDZUUPg7KkH1qFBjTSh84Zw8bbYwRBCQUtLN2h\"]},\"solady/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x63899eaf1a24713464b8084ada33a83c4b7db789fe83ae22f016e39646bee361\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://617fa735ffa8ba31051745614a508abd69d2cfc1b1bc1eb3c772865db5f7ce65\",\"dweb:/ipfs/QmR1pQbHPyXcLbFm2vHrXBs1qRFrGC22gF7wWYamYy8aaE\"]},\"src/AuthenticatedStaticCaller.sol\":{\"keccak256\":\"0x17f20b3b0656a90ce191a20803ea099c08e77ad51a9b2983124a809cd8387c36\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afa1d387dd11f9b3cbe06e47293fe5a5f8072af89a007b0e2bebd248637fc9f5\",\"dweb:/ipfs/QmRFSkpcryVHnHKFQoWjHnJksMBQrTeiex1SLufctBha4u\"]},\"src/ERC1271.sol\":{\"keccak256\":\"0x75c3fe08b6e1789dab7714196704f425d1afea21d725fcb6c418a70ef5bf6fad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dd292bcf9b1891abb517323636493499dbdd00bebc1f759c07fb26e103a1b71d\",\"dweb:/ipfs/QmWMT3C54pakfUCTkcPzFQAvE8nRnPqDDpFaDhY5A9fpEp\"]},\"src/GianoSmartWallet.sol\":{\"keccak256\":\"0x8b2f9e6a083aeb3bb05134b51187905197f44824f17b1e1679e42256c257bb2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88028395730ab7595b3c357bdb85f4efc6541ffcac62e239bd575ba8c95d9fa7\",\"dweb:/ipfs/QmXKaRrTW2JT6mXJ9ytY9s9yPsVg9rqLy343bW3rSmrJgS\"]},\"src/GianoSmartWalletFactory.sol\":{\"keccak256\":\"0x8de2602d660e3c08494bcaf47ca829f15f480b2ae694ffc5aee9b73ef2b345dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df540e04c53187d82437f5be045ec3417190610eec42f5c66e06a8bed1923cc3\",\"dweb:/ipfs/QmSdQ9oPP7PnHHnKqygvjamFqbpUfqZBuEgEoGFHoTzbUv\"]},\"src/MultiOwnable.sol\":{\"keccak256\":\"0x46a9fa25c7de87b56df47b67d61b6efd96ed3f382c5d440d04de55fa23bccadd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75ac03bdfdddec29b0b1f4f9c33add4b5b9d5400b1a54691a544a59ac710de5c\",\"dweb:/ipfs/QmXajkF7z8rqmDE89H4uVaKCDyQsdwphif8BHZLLu9MQ5k\"]},\"webauthn-sol/WebAuthn.sol\":{\"keccak256\":\"0x5f38c750d900e5b5f22264ce71ead4a52528d24c52ff82928949833a5b2cea9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c373620c40cb0ddf0e347d3d6426dd9e34b8eb62ee83844372b48689f62dee5c\",\"dweb:/ipfs/QmdxkcQtgQZfKg8LZ3H5XuWhd1e1c4raa44oMnSGHgayt5\"]}},\"version\":1}" + "metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation_\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"ImplementationUndeployed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OwnerRequired\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes[]\",\"name\":\"owners\",\"type\":\"bytes[]\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"AccountCreated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"owners\",\"type\":\"bytes[]\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"createAccount\",\"outputs\":[{\"internalType\":\"contract GianoSmartWallet\",\"name\":\"account\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"owners\",\"type\":\"bytes[]\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"getAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initCodeHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Applied Blockchain (https://github.com/appliedblockchain/giano)Coinbase (https://github.com/coinbase/smart-wallet)Solady (https://github.com/vectorized/solady/blob/main/src/accounts/ERC4337Factory.sol)\",\"events\":{\"AccountCreated(address,bytes[],uint256)\":{\"params\":{\"account\":\"The address of the created account.\",\"nonce\":\"The nonce of the created account.\",\"owners\":\"Array of initial owners.\"}}},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"params\":{\"implementation_\":\"The address of the GianoSmartWallet implementation which new accounts will proxy to.\"}},\"createAccount(bytes[],uint256)\":{\"details\":\"Deployed as a ERC-1967 proxy that's implementation is `this.implementation`.\",\"params\":{\"nonce\":\"The nonce of the account, a caller defined value which allows multiple accounts with the same `owners` to exist at different addresses.\",\"owners\":\"Array of initial owners. Each item should be an ABI encoded address or 64 byte public key.\"},\"returns\":{\"account\":\"The address of the ERC-1967 proxy created with inputs `owners`, `nonce`, and `this.implementation`.\"}},\"getAddress(bytes[],uint256)\":{\"params\":{\"nonce\":\"The nonce provided to `createAccount()`.\",\"owners\":\"Array of initial owners. Each item should be an ABI encoded address or 64 byte public key.\"},\"returns\":{\"_0\":\"The predicted account deployment address.\"}},\"initCodeHash()\":{\"returns\":{\"_0\":\"The initialization code hash.\"}}},\"title\":\"Giano Smart Wallet Factory\",\"version\":1},\"userdoc\":{\"errors\":{\"ImplementationUndeployed()\":[{\"notice\":\"Thrown when trying to construct with an implementation that is not deployed.\"}],\"OwnerRequired()\":[{\"notice\":\"Thrown when trying to create a new `GianoSmartWallet` account without any owner.\"}]},\"events\":{\"AccountCreated(address,bytes[],uint256)\":{\"notice\":\"Emitted when a new account is created.\"}},\"kind\":\"user\",\"methods\":{\"constructor\":{\"notice\":\"Factory constructor used to initialize the implementation address to use for future GianoSmartWallet deployments.\"},\"createAccount(bytes[],uint256)\":{\"notice\":\"Returns the deterministic address for a GianoSmartWallet created with `owners` and `nonce` deploys and initializes contract if it has not yet been created.\"},\"getAddress(bytes[],uint256)\":{\"notice\":\"Returns the deterministic address of the account that would be created by `createAccount`.\"},\"implementation()\":{\"notice\":\"Address of the ERC-4337 implementation used as implementation for new accounts.\"},\"initCodeHash()\":{\"notice\":\"Returns the initialization code hash of the account: a ERC1967 proxy that's implementation is `this.implementation`.\"}},\"notice\":\"GianoSmartWallet factory, based on Solady's ERC4337Factory.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/GianoSmartWalletFactory.sol\":\"GianoSmartWalletFactory\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@account-abstraction/contracts/core/Helpers.sol\":{\"keccak256\":\"0x6247e011a6cb0b263b3aa098822977181674d91b62e5bdfe04c6e66f72da25d6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ca829a69b3fbc74fec8e140d42a2bf93bc3512609272f031c846470f61f0ab7e\",\"dweb:/ipfs/QmP3r3MBgAN39KeVB1rCGJWwcBcotNt26ALtAR54poQ1Jc\"]},\"@account-abstraction/contracts/core/UserOperationLib.sol\":{\"keccak256\":\"0x9d50ece985d35f82e33e5da417595c86fac10449e3d10895d08363d33aad454b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b1d11cc364c8bf7ed5388268c895b5ffed16e87dfbcb320ddeeba5e7974315dc\",\"dweb:/ipfs/QmYSpvjxEjweietQrYZagwQ52ipy7eXx4rwvnTzXKeGeMS\"]},\"@account-abstraction/contracts/interfaces/IAccount.sol\":{\"keccak256\":\"0x38710bec0cb20ff4ceef46a80475b5bdabc27b7efd2687fd473db68332f61b78\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://dea7a723e1ef852e8764e69914a345d2e8bc5e13facfc9d5c29d791cb4ab0020\",\"dweb:/ipfs/QmU8dYgyF4DBJXFqjwLAtnE3q8q259ChfoEk9a6wyhHzEP\"]},\"@account-abstraction/contracts/interfaces/PackedUserOperation.sol\":{\"keccak256\":\"0x1129b46381db68eddbc5cb49e50664667b66b03c480453858e7b25eabe444359\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://499a948aba60480dba6e25c763b8d918f1c246eb7a3302e04f493e080f3295be\",\"dweb:/ipfs/QmeRhhswf4NACcBKam2PyjpTP2ddSm648kah5kkQJsvwz3\"]},\"FreshCryptoLib/FCL_ecdsa.sol\":{\"keccak256\":\"0x679d2e9a655cd7e156a0cfc24de0aca88d4e0b34a8e0dfe6a599f23af092f5a2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db31eb84c6f854f076d2501e3d8b5a606fb4924168bdfc6fc3de84e67ed8a80d\",\"dweb:/ipfs/QmWGAmc7B4aT6Ki52uF9QmPQKWipaptit7r3JknBHjUGfe\"]},\"FreshCryptoLib/FCL_elliptic.sol\":{\"keccak256\":\"0xac7bb3260a446851f45b8cb71e31d64ca469d7711ed04662092a9554f1283a38\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f9b0dc5a2306ad3f3a0ff4a5b947fe49422181e97c163ea237fc8bfc6736429d\",\"dweb:/ipfs/QmeruF7BvG5BNnqwqwdshoVXuXqXtajbUYB19KwPynHrQE\"]},\"openzeppelin-contracts/contracts/utils/Base64.sol\":{\"keccak256\":\"0xbee2b819e1b4bf569ffc1b1b9d560b4abd6a589575f3093edaab9244de18a0c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e478c0e9bbf3eb8cd3b7784f9b397603e34747f9ffd16571ed1d89ce102de389\",\"dweb:/ipfs/QmZ6zXpwy5xRxx9RkodJmDZSUTeEqPQUanAC5TUoYqW2VR\"]},\"solady/accounts/Receiver.sol\":{\"keccak256\":\"0xc879aa81dd5639f5fd97b31acd91658ffe33ae4b72b70ed7bd701c37addce43b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2e03a8d37d48644857d94f7432c1e2272bfd19649dfe80aba8f979f157f71f00\",\"dweb:/ipfs/QmWWS34bNWhiZgLXS9gtD8N2dxreRsVXxhvQRKqd4wKUuU\"]},\"solady/utils/CallContextChecker.sol\":{\"keccak256\":\"0xc54c743a03f4909826712e9c6b683ca95e8b0c120c55284a9e3572621ebd734b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3d3138009aba3d2fd310636f3cc1d6029e970c57ddb74693bebf2a02d3e6f12d\",\"dweb:/ipfs/QmauMpcVDyQqVnAUF75DXy831LvtxyFS7GND7kge1Zgw55\"]},\"solady/utils/LibBytes.sol\":{\"keccak256\":\"0x320c3c933df51e8fd6f1fc96de721c8cc6f1be1d4c586c11f1c472a23b86eba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cec71f42247eda74535c6e695a2ac194268a342594a26c090bafd04434698b20\",\"dweb:/ipfs/QmXA8Qaw6DdWujdrNHMHpDLNGG4QCgC859ozivrxkxp7Ea\"]},\"solady/utils/LibClone.sol\":{\"keccak256\":\"0x1b96fd03a3948155bd2fe95dc4980930c759b174026e18f11bc8e88d55ae030e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://64998d16472a127031ee6a796ed9afcf13dd662afd30eb4d3e2a42c2bc9fd204\",\"dweb:/ipfs/QmTXHGy9t8YTW96tjiZ8RBqmijXUTqc1JznEBqHv8Duc4A\"]},\"solady/utils/LibString.sol\":{\"keccak256\":\"0x8a6b219f6ccda90c08e2debae62618d78d6f0cef086eb6c9503793d7f12815dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d1301acbf7371cb51ab01fe3bee8a9b732ee0bcf6cc0db20ed5a3fb9241d675e\",\"dweb:/ipfs/QmXuM4tSfPDeFRvP3nEQmuezp1yEm4HxyWtU41FjiCdxAG\"]},\"solady/utils/SignatureCheckerLib.sol\":{\"keccak256\":\"0x098c7eb88b3048f227b240e0e5bf1da4a8f7622b30f6d7c06416bfcab3225e77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c2766f652916c5d6433665fb1c3b2f04c3d9292a35c12e0f8d7c71dd6438cb\",\"dweb:/ipfs/QmWTMwN2RDZUUPg7KkH1qFBjTSh84Zw8bbYwRBCQUtLN2h\"]},\"solady/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x63899eaf1a24713464b8084ada33a83c4b7db789fe83ae22f016e39646bee361\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://617fa735ffa8ba31051745614a508abd69d2cfc1b1bc1eb3c772865db5f7ce65\",\"dweb:/ipfs/QmR1pQbHPyXcLbFm2vHrXBs1qRFrGC22gF7wWYamYy8aaE\"]},\"src/AuthenticatedStaticCaller.sol\":{\"keccak256\":\"0x06bb6bea86630eda0e5920c4fe4a5d51e89d18072faf7c4b5d7ae8ca82b87b94\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2920f02558ea8bbe8ca21cbe1bcbbea7d3c4d7f0d3e812cde706f95c53b399aa\",\"dweb:/ipfs/QmaNpbMazUf1n6hpXSMq7RDJix7ipPiALKE93fMmBtbS4A\"]},\"src/ERC1271.sol\":{\"keccak256\":\"0x75c3fe08b6e1789dab7714196704f425d1afea21d725fcb6c418a70ef5bf6fad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dd292bcf9b1891abb517323636493499dbdd00bebc1f759c07fb26e103a1b71d\",\"dweb:/ipfs/QmWMT3C54pakfUCTkcPzFQAvE8nRnPqDDpFaDhY5A9fpEp\"]},\"src/GianoSmartWallet.sol\":{\"keccak256\":\"0xf05cb23f0bb419a8c28816e04968fdff321c043773bb079fc6c7a9d04e84d5ce\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded464f8e431d9dc99944dcf6b915dea80540747c2a0e8bc67a386036c840de8\",\"dweb:/ipfs/QmZ7uhKaEsNtfJnqyE4Zz3VR3oiM9aykYnEV9xBH3oEpze\"]},\"src/GianoSmartWalletFactory.sol\":{\"keccak256\":\"0x047319a845313e24dd7d80263618e28075e3bb9ee3bbfbe68cbc2d3784e88114\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://14f9fcac74018f75d8f1ddc5aa790f4a93797fbcbb3c047f391142896ca69324\",\"dweb:/ipfs/QmZhpKteqQgt7Wt72pN7Ae9mk5J2W3k6cteaFbFzDBMcU9\"]},\"src/MultiOwnable.sol\":{\"keccak256\":\"0x46a9fa25c7de87b56df47b67d61b6efd96ed3f382c5d440d04de55fa23bccadd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75ac03bdfdddec29b0b1f4f9c33add4b5b9d5400b1a54691a544a59ac710de5c\",\"dweb:/ipfs/QmXajkF7z8rqmDE89H4uVaKCDyQsdwphif8BHZLLu9MQ5k\"]},\"webauthn-sol/WebAuthn.sol\":{\"keccak256\":\"0x8b940975249f72155110e5e5b4611fc9031330538183862b9d8f12ea7c30ad25\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://433957720c13a834b9aab98a5054e9dabe5c660a1a3fb267e6ad1a22b99b68ed\",\"dweb:/ipfs/QmTkQxCCf8kDAHa6rBwLT2mxFXN3tSAWyx4rLmgcLkFkRh\"]}},\"version\":1}" } }, "src/MultiOwnable.sol": { @@ -238700,7 +264500,7 @@ "linkReferences": {}, "object": "60808060405234601557610aa4908161001b8239f35b600080fdfe608080604052600436101561001357600080fd5b60003560e01c908163066a1eb714610318575080630db02622146102f55780630f0f3f24146102ab5780631ca5393f1461025157806329565e3b146101ec57806336d9cf9b146101c157806389625b57146101815780638ea690291461014a578063a2e1a8d814610111578063b8197367146100c85763d948fd2e1461009857600080fd5b346100c35760003660031901126100c3576020600080516020610a2f83398151915254604051908152f35b600080fd5b346100c3576100d6366103dc565b906100df610643565b6100e76104bd565b92600184116100fc576100fa9350610886565b005b83631047e35560e31b60005260045260246000fd5b346100c35760203660031901126100c3576004356001600160a01b03811681036100c357610140602091610618565b6040519015158152f35b346100c35760203660031901126100c35761017d610169600435610548565b604051918291602083526020830190610453565b0390f35b346100c35761018f366103dc565b90610198610643565b60016101a26104bd565b146101b0576100fa92610886565b63948bf89760e01b60005260046000fd5b346100c35760003660031901126100c3576020600080516020610a4f83398151915254604051908152f35b346100c3576100fa6101fd36610347565b610205610643565b60405191602083015260408201526040815261022260608261035d565b600080516020610a2f833981519152549061023c826104ff565b600080516020610a2f83398151915255610689565b346100c35760203660031901126100c35760043567ffffffffffffffff81116100c357366023820112156100c35760ff61029f61029a6020933690602481600401359101610395565b610478565b54166040519015158152f35b346100c35760203660031901126100c3576004356001600160a01b038116908190036100c3576100fa906102dd610643565b6040519060208201526020815261022260408261035d565b346100c35760003660031901126100c35760206103106104bd565b604051908152f35b346100c35760ff61029f60209261032e36610347565b908583015260408201526040815261029a60608261035d565b60409060031901126100c3576004359060243590565b90601f8019910116810190811067ffffffffffffffff82111761037f57604052565b634e487b7160e01b600052604160045260246000fd5b92919267ffffffffffffffff821161037f57604051916103bf601f8201601f19166020018461035d565b8294818452818301116100c3578281602093846000960137010152565b60406003198201126100c3576004359160243567ffffffffffffffff81116100c357826023820112156100c35780600401359267ffffffffffffffff84116100c357602484830101116100c3576024019190565b60005b8381106104435750506000910152565b8181015183820152602001610433565b9060209161046c81518092818552858086019101610430565b601f01601f1916010190565b6020610491918160405193828580945193849201610430565b81017f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f50381520301902090565b600080516020610a2f83398151915254600080516020610a4f8339815191525481039081116104e95790565b634e487b7160e01b600052601160045260246000fd5b60001981146104e95760010190565b90600182811c9216801561053e575b602083101461052857565b634e487b7160e01b600052602260045260246000fd5b91607f169161051d565b6000527f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f5026020526040600020604051908160008254926105878461050e565b80845293600181169081156105f657506001146105af575b506105ac9250038261035d565b90565b90506000929192526020600020906000915b8183106105da5750509060206105ac928201013861059f565b60209193508060019154838588010152019101909183926105c1565b9050602092506105ac94915060ff191682840152151560051b8201013861059f565b61063e60ff916040519060018060a01b031660208201526020815261029a60408261035d565b541690565b61064c33610618565b8015610669575b610667576282b42960e81b60005260046000fd5b565b50303314610653565b81811061067d575050565b60008155600101610672565b60ff61069482610478565b541661083c576106a381610478565b600160ff19825416179055816000527f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f5026020526040600020815167ffffffffffffffff811161037f576106f6825461050e565b601f81116107ff575b506020601f82116001146107755791817f38109edc26e166b5579352ce56a50813177eb25208fd90d61f2f37838622022094926107659460009161076a575b508160011b916000199060031b1c1916179055604051918291602083526020830190610453565b0390a2565b90508301513861073e565b601f1982169083600052806000209160005b8181106107e75750926107659492600192827f38109edc26e166b5579352ce56a50813177eb25208fd90d61f2f3783862202209896106107ce575b5050811b019055610169565b85015160001960f88460031b161c1916905538806107c2565b9192602060018192868a015181550194019201610787565b61082c90836000526020600020601f840160051c81019160208510610832575b601f0160051c0190610672565b386106ff565b909150819061081f565b60405163468b12ad60e11b815260206004820152908190610861906024830190610453565b0390fd5b908060209392818452848401376000828201840152601f01601f1916010190565b9161089083610548565b805115610a1957805160208201206108a9368486610395565b60208151910120036109d85750907fcf95bbfe6f870f8cc40482dc3dccdafd268f0e9ce0a4f24ea1bea9be64e505ff91604051818382376020818381017f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f50381520301902060ff198154169055836000527f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f502602052604060002061094c815461050e565b9081610994575b505061096d600080516020610a4f833981519152546104ff565b600080516020610a4f83398151915255610765604051928392602084526020840191610865565b81601f600093116001146109ac5750555b3880610953565b818352602083206109c891601f0160051c810190600101610672565b80825281602081209155556109a5565b610a0761086192949360405195869563781f2e3960e01b87526004870152606060248701526064860191610865565b83810360031901604485015290610453565b8363340c473d60e11b60005260045260246000fdfe0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f5000627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f501a264697066735822122008bf9e3c9de7ba06546136e69ceefea4e48f805cfa106f7803c7fdf5277353a464736f6c634300081c0033", "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE CALLVALUE PUSH1 0x15 JUMPI PUSH2 0xAA4 SWAP1 DUP2 PUSH2 0x1B DUP3 CODECOPY RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x13 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0x66A1EB7 EQ PUSH2 0x318 JUMPI POP DUP1 PUSH4 0xDB02622 EQ PUSH2 0x2F5 JUMPI DUP1 PUSH4 0xF0F3F24 EQ PUSH2 0x2AB JUMPI DUP1 PUSH4 0x1CA5393F EQ PUSH2 0x251 JUMPI DUP1 PUSH4 0x29565E3B EQ PUSH2 0x1EC JUMPI DUP1 PUSH4 0x36D9CF9B EQ PUSH2 0x1C1 JUMPI DUP1 PUSH4 0x89625B57 EQ PUSH2 0x181 JUMPI DUP1 PUSH4 0x8EA69029 EQ PUSH2 0x14A JUMPI DUP1 PUSH4 0xA2E1A8D8 EQ PUSH2 0x111 JUMPI DUP1 PUSH4 0xB8197367 EQ PUSH2 0xC8 JUMPI PUSH4 0xD948FD2E EQ PUSH2 0x98 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0xC3 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xC3 JUMPI PUSH1 0x20 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xA2F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0xC3 JUMPI PUSH2 0xD6 CALLDATASIZE PUSH2 0x3DC JUMP JUMPDEST SWAP1 PUSH2 0xDF PUSH2 0x643 JUMP JUMPDEST PUSH2 0xE7 PUSH2 0x4BD JUMP JUMPDEST SWAP3 PUSH1 0x1 DUP5 GT PUSH2 0xFC JUMPI PUSH2 0xFA SWAP4 POP PUSH2 0x886 JUMP JUMPDEST STOP JUMPDEST DUP4 PUSH4 0x1047E355 PUSH1 0xE3 SHL PUSH1 0x0 MSTORE PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST CALLVALUE PUSH2 0xC3 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xC3 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 SUB PUSH2 0xC3 JUMPI PUSH2 0x140 PUSH1 0x20 SWAP2 PUSH2 0x618 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0xC3 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xC3 JUMPI PUSH2 0x17D PUSH2 0x169 PUSH1 0x4 CALLDATALOAD PUSH2 0x548 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 SWAP2 PUSH1 0x20 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP1 PUSH2 0x453 JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST CALLVALUE PUSH2 0xC3 JUMPI PUSH2 0x18F CALLDATASIZE PUSH2 0x3DC JUMP JUMPDEST SWAP1 PUSH2 0x198 PUSH2 0x643 JUMP JUMPDEST PUSH1 0x1 PUSH2 0x1A2 PUSH2 0x4BD JUMP JUMPDEST EQ PUSH2 0x1B0 JUMPI PUSH2 0xFA SWAP3 PUSH2 0x886 JUMP JUMPDEST PUSH4 0x948BF897 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x0 REVERT JUMPDEST CALLVALUE PUSH2 0xC3 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xC3 JUMPI PUSH1 0x20 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xA4F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0xC3 JUMPI PUSH2 0xFA PUSH2 0x1FD CALLDATASIZE PUSH2 0x347 JUMP JUMPDEST PUSH2 0x205 PUSH2 0x643 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP2 MSTORE PUSH2 0x222 PUSH1 0x60 DUP3 PUSH2 0x35D JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xA2F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD SWAP1 PUSH2 0x23C DUP3 PUSH2 0x4FF JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xA2F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SSTORE PUSH2 0x689 JUMP JUMPDEST CALLVALUE PUSH2 0xC3 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xC3 JUMPI PUSH1 0x4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0xC3 JUMPI CALLDATASIZE PUSH1 0x23 DUP3 ADD SLT ISZERO PUSH2 0xC3 JUMPI PUSH1 0xFF PUSH2 0x29F PUSH2 0x29A PUSH1 0x20 SWAP4 CALLDATASIZE SWAP1 PUSH1 0x24 DUP2 PUSH1 0x4 ADD CALLDATALOAD SWAP2 ADD PUSH2 0x395 JUMP JUMPDEST PUSH2 0x478 JUMP JUMPDEST SLOAD AND PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0xC3 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xC3 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND SWAP1 DUP2 SWAP1 SUB PUSH2 0xC3 JUMPI PUSH2 0xFA SWAP1 PUSH2 0x2DD PUSH2 0x643 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x20 DUP2 MSTORE PUSH2 0x222 PUSH1 0x40 DUP3 PUSH2 0x35D JUMP JUMPDEST CALLVALUE PUSH2 0xC3 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xC3 JUMPI PUSH1 0x20 PUSH2 0x310 PUSH2 0x4BD JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0xC3 JUMPI PUSH1 0xFF PUSH2 0x29F PUSH1 0x20 SWAP3 PUSH2 0x32E CALLDATASIZE PUSH2 0x347 JUMP JUMPDEST SWAP1 DUP6 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP2 MSTORE PUSH2 0x29A PUSH1 0x60 DUP3 PUSH2 0x35D JUMP JUMPDEST PUSH1 0x40 SWAP1 PUSH1 0x3 NOT ADD SLT PUSH2 0xC3 JUMPI PUSH1 0x4 CALLDATALOAD SWAP1 PUSH1 0x24 CALLDATALOAD SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x1F DUP1 NOT SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x37F JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP3 SWAP2 SWAP3 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH2 0x37F JUMPI PUSH1 0x40 MLOAD SWAP2 PUSH2 0x3BF PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP5 PUSH2 0x35D JUMP JUMPDEST DUP3 SWAP5 DUP2 DUP5 MSTORE DUP2 DUP4 ADD GT PUSH2 0xC3 JUMPI DUP3 DUP2 PUSH1 0x20 SWAP4 DUP5 PUSH1 0x0 SWAP7 ADD CALLDATACOPY ADD ADD MSTORE JUMP JUMPDEST PUSH1 0x40 PUSH1 0x3 NOT DUP3 ADD SLT PUSH2 0xC3 JUMPI PUSH1 0x4 CALLDATALOAD SWAP2 PUSH1 0x24 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0xC3 JUMPI DUP3 PUSH1 0x23 DUP3 ADD SLT ISZERO PUSH2 0xC3 JUMPI DUP1 PUSH1 0x4 ADD CALLDATALOAD SWAP3 PUSH8 0xFFFFFFFFFFFFFFFF DUP5 GT PUSH2 0xC3 JUMPI PUSH1 0x24 DUP5 DUP4 ADD ADD GT PUSH2 0xC3 JUMPI PUSH1 0x24 ADD SWAP2 SWAP1 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0x443 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x433 JUMP JUMPDEST SWAP1 PUSH1 0x20 SWAP2 PUSH2 0x46C DUP2 MLOAD DUP1 SWAP3 DUP2 DUP6 MSTORE DUP6 DUP1 DUP7 ADD SWAP2 ADD PUSH2 0x430 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND ADD ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 PUSH2 0x491 SWAP2 DUP2 PUSH1 0x40 MLOAD SWAP4 DUP3 DUP6 DUP1 SWAP5 MLOAD SWAP4 DUP5 SWAP3 ADD PUSH2 0x430 JUMP JUMPDEST DUP2 ADD PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F503 DUP2 MSTORE SUB ADD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xA2F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xA4F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD DUP2 SUB SWAP1 DUP2 GT PUSH2 0x4E9 JUMPI SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 NOT DUP2 EQ PUSH2 0x4E9 JUMPI PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH2 0x53E JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH2 0x528 JUMPI JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH2 0x51D JUMP JUMPDEST PUSH1 0x0 MSTORE PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F502 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD SWAP1 DUP2 PUSH1 0x0 DUP3 SLOAD SWAP3 PUSH2 0x587 DUP5 PUSH2 0x50E JUMP JUMPDEST DUP1 DUP5 MSTORE SWAP4 PUSH1 0x1 DUP2 AND SWAP1 DUP2 ISZERO PUSH2 0x5F6 JUMPI POP PUSH1 0x1 EQ PUSH2 0x5AF JUMPI JUMPDEST POP PUSH2 0x5AC SWAP3 POP SUB DUP3 PUSH2 0x35D JUMP JUMPDEST SWAP1 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 SWAP3 SWAP2 SWAP3 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x0 SWAP2 JUMPDEST DUP2 DUP4 LT PUSH2 0x5DA JUMPI POP POP SWAP1 PUSH1 0x20 PUSH2 0x5AC SWAP3 DUP3 ADD ADD CODESIZE PUSH2 0x59F JUMP JUMPDEST PUSH1 0x20 SWAP2 SWAP4 POP DUP1 PUSH1 0x1 SWAP2 SLOAD DUP4 DUP6 DUP9 ADD ADD MSTORE ADD SWAP2 ADD SWAP1 SWAP2 DUP4 SWAP3 PUSH2 0x5C1 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 SWAP3 POP PUSH2 0x5AC SWAP5 SWAP2 POP PUSH1 0xFF NOT AND DUP3 DUP5 ADD MSTORE ISZERO ISZERO PUSH1 0x5 SHL DUP3 ADD ADD CODESIZE PUSH2 0x59F JUMP JUMPDEST PUSH2 0x63E PUSH1 0xFF SWAP2 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x20 DUP2 MSTORE PUSH2 0x29A PUSH1 0x40 DUP3 PUSH2 0x35D JUMP JUMPDEST SLOAD AND SWAP1 JUMP JUMPDEST PUSH2 0x64C CALLER PUSH2 0x618 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x669 JUMPI JUMPDEST PUSH2 0x667 JUMPI PUSH3 0x82B429 PUSH1 0xE8 SHL PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x0 REVERT JUMPDEST JUMP JUMPDEST POP ADDRESS CALLER EQ PUSH2 0x653 JUMP JUMPDEST DUP2 DUP2 LT PUSH2 0x67D JUMPI POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x672 JUMP JUMPDEST PUSH1 0xFF PUSH2 0x694 DUP3 PUSH2 0x478 JUMP JUMPDEST SLOAD AND PUSH2 0x83C JUMPI PUSH2 0x6A3 DUP2 PUSH2 0x478 JUMP JUMPDEST PUSH1 0x1 PUSH1 0xFF NOT DUP3 SLOAD AND OR SWAP1 SSTORE DUP2 PUSH1 0x0 MSTORE PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F502 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x37F JUMPI PUSH2 0x6F6 DUP3 SLOAD PUSH2 0x50E JUMP JUMPDEST PUSH1 0x1F DUP2 GT PUSH2 0x7FF JUMPI JUMPDEST POP PUSH1 0x20 PUSH1 0x1F DUP3 GT PUSH1 0x1 EQ PUSH2 0x775 JUMPI SWAP2 DUP2 PUSH32 0x38109EDC26E166B5579352CE56A50813177EB25208FD90D61F2F378386220220 SWAP5 SWAP3 PUSH2 0x765 SWAP5 PUSH1 0x0 SWAP2 PUSH2 0x76A JUMPI JUMPDEST POP DUP2 PUSH1 0x1 SHL SWAP2 PUSH1 0x0 NOT SWAP1 PUSH1 0x3 SHL SHR NOT AND OR SWAP1 SSTORE PUSH1 0x40 MLOAD SWAP2 DUP3 SWAP2 PUSH1 0x20 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP1 PUSH2 0x453 JUMP JUMPDEST SUB SWAP1 LOG2 JUMP JUMPDEST SWAP1 POP DUP4 ADD MLOAD CODESIZE PUSH2 0x73E JUMP JUMPDEST PUSH1 0x1F NOT DUP3 AND SWAP1 DUP4 PUSH1 0x0 MSTORE DUP1 PUSH1 0x0 KECCAK256 SWAP2 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH2 0x7E7 JUMPI POP SWAP3 PUSH2 0x765 SWAP5 SWAP3 PUSH1 0x1 SWAP3 DUP3 PUSH32 0x38109EDC26E166B5579352CE56A50813177EB25208FD90D61F2F378386220220 SWAP9 SWAP7 LT PUSH2 0x7CE JUMPI JUMPDEST POP POP DUP2 SHL ADD SWAP1 SSTORE PUSH2 0x169 JUMP JUMPDEST DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 PUSH2 0x7C2 JUMP JUMPDEST SWAP2 SWAP3 PUSH1 0x20 PUSH1 0x1 DUP2 SWAP3 DUP7 DUP11 ADD MLOAD DUP2 SSTORE ADD SWAP5 ADD SWAP3 ADD PUSH2 0x787 JUMP JUMPDEST PUSH2 0x82C SWAP1 DUP4 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 PUSH1 0x1F DUP5 ADD PUSH1 0x5 SHR DUP2 ADD SWAP2 PUSH1 0x20 DUP6 LT PUSH2 0x832 JUMPI JUMPDEST PUSH1 0x1F ADD PUSH1 0x5 SHR ADD SWAP1 PUSH2 0x672 JUMP JUMPDEST CODESIZE PUSH2 0x6FF JUMP JUMPDEST SWAP1 SWAP2 POP DUP2 SWAP1 PUSH2 0x81F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x468B12AD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE SWAP1 DUP2 SWAP1 PUSH2 0x861 SWAP1 PUSH1 0x24 DUP4 ADD SWAP1 PUSH2 0x453 JUMP JUMPDEST SUB SWAP1 REVERT JUMPDEST SWAP1 DUP1 PUSH1 0x20 SWAP4 SWAP3 DUP2 DUP5 MSTORE DUP5 DUP5 ADD CALLDATACOPY PUSH1 0x0 DUP3 DUP3 ADD DUP5 ADD MSTORE PUSH1 0x1F ADD PUSH1 0x1F NOT AND ADD ADD SWAP1 JUMP JUMPDEST SWAP2 PUSH2 0x890 DUP4 PUSH2 0x548 JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0xA19 JUMPI DUP1 MLOAD PUSH1 0x20 DUP3 ADD KECCAK256 PUSH2 0x8A9 CALLDATASIZE DUP5 DUP7 PUSH2 0x395 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SUB PUSH2 0x9D8 JUMPI POP SWAP1 PUSH32 0xCF95BBFE6F870F8CC40482DC3DCCDAFD268F0E9CE0A4F24EA1BEA9BE64E505FF SWAP2 PUSH1 0x40 MLOAD DUP2 DUP4 DUP3 CALLDATACOPY PUSH1 0x20 DUP2 DUP4 DUP2 ADD PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F503 DUP2 MSTORE SUB ADD SWAP1 KECCAK256 PUSH1 0xFF NOT DUP2 SLOAD AND SWAP1 SSTORE DUP4 PUSH1 0x0 MSTORE PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F502 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH2 0x94C DUP2 SLOAD PUSH2 0x50E JUMP JUMPDEST SWAP1 DUP2 PUSH2 0x994 JUMPI JUMPDEST POP POP PUSH2 0x96D PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xA4F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH2 0x4FF JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xA4F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SSTORE PUSH2 0x765 PUSH1 0x40 MLOAD SWAP3 DUP4 SWAP3 PUSH1 0x20 DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP2 PUSH2 0x865 JUMP JUMPDEST DUP2 PUSH1 0x1F PUSH1 0x0 SWAP4 GT PUSH1 0x1 EQ PUSH2 0x9AC JUMPI POP SSTORE JUMPDEST CODESIZE DUP1 PUSH2 0x953 JUMP JUMPDEST DUP2 DUP4 MSTORE PUSH1 0x20 DUP4 KECCAK256 PUSH2 0x9C8 SWAP2 PUSH1 0x1F ADD PUSH1 0x5 SHR DUP2 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x672 JUMP JUMPDEST DUP1 DUP3 MSTORE DUP2 PUSH1 0x20 DUP2 KECCAK256 SWAP2 SSTORE SSTORE PUSH2 0x9A5 JUMP JUMPDEST PUSH2 0xA07 PUSH2 0x861 SWAP3 SWAP5 SWAP4 PUSH1 0x40 MLOAD SWAP6 DUP7 SWAP6 PUSH4 0x781F2E39 PUSH1 0xE0 SHL DUP8 MSTORE PUSH1 0x4 DUP8 ADD MSTORE PUSH1 0x60 PUSH1 0x24 DUP8 ADD MSTORE PUSH1 0x64 DUP7 ADD SWAP2 PUSH2 0x865 JUMP JUMPDEST DUP4 DUP2 SUB PUSH1 0x3 NOT ADD PUSH1 0x44 DUP6 ADD MSTORE SWAP1 PUSH2 0x453 JUMP JUMPDEST DUP4 PUSH4 0x340C473D PUSH1 0xE1 SHL PUSH1 0x0 MSTORE PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID MOD 0x27 0xF7 0x2A CREATE 0xE6 DELEGATECALL SLT NOT JUMPDEST 0xD DUP11 0xCB 0xE4 CODESIZE 0xB2 DUP1 SWAP1 0xDD SLOAD JUMPDEST PUSH30 0x2331FCCF77723561F5000627F72AF0E6F412195B0D8ACBE438B28090DD54 JUMPDEST PUSH30 0x2331FCCF77723561F501A264697066735822122008BF9E3C9DE7BA065461 CALLDATASIZE 0xE6 SWAP13 0xEE INVALID LOG4 0xE4 DUP16 DUP1 TLOAD STATICCALL LT PUSH16 0x7803C7FDF5277353A464736F6C634300 ADDMOD SHR STOP CALLER ", - "sourceMap": "1427:10263:19:-:0;;;;;;;;;;;;;;;;;" + "sourceMap": "1427:10263:32:-:0;;;;;;;;;;;;;;;;;" }, "deployedBytecode": { "functionDebugData": { @@ -238760,37 +264560,37 @@ }, "fun_addOwnerAtIndex": { "entryPoint": 1673, - "id": 8080, + "id": 9792, "parameterSlots": 2, "returnSlots": 0 }, "fun_checkOwner": { "entryPoint": 1603, - "id": 8171, + "id": 9883, "parameterSlots": 0, "returnSlots": 0 }, "fun_isOwnerAddress": { "entryPoint": 1560, - "id": 7848, + "id": 9560, "parameterSlots": 1, "returnSlots": 1 }, "fun_ownerAtIndex": { "entryPoint": 1352, - "id": 7899, + "id": 9611, "parameterSlots": 1, "returnSlots": 1 }, "fun_ownerCount": { "entryPoint": 1213, - "id": 7929, + "id": 9641, "parameterSlots": 0, "returnSlots": 1 }, "fun_removeOwnerAtIndex": { "entryPoint": 2182, - "id": 8147, + "id": 9859, "parameterSlots": 3, "returnSlots": 0 }, @@ -238812,7 +264612,7 @@ "linkReferences": {}, "object": "608080604052600436101561001357600080fd5b60003560e01c908163066a1eb714610318575080630db02622146102f55780630f0f3f24146102ab5780631ca5393f1461025157806329565e3b146101ec57806336d9cf9b146101c157806389625b57146101815780638ea690291461014a578063a2e1a8d814610111578063b8197367146100c85763d948fd2e1461009857600080fd5b346100c35760003660031901126100c3576020600080516020610a2f83398151915254604051908152f35b600080fd5b346100c3576100d6366103dc565b906100df610643565b6100e76104bd565b92600184116100fc576100fa9350610886565b005b83631047e35560e31b60005260045260246000fd5b346100c35760203660031901126100c3576004356001600160a01b03811681036100c357610140602091610618565b6040519015158152f35b346100c35760203660031901126100c35761017d610169600435610548565b604051918291602083526020830190610453565b0390f35b346100c35761018f366103dc565b90610198610643565b60016101a26104bd565b146101b0576100fa92610886565b63948bf89760e01b60005260046000fd5b346100c35760003660031901126100c3576020600080516020610a4f83398151915254604051908152f35b346100c3576100fa6101fd36610347565b610205610643565b60405191602083015260408201526040815261022260608261035d565b600080516020610a2f833981519152549061023c826104ff565b600080516020610a2f83398151915255610689565b346100c35760203660031901126100c35760043567ffffffffffffffff81116100c357366023820112156100c35760ff61029f61029a6020933690602481600401359101610395565b610478565b54166040519015158152f35b346100c35760203660031901126100c3576004356001600160a01b038116908190036100c3576100fa906102dd610643565b6040519060208201526020815261022260408261035d565b346100c35760003660031901126100c35760206103106104bd565b604051908152f35b346100c35760ff61029f60209261032e36610347565b908583015260408201526040815261029a60608261035d565b60409060031901126100c3576004359060243590565b90601f8019910116810190811067ffffffffffffffff82111761037f57604052565b634e487b7160e01b600052604160045260246000fd5b92919267ffffffffffffffff821161037f57604051916103bf601f8201601f19166020018461035d565b8294818452818301116100c3578281602093846000960137010152565b60406003198201126100c3576004359160243567ffffffffffffffff81116100c357826023820112156100c35780600401359267ffffffffffffffff84116100c357602484830101116100c3576024019190565b60005b8381106104435750506000910152565b8181015183820152602001610433565b9060209161046c81518092818552858086019101610430565b601f01601f1916010190565b6020610491918160405193828580945193849201610430565b81017f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f50381520301902090565b600080516020610a2f83398151915254600080516020610a4f8339815191525481039081116104e95790565b634e487b7160e01b600052601160045260246000fd5b60001981146104e95760010190565b90600182811c9216801561053e575b602083101461052857565b634e487b7160e01b600052602260045260246000fd5b91607f169161051d565b6000527f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f5026020526040600020604051908160008254926105878461050e565b80845293600181169081156105f657506001146105af575b506105ac9250038261035d565b90565b90506000929192526020600020906000915b8183106105da5750509060206105ac928201013861059f565b60209193508060019154838588010152019101909183926105c1565b9050602092506105ac94915060ff191682840152151560051b8201013861059f565b61063e60ff916040519060018060a01b031660208201526020815261029a60408261035d565b541690565b61064c33610618565b8015610669575b610667576282b42960e81b60005260046000fd5b565b50303314610653565b81811061067d575050565b60008155600101610672565b60ff61069482610478565b541661083c576106a381610478565b600160ff19825416179055816000527f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f5026020526040600020815167ffffffffffffffff811161037f576106f6825461050e565b601f81116107ff575b506020601f82116001146107755791817f38109edc26e166b5579352ce56a50813177eb25208fd90d61f2f37838622022094926107659460009161076a575b508160011b916000199060031b1c1916179055604051918291602083526020830190610453565b0390a2565b90508301513861073e565b601f1982169083600052806000209160005b8181106107e75750926107659492600192827f38109edc26e166b5579352ce56a50813177eb25208fd90d61f2f3783862202209896106107ce575b5050811b019055610169565b85015160001960f88460031b161c1916905538806107c2565b9192602060018192868a015181550194019201610787565b61082c90836000526020600020601f840160051c81019160208510610832575b601f0160051c0190610672565b386106ff565b909150819061081f565b60405163468b12ad60e11b815260206004820152908190610861906024830190610453565b0390fd5b908060209392818452848401376000828201840152601f01601f1916010190565b9161089083610548565b805115610a1957805160208201206108a9368486610395565b60208151910120036109d85750907fcf95bbfe6f870f8cc40482dc3dccdafd268f0e9ce0a4f24ea1bea9be64e505ff91604051818382376020818381017f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f50381520301902060ff198154169055836000527f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f502602052604060002061094c815461050e565b9081610994575b505061096d600080516020610a4f833981519152546104ff565b600080516020610a4f83398151915255610765604051928392602084526020840191610865565b81601f600093116001146109ac5750555b3880610953565b818352602083206109c891601f0160051c810190600101610672565b80825281602081209155556109a5565b610a0761086192949360405195869563781f2e3960e01b87526004870152606060248701526064860191610865565b83810360031901604485015290610453565b8363340c473d60e11b60005260045260246000fdfe0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f5000627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f501a264697066735822122008bf9e3c9de7ba06546136e69ceefea4e48f805cfa106f7803c7fdf5277353a464736f6c634300081c0033", "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x13 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0x66A1EB7 EQ PUSH2 0x318 JUMPI POP DUP1 PUSH4 0xDB02622 EQ PUSH2 0x2F5 JUMPI DUP1 PUSH4 0xF0F3F24 EQ PUSH2 0x2AB JUMPI DUP1 PUSH4 0x1CA5393F EQ PUSH2 0x251 JUMPI DUP1 PUSH4 0x29565E3B EQ PUSH2 0x1EC JUMPI DUP1 PUSH4 0x36D9CF9B EQ PUSH2 0x1C1 JUMPI DUP1 PUSH4 0x89625B57 EQ PUSH2 0x181 JUMPI DUP1 PUSH4 0x8EA69029 EQ PUSH2 0x14A JUMPI DUP1 PUSH4 0xA2E1A8D8 EQ PUSH2 0x111 JUMPI DUP1 PUSH4 0xB8197367 EQ PUSH2 0xC8 JUMPI PUSH4 0xD948FD2E EQ PUSH2 0x98 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0xC3 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xC3 JUMPI PUSH1 0x20 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xA2F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0xC3 JUMPI PUSH2 0xD6 CALLDATASIZE PUSH2 0x3DC JUMP JUMPDEST SWAP1 PUSH2 0xDF PUSH2 0x643 JUMP JUMPDEST PUSH2 0xE7 PUSH2 0x4BD JUMP JUMPDEST SWAP3 PUSH1 0x1 DUP5 GT PUSH2 0xFC JUMPI PUSH2 0xFA SWAP4 POP PUSH2 0x886 JUMP JUMPDEST STOP JUMPDEST DUP4 PUSH4 0x1047E355 PUSH1 0xE3 SHL PUSH1 0x0 MSTORE PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST CALLVALUE PUSH2 0xC3 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xC3 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 SUB PUSH2 0xC3 JUMPI PUSH2 0x140 PUSH1 0x20 SWAP2 PUSH2 0x618 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0xC3 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xC3 JUMPI PUSH2 0x17D PUSH2 0x169 PUSH1 0x4 CALLDATALOAD PUSH2 0x548 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 SWAP2 PUSH1 0x20 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP1 PUSH2 0x453 JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST CALLVALUE PUSH2 0xC3 JUMPI PUSH2 0x18F CALLDATASIZE PUSH2 0x3DC JUMP JUMPDEST SWAP1 PUSH2 0x198 PUSH2 0x643 JUMP JUMPDEST PUSH1 0x1 PUSH2 0x1A2 PUSH2 0x4BD JUMP JUMPDEST EQ PUSH2 0x1B0 JUMPI PUSH2 0xFA SWAP3 PUSH2 0x886 JUMP JUMPDEST PUSH4 0x948BF897 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x0 REVERT JUMPDEST CALLVALUE PUSH2 0xC3 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xC3 JUMPI PUSH1 0x20 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xA4F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0xC3 JUMPI PUSH2 0xFA PUSH2 0x1FD CALLDATASIZE PUSH2 0x347 JUMP JUMPDEST PUSH2 0x205 PUSH2 0x643 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP2 MSTORE PUSH2 0x222 PUSH1 0x60 DUP3 PUSH2 0x35D JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xA2F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD SWAP1 PUSH2 0x23C DUP3 PUSH2 0x4FF JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xA2F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SSTORE PUSH2 0x689 JUMP JUMPDEST CALLVALUE PUSH2 0xC3 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xC3 JUMPI PUSH1 0x4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0xC3 JUMPI CALLDATASIZE PUSH1 0x23 DUP3 ADD SLT ISZERO PUSH2 0xC3 JUMPI PUSH1 0xFF PUSH2 0x29F PUSH2 0x29A PUSH1 0x20 SWAP4 CALLDATASIZE SWAP1 PUSH1 0x24 DUP2 PUSH1 0x4 ADD CALLDATALOAD SWAP2 ADD PUSH2 0x395 JUMP JUMPDEST PUSH2 0x478 JUMP JUMPDEST SLOAD AND PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0xC3 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xC3 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND SWAP1 DUP2 SWAP1 SUB PUSH2 0xC3 JUMPI PUSH2 0xFA SWAP1 PUSH2 0x2DD PUSH2 0x643 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x20 DUP2 MSTORE PUSH2 0x222 PUSH1 0x40 DUP3 PUSH2 0x35D JUMP JUMPDEST CALLVALUE PUSH2 0xC3 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xC3 JUMPI PUSH1 0x20 PUSH2 0x310 PUSH2 0x4BD JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0xC3 JUMPI PUSH1 0xFF PUSH2 0x29F PUSH1 0x20 SWAP3 PUSH2 0x32E CALLDATASIZE PUSH2 0x347 JUMP JUMPDEST SWAP1 DUP6 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP2 MSTORE PUSH2 0x29A PUSH1 0x60 DUP3 PUSH2 0x35D JUMP JUMPDEST PUSH1 0x40 SWAP1 PUSH1 0x3 NOT ADD SLT PUSH2 0xC3 JUMPI PUSH1 0x4 CALLDATALOAD SWAP1 PUSH1 0x24 CALLDATALOAD SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x1F DUP1 NOT SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x37F JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP3 SWAP2 SWAP3 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT PUSH2 0x37F JUMPI PUSH1 0x40 MLOAD SWAP2 PUSH2 0x3BF PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP5 PUSH2 0x35D JUMP JUMPDEST DUP3 SWAP5 DUP2 DUP5 MSTORE DUP2 DUP4 ADD GT PUSH2 0xC3 JUMPI DUP3 DUP2 PUSH1 0x20 SWAP4 DUP5 PUSH1 0x0 SWAP7 ADD CALLDATACOPY ADD ADD MSTORE JUMP JUMPDEST PUSH1 0x40 PUSH1 0x3 NOT DUP3 ADD SLT PUSH2 0xC3 JUMPI PUSH1 0x4 CALLDATALOAD SWAP2 PUSH1 0x24 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0xC3 JUMPI DUP3 PUSH1 0x23 DUP3 ADD SLT ISZERO PUSH2 0xC3 JUMPI DUP1 PUSH1 0x4 ADD CALLDATALOAD SWAP3 PUSH8 0xFFFFFFFFFFFFFFFF DUP5 GT PUSH2 0xC3 JUMPI PUSH1 0x24 DUP5 DUP4 ADD ADD GT PUSH2 0xC3 JUMPI PUSH1 0x24 ADD SWAP2 SWAP1 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0x443 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x433 JUMP JUMPDEST SWAP1 PUSH1 0x20 SWAP2 PUSH2 0x46C DUP2 MLOAD DUP1 SWAP3 DUP2 DUP6 MSTORE DUP6 DUP1 DUP7 ADD SWAP2 ADD PUSH2 0x430 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND ADD ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 PUSH2 0x491 SWAP2 DUP2 PUSH1 0x40 MLOAD SWAP4 DUP3 DUP6 DUP1 SWAP5 MLOAD SWAP4 DUP5 SWAP3 ADD PUSH2 0x430 JUMP JUMPDEST DUP2 ADD PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F503 DUP2 MSTORE SUB ADD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xA2F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xA4F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD DUP2 SUB SWAP1 DUP2 GT PUSH2 0x4E9 JUMPI SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 NOT DUP2 EQ PUSH2 0x4E9 JUMPI PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH2 0x53E JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH2 0x528 JUMPI JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH2 0x51D JUMP JUMPDEST PUSH1 0x0 MSTORE PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F502 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD SWAP1 DUP2 PUSH1 0x0 DUP3 SLOAD SWAP3 PUSH2 0x587 DUP5 PUSH2 0x50E JUMP JUMPDEST DUP1 DUP5 MSTORE SWAP4 PUSH1 0x1 DUP2 AND SWAP1 DUP2 ISZERO PUSH2 0x5F6 JUMPI POP PUSH1 0x1 EQ PUSH2 0x5AF JUMPI JUMPDEST POP PUSH2 0x5AC SWAP3 POP SUB DUP3 PUSH2 0x35D JUMP JUMPDEST SWAP1 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 SWAP3 SWAP2 SWAP3 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x0 SWAP2 JUMPDEST DUP2 DUP4 LT PUSH2 0x5DA JUMPI POP POP SWAP1 PUSH1 0x20 PUSH2 0x5AC SWAP3 DUP3 ADD ADD CODESIZE PUSH2 0x59F JUMP JUMPDEST PUSH1 0x20 SWAP2 SWAP4 POP DUP1 PUSH1 0x1 SWAP2 SLOAD DUP4 DUP6 DUP9 ADD ADD MSTORE ADD SWAP2 ADD SWAP1 SWAP2 DUP4 SWAP3 PUSH2 0x5C1 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 SWAP3 POP PUSH2 0x5AC SWAP5 SWAP2 POP PUSH1 0xFF NOT AND DUP3 DUP5 ADD MSTORE ISZERO ISZERO PUSH1 0x5 SHL DUP3 ADD ADD CODESIZE PUSH2 0x59F JUMP JUMPDEST PUSH2 0x63E PUSH1 0xFF SWAP2 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x20 DUP2 MSTORE PUSH2 0x29A PUSH1 0x40 DUP3 PUSH2 0x35D JUMP JUMPDEST SLOAD AND SWAP1 JUMP JUMPDEST PUSH2 0x64C CALLER PUSH2 0x618 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x669 JUMPI JUMPDEST PUSH2 0x667 JUMPI PUSH3 0x82B429 PUSH1 0xE8 SHL PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x0 REVERT JUMPDEST JUMP JUMPDEST POP ADDRESS CALLER EQ PUSH2 0x653 JUMP JUMPDEST DUP2 DUP2 LT PUSH2 0x67D JUMPI POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x672 JUMP JUMPDEST PUSH1 0xFF PUSH2 0x694 DUP3 PUSH2 0x478 JUMP JUMPDEST SLOAD AND PUSH2 0x83C JUMPI PUSH2 0x6A3 DUP2 PUSH2 0x478 JUMP JUMPDEST PUSH1 0x1 PUSH1 0xFF NOT DUP3 SLOAD AND OR SWAP1 SSTORE DUP2 PUSH1 0x0 MSTORE PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F502 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x37F JUMPI PUSH2 0x6F6 DUP3 SLOAD PUSH2 0x50E JUMP JUMPDEST PUSH1 0x1F DUP2 GT PUSH2 0x7FF JUMPI JUMPDEST POP PUSH1 0x20 PUSH1 0x1F DUP3 GT PUSH1 0x1 EQ PUSH2 0x775 JUMPI SWAP2 DUP2 PUSH32 0x38109EDC26E166B5579352CE56A50813177EB25208FD90D61F2F378386220220 SWAP5 SWAP3 PUSH2 0x765 SWAP5 PUSH1 0x0 SWAP2 PUSH2 0x76A JUMPI JUMPDEST POP DUP2 PUSH1 0x1 SHL SWAP2 PUSH1 0x0 NOT SWAP1 PUSH1 0x3 SHL SHR NOT AND OR SWAP1 SSTORE PUSH1 0x40 MLOAD SWAP2 DUP3 SWAP2 PUSH1 0x20 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP1 PUSH2 0x453 JUMP JUMPDEST SUB SWAP1 LOG2 JUMP JUMPDEST SWAP1 POP DUP4 ADD MLOAD CODESIZE PUSH2 0x73E JUMP JUMPDEST PUSH1 0x1F NOT DUP3 AND SWAP1 DUP4 PUSH1 0x0 MSTORE DUP1 PUSH1 0x0 KECCAK256 SWAP2 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH2 0x7E7 JUMPI POP SWAP3 PUSH2 0x765 SWAP5 SWAP3 PUSH1 0x1 SWAP3 DUP3 PUSH32 0x38109EDC26E166B5579352CE56A50813177EB25208FD90D61F2F378386220220 SWAP9 SWAP7 LT PUSH2 0x7CE JUMPI JUMPDEST POP POP DUP2 SHL ADD SWAP1 SSTORE PUSH2 0x169 JUMP JUMPDEST DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 PUSH2 0x7C2 JUMP JUMPDEST SWAP2 SWAP3 PUSH1 0x20 PUSH1 0x1 DUP2 SWAP3 DUP7 DUP11 ADD MLOAD DUP2 SSTORE ADD SWAP5 ADD SWAP3 ADD PUSH2 0x787 JUMP JUMPDEST PUSH2 0x82C SWAP1 DUP4 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 PUSH1 0x1F DUP5 ADD PUSH1 0x5 SHR DUP2 ADD SWAP2 PUSH1 0x20 DUP6 LT PUSH2 0x832 JUMPI JUMPDEST PUSH1 0x1F ADD PUSH1 0x5 SHR ADD SWAP1 PUSH2 0x672 JUMP JUMPDEST CODESIZE PUSH2 0x6FF JUMP JUMPDEST SWAP1 SWAP2 POP DUP2 SWAP1 PUSH2 0x81F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x468B12AD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE SWAP1 DUP2 SWAP1 PUSH2 0x861 SWAP1 PUSH1 0x24 DUP4 ADD SWAP1 PUSH2 0x453 JUMP JUMPDEST SUB SWAP1 REVERT JUMPDEST SWAP1 DUP1 PUSH1 0x20 SWAP4 SWAP3 DUP2 DUP5 MSTORE DUP5 DUP5 ADD CALLDATACOPY PUSH1 0x0 DUP3 DUP3 ADD DUP5 ADD MSTORE PUSH1 0x1F ADD PUSH1 0x1F NOT AND ADD ADD SWAP1 JUMP JUMPDEST SWAP2 PUSH2 0x890 DUP4 PUSH2 0x548 JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0xA19 JUMPI DUP1 MLOAD PUSH1 0x20 DUP3 ADD KECCAK256 PUSH2 0x8A9 CALLDATASIZE DUP5 DUP7 PUSH2 0x395 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SUB PUSH2 0x9D8 JUMPI POP SWAP1 PUSH32 0xCF95BBFE6F870F8CC40482DC3DCCDAFD268F0E9CE0A4F24EA1BEA9BE64E505FF SWAP2 PUSH1 0x40 MLOAD DUP2 DUP4 DUP3 CALLDATACOPY PUSH1 0x20 DUP2 DUP4 DUP2 ADD PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F503 DUP2 MSTORE SUB ADD SWAP1 KECCAK256 PUSH1 0xFF NOT DUP2 SLOAD AND SWAP1 SSTORE DUP4 PUSH1 0x0 MSTORE PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F502 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH2 0x94C DUP2 SLOAD PUSH2 0x50E JUMP JUMPDEST SWAP1 DUP2 PUSH2 0x994 JUMPI JUMPDEST POP POP PUSH2 0x96D PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xA4F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH2 0x4FF JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xA4F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SSTORE PUSH2 0x765 PUSH1 0x40 MLOAD SWAP3 DUP4 SWAP3 PUSH1 0x20 DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP2 PUSH2 0x865 JUMP JUMPDEST DUP2 PUSH1 0x1F PUSH1 0x0 SWAP4 GT PUSH1 0x1 EQ PUSH2 0x9AC JUMPI POP SSTORE JUMPDEST CODESIZE DUP1 PUSH2 0x953 JUMP JUMPDEST DUP2 DUP4 MSTORE PUSH1 0x20 DUP4 KECCAK256 PUSH2 0x9C8 SWAP2 PUSH1 0x1F ADD PUSH1 0x5 SHR DUP2 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x672 JUMP JUMPDEST DUP1 DUP3 MSTORE DUP2 PUSH1 0x20 DUP2 KECCAK256 SWAP2 SSTORE SSTORE PUSH2 0x9A5 JUMP JUMPDEST PUSH2 0xA07 PUSH2 0x861 SWAP3 SWAP5 SWAP4 PUSH1 0x40 MLOAD SWAP6 DUP7 SWAP6 PUSH4 0x781F2E39 PUSH1 0xE0 SHL DUP8 MSTORE PUSH1 0x4 DUP8 ADD MSTORE PUSH1 0x60 PUSH1 0x24 DUP8 ADD MSTORE PUSH1 0x64 DUP7 ADD SWAP2 PUSH2 0x865 JUMP JUMPDEST DUP4 DUP2 SUB PUSH1 0x3 NOT ADD PUSH1 0x44 DUP6 ADD MSTORE SWAP1 PUSH2 0x453 JUMP JUMPDEST DUP4 PUSH4 0x340C473D PUSH1 0xE1 SHL PUSH1 0x0 MSTORE PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID MOD 0x27 0xF7 0x2A CREATE 0xE6 DELEGATECALL SLT NOT JUMPDEST 0xD DUP11 0xCB 0xE4 CODESIZE 0xB2 DUP1 SWAP1 0xDD SLOAD JUMPDEST PUSH30 0x2331FCCF77723561F5000627F72AF0E6F412195B0D8ACBE438B28090DD54 JUMPDEST PUSH30 0x2331FCCF77723561F501A264697066735822122008BF9E3C9DE7BA065461 CALLDATASIZE 0xE6 SWAP13 0xEE INVALID LOG4 0xE4 DUP16 DUP1 TLOAD STATICCALL LT PUSH16 0x7803C7FDF5277353A464736F6C634300 ADDMOD SHR STOP CALLER ", - "sourceMap": "1427:10263:19:-:0;;;;;;;;;;;;;;;;;;;;;;;;6785:16;;1427:10263;6785:16;;;1427:10263;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1427:10263:19;;;;;-1:-1:-1;;;;;;;;;;;1427:10263:19;;;;;;;;;;;;;;;;;;:::i;:::-;4008:70;;;:::i;:::-;5864:12;;:::i;:::-;5890:19;5908:1;5890:19;;5886:86;;6009:5;;;;:::i;:::-;1427:10263;5886:86;5932:29;;;;1427:10263;5932:29;1427:10263;;;;5932:29;1427:10263;;;;;;-1:-1:-1;;1427:10263:19;;;;;;-1:-1:-1;;;;;1427:10263:19;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;1427:10263:19;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;4008:70;;;:::i;:::-;5200:1;5184:12;;:::i;:::-;:17;5180:66;;5283:5;;;:::i;5180:66::-;5224:11;;;1427:10263;5224:11;1427:10263;;5224:11;1427:10263;;;;;;-1:-1:-1;;1427:10263:19;;;;;-1:-1:-1;;;;;;;;;;;1427:10263:19;;;;;;;;;;;4630:42;1427:10263;;;:::i;:::-;4008:70;;:::i;:::-;1427:10263;;4612:16;;;;1427:10263;;;;;;4612:16;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1427:10263:19;4630:42;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1427:10263:19;4630:42;:::i;1427:10263::-;;;;;;-1:-1:-1;;1427:10263:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;;1427:10263:19;;;;;;-1:-1:-1;;;;;1427:10263:19;;;;;;;;4296:42;4008:70;;;:::i;:::-;1427:10263;;4277:17;1427:10263;4277:17;;1427:10263;;4277:17;;;1427:10263;4277:17;;:::i;1427:10263::-;;;;;;-1:-1:-1;;1427:10263:19;;;;;;;:::i;:::-;;;;;;;;;;;;;6785:16;1427:10263;;;;:::i;:::-;6785:16;;;;1427:10263;;;;;;6785:16;;;;;;:::i;1427:10263::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;1427:10263:19;;;;;-1:-1:-1;1427:10263:19;;;;;;;;;;;;;;;;;-1:-1:-1;;1427:10263:19;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;1427:10263:19;;;;;;:::o;:::-;;-1:-1:-1;;1427:10263:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;1427:10263:19;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;1427:10263:19;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;6751:33;1427:10263;;;;;;;:::o;7950:190::-;-1:-1:-1;;;;;;;;;;;1427:10263:19;-1:-1:-1;;;;;;;;;;;1427:10263:19;;;;;;;;7950:190;:::o;1427:10263::-;;;;-1:-1:-1;1427:10263:19;;;;;-1:-1:-1;1427:10263:19;;-1:-1:-1;;1427:10263:19;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;7406:149;-1:-1:-1;1427:10263:19;7503:38;1427:10263;;;-1:-1:-1;1427:10263:19;;;;;-1:-1:-1;1427:10263:19;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7406:149;:::o;1427:10263::-;;;-1:-1:-1;1427:10263:19;;;;;-1:-1:-1;1427:10263:19;;-1:-1:-1;1427:10263:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6239:154;1427:10263;;6239:154;1427:10263;;;;;;;;;6366:19;;;1427:10263;6366:19;;;;1427:10263;6366:19;;:::i;1427:10263::-;;;6239:154;:::o;11120:189::-;11179:26;11194:10;11179:26;:::i;:::-;:59;;;;11120:189;11175:96;;11288:14;;;;;;;;11175:96;11254:7::o;11179:59::-;11232:4;;11194:10;11210:27;11179:59;;1427:10263;;;;;;;;:::o;:::-;;;;;;;;9704:324;1427:10263;;;;:::i;:::-;;;9792:51;;1427:10263;;;:::i;:::-;9940:4;1427:10263;;;;;;;;;-1:-1:-1;1427:10263:19;9954:14;1427:10263;;;-1:-1:-1;1427:10263:19;;;;;;;;;;;;:::i;:::-;;;;;;9704:324;1427:10263;;;;;;;;;;;9999:22;1427:10263;;;;-1:-1:-1;1427:10263:19;;;;;;9940:4;1427:10263;;;;;7148:33;1427:10263;;;;;;;;;;;;;;;;;;;;:::i;:::-;9999:22;;;9704:324::o;1427:10263::-;;;;;;;;;;;;;;;;-1:-1:-1;1427:10263:19;;-1:-1:-1;1427:10263:19;;-1:-1:-1;1427:10263:19;;;;;;;;;;;9940:4;1427:10263;;9999:22;1427:10263;;;;;;;;;;;;;;;;;;;;;;;7148:33;1427:10263;;;;;;;;;;;;;;;9940:4;1427:10263;;;;;;;;;;;;;;;;;;;-1:-1:-1;1427:10263:19;;-1:-1:-1;1427:10263:19;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;1427:10263:19;;;;9792:51;1427:10263;;-1:-1:-1;;;9824:19:19;;1427:10263;9824:19;;;1427:10263;;;;;;;;;;;:::i;:::-;9824:19;;;1427:10263;;;;;;;;;;;;;-1:-1:-1;1427:10263:19;;;;;;;;-1:-1:-1;;1427:10263:19;;;;:::o;10367:575::-;;10482:19;;;:::i;:::-;1427:10263;;10515:18;10511:52;;1427:10263;;;;;10577:17;1427:10263;;;;;:::i;:::-;;;;;;10598:16;10577:37;10573:151;;1427:10263;;10910:25;1427:10263;;;;;;;;;;;;10808:9;1427:10263;;;;;;;;;;;;;;10532:1;1427:10263;10841:14;1427:10263;;;10532:1;1427:10263;;;;;:::i;:::-;;;;;10367:575;1427:10263;;10872:22;-1:-1:-1;;;;;;;;;;;1427:10263:19;10872:22;:::i;:::-;-1:-1:-1;;;;;;;;;;;1427:10263:19;;;;;;;;;;;;;;;:::i;:::-;;;10532:1;1427:10263;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;10573:151;1427:10263;;;;;;;10637:76;;;;;;;;;;;1427:10263;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1427:10263:19;;;;;;;:::i;10511:52::-;10542:21;;;;10532:1;10542:21;;1427:10263;;10532:1;10542:21" + "sourceMap": "1427:10263:32:-:0;;;;;;;;;;;;;;;;;;;;;;;;6785:16;;1427:10263;6785:16;;;1427:10263;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1427:10263:32;;;;;-1:-1:-1;;;;;;;;;;;1427:10263:32;;;;;;;;;;;;;;;;;;:::i;:::-;4008:70;;;:::i;:::-;5864:12;;:::i;:::-;5890:19;5908:1;5890:19;;5886:86;;6009:5;;;;:::i;:::-;1427:10263;5886:86;5932:29;;;;1427:10263;5932:29;1427:10263;;;;5932:29;1427:10263;;;;;;-1:-1:-1;;1427:10263:32;;;;;;-1:-1:-1;;;;;1427:10263:32;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;1427:10263:32;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;4008:70;;;:::i;:::-;5200:1;5184:12;;:::i;:::-;:17;5180:66;;5283:5;;;:::i;5180:66::-;5224:11;;;1427:10263;5224:11;1427:10263;;5224:11;1427:10263;;;;;;-1:-1:-1;;1427:10263:32;;;;;-1:-1:-1;;;;;;;;;;;1427:10263:32;;;;;;;;;;;4630:42;1427:10263;;;:::i;:::-;4008:70;;:::i;:::-;1427:10263;;4612:16;;;;1427:10263;;;;;;4612:16;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1427:10263:32;4630:42;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1427:10263:32;4630:42;:::i;1427:10263::-;;;;;;-1:-1:-1;;1427:10263:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;;1427:10263:32;;;;;;-1:-1:-1;;;;;1427:10263:32;;;;;;;;4296:42;4008:70;;;:::i;:::-;1427:10263;;4277:17;1427:10263;4277:17;;1427:10263;;4277:17;;;1427:10263;4277:17;;:::i;1427:10263::-;;;;;;-1:-1:-1;;1427:10263:32;;;;;;;:::i;:::-;;;;;;;;;;;;;6785:16;1427:10263;;;;:::i;:::-;6785:16;;;;1427:10263;;;;;;6785:16;;;;;;:::i;1427:10263::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;1427:10263:32;;;;;-1:-1:-1;1427:10263:32;;;;;;;;;;;;;;;;;-1:-1:-1;;1427:10263:32;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;1427:10263:32;;;;;;:::o;:::-;;-1:-1:-1;;1427:10263:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;1427:10263:32;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;1427:10263:32;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;6751:33;1427:10263;;;;;;;:::o;7950:190::-;-1:-1:-1;;;;;;;;;;;1427:10263:32;-1:-1:-1;;;;;;;;;;;1427:10263:32;;;;;;;;7950:190;:::o;1427:10263::-;;;;-1:-1:-1;1427:10263:32;;;;;-1:-1:-1;1427:10263:32;;-1:-1:-1;;1427:10263:32;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;7406:149;-1:-1:-1;1427:10263:32;7503:38;1427:10263;;;-1:-1:-1;1427:10263:32;;;;;-1:-1:-1;1427:10263:32;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7406:149;:::o;1427:10263::-;;;-1:-1:-1;1427:10263:32;;;;;-1:-1:-1;1427:10263:32;;-1:-1:-1;1427:10263:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6239:154;1427:10263;;6239:154;1427:10263;;;;;;;;;6366:19;;;1427:10263;6366:19;;;;1427:10263;6366:19;;:::i;1427:10263::-;;;6239:154;:::o;11120:189::-;11179:26;11194:10;11179:26;:::i;:::-;:59;;;;11120:189;11175:96;;11288:14;;;;;;;;11175:96;11254:7::o;11179:59::-;11232:4;;11194:10;11210:27;11179:59;;1427:10263;;;;;;;;:::o;:::-;;;;;;;;9704:324;1427:10263;;;;:::i;:::-;;;9792:51;;1427:10263;;;:::i;:::-;9940:4;1427:10263;;;;;;;;;-1:-1:-1;1427:10263:32;9954:14;1427:10263;;;-1:-1:-1;1427:10263:32;;;;;;;;;;;;:::i;:::-;;;;;;9704:324;1427:10263;;;;;;;;;;;9999:22;1427:10263;;;;-1:-1:-1;1427:10263:32;;;;;;9940:4;1427:10263;;;;;7148:33;1427:10263;;;;;;;;;;;;;;;;;;;;:::i;:::-;9999:22;;;9704:324::o;1427:10263::-;;;;;;;;;;;;;;;;-1:-1:-1;1427:10263:32;;-1:-1:-1;1427:10263:32;;-1:-1:-1;1427:10263:32;;;;;;;;;;;9940:4;1427:10263;;9999:22;1427:10263;;;;;;;;;;;;;;;;;;;;;;;7148:33;1427:10263;;;;;;;;;;;;;;;9940:4;1427:10263;;;;;;;;;;;;;;;;;;;-1:-1:-1;1427:10263:32;;-1:-1:-1;1427:10263:32;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;1427:10263:32;;;;9792:51;1427:10263;;-1:-1:-1;;;9824:19:32;;1427:10263;9824:19;;;1427:10263;;;;;;;;;;;:::i;:::-;9824:19;;;1427:10263;;;;;;;;;;;;;-1:-1:-1;1427:10263:32;;;;;;;;-1:-1:-1;;1427:10263:32;;;;:::o;10367:575::-;;10482:19;;;:::i;:::-;1427:10263;;10515:18;10511:52;;1427:10263;;;;;10577:17;1427:10263;;;;;:::i;:::-;;;;;;10598:16;10577:37;10573:151;;1427:10263;;10910:25;1427:10263;;;;;;;;;;;;10808:9;1427:10263;;;;;;;;;;;;;;10532:1;1427:10263;10841:14;1427:10263;;;10532:1;1427:10263;;;;;:::i;:::-;;;;;10367:575;1427:10263;;10872:22;-1:-1:-1;;;;;;;;;;;1427:10263:32;10872:22;:::i;:::-;-1:-1:-1;;;;;;;;;;;1427:10263:32;;;;;;;;;;;;;;;:::i;:::-;;;10532:1;1427:10263;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;10573:151;1427:10263;;;;;;;10637:76;;;;;;;;;;;1427:10263;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1427:10263:32;;;;;;;:::i;10511:52::-;10542:21;;;;10532:1;10542:21;;1427:10263;;10532:1;10542:21" }, "methodIdentifiers": { "addOwnerAddress(address)": "0f0f3f24", @@ -238831,6 +264631,852 @@ "metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"owner\",\"type\":\"bytes\"}],\"name\":\"AlreadyOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"owner\",\"type\":\"bytes\"}],\"name\":\"InvalidEthereumAddressOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"owner\",\"type\":\"bytes\"}],\"name\":\"InvalidOwnerBytesLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"LastOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"NoOwnerAtIndex\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"ownersRemaining\",\"type\":\"uint256\"}],\"name\":\"NotLastOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"expectedOwner\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"actualOwner\",\"type\":\"bytes\"}],\"name\":\"WrongOwnerAtIndex\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"owner\",\"type\":\"bytes\"}],\"name\":\"AddOwner\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"owner\",\"type\":\"bytes\"}],\"name\":\"RemoveOwner\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"addOwnerAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"x\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"y\",\"type\":\"bytes32\"}],\"name\":\"addOwnerPublicKey\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isOwnerAddress\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"account\",\"type\":\"bytes\"}],\"name\":\"isOwnerBytes\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"x\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"y\",\"type\":\"bytes32\"}],\"name\":\"isOwnerPublicKey\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextOwnerIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"ownerAtIndex\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ownerCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"owner\",\"type\":\"bytes\"}],\"name\":\"removeLastOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"owner\",\"type\":\"bytes\"}],\"name\":\"removeOwnerAtIndex\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"removedOwnersCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Applied Blockchain (https://github.com/appliedblockchain/giano)Coinbase (https://github.com/coinbase/smart-wallet)\",\"errors\":{\"AlreadyOwner(bytes)\":[{\"params\":{\"owner\":\"The owner bytes.\"}}],\"InvalidEthereumAddressOwner(bytes)\":[{\"params\":{\"owner\":\"The invalid owner.\"}}],\"InvalidOwnerBytesLength(bytes)\":[{\"params\":{\"owner\":\"The invalid owner.\"}}],\"NoOwnerAtIndex(uint256)\":[{\"params\":{\"index\":\"The targeted index for removal.\"}}],\"NotLastOwner(uint256)\":[{\"params\":{\"ownersRemaining\":\"The number of current owners.\"}}],\"WrongOwnerAtIndex(uint256,bytes,bytes)\":[{\"params\":{\"actualOwner\":\"The actual owner at `index`.\",\"expectedOwner\":\"The owner passed in the remove call.\",\"index\":\"The index of the owner to be removed.\"}}]},\"events\":{\"AddOwner(uint256,bytes)\":{\"params\":{\"index\":\"The owner index of the owner added.\",\"owner\":\"The owner added.\"}},\"RemoveOwner(uint256,bytes)\":{\"params\":{\"index\":\"The owner index of the owner removed.\",\"owner\":\"The owner removed.\"}}},\"kind\":\"dev\",\"methods\":{\"addOwnerAddress(address)\":{\"params\":{\"owner\":\"The owner address.\"}},\"addOwnerPublicKey(bytes32,bytes32)\":{\"params\":{\"x\":\"The owner public key x coordinate.\",\"y\":\"The owner public key y coordinate.\"}},\"isOwnerAddress(address)\":{\"params\":{\"account\":\"The account address to check.\"},\"returns\":{\"_0\":\"`true` if the account is an owner else `false`.\"}},\"isOwnerBytes(bytes)\":{\"params\":{\"account\":\"The account, should be ABI encoded address or public key.\"},\"returns\":{\"_0\":\"`true` if the account is an owner else `false`.\"}},\"isOwnerPublicKey(bytes32,bytes32)\":{\"params\":{\"x\":\"The public key x coordinate.\",\"y\":\"The public key y coordinate.\"},\"returns\":{\"_0\":\"`true` if the account is an owner else `false`.\"}},\"nextOwnerIndex()\":{\"returns\":{\"_0\":\"The next index that will be used to add a new owner.\"}},\"ownerAtIndex(uint256)\":{\"params\":{\"index\":\"The index to lookup.\"},\"returns\":{\"_0\":\"The owner bytes (empty if no owner is registered at this `index`).\"}},\"ownerCount()\":{\"returns\":{\"_0\":\"The current owner count\"}},\"removeLastOwner(uint256,bytes)\":{\"details\":\"Reverts if the owner is not registered at `index`.Reverts if there is currently more than one owner.Reverts if `owner` does not match bytes found at `index`.\",\"params\":{\"index\":\"The index of the owner to be removed.\",\"owner\":\"The ABI encoded bytes of the owner to be removed.\"}},\"removeOwnerAtIndex(uint256,bytes)\":{\"details\":\"Reverts if the owner is not registered at `index`.Reverts if there is currently only one owner.Reverts if `owner` does not match bytes found at `index`.\",\"params\":{\"index\":\"The index of the owner to be removed.\",\"owner\":\"The ABI encoded bytes of the owner to be removed.\"}},\"removedOwnersCount()\":{\"details\":\"Used with `this.nextOwnerIndex` to avoid removing all owners\",\"returns\":{\"_0\":\"The number of owners that have been removed.\"}}},\"stateVariables\":{\"MUTLI_OWNABLE_STORAGE_LOCATION\":{\"details\":\"Slot for the `MultiOwnableStorage` struct in storage. Computed from keccak256(abi.encode(uint256(keccak256(\\\"appliedblockchain.storage.MultiOwnable\\\")) - 1)) & ~bytes32(uint256(0xff)) Follows ERC-7201 (see https://eips.ethereum.org/EIPS/eip-7201).\"}},\"title\":\"Multi Ownable\",\"version\":1},\"userdoc\":{\"errors\":{\"AlreadyOwner(bytes)\":[{\"notice\":\"Thrown when trying to add an already registered owner.\"}],\"InvalidEthereumAddressOwner(bytes)\":[{\"notice\":\"Thrown if a provided owner is 32 bytes long but does not fit in an `address` type.\"}],\"InvalidOwnerBytesLength(bytes)\":[{\"notice\":\"Thrown when a provided owner is neither 64 bytes long (for public key) nor a ABI encoded address.\"}],\"LastOwner()\":[{\"notice\":\"Thrown when removeOwnerAtIndex is called and there is only one current owner.\"}],\"NoOwnerAtIndex(uint256)\":[{\"notice\":\"Thrown when trying to remove an owner from an index that is empty.\"}],\"NotLastOwner(uint256)\":[{\"notice\":\"Thrown when removeLastOwner is called and there is more than one current owner.\"}],\"Unauthorized()\":[{\"notice\":\"Thrown when the `msg.sender` is not an owner and is trying to call a privileged function.\"}],\"WrongOwnerAtIndex(uint256,bytes,bytes)\":[{\"notice\":\"Thrown when `owner` argument does not match owner found at index.\"}]},\"events\":{\"AddOwner(uint256,bytes)\":{\"notice\":\"Emitted when a new owner is registered.\"},\"RemoveOwner(uint256,bytes)\":{\"notice\":\"Emitted when an owner is removed.\"}},\"kind\":\"user\",\"methods\":{\"addOwnerAddress(address)\":{\"notice\":\"Adds a new Ethereum-address owner.\"},\"addOwnerPublicKey(bytes32,bytes32)\":{\"notice\":\"Adds a new public-key owner.\"},\"isOwnerAddress(address)\":{\"notice\":\"Checks if the given `account` address is registered as owner.\"},\"isOwnerBytes(bytes)\":{\"notice\":\"Checks if the given `account` bytes is registered as owner.\"},\"isOwnerPublicKey(bytes32,bytes32)\":{\"notice\":\"Checks if the given `x`, `y` public key is registered as owner.\"},\"nextOwnerIndex()\":{\"notice\":\"Returns the next index that will be used to add a new owner.\"},\"ownerAtIndex(uint256)\":{\"notice\":\"Returns the owner bytes at the given `index`.\"},\"ownerCount()\":{\"notice\":\"Returns the current number of owners\"},\"removeLastOwner(uint256,bytes)\":{\"notice\":\"Removes owner at the given `index`, which should be the only current owner.\"},\"removeOwnerAtIndex(uint256,bytes)\":{\"notice\":\"Removes owner at the given `index`.\"},\"removedOwnersCount()\":{\"notice\":\"Tracks the number of owners removed\"}},\"notice\":\"Auth contract allowing multiple owners, each identified as bytes.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/MultiOwnable.sol\":\"MultiOwnable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"src/MultiOwnable.sol\":{\"keccak256\":\"0x46a9fa25c7de87b56df47b67d61b6efd96ed3f382c5d440d04de55fa23bccadd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75ac03bdfdddec29b0b1f4f9c33add4b5b9d5400b1a54691a544a59ac710de5c\",\"dweb:/ipfs/QmXajkF7z8rqmDE89H4uVaKCDyQsdwphif8BHZLLu9MQ5k\"]}},\"version\":1}" } }, + "src/testing/PermissivePaymaster.sol": { + "PermissivePaymaster": { + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_entryPoint", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "OnlyEntrypoint", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "OwnableInvalidOwner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "OwnableUnauthorizedAccount", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "unstakeDelaySec", + "type": "uint32" + } + ], + "name": "addStake", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "deposit", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "entryPoint", + "outputs": [ + { + "internalType": "contract IEntryPoint", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getDeposit", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "enum IPaymaster.PostOpMode", + "name": "mode", + "type": "uint8" + }, + { + "internalType": "bytes", + "name": "context", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "actualGasCost", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "actualUserOpFeePerGas", + "type": "uint256" + } + ], + "name": "postOp", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "unlockStake", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "initCode", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "callData", + "type": "bytes" + }, + { + "internalType": "bytes32", + "name": "accountGasLimits", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "preVerificationGas", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "gasFees", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "paymasterAndData", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "internalType": "struct PackedUserOperation", + "name": "userOp", + "type": "tuple" + }, + { + "internalType": "bytes32", + "name": "userOpHash", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "maxCost", + "type": "uint256" + } + ], + "name": "validatePaymasterUserOp", + "outputs": [ + { + "internalType": "bytes", + "name": "context", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "validationData", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address payable", + "name": "withdrawAddress", + "type": "address" + } + ], + "name": "withdrawStake", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address payable", + "name": "withdrawAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "withdrawTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "stateMutability": "payable", + "type": "receive" + } + ], + "evm": { + "bytecode": { + "functionDebugData": { + "finalize_allocation": { + "entryPoint": 455, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + } + }, + "generatedSources": [], + "linkReferences": {}, + "object": "60a080604052346101c257602081610a4a803803809161001f82856101c7565b8339810103126101c257516001600160a01b038116908190036101c25733156101ac5760008054336001600160a01b03198216811783556040519290916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a36301ffc9a760e01b815263122a0e9b60e31b6004820152602081602481855afa9081156101a05760009161015e575b501561011957608052604051610849908161020182396080518181816101840152818161022d015281816102c601528181610333015281816103ec015281816104c8015281816105a20152818161063a0152818161070601526107a60152f35b60405162461bcd60e51b815260206004820152601e60248201527f49456e747279506f696e7420696e74657266616365206d69736d6174636800006044820152606490fd5b6020813d602011610198575b81610177602093836101c7565b8101031261019457519081151582036101915750386100b9565b80fd5b5080fd5b3d915061016a565b6040513d6000823e3d90fd5b631e4fbdf760e01b600052600060045260246000fd5b600080fd5b601f909101601f19168101906001600160401b038211908210176101ea57604052565b634e487b7160e01b600052604160045260246000fdfe60806040526004361015610023575b361561001957600080fd5b610021610704565b005b6000803560e01c80630396cb6014610612578063205c28781461057d57806352b7512c1461048a578063715018a6146104305780637c627b21146103895780638da5cb5b14610362578063b0d691fe1461031d578063bb9fe6bf146102aa578063c23a5cea14610208578063c399ec8814610158578063d0e30db0146101415763f2fde38b146100b3575061000e565b3461013e57602036600319011261013e576004356001600160a01b0381169081900361013c576100e161077b565b80156101285781546001600160a01b03198116821783556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b631e4fbdf760e01b82526004829052602482fd5b505b80fd5b508060031936011261013e57610155610704565b80f35b503461013e578060031936011261013e576040516370a0823160e01b81523060048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9081156101fd5782916101c7575b602082604051908152f35b90506020813d6020116101f5575b816101e2602093836106cc565b8101031261013c576020915051386101bc565b3d91506101d5565b6040513d84823e3d90fd5b503461013e57602036600319011261013e57806102236106b1565b61022b61077b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690813b156102a65760405163611d2e7560e11b81526001600160a01b0390911660048201529082908290602490829084905af180156101fd576102955750f35b8161029f916106cc565b61013e5780f35b5050fd5b503461013e578060031936011261013e576102c361077b565b807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316803b1561031a5781809160046040518094819363bb9fe6bf60e01b83525af180156101fd576102955750f35b50fd5b503461013e578060031936011261013e576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b503461013e578060031936011261013e57546040516001600160a01b039091168152602090f35b503461013e57608036600319011261013e576003600435101561013e5760243567ffffffffffffffff811161013c573660238201121561013c57806004013567ffffffffffffffff811161042c573691016024011161013e576103ea6107a4565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361041d5780f35b6301048f7b60e71b8152600490fd5b8280fd5b503461013e578060031936011261013e5761044961077b565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b503461013e57606036600319011261013e5760043567ffffffffffffffff811161013c5761012090600319903603011261013e576104c66107a4565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361041d576040516020810181811067ffffffffffffffff82111761056957604052818152604051809260408252825192836040840152815b84811061055157505091826060938483850101526020830152601f80199101168101030190f35b6020828201810151606088840101528694500161052a565b634e487b7160e01b83526041600452602483fd5b503461013e57604036600319011261013e57806105986106b1565b6105a061077b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690813b156102a65760405163040b850f60e31b81526001600160a01b03909116600482015260248035908201529082908290604490829084905af180156101fd576102955750f35b50602036600319011261013e5760043563ffffffff811680910361013c5761063861077b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316908290823b1561013c578190602460405180958193621cb65b60e51b8352600483015234905af180156106a4576106965780f35b61069f916106cc565b388180f35b50604051903d90823e3d90fd5b600435906001600160a01b03821682036106c757565b600080fd5b90601f8019910116810190811067ffffffffffffffff8211176106ee57604052565b634e487b7160e01b600052604160045260246000fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316803b156106c75760006024916040519283809263b760faf960e01b825230600483015234905af1801561076f576107625750565b600061076d916106cc565b565b6040513d6000823e3d90fd5b6000546001600160a01b0316330361078f57565b63118cdaa760e01b6000523360045260246000fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036107d657565b60405162461bcd60e51b815260206004820152601560248201527414d95b99195c881b9bdd08115b9d1c9e541bda5b9d605a1b6044820152606490fdfea2646970667358221220336a0b056c4d5efa9b0144ace1b8c5977a2d69f3676412f91987dcca3af4b8cd64736f6c634300081c0033", + "opcodes": "PUSH1 0xA0 DUP1 PUSH1 0x40 MSTORE CALLVALUE PUSH2 0x1C2 JUMPI PUSH1 0x20 DUP2 PUSH2 0xA4A DUP1 CODESIZE SUB DUP1 SWAP2 PUSH2 0x1F DUP3 DUP6 PUSH2 0x1C7 JUMP JUMPDEST DUP4 CODECOPY DUP2 ADD SUB SLT PUSH2 0x1C2 JUMPI MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND SWAP1 DUP2 SWAP1 SUB PUSH2 0x1C2 JUMPI CALLER ISZERO PUSH2 0x1AC JUMPI PUSH1 0x0 DUP1 SLOAD CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP3 AND DUP2 OR DUP4 SSTORE PUSH1 0x40 MLOAD SWAP3 SWAP1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 DUP1 LOG3 PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH4 0x122A0E9B PUSH1 0xE3 SHL PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x20 DUP2 PUSH1 0x24 DUP2 DUP6 GAS STATICCALL SWAP1 DUP2 ISZERO PUSH2 0x1A0 JUMPI PUSH1 0x0 SWAP2 PUSH2 0x15E JUMPI JUMPDEST POP ISZERO PUSH2 0x119 JUMPI PUSH1 0x80 MSTORE PUSH1 0x40 MLOAD PUSH2 0x849 SWAP1 DUP2 PUSH2 0x201 DUP3 CODECOPY PUSH1 0x80 MLOAD DUP2 DUP2 DUP2 PUSH2 0x184 ADD MSTORE DUP2 DUP2 PUSH2 0x22D ADD MSTORE DUP2 DUP2 PUSH2 0x2C6 ADD MSTORE DUP2 DUP2 PUSH2 0x333 ADD MSTORE DUP2 DUP2 PUSH2 0x3EC ADD MSTORE DUP2 DUP2 PUSH2 0x4C8 ADD MSTORE DUP2 DUP2 PUSH2 0x5A2 ADD MSTORE DUP2 DUP2 PUSH2 0x63A ADD MSTORE DUP2 DUP2 PUSH2 0x706 ADD MSTORE PUSH2 0x7A6 ADD MSTORE RETURN JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x49456E747279506F696E7420696E74657266616365206D69736D617463680000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT JUMPDEST PUSH1 0x20 DUP2 RETURNDATASIZE PUSH1 0x20 GT PUSH2 0x198 JUMPI JUMPDEST DUP2 PUSH2 0x177 PUSH1 0x20 SWAP4 DUP4 PUSH2 0x1C7 JUMP JUMPDEST DUP2 ADD SUB SLT PUSH2 0x194 JUMPI MLOAD SWAP1 DUP2 ISZERO ISZERO DUP3 SUB PUSH2 0x191 JUMPI POP CODESIZE PUSH2 0xB9 JUMP JUMPDEST DUP1 REVERT JUMPDEST POP DUP1 REVERT JUMPDEST RETURNDATASIZE SWAP2 POP PUSH2 0x16A JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH4 0x1E4FBDF7 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1F SWAP1 SWAP2 ADD PUSH1 0x1F NOT AND DUP2 ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT SWAP1 DUP3 LT OR PUSH2 0x1EA JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x23 JUMPI JUMPDEST CALLDATASIZE ISZERO PUSH2 0x19 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x21 PUSH2 0x704 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x396CB60 EQ PUSH2 0x612 JUMPI DUP1 PUSH4 0x205C2878 EQ PUSH2 0x57D JUMPI DUP1 PUSH4 0x52B7512C EQ PUSH2 0x48A JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x430 JUMPI DUP1 PUSH4 0x7C627B21 EQ PUSH2 0x389 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x362 JUMPI DUP1 PUSH4 0xB0D691FE EQ PUSH2 0x31D JUMPI DUP1 PUSH4 0xBB9FE6BF EQ PUSH2 0x2AA JUMPI DUP1 PUSH4 0xC23A5CEA EQ PUSH2 0x208 JUMPI DUP1 PUSH4 0xC399EC88 EQ PUSH2 0x158 JUMPI DUP1 PUSH4 0xD0E30DB0 EQ PUSH2 0x141 JUMPI PUSH4 0xF2FDE38B EQ PUSH2 0xB3 JUMPI POP PUSH2 0xE JUMP JUMPDEST CALLVALUE PUSH2 0x13E JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x13E JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND SWAP1 DUP2 SWAP1 SUB PUSH2 0x13C JUMPI PUSH2 0xE1 PUSH2 0x77B JUMP JUMPDEST DUP1 ISZERO PUSH2 0x128 JUMPI DUP2 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP2 AND DUP3 OR DUP4 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 DUP4 DUP1 LOG3 DUP1 RETURN JUMPDEST PUSH4 0x1E4FBDF7 PUSH1 0xE0 SHL DUP3 MSTORE PUSH1 0x4 DUP3 SWAP1 MSTORE PUSH1 0x24 DUP3 REVERT JUMPDEST POP JUMPDEST DUP1 REVERT JUMPDEST POP DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x13E JUMPI PUSH2 0x155 PUSH2 0x704 JUMP JUMPDEST DUP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0x13E JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x13E JUMPI PUSH1 0x40 MLOAD PUSH4 0x70A08231 PUSH1 0xE0 SHL DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x20 DUP2 PUSH1 0x24 DUP2 PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND GAS STATICCALL SWAP1 DUP2 ISZERO PUSH2 0x1FD JUMPI DUP3 SWAP2 PUSH2 0x1C7 JUMPI JUMPDEST PUSH1 0x20 DUP3 PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 RETURNDATASIZE PUSH1 0x20 GT PUSH2 0x1F5 JUMPI JUMPDEST DUP2 PUSH2 0x1E2 PUSH1 0x20 SWAP4 DUP4 PUSH2 0x6CC JUMP JUMPDEST DUP2 ADD SUB SLT PUSH2 0x13C JUMPI PUSH1 0x20 SWAP2 POP MLOAD CODESIZE PUSH2 0x1BC JUMP JUMPDEST RETURNDATASIZE SWAP2 POP PUSH2 0x1D5 JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE DUP5 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0x13E JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x13E JUMPI DUP1 PUSH2 0x223 PUSH2 0x6B1 JUMP JUMPDEST PUSH2 0x22B PUSH2 0x77B JUMP JUMPDEST PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 DUP2 EXTCODESIZE ISZERO PUSH2 0x2A6 JUMPI PUSH1 0x40 MLOAD PUSH4 0x611D2E75 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND PUSH1 0x4 DUP3 ADD MSTORE SWAP1 DUP3 SWAP1 DUP3 SWAP1 PUSH1 0x24 SWAP1 DUP3 SWAP1 DUP5 SWAP1 GAS CALL DUP1 ISZERO PUSH2 0x1FD JUMPI PUSH2 0x295 JUMPI POP RETURN JUMPDEST DUP2 PUSH2 0x29F SWAP2 PUSH2 0x6CC JUMP JUMPDEST PUSH2 0x13E JUMPI DUP1 RETURN JUMPDEST POP POP REVERT JUMPDEST POP CALLVALUE PUSH2 0x13E JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x13E JUMPI PUSH2 0x2C3 PUSH2 0x77B JUMP JUMPDEST DUP1 PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP1 EXTCODESIZE ISZERO PUSH2 0x31A JUMPI DUP2 DUP1 SWAP2 PUSH1 0x4 PUSH1 0x40 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH4 0xBB9FE6BF PUSH1 0xE0 SHL DUP4 MSTORE GAS CALL DUP1 ISZERO PUSH2 0x1FD JUMPI PUSH2 0x295 JUMPI POP RETURN JUMPDEST POP REVERT JUMPDEST POP CALLVALUE PUSH2 0x13E JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x13E JUMPI PUSH1 0x40 MLOAD PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 SWAP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0x13E JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x13E JUMPI SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 SWAP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0x13E JUMPI PUSH1 0x80 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x13E JUMPI PUSH1 0x3 PUSH1 0x4 CALLDATALOAD LT ISZERO PUSH2 0x13E JUMPI PUSH1 0x24 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x13C JUMPI CALLDATASIZE PUSH1 0x23 DUP3 ADD SLT ISZERO PUSH2 0x13C JUMPI DUP1 PUSH1 0x4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x42C JUMPI CALLDATASIZE SWAP2 ADD PUSH1 0x24 ADD GT PUSH2 0x13E JUMPI PUSH2 0x3EA PUSH2 0x7A4 JUMP JUMPDEST PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER SUB PUSH2 0x41D JUMPI DUP1 RETURN JUMPDEST PUSH4 0x1048F7B PUSH1 0xE7 SHL DUP2 MSTORE PUSH1 0x4 SWAP1 REVERT JUMPDEST DUP3 DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0x13E JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x13E JUMPI PUSH2 0x449 PUSH2 0x77B JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP2 AND DUP3 SSTORE DUP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 DUP3 DUP1 LOG3 DUP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0x13E JUMPI PUSH1 0x60 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x13E JUMPI PUSH1 0x4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x13C JUMPI PUSH2 0x120 SWAP1 PUSH1 0x3 NOT SWAP1 CALLDATASIZE SUB ADD SLT PUSH2 0x13E JUMPI PUSH2 0x4C6 PUSH2 0x7A4 JUMP JUMPDEST PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER SUB PUSH2 0x41D JUMPI PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x569 JUMPI PUSH1 0x40 MSTORE DUP2 DUP2 MSTORE PUSH1 0x40 MLOAD DUP1 SWAP3 PUSH1 0x40 DUP3 MSTORE DUP3 MLOAD SWAP3 DUP4 PUSH1 0x40 DUP5 ADD MSTORE DUP2 JUMPDEST DUP5 DUP2 LT PUSH2 0x551 JUMPI POP POP SWAP2 DUP3 PUSH1 0x60 SWAP4 DUP5 DUP4 DUP6 ADD ADD MSTORE PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x1F DUP1 NOT SWAP2 ADD AND DUP2 ADD SUB ADD SWAP1 RETURN JUMPDEST PUSH1 0x20 DUP3 DUP3 ADD DUP2 ADD MLOAD PUSH1 0x60 DUP9 DUP5 ADD ADD MSTORE DUP7 SWAP5 POP ADD PUSH2 0x52A JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL DUP4 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 DUP4 REVERT JUMPDEST POP CALLVALUE PUSH2 0x13E JUMPI PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x13E JUMPI DUP1 PUSH2 0x598 PUSH2 0x6B1 JUMP JUMPDEST PUSH2 0x5A0 PUSH2 0x77B JUMP JUMPDEST PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 DUP2 EXTCODESIZE ISZERO PUSH2 0x2A6 JUMPI PUSH1 0x40 MLOAD PUSH4 0x40B850F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 CALLDATALOAD SWAP1 DUP3 ADD MSTORE SWAP1 DUP3 SWAP1 DUP3 SWAP1 PUSH1 0x44 SWAP1 DUP3 SWAP1 DUP5 SWAP1 GAS CALL DUP1 ISZERO PUSH2 0x1FD JUMPI PUSH2 0x295 JUMPI POP RETURN JUMPDEST POP PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x13E JUMPI PUSH1 0x4 CALLDATALOAD PUSH4 0xFFFFFFFF DUP2 AND DUP1 SWAP2 SUB PUSH2 0x13C JUMPI PUSH2 0x638 PUSH2 0x77B JUMP JUMPDEST PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 DUP3 SWAP1 DUP3 EXTCODESIZE ISZERO PUSH2 0x13C JUMPI DUP2 SWAP1 PUSH1 0x24 PUSH1 0x40 MLOAD DUP1 SWAP6 DUP2 SWAP4 PUSH3 0x1CB65B PUSH1 0xE5 SHL DUP4 MSTORE PUSH1 0x4 DUP4 ADD MSTORE CALLVALUE SWAP1 GAS CALL DUP1 ISZERO PUSH2 0x6A4 JUMPI PUSH2 0x696 JUMPI DUP1 RETURN JUMPDEST PUSH2 0x69F SWAP2 PUSH2 0x6CC JUMP JUMPDEST CODESIZE DUP2 DUP1 RETURN JUMPDEST POP PUSH1 0x40 MLOAD SWAP1 RETURNDATASIZE SWAP1 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x4 CALLDATALOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND DUP3 SUB PUSH2 0x6C7 JUMPI JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x1F DUP1 NOT SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x6EE JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP1 EXTCODESIZE ISZERO PUSH2 0x6C7 JUMPI PUSH1 0x0 PUSH1 0x24 SWAP2 PUSH1 0x40 MLOAD SWAP3 DUP4 DUP1 SWAP3 PUSH4 0xB760FAF9 PUSH1 0xE0 SHL DUP3 MSTORE ADDRESS PUSH1 0x4 DUP4 ADD MSTORE CALLVALUE SWAP1 GAS CALL DUP1 ISZERO PUSH2 0x76F JUMPI PUSH2 0x762 JUMPI POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x76D SWAP2 PUSH2 0x6CC JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER SUB PUSH2 0x78F JUMPI JUMP JUMPDEST PUSH4 0x118CDAA7 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE CALLER PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER SUB PUSH2 0x7D6 JUMPI JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x15 PUSH1 0x24 DUP3 ADD MSTORE PUSH21 0x14D95B99195C881B9BDD08115B9D1C9E541BDA5B9D PUSH1 0x5A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CALLER PUSH11 0xB056C4D5EFA9B0144ACE1 0xB8 0xC5 SWAP8 PUSH27 0x2D69F3676412F91987DCCA3AF4B8CD64736F6C634300081C003300 ", + "sourceMap": "358:990:33:-:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;;;358:990:33;;;;;;;;950:10:0;1273:26:10;1269:95;;-1:-1:-1;358:990:33;;950:10:0;-1:-1:-1;;;;;;358:990:33;;;;;;;;;950:10:0;;-1:-1:-1;;;;;358:990:33;;3052:40:10;;-1:-1:-1;3052:40:10;-1:-1:-1;;;1271:78:0;;-1:-1:-1;;;1271:78:0;;;358:990:33;;1271:78:0;;;;;;;;;;;-1:-1:-1;1271:78:0;;;-1:-1:-1;358:990:33;;;;1023:24:0;494:37:33;358:990;;;;;;;;1023:24:0;358:990:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;358:990:33;;;1271:78:0;358:990:33;;;;1271:78:0;358:990:33;;;;;;;;;;;1271:78:0;358:990:33;1271:78:0;;358:990:33;1271:78:0;;;;;;358:990:33;1271:78:0;;;:::i;:::-;;;358:990:33;;;;;;;;;;;;;1271:78:0;;;;358:990:33;;;;;;;1271:78:0;;;-1:-1:-1;1271:78:0;;;358:990:33;;;-1:-1:-1;358:990:33;;;;;1269:95:10;1322:31;;;-1:-1:-1;1322:31:10;-1:-1:-1;1322:31:10;358:990:33;;-1:-1:-1;1322:31:10;358:990:33;-1:-1:-1;358:990:33;;;;;;;-1:-1:-1;;358:990:33;;;;-1:-1:-1;;;;;358:990:33;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;358:990:33;;;;;-1:-1:-1;358:990:33" + }, + "deployedBytecode": { + "functionDebugData": { + "abi_decode_address_payable": { + "entryPoint": 1713, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "finalize_allocation": { + "entryPoint": 1740, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "fun_checkOwner": { + "entryPoint": 1915, + "id": 1308, + "parameterSlots": 0, + "returnSlots": 0 + }, + "fun_deposit": { + "entryPoint": 1796, + "id": 175, + "parameterSlots": 0, + "returnSlots": 0 + }, + "fun_requireFromEntryPoint": { + "entryPoint": 1956, + "id": 269, + "parameterSlots": 0, + "returnSlots": 0 + } + }, + "generatedSources": [], + "immutableReferences": { + "14": [ + { + "length": 32, + "start": 388 + }, + { + "length": 32, + "start": 557 + }, + { + "length": 32, + "start": 710 + }, + { + "length": 32, + "start": 819 + }, + { + "length": 32, + "start": 1004 + }, + { + "length": 32, + "start": 1224 + }, + { + "length": 32, + "start": 1442 + }, + { + "length": 32, + "start": 1594 + }, + { + "length": 32, + "start": 1798 + }, + { + "length": 32, + "start": 1958 + } + ] + }, + "linkReferences": {}, + "object": "60806040526004361015610023575b361561001957600080fd5b610021610704565b005b6000803560e01c80630396cb6014610612578063205c28781461057d57806352b7512c1461048a578063715018a6146104305780637c627b21146103895780638da5cb5b14610362578063b0d691fe1461031d578063bb9fe6bf146102aa578063c23a5cea14610208578063c399ec8814610158578063d0e30db0146101415763f2fde38b146100b3575061000e565b3461013e57602036600319011261013e576004356001600160a01b0381169081900361013c576100e161077b565b80156101285781546001600160a01b03198116821783556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b631e4fbdf760e01b82526004829052602482fd5b505b80fd5b508060031936011261013e57610155610704565b80f35b503461013e578060031936011261013e576040516370a0823160e01b81523060048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9081156101fd5782916101c7575b602082604051908152f35b90506020813d6020116101f5575b816101e2602093836106cc565b8101031261013c576020915051386101bc565b3d91506101d5565b6040513d84823e3d90fd5b503461013e57602036600319011261013e57806102236106b1565b61022b61077b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690813b156102a65760405163611d2e7560e11b81526001600160a01b0390911660048201529082908290602490829084905af180156101fd576102955750f35b8161029f916106cc565b61013e5780f35b5050fd5b503461013e578060031936011261013e576102c361077b565b807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316803b1561031a5781809160046040518094819363bb9fe6bf60e01b83525af180156101fd576102955750f35b50fd5b503461013e578060031936011261013e576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b503461013e578060031936011261013e57546040516001600160a01b039091168152602090f35b503461013e57608036600319011261013e576003600435101561013e5760243567ffffffffffffffff811161013c573660238201121561013c57806004013567ffffffffffffffff811161042c573691016024011161013e576103ea6107a4565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361041d5780f35b6301048f7b60e71b8152600490fd5b8280fd5b503461013e578060031936011261013e5761044961077b565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b503461013e57606036600319011261013e5760043567ffffffffffffffff811161013c5761012090600319903603011261013e576104c66107a4565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361041d576040516020810181811067ffffffffffffffff82111761056957604052818152604051809260408252825192836040840152815b84811061055157505091826060938483850101526020830152601f80199101168101030190f35b6020828201810151606088840101528694500161052a565b634e487b7160e01b83526041600452602483fd5b503461013e57604036600319011261013e57806105986106b1565b6105a061077b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690813b156102a65760405163040b850f60e31b81526001600160a01b03909116600482015260248035908201529082908290604490829084905af180156101fd576102955750f35b50602036600319011261013e5760043563ffffffff811680910361013c5761063861077b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316908290823b1561013c578190602460405180958193621cb65b60e51b8352600483015234905af180156106a4576106965780f35b61069f916106cc565b388180f35b50604051903d90823e3d90fd5b600435906001600160a01b03821682036106c757565b600080fd5b90601f8019910116810190811067ffffffffffffffff8211176106ee57604052565b634e487b7160e01b600052604160045260246000fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316803b156106c75760006024916040519283809263b760faf960e01b825230600483015234905af1801561076f576107625750565b600061076d916106cc565b565b6040513d6000823e3d90fd5b6000546001600160a01b0316330361078f57565b63118cdaa760e01b6000523360045260246000fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036107d657565b60405162461bcd60e51b815260206004820152601560248201527414d95b99195c881b9bdd08115b9d1c9e541bda5b9d605a1b6044820152606490fdfea2646970667358221220336a0b056c4d5efa9b0144ace1b8c5977a2d69f3676412f91987dcca3af4b8cd64736f6c634300081c0033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x23 JUMPI JUMPDEST CALLDATASIZE ISZERO PUSH2 0x19 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x21 PUSH2 0x704 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x396CB60 EQ PUSH2 0x612 JUMPI DUP1 PUSH4 0x205C2878 EQ PUSH2 0x57D JUMPI DUP1 PUSH4 0x52B7512C EQ PUSH2 0x48A JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x430 JUMPI DUP1 PUSH4 0x7C627B21 EQ PUSH2 0x389 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x362 JUMPI DUP1 PUSH4 0xB0D691FE EQ PUSH2 0x31D JUMPI DUP1 PUSH4 0xBB9FE6BF EQ PUSH2 0x2AA JUMPI DUP1 PUSH4 0xC23A5CEA EQ PUSH2 0x208 JUMPI DUP1 PUSH4 0xC399EC88 EQ PUSH2 0x158 JUMPI DUP1 PUSH4 0xD0E30DB0 EQ PUSH2 0x141 JUMPI PUSH4 0xF2FDE38B EQ PUSH2 0xB3 JUMPI POP PUSH2 0xE JUMP JUMPDEST CALLVALUE PUSH2 0x13E JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x13E JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND SWAP1 DUP2 SWAP1 SUB PUSH2 0x13C JUMPI PUSH2 0xE1 PUSH2 0x77B JUMP JUMPDEST DUP1 ISZERO PUSH2 0x128 JUMPI DUP2 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP2 AND DUP3 OR DUP4 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 DUP4 DUP1 LOG3 DUP1 RETURN JUMPDEST PUSH4 0x1E4FBDF7 PUSH1 0xE0 SHL DUP3 MSTORE PUSH1 0x4 DUP3 SWAP1 MSTORE PUSH1 0x24 DUP3 REVERT JUMPDEST POP JUMPDEST DUP1 REVERT JUMPDEST POP DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x13E JUMPI PUSH2 0x155 PUSH2 0x704 JUMP JUMPDEST DUP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0x13E JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x13E JUMPI PUSH1 0x40 MLOAD PUSH4 0x70A08231 PUSH1 0xE0 SHL DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x20 DUP2 PUSH1 0x24 DUP2 PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND GAS STATICCALL SWAP1 DUP2 ISZERO PUSH2 0x1FD JUMPI DUP3 SWAP2 PUSH2 0x1C7 JUMPI JUMPDEST PUSH1 0x20 DUP3 PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 RETURNDATASIZE PUSH1 0x20 GT PUSH2 0x1F5 JUMPI JUMPDEST DUP2 PUSH2 0x1E2 PUSH1 0x20 SWAP4 DUP4 PUSH2 0x6CC JUMP JUMPDEST DUP2 ADD SUB SLT PUSH2 0x13C JUMPI PUSH1 0x20 SWAP2 POP MLOAD CODESIZE PUSH2 0x1BC JUMP JUMPDEST RETURNDATASIZE SWAP2 POP PUSH2 0x1D5 JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE DUP5 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0x13E JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x13E JUMPI DUP1 PUSH2 0x223 PUSH2 0x6B1 JUMP JUMPDEST PUSH2 0x22B PUSH2 0x77B JUMP JUMPDEST PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 DUP2 EXTCODESIZE ISZERO PUSH2 0x2A6 JUMPI PUSH1 0x40 MLOAD PUSH4 0x611D2E75 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND PUSH1 0x4 DUP3 ADD MSTORE SWAP1 DUP3 SWAP1 DUP3 SWAP1 PUSH1 0x24 SWAP1 DUP3 SWAP1 DUP5 SWAP1 GAS CALL DUP1 ISZERO PUSH2 0x1FD JUMPI PUSH2 0x295 JUMPI POP RETURN JUMPDEST DUP2 PUSH2 0x29F SWAP2 PUSH2 0x6CC JUMP JUMPDEST PUSH2 0x13E JUMPI DUP1 RETURN JUMPDEST POP POP REVERT JUMPDEST POP CALLVALUE PUSH2 0x13E JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x13E JUMPI PUSH2 0x2C3 PUSH2 0x77B JUMP JUMPDEST DUP1 PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP1 EXTCODESIZE ISZERO PUSH2 0x31A JUMPI DUP2 DUP1 SWAP2 PUSH1 0x4 PUSH1 0x40 MLOAD DUP1 SWAP5 DUP2 SWAP4 PUSH4 0xBB9FE6BF PUSH1 0xE0 SHL DUP4 MSTORE GAS CALL DUP1 ISZERO PUSH2 0x1FD JUMPI PUSH2 0x295 JUMPI POP RETURN JUMPDEST POP REVERT JUMPDEST POP CALLVALUE PUSH2 0x13E JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x13E JUMPI PUSH1 0x40 MLOAD PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 SWAP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0x13E JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x13E JUMPI SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 SWAP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0x13E JUMPI PUSH1 0x80 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x13E JUMPI PUSH1 0x3 PUSH1 0x4 CALLDATALOAD LT ISZERO PUSH2 0x13E JUMPI PUSH1 0x24 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x13C JUMPI CALLDATASIZE PUSH1 0x23 DUP3 ADD SLT ISZERO PUSH2 0x13C JUMPI DUP1 PUSH1 0x4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x42C JUMPI CALLDATASIZE SWAP2 ADD PUSH1 0x24 ADD GT PUSH2 0x13E JUMPI PUSH2 0x3EA PUSH2 0x7A4 JUMP JUMPDEST PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER SUB PUSH2 0x41D JUMPI DUP1 RETURN JUMPDEST PUSH4 0x1048F7B PUSH1 0xE7 SHL DUP2 MSTORE PUSH1 0x4 SWAP1 REVERT JUMPDEST DUP3 DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0x13E JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x13E JUMPI PUSH2 0x449 PUSH2 0x77B JUMP JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP2 AND DUP3 SSTORE DUP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 DUP3 DUP1 LOG3 DUP1 RETURN JUMPDEST POP CALLVALUE PUSH2 0x13E JUMPI PUSH1 0x60 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x13E JUMPI PUSH1 0x4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x13C JUMPI PUSH2 0x120 SWAP1 PUSH1 0x3 NOT SWAP1 CALLDATASIZE SUB ADD SLT PUSH2 0x13E JUMPI PUSH2 0x4C6 PUSH2 0x7A4 JUMP JUMPDEST PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER SUB PUSH2 0x41D JUMPI PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x569 JUMPI PUSH1 0x40 MSTORE DUP2 DUP2 MSTORE PUSH1 0x40 MLOAD DUP1 SWAP3 PUSH1 0x40 DUP3 MSTORE DUP3 MLOAD SWAP3 DUP4 PUSH1 0x40 DUP5 ADD MSTORE DUP2 JUMPDEST DUP5 DUP2 LT PUSH2 0x551 JUMPI POP POP SWAP2 DUP3 PUSH1 0x60 SWAP4 DUP5 DUP4 DUP6 ADD ADD MSTORE PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x1F DUP1 NOT SWAP2 ADD AND DUP2 ADD SUB ADD SWAP1 RETURN JUMPDEST PUSH1 0x20 DUP3 DUP3 ADD DUP2 ADD MLOAD PUSH1 0x60 DUP9 DUP5 ADD ADD MSTORE DUP7 SWAP5 POP ADD PUSH2 0x52A JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL DUP4 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 DUP4 REVERT JUMPDEST POP CALLVALUE PUSH2 0x13E JUMPI PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x13E JUMPI DUP1 PUSH2 0x598 PUSH2 0x6B1 JUMP JUMPDEST PUSH2 0x5A0 PUSH2 0x77B JUMP JUMPDEST PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 DUP2 EXTCODESIZE ISZERO PUSH2 0x2A6 JUMPI PUSH1 0x40 MLOAD PUSH4 0x40B850F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 CALLDATALOAD SWAP1 DUP3 ADD MSTORE SWAP1 DUP3 SWAP1 DUP3 SWAP1 PUSH1 0x44 SWAP1 DUP3 SWAP1 DUP5 SWAP1 GAS CALL DUP1 ISZERO PUSH2 0x1FD JUMPI PUSH2 0x295 JUMPI POP RETURN JUMPDEST POP PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x13E JUMPI PUSH1 0x4 CALLDATALOAD PUSH4 0xFFFFFFFF DUP2 AND DUP1 SWAP2 SUB PUSH2 0x13C JUMPI PUSH2 0x638 PUSH2 0x77B JUMP JUMPDEST PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 DUP3 SWAP1 DUP3 EXTCODESIZE ISZERO PUSH2 0x13C JUMPI DUP2 SWAP1 PUSH1 0x24 PUSH1 0x40 MLOAD DUP1 SWAP6 DUP2 SWAP4 PUSH3 0x1CB65B PUSH1 0xE5 SHL DUP4 MSTORE PUSH1 0x4 DUP4 ADD MSTORE CALLVALUE SWAP1 GAS CALL DUP1 ISZERO PUSH2 0x6A4 JUMPI PUSH2 0x696 JUMPI DUP1 RETURN JUMPDEST PUSH2 0x69F SWAP2 PUSH2 0x6CC JUMP JUMPDEST CODESIZE DUP2 DUP1 RETURN JUMPDEST POP PUSH1 0x40 MLOAD SWAP1 RETURNDATASIZE SWAP1 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x4 CALLDATALOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND DUP3 SUB PUSH2 0x6C7 JUMPI JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x1F DUP1 NOT SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x6EE JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP1 EXTCODESIZE ISZERO PUSH2 0x6C7 JUMPI PUSH1 0x0 PUSH1 0x24 SWAP2 PUSH1 0x40 MLOAD SWAP3 DUP4 DUP1 SWAP3 PUSH4 0xB760FAF9 PUSH1 0xE0 SHL DUP3 MSTORE ADDRESS PUSH1 0x4 DUP4 ADD MSTORE CALLVALUE SWAP1 GAS CALL DUP1 ISZERO PUSH2 0x76F JUMPI PUSH2 0x762 JUMPI POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x76D SWAP2 PUSH2 0x6CC JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER SUB PUSH2 0x78F JUMPI JUMP JUMPDEST PUSH4 0x118CDAA7 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE CALLER PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER SUB PUSH2 0x7D6 JUMPI JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x15 PUSH1 0x24 DUP3 ADD MSTORE PUSH21 0x14D95B99195C881B9BDD08115B9D1C9E541BDA5B9D PUSH1 0x5A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 SWAP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CALLER PUSH11 0xB056C4D5EFA9B0144ACE1 0xB8 0xC5 SWAP8 PUSH27 0x2D69F3676412F91987DCCA3AF4B8CD64736F6C634300081C003300 ", + "sourceMap": "358:990:33:-:0;;;;;;;;;-1:-1:-1;358:990:33;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;358:990:33;;;;;;-1:-1:-1;;;;;358:990:33;;;;;;;;1500:62:10;;:::i;:::-;2627:22;;2623:91;;358:990:33;;-1:-1:-1;;;;;;358:990:33;;;;;;-1:-1:-1;;;;;358:990:33;3052:40:10;358:990:33;;3052:40:10;358:990:33;;2623:91:10;-1:-1:-1;;;2672:31:10;;358:990:33;;;;;2672:31:10;;358:990:33;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4943:35:0;;4972:4;358:990:33;4943:35:0;;358:990:33;;;4943:35:0;358:990:33;4943:10:0;-1:-1:-1;;;;;358:990:33;4943:35:0;;;;;;;;;;;358:990:33;;;;;;;;;4943:35:0;;;358:990:33;4943:35:0;;358:990:33;4943:35:0;;;;;;358:990:33;4943:35:0;;;:::i;:::-;;;358:990:33;;;;;;;;4943:35:0;;;;;;-1:-1:-1;4943:35:0;;;358:990:33;;;;;;;;;;;;;;;;-1:-1:-1;;358:990:33;;;;;;;:::i;:::-;1500:62:10;;:::i;:::-;5533:10:0;-1:-1:-1;;;;;358:990:33;;5533:41:0;;;;;358:990:33;;-1:-1:-1;;;5533:41:0;;-1:-1:-1;;;;;358:990:33;;;;5533:41:0;;358:990:33;;;;;;5533:41:0;;358:990:33;;;;5533:41:0;;;;;;;;358:990:33;;5533:41:0;;;;;:::i;:::-;358:990:33;;5533:41:0;358:990:33;5533:41:0;358:990:33;;;;;;;;;;;;;;;;1500:62:10;;:::i;:::-;358:990:33;5196:10:0;-1:-1:-1;;;;;358:990:33;5196:24:0;;;;;358:990:33;;;;;;;;;;;;;5196:24:0;;;;;;;;;;358:990:33;;5196:24:0;358:990:33;;;;;;;;;;;;;;;;;544:39:0;-1:-1:-1;;;;;358:990:33;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;358:990:33;;;;;;;;;;;;;;;-1:-1:-1;;358:990:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2225:278:0;;:::i;:::-;1119:10:33;-1:-1:-1;;;;;358:990:33;1097:10;:33;1093:87;;358:990;;1093:87;-1:-1:-1;;;1153:16:33;;358:990;;1153:16;358:990;;;;;;;;;;;;;;;;;1500:62:10;;:::i;:::-;358:990:33;;-1:-1:-1;;;;;;358:990:33;;;;;;-1:-1:-1;;;;;358:990:33;3052:40:10;358:990:33;;3052:40:10;358:990:33;;;;;;;;;-1:-1:-1;;358:990:33;;;;;;;;;;;;;;;;;;;;;;1614:22:0;;:::i;:::-;801:10:33;-1:-1:-1;;;;;358:990:33;779:10;:33;775:87;;358:990;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;358:990:33;;;;-1:-1:-1;;;358:990:33;;;;;;;;;;;;;;;-1:-1:-1;;358:990:33;;;;;;;:::i;:::-;1500:62:10;;:::i;:::-;4373:10:0;-1:-1:-1;;;;;358:990:33;;4373:46:0;;;;;358:990:33;;-1:-1:-1;;;4373:46:0;;-1:-1:-1;;;;;358:990:33;;;;4373:46:0;;358:990:33;;;;;;;;;;;;;4373:46:0;;358:990:33;;;;4373:46:0;;;;;;;;358:990:33;;;-1:-1:-1;358:990:33;;-1:-1:-1;;358:990:33;;;;;;;;;;;;;;1500:62:10;;:::i;:::-;4730:10:0;-1:-1:-1;;;;;358:990:33;;;;4730:54:0;;;;;358:990:33;;4730:54:0;358:990:33;;;;;;;;;4730:54:0;;358:990:33;4730:54:0;;358:990:33;4757:9:0;4730:54;;;;;;;;;358:990:33;;4730:54:0;;;;:::i;:::-;;;358:990:33;;4730:54:0;358:990:33;;;;;;;;;;;;;;;-1:-1:-1;;;;;358:990:33;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;358:990:33;;;;;-1:-1:-1;358:990:33;3986:104:0;4030:10;-1:-1:-1;;;;;358:990:33;4030:53:0;;;;;-1:-1:-1;4030:53:0;358:990:33;;;;;;;;;;4030:53:0;;4077:4;4030:53;;;358:990:33;4058:9:0;4030:53;;;;;;;;;3986:104;:::o;4030:53::-;-1:-1:-1;4030:53:0;;;:::i;:::-;3986:104::o;4030:53::-;358:990:33;;;-1:-1:-1;358:990:33;;;;;1796:162:10;1710:6;358:990:33;-1:-1:-1;;;;;358:990:33;735:10:15;1855:23:10;1851:101;;1796:162::o;1851:101::-;1901:40;;;1710:6;1901:40;735:10:15;1901:40:10;358:990:33;;1710:6:10;1901:40;5660:135:0;5751:10;-1:-1:-1;;;;;358:990:33;5729:10:0;:33;358:990:33;;5660:135:0:o;358:990:33:-;;;-1:-1:-1;;;358:990:33;;;;;;;;;;;;-1:-1:-1;;;358:990:33;;;;;;" + }, + "methodIdentifiers": { + "addStake(uint32)": "0396cb60", + "deposit()": "d0e30db0", + "entryPoint()": "b0d691fe", + "getDeposit()": "c399ec88", + "owner()": "8da5cb5b", + "postOp(uint8,bytes,uint256,uint256)": "7c627b21", + "renounceOwnership()": "715018a6", + "transferOwnership(address)": "f2fde38b", + "unlockStake()": "bb9fe6bf", + "validatePaymasterUserOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),bytes32,uint256)": "52b7512c", + "withdrawStake(address)": "c23a5cea", + "withdrawTo(address,uint256)": "205c2878" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_entryPoint\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"OnlyEntrypoint\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"unstakeDelaySec\",\"type\":\"uint32\"}],\"name\":\"addStake\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"entryPoint\",\"outputs\":[{\"internalType\":\"contract IEntryPoint\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IPaymaster.PostOpMode\",\"name\":\"mode\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"context\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"actualGasCost\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"actualUserOpFeePerGas\",\"type\":\"uint256\"}],\"name\":\"postOp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unlockStake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation\",\"name\":\"userOp\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"maxCost\",\"type\":\"uint256\"}],\"name\":\"validatePaymasterUserOp\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"context\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"validationData\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"withdrawAddress\",\"type\":\"address\"}],\"name\":\"withdrawStake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"withdrawAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdrawTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"errors\":{\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}]},\"kind\":\"dev\",\"methods\":{\"addStake(uint32)\":{\"params\":{\"unstakeDelaySec\":\"- The unstake delay for this paymaster. Can only be increased.\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"postOp(uint8,bytes,uint256,uint256)\":{\"params\":{\"actualGasCost\":\"- Actual gas used so far (without this postOp call).\",\"actualUserOpFeePerGas\":\"- the gas price this UserOp pays. This value is based on the UserOp's maxFeePerGas and maxPriorityFee (and basefee) It is not the same as tx.gasprice, which is what the bundler pays.\",\"context\":\"- The context value returned by validatePaymasterUserOp\",\"mode\":\"- Enum with the following options: opSucceeded - User operation succeeded. opReverted - User op reverted. The paymaster still has to pay for gas. postOpReverted - never passed in a call to postOp().\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"validatePaymasterUserOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),bytes32,uint256)\":{\"params\":{\"maxCost\":\"- The maximum cost of this transaction (based on maximum gas and gas price from userOp).\",\"userOp\":\"- The user operation.\",\"userOpHash\":\"- Hash of the user's request data.\"},\"returns\":{\"context\":\" - Value to send to a postOp. Zero length to signify postOp is not required.\",\"validationData\":\"- Signature and time-range of this operation, encoded the same as the return value of validateUserOperation. <20-byte> sigAuthorizer - 0 for valid signature, 1 to mark signature failure, other values are invalid for paymaster. <6-byte> validUntil - last timestamp this operation is valid. 0 for \\\"indefinite\\\" <6-byte> validAfter - first timestamp this operation is valid Note that the validation code cannot use block.timestamp (or block.number) directly.\"}},\"withdrawStake(address)\":{\"params\":{\"withdrawAddress\":\"- The address to send withdrawn value.\"}},\"withdrawTo(address,uint256)\":{\"params\":{\"amount\":\"- Amount to withdraw.\",\"withdrawAddress\":\"- Target to send to.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addStake(uint32)\":{\"notice\":\"Add stake for this paymaster. This method can also carry eth value to add to the current stake.\"},\"deposit()\":{\"notice\":\"Add a deposit for this paymaster, used for paying for transaction fees.\"},\"getDeposit()\":{\"notice\":\"Return current paymaster's deposit on the entryPoint.\"},\"postOp(uint8,bytes,uint256,uint256)\":{\"notice\":\"Post-operation handler. Must verify sender is the entryPoint.\"},\"unlockStake()\":{\"notice\":\"Unlock the stake, in order to withdraw it. The paymaster can't serve requests once unlocked, until it calls addStake again\"},\"validatePaymasterUserOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),bytes32,uint256)\":{\"notice\":\"Payment validation: check if paymaster agrees to pay. Must verify sender is the entryPoint. Revert to reject this request. Note that bundlers will reject this method if it changes the state, unless the paymaster is trusted (whitelisted). The paymaster pre-pays using its deposit, and receive back a refund after the postOp method returns.\"},\"withdrawStake(address)\":{\"notice\":\"Withdraw the entire paymaster's stake. stake must be unlocked first (and then wait for the unstakeDelay to be over)\"},\"withdrawTo(address,uint256)\":{\"notice\":\"Withdraw value from the deposit.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/testing/PermissivePaymaster.sol\":\"PermissivePaymaster\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@account-abstraction/contracts/core/BasePaymaster.sol\":{\"keccak256\":\"0x156dd80127599c02937985a4fe44dd6424e29445af9aae886aff0f1993af43ab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9a6afd9203f905b1d9a95f354e06d9b61328e5d27844d96100175718edb859ef\",\"dweb:/ipfs/QmYyKGTMaTyjDKY1QyThLJL8BZgUrTAxrHL3SNmRJLqnji\"]},\"@account-abstraction/contracts/core/Helpers.sol\":{\"keccak256\":\"0x6247e011a6cb0b263b3aa098822977181674d91b62e5bdfe04c6e66f72da25d6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ca829a69b3fbc74fec8e140d42a2bf93bc3512609272f031c846470f61f0ab7e\",\"dweb:/ipfs/QmP3r3MBgAN39KeVB1rCGJWwcBcotNt26ALtAR54poQ1Jc\"]},\"@account-abstraction/contracts/core/UserOperationLib.sol\":{\"keccak256\":\"0x9d50ece985d35f82e33e5da417595c86fac10449e3d10895d08363d33aad454b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b1d11cc364c8bf7ed5388268c895b5ffed16e87dfbcb320ddeeba5e7974315dc\",\"dweb:/ipfs/QmYSpvjxEjweietQrYZagwQ52ipy7eXx4rwvnTzXKeGeMS\"]},\"@account-abstraction/contracts/interfaces/IAggregator.sol\":{\"keccak256\":\"0xf100d6fcc0c3b450b13e979b6a42c628c292a1bc340eccc2e7796b80e3975588\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://192938b5b27234d35c8098a319e879363c79f750eea4d0e409dc889a8ce5b155\",\"dweb:/ipfs/QmURpaJFPqEtkKP2ngBsgZhAGN8wAWh5XQpYmCkiz4Urz5\"]},\"@account-abstraction/contracts/interfaces/IEntryPoint.sol\":{\"keccak256\":\"0x1972a5fcb3a808b58c85af5741949ef6af11ab0debd3ae8c708171ae1ae0d0c4\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://baa9837ae73b9e2362a47d42d081d7c0f3d8e878e5edb381117d94a6968949c9\",\"dweb:/ipfs/QmUmo6FUE7fv5z1WzW1YFjxp8PqaeN2JrEee9au59w3Xhe\"]},\"@account-abstraction/contracts/interfaces/INonceManager.sol\":{\"keccak256\":\"0xd575af0f6ebbd5f0b2933307d44cd7b4e03a69f4b817a67db5409bd3c89aeecb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b1e2dea9b05cfba9d13339ed16d96457dc861013cc4f3f35b71a80f82448db3\",\"dweb:/ipfs/QmVaGy5uGDMSiU2SzyokTjoHFyb39VVG5wtaM9KTnHyZSk\"]},\"@account-abstraction/contracts/interfaces/IPaymaster.sol\":{\"keccak256\":\"0x49d8dbf8a85b006bcd89bbc40e4e9e113997cc016007de85263bdae70572d07f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bc0d83804c1b795d5c216b3518cd176c48f90db28550f267cbd89746d6b476c8\",\"dweb:/ipfs/QmNdCm4c6hnt7f6Q8q21QjtCNZWWRUaMVEYnQHEv68VnKt\"]},\"@account-abstraction/contracts/interfaces/IStakeManager.sol\":{\"keccak256\":\"0xbe5ca9e7f254d031687419e7b96ef48c9c63e9398bbe992dc72ffc6dc14e0a04\",\"license\":\"GPL-3.0-only\",\"urls\":[\"bzz-raw://1fffec71c38627a26fabb423350148009579f092623fb02b471a12d973763a00\",\"dweb:/ipfs/QmRBi31QEYXHj3x1AnQ2jKa2eziZH1b9av396P3b4dw6bj\"]},\"@account-abstraction/contracts/interfaces/PackedUserOperation.sol\":{\"keccak256\":\"0x1129b46381db68eddbc5cb49e50664667b66b03c480453858e7b25eabe444359\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://499a948aba60480dba6e25c763b8d918f1c246eb7a3302e04f493e080f3295be\",\"dweb:/ipfs/QmeRhhswf4NACcBKam2PyjpTP2ddSm648kah5kkQJsvwz3\"]},\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"src/testing/PermissivePaymaster.sol\":{\"keccak256\":\"0x855e24aea9b67f4cf8529d18b7c92eff3c0d04792ead1e77332bc3a2209ca3d1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://69113189ca99ac7d3ba16ac222474afac916d1170ccf8f1e1f3786141ac9387f\",\"dweb:/ipfs/QmTyK7ZZM8sZpJgGLzHatj3gnjx8Ak3tWruwMpEeqwy7v8\"]}},\"version\":1}" + } + }, + "src/testing/PrivateERC20.sol": { + "PrivateERC20": { + "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "initialSupply", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "allowance", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "needed", + "type": "uint256" + } + ], + "name": "ERC20InsufficientAllowance", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "needed", + "type": "uint256" + } + ], + "name": "ERC20InsufficientBalance", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "approver", + "type": "address" + } + ], + "name": "ERC20InvalidApprover", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "receiver", + "type": "address" + } + ], + "name": "ERC20InvalidReceiver", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "ERC20InvalidSender", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "ERC20InvalidSpender", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "expectedSender", + "type": "address" + }, + { + "internalType": "address", + "name": "actualSender", + "type": "address" + } + ], + "name": "Unauthorized", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "privateBalanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": { + "allocate_memory": { + "entryPoint": 948, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + } + }, + "generatedSources": [], + "linkReferences": {}, + "object": "6080604052346103af57610b216020813803918261001c816103b4565b9384928339810103126103af575161003460406103b4565b90600d82526c05072697661746520455243323609c1b602083015261005960406103b4565b600381526228229960e91b602082015282519091906001600160401b0381116102b857600354600181811c911680156103a5575b602082101461029857601f8111610340575b506020601f82116001146102d957819293946000926102ce575b50508160011b916000199060031b1c1916176003555b81516001600160401b0381116102b857600454600181811c911680156102ae575b602082101461029857601f8111610233575b50602092601f82116001146101ce57928192936000926101c3575b50508160011b916000199060031b1c1916176004555b33156101ad5760025481810180911161019757600255600033815280602052604081208281540190556040519182527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203393a360405161074790816103da8239f35b634e487b7160e01b600052601160045260246000fd5b63ec442f0560e01b600052600060045260246000fd5b01519050388061011d565b601f198216936004600052806000209160005b86811061021b5750836001959610610202575b505050811b01600455610133565b015160001960f88460031b161c191690553880806101f4565b919260206001819286850151815501940192016101e1565b60046000527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f830160051c8101916020841061028e575b601f0160051c01905b8181106102825750610102565b60008155600101610275565b909150819061026c565b634e487b7160e01b600052602260045260246000fd5b90607f16906100f0565b634e487b7160e01b600052604160045260246000fd5b0151905038806100b9565b601f198216906003600052806000209160005b8181106103285750958360019596971061030f575b505050811b016003556100cf565b015160001960f88460031b161c19169055388080610301565b9192602060018192868b0151815501940192016102ec565b60036000527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f830160051c8101916020841061039b575b601f0160051c01905b81811061038f575061009f565b60008155600101610382565b9091508190610379565b90607f169061008d565b600080fd5b6040519190601f01601f191682016001600160401b038111838210176102b85760405256fe608080604052600436101561001357600080fd5b60003560e01c90816306fdde031461051a57508063095ea7b31461049457806318160ddd1461047657806323b872dd14610389578063313ce5671461036d578063356adc001461031457806370a08231146102da57806395d89b41146101b9578063a0712d681461011f578063a9059cbb146100ee5763dd62ed3e1461009857600080fd5b346100e95760403660031901126100e9576100b1610636565b6100b961064c565b6001600160a01b039182166000908152600160209081526040808320949093168252928352819020549051908152f35b600080fd5b346100e95760403660031901126100e95761011461010a610636565b6024359033610662565b602060405160018152f35b346100e95760203660031901126100e95760043533156101a35760025481810180911161018d576002556000903382528160205260408220818154019055604051908152817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203393a380f35b634e487b7160e01b600052601160045260246000fd5b63ec442f0560e01b600052600060045260246000fd5b346100e95760003660031901126100e95760405160006004548060011c906001811680156102d0575b6020831081146102bc578285529081156102a05750600114610249575b50819003601f01601f191681019067ffffffffffffffff8211818310176102335761022f829182604052826105ed565b0390f35b634e487b7160e01b600052604160045260246000fd5b905060046000527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b6000905b82821061028a575060209150820101826101ff565b6001816020925483858801015201910190610275565b90506020925060ff191682840152151560051b820101826101ff565b634e487b7160e01b84526022600452602484fd5b91607f16916101e2565b346100e95760203660031901126100e9576001600160a01b036102fb610636565b1660005260006020526020604060002054604051908152f35b346100e95760203660031901126100e9576001600160a01b03610335610636565b163381036103555760005260006020526020604060002054604051908152f35b63295a81c160e01b6000526004523360245260446000fd5b346100e95760003660031901126100e957602060405160128152f35b346100e95760603660031901126100e9576103a2610636565b6103aa61064c565b6001600160a01b03821660008181526001602090815260408083203384529091529020549092604435929160001981106103ea575b506101149350610662565b83811061045957841561044357331561042d57610114946000526001602052604060002060018060a01b03331660005260205283604060002091039055846103df565b634a1406b160e11b600052600060045260246000fd5b63e602df0560e01b600052600060045260246000fd5b8390637dc7a0d960e11b6000523360045260245260445260646000fd5b346100e95760003660031901126100e9576020600254604051908152f35b346100e95760403660031901126100e9576104ad610636565b602435903315610443576001600160a01b031690811561042d57336000526001602052604060002082600052602052806040600020556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b346100e95760003660031901126100e95760006003548060011c906001811680156105e3575b6020831081146102bc578285529081156102a0575060011461058c5750819003601f01601f191681019067ffffffffffffffff8211818310176102335761022f829182604052826105ed565b905060036000527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b6000905b8282106105cd575060209150820101826101ff565b60018160209254838588010152019101906105b8565b91607f1691610540565b91909160208152825180602083015260005b818110610620575060409293506000838284010152601f8019910116010190565b80602080928701015160408286010152016105ff565b600435906001600160a01b03821682036100e957565b602435906001600160a01b03821682036100e957565b6001600160a01b03169081156106fb576001600160a01b03169182156101a35760008281528060205260408120548281106106e15791604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815280845220818154019055604051908152a3565b916064928463391434e360e21b8452600452602452604452fd5b634b637e8f60e11b600052600060045260246000fdfea264697066735822122043357c10239d108382e843ba6fa027502b9442d5de4746f5199e9c7e095fd29564736f6c634300081c0033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE PUSH2 0x3AF JUMPI PUSH2 0xB21 PUSH1 0x20 DUP2 CODESIZE SUB SWAP2 DUP3 PUSH2 0x1C DUP2 PUSH2 0x3B4 JUMP JUMPDEST SWAP4 DUP5 SWAP3 DUP4 CODECOPY DUP2 ADD SUB SLT PUSH2 0x3AF JUMPI MLOAD PUSH2 0x34 PUSH1 0x40 PUSH2 0x3B4 JUMP JUMPDEST SWAP1 PUSH1 0xD DUP3 MSTORE PUSH13 0x5072697661746520455243323 PUSH1 0x9C SHL PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x59 PUSH1 0x40 PUSH2 0x3B4 JUMP JUMPDEST PUSH1 0x3 DUP2 MSTORE PUSH3 0x282299 PUSH1 0xE9 SHL PUSH1 0x20 DUP3 ADD MSTORE DUP3 MLOAD SWAP1 SWAP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x2B8 JUMPI PUSH1 0x3 SLOAD PUSH1 0x1 DUP2 DUP2 SHR SWAP2 AND DUP1 ISZERO PUSH2 0x3A5 JUMPI JUMPDEST PUSH1 0x20 DUP3 LT EQ PUSH2 0x298 JUMPI PUSH1 0x1F DUP2 GT PUSH2 0x340 JUMPI JUMPDEST POP PUSH1 0x20 PUSH1 0x1F DUP3 GT PUSH1 0x1 EQ PUSH2 0x2D9 JUMPI DUP2 SWAP3 SWAP4 SWAP5 PUSH1 0x0 SWAP3 PUSH2 0x2CE JUMPI JUMPDEST POP POP DUP2 PUSH1 0x1 SHL SWAP2 PUSH1 0x0 NOT SWAP1 PUSH1 0x3 SHL SHR NOT AND OR PUSH1 0x3 SSTORE JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x2B8 JUMPI PUSH1 0x4 SLOAD PUSH1 0x1 DUP2 DUP2 SHR SWAP2 AND DUP1 ISZERO PUSH2 0x2AE JUMPI JUMPDEST PUSH1 0x20 DUP3 LT EQ PUSH2 0x298 JUMPI PUSH1 0x1F DUP2 GT PUSH2 0x233 JUMPI JUMPDEST POP PUSH1 0x20 SWAP3 PUSH1 0x1F DUP3 GT PUSH1 0x1 EQ PUSH2 0x1CE JUMPI SWAP3 DUP2 SWAP3 SWAP4 PUSH1 0x0 SWAP3 PUSH2 0x1C3 JUMPI JUMPDEST POP POP DUP2 PUSH1 0x1 SHL SWAP2 PUSH1 0x0 NOT SWAP1 PUSH1 0x3 SHL SHR NOT AND OR PUSH1 0x4 SSTORE JUMPDEST CALLER ISZERO PUSH2 0x1AD JUMPI PUSH1 0x2 SLOAD DUP2 DUP2 ADD DUP1 SWAP2 GT PUSH2 0x197 JUMPI PUSH1 0x2 SSTORE PUSH1 0x0 CALLER DUP2 MSTORE DUP1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP3 DUP2 SLOAD ADD SWAP1 SSTORE PUSH1 0x40 MLOAD SWAP2 DUP3 MSTORE PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF PUSH1 0x20 CALLER SWAP4 LOG3 PUSH1 0x40 MLOAD PUSH2 0x747 SWAP1 DUP2 PUSH2 0x3DA DUP3 CODECOPY RETURN JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0xEC442F05 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADD MLOAD SWAP1 POP CODESIZE DUP1 PUSH2 0x11D JUMP JUMPDEST PUSH1 0x1F NOT DUP3 AND SWAP4 PUSH1 0x4 PUSH1 0x0 MSTORE DUP1 PUSH1 0x0 KECCAK256 SWAP2 PUSH1 0x0 JUMPDEST DUP7 DUP2 LT PUSH2 0x21B JUMPI POP DUP4 PUSH1 0x1 SWAP6 SWAP7 LT PUSH2 0x202 JUMPI JUMPDEST POP POP POP DUP2 SHL ADD PUSH1 0x4 SSTORE PUSH2 0x133 JUMP JUMPDEST ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 DUP1 PUSH2 0x1F4 JUMP JUMPDEST SWAP2 SWAP3 PUSH1 0x20 PUSH1 0x1 DUP2 SWAP3 DUP7 DUP6 ADD MLOAD DUP2 SSTORE ADD SWAP5 ADD SWAP3 ADD PUSH2 0x1E1 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x0 MSTORE PUSH32 0x8A35ACFBC15FF81A39AE7D344FD709F28E8600B4AA8C65C6B64BFE7FE36BD19B PUSH1 0x1F DUP4 ADD PUSH1 0x5 SHR DUP2 ADD SWAP2 PUSH1 0x20 DUP5 LT PUSH2 0x28E JUMPI JUMPDEST PUSH1 0x1F ADD PUSH1 0x5 SHR ADD SWAP1 JUMPDEST DUP2 DUP2 LT PUSH2 0x282 JUMPI POP PUSH2 0x102 JUMP JUMPDEST PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x275 JUMP JUMPDEST SWAP1 SWAP2 POP DUP2 SWAP1 PUSH2 0x26C JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x7F AND SWAP1 PUSH2 0xF0 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADD MLOAD SWAP1 POP CODESIZE DUP1 PUSH2 0xB9 JUMP JUMPDEST PUSH1 0x1F NOT DUP3 AND SWAP1 PUSH1 0x3 PUSH1 0x0 MSTORE DUP1 PUSH1 0x0 KECCAK256 SWAP2 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH2 0x328 JUMPI POP SWAP6 DUP4 PUSH1 0x1 SWAP6 SWAP7 SWAP8 LT PUSH2 0x30F JUMPI JUMPDEST POP POP POP DUP2 SHL ADD PUSH1 0x3 SSTORE PUSH2 0xCF JUMP JUMPDEST ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 DUP1 PUSH2 0x301 JUMP JUMPDEST SWAP2 SWAP3 PUSH1 0x20 PUSH1 0x1 DUP2 SWAP3 DUP7 DUP12 ADD MLOAD DUP2 SSTORE ADD SWAP5 ADD SWAP3 ADD PUSH2 0x2EC JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 MSTORE PUSH32 0xC2575A0E9E593C00F959F8C92F12DB2869C3395A3B0502D05E2516446F71F85B PUSH1 0x1F DUP4 ADD PUSH1 0x5 SHR DUP2 ADD SWAP2 PUSH1 0x20 DUP5 LT PUSH2 0x39B JUMPI JUMPDEST PUSH1 0x1F ADD PUSH1 0x5 SHR ADD SWAP1 JUMPDEST DUP2 DUP2 LT PUSH2 0x38F JUMPI POP PUSH2 0x9F JUMP JUMPDEST PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x382 JUMP JUMPDEST SWAP1 SWAP2 POP DUP2 SWAP1 PUSH2 0x379 JUMP JUMPDEST SWAP1 PUSH1 0x7F AND SWAP1 PUSH2 0x8D JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x40 MLOAD SWAP2 SWAP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP4 DUP3 LT OR PUSH2 0x2B8 JUMPI PUSH1 0x40 MSTORE JUMP INVALID PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x13 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0x6FDDE03 EQ PUSH2 0x51A JUMPI POP DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x494 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x476 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x389 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x36D JUMPI DUP1 PUSH4 0x356ADC00 EQ PUSH2 0x314 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x2DA JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x1B9 JUMPI DUP1 PUSH4 0xA0712D68 EQ PUSH2 0x11F JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0xEE JUMPI PUSH4 0xDD62ED3E EQ PUSH2 0x98 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0xE9 JUMPI PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xE9 JUMPI PUSH2 0xB1 PUSH2 0x636 JUMP JUMPDEST PUSH2 0xB9 PUSH2 0x64C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 SWAP1 SWAP4 AND DUP3 MSTORE SWAP3 DUP4 MSTORE DUP2 SWAP1 KECCAK256 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0xE9 JUMPI PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xE9 JUMPI PUSH2 0x114 PUSH2 0x10A PUSH2 0x636 JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP1 CALLER PUSH2 0x662 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0xE9 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xE9 JUMPI PUSH1 0x4 CALLDATALOAD CALLER ISZERO PUSH2 0x1A3 JUMPI PUSH1 0x2 SLOAD DUP2 DUP2 ADD DUP1 SWAP2 GT PUSH2 0x18D JUMPI PUSH1 0x2 SSTORE PUSH1 0x0 SWAP1 CALLER DUP3 MSTORE DUP2 PUSH1 0x20 MSTORE PUSH1 0x40 DUP3 KECCAK256 DUP2 DUP2 SLOAD ADD SWAP1 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE DUP2 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF PUSH1 0x20 CALLER SWAP4 LOG3 DUP1 RETURN JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0xEC442F05 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST CALLVALUE PUSH2 0xE9 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xE9 JUMPI PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x4 SLOAD DUP1 PUSH1 0x1 SHR SWAP1 PUSH1 0x1 DUP2 AND DUP1 ISZERO PUSH2 0x2D0 JUMPI JUMPDEST PUSH1 0x20 DUP4 LT DUP2 EQ PUSH2 0x2BC JUMPI DUP3 DUP6 MSTORE SWAP1 DUP2 ISZERO PUSH2 0x2A0 JUMPI POP PUSH1 0x1 EQ PUSH2 0x249 JUMPI JUMPDEST POP DUP2 SWAP1 SUB PUSH1 0x1F ADD PUSH1 0x1F NOT AND DUP2 ADD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT DUP2 DUP4 LT OR PUSH2 0x233 JUMPI PUSH2 0x22F DUP3 SWAP2 DUP3 PUSH1 0x40 MSTORE DUP3 PUSH2 0x5ED JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 POP PUSH1 0x4 PUSH1 0x0 MSTORE PUSH32 0x8A35ACFBC15FF81A39AE7D344FD709F28E8600B4AA8C65C6B64BFE7FE36BD19B PUSH1 0x0 SWAP1 JUMPDEST DUP3 DUP3 LT PUSH2 0x28A JUMPI POP PUSH1 0x20 SWAP2 POP DUP3 ADD ADD DUP3 PUSH2 0x1FF JUMP JUMPDEST PUSH1 0x1 DUP2 PUSH1 0x20 SWAP3 SLOAD DUP4 DUP6 DUP9 ADD ADD MSTORE ADD SWAP2 ADD SWAP1 PUSH2 0x275 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 SWAP3 POP PUSH1 0xFF NOT AND DUP3 DUP5 ADD MSTORE ISZERO ISZERO PUSH1 0x5 SHL DUP3 ADD ADD DUP3 PUSH2 0x1FF JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL DUP5 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 DUP5 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH2 0x1E2 JUMP JUMPDEST CALLVALUE PUSH2 0xE9 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xE9 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH2 0x2FB PUSH2 0x636 JUMP JUMPDEST AND PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x20 MSTORE PUSH1 0x20 PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0xE9 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xE9 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH2 0x335 PUSH2 0x636 JUMP JUMPDEST AND CALLER DUP2 SUB PUSH2 0x355 JUMPI PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x20 MSTORE PUSH1 0x20 PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST PUSH4 0x295A81C1 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x4 MSTORE CALLER PUSH1 0x24 MSTORE PUSH1 0x44 PUSH1 0x0 REVERT JUMPDEST CALLVALUE PUSH2 0xE9 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xE9 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x12 DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0xE9 JUMPI PUSH1 0x60 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xE9 JUMPI PUSH2 0x3A2 PUSH2 0x636 JUMP JUMPDEST PUSH2 0x3AA PUSH2 0x64C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD SWAP1 SWAP3 PUSH1 0x44 CALLDATALOAD SWAP3 SWAP2 PUSH1 0x0 NOT DUP2 LT PUSH2 0x3EA JUMPI JUMPDEST POP PUSH2 0x114 SWAP4 POP PUSH2 0x662 JUMP JUMPDEST DUP4 DUP2 LT PUSH2 0x459 JUMPI DUP5 ISZERO PUSH2 0x443 JUMPI CALLER ISZERO PUSH2 0x42D JUMPI PUSH2 0x114 SWAP5 PUSH1 0x0 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB CALLER AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE DUP4 PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP2 SUB SWAP1 SSTORE DUP5 PUSH2 0x3DF JUMP JUMPDEST PUSH4 0x4A1406B1 PUSH1 0xE1 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0xE602DF05 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP4 SWAP1 PUSH4 0x7DC7A0D9 PUSH1 0xE1 SHL PUSH1 0x0 MSTORE CALLER PUSH1 0x4 MSTORE PUSH1 0x24 MSTORE PUSH1 0x44 MSTORE PUSH1 0x64 PUSH1 0x0 REVERT JUMPDEST CALLVALUE PUSH2 0xE9 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xE9 JUMPI PUSH1 0x20 PUSH1 0x2 SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0xE9 JUMPI PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xE9 JUMPI PUSH2 0x4AD PUSH2 0x636 JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP1 CALLER ISZERO PUSH2 0x443 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 DUP2 ISZERO PUSH2 0x42D JUMPI CALLER PUSH1 0x0 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP3 PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE DUP1 PUSH1 0x40 PUSH1 0x0 KECCAK256 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x20 CALLER SWAP3 LOG3 PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0xE9 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xE9 JUMPI PUSH1 0x0 PUSH1 0x3 SLOAD DUP1 PUSH1 0x1 SHR SWAP1 PUSH1 0x1 DUP2 AND DUP1 ISZERO PUSH2 0x5E3 JUMPI JUMPDEST PUSH1 0x20 DUP4 LT DUP2 EQ PUSH2 0x2BC JUMPI DUP3 DUP6 MSTORE SWAP1 DUP2 ISZERO PUSH2 0x2A0 JUMPI POP PUSH1 0x1 EQ PUSH2 0x58C JUMPI POP DUP2 SWAP1 SUB PUSH1 0x1F ADD PUSH1 0x1F NOT AND DUP2 ADD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT DUP2 DUP4 LT OR PUSH2 0x233 JUMPI PUSH2 0x22F DUP3 SWAP2 DUP3 PUSH1 0x40 MSTORE DUP3 PUSH2 0x5ED JUMP JUMPDEST SWAP1 POP PUSH1 0x3 PUSH1 0x0 MSTORE PUSH32 0xC2575A0E9E593C00F959F8C92F12DB2869C3395A3B0502D05E2516446F71F85B PUSH1 0x0 SWAP1 JUMPDEST DUP3 DUP3 LT PUSH2 0x5CD JUMPI POP PUSH1 0x20 SWAP2 POP DUP3 ADD ADD DUP3 PUSH2 0x1FF JUMP JUMPDEST PUSH1 0x1 DUP2 PUSH1 0x20 SWAP3 SLOAD DUP4 DUP6 DUP9 ADD ADD MSTORE ADD SWAP2 ADD SWAP1 PUSH2 0x5B8 JUMP JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH2 0x540 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 PUSH1 0x20 DUP2 MSTORE DUP3 MLOAD DUP1 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH2 0x620 JUMPI POP PUSH1 0x40 SWAP3 SWAP4 POP PUSH1 0x0 DUP4 DUP3 DUP5 ADD ADD MSTORE PUSH1 0x1F DUP1 NOT SWAP2 ADD AND ADD ADD SWAP1 JUMP JUMPDEST DUP1 PUSH1 0x20 DUP1 SWAP3 DUP8 ADD ADD MLOAD PUSH1 0x40 DUP3 DUP7 ADD ADD MSTORE ADD PUSH2 0x5FF JUMP JUMPDEST PUSH1 0x4 CALLDATALOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND DUP3 SUB PUSH2 0xE9 JUMPI JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND DUP3 SUB PUSH2 0xE9 JUMPI JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 DUP2 ISZERO PUSH2 0x6FB JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 DUP3 ISZERO PUSH2 0x1A3 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE DUP1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD DUP3 DUP2 LT PUSH2 0x6E1 JUMPI SWAP2 PUSH1 0x40 DUP3 DUP3 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP6 DUP8 PUSH1 0x20 SWAP7 MSTORE DUP3 DUP7 MSTORE SUB DUP3 DUP3 KECCAK256 SSTORE DUP7 DUP2 MSTORE DUP1 DUP5 MSTORE KECCAK256 DUP2 DUP2 SLOAD ADD SWAP1 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE LOG3 JUMP JUMPDEST SWAP2 PUSH1 0x64 SWAP3 DUP5 PUSH4 0x391434E3 PUSH1 0xE2 SHL DUP5 MSTORE PUSH1 0x4 MSTORE PUSH1 0x24 MSTORE PUSH1 0x44 MSTORE REVERT JUMPDEST PUSH4 0x4B637E8F PUSH1 0xE1 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 NUMBER CALLDATALOAD PUSH29 0x10239D108382E843BA6FA027502B9442D5DE4746F5199E9C7E095FD295 PUSH5 0x736F6C6343 STOP ADDMOD SHR STOP CALLER ", + "sourceMap": "115:499:34:-:0;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;115:499:34;;;;;;;:::i;:::-;;;;-1:-1:-1;;;115:499:34;;;;;;;;;-1:-1:-1;;;;;115:499:34;;;;;;;;;;;;;;;;-1:-1:-1;115:499:34;;;;;;;;;;;-1:-1:-1;115:499:34;;;;;;;;;;;;;-1:-1:-1;115:499:34;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;115:499:34;;;;1671:17:12;115:499:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;115:499:34;;;;;;;;;;;;;;;;;;;1671:17:12;115:499:34;;304:10;7509:21:12;7505:91;;6214:21;115:499:34;;;;;;;;;6214:21:12;115:499:34;-1:-1:-1;304:10:34;115:499;;;;;;;;;;;;;;;;;;;7064:25:12;115:499:34;304:10;7064:25:12;;115:499:34;;;;;;;;;;;;;-1:-1:-1;115:499:34;;1671:17:12;115:499:34;;-1:-1:-1;115:499:34;7505:91:12;7553:32;;;-1:-1:-1;7553:32:12;-1:-1:-1;1671:17:12;115:499:34;;-1:-1:-1;7553:32:12;115:499:34;;;;-1:-1:-1;115:499:34;;;;;;;;;;1671:17:12;-1:-1:-1;115:499:34;;-1:-1:-1;115:499:34;;-1:-1:-1;115:499:34;;;;;;;;;;;;;;;;;;;;;1671:17:12;115:499:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1671:17:12;-1:-1:-1;115:499:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;115:499:34;;;;;;;;;-1:-1:-1;115:499:34;;;;;;;;-1:-1:-1;115:499:34;;1671:17:12;115:499:34;;-1:-1:-1;115:499:34;;;;;;;;;;;;-1:-1:-1;115:499:34;;1671:17:12;115:499:34;;-1:-1:-1;115:499:34;;;;;-1:-1:-1;115:499:34;;;;;;;;;;;-1:-1:-1;115:499:34;;-1:-1:-1;115:499:34;;-1:-1:-1;115:499:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;115:499:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;115:499:34;;;;;;;;;-1:-1:-1;115:499:34;;;;;;;;;;;;-1:-1:-1;115:499:34;;;;;;;;;-1:-1:-1;;115:499:34;;;-1:-1:-1;;;;;115:499:34;;;;;;;;;;:::o" + }, + "deployedBytecode": { + "functionDebugData": { + "abi_decode_address": { + "entryPoint": 1612, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "abi_decode_address_3687": { + "entryPoint": 1590, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "abi_encode_string": { + "entryPoint": 1517, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "fun_transfer": { + "entryPoint": 1634, + "id": 1753, + "parameterSlots": 3, + "returnSlots": 0 + } + }, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "608080604052600436101561001357600080fd5b60003560e01c90816306fdde031461051a57508063095ea7b31461049457806318160ddd1461047657806323b872dd14610389578063313ce5671461036d578063356adc001461031457806370a08231146102da57806395d89b41146101b9578063a0712d681461011f578063a9059cbb146100ee5763dd62ed3e1461009857600080fd5b346100e95760403660031901126100e9576100b1610636565b6100b961064c565b6001600160a01b039182166000908152600160209081526040808320949093168252928352819020549051908152f35b600080fd5b346100e95760403660031901126100e95761011461010a610636565b6024359033610662565b602060405160018152f35b346100e95760203660031901126100e95760043533156101a35760025481810180911161018d576002556000903382528160205260408220818154019055604051908152817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203393a380f35b634e487b7160e01b600052601160045260246000fd5b63ec442f0560e01b600052600060045260246000fd5b346100e95760003660031901126100e95760405160006004548060011c906001811680156102d0575b6020831081146102bc578285529081156102a05750600114610249575b50819003601f01601f191681019067ffffffffffffffff8211818310176102335761022f829182604052826105ed565b0390f35b634e487b7160e01b600052604160045260246000fd5b905060046000527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b6000905b82821061028a575060209150820101826101ff565b6001816020925483858801015201910190610275565b90506020925060ff191682840152151560051b820101826101ff565b634e487b7160e01b84526022600452602484fd5b91607f16916101e2565b346100e95760203660031901126100e9576001600160a01b036102fb610636565b1660005260006020526020604060002054604051908152f35b346100e95760203660031901126100e9576001600160a01b03610335610636565b163381036103555760005260006020526020604060002054604051908152f35b63295a81c160e01b6000526004523360245260446000fd5b346100e95760003660031901126100e957602060405160128152f35b346100e95760603660031901126100e9576103a2610636565b6103aa61064c565b6001600160a01b03821660008181526001602090815260408083203384529091529020549092604435929160001981106103ea575b506101149350610662565b83811061045957841561044357331561042d57610114946000526001602052604060002060018060a01b03331660005260205283604060002091039055846103df565b634a1406b160e11b600052600060045260246000fd5b63e602df0560e01b600052600060045260246000fd5b8390637dc7a0d960e11b6000523360045260245260445260646000fd5b346100e95760003660031901126100e9576020600254604051908152f35b346100e95760403660031901126100e9576104ad610636565b602435903315610443576001600160a01b031690811561042d57336000526001602052604060002082600052602052806040600020556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b346100e95760003660031901126100e95760006003548060011c906001811680156105e3575b6020831081146102bc578285529081156102a0575060011461058c5750819003601f01601f191681019067ffffffffffffffff8211818310176102335761022f829182604052826105ed565b905060036000527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b6000905b8282106105cd575060209150820101826101ff565b60018160209254838588010152019101906105b8565b91607f1691610540565b91909160208152825180602083015260005b818110610620575060409293506000838284010152601f8019910116010190565b80602080928701015160408286010152016105ff565b600435906001600160a01b03821682036100e957565b602435906001600160a01b03821682036100e957565b6001600160a01b03169081156106fb576001600160a01b03169182156101a35760008281528060205260408120548281106106e15791604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815280845220818154019055604051908152a3565b916064928463391434e360e21b8452600452602452604452fd5b634b637e8f60e11b600052600060045260246000fdfea264697066735822122043357c10239d108382e843ba6fa027502b9442d5de4746f5199e9c7e095fd29564736f6c634300081c0033", + "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x13 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0x6FDDE03 EQ PUSH2 0x51A JUMPI POP DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x494 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x476 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x389 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x36D JUMPI DUP1 PUSH4 0x356ADC00 EQ PUSH2 0x314 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x2DA JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x1B9 JUMPI DUP1 PUSH4 0xA0712D68 EQ PUSH2 0x11F JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0xEE JUMPI PUSH4 0xDD62ED3E EQ PUSH2 0x98 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0xE9 JUMPI PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xE9 JUMPI PUSH2 0xB1 PUSH2 0x636 JUMP JUMPDEST PUSH2 0xB9 PUSH2 0x64C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 SWAP1 SWAP4 AND DUP3 MSTORE SWAP3 DUP4 MSTORE DUP2 SWAP1 KECCAK256 SLOAD SWAP1 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0xE9 JUMPI PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xE9 JUMPI PUSH2 0x114 PUSH2 0x10A PUSH2 0x636 JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP1 CALLER PUSH2 0x662 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0xE9 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xE9 JUMPI PUSH1 0x4 CALLDATALOAD CALLER ISZERO PUSH2 0x1A3 JUMPI PUSH1 0x2 SLOAD DUP2 DUP2 ADD DUP1 SWAP2 GT PUSH2 0x18D JUMPI PUSH1 0x2 SSTORE PUSH1 0x0 SWAP1 CALLER DUP3 MSTORE DUP2 PUSH1 0x20 MSTORE PUSH1 0x40 DUP3 KECCAK256 DUP2 DUP2 SLOAD ADD SWAP1 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE DUP2 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF PUSH1 0x20 CALLER SWAP4 LOG3 DUP1 RETURN JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0xEC442F05 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST CALLVALUE PUSH2 0xE9 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xE9 JUMPI PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x4 SLOAD DUP1 PUSH1 0x1 SHR SWAP1 PUSH1 0x1 DUP2 AND DUP1 ISZERO PUSH2 0x2D0 JUMPI JUMPDEST PUSH1 0x20 DUP4 LT DUP2 EQ PUSH2 0x2BC JUMPI DUP3 DUP6 MSTORE SWAP1 DUP2 ISZERO PUSH2 0x2A0 JUMPI POP PUSH1 0x1 EQ PUSH2 0x249 JUMPI JUMPDEST POP DUP2 SWAP1 SUB PUSH1 0x1F ADD PUSH1 0x1F NOT AND DUP2 ADD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT DUP2 DUP4 LT OR PUSH2 0x233 JUMPI PUSH2 0x22F DUP3 SWAP2 DUP3 PUSH1 0x40 MSTORE DUP3 PUSH2 0x5ED JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 POP PUSH1 0x4 PUSH1 0x0 MSTORE PUSH32 0x8A35ACFBC15FF81A39AE7D344FD709F28E8600B4AA8C65C6B64BFE7FE36BD19B PUSH1 0x0 SWAP1 JUMPDEST DUP3 DUP3 LT PUSH2 0x28A JUMPI POP PUSH1 0x20 SWAP2 POP DUP3 ADD ADD DUP3 PUSH2 0x1FF JUMP JUMPDEST PUSH1 0x1 DUP2 PUSH1 0x20 SWAP3 SLOAD DUP4 DUP6 DUP9 ADD ADD MSTORE ADD SWAP2 ADD SWAP1 PUSH2 0x275 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 SWAP3 POP PUSH1 0xFF NOT AND DUP3 DUP5 ADD MSTORE ISZERO ISZERO PUSH1 0x5 SHL DUP3 ADD ADD DUP3 PUSH2 0x1FF JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL DUP5 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 DUP5 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH2 0x1E2 JUMP JUMPDEST CALLVALUE PUSH2 0xE9 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xE9 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH2 0x2FB PUSH2 0x636 JUMP JUMPDEST AND PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x20 MSTORE PUSH1 0x20 PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0xE9 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xE9 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH2 0x335 PUSH2 0x636 JUMP JUMPDEST AND CALLER DUP2 SUB PUSH2 0x355 JUMPI PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x20 MSTORE PUSH1 0x20 PUSH1 0x40 PUSH1 0x0 KECCAK256 SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST PUSH4 0x295A81C1 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x4 MSTORE CALLER PUSH1 0x24 MSTORE PUSH1 0x44 PUSH1 0x0 REVERT JUMPDEST CALLVALUE PUSH2 0xE9 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xE9 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x12 DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0xE9 JUMPI PUSH1 0x60 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xE9 JUMPI PUSH2 0x3A2 PUSH2 0x636 JUMP JUMPDEST PUSH2 0x3AA PUSH2 0x64C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD SWAP1 SWAP3 PUSH1 0x44 CALLDATALOAD SWAP3 SWAP2 PUSH1 0x0 NOT DUP2 LT PUSH2 0x3EA JUMPI JUMPDEST POP PUSH2 0x114 SWAP4 POP PUSH2 0x662 JUMP JUMPDEST DUP4 DUP2 LT PUSH2 0x459 JUMPI DUP5 ISZERO PUSH2 0x443 JUMPI CALLER ISZERO PUSH2 0x42D JUMPI PUSH2 0x114 SWAP5 PUSH1 0x0 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB CALLER AND PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE DUP4 PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP2 SUB SWAP1 SSTORE DUP5 PUSH2 0x3DF JUMP JUMPDEST PUSH4 0x4A1406B1 PUSH1 0xE1 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0xE602DF05 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP4 SWAP1 PUSH4 0x7DC7A0D9 PUSH1 0xE1 SHL PUSH1 0x0 MSTORE CALLER PUSH1 0x4 MSTORE PUSH1 0x24 MSTORE PUSH1 0x44 MSTORE PUSH1 0x64 PUSH1 0x0 REVERT JUMPDEST CALLVALUE PUSH2 0xE9 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xE9 JUMPI PUSH1 0x20 PUSH1 0x2 SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0xE9 JUMPI PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xE9 JUMPI PUSH2 0x4AD PUSH2 0x636 JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP1 CALLER ISZERO PUSH2 0x443 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 DUP2 ISZERO PUSH2 0x42D JUMPI CALLER PUSH1 0x0 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP3 PUSH1 0x0 MSTORE PUSH1 0x20 MSTORE DUP1 PUSH1 0x40 PUSH1 0x0 KECCAK256 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x20 CALLER SWAP3 LOG3 PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0xE9 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0xE9 JUMPI PUSH1 0x0 PUSH1 0x3 SLOAD DUP1 PUSH1 0x1 SHR SWAP1 PUSH1 0x1 DUP2 AND DUP1 ISZERO PUSH2 0x5E3 JUMPI JUMPDEST PUSH1 0x20 DUP4 LT DUP2 EQ PUSH2 0x2BC JUMPI DUP3 DUP6 MSTORE SWAP1 DUP2 ISZERO PUSH2 0x2A0 JUMPI POP PUSH1 0x1 EQ PUSH2 0x58C JUMPI POP DUP2 SWAP1 SUB PUSH1 0x1F ADD PUSH1 0x1F NOT AND DUP2 ADD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT DUP2 DUP4 LT OR PUSH2 0x233 JUMPI PUSH2 0x22F DUP3 SWAP2 DUP3 PUSH1 0x40 MSTORE DUP3 PUSH2 0x5ED JUMP JUMPDEST SWAP1 POP PUSH1 0x3 PUSH1 0x0 MSTORE PUSH32 0xC2575A0E9E593C00F959F8C92F12DB2869C3395A3B0502D05E2516446F71F85B PUSH1 0x0 SWAP1 JUMPDEST DUP3 DUP3 LT PUSH2 0x5CD JUMPI POP PUSH1 0x20 SWAP2 POP DUP3 ADD ADD DUP3 PUSH2 0x1FF JUMP JUMPDEST PUSH1 0x1 DUP2 PUSH1 0x20 SWAP3 SLOAD DUP4 DUP6 DUP9 ADD ADD MSTORE ADD SWAP2 ADD SWAP1 PUSH2 0x5B8 JUMP JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH2 0x540 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 PUSH1 0x20 DUP2 MSTORE DUP3 MLOAD DUP1 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH2 0x620 JUMPI POP PUSH1 0x40 SWAP3 SWAP4 POP PUSH1 0x0 DUP4 DUP3 DUP5 ADD ADD MSTORE PUSH1 0x1F DUP1 NOT SWAP2 ADD AND ADD ADD SWAP1 JUMP JUMPDEST DUP1 PUSH1 0x20 DUP1 SWAP3 DUP8 ADD ADD MLOAD PUSH1 0x40 DUP3 DUP7 ADD ADD MSTORE ADD PUSH2 0x5FF JUMP JUMPDEST PUSH1 0x4 CALLDATALOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND DUP3 SUB PUSH2 0xE9 JUMPI JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND DUP3 SUB PUSH2 0xE9 JUMPI JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 DUP2 ISZERO PUSH2 0x6FB JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 DUP3 ISZERO PUSH2 0x1A3 JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE DUP1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD DUP3 DUP2 LT PUSH2 0x6E1 JUMPI SWAP2 PUSH1 0x40 DUP3 DUP3 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP6 DUP8 PUSH1 0x20 SWAP7 MSTORE DUP3 DUP7 MSTORE SUB DUP3 DUP3 KECCAK256 SSTORE DUP7 DUP2 MSTORE DUP1 DUP5 MSTORE KECCAK256 DUP2 DUP2 SLOAD ADD SWAP1 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE LOG3 JUMP JUMPDEST SWAP2 PUSH1 0x64 SWAP3 DUP5 PUSH4 0x391434E3 PUSH1 0xE2 SHL DUP5 MSTORE PUSH1 0x4 MSTORE PUSH1 0x24 MSTORE PUSH1 0x44 MSTORE REVERT JUMPDEST PUSH4 0x4B637E8F PUSH1 0xE1 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 NUMBER CALLDATALOAD PUSH29 0x10239D108382E843BA6FA027502B9442D5DE4746F5199E9C7E095FD295 PUSH5 0x736F6C6343 STOP ADDMOD SHR STOP CALLER ", + "sourceMap": "115:499:34:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;115:499:34;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;115:499:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;115:499:34;;;;3440:5:12;115:499:34;;:::i;:::-;;;735:10:15;;3440:5:12;:::i;:::-;115:499:34;;;;;;;;;;;;;-1:-1:-1;;115:499:34;;;;;;387:10;7509:21:12;7505:91;;6214:21;115:499:34;;;;;;;;;6214:21:12;115:499:34;;387:10;;115:499;;;;;;;;;;;;;;;;;;;387:10;7064:25:12;115:499:34;387:10;7064:25:12;;115:499:34;;;;;;;;;;;;;;7505:91:12;7553:32;;;115:499:34;7553:32:12;115:499:34;;;;;7553:32:12;115:499:34;;;;;;-1:-1:-1;;115:499:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;115:499:34;;;;;-1:-1:-1;;115:499:34;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;115:499:34;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;115:499:34;;;;-1:-1:-1;;;;;115:499:34;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;115:499:34;;;;-1:-1:-1;;;;;115:499:34;;:::i;:::-;;518:10;507:21;;115:499;;;;;;;;;;;;;;;;;;;;;;;;;;518:10;115:499;;;;;;;;;;;-1:-1:-1;;115:499:34;;;;;;;2761:2:12;115:499:34;;;;;;;;;-1:-1:-1;;115:499:34;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;115:499:34;;;;;;;;;;;;;;;735:10:15;115:499:34;;;;;;;;;;;;;;-1:-1:-1;;10561:36:12;;10557:309;;115:499:34;4967:5:12;;;;;:::i;10557:309::-;10617:24;;;10613:130;;9794:19;;9790:89;;735:10:15;9892:21:12;9888:90;;4967:5;115:499:34;;;;;;;;;;;;;;735:10:15;115:499:34;-1:-1:-1;115:499:34;;;;;-1:-1:-1;115:499:34;;;;;10557:309:12;;;9888:90;9936:31;;;115:499:34;9936:31:12;115:499:34;;;;;9936:31:12;9790:89;9836:32;;;115:499:34;9836:32:12;115:499:34;;;;;9836:32:12;10613:130;10668:60;;;;;115:499:34;10668:60:12;735:10:15;115:499:34;;;;;;;;10668:60:12;115:499:34;;;;;;-1:-1:-1;;115:499:34;;;;;2908:12:12;115:499:34;;;;;;;;;;;;;-1:-1:-1;;115:499:34;;;;;;:::i;:::-;;;735:10:15;;9794:19:12;9790:89;;-1:-1:-1;;;;;115:499:34;;9892:21:12;;9888:90;;735:10:15;115:499:34;;;;;;;;;-1:-1:-1;115:499:34;;;;;-1:-1:-1;115:499:34;;;;;;;10066:31:12;115:499:34;735:10:15;10066:31:12;;115:499:34;;;;;;;;;;;;;-1:-1:-1;;115:499:34;;;;;1837:5:12;115:499:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;115:499:34;;;;;-1:-1:-1;;115:499:34;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;1837:5:12;115:499:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;115:499:34;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;115:499:34;;;;;;:::o;5374:300:12:-;-1:-1:-1;;;;;115:499:34;;5457:18:12;;5453:86;;-1:-1:-1;;;;;115:499:34;;5552:16:12;;5548:86;;5473:1;115:499:34;;;;;;;;;;6321:19:12;;;6317:115;;115:499:34;;;;7064:25:12;115:499:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7064:25:12;5374:300::o;6317:115::-;6367:50;115:499:34;6367:50:12;;;;;;;;115:499:34;;;;;6367:50:12;5453:86;5498:30;;;5473:1;5498:30;5473:1;5498:30;115:499:34;;5473:1:12;5498:30" + }, + "methodIdentifiers": { + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "decimals()": "313ce567", + "mint(uint256)": "a0712d68", + "name()": "06fdde03", + "privateBalanceOf(address)": "356adc00", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"initialSupply\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"expectedSender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"actualSender\",\"type\":\"address\"}],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"privateBalanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/testing/PrivateERC20.sol\":\"PrivateERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b\",\"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x41f6b3b9e030561e7896dbef372b499cc8d418a80c3884a4d65a68f2fdc7493a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://80b0992a11b2fd1f75ced2971696d07bbd1d19ce6761dd50d8b6d48aa435f42a\",\"dweb:/ipfs/QmZDe5xd2gXHjVEjv9t8C1KQ68K5T8qFwdinwQgmP3rF3x\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf\",\"dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"src/testing/PrivateERC20.sol\":{\"keccak256\":\"0x25586d47ca4ebb8624a7754cb56c1353090dab3035726d0fd5fd65f02b145575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d4a959ee9c2209bb775d2aed6bfd3f8f86e77345c7e2b22425d92476e517a3d9\",\"dweb:/ipfs/QmT3dT71bVbKMdAwsphSQUCgprzfCMouWYN7aDkmWkCpoA\"]}},\"version\":1}" + } + }, "src/utils/ERC1271InputGenerator.sol": { "ERC1271InputGenerator": { "abi": [ @@ -238917,7 +265563,7 @@ }, "constructor_ERC1271InputGenerator": { "entryPoint": 336, - "id": 8220, + "id": 10101, "parameterSlots": 4, "returnSlots": 0 }, @@ -238947,7 +265593,7 @@ }, "fun_gianoSmartWallet1271Input": { "entryPoint": 456, - "id": 8298, + "id": 10179, "parameterSlots": 4, "returnSlots": 1 }, @@ -238974,20 +265620,20 @@ "linkReferences": {}, "object": "6080604052346100bb576102ee803803809161001a826100d6565b608039608081810191126100bb5760805161003481610124565b60a05160c0519161004483610124565b60e0516001600160401b0381116100bb5784609f820112156100bb5780608001519061006f82610135565b9561007d6040519788610101565b82875260a083830101116100bb5760005b8281106100a5575050602060009186010152610150565b8060a06020928401015182828a0101520161008e565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6080601f91909101601f19168101906001600160401b038211908210176100fc57604052565b6100c0565b601f909101601f19168101906001600160401b038211908210176100fc57604052565b6001600160a01b038116036100bb57565b6001600160401b0381116100fc57601f01601f191660200190565b9061015c9392916101c8565b60805260206080f35b908160209103126100bb575190565b6040513d6000823e3d90fd5b3d156101ab573d9061019182610135565b9161019f6040519384610101565b82523d6000602084013e565b606090565b908160209103126100bb57516101c581610124565b90565b90926001600160a01b0390911691823b6102c65781600092918360208194519301915af16101f4610180565b90156102b6576102108160208061021c945183010191016101b0565b6001600160a01b031690565b6001600160a01b038116829003610293575060405163670a835f60e11b8152600481019290925260209082908180602481015b03915afa90811561028e57600091610265575090565b6101c5915060203d602011610287575b61027f8183610101565b810190610165565b503d610275565b610174565b63c862438360e01b6000526001600160a01b039182166004521660245260446000fd5b6294555560e51b60005260046000fd5b505060405163670a835f60e11b81526004810192909252602090829081806024810161024f56fe", "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE PUSH2 0xBB JUMPI PUSH2 0x2EE DUP1 CODESIZE SUB DUP1 SWAP2 PUSH2 0x1A DUP3 PUSH2 0xD6 JUMP JUMPDEST PUSH1 0x80 CODECOPY PUSH1 0x80 DUP2 DUP2 ADD SWAP2 SLT PUSH2 0xBB JUMPI PUSH1 0x80 MLOAD PUSH2 0x34 DUP2 PUSH2 0x124 JUMP JUMPDEST PUSH1 0xA0 MLOAD PUSH1 0xC0 MLOAD SWAP2 PUSH2 0x44 DUP4 PUSH2 0x124 JUMP JUMPDEST PUSH1 0xE0 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0xBB JUMPI DUP5 PUSH1 0x9F DUP3 ADD SLT ISZERO PUSH2 0xBB JUMPI DUP1 PUSH1 0x80 ADD MLOAD SWAP1 PUSH2 0x6F DUP3 PUSH2 0x135 JUMP JUMPDEST SWAP6 PUSH2 0x7D PUSH1 0x40 MLOAD SWAP8 DUP9 PUSH2 0x101 JUMP JUMPDEST DUP3 DUP8 MSTORE PUSH1 0xA0 DUP4 DUP4 ADD ADD GT PUSH2 0xBB JUMPI PUSH1 0x0 JUMPDEST DUP3 DUP2 LT PUSH2 0xA5 JUMPI POP POP PUSH1 0x20 PUSH1 0x0 SWAP2 DUP7 ADD ADD MSTORE PUSH2 0x150 JUMP JUMPDEST DUP1 PUSH1 0xA0 PUSH1 0x20 SWAP3 DUP5 ADD ADD MLOAD DUP3 DUP3 DUP11 ADD ADD MSTORE ADD PUSH2 0x8E JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x80 PUSH1 0x1F SWAP2 SWAP1 SWAP2 ADD PUSH1 0x1F NOT AND DUP2 ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT SWAP1 DUP3 LT OR PUSH2 0xFC JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH2 0xC0 JUMP JUMPDEST PUSH1 0x1F SWAP1 SWAP2 ADD PUSH1 0x1F NOT AND DUP2 ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT SWAP1 DUP3 LT OR PUSH2 0xFC JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND SUB PUSH2 0xBB JUMPI JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0xFC JUMPI PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH2 0x15C SWAP4 SWAP3 SWAP2 PUSH2 0x1C8 JUMP JUMPDEST PUSH1 0x80 MSTORE PUSH1 0x20 PUSH1 0x80 RETURN JUMPDEST SWAP1 DUP2 PUSH1 0x20 SWAP2 SUB SLT PUSH2 0xBB JUMPI MLOAD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST RETURNDATASIZE ISZERO PUSH2 0x1AB JUMPI RETURNDATASIZE SWAP1 PUSH2 0x191 DUP3 PUSH2 0x135 JUMP JUMPDEST SWAP2 PUSH2 0x19F PUSH1 0x40 MLOAD SWAP4 DUP5 PUSH2 0x101 JUMP JUMPDEST DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY JUMP JUMPDEST PUSH1 0x60 SWAP1 JUMP JUMPDEST SWAP1 DUP2 PUSH1 0x20 SWAP2 SUB SLT PUSH2 0xBB JUMPI MLOAD PUSH2 0x1C5 DUP2 PUSH2 0x124 JUMP JUMPDEST SWAP1 JUMP JUMPDEST SWAP1 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP2 DUP3 EXTCODESIZE PUSH2 0x2C6 JUMPI DUP2 PUSH1 0x0 SWAP3 SWAP2 DUP4 PUSH1 0x20 DUP2 SWAP5 MLOAD SWAP4 ADD SWAP2 GAS CALL PUSH2 0x1F4 PUSH2 0x180 JUMP JUMPDEST SWAP1 ISZERO PUSH2 0x2B6 JUMPI PUSH2 0x210 DUP2 PUSH1 0x20 DUP1 PUSH2 0x21C SWAP5 MLOAD DUP4 ADD ADD SWAP2 ADD PUSH2 0x1B0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP3 SWAP1 SUB PUSH2 0x293 JUMPI POP PUSH1 0x40 MLOAD PUSH4 0x670A835F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x20 SWAP1 DUP3 SWAP1 DUP2 DUP1 PUSH1 0x24 DUP2 ADD JUMPDEST SUB SWAP2 GAS STATICCALL SWAP1 DUP2 ISZERO PUSH2 0x28E JUMPI PUSH1 0x0 SWAP2 PUSH2 0x265 JUMPI POP SWAP1 JUMP JUMPDEST PUSH2 0x1C5 SWAP2 POP PUSH1 0x20 RETURNDATASIZE PUSH1 0x20 GT PUSH2 0x287 JUMPI JUMPDEST PUSH2 0x27F DUP2 DUP4 PUSH2 0x101 JUMP JUMPDEST DUP2 ADD SWAP1 PUSH2 0x165 JUMP JUMPDEST POP RETURNDATASIZE PUSH2 0x275 JUMP JUMPDEST PUSH2 0x174 JUMP JUMPDEST PUSH4 0xC8624383 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x4 MSTORE AND PUSH1 0x24 MSTORE PUSH1 0x44 PUSH1 0x0 REVERT JUMPDEST PUSH3 0x945555 PUSH1 0xE5 SHL PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD PUSH4 0x670A835F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x20 SWAP1 DUP3 SWAP1 DUP2 DUP1 PUSH1 0x24 DUP2 ADD PUSH2 0x24F JUMP INVALID ", - "sourceMap": "832:3656:20:-:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;832:3656:20;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;832:3656:20;;;;;;;;;-1:-1:-1;832:3656:20;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;832:3656:20;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;832:3656:20;;;;-1:-1:-1;;;;;832:3656:20;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;-1:-1:-1;;832:3656:20;;;;-1:-1:-1;;;;;832:3656:20;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;832:3656:20;;;;;:::o;:::-;-1:-1:-1;;;;;832:3656:20;;;;;;-1:-1:-1;;832:3656:20;;;;:::o;2056:738::-;;2535:74;2056:738;;;2535:74;:::i;:::-;2619:169;;;;;832:3656;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;832:3656:20;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;;;:::i;:::-;;:::o;3574:912::-;;;-1:-1:-1;;;;;832:3656:20;;;;3862:28;;3858:98;;4035:36;832:3656;4035:36;;;;;;;;;;;;;;:::i;:::-;4085:8;;4081:71;;4186:29;832:3656;4035:36;832:3656;4162:53;832:3656;;4186:29;;;;;;:::i;:::-;-1:-1:-1;;;;;832:3656:20;;;4162:53;-1:-1:-1;;;;;832:3656:20;;4229:33;;;4225:138;;-1:-1:-1;832:3656:20;;-1:-1:-1;;;4451:28:20;;;;;832:3656;;;;4035:36;;832:3656;;;;;;;4451:28;;;;;;;;;;832:3656;4451:28;;;4444:35;3574:912;:::o;4451:28::-;;;;4035:36;4451:28;4035:36;4451:28;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;:::i;4225:138::-;-1:-1:-1;;;832:3656:20;4285:67;-1:-1:-1;;;;;832:3656:20;;;4285:67;832:3656;;;;;;4285:67;4081:71;4116:25;;;832:3656;4116:25;;832:3656;4116:25;3858:98;-1:-1:-1;;832:3656:20;;-1:-1:-1;;;3917:28:20;;;;;832:3656;;;;3917:28;;832:3656;;;;;;;3917:28;832:3656" + "sourceMap": "832:3656:35:-:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;832:3656:35;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;832:3656:35;;;;;;;;;-1:-1:-1;832:3656:35;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;832:3656:35;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;832:3656:35;;;;-1:-1:-1;;;;;832:3656:35;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;-1:-1:-1;;832:3656:35;;;;-1:-1:-1;;;;;832:3656:35;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;832:3656:35;;;;;:::o;:::-;-1:-1:-1;;;;;832:3656:35;;;;;;-1:-1:-1;;832:3656:35;;;;:::o;2056:738::-;;2535:74;2056:738;;;2535:74;:::i;:::-;2619:169;;;;;832:3656;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;832:3656:35;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;;;:::i;:::-;;:::o;3574:912::-;;;-1:-1:-1;;;;;832:3656:35;;;;3862:28;;3858:98;;4035:36;832:3656;4035:36;;;;;;;;;;;;;;:::i;:::-;4085:8;;4081:71;;4186:29;832:3656;4035:36;832:3656;4162:53;832:3656;;4186:29;;;;;;:::i;:::-;-1:-1:-1;;;;;832:3656:35;;;4162:53;-1:-1:-1;;;;;832:3656:35;;4229:33;;;4225:138;;-1:-1:-1;832:3656:35;;-1:-1:-1;;;4451:28:35;;;;;832:3656;;;;4035:36;;832:3656;;;;;;;4451:28;;;;;;;;;;832:3656;4451:28;;;4444:35;3574:912;:::o;4451:28::-;;;;4035:36;4451:28;4035:36;4451:28;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;:::i;4225:138::-;-1:-1:-1;;;832:3656:35;4285:67;-1:-1:-1;;;;;832:3656:35;;;4285:67;832:3656;;;;;;4285:67;4081:71;4116:25;;;832:3656;4116:25;;832:3656;4116:25;3858:98;-1:-1:-1;;832:3656:35;;-1:-1:-1;;;3917:28:35;;;;;832:3656;;;;3917:28;;832:3656;;;;;;;3917:28;832:3656" }, "deployedBytecode": { "functionDebugData": {}, "generatedSources": [], "immutableReferences": {}, "linkReferences": {}, - "object": "600080fdfea2646970667358221220f02765634fedc1e28c2c5310d10249fddf0005a4db063614fc6eed67dc25e93d64736f6c634300081c0033", - "opcodes": "PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CREATE 0x27 PUSH6 0x634FEDC1E28C 0x2C MSTORE8 LT 0xD1 MUL BLOBHASH REVERT 0xDF STOP SDIV LOG4 0xDB MOD CALLDATASIZE EQ 0xFC PUSH15 0xED67DC25E93D64736F6C634300081C STOP CALLER ", - "sourceMap": "832:3656:20:-:0;;" + "object": "600080fdfea26469706673582212204d372b73bcd2c49573489fcf44930de50ea4cc66a1737bdb9f71c307181b3ac564736f6c634300081c0033", + "opcodes": "PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x4D CALLDATACOPY 0x2B PUSH20 0xBCD2C49573489FCF44930DE50EA4CC66A1737BDB SWAP16 PUSH18 0xC307181B3AC564736F6C634300081C003300 ", + "sourceMap": "832:3656:35:-:0;;" }, "methodIdentifiers": {} }, - "metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract GianoSmartWallet\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"accountFactory\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"factoryCalldata\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccountDeploymentFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"returned\",\"type\":\"address\"}],\"name\":\"ReturnedAddressDoesNotMatchAccount\",\"type\":\"error\"}],\"devdoc\":{\"author\":\"Applied Blockchain (https://github.com/appliedblockchain/giano)Coinbase (https://github.com/coinbase/smart-wallet)\",\"details\":\"This contract is not meant to ever actually be deployed, only mock deployed and used via a static eth_call.\",\"errors\":{\"ReturnedAddressDoesNotMatchAccount(address,address)\":[{\"params\":{\"account\":\"The passed account\",\"returned\":\"The returned account\"}}]},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"`accountFactory` can be any address if the account is already deployed.`factoryCalldata` can be 0x if the account is already deployed.If calling with solidity, the `replaySafeHash` will be `.code`.\",\"params\":{\"account\":\"The account that will receive the ERC-1271 `isValidSignature` call.\",\"accountFactory\":\"The factory that will be used to deploy the account (if not already deployed).\",\"factoryCalldata\":\"The calldata that will be used to deploy the account (if not already deployed).\",\"hash\":\"The hash the wallet was asked to sign.\"}}},\"title\":\"ERC1271 Input Generator\",\"version\":1},\"userdoc\":{\"errors\":{\"AccountDeploymentFailed()\":[{\"notice\":\"Thrown when call to `accountFactory` with `factoryCalldata` fails.\"}],\"ReturnedAddressDoesNotMatchAccount(address,address)\":[{\"notice\":\"Thrown when the address returned from call to `accountFactory` does not match passed account\"}]},\"kind\":\"user\",\"methods\":{\"constructor\":{\"notice\":\"Computes and returns the expected ERC-1271 replay-safe hash for a GianoSmartWallet.\"}},\"notice\":\"Helper contract for generating an ERC-1271 input hash to sign for deployed and undeployed GianoSmartWallet. May be useful for generating ERC-6492 compliant signatures. Inspired by Ambire's DeploylessUniversalSigValidator https://github.com/AmbireTech/signature-validator/blob/d5f84f5fc00bfdf79b80205b983a8258b6d1b3ea/contracts/DeploylessUniversalSigValidator.sol.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/utils/ERC1271InputGenerator.sol\":\"ERC1271InputGenerator\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@account-abstraction/contracts/core/Helpers.sol\":{\"keccak256\":\"0x42b948af5fa14a96149611595df1186800c7558b2de8762e4b45a7c45c16f65e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://737a7908131ece48a5df1faaa3d0be79c42792379c27f5615dae6aa14cd68c2f\",\"dweb:/ipfs/QmPAxGMDxuek7XWSUVfZpvYE8bustfsjTDVDK8hmE88e1f\"]},\"@account-abstraction/contracts/core/UserOperationLib.sol\":{\"keccak256\":\"0x2d3450fa3906422b6fdbbe7f2a2a9e36d6f3751bfa9cd80af88befd6a5be78c1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://292a0ef5295d7f2016e99d2c228958f7f6de94f5bd9652d8696af15af0094a99\",\"dweb:/ipfs/QmVg4fhkZbUB7AopGcaVPmTdvChq7W9ga8fjrc3XaJNTM2\"]},\"@account-abstraction/contracts/interfaces/IAccount.sol\":{\"keccak256\":\"0x1030b464b49ce80da46b5b6c9af357c2d526f308de61391db6a4ec767d33b864\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://671945f8e18e7305797312b5a209506be3c9bd1d9b9b561c1e8863bccfa61319\",\"dweb:/ipfs/QmVanLK5Aenrb7J94doiE1C9oHwo86jvv8NrpDeNHwvnii\"]},\"@account-abstraction/contracts/interfaces/PackedUserOperation.sol\":{\"keccak256\":\"0xb15188e25e45fe73097e279675b6c0beccbd4133ead2260f8f0c4ba840046800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d14c1edd1e95d37c26e54bb34305e2cc9dedc46eb75ec91caeb777678e8ea79\",\"dweb:/ipfs/QmcCL2syVtV7W3XvYx3si84MPkbEJKqEN8hjFNhAPoDDhK\"]},\"FreshCryptoLib/FCL_ecdsa.sol\":{\"keccak256\":\"0x679d2e9a655cd7e156a0cfc24de0aca88d4e0b34a8e0dfe6a599f23af092f5a2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db31eb84c6f854f076d2501e3d8b5a606fb4924168bdfc6fc3de84e67ed8a80d\",\"dweb:/ipfs/QmWGAmc7B4aT6Ki52uF9QmPQKWipaptit7r3JknBHjUGfe\"]},\"FreshCryptoLib/FCL_elliptic.sol\":{\"keccak256\":\"0xac7bb3260a446851f45b8cb71e31d64ca469d7711ed04662092a9554f1283a38\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f9b0dc5a2306ad3f3a0ff4a5b947fe49422181e97c163ea237fc8bfc6736429d\",\"dweb:/ipfs/QmeruF7BvG5BNnqwqwdshoVXuXqXtajbUYB19KwPynHrQE\"]},\"openzeppelin-contracts/contracts/utils/Base64.sol\":{\"keccak256\":\"0xbee2b819e1b4bf569ffc1b1b9d560b4abd6a589575f3093edaab9244de18a0c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e478c0e9bbf3eb8cd3b7784f9b397603e34747f9ffd16571ed1d89ce102de389\",\"dweb:/ipfs/QmZ6zXpwy5xRxx9RkodJmDZSUTeEqPQUanAC5TUoYqW2VR\"]},\"solady/accounts/Receiver.sol\":{\"keccak256\":\"0xc879aa81dd5639f5fd97b31acd91658ffe33ae4b72b70ed7bd701c37addce43b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2e03a8d37d48644857d94f7432c1e2272bfd19649dfe80aba8f979f157f71f00\",\"dweb:/ipfs/QmWWS34bNWhiZgLXS9gtD8N2dxreRsVXxhvQRKqd4wKUuU\"]},\"solady/utils/CallContextChecker.sol\":{\"keccak256\":\"0xc54c743a03f4909826712e9c6b683ca95e8b0c120c55284a9e3572621ebd734b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3d3138009aba3d2fd310636f3cc1d6029e970c57ddb74693bebf2a02d3e6f12d\",\"dweb:/ipfs/QmauMpcVDyQqVnAUF75DXy831LvtxyFS7GND7kge1Zgw55\"]},\"solady/utils/LibBytes.sol\":{\"keccak256\":\"0x320c3c933df51e8fd6f1fc96de721c8cc6f1be1d4c586c11f1c472a23b86eba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cec71f42247eda74535c6e695a2ac194268a342594a26c090bafd04434698b20\",\"dweb:/ipfs/QmXA8Qaw6DdWujdrNHMHpDLNGG4QCgC859ozivrxkxp7Ea\"]},\"solady/utils/LibString.sol\":{\"keccak256\":\"0x8a6b219f6ccda90c08e2debae62618d78d6f0cef086eb6c9503793d7f12815dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d1301acbf7371cb51ab01fe3bee8a9b732ee0bcf6cc0db20ed5a3fb9241d675e\",\"dweb:/ipfs/QmXuM4tSfPDeFRvP3nEQmuezp1yEm4HxyWtU41FjiCdxAG\"]},\"solady/utils/SignatureCheckerLib.sol\":{\"keccak256\":\"0x098c7eb88b3048f227b240e0e5bf1da4a8f7622b30f6d7c06416bfcab3225e77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c2766f652916c5d6433665fb1c3b2f04c3d9292a35c12e0f8d7c71dd6438cb\",\"dweb:/ipfs/QmWTMwN2RDZUUPg7KkH1qFBjTSh84Zw8bbYwRBCQUtLN2h\"]},\"solady/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x63899eaf1a24713464b8084ada33a83c4b7db789fe83ae22f016e39646bee361\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://617fa735ffa8ba31051745614a508abd69d2cfc1b1bc1eb3c772865db5f7ce65\",\"dweb:/ipfs/QmR1pQbHPyXcLbFm2vHrXBs1qRFrGC22gF7wWYamYy8aaE\"]},\"src/AuthenticatedStaticCaller.sol\":{\"keccak256\":\"0x17f20b3b0656a90ce191a20803ea099c08e77ad51a9b2983124a809cd8387c36\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afa1d387dd11f9b3cbe06e47293fe5a5f8072af89a007b0e2bebd248637fc9f5\",\"dweb:/ipfs/QmRFSkpcryVHnHKFQoWjHnJksMBQrTeiex1SLufctBha4u\"]},\"src/ERC1271.sol\":{\"keccak256\":\"0x75c3fe08b6e1789dab7714196704f425d1afea21d725fcb6c418a70ef5bf6fad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dd292bcf9b1891abb517323636493499dbdd00bebc1f759c07fb26e103a1b71d\",\"dweb:/ipfs/QmWMT3C54pakfUCTkcPzFQAvE8nRnPqDDpFaDhY5A9fpEp\"]},\"src/GianoSmartWallet.sol\":{\"keccak256\":\"0x8b2f9e6a083aeb3bb05134b51187905197f44824f17b1e1679e42256c257bb2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88028395730ab7595b3c357bdb85f4efc6541ffcac62e239bd575ba8c95d9fa7\",\"dweb:/ipfs/QmXKaRrTW2JT6mXJ9ytY9s9yPsVg9rqLy343bW3rSmrJgS\"]},\"src/MultiOwnable.sol\":{\"keccak256\":\"0x46a9fa25c7de87b56df47b67d61b6efd96ed3f382c5d440d04de55fa23bccadd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75ac03bdfdddec29b0b1f4f9c33add4b5b9d5400b1a54691a544a59ac710de5c\",\"dweb:/ipfs/QmXajkF7z8rqmDE89H4uVaKCDyQsdwphif8BHZLLu9MQ5k\"]},\"src/utils/ERC1271InputGenerator.sol\":{\"keccak256\":\"0xeedc1d0ae56555659e3c4242955fdb0ee3b4ab24495bcd58ed5fdf2711fcf62e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://83fad6dad1f69c6dcddacfd647bd6c329995a36614ab076d4a7d45b7a863e1ef\",\"dweb:/ipfs/QmanbjcevRe7YYv4hdofu59vuudwVLJaCXofjHY7wXiDPT\"]},\"webauthn-sol/WebAuthn.sol\":{\"keccak256\":\"0x5f38c750d900e5b5f22264ce71ead4a52528d24c52ff82928949833a5b2cea9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c373620c40cb0ddf0e347d3d6426dd9e34b8eb62ee83844372b48689f62dee5c\",\"dweb:/ipfs/QmdxkcQtgQZfKg8LZ3H5XuWhd1e1c4raa44oMnSGHgayt5\"]}},\"version\":1}" + "metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract GianoSmartWallet\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"accountFactory\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"factoryCalldata\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccountDeploymentFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"returned\",\"type\":\"address\"}],\"name\":\"ReturnedAddressDoesNotMatchAccount\",\"type\":\"error\"}],\"devdoc\":{\"author\":\"Applied Blockchain (https://github.com/appliedblockchain/giano)Coinbase (https://github.com/coinbase/smart-wallet)\",\"details\":\"This contract is not meant to ever actually be deployed, only mock deployed and used via a static eth_call.\",\"errors\":{\"ReturnedAddressDoesNotMatchAccount(address,address)\":[{\"params\":{\"account\":\"The passed account\",\"returned\":\"The returned account\"}}]},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"`accountFactory` can be any address if the account is already deployed.`factoryCalldata` can be 0x if the account is already deployed.If calling with solidity, the `replaySafeHash` will be `.code`.\",\"params\":{\"account\":\"The account that will receive the ERC-1271 `isValidSignature` call.\",\"accountFactory\":\"The factory that will be used to deploy the account (if not already deployed).\",\"factoryCalldata\":\"The calldata that will be used to deploy the account (if not already deployed).\",\"hash\":\"The hash the wallet was asked to sign.\"}}},\"title\":\"ERC1271 Input Generator\",\"version\":1},\"userdoc\":{\"errors\":{\"AccountDeploymentFailed()\":[{\"notice\":\"Thrown when call to `accountFactory` with `factoryCalldata` fails.\"}],\"ReturnedAddressDoesNotMatchAccount(address,address)\":[{\"notice\":\"Thrown when the address returned from call to `accountFactory` does not match passed account\"}]},\"kind\":\"user\",\"methods\":{\"constructor\":{\"notice\":\"Computes and returns the expected ERC-1271 replay-safe hash for a GianoSmartWallet.\"}},\"notice\":\"Helper contract for generating an ERC-1271 input hash to sign for deployed and undeployed GianoSmartWallet. May be useful for generating ERC-6492 compliant signatures. Inspired by Ambire's DeploylessUniversalSigValidator https://github.com/AmbireTech/signature-validator/blob/d5f84f5fc00bfdf79b80205b983a8258b6d1b3ea/contracts/DeploylessUniversalSigValidator.sol.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/utils/ERC1271InputGenerator.sol\":\"ERC1271InputGenerator\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@account-abstraction/contracts/core/Helpers.sol\":{\"keccak256\":\"0x6247e011a6cb0b263b3aa098822977181674d91b62e5bdfe04c6e66f72da25d6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ca829a69b3fbc74fec8e140d42a2bf93bc3512609272f031c846470f61f0ab7e\",\"dweb:/ipfs/QmP3r3MBgAN39KeVB1rCGJWwcBcotNt26ALtAR54poQ1Jc\"]},\"@account-abstraction/contracts/core/UserOperationLib.sol\":{\"keccak256\":\"0x9d50ece985d35f82e33e5da417595c86fac10449e3d10895d08363d33aad454b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b1d11cc364c8bf7ed5388268c895b5ffed16e87dfbcb320ddeeba5e7974315dc\",\"dweb:/ipfs/QmYSpvjxEjweietQrYZagwQ52ipy7eXx4rwvnTzXKeGeMS\"]},\"@account-abstraction/contracts/interfaces/IAccount.sol\":{\"keccak256\":\"0x38710bec0cb20ff4ceef46a80475b5bdabc27b7efd2687fd473db68332f61b78\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://dea7a723e1ef852e8764e69914a345d2e8bc5e13facfc9d5c29d791cb4ab0020\",\"dweb:/ipfs/QmU8dYgyF4DBJXFqjwLAtnE3q8q259ChfoEk9a6wyhHzEP\"]},\"@account-abstraction/contracts/interfaces/PackedUserOperation.sol\":{\"keccak256\":\"0x1129b46381db68eddbc5cb49e50664667b66b03c480453858e7b25eabe444359\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://499a948aba60480dba6e25c763b8d918f1c246eb7a3302e04f493e080f3295be\",\"dweb:/ipfs/QmeRhhswf4NACcBKam2PyjpTP2ddSm648kah5kkQJsvwz3\"]},\"FreshCryptoLib/FCL_ecdsa.sol\":{\"keccak256\":\"0x679d2e9a655cd7e156a0cfc24de0aca88d4e0b34a8e0dfe6a599f23af092f5a2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db31eb84c6f854f076d2501e3d8b5a606fb4924168bdfc6fc3de84e67ed8a80d\",\"dweb:/ipfs/QmWGAmc7B4aT6Ki52uF9QmPQKWipaptit7r3JknBHjUGfe\"]},\"FreshCryptoLib/FCL_elliptic.sol\":{\"keccak256\":\"0xac7bb3260a446851f45b8cb71e31d64ca469d7711ed04662092a9554f1283a38\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f9b0dc5a2306ad3f3a0ff4a5b947fe49422181e97c163ea237fc8bfc6736429d\",\"dweb:/ipfs/QmeruF7BvG5BNnqwqwdshoVXuXqXtajbUYB19KwPynHrQE\"]},\"openzeppelin-contracts/contracts/utils/Base64.sol\":{\"keccak256\":\"0xbee2b819e1b4bf569ffc1b1b9d560b4abd6a589575f3093edaab9244de18a0c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e478c0e9bbf3eb8cd3b7784f9b397603e34747f9ffd16571ed1d89ce102de389\",\"dweb:/ipfs/QmZ6zXpwy5xRxx9RkodJmDZSUTeEqPQUanAC5TUoYqW2VR\"]},\"solady/accounts/Receiver.sol\":{\"keccak256\":\"0xc879aa81dd5639f5fd97b31acd91658ffe33ae4b72b70ed7bd701c37addce43b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2e03a8d37d48644857d94f7432c1e2272bfd19649dfe80aba8f979f157f71f00\",\"dweb:/ipfs/QmWWS34bNWhiZgLXS9gtD8N2dxreRsVXxhvQRKqd4wKUuU\"]},\"solady/utils/CallContextChecker.sol\":{\"keccak256\":\"0xc54c743a03f4909826712e9c6b683ca95e8b0c120c55284a9e3572621ebd734b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3d3138009aba3d2fd310636f3cc1d6029e970c57ddb74693bebf2a02d3e6f12d\",\"dweb:/ipfs/QmauMpcVDyQqVnAUF75DXy831LvtxyFS7GND7kge1Zgw55\"]},\"solady/utils/LibBytes.sol\":{\"keccak256\":\"0x320c3c933df51e8fd6f1fc96de721c8cc6f1be1d4c586c11f1c472a23b86eba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cec71f42247eda74535c6e695a2ac194268a342594a26c090bafd04434698b20\",\"dweb:/ipfs/QmXA8Qaw6DdWujdrNHMHpDLNGG4QCgC859ozivrxkxp7Ea\"]},\"solady/utils/LibString.sol\":{\"keccak256\":\"0x8a6b219f6ccda90c08e2debae62618d78d6f0cef086eb6c9503793d7f12815dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d1301acbf7371cb51ab01fe3bee8a9b732ee0bcf6cc0db20ed5a3fb9241d675e\",\"dweb:/ipfs/QmXuM4tSfPDeFRvP3nEQmuezp1yEm4HxyWtU41FjiCdxAG\"]},\"solady/utils/SignatureCheckerLib.sol\":{\"keccak256\":\"0x098c7eb88b3048f227b240e0e5bf1da4a8f7622b30f6d7c06416bfcab3225e77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c2766f652916c5d6433665fb1c3b2f04c3d9292a35c12e0f8d7c71dd6438cb\",\"dweb:/ipfs/QmWTMwN2RDZUUPg7KkH1qFBjTSh84Zw8bbYwRBCQUtLN2h\"]},\"solady/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x63899eaf1a24713464b8084ada33a83c4b7db789fe83ae22f016e39646bee361\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://617fa735ffa8ba31051745614a508abd69d2cfc1b1bc1eb3c772865db5f7ce65\",\"dweb:/ipfs/QmR1pQbHPyXcLbFm2vHrXBs1qRFrGC22gF7wWYamYy8aaE\"]},\"src/AuthenticatedStaticCaller.sol\":{\"keccak256\":\"0x06bb6bea86630eda0e5920c4fe4a5d51e89d18072faf7c4b5d7ae8ca82b87b94\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2920f02558ea8bbe8ca21cbe1bcbbea7d3c4d7f0d3e812cde706f95c53b399aa\",\"dweb:/ipfs/QmaNpbMazUf1n6hpXSMq7RDJix7ipPiALKE93fMmBtbS4A\"]},\"src/ERC1271.sol\":{\"keccak256\":\"0x75c3fe08b6e1789dab7714196704f425d1afea21d725fcb6c418a70ef5bf6fad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dd292bcf9b1891abb517323636493499dbdd00bebc1f759c07fb26e103a1b71d\",\"dweb:/ipfs/QmWMT3C54pakfUCTkcPzFQAvE8nRnPqDDpFaDhY5A9fpEp\"]},\"src/GianoSmartWallet.sol\":{\"keccak256\":\"0xf05cb23f0bb419a8c28816e04968fdff321c043773bb079fc6c7a9d04e84d5ce\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded464f8e431d9dc99944dcf6b915dea80540747c2a0e8bc67a386036c840de8\",\"dweb:/ipfs/QmZ7uhKaEsNtfJnqyE4Zz3VR3oiM9aykYnEV9xBH3oEpze\"]},\"src/MultiOwnable.sol\":{\"keccak256\":\"0x46a9fa25c7de87b56df47b67d61b6efd96ed3f382c5d440d04de55fa23bccadd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75ac03bdfdddec29b0b1f4f9c33add4b5b9d5400b1a54691a544a59ac710de5c\",\"dweb:/ipfs/QmXajkF7z8rqmDE89H4uVaKCDyQsdwphif8BHZLLu9MQ5k\"]},\"src/utils/ERC1271InputGenerator.sol\":{\"keccak256\":\"0xeedc1d0ae56555659e3c4242955fdb0ee3b4ab24495bcd58ed5fdf2711fcf62e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://83fad6dad1f69c6dcddacfd647bd6c329995a36614ab076d4a7d45b7a863e1ef\",\"dweb:/ipfs/QmanbjcevRe7YYv4hdofu59vuudwVLJaCXofjHY7wXiDPT\"]},\"webauthn-sol/WebAuthn.sol\":{\"keccak256\":\"0x8b940975249f72155110e5e5b4611fc9031330538183862b9d8f12ea7c30ad25\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://433957720c13a834b9aab98a5054e9dabe5c660a1a3fb267e6ad1a22b99b68ed\",\"dweb:/ipfs/QmTkQxCCf8kDAHa6rBwLT2mxFXN3tSAWyx4rLmgcLkFkRh\"]}},\"version\":1}" } }, "webauthn-sol/WebAuthn.sol": { @@ -238998,22 +265644,22 @@ "functionDebugData": {}, "generatedSources": [], "linkReferences": {}, - "object": "60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea264697066735822122070b461e86c866b1d7affe1ca3d40373d8da22f3518d2e3a52e1c0018b7b7c9a864736f6c634300081c0033", - "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE CALLVALUE PUSH1 0x17 JUMPI PUSH1 0x3A SWAP1 DUP2 PUSH1 0x1D DUP3 CODECOPY ADDRESS DUP2 POP POP RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH17 0xB461E86C866B1D7AFFE1CA3D40373D8DA2 0x2F CALLDATALOAD XOR 0xD2 0xE3 0xA5 0x2E SHR STOP XOR 0xB7 0xB7 0xC9 0xA8 PUSH5 0x736F6C6343 STOP ADDMOD SHR STOP CALLER ", - "sourceMap": "761:8846:21:-:0;;;;;;;;;;;;;;;;;;;;;" + "object": "60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea264697066735822122005e34eb23fb9c6a050d1789ffaa8d1e291a45b310524f395a5b9cd0ff332741b64736f6c634300081c0033", + "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE CALLVALUE PUSH1 0x17 JUMPI PUSH1 0x3A SWAP1 DUP2 PUSH1 0x1D DUP3 CODECOPY ADDRESS DUP2 POP POP RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SDIV 0xE3 0x4E 0xB2 EXTCODEHASH 0xB9 0xC6 LOG0 POP 0xD1 PUSH25 0x9FFAA8D1E291A45B310524F395A5B9CD0FF332741B64736F6C PUSH4 0x4300081C STOP CALLER ", + "sourceMap": "761:8886:36:-:0;;;;;;;;;;;;;;;;;;;;;" }, "deployedBytecode": { "functionDebugData": {}, "generatedSources": [], "immutableReferences": {}, "linkReferences": {}, - "object": "600080fdfea264697066735822122070b461e86c866b1d7affe1ca3d40373d8da22f3518d2e3a52e1c0018b7b7c9a864736f6c634300081c0033", - "opcodes": "PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH17 0xB461E86C866B1D7AFFE1CA3D40373D8DA2 0x2F CALLDATALOAD XOR 0xD2 0xE3 0xA5 0x2E SHR STOP XOR 0xB7 0xB7 0xC9 0xA8 PUSH5 0x736F6C6343 STOP ADDMOD SHR STOP CALLER ", - "sourceMap": "761:8846:21:-:0;;" + "object": "600080fdfea264697066735822122005e34eb23fb9c6a050d1789ffaa8d1e291a45b310524f395a5b9cd0ff332741b64736f6c634300081c0033", + "opcodes": "PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SDIV 0xE3 0x4E 0xB2 EXTCODEHASH 0xB9 0xC6 LOG0 POP 0xD1 PUSH25 0x9FFAA8D1E291A45B310524F395A5B9CD0FF332741B64736F6C PUSH4 0x4300081C STOP CALLER ", + "sourceMap": "761:8886:36:-:0;;" }, "methodIdentifiers": {} }, - "metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Coinbase (https://github.com/base-org/webauthn-sol)Daimo (https://github.com/daimo-eth/p256-verifier/blob/master/src/WebAuthn.sol)\",\"details\":\"Attempts to use the RIP-7212 precompile for signature verification. If precompile verification fails, it falls back to FreshCryptoLib.\",\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"_AUTH_DATA_FLAGS_UP\":{\"details\":\"Bit 0 of the authenticator data struct, corresponding to the \\\"User Present\\\" bit. See https://www.w3.org/TR/webauthn-2/#flags.\"},\"_AUTH_DATA_FLAGS_UV\":{\"details\":\"Bit 2 of the authenticator data struct, corresponding to the \\\"User Verified\\\" bit. See https://www.w3.org/TR/webauthn-2/#flags.\"},\"_EXPECTED_TYPE_HASH\":{\"details\":\"The expected type (hash) in the client data JSON when verifying assertion signatures. See https://www.w3.org/TR/webauthn-2/#dom-collectedclientdata-type\"},\"_P256_N_DIV_2\":{\"details\":\"Secp256r1 curve order / 2 used as guard to prevent signature malleability issue.\"},\"_VERIFIER\":{\"details\":\"The precompiled contract address to use for signature verification in the \\u201csecp256r1\\u201d elliptic curve. See https://github.com/ethereum/RIPs/blob/master/RIPS/rip-7212.md.\"}},\"title\":\"WebAuthn\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A library for verifying WebAuthn Authentication Assertions, built off the work of Daimo.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"webauthn-sol/WebAuthn.sol\":\"WebAuthn\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"FreshCryptoLib/FCL_ecdsa.sol\":{\"keccak256\":\"0x679d2e9a655cd7e156a0cfc24de0aca88d4e0b34a8e0dfe6a599f23af092f5a2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db31eb84c6f854f076d2501e3d8b5a606fb4924168bdfc6fc3de84e67ed8a80d\",\"dweb:/ipfs/QmWGAmc7B4aT6Ki52uF9QmPQKWipaptit7r3JknBHjUGfe\"]},\"FreshCryptoLib/FCL_elliptic.sol\":{\"keccak256\":\"0xac7bb3260a446851f45b8cb71e31d64ca469d7711ed04662092a9554f1283a38\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f9b0dc5a2306ad3f3a0ff4a5b947fe49422181e97c163ea237fc8bfc6736429d\",\"dweb:/ipfs/QmeruF7BvG5BNnqwqwdshoVXuXqXtajbUYB19KwPynHrQE\"]},\"openzeppelin-contracts/contracts/utils/Base64.sol\":{\"keccak256\":\"0xbee2b819e1b4bf569ffc1b1b9d560b4abd6a589575f3093edaab9244de18a0c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e478c0e9bbf3eb8cd3b7784f9b397603e34747f9ffd16571ed1d89ce102de389\",\"dweb:/ipfs/QmZ6zXpwy5xRxx9RkodJmDZSUTeEqPQUanAC5TUoYqW2VR\"]},\"solady/utils/LibBytes.sol\":{\"keccak256\":\"0x320c3c933df51e8fd6f1fc96de721c8cc6f1be1d4c586c11f1c472a23b86eba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cec71f42247eda74535c6e695a2ac194268a342594a26c090bafd04434698b20\",\"dweb:/ipfs/QmXA8Qaw6DdWujdrNHMHpDLNGG4QCgC859ozivrxkxp7Ea\"]},\"solady/utils/LibString.sol\":{\"keccak256\":\"0x8a6b219f6ccda90c08e2debae62618d78d6f0cef086eb6c9503793d7f12815dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d1301acbf7371cb51ab01fe3bee8a9b732ee0bcf6cc0db20ed5a3fb9241d675e\",\"dweb:/ipfs/QmXuM4tSfPDeFRvP3nEQmuezp1yEm4HxyWtU41FjiCdxAG\"]},\"webauthn-sol/WebAuthn.sol\":{\"keccak256\":\"0x5f38c750d900e5b5f22264ce71ead4a52528d24c52ff82928949833a5b2cea9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c373620c40cb0ddf0e347d3d6426dd9e34b8eb62ee83844372b48689f62dee5c\",\"dweb:/ipfs/QmdxkcQtgQZfKg8LZ3H5XuWhd1e1c4raa44oMnSGHgayt5\"]}},\"version\":1}" + "metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Coinbase (https://github.com/base-org/webauthn-sol)Daimo (https://github.com/daimo-eth/p256-verifier/blob/master/src/WebAuthn.sol)\",\"details\":\"Attempts to use the RIP-7212 precompile for signature verification. If precompile verification fails, it falls back to FreshCryptoLib.\",\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"_AUTH_DATA_FLAGS_UP\":{\"details\":\"Bit 0 of the authenticator data struct, corresponding to the \\\"User Present\\\" bit. See https://www.w3.org/TR/webauthn-2/#flags.\"},\"_AUTH_DATA_FLAGS_UV\":{\"details\":\"Bit 2 of the authenticator data struct, corresponding to the \\\"User Verified\\\" bit. See https://www.w3.org/TR/webauthn-2/#flags.\"},\"_EXPECTED_TYPE_HASH\":{\"details\":\"The expected type (hash) in the client data JSON when verifying assertion signatures. See https://www.w3.org/TR/webauthn-2/#dom-collectedclientdata-type\"},\"_P256_N_DIV_2\":{\"details\":\"Secp256r1 curve order / 2 used as guard to prevent signature malleability issue.\"},\"_VERIFIER\":{\"details\":\"The precompiled contract address to use for signature verification in the \\u201csecp256r1\\u201d elliptic curve. See https://github.com/ethereum/RIPs/blob/master/RIPS/rip-7212.md.\"}},\"title\":\"WebAuthn\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A library for verifying WebAuthn Authentication Assertions, built off the work of Daimo.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"webauthn-sol/WebAuthn.sol\":\"WebAuthn\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"FreshCryptoLib/FCL_ecdsa.sol\":{\"keccak256\":\"0x679d2e9a655cd7e156a0cfc24de0aca88d4e0b34a8e0dfe6a599f23af092f5a2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db31eb84c6f854f076d2501e3d8b5a606fb4924168bdfc6fc3de84e67ed8a80d\",\"dweb:/ipfs/QmWGAmc7B4aT6Ki52uF9QmPQKWipaptit7r3JknBHjUGfe\"]},\"FreshCryptoLib/FCL_elliptic.sol\":{\"keccak256\":\"0xac7bb3260a446851f45b8cb71e31d64ca469d7711ed04662092a9554f1283a38\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f9b0dc5a2306ad3f3a0ff4a5b947fe49422181e97c163ea237fc8bfc6736429d\",\"dweb:/ipfs/QmeruF7BvG5BNnqwqwdshoVXuXqXtajbUYB19KwPynHrQE\"]},\"openzeppelin-contracts/contracts/utils/Base64.sol\":{\"keccak256\":\"0xbee2b819e1b4bf569ffc1b1b9d560b4abd6a589575f3093edaab9244de18a0c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e478c0e9bbf3eb8cd3b7784f9b397603e34747f9ffd16571ed1d89ce102de389\",\"dweb:/ipfs/QmZ6zXpwy5xRxx9RkodJmDZSUTeEqPQUanAC5TUoYqW2VR\"]},\"solady/utils/LibBytes.sol\":{\"keccak256\":\"0x320c3c933df51e8fd6f1fc96de721c8cc6f1be1d4c586c11f1c472a23b86eba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cec71f42247eda74535c6e695a2ac194268a342594a26c090bafd04434698b20\",\"dweb:/ipfs/QmXA8Qaw6DdWujdrNHMHpDLNGG4QCgC859ozivrxkxp7Ea\"]},\"solady/utils/LibString.sol\":{\"keccak256\":\"0x8a6b219f6ccda90c08e2debae62618d78d6f0cef086eb6c9503793d7f12815dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d1301acbf7371cb51ab01fe3bee8a9b732ee0bcf6cc0db20ed5a3fb9241d675e\",\"dweb:/ipfs/QmXuM4tSfPDeFRvP3nEQmuezp1yEm4HxyWtU41FjiCdxAG\"]},\"webauthn-sol/WebAuthn.sol\":{\"keccak256\":\"0x8b940975249f72155110e5e5b4611fc9031330538183862b9d8f12ea7c30ad25\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://433957720c13a834b9aab98a5054e9dabe5c660a1a3fb267e6ad1a22b99b68ed\",\"dweb:/ipfs/QmTkQxCCf8kDAHa6rBwLT2mxFXN3tSAWyx4rLmgcLkFkRh\"]}},\"version\":1}" } } } diff --git a/packages/contracts/ignition/deployments/chain-381185/build-info/1fab896a088877b259151afd76aa932b.json b/packages/contracts/ignition/deployments/chain-381185/build-info/7a666ce27bb9e35ebaa3dab6aa458c3e.json similarity index 92% rename from packages/contracts/ignition/deployments/chain-381185/build-info/1fab896a088877b259151afd76aa932b.json rename to packages/contracts/ignition/deployments/chain-381185/build-info/7a666ce27bb9e35ebaa3dab6aa458c3e.json index a6d4203..6c6fcc6 100644 --- a/packages/contracts/ignition/deployments/chain-381185/build-info/1fab896a088877b259151afd76aa932b.json +++ b/packages/contracts/ignition/deployments/chain-381185/build-info/7a666ce27bb9e35ebaa3dab6aa458c3e.json @@ -1,5 +1,5 @@ { - "id": "1fab896a088877b259151afd76aa932b", + "id": "7a666ce27bb9e35ebaa3dab6aa458c3e", "_format": "hh-sol-build-info-1", "solcVersion": "0.8.28", "solcLongVersion": "0.8.28+commit.7893614a", @@ -7,16 +7,16 @@ "language": "Solidity", "sources": { "@account-abstraction/contracts/core/Helpers.sol": { - "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.28;\n\n/* solhint-disable no-inline-assembly */\n\n\n /*\n * For simulation purposes, validateUserOp (and validatePaymasterUserOp)\n * must return this value in case of signature failure, instead of revert.\n */\nuint256 constant SIG_VALIDATION_FAILED = 1;\n\n\n/*\n * For simulation purposes, validateUserOp (and validatePaymasterUserOp)\n * return this value on success.\n */\nuint256 constant SIG_VALIDATION_SUCCESS = 0;\n\n\n/**\n * Returned data from validateUserOp.\n * validateUserOp returns a uint256, which is created by `_packedValidationData` and\n * parsed by `_parseValidationData`.\n * @param aggregator - address(0) - The account validated the signature by itself.\n * address(1) - The account failed to validate the signature.\n * otherwise - This is an address of a signature aggregator that must\n * be used to validate the signature.\n * @param validAfter - This UserOp is valid only after this timestamp.\n * @param validUntil - Last timestamp this operation is valid at, or 0 for \"indefinitely\".\n */\nstruct ValidationData {\n address aggregator;\n uint48 validAfter;\n uint48 validUntil;\n}\n\n/**\n * Extract aggregator/sigFailed, validAfter, validUntil.\n * Also convert zero validUntil to type(uint48).max.\n * @param validationData - The packed validation data.\n * @return data - The unpacked in-memory validation data.\n */\nfunction _parseValidationData(\n uint256 validationData\n) pure returns (ValidationData memory data) {\n address aggregator = address(uint160(validationData));\n uint48 validUntil = uint48(validationData >> 160);\n if (validUntil == 0) {\n validUntil = type(uint48).max;\n }\n uint48 validAfter = uint48(validationData >> (48 + 160));\n return ValidationData(aggregator, validAfter, validUntil);\n}\n\n/**\n * Helper to pack the return value for validateUserOp.\n * @param data - The ValidationData to pack.\n * @return the packed validation data.\n */\nfunction _packValidationData(\n ValidationData memory data\n) pure returns (uint256) {\n return\n uint160(data.aggregator) |\n (uint256(data.validUntil) << 160) |\n (uint256(data.validAfter) << (160 + 48));\n}\n\n/**\n * Helper to pack the return value for validateUserOp, when not using an aggregator.\n * @param sigFailed - True for signature failure, false for success.\n * @param validUntil - Last timestamp this operation is valid at, or 0 for \"indefinitely\".\n * @param validAfter - First timestamp this UserOperation is valid.\n * @return the packed validation data.\n */\nfunction _packValidationData(\n bool sigFailed,\n uint48 validUntil,\n uint48 validAfter\n) pure returns (uint256) {\n return\n (sigFailed ? SIG_VALIDATION_FAILED : SIG_VALIDATION_SUCCESS) |\n (uint256(validUntil) << 160) |\n (uint256(validAfter) << (160 + 48));\n}\n\n/**\n * keccak function over calldata.\n * @dev copy calldata into memory, do keccak and drop allocated memory. Strangely, this is more efficient than letting solidity do it.\n *\n * @param data - the calldata bytes array to perform keccak on.\n * @return ret - the keccak hash of the 'data' array.\n */\n function calldataKeccak(bytes calldata data) pure returns (bytes32 ret) {\n assembly (\"memory-safe\") {\n let mem := mload(0x40)\n let len := data.length\n calldatacopy(mem, data.offset, len)\n ret := keccak256(mem, len)\n }\n }\n\n\n/**\n * The minimum of two numbers.\n * @param a - First number.\n * @param b - Second number.\n * @return - the minimum value.\n */\n function min(uint256 a, uint256 b) pure returns (uint256) {\n return a < b ? a : b;\n }\n\n/**\n * standard solidity memory allocation finalization.\n * copied from solidity generated code\n * @param memPointer - The current memory pointer\n * @param allocationSize - Bytes allocated from memPointer.\n */\n function finalizeAllocation(uint256 memPointer, uint256 allocationSize) pure {\n\n assembly (\"memory-safe\"){\n finalize_allocation(memPointer, allocationSize)\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n mstore(64, newFreePtr)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n }\n }\n" + "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity ^0.8.23;\n\n/* solhint-disable no-inline-assembly */\n\n\n /*\n * For simulation purposes, validateUserOp (and validatePaymasterUserOp)\n * must return this value in case of signature failure, instead of revert.\n */\nuint256 constant SIG_VALIDATION_FAILED = 1;\n\n\n/*\n * For simulation purposes, validateUserOp (and validatePaymasterUserOp)\n * return this value on success.\n */\nuint256 constant SIG_VALIDATION_SUCCESS = 0;\n\n\n/**\n * Returned data from validateUserOp.\n * validateUserOp returns a uint256, which is created by `_packedValidationData` and\n * parsed by `_parseValidationData`.\n * @param aggregator - address(0) - The account validated the signature by itself.\n * address(1) - The account failed to validate the signature.\n * otherwise - This is an address of a signature aggregator that must\n * be used to validate the signature.\n * @param validAfter - This UserOp is valid only after this timestamp.\n * @param validaUntil - This UserOp is valid only up to this timestamp.\n */\nstruct ValidationData {\n address aggregator;\n uint48 validAfter;\n uint48 validUntil;\n}\n\n/**\n * Extract sigFailed, validAfter, validUntil.\n * Also convert zero validUntil to type(uint48).max.\n * @param validationData - The packed validation data.\n */\nfunction _parseValidationData(\n uint256 validationData\n) pure returns (ValidationData memory data) {\n address aggregator = address(uint160(validationData));\n uint48 validUntil = uint48(validationData >> 160);\n if (validUntil == 0) {\n validUntil = type(uint48).max;\n }\n uint48 validAfter = uint48(validationData >> (48 + 160));\n return ValidationData(aggregator, validAfter, validUntil);\n}\n\n/**\n * Helper to pack the return value for validateUserOp.\n * @param data - The ValidationData to pack.\n */\nfunction _packValidationData(\n ValidationData memory data\n) pure returns (uint256) {\n return\n uint160(data.aggregator) |\n (uint256(data.validUntil) << 160) |\n (uint256(data.validAfter) << (160 + 48));\n}\n\n/**\n * Helper to pack the return value for validateUserOp, when not using an aggregator.\n * @param sigFailed - True for signature failure, false for success.\n * @param validUntil - Last timestamp this UserOperation is valid (or zero for infinite).\n * @param validAfter - First timestamp this UserOperation is valid.\n */\nfunction _packValidationData(\n bool sigFailed,\n uint48 validUntil,\n uint48 validAfter\n) pure returns (uint256) {\n return\n (sigFailed ? 1 : 0) |\n (uint256(validUntil) << 160) |\n (uint256(validAfter) << (160 + 48));\n}\n\n/**\n * keccak function over calldata.\n * @dev copy calldata into memory, do keccak and drop allocated memory. Strangely, this is more efficient than letting solidity do it.\n */\n function calldataKeccak(bytes calldata data) pure returns (bytes32 ret) {\n assembly (\"memory-safe\") {\n let mem := mload(0x40)\n let len := data.length\n calldatacopy(mem, data.offset, len)\n ret := keccak256(mem, len)\n }\n }\n\n\n/**\n * The minimum of two numbers.\n * @param a - First number.\n * @param b - Second number.\n */\n function min(uint256 a, uint256 b) pure returns (uint256) {\n return a < b ? a : b;\n }\n" }, "@account-abstraction/contracts/core/UserOperationLib.sol": { - "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.28;\n\n/* solhint-disable no-inline-assembly */\n\nimport \"../interfaces/PackedUserOperation.sol\";\nimport {calldataKeccak, min} from \"./Helpers.sol\";\n\n/**\n * Utility functions helpful when working with UserOperation structs.\n */\nlibrary UserOperationLib {\n\n uint256 public constant PAYMASTER_VALIDATION_GAS_OFFSET = 20;\n uint256 public constant PAYMASTER_POSTOP_GAS_OFFSET = 36;\n uint256 public constant PAYMASTER_DATA_OFFSET = 52;\n\n /**\n * Relayer/block builder might submit the TX with higher priorityFee,\n * but the user should not pay above what he signed for.\n * @param userOp - The user operation data.\n */\n function gasPrice(\n PackedUserOperation calldata userOp\n ) internal view returns (uint256) {\n unchecked {\n (uint256 maxPriorityFeePerGas, uint256 maxFeePerGas) = unpackUints(userOp.gasFees);\n return min(maxFeePerGas, maxPriorityFeePerGas + block.basefee);\n }\n }\n\n bytes32 internal constant PACKED_USEROP_TYPEHASH =\n keccak256(\n \"PackedUserOperation(address sender,uint256 nonce,bytes initCode,bytes callData,bytes32 accountGasLimits,uint256 preVerificationGas,bytes32 gasFees,bytes paymasterAndData)\"\n );\n\n /**\n * Pack the user operation data into bytes for hashing.\n * @param userOp - The user operation data.\n * @param overrideInitCodeHash - If set, encode this instead of the initCode field in the userOp.\n */\n function encode(\n PackedUserOperation calldata userOp,\n bytes32 overrideInitCodeHash\n ) internal pure returns (bytes memory ret) {\n address sender = userOp.sender;\n uint256 nonce = userOp.nonce;\n bytes32 hashInitCode = overrideInitCodeHash != 0 ? overrideInitCodeHash : calldataKeccak(userOp.initCode);\n bytes32 hashCallData = calldataKeccak(userOp.callData);\n bytes32 accountGasLimits = userOp.accountGasLimits;\n uint256 preVerificationGas = userOp.preVerificationGas;\n bytes32 gasFees = userOp.gasFees;\n bytes32 hashPaymasterAndData = calldataKeccak(userOp.paymasterAndData);\n\n return abi.encode(\n UserOperationLib.PACKED_USEROP_TYPEHASH,\n sender, nonce,\n hashInitCode, hashCallData,\n accountGasLimits, preVerificationGas, gasFees,\n hashPaymasterAndData\n );\n }\n\n function unpackUints(\n bytes32 packed\n ) internal pure returns (uint256 high128, uint256 low128) {\n return (unpackHigh128(packed), unpackLow128(packed));\n }\n\n // Unpack just the high 128-bits from a packed value\n function unpackHigh128(bytes32 packed) internal pure returns (uint256) {\n return uint256(packed) >> 128;\n }\n\n // Unpack just the low 128-bits from a packed value\n function unpackLow128(bytes32 packed) internal pure returns (uint256) {\n return uint128(uint256(packed));\n }\n\n function unpackMaxPriorityFeePerGas(PackedUserOperation calldata userOp)\n internal pure returns (uint256) {\n return unpackHigh128(userOp.gasFees);\n }\n\n function unpackMaxFeePerGas(PackedUserOperation calldata userOp)\n internal pure returns (uint256) {\n return unpackLow128(userOp.gasFees);\n }\n\n function unpackVerificationGasLimit(PackedUserOperation calldata userOp)\n internal pure returns (uint256) {\n return unpackHigh128(userOp.accountGasLimits);\n }\n\n function unpackCallGasLimit(PackedUserOperation calldata userOp)\n internal pure returns (uint256) {\n return unpackLow128(userOp.accountGasLimits);\n }\n\n function unpackPaymasterVerificationGasLimit(PackedUserOperation calldata userOp)\n internal pure returns (uint256) {\n return uint128(bytes16(userOp.paymasterAndData[PAYMASTER_VALIDATION_GAS_OFFSET : PAYMASTER_POSTOP_GAS_OFFSET]));\n }\n\n function unpackPostOpGasLimit(PackedUserOperation calldata userOp)\n internal pure returns (uint256) {\n return uint128(bytes16(userOp.paymasterAndData[PAYMASTER_POSTOP_GAS_OFFSET : PAYMASTER_DATA_OFFSET]));\n }\n\n function unpackPaymasterStaticFields(\n bytes calldata paymasterAndData\n ) internal pure returns (address paymaster, uint256 validationGasLimit, uint256 postOpGasLimit) {\n return (\n address(bytes20(paymasterAndData[: PAYMASTER_VALIDATION_GAS_OFFSET])),\n uint128(bytes16(paymasterAndData[PAYMASTER_VALIDATION_GAS_OFFSET : PAYMASTER_POSTOP_GAS_OFFSET])),\n uint128(bytes16(paymasterAndData[PAYMASTER_POSTOP_GAS_OFFSET : PAYMASTER_DATA_OFFSET]))\n );\n }\n\n /**\n * Hash the user operation data.\n * @param userOp - The user operation data.\n * @param overrideInitCodeHash - If set, the initCode hash will be replaced with this value just for UserOp hashing.\n */\n function hash(\n PackedUserOperation calldata userOp,\n bytes32 overrideInitCodeHash\n ) internal pure returns (bytes32) {\n return keccak256(encode(userOp, overrideInitCodeHash));\n }\n}\n" + "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity ^0.8.23;\n\n/* solhint-disable no-inline-assembly */\n\nimport \"../interfaces/PackedUserOperation.sol\";\nimport {calldataKeccak, min} from \"./Helpers.sol\";\n\n/**\n * Utility functions helpful when working with UserOperation structs.\n */\nlibrary UserOperationLib {\n\n uint256 public constant PAYMASTER_VALIDATION_GAS_OFFSET = 20;\n uint256 public constant PAYMASTER_POSTOP_GAS_OFFSET = 36;\n uint256 public constant PAYMASTER_DATA_OFFSET = 52;\n /**\n * Get sender from user operation data.\n * @param userOp - The user operation data.\n */\n function getSender(\n PackedUserOperation calldata userOp\n ) internal pure returns (address) {\n address data;\n //read sender from userOp, which is first userOp member (saves 800 gas...)\n assembly {\n data := calldataload(userOp)\n }\n return address(uint160(data));\n }\n\n /**\n * Relayer/block builder might submit the TX with higher priorityFee,\n * but the user should not pay above what he signed for.\n * @param userOp - The user operation data.\n */\n function gasPrice(\n PackedUserOperation calldata userOp\n ) internal view returns (uint256) {\n unchecked {\n (uint256 maxPriorityFeePerGas, uint256 maxFeePerGas) = unpackUints(userOp.gasFees);\n if (maxFeePerGas == maxPriorityFeePerGas) {\n //legacy mode (for networks that don't support basefee opcode)\n return maxFeePerGas;\n }\n return min(maxFeePerGas, maxPriorityFeePerGas + block.basefee);\n }\n }\n\n /**\n * Pack the user operation data into bytes for hashing.\n * @param userOp - The user operation data.\n */\n function encode(\n PackedUserOperation calldata userOp\n ) internal pure returns (bytes memory ret) {\n address sender = getSender(userOp);\n uint256 nonce = userOp.nonce;\n bytes32 hashInitCode = calldataKeccak(userOp.initCode);\n bytes32 hashCallData = calldataKeccak(userOp.callData);\n bytes32 accountGasLimits = userOp.accountGasLimits;\n uint256 preVerificationGas = userOp.preVerificationGas;\n bytes32 gasFees = userOp.gasFees;\n bytes32 hashPaymasterAndData = calldataKeccak(userOp.paymasterAndData);\n\n return abi.encode(\n sender, nonce,\n hashInitCode, hashCallData,\n accountGasLimits, preVerificationGas, gasFees,\n hashPaymasterAndData\n );\n }\n\n function unpackUints(\n bytes32 packed\n ) internal pure returns (uint256 high128, uint256 low128) {\n return (uint128(bytes16(packed)), uint128(uint256(packed)));\n }\n\n //unpack just the high 128-bits from a packed value\n function unpackHigh128(bytes32 packed) internal pure returns (uint256) {\n return uint256(packed) >> 128;\n }\n\n // unpack just the low 128-bits from a packed value\n function unpackLow128(bytes32 packed) internal pure returns (uint256) {\n return uint128(uint256(packed));\n }\n\n function unpackMaxPriorityFeePerGas(PackedUserOperation calldata userOp)\n internal pure returns (uint256) {\n return unpackHigh128(userOp.gasFees);\n }\n\n function unpackMaxFeePerGas(PackedUserOperation calldata userOp)\n internal pure returns (uint256) {\n return unpackLow128(userOp.gasFees);\n }\n\n function unpackVerificationGasLimit(PackedUserOperation calldata userOp)\n internal pure returns (uint256) {\n return unpackHigh128(userOp.accountGasLimits);\n }\n\n function unpackCallGasLimit(PackedUserOperation calldata userOp)\n internal pure returns (uint256) {\n return unpackLow128(userOp.accountGasLimits);\n }\n\n function unpackPaymasterVerificationGasLimit(PackedUserOperation calldata userOp)\n internal pure returns (uint256) {\n return uint128(bytes16(userOp.paymasterAndData[PAYMASTER_VALIDATION_GAS_OFFSET : PAYMASTER_POSTOP_GAS_OFFSET]));\n }\n\n function unpackPostOpGasLimit(PackedUserOperation calldata userOp)\n internal pure returns (uint256) {\n return uint128(bytes16(userOp.paymasterAndData[PAYMASTER_POSTOP_GAS_OFFSET : PAYMASTER_DATA_OFFSET]));\n }\n\n function unpackPaymasterStaticFields(\n bytes calldata paymasterAndData\n ) internal pure returns (address paymaster, uint256 validationGasLimit, uint256 postOpGasLimit) {\n return (\n address(bytes20(paymasterAndData[: PAYMASTER_VALIDATION_GAS_OFFSET])),\n uint128(bytes16(paymasterAndData[PAYMASTER_VALIDATION_GAS_OFFSET : PAYMASTER_POSTOP_GAS_OFFSET])),\n uint128(bytes16(paymasterAndData[PAYMASTER_POSTOP_GAS_OFFSET : PAYMASTER_DATA_OFFSET]))\n );\n }\n\n /**\n * Hash the user operation data.\n * @param userOp - The user operation data.\n */\n function hash(\n PackedUserOperation calldata userOp\n ) internal pure returns (bytes32) {\n return keccak256(encode(userOp));\n }\n}\n" }, "@account-abstraction/contracts/interfaces/IAccount.sol": { - "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.28;\n\nimport \"./PackedUserOperation.sol\";\n\ninterface IAccount {\n /**\n * Validate user's signature and nonce\n * the entryPoint will make the call to the recipient only if this validation call returns successfully.\n * signature failure should be reported by returning SIG_VALIDATION_FAILED (1).\n * This allows making a \"simulation call\" without a valid signature\n * Other failures (e.g. nonce mismatch, or invalid signature format) should still revert to signal failure.\n *\n * @dev Must validate caller is the entryPoint.\n * Must validate the signature and nonce\n * @param userOp - The operation that is about to be executed.\n * @param userOpHash - Hash of the user's request data. can be used as the basis for signature.\n * @param missingAccountFunds - Missing funds on the account's deposit in the entrypoint.\n * This is the minimum amount to transfer to the sender(entryPoint) to be\n * able to make the call. The excess is left as a deposit in the entrypoint\n * for future calls. Can be withdrawn anytime using \"entryPoint.withdrawTo()\".\n * In case there is a paymaster in the request (or the current deposit is high\n * enough), this value will be zero.\n * @return validationData - Packaged ValidationData structure. use `_packValidationData` and\n * `_unpackValidationData` to encode and decode.\n * <20-byte> aggregatorOrSigFail - 0 for valid signature, 1 to mark signature failure,\n * otherwise, an address of an \"aggregator\" contract.\n * <6-byte> validUntil - Last timestamp this operation is valid at, or 0 for \"indefinitely\"\n * <6-byte> validAfter - First timestamp this operation is valid\n * If an account doesn't use time-range, it is enough to\n * return SIG_VALIDATION_FAILED value (1) for signature failure.\n * Note that the validation code cannot use block.timestamp (or block.number) directly.\n */\n function validateUserOp(\n PackedUserOperation calldata userOp,\n bytes32 userOpHash,\n uint256 missingAccountFunds\n ) external returns (uint256 validationData);\n}\n" + "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.7.5;\n\nimport \"./PackedUserOperation.sol\";\n\ninterface IAccount {\n /**\n * Validate user's signature and nonce\n * the entryPoint will make the call to the recipient only if this validation call returns successfully.\n * signature failure should be reported by returning SIG_VALIDATION_FAILED (1).\n * This allows making a \"simulation call\" without a valid signature\n * Other failures (e.g. nonce mismatch, or invalid signature format) should still revert to signal failure.\n *\n * @dev Must validate caller is the entryPoint.\n * Must validate the signature and nonce\n * @param userOp - The operation that is about to be executed.\n * @param userOpHash - Hash of the user's request data. can be used as the basis for signature.\n * @param missingAccountFunds - Missing funds on the account's deposit in the entrypoint.\n * This is the minimum amount to transfer to the sender(entryPoint) to be\n * able to make the call. The excess is left as a deposit in the entrypoint\n * for future calls. Can be withdrawn anytime using \"entryPoint.withdrawTo()\".\n * In case there is a paymaster in the request (or the current deposit is high\n * enough), this value will be zero.\n * @return validationData - Packaged ValidationData structure. use `_packValidationData` and\n * `_unpackValidationData` to encode and decode.\n * <20-byte> sigAuthorizer - 0 for valid signature, 1 to mark signature failure,\n * otherwise, an address of an \"authorizer\" contract.\n * <6-byte> validUntil - Last timestamp this operation is valid. 0 for \"indefinite\"\n * <6-byte> validAfter - First timestamp this operation is valid\n * If an account doesn't use time-range, it is enough to\n * return SIG_VALIDATION_FAILED value (1) for signature failure.\n * Note that the validation code cannot use block.timestamp (or block.number) directly.\n */\n function validateUserOp(\n PackedUserOperation calldata userOp,\n bytes32 userOpHash,\n uint256 missingAccountFunds\n ) external returns (uint256 validationData);\n}\n" }, "@account-abstraction/contracts/interfaces/PackedUserOperation.sol": { - "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.28;\n\n/**\n * User Operation struct\n * @param sender - The sender account of this request.\n * @param nonce - Unique value the sender uses to verify it is not a replay.\n * @param initCode - If set, the account contract will be created by this constructor\n * @param callData - The method call to execute on this account.\n * @param accountGasLimits - Packed gas limits for validateUserOp and gas limit passed to the callData method call.\n * @param preVerificationGas - Gas not calculated by the handleOps method, but added to the gas paid.\n * Covers batch overhead.\n * @param gasFees - packed gas fields maxPriorityFeePerGas and maxFeePerGas - Same as EIP-1559 gas parameters.\n * @param paymasterAndData - If set, this field holds the paymaster address, verification gas limit, postOp gas limit and paymaster-specific extra data\n * The paymaster will pay for the transaction instead of the sender.\n * @param signature - Sender-verified signature over the entire request, the EntryPoint address and the chain ID.\n */\nstruct PackedUserOperation {\n address sender;\n uint256 nonce;\n bytes initCode;\n bytes callData;\n bytes32 accountGasLimits;\n uint256 preVerificationGas;\n bytes32 gasFees;\n bytes paymasterAndData;\n bytes signature;\n}\n" + "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.7.5;\n\n/**\n * User Operation struct\n * @param sender - The sender account of this request.\n * @param nonce - Unique value the sender uses to verify it is not a replay.\n * @param initCode - If set, the account contract will be created by this constructor/\n * @param callData - The method call to execute on this account.\n * @param accountGasLimits - Packed gas limits for validateUserOp and gas limit passed to the callData method call.\n * @param preVerificationGas - Gas not calculated by the handleOps method, but added to the gas paid.\n * Covers batch overhead.\n * @param gasFees - packed gas fields maxPriorityFeePerGas and maxFeePerGas - Same as EIP-1559 gas parameters.\n * @param paymasterAndData - If set, this field holds the paymaster address, verification gas limit, postOp gas limit and paymaster-specific extra data\n * The paymaster will pay for the transaction instead of the sender.\n * @param signature - Sender-verified signature over the entire request, the EntryPoint address and the chain ID.\n */\nstruct PackedUserOperation {\n address sender;\n uint256 nonce;\n bytes initCode;\n bytes callData;\n bytes32 accountGasLimits;\n uint256 preVerificationGas;\n bytes32 gasFees;\n bytes paymasterAndData;\n bytes signature;\n}\n" }, "FreshCryptoLib/FCL_ecdsa.sol": { "content": "//********************************************************************************************/\n// ___ _ ___ _ _ _ _\n// | __| _ ___ __| |_ / __|_ _ _ _ _ __| |_ ___ | | (_) |__\n// | _| '_/ -_|_-< ' \\ | (__| '_| || | '_ \\ _/ _ \\ | |__| | '_ \\\n// |_||_| \\___/__/_||_| \\___|_| \\_, | .__/\\__\\___/ |____|_|_.__/\n// |__/|_|\n///* Copyright (C) 2022 - Renaud Dubois - This file is part of FCL (Fresh CryptoLib) project\n///* License: This software is licensed under MIT License\n///* This Code may be reused including license and copyright notice.\n///* See LICENSE file at the root folder of the project.\n///* FILE: FCL_ecdsa.sol\n///*\n///*\n///* DESCRIPTION: ecdsa verification implementation\n///*\n//**************************************************************************************/\n//* WARNING: this code SHALL not be used for non prime order curves for security reasons.\n// Code is optimized for a=-3 only curves with prime order, constant like -1, -2 shall be replaced\n// if ever used for other curve than sec256R1\n// SPDX-License-Identifier: MIT\npragma solidity >=0.8.19 <0.9.0;\n\n\nimport {FCL_Elliptic_ZZ} from \"./FCL_elliptic.sol\";\n\n\n\nlibrary FCL_ecdsa {\n // Set parameters for curve sec256r1.public\n //curve order (number of points)\n uint256 constant n = FCL_Elliptic_ZZ.n;\n \n /**\n * @dev ECDSA verification, given , signature, and public key.\n */\n\n /**\n * @dev ECDSA verification, given , signature, and public key, no calldata version\n */\n function ecdsa_verify(bytes32 message, uint256 r, uint256 s, uint256 Qx, uint256 Qy) internal view returns (bool){\n\n if (r == 0 || r >= FCL_Elliptic_ZZ.n || s == 0 || s >= FCL_Elliptic_ZZ.n) {\n return false;\n }\n \n if (!FCL_Elliptic_ZZ.ecAff_isOnCurve(Qx, Qy)) {\n return false;\n }\n\n uint256 sInv = FCL_Elliptic_ZZ.FCL_nModInv(s);\n\n uint256 scalar_u = mulmod(uint256(message), sInv, FCL_Elliptic_ZZ.n);\n uint256 scalar_v = mulmod(r, sInv, FCL_Elliptic_ZZ.n);\n uint256 x1;\n\n x1 = FCL_Elliptic_ZZ.ecZZ_mulmuladd_S_asm(Qx, Qy, scalar_u, scalar_v);\n\n x1= addmod(x1, n-r,n );\n \n return x1 == 0;\n }\n\n function ec_recover_r1(uint256 h, uint256 v, uint256 r, uint256 s) internal view returns (address)\n {\n if (r == 0 || r >= FCL_Elliptic_ZZ.n || s == 0 || s >= FCL_Elliptic_ZZ.n) {\n return address(0);\n }\n uint256 y=FCL_Elliptic_ZZ.ec_Decompress(r, v-27);\n uint256 rinv=FCL_Elliptic_ZZ.FCL_nModInv(r);\n uint256 u1=mulmod(FCL_Elliptic_ZZ.n-addmod(0,h,FCL_Elliptic_ZZ.n), rinv,FCL_Elliptic_ZZ.n);//-hr^-1\n uint256 u2=mulmod(s, rinv,FCL_Elliptic_ZZ.n);//sr^-1\n\n uint256 Qx;\n uint256 Qy;\n (Qx,Qy)=FCL_Elliptic_ZZ.ecZZ_mulmuladd(r,y, u1, u2);\n\n return address(uint160(uint256(keccak256(abi.encodePacked(Qx, Qy)))));\n }\n\n function ecdsa_precomputed_verify(bytes32 message, uint256 r, uint256 s, address Shamir8)\n internal view\n returns (bool)\n {\n \n if (r == 0 || r >= n || s == 0 || s >= n) {\n return false;\n }\n /* Q is pushed via the contract at address Shamir8 assumed to be correct\n if (!isOnCurve(Q[0], Q[1])) {\n return false;\n }*/\n\n uint256 sInv = FCL_Elliptic_ZZ.FCL_nModInv(s);\n\n uint256 X;\n\n //Shamir 8 dimensions\n X = FCL_Elliptic_ZZ.ecZZ_mulmuladd_S8_extcode(mulmod(uint256(message), sInv, n), mulmod(r, sInv, n), Shamir8);\n\n X= addmod(X, n-r,n );\n\n return X == 0;\n } //end ecdsa_precomputed_verify()\n\n function ecdsa_precomputed_verify(bytes32 message, uint256[2] calldata rs, address Shamir8)\n internal view\n returns (bool)\n {\n uint256 r = rs[0];\n uint256 s = rs[1];\n if (r == 0 || r >= n || s == 0 || s >= n) {\n return false;\n }\n /* Q is pushed via the contract at address Shamir8 assumed to be correct\n if (!isOnCurve(Q[0], Q[1])) {\n return false;\n }*/\n\n uint256 sInv = FCL_Elliptic_ZZ.FCL_nModInv(s);\n\n uint256 X;\n\n //Shamir 8 dimensions\n X = FCL_Elliptic_ZZ.ecZZ_mulmuladd_S8_extcode(mulmod(uint256(message), sInv, n), mulmod(r, sInv, n), Shamir8);\n\n X= addmod(X, n-r,n );\n\n return X == 0;\n } //end ecdsa_precomputed_verify()\n\n}\n" @@ -55,10 +55,10 @@ "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.4;\n\n/// @title ERC-1271\n///\n/// @notice Abstract ERC-1271 implementation (based on Solady's) with guards to handle the same\n/// signer being used on multiple accounts.\n///\n/// @dev To prevent the same signature from being validated on different accounts owned by the samer signer,\n/// we introduce an anti cross-account-replay layer: the original hash is input into a new EIP-712 compliant\n/// hash. The domain separator of this outer hash contains the chain id and address of this contract, so that\n/// it cannot be used on two accounts (see `replaySafeHash()` for the implementation details).\n///\n/// @author Applied Blockchain (https://github.com/appliedblockchain/giano)\n/// @author Coinbase (https://github.com/coinbase/smart-wallet)\n/// @author Solady (https://github.com/vectorized/solady/blob/main/src/accounts/ERC1271.sol)\nabstract contract ERC1271 {\n /// @dev Precomputed `typeHash` used to produce EIP-712 compliant hash when applying the anti\n /// cross-account-replay layer.\n ///\n /// The original hash must either be:\n /// - An EIP-191 hash: keccak256(\"\\x19Ethereum Signed Message:\\n\" || len(someMessage) || someMessage)\n /// - An EIP-712 hash: keccak256(\"\\x19\\x01\" || someDomainSeparator || hashStruct(someStruct))\n bytes32 private constant _MESSAGE_TYPEHASH = keccak256(\"GianoSmartWalletMessage(bytes32 hash)\");\n\n /// @notice Returns information about the `EIP712Domain` used to create EIP-712 compliant hashes.\n ///\n /// @dev Follows ERC-5267 (see https://eips.ethereum.org/EIPS/eip-5267).\n ///\n /// @return fields The bitmap of used fields.\n /// @return name The value of the `EIP712Domain.name` field.\n /// @return version The value of the `EIP712Domain.version` field.\n /// @return chainId The value of the `EIP712Domain.chainId` field.\n /// @return verifyingContract The value of the `EIP712Domain.verifyingContract` field.\n /// @return salt The value of the `EIP712Domain.salt` field.\n /// @return extensions The list of EIP numbers, that extends EIP-712 with new domain fields.\n function eip712Domain()\n external\n view\n virtual\n returns (\n bytes1 fields,\n string memory name,\n string memory version,\n uint256 chainId,\n address verifyingContract,\n bytes32 salt,\n uint256[] memory extensions\n )\n {\n fields = hex\"0f\"; // `0b1111`.\n (name, version) = _domainNameAndVersion();\n chainId = block.chainid;\n verifyingContract = address(this);\n salt = salt; // `bytes32(0)`.\n extensions = extensions; // `new uint256[](0)`.\n }\n\n /// @notice Validates the `signature` against the given `hash`.\n ///\n /// @dev This implementation follows ERC-1271. See https://eips.ethereum.org/EIPS/eip-1271.\n /// @dev IMPORTANT: Signature verification is performed on the hash produced AFTER applying the anti\n /// cross-account-replay layer on the given `hash` (i.e., verification is run on the replay-safe\n /// hash version).\n ///\n /// @param hash The original hash.\n /// @param signature The signature of the replay-safe hash to validate.\n ///\n /// @return result `0x1626ba7e` if validation succeeded, else `0xffffffff`.\n function isValidSignature(bytes32 hash, bytes calldata signature) public view virtual returns (bytes4 result) {\n if (_isValidSignature({hash: replaySafeHash(hash), signature: signature})) {\n // bytes4(keccak256(\"isValidSignature(bytes32,bytes)\"))\n return 0x1626ba7e;\n }\n\n return 0xffffffff;\n }\n\n /// @notice Wrapper around `_eip712Hash()` to produce a replay-safe hash fron the given `hash`.\n ///\n /// @dev The returned EIP-712 compliant replay-safe hash is the result of:\n /// keccak256(\n /// \\x19\\x01 ||\n /// this.domainSeparator ||\n /// hashStruct(GianoSmartWalletMessage({ hash: `hash`}))\n /// )\n ///\n /// @param hash The original hash.\n ///\n /// @return The corresponding replay-safe hash.\n function replaySafeHash(bytes32 hash) public view virtual returns (bytes32) {\n return _eip712Hash(hash);\n }\n\n /// @notice Returns the `domainSeparator` used to create EIP-712 compliant hashes.\n ///\n /// @dev Implements domainSeparator = hashStruct(eip712Domain).\n /// See https://eips.ethereum.org/EIPS/eip-712#definition-of-domainseparator.\n ///\n /// @return The 32 bytes domain separator result.\n function domainSeparator() public view returns (bytes32) {\n (string memory name, string memory version) = _domainNameAndVersion();\n return keccak256(\n abi.encode(\n keccak256(\"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\"),\n keccak256(bytes(name)),\n keccak256(bytes(version)),\n block.chainid,\n address(this)\n )\n );\n }\n\n /// @notice Returns the EIP-712 typed hash of the `GianoSmartWalletMessage(bytes32 hash)` data structure.\n ///\n /// @dev Implements encode(domainSeparator : 𝔹²⁵⁶, message : 𝕊) = \"\\x19\\x01\" || domainSeparator ||\n /// hashStruct(message).\n /// @dev See https://eips.ethereum.org/EIPS/eip-712#specification.\n ///\n /// @param hash The `GianoSmartWalletMessage.hash` field to hash.\n ////\n /// @return The resulting EIP-712 hash.\n function _eip712Hash(bytes32 hash) internal view virtual returns (bytes32) {\n return keccak256(abi.encodePacked(\"\\x19\\x01\", domainSeparator(), _hashStruct(hash)));\n }\n\n /// @notice Returns the EIP-712 `hashStruct` result of the `GianoSmartWalletMessage(bytes32 hash)` data\n /// structure.\n ///\n /// @dev Implements hashStruct(s : 𝕊) = keccak256(typeHash || encodeData(s)).\n /// @dev See https://eips.ethereum.org/EIPS/eip-712#definition-of-hashstruct.\n ///\n /// @param hash The `GianoSmartWalletMessage.hash` field.\n ///\n /// @return The EIP-712 `hashStruct` result.\n function _hashStruct(bytes32 hash) internal view virtual returns (bytes32) {\n return keccak256(abi.encode(_MESSAGE_TYPEHASH, hash));\n }\n\n /// @notice Returns the domain name and version to use when creating EIP-712 signatures.\n ///\n /// @dev MUST be defined by the implementation.\n ///\n /// @return name The user readable name of signing domain.\n /// @return version The current major version of the signing domain.\n function _domainNameAndVersion() internal view virtual returns (string memory name, string memory version);\n\n /// @notice Validates the `signature` against the given `hash`.\n ///\n /// @dev MUST be defined by the implementation.\n ///\n /// @param hash The hash whose signature has been performed on.\n /// @param signature The signature associated with `hash`.\n ///\n /// @return `true` is the signature is valid, else `false`.\n function _isValidSignature(bytes32 hash, bytes calldata signature) internal view virtual returns (bool);\n}\n" }, "src/GianoSmartWallet.sol": { - "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.28;\n\nimport {IAccount} from '@account-abstraction/contracts/interfaces/IAccount.sol';\n\nimport {PackedUserOperation} from '@account-abstraction/contracts/interfaces/PackedUserOperation.sol';\nimport {UserOperationLib} from '@account-abstraction/contracts/core/UserOperationLib.sol';\nimport {Receiver} from 'solady/accounts/Receiver.sol';\nimport {SignatureCheckerLib} from 'solady/utils/SignatureCheckerLib.sol';\nimport {UUPSUpgradeable} from 'solady/utils/UUPSUpgradeable.sol';\nimport {WebAuthn} from 'webauthn-sol/WebAuthn.sol';\nimport {AuthenticatedStaticCaller} from './AuthenticatedStaticCaller.sol';\n\nimport {ERC1271} from './ERC1271.sol';\nimport {MultiOwnable} from './MultiOwnable.sol';\n\n/// @title Giano Smart Wallet\n///\n/// @notice ERC-4337-compatible smart account, based on Solady's ERC4337 account implementation\n/// with inspiration from Alchemy's LightAccount and Daimo's DaimoAccount.\n///\n/// @author Applied Blockchain (https://github.com/appliedblockchain/giano)\n/// @author Coinbase (https://github.com/coinbase/smart-wallet)\n/// @author Solady (https://github.com/vectorized/solady/blob/main/src/accounts/ERC4337.sol)\ncontract GianoSmartWallet is ERC1271, IAccount, MultiOwnable, UUPSUpgradeable, Receiver, AuthenticatedStaticCaller {\n /// @notice A wrapper struct used for signature validation so that callers\n /// can identify the owner that signed.\n struct SignatureWrapper {\n /// @dev The index of the owner that signed, see `MultiOwnable.ownerAtIndex`\n uint256 ownerIndex;\n /// @dev If `MultiOwnable.ownerAtIndex` is an Ethereum address, this should be `abi.encodePacked(r, s, v)`\n /// If `MultiOwnable.ownerAtIndex` is a public key, this should be `abi.encode(WebAuthnAuth)`.\n bytes signatureData;\n }\n\n /// @notice Represents a call to make.\n struct Call {\n /// @dev The address to call.\n address target;\n /// @dev The value to send when making the call.\n uint256 value;\n /// @dev The data of the call.\n bytes data;\n }\n\n /// @notice Reserved nonce key (upper 192 bits of `UserOperation.nonce`) for cross-chain replayable\n /// transactions.\n ///\n /// @dev MUST BE the `UserOperation.nonce` key when `UserOperation.calldata` is calling\n /// `executeWithoutChainIdValidation`and MUST NOT BE `UserOperation.nonce` key when `UserOperation.calldata` is\n /// NOT calling `executeWithoutChainIdValidation`.\n ///\n /// @dev Helps enforce sequential sequencing of replayable transactions.\n uint256 public constant REPLAYABLE_NONCE_KEY = 8453;\n\n /// @notice Thrown when `initialize` is called but the account already has had at least one owner.\n error Initialized();\n\n /// @notice Thrown when a call is passed to `executeWithoutChainIdValidation` that is not allowed by\n /// `canSkipChainIdValidation`\n ///\n /// @param selector The selector of the call.\n error SelectorNotAllowed(bytes4 selector);\n\n /// @notice Thrown in validateUserOp if the key of `UserOperation.nonce` does not match the calldata.\n ///\n /// @dev Calls to `this.executeWithoutChainIdValidation` MUST use `REPLAYABLE_NONCE_KEY` and\n /// calls NOT to `this.executeWithoutChainIdValidation` MUST NOT use `REPLAYABLE_NONCE_KEY`.\n ///\n /// @param key The invalid `UserOperation.nonce` key.\n error InvalidNonceKey(uint256 key);\n\n /// @notice Reverts if the caller is not the EntryPoint.\n modifier onlyEntryPoint() virtual {\n if (msg.sender != entryPoint()) {\n revert Unauthorized();\n }\n\n _;\n }\n\n /// @notice Reverts if the caller is neither the EntryPoint, the owner, nor the account itself.\n modifier onlyEntryPointOrOwner() virtual {\n if (msg.sender != entryPoint()) {\n _checkOwner();\n }\n\n _;\n }\n\n /// @notice Sends to the EntryPoint (i.e. `msg.sender`) the missing funds for this transaction.\n ///\n /// @dev Subclass MAY override this modifier for better funds management (e.g. send to the\n /// EntryPoint more than the minimum required, so that in future transactions it will not\n /// be required to send again).\n ///\n /// @param missingAccountFunds The minimum value this modifier should send the EntryPoint which\n /// MAY be zero, in case there is enough deposit, or the userOp has a\n /// paymaster.\n modifier payPrefund(uint256 missingAccountFunds) virtual {\n _;\n\n assembly ('memory-safe') {\n if missingAccountFunds {\n // Ignore failure (it's EntryPoint's job to verify, not the account's).\n pop(call(gas(), caller(), missingAccountFunds, codesize(), 0x00, codesize(), 0x00))\n }\n }\n }\n\n constructor() {\n // Implementation should not be initializable (does not affect proxies which use their own storage).\n bytes[] memory owners = new bytes[](1);\n owners[0] = abi.encode(address(0));\n _initializeOwners(owners);\n }\n\n /// @notice Initializes the account with the `owners`.\n ///\n /// @dev Reverts if the account has had at least one owner, i.e. has been initialized.\n ///\n /// @param owners Array of initial owners for this account. Each item should be\n /// an ABI encoded Ethereum address, i.e. 32 bytes with 12 leading 0 bytes,\n /// or a 64 byte public key.\n function initialize(bytes[] calldata owners) external payable virtual {\n if (nextOwnerIndex() != 0) {\n revert Initialized();\n }\n\n _initializeOwners(owners);\n }\n\n /// @inheritdoc IAccount\n ///\n /// @notice ERC-4337 `validateUserOp` method. The EntryPoint will\n /// call `UserOperation.sender.call(UserOperation.callData)` only if this validation call returns\n /// successfully.\n ///\n /// @dev Signature failure should be reported by returning 1 (see: `this._isValidSignature`). This\n /// allows making a \"simulation call\" without a valid signature. Other failures (e.g. invalid signature format)\n /// should still revert to signal failure.\n /// @dev Reverts if the `UserOperation.nonce` key is invalid for `UserOperation.calldata`.\n /// @dev Reverts if the signature format is incorrect or invalid for owner type.\n ///\n /// @param userOp The `UserOperation` to validate.\n /// @param userOpHash The `UserOperation` hash, as computed by `EntryPoint.getUserOpHash(UserOperation)`.\n /// @param missingAccountFunds The missing account funds that must be deposited on the Entrypoint.\n ///\n /// @return validationData The encoded `ValidationData` structure:\n /// `(uint256(validAfter) << (160 + 48)) | (uint256(validUntil) << 160) | (success ? 0 : 1)`\n /// where `validUntil` is 0 (indefinite) and `validAfter` is 0.\n function validateUserOp(\n PackedUserOperation calldata userOp,\n bytes32 userOpHash,\n uint256 missingAccountFunds\n ) external virtual onlyEntryPoint payPrefund(missingAccountFunds) returns (uint256 validationData) {\n uint256 key = userOp.nonce >> 64;\n\n if (bytes4(userOp.callData) == this.executeWithoutChainIdValidation.selector) {\n userOpHash = getUserOpHashWithoutChainId(userOp);\n if (key != REPLAYABLE_NONCE_KEY) {\n revert InvalidNonceKey(key);\n }\n } else {\n if (key == REPLAYABLE_NONCE_KEY) {\n revert InvalidNonceKey(key);\n }\n }\n\n // Return 0 if the recovered address matches the owner.\n if (_isValidSignature(userOpHash, userOp.signature)) {\n return 0;\n }\n\n // Else return 1\n return 1;\n }\n\n /// @notice Executes `calls` on this account (i.e. self call).\n ///\n /// @dev Can only be called by the Entrypoint.\n /// @dev Reverts if the given call is not authorized to skip the chain ID validtion.\n /// @dev `validateUserOp()` will recompute the `userOpHash` without the chain ID before validating\n /// it if the `UserOperation.calldata` is calling this function. This allows certain UserOperations\n /// to be replayed for all accounts sharing the same address across chains. E.g. This may be\n /// useful for syncing owner changes.\n ///\n /// @param calls An array of calldata to use for separate self calls.\n function executeWithoutChainIdValidation(bytes[] calldata calls) external payable virtual onlyEntryPoint {\n for (uint256 i; i < calls.length; i++) {\n bytes calldata call = calls[i];\n bytes4 selector = bytes4(call);\n if (!canSkipChainIdValidation(selector)) {\n revert SelectorNotAllowed(selector);\n }\n\n _call(address(this), 0, call);\n }\n }\n\n /// @notice Executes the given call from this account.\n ///\n /// @dev Can only be called by the Entrypoint or an owner of this account (including itself).\n ///\n /// @param target The address to call.\n /// @param value The value to send with the call.\n /// @param data The data of the call.\n function execute(address target, uint256 value, bytes calldata data) external payable virtual onlyEntryPointOrOwner {\n _call(target, value, data);\n }\n\n /// @notice Executes batch of `Call`s.\n ///\n /// @dev Can only be called by the Entrypoint or an owner of this account (including itself).\n ///\n /// @param calls The list of `Call`s to execute.\n function executeBatch(Call[] calldata calls) external payable virtual onlyEntryPointOrOwner {\n for (uint256 i; i < calls.length; i++) {\n _call(calls[i].target, calls[i].value, calls[i].data);\n }\n }\n\n /// @notice Returns the address of the EntryPoint v0.8.\n ///\n /// @return The address of the EntryPoint v0.8\n function entryPoint() public view virtual returns (address) {\n return 0x4337084D9E255Ff0702461CF8895CE9E3b5Ff108;\n }\n\n /// @notice Computes the hash of the `UserOperation` in the same way as EntryPoint v0.6, but\n /// leaves out the chain ID.\n ///\n /// @dev This allows accounts to sign a hash that can be used on many chains.\n ///\n /// @param userOp The `UserOperation` to compute the hash for.\n ///\n /// @return The `UserOperation` hash, which does not depend on chain ID.\n function getUserOpHashWithoutChainId(PackedUserOperation calldata userOp) public view virtual returns (bytes32) {\n return keccak256(abi.encode(UserOperationLib.hash(userOp, bytes32(0)), entryPoint()));\n }\n\n /// @notice Returns the implementation of the ERC1967 proxy.\n ///\n /// @return $ The address of implementation contract.\n function implementation() public view returns (address $) {\n assembly {\n $ := sload(_ERC1967_IMPLEMENTATION_SLOT)\n }\n }\n\n /// @notice Returns whether `functionSelector` can be called in `executeWithoutChainIdValidation`.\n ///\n /// @param functionSelector The function selector to check.\n ////\n /// @return `true` is the function selector is allowed to skip the chain ID validation, else `false`.\n function canSkipChainIdValidation(bytes4 functionSelector) public pure returns (bool) {\n if (\n functionSelector == MultiOwnable.addOwnerPublicKey.selector ||\n functionSelector == MultiOwnable.addOwnerAddress.selector ||\n functionSelector == MultiOwnable.removeOwnerAtIndex.selector ||\n functionSelector == MultiOwnable.removeLastOwner.selector ||\n functionSelector == UUPSUpgradeable.upgradeToAndCall.selector\n ) {\n return true;\n }\n return false;\n }\n\n /// @notice Executes the given call from this account.\n ///\n /// @dev Reverts if the call reverted.\n /// @dev Implementation taken from\n /// https://github.com/alchemyplatform/light-account/blob/43f625afdda544d5e5af9c370c9f4be0943e4e90/src/common/BaseLightAccount.sol#L125\n ///\n /// @param target The target call address.\n /// @param value The call value to user.\n /// @param data The raw call data.\n function _call(address target, uint256 value, bytes memory data) internal {\n (bool success, bytes memory result) = target.call{value: value}(data);\n if (!success) {\n assembly ('memory-safe') {\n revert(add(result, 32), mload(result))\n }\n }\n }\n\n /// @inheritdoc ERC1271\n ///\n /// @dev Used by both `ERC1271.isValidSignature` AND `IAccount.validateUserOp` signature validation.\n /// @dev Reverts if owner at `ownerIndex` is not compatible with `signature` format.\n ///\n /// @param signature ABI encoded `SignatureWrapper`.\n function _isValidSignature(bytes32 hash, bytes calldata signature) internal view virtual override returns (bool) {\n SignatureWrapper memory sigWrapper = abi.decode(signature, (SignatureWrapper));\n bytes memory ownerBytes = ownerAtIndex(sigWrapper.ownerIndex);\n\n if (ownerBytes.length == 32) {\n if (uint256(bytes32(ownerBytes)) > type(uint160).max) {\n // technically should be impossible given owners can only be added with\n // addOwnerAddress and addOwnerPublicKey, but we leave incase of future changes.\n revert InvalidEthereumAddressOwner(ownerBytes);\n }\n\n address owner;\n assembly ('memory-safe') {\n owner := mload(add(ownerBytes, 32))\n }\n\n return SignatureCheckerLib.isValidSignatureNow(owner, hash, sigWrapper.signatureData);\n }\n\n if (ownerBytes.length == 64) {\n (uint256 x, uint256 y) = abi.decode(ownerBytes, (uint256, uint256));\n\n WebAuthn.WebAuthnAuth memory auth = abi.decode(sigWrapper.signatureData, (WebAuthn.WebAuthnAuth));\n\n return WebAuthn.verify({challenge: abi.encode(hash), requireUV: false, webAuthnAuth: auth, x: x, y: y});\n }\n\n revert InvalidOwnerBytesLength(ownerBytes);\n }\n\n /// @inheritdoc UUPSUpgradeable\n ///\n /// @dev Authorization logic is only based on the `msg.sender` being an owner of this account,\n /// or `address(this)`.\n function _authorizeUpgrade(address) internal view virtual override(UUPSUpgradeable) onlyOwner {}\n\n /// @inheritdoc ERC1271\n function _domainNameAndVersion() internal pure override(ERC1271) returns (string memory, string memory) {\n return ('Giano Smart Wallet', '1');\n }\n}\n" + "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.28;\n\nimport {IAccount} from '@account-abstraction/contracts/interfaces/IAccount.sol';\n\nimport {PackedUserOperation} from '@account-abstraction/contracts/interfaces/PackedUserOperation.sol';\nimport {UserOperationLib} from '@account-abstraction/contracts/core/UserOperationLib.sol';\nimport {Receiver} from 'solady/accounts/Receiver.sol';\nimport {SignatureCheckerLib} from 'solady/utils/SignatureCheckerLib.sol';\nimport {UUPSUpgradeable} from 'solady/utils/UUPSUpgradeable.sol';\nimport {WebAuthn} from 'webauthn-sol/WebAuthn.sol';\nimport {AuthenticatedStaticCaller} from './AuthenticatedStaticCaller.sol';\n\nimport {ERC1271} from './ERC1271.sol';\nimport {MultiOwnable} from './MultiOwnable.sol';\n\n/// @title Giano Smart Wallet\n///\n/// @notice ERC-4337-compatible smart account, based on Solady's ERC4337 account implementation\n/// with inspiration from Alchemy's LightAccount and Daimo's DaimoAccount.\n///\n/// @author Applied Blockchain (https://github.com/appliedblockchain/giano)\n/// @author Coinbase (https://github.com/coinbase/smart-wallet)\n/// @author Solady (https://github.com/vectorized/solady/blob/main/src/accounts/ERC4337.sol)\ncontract GianoSmartWallet is ERC1271, IAccount, MultiOwnable, UUPSUpgradeable, Receiver, AuthenticatedStaticCaller {\n /// @notice A wrapper struct used for signature validation so that callers\n /// can identify the owner that signed.\n struct SignatureWrapper {\n /// @dev The owner bytes that signed, should be ABI encoded address (32 bytes) or public key (64 bytes)\n bytes ownerBytes;\n /// @dev If `ownerBytes` is an Ethereum address, this should be `abi.encodePacked(r, s, v)`\n /// If `ownerBytes` is a public key, this should be `abi.encode(WebAuthnAuth)`.\n bytes signatureData;\n }\n\n /// @notice Represents a call to make.\n struct Call {\n /// @dev The address to call.\n address target;\n /// @dev The value to send when making the call.\n uint256 value;\n /// @dev The data of the call.\n bytes data;\n }\n\n /// @notice Reserved nonce key (upper 192 bits of `UserOperation.nonce`) for cross-chain replayable\n /// transactions.\n ///\n /// @dev MUST BE the `UserOperation.nonce` key when `UserOperation.calldata` is calling\n /// `executeWithoutChainIdValidation`and MUST NOT BE `UserOperation.nonce` key when `UserOperation.calldata` is\n /// NOT calling `executeWithoutChainIdValidation`.\n ///\n /// @dev Helps enforce sequential sequencing of replayable transactions.\n uint256 public constant REPLAYABLE_NONCE_KEY = 8453;\n\n /// @notice Thrown when `initialize` is called but the account already has had at least one owner.\n error Initialized();\n\n /// @notice Thrown when a call is passed to `executeWithoutChainIdValidation` that is not allowed by\n /// `canSkipChainIdValidation`\n ///\n /// @param selector The selector of the call.\n error SelectorNotAllowed(bytes4 selector);\n\n /// @notice Thrown in validateUserOp if the key of `UserOperation.nonce` does not match the calldata.\n ///\n /// @dev Calls to `this.executeWithoutChainIdValidation` MUST use `REPLAYABLE_NONCE_KEY` and\n /// calls NOT to `this.executeWithoutChainIdValidation` MUST NOT use `REPLAYABLE_NONCE_KEY`.\n ///\n /// @param key The invalid `UserOperation.nonce` key.\n error InvalidNonceKey(uint256 key);\n\n /// @notice Thrown when an upgrade is attempted to an implementation that does not exist.\n ///\n /// @param implementation The address of the implementation that has no code.\n error InvalidImplementation(address implementation);\n\n /// @notice Reverts if the caller is not the EntryPoint.\n modifier onlyEntryPoint() virtual {\n if (msg.sender != entryPoint()) {\n revert Unauthorized();\n }\n\n _;\n }\n\n /// @notice Reverts if the caller is neither the EntryPoint, the owner, nor the account itself.\n modifier onlyEntryPointOrOwner() virtual {\n if (msg.sender != entryPoint()) {\n _checkOwner();\n }\n\n _;\n }\n\n /// @notice Sends to the EntryPoint (i.e. `msg.sender`) the missing funds for this transaction.\n ///\n /// @dev Subclass MAY override this modifier for better funds management (e.g. send to the\n /// EntryPoint more than the minimum required, so that in future transactions it will not\n /// be required to send again).\n ///\n /// @param missingAccountFunds The minimum value this modifier should send the EntryPoint which\n /// MAY be zero, in case there is enough deposit, or the userOp has a\n /// paymaster.\n modifier payPrefund(uint256 missingAccountFunds) virtual {\n _;\n\n assembly ('memory-safe') {\n if missingAccountFunds {\n // Ignore failure (it's EntryPoint's job to verify, not the account's).\n pop(call(gas(), caller(), missingAccountFunds, codesize(), 0x00, codesize(), 0x00))\n }\n }\n }\n\n constructor() {\n // Implementation should not be initializable (does not affect proxies which use their own storage).\n bytes[] memory owners = new bytes[](1);\n owners[0] = abi.encode(address(0));\n _initializeOwners(owners);\n }\n\n /// @notice Initializes the account with the `owners`.\n ///\n /// @dev Reverts if the account has had at least one owner, i.e. has been initialized.\n ///\n /// @param owners Array of initial owners for this account. Each item should be\n /// an ABI encoded Ethereum address, i.e. 32 bytes with 12 leading 0 bytes,\n /// or a 64 byte public key.\n function initialize(bytes[] calldata owners) external payable virtual {\n if (nextOwnerIndex() != 0) {\n revert Initialized();\n }\n\n _initializeOwners(owners);\n }\n\n /// @inheritdoc IAccount\n ///\n /// @notice ERC-4337 `validateUserOp` method. The EntryPoint will\n /// call `UserOperation.sender.call(UserOperation.callData)` only if this validation call returns\n /// successfully.\n ///\n /// @dev Signature failure should be reported by returning 1 (see: `this._isValidSignature`). This\n /// allows making a \"simulation call\" without a valid signature. Other failures (e.g. invalid signature format)\n /// should still revert to signal failure.\n /// @dev Reverts if the `UserOperation.nonce` key is invalid for `UserOperation.calldata`.\n /// @dev Reverts if the signature format is incorrect or invalid for owner type.\n ///\n /// @param userOp The `UserOperation` to validate.\n /// @param userOpHash The `UserOperation` hash, as computed by `EntryPoint.getUserOpHash(UserOperation)`.\n /// @param missingAccountFunds The missing account funds that must be deposited on the Entrypoint.\n ///\n /// @return validationData The encoded `ValidationData` structure:\n /// `(uint256(validAfter) << (160 + 48)) | (uint256(validUntil) << 160) | (success ? 0 : 1)`\n /// where `validUntil` is 0 (indefinite) and `validAfter` is 0.\n function validateUserOp(\n PackedUserOperation calldata userOp,\n bytes32 userOpHash,\n uint256 missingAccountFunds\n ) external virtual onlyEntryPoint payPrefund(missingAccountFunds) returns (uint256 validationData) {\n uint256 key = userOp.nonce >> 64;\n\n if (bytes4(userOp.callData) == this.executeWithoutChainIdValidation.selector) {\n userOpHash = getUserOpHashWithoutChainId(userOp);\n if (key != REPLAYABLE_NONCE_KEY) {\n revert InvalidNonceKey(key);\n }\n\n // Check for upgrade calls in the batch and validate implementation has code\n bytes[] memory calls = abi.decode(userOp.callData[4:], (bytes[]));\n for (uint256 i; i < calls.length; i++) {\n bytes memory callData = calls[i];\n bytes4 selector = bytes4(callData);\n\n if (selector == UUPSUpgradeable.upgradeToAndCall.selector) {\n address newImplementation;\n assembly {\n // Skip reading the first 32 bytes (length prefix) + 4 bytes (function selector)\n newImplementation := mload(add(callData, 36))\n }\n if (newImplementation.code.length == 0) revert InvalidImplementation(newImplementation);\n }\n }\n } else {\n if (key == REPLAYABLE_NONCE_KEY) {\n revert InvalidNonceKey(key);\n }\n }\n\n // Return 0 if the recovered address matches the owner.\n if (_isValidSignature(userOpHash, userOp.signature)) {\n return 0;\n }\n\n // Else return 1\n return 1;\n }\n\n /// @notice Executes `calls` on this account (i.e. self call).\n ///\n /// @dev Can only be called by the Entrypoint.\n /// @dev Reverts if the given call is not authorized to skip the chain ID validtion.\n /// @dev `validateUserOp()` will recompute the `userOpHash` without the chain ID before validating\n /// it if the `UserOperation.calldata` is calling this function. This allows certain UserOperations\n /// to be replayed for all accounts sharing the same address across chains. E.g. This may be\n /// useful for syncing owner changes.\n ///\n /// @param calls An array of calldata to use for separate self calls.\n function executeWithoutChainIdValidation(bytes[] calldata calls) external payable virtual onlyEntryPoint {\n for (uint256 i; i < calls.length; i++) {\n bytes calldata call = calls[i];\n bytes4 selector = bytes4(call);\n if (!canSkipChainIdValidation(selector)) {\n revert SelectorNotAllowed(selector);\n }\n\n _call(address(this), 0, call);\n }\n }\n\n /// @notice Executes the given call from this account.\n ///\n /// @dev Can only be called by the Entrypoint or an owner of this account (including itself).\n ///\n /// @param target The address to call.\n /// @param value The value to send with the call.\n /// @param data The data of the call.\n function execute(address target, uint256 value, bytes calldata data) external payable virtual onlyEntryPointOrOwner {\n _call(target, value, data);\n }\n\n /// @notice Executes batch of `Call`s.\n ///\n /// @dev Can only be called by the Entrypoint or an owner of this account (including itself).\n ///\n /// @param calls The list of `Call`s to execute.\n function executeBatch(Call[] calldata calls) external payable virtual onlyEntryPointOrOwner {\n for (uint256 i; i < calls.length; i++) {\n _call(calls[i].target, calls[i].value, calls[i].data);\n }\n }\n\n /// @notice Returns the address of the EntryPoint v0.7.\n ///\n /// @return The address of the EntryPoint v0.7\n function entryPoint() public view virtual returns (address) {\n return 0x0000000071727De22E5E9d8BAf0edAc6f37da032;\n }\n\n /// @notice Computes the hash of the `UserOperation` in the same way as EntryPoint v0.6, but\n /// leaves out the chain ID.\n ///\n /// @dev This allows accounts to sign a hash that can be used on many chains.\n ///\n /// @param userOp The `UserOperation` to compute the hash for.\n ///\n /// @return The `UserOperation` hash, which does not depend on chain ID.\n function getUserOpHashWithoutChainId(PackedUserOperation calldata userOp) public view virtual returns (bytes32) {\n return keccak256(abi.encode(UserOperationLib.hash(userOp), entryPoint()));\n }\n\n /// @notice Returns the implementation of the ERC1967 proxy.\n ///\n /// @return $ The address of implementation contract.\n function implementation() public view returns (address $) {\n assembly {\n $ := sload(_ERC1967_IMPLEMENTATION_SLOT)\n }\n }\n\n /// @notice Returns whether `functionSelector` can be called in `executeWithoutChainIdValidation`.\n ///\n /// @param functionSelector The function selector to check.\n ////\n /// @return `true` is the function selector is allowed to skip the chain ID validation, else `false`.\n function canSkipChainIdValidation(bytes4 functionSelector) public pure returns (bool) {\n if (\n functionSelector == MultiOwnable.addOwnerPublicKey.selector ||\n functionSelector == MultiOwnable.addOwnerAddress.selector ||\n functionSelector == MultiOwnable.removeOwnerAtIndex.selector ||\n functionSelector == MultiOwnable.removeLastOwner.selector ||\n functionSelector == UUPSUpgradeable.upgradeToAndCall.selector\n ) {\n return true;\n }\n return false;\n }\n\n /// @notice Executes the given call from this account.\n ///\n /// @dev Reverts if the call reverted.\n /// @dev Implementation taken from\n /// https://github.com/alchemyplatform/light-account/blob/43f625afdda544d5e5af9c370c9f4be0943e4e90/src/common/BaseLightAccount.sol#L125\n ///\n /// @param target The target call address.\n /// @param value The call value to user.\n /// @param data The raw call data.\n function _call(address target, uint256 value, bytes memory data) internal {\n (bool success, bytes memory result) = target.call{value: value}(data);\n if (!success) {\n assembly ('memory-safe') {\n revert(add(result, 32), mload(result))\n }\n }\n }\n\n /// @inheritdoc ERC1271\n ///\n /// @dev Used by both `ERC1271.isValidSignature` AND `IAccount.validateUserOp` signature validation.\n /// @dev Reverts if `ownerBytes` is not compatible with `signature` format.\n ///\n /// @param signature ABI encoded `SignatureWrapper`.\n function _isValidSignature(bytes32 hash, bytes calldata signature) internal view virtual override returns (bool) {\n SignatureWrapper memory sigWrapper = abi.decode(signature, (SignatureWrapper));\n bytes memory ownerBytes = sigWrapper.ownerBytes;\n\n // First validate that the provided owner bytes are actually an owner\n if (!isOwnerBytes(ownerBytes)) {\n return false;\n }\n\n if (ownerBytes.length == 32) {\n if (uint256(bytes32(ownerBytes)) > type(uint160).max) {\n // technically should be impossible given owners can only be added with\n // addOwnerAddress and addOwnerPublicKey, but we leave incase of future changes.\n revert InvalidEthereumAddressOwner(ownerBytes);\n }\n\n address owner;\n assembly ('memory-safe') {\n owner := mload(add(ownerBytes, 32))\n }\n\n return SignatureCheckerLib.isValidSignatureNow(owner, hash, sigWrapper.signatureData);\n }\n\n if (ownerBytes.length == 64) {\n (uint256 x, uint256 y) = abi.decode(ownerBytes, (uint256, uint256));\n\n WebAuthn.WebAuthnAuth memory auth = abi.decode(sigWrapper.signatureData, (WebAuthn.WebAuthnAuth));\n\n return WebAuthn.verify({challenge: abi.encode(hash), requireUV: false, webAuthnAuth: auth, x: x, y: y});\n }\n\n revert InvalidOwnerBytesLength(ownerBytes);\n }\n\n /// @inheritdoc UUPSUpgradeable\n ///\n /// @dev Authorization logic is only based on the `msg.sender` being an owner of this account,\n /// or `address(this)`.\n function _authorizeUpgrade(address) internal view virtual override(UUPSUpgradeable) onlyOwner {}\n\n /// @inheritdoc ERC1271\n function _domainNameAndVersion() internal pure override(ERC1271) returns (string memory, string memory) {\n return ('Giano Smart Wallet', '1');\n }\n}\n" }, "src/GianoSmartWalletFactory.sol": { - "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.4;\n\nimport {GianoSmartWallet} from './GianoSmartWallet.sol';\nimport {LibClone} from 'solady/utils/LibClone.sol';\n\n/// @title Giano Smart Wallet Factory\n///\n/// @notice GianoSmartWallet factory, based on Solady's ERC4337Factory.\n///\n/// @author Applied Blockchain (https://github.com/appliedblockchain/giano)\n/// @author Coinbase (https://github.com/coinbase/smart-wallet)\n/// @author Solady (https://github.com/vectorized/solady/blob/main/src/accounts/ERC4337Factory.sol)\ncontract GianoSmartWalletFactory {\n /// @notice Address of the ERC-4337 implementation used as implementation for new accounts.\n address public immutable implementation;\n\n /// @notice Thrown when trying to create a new `GianoSmartWallet` account without any owner.\n error OwnerRequired();\n\n /// @notice Factory constructor used to initialize the implementation address to use for future\n /// GianoSmartWallet deployments.\n ///\n /// @param implementation_ The address of the GianoSmartWallet implementation which new accounts will proxy to.\n constructor(address implementation_) payable {\n implementation = implementation_;\n }\n\n /// @notice Returns the deterministic address for a GianoSmartWallet created with `owners` and `nonce`\n /// deploys and initializes contract if it has not yet been created.\n ///\n /// @dev Deployed as a ERC-1967 proxy that's implementation is `this.implementation`.\n ///\n /// @param owners Array of initial owners. Each item should be an ABI encoded address or 64 byte public key.\n /// @param nonce The nonce of the account, a caller defined value which allows multiple accounts\n /// with the same `owners` to exist at different addresses.\n ///\n /// @return account The address of the ERC-1967 proxy created with inputs `owners`, `nonce`, and\n /// `this.implementation`.\n function createAccount(bytes[] calldata owners, uint256 nonce) external payable virtual returns (GianoSmartWallet account) {\n if (owners.length == 0) {\n revert OwnerRequired();\n }\n\n (bool alreadyDeployed, address accountAddress) = LibClone.createDeterministicERC1967(msg.value, implementation, _getSalt(owners, nonce));\n\n account = GianoSmartWallet(payable(accountAddress));\n\n if (!alreadyDeployed) {\n account.initialize(owners);\n }\n }\n\n /// @notice Returns the deterministic address of the account that would be created by `createAccount`.\n ///\n /// @param owners Array of initial owners. Each item should be an ABI encoded address or 64 byte public key.\n /// @param nonce The nonce provided to `createAccount()`.\n ///\n /// @return The predicted account deployment address.\n function getAddress(bytes[] calldata owners, uint256 nonce) external view returns (address) {\n return LibClone.predictDeterministicAddress(initCodeHash(), _getSalt(owners, nonce), address(this));\n }\n\n /// @notice Returns the initialization code hash of the account:\n /// a ERC1967 proxy that's implementation is `this.implementation`.\n ///\n /// @return The initialization code hash.\n function initCodeHash() public view virtual returns (bytes32) {\n return LibClone.initCodeHashERC1967(implementation);\n }\n\n /// @notice Returns the create2 salt for `LibClone.predictDeterministicAddress`\n ///\n /// @param owners Array of initial owners. Each item should be an ABI encoded address or 64 byte public key.\n /// @param nonce The nonce provided to `createAccount()`.\n ///\n /// @return The computed salt.\n function _getSalt(bytes[] calldata owners, uint256 nonce) internal pure returns (bytes32) {\n return keccak256(abi.encode(owners, nonce));\n }\n}\n" + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.4;\n\nimport {GianoSmartWallet} from './GianoSmartWallet.sol';\nimport {LibClone} from 'solady/utils/LibClone.sol';\n\n/// @title Giano Smart Wallet Factory\n///\n/// @notice GianoSmartWallet factory, based on Solady's ERC4337Factory.\n///\n/// @author Applied Blockchain (https://github.com/appliedblockchain/giano)\n/// @author Coinbase (https://github.com/coinbase/smart-wallet)\n/// @author Solady (https://github.com/vectorized/solady/blob/main/src/accounts/ERC4337Factory.sol)\ncontract GianoSmartWalletFactory {\n /// @notice Address of the ERC-4337 implementation used as implementation for new accounts.\n address public immutable implementation;\n\n /// @notice Emitted when a new account is created.\n ///\n /// @param account The address of the created account.\n /// @param owners Array of initial owners.\n /// @param nonce The nonce of the created account.\n event AccountCreated(address indexed account, bytes[] owners, uint256 nonce);\n\n /// @notice Thrown when trying to construct with an implementation that is not deployed.\n error ImplementationUndeployed();\n\n\n /// @notice Thrown when trying to create a new `GianoSmartWallet` account without any owner.\n error OwnerRequired();\n\n /// @notice Factory constructor used to initialize the implementation address to use for future\n /// GianoSmartWallet deployments.\n ///\n /// @param implementation_ The address of the GianoSmartWallet implementation which new accounts will proxy to.\n constructor(address implementation_) payable {\n if (implementation_.code.length == 0) revert ImplementationUndeployed();\n implementation = implementation_;\n }\n\n /// @notice Returns the deterministic address for a GianoSmartWallet created with `owners` and `nonce`\n /// deploys and initializes contract if it has not yet been created.\n ///\n /// @dev Deployed as a ERC-1967 proxy that's implementation is `this.implementation`.\n ///\n /// @param owners Array of initial owners. Each item should be an ABI encoded address or 64 byte public key.\n /// @param nonce The nonce of the account, a caller defined value which allows multiple accounts\n /// with the same `owners` to exist at different addresses.\n ///\n /// @return account The address of the ERC-1967 proxy created with inputs `owners`, `nonce`, and\n /// `this.implementation`.\n function createAccount(bytes[] calldata owners, uint256 nonce) external payable virtual returns (GianoSmartWallet account) {\n if (owners.length == 0) {\n revert OwnerRequired();\n }\n\n (bool alreadyDeployed, address accountAddress) = LibClone.createDeterministicERC1967(msg.value, implementation, _getSalt(owners, nonce));\n\n account = GianoSmartWallet(payable(accountAddress));\n\n if (!alreadyDeployed) {\n emit AccountCreated(accountAddress, owners, nonce);\n account.initialize(owners);\n }\n }\n\n /// @notice Returns the deterministic address of the account that would be created by `createAccount`.\n ///\n /// @param owners Array of initial owners. Each item should be an ABI encoded address or 64 byte public key.\n /// @param nonce The nonce provided to `createAccount()`.\n ///\n /// @return The predicted account deployment address.\n function getAddress(bytes[] calldata owners, uint256 nonce) external view returns (address) {\n return LibClone.predictDeterministicAddress(initCodeHash(), _getSalt(owners, nonce), address(this));\n }\n\n /// @notice Returns the initialization code hash of the account:\n /// a ERC1967 proxy that's implementation is `this.implementation`.\n ///\n /// @return The initialization code hash.\n function initCodeHash() public view virtual returns (bytes32) {\n return LibClone.initCodeHashERC1967(implementation);\n }\n\n /// @notice Returns the create2 salt for `LibClone.predictDeterministicAddress`\n ///\n /// @param owners Array of initial owners. Each item should be an ABI encoded address or 64 byte public key.\n /// @param nonce The nonce provided to `createAccount()`.\n ///\n /// @return The computed salt.\n function _getSalt(bytes[] calldata owners, uint256 nonce) internal pure returns (bytes32) {\n return keccak256(abi.encode(owners, nonce));\n }\n}\n" }, "src/MultiOwnable.sol": { "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.18;\n\n/// @notice Storage layout used by this contract.\n///\n/// @custom:storage-location erc7201:appliedblockchain.storage.MultiOwnable\nstruct MultiOwnableStorage {\n /// @dev Tracks the index of the next owner to add.\n uint256 nextOwnerIndex;\n /// @dev Tracks number of owners that have been removed.\n uint256 removedOwnersCount;\n /// @dev Maps index to owner bytes, used to idenfitied owners via a uint256 index.\n ///\n /// Some uses—-such as signature validation for secp256r1 public key owners—-\n /// requires the caller to assert the public key of the caller. To economize calldata,\n /// we allow an index to identify an owner, so that the full owner bytes do\n /// not need to be passed.\n ///\n /// The `owner` bytes should either be\n /// - An ABI encoded Ethereum address\n /// - An ABI encoded public key\n mapping(uint256 index => bytes owner) ownerAtIndex;\n /// @dev Mapping of bytes to booleans indicating whether or not\n /// bytes_ is an owner of this contract.\n mapping(bytes bytes_ => bool isOwner_) isOwner;\n}\n\n/// @title Multi Ownable\n///\n/// @notice Auth contract allowing multiple owners, each identified as bytes.\n///\n/// @author Applied Blockchain (https://github.com/appliedblockchain/giano)\n/// @author Coinbase (https://github.com/coinbase/smart-wallet)\ncontract MultiOwnable {\n /// @dev Slot for the `MultiOwnableStorage` struct in storage.\n /// Computed from\n /// keccak256(abi.encode(uint256(keccak256(\"appliedblockchain.storage.MultiOwnable\")) - 1)) & ~bytes32(uint256(0xff))\n /// Follows ERC-7201 (see https://eips.ethereum.org/EIPS/eip-7201).\n bytes32 private constant MUTLI_OWNABLE_STORAGE_LOCATION =\n 0x0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f500;\n\n /// @notice Thrown when the `msg.sender` is not an owner and is trying to call a privileged function.\n error Unauthorized();\n\n /// @notice Thrown when trying to add an already registered owner.\n ///\n /// @param owner The owner bytes.\n error AlreadyOwner(bytes owner);\n\n /// @notice Thrown when trying to remove an owner from an index that is empty.\n ///\n /// @param index The targeted index for removal.\n error NoOwnerAtIndex(uint256 index);\n\n /// @notice Thrown when `owner` argument does not match owner found at index.\n ///\n /// @param index The index of the owner to be removed.\n /// @param expectedOwner The owner passed in the remove call.\n /// @param actualOwner The actual owner at `index`.\n error WrongOwnerAtIndex(uint256 index, bytes expectedOwner, bytes actualOwner);\n\n /// @notice Thrown when a provided owner is neither 64 bytes long (for public key)\n /// nor a ABI encoded address.\n ///\n /// @param owner The invalid owner.\n error InvalidOwnerBytesLength(bytes owner);\n\n /// @notice Thrown if a provided owner is 32 bytes long but does not fit in an `address` type.\n ///\n /// @param owner The invalid owner.\n error InvalidEthereumAddressOwner(bytes owner);\n\n /// @notice Thrown when removeOwnerAtIndex is called and there is only one current owner.\n error LastOwner();\n\n /// @notice Thrown when removeLastOwner is called and there is more than one current owner.\n ///\n /// @param ownersRemaining The number of current owners.\n error NotLastOwner(uint256 ownersRemaining);\n\n /// @notice Emitted when a new owner is registered.\n ///\n /// @param index The owner index of the owner added.\n /// @param owner The owner added.\n event AddOwner(uint256 indexed index, bytes owner);\n\n /// @notice Emitted when an owner is removed.\n ///\n /// @param index The owner index of the owner removed.\n /// @param owner The owner removed.\n event RemoveOwner(uint256 indexed index, bytes owner);\n\n /// @notice Access control modifier ensuring the caller is an authorized owner\n modifier onlyOwner() virtual {\n _checkOwner();\n _;\n }\n\n /// @notice Adds a new Ethereum-address owner.\n ///\n /// @param owner The owner address.\n function addOwnerAddress(address owner) external virtual onlyOwner {\n _addOwnerAtIndex(abi.encode(owner), _getMultiOwnableStorage().nextOwnerIndex++);\n }\n\n /// @notice Adds a new public-key owner.\n ///\n /// @param x The owner public key x coordinate.\n /// @param y The owner public key y coordinate.\n function addOwnerPublicKey(bytes32 x, bytes32 y) external virtual onlyOwner {\n _addOwnerAtIndex(abi.encode(x, y), _getMultiOwnableStorage().nextOwnerIndex++);\n }\n\n /// @notice Removes owner at the given `index`.\n ///\n /// @dev Reverts if the owner is not registered at `index`.\n /// @dev Reverts if there is currently only one owner.\n /// @dev Reverts if `owner` does not match bytes found at `index`.\n ///\n /// @param index The index of the owner to be removed.\n /// @param owner The ABI encoded bytes of the owner to be removed.\n function removeOwnerAtIndex(uint256 index, bytes calldata owner) external virtual onlyOwner {\n if (ownerCount() == 1) {\n revert LastOwner();\n }\n\n _removeOwnerAtIndex(index, owner);\n }\n\n /// @notice Removes owner at the given `index`, which should be the only current owner.\n ///\n /// @dev Reverts if the owner is not registered at `index`.\n /// @dev Reverts if there is currently more than one owner.\n /// @dev Reverts if `owner` does not match bytes found at `index`.\n ///\n /// @param index The index of the owner to be removed.\n /// @param owner The ABI encoded bytes of the owner to be removed.\n function removeLastOwner(uint256 index, bytes calldata owner) external virtual onlyOwner {\n uint256 ownersRemaining = ownerCount();\n if (ownersRemaining > 1) {\n revert NotLastOwner(ownersRemaining);\n }\n\n _removeOwnerAtIndex(index, owner);\n }\n\n /// @notice Checks if the given `account` address is registered as owner.\n ///\n /// @param account The account address to check.\n ///\n /// @return `true` if the account is an owner else `false`.\n function isOwnerAddress(address account) public view virtual returns (bool) {\n return _getMultiOwnableStorage().isOwner[abi.encode(account)];\n }\n\n /// @notice Checks if the given `x`, `y` public key is registered as owner.\n ///\n /// @param x The public key x coordinate.\n /// @param y The public key y coordinate.\n ///\n /// @return `true` if the account is an owner else `false`.\n function isOwnerPublicKey(bytes32 x, bytes32 y) public view virtual returns (bool) {\n return _getMultiOwnableStorage().isOwner[abi.encode(x, y)];\n }\n\n /// @notice Checks if the given `account` bytes is registered as owner.\n ///\n /// @param account The account, should be ABI encoded address or public key.\n ///\n /// @return `true` if the account is an owner else `false`.\n function isOwnerBytes(bytes memory account) public view virtual returns (bool) {\n return _getMultiOwnableStorage().isOwner[account];\n }\n\n /// @notice Returns the owner bytes at the given `index`.\n ///\n /// @param index The index to lookup.\n ///\n /// @return The owner bytes (empty if no owner is registered at this `index`).\n function ownerAtIndex(uint256 index) public view virtual returns (bytes memory) {\n return _getMultiOwnableStorage().ownerAtIndex[index];\n }\n\n /// @notice Returns the next index that will be used to add a new owner.\n ///\n /// @return The next index that will be used to add a new owner.\n function nextOwnerIndex() public view virtual returns (uint256) {\n return _getMultiOwnableStorage().nextOwnerIndex;\n }\n\n /// @notice Returns the current number of owners\n ///\n /// @return The current owner count\n function ownerCount() public view virtual returns (uint256) {\n MultiOwnableStorage storage $ = _getMultiOwnableStorage();\n return $.nextOwnerIndex - $.removedOwnersCount;\n }\n\n /// @notice Tracks the number of owners removed\n ///\n /// @dev Used with `this.nextOwnerIndex` to avoid removing all owners\n ///\n /// @return The number of owners that have been removed.\n function removedOwnersCount() public view virtual returns (uint256) {\n return _getMultiOwnableStorage().removedOwnersCount;\n }\n\n /// @notice Initialize the owners of this contract.\n ///\n /// @dev Intended to be called contract is first deployed and never again.\n /// @dev Reverts if a provided owner is neither 64 bytes long (for public key) nor a valid address.\n ///\n /// @param owners The initial set of owners.\n function _initializeOwners(bytes[] memory owners) internal virtual {\n MultiOwnableStorage storage $ = _getMultiOwnableStorage();\n uint256 nextOwnerIndex_ = $.nextOwnerIndex;\n for (uint256 i; i < owners.length; i++) {\n if (owners[i].length != 32 && owners[i].length != 64) {\n revert InvalidOwnerBytesLength(owners[i]);\n }\n\n if (owners[i].length == 32 && uint256(bytes32(owners[i])) > type(uint160).max) {\n revert InvalidEthereumAddressOwner(owners[i]);\n }\n\n _addOwnerAtIndex(owners[i], nextOwnerIndex_++);\n }\n $.nextOwnerIndex = nextOwnerIndex_;\n }\n\n /// @notice Adds an owner at the given `index`.\n ///\n /// @dev Reverts if `owner` is already registered as an owner.\n ///\n /// @param owner The owner raw bytes to register.\n /// @param index The index to write to.\n function _addOwnerAtIndex(bytes memory owner, uint256 index) internal virtual {\n if (isOwnerBytes(owner)) revert AlreadyOwner(owner);\n\n MultiOwnableStorage storage $ = _getMultiOwnableStorage();\n $.isOwner[owner] = true;\n $.ownerAtIndex[index] = owner;\n\n emit AddOwner(index, owner);\n }\n\n /// @notice Removes owner at the given `index`.\n ///\n /// @dev Reverts if the owner is not registered at `index`.\n /// @dev Reverts if `owner` does not match bytes found at `index`.\n ///\n /// @param index The index of the owner to be removed.\n /// @param owner The ABI encoded bytes of the owner to be removed.\n function _removeOwnerAtIndex(uint256 index, bytes calldata owner) internal virtual {\n bytes memory owner_ = ownerAtIndex(index);\n if (owner_.length == 0) revert NoOwnerAtIndex(index);\n if (keccak256(owner_) != keccak256(owner)) {\n revert WrongOwnerAtIndex({index: index, expectedOwner: owner, actualOwner: owner_});\n }\n\n MultiOwnableStorage storage $ = _getMultiOwnableStorage();\n delete $.isOwner[owner];\n delete $.ownerAtIndex[index];\n $.removedOwnersCount++;\n\n emit RemoveOwner(index, owner);\n }\n\n /// @notice Checks if the sender is an owner of this contract or the contract itself.\n ///\n /// @dev Revert if the sender is not an owner fo the contract itself.\n function _checkOwner() internal view virtual {\n if (isOwnerAddress(msg.sender) || (msg.sender == address(this))) {\n return;\n }\n\n revert Unauthorized();\n }\n\n /// @notice Helper function to get a storage reference to the `MultiOwnableStorage` struct.\n ///\n /// @return $ A storage reference to the `MultiOwnableStorage` struct.\n function _getMultiOwnableStorage() internal pure returns (MultiOwnableStorage storage $) {\n assembly (\"memory-safe\") {\n $.slot := MUTLI_OWNABLE_STORAGE_LOCATION\n }\n }\n}\n" @@ -67,7 +67,7 @@ "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\nimport {GianoSmartWallet} from \"../GianoSmartWallet.sol\";\n\n/// @title ERC1271 Input Generator\n///\n/// @notice Helper contract for generating an ERC-1271 input hash to sign for deployed and undeployed\n/// GianoSmartWallet. May be useful for generating ERC-6492 compliant signatures.\n/// Inspired by Ambire's DeploylessUniversalSigValidator\n/// https://github.com/AmbireTech/signature-validator/blob/d5f84f5fc00bfdf79b80205b983a8258b6d1b3ea/contracts/DeploylessUniversalSigValidator.sol.\n///\n/// @dev This contract is not meant to ever actually be deployed, only mock deployed and used via a static eth_call.\n///\n/// @author Applied Blockchain (https://github.com/appliedblockchain/giano)\n/// @author Coinbase (https://github.com/coinbase/smart-wallet)\ncontract ERC1271InputGenerator {\n /// @notice Thrown when call to `accountFactory` with `factoryCalldata` fails.\n error AccountDeploymentFailed();\n\n /// @notice Thrown when the address returned from call to `accountFactory` does not\n /// match passed account\n ///\n /// @param account The passed account\n /// @param returned The returned account\n error ReturnedAddressDoesNotMatchAccount(address account, address returned);\n\n /// @notice Computes and returns the expected ERC-1271 replay-safe hash for a GianoSmartWallet.\n ///\n /// @dev `accountFactory` can be any address if the account is already deployed.\n /// @dev `factoryCalldata` can be 0x if the account is already deployed.\n /// @dev If calling with solidity, the `replaySafeHash` will be `.code`.\n ///\n /// @param account The account that will receive the ERC-1271 `isValidSignature` call.\n /// @param hash The hash the wallet was asked to sign.\n /// @param accountFactory The factory that will be used to deploy the account (if not already deployed).\n /// @param factoryCalldata The calldata that will be used to deploy the account (if not already deployed).\n constructor(GianoSmartWallet account, bytes32 hash, address accountFactory, bytes memory factoryCalldata) {\n // This allows us to get a replay-safe hash on any deployed or undeployed account\n // in a single eth_call, i.e. without deploying the contract. We do this by calling replaySafeHash on a deployed\n // account,\n // or by simulating the deployment of an undeployed account and then calling replaySafeHash on it.\n bytes32 replaySafeHash = _gianoSmartWallet1271Input(account, hash, accountFactory, factoryCalldata);\n assembly {\n // store replay safe hash\n mstore(0x80, replaySafeHash)\n // return replay safe hash\n return(0x80, 0x20)\n }\n }\n\n /// @notice Helper method to get a replay-safe hash from the given `account` by calling its `replaySafeHash()`\n /// method.\n ///\n ///\n /// @dev Deploys the account if not already deployed before calling `replaySafeHash` on it.\n /// @dev Implements ERC-6492, see https://eips.ethereum.org/EIPS/eip-6492.\n ///\n /// @param account The account that will receive the ERC-1271 `isValidSignature` call.\n /// @param hash The hash the wallet was asked to sign.\n /// @param accountFactory The factory that will be used to deploy the account (if not already deployed).\n /// @param factoryCalldata The calldata that will be used to deploy the account (if not already deployed).\n ///\n /// @return The replay-safe hash.\n function _gianoSmartWallet1271Input(\n GianoSmartWallet account,\n bytes32 hash,\n address accountFactory,\n bytes memory factoryCalldata\n ) internal returns (bytes32) {\n // If the account is already deployed, call and return replaySafeHash.\n if (address(account).code.length > 0) {\n return account.replaySafeHash(hash);\n }\n\n // Deploy the account.\n (bool success, bytes memory result) = accountFactory.call(factoryCalldata);\n if (!success) {\n revert AccountDeploymentFailed();\n }\n\n address returnAddress = abi.decode(result, (address));\n if (returnAddress != address(account)) {\n revert ReturnedAddressDoesNotMatchAccount(address(account), returnAddress);\n }\n\n // Call and return replaySafeHash on the now-deployed account.\n return account.replaySafeHash(hash);\n }\n}\n" }, "webauthn-sol/WebAuthn.sol": { - "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\nimport {FCL_ecdsa} from \"FreshCryptoLib/FCL_ecdsa.sol\";\nimport {FCL_Elliptic_ZZ} from \"FreshCryptoLib/FCL_elliptic.sol\";\nimport {Base64} from \"openzeppelin-contracts/contracts/utils/Base64.sol\";\nimport {LibString} from \"solady/utils/LibString.sol\";\n\n/// @title WebAuthn\n///\n/// @notice A library for verifying WebAuthn Authentication Assertions, built off the work\n/// of Daimo.\n///\n/// @dev Attempts to use the RIP-7212 precompile for signature verification.\n/// If precompile verification fails, it falls back to FreshCryptoLib.\n///\n/// @author Coinbase (https://github.com/base-org/webauthn-sol)\n/// @author Daimo (https://github.com/daimo-eth/p256-verifier/blob/master/src/WebAuthn.sol)\nlibrary WebAuthn {\n using LibString for string;\n\n struct WebAuthnAuth {\n /// @dev The WebAuthn authenticator data.\n /// See https://www.w3.org/TR/webauthn-2/#dom-authenticatorassertionresponse-authenticatordata.\n bytes authenticatorData;\n /// @dev The WebAuthn client data JSON.\n /// See https://www.w3.org/TR/webauthn-2/#dom-authenticatorresponse-clientdatajson.\n string clientDataJSON;\n /// @dev The index at which \"challenge\":\"...\" occurs in `clientDataJSON`.\n uint256 challengeIndex;\n /// @dev The index at which \"type\":\"...\" occurs in `clientDataJSON`.\n uint256 typeIndex;\n /// @dev The r value of secp256r1 signature\n uint256 r;\n /// @dev The s value of secp256r1 signature\n uint256 s;\n }\n\n /// @dev Bit 0 of the authenticator data struct, corresponding to the \"User Present\" bit.\n /// See https://www.w3.org/TR/webauthn-2/#flags.\n bytes1 private constant _AUTH_DATA_FLAGS_UP = 0x01;\n\n /// @dev Bit 2 of the authenticator data struct, corresponding to the \"User Verified\" bit.\n /// See https://www.w3.org/TR/webauthn-2/#flags.\n bytes1 private constant _AUTH_DATA_FLAGS_UV = 0x04;\n\n /// @dev Secp256r1 curve order / 2 used as guard to prevent signature malleability issue.\n uint256 private constant _P256_N_DIV_2 = FCL_Elliptic_ZZ.n / 2;\n\n /// @dev The precompiled contract address to use for signature verification in the “secp256r1” elliptic curve.\n /// See https://github.com/ethereum/RIPs/blob/master/RIPS/rip-7212.md.\n address private constant _VERIFIER = address(0x100);\n\n /// @dev The expected type (hash) in the client data JSON when verifying assertion signatures.\n /// See https://www.w3.org/TR/webauthn-2/#dom-collectedclientdata-type\n bytes32 private constant _EXPECTED_TYPE_HASH = keccak256('\"type\":\"webauthn.get\"');\n\n ///\n /// @notice Verifies a Webauthn Authentication Assertion as described\n /// in https://www.w3.org/TR/webauthn-2/#sctn-verifying-assertion.\n ///\n /// @dev We do not verify all the steps as described in the specification, only ones relevant to our context.\n /// Please carefully read through this list before usage.\n ///\n /// Specifically, we do verify the following:\n /// - Verify that authenticatorData (which comes from the authenticator, such as iCloud Keychain) indicates\n /// a well-formed assertion with the user present bit set. If `requireUV` is set, checks that the authenticator\n /// enforced user verification. User verification should be required if, and only if, options.userVerification\n /// is set to required in the request.\n /// - Verifies that the client JSON is of type \"webauthn.get\", i.e. the client was responding to a request to\n /// assert authentication.\n /// - Verifies that the client JSON contains the requested challenge.\n /// - Verifies that (r, s) constitute a valid signature over both the authenicatorData and client JSON, for public\n /// key (x, y).\n ///\n /// We make some assumptions about the particular use case of this verifier, so we do NOT verify the following:\n /// - Does NOT verify that the origin in the `clientDataJSON` matches the Relying Party's origin: tt is considered\n /// the authenticator's responsibility to ensure that the user is interacting with the correct RP. This is\n /// enforced by most high quality authenticators properly, particularly the iCloud Keychain and Google Password\n /// Manager were tested.\n /// - Does NOT verify That `topOrigin` in `clientDataJSON` is well-formed: We assume it would never be present, i.e.\n /// the credentials are never used in a cross-origin/iframe context. The website/app set up should disallow\n /// cross-origin usage of the credentials. This is the default behaviour for created credentials in common settings.\n /// - Does NOT verify that the `rpIdHash` in `authenticatorData` is the SHA-256 hash of the RP ID expected by the Relying\n /// Party: this means that we rely on the authenticator to properly enforce credentials to be used only by the correct RP.\n /// This is generally enforced with features like Apple App Site Association and Google Asset Links. To protect from\n /// edge cases in which a previously-linked RP ID is removed from the authorised RP IDs, we recommend that messages\n /// signed by the authenticator include some expiry mechanism.\n /// - Does NOT verify the credential backup state: this assumes the credential backup state is NOT used as part of Relying\n /// Party business logic or policy.\n /// - Does NOT verify the values of the client extension outputs: this assumes that the Relying Party does not use client\n /// extension outputs.\n /// - Does NOT verify the signature counter: signature counters are intended to enable risk scoring for the Relying Party.\n /// This assumes risk scoring is not used as part of Relying Party business logic or policy.\n /// - Does NOT verify the attestation object: this assumes that response.attestationObject is NOT present in the response,\n /// i.e. the RP does not intend to verify an attestation.\n ///\n /// @param challenge The challenge that was provided by the relying party.\n /// @param requireUV A boolean indicating whether user verification is required.\n /// @param webAuthnAuth The `WebAuthnAuth` struct.\n /// @param x The x coordinate of the public key.\n /// @param y The y coordinate of the public key.\n ///\n /// @return `true` if the authentication assertion passed validation, else `false`.\n function verify(bytes memory challenge, bool requireUV, WebAuthnAuth memory webAuthnAuth, uint256 x, uint256 y) internal view returns (bool) {\n if (webAuthnAuth.s > _P256_N_DIV_2) {\n // guard against signature malleability\n return false;\n }\n\n // 11. Verify that the value of C.type is the string webauthn.get.\n // bytes(\"type\":\"webauthn.get\").length = 21\n string memory _type = webAuthnAuth.clientDataJSON.slice(webAuthnAuth.typeIndex, webAuthnAuth.typeIndex + 21);\n if (keccak256(bytes(_type)) != _EXPECTED_TYPE_HASH) {\n return false;\n }\n\n // 12. Verify that the value of C.challenge equals the base64url encoding of options.challenge.\n bytes memory expectedChallenge = bytes(string.concat('\"challenge\":\"', Base64.encodeURL(challenge), '\"'));\n string memory actualChallenge = webAuthnAuth.clientDataJSON.slice(webAuthnAuth.challengeIndex, webAuthnAuth.challengeIndex + expectedChallenge.length);\n if (keccak256(bytes(actualChallenge)) != keccak256(expectedChallenge)) {\n return false;\n }\n\n // Skip 13., 14., 15.\n\n // 16. Verify that the UP bit of the flags in authData is set.\n if (webAuthnAuth.authenticatorData[32] & _AUTH_DATA_FLAGS_UP != _AUTH_DATA_FLAGS_UP) {\n return false;\n }\n\n // 17. If user verification is required for this assertion, verify that the User Verified bit of the flags in\n // authData is set.\n if (requireUV && (webAuthnAuth.authenticatorData[32] & _AUTH_DATA_FLAGS_UV) != _AUTH_DATA_FLAGS_UV) {\n return false;\n }\n\n // skip 18.\n\n // 19. Let hash be the result of computing a hash over the cData using SHA-256.\n bytes32 clientDataJSONHash = sha256(bytes(webAuthnAuth.clientDataJSON));\n\n // 20. Using credentialPublicKey, verify that sig is a valid signature over the binary concatenation of authData\n // and hash.\n bytes32 messageHash = sha256(abi.encodePacked(webAuthnAuth.authenticatorData, clientDataJSONHash));\n bytes memory args = abi.encode(messageHash, webAuthnAuth.r, webAuthnAuth.s, x, y);\n // try the RIP-7212 precompile address\n (bool success, bytes memory ret) = _VERIFIER.staticcall(args);\n // staticcall will not revert if address has no code\n // check return length\n // note that even if precompile exists, ret.length is 0 when verification returns false\n // so an invalid signature will be checked twice: once by the precompile and once by FCL.\n // Ideally this signature failure is simulated offchain and no one actually pay this gas.\n bool valid = ret.length > 0;\n if (success && valid) return abi.decode(ret, (uint256)) == 1;\n\n return FCL_ecdsa.ecdsa_verify(messageHash, webAuthnAuth.r, webAuthnAuth.s, x, y);\n }\n}\n" + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\nimport {FCL_ecdsa} from \"FreshCryptoLib/FCL_ecdsa.sol\";\nimport {FCL_Elliptic_ZZ} from \"FreshCryptoLib/FCL_elliptic.sol\";\nimport {Base64} from \"openzeppelin-contracts/contracts/utils/Base64.sol\";\nimport {LibString} from \"solady/utils/LibString.sol\";\n\n/// @title WebAuthn\n///\n/// @notice A library for verifying WebAuthn Authentication Assertions, built off the work\n/// of Daimo.\n///\n/// @dev Attempts to use the RIP-7212 precompile for signature verification.\n/// If precompile verification fails, it falls back to FreshCryptoLib.\n///\n/// @author Coinbase (https://github.com/base-org/webauthn-sol)\n/// @author Daimo (https://github.com/daimo-eth/p256-verifier/blob/master/src/WebAuthn.sol)\nlibrary WebAuthn {\n using LibString for string;\n\n struct WebAuthnAuth {\n /// @dev The WebAuthn authenticator data.\n /// See https://www.w3.org/TR/webauthn-2/#dom-authenticatorassertionresponse-authenticatordata.\n bytes authenticatorData;\n /// @dev The WebAuthn client data JSON.\n /// See https://www.w3.org/TR/webauthn-2/#dom-authenticatorresponse-clientdatajson.\n string clientDataJSON;\n /// @dev The index at which \"challenge\":\"...\" occurs in `clientDataJSON`.\n uint256 challengeIndex;\n /// @dev The index at which \"type\":\"...\" occurs in `clientDataJSON`.\n uint256 typeIndex;\n /// @dev The r value of secp256r1 signature\n uint256 r;\n /// @dev The s value of secp256r1 signature\n uint256 s;\n }\n\n /// @dev Bit 0 of the authenticator data struct, corresponding to the \"User Present\" bit.\n /// See https://www.w3.org/TR/webauthn-2/#flags.\n bytes1 private constant _AUTH_DATA_FLAGS_UP = 0x01;\n\n /// @dev Bit 2 of the authenticator data struct, corresponding to the \"User Verified\" bit.\n /// See https://www.w3.org/TR/webauthn-2/#flags.\n bytes1 private constant _AUTH_DATA_FLAGS_UV = 0x04;\n\n /// @dev Secp256r1 curve order / 2 used as guard to prevent signature malleability issue.\n uint256 private constant _P256_N_DIV_2 = FCL_Elliptic_ZZ.n / 2;\n\n /// @dev The precompiled contract address to use for signature verification in the “secp256r1” elliptic curve.\n /// See https://github.com/ethereum/RIPs/blob/master/RIPS/rip-7212.md.\n address private constant _VERIFIER = address(0x100);\n\n /// @dev The expected type (hash) in the client data JSON when verifying assertion signatures.\n /// See https://www.w3.org/TR/webauthn-2/#dom-collectedclientdata-type\n bytes32 private constant _EXPECTED_TYPE_HASH = keccak256('\"type\":\"webauthn.get\"');\n\n ///\n /// @notice Verifies a Webauthn Authentication Assertion as described\n /// in https://www.w3.org/TR/webauthn-2/#sctn-verifying-assertion.\n ///\n /// @dev We do not verify all the steps as described in the specification, only ones relevant to our context.\n /// Please carefully read through this list before usage.\n ///\n /// Specifically, we do verify the following:\n /// - Verify that authenticatorData (which comes from the authenticator, such as iCloud Keychain) indicates\n /// a well-formed assertion with the user present bit set. If `requireUV` is set, checks that the authenticator\n /// enforced user verification. User verification should be required if, and only if, options.userVerification\n /// is set to required in the request.\n /// - Verifies that the client JSON is of type \"webauthn.get\", i.e. the client was responding to a request to\n /// assert authentication.\n /// - Verifies that the client JSON contains the requested challenge.\n /// - Verifies that (r, s) constitute a valid signature over both the authenicatorData and client JSON, for public\n /// key (x, y).\n ///\n /// We make some assumptions about the particular use case of this verifier, so we do NOT verify the following:\n /// - Does NOT verify that the origin in the `clientDataJSON` matches the Relying Party's origin: tt is considered\n /// the authenticator's responsibility to ensure that the user is interacting with the correct RP. This is\n /// enforced by most high quality authenticators properly, particularly the iCloud Keychain and Google Password\n /// Manager were tested.\n /// - Does NOT verify That `topOrigin` in `clientDataJSON` is well-formed: We assume it would never be present, i.e.\n /// the credentials are never used in a cross-origin/iframe context. The website/app set up should disallow\n /// cross-origin usage of the credentials. This is the default behaviour for created credentials in common settings.\n /// - Does NOT verify that the `rpIdHash` in `authenticatorData` is the SHA-256 hash of the RP ID expected by the Relying\n /// Party: this means that we rely on the authenticator to properly enforce credentials to be used only by the correct RP.\n /// This is generally enforced with features like Apple App Site Association and Google Asset Links. To protect from\n /// edge cases in which a previously-linked RP ID is removed from the authorised RP IDs, we recommend that messages\n /// signed by the authenticator include some expiry mechanism.\n /// - Does NOT verify the credential backup state: this assumes the credential backup state is NOT used as part of Relying\n /// Party business logic or policy.\n /// - Does NOT verify the values of the client extension outputs: this assumes that the Relying Party does not use client\n /// extension outputs.\n /// - Does NOT verify the signature counter: signature counters are intended to enable risk scoring for the Relying Party.\n /// This assumes risk scoring is not used as part of Relying Party business logic or policy.\n /// - Does NOT verify the attestation object: this assumes that response.attestationObject is NOT present in the response,\n /// i.e. the RP does not intend to verify an attestation.\n ///\n /// @param challenge The challenge that was provided by the relying party.\n /// @param requireUV A boolean indicating whether user verification is required.\n /// @param webAuthnAuth The `WebAuthnAuth` struct.\n /// @param x The x coordinate of the public key.\n /// @param y The y coordinate of the public key.\n ///\n /// @return `true` if the authentication assertion passed validation, else `false`.\n function verify(bytes memory challenge, bool requireUV, WebAuthnAuth memory webAuthnAuth, uint256 x, uint256 y)\n internal\n view\n returns (bool)\n {\n if (webAuthnAuth.s > _P256_N_DIV_2) {\n // guard against signature malleability\n return false;\n }\n\n // 11. Verify that the value of C.type is the string webauthn.get.\n // bytes(\"type\":\"webauthn.get\").length = 21\n string memory _type = webAuthnAuth.clientDataJSON.slice(webAuthnAuth.typeIndex, webAuthnAuth.typeIndex + 21);\n if (keccak256(bytes(_type)) != _EXPECTED_TYPE_HASH) {\n return false;\n }\n\n // 12. Verify that the value of C.challenge equals the base64url encoding of options.challenge.\n bytes memory expectedChallenge = bytes(string.concat('\"challenge\":\"', Base64.encodeURL(challenge), '\"'));\n string memory actualChallenge =\n webAuthnAuth.clientDataJSON.slice(webAuthnAuth.challengeIndex, webAuthnAuth.challengeIndex + expectedChallenge.length);\n if (keccak256(bytes(actualChallenge)) != keccak256(expectedChallenge)) {\n return false;\n }\n\n // Skip 13., 14., 15.\n\n // 16. Verify that the UP bit of the flags in authData is set.\n if (webAuthnAuth.authenticatorData[32] & _AUTH_DATA_FLAGS_UP != _AUTH_DATA_FLAGS_UP) {\n return false;\n }\n\n // 17. If user verification is required for this assertion, verify that the User Verified bit of the flags in\n // authData is set.\n if (requireUV && (webAuthnAuth.authenticatorData[32] & _AUTH_DATA_FLAGS_UV) != _AUTH_DATA_FLAGS_UV) {\n return false;\n }\n\n // skip 18.\n\n // 19. Let hash be the result of computing a hash over the cData using SHA-256.\n bytes32 clientDataJSONHash = sha256(bytes(webAuthnAuth.clientDataJSON));\n\n // 20. Using credentialPublicKey, verify that sig is a valid signature over the binary concatenation of authData\n // and hash.\n bytes32 messageHash = sha256(abi.encodePacked(webAuthnAuth.authenticatorData, clientDataJSONHash));\n bytes memory args = abi.encode(messageHash, webAuthnAuth.r, webAuthnAuth.s, x, y);\n // try the RIP-7212 precompile address\n (bool success, bytes memory ret) = _VERIFIER.staticcall(args);\n // staticcall will not revert if address has no code\n // check return length\n // note that even if precompile exists, ret.length is 0 when verification returns false\n // so an invalid signature will be checked twice: once by the precompile and once by FCL.\n // Ideally this signature failure is simulated offchain and no one actually pay this gas.\n bool valid = ret.length > 0;\n if (success && valid) return abi.decode(ret, (uint256)) == 1;\n\n return FCL_ecdsa.ecdsa_verify(messageHash, webAuthnAuth.r, webAuthnAuth.s, x, y);\n }\n}\n" } }, "settings": { @@ -133,15 +133,12 @@ "calldataKeccak": [ 160 ], - "finalizeAllocation": [ - 188 - ], "min": [ 178 ] }, - "id": 189, - "license": "MIT", + "id": 179, + "license": "GPL-3.0", "nodeType": "SourceUnit", "nodes": [ { @@ -150,20 +147,20 @@ "solidity", "^", "0.8", - ".28" + ".23" ], "nodeType": "PragmaDirective", - "src": "32:24:0" + "src": "36:24:0" }, { "constant": true, "id": 4, "mutability": "constant", "name": "SIG_VALIDATION_FAILED", - "nameLocation": "277:21:0", + "nameLocation": "281:21:0", "nodeType": "VariableDeclaration", - "scope": 189, - "src": "260:42:0", + "scope": 179, + "src": "264:42:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -174,7 +171,7 @@ "id": 2, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "260:7:0", + "src": "264:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -189,7 +186,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "301:1:0", + "src": "305:1:0", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -203,10 +200,10 @@ "id": 7, "mutability": "constant", "name": "SIG_VALIDATION_SUCCESS", - "nameLocation": "436:22:0", + "nameLocation": "440:22:0", "nodeType": "VariableDeclaration", - "scope": 189, - "src": "419:43:0", + "scope": 179, + "src": "423:43:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -217,7 +214,7 @@ "id": 5, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "419:7:0", + "src": "423:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -232,7 +229,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "461:1:0", + "src": "465:1:0", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -246,8 +243,8 @@ "documentation": { "id": 8, "nodeType": "StructuredDocumentation", - "src": "466:659:0", - "text": " Returned data from validateUserOp.\n validateUserOp returns a uint256, which is created by `_packedValidationData` and\n parsed by `_parseValidationData`.\n @param aggregator - address(0) - The account validated the signature by itself.\n address(1) - The account failed to validate the signature.\n otherwise - This is an address of a signature aggregator that must\n be used to validate the signature.\n @param validAfter - This UserOp is valid only after this timestamp.\n @param validUntil - Last timestamp this operation is valid at, or 0 for \"indefinitely\"." + "src": "470:640:0", + "text": " Returned data from validateUserOp.\n validateUserOp returns a uint256, which is created by `_packedValidationData` and\n parsed by `_parseValidationData`.\n @param aggregator - address(0) - The account validated the signature by itself.\n address(1) - The account failed to validate the signature.\n otherwise - This is an address of a signature aggregator that must\n be used to validate the signature.\n @param validAfter - This UserOp is valid only after this timestamp.\n @param validaUntil - This UserOp is valid only up to this timestamp." }, "id": 15, "members": [ @@ -256,10 +253,10 @@ "id": 10, "mutability": "mutable", "name": "aggregator", - "nameLocation": "1162:10:0", + "nameLocation": "1147:10:0", "nodeType": "VariableDeclaration", "scope": 15, - "src": "1154:18:0", + "src": "1139:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -270,7 +267,7 @@ "id": 9, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1154:7:0", + "src": "1139:7:0", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -284,10 +281,10 @@ "id": 12, "mutability": "mutable", "name": "validAfter", - "nameLocation": "1185:10:0", + "nameLocation": "1170:10:0", "nodeType": "VariableDeclaration", "scope": 15, - "src": "1178:17:0", + "src": "1163:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -298,7 +295,7 @@ "id": 11, "name": "uint48", "nodeType": "ElementaryTypeName", - "src": "1178:6:0", + "src": "1163:6:0", "typeDescriptions": { "typeIdentifier": "t_uint48", "typeString": "uint48" @@ -311,10 +308,10 @@ "id": 14, "mutability": "mutable", "name": "validUntil", - "nameLocation": "1208:10:0", + "nameLocation": "1193:10:0", "nodeType": "VariableDeclaration", "scope": 15, - "src": "1201:17:0", + "src": "1186:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -325,7 +322,7 @@ "id": 13, "name": "uint48", "nodeType": "ElementaryTypeName", - "src": "1201:6:0", + "src": "1186:6:0", "typeDescriptions": { "typeIdentifier": "t_uint48", "typeString": "uint48" @@ -335,17 +332,17 @@ } ], "name": "ValidationData", - "nameLocation": "1133:14:0", + "nameLocation": "1118:14:0", "nodeType": "StructDefinition", - "scope": 189, - "src": "1126:95:0", + "scope": 179, + "src": "1111:95:0", "visibility": "public" }, { "body": { "id": 74, "nodeType": "Block", - "src": "1556:314:0", + "src": "1472:314:0", "statements": [ { "assignments": [ @@ -357,10 +354,10 @@ "id": 25, "mutability": "mutable", "name": "aggregator", - "nameLocation": "1570:10:0", + "nameLocation": "1486:10:0", "nodeType": "VariableDeclaration", "scope": 74, - "src": "1562:18:0", + "src": "1478:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -371,7 +368,7 @@ "id": 24, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1562:7:0", + "src": "1478:7:0", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -392,7 +389,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 18, - "src": "1599:14:0", + "src": "1515:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -412,7 +409,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1591:7:0", + "src": "1507:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint160_$", "typeString": "type(uint160)" @@ -421,7 +418,7 @@ "id": 28, "name": "uint160", "nodeType": "ElementaryTypeName", - "src": "1591:7:0", + "src": "1507:7:0", "typeDescriptions": {} } }, @@ -434,7 +431,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1591:23:0", + "src": "1507:23:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint160", @@ -455,7 +452,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1583:7:0", + "src": "1499:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -464,7 +461,7 @@ "id": 26, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1583:7:0", + "src": "1499:7:0", "typeDescriptions": {} } }, @@ -477,7 +474,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1583:32:0", + "src": "1499:32:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -485,7 +482,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "1562:53:0" + "src": "1478:53:0" }, { "assignments": [ @@ -497,10 +494,10 @@ "id": 35, "mutability": "mutable", "name": "validUntil", - "nameLocation": "1628:10:0", + "nameLocation": "1544:10:0", "nodeType": "VariableDeclaration", "scope": 74, - "src": "1621:17:0", + "src": "1537:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -511,7 +508,7 @@ "id": 34, "name": "uint48", "nodeType": "ElementaryTypeName", - "src": "1621:6:0", + "src": "1537:6:0", "typeDescriptions": { "typeIdentifier": "t_uint48", "typeString": "uint48" @@ -539,7 +536,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 18, - "src": "1648:14:0", + "src": "1564:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -556,14 +553,14 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1666:3:0", + "src": "1582:3:0", "typeDescriptions": { "typeIdentifier": "t_rational_160_by_1", "typeString": "int_const 160" }, "value": "160" }, - "src": "1648:21:0", + "src": "1564:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -583,7 +580,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1641:6:0", + "src": "1557:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint48_$", "typeString": "type(uint48)" @@ -592,7 +589,7 @@ "id": 36, "name": "uint48", "nodeType": "ElementaryTypeName", - "src": "1641:6:0", + "src": "1557:6:0", "typeDescriptions": {} } }, @@ -605,7 +602,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1641:29:0", + "src": "1557:29:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint48", @@ -613,7 +610,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "1621:49:0" + "src": "1537:49:0" }, { "condition": { @@ -632,7 +629,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 35, - "src": "1680:10:0", + "src": "1596:10:0", "typeDescriptions": { "typeIdentifier": "t_uint48", "typeString": "uint48" @@ -649,14 +646,14 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1694:1:0", + "src": "1610:1:0", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "1680:15:0", + "src": "1596:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -664,11 +661,11 @@ }, "id": 55, "nodeType": "IfStatement", - "src": "1676:67:0", + "src": "1592:67:0", "trueBody": { "id": 54, "nodeType": "Block", - "src": "1697:46:0", + "src": "1613:46:0", "statements": [ { "expression": { @@ -683,7 +680,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 35, - "src": "1707:10:0", + "src": "1623:10:0", "typeDescriptions": { "typeIdentifier": "t_uint48", "typeString": "uint48" @@ -701,7 +698,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1725:6:0", + "src": "1641:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint48_$", "typeString": "type(uint48)" @@ -710,7 +707,7 @@ "id": 48, "name": "uint48", "nodeType": "ElementaryTypeName", - "src": "1725:6:0", + "src": "1641:6:0", "typeDescriptions": {} } } @@ -727,7 +724,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -27, - "src": "1720:4:0", + "src": "1636:4:0", "typeDescriptions": { "typeIdentifier": "t_function_metatype_pure$__$returns$__$", "typeString": "function () pure" @@ -742,7 +739,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1720:12:0", + "src": "1636:12:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_magic_meta_type_t_uint48", @@ -754,16 +751,16 @@ "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "1733:3:0", + "memberLocation": "1649:3:0", "memberName": "max", "nodeType": "MemberAccess", - "src": "1720:16:0", + "src": "1636:16:0", "typeDescriptions": { "typeIdentifier": "t_uint48", "typeString": "uint48" } }, - "src": "1707:29:0", + "src": "1623:29:0", "typeDescriptions": { "typeIdentifier": "t_uint48", "typeString": "uint48" @@ -771,7 +768,7 @@ }, "id": 53, "nodeType": "ExpressionStatement", - "src": "1707:29:0" + "src": "1623:29:0" } ] } @@ -786,10 +783,10 @@ "id": 57, "mutability": "mutable", "name": "validAfter", - "nameLocation": "1755:10:0", + "nameLocation": "1671:10:0", "nodeType": "VariableDeclaration", "scope": 74, - "src": "1748:17:0", + "src": "1664:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -800,7 +797,7 @@ "id": 56, "name": "uint48", "nodeType": "ElementaryTypeName", - "src": "1748:6:0", + "src": "1664:6:0", "typeDescriptions": { "typeIdentifier": "t_uint48", "typeString": "uint48" @@ -828,7 +825,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 18, - "src": "1775:14:0", + "src": "1691:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -857,7 +854,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1794:2:0", + "src": "1710:2:0", "typeDescriptions": { "typeIdentifier": "t_rational_48_by_1", "typeString": "int_const 48" @@ -875,14 +872,14 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1799:3:0", + "src": "1715:3:0", "typeDescriptions": { "typeIdentifier": "t_rational_160_by_1", "typeString": "int_const 160" }, "value": "160" }, - "src": "1794:8:0", + "src": "1710:8:0", "typeDescriptions": { "typeIdentifier": "t_rational_208_by_1", "typeString": "int_const 208" @@ -896,13 +893,13 @@ "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "1793:10:0", + "src": "1709:10:0", "typeDescriptions": { "typeIdentifier": "t_rational_208_by_1", "typeString": "int_const 208" } }, - "src": "1775:28:0", + "src": "1691:28:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -922,7 +919,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1768:6:0", + "src": "1684:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint48_$", "typeString": "type(uint48)" @@ -931,7 +928,7 @@ "id": 58, "name": "uint48", "nodeType": "ElementaryTypeName", - "src": "1768:6:0", + "src": "1684:6:0", "typeDescriptions": {} } }, @@ -944,7 +941,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1768:36:0", + "src": "1684:36:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint48", @@ -952,7 +949,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "1748:56:0" + "src": "1664:56:0" }, { "expression": { @@ -963,7 +960,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 25, - "src": "1832:10:0", + "src": "1748:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -975,7 +972,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 57, - "src": "1844:10:0", + "src": "1760:10:0", "typeDescriptions": { "typeIdentifier": "t_uint48", "typeString": "uint48" @@ -987,7 +984,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 35, - "src": "1856:10:0", + "src": "1772:10:0", "typeDescriptions": { "typeIdentifier": "t_uint48", "typeString": "uint48" @@ -1014,7 +1011,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 15, - "src": "1817:14:0", + "src": "1733:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_ValidationData_$15_storage_ptr_$", "typeString": "type(struct ValidationData storage pointer)" @@ -1029,7 +1026,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1817:50:0", + "src": "1733:50:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_struct$_ValidationData_$15_memory_ptr", @@ -1039,22 +1036,22 @@ "functionReturnParameters": 23, "id": 73, "nodeType": "Return", - "src": "1810:57:0" + "src": "1726:57:0" } ] }, "documentation": { "id": 16, "nodeType": "StructuredDocumentation", - "src": "1223:230:0", - "text": " Extract aggregator/sigFailed, validAfter, validUntil.\n Also convert zero validUntil to type(uint48).max.\n @param validationData - The packed validation data.\n @return data - The unpacked in-memory validation data." + "src": "1208:161:0", + "text": " Extract sigFailed, validAfter, validUntil.\n Also convert zero validUntil to type(uint48).max.\n @param validationData - The packed validation data." }, "id": 75, "implemented": true, "kind": "freeFunction", "modifiers": [], "name": "_parseValidationData", - "nameLocation": "1463:20:0", + "nameLocation": "1379:20:0", "nodeType": "FunctionDefinition", "parameters": { "id": 19, @@ -1065,10 +1062,10 @@ "id": 18, "mutability": "mutable", "name": "validationData", - "nameLocation": "1497:14:0", + "nameLocation": "1413:14:0", "nodeType": "VariableDeclaration", "scope": 75, - "src": "1489:22:0", + "src": "1405:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1079,7 +1076,7 @@ "id": 17, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1489:7:0", + "src": "1405:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1088,7 +1085,7 @@ "visibility": "internal" } ], - "src": "1483:30:0" + "src": "1399:30:0" }, "returnParameters": { "id": 23, @@ -1099,10 +1096,10 @@ "id": 22, "mutability": "mutable", "name": "data", - "nameLocation": "1550:4:0", + "nameLocation": "1466:4:0", "nodeType": "VariableDeclaration", "scope": 75, - "src": "1528:26:0", + "src": "1444:26:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1116,14 +1113,14 @@ "id": 20, "name": "ValidationData", "nameLocations": [ - "1528:14:0" + "1444:14:0" ], "nodeType": "IdentifierPath", "referencedDeclaration": 15, - "src": "1528:14:0" + "src": "1444:14:0" }, "referencedDeclaration": 15, - "src": "1528:14:0", + "src": "1444:14:0", "typeDescriptions": { "typeIdentifier": "t_struct$_ValidationData_$15_storage_ptr", "typeString": "struct ValidationData" @@ -1132,10 +1129,10 @@ "visibility": "internal" } ], - "src": "1527:28:0" + "src": "1443:28:0" }, - "scope": 189, - "src": "1454:416:0", + "scope": 179, + "src": "1370:416:0", "stateMutability": "pure", "virtual": false, "visibility": "internal" @@ -1144,7 +1141,7 @@ "body": { "id": 111, "nodeType": "Block", - "src": "2105:143:0", + "src": "1982:143:0", "statements": [ { "expression": { @@ -1176,7 +1173,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 79, - "src": "2134:4:0", + "src": "2011:4:0", "typeDescriptions": { "typeIdentifier": "t_struct$_ValidationData_$15_memory_ptr", "typeString": "struct ValidationData memory" @@ -1187,11 +1184,11 @@ "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "2139:10:0", + "memberLocation": "2016:10:0", "memberName": "aggregator", "nodeType": "MemberAccess", "referencedDeclaration": 10, - "src": "2134:15:0", + "src": "2011:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1211,7 +1208,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2126:7:0", + "src": "2003:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint160_$", "typeString": "type(uint160)" @@ -1220,7 +1217,7 @@ "id": 84, "name": "uint160", "nodeType": "ElementaryTypeName", - "src": "2126:7:0", + "src": "2003:7:0", "typeDescriptions": {} } }, @@ -1233,7 +1230,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2126:24:0", + "src": "2003:24:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint160", @@ -1263,7 +1260,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 79, - "src": "2170:4:0", + "src": "2047:4:0", "typeDescriptions": { "typeIdentifier": "t_struct$_ValidationData_$15_memory_ptr", "typeString": "struct ValidationData memory" @@ -1274,11 +1271,11 @@ "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "2175:10:0", + "memberLocation": "2052:10:0", "memberName": "validUntil", "nodeType": "MemberAccess", "referencedDeclaration": 14, - "src": "2170:15:0", + "src": "2047:15:0", "typeDescriptions": { "typeIdentifier": "t_uint48", "typeString": "uint48" @@ -1298,7 +1295,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2162:7:0", + "src": "2039:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" @@ -1307,7 +1304,7 @@ "id": 89, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2162:7:0", + "src": "2039:7:0", "typeDescriptions": {} } }, @@ -1320,7 +1317,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2162:24:0", + "src": "2039:24:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1338,14 +1335,14 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2190:3:0", + "src": "2067:3:0", "typeDescriptions": { "typeIdentifier": "t_rational_160_by_1", "typeString": "int_const 160" }, "value": "160" }, - "src": "2162:31:0", + "src": "2039:31:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1359,13 +1356,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "2161:33:0", + "src": "2038:33:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2126:68:0", + "src": "2003:68:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1394,7 +1391,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 79, - "src": "2214:4:0", + "src": "2091:4:0", "typeDescriptions": { "typeIdentifier": "t_struct$_ValidationData_$15_memory_ptr", "typeString": "struct ValidationData memory" @@ -1405,11 +1402,11 @@ "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "2219:10:0", + "memberLocation": "2096:10:0", "memberName": "validAfter", "nodeType": "MemberAccess", "referencedDeclaration": 12, - "src": "2214:15:0", + "src": "2091:15:0", "typeDescriptions": { "typeIdentifier": "t_uint48", "typeString": "uint48" @@ -1429,7 +1426,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2206:7:0", + "src": "2083:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" @@ -1438,7 +1435,7 @@ "id": 98, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2206:7:0", + "src": "2083:7:0", "typeDescriptions": {} } }, @@ -1451,7 +1448,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2206:24:0", + "src": "2083:24:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1481,7 +1478,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2235:3:0", + "src": "2112:3:0", "typeDescriptions": { "typeIdentifier": "t_rational_160_by_1", "typeString": "int_const 160" @@ -1499,14 +1496,14 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2241:2:0", + "src": "2118:2:0", "typeDescriptions": { "typeIdentifier": "t_rational_48_by_1", "typeString": "int_const 48" }, "value": "48" }, - "src": "2235:8:0", + "src": "2112:8:0", "typeDescriptions": { "typeIdentifier": "t_rational_208_by_1", "typeString": "int_const 208" @@ -1520,13 +1517,13 @@ "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "2234:10:0", + "src": "2111:10:0", "typeDescriptions": { "typeIdentifier": "t_rational_208_by_1", "typeString": "int_const 208" } }, - "src": "2206:38:0", + "src": "2083:38:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1540,13 +1537,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "2205:40:0", + "src": "2082:40:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2126:119:0", + "src": "2003:119:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1555,22 +1552,22 @@ "functionReturnParameters": 83, "id": 110, "nodeType": "Return", - "src": "2111:134:0" + "src": "1988:134:0" } ] }, "documentation": { "id": 76, "nodeType": "StructuredDocumentation", - "src": "1872:146:0", - "text": " Helper to pack the return value for validateUserOp.\n @param data - The ValidationData to pack.\n @return the packed validation data." + "src": "1788:107:0", + "text": " Helper to pack the return value for validateUserOp.\n @param data - The ValidationData to pack." }, "id": 112, "implemented": true, "kind": "freeFunction", "modifiers": [], "name": "_packValidationData", - "nameLocation": "2028:19:0", + "nameLocation": "1905:19:0", "nodeType": "FunctionDefinition", "parameters": { "id": 80, @@ -1581,10 +1578,10 @@ "id": 79, "mutability": "mutable", "name": "data", - "nameLocation": "2075:4:0", + "nameLocation": "1952:4:0", "nodeType": "VariableDeclaration", "scope": 112, - "src": "2053:26:0", + "src": "1930:26:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1598,14 +1595,14 @@ "id": 77, "name": "ValidationData", "nameLocations": [ - "2053:14:0" + "1930:14:0" ], "nodeType": "IdentifierPath", "referencedDeclaration": 15, - "src": "2053:14:0" + "src": "1930:14:0" }, "referencedDeclaration": 15, - "src": "2053:14:0", + "src": "1930:14:0", "typeDescriptions": { "typeIdentifier": "t_struct$_ValidationData_$15_storage_ptr", "typeString": "struct ValidationData" @@ -1614,7 +1611,7 @@ "visibility": "internal" } ], - "src": "2047:34:0" + "src": "1924:34:0" }, "returnParameters": { "id": 83, @@ -1628,7 +1625,7 @@ "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 112, - "src": "2096:7:0", + "src": "1973:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1639,7 +1636,7 @@ "id": 81, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2096:7:0", + "src": "1973:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1648,10 +1645,10 @@ "visibility": "internal" } ], - "src": "2095:9:0" + "src": "1972:9:0" }, - "scope": 189, - "src": "2019:229:0", + "scope": 179, + "src": "1896:229:0", "stateMutability": "pure", "virtual": false, "visibility": "internal" @@ -1660,7 +1657,7 @@ "body": { "id": 149, "nodeType": "Block", - "src": "2731:170:0", + "src": "2568:128:0", "statements": [ { "expression": { @@ -1692,23 +1689,27 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 115, - "src": "2753:9:0", + "src": "2590:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseExpression": { + "hexValue": "30", "id": 126, - "name": "SIG_VALIDATION_SUCCESS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7, - "src": "2790:22:0", + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2606:1:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" }, "id": 127, "isConstant": false, @@ -1716,22 +1717,26 @@ "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "2753:59:0", + "src": "2590:17:0", "trueExpression": { + "hexValue": "31", "id": 125, - "name": "SIG_VALIDATION_FAILED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4, - "src": "2766:21:0", + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2602:1:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" }, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } } ], @@ -1742,10 +1747,10 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "2752:61:0", + "src": "2589:19:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } }, "nodeType": "BinaryOperation", @@ -1770,7 +1775,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 117, - "src": "2833:10:0", + "src": "2628:10:0", "typeDescriptions": { "typeIdentifier": "t_uint48", "typeString": "uint48" @@ -1790,7 +1795,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2825:7:0", + "src": "2620:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" @@ -1799,7 +1804,7 @@ "id": 129, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2825:7:0", + "src": "2620:7:0", "typeDescriptions": {} } }, @@ -1812,7 +1817,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2825:19:0", + "src": "2620:19:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1830,14 +1835,14 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2848:3:0", + "src": "2643:3:0", "typeDescriptions": { "typeIdentifier": "t_rational_160_by_1", "typeString": "int_const 160" }, "value": "160" }, - "src": "2825:26:0", + "src": "2620:26:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1851,13 +1856,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "2824:28:0", + "src": "2619:28:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2752:100:0", + "src": "2589:58:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1885,7 +1890,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 119, - "src": "2872:10:0", + "src": "2667:10:0", "typeDescriptions": { "typeIdentifier": "t_uint48", "typeString": "uint48" @@ -1905,7 +1910,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2864:7:0", + "src": "2659:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" @@ -1914,7 +1919,7 @@ "id": 137, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2864:7:0", + "src": "2659:7:0", "typeDescriptions": {} } }, @@ -1927,7 +1932,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2864:19:0", + "src": "2659:19:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1957,7 +1962,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2888:3:0", + "src": "2683:3:0", "typeDescriptions": { "typeIdentifier": "t_rational_160_by_1", "typeString": "int_const 160" @@ -1975,14 +1980,14 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2894:2:0", + "src": "2689:2:0", "typeDescriptions": { "typeIdentifier": "t_rational_48_by_1", "typeString": "int_const 48" }, "value": "48" }, - "src": "2888:8:0", + "src": "2683:8:0", "typeDescriptions": { "typeIdentifier": "t_rational_208_by_1", "typeString": "int_const 208" @@ -1996,13 +2001,13 @@ "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "2887:10:0", + "src": "2682:10:0", "typeDescriptions": { "typeIdentifier": "t_rational_208_by_1", "typeString": "int_const 208" } }, - "src": "2864:33:0", + "src": "2659:33:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2016,13 +2021,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "2863:35:0", + "src": "2658:35:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2752:146:0", + "src": "2589:104:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2031,22 +2036,22 @@ "functionReturnParameters": 123, "id": 148, "nodeType": "Return", - "src": "2737:161:0" + "src": "2574:119:0" } ] }, "documentation": { "id": 113, "nodeType": "StructuredDocumentation", - "src": "2250:360:0", - "text": " Helper to pack the return value for validateUserOp, when not using an aggregator.\n @param sigFailed - True for signature failure, false for success.\n @param validUntil - Last timestamp this operation is valid at, or 0 for \"indefinitely\".\n @param validAfter - First timestamp this UserOperation is valid.\n @return the packed validation data." + "src": "2127:320:0", + "text": " Helper to pack the return value for validateUserOp, when not using an aggregator.\n @param sigFailed - True for signature failure, false for success.\n @param validUntil - Last timestamp this UserOperation is valid (or zero for infinite).\n @param validAfter - First timestamp this UserOperation is valid." }, "id": 150, "implemented": true, "kind": "freeFunction", "modifiers": [], "name": "_packValidationData", - "nameLocation": "2620:19:0", + "nameLocation": "2457:19:0", "nodeType": "FunctionDefinition", "parameters": { "id": 120, @@ -2057,10 +2062,10 @@ "id": 115, "mutability": "mutable", "name": "sigFailed", - "nameLocation": "2650:9:0", + "nameLocation": "2487:9:0", "nodeType": "VariableDeclaration", "scope": 150, - "src": "2645:14:0", + "src": "2482:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2071,7 +2076,7 @@ "id": 114, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2645:4:0", + "src": "2482:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2084,10 +2089,10 @@ "id": 117, "mutability": "mutable", "name": "validUntil", - "nameLocation": "2672:10:0", + "nameLocation": "2509:10:0", "nodeType": "VariableDeclaration", "scope": 150, - "src": "2665:17:0", + "src": "2502:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2098,7 +2103,7 @@ "id": 116, "name": "uint48", "nodeType": "ElementaryTypeName", - "src": "2665:6:0", + "src": "2502:6:0", "typeDescriptions": { "typeIdentifier": "t_uint48", "typeString": "uint48" @@ -2111,10 +2116,10 @@ "id": 119, "mutability": "mutable", "name": "validAfter", - "nameLocation": "2695:10:0", + "nameLocation": "2532:10:0", "nodeType": "VariableDeclaration", "scope": 150, - "src": "2688:17:0", + "src": "2525:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2125,7 +2130,7 @@ "id": 118, "name": "uint48", "nodeType": "ElementaryTypeName", - "src": "2688:6:0", + "src": "2525:6:0", "typeDescriptions": { "typeIdentifier": "t_uint48", "typeString": "uint48" @@ -2134,7 +2139,7 @@ "visibility": "internal" } ], - "src": "2639:68:0" + "src": "2476:68:0" }, "returnParameters": { "id": 123, @@ -2148,7 +2153,7 @@ "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 150, - "src": "2722:7:0", + "src": "2559:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2159,7 +2164,7 @@ "id": 121, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2722:7:0", + "src": "2559:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2168,10 +2173,10 @@ "visibility": "internal" } ], - "src": "2721:9:0" + "src": "2558:9:0" }, - "scope": 189, - "src": "2611:290:0", + "scope": 179, + "src": "2448:248:0", "stateMutability": "pure", "virtual": false, "visibility": "internal" @@ -2180,65 +2185,65 @@ "body": { "id": 159, "nodeType": "Block", - "src": "3277:209:0", + "src": "2951:209:0", "statements": [ { "AST": { - "nativeSrc": "3312:168:0", + "nativeSrc": "2986:168:0", "nodeType": "YulBlock", - "src": "3312:168:0", + "src": "2986:168:0", "statements": [ { - "nativeSrc": "3326:22:0", + "nativeSrc": "3000:22:0", "nodeType": "YulVariableDeclaration", - "src": "3326:22:0", + "src": "3000:22:0", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "3343:4:0", + "nativeSrc": "3017:4:0", "nodeType": "YulLiteral", - "src": "3343:4:0", + "src": "3017:4:0", "type": "", "value": "0x40" } ], "functionName": { "name": "mload", - "nativeSrc": "3337:5:0", + "nativeSrc": "3011:5:0", "nodeType": "YulIdentifier", - "src": "3337:5:0" + "src": "3011:5:0" }, - "nativeSrc": "3337:11:0", + "nativeSrc": "3011:11:0", "nodeType": "YulFunctionCall", - "src": "3337:11:0" + "src": "3011:11:0" }, "variables": [ { "name": "mem", - "nativeSrc": "3330:3:0", + "nativeSrc": "3004:3:0", "nodeType": "YulTypedName", - "src": "3330:3:0", + "src": "3004:3:0", "type": "" } ] }, { - "nativeSrc": "3361:22:0", + "nativeSrc": "3035:22:0", "nodeType": "YulVariableDeclaration", - "src": "3361:22:0", + "src": "3035:22:0", "value": { "name": "data.length", - "nativeSrc": "3372:11:0", + "nativeSrc": "3046:11:0", "nodeType": "YulIdentifier", - "src": "3372:11:0" + "src": "3046:11:0" }, "variables": [ { "name": "len", - "nativeSrc": "3365:3:0", + "nativeSrc": "3039:3:0", "nodeType": "YulTypedName", - "src": "3365:3:0", + "src": "3039:3:0", "type": "" } ] @@ -2248,72 +2253,72 @@ "arguments": [ { "name": "mem", - "nativeSrc": "3409:3:0", + "nativeSrc": "3083:3:0", "nodeType": "YulIdentifier", - "src": "3409:3:0" + "src": "3083:3:0" }, { "name": "data.offset", - "nativeSrc": "3414:11:0", + "nativeSrc": "3088:11:0", "nodeType": "YulIdentifier", - "src": "3414:11:0" + "src": "3088:11:0" }, { "name": "len", - "nativeSrc": "3427:3:0", + "nativeSrc": "3101:3:0", "nodeType": "YulIdentifier", - "src": "3427:3:0" + "src": "3101:3:0" } ], "functionName": { "name": "calldatacopy", - "nativeSrc": "3396:12:0", + "nativeSrc": "3070:12:0", "nodeType": "YulIdentifier", - "src": "3396:12:0" + "src": "3070:12:0" }, - "nativeSrc": "3396:35:0", + "nativeSrc": "3070:35:0", "nodeType": "YulFunctionCall", - "src": "3396:35:0" + "src": "3070:35:0" }, - "nativeSrc": "3396:35:0", + "nativeSrc": "3070:35:0", "nodeType": "YulExpressionStatement", - "src": "3396:35:0" + "src": "3070:35:0" }, { - "nativeSrc": "3444:26:0", + "nativeSrc": "3118:26:0", "nodeType": "YulAssignment", - "src": "3444:26:0", + "src": "3118:26:0", "value": { "arguments": [ { "name": "mem", - "nativeSrc": "3461:3:0", + "nativeSrc": "3135:3:0", "nodeType": "YulIdentifier", - "src": "3461:3:0" + "src": "3135:3:0" }, { "name": "len", - "nativeSrc": "3466:3:0", + "nativeSrc": "3140:3:0", "nodeType": "YulIdentifier", - "src": "3466:3:0" + "src": "3140:3:0" } ], "functionName": { "name": "keccak256", - "nativeSrc": "3451:9:0", + "nativeSrc": "3125:9:0", "nodeType": "YulIdentifier", - "src": "3451:9:0" + "src": "3125:9:0" }, - "nativeSrc": "3451:19:0", + "nativeSrc": "3125:19:0", "nodeType": "YulFunctionCall", - "src": "3451:19:0" + "src": "3125:19:0" }, "variableNames": [ { "name": "ret", - "nativeSrc": "3444:3:0", + "nativeSrc": "3118:3:0", "nodeType": "YulIdentifier", - "src": "3444:3:0" + "src": "3118:3:0" } ] } @@ -2325,7 +2330,7 @@ "declaration": 153, "isOffset": false, "isSlot": false, - "src": "3372:11:0", + "src": "3046:11:0", "suffix": "length", "valueSize": 1 }, @@ -2333,7 +2338,7 @@ "declaration": 153, "isOffset": true, "isSlot": false, - "src": "3414:11:0", + "src": "3088:11:0", "suffix": "offset", "valueSize": 1 }, @@ -2341,7 +2346,7 @@ "declaration": 156, "isOffset": false, "isSlot": false, - "src": "3444:3:0", + "src": "3118:3:0", "valueSize": 1 } ], @@ -2350,22 +2355,22 @@ ], "id": 158, "nodeType": "InlineAssembly", - "src": "3287:193:0" + "src": "2961:193:0" } ] }, "documentation": { "id": 151, "nodeType": "StructuredDocumentation", - "src": "2903:297:0", - "text": " keccak function over calldata.\n @dev copy calldata into memory, do keccak and drop allocated memory. Strangely, this is more efficient than letting solidity do it.\n @param data - the calldata bytes array to perform keccak on.\n @return ret - the keccak hash of the 'data' array." + "src": "2698:176:0", + "text": " keccak function over calldata.\n @dev copy calldata into memory, do keccak and drop allocated memory. Strangely, this is more efficient than letting solidity do it." }, "id": 160, "implemented": true, "kind": "freeFunction", "modifiers": [], "name": "calldataKeccak", - "nameLocation": "3214:14:0", + "nameLocation": "2888:14:0", "nodeType": "FunctionDefinition", "parameters": { "id": 154, @@ -2376,10 +2381,10 @@ "id": 153, "mutability": "mutable", "name": "data", - "nameLocation": "3244:4:0", + "nameLocation": "2918:4:0", "nodeType": "VariableDeclaration", "scope": 160, - "src": "3229:19:0", + "src": "2903:19:0", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -2390,7 +2395,7 @@ "id": 152, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "3229:5:0", + "src": "2903:5:0", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -2399,7 +2404,7 @@ "visibility": "internal" } ], - "src": "3228:21:0" + "src": "2902:21:0" }, "returnParameters": { "id": 157, @@ -2410,10 +2415,10 @@ "id": 156, "mutability": "mutable", "name": "ret", - "nameLocation": "3272:3:0", + "nameLocation": "2946:3:0", "nodeType": "VariableDeclaration", "scope": 160, - "src": "3264:11:0", + "src": "2938:11:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2424,7 +2429,7 @@ "id": 155, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3264:7:0", + "src": "2938:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2433,10 +2438,10 @@ "visibility": "internal" } ], - "src": "3263:13:0" + "src": "2937:13:0" }, - "scope": 189, - "src": "3205:281:0", + "scope": 179, + "src": "2879:281:0", "stateMutability": "pure", "virtual": false, "visibility": "internal" @@ -2445,7 +2450,7 @@ "body": { "id": 177, "nodeType": "Block", - "src": "3679:37:0", + "src": "3321:37:0", "statements": [ { "expression": { @@ -2465,7 +2470,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 163, - "src": "3696:1:0", + "src": "3338:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2479,13 +2484,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 165, - "src": "3700:1:0", + "src": "3342:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3696:5:0", + "src": "3338:5:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2497,7 +2502,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 165, - "src": "3708:1:0", + "src": "3350:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2509,14 +2514,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "3696:13:0", + "src": "3338:13:0", "trueExpression": { "id": 173, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 163, - "src": "3704:1:0", + "src": "3346:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2530,22 +2535,22 @@ "functionReturnParameters": 169, "id": 176, "nodeType": "Return", - "src": "3689:20:0" + "src": "3331:20:0" } ] }, "documentation": { "id": 161, "nodeType": "StructuredDocumentation", - "src": "3489:127:0", - "text": " The minimum of two numbers.\n @param a - First number.\n @param b - Second number.\n @return - the minimum value." + "src": "3163:95:0", + "text": " The minimum of two numbers.\n @param a - First number.\n @param b - Second number." }, "id": 178, "implemented": true, "kind": "freeFunction", "modifiers": [], "name": "min", - "nameLocation": "3630:3:0", + "nameLocation": "3272:3:0", "nodeType": "FunctionDefinition", "parameters": { "id": 166, @@ -2556,10 +2561,10 @@ "id": 163, "mutability": "mutable", "name": "a", - "nameLocation": "3642:1:0", + "nameLocation": "3284:1:0", "nodeType": "VariableDeclaration", "scope": 178, - "src": "3634:9:0", + "src": "3276:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2570,7 +2575,7 @@ "id": 162, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3634:7:0", + "src": "3276:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2583,10 +2588,10 @@ "id": 165, "mutability": "mutable", "name": "b", - "nameLocation": "3653:1:0", + "nameLocation": "3295:1:0", "nodeType": "VariableDeclaration", "scope": 178, - "src": "3645:9:0", + "src": "3287:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2597,7 +2602,7 @@ "id": 164, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3645:7:0", + "src": "3287:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2606,7 +2611,7 @@ "visibility": "internal" } ], - "src": "3633:22:0" + "src": "3275:22:0" }, "returnParameters": { "id": 169, @@ -2620,7 +2625,7 @@ "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 178, - "src": "3670:7:0", + "src": "3312:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2631,7 +2636,7 @@ "id": 167, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3670:7:0", + "src": "3312:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2640,390 +2645,16 @@ "visibility": "internal" } ], - "src": "3669:9:0" + "src": "3311:9:0" }, - "scope": 189, - "src": "3621:95:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 187, - "nodeType": "Block", - "src": "4009:430:0", - "statements": [ - { - "AST": { - "nativeSrc": "4044:389:0", - "nodeType": "YulBlock", - "src": "4044:389:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "memPointer", - "nativeSrc": "4078:10:0", - "nodeType": "YulIdentifier", - "src": "4078:10:0" - }, - { - "name": "allocationSize", - "nativeSrc": "4090:14:0", - "nodeType": "YulIdentifier", - "src": "4090:14:0" - } - ], - "functionName": { - "name": "finalize_allocation", - "nativeSrc": "4058:19:0", - "nodeType": "YulIdentifier", - "src": "4058:19:0" - }, - "nativeSrc": "4058:47:0", - "nodeType": "YulFunctionCall", - "src": "4058:47:0" - }, - "nativeSrc": "4058:47:0", - "nodeType": "YulExpressionStatement", - "src": "4058:47:0" - }, - { - "body": { - "nativeSrc": "4162:129:0", - "nodeType": "YulBlock", - "src": "4162:129:0", - "statements": [ - { - "nativeSrc": "4180:58:0", - "nodeType": "YulVariableDeclaration", - "src": "4180:58:0", - "value": { - "arguments": [ - { - "name": "memPtr", - "nativeSrc": "4202:6:0", - "nodeType": "YulIdentifier", - "src": "4202:6:0" - }, - { - "arguments": [ - { - "name": "size", - "nativeSrc": "4232:4:0", - "nodeType": "YulIdentifier", - "src": "4232:4:0" - } - ], - "functionName": { - "name": "round_up_to_mul_of_32", - "nativeSrc": "4210:21:0", - "nodeType": "YulIdentifier", - "src": "4210:21:0" - }, - "nativeSrc": "4210:27:0", - "nodeType": "YulFunctionCall", - "src": "4210:27:0" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "4198:3:0", - "nodeType": "YulIdentifier", - "src": "4198:3:0" - }, - "nativeSrc": "4198:40:0", - "nodeType": "YulFunctionCall", - "src": "4198:40:0" - }, - "variables": [ - { - "name": "newFreePtr", - "nativeSrc": "4184:10:0", - "nodeType": "YulTypedName", - "src": "4184:10:0", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nativeSrc": "4262:2:0", - "nodeType": "YulLiteral", - "src": "4262:2:0", - "type": "", - "value": "64" - }, - { - "name": "newFreePtr", - "nativeSrc": "4266:10:0", - "nodeType": "YulIdentifier", - "src": "4266:10:0" - } - ], - "functionName": { - "name": "mstore", - "nativeSrc": "4255:6:0", - "nodeType": "YulIdentifier", - "src": "4255:6:0" - }, - "nativeSrc": "4255:22:0", - "nodeType": "YulFunctionCall", - "src": "4255:22:0" - }, - "nativeSrc": "4255:22:0", - "nodeType": "YulExpressionStatement", - "src": "4255:22:0" - } - ] - }, - "name": "finalize_allocation", - "nativeSrc": "4119:172:0", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nativeSrc": "4148:6:0", - "nodeType": "YulTypedName", - "src": "4148:6:0", - "type": "" - }, - { - "name": "size", - "nativeSrc": "4156:4:0", - "nodeType": "YulTypedName", - "src": "4156:4:0", - "type": "" - } - ], - "src": "4119:172:0" - }, - { - "body": { - "nativeSrc": "4353:70:0", - "nodeType": "YulBlock", - "src": "4353:70:0", - "statements": [ - { - "nativeSrc": "4371:38:0", - "nodeType": "YulAssignment", - "src": "4371:38:0", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nativeSrc": "4389:5:0", - "nodeType": "YulIdentifier", - "src": "4389:5:0" - }, - { - "kind": "number", - "nativeSrc": "4396:2:0", - "nodeType": "YulLiteral", - "src": "4396:2:0", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "4385:3:0", - "nodeType": "YulIdentifier", - "src": "4385:3:0" - }, - "nativeSrc": "4385:14:0", - "nodeType": "YulFunctionCall", - "src": "4385:14:0" - }, - { - "arguments": [ - { - "kind": "number", - "nativeSrc": "4405:2:0", - "nodeType": "YulLiteral", - "src": "4405:2:0", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nativeSrc": "4401:3:0", - "nodeType": "YulIdentifier", - "src": "4401:3:0" - }, - "nativeSrc": "4401:7:0", - "nodeType": "YulFunctionCall", - "src": "4401:7:0" - } - ], - "functionName": { - "name": "and", - "nativeSrc": "4381:3:0", - "nodeType": "YulIdentifier", - "src": "4381:3:0" - }, - "nativeSrc": "4381:28:0", - "nodeType": "YulFunctionCall", - "src": "4381:28:0" - }, - "variableNames": [ - { - "name": "result", - "nativeSrc": "4371:6:0", - "nodeType": "YulIdentifier", - "src": "4371:6:0" - } - ] - } - ] - }, - "name": "round_up_to_mul_of_32", - "nativeSrc": "4305:118:0", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nativeSrc": "4336:5:0", - "nodeType": "YulTypedName", - "src": "4336:5:0", - "type": "" - } - ], - "returnVariables": [ - { - "name": "result", - "nativeSrc": "4346:6:0", - "nodeType": "YulTypedName", - "src": "4346:6:0", - "type": "" - } - ], - "src": "4305:118:0" - } - ] - }, - "evmVersion": "paris", - "externalReferences": [ - { - "declaration": 183, - "isOffset": false, - "isSlot": false, - "src": "4090:14:0", - "valueSize": 1 - }, - { - "declaration": 181, - "isOffset": false, - "isSlot": false, - "src": "4078:10:0", - "valueSize": 1 - } - ], - "flags": [ - "memory-safe" - ], - "id": 186, - "nodeType": "InlineAssembly", - "src": "4020:413:0" - } - ] - }, - "documentation": { - "id": 179, - "nodeType": "StructuredDocumentation", - "src": "3718:209:0", - "text": " standard solidity memory allocation finalization.\n copied from solidity generated code\n @param memPointer - The current memory pointer\n @param allocationSize - Bytes allocated from memPointer." - }, - "id": 188, - "implemented": true, - "kind": "freeFunction", - "modifiers": [], - "name": "finalizeAllocation", - "nameLocation": "3941:18:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 184, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 181, - "mutability": "mutable", - "name": "memPointer", - "nameLocation": "3968:10:0", - "nodeType": "VariableDeclaration", - "scope": 188, - "src": "3960:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 180, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3960:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 183, - "mutability": "mutable", - "name": "allocationSize", - "nameLocation": "3988:14:0", - "nodeType": "VariableDeclaration", - "scope": 188, - "src": "3980:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 182, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3980:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3959:44:0" - }, - "returnParameters": { - "id": 185, - "nodeType": "ParameterList", - "parameters": [], - "src": "4009:0:0" - }, - "scope": 189, - "src": "3932:507:0", + "scope": 179, + "src": "3263:95:0", "stateMutability": "pure", "virtual": false, "visibility": "internal" } ], - "src": "32:4408:0" + "src": "36:3323:0" }, "id": 0 }, @@ -3032,10 +2663,10 @@ "absolutePath": "@account-abstraction/contracts/core/UserOperationLib.sol", "exportedSymbols": { "PackedUserOperation": [ - 563 + 574 ], "UserOperationLib": [ - 524 + 535 ], "calldataKeccak": [ 160 @@ -3044,63 +2675,63 @@ 178 ] }, - "id": 525, - "license": "MIT", + "id": 536, + "license": "GPL-3.0", "nodeType": "SourceUnit", "nodes": [ { - "id": 190, + "id": 180, "literals": [ "solidity", "^", "0.8", - ".28" + ".23" ], "nodeType": "PragmaDirective", - "src": "32:24:1" + "src": "36:24:1" }, { "absolutePath": "@account-abstraction/contracts/interfaces/PackedUserOperation.sol", "file": "../interfaces/PackedUserOperation.sol", - "id": 191, + "id": 181, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 525, - "sourceUnit": 564, - "src": "100:47:1", + "scope": 536, + "sourceUnit": 575, + "src": "104:47:1", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "@account-abstraction/contracts/core/Helpers.sol", "file": "./Helpers.sol", - "id": 194, + "id": 184, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 525, - "sourceUnit": 189, - "src": "148:50:1", + "scope": 536, + "sourceUnit": 179, + "src": "152:50:1", "symbolAliases": [ { "foreign": { - "id": 192, + "id": 182, "name": "calldataKeccak", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 160, - "src": "156:14:1", + "src": "160:14:1", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" }, { "foreign": { - "id": 193, + "id": 183, "name": "min", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 178, - "src": "172:3:1", + "src": "176:3:1", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -3115,30 +2746,30 @@ "contractDependencies": [], "contractKind": "library", "documentation": { - "id": 195, + "id": 185, "nodeType": "StructuredDocumentation", - "src": "200:77:1", + "src": "204:77:1", "text": " Utility functions helpful when working with UserOperation structs." }, "fullyImplemented": true, - "id": 524, + "id": 535, "linearizedBaseContracts": [ - 524 + 535 ], "name": "UserOperationLib", - "nameLocation": "286:16:1", + "nameLocation": "290:16:1", "nodeType": "ContractDefinition", "nodes": [ { "constant": true, "functionSelector": "b29a8ff4", - "id": 198, + "id": 188, "mutability": "constant", "name": "PAYMASTER_VALIDATION_GAS_OFFSET", - "nameLocation": "334:31:1", + "nameLocation": "338:31:1", "nodeType": "VariableDeclaration", - "scope": 524, - "src": "310:60:1", + "scope": 535, + "src": "314:60:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -3146,10 +2777,10 @@ "typeString": "uint256" }, "typeName": { - "id": 196, + "id": 186, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "310:7:1", + "src": "314:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3157,14 +2788,14 @@ }, "value": { "hexValue": "3230", - "id": 197, + "id": 187, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "368:2:1", + "src": "372:2:1", "typeDescriptions": { "typeIdentifier": "t_rational_20_by_1", "typeString": "int_const 20" @@ -3176,13 +2807,13 @@ { "constant": true, "functionSelector": "25093e1b", - "id": 201, + "id": 191, "mutability": "constant", "name": "PAYMASTER_POSTOP_GAS_OFFSET", - "nameLocation": "400:27:1", + "nameLocation": "404:27:1", "nodeType": "VariableDeclaration", - "scope": 524, - "src": "376:56:1", + "scope": 535, + "src": "380:56:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -3190,10 +2821,10 @@ "typeString": "uint256" }, "typeName": { - "id": 199, + "id": 189, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "376:7:1", + "src": "380:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3201,14 +2832,14 @@ }, "value": { "hexValue": "3336", - "id": 200, + "id": 190, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "430:2:1", + "src": "434:2:1", "typeDescriptions": { "typeIdentifier": "t_rational_36_by_1", "typeString": "int_const 36" @@ -3220,13 +2851,13 @@ { "constant": true, "functionSelector": "ede31502", - "id": 204, + "id": 194, "mutability": "constant", "name": "PAYMASTER_DATA_OFFSET", - "nameLocation": "462:21:1", + "nameLocation": "466:21:1", "nodeType": "VariableDeclaration", - "scope": 524, - "src": "438:50:1", + "scope": 535, + "src": "442:50:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -3234,10 +2865,10 @@ "typeString": "uint256" }, "typeName": { - "id": 202, + "id": 192, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "438:7:1", + "src": "442:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3245,14 +2876,14 @@ }, "value": { "hexValue": "3532", - "id": 203, + "id": 193, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "486:2:1", + "src": "490:2:1", "typeDescriptions": { "typeIdentifier": "t_rational_52_by_1", "typeString": "int_const 52" @@ -3263,30 +2894,343 @@ }, { "body": { - "id": 231, + "id": 215, "nodeType": "Block", - "src": "795:209:1", + "src": "708:221:1", "statements": [ { - "id": 230, + "assignments": [ + 204 + ], + "declarations": [ + { + "constant": false, + "id": 204, + "mutability": "mutable", + "name": "data", + "nameLocation": "726:4:1", + "nodeType": "VariableDeclaration", + "scope": 215, + "src": "718:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 203, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "718:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 205, + "nodeType": "VariableDeclarationStatement", + "src": "718:12:1" + }, + { + "AST": { + "nativeSrc": "832:52:1", + "nodeType": "YulBlock", + "src": "832:52:1", + "statements": [ + { + "nativeSrc": "846:28:1", + "nodeType": "YulAssignment", + "src": "846:28:1", + "value": { + "arguments": [ + { + "name": "userOp", + "nativeSrc": "867:6:1", + "nodeType": "YulIdentifier", + "src": "867:6:1" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "854:12:1", + "nodeType": "YulIdentifier", + "src": "854:12:1" + }, + "nativeSrc": "854:20:1", + "nodeType": "YulFunctionCall", + "src": "854:20:1" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "846:4:1", + "nodeType": "YulIdentifier", + "src": "846:4:1" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 204, + "isOffset": false, + "isSlot": false, + "src": "846:4:1", + "valueSize": 1 + }, + { + "declaration": 198, + "isOffset": false, + "isSlot": false, + "src": "867:6:1", + "valueSize": 1 + } + ], + "id": 206, + "nodeType": "InlineAssembly", + "src": "823:61:1" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 211, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 204, + "src": "916:4:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 210, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "908:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 209, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "908:7:1", + "typeDescriptions": {} + } + }, + "id": 212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "908:13:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 208, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "900:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 207, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "900:7:1", + "typeDescriptions": {} + } + }, + "id": 213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "900:22:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 202, + "id": 214, + "nodeType": "Return", + "src": "893:29:1" + } + ] + }, + "documentation": { + "id": 195, + "nodeType": "StructuredDocumentation", + "src": "498:103:1", + "text": " Get sender from user operation data.\n @param userOp - The user operation data." + }, + "id": 216, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getSender", + "nameLocation": "615:9:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 199, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 198, + "mutability": "mutable", + "name": "userOp", + "nameLocation": "663:6:1", + "nodeType": "VariableDeclaration", + "scope": 216, + "src": "634:35:1", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedUserOperation_$574_calldata_ptr", + "typeString": "struct PackedUserOperation" + }, + "typeName": { + "id": 197, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 196, + "name": "PackedUserOperation", + "nameLocations": [ + "634:19:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 574, + "src": "634:19:1" + }, + "referencedDeclaration": 574, + "src": "634:19:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedUserOperation_$574_storage_ptr", + "typeString": "struct PackedUserOperation" + } + }, + "visibility": "internal" + } + ], + "src": "624:51:1" + }, + "returnParameters": { + "id": 202, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 201, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 216, + "src": "699:7:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 200, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "699:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "698:9:1" + }, + "scope": 535, + "src": "606:323:1", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 250, + "nodeType": "Block", + "src": "1235:395:1", + "statements": [ + { + "id": 249, "nodeType": "UncheckedBlock", - "src": "805:193:1", + "src": "1245:379:1", "statements": [ { "assignments": [ - 214, - 216 + 226, + 228 ], "declarations": [ { "constant": false, - "id": 214, + "id": 226, "mutability": "mutable", "name": "maxPriorityFeePerGas", - "nameLocation": "838:20:1", + "nameLocation": "1278:20:1", "nodeType": "VariableDeclaration", - "scope": 230, - "src": "830:28:1", + "scope": 249, + "src": "1270:28:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3294,10 +3238,10 @@ "typeString": "uint256" }, "typeName": { - "id": 213, + "id": 225, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "830:7:1", + "src": "1270:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3307,13 +3251,13 @@ }, { "constant": false, - "id": 216, + "id": 228, "mutability": "mutable", "name": "maxFeePerGas", - "nameLocation": "868:12:1", + "nameLocation": "1308:12:1", "nodeType": "VariableDeclaration", - "scope": 230, - "src": "860:20:1", + "scope": 249, + "src": "1300:20:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3321,10 +3265,10 @@ "typeString": "uint256" }, "typeName": { - "id": 215, + "id": 227, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "860:7:1", + "src": "1300:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3333,32 +3277,32 @@ "visibility": "internal" } ], - "id": 221, + "id": 233, "initialValue": { "arguments": [ { "expression": { - "id": 218, + "id": 230, "name": "userOp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 208, - "src": "896:6:1", + "referencedDeclaration": 220, + "src": "1336:6:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$574_calldata_ptr", "typeString": "struct PackedUserOperation calldata" } }, - "id": 219, + "id": 231, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "903:7:1", + "memberLocation": "1343:7:1", "memberName": "gasFees", "nodeType": "MemberAccess", - "referencedDeclaration": 558, - "src": "896:14:1", + "referencedDeclaration": 569, + "src": "1336:14:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3372,18 +3316,18 @@ "typeString": "bytes32" } ], - "id": 217, + "id": 229, "name": "unpackUints", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 332, - "src": "884:11:1", + "referencedDeclaration": 346, + "src": "1324:11:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_uint256_$_t_uint256_$", "typeString": "function (bytes32) pure returns (uint256,uint256)" } }, - "id": 220, + "id": 232, "isConstant": false, "isLValue": false, "isPure": false, @@ -3392,7 +3336,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "884:27:1", + "src": "1324:27:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", @@ -3400,18 +3344,90 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "829:82:1" + "src": "1269:82:1" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 236, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 234, + "name": "maxFeePerGas", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 228, + "src": "1369:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 235, + "name": "maxPriorityFeePerGas", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 226, + "src": "1385:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1369:36:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 240, + "nodeType": "IfStatement", + "src": "1365:173:1", + "trueBody": { + "id": 239, + "nodeType": "Block", + "src": "1407:131:1", + "statements": [ + { + "expression": { + "id": 237, + "name": "maxFeePerGas", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 228, + "src": "1511:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 224, + "id": 238, + "nodeType": "Return", + "src": "1504:19:1" + } + ] + } }, { "expression": { "arguments": [ { - "id": 223, + "id": 242, "name": "maxFeePerGas", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 216, - "src": "936:12:1", + "referencedDeclaration": 228, + "src": "1562:12:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3422,18 +3438,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 227, + "id": 246, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 224, + "id": 243, "name": "maxPriorityFeePerGas", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 214, - "src": "950:20:1", + "referencedDeclaration": 226, + "src": "1576:20:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3443,32 +3459,32 @@ "operator": "+", "rightExpression": { "expression": { - "id": 225, + "id": 244, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -4, - "src": "973:5:1", + "src": "1599:5:1", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 226, + "id": 245, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "979:7:1", + "memberLocation": "1605:7:1", "memberName": "basefee", "nodeType": "MemberAccess", - "src": "973:13:1", + "src": "1599:13:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "950:36:1", + "src": "1576:36:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3486,18 +3502,18 @@ "typeString": "uint256" } ], - "id": 222, + "id": 241, "name": "min", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 178, - "src": "932:3:1", + "src": "1558:3:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 228, + "id": 247, "isConstant": false, "isLValue": false, "isPure": false, @@ -3506,92 +3522,92 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "932:55:1", + "src": "1558:55:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 212, - "id": 229, + "functionReturnParameters": 224, + "id": 248, "nodeType": "Return", - "src": "925:62:1" + "src": "1551:62:1" } ] } ] }, "documentation": { - "id": 205, + "id": 217, "nodeType": "StructuredDocumentation", - "src": "495:194:1", + "src": "935:194:1", "text": " Relayer/block builder might submit the TX with higher priorityFee,\n but the user should not pay above what he signed for.\n @param userOp - The user operation data." }, - "id": 232, + "id": 251, "implemented": true, "kind": "function", "modifiers": [], "name": "gasPrice", - "nameLocation": "703:8:1", + "nameLocation": "1143:8:1", "nodeType": "FunctionDefinition", "parameters": { - "id": 209, + "id": 221, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 208, + "id": 220, "mutability": "mutable", "name": "userOp", - "nameLocation": "750:6:1", + "nameLocation": "1190:6:1", "nodeType": "VariableDeclaration", - "scope": 232, - "src": "721:35:1", + "scope": 251, + "src": "1161:35:1", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$574_calldata_ptr", "typeString": "struct PackedUserOperation" }, "typeName": { - "id": 207, + "id": 219, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 206, + "id": 218, "name": "PackedUserOperation", "nameLocations": [ - "721:19:1" + "1161:19:1" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 563, - "src": "721:19:1" + "referencedDeclaration": 574, + "src": "1161:19:1" }, - "referencedDeclaration": 563, - "src": "721:19:1", + "referencedDeclaration": 574, + "src": "1161:19:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_storage_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$574_storage_ptr", "typeString": "struct PackedUserOperation" } }, "visibility": "internal" } ], - "src": "711:51:1" + "src": "1151:51:1" }, "returnParameters": { - "id": 212, + "id": 224, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 211, + "id": 223, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 232, - "src": "786:7:1", + "scope": 251, + "src": "1226:7:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3599,10 +3615,10 @@ "typeString": "uint256" }, "typeName": { - "id": 210, + "id": 222, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "786:7:1", + "src": "1226:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3611,114 +3627,34 @@ "visibility": "internal" } ], - "src": "785:9:1" + "src": "1225:9:1" }, - "scope": 524, - "src": "694:310:1", + "scope": 535, + "src": "1134:496:1", "stateMutability": "view", "virtual": false, "visibility": "internal" }, - { - "constant": true, - "id": 237, - "mutability": "constant", - "name": "PACKED_USEROP_TYPEHASH", - "nameLocation": "1036:22:1", - "nodeType": "VariableDeclaration", - "scope": 524, - "src": "1010:252:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 233, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1010:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "5061636b6564557365724f7065726174696f6e28616464726573732073656e6465722c75696e74323536206e6f6e63652c627974657320696e6974436f64652c62797465732063616c6c446174612c62797465733332206163636f756e744761734c696d6974732c75696e7432353620707265566572696669636174696f6e4761732c6279746573333220676173466565732c6279746573207061796d6173746572416e644461746129", - "id": 235, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1084:172:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e", - "typeString": "literal_string \"PackedUserOperation(address sender,uint256 nonce,bytes initCode,bytes callData,bytes32 accountGasLimits,uint256 preVerificationGas,bytes32 gasFees,bytes paymasterAndData)\"" - }, - "value": "PackedUserOperation(address sender,uint256 nonce,bytes initCode,bytes callData,bytes32 accountGasLimits,uint256 preVerificationGas,bytes32 gasFees,bytes paymasterAndData)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e", - "typeString": "literal_string \"PackedUserOperation(address sender,uint256 nonce,bytes initCode,bytes callData,bytes32 accountGasLimits,uint256 preVerificationGas,bytes32 gasFees,bytes paymasterAndData)\"" - } - ], - "id": 234, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "1065:9:1", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 236, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1065:197:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, { "body": { - "id": 313, + "id": 319, "nodeType": "Block", - "src": "1641:761:1", + "src": "1868:661:1", "statements": [ { "assignments": [ - 249 + 261 ], "declarations": [ { "constant": false, - "id": 249, + "id": 261, "mutability": "mutable", "name": "sender", - "nameLocation": "1659:6:1", + "nameLocation": "1886:6:1", "nodeType": "VariableDeclaration", - "scope": 313, - "src": "1651:14:1", + "scope": 319, + "src": "1878:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3726,10 +3662,10 @@ "typeString": "address" }, "typeName": { - "id": 248, + "id": 260, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1651:7:1", + "src": "1878:7:1", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3739,52 +3675,73 @@ "visibility": "internal" } ], - "id": 252, + "id": 265, "initialValue": { + "arguments": [ + { + "id": 263, + "name": "userOp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 255, + "src": "1905:6:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedUserOperation_$574_calldata_ptr", + "typeString": "struct PackedUserOperation calldata" + } + } + ], "expression": { - "id": 250, - "name": "userOp", + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PackedUserOperation_$574_calldata_ptr", + "typeString": "struct PackedUserOperation calldata" + } + ], + "id": 262, + "name": "getSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 241, - "src": "1668:6:1", + "referencedDeclaration": 216, + "src": "1895:9:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", - "typeString": "struct PackedUserOperation calldata" + "typeIdentifier": "t_function_internal_pure$_t_struct$_PackedUserOperation_$574_calldata_ptr_$returns$_t_address_$", + "typeString": "function (struct PackedUserOperation calldata) pure returns (address)" } }, - "id": 251, + "id": 264, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "memberLocation": "1675:6:1", - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": 546, - "src": "1668:13:1", + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1895:17:1", + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "1651:30:1" + "src": "1878:34:1" }, { "assignments": [ - 254 + 267 ], "declarations": [ { "constant": false, - "id": 254, + "id": 267, "mutability": "mutable", "name": "nonce", - "nameLocation": "1699:5:1", + "nameLocation": "1930:5:1", "nodeType": "VariableDeclaration", - "scope": 313, - "src": "1691:13:1", + "scope": 319, + "src": "1922:13:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3792,10 +3749,10 @@ "typeString": "uint256" }, "typeName": { - "id": 253, + "id": 266, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1691:7:1", + "src": "1922:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3804,52 +3761,52 @@ "visibility": "internal" } ], - "id": 257, + "id": 270, "initialValue": { "expression": { - "id": 255, + "id": 268, "name": "userOp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 241, - "src": "1707:6:1", + "referencedDeclaration": 255, + "src": "1938:6:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$574_calldata_ptr", "typeString": "struct PackedUserOperation calldata" } }, - "id": 256, + "id": 269, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1714:5:1", + "memberLocation": "1945:5:1", "memberName": "nonce", "nodeType": "MemberAccess", - "referencedDeclaration": 548, - "src": "1707:12:1", + "referencedDeclaration": 559, + "src": "1938:12:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "1691:28:1" + "src": "1922:28:1" }, { "assignments": [ - 259 + 272 ], "declarations": [ { "constant": false, - "id": 259, + "id": 272, "mutability": "mutable", "name": "hashInitCode", - "nameLocation": "1737:12:1", + "nameLocation": "1968:12:1", "nodeType": "VariableDeclaration", - "scope": 313, - "src": "1729:20:1", + "scope": 319, + "src": "1960:20:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3857,10 +3814,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 258, + "id": 271, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1729:7:1", + "src": "1960:7:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3869,160 +3826,89 @@ "visibility": "internal" } ], - "id": 269, + "id": 277, "initialValue": { - "condition": { - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 260, - "name": "overrideInitCodeHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 243, - "src": "1752:20:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "30", - "id": 261, + "arguments": [ + { + "expression": { + "id": 274, + "name": "userOp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 255, + "src": "1998:6:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedUserOperation_$574_calldata_ptr", + "typeString": "struct PackedUserOperation calldata" + } + }, + "id": 275, "isConstant": false, "isLValue": false, - "isPure": true, - "kind": "number", + "isPure": false, "lValueRequested": false, - "nodeType": "Literal", - "src": "1776:1:1", + "memberLocation": "2005:8:1", + "memberName": "initCode", + "nodeType": "MemberAccess", + "referencedDeclaration": 561, + "src": "1998:15:1", "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1752:25:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } } - }, - "falseExpression": { - "arguments": [ + ], + "expression": { + "argumentTypes": [ { - "expression": { - "id": 265, - "name": "userOp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 241, - "src": "1818:6:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", - "typeString": "struct PackedUserOperation calldata" - } - }, - "id": 266, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1825:8:1", - "memberName": "initCode", - "nodeType": "MemberAccess", - "referencedDeclaration": 550, - "src": "1818:15:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" } ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "id": 264, - "name": "calldataKeccak", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 160, - "src": "1803:14:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_calldata_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes calldata) pure returns (bytes32)" - } - }, - "id": 267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1803:31:1", - "tryCall": false, + "id": 273, + "name": "calldataKeccak", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 160, + "src": "1983:14:1", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_function_internal_pure$_t_bytes_calldata_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes calldata) pure returns (bytes32)" } }, - "id": 268, + "id": 276, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "nodeType": "Conditional", - "src": "1752:82:1", - "trueExpression": { - "id": 263, - "name": "overrideInitCodeHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 243, - "src": "1780:20:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1983:31:1", + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "1729:105:1" + "src": "1960:54:1" }, { "assignments": [ - 271 + 279 ], "declarations": [ { "constant": false, - "id": 271, + "id": 279, "mutability": "mutable", "name": "hashCallData", - "nameLocation": "1852:12:1", + "nameLocation": "2032:12:1", "nodeType": "VariableDeclaration", - "scope": 313, - "src": "1844:20:1", + "scope": 319, + "src": "2024:20:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4030,10 +3916,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 270, + "id": 278, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1844:7:1", + "src": "2024:7:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4042,32 +3928,32 @@ "visibility": "internal" } ], - "id": 276, + "id": 284, "initialValue": { "arguments": [ { "expression": { - "id": 273, + "id": 281, "name": "userOp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 241, - "src": "1882:6:1", + "referencedDeclaration": 255, + "src": "2062:6:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$574_calldata_ptr", "typeString": "struct PackedUserOperation calldata" } }, - "id": 274, + "id": 282, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1889:8:1", + "memberLocation": "2069:8:1", "memberName": "callData", "nodeType": "MemberAccess", - "referencedDeclaration": 552, - "src": "1882:15:1", + "referencedDeclaration": 563, + "src": "2062:15:1", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -4081,18 +3967,18 @@ "typeString": "bytes calldata" } ], - "id": 272, + "id": 280, "name": "calldataKeccak", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 160, - "src": "1867:14:1", + "src": "2047:14:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_calldata_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes calldata) pure returns (bytes32)" } }, - "id": 275, + "id": 283, "isConstant": false, "isLValue": false, "isPure": false, @@ -4101,7 +3987,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1867:31:1", + "src": "2047:31:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -4109,22 +3995,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "1844:54:1" + "src": "2024:54:1" }, { "assignments": [ - 278 + 286 ], "declarations": [ { "constant": false, - "id": 278, + "id": 286, "mutability": "mutable", "name": "accountGasLimits", - "nameLocation": "1916:16:1", + "nameLocation": "2096:16:1", "nodeType": "VariableDeclaration", - "scope": 313, - "src": "1908:24:1", + "scope": 319, + "src": "2088:24:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4132,10 +4018,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 277, + "id": 285, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1908:7:1", + "src": "2088:7:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4144,52 +4030,52 @@ "visibility": "internal" } ], - "id": 281, + "id": 289, "initialValue": { "expression": { - "id": 279, + "id": 287, "name": "userOp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 241, - "src": "1935:6:1", + "referencedDeclaration": 255, + "src": "2115:6:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$574_calldata_ptr", "typeString": "struct PackedUserOperation calldata" } }, - "id": 280, + "id": 288, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1942:16:1", + "memberLocation": "2122:16:1", "memberName": "accountGasLimits", "nodeType": "MemberAccess", - "referencedDeclaration": 554, - "src": "1935:23:1", + "referencedDeclaration": 565, + "src": "2115:23:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "1908:50:1" + "src": "2088:50:1" }, { "assignments": [ - 283 + 291 ], "declarations": [ { "constant": false, - "id": 283, + "id": 291, "mutability": "mutable", "name": "preVerificationGas", - "nameLocation": "1976:18:1", + "nameLocation": "2156:18:1", "nodeType": "VariableDeclaration", - "scope": 313, - "src": "1968:26:1", + "scope": 319, + "src": "2148:26:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4197,10 +4083,10 @@ "typeString": "uint256" }, "typeName": { - "id": 282, + "id": 290, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1968:7:1", + "src": "2148:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4209,52 +4095,52 @@ "visibility": "internal" } ], - "id": 286, + "id": 294, "initialValue": { "expression": { - "id": 284, + "id": 292, "name": "userOp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 241, - "src": "1997:6:1", + "referencedDeclaration": 255, + "src": "2177:6:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$574_calldata_ptr", "typeString": "struct PackedUserOperation calldata" } }, - "id": 285, + "id": 293, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "2004:18:1", + "memberLocation": "2184:18:1", "memberName": "preVerificationGas", "nodeType": "MemberAccess", - "referencedDeclaration": 556, - "src": "1997:25:1", + "referencedDeclaration": 567, + "src": "2177:25:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "1968:54:1" + "src": "2148:54:1" }, { "assignments": [ - 288 + 296 ], "declarations": [ { "constant": false, - "id": 288, + "id": 296, "mutability": "mutable", "name": "gasFees", - "nameLocation": "2040:7:1", + "nameLocation": "2220:7:1", "nodeType": "VariableDeclaration", - "scope": 313, - "src": "2032:15:1", + "scope": 319, + "src": "2212:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4262,10 +4148,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 287, + "id": 295, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2032:7:1", + "src": "2212:7:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4274,52 +4160,52 @@ "visibility": "internal" } ], - "id": 291, + "id": 299, "initialValue": { "expression": { - "id": 289, + "id": 297, "name": "userOp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 241, - "src": "2050:6:1", + "referencedDeclaration": 255, + "src": "2230:6:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$574_calldata_ptr", "typeString": "struct PackedUserOperation calldata" } }, - "id": 290, + "id": 298, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "2057:7:1", + "memberLocation": "2237:7:1", "memberName": "gasFees", "nodeType": "MemberAccess", - "referencedDeclaration": 558, - "src": "2050:14:1", + "referencedDeclaration": 569, + "src": "2230:14:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "2032:32:1" + "src": "2212:32:1" }, { "assignments": [ - 293 + 301 ], "declarations": [ { "constant": false, - "id": 293, + "id": 301, "mutability": "mutable", "name": "hashPaymasterAndData", - "nameLocation": "2082:20:1", + "nameLocation": "2262:20:1", "nodeType": "VariableDeclaration", - "scope": 313, - "src": "2074:28:1", + "scope": 319, + "src": "2254:28:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4327,10 +4213,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 292, + "id": 300, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2074:7:1", + "src": "2254:7:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4339,32 +4225,32 @@ "visibility": "internal" } ], - "id": 298, + "id": 306, "initialValue": { "arguments": [ { "expression": { - "id": 295, + "id": 303, "name": "userOp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 241, - "src": "2120:6:1", + "referencedDeclaration": 255, + "src": "2300:6:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$574_calldata_ptr", "typeString": "struct PackedUserOperation calldata" } }, - "id": 296, + "id": 304, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "2127:16:1", + "memberLocation": "2307:16:1", "memberName": "paymasterAndData", "nodeType": "MemberAccess", - "referencedDeclaration": 560, - "src": "2120:23:1", + "referencedDeclaration": 571, + "src": "2300:23:1", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -4378,18 +4264,18 @@ "typeString": "bytes calldata" } ], - "id": 294, + "id": 302, "name": "calldataKeccak", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 160, - "src": "2105:14:1", + "src": "2285:14:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_calldata_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes calldata) pure returns (bytes32)" } }, - "id": 297, + "id": 305, "isConstant": false, "isLValue": false, "isPure": false, @@ -4398,7 +4284,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2105:39:1", + "src": "2285:39:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -4406,130 +4292,102 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "2074:70:1" + "src": "2254:70:1" }, { "expression": { "arguments": [ { - "expression": { - "id": 301, - "name": "UserOperationLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 524, - "src": "2186:16:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UserOperationLib_$524_$", - "typeString": "type(library UserOperationLib)" - } - }, - "id": 302, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "2203:22:1", - "memberName": "PACKED_USEROP_TYPEHASH", - "nodeType": "MemberAccess", - "referencedDeclaration": 237, - "src": "2186:39:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 303, + "id": 309, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 249, - "src": "2239:6:1", + "referencedDeclaration": 261, + "src": "2366:6:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 304, + "id": 310, "name": "nonce", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 254, - "src": "2247:5:1", + "referencedDeclaration": 267, + "src": "2374:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 305, + "id": 311, "name": "hashInitCode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 259, - "src": "2266:12:1", + "referencedDeclaration": 272, + "src": "2393:12:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 306, + "id": 312, "name": "hashCallData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 271, - "src": "2280:12:1", + "referencedDeclaration": 279, + "src": "2407:12:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 307, + "id": 313, "name": "accountGasLimits", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 278, - "src": "2306:16:1", + "referencedDeclaration": 286, + "src": "2433:16:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 308, + "id": 314, "name": "preVerificationGas", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 283, - "src": "2324:18:1", + "referencedDeclaration": 291, + "src": "2451:18:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 309, + "id": 315, "name": "gasFees", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 288, - "src": "2344:7:1", + "referencedDeclaration": 296, + "src": "2471:7:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 310, + "id": 316, "name": "hashPaymasterAndData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 293, - "src": "2365:20:1", + "referencedDeclaration": 301, + "src": "2492:20:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4538,10 +4396,6 @@ ], "expression": { "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, { "typeIdentifier": "t_address", "typeString": "address" @@ -4576,32 +4430,32 @@ } ], "expression": { - "id": 299, + "id": 307, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "2162:3:1", + "src": "2342:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 300, + "id": 308, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "2166:6:1", + "memberLocation": "2346:6:1", "memberName": "encode", "nodeType": "MemberAccess", - "src": "2162:10:1", + "src": "2342:10:1", "typeDescriptions": { "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 311, + "id": 317, "isConstant": false, "isLValue": false, "isPure": false, @@ -4610,117 +4464,90 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2162:233:1", + "src": "2342:180:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "functionReturnParameters": 247, - "id": 312, + "functionReturnParameters": 259, + "id": 318, "nodeType": "Return", - "src": "2155:240:1" + "src": "2335:187:1" } ] }, "documentation": { - "id": 238, + "id": 252, "nodeType": "StructuredDocumentation", - "src": "1269:221:1", - "text": " Pack the user operation data into bytes for hashing.\n @param userOp - The user operation data.\n @param overrideInitCodeHash - If set, encode this instead of the initCode field in the userOp." + "src": "1636:119:1", + "text": " Pack the user operation data into bytes for hashing.\n @param userOp - The user operation data." }, - "id": 314, + "id": 320, "implemented": true, "kind": "function", "modifiers": [], "name": "encode", - "nameLocation": "1504:6:1", + "nameLocation": "1769:6:1", "nodeType": "FunctionDefinition", "parameters": { - "id": 244, + "id": 256, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 241, + "id": 255, "mutability": "mutable", "name": "userOp", - "nameLocation": "1549:6:1", + "nameLocation": "1814:6:1", "nodeType": "VariableDeclaration", - "scope": 314, - "src": "1520:35:1", + "scope": 320, + "src": "1785:35:1", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$574_calldata_ptr", "typeString": "struct PackedUserOperation" }, "typeName": { - "id": 240, + "id": 254, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 239, + "id": 253, "name": "PackedUserOperation", "nameLocations": [ - "1520:19:1" + "1785:19:1" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 563, - "src": "1520:19:1" + "referencedDeclaration": 574, + "src": "1785:19:1" }, - "referencedDeclaration": 563, - "src": "1520:19:1", + "referencedDeclaration": 574, + "src": "1785:19:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_storage_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$574_storage_ptr", "typeString": "struct PackedUserOperation" } }, "visibility": "internal" - }, - { - "constant": false, - "id": 243, - "mutability": "mutable", - "name": "overrideInitCodeHash", - "nameLocation": "1573:20:1", - "nodeType": "VariableDeclaration", - "scope": 314, - "src": "1565:28:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 242, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1565:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" } ], - "src": "1510:89:1" + "src": "1775:51:1" }, "returnParameters": { - "id": 247, + "id": 259, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 246, + "id": 258, "mutability": "mutable", "name": "ret", - "nameLocation": "1636:3:1", + "nameLocation": "1863:3:1", "nodeType": "VariableDeclaration", - "scope": 314, - "src": "1623:16:1", + "scope": 320, + "src": "1850:16:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -4728,10 +4555,10 @@ "typeString": "bytes" }, "typeName": { - "id": 245, + "id": 257, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1623:5:1", + "src": "1850:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -4740,19 +4567,19 @@ "visibility": "internal" } ], - "src": "1622:18:1" + "src": "1849:18:1" }, - "scope": 524, - "src": "1495:907:1", + "scope": 535, + "src": "1760:769:1", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 331, + "id": 345, "nodeType": "Block", - "src": "2515:69:1", + "src": "2642:76:1", "statements": [ { "expression": { @@ -4760,142 +4587,248 @@ { "arguments": [ { - "id": 324, - "name": "packed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 316, - "src": "2547:6:1", + "arguments": [ + { + "id": 333, + "name": "packed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 322, + "src": "2676:6:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 332, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2668:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes16_$", + "typeString": "type(bytes16)" + }, + "typeName": { + "id": 331, + "name": "bytes16", + "nodeType": "ElementaryTypeName", + "src": "2668:7:1", + "typeDescriptions": {} + } + }, + "id": 334, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2668:15:1", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" } ], - "id": 323, - "name": "unpackHigh128", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 347, - "src": "2533:13:1", + "id": 330, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2660:7:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_uint256_$", - "typeString": "function (bytes32) pure returns (uint256)" + "typeIdentifier": "t_type$_t_uint128_$", + "typeString": "type(uint128)" + }, + "typeName": { + "id": 329, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "2660:7:1", + "typeDescriptions": {} } }, - "id": 325, + "id": 335, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", + "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2533:21:1", + "src": "2660:24:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint128", + "typeString": "uint128" } }, { "arguments": [ { - "id": 327, - "name": "packed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 316, - "src": "2569:6:1", + "arguments": [ + { + "id": 340, + "name": "packed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 322, + "src": "2702:6:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 339, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2694:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 338, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2694:7:1", + "typeDescriptions": {} + } + }, + "id": 341, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2694:15:1", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } ], - "id": 326, - "name": "unpackLow128", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 363, - "src": "2556:12:1", + "id": 337, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2686:7:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_uint256_$", - "typeString": "function (bytes32) pure returns (uint256)" + "typeIdentifier": "t_type$_t_uint128_$", + "typeString": "type(uint128)" + }, + "typeName": { + "id": 336, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "2686:7:1", + "typeDescriptions": {} } }, - "id": 328, + "id": 342, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", + "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2556:20:1", + "src": "2686:24:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint128", + "typeString": "uint128" } } ], - "id": 329, + "id": 343, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "2532:45:1", + "src": "2659:52:1", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" + "typeIdentifier": "t_tuple$_t_uint128_$_t_uint128_$", + "typeString": "tuple(uint128,uint128)" } }, - "functionReturnParameters": 322, - "id": 330, + "functionReturnParameters": 328, + "id": 344, "nodeType": "Return", - "src": "2525:52:1" + "src": "2652:59:1" } ] }, - "id": 332, + "id": 346, "implemented": true, "kind": "function", "modifiers": [], "name": "unpackUints", - "nameLocation": "2417:11:1", + "nameLocation": "2544:11:1", "nodeType": "FunctionDefinition", "parameters": { - "id": 317, + "id": 323, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 316, + "id": 322, "mutability": "mutable", "name": "packed", - "nameLocation": "2446:6:1", + "nameLocation": "2573:6:1", "nodeType": "VariableDeclaration", - "scope": 332, - "src": "2438:14:1", + "scope": 346, + "src": "2565:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4903,10 +4836,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 315, + "id": 321, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2438:7:1", + "src": "2565:7:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4915,21 +4848,21 @@ "visibility": "internal" } ], - "src": "2428:30:1" + "src": "2555:30:1" }, "returnParameters": { - "id": 322, + "id": 328, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 319, + "id": 325, "mutability": "mutable", "name": "high128", - "nameLocation": "2490:7:1", + "nameLocation": "2617:7:1", "nodeType": "VariableDeclaration", - "scope": 332, - "src": "2482:15:1", + "scope": 346, + "src": "2609:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4937,10 +4870,10 @@ "typeString": "uint256" }, "typeName": { - "id": 318, + "id": 324, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2482:7:1", + "src": "2609:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4950,13 +4883,13 @@ }, { "constant": false, - "id": 321, + "id": 327, "mutability": "mutable", "name": "low128", - "nameLocation": "2507:6:1", + "nameLocation": "2634:6:1", "nodeType": "VariableDeclaration", - "scope": 332, - "src": "2499:14:1", + "scope": 346, + "src": "2626:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4964,10 +4897,10 @@ "typeString": "uint256" }, "typeName": { - "id": 320, + "id": 326, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2499:7:1", + "src": "2626:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4976,19 +4909,19 @@ "visibility": "internal" } ], - "src": "2481:33:1" + "src": "2608:33:1" }, - "scope": 524, - "src": "2408:176:1", + "scope": 535, + "src": "2535:183:1", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 346, + "id": 360, "nodeType": "Block", - "src": "2718:46:1", + "src": "2851:46:1", "statements": [ { "expression": { @@ -4996,7 +4929,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 344, + "id": 358, "isConstant": false, "isLValue": false, "isPure": false, @@ -5004,12 +4937,12 @@ "leftExpression": { "arguments": [ { - "id": 341, + "id": 355, "name": "packed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 334, - "src": "2743:6:1", + "referencedDeclaration": 348, + "src": "2876:6:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5023,26 +4956,26 @@ "typeString": "bytes32" } ], - "id": 340, + "id": 354, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2735:7:1", + "src": "2868:7:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 339, + "id": 353, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2735:7:1", + "src": "2868:7:1", "typeDescriptions": {} } }, - "id": 342, + "id": 356, "isConstant": false, "isLValue": false, "isPure": false, @@ -5051,7 +4984,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2735:15:1", + "src": "2868:15:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5062,250 +4995,53 @@ "operator": ">>", "rightExpression": { "hexValue": "313238", - "id": 343, + "id": 357, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2754:3:1", + "src": "2887:3:1", "typeDescriptions": { "typeIdentifier": "t_rational_128_by_1", "typeString": "int_const 128" }, "value": "128" }, - "src": "2735:22:1", + "src": "2868:22:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 338, - "id": 345, + "functionReturnParameters": 352, + "id": 359, "nodeType": "Return", - "src": "2728:29:1" + "src": "2861:29:1" } ] }, - "id": 347, + "id": 361, "implemented": true, "kind": "function", "modifiers": [], "name": "unpackHigh128", - "nameLocation": "2656:13:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 335, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 334, - "mutability": "mutable", - "name": "packed", - "nameLocation": "2678:6:1", - "nodeType": "VariableDeclaration", - "scope": 347, - "src": "2670:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 333, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2670:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "2669:16:1" - }, - "returnParameters": { - "id": 338, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 337, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 347, - "src": "2709:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 336, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2709:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2708:9:1" - }, - "scope": 524, - "src": "2647:117:1", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 362, - "nodeType": "Block", - "src": "2896:48:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 358, - "name": "packed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 349, - "src": "2929:6:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 357, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2921:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 356, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2921:7:1", - "typeDescriptions": {} - } - }, - "id": 359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2921:15:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 355, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2913:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint128_$", - "typeString": "type(uint128)" - }, - "typeName": { - "id": 354, - "name": "uint128", - "nodeType": "ElementaryTypeName", - "src": "2913:7:1", - "typeDescriptions": {} - } - }, - "id": 360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2913:24:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint128", - "typeString": "uint128" - } - }, - "functionReturnParameters": 353, - "id": 361, - "nodeType": "Return", - "src": "2906:31:1" - } - ] - }, - "id": 363, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "unpackLow128", - "nameLocation": "2835:12:1", + "nameLocation": "2789:13:1", "nodeType": "FunctionDefinition", "parameters": { - "id": 350, + "id": 349, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 349, + "id": 348, "mutability": "mutable", "name": "packed", - "nameLocation": "2856:6:1", + "nameLocation": "2811:6:1", "nodeType": "VariableDeclaration", - "scope": 363, - "src": "2848:14:1", + "scope": 361, + "src": "2803:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5313,10 +5049,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 348, + "id": 347, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2848:7:1", + "src": "2803:7:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5325,21 +5061,21 @@ "visibility": "internal" } ], - "src": "2847:16:1" + "src": "2802:16:1" }, "returnParameters": { - "id": 353, + "id": 352, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 352, + "id": 351, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 363, - "src": "2887:7:1", + "scope": 361, + "src": "2842:7:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5347,10 +5083,10 @@ "typeString": "uint256" }, "typeName": { - "id": 351, + "id": 350, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2887:7:1", + "src": "2842:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5359,10 +5095,10 @@ "visibility": "internal" } ], - "src": "2886:9:1" + "src": "2841:9:1" }, - "scope": 524, - "src": "2826:118:1", + "scope": 535, + "src": "2780:117:1", "stateMutability": "pure", "virtual": false, "visibility": "internal" @@ -5371,78 +5107,115 @@ "body": { "id": 376, "nodeType": "Block", - "src": "3059:53:1", + "src": "3029:48:1", "statements": [ { "expression": { "arguments": [ { + "arguments": [ + { + "id": 372, + "name": "packed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 363, + "src": "3062:6:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], "expression": { - "id": 372, - "name": "userOp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "3090:6:1", + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 371, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3054:7:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", - "typeString": "struct PackedUserOperation calldata" + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 370, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3054:7:1", + "typeDescriptions": {} } }, "id": 373, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "typeConversion", "lValueRequested": false, - "memberLocation": "3097:7:1", - "memberName": "gasFees", - "nodeType": "MemberAccess", - "referencedDeclaration": 558, - "src": "3090:14:1", + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3054:15:1", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } ], - "id": 371, - "name": "unpackHigh128", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 347, - "src": "3076:13:1", + "id": 369, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3046:7:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_uint256_$", - "typeString": "function (bytes32) pure returns (uint256)" + "typeIdentifier": "t_type$_t_uint128_$", + "typeString": "type(uint128)" + }, + "typeName": { + "id": 368, + "name": "uint128", + "nodeType": "ElementaryTypeName", + "src": "3046:7:1", + "typeDescriptions": {} } }, "id": 374, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", + "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3076:29:1", + "src": "3046:24:1", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint128", + "typeString": "uint128" } }, - "functionReturnParameters": 370, + "functionReturnParameters": 367, "id": 375, "nodeType": "Return", - "src": "3069:36:1" + "src": "3039:31:1" } ] }, @@ -5450,66 +5223,56 @@ "implemented": true, "kind": "function", "modifiers": [], - "name": "unpackMaxPriorityFeePerGas", - "nameLocation": "2959:26:1", + "name": "unpackLow128", + "nameLocation": "2968:12:1", "nodeType": "FunctionDefinition", "parameters": { - "id": 367, + "id": 364, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 366, + "id": 363, "mutability": "mutable", - "name": "userOp", - "nameLocation": "3015:6:1", + "name": "packed", + "nameLocation": "2989:6:1", "nodeType": "VariableDeclaration", "scope": 377, - "src": "2986:35:1", + "src": "2981:14:1", "stateVariable": false, - "storageLocation": "calldata", + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", - "typeString": "struct PackedUserOperation" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, "typeName": { - "id": 365, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 364, - "name": "PackedUserOperation", - "nameLocations": [ - "2986:19:1" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 563, - "src": "2986:19:1" - }, - "referencedDeclaration": 563, - "src": "2986:19:1", + "id": 362, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2981:7:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_storage_ptr", - "typeString": "struct PackedUserOperation" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, "visibility": "internal" } ], - "src": "2985:37:1" + "src": "2980:16:1" }, "returnParameters": { - "id": 370, + "id": 367, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 369, + "id": 366, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 377, - "src": "3050:7:1", + "src": "3020:7:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5517,10 +5280,10 @@ "typeString": "uint256" }, "typeName": { - "id": 368, + "id": 365, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3050:7:1", + "src": "3020:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5529,10 +5292,10 @@ "visibility": "internal" } ], - "src": "3049:9:1" + "src": "3019:9:1" }, - "scope": 524, - "src": "2950:162:1", + "scope": 535, + "src": "2959:118:1", "stateMutability": "pure", "virtual": false, "visibility": "internal" @@ -5541,7 +5304,7 @@ "body": { "id": 390, "nodeType": "Block", - "src": "3219:52:1", + "src": "3192:53:1", "statements": [ { "expression": { @@ -5553,9 +5316,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 380, - "src": "3249:6:1", + "src": "3223:6:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$574_calldata_ptr", "typeString": "struct PackedUserOperation calldata" } }, @@ -5564,11 +5327,11 @@ "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "3256:7:1", + "memberLocation": "3230:7:1", "memberName": "gasFees", "nodeType": "MemberAccess", - "referencedDeclaration": 558, - "src": "3249:14:1", + "referencedDeclaration": 569, + "src": "3223:14:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5583,11 +5346,11 @@ } ], "id": 385, - "name": "unpackLow128", + "name": "unpackHigh128", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 363, - "src": "3236:12:1", + "referencedDeclaration": 361, + "src": "3209:13:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) pure returns (uint256)" @@ -5602,7 +5365,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3236:28:1", + "src": "3209:29:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5612,7 +5375,7 @@ "functionReturnParameters": 384, "id": 389, "nodeType": "Return", - "src": "3229:35:1" + "src": "3202:36:1" } ] }, @@ -5620,8 +5383,8 @@ "implemented": true, "kind": "function", "modifiers": [], - "name": "unpackMaxFeePerGas", - "nameLocation": "3127:18:1", + "name": "unpackMaxPriorityFeePerGas", + "nameLocation": "3092:26:1", "nodeType": "FunctionDefinition", "parameters": { "id": 381, @@ -5632,14 +5395,14 @@ "id": 380, "mutability": "mutable", "name": "userOp", - "nameLocation": "3175:6:1", + "nameLocation": "3148:6:1", "nodeType": "VariableDeclaration", "scope": 391, - "src": "3146:35:1", + "src": "3119:35:1", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$574_calldata_ptr", "typeString": "struct PackedUserOperation" }, "typeName": { @@ -5649,23 +5412,23 @@ "id": 378, "name": "PackedUserOperation", "nameLocations": [ - "3146:19:1" + "3119:19:1" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 563, - "src": "3146:19:1" + "referencedDeclaration": 574, + "src": "3119:19:1" }, - "referencedDeclaration": 563, - "src": "3146:19:1", + "referencedDeclaration": 574, + "src": "3119:19:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_storage_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$574_storage_ptr", "typeString": "struct PackedUserOperation" } }, "visibility": "internal" } ], - "src": "3145:37:1" + "src": "3118:37:1" }, "returnParameters": { "id": 384, @@ -5679,7 +5442,7 @@ "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 391, - "src": "3210:7:1", + "src": "3183:7:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5690,7 +5453,7 @@ "id": 382, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3210:7:1", + "src": "3183:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5699,10 +5462,10 @@ "visibility": "internal" } ], - "src": "3209:9:1" + "src": "3182:9:1" }, - "scope": 524, - "src": "3118:153:1", + "scope": 535, + "src": "3083:162:1", "stateMutability": "pure", "virtual": false, "visibility": "internal" @@ -5711,7 +5474,7 @@ "body": { "id": 404, "nodeType": "Block", - "src": "3386:62:1", + "src": "3352:52:1", "statements": [ { "expression": { @@ -5723,9 +5486,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 394, - "src": "3417:6:1", + "src": "3382:6:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$574_calldata_ptr", "typeString": "struct PackedUserOperation calldata" } }, @@ -5734,11 +5497,11 @@ "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "3424:16:1", - "memberName": "accountGasLimits", + "memberLocation": "3389:7:1", + "memberName": "gasFees", "nodeType": "MemberAccess", - "referencedDeclaration": 554, - "src": "3417:23:1", + "referencedDeclaration": 569, + "src": "3382:14:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5753,11 +5516,11 @@ } ], "id": 399, - "name": "unpackHigh128", + "name": "unpackLow128", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 347, - "src": "3403:13:1", + "referencedDeclaration": 377, + "src": "3369:12:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) pure returns (uint256)" @@ -5772,7 +5535,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3403:38:1", + "src": "3369:28:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5782,7 +5545,7 @@ "functionReturnParameters": 398, "id": 403, "nodeType": "Return", - "src": "3396:45:1" + "src": "3362:35:1" } ] }, @@ -5790,8 +5553,8 @@ "implemented": true, "kind": "function", "modifiers": [], - "name": "unpackVerificationGasLimit", - "nameLocation": "3286:26:1", + "name": "unpackMaxFeePerGas", + "nameLocation": "3260:18:1", "nodeType": "FunctionDefinition", "parameters": { "id": 395, @@ -5802,14 +5565,14 @@ "id": 394, "mutability": "mutable", "name": "userOp", - "nameLocation": "3342:6:1", + "nameLocation": "3308:6:1", "nodeType": "VariableDeclaration", "scope": 405, - "src": "3313:35:1", + "src": "3279:35:1", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$574_calldata_ptr", "typeString": "struct PackedUserOperation" }, "typeName": { @@ -5819,23 +5582,23 @@ "id": 392, "name": "PackedUserOperation", "nameLocations": [ - "3313:19:1" + "3279:19:1" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 563, - "src": "3313:19:1" + "referencedDeclaration": 574, + "src": "3279:19:1" }, - "referencedDeclaration": 563, - "src": "3313:19:1", + "referencedDeclaration": 574, + "src": "3279:19:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_storage_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$574_storage_ptr", "typeString": "struct PackedUserOperation" } }, "visibility": "internal" } ], - "src": "3312:37:1" + "src": "3278:37:1" }, "returnParameters": { "id": 398, @@ -5849,7 +5612,7 @@ "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 405, - "src": "3377:7:1", + "src": "3343:7:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5860,7 +5623,7 @@ "id": 396, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3377:7:1", + "src": "3343:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5869,10 +5632,10 @@ "visibility": "internal" } ], - "src": "3376:9:1" + "src": "3342:9:1" }, - "scope": 524, - "src": "3277:171:1", + "scope": 535, + "src": "3251:153:1", "stateMutability": "pure", "virtual": false, "visibility": "internal" @@ -5881,7 +5644,7 @@ "body": { "id": 418, "nodeType": "Block", - "src": "3555:61:1", + "src": "3519:62:1", "statements": [ { "expression": { @@ -5893,9 +5656,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 408, - "src": "3585:6:1", + "src": "3550:6:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$574_calldata_ptr", "typeString": "struct PackedUserOperation calldata" } }, @@ -5904,11 +5667,11 @@ "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "3592:16:1", + "memberLocation": "3557:16:1", "memberName": "accountGasLimits", "nodeType": "MemberAccess", - "referencedDeclaration": 554, - "src": "3585:23:1", + "referencedDeclaration": 565, + "src": "3550:23:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5923,11 +5686,11 @@ } ], "id": 413, - "name": "unpackLow128", + "name": "unpackHigh128", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 363, - "src": "3572:12:1", + "referencedDeclaration": 361, + "src": "3536:13:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) pure returns (uint256)" @@ -5942,7 +5705,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3572:37:1", + "src": "3536:38:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5952,7 +5715,7 @@ "functionReturnParameters": 412, "id": 417, "nodeType": "Return", - "src": "3565:44:1" + "src": "3529:45:1" } ] }, @@ -5960,8 +5723,8 @@ "implemented": true, "kind": "function", "modifiers": [], - "name": "unpackCallGasLimit", - "nameLocation": "3463:18:1", + "name": "unpackVerificationGasLimit", + "nameLocation": "3419:26:1", "nodeType": "FunctionDefinition", "parameters": { "id": 409, @@ -5972,14 +5735,14 @@ "id": 408, "mutability": "mutable", "name": "userOp", - "nameLocation": "3511:6:1", + "nameLocation": "3475:6:1", "nodeType": "VariableDeclaration", "scope": 419, - "src": "3482:35:1", + "src": "3446:35:1", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$574_calldata_ptr", "typeString": "struct PackedUserOperation" }, "typeName": { @@ -5989,23 +5752,23 @@ "id": 406, "name": "PackedUserOperation", "nameLocations": [ - "3482:19:1" + "3446:19:1" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 563, - "src": "3482:19:1" + "referencedDeclaration": 574, + "src": "3446:19:1" }, - "referencedDeclaration": 563, - "src": "3482:19:1", + "referencedDeclaration": 574, + "src": "3446:19:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_storage_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$574_storage_ptr", "typeString": "struct PackedUserOperation" } }, "visibility": "internal" } ], - "src": "3481:37:1" + "src": "3445:37:1" }, "returnParameters": { "id": 412, @@ -6019,7 +5782,7 @@ "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 419, - "src": "3546:7:1", + "src": "3510:7:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6030,7 +5793,177 @@ "id": 410, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3546:7:1", + "src": "3510:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3509:9:1" + }, + "scope": 535, + "src": "3410:171:1", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 432, + "nodeType": "Block", + "src": "3688:61:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 428, + "name": "userOp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 422, + "src": "3718:6:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedUserOperation_$574_calldata_ptr", + "typeString": "struct PackedUserOperation calldata" + } + }, + "id": 429, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3725:16:1", + "memberName": "accountGasLimits", + "nodeType": "MemberAccess", + "referencedDeclaration": 565, + "src": "3718:23:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 427, + "name": "unpackLow128", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 377, + "src": "3705:12:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) pure returns (uint256)" + } + }, + "id": 430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3705:37:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 426, + "id": 431, + "nodeType": "Return", + "src": "3698:44:1" + } + ] + }, + "id": 433, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "unpackCallGasLimit", + "nameLocation": "3596:18:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 423, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 422, + "mutability": "mutable", + "name": "userOp", + "nameLocation": "3644:6:1", + "nodeType": "VariableDeclaration", + "scope": 433, + "src": "3615:35:1", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedUserOperation_$574_calldata_ptr", + "typeString": "struct PackedUserOperation" + }, + "typeName": { + "id": 421, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 420, + "name": "PackedUserOperation", + "nameLocations": [ + "3615:19:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 574, + "src": "3615:19:1" + }, + "referencedDeclaration": 574, + "src": "3615:19:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedUserOperation_$574_storage_ptr", + "typeString": "struct PackedUserOperation" + } + }, + "visibility": "internal" + } + ], + "src": "3614:37:1" + }, + "returnParameters": { + "id": 426, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 425, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 433, + "src": "3679:7:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 424, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3679:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6039,19 +5972,19 @@ "visibility": "internal" } ], - "src": "3545:9:1" + "src": "3678:9:1" }, - "scope": 524, - "src": "3454:162:1", + "scope": 535, + "src": "3587:162:1", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 439, + "id": 453, "nodeType": "Block", - "src": "3740:128:1", + "src": "3873:128:1", "statements": [ { "expression": { @@ -6061,58 +5994,58 @@ { "baseExpression": { "expression": { - "id": 431, + "id": 445, "name": "userOp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 422, - "src": "3773:6:1", + "referencedDeclaration": 436, + "src": "3906:6:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$574_calldata_ptr", "typeString": "struct PackedUserOperation calldata" } }, - "id": 432, + "id": 446, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "3780:16:1", + "memberLocation": "3913:16:1", "memberName": "paymasterAndData", "nodeType": "MemberAccess", - "referencedDeclaration": 560, - "src": "3773:23:1", + "referencedDeclaration": 571, + "src": "3906:23:1", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" } }, "endExpression": { - "id": 434, + "id": 448, "name": "PAYMASTER_POSTOP_GAS_OFFSET", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 201, - "src": "3831:27:1", + "referencedDeclaration": 191, + "src": "3964:27:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 435, + "id": 449, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "IndexRangeAccess", - "src": "3773:86:1", + "src": "3906:86:1", "startExpression": { - "id": 433, + "id": 447, "name": "PAYMASTER_VALIDATION_GAS_OFFSET", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 198, - "src": "3797:31:1", + "referencedDeclaration": 188, + "src": "3930:31:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6131,26 +6064,26 @@ "typeString": "bytes calldata slice" } ], - "id": 430, + "id": 444, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3765:7:1", + "src": "3898:7:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes16_$", "typeString": "type(bytes16)" }, "typeName": { - "id": 429, + "id": 443, "name": "bytes16", "nodeType": "ElementaryTypeName", - "src": "3765:7:1", + "src": "3898:7:1", "typeDescriptions": {} } }, - "id": 436, + "id": 450, "isConstant": false, "isLValue": false, "isPure": false, @@ -6159,7 +6092,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3765:95:1", + "src": "3898:95:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes16", @@ -6174,26 +6107,26 @@ "typeString": "bytes16" } ], - "id": 428, + "id": 442, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3757:7:1", + "src": "3890:7:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint128_$", "typeString": "type(uint128)" }, "typeName": { - "id": 427, + "id": 441, "name": "uint128", "nodeType": "ElementaryTypeName", - "src": "3757:7:1", + "src": "3890:7:1", "typeDescriptions": {} } }, - "id": 437, + "id": 451, "isConstant": false, "isLValue": false, "isPure": false, @@ -6202,84 +6135,84 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3757:104:1", + "src": "3890:104:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint128", "typeString": "uint128" } }, - "functionReturnParameters": 426, - "id": 438, + "functionReturnParameters": 440, + "id": 452, "nodeType": "Return", - "src": "3750:111:1" + "src": "3883:111:1" } ] }, - "id": 440, + "id": 454, "implemented": true, "kind": "function", "modifiers": [], "name": "unpackPaymasterVerificationGasLimit", - "nameLocation": "3631:35:1", + "nameLocation": "3764:35:1", "nodeType": "FunctionDefinition", "parameters": { - "id": 423, + "id": 437, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 422, + "id": 436, "mutability": "mutable", "name": "userOp", - "nameLocation": "3696:6:1", + "nameLocation": "3829:6:1", "nodeType": "VariableDeclaration", - "scope": 440, - "src": "3667:35:1", + "scope": 454, + "src": "3800:35:1", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$574_calldata_ptr", "typeString": "struct PackedUserOperation" }, "typeName": { - "id": 421, + "id": 435, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 420, + "id": 434, "name": "PackedUserOperation", "nameLocations": [ - "3667:19:1" + "3800:19:1" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 563, - "src": "3667:19:1" + "referencedDeclaration": 574, + "src": "3800:19:1" }, - "referencedDeclaration": 563, - "src": "3667:19:1", + "referencedDeclaration": 574, + "src": "3800:19:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_storage_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$574_storage_ptr", "typeString": "struct PackedUserOperation" } }, "visibility": "internal" } ], - "src": "3666:37:1" + "src": "3799:37:1" }, "returnParameters": { - "id": 426, + "id": 440, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 425, + "id": 439, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 440, - "src": "3731:7:1", + "scope": 454, + "src": "3864:7:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6287,10 +6220,10 @@ "typeString": "uint256" }, "typeName": { - "id": 424, + "id": 438, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3731:7:1", + "src": "3864:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6299,19 +6232,19 @@ "visibility": "internal" } ], - "src": "3730:9:1" + "src": "3863:9:1" }, - "scope": 524, - "src": "3622:246:1", + "scope": 535, + "src": "3755:246:1", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 460, + "id": 474, "nodeType": "Block", - "src": "3977:118:1", + "src": "4110:118:1", "statements": [ { "expression": { @@ -6321,58 +6254,58 @@ { "baseExpression": { "expression": { - "id": 452, + "id": 466, "name": "userOp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 443, - "src": "4010:6:1", + "referencedDeclaration": 457, + "src": "4143:6:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$574_calldata_ptr", "typeString": "struct PackedUserOperation calldata" } }, - "id": 453, + "id": 467, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "4017:16:1", + "memberLocation": "4150:16:1", "memberName": "paymasterAndData", "nodeType": "MemberAccess", - "referencedDeclaration": 560, - "src": "4010:23:1", + "referencedDeclaration": 571, + "src": "4143:23:1", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" } }, "endExpression": { - "id": 455, + "id": 469, "name": "PAYMASTER_DATA_OFFSET", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 204, - "src": "4064:21:1", + "referencedDeclaration": 194, + "src": "4197:21:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 456, + "id": 470, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "IndexRangeAccess", - "src": "4010:76:1", + "src": "4143:76:1", "startExpression": { - "id": 454, + "id": 468, "name": "PAYMASTER_POSTOP_GAS_OFFSET", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 201, - "src": "4034:27:1", + "referencedDeclaration": 191, + "src": "4167:27:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6391,26 +6324,26 @@ "typeString": "bytes calldata slice" } ], - "id": 451, + "id": 465, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4002:7:1", + "src": "4135:7:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes16_$", "typeString": "type(bytes16)" }, "typeName": { - "id": 450, + "id": 464, "name": "bytes16", "nodeType": "ElementaryTypeName", - "src": "4002:7:1", + "src": "4135:7:1", "typeDescriptions": {} } }, - "id": 457, + "id": 471, "isConstant": false, "isLValue": false, "isPure": false, @@ -6419,7 +6352,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4002:85:1", + "src": "4135:85:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes16", @@ -6434,26 +6367,26 @@ "typeString": "bytes16" } ], - "id": 449, + "id": 463, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3994:7:1", + "src": "4127:7:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint128_$", "typeString": "type(uint128)" }, "typeName": { - "id": 448, + "id": 462, "name": "uint128", "nodeType": "ElementaryTypeName", - "src": "3994:7:1", + "src": "4127:7:1", "typeDescriptions": {} } }, - "id": 458, + "id": 472, "isConstant": false, "isLValue": false, "isPure": false, @@ -6462,84 +6395,84 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3994:94:1", + "src": "4127:94:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint128", "typeString": "uint128" } }, - "functionReturnParameters": 447, - "id": 459, + "functionReturnParameters": 461, + "id": 473, "nodeType": "Return", - "src": "3987:101:1" + "src": "4120:101:1" } ] }, - "id": 461, + "id": 475, "implemented": true, "kind": "function", "modifiers": [], "name": "unpackPostOpGasLimit", - "nameLocation": "3883:20:1", + "nameLocation": "4016:20:1", "nodeType": "FunctionDefinition", "parameters": { - "id": 444, + "id": 458, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 443, + "id": 457, "mutability": "mutable", "name": "userOp", - "nameLocation": "3933:6:1", + "nameLocation": "4066:6:1", "nodeType": "VariableDeclaration", - "scope": 461, - "src": "3904:35:1", + "scope": 475, + "src": "4037:35:1", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$574_calldata_ptr", "typeString": "struct PackedUserOperation" }, "typeName": { - "id": 442, + "id": 456, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 441, + "id": 455, "name": "PackedUserOperation", "nameLocations": [ - "3904:19:1" + "4037:19:1" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 563, - "src": "3904:19:1" + "referencedDeclaration": 574, + "src": "4037:19:1" }, - "referencedDeclaration": 563, - "src": "3904:19:1", + "referencedDeclaration": 574, + "src": "4037:19:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_storage_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$574_storage_ptr", "typeString": "struct PackedUserOperation" } }, "visibility": "internal" } ], - "src": "3903:37:1" + "src": "4036:37:1" }, "returnParameters": { - "id": 447, + "id": 461, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 446, + "id": 460, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 461, - "src": "3968:7:1", + "scope": 475, + "src": "4101:7:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6547,10 +6480,10 @@ "typeString": "uint256" }, "typeName": { - "id": 445, + "id": 459, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3968:7:1", + "src": "4101:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6559,19 +6492,19 @@ "visibility": "internal" } ], - "src": "3967:9:1" + "src": "4100:9:1" }, - "scope": 524, - "src": "3874:221:1", + "scope": 535, + "src": "4007:221:1", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 503, + "id": 517, "nodeType": "Block", - "src": "4279:329:1", + "src": "4412:329:1", "statements": [ { "expression": { @@ -6582,36 +6515,36 @@ "arguments": [ { "baseExpression": { - "id": 476, + "id": 490, "name": "paymasterAndData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 463, - "src": "4326:16:1", + "referencedDeclaration": 477, + "src": "4459:16:1", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" } }, "endExpression": { - "id": 477, + "id": 491, "name": "PAYMASTER_VALIDATION_GAS_OFFSET", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 198, - "src": "4345:31:1", + "referencedDeclaration": 188, + "src": "4478:31:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 478, + "id": 492, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "IndexRangeAccess", - "src": "4326:51:1", + "src": "4459:51:1", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr_slice", "typeString": "bytes calldata slice" @@ -6625,26 +6558,26 @@ "typeString": "bytes calldata slice" } ], - "id": 475, + "id": 489, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4318:7:1", + "src": "4451:7:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes20_$", "typeString": "type(bytes20)" }, "typeName": { - "id": 474, + "id": 488, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "4318:7:1", + "src": "4451:7:1", "typeDescriptions": {} } }, - "id": 479, + "id": 493, "isConstant": false, "isLValue": false, "isPure": false, @@ -6653,7 +6586,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4318:60:1", + "src": "4451:60:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes20", @@ -6668,26 +6601,26 @@ "typeString": "bytes20" } ], - "id": 473, + "id": 487, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4310:7:1", + "src": "4443:7:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 472, + "id": 486, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4310:7:1", + "src": "4443:7:1", "typeDescriptions": {} } }, - "id": 480, + "id": 494, "isConstant": false, "isLValue": false, "isPure": false, @@ -6696,7 +6629,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4310:69:1", + "src": "4443:69:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -6709,43 +6642,43 @@ "arguments": [ { "baseExpression": { - "id": 485, + "id": 499, "name": "paymasterAndData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 463, - "src": "4409:16:1", + "referencedDeclaration": 477, + "src": "4542:16:1", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" } }, "endExpression": { - "id": 487, + "id": 501, "name": "PAYMASTER_POSTOP_GAS_OFFSET", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 201, - "src": "4460:27:1", + "referencedDeclaration": 191, + "src": "4593:27:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 488, + "id": 502, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "IndexRangeAccess", - "src": "4409:79:1", + "src": "4542:79:1", "startExpression": { - "id": 486, + "id": 500, "name": "PAYMASTER_VALIDATION_GAS_OFFSET", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 198, - "src": "4426:31:1", + "referencedDeclaration": 188, + "src": "4559:31:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6764,26 +6697,26 @@ "typeString": "bytes calldata slice" } ], - "id": 484, + "id": 498, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4401:7:1", + "src": "4534:7:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes16_$", "typeString": "type(bytes16)" }, "typeName": { - "id": 483, + "id": 497, "name": "bytes16", "nodeType": "ElementaryTypeName", - "src": "4401:7:1", + "src": "4534:7:1", "typeDescriptions": {} } }, - "id": 489, + "id": 503, "isConstant": false, "isLValue": false, "isPure": false, @@ -6792,7 +6725,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4401:88:1", + "src": "4534:88:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes16", @@ -6807,26 +6740,26 @@ "typeString": "bytes16" } ], - "id": 482, + "id": 496, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4393:7:1", + "src": "4526:7:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint128_$", "typeString": "type(uint128)" }, "typeName": { - "id": 481, + "id": 495, "name": "uint128", "nodeType": "ElementaryTypeName", - "src": "4393:7:1", + "src": "4526:7:1", "typeDescriptions": {} } }, - "id": 490, + "id": 504, "isConstant": false, "isLValue": false, "isPure": false, @@ -6835,7 +6768,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4393:97:1", + "src": "4526:97:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint128", @@ -6848,43 +6781,43 @@ "arguments": [ { "baseExpression": { - "id": 495, + "id": 509, "name": "paymasterAndData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 463, - "src": "4520:16:1", + "referencedDeclaration": 477, + "src": "4653:16:1", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" } }, "endExpression": { - "id": 497, + "id": 511, "name": "PAYMASTER_DATA_OFFSET", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 204, - "src": "4567:21:1", + "referencedDeclaration": 194, + "src": "4700:21:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 498, + "id": 512, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "IndexRangeAccess", - "src": "4520:69:1", + "src": "4653:69:1", "startExpression": { - "id": 496, + "id": 510, "name": "PAYMASTER_POSTOP_GAS_OFFSET", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 201, - "src": "4537:27:1", + "referencedDeclaration": 191, + "src": "4670:27:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6903,26 +6836,26 @@ "typeString": "bytes calldata slice" } ], - "id": 494, + "id": 508, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4512:7:1", + "src": "4645:7:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes16_$", "typeString": "type(bytes16)" }, "typeName": { - "id": 493, + "id": 507, "name": "bytes16", "nodeType": "ElementaryTypeName", - "src": "4512:7:1", + "src": "4645:7:1", "typeDescriptions": {} } }, - "id": 499, + "id": 513, "isConstant": false, "isLValue": false, "isPure": false, @@ -6931,7 +6864,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4512:78:1", + "src": "4645:78:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes16", @@ -6946,26 +6879,26 @@ "typeString": "bytes16" } ], - "id": 492, + "id": 506, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4504:7:1", + "src": "4637:7:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint128_$", "typeString": "type(uint128)" }, "typeName": { - "id": 491, + "id": 505, "name": "uint128", "nodeType": "ElementaryTypeName", - "src": "4504:7:1", + "src": "4637:7:1", "typeDescriptions": {} } }, - "id": 500, + "id": 514, "isConstant": false, "isLValue": false, "isPure": false, @@ -6974,7 +6907,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4504:87:1", + "src": "4637:87:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint128", @@ -6982,46 +6915,46 @@ } } ], - "id": 501, + "id": 515, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "4296:305:1", + "src": "4429:305:1", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_address_$_t_uint128_$_t_uint128_$", "typeString": "tuple(address,uint128,uint128)" } }, - "functionReturnParameters": 471, - "id": 502, + "functionReturnParameters": 485, + "id": 516, "nodeType": "Return", - "src": "4289:312:1" + "src": "4422:312:1" } ] }, - "id": 504, + "id": 518, "implemented": true, "kind": "function", "modifiers": [], "name": "unpackPaymasterStaticFields", - "nameLocation": "4110:27:1", + "nameLocation": "4243:27:1", "nodeType": "FunctionDefinition", "parameters": { - "id": 464, + "id": 478, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 463, + "id": 477, "mutability": "mutable", "name": "paymasterAndData", - "nameLocation": "4162:16:1", + "nameLocation": "4295:16:1", "nodeType": "VariableDeclaration", - "scope": 504, - "src": "4147:31:1", + "scope": 518, + "src": "4280:31:1", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -7029,10 +6962,10 @@ "typeString": "bytes" }, "typeName": { - "id": 462, + "id": 476, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "4147:5:1", + "src": "4280:5:1", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -7041,21 +6974,21 @@ "visibility": "internal" } ], - "src": "4137:47:1" + "src": "4270:47:1" }, "returnParameters": { - "id": 471, + "id": 485, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 466, + "id": 480, "mutability": "mutable", "name": "paymaster", - "nameLocation": "4216:9:1", + "nameLocation": "4349:9:1", "nodeType": "VariableDeclaration", - "scope": 504, - "src": "4208:17:1", + "scope": 518, + "src": "4341:17:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7063,10 +6996,10 @@ "typeString": "address" }, "typeName": { - "id": 465, + "id": 479, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4208:7:1", + "src": "4341:7:1", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7077,13 +7010,13 @@ }, { "constant": false, - "id": 468, + "id": 482, "mutability": "mutable", "name": "validationGasLimit", - "nameLocation": "4235:18:1", + "nameLocation": "4368:18:1", "nodeType": "VariableDeclaration", - "scope": 504, - "src": "4227:26:1", + "scope": 518, + "src": "4360:26:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7091,10 +7024,10 @@ "typeString": "uint256" }, "typeName": { - "id": 467, + "id": 481, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4227:7:1", + "src": "4360:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7104,13 +7037,13 @@ }, { "constant": false, - "id": 470, + "id": 484, "mutability": "mutable", "name": "postOpGasLimit", - "nameLocation": "4263:14:1", + "nameLocation": "4396:14:1", "nodeType": "VariableDeclaration", - "scope": 504, - "src": "4255:22:1", + "scope": 518, + "src": "4388:22:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7118,10 +7051,10 @@ "typeString": "uint256" }, "typeName": { - "id": 469, + "id": 483, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4255:7:1", + "src": "4388:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7130,19 +7063,19 @@ "visibility": "internal" } ], - "src": "4207:71:1" + "src": "4340:71:1" }, - "scope": 524, - "src": "4101:507:1", + "scope": 535, + "src": "4234:507:1", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { - "id": 522, + "id": 533, "nodeType": "Block", - "src": "4971:71:1", + "src": "4945:49:1", "statements": [ { "expression": { @@ -7150,53 +7083,37 @@ { "arguments": [ { - "id": 517, + "id": 529, "name": "userOp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 508, - "src": "5005:6:1", + "referencedDeclaration": 522, + "src": "4979:6:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$574_calldata_ptr", "typeString": "struct PackedUserOperation calldata" } - }, - { - "id": 518, - "name": "overrideInitCodeHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "5013:20:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$574_calldata_ptr", "typeString": "struct PackedUserOperation calldata" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" } ], - "id": 516, + "id": 528, "name": "encode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 314, - "src": "4998:6:1", + "referencedDeclaration": 320, + "src": "4972:6:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_PackedUserOperation_$563_calldata_ptr_$_t_bytes32_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (struct PackedUserOperation calldata,bytes32) pure returns (bytes memory)" + "typeIdentifier": "t_function_internal_pure$_t_struct$_PackedUserOperation_$574_calldata_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (struct PackedUserOperation calldata) pure returns (bytes memory)" } }, - "id": 519, + "id": 530, "isConstant": false, "isLValue": false, "isPure": false, @@ -7205,7 +7122,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4998:36:1", + "src": "4972:14:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -7220,18 +7137,18 @@ "typeString": "bytes memory" } ], - "id": 515, + "id": 527, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "4988:9:1", + "src": "4962:9:1", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 520, + "id": 531, "isConstant": false, "isLValue": false, "isPure": false, @@ -7240,117 +7157,90 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4988:47:1", + "src": "4962:25:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 514, - "id": 521, + "functionReturnParameters": 526, + "id": 532, "nodeType": "Return", - "src": "4981:54:1" + "src": "4955:32:1" } ] }, "documentation": { - "id": 505, + "id": 519, "nodeType": "StructuredDocumentation", - "src": "4614:217:1", - "text": " Hash the user operation data.\n @param userOp - The user operation data.\n @param overrideInitCodeHash - If set, the initCode hash will be replaced with this value just for UserOp hashing." + "src": "4747:96:1", + "text": " Hash the user operation data.\n @param userOp - The user operation data." }, - "id": 523, + "id": 534, "implemented": true, "kind": "function", "modifiers": [], "name": "hash", - "nameLocation": "4845:4:1", + "nameLocation": "4857:4:1", "nodeType": "FunctionDefinition", "parameters": { - "id": 511, + "id": 523, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 508, + "id": 522, "mutability": "mutable", "name": "userOp", - "nameLocation": "4888:6:1", + "nameLocation": "4900:6:1", "nodeType": "VariableDeclaration", - "scope": 523, - "src": "4859:35:1", + "scope": 534, + "src": "4871:35:1", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$574_calldata_ptr", "typeString": "struct PackedUserOperation" }, "typeName": { - "id": 507, + "id": 521, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 506, + "id": 520, "name": "PackedUserOperation", "nameLocations": [ - "4859:19:1" + "4871:19:1" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 563, - "src": "4859:19:1" + "referencedDeclaration": 574, + "src": "4871:19:1" }, - "referencedDeclaration": 563, - "src": "4859:19:1", + "referencedDeclaration": 574, + "src": "4871:19:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_storage_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$574_storage_ptr", "typeString": "struct PackedUserOperation" } }, "visibility": "internal" - }, - { - "constant": false, - "id": 510, - "mutability": "mutable", - "name": "overrideInitCodeHash", - "nameLocation": "4912:20:1", - "nodeType": "VariableDeclaration", - "scope": 523, - "src": "4904:28:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 509, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4904:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" } ], - "src": "4849:89:1" + "src": "4861:51:1" }, "returnParameters": { - "id": 514, + "id": 526, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 513, + "id": 525, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 523, - "src": "4962:7:1", + "scope": 534, + "src": "4936:7:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7358,10 +7248,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 512, + "id": 524, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "4962:7:1", + "src": "4936:7:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7370,22 +7260,22 @@ "visibility": "internal" } ], - "src": "4961:9:1" + "src": "4935:9:1" }, - "scope": 524, - "src": "4836:206:1", + "scope": 535, + "src": "4848:146:1", "stateMutability": "pure", "virtual": false, "visibility": "internal" } ], - "scope": 525, - "src": "278:4766:1", + "scope": 536, + "src": "282:4714:1", "usedErrors": [], "usedEvents": [] } ], - "src": "32:5013:1" + "src": "36:4961:1" }, "id": 1 }, @@ -7394,36 +7284,36 @@ "absolutePath": "@account-abstraction/contracts/interfaces/IAccount.sol", "exportedSymbols": { "IAccount": [ - 541 + 552 ], "PackedUserOperation": [ - 563 + 574 ] }, - "id": 542, - "license": "MIT", + "id": 553, + "license": "GPL-3.0", "nodeType": "SourceUnit", "nodes": [ { - "id": 526, + "id": 537, "literals": [ "solidity", - "^", - "0.8", - ".28" + ">=", + "0.7", + ".5" ], "nodeType": "PragmaDirective", - "src": "32:24:2" + "src": "36:24:2" }, { "absolutePath": "@account-abstraction/contracts/interfaces/PackedUserOperation.sol", "file": "./PackedUserOperation.sol", - "id": 527, + "id": 538, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 542, - "sourceUnit": 564, - "src": "58:35:2", + "scope": 553, + "sourceUnit": 575, + "src": "62:35:2", "symbolAliases": [], "unitAlias": "" }, @@ -7434,65 +7324,65 @@ "contractDependencies": [], "contractKind": "interface", "fullyImplemented": false, - "id": 541, + "id": 552, "linearizedBaseContracts": [ - 541 + 552 ], "name": "IAccount", - "nameLocation": "105:8:2", + "nameLocation": "109:8:2", "nodeType": "ContractDefinition", "nodes": [ { "documentation": { - "id": 528, + "id": 539, "nodeType": "StructuredDocumentation", - "src": "120:2304:2", - "text": " Validate user's signature and nonce\n the entryPoint will make the call to the recipient only if this validation call returns successfully.\n signature failure should be reported by returning SIG_VALIDATION_FAILED (1).\n This allows making a \"simulation call\" without a valid signature\n Other failures (e.g. nonce mismatch, or invalid signature format) should still revert to signal failure.\n @dev Must validate caller is the entryPoint.\n Must validate the signature and nonce\n @param userOp - The operation that is about to be executed.\n @param userOpHash - Hash of the user's request data. can be used as the basis for signature.\n @param missingAccountFunds - Missing funds on the account's deposit in the entrypoint.\n This is the minimum amount to transfer to the sender(entryPoint) to be\n able to make the call. The excess is left as a deposit in the entrypoint\n for future calls. Can be withdrawn anytime using \"entryPoint.withdrawTo()\".\n In case there is a paymaster in the request (or the current deposit is high\n enough), this value will be zero.\n @return validationData - Packaged ValidationData structure. use `_packValidationData` and\n `_unpackValidationData` to encode and decode.\n <20-byte> aggregatorOrSigFail - 0 for valid signature, 1 to mark signature failure,\n otherwise, an address of an \"aggregator\" contract.\n <6-byte> validUntil - Last timestamp this operation is valid at, or 0 for \"indefinitely\"\n <6-byte> validAfter - First timestamp this operation is valid\n If an account doesn't use time-range, it is enough to\n return SIG_VALIDATION_FAILED value (1) for signature failure.\n Note that the validation code cannot use block.timestamp (or block.number) directly." + "src": "124:2290:2", + "text": " Validate user's signature and nonce\n the entryPoint will make the call to the recipient only if this validation call returns successfully.\n signature failure should be reported by returning SIG_VALIDATION_FAILED (1).\n This allows making a \"simulation call\" without a valid signature\n Other failures (e.g. nonce mismatch, or invalid signature format) should still revert to signal failure.\n @dev Must validate caller is the entryPoint.\n Must validate the signature and nonce\n @param userOp - The operation that is about to be executed.\n @param userOpHash - Hash of the user's request data. can be used as the basis for signature.\n @param missingAccountFunds - Missing funds on the account's deposit in the entrypoint.\n This is the minimum amount to transfer to the sender(entryPoint) to be\n able to make the call. The excess is left as a deposit in the entrypoint\n for future calls. Can be withdrawn anytime using \"entryPoint.withdrawTo()\".\n In case there is a paymaster in the request (or the current deposit is high\n enough), this value will be zero.\n @return validationData - Packaged ValidationData structure. use `_packValidationData` and\n `_unpackValidationData` to encode and decode.\n <20-byte> sigAuthorizer - 0 for valid signature, 1 to mark signature failure,\n otherwise, an address of an \"authorizer\" contract.\n <6-byte> validUntil - Last timestamp this operation is valid. 0 for \"indefinite\"\n <6-byte> validAfter - First timestamp this operation is valid\n If an account doesn't use time-range, it is enough to\n return SIG_VALIDATION_FAILED value (1) for signature failure.\n Note that the validation code cannot use block.timestamp (or block.number) directly." }, "functionSelector": "19822f7c", - "id": 540, + "id": 551, "implemented": false, "kind": "function", "modifiers": [], "name": "validateUserOp", - "nameLocation": "2438:14:2", + "nameLocation": "2428:14:2", "nodeType": "FunctionDefinition", "parameters": { - "id": 536, + "id": 547, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 531, + "id": 542, "mutability": "mutable", "name": "userOp", - "nameLocation": "2491:6:2", + "nameLocation": "2481:6:2", "nodeType": "VariableDeclaration", - "scope": 540, - "src": "2462:35:2", + "scope": 551, + "src": "2452:35:2", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$574_calldata_ptr", "typeString": "struct PackedUserOperation" }, "typeName": { - "id": 530, + "id": 541, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 529, + "id": 540, "name": "PackedUserOperation", "nameLocations": [ - "2462:19:2" + "2452:19:2" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 563, - "src": "2462:19:2" + "referencedDeclaration": 574, + "src": "2452:19:2" }, - "referencedDeclaration": 563, - "src": "2462:19:2", + "referencedDeclaration": 574, + "src": "2452:19:2", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_storage_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$574_storage_ptr", "typeString": "struct PackedUserOperation" } }, @@ -7500,13 +7390,13 @@ }, { "constant": false, - "id": 533, + "id": 544, "mutability": "mutable", "name": "userOpHash", - "nameLocation": "2515:10:2", + "nameLocation": "2505:10:2", "nodeType": "VariableDeclaration", - "scope": 540, - "src": "2507:18:2", + "scope": 551, + "src": "2497:18:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7514,10 +7404,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 532, + "id": 543, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2507:7:2", + "src": "2497:7:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7527,13 +7417,13 @@ }, { "constant": false, - "id": 535, + "id": 546, "mutability": "mutable", "name": "missingAccountFunds", - "nameLocation": "2543:19:2", + "nameLocation": "2533:19:2", "nodeType": "VariableDeclaration", - "scope": 540, - "src": "2535:27:2", + "scope": 551, + "src": "2525:27:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7541,10 +7431,10 @@ "typeString": "uint256" }, "typeName": { - "id": 534, + "id": 545, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2535:7:2", + "src": "2525:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7553,21 +7443,21 @@ "visibility": "internal" } ], - "src": "2452:116:2" + "src": "2442:116:2" }, "returnParameters": { - "id": 539, + "id": 550, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 538, + "id": 549, "mutability": "mutable", "name": "validationData", - "nameLocation": "2595:14:2", + "nameLocation": "2585:14:2", "nodeType": "VariableDeclaration", - "scope": 540, - "src": "2587:22:2", + "scope": 551, + "src": "2577:22:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7575,10 +7465,10 @@ "typeString": "uint256" }, "typeName": { - "id": 537, + "id": 548, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2587:7:2", + "src": "2577:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7587,22 +7477,22 @@ "visibility": "internal" } ], - "src": "2586:24:2" + "src": "2576:24:2" }, - "scope": 541, - "src": "2429:182:2", + "scope": 552, + "src": "2419:182:2", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" } ], - "scope": 542, - "src": "95:2518:2", + "scope": 553, + "src": "99:2504:2", "usedErrors": [], "usedEvents": [] } ], - "src": "32:2582:2" + "src": "36:2568:2" }, "id": 2 }, @@ -7611,43 +7501,43 @@ "absolutePath": "@account-abstraction/contracts/interfaces/PackedUserOperation.sol", "exportedSymbols": { "PackedUserOperation": [ - 563 + 574 ] }, - "id": 564, - "license": "MIT", + "id": 575, + "license": "GPL-3.0", "nodeType": "SourceUnit", "nodes": [ { - "id": 543, + "id": 554, "literals": [ "solidity", - "^", - "0.8", - ".28" + ">=", + "0.7", + ".5" ], "nodeType": "PragmaDirective", - "src": "32:24:3" + "src": "36:24:3" }, { "canonicalName": "PackedUserOperation", "documentation": { - "id": 544, + "id": 555, "nodeType": "StructuredDocumentation", - "src": "58:1163:3", - "text": " User Operation struct\n @param sender - The sender account of this request.\n @param nonce - Unique value the sender uses to verify it is not a replay.\n @param initCode - If set, the account contract will be created by this constructor\n @param callData - The method call to execute on this account.\n @param accountGasLimits - Packed gas limits for validateUserOp and gas limit passed to the callData method call.\n @param preVerificationGas - Gas not calculated by the handleOps method, but added to the gas paid.\n Covers batch overhead.\n @param gasFees - packed gas fields maxPriorityFeePerGas and maxFeePerGas - Same as EIP-1559 gas parameters.\n @param paymasterAndData - If set, this field holds the paymaster address, verification gas limit, postOp gas limit and paymaster-specific extra data\n The paymaster will pay for the transaction instead of the sender.\n @param signature - Sender-verified signature over the entire request, the EntryPoint address and the chain ID." + "src": "62:1164:3", + "text": " User Operation struct\n @param sender - The sender account of this request.\n @param nonce - Unique value the sender uses to verify it is not a replay.\n @param initCode - If set, the account contract will be created by this constructor/\n @param callData - The method call to execute on this account.\n @param accountGasLimits - Packed gas limits for validateUserOp and gas limit passed to the callData method call.\n @param preVerificationGas - Gas not calculated by the handleOps method, but added to the gas paid.\n Covers batch overhead.\n @param gasFees - packed gas fields maxPriorityFeePerGas and maxFeePerGas - Same as EIP-1559 gas parameters.\n @param paymasterAndData - If set, this field holds the paymaster address, verification gas limit, postOp gas limit and paymaster-specific extra data\n The paymaster will pay for the transaction instead of the sender.\n @param signature - Sender-verified signature over the entire request, the EntryPoint address and the chain ID." }, - "id": 563, + "id": 574, "members": [ { "constant": false, - "id": 546, + "id": 557, "mutability": "mutable", "name": "sender", - "nameLocation": "1263:6:3", + "nameLocation": "1268:6:3", "nodeType": "VariableDeclaration", - "scope": 563, - "src": "1255:14:3", + "scope": 574, + "src": "1260:14:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7655,10 +7545,10 @@ "typeString": "address" }, "typeName": { - "id": 545, + "id": 556, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1255:7:3", + "src": "1260:7:3", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7669,13 +7559,13 @@ }, { "constant": false, - "id": 548, + "id": 559, "mutability": "mutable", "name": "nonce", - "nameLocation": "1283:5:3", + "nameLocation": "1288:5:3", "nodeType": "VariableDeclaration", - "scope": 563, - "src": "1275:13:3", + "scope": 574, + "src": "1280:13:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7683,10 +7573,10 @@ "typeString": "uint256" }, "typeName": { - "id": 547, + "id": 558, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1275:7:3", + "src": "1280:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7696,13 +7586,13 @@ }, { "constant": false, - "id": 550, + "id": 561, "mutability": "mutable", "name": "initCode", - "nameLocation": "1300:8:3", + "nameLocation": "1305:8:3", "nodeType": "VariableDeclaration", - "scope": 563, - "src": "1294:14:3", + "scope": 574, + "src": "1299:14:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7710,10 +7600,10 @@ "typeString": "bytes" }, "typeName": { - "id": 549, + "id": 560, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1294:5:3", + "src": "1299:5:3", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -7723,13 +7613,13 @@ }, { "constant": false, - "id": 552, + "id": 563, "mutability": "mutable", "name": "callData", - "nameLocation": "1320:8:3", + "nameLocation": "1325:8:3", "nodeType": "VariableDeclaration", - "scope": 563, - "src": "1314:14:3", + "scope": 574, + "src": "1319:14:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7737,10 +7627,10 @@ "typeString": "bytes" }, "typeName": { - "id": 551, + "id": 562, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1314:5:3", + "src": "1319:5:3", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -7750,13 +7640,13 @@ }, { "constant": false, - "id": 554, + "id": 565, "mutability": "mutable", "name": "accountGasLimits", - "nameLocation": "1342:16:3", + "nameLocation": "1347:16:3", "nodeType": "VariableDeclaration", - "scope": 563, - "src": "1334:24:3", + "scope": 574, + "src": "1339:24:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7764,10 +7654,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 553, + "id": 564, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1334:7:3", + "src": "1339:7:3", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7777,13 +7667,13 @@ }, { "constant": false, - "id": 556, + "id": 567, "mutability": "mutable", "name": "preVerificationGas", - "nameLocation": "1372:18:3", + "nameLocation": "1377:18:3", "nodeType": "VariableDeclaration", - "scope": 563, - "src": "1364:26:3", + "scope": 574, + "src": "1369:26:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7791,10 +7681,10 @@ "typeString": "uint256" }, "typeName": { - "id": 555, + "id": 566, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1364:7:3", + "src": "1369:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7804,13 +7694,13 @@ }, { "constant": false, - "id": 558, + "id": 569, "mutability": "mutable", "name": "gasFees", - "nameLocation": "1404:7:3", + "nameLocation": "1409:7:3", "nodeType": "VariableDeclaration", - "scope": 563, - "src": "1396:15:3", + "scope": 574, + "src": "1401:15:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7818,10 +7708,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 557, + "id": 568, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1396:7:3", + "src": "1401:7:3", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7831,13 +7721,13 @@ }, { "constant": false, - "id": 560, + "id": 571, "mutability": "mutable", "name": "paymasterAndData", - "nameLocation": "1423:16:3", + "nameLocation": "1428:16:3", "nodeType": "VariableDeclaration", - "scope": 563, - "src": "1417:22:3", + "scope": 574, + "src": "1422:22:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7845,10 +7735,10 @@ "typeString": "bytes" }, "typeName": { - "id": 559, + "id": 570, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1417:5:3", + "src": "1422:5:3", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -7858,13 +7748,13 @@ }, { "constant": false, - "id": 562, + "id": 573, "mutability": "mutable", "name": "signature", - "nameLocation": "1451:9:3", + "nameLocation": "1456:9:3", "nodeType": "VariableDeclaration", - "scope": 563, - "src": "1445:15:3", + "scope": 574, + "src": "1450:15:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7872,10 +7762,10 @@ "typeString": "bytes" }, "typeName": { - "id": 561, + "id": 572, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1445:5:3", + "src": "1450:5:3", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -7885,14 +7775,14 @@ } ], "name": "PackedUserOperation", - "nameLocation": "1229:19:3", + "nameLocation": "1234:19:3", "nodeType": "StructDefinition", - "scope": 564, - "src": "1222:241:3", + "scope": 575, + "src": "1227:241:3", "visibility": "public" } ], - "src": "32:1432:3" + "src": "36:1433:3" }, "id": 3 }, @@ -7901,18 +7791,18 @@ "absolutePath": "FreshCryptoLib/FCL_ecdsa.sol", "exportedSymbols": { "FCL_Elliptic_ZZ": [ - 2298 + 2309 ], "FCL_ecdsa": [ - 957 + 968 ] }, - "id": 958, + "id": 969, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 565, + "id": 576, "literals": [ "solidity", ">=", @@ -7928,20 +7818,20 @@ { "absolutePath": "FreshCryptoLib/FCL_elliptic.sol", "file": "./FCL_elliptic.sol", - "id": 567, + "id": 578, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 958, - "sourceUnit": 2299, + "scope": 969, + "sourceUnit": 2310, "src": "1162:51:4", "symbolAliases": [ { "foreign": { - "id": 566, + "id": 577, "name": "FCL_Elliptic_ZZ", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2298, + "referencedDeclaration": 2309, "src": "1170:15:4", "typeDescriptions": {} }, @@ -7957,9 +7847,9 @@ "contractDependencies": [], "contractKind": "library", "fullyImplemented": true, - "id": 957, + "id": 968, "linearizedBaseContracts": [ - 957 + 968 ], "name": "FCL_ecdsa", "nameLocation": "1225:9:4", @@ -7967,12 +7857,12 @@ "nodes": [ { "constant": true, - "id": 571, + "id": 582, "mutability": "constant", "name": "n", "nameLocation": "1345:1:4", "nodeType": "VariableDeclaration", - "scope": 957, + "scope": 968, "src": "1328:38:4", "stateVariable": true, "storageLocation": "default", @@ -7981,7 +7871,7 @@ "typeString": "uint256" }, "typeName": { - "id": 568, + "id": 579, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1328:7:4", @@ -7992,18 +7882,18 @@ }, "value": { "expression": { - "id": 569, + "id": 580, "name": "FCL_Elliptic_ZZ", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2298, + "referencedDeclaration": 2309, "src": "1349:15:4", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2298_$", + "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2309_$", "typeString": "type(library FCL_Elliptic_ZZ)" } }, - "id": 570, + "id": 581, "isConstant": false, "isLValue": false, "isPure": true, @@ -8011,7 +7901,7 @@ "memberLocation": "1365:1:4", "memberName": "n", "nodeType": "MemberAccess", - "referencedDeclaration": 980, + "referencedDeclaration": 991, "src": "1349:17:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8022,7 +7912,7 @@ }, { "body": { - "id": 673, + "id": 684, "nodeType": "Block", "src": "1676:589:4", "statements": [ @@ -8032,7 +7922,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 603, + "id": 614, "isConstant": false, "isLValue": false, "isPure": false, @@ -8042,7 +7932,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 598, + "id": 609, "isConstant": false, "isLValue": false, "isPure": false, @@ -8052,7 +7942,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 594, + "id": 605, "isConstant": false, "isLValue": false, "isPure": false, @@ -8062,17 +7952,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 589, + "id": 600, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 587, + "id": 598, "name": "r", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 576, + "referencedDeclaration": 587, "src": "1691:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8083,7 +7973,7 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 588, + "id": 599, "isConstant": false, "isLValue": false, "isPure": true, @@ -8110,17 +8000,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 593, + "id": 604, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 590, + "id": 601, "name": "r", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 576, + "referencedDeclaration": 587, "src": "1701:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8131,18 +8021,18 @@ "operator": ">=", "rightExpression": { "expression": { - "id": 591, + "id": 602, "name": "FCL_Elliptic_ZZ", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2298, + "referencedDeclaration": 2309, "src": "1706:15:4", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2298_$", + "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2309_$", "typeString": "type(library FCL_Elliptic_ZZ)" } }, - "id": 592, + "id": 603, "isConstant": false, "isLValue": false, "isPure": true, @@ -8150,7 +8040,7 @@ "memberLocation": "1722:1:4", "memberName": "n", "nodeType": "MemberAccess", - "referencedDeclaration": 980, + "referencedDeclaration": 991, "src": "1706:17:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8176,17 +8066,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 597, + "id": 608, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 595, + "id": 606, "name": "s", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 578, + "referencedDeclaration": 589, "src": "1727:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8197,7 +8087,7 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 596, + "id": 607, "isConstant": false, "isLValue": false, "isPure": true, @@ -8230,17 +8120,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 602, + "id": 613, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 599, + "id": 610, "name": "s", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 578, + "referencedDeclaration": 589, "src": "1737:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8251,18 +8141,18 @@ "operator": ">=", "rightExpression": { "expression": { - "id": 600, + "id": 611, "name": "FCL_Elliptic_ZZ", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2298, + "referencedDeclaration": 2309, "src": "1742:15:4", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2298_$", + "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2309_$", "typeString": "type(library FCL_Elliptic_ZZ)" } }, - "id": 601, + "id": 612, "isConstant": false, "isLValue": false, "isPure": true, @@ -8270,7 +8160,7 @@ "memberLocation": "1758:1:4", "memberName": "n", "nodeType": "MemberAccess", - "referencedDeclaration": 980, + "referencedDeclaration": 991, "src": "1742:17:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8289,18 +8179,18 @@ "typeString": "bool" } }, - "id": 607, + "id": 618, "nodeType": "IfStatement", "src": "1687:111:4", "trueBody": { - "id": 606, + "id": 617, "nodeType": "Block", "src": "1761:37:4", "statements": [ { "expression": { "hexValue": "66616c7365", - "id": 604, + "id": 615, "isConstant": false, "isLValue": false, "isPure": true, @@ -8314,8 +8204,8 @@ }, "value": "false" }, - "functionReturnParameters": 586, - "id": 605, + "functionReturnParameters": 597, + "id": 616, "nodeType": "Return", "src": "1775:12:4" } @@ -8324,7 +8214,7 @@ }, { "condition": { - "id": 613, + "id": 624, "isConstant": false, "isLValue": false, "isPure": false, @@ -8336,11 +8226,11 @@ "subExpression": { "arguments": [ { - "id": 610, + "id": 621, "name": "Qx", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 580, + "referencedDeclaration": 591, "src": "1853:2:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8348,11 +8238,11 @@ } }, { - "id": 611, + "id": 622, "name": "Qy", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 582, + "referencedDeclaration": 593, "src": "1857:2:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8372,18 +8262,18 @@ } ], "expression": { - "id": 608, + "id": 619, "name": "FCL_Elliptic_ZZ", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2298, + "referencedDeclaration": 2309, "src": "1821:15:4", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2298_$", + "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2309_$", "typeString": "type(library FCL_Elliptic_ZZ)" } }, - "id": 609, + "id": 620, "isConstant": false, "isLValue": false, "isPure": false, @@ -8391,14 +8281,14 @@ "memberLocation": "1837:15:4", "memberName": "ecAff_isOnCurve", "nodeType": "MemberAccess", - "referencedDeclaration": 1674, + "referencedDeclaration": 1685, "src": "1821:31:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint256,uint256) pure returns (bool)" } }, - "id": 612, + "id": 623, "isConstant": false, "isLValue": false, "isPure": false, @@ -8419,18 +8309,18 @@ "typeString": "bool" } }, - "id": 617, + "id": 628, "nodeType": "IfStatement", "src": "1816:83:4", "trueBody": { - "id": 616, + "id": 627, "nodeType": "Block", "src": "1862:37:4", "statements": [ { "expression": { "hexValue": "66616c7365", - "id": 614, + "id": 625, "isConstant": false, "isLValue": false, "isPure": true, @@ -8444,8 +8334,8 @@ }, "value": "false" }, - "functionReturnParameters": 586, - "id": 615, + "functionReturnParameters": 597, + "id": 626, "nodeType": "Return", "src": "1876:12:4" } @@ -8454,17 +8344,17 @@ }, { "assignments": [ - 619 + 630 ], "declarations": [ { "constant": false, - "id": 619, + "id": 630, "mutability": "mutable", "name": "sInv", "nameLocation": "1917:4:4", "nodeType": "VariableDeclaration", - "scope": 673, + "scope": 684, "src": "1909:12:4", "stateVariable": false, "storageLocation": "default", @@ -8473,7 +8363,7 @@ "typeString": "uint256" }, "typeName": { - "id": 618, + "id": 629, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1909:7:4", @@ -8485,15 +8375,15 @@ "visibility": "internal" } ], - "id": 624, + "id": 635, "initialValue": { "arguments": [ { - "id": 622, + "id": 633, "name": "s", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 578, + "referencedDeclaration": 589, "src": "1952:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8509,18 +8399,18 @@ } ], "expression": { - "id": 620, + "id": 631, "name": "FCL_Elliptic_ZZ", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2298, + "referencedDeclaration": 2309, "src": "1924:15:4", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2298_$", + "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2309_$", "typeString": "type(library FCL_Elliptic_ZZ)" } }, - "id": 621, + "id": 632, "isConstant": false, "isLValue": false, "isPure": false, @@ -8528,14 +8418,14 @@ "memberLocation": "1940:11:4", "memberName": "FCL_nModInv", "nodeType": "MemberAccess", - "referencedDeclaration": 1008, + "referencedDeclaration": 1019, "src": "1924:27:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) view returns (uint256)" } }, - "id": 623, + "id": 634, "isConstant": false, "isLValue": false, "isPure": false, @@ -8556,17 +8446,17 @@ }, { "assignments": [ - 626 + 637 ], "declarations": [ { "constant": false, - "id": 626, + "id": 637, "mutability": "mutable", "name": "scalar_u", "nameLocation": "1973:8:4", "nodeType": "VariableDeclaration", - "scope": 673, + "scope": 684, "src": "1965:16:4", "stateVariable": false, "storageLocation": "default", @@ -8575,7 +8465,7 @@ "typeString": "uint256" }, "typeName": { - "id": 625, + "id": 636, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1965:7:4", @@ -8587,17 +8477,17 @@ "visibility": "internal" } ], - "id": 636, + "id": 647, "initialValue": { "arguments": [ { "arguments": [ { - "id": 630, + "id": 641, "name": "message", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 574, + "referencedDeclaration": 585, "src": "1999:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -8612,7 +8502,7 @@ "typeString": "bytes32" } ], - "id": 629, + "id": 640, "isConstant": false, "isLValue": false, "isPure": true, @@ -8624,14 +8514,14 @@ "typeString": "type(uint256)" }, "typeName": { - "id": 628, + "id": 639, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1991:7:4", "typeDescriptions": {} } }, - "id": 631, + "id": 642, "isConstant": false, "isLValue": false, "isPure": false, @@ -8648,11 +8538,11 @@ } }, { - "id": 632, + "id": 643, "name": "sInv", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 619, + "referencedDeclaration": 630, "src": "2009:4:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8661,18 +8551,18 @@ }, { "expression": { - "id": 633, + "id": 644, "name": "FCL_Elliptic_ZZ", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2298, + "referencedDeclaration": 2309, "src": "2015:15:4", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2298_$", + "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2309_$", "typeString": "type(library FCL_Elliptic_ZZ)" } }, - "id": 634, + "id": 645, "isConstant": false, "isLValue": false, "isPure": true, @@ -8680,7 +8570,7 @@ "memberLocation": "2031:1:4", "memberName": "n", "nodeType": "MemberAccess", - "referencedDeclaration": 980, + "referencedDeclaration": 991, "src": "2015:17:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8703,7 +8593,7 @@ "typeString": "uint256" } ], - "id": 627, + "id": 638, "name": "mulmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -8714,7 +8604,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 635, + "id": 646, "isConstant": false, "isLValue": false, "isPure": false, @@ -8735,17 +8625,17 @@ }, { "assignments": [ - 638 + 649 ], "declarations": [ { "constant": false, - "id": 638, + "id": 649, "mutability": "mutable", "name": "scalar_v", "nameLocation": "2051:8:4", "nodeType": "VariableDeclaration", - "scope": 673, + "scope": 684, "src": "2043:16:4", "stateVariable": false, "storageLocation": "default", @@ -8754,7 +8644,7 @@ "typeString": "uint256" }, "typeName": { - "id": 637, + "id": 648, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2043:7:4", @@ -8766,15 +8656,15 @@ "visibility": "internal" } ], - "id": 645, + "id": 656, "initialValue": { "arguments": [ { - "id": 640, + "id": 651, "name": "r", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 576, + "referencedDeclaration": 587, "src": "2069:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8782,11 +8672,11 @@ } }, { - "id": 641, + "id": 652, "name": "sInv", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 619, + "referencedDeclaration": 630, "src": "2072:4:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8795,18 +8685,18 @@ }, { "expression": { - "id": 642, + "id": 653, "name": "FCL_Elliptic_ZZ", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2298, + "referencedDeclaration": 2309, "src": "2078:15:4", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2298_$", + "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2309_$", "typeString": "type(library FCL_Elliptic_ZZ)" } }, - "id": 643, + "id": 654, "isConstant": false, "isLValue": false, "isPure": true, @@ -8814,7 +8704,7 @@ "memberLocation": "2094:1:4", "memberName": "n", "nodeType": "MemberAccess", - "referencedDeclaration": 980, + "referencedDeclaration": 991, "src": "2078:17:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8837,7 +8727,7 @@ "typeString": "uint256" } ], - "id": 639, + "id": 650, "name": "mulmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -8848,7 +8738,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 644, + "id": 655, "isConstant": false, "isLValue": false, "isPure": false, @@ -8869,17 +8759,17 @@ }, { "assignments": [ - 647 + 658 ], "declarations": [ { "constant": false, - "id": 647, + "id": 658, "mutability": "mutable", "name": "x1", "nameLocation": "2114:2:4", "nodeType": "VariableDeclaration", - "scope": 673, + "scope": 684, "src": "2106:10:4", "stateVariable": false, "storageLocation": "default", @@ -8888,7 +8778,7 @@ "typeString": "uint256" }, "typeName": { - "id": 646, + "id": 657, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2106:7:4", @@ -8900,23 +8790,23 @@ "visibility": "internal" } ], - "id": 648, + "id": 659, "nodeType": "VariableDeclarationStatement", "src": "2106:10:4" }, { "expression": { - "id": 657, + "id": 668, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 649, + "id": 660, "name": "x1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 647, + "referencedDeclaration": 658, "src": "2127:2:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8928,11 +8818,11 @@ "rightHandSide": { "arguments": [ { - "id": 652, + "id": 663, "name": "Qx", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 580, + "referencedDeclaration": 591, "src": "2169:2:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8940,11 +8830,11 @@ } }, { - "id": 653, + "id": 664, "name": "Qy", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 582, + "referencedDeclaration": 593, "src": "2173:2:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8952,11 +8842,11 @@ } }, { - "id": 654, + "id": 665, "name": "scalar_u", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 626, + "referencedDeclaration": 637, "src": "2177:8:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8964,11 +8854,11 @@ } }, { - "id": 655, + "id": 666, "name": "scalar_v", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 638, + "referencedDeclaration": 649, "src": "2187:8:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8996,18 +8886,18 @@ } ], "expression": { - "id": 650, + "id": 661, "name": "FCL_Elliptic_ZZ", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2298, + "referencedDeclaration": 2309, "src": "2132:15:4", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2298_$", + "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2309_$", "typeString": "type(library FCL_Elliptic_ZZ)" } }, - "id": 651, + "id": 662, "isConstant": false, "isLValue": false, "isPure": false, @@ -9015,14 +8905,14 @@ "memberLocation": "2148:20:4", "memberName": "ecZZ_mulmuladd_S_asm", "nodeType": "MemberAccess", - "referencedDeclaration": 1856, + "referencedDeclaration": 1867, "src": "2132:36:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,uint256,uint256) view returns (uint256)" } }, - "id": 656, + "id": 667, "isConstant": false, "isLValue": false, "isPure": false, @@ -9044,23 +8934,23 @@ "typeString": "uint256" } }, - "id": 658, + "id": 669, "nodeType": "ExpressionStatement", "src": "2127:69:4" }, { "expression": { - "id": 667, + "id": 678, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 659, + "id": 670, "name": "x1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 647, + "referencedDeclaration": 658, "src": "2207:2:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9072,11 +8962,11 @@ "rightHandSide": { "arguments": [ { - "id": 661, + "id": 672, "name": "x1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 647, + "referencedDeclaration": 658, "src": "2218:2:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9088,17 +8978,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 664, + "id": 675, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 662, + "id": 673, "name": "n", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 571, + "referencedDeclaration": 582, "src": "2222:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9108,11 +8998,11 @@ "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { - "id": 663, + "id": 674, "name": "r", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 576, + "referencedDeclaration": 587, "src": "2224:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9126,11 +9016,11 @@ } }, { - "id": 665, + "id": 676, "name": "n", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 571, + "referencedDeclaration": 582, "src": "2226:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9153,7 +9043,7 @@ "typeString": "uint256" } ], - "id": 660, + "id": 671, "name": "addmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -9164,7 +9054,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 666, + "id": 677, "isConstant": false, "isLValue": false, "isPure": false, @@ -9186,7 +9076,7 @@ "typeString": "uint256" } }, - "id": 668, + "id": 679, "nodeType": "ExpressionStatement", "src": "2207:22:4" }, @@ -9196,17 +9086,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 671, + "id": 682, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 669, + "id": 680, "name": "x1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 647, + "referencedDeclaration": 658, "src": "2251:2:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9217,7 +9107,7 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 670, + "id": 681, "isConstant": false, "isLValue": false, "isPure": true, @@ -9237,20 +9127,20 @@ "typeString": "bool" } }, - "functionReturnParameters": 586, - "id": 672, + "functionReturnParameters": 597, + "id": 683, "nodeType": "Return", "src": "2244:14:4" } ] }, "documentation": { - "id": 572, + "id": 583, "nodeType": "StructuredDocumentation", "src": "1459:98:4", "text": " @dev ECDSA verification, given , signature, and public key, no calldata version" }, - "id": 674, + "id": 685, "implemented": true, "kind": "function", "modifiers": [], @@ -9258,17 +9148,17 @@ "nameLocation": "1571:12:4", "nodeType": "FunctionDefinition", "parameters": { - "id": 583, + "id": 594, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 574, + "id": 585, "mutability": "mutable", "name": "message", "nameLocation": "1592:7:4", "nodeType": "VariableDeclaration", - "scope": 674, + "scope": 685, "src": "1584:15:4", "stateVariable": false, "storageLocation": "default", @@ -9277,7 +9167,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 573, + "id": 584, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1584:7:4", @@ -9290,12 +9180,12 @@ }, { "constant": false, - "id": 576, + "id": 587, "mutability": "mutable", "name": "r", "nameLocation": "1609:1:4", "nodeType": "VariableDeclaration", - "scope": 674, + "scope": 685, "src": "1601:9:4", "stateVariable": false, "storageLocation": "default", @@ -9304,7 +9194,7 @@ "typeString": "uint256" }, "typeName": { - "id": 575, + "id": 586, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1601:7:4", @@ -9317,12 +9207,12 @@ }, { "constant": false, - "id": 578, + "id": 589, "mutability": "mutable", "name": "s", "nameLocation": "1620:1:4", "nodeType": "VariableDeclaration", - "scope": 674, + "scope": 685, "src": "1612:9:4", "stateVariable": false, "storageLocation": "default", @@ -9331,7 +9221,7 @@ "typeString": "uint256" }, "typeName": { - "id": 577, + "id": 588, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1612:7:4", @@ -9344,12 +9234,12 @@ }, { "constant": false, - "id": 580, + "id": 591, "mutability": "mutable", "name": "Qx", "nameLocation": "1631:2:4", "nodeType": "VariableDeclaration", - "scope": 674, + "scope": 685, "src": "1623:10:4", "stateVariable": false, "storageLocation": "default", @@ -9358,7 +9248,7 @@ "typeString": "uint256" }, "typeName": { - "id": 579, + "id": 590, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1623:7:4", @@ -9371,12 +9261,12 @@ }, { "constant": false, - "id": 582, + "id": 593, "mutability": "mutable", "name": "Qy", "nameLocation": "1643:2:4", "nodeType": "VariableDeclaration", - "scope": 674, + "scope": 685, "src": "1635:10:4", "stateVariable": false, "storageLocation": "default", @@ -9385,7 +9275,7 @@ "typeString": "uint256" }, "typeName": { - "id": 581, + "id": 592, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1635:7:4", @@ -9400,17 +9290,17 @@ "src": "1583:63:4" }, "returnParameters": { - "id": 586, + "id": 597, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 585, + "id": 596, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 674, + "scope": 685, "src": "1671:4:4", "stateVariable": false, "storageLocation": "default", @@ -9419,7 +9309,7 @@ "typeString": "bool" }, "typeName": { - "id": 584, + "id": 595, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1671:4:4", @@ -9433,7 +9323,7 @@ ], "src": "1670:6:4" }, - "scope": 957, + "scope": 968, "src": "1562:703:4", "stateMutability": "view", "virtual": false, @@ -9441,7 +9331,7 @@ }, { "body": { - "id": 789, + "id": 800, "nodeType": "Block", "src": "2374:595:4", "statements": [ @@ -9451,7 +9341,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 703, + "id": 714, "isConstant": false, "isLValue": false, "isPure": false, @@ -9461,7 +9351,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 698, + "id": 709, "isConstant": false, "isLValue": false, "isPure": false, @@ -9471,7 +9361,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 694, + "id": 705, "isConstant": false, "isLValue": false, "isPure": false, @@ -9481,17 +9371,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 689, + "id": 700, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 687, + "id": 698, "name": "r", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 680, + "referencedDeclaration": 691, "src": "2389:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9502,7 +9392,7 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 688, + "id": 699, "isConstant": false, "isLValue": false, "isPure": true, @@ -9529,17 +9419,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 693, + "id": 704, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 690, + "id": 701, "name": "r", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 680, + "referencedDeclaration": 691, "src": "2399:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9550,18 +9440,18 @@ "operator": ">=", "rightExpression": { "expression": { - "id": 691, + "id": 702, "name": "FCL_Elliptic_ZZ", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2298, + "referencedDeclaration": 2309, "src": "2404:15:4", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2298_$", + "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2309_$", "typeString": "type(library FCL_Elliptic_ZZ)" } }, - "id": 692, + "id": 703, "isConstant": false, "isLValue": false, "isPure": true, @@ -9569,7 +9459,7 @@ "memberLocation": "2420:1:4", "memberName": "n", "nodeType": "MemberAccess", - "referencedDeclaration": 980, + "referencedDeclaration": 991, "src": "2404:17:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9595,17 +9485,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 697, + "id": 708, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 695, + "id": 706, "name": "s", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 682, + "referencedDeclaration": 693, "src": "2425:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9616,7 +9506,7 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 696, + "id": 707, "isConstant": false, "isLValue": false, "isPure": true, @@ -9649,17 +9539,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 702, + "id": 713, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 699, + "id": 710, "name": "s", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 682, + "referencedDeclaration": 693, "src": "2435:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9670,18 +9560,18 @@ "operator": ">=", "rightExpression": { "expression": { - "id": 700, + "id": 711, "name": "FCL_Elliptic_ZZ", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2298, + "referencedDeclaration": 2309, "src": "2440:15:4", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2298_$", + "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2309_$", "typeString": "type(library FCL_Elliptic_ZZ)" } }, - "id": 701, + "id": 712, "isConstant": false, "isLValue": false, "isPure": true, @@ -9689,7 +9579,7 @@ "memberLocation": "2456:1:4", "memberName": "n", "nodeType": "MemberAccess", - "referencedDeclaration": 980, + "referencedDeclaration": 991, "src": "2440:17:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9708,11 +9598,11 @@ "typeString": "bool" } }, - "id": 710, + "id": 721, "nodeType": "IfStatement", "src": "2385:116:4", "trueBody": { - "id": 709, + "id": 720, "nodeType": "Block", "src": "2459:42:4", "statements": [ @@ -9721,7 +9611,7 @@ "arguments": [ { "hexValue": "30", - "id": 706, + "id": 717, "isConstant": false, "isLValue": false, "isPure": true, @@ -9743,7 +9633,7 @@ "typeString": "int_const 0" } ], - "id": 705, + "id": 716, "isConstant": false, "isLValue": false, "isPure": true, @@ -9755,14 +9645,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 704, + "id": 715, "name": "address", "nodeType": "ElementaryTypeName", "src": "2480:7:4", "typeDescriptions": {} } }, - "id": 707, + "id": 718, "isConstant": false, "isLValue": false, "isPure": true, @@ -9778,8 +9668,8 @@ "typeString": "address" } }, - "functionReturnParameters": 686, - "id": 708, + "functionReturnParameters": 697, + "id": 719, "nodeType": "Return", "src": "2473:17:4" } @@ -9788,17 +9678,17 @@ }, { "assignments": [ - 712 + 723 ], "declarations": [ { "constant": false, - "id": 712, + "id": 723, "mutability": "mutable", "name": "y", "nameLocation": "2518:1:4", "nodeType": "VariableDeclaration", - "scope": 789, + "scope": 800, "src": "2510:9:4", "stateVariable": false, "storageLocation": "default", @@ -9807,7 +9697,7 @@ "typeString": "uint256" }, "typeName": { - "id": 711, + "id": 722, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2510:7:4", @@ -9819,15 +9709,15 @@ "visibility": "internal" } ], - "id": 720, + "id": 731, "initialValue": { "arguments": [ { - "id": 715, + "id": 726, "name": "r", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 680, + "referencedDeclaration": 691, "src": "2550:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9839,17 +9729,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 718, + "id": 729, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 716, + "id": 727, "name": "v", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 678, + "referencedDeclaration": 689, "src": "2553:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9860,7 +9750,7 @@ "operator": "-", "rightExpression": { "hexValue": "3237", - "id": 717, + "id": 728, "isConstant": false, "isLValue": false, "isPure": true, @@ -9893,18 +9783,18 @@ } ], "expression": { - "id": 713, + "id": 724, "name": "FCL_Elliptic_ZZ", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2298, + "referencedDeclaration": 2309, "src": "2520:15:4", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2298_$", + "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2309_$", "typeString": "type(library FCL_Elliptic_ZZ)" } }, - "id": 714, + "id": 725, "isConstant": false, "isLValue": false, "isPure": false, @@ -9912,14 +9802,14 @@ "memberLocation": "2536:13:4", "memberName": "ec_Decompress", "nodeType": "MemberAccess", - "referencedDeclaration": 1405, + "referencedDeclaration": 1416, "src": "2520:29:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) view returns (uint256)" } }, - "id": 719, + "id": 730, "isConstant": false, "isLValue": false, "isPure": false, @@ -9940,17 +9830,17 @@ }, { "assignments": [ - 722 + 733 ], "declarations": [ { "constant": false, - "id": 722, + "id": 733, "mutability": "mutable", "name": "rinv", "nameLocation": "2576:4:4", "nodeType": "VariableDeclaration", - "scope": 789, + "scope": 800, "src": "2568:12:4", "stateVariable": false, "storageLocation": "default", @@ -9959,7 +9849,7 @@ "typeString": "uint256" }, "typeName": { - "id": 721, + "id": 732, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2568:7:4", @@ -9971,15 +9861,15 @@ "visibility": "internal" } ], - "id": 727, + "id": 738, "initialValue": { "arguments": [ { - "id": 725, + "id": 736, "name": "r", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 680, + "referencedDeclaration": 691, "src": "2609:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9995,18 +9885,18 @@ } ], "expression": { - "id": 723, + "id": 734, "name": "FCL_Elliptic_ZZ", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2298, + "referencedDeclaration": 2309, "src": "2581:15:4", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2298_$", + "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2309_$", "typeString": "type(library FCL_Elliptic_ZZ)" } }, - "id": 724, + "id": 735, "isConstant": false, "isLValue": false, "isPure": false, @@ -10014,14 +9904,14 @@ "memberLocation": "2597:11:4", "memberName": "FCL_nModInv", "nodeType": "MemberAccess", - "referencedDeclaration": 1008, + "referencedDeclaration": 1019, "src": "2581:27:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) view returns (uint256)" } }, - "id": 726, + "id": 737, "isConstant": false, "isLValue": false, "isPure": false, @@ -10042,17 +9932,17 @@ }, { "assignments": [ - 729 + 740 ], "declarations": [ { "constant": false, - "id": 729, + "id": 740, "mutability": "mutable", "name": "u1", "nameLocation": "2629:2:4", "nodeType": "VariableDeclaration", - "scope": 789, + "scope": 800, "src": "2621:10:4", "stateVariable": false, "storageLocation": "default", @@ -10061,7 +9951,7 @@ "typeString": "uint256" }, "typeName": { - "id": 728, + "id": 739, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2621:7:4", @@ -10073,7 +9963,7 @@ "visibility": "internal" } ], - "id": 744, + "id": 755, "initialValue": { "arguments": [ { @@ -10081,25 +9971,25 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 739, + "id": 750, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 731, + "id": 742, "name": "FCL_Elliptic_ZZ", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2298, + "referencedDeclaration": 2309, "src": "2639:15:4", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2298_$", + "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2309_$", "typeString": "type(library FCL_Elliptic_ZZ)" } }, - "id": 732, + "id": 743, "isConstant": false, "isLValue": false, "isPure": true, @@ -10107,7 +9997,7 @@ "memberLocation": "2655:1:4", "memberName": "n", "nodeType": "MemberAccess", - "referencedDeclaration": 980, + "referencedDeclaration": 991, "src": "2639:17:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10120,7 +10010,7 @@ "arguments": [ { "hexValue": "30", - "id": 734, + "id": 745, "isConstant": false, "isLValue": false, "isPure": true, @@ -10135,11 +10025,11 @@ "value": "0" }, { - "id": 735, + "id": 746, "name": "h", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 676, + "referencedDeclaration": 687, "src": "2666:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10148,18 +10038,18 @@ }, { "expression": { - "id": 736, + "id": 747, "name": "FCL_Elliptic_ZZ", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2298, + "referencedDeclaration": 2309, "src": "2668:15:4", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2298_$", + "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2309_$", "typeString": "type(library FCL_Elliptic_ZZ)" } }, - "id": 737, + "id": 748, "isConstant": false, "isLValue": false, "isPure": true, @@ -10167,7 +10057,7 @@ "memberLocation": "2684:1:4", "memberName": "n", "nodeType": "MemberAccess", - "referencedDeclaration": 980, + "referencedDeclaration": 991, "src": "2668:17:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10190,7 +10080,7 @@ "typeString": "uint256" } ], - "id": 733, + "id": 744, "name": "addmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -10201,7 +10091,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 738, + "id": 749, "isConstant": false, "isLValue": false, "isPure": false, @@ -10224,11 +10114,11 @@ } }, { - "id": 740, + "id": 751, "name": "rinv", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 722, + "referencedDeclaration": 733, "src": "2688:4:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10237,18 +10127,18 @@ }, { "expression": { - "id": 741, + "id": 752, "name": "FCL_Elliptic_ZZ", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2298, + "referencedDeclaration": 2309, "src": "2693:15:4", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2298_$", + "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2309_$", "typeString": "type(library FCL_Elliptic_ZZ)" } }, - "id": 742, + "id": 753, "isConstant": false, "isLValue": false, "isPure": true, @@ -10256,7 +10146,7 @@ "memberLocation": "2709:1:4", "memberName": "n", "nodeType": "MemberAccess", - "referencedDeclaration": 980, + "referencedDeclaration": 991, "src": "2693:17:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10279,7 +10169,7 @@ "typeString": "uint256" } ], - "id": 730, + "id": 741, "name": "mulmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -10290,7 +10180,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 743, + "id": 754, "isConstant": false, "isLValue": false, "isPure": false, @@ -10311,17 +10201,17 @@ }, { "assignments": [ - 746 + 757 ], "declarations": [ { "constant": false, - "id": 746, + "id": 757, "mutability": "mutable", "name": "u2", "nameLocation": "2737:2:4", "nodeType": "VariableDeclaration", - "scope": 789, + "scope": 800, "src": "2729:10:4", "stateVariable": false, "storageLocation": "default", @@ -10330,7 +10220,7 @@ "typeString": "uint256" }, "typeName": { - "id": 745, + "id": 756, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2729:7:4", @@ -10342,15 +10232,15 @@ "visibility": "internal" } ], - "id": 753, + "id": 764, "initialValue": { "arguments": [ { - "id": 748, + "id": 759, "name": "s", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 682, + "referencedDeclaration": 693, "src": "2747:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10358,11 +10248,11 @@ } }, { - "id": 749, + "id": 760, "name": "rinv", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 722, + "referencedDeclaration": 733, "src": "2750:4:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10371,18 +10261,18 @@ }, { "expression": { - "id": 750, + "id": 761, "name": "FCL_Elliptic_ZZ", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2298, + "referencedDeclaration": 2309, "src": "2755:15:4", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2298_$", + "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2309_$", "typeString": "type(library FCL_Elliptic_ZZ)" } }, - "id": 751, + "id": 762, "isConstant": false, "isLValue": false, "isPure": true, @@ -10390,7 +10280,7 @@ "memberLocation": "2771:1:4", "memberName": "n", "nodeType": "MemberAccess", - "referencedDeclaration": 980, + "referencedDeclaration": 991, "src": "2755:17:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10413,7 +10303,7 @@ "typeString": "uint256" } ], - "id": 747, + "id": 758, "name": "mulmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -10424,7 +10314,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 752, + "id": 763, "isConstant": false, "isLValue": false, "isPure": false, @@ -10445,17 +10335,17 @@ }, { "assignments": [ - 755 + 766 ], "declarations": [ { "constant": false, - "id": 755, + "id": 766, "mutability": "mutable", "name": "Qx", "nameLocation": "2799:2:4", "nodeType": "VariableDeclaration", - "scope": 789, + "scope": 800, "src": "2791:10:4", "stateVariable": false, "storageLocation": "default", @@ -10464,7 +10354,7 @@ "typeString": "uint256" }, "typeName": { - "id": 754, + "id": 765, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2791:7:4", @@ -10476,23 +10366,23 @@ "visibility": "internal" } ], - "id": 756, + "id": 767, "nodeType": "VariableDeclarationStatement", "src": "2791:10:4" }, { "assignments": [ - 758 + 769 ], "declarations": [ { "constant": false, - "id": 758, + "id": 769, "mutability": "mutable", "name": "Qy", "nameLocation": "2819:2:4", "nodeType": "VariableDeclaration", - "scope": 789, + "scope": 800, "src": "2811:10:4", "stateVariable": false, "storageLocation": "default", @@ -10501,7 +10391,7 @@ "typeString": "uint256" }, "typeName": { - "id": 757, + "id": 768, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2811:7:4", @@ -10513,13 +10403,13 @@ "visibility": "internal" } ], - "id": 759, + "id": 770, "nodeType": "VariableDeclarationStatement", "src": "2811:10:4" }, { "expression": { - "id": 770, + "id": 781, "isConstant": false, "isLValue": false, "isPure": false, @@ -10527,11 +10417,11 @@ "leftHandSide": { "components": [ { - "id": 760, + "id": 771, "name": "Qx", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 755, + "referencedDeclaration": 766, "src": "2832:2:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10539,11 +10429,11 @@ } }, { - "id": 761, + "id": 772, "name": "Qy", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 758, + "referencedDeclaration": 769, "src": "2835:2:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10551,7 +10441,7 @@ } } ], - "id": 762, + "id": 773, "isConstant": false, "isInlineArray": false, "isLValue": true, @@ -10569,11 +10459,11 @@ "rightHandSide": { "arguments": [ { - "id": 765, + "id": 776, "name": "r", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 680, + "referencedDeclaration": 691, "src": "2870:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10581,11 +10471,11 @@ } }, { - "id": 766, + "id": 777, "name": "y", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 712, + "referencedDeclaration": 723, "src": "2872:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10593,11 +10483,11 @@ } }, { - "id": 767, + "id": 778, "name": "u1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 729, + "referencedDeclaration": 740, "src": "2875:2:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10605,11 +10495,11 @@ } }, { - "id": 768, + "id": 779, "name": "u2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 746, + "referencedDeclaration": 757, "src": "2879:2:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10637,18 +10527,18 @@ } ], "expression": { - "id": 763, + "id": 774, "name": "FCL_Elliptic_ZZ", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2298, + "referencedDeclaration": 2309, "src": "2839:15:4", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2298_$", + "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2309_$", "typeString": "type(library FCL_Elliptic_ZZ)" } }, - "id": 764, + "id": 775, "isConstant": false, "isLValue": false, "isPure": false, @@ -10656,14 +10546,14 @@ "memberLocation": "2855:14:4", "memberName": "ecZZ_mulmuladd", "nodeType": "MemberAccess", - "referencedDeclaration": 1930, + "referencedDeclaration": 1941, "src": "2839:30:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", "typeString": "function (uint256,uint256,uint256,uint256) view returns (uint256,uint256)" } }, - "id": 769, + "id": 780, "isConstant": false, "isLValue": false, "isPure": false, @@ -10685,7 +10575,7 @@ "typeString": "tuple()" } }, - "id": 771, + "id": 782, "nodeType": "ExpressionStatement", "src": "2831:51:4" }, @@ -10701,11 +10591,11 @@ { "arguments": [ { - "id": 781, + "id": 792, "name": "Qx", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 755, + "referencedDeclaration": 766, "src": "2951:2:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10713,11 +10603,11 @@ } }, { - "id": 782, + "id": 793, "name": "Qy", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 758, + "referencedDeclaration": 769, "src": "2955:2:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10737,7 +10627,7 @@ } ], "expression": { - "id": 779, + "id": 790, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -10748,7 +10638,7 @@ "typeString": "abi" } }, - "id": 780, + "id": 791, "isConstant": false, "isLValue": false, "isPure": true, @@ -10762,7 +10652,7 @@ "typeString": "function () pure returns (bytes memory)" } }, - "id": 783, + "id": 794, "isConstant": false, "isLValue": false, "isPure": false, @@ -10786,7 +10676,7 @@ "typeString": "bytes memory" } ], - "id": 778, + "id": 789, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -10797,7 +10687,7 @@ "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 784, + "id": 795, "isConstant": false, "isLValue": false, "isPure": false, @@ -10821,7 +10711,7 @@ "typeString": "bytes32" } ], - "id": 777, + "id": 788, "isConstant": false, "isLValue": false, "isPure": true, @@ -10833,14 +10723,14 @@ "typeString": "type(uint256)" }, "typeName": { - "id": 776, + "id": 787, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2916:7:4", "typeDescriptions": {} } }, - "id": 785, + "id": 796, "isConstant": false, "isLValue": false, "isPure": false, @@ -10864,7 +10754,7 @@ "typeString": "uint256" } ], - "id": 775, + "id": 786, "isConstant": false, "isLValue": false, "isPure": true, @@ -10876,14 +10766,14 @@ "typeString": "type(uint160)" }, "typeName": { - "id": 774, + "id": 785, "name": "uint160", "nodeType": "ElementaryTypeName", "src": "2908:7:4", "typeDescriptions": {} } }, - "id": 786, + "id": 797, "isConstant": false, "isLValue": false, "isPure": false, @@ -10907,7 +10797,7 @@ "typeString": "uint160" } ], - "id": 773, + "id": 784, "isConstant": false, "isLValue": false, "isPure": true, @@ -10919,14 +10809,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 772, + "id": 783, "name": "address", "nodeType": "ElementaryTypeName", "src": "2900:7:4", "typeDescriptions": {} } }, - "id": 787, + "id": 798, "isConstant": false, "isLValue": false, "isPure": false, @@ -10942,14 +10832,14 @@ "typeString": "address" } }, - "functionReturnParameters": 686, - "id": 788, + "functionReturnParameters": 697, + "id": 799, "nodeType": "Return", "src": "2893:69:4" } ] }, - "id": 790, + "id": 801, "implemented": true, "kind": "function", "modifiers": [], @@ -10957,17 +10847,17 @@ "nameLocation": "2280:13:4", "nodeType": "FunctionDefinition", "parameters": { - "id": 683, + "id": 694, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 676, + "id": 687, "mutability": "mutable", "name": "h", "nameLocation": "2302:1:4", "nodeType": "VariableDeclaration", - "scope": 790, + "scope": 801, "src": "2294:9:4", "stateVariable": false, "storageLocation": "default", @@ -10976,7 +10866,7 @@ "typeString": "uint256" }, "typeName": { - "id": 675, + "id": 686, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2294:7:4", @@ -10989,12 +10879,12 @@ }, { "constant": false, - "id": 678, + "id": 689, "mutability": "mutable", "name": "v", "nameLocation": "2313:1:4", "nodeType": "VariableDeclaration", - "scope": 790, + "scope": 801, "src": "2305:9:4", "stateVariable": false, "storageLocation": "default", @@ -11003,7 +10893,7 @@ "typeString": "uint256" }, "typeName": { - "id": 677, + "id": 688, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2305:7:4", @@ -11016,12 +10906,12 @@ }, { "constant": false, - "id": 680, + "id": 691, "mutability": "mutable", "name": "r", "nameLocation": "2324:1:4", "nodeType": "VariableDeclaration", - "scope": 790, + "scope": 801, "src": "2316:9:4", "stateVariable": false, "storageLocation": "default", @@ -11030,7 +10920,7 @@ "typeString": "uint256" }, "typeName": { - "id": 679, + "id": 690, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2316:7:4", @@ -11043,12 +10933,12 @@ }, { "constant": false, - "id": 682, + "id": 693, "mutability": "mutable", "name": "s", "nameLocation": "2335:1:4", "nodeType": "VariableDeclaration", - "scope": 790, + "scope": 801, "src": "2327:9:4", "stateVariable": false, "storageLocation": "default", @@ -11057,7 +10947,7 @@ "typeString": "uint256" }, "typeName": { - "id": 681, + "id": 692, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2327:7:4", @@ -11072,17 +10962,17 @@ "src": "2293:44:4" }, "returnParameters": { - "id": 686, + "id": 697, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 685, + "id": 696, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 790, + "scope": 801, "src": "2361:7:4", "stateVariable": false, "storageLocation": "default", @@ -11091,7 +10981,7 @@ "typeString": "address" }, "typeName": { - "id": 684, + "id": 695, "name": "address", "nodeType": "ElementaryTypeName", "src": "2361:7:4", @@ -11106,7 +10996,7 @@ ], "src": "2360:9:4" }, - "scope": 957, + "scope": 968, "src": "2271:698:4", "stateMutability": "view", "virtual": false, @@ -11114,7 +11004,7 @@ }, { "body": { - "id": 866, + "id": 877, "nodeType": "Block", "src": "3114:541:4", "statements": [ @@ -11124,7 +11014,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 817, + "id": 828, "isConstant": false, "isLValue": false, "isPure": false, @@ -11134,7 +11024,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 813, + "id": 824, "isConstant": false, "isLValue": false, "isPure": false, @@ -11144,7 +11034,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 809, + "id": 820, "isConstant": false, "isLValue": false, "isPure": false, @@ -11154,17 +11044,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 805, + "id": 816, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 803, + "id": 814, "name": "r", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 794, + "referencedDeclaration": 805, "src": "3136:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11175,7 +11065,7 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 804, + "id": 815, "isConstant": false, "isLValue": false, "isPure": true, @@ -11202,17 +11092,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 808, + "id": 819, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 806, + "id": 817, "name": "r", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 794, + "referencedDeclaration": 805, "src": "3146:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11222,11 +11112,11 @@ "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { - "id": 807, + "id": 818, "name": "n", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 571, + "referencedDeclaration": 582, "src": "3151:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11252,17 +11142,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 812, + "id": 823, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 810, + "id": 821, "name": "s", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 796, + "referencedDeclaration": 807, "src": "3156:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11273,7 +11163,7 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 811, + "id": 822, "isConstant": false, "isLValue": false, "isPure": true, @@ -11306,17 +11196,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 816, + "id": 827, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 814, + "id": 825, "name": "s", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 796, + "referencedDeclaration": 807, "src": "3166:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11326,11 +11216,11 @@ "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { - "id": 815, + "id": 826, "name": "n", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 571, + "referencedDeclaration": 582, "src": "3171:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11349,18 +11239,18 @@ "typeString": "bool" } }, - "id": 821, + "id": 832, "nodeType": "IfStatement", "src": "3132:79:4", "trueBody": { - "id": 820, + "id": 831, "nodeType": "Block", "src": "3174:37:4", "statements": [ { "expression": { "hexValue": "66616c7365", - "id": 818, + "id": 829, "isConstant": false, "isLValue": false, "isPure": true, @@ -11374,8 +11264,8 @@ }, "value": "false" }, - "functionReturnParameters": 802, - "id": 819, + "functionReturnParameters": 813, + "id": 830, "nodeType": "Return", "src": "3188:12:4" } @@ -11384,17 +11274,17 @@ }, { "assignments": [ - 823 + 834 ], "declarations": [ { "constant": false, - "id": 823, + "id": 834, "mutability": "mutable", "name": "sInv", "nameLocation": "3386:4:4", "nodeType": "VariableDeclaration", - "scope": 866, + "scope": 877, "src": "3378:12:4", "stateVariable": false, "storageLocation": "default", @@ -11403,7 +11293,7 @@ "typeString": "uint256" }, "typeName": { - "id": 822, + "id": 833, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3378:7:4", @@ -11415,15 +11305,15 @@ "visibility": "internal" } ], - "id": 828, + "id": 839, "initialValue": { "arguments": [ { - "id": 826, + "id": 837, "name": "s", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 796, + "referencedDeclaration": 807, "src": "3421:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11439,18 +11329,18 @@ } ], "expression": { - "id": 824, + "id": 835, "name": "FCL_Elliptic_ZZ", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2298, + "referencedDeclaration": 2309, "src": "3393:15:4", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2298_$", + "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2309_$", "typeString": "type(library FCL_Elliptic_ZZ)" } }, - "id": 825, + "id": 836, "isConstant": false, "isLValue": false, "isPure": false, @@ -11458,14 +11348,14 @@ "memberLocation": "3409:11:4", "memberName": "FCL_nModInv", "nodeType": "MemberAccess", - "referencedDeclaration": 1008, + "referencedDeclaration": 1019, "src": "3393:27:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) view returns (uint256)" } }, - "id": 827, + "id": 838, "isConstant": false, "isLValue": false, "isPure": false, @@ -11486,17 +11376,17 @@ }, { "assignments": [ - 830 + 841 ], "declarations": [ { "constant": false, - "id": 830, + "id": 841, "mutability": "mutable", "name": "X", "nameLocation": "3442:1:4", "nodeType": "VariableDeclaration", - "scope": 866, + "scope": 877, "src": "3434:9:4", "stateVariable": false, "storageLocation": "default", @@ -11505,7 +11395,7 @@ "typeString": "uint256" }, "typeName": { - "id": 829, + "id": 840, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3434:7:4", @@ -11517,23 +11407,23 @@ "visibility": "internal" } ], - "id": 831, + "id": 842, "nodeType": "VariableDeclarationStatement", "src": "3434:9:4" }, { "expression": { - "id": 850, + "id": 861, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 832, + "id": 843, "name": "X", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 830, + "referencedDeclaration": 841, "src": "3484:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11549,11 +11439,11 @@ { "arguments": [ { - "id": 838, + "id": 849, "name": "message", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 792, + "referencedDeclaration": 803, "src": "3545:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -11568,7 +11458,7 @@ "typeString": "bytes32" } ], - "id": 837, + "id": 848, "isConstant": false, "isLValue": false, "isPure": true, @@ -11580,14 +11470,14 @@ "typeString": "type(uint256)" }, "typeName": { - "id": 836, + "id": 847, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3537:7:4", "typeDescriptions": {} } }, - "id": 839, + "id": 850, "isConstant": false, "isLValue": false, "isPure": false, @@ -11604,11 +11494,11 @@ } }, { - "id": 840, + "id": 851, "name": "sInv", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 823, + "referencedDeclaration": 834, "src": "3555:4:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11616,11 +11506,11 @@ } }, { - "id": 841, + "id": 852, "name": "n", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 571, + "referencedDeclaration": 582, "src": "3561:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11643,7 +11533,7 @@ "typeString": "uint256" } ], - "id": 835, + "id": 846, "name": "mulmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -11654,7 +11544,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 842, + "id": 853, "isConstant": false, "isLValue": false, "isPure": false, @@ -11673,11 +11563,11 @@ { "arguments": [ { - "id": 844, + "id": 855, "name": "r", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 794, + "referencedDeclaration": 805, "src": "3572:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11685,11 +11575,11 @@ } }, { - "id": 845, + "id": 856, "name": "sInv", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 823, + "referencedDeclaration": 834, "src": "3575:4:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11697,11 +11587,11 @@ } }, { - "id": 846, + "id": 857, "name": "n", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 571, + "referencedDeclaration": 582, "src": "3581:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11724,7 +11614,7 @@ "typeString": "uint256" } ], - "id": 843, + "id": 854, "name": "mulmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -11735,7 +11625,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 847, + "id": 858, "isConstant": false, "isLValue": false, "isPure": false, @@ -11752,11 +11642,11 @@ } }, { - "id": 848, + "id": 859, "name": "Shamir8", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 798, + "referencedDeclaration": 809, "src": "3585:7:4", "typeDescriptions": { "typeIdentifier": "t_address", @@ -11780,18 +11670,18 @@ } ], "expression": { - "id": 833, + "id": 844, "name": "FCL_Elliptic_ZZ", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2298, + "referencedDeclaration": 2309, "src": "3488:15:4", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2298_$", + "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2309_$", "typeString": "type(library FCL_Elliptic_ZZ)" } }, - "id": 834, + "id": 845, "isConstant": false, "isLValue": false, "isPure": false, @@ -11799,14 +11689,14 @@ "memberLocation": "3504:25:4", "memberName": "ecZZ_mulmuladd_S8_extcode", "nodeType": "MemberAccess", - "referencedDeclaration": 2074, + "referencedDeclaration": 2085, "src": "3488:41:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_address_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,address) view returns (uint256)" } }, - "id": 849, + "id": 860, "isConstant": false, "isLValue": false, "isPure": false, @@ -11828,23 +11718,23 @@ "typeString": "uint256" } }, - "id": 851, + "id": 862, "nodeType": "ExpressionStatement", "src": "3484:109:4" }, { "expression": { - "id": 860, + "id": 871, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 852, + "id": 863, "name": "X", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 830, + "referencedDeclaration": 841, "src": "3604:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11856,11 +11746,11 @@ "rightHandSide": { "arguments": [ { - "id": 854, + "id": 865, "name": "X", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 830, + "referencedDeclaration": 841, "src": "3614:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11872,17 +11762,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 857, + "id": 868, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 855, + "id": 866, "name": "n", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 571, + "referencedDeclaration": 582, "src": "3617:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11892,11 +11782,11 @@ "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { - "id": 856, + "id": 867, "name": "r", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 794, + "referencedDeclaration": 805, "src": "3619:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11910,11 +11800,11 @@ } }, { - "id": 858, + "id": 869, "name": "n", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 571, + "referencedDeclaration": 582, "src": "3621:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11937,7 +11827,7 @@ "typeString": "uint256" } ], - "id": 853, + "id": 864, "name": "addmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -11948,7 +11838,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 859, + "id": 870, "isConstant": false, "isLValue": false, "isPure": false, @@ -11970,7 +11860,7 @@ "typeString": "uint256" } }, - "id": 861, + "id": 872, "nodeType": "ExpressionStatement", "src": "3604:20:4" }, @@ -11980,17 +11870,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 864, + "id": 875, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 862, + "id": 873, "name": "X", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 830, + "referencedDeclaration": 841, "src": "3642:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12001,7 +11891,7 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 863, + "id": 874, "isConstant": false, "isLValue": false, "isPure": true, @@ -12021,14 +11911,14 @@ "typeString": "bool" } }, - "functionReturnParameters": 802, - "id": 865, + "functionReturnParameters": 813, + "id": 876, "nodeType": "Return", "src": "3635:13:4" } ] }, - "id": 867, + "id": 878, "implemented": true, "kind": "function", "modifiers": [], @@ -12036,17 +11926,17 @@ "nameLocation": "2984:24:4", "nodeType": "FunctionDefinition", "parameters": { - "id": 799, + "id": 810, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 792, + "id": 803, "mutability": "mutable", "name": "message", "nameLocation": "3017:7:4", "nodeType": "VariableDeclaration", - "scope": 867, + "scope": 878, "src": "3009:15:4", "stateVariable": false, "storageLocation": "default", @@ -12055,7 +11945,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 791, + "id": 802, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "3009:7:4", @@ -12068,12 +11958,12 @@ }, { "constant": false, - "id": 794, + "id": 805, "mutability": "mutable", "name": "r", "nameLocation": "3034:1:4", "nodeType": "VariableDeclaration", - "scope": 867, + "scope": 878, "src": "3026:9:4", "stateVariable": false, "storageLocation": "default", @@ -12082,7 +11972,7 @@ "typeString": "uint256" }, "typeName": { - "id": 793, + "id": 804, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3026:7:4", @@ -12095,12 +11985,12 @@ }, { "constant": false, - "id": 796, + "id": 807, "mutability": "mutable", "name": "s", "nameLocation": "3045:1:4", "nodeType": "VariableDeclaration", - "scope": 867, + "scope": 878, "src": "3037:9:4", "stateVariable": false, "storageLocation": "default", @@ -12109,7 +11999,7 @@ "typeString": "uint256" }, "typeName": { - "id": 795, + "id": 806, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3037:7:4", @@ -12122,12 +12012,12 @@ }, { "constant": false, - "id": 798, + "id": 809, "mutability": "mutable", "name": "Shamir8", "nameLocation": "3056:7:4", "nodeType": "VariableDeclaration", - "scope": 867, + "scope": 878, "src": "3048:15:4", "stateVariable": false, "storageLocation": "default", @@ -12136,7 +12026,7 @@ "typeString": "address" }, "typeName": { - "id": 797, + "id": 808, "name": "address", "nodeType": "ElementaryTypeName", "src": "3048:7:4", @@ -12152,17 +12042,17 @@ "src": "3008:56:4" }, "returnParameters": { - "id": 802, + "id": 813, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 801, + "id": 812, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 867, + "scope": 878, "src": "3104:4:4", "stateVariable": false, "storageLocation": "default", @@ -12171,7 +12061,7 @@ "typeString": "bool" }, "typeName": { - "id": 800, + "id": 811, "name": "bool", "nodeType": "ElementaryTypeName", "src": "3104:4:4", @@ -12185,7 +12075,7 @@ ], "src": "3103:6:4" }, - "scope": 957, + "scope": 968, "src": "2975:680:4", "stateMutability": "view", "virtual": false, @@ -12193,23 +12083,23 @@ }, { "body": { - "id": 955, + "id": 966, "nodeType": "Block", "src": "3837:587:4", "statements": [ { "assignments": [ - 881 + 892 ], "declarations": [ { "constant": false, - "id": 881, + "id": 892, "mutability": "mutable", "name": "r", "nameLocation": "3855:1:4", "nodeType": "VariableDeclaration", - "scope": 955, + "scope": 966, "src": "3847:9:4", "stateVariable": false, "storageLocation": "default", @@ -12218,7 +12108,7 @@ "typeString": "uint256" }, "typeName": { - "id": 880, + "id": 891, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3847:7:4", @@ -12230,24 +12120,24 @@ "visibility": "internal" } ], - "id": 885, + "id": 896, "initialValue": { "baseExpression": { - "id": 882, + "id": 893, "name": "rs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 873, + "referencedDeclaration": 884, "src": "3859:2:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", "typeString": "uint256[2] calldata" } }, - "id": 884, + "id": 895, "indexExpression": { "hexValue": "30", - "id": 883, + "id": 894, "isConstant": false, "isLValue": false, "isPure": true, @@ -12277,17 +12167,17 @@ }, { "assignments": [ - 887 + 898 ], "declarations": [ { "constant": false, - "id": 887, + "id": 898, "mutability": "mutable", "name": "s", "nameLocation": "3882:1:4", "nodeType": "VariableDeclaration", - "scope": 955, + "scope": 966, "src": "3874:9:4", "stateVariable": false, "storageLocation": "default", @@ -12296,7 +12186,7 @@ "typeString": "uint256" }, "typeName": { - "id": 886, + "id": 897, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3874:7:4", @@ -12308,24 +12198,24 @@ "visibility": "internal" } ], - "id": 891, + "id": 902, "initialValue": { "baseExpression": { - "id": 888, + "id": 899, "name": "rs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 873, + "referencedDeclaration": 884, "src": "3886:2:4", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", "typeString": "uint256[2] calldata" } }, - "id": 890, + "id": 901, "indexExpression": { "hexValue": "31", - "id": 889, + "id": 900, "isConstant": false, "isLValue": false, "isPure": true, @@ -12359,7 +12249,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 906, + "id": 917, "isConstant": false, "isLValue": false, "isPure": false, @@ -12369,7 +12259,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 902, + "id": 913, "isConstant": false, "isLValue": false, "isPure": false, @@ -12379,7 +12269,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 898, + "id": 909, "isConstant": false, "isLValue": false, "isPure": false, @@ -12389,17 +12279,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 894, + "id": 905, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 892, + "id": 903, "name": "r", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 881, + "referencedDeclaration": 892, "src": "3905:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12410,7 +12300,7 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 893, + "id": 904, "isConstant": false, "isLValue": false, "isPure": true, @@ -12437,17 +12327,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 897, + "id": 908, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 895, + "id": 906, "name": "r", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 881, + "referencedDeclaration": 892, "src": "3915:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12457,11 +12347,11 @@ "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { - "id": 896, + "id": 907, "name": "n", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 571, + "referencedDeclaration": 582, "src": "3920:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12487,17 +12377,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 901, + "id": 912, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 899, + "id": 910, "name": "s", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 887, + "referencedDeclaration": 898, "src": "3925:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12508,7 +12398,7 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 900, + "id": 911, "isConstant": false, "isLValue": false, "isPure": true, @@ -12541,17 +12431,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 905, + "id": 916, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 903, + "id": 914, "name": "s", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 887, + "referencedDeclaration": 898, "src": "3935:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12561,11 +12451,11 @@ "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { - "id": 904, + "id": 915, "name": "n", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 571, + "referencedDeclaration": 582, "src": "3940:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12584,18 +12474,18 @@ "typeString": "bool" } }, - "id": 910, + "id": 921, "nodeType": "IfStatement", "src": "3901:79:4", "trueBody": { - "id": 909, + "id": 920, "nodeType": "Block", "src": "3943:37:4", "statements": [ { "expression": { "hexValue": "66616c7365", - "id": 907, + "id": 918, "isConstant": false, "isLValue": false, "isPure": true, @@ -12609,8 +12499,8 @@ }, "value": "false" }, - "functionReturnParameters": 879, - "id": 908, + "functionReturnParameters": 890, + "id": 919, "nodeType": "Return", "src": "3957:12:4" } @@ -12619,17 +12509,17 @@ }, { "assignments": [ - 912 + 923 ], "declarations": [ { "constant": false, - "id": 912, + "id": 923, "mutability": "mutable", "name": "sInv", "nameLocation": "4155:4:4", "nodeType": "VariableDeclaration", - "scope": 955, + "scope": 966, "src": "4147:12:4", "stateVariable": false, "storageLocation": "default", @@ -12638,7 +12528,7 @@ "typeString": "uint256" }, "typeName": { - "id": 911, + "id": 922, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4147:7:4", @@ -12650,15 +12540,15 @@ "visibility": "internal" } ], - "id": 917, + "id": 928, "initialValue": { "arguments": [ { - "id": 915, + "id": 926, "name": "s", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 887, + "referencedDeclaration": 898, "src": "4190:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12674,18 +12564,18 @@ } ], "expression": { - "id": 913, + "id": 924, "name": "FCL_Elliptic_ZZ", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2298, + "referencedDeclaration": 2309, "src": "4162:15:4", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2298_$", + "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2309_$", "typeString": "type(library FCL_Elliptic_ZZ)" } }, - "id": 914, + "id": 925, "isConstant": false, "isLValue": false, "isPure": false, @@ -12693,14 +12583,14 @@ "memberLocation": "4178:11:4", "memberName": "FCL_nModInv", "nodeType": "MemberAccess", - "referencedDeclaration": 1008, + "referencedDeclaration": 1019, "src": "4162:27:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) view returns (uint256)" } }, - "id": 916, + "id": 927, "isConstant": false, "isLValue": false, "isPure": false, @@ -12721,17 +12611,17 @@ }, { "assignments": [ - 919 + 930 ], "declarations": [ { "constant": false, - "id": 919, + "id": 930, "mutability": "mutable", "name": "X", "nameLocation": "4211:1:4", "nodeType": "VariableDeclaration", - "scope": 955, + "scope": 966, "src": "4203:9:4", "stateVariable": false, "storageLocation": "default", @@ -12740,7 +12630,7 @@ "typeString": "uint256" }, "typeName": { - "id": 918, + "id": 929, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4203:7:4", @@ -12752,23 +12642,23 @@ "visibility": "internal" } ], - "id": 920, + "id": 931, "nodeType": "VariableDeclarationStatement", "src": "4203:9:4" }, { "expression": { - "id": 939, + "id": 950, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 921, + "id": 932, "name": "X", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 919, + "referencedDeclaration": 930, "src": "4253:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12784,11 +12674,11 @@ { "arguments": [ { - "id": 927, + "id": 938, "name": "message", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 869, + "referencedDeclaration": 880, "src": "4314:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -12803,7 +12693,7 @@ "typeString": "bytes32" } ], - "id": 926, + "id": 937, "isConstant": false, "isLValue": false, "isPure": true, @@ -12815,14 +12705,14 @@ "typeString": "type(uint256)" }, "typeName": { - "id": 925, + "id": 936, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4306:7:4", "typeDescriptions": {} } }, - "id": 928, + "id": 939, "isConstant": false, "isLValue": false, "isPure": false, @@ -12839,11 +12729,11 @@ } }, { - "id": 929, + "id": 940, "name": "sInv", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 912, + "referencedDeclaration": 923, "src": "4324:4:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12851,11 +12741,11 @@ } }, { - "id": 930, + "id": 941, "name": "n", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 571, + "referencedDeclaration": 582, "src": "4330:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12878,7 +12768,7 @@ "typeString": "uint256" } ], - "id": 924, + "id": 935, "name": "mulmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -12889,7 +12779,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 931, + "id": 942, "isConstant": false, "isLValue": false, "isPure": false, @@ -12908,11 +12798,11 @@ { "arguments": [ { - "id": 933, + "id": 944, "name": "r", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 881, + "referencedDeclaration": 892, "src": "4341:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12920,11 +12810,11 @@ } }, { - "id": 934, + "id": 945, "name": "sInv", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 912, + "referencedDeclaration": 923, "src": "4344:4:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12932,11 +12822,11 @@ } }, { - "id": 935, + "id": 946, "name": "n", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 571, + "referencedDeclaration": 582, "src": "4350:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12959,7 +12849,7 @@ "typeString": "uint256" } ], - "id": 932, + "id": 943, "name": "mulmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -12970,7 +12860,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 936, + "id": 947, "isConstant": false, "isLValue": false, "isPure": false, @@ -12987,11 +12877,11 @@ } }, { - "id": 937, + "id": 948, "name": "Shamir8", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 875, + "referencedDeclaration": 886, "src": "4354:7:4", "typeDescriptions": { "typeIdentifier": "t_address", @@ -13015,18 +12905,18 @@ } ], "expression": { - "id": 922, + "id": 933, "name": "FCL_Elliptic_ZZ", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2298, + "referencedDeclaration": 2309, "src": "4257:15:4", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2298_$", + "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2309_$", "typeString": "type(library FCL_Elliptic_ZZ)" } }, - "id": 923, + "id": 934, "isConstant": false, "isLValue": false, "isPure": false, @@ -13034,14 +12924,14 @@ "memberLocation": "4273:25:4", "memberName": "ecZZ_mulmuladd_S8_extcode", "nodeType": "MemberAccess", - "referencedDeclaration": 2074, + "referencedDeclaration": 2085, "src": "4257:41:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_address_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,address) view returns (uint256)" } }, - "id": 938, + "id": 949, "isConstant": false, "isLValue": false, "isPure": false, @@ -13063,23 +12953,23 @@ "typeString": "uint256" } }, - "id": 940, + "id": 951, "nodeType": "ExpressionStatement", "src": "4253:109:4" }, { "expression": { - "id": 949, + "id": 960, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 941, + "id": 952, "name": "X", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 919, + "referencedDeclaration": 930, "src": "4373:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13091,11 +12981,11 @@ "rightHandSide": { "arguments": [ { - "id": 943, + "id": 954, "name": "X", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 919, + "referencedDeclaration": 930, "src": "4383:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13107,17 +12997,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 946, + "id": 957, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 944, + "id": 955, "name": "n", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 571, + "referencedDeclaration": 582, "src": "4386:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13127,11 +13017,11 @@ "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { - "id": 945, + "id": 956, "name": "r", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 881, + "referencedDeclaration": 892, "src": "4388:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13145,11 +13035,11 @@ } }, { - "id": 947, + "id": 958, "name": "n", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 571, + "referencedDeclaration": 582, "src": "4390:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13172,7 +13062,7 @@ "typeString": "uint256" } ], - "id": 942, + "id": 953, "name": "addmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -13183,7 +13073,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 948, + "id": 959, "isConstant": false, "isLValue": false, "isPure": false, @@ -13205,7 +13095,7 @@ "typeString": "uint256" } }, - "id": 950, + "id": 961, "nodeType": "ExpressionStatement", "src": "4373:20:4" }, @@ -13215,17 +13105,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 953, + "id": 964, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 951, + "id": 962, "name": "X", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 919, + "referencedDeclaration": 930, "src": "4411:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13236,7 +13126,7 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 952, + "id": 963, "isConstant": false, "isLValue": false, "isPure": true, @@ -13256,14 +13146,14 @@ "typeString": "bool" } }, - "functionReturnParameters": 879, - "id": 954, + "functionReturnParameters": 890, + "id": 965, "nodeType": "Return", "src": "4404:13:4" } ] }, - "id": 956, + "id": 967, "implemented": true, "kind": "function", "modifiers": [], @@ -13271,17 +13161,17 @@ "nameLocation": "3705:24:4", "nodeType": "FunctionDefinition", "parameters": { - "id": 876, + "id": 887, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 869, + "id": 880, "mutability": "mutable", "name": "message", "nameLocation": "3738:7:4", "nodeType": "VariableDeclaration", - "scope": 956, + "scope": 967, "src": "3730:15:4", "stateVariable": false, "storageLocation": "default", @@ -13290,7 +13180,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 868, + "id": 879, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "3730:7:4", @@ -13303,12 +13193,12 @@ }, { "constant": false, - "id": 873, + "id": 884, "mutability": "mutable", "name": "rs", "nameLocation": "3767:2:4", "nodeType": "VariableDeclaration", - "scope": 956, + "scope": 967, "src": "3747:22:4", "stateVariable": false, "storageLocation": "calldata", @@ -13318,7 +13208,7 @@ }, "typeName": { "baseType": { - "id": 870, + "id": 881, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3747:7:4", @@ -13327,10 +13217,10 @@ "typeString": "uint256" } }, - "id": 872, + "id": 883, "length": { "hexValue": "32", - "id": 871, + "id": 882, "isConstant": false, "isLValue": false, "isPure": true, @@ -13355,12 +13245,12 @@ }, { "constant": false, - "id": 875, + "id": 886, "mutability": "mutable", "name": "Shamir8", "nameLocation": "3779:7:4", "nodeType": "VariableDeclaration", - "scope": 956, + "scope": 967, "src": "3771:15:4", "stateVariable": false, "storageLocation": "default", @@ -13369,7 +13259,7 @@ "typeString": "address" }, "typeName": { - "id": 874, + "id": 885, "name": "address", "nodeType": "ElementaryTypeName", "src": "3771:7:4", @@ -13385,17 +13275,17 @@ "src": "3729:58:4" }, "returnParameters": { - "id": 879, + "id": 890, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 878, + "id": 889, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 956, + "scope": 967, "src": "3827:4:4", "stateVariable": false, "storageLocation": "default", @@ -13404,7 +13294,7 @@ "typeString": "bool" }, "typeName": { - "id": 877, + "id": 888, "name": "bool", "nodeType": "ElementaryTypeName", "src": "3827:4:4", @@ -13418,14 +13308,14 @@ ], "src": "3826:6:4" }, - "scope": 957, + "scope": 968, "src": "3696:728:4", "stateMutability": "view", "virtual": false, "visibility": "internal" } ], - "scope": 958, + "scope": 969, "src": "1217:3244:4", "usedErrors": [], "usedEvents": [] @@ -13440,15 +13330,15 @@ "absolutePath": "FreshCryptoLib/FCL_elliptic.sol", "exportedSymbols": { "FCL_Elliptic_ZZ": [ - 2298 + 2309 ] }, - "id": 2299, + "id": 2310, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 959, + "id": 970, "literals": [ "solidity", ">=", @@ -13468,9 +13358,9 @@ "contractDependencies": [], "contractKind": "library", "fullyImplemented": true, - "id": 2298, + "id": 2309, "linearizedBaseContracts": [ - 2298 + 2309 ], "name": "FCL_Elliptic_ZZ", "nameLocation": "1228:15:5", @@ -13478,12 +13368,12 @@ "nodes": [ { "constant": true, - "id": 962, + "id": 973, "mutability": "constant", "name": "MODEXP_PRECOMPILE", "nameLocation": "1410:17:5", "nodeType": "VariableDeclaration", - "scope": 2298, + "scope": 2309, "src": "1393:79:5", "stateVariable": true, "storageLocation": "default", @@ -13492,7 +13382,7 @@ "typeString": "address" }, "typeName": { - "id": 960, + "id": 971, "name": "address", "nodeType": "ElementaryTypeName", "src": "1393:7:5", @@ -13504,7 +13394,7 @@ }, "value": { "hexValue": "307830303030303030303030303030303030303030303030303030303030303030303030303030303035", - "id": 961, + "id": 972, "isConstant": false, "isLValue": false, "isPure": true, @@ -13522,12 +13412,12 @@ }, { "constant": true, - "id": 965, + "id": 976, "mutability": "constant", "name": "p", "nameLocation": "1527:1:5", "nodeType": "VariableDeclaration", - "scope": 2298, + "scope": 2309, "src": "1510:87:5", "stateVariable": true, "storageLocation": "default", @@ -13536,7 +13426,7 @@ "typeString": "uint256" }, "typeName": { - "id": 963, + "id": 974, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1510:7:5", @@ -13547,7 +13437,7 @@ }, "value": { "hexValue": "307846464646464646463030303030303031303030303030303030303030303030303030303030303030464646464646464646464646464646464646464646464646", - "id": 964, + "id": 975, "isConstant": false, "isLValue": false, "isPure": true, @@ -13565,12 +13455,12 @@ }, { "constant": true, - "id": 968, + "id": 979, "mutability": "constant", "name": "a", "nameLocation": "1662:1:5", "nodeType": "VariableDeclaration", - "scope": 2298, + "scope": 2309, "src": "1645:87:5", "stateVariable": true, "storageLocation": "default", @@ -13579,7 +13469,7 @@ "typeString": "uint256" }, "typeName": { - "id": 966, + "id": 977, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1645:7:5", @@ -13590,7 +13480,7 @@ }, "value": { "hexValue": "307846464646464646463030303030303031303030303030303030303030303030303030303030303030464646464646464646464646464646464646464646464643", - "id": 967, + "id": 978, "isConstant": false, "isLValue": false, "isPure": true, @@ -13608,12 +13498,12 @@ }, { "constant": true, - "id": 971, + "id": 982, "mutability": "constant", "name": "b", "nameLocation": "1798:1:5", "nodeType": "VariableDeclaration", - "scope": 2298, + "scope": 2309, "src": "1781:87:5", "stateVariable": true, "storageLocation": "default", @@ -13622,7 +13512,7 @@ "typeString": "uint256" }, "typeName": { - "id": 969, + "id": 980, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1781:7:5", @@ -13633,7 +13523,7 @@ }, "value": { "hexValue": "307835414336333544384141334139334537423345424244353537363938383642433635314430364230434335334230463633424345334333453237443236303442", - "id": 970, + "id": 981, "isConstant": false, "isLValue": false, "isPure": true, @@ -13651,12 +13541,12 @@ }, { "constant": true, - "id": 974, + "id": 985, "mutability": "constant", "name": "gx", "nameLocation": "1933:2:5", "nodeType": "VariableDeclaration", - "scope": 2298, + "scope": 2309, "src": "1916:88:5", "stateVariable": true, "storageLocation": "default", @@ -13665,7 +13555,7 @@ "typeString": "uint256" }, "typeName": { - "id": 972, + "id": 983, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1916:7:5", @@ -13676,7 +13566,7 @@ }, "value": { "hexValue": "307836423137443146324531324334323437463842434536453536334134343046323737303337443831324445423333413046344131333934354438393843323936", - "id": 973, + "id": 984, "isConstant": false, "isLValue": false, "isPure": true, @@ -13694,12 +13584,12 @@ }, { "constant": true, - "id": 977, + "id": 988, "mutability": "constant", "name": "gy", "nameLocation": "2027:2:5", "nodeType": "VariableDeclaration", - "scope": 2298, + "scope": 2309, "src": "2010:88:5", "stateVariable": true, "storageLocation": "default", @@ -13708,7 +13598,7 @@ "typeString": "uint256" }, "typeName": { - "id": 975, + "id": 986, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2010:7:5", @@ -13719,7 +13609,7 @@ }, "value": { "hexValue": "307834464533343245324645314137463942384545374542344137433046394531363242434533333537364233313545434543424236343036383337424635314635", - "id": 976, + "id": 987, "isConstant": false, "isLValue": false, "isPure": true, @@ -13737,12 +13627,12 @@ }, { "constant": true, - "id": 980, + "id": 991, "mutability": "constant", "name": "n", "nameLocation": "2158:1:5", "nodeType": "VariableDeclaration", - "scope": 2298, + "scope": 2309, "src": "2141:87:5", "stateVariable": true, "storageLocation": "default", @@ -13751,7 +13641,7 @@ "typeString": "uint256" }, "typeName": { - "id": 978, + "id": 989, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2141:7:5", @@ -13762,7 +13652,7 @@ }, "value": { "hexValue": "307846464646464646463030303030303030464646464646464646464646464646464243453646414144413731373945383446334239434143324643363332353531", - "id": 979, + "id": 990, "isConstant": false, "isLValue": false, "isPure": true, @@ -13780,12 +13670,12 @@ }, { "constant": true, - "id": 983, + "id": 994, "mutability": "constant", "name": "minus_2", "nameLocation": "2336:7:5", "nodeType": "VariableDeclaration", - "scope": 2298, + "scope": 2309, "src": "2319:93:5", "stateVariable": true, "storageLocation": "default", @@ -13794,7 +13684,7 @@ "typeString": "uint256" }, "typeName": { - "id": 981, + "id": 992, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2319:7:5", @@ -13805,7 +13695,7 @@ }, "value": { "hexValue": "307846464646464646463030303030303031303030303030303030303030303030303030303030303030464646464646464646464646464646464646464646464644", - "id": 982, + "id": 993, "isConstant": false, "isLValue": false, "isPure": true, @@ -13823,12 +13713,12 @@ }, { "constant": true, - "id": 986, + "id": 997, "mutability": "constant", "name": "minus_2modn", "nameLocation": "2490:11:5", "nodeType": "VariableDeclaration", - "scope": 2298, + "scope": 2309, "src": "2473:97:5", "stateVariable": true, "storageLocation": "default", @@ -13837,7 +13727,7 @@ "typeString": "uint256" }, "typeName": { - "id": 984, + "id": 995, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2473:7:5", @@ -13848,7 +13738,7 @@ }, "value": { "hexValue": "307846464646464646463030303030303030464646464646464646464646464646464243453646414144413731373945383446334239434143324643363332353446", - "id": 985, + "id": 996, "isConstant": false, "isLValue": false, "isPure": true, @@ -13866,12 +13756,12 @@ }, { "constant": true, - "id": 989, + "id": 1000, "mutability": "constant", "name": "minus_1", "nameLocation": "2594:7:5", "nodeType": "VariableDeclaration", - "scope": 2298, + "scope": 2309, "src": "2577:93:5", "stateVariable": true, "storageLocation": "default", @@ -13880,7 +13770,7 @@ "typeString": "uint256" }, "typeName": { - "id": 987, + "id": 998, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2577:7:5", @@ -13891,7 +13781,7 @@ }, "value": { "hexValue": "307846464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646", - "id": 988, + "id": 999, "isConstant": false, "isLValue": false, "isPure": true, @@ -13909,12 +13799,12 @@ }, { "constant": true, - "id": 992, + "id": 1003, "mutability": "constant", "name": "pp1div4", "nameLocation": "2709:7:5", "nodeType": "VariableDeclaration", - "scope": 2298, + "scope": 2309, "src": "2692:91:5", "stateVariable": true, "storageLocation": "default", @@ -13923,7 +13813,7 @@ "typeString": "uint256" }, "typeName": { - "id": 990, + "id": 1001, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2692:7:5", @@ -13934,7 +13824,7 @@ }, "value": { "hexValue": "307833666666666666666330303030303030343030303030303030303030303030303030303030303030343030303030303030303030303030303030303030303030", - "id": 991, + "id": 1002, "isConstant": false, "isLValue": false, "isPure": true, @@ -13952,12 +13842,12 @@ }, { "constant": true, - "id": 995, + "id": 1006, "mutability": "constant", "name": "_NOTSQUARE", "nameLocation": "2867:10:5", "nodeType": "VariableDeclaration", - "scope": 2298, + "scope": 2309, "src": "2850:94:5", "stateVariable": true, "storageLocation": "default", @@ -13966,7 +13856,7 @@ "typeString": "uint256" }, "typeName": { - "id": 993, + "id": 1004, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2850:7:5", @@ -13977,7 +13867,7 @@ }, "value": { "hexValue": "307846464646464646463030303030303032303030303030303030303030303030303030303030303030464646464646464646464646464646464646464646464646", - "id": 994, + "id": 1005, "isConstant": false, "isLValue": false, "isPure": true, @@ -13995,12 +13885,12 @@ }, { "constant": true, - "id": 998, + "id": 1009, "mutability": "constant", "name": "_NOTONCURVE", "nameLocation": "2967:11:5", "nodeType": "VariableDeclaration", - "scope": 2298, + "scope": 2309, "src": "2950:95:5", "stateVariable": true, "storageLocation": "default", @@ -14009,7 +13899,7 @@ "typeString": "uint256" }, "typeName": { - "id": 996, + "id": 1007, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2950:7:5", @@ -14020,7 +13910,7 @@ }, "value": { "hexValue": "307846464646464646463030303030303033303030303030303030303030303030303030303030303030464646464646464646464646464646464646464646464646", - "id": 997, + "id": 1008, "isConstant": false, "isLValue": false, "isPure": true, @@ -14038,7 +13928,7 @@ }, { "body": { - "id": 1007, + "id": 1018, "nodeType": "Block", "src": "3225:663:5", "statements": [ @@ -14540,47 +14430,47 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 986, + "declaration": 997, "isOffset": false, "isSlot": false, "src": "3626:11:5", "valueSize": 1 }, { - "declaration": 980, + "declaration": 991, "isOffset": false, "isSlot": false, "src": "3678:1:5", "valueSize": 1 }, { - "declaration": 1004, + "declaration": 1015, "isOffset": false, "isSlot": false, "src": "3848:6:5", "valueSize": 1 }, { - "declaration": 1001, + "declaration": 1012, "isOffset": false, "isSlot": false, "src": "3584:1:5", "valueSize": 1 } ], - "id": 1006, + "id": 1017, "nodeType": "InlineAssembly", "src": "3235:647:5" } ] }, "documentation": { - "id": 999, + "id": 1010, "nodeType": "StructuredDocumentation", "src": "3052:97:5", "text": " /* inversion mod n via a^(n-2), use of precompiled using little Fermat theorem" }, - "id": 1008, + "id": 1019, "implemented": true, "kind": "function", "modifiers": [], @@ -14588,17 +14478,17 @@ "nameLocation": "3163:11:5", "nodeType": "FunctionDefinition", "parameters": { - "id": 1002, + "id": 1013, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1001, + "id": 1012, "mutability": "mutable", "name": "u", "nameLocation": "3183:1:5", "nodeType": "VariableDeclaration", - "scope": 1008, + "scope": 1019, "src": "3175:9:5", "stateVariable": false, "storageLocation": "default", @@ -14607,7 +14497,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1000, + "id": 1011, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3175:7:5", @@ -14622,17 +14512,17 @@ "src": "3174:11:5" }, "returnParameters": { - "id": 1005, + "id": 1016, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1004, + "id": 1015, "mutability": "mutable", "name": "result", "nameLocation": "3217:6:5", "nodeType": "VariableDeclaration", - "scope": 1008, + "scope": 1019, "src": "3209:14:5", "stateVariable": false, "storageLocation": "default", @@ -14641,7 +14531,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1003, + "id": 1014, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3209:7:5", @@ -14655,7 +14545,7 @@ ], "src": "3208:16:5" }, - "scope": 2298, + "scope": 2309, "src": "3154:734:5", "stateMutability": "view", "virtual": false, @@ -14663,7 +14553,7 @@ }, { "body": { - "id": 1017, + "id": 1028, "nodeType": "Block", "src": "4071:659:5", "statements": [ @@ -15165,47 +15055,47 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 983, + "declaration": 994, "isOffset": false, "isSlot": false, "src": "4472:7:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "4520:1:5", "valueSize": 1 }, { - "declaration": 1014, + "declaration": 1025, "isOffset": false, "isSlot": false, "src": "4690:6:5", "valueSize": 1 }, { - "declaration": 1011, + "declaration": 1022, "isOffset": false, "isSlot": false, "src": "4430:1:5", "valueSize": 1 } ], - "id": 1016, + "id": 1027, "nodeType": "InlineAssembly", "src": "4081:643:5" } ] }, "documentation": { - "id": 1009, + "id": 1020, "nodeType": "StructuredDocumentation", "src": "3893:101:5", "text": " /* @dev inversion mod nusing little Fermat theorem via a^(n-2), use of precompiled" }, - "id": 1018, + "id": 1029, "implemented": true, "kind": "function", "modifiers": [], @@ -15213,17 +15103,17 @@ "nameLocation": "4009:11:5", "nodeType": "FunctionDefinition", "parameters": { - "id": 1012, + "id": 1023, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1011, + "id": 1022, "mutability": "mutable", "name": "u", "nameLocation": "4029:1:5", "nodeType": "VariableDeclaration", - "scope": 1018, + "scope": 1029, "src": "4021:9:5", "stateVariable": false, "storageLocation": "default", @@ -15232,7 +15122,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1010, + "id": 1021, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4021:7:5", @@ -15247,17 +15137,17 @@ "src": "4020:11:5" }, "returnParameters": { - "id": 1015, + "id": 1026, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1014, + "id": 1025, "mutability": "mutable", "name": "result", "nameLocation": "4063:6:5", "nodeType": "VariableDeclaration", - "scope": 1018, + "scope": 1029, "src": "4055:14:5", "stateVariable": false, "storageLocation": "default", @@ -15266,7 +15156,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1013, + "id": 1024, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4055:7:5", @@ -15280,7 +15170,7 @@ ], "src": "4054:16:5" }, - "scope": 2298, + "scope": 2309, "src": "4000:730:5", "stateMutability": "view", "virtual": false, @@ -15288,23 +15178,23 @@ }, { "body": { - "id": 1093, + "id": 1104, "nodeType": "Block", "src": "4972:318:5", "statements": [ { "assignments": [ - 1040 + 1051 ], "declarations": [ { "constant": false, - "id": 1040, + "id": 1051, "mutability": "mutable", "name": "alpha2", "nameLocation": "4998:6:5", "nodeType": "VariableDeclaration", - "scope": 1093, + "scope": 1104, "src": "4990:14:5", "stateVariable": false, "storageLocation": "default", @@ -15313,7 +15203,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1039, + "id": 1050, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4990:7:5", @@ -15325,15 +15215,15 @@ "visibility": "internal" } ], - "id": 1046, + "id": 1057, "initialValue": { "arguments": [ { - "id": 1042, + "id": 1053, "name": "alpha", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1020, + "referencedDeclaration": 1031, "src": "5012:5:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15341,11 +15231,11 @@ } }, { - "id": 1043, + "id": 1054, "name": "alpha", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1020, + "referencedDeclaration": 1031, "src": "5018:5:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15353,11 +15243,11 @@ } }, { - "id": 1044, + "id": 1055, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "5024:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15380,7 +15270,7 @@ "typeString": "uint256" } ], - "id": 1041, + "id": 1052, "name": "mulmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -15391,7 +15281,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 1045, + "id": 1056, "isConstant": false, "isLValue": false, "isPure": false, @@ -15412,17 +15302,17 @@ }, { "expression": { - "id": 1053, + "id": 1064, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 1047, + "id": 1058, "name": "x3", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1031, + "referencedDeclaration": 1042, "src": "5044:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15434,11 +15324,11 @@ "rightHandSide": { "arguments": [ { - "id": 1049, + "id": 1060, "name": "alpha2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1040, + "referencedDeclaration": 1051, "src": "5054:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15446,11 +15336,11 @@ } }, { - "id": 1050, + "id": 1061, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1022, + "referencedDeclaration": 1033, "src": "5062:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15458,11 +15348,11 @@ } }, { - "id": 1051, + "id": 1062, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "5064:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15485,7 +15375,7 @@ "typeString": "uint256" } ], - "id": 1048, + "id": 1059, "name": "mulmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -15496,7 +15386,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 1052, + "id": 1063, "isConstant": false, "isLValue": false, "isPure": false, @@ -15518,23 +15408,23 @@ "typeString": "uint256" } }, - "id": 1054, + "id": 1065, "nodeType": "ExpressionStatement", "src": "5044:22:5" }, { "expression": { - "id": 1065, + "id": 1076, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 1055, + "id": 1066, "name": "y3", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1033, + "referencedDeclaration": 1044, "src": "5089:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15548,11 +15438,11 @@ { "arguments": [ { - "id": 1058, + "id": 1069, "name": "alpha", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1020, + "referencedDeclaration": 1031, "src": "5106:5:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15560,11 +15450,11 @@ } }, { - "id": 1059, + "id": 1070, "name": "alpha2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1040, + "referencedDeclaration": 1051, "src": "5113:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15572,11 +15462,11 @@ } }, { - "id": 1060, + "id": 1071, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "5120:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15599,7 +15489,7 @@ "typeString": "uint256" } ], - "id": 1057, + "id": 1068, "name": "mulmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -15610,7 +15500,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 1061, + "id": 1072, "isConstant": false, "isLValue": false, "isPure": false, @@ -15627,11 +15517,11 @@ } }, { - "id": 1062, + "id": 1073, "name": "y", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1024, + "referencedDeclaration": 1035, "src": "5124:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15639,11 +15529,11 @@ } }, { - "id": 1063, + "id": 1074, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "5126:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15666,7 +15556,7 @@ "typeString": "uint256" } ], - "id": 1056, + "id": 1067, "name": "mulmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -15677,7 +15567,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 1064, + "id": 1075, "isConstant": false, "isLValue": false, "isPure": false, @@ -15699,23 +15589,23 @@ "typeString": "uint256" } }, - "id": 1066, + "id": 1077, "nodeType": "ExpressionStatement", "src": "5089:39:5" }, { "expression": { - "id": 1073, + "id": 1084, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 1067, + "id": 1078, "name": "zz3", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1035, + "referencedDeclaration": 1046, "src": "5139:3:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15727,11 +15617,11 @@ "rightHandSide": { "arguments": [ { - "id": 1069, + "id": 1080, "name": "zz", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1026, + "referencedDeclaration": 1037, "src": "5150:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15739,11 +15629,11 @@ } }, { - "id": 1070, + "id": 1081, "name": "alpha2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1040, + "referencedDeclaration": 1051, "src": "5153:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15751,11 +15641,11 @@ } }, { - "id": 1071, + "id": 1082, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "5160:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15778,7 +15668,7 @@ "typeString": "uint256" } ], - "id": 1068, + "id": 1079, "name": "mulmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -15789,7 +15679,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 1072, + "id": 1083, "isConstant": false, "isLValue": false, "isPure": false, @@ -15811,23 +15701,23 @@ "typeString": "uint256" } }, - "id": 1074, + "id": 1085, "nodeType": "ExpressionStatement", "src": "5139:23:5" }, { "expression": { - "id": 1085, + "id": 1096, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 1075, + "id": 1086, "name": "zzz3", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1037, + "referencedDeclaration": 1048, "src": "5184:4:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15839,11 +15729,11 @@ "rightHandSide": { "arguments": [ { - "id": 1077, + "id": 1088, "name": "zzz", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1028, + "referencedDeclaration": 1039, "src": "5196:3:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15853,11 +15743,11 @@ { "arguments": [ { - "id": 1079, + "id": 1090, "name": "alpha", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1020, + "referencedDeclaration": 1031, "src": "5207:5:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15865,11 +15755,11 @@ } }, { - "id": 1080, + "id": 1091, "name": "alpha2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1040, + "referencedDeclaration": 1051, "src": "5214:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15877,11 +15767,11 @@ } }, { - "id": 1081, + "id": 1092, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "5221:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15904,7 +15794,7 @@ "typeString": "uint256" } ], - "id": 1078, + "id": 1089, "name": "mulmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -15915,7 +15805,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 1082, + "id": 1093, "isConstant": false, "isLValue": false, "isPure": false, @@ -15932,11 +15822,11 @@ } }, { - "id": 1083, + "id": 1094, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "5224:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15959,7 +15849,7 @@ "typeString": "uint256" } ], - "id": 1076, + "id": 1087, "name": "mulmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -15970,7 +15860,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 1084, + "id": 1095, "isConstant": false, "isLValue": false, "isPure": false, @@ -15992,7 +15882,7 @@ "typeString": "uint256" } }, - "id": 1086, + "id": 1097, "nodeType": "ExpressionStatement", "src": "5184:42:5" }, @@ -16000,11 +15890,11 @@ "expression": { "components": [ { - "id": 1087, + "id": 1098, "name": "x3", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1031, + "referencedDeclaration": 1042, "src": "5266:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16012,11 +15902,11 @@ } }, { - "id": 1088, + "id": 1099, "name": "y3", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1033, + "referencedDeclaration": 1044, "src": "5270:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16024,11 +15914,11 @@ } }, { - "id": 1089, + "id": 1100, "name": "zz3", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1035, + "referencedDeclaration": 1046, "src": "5274:3:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16036,11 +15926,11 @@ } }, { - "id": 1090, + "id": 1101, "name": "zzz3", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1037, + "referencedDeclaration": 1048, "src": "5279:4:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16048,7 +15938,7 @@ } } ], - "id": 1091, + "id": 1102, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -16061,14 +15951,14 @@ "typeString": "tuple(uint256,uint256,uint256,uint256)" } }, - "functionReturnParameters": 1038, - "id": 1092, + "functionReturnParameters": 1049, + "id": 1103, "nodeType": "Return", "src": "5258:26:5" } ] }, - "id": 1094, + "id": 1105, "implemented": true, "kind": "function", "modifiers": [], @@ -16076,17 +15966,17 @@ "nameLocation": "4817:13:5", "nodeType": "FunctionDefinition", "parameters": { - "id": 1029, + "id": 1040, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1020, + "id": 1031, "mutability": "mutable", "name": "alpha", "nameLocation": "4839:5:5", "nodeType": "VariableDeclaration", - "scope": 1094, + "scope": 1105, "src": "4831:13:5", "stateVariable": false, "storageLocation": "default", @@ -16095,7 +15985,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1019, + "id": 1030, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4831:7:5", @@ -16108,12 +15998,12 @@ }, { "constant": false, - "id": 1022, + "id": 1033, "mutability": "mutable", "name": "x", "nameLocation": "4854:1:5", "nodeType": "VariableDeclaration", - "scope": 1094, + "scope": 1105, "src": "4846:9:5", "stateVariable": false, "storageLocation": "default", @@ -16122,7 +16012,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1021, + "id": 1032, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4846:7:5", @@ -16135,12 +16025,12 @@ }, { "constant": false, - "id": 1024, + "id": 1035, "mutability": "mutable", "name": "y", "nameLocation": "4865:1:5", "nodeType": "VariableDeclaration", - "scope": 1094, + "scope": 1105, "src": "4857:9:5", "stateVariable": false, "storageLocation": "default", @@ -16149,7 +16039,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1023, + "id": 1034, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4857:7:5", @@ -16162,12 +16052,12 @@ }, { "constant": false, - "id": 1026, + "id": 1037, "mutability": "mutable", "name": "zz", "nameLocation": "4877:2:5", "nodeType": "VariableDeclaration", - "scope": 1094, + "scope": 1105, "src": "4869:10:5", "stateVariable": false, "storageLocation": "default", @@ -16176,7 +16066,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1025, + "id": 1036, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4869:7:5", @@ -16189,12 +16079,12 @@ }, { "constant": false, - "id": 1028, + "id": 1039, "mutability": "mutable", "name": "zzz", "nameLocation": "4889:3:5", "nodeType": "VariableDeclaration", - "scope": 1094, + "scope": 1105, "src": "4881:11:5", "stateVariable": false, "storageLocation": "default", @@ -16203,7 +16093,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1027, + "id": 1038, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4881:7:5", @@ -16218,17 +16108,17 @@ "src": "4830:63:5" }, "returnParameters": { - "id": 1038, + "id": 1049, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1031, + "id": 1042, "mutability": "mutable", "name": "x3", "nameLocation": "4926:2:5", "nodeType": "VariableDeclaration", - "scope": 1094, + "scope": 1105, "src": "4918:10:5", "stateVariable": false, "storageLocation": "default", @@ -16237,7 +16127,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1030, + "id": 1041, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4918:7:5", @@ -16250,12 +16140,12 @@ }, { "constant": false, - "id": 1033, + "id": 1044, "mutability": "mutable", "name": "y3", "nameLocation": "4938:2:5", "nodeType": "VariableDeclaration", - "scope": 1094, + "scope": 1105, "src": "4930:10:5", "stateVariable": false, "storageLocation": "default", @@ -16264,7 +16154,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1032, + "id": 1043, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4930:7:5", @@ -16277,12 +16167,12 @@ }, { "constant": false, - "id": 1035, + "id": 1046, "mutability": "mutable", "name": "zz3", "nameLocation": "4950:3:5", "nodeType": "VariableDeclaration", - "scope": 1094, + "scope": 1105, "src": "4942:11:5", "stateVariable": false, "storageLocation": "default", @@ -16291,7 +16181,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1034, + "id": 1045, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4942:7:5", @@ -16304,12 +16194,12 @@ }, { "constant": false, - "id": 1037, + "id": 1048, "mutability": "mutable", "name": "zzz3", "nameLocation": "4963:4:5", "nodeType": "VariableDeclaration", - "scope": 1094, + "scope": 1105, "src": "4955:12:5", "stateVariable": false, "storageLocation": "default", @@ -16318,7 +16208,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1036, + "id": 1047, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4955:7:5", @@ -16332,7 +16222,7 @@ ], "src": "4917:51:5" }, - "scope": 2298, + "scope": 2309, "src": "4808:482:5", "stateMutability": "pure", "virtual": false, @@ -16340,23 +16230,23 @@ }, { "body": { - "id": 1273, + "id": 1284, "nodeType": "Block", "src": "5491:757:5", "statements": [ { "assignments": [ - 1122 + 1133 ], "declarations": [ { "constant": false, - "id": 1122, + "id": 1133, "mutability": "mutable", "name": "u1", "nameLocation": "5505:2:5", "nodeType": "VariableDeclaration", - "scope": 1273, + "scope": 1284, "src": "5497:10:5", "stateVariable": false, "storageLocation": "default", @@ -16365,7 +16255,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1121, + "id": 1132, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5497:7:5", @@ -16377,15 +16267,15 @@ "visibility": "internal" } ], - "id": 1128, + "id": 1139, "initialValue": { "arguments": [ { - "id": 1124, + "id": 1135, "name": "x1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1096, + "referencedDeclaration": 1107, "src": "5515:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16393,11 +16283,11 @@ } }, { - "id": 1125, + "id": 1136, "name": "zz2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1108, + "referencedDeclaration": 1119, "src": "5518:3:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16405,11 +16295,11 @@ } }, { - "id": 1126, + "id": 1137, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "5522:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16432,7 +16322,7 @@ "typeString": "uint256" } ], - "id": 1123, + "id": 1134, "name": "mulmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -16443,7 +16333,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 1127, + "id": 1138, "isConstant": false, "isLValue": false, "isPure": false, @@ -16464,17 +16354,17 @@ }, { "assignments": [ - 1130 + 1141 ], "declarations": [ { "constant": false, - "id": 1130, + "id": 1141, "mutability": "mutable", "name": "u2", "nameLocation": "5553:2:5", "nodeType": "VariableDeclaration", - "scope": 1273, + "scope": 1284, "src": "5545:10:5", "stateVariable": false, "storageLocation": "default", @@ -16483,7 +16373,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1129, + "id": 1140, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5545:7:5", @@ -16495,15 +16385,15 @@ "visibility": "internal" } ], - "id": 1136, + "id": 1147, "initialValue": { "arguments": [ { - "id": 1132, + "id": 1143, "name": "x2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1104, + "referencedDeclaration": 1115, "src": "5563:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16511,11 +16401,11 @@ } }, { - "id": 1133, + "id": 1144, "name": "zz1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1100, + "referencedDeclaration": 1111, "src": "5567:3:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16523,11 +16413,11 @@ } }, { - "id": 1134, + "id": 1145, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "5571:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16550,7 +16440,7 @@ "typeString": "uint256" } ], - "id": 1131, + "id": 1142, "name": "mulmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -16561,7 +16451,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 1135, + "id": 1146, "isConstant": false, "isLValue": false, "isPure": false, @@ -16582,17 +16472,17 @@ }, { "expression": { - "id": 1145, + "id": 1156, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 1137, + "id": 1148, "name": "u2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1130, + "referencedDeclaration": 1141, "src": "5609:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16604,11 +16494,11 @@ "rightHandSide": { "arguments": [ { - "id": 1139, + "id": 1150, "name": "u2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1130, + "referencedDeclaration": 1141, "src": "5619:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16620,17 +16510,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1142, + "id": 1153, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1140, + "id": 1151, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "5623:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16640,11 +16530,11 @@ "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { - "id": 1141, + "id": 1152, "name": "u1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1122, + "referencedDeclaration": 1133, "src": "5625:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16658,11 +16548,11 @@ } }, { - "id": 1143, + "id": 1154, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "5629:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16685,7 +16575,7 @@ "typeString": "uint256" } ], - "id": 1138, + "id": 1149, "name": "addmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -16696,7 +16586,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 1144, + "id": 1155, "isConstant": false, "isLValue": false, "isPure": false, @@ -16718,23 +16608,23 @@ "typeString": "uint256" } }, - "id": 1146, + "id": 1157, "nodeType": "ExpressionStatement", "src": "5609:22:5" }, { "expression": { - "id": 1153, + "id": 1164, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 1147, + "id": 1158, "name": "x1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1096, + "referencedDeclaration": 1107, "src": "5650:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16746,11 +16636,11 @@ "rightHandSide": { "arguments": [ { - "id": 1149, + "id": 1160, "name": "u2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1130, + "referencedDeclaration": 1141, "src": "5660:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16758,11 +16648,11 @@ } }, { - "id": 1150, + "id": 1161, "name": "u2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1130, + "referencedDeclaration": 1141, "src": "5664:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16770,11 +16660,11 @@ } }, { - "id": 1151, + "id": 1162, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "5668:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16797,7 +16687,7 @@ "typeString": "uint256" } ], - "id": 1148, + "id": 1159, "name": "mulmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -16808,7 +16698,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 1152, + "id": 1163, "isConstant": false, "isLValue": false, "isPure": false, @@ -16830,23 +16720,23 @@ "typeString": "uint256" } }, - "id": 1154, + "id": 1165, "nodeType": "ExpressionStatement", "src": "5650:20:5" }, { "expression": { - "id": 1161, + "id": 1172, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 1155, + "id": 1166, "name": "x2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1104, + "referencedDeclaration": 1115, "src": "5680:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16858,11 +16748,11 @@ "rightHandSide": { "arguments": [ { - "id": 1157, + "id": 1168, "name": "x1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1096, + "referencedDeclaration": 1107, "src": "5690:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16870,11 +16760,11 @@ } }, { - "id": 1158, + "id": 1169, "name": "u2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1130, + "referencedDeclaration": 1141, "src": "5694:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16882,11 +16772,11 @@ } }, { - "id": 1159, + "id": 1170, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "5698:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16909,7 +16799,7 @@ "typeString": "uint256" } ], - "id": 1156, + "id": 1167, "name": "mulmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -16920,7 +16810,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 1160, + "id": 1171, "isConstant": false, "isLValue": false, "isPure": false, @@ -16942,23 +16832,23 @@ "typeString": "uint256" } }, - "id": 1162, + "id": 1173, "nodeType": "ExpressionStatement", "src": "5680:20:5" }, { "expression": { - "id": 1173, + "id": 1184, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 1163, + "id": 1174, "name": "zz3", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1117, + "referencedDeclaration": 1128, "src": "5716:3:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16970,11 +16860,11 @@ "rightHandSide": { "arguments": [ { - "id": 1165, + "id": 1176, "name": "x1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1096, + "referencedDeclaration": 1107, "src": "5727:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16984,11 +16874,11 @@ { "arguments": [ { - "id": 1167, + "id": 1178, "name": "zz1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1100, + "referencedDeclaration": 1111, "src": "5738:3:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16996,11 +16886,11 @@ } }, { - "id": 1168, + "id": 1179, "name": "zz2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1108, + "referencedDeclaration": 1119, "src": "5743:3:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17008,11 +16898,11 @@ } }, { - "id": 1169, + "id": 1180, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "5748:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17035,7 +16925,7 @@ "typeString": "uint256" } ], - "id": 1166, + "id": 1177, "name": "mulmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -17046,7 +16936,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 1170, + "id": 1181, "isConstant": false, "isLValue": false, "isPure": false, @@ -17063,11 +16953,11 @@ } }, { - "id": 1171, + "id": 1182, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "5751:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17090,7 +16980,7 @@ "typeString": "uint256" } ], - "id": 1164, + "id": 1175, "name": "mulmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -17101,7 +16991,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 1172, + "id": 1183, "isConstant": false, "isLValue": false, "isPure": false, @@ -17123,23 +17013,23 @@ "typeString": "uint256" } }, - "id": 1174, + "id": 1185, "nodeType": "ExpressionStatement", "src": "5716:37:5" }, { "expression": { - "id": 1185, + "id": 1196, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 1175, + "id": 1186, "name": "zzz3", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1119, + "referencedDeclaration": 1130, "src": "5779:4:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17151,11 +17041,11 @@ "rightHandSide": { "arguments": [ { - "id": 1177, + "id": 1188, "name": "zzz1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1102, + "referencedDeclaration": 1113, "src": "5791:4:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17165,11 +17055,11 @@ { "arguments": [ { - "id": 1179, + "id": 1190, "name": "zzz2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1110, + "referencedDeclaration": 1121, "src": "5804:4:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17177,11 +17067,11 @@ } }, { - "id": 1180, + "id": 1191, "name": "x2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1104, + "referencedDeclaration": 1115, "src": "5810:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17189,11 +17079,11 @@ } }, { - "id": 1181, + "id": 1192, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "5814:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17216,7 +17106,7 @@ "typeString": "uint256" } ], - "id": 1178, + "id": 1189, "name": "mulmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -17227,7 +17117,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 1182, + "id": 1193, "isConstant": false, "isLValue": false, "isPure": false, @@ -17244,11 +17134,11 @@ } }, { - "id": 1183, + "id": 1194, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "5817:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17271,7 +17161,7 @@ "typeString": "uint256" } ], - "id": 1176, + "id": 1187, "name": "mulmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -17282,7 +17172,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 1184, + "id": 1195, "isConstant": false, "isLValue": false, "isPure": false, @@ -17304,23 +17194,23 @@ "typeString": "uint256" } }, - "id": 1186, + "id": 1197, "nodeType": "ExpressionStatement", "src": "5779:40:5" }, { "expression": { - "id": 1193, + "id": 1204, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 1187, + "id": 1198, "name": "zz1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1100, + "referencedDeclaration": 1111, "src": "5848:3:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17332,11 +17222,11 @@ "rightHandSide": { "arguments": [ { - "id": 1189, + "id": 1200, "name": "y1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1098, + "referencedDeclaration": 1109, "src": "5859:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17344,11 +17234,11 @@ } }, { - "id": 1190, + "id": 1201, "name": "zzz2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1110, + "referencedDeclaration": 1121, "src": "5863:4:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17356,11 +17246,11 @@ } }, { - "id": 1191, + "id": 1202, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "5868:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17383,7 +17273,7 @@ "typeString": "uint256" } ], - "id": 1188, + "id": 1199, "name": "mulmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -17394,7 +17284,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 1192, + "id": 1203, "isConstant": false, "isLValue": false, "isPure": false, @@ -17416,23 +17306,23 @@ "typeString": "uint256" } }, - "id": 1194, + "id": 1205, "nodeType": "ExpressionStatement", "src": "5848:22:5" }, { "expression": { - "id": 1201, + "id": 1212, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 1195, + "id": 1206, "name": "zz2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1108, + "referencedDeclaration": 1119, "src": "5893:3:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17444,11 +17334,11 @@ "rightHandSide": { "arguments": [ { - "id": 1197, + "id": 1208, "name": "y2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1106, + "referencedDeclaration": 1117, "src": "5904:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17456,11 +17346,11 @@ } }, { - "id": 1198, + "id": 1209, "name": "zzz1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1102, + "referencedDeclaration": 1113, "src": "5908:4:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17468,11 +17358,11 @@ } }, { - "id": 1199, + "id": 1210, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "5914:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17495,7 +17385,7 @@ "typeString": "uint256" } ], - "id": 1196, + "id": 1207, "name": "mulmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -17506,7 +17396,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 1200, + "id": 1211, "isConstant": false, "isLValue": false, "isPure": false, @@ -17528,23 +17418,23 @@ "typeString": "uint256" } }, - "id": 1202, + "id": 1213, "nodeType": "ExpressionStatement", "src": "5893:23:5" }, { "expression": { - "id": 1211, + "id": 1222, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 1203, + "id": 1214, "name": "zz2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1108, + "referencedDeclaration": 1119, "src": "5942:3:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17556,11 +17446,11 @@ "rightHandSide": { "arguments": [ { - "id": 1205, + "id": 1216, "name": "zz2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1108, + "referencedDeclaration": 1119, "src": "5953:3:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17572,17 +17462,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1208, + "id": 1219, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1206, + "id": 1217, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "5958:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17592,11 +17482,11 @@ "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { - "id": 1207, + "id": 1218, "name": "zz1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1100, + "referencedDeclaration": 1111, "src": "5960:3:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17610,11 +17500,11 @@ } }, { - "id": 1209, + "id": 1220, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "5965:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17637,7 +17527,7 @@ "typeString": "uint256" } ], - "id": 1204, + "id": 1215, "name": "addmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -17648,7 +17538,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 1210, + "id": 1221, "isConstant": false, "isLValue": false, "isPure": false, @@ -17670,23 +17560,23 @@ "typeString": "uint256" } }, - "id": 1212, + "id": 1223, "nodeType": "ExpressionStatement", "src": "5942:25:5" }, { "expression": { - "id": 1219, + "id": 1230, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 1213, + "id": 1224, "name": "zzz1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1102, + "referencedDeclaration": 1113, "src": "5984:4:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17698,11 +17588,11 @@ "rightHandSide": { "arguments": [ { - "id": 1215, + "id": 1226, "name": "u1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1122, + "referencedDeclaration": 1133, "src": "5996:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17710,11 +17600,11 @@ } }, { - "id": 1216, + "id": 1227, "name": "x1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1096, + "referencedDeclaration": 1107, "src": "6000:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17722,11 +17612,11 @@ } }, { - "id": 1217, + "id": 1228, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "6003:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17749,7 +17639,7 @@ "typeString": "uint256" } ], - "id": 1214, + "id": 1225, "name": "mulmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -17760,7 +17650,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 1218, + "id": 1229, "isConstant": false, "isLValue": false, "isPure": false, @@ -17782,23 +17672,23 @@ "typeString": "uint256" } }, - "id": 1220, + "id": 1231, "nodeType": "ExpressionStatement", "src": "5984:21:5" }, { "expression": { - "id": 1241, + "id": 1252, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 1221, + "id": 1232, "name": "x3", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1113, + "referencedDeclaration": 1124, "src": "6023:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17814,11 +17704,11 @@ { "arguments": [ { - "id": 1225, + "id": 1236, "name": "zz2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1108, + "referencedDeclaration": 1119, "src": "6048:3:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17826,11 +17716,11 @@ } }, { - "id": 1226, + "id": 1237, "name": "zz2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1108, + "referencedDeclaration": 1119, "src": "6053:3:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17838,11 +17728,11 @@ } }, { - "id": 1227, + "id": 1238, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "6058:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17865,7 +17755,7 @@ "typeString": "uint256" } ], - "id": 1224, + "id": 1235, "name": "mulmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -17876,7 +17766,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 1228, + "id": 1239, "isConstant": false, "isLValue": false, "isPure": false, @@ -17897,17 +17787,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1231, + "id": 1242, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1229, + "id": 1240, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "6062:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17917,11 +17807,11 @@ "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { - "id": 1230, + "id": 1241, "name": "x2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1104, + "referencedDeclaration": 1115, "src": "6064:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17935,11 +17825,11 @@ } }, { - "id": 1232, + "id": 1243, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "6067:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17962,7 +17852,7 @@ "typeString": "uint256" } ], - "id": 1223, + "id": 1234, "name": "addmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -17973,7 +17863,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 1233, + "id": 1244, "isConstant": false, "isLValue": false, "isPure": false, @@ -17992,11 +17882,11 @@ { "arguments": [ { - "id": 1235, + "id": 1246, "name": "minus_2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 983, + "referencedDeclaration": 994, "src": "6078:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -18004,11 +17894,11 @@ } }, { - "id": 1236, + "id": 1247, "name": "zzz1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1102, + "referencedDeclaration": 1113, "src": "6087:4:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -18016,11 +17906,11 @@ } }, { - "id": 1237, + "id": 1248, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "6092:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -18043,7 +17933,7 @@ "typeString": "uint256" } ], - "id": 1234, + "id": 1245, "name": "mulmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -18054,7 +17944,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 1238, + "id": 1249, "isConstant": false, "isLValue": false, "isPure": false, @@ -18071,11 +17961,11 @@ } }, { - "id": 1239, + "id": 1250, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "6095:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -18098,7 +17988,7 @@ "typeString": "uint256" } ], - "id": 1222, + "id": 1233, "name": "addmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -18109,7 +17999,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 1240, + "id": 1251, "isConstant": false, "isLValue": false, "isPure": false, @@ -18131,23 +18021,23 @@ "typeString": "uint256" } }, - "id": 1242, + "id": 1253, "nodeType": "ExpressionStatement", "src": "6023:74:5" }, { "expression": { - "id": 1265, + "id": 1276, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 1243, + "id": 1254, "name": "y3", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1115, + "referencedDeclaration": 1126, "src": "6121:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -18161,11 +18051,11 @@ { "arguments": [ { - "id": 1246, + "id": 1257, "name": "zz2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1108, + "referencedDeclaration": 1119, "src": "6139:3:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -18175,11 +18065,11 @@ { "arguments": [ { - "id": 1248, + "id": 1259, "name": "zzz1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1102, + "referencedDeclaration": 1113, "src": "6151:4:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -18191,17 +18081,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1251, + "id": 1262, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1249, + "id": 1260, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "6157:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -18211,11 +18101,11 @@ "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { - "id": 1250, + "id": 1261, "name": "x3", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1113, + "referencedDeclaration": 1124, "src": "6159:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -18229,11 +18119,11 @@ } }, { - "id": 1252, + "id": 1263, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "6163:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -18256,7 +18146,7 @@ "typeString": "uint256" } ], - "id": 1247, + "id": 1258, "name": "addmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -18267,7 +18157,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 1253, + "id": 1264, "isConstant": false, "isLValue": false, "isPure": false, @@ -18284,11 +18174,11 @@ } }, { - "id": 1254, + "id": 1265, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "6166:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -18311,7 +18201,7 @@ "typeString": "uint256" } ], - "id": 1245, + "id": 1256, "name": "mulmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -18322,7 +18212,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 1255, + "id": 1266, "isConstant": false, "isLValue": false, "isPure": false, @@ -18343,17 +18233,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1262, + "id": 1273, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1256, + "id": 1267, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "6170:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -18365,11 +18255,11 @@ "rightExpression": { "arguments": [ { - "id": 1258, + "id": 1269, "name": "zz1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1100, + "referencedDeclaration": 1111, "src": "6179:3:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -18377,11 +18267,11 @@ } }, { - "id": 1259, + "id": 1270, "name": "x2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1104, + "referencedDeclaration": 1115, "src": "6184:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -18389,11 +18279,11 @@ } }, { - "id": 1260, + "id": 1271, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "6188:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -18416,7 +18306,7 @@ "typeString": "uint256" } ], - "id": 1257, + "id": 1268, "name": "mulmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -18427,7 +18317,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 1261, + "id": 1272, "isConstant": false, "isLValue": false, "isPure": false, @@ -18450,11 +18340,11 @@ } }, { - "id": 1263, + "id": 1274, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "6191:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -18477,7 +18367,7 @@ "typeString": "uint256" } ], - "id": 1244, + "id": 1255, "name": "addmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -18488,7 +18378,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 1264, + "id": 1275, "isConstant": false, "isLValue": false, "isPure": false, @@ -18510,7 +18400,7 @@ "typeString": "uint256" } }, - "id": 1266, + "id": 1277, "nodeType": "ExpressionStatement", "src": "6121:72:5" }, @@ -18518,11 +18408,11 @@ "expression": { "components": [ { - "id": 1267, + "id": 1278, "name": "x3", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1113, + "referencedDeclaration": 1124, "src": "6225:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -18530,11 +18420,11 @@ } }, { - "id": 1268, + "id": 1279, "name": "y3", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1115, + "referencedDeclaration": 1126, "src": "6229:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -18542,11 +18432,11 @@ } }, { - "id": 1269, + "id": 1280, "name": "zz3", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1117, + "referencedDeclaration": 1128, "src": "6233:3:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -18554,11 +18444,11 @@ } }, { - "id": 1270, + "id": 1281, "name": "zzz3", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1119, + "referencedDeclaration": 1130, "src": "6238:4:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -18566,7 +18456,7 @@ } } ], - "id": 1271, + "id": 1282, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -18579,14 +18469,14 @@ "typeString": "tuple(uint256,uint256,uint256,uint256)" } }, - "functionReturnParameters": 1120, - "id": 1272, + "functionReturnParameters": 1131, + "id": 1283, "nodeType": "Return", "src": "6217:26:5" } ] }, - "id": 1274, + "id": 1285, "implemented": true, "kind": "function", "modifiers": [], @@ -18594,17 +18484,17 @@ "nameLocation": "5303:8:5", "nodeType": "FunctionDefinition", "parameters": { - "id": 1111, + "id": 1122, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1096, + "id": 1107, "mutability": "mutable", "name": "x1", "nameLocation": "5320:2:5", "nodeType": "VariableDeclaration", - "scope": 1274, + "scope": 1285, "src": "5312:10:5", "stateVariable": false, "storageLocation": "default", @@ -18613,7 +18503,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1095, + "id": 1106, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5312:7:5", @@ -18626,12 +18516,12 @@ }, { "constant": false, - "id": 1098, + "id": 1109, "mutability": "mutable", "name": "y1", "nameLocation": "5332:2:5", "nodeType": "VariableDeclaration", - "scope": 1274, + "scope": 1285, "src": "5324:10:5", "stateVariable": false, "storageLocation": "default", @@ -18640,7 +18530,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1097, + "id": 1108, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5324:7:5", @@ -18653,12 +18543,12 @@ }, { "constant": false, - "id": 1100, + "id": 1111, "mutability": "mutable", "name": "zz1", "nameLocation": "5344:3:5", "nodeType": "VariableDeclaration", - "scope": 1274, + "scope": 1285, "src": "5336:11:5", "stateVariable": false, "storageLocation": "default", @@ -18667,7 +18557,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1099, + "id": 1110, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5336:7:5", @@ -18680,12 +18570,12 @@ }, { "constant": false, - "id": 1102, + "id": 1113, "mutability": "mutable", "name": "zzz1", "nameLocation": "5357:4:5", "nodeType": "VariableDeclaration", - "scope": 1274, + "scope": 1285, "src": "5349:12:5", "stateVariable": false, "storageLocation": "default", @@ -18694,7 +18584,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1101, + "id": 1112, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5349:7:5", @@ -18707,12 +18597,12 @@ }, { "constant": false, - "id": 1104, + "id": 1115, "mutability": "mutable", "name": "x2", "nameLocation": "5371:2:5", "nodeType": "VariableDeclaration", - "scope": 1274, + "scope": 1285, "src": "5363:10:5", "stateVariable": false, "storageLocation": "default", @@ -18721,7 +18611,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1103, + "id": 1114, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5363:7:5", @@ -18734,12 +18624,12 @@ }, { "constant": false, - "id": 1106, + "id": 1117, "mutability": "mutable", "name": "y2", "nameLocation": "5383:2:5", "nodeType": "VariableDeclaration", - "scope": 1274, + "scope": 1285, "src": "5375:10:5", "stateVariable": false, "storageLocation": "default", @@ -18748,7 +18638,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1105, + "id": 1116, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5375:7:5", @@ -18761,12 +18651,12 @@ }, { "constant": false, - "id": 1108, + "id": 1119, "mutability": "mutable", "name": "zz2", "nameLocation": "5395:3:5", "nodeType": "VariableDeclaration", - "scope": 1274, + "scope": 1285, "src": "5387:11:5", "stateVariable": false, "storageLocation": "default", @@ -18775,7 +18665,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1107, + "id": 1118, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5387:7:5", @@ -18788,12 +18678,12 @@ }, { "constant": false, - "id": 1110, + "id": 1121, "mutability": "mutable", "name": "zzz2", "nameLocation": "5408:4:5", "nodeType": "VariableDeclaration", - "scope": 1274, + "scope": 1285, "src": "5400:12:5", "stateVariable": false, "storageLocation": "default", @@ -18802,7 +18692,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1109, + "id": 1120, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5400:7:5", @@ -18817,17 +18707,17 @@ "src": "5311:102:5" }, "returnParameters": { - "id": 1120, + "id": 1131, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1113, + "id": 1124, "mutability": "mutable", "name": "x3", "nameLocation": "5446:2:5", "nodeType": "VariableDeclaration", - "scope": 1274, + "scope": 1285, "src": "5438:10:5", "stateVariable": false, "storageLocation": "default", @@ -18836,7 +18726,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1112, + "id": 1123, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5438:7:5", @@ -18849,12 +18739,12 @@ }, { "constant": false, - "id": 1115, + "id": 1126, "mutability": "mutable", "name": "y3", "nameLocation": "5458:2:5", "nodeType": "VariableDeclaration", - "scope": 1274, + "scope": 1285, "src": "5450:10:5", "stateVariable": false, "storageLocation": "default", @@ -18863,7 +18753,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1114, + "id": 1125, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5450:7:5", @@ -18876,12 +18766,12 @@ }, { "constant": false, - "id": 1117, + "id": 1128, "mutability": "mutable", "name": "zz3", "nameLocation": "5470:3:5", "nodeType": "VariableDeclaration", - "scope": 1274, + "scope": 1285, "src": "5462:11:5", "stateVariable": false, "storageLocation": "default", @@ -18890,7 +18780,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1116, + "id": 1127, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5462:7:5", @@ -18903,12 +18793,12 @@ }, { "constant": false, - "id": 1119, + "id": 1130, "mutability": "mutable", "name": "zzz3", "nameLocation": "5483:4:5", "nodeType": "VariableDeclaration", - "scope": 1274, + "scope": 1285, "src": "5475:12:5", "stateVariable": false, "storageLocation": "default", @@ -18917,7 +18807,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1118, + "id": 1129, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5475:7:5", @@ -18931,7 +18821,7 @@ ], "src": "5437:51:5" }, - "scope": 2298, + "scope": 2309, "src": "5294:954:5", "stateMutability": "pure", "virtual": false, @@ -18939,7 +18829,7 @@ }, { "body": { - "id": 1298, + "id": 1309, "nodeType": "Block", "src": "6701:1432:5", "statements": [ @@ -19459,35 +19349,35 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 962, + "declaration": 973, "isOffset": false, "isSlot": false, "src": "7685:17:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "7488:1:5", "valueSize": 1 }, { - "declaration": 992, + "declaration": 1003, "isOffset": false, "isSlot": false, "src": "7201:7:5", "valueSize": 1 }, { - "declaration": 1280, + "declaration": 1291, "isOffset": false, "isSlot": false, "src": "7984:6:5", "valueSize": 1 }, { - "declaration": 1277, + "declaration": 1288, "isOffset": false, "isSlot": false, "src": "7125:4:5", @@ -19497,7 +19387,7 @@ "flags": [ "memory-safe" ], - "id": 1282, + "id": 1293, "nodeType": "InlineAssembly", "src": "6704:1339:5" }, @@ -19507,7 +19397,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1289, + "id": 1300, "isConstant": false, "isLValue": false, "isPure": false, @@ -19515,11 +19405,11 @@ "leftExpression": { "arguments": [ { - "id": 1284, + "id": 1295, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1280, + "referencedDeclaration": 1291, "src": "8057:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -19527,11 +19417,11 @@ } }, { - "id": 1285, + "id": 1296, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1280, + "referencedDeclaration": 1291, "src": "8064:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -19539,11 +19429,11 @@ } }, { - "id": 1286, + "id": 1297, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "8071:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -19566,7 +19456,7 @@ "typeString": "uint256" } ], - "id": 1283, + "id": 1294, "name": "mulmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -19577,7 +19467,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 1287, + "id": 1298, "isConstant": false, "isLValue": false, "isPure": false, @@ -19596,11 +19486,11 @@ "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { - "id": 1288, + "id": 1299, "name": "self", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1277, + "referencedDeclaration": 1288, "src": "8075:4:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -19613,27 +19503,27 @@ "typeString": "bool" } }, - "id": 1295, + "id": 1306, "nodeType": "IfStatement", "src": "8047:63:5", "trueBody": { - "id": 1294, + "id": 1305, "nodeType": "Block", "src": "8080:30:5", "statements": [ { "expression": { - "id": 1292, + "id": 1303, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 1290, + "id": 1301, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1280, + "referencedDeclaration": 1291, "src": "8087:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -19643,11 +19533,11 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 1291, + "id": 1302, "name": "_NOTSQUARE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 995, + "referencedDeclaration": 1006, "src": "8094:10:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -19660,7 +19550,7 @@ "typeString": "uint256" } }, - "id": 1293, + "id": 1304, "nodeType": "ExpressionStatement", "src": "8087:17:5" } @@ -19669,31 +19559,31 @@ }, { "expression": { - "id": 1296, + "id": 1307, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1280, + "referencedDeclaration": 1291, "src": "8124:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1281, - "id": 1297, + "functionReturnParameters": 1292, + "id": 1308, "nodeType": "Return", "src": "8117:13:5" } ] }, "documentation": { - "id": 1275, + "id": 1286, "nodeType": "StructuredDocumentation", "src": "6250:381:5", "text": "@notice Calculate one modular square root of a given integer. Assume that p=3 mod 4.\n @dev Uses the ModExp precompiled contract at address 0x05 for fast computation using little Fermat theorem\n @param self The integer of which to find the modular inverse\n @return result The modular inverse of the input integer. If the modular inverse doesn't exist, it revert the tx" }, - "id": 1299, + "id": 1310, "implemented": true, "kind": "function", "modifiers": [], @@ -19701,17 +19591,17 @@ "nameLocation": "6641:7:5", "nodeType": "FunctionDefinition", "parameters": { - "id": 1278, + "id": 1289, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1277, + "id": 1288, "mutability": "mutable", "name": "self", "nameLocation": "6657:4:5", "nodeType": "VariableDeclaration", - "scope": 1299, + "scope": 1310, "src": "6649:12:5", "stateVariable": false, "storageLocation": "default", @@ -19720,7 +19610,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1276, + "id": 1287, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "6649:7:5", @@ -19735,17 +19625,17 @@ "src": "6648:14:5" }, "returnParameters": { - "id": 1281, + "id": 1292, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1280, + "id": 1291, "mutability": "mutable", "name": "result", "nameLocation": "6694:6:5", "nodeType": "VariableDeclaration", - "scope": 1299, + "scope": 1310, "src": "6686:14:5", "stateVariable": false, "storageLocation": "default", @@ -19754,7 +19644,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1279, + "id": 1290, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "6686:7:5", @@ -19768,7 +19658,7 @@ ], "src": "6685:16:5" }, - "scope": 2298, + "scope": 2309, "src": "6632:1501:5", "stateMutability": "view", "virtual": false, @@ -19776,39 +19666,39 @@ }, { "body": { - "id": 1336, + "id": 1347, "nodeType": "Block", "src": "8294:138:5", "statements": [ { - "id": 1335, + "id": 1346, "nodeType": "UncheckedBlock", "src": "8304:122:5", "statements": [ { "expression": { - "id": 1315, + "id": 1326, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 1311, + "id": 1322, "name": "P", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1309, + "referencedDeclaration": 1320, "src": "8328:1:5", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$4_memory_ptr", "typeString": "uint256[4] memory" } }, - "id": 1313, + "id": 1324, "indexExpression": { "hexValue": "32", - "id": 1312, + "id": 1323, "isConstant": false, "isLValue": false, "isPure": true, @@ -19837,7 +19727,7 @@ "operator": "=", "rightHandSide": { "hexValue": "31", - "id": 1314, + "id": 1325, "isConstant": false, "isLValue": false, "isPure": true, @@ -19857,34 +19747,34 @@ "typeString": "uint256" } }, - "id": 1316, + "id": 1327, "nodeType": "ExpressionStatement", "src": "8328:8:5" }, { "expression": { - "id": 1321, + "id": 1332, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 1317, + "id": 1328, "name": "P", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1309, + "referencedDeclaration": 1320, "src": "8355:1:5", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$4_memory_ptr", "typeString": "uint256[4] memory" } }, - "id": 1319, + "id": 1330, "indexExpression": { "hexValue": "33", - "id": 1318, + "id": 1329, "isConstant": false, "isLValue": false, "isPure": true, @@ -19913,7 +19803,7 @@ "operator": "=", "rightHandSide": { "hexValue": "31", - "id": 1320, + "id": 1331, "isConstant": false, "isLValue": false, "isPure": true, @@ -19933,34 +19823,34 @@ "typeString": "uint256" } }, - "id": 1322, + "id": 1333, "nodeType": "ExpressionStatement", "src": "8355:8:5" }, { "expression": { - "id": 1327, + "id": 1338, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 1323, + "id": 1334, "name": "P", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1309, + "referencedDeclaration": 1320, "src": "8383:1:5", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$4_memory_ptr", "typeString": "uint256[4] memory" } }, - "id": 1325, + "id": 1336, "indexExpression": { "hexValue": "30", - "id": 1324, + "id": 1335, "isConstant": false, "isLValue": false, "isPure": true, @@ -19988,11 +19878,11 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 1326, + "id": 1337, "name": "x0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1302, + "referencedDeclaration": 1313, "src": "8390:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -20005,34 +19895,34 @@ "typeString": "uint256" } }, - "id": 1328, + "id": 1339, "nodeType": "ExpressionStatement", "src": "8383:9:5" }, { "expression": { - "id": 1333, + "id": 1344, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 1329, + "id": 1340, "name": "P", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1309, + "referencedDeclaration": 1320, "src": "8406:1:5", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$4_memory_ptr", "typeString": "uint256[4] memory" } }, - "id": 1331, + "id": 1342, "indexExpression": { "hexValue": "31", - "id": 1330, + "id": 1341, "isConstant": false, "isLValue": false, "isPure": true, @@ -20060,11 +19950,11 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 1332, + "id": 1343, "name": "y0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1304, + "referencedDeclaration": 1315, "src": "8413:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -20077,7 +19967,7 @@ "typeString": "uint256" } }, - "id": 1334, + "id": 1345, "nodeType": "ExpressionStatement", "src": "8406:9:5" } @@ -20086,12 +19976,12 @@ ] }, "documentation": { - "id": 1300, + "id": 1311, "nodeType": "StructuredDocumentation", "src": "8138:62:5", "text": " /* @dev Convert from affine rep to XYZZ rep" }, - "id": 1337, + "id": 1348, "implemented": true, "kind": "function", "modifiers": [], @@ -20099,17 +19989,17 @@ "nameLocation": "8214:11:5", "nodeType": "FunctionDefinition", "parameters": { - "id": 1305, + "id": 1316, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1302, + "id": 1313, "mutability": "mutable", "name": "x0", "nameLocation": "8234:2:5", "nodeType": "VariableDeclaration", - "scope": 1337, + "scope": 1348, "src": "8226:10:5", "stateVariable": false, "storageLocation": "default", @@ -20118,7 +20008,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1301, + "id": 1312, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8226:7:5", @@ -20131,12 +20021,12 @@ }, { "constant": false, - "id": 1304, + "id": 1315, "mutability": "mutable", "name": "y0", "nameLocation": "8246:2:5", "nodeType": "VariableDeclaration", - "scope": 1337, + "scope": 1348, "src": "8238:10:5", "stateVariable": false, "storageLocation": "default", @@ -20145,7 +20035,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1303, + "id": 1314, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8238:7:5", @@ -20160,17 +20050,17 @@ "src": "8225:24:5" }, "returnParameters": { - "id": 1310, + "id": 1321, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1309, + "id": 1320, "mutability": "mutable", "name": "P", "nameLocation": "8291:1:5", "nodeType": "VariableDeclaration", - "scope": 1337, + "scope": 1348, "src": "8273:19:5", "stateVariable": false, "storageLocation": "memory", @@ -20180,7 +20070,7 @@ }, "typeName": { "baseType": { - "id": 1306, + "id": 1317, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8273:7:5", @@ -20189,10 +20079,10 @@ "typeString": "uint256" } }, - "id": 1308, + "id": 1319, "length": { "hexValue": "34", - "id": 1307, + "id": 1318, "isConstant": false, "isLValue": false, "isPure": true, @@ -20218,7 +20108,7 @@ ], "src": "8272:21:5" }, - "scope": 2298, + "scope": 2309, "src": "8205:227:5", "stateMutability": "pure", "virtual": false, @@ -20226,23 +20116,23 @@ }, { "body": { - "id": 1404, + "id": 1415, "nodeType": "Block", "src": "8520:271:5", "statements": [ { "assignments": [ - 1347 + 1358 ], "declarations": [ { "constant": false, - "id": 1347, + "id": 1358, "mutability": "mutable", "name": "y2", "nameLocation": "8540:2:5", "nodeType": "VariableDeclaration", - "scope": 1404, + "scope": 1415, "src": "8532:10:5", "stateVariable": false, "storageLocation": "default", @@ -20251,7 +20141,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1346, + "id": 1357, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8532:7:5", @@ -20263,15 +20153,15 @@ "visibility": "internal" } ], - "id": 1357, + "id": 1368, "initialValue": { "arguments": [ { - "id": 1349, + "id": 1360, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1339, + "referencedDeclaration": 1350, "src": "8550:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -20281,11 +20171,11 @@ { "arguments": [ { - "id": 1351, + "id": 1362, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1339, + "referencedDeclaration": 1350, "src": "8559:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -20293,11 +20183,11 @@ } }, { - "id": 1352, + "id": 1363, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1339, + "referencedDeclaration": 1350, "src": "8561:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -20305,11 +20195,11 @@ } }, { - "id": 1353, + "id": 1364, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "8563:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -20332,7 +20222,7 @@ "typeString": "uint256" } ], - "id": 1350, + "id": 1361, "name": "mulmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -20343,7 +20233,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 1354, + "id": 1365, "isConstant": false, "isLValue": false, "isPure": false, @@ -20360,11 +20250,11 @@ } }, { - "id": 1355, + "id": 1366, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "8566:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -20387,7 +20277,7 @@ "typeString": "uint256" } ], - "id": 1348, + "id": 1359, "name": "mulmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -20398,7 +20288,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 1356, + "id": 1367, "isConstant": false, "isLValue": false, "isPure": false, @@ -20419,17 +20309,17 @@ }, { "expression": { - "id": 1372, + "id": 1383, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 1358, + "id": 1369, "name": "y2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1347, + "referencedDeclaration": 1358, "src": "8582:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -20441,11 +20331,11 @@ "rightHandSide": { "arguments": [ { - "id": 1360, + "id": 1371, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 971, + "referencedDeclaration": 982, "src": "8592:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -20455,11 +20345,11 @@ { "arguments": [ { - "id": 1362, + "id": 1373, "name": "y2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1347, + "referencedDeclaration": 1358, "src": "8601:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -20469,11 +20359,11 @@ { "arguments": [ { - "id": 1364, + "id": 1375, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1339, + "referencedDeclaration": 1350, "src": "8611:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -20481,11 +20371,11 @@ } }, { - "id": 1365, + "id": 1376, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 968, + "referencedDeclaration": 979, "src": "8613:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -20493,11 +20383,11 @@ } }, { - "id": 1366, + "id": 1377, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "8615:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -20520,7 +20410,7 @@ "typeString": "uint256" } ], - "id": 1363, + "id": 1374, "name": "mulmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -20531,7 +20421,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 1367, + "id": 1378, "isConstant": false, "isLValue": false, "isPure": false, @@ -20548,11 +20438,11 @@ } }, { - "id": 1368, + "id": 1379, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "8618:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -20575,7 +20465,7 @@ "typeString": "uint256" } ], - "id": 1361, + "id": 1372, "name": "addmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -20586,7 +20476,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 1369, + "id": 1380, "isConstant": false, "isLValue": false, "isPure": false, @@ -20603,11 +20493,11 @@ } }, { - "id": 1370, + "id": 1381, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "8621:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -20630,7 +20520,7 @@ "typeString": "uint256" } ], - "id": 1359, + "id": 1370, "name": "addmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -20641,7 +20531,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 1371, + "id": 1382, "isConstant": false, "isLValue": false, "isPure": false, @@ -20663,23 +20553,23 @@ "typeString": "uint256" } }, - "id": 1373, + "id": 1384, "nodeType": "ExpressionStatement", "src": "8582:41:5" }, { "expression": { - "id": 1378, + "id": 1389, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 1374, + "id": 1385, "name": "y", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1344, + "referencedDeclaration": 1355, "src": "8643:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -20691,11 +20581,11 @@ "rightHandSide": { "arguments": [ { - "id": 1376, + "id": 1387, "name": "y2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1347, + "referencedDeclaration": 1358, "src": "8653:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -20710,18 +20600,18 @@ "typeString": "uint256" } ], - "id": 1375, + "id": 1386, "name": "SqrtMod", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1299, + "referencedDeclaration": 1310, "src": "8645:7:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) view returns (uint256)" } }, - "id": 1377, + "id": 1388, "isConstant": false, "isLValue": false, "isPure": false, @@ -20743,7 +20633,7 @@ "typeString": "uint256" } }, - "id": 1379, + "id": 1390, "nodeType": "ExpressionStatement", "src": "8643:13:5" }, @@ -20753,17 +20643,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1382, + "id": 1393, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1380, + "id": 1391, "name": "y", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1344, + "referencedDeclaration": 1355, "src": "8669:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -20773,11 +20663,11 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 1381, + "id": 1392, "name": "_NOTSQUARE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 995, + "referencedDeclaration": 1006, "src": "8672:10:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -20790,29 +20680,29 @@ "typeString": "bool" } }, - "id": 1386, + "id": 1397, "nodeType": "IfStatement", "src": "8666:59:5", "trueBody": { - "id": 1385, + "id": 1396, "nodeType": "Block", "src": "8683:42:5", "statements": [ { "expression": { - "id": 1383, + "id": 1394, "name": "_NOTONCURVE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 998, + "referencedDeclaration": 1009, "src": "8703:11:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1345, - "id": 1384, + "functionReturnParameters": 1356, + "id": 1395, "nodeType": "Return", "src": "8696:18:5" } @@ -20825,7 +20715,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1395, + "id": 1406, "isConstant": false, "isLValue": false, "isPure": false, @@ -20837,17 +20727,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1389, + "id": 1400, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1387, + "id": 1398, "name": "y", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1344, + "referencedDeclaration": 1355, "src": "8738:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -20858,7 +20748,7 @@ "operator": "&", "rightExpression": { "hexValue": "31", - "id": 1388, + "id": 1399, "isConstant": false, "isLValue": false, "isPure": true, @@ -20879,7 +20769,7 @@ } } ], - "id": 1390, + "id": 1401, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -20901,17 +20791,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1393, + "id": 1404, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1391, + "id": 1402, "name": "parity", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1341, + "referencedDeclaration": 1352, "src": "8745:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -20922,7 +20812,7 @@ "operator": "&", "rightExpression": { "hexValue": "31", - "id": 1392, + "id": 1403, "isConstant": false, "isLValue": false, "isPure": true, @@ -20943,7 +20833,7 @@ } } ], - "id": 1394, + "id": 1405, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -20962,27 +20852,27 @@ "typeString": "bool" } }, - "id": 1403, + "id": 1414, "nodeType": "IfStatement", "src": "8734:51:5", "trueBody": { - "id": 1402, + "id": 1413, "nodeType": "Block", "src": "8755:30:5", "statements": [ { "expression": { - "id": 1400, + "id": 1411, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 1396, + "id": 1407, "name": "y", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1344, + "referencedDeclaration": 1355, "src": "8769:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -20996,17 +20886,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1399, + "id": 1410, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1397, + "id": 1408, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "8771:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -21016,11 +20906,11 @@ "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { - "id": 1398, + "id": 1409, "name": "y", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1344, + "referencedDeclaration": 1355, "src": "8773:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -21039,7 +20929,7 @@ "typeString": "uint256" } }, - "id": 1401, + "id": 1412, "nodeType": "ExpressionStatement", "src": "8769:5:5" } @@ -21048,7 +20938,7 @@ } ] }, - "id": 1405, + "id": 1416, "implemented": true, "kind": "function", "modifiers": [], @@ -21056,17 +20946,17 @@ "nameLocation": "8447:13:5", "nodeType": "FunctionDefinition", "parameters": { - "id": 1342, + "id": 1353, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1339, + "id": 1350, "mutability": "mutable", "name": "x", "nameLocation": "8469:1:5", "nodeType": "VariableDeclaration", - "scope": 1405, + "scope": 1416, "src": "8461:9:5", "stateVariable": false, "storageLocation": "default", @@ -21075,7 +20965,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1338, + "id": 1349, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8461:7:5", @@ -21088,12 +20978,12 @@ }, { "constant": false, - "id": 1341, + "id": 1352, "mutability": "mutable", "name": "parity", "nameLocation": "8480:6:5", "nodeType": "VariableDeclaration", - "scope": 1405, + "scope": 1416, "src": "8472:14:5", "stateVariable": false, "storageLocation": "default", @@ -21102,7 +20992,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1340, + "id": 1351, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8472:7:5", @@ -21117,17 +21007,17 @@ "src": "8460:27:5" }, "returnParameters": { - "id": 1345, + "id": 1356, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1344, + "id": 1355, "mutability": "mutable", "name": "y", "nameLocation": "8518:1:5", "nodeType": "VariableDeclaration", - "scope": 1405, + "scope": 1416, "src": "8510:9:5", "stateVariable": false, "storageLocation": "default", @@ -21136,7 +21026,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1343, + "id": 1354, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8510:7:5", @@ -21150,7 +21040,7 @@ ], "src": "8509:11:5" }, - "scope": 2298, + "scope": 2309, "src": "8438:353:5", "stateMutability": "view", "virtual": false, @@ -21158,23 +21048,23 @@ }, { "body": { - "id": 1459, + "id": 1470, "nodeType": "Block", "src": "9069:236:5", "statements": [ { "assignments": [ - 1422 + 1433 ], "declarations": [ { "constant": false, - "id": 1422, + "id": 1433, "mutability": "mutable", "name": "zzzInv", "nameLocation": "9087:6:5", "nodeType": "VariableDeclaration", - "scope": 1459, + "scope": 1470, "src": "9079:14:5", "stateVariable": false, "storageLocation": "default", @@ -21183,7 +21073,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1421, + "id": 1432, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "9079:7:5", @@ -21195,15 +21085,15 @@ "visibility": "internal" } ], - "id": 1426, + "id": 1437, "initialValue": { "arguments": [ { - "id": 1424, + "id": 1435, "name": "zzz", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1414, + "referencedDeclaration": 1425, "src": "9108:3:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -21218,18 +21108,18 @@ "typeString": "uint256" } ], - "id": 1423, + "id": 1434, "name": "FCL_pModInv", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1018, + "referencedDeclaration": 1029, "src": "9096:11:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) view returns (uint256)" } }, - "id": 1425, + "id": 1436, "isConstant": false, "isLValue": false, "isPure": false, @@ -21250,17 +21140,17 @@ }, { "expression": { - "id": 1433, + "id": 1444, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 1427, + "id": 1438, "name": "y1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1419, + "referencedDeclaration": 1430, "src": "9130:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -21272,11 +21162,11 @@ "rightHandSide": { "arguments": [ { - "id": 1429, + "id": 1440, "name": "y", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1410, + "referencedDeclaration": 1421, "src": "9142:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -21284,11 +21174,11 @@ } }, { - "id": 1430, + "id": 1441, "name": "zzzInv", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1422, + "referencedDeclaration": 1433, "src": "9145:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -21296,11 +21186,11 @@ } }, { - "id": 1431, + "id": 1442, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "9153:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -21323,7 +21213,7 @@ "typeString": "uint256" } ], - "id": 1428, + "id": 1439, "name": "mulmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -21334,7 +21224,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 1432, + "id": 1443, "isConstant": false, "isLValue": false, "isPure": false, @@ -21356,23 +21246,23 @@ "typeString": "uint256" } }, - "id": 1434, + "id": 1445, "nodeType": "ExpressionStatement", "src": "9130:25:5" }, { "assignments": [ - 1436 + 1447 ], "declarations": [ { "constant": false, - "id": 1436, + "id": 1447, "mutability": "mutable", "name": "_b", "nameLocation": "9181:2:5", "nodeType": "VariableDeclaration", - "scope": 1459, + "scope": 1470, "src": "9173:10:5", "stateVariable": false, "storageLocation": "default", @@ -21381,7 +21271,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1435, + "id": 1446, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "9173:7:5", @@ -21393,15 +21283,15 @@ "visibility": "internal" } ], - "id": 1442, + "id": 1453, "initialValue": { "arguments": [ { - "id": 1438, + "id": 1449, "name": "zz", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1412, + "referencedDeclaration": 1423, "src": "9193:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -21409,11 +21299,11 @@ } }, { - "id": 1439, + "id": 1450, "name": "zzzInv", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1422, + "referencedDeclaration": 1433, "src": "9197:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -21421,11 +21311,11 @@ } }, { - "id": 1440, + "id": 1451, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "9205:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -21448,7 +21338,7 @@ "typeString": "uint256" } ], - "id": 1437, + "id": 1448, "name": "mulmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -21459,7 +21349,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 1441, + "id": 1452, "isConstant": false, "isLValue": false, "isPure": false, @@ -21480,17 +21370,17 @@ }, { "expression": { - "id": 1449, + "id": 1460, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 1443, + "id": 1454, "name": "zzzInv", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1422, + "referencedDeclaration": 1433, "src": "9223:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -21502,11 +21392,11 @@ "rightHandSide": { "arguments": [ { - "id": 1445, + "id": 1456, "name": "_b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1436, + "referencedDeclaration": 1447, "src": "9239:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -21514,11 +21404,11 @@ } }, { - "id": 1446, + "id": 1457, "name": "_b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1436, + "referencedDeclaration": 1447, "src": "9243:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -21526,11 +21416,11 @@ } }, { - "id": 1447, + "id": 1458, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "9247:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -21553,7 +21443,7 @@ "typeString": "uint256" } ], - "id": 1444, + "id": 1455, "name": "mulmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -21564,7 +21454,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 1448, + "id": 1459, "isConstant": false, "isLValue": false, "isPure": false, @@ -21586,23 +21476,23 @@ "typeString": "uint256" } }, - "id": 1450, + "id": 1461, "nodeType": "ExpressionStatement", "src": "9223:26:5" }, { "expression": { - "id": 1457, + "id": 1468, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 1451, + "id": 1462, "name": "x1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1417, + "referencedDeclaration": 1428, "src": "9266:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -21614,11 +21504,11 @@ "rightHandSide": { "arguments": [ { - "id": 1453, + "id": 1464, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1408, + "referencedDeclaration": 1419, "src": "9278:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -21626,11 +21516,11 @@ } }, { - "id": 1454, + "id": 1465, "name": "zzzInv", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1422, + "referencedDeclaration": 1433, "src": "9281:6:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -21638,11 +21528,11 @@ } }, { - "id": 1455, + "id": 1466, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "9289:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -21665,7 +21555,7 @@ "typeString": "uint256" } ], - "id": 1452, + "id": 1463, "name": "mulmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -21676,7 +21566,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 1456, + "id": 1467, "isConstant": false, "isLValue": false, "isPure": false, @@ -21698,19 +21588,19 @@ "typeString": "uint256" } }, - "id": 1458, + "id": 1469, "nodeType": "ExpressionStatement", "src": "9266:25:5" } ] }, "documentation": { - "id": 1406, + "id": 1417, "nodeType": "StructuredDocumentation", "src": "8797:62:5", "text": " /* @dev Convert from XYZZ rep to affine rep" }, - "id": 1460, + "id": 1471, "implemented": true, "kind": "function", "modifiers": [], @@ -21718,17 +21608,17 @@ "nameLocation": "8963:11:5", "nodeType": "FunctionDefinition", "parameters": { - "id": 1415, + "id": 1426, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1408, + "id": 1419, "mutability": "mutable", "name": "x", "nameLocation": "8983:1:5", "nodeType": "VariableDeclaration", - "scope": 1460, + "scope": 1471, "src": "8975:9:5", "stateVariable": false, "storageLocation": "default", @@ -21737,7 +21627,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1407, + "id": 1418, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8975:7:5", @@ -21750,12 +21640,12 @@ }, { "constant": false, - "id": 1410, + "id": 1421, "mutability": "mutable", "name": "y", "nameLocation": "8994:1:5", "nodeType": "VariableDeclaration", - "scope": 1460, + "scope": 1471, "src": "8986:9:5", "stateVariable": false, "storageLocation": "default", @@ -21764,7 +21654,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1409, + "id": 1420, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8986:7:5", @@ -21777,12 +21667,12 @@ }, { "constant": false, - "id": 1412, + "id": 1423, "mutability": "mutable", "name": "zz", "nameLocation": "9005:2:5", "nodeType": "VariableDeclaration", - "scope": 1460, + "scope": 1471, "src": "8997:10:5", "stateVariable": false, "storageLocation": "default", @@ -21791,7 +21681,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1411, + "id": 1422, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8997:7:5", @@ -21804,12 +21694,12 @@ }, { "constant": false, - "id": 1414, + "id": 1425, "mutability": "mutable", "name": "zzz", "nameLocation": "9017:3:5", "nodeType": "VariableDeclaration", - "scope": 1460, + "scope": 1471, "src": "9009:11:5", "stateVariable": false, "storageLocation": "default", @@ -21818,7 +21708,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1413, + "id": 1424, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "9009:7:5", @@ -21833,17 +21723,17 @@ "src": "8974:47:5" }, "returnParameters": { - "id": 1420, + "id": 1431, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1417, + "id": 1428, "mutability": "mutable", "name": "x1", "nameLocation": "9053:2:5", "nodeType": "VariableDeclaration", - "scope": 1460, + "scope": 1471, "src": "9045:10:5", "stateVariable": false, "storageLocation": "default", @@ -21852,7 +21742,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1416, + "id": 1427, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "9045:7:5", @@ -21865,12 +21755,12 @@ }, { "constant": false, - "id": 1419, + "id": 1430, "mutability": "mutable", "name": "y1", "nameLocation": "9065:2:5", "nodeType": "VariableDeclaration", - "scope": 1460, + "scope": 1471, "src": "9057:10:5", "stateVariable": false, "storageLocation": "default", @@ -21879,7 +21769,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1418, + "id": 1429, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "9057:7:5", @@ -21893,7 +21783,7 @@ ], "src": "9044:24:5" }, - "scope": 2298, + "scope": 2309, "src": "8954:351:5", "stateMutability": "view", "virtual": false, @@ -21901,12 +21791,12 @@ }, { "body": { - "id": 1488, + "id": 1499, "nodeType": "Block", "src": "9578:764:5", "statements": [ { - "id": 1481, + "id": 1492, "nodeType": "UncheckedBlock", "src": "9588:715:5", "statements": [ @@ -22597,392 +22487,392 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 1472, + "declaration": 1483, "isOffset": false, "isSlot": false, "src": "10002:2:5", "valueSize": 1 }, { - "declaration": 1472, + "declaration": 1483, "isOffset": false, "isSlot": false, "src": "10123:2:5", "valueSize": 1 }, { - "declaration": 1472, + "declaration": 1483, "isOffset": false, "isSlot": false, "src": "9639:2:5", "valueSize": 1 }, { - "declaration": 1472, + "declaration": 1483, "isOffset": false, "isSlot": false, "src": "9701:2:5", "valueSize": 1 }, { - "declaration": 1472, + "declaration": 1483, "isOffset": false, "isSlot": false, "src": "9705:2:5", "valueSize": 1 }, { - "declaration": 1472, + "declaration": 1483, "isOffset": false, "isSlot": false, "src": "9801:2:5", "valueSize": 1 }, { - "declaration": 1474, + "declaration": 1485, "isOffset": false, "isSlot": false, "src": "10174:2:5", "valueSize": 1 }, { - "declaration": 1474, + "declaration": 1485, "isOffset": false, "isSlot": false, "src": "10216:2:5", "valueSize": 1 }, { - "declaration": 1474, + "declaration": 1485, "isOffset": false, "isSlot": false, "src": "10246:2:5", "valueSize": 1 }, { - "declaration": 1474, + "declaration": 1485, "isOffset": false, "isSlot": false, "src": "9788:2:5", "valueSize": 1 }, { - "declaration": 1476, + "declaration": 1487, "isOffset": false, "isSlot": false, "src": "9688:2:5", "valueSize": 1 }, { - "declaration": 1476, + "declaration": 1487, "isOffset": false, "isSlot": false, "src": "9753:2:5", "valueSize": 1 }, { - "declaration": 1476, + "declaration": 1487, "isOffset": false, "isSlot": false, "src": "9805:2:5", "valueSize": 1 }, { - "declaration": 1476, + "declaration": 1487, "isOffset": false, "isSlot": false, "src": "9836:2:5", "valueSize": 1 }, { - "declaration": 1476, + "declaration": 1487, "isOffset": false, "isSlot": false, "src": "9849:2:5", "valueSize": 1 }, { - "declaration": 1478, + "declaration": 1489, "isOffset": false, "isSlot": false, "src": "10050:2:5", "valueSize": 1 }, { - "declaration": 1478, + "declaration": 1489, "isOffset": false, "isSlot": false, "src": "10112:2:5", "valueSize": 1 }, { - "declaration": 1478, + "declaration": 1489, "isOffset": false, "isSlot": false, "src": "10161:2:5", "valueSize": 1 }, { - "declaration": 1478, + "declaration": 1489, "isOffset": false, "isSlot": false, "src": "9737:2:5", "valueSize": 1 }, { - "declaration": 983, + "declaration": 994, "isOffset": false, "isSlot": false, "src": "10041:7:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "10030:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "10054:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "10058:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "10120:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "10128:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "10132:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "10183:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "10236:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "10253:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "10258:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "9658:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "9709:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "9757:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "9809:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "9857:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "9925:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "9933:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "9951:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "9955:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "9959:1:5", "valueSize": 1 }, { - "declaration": 1463, + "declaration": 1474, "isOffset": false, "isSlot": false, "src": "10089:1:5", "valueSize": 1 }, { - "declaration": 1463, + "declaration": 1474, "isOffset": false, "isSlot": false, "src": "10229:1:5", "valueSize": 1 }, { - "declaration": 1463, + "declaration": 1474, "isOffset": false, "isSlot": false, "src": "9750:1:5", "valueSize": 1 }, { - "declaration": 1463, + "declaration": 1474, "isOffset": false, "isSlot": false, "src": "9918:1:5", "valueSize": 1 }, { - "declaration": 1463, + "declaration": 1474, "isOffset": false, "isSlot": false, "src": "9944:1:5", "valueSize": 1 }, { - "declaration": 1465, + "declaration": 1476, "isOffset": false, "isSlot": false, "src": "10250:1:5", "valueSize": 1 }, { - "declaration": 1465, + "declaration": 1476, "isOffset": false, "isSlot": false, "src": "9655:1:5", "valueSize": 1 }, { - "declaration": 1467, + "declaration": 1478, "isOffset": false, "isSlot": false, "src": "10022:2:5", "valueSize": 1 }, { - "declaration": 1467, + "declaration": 1478, "isOffset": false, "isSlot": false, "src": "10026:2:5", "valueSize": 1 }, { - "declaration": 1467, + "declaration": 1478, "isOffset": false, "isSlot": false, "src": "10101:2:5", "valueSize": 1 }, { - "declaration": 1467, + "declaration": 1478, "isOffset": false, "isSlot": false, "src": "9853:2:5", "valueSize": 1 }, { - "declaration": 1467, + "declaration": 1478, "isOffset": false, "isSlot": false, "src": "9888:2:5", "valueSize": 1 }, { - "declaration": 1467, + "declaration": 1478, "isOffset": false, "isSlot": false, "src": "9928:2:5", "valueSize": 1 }, { - "declaration": 1467, + "declaration": 1478, "isOffset": false, "isSlot": false, "src": "9947:2:5", "valueSize": 1 }, { - "declaration": 1469, + "declaration": 1480, "isOffset": false, "isSlot": false, "src": "10178:3:5", "valueSize": 1 } ], - "id": 1480, + "id": 1491, "nodeType": "InlineAssembly", "src": "9612:681:5" } @@ -22992,11 +22882,11 @@ "expression": { "components": [ { - "id": 1482, + "id": 1493, "name": "P0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1472, + "referencedDeclaration": 1483, "src": "10320:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -23004,11 +22894,11 @@ } }, { - "id": 1483, + "id": 1494, "name": "P1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1474, + "referencedDeclaration": 1485, "src": "10324:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -23016,11 +22906,11 @@ } }, { - "id": 1484, + "id": 1495, "name": "P2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1476, + "referencedDeclaration": 1487, "src": "10328:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -23028,11 +22918,11 @@ } }, { - "id": 1485, + "id": 1496, "name": "P3", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1478, + "referencedDeclaration": 1489, "src": "10332:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -23040,7 +22930,7 @@ } } ], - "id": 1486, + "id": 1497, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -23053,20 +22943,20 @@ "typeString": "tuple(uint256,uint256,uint256,uint256)" } }, - "functionReturnParameters": 1479, - "id": 1487, + "functionReturnParameters": 1490, + "id": 1498, "nodeType": "Return", "src": "10312:23:5" } ] }, "documentation": { - "id": 1461, + "id": 1472, "nodeType": "StructuredDocumentation", "src": "9311:50:5", "text": " /* @dev Sutherland2008 doubling" }, - "id": 1489, + "id": 1500, "implemented": true, "kind": "function", "modifiers": [], @@ -23074,17 +22964,17 @@ "nameLocation": "9423:8:5", "nodeType": "FunctionDefinition", "parameters": { - "id": 1470, + "id": 1481, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1463, + "id": 1474, "mutability": "mutable", "name": "x", "nameLocation": "9440:1:5", "nodeType": "VariableDeclaration", - "scope": 1489, + "scope": 1500, "src": "9432:9:5", "stateVariable": false, "storageLocation": "default", @@ -23093,7 +22983,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1462, + "id": 1473, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "9432:7:5", @@ -23106,12 +22996,12 @@ }, { "constant": false, - "id": 1465, + "id": 1476, "mutability": "mutable", "name": "y", "nameLocation": "9451:1:5", "nodeType": "VariableDeclaration", - "scope": 1489, + "scope": 1500, "src": "9443:9:5", "stateVariable": false, "storageLocation": "default", @@ -23120,7 +23010,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1464, + "id": 1475, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "9443:7:5", @@ -23133,12 +23023,12 @@ }, { "constant": false, - "id": 1467, + "id": 1478, "mutability": "mutable", "name": "zz", "nameLocation": "9462:2:5", "nodeType": "VariableDeclaration", - "scope": 1489, + "scope": 1500, "src": "9454:10:5", "stateVariable": false, "storageLocation": "default", @@ -23147,7 +23037,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1466, + "id": 1477, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "9454:7:5", @@ -23160,12 +23050,12 @@ }, { "constant": false, - "id": 1469, + "id": 1480, "mutability": "mutable", "name": "zzz", "nameLocation": "9474:3:5", "nodeType": "VariableDeclaration", - "scope": 1489, + "scope": 1500, "src": "9466:11:5", "stateVariable": false, "storageLocation": "default", @@ -23174,7 +23064,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1468, + "id": 1479, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "9466:7:5", @@ -23189,17 +23079,17 @@ "src": "9431:47:5" }, "returnParameters": { - "id": 1479, + "id": 1490, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1472, + "id": 1483, "mutability": "mutable", "name": "P0", "nameLocation": "9534:2:5", "nodeType": "VariableDeclaration", - "scope": 1489, + "scope": 1500, "src": "9526:10:5", "stateVariable": false, "storageLocation": "default", @@ -23208,7 +23098,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1471, + "id": 1482, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "9526:7:5", @@ -23221,12 +23111,12 @@ }, { "constant": false, - "id": 1474, + "id": 1485, "mutability": "mutable", "name": "P1", "nameLocation": "9546:2:5", "nodeType": "VariableDeclaration", - "scope": 1489, + "scope": 1500, "src": "9538:10:5", "stateVariable": false, "storageLocation": "default", @@ -23235,7 +23125,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1473, + "id": 1484, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "9538:7:5", @@ -23248,12 +23138,12 @@ }, { "constant": false, - "id": 1476, + "id": 1487, "mutability": "mutable", "name": "P2", "nameLocation": "9558:2:5", "nodeType": "VariableDeclaration", - "scope": 1489, + "scope": 1500, "src": "9550:10:5", "stateVariable": false, "storageLocation": "default", @@ -23262,7 +23152,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1475, + "id": 1486, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "9550:7:5", @@ -23275,12 +23165,12 @@ }, { "constant": false, - "id": 1478, + "id": 1489, "mutability": "mutable", "name": "P3", "nameLocation": "9570:2:5", "nodeType": "VariableDeclaration", - "scope": 1489, + "scope": 1500, "src": "9562:10:5", "stateVariable": false, "storageLocation": "default", @@ -23289,7 +23179,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1477, + "id": 1488, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "9562:7:5", @@ -23303,7 +23193,7 @@ ], "src": "9525:48:5" }, - "scope": 2298, + "scope": 2309, "src": "9414:928:5", "stateMutability": "pure", "virtual": false, @@ -23311,12 +23201,12 @@ }, { "body": { - "id": 1532, + "id": 1543, "nodeType": "Block", "src": "10752:880:5", "statements": [ { - "id": 1525, + "id": 1536, "nodeType": "UncheckedBlock", "src": "10762:815:5", "statements": [ @@ -23326,17 +23216,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1515, + "id": 1526, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1513, + "id": 1524, "name": "y1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1494, + "referencedDeclaration": 1505, "src": "10790:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -23347,7 +23237,7 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 1514, + "id": 1525, "isConstant": false, "isLValue": false, "isPure": true, @@ -23367,11 +23257,11 @@ "typeString": "bool" } }, - "id": 1523, + "id": 1534, "nodeType": "IfStatement", "src": "10786:67:5", "trueBody": { - "id": 1522, + "id": 1533, "nodeType": "Block", "src": "10799:54:5", "statements": [ @@ -23379,11 +23269,11 @@ "expression": { "components": [ { - "id": 1516, + "id": 1527, "name": "x2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1500, + "referencedDeclaration": 1511, "src": "10825:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -23391,11 +23281,11 @@ } }, { - "id": 1517, + "id": 1528, "name": "y2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1502, + "referencedDeclaration": 1513, "src": "10829:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -23404,7 +23294,7 @@ }, { "hexValue": "31", - "id": 1518, + "id": 1529, "isConstant": false, "isLValue": false, "isPure": true, @@ -23420,7 +23310,7 @@ }, { "hexValue": "31", - "id": 1519, + "id": 1530, "isConstant": false, "isLValue": false, "isPure": true, @@ -23435,7 +23325,7 @@ "value": "1" } ], - "id": 1520, + "id": 1531, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -23448,8 +23338,8 @@ "typeString": "tuple(uint256,uint256,int_const 1,int_const 1)" } }, - "functionReturnParameters": 1512, - "id": 1521, + "functionReturnParameters": 1523, + "id": 1532, "nodeType": "Return", "src": "10817:21:5" } @@ -24158,413 +24048,413 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 1505, + "declaration": 1516, "isOffset": false, "isSlot": false, "src": "11048:2:5", "valueSize": 1 }, { - "declaration": 1505, + "declaration": 1516, "isOffset": false, "isSlot": false, "src": "11112:2:5", "valueSize": 1 }, { - "declaration": 1505, + "declaration": 1516, "isOffset": false, "isSlot": false, "src": "11170:2:5", "valueSize": 1 }, { - "declaration": 1505, + "declaration": 1516, "isOffset": false, "isSlot": false, "src": "11290:2:5", "valueSize": 1 }, { - "declaration": 1505, + "declaration": 1516, "isOffset": false, "isSlot": false, "src": "11325:2:5", "valueSize": 1 }, { - "declaration": 1505, + "declaration": 1516, "isOffset": false, "isSlot": false, "src": "11477:2:5", "valueSize": 1 }, { - "declaration": 1507, + "declaration": 1518, "isOffset": false, "isSlot": false, "src": "11099:2:5", "valueSize": 1 }, { - "declaration": 1507, + "declaration": 1518, "isOffset": false, "isSlot": false, "src": "11229:2:5", "valueSize": 1 }, { - "declaration": 1507, + "declaration": 1518, "isOffset": false, "isSlot": false, "src": "11371:2:5", "valueSize": 1 }, { - "declaration": 1507, + "declaration": 1518, "isOffset": false, "isSlot": false, "src": "11438:2:5", "valueSize": 1 }, { - "declaration": 1507, + "declaration": 1518, "isOffset": false, "isSlot": false, "src": "11505:2:5", "valueSize": 1 }, { - "declaration": 1509, + "declaration": 1520, "isOffset": false, "isSlot": false, "src": "11152:2:5", "valueSize": 1 }, { - "declaration": 1511, + "declaration": 1522, "isOffset": false, "isSlot": false, "src": "11210:2:5", "valueSize": 1 }, { - "declaration": 983, + "declaration": 994, "isOffset": false, "isSlot": false, "src": "11387:7:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "10904:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "10957:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "10965:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "11013:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "11021:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "11029:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "11069:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "11120:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "11174:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "11233:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "11294:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "11360:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "11368:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "11376:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "11401:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "11405:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "11474:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "11482:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "11490:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "11509:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "11513:1:5", "valueSize": 1 }, { - "declaration": 1492, + "declaration": 1503, "isOffset": false, "isSlot": false, "src": "11024:2:5", "valueSize": 1 }, { - "declaration": 1492, + "declaration": 1503, "isOffset": false, "isSlot": false, "src": "11286:2:5", "valueSize": 1 }, { - "declaration": 1500, + "declaration": 1511, "isOffset": false, "isSlot": false, "src": "10984:2:5", "valueSize": 1 }, { - "declaration": 1500, + "declaration": 1511, "isOffset": false, "isSlot": false, "src": "11004:2:5", "valueSize": 1 }, { - "declaration": 1500, + "declaration": 1511, "isOffset": false, "isSlot": false, "src": "11061:2:5", "valueSize": 1 }, { - "declaration": 1500, + "declaration": 1511, "isOffset": false, "isSlot": false, "src": "11065:2:5", "valueSize": 1 }, { - "declaration": 1500, + "declaration": 1511, "isOffset": false, "isSlot": false, "src": "11116:2:5", "valueSize": 1 }, { - "declaration": 1494, + "declaration": 1505, "isOffset": false, "isSlot": false, "src": "10894:2:5", "valueSize": 1 }, { - "declaration": 1494, + "declaration": 1505, "isOffset": false, "isSlot": false, "src": "10907:2:5", "valueSize": 1 }, { - "declaration": 1494, + "declaration": 1505, "isOffset": false, "isSlot": false, "src": "10961:2:5", "valueSize": 1 }, { - "declaration": 1494, + "declaration": 1505, "isOffset": false, "isSlot": false, "src": "11501:2:5", "valueSize": 1 }, { - "declaration": 1502, + "declaration": 1513, "isOffset": false, "isSlot": false, "src": "10927:2:5", "valueSize": 1 }, { - "declaration": 1502, + "declaration": 1513, "isOffset": false, "isSlot": false, "src": "10947:2:5", "valueSize": 1 }, { - "declaration": 1502, + "declaration": 1513, "isOffset": false, "isSlot": false, "src": "11352:2:5", "valueSize": 1 }, { - "declaration": 1502, + "declaration": 1513, "isOffset": false, "isSlot": false, "src": "11356:2:5", "valueSize": 1 }, { - "declaration": 1502, + "declaration": 1513, "isOffset": false, "isSlot": false, "src": "11486:2:5", "valueSize": 1 }, { - "declaration": 1496, + "declaration": 1507, "isOffset": false, "isSlot": false, "src": "11008:3:5", "valueSize": 1 }, { - "declaration": 1496, + "declaration": 1507, "isOffset": false, "isSlot": false, "src": "11165:3:5", "valueSize": 1 }, { - "declaration": 1496, + "declaration": 1507, "isOffset": false, "isSlot": false, "src": "11272:3:5", "valueSize": 1 }, { - "declaration": 1496, + "declaration": 1507, "isOffset": false, "isSlot": false, "src": "11396:3:5", "valueSize": 1 }, { - "declaration": 1496, + "declaration": 1507, "isOffset": false, "isSlot": false, "src": "11465:3:5", "valueSize": 1 }, { - "declaration": 1498, + "declaration": 1509, "isOffset": false, "isSlot": false, "src": "10951:4:5", "valueSize": 1 }, { - "declaration": 1498, + "declaration": 1509, "isOffset": false, "isSlot": false, "src": "11223:4:5", "valueSize": 1 } ], - "id": 1524, + "id": 1535, "nodeType": "InlineAssembly", "src": "10867:673:5" } @@ -24574,11 +24464,11 @@ "expression": { "components": [ { - "id": 1526, + "id": 1537, "name": "P0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1505, + "referencedDeclaration": 1516, "src": "11610:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -24586,11 +24476,11 @@ } }, { - "id": 1527, + "id": 1538, "name": "P1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1507, + "referencedDeclaration": 1518, "src": "11614:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -24598,11 +24488,11 @@ } }, { - "id": 1528, + "id": 1539, "name": "P2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1509, + "referencedDeclaration": 1520, "src": "11618:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -24610,11 +24500,11 @@ } }, { - "id": 1529, + "id": 1540, "name": "P3", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1511, + "referencedDeclaration": 1522, "src": "11622:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -24622,7 +24512,7 @@ } } ], - "id": 1530, + "id": 1541, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -24635,20 +24525,20 @@ "typeString": "tuple(uint256,uint256,uint256,uint256)" } }, - "functionReturnParameters": 1512, - "id": 1531, + "functionReturnParameters": 1523, + "id": 1542, "nodeType": "Return", "src": "11602:23:5" } ] }, "documentation": { - "id": 1490, + "id": 1501, "nodeType": "StructuredDocumentation", "src": "10348:205:5", "text": " @dev Sutherland2008 add a ZZ point with a normalized point and greedy formulae\n warning: assume that P1(x1,y1)!=P2(x2,y2), true in multiplication loop with prime order (cofactor 1)" }, - "id": 1533, + "id": 1544, "implemented": true, "kind": "function", "modifiers": [], @@ -24656,17 +24546,17 @@ "nameLocation": "10568:9:5", "nodeType": "FunctionDefinition", "parameters": { - "id": 1503, + "id": 1514, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1492, + "id": 1503, "mutability": "mutable", "name": "x1", "nameLocation": "10586:2:5", "nodeType": "VariableDeclaration", - "scope": 1533, + "scope": 1544, "src": "10578:10:5", "stateVariable": false, "storageLocation": "default", @@ -24675,7 +24565,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1491, + "id": 1502, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "10578:7:5", @@ -24688,12 +24578,12 @@ }, { "constant": false, - "id": 1494, + "id": 1505, "mutability": "mutable", "name": "y1", "nameLocation": "10598:2:5", "nodeType": "VariableDeclaration", - "scope": 1533, + "scope": 1544, "src": "10590:10:5", "stateVariable": false, "storageLocation": "default", @@ -24702,7 +24592,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1493, + "id": 1504, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "10590:7:5", @@ -24715,12 +24605,12 @@ }, { "constant": false, - "id": 1496, + "id": 1507, "mutability": "mutable", "name": "zz1", "nameLocation": "10610:3:5", "nodeType": "VariableDeclaration", - "scope": 1533, + "scope": 1544, "src": "10602:11:5", "stateVariable": false, "storageLocation": "default", @@ -24729,7 +24619,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1495, + "id": 1506, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "10602:7:5", @@ -24742,12 +24632,12 @@ }, { "constant": false, - "id": 1498, + "id": 1509, "mutability": "mutable", "name": "zzz1", "nameLocation": "10623:4:5", "nodeType": "VariableDeclaration", - "scope": 1533, + "scope": 1544, "src": "10615:12:5", "stateVariable": false, "storageLocation": "default", @@ -24756,7 +24646,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1497, + "id": 1508, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "10615:7:5", @@ -24769,12 +24659,12 @@ }, { "constant": false, - "id": 1500, + "id": 1511, "mutability": "mutable", "name": "x2", "nameLocation": "10637:2:5", "nodeType": "VariableDeclaration", - "scope": 1533, + "scope": 1544, "src": "10629:10:5", "stateVariable": false, "storageLocation": "default", @@ -24783,7 +24673,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1499, + "id": 1510, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "10629:7:5", @@ -24796,12 +24686,12 @@ }, { "constant": false, - "id": 1502, + "id": 1513, "mutability": "mutable", "name": "y2", "nameLocation": "10649:2:5", "nodeType": "VariableDeclaration", - "scope": 1533, + "scope": 1544, "src": "10641:10:5", "stateVariable": false, "storageLocation": "default", @@ -24810,7 +24700,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1501, + "id": 1512, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "10641:7:5", @@ -24825,17 +24715,17 @@ "src": "10577:75:5" }, "returnParameters": { - "id": 1512, + "id": 1523, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1505, + "id": 1516, "mutability": "mutable", "name": "P0", "nameLocation": "10708:2:5", "nodeType": "VariableDeclaration", - "scope": 1533, + "scope": 1544, "src": "10700:10:5", "stateVariable": false, "storageLocation": "default", @@ -24844,7 +24734,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1504, + "id": 1515, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "10700:7:5", @@ -24857,12 +24747,12 @@ }, { "constant": false, - "id": 1507, + "id": 1518, "mutability": "mutable", "name": "P1", "nameLocation": "10720:2:5", "nodeType": "VariableDeclaration", - "scope": 1533, + "scope": 1544, "src": "10712:10:5", "stateVariable": false, "storageLocation": "default", @@ -24871,7 +24761,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1506, + "id": 1517, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "10712:7:5", @@ -24884,12 +24774,12 @@ }, { "constant": false, - "id": 1509, + "id": 1520, "mutability": "mutable", "name": "P2", "nameLocation": "10732:2:5", "nodeType": "VariableDeclaration", - "scope": 1533, + "scope": 1544, "src": "10724:10:5", "stateVariable": false, "storageLocation": "default", @@ -24898,7 +24788,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1508, + "id": 1519, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "10724:7:5", @@ -24911,12 +24801,12 @@ }, { "constant": false, - "id": 1511, + "id": 1522, "mutability": "mutable", "name": "P3", "nameLocation": "10744:2:5", "nodeType": "VariableDeclaration", - "scope": 1533, + "scope": 1544, "src": "10736:10:5", "stateVariable": false, "storageLocation": "default", @@ -24925,7 +24815,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1510, + "id": 1521, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "10736:7:5", @@ -24939,7 +24829,7 @@ ], "src": "10699:48:5" }, - "scope": 2298, + "scope": 2309, "src": "10559:1073:5", "stateMutability": "pure", "virtual": false, @@ -24947,7 +24837,7 @@ }, { "body": { - "id": 1551, + "id": 1562, "nodeType": "Block", "src": "11803:36:5", "statements": [ @@ -24956,7 +24846,7 @@ "components": [ { "hexValue": "30", - "id": 1545, + "id": 1556, "isConstant": false, "isLValue": false, "isPure": true, @@ -24972,7 +24862,7 @@ }, { "hexValue": "30", - "id": 1546, + "id": 1557, "isConstant": false, "isLValue": false, "isPure": true, @@ -24988,7 +24878,7 @@ }, { "hexValue": "30", - "id": 1547, + "id": 1558, "isConstant": false, "isLValue": false, "isPure": true, @@ -25004,7 +24894,7 @@ }, { "hexValue": "30", - "id": 1548, + "id": 1559, "isConstant": false, "isLValue": false, "isPure": true, @@ -25019,7 +24909,7 @@ "value": "0" } ], - "id": 1549, + "id": 1560, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -25032,20 +24922,20 @@ "typeString": "tuple(int_const 0,int_const 0,int_const 0,int_const 0)" } }, - "functionReturnParameters": 1544, - "id": 1550, + "functionReturnParameters": 1555, + "id": 1561, "nodeType": "Return", "src": "11813:19:5" } ] }, "documentation": { - "id": 1534, + "id": 1545, "nodeType": "StructuredDocumentation", "src": "11638:66:5", "text": " @dev Return the zero curve in XYZZ coordinates." }, - "id": 1552, + "id": 1563, "implemented": true, "kind": "function", "modifiers": [], @@ -25053,23 +24943,23 @@ "nameLocation": "11718:12:5", "nodeType": "FunctionDefinition", "parameters": { - "id": 1535, + "id": 1546, "nodeType": "ParameterList", "parameters": [], "src": "11730:2:5" }, "returnParameters": { - "id": 1544, + "id": 1555, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1537, + "id": 1548, "mutability": "mutable", "name": "x", "nameLocation": "11764:1:5", "nodeType": "VariableDeclaration", - "scope": 1552, + "scope": 1563, "src": "11756:9:5", "stateVariable": false, "storageLocation": "default", @@ -25078,7 +24968,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1536, + "id": 1547, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "11756:7:5", @@ -25091,12 +24981,12 @@ }, { "constant": false, - "id": 1539, + "id": 1550, "mutability": "mutable", "name": "y", "nameLocation": "11775:1:5", "nodeType": "VariableDeclaration", - "scope": 1552, + "scope": 1563, "src": "11767:9:5", "stateVariable": false, "storageLocation": "default", @@ -25105,7 +24995,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1538, + "id": 1549, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "11767:7:5", @@ -25118,12 +25008,12 @@ }, { "constant": false, - "id": 1541, + "id": 1552, "mutability": "mutable", "name": "zz", "nameLocation": "11786:2:5", "nodeType": "VariableDeclaration", - "scope": 1552, + "scope": 1563, "src": "11778:10:5", "stateVariable": false, "storageLocation": "default", @@ -25132,7 +25022,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1540, + "id": 1551, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "11778:7:5", @@ -25145,12 +25035,12 @@ }, { "constant": false, - "id": 1543, + "id": 1554, "mutability": "mutable", "name": "zzz", "nameLocation": "11798:3:5", "nodeType": "VariableDeclaration", - "scope": 1552, + "scope": 1563, "src": "11790:11:5", "stateVariable": false, "storageLocation": "default", @@ -25159,7 +25049,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1542, + "id": 1553, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "11790:7:5", @@ -25173,7 +25063,7 @@ ], "src": "11755:47:5" }, - "scope": 2298, + "scope": 2309, "src": "11709:130:5", "stateMutability": "pure", "virtual": false, @@ -25181,7 +25071,7 @@ }, { "body": { - "id": 1570, + "id": 1581, "nodeType": "Block", "src": "12062:31:5", "statements": [ @@ -25191,17 +25081,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1568, + "id": 1579, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1566, + "id": 1577, "name": "y0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1557, + "referencedDeclaration": 1568, "src": "12079:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -25212,7 +25102,7 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 1567, + "id": 1578, "isConstant": false, "isLValue": false, "isPure": true, @@ -25232,20 +25122,20 @@ "typeString": "bool" } }, - "functionReturnParameters": 1565, - "id": 1569, + "functionReturnParameters": 1576, + "id": 1580, "nodeType": "Return", "src": "12072:14:5" } ] }, "documentation": { - "id": 1553, + "id": 1564, "nodeType": "StructuredDocumentation", "src": "11844:66:5", "text": " @dev Check if point is the neutral of the curve" }, - "id": 1571, + "id": 1582, "implemented": true, "kind": "function", "modifiers": [], @@ -25253,17 +25143,17 @@ "nameLocation": "11982:11:5", "nodeType": "FunctionDefinition", "parameters": { - "id": 1562, + "id": 1573, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1555, + "id": 1566, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 1571, + "scope": 1582, "src": "11994:7:5", "stateVariable": false, "storageLocation": "default", @@ -25272,7 +25162,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1554, + "id": 1565, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "11994:7:5", @@ -25285,12 +25175,12 @@ }, { "constant": false, - "id": 1557, + "id": 1568, "mutability": "mutable", "name": "y0", "nameLocation": "12011:2:5", "nodeType": "VariableDeclaration", - "scope": 1571, + "scope": 1582, "src": "12003:10:5", "stateVariable": false, "storageLocation": "default", @@ -25299,7 +25189,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1556, + "id": 1567, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "12003:7:5", @@ -25312,12 +25202,12 @@ }, { "constant": false, - "id": 1559, + "id": 1570, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 1571, + "scope": 1582, "src": "12015:7:5", "stateVariable": false, "storageLocation": "default", @@ -25326,7 +25216,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1558, + "id": 1569, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "12015:7:5", @@ -25339,12 +25229,12 @@ }, { "constant": false, - "id": 1561, + "id": 1572, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 1571, + "scope": 1582, "src": "12024:7:5", "stateVariable": false, "storageLocation": "default", @@ -25353,7 +25243,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1560, + "id": 1571, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "12024:7:5", @@ -25368,17 +25258,17 @@ "src": "11993:39:5" }, "returnParameters": { - "id": 1565, + "id": 1576, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1564, + "id": 1575, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 1571, + "scope": 1582, "src": "12056:4:5", "stateVariable": false, "storageLocation": "default", @@ -25387,7 +25277,7 @@ "typeString": "bool" }, "typeName": { - "id": 1563, + "id": 1574, "name": "bool", "nodeType": "ElementaryTypeName", "src": "12056:4:5", @@ -25401,7 +25291,7 @@ ], "src": "12055:6:5" }, - "scope": 2298, + "scope": 2309, "src": "11973:120:5", "stateMutability": "pure", "virtual": false, @@ -25409,7 +25299,7 @@ }, { "body": { - "id": 1583, + "id": 1594, "nodeType": "Block", "src": "12296:30:5", "statements": [ @@ -25418,7 +25308,7 @@ "components": [ { "hexValue": "30", - "id": 1579, + "id": 1590, "isConstant": false, "isLValue": false, "isPure": true, @@ -25434,7 +25324,7 @@ }, { "hexValue": "30", - "id": 1580, + "id": 1591, "isConstant": false, "isLValue": false, "isPure": true, @@ -25449,7 +25339,7 @@ "value": "0" } ], - "id": 1581, + "id": 1592, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -25462,20 +25352,20 @@ "typeString": "tuple(int_const 0,int_const 0)" } }, - "functionReturnParameters": 1578, - "id": 1582, + "functionReturnParameters": 1589, + "id": 1593, "nodeType": "Return", "src": "12306:13:5" } ] }, "documentation": { - "id": 1572, + "id": 1583, "nodeType": "StructuredDocumentation", "src": "12098:122:5", "text": " @dev Return the zero curve in affine coordinates. Compatible with the double formulae (no special case)" }, - "id": 1584, + "id": 1595, "implemented": true, "kind": "function", "modifiers": [], @@ -25483,23 +25373,23 @@ "nameLocation": "12235:13:5", "nodeType": "FunctionDefinition", "parameters": { - "id": 1573, + "id": 1584, "nodeType": "ParameterList", "parameters": [], "src": "12248:2:5" }, "returnParameters": { - "id": 1578, + "id": 1589, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1575, + "id": 1586, "mutability": "mutable", "name": "x", "nameLocation": "12282:1:5", "nodeType": "VariableDeclaration", - "scope": 1584, + "scope": 1595, "src": "12274:9:5", "stateVariable": false, "storageLocation": "default", @@ -25508,7 +25398,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1574, + "id": 1585, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "12274:7:5", @@ -25521,12 +25411,12 @@ }, { "constant": false, - "id": 1577, + "id": 1588, "mutability": "mutable", "name": "y", "nameLocation": "12293:1:5", "nodeType": "VariableDeclaration", - "scope": 1584, + "scope": 1595, "src": "12285:9:5", "stateVariable": false, "storageLocation": "default", @@ -25535,7 +25425,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1576, + "id": 1587, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "12285:7:5", @@ -25549,7 +25439,7 @@ ], "src": "12273:22:5" }, - "scope": 2298, + "scope": 2309, "src": "12226:100:5", "stateMutability": "pure", "virtual": false, @@ -25557,7 +25447,7 @@ }, { "body": { - "id": 1599, + "id": 1610, "nodeType": "Block", "src": "12517:32:5", "statements": [ @@ -25569,17 +25459,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1596, + "id": 1607, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1594, + "id": 1605, "name": "y", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1589, + "referencedDeclaration": 1600, "src": "12535:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -25590,7 +25480,7 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 1595, + "id": 1606, "isConstant": false, "isLValue": false, "isPure": true, @@ -25611,7 +25501,7 @@ } } ], - "id": 1597, + "id": 1608, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -25624,20 +25514,20 @@ "typeString": "bool" } }, - "functionReturnParameters": 1593, - "id": 1598, + "functionReturnParameters": 1604, + "id": 1609, "nodeType": "Return", "src": "12527:15:5" } ] }, "documentation": { - "id": 1585, + "id": 1596, "nodeType": "StructuredDocumentation", "src": "12332:75:5", "text": " @dev Check if the curve is the zero curve in affine rep." }, - "id": 1600, + "id": 1611, "implemented": true, "kind": "function", "modifiers": [], @@ -25645,17 +25535,17 @@ "nameLocation": "12450:12:5", "nodeType": "FunctionDefinition", "parameters": { - "id": 1590, + "id": 1601, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1587, + "id": 1598, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 1600, + "scope": 1611, "src": "12463:7:5", "stateVariable": false, "storageLocation": "default", @@ -25664,7 +25554,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1586, + "id": 1597, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "12463:7:5", @@ -25677,12 +25567,12 @@ }, { "constant": false, - "id": 1589, + "id": 1600, "mutability": "mutable", "name": "y", "nameLocation": "12480:1:5", "nodeType": "VariableDeclaration", - "scope": 1600, + "scope": 1611, "src": "12472:9:5", "stateVariable": false, "storageLocation": "default", @@ -25691,7 +25581,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1588, + "id": 1599, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "12472:7:5", @@ -25706,17 +25596,17 @@ "src": "12462:20:5" }, "returnParameters": { - "id": 1593, + "id": 1604, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1592, + "id": 1603, "mutability": "mutable", "name": "flag", "nameLocation": "12511:4:5", "nodeType": "VariableDeclaration", - "scope": 1600, + "scope": 1611, "src": "12506:9:5", "stateVariable": false, "storageLocation": "default", @@ -25725,7 +25615,7 @@ "typeString": "bool" }, "typeName": { - "id": 1591, + "id": 1602, "name": "bool", "nodeType": "ElementaryTypeName", "src": "12506:4:5", @@ -25739,7 +25629,7 @@ ], "src": "12505:11:5" }, - "scope": 2298, + "scope": 2309, "src": "12441:108:5", "stateMutability": "pure", "virtual": false, @@ -25747,7 +25637,7 @@ }, { "body": { - "id": 1673, + "id": 1684, "nodeType": "Block", "src": "12760:362:5", "statements": [ @@ -25757,7 +25647,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1627, + "id": 1638, "isConstant": false, "isLValue": false, "isPure": false, @@ -25767,7 +25657,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1616, + "id": 1627, "isConstant": false, "isLValue": false, "isPure": false, @@ -25777,17 +25667,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1612, + "id": 1623, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1610, + "id": 1621, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1603, + "referencedDeclaration": 1614, "src": "12774:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -25797,11 +25687,11 @@ "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { - "id": 1611, + "id": 1622, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "12779:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -25821,17 +25711,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1615, + "id": 1626, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1613, + "id": 1624, "name": "y", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1605, + "referencedDeclaration": 1616, "src": "12784:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -25841,11 +25731,11 @@ "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { - "id": 1614, + "id": 1625, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "12789:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -25873,7 +25763,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1625, + "id": 1636, "isConstant": false, "isLValue": false, "isPure": false, @@ -25885,17 +25775,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1619, + "id": 1630, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1617, + "id": 1628, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1603, + "referencedDeclaration": 1614, "src": "12796:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -25906,7 +25796,7 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 1618, + "id": 1629, "isConstant": false, "isLValue": false, "isPure": true, @@ -25927,7 +25817,7 @@ } } ], - "id": 1620, + "id": 1631, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -25949,17 +25839,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1623, + "id": 1634, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1621, + "id": 1632, "name": "y", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1605, + "referencedDeclaration": 1616, "src": "12808:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -25970,7 +25860,7 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 1622, + "id": 1633, "isConstant": false, "isLValue": false, "isPure": true, @@ -25991,7 +25881,7 @@ } } ], - "id": 1624, + "id": 1635, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -26011,7 +25901,7 @@ } } ], - "id": 1626, + "id": 1637, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -26030,18 +25920,18 @@ "typeString": "bool" } }, - "id": 1631, + "id": 1642, "nodeType": "IfStatement", "src": "12770:85:5", "trueBody": { - "id": 1630, + "id": 1641, "nodeType": "Block", "src": "12818:37:5", "statements": [ { "expression": { "hexValue": "66616c7365", - "id": 1628, + "id": 1639, "isConstant": false, "isLValue": false, "isPure": true, @@ -26055,8 +25945,8 @@ }, "value": "false" }, - "functionReturnParameters": 1609, - "id": 1629, + "functionReturnParameters": 1620, + "id": 1640, "nodeType": "Return", "src": "12832:12:5" } @@ -26064,23 +25954,23 @@ } }, { - "id": 1672, + "id": 1683, "nodeType": "UncheckedBlock", "src": "12864:252:5", "statements": [ { "assignments": [ - 1633 + 1644 ], "declarations": [ { "constant": false, - "id": 1633, + "id": 1644, "mutability": "mutable", "name": "LHS", "nameLocation": "12896:3:5", "nodeType": "VariableDeclaration", - "scope": 1672, + "scope": 1683, "src": "12888:11:5", "stateVariable": false, "storageLocation": "default", @@ -26089,7 +25979,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1632, + "id": 1643, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "12888:7:5", @@ -26101,15 +25991,15 @@ "visibility": "internal" } ], - "id": 1639, + "id": 1650, "initialValue": { "arguments": [ { - "id": 1635, + "id": 1646, "name": "y", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1605, + "referencedDeclaration": 1616, "src": "12909:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26117,11 +26007,11 @@ } }, { - "id": 1636, + "id": 1647, "name": "y", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1605, + "referencedDeclaration": 1616, "src": "12912:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26129,11 +26019,11 @@ } }, { - "id": 1637, + "id": 1648, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "12915:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26156,7 +26046,7 @@ "typeString": "uint256" } ], - "id": 1634, + "id": 1645, "name": "mulmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -26167,7 +26057,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 1638, + "id": 1649, "isConstant": false, "isLValue": false, "isPure": false, @@ -26188,17 +26078,17 @@ }, { "assignments": [ - 1641 + 1652 ], "declarations": [ { "constant": false, - "id": 1641, + "id": 1652, "mutability": "mutable", "name": "RHS", "nameLocation": "12946:3:5", "nodeType": "VariableDeclaration", - "scope": 1672, + "scope": 1683, "src": "12938:11:5", "stateVariable": false, "storageLocation": "default", @@ -26207,7 +26097,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1640, + "id": 1651, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "12938:7:5", @@ -26219,7 +26109,7 @@ "visibility": "internal" } ], - "id": 1659, + "id": 1670, "initialValue": { "arguments": [ { @@ -26227,11 +26117,11 @@ { "arguments": [ { - "id": 1645, + "id": 1656, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1603, + "referencedDeclaration": 1614, "src": "12973:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26239,11 +26129,11 @@ } }, { - "id": 1646, + "id": 1657, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1603, + "referencedDeclaration": 1614, "src": "12976:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26251,11 +26141,11 @@ } }, { - "id": 1647, + "id": 1658, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "12979:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26278,7 +26168,7 @@ "typeString": "uint256" } ], - "id": 1644, + "id": 1655, "name": "mulmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -26289,7 +26179,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 1648, + "id": 1659, "isConstant": false, "isLValue": false, "isPure": false, @@ -26306,11 +26196,11 @@ } }, { - "id": 1649, + "id": 1660, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1603, + "referencedDeclaration": 1614, "src": "12983:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26318,11 +26208,11 @@ } }, { - "id": 1650, + "id": 1661, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "12986:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26345,7 +26235,7 @@ "typeString": "uint256" } ], - "id": 1643, + "id": 1654, "name": "mulmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -26356,7 +26246,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 1651, + "id": 1662, "isConstant": false, "isLValue": false, "isPure": false, @@ -26375,11 +26265,11 @@ { "arguments": [ { - "id": 1653, + "id": 1664, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1603, + "referencedDeclaration": 1614, "src": "12997:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26387,11 +26277,11 @@ } }, { - "id": 1654, + "id": 1665, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 968, + "referencedDeclaration": 979, "src": "13000:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26399,11 +26289,11 @@ } }, { - "id": 1655, + "id": 1666, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "13003:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26426,7 +26316,7 @@ "typeString": "uint256" } ], - "id": 1652, + "id": 1663, "name": "mulmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -26437,7 +26327,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 1656, + "id": 1667, "isConstant": false, "isLValue": false, "isPure": false, @@ -26454,11 +26344,11 @@ } }, { - "id": 1657, + "id": 1668, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "13007:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26481,7 +26371,7 @@ "typeString": "uint256" } ], - "id": 1642, + "id": 1653, "name": "addmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -26492,7 +26382,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 1658, + "id": 1669, "isConstant": false, "isLValue": false, "isPure": false, @@ -26513,17 +26403,17 @@ }, { "expression": { - "id": 1666, + "id": 1677, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 1660, + "id": 1671, "name": "RHS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1641, + "referencedDeclaration": 1652, "src": "13033:3:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26535,11 +26425,11 @@ "rightHandSide": { "arguments": [ { - "id": 1662, + "id": 1673, "name": "RHS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1641, + "referencedDeclaration": 1652, "src": "13046:3:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26547,11 +26437,11 @@ } }, { - "id": 1663, + "id": 1674, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 971, + "referencedDeclaration": 982, "src": "13051:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26559,11 +26449,11 @@ } }, { - "id": 1664, + "id": 1675, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, + "referencedDeclaration": 976, "src": "13054:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26586,7 +26476,7 @@ "typeString": "uint256" } ], - "id": 1661, + "id": 1672, "name": "addmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -26597,7 +26487,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 1665, + "id": 1676, "isConstant": false, "isLValue": false, "isPure": false, @@ -26619,7 +26509,7 @@ "typeString": "uint256" } }, - "id": 1667, + "id": 1678, "nodeType": "ExpressionStatement", "src": "13033:23:5" }, @@ -26629,17 +26519,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1670, + "id": 1681, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1668, + "id": 1679, "name": "LHS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1633, + "referencedDeclaration": 1644, "src": "13095:3:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26649,11 +26539,11 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 1669, + "id": 1680, "name": "RHS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1641, + "referencedDeclaration": 1652, "src": "13102:3:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26666,8 +26556,8 @@ "typeString": "bool" } }, - "functionReturnParameters": 1609, - "id": 1671, + "functionReturnParameters": 1620, + "id": 1682, "nodeType": "Return", "src": "13088:17:5" } @@ -26676,12 +26566,12 @@ ] }, "documentation": { - "id": 1601, + "id": 1612, "nodeType": "StructuredDocumentation", "src": "12555:124:5", "text": " @dev Check if a point in affine coordinates is on the curve (reject Neutral that is indeed on the curve)." }, - "id": 1674, + "id": 1685, "implemented": true, "kind": "function", "modifiers": [], @@ -26689,17 +26579,17 @@ "nameLocation": "12693:15:5", "nodeType": "FunctionDefinition", "parameters": { - "id": 1606, + "id": 1617, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1603, + "id": 1614, "mutability": "mutable", "name": "x", "nameLocation": "12717:1:5", "nodeType": "VariableDeclaration", - "scope": 1674, + "scope": 1685, "src": "12709:9:5", "stateVariable": false, "storageLocation": "default", @@ -26708,7 +26598,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1602, + "id": 1613, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "12709:7:5", @@ -26721,12 +26611,12 @@ }, { "constant": false, - "id": 1605, + "id": 1616, "mutability": "mutable", "name": "y", "nameLocation": "12728:1:5", "nodeType": "VariableDeclaration", - "scope": 1674, + "scope": 1685, "src": "12720:9:5", "stateVariable": false, "storageLocation": "default", @@ -26735,7 +26625,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1604, + "id": 1615, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "12720:7:5", @@ -26750,17 +26640,17 @@ "src": "12708:22:5" }, "returnParameters": { - "id": 1609, + "id": 1620, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1608, + "id": 1619, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 1674, + "scope": 1685, "src": "12754:4:5", "stateVariable": false, "storageLocation": "default", @@ -26769,7 +26659,7 @@ "typeString": "bool" }, "typeName": { - "id": 1607, + "id": 1618, "name": "bool", "nodeType": "ElementaryTypeName", "src": "12754:4:5", @@ -26783,7 +26673,7 @@ ], "src": "12753:6:5" }, - "scope": 2298, + "scope": 2309, "src": "12684:438:5", "stateMutability": "pure", "virtual": false, @@ -26791,23 +26681,23 @@ }, { "body": { - "id": 1761, + "id": 1772, "nodeType": "Block", "src": "13332:391:5", "statements": [ { "assignments": [ - 1691 + 1702 ], "declarations": [ { "constant": false, - "id": 1691, + "id": 1702, "mutability": "mutable", "name": "zz0", "nameLocation": "13350:3:5", "nodeType": "VariableDeclaration", - "scope": 1761, + "scope": 1772, "src": "13342:11:5", "stateVariable": false, "storageLocation": "default", @@ -26816,7 +26706,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1690, + "id": 1701, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "13342:7:5", @@ -26828,23 +26718,23 @@ "visibility": "internal" } ], - "id": 1692, + "id": 1703, "nodeType": "VariableDeclarationStatement", "src": "13342:11:5" }, { "assignments": [ - 1694 + 1705 ], "declarations": [ { "constant": false, - "id": 1694, + "id": 1705, "mutability": "mutable", "name": "zzz0", "nameLocation": "13371:4:5", "nodeType": "VariableDeclaration", - "scope": 1761, + "scope": 1772, "src": "13363:12:5", "stateVariable": false, "storageLocation": "default", @@ -26853,7 +26743,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1693, + "id": 1704, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "13363:7:5", @@ -26865,7 +26755,7 @@ "visibility": "internal" } ], - "id": 1695, + "id": 1706, "nodeType": "VariableDeclarationStatement", "src": "13363:12:5" }, @@ -26873,11 +26763,11 @@ "condition": { "arguments": [ { - "id": 1697, + "id": 1708, "name": "x0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1677, + "referencedDeclaration": 1688, "src": "13403:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26885,11 +26775,11 @@ } }, { - "id": 1698, + "id": 1709, "name": "y0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1679, + "referencedDeclaration": 1690, "src": "13407:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26908,18 +26798,18 @@ "typeString": "uint256" } ], - "id": 1696, + "id": 1707, "name": "ecAff_IsZero", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1600, + "referencedDeclaration": 1611, "src": "13390:12:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint256,uint256) pure returns (bool)" } }, - "id": 1699, + "id": 1710, "isConstant": false, "isLValue": false, "isPure": false, @@ -26935,18 +26825,18 @@ "typeString": "bool" } }, - "id": 1704, + "id": 1715, "nodeType": "IfStatement", "src": "13386:41:5", "trueBody": { "expression": { "components": [ { - "id": 1700, + "id": 1711, "name": "x1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1681, + "referencedDeclaration": 1692, "src": "13420:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26954,11 +26844,11 @@ } }, { - "id": 1701, + "id": 1712, "name": "y1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1683, + "referencedDeclaration": 1694, "src": "13424:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -26966,7 +26856,7 @@ } } ], - "id": 1702, + "id": 1713, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -26979,8 +26869,8 @@ "typeString": "tuple(uint256,uint256)" } }, - "functionReturnParameters": 1689, - "id": 1703, + "functionReturnParameters": 1700, + "id": 1714, "nodeType": "Return", "src": "13412:15:5" } @@ -26989,11 +26879,11 @@ "condition": { "arguments": [ { - "id": 1706, + "id": 1717, "name": "x1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1681, + "referencedDeclaration": 1692, "src": "13454:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27001,11 +26891,11 @@ } }, { - "id": 1707, + "id": 1718, "name": "y1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1683, + "referencedDeclaration": 1694, "src": "13458:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27024,18 +26914,18 @@ "typeString": "uint256" } ], - "id": 1705, + "id": 1716, "name": "ecAff_IsZero", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1600, + "referencedDeclaration": 1611, "src": "13441:12:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint256,uint256) pure returns (bool)" } }, - "id": 1708, + "id": 1719, "isConstant": false, "isLValue": false, "isPure": false, @@ -27051,18 +26941,18 @@ "typeString": "bool" } }, - "id": 1713, + "id": 1724, "nodeType": "IfStatement", "src": "13437:41:5", "trueBody": { "expression": { "components": [ { - "id": 1709, + "id": 1720, "name": "x0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1677, + "referencedDeclaration": 1688, "src": "13471:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27070,11 +26960,11 @@ } }, { - "id": 1710, + "id": 1721, "name": "y0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1679, + "referencedDeclaration": 1690, "src": "13475:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27082,7 +26972,7 @@ } } ], - "id": 1711, + "id": 1722, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -27095,8 +26985,8 @@ "typeString": "tuple(uint256,uint256)" } }, - "functionReturnParameters": 1689, - "id": 1712, + "functionReturnParameters": 1700, + "id": 1723, "nodeType": "Return", "src": "13463:15:5" } @@ -27107,7 +26997,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1722, + "id": 1733, "isConstant": false, "isLValue": false, "isPure": false, @@ -27119,17 +27009,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1716, + "id": 1727, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1714, + "id": 1725, "name": "x0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1677, + "referencedDeclaration": 1688, "src": "13492:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27139,11 +27029,11 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 1715, + "id": 1726, "name": "x1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1681, + "referencedDeclaration": 1692, "src": "13496:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27157,7 +27047,7 @@ } } ], - "id": 1717, + "id": 1728, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -27179,17 +27069,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1720, + "id": 1731, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1718, + "id": 1729, "name": "y0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1679, + "referencedDeclaration": 1690, "src": "13502:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27199,11 +27089,11 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 1719, + "id": 1730, "name": "y1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1683, + "referencedDeclaration": 1694, "src": "13506:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27217,7 +27107,7 @@ } } ], - "id": 1721, + "id": 1732, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -27237,13 +27127,13 @@ } }, "falseBody": { - "id": 1752, + "id": 1763, "nodeType": "Block", "src": "13591:78:5", "statements": [ { "expression": { - "id": 1750, + "id": 1761, "isConstant": false, "isLValue": false, "isPure": false, @@ -27251,11 +27141,11 @@ "leftHandSide": { "components": [ { - "id": 1737, + "id": 1748, "name": "x0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1677, + "referencedDeclaration": 1688, "src": "13606:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27263,11 +27153,11 @@ } }, { - "id": 1738, + "id": 1749, "name": "y0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1679, + "referencedDeclaration": 1690, "src": "13610:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27275,11 +27165,11 @@ } }, { - "id": 1739, + "id": 1750, "name": "zz0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1691, + "referencedDeclaration": 1702, "src": "13614:3:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27287,11 +27177,11 @@ } }, { - "id": 1740, + "id": 1751, "name": "zzz0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1694, + "referencedDeclaration": 1705, "src": "13619:4:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27299,7 +27189,7 @@ } } ], - "id": 1741, + "id": 1752, "isConstant": false, "isInlineArray": false, "isLValue": true, @@ -27317,11 +27207,11 @@ "rightHandSide": { "arguments": [ { - "id": 1743, + "id": 1754, "name": "x0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1677, + "referencedDeclaration": 1688, "src": "13637:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27329,11 +27219,11 @@ } }, { - "id": 1744, + "id": 1755, "name": "y0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1679, + "referencedDeclaration": 1690, "src": "13641:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27342,7 +27232,7 @@ }, { "hexValue": "31", - "id": 1745, + "id": 1756, "isConstant": false, "isLValue": false, "isPure": true, @@ -27358,7 +27248,7 @@ }, { "hexValue": "31", - "id": 1746, + "id": 1757, "isConstant": false, "isLValue": false, "isPure": true, @@ -27373,11 +27263,11 @@ "value": "1" }, { - "id": 1747, + "id": 1758, "name": "x1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1681, + "referencedDeclaration": 1692, "src": "13651:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27385,11 +27275,11 @@ } }, { - "id": 1748, + "id": 1759, "name": "y1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1683, + "referencedDeclaration": 1694, "src": "13655:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27424,18 +27314,18 @@ "typeString": "uint256" } ], - "id": 1742, + "id": 1753, "name": "ecZZ_AddN", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1533, + "referencedDeclaration": 1544, "src": "13627:9:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", "typeString": "function (uint256,uint256,uint256,uint256,uint256,uint256) pure returns (uint256,uint256,uint256,uint256)" } }, - "id": 1749, + "id": 1760, "isConstant": false, "isLValue": false, "isPure": false, @@ -27457,23 +27347,23 @@ "typeString": "tuple()" } }, - "id": 1751, + "id": 1762, "nodeType": "ExpressionStatement", "src": "13605:53:5" } ] }, - "id": 1753, + "id": 1764, "nodeType": "IfStatement", "src": "13488:181:5", "trueBody": { - "id": 1736, + "id": 1747, "nodeType": "Block", "src": "13511:67:5", "statements": [ { "expression": { - "id": 1734, + "id": 1745, "isConstant": false, "isLValue": false, "isPure": false, @@ -27481,11 +27371,11 @@ "leftHandSide": { "components": [ { - "id": 1723, + "id": 1734, "name": "x0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1677, + "referencedDeclaration": 1688, "src": "13526:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27493,11 +27383,11 @@ } }, { - "id": 1724, + "id": 1735, "name": "y0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1679, + "referencedDeclaration": 1690, "src": "13530:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27505,11 +27395,11 @@ } }, { - "id": 1725, + "id": 1736, "name": "zz0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1691, + "referencedDeclaration": 1702, "src": "13534:3:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27517,11 +27407,11 @@ } }, { - "id": 1726, + "id": 1737, "name": "zzz0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1694, + "referencedDeclaration": 1705, "src": "13539:4:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27529,7 +27419,7 @@ } } ], - "id": 1727, + "id": 1738, "isConstant": false, "isInlineArray": false, "isLValue": true, @@ -27547,11 +27437,11 @@ "rightHandSide": { "arguments": [ { - "id": 1729, + "id": 1740, "name": "x0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1677, + "referencedDeclaration": 1688, "src": "13556:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27559,11 +27449,11 @@ } }, { - "id": 1730, + "id": 1741, "name": "y0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1679, + "referencedDeclaration": 1690, "src": "13560:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27572,7 +27462,7 @@ }, { "hexValue": "31", - "id": 1731, + "id": 1742, "isConstant": false, "isLValue": false, "isPure": true, @@ -27588,7 +27478,7 @@ }, { "hexValue": "31", - "id": 1732, + "id": 1743, "isConstant": false, "isLValue": false, "isPure": true, @@ -27622,18 +27512,18 @@ "typeString": "int_const 1" } ], - "id": 1728, + "id": 1739, "name": "ecZZ_Dbl", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1489, + "referencedDeclaration": 1500, "src": "13547:8:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256,uint256,uint256,uint256)" } }, - "id": 1733, + "id": 1744, "isConstant": false, "isLValue": false, "isPure": false, @@ -27655,7 +27545,7 @@ "typeString": "tuple()" } }, - "id": 1735, + "id": 1746, "nodeType": "ExpressionStatement", "src": "13525:42:5" } @@ -27666,11 +27556,11 @@ "expression": { "arguments": [ { - "id": 1755, + "id": 1766, "name": "x0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1677, + "referencedDeclaration": 1688, "src": "13698:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27678,11 +27568,11 @@ } }, { - "id": 1756, + "id": 1767, "name": "y0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1679, + "referencedDeclaration": 1690, "src": "13702:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27690,11 +27580,11 @@ } }, { - "id": 1757, + "id": 1768, "name": "zz0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1691, + "referencedDeclaration": 1702, "src": "13706:3:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27702,11 +27592,11 @@ } }, { - "id": 1758, + "id": 1769, "name": "zzz0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1694, + "referencedDeclaration": 1705, "src": "13711:4:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27733,18 +27623,18 @@ "typeString": "uint256" } ], - "id": 1754, + "id": 1765, "name": "ecZZ_SetAff", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1460, + "referencedDeclaration": 1471, "src": "13686:11:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", "typeString": "function (uint256,uint256,uint256,uint256) view returns (uint256,uint256)" } }, - "id": 1759, + "id": 1770, "isConstant": false, "isLValue": false, "isPure": false, @@ -27760,20 +27650,20 @@ "typeString": "tuple(uint256,uint256)" } }, - "functionReturnParameters": 1689, - "id": 1760, + "functionReturnParameters": 1700, + "id": 1771, "nodeType": "Return", "src": "13679:37:5" } ] }, "documentation": { - "id": 1675, + "id": 1686, "nodeType": "StructuredDocumentation", "src": "13128:90:5", "text": " @dev Add two elliptic curve points in affine coordinates. Deal with P=Q" }, - "id": 1762, + "id": 1773, "implemented": true, "kind": "function", "modifiers": [], @@ -27781,17 +27671,17 @@ "nameLocation": "13233:9:5", "nodeType": "FunctionDefinition", "parameters": { - "id": 1684, + "id": 1695, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1677, + "id": 1688, "mutability": "mutable", "name": "x0", "nameLocation": "13251:2:5", "nodeType": "VariableDeclaration", - "scope": 1762, + "scope": 1773, "src": "13243:10:5", "stateVariable": false, "storageLocation": "default", @@ -27800,7 +27690,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1676, + "id": 1687, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "13243:7:5", @@ -27813,12 +27703,12 @@ }, { "constant": false, - "id": 1679, + "id": 1690, "mutability": "mutable", "name": "y0", "nameLocation": "13263:2:5", "nodeType": "VariableDeclaration", - "scope": 1762, + "scope": 1773, "src": "13255:10:5", "stateVariable": false, "storageLocation": "default", @@ -27827,7 +27717,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1678, + "id": 1689, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "13255:7:5", @@ -27840,12 +27730,12 @@ }, { "constant": false, - "id": 1681, + "id": 1692, "mutability": "mutable", "name": "x1", "nameLocation": "13275:2:5", "nodeType": "VariableDeclaration", - "scope": 1762, + "scope": 1773, "src": "13267:10:5", "stateVariable": false, "storageLocation": "default", @@ -27854,7 +27744,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1680, + "id": 1691, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "13267:7:5", @@ -27867,12 +27757,12 @@ }, { "constant": false, - "id": 1683, + "id": 1694, "mutability": "mutable", "name": "y1", "nameLocation": "13287:2:5", "nodeType": "VariableDeclaration", - "scope": 1762, + "scope": 1773, "src": "13279:10:5", "stateVariable": false, "storageLocation": "default", @@ -27881,7 +27771,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1682, + "id": 1693, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "13279:7:5", @@ -27896,17 +27786,17 @@ "src": "13242:48:5" }, "returnParameters": { - "id": 1689, + "id": 1700, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1686, + "id": 1697, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 1762, + "scope": 1773, "src": "13314:7:5", "stateVariable": false, "storageLocation": "default", @@ -27915,7 +27805,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1685, + "id": 1696, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "13314:7:5", @@ -27928,12 +27818,12 @@ }, { "constant": false, - "id": 1688, + "id": 1699, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 1762, + "scope": 1773, "src": "13323:7:5", "stateVariable": false, "storageLocation": "default", @@ -27942,7 +27832,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1687, + "id": 1698, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "13323:7:5", @@ -27956,7 +27846,7 @@ ], "src": "13313:18:5" }, - "scope": 2298, + "scope": 2309, "src": "13224:499:5", "stateMutability": "view", "virtual": false, @@ -27964,23 +27854,23 @@ }, { "body": { - "id": 1855, + "id": 1866, "nodeType": "Block", "src": "14088:6394:5", "statements": [ { "assignments": [ - 1777 + 1788 ], "declarations": [ { "constant": false, - "id": 1777, + "id": 1788, "mutability": "mutable", "name": "zz", "nameLocation": "14106:2:5", "nodeType": "VariableDeclaration", - "scope": 1855, + "scope": 1866, "src": "14098:10:5", "stateVariable": false, "storageLocation": "default", @@ -27989,7 +27879,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1776, + "id": 1787, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "14098:7:5", @@ -28001,23 +27891,23 @@ "visibility": "internal" } ], - "id": 1778, + "id": 1789, "nodeType": "VariableDeclarationStatement", "src": "14098:10:5" }, { "assignments": [ - 1780 + 1791 ], "declarations": [ { "constant": false, - "id": 1780, + "id": 1791, "mutability": "mutable", "name": "zzz", "nameLocation": "14126:3:5", "nodeType": "VariableDeclaration", - "scope": 1855, + "scope": 1866, "src": "14118:11:5", "stateVariable": false, "storageLocation": "default", @@ -28026,7 +27916,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1779, + "id": 1790, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "14118:7:5", @@ -28038,23 +27928,23 @@ "visibility": "internal" } ], - "id": 1781, + "id": 1792, "nodeType": "VariableDeclarationStatement", "src": "14118:11:5" }, { "assignments": [ - 1783 + 1794 ], "declarations": [ { "constant": false, - "id": 1783, + "id": 1794, "mutability": "mutable", "name": "Y", "nameLocation": "14147:1:5", "nodeType": "VariableDeclaration", - "scope": 1855, + "scope": 1866, "src": "14139:9:5", "stateVariable": false, "storageLocation": "default", @@ -28063,7 +27953,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1782, + "id": 1793, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "14139:7:5", @@ -28075,23 +27965,23 @@ "visibility": "internal" } ], - "id": 1784, + "id": 1795, "nodeType": "VariableDeclarationStatement", "src": "14139:9:5" }, { "assignments": [ - 1786 + 1797 ], "declarations": [ { "constant": false, - "id": 1786, + "id": 1797, "mutability": "mutable", "name": "index", "nameLocation": "14166:5:5", "nodeType": "VariableDeclaration", - "scope": 1855, + "scope": 1866, "src": "14158:13:5", "stateVariable": false, "storageLocation": "default", @@ -28100,7 +27990,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1785, + "id": 1796, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "14158:7:5", @@ -28112,10 +28002,10 @@ "visibility": "internal" } ], - "id": 1788, + "id": 1799, "initialValue": { "hexValue": "323535", - "id": 1787, + "id": 1798, "isConstant": false, "isLValue": false, "isPure": true, @@ -28134,17 +28024,17 @@ }, { "assignments": [ - 1790 + 1801 ], "declarations": [ { "constant": false, - "id": 1790, + "id": 1801, "mutability": "mutable", "name": "H0", "nameLocation": "14195:2:5", "nodeType": "VariableDeclaration", - "scope": 1855, + "scope": 1866, "src": "14187:10:5", "stateVariable": false, "storageLocation": "default", @@ -28153,7 +28043,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1789, + "id": 1800, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "14187:7:5", @@ -28165,23 +28055,23 @@ "visibility": "internal" } ], - "id": 1791, + "id": 1802, "nodeType": "VariableDeclarationStatement", "src": "14187:10:5" }, { "assignments": [ - 1793 + 1804 ], "declarations": [ { "constant": false, - "id": 1793, + "id": 1804, "mutability": "mutable", "name": "H1", "nameLocation": "14215:2:5", "nodeType": "VariableDeclaration", - "scope": 1855, + "scope": 1866, "src": "14207:10:5", "stateVariable": false, "storageLocation": "default", @@ -28190,7 +28080,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1792, + "id": 1803, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "14207:7:5", @@ -28202,12 +28092,12 @@ "visibility": "internal" } ], - "id": 1794, + "id": 1805, "nodeType": "VariableDeclarationStatement", "src": "14207:10:5" }, { - "id": 1852, + "id": 1863, "nodeType": "UncheckedBlock", "src": "14228:6213:5", "statements": [ @@ -28217,7 +28107,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1801, + "id": 1812, "isConstant": false, "isLValue": false, "isPure": false, @@ -28227,17 +28117,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1797, + "id": 1808, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1795, + "id": 1806, "name": "scalar_u", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1769, + "referencedDeclaration": 1780, "src": "14256:8:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28248,7 +28138,7 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 1796, + "id": 1807, "isConstant": false, "isLValue": false, "isPure": true, @@ -28275,17 +28165,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1800, + "id": 1811, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1798, + "id": 1809, "name": "scalar_v", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1771, + "referencedDeclaration": 1782, "src": "14273:8:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28296,7 +28186,7 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 1799, + "id": 1810, "isConstant": false, "isLValue": false, "isPure": true, @@ -28322,13 +28212,13 @@ "typeString": "bool" } }, - "id": 1804, + "id": 1815, "nodeType": "IfStatement", "src": "14252:44:5", "trueBody": { "expression": { "hexValue": "30", - "id": 1802, + "id": 1813, "isConstant": false, "isLValue": false, "isPure": true, @@ -28342,15 +28232,15 @@ }, "value": "0" }, - "functionReturnParameters": 1775, - "id": 1803, + "functionReturnParameters": 1786, + "id": 1814, "nodeType": "Return", "src": "14288:8:5" } }, { "expression": { - "id": 1814, + "id": 1825, "isConstant": false, "isLValue": false, "isPure": false, @@ -28358,11 +28248,11 @@ "leftHandSide": { "components": [ { - "id": 1805, + "id": 1816, "name": "H0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1790, + "referencedDeclaration": 1801, "src": "14312:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28370,11 +28260,11 @@ } }, { - "id": 1806, + "id": 1817, "name": "H1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1793, + "referencedDeclaration": 1804, "src": "14316:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28382,7 +28272,7 @@ } } ], - "id": 1807, + "id": 1818, "isConstant": false, "isInlineArray": false, "isLValue": true, @@ -28400,11 +28290,11 @@ "rightHandSide": { "arguments": [ { - "id": 1809, + "id": 1820, "name": "gx", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 974, + "referencedDeclaration": 985, "src": "14332:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28412,11 +28302,11 @@ } }, { - "id": 1810, + "id": 1821, "name": "gy", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 977, + "referencedDeclaration": 988, "src": "14336:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28424,11 +28314,11 @@ } }, { - "id": 1811, + "id": 1822, "name": "Q0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1765, + "referencedDeclaration": 1776, "src": "14340:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28436,11 +28326,11 @@ } }, { - "id": 1812, + "id": 1823, "name": "Q1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1767, + "referencedDeclaration": 1778, "src": "14344:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28467,18 +28357,18 @@ "typeString": "uint256" } ], - "id": 1808, + "id": 1819, "name": "ecAff_add", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1762, + "referencedDeclaration": 1773, "src": "14322:9:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", "typeString": "function (uint256,uint256,uint256,uint256) view returns (uint256,uint256)" } }, - "id": 1813, + "id": 1824, "isConstant": false, "isLValue": false, "isPure": false, @@ -28500,7 +28390,7 @@ "typeString": "tuple()" } }, - "id": 1815, + "id": 1826, "nodeType": "ExpressionStatement", "src": "14311:36:5" }, @@ -28510,7 +28400,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1824, + "id": 1835, "isConstant": false, "isLValue": false, "isPure": false, @@ -28522,17 +28412,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1818, + "id": 1829, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1816, + "id": 1827, "name": "H0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1790, + "referencedDeclaration": 1801, "src": "14366:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28543,7 +28433,7 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 1817, + "id": 1828, "isConstant": false, "isLValue": false, "isPure": true, @@ -28564,7 +28454,7 @@ } } ], - "id": 1819, + "id": 1830, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -28586,17 +28476,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1822, + "id": 1833, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1820, + "id": 1831, "name": "H1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1793, + "referencedDeclaration": 1804, "src": "14375:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28607,7 +28497,7 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 1821, + "id": 1832, "isConstant": false, "isLValue": false, "isPure": true, @@ -28628,7 +28518,7 @@ } } ], - "id": 1823, + "id": 1834, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -28647,27 +28537,27 @@ "typeString": "bool" } }, - "id": 1850, + "id": 1861, "nodeType": "IfStatement", "src": "14362:211:5", "trueBody": { - "id": 1849, + "id": 1860, "nodeType": "Block", "src": "14410:163:5", "statements": [ { "expression": { - "id": 1833, + "id": 1844, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 1825, + "id": 1836, "name": "scalar_u", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1769, + "referencedDeclaration": 1780, "src": "14428:8:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28679,11 +28569,11 @@ "rightHandSide": { "arguments": [ { - "id": 1827, + "id": 1838, "name": "scalar_u", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1769, + "referencedDeclaration": 1780, "src": "14444:8:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28695,17 +28585,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1830, + "id": 1841, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1828, + "id": 1839, "name": "n", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 980, + "referencedDeclaration": 991, "src": "14454:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28715,11 +28605,11 @@ "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { - "id": 1829, + "id": 1840, "name": "scalar_v", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1771, + "referencedDeclaration": 1782, "src": "14456:8:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28733,11 +28623,11 @@ } }, { - "id": 1831, + "id": 1842, "name": "n", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 980, + "referencedDeclaration": 991, "src": "14466:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28760,7 +28650,7 @@ "typeString": "uint256" } ], - "id": 1826, + "id": 1837, "name": "addmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -28771,7 +28661,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 1832, + "id": 1843, "isConstant": false, "isLValue": false, "isPure": false, @@ -28793,23 +28683,23 @@ "typeString": "uint256" } }, - "id": 1834, + "id": 1845, "nodeType": "ExpressionStatement", "src": "14428:40:5" }, { "expression": { - "id": 1837, + "id": 1848, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 1835, + "id": 1846, "name": "scalar_v", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1771, + "referencedDeclaration": 1782, "src": "14486:8:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28820,7 +28710,7 @@ "operator": "=", "rightHandSide": { "hexValue": "30", - "id": 1836, + "id": 1847, "isConstant": false, "isLValue": false, "isPure": true, @@ -28840,7 +28730,7 @@ "typeString": "uint256" } }, - "id": 1838, + "id": 1849, "nodeType": "ExpressionStatement", "src": "14486:10:5" }, @@ -28850,7 +28740,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1845, + "id": 1856, "isConstant": false, "isLValue": false, "isPure": false, @@ -28860,17 +28750,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1841, + "id": 1852, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1839, + "id": 1850, "name": "scalar_u", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1769, + "referencedDeclaration": 1780, "src": "14518:8:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28881,7 +28771,7 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 1840, + "id": 1851, "isConstant": false, "isLValue": false, "isPure": true, @@ -28908,17 +28798,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1844, + "id": 1855, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1842, + "id": 1853, "name": "scalar_v", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1771, + "referencedDeclaration": 1782, "src": "14535:8:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -28929,7 +28819,7 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 1843, + "id": 1854, "isConstant": false, "isLValue": false, "isPure": true, @@ -28955,13 +28845,13 @@ "typeString": "bool" } }, - "id": 1848, + "id": 1859, "nodeType": "IfStatement", "src": "14514:44:5", "trueBody": { "expression": { "hexValue": "30", - "id": 1846, + "id": 1857, "isConstant": false, "isLValue": false, "isPure": true, @@ -28975,8 +28865,8 @@ }, "value": "0" }, - "functionReturnParameters": 1775, - "id": 1847, + "functionReturnParameters": 1786, + "id": 1858, "nodeType": "Return", "src": "14550:8:5" } @@ -33064,1155 +32954,1155 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 1790, + "declaration": 1801, "isOffset": false, "isSlot": false, "src": "15238:2:5", "valueSize": 1 }, { - "declaration": 1790, + "declaration": 1801, "isOffset": false, "isSlot": false, "src": "16968:2:5", "valueSize": 1 }, { - "declaration": 1793, + "declaration": 1804, "isOffset": false, "isSlot": false, "src": "15266:2:5", "valueSize": 1 }, { - "declaration": 1793, + "declaration": 1804, "isOffset": false, "isSlot": false, "src": "17005:2:5", "valueSize": 1 }, { - "declaration": 1765, + "declaration": 1776, "isOffset": false, "isSlot": false, "src": "15133:2:5", "valueSize": 1 }, { - "declaration": 1765, + "declaration": 1776, "isOffset": false, "isSlot": false, "src": "16829:2:5", "valueSize": 1 }, { - "declaration": 1767, + "declaration": 1778, "isOffset": false, "isSlot": false, "src": "15161:2:5", "valueSize": 1 }, { - "declaration": 1767, + "declaration": 1778, "isOffset": false, "isSlot": false, "src": "16866:2:5", "valueSize": 1 }, { - "declaration": 1774, + "declaration": 1785, "isOffset": false, "isSlot": false, "src": "15023:1:5", "valueSize": 1 }, { - "declaration": 1774, + "declaration": 1785, "isOffset": false, "isSlot": false, "src": "15128:1:5", "valueSize": 1 }, { - "declaration": 1774, + "declaration": 1785, "isOffset": false, "isSlot": false, "src": "15233:1:5", "valueSize": 1 }, { - "declaration": 1774, + "declaration": 1785, "isOffset": false, "isSlot": false, "src": "15647:1:5", "valueSize": 1 }, { - "declaration": 1774, + "declaration": 1785, "isOffset": false, "isSlot": false, "src": "15775:1:5", "valueSize": 1 }, { - "declaration": 1774, + "declaration": 1785, "isOffset": false, "isSlot": false, "src": "15801:1:5", "valueSize": 1 }, { - "declaration": 1774, + "declaration": 1785, "isOffset": false, "isSlot": false, "src": "15988:1:5", "valueSize": 1 }, { - "declaration": 1774, + "declaration": 1785, "isOffset": false, "isSlot": false, "src": "16102:1:5", "valueSize": 1 }, { - "declaration": 1774, + "declaration": 1785, "isOffset": false, "isSlot": false, "src": "17102:1:5", "valueSize": 1 }, { - "declaration": 1774, + "declaration": 1785, "isOffset": false, "isSlot": false, "src": "17534:1:5", "valueSize": 1 }, { - "declaration": 1774, + "declaration": 1785, "isOffset": false, "isSlot": false, "src": "18004:1:5", "valueSize": 1 }, { - "declaration": 1774, + "declaration": 1785, "isOffset": false, "isSlot": false, "src": "18143:1:5", "valueSize": 1 }, { - "declaration": 1774, + "declaration": 1785, "isOffset": false, "isSlot": false, "src": "18161:1:5", "valueSize": 1 }, { - "declaration": 1774, + "declaration": 1785, "isOffset": false, "isSlot": false, "src": "18454:1:5", "valueSize": 1 }, { - "declaration": 1774, + "declaration": 1785, "isOffset": false, "isSlot": false, "src": "18591:1:5", "valueSize": 1 }, { - "declaration": 1774, + "declaration": 1785, "isOffset": false, "isSlot": false, "src": "19127:1:5", "valueSize": 1 }, { - "declaration": 1774, + "declaration": 1785, "isOffset": false, "isSlot": false, "src": "19371:1:5", "valueSize": 1 }, { - "declaration": 1774, + "declaration": 1785, "isOffset": false, "isSlot": false, "src": "20368:1:5", "valueSize": 1 }, { - "declaration": 1774, + "declaration": 1785, "isOffset": false, "isSlot": false, "src": "20380:1:5", "valueSize": 1 }, { - "declaration": 1783, + "declaration": 1794, "isOffset": false, "isSlot": false, "src": "15051:1:5", "valueSize": 1 }, { - "declaration": 1783, + "declaration": 1794, "isOffset": false, "isSlot": false, "src": "15156:1:5", "valueSize": 1 }, { - "declaration": 1783, + "declaration": 1794, "isOffset": false, "isSlot": false, "src": "15261:1:5", "valueSize": 1 }, { - "declaration": 1783, + "declaration": 1794, "isOffset": false, "isSlot": false, "src": "15528:1:5", "valueSize": 1 }, { - "declaration": 1783, + "declaration": 1794, "isOffset": false, "isSlot": false, "src": "16163:1:5", "valueSize": 1 }, { - "declaration": 1783, + "declaration": 1794, "isOffset": false, "isSlot": false, "src": "16186:1:5", "valueSize": 1 }, { - "declaration": 1783, + "declaration": 1794, "isOffset": false, "isSlot": false, "src": "16499:1:5", "valueSize": 1 }, { - "declaration": 1783, + "declaration": 1794, "isOffset": false, "isSlot": false, "src": "16511:1:5", "valueSize": 1 }, { - "declaration": 1783, + "declaration": 1794, "isOffset": false, "isSlot": false, "src": "17138:1:5", "valueSize": 1 }, { - "declaration": 1783, + "declaration": 1794, "isOffset": false, "isSlot": false, "src": "17461:1:5", "valueSize": 1 }, { - "declaration": 1783, + "declaration": 1794, "isOffset": false, "isSlot": false, "src": "17869:1:5", "valueSize": 1 }, { - "declaration": 1783, + "declaration": 1794, "isOffset": false, "isSlot": false, "src": "18645:1:5", "valueSize": 1 }, { - "declaration": 1783, + "declaration": 1794, "isOffset": false, "isSlot": false, "src": "18672:1:5", "valueSize": 1 }, { - "declaration": 1783, + "declaration": 1794, "isOffset": false, "isSlot": false, "src": "19269:1:5", "valueSize": 1 }, { - "declaration": 1783, + "declaration": 1794, "isOffset": false, "isSlot": false, "src": "19331:1:5", "valueSize": 1 }, { - "declaration": 974, + "declaration": 985, "isOffset": false, "isSlot": false, "src": "15028:2:5", "valueSize": 1 }, { - "declaration": 974, + "declaration": 985, "isOffset": false, "isSlot": false, "src": "16690:2:5", "valueSize": 1 }, { - "declaration": 977, + "declaration": 988, "isOffset": false, "isSlot": false, "src": "15056:2:5", "valueSize": 1 }, { - "declaration": 977, + "declaration": 988, "isOffset": false, "isSlot": false, "src": "16727:2:5", "valueSize": 1 }, { - "declaration": 1786, + "declaration": 1797, "isOffset": false, "isSlot": false, "src": "14648:5:5", "valueSize": 1 }, { - "declaration": 1786, + "declaration": 1797, "isOffset": false, "isSlot": false, "src": "14679:5:5", "valueSize": 1 }, { - "declaration": 1786, + "declaration": 1797, "isOffset": false, "isSlot": false, "src": "14735:5:5", "valueSize": 1 }, { - "declaration": 1786, + "declaration": 1797, "isOffset": false, "isSlot": false, "src": "14748:5:5", "valueSize": 1 }, { - "declaration": 1786, + "declaration": 1797, "isOffset": false, "isSlot": false, "src": "14803:5:5", "valueSize": 1 }, { - "declaration": 1786, + "declaration": 1797, "isOffset": false, "isSlot": false, "src": "14834:5:5", "valueSize": 1 }, { - "declaration": 1786, + "declaration": 1797, "isOffset": false, "isSlot": false, "src": "14918:5:5", "valueSize": 1 }, { - "declaration": 1786, + "declaration": 1797, "isOffset": false, "isSlot": false, "src": "14949:5:5", "valueSize": 1 }, { - "declaration": 1786, + "declaration": 1797, "isOffset": false, "isSlot": false, "src": "15304:5:5", "valueSize": 1 }, { - "declaration": 1786, + "declaration": 1797, "isOffset": false, "isSlot": false, "src": "15317:5:5", "valueSize": 1 }, { - "declaration": 1786, + "declaration": 1797, "isOffset": false, "isSlot": false, "src": "15412:5:5", "valueSize": 1 }, { - "declaration": 1786, + "declaration": 1797, "isOffset": false, "isSlot": false, "src": "15421:5:5", "valueSize": 1 }, { - "declaration": 1786, + "declaration": 1797, "isOffset": false, "isSlot": false, "src": "15434:5:5", "valueSize": 1 }, { - "declaration": 1786, + "declaration": 1797, "isOffset": false, "isSlot": false, "src": "16377:5:5", "valueSize": 1 }, { - "declaration": 1786, + "declaration": 1797, "isOffset": false, "isSlot": false, "src": "16408:5:5", "valueSize": 1 }, { - "declaration": 989, + "declaration": 1000, "isOffset": false, "isSlot": false, "src": "15403:7:5", "valueSize": 1 }, { - "declaration": 983, + "declaration": 994, "isOffset": false, "isSlot": false, "src": "16026:7:5", "valueSize": 1 }, { - "declaration": 983, + "declaration": 994, "isOffset": false, "isSlot": false, "src": "17860:7:5", "valueSize": 1 }, { - "declaration": 983, + "declaration": 994, "isOffset": false, "isSlot": false, "src": "18492:7:5", "valueSize": 1 }, { - "declaration": 983, + "declaration": 994, "isOffset": false, "isSlot": false, "src": "19224:7:5", "valueSize": 1 }, { - "declaration": 983, + "declaration": 994, "isOffset": false, "isSlot": false, "src": "20009:7:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "15531:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "15598:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "15654:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "15710:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "15782:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "15790:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "15808:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "15812:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "15816:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "15886:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "15944:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "16015:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "16039:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "16043:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "16109:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "16117:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "16121:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "16189:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "16197:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "16508:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "17457:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "17464:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "17523:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "17531:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "17538:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "17872:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "17947:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "18011:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "18080:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "18150:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "18168:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "18176:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "18180:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "18250:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "18328:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "18398:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "18481:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "18505:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "18509:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "18588:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "18595:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "18599:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "18675:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "18679:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "18845:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "18903:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "19019:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "19070:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "19134:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "19196:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "19204:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "19213:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "19238:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "19242:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "19304:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "19312:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "19320:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "19339:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "19343:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "20055:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "20393:1:5", "valueSize": 1 }, { - "declaration": 1769, + "declaration": 1780, "isOffset": false, "isSlot": false, "src": "14686:8:5", "valueSize": 1 }, { - "declaration": 1769, + "declaration": 1780, "isOffset": false, "isSlot": false, "src": "14841:8:5", "valueSize": 1 }, { - "declaration": 1769, + "declaration": 1780, "isOffset": false, "isSlot": false, "src": "14956:8:5", "valueSize": 1 }, { - "declaration": 1769, + "declaration": 1780, "isOffset": false, "isSlot": false, "src": "16415:8:5", "valueSize": 1 }, { - "declaration": 1771, + "declaration": 1782, "isOffset": false, "isSlot": false, "src": "14655:8:5", "valueSize": 1 }, { - "declaration": 1771, + "declaration": 1782, "isOffset": false, "isSlot": false, "src": "14810:8:5", "valueSize": 1 }, { - "declaration": 1771, + "declaration": 1782, "isOffset": false, "isSlot": false, "src": "14925:8:5", "valueSize": 1 }, { - "declaration": 1771, + "declaration": 1782, "isOffset": false, "isSlot": false, "src": "16384:8:5", "valueSize": 1 }, { - "declaration": 1777, + "declaration": 1788, "isOffset": false, "isSlot": false, "src": "14893:2:5", "valueSize": 1 }, { - "declaration": 1777, + "declaration": 1788, "isOffset": false, "isSlot": false, "src": "14994:2:5", "valueSize": 1 }, { - "declaration": 1777, + "declaration": 1788, "isOffset": false, "isSlot": false, "src": "15099:2:5", "valueSize": 1 }, { - "declaration": 1777, + "declaration": 1788, "isOffset": false, "isSlot": false, "src": "15204:2:5", "valueSize": 1 }, { - "declaration": 1777, + "declaration": 1788, "isOffset": false, "isSlot": false, "src": "15343:2:5", "valueSize": 1 }, { - "declaration": 1777, + "declaration": 1788, "isOffset": false, "isSlot": false, "src": "15785:2:5", "valueSize": 1 }, { - "declaration": 1777, + "declaration": 1788, "isOffset": false, "isSlot": false, "src": "15804:2:5", "valueSize": 1 }, { - "declaration": 1777, + "declaration": 1788, "isOffset": false, "isSlot": false, "src": "15923:2:5", "valueSize": 1 }, { - "declaration": 1777, + "declaration": 1788, "isOffset": false, "isSlot": false, "src": "15940:2:5", "valueSize": 1 }, { - "declaration": 1777, + "declaration": 1788, "isOffset": false, "isSlot": false, "src": "17068:2:5", "valueSize": 1 }, { - "declaration": 1777, + "declaration": 1788, "isOffset": false, "isSlot": false, "src": "17174:2:5", "valueSize": 1 }, { - "declaration": 1777, + "declaration": 1788, "isOffset": false, "isSlot": false, "src": "17519:2:5", "valueSize": 1 }, { - "declaration": 1777, + "declaration": 1788, "isOffset": false, "isSlot": false, "src": "18146:2:5", "valueSize": 1 }, { - "declaration": 1777, + "declaration": 1788, "isOffset": false, "isSlot": false, "src": "18171:2:5", "valueSize": 1 }, { - "declaration": 1777, + "declaration": 1788, "isOffset": false, "isSlot": false, "src": "18377:2:5", "valueSize": 1 }, { - "declaration": 1777, + "declaration": 1788, "isOffset": false, "isSlot": false, "src": "18394:2:5", "valueSize": 1 }, { - "declaration": 1777, + "declaration": 1788, "isOffset": false, "isSlot": false, "src": "18998:2:5", "valueSize": 1 }, { - "declaration": 1777, + "declaration": 1788, "isOffset": false, "isSlot": false, "src": "19011:2:5", "valueSize": 1 }, { - "declaration": 1777, + "declaration": 1788, "isOffset": false, "isSlot": false, "src": "19504:2:5", "valueSize": 1 }, { - "declaration": 1780, + "declaration": 1791, "isOffset": false, "isSlot": false, "src": "15367:3:5", "valueSize": 1 }, { - "declaration": 1780, + "declaration": 1791, "isOffset": false, "isSlot": false, "src": "15863:3:5", "valueSize": 1 }, { - "declaration": 1780, + "declaration": 1791, "isOffset": false, "isSlot": false, "src": "15881:3:5", "valueSize": 1 }, { - "declaration": 1780, + "declaration": 1791, "isOffset": false, "isSlot": false, "src": "17210:3:5", "valueSize": 1 }, { - "declaration": 1780, + "declaration": 1791, "isOffset": false, "isSlot": false, "src": "17452:3:5", "valueSize": 1 }, { - "declaration": 1780, + "declaration": 1791, "isOffset": false, "isSlot": false, "src": "18305:3:5", "valueSize": 1 }, { - "declaration": 1780, + "declaration": 1791, "isOffset": false, "isSlot": false, "src": "18323:3:5", "valueSize": 1 }, { - "declaration": 1780, + "declaration": 1791, "isOffset": false, "isSlot": false, "src": "19046:3:5", "valueSize": 1 }, { - "declaration": 1780, + "declaration": 1791, "isOffset": false, "isSlot": false, "src": "19060:3:5", "valueSize": 1 } ], - "id": 1851, + "id": 1862, "nodeType": "InlineAssembly", "src": "14586:5830:5" } @@ -34220,31 +34110,31 @@ }, { "expression": { - "id": 1853, + "id": 1864, "name": "X", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1774, + "referencedDeclaration": 1785, "src": "20474:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1775, - "id": 1854, + "functionReturnParameters": 1786, + "id": 1865, "nodeType": "Return", "src": "20467:8:5" } ] }, "documentation": { - "id": 1763, + "id": 1774, "nodeType": "StructuredDocumentation", "src": "13729:161:5", "text": " @dev Computation of uG+vQ using Strauss-Shamir's trick, G basepoint, Q public key\n Returns only x for ECDSA use \n " }, - "id": 1856, + "id": 1867, "implemented": true, "kind": "function", "modifiers": [], @@ -34252,17 +34142,17 @@ "nameLocation": "13904:20:5", "nodeType": "FunctionDefinition", "parameters": { - "id": 1772, + "id": 1783, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1765, + "id": 1776, "mutability": "mutable", "name": "Q0", "nameLocation": "13942:2:5", "nodeType": "VariableDeclaration", - "scope": 1856, + "scope": 1867, "src": "13934:10:5", "stateVariable": false, "storageLocation": "default", @@ -34271,7 +34161,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1764, + "id": 1775, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "13934:7:5", @@ -34284,12 +34174,12 @@ }, { "constant": false, - "id": 1767, + "id": 1778, "mutability": "mutable", "name": "Q1", "nameLocation": "13962:2:5", "nodeType": "VariableDeclaration", - "scope": 1856, + "scope": 1867, "src": "13954:10:5", "stateVariable": false, "storageLocation": "default", @@ -34298,7 +34188,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1766, + "id": 1777, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "13954:7:5", @@ -34311,12 +34201,12 @@ }, { "constant": false, - "id": 1769, + "id": 1780, "mutability": "mutable", "name": "scalar_u", "nameLocation": "14013:8:5", "nodeType": "VariableDeclaration", - "scope": 1856, + "scope": 1867, "src": "14005:16:5", "stateVariable": false, "storageLocation": "default", @@ -34325,7 +34215,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1768, + "id": 1779, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "14005:7:5", @@ -34338,12 +34228,12 @@ }, { "constant": false, - "id": 1771, + "id": 1782, "mutability": "mutable", "name": "scalar_v", "nameLocation": "14039:8:5", "nodeType": "VariableDeclaration", - "scope": 1856, + "scope": 1867, "src": "14031:16:5", "stateVariable": false, "storageLocation": "default", @@ -34352,7 +34242,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1770, + "id": 1781, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "14031:7:5", @@ -34367,17 +34257,17 @@ "src": "13924:129:5" }, "returnParameters": { - "id": 1775, + "id": 1786, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1774, + "id": 1785, "mutability": "mutable", "name": "X", "nameLocation": "14085:1:5", "nodeType": "VariableDeclaration", - "scope": 1856, + "scope": 1867, "src": "14077:9:5", "stateVariable": false, "storageLocation": "default", @@ -34386,7 +34276,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1773, + "id": 1784, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "14077:7:5", @@ -34400,7 +34290,7 @@ ], "src": "14076:11:5" }, - "scope": 2298, + "scope": 2309, "src": "13895:6587:5", "stateMutability": "view", "virtual": false, @@ -34408,23 +34298,23 @@ }, { "body": { - "id": 1929, + "id": 1940, "nodeType": "Block", "src": "20871:6233:5", "statements": [ { "assignments": [ - 1873 + 1884 ], "declarations": [ { "constant": false, - "id": 1873, + "id": 1884, "mutability": "mutable", "name": "zz", "nameLocation": "20889:2:5", "nodeType": "VariableDeclaration", - "scope": 1929, + "scope": 1940, "src": "20881:10:5", "stateVariable": false, "storageLocation": "default", @@ -34433,7 +34323,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1872, + "id": 1883, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "20881:7:5", @@ -34445,23 +34335,23 @@ "visibility": "internal" } ], - "id": 1874, + "id": 1885, "nodeType": "VariableDeclarationStatement", "src": "20881:10:5" }, { "assignments": [ - 1876 + 1887 ], "declarations": [ { "constant": false, - "id": 1876, + "id": 1887, "mutability": "mutable", "name": "zzz", "nameLocation": "20909:3:5", "nodeType": "VariableDeclaration", - "scope": 1929, + "scope": 1940, "src": "20901:11:5", "stateVariable": false, "storageLocation": "default", @@ -34470,7 +34360,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1875, + "id": 1886, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "20901:7:5", @@ -34482,23 +34372,23 @@ "visibility": "internal" } ], - "id": 1877, + "id": 1888, "nodeType": "VariableDeclarationStatement", "src": "20901:11:5" }, { "assignments": [ - 1879 + 1890 ], "declarations": [ { "constant": false, - "id": 1879, + "id": 1890, "mutability": "mutable", "name": "index", "nameLocation": "20930:5:5", "nodeType": "VariableDeclaration", - "scope": 1929, + "scope": 1940, "src": "20922:13:5", "stateVariable": false, "storageLocation": "default", @@ -34507,7 +34397,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1878, + "id": 1889, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "20922:7:5", @@ -34519,10 +34409,10 @@ "visibility": "internal" } ], - "id": 1881, + "id": 1892, "initialValue": { "hexValue": "323535", - "id": 1880, + "id": 1891, "isConstant": false, "isLValue": false, "isPure": true, @@ -34541,17 +34431,17 @@ }, { "assignments": [ - 1887 + 1898 ], "declarations": [ { "constant": false, - "id": 1887, + "id": 1898, "mutability": "mutable", "name": "T", "nameLocation": "20969:1:5", "nodeType": "VariableDeclaration", - "scope": 1929, + "scope": 1940, "src": "20951:19:5", "stateVariable": false, "storageLocation": "memory", @@ -34561,7 +34451,7 @@ }, "typeName": { "baseType": { - "id": 1885, + "id": 1896, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "20951:7:5", @@ -34570,10 +34460,10 @@ "typeString": "uint256" } }, - "id": 1886, + "id": 1897, "length": { "hexValue": "36", - "id": 1884, + "id": 1895, "isConstant": false, "isLValue": false, "isPure": true, @@ -34597,23 +34487,23 @@ "visibility": "internal" } ], - "id": 1888, + "id": 1899, "nodeType": "VariableDeclarationStatement", "src": "20951:19:5" }, { "assignments": [ - 1894 + 1905 ], "declarations": [ { "constant": false, - "id": 1894, + "id": 1905, "mutability": "mutable", "name": "H", "nameLocation": "20998:1:5", "nodeType": "VariableDeclaration", - "scope": 1929, + "scope": 1940, "src": "20980:19:5", "stateVariable": false, "storageLocation": "memory", @@ -34623,7 +34513,7 @@ }, "typeName": { "baseType": { - "id": 1892, + "id": 1903, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "20980:7:5", @@ -34632,10 +34522,10 @@ "typeString": "uint256" } }, - "id": 1893, + "id": 1904, "length": { "hexValue": "32", - "id": 1891, + "id": 1902, "isConstant": false, "isLValue": false, "isPure": true, @@ -34659,12 +34549,12 @@ "visibility": "internal" } ], - "id": 1895, + "id": 1906, "nodeType": "VariableDeclarationStatement", "src": "20980:19:5" }, { - "id": 1924, + "id": 1935, "nodeType": "UncheckedBlock", "src": "21011:6048:5", "statements": [ @@ -34674,7 +34564,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1902, + "id": 1913, "isConstant": false, "isLValue": false, "isPure": false, @@ -34684,17 +34574,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1898, + "id": 1909, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1896, + "id": 1907, "name": "scalar_u", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1863, + "referencedDeclaration": 1874, "src": "21039:8:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -34705,7 +34595,7 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 1897, + "id": 1908, "isConstant": false, "isLValue": false, "isPure": true, @@ -34732,17 +34622,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1901, + "id": 1912, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1899, + "id": 1910, "name": "scalar_v", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1865, + "referencedDeclaration": 1876, "src": "21056:8:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -34753,7 +34643,7 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 1900, + "id": 1911, "isConstant": false, "isLValue": false, "isPure": true, @@ -34779,7 +34669,7 @@ "typeString": "bool" } }, - "id": 1907, + "id": 1918, "nodeType": "IfStatement", "src": "21035:48:5", "trueBody": { @@ -34787,7 +34677,7 @@ "components": [ { "hexValue": "30", - "id": 1903, + "id": 1914, "isConstant": false, "isLValue": false, "isPure": true, @@ -34803,7 +34693,7 @@ }, { "hexValue": "30", - "id": 1904, + "id": 1915, "isConstant": false, "isLValue": false, "isPure": true, @@ -34818,7 +34708,7 @@ "value": "0" } ], - "id": 1905, + "id": 1916, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -34831,15 +34721,15 @@ "typeString": "tuple(int_const 0,int_const 0)" } }, - "functionReturnParameters": 1871, - "id": 1906, + "functionReturnParameters": 1882, + "id": 1917, "nodeType": "Return", "src": "21071:12:5" } }, { "expression": { - "id": 1921, + "id": 1932, "isConstant": false, "isLValue": false, "isPure": false, @@ -34848,21 +34738,21 @@ "components": [ { "baseExpression": { - "id": 1908, + "id": 1919, "name": "H", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1894, + "referencedDeclaration": 1905, "src": "21099:1:5", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", "typeString": "uint256[2] memory" } }, - "id": 1910, + "id": 1921, "indexExpression": { "hexValue": "30", - "id": 1909, + "id": 1920, "isConstant": false, "isLValue": false, "isPure": true, @@ -34889,21 +34779,21 @@ }, { "baseExpression": { - "id": 1911, + "id": 1922, "name": "H", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1894, + "referencedDeclaration": 1905, "src": "21105:1:5", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", "typeString": "uint256[2] memory" } }, - "id": 1913, + "id": 1924, "indexExpression": { "hexValue": "31", - "id": 1912, + "id": 1923, "isConstant": false, "isLValue": false, "isPure": true, @@ -34929,7 +34819,7 @@ } } ], - "id": 1914, + "id": 1925, "isConstant": false, "isInlineArray": false, "isLValue": true, @@ -34947,11 +34837,11 @@ "rightHandSide": { "arguments": [ { - "id": 1916, + "id": 1927, "name": "gx", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 974, + "referencedDeclaration": 985, "src": "21123:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -34959,11 +34849,11 @@ } }, { - "id": 1917, + "id": 1928, "name": "gy", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 977, + "referencedDeclaration": 988, "src": "21127:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -34971,11 +34861,11 @@ } }, { - "id": 1918, + "id": 1929, "name": "Q0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1859, + "referencedDeclaration": 1870, "src": "21131:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -34983,11 +34873,11 @@ } }, { - "id": 1919, + "id": 1930, "name": "Q1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1861, + "referencedDeclaration": 1872, "src": "21135:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -35014,18 +34904,18 @@ "typeString": "uint256" } ], - "id": 1915, + "id": 1926, "name": "ecAff_add", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1762, + "referencedDeclaration": 1773, "src": "21113:9:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", "typeString": "function (uint256,uint256,uint256,uint256) view returns (uint256,uint256)" } }, - "id": 1920, + "id": 1931, "isConstant": false, "isLValue": false, "isPure": false, @@ -35047,7 +34937,7 @@ "typeString": "tuple()" } }, - "id": 1922, + "id": 1933, "nodeType": "ExpressionStatement", "src": "21098:40:5" }, @@ -39335,1302 +39225,1302 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 1894, + "declaration": 1905, "isOffset": false, "isSlot": false, "src": "21869:1:5", "valueSize": 1 }, { - "declaration": 1894, + "declaration": 1905, "isOffset": false, "isSlot": false, "src": "21907:1:5", "valueSize": 1 }, { - "declaration": 1894, + "declaration": 1905, "isOffset": false, "isSlot": false, "src": "23615:1:5", "valueSize": 1 }, { - "declaration": 1894, + "declaration": 1905, "isOffset": false, "isSlot": false, "src": "23662:1:5", "valueSize": 1 }, { - "declaration": 1859, + "declaration": 1870, "isOffset": false, "isSlot": false, "src": "21754:2:5", "valueSize": 1 }, { - "declaration": 1859, + "declaration": 1870, "isOffset": false, "isSlot": false, "src": "23470:2:5", "valueSize": 1 }, { - "declaration": 1861, + "declaration": 1872, "isOffset": false, "isSlot": false, "src": "21782:2:5", "valueSize": 1 }, { - "declaration": 1861, + "declaration": 1872, "isOffset": false, "isSlot": false, "src": "23507:2:5", "valueSize": 1 }, { - "declaration": 1887, + "declaration": 1898, "isOffset": false, "isSlot": false, "src": "26118:1:5", "valueSize": 1 }, { - "declaration": 1887, + "declaration": 1898, "isOffset": false, "isSlot": false, "src": "26391:1:5", "valueSize": 1 }, { - "declaration": 1887, + "declaration": 1898, "isOffset": false, "isSlot": false, "src": "26427:1:5", "valueSize": 1 }, { - "declaration": 1887, + "declaration": 1898, "isOffset": false, "isSlot": false, "src": "26470:1:5", "valueSize": 1 }, { - "declaration": 1887, + "declaration": 1898, "isOffset": false, "isSlot": false, "src": "26624:1:5", "valueSize": 1 }, { - "declaration": 1887, + "declaration": 1898, "isOffset": false, "isSlot": false, "src": "26670:1:5", "valueSize": 1 }, { - "declaration": 1887, + "declaration": 1898, "isOffset": false, "isSlot": false, "src": "26798:1:5", "valueSize": 1 }, { - "declaration": 1887, + "declaration": 1898, "isOffset": false, "isSlot": false, "src": "26807:1:5", "valueSize": 1 }, { - "declaration": 1887, + "declaration": 1898, "isOffset": false, "isSlot": false, "src": "26869:1:5", "valueSize": 1 }, { - "declaration": 1887, + "declaration": 1898, "isOffset": false, "isSlot": false, "src": "26920:1:5", "valueSize": 1 }, { - "declaration": 1868, + "declaration": 1879, "isOffset": false, "isSlot": false, "src": "21644:1:5", "valueSize": 1 }, { - "declaration": 1868, + "declaration": 1879, "isOffset": false, "isSlot": false, "src": "21749:1:5", "valueSize": 1 }, { - "declaration": 1868, + "declaration": 1879, "isOffset": false, "isSlot": false, "src": "21896:1:5", "valueSize": 1 }, { - "declaration": 1868, + "declaration": 1879, "isOffset": false, "isSlot": false, "src": "22288:1:5", "valueSize": 1 }, { - "declaration": 1868, + "declaration": 1879, "isOffset": false, "isSlot": false, "src": "22416:1:5", "valueSize": 1 }, { - "declaration": 1868, + "declaration": 1879, "isOffset": false, "isSlot": false, "src": "22442:1:5", "valueSize": 1 }, { - "declaration": 1868, + "declaration": 1879, "isOffset": false, "isSlot": false, "src": "22629:1:5", "valueSize": 1 }, { - "declaration": 1868, + "declaration": 1879, "isOffset": false, "isSlot": false, "src": "22743:1:5", "valueSize": 1 }, { - "declaration": 1868, + "declaration": 1879, "isOffset": false, "isSlot": false, "src": "23763:1:5", "valueSize": 1 }, { - "declaration": 1868, + "declaration": 1879, "isOffset": false, "isSlot": false, "src": "24195:1:5", "valueSize": 1 }, { - "declaration": 1868, + "declaration": 1879, "isOffset": false, "isSlot": false, "src": "24665:1:5", "valueSize": 1 }, { - "declaration": 1868, + "declaration": 1879, "isOffset": false, "isSlot": false, "src": "24804:1:5", "valueSize": 1 }, { - "declaration": 1868, + "declaration": 1879, "isOffset": false, "isSlot": false, "src": "24822:1:5", "valueSize": 1 }, { - "declaration": 1868, + "declaration": 1879, "isOffset": false, "isSlot": false, "src": "25115:1:5", "valueSize": 1 }, { - "declaration": 1868, + "declaration": 1879, "isOffset": false, "isSlot": false, "src": "25252:1:5", "valueSize": 1 }, { - "declaration": 1868, + "declaration": 1879, "isOffset": false, "isSlot": false, "src": "25788:1:5", "valueSize": 1 }, { - "declaration": 1868, + "declaration": 1879, "isOffset": false, "isSlot": false, "src": "26032:1:5", "valueSize": 1 }, { - "declaration": 1868, + "declaration": 1879, "isOffset": false, "isSlot": false, "src": "26992:1:5", "valueSize": 1 }, { - "declaration": 1868, + "declaration": 1879, "isOffset": false, "isSlot": false, "src": "27004:1:5", "valueSize": 1 }, { - "declaration": 1870, + "declaration": 1881, "isOffset": false, "isSlot": false, "src": "21672:1:5", "valueSize": 1 }, { - "declaration": 1870, + "declaration": 1881, "isOffset": false, "isSlot": false, "src": "21777:1:5", "valueSize": 1 }, { - "declaration": 1870, + "declaration": 1881, "isOffset": false, "isSlot": false, "src": "21854:1:5", "valueSize": 1 }, { - "declaration": 1870, + "declaration": 1881, "isOffset": false, "isSlot": false, "src": "22169:1:5", "valueSize": 1 }, { - "declaration": 1870, + "declaration": 1881, "isOffset": false, "isSlot": false, "src": "22804:1:5", "valueSize": 1 }, { - "declaration": 1870, + "declaration": 1881, "isOffset": false, "isSlot": false, "src": "22827:1:5", "valueSize": 1 }, { - "declaration": 1870, + "declaration": 1881, "isOffset": false, "isSlot": false, "src": "23140:1:5", "valueSize": 1 }, { - "declaration": 1870, + "declaration": 1881, "isOffset": false, "isSlot": false, "src": "23152:1:5", "valueSize": 1 }, { - "declaration": 1870, + "declaration": 1881, "isOffset": false, "isSlot": false, "src": "23799:1:5", "valueSize": 1 }, { - "declaration": 1870, + "declaration": 1881, "isOffset": false, "isSlot": false, "src": "24122:1:5", "valueSize": 1 }, { - "declaration": 1870, + "declaration": 1881, "isOffset": false, "isSlot": false, "src": "24530:1:5", "valueSize": 1 }, { - "declaration": 1870, + "declaration": 1881, "isOffset": false, "isSlot": false, "src": "25306:1:5", "valueSize": 1 }, { - "declaration": 1870, + "declaration": 1881, "isOffset": false, "isSlot": false, "src": "25333:1:5", "valueSize": 1 }, { - "declaration": 1870, + "declaration": 1881, "isOffset": false, "isSlot": false, "src": "25930:1:5", "valueSize": 1 }, { - "declaration": 1870, + "declaration": 1881, "isOffset": false, "isSlot": false, "src": "25992:1:5", "valueSize": 1 }, { - "declaration": 1870, + "declaration": 1881, "isOffset": false, "isSlot": false, "src": "26851:1:5", "valueSize": 1 }, { - "declaration": 1870, + "declaration": 1881, "isOffset": false, "isSlot": false, "src": "26861:1:5", "valueSize": 1 }, { - "declaration": 974, + "declaration": 985, "isOffset": false, "isSlot": false, "src": "21649:2:5", "valueSize": 1 }, { - "declaration": 974, + "declaration": 985, "isOffset": false, "isSlot": false, "src": "23331:2:5", "valueSize": 1 }, { - "declaration": 977, + "declaration": 988, "isOffset": false, "isSlot": false, "src": "21677:2:5", "valueSize": 1 }, { - "declaration": 977, + "declaration": 988, "isOffset": false, "isSlot": false, "src": "23368:2:5", "valueSize": 1 }, { - "declaration": 1879, + "declaration": 1890, "isOffset": false, "isSlot": false, "src": "21269:5:5", "valueSize": 1 }, { - "declaration": 1879, + "declaration": 1890, "isOffset": false, "isSlot": false, "src": "21300:5:5", "valueSize": 1 }, { - "declaration": 1879, + "declaration": 1890, "isOffset": false, "isSlot": false, "src": "21356:5:5", "valueSize": 1 }, { - "declaration": 1879, + "declaration": 1890, "isOffset": false, "isSlot": false, "src": "21369:5:5", "valueSize": 1 }, { - "declaration": 1879, + "declaration": 1890, "isOffset": false, "isSlot": false, "src": "21424:5:5", "valueSize": 1 }, { - "declaration": 1879, + "declaration": 1890, "isOffset": false, "isSlot": false, "src": "21455:5:5", "valueSize": 1 }, { - "declaration": 1879, + "declaration": 1890, "isOffset": false, "isSlot": false, "src": "21539:5:5", "valueSize": 1 }, { - "declaration": 1879, + "declaration": 1890, "isOffset": false, "isSlot": false, "src": "21570:5:5", "valueSize": 1 }, { - "declaration": 1879, + "declaration": 1890, "isOffset": false, "isSlot": false, "src": "21945:5:5", "valueSize": 1 }, { - "declaration": 1879, + "declaration": 1890, "isOffset": false, "isSlot": false, "src": "21958:5:5", "valueSize": 1 }, { - "declaration": 1879, + "declaration": 1890, "isOffset": false, "isSlot": false, "src": "22053:5:5", "valueSize": 1 }, { - "declaration": 1879, + "declaration": 1890, "isOffset": false, "isSlot": false, "src": "22062:5:5", "valueSize": 1 }, { - "declaration": 1879, + "declaration": 1890, "isOffset": false, "isSlot": false, "src": "22075:5:5", "valueSize": 1 }, { - "declaration": 1879, + "declaration": 1890, "isOffset": false, "isSlot": false, "src": "23018:5:5", "valueSize": 1 }, { - "declaration": 1879, + "declaration": 1890, "isOffset": false, "isSlot": false, "src": "23049:5:5", "valueSize": 1 }, { - "declaration": 989, + "declaration": 1000, "isOffset": false, "isSlot": false, "src": "22044:7:5", "valueSize": 1 }, { - "declaration": 983, + "declaration": 994, "isOffset": false, "isSlot": false, "src": "22667:7:5", "valueSize": 1 }, { - "declaration": 983, + "declaration": 994, "isOffset": false, "isSlot": false, "src": "24521:7:5", "valueSize": 1 }, { - "declaration": 983, + "declaration": 994, "isOffset": false, "isSlot": false, "src": "25153:7:5", "valueSize": 1 }, { - "declaration": 983, + "declaration": 994, "isOffset": false, "isSlot": false, "src": "25885:7:5", "valueSize": 1 }, { - "declaration": 983, + "declaration": 994, "isOffset": false, "isSlot": false, "src": "26634:7:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "22172:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "22239:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "22295:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "22351:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "22423:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "22431:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "22449:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "22453:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "22457:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "22527:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "22585:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "22656:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "22680:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "22684:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "22750:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "22758:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "22762:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "22830:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "22838:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "23149:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "24118:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "24125:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "24184:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "24192:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "24199:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "24533:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "24608:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "24672:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "24741:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "24811:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "24829:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "24837:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "24841:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "24911:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "24989:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "25059:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "25142:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "25166:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "25170:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "25249:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "25256:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "25260:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "25336:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "25340:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "25506:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "25564:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "25680:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "25731:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "25795:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "25857:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "25865:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "25874:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "25899:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "25903:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "25965:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "25973:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "25981:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "26000:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "26004:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "26680:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "26872:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "26923:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "26966:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "27011:1:5", "valueSize": 1 }, { - "declaration": 1863, + "declaration": 1874, "isOffset": false, "isSlot": false, "src": "21307:8:5", "valueSize": 1 }, { - "declaration": 1863, + "declaration": 1874, "isOffset": false, "isSlot": false, "src": "21462:8:5", "valueSize": 1 }, { - "declaration": 1863, + "declaration": 1874, "isOffset": false, "isSlot": false, "src": "21577:8:5", "valueSize": 1 }, { - "declaration": 1863, + "declaration": 1874, "isOffset": false, "isSlot": false, "src": "23056:8:5", "valueSize": 1 }, { - "declaration": 1865, + "declaration": 1876, "isOffset": false, "isSlot": false, "src": "21276:8:5", "valueSize": 1 }, { - "declaration": 1865, + "declaration": 1876, "isOffset": false, "isSlot": false, "src": "21431:8:5", "valueSize": 1 }, { - "declaration": 1865, + "declaration": 1876, "isOffset": false, "isSlot": false, "src": "21546:8:5", "valueSize": 1 }, { - "declaration": 1865, + "declaration": 1876, "isOffset": false, "isSlot": false, "src": "23025:8:5", "valueSize": 1 }, { - "declaration": 1873, + "declaration": 1884, "isOffset": false, "isSlot": false, "src": "21514:2:5", "valueSize": 1 }, { - "declaration": 1873, + "declaration": 1884, "isOffset": false, "isSlot": false, "src": "21615:2:5", "valueSize": 1 }, { - "declaration": 1873, + "declaration": 1884, "isOffset": false, "isSlot": false, "src": "21720:2:5", "valueSize": 1 }, { - "declaration": 1873, + "declaration": 1884, "isOffset": false, "isSlot": false, "src": "21825:2:5", "valueSize": 1 }, { - "declaration": 1873, + "declaration": 1884, "isOffset": false, "isSlot": false, "src": "21984:2:5", "valueSize": 1 }, { - "declaration": 1873, + "declaration": 1884, "isOffset": false, "isSlot": false, "src": "22426:2:5", "valueSize": 1 }, { - "declaration": 1873, + "declaration": 1884, "isOffset": false, "isSlot": false, "src": "22445:2:5", "valueSize": 1 }, { - "declaration": 1873, + "declaration": 1884, "isOffset": false, "isSlot": false, "src": "22564:2:5", "valueSize": 1 }, { - "declaration": 1873, + "declaration": 1884, "isOffset": false, "isSlot": false, "src": "22581:2:5", "valueSize": 1 }, { - "declaration": 1873, + "declaration": 1884, "isOffset": false, "isSlot": false, "src": "23729:2:5", "valueSize": 1 }, { - "declaration": 1873, + "declaration": 1884, "isOffset": false, "isSlot": false, "src": "23835:2:5", "valueSize": 1 }, { - "declaration": 1873, + "declaration": 1884, "isOffset": false, "isSlot": false, "src": "24180:2:5", "valueSize": 1 }, { - "declaration": 1873, + "declaration": 1884, "isOffset": false, "isSlot": false, "src": "24807:2:5", "valueSize": 1 }, { - "declaration": 1873, + "declaration": 1884, "isOffset": false, "isSlot": false, "src": "24832:2:5", "valueSize": 1 }, { - "declaration": 1873, + "declaration": 1884, "isOffset": false, "isSlot": false, "src": "25038:2:5", "valueSize": 1 }, { - "declaration": 1873, + "declaration": 1884, "isOffset": false, "isSlot": false, "src": "25055:2:5", "valueSize": 1 }, { - "declaration": 1873, + "declaration": 1884, "isOffset": false, "isSlot": false, "src": "25659:2:5", "valueSize": 1 }, { - "declaration": 1873, + "declaration": 1884, "isOffset": false, "isSlot": false, "src": "25672:2:5", "valueSize": 1 }, { - "declaration": 1873, + "declaration": 1884, "isOffset": false, "isSlot": false, "src": "26898:2:5", "valueSize": 1 }, { - "declaration": 1873, + "declaration": 1884, "isOffset": false, "isSlot": false, "src": "26910:2:5", "valueSize": 1 }, { - "declaration": 1873, + "declaration": 1884, "isOffset": false, "isSlot": false, "src": "26948:2:5", "valueSize": 1 }, { - "declaration": 1873, + "declaration": 1884, "isOffset": false, "isSlot": false, "src": "26960:2:5", "valueSize": 1 }, { - "declaration": 1873, + "declaration": 1884, "isOffset": false, "isSlot": false, "src": "26963:2:5", "valueSize": 1 }, { - "declaration": 1873, + "declaration": 1884, "isOffset": false, "isSlot": false, "src": "27007:2:5", "valueSize": 1 }, { - "declaration": 1876, + "declaration": 1887, "isOffset": false, "isSlot": false, "src": "22008:3:5", "valueSize": 1 }, { - "declaration": 1876, + "declaration": 1887, "isOffset": false, "isSlot": false, "src": "22504:3:5", "valueSize": 1 }, { - "declaration": 1876, + "declaration": 1887, "isOffset": false, "isSlot": false, "src": "22522:3:5", "valueSize": 1 }, { - "declaration": 1876, + "declaration": 1887, "isOffset": false, "isSlot": false, "src": "23871:3:5", "valueSize": 1 }, { - "declaration": 1876, + "declaration": 1887, "isOffset": false, "isSlot": false, "src": "24113:3:5", "valueSize": 1 }, { - "declaration": 1876, + "declaration": 1887, "isOffset": false, "isSlot": false, "src": "24966:3:5", "valueSize": 1 }, { - "declaration": 1876, + "declaration": 1887, "isOffset": false, "isSlot": false, "src": "24984:3:5", "valueSize": 1 }, { - "declaration": 1876, + "declaration": 1887, "isOffset": false, "isSlot": false, "src": "25707:3:5", "valueSize": 1 }, { - "declaration": 1876, + "declaration": 1887, "isOffset": false, "isSlot": false, "src": "25721:3:5", "valueSize": 1 }, { - "declaration": 1876, + "declaration": 1887, "isOffset": false, "isSlot": false, "src": "26128:3:5", "valueSize": 1 } ], - "id": 1923, + "id": 1934, "nodeType": "InlineAssembly", "src": "21207:5827:5" } @@ -40640,11 +40530,11 @@ "expression": { "components": [ { - "id": 1925, + "id": 1936, "name": "X", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1868, + "referencedDeclaration": 1879, "src": "27093:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -40652,11 +40542,11 @@ } }, { - "id": 1926, + "id": 1937, "name": "Y", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1870, + "referencedDeclaration": 1881, "src": "27095:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -40664,7 +40554,7 @@ } } ], - "id": 1927, + "id": 1938, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -40677,20 +40567,20 @@ "typeString": "tuple(uint256,uint256)" } }, - "functionReturnParameters": 1871, - "id": 1928, + "functionReturnParameters": 1882, + "id": 1939, "nodeType": "Return", "src": "27085:12:5" } ] }, "documentation": { - "id": 1857, + "id": 1868, "nodeType": "StructuredDocumentation", "src": "20489:179:5", "text": " @dev Computation of uG+vQ using Strauss-Shamir's trick, G basepoint, Q public key\n Returns affine representation of point (normalized) \n " }, - "id": 1930, + "id": 1941, "implemented": true, "kind": "function", "modifiers": [], @@ -40698,17 +40588,17 @@ "nameLocation": "20682:14:5", "nodeType": "FunctionDefinition", "parameters": { - "id": 1866, + "id": 1877, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1859, + "id": 1870, "mutability": "mutable", "name": "Q0", "nameLocation": "20714:2:5", "nodeType": "VariableDeclaration", - "scope": 1930, + "scope": 1941, "src": "20706:10:5", "stateVariable": false, "storageLocation": "default", @@ -40717,7 +40607,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1858, + "id": 1869, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "20706:7:5", @@ -40730,12 +40620,12 @@ }, { "constant": false, - "id": 1861, + "id": 1872, "mutability": "mutable", "name": "Q1", "nameLocation": "20734:2:5", "nodeType": "VariableDeclaration", - "scope": 1930, + "scope": 1941, "src": "20726:10:5", "stateVariable": false, "storageLocation": "default", @@ -40744,7 +40634,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1860, + "id": 1871, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "20726:7:5", @@ -40757,12 +40647,12 @@ }, { "constant": false, - "id": 1863, + "id": 1874, "mutability": "mutable", "name": "scalar_u", "nameLocation": "20785:8:5", "nodeType": "VariableDeclaration", - "scope": 1930, + "scope": 1941, "src": "20777:16:5", "stateVariable": false, "storageLocation": "default", @@ -40771,7 +40661,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1862, + "id": 1873, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "20777:7:5", @@ -40784,12 +40674,12 @@ }, { "constant": false, - "id": 1865, + "id": 1876, "mutability": "mutable", "name": "scalar_v", "nameLocation": "20811:8:5", "nodeType": "VariableDeclaration", - "scope": 1930, + "scope": 1941, "src": "20803:16:5", "stateVariable": false, "storageLocation": "default", @@ -40798,7 +40688,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1864, + "id": 1875, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "20803:7:5", @@ -40813,17 +40703,17 @@ "src": "20696:129:5" }, "returnParameters": { - "id": 1871, + "id": 1882, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1868, + "id": 1879, "mutability": "mutable", "name": "X", "nameLocation": "20857:1:5", "nodeType": "VariableDeclaration", - "scope": 1930, + "scope": 1941, "src": "20849:9:5", "stateVariable": false, "storageLocation": "default", @@ -40832,7 +40722,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1867, + "id": 1878, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "20849:7:5", @@ -40845,12 +40735,12 @@ }, { "constant": false, - "id": 1870, + "id": 1881, "mutability": "mutable", "name": "Y", "nameLocation": "20868:1:5", "nodeType": "VariableDeclaration", - "scope": 1930, + "scope": 1941, "src": "20860:9:5", "stateVariable": false, "storageLocation": "default", @@ -40859,7 +40749,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1869, + "id": 1880, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "20860:7:5", @@ -40873,7 +40763,7 @@ ], "src": "20848:22:5" }, - "scope": 2298, + "scope": 2309, "src": "20673:6431:5", "stateMutability": "view", "virtual": false, @@ -40881,28 +40771,28 @@ }, { "body": { - "id": 2073, + "id": 2084, "nodeType": "Block", "src": "27601:6511:5", "statements": [ { - "id": 2072, + "id": 2083, "nodeType": "UncheckedBlock", "src": "27611:6479:5", "statements": [ { "assignments": [ - 1942 + 1953 ], "declarations": [ { "constant": false, - "id": 1942, + "id": 1953, "mutability": "mutable", "name": "zz", "nameLocation": "27643:2:5", "nodeType": "VariableDeclaration", - "scope": 2072, + "scope": 2083, "src": "27635:10:5", "stateVariable": false, "storageLocation": "default", @@ -40911,7 +40801,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1941, + "id": 1952, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "27635:7:5", @@ -40923,23 +40813,23 @@ "visibility": "internal" } ], - "id": 1943, + "id": 1954, "nodeType": "VariableDeclarationStatement", "src": "27635:10:5" }, { "assignments": [ - 1949 + 1960 ], "declarations": [ { "constant": false, - "id": 1949, + "id": 1960, "mutability": "mutable", "name": "T", "nameLocation": "27717:1:5", "nodeType": "VariableDeclaration", - "scope": 2072, + "scope": 2083, "src": "27699:19:5", "stateVariable": false, "storageLocation": "memory", @@ -40949,7 +40839,7 @@ }, "typeName": { "baseType": { - "id": 1947, + "id": 1958, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "27699:7:5", @@ -40958,10 +40848,10 @@ "typeString": "uint256" } }, - "id": 1948, + "id": 1959, "length": { "hexValue": "36", - "id": 1946, + "id": 1957, "isConstant": false, "isLValue": false, "isPure": true, @@ -40985,23 +40875,23 @@ "visibility": "internal" } ], - "id": 1950, + "id": 1961, "nodeType": "VariableDeclarationStatement", "src": "27699:19:5" }, { "expression": { - "id": 1953, + "id": 1964, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 1951, + "id": 1962, "name": "zz", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1942, + "referencedDeclaration": 1953, "src": "27732:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -41012,7 +40902,7 @@ "operator": "=", "rightHandSide": { "hexValue": "323536", - "id": 1952, + "id": 1963, "isConstant": false, "isLValue": false, "isPure": true, @@ -41032,29 +40922,29 @@ "typeString": "uint256" } }, - "id": 1954, + "id": 1965, "nodeType": "ExpressionStatement", "src": "27732:8:5" }, { "body": { - "id": 2069, + "id": 2080, "nodeType": "Block", "src": "27787:552:5", "statements": [ { "expression": { - "id": 1964, + "id": 1975, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 1960, + "id": 1971, "name": "zz", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1942, + "referencedDeclaration": 1953, "src": "27805:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -41068,17 +40958,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1963, + "id": 1974, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1961, + "id": 1972, "name": "zz", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1942, + "referencedDeclaration": 1953, "src": "27810:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -41089,7 +40979,7 @@ "operator": "-", "rightExpression": { "hexValue": "31", - "id": 1962, + "id": 1973, "isConstant": false, "isLValue": false, "isPure": true, @@ -41115,34 +41005,34 @@ "typeString": "uint256" } }, - "id": 1965, + "id": 1976, "nodeType": "ExpressionStatement", "src": "27805:11:5" }, { "expression": { - "id": 2067, + "id": 2078, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 1966, + "id": 1977, "name": "T", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1949, + "referencedDeclaration": 1960, "src": "27884:1:5", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" } }, - "id": 1968, + "id": 1979, "indexExpression": { "hexValue": "30", - "id": 1967, + "id": 1978, "isConstant": false, "isLValue": false, "isPure": true, @@ -41174,14 +41064,14 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2066, + "id": 2077, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "3634", - "id": 1969, + "id": 1980, "isConstant": false, "isLValue": false, "isPure": true, @@ -41204,7 +41094,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2064, + "id": 2075, "isConstant": false, "isLValue": false, "isPure": false, @@ -41214,7 +41104,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2053, + "id": 2064, "isConstant": false, "isLValue": false, "isPure": false, @@ -41224,7 +41114,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2040, + "id": 2051, "isConstant": false, "isLValue": false, "isPure": false, @@ -41234,7 +41124,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2027, + "id": 2038, "isConstant": false, "isLValue": false, "isPure": false, @@ -41244,7 +41134,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2017, + "id": 2028, "isConstant": false, "isLValue": false, "isPure": false, @@ -41254,7 +41144,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2004, + "id": 2015, "isConstant": false, "isLValue": false, "isPure": false, @@ -41264,7 +41154,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1991, + "id": 2002, "isConstant": false, "isLValue": false, "isPure": false, @@ -41274,14 +41164,14 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1978, + "id": 1989, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "313238", - "id": 1970, + "id": 1981, "isConstant": false, "isLValue": false, "isPure": true, @@ -41304,7 +41194,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1976, + "id": 1987, "isConstant": false, "isLValue": false, "isPure": false, @@ -41316,17 +41206,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1973, + "id": 1984, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1971, + "id": 1982, "name": "scalar_v", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1934, + "referencedDeclaration": 1945, "src": "27950:8:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -41336,11 +41226,11 @@ "nodeType": "BinaryOperation", "operator": ">>", "rightExpression": { - "id": 1972, + "id": 1983, "name": "zz", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1942, + "referencedDeclaration": 1953, "src": "27962:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -41354,7 +41244,7 @@ } } ], - "id": 1974, + "id": 1985, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -41371,7 +41261,7 @@ "operator": "&", "rightExpression": { "hexValue": "31", - "id": 1975, + "id": 1986, "isConstant": false, "isLValue": false, "isPure": true, @@ -41392,7 +41282,7 @@ } } ], - "id": 1977, + "id": 1988, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -41418,14 +41308,14 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1990, + "id": 2001, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "3634", - "id": 1979, + "id": 1990, "isConstant": false, "isLValue": false, "isPure": true, @@ -41448,7 +41338,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1988, + "id": 1999, "isConstant": false, "isLValue": false, "isPure": false, @@ -41460,17 +41350,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1985, + "id": 1996, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1980, + "id": 1991, "name": "scalar_v", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1934, + "referencedDeclaration": 1945, "src": "27980:8:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -41486,17 +41376,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1983, + "id": 1994, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1981, + "id": 1992, "name": "zz", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1942, + "referencedDeclaration": 1953, "src": "27993:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -41507,7 +41397,7 @@ "operator": "-", "rightExpression": { "hexValue": "3634", - "id": 1982, + "id": 1993, "isConstant": false, "isLValue": false, "isPure": true, @@ -41528,7 +41418,7 @@ } } ], - "id": 1984, + "id": 1995, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -41548,7 +41438,7 @@ } } ], - "id": 1986, + "id": 1997, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -41565,7 +41455,7 @@ "operator": "&", "rightExpression": { "hexValue": "31", - "id": 1987, + "id": 1998, "isConstant": false, "isLValue": false, "isPure": true, @@ -41586,7 +41476,7 @@ } } ], - "id": 1989, + "id": 2000, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -41618,14 +41508,14 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2003, + "id": 2014, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "3332", - "id": 1992, + "id": 2003, "isConstant": false, "isLValue": false, "isPure": true, @@ -41648,7 +41538,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2001, + "id": 2012, "isConstant": false, "isLValue": false, "isPure": false, @@ -41660,17 +41550,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1998, + "id": 2009, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1993, + "id": 2004, "name": "scalar_v", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1934, + "referencedDeclaration": 1945, "src": "28045:8:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -41686,17 +41576,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1996, + "id": 2007, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1994, + "id": 2005, "name": "zz", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1942, + "referencedDeclaration": 1953, "src": "28058:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -41707,7 +41597,7 @@ "operator": "-", "rightExpression": { "hexValue": "313238", - "id": 1995, + "id": 2006, "isConstant": false, "isLValue": false, "isPure": true, @@ -41728,7 +41618,7 @@ } } ], - "id": 1997, + "id": 2008, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -41748,7 +41638,7 @@ } } ], - "id": 1999, + "id": 2010, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -41765,7 +41655,7 @@ "operator": "&", "rightExpression": { "hexValue": "31", - "id": 2000, + "id": 2011, "isConstant": false, "isLValue": false, "isPure": true, @@ -41786,7 +41676,7 @@ } } ], - "id": 2002, + "id": 2013, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -41818,14 +41708,14 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2016, + "id": 2027, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "3136", - "id": 2005, + "id": 2016, "isConstant": false, "isLValue": false, "isPure": true, @@ -41848,7 +41738,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2014, + "id": 2025, "isConstant": false, "isLValue": false, "isPure": false, @@ -41860,17 +41750,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2011, + "id": 2022, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2006, + "id": 2017, "name": "scalar_v", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1934, + "referencedDeclaration": 1945, "src": "28083:8:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -41886,17 +41776,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2009, + "id": 2020, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2007, + "id": 2018, "name": "zz", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1942, + "referencedDeclaration": 1953, "src": "28096:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -41907,7 +41797,7 @@ "operator": "-", "rightExpression": { "hexValue": "313932", - "id": 2008, + "id": 2019, "isConstant": false, "isLValue": false, "isPure": true, @@ -41928,7 +41818,7 @@ } } ], - "id": 2010, + "id": 2021, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -41948,7 +41838,7 @@ } } ], - "id": 2012, + "id": 2023, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -41965,7 +41855,7 @@ "operator": "&", "rightExpression": { "hexValue": "31", - "id": 2013, + "id": 2024, "isConstant": false, "isLValue": false, "isPure": true, @@ -41986,7 +41876,7 @@ } } ], - "id": 2015, + "id": 2026, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -42018,14 +41908,14 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2026, + "id": 2037, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "38", - "id": 2018, + "id": 2029, "isConstant": false, "isLValue": false, "isPure": true, @@ -42048,7 +41938,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2024, + "id": 2035, "isConstant": false, "isLValue": false, "isPure": false, @@ -42060,17 +41950,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2021, + "id": 2032, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2019, + "id": 2030, "name": "scalar_u", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1932, + "referencedDeclaration": 1943, "src": "28148:8:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -42080,11 +41970,11 @@ "nodeType": "BinaryOperation", "operator": ">>", "rightExpression": { - "id": 2020, + "id": 2031, "name": "zz", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1942, + "referencedDeclaration": 1953, "src": "28160:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -42098,7 +41988,7 @@ } } ], - "id": 2022, + "id": 2033, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -42115,7 +42005,7 @@ "operator": "&", "rightExpression": { "hexValue": "31", - "id": 2023, + "id": 2034, "isConstant": false, "isLValue": false, "isPure": true, @@ -42136,7 +42026,7 @@ } } ], - "id": 2025, + "id": 2036, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -42168,14 +42058,14 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2039, + "id": 2050, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "34", - "id": 2028, + "id": 2039, "isConstant": false, "isLValue": false, "isPure": true, @@ -42198,7 +42088,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2037, + "id": 2048, "isConstant": false, "isLValue": false, "isPure": false, @@ -42210,17 +42100,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2034, + "id": 2045, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2029, + "id": 2040, "name": "scalar_u", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1932, + "referencedDeclaration": 1943, "src": "28177:8:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -42236,17 +42126,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2032, + "id": 2043, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2030, + "id": 2041, "name": "zz", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1942, + "referencedDeclaration": 1953, "src": "28190:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -42257,7 +42147,7 @@ "operator": "-", "rightExpression": { "hexValue": "3634", - "id": 2031, + "id": 2042, "isConstant": false, "isLValue": false, "isPure": true, @@ -42278,7 +42168,7 @@ } } ], - "id": 2033, + "id": 2044, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -42298,7 +42188,7 @@ } } ], - "id": 2035, + "id": 2046, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -42315,7 +42205,7 @@ "operator": "&", "rightExpression": { "hexValue": "31", - "id": 2036, + "id": 2047, "isConstant": false, "isLValue": false, "isPure": true, @@ -42336,7 +42226,7 @@ } } ], - "id": 2038, + "id": 2049, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -42368,14 +42258,14 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2052, + "id": 2063, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "32", - "id": 2041, + "id": 2052, "isConstant": false, "isLValue": false, "isPure": true, @@ -42398,7 +42288,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2050, + "id": 2061, "isConstant": false, "isLValue": false, "isPure": false, @@ -42410,17 +42300,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2047, + "id": 2058, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2042, + "id": 2053, "name": "scalar_u", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1932, + "referencedDeclaration": 1943, "src": "28241:8:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -42436,17 +42326,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2045, + "id": 2056, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2043, + "id": 2054, "name": "zz", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1942, + "referencedDeclaration": 1953, "src": "28254:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -42457,7 +42347,7 @@ "operator": "-", "rightExpression": { "hexValue": "313238", - "id": 2044, + "id": 2055, "isConstant": false, "isLValue": false, "isPure": true, @@ -42478,7 +42368,7 @@ } } ], - "id": 2046, + "id": 2057, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -42498,7 +42388,7 @@ } } ], - "id": 2048, + "id": 2059, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -42515,7 +42405,7 @@ "operator": "&", "rightExpression": { "hexValue": "31", - "id": 2049, + "id": 2060, "isConstant": false, "isLValue": false, "isPure": true, @@ -42536,7 +42426,7 @@ } } ], - "id": 2051, + "id": 2062, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -42570,7 +42460,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2062, + "id": 2073, "isConstant": false, "isLValue": false, "isPure": false, @@ -42582,17 +42472,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2059, + "id": 2070, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2054, + "id": 2065, "name": "scalar_u", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1932, + "referencedDeclaration": 1943, "src": "28274:8:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -42608,17 +42498,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2057, + "id": 2068, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2055, + "id": 2066, "name": "zz", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1942, + "referencedDeclaration": 1953, "src": "28287:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -42629,7 +42519,7 @@ "operator": "-", "rightExpression": { "hexValue": "313932", - "id": 2056, + "id": 2067, "isConstant": false, "isLValue": false, "isPure": true, @@ -42650,7 +42540,7 @@ } } ], - "id": 2058, + "id": 2069, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -42670,7 +42560,7 @@ } } ], - "id": 2060, + "id": 2071, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -42687,7 +42577,7 @@ "operator": "&", "rightExpression": { "hexValue": "31", - "id": 2061, + "id": 2072, "isConstant": false, "isLValue": false, "isPure": true, @@ -42708,7 +42598,7 @@ } } ], - "id": 2063, + "id": 2074, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -42728,7 +42618,7 @@ } } ], - "id": 2065, + "id": 2076, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -42753,7 +42643,7 @@ "typeString": "uint256" } }, - "id": 2068, + "id": 2079, "nodeType": "ExpressionStatement", "src": "27884:440:5" } @@ -42764,28 +42654,28 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1959, + "id": 1970, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "baseExpression": { - "id": 1955, + "id": 1966, "name": "T", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1949, + "referencedDeclaration": 1960, "src": "27776:1:5", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" } }, - "id": 1957, + "id": 1968, "indexExpression": { "hexValue": "30", - "id": 1956, + "id": 1967, "isConstant": false, "isLValue": false, "isPure": true, @@ -42814,7 +42704,7 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 1958, + "id": 1969, "isConstant": false, "isLValue": false, "isPure": true, @@ -42834,7 +42724,7 @@ "typeString": "bool" } }, - "id": 2070, + "id": 2081, "nodeType": "WhileStatement", "src": "27769:570:5" }, @@ -46901,917 +46791,917 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 1949, + "declaration": 1960, "isOffset": false, "isSlot": false, "src": "28404:1:5", "valueSize": 1 }, { - "declaration": 1949, + "declaration": 1960, "isOffset": false, "isSlot": false, "src": "28413:1:5", "valueSize": 1 }, { - "declaration": 1949, + "declaration": 1960, "isOffset": false, "isSlot": false, "src": "28488:1:5", "valueSize": 1 }, { - "declaration": 1949, + "declaration": 1960, "isOffset": false, "isSlot": false, "src": "28526:1:5", "valueSize": 1 }, { - "declaration": 1949, + "declaration": 1960, "isOffset": false, "isSlot": false, "src": "30934:1:5", "valueSize": 1 }, { - "declaration": 1949, + "declaration": 1960, "isOffset": false, "isSlot": false, "src": "31196:1:5", "valueSize": 1 }, { - "declaration": 1949, + "declaration": 1960, "isOffset": false, "isSlot": false, "src": "31242:1:5", "valueSize": 1 }, { - "declaration": 1949, + "declaration": 1960, "isOffset": false, "isSlot": false, "src": "31446:1:5", "valueSize": 1 }, { - "declaration": 1949, + "declaration": 1960, "isOffset": false, "isSlot": false, "src": "31524:1:5", "valueSize": 1 }, { - "declaration": 1949, + "declaration": 1960, "isOffset": false, "isSlot": false, "src": "33274:1:5", "valueSize": 1 }, { - "declaration": 1949, + "declaration": 1960, "isOffset": false, "isSlot": false, "src": "33547:1:5", "valueSize": 1 }, { - "declaration": 1949, + "declaration": 1960, "isOffset": false, "isSlot": false, "src": "33583:1:5", "valueSize": 1 }, { - "declaration": 1949, + "declaration": 1960, "isOffset": false, "isSlot": false, "src": "33626:1:5", "valueSize": 1 }, { - "declaration": 1949, + "declaration": 1960, "isOffset": false, "isSlot": false, "src": "33780:1:5", "valueSize": 1 }, { - "declaration": 1949, + "declaration": 1960, "isOffset": false, "isSlot": false, "src": "33826:1:5", "valueSize": 1 }, { - "declaration": 1949, + "declaration": 1960, "isOffset": false, "isSlot": false, "src": "33954:1:5", "valueSize": 1 }, { - "declaration": 1949, + "declaration": 1960, "isOffset": false, "isSlot": false, "src": "33963:1:5", "valueSize": 1 }, { - "declaration": 1949, + "declaration": 1960, "isOffset": false, "isSlot": false, "src": "34019:1:5", "valueSize": 1 }, { - "declaration": 1939, + "declaration": 1950, "isOffset": false, "isSlot": false, "src": "28477:1:5", "valueSize": 1 }, { - "declaration": 1939, + "declaration": 1950, "isOffset": false, "isSlot": false, "src": "28968:1:5", "valueSize": 1 }, { - "declaration": 1939, + "declaration": 1950, "isOffset": false, "isSlot": false, "src": "29109:1:5", "valueSize": 1 }, { - "declaration": 1939, + "declaration": 1950, "isOffset": false, "isSlot": false, "src": "29135:1:5", "valueSize": 1 }, { - "declaration": 1939, + "declaration": 1950, "isOffset": false, "isSlot": false, "src": "29334:1:5", "valueSize": 1 }, { - "declaration": 1939, + "declaration": 1950, "isOffset": false, "isSlot": false, "src": "29532:1:5", "valueSize": 1 }, { - "declaration": 1939, + "declaration": 1950, "isOffset": false, "isSlot": false, "src": "31185:1:5", "valueSize": 1 }, { - "declaration": 1939, + "declaration": 1950, "isOffset": false, "isSlot": false, "src": "31543:1:5", "valueSize": 1 }, { - "declaration": 1939, + "declaration": 1950, "isOffset": false, "isSlot": false, "src": "31888:1:5", "valueSize": 1 }, { - "declaration": 1939, + "declaration": 1950, "isOffset": false, "isSlot": false, "src": "32027:1:5", "valueSize": 1 }, { - "declaration": 1939, + "declaration": 1950, "isOffset": false, "isSlot": false, "src": "32045:1:5", "valueSize": 1 }, { - "declaration": 1939, + "declaration": 1950, "isOffset": false, "isSlot": false, "src": "32342:1:5", "valueSize": 1 }, { - "declaration": 1939, + "declaration": 1950, "isOffset": false, "isSlot": false, "src": "32479:1:5", "valueSize": 1 }, { - "declaration": 1939, + "declaration": 1950, "isOffset": false, "isSlot": false, "src": "32981:1:5", "valueSize": 1 }, { - "declaration": 1939, + "declaration": 1950, "isOffset": false, "isSlot": false, "src": "33015:1:5", "valueSize": 1 }, { - "declaration": 1939, + "declaration": 1950, "isOffset": false, "isSlot": false, "src": "33159:1:5", "valueSize": 1 }, { - "declaration": 1939, + "declaration": 1950, "isOffset": false, "isSlot": false, "src": "34038:1:5", "valueSize": 1 }, { - "declaration": 1939, + "declaration": 1950, "isOffset": false, "isSlot": false, "src": "34050:1:5", "valueSize": 1 }, { - "declaration": 1936, + "declaration": 1947, "isOffset": false, "isSlot": false, "src": "28391:11:5", "valueSize": 1 }, { - "declaration": 1936, + "declaration": 1947, "isOffset": false, "isSlot": false, "src": "30921:11:5", "valueSize": 1 }, { - "declaration": 983, + "declaration": 994, "isOffset": false, "isSlot": false, "src": "29372:7:5", "valueSize": 1 }, { - "declaration": 983, + "declaration": 994, "isOffset": false, "isSlot": false, "src": "31740:7:5", "valueSize": 1 }, { - "declaration": 983, + "declaration": 994, "isOffset": false, "isSlot": false, "src": "32380:7:5", "valueSize": 1 }, { - "declaration": 983, + "declaration": 994, "isOffset": false, "isSlot": false, "src": "33076:7:5", "valueSize": 1 }, { - "declaration": 983, + "declaration": 994, "isOffset": false, "isSlot": false, "src": "33790:7:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "28842:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "28915:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "28975:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "29040:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "29116:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "29124:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "29142:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "29146:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "29150:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "29224:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "29286:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "29361:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "29385:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "29389:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "29539:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "29547:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "29551:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "29713:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "29721:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "30815:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "31460:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "31467:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "31532:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "31540:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "31547:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "31752:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "31827:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "31895:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "31964:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "32034:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "32052:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "32060:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "32064:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "32138:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "32216:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "32286:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "32369:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "32393:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "32397:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "32476:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "32483:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "32487:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "32563:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "32567:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "32737:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "32789:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "32840:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "32927:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "32988:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "33049:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "33057:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "33065:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "33090:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "33094:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "33156:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "33163:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "33171:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "33189:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "33193:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "33836:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "34057:1:5", "valueSize": 1 }, { - "declaration": 1932, + "declaration": 1943, "isOffset": false, "isSlot": false, "src": "30009:8:5", "valueSize": 1 }, { - "declaration": 1932, + "declaration": 1943, "isOffset": false, "isSlot": false, "src": "30215:8:5", "valueSize": 1 }, { - "declaration": 1932, + "declaration": 1943, "isOffset": false, "isSlot": false, "src": "30423:8:5", "valueSize": 1 }, { - "declaration": 1932, + "declaration": 1943, "isOffset": false, "isSlot": false, "src": "30624:8:5", "valueSize": 1 }, { - "declaration": 1934, + "declaration": 1945, "isOffset": false, "isSlot": false, "src": "29971:8:5", "valueSize": 1 }, { - "declaration": 1934, + "declaration": 1945, "isOffset": false, "isSlot": false, "src": "30176:8:5", "valueSize": 1 }, { - "declaration": 1934, + "declaration": 1945, "isOffset": false, "isSlot": false, "src": "30384:8:5", "valueSize": 1 }, { - "declaration": 1934, + "declaration": 1945, "isOffset": false, "isSlot": false, "src": "30586:8:5", "valueSize": 1 }, { - "declaration": 1942, + "declaration": 1953, "isOffset": false, "isSlot": false, "src": "28454:2:5", "valueSize": 1 }, { - "declaration": 1942, + "declaration": 1953, "isOffset": false, "isSlot": false, "src": "28579:2:5", "valueSize": 1 }, { - "declaration": 1942, + "declaration": 1953, "isOffset": false, "isSlot": false, "src": "29119:2:5", "valueSize": 1 }, { - "declaration": 1942, + "declaration": 1953, "isOffset": false, "isSlot": false, "src": "29138:2:5", "valueSize": 1 }, { - "declaration": 1942, + "declaration": 1953, "isOffset": false, "isSlot": false, "src": "29265:2:5", "valueSize": 1 }, { - "declaration": 1942, + "declaration": 1953, "isOffset": false, "isSlot": false, "src": "29282:2:5", "valueSize": 1 }, { - "declaration": 1942, + "declaration": 1953, "isOffset": false, "isSlot": false, "src": "31151:2:5", "valueSize": 1 }, { - "declaration": 1942, + "declaration": 1953, "isOffset": false, "isSlot": false, "src": "31278:2:5", "valueSize": 1 }, { - "declaration": 1942, + "declaration": 1953, "isOffset": false, "isSlot": false, "src": "31528:2:5", "valueSize": 1 }, { - "declaration": 1942, + "declaration": 1953, "isOffset": false, "isSlot": false, "src": "32030:2:5", "valueSize": 1 }, { - "declaration": 1942, + "declaration": 1953, "isOffset": false, "isSlot": false, "src": "32055:2:5", "valueSize": 1 }, { - "declaration": 1942, + "declaration": 1953, "isOffset": false, "isSlot": false, "src": "32265:2:5", "valueSize": 1 }, { - "declaration": 1942, + "declaration": 1953, "isOffset": false, "isSlot": false, "src": "32282:2:5", "valueSize": 1 }, { - "declaration": 1942, + "declaration": 1953, "isOffset": false, "isSlot": false, "src": "32819:2:5", "valueSize": 1 }, { - "declaration": 1942, + "declaration": 1953, "isOffset": false, "isSlot": false, "src": "32832:2:5", "valueSize": 1 }, { - "declaration": 1942, + "declaration": 1953, "isOffset": false, "isSlot": false, "src": "33284:2:5", "valueSize": 1 }, { - "declaration": 1942, + "declaration": 1953, "isOffset": false, "isSlot": false, "src": "34007:2:5", "valueSize": 1 }, { - "declaration": 1942, + "declaration": 1953, "isOffset": false, "isSlot": false, "src": "34053:2:5", "valueSize": 1 } ], - "id": 2071, + "id": 2082, "nodeType": "InlineAssembly", "src": "28352:5728:5" } @@ -47819,7 +47709,7 @@ } ] }, - "id": 2074, + "id": 2085, "implemented": true, "kind": "function", "modifiers": [], @@ -47827,17 +47717,17 @@ "nameLocation": "27450:25:5", "nodeType": "FunctionDefinition", "parameters": { - "id": 1937, + "id": 1948, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1932, + "id": 1943, "mutability": "mutable", "name": "scalar_u", "nameLocation": "27484:8:5", "nodeType": "VariableDeclaration", - "scope": 2074, + "scope": 2085, "src": "27476:16:5", "stateVariable": false, "storageLocation": "default", @@ -47846,7 +47736,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1931, + "id": 1942, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "27476:7:5", @@ -47859,12 +47749,12 @@ }, { "constant": false, - "id": 1934, + "id": 1945, "mutability": "mutable", "name": "scalar_v", "nameLocation": "27502:8:5", "nodeType": "VariableDeclaration", - "scope": 2074, + "scope": 2085, "src": "27494:16:5", "stateVariable": false, "storageLocation": "default", @@ -47873,7 +47763,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1933, + "id": 1944, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "27494:7:5", @@ -47886,12 +47776,12 @@ }, { "constant": false, - "id": 1936, + "id": 1947, "mutability": "mutable", "name": "dataPointer", "nameLocation": "27520:11:5", "nodeType": "VariableDeclaration", - "scope": 2074, + "scope": 2085, "src": "27512:19:5", "stateVariable": false, "storageLocation": "default", @@ -47900,7 +47790,7 @@ "typeString": "address" }, "typeName": { - "id": 1935, + "id": 1946, "name": "address", "nodeType": "ElementaryTypeName", "src": "27512:7:5", @@ -47916,17 +47806,17 @@ "src": "27475:57:5" }, "returnParameters": { - "id": 1940, + "id": 1951, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1939, + "id": 1950, "mutability": "mutable", "name": "X", "nameLocation": "27580:1:5", "nodeType": "VariableDeclaration", - "scope": 2074, + "scope": 2085, "src": "27572:9:5", "stateVariable": false, "storageLocation": "default", @@ -47935,7 +47825,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1938, + "id": 1949, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "27572:7:5", @@ -47949,7 +47839,7 @@ ], "src": "27571:25:5" }, - "scope": 2298, + "scope": 2309, "src": "27441:6671:5", "stateMutability": "view", "virtual": false, @@ -47957,23 +47847,23 @@ }, { "body": { - "id": 2217, + "id": 2228, "nodeType": "Block", "src": "34356:4828:5", "statements": [ { "assignments": [ - 2086 + 2097 ], "declarations": [ { "constant": false, - "id": 2086, + "id": 2097, "mutability": "mutable", "name": "zz", "nameLocation": "34374:2:5", "nodeType": "VariableDeclaration", - "scope": 2217, + "scope": 2228, "src": "34366:10:5", "stateVariable": false, "storageLocation": "default", @@ -47982,7 +47872,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2085, + "id": 2096, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "34366:7:5", @@ -47994,23 +47884,23 @@ "visibility": "internal" } ], - "id": 2087, + "id": 2098, "nodeType": "VariableDeclarationStatement", "src": "34366:10:5" }, { "assignments": [ - 2093 + 2104 ], "declarations": [ { "constant": false, - "id": 2093, + "id": 2104, "mutability": "mutable", "name": "T", "nameLocation": "34444:1:5", "nodeType": "VariableDeclaration", - "scope": 2217, + "scope": 2228, "src": "34426:19:5", "stateVariable": false, "storageLocation": "memory", @@ -48020,7 +47910,7 @@ }, "typeName": { "baseType": { - "id": 2091, + "id": 2102, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "34426:7:5", @@ -48029,10 +47919,10 @@ "typeString": "uint256" } }, - "id": 2092, + "id": 2103, "length": { "hexValue": "36", - "id": 2090, + "id": 2101, "isConstant": false, "isLValue": false, "isPure": true, @@ -48056,23 +47946,23 @@ "visibility": "internal" } ], - "id": 2094, + "id": 2105, "nodeType": "VariableDeclarationStatement", "src": "34426:19:5" }, { "expression": { - "id": 2097, + "id": 2108, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 2095, + "id": 2106, "name": "zz", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2086, + "referencedDeclaration": 2097, "src": "34455:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -48083,7 +47973,7 @@ "operator": "=", "rightHandSide": { "hexValue": "323536", - "id": 2096, + "id": 2107, "isConstant": false, "isLValue": false, "isPure": true, @@ -48103,34 +47993,34 @@ "typeString": "uint256" } }, - "id": 2098, + "id": 2109, "nodeType": "ExpressionStatement", "src": "34455:8:5" }, { - "id": 2216, + "id": 2227, "nodeType": "UncheckedBlock", "src": "34488:4674:5", "statements": [ { "body": { - "id": 2213, + "id": 2224, "nodeType": "Block", "src": "34530:552:5", "statements": [ { "expression": { - "id": 2108, + "id": 2119, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 2104, + "id": 2115, "name": "zz", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2086, + "referencedDeclaration": 2097, "src": "34548:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -48144,17 +48034,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2107, + "id": 2118, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2105, + "id": 2116, "name": "zz", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2086, + "referencedDeclaration": 2097, "src": "34553:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -48165,7 +48055,7 @@ "operator": "-", "rightExpression": { "hexValue": "31", - "id": 2106, + "id": 2117, "isConstant": false, "isLValue": false, "isPure": true, @@ -48191,34 +48081,34 @@ "typeString": "uint256" } }, - "id": 2109, + "id": 2120, "nodeType": "ExpressionStatement", "src": "34548:11:5" }, { "expression": { - "id": 2211, + "id": 2222, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 2110, + "id": 2121, "name": "T", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2093, + "referencedDeclaration": 2104, "src": "34627:1:5", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" } }, - "id": 2112, + "id": 2123, "indexExpression": { "hexValue": "30", - "id": 2111, + "id": 2122, "isConstant": false, "isLValue": false, "isPure": true, @@ -48250,14 +48140,14 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2210, + "id": 2221, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "3634", - "id": 2113, + "id": 2124, "isConstant": false, "isLValue": false, "isPure": true, @@ -48280,7 +48170,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2208, + "id": 2219, "isConstant": false, "isLValue": false, "isPure": false, @@ -48290,7 +48180,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2197, + "id": 2208, "isConstant": false, "isLValue": false, "isPure": false, @@ -48300,7 +48190,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2184, + "id": 2195, "isConstant": false, "isLValue": false, "isPure": false, @@ -48310,7 +48200,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2171, + "id": 2182, "isConstant": false, "isLValue": false, "isPure": false, @@ -48320,7 +48210,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2161, + "id": 2172, "isConstant": false, "isLValue": false, "isPure": false, @@ -48330,7 +48220,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2148, + "id": 2159, "isConstant": false, "isLValue": false, "isPure": false, @@ -48340,7 +48230,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2135, + "id": 2146, "isConstant": false, "isLValue": false, "isPure": false, @@ -48350,14 +48240,14 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2122, + "id": 2133, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "313238", - "id": 2114, + "id": 2125, "isConstant": false, "isLValue": false, "isPure": true, @@ -48380,7 +48270,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2120, + "id": 2131, "isConstant": false, "isLValue": false, "isPure": false, @@ -48392,17 +48282,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2117, + "id": 2128, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2115, + "id": 2126, "name": "scalar_v", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2078, + "referencedDeclaration": 2089, "src": "34693:8:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -48412,11 +48302,11 @@ "nodeType": "BinaryOperation", "operator": ">>", "rightExpression": { - "id": 2116, + "id": 2127, "name": "zz", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2086, + "referencedDeclaration": 2097, "src": "34705:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -48430,7 +48320,7 @@ } } ], - "id": 2118, + "id": 2129, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -48447,7 +48337,7 @@ "operator": "&", "rightExpression": { "hexValue": "31", - "id": 2119, + "id": 2130, "isConstant": false, "isLValue": false, "isPure": true, @@ -48468,7 +48358,7 @@ } } ], - "id": 2121, + "id": 2132, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -48494,14 +48384,14 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2134, + "id": 2145, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "3634", - "id": 2123, + "id": 2134, "isConstant": false, "isLValue": false, "isPure": true, @@ -48524,7 +48414,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2132, + "id": 2143, "isConstant": false, "isLValue": false, "isPure": false, @@ -48536,17 +48426,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2129, + "id": 2140, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2124, + "id": 2135, "name": "scalar_v", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2078, + "referencedDeclaration": 2089, "src": "34723:8:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -48562,17 +48452,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2127, + "id": 2138, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2125, + "id": 2136, "name": "zz", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2086, + "referencedDeclaration": 2097, "src": "34736:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -48583,7 +48473,7 @@ "operator": "-", "rightExpression": { "hexValue": "3634", - "id": 2126, + "id": 2137, "isConstant": false, "isLValue": false, "isPure": true, @@ -48604,7 +48494,7 @@ } } ], - "id": 2128, + "id": 2139, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -48624,7 +48514,7 @@ } } ], - "id": 2130, + "id": 2141, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -48641,7 +48531,7 @@ "operator": "&", "rightExpression": { "hexValue": "31", - "id": 2131, + "id": 2142, "isConstant": false, "isLValue": false, "isPure": true, @@ -48662,7 +48552,7 @@ } } ], - "id": 2133, + "id": 2144, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -48694,14 +48584,14 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2147, + "id": 2158, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "3332", - "id": 2136, + "id": 2147, "isConstant": false, "isLValue": false, "isPure": true, @@ -48724,7 +48614,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2145, + "id": 2156, "isConstant": false, "isLValue": false, "isPure": false, @@ -48736,17 +48626,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2142, + "id": 2153, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2137, + "id": 2148, "name": "scalar_v", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2078, + "referencedDeclaration": 2089, "src": "34788:8:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -48762,17 +48652,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2140, + "id": 2151, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2138, + "id": 2149, "name": "zz", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2086, + "referencedDeclaration": 2097, "src": "34801:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -48783,7 +48673,7 @@ "operator": "-", "rightExpression": { "hexValue": "313238", - "id": 2139, + "id": 2150, "isConstant": false, "isLValue": false, "isPure": true, @@ -48804,7 +48694,7 @@ } } ], - "id": 2141, + "id": 2152, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -48824,7 +48714,7 @@ } } ], - "id": 2143, + "id": 2154, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -48841,7 +48731,7 @@ "operator": "&", "rightExpression": { "hexValue": "31", - "id": 2144, + "id": 2155, "isConstant": false, "isLValue": false, "isPure": true, @@ -48862,7 +48752,7 @@ } } ], - "id": 2146, + "id": 2157, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -48894,14 +48784,14 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2160, + "id": 2171, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "3136", - "id": 2149, + "id": 2160, "isConstant": false, "isLValue": false, "isPure": true, @@ -48924,7 +48814,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2158, + "id": 2169, "isConstant": false, "isLValue": false, "isPure": false, @@ -48936,17 +48826,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2155, + "id": 2166, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2150, + "id": 2161, "name": "scalar_v", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2078, + "referencedDeclaration": 2089, "src": "34826:8:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -48962,17 +48852,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2153, + "id": 2164, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2151, + "id": 2162, "name": "zz", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2086, + "referencedDeclaration": 2097, "src": "34839:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -48983,7 +48873,7 @@ "operator": "-", "rightExpression": { "hexValue": "313932", - "id": 2152, + "id": 2163, "isConstant": false, "isLValue": false, "isPure": true, @@ -49004,7 +48894,7 @@ } } ], - "id": 2154, + "id": 2165, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -49024,7 +48914,7 @@ } } ], - "id": 2156, + "id": 2167, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -49041,7 +48931,7 @@ "operator": "&", "rightExpression": { "hexValue": "31", - "id": 2157, + "id": 2168, "isConstant": false, "isLValue": false, "isPure": true, @@ -49062,7 +48952,7 @@ } } ], - "id": 2159, + "id": 2170, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -49094,14 +48984,14 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2170, + "id": 2181, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "38", - "id": 2162, + "id": 2173, "isConstant": false, "isLValue": false, "isPure": true, @@ -49124,7 +49014,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2168, + "id": 2179, "isConstant": false, "isLValue": false, "isPure": false, @@ -49136,17 +49026,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2165, + "id": 2176, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2163, + "id": 2174, "name": "scalar_u", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2076, + "referencedDeclaration": 2087, "src": "34891:8:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -49156,11 +49046,11 @@ "nodeType": "BinaryOperation", "operator": ">>", "rightExpression": { - "id": 2164, + "id": 2175, "name": "zz", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2086, + "referencedDeclaration": 2097, "src": "34903:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -49174,7 +49064,7 @@ } } ], - "id": 2166, + "id": 2177, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -49191,7 +49081,7 @@ "operator": "&", "rightExpression": { "hexValue": "31", - "id": 2167, + "id": 2178, "isConstant": false, "isLValue": false, "isPure": true, @@ -49212,7 +49102,7 @@ } } ], - "id": 2169, + "id": 2180, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -49244,14 +49134,14 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2183, + "id": 2194, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "34", - "id": 2172, + "id": 2183, "isConstant": false, "isLValue": false, "isPure": true, @@ -49274,7 +49164,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2181, + "id": 2192, "isConstant": false, "isLValue": false, "isPure": false, @@ -49286,17 +49176,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2178, + "id": 2189, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2173, + "id": 2184, "name": "scalar_u", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2076, + "referencedDeclaration": 2087, "src": "34920:8:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -49312,17 +49202,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2176, + "id": 2187, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2174, + "id": 2185, "name": "zz", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2086, + "referencedDeclaration": 2097, "src": "34933:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -49333,7 +49223,7 @@ "operator": "-", "rightExpression": { "hexValue": "3634", - "id": 2175, + "id": 2186, "isConstant": false, "isLValue": false, "isPure": true, @@ -49354,7 +49244,7 @@ } } ], - "id": 2177, + "id": 2188, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -49374,7 +49264,7 @@ } } ], - "id": 2179, + "id": 2190, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -49391,7 +49281,7 @@ "operator": "&", "rightExpression": { "hexValue": "31", - "id": 2180, + "id": 2191, "isConstant": false, "isLValue": false, "isPure": true, @@ -49412,7 +49302,7 @@ } } ], - "id": 2182, + "id": 2193, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -49444,14 +49334,14 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2196, + "id": 2207, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "32", - "id": 2185, + "id": 2196, "isConstant": false, "isLValue": false, "isPure": true, @@ -49474,7 +49364,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2194, + "id": 2205, "isConstant": false, "isLValue": false, "isPure": false, @@ -49486,17 +49376,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2191, + "id": 2202, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2186, + "id": 2197, "name": "scalar_u", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2076, + "referencedDeclaration": 2087, "src": "34984:8:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -49512,17 +49402,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2189, + "id": 2200, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2187, + "id": 2198, "name": "zz", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2086, + "referencedDeclaration": 2097, "src": "34997:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -49533,7 +49423,7 @@ "operator": "-", "rightExpression": { "hexValue": "313238", - "id": 2188, + "id": 2199, "isConstant": false, "isLValue": false, "isPure": true, @@ -49554,7 +49444,7 @@ } } ], - "id": 2190, + "id": 2201, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -49574,7 +49464,7 @@ } } ], - "id": 2192, + "id": 2203, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -49591,7 +49481,7 @@ "operator": "&", "rightExpression": { "hexValue": "31", - "id": 2193, + "id": 2204, "isConstant": false, "isLValue": false, "isPure": true, @@ -49612,7 +49502,7 @@ } } ], - "id": 2195, + "id": 2206, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -49646,7 +49536,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2206, + "id": 2217, "isConstant": false, "isLValue": false, "isPure": false, @@ -49658,17 +49548,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2203, + "id": 2214, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2198, + "id": 2209, "name": "scalar_u", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2076, + "referencedDeclaration": 2087, "src": "35017:8:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -49684,17 +49574,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2201, + "id": 2212, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2199, + "id": 2210, "name": "zz", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2086, + "referencedDeclaration": 2097, "src": "35030:2:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -49705,7 +49595,7 @@ "operator": "-", "rightExpression": { "hexValue": "313932", - "id": 2200, + "id": 2211, "isConstant": false, "isLValue": false, "isPure": true, @@ -49726,7 +49616,7 @@ } } ], - "id": 2202, + "id": 2213, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -49746,7 +49636,7 @@ } } ], - "id": 2204, + "id": 2215, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -49763,7 +49653,7 @@ "operator": "&", "rightExpression": { "hexValue": "31", - "id": 2205, + "id": 2216, "isConstant": false, "isLValue": false, "isPure": true, @@ -49784,7 +49674,7 @@ } } ], - "id": 2207, + "id": 2218, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -49804,7 +49694,7 @@ } } ], - "id": 2209, + "id": 2220, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -49829,7 +49719,7 @@ "typeString": "uint256" } }, - "id": 2212, + "id": 2223, "nodeType": "ExpressionStatement", "src": "34627:440:5" } @@ -49840,28 +49730,28 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2103, + "id": 2114, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "baseExpression": { - "id": 2099, + "id": 2110, "name": "T", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2093, + "referencedDeclaration": 2104, "src": "34519:1:5", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" } }, - "id": 2101, + "id": 2112, "indexExpression": { "hexValue": "30", - "id": 2100, + "id": 2111, "isConstant": false, "isLValue": false, "isPure": true, @@ -49890,7 +49780,7 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 2102, + "id": 2113, "isConstant": false, "isLValue": false, "isPure": true, @@ -49910,7 +49800,7 @@ "typeString": "bool" } }, - "id": 2214, + "id": 2225, "nodeType": "WhileStatement", "src": "34512:570:5" }, @@ -53091,658 +52981,658 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2093, + "declaration": 2104, "isOffset": false, "isSlot": false, "src": "35131:1:5", "valueSize": 1 }, { - "declaration": 2093, + "declaration": 2104, "isOffset": false, "isSlot": false, "src": "35144:1:5", "valueSize": 1 }, { - "declaration": 2093, + "declaration": 2104, "isOffset": false, "isSlot": false, "src": "35193:1:5", "valueSize": 1 }, { - "declaration": 2093, + "declaration": 2104, "isOffset": false, "isSlot": false, "src": "35231:1:5", "valueSize": 1 }, { - "declaration": 2093, + "declaration": 2104, "isOffset": false, "isSlot": false, "src": "37496:1:5", "valueSize": 1 }, { - "declaration": 2093, + "declaration": 2104, "isOffset": false, "isSlot": false, "src": "37630:1:5", "valueSize": 1 }, { - "declaration": 2093, + "declaration": 2104, "isOffset": false, "isSlot": false, "src": "37704:1:5", "valueSize": 1 }, { - "declaration": 2093, + "declaration": 2104, "isOffset": false, "isSlot": false, "src": "38346:1:5", "valueSize": 1 }, { - "declaration": 2093, + "declaration": 2104, "isOffset": false, "isSlot": false, "src": "38619:1:5", "valueSize": 1 }, { - "declaration": 2093, + "declaration": 2104, "isOffset": false, "isSlot": false, "src": "38655:1:5", "valueSize": 1 }, { - "declaration": 2093, + "declaration": 2104, "isOffset": false, "isSlot": false, "src": "38698:1:5", "valueSize": 1 }, { - "declaration": 2093, + "declaration": 2104, "isOffset": false, "isSlot": false, "src": "38852:1:5", "valueSize": 1 }, { - "declaration": 2093, + "declaration": 2104, "isOffset": false, "isSlot": false, "src": "38898:1:5", "valueSize": 1 }, { - "declaration": 2093, + "declaration": 2104, "isOffset": false, "isSlot": false, "src": "39026:1:5", "valueSize": 1 }, { - "declaration": 2093, + "declaration": 2104, "isOffset": false, "isSlot": false, "src": "39035:1:5", "valueSize": 1 }, { - "declaration": 2093, + "declaration": 2104, "isOffset": false, "isSlot": false, "src": "39091:1:5", "valueSize": 1 }, { - "declaration": 2083, + "declaration": 2094, "isOffset": false, "isSlot": false, "src": "35182:1:5", "valueSize": 1 }, { - "declaration": 2083, + "declaration": 2094, "isOffset": false, "isSlot": false, "src": "35618:1:5", "valueSize": 1 }, { - "declaration": 2083, + "declaration": 2094, "isOffset": false, "isSlot": false, "src": "35746:1:5", "valueSize": 1 }, { - "declaration": 2083, + "declaration": 2094, "isOffset": false, "isSlot": false, "src": "35772:1:5", "valueSize": 1 }, { - "declaration": 2083, + "declaration": 2094, "isOffset": false, "isSlot": false, "src": "35959:1:5", "valueSize": 1 }, { - "declaration": 2083, + "declaration": 2094, "isOffset": false, "isSlot": false, "src": "36145:1:5", "valueSize": 1 }, { - "declaration": 2083, + "declaration": 2094, "isOffset": false, "isSlot": false, "src": "37723:1:5", "valueSize": 1 }, { - "declaration": 2083, + "declaration": 2094, "isOffset": false, "isSlot": false, "src": "37986:1:5", "valueSize": 1 }, { - "declaration": 2083, + "declaration": 2094, "isOffset": false, "isSlot": false, "src": "38260:1:5", "valueSize": 1 }, { - "declaration": 2083, + "declaration": 2094, "isOffset": false, "isSlot": false, "src": "39110:1:5", "valueSize": 1 }, { - "declaration": 2083, + "declaration": 2094, "isOffset": false, "isSlot": false, "src": "39122:1:5", "valueSize": 1 }, { - "declaration": 2080, + "declaration": 2091, "isOffset": false, "isSlot": false, "src": "35148:11:5", "valueSize": 1 }, { - "declaration": 2080, + "declaration": 2091, "isOffset": false, "isSlot": false, "src": "37507:11:5", "valueSize": 1 }, { - "declaration": 983, + "declaration": 994, "isOffset": false, "isSlot": false, "src": "35997:7:5", "valueSize": 1 }, { - "declaration": 983, + "declaration": 994, "isOffset": false, "isSlot": false, "src": "38082:7:5", "valueSize": 1 }, { - "declaration": 983, + "declaration": 994, "isOffset": false, "isSlot": false, "src": "38862:7:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "35502:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "35569:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "35625:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "35681:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "35753:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "35761:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "35779:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "35783:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "35787:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "35857:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "35915:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "35986:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "36010:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "36014:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "36152:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "36160:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "36164:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "36318:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "36326:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "37298:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "37644:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "37651:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "37712:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "37720:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "37727:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "37775:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "37823:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "37871:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "37929:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "37993:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "38055:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "38063:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "38071:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "38096:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "38100:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "38162:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "38170:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "38178:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "38196:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "38200:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "38908:1:5", "valueSize": 1 }, { - "declaration": 965, + "declaration": 976, "isOffset": false, "isSlot": false, "src": "39129:1:5", "valueSize": 1 }, { - "declaration": 2076, + "declaration": 2087, "isOffset": false, "isSlot": false, "src": "36558:8:5", "valueSize": 1 }, { - "declaration": 2076, + "declaration": 2087, "isOffset": false, "isSlot": false, "src": "36717:8:5", "valueSize": 1 }, { - "declaration": 2076, + "declaration": 2087, "isOffset": false, "isSlot": false, "src": "36877:8:5", "valueSize": 1 }, { - "declaration": 2076, + "declaration": 2087, "isOffset": false, "isSlot": false, "src": "37037:8:5", "valueSize": 1 }, { - "declaration": 2078, + "declaration": 2089, "isOffset": false, "isSlot": false, "src": "36520:8:5", "valueSize": 1 }, { - "declaration": 2078, + "declaration": 2089, "isOffset": false, "isSlot": false, "src": "36679:8:5", "valueSize": 1 }, { - "declaration": 2078, + "declaration": 2089, "isOffset": false, "isSlot": false, "src": "36839:8:5", "valueSize": 1 }, { - "declaration": 2078, + "declaration": 2089, "isOffset": false, "isSlot": false, "src": "36999:8:5", "valueSize": 1 }, { - "declaration": 2086, + "declaration": 2097, "isOffset": false, "isSlot": false, "src": "35284:2:5", "valueSize": 1 }, { - "declaration": 2086, + "declaration": 2097, "isOffset": false, "isSlot": false, "src": "35756:2:5", "valueSize": 1 }, { - "declaration": 2086, + "declaration": 2097, "isOffset": false, "isSlot": false, "src": "35775:2:5", "valueSize": 1 }, { - "declaration": 2086, + "declaration": 2097, "isOffset": false, "isSlot": false, "src": "35894:2:5", "valueSize": 1 }, { - "declaration": 2086, + "declaration": 2097, "isOffset": false, "isSlot": false, "src": "35911:2:5", "valueSize": 1 }, { - "declaration": 2086, + "declaration": 2097, "isOffset": false, "isSlot": false, "src": "37708:2:5", "valueSize": 1 }, { - "declaration": 2086, + "declaration": 2097, "isOffset": false, "isSlot": false, "src": "37863:2:5", "valueSize": 1 }, { - "declaration": 2086, + "declaration": 2097, "isOffset": false, "isSlot": false, "src": "38227:2:5", "valueSize": 1 }, { - "declaration": 2086, + "declaration": 2097, "isOffset": false, "isSlot": false, "src": "38356:2:5", "valueSize": 1 }, { - "declaration": 2086, + "declaration": 2097, "isOffset": false, "isSlot": false, "src": "39079:2:5", "valueSize": 1 }, { - "declaration": 2086, + "declaration": 2097, "isOffset": false, "isSlot": false, "src": "39125:2:5", "valueSize": 1 } ], - "id": 2215, + "id": 2226, "nodeType": "InlineAssembly", "src": "35095:4057:5" } @@ -53750,7 +53640,7 @@ } ] }, - "id": 2218, + "id": 2229, "implemented": true, "kind": "function", "modifiers": [], @@ -53758,17 +53648,17 @@ "nameLocation": "34205:25:5", "nodeType": "FunctionDefinition", "parameters": { - "id": 2081, + "id": 2092, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2076, + "id": 2087, "mutability": "mutable", "name": "scalar_u", "nameLocation": "34239:8:5", "nodeType": "VariableDeclaration", - "scope": 2218, + "scope": 2229, "src": "34231:16:5", "stateVariable": false, "storageLocation": "default", @@ -53777,7 +53667,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2075, + "id": 2086, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "34231:7:5", @@ -53790,12 +53680,12 @@ }, { "constant": false, - "id": 2078, + "id": 2089, "mutability": "mutable", "name": "scalar_v", "nameLocation": "34257:8:5", "nodeType": "VariableDeclaration", - "scope": 2218, + "scope": 2229, "src": "34249:16:5", "stateVariable": false, "storageLocation": "default", @@ -53804,7 +53694,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2077, + "id": 2088, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "34249:7:5", @@ -53817,12 +53707,12 @@ }, { "constant": false, - "id": 2080, + "id": 2091, "mutability": "mutable", "name": "dataPointer", "nameLocation": "34275:11:5", "nodeType": "VariableDeclaration", - "scope": 2218, + "scope": 2229, "src": "34267:19:5", "stateVariable": false, "storageLocation": "default", @@ -53831,7 +53721,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2079, + "id": 2090, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "34267:7:5", @@ -53846,17 +53736,17 @@ "src": "34230:57:5" }, "returnParameters": { - "id": 2084, + "id": 2095, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2083, + "id": 2094, "mutability": "mutable", "name": "X", "nameLocation": "34335:1:5", "nodeType": "VariableDeclaration", - "scope": 2218, + "scope": 2229, "src": "34327:9:5", "stateVariable": false, "storageLocation": "default", @@ -53865,7 +53755,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2082, + "id": 2093, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "34327:7:5", @@ -53879,7 +53769,7 @@ ], "src": "34326:25:5" }, - "scope": 2298, + "scope": 2309, "src": "34196:4988:5", "stateMutability": "view", "virtual": false, @@ -53887,23 +53777,23 @@ }, { "body": { - "id": 2296, + "id": 2307, "nodeType": "Block", "src": "39920:574:5", "statements": [ { "assignments": [ - 2233 + 2244 ], "declarations": [ { "constant": false, - "id": 2233, + "id": 2244, "mutability": "mutable", "name": "r", "nameLocation": "39938:1:5", "nodeType": "VariableDeclaration", - "scope": 2296, + "scope": 2307, "src": "39930:9:5", "stateVariable": false, "storageLocation": "default", @@ -53912,7 +53802,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2232, + "id": 2243, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "39930:7:5", @@ -53924,24 +53814,24 @@ "visibility": "internal" } ], - "id": 2237, + "id": 2248, "initialValue": { "baseExpression": { - "id": 2234, + "id": 2245, "name": "rs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2225, + "referencedDeclaration": 2236, "src": "39942:2:5", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", "typeString": "uint256[2] calldata" } }, - "id": 2236, + "id": 2247, "indexExpression": { "hexValue": "30", - "id": 2235, + "id": 2246, "isConstant": false, "isLValue": false, "isPure": true, @@ -53971,17 +53861,17 @@ }, { "assignments": [ - 2239 + 2250 ], "declarations": [ { "constant": false, - "id": 2239, + "id": 2250, "mutability": "mutable", "name": "s", "nameLocation": "39965:1:5", "nodeType": "VariableDeclaration", - "scope": 2296, + "scope": 2307, "src": "39957:9:5", "stateVariable": false, "storageLocation": "default", @@ -53990,7 +53880,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2238, + "id": 2249, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "39957:7:5", @@ -54002,24 +53892,24 @@ "visibility": "internal" } ], - "id": 2243, + "id": 2254, "initialValue": { "baseExpression": { - "id": 2240, + "id": 2251, "name": "rs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2225, + "referencedDeclaration": 2236, "src": "39969:2:5", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_calldata_ptr", "typeString": "uint256[2] calldata" } }, - "id": 2242, + "id": 2253, "indexExpression": { "hexValue": "31", - "id": 2241, + "id": 2252, "isConstant": false, "isLValue": false, "isPure": true, @@ -54053,7 +53943,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 2258, + "id": 2269, "isConstant": false, "isLValue": false, "isPure": false, @@ -54063,7 +53953,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 2254, + "id": 2265, "isConstant": false, "isLValue": false, "isPure": false, @@ -54073,7 +53963,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 2250, + "id": 2261, "isConstant": false, "isLValue": false, "isPure": false, @@ -54083,17 +53973,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2246, + "id": 2257, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2244, + "id": 2255, "name": "r", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2233, + "referencedDeclaration": 2244, "src": "39988:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -54104,7 +53994,7 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 2245, + "id": 2256, "isConstant": false, "isLValue": false, "isPure": true, @@ -54131,17 +54021,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2249, + "id": 2260, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2247, + "id": 2258, "name": "r", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2233, + "referencedDeclaration": 2244, "src": "39998:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -54151,11 +54041,11 @@ "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { - "id": 2248, + "id": 2259, "name": "n", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 980, + "referencedDeclaration": 991, "src": "40003:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -54181,17 +54071,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2253, + "id": 2264, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2251, + "id": 2262, "name": "s", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2239, + "referencedDeclaration": 2250, "src": "40008:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -54202,7 +54092,7 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 2252, + "id": 2263, "isConstant": false, "isLValue": false, "isPure": true, @@ -54235,17 +54125,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2257, + "id": 2268, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2255, + "id": 2266, "name": "s", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2239, + "referencedDeclaration": 2250, "src": "40018:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -54255,11 +54145,11 @@ "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { - "id": 2256, + "id": 2267, "name": "n", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 980, + "referencedDeclaration": 991, "src": "40023:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -54278,18 +54168,18 @@ "typeString": "bool" } }, - "id": 2262, + "id": 2273, "nodeType": "IfStatement", "src": "39984:79:5", "trueBody": { - "id": 2261, + "id": 2272, "nodeType": "Block", "src": "40026:37:5", "statements": [ { "expression": { "hexValue": "66616c7365", - "id": 2259, + "id": 2270, "isConstant": false, "isLValue": false, "isPure": true, @@ -54303,8 +54193,8 @@ }, "value": "false" }, - "functionReturnParameters": 2231, - "id": 2260, + "functionReturnParameters": 2242, + "id": 2271, "nodeType": "Return", "src": "40040:12:5" } @@ -54313,17 +54203,17 @@ }, { "assignments": [ - 2264 + 2275 ], "declarations": [ { "constant": false, - "id": 2264, + "id": 2275, "mutability": "mutable", "name": "sInv", "nameLocation": "40215:4:5", "nodeType": "VariableDeclaration", - "scope": 2296, + "scope": 2307, "src": "40207:12:5", "stateVariable": false, "storageLocation": "default", @@ -54332,7 +54222,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2263, + "id": 2274, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "40207:7:5", @@ -54344,15 +54234,15 @@ "visibility": "internal" } ], - "id": 2268, + "id": 2279, "initialValue": { "arguments": [ { - "id": 2266, + "id": 2277, "name": "s", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2239, + "referencedDeclaration": 2250, "src": "40234:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -54367,18 +54257,18 @@ "typeString": "uint256" } ], - "id": 2265, + "id": 2276, "name": "FCL_nModInv", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1008, + "referencedDeclaration": 1019, "src": "40222:11:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256) view returns (uint256)" } }, - "id": 2267, + "id": 2278, "isConstant": false, "isLValue": false, "isPure": false, @@ -54399,17 +54289,17 @@ }, { "assignments": [ - 2270 + 2281 ], "declarations": [ { "constant": false, - "id": 2270, + "id": 2281, "mutability": "mutable", "name": "X", "nameLocation": "40254:1:5", "nodeType": "VariableDeclaration", - "scope": 2296, + "scope": 2307, "src": "40246:9:5", "stateVariable": false, "storageLocation": "default", @@ -54418,7 +54308,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2269, + "id": 2280, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "40246:7:5", @@ -54430,23 +54320,23 @@ "visibility": "internal" } ], - "id": 2271, + "id": 2282, "nodeType": "VariableDeclarationStatement", "src": "40246:9:5" }, { "expression": { - "id": 2289, + "id": 2300, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 2272, + "id": 2283, "name": "X", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2270, + "referencedDeclaration": 2281, "src": "40296:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -54462,11 +54352,11 @@ { "arguments": [ { - "id": 2277, + "id": 2288, "name": "message", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2221, + "referencedDeclaration": 2232, "src": "40341:7:5", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -54481,7 +54371,7 @@ "typeString": "bytes32" } ], - "id": 2276, + "id": 2287, "isConstant": false, "isLValue": false, "isPure": true, @@ -54493,14 +54383,14 @@ "typeString": "type(uint256)" }, "typeName": { - "id": 2275, + "id": 2286, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "40333:7:5", "typeDescriptions": {} } }, - "id": 2278, + "id": 2289, "isConstant": false, "isLValue": false, "isPure": false, @@ -54517,11 +54407,11 @@ } }, { - "id": 2279, + "id": 2290, "name": "sInv", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2264, + "referencedDeclaration": 2275, "src": "40351:4:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -54529,11 +54419,11 @@ } }, { - "id": 2280, + "id": 2291, "name": "n", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 980, + "referencedDeclaration": 991, "src": "40357:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -54556,7 +54446,7 @@ "typeString": "uint256" } ], - "id": 2274, + "id": 2285, "name": "mulmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -54567,7 +54457,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 2281, + "id": 2292, "isConstant": false, "isLValue": false, "isPure": false, @@ -54586,11 +54476,11 @@ { "arguments": [ { - "id": 2283, + "id": 2294, "name": "r", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2233, + "referencedDeclaration": 2244, "src": "40368:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -54598,11 +54488,11 @@ } }, { - "id": 2284, + "id": 2295, "name": "sInv", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2264, + "referencedDeclaration": 2275, "src": "40371:4:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -54610,11 +54500,11 @@ } }, { - "id": 2285, + "id": 2296, "name": "n", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 980, + "referencedDeclaration": 991, "src": "40377:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -54637,7 +54527,7 @@ "typeString": "uint256" } ], - "id": 2282, + "id": 2293, "name": "mulmod", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -54648,7 +54538,7 @@ "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 2286, + "id": 2297, "isConstant": false, "isLValue": false, "isPure": false, @@ -54665,11 +54555,11 @@ } }, { - "id": 2287, + "id": 2298, "name": "endcontract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2227, + "referencedDeclaration": 2238, "src": "40381:11:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -54692,18 +54582,18 @@ "typeString": "uint256" } ], - "id": 2273, + "id": 2284, "name": "ecZZ_mulmuladd_S8_hackmem", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2218, + "referencedDeclaration": 2229, "src": "40300:25:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) view returns (uint256)" } }, - "id": 2288, + "id": 2299, "isConstant": false, "isLValue": false, "isPure": false, @@ -54725,7 +54615,7 @@ "typeString": "uint256" } }, - "id": 2290, + "id": 2301, "nodeType": "ExpressionStatement", "src": "40296:97:5" }, @@ -54803,42 +54693,42 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2270, + "declaration": 2281, "isOffset": false, "isSlot": false, "src": "40427:1:5", "valueSize": 1 }, { - "declaration": 2270, + "declaration": 2281, "isOffset": false, "isSlot": false, "src": "40439:1:5", "valueSize": 1 }, { - "declaration": 980, + "declaration": 991, "isOffset": false, "isSlot": false, "src": "40446:1:5", "valueSize": 1 }, { - "declaration": 980, + "declaration": 991, "isOffset": false, "isSlot": false, "src": "40453:1:5", "valueSize": 1 }, { - "declaration": 2233, + "declaration": 2244, "isOffset": false, "isSlot": false, "src": "40449:1:5", "valueSize": 1 } ], - "id": 2291, + "id": 2302, "nodeType": "InlineAssembly", "src": "40404:61:5" }, @@ -54848,17 +54738,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2294, + "id": 2305, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2292, + "id": 2303, "name": "X", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2270, + "referencedDeclaration": 2281, "src": "40481:1:5", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -54869,7 +54759,7 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 2293, + "id": 2304, "isConstant": false, "isLValue": false, "isPure": true, @@ -54889,20 +54779,20 @@ "typeString": "bool" } }, - "functionReturnParameters": 2231, - "id": 2295, + "functionReturnParameters": 2242, + "id": 2306, "nodeType": "Return", "src": "40474:13:5" } ] }, "documentation": { - "id": 2219, + "id": 2230, "nodeType": "StructuredDocumentation", "src": "39476:292:5", "text": " @dev ECDSA verification using a precomputed table of multiples of P and Q appended at end of contract at address endcontract\n generation of contract bytecode for precomputations is done using sagemath code\n (see sage directory, WebAuthn_precompute.sage)" }, - "id": 2297, + "id": 2308, "implemented": true, "kind": "function", "modifiers": [], @@ -54910,17 +54800,17 @@ "nameLocation": "39783:25:5", "nodeType": "FunctionDefinition", "parameters": { - "id": 2228, + "id": 2239, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2221, + "id": 2232, "mutability": "mutable", "name": "message", "nameLocation": "39817:7:5", "nodeType": "VariableDeclaration", - "scope": 2297, + "scope": 2308, "src": "39809:15:5", "stateVariable": false, "storageLocation": "default", @@ -54929,7 +54819,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 2220, + "id": 2231, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "39809:7:5", @@ -54942,12 +54832,12 @@ }, { "constant": false, - "id": 2225, + "id": 2236, "mutability": "mutable", "name": "rs", "nameLocation": "39846:2:5", "nodeType": "VariableDeclaration", - "scope": 2297, + "scope": 2308, "src": "39826:22:5", "stateVariable": false, "storageLocation": "calldata", @@ -54957,7 +54847,7 @@ }, "typeName": { "baseType": { - "id": 2222, + "id": 2233, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "39826:7:5", @@ -54966,10 +54856,10 @@ "typeString": "uint256" } }, - "id": 2224, + "id": 2235, "length": { "hexValue": "32", - "id": 2223, + "id": 2234, "isConstant": false, "isLValue": false, "isPure": true, @@ -54994,12 +54884,12 @@ }, { "constant": false, - "id": 2227, + "id": 2238, "mutability": "mutable", "name": "endcontract", "nameLocation": "39858:11:5", "nodeType": "VariableDeclaration", - "scope": 2297, + "scope": 2308, "src": "39850:19:5", "stateVariable": false, "storageLocation": "default", @@ -55008,7 +54898,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2226, + "id": 2237, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "39850:7:5", @@ -55023,17 +54913,17 @@ "src": "39808:62:5" }, "returnParameters": { - "id": 2231, + "id": 2242, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2230, + "id": 2241, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2297, + "scope": 2308, "src": "39910:4:5", "stateVariable": false, "storageLocation": "default", @@ -55042,7 +54932,7 @@ "typeString": "bool" }, "typeName": { - "id": 2229, + "id": 2240, "name": "bool", "nodeType": "ElementaryTypeName", "src": "39910:4:5", @@ -55056,14 +54946,14 @@ ], "src": "39909:6:5" }, - "scope": 2298, + "scope": 2309, "src": "39774:720:5", "stateMutability": "view", "virtual": false, "visibility": "internal" } ], - "scope": 2299, + "scope": 2310, "src": "1220:39313:5", "usedErrors": [], "usedEvents": [] @@ -55078,15 +54968,15 @@ "absolutePath": "openzeppelin-contracts/contracts/utils/Base64.sol", "exportedSymbols": { "Base64": [ - 2393 + 2404 ] }, - "id": 2394, + "id": 2405, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 2300, + "id": 2311, "literals": [ "solidity", "^", @@ -55103,15 +54993,15 @@ "contractDependencies": [], "contractKind": "library", "documentation": { - "id": 2301, + "id": 2312, "nodeType": "StructuredDocumentation", "src": "126:75:6", "text": " @dev Provides a set of functions to operate with Base64 strings." }, "fullyImplemented": true, - "id": 2393, + "id": 2404, "linearizedBaseContracts": [ - 2393 + 2404 ], "name": "Base64", "nameLocation": "210:6:6", @@ -55120,17 +55010,17 @@ { "constant": true, "documentation": { - "id": 2302, + "id": 2313, "nodeType": "StructuredDocumentation", "src": "223:131:6", "text": " @dev Base64 Encoding/Decoding Table\n See sections 4 and 5 of https://datatracker.ietf.org/doc/html/rfc4648" }, - "id": 2305, + "id": 2316, "mutability": "constant", "name": "_TABLE", "nameLocation": "384:6:6", "nodeType": "VariableDeclaration", - "scope": 2393, + "scope": 2404, "src": "359:100:6", "stateVariable": true, "storageLocation": "default", @@ -55139,7 +55029,7 @@ "typeString": "string" }, "typeName": { - "id": 2303, + "id": 2314, "name": "string", "nodeType": "ElementaryTypeName", "src": "359:6:6", @@ -55150,7 +55040,7 @@ }, "value": { "hexValue": "4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f", - "id": 2304, + "id": 2315, "isConstant": false, "isLValue": false, "isPure": true, @@ -55168,12 +55058,12 @@ }, { "constant": true, - "id": 2308, + "id": 2319, "mutability": "constant", "name": "_TABLE_URL", "nameLocation": "490:10:6", "nodeType": "VariableDeclaration", - "scope": 2393, + "scope": 2404, "src": "465:104:6", "stateVariable": true, "storageLocation": "default", @@ -55182,7 +55072,7 @@ "typeString": "string" }, "typeName": { - "id": 2306, + "id": 2317, "name": "string", "nodeType": "ElementaryTypeName", "src": "465:6:6", @@ -55193,7 +55083,7 @@ }, "value": { "hexValue": "4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392d5f", - "id": 2307, + "id": 2318, "isConstant": false, "isLValue": false, "isPure": true, @@ -55211,7 +55101,7 @@ }, { "body": { - "id": 2322, + "id": 2333, "nodeType": "Block", "src": "736:51:6", "statements": [ @@ -55219,11 +55109,11 @@ "expression": { "arguments": [ { - "id": 2317, + "id": 2328, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2311, + "referencedDeclaration": 2322, "src": "761:4:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -55231,11 +55121,11 @@ } }, { - "id": 2318, + "id": 2329, "name": "_TABLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2305, + "referencedDeclaration": 2316, "src": "767:6:6", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -55244,7 +55134,7 @@ }, { "hexValue": "74727565", - "id": 2319, + "id": 2330, "isConstant": false, "isLValue": false, "isPure": true, @@ -55274,18 +55164,18 @@ "typeString": "bool" } ], - "id": 2316, + "id": 2327, "name": "_encode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2392, + "referencedDeclaration": 2403, "src": "753:7:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_string_memory_ptr_$_t_bool_$returns$_t_string_memory_ptr_$", "typeString": "function (bytes memory,string memory,bool) pure returns (string memory)" } }, - "id": 2320, + "id": 2331, "isConstant": false, "isLValue": false, "isPure": false, @@ -55301,20 +55191,20 @@ "typeString": "string memory" } }, - "functionReturnParameters": 2315, - "id": 2321, + "functionReturnParameters": 2326, + "id": 2332, "nodeType": "Return", "src": "746:34:6" } ] }, "documentation": { - "id": 2309, + "id": 2320, "nodeType": "StructuredDocumentation", "src": "576:82:6", "text": " @dev Converts a `bytes` to its Bytes64 `string` representation." }, - "id": 2323, + "id": 2334, "implemented": true, "kind": "function", "modifiers": [], @@ -55322,17 +55212,17 @@ "nameLocation": "672:6:6", "nodeType": "FunctionDefinition", "parameters": { - "id": 2312, + "id": 2323, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2311, + "id": 2322, "mutability": "mutable", "name": "data", "nameLocation": "692:4:6", "nodeType": "VariableDeclaration", - "scope": 2323, + "scope": 2334, "src": "679:17:6", "stateVariable": false, "storageLocation": "memory", @@ -55341,7 +55231,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2310, + "id": 2321, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "679:5:6", @@ -55356,17 +55246,17 @@ "src": "678:19:6" }, "returnParameters": { - "id": 2315, + "id": 2326, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2314, + "id": 2325, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2323, + "scope": 2334, "src": "721:13:6", "stateVariable": false, "storageLocation": "memory", @@ -55375,7 +55265,7 @@ "typeString": "string" }, "typeName": { - "id": 2313, + "id": 2324, "name": "string", "nodeType": "ElementaryTypeName", "src": "721:6:6", @@ -55389,7 +55279,7 @@ ], "src": "720:15:6" }, - "scope": 2393, + "scope": 2404, "src": "663:124:6", "stateMutability": "pure", "virtual": false, @@ -55397,7 +55287,7 @@ }, { "body": { - "id": 2337, + "id": 2348, "nodeType": "Block", "src": "1061:56:6", "statements": [ @@ -55405,11 +55295,11 @@ "expression": { "arguments": [ { - "id": 2332, + "id": 2343, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2326, + "referencedDeclaration": 2337, "src": "1086:4:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -55417,11 +55307,11 @@ } }, { - "id": 2333, + "id": 2344, "name": "_TABLE_URL", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2308, + "referencedDeclaration": 2319, "src": "1092:10:6", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -55430,7 +55320,7 @@ }, { "hexValue": "66616c7365", - "id": 2334, + "id": 2345, "isConstant": false, "isLValue": false, "isPure": true, @@ -55460,18 +55350,18 @@ "typeString": "bool" } ], - "id": 2331, + "id": 2342, "name": "_encode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2392, + "referencedDeclaration": 2403, "src": "1078:7:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_string_memory_ptr_$_t_bool_$returns$_t_string_memory_ptr_$", "typeString": "function (bytes memory,string memory,bool) pure returns (string memory)" } }, - "id": 2335, + "id": 2346, "isConstant": false, "isLValue": false, "isPure": false, @@ -55487,20 +55377,20 @@ "typeString": "string memory" } }, - "functionReturnParameters": 2330, - "id": 2336, + "functionReturnParameters": 2341, + "id": 2347, "nodeType": "Return", "src": "1071:39:6" } ] }, "documentation": { - "id": 2324, + "id": 2335, "nodeType": "StructuredDocumentation", "src": "793:187:6", "text": " @dev Converts a `bytes` to its Bytes64Url `string` representation.\n Output is not padded with `=` as specified in https://www.rfc-editor.org/rfc/rfc4648[rfc4648]." }, - "id": 2338, + "id": 2349, "implemented": true, "kind": "function", "modifiers": [], @@ -55508,17 +55398,17 @@ "nameLocation": "994:9:6", "nodeType": "FunctionDefinition", "parameters": { - "id": 2327, + "id": 2338, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2326, + "id": 2337, "mutability": "mutable", "name": "data", "nameLocation": "1017:4:6", "nodeType": "VariableDeclaration", - "scope": 2338, + "scope": 2349, "src": "1004:17:6", "stateVariable": false, "storageLocation": "memory", @@ -55527,7 +55417,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2325, + "id": 2336, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "1004:5:6", @@ -55542,17 +55432,17 @@ "src": "1003:19:6" }, "returnParameters": { - "id": 2330, + "id": 2341, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2329, + "id": 2340, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2338, + "scope": 2349, "src": "1046:13:6", "stateVariable": false, "storageLocation": "memory", @@ -55561,7 +55451,7 @@ "typeString": "string" }, "typeName": { - "id": 2328, + "id": 2339, "name": "string", "nodeType": "ElementaryTypeName", "src": "1046:6:6", @@ -55575,7 +55465,7 @@ ], "src": "1045:15:6" }, - "scope": 2393, + "scope": 2404, "src": "985:132:6", "stateMutability": "pure", "virtual": false, @@ -55583,7 +55473,7 @@ }, { "body": { - "id": 2391, + "id": 2402, "nodeType": "Block", "src": "1298:3910:6", "statements": [ @@ -55593,25 +55483,25 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2353, + "id": 2364, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 2350, + "id": 2361, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2341, + "referencedDeclaration": 2352, "src": "1515:4:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 2351, + "id": 2362, "isConstant": false, "isLValue": false, "isPure": false, @@ -55629,7 +55519,7 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 2352, + "id": 2363, "isConstant": false, "isLValue": false, "isPure": true, @@ -55650,13 +55540,13 @@ } }, "documentation": " Inspired by Brecht Devos (Brechtpd) implementation - MIT licence\n https://github.com/Brechtpd/base64/blob/e78d9fd951e7b0977ddca77d92dc85183770daf4/base64.sol", - "id": 2356, + "id": 2367, "nodeType": "IfStatement", "src": "1511:31:6", "trueBody": { "expression": { "hexValue": "", - "id": 2354, + "id": 2365, "isConstant": false, "isLValue": false, "isPure": true, @@ -55670,25 +55560,25 @@ }, "value": "" }, - "functionReturnParameters": 2349, - "id": 2355, + "functionReturnParameters": 2360, + "id": 2366, "nodeType": "Return", "src": "1533:9:6" } }, { "assignments": [ - 2358 + 2369 ], "declarations": [ { "constant": false, - "id": 2358, + "id": 2369, "mutability": "mutable", "name": "resultLength", "nameLocation": "2488:12:6", "nodeType": "VariableDeclaration", - "scope": 2391, + "scope": 2402, "src": "2480:20:6", "stateVariable": false, "storageLocation": "default", @@ -55697,7 +55587,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2357, + "id": 2368, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2480:7:6", @@ -55709,14 +55599,14 @@ "visibility": "internal" } ], - "id": 2380, + "id": 2391, "initialValue": { "condition": { - "id": 2359, + "id": 2370, "name": "withPadding", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2345, + "referencedDeclaration": 2356, "src": "2503:11:6", "typeDescriptions": { "typeIdentifier": "t_bool", @@ -55728,7 +55618,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2378, + "id": 2389, "isConstant": false, "isLValue": false, "isPure": false, @@ -55740,7 +55630,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2375, + "id": 2386, "isConstant": false, "isLValue": false, "isPure": false, @@ -55750,14 +55640,14 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2373, + "id": 2384, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "34", - "id": 2370, + "id": 2381, "isConstant": false, "isLValue": false, "isPure": true, @@ -55775,18 +55665,18 @@ "operator": "*", "rightExpression": { "expression": { - "id": 2371, + "id": 2382, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2341, + "referencedDeclaration": 2352, "src": "2552:4:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 2372, + "id": 2383, "isConstant": false, "isLValue": false, "isPure": false, @@ -55810,7 +55700,7 @@ "operator": "+", "rightExpression": { "hexValue": "32", - "id": 2374, + "id": 2385, "isConstant": false, "isLValue": false, "isPure": true, @@ -55831,7 +55721,7 @@ } } ], - "id": 2376, + "id": 2387, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -55848,7 +55738,7 @@ "operator": "/", "rightExpression": { "hexValue": "33", - "id": 2377, + "id": 2388, "isConstant": false, "isLValue": false, "isPure": true, @@ -55868,7 +55758,7 @@ "typeString": "uint256" } }, - "id": 2379, + "id": 2390, "isConstant": false, "isLValue": false, "isPure": false, @@ -55880,14 +55770,14 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2369, + "id": 2380, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "hexValue": "34", - "id": 2360, + "id": 2371, "isConstant": false, "isLValue": false, "isPure": true, @@ -55910,7 +55800,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2367, + "id": 2378, "isConstant": false, "isLValue": false, "isPure": false, @@ -55922,25 +55812,25 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2364, + "id": 2375, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 2361, + "id": 2372, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2341, + "referencedDeclaration": 2352, "src": "2523:4:6", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 2362, + "id": 2373, "isConstant": false, "isLValue": false, "isPure": false, @@ -55958,7 +55848,7 @@ "operator": "+", "rightExpression": { "hexValue": "32", - "id": 2363, + "id": 2374, "isConstant": false, "isLValue": false, "isPure": true, @@ -55979,7 +55869,7 @@ } } ], - "id": 2365, + "id": 2376, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -55996,7 +55886,7 @@ "operator": "/", "rightExpression": { "hexValue": "33", - "id": 2366, + "id": 2377, "isConstant": false, "isLValue": false, "isPure": true, @@ -56017,7 +55907,7 @@ } } ], - "id": 2368, + "id": 2379, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -56046,17 +55936,17 @@ }, { "assignments": [ - 2382 + 2393 ], "declarations": [ { "constant": false, - "id": 2382, + "id": 2393, "mutability": "mutable", "name": "result", "nameLocation": "2597:6:6", "nodeType": "VariableDeclaration", - "scope": 2391, + "scope": 2402, "src": "2583:20:6", "stateVariable": false, "storageLocation": "memory", @@ -56065,7 +55955,7 @@ "typeString": "string" }, "typeName": { - "id": 2381, + "id": 2392, "name": "string", "nodeType": "ElementaryTypeName", "src": "2583:6:6", @@ -56077,15 +55967,15 @@ "visibility": "internal" } ], - "id": 2387, + "id": 2398, "initialValue": { "arguments": [ { - "id": 2385, + "id": 2396, "name": "resultLength", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2358, + "referencedDeclaration": 2369, "src": "2617:12:6", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -56100,7 +55990,7 @@ "typeString": "uint256" } ], - "id": 2384, + "id": 2395, "isConstant": false, "isLValue": false, "isPure": true, @@ -56112,7 +56002,7 @@ "typeString": "function (uint256) pure returns (string memory)" }, "typeName": { - "id": 2383, + "id": 2394, "name": "string", "nodeType": "ElementaryTypeName", "src": "2610:6:6", @@ -56122,7 +56012,7 @@ } } }, - "id": 2386, + "id": 2397, "isConstant": false, "isLValue": false, "isPure": false, @@ -57383,49 +57273,49 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2341, + "declaration": 2352, "isOffset": false, "isSlot": false, "src": "2912:4:6", "valueSize": 1 }, { - "declaration": 2341, + "declaration": 2352, "isOffset": false, "isSlot": false, "src": "2947:4:6", "valueSize": 1 }, { - "declaration": 2341, + "declaration": 2352, "isOffset": false, "isSlot": false, "src": "2959:4:6", "valueSize": 1 }, { - "declaration": 2341, + "declaration": 2352, "isOffset": false, "isSlot": false, "src": "4900:4:6", "valueSize": 1 }, { - "declaration": 2382, + "declaration": 2393, "isOffset": false, "isSlot": false, "src": "2871:6:6", "valueSize": 1 }, { - "declaration": 2343, + "declaration": 2354, "isOffset": false, "isSlot": false, "src": "2771:5:6", "valueSize": 1 }, { - "declaration": 2345, + "declaration": 2356, "isOffset": false, "isSlot": false, "src": "4725:11:6", @@ -57435,37 +57325,37 @@ "flags": [ "memory-safe" ], - "id": 2388, + "id": 2399, "nodeType": "InlineAssembly", "src": "2641:2537:6" }, { "expression": { - "id": 2389, + "id": 2400, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2382, + "referencedDeclaration": 2393, "src": "5195:6:6", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "functionReturnParameters": 2349, - "id": 2390, + "functionReturnParameters": 2360, + "id": 2401, "nodeType": "Return", "src": "5188:13:6" } ] }, "documentation": { - "id": 2339, + "id": 2350, "nodeType": "StructuredDocumentation", "src": "1123:58:6", "text": " @dev Internal table-agnostic conversion" }, - "id": 2392, + "id": 2403, "implemented": true, "kind": "function", "modifiers": [], @@ -57473,17 +57363,17 @@ "nameLocation": "1195:7:6", "nodeType": "FunctionDefinition", "parameters": { - "id": 2346, + "id": 2357, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2341, + "id": 2352, "mutability": "mutable", "name": "data", "nameLocation": "1216:4:6", "nodeType": "VariableDeclaration", - "scope": 2392, + "scope": 2403, "src": "1203:17:6", "stateVariable": false, "storageLocation": "memory", @@ -57492,7 +57382,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2340, + "id": 2351, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "1203:5:6", @@ -57505,12 +57395,12 @@ }, { "constant": false, - "id": 2343, + "id": 2354, "mutability": "mutable", "name": "table", "nameLocation": "1236:5:6", "nodeType": "VariableDeclaration", - "scope": 2392, + "scope": 2403, "src": "1222:19:6", "stateVariable": false, "storageLocation": "memory", @@ -57519,7 +57409,7 @@ "typeString": "string" }, "typeName": { - "id": 2342, + "id": 2353, "name": "string", "nodeType": "ElementaryTypeName", "src": "1222:6:6", @@ -57532,12 +57422,12 @@ }, { "constant": false, - "id": 2345, + "id": 2356, "mutability": "mutable", "name": "withPadding", "nameLocation": "1248:11:6", "nodeType": "VariableDeclaration", - "scope": 2392, + "scope": 2403, "src": "1243:16:6", "stateVariable": false, "storageLocation": "default", @@ -57546,7 +57436,7 @@ "typeString": "bool" }, "typeName": { - "id": 2344, + "id": 2355, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1243:4:6", @@ -57561,17 +57451,17 @@ "src": "1202:58:6" }, "returnParameters": { - "id": 2349, + "id": 2360, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2348, + "id": 2359, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2392, + "scope": 2403, "src": "1283:13:6", "stateVariable": false, "storageLocation": "memory", @@ -57580,7 +57470,7 @@ "typeString": "string" }, "typeName": { - "id": 2347, + "id": 2358, "name": "string", "nodeType": "ElementaryTypeName", "src": "1283:6:6", @@ -57594,14 +57484,14 @@ ], "src": "1282:15:6" }, - "scope": 2393, + "scope": 2404, "src": "1186:4022:6", "stateMutability": "pure", "virtual": false, "visibility": "private" } ], - "scope": 2394, + "scope": 2405, "src": "202:5008:6", "usedErrors": [], "usedEvents": [] @@ -57616,15 +57506,15 @@ "absolutePath": "solady/accounts/Receiver.sol", "exportedSymbols": { "Receiver": [ - 2448 + 2459 ] }, - "id": 2449, + "id": 2460, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 2395, + "id": 2406, "literals": [ "solidity", "^", @@ -57641,15 +57531,15 @@ "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 2396, + "id": 2407, "nodeType": "StructuredDocumentation", "src": "57:374:7", "text": "@notice Receiver mixin for ETH and safe-transferred ERC721 and ERC1155 tokens.\n @author Solady (https://github.com/Vectorized/solady/blob/main/src/accounts/Receiver.sol)\n @dev Note:\n - Handles all ERC721 and ERC1155 token safety callbacks.\n - Collapses function table gas overhead and code size.\n - Utilizes fallback so unknown calldata will pass on." }, "fullyImplemented": true, - "id": 2448, + "id": 2459, "linearizedBaseContracts": [ - 2448 + 2459 ], "name": "Receiver", "nameLocation": "449:8:7", @@ -57657,18 +57547,18 @@ "nodes": [ { "documentation": { - "id": 2397, + "id": 2408, "nodeType": "StructuredDocumentation", "src": "747:49:7", "text": "@dev The function selector is not recognized." }, "errorSelector": "3c10b94e", - "id": 2399, + "id": 2410, "name": "FnSelectorNotRecognized", "nameLocation": "807:23:7", "nodeType": "ErrorDefinition", "parameters": { - "id": 2398, + "id": 2409, "nodeType": "ParameterList", "parameters": [], "src": "830:2:7" @@ -57677,18 +57567,18 @@ }, { "body": { - "id": 2403, + "id": 2414, "nodeType": "Block", "src": "1189:2:7", "statements": [] }, "documentation": { - "id": 2400, + "id": 2411, "nodeType": "StructuredDocumentation", "src": "1122:27:7", "text": "@dev For receiving ETH." }, - "id": 2404, + "id": 2415, "implemented": true, "kind": "receive", "modifiers": [], @@ -57696,18 +57586,18 @@ "nameLocation": "-1:-1:-1", "nodeType": "FunctionDefinition", "parameters": { - "id": 2401, + "id": 2412, "nodeType": "ParameterList", "parameters": [], "src": "1161:2:7" }, "returnParameters": { - "id": 2402, + "id": 2413, "nodeType": "ParameterList", "parameters": [], "src": "1189:0:7" }, - "scope": 2448, + "scope": 2459, "src": "1154:37:7", "stateMutability": "payable", "virtual": true, @@ -57715,7 +57605,7 @@ }, { "body": { - "id": 2411, + "id": 2422, "nodeType": "Block", "src": "1319:179:7", "statements": [ @@ -57798,33 +57688,33 @@ "documentation": "@solidity memory-safe-assembly", "evmVersion": "paris", "externalReferences": [], - "id": 2410, + "id": 2421, "nodeType": "InlineAssembly", "src": "1372:120:7" } ] }, "documentation": { - "id": 2405, + "id": 2416, "nodeType": "StructuredDocumentation", "src": "1197:64:7", "text": "@dev Fallback function with the `receiverFallback` modifier." }, - "id": 2412, + "id": 2423, "implemented": true, "kind": "fallback", "modifiers": [ { - "id": 2408, + "id": 2419, "kind": "modifierInvocation", "modifierName": { - "id": 2407, + "id": 2418, "name": "receiverFallback", "nameLocations": [ "1302:16:7" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 2428, + "referencedDeclaration": 2439, "src": "1302:16:7" }, "nodeType": "ModifierInvocation", @@ -57835,18 +57725,18 @@ "nameLocation": "-1:-1:-1", "nodeType": "FunctionDefinition", "parameters": { - "id": 2406, + "id": 2417, "nodeType": "ParameterList", "parameters": [], "src": "1274:2:7" }, "returnParameters": { - "id": 2409, + "id": 2420, "nodeType": "ParameterList", "parameters": [], "src": "1319:0:7" }, - "scope": 2448, + "scope": 2459, "src": "1266:232:7", "stateMutability": "payable", "virtual": true, @@ -57854,7 +57744,7 @@ }, { "body": { - "id": 2427, + "id": 2438, "nodeType": "Block", "src": "1615:870:7", "statements": [ @@ -57863,18 +57753,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 2415, + "id": 2426, "name": "_beforeReceiverFallbackBody", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2442, + "referencedDeclaration": 2453, "src": "1625:27:7", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 2416, + "id": 2427, "isConstant": false, "isLValue": false, "isPure": false, @@ -57890,7 +57780,7 @@ "typeString": "tuple()" } }, - "id": 2417, + "id": 2428, "nodeType": "ExpressionStatement", "src": "1625:29:7" }, @@ -57899,18 +57789,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 2418, + "id": 2429, "name": "_useReceiverFallbackBody", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2437, + "referencedDeclaration": 2448, "src": "1668:24:7", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", "typeString": "function () view returns (bool)" } }, - "id": 2419, + "id": 2430, "isConstant": false, "isLValue": false, "isPure": false, @@ -57926,11 +57816,11 @@ "typeString": "bool" } }, - "id": 2422, + "id": 2433, "nodeType": "IfStatement", "src": "1664:766:7", "trueBody": { - "id": 2421, + "id": 2432, "nodeType": "Block", "src": "1696:734:7", "statements": [ @@ -58186,7 +58076,7 @@ "documentation": "@solidity memory-safe-assembly", "evmVersion": "paris", "externalReferences": [], - "id": 2420, + "id": 2431, "nodeType": "InlineAssembly", "src": "1757:663:7" } @@ -58198,18 +58088,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 2423, + "id": 2434, "name": "_afterReceiverFallbackBody", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2447, + "referencedDeclaration": 2458, "src": "2439:26:7", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 2424, + "id": 2435, "isConstant": false, "isLValue": false, "isPure": false, @@ -58225,29 +58115,29 @@ "typeString": "tuple()" } }, - "id": 2425, + "id": 2436, "nodeType": "ExpressionStatement", "src": "2439:28:7" }, { - "id": 2426, + "id": 2437, "nodeType": "PlaceholderStatement", "src": "2477:1:7" } ] }, "documentation": { - "id": 2413, + "id": 2424, "nodeType": "StructuredDocumentation", "src": "1504:70:7", "text": "@dev Modifier for the fallback function to handle token callbacks." }, - "id": 2428, + "id": 2439, "name": "receiverFallback", "nameLocation": "1588:16:7", "nodeType": "ModifierDefinition", "parameters": { - "id": 2414, + "id": 2425, "nodeType": "ParameterList", "parameters": [], "src": "1604:2:7" @@ -58258,14 +58148,14 @@ }, { "body": { - "id": 2436, + "id": 2447, "nodeType": "Block", "src": "2645:28:7", "statements": [ { "expression": { "hexValue": "74727565", - "id": 2434, + "id": 2445, "isConstant": false, "isLValue": false, "isPure": true, @@ -58279,20 +58169,20 @@ }, "value": "true" }, - "functionReturnParameters": 2433, - "id": 2435, + "functionReturnParameters": 2444, + "id": 2446, "nodeType": "Return", "src": "2655:11:7" } ] }, "documentation": { - "id": 2429, + "id": 2440, "nodeType": "StructuredDocumentation", "src": "2491:76:7", "text": "@dev Whether we want to use the body of the `receiverFallback` modifier." }, - "id": 2437, + "id": 2448, "implemented": true, "kind": "function", "modifiers": [], @@ -58300,23 +58190,23 @@ "nameLocation": "2581:24:7", "nodeType": "FunctionDefinition", "parameters": { - "id": 2430, + "id": 2441, "nodeType": "ParameterList", "parameters": [], "src": "2605:2:7" }, "returnParameters": { - "id": 2433, + "id": 2444, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2432, + "id": 2443, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2437, + "scope": 2448, "src": "2639:4:7", "stateVariable": false, "storageLocation": "default", @@ -58325,7 +58215,7 @@ "typeString": "bool" }, "typeName": { - "id": 2431, + "id": 2442, "name": "bool", "nodeType": "ElementaryTypeName", "src": "2639:4:7", @@ -58339,7 +58229,7 @@ ], "src": "2638:6:7" }, - "scope": 2448, + "scope": 2459, "src": "2572:101:7", "stateMutability": "view", "virtual": true, @@ -58347,18 +58237,18 @@ }, { "body": { - "id": 2441, + "id": 2452, "nodeType": "Block", "src": "2807:2:7", "statements": [] }, "documentation": { - "id": 2438, + "id": 2449, "nodeType": "StructuredDocumentation", "src": "2679:67:7", "text": "@dev Called before the body of the `receiverFallback` modifier." }, - "id": 2442, + "id": 2453, "implemented": true, "kind": "function", "modifiers": [], @@ -58366,18 +58256,18 @@ "nameLocation": "2760:27:7", "nodeType": "FunctionDefinition", "parameters": { - "id": 2439, + "id": 2450, "nodeType": "ParameterList", "parameters": [], "src": "2787:2:7" }, "returnParameters": { - "id": 2440, + "id": 2451, "nodeType": "ParameterList", "parameters": [], "src": "2807:0:7" }, - "scope": 2448, + "scope": 2459, "src": "2751:58:7", "stateMutability": "nonpayable", "virtual": true, @@ -58385,18 +58275,18 @@ }, { "body": { - "id": 2446, + "id": 2457, "nodeType": "Block", "src": "2941:2:7", "statements": [] }, "documentation": { - "id": 2443, + "id": 2454, "nodeType": "StructuredDocumentation", "src": "2815:66:7", "text": "@dev Called after the body of the `receiverFallback` modifier." }, - "id": 2447, + "id": 2458, "implemented": true, "kind": "function", "modifiers": [], @@ -58404,28 +58294,28 @@ "nameLocation": "2895:26:7", "nodeType": "FunctionDefinition", "parameters": { - "id": 2444, + "id": 2455, "nodeType": "ParameterList", "parameters": [], "src": "2921:2:7" }, "returnParameters": { - "id": 2445, + "id": 2456, "nodeType": "ParameterList", "parameters": [], "src": "2941:0:7" }, - "scope": 2448, + "scope": 2459, "src": "2886:57:7", "stateMutability": "nonpayable", "virtual": true, "visibility": "internal" } ], - "scope": 2449, + "scope": 2460, "src": "431:2514:7", "usedErrors": [ - 2399 + 2410 ], "usedEvents": [] } @@ -58439,15 +58329,15 @@ "absolutePath": "solady/utils/CallContextChecker.sol", "exportedSymbols": { "CallContextChecker": [ - 2572 + 2583 ] }, - "id": 2573, + "id": 2584, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 2450, + "id": 2461, "literals": [ "solidity", "^", @@ -58464,15 +58354,15 @@ "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 2451, + "id": 2462, "nodeType": "StructuredDocumentation", "src": "57:141:8", "text": "@notice Call context checker mixin.\n @author Solady (https://github.com/vectorized/solady/blob/main/src/utils/CallContextChecker.sol)" }, "fullyImplemented": true, - "id": 2572, + "id": 2583, "linearizedBaseContracts": [ - 2572 + 2583 ], "name": "CallContextChecker", "nameLocation": "207:18:8", @@ -58480,18 +58370,18 @@ "nodes": [ { "documentation": { - "id": 2452, + "id": 2463, "nodeType": "StructuredDocumentation", "src": "515:55:8", "text": "@dev The call is from an unauthorized call context." }, "errorSelector": "9f03a026", - "id": 2454, + "id": 2465, "name": "UnauthorizedCallContext", "nameLocation": "581:23:8", "nodeType": "ErrorDefinition", "parameters": { - "id": 2453, + "id": 2464, "nodeType": "ParameterList", "parameters": [], "src": "604:2:8" @@ -58501,17 +58391,17 @@ { "constant": false, "documentation": { - "id": 2455, + "id": 2466, "nodeType": "StructuredDocumentation", "src": "896:319:8", "text": "@dev For checking if the context is a delegate call.\n Note: To enable use cases with an immutable default implementation in the bytecode,\n (see: ERC6551Proxy), we don't require that the proxy address must match the\n value stored in the implementation slot, which may not be initialized." }, - "id": 2467, + "id": 2478, "mutability": "immutable", "name": "__self", "nameLocation": "1246:6:8", "nodeType": "VariableDeclaration", - "scope": 2572, + "scope": 2583, "src": "1220:66:8", "stateVariable": true, "storageLocation": "default", @@ -58520,7 +58410,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2456, + "id": 2467, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1220:7:8", @@ -58536,14 +58426,14 @@ { "arguments": [ { - "id": 2463, + "id": 2474, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, "src": "1279:4:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_CallContextChecker_$2572", + "typeIdentifier": "t_contract$_CallContextChecker_$2583", "typeString": "contract CallContextChecker" } } @@ -58551,11 +58441,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_CallContextChecker_$2572", + "typeIdentifier": "t_contract$_CallContextChecker_$2583", "typeString": "contract CallContextChecker" } ], - "id": 2462, + "id": 2473, "isConstant": false, "isLValue": false, "isPure": true, @@ -58567,14 +58457,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 2461, + "id": 2472, "name": "address", "nodeType": "ElementaryTypeName", "src": "1271:7:8", "typeDescriptions": {} } }, - "id": 2464, + "id": 2475, "isConstant": false, "isLValue": false, "isPure": false, @@ -58598,7 +58488,7 @@ "typeString": "address" } ], - "id": 2460, + "id": 2471, "isConstant": false, "isLValue": false, "isPure": true, @@ -58610,14 +58500,14 @@ "typeString": "type(uint160)" }, "typeName": { - "id": 2459, + "id": 2470, "name": "uint160", "nodeType": "ElementaryTypeName", "src": "1263:7:8", "typeDescriptions": {} } }, - "id": 2465, + "id": 2476, "isConstant": false, "isLValue": false, "isPure": false, @@ -58641,7 +58531,7 @@ "typeString": "uint160" } ], - "id": 2458, + "id": 2469, "isConstant": false, "isLValue": false, "isPure": true, @@ -58653,14 +58543,14 @@ "typeString": "type(uint256)" }, "typeName": { - "id": 2457, + "id": 2468, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1255:7:8", "typeDescriptions": {} } }, - "id": 2466, + "id": 2477, "isConstant": false, "isLValue": false, "isPure": false, @@ -58680,7 +58570,7 @@ }, { "body": { - "id": 2474, + "id": 2485, "nodeType": "Block", "src": "1917:385:8", "statements": [ @@ -58826,26 +58716,26 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2471, + "declaration": 2482, "isOffset": false, "isSlot": false, "src": "2243:6:8", "valueSize": 1 } ], - "id": 2473, + "id": 2484, "nodeType": "InlineAssembly", "src": "1970:326:8" } ] }, "documentation": { - "id": 2468, + "id": 2479, "nodeType": "StructuredDocumentation", "src": "1721:116:8", "text": "@dev Returns whether the current call context is on a EIP7702 authority\n (i.e. externally owned account)." }, - "id": 2475, + "id": 2486, "implemented": true, "kind": "function", "modifiers": [], @@ -58853,23 +58743,23 @@ "nameLocation": "1851:19:8", "nodeType": "FunctionDefinition", "parameters": { - "id": 2469, + "id": 2480, "nodeType": "ParameterList", "parameters": [], "src": "1870:2:8" }, "returnParameters": { - "id": 2472, + "id": 2483, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2471, + "id": 2482, "mutability": "mutable", "name": "result", "nameLocation": "1909:6:8", "nodeType": "VariableDeclaration", - "scope": 2475, + "scope": 2486, "src": "1904:11:8", "stateVariable": false, "storageLocation": "default", @@ -58878,7 +58768,7 @@ "typeString": "bool" }, "typeName": { - "id": 2470, + "id": 2481, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1904:4:8", @@ -58892,7 +58782,7 @@ ], "src": "1903:13:8" }, - "scope": 2572, + "scope": 2583, "src": "1842:460:8", "stateMutability": "view", "virtual": true, @@ -58900,7 +58790,7 @@ }, { "body": { - "id": 2489, + "id": 2500, "nodeType": "Block", "src": "2437:48:8", "statements": [ @@ -58910,11 +58800,11 @@ { "arguments": [ { - "id": 2485, + "id": 2496, "name": "__self", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2467, + "referencedDeclaration": 2478, "src": "2470:6:8", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -58929,7 +58819,7 @@ "typeString": "uint256" } ], - "id": 2484, + "id": 2495, "isConstant": false, "isLValue": false, "isPure": true, @@ -58941,14 +58831,14 @@ "typeString": "type(uint160)" }, "typeName": { - "id": 2483, + "id": 2494, "name": "uint160", "nodeType": "ElementaryTypeName", "src": "2462:7:8", "typeDescriptions": {} } }, - "id": 2486, + "id": 2497, "isConstant": false, "isLValue": false, "isPure": false, @@ -58972,7 +58862,7 @@ "typeString": "uint160" } ], - "id": 2482, + "id": 2493, "isConstant": false, "isLValue": false, "isPure": true, @@ -58984,14 +58874,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 2481, + "id": 2492, "name": "address", "nodeType": "ElementaryTypeName", "src": "2454:7:8", "typeDescriptions": {} } }, - "id": 2487, + "id": 2498, "isConstant": false, "isLValue": false, "isPure": false, @@ -59007,20 +58897,20 @@ "typeString": "address" } }, - "functionReturnParameters": 2480, - "id": 2488, + "functionReturnParameters": 2491, + "id": 2499, "nodeType": "Return", "src": "2447:31:8" } ] }, "documentation": { - "id": 2476, + "id": 2487, "nodeType": "StructuredDocumentation", "src": "2308:53:8", "text": "@dev Returns the implementation of this contract." }, - "id": 2490, + "id": 2501, "implemented": true, "kind": "function", "modifiers": [], @@ -59028,23 +58918,23 @@ "nameLocation": "2375:19:8", "nodeType": "FunctionDefinition", "parameters": { - "id": 2477, + "id": 2488, "nodeType": "ParameterList", "parameters": [], "src": "2394:2:8" }, "returnParameters": { - "id": 2480, + "id": 2491, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2479, + "id": 2490, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2490, + "scope": 2501, "src": "2428:7:8", "stateVariable": false, "storageLocation": "default", @@ -59053,7 +58943,7 @@ "typeString": "address" }, "typeName": { - "id": 2478, + "id": 2489, "name": "address", "nodeType": "ElementaryTypeName", "src": "2428:7:8", @@ -59068,7 +58958,7 @@ ], "src": "2427:9:8" }, - "scope": 2572, + "scope": 2583, "src": "2366:119:8", "stateMutability": "view", "virtual": true, @@ -59076,7 +58966,7 @@ }, { "body": { - "id": 2506, + "id": 2517, "nodeType": "Block", "src": "2644:56:8", "statements": [ @@ -59086,17 +58976,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2504, + "id": 2515, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2496, + "id": 2507, "name": "__self", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2467, + "referencedDeclaration": 2478, "src": "2661:6:8", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -59110,14 +59000,14 @@ { "arguments": [ { - "id": 2501, + "id": 2512, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, "src": "2687:4:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_CallContextChecker_$2572", + "typeIdentifier": "t_contract$_CallContextChecker_$2583", "typeString": "contract CallContextChecker" } } @@ -59125,11 +59015,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_CallContextChecker_$2572", + "typeIdentifier": "t_contract$_CallContextChecker_$2583", "typeString": "contract CallContextChecker" } ], - "id": 2500, + "id": 2511, "isConstant": false, "isLValue": false, "isPure": true, @@ -59141,14 +59031,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 2499, + "id": 2510, "name": "address", "nodeType": "ElementaryTypeName", "src": "2679:7:8", "typeDescriptions": {} } }, - "id": 2502, + "id": 2513, "isConstant": false, "isLValue": false, "isPure": false, @@ -59172,7 +59062,7 @@ "typeString": "address" } ], - "id": 2498, + "id": 2509, "isConstant": false, "isLValue": false, "isPure": true, @@ -59184,14 +59074,14 @@ "typeString": "type(uint160)" }, "typeName": { - "id": 2497, + "id": 2508, "name": "uint160", "nodeType": "ElementaryTypeName", "src": "2671:7:8", "typeDescriptions": {} } }, - "id": 2503, + "id": 2514, "isConstant": false, "isLValue": false, "isPure": false, @@ -59213,20 +59103,20 @@ "typeString": "bool" } }, - "functionReturnParameters": 2495, - "id": 2505, + "functionReturnParameters": 2506, + "id": 2516, "nodeType": "Return", "src": "2654:39:8" } ] }, "documentation": { - "id": 2491, + "id": 2502, "nodeType": "StructuredDocumentation", "src": "2491:82:8", "text": "@dev Returns whether the current call context is on the implementation itself." }, - "id": 2507, + "id": 2518, "implemented": true, "kind": "function", "modifiers": [], @@ -59234,23 +59124,23 @@ "nameLocation": "2587:17:8", "nodeType": "FunctionDefinition", "parameters": { - "id": 2492, + "id": 2503, "nodeType": "ParameterList", "parameters": [], "src": "2604:2:8" }, "returnParameters": { - "id": 2495, + "id": 2506, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2494, + "id": 2505, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2507, + "scope": 2518, "src": "2638:4:8", "stateVariable": false, "storageLocation": "default", @@ -59259,7 +59149,7 @@ "typeString": "bool" }, "typeName": { - "id": 2493, + "id": 2504, "name": "bool", "nodeType": "ElementaryTypeName", "src": "2638:4:8", @@ -59273,7 +59163,7 @@ ], "src": "2637:6:8" }, - "scope": 2572, + "scope": 2583, "src": "2578:122:8", "stateMutability": "view", "virtual": true, @@ -59281,13 +59171,13 @@ }, { "body": { - "id": 2518, + "id": 2529, "nodeType": "Block", "src": "2856:77:8", "statements": [ { "condition": { - "id": 2513, + "id": 2524, "isConstant": false, "isLValue": false, "isPure": false, @@ -59300,18 +59190,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 2511, + "id": 2522, "name": "_onEIP7702Authority", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2475, + "referencedDeclaration": 2486, "src": "2871:19:8", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", "typeString": "function () view returns (bool)" } }, - "id": 2512, + "id": 2523, "isConstant": false, "isLValue": false, "isPure": false, @@ -59332,7 +59222,7 @@ "typeString": "bool" } }, - "id": 2517, + "id": 2528, "nodeType": "IfStatement", "src": "2866:60:8", "trueBody": { @@ -59340,18 +59230,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 2514, + "id": 2525, "name": "_revertUnauthorizedCallContext", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2571, + "referencedDeclaration": 2582, "src": "2894:30:8", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 2515, + "id": 2526, "isConstant": false, "isLValue": false, "isPure": false, @@ -59367,7 +59257,7 @@ "typeString": "tuple()" } }, - "id": 2516, + "id": 2527, "nodeType": "ExpressionStatement", "src": "2894:32:8" } @@ -59375,12 +59265,12 @@ ] }, "documentation": { - "id": 2508, + "id": 2519, "nodeType": "StructuredDocumentation", "src": "2706:85:8", "text": "@dev Requires that the current call context is performed via a EIP7702 authority." }, - "id": 2519, + "id": 2530, "implemented": true, "kind": "function", "modifiers": [], @@ -59388,18 +59278,18 @@ "nameLocation": "2805:26:8", "nodeType": "FunctionDefinition", "parameters": { - "id": 2509, + "id": 2520, "nodeType": "ParameterList", "parameters": [], "src": "2831:2:8" }, "returnParameters": { - "id": 2510, + "id": 2521, "nodeType": "ParameterList", "parameters": [], "src": "2856:0:8" }, - "scope": 2572, + "scope": 2583, "src": "2796:137:8", "stateMutability": "view", "virtual": true, @@ -59407,7 +59297,7 @@ }, { "body": { - "id": 2529, + "id": 2540, "nodeType": "Block", "src": "3066:74:8", "statements": [ @@ -59416,18 +59306,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 2523, + "id": 2534, "name": "_onImplementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2507, + "referencedDeclaration": 2518, "src": "3080:17:8", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", "typeString": "function () view returns (bool)" } }, - "id": 2524, + "id": 2535, "isConstant": false, "isLValue": false, "isPure": false, @@ -59443,7 +59333,7 @@ "typeString": "bool" } }, - "id": 2528, + "id": 2539, "nodeType": "IfStatement", "src": "3076:57:8", "trueBody": { @@ -59451,18 +59341,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 2525, + "id": 2536, "name": "_revertUnauthorizedCallContext", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2571, + "referencedDeclaration": 2582, "src": "3101:30:8", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 2526, + "id": 2537, "isConstant": false, "isLValue": false, "isPure": false, @@ -59478,7 +59368,7 @@ "typeString": "tuple()" } }, - "id": 2527, + "id": 2538, "nodeType": "ExpressionStatement", "src": "3101:32:8" } @@ -59486,12 +59376,12 @@ ] }, "documentation": { - "id": 2520, + "id": 2531, "nodeType": "StructuredDocumentation", "src": "2939:73:8", "text": "@dev Requires that the current call context is performed via a proxy." }, - "id": 2530, + "id": 2541, "implemented": true, "kind": "function", "modifiers": [], @@ -59499,18 +59389,18 @@ "nameLocation": "3026:15:8", "nodeType": "FunctionDefinition", "parameters": { - "id": 2521, + "id": 2532, "nodeType": "ParameterList", "parameters": [], "src": "3041:2:8" }, "returnParameters": { - "id": 2522, + "id": 2533, "nodeType": "ParameterList", "parameters": [], "src": "3066:0:8" }, - "scope": 2572, + "scope": 2583, "src": "3017:123:8", "stateMutability": "view", "virtual": true, @@ -59518,13 +59408,13 @@ }, { "body": { - "id": 2541, + "id": 2552, "nodeType": "Block", "src": "3330:75:8", "statements": [ { "condition": { - "id": 2536, + "id": 2547, "isConstant": false, "isLValue": false, "isPure": false, @@ -59537,18 +59427,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 2534, + "id": 2545, "name": "_onImplementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2507, + "referencedDeclaration": 2518, "src": "3345:17:8", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", "typeString": "function () view returns (bool)" } }, - "id": 2535, + "id": 2546, "isConstant": false, "isLValue": false, "isPure": false, @@ -59569,7 +59459,7 @@ "typeString": "bool" } }, - "id": 2540, + "id": 2551, "nodeType": "IfStatement", "src": "3340:58:8", "trueBody": { @@ -59577,18 +59467,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 2537, + "id": 2548, "name": "_revertUnauthorizedCallContext", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2571, + "referencedDeclaration": 2582, "src": "3366:30:8", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 2538, + "id": 2549, "isConstant": false, "isLValue": false, "isPure": false, @@ -59604,7 +59494,7 @@ "typeString": "tuple()" } }, - "id": 2539, + "id": 2550, "nodeType": "ExpressionStatement", "src": "3366:32:8" } @@ -59612,12 +59502,12 @@ ] }, "documentation": { - "id": 2531, + "id": 2542, "nodeType": "StructuredDocumentation", "src": "3146:127:8", "text": "@dev Requires that the current call context is NOT performed via a proxy.\n This is the opposite of `checkOnlyProxy`." }, - "id": 2542, + "id": 2553, "implemented": true, "kind": "function", "modifiers": [], @@ -59625,18 +59515,18 @@ "nameLocation": "3287:18:8", "nodeType": "FunctionDefinition", "parameters": { - "id": 2532, + "id": 2543, "nodeType": "ParameterList", "parameters": [], "src": "3305:2:8" }, "returnParameters": { - "id": 2533, + "id": 2544, "nodeType": "ParameterList", "parameters": [], "src": "3330:0:8" }, - "scope": 2572, + "scope": 2583, "src": "3278:127:8", "stateMutability": "view", "virtual": true, @@ -59644,7 +59534,7 @@ }, { "body": { - "id": 2549, + "id": 2560, "nodeType": "Block", "src": "3541:56:8", "statements": [ @@ -59653,18 +59543,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 2545, + "id": 2556, "name": "_checkOnlyEIP7702Authority", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2519, + "referencedDeclaration": 2530, "src": "3551:26:8", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$__$", "typeString": "function () view" } }, - "id": 2546, + "id": 2557, "isConstant": false, "isLValue": false, "isPure": false, @@ -59680,29 +59570,29 @@ "typeString": "tuple()" } }, - "id": 2547, + "id": 2558, "nodeType": "ExpressionStatement", "src": "3551:28:8" }, { - "id": 2548, + "id": 2559, "nodeType": "PlaceholderStatement", "src": "3589:1:8" } ] }, "documentation": { - "id": 2543, + "id": 2554, "nodeType": "StructuredDocumentation", "src": "3411:85:8", "text": "@dev Requires that the current call context is performed via a EIP7702 authority." }, - "id": 2550, + "id": 2561, "name": "onlyEIP7702Authority", "nameLocation": "3510:20:8", "nodeType": "ModifierDefinition", "parameters": { - "id": 2544, + "id": 2555, "nodeType": "ParameterList", "parameters": [], "src": "3530:2:8" @@ -59713,7 +59603,7 @@ }, { "body": { - "id": 2557, + "id": 2568, "nodeType": "Block", "src": "3710:45:8", "statements": [ @@ -59722,18 +59612,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 2553, + "id": 2564, "name": "_checkOnlyProxy", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2530, + "referencedDeclaration": 2541, "src": "3720:15:8", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$__$", "typeString": "function () view" } }, - "id": 2554, + "id": 2565, "isConstant": false, "isLValue": false, "isPure": false, @@ -59749,29 +59639,29 @@ "typeString": "tuple()" } }, - "id": 2555, + "id": 2566, "nodeType": "ExpressionStatement", "src": "3720:17:8" }, { - "id": 2556, + "id": 2567, "nodeType": "PlaceholderStatement", "src": "3747:1:8" } ] }, "documentation": { - "id": 2551, + "id": 2562, "nodeType": "StructuredDocumentation", "src": "3603:73:8", "text": "@dev Requires that the current call context is performed via a proxy." }, - "id": 2558, + "id": 2569, "name": "onlyProxy", "nameLocation": "3690:9:8", "nodeType": "ModifierDefinition", "parameters": { - "id": 2552, + "id": 2563, "nodeType": "ParameterList", "parameters": [], "src": "3699:2:8" @@ -59782,7 +59672,7 @@ }, { "body": { - "id": 2565, + "id": 2576, "nodeType": "Block", "src": "3920:48:8", "statements": [ @@ -59791,18 +59681,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 2561, + "id": 2572, "name": "_checkNotDelegated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2542, + "referencedDeclaration": 2553, "src": "3930:18:8", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$__$", "typeString": "function () view" } }, - "id": 2562, + "id": 2573, "isConstant": false, "isLValue": false, "isPure": false, @@ -59818,29 +59708,29 @@ "typeString": "tuple()" } }, - "id": 2563, + "id": 2574, "nodeType": "ExpressionStatement", "src": "3930:20:8" }, { - "id": 2564, + "id": 2575, "nodeType": "PlaceholderStatement", "src": "3960:1:8" } ] }, "documentation": { - "id": 2559, + "id": 2570, "nodeType": "StructuredDocumentation", "src": "3761:122:8", "text": "@dev Requires that the current call context is NOT performed via a proxy.\n This is the opposite of `onlyProxy`." }, - "id": 2566, + "id": 2577, "name": "notDelegated", "nameLocation": "3897:12:8", "nodeType": "ModifierDefinition", "parameters": { - "id": 2560, + "id": 2571, "nodeType": "ParameterList", "parameters": [], "src": "3909:2:8" @@ -59851,7 +59741,7 @@ }, { "body": { - "id": 2570, + "id": 2581, "nodeType": "Block", "src": "4312:179:8", "statements": [ @@ -59934,13 +59824,13 @@ "documentation": "@solidity memory-safe-assembly", "evmVersion": "paris", "externalReferences": [], - "id": 2569, + "id": 2580, "nodeType": "InlineAssembly", "src": "4365:120:8" } ] }, - "id": 2571, + "id": 2582, "implemented": true, "kind": "function", "modifiers": [], @@ -59948,28 +59838,28 @@ "nameLocation": "4266:30:8", "nodeType": "FunctionDefinition", "parameters": { - "id": 2567, + "id": 2578, "nodeType": "ParameterList", "parameters": [], "src": "4296:2:8" }, "returnParameters": { - "id": 2568, + "id": 2579, "nodeType": "ParameterList", "parameters": [], "src": "4312:0:8" }, - "scope": 2572, + "scope": 2583, "src": "4257:234:8", "stateMutability": "pure", "virtual": false, "visibility": "private" } ], - "scope": 2573, + "scope": 2584, "src": "198:4295:8", "usedErrors": [ - 2454 + 2465 ], "usedEvents": [] } @@ -59983,15 +59873,15 @@ "absolutePath": "solady/utils/LibBytes.sol", "exportedSymbols": { "LibBytes": [ - 3078 + 3089 ] }, - "id": 3079, + "id": 3090, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 2574, + "id": 2585, "literals": [ "solidity", "^", @@ -60008,15 +59898,15 @@ "contractDependencies": [], "contractKind": "library", "documentation": { - "id": 2575, + "id": 2586, "nodeType": "StructuredDocumentation", "src": "57:140:9", "text": "@notice Library for byte related operations.\n @author Solady (https://github.com/vectorized/solady/blob/main/src/utils/LibBytes.sol)" }, "fullyImplemented": true, - "id": 3078, + "id": 3089, "linearizedBaseContracts": [ - 3078 + 3089 ], "name": "LibBytes", "nameLocation": "205:8:9", @@ -60025,21 +59915,21 @@ { "canonicalName": "LibBytes.BytesStorage", "documentation": { - "id": 2576, + "id": 2587, "nodeType": "StructuredDocumentation", "src": "503:235:9", "text": "@dev Goated bytes storage struct that totally MOGs, no cap, fr.\n Uses less gas and bytecode than Solidity's native bytes storage. It's meta af.\n Packs length with the first 31 bytes if <255 bytes, so it’s mad tight." }, - "id": 2579, + "id": 2590, "members": [ { "constant": false, - "id": 2578, + "id": 2589, "mutability": "mutable", "name": "_spacer", "nameLocation": "781:7:9", "nodeType": "VariableDeclaration", - "scope": 2579, + "scope": 2590, "src": "773:15:9", "stateVariable": false, "storageLocation": "default", @@ -60048,7 +59938,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 2577, + "id": 2588, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "773:7:9", @@ -60063,24 +59953,24 @@ "name": "BytesStorage", "nameLocation": "750:12:9", "nodeType": "StructDefinition", - "scope": 3078, + "scope": 3089, "src": "743:52:9", "visibility": "public" }, { "constant": true, "documentation": { - "id": 2580, + "id": 2591, "nodeType": "StructuredDocumentation", "src": "1084:75:9", "text": "@dev The constant returned when the `search` is not found in the bytes." }, - "id": 2587, + "id": 2598, "mutability": "constant", "name": "NOT_FOUND", "nameLocation": "1190:9:9", "nodeType": "VariableDeclaration", - "scope": 3078, + "scope": 3089, "src": "1164:55:9", "stateVariable": true, "storageLocation": "default", @@ -60089,7 +59979,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2581, + "id": 2592, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1164:7:9", @@ -60102,7 +59992,7 @@ "expression": { "arguments": [ { - "id": 2584, + "id": 2595, "isConstant": false, "isLValue": false, "isPure": true, @@ -60114,7 +60004,7 @@ "typeString": "type(uint256)" }, "typeName": { - "id": 2583, + "id": 2594, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1207:7:9", @@ -60129,7 +60019,7 @@ "typeString": "type(uint256)" } ], - "id": 2582, + "id": 2593, "name": "type", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -60140,7 +60030,7 @@ "typeString": "function () pure" } }, - "id": 2585, + "id": 2596, "isConstant": false, "isLValue": false, "isPure": true, @@ -60156,7 +60046,7 @@ "typeString": "type(uint256)" } }, - "id": 2586, + "id": 2597, "isConstant": false, "isLValue": false, "isPure": true, @@ -60174,7 +60064,7 @@ }, { "body": { - "id": 2597, + "id": 2608, "nodeType": "Block", "src": "1632:772:9", "statements": [ @@ -60940,7 +60830,7 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2591, + "declaration": 2602, "isOffset": false, "isSlot": true, "src": "2078:6:9", @@ -60948,7 +60838,7 @@ "valueSize": 1 }, { - "declaration": 2591, + "declaration": 2602, "isOffset": false, "isSlot": true, "src": "2373:6:9", @@ -60956,40 +60846,40 @@ "valueSize": 1 }, { - "declaration": 2593, + "declaration": 2604, "isOffset": false, "isSlot": false, "src": "1723:1:9", "valueSize": 1 }, { - "declaration": 2593, + "declaration": 2604, "isOffset": false, "isSlot": false, "src": "1934:1:9", "valueSize": 1 }, { - "declaration": 2593, + "declaration": 2604, "isOffset": false, "isSlot": false, "src": "2040:1:9", "valueSize": 1 } ], - "id": 2596, + "id": 2607, "nodeType": "InlineAssembly", "src": "1685:713:9" } ] }, "documentation": { - "id": 2588, + "id": 2599, "nodeType": "StructuredDocumentation", "src": "1509:56:9", "text": "@dev Sets the value of the bytes storage `$` to `s`." }, - "id": 2598, + "id": 2609, "implemented": true, "kind": "function", "modifiers": [], @@ -60997,41 +60887,41 @@ "nameLocation": "1579:3:9", "nodeType": "FunctionDefinition", "parameters": { - "id": 2594, + "id": 2605, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2591, + "id": 2602, "mutability": "mutable", "name": "$", "nameLocation": "1604:1:9", "nodeType": "VariableDeclaration", - "scope": 2598, + "scope": 2609, "src": "1583:22:9", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$2590_storage_ptr", "typeString": "struct LibBytes.BytesStorage" }, "typeName": { - "id": 2590, + "id": 2601, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 2589, + "id": 2600, "name": "BytesStorage", "nameLocations": [ "1583:12:9" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 2579, + "referencedDeclaration": 2590, "src": "1583:12:9" }, - "referencedDeclaration": 2579, + "referencedDeclaration": 2590, "src": "1583:12:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$2590_storage_ptr", "typeString": "struct LibBytes.BytesStorage" } }, @@ -61039,12 +60929,12 @@ }, { "constant": false, - "id": 2593, + "id": 2604, "mutability": "mutable", "name": "s", "nameLocation": "1620:1:9", "nodeType": "VariableDeclaration", - "scope": 2598, + "scope": 2609, "src": "1607:14:9", "stateVariable": false, "storageLocation": "memory", @@ -61053,7 +60943,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2592, + "id": 2603, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "1607:5:9", @@ -61068,12 +60958,12 @@ "src": "1582:40:9" }, "returnParameters": { - "id": 2595, + "id": 2606, "nodeType": "ParameterList", "parameters": [], "src": "1632:0:9" }, - "scope": 3078, + "scope": 3089, "src": "1570:834:9", "stateMutability": "nonpayable", "virtual": false, @@ -61081,7 +60971,7 @@ }, { "body": { - "id": 2608, + "id": 2619, "nodeType": "Block", "src": "2543:767:9", "statements": [ @@ -61775,7 +61665,7 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2602, + "declaration": 2613, "isOffset": false, "isSlot": true, "src": "2963:6:9", @@ -61783,7 +61673,7 @@ "valueSize": 1 }, { - "declaration": 2602, + "declaration": 2613, "isOffset": false, "isSlot": true, "src": "3279:6:9", @@ -61791,7 +61681,7 @@ "valueSize": 1 }, { - "declaration": 2604, + "declaration": 2615, "isOffset": false, "isSlot": false, "src": "2649:8:9", @@ -61799,7 +61689,7 @@ "valueSize": 1 }, { - "declaration": 2604, + "declaration": 2615, "isOffset": false, "isSlot": false, "src": "2727:8:9", @@ -61807,7 +61697,7 @@ "valueSize": 1 }, { - "declaration": 2604, + "declaration": 2615, "isOffset": false, "isSlot": false, "src": "2809:8:9", @@ -61815,7 +61705,7 @@ "valueSize": 1 }, { - "declaration": 2604, + "declaration": 2615, "isOffset": false, "isSlot": false, "src": "2892:8:9", @@ -61823,7 +61713,7 @@ "valueSize": 1 }, { - "declaration": 2604, + "declaration": 2615, "isOffset": false, "isSlot": false, "src": "3185:8:9", @@ -61831,7 +61721,7 @@ "valueSize": 1 }, { - "declaration": 2604, + "declaration": 2615, "isOffset": true, "isSlot": false, "src": "2846:8:9", @@ -61839,7 +61729,7 @@ "valueSize": 1 }, { - "declaration": 2604, + "declaration": 2615, "isOffset": true, "isSlot": false, "src": "3096:8:9", @@ -61847,19 +61737,19 @@ "valueSize": 1 } ], - "id": 2607, + "id": 2618, "nodeType": "InlineAssembly", "src": "2596:708:9" } ] }, "documentation": { - "id": 2599, + "id": 2610, "nodeType": "StructuredDocumentation", "src": "2410:56:9", "text": "@dev Sets the value of the bytes storage `$` to `s`." }, - "id": 2609, + "id": 2620, "implemented": true, "kind": "function", "modifiers": [], @@ -61867,41 +61757,41 @@ "nameLocation": "2480:11:9", "nodeType": "FunctionDefinition", "parameters": { - "id": 2605, + "id": 2616, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2602, + "id": 2613, "mutability": "mutable", "name": "$", "nameLocation": "2513:1:9", "nodeType": "VariableDeclaration", - "scope": 2609, + "scope": 2620, "src": "2492:22:9", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$2590_storage_ptr", "typeString": "struct LibBytes.BytesStorage" }, "typeName": { - "id": 2601, + "id": 2612, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 2600, + "id": 2611, "name": "BytesStorage", "nameLocations": [ "2492:12:9" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 2579, + "referencedDeclaration": 2590, "src": "2492:12:9" }, - "referencedDeclaration": 2579, + "referencedDeclaration": 2590, "src": "2492:12:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$2590_storage_ptr", "typeString": "struct LibBytes.BytesStorage" } }, @@ -61909,12 +61799,12 @@ }, { "constant": false, - "id": 2604, + "id": 2615, "mutability": "mutable", "name": "s", "nameLocation": "2531:1:9", "nodeType": "VariableDeclaration", - "scope": 2609, + "scope": 2620, "src": "2516:16:9", "stateVariable": false, "storageLocation": "calldata", @@ -61923,7 +61813,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2603, + "id": 2614, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "2516:5:9", @@ -61938,12 +61828,12 @@ "src": "2491:42:9" }, "returnParameters": { - "id": 2606, + "id": 2617, "nodeType": "ParameterList", "parameters": [], "src": "2543:0:9" }, - "scope": 3078, + "scope": 3089, "src": "2471:839:9", "stateMutability": "nonpayable", "virtual": false, @@ -61951,13 +61841,13 @@ }, { "body": { - "id": 2620, + "id": 2631, "nodeType": "Block", "src": "3437:33:9", "statements": [ { "expression": { - "id": 2618, + "id": 2629, "isConstant": false, "isLValue": false, "isPure": false, @@ -61968,18 +61858,18 @@ "src": "3447:16:9", "subExpression": { "expression": { - "id": 2616, + "id": 2627, "name": "$", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2613, + "referencedDeclaration": 2624, "src": "3454:1:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$2590_storage_ptr", "typeString": "struct LibBytes.BytesStorage storage pointer" } }, - "id": 2617, + "id": 2628, "isConstant": false, "isLValue": true, "isPure": false, @@ -61987,7 +61877,7 @@ "memberLocation": "3456:7:9", "memberName": "_spacer", "nodeType": "MemberAccess", - "referencedDeclaration": 2578, + "referencedDeclaration": 2589, "src": "3454:9:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -61999,19 +61889,19 @@ "typeString": "tuple()" } }, - "id": 2619, + "id": 2630, "nodeType": "ExpressionStatement", "src": "3447:16:9" } ] }, "documentation": { - "id": 2610, + "id": 2621, "nodeType": "StructuredDocumentation", "src": "3316:68:9", "text": "@dev Sets the value of the bytes storage `$` to the empty bytes." }, - "id": 2621, + "id": 2632, "implemented": true, "kind": "function", "modifiers": [], @@ -62019,41 +61909,41 @@ "nameLocation": "3398:5:9", "nodeType": "FunctionDefinition", "parameters": { - "id": 2614, + "id": 2625, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2613, + "id": 2624, "mutability": "mutable", "name": "$", "nameLocation": "3425:1:9", "nodeType": "VariableDeclaration", - "scope": 2621, + "scope": 2632, "src": "3404:22:9", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$2590_storage_ptr", "typeString": "struct LibBytes.BytesStorage" }, "typeName": { - "id": 2612, + "id": 2623, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 2611, + "id": 2622, "name": "BytesStorage", "nameLocations": [ "3404:12:9" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 2579, + "referencedDeclaration": 2590, "src": "3404:12:9" }, - "referencedDeclaration": 2579, + "referencedDeclaration": 2590, "src": "3404:12:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$2590_storage_ptr", "typeString": "struct LibBytes.BytesStorage" } }, @@ -62063,12 +61953,12 @@ "src": "3403:24:9" }, "returnParameters": { - "id": 2615, + "id": 2626, "nodeType": "ParameterList", "parameters": [], "src": "3437:0:9" }, - "scope": 3078, + "scope": 3089, "src": "3389:81:9", "stateMutability": "nonpayable", "virtual": false, @@ -62076,7 +61966,7 @@ }, { "body": { - "id": 2643, + "id": 2654, "nodeType": "Block", "src": "3622:63:9", "statements": [ @@ -62086,7 +61976,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2641, + "id": 2652, "isConstant": false, "isLValue": false, "isPure": false, @@ -62096,7 +61986,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2636, + "id": 2647, "isConstant": false, "isLValue": false, "isPure": false, @@ -62105,18 +61995,18 @@ "arguments": [ { "expression": { - "id": 2632, + "id": 2643, "name": "$", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2625, + "referencedDeclaration": 2636, "src": "3647:1:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$2590_storage_ptr", "typeString": "struct LibBytes.BytesStorage storage pointer" } }, - "id": 2633, + "id": 2644, "isConstant": false, "isLValue": true, "isPure": false, @@ -62124,7 +62014,7 @@ "memberLocation": "3649:7:9", "memberName": "_spacer", "nodeType": "MemberAccess", - "referencedDeclaration": 2578, + "referencedDeclaration": 2589, "src": "3647:9:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -62139,7 +62029,7 @@ "typeString": "bytes32" } ], - "id": 2631, + "id": 2642, "isConstant": false, "isLValue": false, "isPure": true, @@ -62151,14 +62041,14 @@ "typeString": "type(uint256)" }, "typeName": { - "id": 2630, + "id": 2641, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3639:7:9", "typeDescriptions": {} } }, - "id": 2634, + "id": 2645, "isConstant": false, "isLValue": false, "isPure": false, @@ -62178,7 +62068,7 @@ "operator": "&", "rightExpression": { "hexValue": "30786666", - "id": 2635, + "id": 2646, "isConstant": false, "isLValue": false, "isPure": true, @@ -62204,7 +62094,7 @@ "arguments": [ { "hexValue": "30", - "id": 2639, + "id": 2650, "isConstant": false, "isLValue": false, "isPure": true, @@ -62226,7 +62116,7 @@ "typeString": "int_const 0" } ], - "id": 2638, + "id": 2649, "isConstant": false, "isLValue": false, "isPure": true, @@ -62238,14 +62128,14 @@ "typeString": "type(uint256)" }, "typeName": { - "id": 2637, + "id": 2648, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3668:7:9", "typeDescriptions": {} } }, - "id": 2640, + "id": 2651, "isConstant": false, "isLValue": false, "isPure": true, @@ -62267,20 +62157,20 @@ "typeString": "bool" } }, - "functionReturnParameters": 2629, - "id": 2642, + "functionReturnParameters": 2640, + "id": 2653, "nodeType": "Return", "src": "3632:46:9" } ] }, "documentation": { - "id": 2622, + "id": 2633, "nodeType": "StructuredDocumentation", "src": "3476:71:9", "text": "@dev Returns whether the value stored is `$` is the empty bytes \"\"." }, - "id": 2644, + "id": 2655, "implemented": true, "kind": "function", "modifiers": [], @@ -62288,41 +62178,41 @@ "nameLocation": "3561:7:9", "nodeType": "FunctionDefinition", "parameters": { - "id": 2626, + "id": 2637, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2625, + "id": 2636, "mutability": "mutable", "name": "$", "nameLocation": "3590:1:9", "nodeType": "VariableDeclaration", - "scope": 2644, + "scope": 2655, "src": "3569:22:9", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$2590_storage_ptr", "typeString": "struct LibBytes.BytesStorage" }, "typeName": { - "id": 2624, + "id": 2635, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 2623, + "id": 2634, "name": "BytesStorage", "nameLocations": [ "3569:12:9" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 2579, + "referencedDeclaration": 2590, "src": "3569:12:9" }, - "referencedDeclaration": 2579, + "referencedDeclaration": 2590, "src": "3569:12:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$2590_storage_ptr", "typeString": "struct LibBytes.BytesStorage" } }, @@ -62332,17 +62222,17 @@ "src": "3568:24:9" }, "returnParameters": { - "id": 2629, + "id": 2640, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2628, + "id": 2639, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2644, + "scope": 2655, "src": "3616:4:9", "stateVariable": false, "storageLocation": "default", @@ -62351,7 +62241,7 @@ "typeString": "bool" }, "typeName": { - "id": 2627, + "id": 2638, "name": "bool", "nodeType": "ElementaryTypeName", "src": "3616:4:9", @@ -62365,7 +62255,7 @@ ], "src": "3615:6:9" }, - "scope": 3078, + "scope": 3089, "src": "3552:133:9", "stateMutability": "view", "virtual": false, @@ -62373,23 +62263,23 @@ }, { "body": { - "id": 2662, + "id": 2673, "nodeType": "Block", "src": "3830:243:9", "statements": [ { "expression": { - "id": 2659, + "id": 2670, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 2653, + "id": 2664, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2651, + "referencedDeclaration": 2662, "src": "3840:6:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -62402,18 +62292,18 @@ "arguments": [ { "expression": { - "id": 2656, + "id": 2667, "name": "$", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2648, + "referencedDeclaration": 2659, "src": "3857:1:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$2590_storage_ptr", "typeString": "struct LibBytes.BytesStorage storage pointer" } }, - "id": 2657, + "id": 2668, "isConstant": false, "isLValue": true, "isPure": false, @@ -62421,7 +62311,7 @@ "memberLocation": "3859:7:9", "memberName": "_spacer", "nodeType": "MemberAccess", - "referencedDeclaration": 2578, + "referencedDeclaration": 2589, "src": "3857:9:9", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -62436,7 +62326,7 @@ "typeString": "bytes32" } ], - "id": 2655, + "id": 2666, "isConstant": false, "isLValue": false, "isPure": true, @@ -62448,14 +62338,14 @@ "typeString": "type(uint256)" }, "typeName": { - "id": 2654, + "id": 2665, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3849:7:9", "typeDescriptions": {} } }, - "id": 2658, + "id": 2669, "isConstant": false, "isLValue": false, "isPure": false, @@ -62477,7 +62367,7 @@ "typeString": "uint256" } }, - "id": 2660, + "id": 2671, "nodeType": "ExpressionStatement", "src": "3840:27:9" }, @@ -62686,40 +62576,40 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2651, + "declaration": 2662, "isOffset": false, "isSlot": false, "src": "3962:6:9", "valueSize": 1 }, { - "declaration": 2651, + "declaration": 2662, "isOffset": false, "isSlot": false, "src": "3982:6:9", "valueSize": 1 }, { - "declaration": 2651, + "declaration": 2662, "isOffset": false, "isSlot": false, "src": "4006:6:9", "valueSize": 1 } ], - "id": 2661, + "id": 2672, "nodeType": "InlineAssembly", "src": "3920:147:9" } ] }, "documentation": { - "id": 2645, + "id": 2656, "nodeType": "StructuredDocumentation", "src": "3691:55:9", "text": "@dev Returns the length of the value stored in `$`." }, - "id": 2663, + "id": 2674, "implemented": true, "kind": "function", "modifiers": [], @@ -62727,41 +62617,41 @@ "nameLocation": "3760:6:9", "nodeType": "FunctionDefinition", "parameters": { - "id": 2649, + "id": 2660, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2648, + "id": 2659, "mutability": "mutable", "name": "$", "nameLocation": "3788:1:9", "nodeType": "VariableDeclaration", - "scope": 2663, + "scope": 2674, "src": "3767:22:9", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$2590_storage_ptr", "typeString": "struct LibBytes.BytesStorage" }, "typeName": { - "id": 2647, + "id": 2658, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 2646, + "id": 2657, "name": "BytesStorage", "nameLocations": [ "3767:12:9" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 2579, + "referencedDeclaration": 2590, "src": "3767:12:9" }, - "referencedDeclaration": 2579, + "referencedDeclaration": 2590, "src": "3767:12:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$2590_storage_ptr", "typeString": "struct LibBytes.BytesStorage" } }, @@ -62771,17 +62661,17 @@ "src": "3766:24:9" }, "returnParameters": { - "id": 2652, + "id": 2663, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2651, + "id": 2662, "mutability": "mutable", "name": "result", "nameLocation": "3822:6:9", "nodeType": "VariableDeclaration", - "scope": 2663, + "scope": 2674, "src": "3814:14:9", "stateVariable": false, "storageLocation": "default", @@ -62790,7 +62680,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2650, + "id": 2661, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3814:7:9", @@ -62804,7 +62694,7 @@ ], "src": "3813:16:9" }, - "scope": 3078, + "scope": 3089, "src": "3751:322:9", "stateMutability": "view", "virtual": false, @@ -62812,7 +62702,7 @@ }, { "body": { - "id": 2673, + "id": 2684, "nodeType": "Block", "src": "4206:1010:9", "statements": [ @@ -63712,7 +63602,7 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2667, + "declaration": 2678, "isOffset": false, "isSlot": true, "src": "4375:6:9", @@ -63720,7 +63610,7 @@ "valueSize": 1 }, { - "declaration": 2667, + "declaration": 2678, "isOffset": false, "isSlot": true, "src": "4723:6:9", @@ -63728,40 +63618,40 @@ "valueSize": 1 }, { - "declaration": 2670, + "declaration": 2681, "isOffset": false, "isSlot": false, "src": "4282:6:9", "valueSize": 1 }, { - "declaration": 2670, + "declaration": 2681, "isOffset": false, "isSlot": false, "src": "4329:6:9", "valueSize": 1 }, { - "declaration": 2670, + "declaration": 2681, "isOffset": false, "isSlot": false, "src": "5018:6:9", "valueSize": 1 } ], - "id": 2672, + "id": 2683, "nodeType": "InlineAssembly", "src": "4259:951:9" } ] }, "documentation": { - "id": 2664, + "id": 2675, "nodeType": "StructuredDocumentation", "src": "4079:41:9", "text": "@dev Returns the value stored in `$`." }, - "id": 2674, + "id": 2685, "implemented": true, "kind": "function", "modifiers": [], @@ -63769,41 +63659,41 @@ "nameLocation": "4134:3:9", "nodeType": "FunctionDefinition", "parameters": { - "id": 2668, + "id": 2679, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2667, + "id": 2678, "mutability": "mutable", "name": "$", "nameLocation": "4159:1:9", "nodeType": "VariableDeclaration", - "scope": 2674, + "scope": 2685, "src": "4138:22:9", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$2590_storage_ptr", "typeString": "struct LibBytes.BytesStorage" }, "typeName": { - "id": 2666, + "id": 2677, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 2665, + "id": 2676, "name": "BytesStorage", "nameLocations": [ "4138:12:9" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 2579, + "referencedDeclaration": 2590, "src": "4138:12:9" }, - "referencedDeclaration": 2579, + "referencedDeclaration": 2590, "src": "4138:12:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$2590_storage_ptr", "typeString": "struct LibBytes.BytesStorage" } }, @@ -63813,17 +63703,17 @@ "src": "4137:24:9" }, "returnParameters": { - "id": 2671, + "id": 2682, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2670, + "id": 2681, "mutability": "mutable", "name": "result", "nameLocation": "4198:6:9", "nodeType": "VariableDeclaration", - "scope": 2674, + "scope": 2685, "src": "4185:19:9", "stateVariable": false, "storageLocation": "memory", @@ -63832,7 +63722,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2669, + "id": 2680, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "4185:5:9", @@ -63846,7 +63736,7 @@ ], "src": "4184:21:9" }, - "scope": 3078, + "scope": 3089, "src": "4125:1091:9", "stateMutability": "view", "virtual": false, @@ -63854,7 +63744,7 @@ }, { "body": { - "id": 2686, + "id": 2697, "nodeType": "Block", "src": "5385:894:9", "statements": [ @@ -64629,7 +64519,7 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2678, + "declaration": 2689, "isOffset": false, "isSlot": true, "src": "5487:6:9", @@ -64637,7 +64527,7 @@ "valueSize": 1 }, { - "declaration": 2678, + "declaration": 2689, "isOffset": false, "isSlot": true, "src": "5804:6:9", @@ -64645,7 +64535,7 @@ "valueSize": 1 }, { - "declaration": 2678, + "declaration": 2689, "isOffset": false, "isSlot": true, "src": "6107:6:9", @@ -64653,89 +64543,89 @@ "valueSize": 1 }, { - "declaration": 2680, + "declaration": 2691, "isOffset": false, "isSlot": false, "src": "5595:1:9", "valueSize": 1 }, { - "declaration": 2680, + "declaration": 2691, "isOffset": false, "isSlot": false, "src": "5646:1:9", "valueSize": 1 }, { - "declaration": 2680, + "declaration": 2691, "isOffset": false, "isSlot": false, "src": "5742:1:9", "valueSize": 1 }, { - "declaration": 2680, + "declaration": 2691, "isOffset": false, "isSlot": false, "src": "5849:1:9", "valueSize": 1 }, { - "declaration": 2680, + "declaration": 2691, "isOffset": false, "isSlot": false, "src": "6052:1:9", "valueSize": 1 }, { - "declaration": 2680, + "declaration": 2691, "isOffset": false, "isSlot": false, "src": "6154:1:9", "valueSize": 1 }, { - "declaration": 2680, + "declaration": 2691, "isOffset": false, "isSlot": false, "src": "6204:1:9", "valueSize": 1 }, { - "declaration": 2683, + "declaration": 2694, "isOffset": false, "isSlot": false, "src": "5631:6:9", "valueSize": 1 }, { - "declaration": 2683, + "declaration": 2694, "isOffset": false, "isSlot": false, "src": "5882:6:9", "valueSize": 1 }, { - "declaration": 2683, + "declaration": 2694, "isOffset": false, "isSlot": false, "src": "6135:6:9", "valueSize": 1 } ], - "id": 2685, + "id": 2696, "nodeType": "InlineAssembly", "src": "5438:835:9" } ] }, "documentation": { - "id": 2675, + "id": 2686, "nodeType": "StructuredDocumentation", "src": "5222:69:9", "text": "@dev Returns the uint8 at index `i`. If out-of-bounds, returns 0." }, - "id": 2687, + "id": 2698, "implemented": true, "kind": "function", "modifiers": [], @@ -64743,41 +64633,41 @@ "nameLocation": "5305:7:9", "nodeType": "FunctionDefinition", "parameters": { - "id": 2681, + "id": 2692, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2678, + "id": 2689, "mutability": "mutable", "name": "$", "nameLocation": "5334:1:9", "nodeType": "VariableDeclaration", - "scope": 2687, + "scope": 2698, "src": "5313:22:9", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$2590_storage_ptr", "typeString": "struct LibBytes.BytesStorage" }, "typeName": { - "id": 2677, + "id": 2688, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 2676, + "id": 2687, "name": "BytesStorage", "nameLocations": [ "5313:12:9" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 2579, + "referencedDeclaration": 2590, "src": "5313:12:9" }, - "referencedDeclaration": 2579, + "referencedDeclaration": 2590, "src": "5313:12:9", "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$2590_storage_ptr", "typeString": "struct LibBytes.BytesStorage" } }, @@ -64785,12 +64675,12 @@ }, { "constant": false, - "id": 2680, + "id": 2691, "mutability": "mutable", "name": "i", "nameLocation": "5345:1:9", "nodeType": "VariableDeclaration", - "scope": 2687, + "scope": 2698, "src": "5337:9:9", "stateVariable": false, "storageLocation": "default", @@ -64799,7 +64689,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2679, + "id": 2690, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5337:7:9", @@ -64814,17 +64704,17 @@ "src": "5312:35:9" }, "returnParameters": { - "id": 2684, + "id": 2695, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2683, + "id": 2694, "mutability": "mutable", "name": "result", "nameLocation": "5377:6:9", "nodeType": "VariableDeclaration", - "scope": 2687, + "scope": 2698, "src": "5371:12:9", "stateVariable": false, "storageLocation": "default", @@ -64833,7 +64723,7 @@ "typeString": "uint8" }, "typeName": { - "id": 2682, + "id": 2693, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "5371:5:9", @@ -64847,7 +64737,7 @@ ], "src": "5370:14:9" }, - "scope": 3078, + "scope": 3089, "src": "5296:983:9", "stateMutability": "view", "virtual": false, @@ -64855,7 +64745,7 @@ }, { "body": { - "id": 2700, + "id": 2711, "nodeType": "Block", "src": "6814:2667:9", "statements": [ @@ -66902,110 +66792,110 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2692, + "declaration": 2703, "isOffset": false, "isSlot": false, "src": "6947:6:9", "valueSize": 1 }, { - "declaration": 2692, + "declaration": 2703, "isOffset": false, "isSlot": false, "src": "7457:6:9", "valueSize": 1 }, { - "declaration": 2692, + "declaration": 2703, "isOffset": false, "isSlot": false, "src": "7520:6:9", "valueSize": 1 }, { - "declaration": 2694, + "declaration": 2705, "isOffset": false, "isSlot": false, "src": "6995:11:9", "valueSize": 1 }, { - "declaration": 2694, + "declaration": 2705, "isOffset": false, "isSlot": false, "src": "8368:11:9", "valueSize": 1 }, { - "declaration": 2697, + "declaration": 2708, "isOffset": false, "isSlot": false, "src": "6890:6:9", "valueSize": 1 }, { - "declaration": 2697, + "declaration": 2708, "isOffset": false, "isSlot": false, "src": "7033:6:9", "valueSize": 1 }, { - "declaration": 2697, + "declaration": 2708, "isOffset": false, "isSlot": false, "src": "9096:6:9", "valueSize": 1 }, { - "declaration": 2697, + "declaration": 2708, "isOffset": false, "isSlot": false, "src": "9434:6:9", "valueSize": 1 }, { - "declaration": 2690, + "declaration": 2701, "isOffset": false, "isSlot": false, "src": "7041:7:9", "valueSize": 1 }, { - "declaration": 2690, + "declaration": 2701, "isOffset": false, "isSlot": false, "src": "7097:7:9", "valueSize": 1 }, { - "declaration": 2690, + "declaration": 2701, "isOffset": false, "isSlot": false, "src": "7176:7:9", "valueSize": 1 }, { - "declaration": 2690, + "declaration": 2701, "isOffset": false, "isSlot": false, "src": "7248:7:9", "valueSize": 1 } ], - "id": 2699, + "id": 2710, "nodeType": "InlineAssembly", "src": "6867:2608:9" } ] }, "documentation": { - "id": 2688, + "id": 2699, "nodeType": "StructuredDocumentation", "src": "6568:83:9", "text": "@dev Returns `subject` all occurrences of `needle` replaced with `replacement`." }, - "id": 2701, + "id": 2712, "implemented": true, "kind": "function", "modifiers": [], @@ -67013,17 +66903,17 @@ "nameLocation": "6665:7:9", "nodeType": "FunctionDefinition", "parameters": { - "id": 2695, + "id": 2706, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2690, + "id": 2701, "mutability": "mutable", "name": "subject", "nameLocation": "6686:7:9", "nodeType": "VariableDeclaration", - "scope": 2701, + "scope": 2712, "src": "6673:20:9", "stateVariable": false, "storageLocation": "memory", @@ -67032,7 +66922,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2689, + "id": 2700, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "6673:5:9", @@ -67045,12 +66935,12 @@ }, { "constant": false, - "id": 2692, + "id": 2703, "mutability": "mutable", "name": "needle", "nameLocation": "6708:6:9", "nodeType": "VariableDeclaration", - "scope": 2701, + "scope": 2712, "src": "6695:19:9", "stateVariable": false, "storageLocation": "memory", @@ -67059,7 +66949,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2691, + "id": 2702, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "6695:5:9", @@ -67072,12 +66962,12 @@ }, { "constant": false, - "id": 2694, + "id": 2705, "mutability": "mutable", "name": "replacement", "nameLocation": "6729:11:9", "nodeType": "VariableDeclaration", - "scope": 2701, + "scope": 2712, "src": "6716:24:9", "stateVariable": false, "storageLocation": "memory", @@ -67086,7 +66976,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2693, + "id": 2704, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "6716:5:9", @@ -67101,17 +66991,17 @@ "src": "6672:69:9" }, "returnParameters": { - "id": 2698, + "id": 2709, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2697, + "id": 2708, "mutability": "mutable", "name": "result", "nameLocation": "6802:6:9", "nodeType": "VariableDeclaration", - "scope": 2701, + "scope": 2712, "src": "6789:19:9", "stateVariable": false, "storageLocation": "memory", @@ -67120,7 +67010,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2696, + "id": 2707, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "6789:5:9", @@ -67134,7 +67024,7 @@ ], "src": "6788:21:9" }, - "scope": 3078, + "scope": 3089, "src": "6656:2825:9", "stateMutability": "pure", "virtual": false, @@ -67142,7 +67032,7 @@ }, { "body": { - "id": 2714, + "id": 2725, "nodeType": "Block", "src": "9857:1835:9", "statements": [ @@ -68504,215 +68394,215 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2708, + "declaration": 2719, "isOffset": false, "isSlot": false, "src": "10113:4:9", "valueSize": 1 }, { - "declaration": 2708, + "declaration": 2719, "isOffset": false, "isSlot": false, "src": "10151:4:9", "valueSize": 1 }, { - "declaration": 2708, + "declaration": 2719, "isOffset": false, "isSlot": false, "src": "10413:4:9", "valueSize": 1 }, { - "declaration": 2708, + "declaration": 2719, "isOffset": false, "isSlot": false, "src": "10667:4:9", "valueSize": 1 }, { - "declaration": 2706, + "declaration": 2717, "isOffset": false, "isSlot": false, "src": "10072:6:9", "valueSize": 1 }, { - "declaration": 2706, + "declaration": 2717, "isOffset": false, "isSlot": false, "src": "10304:6:9", "valueSize": 1 }, { - "declaration": 2706, + "declaration": 2717, "isOffset": false, "isSlot": false, "src": "10600:6:9", "valueSize": 1 }, { - "declaration": 2706, + "declaration": 2717, "isOffset": false, "isSlot": false, "src": "10796:6:9", "valueSize": 1 }, { - "declaration": 2711, + "declaration": 2722, "isOffset": false, "isSlot": false, "src": "10103:6:9", "valueSize": 1 }, { - "declaration": 2711, + "declaration": 2722, "isOffset": false, "isSlot": false, "src": "10200:6:9", "valueSize": 1 }, { - "declaration": 2711, + "declaration": 2722, "isOffset": false, "isSlot": false, "src": "11001:6:9", "valueSize": 1 }, { - "declaration": 2711, + "declaration": 2722, "isOffset": false, "isSlot": false, "src": "11429:6:9", "valueSize": 1 }, { - "declaration": 2711, + "declaration": 2722, "isOffset": false, "isSlot": false, "src": "9933:6:9", "valueSize": 1 }, { - "declaration": 2704, + "declaration": 2715, "isOffset": false, "isSlot": false, "src": "10022:7:9", "valueSize": 1 }, { - "declaration": 2704, + "declaration": 2715, "isOffset": false, "isSlot": false, "src": "10352:7:9", "valueSize": 1 }, { - "declaration": 2704, + "declaration": 2715, "isOffset": false, "isSlot": false, "src": "10384:7:9", "valueSize": 1 }, { - "declaration": 2704, + "declaration": 2715, "isOffset": false, "isSlot": false, "src": "10649:7:9", "valueSize": 1 }, { - "declaration": 2704, + "declaration": 2715, "isOffset": false, "isSlot": false, "src": "10882:7:9", "valueSize": 1 }, { - "declaration": 2704, + "declaration": 2715, "isOffset": false, "isSlot": false, "src": "10943:7:9", "valueSize": 1 }, { - "declaration": 2704, + "declaration": 2715, "isOffset": false, "isSlot": false, "src": "11015:7:9", "valueSize": 1 }, { - "declaration": 2704, + "declaration": 2715, "isOffset": false, "isSlot": false, "src": "11156:7:9", "valueSize": 1 }, { - "declaration": 2704, + "declaration": 2715, "isOffset": false, "isSlot": false, "src": "11171:7:9", "valueSize": 1 }, { - "declaration": 2704, + "declaration": 2715, "isOffset": false, "isSlot": false, "src": "11220:7:9", "valueSize": 1 }, { - "declaration": 2704, + "declaration": 2715, "isOffset": false, "isSlot": false, "src": "11388:7:9", "valueSize": 1 }, { - "declaration": 2704, + "declaration": 2715, "isOffset": false, "isSlot": false, "src": "11443:7:9", "valueSize": 1 }, { - "declaration": 2704, + "declaration": 2715, "isOffset": false, "isSlot": false, "src": "11538:7:9", "valueSize": 1 }, { - "declaration": 2704, + "declaration": 2715, "isOffset": false, "isSlot": false, "src": "11553:7:9", "valueSize": 1 }, { - "declaration": 2704, + "declaration": 2715, "isOffset": false, "isSlot": false, "src": "11598:7:9", "valueSize": 1 } ], - "id": 2713, + "id": 2724, "nodeType": "InlineAssembly", "src": "9910:1776:9" } ] }, "documentation": { - "id": 2702, + "id": 2713, "nodeType": "StructuredDocumentation", "src": "9487:224:9", "text": "@dev Returns the byte index of the first location of `needle` in `subject`,\n needleing from left to right, starting from `from`.\n Returns `NOT_FOUND` (i.e. `type(uint256).max`) if the `needle` is not found." }, - "id": 2715, + "id": 2726, "implemented": true, "kind": "function", "modifiers": [], @@ -68720,17 +68610,17 @@ "nameLocation": "9725:7:9", "nodeType": "FunctionDefinition", "parameters": { - "id": 2709, + "id": 2720, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2704, + "id": 2715, "mutability": "mutable", "name": "subject", "nameLocation": "9746:7:9", "nodeType": "VariableDeclaration", - "scope": 2715, + "scope": 2726, "src": "9733:20:9", "stateVariable": false, "storageLocation": "memory", @@ -68739,7 +68629,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2703, + "id": 2714, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "9733:5:9", @@ -68752,12 +68642,12 @@ }, { "constant": false, - "id": 2706, + "id": 2717, "mutability": "mutable", "name": "needle", "nameLocation": "9768:6:9", "nodeType": "VariableDeclaration", - "scope": 2715, + "scope": 2726, "src": "9755:19:9", "stateVariable": false, "storageLocation": "memory", @@ -68766,7 +68656,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2705, + "id": 2716, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "9755:5:9", @@ -68779,12 +68669,12 @@ }, { "constant": false, - "id": 2708, + "id": 2719, "mutability": "mutable", "name": "from", "nameLocation": "9784:4:9", "nodeType": "VariableDeclaration", - "scope": 2715, + "scope": 2726, "src": "9776:12:9", "stateVariable": false, "storageLocation": "default", @@ -68793,7 +68683,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2707, + "id": 2718, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "9776:7:9", @@ -68808,17 +68698,17 @@ "src": "9732:57:9" }, "returnParameters": { - "id": 2712, + "id": 2723, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2711, + "id": 2722, "mutability": "mutable", "name": "result", "nameLocation": "9845:6:9", "nodeType": "VariableDeclaration", - "scope": 2715, + "scope": 2726, "src": "9837:14:9", "stateVariable": false, "storageLocation": "default", @@ -68827,7 +68717,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2710, + "id": 2721, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "9837:7:9", @@ -68841,7 +68731,7 @@ ], "src": "9836:16:9" }, - "scope": 3078, + "scope": 3089, "src": "9716:1976:9", "stateMutability": "pure", "virtual": false, @@ -68849,7 +68739,7 @@ }, { "body": { - "id": 2731, + "id": 2742, "nodeType": "Block", "src": "11997:51:9", "statements": [ @@ -68857,11 +68747,11 @@ "expression": { "arguments": [ { - "id": 2726, + "id": 2737, "name": "subject", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2718, + "referencedDeclaration": 2729, "src": "12022:7:9", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -68869,11 +68759,11 @@ } }, { - "id": 2727, + "id": 2738, "name": "needle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2720, + "referencedDeclaration": 2731, "src": "12031:6:9", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -68882,7 +68772,7 @@ }, { "hexValue": "30", - "id": 2728, + "id": 2739, "isConstant": false, "isLValue": false, "isPure": true, @@ -68912,21 +68802,21 @@ "typeString": "int_const 0" } ], - "id": 2725, + "id": 2736, "name": "indexOf", "nodeType": "Identifier", "overloadedDeclarations": [ - 2715, - 2732 + 2726, + 2743 ], - "referencedDeclaration": 2715, + "referencedDeclaration": 2726, "src": "12014:7:9", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (bytes memory,bytes memory,uint256) pure returns (uint256)" } }, - "id": 2729, + "id": 2740, "isConstant": false, "isLValue": false, "isPure": false, @@ -68942,20 +68832,20 @@ "typeString": "uint256" } }, - "functionReturnParameters": 2724, - "id": 2730, + "functionReturnParameters": 2735, + "id": 2741, "nodeType": "Return", "src": "12007:34:9" } ] }, "documentation": { - "id": 2716, + "id": 2727, "nodeType": "StructuredDocumentation", "src": "11698:202:9", "text": "@dev Returns the byte index of the first location of `needle` in `subject`,\n needleing from left to right.\n Returns `NOT_FOUND` (i.e. `type(uint256).max`) if the `needle` is not found." }, - "id": 2732, + "id": 2743, "implemented": true, "kind": "function", "modifiers": [], @@ -68963,17 +68853,17 @@ "nameLocation": "11914:7:9", "nodeType": "FunctionDefinition", "parameters": { - "id": 2721, + "id": 2732, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2718, + "id": 2729, "mutability": "mutable", "name": "subject", "nameLocation": "11935:7:9", "nodeType": "VariableDeclaration", - "scope": 2732, + "scope": 2743, "src": "11922:20:9", "stateVariable": false, "storageLocation": "memory", @@ -68982,7 +68872,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2717, + "id": 2728, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "11922:5:9", @@ -68995,12 +68885,12 @@ }, { "constant": false, - "id": 2720, + "id": 2731, "mutability": "mutable", "name": "needle", "nameLocation": "11957:6:9", "nodeType": "VariableDeclaration", - "scope": 2732, + "scope": 2743, "src": "11944:19:9", "stateVariable": false, "storageLocation": "memory", @@ -69009,7 +68899,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2719, + "id": 2730, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "11944:5:9", @@ -69024,17 +68914,17 @@ "src": "11921:43:9" }, "returnParameters": { - "id": 2724, + "id": 2735, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2723, + "id": 2734, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2732, + "scope": 2743, "src": "11988:7:9", "stateVariable": false, "storageLocation": "default", @@ -69043,7 +68933,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2722, + "id": 2733, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "11988:7:9", @@ -69057,7 +68947,7 @@ ], "src": "11987:9:9" }, - "scope": 3078, + "scope": 3089, "src": "11905:143:9", "stateMutability": "pure", "virtual": false, @@ -69065,7 +68955,7 @@ }, { "body": { - "id": 2745, + "id": 2756, "nodeType": "Block", "src": "12428:1170:9", "statements": [ @@ -69861,152 +69751,152 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2739, + "declaration": 2750, "isOffset": false, "isSlot": false, "src": "12820:4:9", "valueSize": 1 }, { - "declaration": 2739, + "declaration": 2750, "isOffset": false, "isSlot": false, "src": "12829:4:9", "valueSize": 1 }, { - "declaration": 2739, + "declaration": 2750, "isOffset": false, "isSlot": false, "src": "12953:4:9", "valueSize": 1 }, { - "declaration": 2737, + "declaration": 2748, "isOffset": false, "isSlot": false, "src": "12620:6:9", "valueSize": 1 }, { - "declaration": 2737, + "declaration": 2748, "isOffset": false, "isSlot": false, "src": "13193:6:9", "valueSize": 1 }, { - "declaration": 2742, + "declaration": 2753, "isOffset": false, "isSlot": false, "src": "12534:6:9", "valueSize": 1 }, { - "declaration": 2742, + "declaration": 2753, "isOffset": false, "isSlot": false, "src": "12712:6:9", "valueSize": 1 }, { - "declaration": 2742, + "declaration": 2753, "isOffset": false, "isSlot": false, "src": "13314:6:9", "valueSize": 1 }, { - "declaration": 2735, + "declaration": 2746, "isOffset": false, "isSlot": false, "src": "12667:7:9", "valueSize": 1 }, { - "declaration": 2735, + "declaration": 2746, "isOffset": false, "isSlot": false, "src": "12761:7:9", "valueSize": 1 }, { - "declaration": 2735, + "declaration": 2746, "isOffset": false, "isSlot": false, "src": "12883:7:9", "valueSize": 1 }, { - "declaration": 2735, + "declaration": 2746, "isOffset": false, "isSlot": false, "src": "12918:7:9", "valueSize": 1 }, { - "declaration": 2735, + "declaration": 2746, "isOffset": false, "isSlot": false, "src": "12937:7:9", "valueSize": 1 }, { - "declaration": 2735, + "declaration": 2746, "isOffset": false, "isSlot": false, "src": "12988:7:9", "valueSize": 1 }, { - "declaration": 2735, + "declaration": 2746, "isOffset": false, "isSlot": false, "src": "13264:7:9", "valueSize": 1 }, { - "declaration": 2735, + "declaration": 2746, "isOffset": false, "isSlot": false, "src": "13328:7:9", "valueSize": 1 }, { - "declaration": 2735, + "declaration": 2746, "isOffset": false, "isSlot": false, "src": "13422:7:9", "valueSize": 1 }, { - "declaration": 2735, + "declaration": 2746, "isOffset": false, "isSlot": false, "src": "13437:7:9", "valueSize": 1 }, { - "declaration": 2735, + "declaration": 2746, "isOffset": false, "isSlot": false, "src": "13504:7:9", "valueSize": 1 } ], - "id": 2744, + "id": 2755, "nodeType": "InlineAssembly", "src": "12481:1111:9" } ] }, "documentation": { - "id": 2733, + "id": 2744, "nodeType": "StructuredDocumentation", "src": "12054:224:9", "text": "@dev Returns the byte index of the first location of `needle` in `subject`,\n needleing from right to left, starting from `from`.\n Returns `NOT_FOUND` (i.e. `type(uint256).max`) if the `needle` is not found." }, - "id": 2746, + "id": 2757, "implemented": true, "kind": "function", "modifiers": [], @@ -70014,17 +69904,17 @@ "nameLocation": "12292:11:9", "nodeType": "FunctionDefinition", "parameters": { - "id": 2740, + "id": 2751, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2735, + "id": 2746, "mutability": "mutable", "name": "subject", "nameLocation": "12317:7:9", "nodeType": "VariableDeclaration", - "scope": 2746, + "scope": 2757, "src": "12304:20:9", "stateVariable": false, "storageLocation": "memory", @@ -70033,7 +69923,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2734, + "id": 2745, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "12304:5:9", @@ -70046,12 +69936,12 @@ }, { "constant": false, - "id": 2737, + "id": 2748, "mutability": "mutable", "name": "needle", "nameLocation": "12339:6:9", "nodeType": "VariableDeclaration", - "scope": 2746, + "scope": 2757, "src": "12326:19:9", "stateVariable": false, "storageLocation": "memory", @@ -70060,7 +69950,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2736, + "id": 2747, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "12326:5:9", @@ -70073,12 +69963,12 @@ }, { "constant": false, - "id": 2739, + "id": 2750, "mutability": "mutable", "name": "from", "nameLocation": "12355:4:9", "nodeType": "VariableDeclaration", - "scope": 2746, + "scope": 2757, "src": "12347:12:9", "stateVariable": false, "storageLocation": "default", @@ -70087,7 +69977,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2738, + "id": 2749, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "12347:7:9", @@ -70102,17 +69992,17 @@ "src": "12303:57:9" }, "returnParameters": { - "id": 2743, + "id": 2754, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2742, + "id": 2753, "mutability": "mutable", "name": "result", "nameLocation": "12416:6:9", "nodeType": "VariableDeclaration", - "scope": 2746, + "scope": 2757, "src": "12408:14:9", "stateVariable": false, "storageLocation": "default", @@ -70121,7 +70011,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2741, + "id": 2752, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "12408:7:9", @@ -70135,7 +70025,7 @@ ], "src": "12407:16:9" }, - "scope": 3078, + "scope": 3089, "src": "12283:1315:9", "stateMutability": "pure", "virtual": false, @@ -70143,7 +70033,7 @@ }, { "body": { - "id": 2766, + "id": 2777, "nodeType": "Block", "src": "13935:71:9", "statements": [ @@ -70151,11 +70041,11 @@ "expression": { "arguments": [ { - "id": 2757, + "id": 2768, "name": "subject", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2749, + "referencedDeclaration": 2760, "src": "13964:7:9", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -70163,11 +70053,11 @@ } }, { - "id": 2758, + "id": 2769, "name": "needle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2751, + "referencedDeclaration": 2762, "src": "13973:6:9", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -70178,7 +70068,7 @@ "expression": { "arguments": [ { - "id": 2761, + "id": 2772, "isConstant": false, "isLValue": false, "isPure": true, @@ -70190,7 +70080,7 @@ "typeString": "type(uint256)" }, "typeName": { - "id": 2760, + "id": 2771, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "13986:7:9", @@ -70205,7 +70095,7 @@ "typeString": "type(uint256)" } ], - "id": 2759, + "id": 2770, "name": "type", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -70216,7 +70106,7 @@ "typeString": "function () pure" } }, - "id": 2762, + "id": 2773, "isConstant": false, "isLValue": false, "isPure": true, @@ -70232,7 +70122,7 @@ "typeString": "type(uint256)" } }, - "id": 2763, + "id": 2774, "isConstant": false, "isLValue": false, "isPure": true, @@ -70262,21 +70152,21 @@ "typeString": "uint256" } ], - "id": 2756, + "id": 2767, "name": "lastIndexOf", "nodeType": "Identifier", "overloadedDeclarations": [ - 2746, - 2767 + 2757, + 2778 ], - "referencedDeclaration": 2746, + "referencedDeclaration": 2757, "src": "13952:11:9", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (bytes memory,bytes memory,uint256) pure returns (uint256)" } }, - "id": 2764, + "id": 2775, "isConstant": false, "isLValue": false, "isPure": false, @@ -70292,20 +70182,20 @@ "typeString": "uint256" } }, - "functionReturnParameters": 2755, - "id": 2765, + "functionReturnParameters": 2766, + "id": 2776, "nodeType": "Return", "src": "13945:54:9" } ] }, "documentation": { - "id": 2747, + "id": 2758, "nodeType": "StructuredDocumentation", "src": "13604:202:9", "text": "@dev Returns the byte index of the first location of `needle` in `subject`,\n needleing from right to left.\n Returns `NOT_FOUND` (i.e. `type(uint256).max`) if the `needle` is not found." }, - "id": 2767, + "id": 2778, "implemented": true, "kind": "function", "modifiers": [], @@ -70313,17 +70203,17 @@ "nameLocation": "13820:11:9", "nodeType": "FunctionDefinition", "parameters": { - "id": 2752, + "id": 2763, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2749, + "id": 2760, "mutability": "mutable", "name": "subject", "nameLocation": "13845:7:9", "nodeType": "VariableDeclaration", - "scope": 2767, + "scope": 2778, "src": "13832:20:9", "stateVariable": false, "storageLocation": "memory", @@ -70332,7 +70222,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2748, + "id": 2759, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "13832:5:9", @@ -70345,12 +70235,12 @@ }, { "constant": false, - "id": 2751, + "id": 2762, "mutability": "mutable", "name": "needle", "nameLocation": "13867:6:9", "nodeType": "VariableDeclaration", - "scope": 2767, + "scope": 2778, "src": "13854:19:9", "stateVariable": false, "storageLocation": "memory", @@ -70359,7 +70249,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2750, + "id": 2761, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "13854:5:9", @@ -70374,17 +70264,17 @@ "src": "13831:43:9" }, "returnParameters": { - "id": 2755, + "id": 2766, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2754, + "id": 2765, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2767, + "scope": 2778, "src": "13922:7:9", "stateVariable": false, "storageLocation": "default", @@ -70393,7 +70283,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2753, + "id": 2764, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "13922:7:9", @@ -70407,7 +70297,7 @@ ], "src": "13921:9:9" }, - "scope": 3078, + "scope": 3089, "src": "13811:195:9", "stateMutability": "pure", "virtual": false, @@ -70415,7 +70305,7 @@ }, { "body": { - "id": 2784, + "id": 2795, "nodeType": "Block", "src": "14180:61:9", "statements": [ @@ -70425,7 +70315,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2782, + "id": 2793, "isConstant": false, "isLValue": false, "isPure": false, @@ -70433,11 +70323,11 @@ "leftExpression": { "arguments": [ { - "id": 2778, + "id": 2789, "name": "subject", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2770, + "referencedDeclaration": 2781, "src": "14205:7:9", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -70445,11 +70335,11 @@ } }, { - "id": 2779, + "id": 2790, "name": "needle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2772, + "referencedDeclaration": 2783, "src": "14214:6:9", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -70468,21 +70358,21 @@ "typeString": "bytes memory" } ], - "id": 2777, + "id": 2788, "name": "indexOf", "nodeType": "Identifier", "overloadedDeclarations": [ - 2715, - 2732 + 2726, + 2743 ], - "referencedDeclaration": 2732, + "referencedDeclaration": 2743, "src": "14197:7:9", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$", "typeString": "function (bytes memory,bytes memory) pure returns (uint256)" } }, - "id": 2780, + "id": 2791, "isConstant": false, "isLValue": false, "isPure": false, @@ -70501,11 +70391,11 @@ "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { - "id": 2781, + "id": 2792, "name": "NOT_FOUND", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2587, + "referencedDeclaration": 2598, "src": "14225:9:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -70518,20 +70408,20 @@ "typeString": "bool" } }, - "functionReturnParameters": 2776, - "id": 2783, + "functionReturnParameters": 2787, + "id": 2794, "nodeType": "Return", "src": "14190:44:9" } ] }, "documentation": { - "id": 2768, + "id": 2779, "nodeType": "StructuredDocumentation", "src": "14012:73:9", "text": "@dev Returns true if `needle` is found in `subject`, false otherwise." }, - "id": 2785, + "id": 2796, "implemented": true, "kind": "function", "modifiers": [], @@ -70539,17 +70429,17 @@ "nameLocation": "14099:8:9", "nodeType": "FunctionDefinition", "parameters": { - "id": 2773, + "id": 2784, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2770, + "id": 2781, "mutability": "mutable", "name": "subject", "nameLocation": "14121:7:9", "nodeType": "VariableDeclaration", - "scope": 2785, + "scope": 2796, "src": "14108:20:9", "stateVariable": false, "storageLocation": "memory", @@ -70558,7 +70448,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2769, + "id": 2780, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "14108:5:9", @@ -70571,12 +70461,12 @@ }, { "constant": false, - "id": 2772, + "id": 2783, "mutability": "mutable", "name": "needle", "nameLocation": "14143:6:9", "nodeType": "VariableDeclaration", - "scope": 2785, + "scope": 2796, "src": "14130:19:9", "stateVariable": false, "storageLocation": "memory", @@ -70585,7 +70475,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2771, + "id": 2782, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "14130:5:9", @@ -70600,17 +70490,17 @@ "src": "14107:43:9" }, "returnParameters": { - "id": 2776, + "id": 2787, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2775, + "id": 2786, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2785, + "scope": 2796, "src": "14174:4:9", "stateVariable": false, "storageLocation": "default", @@ -70619,7 +70509,7 @@ "typeString": "bool" }, "typeName": { - "id": 2774, + "id": 2785, "name": "bool", "nodeType": "ElementaryTypeName", "src": "14174:4:9", @@ -70633,7 +70523,7 @@ ], "src": "14173:6:9" }, - "scope": 3078, + "scope": 3089, "src": "14090:151:9", "stateMutability": "pure", "virtual": false, @@ -70641,7 +70531,7 @@ }, { "body": { - "id": 2796, + "id": 2807, "nodeType": "Block", "src": "14435:322:9", "statements": [ @@ -70879,54 +70769,54 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2790, + "declaration": 2801, "isOffset": false, "isSlot": false, "src": "14526:6:9", "valueSize": 1 }, { - "declaration": 2790, + "declaration": 2801, "isOffset": false, "isSlot": false, "src": "14672:6:9", "valueSize": 1 }, { - "declaration": 2793, + "declaration": 2804, "isOffset": false, "isSlot": false, "src": "14703:6:9", "valueSize": 1 }, { - "declaration": 2788, + "declaration": 2799, "isOffset": false, "isSlot": false, "src": "14638:7:9", "valueSize": 1 }, { - "declaration": 2788, + "declaration": 2799, "isOffset": false, "isSlot": false, "src": "14728:7:9", "valueSize": 1 } ], - "id": 2795, + "id": 2806, "nodeType": "InlineAssembly", "src": "14488:263:9" } ] }, "documentation": { - "id": 2786, + "id": 2797, "nodeType": "StructuredDocumentation", "src": "14247:56:9", "text": "@dev Returns whether `subject` starts with `needle`." }, - "id": 2797, + "id": 2808, "implemented": true, "kind": "function", "modifiers": [], @@ -70934,17 +70824,17 @@ "nameLocation": "14317:10:9", "nodeType": "FunctionDefinition", "parameters": { - "id": 2791, + "id": 2802, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2788, + "id": 2799, "mutability": "mutable", "name": "subject", "nameLocation": "14341:7:9", "nodeType": "VariableDeclaration", - "scope": 2797, + "scope": 2808, "src": "14328:20:9", "stateVariable": false, "storageLocation": "memory", @@ -70953,7 +70843,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2787, + "id": 2798, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "14328:5:9", @@ -70966,12 +70856,12 @@ }, { "constant": false, - "id": 2790, + "id": 2801, "mutability": "mutable", "name": "needle", "nameLocation": "14363:6:9", "nodeType": "VariableDeclaration", - "scope": 2797, + "scope": 2808, "src": "14350:19:9", "stateVariable": false, "storageLocation": "memory", @@ -70980,7 +70870,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2789, + "id": 2800, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "14350:5:9", @@ -70995,17 +70885,17 @@ "src": "14327:43:9" }, "returnParameters": { - "id": 2794, + "id": 2805, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2793, + "id": 2804, "mutability": "mutable", "name": "result", "nameLocation": "14423:6:9", "nodeType": "VariableDeclaration", - "scope": 2797, + "scope": 2808, "src": "14418:11:9", "stateVariable": false, "storageLocation": "default", @@ -71014,7 +70904,7 @@ "typeString": "bool" }, "typeName": { - "id": 2792, + "id": 2803, "name": "bool", "nodeType": "ElementaryTypeName", "src": "14418:4:9", @@ -71028,7 +70918,7 @@ ], "src": "14417:13:9" }, - "scope": 3078, + "scope": 3089, "src": "14308:449:9", "stateMutability": "pure", "virtual": false, @@ -71036,7 +70926,7 @@ }, { "body": { - "id": 2808, + "id": 2819, "nodeType": "Block", "src": "14947:491:9", "statements": [ @@ -71377,61 +71267,61 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2802, + "declaration": 2813, "isOffset": false, "isSlot": false, "src": "15038:6:9", "valueSize": 1 }, { - "declaration": 2802, + "declaration": 2813, "isOffset": false, "isSlot": false, "src": "15391:6:9", "valueSize": 1 }, { - "declaration": 2805, + "declaration": 2816, "isOffset": false, "isSlot": false, "src": "15344:6:9", "valueSize": 1 }, { - "declaration": 2800, + "declaration": 2811, "isOffset": false, "isSlot": false, "src": "15088:7:9", "valueSize": 1 }, { - "declaration": 2800, + "declaration": 2811, "isOffset": false, "isSlot": false, "src": "15201:7:9", "valueSize": 1 }, { - "declaration": 2800, + "declaration": 2811, "isOffset": false, "isSlot": false, "src": "15251:7:9", "valueSize": 1 } ], - "id": 2807, + "id": 2818, "nodeType": "InlineAssembly", "src": "15000:432:9" } ] }, "documentation": { - "id": 2798, + "id": 2809, "nodeType": "StructuredDocumentation", "src": "14763:54:9", "text": "@dev Returns whether `subject` ends with `needle`." }, - "id": 2809, + "id": 2820, "implemented": true, "kind": "function", "modifiers": [], @@ -71439,17 +71329,17 @@ "nameLocation": "14831:8:9", "nodeType": "FunctionDefinition", "parameters": { - "id": 2803, + "id": 2814, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2800, + "id": 2811, "mutability": "mutable", "name": "subject", "nameLocation": "14853:7:9", "nodeType": "VariableDeclaration", - "scope": 2809, + "scope": 2820, "src": "14840:20:9", "stateVariable": false, "storageLocation": "memory", @@ -71458,7 +71348,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2799, + "id": 2810, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "14840:5:9", @@ -71471,12 +71361,12 @@ }, { "constant": false, - "id": 2802, + "id": 2813, "mutability": "mutable", "name": "needle", "nameLocation": "14875:6:9", "nodeType": "VariableDeclaration", - "scope": 2809, + "scope": 2820, "src": "14862:19:9", "stateVariable": false, "storageLocation": "memory", @@ -71485,7 +71375,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2801, + "id": 2812, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "14862:5:9", @@ -71500,17 +71390,17 @@ "src": "14839:43:9" }, "returnParameters": { - "id": 2806, + "id": 2817, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2805, + "id": 2816, "mutability": "mutable", "name": "result", "nameLocation": "14935:6:9", "nodeType": "VariableDeclaration", - "scope": 2809, + "scope": 2820, "src": "14930:11:9", "stateVariable": false, "storageLocation": "default", @@ -71519,7 +71409,7 @@ "typeString": "bool" }, "typeName": { - "id": 2804, + "id": 2815, "name": "bool", "nodeType": "ElementaryTypeName", "src": "14930:4:9", @@ -71533,7 +71423,7 @@ ], "src": "14929:13:9" }, - "scope": 3078, + "scope": 3089, "src": "14822:616:9", "stateMutability": "pure", "virtual": false, @@ -71541,7 +71431,7 @@ }, { "body": { - "id": 2820, + "id": 2831, "nodeType": "Block", "src": "15618:1002:9", "statements": [ @@ -72313,103 +72203,103 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2817, + "declaration": 2828, "isOffset": false, "isSlot": false, "src": "15807:6:9", "valueSize": 1 }, { - "declaration": 2817, + "declaration": 2828, "isOffset": false, "isSlot": false, "src": "15904:6:9", "valueSize": 1 }, { - "declaration": 2817, + "declaration": 2828, "isOffset": false, "isSlot": false, "src": "16535:6:9", "valueSize": 1 }, { - "declaration": 2817, + "declaration": 2828, "isOffset": false, "isSlot": false, "src": "16554:6:9", "valueSize": 1 }, { - "declaration": 2812, + "declaration": 2823, "isOffset": false, "isSlot": false, "src": "15709:7:9", "valueSize": 1 }, { - "declaration": 2812, + "declaration": 2823, "isOffset": false, "isSlot": false, "src": "15845:7:9", "valueSize": 1 }, { - "declaration": 2812, + "declaration": 2823, "isOffset": false, "isSlot": false, "src": "15860:7:9", "valueSize": 1 }, { - "declaration": 2812, + "declaration": 2823, "isOffset": false, "isSlot": false, "src": "16108:7:9", "valueSize": 1 }, { - "declaration": 2814, + "declaration": 2825, "isOffset": false, "isSlot": false, "src": "15769:5:9", "valueSize": 1 }, { - "declaration": 2814, + "declaration": 2825, "isOffset": false, "isSlot": false, "src": "16295:5:9", "valueSize": 1 }, { - "declaration": 2814, + "declaration": 2825, "isOffset": false, "isSlot": false, "src": "16308:5:9", "valueSize": 1 }, { - "declaration": 2814, + "declaration": 2825, "isOffset": false, "isSlot": false, "src": "16348:5:9", "valueSize": 1 } ], - "id": 2819, + "id": 2830, "nodeType": "InlineAssembly", "src": "15671:943:9" } ] }, "documentation": { - "id": 2810, + "id": 2821, "nodeType": "StructuredDocumentation", "src": "15444:44:9", "text": "@dev Returns `subject` repeated `times`." }, - "id": 2821, + "id": 2832, "implemented": true, "kind": "function", "modifiers": [], @@ -72417,17 +72307,17 @@ "nameLocation": "15502:6:9", "nodeType": "FunctionDefinition", "parameters": { - "id": 2815, + "id": 2826, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2812, + "id": 2823, "mutability": "mutable", "name": "subject", "nameLocation": "15522:7:9", "nodeType": "VariableDeclaration", - "scope": 2821, + "scope": 2832, "src": "15509:20:9", "stateVariable": false, "storageLocation": "memory", @@ -72436,7 +72326,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2811, + "id": 2822, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "15509:5:9", @@ -72449,12 +72339,12 @@ }, { "constant": false, - "id": 2814, + "id": 2825, "mutability": "mutable", "name": "times", "nameLocation": "15539:5:9", "nodeType": "VariableDeclaration", - "scope": 2821, + "scope": 2832, "src": "15531:13:9", "stateVariable": false, "storageLocation": "default", @@ -72463,7 +72353,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2813, + "id": 2824, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "15531:7:9", @@ -72478,17 +72368,17 @@ "src": "15508:37:9" }, "returnParameters": { - "id": 2818, + "id": 2829, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2817, + "id": 2828, "mutability": "mutable", "name": "result", "nameLocation": "15606:6:9", "nodeType": "VariableDeclaration", - "scope": 2821, + "scope": 2832, "src": "15593:19:9", "stateVariable": false, "storageLocation": "memory", @@ -72497,7 +72387,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2816, + "id": 2827, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "15593:5:9", @@ -72511,7 +72401,7 @@ ], "src": "15592:21:9" }, - "scope": 3078, + "scope": 3089, "src": "15493:1127:9", "stateMutability": "pure", "virtual": false, @@ -72519,7 +72409,7 @@ }, { "body": { - "id": 2834, + "id": 2845, "nodeType": "Block", "src": "16890:978:9", "statements": [ @@ -73313,124 +73203,124 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2828, + "declaration": 2839, "isOffset": false, "isSlot": false, "src": "17037:3:9", "valueSize": 1 }, { - "declaration": 2828, + "declaration": 2839, "isOffset": false, "isSlot": false, "src": "17045:3:9", "valueSize": 1 }, { - "declaration": 2828, + "declaration": 2839, "isOffset": false, "isSlot": false, "src": "17132:3:9", "valueSize": 1 }, { - "declaration": 2828, + "declaration": 2839, "isOffset": false, "isSlot": false, "src": "17206:3:9", "valueSize": 1 }, { - "declaration": 2831, + "declaration": 2842, "isOffset": false, "isSlot": false, "src": "17155:6:9", "valueSize": 1 }, { - "declaration": 2831, + "declaration": 2842, "isOffset": false, "isSlot": false, "src": "17459:6:9", "valueSize": 1 }, { - "declaration": 2831, + "declaration": 2842, "isOffset": false, "isSlot": false, "src": "17637:6:9", "valueSize": 1 }, { - "declaration": 2831, + "declaration": 2842, "isOffset": false, "isSlot": false, "src": "17807:6:9", "valueSize": 1 }, { - "declaration": 2826, + "declaration": 2837, "isOffset": false, "isSlot": false, "src": "17084:5:9", "valueSize": 1 }, { - "declaration": 2826, + "declaration": 2837, "isOffset": false, "isSlot": false, "src": "17094:5:9", "valueSize": 1 }, { - "declaration": 2826, + "declaration": 2837, "isOffset": false, "isSlot": false, "src": "17125:5:9", "valueSize": 1 }, { - "declaration": 2826, + "declaration": 2837, "isOffset": false, "isSlot": false, "src": "17211:5:9", "valueSize": 1 }, { - "declaration": 2826, + "declaration": 2837, "isOffset": false, "isSlot": false, "src": "17256:5:9", "valueSize": 1 }, { - "declaration": 2824, + "declaration": 2835, "isOffset": false, "isSlot": false, "src": "16981:7:9", "valueSize": 1 }, { - "declaration": 2824, + "declaration": 2835, "isOffset": false, "isSlot": false, "src": "17247:7:9", "valueSize": 1 } ], - "id": 2833, + "id": 2844, "nodeType": "InlineAssembly", "src": "16943:919:9" } ] }, "documentation": { - "id": 2822, + "id": 2833, "nodeType": "StructuredDocumentation", "src": "16626:122:9", "text": "@dev Returns a copy of `subject` sliced from `start` to `end` (exclusive).\n `start` and `end` are byte offsets." }, - "id": 2835, + "id": 2846, "implemented": true, "kind": "function", "modifiers": [], @@ -73438,17 +73328,17 @@ "nameLocation": "16762:5:9", "nodeType": "FunctionDefinition", "parameters": { - "id": 2829, + "id": 2840, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2824, + "id": 2835, "mutability": "mutable", "name": "subject", "nameLocation": "16781:7:9", "nodeType": "VariableDeclaration", - "scope": 2835, + "scope": 2846, "src": "16768:20:9", "stateVariable": false, "storageLocation": "memory", @@ -73457,7 +73347,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2823, + "id": 2834, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "16768:5:9", @@ -73470,12 +73360,12 @@ }, { "constant": false, - "id": 2826, + "id": 2837, "mutability": "mutable", "name": "start", "nameLocation": "16798:5:9", "nodeType": "VariableDeclaration", - "scope": 2835, + "scope": 2846, "src": "16790:13:9", "stateVariable": false, "storageLocation": "default", @@ -73484,7 +73374,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2825, + "id": 2836, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "16790:7:9", @@ -73497,12 +73387,12 @@ }, { "constant": false, - "id": 2828, + "id": 2839, "mutability": "mutable", "name": "end", "nameLocation": "16813:3:9", "nodeType": "VariableDeclaration", - "scope": 2835, + "scope": 2846, "src": "16805:11:9", "stateVariable": false, "storageLocation": "default", @@ -73511,7 +73401,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2827, + "id": 2838, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "16805:7:9", @@ -73526,17 +73416,17 @@ "src": "16767:50:9" }, "returnParameters": { - "id": 2832, + "id": 2843, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2831, + "id": 2842, "mutability": "mutable", "name": "result", "nameLocation": "16878:6:9", "nodeType": "VariableDeclaration", - "scope": 2835, + "scope": 2846, "src": "16865:19:9", "stateVariable": false, "storageLocation": "memory", @@ -73545,7 +73435,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2830, + "id": 2841, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "16865:5:9", @@ -73559,7 +73449,7 @@ ], "src": "16864:21:9" }, - "scope": 3078, + "scope": 3089, "src": "16753:1115:9", "stateMutability": "pure", "virtual": false, @@ -73567,23 +73457,23 @@ }, { "body": { - "id": 2857, + "id": 2868, "nodeType": "Block", "src": "18118:66:9", "statements": [ { "expression": { - "id": 2855, + "id": 2866, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 2845, + "id": 2856, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2843, + "referencedDeclaration": 2854, "src": "18128:6:9", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -73595,11 +73485,11 @@ "rightHandSide": { "arguments": [ { - "id": 2847, + "id": 2858, "name": "subject", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2838, + "referencedDeclaration": 2849, "src": "18143:7:9", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -73607,11 +73497,11 @@ } }, { - "id": 2848, + "id": 2859, "name": "start", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2840, + "referencedDeclaration": 2851, "src": "18152:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -73622,7 +73512,7 @@ "expression": { "arguments": [ { - "id": 2851, + "id": 2862, "isConstant": false, "isLValue": false, "isPure": true, @@ -73634,7 +73524,7 @@ "typeString": "type(uint256)" }, "typeName": { - "id": 2850, + "id": 2861, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "18164:7:9", @@ -73649,7 +73539,7 @@ "typeString": "type(uint256)" } ], - "id": 2849, + "id": 2860, "name": "type", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -73660,7 +73550,7 @@ "typeString": "function () pure" } }, - "id": 2852, + "id": 2863, "isConstant": false, "isLValue": false, "isPure": true, @@ -73676,7 +73566,7 @@ "typeString": "type(uint256)" } }, - "id": 2853, + "id": 2864, "isConstant": false, "isLValue": false, "isPure": true, @@ -73706,21 +73596,21 @@ "typeString": "uint256" } ], - "id": 2846, + "id": 2857, "name": "slice", "nodeType": "Identifier", "overloadedDeclarations": [ - 2835, - 2858 + 2846, + 2869 ], - "referencedDeclaration": 2835, + "referencedDeclaration": 2846, "src": "18137:5:9", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$", "typeString": "function (bytes memory,uint256,uint256) pure returns (bytes memory)" } }, - "id": 2854, + "id": 2865, "isConstant": false, "isLValue": false, "isPure": false, @@ -73742,19 +73632,19 @@ "typeString": "bytes memory" } }, - "id": 2856, + "id": 2867, "nodeType": "ExpressionStatement", "src": "18128:49:9" } ] }, "documentation": { - "id": 2836, + "id": 2847, "nodeType": "StructuredDocumentation", "src": "17874:115:9", "text": "@dev Returns a copy of `subject` sliced from `start` to the end of the bytes.\n `start` is a byte offset." }, - "id": 2858, + "id": 2869, "implemented": true, "kind": "function", "modifiers": [], @@ -73762,17 +73652,17 @@ "nameLocation": "18003:5:9", "nodeType": "FunctionDefinition", "parameters": { - "id": 2841, + "id": 2852, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2838, + "id": 2849, "mutability": "mutable", "name": "subject", "nameLocation": "18022:7:9", "nodeType": "VariableDeclaration", - "scope": 2858, + "scope": 2869, "src": "18009:20:9", "stateVariable": false, "storageLocation": "memory", @@ -73781,7 +73671,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2837, + "id": 2848, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "18009:5:9", @@ -73794,12 +73684,12 @@ }, { "constant": false, - "id": 2840, + "id": 2851, "mutability": "mutable", "name": "start", "nameLocation": "18039:5:9", "nodeType": "VariableDeclaration", - "scope": 2858, + "scope": 2869, "src": "18031:13:9", "stateVariable": false, "storageLocation": "default", @@ -73808,7 +73698,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2839, + "id": 2850, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "18031:7:9", @@ -73823,17 +73713,17 @@ "src": "18008:37:9" }, "returnParameters": { - "id": 2844, + "id": 2855, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2843, + "id": 2854, "mutability": "mutable", "name": "result", "nameLocation": "18106:6:9", "nodeType": "VariableDeclaration", - "scope": 2858, + "scope": 2869, "src": "18093:19:9", "stateVariable": false, "storageLocation": "memory", @@ -73842,7 +73732,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2842, + "id": 2853, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "18093:5:9", @@ -73856,7 +73746,7 @@ ], "src": "18092:21:9" }, - "scope": 3078, + "scope": 3089, "src": "17994:190:9", "stateMutability": "pure", "virtual": false, @@ -73864,7 +73754,7 @@ }, { "body": { - "id": 2871, + "id": 2882, "nodeType": "Block", "src": "18505:377:9", "statements": [ @@ -74184,49 +74074,49 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2865, + "declaration": 2876, "isOffset": false, "isSlot": false, "src": "18581:3:9", "valueSize": 1 }, { - "declaration": 2865, + "declaration": 2876, "isOffset": false, "isSlot": false, "src": "18592:3:9", "valueSize": 1 }, { - "declaration": 2865, + "declaration": 2876, "isOffset": false, "isSlot": false, "src": "18605:3:9", "valueSize": 1 }, { - "declaration": 2865, + "declaration": 2876, "isOffset": false, "isSlot": false, "src": "18646:3:9", "valueSize": 1 }, { - "declaration": 2865, + "declaration": 2876, "isOffset": false, "isSlot": false, "src": "18844:3:9", "valueSize": 1 }, { - "declaration": 2865, + "declaration": 2876, "isOffset": false, "isSlot": false, "src": "18854:3:9", "valueSize": 1 }, { - "declaration": 2868, + "declaration": 2879, "isOffset": false, "isSlot": false, "src": "18813:13:9", @@ -74234,7 +74124,7 @@ "valueSize": 1 }, { - "declaration": 2868, + "declaration": 2879, "isOffset": true, "isSlot": false, "src": "18757:13:9", @@ -74242,56 +74132,56 @@ "valueSize": 1 }, { - "declaration": 2863, + "declaration": 2874, "isOffset": false, "isSlot": false, "src": "18665:5:9", "valueSize": 1 }, { - "declaration": 2863, + "declaration": 2874, "isOffset": false, "isSlot": false, "src": "18678:5:9", "valueSize": 1 }, { - "declaration": 2863, + "declaration": 2874, "isOffset": false, "isSlot": false, "src": "18693:5:9", "valueSize": 1 }, { - "declaration": 2863, + "declaration": 2874, "isOffset": false, "isSlot": false, "src": "18736:5:9", "valueSize": 1 }, { - "declaration": 2863, + "declaration": 2874, "isOffset": false, "isSlot": false, "src": "18794:5:9", "valueSize": 1 }, { - "declaration": 2863, + "declaration": 2874, "isOffset": false, "isSlot": false, "src": "18837:5:9", "valueSize": 1 }, { - "declaration": 2863, + "declaration": 2874, "isOffset": false, "isSlot": false, "src": "18859:5:9", "valueSize": 1 }, { - "declaration": 2861, + "declaration": 2872, "isOffset": false, "isSlot": false, "src": "18610:14:9", @@ -74299,7 +74189,7 @@ "valueSize": 1 }, { - "declaration": 2861, + "declaration": 2872, "isOffset": false, "isSlot": false, "src": "18630:14:9", @@ -74307,7 +74197,7 @@ "valueSize": 1 }, { - "declaration": 2861, + "declaration": 2872, "isOffset": false, "isSlot": false, "src": "18700:14:9", @@ -74315,7 +74205,7 @@ "valueSize": 1 }, { - "declaration": 2861, + "declaration": 2872, "isOffset": false, "isSlot": false, "src": "18720:14:9", @@ -74323,7 +74213,7 @@ "valueSize": 1 }, { - "declaration": 2861, + "declaration": 2872, "isOffset": true, "isSlot": false, "src": "18778:14:9", @@ -74331,19 +74221,19 @@ "valueSize": 1 } ], - "id": 2870, + "id": 2881, "nodeType": "InlineAssembly", "src": "18558:318:9" } ] }, "documentation": { - "id": 2859, + "id": 2870, "nodeType": "StructuredDocumentation", "src": "18190:161:9", "text": "@dev Returns a copy of `subject` sliced from `start` to `end` (exclusive).\n `start` and `end` are byte offsets. Faster than Solidity's native slicing." }, - "id": 2872, + "id": 2883, "implemented": true, "kind": "function", "modifiers": [], @@ -74351,17 +74241,17 @@ "nameLocation": "18365:13:9", "nodeType": "FunctionDefinition", "parameters": { - "id": 2866, + "id": 2877, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2861, + "id": 2872, "mutability": "mutable", "name": "subject", "nameLocation": "18394:7:9", "nodeType": "VariableDeclaration", - "scope": 2872, + "scope": 2883, "src": "18379:22:9", "stateVariable": false, "storageLocation": "calldata", @@ -74370,7 +74260,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2860, + "id": 2871, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "18379:5:9", @@ -74383,12 +74273,12 @@ }, { "constant": false, - "id": 2863, + "id": 2874, "mutability": "mutable", "name": "start", "nameLocation": "18411:5:9", "nodeType": "VariableDeclaration", - "scope": 2872, + "scope": 2883, "src": "18403:13:9", "stateVariable": false, "storageLocation": "default", @@ -74397,7 +74287,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2862, + "id": 2873, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "18403:7:9", @@ -74410,12 +74300,12 @@ }, { "constant": false, - "id": 2865, + "id": 2876, "mutability": "mutable", "name": "end", "nameLocation": "18426:3:9", "nodeType": "VariableDeclaration", - "scope": 2872, + "scope": 2883, "src": "18418:11:9", "stateVariable": false, "storageLocation": "default", @@ -74424,7 +74314,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2864, + "id": 2875, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "18418:7:9", @@ -74439,17 +74329,17 @@ "src": "18378:52:9" }, "returnParameters": { - "id": 2869, + "id": 2880, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2868, + "id": 2879, "mutability": "mutable", "name": "result", "nameLocation": "18493:6:9", "nodeType": "VariableDeclaration", - "scope": 2872, + "scope": 2883, "src": "18478:21:9", "stateVariable": false, "storageLocation": "calldata", @@ -74458,7 +74348,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2867, + "id": 2878, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "18478:5:9", @@ -74472,7 +74362,7 @@ ], "src": "18477:23:9" }, - "scope": 3078, + "scope": 3089, "src": "18356:526:9", "stateMutability": "pure", "virtual": false, @@ -74480,7 +74370,7 @@ }, { "body": { - "id": 2883, + "id": 2894, "nodeType": "Block", "src": "19183:315:9", "statements": [ @@ -74705,7 +74595,7 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2880, + "declaration": 2891, "isOffset": false, "isSlot": false, "src": "19407:13:9", @@ -74713,7 +74603,7 @@ "valueSize": 1 }, { - "declaration": 2880, + "declaration": 2891, "isOffset": true, "isSlot": false, "src": "19351:13:9", @@ -74721,56 +74611,56 @@ "valueSize": 1 }, { - "declaration": 2877, + "declaration": 2888, "isOffset": false, "isSlot": false, "src": "19259:5:9", "valueSize": 1 }, { - "declaration": 2877, + "declaration": 2888, "isOffset": false, "isSlot": false, "src": "19272:5:9", "valueSize": 1 }, { - "declaration": 2877, + "declaration": 2888, "isOffset": false, "isSlot": false, "src": "19287:5:9", "valueSize": 1 }, { - "declaration": 2877, + "declaration": 2888, "isOffset": false, "isSlot": false, "src": "19330:5:9", "valueSize": 1 }, { - "declaration": 2877, + "declaration": 2888, "isOffset": false, "isSlot": false, "src": "19388:5:9", "valueSize": 1 }, { - "declaration": 2877, + "declaration": 2888, "isOffset": false, "isSlot": false, "src": "19431:5:9", "valueSize": 1 }, { - "declaration": 2877, + "declaration": 2888, "isOffset": false, "isSlot": false, "src": "19475:5:9", "valueSize": 1 }, { - "declaration": 2875, + "declaration": 2886, "isOffset": false, "isSlot": false, "src": "19294:14:9", @@ -74778,7 +74668,7 @@ "valueSize": 1 }, { - "declaration": 2875, + "declaration": 2886, "isOffset": false, "isSlot": false, "src": "19314:14:9", @@ -74786,7 +74676,7 @@ "valueSize": 1 }, { - "declaration": 2875, + "declaration": 2886, "isOffset": false, "isSlot": false, "src": "19438:14:9", @@ -74794,7 +74684,7 @@ "valueSize": 1 }, { - "declaration": 2875, + "declaration": 2886, "isOffset": false, "isSlot": false, "src": "19459:14:9", @@ -74802,7 +74692,7 @@ "valueSize": 1 }, { - "declaration": 2875, + "declaration": 2886, "isOffset": true, "isSlot": false, "src": "19372:14:9", @@ -74810,19 +74700,19 @@ "valueSize": 1 } ], - "id": 2882, + "id": 2893, "nodeType": "InlineAssembly", "src": "19236:256:9" } ] }, "documentation": { - "id": 2873, + "id": 2884, "nodeType": "StructuredDocumentation", "src": "18888:154:9", "text": "@dev Returns a copy of `subject` sliced from `start` to the end of the bytes.\n `start` is a byte offset. Faster than Solidity's native slicing." }, - "id": 2884, + "id": 2895, "implemented": true, "kind": "function", "modifiers": [], @@ -74830,17 +74720,17 @@ "nameLocation": "19056:13:9", "nodeType": "FunctionDefinition", "parameters": { - "id": 2878, + "id": 2889, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2875, + "id": 2886, "mutability": "mutable", "name": "subject", "nameLocation": "19085:7:9", "nodeType": "VariableDeclaration", - "scope": 2884, + "scope": 2895, "src": "19070:22:9", "stateVariable": false, "storageLocation": "calldata", @@ -74849,7 +74739,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2874, + "id": 2885, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "19070:5:9", @@ -74862,12 +74752,12 @@ }, { "constant": false, - "id": 2877, + "id": 2888, "mutability": "mutable", "name": "start", "nameLocation": "19102:5:9", "nodeType": "VariableDeclaration", - "scope": 2884, + "scope": 2895, "src": "19094:13:9", "stateVariable": false, "storageLocation": "default", @@ -74876,7 +74766,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2876, + "id": 2887, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "19094:7:9", @@ -74891,17 +74781,17 @@ "src": "19069:39:9" }, "returnParameters": { - "id": 2881, + "id": 2892, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2880, + "id": 2891, "mutability": "mutable", "name": "result", "nameLocation": "19171:6:9", "nodeType": "VariableDeclaration", - "scope": 2884, + "scope": 2895, "src": "19156:21:9", "stateVariable": false, "storageLocation": "calldata", @@ -74910,7 +74800,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2879, + "id": 2890, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "19156:5:9", @@ -74924,7 +74814,7 @@ ], "src": "19155:23:9" }, - "scope": 3078, + "scope": 3089, "src": "19047:451:9", "stateMutability": "pure", "virtual": false, @@ -74932,7 +74822,7 @@ }, { "body": { - "id": 2895, + "id": 2906, "nodeType": "Block", "src": "19754:166:9", "statements": [ @@ -75048,61 +74938,61 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2889, + "declaration": 2900, "isOffset": false, "isSlot": false, "src": "19874:1:9", "valueSize": 1 }, { - "declaration": 2889, + "declaration": 2900, "isOffset": false, "isSlot": false, "src": "19902:1:9", "valueSize": 1 }, { - "declaration": 2892, + "declaration": 2903, "isOffset": false, "isSlot": false, "src": "19830:6:9", "valueSize": 1 }, { - "declaration": 2892, + "declaration": 2903, "isOffset": false, "isSlot": false, "src": "19883:6:9", "valueSize": 1 }, { - "declaration": 2892, + "declaration": 2903, "isOffset": false, "isSlot": false, "src": "19893:6:9", "valueSize": 1 }, { - "declaration": 2887, + "declaration": 2898, "isOffset": false, "isSlot": false, "src": "19840:7:9", "valueSize": 1 } ], - "id": 2894, + "id": 2905, "nodeType": "InlineAssembly", "src": "19807:107:9" } ] }, "documentation": { - "id": 2885, + "id": 2896, "nodeType": "StructuredDocumentation", "src": "19504:122:9", "text": "@dev Reduces the size of `subject` to `n`.\n If `n` is greater than the size of `subject`, this will be a no-op." }, - "id": 2896, + "id": 2907, "implemented": true, "kind": "function", "modifiers": [], @@ -75110,17 +75000,17 @@ "nameLocation": "19640:8:9", "nodeType": "FunctionDefinition", "parameters": { - "id": 2890, + "id": 2901, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2887, + "id": 2898, "mutability": "mutable", "name": "subject", "nameLocation": "19662:7:9", "nodeType": "VariableDeclaration", - "scope": 2896, + "scope": 2907, "src": "19649:20:9", "stateVariable": false, "storageLocation": "memory", @@ -75129,7 +75019,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2886, + "id": 2897, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "19649:5:9", @@ -75142,12 +75032,12 @@ }, { "constant": false, - "id": 2889, + "id": 2900, "mutability": "mutable", "name": "n", "nameLocation": "19679:1:9", "nodeType": "VariableDeclaration", - "scope": 2896, + "scope": 2907, "src": "19671:9:9", "stateVariable": false, "storageLocation": "default", @@ -75156,7 +75046,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2888, + "id": 2899, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "19671:7:9", @@ -75171,17 +75061,17 @@ "src": "19648:33:9" }, "returnParameters": { - "id": 2893, + "id": 2904, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2892, + "id": 2903, "mutability": "mutable", "name": "result", "nameLocation": "19742:6:9", "nodeType": "VariableDeclaration", - "scope": 2896, + "scope": 2907, "src": "19729:19:9", "stateVariable": false, "storageLocation": "memory", @@ -75190,7 +75080,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2891, + "id": 2902, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "19729:5:9", @@ -75204,7 +75094,7 @@ ], "src": "19728:21:9" }, - "scope": 3078, + "scope": 3089, "src": "19631:289:9", "stateMutability": "pure", "virtual": false, @@ -75212,7 +75102,7 @@ }, { "body": { - "id": 2907, + "id": 2918, "nodeType": "Block", "src": "20212:211:9", "statements": [ @@ -75342,28 +75232,28 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2901, + "declaration": 2912, "isOffset": false, "isSlot": false, "src": "20353:1:9", "valueSize": 1 }, { - "declaration": 2901, + "declaration": 2912, "isOffset": false, "isSlot": false, "src": "20364:1:9", "valueSize": 1 }, { - "declaration": 2901, + "declaration": 2912, "isOffset": false, "isSlot": false, "src": "20403:1:9", "valueSize": 1 }, { - "declaration": 2904, + "declaration": 2915, "isOffset": false, "isSlot": false, "src": "20332:13:9", @@ -75371,7 +75261,7 @@ "valueSize": 1 }, { - "declaration": 2904, + "declaration": 2915, "isOffset": true, "isSlot": false, "src": "20288:13:9", @@ -75379,7 +75269,7 @@ "valueSize": 1 }, { - "declaration": 2899, + "declaration": 2910, "isOffset": false, "isSlot": false, "src": "20367:14:9", @@ -75387,7 +75277,7 @@ "valueSize": 1 }, { - "declaration": 2899, + "declaration": 2910, "isOffset": false, "isSlot": false, "src": "20387:14:9", @@ -75395,7 +75285,7 @@ "valueSize": 1 }, { - "declaration": 2899, + "declaration": 2910, "isOffset": true, "isSlot": false, "src": "20305:14:9", @@ -75403,19 +75293,19 @@ "valueSize": 1 } ], - "id": 2906, + "id": 2917, "nodeType": "InlineAssembly", "src": "20265:152:9" } ] }, "documentation": { - "id": 2897, + "id": 2908, "nodeType": "StructuredDocumentation", "src": "19926:145:9", "text": "@dev Returns a copy of `subject`, with the length reduced to `n`.\n If `n` is greater than the size of `subject`, this will be a no-op." }, - "id": 2908, + "id": 2919, "implemented": true, "kind": "function", "modifiers": [], @@ -75423,17 +75313,17 @@ "nameLocation": "20085:17:9", "nodeType": "FunctionDefinition", "parameters": { - "id": 2902, + "id": 2913, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2899, + "id": 2910, "mutability": "mutable", "name": "subject", "nameLocation": "20118:7:9", "nodeType": "VariableDeclaration", - "scope": 2908, + "scope": 2919, "src": "20103:22:9", "stateVariable": false, "storageLocation": "calldata", @@ -75442,7 +75332,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2898, + "id": 2909, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "20103:5:9", @@ -75455,12 +75345,12 @@ }, { "constant": false, - "id": 2901, + "id": 2912, "mutability": "mutable", "name": "n", "nameLocation": "20135:1:9", "nodeType": "VariableDeclaration", - "scope": 2908, + "scope": 2919, "src": "20127:9:9", "stateVariable": false, "storageLocation": "default", @@ -75469,7 +75359,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2900, + "id": 2911, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "20127:7:9", @@ -75484,17 +75374,17 @@ "src": "20102:35:9" }, "returnParameters": { - "id": 2905, + "id": 2916, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2904, + "id": 2915, "mutability": "mutable", "name": "result", "nameLocation": "20200:6:9", "nodeType": "VariableDeclaration", - "scope": 2908, + "scope": 2919, "src": "20185:21:9", "stateVariable": false, "storageLocation": "calldata", @@ -75503,7 +75393,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2903, + "id": 2914, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "20185:5:9", @@ -75517,7 +75407,7 @@ ], "src": "20184:23:9" }, - "scope": 3078, + "scope": 3089, "src": "20076:347:9", "stateMutability": "pure", "virtual": false, @@ -75525,7 +75415,7 @@ }, { "body": { - "id": 2920, + "id": 2931, "nodeType": "Block", "src": "20668:1991:9", "statements": [ @@ -76902,96 +76792,96 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2913, + "declaration": 2924, "isOffset": false, "isSlot": false, "src": "20767:6:9", "valueSize": 1 }, { - "declaration": 2913, + "declaration": 2924, "isOffset": false, "isSlot": false, "src": "21162:6:9", "valueSize": 1 }, { - "declaration": 2913, + "declaration": 2924, "isOffset": false, "isSlot": false, "src": "21225:6:9", "valueSize": 1 }, { - "declaration": 2917, + "declaration": 2928, "isOffset": false, "isSlot": false, "src": "20846:6:9", "valueSize": 1 }, { - "declaration": 2917, + "declaration": 2928, "isOffset": false, "isSlot": false, "src": "20941:6:9", "valueSize": 1 }, { - "declaration": 2917, + "declaration": 2928, "isOffset": false, "isSlot": false, "src": "22375:6:9", "valueSize": 1 }, { - "declaration": 2917, + "declaration": 2928, "isOffset": false, "isSlot": false, "src": "22401:6:9", "valueSize": 1 }, { - "declaration": 2911, + "declaration": 2922, "isOffset": false, "isSlot": false, "src": "20817:7:9", "valueSize": 1 }, { - "declaration": 2911, + "declaration": 2922, "isOffset": false, "isSlot": false, "src": "20897:7:9", "valueSize": 1 }, { - "declaration": 2911, + "declaration": 2922, "isOffset": false, "isSlot": false, "src": "21016:7:9", "valueSize": 1 }, { - "declaration": 2911, + "declaration": 2922, "isOffset": false, "isSlot": false, "src": "21877:7:9", "valueSize": 1 } ], - "id": 2919, + "id": 2930, "nodeType": "InlineAssembly", "src": "20721:1932:9" } ] }, "documentation": { - "id": 2909, + "id": 2920, "nodeType": "StructuredDocumentation", "src": "20429:96:9", "text": "@dev Returns all the indices of `needle` in `subject`.\n The indices are byte offsets." }, - "id": 2921, + "id": 2932, "implemented": true, "kind": "function", "modifiers": [], @@ -76999,17 +76889,17 @@ "nameLocation": "20539:9:9", "nodeType": "FunctionDefinition", "parameters": { - "id": 2914, + "id": 2925, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2911, + "id": 2922, "mutability": "mutable", "name": "subject", "nameLocation": "20562:7:9", "nodeType": "VariableDeclaration", - "scope": 2921, + "scope": 2932, "src": "20549:20:9", "stateVariable": false, "storageLocation": "memory", @@ -77018,7 +76908,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2910, + "id": 2921, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "20549:5:9", @@ -77031,12 +76921,12 @@ }, { "constant": false, - "id": 2913, + "id": 2924, "mutability": "mutable", "name": "needle", "nameLocation": "20584:6:9", "nodeType": "VariableDeclaration", - "scope": 2921, + "scope": 2932, "src": "20571:19:9", "stateVariable": false, "storageLocation": "memory", @@ -77045,7 +76935,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2912, + "id": 2923, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "20571:5:9", @@ -77060,17 +76950,17 @@ "src": "20548:43:9" }, "returnParameters": { - "id": 2918, + "id": 2929, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2917, + "id": 2928, "mutability": "mutable", "name": "result", "nameLocation": "20656:6:9", "nodeType": "VariableDeclaration", - "scope": 2921, + "scope": 2932, "src": "20639:23:9", "stateVariable": false, "storageLocation": "memory", @@ -77080,7 +76970,7 @@ }, "typeName": { "baseType": { - "id": 2915, + "id": 2926, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "20639:7:9", @@ -77089,7 +76979,7 @@ "typeString": "uint256" } }, - "id": 2916, + "id": 2927, "nodeType": "ArrayTypeName", "src": "20639:9:9", "typeDescriptions": { @@ -77102,7 +76992,7 @@ ], "src": "20638:25:9" }, - "scope": 3078, + "scope": 3089, "src": "20530:2129:9", "stateMutability": "pure", "virtual": false, @@ -77110,23 +77000,23 @@ }, { "body": { - "id": 2943, + "id": 2954, "nodeType": "Block", "src": "22897:1848:9", "statements": [ { "assignments": [ - 2936 + 2947 ], "declarations": [ { "constant": false, - "id": 2936, + "id": 2947, "mutability": "mutable", "name": "indices", "nameLocation": "22924:7:9", "nodeType": "VariableDeclaration", - "scope": 2943, + "scope": 2954, "src": "22907:24:9", "stateVariable": false, "storageLocation": "memory", @@ -77136,7 +77026,7 @@ }, "typeName": { "baseType": { - "id": 2934, + "id": 2945, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "22907:7:9", @@ -77145,7 +77035,7 @@ "typeString": "uint256" } }, - "id": 2935, + "id": 2946, "nodeType": "ArrayTypeName", "src": "22907:9:9", "typeDescriptions": { @@ -77156,15 +77046,15 @@ "visibility": "internal" } ], - "id": 2941, + "id": 2952, "initialValue": { "arguments": [ { - "id": 2938, + "id": 2949, "name": "subject", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2924, + "referencedDeclaration": 2935, "src": "22944:7:9", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -77172,11 +77062,11 @@ } }, { - "id": 2939, + "id": 2950, "name": "delimiter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2926, + "referencedDeclaration": 2937, "src": "22953:9:9", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -77195,18 +77085,18 @@ "typeString": "bytes memory" } ], - "id": 2937, + "id": 2948, "name": "indicesOf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2921, + "referencedDeclaration": 2932, "src": "22934:9:9", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (bytes memory,bytes memory) pure returns (uint256[] memory)" } }, - "id": 2940, + "id": 2951, "isConstant": false, "isLValue": false, "isPure": false, @@ -78580,117 +78470,117 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2926, + "declaration": 2937, "isOffset": false, "isSlot": false, "src": "24408:9:9", "valueSize": 1 }, { - "declaration": 2926, + "declaration": 2937, "isOffset": false, "isSlot": false, "src": "24602:9:9", "valueSize": 1 }, { - "declaration": 2936, + "declaration": 2947, "isOffset": false, "isSlot": false, "src": "23090:7:9", "valueSize": 1 }, { - "declaration": 2936, + "declaration": 2947, "isOffset": false, "isSlot": false, "src": "23166:7:9", "valueSize": 1 }, { - "declaration": 2936, + "declaration": 2947, "isOffset": false, "isSlot": false, "src": "23255:7:9", "valueSize": 1 }, { - "declaration": 2936, + "declaration": 2947, "isOffset": false, "isSlot": false, "src": "23274:7:9", "valueSize": 1 }, { - "declaration": 2936, + "declaration": 2947, "isOffset": false, "isSlot": false, "src": "24566:7:9", "valueSize": 1 }, { - "declaration": 2936, + "declaration": 2947, "isOffset": false, "isSlot": false, "src": "24646:7:9", "valueSize": 1 }, { - "declaration": 2936, + "declaration": 2947, "isOffset": false, "isSlot": false, "src": "24702:7:9", "valueSize": 1 }, { - "declaration": 2930, + "declaration": 2941, "isOffset": false, "isSlot": false, "src": "24556:6:9", "valueSize": 1 }, { - "declaration": 2930, + "declaration": 2941, "isOffset": false, "isSlot": false, "src": "24632:6:9", "valueSize": 1 }, { - "declaration": 2930, + "declaration": 2941, "isOffset": false, "isSlot": false, "src": "24684:6:9", "valueSize": 1 }, { - "declaration": 2924, + "declaration": 2935, "isOffset": false, "isSlot": false, "src": "23226:7:9", "valueSize": 1 }, { - "declaration": 2924, + "declaration": 2935, "isOffset": false, "isSlot": false, "src": "23841:7:9", "valueSize": 1 } ], - "id": 2942, + "id": 2953, "nodeType": "InlineAssembly", "src": "23016:1723:9" } ] }, "documentation": { - "id": 2922, + "id": 2933, "nodeType": "StructuredDocumentation", "src": "22665:92:9", "text": "@dev Returns an arrays of bytess based on the `delimiter` inside of the `subject` bytes." }, - "id": 2944, + "id": 2955, "implemented": true, "kind": "function", "modifiers": [], @@ -78698,17 +78588,17 @@ "nameLocation": "22771:5:9", "nodeType": "FunctionDefinition", "parameters": { - "id": 2927, + "id": 2938, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2924, + "id": 2935, "mutability": "mutable", "name": "subject", "nameLocation": "22790:7:9", "nodeType": "VariableDeclaration", - "scope": 2944, + "scope": 2955, "src": "22777:20:9", "stateVariable": false, "storageLocation": "memory", @@ -78717,7 +78607,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2923, + "id": 2934, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "22777:5:9", @@ -78730,12 +78620,12 @@ }, { "constant": false, - "id": 2926, + "id": 2937, "mutability": "mutable", "name": "delimiter", "nameLocation": "22812:9:9", "nodeType": "VariableDeclaration", - "scope": 2944, + "scope": 2955, "src": "22799:22:9", "stateVariable": false, "storageLocation": "memory", @@ -78744,7 +78634,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2925, + "id": 2936, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "22799:5:9", @@ -78759,17 +78649,17 @@ "src": "22776:46:9" }, "returnParameters": { - "id": 2931, + "id": 2942, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2930, + "id": 2941, "mutability": "mutable", "name": "result", "nameLocation": "22885:6:9", "nodeType": "VariableDeclaration", - "scope": 2944, + "scope": 2955, "src": "22870:21:9", "stateVariable": false, "storageLocation": "memory", @@ -78779,7 +78669,7 @@ }, "typeName": { "baseType": { - "id": 2928, + "id": 2939, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "22870:5:9", @@ -78788,7 +78678,7 @@ "typeString": "bytes" } }, - "id": 2929, + "id": 2940, "nodeType": "ArrayTypeName", "src": "22870:7:9", "typeDescriptions": { @@ -78801,7 +78691,7 @@ ], "src": "22869:23:9" }, - "scope": 3078, + "scope": 3089, "src": "22762:1983:9", "stateMutability": "pure", "virtual": false, @@ -78809,7 +78699,7 @@ }, { "body": { - "id": 2955, + "id": 2966, "nodeType": "Block", "src": "24986:1090:9", "statements": [ @@ -79709,82 +79599,82 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2947, + "declaration": 2958, "isOffset": false, "isSlot": false, "src": "25145:1:9", "valueSize": 1 }, { - "declaration": 2947, + "declaration": 2958, "isOffset": false, "isSlot": false, "src": "25312:1:9", "valueSize": 1 }, { - "declaration": 2949, + "declaration": 2960, "isOffset": false, "isSlot": false, "src": "25453:1:9", "valueSize": 1 }, { - "declaration": 2949, + "declaration": 2960, "isOffset": false, "isSlot": false, "src": "25664:1:9", "valueSize": 1 }, { - "declaration": 2952, + "declaration": 2963, "isOffset": false, "isSlot": false, "src": "25062:6:9", "valueSize": 1 }, { - "declaration": 2952, + "declaration": 2963, "isOffset": false, "isSlot": false, "src": "25290:6:9", "valueSize": 1 }, { - "declaration": 2952, + "declaration": 2963, "isOffset": false, "isSlot": false, "src": "25486:6:9", "valueSize": 1 }, { - "declaration": 2952, + "declaration": 2963, "isOffset": false, "isSlot": false, "src": "25851:6:9", "valueSize": 1 }, { - "declaration": 2952, + "declaration": 2963, "isOffset": false, "isSlot": false, "src": "25960:6:9", "valueSize": 1 } ], - "id": 2954, + "id": 2965, "nodeType": "InlineAssembly", "src": "25039:1031:9" } ] }, "documentation": { - "id": 2945, + "id": 2956, "nodeType": "StructuredDocumentation", "src": "24751:138:9", "text": "@dev Returns a concatenated bytes of `a` and `b`.\n Cheaper than `bytes.concat()` and does not de-align the free memory pointer." }, - "id": 2956, + "id": 2967, "implemented": true, "kind": "function", "modifiers": [], @@ -79792,17 +79682,17 @@ "nameLocation": "24903:6:9", "nodeType": "FunctionDefinition", "parameters": { - "id": 2950, + "id": 2961, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2947, + "id": 2958, "mutability": "mutable", "name": "a", "nameLocation": "24923:1:9", "nodeType": "VariableDeclaration", - "scope": 2956, + "scope": 2967, "src": "24910:14:9", "stateVariable": false, "storageLocation": "memory", @@ -79811,7 +79701,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2946, + "id": 2957, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "24910:5:9", @@ -79824,12 +79714,12 @@ }, { "constant": false, - "id": 2949, + "id": 2960, "mutability": "mutable", "name": "b", "nameLocation": "24939:1:9", "nodeType": "VariableDeclaration", - "scope": 2956, + "scope": 2967, "src": "24926:14:9", "stateVariable": false, "storageLocation": "memory", @@ -79838,7 +79728,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2948, + "id": 2959, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "24926:5:9", @@ -79853,17 +79743,17 @@ "src": "24909:32:9" }, "returnParameters": { - "id": 2953, + "id": 2964, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2952, + "id": 2963, "mutability": "mutable", "name": "result", "nameLocation": "24978:6:9", "nodeType": "VariableDeclaration", - "scope": 2956, + "scope": 2967, "src": "24965:19:9", "stateVariable": false, "storageLocation": "memory", @@ -79872,7 +79762,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2951, + "id": 2962, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "24965:5:9", @@ -79886,7 +79776,7 @@ ], "src": "24964:21:9" }, - "scope": 3078, + "scope": 3089, "src": "24894:1182:9", "stateMutability": "pure", "virtual": false, @@ -79894,7 +79784,7 @@ }, { "body": { - "id": 2967, + "id": 2978, "nodeType": "Block", "src": "26207:174:9", "statements": [ @@ -80054,54 +79944,54 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2959, + "declaration": 2970, "isOffset": false, "isSlot": false, "src": "26310:1:9", "valueSize": 1 }, { - "declaration": 2959, + "declaration": 2970, "isOffset": false, "isSlot": false, "src": "26326:1:9", "valueSize": 1 }, { - "declaration": 2961, + "declaration": 2972, "isOffset": false, "isSlot": false, "src": "26345:1:9", "valueSize": 1 }, { - "declaration": 2961, + "declaration": 2972, "isOffset": false, "isSlot": false, "src": "26361:1:9", "valueSize": 1 }, { - "declaration": 2964, + "declaration": 2975, "isOffset": false, "isSlot": false, "src": "26283:6:9", "valueSize": 1 } ], - "id": 2966, + "id": 2977, "nodeType": "InlineAssembly", "src": "26260:115:9" } ] }, "documentation": { - "id": 2957, + "id": 2968, "nodeType": "StructuredDocumentation", "src": "26082:40:9", "text": "@dev Returns whether `a` equals `b`." }, - "id": 2968, + "id": 2979, "implemented": true, "kind": "function", "modifiers": [], @@ -80109,17 +79999,17 @@ "nameLocation": "26136:2:9", "nodeType": "FunctionDefinition", "parameters": { - "id": 2962, + "id": 2973, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2959, + "id": 2970, "mutability": "mutable", "name": "a", "nameLocation": "26152:1:9", "nodeType": "VariableDeclaration", - "scope": 2968, + "scope": 2979, "src": "26139:14:9", "stateVariable": false, "storageLocation": "memory", @@ -80128,7 +80018,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2958, + "id": 2969, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "26139:5:9", @@ -80141,12 +80031,12 @@ }, { "constant": false, - "id": 2961, + "id": 2972, "mutability": "mutable", "name": "b", "nameLocation": "26168:1:9", "nodeType": "VariableDeclaration", - "scope": 2968, + "scope": 2979, "src": "26155:14:9", "stateVariable": false, "storageLocation": "memory", @@ -80155,7 +80045,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2960, + "id": 2971, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "26155:5:9", @@ -80170,17 +80060,17 @@ "src": "26138:32:9" }, "returnParameters": { - "id": 2965, + "id": 2976, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2964, + "id": 2975, "mutability": "mutable", "name": "result", "nameLocation": "26199:6:9", "nodeType": "VariableDeclaration", - "scope": 2968, + "scope": 2979, "src": "26194:11:9", "stateVariable": false, "storageLocation": "default", @@ -80189,7 +80079,7 @@ "typeString": "bool" }, "typeName": { - "id": 2963, + "id": 2974, "name": "bool", "nodeType": "ElementaryTypeName", "src": "26194:4:9", @@ -80203,7 +80093,7 @@ ], "src": "26193:13:9" }, - "scope": 3078, + "scope": 3089, "src": "26127:254:9", "stateMutability": "pure", "virtual": false, @@ -80211,7 +80101,7 @@ }, { "body": { - "id": 2979, + "id": 2990, "nodeType": "Block", "src": "26552:774:9", "statements": [ @@ -81224,68 +81114,68 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2971, + "declaration": 2982, "isOffset": false, "isSlot": false, "src": "27193:1:9", "valueSize": 1 }, { - "declaration": 2971, + "declaration": 2982, "isOffset": false, "isSlot": false, "src": "27298:1:9", "valueSize": 1 }, { - "declaration": 2973, + "declaration": 2984, "isOffset": false, "isSlot": false, "src": "26741:1:9", "valueSize": 1 }, { - "declaration": 2973, + "declaration": 2984, "isOffset": false, "isSlot": false, "src": "26804:1:9", "valueSize": 1 }, { - "declaration": 2973, + "declaration": 2984, "isOffset": false, "isSlot": false, "src": "26818:1:9", "valueSize": 1 }, { - "declaration": 2973, + "declaration": 2984, "isOffset": false, "isSlot": false, "src": "27269:1:9", "valueSize": 1 }, { - "declaration": 2976, + "declaration": 2987, "isOffset": false, "isSlot": false, "src": "27171:6:9", "valueSize": 1 } ], - "id": 2978, + "id": 2989, "nodeType": "InlineAssembly", "src": "26605:715:9" } ] }, "documentation": { - "id": 2969, + "id": 2980, "nodeType": "StructuredDocumentation", "src": "26387:84:9", "text": "@dev Returns whether `a` equals `b`, where `b` is a null-terminated small bytes." }, - "id": 2980, + "id": 2991, "implemented": true, "kind": "function", "modifiers": [], @@ -81293,17 +81183,17 @@ "nameLocation": "26485:3:9", "nodeType": "FunctionDefinition", "parameters": { - "id": 2974, + "id": 2985, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2971, + "id": 2982, "mutability": "mutable", "name": "a", "nameLocation": "26502:1:9", "nodeType": "VariableDeclaration", - "scope": 2980, + "scope": 2991, "src": "26489:14:9", "stateVariable": false, "storageLocation": "memory", @@ -81312,7 +81202,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2970, + "id": 2981, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "26489:5:9", @@ -81325,12 +81215,12 @@ }, { "constant": false, - "id": 2973, + "id": 2984, "mutability": "mutable", "name": "b", "nameLocation": "26513:1:9", "nodeType": "VariableDeclaration", - "scope": 2980, + "scope": 2991, "src": "26505:9:9", "stateVariable": false, "storageLocation": "default", @@ -81339,7 +81229,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 2972, + "id": 2983, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "26505:7:9", @@ -81354,17 +81244,17 @@ "src": "26488:27:9" }, "returnParameters": { - "id": 2977, + "id": 2988, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2976, + "id": 2987, "mutability": "mutable", "name": "result", "nameLocation": "26544:6:9", "nodeType": "VariableDeclaration", - "scope": 2980, + "scope": 2991, "src": "26539:11:9", "stateVariable": false, "storageLocation": "default", @@ -81373,7 +81263,7 @@ "typeString": "bool" }, "typeName": { - "id": 2975, + "id": 2986, "name": "bool", "nodeType": "ElementaryTypeName", "src": "26539:4:9", @@ -81387,7 +81277,7 @@ ], "src": "26538:13:9" }, - "scope": 3078, + "scope": 3089, "src": "26476:850:9", "stateMutability": "pure", "virtual": false, @@ -81395,7 +81285,7 @@ }, { "body": { - "id": 2991, + "id": 3002, "nodeType": "Block", "src": "27553:1171:9", "statements": [ @@ -82604,96 +82494,96 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2983, + "declaration": 2994, "isOffset": false, "isSlot": false, "src": "27647:1:9", "valueSize": 1 }, { - "declaration": 2983, + "declaration": 2994, "isOffset": false, "isSlot": false, "src": "27871:1:9", "valueSize": 1 }, { - "declaration": 2983, + "declaration": 2994, "isOffset": false, "isSlot": false, "src": "28400:1:9", "valueSize": 1 }, { - "declaration": 2985, + "declaration": 2996, "isOffset": false, "isSlot": false, "src": "27680:1:9", "valueSize": 1 }, { - "declaration": 2985, + "declaration": 2996, "isOffset": false, "isSlot": false, "src": "27917:1:9", "valueSize": 1 }, { - "declaration": 2985, + "declaration": 2996, "isOffset": false, "isSlot": false, "src": "28502:1:9", "valueSize": 1 }, { - "declaration": 2988, + "declaration": 2999, "isOffset": false, "isSlot": false, "src": "28098:6:9", "valueSize": 1 }, { - "declaration": 2988, + "declaration": 2999, "isOffset": false, "isSlot": false, "src": "28255:6:9", "valueSize": 1 }, { - "declaration": 2988, + "declaration": 2999, "isOffset": false, "isSlot": false, "src": "28577:6:9", "valueSize": 1 }, { - "declaration": 2988, + "declaration": 2999, "isOffset": false, "isSlot": false, "src": "28637:6:9", "valueSize": 1 }, { - "declaration": 2988, + "declaration": 2999, "isOffset": false, "isSlot": false, "src": "28647:6:9", "valueSize": 1 } ], - "id": 2990, + "id": 3001, "nodeType": "InlineAssembly", "src": "27606:1112:9" } ] }, "documentation": { - "id": 2981, + "id": 2992, "nodeType": "StructuredDocumentation", "src": "27332:133:9", "text": "@dev Returns 0 if `a == b`, -1 if `a < b`, +1 if `a > b`.\n If `a` == b[:a.length]`, and `a.length < b.length`, returns -1." }, - "id": 2992, + "id": 3003, "implemented": true, "kind": "function", "modifiers": [], @@ -82701,17 +82591,17 @@ "nameLocation": "27479:3:9", "nodeType": "FunctionDefinition", "parameters": { - "id": 2986, + "id": 2997, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2983, + "id": 2994, "mutability": "mutable", "name": "a", "nameLocation": "27496:1:9", "nodeType": "VariableDeclaration", - "scope": 2992, + "scope": 3003, "src": "27483:14:9", "stateVariable": false, "storageLocation": "memory", @@ -82720,7 +82610,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2982, + "id": 2993, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "27483:5:9", @@ -82733,12 +82623,12 @@ }, { "constant": false, - "id": 2985, + "id": 2996, "mutability": "mutable", "name": "b", "nameLocation": "27512:1:9", "nodeType": "VariableDeclaration", - "scope": 2992, + "scope": 3003, "src": "27499:14:9", "stateVariable": false, "storageLocation": "memory", @@ -82747,7 +82637,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2984, + "id": 2995, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "27499:5:9", @@ -82762,17 +82652,17 @@ "src": "27482:32:9" }, "returnParameters": { - "id": 2989, + "id": 3000, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2988, + "id": 2999, "mutability": "mutable", "name": "result", "nameLocation": "27545:6:9", "nodeType": "VariableDeclaration", - "scope": 2992, + "scope": 3003, "src": "27538:13:9", "stateVariable": false, "storageLocation": "default", @@ -82781,7 +82671,7 @@ "typeString": "int256" }, "typeName": { - "id": 2987, + "id": 2998, "name": "int256", "nodeType": "ElementaryTypeName", "src": "27538:6:9", @@ -82795,7 +82685,7 @@ ], "src": "27537:15:9" }, - "scope": 3078, + "scope": 3089, "src": "27470:1254:9", "stateMutability": "pure", "virtual": false, @@ -82803,7 +82693,7 @@ }, { "body": { - "id": 2999, + "id": 3010, "nodeType": "Block", "src": "28833:628:9", "statements": [ @@ -83082,33 +82972,33 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2995, + "declaration": 3006, "isOffset": false, "isSlot": false, "src": "29006:1:9", "valueSize": 1 }, { - "declaration": 2995, + "declaration": 3006, "isOffset": false, "isSlot": false, "src": "29060:1:9", "valueSize": 1 } ], - "id": 2998, + "id": 3009, "nodeType": "InlineAssembly", "src": "28886:569:9" } ] }, "documentation": { - "id": 2993, + "id": 3004, "nodeType": "StructuredDocumentation", "src": "28730:46:9", "text": "@dev Directly returns `a` without copying." }, - "id": 3000, + "id": 3011, "implemented": true, "kind": "function", "modifiers": [], @@ -83116,17 +83006,17 @@ "nameLocation": "28790:12:9", "nodeType": "FunctionDefinition", "parameters": { - "id": 2996, + "id": 3007, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2995, + "id": 3006, "mutability": "mutable", "name": "a", "nameLocation": "28816:1:9", "nodeType": "VariableDeclaration", - "scope": 3000, + "scope": 3011, "src": "28803:14:9", "stateVariable": false, "storageLocation": "memory", @@ -83135,7 +83025,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2994, + "id": 3005, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "28803:5:9", @@ -83150,12 +83040,12 @@ "src": "28802:16:9" }, "returnParameters": { - "id": 2997, + "id": 3008, "nodeType": "ParameterList", "parameters": [], "src": "28833:0:9" }, - "scope": 3078, + "scope": 3089, "src": "28781:680:9", "stateMutability": "pure", "virtual": false, @@ -83163,7 +83053,7 @@ }, { "body": { - "id": 3008, + "id": 3019, "nodeType": "Block", "src": "29577:1825:9", "statements": [ @@ -84582,47 +84472,47 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3004, + "declaration": 3015, "isOffset": false, "isSlot": false, "src": "29668:1:9", "valueSize": 1 }, { - "declaration": 3004, + "declaration": 3015, "isOffset": false, "isSlot": false, "src": "29711:1:9", "valueSize": 1 }, { - "declaration": 3004, + "declaration": 3015, "isOffset": false, "isSlot": false, "src": "29770:1:9", "valueSize": 1 }, { - "declaration": 3004, + "declaration": 3015, "isOffset": false, "isSlot": false, "src": "31187:1:9", "valueSize": 1 } ], - "id": 3007, + "id": 3018, "nodeType": "InlineAssembly", "src": "29630:1766:9" } ] }, "documentation": { - "id": 3001, + "id": 3012, "nodeType": "StructuredDocumentation", "src": "29467:51:9", "text": "@dev Directly returns `a` with minimal copying." }, - "id": 3009, + "id": 3020, "implemented": true, "kind": "function", "modifiers": [], @@ -84630,17 +84520,17 @@ "nameLocation": "29532:12:9", "nodeType": "FunctionDefinition", "parameters": { - "id": 3005, + "id": 3016, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3004, + "id": 3015, "mutability": "mutable", "name": "a", "nameLocation": "29560:1:9", "nodeType": "VariableDeclaration", - "scope": 3009, + "scope": 3020, "src": "29545:16:9", "stateVariable": false, "storageLocation": "memory", @@ -84650,7 +84540,7 @@ }, "typeName": { "baseType": { - "id": 3002, + "id": 3013, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "29545:5:9", @@ -84659,7 +84549,7 @@ "typeString": "bytes" } }, - "id": 3003, + "id": 3014, "nodeType": "ArrayTypeName", "src": "29545:7:9", "typeDescriptions": { @@ -84673,12 +84563,12 @@ "src": "29544:18:9" }, "returnParameters": { - "id": 3006, + "id": 3017, "nodeType": "ParameterList", "parameters": [], "src": "29577:0:9" }, - "scope": 3078, + "scope": 3089, "src": "29523:1879:9", "stateMutability": "pure", "virtual": false, @@ -84686,7 +84576,7 @@ }, { "body": { - "id": 3020, + "id": 3031, "nodeType": "Block", "src": "31563:134:9", "statements": [ @@ -84774,40 +84664,40 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3012, + "declaration": 3023, "isOffset": false, "isSlot": false, "src": "31663:1:9", "valueSize": 1 }, { - "declaration": 3014, + "declaration": 3025, "isOffset": false, "isSlot": false, "src": "31673:6:9", "valueSize": 1 }, { - "declaration": 3017, + "declaration": 3028, "isOffset": false, "isSlot": false, "src": "31639:6:9", "valueSize": 1 } ], - "id": 3019, + "id": 3030, "nodeType": "InlineAssembly", "src": "31616:75:9" } ] }, "documentation": { - "id": 3010, + "id": 3021, "nodeType": "StructuredDocumentation", "src": "31408:65:9", "text": "@dev Returns the word at `offset`, without any bounds checks." }, - "id": 3021, + "id": 3032, "implemented": true, "kind": "function", "modifiers": [], @@ -84815,17 +84705,17 @@ "nameLocation": "31487:4:9", "nodeType": "FunctionDefinition", "parameters": { - "id": 3015, + "id": 3026, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3012, + "id": 3023, "mutability": "mutable", "name": "a", "nameLocation": "31505:1:9", "nodeType": "VariableDeclaration", - "scope": 3021, + "scope": 3032, "src": "31492:14:9", "stateVariable": false, "storageLocation": "memory", @@ -84834,7 +84724,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3011, + "id": 3022, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "31492:5:9", @@ -84847,12 +84737,12 @@ }, { "constant": false, - "id": 3014, + "id": 3025, "mutability": "mutable", "name": "offset", "nameLocation": "31516:6:9", "nodeType": "VariableDeclaration", - "scope": 3021, + "scope": 3032, "src": "31508:14:9", "stateVariable": false, "storageLocation": "default", @@ -84861,7 +84751,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3013, + "id": 3024, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "31508:7:9", @@ -84876,17 +84766,17 @@ "src": "31491:32:9" }, "returnParameters": { - "id": 3018, + "id": 3029, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3017, + "id": 3028, "mutability": "mutable", "name": "result", "nameLocation": "31555:6:9", "nodeType": "VariableDeclaration", - "scope": 3021, + "scope": 3032, "src": "31547:14:9", "stateVariable": false, "storageLocation": "default", @@ -84895,7 +84785,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3016, + "id": 3027, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "31547:7:9", @@ -84909,7 +84799,7 @@ ], "src": "31546:16:9" }, - "scope": 3078, + "scope": 3089, "src": "31478:219:9", "stateMutability": "pure", "virtual": false, @@ -84917,7 +84807,7 @@ }, { "body": { - "id": 3032, + "id": 3043, "nodeType": "Block", "src": "31896:137:9", "statements": [ @@ -84984,7 +84874,7 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3024, + "declaration": 3035, "isOffset": true, "isSlot": false, "src": "31999:8:9", @@ -84992,33 +84882,33 @@ "valueSize": 1 }, { - "declaration": 3026, + "declaration": 3037, "isOffset": false, "isSlot": false, "src": "32009:6:9", "valueSize": 1 }, { - "declaration": 3029, + "declaration": 3040, "isOffset": false, "isSlot": false, "src": "31972:6:9", "valueSize": 1 } ], - "id": 3031, + "id": 3042, "nodeType": "InlineAssembly", "src": "31949:78:9" } ] }, "documentation": { - "id": 3022, + "id": 3033, "nodeType": "StructuredDocumentation", "src": "31703:65:9", "text": "@dev Returns the word at `offset`, without any bounds checks." }, - "id": 3033, + "id": 3044, "implemented": true, "kind": "function", "modifiers": [], @@ -85026,17 +84916,17 @@ "nameLocation": "31782:12:9", "nodeType": "FunctionDefinition", "parameters": { - "id": 3027, + "id": 3038, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3024, + "id": 3035, "mutability": "mutable", "name": "a", "nameLocation": "31810:1:9", "nodeType": "VariableDeclaration", - "scope": 3033, + "scope": 3044, "src": "31795:16:9", "stateVariable": false, "storageLocation": "calldata", @@ -85045,7 +84935,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3023, + "id": 3034, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "31795:5:9", @@ -85058,12 +84948,12 @@ }, { "constant": false, - "id": 3026, + "id": 3037, "mutability": "mutable", "name": "offset", "nameLocation": "31821:6:9", "nodeType": "VariableDeclaration", - "scope": 3033, + "scope": 3044, "src": "31813:14:9", "stateVariable": false, "storageLocation": "default", @@ -85072,7 +84962,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3025, + "id": 3036, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "31813:7:9", @@ -85087,17 +84977,17 @@ "src": "31794:34:9" }, "returnParameters": { - "id": 3030, + "id": 3041, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3029, + "id": 3040, "mutability": "mutable", "name": "result", "nameLocation": "31884:6:9", "nodeType": "VariableDeclaration", - "scope": 3033, + "scope": 3044, "src": "31876:14:9", "stateVariable": false, "storageLocation": "default", @@ -85106,7 +84996,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3028, + "id": 3039, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "31876:7:9", @@ -85120,7 +85010,7 @@ ], "src": "31875:16:9" }, - "scope": 3078, + "scope": 3089, "src": "31773:260:9", "stateMutability": "pure", "virtual": false, @@ -85128,7 +85018,7 @@ }, { "body": { - "id": 3044, + "id": 3055, "nodeType": "Block", "src": "32278:301:9", "statements": [ @@ -85389,7 +85279,7 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3036, + "declaration": 3047, "isOffset": false, "isSlot": false, "src": "32367:8:9", @@ -85397,7 +85287,7 @@ "valueSize": 1 }, { - "declaration": 3036, + "declaration": 3047, "isOffset": false, "isSlot": false, "src": "32467:8:9", @@ -85405,7 +85295,7 @@ "valueSize": 1 }, { - "declaration": 3036, + "declaration": 3047, "isOffset": true, "isSlot": false, "src": "32416:8:9", @@ -85413,7 +85303,7 @@ "valueSize": 1 }, { - "declaration": 3036, + "declaration": 3047, "isOffset": true, "isSlot": false, "src": "32517:8:9", @@ -85421,28 +85311,28 @@ "valueSize": 1 }, { - "declaration": 3038, + "declaration": 3049, "isOffset": false, "isSlot": false, "src": "32426:6:9", "valueSize": 1 }, { - "declaration": 3038, + "declaration": 3049, "isOffset": false, "isSlot": false, "src": "32477:6:9", "valueSize": 1 }, { - "declaration": 3038, + "declaration": 3049, "isOffset": false, "isSlot": false, "src": "32532:6:9", "valueSize": 1 }, { - "declaration": 3041, + "declaration": 3052, "isOffset": false, "isSlot": false, "src": "32446:13:9", @@ -85450,7 +85340,7 @@ "valueSize": 1 }, { - "declaration": 3041, + "declaration": 3052, "isOffset": true, "isSlot": false, "src": "32395:13:9", @@ -85458,19 +85348,19 @@ "valueSize": 1 } ], - "id": 3043, + "id": 3054, "nodeType": "InlineAssembly", "src": "32331:242:9" } ] }, "documentation": { - "id": 3034, + "id": 3045, "nodeType": "StructuredDocumentation", "src": "32039:94:9", "text": "@dev Returns a slice representing a static struct in the calldata. Performs bounds checks." }, - "id": 3045, + "id": 3056, "implemented": true, "kind": "function", "modifiers": [], @@ -85478,17 +85368,17 @@ "nameLocation": "32147:22:9", "nodeType": "FunctionDefinition", "parameters": { - "id": 3039, + "id": 3050, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3036, + "id": 3047, "mutability": "mutable", "name": "a", "nameLocation": "32185:1:9", "nodeType": "VariableDeclaration", - "scope": 3045, + "scope": 3056, "src": "32170:16:9", "stateVariable": false, "storageLocation": "calldata", @@ -85497,7 +85387,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3035, + "id": 3046, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "32170:5:9", @@ -85510,12 +85400,12 @@ }, { "constant": false, - "id": 3038, + "id": 3049, "mutability": "mutable", "name": "offset", "nameLocation": "32196:6:9", "nodeType": "VariableDeclaration", - "scope": 3045, + "scope": 3056, "src": "32188:14:9", "stateVariable": false, "storageLocation": "default", @@ -85524,7 +85414,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3037, + "id": 3048, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "32188:7:9", @@ -85539,17 +85429,17 @@ "src": "32169:34:9" }, "returnParameters": { - "id": 3042, + "id": 3053, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3041, + "id": 3052, "mutability": "mutable", "name": "result", "nameLocation": "32266:6:9", "nodeType": "VariableDeclaration", - "scope": 3045, + "scope": 3056, "src": "32251:21:9", "stateVariable": false, "storageLocation": "calldata", @@ -85558,7 +85448,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3040, + "id": 3051, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "32251:5:9", @@ -85572,7 +85462,7 @@ ], "src": "32250:23:9" }, - "scope": 3078, + "scope": 3089, "src": "32138:441:9", "stateMutability": "pure", "virtual": false, @@ -85580,7 +85470,7 @@ }, { "body": { - "id": 3056, + "id": 3067, "nodeType": "Block", "src": "32826:403:9", "statements": [ @@ -85912,7 +85802,7 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3048, + "declaration": 3059, "isOffset": false, "isSlot": false, "src": "32915:8:9", @@ -85920,7 +85810,7 @@ "valueSize": 1 }, { - "declaration": 3048, + "declaration": 3059, "isOffset": false, "isSlot": false, "src": "33115:8:9", @@ -85928,7 +85818,7 @@ "valueSize": 1 }, { - "declaration": 3048, + "declaration": 3059, "isOffset": true, "isSlot": false, "src": "32969:8:9", @@ -85936,7 +85826,7 @@ "valueSize": 1 }, { - "declaration": 3048, + "declaration": 3059, "isOffset": true, "isSlot": false, "src": "33069:8:9", @@ -85944,7 +85834,7 @@ "valueSize": 1 }, { - "declaration": 3048, + "declaration": 3059, "isOffset": true, "isSlot": false, "src": "33166:8:9", @@ -85952,21 +85842,21 @@ "valueSize": 1 }, { - "declaration": 3050, + "declaration": 3061, "isOffset": false, "isSlot": false, "src": "32979:6:9", "valueSize": 1 }, { - "declaration": 3050, + "declaration": 3061, "isOffset": false, "isSlot": false, "src": "33182:6:9", "valueSize": 1 }, { - "declaration": 3053, + "declaration": 3064, "isOffset": false, "isSlot": false, "src": "33094:13:9", @@ -85974,7 +85864,7 @@ "valueSize": 1 }, { - "declaration": 3053, + "declaration": 3064, "isOffset": true, "isSlot": false, "src": "33048:13:9", @@ -85982,19 +85872,19 @@ "valueSize": 1 } ], - "id": 3055, + "id": 3066, "nodeType": "InlineAssembly", "src": "32879:344:9" } ] }, "documentation": { - "id": 3046, + "id": 3057, "nodeType": "StructuredDocumentation", "src": "32585:95:9", "text": "@dev Returns a slice representing a dynamic struct in the calldata. Performs bounds checks." }, - "id": 3057, + "id": 3068, "implemented": true, "kind": "function", "modifiers": [], @@ -86002,17 +85892,17 @@ "nameLocation": "32694:23:9", "nodeType": "FunctionDefinition", "parameters": { - "id": 3051, + "id": 3062, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3048, + "id": 3059, "mutability": "mutable", "name": "a", "nameLocation": "32733:1:9", "nodeType": "VariableDeclaration", - "scope": 3057, + "scope": 3068, "src": "32718:16:9", "stateVariable": false, "storageLocation": "calldata", @@ -86021,7 +85911,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3047, + "id": 3058, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "32718:5:9", @@ -86034,12 +85924,12 @@ }, { "constant": false, - "id": 3050, + "id": 3061, "mutability": "mutable", "name": "offset", "nameLocation": "32744:6:9", "nodeType": "VariableDeclaration", - "scope": 3057, + "scope": 3068, "src": "32736:14:9", "stateVariable": false, "storageLocation": "default", @@ -86048,7 +85938,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3049, + "id": 3060, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "32736:7:9", @@ -86063,17 +85953,17 @@ "src": "32717:34:9" }, "returnParameters": { - "id": 3054, + "id": 3065, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3053, + "id": 3064, "mutability": "mutable", "name": "result", "nameLocation": "32814:6:9", "nodeType": "VariableDeclaration", - "scope": 3057, + "scope": 3068, "src": "32799:21:9", "stateVariable": false, "storageLocation": "calldata", @@ -86082,7 +85972,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3052, + "id": 3063, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "32799:5:9", @@ -86096,7 +85986,7 @@ ], "src": "32798:23:9" }, - "scope": 3078, + "scope": 3089, "src": "32685:544:9", "stateMutability": "pure", "virtual": false, @@ -86104,7 +85994,7 @@ }, { "body": { - "id": 3068, + "id": 3079, "nodeType": "Block", "src": "33432:540:9", "statements": [ @@ -86546,7 +86436,7 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3060, + "declaration": 3071, "isOffset": false, "isSlot": false, "src": "33521:8:9", @@ -86554,7 +86444,7 @@ "valueSize": 1 }, { - "declaration": 3060, + "declaration": 3071, "isOffset": true, "isSlot": false, "src": "33575:8:9", @@ -86562,7 +86452,7 @@ "valueSize": 1 }, { - "declaration": 3060, + "declaration": 3071, "isOffset": true, "isSlot": false, "src": "33679:8:9", @@ -86570,7 +86460,7 @@ "valueSize": 1 }, { - "declaration": 3060, + "declaration": 3071, "isOffset": true, "isSlot": false, "src": "33745:8:9", @@ -86578,7 +86468,7 @@ "valueSize": 1 }, { - "declaration": 3060, + "declaration": 3071, "isOffset": true, "isSlot": false, "src": "33858:8:9", @@ -86586,21 +86476,21 @@ "valueSize": 1 }, { - "declaration": 3062, + "declaration": 3073, "isOffset": false, "isSlot": false, "src": "33585:6:9", "valueSize": 1 }, { - "declaration": 3062, + "declaration": 3073, "isOffset": false, "isSlot": false, "src": "33924:6:9", "valueSize": 1 }, { - "declaration": 3065, + "declaration": 3076, "isOffset": false, "isSlot": false, "src": "33711:13:9", @@ -86608,7 +86498,7 @@ "valueSize": 1 }, { - "declaration": 3065, + "declaration": 3076, "isOffset": false, "isSlot": false, "src": "33831:13:9", @@ -86616,7 +86506,7 @@ "valueSize": 1 }, { - "declaration": 3065, + "declaration": 3076, "isOffset": false, "isSlot": false, "src": "33901:13:9", @@ -86624,7 +86514,7 @@ "valueSize": 1 }, { - "declaration": 3065, + "declaration": 3076, "isOffset": true, "isSlot": false, "src": "33654:13:9", @@ -86632,19 +86522,19 @@ "valueSize": 1 } ], - "id": 3067, + "id": 3078, "nodeType": "InlineAssembly", "src": "33485:481:9" } ] }, "documentation": { - "id": 3058, + "id": 3069, "nodeType": "StructuredDocumentation", "src": "33235:59:9", "text": "@dev Returns bytes in calldata. Performs bounds checks." }, - "id": 3069, + "id": 3080, "implemented": true, "kind": "function", "modifiers": [], @@ -86652,17 +86542,17 @@ "nameLocation": "33308:15:9", "nodeType": "FunctionDefinition", "parameters": { - "id": 3063, + "id": 3074, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3060, + "id": 3071, "mutability": "mutable", "name": "a", "nameLocation": "33339:1:9", "nodeType": "VariableDeclaration", - "scope": 3069, + "scope": 3080, "src": "33324:16:9", "stateVariable": false, "storageLocation": "calldata", @@ -86671,7 +86561,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3059, + "id": 3070, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "33324:5:9", @@ -86684,12 +86574,12 @@ }, { "constant": false, - "id": 3062, + "id": 3073, "mutability": "mutable", "name": "offset", "nameLocation": "33350:6:9", "nodeType": "VariableDeclaration", - "scope": 3069, + "scope": 3080, "src": "33342:14:9", "stateVariable": false, "storageLocation": "default", @@ -86698,7 +86588,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3061, + "id": 3072, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "33342:7:9", @@ -86713,17 +86603,17 @@ "src": "33323:34:9" }, "returnParameters": { - "id": 3066, + "id": 3077, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3065, + "id": 3076, "mutability": "mutable", "name": "result", "nameLocation": "33420:6:9", "nodeType": "VariableDeclaration", - "scope": 3069, + "scope": 3080, "src": "33405:21:9", "stateVariable": false, "storageLocation": "calldata", @@ -86732,7 +86622,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3064, + "id": 3075, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "33405:5:9", @@ -86746,7 +86636,7 @@ ], "src": "33404:23:9" }, - "scope": 3078, + "scope": 3089, "src": "33299:673:9", "stateMutability": "pure", "virtual": false, @@ -86754,7 +86644,7 @@ }, { "body": { - "id": 3076, + "id": 3087, "nodeType": "Block", "src": "34120:110:9", "statements": [ @@ -86791,7 +86681,7 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3073, + "declaration": 3084, "isOffset": false, "isSlot": false, "src": "34196:13:9", @@ -86799,19 +86689,19 @@ "valueSize": 1 } ], - "id": 3075, + "id": 3086, "nodeType": "InlineAssembly", "src": "34173:51:9" } ] }, "documentation": { - "id": 3070, + "id": 3081, "nodeType": "StructuredDocumentation", "src": "33978:66:9", "text": "@dev Returns empty calldata bytes. For silencing the compiler." }, - "id": 3077, + "id": 3088, "implemented": true, "kind": "function", "modifiers": [], @@ -86819,23 +86709,23 @@ "nameLocation": "34058:13:9", "nodeType": "FunctionDefinition", "parameters": { - "id": 3071, + "id": 3082, "nodeType": "ParameterList", "parameters": [], "src": "34071:2:9" }, "returnParameters": { - "id": 3074, + "id": 3085, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3073, + "id": 3084, "mutability": "mutable", "name": "result", "nameLocation": "34112:6:9", "nodeType": "VariableDeclaration", - "scope": 3077, + "scope": 3088, "src": "34097:21:9", "stateVariable": false, "storageLocation": "calldata", @@ -86844,7 +86734,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3072, + "id": 3083, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "34097:5:9", @@ -86858,14 +86748,14 @@ ], "src": "34096:23:9" }, - "scope": 3078, + "scope": 3089, "src": "34049:181:9", "stateMutability": "pure", "virtual": false, "visibility": "internal" } ], - "scope": 3079, + "scope": 3090, "src": "197:34035:9", "usedErrors": [], "usedEvents": [] @@ -86880,15 +86770,15 @@ "absolutePath": "solady/utils/LibClone.sol", "exportedSymbols": { "LibClone": [ - 5093 + 5104 ] }, - "id": 5094, + "id": 5105, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 3080, + "id": 3091, "literals": [ "solidity", "^", @@ -86905,15 +86795,15 @@ "contractDependencies": [], "contractKind": "library", "documentation": { - "id": 3081, + "id": 3092, "nodeType": "StructuredDocumentation", "src": "57:3699:10", "text": "@notice Minimal proxy library.\n @author Solady (https://github.com/vectorized/solady/blob/main/src/utils/LibClone.sol)\n @author Minimal proxy by 0age (https://github.com/0age)\n @author Clones with immutable args by wighawag, zefram.eth, Saw-mon & Natalie\n (https://github.com/Saw-mon-and-Natalie/clones-with-immutable-args)\n @author Minimal ERC1967 proxy by jtriley-eth (https://github.com/jtriley-eth/minimum-viable-proxy)\n @dev Minimal proxy:\n Although the sw0nt pattern saves 5 gas over the ERC1167 pattern during runtime,\n it is not supported out-of-the-box on Etherscan. Hence, we choose to use the 0age pattern,\n which saves 4 gas over the ERC1167 pattern during runtime, and has the smallest bytecode.\n - Automatically verified on Etherscan.\n @dev Minimal proxy (PUSH0 variant):\n This is a new minimal proxy that uses the PUSH0 opcode introduced during Shanghai.\n It is optimized first for minimal runtime gas, then for minimal bytecode.\n The PUSH0 clone functions are intentionally postfixed with a jarring \"_PUSH0\" as\n many EVM chains may not support the PUSH0 opcode in the early months after Shanghai.\n Please use with caution.\n - Automatically verified on Etherscan.\n @dev Clones with immutable args (CWIA):\n The implementation of CWIA here does NOT append the immutable args into the calldata\n passed into delegatecall. It is simply an ERC1167 minimal proxy with the immutable arguments\n appended to the back of the runtime bytecode.\n - Uses the identity precompile (0x4) to copy args during deployment.\n @dev Minimal ERC1967 proxy:\n A minimal ERC1967 proxy, intended to be upgraded with UUPS.\n This is NOT the same as ERC1967Factory's transparent proxy, which includes admin logic.\n - Automatically verified on Etherscan.\n @dev Minimal ERC1967 proxy with immutable args:\n - Uses the identity precompile (0x4) to copy args during deployment.\n - Automatically verified on Etherscan.\n @dev ERC1967I proxy:\n A variant of the minimal ERC1967 proxy, with a special code path that activates\n if `calldatasize() == 1`. This code path skips the delegatecall and directly returns the\n `implementation` address. The returned implementation is guaranteed to be valid if the\n keccak256 of the proxy's code is equal to `ERC1967I_CODE_HASH`.\n @dev ERC1967I proxy with immutable args:\n A variant of the minimal ERC1967 proxy, with a special code path that activates\n if `calldatasize() == 1`. This code path skips the delegatecall and directly returns the\n - Uses the identity precompile (0x4) to copy args during deployment.\n @dev Minimal ERC1967 beacon proxy:\n A minimal beacon proxy, intended to be upgraded with an upgradable beacon.\n - Automatically verified on Etherscan.\n @dev Minimal ERC1967 beacon proxy with immutable args:\n - Uses the identity precompile (0x4) to copy args during deployment.\n - Automatically verified on Etherscan.\n @dev ERC1967I beacon proxy:\n A variant of the minimal ERC1967 beacon proxy, with a special code path that activates\n if `calldatasize() == 1`. This code path skips the delegatecall and directly returns the\n `implementation` address. The returned implementation is guaranteed to be valid if the\n keccak256 of the proxy's code is equal to `ERC1967I_CODE_HASH`.\n @dev ERC1967I proxy with immutable args:\n A variant of the minimal ERC1967 beacon proxy, with a special code path that activates\n if `calldatasize() == 1`. This code path skips the delegatecall and directly returns the\n - Uses the identity precompile (0x4) to copy args during deployment." }, "fullyImplemented": true, - "id": 5093, + "id": 5104, "linearizedBaseContracts": [ - 5093 + 5104 ], "name": "LibClone", "nameLocation": "3764:8:10", @@ -86922,17 +86812,17 @@ { "constant": true, "documentation": { - "id": 3082, + "id": 3093, "nodeType": "StructuredDocumentation", "src": "4062:113:10", "text": "@dev The keccak256 of deployed code for the clone proxy,\n with the implementation set to `address(0)`." }, - "id": 3085, + "id": 3096, "mutability": "constant", "name": "CLONE_CODE_HASH", "nameLocation": "4206:15:10", "nodeType": "VariableDeclaration", - "scope": 5093, + "scope": 5104, "src": "4180:118:10", "stateVariable": true, "storageLocation": "default", @@ -86941,7 +86831,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3083, + "id": 3094, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "4180:7:10", @@ -86952,7 +86842,7 @@ }, "value": { "hexValue": "307834386462326366646232383533666365306234363466316639336131393936343639343539646633616236633831323130363037346334313036613165623166", - "id": 3084, + "id": 3095, "isConstant": false, "isLValue": false, "isPure": true, @@ -86971,17 +86861,17 @@ { "constant": true, "documentation": { - "id": 3086, + "id": 3097, "nodeType": "StructuredDocumentation", "src": "4305:113:10", "text": "@dev The keccak256 of deployed code for the PUSH0 proxy,\n with the implementation set to `address(0)`." }, - "id": 3089, + "id": 3100, "mutability": "constant", "name": "PUSH0_CLONE_CODE_HASH", "nameLocation": "4449:21:10", "nodeType": "VariableDeclaration", - "scope": 5093, + "scope": 5104, "src": "4423:124:10", "stateVariable": true, "storageLocation": "default", @@ -86990,7 +86880,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3087, + "id": 3098, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "4423:7:10", @@ -87001,7 +86891,7 @@ }, "value": { "hexValue": "307836376263366264653162383464363665323637633731386261343463663339323861363135643239383835353337393535636234336434346233653738396463", - "id": 3088, + "id": 3099, "isConstant": false, "isLValue": false, "isPure": true, @@ -87020,17 +86910,17 @@ { "constant": true, "documentation": { - "id": 3090, + "id": 3101, "nodeType": "StructuredDocumentation", "src": "4554:121:10", "text": "@dev The keccak256 of deployed code for the ERC-1167 CWIA proxy,\n with the implementation set to `address(0)`." }, - "id": 3093, + "id": 3104, "mutability": "constant", "name": "CWIA_CODE_HASH", "nameLocation": "4706:14:10", "nodeType": "VariableDeclaration", - "scope": 5093, + "scope": 5104, "src": "4680:117:10", "stateVariable": true, "storageLocation": "default", @@ -87039,7 +86929,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3091, + "id": 3102, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "4680:7:10", @@ -87050,7 +86940,7 @@ }, "value": { "hexValue": "307833636639323436343236383232356134353133646134306133346439363733353436383463333263643065646436376235663636386466653335353065393430", - "id": 3092, + "id": 3103, "isConstant": false, "isLValue": false, "isPure": true, @@ -87069,17 +86959,17 @@ { "constant": true, "documentation": { - "id": 3094, + "id": 3105, "nodeType": "StructuredDocumentation", "src": "4804:66:10", "text": "@dev The keccak256 of the deployed code for the ERC1967 proxy." }, - "id": 3097, + "id": 3108, "mutability": "constant", "name": "ERC1967_CODE_HASH", "nameLocation": "4901:17:10", "nodeType": "VariableDeclaration", - "scope": 5093, + "scope": 5104, "src": "4875:120:10", "stateVariable": true, "storageLocation": "default", @@ -87088,7 +86978,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3095, + "id": 3106, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "4875:7:10", @@ -87099,7 +86989,7 @@ }, "value": { "hexValue": "307861616135326338636338613065336664323763653735366363366234653730633531343233653962353937623131663332643365343966386231666338393064", - "id": 3096, + "id": 3107, "isConstant": false, "isLValue": false, "isPure": true, @@ -87118,17 +87008,17 @@ { "constant": true, "documentation": { - "id": 3098, + "id": 3109, "nodeType": "StructuredDocumentation", "src": "5002:67:10", "text": "@dev The keccak256 of the deployed code for the ERC1967I proxy." }, - "id": 3101, + "id": 3112, "mutability": "constant", "name": "ERC1967I_CODE_HASH", "nameLocation": "5100:18:10", "nodeType": "VariableDeclaration", - "scope": 5093, + "scope": 5104, "src": "5074:121:10", "stateVariable": true, "storageLocation": "default", @@ -87137,7 +87027,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3099, + "id": 3110, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "5074:7:10", @@ -87148,7 +87038,7 @@ }, "value": { "hexValue": "307863653730303232336330643463656134353833343039616363666334356164616334613039336233353139393938613963626265313530346461646261366637", - "id": 3100, + "id": 3111, "isConstant": false, "isLValue": false, "isPure": true, @@ -87167,17 +87057,17 @@ { "constant": true, "documentation": { - "id": 3102, + "id": 3113, "nodeType": "StructuredDocumentation", "src": "5202:73:10", "text": "@dev The keccak256 of the deployed code for the ERC1967 beacon proxy." }, - "id": 3105, + "id": 3116, "mutability": "constant", "name": "ERC1967_BEACON_PROXY_CODE_HASH", "nameLocation": "5306:30:10", "nodeType": "VariableDeclaration", - "scope": 5093, + "scope": 5104, "src": "5280:133:10", "stateVariable": true, "storageLocation": "default", @@ -87186,7 +87076,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3103, + "id": 3114, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "5280:7:10", @@ -87197,7 +87087,7 @@ }, "value": { "hexValue": "307831343034343435396166313762633466306635616132663635386362363932616464373764313330326332396665326165626162303035656561396431313632", - "id": 3104, + "id": 3115, "isConstant": false, "isLValue": false, "isPure": true, @@ -87216,17 +87106,17 @@ { "constant": true, "documentation": { - "id": 3106, + "id": 3117, "nodeType": "StructuredDocumentation", "src": "5420:73:10", "text": "@dev The keccak256 of the deployed code for the ERC1967 beacon proxy." }, - "id": 3109, + "id": 3120, "mutability": "constant", "name": "ERC1967I_BEACON_PROXY_CODE_HASH", "nameLocation": "5524:31:10", "nodeType": "VariableDeclaration", - "scope": 5093, + "scope": 5104, "src": "5498:134:10", "stateVariable": true, "storageLocation": "default", @@ -87235,7 +87125,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3107, + "id": 3118, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "5498:7:10", @@ -87246,7 +87136,7 @@ }, "value": { "hexValue": "307866386334366432373933643561613938346562383237616561626134623633616564636162383031313932313266636538323733303937383837333535313961", - "id": 3108, + "id": 3119, "isConstant": false, "isLValue": false, "isPure": true, @@ -87264,18 +87154,18 @@ }, { "documentation": { - "id": 3110, + "id": 3121, "nodeType": "StructuredDocumentation", "src": "5922:36:10", "text": "@dev Unable to deploy the clone." }, "errorSelector": "30116425", - "id": 3112, + "id": 3123, "name": "DeploymentFailed", "nameLocation": "5969:16:10", "nodeType": "ErrorDefinition", "parameters": { - "id": 3111, + "id": 3122, "nodeType": "ParameterList", "parameters": [], "src": "5985:2:10" @@ -87284,18 +87174,18 @@ }, { "documentation": { - "id": 3113, + "id": 3124, "nodeType": "StructuredDocumentation", "src": "5994:66:10", "text": "@dev The salt must start with either the zero address or `by`." }, "errorSelector": "0c4549ef", - "id": 3115, + "id": 3126, "name": "SaltDoesNotStartWith", "nameLocation": "6071:20:10", "nodeType": "ErrorDefinition", "parameters": { - "id": 3114, + "id": 3125, "nodeType": "ParameterList", "parameters": [], "src": "6091:2:10" @@ -87304,18 +87194,18 @@ }, { "documentation": { - "id": 3116, + "id": 3127, "nodeType": "StructuredDocumentation", "src": "6100:37:10", "text": "@dev The ETH transfer has failed." }, "errorSelector": "b12d13eb", - "id": 3118, + "id": 3129, "name": "ETHTransferFailed", "nameLocation": "6148:17:10", "nodeType": "ErrorDefinition", "parameters": { - "id": 3117, + "id": 3128, "nodeType": "ParameterList", "parameters": [], "src": "6165:2:10" @@ -87324,23 +87214,23 @@ }, { "body": { - "id": 3133, + "id": 3144, "nodeType": "Block", "src": "6582:52:10", "statements": [ { "expression": { - "id": 3131, + "id": 3142, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 3126, + "id": 3137, "name": "instance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3124, + "referencedDeclaration": 3135, "src": "6592:8:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -87353,7 +87243,7 @@ "arguments": [ { "hexValue": "30", - "id": 3128, + "id": 3139, "isConstant": false, "isLValue": false, "isPure": true, @@ -87368,11 +87258,11 @@ "value": "0" }, { - "id": 3129, + "id": 3140, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3121, + "referencedDeclaration": 3132, "src": "6612:14:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -87391,23 +87281,23 @@ "typeString": "address" } ], - "id": 3127, + "id": 3138, "name": "clone", "nodeType": "Identifier", "overloadedDeclarations": [ - 3134, - 3146, - 3353, - 3367 + 3145, + 3157, + 3364, + 3378 ], - "referencedDeclaration": 3146, + "referencedDeclaration": 3157, "src": "6603:5:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$returns$_t_address_$", "typeString": "function (uint256,address) returns (address)" } }, - "id": 3130, + "id": 3141, "isConstant": false, "isLValue": false, "isPure": false, @@ -87429,19 +87319,19 @@ "typeString": "address" } }, - "id": 3132, + "id": 3143, "nodeType": "ExpressionStatement", "src": "6592:35:10" } ] }, "documentation": { - "id": 3119, + "id": 3130, "nodeType": "StructuredDocumentation", "src": "6457:45:10", "text": "@dev Deploys a clone of `implementation`." }, - "id": 3134, + "id": 3145, "implemented": true, "kind": "function", "modifiers": [], @@ -87449,17 +87339,17 @@ "nameLocation": "6516:5:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3122, + "id": 3133, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3121, + "id": 3132, "mutability": "mutable", "name": "implementation", "nameLocation": "6530:14:10", "nodeType": "VariableDeclaration", - "scope": 3134, + "scope": 3145, "src": "6522:22:10", "stateVariable": false, "storageLocation": "default", @@ -87468,7 +87358,7 @@ "typeString": "address" }, "typeName": { - "id": 3120, + "id": 3131, "name": "address", "nodeType": "ElementaryTypeName", "src": "6522:7:10", @@ -87484,17 +87374,17 @@ "src": "6521:24:10" }, "returnParameters": { - "id": 3125, + "id": 3136, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3124, + "id": 3135, "mutability": "mutable", "name": "instance", "nameLocation": "6572:8:10", "nodeType": "VariableDeclaration", - "scope": 3134, + "scope": 3145, "src": "6564:16:10", "stateVariable": false, "storageLocation": "default", @@ -87503,7 +87393,7 @@ "typeString": "address" }, "typeName": { - "id": 3123, + "id": 3134, "name": "address", "nodeType": "ElementaryTypeName", "src": "6564:7:10", @@ -87518,7 +87408,7 @@ ], "src": "6563:18:10" }, - "scope": 5093, + "scope": 5104, "src": "6507:127:10", "stateMutability": "nonpayable", "virtual": false, @@ -87526,7 +87416,7 @@ }, { "body": { - "id": 3145, + "id": 3156, "nodeType": "Block", "src": "6828:5477:10", "statements": [ @@ -87823,47 +87713,47 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3139, + "declaration": 3150, "isOffset": false, "isSlot": false, "src": "11918:14:10", "valueSize": 1 }, { - "declaration": 3142, + "declaration": 3153, "isOffset": false, "isSlot": false, "src": "12015:8:10", "valueSize": 1 }, { - "declaration": 3142, + "declaration": 3153, "isOffset": false, "isSlot": false, "src": "12075:8:10", "valueSize": 1 }, { - "declaration": 3137, + "declaration": 3148, "isOffset": false, "isSlot": false, "src": "12034:5:10", "valueSize": 1 } ], - "id": 3144, + "id": 3155, "nodeType": "InlineAssembly", "src": "6881:5418:10" } ] }, "documentation": { - "id": 3135, + "id": 3146, "nodeType": "StructuredDocumentation", "src": "6640:93:10", "text": "@dev Deploys a clone of `implementation`.\n Deposits `value` ETH during deployment." }, - "id": 3146, + "id": 3157, "implemented": true, "kind": "function", "modifiers": [], @@ -87871,17 +87761,17 @@ "nameLocation": "6747:5:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3140, + "id": 3151, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3137, + "id": 3148, "mutability": "mutable", "name": "value", "nameLocation": "6761:5:10", "nodeType": "VariableDeclaration", - "scope": 3146, + "scope": 3157, "src": "6753:13:10", "stateVariable": false, "storageLocation": "default", @@ -87890,7 +87780,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3136, + "id": 3147, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "6753:7:10", @@ -87903,12 +87793,12 @@ }, { "constant": false, - "id": 3139, + "id": 3150, "mutability": "mutable", "name": "implementation", "nameLocation": "6776:14:10", "nodeType": "VariableDeclaration", - "scope": 3146, + "scope": 3157, "src": "6768:22:10", "stateVariable": false, "storageLocation": "default", @@ -87917,7 +87807,7 @@ "typeString": "address" }, "typeName": { - "id": 3138, + "id": 3149, "name": "address", "nodeType": "ElementaryTypeName", "src": "6768:7:10", @@ -87933,17 +87823,17 @@ "src": "6752:39:10" }, "returnParameters": { - "id": 3143, + "id": 3154, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3142, + "id": 3153, "mutability": "mutable", "name": "instance", "nameLocation": "6818:8:10", "nodeType": "VariableDeclaration", - "scope": 3146, + "scope": 3157, "src": "6810:16:10", "stateVariable": false, "storageLocation": "default", @@ -87952,7 +87842,7 @@ "typeString": "address" }, "typeName": { - "id": 3141, + "id": 3152, "name": "address", "nodeType": "ElementaryTypeName", "src": "6810:7:10", @@ -87967,7 +87857,7 @@ ], "src": "6809:18:10" }, - "scope": 5093, + "scope": 5104, "src": "6738:5567:10", "stateMutability": "nonpayable", "virtual": false, @@ -87975,23 +87865,23 @@ }, { "body": { - "id": 3164, + "id": 3175, "nodeType": "Block", "src": "12509:71:10", "statements": [ { "expression": { - "id": 3162, + "id": 3173, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 3156, + "id": 3167, "name": "instance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3154, + "referencedDeclaration": 3165, "src": "12519:8:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -88004,7 +87894,7 @@ "arguments": [ { "hexValue": "30", - "id": 3158, + "id": 3169, "isConstant": false, "isLValue": false, "isPure": true, @@ -88019,11 +87909,11 @@ "value": "0" }, { - "id": 3159, + "id": 3170, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3149, + "referencedDeclaration": 3160, "src": "12552:14:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -88031,11 +87921,11 @@ } }, { - "id": 3160, + "id": 3171, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3151, + "referencedDeclaration": 3162, "src": "12568:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -88058,23 +87948,23 @@ "typeString": "bytes32" } ], - "id": 3157, + "id": 3168, "name": "cloneDeterministic", "nodeType": "Identifier", "overloadedDeclarations": [ - 3165, - 3179, - 3389, - 3405 + 3176, + 3190, + 3400, + 3416 ], - "referencedDeclaration": 3179, + "referencedDeclaration": 3190, "src": "12530:18:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes32_$returns$_t_address_$", "typeString": "function (uint256,address,bytes32) returns (address)" } }, - "id": 3161, + "id": 3172, "isConstant": false, "isLValue": false, "isPure": false, @@ -88096,19 +87986,19 @@ "typeString": "address" } }, - "id": 3163, + "id": 3174, "nodeType": "ExpressionStatement", "src": "12519:54:10" } ] }, "documentation": { - "id": 3147, + "id": 3158, "nodeType": "StructuredDocumentation", "src": "12311:71:10", "text": "@dev Deploys a deterministic clone of `implementation` with `salt`." }, - "id": 3165, + "id": 3176, "implemented": true, "kind": "function", "modifiers": [], @@ -88116,17 +88006,17 @@ "nameLocation": "12396:18:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3152, + "id": 3163, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3149, + "id": 3160, "mutability": "mutable", "name": "implementation", "nameLocation": "12423:14:10", "nodeType": "VariableDeclaration", - "scope": 3165, + "scope": 3176, "src": "12415:22:10", "stateVariable": false, "storageLocation": "default", @@ -88135,7 +88025,7 @@ "typeString": "address" }, "typeName": { - "id": 3148, + "id": 3159, "name": "address", "nodeType": "ElementaryTypeName", "src": "12415:7:10", @@ -88149,12 +88039,12 @@ }, { "constant": false, - "id": 3151, + "id": 3162, "mutability": "mutable", "name": "salt", "nameLocation": "12447:4:10", "nodeType": "VariableDeclaration", - "scope": 3165, + "scope": 3176, "src": "12439:12:10", "stateVariable": false, "storageLocation": "default", @@ -88163,7 +88053,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3150, + "id": 3161, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "12439:7:10", @@ -88178,17 +88068,17 @@ "src": "12414:38:10" }, "returnParameters": { - "id": 3155, + "id": 3166, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3154, + "id": 3165, "mutability": "mutable", "name": "instance", "nameLocation": "12495:8:10", "nodeType": "VariableDeclaration", - "scope": 3165, + "scope": 3176, "src": "12487:16:10", "stateVariable": false, "storageLocation": "default", @@ -88197,7 +88087,7 @@ "typeString": "address" }, "typeName": { - "id": 3153, + "id": 3164, "name": "address", "nodeType": "ElementaryTypeName", "src": "12487:7:10", @@ -88212,7 +88102,7 @@ ], "src": "12486:18:10" }, - "scope": 5093, + "scope": 5104, "src": "12387:193:10", "stateMutability": "nonpayable", "virtual": false, @@ -88220,7 +88110,7 @@ }, { "body": { - "id": 3178, + "id": 3189, "nodeType": "Block", "src": "12847:538:10", "statements": [ @@ -88523,54 +88413,54 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3170, + "declaration": 3181, "isOffset": false, "isSlot": false, "src": "12991:14:10", "valueSize": 1 }, { - "declaration": 3175, + "declaration": 3186, "isOffset": false, "isSlot": false, "src": "13088:8:10", "valueSize": 1 }, { - "declaration": 3175, + "declaration": 3186, "isOffset": false, "isSlot": false, "src": "13155:8:10", "valueSize": 1 }, { - "declaration": 3172, + "declaration": 3183, "isOffset": false, "isSlot": false, "src": "13127:4:10", "valueSize": 1 }, { - "declaration": 3168, + "declaration": 3179, "isOffset": false, "isSlot": false, "src": "13108:5:10", "valueSize": 1 } ], - "id": 3177, + "id": 3188, "nodeType": "InlineAssembly", "src": "12900:479:10" } ] }, "documentation": { - "id": 3166, + "id": 3177, "nodeType": "StructuredDocumentation", "src": "12586:119:10", "text": "@dev Deploys a deterministic clone of `implementation` with `salt`.\n Deposits `value` ETH during deployment." }, - "id": 3179, + "id": 3190, "implemented": true, "kind": "function", "modifiers": [], @@ -88578,17 +88468,17 @@ "nameLocation": "12719:18:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3173, + "id": 3184, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3168, + "id": 3179, "mutability": "mutable", "name": "value", "nameLocation": "12746:5:10", "nodeType": "VariableDeclaration", - "scope": 3179, + "scope": 3190, "src": "12738:13:10", "stateVariable": false, "storageLocation": "default", @@ -88597,7 +88487,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3167, + "id": 3178, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "12738:7:10", @@ -88610,12 +88500,12 @@ }, { "constant": false, - "id": 3170, + "id": 3181, "mutability": "mutable", "name": "implementation", "nameLocation": "12761:14:10", "nodeType": "VariableDeclaration", - "scope": 3179, + "scope": 3190, "src": "12753:22:10", "stateVariable": false, "storageLocation": "default", @@ -88624,7 +88514,7 @@ "typeString": "address" }, "typeName": { - "id": 3169, + "id": 3180, "name": "address", "nodeType": "ElementaryTypeName", "src": "12753:7:10", @@ -88638,12 +88528,12 @@ }, { "constant": false, - "id": 3172, + "id": 3183, "mutability": "mutable", "name": "salt", "nameLocation": "12785:4:10", "nodeType": "VariableDeclaration", - "scope": 3179, + "scope": 3190, "src": "12777:12:10", "stateVariable": false, "storageLocation": "default", @@ -88652,7 +88542,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3171, + "id": 3182, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "12777:7:10", @@ -88667,17 +88557,17 @@ "src": "12737:53:10" }, "returnParameters": { - "id": 3176, + "id": 3187, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3175, + "id": 3186, "mutability": "mutable", "name": "instance", "nameLocation": "12833:8:10", "nodeType": "VariableDeclaration", - "scope": 3179, + "scope": 3190, "src": "12825:16:10", "stateVariable": false, "storageLocation": "default", @@ -88686,7 +88576,7 @@ "typeString": "address" }, "typeName": { - "id": 3174, + "id": 3185, "name": "address", "nodeType": "ElementaryTypeName", "src": "12825:7:10", @@ -88701,7 +88591,7 @@ ], "src": "12824:18:10" }, - "scope": 5093, + "scope": 5104, "src": "12710:675:10", "stateMutability": "nonpayable", "virtual": false, @@ -88709,7 +88599,7 @@ }, { "body": { - "id": 3188, + "id": 3199, "nodeType": "Block", "src": "13551:427:10", "statements": [ @@ -89001,68 +88891,68 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3185, + "declaration": 3196, "isOffset": false, "isSlot": false, "src": "13627:1:10", "valueSize": 1 }, { - "declaration": 3185, + "declaration": 3196, "isOffset": false, "isSlot": false, "src": "13667:1:10", "valueSize": 1 }, { - "declaration": 3185, + "declaration": 3196, "isOffset": false, "isSlot": false, "src": "13752:1:10", "valueSize": 1 }, { - "declaration": 3185, + "declaration": 3196, "isOffset": false, "isSlot": false, "src": "13801:1:10", "valueSize": 1 }, { - "declaration": 3185, + "declaration": 3196, "isOffset": false, "isSlot": false, "src": "13874:1:10", "valueSize": 1 }, { - "declaration": 3185, + "declaration": 3196, "isOffset": false, "isSlot": false, "src": "13933:1:10", "valueSize": 1 }, { - "declaration": 3182, + "declaration": 3193, "isOffset": false, "isSlot": false, "src": "13762:14:10", "valueSize": 1 } ], - "id": 3187, + "id": 3198, "nodeType": "InlineAssembly", "src": "13604:368:10" } ] }, "documentation": { - "id": 3180, + "id": 3191, "nodeType": "StructuredDocumentation", "src": "13391:74:10", "text": "@dev Returns the initialization code of the clone of `implementation`." }, - "id": 3189, + "id": 3200, "implemented": true, "kind": "function", "modifiers": [], @@ -89070,17 +88960,17 @@ "nameLocation": "13479:8:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3183, + "id": 3194, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3182, + "id": 3193, "mutability": "mutable", "name": "implementation", "nameLocation": "13496:14:10", "nodeType": "VariableDeclaration", - "scope": 3189, + "scope": 3200, "src": "13488:22:10", "stateVariable": false, "storageLocation": "default", @@ -89089,7 +88979,7 @@ "typeString": "address" }, "typeName": { - "id": 3181, + "id": 3192, "name": "address", "nodeType": "ElementaryTypeName", "src": "13488:7:10", @@ -89105,17 +88995,17 @@ "src": "13487:24:10" }, "returnParameters": { - "id": 3186, + "id": 3197, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3185, + "id": 3196, "mutability": "mutable", "name": "c", "nameLocation": "13548:1:10", "nodeType": "VariableDeclaration", - "scope": 3189, + "scope": 3200, "src": "13535:14:10", "stateVariable": false, "storageLocation": "memory", @@ -89124,7 +89014,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3184, + "id": 3195, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "13535:5:10", @@ -89138,7 +89028,7 @@ ], "src": "13534:16:10" }, - "scope": 5093, + "scope": 5104, "src": "13470:508:10", "stateMutability": "pure", "virtual": false, @@ -89146,7 +89036,7 @@ }, { "body": { - "id": 3198, + "id": 3209, "nodeType": "Block", "src": "14151:374:10", "statements": [ @@ -89338,33 +89228,33 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3195, + "declaration": 3206, "isOffset": false, "isSlot": false, "src": "14392:4:10", "valueSize": 1 }, { - "declaration": 3192, + "declaration": 3203, "isOffset": false, "isSlot": false, "src": "14295:14:10", "valueSize": 1 } ], - "id": 3197, + "id": 3208, "nodeType": "InlineAssembly", "src": "14204:315:10" } ] }, "documentation": { - "id": 3190, + "id": 3201, "nodeType": "StructuredDocumentation", "src": "13984:79:10", "text": "@dev Returns the initialization code hash of the clone of `implementation`." }, - "id": 3199, + "id": 3210, "implemented": true, "kind": "function", "modifiers": [], @@ -89372,17 +89262,17 @@ "nameLocation": "14077:12:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3193, + "id": 3204, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3192, + "id": 3203, "mutability": "mutable", "name": "implementation", "nameLocation": "14098:14:10", "nodeType": "VariableDeclaration", - "scope": 3199, + "scope": 3210, "src": "14090:22:10", "stateVariable": false, "storageLocation": "default", @@ -89391,7 +89281,7 @@ "typeString": "address" }, "typeName": { - "id": 3191, + "id": 3202, "name": "address", "nodeType": "ElementaryTypeName", "src": "14090:7:10", @@ -89407,17 +89297,17 @@ "src": "14089:24:10" }, "returnParameters": { - "id": 3196, + "id": 3207, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3195, + "id": 3206, "mutability": "mutable", "name": "hash", "nameLocation": "14145:4:10", "nodeType": "VariableDeclaration", - "scope": 3199, + "scope": 3210, "src": "14137:12:10", "stateVariable": false, "storageLocation": "default", @@ -89426,7 +89316,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3194, + "id": 3205, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "14137:7:10", @@ -89440,7 +89330,7 @@ ], "src": "14136:14:10" }, - "scope": 5093, + "scope": 5104, "src": "14068:457:10", "stateMutability": "pure", "virtual": false, @@ -89448,23 +89338,23 @@ }, { "body": { - "id": 3225, + "id": 3236, "nodeType": "Block", "src": "14881:131:10", "statements": [ { "assignments": [ - 3212 + 3223 ], "declarations": [ { "constant": false, - "id": 3212, + "id": 3223, "mutability": "mutable", "name": "hash", "nameLocation": "14899:4:10", "nodeType": "VariableDeclaration", - "scope": 3225, + "scope": 3236, "src": "14891:12:10", "stateVariable": false, "storageLocation": "default", @@ -89473,7 +89363,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3211, + "id": 3222, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "14891:7:10", @@ -89485,15 +89375,15 @@ "visibility": "internal" } ], - "id": 3216, + "id": 3227, "initialValue": { "arguments": [ { - "id": 3214, + "id": 3225, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3202, + "referencedDeclaration": 3213, "src": "14919:14:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -89508,21 +89398,21 @@ "typeString": "address" } ], - "id": 3213, + "id": 3224, "name": "initCodeHash", "nodeType": "Identifier", "overloadedDeclarations": [ - 3199, - 3469 + 3210, + 3480 ], - "referencedDeclaration": 3199, + "referencedDeclaration": 3210, "src": "14906:12:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_bytes32_$", "typeString": "function (address) pure returns (bytes32)" } }, - "id": 3215, + "id": 3226, "isConstant": false, "isLValue": false, "isPure": false, @@ -89543,17 +89433,17 @@ }, { "expression": { - "id": 3223, + "id": 3234, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 3217, + "id": 3228, "name": "predicted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3209, + "referencedDeclaration": 3220, "src": "14944:9:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -89565,11 +89455,11 @@ "rightHandSide": { "arguments": [ { - "id": 3219, + "id": 3230, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3212, + "referencedDeclaration": 3223, "src": "14984:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -89577,11 +89467,11 @@ } }, { - "id": 3220, + "id": 3231, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3204, + "referencedDeclaration": 3215, "src": "14990:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -89589,11 +89479,11 @@ } }, { - "id": 3221, + "id": 3232, "name": "deployer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3206, + "referencedDeclaration": 3217, "src": "14996:8:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -89616,22 +89506,22 @@ "typeString": "address" } ], - "id": 3218, + "id": 3229, "name": "predictDeterministicAddress", "nodeType": "Identifier", "overloadedDeclarations": [ - 3226, - 3499, - 5070 + 3237, + 3510, + 5081 ], - "referencedDeclaration": 5070, + "referencedDeclaration": 5081, "src": "14956:27:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_address_$", "typeString": "function (bytes32,bytes32,address) pure returns (address)" } }, - "id": 3222, + "id": 3233, "isConstant": false, "isLValue": false, "isPure": false, @@ -89653,19 +89543,19 @@ "typeString": "address" } }, - "id": 3224, + "id": 3235, "nodeType": "ExpressionStatement", "src": "14944:61:10" } ] }, "documentation": { - "id": 3200, + "id": 3211, "nodeType": "StructuredDocumentation", "src": "14531:182:10", "text": "@dev Returns the address of the clone of `implementation`, with `salt` by `deployer`.\n Note: The returned result has dirty upper 96 bits. Please clean if used in assembly." }, - "id": 3226, + "id": 3237, "implemented": true, "kind": "function", "modifiers": [], @@ -89673,17 +89563,17 @@ "nameLocation": "14727:27:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3207, + "id": 3218, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3202, + "id": 3213, "mutability": "mutable", "name": "implementation", "nameLocation": "14763:14:10", "nodeType": "VariableDeclaration", - "scope": 3226, + "scope": 3237, "src": "14755:22:10", "stateVariable": false, "storageLocation": "default", @@ -89692,7 +89582,7 @@ "typeString": "address" }, "typeName": { - "id": 3201, + "id": 3212, "name": "address", "nodeType": "ElementaryTypeName", "src": "14755:7:10", @@ -89706,12 +89596,12 @@ }, { "constant": false, - "id": 3204, + "id": 3215, "mutability": "mutable", "name": "salt", "nameLocation": "14787:4:10", "nodeType": "VariableDeclaration", - "scope": 3226, + "scope": 3237, "src": "14779:12:10", "stateVariable": false, "storageLocation": "default", @@ -89720,7 +89610,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3203, + "id": 3214, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "14779:7:10", @@ -89733,12 +89623,12 @@ }, { "constant": false, - "id": 3206, + "id": 3217, "mutability": "mutable", "name": "deployer", "nameLocation": "14801:8:10", "nodeType": "VariableDeclaration", - "scope": 3226, + "scope": 3237, "src": "14793:16:10", "stateVariable": false, "storageLocation": "default", @@ -89747,7 +89637,7 @@ "typeString": "address" }, "typeName": { - "id": 3205, + "id": 3216, "name": "address", "nodeType": "ElementaryTypeName", "src": "14793:7:10", @@ -89763,17 +89653,17 @@ "src": "14754:56:10" }, "returnParameters": { - "id": 3210, + "id": 3221, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3209, + "id": 3220, "mutability": "mutable", "name": "predicted", "nameLocation": "14866:9:10", "nodeType": "VariableDeclaration", - "scope": 3226, + "scope": 3237, "src": "14858:17:10", "stateVariable": false, "storageLocation": "default", @@ -89782,7 +89672,7 @@ "typeString": "address" }, "typeName": { - "id": 3208, + "id": 3219, "name": "address", "nodeType": "ElementaryTypeName", "src": "14858:7:10", @@ -89797,7 +89687,7 @@ ], "src": "14857:19:10" }, - "scope": 5093, + "scope": 5104, "src": "14718:294:10", "stateMutability": "pure", "virtual": false, @@ -89805,23 +89695,23 @@ }, { "body": { - "id": 3241, + "id": 3252, "nodeType": "Block", "src": "15438:58:10", "statements": [ { "expression": { - "id": 3239, + "id": 3250, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 3234, + "id": 3245, "name": "instance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3232, + "referencedDeclaration": 3243, "src": "15448:8:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -89834,7 +89724,7 @@ "arguments": [ { "hexValue": "30", - "id": 3236, + "id": 3247, "isConstant": false, "isLValue": false, "isPure": true, @@ -89849,11 +89739,11 @@ "value": "0" }, { - "id": 3237, + "id": 3248, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3229, + "referencedDeclaration": 3240, "src": "15474:14:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -89872,21 +89762,21 @@ "typeString": "address" } ], - "id": 3235, + "id": 3246, "name": "clone_PUSH0", "nodeType": "Identifier", "overloadedDeclarations": [ - 3242, - 3254 + 3253, + 3265 ], - "referencedDeclaration": 3254, + "referencedDeclaration": 3265, "src": "15459:11:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$returns$_t_address_$", "typeString": "function (uint256,address) returns (address)" } }, - "id": 3238, + "id": 3249, "isConstant": false, "isLValue": false, "isPure": false, @@ -89908,19 +89798,19 @@ "typeString": "address" } }, - "id": 3240, + "id": 3251, "nodeType": "ExpressionStatement", "src": "15448:41:10" } ] }, "documentation": { - "id": 3227, + "id": 3238, "nodeType": "StructuredDocumentation", "src": "15301:51:10", "text": "@dev Deploys a PUSH0 clone of `implementation`." }, - "id": 3242, + "id": 3253, "implemented": true, "kind": "function", "modifiers": [], @@ -89928,17 +89818,17 @@ "nameLocation": "15366:11:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3230, + "id": 3241, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3229, + "id": 3240, "mutability": "mutable", "name": "implementation", "nameLocation": "15386:14:10", "nodeType": "VariableDeclaration", - "scope": 3242, + "scope": 3253, "src": "15378:22:10", "stateVariable": false, "storageLocation": "default", @@ -89947,7 +89837,7 @@ "typeString": "address" }, "typeName": { - "id": 3228, + "id": 3239, "name": "address", "nodeType": "ElementaryTypeName", "src": "15378:7:10", @@ -89963,17 +89853,17 @@ "src": "15377:24:10" }, "returnParameters": { - "id": 3233, + "id": 3244, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3232, + "id": 3243, "mutability": "mutable", "name": "instance", "nameLocation": "15428:8:10", "nodeType": "VariableDeclaration", - "scope": 3242, + "scope": 3253, "src": "15420:16:10", "stateVariable": false, "storageLocation": "default", @@ -89982,7 +89872,7 @@ "typeString": "address" }, "typeName": { - "id": 3231, + "id": 3242, "name": "address", "nodeType": "ElementaryTypeName", "src": "15420:7:10", @@ -89997,7 +89887,7 @@ ], "src": "15419:18:10" }, - "scope": 5093, + "scope": 5104, "src": "15357:139:10", "stateMutability": "nonpayable", "virtual": false, @@ -90005,7 +89895,7 @@ }, { "body": { - "id": 3253, + "id": 3264, "nodeType": "Block", "src": "15722:5591:10", "statements": [ @@ -90302,47 +90192,47 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3247, + "declaration": 3258, "isOffset": false, "isSlot": false, "src": "20915:14:10", "valueSize": 1 }, { - "declaration": 3250, + "declaration": 3261, "isOffset": false, "isSlot": false, "src": "21023:8:10", "valueSize": 1 }, { - "declaration": 3250, + "declaration": 3261, "isOffset": false, "isSlot": false, "src": "21083:8:10", "valueSize": 1 }, { - "declaration": 3245, + "declaration": 3256, "isOffset": false, "isSlot": false, "src": "21042:5:10", "valueSize": 1 } ], - "id": 3252, + "id": 3263, "nodeType": "InlineAssembly", "src": "15775:5532:10" } ] }, "documentation": { - "id": 3243, + "id": 3254, "nodeType": "StructuredDocumentation", "src": "15502:99:10", "text": "@dev Deploys a PUSH0 clone of `implementation`.\n Deposits `value` ETH during deployment." }, - "id": 3254, + "id": 3265, "implemented": true, "kind": "function", "modifiers": [], @@ -90350,17 +90240,17 @@ "nameLocation": "15615:11:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3248, + "id": 3259, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3245, + "id": 3256, "mutability": "mutable", "name": "value", "nameLocation": "15635:5:10", "nodeType": "VariableDeclaration", - "scope": 3254, + "scope": 3265, "src": "15627:13:10", "stateVariable": false, "storageLocation": "default", @@ -90369,7 +90259,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3244, + "id": 3255, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "15627:7:10", @@ -90382,12 +90272,12 @@ }, { "constant": false, - "id": 3247, + "id": 3258, "mutability": "mutable", "name": "implementation", "nameLocation": "15650:14:10", "nodeType": "VariableDeclaration", - "scope": 3254, + "scope": 3265, "src": "15642:22:10", "stateVariable": false, "storageLocation": "default", @@ -90396,7 +90286,7 @@ "typeString": "address" }, "typeName": { - "id": 3246, + "id": 3257, "name": "address", "nodeType": "ElementaryTypeName", "src": "15642:7:10", @@ -90412,17 +90302,17 @@ "src": "15626:39:10" }, "returnParameters": { - "id": 3251, + "id": 3262, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3250, + "id": 3261, "mutability": "mutable", "name": "instance", "nameLocation": "15708:8:10", "nodeType": "VariableDeclaration", - "scope": 3254, + "scope": 3265, "src": "15700:16:10", "stateVariable": false, "storageLocation": "default", @@ -90431,7 +90321,7 @@ "typeString": "address" }, "typeName": { - "id": 3249, + "id": 3260, "name": "address", "nodeType": "ElementaryTypeName", "src": "15700:7:10", @@ -90446,7 +90336,7 @@ ], "src": "15699:18:10" }, - "scope": 5093, + "scope": 5104, "src": "15606:5707:10", "stateMutability": "nonpayable", "virtual": false, @@ -90454,23 +90344,23 @@ }, { "body": { - "id": 3272, + "id": 3283, "nodeType": "Block", "src": "21529:77:10", "statements": [ { "expression": { - "id": 3270, + "id": 3281, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 3264, + "id": 3275, "name": "instance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3262, + "referencedDeclaration": 3273, "src": "21539:8:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -90483,7 +90373,7 @@ "arguments": [ { "hexValue": "30", - "id": 3266, + "id": 3277, "isConstant": false, "isLValue": false, "isPure": true, @@ -90498,11 +90388,11 @@ "value": "0" }, { - "id": 3267, + "id": 3278, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3257, + "referencedDeclaration": 3268, "src": "21578:14:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -90510,11 +90400,11 @@ } }, { - "id": 3268, + "id": 3279, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3259, + "referencedDeclaration": 3270, "src": "21594:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -90537,21 +90427,21 @@ "typeString": "bytes32" } ], - "id": 3265, + "id": 3276, "name": "cloneDeterministic_PUSH0", "nodeType": "Identifier", "overloadedDeclarations": [ - 3273, - 3287 + 3284, + 3298 ], - "referencedDeclaration": 3287, + "referencedDeclaration": 3298, "src": "21550:24:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes32_$returns$_t_address_$", "typeString": "function (uint256,address,bytes32) returns (address)" } }, - "id": 3269, + "id": 3280, "isConstant": false, "isLValue": false, "isPure": false, @@ -90573,19 +90463,19 @@ "typeString": "address" } }, - "id": 3271, + "id": 3282, "nodeType": "ExpressionStatement", "src": "21539:60:10" } ] }, "documentation": { - "id": 3255, + "id": 3266, "nodeType": "StructuredDocumentation", "src": "21319:77:10", "text": "@dev Deploys a deterministic PUSH0 clone of `implementation` with `salt`." }, - "id": 3273, + "id": 3284, "implemented": true, "kind": "function", "modifiers": [], @@ -90593,17 +90483,17 @@ "nameLocation": "21410:24:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3260, + "id": 3271, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3257, + "id": 3268, "mutability": "mutable", "name": "implementation", "nameLocation": "21443:14:10", "nodeType": "VariableDeclaration", - "scope": 3273, + "scope": 3284, "src": "21435:22:10", "stateVariable": false, "storageLocation": "default", @@ -90612,7 +90502,7 @@ "typeString": "address" }, "typeName": { - "id": 3256, + "id": 3267, "name": "address", "nodeType": "ElementaryTypeName", "src": "21435:7:10", @@ -90626,12 +90516,12 @@ }, { "constant": false, - "id": 3259, + "id": 3270, "mutability": "mutable", "name": "salt", "nameLocation": "21467:4:10", "nodeType": "VariableDeclaration", - "scope": 3273, + "scope": 3284, "src": "21459:12:10", "stateVariable": false, "storageLocation": "default", @@ -90640,7 +90530,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3258, + "id": 3269, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "21459:7:10", @@ -90655,17 +90545,17 @@ "src": "21434:38:10" }, "returnParameters": { - "id": 3263, + "id": 3274, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3262, + "id": 3273, "mutability": "mutable", "name": "instance", "nameLocation": "21515:8:10", "nodeType": "VariableDeclaration", - "scope": 3273, + "scope": 3284, "src": "21507:16:10", "stateVariable": false, "storageLocation": "default", @@ -90674,7 +90564,7 @@ "typeString": "address" }, "typeName": { - "id": 3261, + "id": 3272, "name": "address", "nodeType": "ElementaryTypeName", "src": "21507:7:10", @@ -90689,7 +90579,7 @@ ], "src": "21506:18:10" }, - "scope": 5093, + "scope": 5104, "src": "21401:205:10", "stateMutability": "nonpayable", "virtual": false, @@ -90697,7 +90587,7 @@ }, { "body": { - "id": 3286, + "id": 3297, "nodeType": "Block", "src": "21885:561:10", "statements": [ @@ -91000,54 +90890,54 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3278, + "declaration": 3289, "isOffset": false, "isSlot": false, "src": "22041:14:10", "valueSize": 1 }, { - "declaration": 3283, + "declaration": 3294, "isOffset": false, "isSlot": false, "src": "22149:8:10", "valueSize": 1 }, { - "declaration": 3283, + "declaration": 3294, "isOffset": false, "isSlot": false, "src": "22216:8:10", "valueSize": 1 }, { - "declaration": 3280, + "declaration": 3291, "isOffset": false, "isSlot": false, "src": "22188:4:10", "valueSize": 1 }, { - "declaration": 3276, + "declaration": 3287, "isOffset": false, "isSlot": false, "src": "22169:5:10", "valueSize": 1 } ], - "id": 3285, + "id": 3296, "nodeType": "InlineAssembly", "src": "21938:502:10" } ] }, "documentation": { - "id": 3274, + "id": 3285, "nodeType": "StructuredDocumentation", "src": "21612:125:10", "text": "@dev Deploys a deterministic PUSH0 clone of `implementation` with `salt`.\n Deposits `value` ETH during deployment." }, - "id": 3287, + "id": 3298, "implemented": true, "kind": "function", "modifiers": [], @@ -91055,17 +90945,17 @@ "nameLocation": "21751:24:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3281, + "id": 3292, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3276, + "id": 3287, "mutability": "mutable", "name": "value", "nameLocation": "21784:5:10", "nodeType": "VariableDeclaration", - "scope": 3287, + "scope": 3298, "src": "21776:13:10", "stateVariable": false, "storageLocation": "default", @@ -91074,7 +90964,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3275, + "id": 3286, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "21776:7:10", @@ -91087,12 +90977,12 @@ }, { "constant": false, - "id": 3278, + "id": 3289, "mutability": "mutable", "name": "implementation", "nameLocation": "21799:14:10", "nodeType": "VariableDeclaration", - "scope": 3287, + "scope": 3298, "src": "21791:22:10", "stateVariable": false, "storageLocation": "default", @@ -91101,7 +90991,7 @@ "typeString": "address" }, "typeName": { - "id": 3277, + "id": 3288, "name": "address", "nodeType": "ElementaryTypeName", "src": "21791:7:10", @@ -91115,12 +91005,12 @@ }, { "constant": false, - "id": 3280, + "id": 3291, "mutability": "mutable", "name": "salt", "nameLocation": "21823:4:10", "nodeType": "VariableDeclaration", - "scope": 3287, + "scope": 3298, "src": "21815:12:10", "stateVariable": false, "storageLocation": "default", @@ -91129,7 +91019,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3279, + "id": 3290, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "21815:7:10", @@ -91144,17 +91034,17 @@ "src": "21775:53:10" }, "returnParameters": { - "id": 3284, + "id": 3295, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3283, + "id": 3294, "mutability": "mutable", "name": "instance", "nameLocation": "21871:8:10", "nodeType": "VariableDeclaration", - "scope": 3287, + "scope": 3298, "src": "21863:16:10", "stateVariable": false, "storageLocation": "default", @@ -91163,7 +91053,7 @@ "typeString": "address" }, "typeName": { - "id": 3282, + "id": 3293, "name": "address", "nodeType": "ElementaryTypeName", "src": "21863:7:10", @@ -91178,7 +91068,7 @@ ], "src": "21862:18:10" }, - "scope": 5093, + "scope": 5104, "src": "21742:704:10", "stateMutability": "nonpayable", "virtual": false, @@ -91186,7 +91076,7 @@ }, { "body": { - "id": 3296, + "id": 3307, "nodeType": "Block", "src": "22624:448:10", "statements": [ @@ -91478,68 +91368,68 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3293, + "declaration": 3304, "isOffset": false, "isSlot": false, "src": "22700:1:10", "valueSize": 1 }, { - "declaration": 3293, + "declaration": 3304, "isOffset": false, "isSlot": false, "src": "22740:1:10", "valueSize": 1 }, { - "declaration": 3293, + "declaration": 3304, "isOffset": false, "isSlot": false, "src": "22835:1:10", "valueSize": 1 }, { - "declaration": 3293, + "declaration": 3304, "isOffset": false, "isSlot": false, "src": "22890:1:10", "valueSize": 1 }, { - "declaration": 3293, + "declaration": 3304, "isOffset": false, "isSlot": false, "src": "22968:1:10", "valueSize": 1 }, { - "declaration": 3293, + "declaration": 3304, "isOffset": false, "isSlot": false, "src": "23027:1:10", "valueSize": 1 }, { - "declaration": 3290, + "declaration": 3301, "isOffset": false, "isSlot": false, "src": "22845:14:10", "valueSize": 1 } ], - "id": 3295, + "id": 3306, "nodeType": "InlineAssembly", "src": "22677:389:10" } ] }, "documentation": { - "id": 3288, + "id": 3299, "nodeType": "StructuredDocumentation", "src": "22452:80:10", "text": "@dev Returns the initialization code of the PUSH0 clone of `implementation`." }, - "id": 3297, + "id": 3308, "implemented": true, "kind": "function", "modifiers": [], @@ -91547,17 +91437,17 @@ "nameLocation": "22546:14:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3291, + "id": 3302, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3290, + "id": 3301, "mutability": "mutable", "name": "implementation", "nameLocation": "22569:14:10", "nodeType": "VariableDeclaration", - "scope": 3297, + "scope": 3308, "src": "22561:22:10", "stateVariable": false, "storageLocation": "default", @@ -91566,7 +91456,7 @@ "typeString": "address" }, "typeName": { - "id": 3289, + "id": 3300, "name": "address", "nodeType": "ElementaryTypeName", "src": "22561:7:10", @@ -91582,17 +91472,17 @@ "src": "22560:24:10" }, "returnParameters": { - "id": 3294, + "id": 3305, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3293, + "id": 3304, "mutability": "mutable", "name": "c", "nameLocation": "22621:1:10", "nodeType": "VariableDeclaration", - "scope": 3297, + "scope": 3308, "src": "22608:14:10", "stateVariable": false, "storageLocation": "memory", @@ -91601,7 +91491,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3292, + "id": 3303, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "22608:5:10", @@ -91615,7 +91505,7 @@ ], "src": "22607:16:10" }, - "scope": 5093, + "scope": 5104, "src": "22537:535:10", "stateMutability": "pure", "virtual": false, @@ -91623,7 +91513,7 @@ }, { "body": { - "id": 3306, + "id": 3317, "nodeType": "Block", "src": "23257:397:10", "statements": [ @@ -91815,33 +91705,33 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3303, + "declaration": 3314, "isOffset": false, "isSlot": false, "src": "23521:4:10", "valueSize": 1 }, { - "declaration": 3300, + "declaration": 3311, "isOffset": false, "isSlot": false, "src": "23413:14:10", "valueSize": 1 } ], - "id": 3305, + "id": 3316, "nodeType": "InlineAssembly", "src": "23310:338:10" } ] }, "documentation": { - "id": 3298, + "id": 3309, "nodeType": "StructuredDocumentation", "src": "23078:85:10", "text": "@dev Returns the initialization code hash of the PUSH0 clone of `implementation`." }, - "id": 3307, + "id": 3318, "implemented": true, "kind": "function", "modifiers": [], @@ -91849,17 +91739,17 @@ "nameLocation": "23177:18:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3301, + "id": 3312, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3300, + "id": 3311, "mutability": "mutable", "name": "implementation", "nameLocation": "23204:14:10", "nodeType": "VariableDeclaration", - "scope": 3307, + "scope": 3318, "src": "23196:22:10", "stateVariable": false, "storageLocation": "default", @@ -91868,7 +91758,7 @@ "typeString": "address" }, "typeName": { - "id": 3299, + "id": 3310, "name": "address", "nodeType": "ElementaryTypeName", "src": "23196:7:10", @@ -91884,17 +91774,17 @@ "src": "23195:24:10" }, "returnParameters": { - "id": 3304, + "id": 3315, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3303, + "id": 3314, "mutability": "mutable", "name": "hash", "nameLocation": "23251:4:10", "nodeType": "VariableDeclaration", - "scope": 3307, + "scope": 3318, "src": "23243:12:10", "stateVariable": false, "storageLocation": "default", @@ -91903,7 +91793,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3302, + "id": 3313, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "23243:7:10", @@ -91917,7 +91807,7 @@ ], "src": "23242:14:10" }, - "scope": 5093, + "scope": 5104, "src": "23168:486:10", "stateMutability": "pure", "virtual": false, @@ -91925,23 +91815,23 @@ }, { "body": { - "id": 3333, + "id": 3344, "nodeType": "Block", "src": "24024:137:10", "statements": [ { "assignments": [ - 3320 + 3331 ], "declarations": [ { "constant": false, - "id": 3320, + "id": 3331, "mutability": "mutable", "name": "hash", "nameLocation": "24042:4:10", "nodeType": "VariableDeclaration", - "scope": 3333, + "scope": 3344, "src": "24034:12:10", "stateVariable": false, "storageLocation": "default", @@ -91950,7 +91840,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3319, + "id": 3330, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "24034:7:10", @@ -91962,15 +91852,15 @@ "visibility": "internal" } ], - "id": 3324, + "id": 3335, "initialValue": { "arguments": [ { - "id": 3322, + "id": 3333, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3310, + "referencedDeclaration": 3321, "src": "24068:14:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -91985,18 +91875,18 @@ "typeString": "address" } ], - "id": 3321, + "id": 3332, "name": "initCodeHash_PUSH0", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3307, + "referencedDeclaration": 3318, "src": "24049:18:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_bytes32_$", "typeString": "function (address) pure returns (bytes32)" } }, - "id": 3323, + "id": 3334, "isConstant": false, "isLValue": false, "isPure": false, @@ -92017,17 +91907,17 @@ }, { "expression": { - "id": 3331, + "id": 3342, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 3325, + "id": 3336, "name": "predicted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3317, + "referencedDeclaration": 3328, "src": "24093:9:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -92039,11 +91929,11 @@ "rightHandSide": { "arguments": [ { - "id": 3327, + "id": 3338, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3320, + "referencedDeclaration": 3331, "src": "24133:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -92051,11 +91941,11 @@ } }, { - "id": 3328, + "id": 3339, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3312, + "referencedDeclaration": 3323, "src": "24139:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -92063,11 +91953,11 @@ } }, { - "id": 3329, + "id": 3340, "name": "deployer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3314, + "referencedDeclaration": 3325, "src": "24145:8:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -92090,22 +91980,22 @@ "typeString": "address" } ], - "id": 3326, + "id": 3337, "name": "predictDeterministicAddress", "nodeType": "Identifier", "overloadedDeclarations": [ - 3226, - 3499, - 5070 + 3237, + 3510, + 5081 ], - "referencedDeclaration": 5070, + "referencedDeclaration": 5081, "src": "24105:27:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_address_$", "typeString": "function (bytes32,bytes32,address) pure returns (address)" } }, - "id": 3330, + "id": 3341, "isConstant": false, "isLValue": false, "isPure": false, @@ -92127,19 +92017,19 @@ "typeString": "address" } }, - "id": 3332, + "id": 3343, "nodeType": "ExpressionStatement", "src": "24093:61:10" } ] }, "documentation": { - "id": 3308, + "id": 3319, "nodeType": "StructuredDocumentation", "src": "23660:188:10", "text": "@dev Returns the address of the PUSH0 clone of `implementation`, with `salt` by `deployer`.\n Note: The returned result has dirty upper 96 bits. Please clean if used in assembly." }, - "id": 3334, + "id": 3345, "implemented": true, "kind": "function", "modifiers": [], @@ -92147,17 +92037,17 @@ "nameLocation": "23862:33:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3315, + "id": 3326, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3310, + "id": 3321, "mutability": "mutable", "name": "implementation", "nameLocation": "23913:14:10", "nodeType": "VariableDeclaration", - "scope": 3334, + "scope": 3345, "src": "23905:22:10", "stateVariable": false, "storageLocation": "default", @@ -92166,7 +92056,7 @@ "typeString": "address" }, "typeName": { - "id": 3309, + "id": 3320, "name": "address", "nodeType": "ElementaryTypeName", "src": "23905:7:10", @@ -92180,12 +92070,12 @@ }, { "constant": false, - "id": 3312, + "id": 3323, "mutability": "mutable", "name": "salt", "nameLocation": "23945:4:10", "nodeType": "VariableDeclaration", - "scope": 3334, + "scope": 3345, "src": "23937:12:10", "stateVariable": false, "storageLocation": "default", @@ -92194,7 +92084,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3311, + "id": 3322, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "23937:7:10", @@ -92207,12 +92097,12 @@ }, { "constant": false, - "id": 3314, + "id": 3325, "mutability": "mutable", "name": "deployer", "nameLocation": "23967:8:10", "nodeType": "VariableDeclaration", - "scope": 3334, + "scope": 3345, "src": "23959:16:10", "stateVariable": false, "storageLocation": "default", @@ -92221,7 +92111,7 @@ "typeString": "address" }, "typeName": { - "id": 3313, + "id": 3324, "name": "address", "nodeType": "ElementaryTypeName", "src": "23959:7:10", @@ -92237,17 +92127,17 @@ "src": "23895:86:10" }, "returnParameters": { - "id": 3318, + "id": 3329, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3317, + "id": 3328, "mutability": "mutable", "name": "predicted", "nameLocation": "24013:9:10", "nodeType": "VariableDeclaration", - "scope": 3334, + "scope": 3345, "src": "24005:17:10", "stateVariable": false, "storageLocation": "default", @@ -92256,7 +92146,7 @@ "typeString": "address" }, "typeName": { - "id": 3316, + "id": 3327, "name": "address", "nodeType": "ElementaryTypeName", "src": "24005:7:10", @@ -92271,7 +92161,7 @@ ], "src": "24004:19:10" }, - "scope": 5093, + "scope": 5104, "src": "23853:308:10", "stateMutability": "pure", "virtual": false, @@ -92279,23 +92169,23 @@ }, { "body": { - "id": 3352, + "id": 3363, "nodeType": "Block", "src": "24637:58:10", "statements": [ { "expression": { - "id": 3350, + "id": 3361, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 3344, + "id": 3355, "name": "instance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3342, + "referencedDeclaration": 3353, "src": "24647:8:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -92308,7 +92198,7 @@ "arguments": [ { "hexValue": "30", - "id": 3346, + "id": 3357, "isConstant": false, "isLValue": false, "isPure": true, @@ -92323,11 +92213,11 @@ "value": "0" }, { - "id": 3347, + "id": 3358, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3337, + "referencedDeclaration": 3348, "src": "24667:14:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -92335,11 +92225,11 @@ } }, { - "id": 3348, + "id": 3359, "name": "args", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3339, + "referencedDeclaration": 3350, "src": "24683:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -92362,23 +92252,23 @@ "typeString": "bytes memory" } ], - "id": 3345, + "id": 3356, "name": "clone", "nodeType": "Identifier", "overloadedDeclarations": [ - 3134, - 3146, - 3353, - 3367 + 3145, + 3157, + 3364, + 3378 ], - "referencedDeclaration": 3367, + "referencedDeclaration": 3378, "src": "24658:5:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$_t_address_$", "typeString": "function (uint256,address,bytes memory) returns (address)" } }, - "id": 3349, + "id": 3360, "isConstant": false, "isLValue": false, "isPure": false, @@ -92400,19 +92290,19 @@ "typeString": "address" } }, - "id": 3351, + "id": 3362, "nodeType": "ExpressionStatement", "src": "24647:41:10" } ] }, "documentation": { - "id": 3335, + "id": 3346, "nodeType": "StructuredDocumentation", "src": "24450:88:10", "text": "@dev Deploys a clone of `implementation` with immutable arguments encoded in `args`." }, - "id": 3353, + "id": 3364, "implemented": true, "kind": "function", "modifiers": [], @@ -92420,17 +92310,17 @@ "nameLocation": "24552:5:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3340, + "id": 3351, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3337, + "id": 3348, "mutability": "mutable", "name": "implementation", "nameLocation": "24566:14:10", "nodeType": "VariableDeclaration", - "scope": 3353, + "scope": 3364, "src": "24558:22:10", "stateVariable": false, "storageLocation": "default", @@ -92439,7 +92329,7 @@ "typeString": "address" }, "typeName": { - "id": 3336, + "id": 3347, "name": "address", "nodeType": "ElementaryTypeName", "src": "24558:7:10", @@ -92453,12 +92343,12 @@ }, { "constant": false, - "id": 3339, + "id": 3350, "mutability": "mutable", "name": "args", "nameLocation": "24595:4:10", "nodeType": "VariableDeclaration", - "scope": 3353, + "scope": 3364, "src": "24582:17:10", "stateVariable": false, "storageLocation": "memory", @@ -92467,7 +92357,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3338, + "id": 3349, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "24582:5:10", @@ -92482,17 +92372,17 @@ "src": "24557:43:10" }, "returnParameters": { - "id": 3343, + "id": 3354, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3342, + "id": 3353, "mutability": "mutable", "name": "instance", "nameLocation": "24627:8:10", "nodeType": "VariableDeclaration", - "scope": 3353, + "scope": 3364, "src": "24619:16:10", "stateVariable": false, "storageLocation": "default", @@ -92501,7 +92391,7 @@ "typeString": "address" }, "typeName": { - "id": 3341, + "id": 3352, "name": "address", "nodeType": "ElementaryTypeName", "src": "24619:7:10", @@ -92516,7 +92406,7 @@ ], "src": "24618:18:10" }, - "scope": 5093, + "scope": 5104, "src": "24543:152:10", "stateMutability": "nonpayable", "virtual": false, @@ -92524,7 +92414,7 @@ }, { "body": { - "id": 3366, + "id": 3377, "nodeType": "Block", "src": "24971:5652:10", "statements": [ @@ -93126,61 +93016,61 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3360, + "declaration": 3371, "isOffset": false, "isSlot": false, "src": "30003:4:10", "valueSize": 1 }, { - "declaration": 3360, + "declaration": 3371, "isOffset": false, "isSlot": false, "src": "30050:4:10", "valueSize": 1 }, { - "declaration": 3358, + "declaration": 3369, "isOffset": false, "isSlot": false, "src": "30184:14:10", "valueSize": 1 }, { - "declaration": 3363, + "declaration": 3374, "isOffset": false, "isSlot": false, "src": "30385:8:10", "valueSize": 1 }, { - "declaration": 3363, + "declaration": 3374, "isOffset": false, "isSlot": false, "src": "30481:8:10", "valueSize": 1 }, { - "declaration": 3356, + "declaration": 3367, "isOffset": false, "isSlot": false, "src": "30404:5:10", "valueSize": 1 } ], - "id": 3365, + "id": 3376, "nodeType": "InlineAssembly", "src": "25024:5593:10" } ] }, "documentation": { - "id": 3354, + "id": 3365, "nodeType": "StructuredDocumentation", "src": "24701:136:10", "text": "@dev Deploys a clone of `implementation` with immutable arguments encoded in `args`.\n Deposits `value` ETH during deployment." }, - "id": 3367, + "id": 3378, "implemented": true, "kind": "function", "modifiers": [], @@ -93188,17 +93078,17 @@ "nameLocation": "24851:5:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3361, + "id": 3372, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3356, + "id": 3367, "mutability": "mutable", "name": "value", "nameLocation": "24865:5:10", "nodeType": "VariableDeclaration", - "scope": 3367, + "scope": 3378, "src": "24857:13:10", "stateVariable": false, "storageLocation": "default", @@ -93207,7 +93097,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3355, + "id": 3366, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "24857:7:10", @@ -93220,12 +93110,12 @@ }, { "constant": false, - "id": 3358, + "id": 3369, "mutability": "mutable", "name": "implementation", "nameLocation": "24880:14:10", "nodeType": "VariableDeclaration", - "scope": 3367, + "scope": 3378, "src": "24872:22:10", "stateVariable": false, "storageLocation": "default", @@ -93234,7 +93124,7 @@ "typeString": "address" }, "typeName": { - "id": 3357, + "id": 3368, "name": "address", "nodeType": "ElementaryTypeName", "src": "24872:7:10", @@ -93248,12 +93138,12 @@ }, { "constant": false, - "id": 3360, + "id": 3371, "mutability": "mutable", "name": "args", "nameLocation": "24909:4:10", "nodeType": "VariableDeclaration", - "scope": 3367, + "scope": 3378, "src": "24896:17:10", "stateVariable": false, "storageLocation": "memory", @@ -93262,7 +93152,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3359, + "id": 3370, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "24896:5:10", @@ -93277,17 +93167,17 @@ "src": "24856:58:10" }, "returnParameters": { - "id": 3364, + "id": 3375, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3363, + "id": 3374, "mutability": "mutable", "name": "instance", "nameLocation": "24957:8:10", "nodeType": "VariableDeclaration", - "scope": 3367, + "scope": 3378, "src": "24949:16:10", "stateVariable": false, "storageLocation": "default", @@ -93296,7 +93186,7 @@ "typeString": "address" }, "typeName": { - "id": 3362, + "id": 3373, "name": "address", "nodeType": "ElementaryTypeName", "src": "24949:7:10", @@ -93311,7 +93201,7 @@ ], "src": "24948:18:10" }, - "scope": 5093, + "scope": 5104, "src": "24842:5781:10", "stateMutability": "nonpayable", "virtual": false, @@ -93319,23 +93209,23 @@ }, { "body": { - "id": 3388, + "id": 3399, "nodeType": "Block", "src": "30896:77:10", "statements": [ { "expression": { - "id": 3386, + "id": 3397, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 3379, + "id": 3390, "name": "instance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3377, + "referencedDeclaration": 3388, "src": "30906:8:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -93348,7 +93238,7 @@ "arguments": [ { "hexValue": "30", - "id": 3381, + "id": 3392, "isConstant": false, "isLValue": false, "isPure": true, @@ -93363,11 +93253,11 @@ "value": "0" }, { - "id": 3382, + "id": 3393, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3370, + "referencedDeclaration": 3381, "src": "30939:14:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -93375,11 +93265,11 @@ } }, { - "id": 3383, + "id": 3394, "name": "args", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3372, + "referencedDeclaration": 3383, "src": "30955:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -93387,11 +93277,11 @@ } }, { - "id": 3384, + "id": 3395, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3374, + "referencedDeclaration": 3385, "src": "30961:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -93418,23 +93308,23 @@ "typeString": "bytes32" } ], - "id": 3380, + "id": 3391, "name": "cloneDeterministic", "nodeType": "Identifier", "overloadedDeclarations": [ - 3165, - 3179, - 3389, - 3405 + 3176, + 3190, + 3400, + 3416 ], - "referencedDeclaration": 3405, + "referencedDeclaration": 3416, "src": "30917:18:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$_t_bytes32_$returns$_t_address_$", "typeString": "function (uint256,address,bytes memory,bytes32) returns (address)" } }, - "id": 3385, + "id": 3396, "isConstant": false, "isLValue": false, "isPure": false, @@ -93456,19 +93346,19 @@ "typeString": "address" } }, - "id": 3387, + "id": 3398, "nodeType": "ExpressionStatement", "src": "30906:60:10" } ] }, "documentation": { - "id": 3368, + "id": 3379, "nodeType": "StructuredDocumentation", "src": "30629:121:10", "text": "@dev Deploys a deterministic clone of `implementation`\n with immutable arguments encoded in `args` and `salt`." }, - "id": 3389, + "id": 3400, "implemented": true, "kind": "function", "modifiers": [], @@ -93476,17 +93366,17 @@ "nameLocation": "30764:18:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3375, + "id": 3386, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3370, + "id": 3381, "mutability": "mutable", "name": "implementation", "nameLocation": "30791:14:10", "nodeType": "VariableDeclaration", - "scope": 3389, + "scope": 3400, "src": "30783:22:10", "stateVariable": false, "storageLocation": "default", @@ -93495,7 +93385,7 @@ "typeString": "address" }, "typeName": { - "id": 3369, + "id": 3380, "name": "address", "nodeType": "ElementaryTypeName", "src": "30783:7:10", @@ -93509,12 +93399,12 @@ }, { "constant": false, - "id": 3372, + "id": 3383, "mutability": "mutable", "name": "args", "nameLocation": "30820:4:10", "nodeType": "VariableDeclaration", - "scope": 3389, + "scope": 3400, "src": "30807:17:10", "stateVariable": false, "storageLocation": "memory", @@ -93523,7 +93413,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3371, + "id": 3382, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "30807:5:10", @@ -93536,12 +93426,12 @@ }, { "constant": false, - "id": 3374, + "id": 3385, "mutability": "mutable", "name": "salt", "nameLocation": "30834:4:10", "nodeType": "VariableDeclaration", - "scope": 3389, + "scope": 3400, "src": "30826:12:10", "stateVariable": false, "storageLocation": "default", @@ -93550,7 +93440,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3373, + "id": 3384, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "30826:7:10", @@ -93565,17 +93455,17 @@ "src": "30782:57:10" }, "returnParameters": { - "id": 3378, + "id": 3389, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3377, + "id": 3388, "mutability": "mutable", "name": "instance", "nameLocation": "30882:8:10", "nodeType": "VariableDeclaration", - "scope": 3389, + "scope": 3400, "src": "30874:16:10", "stateVariable": false, "storageLocation": "default", @@ -93584,7 +93474,7 @@ "typeString": "address" }, "typeName": { - "id": 3376, + "id": 3387, "name": "address", "nodeType": "ElementaryTypeName", "src": "30874:7:10", @@ -93599,7 +93489,7 @@ ], "src": "30873:18:10" }, - "scope": 5093, + "scope": 5104, "src": "30755:218:10", "stateMutability": "nonpayable", "virtual": false, @@ -93607,7 +93497,7 @@ }, { "body": { - "id": 3404, + "id": 3415, "nodeType": "Block", "src": "31279:751:10", "statements": [ @@ -94215,68 +94105,68 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3396, + "declaration": 3407, "isOffset": false, "isSlot": false, "src": "31403:4:10", "valueSize": 1 }, { - "declaration": 3396, + "declaration": 3407, "isOffset": false, "isSlot": false, "src": "31450:4:10", "valueSize": 1 }, { - "declaration": 3394, + "declaration": 3405, "isOffset": false, "isSlot": false, "src": "31584:14:10", "valueSize": 1 }, { - "declaration": 3401, + "declaration": 3412, "isOffset": false, "isSlot": false, "src": "31785:8:10", "valueSize": 1 }, { - "declaration": 3401, + "declaration": 3412, "isOffset": false, "isSlot": false, "src": "31888:8:10", "valueSize": 1 }, { - "declaration": 3398, + "declaration": 3409, "isOffset": false, "isSlot": false, "src": "31860:4:10", "valueSize": 1 }, { - "declaration": 3392, + "declaration": 3403, "isOffset": false, "isSlot": false, "src": "31805:5:10", "valueSize": 1 } ], - "id": 3403, + "id": 3414, "nodeType": "InlineAssembly", "src": "31332:692:10" } ] }, "documentation": { - "id": 3390, + "id": 3401, "nodeType": "StructuredDocumentation", "src": "30979:121:10", "text": "@dev Deploys a deterministic clone of `implementation`\n with immutable arguments encoded in `args` and `salt`." }, - "id": 3405, + "id": 3416, "implemented": true, "kind": "function", "modifiers": [], @@ -94284,17 +94174,17 @@ "nameLocation": "31114:18:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3399, + "id": 3410, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3392, + "id": 3403, "mutability": "mutable", "name": "value", "nameLocation": "31150:5:10", "nodeType": "VariableDeclaration", - "scope": 3405, + "scope": 3416, "src": "31142:13:10", "stateVariable": false, "storageLocation": "default", @@ -94303,7 +94193,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3391, + "id": 3402, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "31142:7:10", @@ -94316,12 +94206,12 @@ }, { "constant": false, - "id": 3394, + "id": 3405, "mutability": "mutable", "name": "implementation", "nameLocation": "31173:14:10", "nodeType": "VariableDeclaration", - "scope": 3405, + "scope": 3416, "src": "31165:22:10", "stateVariable": false, "storageLocation": "default", @@ -94330,7 +94220,7 @@ "typeString": "address" }, "typeName": { - "id": 3393, + "id": 3404, "name": "address", "nodeType": "ElementaryTypeName", "src": "31165:7:10", @@ -94344,12 +94234,12 @@ }, { "constant": false, - "id": 3396, + "id": 3407, "mutability": "mutable", "name": "args", "nameLocation": "31210:4:10", "nodeType": "VariableDeclaration", - "scope": 3405, + "scope": 3416, "src": "31197:17:10", "stateVariable": false, "storageLocation": "memory", @@ -94358,7 +94248,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3395, + "id": 3406, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "31197:5:10", @@ -94371,12 +94261,12 @@ }, { "constant": false, - "id": 3398, + "id": 3409, "mutability": "mutable", "name": "salt", "nameLocation": "31232:4:10", "nodeType": "VariableDeclaration", - "scope": 3405, + "scope": 3416, "src": "31224:12:10", "stateVariable": false, "storageLocation": "default", @@ -94385,7 +94275,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3397, + "id": 3408, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "31224:7:10", @@ -94400,17 +94290,17 @@ "src": "31132:110:10" }, "returnParameters": { - "id": 3402, + "id": 3413, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3401, + "id": 3412, "mutability": "mutable", "name": "instance", "nameLocation": "31269:8:10", "nodeType": "VariableDeclaration", - "scope": 3405, + "scope": 3416, "src": "31261:16:10", "stateVariable": false, "storageLocation": "default", @@ -94419,7 +94309,7 @@ "typeString": "address" }, "typeName": { - "id": 3400, + "id": 3411, "name": "address", "nodeType": "ElementaryTypeName", "src": "31261:7:10", @@ -94434,7 +94324,7 @@ ], "src": "31260:18:10" }, - "scope": 5093, + "scope": 5104, "src": "31105:925:10", "stateMutability": "nonpayable", "virtual": false, @@ -94442,7 +94332,7 @@ }, { "body": { - "id": 3426, + "id": 3437, "nodeType": "Block", "src": "32407:79:10", "statements": [ @@ -94451,7 +94341,7 @@ "arguments": [ { "hexValue": "30", - "id": 3420, + "id": 3431, "isConstant": false, "isLValue": false, "isPure": true, @@ -94466,11 +94356,11 @@ "value": "0" }, { - "id": 3421, + "id": 3432, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3408, + "referencedDeclaration": 3419, "src": "32452:14:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -94478,11 +94368,11 @@ } }, { - "id": 3422, + "id": 3433, "name": "args", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3410, + "referencedDeclaration": 3421, "src": "32468:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -94490,11 +94380,11 @@ } }, { - "id": 3423, + "id": 3434, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3412, + "referencedDeclaration": 3423, "src": "32474:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -94521,21 +94411,21 @@ "typeString": "bytes32" } ], - "id": 3419, + "id": 3430, "name": "createDeterministicClone", "nodeType": "Identifier", "overloadedDeclarations": [ - 3427, - 3445 + 3438, + 3456 ], - "referencedDeclaration": 3445, + "referencedDeclaration": 3456, "src": "32424:24:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$_t_bytes32_$returns$_t_bool_$_t_address_$", "typeString": "function (uint256,address,bytes memory,bytes32) returns (bool,address)" } }, - "id": 3424, + "id": 3435, "isConstant": false, "isLValue": false, "isPure": false, @@ -94551,20 +94441,20 @@ "typeString": "tuple(bool,address)" } }, - "functionReturnParameters": 3418, - "id": 3425, + "functionReturnParameters": 3429, + "id": 3436, "nodeType": "Return", "src": "32417:62:10" } ] }, "documentation": { - "id": 3406, + "id": 3417, "nodeType": "StructuredDocumentation", "src": "32036:197:10", "text": "@dev Deploys a deterministic clone of `implementation`\n with immutable arguments encoded in `args` and `salt`.\n This method does not revert if the clone has already been deployed." }, - "id": 3427, + "id": 3438, "implemented": true, "kind": "function", "modifiers": [], @@ -94572,17 +94462,17 @@ "nameLocation": "32247:24:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3413, + "id": 3424, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3408, + "id": 3419, "mutability": "mutable", "name": "implementation", "nameLocation": "32280:14:10", "nodeType": "VariableDeclaration", - "scope": 3427, + "scope": 3438, "src": "32272:22:10", "stateVariable": false, "storageLocation": "default", @@ -94591,7 +94481,7 @@ "typeString": "address" }, "typeName": { - "id": 3407, + "id": 3418, "name": "address", "nodeType": "ElementaryTypeName", "src": "32272:7:10", @@ -94605,12 +94495,12 @@ }, { "constant": false, - "id": 3410, + "id": 3421, "mutability": "mutable", "name": "args", "nameLocation": "32309:4:10", "nodeType": "VariableDeclaration", - "scope": 3427, + "scope": 3438, "src": "32296:17:10", "stateVariable": false, "storageLocation": "memory", @@ -94619,7 +94509,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3409, + "id": 3420, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "32296:5:10", @@ -94632,12 +94522,12 @@ }, { "constant": false, - "id": 3412, + "id": 3423, "mutability": "mutable", "name": "salt", "nameLocation": "32323:4:10", "nodeType": "VariableDeclaration", - "scope": 3427, + "scope": 3438, "src": "32315:12:10", "stateVariable": false, "storageLocation": "default", @@ -94646,7 +94536,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3411, + "id": 3422, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "32315:7:10", @@ -94661,17 +94551,17 @@ "src": "32271:57:10" }, "returnParameters": { - "id": 3418, + "id": 3429, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3415, + "id": 3426, "mutability": "mutable", "name": "alreadyDeployed", "nameLocation": "32368:15:10", "nodeType": "VariableDeclaration", - "scope": 3427, + "scope": 3438, "src": "32363:20:10", "stateVariable": false, "storageLocation": "default", @@ -94680,7 +94570,7 @@ "typeString": "bool" }, "typeName": { - "id": 3414, + "id": 3425, "name": "bool", "nodeType": "ElementaryTypeName", "src": "32363:4:10", @@ -94693,12 +94583,12 @@ }, { "constant": false, - "id": 3417, + "id": 3428, "mutability": "mutable", "name": "instance", "nameLocation": "32393:8:10", "nodeType": "VariableDeclaration", - "scope": 3427, + "scope": 3438, "src": "32385:16:10", "stateVariable": false, "storageLocation": "default", @@ -94707,7 +94597,7 @@ "typeString": "address" }, "typeName": { - "id": 3416, + "id": 3427, "name": "address", "nodeType": "ElementaryTypeName", "src": "32385:7:10", @@ -94722,7 +94612,7 @@ ], "src": "32362:40:10" }, - "scope": 5093, + "scope": 5104, "src": "32238:248:10", "stateMutability": "nonpayable", "virtual": false, @@ -94730,7 +94620,7 @@ }, { "body": { - "id": 3444, + "id": 3455, "nodeType": "Block", "src": "32896:1672:10", "statements": [ @@ -95945,117 +95835,117 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3439, + "declaration": 3450, "isOffset": false, "isSlot": false, "src": "34143:15:10", "valueSize": 1 }, { - "declaration": 3434, + "declaration": 3445, "isOffset": false, "isSlot": false, "src": "33020:4:10", "valueSize": 1 }, { - "declaration": 3434, + "declaration": 3445, "isOffset": false, "isSlot": false, "src": "33067:4:10", "valueSize": 1 }, { - "declaration": 3432, + "declaration": 3443, "isOffset": false, "isSlot": false, "src": "33201:14:10", "valueSize": 1 }, { - "declaration": 3441, + "declaration": 3452, "isOffset": false, "isSlot": false, "src": "33710:8:10", "valueSize": 1 }, { - "declaration": 3441, + "declaration": 3452, "isOffset": false, "isSlot": false, "src": "33808:8:10", "valueSize": 1 }, { - "declaration": 3441, + "declaration": 3452, "isOffset": false, "isSlot": false, "src": "33841:8:10", "valueSize": 1 }, { - "declaration": 3441, + "declaration": 3452, "isOffset": false, "isSlot": false, "src": "33932:8:10", "valueSize": 1 }, { - "declaration": 3441, + "declaration": 3452, "isOffset": false, "isSlot": false, "src": "34245:8:10", "valueSize": 1 }, { - "declaration": 3436, + "declaration": 3447, "isOffset": false, "isSlot": false, "src": "33692:4:10", "valueSize": 1 }, { - "declaration": 3436, + "declaration": 3447, "isOffset": false, "isSlot": false, "src": "33896:4:10", "valueSize": 1 }, { - "declaration": 3430, + "declaration": 3441, "isOffset": false, "isSlot": false, "src": "33861:5:10", "valueSize": 1 }, { - "declaration": 3430, + "declaration": 3441, "isOffset": false, "isSlot": false, "src": "34190:5:10", "valueSize": 1 }, { - "declaration": 3430, + "declaration": 3441, "isOffset": false, "isSlot": false, "src": "34255:5:10", "valueSize": 1 } ], - "id": 3443, + "id": 3454, "nodeType": "InlineAssembly", "src": "32949:1613:10" } ] }, "documentation": { - "id": 3428, + "id": 3439, "nodeType": "StructuredDocumentation", "src": "32492:197:10", "text": "@dev Deploys a deterministic clone of `implementation`\n with immutable arguments encoded in `args` and `salt`.\n This method does not revert if the clone has already been deployed." }, - "id": 3445, + "id": 3456, "implemented": true, "kind": "function", "modifiers": [], @@ -96063,17 +95953,17 @@ "nameLocation": "32703:24:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3437, + "id": 3448, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3430, + "id": 3441, "mutability": "mutable", "name": "value", "nameLocation": "32745:5:10", "nodeType": "VariableDeclaration", - "scope": 3445, + "scope": 3456, "src": "32737:13:10", "stateVariable": false, "storageLocation": "default", @@ -96082,7 +95972,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3429, + "id": 3440, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "32737:7:10", @@ -96095,12 +95985,12 @@ }, { "constant": false, - "id": 3432, + "id": 3443, "mutability": "mutable", "name": "implementation", "nameLocation": "32768:14:10", "nodeType": "VariableDeclaration", - "scope": 3445, + "scope": 3456, "src": "32760:22:10", "stateVariable": false, "storageLocation": "default", @@ -96109,7 +95999,7 @@ "typeString": "address" }, "typeName": { - "id": 3431, + "id": 3442, "name": "address", "nodeType": "ElementaryTypeName", "src": "32760:7:10", @@ -96123,12 +96013,12 @@ }, { "constant": false, - "id": 3434, + "id": 3445, "mutability": "mutable", "name": "args", "nameLocation": "32805:4:10", "nodeType": "VariableDeclaration", - "scope": 3445, + "scope": 3456, "src": "32792:17:10", "stateVariable": false, "storageLocation": "memory", @@ -96137,7 +96027,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3433, + "id": 3444, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "32792:5:10", @@ -96150,12 +96040,12 @@ }, { "constant": false, - "id": 3436, + "id": 3447, "mutability": "mutable", "name": "salt", "nameLocation": "32827:4:10", "nodeType": "VariableDeclaration", - "scope": 3445, + "scope": 3456, "src": "32819:12:10", "stateVariable": false, "storageLocation": "default", @@ -96164,7 +96054,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3435, + "id": 3446, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "32819:7:10", @@ -96179,17 +96069,17 @@ "src": "32727:110:10" }, "returnParameters": { - "id": 3442, + "id": 3453, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3439, + "id": 3450, "mutability": "mutable", "name": "alreadyDeployed", "nameLocation": "32861:15:10", "nodeType": "VariableDeclaration", - "scope": 3445, + "scope": 3456, "src": "32856:20:10", "stateVariable": false, "storageLocation": "default", @@ -96198,7 +96088,7 @@ "typeString": "bool" }, "typeName": { - "id": 3438, + "id": 3449, "name": "bool", "nodeType": "ElementaryTypeName", "src": "32856:4:10", @@ -96211,12 +96101,12 @@ }, { "constant": false, - "id": 3441, + "id": 3452, "mutability": "mutable", "name": "instance", "nameLocation": "32886:8:10", "nodeType": "VariableDeclaration", - "scope": 3445, + "scope": 3456, "src": "32878:16:10", "stateVariable": false, "storageLocation": "default", @@ -96225,7 +96115,7 @@ "typeString": "address" }, "typeName": { - "id": 3440, + "id": 3451, "name": "address", "nodeType": "ElementaryTypeName", "src": "32878:7:10", @@ -96240,7 +96130,7 @@ ], "src": "32855:40:10" }, - "scope": 5093, + "scope": 5104, "src": "32694:1874:10", "stateMutability": "nonpayable", "virtual": false, @@ -96248,7 +96138,7 @@ }, { "body": { - "id": 3456, + "id": 3467, "nodeType": "Block", "src": "34833:877:10", "statements": [ @@ -97028,96 +96918,96 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3450, + "declaration": 3461, "isOffset": false, "isSlot": false, "src": "34953:4:10", "valueSize": 1 }, { - "declaration": 3450, + "declaration": 3461, "isOffset": false, "isSlot": false, "src": "35247:4:10", "valueSize": 1 }, { - "declaration": 3453, + "declaration": 3464, "isOffset": false, "isSlot": false, "src": "34909:1:10", "valueSize": 1 }, { - "declaration": 3453, + "declaration": 3464, "isOffset": false, "isSlot": false, "src": "35219:1:10", "valueSize": 1 }, { - "declaration": 3453, + "declaration": 3464, "isOffset": false, "isSlot": false, "src": "35302:1:10", "valueSize": 1 }, { - "declaration": 3453, + "declaration": 3464, "isOffset": false, "isSlot": false, "src": "35369:1:10", "valueSize": 1 }, { - "declaration": 3453, + "declaration": 3464, "isOffset": false, "isSlot": false, "src": "35418:1:10", "valueSize": 1 }, { - "declaration": 3453, + "declaration": 3464, "isOffset": false, "isSlot": false, "src": "35509:1:10", "valueSize": 1 }, { - "declaration": 3453, + "declaration": 3464, "isOffset": false, "isSlot": false, "src": "35570:1:10", "valueSize": 1 }, { - "declaration": 3453, + "declaration": 3464, "isOffset": false, "isSlot": false, "src": "35657:1:10", "valueSize": 1 }, { - "declaration": 3448, + "declaration": 3459, "isOffset": false, "isSlot": false, "src": "35379:14:10", "valueSize": 1 } ], - "id": 3455, + "id": 3466, "nodeType": "InlineAssembly", "src": "34886:818:10" } ] }, "documentation": { - "id": 3446, + "id": 3457, "nodeType": "StructuredDocumentation", "src": "34574:126:10", "text": "@dev Returns the initialization code of the clone of `implementation`\n using immutable arguments encoded in `args`." }, - "id": 3457, + "id": 3468, "implemented": true, "kind": "function", "modifiers": [], @@ -97125,17 +97015,17 @@ "nameLocation": "34714:8:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3451, + "id": 3462, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3448, + "id": 3459, "mutability": "mutable", "name": "implementation", "nameLocation": "34731:14:10", "nodeType": "VariableDeclaration", - "scope": 3457, + "scope": 3468, "src": "34723:22:10", "stateVariable": false, "storageLocation": "default", @@ -97144,7 +97034,7 @@ "typeString": "address" }, "typeName": { - "id": 3447, + "id": 3458, "name": "address", "nodeType": "ElementaryTypeName", "src": "34723:7:10", @@ -97158,12 +97048,12 @@ }, { "constant": false, - "id": 3450, + "id": 3461, "mutability": "mutable", "name": "args", "nameLocation": "34760:4:10", "nodeType": "VariableDeclaration", - "scope": 3457, + "scope": 3468, "src": "34747:17:10", "stateVariable": false, "storageLocation": "memory", @@ -97172,7 +97062,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3449, + "id": 3460, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "34747:5:10", @@ -97187,17 +97077,17 @@ "src": "34722:43:10" }, "returnParameters": { - "id": 3454, + "id": 3465, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3453, + "id": 3464, "mutability": "mutable", "name": "c", "nameLocation": "34826:1:10", "nodeType": "VariableDeclaration", - "scope": 3457, + "scope": 3468, "src": "34813:14:10", "stateVariable": false, "storageLocation": "memory", @@ -97206,7 +97096,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3452, + "id": 3463, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "34813:5:10", @@ -97220,7 +97110,7 @@ ], "src": "34812:16:10" }, - "scope": 5093, + "scope": 5104, "src": "34705:1005:10", "stateMutability": "pure", "virtual": false, @@ -97228,7 +97118,7 @@ }, { "body": { - "id": 3468, + "id": 3479, "nodeType": "Block", "src": "35982:723:10", "statements": [ @@ -97873,47 +97763,47 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3462, + "declaration": 3473, "isOffset": false, "isSlot": false, "src": "36106:4:10", "valueSize": 1 }, { - "declaration": 3462, + "declaration": 3473, "isOffset": false, "isSlot": false, "src": "36400:4:10", "valueSize": 1 }, { - "declaration": 3465, + "declaration": 3476, "isOffset": false, "isSlot": false, "src": "36644:4:10", "valueSize": 1 }, { - "declaration": 3460, + "declaration": 3471, "isOffset": false, "isSlot": false, "src": "36532:14:10", "valueSize": 1 } ], - "id": 3467, + "id": 3478, "nodeType": "InlineAssembly", "src": "36035:664:10" } ] }, "documentation": { - "id": 3458, + "id": 3469, "nodeType": "StructuredDocumentation", "src": "35716:131:10", "text": "@dev Returns the initialization code hash of the clone of `implementation`\n using immutable arguments encoded in `args`." }, - "id": 3469, + "id": 3480, "implemented": true, "kind": "function", "modifiers": [], @@ -97921,17 +97811,17 @@ "nameLocation": "35861:12:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3463, + "id": 3474, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3460, + "id": 3471, "mutability": "mutable", "name": "implementation", "nameLocation": "35882:14:10", "nodeType": "VariableDeclaration", - "scope": 3469, + "scope": 3480, "src": "35874:22:10", "stateVariable": false, "storageLocation": "default", @@ -97940,7 +97830,7 @@ "typeString": "address" }, "typeName": { - "id": 3459, + "id": 3470, "name": "address", "nodeType": "ElementaryTypeName", "src": "35874:7:10", @@ -97954,12 +97844,12 @@ }, { "constant": false, - "id": 3462, + "id": 3473, "mutability": "mutable", "name": "args", "nameLocation": "35911:4:10", "nodeType": "VariableDeclaration", - "scope": 3469, + "scope": 3480, "src": "35898:17:10", "stateVariable": false, "storageLocation": "memory", @@ -97968,7 +97858,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3461, + "id": 3472, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "35898:5:10", @@ -97983,17 +97873,17 @@ "src": "35873:43:10" }, "returnParameters": { - "id": 3466, + "id": 3477, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3465, + "id": 3476, "mutability": "mutable", "name": "hash", "nameLocation": "35972:4:10", "nodeType": "VariableDeclaration", - "scope": 3469, + "scope": 3480, "src": "35964:12:10", "stateVariable": false, "storageLocation": "default", @@ -98002,7 +97892,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3464, + "id": 3475, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "35964:7:10", @@ -98016,7 +97906,7 @@ ], "src": "35963:14:10" }, - "scope": 5093, + "scope": 5104, "src": "35852:853:10", "stateMutability": "pure", "virtual": false, @@ -98024,23 +97914,23 @@ }, { "body": { - "id": 3498, + "id": 3509, "nodeType": "Block", "src": "37143:137:10", "statements": [ { "assignments": [ - 3484 + 3495 ], "declarations": [ { "constant": false, - "id": 3484, + "id": 3495, "mutability": "mutable", "name": "hash", "nameLocation": "37161:4:10", "nodeType": "VariableDeclaration", - "scope": 3498, + "scope": 3509, "src": "37153:12:10", "stateVariable": false, "storageLocation": "default", @@ -98049,7 +97939,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3483, + "id": 3494, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "37153:7:10", @@ -98061,15 +97951,15 @@ "visibility": "internal" } ], - "id": 3489, + "id": 3500, "initialValue": { "arguments": [ { - "id": 3486, + "id": 3497, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3472, + "referencedDeclaration": 3483, "src": "37181:14:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -98077,11 +97967,11 @@ } }, { - "id": 3487, + "id": 3498, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3474, + "referencedDeclaration": 3485, "src": "37197:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -98100,21 +97990,21 @@ "typeString": "bytes memory" } ], - "id": 3485, + "id": 3496, "name": "initCodeHash", "nodeType": "Identifier", "overloadedDeclarations": [ - 3199, - 3469 + 3210, + 3480 ], - "referencedDeclaration": 3469, + "referencedDeclaration": 3480, "src": "37168:12:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (address,bytes memory) pure returns (bytes32)" } }, - "id": 3488, + "id": 3499, "isConstant": false, "isLValue": false, "isPure": false, @@ -98135,17 +98025,17 @@ }, { "expression": { - "id": 3496, + "id": 3507, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 3490, + "id": 3501, "name": "predicted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3481, + "referencedDeclaration": 3492, "src": "37212:9:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -98157,11 +98047,11 @@ "rightHandSide": { "arguments": [ { - "id": 3492, + "id": 3503, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3484, + "referencedDeclaration": 3495, "src": "37252:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -98169,11 +98059,11 @@ } }, { - "id": 3493, + "id": 3504, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3476, + "referencedDeclaration": 3487, "src": "37258:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -98181,11 +98071,11 @@ } }, { - "id": 3494, + "id": 3505, "name": "deployer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3478, + "referencedDeclaration": 3489, "src": "37264:8:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -98208,22 +98098,22 @@ "typeString": "address" } ], - "id": 3491, + "id": 3502, "name": "predictDeterministicAddress", "nodeType": "Identifier", "overloadedDeclarations": [ - 3226, - 3499, - 5070 + 3237, + 3510, + 5081 ], - "referencedDeclaration": 5070, + "referencedDeclaration": 5081, "src": "37224:27:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_address_$", "typeString": "function (bytes32,bytes32,address) pure returns (address)" } }, - "id": 3495, + "id": 3506, "isConstant": false, "isLValue": false, "isPure": false, @@ -98245,19 +98135,19 @@ "typeString": "address" } }, - "id": 3497, + "id": 3508, "nodeType": "ExpressionStatement", "src": "37212:61:10" } ] }, "documentation": { - "id": 3470, + "id": 3481, "nodeType": "StructuredDocumentation", "src": "36711:235:10", "text": "@dev Returns the address of the clone of\n `implementation` using immutable arguments encoded in `args`, with `salt`, by `deployer`.\n Note: The returned result has dirty upper 96 bits. Please clean if used in assembly." }, - "id": 3499, + "id": 3510, "implemented": true, "kind": "function", "modifiers": [], @@ -98265,17 +98155,17 @@ "nameLocation": "36960:27:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3479, + "id": 3490, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3472, + "id": 3483, "mutability": "mutable", "name": "implementation", "nameLocation": "37005:14:10", "nodeType": "VariableDeclaration", - "scope": 3499, + "scope": 3510, "src": "36997:22:10", "stateVariable": false, "storageLocation": "default", @@ -98284,7 +98174,7 @@ "typeString": "address" }, "typeName": { - "id": 3471, + "id": 3482, "name": "address", "nodeType": "ElementaryTypeName", "src": "36997:7:10", @@ -98298,12 +98188,12 @@ }, { "constant": false, - "id": 3474, + "id": 3485, "mutability": "mutable", "name": "data", "nameLocation": "37042:4:10", "nodeType": "VariableDeclaration", - "scope": 3499, + "scope": 3510, "src": "37029:17:10", "stateVariable": false, "storageLocation": "memory", @@ -98312,7 +98202,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3473, + "id": 3484, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "37029:5:10", @@ -98325,12 +98215,12 @@ }, { "constant": false, - "id": 3476, + "id": 3487, "mutability": "mutable", "name": "salt", "nameLocation": "37064:4:10", "nodeType": "VariableDeclaration", - "scope": 3499, + "scope": 3510, "src": "37056:12:10", "stateVariable": false, "storageLocation": "default", @@ -98339,7 +98229,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3475, + "id": 3486, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "37056:7:10", @@ -98352,12 +98242,12 @@ }, { "constant": false, - "id": 3478, + "id": 3489, "mutability": "mutable", "name": "deployer", "nameLocation": "37086:8:10", "nodeType": "VariableDeclaration", - "scope": 3499, + "scope": 3510, "src": "37078:16:10", "stateVariable": false, "storageLocation": "default", @@ -98366,7 +98256,7 @@ "typeString": "address" }, "typeName": { - "id": 3477, + "id": 3488, "name": "address", "nodeType": "ElementaryTypeName", "src": "37078:7:10", @@ -98382,17 +98272,17 @@ "src": "36987:113:10" }, "returnParameters": { - "id": 3482, + "id": 3493, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3481, + "id": 3492, "mutability": "mutable", "name": "predicted", "nameLocation": "37132:9:10", "nodeType": "VariableDeclaration", - "scope": 3499, + "scope": 3510, "src": "37124:17:10", "stateVariable": false, "storageLocation": "default", @@ -98401,7 +98291,7 @@ "typeString": "address" }, "typeName": { - "id": 3480, + "id": 3491, "name": "address", "nodeType": "ElementaryTypeName", "src": "37124:7:10", @@ -98416,7 +98306,7 @@ ], "src": "37123:19:10" }, - "scope": 5093, + "scope": 5104, "src": "36951:329:10", "stateMutability": "pure", "virtual": false, @@ -98424,7 +98314,7 @@ }, { "body": { - "id": 3508, + "id": 3519, "nodeType": "Block", "src": "37436:371:10", "statements": [ @@ -98743,75 +98633,75 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3505, + "declaration": 3516, "isOffset": false, "isSlot": false, "src": "37512:4:10", "valueSize": 1 }, { - "declaration": 3505, + "declaration": 3516, "isOffset": false, "isSlot": false, "src": "37551:4:10", "valueSize": 1 }, { - "declaration": 3505, + "declaration": 3516, "isOffset": false, "isSlot": false, "src": "37669:4:10", "valueSize": 1 }, { - "declaration": 3505, + "declaration": 3516, "isOffset": false, "isSlot": false, "src": "37698:4:10", "valueSize": 1 }, { - "declaration": 3505, + "declaration": 3516, "isOffset": false, "isSlot": false, "src": "37747:4:10", "valueSize": 1 }, { - "declaration": 3505, + "declaration": 3516, "isOffset": false, "isSlot": false, "src": "37758:4:10", "valueSize": 1 }, { - "declaration": 3502, + "declaration": 3513, "isOffset": false, "isSlot": false, "src": "37591:8:10", "valueSize": 1 }, { - "declaration": 3502, + "declaration": 3513, "isOffset": false, "isSlot": false, "src": "37655:8:10", "valueSize": 1 } ], - "id": 3507, + "id": 3518, "nodeType": "InlineAssembly", "src": "37489:312:10" } ] }, "documentation": { - "id": 3500, + "id": 3511, "nodeType": "StructuredDocumentation", "src": "37286:64:10", "text": "@dev Equivalent to `argsOnClone(instance, 0, 2 ** 256 - 1)`." }, - "id": 3509, + "id": 3520, "implemented": true, "kind": "function", "modifiers": [], @@ -98819,17 +98709,17 @@ "nameLocation": "37364:11:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3503, + "id": 3514, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3502, + "id": 3513, "mutability": "mutable", "name": "instance", "nameLocation": "37384:8:10", "nodeType": "VariableDeclaration", - "scope": 3509, + "scope": 3520, "src": "37376:16:10", "stateVariable": false, "storageLocation": "default", @@ -98838,7 +98728,7 @@ "typeString": "address" }, "typeName": { - "id": 3501, + "id": 3512, "name": "address", "nodeType": "ElementaryTypeName", "src": "37376:7:10", @@ -98854,17 +98744,17 @@ "src": "37375:18:10" }, "returnParameters": { - "id": 3506, + "id": 3517, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3505, + "id": 3516, "mutability": "mutable", "name": "args", "nameLocation": "37430:4:10", "nodeType": "VariableDeclaration", - "scope": 3509, + "scope": 3520, "src": "37417:17:10", "stateVariable": false, "storageLocation": "memory", @@ -98873,7 +98763,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3504, + "id": 3515, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "37417:5:10", @@ -98887,7 +98777,7 @@ ], "src": "37416:19:10" }, - "scope": 5093, + "scope": 5104, "src": "37355:452:10", "stateMutability": "view", "virtual": false, @@ -98895,7 +98785,7 @@ }, { "body": { - "id": 3520, + "id": 3531, "nodeType": "Block", "src": "38010:485:10", "statements": [ @@ -99374,103 +99264,103 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3517, + "declaration": 3528, "isOffset": false, "isSlot": false, "src": "38086:4:10", "valueSize": 1 }, { - "declaration": 3517, + "declaration": 3528, "isOffset": false, "isSlot": false, "src": "38282:4:10", "valueSize": 1 }, { - "declaration": 3517, + "declaration": 3528, "isOffset": false, "isSlot": false, "src": "38339:4:10", "valueSize": 1 }, { - "declaration": 3517, + "declaration": 3528, "isOffset": false, "isSlot": false, "src": "38429:4:10", "valueSize": 1 }, { - "declaration": 3517, + "declaration": 3528, "isOffset": false, "isSlot": false, "src": "38451:4:10", "valueSize": 1 }, { - "declaration": 3512, + "declaration": 3523, "isOffset": false, "isSlot": false, "src": "38161:8:10", "valueSize": 1 }, { - "declaration": 3512, + "declaration": 3523, "isOffset": false, "isSlot": false, "src": "38272:8:10", "valueSize": 1 }, { - "declaration": 3514, + "declaration": 3525, "isOffset": false, "isSlot": false, "src": "38228:5:10", "valueSize": 1 }, { - "declaration": 3514, + "declaration": 3525, "isOffset": false, "isSlot": false, "src": "38239:5:10", "valueSize": 1 }, { - "declaration": 3514, + "declaration": 3525, "isOffset": false, "isSlot": false, "src": "38292:5:10", "valueSize": 1 }, { - "declaration": 3514, + "declaration": 3525, "isOffset": false, "isSlot": false, "src": "38356:5:10", "valueSize": 1 }, { - "declaration": 3514, + "declaration": 3525, "isOffset": false, "isSlot": false, "src": "38367:5:10", "valueSize": 1 } ], - "id": 3519, + "id": 3530, "nodeType": "InlineAssembly", "src": "38063:426:10" } ] }, "documentation": { - "id": 3510, + "id": 3521, "nodeType": "StructuredDocumentation", "src": "37813:68:10", "text": "@dev Equivalent to `argsOnClone(instance, start, 2 ** 256 - 1)`." }, - "id": 3521, + "id": 3532, "implemented": true, "kind": "function", "modifiers": [], @@ -99478,17 +99368,17 @@ "nameLocation": "37895:11:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3515, + "id": 3526, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3512, + "id": 3523, "mutability": "mutable", "name": "instance", "nameLocation": "37915:8:10", "nodeType": "VariableDeclaration", - "scope": 3521, + "scope": 3532, "src": "37907:16:10", "stateVariable": false, "storageLocation": "default", @@ -99497,7 +99387,7 @@ "typeString": "address" }, "typeName": { - "id": 3511, + "id": 3522, "name": "address", "nodeType": "ElementaryTypeName", "src": "37907:7:10", @@ -99511,12 +99401,12 @@ }, { "constant": false, - "id": 3514, + "id": 3525, "mutability": "mutable", "name": "start", "nameLocation": "37933:5:10", "nodeType": "VariableDeclaration", - "scope": 3521, + "scope": 3532, "src": "37925:13:10", "stateVariable": false, "storageLocation": "default", @@ -99525,7 +99415,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3513, + "id": 3524, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "37925:7:10", @@ -99540,17 +99430,17 @@ "src": "37906:33:10" }, "returnParameters": { - "id": 3518, + "id": 3529, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3517, + "id": 3528, "mutability": "mutable", "name": "args", "nameLocation": "38000:4:10", "nodeType": "VariableDeclaration", - "scope": 3521, + "scope": 3532, "src": "37987:17:10", "stateVariable": false, "storageLocation": "memory", @@ -99559,7 +99449,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3516, + "id": 3527, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "37987:5:10", @@ -99573,7 +99463,7 @@ ], "src": "37986:19:10" }, - "scope": 5093, + "scope": 5104, "src": "37886:609:10", "stateMutability": "view", "virtual": false, @@ -99581,7 +99471,7 @@ }, { "body": { - "id": 3534, + "id": 3545, "nodeType": "Block", "src": "39002:785:10", "statements": [ @@ -100379,145 +100269,145 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3531, + "declaration": 3542, "isOffset": false, "isSlot": false, "src": "39078:4:10", "valueSize": 1 }, { - "declaration": 3531, + "declaration": 3542, "isOffset": false, "isSlot": false, "src": "39247:4:10", "valueSize": 1 }, { - "declaration": 3531, + "declaration": 3542, "isOffset": false, "isSlot": false, "src": "39327:4:10", "valueSize": 1 }, { - "declaration": 3531, + "declaration": 3542, "isOffset": false, "isSlot": false, "src": "39588:4:10", "valueSize": 1 }, { - "declaration": 3531, + "declaration": 3542, "isOffset": false, "isSlot": false, "src": "39645:4:10", "valueSize": 1 }, { - "declaration": 3531, + "declaration": 3542, "isOffset": false, "isSlot": false, "src": "39735:4:10", "valueSize": 1 }, { - "declaration": 3528, + "declaration": 3539, "isOffset": false, "isSlot": false, "src": "39123:3:10", "valueSize": 1 }, { - "declaration": 3528, + "declaration": 3539, "isOffset": false, "isSlot": false, "src": "39139:3:10", "valueSize": 1 }, { - "declaration": 3528, + "declaration": 3539, "isOffset": false, "isSlot": false, "src": "39184:3:10", "valueSize": 1 }, { - "declaration": 3528, + "declaration": 3539, "isOffset": false, "isSlot": false, "src": "39207:3:10", "valueSize": 1 }, { - "declaration": 3528, + "declaration": 3539, "isOffset": false, "isSlot": false, "src": "39531:3:10", "valueSize": 1 }, { - "declaration": 3528, + "declaration": 3539, "isOffset": false, "isSlot": false, "src": "39544:3:10", "valueSize": 1 }, { - "declaration": 3524, + "declaration": 3535, "isOffset": false, "isSlot": false, "src": "39237:8:10", "valueSize": 1 }, { - "declaration": 3524, + "declaration": 3535, "isOffset": false, "isSlot": false, "src": "39382:8:10", "valueSize": 1 }, { - "declaration": 3526, + "declaration": 3537, "isOffset": false, "isSlot": false, "src": "39189:5:10", "valueSize": 1 }, { - "declaration": 3526, + "declaration": 3537, "isOffset": false, "isSlot": false, "src": "39200:5:10", "valueSize": 1 }, { - "declaration": 3526, + "declaration": 3537, "isOffset": false, "isSlot": false, "src": "39257:5:10", "valueSize": 1 }, { - "declaration": 3526, + "declaration": 3537, "isOffset": false, "isSlot": false, "src": "39509:5:10", "valueSize": 1 } ], - "id": 3533, + "id": 3544, "nodeType": "InlineAssembly", "src": "39055:726:10" } ] }, "documentation": { - "id": 3522, + "id": 3533, "nodeType": "StructuredDocumentation", "src": "38501:359:10", "text": "@dev Returns a slice of the immutable arguments on `instance` from `start` to `end`.\n `start` and `end` will be clamped to the range `[0, args.length]`.\n The `instance` MUST be deployed via the clone with immutable args functions.\n Otherwise, the behavior is undefined.\n Out-of-gas reverts if `instance` does not have any code." }, - "id": 3535, + "id": 3546, "implemented": true, "kind": "function", "modifiers": [], @@ -100525,17 +100415,17 @@ "nameLocation": "38874:11:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3529, + "id": 3540, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3524, + "id": 3535, "mutability": "mutable", "name": "instance", "nameLocation": "38894:8:10", "nodeType": "VariableDeclaration", - "scope": 3535, + "scope": 3546, "src": "38886:16:10", "stateVariable": false, "storageLocation": "default", @@ -100544,7 +100434,7 @@ "typeString": "address" }, "typeName": { - "id": 3523, + "id": 3534, "name": "address", "nodeType": "ElementaryTypeName", "src": "38886:7:10", @@ -100558,12 +100448,12 @@ }, { "constant": false, - "id": 3526, + "id": 3537, "mutability": "mutable", "name": "start", "nameLocation": "38912:5:10", "nodeType": "VariableDeclaration", - "scope": 3535, + "scope": 3546, "src": "38904:13:10", "stateVariable": false, "storageLocation": "default", @@ -100572,7 +100462,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3525, + "id": 3536, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "38904:7:10", @@ -100585,12 +100475,12 @@ }, { "constant": false, - "id": 3528, + "id": 3539, "mutability": "mutable", "name": "end", "nameLocation": "38927:3:10", "nodeType": "VariableDeclaration", - "scope": 3535, + "scope": 3546, "src": "38919:11:10", "stateVariable": false, "storageLocation": "default", @@ -100599,7 +100489,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3527, + "id": 3538, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "38919:7:10", @@ -100614,17 +100504,17 @@ "src": "38885:46:10" }, "returnParameters": { - "id": 3532, + "id": 3543, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3531, + "id": 3542, "mutability": "mutable", "name": "args", "nameLocation": "38992:4:10", "nodeType": "VariableDeclaration", - "scope": 3535, + "scope": 3546, "src": "38979:17:10", "stateVariable": false, "storageLocation": "memory", @@ -100633,7 +100523,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3530, + "id": 3541, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "38979:5:10", @@ -100647,7 +100537,7 @@ ], "src": "38978:19:10" }, - "scope": 5093, + "scope": 5104, "src": "38865:922:10", "stateMutability": "view", "virtual": false, @@ -100655,23 +100545,23 @@ }, { "body": { - "id": 3550, + "id": 3561, "nodeType": "Block", "src": "40397:60:10", "statements": [ { "expression": { - "id": 3548, + "id": 3559, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 3543, + "id": 3554, "name": "instance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3541, + "referencedDeclaration": 3552, "src": "40407:8:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -100684,7 +100574,7 @@ "arguments": [ { "hexValue": "30", - "id": 3545, + "id": 3556, "isConstant": false, "isLValue": false, "isPure": true, @@ -100699,11 +100589,11 @@ "value": "0" }, { - "id": 3546, + "id": 3557, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3538, + "referencedDeclaration": 3549, "src": "40435:14:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -100722,23 +100612,23 @@ "typeString": "address" } ], - "id": 3544, + "id": 3555, "name": "deployERC1967", "nodeType": "Identifier", "overloadedDeclarations": [ - 3551, - 3563, - 3697, - 3711 + 3562, + 3574, + 3708, + 3722 ], - "referencedDeclaration": 3563, + "referencedDeclaration": 3574, "src": "40418:13:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$returns$_t_address_$", "typeString": "function (uint256,address) returns (address)" } }, - "id": 3547, + "id": 3558, "isConstant": false, "isLValue": false, "isPure": false, @@ -100760,19 +100650,19 @@ "typeString": "address" } }, - "id": 3549, + "id": 3560, "nodeType": "ExpressionStatement", "src": "40407:43:10" } ] }, "documentation": { - "id": 3536, + "id": 3547, "nodeType": "StructuredDocumentation", "src": "40246:63:10", "text": "@dev Deploys a minimal ERC1967 proxy with `implementation`." }, - "id": 3551, + "id": 3562, "implemented": true, "kind": "function", "modifiers": [], @@ -100780,17 +100670,17 @@ "nameLocation": "40323:13:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3539, + "id": 3550, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3538, + "id": 3549, "mutability": "mutable", "name": "implementation", "nameLocation": "40345:14:10", "nodeType": "VariableDeclaration", - "scope": 3551, + "scope": 3562, "src": "40337:22:10", "stateVariable": false, "storageLocation": "default", @@ -100799,7 +100689,7 @@ "typeString": "address" }, "typeName": { - "id": 3537, + "id": 3548, "name": "address", "nodeType": "ElementaryTypeName", "src": "40337:7:10", @@ -100815,17 +100705,17 @@ "src": "40336:24:10" }, "returnParameters": { - "id": 3542, + "id": 3553, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3541, + "id": 3552, "mutability": "mutable", "name": "instance", "nameLocation": "40387:8:10", "nodeType": "VariableDeclaration", - "scope": 3551, + "scope": 3562, "src": "40379:16:10", "stateVariable": false, "storageLocation": "default", @@ -100834,7 +100724,7 @@ "typeString": "address" }, "typeName": { - "id": 3540, + "id": 3551, "name": "address", "nodeType": "ElementaryTypeName", "src": "40379:7:10", @@ -100849,7 +100739,7 @@ ], "src": "40378:18:10" }, - "scope": 5093, + "scope": 5104, "src": "40314:143:10", "stateMutability": "nonpayable", "virtual": false, @@ -100857,7 +100747,7 @@ }, { "body": { - "id": 3562, + "id": 3573, "nodeType": "Block", "src": "40697:6584:10", "statements": [ @@ -101289,47 +101179,47 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3556, + "declaration": 3567, "isOffset": false, "isSlot": false, "src": "46886:14:10", "valueSize": 1 }, { - "declaration": 3559, + "declaration": 3570, "isOffset": false, "isSlot": false, "src": "46961:8:10", "valueSize": 1 }, { - "declaration": 3559, + "declaration": 3570, "isOffset": false, "isSlot": false, "src": "47021:8:10", "valueSize": 1 }, { - "declaration": 3554, + "declaration": 3565, "isOffset": false, "isSlot": false, "src": "46980:5:10", "valueSize": 1 } ], - "id": 3561, + "id": 3572, "nodeType": "InlineAssembly", "src": "40750:6525:10" } ] }, "documentation": { - "id": 3552, + "id": 3563, "nodeType": "StructuredDocumentation", "src": "40463:111:10", "text": "@dev Deploys a minimal ERC1967 proxy with `implementation`.\n Deposits `value` ETH during deployment." }, - "id": 3563, + "id": 3574, "implemented": true, "kind": "function", "modifiers": [], @@ -101337,17 +101227,17 @@ "nameLocation": "40588:13:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3557, + "id": 3568, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3554, + "id": 3565, "mutability": "mutable", "name": "value", "nameLocation": "40610:5:10", "nodeType": "VariableDeclaration", - "scope": 3563, + "scope": 3574, "src": "40602:13:10", "stateVariable": false, "storageLocation": "default", @@ -101356,7 +101246,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3553, + "id": 3564, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "40602:7:10", @@ -101369,12 +101259,12 @@ }, { "constant": false, - "id": 3556, + "id": 3567, "mutability": "mutable", "name": "implementation", "nameLocation": "40625:14:10", "nodeType": "VariableDeclaration", - "scope": 3563, + "scope": 3574, "src": "40617:22:10", "stateVariable": false, "storageLocation": "default", @@ -101383,7 +101273,7 @@ "typeString": "address" }, "typeName": { - "id": 3555, + "id": 3566, "name": "address", "nodeType": "ElementaryTypeName", "src": "40617:7:10", @@ -101399,17 +101289,17 @@ "src": "40601:39:10" }, "returnParameters": { - "id": 3560, + "id": 3571, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3559, + "id": 3570, "mutability": "mutable", "name": "instance", "nameLocation": "40683:8:10", "nodeType": "VariableDeclaration", - "scope": 3563, + "scope": 3574, "src": "40675:16:10", "stateVariable": false, "storageLocation": "default", @@ -101418,7 +101308,7 @@ "typeString": "address" }, "typeName": { - "id": 3558, + "id": 3569, "name": "address", "nodeType": "ElementaryTypeName", "src": "40675:7:10", @@ -101433,7 +101323,7 @@ ], "src": "40674:18:10" }, - "scope": 5093, + "scope": 5104, "src": "40579:6702:10", "stateMutability": "nonpayable", "virtual": false, @@ -101441,23 +101331,23 @@ }, { "body": { - "id": 3581, + "id": 3592, "nodeType": "Block", "src": "47510:79:10", "statements": [ { "expression": { - "id": 3579, + "id": 3590, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 3573, + "id": 3584, "name": "instance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3571, + "referencedDeclaration": 3582, "src": "47520:8:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -101470,7 +101360,7 @@ "arguments": [ { "hexValue": "30", - "id": 3575, + "id": 3586, "isConstant": false, "isLValue": false, "isPure": true, @@ -101485,11 +101375,11 @@ "value": "0" }, { - "id": 3576, + "id": 3587, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3566, + "referencedDeclaration": 3577, "src": "47561:14:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -101497,11 +101387,11 @@ } }, { - "id": 3577, + "id": 3588, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3568, + "referencedDeclaration": 3579, "src": "47577:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -101524,23 +101414,23 @@ "typeString": "bytes32" } ], - "id": 3574, + "id": 3585, "name": "deployDeterministicERC1967", "nodeType": "Identifier", "overloadedDeclarations": [ - 3582, - 3596, - 3733, - 3749 + 3593, + 3607, + 3744, + 3760 ], - "referencedDeclaration": 3596, + "referencedDeclaration": 3607, "src": "47531:26:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes32_$returns$_t_address_$", "typeString": "function (uint256,address,bytes32) returns (address)" } }, - "id": 3578, + "id": 3589, "isConstant": false, "isLValue": false, "isPure": false, @@ -101562,19 +101452,19 @@ "typeString": "address" } }, - "id": 3580, + "id": 3591, "nodeType": "ExpressionStatement", "src": "47520:62:10" } ] }, "documentation": { - "id": 3564, + "id": 3575, "nodeType": "StructuredDocumentation", "src": "47287:88:10", "text": "@dev Deploys a deterministic minimal ERC1967 proxy with `implementation` and `salt`." }, - "id": 3582, + "id": 3593, "implemented": true, "kind": "function", "modifiers": [], @@ -101582,17 +101472,17 @@ "nameLocation": "47389:26:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3569, + "id": 3580, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3566, + "id": 3577, "mutability": "mutable", "name": "implementation", "nameLocation": "47424:14:10", "nodeType": "VariableDeclaration", - "scope": 3582, + "scope": 3593, "src": "47416:22:10", "stateVariable": false, "storageLocation": "default", @@ -101601,7 +101491,7 @@ "typeString": "address" }, "typeName": { - "id": 3565, + "id": 3576, "name": "address", "nodeType": "ElementaryTypeName", "src": "47416:7:10", @@ -101615,12 +101505,12 @@ }, { "constant": false, - "id": 3568, + "id": 3579, "mutability": "mutable", "name": "salt", "nameLocation": "47448:4:10", "nodeType": "VariableDeclaration", - "scope": 3582, + "scope": 3593, "src": "47440:12:10", "stateVariable": false, "storageLocation": "default", @@ -101629,7 +101519,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3567, + "id": 3578, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "47440:7:10", @@ -101644,17 +101534,17 @@ "src": "47415:38:10" }, "returnParameters": { - "id": 3572, + "id": 3583, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3571, + "id": 3582, "mutability": "mutable", "name": "instance", "nameLocation": "47496:8:10", "nodeType": "VariableDeclaration", - "scope": 3582, + "scope": 3593, "src": "47488:16:10", "stateVariable": false, "storageLocation": "default", @@ -101663,7 +101553,7 @@ "typeString": "address" }, "typeName": { - "id": 3570, + "id": 3581, "name": "address", "nodeType": "ElementaryTypeName", "src": "47488:7:10", @@ -101678,7 +101568,7 @@ ], "src": "47487:18:10" }, - "scope": 5093, + "scope": 5104, "src": "47380:209:10", "stateMutability": "nonpayable", "virtual": false, @@ -101686,7 +101576,7 @@ }, { "body": { - "id": 3595, + "id": 3606, "nodeType": "Block", "src": "47881:777:10", "statements": [ @@ -102124,54 +102014,54 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3587, + "declaration": 3598, "isOffset": false, "isSlot": false, "src": "48256:14:10", "valueSize": 1 }, { - "declaration": 3592, + "declaration": 3603, "isOffset": false, "isSlot": false, "src": "48331:8:10", "valueSize": 1 }, { - "declaration": 3592, + "declaration": 3603, "isOffset": false, "isSlot": false, "src": "48398:8:10", "valueSize": 1 }, { - "declaration": 3589, + "declaration": 3600, "isOffset": false, "isSlot": false, "src": "48370:4:10", "valueSize": 1 }, { - "declaration": 3585, + "declaration": 3596, "isOffset": false, "isSlot": false, "src": "48351:5:10", "valueSize": 1 } ], - "id": 3594, + "id": 3605, "nodeType": "InlineAssembly", "src": "47934:718:10" } ] }, "documentation": { - "id": 3583, + "id": 3594, "nodeType": "StructuredDocumentation", "src": "47595:136:10", "text": "@dev Deploys a deterministic minimal ERC1967 proxy with `implementation` and `salt`.\n Deposits `value` ETH during deployment." }, - "id": 3596, + "id": 3607, "implemented": true, "kind": "function", "modifiers": [], @@ -102179,17 +102069,17 @@ "nameLocation": "47745:26:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3590, + "id": 3601, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3585, + "id": 3596, "mutability": "mutable", "name": "value", "nameLocation": "47780:5:10", "nodeType": "VariableDeclaration", - "scope": 3596, + "scope": 3607, "src": "47772:13:10", "stateVariable": false, "storageLocation": "default", @@ -102198,7 +102088,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3584, + "id": 3595, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "47772:7:10", @@ -102211,12 +102101,12 @@ }, { "constant": false, - "id": 3587, + "id": 3598, "mutability": "mutable", "name": "implementation", "nameLocation": "47795:14:10", "nodeType": "VariableDeclaration", - "scope": 3596, + "scope": 3607, "src": "47787:22:10", "stateVariable": false, "storageLocation": "default", @@ -102225,7 +102115,7 @@ "typeString": "address" }, "typeName": { - "id": 3586, + "id": 3597, "name": "address", "nodeType": "ElementaryTypeName", "src": "47787:7:10", @@ -102239,12 +102129,12 @@ }, { "constant": false, - "id": 3589, + "id": 3600, "mutability": "mutable", "name": "salt", "nameLocation": "47819:4:10", "nodeType": "VariableDeclaration", - "scope": 3596, + "scope": 3607, "src": "47811:12:10", "stateVariable": false, "storageLocation": "default", @@ -102253,7 +102143,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3588, + "id": 3599, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "47811:7:10", @@ -102268,17 +102158,17 @@ "src": "47771:53:10" }, "returnParameters": { - "id": 3593, + "id": 3604, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3592, + "id": 3603, "mutability": "mutable", "name": "instance", "nameLocation": "47867:8:10", "nodeType": "VariableDeclaration", - "scope": 3596, + "scope": 3607, "src": "47859:16:10", "stateVariable": false, "storageLocation": "default", @@ -102287,7 +102177,7 @@ "typeString": "address" }, "typeName": { - "id": 3591, + "id": 3602, "name": "address", "nodeType": "ElementaryTypeName", "src": "47859:7:10", @@ -102302,7 +102192,7 @@ ], "src": "47858:18:10" }, - "scope": 5093, + "scope": 5104, "src": "47736:922:10", "stateMutability": "nonpayable", "virtual": false, @@ -102310,7 +102200,7 @@ }, { "body": { - "id": 3614, + "id": 3625, "nodeType": "Block", "src": "49052:75:10", "statements": [ @@ -102319,7 +102209,7 @@ "arguments": [ { "hexValue": "30", - "id": 3609, + "id": 3620, "isConstant": false, "isLValue": false, "isPure": true, @@ -102334,11 +102224,11 @@ "value": "0" }, { - "id": 3610, + "id": 3621, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3599, + "referencedDeclaration": 3610, "src": "49099:14:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -102346,11 +102236,11 @@ } }, { - "id": 3611, + "id": 3622, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3601, + "referencedDeclaration": 3612, "src": "49115:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -102373,23 +102263,23 @@ "typeString": "bytes32" } ], - "id": 3608, + "id": 3619, "name": "createDeterministicERC1967", "nodeType": "Identifier", "overloadedDeclarations": [ - 3615, - 3631, - 3771, - 3789 + 3626, + 3642, + 3782, + 3800 ], - "referencedDeclaration": 3631, + "referencedDeclaration": 3642, "src": "49069:26:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes32_$returns$_t_bool_$_t_address_$", "typeString": "function (uint256,address,bytes32) returns (bool,address)" } }, - "id": 3612, + "id": 3623, "isConstant": false, "isLValue": false, "isPure": false, @@ -102405,20 +102295,20 @@ "typeString": "tuple(bool,address)" } }, - "functionReturnParameters": 3607, - "id": 3613, + "functionReturnParameters": 3618, + "id": 3624, "nodeType": "Return", "src": "49062:58:10" } ] }, "documentation": { - "id": 3597, + "id": 3608, "nodeType": "StructuredDocumentation", "src": "48664:231:10", "text": "@dev Creates a deterministic minimal ERC1967 proxy with `implementation` and `salt`.\n Note: This method is intended for use in ERC4337 factories,\n which are expected to NOT revert if the proxy is already deployed." }, - "id": 3615, + "id": 3626, "implemented": true, "kind": "function", "modifiers": [], @@ -102426,17 +102316,17 @@ "nameLocation": "48909:26:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3602, + "id": 3613, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3599, + "id": 3610, "mutability": "mutable", "name": "implementation", "nameLocation": "48944:14:10", "nodeType": "VariableDeclaration", - "scope": 3615, + "scope": 3626, "src": "48936:22:10", "stateVariable": false, "storageLocation": "default", @@ -102445,7 +102335,7 @@ "typeString": "address" }, "typeName": { - "id": 3598, + "id": 3609, "name": "address", "nodeType": "ElementaryTypeName", "src": "48936:7:10", @@ -102459,12 +102349,12 @@ }, { "constant": false, - "id": 3601, + "id": 3612, "mutability": "mutable", "name": "salt", "nameLocation": "48968:4:10", "nodeType": "VariableDeclaration", - "scope": 3615, + "scope": 3626, "src": "48960:12:10", "stateVariable": false, "storageLocation": "default", @@ -102473,7 +102363,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3600, + "id": 3611, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "48960:7:10", @@ -102488,17 +102378,17 @@ "src": "48935:38:10" }, "returnParameters": { - "id": 3607, + "id": 3618, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3604, + "id": 3615, "mutability": "mutable", "name": "alreadyDeployed", "nameLocation": "49013:15:10", "nodeType": "VariableDeclaration", - "scope": 3615, + "scope": 3626, "src": "49008:20:10", "stateVariable": false, "storageLocation": "default", @@ -102507,7 +102397,7 @@ "typeString": "bool" }, "typeName": { - "id": 3603, + "id": 3614, "name": "bool", "nodeType": "ElementaryTypeName", "src": "49008:4:10", @@ -102520,12 +102410,12 @@ }, { "constant": false, - "id": 3606, + "id": 3617, "mutability": "mutable", "name": "instance", "nameLocation": "49038:8:10", "nodeType": "VariableDeclaration", - "scope": 3615, + "scope": 3626, "src": "49030:16:10", "stateVariable": false, "storageLocation": "default", @@ -102534,7 +102424,7 @@ "typeString": "address" }, "typeName": { - "id": 3605, + "id": 3616, "name": "address", "nodeType": "ElementaryTypeName", "src": "49030:7:10", @@ -102549,7 +102439,7 @@ ], "src": "49007:40:10" }, - "scope": 5093, + "scope": 5104, "src": "48900:227:10", "stateMutability": "nonpayable", "virtual": false, @@ -102557,7 +102447,7 @@ }, { "body": { - "id": 3630, + "id": 3641, "nodeType": "Block", "src": "49584:1558:10", "statements": [ @@ -103562,103 +103452,103 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3625, + "declaration": 3636, "isOffset": false, "isSlot": false, "src": "50687:15:10", "valueSize": 1 }, { - "declaration": 3620, + "declaration": 3631, "isOffset": false, "isSlot": false, "src": "49959:14:10", "valueSize": 1 }, { - "declaration": 3627, + "declaration": 3638, "isOffset": false, "isSlot": false, "src": "50273:8:10", "valueSize": 1 }, { - "declaration": 3627, + "declaration": 3638, "isOffset": false, "isSlot": false, "src": "50368:8:10", "valueSize": 1 }, { - "declaration": 3627, + "declaration": 3638, "isOffset": false, "isSlot": false, "src": "50401:8:10", "valueSize": 1 }, { - "declaration": 3627, + "declaration": 3638, "isOffset": false, "isSlot": false, "src": "50476:8:10", "valueSize": 1 }, { - "declaration": 3627, + "declaration": 3638, "isOffset": false, "isSlot": false, "src": "50789:8:10", "valueSize": 1 }, { - "declaration": 3622, + "declaration": 3633, "isOffset": false, "isSlot": false, "src": "50255:4:10", "valueSize": 1 }, { - "declaration": 3622, + "declaration": 3633, "isOffset": false, "isSlot": false, "src": "50440:4:10", "valueSize": 1 }, { - "declaration": 3618, + "declaration": 3629, "isOffset": false, "isSlot": false, "src": "50421:5:10", "valueSize": 1 }, { - "declaration": 3618, + "declaration": 3629, "isOffset": false, "isSlot": false, "src": "50734:5:10", "valueSize": 1 }, { - "declaration": 3618, + "declaration": 3629, "isOffset": false, "isSlot": false, "src": "50799:5:10", "valueSize": 1 } ], - "id": 3629, + "id": 3640, "nodeType": "InlineAssembly", "src": "49637:1499:10" } ] }, "documentation": { - "id": 3616, + "id": 3627, "nodeType": "StructuredDocumentation", "src": "49133:279:10", "text": "@dev Creates a deterministic minimal ERC1967 proxy with `implementation` and `salt`.\n Deposits `value` ETH during deployment.\n Note: This method is intended for use in ERC4337 factories,\n which are expected to NOT revert if the proxy is already deployed." }, - "id": 3631, + "id": 3642, "implemented": true, "kind": "function", "modifiers": [], @@ -103666,17 +103556,17 @@ "nameLocation": "49426:26:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3623, + "id": 3634, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3618, + "id": 3629, "mutability": "mutable", "name": "value", "nameLocation": "49461:5:10", "nodeType": "VariableDeclaration", - "scope": 3631, + "scope": 3642, "src": "49453:13:10", "stateVariable": false, "storageLocation": "default", @@ -103685,7 +103575,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3617, + "id": 3628, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "49453:7:10", @@ -103698,12 +103588,12 @@ }, { "constant": false, - "id": 3620, + "id": 3631, "mutability": "mutable", "name": "implementation", "nameLocation": "49476:14:10", "nodeType": "VariableDeclaration", - "scope": 3631, + "scope": 3642, "src": "49468:22:10", "stateVariable": false, "storageLocation": "default", @@ -103712,7 +103602,7 @@ "typeString": "address" }, "typeName": { - "id": 3619, + "id": 3630, "name": "address", "nodeType": "ElementaryTypeName", "src": "49468:7:10", @@ -103726,12 +103616,12 @@ }, { "constant": false, - "id": 3622, + "id": 3633, "mutability": "mutable", "name": "salt", "nameLocation": "49500:4:10", "nodeType": "VariableDeclaration", - "scope": 3631, + "scope": 3642, "src": "49492:12:10", "stateVariable": false, "storageLocation": "default", @@ -103740,7 +103630,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3621, + "id": 3632, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "49492:7:10", @@ -103755,17 +103645,17 @@ "src": "49452:53:10" }, "returnParameters": { - "id": 3628, + "id": 3639, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3625, + "id": 3636, "mutability": "mutable", "name": "alreadyDeployed", "nameLocation": "49545:15:10", "nodeType": "VariableDeclaration", - "scope": 3631, + "scope": 3642, "src": "49540:20:10", "stateVariable": false, "storageLocation": "default", @@ -103774,7 +103664,7 @@ "typeString": "bool" }, "typeName": { - "id": 3624, + "id": 3635, "name": "bool", "nodeType": "ElementaryTypeName", "src": "49540:4:10", @@ -103787,12 +103677,12 @@ }, { "constant": false, - "id": 3627, + "id": 3638, "mutability": "mutable", "name": "instance", "nameLocation": "49570:8:10", "nodeType": "VariableDeclaration", - "scope": 3631, + "scope": 3642, "src": "49562:16:10", "stateVariable": false, "storageLocation": "default", @@ -103801,7 +103691,7 @@ "typeString": "address" }, "typeName": { - "id": 3626, + "id": 3637, "name": "address", "nodeType": "ElementaryTypeName", "src": "49562:7:10", @@ -103816,7 +103706,7 @@ ], "src": "49539:40:10" }, - "scope": 5093, + "scope": 5104, "src": "49417:1725:10", "stateMutability": "nonpayable", "virtual": false, @@ -103824,7 +103714,7 @@ }, { "body": { - "id": 3640, + "id": 3651, "nodeType": "Block", "src": "51331:545:10", "statements": [ @@ -104211,75 +104101,75 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3637, + "declaration": 3648, "isOffset": false, "isSlot": false, "src": "51407:1:10", "valueSize": 1 }, { - "declaration": 3637, + "declaration": 3648, "isOffset": false, "isSlot": false, "src": "51447:1:10", "valueSize": 1 }, { - "declaration": 3637, + "declaration": 3648, "isOffset": false, "isSlot": false, "src": "51548:1:10", "valueSize": 1 }, { - "declaration": 3637, + "declaration": 3648, "isOffset": false, "isSlot": false, "src": "51649:1:10", "valueSize": 1 }, { - "declaration": 3637, + "declaration": 3648, "isOffset": false, "isSlot": false, "src": "51721:1:10", "valueSize": 1 }, { - "declaration": 3637, + "declaration": 3648, "isOffset": false, "isSlot": false, "src": "51772:1:10", "valueSize": 1 }, { - "declaration": 3637, + "declaration": 3648, "isOffset": false, "isSlot": false, "src": "51831:1:10", "valueSize": 1 }, { - "declaration": 3634, + "declaration": 3645, "isOffset": false, "isSlot": false, "src": "51670:14:10", "valueSize": 1 } ], - "id": 3639, + "id": 3650, "nodeType": "InlineAssembly", "src": "51384:486:10" } ] }, "documentation": { - "id": 3632, + "id": 3643, "nodeType": "StructuredDocumentation", "src": "51148:90:10", "text": "@dev Returns the initialization code of the minimal ERC1967 proxy of `implementation`." }, - "id": 3641, + "id": 3652, "implemented": true, "kind": "function", "modifiers": [], @@ -104287,17 +104177,17 @@ "nameLocation": "51252:15:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3635, + "id": 3646, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3634, + "id": 3645, "mutability": "mutable", "name": "implementation", "nameLocation": "51276:14:10", "nodeType": "VariableDeclaration", - "scope": 3641, + "scope": 3652, "src": "51268:22:10", "stateVariable": false, "storageLocation": "default", @@ -104306,7 +104196,7 @@ "typeString": "address" }, "typeName": { - "id": 3633, + "id": 3644, "name": "address", "nodeType": "ElementaryTypeName", "src": "51268:7:10", @@ -104322,17 +104212,17 @@ "src": "51267:24:10" }, "returnParameters": { - "id": 3638, + "id": 3649, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3637, + "id": 3648, "mutability": "mutable", "name": "c", "nameLocation": "51328:1:10", "nodeType": "VariableDeclaration", - "scope": 3641, + "scope": 3652, "src": "51315:14:10", "stateVariable": false, "storageLocation": "memory", @@ -104341,7 +104231,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3636, + "id": 3647, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "51315:5:10", @@ -104355,7 +104245,7 @@ ], "src": "51314:16:10" }, - "scope": 5093, + "scope": 5104, "src": "51243:633:10", "stateMutability": "pure", "virtual": false, @@ -104363,7 +104253,7 @@ }, { "body": { - "id": 3650, + "id": 3661, "nodeType": "Block", "src": "52072:613:10", "statements": [ @@ -104690,33 +104580,33 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3647, + "declaration": 3658, "isOffset": false, "isSlot": false, "src": "52522:4:10", "valueSize": 1 }, { - "declaration": 3644, + "declaration": 3655, "isOffset": false, "isSlot": false, "src": "52447:14:10", "valueSize": 1 } ], - "id": 3649, + "id": 3660, "nodeType": "InlineAssembly", "src": "52125:554:10" } ] }, "documentation": { - "id": 3642, + "id": 3653, "nodeType": "StructuredDocumentation", "src": "51882:95:10", "text": "@dev Returns the initialization code hash of the minimal ERC1967 proxy of `implementation`." }, - "id": 3651, + "id": 3662, "implemented": true, "kind": "function", "modifiers": [], @@ -104724,17 +104614,17 @@ "nameLocation": "51991:19:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3645, + "id": 3656, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3644, + "id": 3655, "mutability": "mutable", "name": "implementation", "nameLocation": "52019:14:10", "nodeType": "VariableDeclaration", - "scope": 3651, + "scope": 3662, "src": "52011:22:10", "stateVariable": false, "storageLocation": "default", @@ -104743,7 +104633,7 @@ "typeString": "address" }, "typeName": { - "id": 3643, + "id": 3654, "name": "address", "nodeType": "ElementaryTypeName", "src": "52011:7:10", @@ -104759,17 +104649,17 @@ "src": "52010:24:10" }, "returnParameters": { - "id": 3648, + "id": 3659, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3647, + "id": 3658, "mutability": "mutable", "name": "hash", "nameLocation": "52066:4:10", "nodeType": "VariableDeclaration", - "scope": 3651, + "scope": 3662, "src": "52058:12:10", "stateVariable": false, "storageLocation": "default", @@ -104778,7 +104668,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3646, + "id": 3657, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "52058:7:10", @@ -104792,7 +104682,7 @@ ], "src": "52057:14:10" }, - "scope": 5093, + "scope": 5104, "src": "51982:703:10", "stateMutability": "pure", "virtual": false, @@ -104800,23 +104690,23 @@ }, { "body": { - "id": 3677, + "id": 3688, "nodeType": "Block", "src": "53058:138:10", "statements": [ { "assignments": [ - 3664 + 3675 ], "declarations": [ { "constant": false, - "id": 3664, + "id": 3675, "mutability": "mutable", "name": "hash", "nameLocation": "53076:4:10", "nodeType": "VariableDeclaration", - "scope": 3677, + "scope": 3688, "src": "53068:12:10", "stateVariable": false, "storageLocation": "default", @@ -104825,7 +104715,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3663, + "id": 3674, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "53068:7:10", @@ -104837,15 +104727,15 @@ "visibility": "internal" } ], - "id": 3668, + "id": 3679, "initialValue": { "arguments": [ { - "id": 3666, + "id": 3677, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3654, + "referencedDeclaration": 3665, "src": "53103:14:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -104860,21 +104750,21 @@ "typeString": "address" } ], - "id": 3665, + "id": 3676, "name": "initCodeHashERC1967", "nodeType": "Identifier", "overloadedDeclarations": [ - 3651, - 3813 + 3662, + 3824 ], - "referencedDeclaration": 3651, + "referencedDeclaration": 3662, "src": "53083:19:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_bytes32_$", "typeString": "function (address) pure returns (bytes32)" } }, - "id": 3667, + "id": 3678, "isConstant": false, "isLValue": false, "isPure": false, @@ -104895,17 +104785,17 @@ }, { "expression": { - "id": 3675, + "id": 3686, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 3669, + "id": 3680, "name": "predicted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3661, + "referencedDeclaration": 3672, "src": "53128:9:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -104917,11 +104807,11 @@ "rightHandSide": { "arguments": [ { - "id": 3671, + "id": 3682, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3664, + "referencedDeclaration": 3675, "src": "53168:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -104929,11 +104819,11 @@ } }, { - "id": 3672, + "id": 3683, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3656, + "referencedDeclaration": 3667, "src": "53174:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -104941,11 +104831,11 @@ } }, { - "id": 3673, + "id": 3684, "name": "deployer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3658, + "referencedDeclaration": 3669, "src": "53180:8:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -104968,22 +104858,22 @@ "typeString": "address" } ], - "id": 3670, + "id": 3681, "name": "predictDeterministicAddress", "nodeType": "Identifier", "overloadedDeclarations": [ - 3226, - 3499, - 5070 + 3237, + 3510, + 5081 ], - "referencedDeclaration": 5070, + "referencedDeclaration": 5081, "src": "53140:27:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_address_$", "typeString": "function (bytes32,bytes32,address) pure returns (address)" } }, - "id": 3674, + "id": 3685, "isConstant": false, "isLValue": false, "isPure": false, @@ -105005,19 +104895,19 @@ "typeString": "address" } }, - "id": 3676, + "id": 3687, "nodeType": "ExpressionStatement", "src": "53128:61:10" } ] }, "documentation": { - "id": 3652, + "id": 3663, "nodeType": "StructuredDocumentation", "src": "52691:190:10", "text": "@dev Returns the address of the ERC1967 proxy of `implementation`, with `salt` by `deployer`.\n Note: The returned result has dirty upper 96 bits. Please clean if used in assembly." }, - "id": 3678, + "id": 3689, "implemented": true, "kind": "function", "modifiers": [], @@ -105025,17 +104915,17 @@ "nameLocation": "52895:34:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3659, + "id": 3670, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3654, + "id": 3665, "mutability": "mutable", "name": "implementation", "nameLocation": "52947:14:10", "nodeType": "VariableDeclaration", - "scope": 3678, + "scope": 3689, "src": "52939:22:10", "stateVariable": false, "storageLocation": "default", @@ -105044,7 +104934,7 @@ "typeString": "address" }, "typeName": { - "id": 3653, + "id": 3664, "name": "address", "nodeType": "ElementaryTypeName", "src": "52939:7:10", @@ -105058,12 +104948,12 @@ }, { "constant": false, - "id": 3656, + "id": 3667, "mutability": "mutable", "name": "salt", "nameLocation": "52979:4:10", "nodeType": "VariableDeclaration", - "scope": 3678, + "scope": 3689, "src": "52971:12:10", "stateVariable": false, "storageLocation": "default", @@ -105072,7 +104962,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3655, + "id": 3666, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "52971:7:10", @@ -105085,12 +104975,12 @@ }, { "constant": false, - "id": 3658, + "id": 3669, "mutability": "mutable", "name": "deployer", "nameLocation": "53001:8:10", "nodeType": "VariableDeclaration", - "scope": 3678, + "scope": 3689, "src": "52993:16:10", "stateVariable": false, "storageLocation": "default", @@ -105099,7 +104989,7 @@ "typeString": "address" }, "typeName": { - "id": 3657, + "id": 3668, "name": "address", "nodeType": "ElementaryTypeName", "src": "52993:7:10", @@ -105115,17 +105005,17 @@ "src": "52929:86:10" }, "returnParameters": { - "id": 3662, + "id": 3673, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3661, + "id": 3672, "mutability": "mutable", "name": "predicted", "nameLocation": "53047:9:10", "nodeType": "VariableDeclaration", - "scope": 3678, + "scope": 3689, "src": "53039:17:10", "stateVariable": false, "storageLocation": "default", @@ -105134,7 +105024,7 @@ "typeString": "address" }, "typeName": { - "id": 3660, + "id": 3671, "name": "address", "nodeType": "ElementaryTypeName", "src": "53039:7:10", @@ -105149,7 +105039,7 @@ ], "src": "53038:19:10" }, - "scope": 5093, + "scope": 5104, "src": "52886:310:10", "stateMutability": "pure", "virtual": false, @@ -105157,23 +105047,23 @@ }, { "body": { - "id": 3696, + "id": 3707, "nodeType": "Block", "src": "53686:66:10", "statements": [ { "expression": { - "id": 3694, + "id": 3705, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 3688, + "id": 3699, "name": "instance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3686, + "referencedDeclaration": 3697, "src": "53696:8:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -105186,7 +105076,7 @@ "arguments": [ { "hexValue": "30", - "id": 3690, + "id": 3701, "isConstant": false, "isLValue": false, "isPure": true, @@ -105201,11 +105091,11 @@ "value": "0" }, { - "id": 3691, + "id": 3702, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3681, + "referencedDeclaration": 3692, "src": "53724:14:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -105213,11 +105103,11 @@ } }, { - "id": 3692, + "id": 3703, "name": "args", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3683, + "referencedDeclaration": 3694, "src": "53740:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -105240,23 +105130,23 @@ "typeString": "bytes memory" } ], - "id": 3689, + "id": 3700, "name": "deployERC1967", "nodeType": "Identifier", "overloadedDeclarations": [ - 3551, - 3563, - 3697, - 3711 + 3562, + 3574, + 3708, + 3722 ], - "referencedDeclaration": 3711, + "referencedDeclaration": 3722, "src": "53707:13:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$_t_address_$", "typeString": "function (uint256,address,bytes memory) returns (address)" } }, - "id": 3693, + "id": 3704, "isConstant": false, "isLValue": false, "isPure": false, @@ -105278,19 +105168,19 @@ "typeString": "address" } }, - "id": 3695, + "id": 3706, "nodeType": "ExpressionStatement", "src": "53696:49:10" } ] }, "documentation": { - "id": 3679, + "id": 3690, "nodeType": "StructuredDocumentation", "src": "53485:74:10", "text": "@dev Deploys a minimal ERC1967 proxy with `implementation` and `args`." }, - "id": 3697, + "id": 3708, "implemented": true, "kind": "function", "modifiers": [], @@ -105298,17 +105188,17 @@ "nameLocation": "53573:13:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3684, + "id": 3695, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3681, + "id": 3692, "mutability": "mutable", "name": "implementation", "nameLocation": "53595:14:10", "nodeType": "VariableDeclaration", - "scope": 3697, + "scope": 3708, "src": "53587:22:10", "stateVariable": false, "storageLocation": "default", @@ -105317,7 +105207,7 @@ "typeString": "address" }, "typeName": { - "id": 3680, + "id": 3691, "name": "address", "nodeType": "ElementaryTypeName", "src": "53587:7:10", @@ -105331,12 +105221,12 @@ }, { "constant": false, - "id": 3683, + "id": 3694, "mutability": "mutable", "name": "args", "nameLocation": "53624:4:10", "nodeType": "VariableDeclaration", - "scope": 3697, + "scope": 3708, "src": "53611:17:10", "stateVariable": false, "storageLocation": "memory", @@ -105345,7 +105235,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3682, + "id": 3693, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "53611:5:10", @@ -105360,17 +105250,17 @@ "src": "53586:43:10" }, "returnParameters": { - "id": 3687, + "id": 3698, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3686, + "id": 3697, "mutability": "mutable", "name": "instance", "nameLocation": "53672:8:10", "nodeType": "VariableDeclaration", - "scope": 3697, + "scope": 3708, "src": "53664:16:10", "stateVariable": false, "storageLocation": "default", @@ -105379,7 +105269,7 @@ "typeString": "address" }, "typeName": { - "id": 3685, + "id": 3696, "name": "address", "nodeType": "ElementaryTypeName", "src": "53664:7:10", @@ -105394,7 +105284,7 @@ ], "src": "53663:18:10" }, - "scope": 5093, + "scope": 5104, "src": "53564:188:10", "stateMutability": "nonpayable", "virtual": false, @@ -105402,7 +105292,7 @@ }, { "body": { - "id": 3710, + "id": 3721, "nodeType": "Block", "src": "54022:899:10", "statements": [ @@ -106077,61 +105967,61 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3704, + "declaration": 3715, "isOffset": false, "isSlot": false, "src": "54146:4:10", "valueSize": 1 }, { - "declaration": 3704, + "declaration": 3715, "isOffset": false, "isSlot": false, "src": "54193:4:10", "valueSize": 1 }, { - "declaration": 3702, + "declaration": 3713, "isOffset": false, "isSlot": false, "src": "54487:14:10", "valueSize": 1 }, { - "declaration": 3707, + "declaration": 3718, "isOffset": false, "isSlot": false, "src": "54714:8:10", "valueSize": 1 }, { - "declaration": 3707, + "declaration": 3718, "isOffset": false, "isSlot": false, "src": "54779:8:10", "valueSize": 1 }, { - "declaration": 3700, + "declaration": 3711, "isOffset": false, "isSlot": false, "src": "54733:5:10", "valueSize": 1 } ], - "id": 3709, + "id": 3720, "nodeType": "InlineAssembly", "src": "54075:840:10" } ] }, "documentation": { - "id": 3698, + "id": 3709, "nodeType": "StructuredDocumentation", "src": "53758:122:10", "text": "@dev Deploys a minimal ERC1967 proxy with `implementation` and `args`.\n Deposits `value` ETH during deployment." }, - "id": 3711, + "id": 3722, "implemented": true, "kind": "function", "modifiers": [], @@ -106139,17 +106029,17 @@ "nameLocation": "53894:13:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3705, + "id": 3716, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3700, + "id": 3711, "mutability": "mutable", "name": "value", "nameLocation": "53916:5:10", "nodeType": "VariableDeclaration", - "scope": 3711, + "scope": 3722, "src": "53908:13:10", "stateVariable": false, "storageLocation": "default", @@ -106158,7 +106048,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3699, + "id": 3710, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "53908:7:10", @@ -106171,12 +106061,12 @@ }, { "constant": false, - "id": 3702, + "id": 3713, "mutability": "mutable", "name": "implementation", "nameLocation": "53931:14:10", "nodeType": "VariableDeclaration", - "scope": 3711, + "scope": 3722, "src": "53923:22:10", "stateVariable": false, "storageLocation": "default", @@ -106185,7 +106075,7 @@ "typeString": "address" }, "typeName": { - "id": 3701, + "id": 3712, "name": "address", "nodeType": "ElementaryTypeName", "src": "53923:7:10", @@ -106199,12 +106089,12 @@ }, { "constant": false, - "id": 3704, + "id": 3715, "mutability": "mutable", "name": "args", "nameLocation": "53960:4:10", "nodeType": "VariableDeclaration", - "scope": 3711, + "scope": 3722, "src": "53947:17:10", "stateVariable": false, "storageLocation": "memory", @@ -106213,7 +106103,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3703, + "id": 3714, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "53947:5:10", @@ -106228,17 +106118,17 @@ "src": "53907:58:10" }, "returnParameters": { - "id": 3708, + "id": 3719, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3707, + "id": 3718, "mutability": "mutable", "name": "instance", "nameLocation": "54008:8:10", "nodeType": "VariableDeclaration", - "scope": 3711, + "scope": 3722, "src": "54000:16:10", "stateVariable": false, "storageLocation": "default", @@ -106247,7 +106137,7 @@ "typeString": "address" }, "typeName": { - "id": 3706, + "id": 3717, "name": "address", "nodeType": "ElementaryTypeName", "src": "54000:7:10", @@ -106262,7 +106152,7 @@ ], "src": "53999:18:10" }, - "scope": 5093, + "scope": 5104, "src": "53885:1036:10", "stateMutability": "nonpayable", "virtual": false, @@ -106270,23 +106160,23 @@ }, { "body": { - "id": 3732, + "id": 3743, "nodeType": "Block", "src": "55177:85:10", "statements": [ { "expression": { - "id": 3730, + "id": 3741, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 3723, + "id": 3734, "name": "instance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3721, + "referencedDeclaration": 3732, "src": "55187:8:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -106299,7 +106189,7 @@ "arguments": [ { "hexValue": "30", - "id": 3725, + "id": 3736, "isConstant": false, "isLValue": false, "isPure": true, @@ -106314,11 +106204,11 @@ "value": "0" }, { - "id": 3726, + "id": 3737, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3714, + "referencedDeclaration": 3725, "src": "55228:14:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -106326,11 +106216,11 @@ } }, { - "id": 3727, + "id": 3738, "name": "args", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3716, + "referencedDeclaration": 3727, "src": "55244:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -106338,11 +106228,11 @@ } }, { - "id": 3728, + "id": 3739, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3718, + "referencedDeclaration": 3729, "src": "55250:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -106369,23 +106259,23 @@ "typeString": "bytes32" } ], - "id": 3724, + "id": 3735, "name": "deployDeterministicERC1967", "nodeType": "Identifier", "overloadedDeclarations": [ - 3582, - 3596, - 3733, - 3749 + 3593, + 3607, + 3744, + 3760 ], - "referencedDeclaration": 3749, + "referencedDeclaration": 3760, "src": "55198:26:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$_t_bytes32_$returns$_t_address_$", "typeString": "function (uint256,address,bytes memory,bytes32) returns (address)" } }, - "id": 3729, + "id": 3740, "isConstant": false, "isLValue": false, "isPure": false, @@ -106407,19 +106297,19 @@ "typeString": "address" } }, - "id": 3731, + "id": 3742, "nodeType": "ExpressionStatement", "src": "55187:68:10" } ] }, "documentation": { - "id": 3712, + "id": 3723, "nodeType": "StructuredDocumentation", "src": "54927:96:10", "text": "@dev Deploys a deterministic minimal ERC1967 proxy with `implementation`, `args` and `salt`." }, - "id": 3733, + "id": 3744, "implemented": true, "kind": "function", "modifiers": [], @@ -106427,17 +106317,17 @@ "nameLocation": "55037:26:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3719, + "id": 3730, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3714, + "id": 3725, "mutability": "mutable", "name": "implementation", "nameLocation": "55072:14:10", "nodeType": "VariableDeclaration", - "scope": 3733, + "scope": 3744, "src": "55064:22:10", "stateVariable": false, "storageLocation": "default", @@ -106446,7 +106336,7 @@ "typeString": "address" }, "typeName": { - "id": 3713, + "id": 3724, "name": "address", "nodeType": "ElementaryTypeName", "src": "55064:7:10", @@ -106460,12 +106350,12 @@ }, { "constant": false, - "id": 3716, + "id": 3727, "mutability": "mutable", "name": "args", "nameLocation": "55101:4:10", "nodeType": "VariableDeclaration", - "scope": 3733, + "scope": 3744, "src": "55088:17:10", "stateVariable": false, "storageLocation": "memory", @@ -106474,7 +106364,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3715, + "id": 3726, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "55088:5:10", @@ -106487,12 +106377,12 @@ }, { "constant": false, - "id": 3718, + "id": 3729, "mutability": "mutable", "name": "salt", "nameLocation": "55115:4:10", "nodeType": "VariableDeclaration", - "scope": 3733, + "scope": 3744, "src": "55107:12:10", "stateVariable": false, "storageLocation": "default", @@ -106501,7 +106391,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3717, + "id": 3728, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "55107:7:10", @@ -106516,17 +106406,17 @@ "src": "55063:57:10" }, "returnParameters": { - "id": 3722, + "id": 3733, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3721, + "id": 3732, "mutability": "mutable", "name": "instance", "nameLocation": "55163:8:10", "nodeType": "VariableDeclaration", - "scope": 3733, + "scope": 3744, "src": "55155:16:10", "stateVariable": false, "storageLocation": "default", @@ -106535,7 +106425,7 @@ "typeString": "address" }, "typeName": { - "id": 3720, + "id": 3731, "name": "address", "nodeType": "ElementaryTypeName", "src": "55155:7:10", @@ -106550,7 +106440,7 @@ ], "src": "55154:18:10" }, - "scope": 5093, + "scope": 5104, "src": "55028:234:10", "stateMutability": "nonpayable", "virtual": false, @@ -106558,7 +106448,7 @@ }, { "body": { - "id": 3748, + "id": 3759, "nodeType": "Block", "src": "55599:906:10", "statements": [ @@ -107239,68 +107129,68 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3740, + "declaration": 3751, "isOffset": false, "isSlot": false, "src": "55723:4:10", "valueSize": 1 }, { - "declaration": 3740, + "declaration": 3751, "isOffset": false, "isSlot": false, "src": "55770:4:10", "valueSize": 1 }, { - "declaration": 3738, + "declaration": 3749, "isOffset": false, "isSlot": false, "src": "56064:14:10", "valueSize": 1 }, { - "declaration": 3745, + "declaration": 3756, "isOffset": false, "isSlot": false, "src": "56291:8:10", "valueSize": 1 }, { - "declaration": 3745, + "declaration": 3756, "isOffset": false, "isSlot": false, "src": "56363:8:10", "valueSize": 1 }, { - "declaration": 3742, + "declaration": 3753, "isOffset": false, "isSlot": false, "src": "56335:4:10", "valueSize": 1 }, { - "declaration": 3736, + "declaration": 3747, "isOffset": false, "isSlot": false, "src": "56311:5:10", "valueSize": 1 } ], - "id": 3747, + "id": 3758, "nodeType": "InlineAssembly", "src": "55652:847:10" } ] }, "documentation": { - "id": 3734, + "id": 3745, "nodeType": "StructuredDocumentation", "src": "55268:144:10", "text": "@dev Deploys a deterministic minimal ERC1967 proxy with `implementation`, `args` and `salt`.\n Deposits `value` ETH during deployment." }, - "id": 3749, + "id": 3760, "implemented": true, "kind": "function", "modifiers": [], @@ -107308,17 +107198,17 @@ "nameLocation": "55426:26:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3743, + "id": 3754, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3736, + "id": 3747, "mutability": "mutable", "name": "value", "nameLocation": "55470:5:10", "nodeType": "VariableDeclaration", - "scope": 3749, + "scope": 3760, "src": "55462:13:10", "stateVariable": false, "storageLocation": "default", @@ -107327,7 +107217,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3735, + "id": 3746, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "55462:7:10", @@ -107340,12 +107230,12 @@ }, { "constant": false, - "id": 3738, + "id": 3749, "mutability": "mutable", "name": "implementation", "nameLocation": "55493:14:10", "nodeType": "VariableDeclaration", - "scope": 3749, + "scope": 3760, "src": "55485:22:10", "stateVariable": false, "storageLocation": "default", @@ -107354,7 +107244,7 @@ "typeString": "address" }, "typeName": { - "id": 3737, + "id": 3748, "name": "address", "nodeType": "ElementaryTypeName", "src": "55485:7:10", @@ -107368,12 +107258,12 @@ }, { "constant": false, - "id": 3740, + "id": 3751, "mutability": "mutable", "name": "args", "nameLocation": "55530:4:10", "nodeType": "VariableDeclaration", - "scope": 3749, + "scope": 3760, "src": "55517:17:10", "stateVariable": false, "storageLocation": "memory", @@ -107382,7 +107272,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3739, + "id": 3750, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "55517:5:10", @@ -107395,12 +107285,12 @@ }, { "constant": false, - "id": 3742, + "id": 3753, "mutability": "mutable", "name": "salt", "nameLocation": "55552:4:10", "nodeType": "VariableDeclaration", - "scope": 3749, + "scope": 3760, "src": "55544:12:10", "stateVariable": false, "storageLocation": "default", @@ -107409,7 +107299,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3741, + "id": 3752, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "55544:7:10", @@ -107424,17 +107314,17 @@ "src": "55452:110:10" }, "returnParameters": { - "id": 3746, + "id": 3757, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3745, + "id": 3756, "mutability": "mutable", "name": "instance", "nameLocation": "55589:8:10", "nodeType": "VariableDeclaration", - "scope": 3749, + "scope": 3760, "src": "55581:16:10", "stateVariable": false, "storageLocation": "default", @@ -107443,7 +107333,7 @@ "typeString": "address" }, "typeName": { - "id": 3744, + "id": 3755, "name": "address", "nodeType": "ElementaryTypeName", "src": "55581:7:10", @@ -107458,7 +107348,7 @@ ], "src": "55580:18:10" }, - "scope": 5093, + "scope": 5104, "src": "55417:1088:10", "stateMutability": "nonpayable", "virtual": false, @@ -107466,7 +107356,7 @@ }, { "body": { - "id": 3770, + "id": 3781, "nodeType": "Block", "src": "56926:81:10", "statements": [ @@ -107475,7 +107365,7 @@ "arguments": [ { "hexValue": "30", - "id": 3764, + "id": 3775, "isConstant": false, "isLValue": false, "isPure": true, @@ -107490,11 +107380,11 @@ "value": "0" }, { - "id": 3765, + "id": 3776, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3752, + "referencedDeclaration": 3763, "src": "56973:14:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -107502,11 +107392,11 @@ } }, { - "id": 3766, + "id": 3777, "name": "args", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3754, + "referencedDeclaration": 3765, "src": "56989:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -107514,11 +107404,11 @@ } }, { - "id": 3767, + "id": 3778, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3756, + "referencedDeclaration": 3767, "src": "56995:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -107545,23 +107435,23 @@ "typeString": "bytes32" } ], - "id": 3763, + "id": 3774, "name": "createDeterministicERC1967", "nodeType": "Identifier", "overloadedDeclarations": [ - 3615, - 3631, - 3771, - 3789 + 3626, + 3642, + 3782, + 3800 ], - "referencedDeclaration": 3789, + "referencedDeclaration": 3800, "src": "56943:26:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$_t_bytes32_$returns$_t_bool_$_t_address_$", "typeString": "function (uint256,address,bytes memory,bytes32) returns (bool,address)" } }, - "id": 3768, + "id": 3779, "isConstant": false, "isLValue": false, "isPure": false, @@ -107577,20 +107467,20 @@ "typeString": "tuple(bool,address)" } }, - "functionReturnParameters": 3762, - "id": 3769, + "functionReturnParameters": 3773, + "id": 3780, "nodeType": "Return", "src": "56936:64:10" } ] }, "documentation": { - "id": 3750, + "id": 3761, "nodeType": "StructuredDocumentation", "src": "56511:239:10", "text": "@dev Creates a deterministic minimal ERC1967 proxy with `implementation`, `args` and `salt`.\n Note: This method is intended for use in ERC4337 factories,\n which are expected to NOT revert if the proxy is already deployed." }, - "id": 3771, + "id": 3782, "implemented": true, "kind": "function", "modifiers": [], @@ -107598,17 +107488,17 @@ "nameLocation": "56764:26:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3757, + "id": 3768, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3752, + "id": 3763, "mutability": "mutable", "name": "implementation", "nameLocation": "56799:14:10", "nodeType": "VariableDeclaration", - "scope": 3771, + "scope": 3782, "src": "56791:22:10", "stateVariable": false, "storageLocation": "default", @@ -107617,7 +107507,7 @@ "typeString": "address" }, "typeName": { - "id": 3751, + "id": 3762, "name": "address", "nodeType": "ElementaryTypeName", "src": "56791:7:10", @@ -107631,12 +107521,12 @@ }, { "constant": false, - "id": 3754, + "id": 3765, "mutability": "mutable", "name": "args", "nameLocation": "56828:4:10", "nodeType": "VariableDeclaration", - "scope": 3771, + "scope": 3782, "src": "56815:17:10", "stateVariable": false, "storageLocation": "memory", @@ -107645,7 +107535,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3753, + "id": 3764, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "56815:5:10", @@ -107658,12 +107548,12 @@ }, { "constant": false, - "id": 3756, + "id": 3767, "mutability": "mutable", "name": "salt", "nameLocation": "56842:4:10", "nodeType": "VariableDeclaration", - "scope": 3771, + "scope": 3782, "src": "56834:12:10", "stateVariable": false, "storageLocation": "default", @@ -107672,7 +107562,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3755, + "id": 3766, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "56834:7:10", @@ -107687,17 +107577,17 @@ "src": "56790:57:10" }, "returnParameters": { - "id": 3762, + "id": 3773, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3759, + "id": 3770, "mutability": "mutable", "name": "alreadyDeployed", "nameLocation": "56887:15:10", "nodeType": "VariableDeclaration", - "scope": 3771, + "scope": 3782, "src": "56882:20:10", "stateVariable": false, "storageLocation": "default", @@ -107706,7 +107596,7 @@ "typeString": "bool" }, "typeName": { - "id": 3758, + "id": 3769, "name": "bool", "nodeType": "ElementaryTypeName", "src": "56882:4:10", @@ -107719,12 +107609,12 @@ }, { "constant": false, - "id": 3761, + "id": 3772, "mutability": "mutable", "name": "instance", "nameLocation": "56912:8:10", "nodeType": "VariableDeclaration", - "scope": 3771, + "scope": 3782, "src": "56904:16:10", "stateVariable": false, "storageLocation": "default", @@ -107733,7 +107623,7 @@ "typeString": "address" }, "typeName": { - "id": 3760, + "id": 3771, "name": "address", "nodeType": "ElementaryTypeName", "src": "56904:7:10", @@ -107748,7 +107638,7 @@ ], "src": "56881:40:10" }, - "scope": 5093, + "scope": 5104, "src": "56755:252:10", "stateMutability": "nonpayable", "virtual": false, @@ -107756,7 +107646,7 @@ }, { "body": { - "id": 3788, + "id": 3799, "nodeType": "Block", "src": "57509:1773:10", "statements": [ @@ -109023,117 +108913,117 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3783, + "declaration": 3794, "isOffset": false, "isSlot": false, "src": "58857:15:10", "valueSize": 1 }, { - "declaration": 3778, + "declaration": 3789, "isOffset": false, "isSlot": false, "src": "57633:4:10", "valueSize": 1 }, { - "declaration": 3778, + "declaration": 3789, "isOffset": false, "isSlot": false, "src": "57680:4:10", "valueSize": 1 }, { - "declaration": 3776, + "declaration": 3787, "isOffset": false, "isSlot": false, "src": "57974:14:10", "valueSize": 1 }, { - "declaration": 3785, + "declaration": 3796, "isOffset": false, "isSlot": false, "src": "58435:8:10", "valueSize": 1 }, { - "declaration": 3785, + "declaration": 3796, "isOffset": false, "isSlot": false, "src": "58533:8:10", "valueSize": 1 }, { - "declaration": 3785, + "declaration": 3796, "isOffset": false, "isSlot": false, "src": "58566:8:10", "valueSize": 1 }, { - "declaration": 3785, + "declaration": 3796, "isOffset": false, "isSlot": false, "src": "58646:8:10", "valueSize": 1 }, { - "declaration": 3785, + "declaration": 3796, "isOffset": false, "isSlot": false, "src": "58959:8:10", "valueSize": 1 }, { - "declaration": 3780, + "declaration": 3791, "isOffset": false, "isSlot": false, "src": "58417:4:10", "valueSize": 1 }, { - "declaration": 3780, + "declaration": 3791, "isOffset": false, "isSlot": false, "src": "58610:4:10", "valueSize": 1 }, { - "declaration": 3774, + "declaration": 3785, "isOffset": false, "isSlot": false, "src": "58586:5:10", "valueSize": 1 }, { - "declaration": 3774, + "declaration": 3785, "isOffset": false, "isSlot": false, "src": "58904:5:10", "valueSize": 1 }, { - "declaration": 3774, + "declaration": 3785, "isOffset": false, "isSlot": false, "src": "58969:5:10", "valueSize": 1 } ], - "id": 3787, + "id": 3798, "nodeType": "InlineAssembly", "src": "57562:1714:10" } ] }, "documentation": { - "id": 3772, + "id": 3783, "nodeType": "StructuredDocumentation", "src": "57013:287:10", "text": "@dev Creates a deterministic minimal ERC1967 proxy with `implementation`, `args` and `salt`.\n Deposits `value` ETH during deployment.\n Note: This method is intended for use in ERC4337 factories,\n which are expected to NOT revert if the proxy is already deployed." }, - "id": 3789, + "id": 3800, "implemented": true, "kind": "function", "modifiers": [], @@ -109141,17 +109031,17 @@ "nameLocation": "57314:26:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3781, + "id": 3792, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3774, + "id": 3785, "mutability": "mutable", "name": "value", "nameLocation": "57358:5:10", "nodeType": "VariableDeclaration", - "scope": 3789, + "scope": 3800, "src": "57350:13:10", "stateVariable": false, "storageLocation": "default", @@ -109160,7 +109050,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3773, + "id": 3784, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "57350:7:10", @@ -109173,12 +109063,12 @@ }, { "constant": false, - "id": 3776, + "id": 3787, "mutability": "mutable", "name": "implementation", "nameLocation": "57381:14:10", "nodeType": "VariableDeclaration", - "scope": 3789, + "scope": 3800, "src": "57373:22:10", "stateVariable": false, "storageLocation": "default", @@ -109187,7 +109077,7 @@ "typeString": "address" }, "typeName": { - "id": 3775, + "id": 3786, "name": "address", "nodeType": "ElementaryTypeName", "src": "57373:7:10", @@ -109201,12 +109091,12 @@ }, { "constant": false, - "id": 3778, + "id": 3789, "mutability": "mutable", "name": "args", "nameLocation": "57418:4:10", "nodeType": "VariableDeclaration", - "scope": 3789, + "scope": 3800, "src": "57405:17:10", "stateVariable": false, "storageLocation": "memory", @@ -109215,7 +109105,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3777, + "id": 3788, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "57405:5:10", @@ -109228,12 +109118,12 @@ }, { "constant": false, - "id": 3780, + "id": 3791, "mutability": "mutable", "name": "salt", "nameLocation": "57440:4:10", "nodeType": "VariableDeclaration", - "scope": 3789, + "scope": 3800, "src": "57432:12:10", "stateVariable": false, "storageLocation": "default", @@ -109242,7 +109132,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3779, + "id": 3790, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "57432:7:10", @@ -109257,17 +109147,17 @@ "src": "57340:110:10" }, "returnParameters": { - "id": 3786, + "id": 3797, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3783, + "id": 3794, "mutability": "mutable", "name": "alreadyDeployed", "nameLocation": "57474:15:10", "nodeType": "VariableDeclaration", - "scope": 3789, + "scope": 3800, "src": "57469:20:10", "stateVariable": false, "storageLocation": "default", @@ -109276,7 +109166,7 @@ "typeString": "bool" }, "typeName": { - "id": 3782, + "id": 3793, "name": "bool", "nodeType": "ElementaryTypeName", "src": "57469:4:10", @@ -109289,12 +109179,12 @@ }, { "constant": false, - "id": 3785, + "id": 3796, "mutability": "mutable", "name": "instance", "nameLocation": "57499:8:10", "nodeType": "VariableDeclaration", - "scope": 3789, + "scope": 3800, "src": "57491:16:10", "stateVariable": false, "storageLocation": "default", @@ -109303,7 +109193,7 @@ "typeString": "address" }, "typeName": { - "id": 3784, + "id": 3795, "name": "address", "nodeType": "ElementaryTypeName", "src": "57491:7:10", @@ -109318,7 +109208,7 @@ ], "src": "57468:40:10" }, - "scope": 5093, + "scope": 5104, "src": "57305:1977:10", "stateMutability": "nonpayable", "virtual": false, @@ -109326,7 +109216,7 @@ }, { "body": { - "id": 3800, + "id": 3811, "nodeType": "Block", "src": "59529:1032:10", "statements": [ @@ -110212,110 +110102,110 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3794, + "declaration": 3805, "isOffset": false, "isSlot": false, "src": "59649:4:10", "valueSize": 1 }, { - "declaration": 3794, + "declaration": 3805, "isOffset": false, "isSlot": false, "src": "59943:4:10", "valueSize": 1 }, { - "declaration": 3797, + "declaration": 3808, "isOffset": false, "isSlot": false, "src": "59605:1:10", "valueSize": 1 }, { - "declaration": 3797, + "declaration": 3808, "isOffset": false, "isSlot": false, "src": "59915:1:10", "valueSize": 1 }, { - "declaration": 3797, + "declaration": 3808, "isOffset": false, "isSlot": false, "src": "59998:1:10", "valueSize": 1 }, { - "declaration": 3797, + "declaration": 3808, "isOffset": false, "isSlot": false, "src": "60099:1:10", "valueSize": 1 }, { - "declaration": 3797, + "declaration": 3808, "isOffset": false, "isSlot": false, "src": "60200:1:10", "valueSize": 1 }, { - "declaration": 3797, + "declaration": 3808, "isOffset": false, "isSlot": false, "src": "60241:1:10", "valueSize": 1 }, { - "declaration": 3797, + "declaration": 3808, "isOffset": false, "isSlot": false, "src": "60290:1:10", "valueSize": 1 }, { - "declaration": 3797, + "declaration": 3808, "isOffset": false, "isSlot": false, "src": "60360:1:10", "valueSize": 1 }, { - "declaration": 3797, + "declaration": 3808, "isOffset": false, "isSlot": false, "src": "60421:1:10", "valueSize": 1 }, { - "declaration": 3797, + "declaration": 3808, "isOffset": false, "isSlot": false, "src": "60508:1:10", "valueSize": 1 }, { - "declaration": 3792, + "declaration": 3803, "isOffset": false, "isSlot": false, "src": "60251:14:10", "valueSize": 1 } ], - "id": 3799, + "id": 3810, "nodeType": "InlineAssembly", "src": "59582:973:10" } ] }, "documentation": { - "id": 3790, + "id": 3801, "nodeType": "StructuredDocumentation", "src": "59288:101:10", "text": "@dev Returns the initialization code of the minimal ERC1967 proxy of `implementation` and `args`." }, - "id": 3801, + "id": 3812, "implemented": true, "kind": "function", "modifiers": [], @@ -110323,17 +110213,17 @@ "nameLocation": "59403:15:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3795, + "id": 3806, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3792, + "id": 3803, "mutability": "mutable", "name": "implementation", "nameLocation": "59427:14:10", "nodeType": "VariableDeclaration", - "scope": 3801, + "scope": 3812, "src": "59419:22:10", "stateVariable": false, "storageLocation": "default", @@ -110342,7 +110232,7 @@ "typeString": "address" }, "typeName": { - "id": 3791, + "id": 3802, "name": "address", "nodeType": "ElementaryTypeName", "src": "59419:7:10", @@ -110356,12 +110246,12 @@ }, { "constant": false, - "id": 3794, + "id": 3805, "mutability": "mutable", "name": "args", "nameLocation": "59456:4:10", "nodeType": "VariableDeclaration", - "scope": 3801, + "scope": 3812, "src": "59443:17:10", "stateVariable": false, "storageLocation": "memory", @@ -110370,7 +110260,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3793, + "id": 3804, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "59443:5:10", @@ -110385,17 +110275,17 @@ "src": "59418:43:10" }, "returnParameters": { - "id": 3798, + "id": 3809, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3797, + "id": 3808, "mutability": "mutable", "name": "c", "nameLocation": "59522:1:10", "nodeType": "VariableDeclaration", - "scope": 3801, + "scope": 3812, "src": "59509:14:10", "stateVariable": false, "storageLocation": "memory", @@ -110404,7 +110294,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3796, + "id": 3807, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "59509:5:10", @@ -110418,7 +110308,7 @@ ], "src": "59508:16:10" }, - "scope": 5093, + "scope": 5104, "src": "59394:1167:10", "stateMutability": "pure", "virtual": false, @@ -110426,7 +110316,7 @@ }, { "body": { - "id": 3812, + "id": 3823, "nodeType": "Block", "src": "60815:889:10", "statements": [ @@ -111165,47 +111055,47 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3806, + "declaration": 3817, "isOffset": false, "isSlot": false, "src": "60939:4:10", "valueSize": 1 }, { - "declaration": 3806, + "declaration": 3817, "isOffset": false, "isSlot": false, "src": "61233:4:10", "valueSize": 1 }, { - "declaration": 3809, + "declaration": 3820, "isOffset": false, "isSlot": false, "src": "61654:4:10", "valueSize": 1 }, { - "declaration": 3804, + "declaration": 3815, "isOffset": false, "isSlot": false, "src": "61525:14:10", "valueSize": 1 } ], - "id": 3811, + "id": 3822, "nodeType": "InlineAssembly", "src": "60868:830:10" } ] }, "documentation": { - "id": 3802, + "id": 3813, "nodeType": "StructuredDocumentation", "src": "60567:106:10", "text": "@dev Returns the initialization code hash of the minimal ERC1967 proxy of `implementation` and `args`." }, - "id": 3813, + "id": 3824, "implemented": true, "kind": "function", "modifiers": [], @@ -111213,17 +111103,17 @@ "nameLocation": "60687:19:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3807, + "id": 3818, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3804, + "id": 3815, "mutability": "mutable", "name": "implementation", "nameLocation": "60715:14:10", "nodeType": "VariableDeclaration", - "scope": 3813, + "scope": 3824, "src": "60707:22:10", "stateVariable": false, "storageLocation": "default", @@ -111232,7 +111122,7 @@ "typeString": "address" }, "typeName": { - "id": 3803, + "id": 3814, "name": "address", "nodeType": "ElementaryTypeName", "src": "60707:7:10", @@ -111246,12 +111136,12 @@ }, { "constant": false, - "id": 3806, + "id": 3817, "mutability": "mutable", "name": "args", "nameLocation": "60744:4:10", "nodeType": "VariableDeclaration", - "scope": 3813, + "scope": 3824, "src": "60731:17:10", "stateVariable": false, "storageLocation": "memory", @@ -111260,7 +111150,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3805, + "id": 3816, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "60731:5:10", @@ -111275,17 +111165,17 @@ "src": "60706:43:10" }, "returnParameters": { - "id": 3810, + "id": 3821, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3809, + "id": 3820, "mutability": "mutable", "name": "hash", "nameLocation": "60805:4:10", "nodeType": "VariableDeclaration", - "scope": 3813, + "scope": 3824, "src": "60797:12:10", "stateVariable": false, "storageLocation": "default", @@ -111294,7 +111184,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3808, + "id": 3819, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "60797:7:10", @@ -111308,7 +111198,7 @@ ], "src": "60796:14:10" }, - "scope": 5093, + "scope": 5104, "src": "60678:1026:10", "stateMutability": "pure", "virtual": false, @@ -111316,23 +111206,23 @@ }, { "body": { - "id": 3842, + "id": 3853, "nodeType": "Block", "src": "62112:144:10", "statements": [ { "assignments": [ - 3828 + 3839 ], "declarations": [ { "constant": false, - "id": 3828, + "id": 3839, "mutability": "mutable", "name": "hash", "nameLocation": "62130:4:10", "nodeType": "VariableDeclaration", - "scope": 3842, + "scope": 3853, "src": "62122:12:10", "stateVariable": false, "storageLocation": "default", @@ -111341,7 +111231,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3827, + "id": 3838, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "62122:7:10", @@ -111353,15 +111243,15 @@ "visibility": "internal" } ], - "id": 3833, + "id": 3844, "initialValue": { "arguments": [ { - "id": 3830, + "id": 3841, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3816, + "referencedDeclaration": 3827, "src": "62157:14:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -111369,11 +111259,11 @@ } }, { - "id": 3831, + "id": 3842, "name": "args", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3818, + "referencedDeclaration": 3829, "src": "62173:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -111392,21 +111282,21 @@ "typeString": "bytes memory" } ], - "id": 3829, + "id": 3840, "name": "initCodeHashERC1967", "nodeType": "Identifier", "overloadedDeclarations": [ - 3651, - 3813 + 3662, + 3824 ], - "referencedDeclaration": 3813, + "referencedDeclaration": 3824, "src": "62137:19:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (address,bytes memory) pure returns (bytes32)" } }, - "id": 3832, + "id": 3843, "isConstant": false, "isLValue": false, "isPure": false, @@ -111427,17 +111317,17 @@ }, { "expression": { - "id": 3840, + "id": 3851, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 3834, + "id": 3845, "name": "predicted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3825, + "referencedDeclaration": 3836, "src": "62188:9:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -111449,11 +111339,11 @@ "rightHandSide": { "arguments": [ { - "id": 3836, + "id": 3847, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3828, + "referencedDeclaration": 3839, "src": "62228:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -111461,11 +111351,11 @@ } }, { - "id": 3837, + "id": 3848, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3820, + "referencedDeclaration": 3831, "src": "62234:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -111473,11 +111363,11 @@ } }, { - "id": 3838, + "id": 3849, "name": "deployer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3822, + "referencedDeclaration": 3833, "src": "62240:8:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -111500,22 +111390,22 @@ "typeString": "address" } ], - "id": 3835, + "id": 3846, "name": "predictDeterministicAddress", "nodeType": "Identifier", "overloadedDeclarations": [ - 3226, - 3499, - 5070 + 3237, + 3510, + 5081 ], - "referencedDeclaration": 5070, + "referencedDeclaration": 5081, "src": "62200:27:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_address_$", "typeString": "function (bytes32,bytes32,address) pure returns (address)" } }, - "id": 3839, + "id": 3850, "isConstant": false, "isLValue": false, "isPure": false, @@ -111537,19 +111427,19 @@ "typeString": "address" } }, - "id": 3841, + "id": 3852, "nodeType": "ExpressionStatement", "src": "62188:61:10" } ] }, "documentation": { - "id": 3814, + "id": 3825, "nodeType": "StructuredDocumentation", "src": "61710:198:10", "text": "@dev Returns the address of the ERC1967 proxy of `implementation`, `args`, with `salt` by `deployer`.\n Note: The returned result has dirty upper 96 bits. Please clean if used in assembly." }, - "id": 3843, + "id": 3854, "implemented": true, "kind": "function", "modifiers": [], @@ -111557,17 +111447,17 @@ "nameLocation": "61922:34:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3823, + "id": 3834, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3816, + "id": 3827, "mutability": "mutable", "name": "implementation", "nameLocation": "61974:14:10", "nodeType": "VariableDeclaration", - "scope": 3843, + "scope": 3854, "src": "61966:22:10", "stateVariable": false, "storageLocation": "default", @@ -111576,7 +111466,7 @@ "typeString": "address" }, "typeName": { - "id": 3815, + "id": 3826, "name": "address", "nodeType": "ElementaryTypeName", "src": "61966:7:10", @@ -111590,12 +111480,12 @@ }, { "constant": false, - "id": 3818, + "id": 3829, "mutability": "mutable", "name": "args", "nameLocation": "62011:4:10", "nodeType": "VariableDeclaration", - "scope": 3843, + "scope": 3854, "src": "61998:17:10", "stateVariable": false, "storageLocation": "memory", @@ -111604,7 +111494,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3817, + "id": 3828, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "61998:5:10", @@ -111617,12 +111507,12 @@ }, { "constant": false, - "id": 3820, + "id": 3831, "mutability": "mutable", "name": "salt", "nameLocation": "62033:4:10", "nodeType": "VariableDeclaration", - "scope": 3843, + "scope": 3854, "src": "62025:12:10", "stateVariable": false, "storageLocation": "default", @@ -111631,7 +111521,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3819, + "id": 3830, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "62025:7:10", @@ -111644,12 +111534,12 @@ }, { "constant": false, - "id": 3822, + "id": 3833, "mutability": "mutable", "name": "deployer", "nameLocation": "62055:8:10", "nodeType": "VariableDeclaration", - "scope": 3843, + "scope": 3854, "src": "62047:16:10", "stateVariable": false, "storageLocation": "default", @@ -111658,7 +111548,7 @@ "typeString": "address" }, "typeName": { - "id": 3821, + "id": 3832, "name": "address", "nodeType": "ElementaryTypeName", "src": "62047:7:10", @@ -111674,17 +111564,17 @@ "src": "61956:113:10" }, "returnParameters": { - "id": 3826, + "id": 3837, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3825, + "id": 3836, "mutability": "mutable", "name": "predicted", "nameLocation": "62101:9:10", "nodeType": "VariableDeclaration", - "scope": 3843, + "scope": 3854, "src": "62093:17:10", "stateVariable": false, "storageLocation": "default", @@ -111693,7 +111583,7 @@ "typeString": "address" }, "typeName": { - "id": 3824, + "id": 3835, "name": "address", "nodeType": "ElementaryTypeName", "src": "62093:7:10", @@ -111708,7 +111598,7 @@ ], "src": "62092:19:10" }, - "scope": 5093, + "scope": 5104, "src": "61913:343:10", "stateMutability": "pure", "virtual": false, @@ -111716,7 +111606,7 @@ }, { "body": { - "id": 3852, + "id": 3863, "nodeType": "Block", "src": "62420:371:10", "statements": [ @@ -112035,75 +111925,75 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3849, + "declaration": 3860, "isOffset": false, "isSlot": false, "src": "62496:4:10", "valueSize": 1 }, { - "declaration": 3849, + "declaration": 3860, "isOffset": false, "isSlot": false, "src": "62535:4:10", "valueSize": 1 }, { - "declaration": 3849, + "declaration": 3860, "isOffset": false, "isSlot": false, "src": "62653:4:10", "valueSize": 1 }, { - "declaration": 3849, + "declaration": 3860, "isOffset": false, "isSlot": false, "src": "62682:4:10", "valueSize": 1 }, { - "declaration": 3849, + "declaration": 3860, "isOffset": false, "isSlot": false, "src": "62731:4:10", "valueSize": 1 }, { - "declaration": 3849, + "declaration": 3860, "isOffset": false, "isSlot": false, "src": "62742:4:10", "valueSize": 1 }, { - "declaration": 3846, + "declaration": 3857, "isOffset": false, "isSlot": false, "src": "62575:8:10", "valueSize": 1 }, { - "declaration": 3846, + "declaration": 3857, "isOffset": false, "isSlot": false, "src": "62639:8:10", "valueSize": 1 } ], - "id": 3851, + "id": 3862, "nodeType": "InlineAssembly", "src": "62473:312:10" } ] }, "documentation": { - "id": 3844, + "id": 3855, "nodeType": "StructuredDocumentation", "src": "62262:70:10", "text": "@dev Equivalent to `argsOnERC1967(instance, start, 2 ** 256 - 1)`." }, - "id": 3853, + "id": 3864, "implemented": true, "kind": "function", "modifiers": [], @@ -112111,17 +112001,17 @@ "nameLocation": "62346:13:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3847, + "id": 3858, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3846, + "id": 3857, "mutability": "mutable", "name": "instance", "nameLocation": "62368:8:10", "nodeType": "VariableDeclaration", - "scope": 3853, + "scope": 3864, "src": "62360:16:10", "stateVariable": false, "storageLocation": "default", @@ -112130,7 +112020,7 @@ "typeString": "address" }, "typeName": { - "id": 3845, + "id": 3856, "name": "address", "nodeType": "ElementaryTypeName", "src": "62360:7:10", @@ -112146,17 +112036,17 @@ "src": "62359:18:10" }, "returnParameters": { - "id": 3850, + "id": 3861, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3849, + "id": 3860, "mutability": "mutable", "name": "args", "nameLocation": "62414:4:10", "nodeType": "VariableDeclaration", - "scope": 3853, + "scope": 3864, "src": "62401:17:10", "stateVariable": false, "storageLocation": "memory", @@ -112165,7 +112055,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3848, + "id": 3859, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "62401:5:10", @@ -112179,7 +112069,7 @@ ], "src": "62400:19:10" }, - "scope": 5093, + "scope": 5104, "src": "62337:454:10", "stateMutability": "view", "virtual": false, @@ -112187,7 +112077,7 @@ }, { "body": { - "id": 3864, + "id": 3875, "nodeType": "Block", "src": "62998:485:10", "statements": [ @@ -112666,103 +112556,103 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3861, + "declaration": 3872, "isOffset": false, "isSlot": false, "src": "63074:4:10", "valueSize": 1 }, { - "declaration": 3861, + "declaration": 3872, "isOffset": false, "isSlot": false, "src": "63270:4:10", "valueSize": 1 }, { - "declaration": 3861, + "declaration": 3872, "isOffset": false, "isSlot": false, "src": "63327:4:10", "valueSize": 1 }, { - "declaration": 3861, + "declaration": 3872, "isOffset": false, "isSlot": false, "src": "63417:4:10", "valueSize": 1 }, { - "declaration": 3861, + "declaration": 3872, "isOffset": false, "isSlot": false, "src": "63439:4:10", "valueSize": 1 }, { - "declaration": 3856, + "declaration": 3867, "isOffset": false, "isSlot": false, "src": "63149:8:10", "valueSize": 1 }, { - "declaration": 3856, + "declaration": 3867, "isOffset": false, "isSlot": false, "src": "63260:8:10", "valueSize": 1 }, { - "declaration": 3858, + "declaration": 3869, "isOffset": false, "isSlot": false, "src": "63216:5:10", "valueSize": 1 }, { - "declaration": 3858, + "declaration": 3869, "isOffset": false, "isSlot": false, "src": "63227:5:10", "valueSize": 1 }, { - "declaration": 3858, + "declaration": 3869, "isOffset": false, "isSlot": false, "src": "63280:5:10", "valueSize": 1 }, { - "declaration": 3858, + "declaration": 3869, "isOffset": false, "isSlot": false, "src": "63344:5:10", "valueSize": 1 }, { - "declaration": 3858, + "declaration": 3869, "isOffset": false, "isSlot": false, "src": "63355:5:10", "valueSize": 1 } ], - "id": 3863, + "id": 3874, "nodeType": "InlineAssembly", "src": "63051:426:10" } ] }, "documentation": { - "id": 3854, + "id": 3865, "nodeType": "StructuredDocumentation", "src": "62797:70:10", "text": "@dev Equivalent to `argsOnERC1967(instance, start, 2 ** 256 - 1)`." }, - "id": 3865, + "id": 3876, "implemented": true, "kind": "function", "modifiers": [], @@ -112770,17 +112660,17 @@ "nameLocation": "62881:13:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3859, + "id": 3870, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3856, + "id": 3867, "mutability": "mutable", "name": "instance", "nameLocation": "62903:8:10", "nodeType": "VariableDeclaration", - "scope": 3865, + "scope": 3876, "src": "62895:16:10", "stateVariable": false, "storageLocation": "default", @@ -112789,7 +112679,7 @@ "typeString": "address" }, "typeName": { - "id": 3855, + "id": 3866, "name": "address", "nodeType": "ElementaryTypeName", "src": "62895:7:10", @@ -112803,12 +112693,12 @@ }, { "constant": false, - "id": 3858, + "id": 3869, "mutability": "mutable", "name": "start", "nameLocation": "62921:5:10", "nodeType": "VariableDeclaration", - "scope": 3865, + "scope": 3876, "src": "62913:13:10", "stateVariable": false, "storageLocation": "default", @@ -112817,7 +112707,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3857, + "id": 3868, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "62913:7:10", @@ -112832,17 +112722,17 @@ "src": "62894:33:10" }, "returnParameters": { - "id": 3862, + "id": 3873, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3861, + "id": 3872, "mutability": "mutable", "name": "args", "nameLocation": "62988:4:10", "nodeType": "VariableDeclaration", - "scope": 3865, + "scope": 3876, "src": "62975:17:10", "stateVariable": false, "storageLocation": "memory", @@ -112851,7 +112741,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3860, + "id": 3871, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "62975:5:10", @@ -112865,7 +112755,7 @@ ], "src": "62974:19:10" }, - "scope": 5093, + "scope": 5104, "src": "62872:611:10", "stateMutability": "view", "virtual": false, @@ -112873,7 +112763,7 @@ }, { "body": { - "id": 3878, + "id": 3889, "nodeType": "Block", "src": "63994:785:10", "statements": [ @@ -113671,145 +113561,145 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3875, + "declaration": 3886, "isOffset": false, "isSlot": false, "src": "64070:4:10", "valueSize": 1 }, { - "declaration": 3875, + "declaration": 3886, "isOffset": false, "isSlot": false, "src": "64239:4:10", "valueSize": 1 }, { - "declaration": 3875, + "declaration": 3886, "isOffset": false, "isSlot": false, "src": "64319:4:10", "valueSize": 1 }, { - "declaration": 3875, + "declaration": 3886, "isOffset": false, "isSlot": false, "src": "64580:4:10", "valueSize": 1 }, { - "declaration": 3875, + "declaration": 3886, "isOffset": false, "isSlot": false, "src": "64637:4:10", "valueSize": 1 }, { - "declaration": 3875, + "declaration": 3886, "isOffset": false, "isSlot": false, "src": "64727:4:10", "valueSize": 1 }, { - "declaration": 3872, + "declaration": 3883, "isOffset": false, "isSlot": false, "src": "64115:3:10", "valueSize": 1 }, { - "declaration": 3872, + "declaration": 3883, "isOffset": false, "isSlot": false, "src": "64131:3:10", "valueSize": 1 }, { - "declaration": 3872, + "declaration": 3883, "isOffset": false, "isSlot": false, "src": "64176:3:10", "valueSize": 1 }, { - "declaration": 3872, + "declaration": 3883, "isOffset": false, "isSlot": false, "src": "64199:3:10", "valueSize": 1 }, { - "declaration": 3872, + "declaration": 3883, "isOffset": false, "isSlot": false, "src": "64523:3:10", "valueSize": 1 }, { - "declaration": 3872, + "declaration": 3883, "isOffset": false, "isSlot": false, "src": "64536:3:10", "valueSize": 1 }, { - "declaration": 3868, + "declaration": 3879, "isOffset": false, "isSlot": false, "src": "64229:8:10", "valueSize": 1 }, { - "declaration": 3868, + "declaration": 3879, "isOffset": false, "isSlot": false, "src": "64374:8:10", "valueSize": 1 }, { - "declaration": 3870, + "declaration": 3881, "isOffset": false, "isSlot": false, "src": "64181:5:10", "valueSize": 1 }, { - "declaration": 3870, + "declaration": 3881, "isOffset": false, "isSlot": false, "src": "64192:5:10", "valueSize": 1 }, { - "declaration": 3870, + "declaration": 3881, "isOffset": false, "isSlot": false, "src": "64249:5:10", "valueSize": 1 }, { - "declaration": 3870, + "declaration": 3881, "isOffset": false, "isSlot": false, "src": "64501:5:10", "valueSize": 1 } ], - "id": 3877, + "id": 3888, "nodeType": "InlineAssembly", "src": "64047:726:10" } ] }, "documentation": { - "id": 3866, + "id": 3877, "nodeType": "StructuredDocumentation", "src": "63489:361:10", "text": "@dev Returns a slice of the immutable arguments on `instance` from `start` to `end`.\n `start` and `end` will be clamped to the range `[0, args.length]`.\n The `instance` MUST be deployed via the ERC1967 with immutable args functions.\n Otherwise, the behavior is undefined.\n Out-of-gas reverts if `instance` does not have any code." }, - "id": 3879, + "id": 3890, "implemented": true, "kind": "function", "modifiers": [], @@ -113817,17 +113707,17 @@ "nameLocation": "63864:13:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3873, + "id": 3884, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3868, + "id": 3879, "mutability": "mutable", "name": "instance", "nameLocation": "63886:8:10", "nodeType": "VariableDeclaration", - "scope": 3879, + "scope": 3890, "src": "63878:16:10", "stateVariable": false, "storageLocation": "default", @@ -113836,7 +113726,7 @@ "typeString": "address" }, "typeName": { - "id": 3867, + "id": 3878, "name": "address", "nodeType": "ElementaryTypeName", "src": "63878:7:10", @@ -113850,12 +113740,12 @@ }, { "constant": false, - "id": 3870, + "id": 3881, "mutability": "mutable", "name": "start", "nameLocation": "63904:5:10", "nodeType": "VariableDeclaration", - "scope": 3879, + "scope": 3890, "src": "63896:13:10", "stateVariable": false, "storageLocation": "default", @@ -113864,7 +113754,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3869, + "id": 3880, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "63896:7:10", @@ -113877,12 +113767,12 @@ }, { "constant": false, - "id": 3872, + "id": 3883, "mutability": "mutable", "name": "end", "nameLocation": "63919:3:10", "nodeType": "VariableDeclaration", - "scope": 3879, + "scope": 3890, "src": "63911:11:10", "stateVariable": false, "storageLocation": "default", @@ -113891,7 +113781,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3871, + "id": 3882, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "63911:7:10", @@ -113906,17 +113796,17 @@ "src": "63877:46:10" }, "returnParameters": { - "id": 3876, + "id": 3887, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3875, + "id": 3886, "mutability": "mutable", "name": "args", "nameLocation": "63984:4:10", "nodeType": "VariableDeclaration", - "scope": 3879, + "scope": 3890, "src": "63971:17:10", "stateVariable": false, "storageLocation": "memory", @@ -113925,7 +113815,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3874, + "id": 3885, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "63971:5:10", @@ -113939,7 +113829,7 @@ ], "src": "63970:19:10" }, - "scope": 5093, + "scope": 5104, "src": "63855:924:10", "stateMutability": "view", "virtual": false, @@ -113947,23 +113837,23 @@ }, { "body": { - "id": 3894, + "id": 3905, "nodeType": "Block", "src": "65538:61:10", "statements": [ { "expression": { - "id": 3892, + "id": 3903, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 3887, + "id": 3898, "name": "instance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3885, + "referencedDeclaration": 3896, "src": "65548:8:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -113976,7 +113866,7 @@ "arguments": [ { "hexValue": "30", - "id": 3889, + "id": 3900, "isConstant": false, "isLValue": false, "isPure": true, @@ -113991,11 +113881,11 @@ "value": "0" }, { - "id": 3890, + "id": 3901, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3882, + "referencedDeclaration": 3893, "src": "65577:14:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -114014,23 +113904,23 @@ "typeString": "address" } ], - "id": 3888, + "id": 3899, "name": "deployERC1967I", "nodeType": "Identifier", "overloadedDeclarations": [ - 3895, - 3907, - 4039, - 4053 + 3906, + 3918, + 4050, + 4064 ], - "referencedDeclaration": 3907, + "referencedDeclaration": 3918, "src": "65559:14:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$returns$_t_address_$", "typeString": "function (uint256,address) returns (address)" } }, - "id": 3891, + "id": 3902, "isConstant": false, "isLValue": false, "isPure": false, @@ -114052,19 +113942,19 @@ "typeString": "address" } }, - "id": 3893, + "id": 3904, "nodeType": "ExpressionStatement", "src": "65548:44:10" } ] }, "documentation": { - "id": 3880, + "id": 3891, "nodeType": "StructuredDocumentation", "src": "65393:56:10", "text": "@dev Deploys a ERC1967I proxy with `implementation`." }, - "id": 3895, + "id": 3906, "implemented": true, "kind": "function", "modifiers": [], @@ -114072,17 +113962,17 @@ "nameLocation": "65463:14:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3883, + "id": 3894, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3882, + "id": 3893, "mutability": "mutable", "name": "implementation", "nameLocation": "65486:14:10", "nodeType": "VariableDeclaration", - "scope": 3895, + "scope": 3906, "src": "65478:22:10", "stateVariable": false, "storageLocation": "default", @@ -114091,7 +113981,7 @@ "typeString": "address" }, "typeName": { - "id": 3881, + "id": 3892, "name": "address", "nodeType": "ElementaryTypeName", "src": "65478:7:10", @@ -114107,17 +113997,17 @@ "src": "65477:24:10" }, "returnParameters": { - "id": 3886, + "id": 3897, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3885, + "id": 3896, "mutability": "mutable", "name": "instance", "nameLocation": "65528:8:10", "nodeType": "VariableDeclaration", - "scope": 3895, + "scope": 3906, "src": "65520:16:10", "stateVariable": false, "storageLocation": "default", @@ -114126,7 +114016,7 @@ "typeString": "address" }, "typeName": { - "id": 3884, + "id": 3895, "name": "address", "nodeType": "ElementaryTypeName", "src": "65520:7:10", @@ -114141,7 +114031,7 @@ ], "src": "65519:18:10" }, - "scope": 5093, + "scope": 5104, "src": "65454:145:10", "stateMutability": "nonpayable", "virtual": false, @@ -114149,7 +114039,7 @@ }, { "body": { - "id": 3906, + "id": 3917, "nodeType": "Block", "src": "65833:8789:10", "statements": [ @@ -114631,47 +114521,47 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3900, + "declaration": 3911, "isOffset": false, "isSlot": false, "src": "74271:14:10", "valueSize": 1 }, { - "declaration": 3903, + "declaration": 3914, "isOffset": false, "isSlot": false, "src": "74302:8:10", "valueSize": 1 }, { - "declaration": 3903, + "declaration": 3914, "isOffset": false, "isSlot": false, "src": "74362:8:10", "valueSize": 1 }, { - "declaration": 3898, + "declaration": 3909, "isOffset": false, "isSlot": false, "src": "74321:5:10", "valueSize": 1 } ], - "id": 3905, + "id": 3916, "nodeType": "InlineAssembly", "src": "65886:8730:10" } ] }, "documentation": { - "id": 3896, + "id": 3907, "nodeType": "StructuredDocumentation", "src": "65605:104:10", "text": "@dev Deploys a ERC1967I proxy with `implementation`.\n Deposits `value` ETH during deployment." }, - "id": 3907, + "id": 3918, "implemented": true, "kind": "function", "modifiers": [], @@ -114679,17 +114569,17 @@ "nameLocation": "65723:14:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3901, + "id": 3912, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3898, + "id": 3909, "mutability": "mutable", "name": "value", "nameLocation": "65746:5:10", "nodeType": "VariableDeclaration", - "scope": 3907, + "scope": 3918, "src": "65738:13:10", "stateVariable": false, "storageLocation": "default", @@ -114698,7 +114588,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3897, + "id": 3908, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "65738:7:10", @@ -114711,12 +114601,12 @@ }, { "constant": false, - "id": 3900, + "id": 3911, "mutability": "mutable", "name": "implementation", "nameLocation": "65761:14:10", "nodeType": "VariableDeclaration", - "scope": 3907, + "scope": 3918, "src": "65753:22:10", "stateVariable": false, "storageLocation": "default", @@ -114725,7 +114615,7 @@ "typeString": "address" }, "typeName": { - "id": 3899, + "id": 3910, "name": "address", "nodeType": "ElementaryTypeName", "src": "65753:7:10", @@ -114741,17 +114631,17 @@ "src": "65737:39:10" }, "returnParameters": { - "id": 3904, + "id": 3915, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3903, + "id": 3914, "mutability": "mutable", "name": "instance", "nameLocation": "65819:8:10", "nodeType": "VariableDeclaration", - "scope": 3907, + "scope": 3918, "src": "65811:16:10", "stateVariable": false, "storageLocation": "default", @@ -114760,7 +114650,7 @@ "typeString": "address" }, "typeName": { - "id": 3902, + "id": 3913, "name": "address", "nodeType": "ElementaryTypeName", "src": "65811:7:10", @@ -114775,7 +114665,7 @@ ], "src": "65810:18:10" }, - "scope": 5093, + "scope": 5104, "src": "65714:8908:10", "stateMutability": "nonpayable", "virtual": false, @@ -114783,23 +114673,23 @@ }, { "body": { - "id": 3925, + "id": 3936, "nodeType": "Block", "src": "74845:80:10", "statements": [ { "expression": { - "id": 3923, + "id": 3934, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 3917, + "id": 3928, "name": "instance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3915, + "referencedDeclaration": 3926, "src": "74855:8:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -114812,7 +114702,7 @@ "arguments": [ { "hexValue": "30", - "id": 3919, + "id": 3930, "isConstant": false, "isLValue": false, "isPure": true, @@ -114827,11 +114717,11 @@ "value": "0" }, { - "id": 3920, + "id": 3931, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3910, + "referencedDeclaration": 3921, "src": "74897:14:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -114839,11 +114729,11 @@ } }, { - "id": 3921, + "id": 3932, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3912, + "referencedDeclaration": 3923, "src": "74913:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -114866,23 +114756,23 @@ "typeString": "bytes32" } ], - "id": 3918, + "id": 3929, "name": "deployDeterministicERC1967I", "nodeType": "Identifier", "overloadedDeclarations": [ - 3926, - 3940, - 4075, - 4091 + 3937, + 3951, + 4086, + 4102 ], - "referencedDeclaration": 3940, + "referencedDeclaration": 3951, "src": "74866:27:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes32_$returns$_t_address_$", "typeString": "function (uint256,address,bytes32) returns (address)" } }, - "id": 3922, + "id": 3933, "isConstant": false, "isLValue": false, "isPure": false, @@ -114904,19 +114794,19 @@ "typeString": "address" } }, - "id": 3924, + "id": 3935, "nodeType": "ExpressionStatement", "src": "74855:63:10" } ] }, "documentation": { - "id": 3908, + "id": 3919, "nodeType": "StructuredDocumentation", "src": "74628:81:10", "text": "@dev Deploys a deterministic ERC1967I proxy with `implementation` and `salt`." }, - "id": 3926, + "id": 3937, "implemented": true, "kind": "function", "modifiers": [], @@ -114924,17 +114814,17 @@ "nameLocation": "74723:27:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3913, + "id": 3924, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3910, + "id": 3921, "mutability": "mutable", "name": "implementation", "nameLocation": "74759:14:10", "nodeType": "VariableDeclaration", - "scope": 3926, + "scope": 3937, "src": "74751:22:10", "stateVariable": false, "storageLocation": "default", @@ -114943,7 +114833,7 @@ "typeString": "address" }, "typeName": { - "id": 3909, + "id": 3920, "name": "address", "nodeType": "ElementaryTypeName", "src": "74751:7:10", @@ -114957,12 +114847,12 @@ }, { "constant": false, - "id": 3912, + "id": 3923, "mutability": "mutable", "name": "salt", "nameLocation": "74783:4:10", "nodeType": "VariableDeclaration", - "scope": 3926, + "scope": 3937, "src": "74775:12:10", "stateVariable": false, "storageLocation": "default", @@ -114971,7 +114861,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3911, + "id": 3922, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "74775:7:10", @@ -114986,17 +114876,17 @@ "src": "74750:38:10" }, "returnParameters": { - "id": 3916, + "id": 3927, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3915, + "id": 3926, "mutability": "mutable", "name": "instance", "nameLocation": "74831:8:10", "nodeType": "VariableDeclaration", - "scope": 3926, + "scope": 3937, "src": "74823:16:10", "stateVariable": false, "storageLocation": "default", @@ -115005,7 +114895,7 @@ "typeString": "address" }, "typeName": { - "id": 3914, + "id": 3925, "name": "address", "nodeType": "ElementaryTypeName", "src": "74823:7:10", @@ -115020,7 +114910,7 @@ ], "src": "74822:18:10" }, - "scope": 5093, + "scope": 5104, "src": "74714:211:10", "stateMutability": "nonpayable", "virtual": false, @@ -115028,7 +114918,7 @@ }, { "body": { - "id": 3939, + "id": 3950, "nodeType": "Block", "src": "75211:826:10", "statements": [ @@ -115516,54 +115406,54 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3931, + "declaration": 3942, "isOffset": false, "isSlot": false, "src": "75679:14:10", "valueSize": 1 }, { - "declaration": 3936, + "declaration": 3947, "isOffset": false, "isSlot": false, "src": "75710:8:10", "valueSize": 1 }, { - "declaration": 3936, + "declaration": 3947, "isOffset": false, "isSlot": false, "src": "75777:8:10", "valueSize": 1 }, { - "declaration": 3933, + "declaration": 3944, "isOffset": false, "isSlot": false, "src": "75749:4:10", "valueSize": 1 }, { - "declaration": 3929, + "declaration": 3940, "isOffset": false, "isSlot": false, "src": "75730:5:10", "valueSize": 1 } ], - "id": 3938, + "id": 3949, "nodeType": "InlineAssembly", "src": "75264:767:10" } ] }, "documentation": { - "id": 3927, + "id": 3938, "nodeType": "StructuredDocumentation", "src": "74931:129:10", "text": "@dev Deploys a deterministic ERC1967I proxy with `implementation` and `salt`.\n Deposits `value` ETH during deployment." }, - "id": 3940, + "id": 3951, "implemented": true, "kind": "function", "modifiers": [], @@ -115571,17 +115461,17 @@ "nameLocation": "75074:27:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3934, + "id": 3945, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3929, + "id": 3940, "mutability": "mutable", "name": "value", "nameLocation": "75110:5:10", "nodeType": "VariableDeclaration", - "scope": 3940, + "scope": 3951, "src": "75102:13:10", "stateVariable": false, "storageLocation": "default", @@ -115590,7 +115480,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3928, + "id": 3939, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "75102:7:10", @@ -115603,12 +115493,12 @@ }, { "constant": false, - "id": 3931, + "id": 3942, "mutability": "mutable", "name": "implementation", "nameLocation": "75125:14:10", "nodeType": "VariableDeclaration", - "scope": 3940, + "scope": 3951, "src": "75117:22:10", "stateVariable": false, "storageLocation": "default", @@ -115617,7 +115507,7 @@ "typeString": "address" }, "typeName": { - "id": 3930, + "id": 3941, "name": "address", "nodeType": "ElementaryTypeName", "src": "75117:7:10", @@ -115631,12 +115521,12 @@ }, { "constant": false, - "id": 3933, + "id": 3944, "mutability": "mutable", "name": "salt", "nameLocation": "75149:4:10", "nodeType": "VariableDeclaration", - "scope": 3940, + "scope": 3951, "src": "75141:12:10", "stateVariable": false, "storageLocation": "default", @@ -115645,7 +115535,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3932, + "id": 3943, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "75141:7:10", @@ -115660,17 +115550,17 @@ "src": "75101:53:10" }, "returnParameters": { - "id": 3937, + "id": 3948, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3936, + "id": 3947, "mutability": "mutable", "name": "instance", "nameLocation": "75197:8:10", "nodeType": "VariableDeclaration", - "scope": 3940, + "scope": 3951, "src": "75189:16:10", "stateVariable": false, "storageLocation": "default", @@ -115679,7 +115569,7 @@ "typeString": "address" }, "typeName": { - "id": 3935, + "id": 3946, "name": "address", "nodeType": "ElementaryTypeName", "src": "75189:7:10", @@ -115694,7 +115584,7 @@ ], "src": "75188:18:10" }, - "scope": 5093, + "scope": 5104, "src": "75065:972:10", "stateMutability": "nonpayable", "virtual": false, @@ -115702,7 +115592,7 @@ }, { "body": { - "id": 3958, + "id": 3969, "nodeType": "Block", "src": "76425:76:10", "statements": [ @@ -115711,7 +115601,7 @@ "arguments": [ { "hexValue": "30", - "id": 3953, + "id": 3964, "isConstant": false, "isLValue": false, "isPure": true, @@ -115726,11 +115616,11 @@ "value": "0" }, { - "id": 3954, + "id": 3965, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3943, + "referencedDeclaration": 3954, "src": "76473:14:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -115738,11 +115628,11 @@ } }, { - "id": 3955, + "id": 3966, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3945, + "referencedDeclaration": 3956, "src": "76489:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -115765,23 +115655,23 @@ "typeString": "bytes32" } ], - "id": 3952, + "id": 3963, "name": "createDeterministicERC1967I", "nodeType": "Identifier", "overloadedDeclarations": [ - 3959, - 3975, - 4113, - 4131 + 3970, + 3986, + 4124, + 4142 ], - "referencedDeclaration": 3975, + "referencedDeclaration": 3986, "src": "76442:27:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes32_$returns$_t_bool_$_t_address_$", "typeString": "function (uint256,address,bytes32) returns (bool,address)" } }, - "id": 3956, + "id": 3967, "isConstant": false, "isLValue": false, "isPure": false, @@ -115797,20 +115687,20 @@ "typeString": "tuple(bool,address)" } }, - "functionReturnParameters": 3951, - "id": 3957, + "functionReturnParameters": 3962, + "id": 3968, "nodeType": "Return", "src": "76435:59:10" } ] }, "documentation": { - "id": 3941, + "id": 3952, "nodeType": "StructuredDocumentation", "src": "76043:224:10", "text": "@dev Creates a deterministic ERC1967I proxy with `implementation` and `salt`.\n Note: This method is intended for use in ERC4337 factories,\n which are expected to NOT revert if the proxy is already deployed." }, - "id": 3959, + "id": 3970, "implemented": true, "kind": "function", "modifiers": [], @@ -115818,17 +115708,17 @@ "nameLocation": "76281:27:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3946, + "id": 3957, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3943, + "id": 3954, "mutability": "mutable", "name": "implementation", "nameLocation": "76317:14:10", "nodeType": "VariableDeclaration", - "scope": 3959, + "scope": 3970, "src": "76309:22:10", "stateVariable": false, "storageLocation": "default", @@ -115837,7 +115727,7 @@ "typeString": "address" }, "typeName": { - "id": 3942, + "id": 3953, "name": "address", "nodeType": "ElementaryTypeName", "src": "76309:7:10", @@ -115851,12 +115741,12 @@ }, { "constant": false, - "id": 3945, + "id": 3956, "mutability": "mutable", "name": "salt", "nameLocation": "76341:4:10", "nodeType": "VariableDeclaration", - "scope": 3959, + "scope": 3970, "src": "76333:12:10", "stateVariable": false, "storageLocation": "default", @@ -115865,7 +115755,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3944, + "id": 3955, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "76333:7:10", @@ -115880,17 +115770,17 @@ "src": "76308:38:10" }, "returnParameters": { - "id": 3951, + "id": 3962, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3948, + "id": 3959, "mutability": "mutable", "name": "alreadyDeployed", "nameLocation": "76386:15:10", "nodeType": "VariableDeclaration", - "scope": 3959, + "scope": 3970, "src": "76381:20:10", "stateVariable": false, "storageLocation": "default", @@ -115899,7 +115789,7 @@ "typeString": "bool" }, "typeName": { - "id": 3947, + "id": 3958, "name": "bool", "nodeType": "ElementaryTypeName", "src": "76381:4:10", @@ -115912,12 +115802,12 @@ }, { "constant": false, - "id": 3950, + "id": 3961, "mutability": "mutable", "name": "instance", "nameLocation": "76411:8:10", "nodeType": "VariableDeclaration", - "scope": 3959, + "scope": 3970, "src": "76403:16:10", "stateVariable": false, "storageLocation": "default", @@ -115926,7 +115816,7 @@ "typeString": "address" }, "typeName": { - "id": 3949, + "id": 3960, "name": "address", "nodeType": "ElementaryTypeName", "src": "76403:7:10", @@ -115941,7 +115831,7 @@ ], "src": "76380:40:10" }, - "scope": 5093, + "scope": 5104, "src": "76272:229:10", "stateMutability": "nonpayable", "virtual": false, @@ -115949,7 +115839,7 @@ }, { "body": { - "id": 3974, + "id": 3985, "nodeType": "Block", "src": "76952:1607:10", "statements": [ @@ -117004,103 +116894,103 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3969, + "declaration": 3980, "isOffset": false, "isSlot": false, "src": "78104:15:10", "valueSize": 1 }, { - "declaration": 3964, + "declaration": 3975, "isOffset": false, "isSlot": false, "src": "77420:14:10", "valueSize": 1 }, { - "declaration": 3971, + "declaration": 3982, "isOffset": false, "isSlot": false, "src": "77690:8:10", "valueSize": 1 }, { - "declaration": 3971, + "declaration": 3982, "isOffset": false, "isSlot": false, "src": "77785:8:10", "valueSize": 1 }, { - "declaration": 3971, + "declaration": 3982, "isOffset": false, "isSlot": false, "src": "77818:8:10", "valueSize": 1 }, { - "declaration": 3971, + "declaration": 3982, "isOffset": false, "isSlot": false, "src": "77893:8:10", "valueSize": 1 }, { - "declaration": 3971, + "declaration": 3982, "isOffset": false, "isSlot": false, "src": "78206:8:10", "valueSize": 1 }, { - "declaration": 3966, + "declaration": 3977, "isOffset": false, "isSlot": false, "src": "77672:4:10", "valueSize": 1 }, { - "declaration": 3966, + "declaration": 3977, "isOffset": false, "isSlot": false, "src": "77857:4:10", "valueSize": 1 }, { - "declaration": 3962, + "declaration": 3973, "isOffset": false, "isSlot": false, "src": "77838:5:10", "valueSize": 1 }, { - "declaration": 3962, + "declaration": 3973, "isOffset": false, "isSlot": false, "src": "78151:5:10", "valueSize": 1 }, { - "declaration": 3962, + "declaration": 3973, "isOffset": false, "isSlot": false, "src": "78216:5:10", "valueSize": 1 } ], - "id": 3973, + "id": 3984, "nodeType": "InlineAssembly", "src": "77005:1548:10" } ] }, "documentation": { - "id": 3960, + "id": 3971, "nodeType": "StructuredDocumentation", "src": "76507:272:10", "text": "@dev Creates a deterministic ERC1967I proxy with `implementation` and `salt`.\n Deposits `value` ETH during deployment.\n Note: This method is intended for use in ERC4337 factories,\n which are expected to NOT revert if the proxy is already deployed." }, - "id": 3975, + "id": 3986, "implemented": true, "kind": "function", "modifiers": [], @@ -117108,17 +116998,17 @@ "nameLocation": "76793:27:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3967, + "id": 3978, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3962, + "id": 3973, "mutability": "mutable", "name": "value", "nameLocation": "76829:5:10", "nodeType": "VariableDeclaration", - "scope": 3975, + "scope": 3986, "src": "76821:13:10", "stateVariable": false, "storageLocation": "default", @@ -117127,7 +117017,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3961, + "id": 3972, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "76821:7:10", @@ -117140,12 +117030,12 @@ }, { "constant": false, - "id": 3964, + "id": 3975, "mutability": "mutable", "name": "implementation", "nameLocation": "76844:14:10", "nodeType": "VariableDeclaration", - "scope": 3975, + "scope": 3986, "src": "76836:22:10", "stateVariable": false, "storageLocation": "default", @@ -117154,7 +117044,7 @@ "typeString": "address" }, "typeName": { - "id": 3963, + "id": 3974, "name": "address", "nodeType": "ElementaryTypeName", "src": "76836:7:10", @@ -117168,12 +117058,12 @@ }, { "constant": false, - "id": 3966, + "id": 3977, "mutability": "mutable", "name": "salt", "nameLocation": "76868:4:10", "nodeType": "VariableDeclaration", - "scope": 3975, + "scope": 3986, "src": "76860:12:10", "stateVariable": false, "storageLocation": "default", @@ -117182,7 +117072,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3965, + "id": 3976, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "76860:7:10", @@ -117197,17 +117087,17 @@ "src": "76820:53:10" }, "returnParameters": { - "id": 3972, + "id": 3983, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3969, + "id": 3980, "mutability": "mutable", "name": "alreadyDeployed", "nameLocation": "76913:15:10", "nodeType": "VariableDeclaration", - "scope": 3975, + "scope": 3986, "src": "76908:20:10", "stateVariable": false, "storageLocation": "default", @@ -117216,7 +117106,7 @@ "typeString": "bool" }, "typeName": { - "id": 3968, + "id": 3979, "name": "bool", "nodeType": "ElementaryTypeName", "src": "76908:4:10", @@ -117229,12 +117119,12 @@ }, { "constant": false, - "id": 3971, + "id": 3982, "mutability": "mutable", "name": "instance", "nameLocation": "76938:8:10", "nodeType": "VariableDeclaration", - "scope": 3975, + "scope": 3986, "src": "76930:16:10", "stateVariable": false, "storageLocation": "default", @@ -117243,7 +117133,7 @@ "typeString": "address" }, "typeName": { - "id": 3970, + "id": 3981, "name": "address", "nodeType": "ElementaryTypeName", "src": "76930:7:10", @@ -117258,7 +117148,7 @@ ], "src": "76907:40:10" }, - "scope": 5093, + "scope": 5104, "src": "76784:1775:10", "stateMutability": "nonpayable", "virtual": false, @@ -117266,7 +117156,7 @@ }, { "body": { - "id": 3984, + "id": 3995, "nodeType": "Block", "src": "78742:641:10", "statements": [ @@ -117717,89 +117607,89 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3981, + "declaration": 3992, "isOffset": false, "isSlot": false, "src": "78818:1:10", "valueSize": 1 }, { - "declaration": 3981, + "declaration": 3992, "isOffset": false, "isSlot": false, "src": "78858:1:10", "valueSize": 1 }, { - "declaration": 3981, + "declaration": 3992, "isOffset": false, "isSlot": false, "src": "78959:1:10", "valueSize": 1 }, { - "declaration": 3981, + "declaration": 3992, "isOffset": false, "isSlot": false, "src": "79060:1:10", "valueSize": 1 }, { - "declaration": 3981, + "declaration": 3992, "isOffset": false, "isSlot": false, "src": "79143:1:10", "valueSize": 1 }, { - "declaration": 3981, + "declaration": 3992, "isOffset": false, "isSlot": false, "src": "79192:1:10", "valueSize": 1 }, { - "declaration": 3981, + "declaration": 3992, "isOffset": false, "isSlot": false, "src": "79247:1:10", "valueSize": 1 }, { - "declaration": 3981, + "declaration": 3992, "isOffset": false, "isSlot": false, "src": "79279:1:10", "valueSize": 1 }, { - "declaration": 3981, + "declaration": 3992, "isOffset": false, "isSlot": false, "src": "79338:1:10", "valueSize": 1 }, { - "declaration": 3978, + "declaration": 3989, "isOffset": false, "isSlot": false, "src": "79153:14:10", "valueSize": 1 } ], - "id": 3983, + "id": 3994, "nodeType": "InlineAssembly", "src": "78795:582:10" } ] }, "documentation": { - "id": 3976, + "id": 3987, "nodeType": "StructuredDocumentation", "src": "78565:83:10", "text": "@dev Returns the initialization code of the ERC1967I proxy of `implementation`." }, - "id": 3985, + "id": 3996, "implemented": true, "kind": "function", "modifiers": [], @@ -117807,17 +117697,17 @@ "nameLocation": "78662:16:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3979, + "id": 3990, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3978, + "id": 3989, "mutability": "mutable", "name": "implementation", "nameLocation": "78687:14:10", "nodeType": "VariableDeclaration", - "scope": 3985, + "scope": 3996, "src": "78679:22:10", "stateVariable": false, "storageLocation": "default", @@ -117826,7 +117716,7 @@ "typeString": "address" }, "typeName": { - "id": 3977, + "id": 3988, "name": "address", "nodeType": "ElementaryTypeName", "src": "78679:7:10", @@ -117842,17 +117732,17 @@ "src": "78678:24:10" }, "returnParameters": { - "id": 3982, + "id": 3993, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3981, + "id": 3992, "mutability": "mutable", "name": "c", "nameLocation": "78739:1:10", "nodeType": "VariableDeclaration", - "scope": 3985, + "scope": 3996, "src": "78726:14:10", "stateVariable": false, "storageLocation": "memory", @@ -117861,7 +117751,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3980, + "id": 3991, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "78726:5:10", @@ -117875,7 +117765,7 @@ ], "src": "78725:16:10" }, - "scope": 5093, + "scope": 5104, "src": "78653:730:10", "stateMutability": "pure", "virtual": false, @@ -117883,7 +117773,7 @@ }, { "body": { - "id": 3994, + "id": 4005, "nodeType": "Block", "src": "79573:662:10", "statements": [ @@ -118260,33 +118150,33 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3991, + "declaration": 4002, "isOffset": false, "isSlot": false, "src": "80072:4:10", "valueSize": 1 }, { - "declaration": 3988, + "declaration": 3999, "isOffset": false, "isSlot": false, "src": "80041:14:10", "valueSize": 1 } ], - "id": 3993, + "id": 4004, "nodeType": "InlineAssembly", "src": "79626:603:10" } ] }, "documentation": { - "id": 3986, + "id": 3997, "nodeType": "StructuredDocumentation", "src": "79389:88:10", "text": "@dev Returns the initialization code hash of the ERC1967I proxy of `implementation`." }, - "id": 3995, + "id": 4006, "implemented": true, "kind": "function", "modifiers": [], @@ -118294,17 +118184,17 @@ "nameLocation": "79491:20:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 3989, + "id": 4000, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3988, + "id": 3999, "mutability": "mutable", "name": "implementation", "nameLocation": "79520:14:10", "nodeType": "VariableDeclaration", - "scope": 3995, + "scope": 4006, "src": "79512:22:10", "stateVariable": false, "storageLocation": "default", @@ -118313,7 +118203,7 @@ "typeString": "address" }, "typeName": { - "id": 3987, + "id": 3998, "name": "address", "nodeType": "ElementaryTypeName", "src": "79512:7:10", @@ -118329,17 +118219,17 @@ "src": "79511:24:10" }, "returnParameters": { - "id": 3992, + "id": 4003, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3991, + "id": 4002, "mutability": "mutable", "name": "hash", "nameLocation": "79567:4:10", "nodeType": "VariableDeclaration", - "scope": 3995, + "scope": 4006, "src": "79559:12:10", "stateVariable": false, "storageLocation": "default", @@ -118348,7 +118238,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3990, + "id": 4001, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "79559:7:10", @@ -118362,7 +118252,7 @@ ], "src": "79558:14:10" }, - "scope": 5093, + "scope": 5104, "src": "79482:753:10", "stateMutability": "pure", "virtual": false, @@ -118370,23 +118260,23 @@ }, { "body": { - "id": 4021, + "id": 4032, "nodeType": "Block", "src": "80610:139:10", "statements": [ { "assignments": [ - 4008 + 4019 ], "declarations": [ { "constant": false, - "id": 4008, + "id": 4019, "mutability": "mutable", "name": "hash", "nameLocation": "80628:4:10", "nodeType": "VariableDeclaration", - "scope": 4021, + "scope": 4032, "src": "80620:12:10", "stateVariable": false, "storageLocation": "default", @@ -118395,7 +118285,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 4007, + "id": 4018, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "80620:7:10", @@ -118407,15 +118297,15 @@ "visibility": "internal" } ], - "id": 4012, + "id": 4023, "initialValue": { "arguments": [ { - "id": 4010, + "id": 4021, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3998, + "referencedDeclaration": 4009, "src": "80656:14:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -118430,21 +118320,21 @@ "typeString": "address" } ], - "id": 4009, + "id": 4020, "name": "initCodeHashERC1967I", "nodeType": "Identifier", "overloadedDeclarations": [ - 3995, - 4155 + 4006, + 4166 ], - "referencedDeclaration": 3995, + "referencedDeclaration": 4006, "src": "80635:20:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_bytes32_$", "typeString": "function (address) pure returns (bytes32)" } }, - "id": 4011, + "id": 4022, "isConstant": false, "isLValue": false, "isPure": false, @@ -118465,17 +118355,17 @@ }, { "expression": { - "id": 4019, + "id": 4030, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 4013, + "id": 4024, "name": "predicted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4005, + "referencedDeclaration": 4016, "src": "80681:9:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -118487,11 +118377,11 @@ "rightHandSide": { "arguments": [ { - "id": 4015, + "id": 4026, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4008, + "referencedDeclaration": 4019, "src": "80721:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -118499,11 +118389,11 @@ } }, { - "id": 4016, + "id": 4027, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4000, + "referencedDeclaration": 4011, "src": "80727:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -118511,11 +118401,11 @@ } }, { - "id": 4017, + "id": 4028, "name": "deployer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4002, + "referencedDeclaration": 4013, "src": "80733:8:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -118538,22 +118428,22 @@ "typeString": "address" } ], - "id": 4014, + "id": 4025, "name": "predictDeterministicAddress", "nodeType": "Identifier", "overloadedDeclarations": [ - 3226, - 3499, - 5070 + 3237, + 3510, + 5081 ], - "referencedDeclaration": 5070, + "referencedDeclaration": 5081, "src": "80693:27:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_address_$", "typeString": "function (bytes32,bytes32,address) pure returns (address)" } }, - "id": 4018, + "id": 4029, "isConstant": false, "isLValue": false, "isPure": false, @@ -118575,19 +118465,19 @@ "typeString": "address" } }, - "id": 4020, + "id": 4031, "nodeType": "ExpressionStatement", "src": "80681:61:10" } ] }, "documentation": { - "id": 3996, + "id": 4007, "nodeType": "StructuredDocumentation", "src": "80241:191:10", "text": "@dev Returns the address of the ERC1967I proxy of `implementation`, with `salt` by `deployer`.\n Note: The returned result has dirty upper 96 bits. Please clean if used in assembly." }, - "id": 4022, + "id": 4033, "implemented": true, "kind": "function", "modifiers": [], @@ -118595,17 +118485,17 @@ "nameLocation": "80446:35:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4003, + "id": 4014, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3998, + "id": 4009, "mutability": "mutable", "name": "implementation", "nameLocation": "80499:14:10", "nodeType": "VariableDeclaration", - "scope": 4022, + "scope": 4033, "src": "80491:22:10", "stateVariable": false, "storageLocation": "default", @@ -118614,7 +118504,7 @@ "typeString": "address" }, "typeName": { - "id": 3997, + "id": 4008, "name": "address", "nodeType": "ElementaryTypeName", "src": "80491:7:10", @@ -118628,12 +118518,12 @@ }, { "constant": false, - "id": 4000, + "id": 4011, "mutability": "mutable", "name": "salt", "nameLocation": "80531:4:10", "nodeType": "VariableDeclaration", - "scope": 4022, + "scope": 4033, "src": "80523:12:10", "stateVariable": false, "storageLocation": "default", @@ -118642,7 +118532,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3999, + "id": 4010, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "80523:7:10", @@ -118655,12 +118545,12 @@ }, { "constant": false, - "id": 4002, + "id": 4013, "mutability": "mutable", "name": "deployer", "nameLocation": "80553:8:10", "nodeType": "VariableDeclaration", - "scope": 4022, + "scope": 4033, "src": "80545:16:10", "stateVariable": false, "storageLocation": "default", @@ -118669,7 +118559,7 @@ "typeString": "address" }, "typeName": { - "id": 4001, + "id": 4012, "name": "address", "nodeType": "ElementaryTypeName", "src": "80545:7:10", @@ -118685,17 +118575,17 @@ "src": "80481:86:10" }, "returnParameters": { - "id": 4006, + "id": 4017, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4005, + "id": 4016, "mutability": "mutable", "name": "predicted", "nameLocation": "80599:9:10", "nodeType": "VariableDeclaration", - "scope": 4022, + "scope": 4033, "src": "80591:17:10", "stateVariable": false, "storageLocation": "default", @@ -118704,7 +118594,7 @@ "typeString": "address" }, "typeName": { - "id": 4004, + "id": 4015, "name": "address", "nodeType": "ElementaryTypeName", "src": "80591:7:10", @@ -118719,7 +118609,7 @@ ], "src": "80590:19:10" }, - "scope": 5093, + "scope": 5104, "src": "80437:312:10", "stateMutability": "pure", "virtual": false, @@ -118727,7 +118617,7 @@ }, { "body": { - "id": 4038, + "id": 4049, "nodeType": "Block", "src": "81212:63:10", "statements": [ @@ -118736,7 +118626,7 @@ "arguments": [ { "hexValue": "30", - "id": 4033, + "id": 4044, "isConstant": false, "isLValue": false, "isPure": true, @@ -118751,11 +118641,11 @@ "value": "0" }, { - "id": 4034, + "id": 4045, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4025, + "referencedDeclaration": 4036, "src": "81247:14:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -118763,11 +118653,11 @@ } }, { - "id": 4035, + "id": 4046, "name": "args", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4027, + "referencedDeclaration": 4038, "src": "81263:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -118790,23 +118680,23 @@ "typeString": "bytes memory" } ], - "id": 4032, + "id": 4043, "name": "deployERC1967I", "nodeType": "Identifier", "overloadedDeclarations": [ - 3895, - 3907, - 4039, - 4053 + 3906, + 3918, + 4050, + 4064 ], - "referencedDeclaration": 4053, + "referencedDeclaration": 4064, "src": "81229:14:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$_t_address_$", "typeString": "function (uint256,address,bytes memory) returns (address)" } }, - "id": 4036, + "id": 4047, "isConstant": false, "isLValue": false, "isPure": false, @@ -118822,20 +118712,20 @@ "typeString": "address" } }, - "functionReturnParameters": 4031, - "id": 4037, + "functionReturnParameters": 4042, + "id": 4048, "nodeType": "Return", "src": "81222:46:10" } ] }, "documentation": { - "id": 4023, + "id": 4034, "nodeType": "StructuredDocumentation", "src": "81038:75:10", "text": "@dev Deploys a minimal ERC1967I proxy with `implementation` and `args`." }, - "id": 4039, + "id": 4050, "implemented": true, "kind": "function", "modifiers": [], @@ -118843,17 +118733,17 @@ "nameLocation": "81127:14:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4028, + "id": 4039, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4025, + "id": 4036, "mutability": "mutable", "name": "implementation", "nameLocation": "81150:14:10", "nodeType": "VariableDeclaration", - "scope": 4039, + "scope": 4050, "src": "81142:22:10", "stateVariable": false, "storageLocation": "default", @@ -118862,7 +118752,7 @@ "typeString": "address" }, "typeName": { - "id": 4024, + "id": 4035, "name": "address", "nodeType": "ElementaryTypeName", "src": "81142:7:10", @@ -118876,12 +118766,12 @@ }, { "constant": false, - "id": 4027, + "id": 4038, "mutability": "mutable", "name": "args", "nameLocation": "81179:4:10", "nodeType": "VariableDeclaration", - "scope": 4039, + "scope": 4050, "src": "81166:17:10", "stateVariable": false, "storageLocation": "memory", @@ -118890,7 +118780,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4026, + "id": 4037, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "81166:5:10", @@ -118905,17 +118795,17 @@ "src": "81141:43:10" }, "returnParameters": { - "id": 4031, + "id": 4042, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4030, + "id": 4041, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 4039, + "scope": 4050, "src": "81203:7:10", "stateVariable": false, "storageLocation": "default", @@ -118924,7 +118814,7 @@ "typeString": "address" }, "typeName": { - "id": 4029, + "id": 4040, "name": "address", "nodeType": "ElementaryTypeName", "src": "81203:7:10", @@ -118939,7 +118829,7 @@ ], "src": "81202:9:10" }, - "scope": 5093, + "scope": 5104, "src": "81118:157:10", "stateMutability": "nonpayable", "virtual": false, @@ -118947,7 +118837,7 @@ }, { "body": { - "id": 4052, + "id": 4063, "nodeType": "Block", "src": "81547:943:10", "statements": [ @@ -119655,61 +119545,61 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4046, + "declaration": 4057, "isOffset": false, "isSlot": false, "src": "81671:4:10", "valueSize": 1 }, { - "declaration": 4046, + "declaration": 4057, "isOffset": false, "isSlot": false, "src": "81718:4:10", "valueSize": 1 }, { - "declaration": 4044, + "declaration": 4055, "isOffset": false, "isSlot": false, "src": "82071:14:10", "valueSize": 1 }, { - "declaration": 4049, + "declaration": 4060, "isOffset": false, "isSlot": false, "src": "82252:8:10", "valueSize": 1 }, { - "declaration": 4049, + "declaration": 4060, "isOffset": false, "isSlot": false, "src": "82348:8:10", "valueSize": 1 }, { - "declaration": 4042, + "declaration": 4053, "isOffset": false, "isSlot": false, "src": "82271:5:10", "valueSize": 1 } ], - "id": 4051, + "id": 4062, "nodeType": "InlineAssembly", "src": "81600:884:10" } ] }, "documentation": { - "id": 4040, + "id": 4051, "nodeType": "StructuredDocumentation", "src": "81281:123:10", "text": "@dev Deploys a minimal ERC1967I proxy with `implementation` and `args`.\n Deposits `value` ETH during deployment." }, - "id": 4053, + "id": 4064, "implemented": true, "kind": "function", "modifiers": [], @@ -119717,17 +119607,17 @@ "nameLocation": "81418:14:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4047, + "id": 4058, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4042, + "id": 4053, "mutability": "mutable", "name": "value", "nameLocation": "81441:5:10", "nodeType": "VariableDeclaration", - "scope": 4053, + "scope": 4064, "src": "81433:13:10", "stateVariable": false, "storageLocation": "default", @@ -119736,7 +119626,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4041, + "id": 4052, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "81433:7:10", @@ -119749,12 +119639,12 @@ }, { "constant": false, - "id": 4044, + "id": 4055, "mutability": "mutable", "name": "implementation", "nameLocation": "81456:14:10", "nodeType": "VariableDeclaration", - "scope": 4053, + "scope": 4064, "src": "81448:22:10", "stateVariable": false, "storageLocation": "default", @@ -119763,7 +119653,7 @@ "typeString": "address" }, "typeName": { - "id": 4043, + "id": 4054, "name": "address", "nodeType": "ElementaryTypeName", "src": "81448:7:10", @@ -119777,12 +119667,12 @@ }, { "constant": false, - "id": 4046, + "id": 4057, "mutability": "mutable", "name": "args", "nameLocation": "81485:4:10", "nodeType": "VariableDeclaration", - "scope": 4053, + "scope": 4064, "src": "81472:17:10", "stateVariable": false, "storageLocation": "memory", @@ -119791,7 +119681,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4045, + "id": 4056, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "81472:5:10", @@ -119806,17 +119696,17 @@ "src": "81432:58:10" }, "returnParameters": { - "id": 4050, + "id": 4061, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4049, + "id": 4060, "mutability": "mutable", "name": "instance", "nameLocation": "81533:8:10", "nodeType": "VariableDeclaration", - "scope": 4053, + "scope": 4064, "src": "81525:16:10", "stateVariable": false, "storageLocation": "default", @@ -119825,7 +119715,7 @@ "typeString": "address" }, "typeName": { - "id": 4048, + "id": 4059, "name": "address", "nodeType": "ElementaryTypeName", "src": "81525:7:10", @@ -119840,7 +119730,7 @@ ], "src": "81524:18:10" }, - "scope": 5093, + "scope": 5104, "src": "81409:1081:10", "stateMutability": "nonpayable", "virtual": false, @@ -119848,23 +119738,23 @@ }, { "body": { - "id": 4074, + "id": 4085, "nodeType": "Block", "src": "82741:86:10", "statements": [ { "expression": { - "id": 4072, + "id": 4083, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 4065, + "id": 4076, "name": "instance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4063, + "referencedDeclaration": 4074, "src": "82751:8:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -119877,7 +119767,7 @@ "arguments": [ { "hexValue": "30", - "id": 4067, + "id": 4078, "isConstant": false, "isLValue": false, "isPure": true, @@ -119892,11 +119782,11 @@ "value": "0" }, { - "id": 4068, + "id": 4079, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4056, + "referencedDeclaration": 4067, "src": "82793:14:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -119904,11 +119794,11 @@ } }, { - "id": 4069, + "id": 4080, "name": "args", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4058, + "referencedDeclaration": 4069, "src": "82809:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -119916,11 +119806,11 @@ } }, { - "id": 4070, + "id": 4081, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4060, + "referencedDeclaration": 4071, "src": "82815:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -119947,23 +119837,23 @@ "typeString": "bytes32" } ], - "id": 4066, + "id": 4077, "name": "deployDeterministicERC1967I", "nodeType": "Identifier", "overloadedDeclarations": [ - 3926, - 3940, - 4075, - 4091 + 3937, + 3951, + 4086, + 4102 ], - "referencedDeclaration": 4091, + "referencedDeclaration": 4102, "src": "82762:27:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$_t_bytes32_$returns$_t_address_$", "typeString": "function (uint256,address,bytes memory,bytes32) returns (address)" } }, - "id": 4071, + "id": 4082, "isConstant": false, "isLValue": false, "isPure": false, @@ -119985,19 +119875,19 @@ "typeString": "address" } }, - "id": 4073, + "id": 4084, "nodeType": "ExpressionStatement", "src": "82751:69:10" } ] }, "documentation": { - "id": 4054, + "id": 4065, "nodeType": "StructuredDocumentation", "src": "82496:90:10", "text": "@dev Deploys a deterministic ERC1967I proxy with `implementation`, `args`, and `salt`." }, - "id": 4075, + "id": 4086, "implemented": true, "kind": "function", "modifiers": [], @@ -120005,17 +119895,17 @@ "nameLocation": "82600:27:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4061, + "id": 4072, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4056, + "id": 4067, "mutability": "mutable", "name": "implementation", "nameLocation": "82636:14:10", "nodeType": "VariableDeclaration", - "scope": 4075, + "scope": 4086, "src": "82628:22:10", "stateVariable": false, "storageLocation": "default", @@ -120024,7 +119914,7 @@ "typeString": "address" }, "typeName": { - "id": 4055, + "id": 4066, "name": "address", "nodeType": "ElementaryTypeName", "src": "82628:7:10", @@ -120038,12 +119928,12 @@ }, { "constant": false, - "id": 4058, + "id": 4069, "mutability": "mutable", "name": "args", "nameLocation": "82665:4:10", "nodeType": "VariableDeclaration", - "scope": 4075, + "scope": 4086, "src": "82652:17:10", "stateVariable": false, "storageLocation": "memory", @@ -120052,7 +119942,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4057, + "id": 4068, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "82652:5:10", @@ -120065,12 +119955,12 @@ }, { "constant": false, - "id": 4060, + "id": 4071, "mutability": "mutable", "name": "salt", "nameLocation": "82679:4:10", "nodeType": "VariableDeclaration", - "scope": 4075, + "scope": 4086, "src": "82671:12:10", "stateVariable": false, "storageLocation": "default", @@ -120079,7 +119969,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 4059, + "id": 4070, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "82671:7:10", @@ -120094,17 +119984,17 @@ "src": "82627:57:10" }, "returnParameters": { - "id": 4064, + "id": 4075, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4063, + "id": 4074, "mutability": "mutable", "name": "instance", "nameLocation": "82727:8:10", "nodeType": "VariableDeclaration", - "scope": 4075, + "scope": 4086, "src": "82719:16:10", "stateVariable": false, "storageLocation": "default", @@ -120113,7 +120003,7 @@ "typeString": "address" }, "typeName": { - "id": 4062, + "id": 4073, "name": "address", "nodeType": "ElementaryTypeName", "src": "82719:7:10", @@ -120128,7 +120018,7 @@ ], "src": "82718:18:10" }, - "scope": 5093, + "scope": 5104, "src": "82591:236:10", "stateMutability": "nonpayable", "virtual": false, @@ -120136,7 +120026,7 @@ }, { "body": { - "id": 4090, + "id": 4101, "nodeType": "Block", "src": "83159:950:10", "statements": [ @@ -120850,68 +120740,68 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4082, + "declaration": 4093, "isOffset": false, "isSlot": false, "src": "83283:4:10", "valueSize": 1 }, { - "declaration": 4082, + "declaration": 4093, "isOffset": false, "isSlot": false, "src": "83330:4:10", "valueSize": 1 }, { - "declaration": 4080, + "declaration": 4091, "isOffset": false, "isSlot": false, "src": "83683:14:10", "valueSize": 1 }, { - "declaration": 4087, + "declaration": 4098, "isOffset": false, "isSlot": false, "src": "83864:8:10", "valueSize": 1 }, { - "declaration": 4087, + "declaration": 4098, "isOffset": false, "isSlot": false, "src": "83967:8:10", "valueSize": 1 }, { - "declaration": 4084, + "declaration": 4095, "isOffset": false, "isSlot": false, "src": "83939:4:10", "valueSize": 1 }, { - "declaration": 4078, + "declaration": 4089, "isOffset": false, "isSlot": false, "src": "83884:5:10", "valueSize": 1 } ], - "id": 4089, + "id": 4100, "nodeType": "InlineAssembly", "src": "83212:891:10" } ] }, "documentation": { - "id": 4076, + "id": 4087, "nodeType": "StructuredDocumentation", "src": "82833:138:10", "text": "@dev Deploys a deterministic ERC1967I proxy with `implementation`, `args`, and `salt`.\n Deposits `value` ETH during deployment." }, - "id": 4091, + "id": 4102, "implemented": true, "kind": "function", "modifiers": [], @@ -120919,17 +120809,17 @@ "nameLocation": "82985:27:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4085, + "id": 4096, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4078, + "id": 4089, "mutability": "mutable", "name": "value", "nameLocation": "83030:5:10", "nodeType": "VariableDeclaration", - "scope": 4091, + "scope": 4102, "src": "83022:13:10", "stateVariable": false, "storageLocation": "default", @@ -120938,7 +120828,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4077, + "id": 4088, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "83022:7:10", @@ -120951,12 +120841,12 @@ }, { "constant": false, - "id": 4080, + "id": 4091, "mutability": "mutable", "name": "implementation", "nameLocation": "83053:14:10", "nodeType": "VariableDeclaration", - "scope": 4091, + "scope": 4102, "src": "83045:22:10", "stateVariable": false, "storageLocation": "default", @@ -120965,7 +120855,7 @@ "typeString": "address" }, "typeName": { - "id": 4079, + "id": 4090, "name": "address", "nodeType": "ElementaryTypeName", "src": "83045:7:10", @@ -120979,12 +120869,12 @@ }, { "constant": false, - "id": 4082, + "id": 4093, "mutability": "mutable", "name": "args", "nameLocation": "83090:4:10", "nodeType": "VariableDeclaration", - "scope": 4091, + "scope": 4102, "src": "83077:17:10", "stateVariable": false, "storageLocation": "memory", @@ -120993,7 +120883,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4081, + "id": 4092, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "83077:5:10", @@ -121006,12 +120896,12 @@ }, { "constant": false, - "id": 4084, + "id": 4095, "mutability": "mutable", "name": "salt", "nameLocation": "83112:4:10", "nodeType": "VariableDeclaration", - "scope": 4091, + "scope": 4102, "src": "83104:12:10", "stateVariable": false, "storageLocation": "default", @@ -121020,7 +120910,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 4083, + "id": 4094, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "83104:7:10", @@ -121035,17 +120925,17 @@ "src": "83012:110:10" }, "returnParameters": { - "id": 4088, + "id": 4099, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4087, + "id": 4098, "mutability": "mutable", "name": "instance", "nameLocation": "83149:8:10", "nodeType": "VariableDeclaration", - "scope": 4091, + "scope": 4102, "src": "83141:16:10", "stateVariable": false, "storageLocation": "default", @@ -121054,7 +120944,7 @@ "typeString": "address" }, "typeName": { - "id": 4086, + "id": 4097, "name": "address", "nodeType": "ElementaryTypeName", "src": "83141:7:10", @@ -121069,7 +120959,7 @@ ], "src": "83140:18:10" }, - "scope": 5093, + "scope": 5104, "src": "82976:1133:10", "stateMutability": "nonpayable", "virtual": false, @@ -121077,7 +120967,7 @@ }, { "body": { - "id": 4112, + "id": 4123, "nodeType": "Block", "src": "84524:82:10", "statements": [ @@ -121086,7 +120976,7 @@ "arguments": [ { "hexValue": "30", - "id": 4106, + "id": 4117, "isConstant": false, "isLValue": false, "isPure": true, @@ -121101,11 +120991,11 @@ "value": "0" }, { - "id": 4107, + "id": 4118, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4094, + "referencedDeclaration": 4105, "src": "84572:14:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -121113,11 +121003,11 @@ } }, { - "id": 4108, + "id": 4119, "name": "args", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4096, + "referencedDeclaration": 4107, "src": "84588:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -121125,11 +121015,11 @@ } }, { - "id": 4109, + "id": 4120, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4098, + "referencedDeclaration": 4109, "src": "84594:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -121156,23 +121046,23 @@ "typeString": "bytes32" } ], - "id": 4105, + "id": 4116, "name": "createDeterministicERC1967I", "nodeType": "Identifier", "overloadedDeclarations": [ - 3959, - 3975, - 4113, - 4131 + 3970, + 3986, + 4124, + 4142 ], - "referencedDeclaration": 4131, + "referencedDeclaration": 4142, "src": "84541:27:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$_t_bytes32_$returns$_t_bool_$_t_address_$", "typeString": "function (uint256,address,bytes memory,bytes32) returns (bool,address)" } }, - "id": 4110, + "id": 4121, "isConstant": false, "isLValue": false, "isPure": false, @@ -121188,20 +121078,20 @@ "typeString": "tuple(bool,address)" } }, - "functionReturnParameters": 4104, - "id": 4111, + "functionReturnParameters": 4115, + "id": 4122, "nodeType": "Return", "src": "84534:65:10" } ] }, "documentation": { - "id": 4092, + "id": 4103, "nodeType": "StructuredDocumentation", "src": "84115:232:10", "text": "@dev Creates a deterministic ERC1967I proxy with `implementation`, `args` and `salt`.\n Note: This method is intended for use in ERC4337 factories,\n which are expected to NOT revert if the proxy is already deployed." }, - "id": 4113, + "id": 4124, "implemented": true, "kind": "function", "modifiers": [], @@ -121209,17 +121099,17 @@ "nameLocation": "84361:27:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4099, + "id": 4110, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4094, + "id": 4105, "mutability": "mutable", "name": "implementation", "nameLocation": "84397:14:10", "nodeType": "VariableDeclaration", - "scope": 4113, + "scope": 4124, "src": "84389:22:10", "stateVariable": false, "storageLocation": "default", @@ -121228,7 +121118,7 @@ "typeString": "address" }, "typeName": { - "id": 4093, + "id": 4104, "name": "address", "nodeType": "ElementaryTypeName", "src": "84389:7:10", @@ -121242,12 +121132,12 @@ }, { "constant": false, - "id": 4096, + "id": 4107, "mutability": "mutable", "name": "args", "nameLocation": "84426:4:10", "nodeType": "VariableDeclaration", - "scope": 4113, + "scope": 4124, "src": "84413:17:10", "stateVariable": false, "storageLocation": "memory", @@ -121256,7 +121146,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4095, + "id": 4106, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "84413:5:10", @@ -121269,12 +121159,12 @@ }, { "constant": false, - "id": 4098, + "id": 4109, "mutability": "mutable", "name": "salt", "nameLocation": "84440:4:10", "nodeType": "VariableDeclaration", - "scope": 4113, + "scope": 4124, "src": "84432:12:10", "stateVariable": false, "storageLocation": "default", @@ -121283,7 +121173,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 4097, + "id": 4108, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "84432:7:10", @@ -121298,17 +121188,17 @@ "src": "84388:57:10" }, "returnParameters": { - "id": 4104, + "id": 4115, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4101, + "id": 4112, "mutability": "mutable", "name": "alreadyDeployed", "nameLocation": "84485:15:10", "nodeType": "VariableDeclaration", - "scope": 4113, + "scope": 4124, "src": "84480:20:10", "stateVariable": false, "storageLocation": "default", @@ -121317,7 +121207,7 @@ "typeString": "bool" }, "typeName": { - "id": 4100, + "id": 4111, "name": "bool", "nodeType": "ElementaryTypeName", "src": "84480:4:10", @@ -121330,12 +121220,12 @@ }, { "constant": false, - "id": 4103, + "id": 4114, "mutability": "mutable", "name": "instance", "nameLocation": "84510:8:10", "nodeType": "VariableDeclaration", - "scope": 4113, + "scope": 4124, "src": "84502:16:10", "stateVariable": false, "storageLocation": "default", @@ -121344,7 +121234,7 @@ "typeString": "address" }, "typeName": { - "id": 4102, + "id": 4113, "name": "address", "nodeType": "ElementaryTypeName", "src": "84502:7:10", @@ -121359,7 +121249,7 @@ ], "src": "84479:40:10" }, - "scope": 5093, + "scope": 5104, "src": "84352:254:10", "stateMutability": "nonpayable", "virtual": false, @@ -121367,7 +121257,7 @@ }, { "body": { - "id": 4130, + "id": 4141, "nodeType": "Block", "src": "85102:1852:10", "statements": [ @@ -122687,117 +122577,117 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4125, + "declaration": 4136, "isOffset": false, "isSlot": false, "src": "86529:15:10", "valueSize": 1 }, { - "declaration": 4120, + "declaration": 4131, "isOffset": false, "isSlot": false, "src": "85226:4:10", "valueSize": 1 }, { - "declaration": 4120, + "declaration": 4131, "isOffset": false, "isSlot": false, "src": "85273:4:10", "valueSize": 1 }, { - "declaration": 4118, + "declaration": 4129, "isOffset": false, "isSlot": false, "src": "85646:14:10", "valueSize": 1 }, { - "declaration": 4127, + "declaration": 4138, "isOffset": false, "isSlot": false, "src": "86107:8:10", "valueSize": 1 }, { - "declaration": 4127, + "declaration": 4138, "isOffset": false, "isSlot": false, "src": "86205:8:10", "valueSize": 1 }, { - "declaration": 4127, + "declaration": 4138, "isOffset": false, "isSlot": false, "src": "86238:8:10", "valueSize": 1 }, { - "declaration": 4127, + "declaration": 4138, "isOffset": false, "isSlot": false, "src": "86318:8:10", "valueSize": 1 }, { - "declaration": 4127, + "declaration": 4138, "isOffset": false, "isSlot": false, "src": "86631:8:10", "valueSize": 1 }, { - "declaration": 4122, + "declaration": 4133, "isOffset": false, "isSlot": false, "src": "86089:4:10", "valueSize": 1 }, { - "declaration": 4122, + "declaration": 4133, "isOffset": false, "isSlot": false, "src": "86282:4:10", "valueSize": 1 }, { - "declaration": 4116, + "declaration": 4127, "isOffset": false, "isSlot": false, "src": "86258:5:10", "valueSize": 1 }, { - "declaration": 4116, + "declaration": 4127, "isOffset": false, "isSlot": false, "src": "86576:5:10", "valueSize": 1 }, { - "declaration": 4116, + "declaration": 4127, "isOffset": false, "isSlot": false, "src": "86641:5:10", "valueSize": 1 } ], - "id": 4129, + "id": 4140, "nodeType": "InlineAssembly", "src": "85155:1793:10" } ] }, "documentation": { - "id": 4114, + "id": 4125, "nodeType": "StructuredDocumentation", "src": "84612:280:10", "text": "@dev Creates a deterministic ERC1967I proxy with `implementation`, `args` and `salt`.\n Deposits `value` ETH during deployment.\n Note: This method is intended for use in ERC4337 factories,\n which are expected to NOT revert if the proxy is already deployed." }, - "id": 4131, + "id": 4142, "implemented": true, "kind": "function", "modifiers": [], @@ -122805,17 +122695,17 @@ "nameLocation": "84906:27:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4123, + "id": 4134, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4116, + "id": 4127, "mutability": "mutable", "name": "value", "nameLocation": "84951:5:10", "nodeType": "VariableDeclaration", - "scope": 4131, + "scope": 4142, "src": "84943:13:10", "stateVariable": false, "storageLocation": "default", @@ -122824,7 +122714,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4115, + "id": 4126, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "84943:7:10", @@ -122837,12 +122727,12 @@ }, { "constant": false, - "id": 4118, + "id": 4129, "mutability": "mutable", "name": "implementation", "nameLocation": "84974:14:10", "nodeType": "VariableDeclaration", - "scope": 4131, + "scope": 4142, "src": "84966:22:10", "stateVariable": false, "storageLocation": "default", @@ -122851,7 +122741,7 @@ "typeString": "address" }, "typeName": { - "id": 4117, + "id": 4128, "name": "address", "nodeType": "ElementaryTypeName", "src": "84966:7:10", @@ -122865,12 +122755,12 @@ }, { "constant": false, - "id": 4120, + "id": 4131, "mutability": "mutable", "name": "args", "nameLocation": "85011:4:10", "nodeType": "VariableDeclaration", - "scope": 4131, + "scope": 4142, "src": "84998:17:10", "stateVariable": false, "storageLocation": "memory", @@ -122879,7 +122769,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4119, + "id": 4130, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "84998:5:10", @@ -122892,12 +122782,12 @@ }, { "constant": false, - "id": 4122, + "id": 4133, "mutability": "mutable", "name": "salt", "nameLocation": "85033:4:10", "nodeType": "VariableDeclaration", - "scope": 4131, + "scope": 4142, "src": "85025:12:10", "stateVariable": false, "storageLocation": "default", @@ -122906,7 +122796,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 4121, + "id": 4132, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "85025:7:10", @@ -122921,17 +122811,17 @@ "src": "84933:110:10" }, "returnParameters": { - "id": 4128, + "id": 4139, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4125, + "id": 4136, "mutability": "mutable", "name": "alreadyDeployed", "nameLocation": "85067:15:10", "nodeType": "VariableDeclaration", - "scope": 4131, + "scope": 4142, "src": "85062:20:10", "stateVariable": false, "storageLocation": "default", @@ -122940,7 +122830,7 @@ "typeString": "bool" }, "typeName": { - "id": 4124, + "id": 4135, "name": "bool", "nodeType": "ElementaryTypeName", "src": "85062:4:10", @@ -122953,12 +122843,12 @@ }, { "constant": false, - "id": 4127, + "id": 4138, "mutability": "mutable", "name": "instance", "nameLocation": "85092:8:10", "nodeType": "VariableDeclaration", - "scope": 4131, + "scope": 4142, "src": "85084:16:10", "stateVariable": false, "storageLocation": "default", @@ -122967,7 +122857,7 @@ "typeString": "address" }, "typeName": { - "id": 4126, + "id": 4137, "name": "address", "nodeType": "ElementaryTypeName", "src": "85084:7:10", @@ -122982,7 +122872,7 @@ ], "src": "85061:40:10" }, - "scope": 5093, + "scope": 5104, "src": "84897:2057:10", "stateMutability": "nonpayable", "virtual": false, @@ -122990,7 +122880,7 @@ }, { "body": { - "id": 4142, + "id": 4153, "nodeType": "Block", "src": "87195:1038:10", "statements": [ @@ -123876,110 +123766,110 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4136, + "declaration": 4147, "isOffset": false, "isSlot": false, "src": "87315:4:10", "valueSize": 1 }, { - "declaration": 4136, + "declaration": 4147, "isOffset": false, "isSlot": false, "src": "87609:4:10", "valueSize": 1 }, { - "declaration": 4139, + "declaration": 4150, "isOffset": false, "isSlot": false, "src": "87271:1:10", "valueSize": 1 }, { - "declaration": 4139, + "declaration": 4150, "isOffset": false, "isSlot": false, "src": "87581:1:10", "valueSize": 1 }, { - "declaration": 4139, + "declaration": 4150, "isOffset": false, "isSlot": false, "src": "87665:1:10", "valueSize": 1 }, { - "declaration": 4139, + "declaration": 4150, "isOffset": false, "isSlot": false, "src": "87766:1:10", "valueSize": 1 }, { - "declaration": 4139, + "declaration": 4150, "isOffset": false, "isSlot": false, "src": "87867:1:10", "valueSize": 1 }, { - "declaration": 4139, + "declaration": 4150, "isOffset": false, "isSlot": false, "src": "87950:1:10", "valueSize": 1 }, { - "declaration": 4139, + "declaration": 4150, "isOffset": false, "isSlot": false, "src": "87999:1:10", "valueSize": 1 }, { - "declaration": 4139, + "declaration": 4150, "isOffset": false, "isSlot": false, "src": "88073:1:10", "valueSize": 1 }, { - "declaration": 4139, + "declaration": 4150, "isOffset": false, "isSlot": false, "src": "88113:1:10", "valueSize": 1 }, { - "declaration": 4139, + "declaration": 4150, "isOffset": false, "isSlot": false, "src": "88180:1:10", "valueSize": 1 }, { - "declaration": 4134, + "declaration": 4145, "isOffset": false, "isSlot": false, "src": "87960:14:10", "valueSize": 1 } ], - "id": 4141, + "id": 4152, "nodeType": "InlineAssembly", "src": "87248:979:10" } ] }, "documentation": { - "id": 4132, + "id": 4143, "nodeType": "StructuredDocumentation", "src": "86960:94:10", "text": "@dev Returns the initialization code of the ERC1967I proxy of `implementation` and `args`." }, - "id": 4143, + "id": 4154, "implemented": true, "kind": "function", "modifiers": [], @@ -123987,17 +123877,17 @@ "nameLocation": "87068:16:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4137, + "id": 4148, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4134, + "id": 4145, "mutability": "mutable", "name": "implementation", "nameLocation": "87093:14:10", "nodeType": "VariableDeclaration", - "scope": 4143, + "scope": 4154, "src": "87085:22:10", "stateVariable": false, "storageLocation": "default", @@ -124006,7 +123896,7 @@ "typeString": "address" }, "typeName": { - "id": 4133, + "id": 4144, "name": "address", "nodeType": "ElementaryTypeName", "src": "87085:7:10", @@ -124020,12 +123910,12 @@ }, { "constant": false, - "id": 4136, + "id": 4147, "mutability": "mutable", "name": "args", "nameLocation": "87122:4:10", "nodeType": "VariableDeclaration", - "scope": 4143, + "scope": 4154, "src": "87109:17:10", "stateVariable": false, "storageLocation": "memory", @@ -124034,7 +123924,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4135, + "id": 4146, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "87109:5:10", @@ -124049,17 +123939,17 @@ "src": "87084:43:10" }, "returnParameters": { - "id": 4140, + "id": 4151, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4139, + "id": 4150, "mutability": "mutable", "name": "c", "nameLocation": "87188:1:10", "nodeType": "VariableDeclaration", - "scope": 4143, + "scope": 4154, "src": "87175:14:10", "stateVariable": false, "storageLocation": "memory", @@ -124068,7 +123958,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4138, + "id": 4149, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "87175:5:10", @@ -124082,7 +123972,7 @@ ], "src": "87174:16:10" }, - "scope": 5093, + "scope": 5104, "src": "87059:1174:10", "stateMutability": "pure", "virtual": false, @@ -124090,7 +123980,7 @@ }, { "body": { - "id": 4154, + "id": 4165, "nodeType": "Block", "src": "88480:1004:10", "statements": [ @@ -124882,47 +124772,47 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4148, + "declaration": 4159, "isOffset": false, "isSlot": false, "src": "88638:4:10", "valueSize": 1 }, { - "declaration": 4148, + "declaration": 4159, "isOffset": false, "isSlot": false, "src": "88933:4:10", "valueSize": 1 }, { - "declaration": 4151, + "declaration": 4162, "isOffset": false, "isSlot": false, "src": "89434:4:10", "valueSize": 1 }, { - "declaration": 4146, + "declaration": 4157, "isOffset": false, "isSlot": false, "src": "89305:14:10", "valueSize": 1 } ], - "id": 4153, + "id": 4164, "nodeType": "InlineAssembly", "src": "88533:945:10" } ] }, "documentation": { - "id": 4144, + "id": 4155, "nodeType": "StructuredDocumentation", "src": "88239:98:10", "text": "@dev Returns the initialization code hash of the ERC1967I proxy of `implementation` and `args." }, - "id": 4155, + "id": 4166, "implemented": true, "kind": "function", "modifiers": [], @@ -124930,17 +124820,17 @@ "nameLocation": "88351:20:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4149, + "id": 4160, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4146, + "id": 4157, "mutability": "mutable", "name": "implementation", "nameLocation": "88380:14:10", "nodeType": "VariableDeclaration", - "scope": 4155, + "scope": 4166, "src": "88372:22:10", "stateVariable": false, "storageLocation": "default", @@ -124949,7 +124839,7 @@ "typeString": "address" }, "typeName": { - "id": 4145, + "id": 4156, "name": "address", "nodeType": "ElementaryTypeName", "src": "88372:7:10", @@ -124963,12 +124853,12 @@ }, { "constant": false, - "id": 4148, + "id": 4159, "mutability": "mutable", "name": "args", "nameLocation": "88409:4:10", "nodeType": "VariableDeclaration", - "scope": 4155, + "scope": 4166, "src": "88396:17:10", "stateVariable": false, "storageLocation": "memory", @@ -124977,7 +124867,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4147, + "id": 4158, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "88396:5:10", @@ -124992,17 +124882,17 @@ "src": "88371:43:10" }, "returnParameters": { - "id": 4152, + "id": 4163, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4151, + "id": 4162, "mutability": "mutable", "name": "hash", "nameLocation": "88470:4:10", "nodeType": "VariableDeclaration", - "scope": 4155, + "scope": 4166, "src": "88462:12:10", "stateVariable": false, "storageLocation": "default", @@ -125011,7 +124901,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 4150, + "id": 4161, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "88462:7:10", @@ -125025,7 +124915,7 @@ ], "src": "88461:14:10" }, - "scope": 5093, + "scope": 5104, "src": "88342:1142:10", "stateMutability": "pure", "virtual": false, @@ -125033,23 +124923,23 @@ }, { "body": { - "id": 4184, + "id": 4195, "nodeType": "Block", "src": "89893:145:10", "statements": [ { "assignments": [ - 4170 + 4181 ], "declarations": [ { "constant": false, - "id": 4170, + "id": 4181, "mutability": "mutable", "name": "hash", "nameLocation": "89911:4:10", "nodeType": "VariableDeclaration", - "scope": 4184, + "scope": 4195, "src": "89903:12:10", "stateVariable": false, "storageLocation": "default", @@ -125058,7 +124948,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 4169, + "id": 4180, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "89903:7:10", @@ -125070,15 +124960,15 @@ "visibility": "internal" } ], - "id": 4175, + "id": 4186, "initialValue": { "arguments": [ { - "id": 4172, + "id": 4183, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4158, + "referencedDeclaration": 4169, "src": "89939:14:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -125086,11 +124976,11 @@ } }, { - "id": 4173, + "id": 4184, "name": "args", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4160, + "referencedDeclaration": 4171, "src": "89955:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -125109,21 +124999,21 @@ "typeString": "bytes memory" } ], - "id": 4171, + "id": 4182, "name": "initCodeHashERC1967I", "nodeType": "Identifier", "overloadedDeclarations": [ - 3995, - 4155 + 4006, + 4166 ], - "referencedDeclaration": 4155, + "referencedDeclaration": 4166, "src": "89918:20:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (address,bytes memory) pure returns (bytes32)" } }, - "id": 4174, + "id": 4185, "isConstant": false, "isLValue": false, "isPure": false, @@ -125144,17 +125034,17 @@ }, { "expression": { - "id": 4182, + "id": 4193, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 4176, + "id": 4187, "name": "predicted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4167, + "referencedDeclaration": 4178, "src": "89970:9:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -125166,11 +125056,11 @@ "rightHandSide": { "arguments": [ { - "id": 4178, + "id": 4189, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4170, + "referencedDeclaration": 4181, "src": "90010:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -125178,11 +125068,11 @@ } }, { - "id": 4179, + "id": 4190, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4162, + "referencedDeclaration": 4173, "src": "90016:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -125190,11 +125080,11 @@ } }, { - "id": 4180, + "id": 4191, "name": "deployer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4164, + "referencedDeclaration": 4175, "src": "90022:8:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -125217,22 +125107,22 @@ "typeString": "address" } ], - "id": 4177, + "id": 4188, "name": "predictDeterministicAddress", "nodeType": "Identifier", "overloadedDeclarations": [ - 3226, - 3499, - 5070 + 3237, + 3510, + 5081 ], - "referencedDeclaration": 5070, + "referencedDeclaration": 5081, "src": "89982:27:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_address_$", "typeString": "function (bytes32,bytes32,address) pure returns (address)" } }, - "id": 4181, + "id": 4192, "isConstant": false, "isLValue": false, "isPure": false, @@ -125254,19 +125144,19 @@ "typeString": "address" } }, - "id": 4183, + "id": 4194, "nodeType": "ExpressionStatement", "src": "89970:61:10" } ] }, "documentation": { - "id": 4156, + "id": 4167, "nodeType": "StructuredDocumentation", "src": "89490:198:10", "text": "@dev Returns the address of the ERC1967I proxy of `implementation`, `args` with `salt` by `deployer`.\n Note: The returned result has dirty upper 96 bits. Please clean if used in assembly." }, - "id": 4185, + "id": 4196, "implemented": true, "kind": "function", "modifiers": [], @@ -125274,17 +125164,17 @@ "nameLocation": "89702:35:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4165, + "id": 4176, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4158, + "id": 4169, "mutability": "mutable", "name": "implementation", "nameLocation": "89755:14:10", "nodeType": "VariableDeclaration", - "scope": 4185, + "scope": 4196, "src": "89747:22:10", "stateVariable": false, "storageLocation": "default", @@ -125293,7 +125183,7 @@ "typeString": "address" }, "typeName": { - "id": 4157, + "id": 4168, "name": "address", "nodeType": "ElementaryTypeName", "src": "89747:7:10", @@ -125307,12 +125197,12 @@ }, { "constant": false, - "id": 4160, + "id": 4171, "mutability": "mutable", "name": "args", "nameLocation": "89792:4:10", "nodeType": "VariableDeclaration", - "scope": 4185, + "scope": 4196, "src": "89779:17:10", "stateVariable": false, "storageLocation": "memory", @@ -125321,7 +125211,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4159, + "id": 4170, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "89779:5:10", @@ -125334,12 +125224,12 @@ }, { "constant": false, - "id": 4162, + "id": 4173, "mutability": "mutable", "name": "salt", "nameLocation": "89814:4:10", "nodeType": "VariableDeclaration", - "scope": 4185, + "scope": 4196, "src": "89806:12:10", "stateVariable": false, "storageLocation": "default", @@ -125348,7 +125238,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 4161, + "id": 4172, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "89806:7:10", @@ -125361,12 +125251,12 @@ }, { "constant": false, - "id": 4164, + "id": 4175, "mutability": "mutable", "name": "deployer", "nameLocation": "89836:8:10", "nodeType": "VariableDeclaration", - "scope": 4185, + "scope": 4196, "src": "89828:16:10", "stateVariable": false, "storageLocation": "default", @@ -125375,7 +125265,7 @@ "typeString": "address" }, "typeName": { - "id": 4163, + "id": 4174, "name": "address", "nodeType": "ElementaryTypeName", "src": "89828:7:10", @@ -125391,17 +125281,17 @@ "src": "89737:113:10" }, "returnParameters": { - "id": 4168, + "id": 4179, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4167, + "id": 4178, "mutability": "mutable", "name": "predicted", "nameLocation": "89882:9:10", "nodeType": "VariableDeclaration", - "scope": 4185, + "scope": 4196, "src": "89874:17:10", "stateVariable": false, "storageLocation": "default", @@ -125410,7 +125300,7 @@ "typeString": "address" }, "typeName": { - "id": 4166, + "id": 4177, "name": "address", "nodeType": "ElementaryTypeName", "src": "89874:7:10", @@ -125425,7 +125315,7 @@ ], "src": "89873:19:10" }, - "scope": 5093, + "scope": 5104, "src": "89693:345:10", "stateMutability": "pure", "virtual": false, @@ -125433,7 +125323,7 @@ }, { "body": { - "id": 4194, + "id": 4205, "nodeType": "Block", "src": "90204:371:10", "statements": [ @@ -125752,75 +125642,75 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4191, + "declaration": 4202, "isOffset": false, "isSlot": false, "src": "90280:4:10", "valueSize": 1 }, { - "declaration": 4191, + "declaration": 4202, "isOffset": false, "isSlot": false, "src": "90319:4:10", "valueSize": 1 }, { - "declaration": 4191, + "declaration": 4202, "isOffset": false, "isSlot": false, "src": "90437:4:10", "valueSize": 1 }, { - "declaration": 4191, + "declaration": 4202, "isOffset": false, "isSlot": false, "src": "90466:4:10", "valueSize": 1 }, { - "declaration": 4191, + "declaration": 4202, "isOffset": false, "isSlot": false, "src": "90515:4:10", "valueSize": 1 }, { - "declaration": 4191, + "declaration": 4202, "isOffset": false, "isSlot": false, "src": "90526:4:10", "valueSize": 1 }, { - "declaration": 4188, + "declaration": 4199, "isOffset": false, "isSlot": false, "src": "90359:8:10", "valueSize": 1 }, { - "declaration": 4188, + "declaration": 4199, "isOffset": false, "isSlot": false, "src": "90423:8:10", "valueSize": 1 } ], - "id": 4193, + "id": 4204, "nodeType": "InlineAssembly", "src": "90257:312:10" } ] }, "documentation": { - "id": 4186, + "id": 4197, "nodeType": "StructuredDocumentation", "src": "90044:71:10", "text": "@dev Equivalent to `argsOnERC1967I(instance, start, 2 ** 256 - 1)`." }, - "id": 4195, + "id": 4206, "implemented": true, "kind": "function", "modifiers": [], @@ -125828,17 +125718,17 @@ "nameLocation": "90129:14:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4189, + "id": 4200, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4188, + "id": 4199, "mutability": "mutable", "name": "instance", "nameLocation": "90152:8:10", "nodeType": "VariableDeclaration", - "scope": 4195, + "scope": 4206, "src": "90144:16:10", "stateVariable": false, "storageLocation": "default", @@ -125847,7 +125737,7 @@ "typeString": "address" }, "typeName": { - "id": 4187, + "id": 4198, "name": "address", "nodeType": "ElementaryTypeName", "src": "90144:7:10", @@ -125863,17 +125753,17 @@ "src": "90143:18:10" }, "returnParameters": { - "id": 4192, + "id": 4203, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4191, + "id": 4202, "mutability": "mutable", "name": "args", "nameLocation": "90198:4:10", "nodeType": "VariableDeclaration", - "scope": 4195, + "scope": 4206, "src": "90185:17:10", "stateVariable": false, "storageLocation": "memory", @@ -125882,7 +125772,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4190, + "id": 4201, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "90185:5:10", @@ -125896,7 +125786,7 @@ ], "src": "90184:19:10" }, - "scope": 5093, + "scope": 5104, "src": "90120:455:10", "stateMutability": "view", "virtual": false, @@ -125904,7 +125794,7 @@ }, { "body": { - "id": 4206, + "id": 4217, "nodeType": "Block", "src": "90784:485:10", "statements": [ @@ -126383,103 +126273,103 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4203, + "declaration": 4214, "isOffset": false, "isSlot": false, "src": "90860:4:10", "valueSize": 1 }, { - "declaration": 4203, + "declaration": 4214, "isOffset": false, "isSlot": false, "src": "91056:4:10", "valueSize": 1 }, { - "declaration": 4203, + "declaration": 4214, "isOffset": false, "isSlot": false, "src": "91113:4:10", "valueSize": 1 }, { - "declaration": 4203, + "declaration": 4214, "isOffset": false, "isSlot": false, "src": "91209:4:10", "valueSize": 1 }, { - "declaration": 4203, + "declaration": 4214, "isOffset": false, "isSlot": false, "src": "91220:4:10", "valueSize": 1 }, { - "declaration": 4198, + "declaration": 4209, "isOffset": false, "isSlot": false, "src": "90935:8:10", "valueSize": 1 }, { - "declaration": 4198, + "declaration": 4209, "isOffset": false, "isSlot": false, "src": "91046:8:10", "valueSize": 1 }, { - "declaration": 4200, + "declaration": 4211, "isOffset": false, "isSlot": false, "src": "91002:5:10", "valueSize": 1 }, { - "declaration": 4200, + "declaration": 4211, "isOffset": false, "isSlot": false, "src": "91013:5:10", "valueSize": 1 }, { - "declaration": 4200, + "declaration": 4211, "isOffset": false, "isSlot": false, "src": "91066:5:10", "valueSize": 1 }, { - "declaration": 4200, + "declaration": 4211, "isOffset": false, "isSlot": false, "src": "91130:5:10", "valueSize": 1 }, { - "declaration": 4200, + "declaration": 4211, "isOffset": false, "isSlot": false, "src": "91141:5:10", "valueSize": 1 } ], - "id": 4205, + "id": 4216, "nodeType": "InlineAssembly", "src": "90837:426:10" } ] }, "documentation": { - "id": 4196, + "id": 4207, "nodeType": "StructuredDocumentation", "src": "90581:71:10", "text": "@dev Equivalent to `argsOnERC1967I(instance, start, 2 ** 256 - 1)`." }, - "id": 4207, + "id": 4218, "implemented": true, "kind": "function", "modifiers": [], @@ -126487,17 +126377,17 @@ "nameLocation": "90666:14:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4201, + "id": 4212, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4198, + "id": 4209, "mutability": "mutable", "name": "instance", "nameLocation": "90689:8:10", "nodeType": "VariableDeclaration", - "scope": 4207, + "scope": 4218, "src": "90681:16:10", "stateVariable": false, "storageLocation": "default", @@ -126506,7 +126396,7 @@ "typeString": "address" }, "typeName": { - "id": 4197, + "id": 4208, "name": "address", "nodeType": "ElementaryTypeName", "src": "90681:7:10", @@ -126520,12 +126410,12 @@ }, { "constant": false, - "id": 4200, + "id": 4211, "mutability": "mutable", "name": "start", "nameLocation": "90707:5:10", "nodeType": "VariableDeclaration", - "scope": 4207, + "scope": 4218, "src": "90699:13:10", "stateVariable": false, "storageLocation": "default", @@ -126534,7 +126424,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4199, + "id": 4210, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "90699:7:10", @@ -126549,17 +126439,17 @@ "src": "90680:33:10" }, "returnParameters": { - "id": 4204, + "id": 4215, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4203, + "id": 4214, "mutability": "mutable", "name": "args", "nameLocation": "90774:4:10", "nodeType": "VariableDeclaration", - "scope": 4207, + "scope": 4218, "src": "90761:17:10", "stateVariable": false, "storageLocation": "memory", @@ -126568,7 +126458,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4202, + "id": 4213, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "90761:5:10", @@ -126582,7 +126472,7 @@ ], "src": "90760:19:10" }, - "scope": 5093, + "scope": 5104, "src": "90657:612:10", "stateMutability": "view", "virtual": false, @@ -126590,7 +126480,7 @@ }, { "body": { - "id": 4220, + "id": 4231, "nodeType": "Block", "src": "91781:785:10", "statements": [ @@ -127388,145 +127278,145 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4217, + "declaration": 4228, "isOffset": false, "isSlot": false, "src": "91857:4:10", "valueSize": 1 }, { - "declaration": 4217, + "declaration": 4228, "isOffset": false, "isSlot": false, "src": "92026:4:10", "valueSize": 1 }, { - "declaration": 4217, + "declaration": 4228, "isOffset": false, "isSlot": false, "src": "92106:4:10", "valueSize": 1 }, { - "declaration": 4217, + "declaration": 4228, "isOffset": false, "isSlot": false, "src": "92367:4:10", "valueSize": 1 }, { - "declaration": 4217, + "declaration": 4228, "isOffset": false, "isSlot": false, "src": "92424:4:10", "valueSize": 1 }, { - "declaration": 4217, + "declaration": 4228, "isOffset": false, "isSlot": false, "src": "92514:4:10", "valueSize": 1 }, { - "declaration": 4214, + "declaration": 4225, "isOffset": false, "isSlot": false, "src": "91902:3:10", "valueSize": 1 }, { - "declaration": 4214, + "declaration": 4225, "isOffset": false, "isSlot": false, "src": "91918:3:10", "valueSize": 1 }, { - "declaration": 4214, + "declaration": 4225, "isOffset": false, "isSlot": false, "src": "91963:3:10", "valueSize": 1 }, { - "declaration": 4214, + "declaration": 4225, "isOffset": false, "isSlot": false, "src": "91986:3:10", "valueSize": 1 }, { - "declaration": 4214, + "declaration": 4225, "isOffset": false, "isSlot": false, "src": "92310:3:10", "valueSize": 1 }, { - "declaration": 4214, + "declaration": 4225, "isOffset": false, "isSlot": false, "src": "92323:3:10", "valueSize": 1 }, { - "declaration": 4210, + "declaration": 4221, "isOffset": false, "isSlot": false, "src": "92016:8:10", "valueSize": 1 }, { - "declaration": 4210, + "declaration": 4221, "isOffset": false, "isSlot": false, "src": "92161:8:10", "valueSize": 1 }, { - "declaration": 4212, + "declaration": 4223, "isOffset": false, "isSlot": false, "src": "91968:5:10", "valueSize": 1 }, { - "declaration": 4212, + "declaration": 4223, "isOffset": false, "isSlot": false, "src": "91979:5:10", "valueSize": 1 }, { - "declaration": 4212, + "declaration": 4223, "isOffset": false, "isSlot": false, "src": "92036:5:10", "valueSize": 1 }, { - "declaration": 4212, + "declaration": 4223, "isOffset": false, "isSlot": false, "src": "92288:5:10", "valueSize": 1 } ], - "id": 4219, + "id": 4230, "nodeType": "InlineAssembly", "src": "91834:726:10" } ] }, "documentation": { - "id": 4208, + "id": 4219, "nodeType": "StructuredDocumentation", "src": "91275:361:10", "text": "@dev Returns a slice of the immutable arguments on `instance` from `start` to `end`.\n `start` and `end` will be clamped to the range `[0, args.length]`.\n The `instance` MUST be deployed via the ERC1967 with immutable args functions.\n Otherwise, the behavior is undefined.\n Out-of-gas reverts if `instance` does not have any code." }, - "id": 4221, + "id": 4232, "implemented": true, "kind": "function", "modifiers": [], @@ -127534,17 +127424,17 @@ "nameLocation": "91650:14:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4215, + "id": 4226, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4210, + "id": 4221, "mutability": "mutable", "name": "instance", "nameLocation": "91673:8:10", "nodeType": "VariableDeclaration", - "scope": 4221, + "scope": 4232, "src": "91665:16:10", "stateVariable": false, "storageLocation": "default", @@ -127553,7 +127443,7 @@ "typeString": "address" }, "typeName": { - "id": 4209, + "id": 4220, "name": "address", "nodeType": "ElementaryTypeName", "src": "91665:7:10", @@ -127567,12 +127457,12 @@ }, { "constant": false, - "id": 4212, + "id": 4223, "mutability": "mutable", "name": "start", "nameLocation": "91691:5:10", "nodeType": "VariableDeclaration", - "scope": 4221, + "scope": 4232, "src": "91683:13:10", "stateVariable": false, "storageLocation": "default", @@ -127581,7 +127471,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4211, + "id": 4222, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "91683:7:10", @@ -127594,12 +127484,12 @@ }, { "constant": false, - "id": 4214, + "id": 4225, "mutability": "mutable", "name": "end", "nameLocation": "91706:3:10", "nodeType": "VariableDeclaration", - "scope": 4221, + "scope": 4232, "src": "91698:11:10", "stateVariable": false, "storageLocation": "default", @@ -127608,7 +127498,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4213, + "id": 4224, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "91698:7:10", @@ -127623,17 +127513,17 @@ "src": "91664:46:10" }, "returnParameters": { - "id": 4218, + "id": 4229, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4217, + "id": 4228, "mutability": "mutable", "name": "args", "nameLocation": "91771:4:10", "nodeType": "VariableDeclaration", - "scope": 4221, + "scope": 4232, "src": "91758:17:10", "stateVariable": false, "storageLocation": "memory", @@ -127642,7 +127532,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4216, + "id": 4227, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "91758:5:10", @@ -127656,7 +127546,7 @@ ], "src": "91757:19:10" }, - "scope": 5093, + "scope": 5104, "src": "91641:925:10", "stateMutability": "view", "virtual": false, @@ -127664,7 +127554,7 @@ }, { "body": { - "id": 4234, + "id": 4245, "nodeType": "Block", "src": "93444:55:10", "statements": [ @@ -127674,14 +127564,14 @@ { "arguments": [ { - "id": 4230, + "id": 4241, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, "src": "93486:4:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_LibClone_$5093", + "typeIdentifier": "t_contract$_LibClone_$5104", "typeString": "library LibClone" } } @@ -127689,11 +127579,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_LibClone_$5093", + "typeIdentifier": "t_contract$_LibClone_$5104", "typeString": "library LibClone" } ], - "id": 4229, + "id": 4240, "isConstant": false, "isLValue": false, "isPure": true, @@ -127705,14 +127595,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 4228, + "id": 4239, "name": "address", "nodeType": "ElementaryTypeName", "src": "93478:7:10", "typeDescriptions": {} } }, - "id": 4231, + "id": 4242, "isConstant": false, "isLValue": false, "isPure": false, @@ -127736,21 +127626,21 @@ "typeString": "address" } ], - "id": 4227, + "id": 4238, "name": "erc1967Bootstrap", "nodeType": "Identifier", "overloadedDeclarations": [ - 4235, - 4267 + 4246, + 4278 ], - "referencedDeclaration": 4267, + "referencedDeclaration": 4278, "src": "93461:16:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_address_$", "typeString": "function (address) returns (address)" } }, - "id": 4232, + "id": 4243, "isConstant": false, "isLValue": false, "isPure": false, @@ -127766,20 +127656,20 @@ "typeString": "address" } }, - "functionReturnParameters": 4226, - "id": 4233, + "functionReturnParameters": 4237, + "id": 4244, "nodeType": "Return", "src": "93454:38:10" } ] }, "documentation": { - "id": 4222, + "id": 4233, "nodeType": "StructuredDocumentation", "src": "93317:67:10", "text": "@dev Deploys the ERC1967 bootstrap if it has not been deployed." }, - "id": 4235, + "id": 4246, "implemented": true, "kind": "function", "modifiers": [], @@ -127787,23 +127677,23 @@ "nameLocation": "93398:16:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4223, + "id": 4234, "nodeType": "ParameterList", "parameters": [], "src": "93414:2:10" }, "returnParameters": { - "id": 4226, + "id": 4237, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4225, + "id": 4236, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 4235, + "scope": 4246, "src": "93435:7:10", "stateVariable": false, "storageLocation": "default", @@ -127812,7 +127702,7 @@ "typeString": "address" }, "typeName": { - "id": 4224, + "id": 4235, "name": "address", "nodeType": "ElementaryTypeName", "src": "93435:7:10", @@ -127827,7 +127717,7 @@ ], "src": "93434:9:10" }, - "scope": 5093, + "scope": 5104, "src": "93389:110:10", "stateMutability": "nonpayable", "virtual": false, @@ -127835,23 +127725,23 @@ }, { "body": { - "id": 4266, + "id": 4277, "nodeType": "Block", "src": "93668:496:10", "statements": [ { "assignments": [ - 4244 + 4255 ], "declarations": [ { "constant": false, - "id": 4244, + "id": 4255, "mutability": "mutable", "name": "c", "nameLocation": "93691:1:10", "nodeType": "VariableDeclaration", - "scope": 4266, + "scope": 4277, "src": "93678:14:10", "stateVariable": false, "storageLocation": "memory", @@ -127860,7 +127750,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4243, + "id": 4254, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "93678:5:10", @@ -127872,15 +127762,15 @@ "visibility": "internal" } ], - "id": 4248, + "id": 4259, "initialValue": { "arguments": [ { - "id": 4246, + "id": 4257, "name": "authorizedUpgrader", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4238, + "referencedDeclaration": 4249, "src": "93720:18:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -127895,18 +127785,18 @@ "typeString": "address" } ], - "id": 4245, + "id": 4256, "name": "initCodeERC1967Bootstrap", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4343, + "referencedDeclaration": 4354, "src": "93695:24:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_bytes_memory_ptr_$", "typeString": "function (address) pure returns (bytes memory)" } }, - "id": 4247, + "id": 4258, "isConstant": false, "isLValue": false, "isPure": false, @@ -127927,17 +127817,17 @@ }, { "expression": { - "id": 4263, + "id": 4274, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 4249, + "id": 4260, "name": "bootstrap", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4241, + "referencedDeclaration": 4252, "src": "93749:9:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -127951,11 +127841,11 @@ { "arguments": [ { - "id": 4252, + "id": 4263, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4244, + "referencedDeclaration": 4255, "src": "93799:1:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -127970,7 +127860,7 @@ "typeString": "bytes memory" } ], - "id": 4251, + "id": 4262, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -127981,7 +127871,7 @@ "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 4253, + "id": 4264, "isConstant": false, "isLValue": false, "isPure": false, @@ -128001,7 +127891,7 @@ "arguments": [ { "hexValue": "30", - "id": 4256, + "id": 4267, "isConstant": false, "isLValue": false, "isPure": true, @@ -128023,7 +127913,7 @@ "typeString": "int_const 0" } ], - "id": 4255, + "id": 4266, "isConstant": false, "isLValue": false, "isPure": true, @@ -128035,14 +127925,14 @@ "typeString": "type(bytes32)" }, "typeName": { - "id": 4254, + "id": 4265, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "93803:7:10", "typeDescriptions": {} } }, - "id": 4257, + "id": 4268, "isConstant": false, "isLValue": false, "isPure": true, @@ -128061,14 +127951,14 @@ { "arguments": [ { - "id": 4260, + "id": 4271, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, "src": "93823:4:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_LibClone_$5093", + "typeIdentifier": "t_contract$_LibClone_$5104", "typeString": "library LibClone" } } @@ -128076,11 +127966,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_LibClone_$5093", + "typeIdentifier": "t_contract$_LibClone_$5104", "typeString": "library LibClone" } ], - "id": 4259, + "id": 4270, "isConstant": false, "isLValue": false, "isPure": true, @@ -128092,14 +127982,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 4258, + "id": 4269, "name": "address", "nodeType": "ElementaryTypeName", "src": "93815:7:10", "typeDescriptions": {} } }, - "id": 4261, + "id": 4272, "isConstant": false, "isLValue": false, "isPure": false, @@ -128131,22 +128021,22 @@ "typeString": "address" } ], - "id": 4250, + "id": 4261, "name": "predictDeterministicAddress", "nodeType": "Identifier", "overloadedDeclarations": [ - 3226, - 3499, - 5070 + 3237, + 3510, + 5081 ], - "referencedDeclaration": 5070, + "referencedDeclaration": 5081, "src": "93761:27:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_address_$", "typeString": "function (bytes32,bytes32,address) pure returns (address)" } }, - "id": 4262, + "id": 4273, "isConstant": false, "isLValue": false, "isPure": false, @@ -128168,7 +128058,7 @@ "typeString": "address" } }, - "id": 4264, + "id": 4275, "nodeType": "ExpressionStatement", "src": "93749:80:10" }, @@ -128396,40 +128286,40 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4241, + "declaration": 4252, "isOffset": false, "isSlot": false, "src": "93927:9:10", "valueSize": 1 }, { - "declaration": 4244, + "declaration": 4255, "isOffset": false, "isSlot": false, "src": "93982:1:10", "valueSize": 1 }, { - "declaration": 4244, + "declaration": 4255, "isOffset": false, "isSlot": false, "src": "93998:1:10", "valueSize": 1 } ], - "id": 4265, + "id": 4276, "nodeType": "InlineAssembly", "src": "93882:276:10" } ] }, "documentation": { - "id": 4236, + "id": 4247, "nodeType": "StructuredDocumentation", "src": "93505:67:10", "text": "@dev Deploys the ERC1967 bootstrap if it has not been deployed." }, - "id": 4267, + "id": 4278, "implemented": true, "kind": "function", "modifiers": [], @@ -128437,17 +128327,17 @@ "nameLocation": "93586:16:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4239, + "id": 4250, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4238, + "id": 4249, "mutability": "mutable", "name": "authorizedUpgrader", "nameLocation": "93611:18:10", "nodeType": "VariableDeclaration", - "scope": 4267, + "scope": 4278, "src": "93603:26:10", "stateVariable": false, "storageLocation": "default", @@ -128456,7 +128346,7 @@ "typeString": "address" }, "typeName": { - "id": 4237, + "id": 4248, "name": "address", "nodeType": "ElementaryTypeName", "src": "93603:7:10", @@ -128472,17 +128362,17 @@ "src": "93602:28:10" }, "returnParameters": { - "id": 4242, + "id": 4253, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4241, + "id": 4252, "mutability": "mutable", "name": "bootstrap", "nameLocation": "93657:9:10", "nodeType": "VariableDeclaration", - "scope": 4267, + "scope": 4278, "src": "93649:17:10", "stateVariable": false, "storageLocation": "default", @@ -128491,7 +128381,7 @@ "typeString": "address" }, "typeName": { - "id": 4240, + "id": 4251, "name": "address", "nodeType": "ElementaryTypeName", "src": "93649:7:10", @@ -128506,7 +128396,7 @@ ], "src": "93648:19:10" }, - "scope": 5093, + "scope": 5104, "src": "93577:587:10", "stateMutability": "nonpayable", "virtual": false, @@ -128514,7 +128404,7 @@ }, { "body": { - "id": 4276, + "id": 4287, "nodeType": "Block", "src": "94303:315:10", "statements": [ @@ -128730,33 +128620,33 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4272, + "declaration": 4283, "isOffset": false, "isSlot": false, "src": "94392:14:10", "valueSize": 1 }, { - "declaration": 4270, + "declaration": 4281, "isOffset": false, "isSlot": false, "src": "94442:8:10", "valueSize": 1 } ], - "id": 4275, + "id": 4286, "nodeType": "InlineAssembly", "src": "94356:256:10" } ] }, "documentation": { - "id": 4268, + "id": 4279, "nodeType": "StructuredDocumentation", "src": "94170:51:10", "text": "@dev Replaces the implementation at `instance`." }, - "id": 4277, + "id": 4288, "implemented": true, "kind": "function", "modifiers": [], @@ -128764,17 +128654,17 @@ "nameLocation": "94235:16:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4273, + "id": 4284, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4270, + "id": 4281, "mutability": "mutable", "name": "instance", "nameLocation": "94260:8:10", "nodeType": "VariableDeclaration", - "scope": 4277, + "scope": 4288, "src": "94252:16:10", "stateVariable": false, "storageLocation": "default", @@ -128783,7 +128673,7 @@ "typeString": "address" }, "typeName": { - "id": 4269, + "id": 4280, "name": "address", "nodeType": "ElementaryTypeName", "src": "94252:7:10", @@ -128797,12 +128687,12 @@ }, { "constant": false, - "id": 4272, + "id": 4283, "mutability": "mutable", "name": "implementation", "nameLocation": "94278:14:10", "nodeType": "VariableDeclaration", - "scope": 4277, + "scope": 4288, "src": "94270:22:10", "stateVariable": false, "storageLocation": "default", @@ -128811,7 +128701,7 @@ "typeString": "address" }, "typeName": { - "id": 4271, + "id": 4282, "name": "address", "nodeType": "ElementaryTypeName", "src": "94270:7:10", @@ -128827,12 +128717,12 @@ "src": "94251:42:10" }, "returnParameters": { - "id": 4274, + "id": 4285, "nodeType": "ParameterList", "parameters": [], "src": "94303:0:10" }, - "scope": 5093, + "scope": 5104, "src": "94226:392:10", "stateMutability": "nonpayable", "virtual": false, @@ -128840,7 +128730,7 @@ }, { "body": { - "id": 4288, + "id": 4299, "nodeType": "Block", "src": "94825:622:10", "statements": [ @@ -129302,61 +129192,61 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4284, + "declaration": 4295, "isOffset": false, "isSlot": false, "src": "94916:4:10", "valueSize": 1 }, { - "declaration": 4284, + "declaration": 4295, "isOffset": false, "isSlot": false, "src": "94941:4:10", "valueSize": 1 }, { - "declaration": 4284, + "declaration": 4295, "isOffset": false, "isSlot": false, "src": "95014:4:10", "valueSize": 1 }, { - "declaration": 4284, + "declaration": 4295, "isOffset": false, "isSlot": false, "src": "95390:4:10", "valueSize": 1 }, { - "declaration": 4282, + "declaration": 4293, "isOffset": false, "isSlot": false, "src": "94947:14:10", "valueSize": 1 }, { - "declaration": 4280, + "declaration": 4291, "isOffset": false, "isSlot": false, "src": "94997:8:10", "valueSize": 1 } ], - "id": 4287, + "id": 4298, "nodeType": "InlineAssembly", "src": "94878:563:10" } ] }, "documentation": { - "id": 4278, + "id": 4289, "nodeType": "StructuredDocumentation", "src": "94624:81:10", "text": "@dev Replaces the implementation at `instance`, and then call it with `data`." }, - "id": 4289, + "id": 4300, "implemented": true, "kind": "function", "modifiers": [], @@ -129364,17 +129254,17 @@ "nameLocation": "94719:23:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4285, + "id": 4296, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4280, + "id": 4291, "mutability": "mutable", "name": "instance", "nameLocation": "94751:8:10", "nodeType": "VariableDeclaration", - "scope": 4289, + "scope": 4300, "src": "94743:16:10", "stateVariable": false, "storageLocation": "default", @@ -129383,7 +129273,7 @@ "typeString": "address" }, "typeName": { - "id": 4279, + "id": 4290, "name": "address", "nodeType": "ElementaryTypeName", "src": "94743:7:10", @@ -129397,12 +129287,12 @@ }, { "constant": false, - "id": 4282, + "id": 4293, "mutability": "mutable", "name": "implementation", "nameLocation": "94769:14:10", "nodeType": "VariableDeclaration", - "scope": 4289, + "scope": 4300, "src": "94761:22:10", "stateVariable": false, "storageLocation": "default", @@ -129411,7 +129301,7 @@ "typeString": "address" }, "typeName": { - "id": 4281, + "id": 4292, "name": "address", "nodeType": "ElementaryTypeName", "src": "94761:7:10", @@ -129425,12 +129315,12 @@ }, { "constant": false, - "id": 4284, + "id": 4295, "mutability": "mutable", "name": "data", "nameLocation": "94798:4:10", "nodeType": "VariableDeclaration", - "scope": 4289, + "scope": 4300, "src": "94785:17:10", "stateVariable": false, "storageLocation": "memory", @@ -129439,7 +129329,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4283, + "id": 4294, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "94785:5:10", @@ -129454,12 +129344,12 @@ "src": "94742:61:10" }, "returnParameters": { - "id": 4286, + "id": 4297, "nodeType": "ParameterList", "parameters": [], "src": "94825:0:10" }, - "scope": 5093, + "scope": 5104, "src": "94710:737:10", "stateMutability": "nonpayable", "virtual": false, @@ -129467,7 +129357,7 @@ }, { "body": { - "id": 4306, + "id": 4317, "nodeType": "Block", "src": "95632:97:10", "statements": [ @@ -129477,14 +129367,14 @@ { "arguments": [ { - "id": 4298, + "id": 4309, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, "src": "95701:4:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_LibClone_$5093", + "typeIdentifier": "t_contract$_LibClone_$5104", "typeString": "library LibClone" } } @@ -129492,11 +129382,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_LibClone_$5093", + "typeIdentifier": "t_contract$_LibClone_$5104", "typeString": "library LibClone" } ], - "id": 4297, + "id": 4308, "isConstant": false, "isLValue": false, "isPure": true, @@ -129508,14 +129398,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 4296, + "id": 4307, "name": "address", "nodeType": "ElementaryTypeName", "src": "95693:7:10", "typeDescriptions": {} } }, - "id": 4299, + "id": 4310, "isConstant": false, "isLValue": false, "isPure": false, @@ -129534,14 +129424,14 @@ { "arguments": [ { - "id": 4302, + "id": 4313, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, "src": "95716:4:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_LibClone_$5093", + "typeIdentifier": "t_contract$_LibClone_$5104", "typeString": "library LibClone" } } @@ -129549,11 +129439,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_LibClone_$5093", + "typeIdentifier": "t_contract$_LibClone_$5104", "typeString": "library LibClone" } ], - "id": 4301, + "id": 4312, "isConstant": false, "isLValue": false, "isPure": true, @@ -129565,14 +129455,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 4300, + "id": 4311, "name": "address", "nodeType": "ElementaryTypeName", "src": "95708:7:10", "typeDescriptions": {} } }, - "id": 4303, + "id": 4314, "isConstant": false, "isLValue": false, "isPure": false, @@ -129600,21 +129490,21 @@ "typeString": "address" } ], - "id": 4295, + "id": 4306, "name": "predictDeterministicAddressERC1967Bootstrap", "nodeType": "Identifier", "overloadedDeclarations": [ - 4307, - 4333 + 4318, + 4344 ], - "referencedDeclaration": 4333, + "referencedDeclaration": 4344, "src": "95649:43:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$returns$_t_address_$", "typeString": "function (address,address) pure returns (address)" } }, - "id": 4304, + "id": 4315, "isConstant": false, "isLValue": false, "isPure": false, @@ -129630,20 +129520,20 @@ "typeString": "address" } }, - "functionReturnParameters": 4294, - "id": 4305, + "functionReturnParameters": 4305, + "id": 4316, "nodeType": "Return", "src": "95642:80:10" } ] }, "documentation": { - "id": 4290, + "id": 4301, "nodeType": "StructuredDocumentation", "src": "95453:87:10", "text": "@dev Returns the implementation address of the ERC1967 bootstrap for this contract." }, - "id": 4307, + "id": 4318, "implemented": true, "kind": "function", "modifiers": [], @@ -129651,23 +129541,23 @@ "nameLocation": "95554:43:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4291, + "id": 4302, "nodeType": "ParameterList", "parameters": [], "src": "95597:2:10" }, "returnParameters": { - "id": 4294, + "id": 4305, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4293, + "id": 4304, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 4307, + "scope": 4318, "src": "95623:7:10", "stateVariable": false, "storageLocation": "default", @@ -129676,7 +129566,7 @@ "typeString": "address" }, "typeName": { - "id": 4292, + "id": 4303, "name": "address", "nodeType": "ElementaryTypeName", "src": "95623:7:10", @@ -129691,7 +129581,7 @@ ], "src": "95622:9:10" }, - "scope": 5093, + "scope": 5104, "src": "95545:184:10", "stateMutability": "view", "virtual": false, @@ -129699,23 +129589,23 @@ }, { "body": { - "id": 4332, + "id": 4343, "nodeType": "Block", "src": "95980:152:10", "statements": [ { "assignments": [ - 4318 + 4329 ], "declarations": [ { "constant": false, - "id": 4318, + "id": 4329, "mutability": "mutable", "name": "hash", "nameLocation": "95998:4:10", "nodeType": "VariableDeclaration", - "scope": 4332, + "scope": 4343, "src": "95990:12:10", "stateVariable": false, "storageLocation": "default", @@ -129724,7 +129614,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 4317, + "id": 4328, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "95990:7:10", @@ -129736,15 +129626,15 @@ "visibility": "internal" } ], - "id": 4322, + "id": 4333, "initialValue": { "arguments": [ { - "id": 4320, + "id": 4331, "name": "authorizedUpgrader", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4310, + "referencedDeclaration": 4321, "src": "96034:18:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -129759,18 +129649,18 @@ "typeString": "address" } ], - "id": 4319, + "id": 4330, "name": "initCodeHashERC1967Bootstrap", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4358, + "referencedDeclaration": 4369, "src": "96005:28:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_bytes32_$", "typeString": "function (address) pure returns (bytes32)" } }, - "id": 4321, + "id": 4332, "isConstant": false, "isLValue": false, "isPure": false, @@ -129793,11 +129683,11 @@ "expression": { "arguments": [ { - "id": 4324, + "id": 4335, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4318, + "referencedDeclaration": 4329, "src": "96098:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -129808,7 +129698,7 @@ "arguments": [ { "hexValue": "30", - "id": 4327, + "id": 4338, "isConstant": false, "isLValue": false, "isPure": true, @@ -129830,7 +129720,7 @@ "typeString": "int_const 0" } ], - "id": 4326, + "id": 4337, "isConstant": false, "isLValue": false, "isPure": true, @@ -129842,14 +129732,14 @@ "typeString": "type(bytes32)" }, "typeName": { - "id": 4325, + "id": 4336, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "96104:7:10", "typeDescriptions": {} } }, - "id": 4328, + "id": 4339, "isConstant": false, "isLValue": false, "isPure": true, @@ -129866,11 +129756,11 @@ } }, { - "id": 4329, + "id": 4340, "name": "deployer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4312, + "referencedDeclaration": 4323, "src": "96116:8:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -129893,22 +129783,22 @@ "typeString": "address" } ], - "id": 4323, + "id": 4334, "name": "predictDeterministicAddress", "nodeType": "Identifier", "overloadedDeclarations": [ - 3226, - 3499, - 5070 + 3237, + 3510, + 5081 ], - "referencedDeclaration": 5070, + "referencedDeclaration": 5081, "src": "96070:27:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_address_$", "typeString": "function (bytes32,bytes32,address) pure returns (address)" } }, - "id": 4330, + "id": 4341, "isConstant": false, "isLValue": false, "isPure": false, @@ -129924,20 +129814,20 @@ "typeString": "address" } }, - "functionReturnParameters": 4316, - "id": 4331, + "functionReturnParameters": 4327, + "id": 4342, "nodeType": "Return", "src": "96063:62:10" } ] }, "documentation": { - "id": 4308, + "id": 4319, "nodeType": "StructuredDocumentation", "src": "95735:87:10", "text": "@dev Returns the implementation address of the ERC1967 bootstrap for this contract." }, - "id": 4333, + "id": 4344, "implemented": true, "kind": "function", "modifiers": [], @@ -129945,17 +129835,17 @@ "nameLocation": "95836:43:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4313, + "id": 4324, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4310, + "id": 4321, "mutability": "mutable", "name": "authorizedUpgrader", "nameLocation": "95897:18:10", "nodeType": "VariableDeclaration", - "scope": 4333, + "scope": 4344, "src": "95889:26:10", "stateVariable": false, "storageLocation": "default", @@ -129964,7 +129854,7 @@ "typeString": "address" }, "typeName": { - "id": 4309, + "id": 4320, "name": "address", "nodeType": "ElementaryTypeName", "src": "95889:7:10", @@ -129978,12 +129868,12 @@ }, { "constant": false, - "id": 4312, + "id": 4323, "mutability": "mutable", "name": "deployer", "nameLocation": "95933:8:10", "nodeType": "VariableDeclaration", - "scope": 4333, + "scope": 4344, "src": "95925:16:10", "stateVariable": false, "storageLocation": "default", @@ -129992,7 +129882,7 @@ "typeString": "address" }, "typeName": { - "id": 4311, + "id": 4322, "name": "address", "nodeType": "ElementaryTypeName", "src": "95925:7:10", @@ -130008,17 +129898,17 @@ "src": "95879:68:10" }, "returnParameters": { - "id": 4316, + "id": 4327, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4315, + "id": 4326, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 4333, + "scope": 4344, "src": "95971:7:10", "stateVariable": false, "storageLocation": "default", @@ -130027,7 +129917,7 @@ "typeString": "address" }, "typeName": { - "id": 4314, + "id": 4325, "name": "address", "nodeType": "ElementaryTypeName", "src": "95971:7:10", @@ -130042,7 +129932,7 @@ ], "src": "95970:9:10" }, - "scope": 5093, + "scope": 5104, "src": "95827:305:10", "stateMutability": "pure", "virtual": false, @@ -130050,7 +129940,7 @@ }, { "body": { - "id": 4342, + "id": 4353, "nodeType": "Block", "src": "96338:592:10", "statements": [ @@ -130448,82 +130338,82 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4336, + "declaration": 4347, "isOffset": false, "isSlot": false, "src": "96767:18:10", "valueSize": 1 }, { - "declaration": 4339, + "declaration": 4350, "isOffset": false, "isSlot": false, "src": "96414:1:10", "valueSize": 1 }, { - "declaration": 4339, + "declaration": 4350, "isOffset": false, "isSlot": false, "src": "96454:1:10", "valueSize": 1 }, { - "declaration": 4339, + "declaration": 4350, "isOffset": false, "isSlot": false, "src": "96555:1:10", "valueSize": 1 }, { - "declaration": 4339, + "declaration": 4350, "isOffset": false, "isSlot": false, "src": "96656:1:10", "valueSize": 1 }, { - "declaration": 4339, + "declaration": 4350, "isOffset": false, "isSlot": false, "src": "96757:1:10", "valueSize": 1 }, { - "declaration": 4339, + "declaration": 4350, "isOffset": false, "isSlot": false, "src": "96810:1:10", "valueSize": 1 }, { - "declaration": 4339, + "declaration": 4350, "isOffset": false, "isSlot": false, "src": "96867:1:10", "valueSize": 1 }, { - "declaration": 4339, + "declaration": 4350, "isOffset": false, "isSlot": false, "src": "96905:1:10", "valueSize": 1 } ], - "id": 4341, + "id": 4352, "nodeType": "InlineAssembly", "src": "96391:533:10" } ] }, "documentation": { - "id": 4334, + "id": 4345, "nodeType": "StructuredDocumentation", "src": "96138:66:10", "text": "@dev Returns the initialization code of the ERC1967 bootstrap." }, - "id": 4343, + "id": 4354, "implemented": true, "kind": "function", "modifiers": [], @@ -130531,17 +130421,17 @@ "nameLocation": "96218:24:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4337, + "id": 4348, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4336, + "id": 4347, "mutability": "mutable", "name": "authorizedUpgrader", "nameLocation": "96251:18:10", "nodeType": "VariableDeclaration", - "scope": 4343, + "scope": 4354, "src": "96243:26:10", "stateVariable": false, "storageLocation": "default", @@ -130550,7 +130440,7 @@ "typeString": "address" }, "typeName": { - "id": 4335, + "id": 4346, "name": "address", "nodeType": "ElementaryTypeName", "src": "96243:7:10", @@ -130566,17 +130456,17 @@ "src": "96242:28:10" }, "returnParameters": { - "id": 4340, + "id": 4351, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4339, + "id": 4350, "mutability": "mutable", "name": "c", "nameLocation": "96331:1:10", "nodeType": "VariableDeclaration", - "scope": 4343, + "scope": 4354, "src": "96318:14:10", "stateVariable": false, "storageLocation": "memory", @@ -130585,7 +130475,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4338, + "id": 4349, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "96318:5:10", @@ -130599,7 +130489,7 @@ ], "src": "96317:16:10" }, - "scope": 5093, + "scope": 5104, "src": "96209:721:10", "stateMutability": "pure", "virtual": false, @@ -130607,7 +130497,7 @@ }, { "body": { - "id": 4357, + "id": 4368, "nodeType": "Block", "src": "97138:79:10", "statements": [ @@ -130617,11 +130507,11 @@ { "arguments": [ { - "id": 4353, + "id": 4364, "name": "authorizedUpgrader", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4346, + "referencedDeclaration": 4357, "src": "97190:18:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -130636,18 +130526,18 @@ "typeString": "address" } ], - "id": 4352, + "id": 4363, "name": "initCodeERC1967Bootstrap", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4343, + "referencedDeclaration": 4354, "src": "97165:24:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_bytes_memory_ptr_$", "typeString": "function (address) pure returns (bytes memory)" } }, - "id": 4354, + "id": 4365, "isConstant": false, "isLValue": false, "isPure": false, @@ -130671,7 +130561,7 @@ "typeString": "bytes memory" } ], - "id": 4351, + "id": 4362, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -130682,7 +130572,7 @@ "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 4355, + "id": 4366, "isConstant": false, "isLValue": false, "isPure": false, @@ -130698,20 +130588,20 @@ "typeString": "bytes32" } }, - "functionReturnParameters": 4350, - "id": 4356, + "functionReturnParameters": 4361, + "id": 4367, "nodeType": "Return", "src": "97148:62:10" } ] }, "documentation": { - "id": 4344, + "id": 4355, "nodeType": "StructuredDocumentation", "src": "96936:71:10", "text": "@dev Returns the initialization code hash of the ERC1967 bootstrap." }, - "id": 4358, + "id": 4369, "implemented": true, "kind": "function", "modifiers": [], @@ -130719,17 +130609,17 @@ "nameLocation": "97021:28:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4347, + "id": 4358, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4346, + "id": 4357, "mutability": "mutable", "name": "authorizedUpgrader", "nameLocation": "97058:18:10", "nodeType": "VariableDeclaration", - "scope": 4358, + "scope": 4369, "src": "97050:26:10", "stateVariable": false, "storageLocation": "default", @@ -130738,7 +130628,7 @@ "typeString": "address" }, "typeName": { - "id": 4345, + "id": 4356, "name": "address", "nodeType": "ElementaryTypeName", "src": "97050:7:10", @@ -130754,17 +130644,17 @@ "src": "97049:28:10" }, "returnParameters": { - "id": 4350, + "id": 4361, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4349, + "id": 4360, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 4358, + "scope": 4369, "src": "97125:7:10", "stateVariable": false, "storageLocation": "default", @@ -130773,7 +130663,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 4348, + "id": 4359, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "97125:7:10", @@ -130787,7 +130677,7 @@ ], "src": "97124:9:10" }, - "scope": 5093, + "scope": 5104, "src": "97012:205:10", "stateMutability": "pure", "virtual": false, @@ -130795,23 +130685,23 @@ }, { "body": { - "id": 4373, + "id": 4384, "nodeType": "Block", "src": "98020:63:10", "statements": [ { "expression": { - "id": 4371, + "id": 4382, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 4366, + "id": 4377, "name": "instance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4364, + "referencedDeclaration": 4375, "src": "98030:8:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -130824,7 +130714,7 @@ "arguments": [ { "hexValue": "30", - "id": 4368, + "id": 4379, "isConstant": false, "isLValue": false, "isPure": true, @@ -130839,11 +130729,11 @@ "value": "0" }, { - "id": 4369, + "id": 4380, "name": "beacon", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4361, + "referencedDeclaration": 4372, "src": "98069:6:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -130862,23 +130752,23 @@ "typeString": "address" } ], - "id": 4367, + "id": 4378, "name": "deployERC1967BeaconProxy", "nodeType": "Identifier", "overloadedDeclarations": [ - 4374, - 4386, - 4520, - 4534 + 4385, + 4397, + 4531, + 4545 ], - "referencedDeclaration": 4386, + "referencedDeclaration": 4397, "src": "98041:24:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$returns$_t_address_$", "typeString": "function (uint256,address) returns (address)" } }, - "id": 4370, + "id": 4381, "isConstant": false, "isLValue": false, "isPure": false, @@ -130900,19 +130790,19 @@ "typeString": "address" } }, - "id": 4372, + "id": 4383, "nodeType": "ExpressionStatement", "src": "98030:46:10" } ] }, "documentation": { - "id": 4359, + "id": 4370, "nodeType": "StructuredDocumentation", "src": "97881:48:10", "text": "@dev Deploys a minimal ERC1967 beacon proxy." }, - "id": 4374, + "id": 4385, "implemented": true, "kind": "function", "modifiers": [], @@ -130920,17 +130810,17 @@ "nameLocation": "97943:24:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4362, + "id": 4373, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4361, + "id": 4372, "mutability": "mutable", "name": "beacon", "nameLocation": "97976:6:10", "nodeType": "VariableDeclaration", - "scope": 4374, + "scope": 4385, "src": "97968:14:10", "stateVariable": false, "storageLocation": "default", @@ -130939,7 +130829,7 @@ "typeString": "address" }, "typeName": { - "id": 4360, + "id": 4371, "name": "address", "nodeType": "ElementaryTypeName", "src": "97968:7:10", @@ -130955,17 +130845,17 @@ "src": "97967:16:10" }, "returnParameters": { - "id": 4365, + "id": 4376, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4364, + "id": 4375, "mutability": "mutable", "name": "instance", "nameLocation": "98010:8:10", "nodeType": "VariableDeclaration", - "scope": 4374, + "scope": 4385, "src": "98002:16:10", "stateVariable": false, "storageLocation": "default", @@ -130974,7 +130864,7 @@ "typeString": "address" }, "typeName": { - "id": 4363, + "id": 4374, "name": "address", "nodeType": "ElementaryTypeName", "src": "98002:7:10", @@ -130989,7 +130879,7 @@ ], "src": "98001:18:10" }, - "scope": 5093, + "scope": 5104, "src": "97934:149:10", "stateMutability": "nonpayable", "virtual": false, @@ -130997,7 +130887,7 @@ }, { "body": { - "id": 4385, + "id": 4396, "nodeType": "Block", "src": "98311:8291:10", "statements": [ @@ -131479,47 +131369,47 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4379, + "declaration": 4390, "isOffset": false, "isSlot": false, "src": "106259:6:10", "valueSize": 1 }, { - "declaration": 4382, + "declaration": 4393, "isOffset": false, "isSlot": false, "src": "106282:8:10", "valueSize": 1 }, { - "declaration": 4382, + "declaration": 4393, "isOffset": false, "isSlot": false, "src": "106342:8:10", "valueSize": 1 }, { - "declaration": 4377, + "declaration": 4388, "isOffset": false, "isSlot": false, "src": "106301:5:10", "valueSize": 1 } ], - "id": 4384, + "id": 4395, "nodeType": "InlineAssembly", "src": "98364:8232:10" } ] }, "documentation": { - "id": 4375, + "id": 4386, "nodeType": "StructuredDocumentation", "src": "98089:96:10", "text": "@dev Deploys a minimal ERC1967 beacon proxy.\n Deposits `value` ETH during deployment." }, - "id": 4386, + "id": 4397, "implemented": true, "kind": "function", "modifiers": [], @@ -131527,17 +131417,17 @@ "nameLocation": "98199:24:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4380, + "id": 4391, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4377, + "id": 4388, "mutability": "mutable", "name": "value", "nameLocation": "98232:5:10", "nodeType": "VariableDeclaration", - "scope": 4386, + "scope": 4397, "src": "98224:13:10", "stateVariable": false, "storageLocation": "default", @@ -131546,7 +131436,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4376, + "id": 4387, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "98224:7:10", @@ -131559,12 +131449,12 @@ }, { "constant": false, - "id": 4379, + "id": 4390, "mutability": "mutable", "name": "beacon", "nameLocation": "98247:6:10", "nodeType": "VariableDeclaration", - "scope": 4386, + "scope": 4397, "src": "98239:14:10", "stateVariable": false, "storageLocation": "default", @@ -131573,7 +131463,7 @@ "typeString": "address" }, "typeName": { - "id": 4378, + "id": 4389, "name": "address", "nodeType": "ElementaryTypeName", "src": "98239:7:10", @@ -131589,17 +131479,17 @@ "src": "98223:31:10" }, "returnParameters": { - "id": 4383, + "id": 4394, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4382, + "id": 4393, "mutability": "mutable", "name": "instance", "nameLocation": "98297:8:10", "nodeType": "VariableDeclaration", - "scope": 4386, + "scope": 4397, "src": "98289:16:10", "stateVariable": false, "storageLocation": "default", @@ -131608,7 +131498,7 @@ "typeString": "address" }, "typeName": { - "id": 4381, + "id": 4392, "name": "address", "nodeType": "ElementaryTypeName", "src": "98289:7:10", @@ -131623,7 +131513,7 @@ ], "src": "98288:18:10" }, - "scope": 5093, + "scope": 5104, "src": "98190:8412:10", "stateMutability": "nonpayable", "virtual": false, @@ -131631,23 +131521,23 @@ }, { "body": { - "id": 4404, + "id": 4415, "nodeType": "Block", "src": "106820:82:10", "statements": [ { "expression": { - "id": 4402, + "id": 4413, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 4396, + "id": 4407, "name": "instance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4394, + "referencedDeclaration": 4405, "src": "106830:8:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -131660,7 +131550,7 @@ "arguments": [ { "hexValue": "30", - "id": 4398, + "id": 4409, "isConstant": false, "isLValue": false, "isPure": true, @@ -131675,11 +131565,11 @@ "value": "0" }, { - "id": 4399, + "id": 4410, "name": "beacon", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4389, + "referencedDeclaration": 4400, "src": "106882:6:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -131687,11 +131577,11 @@ } }, { - "id": 4400, + "id": 4411, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4391, + "referencedDeclaration": 4402, "src": "106890:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -131714,23 +131604,23 @@ "typeString": "bytes32" } ], - "id": 4397, + "id": 4408, "name": "deployDeterministicERC1967BeaconProxy", "nodeType": "Identifier", "overloadedDeclarations": [ - 4405, - 4419, - 4556, - 4572 + 4416, + 4430, + 4567, + 4583 ], - "referencedDeclaration": 4419, + "referencedDeclaration": 4430, "src": "106841:37:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes32_$returns$_t_address_$", "typeString": "function (uint256,address,bytes32) returns (address)" } }, - "id": 4401, + "id": 4412, "isConstant": false, "isLValue": false, "isPure": false, @@ -131752,19 +131642,19 @@ "typeString": "address" } }, - "id": 4403, + "id": 4414, "nodeType": "ExpressionStatement", "src": "106830:65:10" } ] }, "documentation": { - "id": 4387, + "id": 4398, "nodeType": "StructuredDocumentation", "src": "106608:74:10", "text": "@dev Deploys a deterministic minimal ERC1967 beacon proxy with `salt`." }, - "id": 4405, + "id": 4416, "implemented": true, "kind": "function", "modifiers": [], @@ -131772,17 +131662,17 @@ "nameLocation": "106696:37:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4392, + "id": 4403, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4389, + "id": 4400, "mutability": "mutable", "name": "beacon", "nameLocation": "106742:6:10", "nodeType": "VariableDeclaration", - "scope": 4405, + "scope": 4416, "src": "106734:14:10", "stateVariable": false, "storageLocation": "default", @@ -131791,7 +131681,7 @@ "typeString": "address" }, "typeName": { - "id": 4388, + "id": 4399, "name": "address", "nodeType": "ElementaryTypeName", "src": "106734:7:10", @@ -131805,12 +131695,12 @@ }, { "constant": false, - "id": 4391, + "id": 4402, "mutability": "mutable", "name": "salt", "nameLocation": "106758:4:10", "nodeType": "VariableDeclaration", - "scope": 4405, + "scope": 4416, "src": "106750:12:10", "stateVariable": false, "storageLocation": "default", @@ -131819,7 +131709,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 4390, + "id": 4401, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "106750:7:10", @@ -131834,17 +131724,17 @@ "src": "106733:30:10" }, "returnParameters": { - "id": 4395, + "id": 4406, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4394, + "id": 4405, "mutability": "mutable", "name": "instance", "nameLocation": "106806:8:10", "nodeType": "VariableDeclaration", - "scope": 4405, + "scope": 4416, "src": "106798:16:10", "stateVariable": false, "storageLocation": "default", @@ -131853,7 +131743,7 @@ "typeString": "address" }, "typeName": { - "id": 4393, + "id": 4404, "name": "address", "nodeType": "ElementaryTypeName", "src": "106798:7:10", @@ -131868,7 +131758,7 @@ ], "src": "106797:18:10" }, - "scope": 5093, + "scope": 5104, "src": "106687:215:10", "stateMutability": "nonpayable", "virtual": false, @@ -131876,7 +131766,7 @@ }, { "body": { - "id": 4418, + "id": 4429, "nodeType": "Block", "src": "107183:818:10", "statements": [ @@ -132364,54 +132254,54 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4410, + "declaration": 4421, "isOffset": false, "isSlot": false, "src": "107651:6:10", "valueSize": 1 }, { - "declaration": 4415, + "declaration": 4426, "isOffset": false, "isSlot": false, "src": "107674:8:10", "valueSize": 1 }, { - "declaration": 4415, + "declaration": 4426, "isOffset": false, "isSlot": false, "src": "107741:8:10", "valueSize": 1 }, { - "declaration": 4412, + "declaration": 4423, "isOffset": false, "isSlot": false, "src": "107713:4:10", "valueSize": 1 }, { - "declaration": 4408, + "declaration": 4419, "isOffset": false, "isSlot": false, "src": "107694:5:10", "valueSize": 1 } ], - "id": 4417, + "id": 4428, "nodeType": "InlineAssembly", "src": "107236:759:10" } ] }, "documentation": { - "id": 4406, + "id": 4417, "nodeType": "StructuredDocumentation", "src": "106908:122:10", "text": "@dev Deploys a deterministic minimal ERC1967 beacon proxy with `salt`.\n Deposits `value` ETH during deployment." }, - "id": 4419, + "id": 4430, "implemented": true, "kind": "function", "modifiers": [], @@ -132419,17 +132309,17 @@ "nameLocation": "107044:37:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4413, + "id": 4424, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4408, + "id": 4419, "mutability": "mutable", "name": "value", "nameLocation": "107090:5:10", "nodeType": "VariableDeclaration", - "scope": 4419, + "scope": 4430, "src": "107082:13:10", "stateVariable": false, "storageLocation": "default", @@ -132438,7 +132328,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4407, + "id": 4418, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "107082:7:10", @@ -132451,12 +132341,12 @@ }, { "constant": false, - "id": 4410, + "id": 4421, "mutability": "mutable", "name": "beacon", "nameLocation": "107105:6:10", "nodeType": "VariableDeclaration", - "scope": 4419, + "scope": 4430, "src": "107097:14:10", "stateVariable": false, "storageLocation": "default", @@ -132465,7 +132355,7 @@ "typeString": "address" }, "typeName": { - "id": 4409, + "id": 4420, "name": "address", "nodeType": "ElementaryTypeName", "src": "107097:7:10", @@ -132479,12 +132369,12 @@ }, { "constant": false, - "id": 4412, + "id": 4423, "mutability": "mutable", "name": "salt", "nameLocation": "107121:4:10", "nodeType": "VariableDeclaration", - "scope": 4419, + "scope": 4430, "src": "107113:12:10", "stateVariable": false, "storageLocation": "default", @@ -132493,7 +132383,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 4411, + "id": 4422, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "107113:7:10", @@ -132508,17 +132398,17 @@ "src": "107081:45:10" }, "returnParameters": { - "id": 4416, + "id": 4427, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4415, + "id": 4426, "mutability": "mutable", "name": "instance", "nameLocation": "107169:8:10", "nodeType": "VariableDeclaration", - "scope": 4419, + "scope": 4430, "src": "107161:16:10", "stateVariable": false, "storageLocation": "default", @@ -132527,7 +132417,7 @@ "typeString": "address" }, "typeName": { - "id": 4414, + "id": 4425, "name": "address", "nodeType": "ElementaryTypeName", "src": "107161:7:10", @@ -132542,7 +132432,7 @@ ], "src": "107160:18:10" }, - "scope": 5093, + "scope": 5104, "src": "107035:966:10", "stateMutability": "nonpayable", "virtual": false, @@ -132550,7 +132440,7 @@ }, { "body": { - "id": 4437, + "id": 4448, "nodeType": "Block", "src": "108384:78:10", "statements": [ @@ -132559,7 +132449,7 @@ "arguments": [ { "hexValue": "30", - "id": 4432, + "id": 4443, "isConstant": false, "isLValue": false, "isPure": true, @@ -132574,11 +132464,11 @@ "value": "0" }, { - "id": 4433, + "id": 4444, "name": "beacon", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4422, + "referencedDeclaration": 4433, "src": "108442:6:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -132586,11 +132476,11 @@ } }, { - "id": 4434, + "id": 4445, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4424, + "referencedDeclaration": 4435, "src": "108450:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -132613,23 +132503,23 @@ "typeString": "bytes32" } ], - "id": 4431, + "id": 4442, "name": "createDeterministicERC1967BeaconProxy", "nodeType": "Identifier", "overloadedDeclarations": [ - 4438, - 4454, - 4594, - 4612 + 4449, + 4465, + 4605, + 4623 ], - "referencedDeclaration": 4454, + "referencedDeclaration": 4465, "src": "108401:37:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes32_$returns$_t_bool_$_t_address_$", "typeString": "function (uint256,address,bytes32) returns (bool,address)" } }, - "id": 4435, + "id": 4446, "isConstant": false, "isLValue": false, "isPure": false, @@ -132645,20 +132535,20 @@ "typeString": "tuple(bool,address)" } }, - "functionReturnParameters": 4430, - "id": 4436, + "functionReturnParameters": 4441, + "id": 4447, "nodeType": "Return", "src": "108394:61:10" } ] }, "documentation": { - "id": 4420, + "id": 4431, "nodeType": "StructuredDocumentation", "src": "108007:217:10", "text": "@dev Creates a deterministic minimal ERC1967 beacon proxy with `salt`.\n Note: This method is intended for use in ERC4337 factories,\n which are expected to NOT revert if the proxy is already deployed." }, - "id": 4438, + "id": 4449, "implemented": true, "kind": "function", "modifiers": [], @@ -132666,17 +132556,17 @@ "nameLocation": "108238:37:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4425, + "id": 4436, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4422, + "id": 4433, "mutability": "mutable", "name": "beacon", "nameLocation": "108284:6:10", "nodeType": "VariableDeclaration", - "scope": 4438, + "scope": 4449, "src": "108276:14:10", "stateVariable": false, "storageLocation": "default", @@ -132685,7 +132575,7 @@ "typeString": "address" }, "typeName": { - "id": 4421, + "id": 4432, "name": "address", "nodeType": "ElementaryTypeName", "src": "108276:7:10", @@ -132699,12 +132589,12 @@ }, { "constant": false, - "id": 4424, + "id": 4435, "mutability": "mutable", "name": "salt", "nameLocation": "108300:4:10", "nodeType": "VariableDeclaration", - "scope": 4438, + "scope": 4449, "src": "108292:12:10", "stateVariable": false, "storageLocation": "default", @@ -132713,7 +132603,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 4423, + "id": 4434, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "108292:7:10", @@ -132728,17 +132618,17 @@ "src": "108275:30:10" }, "returnParameters": { - "id": 4430, + "id": 4441, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4427, + "id": 4438, "mutability": "mutable", "name": "alreadyDeployed", "nameLocation": "108345:15:10", "nodeType": "VariableDeclaration", - "scope": 4438, + "scope": 4449, "src": "108340:20:10", "stateVariable": false, "storageLocation": "default", @@ -132747,7 +132637,7 @@ "typeString": "bool" }, "typeName": { - "id": 4426, + "id": 4437, "name": "bool", "nodeType": "ElementaryTypeName", "src": "108340:4:10", @@ -132760,12 +132650,12 @@ }, { "constant": false, - "id": 4429, + "id": 4440, "mutability": "mutable", "name": "instance", "nameLocation": "108370:8:10", "nodeType": "VariableDeclaration", - "scope": 4438, + "scope": 4449, "src": "108362:16:10", "stateVariable": false, "storageLocation": "default", @@ -132774,7 +132664,7 @@ "typeString": "address" }, "typeName": { - "id": 4428, + "id": 4439, "name": "address", "nodeType": "ElementaryTypeName", "src": "108362:7:10", @@ -132789,7 +132679,7 @@ ], "src": "108339:40:10" }, - "scope": 5093, + "scope": 5104, "src": "108229:233:10", "stateMutability": "nonpayable", "virtual": false, @@ -132797,7 +132687,7 @@ }, { "body": { - "id": 4453, + "id": 4464, "nodeType": "Block", "src": "108908:1599:10", "statements": [ @@ -133852,103 +133742,103 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4448, + "declaration": 4459, "isOffset": false, "isSlot": false, "src": "110052:15:10", "valueSize": 1 }, { - "declaration": 4443, + "declaration": 4454, "isOffset": false, "isSlot": false, "src": "109376:6:10", "valueSize": 1 }, { - "declaration": 4450, + "declaration": 4461, "isOffset": false, "isSlot": false, "src": "109638:8:10", "valueSize": 1 }, { - "declaration": 4450, + "declaration": 4461, "isOffset": false, "isSlot": false, "src": "109733:8:10", "valueSize": 1 }, { - "declaration": 4450, + "declaration": 4461, "isOffset": false, "isSlot": false, "src": "109766:8:10", "valueSize": 1 }, { - "declaration": 4450, + "declaration": 4461, "isOffset": false, "isSlot": false, "src": "109841:8:10", "valueSize": 1 }, { - "declaration": 4450, + "declaration": 4461, "isOffset": false, "isSlot": false, "src": "110154:8:10", "valueSize": 1 }, { - "declaration": 4445, + "declaration": 4456, "isOffset": false, "isSlot": false, "src": "109620:4:10", "valueSize": 1 }, { - "declaration": 4445, + "declaration": 4456, "isOffset": false, "isSlot": false, "src": "109805:4:10", "valueSize": 1 }, { - "declaration": 4441, + "declaration": 4452, "isOffset": false, "isSlot": false, "src": "109786:5:10", "valueSize": 1 }, { - "declaration": 4441, + "declaration": 4452, "isOffset": false, "isSlot": false, "src": "110099:5:10", "valueSize": 1 }, { - "declaration": 4441, + "declaration": 4452, "isOffset": false, "isSlot": false, "src": "110164:5:10", "valueSize": 1 } ], - "id": 4452, + "id": 4463, "nodeType": "InlineAssembly", "src": "108961:1540:10" } ] }, "documentation": { - "id": 4439, + "id": 4450, "nodeType": "StructuredDocumentation", "src": "108468:265:10", "text": "@dev Creates a deterministic minimal ERC1967 beacon proxy with `salt`.\n Deposits `value` ETH during deployment.\n Note: This method is intended for use in ERC4337 factories,\n which are expected to NOT revert if the proxy is already deployed." }, - "id": 4454, + "id": 4465, "implemented": true, "kind": "function", "modifiers": [], @@ -133956,17 +133846,17 @@ "nameLocation": "108747:37:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4446, + "id": 4457, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4441, + "id": 4452, "mutability": "mutable", "name": "value", "nameLocation": "108793:5:10", "nodeType": "VariableDeclaration", - "scope": 4454, + "scope": 4465, "src": "108785:13:10", "stateVariable": false, "storageLocation": "default", @@ -133975,7 +133865,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4440, + "id": 4451, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "108785:7:10", @@ -133988,12 +133878,12 @@ }, { "constant": false, - "id": 4443, + "id": 4454, "mutability": "mutable", "name": "beacon", "nameLocation": "108808:6:10", "nodeType": "VariableDeclaration", - "scope": 4454, + "scope": 4465, "src": "108800:14:10", "stateVariable": false, "storageLocation": "default", @@ -134002,7 +133892,7 @@ "typeString": "address" }, "typeName": { - "id": 4442, + "id": 4453, "name": "address", "nodeType": "ElementaryTypeName", "src": "108800:7:10", @@ -134016,12 +133906,12 @@ }, { "constant": false, - "id": 4445, + "id": 4456, "mutability": "mutable", "name": "salt", "nameLocation": "108824:4:10", "nodeType": "VariableDeclaration", - "scope": 4454, + "scope": 4465, "src": "108816:12:10", "stateVariable": false, "storageLocation": "default", @@ -134030,7 +133920,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 4444, + "id": 4455, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "108816:7:10", @@ -134045,17 +133935,17 @@ "src": "108784:45:10" }, "returnParameters": { - "id": 4451, + "id": 4462, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4448, + "id": 4459, "mutability": "mutable", "name": "alreadyDeployed", "nameLocation": "108869:15:10", "nodeType": "VariableDeclaration", - "scope": 4454, + "scope": 4465, "src": "108864:20:10", "stateVariable": false, "storageLocation": "default", @@ -134064,7 +133954,7 @@ "typeString": "bool" }, "typeName": { - "id": 4447, + "id": 4458, "name": "bool", "nodeType": "ElementaryTypeName", "src": "108864:4:10", @@ -134077,12 +133967,12 @@ }, { "constant": false, - "id": 4450, + "id": 4461, "mutability": "mutable", "name": "instance", "nameLocation": "108894:8:10", "nodeType": "VariableDeclaration", - "scope": 4454, + "scope": 4465, "src": "108886:16:10", "stateVariable": false, "storageLocation": "default", @@ -134091,7 +133981,7 @@ "typeString": "address" }, "typeName": { - "id": 4449, + "id": 4460, "name": "address", "nodeType": "ElementaryTypeName", "src": "108886:7:10", @@ -134106,7 +133996,7 @@ ], "src": "108863:40:10" }, - "scope": 5093, + "scope": 5104, "src": "108738:1769:10", "stateMutability": "nonpayable", "virtual": false, @@ -134114,7 +134004,7 @@ }, { "body": { - "id": 4463, + "id": 4474, "nodeType": "Block", "src": "110686:633:10", "statements": [ @@ -134565,89 +134455,89 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4457, + "declaration": 4468, "isOffset": false, "isSlot": false, "src": "111097:6:10", "valueSize": 1 }, { - "declaration": 4460, + "declaration": 4471, "isOffset": false, "isSlot": false, "src": "110762:1:10", "valueSize": 1 }, { - "declaration": 4460, + "declaration": 4471, "isOffset": false, "isSlot": false, "src": "110802:1:10", "valueSize": 1 }, { - "declaration": 4460, + "declaration": 4471, "isOffset": false, "isSlot": false, "src": "110903:1:10", "valueSize": 1 }, { - "declaration": 4460, + "declaration": 4471, "isOffset": false, "isSlot": false, "src": "111004:1:10", "valueSize": 1 }, { - "declaration": 4460, + "declaration": 4471, "isOffset": false, "isSlot": false, "src": "111087:1:10", "valueSize": 1 }, { - "declaration": 4460, + "declaration": 4471, "isOffset": false, "isSlot": false, "src": "111128:1:10", "valueSize": 1 }, { - "declaration": 4460, + "declaration": 4471, "isOffset": false, "isSlot": false, "src": "111183:1:10", "valueSize": 1 }, { - "declaration": 4460, + "declaration": 4471, "isOffset": false, "isSlot": false, "src": "111215:1:10", "valueSize": 1 }, { - "declaration": 4460, + "declaration": 4471, "isOffset": false, "isSlot": false, "src": "111274:1:10", "valueSize": 1 } ], - "id": 4462, + "id": 4473, "nodeType": "InlineAssembly", "src": "110739:574:10" } ] }, "documentation": { - "id": 4455, + "id": 4466, "nodeType": "StructuredDocumentation", "src": "110513:77:10", "text": "@dev Returns the initialization code of the minimal ERC1967 beacon proxy." }, - "id": 4464, + "id": 4475, "implemented": true, "kind": "function", "modifiers": [], @@ -134655,17 +134545,17 @@ "nameLocation": "110604:26:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4458, + "id": 4469, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4457, + "id": 4468, "mutability": "mutable", "name": "beacon", "nameLocation": "110639:6:10", "nodeType": "VariableDeclaration", - "scope": 4464, + "scope": 4475, "src": "110631:14:10", "stateVariable": false, "storageLocation": "default", @@ -134674,7 +134564,7 @@ "typeString": "address" }, "typeName": { - "id": 4456, + "id": 4467, "name": "address", "nodeType": "ElementaryTypeName", "src": "110631:7:10", @@ -134690,17 +134580,17 @@ "src": "110630:16:10" }, "returnParameters": { - "id": 4461, + "id": 4472, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4460, + "id": 4471, "mutability": "mutable", "name": "c", "nameLocation": "110683:1:10", "nodeType": "VariableDeclaration", - "scope": 4464, + "scope": 4475, "src": "110670:14:10", "stateVariable": false, "storageLocation": "memory", @@ -134709,7 +134599,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4459, + "id": 4470, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "110670:5:10", @@ -134723,7 +134613,7 @@ ], "src": "110669:16:10" }, - "scope": 5093, + "scope": 5104, "src": "110595:724:10", "stateMutability": "pure", "virtual": false, @@ -134731,7 +134621,7 @@ }, { "body": { - "id": 4473, + "id": 4484, "nodeType": "Block", "src": "111505:654:10", "statements": [ @@ -135108,33 +134998,33 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4467, + "declaration": 4478, "isOffset": false, "isSlot": false, "src": "111973:6:10", "valueSize": 1 }, { - "declaration": 4470, + "declaration": 4481, "isOffset": false, "isSlot": false, "src": "111996:4:10", "valueSize": 1 } ], - "id": 4472, + "id": 4483, "nodeType": "InlineAssembly", "src": "111558:595:10" } ] }, "documentation": { - "id": 4465, + "id": 4476, "nodeType": "StructuredDocumentation", "src": "111325:82:10", "text": "@dev Returns the initialization code hash of the minimal ERC1967 beacon proxy." }, - "id": 4474, + "id": 4485, "implemented": true, "kind": "function", "modifiers": [], @@ -135142,17 +135032,17 @@ "nameLocation": "111421:30:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4468, + "id": 4479, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4467, + "id": 4478, "mutability": "mutable", "name": "beacon", "nameLocation": "111460:6:10", "nodeType": "VariableDeclaration", - "scope": 4474, + "scope": 4485, "src": "111452:14:10", "stateVariable": false, "storageLocation": "default", @@ -135161,7 +135051,7 @@ "typeString": "address" }, "typeName": { - "id": 4466, + "id": 4477, "name": "address", "nodeType": "ElementaryTypeName", "src": "111452:7:10", @@ -135177,17 +135067,17 @@ "src": "111451:16:10" }, "returnParameters": { - "id": 4471, + "id": 4482, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4470, + "id": 4481, "mutability": "mutable", "name": "hash", "nameLocation": "111499:4:10", "nodeType": "VariableDeclaration", - "scope": 4474, + "scope": 4485, "src": "111491:12:10", "stateVariable": false, "storageLocation": "default", @@ -135196,7 +135086,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 4469, + "id": 4480, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "111491:7:10", @@ -135210,7 +135100,7 @@ ], "src": "111490:14:10" }, - "scope": 5093, + "scope": 5104, "src": "111412:747:10", "stateMutability": "pure", "virtual": false, @@ -135218,23 +135108,23 @@ }, { "body": { - "id": 4500, + "id": 4511, "nodeType": "Block", "src": "112522:141:10", "statements": [ { "assignments": [ - 4487 + 4498 ], "declarations": [ { "constant": false, - "id": 4487, + "id": 4498, "mutability": "mutable", "name": "hash", "nameLocation": "112540:4:10", "nodeType": "VariableDeclaration", - "scope": 4500, + "scope": 4511, "src": "112532:12:10", "stateVariable": false, "storageLocation": "default", @@ -135243,7 +135133,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 4486, + "id": 4497, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "112532:7:10", @@ -135255,15 +135145,15 @@ "visibility": "internal" } ], - "id": 4491, + "id": 4502, "initialValue": { "arguments": [ { - "id": 4489, + "id": 4500, "name": "beacon", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4477, + "referencedDeclaration": 4488, "src": "112578:6:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -135278,21 +135168,21 @@ "typeString": "address" } ], - "id": 4488, + "id": 4499, "name": "initCodeHashERC1967BeaconProxy", "nodeType": "Identifier", "overloadedDeclarations": [ - 4474, - 4636 + 4485, + 4647 ], - "referencedDeclaration": 4474, + "referencedDeclaration": 4485, "src": "112547:30:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_bytes32_$", "typeString": "function (address) pure returns (bytes32)" } }, - "id": 4490, + "id": 4501, "isConstant": false, "isLValue": false, "isPure": false, @@ -135313,17 +135203,17 @@ }, { "expression": { - "id": 4498, + "id": 4509, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 4492, + "id": 4503, "name": "predicted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4484, + "referencedDeclaration": 4495, "src": "112595:9:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -135335,11 +135225,11 @@ "rightHandSide": { "arguments": [ { - "id": 4494, + "id": 4505, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4487, + "referencedDeclaration": 4498, "src": "112635:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -135347,11 +135237,11 @@ } }, { - "id": 4495, + "id": 4506, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4479, + "referencedDeclaration": 4490, "src": "112641:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -135359,11 +135249,11 @@ } }, { - "id": 4496, + "id": 4507, "name": "deployer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4481, + "referencedDeclaration": 4492, "src": "112647:8:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -135386,22 +135276,22 @@ "typeString": "address" } ], - "id": 4493, + "id": 4504, "name": "predictDeterministicAddress", "nodeType": "Identifier", "overloadedDeclarations": [ - 3226, - 3499, - 5070 + 3237, + 3510, + 5081 ], - "referencedDeclaration": 5070, + "referencedDeclaration": 5081, "src": "112607:27:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_address_$", "typeString": "function (bytes32,bytes32,address) pure returns (address)" } }, - "id": 4497, + "id": 4508, "isConstant": false, "isLValue": false, "isPure": false, @@ -135423,19 +135313,19 @@ "typeString": "address" } }, - "id": 4499, + "id": 4510, "nodeType": "ExpressionStatement", "src": "112595:61:10" } ] }, "documentation": { - "id": 4475, + "id": 4486, "nodeType": "StructuredDocumentation", "src": "112165:177:10", "text": "@dev Returns the address of the ERC1967 beacon proxy, with `salt` by `deployer`.\n Note: The returned result has dirty upper 96 bits. Please clean if used in assembly." }, - "id": 4501, + "id": 4512, "implemented": true, "kind": "function", "modifiers": [], @@ -135443,17 +135333,17 @@ "nameLocation": "112356:45:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4482, + "id": 4493, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4477, + "id": 4488, "mutability": "mutable", "name": "beacon", "nameLocation": "112419:6:10", "nodeType": "VariableDeclaration", - "scope": 4501, + "scope": 4512, "src": "112411:14:10", "stateVariable": false, "storageLocation": "default", @@ -135462,7 +135352,7 @@ "typeString": "address" }, "typeName": { - "id": 4476, + "id": 4487, "name": "address", "nodeType": "ElementaryTypeName", "src": "112411:7:10", @@ -135476,12 +135366,12 @@ }, { "constant": false, - "id": 4479, + "id": 4490, "mutability": "mutable", "name": "salt", "nameLocation": "112443:4:10", "nodeType": "VariableDeclaration", - "scope": 4501, + "scope": 4512, "src": "112435:12:10", "stateVariable": false, "storageLocation": "default", @@ -135490,7 +135380,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 4478, + "id": 4489, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "112435:7:10", @@ -135503,12 +135393,12 @@ }, { "constant": false, - "id": 4481, + "id": 4492, "mutability": "mutable", "name": "deployer", "nameLocation": "112465:8:10", "nodeType": "VariableDeclaration", - "scope": 4501, + "scope": 4512, "src": "112457:16:10", "stateVariable": false, "storageLocation": "default", @@ -135517,7 +135407,7 @@ "typeString": "address" }, "typeName": { - "id": 4480, + "id": 4491, "name": "address", "nodeType": "ElementaryTypeName", "src": "112457:7:10", @@ -135533,17 +135423,17 @@ "src": "112401:78:10" }, "returnParameters": { - "id": 4485, + "id": 4496, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4484, + "id": 4495, "mutability": "mutable", "name": "predicted", "nameLocation": "112511:9:10", "nodeType": "VariableDeclaration", - "scope": 4501, + "scope": 4512, "src": "112503:17:10", "stateVariable": false, "storageLocation": "default", @@ -135552,7 +135442,7 @@ "typeString": "address" }, "typeName": { - "id": 4483, + "id": 4494, "name": "address", "nodeType": "ElementaryTypeName", "src": "112503:7:10", @@ -135567,7 +135457,7 @@ ], "src": "112502:19:10" }, - "scope": 5093, + "scope": 5104, "src": "112347:316:10", "stateMutability": "pure", "virtual": false, @@ -135575,23 +135465,23 @@ }, { "body": { - "id": 4519, + "id": 4530, "nodeType": "Block", "src": "113142:69:10", "statements": [ { "expression": { - "id": 4517, + "id": 4528, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 4511, + "id": 4522, "name": "instance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4509, + "referencedDeclaration": 4520, "src": "113152:8:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -135604,7 +135494,7 @@ "arguments": [ { "hexValue": "30", - "id": 4513, + "id": 4524, "isConstant": false, "isLValue": false, "isPure": true, @@ -135619,11 +135509,11 @@ "value": "0" }, { - "id": 4514, + "id": 4525, "name": "beacon", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4504, + "referencedDeclaration": 4515, "src": "113191:6:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -135631,11 +135521,11 @@ } }, { - "id": 4515, + "id": 4526, "name": "args", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4506, + "referencedDeclaration": 4517, "src": "113199:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -135658,23 +135548,23 @@ "typeString": "bytes memory" } ], - "id": 4512, + "id": 4523, "name": "deployERC1967BeaconProxy", "nodeType": "Identifier", "overloadedDeclarations": [ - 4374, - 4386, - 4520, - 4534 + 4385, + 4397, + 4531, + 4545 ], - "referencedDeclaration": 4534, + "referencedDeclaration": 4545, "src": "113163:24:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$_t_address_$", "typeString": "function (uint256,address,bytes memory) returns (address)" } }, - "id": 4516, + "id": 4527, "isConstant": false, "isLValue": false, "isPure": false, @@ -135696,19 +135586,19 @@ "typeString": "address" } }, - "id": 4518, + "id": 4529, "nodeType": "ExpressionStatement", "src": "113152:52:10" } ] }, "documentation": { - "id": 4502, + "id": 4513, "nodeType": "StructuredDocumentation", "src": "112952:60:10", "text": "@dev Deploys a minimal ERC1967 beacon proxy with `args`." }, - "id": 4520, + "id": 4531, "implemented": true, "kind": "function", "modifiers": [], @@ -135716,17 +135606,17 @@ "nameLocation": "113026:24:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4507, + "id": 4518, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4504, + "id": 4515, "mutability": "mutable", "name": "beacon", "nameLocation": "113059:6:10", "nodeType": "VariableDeclaration", - "scope": 4520, + "scope": 4531, "src": "113051:14:10", "stateVariable": false, "storageLocation": "default", @@ -135735,7 +135625,7 @@ "typeString": "address" }, "typeName": { - "id": 4503, + "id": 4514, "name": "address", "nodeType": "ElementaryTypeName", "src": "113051:7:10", @@ -135749,12 +135639,12 @@ }, { "constant": false, - "id": 4506, + "id": 4517, "mutability": "mutable", "name": "args", "nameLocation": "113080:4:10", "nodeType": "VariableDeclaration", - "scope": 4520, + "scope": 4531, "src": "113067:17:10", "stateVariable": false, "storageLocation": "memory", @@ -135763,7 +135653,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4505, + "id": 4516, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "113067:5:10", @@ -135778,17 +135668,17 @@ "src": "113050:35:10" }, "returnParameters": { - "id": 4510, + "id": 4521, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4509, + "id": 4520, "mutability": "mutable", "name": "instance", "nameLocation": "113128:8:10", "nodeType": "VariableDeclaration", - "scope": 4520, + "scope": 4531, "src": "113120:16:10", "stateVariable": false, "storageLocation": "default", @@ -135797,7 +135687,7 @@ "typeString": "address" }, "typeName": { - "id": 4508, + "id": 4519, "name": "address", "nodeType": "ElementaryTypeName", "src": "113120:7:10", @@ -135812,7 +135702,7 @@ ], "src": "113119:18:10" }, - "scope": 5093, + "scope": 5104, "src": "113017:194:10", "stateMutability": "nonpayable", "virtual": false, @@ -135820,7 +135710,7 @@ }, { "body": { - "id": 4533, + "id": 4544, "nodeType": "Block", "src": "113470:933:10", "statements": [ @@ -136528,61 +136418,61 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4527, + "declaration": 4538, "isOffset": false, "isSlot": false, "src": "113594:4:10", "valueSize": 1 }, { - "declaration": 4527, + "declaration": 4538, "isOffset": false, "isSlot": false, "src": "113641:4:10", "valueSize": 1 }, { - "declaration": 4525, + "declaration": 4536, "isOffset": false, "isSlot": false, "src": "113993:6:10", "valueSize": 1 }, { - "declaration": 4530, + "declaration": 4541, "isOffset": false, "isSlot": false, "src": "114185:8:10", "valueSize": 1 }, { - "declaration": 4530, + "declaration": 4541, "isOffset": false, "isSlot": false, "src": "114261:8:10", "valueSize": 1 }, { - "declaration": 4523, + "declaration": 4534, "isOffset": false, "isSlot": false, "src": "114204:5:10", "valueSize": 1 } ], - "id": 4532, + "id": 4543, "nodeType": "InlineAssembly", "src": "113523:874:10" } ] }, "documentation": { - "id": 4521, + "id": 4532, "nodeType": "StructuredDocumentation", "src": "113217:108:10", "text": "@dev Deploys a minimal ERC1967 beacon proxy with `args`.\n Deposits `value` ETH during deployment." }, - "id": 4534, + "id": 4545, "implemented": true, "kind": "function", "modifiers": [], @@ -136590,17 +136480,17 @@ "nameLocation": "113339:24:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4528, + "id": 4539, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4523, + "id": 4534, "mutability": "mutable", "name": "value", "nameLocation": "113372:5:10", "nodeType": "VariableDeclaration", - "scope": 4534, + "scope": 4545, "src": "113364:13:10", "stateVariable": false, "storageLocation": "default", @@ -136609,7 +136499,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4522, + "id": 4533, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "113364:7:10", @@ -136622,12 +136512,12 @@ }, { "constant": false, - "id": 4525, + "id": 4536, "mutability": "mutable", "name": "beacon", "nameLocation": "113387:6:10", "nodeType": "VariableDeclaration", - "scope": 4534, + "scope": 4545, "src": "113379:14:10", "stateVariable": false, "storageLocation": "default", @@ -136636,7 +136526,7 @@ "typeString": "address" }, "typeName": { - "id": 4524, + "id": 4535, "name": "address", "nodeType": "ElementaryTypeName", "src": "113379:7:10", @@ -136650,12 +136540,12 @@ }, { "constant": false, - "id": 4527, + "id": 4538, "mutability": "mutable", "name": "args", "nameLocation": "113408:4:10", "nodeType": "VariableDeclaration", - "scope": 4534, + "scope": 4545, "src": "113395:17:10", "stateVariable": false, "storageLocation": "memory", @@ -136664,7 +136554,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4526, + "id": 4537, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "113395:5:10", @@ -136679,17 +136569,17 @@ "src": "113363:50:10" }, "returnParameters": { - "id": 4531, + "id": 4542, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4530, + "id": 4541, "mutability": "mutable", "name": "instance", "nameLocation": "113456:8:10", "nodeType": "VariableDeclaration", - "scope": 4534, + "scope": 4545, "src": "113448:16:10", "stateVariable": false, "storageLocation": "default", @@ -136698,7 +136588,7 @@ "typeString": "address" }, "typeName": { - "id": 4529, + "id": 4540, "name": "address", "nodeType": "ElementaryTypeName", "src": "113448:7:10", @@ -136713,7 +136603,7 @@ ], "src": "113447:18:10" }, - "scope": 5093, + "scope": 5104, "src": "113330:1073:10", "stateMutability": "nonpayable", "virtual": false, @@ -136721,23 +136611,23 @@ }, { "body": { - "id": 4555, + "id": 4566, "nodeType": "Block", "src": "114651:88:10", "statements": [ { "expression": { - "id": 4553, + "id": 4564, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 4546, + "id": 4557, "name": "instance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4544, + "referencedDeclaration": 4555, "src": "114661:8:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -136750,7 +136640,7 @@ "arguments": [ { "hexValue": "30", - "id": 4548, + "id": 4559, "isConstant": false, "isLValue": false, "isPure": true, @@ -136765,11 +136655,11 @@ "value": "0" }, { - "id": 4549, + "id": 4560, "name": "beacon", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4537, + "referencedDeclaration": 4548, "src": "114713:6:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -136777,11 +136667,11 @@ } }, { - "id": 4550, + "id": 4561, "name": "args", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4539, + "referencedDeclaration": 4550, "src": "114721:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -136789,11 +136679,11 @@ } }, { - "id": 4551, + "id": 4562, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4541, + "referencedDeclaration": 4552, "src": "114727:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -136820,23 +136710,23 @@ "typeString": "bytes32" } ], - "id": 4547, + "id": 4558, "name": "deployDeterministicERC1967BeaconProxy", "nodeType": "Identifier", "overloadedDeclarations": [ - 4405, - 4419, - 4556, - 4572 + 4416, + 4430, + 4567, + 4583 ], - "referencedDeclaration": 4572, + "referencedDeclaration": 4583, "src": "114672:37:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$_t_bytes32_$returns$_t_address_$", "typeString": "function (uint256,address,bytes memory,bytes32) returns (address)" } }, - "id": 4552, + "id": 4563, "isConstant": false, "isLValue": false, "isPure": false, @@ -136858,19 +136748,19 @@ "typeString": "address" } }, - "id": 4554, + "id": 4565, "nodeType": "ExpressionStatement", "src": "114661:71:10" } ] }, "documentation": { - "id": 4535, + "id": 4546, "nodeType": "StructuredDocumentation", "src": "114409:85:10", "text": "@dev Deploys a deterministic minimal ERC1967 beacon proxy with `args` and `salt`." }, - "id": 4556, + "id": 4567, "implemented": true, "kind": "function", "modifiers": [], @@ -136878,17 +136768,17 @@ "nameLocation": "114508:37:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4542, + "id": 4553, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4537, + "id": 4548, "mutability": "mutable", "name": "beacon", "nameLocation": "114554:6:10", "nodeType": "VariableDeclaration", - "scope": 4556, + "scope": 4567, "src": "114546:14:10", "stateVariable": false, "storageLocation": "default", @@ -136897,7 +136787,7 @@ "typeString": "address" }, "typeName": { - "id": 4536, + "id": 4547, "name": "address", "nodeType": "ElementaryTypeName", "src": "114546:7:10", @@ -136911,12 +136801,12 @@ }, { "constant": false, - "id": 4539, + "id": 4550, "mutability": "mutable", "name": "args", "nameLocation": "114575:4:10", "nodeType": "VariableDeclaration", - "scope": 4556, + "scope": 4567, "src": "114562:17:10", "stateVariable": false, "storageLocation": "memory", @@ -136925,7 +136815,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4538, + "id": 4549, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "114562:5:10", @@ -136938,12 +136828,12 @@ }, { "constant": false, - "id": 4541, + "id": 4552, "mutability": "mutable", "name": "salt", "nameLocation": "114589:4:10", "nodeType": "VariableDeclaration", - "scope": 4556, + "scope": 4567, "src": "114581:12:10", "stateVariable": false, "storageLocation": "default", @@ -136952,7 +136842,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 4540, + "id": 4551, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "114581:7:10", @@ -136967,17 +136857,17 @@ "src": "114545:49:10" }, "returnParameters": { - "id": 4545, + "id": 4556, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4544, + "id": 4555, "mutability": "mutable", "name": "instance", "nameLocation": "114637:8:10", "nodeType": "VariableDeclaration", - "scope": 4556, + "scope": 4567, "src": "114629:16:10", "stateVariable": false, "storageLocation": "default", @@ -136986,7 +136876,7 @@ "typeString": "address" }, "typeName": { - "id": 4543, + "id": 4554, "name": "address", "nodeType": "ElementaryTypeName", "src": "114629:7:10", @@ -137001,7 +136891,7 @@ ], "src": "114628:18:10" }, - "scope": 5093, + "scope": 5104, "src": "114499:240:10", "stateMutability": "nonpayable", "virtual": false, @@ -137009,7 +136899,7 @@ }, { "body": { - "id": 4571, + "id": 4582, "nodeType": "Block", "src": "115068:940:10", "statements": [ @@ -137723,68 +137613,68 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4563, + "declaration": 4574, "isOffset": false, "isSlot": false, "src": "115192:4:10", "valueSize": 1 }, { - "declaration": 4563, + "declaration": 4574, "isOffset": false, "isSlot": false, "src": "115239:4:10", "valueSize": 1 }, { - "declaration": 4561, + "declaration": 4572, "isOffset": false, "isSlot": false, "src": "115591:6:10", "valueSize": 1 }, { - "declaration": 4568, + "declaration": 4579, "isOffset": false, "isSlot": false, "src": "115783:8:10", "valueSize": 1 }, { - "declaration": 4568, + "declaration": 4579, "isOffset": false, "isSlot": false, "src": "115866:8:10", "valueSize": 1 }, { - "declaration": 4565, + "declaration": 4576, "isOffset": false, "isSlot": false, "src": "115838:4:10", "valueSize": 1 }, { - "declaration": 4559, + "declaration": 4570, "isOffset": false, "isSlot": false, "src": "115803:5:10", "valueSize": 1 } ], - "id": 4570, + "id": 4581, "nodeType": "InlineAssembly", "src": "115121:881:10" } ] }, "documentation": { - "id": 4557, + "id": 4568, "nodeType": "StructuredDocumentation", "src": "114745:133:10", "text": "@dev Deploys a deterministic minimal ERC1967 beacon proxy with `args` and `salt`.\n Deposits `value` ETH during deployment." }, - "id": 4572, + "id": 4583, "implemented": true, "kind": "function", "modifiers": [], @@ -137792,17 +137682,17 @@ "nameLocation": "114892:37:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4566, + "id": 4577, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4559, + "id": 4570, "mutability": "mutable", "name": "value", "nameLocation": "114947:5:10", "nodeType": "VariableDeclaration", - "scope": 4572, + "scope": 4583, "src": "114939:13:10", "stateVariable": false, "storageLocation": "default", @@ -137811,7 +137701,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4558, + "id": 4569, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "114939:7:10", @@ -137824,12 +137714,12 @@ }, { "constant": false, - "id": 4561, + "id": 4572, "mutability": "mutable", "name": "beacon", "nameLocation": "114970:6:10", "nodeType": "VariableDeclaration", - "scope": 4572, + "scope": 4583, "src": "114962:14:10", "stateVariable": false, "storageLocation": "default", @@ -137838,7 +137728,7 @@ "typeString": "address" }, "typeName": { - "id": 4560, + "id": 4571, "name": "address", "nodeType": "ElementaryTypeName", "src": "114962:7:10", @@ -137852,12 +137742,12 @@ }, { "constant": false, - "id": 4563, + "id": 4574, "mutability": "mutable", "name": "args", "nameLocation": "114999:4:10", "nodeType": "VariableDeclaration", - "scope": 4572, + "scope": 4583, "src": "114986:17:10", "stateVariable": false, "storageLocation": "memory", @@ -137866,7 +137756,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4562, + "id": 4573, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "114986:5:10", @@ -137879,12 +137769,12 @@ }, { "constant": false, - "id": 4565, + "id": 4576, "mutability": "mutable", "name": "salt", "nameLocation": "115021:4:10", "nodeType": "VariableDeclaration", - "scope": 4572, + "scope": 4583, "src": "115013:12:10", "stateVariable": false, "storageLocation": "default", @@ -137893,7 +137783,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 4564, + "id": 4575, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "115013:7:10", @@ -137908,17 +137798,17 @@ "src": "114929:102:10" }, "returnParameters": { - "id": 4569, + "id": 4580, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4568, + "id": 4579, "mutability": "mutable", "name": "instance", "nameLocation": "115058:8:10", "nodeType": "VariableDeclaration", - "scope": 4572, + "scope": 4583, "src": "115050:16:10", "stateVariable": false, "storageLocation": "default", @@ -137927,7 +137817,7 @@ "typeString": "address" }, "typeName": { - "id": 4567, + "id": 4578, "name": "address", "nodeType": "ElementaryTypeName", "src": "115050:7:10", @@ -137942,7 +137832,7 @@ ], "src": "115049:18:10" }, - "scope": 5093, + "scope": 5104, "src": "114883:1125:10", "stateMutability": "nonpayable", "virtual": false, @@ -137950,7 +137840,7 @@ }, { "body": { - "id": 4593, + "id": 4604, "nodeType": "Block", "src": "116421:84:10", "statements": [ @@ -137959,7 +137849,7 @@ "arguments": [ { "hexValue": "30", - "id": 4587, + "id": 4598, "isConstant": false, "isLValue": false, "isPure": true, @@ -137974,11 +137864,11 @@ "value": "0" }, { - "id": 4588, + "id": 4599, "name": "beacon", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4575, + "referencedDeclaration": 4586, "src": "116479:6:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -137986,11 +137876,11 @@ } }, { - "id": 4589, + "id": 4600, "name": "args", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4577, + "referencedDeclaration": 4588, "src": "116487:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -137998,11 +137888,11 @@ } }, { - "id": 4590, + "id": 4601, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4579, + "referencedDeclaration": 4590, "src": "116493:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -138029,23 +137919,23 @@ "typeString": "bytes32" } ], - "id": 4586, + "id": 4597, "name": "createDeterministicERC1967BeaconProxy", "nodeType": "Identifier", "overloadedDeclarations": [ - 4438, - 4454, - 4594, - 4612 + 4449, + 4465, + 4605, + 4623 ], - "referencedDeclaration": 4612, + "referencedDeclaration": 4623, "src": "116438:37:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$_t_bytes32_$returns$_t_bool_$_t_address_$", "typeString": "function (uint256,address,bytes memory,bytes32) returns (bool,address)" } }, - "id": 4591, + "id": 4602, "isConstant": false, "isLValue": false, "isPure": false, @@ -138061,20 +137951,20 @@ "typeString": "tuple(bool,address)" } }, - "functionReturnParameters": 4585, - "id": 4592, + "functionReturnParameters": 4596, + "id": 4603, "nodeType": "Return", "src": "116431:67:10" } ] }, "documentation": { - "id": 4573, + "id": 4584, "nodeType": "StructuredDocumentation", "src": "116014:228:10", "text": "@dev Creates a deterministic minimal ERC1967 beacon proxy with `args` and `salt`.\n Note: This method is intended for use in ERC4337 factories,\n which are expected to NOT revert if the proxy is already deployed." }, - "id": 4594, + "id": 4605, "implemented": true, "kind": "function", "modifiers": [], @@ -138082,17 +137972,17 @@ "nameLocation": "116256:37:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4580, + "id": 4591, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4575, + "id": 4586, "mutability": "mutable", "name": "beacon", "nameLocation": "116302:6:10", "nodeType": "VariableDeclaration", - "scope": 4594, + "scope": 4605, "src": "116294:14:10", "stateVariable": false, "storageLocation": "default", @@ -138101,7 +137991,7 @@ "typeString": "address" }, "typeName": { - "id": 4574, + "id": 4585, "name": "address", "nodeType": "ElementaryTypeName", "src": "116294:7:10", @@ -138115,12 +138005,12 @@ }, { "constant": false, - "id": 4577, + "id": 4588, "mutability": "mutable", "name": "args", "nameLocation": "116323:4:10", "nodeType": "VariableDeclaration", - "scope": 4594, + "scope": 4605, "src": "116310:17:10", "stateVariable": false, "storageLocation": "memory", @@ -138129,7 +138019,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4576, + "id": 4587, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "116310:5:10", @@ -138142,12 +138032,12 @@ }, { "constant": false, - "id": 4579, + "id": 4590, "mutability": "mutable", "name": "salt", "nameLocation": "116337:4:10", "nodeType": "VariableDeclaration", - "scope": 4594, + "scope": 4605, "src": "116329:12:10", "stateVariable": false, "storageLocation": "default", @@ -138156,7 +138046,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 4578, + "id": 4589, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "116329:7:10", @@ -138171,17 +138061,17 @@ "src": "116293:49:10" }, "returnParameters": { - "id": 4585, + "id": 4596, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4582, + "id": 4593, "mutability": "mutable", "name": "alreadyDeployed", "nameLocation": "116382:15:10", "nodeType": "VariableDeclaration", - "scope": 4594, + "scope": 4605, "src": "116377:20:10", "stateVariable": false, "storageLocation": "default", @@ -138190,7 +138080,7 @@ "typeString": "bool" }, "typeName": { - "id": 4581, + "id": 4592, "name": "bool", "nodeType": "ElementaryTypeName", "src": "116377:4:10", @@ -138203,12 +138093,12 @@ }, { "constant": false, - "id": 4584, + "id": 4595, "mutability": "mutable", "name": "instance", "nameLocation": "116407:8:10", "nodeType": "VariableDeclaration", - "scope": 4594, + "scope": 4605, "src": "116399:16:10", "stateVariable": false, "storageLocation": "default", @@ -138217,7 +138107,7 @@ "typeString": "address" }, "typeName": { - "id": 4583, + "id": 4594, "name": "address", "nodeType": "ElementaryTypeName", "src": "116399:7:10", @@ -138232,7 +138122,7 @@ ], "src": "116376:40:10" }, - "scope": 5093, + "scope": 5104, "src": "116247:258:10", "stateMutability": "nonpayable", "virtual": false, @@ -138240,7 +138130,7 @@ }, { "body": { - "id": 4611, + "id": 4622, "nodeType": "Block", "src": "116999:1818:10", "statements": [ @@ -139561,117 +139451,117 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4606, + "declaration": 4617, "isOffset": false, "isSlot": false, "src": "118392:15:10", "valueSize": 1 }, { - "declaration": 4601, + "declaration": 4612, "isOffset": false, "isSlot": false, "src": "117123:4:10", "valueSize": 1 }, { - "declaration": 4601, + "declaration": 4612, "isOffset": false, "isSlot": false, "src": "117170:4:10", "valueSize": 1 }, { - "declaration": 4599, + "declaration": 4610, "isOffset": false, "isSlot": false, "src": "117522:6:10", "valueSize": 1 }, { - "declaration": 4608, + "declaration": 4619, "isOffset": false, "isSlot": false, "src": "117959:8:10", "valueSize": 1 }, { - "declaration": 4608, + "declaration": 4619, "isOffset": false, "isSlot": false, "src": "118057:8:10", "valueSize": 1 }, { - "declaration": 4608, + "declaration": 4619, "isOffset": false, "isSlot": false, "src": "118090:8:10", "valueSize": 1 }, { - "declaration": 4608, + "declaration": 4619, "isOffset": false, "isSlot": false, "src": "118181:8:10", "valueSize": 1 }, { - "declaration": 4608, + "declaration": 4619, "isOffset": false, "isSlot": false, "src": "118494:8:10", "valueSize": 1 }, { - "declaration": 4603, + "declaration": 4614, "isOffset": false, "isSlot": false, "src": "117941:4:10", "valueSize": 1 }, { - "declaration": 4603, + "declaration": 4614, "isOffset": false, "isSlot": false, "src": "118145:4:10", "valueSize": 1 }, { - "declaration": 4597, + "declaration": 4608, "isOffset": false, "isSlot": false, "src": "118110:5:10", "valueSize": 1 }, { - "declaration": 4597, + "declaration": 4608, "isOffset": false, "isSlot": false, "src": "118439:5:10", "valueSize": 1 }, { - "declaration": 4597, + "declaration": 4608, "isOffset": false, "isSlot": false, "src": "118504:5:10", "valueSize": 1 } ], - "id": 4610, + "id": 4621, "nodeType": "InlineAssembly", "src": "117052:1759:10" } ] }, "documentation": { - "id": 4595, + "id": 4606, "nodeType": "StructuredDocumentation", "src": "116511:276:10", "text": "@dev Creates a deterministic minimal ERC1967 beacon proxy with `args` and `salt`.\n Deposits `value` ETH during deployment.\n Note: This method is intended for use in ERC4337 factories,\n which are expected to NOT revert if the proxy is already deployed." }, - "id": 4612, + "id": 4623, "implemented": true, "kind": "function", "modifiers": [], @@ -139679,17 +139569,17 @@ "nameLocation": "116801:37:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4604, + "id": 4615, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4597, + "id": 4608, "mutability": "mutable", "name": "value", "nameLocation": "116856:5:10", "nodeType": "VariableDeclaration", - "scope": 4612, + "scope": 4623, "src": "116848:13:10", "stateVariable": false, "storageLocation": "default", @@ -139698,7 +139588,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4596, + "id": 4607, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "116848:7:10", @@ -139711,12 +139601,12 @@ }, { "constant": false, - "id": 4599, + "id": 4610, "mutability": "mutable", "name": "beacon", "nameLocation": "116879:6:10", "nodeType": "VariableDeclaration", - "scope": 4612, + "scope": 4623, "src": "116871:14:10", "stateVariable": false, "storageLocation": "default", @@ -139725,7 +139615,7 @@ "typeString": "address" }, "typeName": { - "id": 4598, + "id": 4609, "name": "address", "nodeType": "ElementaryTypeName", "src": "116871:7:10", @@ -139739,12 +139629,12 @@ }, { "constant": false, - "id": 4601, + "id": 4612, "mutability": "mutable", "name": "args", "nameLocation": "116908:4:10", "nodeType": "VariableDeclaration", - "scope": 4612, + "scope": 4623, "src": "116895:17:10", "stateVariable": false, "storageLocation": "memory", @@ -139753,7 +139643,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4600, + "id": 4611, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "116895:5:10", @@ -139766,12 +139656,12 @@ }, { "constant": false, - "id": 4603, + "id": 4614, "mutability": "mutable", "name": "salt", "nameLocation": "116930:4:10", "nodeType": "VariableDeclaration", - "scope": 4612, + "scope": 4623, "src": "116922:12:10", "stateVariable": false, "storageLocation": "default", @@ -139780,7 +139670,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 4602, + "id": 4613, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "116922:7:10", @@ -139795,17 +139685,17 @@ "src": "116838:102:10" }, "returnParameters": { - "id": 4609, + "id": 4620, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4606, + "id": 4617, "mutability": "mutable", "name": "alreadyDeployed", "nameLocation": "116964:15:10", "nodeType": "VariableDeclaration", - "scope": 4612, + "scope": 4623, "src": "116959:20:10", "stateVariable": false, "storageLocation": "default", @@ -139814,7 +139704,7 @@ "typeString": "bool" }, "typeName": { - "id": 4605, + "id": 4616, "name": "bool", "nodeType": "ElementaryTypeName", "src": "116959:4:10", @@ -139827,12 +139717,12 @@ }, { "constant": false, - "id": 4608, + "id": 4619, "mutability": "mutable", "name": "instance", "nameLocation": "116989:8:10", "nodeType": "VariableDeclaration", - "scope": 4612, + "scope": 4623, "src": "116981:16:10", "stateVariable": false, "storageLocation": "default", @@ -139841,7 +139731,7 @@ "typeString": "address" }, "typeName": { - "id": 4607, + "id": 4618, "name": "address", "nodeType": "ElementaryTypeName", "src": "116981:7:10", @@ -139856,7 +139746,7 @@ ], "src": "116958:40:10" }, - "scope": 5093, + "scope": 5104, "src": "116792:2025:10", "stateMutability": "nonpayable", "virtual": false, @@ -139864,7 +139754,7 @@ }, { "body": { - "id": 4623, + "id": 4634, "nodeType": "Block", "src": "119043:1066:10", "statements": [ @@ -140750,110 +140640,110 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4617, + "declaration": 4628, "isOffset": false, "isSlot": false, "src": "119163:4:10", "valueSize": 1 }, { - "declaration": 4617, + "declaration": 4628, "isOffset": false, "isSlot": false, "src": "119457:4:10", "valueSize": 1 }, { - "declaration": 4615, + "declaration": 4626, "isOffset": false, "isSlot": false, "src": "119807:6:10", "valueSize": 1 }, { - "declaration": 4620, + "declaration": 4631, "isOffset": false, "isSlot": false, "src": "119119:1:10", "valueSize": 1 }, { - "declaration": 4620, + "declaration": 4631, "isOffset": false, "isSlot": false, "src": "119429:1:10", "valueSize": 1 }, { - "declaration": 4620, + "declaration": 4631, "isOffset": false, "isSlot": false, "src": "119512:1:10", "valueSize": 1 }, { - "declaration": 4620, + "declaration": 4631, "isOffset": false, "isSlot": false, "src": "119613:1:10", "valueSize": 1 }, { - "declaration": 4620, + "declaration": 4631, "isOffset": false, "isSlot": false, "src": "119714:1:10", "valueSize": 1 }, { - "declaration": 4620, + "declaration": 4631, "isOffset": false, "isSlot": false, "src": "119797:1:10", "valueSize": 1 }, { - "declaration": 4620, + "declaration": 4631, "isOffset": false, "isSlot": false, "src": "119838:1:10", "valueSize": 1 }, { - "declaration": 4620, + "declaration": 4631, "isOffset": false, "isSlot": false, "src": "119908:1:10", "valueSize": 1 }, { - "declaration": 4620, + "declaration": 4631, "isOffset": false, "isSlot": false, "src": "119969:1:10", "valueSize": 1 }, { - "declaration": 4620, + "declaration": 4631, "isOffset": false, "isSlot": false, "src": "120056:1:10", "valueSize": 1 } ], - "id": 4622, + "id": 4633, "nodeType": "InlineAssembly", "src": "119096:1007:10" } ] }, "documentation": { - "id": 4613, + "id": 4624, "nodeType": "StructuredDocumentation", "src": "118823:77:10", "text": "@dev Returns the initialization code of the minimal ERC1967 beacon proxy." }, - "id": 4624, + "id": 4635, "implemented": true, "kind": "function", "modifiers": [], @@ -140861,17 +140751,17 @@ "nameLocation": "118914:26:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4618, + "id": 4629, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4615, + "id": 4626, "mutability": "mutable", "name": "beacon", "nameLocation": "118949:6:10", "nodeType": "VariableDeclaration", - "scope": 4624, + "scope": 4635, "src": "118941:14:10", "stateVariable": false, "storageLocation": "default", @@ -140880,7 +140770,7 @@ "typeString": "address" }, "typeName": { - "id": 4614, + "id": 4625, "name": "address", "nodeType": "ElementaryTypeName", "src": "118941:7:10", @@ -140894,12 +140784,12 @@ }, { "constant": false, - "id": 4617, + "id": 4628, "mutability": "mutable", "name": "args", "nameLocation": "118970:4:10", "nodeType": "VariableDeclaration", - "scope": 4624, + "scope": 4635, "src": "118957:17:10", "stateVariable": false, "storageLocation": "memory", @@ -140908,7 +140798,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4616, + "id": 4627, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "118957:5:10", @@ -140923,17 +140813,17 @@ "src": "118940:35:10" }, "returnParameters": { - "id": 4621, + "id": 4632, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4620, + "id": 4631, "mutability": "mutable", "name": "c", "nameLocation": "119036:1:10", "nodeType": "VariableDeclaration", - "scope": 4624, + "scope": 4635, "src": "119023:14:10", "stateVariable": false, "storageLocation": "memory", @@ -140942,7 +140832,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4619, + "id": 4630, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "119023:5:10", @@ -140956,7 +140846,7 @@ ], "src": "119022:16:10" }, - "scope": 5093, + "scope": 5104, "src": "118905:1204:10", "stateMutability": "pure", "virtual": false, @@ -140964,7 +140854,7 @@ }, { "body": { - "id": 4635, + "id": 4646, "nodeType": "Block", "src": "120354:912:10", "statements": [ @@ -141715,47 +141605,47 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4629, + "declaration": 4640, "isOffset": false, "isSlot": false, "src": "120478:4:10", "valueSize": 1 }, { - "declaration": 4629, + "declaration": 4640, "isOffset": false, "isSlot": false, "src": "120772:4:10", "valueSize": 1 }, { - "declaration": 4627, + "declaration": 4638, "isOffset": false, "isSlot": false, "src": "121122:6:10", "valueSize": 1 }, { - "declaration": 4632, + "declaration": 4643, "isOffset": false, "isSlot": false, "src": "121205:4:10", "valueSize": 1 } ], - "id": 4634, + "id": 4645, "nodeType": "InlineAssembly", "src": "120407:853:10" } ] }, "documentation": { - "id": 4625, + "id": 4636, "nodeType": "StructuredDocumentation", "src": "120115:94:10", "text": "@dev Returns the initialization code hash of the minimal ERC1967 beacon proxy with `args`." }, - "id": 4636, + "id": 4647, "implemented": true, "kind": "function", "modifiers": [], @@ -141763,17 +141653,17 @@ "nameLocation": "120223:30:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4630, + "id": 4641, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4627, + "id": 4638, "mutability": "mutable", "name": "beacon", "nameLocation": "120262:6:10", "nodeType": "VariableDeclaration", - "scope": 4636, + "scope": 4647, "src": "120254:14:10", "stateVariable": false, "storageLocation": "default", @@ -141782,7 +141672,7 @@ "typeString": "address" }, "typeName": { - "id": 4626, + "id": 4637, "name": "address", "nodeType": "ElementaryTypeName", "src": "120254:7:10", @@ -141796,12 +141686,12 @@ }, { "constant": false, - "id": 4629, + "id": 4640, "mutability": "mutable", "name": "args", "nameLocation": "120283:4:10", "nodeType": "VariableDeclaration", - "scope": 4636, + "scope": 4647, "src": "120270:17:10", "stateVariable": false, "storageLocation": "memory", @@ -141810,7 +141700,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4628, + "id": 4639, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "120270:5:10", @@ -141825,17 +141715,17 @@ "src": "120253:35:10" }, "returnParameters": { - "id": 4633, + "id": 4644, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4632, + "id": 4643, "mutability": "mutable", "name": "hash", "nameLocation": "120344:4:10", "nodeType": "VariableDeclaration", - "scope": 4636, + "scope": 4647, "src": "120336:12:10", "stateVariable": false, "storageLocation": "default", @@ -141844,7 +141734,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 4631, + "id": 4642, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "120336:7:10", @@ -141858,7 +141748,7 @@ ], "src": "120335:14:10" }, - "scope": 5093, + "scope": 5104, "src": "120214:1052:10", "stateMutability": "pure", "virtual": false, @@ -141866,23 +141756,23 @@ }, { "body": { - "id": 4665, + "id": 4676, "nodeType": "Block", "src": "121668:147:10", "statements": [ { "assignments": [ - 4651 + 4662 ], "declarations": [ { "constant": false, - "id": 4651, + "id": 4662, "mutability": "mutable", "name": "hash", "nameLocation": "121686:4:10", "nodeType": "VariableDeclaration", - "scope": 4665, + "scope": 4676, "src": "121678:12:10", "stateVariable": false, "storageLocation": "default", @@ -141891,7 +141781,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 4650, + "id": 4661, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "121678:7:10", @@ -141903,15 +141793,15 @@ "visibility": "internal" } ], - "id": 4656, + "id": 4667, "initialValue": { "arguments": [ { - "id": 4653, + "id": 4664, "name": "beacon", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4639, + "referencedDeclaration": 4650, "src": "121724:6:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -141919,11 +141809,11 @@ } }, { - "id": 4654, + "id": 4665, "name": "args", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4641, + "referencedDeclaration": 4652, "src": "121732:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -141942,21 +141832,21 @@ "typeString": "bytes memory" } ], - "id": 4652, + "id": 4663, "name": "initCodeHashERC1967BeaconProxy", "nodeType": "Identifier", "overloadedDeclarations": [ - 4474, - 4636 + 4485, + 4647 ], - "referencedDeclaration": 4636, + "referencedDeclaration": 4647, "src": "121693:30:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (address,bytes memory) pure returns (bytes32)" } }, - "id": 4655, + "id": 4666, "isConstant": false, "isLValue": false, "isPure": false, @@ -141977,17 +141867,17 @@ }, { "expression": { - "id": 4663, + "id": 4674, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 4657, + "id": 4668, "name": "predicted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4648, + "referencedDeclaration": 4659, "src": "121747:9:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -141999,11 +141889,11 @@ "rightHandSide": { "arguments": [ { - "id": 4659, + "id": 4670, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4651, + "referencedDeclaration": 4662, "src": "121787:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -142011,11 +141901,11 @@ } }, { - "id": 4660, + "id": 4671, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4643, + "referencedDeclaration": 4654, "src": "121793:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -142023,11 +141913,11 @@ } }, { - "id": 4661, + "id": 4672, "name": "deployer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4645, + "referencedDeclaration": 4656, "src": "121799:8:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -142050,22 +141940,22 @@ "typeString": "address" } ], - "id": 4658, + "id": 4669, "name": "predictDeterministicAddress", "nodeType": "Identifier", "overloadedDeclarations": [ - 3226, - 3499, - 5070 + 3237, + 3510, + 5081 ], - "referencedDeclaration": 5070, + "referencedDeclaration": 5081, "src": "121759:27:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_address_$", "typeString": "function (bytes32,bytes32,address) pure returns (address)" } }, - "id": 4662, + "id": 4673, "isConstant": false, "isLValue": false, "isPure": false, @@ -142087,19 +141977,19 @@ "typeString": "address" } }, - "id": 4664, + "id": 4675, "nodeType": "ExpressionStatement", "src": "121747:61:10" } ] }, "documentation": { - "id": 4637, + "id": 4648, "nodeType": "StructuredDocumentation", "src": "121272:189:10", "text": "@dev Returns the address of the ERC1967 beacon proxy with `args`, with `salt` by `deployer`.\n Note: The returned result has dirty upper 96 bits. Please clean if used in assembly." }, - "id": 4666, + "id": 4677, "implemented": true, "kind": "function", "modifiers": [], @@ -142107,17 +141997,17 @@ "nameLocation": "121475:45:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4646, + "id": 4657, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4639, + "id": 4650, "mutability": "mutable", "name": "beacon", "nameLocation": "121538:6:10", "nodeType": "VariableDeclaration", - "scope": 4666, + "scope": 4677, "src": "121530:14:10", "stateVariable": false, "storageLocation": "default", @@ -142126,7 +142016,7 @@ "typeString": "address" }, "typeName": { - "id": 4638, + "id": 4649, "name": "address", "nodeType": "ElementaryTypeName", "src": "121530:7:10", @@ -142140,12 +142030,12 @@ }, { "constant": false, - "id": 4641, + "id": 4652, "mutability": "mutable", "name": "args", "nameLocation": "121567:4:10", "nodeType": "VariableDeclaration", - "scope": 4666, + "scope": 4677, "src": "121554:17:10", "stateVariable": false, "storageLocation": "memory", @@ -142154,7 +142044,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4640, + "id": 4651, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "121554:5:10", @@ -142167,12 +142057,12 @@ }, { "constant": false, - "id": 4643, + "id": 4654, "mutability": "mutable", "name": "salt", "nameLocation": "121589:4:10", "nodeType": "VariableDeclaration", - "scope": 4666, + "scope": 4677, "src": "121581:12:10", "stateVariable": false, "storageLocation": "default", @@ -142181,7 +142071,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 4642, + "id": 4653, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "121581:7:10", @@ -142194,12 +142084,12 @@ }, { "constant": false, - "id": 4645, + "id": 4656, "mutability": "mutable", "name": "deployer", "nameLocation": "121611:8:10", "nodeType": "VariableDeclaration", - "scope": 4666, + "scope": 4677, "src": "121603:16:10", "stateVariable": false, "storageLocation": "default", @@ -142208,7 +142098,7 @@ "typeString": "address" }, "typeName": { - "id": 4644, + "id": 4655, "name": "address", "nodeType": "ElementaryTypeName", "src": "121603:7:10", @@ -142224,17 +142114,17 @@ "src": "121520:105:10" }, "returnParameters": { - "id": 4649, + "id": 4660, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4648, + "id": 4659, "mutability": "mutable", "name": "predicted", "nameLocation": "121657:9:10", "nodeType": "VariableDeclaration", - "scope": 4666, + "scope": 4677, "src": "121649:17:10", "stateVariable": false, "storageLocation": "default", @@ -142243,7 +142133,7 @@ "typeString": "address" }, "typeName": { - "id": 4647, + "id": 4658, "name": "address", "nodeType": "ElementaryTypeName", "src": "121649:7:10", @@ -142258,7 +142148,7 @@ ], "src": "121648:19:10" }, - "scope": 5093, + "scope": 5104, "src": "121466:349:10", "stateMutability": "pure", "virtual": false, @@ -142266,7 +142156,7 @@ }, { "body": { - "id": 4675, + "id": 4686, "nodeType": "Block", "src": "122001:371:10", "statements": [ @@ -142585,75 +142475,75 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4672, + "declaration": 4683, "isOffset": false, "isSlot": false, "src": "122077:4:10", "valueSize": 1 }, { - "declaration": 4672, + "declaration": 4683, "isOffset": false, "isSlot": false, "src": "122116:4:10", "valueSize": 1 }, { - "declaration": 4672, + "declaration": 4683, "isOffset": false, "isSlot": false, "src": "122234:4:10", "valueSize": 1 }, { - "declaration": 4672, + "declaration": 4683, "isOffset": false, "isSlot": false, "src": "122263:4:10", "valueSize": 1 }, { - "declaration": 4672, + "declaration": 4683, "isOffset": false, "isSlot": false, "src": "122312:4:10", "valueSize": 1 }, { - "declaration": 4672, + "declaration": 4683, "isOffset": false, "isSlot": false, "src": "122323:4:10", "valueSize": 1 }, { - "declaration": 4669, + "declaration": 4680, "isOffset": false, "isSlot": false, "src": "122156:8:10", "valueSize": 1 }, { - "declaration": 4669, + "declaration": 4680, "isOffset": false, "isSlot": false, "src": "122220:8:10", "valueSize": 1 } ], - "id": 4674, + "id": 4685, "nodeType": "InlineAssembly", "src": "122054:312:10" } ] }, "documentation": { - "id": 4667, + "id": 4678, "nodeType": "StructuredDocumentation", "src": "121821:81:10", "text": "@dev Equivalent to `argsOnERC1967BeaconProxy(instance, start, 2 ** 256 - 1)`." }, - "id": 4676, + "id": 4687, "implemented": true, "kind": "function", "modifiers": [], @@ -142661,17 +142551,17 @@ "nameLocation": "121916:24:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4670, + "id": 4681, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4669, + "id": 4680, "mutability": "mutable", "name": "instance", "nameLocation": "121949:8:10", "nodeType": "VariableDeclaration", - "scope": 4676, + "scope": 4687, "src": "121941:16:10", "stateVariable": false, "storageLocation": "default", @@ -142680,7 +142570,7 @@ "typeString": "address" }, "typeName": { - "id": 4668, + "id": 4679, "name": "address", "nodeType": "ElementaryTypeName", "src": "121941:7:10", @@ -142696,17 +142586,17 @@ "src": "121940:18:10" }, "returnParameters": { - "id": 4673, + "id": 4684, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4672, + "id": 4683, "mutability": "mutable", "name": "args", "nameLocation": "121995:4:10", "nodeType": "VariableDeclaration", - "scope": 4676, + "scope": 4687, "src": "121982:17:10", "stateVariable": false, "storageLocation": "memory", @@ -142715,7 +142605,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4671, + "id": 4682, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "121982:5:10", @@ -142729,7 +142619,7 @@ ], "src": "121981:19:10" }, - "scope": 5093, + "scope": 5104, "src": "121907:465:10", "stateMutability": "view", "virtual": false, @@ -142737,7 +142627,7 @@ }, { "body": { - "id": 4687, + "id": 4698, "nodeType": "Block", "src": "122601:485:10", "statements": [ @@ -143216,103 +143106,103 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4684, + "declaration": 4695, "isOffset": false, "isSlot": false, "src": "122677:4:10", "valueSize": 1 }, { - "declaration": 4684, + "declaration": 4695, "isOffset": false, "isSlot": false, "src": "122873:4:10", "valueSize": 1 }, { - "declaration": 4684, + "declaration": 4695, "isOffset": false, "isSlot": false, "src": "122930:4:10", "valueSize": 1 }, { - "declaration": 4684, + "declaration": 4695, "isOffset": false, "isSlot": false, "src": "123020:4:10", "valueSize": 1 }, { - "declaration": 4684, + "declaration": 4695, "isOffset": false, "isSlot": false, "src": "123042:4:10", "valueSize": 1 }, { - "declaration": 4679, + "declaration": 4690, "isOffset": false, "isSlot": false, "src": "122752:8:10", "valueSize": 1 }, { - "declaration": 4679, + "declaration": 4690, "isOffset": false, "isSlot": false, "src": "122863:8:10", "valueSize": 1 }, { - "declaration": 4681, + "declaration": 4692, "isOffset": false, "isSlot": false, "src": "122819:5:10", "valueSize": 1 }, { - "declaration": 4681, + "declaration": 4692, "isOffset": false, "isSlot": false, "src": "122830:5:10", "valueSize": 1 }, { - "declaration": 4681, + "declaration": 4692, "isOffset": false, "isSlot": false, "src": "122883:5:10", "valueSize": 1 }, { - "declaration": 4681, + "declaration": 4692, "isOffset": false, "isSlot": false, "src": "122947:5:10", "valueSize": 1 }, { - "declaration": 4681, + "declaration": 4692, "isOffset": false, "isSlot": false, "src": "122958:5:10", "valueSize": 1 } ], - "id": 4686, + "id": 4697, "nodeType": "InlineAssembly", "src": "122654:426:10" } ] }, "documentation": { - "id": 4677, + "id": 4688, "nodeType": "StructuredDocumentation", "src": "122378:81:10", "text": "@dev Equivalent to `argsOnERC1967BeaconProxy(instance, start, 2 ** 256 - 1)`." }, - "id": 4688, + "id": 4699, "implemented": true, "kind": "function", "modifiers": [], @@ -143320,17 +143210,17 @@ "nameLocation": "122473:24:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4682, + "id": 4693, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4679, + "id": 4690, "mutability": "mutable", "name": "instance", "nameLocation": "122506:8:10", "nodeType": "VariableDeclaration", - "scope": 4688, + "scope": 4699, "src": "122498:16:10", "stateVariable": false, "storageLocation": "default", @@ -143339,7 +143229,7 @@ "typeString": "address" }, "typeName": { - "id": 4678, + "id": 4689, "name": "address", "nodeType": "ElementaryTypeName", "src": "122498:7:10", @@ -143353,12 +143243,12 @@ }, { "constant": false, - "id": 4681, + "id": 4692, "mutability": "mutable", "name": "start", "nameLocation": "122524:5:10", "nodeType": "VariableDeclaration", - "scope": 4688, + "scope": 4699, "src": "122516:13:10", "stateVariable": false, "storageLocation": "default", @@ -143367,7 +143257,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4680, + "id": 4691, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "122516:7:10", @@ -143382,17 +143272,17 @@ "src": "122497:33:10" }, "returnParameters": { - "id": 4685, + "id": 4696, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4684, + "id": 4695, "mutability": "mutable", "name": "args", "nameLocation": "122591:4:10", "nodeType": "VariableDeclaration", - "scope": 4688, + "scope": 4699, "src": "122578:17:10", "stateVariable": false, "storageLocation": "memory", @@ -143401,7 +143291,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4683, + "id": 4694, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "122578:5:10", @@ -143415,7 +143305,7 @@ ], "src": "122577:19:10" }, - "scope": 5093, + "scope": 5104, "src": "122464:622:10", "stateMutability": "view", "virtual": false, @@ -143423,7 +143313,7 @@ }, { "body": { - "id": 4701, + "id": 4712, "nodeType": "Block", "src": "123621:785:10", "statements": [ @@ -144221,145 +144111,145 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4698, + "declaration": 4709, "isOffset": false, "isSlot": false, "src": "123697:4:10", "valueSize": 1 }, { - "declaration": 4698, + "declaration": 4709, "isOffset": false, "isSlot": false, "src": "123866:4:10", "valueSize": 1 }, { - "declaration": 4698, + "declaration": 4709, "isOffset": false, "isSlot": false, "src": "123946:4:10", "valueSize": 1 }, { - "declaration": 4698, + "declaration": 4709, "isOffset": false, "isSlot": false, "src": "124207:4:10", "valueSize": 1 }, { - "declaration": 4698, + "declaration": 4709, "isOffset": false, "isSlot": false, "src": "124264:4:10", "valueSize": 1 }, { - "declaration": 4698, + "declaration": 4709, "isOffset": false, "isSlot": false, "src": "124354:4:10", "valueSize": 1 }, { - "declaration": 4695, + "declaration": 4706, "isOffset": false, "isSlot": false, "src": "123742:3:10", "valueSize": 1 }, { - "declaration": 4695, + "declaration": 4706, "isOffset": false, "isSlot": false, "src": "123758:3:10", "valueSize": 1 }, { - "declaration": 4695, + "declaration": 4706, "isOffset": false, "isSlot": false, "src": "123803:3:10", "valueSize": 1 }, { - "declaration": 4695, + "declaration": 4706, "isOffset": false, "isSlot": false, "src": "123826:3:10", "valueSize": 1 }, { - "declaration": 4695, + "declaration": 4706, "isOffset": false, "isSlot": false, "src": "124150:3:10", "valueSize": 1 }, { - "declaration": 4695, + "declaration": 4706, "isOffset": false, "isSlot": false, "src": "124163:3:10", "valueSize": 1 }, { - "declaration": 4691, + "declaration": 4702, "isOffset": false, "isSlot": false, "src": "123856:8:10", "valueSize": 1 }, { - "declaration": 4691, + "declaration": 4702, "isOffset": false, "isSlot": false, "src": "124001:8:10", "valueSize": 1 }, { - "declaration": 4693, + "declaration": 4704, "isOffset": false, "isSlot": false, "src": "123808:5:10", "valueSize": 1 }, { - "declaration": 4693, + "declaration": 4704, "isOffset": false, "isSlot": false, "src": "123819:5:10", "valueSize": 1 }, { - "declaration": 4693, + "declaration": 4704, "isOffset": false, "isSlot": false, "src": "123876:5:10", "valueSize": 1 }, { - "declaration": 4693, + "declaration": 4704, "isOffset": false, "isSlot": false, "src": "124128:5:10", "valueSize": 1 } ], - "id": 4700, + "id": 4711, "nodeType": "InlineAssembly", "src": "123674:726:10" } ] }, "documentation": { - "id": 4689, + "id": 4700, "nodeType": "StructuredDocumentation", "src": "123092:374:10", "text": "@dev Returns a slice of the immutable arguments on `instance` from `start` to `end`.\n `start` and `end` will be clamped to the range `[0, args.length]`.\n The `instance` MUST be deployed via the ERC1967 beacon proxy with immutable args functions.\n Otherwise, the behavior is undefined.\n Out-of-gas reverts if `instance` does not have any code." }, - "id": 4702, + "id": 4713, "implemented": true, "kind": "function", "modifiers": [], @@ -144367,17 +144257,17 @@ "nameLocation": "123480:24:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4696, + "id": 4707, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4691, + "id": 4702, "mutability": "mutable", "name": "instance", "nameLocation": "123513:8:10", "nodeType": "VariableDeclaration", - "scope": 4702, + "scope": 4713, "src": "123505:16:10", "stateVariable": false, "storageLocation": "default", @@ -144386,7 +144276,7 @@ "typeString": "address" }, "typeName": { - "id": 4690, + "id": 4701, "name": "address", "nodeType": "ElementaryTypeName", "src": "123505:7:10", @@ -144400,12 +144290,12 @@ }, { "constant": false, - "id": 4693, + "id": 4704, "mutability": "mutable", "name": "start", "nameLocation": "123531:5:10", "nodeType": "VariableDeclaration", - "scope": 4702, + "scope": 4713, "src": "123523:13:10", "stateVariable": false, "storageLocation": "default", @@ -144414,7 +144304,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4692, + "id": 4703, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "123523:7:10", @@ -144427,12 +144317,12 @@ }, { "constant": false, - "id": 4695, + "id": 4706, "mutability": "mutable", "name": "end", "nameLocation": "123546:3:10", "nodeType": "VariableDeclaration", - "scope": 4702, + "scope": 4713, "src": "123538:11:10", "stateVariable": false, "storageLocation": "default", @@ -144441,7 +144331,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4694, + "id": 4705, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "123538:7:10", @@ -144456,17 +144346,17 @@ "src": "123504:46:10" }, "returnParameters": { - "id": 4699, + "id": 4710, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4698, + "id": 4709, "mutability": "mutable", "name": "args", "nameLocation": "123611:4:10", "nodeType": "VariableDeclaration", - "scope": 4702, + "scope": 4713, "src": "123598:17:10", "stateVariable": false, "storageLocation": "memory", @@ -144475,7 +144365,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4697, + "id": 4708, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "123598:5:10", @@ -144489,7 +144379,7 @@ ], "src": "123597:19:10" }, - "scope": 5093, + "scope": 5104, "src": "123471:935:10", "stateMutability": "view", "virtual": false, @@ -144497,23 +144387,23 @@ }, { "body": { - "id": 4717, + "id": 4728, "nodeType": "Block", "src": "125540:64:10", "statements": [ { "expression": { - "id": 4715, + "id": 4726, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 4710, + "id": 4721, "name": "instance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4708, + "referencedDeclaration": 4719, "src": "125550:8:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -144526,7 +144416,7 @@ "arguments": [ { "hexValue": "30", - "id": 4712, + "id": 4723, "isConstant": false, "isLValue": false, "isPure": true, @@ -144541,11 +144431,11 @@ "value": "0" }, { - "id": 4713, + "id": 4724, "name": "beacon", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4705, + "referencedDeclaration": 4716, "src": "125590:6:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -144564,23 +144454,23 @@ "typeString": "address" } ], - "id": 4711, + "id": 4722, "name": "deployERC1967IBeaconProxy", "nodeType": "Identifier", "overloadedDeclarations": [ - 4718, - 4730, - 4864, - 4878 + 4729, + 4741, + 4875, + 4889 ], - "referencedDeclaration": 4730, + "referencedDeclaration": 4741, "src": "125561:25:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$returns$_t_address_$", "typeString": "function (uint256,address) returns (address)" } }, - "id": 4714, + "id": 4725, "isConstant": false, "isLValue": false, "isPure": false, @@ -144602,19 +144492,19 @@ "typeString": "address" } }, - "id": 4716, + "id": 4727, "nodeType": "ExpressionStatement", "src": "125550:47:10" } ] }, "documentation": { - "id": 4703, + "id": 4714, "nodeType": "StructuredDocumentation", "src": "125407:41:10", "text": "@dev Deploys a ERC1967I beacon proxy." }, - "id": 4718, + "id": 4729, "implemented": true, "kind": "function", "modifiers": [], @@ -144622,17 +144512,17 @@ "nameLocation": "125462:25:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4706, + "id": 4717, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4705, + "id": 4716, "mutability": "mutable", "name": "beacon", "nameLocation": "125496:6:10", "nodeType": "VariableDeclaration", - "scope": 4718, + "scope": 4729, "src": "125488:14:10", "stateVariable": false, "storageLocation": "default", @@ -144641,7 +144531,7 @@ "typeString": "address" }, "typeName": { - "id": 4704, + "id": 4715, "name": "address", "nodeType": "ElementaryTypeName", "src": "125488:7:10", @@ -144657,17 +144547,17 @@ "src": "125487:16:10" }, "returnParameters": { - "id": 4709, + "id": 4720, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4708, + "id": 4719, "mutability": "mutable", "name": "instance", "nameLocation": "125530:8:10", "nodeType": "VariableDeclaration", - "scope": 4718, + "scope": 4729, "src": "125522:16:10", "stateVariable": false, "storageLocation": "default", @@ -144676,7 +144566,7 @@ "typeString": "address" }, "typeName": { - "id": 4707, + "id": 4718, "name": "address", "nodeType": "ElementaryTypeName", "src": "125522:7:10", @@ -144691,7 +144581,7 @@ ], "src": "125521:18:10" }, - "scope": 5093, + "scope": 5104, "src": "125453:151:10", "stateMutability": "nonpayable", "virtual": false, @@ -144699,7 +144589,7 @@ }, { "body": { - "id": 4729, + "id": 4740, "nodeType": "Block", "src": "125826:8791:10", "statements": [ @@ -145181,47 +145071,47 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4723, + "declaration": 4734, "isOffset": false, "isSlot": false, "src": "134274:6:10", "valueSize": 1 }, { - "declaration": 4726, + "declaration": 4737, "isOffset": false, "isSlot": false, "src": "134297:8:10", "valueSize": 1 }, { - "declaration": 4726, + "declaration": 4737, "isOffset": false, "isSlot": false, "src": "134357:8:10", "valueSize": 1 }, { - "declaration": 4721, + "declaration": 4732, "isOffset": false, "isSlot": false, "src": "134316:5:10", "valueSize": 1 } ], - "id": 4728, + "id": 4739, "nodeType": "InlineAssembly", "src": "125879:8732:10" } ] }, "documentation": { - "id": 4719, + "id": 4730, "nodeType": "StructuredDocumentation", "src": "125610:89:10", "text": "@dev Deploys a ERC1967I beacon proxy.\n Deposits `value` ETH during deployment." }, - "id": 4730, + "id": 4741, "implemented": true, "kind": "function", "modifiers": [], @@ -145229,17 +145119,17 @@ "nameLocation": "125713:25:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4724, + "id": 4735, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4721, + "id": 4732, "mutability": "mutable", "name": "value", "nameLocation": "125747:5:10", "nodeType": "VariableDeclaration", - "scope": 4730, + "scope": 4741, "src": "125739:13:10", "stateVariable": false, "storageLocation": "default", @@ -145248,7 +145138,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4720, + "id": 4731, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "125739:7:10", @@ -145261,12 +145151,12 @@ }, { "constant": false, - "id": 4723, + "id": 4734, "mutability": "mutable", "name": "beacon", "nameLocation": "125762:6:10", "nodeType": "VariableDeclaration", - "scope": 4730, + "scope": 4741, "src": "125754:14:10", "stateVariable": false, "storageLocation": "default", @@ -145275,7 +145165,7 @@ "typeString": "address" }, "typeName": { - "id": 4722, + "id": 4733, "name": "address", "nodeType": "ElementaryTypeName", "src": "125754:7:10", @@ -145291,17 +145181,17 @@ "src": "125738:31:10" }, "returnParameters": { - "id": 4727, + "id": 4738, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4726, + "id": 4737, "mutability": "mutable", "name": "instance", "nameLocation": "125812:8:10", "nodeType": "VariableDeclaration", - "scope": 4730, + "scope": 4741, "src": "125804:16:10", "stateVariable": false, "storageLocation": "default", @@ -145310,7 +145200,7 @@ "typeString": "address" }, "typeName": { - "id": 4725, + "id": 4736, "name": "address", "nodeType": "ElementaryTypeName", "src": "125804:7:10", @@ -145325,7 +145215,7 @@ ], "src": "125803:18:10" }, - "scope": 5093, + "scope": 5104, "src": "125704:8913:10", "stateMutability": "nonpayable", "virtual": false, @@ -145333,23 +145223,23 @@ }, { "body": { - "id": 4748, + "id": 4759, "nodeType": "Block", "src": "134829:83:10", "statements": [ { "expression": { - "id": 4746, + "id": 4757, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 4740, + "id": 4751, "name": "instance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4738, + "referencedDeclaration": 4749, "src": "134839:8:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -145362,7 +145252,7 @@ "arguments": [ { "hexValue": "30", - "id": 4742, + "id": 4753, "isConstant": false, "isLValue": false, "isPure": true, @@ -145377,11 +145267,11 @@ "value": "0" }, { - "id": 4743, + "id": 4754, "name": "beacon", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4733, + "referencedDeclaration": 4744, "src": "134892:6:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -145389,11 +145279,11 @@ } }, { - "id": 4744, + "id": 4755, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4735, + "referencedDeclaration": 4746, "src": "134900:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -145416,23 +145306,23 @@ "typeString": "bytes32" } ], - "id": 4741, + "id": 4752, "name": "deployDeterministicERC1967IBeaconProxy", "nodeType": "Identifier", "overloadedDeclarations": [ - 4749, - 4763, - 4900, - 4916 + 4760, + 4774, + 4911, + 4927 ], - "referencedDeclaration": 4763, + "referencedDeclaration": 4774, "src": "134850:38:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes32_$returns$_t_address_$", "typeString": "function (uint256,address,bytes32) returns (address)" } }, - "id": 4745, + "id": 4756, "isConstant": false, "isLValue": false, "isPure": false, @@ -145454,19 +145344,19 @@ "typeString": "address" } }, - "id": 4747, + "id": 4758, "nodeType": "ExpressionStatement", "src": "134839:66:10" } ] }, "documentation": { - "id": 4731, + "id": 4742, "nodeType": "StructuredDocumentation", "src": "134623:67:10", "text": "@dev Deploys a deterministic ERC1967I beacon proxy with `salt`." }, - "id": 4749, + "id": 4760, "implemented": true, "kind": "function", "modifiers": [], @@ -145474,17 +145364,17 @@ "nameLocation": "134704:38:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4736, + "id": 4747, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4733, + "id": 4744, "mutability": "mutable", "name": "beacon", "nameLocation": "134751:6:10", "nodeType": "VariableDeclaration", - "scope": 4749, + "scope": 4760, "src": "134743:14:10", "stateVariable": false, "storageLocation": "default", @@ -145493,7 +145383,7 @@ "typeString": "address" }, "typeName": { - "id": 4732, + "id": 4743, "name": "address", "nodeType": "ElementaryTypeName", "src": "134743:7:10", @@ -145507,12 +145397,12 @@ }, { "constant": false, - "id": 4735, + "id": 4746, "mutability": "mutable", "name": "salt", "nameLocation": "134767:4:10", "nodeType": "VariableDeclaration", - "scope": 4749, + "scope": 4760, "src": "134759:12:10", "stateVariable": false, "storageLocation": "default", @@ -145521,7 +145411,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 4734, + "id": 4745, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "134759:7:10", @@ -145536,17 +145426,17 @@ "src": "134742:30:10" }, "returnParameters": { - "id": 4739, + "id": 4750, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4738, + "id": 4749, "mutability": "mutable", "name": "instance", "nameLocation": "134815:8:10", "nodeType": "VariableDeclaration", - "scope": 4749, + "scope": 4760, "src": "134807:16:10", "stateVariable": false, "storageLocation": "default", @@ -145555,7 +145445,7 @@ "typeString": "address" }, "typeName": { - "id": 4737, + "id": 4748, "name": "address", "nodeType": "ElementaryTypeName", "src": "134807:7:10", @@ -145570,7 +145460,7 @@ ], "src": "134806:18:10" }, - "scope": 5093, + "scope": 5104, "src": "134695:217:10", "stateMutability": "nonpayable", "virtual": false, @@ -145578,7 +145468,7 @@ }, { "body": { - "id": 4762, + "id": 4773, "nodeType": "Block", "src": "135187:828:10", "statements": [ @@ -146066,54 +145956,54 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4754, + "declaration": 4765, "isOffset": false, "isSlot": false, "src": "135665:6:10", "valueSize": 1 }, { - "declaration": 4759, + "declaration": 4770, "isOffset": false, "isSlot": false, "src": "135688:8:10", "valueSize": 1 }, { - "declaration": 4759, + "declaration": 4770, "isOffset": false, "isSlot": false, "src": "135755:8:10", "valueSize": 1 }, { - "declaration": 4756, + "declaration": 4767, "isOffset": false, "isSlot": false, "src": "135727:4:10", "valueSize": 1 }, { - "declaration": 4752, + "declaration": 4763, "isOffset": false, "isSlot": false, "src": "135708:5:10", "valueSize": 1 } ], - "id": 4761, + "id": 4772, "nodeType": "InlineAssembly", "src": "135240:769:10" } ] }, "documentation": { - "id": 4750, + "id": 4761, "nodeType": "StructuredDocumentation", "src": "134918:115:10", "text": "@dev Deploys a deterministic ERC1967I beacon proxy with `salt`.\n Deposits `value` ETH during deployment." }, - "id": 4763, + "id": 4774, "implemented": true, "kind": "function", "modifiers": [], @@ -146121,17 +146011,17 @@ "nameLocation": "135047:38:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4757, + "id": 4768, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4752, + "id": 4763, "mutability": "mutable", "name": "value", "nameLocation": "135094:5:10", "nodeType": "VariableDeclaration", - "scope": 4763, + "scope": 4774, "src": "135086:13:10", "stateVariable": false, "storageLocation": "default", @@ -146140,7 +146030,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4751, + "id": 4762, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "135086:7:10", @@ -146153,12 +146043,12 @@ }, { "constant": false, - "id": 4754, + "id": 4765, "mutability": "mutable", "name": "beacon", "nameLocation": "135109:6:10", "nodeType": "VariableDeclaration", - "scope": 4763, + "scope": 4774, "src": "135101:14:10", "stateVariable": false, "storageLocation": "default", @@ -146167,7 +146057,7 @@ "typeString": "address" }, "typeName": { - "id": 4753, + "id": 4764, "name": "address", "nodeType": "ElementaryTypeName", "src": "135101:7:10", @@ -146181,12 +146071,12 @@ }, { "constant": false, - "id": 4756, + "id": 4767, "mutability": "mutable", "name": "salt", "nameLocation": "135125:4:10", "nodeType": "VariableDeclaration", - "scope": 4763, + "scope": 4774, "src": "135117:12:10", "stateVariable": false, "storageLocation": "default", @@ -146195,7 +146085,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 4755, + "id": 4766, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "135117:7:10", @@ -146210,17 +146100,17 @@ "src": "135085:45:10" }, "returnParameters": { - "id": 4760, + "id": 4771, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4759, + "id": 4770, "mutability": "mutable", "name": "instance", "nameLocation": "135173:8:10", "nodeType": "VariableDeclaration", - "scope": 4763, + "scope": 4774, "src": "135165:16:10", "stateVariable": false, "storageLocation": "default", @@ -146229,7 +146119,7 @@ "typeString": "address" }, "typeName": { - "id": 4758, + "id": 4769, "name": "address", "nodeType": "ElementaryTypeName", "src": "135165:7:10", @@ -146244,7 +146134,7 @@ ], "src": "135164:18:10" }, - "scope": 5093, + "scope": 5104, "src": "135038:977:10", "stateMutability": "nonpayable", "virtual": false, @@ -146252,7 +146142,7 @@ }, { "body": { - "id": 4781, + "id": 4792, "nodeType": "Block", "src": "136392:79:10", "statements": [ @@ -146261,7 +146151,7 @@ "arguments": [ { "hexValue": "30", - "id": 4776, + "id": 4787, "isConstant": false, "isLValue": false, "isPure": true, @@ -146276,11 +146166,11 @@ "value": "0" }, { - "id": 4777, + "id": 4788, "name": "beacon", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4766, + "referencedDeclaration": 4777, "src": "136451:6:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -146288,11 +146178,11 @@ } }, { - "id": 4778, + "id": 4789, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4768, + "referencedDeclaration": 4779, "src": "136459:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -146315,23 +146205,23 @@ "typeString": "bytes32" } ], - "id": 4775, + "id": 4786, "name": "createDeterministicERC1967IBeaconProxy", "nodeType": "Identifier", "overloadedDeclarations": [ - 4782, - 4798, - 4938, - 4956 + 4793, + 4809, + 4949, + 4967 ], - "referencedDeclaration": 4798, + "referencedDeclaration": 4809, "src": "136409:38:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes32_$returns$_t_bool_$_t_address_$", "typeString": "function (uint256,address,bytes32) returns (bool,address)" } }, - "id": 4779, + "id": 4790, "isConstant": false, "isLValue": false, "isPure": false, @@ -146347,20 +146237,20 @@ "typeString": "tuple(bool,address)" } }, - "functionReturnParameters": 4774, - "id": 4780, + "functionReturnParameters": 4785, + "id": 4791, "nodeType": "Return", "src": "136402:62:10" } ] }, "documentation": { - "id": 4764, + "id": 4775, "nodeType": "StructuredDocumentation", "src": "136021:210:10", "text": "@dev Creates a deterministic ERC1967I beacon proxy with `salt`.\n Note: This method is intended for use in ERC4337 factories,\n which are expected to NOT revert if the proxy is already deployed." }, - "id": 4782, + "id": 4793, "implemented": true, "kind": "function", "modifiers": [], @@ -146368,17 +146258,17 @@ "nameLocation": "136245:38:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4769, + "id": 4780, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4766, + "id": 4777, "mutability": "mutable", "name": "beacon", "nameLocation": "136292:6:10", "nodeType": "VariableDeclaration", - "scope": 4782, + "scope": 4793, "src": "136284:14:10", "stateVariable": false, "storageLocation": "default", @@ -146387,7 +146277,7 @@ "typeString": "address" }, "typeName": { - "id": 4765, + "id": 4776, "name": "address", "nodeType": "ElementaryTypeName", "src": "136284:7:10", @@ -146401,12 +146291,12 @@ }, { "constant": false, - "id": 4768, + "id": 4779, "mutability": "mutable", "name": "salt", "nameLocation": "136308:4:10", "nodeType": "VariableDeclaration", - "scope": 4782, + "scope": 4793, "src": "136300:12:10", "stateVariable": false, "storageLocation": "default", @@ -146415,7 +146305,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 4767, + "id": 4778, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "136300:7:10", @@ -146430,17 +146320,17 @@ "src": "136283:30:10" }, "returnParameters": { - "id": 4774, + "id": 4785, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4771, + "id": 4782, "mutability": "mutable", "name": "alreadyDeployed", "nameLocation": "136353:15:10", "nodeType": "VariableDeclaration", - "scope": 4782, + "scope": 4793, "src": "136348:20:10", "stateVariable": false, "storageLocation": "default", @@ -146449,7 +146339,7 @@ "typeString": "bool" }, "typeName": { - "id": 4770, + "id": 4781, "name": "bool", "nodeType": "ElementaryTypeName", "src": "136348:4:10", @@ -146462,12 +146352,12 @@ }, { "constant": false, - "id": 4773, + "id": 4784, "mutability": "mutable", "name": "instance", "nameLocation": "136378:8:10", "nodeType": "VariableDeclaration", - "scope": 4782, + "scope": 4793, "src": "136370:16:10", "stateVariable": false, "storageLocation": "default", @@ -146476,7 +146366,7 @@ "typeString": "address" }, "typeName": { - "id": 4772, + "id": 4783, "name": "address", "nodeType": "ElementaryTypeName", "src": "136370:7:10", @@ -146491,7 +146381,7 @@ ], "src": "136347:40:10" }, - "scope": 5093, + "scope": 5104, "src": "136236:235:10", "stateMutability": "nonpayable", "virtual": false, @@ -146499,7 +146389,7 @@ }, { "body": { - "id": 4797, + "id": 4808, "nodeType": "Block", "src": "136911:1609:10", "statements": [ @@ -147554,103 +147444,103 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4792, + "declaration": 4803, "isOffset": false, "isSlot": false, "src": "138065:15:10", "valueSize": 1 }, { - "declaration": 4787, + "declaration": 4798, "isOffset": false, "isSlot": false, "src": "137389:6:10", "valueSize": 1 }, { - "declaration": 4794, + "declaration": 4805, "isOffset": false, "isSlot": false, "src": "137651:8:10", "valueSize": 1 }, { - "declaration": 4794, + "declaration": 4805, "isOffset": false, "isSlot": false, "src": "137746:8:10", "valueSize": 1 }, { - "declaration": 4794, + "declaration": 4805, "isOffset": false, "isSlot": false, "src": "137779:8:10", "valueSize": 1 }, { - "declaration": 4794, + "declaration": 4805, "isOffset": false, "isSlot": false, "src": "137854:8:10", "valueSize": 1 }, { - "declaration": 4794, + "declaration": 4805, "isOffset": false, "isSlot": false, "src": "138167:8:10", "valueSize": 1 }, { - "declaration": 4789, + "declaration": 4800, "isOffset": false, "isSlot": false, "src": "137633:4:10", "valueSize": 1 }, { - "declaration": 4789, + "declaration": 4800, "isOffset": false, "isSlot": false, "src": "137818:4:10", "valueSize": 1 }, { - "declaration": 4785, + "declaration": 4796, "isOffset": false, "isSlot": false, "src": "137799:5:10", "valueSize": 1 }, { - "declaration": 4785, + "declaration": 4796, "isOffset": false, "isSlot": false, "src": "138112:5:10", "valueSize": 1 }, { - "declaration": 4785, + "declaration": 4796, "isOffset": false, "isSlot": false, "src": "138177:5:10", "valueSize": 1 } ], - "id": 4796, + "id": 4807, "nodeType": "InlineAssembly", "src": "136964:1550:10" } ] }, "documentation": { - "id": 4783, + "id": 4794, "nodeType": "StructuredDocumentation", "src": "136477:258:10", "text": "@dev Creates a deterministic ERC1967I beacon proxy with `salt`.\n Deposits `value` ETH during deployment.\n Note: This method is intended for use in ERC4337 factories,\n which are expected to NOT revert if the proxy is already deployed." }, - "id": 4798, + "id": 4809, "implemented": true, "kind": "function", "modifiers": [], @@ -147658,17 +147548,17 @@ "nameLocation": "136749:38:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4790, + "id": 4801, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4785, + "id": 4796, "mutability": "mutable", "name": "value", "nameLocation": "136796:5:10", "nodeType": "VariableDeclaration", - "scope": 4798, + "scope": 4809, "src": "136788:13:10", "stateVariable": false, "storageLocation": "default", @@ -147677,7 +147567,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4784, + "id": 4795, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "136788:7:10", @@ -147690,12 +147580,12 @@ }, { "constant": false, - "id": 4787, + "id": 4798, "mutability": "mutable", "name": "beacon", "nameLocation": "136811:6:10", "nodeType": "VariableDeclaration", - "scope": 4798, + "scope": 4809, "src": "136803:14:10", "stateVariable": false, "storageLocation": "default", @@ -147704,7 +147594,7 @@ "typeString": "address" }, "typeName": { - "id": 4786, + "id": 4797, "name": "address", "nodeType": "ElementaryTypeName", "src": "136803:7:10", @@ -147718,12 +147608,12 @@ }, { "constant": false, - "id": 4789, + "id": 4800, "mutability": "mutable", "name": "salt", "nameLocation": "136827:4:10", "nodeType": "VariableDeclaration", - "scope": 4798, + "scope": 4809, "src": "136819:12:10", "stateVariable": false, "storageLocation": "default", @@ -147732,7 +147622,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 4788, + "id": 4799, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "136819:7:10", @@ -147747,17 +147637,17 @@ "src": "136787:45:10" }, "returnParameters": { - "id": 4795, + "id": 4806, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4792, + "id": 4803, "mutability": "mutable", "name": "alreadyDeployed", "nameLocation": "136872:15:10", "nodeType": "VariableDeclaration", - "scope": 4798, + "scope": 4809, "src": "136867:20:10", "stateVariable": false, "storageLocation": "default", @@ -147766,7 +147656,7 @@ "typeString": "bool" }, "typeName": { - "id": 4791, + "id": 4802, "name": "bool", "nodeType": "ElementaryTypeName", "src": "136867:4:10", @@ -147779,12 +147669,12 @@ }, { "constant": false, - "id": 4794, + "id": 4805, "mutability": "mutable", "name": "instance", "nameLocation": "136897:8:10", "nodeType": "VariableDeclaration", - "scope": 4798, + "scope": 4809, "src": "136889:16:10", "stateVariable": false, "storageLocation": "default", @@ -147793,7 +147683,7 @@ "typeString": "address" }, "typeName": { - "id": 4793, + "id": 4804, "name": "address", "nodeType": "ElementaryTypeName", "src": "136889:7:10", @@ -147808,7 +147698,7 @@ ], "src": "136866:40:10" }, - "scope": 5093, + "scope": 5104, "src": "136740:1780:10", "stateMutability": "nonpayable", "virtual": false, @@ -147816,7 +147706,7 @@ }, { "body": { - "id": 4807, + "id": 4818, "nodeType": "Block", "src": "138693:643:10", "statements": [ @@ -148267,89 +148157,89 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4801, + "declaration": 4812, "isOffset": false, "isSlot": false, "src": "139114:6:10", "valueSize": 1 }, { - "declaration": 4804, + "declaration": 4815, "isOffset": false, "isSlot": false, "src": "138769:1:10", "valueSize": 1 }, { - "declaration": 4804, + "declaration": 4815, "isOffset": false, "isSlot": false, "src": "138809:1:10", "valueSize": 1 }, { - "declaration": 4804, + "declaration": 4815, "isOffset": false, "isSlot": false, "src": "138910:1:10", "valueSize": 1 }, { - "declaration": 4804, + "declaration": 4815, "isOffset": false, "isSlot": false, "src": "139011:1:10", "valueSize": 1 }, { - "declaration": 4804, + "declaration": 4815, "isOffset": false, "isSlot": false, "src": "139104:1:10", "valueSize": 1 }, { - "declaration": 4804, + "declaration": 4815, "isOffset": false, "isSlot": false, "src": "139145:1:10", "valueSize": 1 }, { - "declaration": 4804, + "declaration": 4815, "isOffset": false, "isSlot": false, "src": "139200:1:10", "valueSize": 1 }, { - "declaration": 4804, + "declaration": 4815, "isOffset": false, "isSlot": false, "src": "139232:1:10", "valueSize": 1 }, { - "declaration": 4804, + "declaration": 4815, "isOffset": false, "isSlot": false, "src": "139291:1:10", "valueSize": 1 } ], - "id": 4806, + "id": 4817, "nodeType": "InlineAssembly", "src": "138746:584:10" } ] }, "documentation": { - "id": 4799, + "id": 4810, "nodeType": "StructuredDocumentation", "src": "138526:70:10", "text": "@dev Returns the initialization code of the ERC1967I beacon proxy." }, - "id": 4808, + "id": 4819, "implemented": true, "kind": "function", "modifiers": [], @@ -148357,17 +148247,17 @@ "nameLocation": "138610:27:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4802, + "id": 4813, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4801, + "id": 4812, "mutability": "mutable", "name": "beacon", "nameLocation": "138646:6:10", "nodeType": "VariableDeclaration", - "scope": 4808, + "scope": 4819, "src": "138638:14:10", "stateVariable": false, "storageLocation": "default", @@ -148376,7 +148266,7 @@ "typeString": "address" }, "typeName": { - "id": 4800, + "id": 4811, "name": "address", "nodeType": "ElementaryTypeName", "src": "138638:7:10", @@ -148392,17 +148282,17 @@ "src": "138637:16:10" }, "returnParameters": { - "id": 4805, + "id": 4816, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4804, + "id": 4815, "mutability": "mutable", "name": "c", "nameLocation": "138690:1:10", "nodeType": "VariableDeclaration", - "scope": 4808, + "scope": 4819, "src": "138677:14:10", "stateVariable": false, "storageLocation": "memory", @@ -148411,7 +148301,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4803, + "id": 4814, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "138677:5:10", @@ -148425,7 +148315,7 @@ ], "src": "138676:16:10" }, - "scope": 5093, + "scope": 5104, "src": "138601:735:10", "stateMutability": "pure", "virtual": false, @@ -148433,7 +148323,7 @@ }, { "body": { - "id": 4817, + "id": 4828, "nodeType": "Block", "src": "139516:664:10", "statements": [ @@ -148810,33 +148700,33 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4811, + "declaration": 4822, "isOffset": false, "isSlot": false, "src": "139994:6:10", "valueSize": 1 }, { - "declaration": 4814, + "declaration": 4825, "isOffset": false, "isSlot": false, "src": "140017:4:10", "valueSize": 1 } ], - "id": 4816, + "id": 4827, "nodeType": "InlineAssembly", "src": "139569:605:10" } ] }, "documentation": { - "id": 4809, + "id": 4820, "nodeType": "StructuredDocumentation", "src": "139342:75:10", "text": "@dev Returns the initialization code hash of the ERC1967I beacon proxy." }, - "id": 4818, + "id": 4829, "implemented": true, "kind": "function", "modifiers": [], @@ -148844,17 +148734,17 @@ "nameLocation": "139431:31:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4812, + "id": 4823, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4811, + "id": 4822, "mutability": "mutable", "name": "beacon", "nameLocation": "139471:6:10", "nodeType": "VariableDeclaration", - "scope": 4818, + "scope": 4829, "src": "139463:14:10", "stateVariable": false, "storageLocation": "default", @@ -148863,7 +148753,7 @@ "typeString": "address" }, "typeName": { - "id": 4810, + "id": 4821, "name": "address", "nodeType": "ElementaryTypeName", "src": "139463:7:10", @@ -148879,17 +148769,17 @@ "src": "139462:16:10" }, "returnParameters": { - "id": 4815, + "id": 4826, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4814, + "id": 4825, "mutability": "mutable", "name": "hash", "nameLocation": "139510:4:10", "nodeType": "VariableDeclaration", - "scope": 4818, + "scope": 4829, "src": "139502:12:10", "stateVariable": false, "storageLocation": "default", @@ -148898,7 +148788,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 4813, + "id": 4824, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "139502:7:10", @@ -148912,7 +148802,7 @@ ], "src": "139501:14:10" }, - "scope": 5093, + "scope": 5104, "src": "139422:758:10", "stateMutability": "pure", "virtual": false, @@ -148920,23 +148810,23 @@ }, { "body": { - "id": 4844, + "id": 4855, "nodeType": "Block", "src": "140545:142:10", "statements": [ { "assignments": [ - 4831 + 4842 ], "declarations": [ { "constant": false, - "id": 4831, + "id": 4842, "mutability": "mutable", "name": "hash", "nameLocation": "140563:4:10", "nodeType": "VariableDeclaration", - "scope": 4844, + "scope": 4855, "src": "140555:12:10", "stateVariable": false, "storageLocation": "default", @@ -148945,7 +148835,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 4830, + "id": 4841, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "140555:7:10", @@ -148957,15 +148847,15 @@ "visibility": "internal" } ], - "id": 4835, + "id": 4846, "initialValue": { "arguments": [ { - "id": 4833, + "id": 4844, "name": "beacon", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4821, + "referencedDeclaration": 4832, "src": "140602:6:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -148980,21 +148870,21 @@ "typeString": "address" } ], - "id": 4832, + "id": 4843, "name": "initCodeHashERC1967IBeaconProxy", "nodeType": "Identifier", "overloadedDeclarations": [ - 4818, - 4980 + 4829, + 4991 ], - "referencedDeclaration": 4818, + "referencedDeclaration": 4829, "src": "140570:31:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_bytes32_$", "typeString": "function (address) pure returns (bytes32)" } }, - "id": 4834, + "id": 4845, "isConstant": false, "isLValue": false, "isPure": false, @@ -149015,17 +148905,17 @@ }, { "expression": { - "id": 4842, + "id": 4853, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 4836, + "id": 4847, "name": "predicted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4828, + "referencedDeclaration": 4839, "src": "140619:9:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -149037,11 +148927,11 @@ "rightHandSide": { "arguments": [ { - "id": 4838, + "id": 4849, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4831, + "referencedDeclaration": 4842, "src": "140659:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -149049,11 +148939,11 @@ } }, { - "id": 4839, + "id": 4850, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4823, + "referencedDeclaration": 4834, "src": "140665:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -149061,11 +148951,11 @@ } }, { - "id": 4840, + "id": 4851, "name": "deployer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4825, + "referencedDeclaration": 4836, "src": "140671:8:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -149088,22 +148978,22 @@ "typeString": "address" } ], - "id": 4837, + "id": 4848, "name": "predictDeterministicAddress", "nodeType": "Identifier", "overloadedDeclarations": [ - 3226, - 3499, - 5070 + 3237, + 3510, + 5081 ], - "referencedDeclaration": 5070, + "referencedDeclaration": 5081, "src": "140631:27:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_address_$", "typeString": "function (bytes32,bytes32,address) pure returns (address)" } }, - "id": 4841, + "id": 4852, "isConstant": false, "isLValue": false, "isPure": false, @@ -149125,19 +149015,19 @@ "typeString": "address" } }, - "id": 4843, + "id": 4854, "nodeType": "ExpressionStatement", "src": "140619:61:10" } ] }, "documentation": { - "id": 4819, + "id": 4830, "nodeType": "StructuredDocumentation", "src": "140186:178:10", "text": "@dev Returns the address of the ERC1967I beacon proxy, with `salt` by `deployer`.\n Note: The returned result has dirty upper 96 bits. Please clean if used in assembly." }, - "id": 4845, + "id": 4856, "implemented": true, "kind": "function", "modifiers": [], @@ -149145,17 +149035,17 @@ "nameLocation": "140378:46:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4826, + "id": 4837, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4821, + "id": 4832, "mutability": "mutable", "name": "beacon", "nameLocation": "140442:6:10", "nodeType": "VariableDeclaration", - "scope": 4845, + "scope": 4856, "src": "140434:14:10", "stateVariable": false, "storageLocation": "default", @@ -149164,7 +149054,7 @@ "typeString": "address" }, "typeName": { - "id": 4820, + "id": 4831, "name": "address", "nodeType": "ElementaryTypeName", "src": "140434:7:10", @@ -149178,12 +149068,12 @@ }, { "constant": false, - "id": 4823, + "id": 4834, "mutability": "mutable", "name": "salt", "nameLocation": "140466:4:10", "nodeType": "VariableDeclaration", - "scope": 4845, + "scope": 4856, "src": "140458:12:10", "stateVariable": false, "storageLocation": "default", @@ -149192,7 +149082,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 4822, + "id": 4833, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "140458:7:10", @@ -149205,12 +149095,12 @@ }, { "constant": false, - "id": 4825, + "id": 4836, "mutability": "mutable", "name": "deployer", "nameLocation": "140488:8:10", "nodeType": "VariableDeclaration", - "scope": 4845, + "scope": 4856, "src": "140480:16:10", "stateVariable": false, "storageLocation": "default", @@ -149219,7 +149109,7 @@ "typeString": "address" }, "typeName": { - "id": 4824, + "id": 4835, "name": "address", "nodeType": "ElementaryTypeName", "src": "140480:7:10", @@ -149235,17 +149125,17 @@ "src": "140424:78:10" }, "returnParameters": { - "id": 4829, + "id": 4840, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4828, + "id": 4839, "mutability": "mutable", "name": "predicted", "nameLocation": "140534:9:10", "nodeType": "VariableDeclaration", - "scope": 4845, + "scope": 4856, "src": "140526:17:10", "stateVariable": false, "storageLocation": "default", @@ -149254,7 +149144,7 @@ "typeString": "address" }, "typeName": { - "id": 4827, + "id": 4838, "name": "address", "nodeType": "ElementaryTypeName", "src": "140526:7:10", @@ -149269,7 +149159,7 @@ ], "src": "140525:19:10" }, - "scope": 5093, + "scope": 5104, "src": "140369:318:10", "stateMutability": "pure", "virtual": false, @@ -149277,23 +149167,23 @@ }, { "body": { - "id": 4863, + "id": 4874, "nodeType": "Block", "src": "141159:70:10", "statements": [ { "expression": { - "id": 4861, + "id": 4872, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 4855, + "id": 4866, "name": "instance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4853, + "referencedDeclaration": 4864, "src": "141169:8:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -149306,7 +149196,7 @@ "arguments": [ { "hexValue": "30", - "id": 4857, + "id": 4868, "isConstant": false, "isLValue": false, "isPure": true, @@ -149321,11 +149211,11 @@ "value": "0" }, { - "id": 4858, + "id": 4869, "name": "beacon", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4848, + "referencedDeclaration": 4859, "src": "141209:6:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -149333,11 +149223,11 @@ } }, { - "id": 4859, + "id": 4870, "name": "args", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4850, + "referencedDeclaration": 4861, "src": "141217:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -149360,23 +149250,23 @@ "typeString": "bytes memory" } ], - "id": 4856, + "id": 4867, "name": "deployERC1967IBeaconProxy", "nodeType": "Identifier", "overloadedDeclarations": [ - 4718, - 4730, - 4864, - 4878 + 4729, + 4741, + 4875, + 4889 ], - "referencedDeclaration": 4878, + "referencedDeclaration": 4889, "src": "141180:25:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$_t_address_$", "typeString": "function (uint256,address,bytes memory) returns (address)" } }, - "id": 4860, + "id": 4871, "isConstant": false, "isLValue": false, "isPure": false, @@ -149398,19 +149288,19 @@ "typeString": "address" } }, - "id": 4862, + "id": 4873, "nodeType": "ExpressionStatement", "src": "141169:53:10" } ] }, "documentation": { - "id": 4846, + "id": 4857, "nodeType": "StructuredDocumentation", "src": "140976:52:10", "text": "@dev Deploys a ERC1967I beacon proxy with `args." }, - "id": 4864, + "id": 4875, "implemented": true, "kind": "function", "modifiers": [], @@ -149418,17 +149308,17 @@ "nameLocation": "141042:25:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4851, + "id": 4862, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4848, + "id": 4859, "mutability": "mutable", "name": "beacon", "nameLocation": "141076:6:10", "nodeType": "VariableDeclaration", - "scope": 4864, + "scope": 4875, "src": "141068:14:10", "stateVariable": false, "storageLocation": "default", @@ -149437,7 +149327,7 @@ "typeString": "address" }, "typeName": { - "id": 4847, + "id": 4858, "name": "address", "nodeType": "ElementaryTypeName", "src": "141068:7:10", @@ -149451,12 +149341,12 @@ }, { "constant": false, - "id": 4850, + "id": 4861, "mutability": "mutable", "name": "args", "nameLocation": "141097:4:10", "nodeType": "VariableDeclaration", - "scope": 4864, + "scope": 4875, "src": "141084:17:10", "stateVariable": false, "storageLocation": "memory", @@ -149465,7 +149355,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4849, + "id": 4860, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "141084:5:10", @@ -149480,17 +149370,17 @@ "src": "141067:35:10" }, "returnParameters": { - "id": 4854, + "id": 4865, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4853, + "id": 4864, "mutability": "mutable", "name": "instance", "nameLocation": "141145:8:10", "nodeType": "VariableDeclaration", - "scope": 4864, + "scope": 4875, "src": "141137:16:10", "stateVariable": false, "storageLocation": "default", @@ -149499,7 +149389,7 @@ "typeString": "address" }, "typeName": { - "id": 4852, + "id": 4863, "name": "address", "nodeType": "ElementaryTypeName", "src": "141137:7:10", @@ -149514,7 +149404,7 @@ ], "src": "141136:18:10" }, - "scope": 5093, + "scope": 5104, "src": "141033:196:10", "stateMutability": "nonpayable", "virtual": false, @@ -149522,7 +149412,7 @@ }, { "body": { - "id": 4877, + "id": 4888, "nodeType": "Block", "src": "141481:977:10", "statements": [ @@ -150230,61 +150120,61 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4871, + "declaration": 4882, "isOffset": false, "isSlot": false, "src": "141639:4:10", "valueSize": 1 }, { - "declaration": 4871, + "declaration": 4882, "isOffset": false, "isSlot": false, "src": "141686:4:10", "valueSize": 1 }, { - "declaration": 4869, + "declaration": 4880, "isOffset": false, "isSlot": false, "src": "142048:6:10", "valueSize": 1 }, { - "declaration": 4874, + "declaration": 4885, "isOffset": false, "isSlot": false, "src": "142240:8:10", "valueSize": 1 }, { - "declaration": 4874, + "declaration": 4885, "isOffset": false, "isSlot": false, "src": "142316:8:10", "valueSize": 1 }, { - "declaration": 4867, + "declaration": 4878, "isOffset": false, "isSlot": false, "src": "142259:5:10", "valueSize": 1 } ], - "id": 4876, + "id": 4887, "nodeType": "InlineAssembly", "src": "141534:918:10" } ] }, "documentation": { - "id": 4865, + "id": 4876, "nodeType": "StructuredDocumentation", "src": "141235:100:10", "text": "@dev Deploys a ERC1967I beacon proxy with `args.\n Deposits `value` ETH during deployment." }, - "id": 4878, + "id": 4889, "implemented": true, "kind": "function", "modifiers": [], @@ -150292,17 +150182,17 @@ "nameLocation": "141349:25:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4872, + "id": 4883, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4867, + "id": 4878, "mutability": "mutable", "name": "value", "nameLocation": "141383:5:10", "nodeType": "VariableDeclaration", - "scope": 4878, + "scope": 4889, "src": "141375:13:10", "stateVariable": false, "storageLocation": "default", @@ -150311,7 +150201,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4866, + "id": 4877, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "141375:7:10", @@ -150324,12 +150214,12 @@ }, { "constant": false, - "id": 4869, + "id": 4880, "mutability": "mutable", "name": "beacon", "nameLocation": "141398:6:10", "nodeType": "VariableDeclaration", - "scope": 4878, + "scope": 4889, "src": "141390:14:10", "stateVariable": false, "storageLocation": "default", @@ -150338,7 +150228,7 @@ "typeString": "address" }, "typeName": { - "id": 4868, + "id": 4879, "name": "address", "nodeType": "ElementaryTypeName", "src": "141390:7:10", @@ -150352,12 +150242,12 @@ }, { "constant": false, - "id": 4871, + "id": 4882, "mutability": "mutable", "name": "args", "nameLocation": "141419:4:10", "nodeType": "VariableDeclaration", - "scope": 4878, + "scope": 4889, "src": "141406:17:10", "stateVariable": false, "storageLocation": "memory", @@ -150366,7 +150256,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4870, + "id": 4881, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "141406:5:10", @@ -150381,17 +150271,17 @@ "src": "141374:50:10" }, "returnParameters": { - "id": 4875, + "id": 4886, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4874, + "id": 4885, "mutability": "mutable", "name": "instance", "nameLocation": "141467:8:10", "nodeType": "VariableDeclaration", - "scope": 4878, + "scope": 4889, "src": "141459:16:10", "stateVariable": false, "storageLocation": "default", @@ -150400,7 +150290,7 @@ "typeString": "address" }, "typeName": { - "id": 4873, + "id": 4884, "name": "address", "nodeType": "ElementaryTypeName", "src": "141459:7:10", @@ -150415,7 +150305,7 @@ ], "src": "141458:18:10" }, - "scope": 5093, + "scope": 5104, "src": "141340:1118:10", "stateMutability": "nonpayable", "virtual": false, @@ -150423,23 +150313,23 @@ }, { "body": { - "id": 4899, + "id": 4910, "nodeType": "Block", "src": "142700:89:10", "statements": [ { "expression": { - "id": 4897, + "id": 4908, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 4890, + "id": 4901, "name": "instance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4888, + "referencedDeclaration": 4899, "src": "142710:8:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -150452,7 +150342,7 @@ "arguments": [ { "hexValue": "30", - "id": 4892, + "id": 4903, "isConstant": false, "isLValue": false, "isPure": true, @@ -150467,11 +150357,11 @@ "value": "0" }, { - "id": 4893, + "id": 4904, "name": "beacon", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4881, + "referencedDeclaration": 4892, "src": "142763:6:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -150479,11 +150369,11 @@ } }, { - "id": 4894, + "id": 4905, "name": "args", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4883, + "referencedDeclaration": 4894, "src": "142771:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -150491,11 +150381,11 @@ } }, { - "id": 4895, + "id": 4906, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4885, + "referencedDeclaration": 4896, "src": "142777:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -150522,23 +150412,23 @@ "typeString": "bytes32" } ], - "id": 4891, + "id": 4902, "name": "deployDeterministicERC1967IBeaconProxy", "nodeType": "Identifier", "overloadedDeclarations": [ - 4749, - 4763, - 4900, - 4916 + 4760, + 4774, + 4911, + 4927 ], - "referencedDeclaration": 4916, + "referencedDeclaration": 4927, "src": "142721:38:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$_t_bytes32_$returns$_t_address_$", "typeString": "function (uint256,address,bytes memory,bytes32) returns (address)" } }, - "id": 4896, + "id": 4907, "isConstant": false, "isLValue": false, "isPure": false, @@ -150560,19 +150450,19 @@ "typeString": "address" } }, - "id": 4898, + "id": 4909, "nodeType": "ExpressionStatement", "src": "142710:72:10" } ] }, "documentation": { - "id": 4879, + "id": 4890, "nodeType": "StructuredDocumentation", "src": "142464:78:10", "text": "@dev Deploys a deterministic ERC1967I beacon proxy with `args` and `salt`." }, - "id": 4900, + "id": 4911, "implemented": true, "kind": "function", "modifiers": [], @@ -150580,17 +150470,17 @@ "nameLocation": "142556:38:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4886, + "id": 4897, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4881, + "id": 4892, "mutability": "mutable", "name": "beacon", "nameLocation": "142603:6:10", "nodeType": "VariableDeclaration", - "scope": 4900, + "scope": 4911, "src": "142595:14:10", "stateVariable": false, "storageLocation": "default", @@ -150599,7 +150489,7 @@ "typeString": "address" }, "typeName": { - "id": 4880, + "id": 4891, "name": "address", "nodeType": "ElementaryTypeName", "src": "142595:7:10", @@ -150613,12 +150503,12 @@ }, { "constant": false, - "id": 4883, + "id": 4894, "mutability": "mutable", "name": "args", "nameLocation": "142624:4:10", "nodeType": "VariableDeclaration", - "scope": 4900, + "scope": 4911, "src": "142611:17:10", "stateVariable": false, "storageLocation": "memory", @@ -150627,7 +150517,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4882, + "id": 4893, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "142611:5:10", @@ -150640,12 +150530,12 @@ }, { "constant": false, - "id": 4885, + "id": 4896, "mutability": "mutable", "name": "salt", "nameLocation": "142638:4:10", "nodeType": "VariableDeclaration", - "scope": 4900, + "scope": 4911, "src": "142630:12:10", "stateVariable": false, "storageLocation": "default", @@ -150654,7 +150544,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 4884, + "id": 4895, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "142630:7:10", @@ -150669,17 +150559,17 @@ "src": "142594:49:10" }, "returnParameters": { - "id": 4889, + "id": 4900, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4888, + "id": 4899, "mutability": "mutable", "name": "instance", "nameLocation": "142686:8:10", "nodeType": "VariableDeclaration", - "scope": 4900, + "scope": 4911, "src": "142678:16:10", "stateVariable": false, "storageLocation": "default", @@ -150688,7 +150578,7 @@ "typeString": "address" }, "typeName": { - "id": 4887, + "id": 4898, "name": "address", "nodeType": "ElementaryTypeName", "src": "142678:7:10", @@ -150703,7 +150593,7 @@ ], "src": "142677:18:10" }, - "scope": 5093, + "scope": 5104, "src": "142547:242:10", "stateMutability": "nonpayable", "virtual": false, @@ -150711,7 +150601,7 @@ }, { "body": { - "id": 4915, + "id": 4926, "nodeType": "Block", "src": "143112:984:10", "statements": [ @@ -151425,68 +151315,68 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4907, + "declaration": 4918, "isOffset": false, "isSlot": false, "src": "143270:4:10", "valueSize": 1 }, { - "declaration": 4907, + "declaration": 4918, "isOffset": false, "isSlot": false, "src": "143317:4:10", "valueSize": 1 }, { - "declaration": 4905, + "declaration": 4916, "isOffset": false, "isSlot": false, "src": "143679:6:10", "valueSize": 1 }, { - "declaration": 4912, + "declaration": 4923, "isOffset": false, "isSlot": false, "src": "143871:8:10", "valueSize": 1 }, { - "declaration": 4912, + "declaration": 4923, "isOffset": false, "isSlot": false, "src": "143954:8:10", "valueSize": 1 }, { - "declaration": 4909, + "declaration": 4920, "isOffset": false, "isSlot": false, "src": "143926:4:10", "valueSize": 1 }, { - "declaration": 4903, + "declaration": 4914, "isOffset": false, "isSlot": false, "src": "143891:5:10", "valueSize": 1 } ], - "id": 4914, + "id": 4925, "nodeType": "InlineAssembly", "src": "143165:925:10" } ] }, "documentation": { - "id": 4901, + "id": 4912, "nodeType": "StructuredDocumentation", "src": "142795:126:10", "text": "@dev Deploys a deterministic ERC1967I beacon proxy with `args` and `salt`.\n Deposits `value` ETH during deployment." }, - "id": 4916, + "id": 4927, "implemented": true, "kind": "function", "modifiers": [], @@ -151494,17 +151384,17 @@ "nameLocation": "142935:38:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4910, + "id": 4921, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4903, + "id": 4914, "mutability": "mutable", "name": "value", "nameLocation": "142991:5:10", "nodeType": "VariableDeclaration", - "scope": 4916, + "scope": 4927, "src": "142983:13:10", "stateVariable": false, "storageLocation": "default", @@ -151513,7 +151403,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4902, + "id": 4913, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "142983:7:10", @@ -151526,12 +151416,12 @@ }, { "constant": false, - "id": 4905, + "id": 4916, "mutability": "mutable", "name": "beacon", "nameLocation": "143014:6:10", "nodeType": "VariableDeclaration", - "scope": 4916, + "scope": 4927, "src": "143006:14:10", "stateVariable": false, "storageLocation": "default", @@ -151540,7 +151430,7 @@ "typeString": "address" }, "typeName": { - "id": 4904, + "id": 4915, "name": "address", "nodeType": "ElementaryTypeName", "src": "143006:7:10", @@ -151554,12 +151444,12 @@ }, { "constant": false, - "id": 4907, + "id": 4918, "mutability": "mutable", "name": "args", "nameLocation": "143043:4:10", "nodeType": "VariableDeclaration", - "scope": 4916, + "scope": 4927, "src": "143030:17:10", "stateVariable": false, "storageLocation": "memory", @@ -151568,7 +151458,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4906, + "id": 4917, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "143030:5:10", @@ -151581,12 +151471,12 @@ }, { "constant": false, - "id": 4909, + "id": 4920, "mutability": "mutable", "name": "salt", "nameLocation": "143065:4:10", "nodeType": "VariableDeclaration", - "scope": 4916, + "scope": 4927, "src": "143057:12:10", "stateVariable": false, "storageLocation": "default", @@ -151595,7 +151485,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 4908, + "id": 4919, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "143057:7:10", @@ -151610,17 +151500,17 @@ "src": "142973:102:10" }, "returnParameters": { - "id": 4913, + "id": 4924, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4912, + "id": 4923, "mutability": "mutable", "name": "instance", "nameLocation": "143102:8:10", "nodeType": "VariableDeclaration", - "scope": 4916, + "scope": 4927, "src": "143094:16:10", "stateVariable": false, "storageLocation": "default", @@ -151629,7 +151519,7 @@ "typeString": "address" }, "typeName": { - "id": 4911, + "id": 4922, "name": "address", "nodeType": "ElementaryTypeName", "src": "143094:7:10", @@ -151644,7 +151534,7 @@ ], "src": "143093:18:10" }, - "scope": 5093, + "scope": 5104, "src": "142926:1170:10", "stateMutability": "nonpayable", "virtual": false, @@ -151652,7 +151542,7 @@ }, { "body": { - "id": 4937, + "id": 4948, "nodeType": "Block", "src": "144503:85:10", "statements": [ @@ -151661,7 +151551,7 @@ "arguments": [ { "hexValue": "30", - "id": 4931, + "id": 4942, "isConstant": false, "isLValue": false, "isPure": true, @@ -151676,11 +151566,11 @@ "value": "0" }, { - "id": 4932, + "id": 4943, "name": "beacon", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4919, + "referencedDeclaration": 4930, "src": "144562:6:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -151688,11 +151578,11 @@ } }, { - "id": 4933, + "id": 4944, "name": "args", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4921, + "referencedDeclaration": 4932, "src": "144570:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -151700,11 +151590,11 @@ } }, { - "id": 4934, + "id": 4945, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4923, + "referencedDeclaration": 4934, "src": "144576:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -151731,23 +151621,23 @@ "typeString": "bytes32" } ], - "id": 4930, + "id": 4941, "name": "createDeterministicERC1967IBeaconProxy", "nodeType": "Identifier", "overloadedDeclarations": [ - 4782, - 4798, - 4938, - 4956 + 4793, + 4809, + 4949, + 4967 ], - "referencedDeclaration": 4956, + "referencedDeclaration": 4967, "src": "144520:38:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$_t_bytes32_$returns$_t_bool_$_t_address_$", "typeString": "function (uint256,address,bytes memory,bytes32) returns (bool,address)" } }, - "id": 4935, + "id": 4946, "isConstant": false, "isLValue": false, "isPure": false, @@ -151763,20 +151653,20 @@ "typeString": "tuple(bool,address)" } }, - "functionReturnParameters": 4929, - "id": 4936, + "functionReturnParameters": 4940, + "id": 4947, "nodeType": "Return", "src": "144513:68:10" } ] }, "documentation": { - "id": 4917, + "id": 4928, "nodeType": "StructuredDocumentation", "src": "144102:221:10", "text": "@dev Creates a deterministic ERC1967I beacon proxy with `args` and `salt`.\n Note: This method is intended for use in ERC4337 factories,\n which are expected to NOT revert if the proxy is already deployed." }, - "id": 4938, + "id": 4949, "implemented": true, "kind": "function", "modifiers": [], @@ -151784,17 +151674,17 @@ "nameLocation": "144337:38:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4924, + "id": 4935, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4919, + "id": 4930, "mutability": "mutable", "name": "beacon", "nameLocation": "144384:6:10", "nodeType": "VariableDeclaration", - "scope": 4938, + "scope": 4949, "src": "144376:14:10", "stateVariable": false, "storageLocation": "default", @@ -151803,7 +151693,7 @@ "typeString": "address" }, "typeName": { - "id": 4918, + "id": 4929, "name": "address", "nodeType": "ElementaryTypeName", "src": "144376:7:10", @@ -151817,12 +151707,12 @@ }, { "constant": false, - "id": 4921, + "id": 4932, "mutability": "mutable", "name": "args", "nameLocation": "144405:4:10", "nodeType": "VariableDeclaration", - "scope": 4938, + "scope": 4949, "src": "144392:17:10", "stateVariable": false, "storageLocation": "memory", @@ -151831,7 +151721,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4920, + "id": 4931, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "144392:5:10", @@ -151844,12 +151734,12 @@ }, { "constant": false, - "id": 4923, + "id": 4934, "mutability": "mutable", "name": "salt", "nameLocation": "144419:4:10", "nodeType": "VariableDeclaration", - "scope": 4938, + "scope": 4949, "src": "144411:12:10", "stateVariable": false, "storageLocation": "default", @@ -151858,7 +151748,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 4922, + "id": 4933, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "144411:7:10", @@ -151873,17 +151763,17 @@ "src": "144375:49:10" }, "returnParameters": { - "id": 4929, + "id": 4940, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4926, + "id": 4937, "mutability": "mutable", "name": "alreadyDeployed", "nameLocation": "144464:15:10", "nodeType": "VariableDeclaration", - "scope": 4938, + "scope": 4949, "src": "144459:20:10", "stateVariable": false, "storageLocation": "default", @@ -151892,7 +151782,7 @@ "typeString": "bool" }, "typeName": { - "id": 4925, + "id": 4936, "name": "bool", "nodeType": "ElementaryTypeName", "src": "144459:4:10", @@ -151905,12 +151795,12 @@ }, { "constant": false, - "id": 4928, + "id": 4939, "mutability": "mutable", "name": "instance", "nameLocation": "144489:8:10", "nodeType": "VariableDeclaration", - "scope": 4938, + "scope": 4949, "src": "144481:16:10", "stateVariable": false, "storageLocation": "default", @@ -151919,7 +151809,7 @@ "typeString": "address" }, "typeName": { - "id": 4927, + "id": 4938, "name": "address", "nodeType": "ElementaryTypeName", "src": "144481:7:10", @@ -151934,7 +151824,7 @@ ], "src": "144458:40:10" }, - "scope": 5093, + "scope": 5104, "src": "144328:260:10", "stateMutability": "nonpayable", "virtual": false, @@ -151942,7 +151832,7 @@ }, { "body": { - "id": 4955, + "id": 4966, "nodeType": "Block", "src": "145076:1828:10", "statements": [ @@ -153263,117 +153153,117 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4950, + "declaration": 4961, "isOffset": false, "isSlot": false, "src": "146479:15:10", "valueSize": 1 }, { - "declaration": 4945, + "declaration": 4956, "isOffset": false, "isSlot": false, "src": "145200:4:10", "valueSize": 1 }, { - "declaration": 4945, + "declaration": 4956, "isOffset": false, "isSlot": false, "src": "145247:4:10", "valueSize": 1 }, { - "declaration": 4943, + "declaration": 4954, "isOffset": false, "isSlot": false, "src": "145609:6:10", "valueSize": 1 }, { - "declaration": 4952, + "declaration": 4963, "isOffset": false, "isSlot": false, "src": "146046:8:10", "valueSize": 1 }, { - "declaration": 4952, + "declaration": 4963, "isOffset": false, "isSlot": false, "src": "146144:8:10", "valueSize": 1 }, { - "declaration": 4952, + "declaration": 4963, "isOffset": false, "isSlot": false, "src": "146177:8:10", "valueSize": 1 }, { - "declaration": 4952, + "declaration": 4963, "isOffset": false, "isSlot": false, "src": "146268:8:10", "valueSize": 1 }, { - "declaration": 4952, + "declaration": 4963, "isOffset": false, "isSlot": false, "src": "146581:8:10", "valueSize": 1 }, { - "declaration": 4947, + "declaration": 4958, "isOffset": false, "isSlot": false, "src": "146028:4:10", "valueSize": 1 }, { - "declaration": 4947, + "declaration": 4958, "isOffset": false, "isSlot": false, "src": "146232:4:10", "valueSize": 1 }, { - "declaration": 4941, + "declaration": 4952, "isOffset": false, "isSlot": false, "src": "146197:5:10", "valueSize": 1 }, { - "declaration": 4941, + "declaration": 4952, "isOffset": false, "isSlot": false, "src": "146526:5:10", "valueSize": 1 }, { - "declaration": 4941, + "declaration": 4952, "isOffset": false, "isSlot": false, "src": "146591:5:10", "valueSize": 1 } ], - "id": 4954, + "id": 4965, "nodeType": "InlineAssembly", "src": "145129:1769:10" } ] }, "documentation": { - "id": 4939, + "id": 4950, "nodeType": "StructuredDocumentation", "src": "144594:269:10", "text": "@dev Creates a deterministic ERC1967I beacon proxy with `args` and `salt`.\n Deposits `value` ETH during deployment.\n Note: This method is intended for use in ERC4337 factories,\n which are expected to NOT revert if the proxy is already deployed." }, - "id": 4956, + "id": 4967, "implemented": true, "kind": "function", "modifiers": [], @@ -153381,17 +153271,17 @@ "nameLocation": "144877:38:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4948, + "id": 4959, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4941, + "id": 4952, "mutability": "mutable", "name": "value", "nameLocation": "144933:5:10", "nodeType": "VariableDeclaration", - "scope": 4956, + "scope": 4967, "src": "144925:13:10", "stateVariable": false, "storageLocation": "default", @@ -153400,7 +153290,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4940, + "id": 4951, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "144925:7:10", @@ -153413,12 +153303,12 @@ }, { "constant": false, - "id": 4943, + "id": 4954, "mutability": "mutable", "name": "beacon", "nameLocation": "144956:6:10", "nodeType": "VariableDeclaration", - "scope": 4956, + "scope": 4967, "src": "144948:14:10", "stateVariable": false, "storageLocation": "default", @@ -153427,7 +153317,7 @@ "typeString": "address" }, "typeName": { - "id": 4942, + "id": 4953, "name": "address", "nodeType": "ElementaryTypeName", "src": "144948:7:10", @@ -153441,12 +153331,12 @@ }, { "constant": false, - "id": 4945, + "id": 4956, "mutability": "mutable", "name": "args", "nameLocation": "144985:4:10", "nodeType": "VariableDeclaration", - "scope": 4956, + "scope": 4967, "src": "144972:17:10", "stateVariable": false, "storageLocation": "memory", @@ -153455,7 +153345,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4944, + "id": 4955, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "144972:5:10", @@ -153468,12 +153358,12 @@ }, { "constant": false, - "id": 4947, + "id": 4958, "mutability": "mutable", "name": "salt", "nameLocation": "145007:4:10", "nodeType": "VariableDeclaration", - "scope": 4956, + "scope": 4967, "src": "144999:12:10", "stateVariable": false, "storageLocation": "default", @@ -153482,7 +153372,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 4946, + "id": 4957, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "144999:7:10", @@ -153497,17 +153387,17 @@ "src": "144915:102:10" }, "returnParameters": { - "id": 4953, + "id": 4964, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4950, + "id": 4961, "mutability": "mutable", "name": "alreadyDeployed", "nameLocation": "145041:15:10", "nodeType": "VariableDeclaration", - "scope": 4956, + "scope": 4967, "src": "145036:20:10", "stateVariable": false, "storageLocation": "default", @@ -153516,7 +153406,7 @@ "typeString": "bool" }, "typeName": { - "id": 4949, + "id": 4960, "name": "bool", "nodeType": "ElementaryTypeName", "src": "145036:4:10", @@ -153529,12 +153419,12 @@ }, { "constant": false, - "id": 4952, + "id": 4963, "mutability": "mutable", "name": "instance", "nameLocation": "145066:8:10", "nodeType": "VariableDeclaration", - "scope": 4956, + "scope": 4967, "src": "145058:16:10", "stateVariable": false, "storageLocation": "default", @@ -153543,7 +153433,7 @@ "typeString": "address" }, "typeName": { - "id": 4951, + "id": 4962, "name": "address", "nodeType": "ElementaryTypeName", "src": "145058:7:10", @@ -153558,7 +153448,7 @@ ], "src": "145035:40:10" }, - "scope": 5093, + "scope": 5104, "src": "144868:2036:10", "stateMutability": "nonpayable", "virtual": false, @@ -153566,7 +153456,7 @@ }, { "body": { - "id": 4967, + "id": 4978, "nodeType": "Block", "src": "147136:1039:10", "statements": [ @@ -154452,110 +154342,110 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4961, + "declaration": 4972, "isOffset": false, "isSlot": false, "src": "147256:4:10", "valueSize": 1 }, { - "declaration": 4961, + "declaration": 4972, "isOffset": false, "isSlot": false, "src": "147550:4:10", "valueSize": 1 }, { - "declaration": 4959, + "declaration": 4970, "isOffset": false, "isSlot": false, "src": "147910:6:10", "valueSize": 1 }, { - "declaration": 4964, + "declaration": 4975, "isOffset": false, "isSlot": false, "src": "147212:1:10", "valueSize": 1 }, { - "declaration": 4964, + "declaration": 4975, "isOffset": false, "isSlot": false, "src": "147522:1:10", "valueSize": 1 }, { - "declaration": 4964, + "declaration": 4975, "isOffset": false, "isSlot": false, "src": "147605:1:10", "valueSize": 1 }, { - "declaration": 4964, + "declaration": 4975, "isOffset": false, "isSlot": false, "src": "147706:1:10", "valueSize": 1 }, { - "declaration": 4964, + "declaration": 4975, "isOffset": false, "isSlot": false, "src": "147807:1:10", "valueSize": 1 }, { - "declaration": 4964, + "declaration": 4975, "isOffset": false, "isSlot": false, "src": "147900:1:10", "valueSize": 1 }, { - "declaration": 4964, + "declaration": 4975, "isOffset": false, "isSlot": false, "src": "147941:1:10", "valueSize": 1 }, { - "declaration": 4964, + "declaration": 4975, "isOffset": false, "isSlot": false, "src": "148015:1:10", "valueSize": 1 }, { - "declaration": 4964, + "declaration": 4975, "isOffset": false, "isSlot": false, "src": "148055:1:10", "valueSize": 1 }, { - "declaration": 4964, + "declaration": 4975, "isOffset": false, "isSlot": false, "src": "148122:1:10", "valueSize": 1 } ], - "id": 4966, + "id": 4977, "nodeType": "InlineAssembly", "src": "147189:980:10" } ] }, "documentation": { - "id": 4957, + "id": 4968, "nodeType": "StructuredDocumentation", "src": "146910:82:10", "text": "@dev Returns the initialization code of the ERC1967I beacon proxy with `args`." }, - "id": 4968, + "id": 4979, "implemented": true, "kind": "function", "modifiers": [], @@ -154563,17 +154453,17 @@ "nameLocation": "147006:27:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4962, + "id": 4973, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4959, + "id": 4970, "mutability": "mutable", "name": "beacon", "nameLocation": "147042:6:10", "nodeType": "VariableDeclaration", - "scope": 4968, + "scope": 4979, "src": "147034:14:10", "stateVariable": false, "storageLocation": "default", @@ -154582,7 +154472,7 @@ "typeString": "address" }, "typeName": { - "id": 4958, + "id": 4969, "name": "address", "nodeType": "ElementaryTypeName", "src": "147034:7:10", @@ -154596,12 +154486,12 @@ }, { "constant": false, - "id": 4961, + "id": 4972, "mutability": "mutable", "name": "args", "nameLocation": "147063:4:10", "nodeType": "VariableDeclaration", - "scope": 4968, + "scope": 4979, "src": "147050:17:10", "stateVariable": false, "storageLocation": "memory", @@ -154610,7 +154500,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4960, + "id": 4971, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "147050:5:10", @@ -154625,17 +154515,17 @@ "src": "147033:35:10" }, "returnParameters": { - "id": 4965, + "id": 4976, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4964, + "id": 4975, "mutability": "mutable", "name": "c", "nameLocation": "147129:1:10", "nodeType": "VariableDeclaration", - "scope": 4968, + "scope": 4979, "src": "147116:14:10", "stateVariable": false, "storageLocation": "memory", @@ -154644,7 +154534,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4963, + "id": 4974, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "147116:5:10", @@ -154658,7 +154548,7 @@ ], "src": "147115:16:10" }, - "scope": 5093, + "scope": 5104, "src": "146997:1178:10", "stateMutability": "pure", "virtual": false, @@ -154666,7 +154556,7 @@ }, { "body": { - "id": 4979, + "id": 4990, "nodeType": "Block", "src": "148414:956:10", "statements": [ @@ -155417,47 +155307,47 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 4973, + "declaration": 4984, "isOffset": false, "isSlot": false, "src": "148572:4:10", "valueSize": 1 }, { - "declaration": 4973, + "declaration": 4984, "isOffset": false, "isSlot": false, "src": "148866:4:10", "valueSize": 1 }, { - "declaration": 4971, + "declaration": 4982, "isOffset": false, "isSlot": false, "src": "149226:6:10", "valueSize": 1 }, { - "declaration": 4976, + "declaration": 4987, "isOffset": false, "isSlot": false, "src": "149309:4:10", "valueSize": 1 } ], - "id": 4978, + "id": 4989, "nodeType": "InlineAssembly", "src": "148467:897:10" } ] }, "documentation": { - "id": 4969, + "id": 4980, "nodeType": "StructuredDocumentation", "src": "148181:87:10", "text": "@dev Returns the initialization code hash of the ERC1967I beacon proxy with `args`." }, - "id": 4980, + "id": 4991, "implemented": true, "kind": "function", "modifiers": [], @@ -155465,17 +155355,17 @@ "nameLocation": "148282:31:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4974, + "id": 4985, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4971, + "id": 4982, "mutability": "mutable", "name": "beacon", "nameLocation": "148322:6:10", "nodeType": "VariableDeclaration", - "scope": 4980, + "scope": 4991, "src": "148314:14:10", "stateVariable": false, "storageLocation": "default", @@ -155484,7 +155374,7 @@ "typeString": "address" }, "typeName": { - "id": 4970, + "id": 4981, "name": "address", "nodeType": "ElementaryTypeName", "src": "148314:7:10", @@ -155498,12 +155388,12 @@ }, { "constant": false, - "id": 4973, + "id": 4984, "mutability": "mutable", "name": "args", "nameLocation": "148343:4:10", "nodeType": "VariableDeclaration", - "scope": 4980, + "scope": 4991, "src": "148330:17:10", "stateVariable": false, "storageLocation": "memory", @@ -155512,7 +155402,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4972, + "id": 4983, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "148330:5:10", @@ -155527,17 +155417,17 @@ "src": "148313:35:10" }, "returnParameters": { - "id": 4977, + "id": 4988, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4976, + "id": 4987, "mutability": "mutable", "name": "hash", "nameLocation": "148404:4:10", "nodeType": "VariableDeclaration", - "scope": 4980, + "scope": 4991, "src": "148396:12:10", "stateVariable": false, "storageLocation": "default", @@ -155546,7 +155436,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 4975, + "id": 4986, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "148396:7:10", @@ -155560,7 +155450,7 @@ ], "src": "148395:14:10" }, - "scope": 5093, + "scope": 5104, "src": "148273:1097:10", "stateMutability": "pure", "virtual": false, @@ -155568,23 +155458,23 @@ }, { "body": { - "id": 5009, + "id": 5020, "nodeType": "Block", "src": "149773:148:10", "statements": [ { "assignments": [ - 4995 + 5006 ], "declarations": [ { "constant": false, - "id": 4995, + "id": 5006, "mutability": "mutable", "name": "hash", "nameLocation": "149791:4:10", "nodeType": "VariableDeclaration", - "scope": 5009, + "scope": 5020, "src": "149783:12:10", "stateVariable": false, "storageLocation": "default", @@ -155593,7 +155483,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 4994, + "id": 5005, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "149783:7:10", @@ -155605,15 +155495,15 @@ "visibility": "internal" } ], - "id": 5000, + "id": 5011, "initialValue": { "arguments": [ { - "id": 4997, + "id": 5008, "name": "beacon", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4983, + "referencedDeclaration": 4994, "src": "149830:6:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -155621,11 +155511,11 @@ } }, { - "id": 4998, + "id": 5009, "name": "args", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4985, + "referencedDeclaration": 4996, "src": "149838:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -155644,21 +155534,21 @@ "typeString": "bytes memory" } ], - "id": 4996, + "id": 5007, "name": "initCodeHashERC1967IBeaconProxy", "nodeType": "Identifier", "overloadedDeclarations": [ - 4818, - 4980 + 4829, + 4991 ], - "referencedDeclaration": 4980, + "referencedDeclaration": 4991, "src": "149798:31:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (address,bytes memory) pure returns (bytes32)" } }, - "id": 4999, + "id": 5010, "isConstant": false, "isLValue": false, "isPure": false, @@ -155679,17 +155569,17 @@ }, { "expression": { - "id": 5007, + "id": 5018, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 5001, + "id": 5012, "name": "predicted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4992, + "referencedDeclaration": 5003, "src": "149853:9:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -155701,11 +155591,11 @@ "rightHandSide": { "arguments": [ { - "id": 5003, + "id": 5014, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4995, + "referencedDeclaration": 5006, "src": "149893:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -155713,11 +155603,11 @@ } }, { - "id": 5004, + "id": 5015, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4987, + "referencedDeclaration": 4998, "src": "149899:4:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -155725,11 +155615,11 @@ } }, { - "id": 5005, + "id": 5016, "name": "deployer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4989, + "referencedDeclaration": 5000, "src": "149905:8:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -155752,22 +155642,22 @@ "typeString": "address" } ], - "id": 5002, + "id": 5013, "name": "predictDeterministicAddress", "nodeType": "Identifier", "overloadedDeclarations": [ - 3226, - 3499, - 5070 + 3237, + 3510, + 5081 ], - "referencedDeclaration": 5070, + "referencedDeclaration": 5081, "src": "149865:27:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_address_$", "typeString": "function (bytes32,bytes32,address) pure returns (address)" } }, - "id": 5006, + "id": 5017, "isConstant": false, "isLValue": false, "isPure": false, @@ -155789,19 +155679,19 @@ "typeString": "address" } }, - "id": 5008, + "id": 5019, "nodeType": "ExpressionStatement", "src": "149853:61:10" } ] }, "documentation": { - "id": 4981, + "id": 4992, "nodeType": "StructuredDocumentation", "src": "149376:189:10", "text": "@dev Returns the address of the ERC1967I beacon proxy, with `args` and salt` by `deployer`.\n Note: The returned result has dirty upper 96 bits. Please clean if used in assembly." }, - "id": 5010, + "id": 5021, "implemented": true, "kind": "function", "modifiers": [], @@ -155809,17 +155699,17 @@ "nameLocation": "149579:46:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 4990, + "id": 5001, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4983, + "id": 4994, "mutability": "mutable", "name": "beacon", "nameLocation": "149643:6:10", "nodeType": "VariableDeclaration", - "scope": 5010, + "scope": 5021, "src": "149635:14:10", "stateVariable": false, "storageLocation": "default", @@ -155828,7 +155718,7 @@ "typeString": "address" }, "typeName": { - "id": 4982, + "id": 4993, "name": "address", "nodeType": "ElementaryTypeName", "src": "149635:7:10", @@ -155842,12 +155732,12 @@ }, { "constant": false, - "id": 4985, + "id": 4996, "mutability": "mutable", "name": "args", "nameLocation": "149672:4:10", "nodeType": "VariableDeclaration", - "scope": 5010, + "scope": 5021, "src": "149659:17:10", "stateVariable": false, "storageLocation": "memory", @@ -155856,7 +155746,7 @@ "typeString": "bytes" }, "typeName": { - "id": 4984, + "id": 4995, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "149659:5:10", @@ -155869,12 +155759,12 @@ }, { "constant": false, - "id": 4987, + "id": 4998, "mutability": "mutable", "name": "salt", "nameLocation": "149694:4:10", "nodeType": "VariableDeclaration", - "scope": 5010, + "scope": 5021, "src": "149686:12:10", "stateVariable": false, "storageLocation": "default", @@ -155883,7 +155773,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 4986, + "id": 4997, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "149686:7:10", @@ -155896,12 +155786,12 @@ }, { "constant": false, - "id": 4989, + "id": 5000, "mutability": "mutable", "name": "deployer", "nameLocation": "149716:8:10", "nodeType": "VariableDeclaration", - "scope": 5010, + "scope": 5021, "src": "149708:16:10", "stateVariable": false, "storageLocation": "default", @@ -155910,7 +155800,7 @@ "typeString": "address" }, "typeName": { - "id": 4988, + "id": 4999, "name": "address", "nodeType": "ElementaryTypeName", "src": "149708:7:10", @@ -155926,17 +155816,17 @@ "src": "149625:105:10" }, "returnParameters": { - "id": 4993, + "id": 5004, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4992, + "id": 5003, "mutability": "mutable", "name": "predicted", "nameLocation": "149762:9:10", "nodeType": "VariableDeclaration", - "scope": 5010, + "scope": 5021, "src": "149754:17:10", "stateVariable": false, "storageLocation": "default", @@ -155945,7 +155835,7 @@ "typeString": "address" }, "typeName": { - "id": 4991, + "id": 5002, "name": "address", "nodeType": "ElementaryTypeName", "src": "149754:7:10", @@ -155960,7 +155850,7 @@ ], "src": "149753:19:10" }, - "scope": 5093, + "scope": 5104, "src": "149570:351:10", "stateMutability": "pure", "virtual": false, @@ -155968,7 +155858,7 @@ }, { "body": { - "id": 5019, + "id": 5030, "nodeType": "Block", "src": "150137:371:10", "statements": [ @@ -156287,75 +156177,75 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5016, + "declaration": 5027, "isOffset": false, "isSlot": false, "src": "150213:4:10", "valueSize": 1 }, { - "declaration": 5016, + "declaration": 5027, "isOffset": false, "isSlot": false, "src": "150252:4:10", "valueSize": 1 }, { - "declaration": 5016, + "declaration": 5027, "isOffset": false, "isSlot": false, "src": "150370:4:10", "valueSize": 1 }, { - "declaration": 5016, + "declaration": 5027, "isOffset": false, "isSlot": false, "src": "150399:4:10", "valueSize": 1 }, { - "declaration": 5016, + "declaration": 5027, "isOffset": false, "isSlot": false, "src": "150448:4:10", "valueSize": 1 }, { - "declaration": 5016, + "declaration": 5027, "isOffset": false, "isSlot": false, "src": "150459:4:10", "valueSize": 1 }, { - "declaration": 5013, + "declaration": 5024, "isOffset": false, "isSlot": false, "src": "150292:8:10", "valueSize": 1 }, { - "declaration": 5013, + "declaration": 5024, "isOffset": false, "isSlot": false, "src": "150356:8:10", "valueSize": 1 } ], - "id": 5018, + "id": 5029, "nodeType": "InlineAssembly", "src": "150190:312:10" } ] }, "documentation": { - "id": 5011, + "id": 5022, "nodeType": "StructuredDocumentation", "src": "149927:82:10", "text": "@dev Equivalent to `argsOnERC1967IBeaconProxy(instance, start, 2 ** 256 - 1)`." }, - "id": 5020, + "id": 5031, "implemented": true, "kind": "function", "modifiers": [], @@ -156363,17 +156253,17 @@ "nameLocation": "150023:25:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 5014, + "id": 5025, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5013, + "id": 5024, "mutability": "mutable", "name": "instance", "nameLocation": "150057:8:10", "nodeType": "VariableDeclaration", - "scope": 5020, + "scope": 5031, "src": "150049:16:10", "stateVariable": false, "storageLocation": "default", @@ -156382,7 +156272,7 @@ "typeString": "address" }, "typeName": { - "id": 5012, + "id": 5023, "name": "address", "nodeType": "ElementaryTypeName", "src": "150049:7:10", @@ -156398,17 +156288,17 @@ "src": "150048:18:10" }, "returnParameters": { - "id": 5017, + "id": 5028, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5016, + "id": 5027, "mutability": "mutable", "name": "args", "nameLocation": "150127:4:10", "nodeType": "VariableDeclaration", - "scope": 5020, + "scope": 5031, "src": "150114:17:10", "stateVariable": false, "storageLocation": "memory", @@ -156417,7 +156307,7 @@ "typeString": "bytes" }, "typeName": { - "id": 5015, + "id": 5026, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "150114:5:10", @@ -156431,7 +156321,7 @@ ], "src": "150113:19:10" }, - "scope": 5093, + "scope": 5104, "src": "150014:494:10", "stateMutability": "view", "virtual": false, @@ -156439,7 +156329,7 @@ }, { "body": { - "id": 5031, + "id": 5042, "nodeType": "Block", "src": "150739:485:10", "statements": [ @@ -156918,103 +156808,103 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5028, + "declaration": 5039, "isOffset": false, "isSlot": false, "src": "150815:4:10", "valueSize": 1 }, { - "declaration": 5028, + "declaration": 5039, "isOffset": false, "isSlot": false, "src": "151011:4:10", "valueSize": 1 }, { - "declaration": 5028, + "declaration": 5039, "isOffset": false, "isSlot": false, "src": "151068:4:10", "valueSize": 1 }, { - "declaration": 5028, + "declaration": 5039, "isOffset": false, "isSlot": false, "src": "151158:4:10", "valueSize": 1 }, { - "declaration": 5028, + "declaration": 5039, "isOffset": false, "isSlot": false, "src": "151180:4:10", "valueSize": 1 }, { - "declaration": 5023, + "declaration": 5034, "isOffset": false, "isSlot": false, "src": "150890:8:10", "valueSize": 1 }, { - "declaration": 5023, + "declaration": 5034, "isOffset": false, "isSlot": false, "src": "151001:8:10", "valueSize": 1 }, { - "declaration": 5025, + "declaration": 5036, "isOffset": false, "isSlot": false, "src": "150957:5:10", "valueSize": 1 }, { - "declaration": 5025, + "declaration": 5036, "isOffset": false, "isSlot": false, "src": "150968:5:10", "valueSize": 1 }, { - "declaration": 5025, + "declaration": 5036, "isOffset": false, "isSlot": false, "src": "151021:5:10", "valueSize": 1 }, { - "declaration": 5025, + "declaration": 5036, "isOffset": false, "isSlot": false, "src": "151085:5:10", "valueSize": 1 }, { - "declaration": 5025, + "declaration": 5036, "isOffset": false, "isSlot": false, "src": "151096:5:10", "valueSize": 1 } ], - "id": 5030, + "id": 5041, "nodeType": "InlineAssembly", "src": "150792:426:10" } ] }, "documentation": { - "id": 5021, + "id": 5032, "nodeType": "StructuredDocumentation", "src": "150514:82:10", "text": "@dev Equivalent to `argsOnERC1967IBeaconProxy(instance, start, 2 ** 256 - 1)`." }, - "id": 5032, + "id": 5043, "implemented": true, "kind": "function", "modifiers": [], @@ -157022,17 +156912,17 @@ "nameLocation": "150610:25:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 5026, + "id": 5037, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5023, + "id": 5034, "mutability": "mutable", "name": "instance", "nameLocation": "150644:8:10", "nodeType": "VariableDeclaration", - "scope": 5032, + "scope": 5043, "src": "150636:16:10", "stateVariable": false, "storageLocation": "default", @@ -157041,7 +156931,7 @@ "typeString": "address" }, "typeName": { - "id": 5022, + "id": 5033, "name": "address", "nodeType": "ElementaryTypeName", "src": "150636:7:10", @@ -157055,12 +156945,12 @@ }, { "constant": false, - "id": 5025, + "id": 5036, "mutability": "mutable", "name": "start", "nameLocation": "150662:5:10", "nodeType": "VariableDeclaration", - "scope": 5032, + "scope": 5043, "src": "150654:13:10", "stateVariable": false, "storageLocation": "default", @@ -157069,7 +156959,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5024, + "id": 5035, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "150654:7:10", @@ -157084,17 +156974,17 @@ "src": "150635:33:10" }, "returnParameters": { - "id": 5029, + "id": 5040, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5028, + "id": 5039, "mutability": "mutable", "name": "args", "nameLocation": "150729:4:10", "nodeType": "VariableDeclaration", - "scope": 5032, + "scope": 5043, "src": "150716:17:10", "stateVariable": false, "storageLocation": "memory", @@ -157103,7 +156993,7 @@ "typeString": "bytes" }, "typeName": { - "id": 5027, + "id": 5038, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "150716:5:10", @@ -157117,7 +157007,7 @@ ], "src": "150715:19:10" }, - "scope": 5093, + "scope": 5104, "src": "150601:623:10", "stateMutability": "view", "virtual": false, @@ -157125,7 +157015,7 @@ }, { "body": { - "id": 5045, + "id": 5056, "nodeType": "Block", "src": "151761:785:10", "statements": [ @@ -157923,145 +157813,145 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5042, + "declaration": 5053, "isOffset": false, "isSlot": false, "src": "151837:4:10", "valueSize": 1 }, { - "declaration": 5042, + "declaration": 5053, "isOffset": false, "isSlot": false, "src": "152006:4:10", "valueSize": 1 }, { - "declaration": 5042, + "declaration": 5053, "isOffset": false, "isSlot": false, "src": "152086:4:10", "valueSize": 1 }, { - "declaration": 5042, + "declaration": 5053, "isOffset": false, "isSlot": false, "src": "152347:4:10", "valueSize": 1 }, { - "declaration": 5042, + "declaration": 5053, "isOffset": false, "isSlot": false, "src": "152404:4:10", "valueSize": 1 }, { - "declaration": 5042, + "declaration": 5053, "isOffset": false, "isSlot": false, "src": "152494:4:10", "valueSize": 1 }, { - "declaration": 5039, + "declaration": 5050, "isOffset": false, "isSlot": false, "src": "151882:3:10", "valueSize": 1 }, { - "declaration": 5039, + "declaration": 5050, "isOffset": false, "isSlot": false, "src": "151898:3:10", "valueSize": 1 }, { - "declaration": 5039, + "declaration": 5050, "isOffset": false, "isSlot": false, "src": "151943:3:10", "valueSize": 1 }, { - "declaration": 5039, + "declaration": 5050, "isOffset": false, "isSlot": false, "src": "151966:3:10", "valueSize": 1 }, { - "declaration": 5039, + "declaration": 5050, "isOffset": false, "isSlot": false, "src": "152290:3:10", "valueSize": 1 }, { - "declaration": 5039, + "declaration": 5050, "isOffset": false, "isSlot": false, "src": "152303:3:10", "valueSize": 1 }, { - "declaration": 5035, + "declaration": 5046, "isOffset": false, "isSlot": false, "src": "151996:8:10", "valueSize": 1 }, { - "declaration": 5035, + "declaration": 5046, "isOffset": false, "isSlot": false, "src": "152141:8:10", "valueSize": 1 }, { - "declaration": 5037, + "declaration": 5048, "isOffset": false, "isSlot": false, "src": "151948:5:10", "valueSize": 1 }, { - "declaration": 5037, + "declaration": 5048, "isOffset": false, "isSlot": false, "src": "151959:5:10", "valueSize": 1 }, { - "declaration": 5037, + "declaration": 5048, "isOffset": false, "isSlot": false, "src": "152016:5:10", "valueSize": 1 }, { - "declaration": 5037, + "declaration": 5048, "isOffset": false, "isSlot": false, "src": "152268:5:10", "valueSize": 1 } ], - "id": 5044, + "id": 5055, "nodeType": "InlineAssembly", "src": "151814:726:10" } ] }, "documentation": { - "id": 5033, + "id": 5044, "nodeType": "StructuredDocumentation", "src": "151230:375:10", "text": "@dev Returns a slice of the immutable arguments on `instance` from `start` to `end`.\n `start` and `end` will be clamped to the range `[0, args.length]`.\n The `instance` MUST be deployed via the ERC1967I beacon proxy with immutable args functions.\n Otherwise, the behavior is undefined.\n Out-of-gas reverts if `instance` does not have any code." }, - "id": 5046, + "id": 5057, "implemented": true, "kind": "function", "modifiers": [], @@ -158069,17 +157959,17 @@ "nameLocation": "151619:25:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 5040, + "id": 5051, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5035, + "id": 5046, "mutability": "mutable", "name": "instance", "nameLocation": "151653:8:10", "nodeType": "VariableDeclaration", - "scope": 5046, + "scope": 5057, "src": "151645:16:10", "stateVariable": false, "storageLocation": "default", @@ -158088,7 +157978,7 @@ "typeString": "address" }, "typeName": { - "id": 5034, + "id": 5045, "name": "address", "nodeType": "ElementaryTypeName", "src": "151645:7:10", @@ -158102,12 +157992,12 @@ }, { "constant": false, - "id": 5037, + "id": 5048, "mutability": "mutable", "name": "start", "nameLocation": "151671:5:10", "nodeType": "VariableDeclaration", - "scope": 5046, + "scope": 5057, "src": "151663:13:10", "stateVariable": false, "storageLocation": "default", @@ -158116,7 +158006,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5036, + "id": 5047, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "151663:7:10", @@ -158129,12 +158019,12 @@ }, { "constant": false, - "id": 5039, + "id": 5050, "mutability": "mutable", "name": "end", "nameLocation": "151686:3:10", "nodeType": "VariableDeclaration", - "scope": 5046, + "scope": 5057, "src": "151678:11:10", "stateVariable": false, "storageLocation": "default", @@ -158143,7 +158033,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5038, + "id": 5049, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "151678:7:10", @@ -158158,17 +158048,17 @@ "src": "151644:46:10" }, "returnParameters": { - "id": 5043, + "id": 5054, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5042, + "id": 5053, "mutability": "mutable", "name": "args", "nameLocation": "151751:4:10", "nodeType": "VariableDeclaration", - "scope": 5046, + "scope": 5057, "src": "151738:17:10", "stateVariable": false, "storageLocation": "memory", @@ -158177,7 +158067,7 @@ "typeString": "bytes" }, "typeName": { - "id": 5041, + "id": 5052, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "151738:5:10", @@ -158191,7 +158081,7 @@ ], "src": "151737:19:10" }, - "scope": 5093, + "scope": 5104, "src": "151610:936:10", "stateMutability": "view", "virtual": false, @@ -158199,7 +158089,7 @@ }, { "body": { - "id": 5055, + "id": 5066, "nodeType": "Block", "src": "153004:1700:10", "statements": [ @@ -159189,138 +159079,138 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3085, + "declaration": 3096, "isOffset": false, "isSlot": false, "src": "153859:15:10", "valueSize": 1 }, { - "declaration": 3093, + "declaration": 3104, "isOffset": false, "isSlot": false, "src": "154172:14:10", "valueSize": 1 }, { - "declaration": 3109, + "declaration": 3120, "isOffset": false, "isSlot": false, "src": "153383:31:10", "valueSize": 1 }, { - "declaration": 3101, + "declaration": 3112, "isOffset": false, "isSlot": false, "src": "153312:18:10", "valueSize": 1 }, { - "declaration": 3089, + "declaration": 3100, "isOffset": false, "isSlot": false, "src": "154495:21:10", "valueSize": 1 }, { - "declaration": 5049, + "declaration": 5060, "isOffset": false, "isSlot": false, "src": "153098:8:10", "valueSize": 1 }, { - "declaration": 5049, + "declaration": 5060, "isOffset": false, "isSlot": false, "src": "153486:8:10", "valueSize": 1 }, { - "declaration": 5052, + "declaration": 5063, "isOffset": false, "isSlot": false, "src": "153545:6:10", "valueSize": 1 }, { - "declaration": 5052, + "declaration": 5063, "isOffset": false, "isSlot": false, "src": "153694:6:10", "valueSize": 1 }, { - "declaration": 5052, + "declaration": 5063, "isOffset": false, "isSlot": false, "src": "153916:6:10", "valueSize": 1 }, { - "declaration": 5052, + "declaration": 5063, "isOffset": false, "isSlot": false, "src": "154007:6:10", "valueSize": 1 }, { - "declaration": 5052, + "declaration": 5063, "isOffset": false, "isSlot": false, "src": "154228:6:10", "valueSize": 1 }, { - "declaration": 5052, + "declaration": 5063, "isOffset": false, "isSlot": false, "src": "154326:6:10", "valueSize": 1 }, { - "declaration": 5052, + "declaration": 5063, "isOffset": false, "isSlot": false, "src": "154454:6:10", "valueSize": 1 }, { - "declaration": 5052, + "declaration": 5063, "isOffset": false, "isSlot": false, "src": "154519:6:10", "valueSize": 1 }, { - "declaration": 5052, + "declaration": 5063, "isOffset": false, "isSlot": false, "src": "154575:6:10", "valueSize": 1 }, { - "declaration": 5052, + "declaration": 5063, "isOffset": false, "isSlot": false, "src": "154593:6:10", "valueSize": 1 } ], - "id": 5054, + "id": 5065, "nodeType": "InlineAssembly", "src": "153057:1641:10" } ] }, "documentation": { - "id": 5047, + "id": 5058, "nodeType": "StructuredDocumentation", "src": "152835:81:10", "text": "@dev Returns `address(0)` if the implementation address cannot be determined." }, - "id": 5056, + "id": 5067, "implemented": true, "kind": "function", "modifiers": [], @@ -159328,17 +159218,17 @@ "nameLocation": "152930:16:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 5050, + "id": 5061, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5049, + "id": 5060, "mutability": "mutable", "name": "instance", "nameLocation": "152955:8:10", "nodeType": "VariableDeclaration", - "scope": 5056, + "scope": 5067, "src": "152947:16:10", "stateVariable": false, "storageLocation": "default", @@ -159347,7 +159237,7 @@ "typeString": "address" }, "typeName": { - "id": 5048, + "id": 5059, "name": "address", "nodeType": "ElementaryTypeName", "src": "152947:7:10", @@ -159363,17 +159253,17 @@ "src": "152946:18:10" }, "returnParameters": { - "id": 5053, + "id": 5064, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5052, + "id": 5063, "mutability": "mutable", "name": "result", "nameLocation": "152996:6:10", "nodeType": "VariableDeclaration", - "scope": 5056, + "scope": 5067, "src": "152988:14:10", "stateVariable": false, "storageLocation": "default", @@ -159382,7 +159272,7 @@ "typeString": "address" }, "typeName": { - "id": 5051, + "id": 5062, "name": "address", "nodeType": "ElementaryTypeName", "src": "152988:7:10", @@ -159397,7 +159287,7 @@ ], "src": "152987:16:10" }, - "scope": 5093, + "scope": 5104, "src": "152921:1783:10", "stateMutability": "view", "virtual": false, @@ -159405,7 +159295,7 @@ }, { "body": { - "id": 5069, + "id": 5080, "nodeType": "Block", "src": "155092:425:10", "statements": [ @@ -159648,47 +159538,47 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5063, + "declaration": 5074, "isOffset": false, "isSlot": false, "src": "155325:8:10", "valueSize": 1 }, { - "declaration": 5059, + "declaration": 5070, "isOffset": false, "isSlot": false, "src": "155286:4:10", "valueSize": 1 }, { - "declaration": 5066, + "declaration": 5077, "isOffset": false, "isSlot": false, "src": "155379:9:10", "valueSize": 1 }, { - "declaration": 5061, + "declaration": 5072, "isOffset": false, "isSlot": false, "src": "155361:4:10", "valueSize": 1 } ], - "id": 5068, + "id": 5079, "nodeType": "InlineAssembly", "src": "155145:366:10" } ] }, "documentation": { - "id": 5057, + "id": 5068, "nodeType": "StructuredDocumentation", "src": "154710:224:10", "text": "@dev Returns the address when a contract with initialization code hash,\n `hash`, is deployed with `salt`, by `deployer`.\n Note: The returned result has dirty upper 96 bits. Please clean if used in assembly." }, - "id": 5070, + "id": 5081, "implemented": true, "kind": "function", "modifiers": [], @@ -159696,17 +159586,17 @@ "nameLocation": "154948:27:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 5064, + "id": 5075, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5059, + "id": 5070, "mutability": "mutable", "name": "hash", "nameLocation": "154984:4:10", "nodeType": "VariableDeclaration", - "scope": 5070, + "scope": 5081, "src": "154976:12:10", "stateVariable": false, "storageLocation": "default", @@ -159715,7 +159605,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 5058, + "id": 5069, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "154976:7:10", @@ -159728,12 +159618,12 @@ }, { "constant": false, - "id": 5061, + "id": 5072, "mutability": "mutable", "name": "salt", "nameLocation": "154998:4:10", "nodeType": "VariableDeclaration", - "scope": 5070, + "scope": 5081, "src": "154990:12:10", "stateVariable": false, "storageLocation": "default", @@ -159742,7 +159632,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 5060, + "id": 5071, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "154990:7:10", @@ -159755,12 +159645,12 @@ }, { "constant": false, - "id": 5063, + "id": 5074, "mutability": "mutable", "name": "deployer", "nameLocation": "155012:8:10", "nodeType": "VariableDeclaration", - "scope": 5070, + "scope": 5081, "src": "155004:16:10", "stateVariable": false, "storageLocation": "default", @@ -159769,7 +159659,7 @@ "typeString": "address" }, "typeName": { - "id": 5062, + "id": 5073, "name": "address", "nodeType": "ElementaryTypeName", "src": "155004:7:10", @@ -159785,17 +159675,17 @@ "src": "154975:46:10" }, "returnParameters": { - "id": 5067, + "id": 5078, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5066, + "id": 5077, "mutability": "mutable", "name": "predicted", "nameLocation": "155077:9:10", "nodeType": "VariableDeclaration", - "scope": 5070, + "scope": 5081, "src": "155069:17:10", "stateVariable": false, "storageLocation": "default", @@ -159804,7 +159694,7 @@ "typeString": "address" }, "typeName": { - "id": 5065, + "id": 5076, "name": "address", "nodeType": "ElementaryTypeName", "src": "155069:7:10", @@ -159819,7 +159709,7 @@ ], "src": "155068:19:10" }, - "scope": 5093, + "scope": 5104, "src": "154939:578:10", "stateMutability": "pure", "virtual": false, @@ -159827,7 +159717,7 @@ }, { "body": { - "id": 5079, + "id": 5090, "nodeType": "Block", "src": "155667:363:10", "statements": [ @@ -160077,40 +159967,40 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5075, + "declaration": 5086, "isOffset": false, "isSlot": false, "src": "155871:2:10", "valueSize": 1 }, { - "declaration": 5073, + "declaration": 5084, "isOffset": false, "isSlot": false, "src": "155844:4:10", "valueSize": 1 }, { - "declaration": 5073, + "declaration": 5084, "isOffset": false, "isSlot": false, "src": "155885:4:10", "valueSize": 1 } ], - "id": 5078, + "id": 5089, "nodeType": "InlineAssembly", "src": "155720:304:10" } ] }, "documentation": { - "id": 5071, + "id": 5082, "nodeType": "StructuredDocumentation", "src": "155523:74:10", "text": "@dev Requires that `salt` starts with either the zero address or `by`." }, - "id": 5080, + "id": 5091, "implemented": true, "kind": "function", "modifiers": [], @@ -160118,17 +160008,17 @@ "nameLocation": "155611:15:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 5076, + "id": 5087, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5073, + "id": 5084, "mutability": "mutable", "name": "salt", "nameLocation": "155635:4:10", "nodeType": "VariableDeclaration", - "scope": 5080, + "scope": 5091, "src": "155627:12:10", "stateVariable": false, "storageLocation": "default", @@ -160137,7 +160027,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 5072, + "id": 5083, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "155627:7:10", @@ -160150,12 +160040,12 @@ }, { "constant": false, - "id": 5075, + "id": 5086, "mutability": "mutable", "name": "by", "nameLocation": "155649:2:10", "nodeType": "VariableDeclaration", - "scope": 5080, + "scope": 5091, "src": "155641:10:10", "stateVariable": false, "storageLocation": "default", @@ -160164,7 +160054,7 @@ "typeString": "address" }, "typeName": { - "id": 5074, + "id": 5085, "name": "address", "nodeType": "ElementaryTypeName", "src": "155641:7:10", @@ -160180,12 +160070,12 @@ "src": "155626:26:10" }, "returnParameters": { - "id": 5077, + "id": 5088, "nodeType": "ParameterList", "parameters": [], "src": "155667:0:10" }, - "scope": 5093, + "scope": 5104, "src": "155602:428:10", "stateMutability": "pure", "virtual": false, @@ -160193,7 +160083,7 @@ }, { "body": { - "id": 5091, + "id": 5102, "nodeType": "Block", "src": "156295:137:10", "statements": [ @@ -160281,40 +160171,40 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5083, + "declaration": 5094, "isOffset": false, "isSlot": false, "src": "156395:4:10", "valueSize": 1 }, { - "declaration": 5085, + "declaration": 5096, "isOffset": false, "isSlot": false, "src": "156408:6:10", "valueSize": 1 }, { - "declaration": 5088, + "declaration": 5099, "isOffset": false, "isSlot": false, "src": "156371:6:10", "valueSize": 1 } ], - "id": 5090, + "id": 5101, "nodeType": "InlineAssembly", "src": "156348:78:10" } ] }, "documentation": { - "id": 5081, + "id": 5092, "nodeType": "StructuredDocumentation", "src": "156036:163:10", "text": "@dev Returns the `bytes32` at `offset` in `args`, without any bounds checks.\n To load an address, you can use `address(bytes20(argLoad(args, offset)))`." }, - "id": 5092, + "id": 5103, "implemented": true, "kind": "function", "modifiers": [], @@ -160322,17 +160212,17 @@ "nameLocation": "156213:7:10", "nodeType": "FunctionDefinition", "parameters": { - "id": 5086, + "id": 5097, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5083, + "id": 5094, "mutability": "mutable", "name": "args", "nameLocation": "156234:4:10", "nodeType": "VariableDeclaration", - "scope": 5092, + "scope": 5103, "src": "156221:17:10", "stateVariable": false, "storageLocation": "memory", @@ -160341,7 +160231,7 @@ "typeString": "bytes" }, "typeName": { - "id": 5082, + "id": 5093, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "156221:5:10", @@ -160354,12 +160244,12 @@ }, { "constant": false, - "id": 5085, + "id": 5096, "mutability": "mutable", "name": "offset", "nameLocation": "156248:6:10", "nodeType": "VariableDeclaration", - "scope": 5092, + "scope": 5103, "src": "156240:14:10", "stateVariable": false, "storageLocation": "default", @@ -160368,7 +160258,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5084, + "id": 5095, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "156240:7:10", @@ -160383,17 +160273,17 @@ "src": "156220:35:10" }, "returnParameters": { - "id": 5089, + "id": 5100, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5088, + "id": 5099, "mutability": "mutable", "name": "result", "nameLocation": "156287:6:10", "nodeType": "VariableDeclaration", - "scope": 5092, + "scope": 5103, "src": "156279:14:10", "stateVariable": false, "storageLocation": "default", @@ -160402,7 +160292,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 5087, + "id": 5098, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "156279:7:10", @@ -160416,19 +160306,19 @@ ], "src": "156278:16:10" }, - "scope": 5093, + "scope": 5104, "src": "156204:228:10", "stateMutability": "pure", "virtual": false, "visibility": "internal" } ], - "scope": 5094, + "scope": 5105, "src": "3756:152678:10", "usedErrors": [ - 3112, - 3115, - 3118 + 3123, + 3126, + 3129 ], "usedEvents": [] } @@ -160442,18 +160332,18 @@ "absolutePath": "solady/utils/LibString.sol", "exportedSymbols": { "LibBytes": [ - 3078 + 3089 ], "LibString": [ - 6134 + 6145 ] }, - "id": 6135, + "id": 6146, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 5095, + "id": 5106, "literals": [ "solidity", "^", @@ -160466,20 +160356,20 @@ { "absolutePath": "solady/utils/LibBytes.sol", "file": "./LibBytes.sol", - "id": 5097, + "id": 5108, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 6135, - "sourceUnit": 3079, + "scope": 6146, + "sourceUnit": 3090, "src": "57:40:11", "symbolAliases": [ { "foreign": { - "id": 5096, + "id": 5107, "name": "LibBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3078, + "referencedDeclaration": 3089, "src": "65:8:11", "typeDescriptions": {} }, @@ -160495,15 +160385,15 @@ "contractDependencies": [], "contractKind": "library", "documentation": { - "id": 5098, + "id": 5109, "nodeType": "StructuredDocumentation", "src": "99:591:11", "text": "@notice Library for converting numbers into strings and other string operations.\n @author Solady (https://github.com/vectorized/solady/blob/main/src/utils/LibString.sol)\n @author Modified from Solmate (https://github.com/transmissions11/solmate/blob/main/src/utils/LibString.sol)\n @dev Note:\n For performance and bytecode compactness, most of the string operations are restricted to\n byte strings (7-bit ASCII), except where otherwise specified.\n Usage of byte string operations on charsets with runes spanning two or more bytes\n can lead to undefined behavior." }, "fullyImplemented": true, - "id": 6134, + "id": 6145, "linearizedBaseContracts": [ - 6134 + 6145 ], "name": "LibString", "nameLocation": "698:9:11", @@ -160512,21 +160402,21 @@ { "canonicalName": "LibString.StringStorage", "documentation": { - "id": 5099, + "id": 5110, "nodeType": "StructuredDocumentation", "src": "997:237:11", "text": "@dev Goated string storage struct that totally MOGs, no cap, fr.\n Uses less gas and bytecode than Solidity's native string storage. It's meta af.\n Packs length with the first 31 bytes if <255 bytes, so it’s mad tight." }, - "id": 5102, + "id": 5113, "members": [ { "constant": false, - "id": 5101, + "id": 5112, "mutability": "mutable", "name": "_spacer", "nameLocation": "1278:7:11", "nodeType": "VariableDeclaration", - "scope": 5102, + "scope": 5113, "src": "1270:15:11", "stateVariable": false, "storageLocation": "default", @@ -160535,7 +160425,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 5100, + "id": 5111, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1270:7:11", @@ -160550,24 +160440,24 @@ "name": "StringStorage", "nameLocation": "1246:13:11", "nodeType": "StructDefinition", - "scope": 6134, + "scope": 6145, "src": "1239:53:11", "visibility": "public" }, { "documentation": { - "id": 5103, + "id": 5114, "nodeType": "StructuredDocumentation", "src": "1581:77:11", "text": "@dev The length of the output is too small to contain all the hex digits." }, "errorSelector": "2194895a", - "id": 5105, + "id": 5116, "name": "HexLengthInsufficient", "nameLocation": "1669:21:11", "nodeType": "ErrorDefinition", "parameters": { - "id": 5104, + "id": 5115, "nodeType": "ParameterList", "parameters": [], "src": "1690:2:11" @@ -160576,18 +160466,18 @@ }, { "documentation": { - "id": 5106, + "id": 5117, "nodeType": "StructuredDocumentation", "src": "1699:56:11", "text": "@dev The length of the string is more than 32 bytes." }, "errorSelector": "ec92f9a3", - "id": 5108, + "id": 5119, "name": "TooBigForSmallString", "nameLocation": "1766:20:11", "nodeType": "ErrorDefinition", "parameters": { - "id": 5107, + "id": 5118, "nodeType": "ParameterList", "parameters": [], "src": "1786:2:11" @@ -160596,18 +160486,18 @@ }, { "documentation": { - "id": 5109, + "id": 5120, "nodeType": "StructuredDocumentation", "src": "1795:48:11", "text": "@dev The input string must be a 7-bit ASCII." }, "errorSelector": "c9807e0d", - "id": 5111, + "id": 5122, "name": "StringNot7BitASCII", "nameLocation": "1854:18:11", "nodeType": "ErrorDefinition", "parameters": { - "id": 5110, + "id": 5121, "nodeType": "ParameterList", "parameters": [], "src": "1872:2:11" @@ -160617,17 +160507,17 @@ { "constant": true, "documentation": { - "id": 5112, + "id": 5123, "nodeType": "StructuredDocumentation", "src": "2164:76:11", "text": "@dev The constant returned when the `search` is not found in the string." }, - "id": 5119, + "id": 5130, "mutability": "constant", "name": "NOT_FOUND", "nameLocation": "2271:9:11", "nodeType": "VariableDeclaration", - "scope": 6134, + "scope": 6145, "src": "2245:55:11", "stateVariable": true, "storageLocation": "default", @@ -160636,7 +160526,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5113, + "id": 5124, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2245:7:11", @@ -160649,7 +160539,7 @@ "expression": { "arguments": [ { - "id": 5116, + "id": 5127, "isConstant": false, "isLValue": false, "isPure": true, @@ -160661,7 +160551,7 @@ "typeString": "type(uint256)" }, "typeName": { - "id": 5115, + "id": 5126, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2288:7:11", @@ -160676,7 +160566,7 @@ "typeString": "type(uint256)" } ], - "id": 5114, + "id": 5125, "name": "type", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -160687,7 +160577,7 @@ "typeString": "function () pure" } }, - "id": 5117, + "id": 5128, "isConstant": false, "isLValue": false, "isPure": true, @@ -160703,7 +160593,7 @@ "typeString": "type(uint256)" } }, - "id": 5118, + "id": 5129, "isConstant": false, "isLValue": false, "isPure": true, @@ -160722,17 +160612,17 @@ { "constant": true, "documentation": { - "id": 5120, + "id": 5131, "nodeType": "StructuredDocumentation", "src": "2307:85:11", "text": "@dev Lookup for '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'." }, - "id": 5123, + "id": 5134, "mutability": "constant", "name": "ALPHANUMERIC_7_BIT_ASCII", "nameLocation": "2423:24:11", "nodeType": "VariableDeclaration", - "scope": 6134, + "scope": 6145, "src": "2397:86:11", "stateVariable": true, "storageLocation": "default", @@ -160741,7 +160631,7 @@ "typeString": "uint128" }, "typeName": { - "id": 5121, + "id": 5132, "name": "uint128", "nodeType": "ElementaryTypeName", "src": "2397:7:11", @@ -160752,7 +160642,7 @@ }, "value": { "hexValue": "307837666666666665303766666666666530336666303030303030303030303030", - "id": 5122, + "id": 5133, "isConstant": false, "isLValue": false, "isPure": true, @@ -160771,17 +160661,17 @@ { "constant": true, "documentation": { - "id": 5124, + "id": 5135, "nodeType": "StructuredDocumentation", "src": "2490:75:11", "text": "@dev Lookup for 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'." }, - "id": 5127, + "id": 5138, "mutability": "constant", "name": "LETTERS_7_BIT_ASCII", "nameLocation": "2596:19:11", "nodeType": "VariableDeclaration", - "scope": 6134, + "scope": 6145, "src": "2570:81:11", "stateVariable": true, "storageLocation": "default", @@ -160790,7 +160680,7 @@ "typeString": "uint128" }, "typeName": { - "id": 5125, + "id": 5136, "name": "uint128", "nodeType": "ElementaryTypeName", "src": "2570:7:11", @@ -160801,7 +160691,7 @@ }, "value": { "hexValue": "307837666666666665303766666666666530303030303030303030303030303030", - "id": 5126, + "id": 5137, "isConstant": false, "isLValue": false, "isPure": true, @@ -160820,17 +160710,17 @@ { "constant": true, "documentation": { - "id": 5128, + "id": 5139, "nodeType": "StructuredDocumentation", "src": "2658:49:11", "text": "@dev Lookup for 'abcdefghijklmnopqrstuvwxyz'." }, - "id": 5131, + "id": 5142, "mutability": "constant", "name": "LOWERCASE_7_BIT_ASCII", "nameLocation": "2738:21:11", "nodeType": "VariableDeclaration", - "scope": 6134, + "scope": 6145, "src": "2712:83:11", "stateVariable": true, "storageLocation": "default", @@ -160839,7 +160729,7 @@ "typeString": "uint128" }, "typeName": { - "id": 5129, + "id": 5140, "name": "uint128", "nodeType": "ElementaryTypeName", "src": "2712:7:11", @@ -160850,7 +160740,7 @@ }, "value": { "hexValue": "307837666666666665303030303030303030303030303030303030303030303030", - "id": 5130, + "id": 5141, "isConstant": false, "isLValue": false, "isPure": true, @@ -160869,17 +160759,17 @@ { "constant": true, "documentation": { - "id": 5132, + "id": 5143, "nodeType": "StructuredDocumentation", "src": "2802:49:11", "text": "@dev Lookup for 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'." }, - "id": 5135, + "id": 5146, "mutability": "constant", "name": "UPPERCASE_7_BIT_ASCII", "nameLocation": "2882:21:11", "nodeType": "VariableDeclaration", - "scope": 6134, + "scope": 6145, "src": "2856:75:11", "stateVariable": true, "storageLocation": "default", @@ -160888,7 +160778,7 @@ "typeString": "uint128" }, "typeName": { - "id": 5133, + "id": 5144, "name": "uint128", "nodeType": "ElementaryTypeName", "src": "2856:7:11", @@ -160899,7 +160789,7 @@ }, "value": { "hexValue": "30783766666666666530303030303030303030303030303030", - "id": 5134, + "id": 5145, "isConstant": false, "isLValue": false, "isPure": true, @@ -160918,17 +160808,17 @@ { "constant": true, "documentation": { - "id": 5136, + "id": 5147, "nodeType": "StructuredDocumentation", "src": "2938:33:11", "text": "@dev Lookup for '0123456789'." }, - "id": 5139, + "id": 5150, "mutability": "constant", "name": "DIGITS_7_BIT_ASCII", "nameLocation": "3002:18:11", "nodeType": "VariableDeclaration", - "scope": 6134, + "scope": 6145, "src": "2976:64:11", "stateVariable": true, "storageLocation": "default", @@ -160937,7 +160827,7 @@ "typeString": "uint128" }, "typeName": { - "id": 5137, + "id": 5148, "name": "uint128", "nodeType": "ElementaryTypeName", "src": "2976:7:11", @@ -160948,7 +160838,7 @@ }, "value": { "hexValue": "3078336666303030303030303030303030", - "id": 5138, + "id": 5149, "isConstant": false, "isLValue": false, "isPure": true, @@ -160967,17 +160857,17 @@ { "constant": true, "documentation": { - "id": 5140, + "id": 5151, "nodeType": "StructuredDocumentation", "src": "3047:45:11", "text": "@dev Lookup for '0123456789abcdefABCDEF'." }, - "id": 5143, + "id": 5154, "mutability": "constant", "name": "HEXDIGITS_7_BIT_ASCII", "nameLocation": "3123:21:11", "nodeType": "VariableDeclaration", - "scope": 6134, + "scope": 6145, "src": "3097:78:11", "stateVariable": true, "storageLocation": "default", @@ -160986,7 +160876,7 @@ "typeString": "uint128" }, "typeName": { - "id": 5141, + "id": 5152, "name": "uint128", "nodeType": "ElementaryTypeName", "src": "3097:7:11", @@ -160997,7 +160887,7 @@ }, "value": { "hexValue": "30783765303030303030376530336666303030303030303030303030", - "id": 5142, + "id": 5153, "isConstant": false, "isLValue": false, "isPure": true, @@ -161016,17 +160906,17 @@ { "constant": true, "documentation": { - "id": 5144, + "id": 5155, "nodeType": "StructuredDocumentation", "src": "3182:31:11", "text": "@dev Lookup for '01234567'." }, - "id": 5147, + "id": 5158, "mutability": "constant", "name": "OCTDIGITS_7_BIT_ASCII", "nameLocation": "3244:21:11", "nodeType": "VariableDeclaration", - "scope": 6134, + "scope": 6145, "src": "3218:66:11", "stateVariable": true, "storageLocation": "default", @@ -161035,7 +160925,7 @@ "typeString": "uint128" }, "typeName": { - "id": 5145, + "id": 5156, "name": "uint128", "nodeType": "ElementaryTypeName", "src": "3218:7:11", @@ -161046,7 +160936,7 @@ }, "value": { "hexValue": "30786666303030303030303030303030", - "id": 5146, + "id": 5157, "isConstant": false, "isLValue": false, "isPure": true, @@ -161065,17 +160955,17 @@ { "constant": true, "documentation": { - "id": 5148, + "id": 5159, "nodeType": "StructuredDocumentation", "src": "3291:134:11", "text": "@dev Lookup for '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!\"#$%&\\'()*+,-./:;<=>?@[\\\\]^_`{|}~ \\t\\n\\r\\x0b\\x0c'." }, - "id": 5151, + "id": 5162, "mutability": "constant", "name": "PRINTABLE_7_BIT_ASCII", "nameLocation": "3456:21:11", "nodeType": "VariableDeclaration", - "scope": 6134, + "scope": 6145, "src": "3430:84:11", "stateVariable": true, "storageLocation": "default", @@ -161084,7 +160974,7 @@ "typeString": "uint128" }, "typeName": { - "id": 5149, + "id": 5160, "name": "uint128", "nodeType": "ElementaryTypeName", "src": "3430:7:11", @@ -161095,7 +160985,7 @@ }, "value": { "hexValue": "30783766666666666666666666666666666666666666666666663030303033653030", - "id": 5150, + "id": 5161, "isConstant": false, "isLValue": false, "isPure": true, @@ -161114,17 +161004,17 @@ { "constant": true, "documentation": { - "id": 5152, + "id": 5163, "nodeType": "StructuredDocumentation", "src": "3521:57:11", "text": "@dev Lookup for '!\"#$%&\\'()*+,-./:;<=>?@[\\\\]^_`{|}~'." }, - "id": 5155, + "id": 5166, "mutability": "constant", "name": "PUNCTUATION_7_BIT_ASCII", "nameLocation": "3609:23:11", "nodeType": "VariableDeclaration", - "scope": 6134, + "scope": 6145, "src": "3583:86:11", "stateVariable": true, "storageLocation": "default", @@ -161133,7 +161023,7 @@ "typeString": "uint128" }, "typeName": { - "id": 5153, + "id": 5164, "name": "uint128", "nodeType": "ElementaryTypeName", "src": "3583:7:11", @@ -161144,7 +161034,7 @@ }, "value": { "hexValue": "30783738303030303031663830303030303166633030666666653030303030303030", - "id": 5154, + "id": 5165, "isConstant": false, "isLValue": false, "isPure": true, @@ -161163,17 +161053,17 @@ { "constant": true, "documentation": { - "id": 5156, + "id": 5167, "nodeType": "StructuredDocumentation", "src": "3676:38:11", "text": "@dev Lookup for ' \\t\\n\\r\\x0b\\x0c'." }, - "id": 5159, + "id": 5170, "mutability": "constant", "name": "WHITESPACE_7_BIT_ASCII", "nameLocation": "3745:22:11", "nodeType": "VariableDeclaration", - "scope": 6134, + "scope": 6145, "src": "3719:62:11", "stateVariable": true, "storageLocation": "default", @@ -161182,7 +161072,7 @@ "typeString": "uint128" }, "typeName": { - "id": 5157, + "id": 5168, "name": "uint128", "nodeType": "ElementaryTypeName", "src": "3719:7:11", @@ -161193,7 +161083,7 @@ }, "value": { "hexValue": "3078313030303033653030", - "id": 5158, + "id": 5169, "isConstant": false, "isLValue": false, "isPure": true, @@ -161211,7 +161101,7 @@ }, { "body": { - "id": 5180, + "id": 5191, "nodeType": "Block", "src": "4197:56:11", "statements": [ @@ -161221,14 +161111,14 @@ { "arguments": [ { - "id": 5172, + "id": 5183, "name": "$", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5163, + "referencedDeclaration": 5174, "src": "4233:1:11", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$5113_storage_ptr", "typeString": "struct LibString.StringStorage storage pointer" } } @@ -161236,22 +161126,22 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$5113_storage_ptr", "typeString": "struct LibString.StringStorage storage pointer" } ], - "id": 5171, + "id": 5182, "name": "bytesStorage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5307, + "referencedDeclaration": 5318, "src": "4220:12:11", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_StringStorage_$5102_storage_ptr_$returns$_t_struct$_BytesStorage_$2579_storage_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_StringStorage_$5113_storage_ptr_$returns$_t_struct$_BytesStorage_$2590_storage_ptr_$", "typeString": "function (struct LibString.StringStorage storage pointer) pure returns (struct LibBytes.BytesStorage storage pointer)" } }, - "id": 5173, + "id": 5184, "isConstant": false, "isLValue": false, "isPure": false, @@ -161263,18 +161153,18 @@ "src": "4220:15:11", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$2590_storage_ptr", "typeString": "struct LibBytes.BytesStorage storage pointer" } }, { "arguments": [ { - "id": 5176, + "id": 5187, "name": "s", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5165, + "referencedDeclaration": 5176, "src": "4243:1:11", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -161289,7 +161179,7 @@ "typeString": "string memory" } ], - "id": 5175, + "id": 5186, "isConstant": false, "isLValue": false, "isPure": true, @@ -161301,14 +161191,14 @@ "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5174, + "id": 5185, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "4237:5:11", "typeDescriptions": {} } }, - "id": 5177, + "id": 5188, "isConstant": false, "isLValue": false, "isPure": false, @@ -161328,7 +161218,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$2590_storage_ptr", "typeString": "struct LibBytes.BytesStorage storage pointer" }, { @@ -161337,18 +161227,18 @@ } ], "expression": { - "id": 5168, + "id": 5179, "name": "LibBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3078, + "referencedDeclaration": 3089, "src": "4207:8:11", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytes_$3078_$", + "typeIdentifier": "t_type$_t_contract$_LibBytes_$3089_$", "typeString": "type(library LibBytes)" } }, - "id": 5170, + "id": 5181, "isConstant": false, "isLValue": false, "isPure": false, @@ -161356,14 +161246,14 @@ "memberLocation": "4216:3:11", "memberName": "set", "nodeType": "MemberAccess", - "referencedDeclaration": 2598, + "referencedDeclaration": 2609, "src": "4207:12:11", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_BytesStorage_$2579_storage_ptr_$_t_bytes_memory_ptr_$returns$__$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_BytesStorage_$2590_storage_ptr_$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (struct LibBytes.BytesStorage storage pointer,bytes memory)" } }, - "id": 5178, + "id": 5189, "isConstant": false, "isLValue": false, "isPure": false, @@ -161379,19 +161269,19 @@ "typeString": "tuple()" } }, - "id": 5179, + "id": 5190, "nodeType": "ExpressionStatement", "src": "4207:39:11" } ] }, "documentation": { - "id": 5160, + "id": 5171, "nodeType": "StructuredDocumentation", "src": "4071:57:11", "text": "@dev Sets the value of the string storage `$` to `s`." }, - "id": 5181, + "id": 5192, "implemented": true, "kind": "function", "modifiers": [], @@ -161399,41 +161289,41 @@ "nameLocation": "4142:3:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 5166, + "id": 5177, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5163, + "id": 5174, "mutability": "mutable", "name": "$", "nameLocation": "4168:1:11", "nodeType": "VariableDeclaration", - "scope": 5181, + "scope": 5192, "src": "4146:23:11", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$5113_storage_ptr", "typeString": "struct LibString.StringStorage" }, "typeName": { - "id": 5162, + "id": 5173, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 5161, + "id": 5172, "name": "StringStorage", "nameLocations": [ "4146:13:11" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 5102, + "referencedDeclaration": 5113, "src": "4146:13:11" }, - "referencedDeclaration": 5102, + "referencedDeclaration": 5113, "src": "4146:13:11", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$5113_storage_ptr", "typeString": "struct LibString.StringStorage" } }, @@ -161441,12 +161331,12 @@ }, { "constant": false, - "id": 5165, + "id": 5176, "mutability": "mutable", "name": "s", "nameLocation": "4185:1:11", "nodeType": "VariableDeclaration", - "scope": 5181, + "scope": 5192, "src": "4171:15:11", "stateVariable": false, "storageLocation": "memory", @@ -161455,7 +161345,7 @@ "typeString": "string" }, "typeName": { - "id": 5164, + "id": 5175, "name": "string", "nodeType": "ElementaryTypeName", "src": "4171:6:11", @@ -161470,12 +161360,12 @@ "src": "4145:42:11" }, "returnParameters": { - "id": 5167, + "id": 5178, "nodeType": "ParameterList", "parameters": [], "src": "4197:0:11" }, - "scope": 6134, + "scope": 6145, "src": "4133:120:11", "stateMutability": "nonpayable", "virtual": false, @@ -161483,7 +161373,7 @@ }, { "body": { - "id": 5202, + "id": 5213, "nodeType": "Block", "src": "4395:64:11", "statements": [ @@ -161493,14 +161383,14 @@ { "arguments": [ { - "id": 5194, + "id": 5205, "name": "$", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5185, + "referencedDeclaration": 5196, "src": "4439:1:11", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$5113_storage_ptr", "typeString": "struct LibString.StringStorage storage pointer" } } @@ -161508,22 +161398,22 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$5113_storage_ptr", "typeString": "struct LibString.StringStorage storage pointer" } ], - "id": 5193, + "id": 5204, "name": "bytesStorage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5307, + "referencedDeclaration": 5318, "src": "4426:12:11", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_StringStorage_$5102_storage_ptr_$returns$_t_struct$_BytesStorage_$2579_storage_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_StringStorage_$5113_storage_ptr_$returns$_t_struct$_BytesStorage_$2590_storage_ptr_$", "typeString": "function (struct LibString.StringStorage storage pointer) pure returns (struct LibBytes.BytesStorage storage pointer)" } }, - "id": 5195, + "id": 5206, "isConstant": false, "isLValue": false, "isPure": false, @@ -161535,18 +161425,18 @@ "src": "4426:15:11", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$2590_storage_ptr", "typeString": "struct LibBytes.BytesStorage storage pointer" } }, { "arguments": [ { - "id": 5198, + "id": 5209, "name": "s", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5187, + "referencedDeclaration": 5198, "src": "4449:1:11", "typeDescriptions": { "typeIdentifier": "t_string_calldata_ptr", @@ -161561,7 +161451,7 @@ "typeString": "string calldata" } ], - "id": 5197, + "id": 5208, "isConstant": false, "isLValue": false, "isPure": true, @@ -161573,14 +161463,14 @@ "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5196, + "id": 5207, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "4443:5:11", "typeDescriptions": {} } }, - "id": 5199, + "id": 5210, "isConstant": false, "isLValue": false, "isPure": false, @@ -161600,7 +161490,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$2590_storage_ptr", "typeString": "struct LibBytes.BytesStorage storage pointer" }, { @@ -161609,18 +161499,18 @@ } ], "expression": { - "id": 5190, + "id": 5201, "name": "LibBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3078, + "referencedDeclaration": 3089, "src": "4405:8:11", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytes_$3078_$", + "typeIdentifier": "t_type$_t_contract$_LibBytes_$3089_$", "typeString": "type(library LibBytes)" } }, - "id": 5192, + "id": 5203, "isConstant": false, "isLValue": false, "isPure": false, @@ -161628,14 +161518,14 @@ "memberLocation": "4414:11:11", "memberName": "setCalldata", "nodeType": "MemberAccess", - "referencedDeclaration": 2609, + "referencedDeclaration": 2620, "src": "4405:20:11", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_BytesStorage_$2579_storage_ptr_$_t_bytes_calldata_ptr_$returns$__$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_BytesStorage_$2590_storage_ptr_$_t_bytes_calldata_ptr_$returns$__$", "typeString": "function (struct LibBytes.BytesStorage storage pointer,bytes calldata)" } }, - "id": 5200, + "id": 5211, "isConstant": false, "isLValue": false, "isPure": false, @@ -161651,19 +161541,19 @@ "typeString": "tuple()" } }, - "id": 5201, + "id": 5212, "nodeType": "ExpressionStatement", "src": "4405:47:11" } ] }, "documentation": { - "id": 5182, + "id": 5193, "nodeType": "StructuredDocumentation", "src": "4259:57:11", "text": "@dev Sets the value of the string storage `$` to `s`." }, - "id": 5203, + "id": 5214, "implemented": true, "kind": "function", "modifiers": [], @@ -161671,41 +161561,41 @@ "nameLocation": "4330:11:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 5188, + "id": 5199, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5185, + "id": 5196, "mutability": "mutable", "name": "$", "nameLocation": "4364:1:11", "nodeType": "VariableDeclaration", - "scope": 5203, + "scope": 5214, "src": "4342:23:11", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$5113_storage_ptr", "typeString": "struct LibString.StringStorage" }, "typeName": { - "id": 5184, + "id": 5195, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 5183, + "id": 5194, "name": "StringStorage", "nameLocations": [ "4342:13:11" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 5102, + "referencedDeclaration": 5113, "src": "4342:13:11" }, - "referencedDeclaration": 5102, + "referencedDeclaration": 5113, "src": "4342:13:11", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$5113_storage_ptr", "typeString": "struct LibString.StringStorage" } }, @@ -161713,12 +161603,12 @@ }, { "constant": false, - "id": 5187, + "id": 5198, "mutability": "mutable", "name": "s", "nameLocation": "4383:1:11", "nodeType": "VariableDeclaration", - "scope": 5203, + "scope": 5214, "src": "4367:17:11", "stateVariable": false, "storageLocation": "calldata", @@ -161727,7 +161617,7 @@ "typeString": "string" }, "typeName": { - "id": 5186, + "id": 5197, "name": "string", "nodeType": "ElementaryTypeName", "src": "4367:6:11", @@ -161742,12 +161632,12 @@ "src": "4341:44:11" }, "returnParameters": { - "id": 5189, + "id": 5200, "nodeType": "ParameterList", "parameters": [], "src": "4395:0:11" }, - "scope": 6134, + "scope": 6145, "src": "4321:138:11", "stateMutability": "nonpayable", "virtual": false, @@ -161755,13 +161645,13 @@ }, { "body": { - "id": 5214, + "id": 5225, "nodeType": "Block", "src": "4589:33:11", "statements": [ { "expression": { - "id": 5212, + "id": 5223, "isConstant": false, "isLValue": false, "isPure": false, @@ -161772,18 +161662,18 @@ "src": "4599:16:11", "subExpression": { "expression": { - "id": 5210, + "id": 5221, "name": "$", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5207, + "referencedDeclaration": 5218, "src": "4606:1:11", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$5113_storage_ptr", "typeString": "struct LibString.StringStorage storage pointer" } }, - "id": 5211, + "id": 5222, "isConstant": false, "isLValue": true, "isPure": false, @@ -161791,7 +161681,7 @@ "memberLocation": "4608:7:11", "memberName": "_spacer", "nodeType": "MemberAccess", - "referencedDeclaration": 5101, + "referencedDeclaration": 5112, "src": "4606:9:11", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -161803,19 +161693,19 @@ "typeString": "tuple()" } }, - "id": 5213, + "id": 5224, "nodeType": "ExpressionStatement", "src": "4599:16:11" } ] }, "documentation": { - "id": 5204, + "id": 5215, "nodeType": "StructuredDocumentation", "src": "4465:70:11", "text": "@dev Sets the value of the string storage `$` to the empty string." }, - "id": 5215, + "id": 5226, "implemented": true, "kind": "function", "modifiers": [], @@ -161823,41 +161713,41 @@ "nameLocation": "4549:5:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 5208, + "id": 5219, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5207, + "id": 5218, "mutability": "mutable", "name": "$", "nameLocation": "4577:1:11", "nodeType": "VariableDeclaration", - "scope": 5215, + "scope": 5226, "src": "4555:23:11", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$5113_storage_ptr", "typeString": "struct LibString.StringStorage" }, "typeName": { - "id": 5206, + "id": 5217, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 5205, + "id": 5216, "name": "StringStorage", "nameLocations": [ "4555:13:11" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 5102, + "referencedDeclaration": 5113, "src": "4555:13:11" }, - "referencedDeclaration": 5102, + "referencedDeclaration": 5113, "src": "4555:13:11", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$5113_storage_ptr", "typeString": "struct LibString.StringStorage" } }, @@ -161867,12 +161757,12 @@ "src": "4554:25:11" }, "returnParameters": { - "id": 5209, + "id": 5220, "nodeType": "ParameterList", "parameters": [], "src": "4589:0:11" }, - "scope": 6134, + "scope": 6145, "src": "4540:82:11", "stateMutability": "nonpayable", "virtual": false, @@ -161880,7 +161770,7 @@ }, { "body": { - "id": 5237, + "id": 5248, "nodeType": "Block", "src": "4776:63:11", "statements": [ @@ -161890,7 +161780,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5235, + "id": 5246, "isConstant": false, "isLValue": false, "isPure": false, @@ -161900,7 +161790,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5230, + "id": 5241, "isConstant": false, "isLValue": false, "isPure": false, @@ -161909,18 +161799,18 @@ "arguments": [ { "expression": { - "id": 5226, + "id": 5237, "name": "$", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5219, + "referencedDeclaration": 5230, "src": "4801:1:11", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$5113_storage_ptr", "typeString": "struct LibString.StringStorage storage pointer" } }, - "id": 5227, + "id": 5238, "isConstant": false, "isLValue": true, "isPure": false, @@ -161928,7 +161818,7 @@ "memberLocation": "4803:7:11", "memberName": "_spacer", "nodeType": "MemberAccess", - "referencedDeclaration": 5101, + "referencedDeclaration": 5112, "src": "4801:9:11", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -161943,7 +161833,7 @@ "typeString": "bytes32" } ], - "id": 5225, + "id": 5236, "isConstant": false, "isLValue": false, "isPure": true, @@ -161955,14 +161845,14 @@ "typeString": "type(uint256)" }, "typeName": { - "id": 5224, + "id": 5235, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4793:7:11", "typeDescriptions": {} } }, - "id": 5228, + "id": 5239, "isConstant": false, "isLValue": false, "isPure": false, @@ -161982,7 +161872,7 @@ "operator": "&", "rightExpression": { "hexValue": "30786666", - "id": 5229, + "id": 5240, "isConstant": false, "isLValue": false, "isPure": true, @@ -162008,7 +161898,7 @@ "arguments": [ { "hexValue": "30", - "id": 5233, + "id": 5244, "isConstant": false, "isLValue": false, "isPure": true, @@ -162030,7 +161920,7 @@ "typeString": "int_const 0" } ], - "id": 5232, + "id": 5243, "isConstant": false, "isLValue": false, "isPure": true, @@ -162042,14 +161932,14 @@ "typeString": "type(uint256)" }, "typeName": { - "id": 5231, + "id": 5242, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4822:7:11", "typeDescriptions": {} } }, - "id": 5234, + "id": 5245, "isConstant": false, "isLValue": false, "isPure": true, @@ -162071,20 +161961,20 @@ "typeString": "bool" } }, - "functionReturnParameters": 5223, - "id": 5236, + "functionReturnParameters": 5234, + "id": 5247, "nodeType": "Return", "src": "4786:46:11" } ] }, "documentation": { - "id": 5216, + "id": 5227, "nodeType": "StructuredDocumentation", "src": "4628:72:11", "text": "@dev Returns whether the value stored is `$` is the empty string \"\"." }, - "id": 5238, + "id": 5249, "implemented": true, "kind": "function", "modifiers": [], @@ -162092,41 +161982,41 @@ "nameLocation": "4714:7:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 5220, + "id": 5231, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5219, + "id": 5230, "mutability": "mutable", "name": "$", "nameLocation": "4744:1:11", "nodeType": "VariableDeclaration", - "scope": 5238, + "scope": 5249, "src": "4722:23:11", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$5113_storage_ptr", "typeString": "struct LibString.StringStorage" }, "typeName": { - "id": 5218, + "id": 5229, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 5217, + "id": 5228, "name": "StringStorage", "nameLocations": [ "4722:13:11" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 5102, + "referencedDeclaration": 5113, "src": "4722:13:11" }, - "referencedDeclaration": 5102, + "referencedDeclaration": 5113, "src": "4722:13:11", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$5113_storage_ptr", "typeString": "struct LibString.StringStorage" } }, @@ -162136,17 +162026,17 @@ "src": "4721:25:11" }, "returnParameters": { - "id": 5223, + "id": 5234, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5222, + "id": 5233, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 5238, + "scope": 5249, "src": "4770:4:11", "stateVariable": false, "storageLocation": "default", @@ -162155,7 +162045,7 @@ "typeString": "bool" }, "typeName": { - "id": 5221, + "id": 5232, "name": "bool", "nodeType": "ElementaryTypeName", "src": "4770:4:11", @@ -162169,7 +162059,7 @@ ], "src": "4769:6:11" }, - "scope": 6134, + "scope": 6145, "src": "4705:134:11", "stateMutability": "view", "virtual": false, @@ -162177,7 +162067,7 @@ }, { "body": { - "id": 5254, + "id": 5265, "nodeType": "Block", "src": "4978:56:11", "statements": [ @@ -162187,14 +162077,14 @@ { "arguments": [ { - "id": 5250, + "id": 5261, "name": "$", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5242, + "referencedDeclaration": 5253, "src": "5024:1:11", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$5113_storage_ptr", "typeString": "struct LibString.StringStorage storage pointer" } } @@ -162202,22 +162092,22 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$5113_storage_ptr", "typeString": "struct LibString.StringStorage storage pointer" } ], - "id": 5249, + "id": 5260, "name": "bytesStorage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5307, + "referencedDeclaration": 5318, "src": "5011:12:11", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_StringStorage_$5102_storage_ptr_$returns$_t_struct$_BytesStorage_$2579_storage_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_StringStorage_$5113_storage_ptr_$returns$_t_struct$_BytesStorage_$2590_storage_ptr_$", "typeString": "function (struct LibString.StringStorage storage pointer) pure returns (struct LibBytes.BytesStorage storage pointer)" } }, - "id": 5251, + "id": 5262, "isConstant": false, "isLValue": false, "isPure": false, @@ -162229,7 +162119,7 @@ "src": "5011:15:11", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$2590_storage_ptr", "typeString": "struct LibBytes.BytesStorage storage pointer" } } @@ -162237,23 +162127,23 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$2590_storage_ptr", "typeString": "struct LibBytes.BytesStorage storage pointer" } ], "expression": { - "id": 5247, + "id": 5258, "name": "LibBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3078, + "referencedDeclaration": 3089, "src": "4995:8:11", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytes_$3078_$", + "typeIdentifier": "t_type$_t_contract$_LibBytes_$3089_$", "typeString": "type(library LibBytes)" } }, - "id": 5248, + "id": 5259, "isConstant": false, "isLValue": false, "isPure": false, @@ -162261,14 +162151,14 @@ "memberLocation": "5004:6:11", "memberName": "length", "nodeType": "MemberAccess", - "referencedDeclaration": 2663, + "referencedDeclaration": 2674, "src": "4995:15:11", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_BytesStorage_$2579_storage_ptr_$returns$_t_uint256_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_BytesStorage_$2590_storage_ptr_$returns$_t_uint256_$", "typeString": "function (struct LibBytes.BytesStorage storage pointer) view returns (uint256)" } }, - "id": 5252, + "id": 5263, "isConstant": false, "isLValue": false, "isPure": false, @@ -162284,20 +162174,20 @@ "typeString": "uint256" } }, - "functionReturnParameters": 5246, - "id": 5253, + "functionReturnParameters": 5257, + "id": 5264, "nodeType": "Return", "src": "4988:39:11" } ] }, "documentation": { - "id": 5239, + "id": 5250, "nodeType": "StructuredDocumentation", "src": "4845:55:11", "text": "@dev Returns the length of the value stored in `$`." }, - "id": 5255, + "id": 5266, "implemented": true, "kind": "function", "modifiers": [], @@ -162305,41 +162195,41 @@ "nameLocation": "4914:6:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 5243, + "id": 5254, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5242, + "id": 5253, "mutability": "mutable", "name": "$", "nameLocation": "4943:1:11", "nodeType": "VariableDeclaration", - "scope": 5255, + "scope": 5266, "src": "4921:23:11", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$5113_storage_ptr", "typeString": "struct LibString.StringStorage" }, "typeName": { - "id": 5241, + "id": 5252, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 5240, + "id": 5251, "name": "StringStorage", "nameLocations": [ "4921:13:11" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 5102, + "referencedDeclaration": 5113, "src": "4921:13:11" }, - "referencedDeclaration": 5102, + "referencedDeclaration": 5113, "src": "4921:13:11", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$5113_storage_ptr", "typeString": "struct LibString.StringStorage" } }, @@ -162349,17 +162239,17 @@ "src": "4920:25:11" }, "returnParameters": { - "id": 5246, + "id": 5257, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5245, + "id": 5256, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 5255, + "scope": 5266, "src": "4969:7:11", "stateVariable": false, "storageLocation": "default", @@ -162368,7 +162258,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5244, + "id": 5255, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4969:7:11", @@ -162382,7 +162272,7 @@ ], "src": "4968:9:11" }, - "scope": 6134, + "scope": 6145, "src": "4905:129:11", "stateMutability": "view", "virtual": false, @@ -162390,7 +162280,7 @@ }, { "body": { - "id": 5274, + "id": 5285, "nodeType": "Block", "src": "5162:61:11", "statements": [ @@ -162402,14 +162292,14 @@ { "arguments": [ { - "id": 5269, + "id": 5280, "name": "$", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5259, + "referencedDeclaration": 5270, "src": "5212:1:11", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$5113_storage_ptr", "typeString": "struct LibString.StringStorage storage pointer" } } @@ -162417,22 +162307,22 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$5113_storage_ptr", "typeString": "struct LibString.StringStorage storage pointer" } ], - "id": 5268, + "id": 5279, "name": "bytesStorage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5307, + "referencedDeclaration": 5318, "src": "5199:12:11", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_StringStorage_$5102_storage_ptr_$returns$_t_struct$_BytesStorage_$2579_storage_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_StringStorage_$5113_storage_ptr_$returns$_t_struct$_BytesStorage_$2590_storage_ptr_$", "typeString": "function (struct LibString.StringStorage storage pointer) pure returns (struct LibBytes.BytesStorage storage pointer)" } }, - "id": 5270, + "id": 5281, "isConstant": false, "isLValue": false, "isPure": false, @@ -162444,7 +162334,7 @@ "src": "5199:15:11", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$2590_storage_ptr", "typeString": "struct LibBytes.BytesStorage storage pointer" } } @@ -162452,23 +162342,23 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$2590_storage_ptr", "typeString": "struct LibBytes.BytesStorage storage pointer" } ], "expression": { - "id": 5266, + "id": 5277, "name": "LibBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3078, + "referencedDeclaration": 3089, "src": "5186:8:11", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytes_$3078_$", + "typeIdentifier": "t_type$_t_contract$_LibBytes_$3089_$", "typeString": "type(library LibBytes)" } }, - "id": 5267, + "id": 5278, "isConstant": false, "isLValue": false, "isPure": false, @@ -162476,14 +162366,14 @@ "memberLocation": "5195:3:11", "memberName": "get", "nodeType": "MemberAccess", - "referencedDeclaration": 2674, + "referencedDeclaration": 2685, "src": "5186:12:11", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_BytesStorage_$2579_storage_ptr_$returns$_t_bytes_memory_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_BytesStorage_$2590_storage_ptr_$returns$_t_bytes_memory_ptr_$", "typeString": "function (struct LibBytes.BytesStorage storage pointer) view returns (bytes memory)" } }, - "id": 5271, + "id": 5282, "isConstant": false, "isLValue": false, "isPure": false, @@ -162507,7 +162397,7 @@ "typeString": "bytes memory" } ], - "id": 5265, + "id": 5276, "isConstant": false, "isLValue": false, "isPure": true, @@ -162519,14 +162409,14 @@ "typeString": "type(string storage pointer)" }, "typeName": { - "id": 5264, + "id": 5275, "name": "string", "nodeType": "ElementaryTypeName", "src": "5179:6:11", "typeDescriptions": {} } }, - "id": 5272, + "id": 5283, "isConstant": false, "isLValue": false, "isPure": false, @@ -162542,20 +162432,20 @@ "typeString": "string memory" } }, - "functionReturnParameters": 5263, - "id": 5273, + "functionReturnParameters": 5274, + "id": 5284, "nodeType": "Return", "src": "5172:44:11" } ] }, "documentation": { - "id": 5256, + "id": 5267, "nodeType": "StructuredDocumentation", "src": "5040:41:11", "text": "@dev Returns the value stored in `$`." }, - "id": 5275, + "id": 5286, "implemented": true, "kind": "function", "modifiers": [], @@ -162563,41 +162453,41 @@ "nameLocation": "5095:3:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 5260, + "id": 5271, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5259, + "id": 5270, "mutability": "mutable", "name": "$", "nameLocation": "5121:1:11", "nodeType": "VariableDeclaration", - "scope": 5275, + "scope": 5286, "src": "5099:23:11", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$5113_storage_ptr", "typeString": "struct LibString.StringStorage" }, "typeName": { - "id": 5258, + "id": 5269, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 5257, + "id": 5268, "name": "StringStorage", "nameLocations": [ "5099:13:11" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 5102, + "referencedDeclaration": 5113, "src": "5099:13:11" }, - "referencedDeclaration": 5102, + "referencedDeclaration": 5113, "src": "5099:13:11", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$5113_storage_ptr", "typeString": "struct LibString.StringStorage" } }, @@ -162607,17 +162497,17 @@ "src": "5098:25:11" }, "returnParameters": { - "id": 5263, + "id": 5274, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5262, + "id": 5273, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 5275, + "scope": 5286, "src": "5147:13:11", "stateVariable": false, "storageLocation": "memory", @@ -162626,7 +162516,7 @@ "typeString": "string" }, "typeName": { - "id": 5261, + "id": 5272, "name": "string", "nodeType": "ElementaryTypeName", "src": "5147:6:11", @@ -162640,7 +162530,7 @@ ], "src": "5146:15:11" }, - "scope": 6134, + "scope": 6145, "src": "5086:137:11", "stateMutability": "view", "virtual": false, @@ -162648,7 +162538,7 @@ }, { "body": { - "id": 5294, + "id": 5305, "nodeType": "Block", "src": "5386:60:11", "statements": [ @@ -162658,14 +162548,14 @@ { "arguments": [ { - "id": 5289, + "id": 5300, "name": "$", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5279, + "referencedDeclaration": 5290, "src": "5433:1:11", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$5113_storage_ptr", "typeString": "struct LibString.StringStorage storage pointer" } } @@ -162673,22 +162563,22 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$5113_storage_ptr", "typeString": "struct LibString.StringStorage storage pointer" } ], - "id": 5288, + "id": 5299, "name": "bytesStorage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5307, + "referencedDeclaration": 5318, "src": "5420:12:11", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_StringStorage_$5102_storage_ptr_$returns$_t_struct$_BytesStorage_$2579_storage_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_StringStorage_$5113_storage_ptr_$returns$_t_struct$_BytesStorage_$2590_storage_ptr_$", "typeString": "function (struct LibString.StringStorage storage pointer) pure returns (struct LibBytes.BytesStorage storage pointer)" } }, - "id": 5290, + "id": 5301, "isConstant": false, "isLValue": false, "isPure": false, @@ -162700,16 +162590,16 @@ "src": "5420:15:11", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$2590_storage_ptr", "typeString": "struct LibBytes.BytesStorage storage pointer" } }, { - "id": 5291, + "id": 5302, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5281, + "referencedDeclaration": 5292, "src": "5437:1:11", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -162720,7 +162610,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$2590_storage_ptr", "typeString": "struct LibBytes.BytesStorage storage pointer" }, { @@ -162729,18 +162619,18 @@ } ], "expression": { - "id": 5286, + "id": 5297, "name": "LibBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3078, + "referencedDeclaration": 3089, "src": "5403:8:11", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytes_$3078_$", + "typeIdentifier": "t_type$_t_contract$_LibBytes_$3089_$", "typeString": "type(library LibBytes)" } }, - "id": 5287, + "id": 5298, "isConstant": false, "isLValue": false, "isPure": false, @@ -162748,14 +162638,14 @@ "memberLocation": "5412:7:11", "memberName": "uint8At", "nodeType": "MemberAccess", - "referencedDeclaration": 2687, + "referencedDeclaration": 2698, "src": "5403:16:11", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_BytesStorage_$2579_storage_ptr_$_t_uint256_$returns$_t_uint8_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_BytesStorage_$2590_storage_ptr_$_t_uint256_$returns$_t_uint8_$", "typeString": "function (struct LibBytes.BytesStorage storage pointer,uint256) view returns (uint8)" } }, - "id": 5292, + "id": 5303, "isConstant": false, "isLValue": false, "isPure": false, @@ -162771,20 +162661,20 @@ "typeString": "uint8" } }, - "functionReturnParameters": 5285, - "id": 5293, + "functionReturnParameters": 5296, + "id": 5304, "nodeType": "Return", "src": "5396:43:11" } ] }, "documentation": { - "id": 5276, + "id": 5287, "nodeType": "StructuredDocumentation", "src": "5229:69:11", "text": "@dev Returns the uint8 at index `i`. If out-of-bounds, returns 0." }, - "id": 5295, + "id": 5306, "implemented": true, "kind": "function", "modifiers": [], @@ -162792,41 +162682,41 @@ "nameLocation": "5312:7:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 5282, + "id": 5293, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5279, + "id": 5290, "mutability": "mutable", "name": "$", "nameLocation": "5342:1:11", "nodeType": "VariableDeclaration", - "scope": 5295, + "scope": 5306, "src": "5320:23:11", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$5113_storage_ptr", "typeString": "struct LibString.StringStorage" }, "typeName": { - "id": 5278, + "id": 5289, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 5277, + "id": 5288, "name": "StringStorage", "nameLocations": [ "5320:13:11" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 5102, + "referencedDeclaration": 5113, "src": "5320:13:11" }, - "referencedDeclaration": 5102, + "referencedDeclaration": 5113, "src": "5320:13:11", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$5113_storage_ptr", "typeString": "struct LibString.StringStorage" } }, @@ -162834,12 +162724,12 @@ }, { "constant": false, - "id": 5281, + "id": 5292, "mutability": "mutable", "name": "i", "nameLocation": "5353:1:11", "nodeType": "VariableDeclaration", - "scope": 5295, + "scope": 5306, "src": "5345:9:11", "stateVariable": false, "storageLocation": "default", @@ -162848,7 +162738,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5280, + "id": 5291, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5345:7:11", @@ -162863,17 +162753,17 @@ "src": "5319:36:11" }, "returnParameters": { - "id": 5285, + "id": 5296, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5284, + "id": 5295, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 5295, + "scope": 5306, "src": "5379:5:11", "stateVariable": false, "storageLocation": "default", @@ -162882,7 +162772,7 @@ "typeString": "uint8" }, "typeName": { - "id": 5283, + "id": 5294, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "5379:5:11", @@ -162896,7 +162786,7 @@ ], "src": "5378:7:11" }, - "scope": 6134, + "scope": 6145, "src": "5303:143:11", "stateMutability": "view", "virtual": false, @@ -162904,7 +162794,7 @@ }, { "body": { - "id": 5306, + "id": 5317, "nodeType": "Block", "src": "5641:113:11", "statements": [ @@ -162939,7 +162829,7 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5299, + "declaration": 5310, "isOffset": false, "isSlot": true, "src": "5732:6:11", @@ -162947,7 +162837,7 @@ "valueSize": 1 }, { - "declaration": 5303, + "declaration": 5314, "isOffset": false, "isSlot": true, "src": "5717:11:11", @@ -162955,19 +162845,19 @@ "valueSize": 1 } ], - "id": 5305, + "id": 5316, "nodeType": "InlineAssembly", "src": "5694:54:11" } ] }, "documentation": { - "id": 5296, + "id": 5307, "nodeType": "StructuredDocumentation", "src": "5452:48:11", "text": "@dev Helper to cast `$` to a `BytesStorage`." }, - "id": 5307, + "id": 5318, "implemented": true, "kind": "function", "modifiers": [], @@ -162975,41 +162865,41 @@ "nameLocation": "5514:12:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 5300, + "id": 5311, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5299, + "id": 5310, "mutability": "mutable", "name": "$", "nameLocation": "5549:1:11", "nodeType": "VariableDeclaration", - "scope": 5307, + "scope": 5318, "src": "5527:23:11", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$5113_storage_ptr", "typeString": "struct LibString.StringStorage" }, "typeName": { - "id": 5298, + "id": 5309, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 5297, + "id": 5308, "name": "StringStorage", "nameLocations": [ "5527:13:11" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 5102, + "referencedDeclaration": 5113, "src": "5527:13:11" }, - "referencedDeclaration": 5102, + "referencedDeclaration": 5113, "src": "5527:13:11", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringStorage_$5102_storage_ptr", + "typeIdentifier": "t_struct$_StringStorage_$5113_storage_ptr", "typeString": "struct LibString.StringStorage" } }, @@ -163019,42 +162909,42 @@ "src": "5526:25:11" }, "returnParameters": { - "id": 5304, + "id": 5315, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5303, + "id": 5314, "mutability": "mutable", "name": "casted", "nameLocation": "5629:6:11", "nodeType": "VariableDeclaration", - "scope": 5307, + "scope": 5318, "src": "5599:36:11", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$2590_storage_ptr", "typeString": "struct LibBytes.BytesStorage" }, "typeName": { - "id": 5302, + "id": 5313, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 5301, + "id": 5312, "name": "LibBytes.BytesStorage", "nameLocations": [ "5599:8:11", "5608:12:11" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 2579, + "referencedDeclaration": 2590, "src": "5599:21:11" }, - "referencedDeclaration": 2579, + "referencedDeclaration": 2590, "src": "5599:21:11", "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesStorage_$2579_storage_ptr", + "typeIdentifier": "t_struct$_BytesStorage_$2590_storage_ptr", "typeString": "struct LibBytes.BytesStorage" } }, @@ -163063,7 +162953,7 @@ ], "src": "5598:38:11" }, - "scope": 6134, + "scope": 6145, "src": "5505:249:11", "stateMutability": "pure", "virtual": false, @@ -163071,7 +162961,7 @@ }, { "body": { - "id": 5316, + "id": 5327, "nodeType": "Block", "src": "6189:1482:11", "statements": [ @@ -163630,103 +163520,103 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5313, + "declaration": 5324, "isOffset": false, "isSlot": false, "src": "6591:6:11", "valueSize": 1 }, { - "declaration": 5313, + "declaration": 5324, "isOffset": false, "isSlot": false, "src": "6653:6:11", "valueSize": 1 }, { - "declaration": 5313, + "declaration": 5324, "isOffset": false, "isSlot": false, "src": "6707:6:11", "valueSize": 1 }, { - "declaration": 5313, + "declaration": 5324, "isOffset": false, "isSlot": false, "src": "6780:6:11", "valueSize": 1 }, { - "declaration": 5313, + "declaration": 5324, "isOffset": false, "isSlot": false, "src": "7114:6:11", "valueSize": 1 }, { - "declaration": 5313, + "declaration": 5324, "isOffset": false, "isSlot": false, "src": "7128:6:11", "valueSize": 1 }, { - "declaration": 5313, + "declaration": 5324, "isOffset": false, "isSlot": false, "src": "7302:6:11", "valueSize": 1 }, { - "declaration": 5313, + "declaration": 5324, "isOffset": false, "isSlot": false, "src": "7494:6:11", "valueSize": 1 }, { - "declaration": 5313, + "declaration": 5324, "isOffset": false, "isSlot": false, "src": "7514:6:11", "valueSize": 1 }, { - "declaration": 5313, + "declaration": 5324, "isOffset": false, "isSlot": false, "src": "7528:6:11", "valueSize": 1 }, { - "declaration": 5313, + "declaration": 5324, "isOffset": false, "isSlot": false, "src": "7624:6:11", "valueSize": 1 }, { - "declaration": 5310, + "declaration": 5321, "isOffset": false, "isSlot": false, "src": "7083:5:11", "valueSize": 1 } ], - "id": 5315, + "id": 5326, "nodeType": "InlineAssembly", "src": "6242:1423:11" } ] }, "documentation": { - "id": 5308, + "id": 5319, "nodeType": "StructuredDocumentation", "src": "6043:63:11", "text": "@dev Returns the base 10 decimal representation of `value`." }, - "id": 5317, + "id": 5328, "implemented": true, "kind": "function", "modifiers": [], @@ -163734,17 +163624,17 @@ "nameLocation": "6120:8:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 5311, + "id": 5322, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5310, + "id": 5321, "mutability": "mutable", "name": "value", "nameLocation": "6137:5:11", "nodeType": "VariableDeclaration", - "scope": 5317, + "scope": 5328, "src": "6129:13:11", "stateVariable": false, "storageLocation": "default", @@ -163753,7 +163643,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5309, + "id": 5320, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "6129:7:11", @@ -163768,17 +163658,17 @@ "src": "6128:15:11" }, "returnParameters": { - "id": 5314, + "id": 5325, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5313, + "id": 5324, "mutability": "mutable", "name": "result", "nameLocation": "6181:6:11", "nodeType": "VariableDeclaration", - "scope": 5317, + "scope": 5328, "src": "6167:20:11", "stateVariable": false, "storageLocation": "memory", @@ -163787,7 +163677,7 @@ "typeString": "string" }, "typeName": { - "id": 5312, + "id": 5323, "name": "string", "nodeType": "ElementaryTypeName", "src": "6167:6:11", @@ -163801,7 +163691,7 @@ ], "src": "6166:22:11" }, - "scope": 6134, + "scope": 6145, "src": "6111:1560:11", "stateMutability": "pure", "virtual": false, @@ -163809,7 +163699,7 @@ }, { "body": { - "id": 5350, + "id": 5361, "nodeType": "Block", "src": "7822:630:11", "statements": [ @@ -163819,17 +163709,17 @@ "typeIdentifier": "t_int256", "typeString": "int256" }, - "id": 5327, + "id": 5338, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 5325, + "id": 5336, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5320, + "referencedDeclaration": 5331, "src": "7836:5:11", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -163840,7 +163730,7 @@ "operator": ">=", "rightExpression": { "hexValue": "30", - "id": 5326, + "id": 5337, "isConstant": false, "isLValue": false, "isPure": true, @@ -163860,7 +163750,7 @@ "typeString": "bool" } }, - "id": 5335, + "id": 5346, "nodeType": "IfStatement", "src": "7832:47:11", "trueBody": { @@ -163869,11 +163759,11 @@ { "arguments": [ { - "id": 5331, + "id": 5342, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5320, + "referencedDeclaration": 5331, "src": "7872:5:11", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -163888,7 +163778,7 @@ "typeString": "int256" } ], - "id": 5330, + "id": 5341, "isConstant": false, "isLValue": false, "isPure": true, @@ -163900,14 +163790,14 @@ "typeString": "type(uint256)" }, "typeName": { - "id": 5329, + "id": 5340, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "7864:7:11", "typeDescriptions": {} } }, - "id": 5332, + "id": 5343, "isConstant": false, "isLValue": false, "isPure": false, @@ -163931,21 +163821,21 @@ "typeString": "uint256" } ], - "id": 5328, + "id": 5339, "name": "toString", "nodeType": "Identifier", "overloadedDeclarations": [ - 5317, - 5351 + 5328, + 5362 ], - "referencedDeclaration": 5317, + "referencedDeclaration": 5328, "src": "7855:8:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$", "typeString": "function (uint256) pure returns (string memory)" } }, - "id": 5333, + "id": 5344, "isConstant": false, "isLValue": false, "isPure": false, @@ -163961,30 +163851,30 @@ "typeString": "string memory" } }, - "functionReturnParameters": 5324, - "id": 5334, + "functionReturnParameters": 5335, + "id": 5345, "nodeType": "Return", "src": "7848:31:11" } }, { - "id": 5348, + "id": 5359, "nodeType": "UncheckedBlock", "src": "7889:73:11", "statements": [ { "expression": { - "id": 5346, + "id": 5357, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 5336, + "id": 5347, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5323, + "referencedDeclaration": 5334, "src": "7913:6:11", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -164000,13 +163890,13 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5344, + "id": 5355, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 5342, + "id": 5353, "isConstant": false, "isLValue": false, "isPure": false, @@ -164018,11 +163908,11 @@ "subExpression": { "arguments": [ { - "id": 5340, + "id": 5351, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5320, + "referencedDeclaration": 5331, "src": "7940:5:11", "typeDescriptions": { "typeIdentifier": "t_int256", @@ -164037,7 +163927,7 @@ "typeString": "int256" } ], - "id": 5339, + "id": 5350, "isConstant": false, "isLValue": false, "isPure": true, @@ -164049,14 +163939,14 @@ "typeString": "type(uint256)" }, "typeName": { - "id": 5338, + "id": 5349, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "7932:7:11", "typeDescriptions": {} } }, - "id": 5341, + "id": 5352, "isConstant": false, "isLValue": false, "isPure": false, @@ -164081,7 +163971,7 @@ "operator": "+", "rightExpression": { "hexValue": "31", - "id": 5343, + "id": 5354, "isConstant": false, "isLValue": false, "isPure": true, @@ -164109,21 +163999,21 @@ "typeString": "uint256" } ], - "id": 5337, + "id": 5348, "name": "toString", "nodeType": "Identifier", "overloadedDeclarations": [ - 5317, - 5351 + 5328, + 5362 ], - "referencedDeclaration": 5317, + "referencedDeclaration": 5328, "src": "7922:8:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$", "typeString": "function (uint256) pure returns (string memory)" } }, - "id": 5345, + "id": 5356, "isConstant": false, "isLValue": false, "isPure": false, @@ -164145,7 +164035,7 @@ "typeString": "string memory" } }, - "id": 5347, + "id": 5358, "nodeType": "ExpressionStatement", "src": "7913:38:11" } @@ -164319,54 +164209,54 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5323, + "declaration": 5334, "isOffset": false, "isSlot": false, "src": "8194:6:11", "valueSize": 1 }, { - "declaration": 5323, + "declaration": 5334, "isOffset": false, "isSlot": false, "src": "8248:6:11", "valueSize": 1 }, { - "declaration": 5323, + "declaration": 5334, "isOffset": false, "isSlot": false, "src": "8302:6:11", "valueSize": 1 }, { - "declaration": 5323, + "declaration": 5334, "isOffset": false, "isSlot": false, "src": "8316:6:11", "valueSize": 1 }, { - "declaration": 5323, + "declaration": 5334, "isOffset": false, "isSlot": false, "src": "8389:6:11", "valueSize": 1 } ], - "id": 5349, + "id": 5360, "nodeType": "InlineAssembly", "src": "8014:432:11" } ] }, "documentation": { - "id": 5318, + "id": 5329, "nodeType": "StructuredDocumentation", "src": "7677:63:11", "text": "@dev Returns the base 10 decimal representation of `value`." }, - "id": 5351, + "id": 5362, "implemented": true, "kind": "function", "modifiers": [], @@ -164374,17 +164264,17 @@ "nameLocation": "7754:8:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 5321, + "id": 5332, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5320, + "id": 5331, "mutability": "mutable", "name": "value", "nameLocation": "7770:5:11", "nodeType": "VariableDeclaration", - "scope": 5351, + "scope": 5362, "src": "7763:12:11", "stateVariable": false, "storageLocation": "default", @@ -164393,7 +164283,7 @@ "typeString": "int256" }, "typeName": { - "id": 5319, + "id": 5330, "name": "int256", "nodeType": "ElementaryTypeName", "src": "7763:6:11", @@ -164408,17 +164298,17 @@ "src": "7762:14:11" }, "returnParameters": { - "id": 5324, + "id": 5335, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5323, + "id": 5334, "mutability": "mutable", "name": "result", "nameLocation": "7814:6:11", "nodeType": "VariableDeclaration", - "scope": 5351, + "scope": 5362, "src": "7800:20:11", "stateVariable": false, "storageLocation": "memory", @@ -164427,7 +164317,7 @@ "typeString": "string" }, "typeName": { - "id": 5322, + "id": 5333, "name": "string", "nodeType": "ElementaryTypeName", "src": "7800:6:11", @@ -164441,7 +164331,7 @@ ], "src": "7799:22:11" }, - "scope": 6134, + "scope": 6145, "src": "7745:707:11", "stateMutability": "pure", "virtual": false, @@ -164449,23 +164339,23 @@ }, { "body": { - "id": 5369, + "id": 5380, "nodeType": "Block", "src": "9226:371:11", "statements": [ { "expression": { - "id": 5366, + "id": 5377, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 5361, + "id": 5372, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5359, + "referencedDeclaration": 5370, "src": "9236:6:11", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -164477,11 +164367,11 @@ "rightHandSide": { "arguments": [ { - "id": 5363, + "id": 5374, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5354, + "referencedDeclaration": 5365, "src": "9265:5:11", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -164489,11 +164379,11 @@ } }, { - "id": 5364, + "id": 5375, "name": "byteCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5356, + "referencedDeclaration": 5367, "src": "9272:9:11", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -164512,23 +164402,23 @@ "typeString": "uint256" } ], - "id": 5362, + "id": 5373, "name": "toHexStringNoPrefix", "nodeType": "Identifier", "overloadedDeclarations": [ - 5382, - 5440, - 5482, - 5508 + 5393, + 5451, + 5493, + 5519 ], - "referencedDeclaration": 5382, + "referencedDeclaration": 5393, "src": "9245:19:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$", "typeString": "function (uint256,uint256) pure returns (string memory)" } }, - "id": 5365, + "id": 5376, "isConstant": false, "isLValue": false, "isPure": false, @@ -164550,7 +164440,7 @@ "typeString": "string memory" } }, - "id": 5367, + "id": 5378, "nodeType": "ExpressionStatement", "src": "9236:46:11" }, @@ -164722,54 +164612,54 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5359, + "declaration": 5370, "isOffset": false, "isSlot": false, "src": "9377:6:11", "valueSize": 1 }, { - "declaration": 5359, + "declaration": 5370, "isOffset": false, "isSlot": false, "src": "9431:6:11", "valueSize": 1 }, { - "declaration": 5359, + "declaration": 5370, "isOffset": false, "isSlot": false, "src": "9485:6:11", "valueSize": 1 }, { - "declaration": 5359, + "declaration": 5370, "isOffset": false, "isSlot": false, "src": "9499:6:11", "valueSize": 1 }, { - "declaration": 5359, + "declaration": 5370, "isOffset": false, "isSlot": false, "src": "9550:6:11", "valueSize": 1 } ], - "id": 5368, + "id": 5379, "nodeType": "InlineAssembly", "src": "9335:256:11" } ] }, "documentation": { - "id": 5352, + "id": 5363, "nodeType": "StructuredDocumentation", "src": "8741:352:11", "text": "@dev Returns the hexadecimal representation of `value`,\n left-padded to an input length of `byteCount` bytes.\n The output is prefixed with \"0x\" encoded using 2 hexadecimal digits per byte,\n giving a total length of `byteCount * 2 + 2` bytes.\n Reverts if `byteCount` is too small for the output to contain all the digits." }, - "id": 5370, + "id": 5381, "implemented": true, "kind": "function", "modifiers": [], @@ -164777,17 +164667,17 @@ "nameLocation": "9107:11:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 5357, + "id": 5368, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5354, + "id": 5365, "mutability": "mutable", "name": "value", "nameLocation": "9127:5:11", "nodeType": "VariableDeclaration", - "scope": 5370, + "scope": 5381, "src": "9119:13:11", "stateVariable": false, "storageLocation": "default", @@ -164796,7 +164686,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5353, + "id": 5364, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "9119:7:11", @@ -164809,12 +164699,12 @@ }, { "constant": false, - "id": 5356, + "id": 5367, "mutability": "mutable", "name": "byteCount", "nameLocation": "9142:9:11", "nodeType": "VariableDeclaration", - "scope": 5370, + "scope": 5381, "src": "9134:17:11", "stateVariable": false, "storageLocation": "default", @@ -164823,7 +164713,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5355, + "id": 5366, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "9134:7:11", @@ -164838,17 +164728,17 @@ "src": "9118:34:11" }, "returnParameters": { - "id": 5360, + "id": 5371, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5359, + "id": 5370, "mutability": "mutable", "name": "result", "nameLocation": "9214:6:11", "nodeType": "VariableDeclaration", - "scope": 5370, + "scope": 5381, "src": "9200:20:11", "stateVariable": false, "storageLocation": "memory", @@ -164857,7 +164747,7 @@ "typeString": "string" }, "typeName": { - "id": 5358, + "id": 5369, "name": "string", "nodeType": "ElementaryTypeName", "src": "9200:6:11", @@ -164871,7 +164761,7 @@ ], "src": "9199:22:11" }, - "scope": 6134, + "scope": 6145, "src": "9098:499:11", "stateMutability": "pure", "virtual": false, @@ -164879,7 +164769,7 @@ }, { "body": { - "id": 5381, + "id": 5392, "nodeType": "Block", "src": "10103:1689:11", "statements": [ @@ -165806,145 +165696,145 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5375, + "declaration": 5386, "isOffset": false, "isSlot": false, "src": "10527:9:11", "valueSize": 1 }, { - "declaration": 5375, + "declaration": 5386, "isOffset": false, "isSlot": false, "src": "10930:9:11", "valueSize": 1 }, { - "declaration": 5375, + "declaration": 5386, "isOffset": false, "isSlot": false, "src": "10941:9:11", "valueSize": 1 }, { - "declaration": 5378, + "declaration": 5389, "isOffset": false, "isSlot": false, "src": "10485:6:11", "valueSize": 1 }, { - "declaration": 5378, + "declaration": 5389, "isOffset": false, "isSlot": false, "src": "10587:6:11", "valueSize": 1 }, { - "declaration": 5378, + "declaration": 5389, "isOffset": false, "isSlot": false, "src": "10641:6:11", "valueSize": 1 }, { - "declaration": 5378, + "declaration": 5389, "isOffset": false, "isSlot": false, "src": "10714:6:11", "valueSize": 1 }, { - "declaration": 5378, + "declaration": 5389, "isOffset": false, "isSlot": false, "src": "10918:6:11", "valueSize": 1 }, { - "declaration": 5378, + "declaration": 5389, "isOffset": false, "isSlot": false, "src": "11229:6:11", "valueSize": 1 }, { - "declaration": 5378, + "declaration": 5389, "isOffset": false, "isSlot": false, "src": "11243:6:11", "valueSize": 1 }, { - "declaration": 5378, + "declaration": 5389, "isOffset": false, "isSlot": false, "src": "11303:6:11", "valueSize": 1 }, { - "declaration": 5378, + "declaration": 5389, "isOffset": false, "isSlot": false, "src": "11361:6:11", "valueSize": 1 }, { - "declaration": 5378, + "declaration": 5389, "isOffset": false, "isSlot": false, "src": "11466:6:11", "valueSize": 1 }, { - "declaration": 5378, + "declaration": 5389, "isOffset": false, "isSlot": false, "src": "11678:6:11", "valueSize": 1 }, { - "declaration": 5378, + "declaration": 5389, "isOffset": false, "isSlot": false, "src": "11698:6:11", "valueSize": 1 }, { - "declaration": 5378, + "declaration": 5389, "isOffset": false, "isSlot": false, "src": "11712:6:11", "valueSize": 1 }, { - "declaration": 5378, + "declaration": 5389, "isOffset": false, "isSlot": false, "src": "11745:6:11", "valueSize": 1 }, { - "declaration": 5373, + "declaration": 5384, "isOffset": false, "isSlot": false, "src": "11013:5:11", "valueSize": 1 } ], - "id": 5380, + "id": 5391, "nodeType": "InlineAssembly", "src": "10156:1630:11" } ] }, "documentation": { - "id": 5371, + "id": 5382, "nodeType": "StructuredDocumentation", "src": "9603:359:11", "text": "@dev Returns the hexadecimal representation of `value`,\n left-padded to an input length of `byteCount` bytes.\n The output is not prefixed with \"0x\" and is encoded using 2 hexadecimal digits per byte,\n giving a total length of `byteCount * 2` bytes.\n Reverts if `byteCount` is too small for the output to contain all the digits." }, - "id": 5382, + "id": 5393, "implemented": true, "kind": "function", "modifiers": [], @@ -165952,17 +165842,17 @@ "nameLocation": "9976:19:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 5376, + "id": 5387, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5373, + "id": 5384, "mutability": "mutable", "name": "value", "nameLocation": "10004:5:11", "nodeType": "VariableDeclaration", - "scope": 5382, + "scope": 5393, "src": "9996:13:11", "stateVariable": false, "storageLocation": "default", @@ -165971,7 +165861,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5372, + "id": 5383, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "9996:7:11", @@ -165984,12 +165874,12 @@ }, { "constant": false, - "id": 5375, + "id": 5386, "mutability": "mutable", "name": "byteCount", "nameLocation": "10019:9:11", "nodeType": "VariableDeclaration", - "scope": 5382, + "scope": 5393, "src": "10011:17:11", "stateVariable": false, "storageLocation": "default", @@ -165998,7 +165888,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5374, + "id": 5385, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "10011:7:11", @@ -166013,17 +165903,17 @@ "src": "9995:34:11" }, "returnParameters": { - "id": 5379, + "id": 5390, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5378, + "id": 5389, "mutability": "mutable", "name": "result", "nameLocation": "10091:6:11", "nodeType": "VariableDeclaration", - "scope": 5382, + "scope": 5393, "src": "10077:20:11", "stateVariable": false, "storageLocation": "memory", @@ -166032,7 +165922,7 @@ "typeString": "string" }, "typeName": { - "id": 5377, + "id": 5388, "name": "string", "nodeType": "ElementaryTypeName", "src": "10077:6:11", @@ -166046,7 +165936,7 @@ ], "src": "10076:22:11" }, - "scope": 6134, + "scope": 6145, "src": "9967:1825:11", "stateMutability": "pure", "virtual": false, @@ -166054,23 +165944,23 @@ }, { "body": { - "id": 5397, + "id": 5408, "nodeType": "Block", "src": "12147:360:11", "statements": [ { "expression": { - "id": 5394, + "id": 5405, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 5390, + "id": 5401, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5388, + "referencedDeclaration": 5399, "src": "12157:6:11", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -166082,11 +165972,11 @@ "rightHandSide": { "arguments": [ { - "id": 5392, + "id": 5403, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5385, + "referencedDeclaration": 5396, "src": "12186:5:11", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -166101,23 +165991,23 @@ "typeString": "uint256" } ], - "id": 5391, + "id": 5402, "name": "toHexStringNoPrefix", "nodeType": "Identifier", "overloadedDeclarations": [ - 5382, - 5440, - 5482, - 5508 + 5393, + 5451, + 5493, + 5519 ], - "referencedDeclaration": 5440, + "referencedDeclaration": 5451, "src": "12166:19:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$", "typeString": "function (uint256) pure returns (string memory)" } }, - "id": 5393, + "id": 5404, "isConstant": false, "isLValue": false, "isPure": false, @@ -166139,7 +166029,7 @@ "typeString": "string memory" } }, - "id": 5395, + "id": 5406, "nodeType": "ExpressionStatement", "src": "12157:35:11" }, @@ -166311,54 +166201,54 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5388, + "declaration": 5399, "isOffset": false, "isSlot": false, "src": "12287:6:11", "valueSize": 1 }, { - "declaration": 5388, + "declaration": 5399, "isOffset": false, "isSlot": false, "src": "12341:6:11", "valueSize": 1 }, { - "declaration": 5388, + "declaration": 5399, "isOffset": false, "isSlot": false, "src": "12395:6:11", "valueSize": 1 }, { - "declaration": 5388, + "declaration": 5399, "isOffset": false, "isSlot": false, "src": "12409:6:11", "valueSize": 1 }, { - "declaration": 5388, + "declaration": 5399, "isOffset": false, "isSlot": false, "src": "12460:6:11", "valueSize": 1 } ], - "id": 5396, + "id": 5407, "nodeType": "InlineAssembly", "src": "12245:256:11" } ] }, "documentation": { - "id": 5383, + "id": 5394, "nodeType": "StructuredDocumentation", "src": "11798:263:11", "text": "@dev Returns the hexadecimal representation of `value`.\n The output is prefixed with \"0x\" and encoded using 2 hexadecimal digits per byte.\n As address are 20 bytes long, the output will left-padded to have\n a length of `20 * 2 + 2` bytes." }, - "id": 5398, + "id": 5409, "implemented": true, "kind": "function", "modifiers": [], @@ -166366,17 +166256,17 @@ "nameLocation": "12075:11:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 5386, + "id": 5397, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5385, + "id": 5396, "mutability": "mutable", "name": "value", "nameLocation": "12095:5:11", "nodeType": "VariableDeclaration", - "scope": 5398, + "scope": 5409, "src": "12087:13:11", "stateVariable": false, "storageLocation": "default", @@ -166385,7 +166275,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5384, + "id": 5395, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "12087:7:11", @@ -166400,17 +166290,17 @@ "src": "12086:15:11" }, "returnParameters": { - "id": 5389, + "id": 5400, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5388, + "id": 5399, "mutability": "mutable", "name": "result", "nameLocation": "12139:6:11", "nodeType": "VariableDeclaration", - "scope": 5398, + "scope": 5409, "src": "12125:20:11", "stateVariable": false, "storageLocation": "memory", @@ -166419,7 +166309,7 @@ "typeString": "string" }, "typeName": { - "id": 5387, + "id": 5398, "name": "string", "nodeType": "ElementaryTypeName", "src": "12125:6:11", @@ -166433,7 +166323,7 @@ ], "src": "12124:22:11" }, - "scope": 6134, + "scope": 6145, "src": "12066:441:11", "stateMutability": "pure", "virtual": false, @@ -166441,23 +166331,23 @@ }, { "body": { - "id": 5413, + "id": 5424, "nodeType": "Block", "src": "12844:572:11", "statements": [ { "expression": { - "id": 5410, + "id": 5421, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 5406, + "id": 5417, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5404, + "referencedDeclaration": 5415, "src": "12854:6:11", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -166469,11 +166359,11 @@ "rightHandSide": { "arguments": [ { - "id": 5408, + "id": 5419, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5401, + "referencedDeclaration": 5412, "src": "12883:5:11", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -166488,23 +166378,23 @@ "typeString": "uint256" } ], - "id": 5407, + "id": 5418, "name": "toHexStringNoPrefix", "nodeType": "Identifier", "overloadedDeclarations": [ - 5382, - 5440, - 5482, - 5508 + 5393, + 5451, + 5493, + 5519 ], - "referencedDeclaration": 5440, + "referencedDeclaration": 5451, "src": "12863:19:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$", "typeString": "function (uint256) pure returns (string memory)" } }, - "id": 5409, + "id": 5420, "isConstant": false, "isLValue": false, "isPure": false, @@ -166526,7 +166416,7 @@ "typeString": "string memory" } }, - "id": 5411, + "id": 5422, "nodeType": "ExpressionStatement", "src": "12854:35:11" }, @@ -166851,61 +166741,61 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5404, + "declaration": 5415, "isOffset": false, "isSlot": false, "src": "12995:6:11", "valueSize": 1 }, { - "declaration": 5404, + "declaration": 5415, "isOffset": false, "isSlot": false, "src": "13085:6:11", "valueSize": 1 }, { - "declaration": 5404, + "declaration": 5415, "isOffset": false, "isSlot": false, "src": "13143:6:11", "valueSize": 1 }, { - "declaration": 5404, + "declaration": 5415, "isOffset": false, "isSlot": false, "src": "13230:6:11", "valueSize": 1 }, { - "declaration": 5404, + "declaration": 5415, "isOffset": false, "isSlot": false, "src": "13248:6:11", "valueSize": 1 }, { - "declaration": 5404, + "declaration": 5415, "isOffset": false, "isSlot": false, "src": "13332:6:11", "valueSize": 1 } ], - "id": 5412, + "id": 5423, "nodeType": "InlineAssembly", "src": "12942:468:11" } ] }, "documentation": { - "id": 5399, + "id": 5410, "nodeType": "StructuredDocumentation", "src": "12513:238:11", "text": "@dev Returns the hexadecimal representation of `value`.\n The output is prefixed with \"0x\".\n The output excludes leading \"0\" from the `toHexString` output.\n `0x00: \"0x0\", 0x01: \"0x1\", 0x12: \"0x12\", 0x123: \"0x123\"`." }, - "id": 5414, + "id": 5425, "implemented": true, "kind": "function", "modifiers": [], @@ -166913,17 +166803,17 @@ "nameLocation": "12765:18:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 5402, + "id": 5413, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5401, + "id": 5412, "mutability": "mutable", "name": "value", "nameLocation": "12792:5:11", "nodeType": "VariableDeclaration", - "scope": 5414, + "scope": 5425, "src": "12784:13:11", "stateVariable": false, "storageLocation": "default", @@ -166932,7 +166822,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5400, + "id": 5411, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "12784:7:11", @@ -166947,17 +166837,17 @@ "src": "12783:15:11" }, "returnParameters": { - "id": 5405, + "id": 5416, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5404, + "id": 5415, "mutability": "mutable", "name": "result", "nameLocation": "12836:6:11", "nodeType": "VariableDeclaration", - "scope": 5414, + "scope": 5425, "src": "12822:20:11", "stateVariable": false, "storageLocation": "memory", @@ -166966,7 +166856,7 @@ "typeString": "string" }, "typeName": { - "id": 5403, + "id": 5414, "name": "string", "nodeType": "ElementaryTypeName", "src": "12822:6:11", @@ -166980,7 +166870,7 @@ ], "src": "12821:22:11" }, - "scope": 6134, + "scope": 6145, "src": "12756:660:11", "stateMutability": "pure", "virtual": false, @@ -166988,23 +166878,23 @@ }, { "body": { - "id": 5429, + "id": 5440, "nodeType": "Block", "src": "13747:454:11", "statements": [ { "expression": { - "id": 5426, + "id": 5437, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 5422, + "id": 5433, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5420, + "referencedDeclaration": 5431, "src": "13757:6:11", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -167016,11 +166906,11 @@ "rightHandSide": { "arguments": [ { - "id": 5424, + "id": 5435, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5417, + "referencedDeclaration": 5428, "src": "13786:5:11", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -167035,23 +166925,23 @@ "typeString": "uint256" } ], - "id": 5423, + "id": 5434, "name": "toHexStringNoPrefix", "nodeType": "Identifier", "overloadedDeclarations": [ - 5382, - 5440, - 5482, - 5508 + 5393, + 5451, + 5493, + 5519 ], - "referencedDeclaration": 5440, + "referencedDeclaration": 5451, "src": "13766:19:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$", "typeString": "function (uint256) pure returns (string memory)" } }, - "id": 5425, + "id": 5436, "isConstant": false, "isLValue": false, "isPure": false, @@ -167073,7 +166963,7 @@ "typeString": "string memory" } }, - "id": 5427, + "id": 5438, "nodeType": "ExpressionStatement", "src": "13757:35:11" }, @@ -167305,54 +167195,54 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5420, + "declaration": 5431, "isOffset": false, "isSlot": false, "src": "13898:6:11", "valueSize": 1 }, { - "declaration": 5420, + "declaration": 5431, "isOffset": false, "isSlot": false, "src": "13984:6:11", "valueSize": 1 }, { - "declaration": 5420, + "declaration": 5431, "isOffset": false, "isSlot": false, "src": "14023:6:11", "valueSize": 1 }, { - "declaration": 5420, + "declaration": 5431, "isOffset": false, "isSlot": false, "src": "14037:6:11", "valueSize": 1 }, { - "declaration": 5420, + "declaration": 5431, "isOffset": false, "isSlot": false, "src": "14117:6:11", "valueSize": 1 } ], - "id": 5428, + "id": 5439, "nodeType": "InlineAssembly", "src": "13845:350:11" } ] }, "documentation": { - "id": 5415, + "id": 5426, "nodeType": "StructuredDocumentation", "src": "13422:196:11", "text": "@dev Returns the hexadecimal representation of `value`.\n The output excludes leading \"0\" from the `toHexStringNoPrefix` output.\n `0x00: \"0\", 0x01: \"1\", 0x12: \"12\", 0x123: \"123\"`." }, - "id": 5430, + "id": 5441, "implemented": true, "kind": "function", "modifiers": [], @@ -167360,17 +167250,17 @@ "nameLocation": "13632:26:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 5418, + "id": 5429, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5417, + "id": 5428, "mutability": "mutable", "name": "value", "nameLocation": "13667:5:11", "nodeType": "VariableDeclaration", - "scope": 5430, + "scope": 5441, "src": "13659:13:11", "stateVariable": false, "storageLocation": "default", @@ -167379,7 +167269,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5416, + "id": 5427, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "13659:7:11", @@ -167394,17 +167284,17 @@ "src": "13658:15:11" }, "returnParameters": { - "id": 5421, + "id": 5432, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5420, + "id": 5431, "mutability": "mutable", "name": "result", "nameLocation": "13735:6:11", "nodeType": "VariableDeclaration", - "scope": 5430, + "scope": 5441, "src": "13721:20:11", "stateVariable": false, "storageLocation": "memory", @@ -167413,7 +167303,7 @@ "typeString": "string" }, "typeName": { - "id": 5419, + "id": 5430, "name": "string", "nodeType": "ElementaryTypeName", "src": "13721:6:11", @@ -167427,7 +167317,7 @@ ], "src": "13720:22:11" }, - "scope": 6134, + "scope": 6145, "src": "13623:578:11", "stateMutability": "pure", "virtual": false, @@ -167435,7 +167325,7 @@ }, { "body": { - "id": 5439, + "id": 5450, "nodeType": "Block", "src": "14537:1344:11", "statements": [ @@ -168126,110 +168016,110 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5436, + "declaration": 5447, "isOffset": false, "isSlot": false, "src": "14863:6:11", "valueSize": 1 }, { - "declaration": 5436, + "declaration": 5447, "isOffset": false, "isSlot": false, "src": "14925:6:11", "valueSize": 1 }, { - "declaration": 5436, + "declaration": 5447, "isOffset": false, "isSlot": false, "src": "14979:6:11", "valueSize": 1 }, { - "declaration": 5436, + "declaration": 5447, "isOffset": false, "isSlot": false, "src": "15052:6:11", "valueSize": 1 }, { - "declaration": 5436, + "declaration": 5447, "isOffset": false, "isSlot": false, "src": "15474:6:11", "valueSize": 1 }, { - "declaration": 5436, + "declaration": 5447, "isOffset": false, "isSlot": false, "src": "15488:6:11", "valueSize": 1 }, { - "declaration": 5436, + "declaration": 5447, "isOffset": false, "isSlot": false, "src": "15548:6:11", "valueSize": 1 }, { - "declaration": 5436, + "declaration": 5447, "isOffset": false, "isSlot": false, "src": "15606:6:11", "valueSize": 1 }, { - "declaration": 5436, + "declaration": 5447, "isOffset": false, "isSlot": false, "src": "15767:6:11", "valueSize": 1 }, { - "declaration": 5436, + "declaration": 5447, "isOffset": false, "isSlot": false, "src": "15787:6:11", "valueSize": 1 }, { - "declaration": 5436, + "declaration": 5447, "isOffset": false, "isSlot": false, "src": "15801:6:11", "valueSize": 1 }, { - "declaration": 5436, + "declaration": 5447, "isOffset": false, "isSlot": false, "src": "15834:6:11", "valueSize": 1 }, { - "declaration": 5433, + "declaration": 5444, "isOffset": false, "isSlot": false, "src": "15443:5:11", "valueSize": 1 } ], - "id": 5438, + "id": 5449, "nodeType": "InlineAssembly", "src": "14590:1285:11" } ] }, "documentation": { - "id": 5431, + "id": 5442, "nodeType": "StructuredDocumentation", "src": "14207:236:11", "text": "@dev Returns the hexadecimal representation of `value`.\n The output is encoded using 2 hexadecimal digits per byte.\n As address are 20 bytes long, the output will left-padded to have\n a length of `20 * 2` bytes." }, - "id": 5440, + "id": 5451, "implemented": true, "kind": "function", "modifiers": [], @@ -168237,17 +168127,17 @@ "nameLocation": "14457:19:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 5434, + "id": 5445, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5433, + "id": 5444, "mutability": "mutable", "name": "value", "nameLocation": "14485:5:11", "nodeType": "VariableDeclaration", - "scope": 5440, + "scope": 5451, "src": "14477:13:11", "stateVariable": false, "storageLocation": "default", @@ -168256,7 +168146,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5432, + "id": 5443, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "14477:7:11", @@ -168271,17 +168161,17 @@ "src": "14476:15:11" }, "returnParameters": { - "id": 5437, + "id": 5448, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5436, + "id": 5447, "mutability": "mutable", "name": "result", "nameLocation": "14529:6:11", "nodeType": "VariableDeclaration", - "scope": 5440, + "scope": 5451, "src": "14515:20:11", "stateVariable": false, "storageLocation": "memory", @@ -168290,7 +168180,7 @@ "typeString": "string" }, "typeName": { - "id": 5435, + "id": 5446, "name": "string", "nodeType": "ElementaryTypeName", "src": "14515:6:11", @@ -168304,7 +168194,7 @@ ], "src": "14514:22:11" }, - "scope": 6134, + "scope": 6145, "src": "14448:1433:11", "stateMutability": "pure", "virtual": false, @@ -168312,23 +168202,23 @@ }, { "body": { - "id": 5455, + "id": 5466, "nodeType": "Block", "src": "16245:755:11", "statements": [ { "expression": { - "id": 5452, + "id": 5463, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 5448, + "id": 5459, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5446, + "referencedDeclaration": 5457, "src": "16255:6:11", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -168340,11 +168230,11 @@ "rightHandSide": { "arguments": [ { - "id": 5450, + "id": 5461, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5443, + "referencedDeclaration": 5454, "src": "16276:5:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -168359,23 +168249,23 @@ "typeString": "address" } ], - "id": 5449, + "id": 5460, "name": "toHexString", "nodeType": "Identifier", "overloadedDeclarations": [ - 5370, - 5398, - 5472, - 5498 + 5381, + 5409, + 5483, + 5509 ], - "referencedDeclaration": 5472, + "referencedDeclaration": 5483, "src": "16264:11:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_string_memory_ptr_$", "typeString": "function (address) pure returns (string memory)" } }, - "id": 5451, + "id": 5462, "isConstant": false, "isLValue": false, "isPure": false, @@ -168397,7 +168287,7 @@ "typeString": "string memory" } }, - "id": 5453, + "id": 5464, "nodeType": "ExpressionStatement", "src": "16255:27:11" }, @@ -169219,26 +169109,26 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5446, + "declaration": 5457, "isOffset": false, "isSlot": false, "src": "16450:6:11", "valueSize": 1 } ], - "id": 5454, + "id": 5465, "nodeType": "InlineAssembly", "src": "16335:659:11" } ] }, "documentation": { - "id": 5441, + "id": 5452, "nodeType": "StructuredDocumentation", "src": "15887:261:11", "text": "@dev Returns the hexadecimal representation of `value`.\n The output is prefixed with \"0x\", encoded using 2 hexadecimal digits per byte,\n and the alphabets are capitalized conditionally according to\n https://eips.ethereum.org/EIPS/eip-55" }, - "id": 5456, + "id": 5467, "implemented": true, "kind": "function", "modifiers": [], @@ -169246,17 +169136,17 @@ "nameLocation": "16162:22:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 5444, + "id": 5455, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5443, + "id": 5454, "mutability": "mutable", "name": "value", "nameLocation": "16193:5:11", "nodeType": "VariableDeclaration", - "scope": 5456, + "scope": 5467, "src": "16185:13:11", "stateVariable": false, "storageLocation": "default", @@ -169265,7 +169155,7 @@ "typeString": "address" }, "typeName": { - "id": 5442, + "id": 5453, "name": "address", "nodeType": "ElementaryTypeName", "src": "16185:7:11", @@ -169281,17 +169171,17 @@ "src": "16184:15:11" }, "returnParameters": { - "id": 5447, + "id": 5458, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5446, + "id": 5457, "mutability": "mutable", "name": "result", "nameLocation": "16237:6:11", "nodeType": "VariableDeclaration", - "scope": 5456, + "scope": 5467, "src": "16223:20:11", "stateVariable": false, "storageLocation": "memory", @@ -169300,7 +169190,7 @@ "typeString": "string" }, "typeName": { - "id": 5445, + "id": 5456, "name": "string", "nodeType": "ElementaryTypeName", "src": "16223:6:11", @@ -169314,7 +169204,7 @@ ], "src": "16222:22:11" }, - "scope": 6134, + "scope": 6145, "src": "16153:847:11", "stateMutability": "pure", "virtual": false, @@ -169322,23 +169212,23 @@ }, { "body": { - "id": 5471, + "id": 5482, "nodeType": "Block", "src": "17241:360:11", "statements": [ { "expression": { - "id": 5468, + "id": 5479, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 5464, + "id": 5475, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5462, + "referencedDeclaration": 5473, "src": "17251:6:11", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -169350,11 +169240,11 @@ "rightHandSide": { "arguments": [ { - "id": 5466, + "id": 5477, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5459, + "referencedDeclaration": 5470, "src": "17280:5:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -169369,23 +169259,23 @@ "typeString": "address" } ], - "id": 5465, + "id": 5476, "name": "toHexStringNoPrefix", "nodeType": "Identifier", "overloadedDeclarations": [ - 5382, - 5440, - 5482, - 5508 + 5393, + 5451, + 5493, + 5519 ], - "referencedDeclaration": 5482, + "referencedDeclaration": 5493, "src": "17260:19:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_string_memory_ptr_$", "typeString": "function (address) pure returns (string memory)" } }, - "id": 5467, + "id": 5478, "isConstant": false, "isLValue": false, "isPure": false, @@ -169407,7 +169297,7 @@ "typeString": "string memory" } }, - "id": 5469, + "id": 5480, "nodeType": "ExpressionStatement", "src": "17251:35:11" }, @@ -169579,54 +169469,54 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5462, + "declaration": 5473, "isOffset": false, "isSlot": false, "src": "17381:6:11", "valueSize": 1 }, { - "declaration": 5462, + "declaration": 5473, "isOffset": false, "isSlot": false, "src": "17435:6:11", "valueSize": 1 }, { - "declaration": 5462, + "declaration": 5473, "isOffset": false, "isSlot": false, "src": "17489:6:11", "valueSize": 1 }, { - "declaration": 5462, + "declaration": 5473, "isOffset": false, "isSlot": false, "src": "17503:6:11", "valueSize": 1 }, { - "declaration": 5462, + "declaration": 5473, "isOffset": false, "isSlot": false, "src": "17554:6:11", "valueSize": 1 } ], - "id": 5470, + "id": 5481, "nodeType": "InlineAssembly", "src": "17339:256:11" } ] }, "documentation": { - "id": 5457, + "id": 5468, "nodeType": "StructuredDocumentation", "src": "17006:149:11", "text": "@dev Returns the hexadecimal representation of `value`.\n The output is prefixed with \"0x\" and encoded using 2 hexadecimal digits per byte." }, - "id": 5472, + "id": 5483, "implemented": true, "kind": "function", "modifiers": [], @@ -169634,17 +169524,17 @@ "nameLocation": "17169:11:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 5460, + "id": 5471, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5459, + "id": 5470, "mutability": "mutable", "name": "value", "nameLocation": "17189:5:11", "nodeType": "VariableDeclaration", - "scope": 5472, + "scope": 5483, "src": "17181:13:11", "stateVariable": false, "storageLocation": "default", @@ -169653,7 +169543,7 @@ "typeString": "address" }, "typeName": { - "id": 5458, + "id": 5469, "name": "address", "nodeType": "ElementaryTypeName", "src": "17181:7:11", @@ -169669,17 +169559,17 @@ "src": "17180:15:11" }, "returnParameters": { - "id": 5463, + "id": 5474, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5462, + "id": 5473, "mutability": "mutable", "name": "result", "nameLocation": "17233:6:11", "nodeType": "VariableDeclaration", - "scope": 5472, + "scope": 5483, "src": "17219:20:11", "stateVariable": false, "storageLocation": "memory", @@ -169688,7 +169578,7 @@ "typeString": "string" }, "typeName": { - "id": 5461, + "id": 5472, "name": "string", "nodeType": "ElementaryTypeName", "src": "17219:6:11", @@ -169702,7 +169592,7 @@ ], "src": "17218:22:11" }, - "scope": 6134, + "scope": 6145, "src": "17160:441:11", "stateMutability": "pure", "virtual": false, @@ -169710,7 +169600,7 @@ }, { "body": { - "id": 5481, + "id": 5492, "nodeType": "Block", "src": "17827:1258:11", "statements": [ @@ -170438,82 +170328,82 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5478, + "declaration": 5489, "isOffset": false, "isSlot": false, "src": "17903:6:11", "valueSize": 1 }, { - "declaration": 5478, + "declaration": 5489, "isOffset": false, "isSlot": false, "src": "18236:6:11", "valueSize": 1 }, { - "declaration": 5478, + "declaration": 5489, "isOffset": false, "isSlot": false, "src": "18365:6:11", "valueSize": 1 }, { - "declaration": 5478, + "declaration": 5489, "isOffset": false, "isSlot": false, "src": "18379:6:11", "valueSize": 1 }, { - "declaration": 5478, + "declaration": 5489, "isOffset": false, "isSlot": false, "src": "18409:6:11", "valueSize": 1 }, { - "declaration": 5478, + "declaration": 5489, "isOffset": false, "isSlot": false, "src": "18467:6:11", "valueSize": 1 }, { - "declaration": 5475, + "declaration": 5486, "isOffset": false, "isSlot": false, "src": "18565:5:11", "valueSize": 1 }, { - "declaration": 5475, + "declaration": 5486, "isOffset": false, "isSlot": false, "src": "18582:5:11", "valueSize": 1 }, { - "declaration": 5475, + "declaration": 5486, "isOffset": false, "isSlot": false, "src": "18874:5:11", "valueSize": 1 } ], - "id": 5480, + "id": 5491, "nodeType": "InlineAssembly", "src": "17880:1199:11" } ] }, "documentation": { - "id": 5473, + "id": 5484, "nodeType": "StructuredDocumentation", "src": "17607:126:11", "text": "@dev Returns the hexadecimal representation of `value`.\n The output is encoded using 2 hexadecimal digits per byte." }, - "id": 5482, + "id": 5493, "implemented": true, "kind": "function", "modifiers": [], @@ -170521,17 +170411,17 @@ "nameLocation": "17747:19:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 5476, + "id": 5487, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5475, + "id": 5486, "mutability": "mutable", "name": "value", "nameLocation": "17775:5:11", "nodeType": "VariableDeclaration", - "scope": 5482, + "scope": 5493, "src": "17767:13:11", "stateVariable": false, "storageLocation": "default", @@ -170540,7 +170430,7 @@ "typeString": "address" }, "typeName": { - "id": 5474, + "id": 5485, "name": "address", "nodeType": "ElementaryTypeName", "src": "17767:7:11", @@ -170556,17 +170446,17 @@ "src": "17766:15:11" }, "returnParameters": { - "id": 5479, + "id": 5490, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5478, + "id": 5489, "mutability": "mutable", "name": "result", "nameLocation": "17819:6:11", "nodeType": "VariableDeclaration", - "scope": 5482, + "scope": 5493, "src": "17805:20:11", "stateVariable": false, "storageLocation": "memory", @@ -170575,7 +170465,7 @@ "typeString": "string" }, "typeName": { - "id": 5477, + "id": 5488, "name": "string", "nodeType": "ElementaryTypeName", "src": "17805:6:11", @@ -170589,7 +170479,7 @@ ], "src": "17804:22:11" }, - "scope": 6134, + "scope": 6145, "src": "17738:1347:11", "stateMutability": "pure", "virtual": false, @@ -170597,23 +170487,23 @@ }, { "body": { - "id": 5497, + "id": 5508, "nodeType": "Block", "src": "19306:358:11", "statements": [ { "expression": { - "id": 5494, + "id": 5505, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 5490, + "id": 5501, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5488, + "referencedDeclaration": 5499, "src": "19316:6:11", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -170625,11 +170515,11 @@ "rightHandSide": { "arguments": [ { - "id": 5492, + "id": 5503, "name": "raw", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5485, + "referencedDeclaration": 5496, "src": "19345:3:11", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -170644,23 +170534,23 @@ "typeString": "bytes memory" } ], - "id": 5491, + "id": 5502, "name": "toHexStringNoPrefix", "nodeType": "Identifier", "overloadedDeclarations": [ - 5382, - 5440, - 5482, - 5508 + 5393, + 5451, + 5493, + 5519 ], - "referencedDeclaration": 5508, + "referencedDeclaration": 5519, "src": "19325:19:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (bytes memory) pure returns (string memory)" } }, - "id": 5493, + "id": 5504, "isConstant": false, "isLValue": false, "isPure": false, @@ -170682,7 +170572,7 @@ "typeString": "string memory" } }, - "id": 5495, + "id": 5506, "nodeType": "ExpressionStatement", "src": "19316:33:11" }, @@ -170854,54 +170744,54 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5488, + "declaration": 5499, "isOffset": false, "isSlot": false, "src": "19444:6:11", "valueSize": 1 }, { - "declaration": 5488, + "declaration": 5499, "isOffset": false, "isSlot": false, "src": "19498:6:11", "valueSize": 1 }, { - "declaration": 5488, + "declaration": 5499, "isOffset": false, "isSlot": false, "src": "19552:6:11", "valueSize": 1 }, { - "declaration": 5488, + "declaration": 5499, "isOffset": false, "isSlot": false, "src": "19566:6:11", "valueSize": 1 }, { - "declaration": 5488, + "declaration": 5499, "isOffset": false, "isSlot": false, "src": "19617:6:11", "valueSize": 1 } ], - "id": 5496, + "id": 5507, "nodeType": "InlineAssembly", "src": "19402:256:11" } ] }, "documentation": { - "id": 5483, + "id": 5494, "nodeType": "StructuredDocumentation", "src": "19091:126:11", "text": "@dev Returns the hex encoded string from the raw bytes.\n The output is encoded using 2 hexadecimal digits per byte." }, - "id": 5498, + "id": 5509, "implemented": true, "kind": "function", "modifiers": [], @@ -170909,17 +170799,17 @@ "nameLocation": "19231:11:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 5486, + "id": 5497, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5485, + "id": 5496, "mutability": "mutable", "name": "raw", "nameLocation": "19256:3:11", "nodeType": "VariableDeclaration", - "scope": 5498, + "scope": 5509, "src": "19243:16:11", "stateVariable": false, "storageLocation": "memory", @@ -170928,7 +170818,7 @@ "typeString": "bytes" }, "typeName": { - "id": 5484, + "id": 5495, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "19243:5:11", @@ -170943,17 +170833,17 @@ "src": "19242:18:11" }, "returnParameters": { - "id": 5489, + "id": 5500, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5488, + "id": 5499, "mutability": "mutable", "name": "result", "nameLocation": "19298:6:11", "nodeType": "VariableDeclaration", - "scope": 5498, + "scope": 5509, "src": "19284:20:11", "stateVariable": false, "storageLocation": "memory", @@ -170962,7 +170852,7 @@ "typeString": "string" }, "typeName": { - "id": 5487, + "id": 5498, "name": "string", "nodeType": "ElementaryTypeName", "src": "19284:6:11", @@ -170976,7 +170866,7 @@ ], "src": "19283:22:11" }, - "scope": 6134, + "scope": 6145, "src": "19222:442:11", "stateMutability": "pure", "virtual": false, @@ -170984,7 +170874,7 @@ }, { "body": { - "id": 5507, + "id": 5518, "nodeType": "Block", "src": "19893:816:11", "statements": [ @@ -171674,89 +171564,89 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5501, + "declaration": 5512, "isOffset": false, "isSlot": false, "src": "19984:3:11", "valueSize": 1 }, { - "declaration": 5501, + "declaration": 5512, "isOffset": false, "isSlot": false, "src": "20313:3:11", "valueSize": 1 }, { - "declaration": 5501, + "declaration": 5512, "isOffset": false, "isSlot": false, "src": "20350:3:11", "valueSize": 1 }, { - "declaration": 5501, + "declaration": 5512, "isOffset": false, "isSlot": false, "src": "20382:3:11", "valueSize": 1 }, { - "declaration": 5501, + "declaration": 5512, "isOffset": false, "isSlot": false, "src": "20393:3:11", "valueSize": 1 }, { - "declaration": 5501, + "declaration": 5512, "isOffset": false, "isSlot": false, "src": "20452:3:11", "valueSize": 1 }, { - "declaration": 5501, + "declaration": 5512, "isOffset": false, "isSlot": false, "src": "20514:3:11", "valueSize": 1 }, { - "declaration": 5504, + "declaration": 5515, "isOffset": false, "isSlot": false, "src": "20001:6:11", "valueSize": 1 }, { - "declaration": 5504, + "declaration": 5515, "isOffset": false, "isSlot": false, "src": "20091:6:11", "valueSize": 1 }, { - "declaration": 5504, + "declaration": 5515, "isOffset": false, "isSlot": false, "src": "20272:6:11", "valueSize": 1 } ], - "id": 5506, + "id": 5517, "nodeType": "InlineAssembly", "src": "19946:757:11" } ] }, "documentation": { - "id": 5499, + "id": 5510, "nodeType": "StructuredDocumentation", "src": "19670:126:11", "text": "@dev Returns the hex encoded string from the raw bytes.\n The output is encoded using 2 hexadecimal digits per byte." }, - "id": 5508, + "id": 5519, "implemented": true, "kind": "function", "modifiers": [], @@ -171764,17 +171654,17 @@ "nameLocation": "19810:19:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 5502, + "id": 5513, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5501, + "id": 5512, "mutability": "mutable", "name": "raw", "nameLocation": "19843:3:11", "nodeType": "VariableDeclaration", - "scope": 5508, + "scope": 5519, "src": "19830:16:11", "stateVariable": false, "storageLocation": "memory", @@ -171783,7 +171673,7 @@ "typeString": "bytes" }, "typeName": { - "id": 5500, + "id": 5511, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "19830:5:11", @@ -171798,17 +171688,17 @@ "src": "19829:18:11" }, "returnParameters": { - "id": 5505, + "id": 5516, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5504, + "id": 5515, "mutability": "mutable", "name": "result", "nameLocation": "19885:6:11", "nodeType": "VariableDeclaration", - "scope": 5508, + "scope": 5519, "src": "19871:20:11", "stateVariable": false, "storageLocation": "memory", @@ -171817,7 +171707,7 @@ "typeString": "string" }, "typeName": { - "id": 5503, + "id": 5514, "name": "string", "nodeType": "ElementaryTypeName", "src": "19871:6:11", @@ -171831,7 +171721,7 @@ ], "src": "19870:22:11" }, - "scope": 6134, + "scope": 6145, "src": "19801:908:11", "stateMutability": "pure", "virtual": false, @@ -171839,7 +171729,7 @@ }, { "body": { - "id": 5517, + "id": 5528, "nodeType": "Block", "src": "21138:552:11", "statements": [ @@ -172337,61 +172227,61 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5514, + "declaration": 5525, "isOffset": false, "isSlot": false, "src": "21476:6:11", "valueSize": 1 }, { - "declaration": 5514, + "declaration": 5525, "isOffset": false, "isSlot": false, "src": "21494:6:11", "valueSize": 1 }, { - "declaration": 5514, + "declaration": 5525, "isOffset": false, "isSlot": false, "src": "21508:6:11", "valueSize": 1 }, { - "declaration": 5511, + "declaration": 5522, "isOffset": false, "isSlot": false, "src": "21223:1:11", "valueSize": 1 }, { - "declaration": 5511, + "declaration": 5522, "isOffset": false, "isSlot": false, "src": "21401:1:11", "valueSize": 1 }, { - "declaration": 5511, + "declaration": 5522, "isOffset": false, "isSlot": false, "src": "21450:1:11", "valueSize": 1 } ], - "id": 5516, + "id": 5527, "nodeType": "InlineAssembly", "src": "21191:493:11" } ] }, "documentation": { - "id": 5509, + "id": 5520, "nodeType": "StructuredDocumentation", "src": "20998:60:11", "text": "@dev Returns the number of UTF characters in the string." }, - "id": 5518, + "id": 5529, "implemented": true, "kind": "function", "modifiers": [], @@ -172399,17 +172289,17 @@ "nameLocation": "21072:9:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 5512, + "id": 5523, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5511, + "id": 5522, "mutability": "mutable", "name": "s", "nameLocation": "21096:1:11", "nodeType": "VariableDeclaration", - "scope": 5518, + "scope": 5529, "src": "21082:15:11", "stateVariable": false, "storageLocation": "memory", @@ -172418,7 +172308,7 @@ "typeString": "string" }, "typeName": { - "id": 5510, + "id": 5521, "name": "string", "nodeType": "ElementaryTypeName", "src": "21082:6:11", @@ -172433,17 +172323,17 @@ "src": "21081:17:11" }, "returnParameters": { - "id": 5515, + "id": 5526, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5514, + "id": 5525, "mutability": "mutable", "name": "result", "nameLocation": "21130:6:11", "nodeType": "VariableDeclaration", - "scope": 5518, + "scope": 5529, "src": "21122:14:11", "stateVariable": false, "storageLocation": "default", @@ -172452,7 +172342,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5513, + "id": 5524, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "21122:7:11", @@ -172466,7 +172356,7 @@ ], "src": "21121:16:11" }, - "scope": 6134, + "scope": 6145, "src": "21063:627:11", "stateMutability": "pure", "virtual": false, @@ -172474,7 +172364,7 @@ }, { "body": { - "id": 5527, + "id": 5538, "nodeType": "Block", "src": "21883:665:11", "statements": [ @@ -173017,47 +172907,47 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5524, + "declaration": 5535, "isOffset": false, "isSlot": false, "src": "21959:6:11", "valueSize": 1 }, { - "declaration": 5524, + "declaration": 5535, "isOffset": false, "isSlot": false, "src": "22313:6:11", "valueSize": 1 }, { - "declaration": 5521, + "declaration": 5532, "isOffset": false, "isSlot": false, "src": "22047:1:11", "valueSize": 1 }, { - "declaration": 5521, + "declaration": 5532, "isOffset": false, "isSlot": false, "src": "22098:1:11", "valueSize": 1 } ], - "id": 5526, + "id": 5537, "nodeType": "InlineAssembly", "src": "21936:606:11" } ] }, "documentation": { - "id": 5519, + "id": 5530, "nodeType": "StructuredDocumentation", "src": "21696:108:11", "text": "@dev Returns if this string is a 7-bit ASCII string.\n (i.e. all characters codes are in [0..127])" }, - "id": 5528, + "id": 5539, "implemented": true, "kind": "function", "modifiers": [], @@ -173065,17 +172955,17 @@ "nameLocation": "21818:11:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 5522, + "id": 5533, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5521, + "id": 5532, "mutability": "mutable", "name": "s", "nameLocation": "21844:1:11", "nodeType": "VariableDeclaration", - "scope": 5528, + "scope": 5539, "src": "21830:15:11", "stateVariable": false, "storageLocation": "memory", @@ -173084,7 +172974,7 @@ "typeString": "string" }, "typeName": { - "id": 5520, + "id": 5531, "name": "string", "nodeType": "ElementaryTypeName", "src": "21830:6:11", @@ -173099,17 +172989,17 @@ "src": "21829:17:11" }, "returnParameters": { - "id": 5525, + "id": 5536, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5524, + "id": 5535, "mutability": "mutable", "name": "result", "nameLocation": "21875:6:11", "nodeType": "VariableDeclaration", - "scope": 5528, + "scope": 5539, "src": "21870:11:11", "stateVariable": false, "storageLocation": "default", @@ -173118,7 +173008,7 @@ "typeString": "bool" }, "typeName": { - "id": 5523, + "id": 5534, "name": "bool", "nodeType": "ElementaryTypeName", "src": "21870:4:11", @@ -173132,7 +173022,7 @@ ], "src": "21869:13:11" }, - "scope": 6134, + "scope": 6145, "src": "21809:739:11", "stateMutability": "pure", "virtual": false, @@ -173140,7 +173030,7 @@ }, { "body": { - "id": 5539, + "id": 5550, "nodeType": "Block", "src": "22831:494:11", "statements": [ @@ -173601,75 +173491,75 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5533, + "declaration": 5544, "isOffset": false, "isSlot": false, "src": "22995:7:11", "valueSize": 1 }, { - "declaration": 5536, + "declaration": 5547, "isOffset": false, "isSlot": false, "src": "22907:6:11", "valueSize": 1 }, { - "declaration": 5536, + "declaration": 5547, "isOffset": false, "isSlot": false, "src": "23122:6:11", "valueSize": 1 }, { - "declaration": 5536, + "declaration": 5547, "isOffset": false, "isSlot": false, "src": "23136:6:11", "valueSize": 1 }, { - "declaration": 5536, + "declaration": 5547, "isOffset": false, "isSlot": false, "src": "23247:6:11", "valueSize": 1 }, { - "declaration": 5531, + "declaration": 5542, "isOffset": false, "isSlot": false, "src": "22940:1:11", "valueSize": 1 }, { - "declaration": 5531, + "declaration": 5542, "isOffset": false, "isSlot": false, "src": "23034:1:11", "valueSize": 1 }, { - "declaration": 5531, + "declaration": 5542, "isOffset": false, "isSlot": false, "src": "23089:1:11", "valueSize": 1 } ], - "id": 5538, + "id": 5549, "nodeType": "InlineAssembly", "src": "22884:435:11" } ] }, "documentation": { - "id": 5529, + "id": 5540, "nodeType": "StructuredDocumentation", "src": "22554:181:11", "text": "@dev Returns if this string is a 7-bit ASCII string,\n AND all characters are in the `allowed` lookup.\n Note: If `s` is empty, returns true regardless of `allowed`." }, - "id": 5540, + "id": 5551, "implemented": true, "kind": "function", "modifiers": [], @@ -173677,17 +173567,17 @@ "nameLocation": "22749:11:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 5534, + "id": 5545, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5531, + "id": 5542, "mutability": "mutable", "name": "s", "nameLocation": "22775:1:11", "nodeType": "VariableDeclaration", - "scope": 5540, + "scope": 5551, "src": "22761:15:11", "stateVariable": false, "storageLocation": "memory", @@ -173696,7 +173586,7 @@ "typeString": "string" }, "typeName": { - "id": 5530, + "id": 5541, "name": "string", "nodeType": "ElementaryTypeName", "src": "22761:6:11", @@ -173709,12 +173599,12 @@ }, { "constant": false, - "id": 5533, + "id": 5544, "mutability": "mutable", "name": "allowed", "nameLocation": "22786:7:11", "nodeType": "VariableDeclaration", - "scope": 5540, + "scope": 5551, "src": "22778:15:11", "stateVariable": false, "storageLocation": "default", @@ -173723,7 +173613,7 @@ "typeString": "uint128" }, "typeName": { - "id": 5532, + "id": 5543, "name": "uint128", "nodeType": "ElementaryTypeName", "src": "22778:7:11", @@ -173738,17 +173628,17 @@ "src": "22760:34:11" }, "returnParameters": { - "id": 5537, + "id": 5548, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5536, + "id": 5547, "mutability": "mutable", "name": "result", "nameLocation": "22823:6:11", "nodeType": "VariableDeclaration", - "scope": 5540, + "scope": 5551, "src": "22818:11:11", "stateVariable": false, "storageLocation": "default", @@ -173757,7 +173647,7 @@ "typeString": "bool" }, "typeName": { - "id": 5535, + "id": 5546, "name": "bool", "nodeType": "ElementaryTypeName", "src": "22818:4:11", @@ -173771,7 +173661,7 @@ ], "src": "22817:13:11" }, - "scope": 6134, + "scope": 6145, "src": "22740:585:11", "stateMutability": "pure", "virtual": false, @@ -173779,7 +173669,7 @@ }, { "body": { - "id": 5549, + "id": 5560, "nodeType": "Block", "src": "23630:556:11", "statements": [ @@ -174247,61 +174137,61 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5546, + "declaration": 5557, "isOffset": false, "isSlot": false, "src": "23837:6:11", "valueSize": 1 }, { - "declaration": 5546, + "declaration": 5557, "isOffset": false, "isSlot": false, "src": "23850:6:11", "valueSize": 1 }, { - "declaration": 5546, + "declaration": 5557, "isOffset": false, "isSlot": false, "src": "24018:6:11", "valueSize": 1 }, { - "declaration": 5543, + "declaration": 5554, "isOffset": false, "isSlot": false, "src": "23715:1:11", "valueSize": 1 }, { - "declaration": 5543, + "declaration": 5554, "isOffset": false, "isSlot": false, "src": "23749:1:11", "valueSize": 1 }, { - "declaration": 5543, + "declaration": 5554, "isOffset": false, "isSlot": false, "src": "23804:1:11", "valueSize": 1 } ], - "id": 5548, + "id": 5559, "nodeType": "InlineAssembly", "src": "23683:497:11" } ] }, "documentation": { - "id": 5541, + "id": 5552, "nodeType": "StructuredDocumentation", "src": "23331:204:11", "text": "@dev Converts the bytes in the 7-bit ASCII string `s` to\n an allowed lookup for use in `is7BitASCII(s, allowed)`.\n To save runtime gas, you can cache the result in an immutable variable." }, - "id": 5550, + "id": 5561, "implemented": true, "kind": "function", "modifiers": [], @@ -174309,17 +174199,17 @@ "nameLocation": "23549:24:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 5544, + "id": 5555, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5543, + "id": 5554, "mutability": "mutable", "name": "s", "nameLocation": "23588:1:11", "nodeType": "VariableDeclaration", - "scope": 5550, + "scope": 5561, "src": "23574:15:11", "stateVariable": false, "storageLocation": "memory", @@ -174328,7 +174218,7 @@ "typeString": "string" }, "typeName": { - "id": 5542, + "id": 5553, "name": "string", "nodeType": "ElementaryTypeName", "src": "23574:6:11", @@ -174343,17 +174233,17 @@ "src": "23573:17:11" }, "returnParameters": { - "id": 5547, + "id": 5558, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5546, + "id": 5557, "mutability": "mutable", "name": "result", "nameLocation": "23622:6:11", "nodeType": "VariableDeclaration", - "scope": 5550, + "scope": 5561, "src": "23614:14:11", "stateVariable": false, "storageLocation": "default", @@ -174362,7 +174252,7 @@ "typeString": "uint128" }, "typeName": { - "id": 5545, + "id": 5556, "name": "uint128", "nodeType": "ElementaryTypeName", "src": "23614:7:11", @@ -174376,7 +174266,7 @@ ], "src": "23613:16:11" }, - "scope": 6134, + "scope": 6145, "src": "23540:646:11", "stateMutability": "pure", "virtual": false, @@ -174384,7 +174274,7 @@ }, { "body": { - "id": 5581, + "id": 5592, "nodeType": "Block", "src": "25022:99:11", "statements": [ @@ -174396,11 +174286,11 @@ { "arguments": [ { - "id": 5568, + "id": 5579, "name": "subject", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5553, + "referencedDeclaration": 5564, "src": "25069:7:11", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -174415,7 +174305,7 @@ "typeString": "string memory" } ], - "id": 5567, + "id": 5578, "isConstant": false, "isLValue": false, "isPure": true, @@ -174427,14 +174317,14 @@ "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5566, + "id": 5577, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "25063:5:11", "typeDescriptions": {} } }, - "id": 5569, + "id": 5580, "isConstant": false, "isLValue": false, "isPure": false, @@ -174453,11 +174343,11 @@ { "arguments": [ { - "id": 5572, + "id": 5583, "name": "needle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5555, + "referencedDeclaration": 5566, "src": "25085:6:11", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -174472,7 +174362,7 @@ "typeString": "string memory" } ], - "id": 5571, + "id": 5582, "isConstant": false, "isLValue": false, "isPure": true, @@ -174484,14 +174374,14 @@ "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5570, + "id": 5581, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "25079:5:11", "typeDescriptions": {} } }, - "id": 5573, + "id": 5584, "isConstant": false, "isLValue": false, "isPure": false, @@ -174510,11 +174400,11 @@ { "arguments": [ { - "id": 5576, + "id": 5587, "name": "replacement", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5557, + "referencedDeclaration": 5568, "src": "25100:11:11", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -174529,7 +174419,7 @@ "typeString": "string memory" } ], - "id": 5575, + "id": 5586, "isConstant": false, "isLValue": false, "isPure": true, @@ -174541,14 +174431,14 @@ "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5574, + "id": 5585, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "25094:5:11", "typeDescriptions": {} } }, - "id": 5577, + "id": 5588, "isConstant": false, "isLValue": false, "isPure": false, @@ -174581,18 +174471,18 @@ } ], "expression": { - "id": 5564, + "id": 5575, "name": "LibBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3078, + "referencedDeclaration": 3089, "src": "25046:8:11", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytes_$3078_$", + "typeIdentifier": "t_type$_t_contract$_LibBytes_$3089_$", "typeString": "type(library LibBytes)" } }, - "id": 5565, + "id": 5576, "isConstant": false, "isLValue": false, "isPure": false, @@ -174600,14 +174490,14 @@ "memberLocation": "25055:7:11", "memberName": "replace", "nodeType": "MemberAccess", - "referencedDeclaration": 2701, + "referencedDeclaration": 2712, "src": "25046:16:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$", "typeString": "function (bytes memory,bytes memory,bytes memory) pure returns (bytes memory)" } }, - "id": 5578, + "id": 5589, "isConstant": false, "isLValue": false, "isPure": false, @@ -174631,7 +174521,7 @@ "typeString": "bytes memory" } ], - "id": 5563, + "id": 5574, "isConstant": false, "isLValue": false, "isPure": true, @@ -174643,14 +174533,14 @@ "typeString": "type(string storage pointer)" }, "typeName": { - "id": 5562, + "id": 5573, "name": "string", "nodeType": "ElementaryTypeName", "src": "25039:6:11", "typeDescriptions": {} } }, - "id": 5579, + "id": 5590, "isConstant": false, "isLValue": false, "isPure": false, @@ -174666,20 +174556,20 @@ "typeString": "string memory" } }, - "functionReturnParameters": 5561, - "id": 5580, + "functionReturnParameters": 5572, + "id": 5591, "nodeType": "Return", "src": "25032:82:11" } ] }, "documentation": { - "id": 5551, + "id": 5562, "nodeType": "StructuredDocumentation", "src": "24779:83:11", "text": "@dev Returns `subject` all occurrences of `needle` replaced with `replacement`." }, - "id": 5582, + "id": 5593, "implemented": true, "kind": "function", "modifiers": [], @@ -174687,17 +174577,17 @@ "nameLocation": "24876:7:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 5558, + "id": 5569, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5553, + "id": 5564, "mutability": "mutable", "name": "subject", "nameLocation": "24898:7:11", "nodeType": "VariableDeclaration", - "scope": 5582, + "scope": 5593, "src": "24884:21:11", "stateVariable": false, "storageLocation": "memory", @@ -174706,7 +174596,7 @@ "typeString": "string" }, "typeName": { - "id": 5552, + "id": 5563, "name": "string", "nodeType": "ElementaryTypeName", "src": "24884:6:11", @@ -174719,12 +174609,12 @@ }, { "constant": false, - "id": 5555, + "id": 5566, "mutability": "mutable", "name": "needle", "nameLocation": "24921:6:11", "nodeType": "VariableDeclaration", - "scope": 5582, + "scope": 5593, "src": "24907:20:11", "stateVariable": false, "storageLocation": "memory", @@ -174733,7 +174623,7 @@ "typeString": "string" }, "typeName": { - "id": 5554, + "id": 5565, "name": "string", "nodeType": "ElementaryTypeName", "src": "24907:6:11", @@ -174746,12 +174636,12 @@ }, { "constant": false, - "id": 5557, + "id": 5568, "mutability": "mutable", "name": "replacement", "nameLocation": "24943:11:11", "nodeType": "VariableDeclaration", - "scope": 5582, + "scope": 5593, "src": "24929:25:11", "stateVariable": false, "storageLocation": "memory", @@ -174760,7 +174650,7 @@ "typeString": "string" }, "typeName": { - "id": 5556, + "id": 5567, "name": "string", "nodeType": "ElementaryTypeName", "src": "24929:6:11", @@ -174775,17 +174665,17 @@ "src": "24883:72:11" }, "returnParameters": { - "id": 5561, + "id": 5572, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5560, + "id": 5571, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 5582, + "scope": 5593, "src": "25003:13:11", "stateVariable": false, "storageLocation": "memory", @@ -174794,7 +174684,7 @@ "typeString": "string" }, "typeName": { - "id": 5559, + "id": 5570, "name": "string", "nodeType": "ElementaryTypeName", "src": "25003:6:11", @@ -174808,7 +174698,7 @@ ], "src": "25002:15:11" }, - "scope": 6134, + "scope": 6145, "src": "24867:254:11", "stateMutability": "pure", "virtual": false, @@ -174816,7 +174706,7 @@ }, { "body": { - "id": 5607, + "id": 5618, "nodeType": "Block", "src": "25492:77:11", "statements": [ @@ -174826,11 +174716,11 @@ { "arguments": [ { - "id": 5598, + "id": 5609, "name": "subject", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5585, + "referencedDeclaration": 5596, "src": "25532:7:11", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -174845,7 +174735,7 @@ "typeString": "string memory" } ], - "id": 5597, + "id": 5608, "isConstant": false, "isLValue": false, "isPure": true, @@ -174857,14 +174747,14 @@ "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5596, + "id": 5607, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "25526:5:11", "typeDescriptions": {} } }, - "id": 5599, + "id": 5610, "isConstant": false, "isLValue": false, "isPure": false, @@ -174883,11 +174773,11 @@ { "arguments": [ { - "id": 5602, + "id": 5613, "name": "needle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5587, + "referencedDeclaration": 5598, "src": "25548:6:11", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -174902,7 +174792,7 @@ "typeString": "string memory" } ], - "id": 5601, + "id": 5612, "isConstant": false, "isLValue": false, "isPure": true, @@ -174914,14 +174804,14 @@ "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5600, + "id": 5611, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "25542:5:11", "typeDescriptions": {} } }, - "id": 5603, + "id": 5614, "isConstant": false, "isLValue": false, "isPure": false, @@ -174938,11 +174828,11 @@ } }, { - "id": 5604, + "id": 5615, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5589, + "referencedDeclaration": 5600, "src": "25557:4:11", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -174966,18 +174856,18 @@ } ], "expression": { - "id": 5594, + "id": 5605, "name": "LibBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3078, + "referencedDeclaration": 3089, "src": "25509:8:11", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytes_$3078_$", + "typeIdentifier": "t_type$_t_contract$_LibBytes_$3089_$", "typeString": "type(library LibBytes)" } }, - "id": 5595, + "id": 5606, "isConstant": false, "isLValue": false, "isPure": false, @@ -174985,14 +174875,14 @@ "memberLocation": "25518:7:11", "memberName": "indexOf", "nodeType": "MemberAccess", - "referencedDeclaration": 2715, + "referencedDeclaration": 2726, "src": "25509:16:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (bytes memory,bytes memory,uint256) pure returns (uint256)" } }, - "id": 5605, + "id": 5616, "isConstant": false, "isLValue": false, "isPure": false, @@ -175008,20 +174898,20 @@ "typeString": "uint256" } }, - "functionReturnParameters": 5593, - "id": 5606, + "functionReturnParameters": 5604, + "id": 5617, "nodeType": "Return", "src": "25502:60:11" } ] }, "documentation": { - "id": 5583, + "id": 5594, "nodeType": "StructuredDocumentation", "src": "25127:224:11", "text": "@dev Returns the byte index of the first location of `needle` in `subject`,\n needleing from left to right, starting from `from`.\n Returns `NOT_FOUND` (i.e. `type(uint256).max`) if the `needle` is not found." }, - "id": 5608, + "id": 5619, "implemented": true, "kind": "function", "modifiers": [], @@ -175029,17 +174919,17 @@ "nameLocation": "25365:7:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 5590, + "id": 5601, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5585, + "id": 5596, "mutability": "mutable", "name": "subject", "nameLocation": "25387:7:11", "nodeType": "VariableDeclaration", - "scope": 5608, + "scope": 5619, "src": "25373:21:11", "stateVariable": false, "storageLocation": "memory", @@ -175048,7 +174938,7 @@ "typeString": "string" }, "typeName": { - "id": 5584, + "id": 5595, "name": "string", "nodeType": "ElementaryTypeName", "src": "25373:6:11", @@ -175061,12 +174951,12 @@ }, { "constant": false, - "id": 5587, + "id": 5598, "mutability": "mutable", "name": "needle", "nameLocation": "25410:6:11", "nodeType": "VariableDeclaration", - "scope": 5608, + "scope": 5619, "src": "25396:20:11", "stateVariable": false, "storageLocation": "memory", @@ -175075,7 +174965,7 @@ "typeString": "string" }, "typeName": { - "id": 5586, + "id": 5597, "name": "string", "nodeType": "ElementaryTypeName", "src": "25396:6:11", @@ -175088,12 +174978,12 @@ }, { "constant": false, - "id": 5589, + "id": 5600, "mutability": "mutable", "name": "from", "nameLocation": "25426:4:11", "nodeType": "VariableDeclaration", - "scope": 5608, + "scope": 5619, "src": "25418:12:11", "stateVariable": false, "storageLocation": "default", @@ -175102,7 +174992,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5588, + "id": 5599, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "25418:7:11", @@ -175117,17 +175007,17 @@ "src": "25372:59:11" }, "returnParameters": { - "id": 5593, + "id": 5604, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5592, + "id": 5603, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 5608, + "scope": 5619, "src": "25479:7:11", "stateVariable": false, "storageLocation": "default", @@ -175136,7 +175026,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5591, + "id": 5602, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "25479:7:11", @@ -175150,7 +175040,7 @@ ], "src": "25478:9:11" }, - "scope": 6134, + "scope": 6145, "src": "25356:213:11", "stateMutability": "pure", "virtual": false, @@ -175158,7 +175048,7 @@ }, { "body": { - "id": 5631, + "id": 5642, "nodeType": "Block", "src": "25876:74:11", "statements": [ @@ -175168,11 +175058,11 @@ { "arguments": [ { - "id": 5622, + "id": 5633, "name": "subject", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5611, + "referencedDeclaration": 5622, "src": "25916:7:11", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -175187,7 +175077,7 @@ "typeString": "string memory" } ], - "id": 5621, + "id": 5632, "isConstant": false, "isLValue": false, "isPure": true, @@ -175199,14 +175089,14 @@ "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5620, + "id": 5631, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "25910:5:11", "typeDescriptions": {} } }, - "id": 5623, + "id": 5634, "isConstant": false, "isLValue": false, "isPure": false, @@ -175225,11 +175115,11 @@ { "arguments": [ { - "id": 5626, + "id": 5637, "name": "needle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5613, + "referencedDeclaration": 5624, "src": "25932:6:11", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -175244,7 +175134,7 @@ "typeString": "string memory" } ], - "id": 5625, + "id": 5636, "isConstant": false, "isLValue": false, "isPure": true, @@ -175256,14 +175146,14 @@ "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5624, + "id": 5635, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "25926:5:11", "typeDescriptions": {} } }, - "id": 5627, + "id": 5638, "isConstant": false, "isLValue": false, "isPure": false, @@ -175281,7 +175171,7 @@ }, { "hexValue": "30", - "id": 5628, + "id": 5639, "isConstant": false, "isLValue": false, "isPure": true, @@ -175312,18 +175202,18 @@ } ], "expression": { - "id": 5618, + "id": 5629, "name": "LibBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3078, + "referencedDeclaration": 3089, "src": "25893:8:11", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytes_$3078_$", + "typeIdentifier": "t_type$_t_contract$_LibBytes_$3089_$", "typeString": "type(library LibBytes)" } }, - "id": 5619, + "id": 5630, "isConstant": false, "isLValue": false, "isPure": false, @@ -175331,14 +175221,14 @@ "memberLocation": "25902:7:11", "memberName": "indexOf", "nodeType": "MemberAccess", - "referencedDeclaration": 2715, + "referencedDeclaration": 2726, "src": "25893:16:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (bytes memory,bytes memory,uint256) pure returns (uint256)" } }, - "id": 5629, + "id": 5640, "isConstant": false, "isLValue": false, "isPure": false, @@ -175354,20 +175244,20 @@ "typeString": "uint256" } }, - "functionReturnParameters": 5617, - "id": 5630, + "functionReturnParameters": 5628, + "id": 5641, "nodeType": "Return", "src": "25886:57:11" } ] }, "documentation": { - "id": 5609, + "id": 5620, "nodeType": "StructuredDocumentation", "src": "25575:202:11", "text": "@dev Returns the byte index of the first location of `needle` in `subject`,\n needleing from left to right.\n Returns `NOT_FOUND` (i.e. `type(uint256).max`) if the `needle` is not found." }, - "id": 5632, + "id": 5643, "implemented": true, "kind": "function", "modifiers": [], @@ -175375,17 +175265,17 @@ "nameLocation": "25791:7:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 5614, + "id": 5625, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5611, + "id": 5622, "mutability": "mutable", "name": "subject", "nameLocation": "25813:7:11", "nodeType": "VariableDeclaration", - "scope": 5632, + "scope": 5643, "src": "25799:21:11", "stateVariable": false, "storageLocation": "memory", @@ -175394,7 +175284,7 @@ "typeString": "string" }, "typeName": { - "id": 5610, + "id": 5621, "name": "string", "nodeType": "ElementaryTypeName", "src": "25799:6:11", @@ -175407,12 +175297,12 @@ }, { "constant": false, - "id": 5613, + "id": 5624, "mutability": "mutable", "name": "needle", "nameLocation": "25836:6:11", "nodeType": "VariableDeclaration", - "scope": 5632, + "scope": 5643, "src": "25822:20:11", "stateVariable": false, "storageLocation": "memory", @@ -175421,7 +175311,7 @@ "typeString": "string" }, "typeName": { - "id": 5612, + "id": 5623, "name": "string", "nodeType": "ElementaryTypeName", "src": "25822:6:11", @@ -175436,17 +175326,17 @@ "src": "25798:45:11" }, "returnParameters": { - "id": 5617, + "id": 5628, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5616, + "id": 5627, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 5632, + "scope": 5643, "src": "25867:7:11", "stateVariable": false, "storageLocation": "default", @@ -175455,7 +175345,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5615, + "id": 5626, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "25867:7:11", @@ -175469,7 +175359,7 @@ ], "src": "25866:9:11" }, - "scope": 6134, + "scope": 6145, "src": "25782:168:11", "stateMutability": "pure", "virtual": false, @@ -175477,7 +175367,7 @@ }, { "body": { - "id": 5657, + "id": 5668, "nodeType": "Block", "src": "26325:81:11", "statements": [ @@ -175487,11 +175377,11 @@ { "arguments": [ { - "id": 5648, + "id": 5659, "name": "subject", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5635, + "referencedDeclaration": 5646, "src": "26369:7:11", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -175506,7 +175396,7 @@ "typeString": "string memory" } ], - "id": 5647, + "id": 5658, "isConstant": false, "isLValue": false, "isPure": true, @@ -175518,14 +175408,14 @@ "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5646, + "id": 5657, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "26363:5:11", "typeDescriptions": {} } }, - "id": 5649, + "id": 5660, "isConstant": false, "isLValue": false, "isPure": false, @@ -175544,11 +175434,11 @@ { "arguments": [ { - "id": 5652, + "id": 5663, "name": "needle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5637, + "referencedDeclaration": 5648, "src": "26385:6:11", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -175563,7 +175453,7 @@ "typeString": "string memory" } ], - "id": 5651, + "id": 5662, "isConstant": false, "isLValue": false, "isPure": true, @@ -175575,14 +175465,14 @@ "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5650, + "id": 5661, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "26379:5:11", "typeDescriptions": {} } }, - "id": 5653, + "id": 5664, "isConstant": false, "isLValue": false, "isPure": false, @@ -175599,11 +175489,11 @@ } }, { - "id": 5654, + "id": 5665, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5639, + "referencedDeclaration": 5650, "src": "26394:4:11", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -175627,18 +175517,18 @@ } ], "expression": { - "id": 5644, + "id": 5655, "name": "LibBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3078, + "referencedDeclaration": 3089, "src": "26342:8:11", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytes_$3078_$", + "typeIdentifier": "t_type$_t_contract$_LibBytes_$3089_$", "typeString": "type(library LibBytes)" } }, - "id": 5645, + "id": 5656, "isConstant": false, "isLValue": false, "isPure": false, @@ -175646,14 +175536,14 @@ "memberLocation": "26351:11:11", "memberName": "lastIndexOf", "nodeType": "MemberAccess", - "referencedDeclaration": 2746, + "referencedDeclaration": 2757, "src": "26342:20:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (bytes memory,bytes memory,uint256) pure returns (uint256)" } }, - "id": 5655, + "id": 5666, "isConstant": false, "isLValue": false, "isPure": false, @@ -175669,20 +175559,20 @@ "typeString": "uint256" } }, - "functionReturnParameters": 5643, - "id": 5656, + "functionReturnParameters": 5654, + "id": 5667, "nodeType": "Return", "src": "26335:64:11" } ] }, "documentation": { - "id": 5633, + "id": 5644, "nodeType": "StructuredDocumentation", "src": "25956:224:11", "text": "@dev Returns the byte index of the first location of `needle` in `subject`,\n needleing from right to left, starting from `from`.\n Returns `NOT_FOUND` (i.e. `type(uint256).max`) if the `needle` is not found." }, - "id": 5658, + "id": 5669, "implemented": true, "kind": "function", "modifiers": [], @@ -175690,17 +175580,17 @@ "nameLocation": "26194:11:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 5640, + "id": 5651, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5635, + "id": 5646, "mutability": "mutable", "name": "subject", "nameLocation": "26220:7:11", "nodeType": "VariableDeclaration", - "scope": 5658, + "scope": 5669, "src": "26206:21:11", "stateVariable": false, "storageLocation": "memory", @@ -175709,7 +175599,7 @@ "typeString": "string" }, "typeName": { - "id": 5634, + "id": 5645, "name": "string", "nodeType": "ElementaryTypeName", "src": "26206:6:11", @@ -175722,12 +175612,12 @@ }, { "constant": false, - "id": 5637, + "id": 5648, "mutability": "mutable", "name": "needle", "nameLocation": "26243:6:11", "nodeType": "VariableDeclaration", - "scope": 5658, + "scope": 5669, "src": "26229:20:11", "stateVariable": false, "storageLocation": "memory", @@ -175736,7 +175626,7 @@ "typeString": "string" }, "typeName": { - "id": 5636, + "id": 5647, "name": "string", "nodeType": "ElementaryTypeName", "src": "26229:6:11", @@ -175749,12 +175639,12 @@ }, { "constant": false, - "id": 5639, + "id": 5650, "mutability": "mutable", "name": "from", "nameLocation": "26259:4:11", "nodeType": "VariableDeclaration", - "scope": 5658, + "scope": 5669, "src": "26251:12:11", "stateVariable": false, "storageLocation": "default", @@ -175763,7 +175653,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5638, + "id": 5649, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "26251:7:11", @@ -175778,17 +175668,17 @@ "src": "26205:59:11" }, "returnParameters": { - "id": 5643, + "id": 5654, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5642, + "id": 5653, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 5658, + "scope": 5669, "src": "26312:7:11", "stateVariable": false, "storageLocation": "default", @@ -175797,7 +175687,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5641, + "id": 5652, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "26312:7:11", @@ -175811,7 +175701,7 @@ ], "src": "26311:9:11" }, - "scope": 6134, + "scope": 6145, "src": "26185:221:11", "stateMutability": "pure", "virtual": false, @@ -175819,7 +175709,7 @@ }, { "body": { - "id": 5685, + "id": 5696, "nodeType": "Block", "src": "26745:94:11", "statements": [ @@ -175829,11 +175719,11 @@ { "arguments": [ { - "id": 5672, + "id": 5683, "name": "subject", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5661, + "referencedDeclaration": 5672, "src": "26789:7:11", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -175848,7 +175738,7 @@ "typeString": "string memory" } ], - "id": 5671, + "id": 5682, "isConstant": false, "isLValue": false, "isPure": true, @@ -175860,14 +175750,14 @@ "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5670, + "id": 5681, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "26783:5:11", "typeDescriptions": {} } }, - "id": 5673, + "id": 5684, "isConstant": false, "isLValue": false, "isPure": false, @@ -175886,11 +175776,11 @@ { "arguments": [ { - "id": 5676, + "id": 5687, "name": "needle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5663, + "referencedDeclaration": 5674, "src": "26805:6:11", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -175905,7 +175795,7 @@ "typeString": "string memory" } ], - "id": 5675, + "id": 5686, "isConstant": false, "isLValue": false, "isPure": true, @@ -175917,14 +175807,14 @@ "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5674, + "id": 5685, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "26799:5:11", "typeDescriptions": {} } }, - "id": 5677, + "id": 5688, "isConstant": false, "isLValue": false, "isPure": false, @@ -175944,7 +175834,7 @@ "expression": { "arguments": [ { - "id": 5680, + "id": 5691, "isConstant": false, "isLValue": false, "isPure": true, @@ -175956,7 +175846,7 @@ "typeString": "type(uint256)" }, "typeName": { - "id": 5679, + "id": 5690, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "26819:7:11", @@ -175971,7 +175861,7 @@ "typeString": "type(uint256)" } ], - "id": 5678, + "id": 5689, "name": "type", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -175982,7 +175872,7 @@ "typeString": "function () pure" } }, - "id": 5681, + "id": 5692, "isConstant": false, "isLValue": false, "isPure": true, @@ -175998,7 +175888,7 @@ "typeString": "type(uint256)" } }, - "id": 5682, + "id": 5693, "isConstant": false, "isLValue": false, "isPure": true, @@ -176029,18 +175919,18 @@ } ], "expression": { - "id": 5668, + "id": 5679, "name": "LibBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3078, + "referencedDeclaration": 3089, "src": "26762:8:11", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytes_$3078_$", + "typeIdentifier": "t_type$_t_contract$_LibBytes_$3089_$", "typeString": "type(library LibBytes)" } }, - "id": 5669, + "id": 5680, "isConstant": false, "isLValue": false, "isPure": false, @@ -176048,14 +175938,14 @@ "memberLocation": "26771:11:11", "memberName": "lastIndexOf", "nodeType": "MemberAccess", - "referencedDeclaration": 2746, + "referencedDeclaration": 2757, "src": "26762:20:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (bytes memory,bytes memory,uint256) pure returns (uint256)" } }, - "id": 5683, + "id": 5694, "isConstant": false, "isLValue": false, "isPure": false, @@ -176071,20 +175961,20 @@ "typeString": "uint256" } }, - "functionReturnParameters": 5667, - "id": 5684, + "functionReturnParameters": 5678, + "id": 5695, "nodeType": "Return", "src": "26755:77:11" } ] }, "documentation": { - "id": 5659, + "id": 5670, "nodeType": "StructuredDocumentation", "src": "26412:202:11", "text": "@dev Returns the byte index of the first location of `needle` in `subject`,\n needleing from right to left.\n Returns `NOT_FOUND` (i.e. `type(uint256).max`) if the `needle` is not found." }, - "id": 5686, + "id": 5697, "implemented": true, "kind": "function", "modifiers": [], @@ -176092,17 +175982,17 @@ "nameLocation": "26628:11:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 5664, + "id": 5675, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5661, + "id": 5672, "mutability": "mutable", "name": "subject", "nameLocation": "26654:7:11", "nodeType": "VariableDeclaration", - "scope": 5686, + "scope": 5697, "src": "26640:21:11", "stateVariable": false, "storageLocation": "memory", @@ -176111,7 +176001,7 @@ "typeString": "string" }, "typeName": { - "id": 5660, + "id": 5671, "name": "string", "nodeType": "ElementaryTypeName", "src": "26640:6:11", @@ -176124,12 +176014,12 @@ }, { "constant": false, - "id": 5663, + "id": 5674, "mutability": "mutable", "name": "needle", "nameLocation": "26677:6:11", "nodeType": "VariableDeclaration", - "scope": 5686, + "scope": 5697, "src": "26663:20:11", "stateVariable": false, "storageLocation": "memory", @@ -176138,7 +176028,7 @@ "typeString": "string" }, "typeName": { - "id": 5662, + "id": 5673, "name": "string", "nodeType": "ElementaryTypeName", "src": "26663:6:11", @@ -176153,17 +176043,17 @@ "src": "26639:45:11" }, "returnParameters": { - "id": 5667, + "id": 5678, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5666, + "id": 5677, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 5686, + "scope": 5697, "src": "26732:7:11", "stateVariable": false, "storageLocation": "default", @@ -176172,7 +176062,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5665, + "id": 5676, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "26732:7:11", @@ -176186,7 +176076,7 @@ ], "src": "26731:9:11" }, - "scope": 6134, + "scope": 6145, "src": "26619:220:11", "stateMutability": "pure", "virtual": false, @@ -176194,7 +176084,7 @@ }, { "body": { - "id": 5708, + "id": 5719, "nodeType": "Block", "src": "27015:72:11", "statements": [ @@ -176204,11 +176094,11 @@ { "arguments": [ { - "id": 5700, + "id": 5711, "name": "subject", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5689, + "referencedDeclaration": 5700, "src": "27056:7:11", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -176223,7 +176113,7 @@ "typeString": "string memory" } ], - "id": 5699, + "id": 5710, "isConstant": false, "isLValue": false, "isPure": true, @@ -176235,14 +176125,14 @@ "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5698, + "id": 5709, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "27050:5:11", "typeDescriptions": {} } }, - "id": 5701, + "id": 5712, "isConstant": false, "isLValue": false, "isPure": false, @@ -176261,11 +176151,11 @@ { "arguments": [ { - "id": 5704, + "id": 5715, "name": "needle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5691, + "referencedDeclaration": 5702, "src": "27072:6:11", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -176280,7 +176170,7 @@ "typeString": "string memory" } ], - "id": 5703, + "id": 5714, "isConstant": false, "isLValue": false, "isPure": true, @@ -176292,14 +176182,14 @@ "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5702, + "id": 5713, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "27066:5:11", "typeDescriptions": {} } }, - "id": 5705, + "id": 5716, "isConstant": false, "isLValue": false, "isPure": false, @@ -176328,18 +176218,18 @@ } ], "expression": { - "id": 5696, + "id": 5707, "name": "LibBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3078, + "referencedDeclaration": 3089, "src": "27032:8:11", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytes_$3078_$", + "typeIdentifier": "t_type$_t_contract$_LibBytes_$3089_$", "typeString": "type(library LibBytes)" } }, - "id": 5697, + "id": 5708, "isConstant": false, "isLValue": false, "isPure": false, @@ -176347,14 +176237,14 @@ "memberLocation": "27041:8:11", "memberName": "contains", "nodeType": "MemberAccess", - "referencedDeclaration": 2785, + "referencedDeclaration": 2796, "src": "27032:17:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bool_$", "typeString": "function (bytes memory,bytes memory) pure returns (bool)" } }, - "id": 5706, + "id": 5717, "isConstant": false, "isLValue": false, "isPure": false, @@ -176370,20 +176260,20 @@ "typeString": "bool" } }, - "functionReturnParameters": 5695, - "id": 5707, + "functionReturnParameters": 5706, + "id": 5718, "nodeType": "Return", "src": "27025:55:11" } ] }, "documentation": { - "id": 5687, + "id": 5698, "nodeType": "StructuredDocumentation", "src": "26845:73:11", "text": "@dev Returns true if `needle` is found in `subject`, false otherwise." }, - "id": 5709, + "id": 5720, "implemented": true, "kind": "function", "modifiers": [], @@ -176391,17 +176281,17 @@ "nameLocation": "26932:8:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 5692, + "id": 5703, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5689, + "id": 5700, "mutability": "mutable", "name": "subject", "nameLocation": "26955:7:11", "nodeType": "VariableDeclaration", - "scope": 5709, + "scope": 5720, "src": "26941:21:11", "stateVariable": false, "storageLocation": "memory", @@ -176410,7 +176300,7 @@ "typeString": "string" }, "typeName": { - "id": 5688, + "id": 5699, "name": "string", "nodeType": "ElementaryTypeName", "src": "26941:6:11", @@ -176423,12 +176313,12 @@ }, { "constant": false, - "id": 5691, + "id": 5702, "mutability": "mutable", "name": "needle", "nameLocation": "26978:6:11", "nodeType": "VariableDeclaration", - "scope": 5709, + "scope": 5720, "src": "26964:20:11", "stateVariable": false, "storageLocation": "memory", @@ -176437,7 +176327,7 @@ "typeString": "string" }, "typeName": { - "id": 5690, + "id": 5701, "name": "string", "nodeType": "ElementaryTypeName", "src": "26964:6:11", @@ -176452,17 +176342,17 @@ "src": "26940:45:11" }, "returnParameters": { - "id": 5695, + "id": 5706, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5694, + "id": 5705, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 5709, + "scope": 5720, "src": "27009:4:11", "stateVariable": false, "storageLocation": "default", @@ -176471,7 +176361,7 @@ "typeString": "bool" }, "typeName": { - "id": 5693, + "id": 5704, "name": "bool", "nodeType": "ElementaryTypeName", "src": "27009:4:11", @@ -176485,7 +176375,7 @@ ], "src": "27008:6:11" }, - "scope": 6134, + "scope": 6145, "src": "26923:164:11", "stateMutability": "pure", "virtual": false, @@ -176493,7 +176383,7 @@ }, { "body": { - "id": 5731, + "id": 5742, "nodeType": "Block", "src": "27248:74:11", "statements": [ @@ -176503,11 +176393,11 @@ { "arguments": [ { - "id": 5723, + "id": 5734, "name": "subject", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5712, + "referencedDeclaration": 5723, "src": "27291:7:11", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -176522,7 +176412,7 @@ "typeString": "string memory" } ], - "id": 5722, + "id": 5733, "isConstant": false, "isLValue": false, "isPure": true, @@ -176534,14 +176424,14 @@ "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5721, + "id": 5732, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "27285:5:11", "typeDescriptions": {} } }, - "id": 5724, + "id": 5735, "isConstant": false, "isLValue": false, "isPure": false, @@ -176560,11 +176450,11 @@ { "arguments": [ { - "id": 5727, + "id": 5738, "name": "needle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5714, + "referencedDeclaration": 5725, "src": "27307:6:11", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -176579,7 +176469,7 @@ "typeString": "string memory" } ], - "id": 5726, + "id": 5737, "isConstant": false, "isLValue": false, "isPure": true, @@ -176591,14 +176481,14 @@ "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5725, + "id": 5736, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "27301:5:11", "typeDescriptions": {} } }, - "id": 5728, + "id": 5739, "isConstant": false, "isLValue": false, "isPure": false, @@ -176627,18 +176517,18 @@ } ], "expression": { - "id": 5719, + "id": 5730, "name": "LibBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3078, + "referencedDeclaration": 3089, "src": "27265:8:11", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytes_$3078_$", + "typeIdentifier": "t_type$_t_contract$_LibBytes_$3089_$", "typeString": "type(library LibBytes)" } }, - "id": 5720, + "id": 5731, "isConstant": false, "isLValue": false, "isPure": false, @@ -176646,14 +176536,14 @@ "memberLocation": "27274:10:11", "memberName": "startsWith", "nodeType": "MemberAccess", - "referencedDeclaration": 2797, + "referencedDeclaration": 2808, "src": "27265:19:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bool_$", "typeString": "function (bytes memory,bytes memory) pure returns (bool)" } }, - "id": 5729, + "id": 5740, "isConstant": false, "isLValue": false, "isPure": false, @@ -176669,20 +176559,20 @@ "typeString": "bool" } }, - "functionReturnParameters": 5718, - "id": 5730, + "functionReturnParameters": 5729, + "id": 5741, "nodeType": "Return", "src": "27258:57:11" } ] }, "documentation": { - "id": 5710, + "id": 5721, "nodeType": "StructuredDocumentation", "src": "27093:56:11", "text": "@dev Returns whether `subject` starts with `needle`." }, - "id": 5732, + "id": 5743, "implemented": true, "kind": "function", "modifiers": [], @@ -176690,17 +176580,17 @@ "nameLocation": "27163:10:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 5715, + "id": 5726, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5712, + "id": 5723, "mutability": "mutable", "name": "subject", "nameLocation": "27188:7:11", "nodeType": "VariableDeclaration", - "scope": 5732, + "scope": 5743, "src": "27174:21:11", "stateVariable": false, "storageLocation": "memory", @@ -176709,7 +176599,7 @@ "typeString": "string" }, "typeName": { - "id": 5711, + "id": 5722, "name": "string", "nodeType": "ElementaryTypeName", "src": "27174:6:11", @@ -176722,12 +176612,12 @@ }, { "constant": false, - "id": 5714, + "id": 5725, "mutability": "mutable", "name": "needle", "nameLocation": "27211:6:11", "nodeType": "VariableDeclaration", - "scope": 5732, + "scope": 5743, "src": "27197:20:11", "stateVariable": false, "storageLocation": "memory", @@ -176736,7 +176626,7 @@ "typeString": "string" }, "typeName": { - "id": 5713, + "id": 5724, "name": "string", "nodeType": "ElementaryTypeName", "src": "27197:6:11", @@ -176751,17 +176641,17 @@ "src": "27173:45:11" }, "returnParameters": { - "id": 5718, + "id": 5729, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5717, + "id": 5728, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 5732, + "scope": 5743, "src": "27242:4:11", "stateVariable": false, "storageLocation": "default", @@ -176770,7 +176660,7 @@ "typeString": "bool" }, "typeName": { - "id": 5716, + "id": 5727, "name": "bool", "nodeType": "ElementaryTypeName", "src": "27242:4:11", @@ -176784,7 +176674,7 @@ ], "src": "27241:6:11" }, - "scope": 6134, + "scope": 6145, "src": "27154:168:11", "stateMutability": "pure", "virtual": false, @@ -176792,7 +176682,7 @@ }, { "body": { - "id": 5754, + "id": 5765, "nodeType": "Block", "src": "27479:72:11", "statements": [ @@ -176802,11 +176692,11 @@ { "arguments": [ { - "id": 5746, + "id": 5757, "name": "subject", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5735, + "referencedDeclaration": 5746, "src": "27520:7:11", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -176821,7 +176711,7 @@ "typeString": "string memory" } ], - "id": 5745, + "id": 5756, "isConstant": false, "isLValue": false, "isPure": true, @@ -176833,14 +176723,14 @@ "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5744, + "id": 5755, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "27514:5:11", "typeDescriptions": {} } }, - "id": 5747, + "id": 5758, "isConstant": false, "isLValue": false, "isPure": false, @@ -176859,11 +176749,11 @@ { "arguments": [ { - "id": 5750, + "id": 5761, "name": "needle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5737, + "referencedDeclaration": 5748, "src": "27536:6:11", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -176878,7 +176768,7 @@ "typeString": "string memory" } ], - "id": 5749, + "id": 5760, "isConstant": false, "isLValue": false, "isPure": true, @@ -176890,14 +176780,14 @@ "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5748, + "id": 5759, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "27530:5:11", "typeDescriptions": {} } }, - "id": 5751, + "id": 5762, "isConstant": false, "isLValue": false, "isPure": false, @@ -176926,18 +176816,18 @@ } ], "expression": { - "id": 5742, + "id": 5753, "name": "LibBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3078, + "referencedDeclaration": 3089, "src": "27496:8:11", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytes_$3078_$", + "typeIdentifier": "t_type$_t_contract$_LibBytes_$3089_$", "typeString": "type(library LibBytes)" } }, - "id": 5743, + "id": 5754, "isConstant": false, "isLValue": false, "isPure": false, @@ -176945,14 +176835,14 @@ "memberLocation": "27505:8:11", "memberName": "endsWith", "nodeType": "MemberAccess", - "referencedDeclaration": 2809, + "referencedDeclaration": 2820, "src": "27496:17:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bool_$", "typeString": "function (bytes memory,bytes memory) pure returns (bool)" } }, - "id": 5752, + "id": 5763, "isConstant": false, "isLValue": false, "isPure": false, @@ -176968,20 +176858,20 @@ "typeString": "bool" } }, - "functionReturnParameters": 5741, - "id": 5753, + "functionReturnParameters": 5752, + "id": 5764, "nodeType": "Return", "src": "27489:55:11" } ] }, "documentation": { - "id": 5733, + "id": 5744, "nodeType": "StructuredDocumentation", "src": "27328:54:11", "text": "@dev Returns whether `subject` ends with `needle`." }, - "id": 5755, + "id": 5766, "implemented": true, "kind": "function", "modifiers": [], @@ -176989,17 +176879,17 @@ "nameLocation": "27396:8:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 5738, + "id": 5749, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5735, + "id": 5746, "mutability": "mutable", "name": "subject", "nameLocation": "27419:7:11", "nodeType": "VariableDeclaration", - "scope": 5755, + "scope": 5766, "src": "27405:21:11", "stateVariable": false, "storageLocation": "memory", @@ -177008,7 +176898,7 @@ "typeString": "string" }, "typeName": { - "id": 5734, + "id": 5745, "name": "string", "nodeType": "ElementaryTypeName", "src": "27405:6:11", @@ -177021,12 +176911,12 @@ }, { "constant": false, - "id": 5737, + "id": 5748, "mutability": "mutable", "name": "needle", "nameLocation": "27442:6:11", "nodeType": "VariableDeclaration", - "scope": 5755, + "scope": 5766, "src": "27428:20:11", "stateVariable": false, "storageLocation": "memory", @@ -177035,7 +176925,7 @@ "typeString": "string" }, "typeName": { - "id": 5736, + "id": 5747, "name": "string", "nodeType": "ElementaryTypeName", "src": "27428:6:11", @@ -177050,17 +176940,17 @@ "src": "27404:45:11" }, "returnParameters": { - "id": 5741, + "id": 5752, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5740, + "id": 5751, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 5755, + "scope": 5766, "src": "27473:4:11", "stateVariable": false, "storageLocation": "default", @@ -177069,7 +176959,7 @@ "typeString": "bool" }, "typeName": { - "id": 5739, + "id": 5750, "name": "bool", "nodeType": "ElementaryTypeName", "src": "27473:4:11", @@ -177083,7 +176973,7 @@ ], "src": "27472:6:11" }, - "scope": 6134, + "scope": 6145, "src": "27387:164:11", "stateMutability": "pure", "virtual": false, @@ -177091,7 +176981,7 @@ }, { "body": { - "id": 5777, + "id": 5788, "nodeType": "Block", "src": "27698:70:11", "statements": [ @@ -177103,11 +176993,11 @@ { "arguments": [ { - "id": 5771, + "id": 5782, "name": "subject", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5758, + "referencedDeclaration": 5769, "src": "27744:7:11", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -177122,7 +177012,7 @@ "typeString": "string memory" } ], - "id": 5770, + "id": 5781, "isConstant": false, "isLValue": false, "isPure": true, @@ -177134,14 +177024,14 @@ "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5769, + "id": 5780, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "27738:5:11", "typeDescriptions": {} } }, - "id": 5772, + "id": 5783, "isConstant": false, "isLValue": false, "isPure": false, @@ -177158,11 +177048,11 @@ } }, { - "id": 5773, + "id": 5784, "name": "times", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5760, + "referencedDeclaration": 5771, "src": "27754:5:11", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -177182,18 +177072,18 @@ } ], "expression": { - "id": 5767, + "id": 5778, "name": "LibBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3078, + "referencedDeclaration": 3089, "src": "27722:8:11", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytes_$3078_$", + "typeIdentifier": "t_type$_t_contract$_LibBytes_$3089_$", "typeString": "type(library LibBytes)" } }, - "id": 5768, + "id": 5779, "isConstant": false, "isLValue": false, "isPure": false, @@ -177201,14 +177091,14 @@ "memberLocation": "27731:6:11", "memberName": "repeat", "nodeType": "MemberAccess", - "referencedDeclaration": 2821, + "referencedDeclaration": 2832, "src": "27722:15:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes_memory_ptr_$", "typeString": "function (bytes memory,uint256) pure returns (bytes memory)" } }, - "id": 5774, + "id": 5785, "isConstant": false, "isLValue": false, "isPure": false, @@ -177232,7 +177122,7 @@ "typeString": "bytes memory" } ], - "id": 5766, + "id": 5777, "isConstant": false, "isLValue": false, "isPure": true, @@ -177244,14 +177134,14 @@ "typeString": "type(string storage pointer)" }, "typeName": { - "id": 5765, + "id": 5776, "name": "string", "nodeType": "ElementaryTypeName", "src": "27715:6:11", "typeDescriptions": {} } }, - "id": 5775, + "id": 5786, "isConstant": false, "isLValue": false, "isPure": false, @@ -177267,20 +177157,20 @@ "typeString": "string memory" } }, - "functionReturnParameters": 5764, - "id": 5776, + "functionReturnParameters": 5775, + "id": 5787, "nodeType": "Return", "src": "27708:53:11" } ] }, "documentation": { - "id": 5756, + "id": 5767, "nodeType": "StructuredDocumentation", "src": "27557:44:11", "text": "@dev Returns `subject` repeated `times`." }, - "id": 5778, + "id": 5789, "implemented": true, "kind": "function", "modifiers": [], @@ -177288,17 +177178,17 @@ "nameLocation": "27615:6:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 5761, + "id": 5772, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5758, + "id": 5769, "mutability": "mutable", "name": "subject", "nameLocation": "27636:7:11", "nodeType": "VariableDeclaration", - "scope": 5778, + "scope": 5789, "src": "27622:21:11", "stateVariable": false, "storageLocation": "memory", @@ -177307,7 +177197,7 @@ "typeString": "string" }, "typeName": { - "id": 5757, + "id": 5768, "name": "string", "nodeType": "ElementaryTypeName", "src": "27622:6:11", @@ -177320,12 +177210,12 @@ }, { "constant": false, - "id": 5760, + "id": 5771, "mutability": "mutable", "name": "times", "nameLocation": "27653:5:11", "nodeType": "VariableDeclaration", - "scope": 5778, + "scope": 5789, "src": "27645:13:11", "stateVariable": false, "storageLocation": "default", @@ -177334,7 +177224,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5759, + "id": 5770, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "27645:7:11", @@ -177349,17 +177239,17 @@ "src": "27621:38:11" }, "returnParameters": { - "id": 5764, + "id": 5775, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5763, + "id": 5774, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 5778, + "scope": 5789, "src": "27683:13:11", "stateVariable": false, "storageLocation": "memory", @@ -177368,7 +177258,7 @@ "typeString": "string" }, "typeName": { - "id": 5762, + "id": 5773, "name": "string", "nodeType": "ElementaryTypeName", "src": "27683:6:11", @@ -177382,7 +177272,7 @@ ], "src": "27682:15:11" }, - "scope": 6134, + "scope": 6145, "src": "27606:162:11", "stateMutability": "pure", "virtual": false, @@ -177390,7 +177280,7 @@ }, { "body": { - "id": 5803, + "id": 5814, "nodeType": "Block", "src": "28033:74:11", "statements": [ @@ -177402,11 +177292,11 @@ { "arguments": [ { - "id": 5796, + "id": 5807, "name": "subject", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5781, + "referencedDeclaration": 5792, "src": "28078:7:11", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -177421,7 +177311,7 @@ "typeString": "string memory" } ], - "id": 5795, + "id": 5806, "isConstant": false, "isLValue": false, "isPure": true, @@ -177433,14 +177323,14 @@ "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5794, + "id": 5805, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "28072:5:11", "typeDescriptions": {} } }, - "id": 5797, + "id": 5808, "isConstant": false, "isLValue": false, "isPure": false, @@ -177457,11 +177347,11 @@ } }, { - "id": 5798, + "id": 5809, "name": "start", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5783, + "referencedDeclaration": 5794, "src": "28088:5:11", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -177469,11 +177359,11 @@ } }, { - "id": 5799, + "id": 5810, "name": "end", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5785, + "referencedDeclaration": 5796, "src": "28095:3:11", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -177497,18 +177387,18 @@ } ], "expression": { - "id": 5792, + "id": 5803, "name": "LibBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3078, + "referencedDeclaration": 3089, "src": "28057:8:11", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytes_$3078_$", + "typeIdentifier": "t_type$_t_contract$_LibBytes_$3089_$", "typeString": "type(library LibBytes)" } }, - "id": 5793, + "id": 5804, "isConstant": false, "isLValue": false, "isPure": false, @@ -177516,14 +177406,14 @@ "memberLocation": "28066:5:11", "memberName": "slice", "nodeType": "MemberAccess", - "referencedDeclaration": 2835, + "referencedDeclaration": 2846, "src": "28057:14:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$", "typeString": "function (bytes memory,uint256,uint256) pure returns (bytes memory)" } }, - "id": 5800, + "id": 5811, "isConstant": false, "isLValue": false, "isPure": false, @@ -177547,7 +177437,7 @@ "typeString": "bytes memory" } ], - "id": 5791, + "id": 5802, "isConstant": false, "isLValue": false, "isPure": true, @@ -177559,14 +177449,14 @@ "typeString": "type(string storage pointer)" }, "typeName": { - "id": 5790, + "id": 5801, "name": "string", "nodeType": "ElementaryTypeName", "src": "28050:6:11", "typeDescriptions": {} } }, - "id": 5801, + "id": 5812, "isConstant": false, "isLValue": false, "isPure": false, @@ -177582,20 +177472,20 @@ "typeString": "string memory" } }, - "functionReturnParameters": 5789, - "id": 5802, + "functionReturnParameters": 5800, + "id": 5813, "nodeType": "Return", "src": "28043:57:11" } ] }, "documentation": { - "id": 5779, + "id": 5790, "nodeType": "StructuredDocumentation", "src": "27774:122:11", "text": "@dev Returns a copy of `subject` sliced from `start` to `end` (exclusive).\n `start` and `end` are byte offsets." }, - "id": 5804, + "id": 5815, "implemented": true, "kind": "function", "modifiers": [], @@ -177603,17 +177493,17 @@ "nameLocation": "27910:5:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 5786, + "id": 5797, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5781, + "id": 5792, "mutability": "mutable", "name": "subject", "nameLocation": "27930:7:11", "nodeType": "VariableDeclaration", - "scope": 5804, + "scope": 5815, "src": "27916:21:11", "stateVariable": false, "storageLocation": "memory", @@ -177622,7 +177512,7 @@ "typeString": "string" }, "typeName": { - "id": 5780, + "id": 5791, "name": "string", "nodeType": "ElementaryTypeName", "src": "27916:6:11", @@ -177635,12 +177525,12 @@ }, { "constant": false, - "id": 5783, + "id": 5794, "mutability": "mutable", "name": "start", "nameLocation": "27947:5:11", "nodeType": "VariableDeclaration", - "scope": 5804, + "scope": 5815, "src": "27939:13:11", "stateVariable": false, "storageLocation": "default", @@ -177649,7 +177539,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5782, + "id": 5793, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "27939:7:11", @@ -177662,12 +177552,12 @@ }, { "constant": false, - "id": 5785, + "id": 5796, "mutability": "mutable", "name": "end", "nameLocation": "27962:3:11", "nodeType": "VariableDeclaration", - "scope": 5804, + "scope": 5815, "src": "27954:11:11", "stateVariable": false, "storageLocation": "default", @@ -177676,7 +177566,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5784, + "id": 5795, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "27954:7:11", @@ -177691,17 +177581,17 @@ "src": "27915:51:11" }, "returnParameters": { - "id": 5789, + "id": 5800, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5788, + "id": 5799, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 5804, + "scope": 5815, "src": "28014:13:11", "stateVariable": false, "storageLocation": "memory", @@ -177710,7 +177600,7 @@ "typeString": "string" }, "typeName": { - "id": 5787, + "id": 5798, "name": "string", "nodeType": "ElementaryTypeName", "src": "28014:6:11", @@ -177724,7 +177614,7 @@ ], "src": "28013:15:11" }, - "scope": 6134, + "scope": 6145, "src": "27901:206:11", "stateMutability": "pure", "virtual": false, @@ -177732,7 +177622,7 @@ }, { "body": { - "id": 5831, + "id": 5842, "nodeType": "Block", "src": "28325:88:11", "statements": [ @@ -177744,11 +177634,11 @@ { "arguments": [ { - "id": 5820, + "id": 5831, "name": "subject", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5807, + "referencedDeclaration": 5818, "src": "28370:7:11", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -177763,7 +177653,7 @@ "typeString": "string memory" } ], - "id": 5819, + "id": 5830, "isConstant": false, "isLValue": false, "isPure": true, @@ -177775,14 +177665,14 @@ "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5818, + "id": 5829, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "28364:5:11", "typeDescriptions": {} } }, - "id": 5821, + "id": 5832, "isConstant": false, "isLValue": false, "isPure": false, @@ -177799,11 +177689,11 @@ } }, { - "id": 5822, + "id": 5833, "name": "start", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5809, + "referencedDeclaration": 5820, "src": "28380:5:11", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -177814,7 +177704,7 @@ "expression": { "arguments": [ { - "id": 5825, + "id": 5836, "isConstant": false, "isLValue": false, "isPure": true, @@ -177826,7 +177716,7 @@ "typeString": "type(uint256)" }, "typeName": { - "id": 5824, + "id": 5835, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "28392:7:11", @@ -177841,7 +177731,7 @@ "typeString": "type(uint256)" } ], - "id": 5823, + "id": 5834, "name": "type", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -177852,7 +177742,7 @@ "typeString": "function () pure" } }, - "id": 5826, + "id": 5837, "isConstant": false, "isLValue": false, "isPure": true, @@ -177868,7 +177758,7 @@ "typeString": "type(uint256)" } }, - "id": 5827, + "id": 5838, "isConstant": false, "isLValue": false, "isPure": true, @@ -177899,18 +177789,18 @@ } ], "expression": { - "id": 5816, + "id": 5827, "name": "LibBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3078, + "referencedDeclaration": 3089, "src": "28349:8:11", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytes_$3078_$", + "typeIdentifier": "t_type$_t_contract$_LibBytes_$3089_$", "typeString": "type(library LibBytes)" } }, - "id": 5817, + "id": 5828, "isConstant": false, "isLValue": false, "isPure": false, @@ -177918,14 +177808,14 @@ "memberLocation": "28358:5:11", "memberName": "slice", "nodeType": "MemberAccess", - "referencedDeclaration": 2835, + "referencedDeclaration": 2846, "src": "28349:14:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$", "typeString": "function (bytes memory,uint256,uint256) pure returns (bytes memory)" } }, - "id": 5828, + "id": 5839, "isConstant": false, "isLValue": false, "isPure": false, @@ -177949,7 +177839,7 @@ "typeString": "bytes memory" } ], - "id": 5815, + "id": 5826, "isConstant": false, "isLValue": false, "isPure": true, @@ -177961,14 +177851,14 @@ "typeString": "type(string storage pointer)" }, "typeName": { - "id": 5814, + "id": 5825, "name": "string", "nodeType": "ElementaryTypeName", "src": "28342:6:11", "typeDescriptions": {} } }, - "id": 5829, + "id": 5840, "isConstant": false, "isLValue": false, "isPure": false, @@ -177984,20 +177874,20 @@ "typeString": "string memory" } }, - "functionReturnParameters": 5813, - "id": 5830, + "functionReturnParameters": 5824, + "id": 5841, "nodeType": "Return", "src": "28335:71:11" } ] }, "documentation": { - "id": 5805, + "id": 5816, "nodeType": "StructuredDocumentation", "src": "28113:116:11", "text": "@dev Returns a copy of `subject` sliced from `start` to the end of the string.\n `start` is a byte offset." }, - "id": 5832, + "id": 5843, "implemented": true, "kind": "function", "modifiers": [], @@ -178005,17 +177895,17 @@ "nameLocation": "28243:5:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 5810, + "id": 5821, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5807, + "id": 5818, "mutability": "mutable", "name": "subject", "nameLocation": "28263:7:11", "nodeType": "VariableDeclaration", - "scope": 5832, + "scope": 5843, "src": "28249:21:11", "stateVariable": false, "storageLocation": "memory", @@ -178024,7 +177914,7 @@ "typeString": "string" }, "typeName": { - "id": 5806, + "id": 5817, "name": "string", "nodeType": "ElementaryTypeName", "src": "28249:6:11", @@ -178037,12 +177927,12 @@ }, { "constant": false, - "id": 5809, + "id": 5820, "mutability": "mutable", "name": "start", "nameLocation": "28280:5:11", "nodeType": "VariableDeclaration", - "scope": 5832, + "scope": 5843, "src": "28272:13:11", "stateVariable": false, "storageLocation": "default", @@ -178051,7 +177941,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5808, + "id": 5819, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "28272:7:11", @@ -178066,17 +177956,17 @@ "src": "28248:38:11" }, "returnParameters": { - "id": 5813, + "id": 5824, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5812, + "id": 5823, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 5832, + "scope": 5843, "src": "28310:13:11", "stateVariable": false, "storageLocation": "memory", @@ -178085,7 +177975,7 @@ "typeString": "string" }, "typeName": { - "id": 5811, + "id": 5822, "name": "string", "nodeType": "ElementaryTypeName", "src": "28310:6:11", @@ -178099,7 +177989,7 @@ ], "src": "28309:15:11" }, - "scope": 6134, + "scope": 6145, "src": "28234:179:11", "stateMutability": "pure", "virtual": false, @@ -178107,7 +177997,7 @@ }, { "body": { - "id": 5855, + "id": 5866, "nodeType": "Block", "src": "28653:73:11", "statements": [ @@ -178117,11 +178007,11 @@ { "arguments": [ { - "id": 5847, + "id": 5858, "name": "subject", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5835, + "referencedDeclaration": 5846, "src": "28695:7:11", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -178136,7 +178026,7 @@ "typeString": "string memory" } ], - "id": 5846, + "id": 5857, "isConstant": false, "isLValue": false, "isPure": true, @@ -178148,14 +178038,14 @@ "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5845, + "id": 5856, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "28689:5:11", "typeDescriptions": {} } }, - "id": 5848, + "id": 5859, "isConstant": false, "isLValue": false, "isPure": false, @@ -178174,11 +178064,11 @@ { "arguments": [ { - "id": 5851, + "id": 5862, "name": "needle", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5837, + "referencedDeclaration": 5848, "src": "28711:6:11", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -178193,7 +178083,7 @@ "typeString": "string memory" } ], - "id": 5850, + "id": 5861, "isConstant": false, "isLValue": false, "isPure": true, @@ -178205,14 +178095,14 @@ "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5849, + "id": 5860, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "28705:5:11", "typeDescriptions": {} } }, - "id": 5852, + "id": 5863, "isConstant": false, "isLValue": false, "isPure": false, @@ -178241,18 +178131,18 @@ } ], "expression": { - "id": 5843, + "id": 5854, "name": "LibBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3078, + "referencedDeclaration": 3089, "src": "28670:8:11", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytes_$3078_$", + "typeIdentifier": "t_type$_t_contract$_LibBytes_$3089_$", "typeString": "type(library LibBytes)" } }, - "id": 5844, + "id": 5855, "isConstant": false, "isLValue": false, "isPure": false, @@ -178260,14 +178150,14 @@ "memberLocation": "28679:9:11", "memberName": "indicesOf", "nodeType": "MemberAccess", - "referencedDeclaration": 2921, + "referencedDeclaration": 2932, "src": "28670:18:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (bytes memory,bytes memory) pure returns (uint256[] memory)" } }, - "id": 5853, + "id": 5864, "isConstant": false, "isLValue": false, "isPure": false, @@ -178283,20 +178173,20 @@ "typeString": "uint256[] memory" } }, - "functionReturnParameters": 5842, - "id": 5854, + "functionReturnParameters": 5853, + "id": 5865, "nodeType": "Return", "src": "28663:56:11" } ] }, "documentation": { - "id": 5833, + "id": 5844, "nodeType": "StructuredDocumentation", "src": "28419:96:11", "text": "@dev Returns all the indices of `needle` in `subject`.\n The indices are byte offsets." }, - "id": 5856, + "id": 5867, "implemented": true, "kind": "function", "modifiers": [], @@ -178304,17 +178194,17 @@ "nameLocation": "28529:9:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 5838, + "id": 5849, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5835, + "id": 5846, "mutability": "mutable", "name": "subject", "nameLocation": "28553:7:11", "nodeType": "VariableDeclaration", - "scope": 5856, + "scope": 5867, "src": "28539:21:11", "stateVariable": false, "storageLocation": "memory", @@ -178323,7 +178213,7 @@ "typeString": "string" }, "typeName": { - "id": 5834, + "id": 5845, "name": "string", "nodeType": "ElementaryTypeName", "src": "28539:6:11", @@ -178336,12 +178226,12 @@ }, { "constant": false, - "id": 5837, + "id": 5848, "mutability": "mutable", "name": "needle", "nameLocation": "28576:6:11", "nodeType": "VariableDeclaration", - "scope": 5856, + "scope": 5867, "src": "28562:20:11", "stateVariable": false, "storageLocation": "memory", @@ -178350,7 +178240,7 @@ "typeString": "string" }, "typeName": { - "id": 5836, + "id": 5847, "name": "string", "nodeType": "ElementaryTypeName", "src": "28562:6:11", @@ -178365,17 +178255,17 @@ "src": "28538:45:11" }, "returnParameters": { - "id": 5842, + "id": 5853, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5841, + "id": 5852, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 5856, + "scope": 5867, "src": "28631:16:11", "stateVariable": false, "storageLocation": "memory", @@ -178385,7 +178275,7 @@ }, "typeName": { "baseType": { - "id": 5839, + "id": 5850, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "28631:7:11", @@ -178394,7 +178284,7 @@ "typeString": "uint256" } }, - "id": 5840, + "id": 5851, "nodeType": "ArrayTypeName", "src": "28631:9:11", "typeDescriptions": { @@ -178407,7 +178297,7 @@ ], "src": "28630:18:11" }, - "scope": 6134, + "scope": 6145, "src": "28520:206:11", "stateMutability": "pure", "virtual": false, @@ -178415,23 +178305,23 @@ }, { "body": { - "id": 5885, + "id": 5896, "nodeType": "Block", "src": "28969:180:11", "statements": [ { "assignments": [ - 5871 + 5882 ], "declarations": [ { "constant": false, - "id": 5871, + "id": 5882, "mutability": "mutable", "name": "a", "nameLocation": "28994:1:11", "nodeType": "VariableDeclaration", - "scope": 5885, + "scope": 5896, "src": "28979:16:11", "stateVariable": false, "storageLocation": "memory", @@ -178441,7 +178331,7 @@ }, "typeName": { "baseType": { - "id": 5869, + "id": 5880, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "28979:5:11", @@ -178450,7 +178340,7 @@ "typeString": "bytes" } }, - "id": 5870, + "id": 5881, "nodeType": "ArrayTypeName", "src": "28979:7:11", "typeDescriptions": { @@ -178461,17 +178351,17 @@ "visibility": "internal" } ], - "id": 5883, + "id": 5894, "initialValue": { "arguments": [ { "arguments": [ { - "id": 5876, + "id": 5887, "name": "subject", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5859, + "referencedDeclaration": 5870, "src": "29019:7:11", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -178486,7 +178376,7 @@ "typeString": "string memory" } ], - "id": 5875, + "id": 5886, "isConstant": false, "isLValue": false, "isPure": true, @@ -178498,14 +178388,14 @@ "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5874, + "id": 5885, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "29013:5:11", "typeDescriptions": {} } }, - "id": 5877, + "id": 5888, "isConstant": false, "isLValue": false, "isPure": false, @@ -178524,11 +178414,11 @@ { "arguments": [ { - "id": 5880, + "id": 5891, "name": "delimiter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5861, + "referencedDeclaration": 5872, "src": "29035:9:11", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -178543,7 +178433,7 @@ "typeString": "string memory" } ], - "id": 5879, + "id": 5890, "isConstant": false, "isLValue": false, "isPure": true, @@ -178555,14 +178445,14 @@ "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5878, + "id": 5889, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "29029:5:11", "typeDescriptions": {} } }, - "id": 5881, + "id": 5892, "isConstant": false, "isLValue": false, "isPure": false, @@ -178591,18 +178481,18 @@ } ], "expression": { - "id": 5872, + "id": 5883, "name": "LibBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3078, + "referencedDeclaration": 3089, "src": "28998:8:11", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytes_$3078_$", + "typeIdentifier": "t_type$_t_contract$_LibBytes_$3089_$", "typeString": "type(library LibBytes)" } }, - "id": 5873, + "id": 5884, "isConstant": false, "isLValue": false, "isPure": false, @@ -178610,14 +178500,14 @@ "memberLocation": "29007:5:11", "memberName": "split", "nodeType": "MemberAccess", - "referencedDeclaration": 2944, + "referencedDeclaration": 2955, "src": "28998:14:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$", "typeString": "function (bytes memory,bytes memory) pure returns (bytes memory[] memory)" } }, - "id": 5882, + "id": 5893, "isConstant": false, "isLValue": false, "isPure": false, @@ -178667,33 +178557,33 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5871, + "declaration": 5882, "isOffset": false, "isSlot": false, "src": "29132:1:11", "valueSize": 1 }, { - "declaration": 5865, + "declaration": 5876, "isOffset": false, "isSlot": false, "src": "29122:6:11", "valueSize": 1 } ], - "id": 5884, + "id": 5895, "nodeType": "InlineAssembly", "src": "29099:44:11" } ] }, "documentation": { - "id": 5857, + "id": 5868, "nodeType": "StructuredDocumentation", "src": "28732:94:11", "text": "@dev Returns an arrays of strings based on the `delimiter` inside of the `subject` string." }, - "id": 5886, + "id": 5897, "implemented": true, "kind": "function", "modifiers": [], @@ -178701,17 +178591,17 @@ "nameLocation": "28840:5:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 5862, + "id": 5873, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5859, + "id": 5870, "mutability": "mutable", "name": "subject", "nameLocation": "28860:7:11", "nodeType": "VariableDeclaration", - "scope": 5886, + "scope": 5897, "src": "28846:21:11", "stateVariable": false, "storageLocation": "memory", @@ -178720,7 +178610,7 @@ "typeString": "string" }, "typeName": { - "id": 5858, + "id": 5869, "name": "string", "nodeType": "ElementaryTypeName", "src": "28846:6:11", @@ -178733,12 +178623,12 @@ }, { "constant": false, - "id": 5861, + "id": 5872, "mutability": "mutable", "name": "delimiter", "nameLocation": "28883:9:11", "nodeType": "VariableDeclaration", - "scope": 5886, + "scope": 5897, "src": "28869:23:11", "stateVariable": false, "storageLocation": "memory", @@ -178747,7 +178637,7 @@ "typeString": "string" }, "typeName": { - "id": 5860, + "id": 5871, "name": "string", "nodeType": "ElementaryTypeName", "src": "28869:6:11", @@ -178762,17 +178652,17 @@ "src": "28845:48:11" }, "returnParameters": { - "id": 5866, + "id": 5877, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5865, + "id": 5876, "mutability": "mutable", "name": "result", "nameLocation": "28957:6:11", "nodeType": "VariableDeclaration", - "scope": 5886, + "scope": 5897, "src": "28941:22:11", "stateVariable": false, "storageLocation": "memory", @@ -178782,7 +178672,7 @@ }, "typeName": { "baseType": { - "id": 5863, + "id": 5874, "name": "string", "nodeType": "ElementaryTypeName", "src": "28941:6:11", @@ -178791,7 +178681,7 @@ "typeString": "string" } }, - "id": 5864, + "id": 5875, "nodeType": "ArrayTypeName", "src": "28941:8:11", "typeDescriptions": { @@ -178804,7 +178694,7 @@ ], "src": "28940:24:11" }, - "scope": 6134, + "scope": 6145, "src": "28831:318:11", "stateMutability": "pure", "virtual": false, @@ -178812,7 +178702,7 @@ }, { "body": { - "id": 5911, + "id": 5922, "nodeType": "Block", "src": "29388:67:11", "statements": [ @@ -178824,11 +178714,11 @@ { "arguments": [ { - "id": 5902, + "id": 5913, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5889, + "referencedDeclaration": 5900, "src": "29434:1:11", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -178843,7 +178733,7 @@ "typeString": "string memory" } ], - "id": 5901, + "id": 5912, "isConstant": false, "isLValue": false, "isPure": true, @@ -178855,14 +178745,14 @@ "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5900, + "id": 5911, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "29428:5:11", "typeDescriptions": {} } }, - "id": 5903, + "id": 5914, "isConstant": false, "isLValue": false, "isPure": false, @@ -178881,11 +178771,11 @@ { "arguments": [ { - "id": 5906, + "id": 5917, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5891, + "referencedDeclaration": 5902, "src": "29444:1:11", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -178900,7 +178790,7 @@ "typeString": "string memory" } ], - "id": 5905, + "id": 5916, "isConstant": false, "isLValue": false, "isPure": true, @@ -178912,14 +178802,14 @@ "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 5904, + "id": 5915, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "29438:5:11", "typeDescriptions": {} } }, - "id": 5907, + "id": 5918, "isConstant": false, "isLValue": false, "isPure": false, @@ -178948,18 +178838,18 @@ } ], "expression": { - "id": 5898, + "id": 5909, "name": "LibBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3078, + "referencedDeclaration": 3089, "src": "29412:8:11", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytes_$3078_$", + "typeIdentifier": "t_type$_t_contract$_LibBytes_$3089_$", "typeString": "type(library LibBytes)" } }, - "id": 5899, + "id": 5910, "isConstant": false, "isLValue": false, "isPure": false, @@ -178967,14 +178857,14 @@ "memberLocation": "29421:6:11", "memberName": "concat", "nodeType": "MemberAccess", - "referencedDeclaration": 2956, + "referencedDeclaration": 2967, "src": "29412:15:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$", "typeString": "function (bytes memory,bytes memory) pure returns (bytes memory)" } }, - "id": 5908, + "id": 5919, "isConstant": false, "isLValue": false, "isPure": false, @@ -178998,7 +178888,7 @@ "typeString": "bytes memory" } ], - "id": 5897, + "id": 5908, "isConstant": false, "isLValue": false, "isPure": true, @@ -179010,14 +178900,14 @@ "typeString": "type(string storage pointer)" }, "typeName": { - "id": 5896, + "id": 5907, "name": "string", "nodeType": "ElementaryTypeName", "src": "29405:6:11", "typeDescriptions": {} } }, - "id": 5909, + "id": 5920, "isConstant": false, "isLValue": false, "isPure": false, @@ -179033,20 +178923,20 @@ "typeString": "string memory" } }, - "functionReturnParameters": 5895, - "id": 5910, + "functionReturnParameters": 5906, + "id": 5921, "nodeType": "Return", "src": "29398:50:11" } ] }, "documentation": { - "id": 5887, + "id": 5898, "nodeType": "StructuredDocumentation", "src": "29155:140:11", "text": "@dev Returns a concatenated string of `a` and `b`.\n Cheaper than `string.concat()` and does not de-align the free memory pointer." }, - "id": 5912, + "id": 5923, "implemented": true, "kind": "function", "modifiers": [], @@ -179054,17 +178944,17 @@ "nameLocation": "29309:6:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 5892, + "id": 5903, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5889, + "id": 5900, "mutability": "mutable", "name": "a", "nameLocation": "29330:1:11", "nodeType": "VariableDeclaration", - "scope": 5912, + "scope": 5923, "src": "29316:15:11", "stateVariable": false, "storageLocation": "memory", @@ -179073,7 +178963,7 @@ "typeString": "string" }, "typeName": { - "id": 5888, + "id": 5899, "name": "string", "nodeType": "ElementaryTypeName", "src": "29316:6:11", @@ -179086,12 +178976,12 @@ }, { "constant": false, - "id": 5891, + "id": 5902, "mutability": "mutable", "name": "b", "nameLocation": "29347:1:11", "nodeType": "VariableDeclaration", - "scope": 5912, + "scope": 5923, "src": "29333:15:11", "stateVariable": false, "storageLocation": "memory", @@ -179100,7 +178990,7 @@ "typeString": "string" }, "typeName": { - "id": 5890, + "id": 5901, "name": "string", "nodeType": "ElementaryTypeName", "src": "29333:6:11", @@ -179115,17 +179005,17 @@ "src": "29315:34:11" }, "returnParameters": { - "id": 5895, + "id": 5906, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5894, + "id": 5905, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 5912, + "scope": 5923, "src": "29373:13:11", "stateVariable": false, "storageLocation": "memory", @@ -179134,7 +179024,7 @@ "typeString": "string" }, "typeName": { - "id": 5893, + "id": 5904, "name": "string", "nodeType": "ElementaryTypeName", "src": "29373:6:11", @@ -179148,7 +179038,7 @@ ], "src": "29372:15:11" }, - "scope": 6134, + "scope": 6145, "src": "29300:155:11", "stateMutability": "pure", "virtual": false, @@ -179156,7 +179046,7 @@ }, { "body": { - "id": 5923, + "id": 5934, "nodeType": "Block", "src": "29739:799:11", "statements": [ @@ -179851,68 +179741,68 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5920, + "declaration": 5931, "isOffset": false, "isSlot": false, "src": "29874:6:11", "valueSize": 1 }, { - "declaration": 5920, + "declaration": 5931, "isOffset": false, "isSlot": false, "src": "29925:6:11", "valueSize": 1 }, { - "declaration": 5920, + "declaration": 5931, "isOffset": false, "isSlot": false, "src": "29977:6:11", "valueSize": 1 }, { - "declaration": 5920, + "declaration": 5931, "isOffset": false, "isSlot": false, "src": "30347:6:11", "valueSize": 1 }, { - "declaration": 5915, + "declaration": 5926, "isOffset": false, "isSlot": false, "src": "29830:7:11", "valueSize": 1 }, { - "declaration": 5915, + "declaration": 5926, "isOffset": false, "isSlot": false, "src": "29968:7:11", "valueSize": 1 }, { - "declaration": 5917, + "declaration": 5928, "isOffset": false, "isSlot": false, "src": "30033:7:11", "valueSize": 1 } ], - "id": 5922, + "id": 5933, "nodeType": "InlineAssembly", "src": "29792:740:11" } ] }, "documentation": { - "id": 5913, + "id": 5924, "nodeType": "StructuredDocumentation", "src": "29461:147:11", "text": "@dev Returns a copy of the string in either lowercase or UPPERCASE.\n WARNING! This function is only compatible with 7-bit ASCII strings." }, - "id": 5924, + "id": 5935, "implemented": true, "kind": "function", "modifiers": [], @@ -179920,17 +179810,17 @@ "nameLocation": "29622:6:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 5918, + "id": 5929, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5915, + "id": 5926, "mutability": "mutable", "name": "subject", "nameLocation": "29643:7:11", "nodeType": "VariableDeclaration", - "scope": 5924, + "scope": 5935, "src": "29629:21:11", "stateVariable": false, "storageLocation": "memory", @@ -179939,7 +179829,7 @@ "typeString": "string" }, "typeName": { - "id": 5914, + "id": 5925, "name": "string", "nodeType": "ElementaryTypeName", "src": "29629:6:11", @@ -179952,12 +179842,12 @@ }, { "constant": false, - "id": 5917, + "id": 5928, "mutability": "mutable", "name": "toUpper", "nameLocation": "29657:7:11", "nodeType": "VariableDeclaration", - "scope": 5924, + "scope": 5935, "src": "29652:12:11", "stateVariable": false, "storageLocation": "default", @@ -179966,7 +179856,7 @@ "typeString": "bool" }, "typeName": { - "id": 5916, + "id": 5927, "name": "bool", "nodeType": "ElementaryTypeName", "src": "29652:4:11", @@ -179981,17 +179871,17 @@ "src": "29628:37:11" }, "returnParameters": { - "id": 5921, + "id": 5932, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5920, + "id": 5931, "mutability": "mutable", "name": "result", "nameLocation": "29727:6:11", "nodeType": "VariableDeclaration", - "scope": 5924, + "scope": 5935, "src": "29713:20:11", "stateVariable": false, "storageLocation": "memory", @@ -180000,7 +179890,7 @@ "typeString": "string" }, "typeName": { - "id": 5919, + "id": 5930, "name": "string", "nodeType": "ElementaryTypeName", "src": "29713:6:11", @@ -180014,7 +179904,7 @@ ], "src": "29712:22:11" }, - "scope": 6134, + "scope": 6145, "src": "29613:925:11", "stateMutability": "pure", "virtual": false, @@ -180022,7 +179912,7 @@ }, { "body": { - "id": 5933, + "id": 5944, "nodeType": "Block", "src": "30752:490:11", "statements": [ @@ -180388,61 +180278,61 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5930, + "declaration": 5941, "isOffset": false, "isSlot": false, "src": "30828:6:11", "valueSize": 1 }, { - "declaration": 5930, + "declaration": 5941, "isOffset": false, "isSlot": false, "src": "30962:6:11", "valueSize": 1 }, { - "declaration": 5930, + "declaration": 5941, "isOffset": false, "isSlot": false, "src": "31019:6:11", "valueSize": 1 }, { - "declaration": 5930, + "declaration": 5941, "isOffset": false, "isSlot": false, "src": "31192:6:11", "valueSize": 1 }, { - "declaration": 5927, + "declaration": 5938, "isOffset": false, "isSlot": false, "src": "30900:1:11", "valueSize": 1 }, { - "declaration": 5927, + "declaration": 5938, "isOffset": false, "isSlot": false, "src": "31055:1:11", "valueSize": 1 } ], - "id": 5932, + "id": 5943, "nodeType": "InlineAssembly", "src": "30805:431:11" } ] }, "documentation": { - "id": 5925, + "id": 5936, "nodeType": "StructuredDocumentation", "src": "30544:122:11", "text": "@dev Returns a string from a small bytes32 string.\n `s` must be null-terminated, or behavior will be undefined." }, - "id": 5934, + "id": 5945, "implemented": true, "kind": "function", "modifiers": [], @@ -180450,17 +180340,17 @@ "nameLocation": "30680:15:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 5928, + "id": 5939, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5927, + "id": 5938, "mutability": "mutable", "name": "s", "nameLocation": "30704:1:11", "nodeType": "VariableDeclaration", - "scope": 5934, + "scope": 5945, "src": "30696:9:11", "stateVariable": false, "storageLocation": "default", @@ -180469,7 +180359,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 5926, + "id": 5937, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "30696:7:11", @@ -180484,17 +180374,17 @@ "src": "30695:11:11" }, "returnParameters": { - "id": 5931, + "id": 5942, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5930, + "id": 5941, "mutability": "mutable", "name": "result", "nameLocation": "30744:6:11", "nodeType": "VariableDeclaration", - "scope": 5934, + "scope": 5945, "src": "30730:20:11", "stateVariable": false, "storageLocation": "memory", @@ -180503,7 +180393,7 @@ "typeString": "string" }, "typeName": { - "id": 5929, + "id": 5940, "name": "string", "nodeType": "ElementaryTypeName", "src": "30730:6:11", @@ -180517,7 +180407,7 @@ ], "src": "30729:22:11" }, - "scope": 6134, + "scope": 6145, "src": "30671:571:11", "stateMutability": "pure", "virtual": false, @@ -180525,7 +180415,7 @@ }, { "body": { - "id": 5943, + "id": 5954, "nodeType": "Block", "src": "31418:259:11", "statements": [ @@ -180728,68 +180618,68 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5940, + "declaration": 5951, "isOffset": false, "isSlot": false, "src": "31506:6:11", "valueSize": 1 }, { - "declaration": 5940, + "declaration": 5951, "isOffset": false, "isSlot": false, "src": "31519:6:11", "valueSize": 1 }, { - "declaration": 5940, + "declaration": 5951, "isOffset": false, "isSlot": false, "src": "31533:6:11", "valueSize": 1 }, { - "declaration": 5940, + "declaration": 5951, "isOffset": false, "isSlot": false, "src": "31614:6:11", "valueSize": 1 }, { - "declaration": 5940, + "declaration": 5951, "isOffset": false, "isSlot": false, "src": "31640:6:11", "valueSize": 1 }, { - "declaration": 5937, + "declaration": 5948, "isOffset": false, "isSlot": false, "src": "31514:1:11", "valueSize": 1 }, { - "declaration": 5937, + "declaration": 5948, "isOffset": false, "isSlot": false, "src": "31592:1:11", "valueSize": 1 } ], - "id": 5942, + "id": 5953, "nodeType": "InlineAssembly", "src": "31471:200:11" } ] }, "documentation": { - "id": 5935, + "id": 5946, "nodeType": "StructuredDocumentation", "src": "31248:85:11", "text": "@dev Returns the small string, with all bytes after the first null byte zeroized." }, - "id": 5944, + "id": 5955, "implemented": true, "kind": "function", "modifiers": [], @@ -180797,17 +180687,17 @@ "nameLocation": "31347:20:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 5938, + "id": 5949, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5937, + "id": 5948, "mutability": "mutable", "name": "s", "nameLocation": "31376:1:11", "nodeType": "VariableDeclaration", - "scope": 5944, + "scope": 5955, "src": "31368:9:11", "stateVariable": false, "storageLocation": "default", @@ -180816,7 +180706,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 5936, + "id": 5947, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "31368:7:11", @@ -180831,17 +180721,17 @@ "src": "31367:11:11" }, "returnParameters": { - "id": 5941, + "id": 5952, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5940, + "id": 5951, "mutability": "mutable", "name": "result", "nameLocation": "31410:6:11", "nodeType": "VariableDeclaration", - "scope": 5944, + "scope": 5955, "src": "31402:14:11", "stateVariable": false, "storageLocation": "default", @@ -180850,7 +180740,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 5939, + "id": 5950, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "31402:7:11", @@ -180864,7 +180754,7 @@ ], "src": "31401:16:11" }, - "scope": 6134, + "scope": 6145, "src": "31338:339:11", "stateMutability": "pure", "virtual": false, @@ -180872,7 +180762,7 @@ }, { "body": { - "id": 5953, + "id": 5964, "nodeType": "Block", "src": "31840:343:11", "statements": [ @@ -181152,68 +181042,68 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5950, + "declaration": 5961, "isOffset": false, "isSlot": false, "src": "31916:6:11", "valueSize": 1 }, { - "declaration": 5950, + "declaration": 5961, "isOffset": false, "isSlot": false, "src": "31960:6:11", "valueSize": 1 }, { - "declaration": 5950, + "declaration": 5961, "isOffset": false, "isSlot": false, "src": "32106:6:11", "valueSize": 1 }, { - "declaration": 5950, + "declaration": 5961, "isOffset": false, "isSlot": false, "src": "32135:6:11", "valueSize": 1 }, { - "declaration": 5950, + "declaration": 5961, "isOffset": false, "isSlot": false, "src": "32158:6:11", "valueSize": 1 }, { - "declaration": 5947, + "declaration": 5958, "isOffset": false, "isSlot": false, "src": "31932:1:11", "valueSize": 1 }, { - "declaration": 5947, + "declaration": 5958, "isOffset": false, "isSlot": false, "src": "32155:1:11", "valueSize": 1 } ], - "id": 5952, + "id": 5963, "nodeType": "InlineAssembly", "src": "31893:284:11" } ] }, "documentation": { - "id": 5945, + "id": 5956, "nodeType": "StructuredDocumentation", "src": "31683:73:11", "text": "@dev Returns the string as a normalized null-terminated small string." }, - "id": 5954, + "id": 5965, "implemented": true, "kind": "function", "modifiers": [], @@ -181221,17 +181111,17 @@ "nameLocation": "31770:13:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 5948, + "id": 5959, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5947, + "id": 5958, "mutability": "mutable", "name": "s", "nameLocation": "31798:1:11", "nodeType": "VariableDeclaration", - "scope": 5954, + "scope": 5965, "src": "31784:15:11", "stateVariable": false, "storageLocation": "memory", @@ -181240,7 +181130,7 @@ "typeString": "string" }, "typeName": { - "id": 5946, + "id": 5957, "name": "string", "nodeType": "ElementaryTypeName", "src": "31784:6:11", @@ -181255,17 +181145,17 @@ "src": "31783:17:11" }, "returnParameters": { - "id": 5951, + "id": 5962, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5950, + "id": 5961, "mutability": "mutable", "name": "result", "nameLocation": "31832:6:11", "nodeType": "VariableDeclaration", - "scope": 5954, + "scope": 5965, "src": "31824:14:11", "stateVariable": false, "storageLocation": "default", @@ -181274,7 +181164,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 5949, + "id": 5960, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "31824:7:11", @@ -181288,7 +181178,7 @@ ], "src": "31823:16:11" }, - "scope": 6134, + "scope": 6145, "src": "31761:422:11", "stateMutability": "pure", "virtual": false, @@ -181296,23 +181186,23 @@ }, { "body": { - "id": 5969, + "id": 5980, "nodeType": "Block", "src": "32402:48:11", "statements": [ { "expression": { - "id": 5967, + "id": 5978, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 5962, + "id": 5973, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5960, + "referencedDeclaration": 5971, "src": "32412:6:11", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -181324,11 +181214,11 @@ "rightHandSide": { "arguments": [ { - "id": 5964, + "id": 5975, "name": "subject", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5957, + "referencedDeclaration": 5968, "src": "32428:7:11", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -181337,7 +181227,7 @@ }, { "hexValue": "66616c7365", - "id": 5965, + "id": 5976, "isConstant": false, "isLValue": false, "isPure": true, @@ -181363,18 +181253,18 @@ "typeString": "bool" } ], - "id": 5963, + "id": 5974, "name": "toCase", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5924, + "referencedDeclaration": 5935, "src": "32421:6:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_bool_$returns$_t_string_memory_ptr_$", "typeString": "function (string memory,bool) pure returns (string memory)" } }, - "id": 5966, + "id": 5977, "isConstant": false, "isLValue": false, "isPure": false, @@ -181396,19 +181286,19 @@ "typeString": "string memory" } }, - "id": 5968, + "id": 5979, "nodeType": "ExpressionStatement", "src": "32412:31:11" } ] }, "documentation": { - "id": 5955, + "id": 5966, "nodeType": "StructuredDocumentation", "src": "32189:125:11", "text": "@dev Returns a lowercased copy of the string.\n WARNING! This function is only compatible with 7-bit ASCII strings." }, - "id": 5970, + "id": 5981, "implemented": true, "kind": "function", "modifiers": [], @@ -181416,17 +181306,17 @@ "nameLocation": "32328:5:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 5958, + "id": 5969, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5957, + "id": 5968, "mutability": "mutable", "name": "subject", "nameLocation": "32348:7:11", "nodeType": "VariableDeclaration", - "scope": 5970, + "scope": 5981, "src": "32334:21:11", "stateVariable": false, "storageLocation": "memory", @@ -181435,7 +181325,7 @@ "typeString": "string" }, "typeName": { - "id": 5956, + "id": 5967, "name": "string", "nodeType": "ElementaryTypeName", "src": "32334:6:11", @@ -181450,17 +181340,17 @@ "src": "32333:23:11" }, "returnParameters": { - "id": 5961, + "id": 5972, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5960, + "id": 5971, "mutability": "mutable", "name": "result", "nameLocation": "32394:6:11", "nodeType": "VariableDeclaration", - "scope": 5970, + "scope": 5981, "src": "32380:20:11", "stateVariable": false, "storageLocation": "memory", @@ -181469,7 +181359,7 @@ "typeString": "string" }, "typeName": { - "id": 5959, + "id": 5970, "name": "string", "nodeType": "ElementaryTypeName", "src": "32380:6:11", @@ -181483,7 +181373,7 @@ ], "src": "32379:22:11" }, - "scope": 6134, + "scope": 6145, "src": "32319:131:11", "stateMutability": "pure", "virtual": false, @@ -181491,23 +181381,23 @@ }, { "body": { - "id": 5985, + "id": 5996, "nodeType": "Block", "src": "32670:47:11", "statements": [ { "expression": { - "id": 5983, + "id": 5994, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 5978, + "id": 5989, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5976, + "referencedDeclaration": 5987, "src": "32680:6:11", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -181519,11 +181409,11 @@ "rightHandSide": { "arguments": [ { - "id": 5980, + "id": 5991, "name": "subject", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5973, + "referencedDeclaration": 5984, "src": "32696:7:11", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -181532,7 +181422,7 @@ }, { "hexValue": "74727565", - "id": 5981, + "id": 5992, "isConstant": false, "isLValue": false, "isPure": true, @@ -181558,18 +181448,18 @@ "typeString": "bool" } ], - "id": 5979, + "id": 5990, "name": "toCase", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5924, + "referencedDeclaration": 5935, "src": "32689:6:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_bool_$returns$_t_string_memory_ptr_$", "typeString": "function (string memory,bool) pure returns (string memory)" } }, - "id": 5982, + "id": 5993, "isConstant": false, "isLValue": false, "isPure": false, @@ -181591,19 +181481,19 @@ "typeString": "string memory" } }, - "id": 5984, + "id": 5995, "nodeType": "ExpressionStatement", "src": "32680:30:11" } ] }, "documentation": { - "id": 5971, + "id": 5982, "nodeType": "StructuredDocumentation", "src": "32456:126:11", "text": "@dev Returns an UPPERCASED copy of the string.\n WARNING! This function is only compatible with 7-bit ASCII strings." }, - "id": 5986, + "id": 5997, "implemented": true, "kind": "function", "modifiers": [], @@ -181611,17 +181501,17 @@ "nameLocation": "32596:5:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 5974, + "id": 5985, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5973, + "id": 5984, "mutability": "mutable", "name": "subject", "nameLocation": "32616:7:11", "nodeType": "VariableDeclaration", - "scope": 5986, + "scope": 5997, "src": "32602:21:11", "stateVariable": false, "storageLocation": "memory", @@ -181630,7 +181520,7 @@ "typeString": "string" }, "typeName": { - "id": 5972, + "id": 5983, "name": "string", "nodeType": "ElementaryTypeName", "src": "32602:6:11", @@ -181645,17 +181535,17 @@ "src": "32601:23:11" }, "returnParameters": { - "id": 5977, + "id": 5988, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5976, + "id": 5987, "mutability": "mutable", "name": "result", "nameLocation": "32662:6:11", "nodeType": "VariableDeclaration", - "scope": 5986, + "scope": 5997, "src": "32648:20:11", "stateVariable": false, "storageLocation": "memory", @@ -181664,7 +181554,7 @@ "typeString": "string" }, "typeName": { - "id": 5975, + "id": 5986, "name": "string", "nodeType": "ElementaryTypeName", "src": "32648:6:11", @@ -181678,7 +181568,7 @@ ], "src": "32647:22:11" }, - "scope": 6134, + "scope": 6145, "src": "32587:130:11", "stateMutability": "pure", "virtual": false, @@ -181686,7 +181576,7 @@ }, { "body": { - "id": 5995, + "id": 6006, "nodeType": "Block", "src": "32866:1292:11", "statements": [ @@ -182588,89 +182478,89 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 5992, + "declaration": 6003, "isOffset": false, "isSlot": false, "src": "32942:6:11", "valueSize": 1 }, { - "declaration": 5992, + "declaration": 6003, "isOffset": false, "isSlot": false, "src": "33029:6:11", "valueSize": 1 }, { - "declaration": 5992, + "declaration": 6003, "isOffset": false, "isSlot": false, "src": "34028:6:11", "valueSize": 1 }, { - "declaration": 5992, + "declaration": 6003, "isOffset": false, "isSlot": false, "src": "34047:6:11", "valueSize": 1 }, { - "declaration": 5989, + "declaration": 6000, "isOffset": false, "isSlot": false, "src": "32991:1:11", "valueSize": 1 }, { - "declaration": 5989, + "declaration": 6000, "isOffset": false, "isSlot": false, "src": "33000:1:11", "valueSize": 1 }, { - "declaration": 5989, + "declaration": 6000, "isOffset": false, "isSlot": false, "src": "33480:1:11", "valueSize": 1 }, { - "declaration": 5989, + "declaration": 6000, "isOffset": false, "isSlot": false, "src": "33510:1:11", "valueSize": 1 }, { - "declaration": 5989, + "declaration": 6000, "isOffset": false, "isSlot": false, "src": "33519:1:11", "valueSize": 1 }, { - "declaration": 5989, + "declaration": 6000, "isOffset": false, "isSlot": false, "src": "33560:1:11", "valueSize": 1 } ], - "id": 5994, + "id": 6005, "nodeType": "InlineAssembly", "src": "32919:1233:11" } ] }, "documentation": { - "id": 5987, + "id": 5998, "nodeType": "StructuredDocumentation", "src": "32723:56:11", "text": "@dev Escapes the string to be used within HTML tags." }, - "id": 5996, + "id": 6007, "implemented": true, "kind": "function", "modifiers": [], @@ -182678,17 +182568,17 @@ "nameLocation": "32793:10:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 5990, + "id": 6001, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5989, + "id": 6000, "mutability": "mutable", "name": "s", "nameLocation": "32818:1:11", "nodeType": "VariableDeclaration", - "scope": 5996, + "scope": 6007, "src": "32804:15:11", "stateVariable": false, "storageLocation": "memory", @@ -182697,7 +182587,7 @@ "typeString": "string" }, "typeName": { - "id": 5988, + "id": 5999, "name": "string", "nodeType": "ElementaryTypeName", "src": "32804:6:11", @@ -182712,17 +182602,17 @@ "src": "32803:17:11" }, "returnParameters": { - "id": 5993, + "id": 6004, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5992, + "id": 6003, "mutability": "mutable", "name": "result", "nameLocation": "32858:6:11", "nodeType": "VariableDeclaration", - "scope": 5996, + "scope": 6007, "src": "32844:20:11", "stateVariable": false, "storageLocation": "memory", @@ -182731,7 +182621,7 @@ "typeString": "string" }, "typeName": { - "id": 5991, + "id": 6002, "name": "string", "nodeType": "ElementaryTypeName", "src": "32844:6:11", @@ -182745,7 +182635,7 @@ ], "src": "32843:22:11" }, - "scope": 6134, + "scope": 6145, "src": "32784:1374:11", "stateMutability": "pure", "virtual": false, @@ -182753,7 +182643,7 @@ }, { "body": { - "id": 6007, + "id": 6018, "nodeType": "Block", "src": "34455:2098:11", "statements": [ @@ -184285,103 +184175,103 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 6001, + "declaration": 6012, "isOffset": false, "isSlot": false, "src": "34607:15:11", "valueSize": 1 }, { - "declaration": 6001, + "declaration": 6012, "isOffset": false, "isSlot": false, "src": "36247:15:11", "valueSize": 1 }, { - "declaration": 6004, + "declaration": 6015, "isOffset": false, "isSlot": false, "src": "34531:6:11", "valueSize": 1 }, { - "declaration": 6004, + "declaration": 6015, "isOffset": false, "isSlot": false, "src": "34578:6:11", "valueSize": 1 }, { - "declaration": 6004, + "declaration": 6015, "isOffset": false, "isSlot": false, "src": "36423:6:11", "valueSize": 1 }, { - "declaration": 6004, + "declaration": 6015, "isOffset": false, "isSlot": false, "src": "36442:6:11", "valueSize": 1 }, { - "declaration": 5999, + "declaration": 6010, "isOffset": false, "isSlot": false, "src": "35150:1:11", "valueSize": 1 }, { - "declaration": 5999, + "declaration": 6010, "isOffset": false, "isSlot": false, "src": "35159:1:11", "valueSize": 1 }, { - "declaration": 5999, + "declaration": 6010, "isOffset": false, "isSlot": false, "src": "35175:1:11", "valueSize": 1 }, { - "declaration": 5999, + "declaration": 6010, "isOffset": false, "isSlot": false, "src": "35205:1:11", "valueSize": 1 }, { - "declaration": 5999, + "declaration": 6010, "isOffset": false, "isSlot": false, "src": "35214:1:11", "valueSize": 1 }, { - "declaration": 5999, + "declaration": 6010, "isOffset": false, "isSlot": false, "src": "35255:1:11", "valueSize": 1 } ], - "id": 6006, + "id": 6017, "nodeType": "InlineAssembly", "src": "34508:2039:11" } ] }, "documentation": { - "id": 5997, + "id": 6008, "nodeType": "StructuredDocumentation", "src": "34164:154:11", "text": "@dev Escapes the string to be used within double-quotes in a JSON.\n If `addDoubleQuotes` is true, the result will be enclosed in double-quotes." }, - "id": 6008, + "id": 6019, "implemented": true, "kind": "function", "modifiers": [], @@ -184389,17 +184279,17 @@ "nameLocation": "34332:10:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 6002, + "id": 6013, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5999, + "id": 6010, "mutability": "mutable", "name": "s", "nameLocation": "34357:1:11", "nodeType": "VariableDeclaration", - "scope": 6008, + "scope": 6019, "src": "34343:15:11", "stateVariable": false, "storageLocation": "memory", @@ -184408,7 +184298,7 @@ "typeString": "string" }, "typeName": { - "id": 5998, + "id": 6009, "name": "string", "nodeType": "ElementaryTypeName", "src": "34343:6:11", @@ -184421,12 +184311,12 @@ }, { "constant": false, - "id": 6001, + "id": 6012, "mutability": "mutable", "name": "addDoubleQuotes", "nameLocation": "34365:15:11", "nodeType": "VariableDeclaration", - "scope": 6008, + "scope": 6019, "src": "34360:20:11", "stateVariable": false, "storageLocation": "default", @@ -184435,7 +184325,7 @@ "typeString": "bool" }, "typeName": { - "id": 6000, + "id": 6011, "name": "bool", "nodeType": "ElementaryTypeName", "src": "34360:4:11", @@ -184450,17 +184340,17 @@ "src": "34342:39:11" }, "returnParameters": { - "id": 6005, + "id": 6016, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6004, + "id": 6015, "mutability": "mutable", "name": "result", "nameLocation": "34443:6:11", "nodeType": "VariableDeclaration", - "scope": 6008, + "scope": 6019, "src": "34429:20:11", "stateVariable": false, "storageLocation": "memory", @@ -184469,7 +184359,7 @@ "typeString": "string" }, "typeName": { - "id": 6003, + "id": 6014, "name": "string", "nodeType": "ElementaryTypeName", "src": "34429:6:11", @@ -184483,7 +184373,7 @@ ], "src": "34428:22:11" }, - "scope": 6134, + "scope": 6145, "src": "34323:2230:11", "stateMutability": "pure", "virtual": false, @@ -184491,23 +184381,23 @@ }, { "body": { - "id": 6023, + "id": 6034, "nodeType": "Block", "src": "36716:46:11", "statements": [ { "expression": { - "id": 6021, + "id": 6032, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 6016, + "id": 6027, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6014, + "referencedDeclaration": 6025, "src": "36726:6:11", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -184519,11 +184409,11 @@ "rightHandSide": { "arguments": [ { - "id": 6018, + "id": 6029, "name": "s", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6011, + "referencedDeclaration": 6022, "src": "36746:1:11", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -184532,7 +184422,7 @@ }, { "hexValue": "66616c7365", - "id": 6019, + "id": 6030, "isConstant": false, "isLValue": false, "isPure": true, @@ -184558,21 +184448,21 @@ "typeString": "bool" } ], - "id": 6017, + "id": 6028, "name": "escapeJSON", "nodeType": "Identifier", "overloadedDeclarations": [ - 6008, - 6024 + 6019, + 6035 ], - "referencedDeclaration": 6008, + "referencedDeclaration": 6019, "src": "36735:10:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_bool_$returns$_t_string_memory_ptr_$", "typeString": "function (string memory,bool) pure returns (string memory)" } }, - "id": 6020, + "id": 6031, "isConstant": false, "isLValue": false, "isPure": false, @@ -184594,19 +184484,19 @@ "typeString": "string memory" } }, - "id": 6022, + "id": 6033, "nodeType": "ExpressionStatement", "src": "36726:29:11" } ] }, "documentation": { - "id": 6009, + "id": 6020, "nodeType": "StructuredDocumentation", "src": "36559:70:11", "text": "@dev Escapes the string to be used within double-quotes in a JSON." }, - "id": 6024, + "id": 6035, "implemented": true, "kind": "function", "modifiers": [], @@ -184614,17 +184504,17 @@ "nameLocation": "36643:10:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 6012, + "id": 6023, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6011, + "id": 6022, "mutability": "mutable", "name": "s", "nameLocation": "36668:1:11", "nodeType": "VariableDeclaration", - "scope": 6024, + "scope": 6035, "src": "36654:15:11", "stateVariable": false, "storageLocation": "memory", @@ -184633,7 +184523,7 @@ "typeString": "string" }, "typeName": { - "id": 6010, + "id": 6021, "name": "string", "nodeType": "ElementaryTypeName", "src": "36654:6:11", @@ -184648,17 +184538,17 @@ "src": "36653:17:11" }, "returnParameters": { - "id": 6015, + "id": 6026, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6014, + "id": 6025, "mutability": "mutable", "name": "result", "nameLocation": "36708:6:11", "nodeType": "VariableDeclaration", - "scope": 6024, + "scope": 6035, "src": "36694:20:11", "stateVariable": false, "storageLocation": "memory", @@ -184667,7 +184557,7 @@ "typeString": "string" }, "typeName": { - "id": 6013, + "id": 6024, "name": "string", "nodeType": "ElementaryTypeName", "src": "36694:6:11", @@ -184681,7 +184571,7 @@ ], "src": "36693:22:11" }, - "scope": 6134, + "scope": 6145, "src": "36634:128:11", "stateMutability": "pure", "virtual": false, @@ -184689,7 +184579,7 @@ }, { "body": { - "id": 6033, + "id": 6044, "nodeType": "Block", "src": "37208:1153:11", "statements": [ @@ -185589,89 +185479,89 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 6030, + "declaration": 6041, "isOffset": false, "isSlot": false, "src": "37284:6:11", "valueSize": 1 }, { - "declaration": 6030, + "declaration": 6041, "isOffset": false, "isSlot": false, "src": "37527:6:11", "valueSize": 1 }, { - "declaration": 6030, + "declaration": 6041, "isOffset": false, "isSlot": false, "src": "38168:6:11", "valueSize": 1 }, { - "declaration": 6030, + "declaration": 6041, "isOffset": false, "isSlot": false, "src": "38187:6:11", "valueSize": 1 }, { - "declaration": 6027, + "declaration": 6038, "isOffset": false, "isSlot": false, "src": "37574:1:11", "valueSize": 1 }, { - "declaration": 6027, + "declaration": 6038, "isOffset": false, "isSlot": false, "src": "37583:1:11", "valueSize": 1 }, { - "declaration": 6027, + "declaration": 6038, "isOffset": false, "isSlot": false, "src": "37599:1:11", "valueSize": 1 }, { - "declaration": 6027, + "declaration": 6038, "isOffset": false, "isSlot": false, "src": "37629:1:11", "valueSize": 1 }, { - "declaration": 6027, + "declaration": 6038, "isOffset": false, "isSlot": false, "src": "37638:1:11", "valueSize": 1 }, { - "declaration": 6027, + "declaration": 6038, "isOffset": false, "isSlot": false, "src": "37679:1:11", "valueSize": 1 } ], - "id": 6032, + "id": 6043, "nodeType": "InlineAssembly", "src": "37261:1094:11" } ] }, "documentation": { - "id": 6025, + "id": 6036, "nodeType": "StructuredDocumentation", "src": "36768:345:11", "text": "@dev Encodes `s` so that it can be safely used in a URI,\n just like `encodeURIComponent` in JavaScript.\n See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent\n See: https://datatracker.ietf.org/doc/html/rfc2396\n See: https://datatracker.ietf.org/doc/html/rfc3986" }, - "id": 6034, + "id": 6045, "implemented": true, "kind": "function", "modifiers": [], @@ -185679,17 +185569,17 @@ "nameLocation": "37127:18:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 6028, + "id": 6039, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6027, + "id": 6038, "mutability": "mutable", "name": "s", "nameLocation": "37160:1:11", "nodeType": "VariableDeclaration", - "scope": 6034, + "scope": 6045, "src": "37146:15:11", "stateVariable": false, "storageLocation": "memory", @@ -185698,7 +185588,7 @@ "typeString": "string" }, "typeName": { - "id": 6026, + "id": 6037, "name": "string", "nodeType": "ElementaryTypeName", "src": "37146:6:11", @@ -185713,17 +185603,17 @@ "src": "37145:17:11" }, "returnParameters": { - "id": 6031, + "id": 6042, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6030, + "id": 6041, "mutability": "mutable", "name": "result", "nameLocation": "37200:6:11", "nodeType": "VariableDeclaration", - "scope": 6034, + "scope": 6045, "src": "37186:20:11", "stateVariable": false, "storageLocation": "memory", @@ -185732,7 +185622,7 @@ "typeString": "string" }, "typeName": { - "id": 6029, + "id": 6040, "name": "string", "nodeType": "ElementaryTypeName", "src": "37186:6:11", @@ -185746,7 +185636,7 @@ ], "src": "37185:22:11" }, - "scope": 6134, + "scope": 6145, "src": "37118:1243:11", "stateMutability": "pure", "virtual": false, @@ -185754,7 +185644,7 @@ }, { "body": { - "id": 6045, + "id": 6056, "nodeType": "Block", "src": "38494:174:11", "statements": [ @@ -185914,54 +185804,54 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 6037, + "declaration": 6048, "isOffset": false, "isSlot": false, "src": "38597:1:11", "valueSize": 1 }, { - "declaration": 6037, + "declaration": 6048, "isOffset": false, "isSlot": false, "src": "38613:1:11", "valueSize": 1 }, { - "declaration": 6039, + "declaration": 6050, "isOffset": false, "isSlot": false, "src": "38632:1:11", "valueSize": 1 }, { - "declaration": 6039, + "declaration": 6050, "isOffset": false, "isSlot": false, "src": "38648:1:11", "valueSize": 1 }, { - "declaration": 6042, + "declaration": 6053, "isOffset": false, "isSlot": false, "src": "38570:6:11", "valueSize": 1 } ], - "id": 6044, + "id": 6055, "nodeType": "InlineAssembly", "src": "38547:115:11" } ] }, "documentation": { - "id": 6035, + "id": 6046, "nodeType": "StructuredDocumentation", "src": "38367:40:11", "text": "@dev Returns whether `a` equals `b`." }, - "id": 6046, + "id": 6057, "implemented": true, "kind": "function", "modifiers": [], @@ -185969,17 +185859,17 @@ "nameLocation": "38421:2:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 6040, + "id": 6051, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6037, + "id": 6048, "mutability": "mutable", "name": "a", "nameLocation": "38438:1:11", "nodeType": "VariableDeclaration", - "scope": 6046, + "scope": 6057, "src": "38424:15:11", "stateVariable": false, "storageLocation": "memory", @@ -185988,7 +185878,7 @@ "typeString": "string" }, "typeName": { - "id": 6036, + "id": 6047, "name": "string", "nodeType": "ElementaryTypeName", "src": "38424:6:11", @@ -186001,12 +185891,12 @@ }, { "constant": false, - "id": 6039, + "id": 6050, "mutability": "mutable", "name": "b", "nameLocation": "38455:1:11", "nodeType": "VariableDeclaration", - "scope": 6046, + "scope": 6057, "src": "38441:15:11", "stateVariable": false, "storageLocation": "memory", @@ -186015,7 +185905,7 @@ "typeString": "string" }, "typeName": { - "id": 6038, + "id": 6049, "name": "string", "nodeType": "ElementaryTypeName", "src": "38441:6:11", @@ -186030,17 +185920,17 @@ "src": "38423:34:11" }, "returnParameters": { - "id": 6043, + "id": 6054, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6042, + "id": 6053, "mutability": "mutable", "name": "result", "nameLocation": "38486:6:11", "nodeType": "VariableDeclaration", - "scope": 6046, + "scope": 6057, "src": "38481:11:11", "stateVariable": false, "storageLocation": "default", @@ -186049,7 +185939,7 @@ "typeString": "bool" }, "typeName": { - "id": 6041, + "id": 6052, "name": "bool", "nodeType": "ElementaryTypeName", "src": "38481:4:11", @@ -186063,7 +185953,7 @@ ], "src": "38480:13:11" }, - "scope": 6134, + "scope": 6145, "src": "38412:256:11", "stateMutability": "pure", "virtual": false, @@ -186071,7 +185961,7 @@ }, { "body": { - "id": 6057, + "id": 6068, "nodeType": "Block", "src": "38841:774:11", "statements": [ @@ -187084,68 +186974,68 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 6049, + "declaration": 6060, "isOffset": false, "isSlot": false, "src": "39482:1:11", "valueSize": 1 }, { - "declaration": 6049, + "declaration": 6060, "isOffset": false, "isSlot": false, "src": "39587:1:11", "valueSize": 1 }, { - "declaration": 6051, + "declaration": 6062, "isOffset": false, "isSlot": false, "src": "39030:1:11", "valueSize": 1 }, { - "declaration": 6051, + "declaration": 6062, "isOffset": false, "isSlot": false, "src": "39093:1:11", "valueSize": 1 }, { - "declaration": 6051, + "declaration": 6062, "isOffset": false, "isSlot": false, "src": "39107:1:11", "valueSize": 1 }, { - "declaration": 6051, + "declaration": 6062, "isOffset": false, "isSlot": false, "src": "39558:1:11", "valueSize": 1 }, { - "declaration": 6054, + "declaration": 6065, "isOffset": false, "isSlot": false, "src": "39460:6:11", "valueSize": 1 } ], - "id": 6056, + "id": 6067, "nodeType": "InlineAssembly", "src": "38894:715:11" } ] }, "documentation": { - "id": 6047, + "id": 6058, "nodeType": "StructuredDocumentation", "src": "38674:85:11", "text": "@dev Returns whether `a` equals `b`, where `b` is a null-terminated small string." }, - "id": 6058, + "id": 6069, "implemented": true, "kind": "function", "modifiers": [], @@ -187153,17 +187043,17 @@ "nameLocation": "38773:3:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 6052, + "id": 6063, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6049, + "id": 6060, "mutability": "mutable", "name": "a", "nameLocation": "38791:1:11", "nodeType": "VariableDeclaration", - "scope": 6058, + "scope": 6069, "src": "38777:15:11", "stateVariable": false, "storageLocation": "memory", @@ -187172,7 +187062,7 @@ "typeString": "string" }, "typeName": { - "id": 6048, + "id": 6059, "name": "string", "nodeType": "ElementaryTypeName", "src": "38777:6:11", @@ -187185,12 +187075,12 @@ }, { "constant": false, - "id": 6051, + "id": 6062, "mutability": "mutable", "name": "b", "nameLocation": "38802:1:11", "nodeType": "VariableDeclaration", - "scope": 6058, + "scope": 6069, "src": "38794:9:11", "stateVariable": false, "storageLocation": "default", @@ -187199,7 +187089,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 6050, + "id": 6061, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "38794:7:11", @@ -187214,17 +187104,17 @@ "src": "38776:28:11" }, "returnParameters": { - "id": 6055, + "id": 6066, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6054, + "id": 6065, "mutability": "mutable", "name": "result", "nameLocation": "38833:6:11", "nodeType": "VariableDeclaration", - "scope": 6058, + "scope": 6069, "src": "38828:11:11", "stateVariable": false, "storageLocation": "default", @@ -187233,7 +187123,7 @@ "typeString": "bool" }, "typeName": { - "id": 6053, + "id": 6064, "name": "bool", "nodeType": "ElementaryTypeName", "src": "38828:4:11", @@ -187247,7 +187137,7 @@ ], "src": "38827:13:11" }, - "scope": 6134, + "scope": 6145, "src": "38764:851:11", "stateMutability": "pure", "virtual": false, @@ -187255,7 +187145,7 @@ }, { "body": { - "id": 6080, + "id": 6091, "nodeType": "Block", "src": "39837:56:11", "statements": [ @@ -187265,11 +187155,11 @@ { "arguments": [ { - "id": 6072, + "id": 6083, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6061, + "referencedDeclaration": 6072, "src": "39873:1:11", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -187284,7 +187174,7 @@ "typeString": "string memory" } ], - "id": 6071, + "id": 6082, "isConstant": false, "isLValue": false, "isPure": true, @@ -187296,14 +187186,14 @@ "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 6070, + "id": 6081, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "39867:5:11", "typeDescriptions": {} } }, - "id": 6073, + "id": 6084, "isConstant": false, "isLValue": false, "isPure": false, @@ -187322,11 +187212,11 @@ { "arguments": [ { - "id": 6076, + "id": 6087, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6063, + "referencedDeclaration": 6074, "src": "39883:1:11", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -187341,7 +187231,7 @@ "typeString": "string memory" } ], - "id": 6075, + "id": 6086, "isConstant": false, "isLValue": false, "isPure": true, @@ -187353,14 +187243,14 @@ "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 6074, + "id": 6085, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "39877:5:11", "typeDescriptions": {} } }, - "id": 6077, + "id": 6088, "isConstant": false, "isLValue": false, "isPure": false, @@ -187389,18 +187279,18 @@ } ], "expression": { - "id": 6068, + "id": 6079, "name": "LibBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3078, + "referencedDeclaration": 3089, "src": "39854:8:11", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibBytes_$3078_$", + "typeIdentifier": "t_type$_t_contract$_LibBytes_$3089_$", "typeString": "type(library LibBytes)" } }, - "id": 6069, + "id": 6080, "isConstant": false, "isLValue": false, "isPure": false, @@ -187408,14 +187298,14 @@ "memberLocation": "39863:3:11", "memberName": "cmp", "nodeType": "MemberAccess", - "referencedDeclaration": 2992, + "referencedDeclaration": 3003, "src": "39854:12:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_int256_$", "typeString": "function (bytes memory,bytes memory) pure returns (int256)" } }, - "id": 6078, + "id": 6089, "isConstant": false, "isLValue": false, "isPure": false, @@ -187431,20 +187321,20 @@ "typeString": "int256" } }, - "functionReturnParameters": 6067, - "id": 6079, + "functionReturnParameters": 6078, + "id": 6090, "nodeType": "Return", "src": "39847:39:11" } ] }, "documentation": { - "id": 6059, + "id": 6070, "nodeType": "StructuredDocumentation", "src": "39621:133:11", "text": "@dev Returns 0 if `a == b`, -1 if `a < b`, +1 if `a > b`.\n If `a` == b[:a.length]`, and `a.length < b.length`, returns -1." }, - "id": 6081, + "id": 6092, "implemented": true, "kind": "function", "modifiers": [], @@ -187452,17 +187342,17 @@ "nameLocation": "39768:3:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 6064, + "id": 6075, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6061, + "id": 6072, "mutability": "mutable", "name": "a", "nameLocation": "39786:1:11", "nodeType": "VariableDeclaration", - "scope": 6081, + "scope": 6092, "src": "39772:15:11", "stateVariable": false, "storageLocation": "memory", @@ -187471,7 +187361,7 @@ "typeString": "string" }, "typeName": { - "id": 6060, + "id": 6071, "name": "string", "nodeType": "ElementaryTypeName", "src": "39772:6:11", @@ -187484,12 +187374,12 @@ }, { "constant": false, - "id": 6063, + "id": 6074, "mutability": "mutable", "name": "b", "nameLocation": "39803:1:11", "nodeType": "VariableDeclaration", - "scope": 6081, + "scope": 6092, "src": "39789:15:11", "stateVariable": false, "storageLocation": "memory", @@ -187498,7 +187388,7 @@ "typeString": "string" }, "typeName": { - "id": 6062, + "id": 6073, "name": "string", "nodeType": "ElementaryTypeName", "src": "39789:6:11", @@ -187513,17 +187403,17 @@ "src": "39771:34:11" }, "returnParameters": { - "id": 6067, + "id": 6078, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6066, + "id": 6077, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 6081, + "scope": 6092, "src": "39829:6:11", "stateVariable": false, "storageLocation": "default", @@ -187532,7 +187422,7 @@ "typeString": "int256" }, "typeName": { - "id": 6065, + "id": 6076, "name": "int256", "nodeType": "ElementaryTypeName", "src": "39829:6:11", @@ -187546,7 +187436,7 @@ ], "src": "39828:8:11" }, - "scope": 6134, + "scope": 6145, "src": "39759:134:11", "stateMutability": "pure", "virtual": false, @@ -187554,7 +187444,7 @@ }, { "body": { - "id": 6090, + "id": 6101, "nodeType": "Block", "src": "40114:573:11", "statements": [ @@ -187697,40 +187587,40 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 6084, + "declaration": 6095, "isOffset": false, "isSlot": false, "src": "40437:1:11", "valueSize": 1 }, { - "declaration": 6084, + "declaration": 6095, "isOffset": false, "isSlot": false, "src": "40640:1:11", "valueSize": 1 }, { - "declaration": 6087, + "declaration": 6098, "isOffset": false, "isSlot": false, "src": "40322:6:11", "valueSize": 1 } ], - "id": 6089, + "id": 6100, "nodeType": "InlineAssembly", "src": "40167:514:11" } ] }, "documentation": { - "id": 6082, + "id": 6093, "nodeType": "StructuredDocumentation", "src": "39899:137:11", "text": "@dev Packs a single string with its length into a single word.\n Returns `bytes32(0)` if the length is zero or greater than 31." }, - "id": 6091, + "id": 6102, "implemented": true, "kind": "function", "modifiers": [], @@ -187738,17 +187628,17 @@ "nameLocation": "40050:7:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 6085, + "id": 6096, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6084, + "id": 6095, "mutability": "mutable", "name": "a", "nameLocation": "40072:1:11", "nodeType": "VariableDeclaration", - "scope": 6091, + "scope": 6102, "src": "40058:15:11", "stateVariable": false, "storageLocation": "memory", @@ -187757,7 +187647,7 @@ "typeString": "string" }, "typeName": { - "id": 6083, + "id": 6094, "name": "string", "nodeType": "ElementaryTypeName", "src": "40058:6:11", @@ -187772,17 +187662,17 @@ "src": "40057:17:11" }, "returnParameters": { - "id": 6088, + "id": 6099, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6087, + "id": 6098, "mutability": "mutable", "name": "result", "nameLocation": "40106:6:11", "nodeType": "VariableDeclaration", - "scope": 6091, + "scope": 6102, "src": "40098:14:11", "stateVariable": false, "storageLocation": "default", @@ -187791,7 +187681,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 6086, + "id": 6097, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "40098:7:11", @@ -187805,7 +187695,7 @@ ], "src": "40097:16:11" }, - "scope": 6134, + "scope": 6145, "src": "40041:646:11", "stateMutability": "pure", "virtual": false, @@ -187813,7 +187703,7 @@ }, { "body": { - "id": 6100, + "id": 6111, "nodeType": "Block", "src": "40974:469:11", "statements": [ @@ -188084,68 +187974,68 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 6094, + "declaration": 6105, "isOffset": false, "isSlot": false, "src": "41302:6:11", "valueSize": 1 }, { - "declaration": 6097, + "declaration": 6108, "isOffset": false, "isSlot": false, "src": "41050:6:11", "valueSize": 1 }, { - "declaration": 6097, + "declaration": 6108, "isOffset": false, "isSlot": false, "src": "41134:6:11", "valueSize": 1 }, { - "declaration": 6097, + "declaration": 6108, "isOffset": false, "isSlot": false, "src": "41225:6:11", "valueSize": 1 }, { - "declaration": 6097, + "declaration": 6108, "isOffset": false, "isSlot": false, "src": "41287:6:11", "valueSize": 1 }, { - "declaration": 6097, + "declaration": 6108, "isOffset": false, "isSlot": false, "src": "41368:6:11", "valueSize": 1 }, { - "declaration": 6097, + "declaration": 6108, "isOffset": false, "isSlot": false, "src": "41389:6:11", "valueSize": 1 } ], - "id": 6099, + "id": 6110, "nodeType": "InlineAssembly", "src": "41027:410:11" } ] }, "documentation": { - "id": 6092, + "id": 6103, "nodeType": "StructuredDocumentation", "src": "40693:196:11", "text": "@dev Unpacks a string packed using {packOne}.\n Returns the empty string if `packed` is `bytes32(0)`.\n If `packed` is not an output of {packOne}, the output behavior is undefined." }, - "id": 6101, + "id": 6112, "implemented": true, "kind": "function", "modifiers": [], @@ -188153,17 +188043,17 @@ "nameLocation": "40903:9:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 6095, + "id": 6106, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6094, + "id": 6105, "mutability": "mutable", "name": "packed", "nameLocation": "40921:6:11", "nodeType": "VariableDeclaration", - "scope": 6101, + "scope": 6112, "src": "40913:14:11", "stateVariable": false, "storageLocation": "default", @@ -188172,7 +188062,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 6093, + "id": 6104, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "40913:7:11", @@ -188187,17 +188077,17 @@ "src": "40912:16:11" }, "returnParameters": { - "id": 6098, + "id": 6109, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6097, + "id": 6108, "mutability": "mutable", "name": "result", "nameLocation": "40966:6:11", "nodeType": "VariableDeclaration", - "scope": 6101, + "scope": 6112, "src": "40952:20:11", "stateVariable": false, "storageLocation": "memory", @@ -188206,7 +188096,7 @@ "typeString": "string" }, "typeName": { - "id": 6096, + "id": 6107, "name": "string", "nodeType": "ElementaryTypeName", "src": "40952:6:11", @@ -188220,7 +188110,7 @@ ], "src": "40951:22:11" }, - "scope": 6134, + "scope": 6145, "src": "40894:549:11", "stateMutability": "pure", "virtual": false, @@ -188228,7 +188118,7 @@ }, { "body": { - "id": 6112, + "id": 6123, "nodeType": "Block", "src": "41685:706:11", "statements": [ @@ -188554,54 +188444,54 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 6104, + "declaration": 6115, "isOffset": false, "isSlot": false, "src": "41779:1:11", "valueSize": 1 }, { - "declaration": 6104, + "declaration": 6115, "isOffset": false, "isSlot": false, "src": "42090:1:11", "valueSize": 1 }, { - "declaration": 6106, + "declaration": 6117, "isOffset": false, "isSlot": false, "src": "42116:1:11", "valueSize": 1 }, { - "declaration": 6106, + "declaration": 6117, "isOffset": false, "isSlot": false, "src": "42343:1:11", "valueSize": 1 }, { - "declaration": 6109, + "declaration": 6120, "isOffset": false, "isSlot": false, "src": "41927:6:11", "valueSize": 1 } ], - "id": 6111, + "id": 6122, "nodeType": "InlineAssembly", "src": "41738:647:11" } ] }, "documentation": { - "id": 6102, + "id": 6113, "nodeType": "StructuredDocumentation", "src": "41449:141:11", "text": "@dev Packs two strings with their lengths into a single word.\n Returns `bytes32(0)` if combined length is zero or greater than 30." }, - "id": 6113, + "id": 6124, "implemented": true, "kind": "function", "modifiers": [], @@ -188609,17 +188499,17 @@ "nameLocation": "41604:7:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 6107, + "id": 6118, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6104, + "id": 6115, "mutability": "mutable", "name": "a", "nameLocation": "41626:1:11", "nodeType": "VariableDeclaration", - "scope": 6113, + "scope": 6124, "src": "41612:15:11", "stateVariable": false, "storageLocation": "memory", @@ -188628,7 +188518,7 @@ "typeString": "string" }, "typeName": { - "id": 6103, + "id": 6114, "name": "string", "nodeType": "ElementaryTypeName", "src": "41612:6:11", @@ -188641,12 +188531,12 @@ }, { "constant": false, - "id": 6106, + "id": 6117, "mutability": "mutable", "name": "b", "nameLocation": "41643:1:11", "nodeType": "VariableDeclaration", - "scope": 6113, + "scope": 6124, "src": "41629:15:11", "stateVariable": false, "storageLocation": "memory", @@ -188655,7 +188545,7 @@ "typeString": "string" }, "typeName": { - "id": 6105, + "id": 6116, "name": "string", "nodeType": "ElementaryTypeName", "src": "41629:6:11", @@ -188670,17 +188560,17 @@ "src": "41611:34:11" }, "returnParameters": { - "id": 6110, + "id": 6121, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6109, + "id": 6120, "mutability": "mutable", "name": "result", "nameLocation": "41677:6:11", "nodeType": "VariableDeclaration", - "scope": 6113, + "scope": 6124, "src": "41669:14:11", "stateVariable": false, "storageLocation": "default", @@ -188689,7 +188579,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 6108, + "id": 6119, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "41669:7:11", @@ -188703,7 +188593,7 @@ ], "src": "41668:16:11" }, - "scope": 6134, + "scope": 6145, "src": "41595:796:11", "stateMutability": "pure", "virtual": false, @@ -188711,7 +188601,7 @@ }, { "body": { - "id": 6124, + "id": 6135, "nodeType": "Block", "src": "42730:778:11", "statements": [ @@ -189256,124 +189146,124 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 6116, + "declaration": 6127, "isOffset": false, "isSlot": false, "src": "43234:6:11", "valueSize": 1 }, { - "declaration": 6119, + "declaration": 6130, "isOffset": false, "isSlot": false, "src": "42806:7:11", "valueSize": 1 }, { - "declaration": 6119, + "declaration": 6130, "isOffset": false, "isSlot": false, "src": "42889:7:11", "valueSize": 1 }, { - "declaration": 6119, + "declaration": 6130, "isOffset": false, "isSlot": false, "src": "43108:7:11", "valueSize": 1 }, { - "declaration": 6119, + "declaration": 6130, "isOffset": false, "isSlot": false, "src": "43218:7:11", "valueSize": 1 }, { - "declaration": 6119, + "declaration": 6130, "isOffset": false, "isSlot": false, "src": "43295:7:11", "valueSize": 1 }, { - "declaration": 6119, + "declaration": 6130, "isOffset": false, "isSlot": false, "src": "43317:7:11", "valueSize": 1 }, { - "declaration": 6119, + "declaration": 6130, "isOffset": false, "isSlot": false, "src": "43394:7:11", "valueSize": 1 }, { - "declaration": 6119, + "declaration": 6130, "isOffset": false, "isSlot": false, "src": "43416:7:11", "valueSize": 1 }, { - "declaration": 6121, + "declaration": 6132, "isOffset": false, "isSlot": false, "src": "42874:7:11", "valueSize": 1 }, { - "declaration": 6121, + "declaration": 6132, "isOffset": false, "isSlot": false, "src": "43032:7:11", "valueSize": 1 }, { - "declaration": 6121, + "declaration": 6132, "isOffset": false, "isSlot": false, "src": "43139:7:11", "valueSize": 1 }, { - "declaration": 6121, + "declaration": 6132, "isOffset": false, "isSlot": false, "src": "43265:7:11", "valueSize": 1 }, { - "declaration": 6121, + "declaration": 6132, "isOffset": false, "isSlot": false, "src": "43457:7:11", "valueSize": 1 }, { - "declaration": 6121, + "declaration": 6132, "isOffset": false, "isSlot": false, "src": "43479:7:11", "valueSize": 1 } ], - "id": 6123, + "id": 6134, "nodeType": "InlineAssembly", "src": "42783:719:11" } ] }, "documentation": { - "id": 6114, + "id": 6125, "nodeType": "StructuredDocumentation", "src": "42397:196:11", "text": "@dev Unpacks strings packed using {packTwo}.\n Returns the empty strings if `packed` is `bytes32(0)`.\n If `packed` is not an output of {packTwo}, the output behavior is undefined." }, - "id": 6125, + "id": 6136, "implemented": true, "kind": "function", "modifiers": [], @@ -189381,17 +189271,17 @@ "nameLocation": "42607:9:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 6117, + "id": 6128, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6116, + "id": 6127, "mutability": "mutable", "name": "packed", "nameLocation": "42625:6:11", "nodeType": "VariableDeclaration", - "scope": 6125, + "scope": 6136, "src": "42617:14:11", "stateVariable": false, "storageLocation": "default", @@ -189400,7 +189290,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 6115, + "id": 6126, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "42617:7:11", @@ -189415,17 +189305,17 @@ "src": "42616:16:11" }, "returnParameters": { - "id": 6122, + "id": 6133, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6119, + "id": 6130, "mutability": "mutable", "name": "resultA", "nameLocation": "42694:7:11", "nodeType": "VariableDeclaration", - "scope": 6125, + "scope": 6136, "src": "42680:21:11", "stateVariable": false, "storageLocation": "memory", @@ -189434,7 +189324,7 @@ "typeString": "string" }, "typeName": { - "id": 6118, + "id": 6129, "name": "string", "nodeType": "ElementaryTypeName", "src": "42680:6:11", @@ -189447,12 +189337,12 @@ }, { "constant": false, - "id": 6121, + "id": 6132, "mutability": "mutable", "name": "resultB", "nameLocation": "42717:7:11", "nodeType": "VariableDeclaration", - "scope": 6125, + "scope": 6136, "src": "42703:21:11", "stateVariable": false, "storageLocation": "memory", @@ -189461,7 +189351,7 @@ "typeString": "string" }, "typeName": { - "id": 6120, + "id": 6131, "name": "string", "nodeType": "ElementaryTypeName", "src": "42703:6:11", @@ -189475,7 +189365,7 @@ ], "src": "42679:46:11" }, - "scope": 6134, + "scope": 6145, "src": "42598:910:11", "stateMutability": "pure", "virtual": false, @@ -189483,7 +189373,7 @@ }, { "body": { - "id": 6132, + "id": 6143, "nodeType": "Block", "src": "43618:631:11", "statements": [ @@ -189762,33 +189652,33 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 6128, + "declaration": 6139, "isOffset": false, "isSlot": false, "src": "43792:1:11", "valueSize": 1 }, { - "declaration": 6128, + "declaration": 6139, "isOffset": false, "isSlot": false, "src": "43846:1:11", "valueSize": 1 } ], - "id": 6131, + "id": 6142, "nodeType": "InlineAssembly", "src": "43671:572:11" } ] }, "documentation": { - "id": 6126, + "id": 6137, "nodeType": "StructuredDocumentation", "src": "43514:46:11", "text": "@dev Directly returns `a` without copying." }, - "id": 6133, + "id": 6144, "implemented": true, "kind": "function", "modifiers": [], @@ -189796,17 +189686,17 @@ "nameLocation": "43574:12:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 6129, + "id": 6140, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6128, + "id": 6139, "mutability": "mutable", "name": "a", "nameLocation": "43601:1:11", "nodeType": "VariableDeclaration", - "scope": 6133, + "scope": 6144, "src": "43587:15:11", "stateVariable": false, "storageLocation": "memory", @@ -189815,7 +189705,7 @@ "typeString": "string" }, "typeName": { - "id": 6127, + "id": 6138, "name": "string", "nodeType": "ElementaryTypeName", "src": "43587:6:11", @@ -189830,24 +189720,24 @@ "src": "43586:17:11" }, "returnParameters": { - "id": 6130, + "id": 6141, "nodeType": "ParameterList", "parameters": [], "src": "43618:0:11" }, - "scope": 6134, + "scope": 6145, "src": "43565:684:11", "stateMutability": "pure", "virtual": false, "visibility": "internal" } ], - "scope": 6135, + "scope": 6146, "src": "690:43561:11", "usedErrors": [ - 5105, - 5108, - 5111 + 5116, + 5119, + 5122 ], "usedEvents": [] } @@ -189861,15 +189751,15 @@ "absolutePath": "solady/utils/SignatureCheckerLib.sol", "exportedSymbols": { "SignatureCheckerLib": [ - 6354 + 6365 ] }, - "id": 6355, + "id": 6366, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 6136, + "id": 6147, "literals": [ "solidity", "^", @@ -189886,15 +189776,15 @@ "contractDependencies": [], "contractKind": "library", "documentation": { - "id": 6137, + "id": 6148, "nodeType": "StructuredDocumentation", "src": "57:1381:12", "text": "@notice Signature verification helper that supports both ECDSA signatures from EOAs\n and ERC1271 signatures from smart contract wallets like Argent and Gnosis safe.\n @author Solady (https://github.com/vectorized/solady/blob/main/src/utils/SignatureCheckerLib.sol)\n @author Modified from OpenZeppelin (https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/cryptography/SignatureChecker.sol)\n @dev Note:\n - The signature checking functions use the ecrecover precompile (0x1).\n - The `bytes memory signature` variants use the identity precompile (0x4)\n to copy memory internally.\n - Unlike ECDSA signatures, contract signatures are revocable.\n - As of Solady version 0.0.134, all `bytes signature` variants accept both\n regular 65-byte `(r, s, v)` and EIP-2098 `(r, vs)` short form signatures.\n See: https://eips.ethereum.org/EIPS/eip-2098\n This is for calldata efficiency on smart accounts prevalent on L2s.\n WARNING! Do NOT use signatures as unique identifiers:\n - Use a nonce in the digest to prevent replay attacks on the same contract.\n - Use EIP-712 for the digest to prevent replay attacks across different chains and contracts.\n EIP-712 also enables readable signing of typed data for better user safety.\n This implementation does NOT check if a signature is non-malleable." }, "fullyImplemented": true, - "id": 6354, + "id": 6365, "linearizedBaseContracts": [ - 6354 + 6365 ], "name": "SignatureCheckerLib", "nameLocation": "1446:19:12", @@ -189902,7 +189792,7 @@ "nodes": [ { "body": { - "id": 6159, + "id": 6170, "nodeType": "Block", "src": "2104:1914:12", "statements": [ @@ -189912,17 +189802,17 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 6154, + "id": 6165, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 6149, + "id": 6160, "name": "signer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6140, + "referencedDeclaration": 6151, "src": "2118:6:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -189935,7 +189825,7 @@ "arguments": [ { "hexValue": "30", - "id": 6152, + "id": 6163, "isConstant": false, "isLValue": false, "isPure": true, @@ -189957,7 +189847,7 @@ "typeString": "int_const 0" } ], - "id": 6151, + "id": 6162, "isConstant": false, "isLValue": false, "isPure": true, @@ -189969,14 +189859,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 6150, + "id": 6161, "name": "address", "nodeType": "ElementaryTypeName", "src": "2128:7:12", "typeDescriptions": {} } }, - "id": 6153, + "id": 6164, "isConstant": false, "isLValue": false, "isPure": true, @@ -189998,24 +189888,24 @@ "typeString": "bool" } }, - "id": 6157, + "id": 6168, "nodeType": "IfStatement", "src": "2114:40:12", "trueBody": { "expression": { - "id": 6155, + "id": 6166, "name": "isValid", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6147, + "referencedDeclaration": 6158, "src": "2147:7:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 6148, - "id": 6156, + "functionReturnParameters": 6159, + "id": 6167, "nodeType": "Return", "src": "2140:14:12" } @@ -191461,131 +191351,131 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 6142, + "declaration": 6153, "isOffset": false, "isSlot": false, "src": "2897:4:12", "valueSize": 1 }, { - "declaration": 6142, + "declaration": 6153, "isOffset": false, "isSlot": false, "src": "3496:4:12", "valueSize": 1 }, { - "declaration": 6147, + "declaration": 6158, "isOffset": false, "isSlot": false, "src": "3082:7:12", "valueSize": 1 }, { - "declaration": 6147, + "declaration": 6158, "isOffset": false, "isSlot": false, "src": "3819:7:12", "valueSize": 1 }, { - "declaration": 6147, + "declaration": 6158, "isOffset": false, "isSlot": false, "src": "3913:7:12", "valueSize": 1 }, { - "declaration": 6147, + "declaration": 6158, "isOffset": false, "isSlot": false, "src": "3949:7:12", "valueSize": 1 }, { - "declaration": 6144, + "declaration": 6155, "isOffset": false, "isSlot": false, "src": "2359:9:12", "valueSize": 1 }, { - "declaration": 6144, + "declaration": 6155, "isOffset": false, "isSlot": false, "src": "2444:9:12", "valueSize": 1 }, { - "declaration": 6144, + "declaration": 6155, "isOffset": false, "isSlot": false, "src": "2702:9:12", "valueSize": 1 }, { - "declaration": 6144, + "declaration": 6155, "isOffset": false, "isSlot": false, "src": "2777:9:12", "valueSize": 1 }, { - "declaration": 6144, + "declaration": 6155, "isOffset": false, "isSlot": false, "src": "2946:9:12", "valueSize": 1 }, { - "declaration": 6144, + "declaration": 6155, "isOffset": false, "isSlot": false, "src": "3709:9:12", "valueSize": 1 }, { - "declaration": 6144, + "declaration": 6155, "isOffset": false, "isSlot": false, "src": "3772:9:12", "valueSize": 1 }, { - "declaration": 6140, + "declaration": 6151, "isOffset": false, "isSlot": false, "src": "2315:6:12", "valueSize": 1 }, { - "declaration": 6140, + "declaration": 6151, "isOffset": false, "isSlot": false, "src": "3126:6:12", "valueSize": 1 }, { - "declaration": 6140, + "declaration": 6151, "isOffset": false, "isSlot": false, "src": "3848:6:12", "valueSize": 1 } ], - "id": 6158, + "id": 6169, "nodeType": "InlineAssembly", "src": "2207:1805:12" } ] }, "documentation": { - "id": 6138, + "id": 6149, "nodeType": "StructuredDocumentation", "src": "1755:196:12", "text": "@dev Returns whether `signature` is valid for `signer` and `hash`.\n If `signer.code.length == 0`, then validate with `ecrecover`, else\n it will validate with ERC1271 on `signer`." }, - "id": 6160, + "id": 6171, "implemented": true, "kind": "function", "modifiers": [], @@ -191593,17 +191483,17 @@ "nameLocation": "1965:19:12", "nodeType": "FunctionDefinition", "parameters": { - "id": 6145, + "id": 6156, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6140, + "id": 6151, "mutability": "mutable", "name": "signer", "nameLocation": "1993:6:12", "nodeType": "VariableDeclaration", - "scope": 6160, + "scope": 6171, "src": "1985:14:12", "stateVariable": false, "storageLocation": "default", @@ -191612,7 +191502,7 @@ "typeString": "address" }, "typeName": { - "id": 6139, + "id": 6150, "name": "address", "nodeType": "ElementaryTypeName", "src": "1985:7:12", @@ -191626,12 +191516,12 @@ }, { "constant": false, - "id": 6142, + "id": 6153, "mutability": "mutable", "name": "hash", "nameLocation": "2009:4:12", "nodeType": "VariableDeclaration", - "scope": 6160, + "scope": 6171, "src": "2001:12:12", "stateVariable": false, "storageLocation": "default", @@ -191640,7 +191530,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 6141, + "id": 6152, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2001:7:12", @@ -191653,12 +191543,12 @@ }, { "constant": false, - "id": 6144, + "id": 6155, "mutability": "mutable", "name": "signature", "nameLocation": "2028:9:12", "nodeType": "VariableDeclaration", - "scope": 6160, + "scope": 6171, "src": "2015:22:12", "stateVariable": false, "storageLocation": "memory", @@ -191667,7 +191557,7 @@ "typeString": "bytes" }, "typeName": { - "id": 6143, + "id": 6154, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "2015:5:12", @@ -191682,17 +191572,17 @@ "src": "1984:54:12" }, "returnParameters": { - "id": 6148, + "id": 6159, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6147, + "id": 6158, "mutability": "mutable", "name": "isValid", "nameLocation": "2091:7:12", "nodeType": "VariableDeclaration", - "scope": 6160, + "scope": 6171, "src": "2086:12:12", "stateVariable": false, "storageLocation": "default", @@ -191701,7 +191591,7 @@ "typeString": "bool" }, "typeName": { - "id": 6146, + "id": 6157, "name": "bool", "nodeType": "ElementaryTypeName", "src": "2086:4:12", @@ -191715,7 +191605,7 @@ ], "src": "2085:14:12" }, - "scope": 6354, + "scope": 6365, "src": "1956:2062:12", "stateMutability": "view", "virtual": false, @@ -191723,7 +191613,7 @@ }, { "body": { - "id": 6182, + "id": 6193, "nodeType": "Block", "src": "4383:1941:12", "statements": [ @@ -191733,17 +191623,17 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 6177, + "id": 6188, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 6172, + "id": 6183, "name": "signer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6163, + "referencedDeclaration": 6174, "src": "4397:6:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -191756,7 +191646,7 @@ "arguments": [ { "hexValue": "30", - "id": 6175, + "id": 6186, "isConstant": false, "isLValue": false, "isPure": true, @@ -191778,7 +191668,7 @@ "typeString": "int_const 0" } ], - "id": 6174, + "id": 6185, "isConstant": false, "isLValue": false, "isPure": true, @@ -191790,14 +191680,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 6173, + "id": 6184, "name": "address", "nodeType": "ElementaryTypeName", "src": "4407:7:12", "typeDescriptions": {} } }, - "id": 6176, + "id": 6187, "isConstant": false, "isLValue": false, "isPure": true, @@ -191819,24 +191709,24 @@ "typeString": "bool" } }, - "id": 6180, + "id": 6191, "nodeType": "IfStatement", "src": "4393:40:12", "trueBody": { "expression": { - "id": 6178, + "id": 6189, "name": "isValid", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6170, + "referencedDeclaration": 6181, "src": "4426:7:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 6171, - "id": 6179, + "functionReturnParameters": 6182, + "id": 6190, "nodeType": "Return", "src": "4419:14:12" } @@ -193159,49 +193049,49 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 6165, + "declaration": 6176, "isOffset": false, "isSlot": false, "src": "5287:4:12", "valueSize": 1 }, { - "declaration": 6165, + "declaration": 6176, "isOffset": false, "isSlot": false, "src": "5816:4:12", "valueSize": 1 }, { - "declaration": 6170, + "declaration": 6181, "isOffset": false, "isSlot": false, "src": "5402:7:12", "valueSize": 1 }, { - "declaration": 6170, + "declaration": 6181, "isOffset": false, "isSlot": false, "src": "6138:7:12", "valueSize": 1 }, { - "declaration": 6170, + "declaration": 6181, "isOffset": false, "isSlot": false, "src": "6232:7:12", "valueSize": 1 }, { - "declaration": 6170, + "declaration": 6181, "isOffset": false, "isSlot": false, "src": "6264:7:12", "valueSize": 1 }, { - "declaration": 6167, + "declaration": 6178, "isOffset": false, "isSlot": false, "src": "4632:16:12", @@ -193209,7 +193099,7 @@ "valueSize": 1 }, { - "declaration": 6167, + "declaration": 6178, "isOffset": false, "isSlot": false, "src": "5979:16:12", @@ -193217,7 +193107,7 @@ "valueSize": 1 }, { - "declaration": 6167, + "declaration": 6178, "isOffset": false, "isSlot": false, "src": "6104:16:12", @@ -193225,7 +193115,7 @@ "valueSize": 1 }, { - "declaration": 6167, + "declaration": 6178, "isOffset": false, "isSlot": false, "src": "6182:16:12", @@ -193233,7 +193123,7 @@ "valueSize": 1 }, { - "declaration": 6167, + "declaration": 6178, "isOffset": true, "isSlot": false, "src": "4730:16:12", @@ -193241,7 +193131,7 @@ "valueSize": 1 }, { - "declaration": 6167, + "declaration": 6178, "isOffset": true, "isSlot": false, "src": "4873:16:12", @@ -193249,7 +193139,7 @@ "valueSize": 1 }, { - "declaration": 6167, + "declaration": 6178, "isOffset": true, "isSlot": false, "src": "5079:16:12", @@ -193257,7 +193147,7 @@ "valueSize": 1 }, { - "declaration": 6167, + "declaration": 6178, "isOffset": true, "isSlot": false, "src": "5157:16:12", @@ -193265,7 +193155,7 @@ "valueSize": 1 }, { - "declaration": 6167, + "declaration": 6178, "isOffset": true, "isSlot": false, "src": "6086:16:12", @@ -193273,40 +193163,40 @@ "valueSize": 1 }, { - "declaration": 6163, + "declaration": 6174, "isOffset": false, "isSlot": false, "src": "4594:6:12", "valueSize": 1 }, { - "declaration": 6163, + "declaration": 6174, "isOffset": false, "isSlot": false, "src": "5446:6:12", "valueSize": 1 }, { - "declaration": 6163, + "declaration": 6174, "isOffset": false, "isSlot": false, "src": "6167:6:12", "valueSize": 1 } ], - "id": 6181, + "id": 6192, "nodeType": "InlineAssembly", "src": "4486:1832:12" } ] }, "documentation": { - "id": 6161, + "id": 6172, "nodeType": "StructuredDocumentation", "src": "4024:196:12", "text": "@dev Returns whether `signature` is valid for `signer` and `hash`.\n If `signer.code.length == 0`, then validate with `ecrecover`, else\n it will validate with ERC1271 on `signer`." }, - "id": 6183, + "id": 6194, "implemented": true, "kind": "function", "modifiers": [], @@ -193314,17 +193204,17 @@ "nameLocation": "4234:27:12", "nodeType": "FunctionDefinition", "parameters": { - "id": 6168, + "id": 6179, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6163, + "id": 6174, "mutability": "mutable", "name": "signer", "nameLocation": "4270:6:12", "nodeType": "VariableDeclaration", - "scope": 6183, + "scope": 6194, "src": "4262:14:12", "stateVariable": false, "storageLocation": "default", @@ -193333,7 +193223,7 @@ "typeString": "address" }, "typeName": { - "id": 6162, + "id": 6173, "name": "address", "nodeType": "ElementaryTypeName", "src": "4262:7:12", @@ -193347,12 +193237,12 @@ }, { "constant": false, - "id": 6165, + "id": 6176, "mutability": "mutable", "name": "hash", "nameLocation": "4286:4:12", "nodeType": "VariableDeclaration", - "scope": 6183, + "scope": 6194, "src": "4278:12:12", "stateVariable": false, "storageLocation": "default", @@ -193361,7 +193251,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 6164, + "id": 6175, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "4278:7:12", @@ -193374,12 +193264,12 @@ }, { "constant": false, - "id": 6167, + "id": 6178, "mutability": "mutable", "name": "signature", "nameLocation": "4307:9:12", "nodeType": "VariableDeclaration", - "scope": 6183, + "scope": 6194, "src": "4292:24:12", "stateVariable": false, "storageLocation": "calldata", @@ -193388,7 +193278,7 @@ "typeString": "bytes" }, "typeName": { - "id": 6166, + "id": 6177, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "4292:5:12", @@ -193403,17 +193293,17 @@ "src": "4261:56:12" }, "returnParameters": { - "id": 6171, + "id": 6182, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6170, + "id": 6181, "mutability": "mutable", "name": "isValid", "nameLocation": "4370:7:12", "nodeType": "VariableDeclaration", - "scope": 6183, + "scope": 6194, "src": "4365:12:12", "stateVariable": false, "storageLocation": "default", @@ -193422,7 +193312,7 @@ "typeString": "bool" }, "typeName": { - "id": 6169, + "id": 6180, "name": "bool", "nodeType": "ElementaryTypeName", "src": "4365:4:12", @@ -193436,7 +193326,7 @@ ], "src": "4364:14:12" }, - "scope": 6354, + "scope": 6365, "src": "4225:2099:12", "stateMutability": "view", "virtual": false, @@ -193444,7 +193334,7 @@ }, { "body": { - "id": 6207, + "id": 6218, "nodeType": "Block", "src": "6692:1509:12", "statements": [ @@ -193454,17 +193344,17 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 6202, + "id": 6213, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 6197, + "id": 6208, "name": "signer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6186, + "referencedDeclaration": 6197, "src": "6706:6:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -193477,7 +193367,7 @@ "arguments": [ { "hexValue": "30", - "id": 6200, + "id": 6211, "isConstant": false, "isLValue": false, "isPure": true, @@ -193499,7 +193389,7 @@ "typeString": "int_const 0" } ], - "id": 6199, + "id": 6210, "isConstant": false, "isLValue": false, "isPure": true, @@ -193511,14 +193401,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 6198, + "id": 6209, "name": "address", "nodeType": "ElementaryTypeName", "src": "6716:7:12", "typeDescriptions": {} } }, - "id": 6201, + "id": 6212, "isConstant": false, "isLValue": false, "isPure": true, @@ -193540,24 +193430,24 @@ "typeString": "bool" } }, - "id": 6205, + "id": 6216, "nodeType": "IfStatement", "src": "6702:40:12", "trueBody": { "expression": { - "id": 6203, + "id": 6214, "name": "isValid", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6195, + "referencedDeclaration": 6206, "src": "6735:7:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 6196, - "id": 6204, + "functionReturnParameters": 6207, + "id": 6215, "nodeType": "Return", "src": "6728:14:12" } @@ -194778,124 +194668,124 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 6188, + "declaration": 6199, "isOffset": false, "isSlot": false, "src": "6947:4:12", "valueSize": 1 }, { - "declaration": 6188, + "declaration": 6199, "isOffset": false, "isSlot": false, "src": "7645:4:12", "valueSize": 1 }, { - "declaration": 6195, + "declaration": 6206, "isOffset": false, "isSlot": false, "src": "7231:7:12", "valueSize": 1 }, { - "declaration": 6195, + "declaration": 6206, "isOffset": false, "isSlot": false, "src": "8038:7:12", "valueSize": 1 }, { - "declaration": 6195, + "declaration": 6206, "isOffset": false, "isSlot": false, "src": "8109:7:12", "valueSize": 1 }, { - "declaration": 6195, + "declaration": 6206, "isOffset": false, "isSlot": false, "src": "8141:7:12", "valueSize": 1 }, { - "declaration": 6190, + "declaration": 6201, "isOffset": false, "isSlot": false, "src": "7050:1:12", "valueSize": 1 }, { - "declaration": 6190, + "declaration": 6201, "isOffset": false, "isSlot": false, "src": "7877:1:12", "valueSize": 1 }, { - "declaration": 6186, + "declaration": 6197, "isOffset": false, "isSlot": false, "src": "6903:6:12", "valueSize": 1 }, { - "declaration": 6186, + "declaration": 6197, "isOffset": false, "isSlot": false, "src": "7275:6:12", "valueSize": 1 }, { - "declaration": 6186, + "declaration": 6197, "isOffset": false, "isSlot": false, "src": "8067:6:12", "valueSize": 1 }, { - "declaration": 6192, + "declaration": 6203, "isOffset": false, "isSlot": false, "src": "6999:2:12", "valueSize": 1 }, { - "declaration": 6192, + "declaration": 6203, "isOffset": false, "isSlot": false, "src": "7108:2:12", "valueSize": 1 }, { - "declaration": 6192, + "declaration": 6203, "isOffset": false, "isSlot": false, "src": "7939:2:12", "valueSize": 1 }, { - "declaration": 6192, + "declaration": 6203, "isOffset": false, "isSlot": false, "src": "8004:2:12", "valueSize": 1 } ], - "id": 6206, + "id": 6217, "nodeType": "InlineAssembly", "src": "6795:1400:12" } ] }, "documentation": { - "id": 6184, + "id": 6195, "nodeType": "StructuredDocumentation", "src": "6330:210:12", "text": "@dev Returns whether the signature (`r`, `vs`) is valid for `signer` and `hash`.\n If `signer.code.length == 0`, then validate with `ecrecover`, else\n it will validate with ERC1271 on `signer`." }, - "id": 6208, + "id": 6219, "implemented": true, "kind": "function", "modifiers": [], @@ -194903,17 +194793,17 @@ "nameLocation": "6554:19:12", "nodeType": "FunctionDefinition", "parameters": { - "id": 6193, + "id": 6204, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6186, + "id": 6197, "mutability": "mutable", "name": "signer", "nameLocation": "6582:6:12", "nodeType": "VariableDeclaration", - "scope": 6208, + "scope": 6219, "src": "6574:14:12", "stateVariable": false, "storageLocation": "default", @@ -194922,7 +194812,7 @@ "typeString": "address" }, "typeName": { - "id": 6185, + "id": 6196, "name": "address", "nodeType": "ElementaryTypeName", "src": "6574:7:12", @@ -194936,12 +194826,12 @@ }, { "constant": false, - "id": 6188, + "id": 6199, "mutability": "mutable", "name": "hash", "nameLocation": "6598:4:12", "nodeType": "VariableDeclaration", - "scope": 6208, + "scope": 6219, "src": "6590:12:12", "stateVariable": false, "storageLocation": "default", @@ -194950,7 +194840,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 6187, + "id": 6198, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "6590:7:12", @@ -194963,12 +194853,12 @@ }, { "constant": false, - "id": 6190, + "id": 6201, "mutability": "mutable", "name": "r", "nameLocation": "6612:1:12", "nodeType": "VariableDeclaration", - "scope": 6208, + "scope": 6219, "src": "6604:9:12", "stateVariable": false, "storageLocation": "default", @@ -194977,7 +194867,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 6189, + "id": 6200, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "6604:7:12", @@ -194990,12 +194880,12 @@ }, { "constant": false, - "id": 6192, + "id": 6203, "mutability": "mutable", "name": "vs", "nameLocation": "6623:2:12", "nodeType": "VariableDeclaration", - "scope": 6208, + "scope": 6219, "src": "6615:10:12", "stateVariable": false, "storageLocation": "default", @@ -195004,7 +194894,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 6191, + "id": 6202, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "6615:7:12", @@ -195019,17 +194909,17 @@ "src": "6573:53:12" }, "returnParameters": { - "id": 6196, + "id": 6207, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6195, + "id": 6206, "mutability": "mutable", "name": "isValid", "nameLocation": "6679:7:12", "nodeType": "VariableDeclaration", - "scope": 6208, + "scope": 6219, "src": "6674:12:12", "stateVariable": false, "storageLocation": "default", @@ -195038,7 +194928,7 @@ "typeString": "bool" }, "typeName": { - "id": 6194, + "id": 6205, "name": "bool", "nodeType": "ElementaryTypeName", "src": "6674:4:12", @@ -195052,7 +194942,7 @@ ], "src": "6673:14:12" }, - "scope": 6354, + "scope": 6365, "src": "6545:1656:12", "stateMutability": "view", "virtual": false, @@ -195060,7 +194950,7 @@ }, { "body": { - "id": 6234, + "id": 6245, "nodeType": "Block", "src": "8581:1446:12", "statements": [ @@ -195070,17 +194960,17 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 6229, + "id": 6240, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 6224, + "id": 6235, "name": "signer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6211, + "referencedDeclaration": 6222, "src": "8595:6:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -195093,7 +194983,7 @@ "arguments": [ { "hexValue": "30", - "id": 6227, + "id": 6238, "isConstant": false, "isLValue": false, "isPure": true, @@ -195115,7 +195005,7 @@ "typeString": "int_const 0" } ], - "id": 6226, + "id": 6237, "isConstant": false, "isLValue": false, "isPure": true, @@ -195127,14 +195017,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 6225, + "id": 6236, "name": "address", "nodeType": "ElementaryTypeName", "src": "8605:7:12", "typeDescriptions": {} } }, - "id": 6228, + "id": 6239, "isConstant": false, "isLValue": false, "isPure": true, @@ -195156,24 +195046,24 @@ "typeString": "bool" } }, - "id": 6232, + "id": 6243, "nodeType": "IfStatement", "src": "8591:40:12", "trueBody": { "expression": { - "id": 6230, + "id": 6241, "name": "isValid", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6222, + "referencedDeclaration": 6233, "src": "8624:7:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 6223, - "id": 6231, + "functionReturnParameters": 6234, + "id": 6242, "nodeType": "Return", "src": "8617:14:12" } @@ -196247,124 +196137,124 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 6213, + "declaration": 6224, "isOffset": false, "isSlot": false, "src": "8836:4:12", "valueSize": 1 }, { - "declaration": 6213, + "declaration": 6224, "isOffset": false, "isSlot": false, "src": "9508:4:12", "valueSize": 1 }, { - "declaration": 6222, + "declaration": 6233, "isOffset": false, "isSlot": false, "src": "9094:7:12", "valueSize": 1 }, { - "declaration": 6222, + "declaration": 6233, "isOffset": false, "isSlot": false, "src": "9864:7:12", "valueSize": 1 }, { - "declaration": 6222, + "declaration": 6233, "isOffset": false, "isSlot": false, "src": "9935:7:12", "valueSize": 1 }, { - "declaration": 6222, + "declaration": 6233, "isOffset": false, "isSlot": false, "src": "9967:7:12", "valueSize": 1 }, { - "declaration": 6217, + "declaration": 6228, "isOffset": false, "isSlot": false, "src": "8930:1:12", "valueSize": 1 }, { - "declaration": 6217, + "declaration": 6228, "isOffset": false, "isSlot": false, "src": "9740:1:12", "valueSize": 1 }, { - "declaration": 6219, + "declaration": 6230, "isOffset": false, "isSlot": false, "src": "8974:1:12", "valueSize": 1 }, { - "declaration": 6219, + "declaration": 6230, "isOffset": false, "isSlot": false, "src": "9788:1:12", "valueSize": 1 }, { - "declaration": 6211, + "declaration": 6222, "isOffset": false, "isSlot": false, "src": "8792:6:12", "valueSize": 1 }, { - "declaration": 6211, + "declaration": 6222, "isOffset": false, "isSlot": false, "src": "9138:6:12", "valueSize": 1 }, { - "declaration": 6211, + "declaration": 6222, "isOffset": false, "isSlot": false, "src": "9893:6:12", "valueSize": 1 }, { - "declaration": 6215, + "declaration": 6226, "isOffset": false, "isSlot": false, "src": "8879:1:12", "valueSize": 1 }, { - "declaration": 6215, + "declaration": 6226, "isOffset": false, "isSlot": false, "src": "9837:1:12", "valueSize": 1 } ], - "id": 6233, + "id": 6244, "nodeType": "InlineAssembly", "src": "8684:1337:12" } ] }, "documentation": { - "id": 6209, + "id": 6220, "nodeType": "StructuredDocumentation", "src": "8207:214:12", "text": "@dev Returns whether the signature (`v`, `r`, `s`) is valid for `signer` and `hash`.\n If `signer.code.length == 0`, then validate with `ecrecover`, else\n it will validate with ERC1271 on `signer`." }, - "id": 6235, + "id": 6246, "implemented": true, "kind": "function", "modifiers": [], @@ -196372,17 +196262,17 @@ "nameLocation": "8435:19:12", "nodeType": "FunctionDefinition", "parameters": { - "id": 6220, + "id": 6231, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6211, + "id": 6222, "mutability": "mutable", "name": "signer", "nameLocation": "8463:6:12", "nodeType": "VariableDeclaration", - "scope": 6235, + "scope": 6246, "src": "8455:14:12", "stateVariable": false, "storageLocation": "default", @@ -196391,7 +196281,7 @@ "typeString": "address" }, "typeName": { - "id": 6210, + "id": 6221, "name": "address", "nodeType": "ElementaryTypeName", "src": "8455:7:12", @@ -196405,12 +196295,12 @@ }, { "constant": false, - "id": 6213, + "id": 6224, "mutability": "mutable", "name": "hash", "nameLocation": "8479:4:12", "nodeType": "VariableDeclaration", - "scope": 6235, + "scope": 6246, "src": "8471:12:12", "stateVariable": false, "storageLocation": "default", @@ -196419,7 +196309,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 6212, + "id": 6223, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "8471:7:12", @@ -196432,12 +196322,12 @@ }, { "constant": false, - "id": 6215, + "id": 6226, "mutability": "mutable", "name": "v", "nameLocation": "8491:1:12", "nodeType": "VariableDeclaration", - "scope": 6235, + "scope": 6246, "src": "8485:7:12", "stateVariable": false, "storageLocation": "default", @@ -196446,7 +196336,7 @@ "typeString": "uint8" }, "typeName": { - "id": 6214, + "id": 6225, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "8485:5:12", @@ -196459,12 +196349,12 @@ }, { "constant": false, - "id": 6217, + "id": 6228, "mutability": "mutable", "name": "r", "nameLocation": "8502:1:12", "nodeType": "VariableDeclaration", - "scope": 6235, + "scope": 6246, "src": "8494:9:12", "stateVariable": false, "storageLocation": "default", @@ -196473,7 +196363,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 6216, + "id": 6227, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "8494:7:12", @@ -196486,12 +196376,12 @@ }, { "constant": false, - "id": 6219, + "id": 6230, "mutability": "mutable", "name": "s", "nameLocation": "8513:1:12", "nodeType": "VariableDeclaration", - "scope": 6235, + "scope": 6246, "src": "8505:9:12", "stateVariable": false, "storageLocation": "default", @@ -196500,7 +196390,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 6218, + "id": 6229, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "8505:7:12", @@ -196515,17 +196405,17 @@ "src": "8454:61:12" }, "returnParameters": { - "id": 6223, + "id": 6234, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6222, + "id": 6233, "mutability": "mutable", "name": "isValid", "nameLocation": "8568:7:12", "nodeType": "VariableDeclaration", - "scope": 6235, + "scope": 6246, "src": "8563:12:12", "stateVariable": false, "storageLocation": "default", @@ -196534,7 +196424,7 @@ "typeString": "bool" }, "typeName": { - "id": 6221, + "id": 6232, "name": "bool", "nodeType": "ElementaryTypeName", "src": "8563:4:12", @@ -196548,7 +196438,7 @@ ], "src": "8562:14:12" }, - "scope": 6354, + "scope": 6365, "src": "8426:1601:12", "stateMutability": "view", "virtual": false, @@ -196556,7 +196446,7 @@ }, { "body": { - "id": 6248, + "id": 6259, "nodeType": "Block", "src": "10636:714:12", "statements": [ @@ -197136,68 +197026,68 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 6240, + "declaration": 6251, "isOffset": false, "isSlot": false, "src": "10892:4:12", "valueSize": 1 }, { - "declaration": 6245, + "declaration": 6256, "isOffset": false, "isSlot": false, "src": "11191:7:12", "valueSize": 1 }, { - "declaration": 6245, + "declaration": 6256, "isOffset": false, "isSlot": false, "src": "11281:7:12", "valueSize": 1 }, { - "declaration": 6245, + "declaration": 6256, "isOffset": false, "isSlot": false, "src": "11317:7:12", "valueSize": 1 }, { - "declaration": 6242, + "declaration": 6253, "isOffset": false, "isSlot": false, "src": "11089:9:12", "valueSize": 1 }, { - "declaration": 6242, + "declaration": 6253, "isOffset": false, "isSlot": false, "src": "11148:9:12", "valueSize": 1 }, { - "declaration": 6238, + "declaration": 6249, "isOffset": false, "isSlot": false, "src": "11220:6:12", "valueSize": 1 } ], - "id": 6247, + "id": 6258, "nodeType": "InlineAssembly", "src": "10689:655:12" } ] }, "documentation": { - "id": 6236, + "id": 6247, "nodeType": "StructuredDocumentation", "src": "10386:90:12", "text": "@dev Returns whether `signature` is valid for `hash` for an ERC1271 `signer` contract." }, - "id": 6249, + "id": 6260, "implemented": true, "kind": "function", "modifiers": [], @@ -197205,17 +197095,17 @@ "nameLocation": "10490:26:12", "nodeType": "FunctionDefinition", "parameters": { - "id": 6243, + "id": 6254, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6238, + "id": 6249, "mutability": "mutable", "name": "signer", "nameLocation": "10525:6:12", "nodeType": "VariableDeclaration", - "scope": 6249, + "scope": 6260, "src": "10517:14:12", "stateVariable": false, "storageLocation": "default", @@ -197224,7 +197114,7 @@ "typeString": "address" }, "typeName": { - "id": 6237, + "id": 6248, "name": "address", "nodeType": "ElementaryTypeName", "src": "10517:7:12", @@ -197238,12 +197128,12 @@ }, { "constant": false, - "id": 6240, + "id": 6251, "mutability": "mutable", "name": "hash", "nameLocation": "10541:4:12", "nodeType": "VariableDeclaration", - "scope": 6249, + "scope": 6260, "src": "10533:12:12", "stateVariable": false, "storageLocation": "default", @@ -197252,7 +197142,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 6239, + "id": 6250, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "10533:7:12", @@ -197265,12 +197155,12 @@ }, { "constant": false, - "id": 6242, + "id": 6253, "mutability": "mutable", "name": "signature", "nameLocation": "10560:9:12", "nodeType": "VariableDeclaration", - "scope": 6249, + "scope": 6260, "src": "10547:22:12", "stateVariable": false, "storageLocation": "memory", @@ -197279,7 +197169,7 @@ "typeString": "bytes" }, "typeName": { - "id": 6241, + "id": 6252, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "10547:5:12", @@ -197294,17 +197184,17 @@ "src": "10516:54:12" }, "returnParameters": { - "id": 6246, + "id": 6257, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6245, + "id": 6256, "mutability": "mutable", "name": "isValid", "nameLocation": "10623:7:12", "nodeType": "VariableDeclaration", - "scope": 6249, + "scope": 6260, "src": "10618:12:12", "stateVariable": false, "storageLocation": "default", @@ -197313,7 +197203,7 @@ "typeString": "bool" }, "typeName": { - "id": 6244, + "id": 6255, "name": "bool", "nodeType": "ElementaryTypeName", "src": "10618:4:12", @@ -197327,7 +197217,7 @@ ], "src": "10617:14:12" }, - "scope": 6354, + "scope": 6365, "src": "10481:869:12", "stateMutability": "view", "virtual": false, @@ -197335,7 +197225,7 @@ }, { "body": { - "id": 6262, + "id": 6273, "nodeType": "Block", "src": "11618:700:12", "statements": [ @@ -197852,35 +197742,35 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 6254, + "declaration": 6265, "isOffset": false, "isSlot": false, "src": "11874:4:12", "valueSize": 1 }, { - "declaration": 6259, + "declaration": 6270, "isOffset": false, "isSlot": false, "src": "12172:7:12", "valueSize": 1 }, { - "declaration": 6259, + "declaration": 6270, "isOffset": false, "isSlot": false, "src": "12262:7:12", "valueSize": 1 }, { - "declaration": 6259, + "declaration": 6270, "isOffset": false, "isSlot": false, "src": "12294:7:12", "valueSize": 1 }, { - "declaration": 6256, + "declaration": 6267, "isOffset": false, "isSlot": false, "src": "12025:16:12", @@ -197888,7 +197778,7 @@ "valueSize": 1 }, { - "declaration": 6256, + "declaration": 6267, "isOffset": false, "isSlot": false, "src": "12142:16:12", @@ -197896,7 +197786,7 @@ "valueSize": 1 }, { - "declaration": 6256, + "declaration": 6267, "isOffset": false, "isSlot": false, "src": "12216:16:12", @@ -197904,7 +197794,7 @@ "valueSize": 1 }, { - "declaration": 6256, + "declaration": 6267, "isOffset": true, "isSlot": false, "src": "12124:16:12", @@ -197912,26 +197802,26 @@ "valueSize": 1 }, { - "declaration": 6252, + "declaration": 6263, "isOffset": false, "isSlot": false, "src": "12201:6:12", "valueSize": 1 } ], - "id": 6261, + "id": 6272, "nodeType": "InlineAssembly", "src": "11671:641:12" } ] }, "documentation": { - "id": 6250, + "id": 6261, "nodeType": "StructuredDocumentation", "src": "11356:90:12", "text": "@dev Returns whether `signature` is valid for `hash` for an ERC1271 `signer` contract." }, - "id": 6263, + "id": 6274, "implemented": true, "kind": "function", "modifiers": [], @@ -197939,17 +197829,17 @@ "nameLocation": "11460:34:12", "nodeType": "FunctionDefinition", "parameters": { - "id": 6257, + "id": 6268, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6252, + "id": 6263, "mutability": "mutable", "name": "signer", "nameLocation": "11512:6:12", "nodeType": "VariableDeclaration", - "scope": 6263, + "scope": 6274, "src": "11504:14:12", "stateVariable": false, "storageLocation": "default", @@ -197958,7 +197848,7 @@ "typeString": "address" }, "typeName": { - "id": 6251, + "id": 6262, "name": "address", "nodeType": "ElementaryTypeName", "src": "11504:7:12", @@ -197972,12 +197862,12 @@ }, { "constant": false, - "id": 6254, + "id": 6265, "mutability": "mutable", "name": "hash", "nameLocation": "11536:4:12", "nodeType": "VariableDeclaration", - "scope": 6263, + "scope": 6274, "src": "11528:12:12", "stateVariable": false, "storageLocation": "default", @@ -197986,7 +197876,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 6253, + "id": 6264, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "11528:7:12", @@ -197999,12 +197889,12 @@ }, { "constant": false, - "id": 6256, + "id": 6267, "mutability": "mutable", "name": "signature", "nameLocation": "11565:9:12", "nodeType": "VariableDeclaration", - "scope": 6263, + "scope": 6274, "src": "11550:24:12", "stateVariable": false, "storageLocation": "calldata", @@ -198013,7 +197903,7 @@ "typeString": "bytes" }, "typeName": { - "id": 6255, + "id": 6266, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "11550:5:12", @@ -198028,17 +197918,17 @@ "src": "11494:86:12" }, "returnParameters": { - "id": 6260, + "id": 6271, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6259, + "id": 6270, "mutability": "mutable", "name": "isValid", "nameLocation": "11609:7:12", "nodeType": "VariableDeclaration", - "scope": 6263, + "scope": 6274, "src": "11604:12:12", "stateVariable": false, "storageLocation": "default", @@ -198047,7 +197937,7 @@ "typeString": "bool" }, "typeName": { - "id": 6258, + "id": 6269, "name": "bool", "nodeType": "ElementaryTypeName", "src": "11604:4:12", @@ -198061,7 +197951,7 @@ ], "src": "11603:14:12" }, - "scope": 6354, + "scope": 6365, "src": "11451:867:12", "stateMutability": "view", "virtual": false, @@ -198069,7 +197959,7 @@ }, { "body": { - "id": 6278, + "id": 6289, "nodeType": "Block", "src": "12595:744:12", "statements": [ @@ -198749,75 +198639,75 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 6268, + "declaration": 6279, "isOffset": false, "isSlot": false, "src": "12851:4:12", "valueSize": 1 }, { - "declaration": 6275, + "declaration": 6286, "isOffset": false, "isSlot": false, "src": "13216:7:12", "valueSize": 1 }, { - "declaration": 6275, + "declaration": 6286, "isOffset": false, "isSlot": false, "src": "13283:7:12", "valueSize": 1 }, { - "declaration": 6275, + "declaration": 6286, "isOffset": false, "isSlot": false, "src": "13315:7:12", "valueSize": 1 }, { - "declaration": 6270, + "declaration": 6281, "isOffset": false, "isSlot": false, "src": "13067:1:12", "valueSize": 1 }, { - "declaration": 6266, + "declaration": 6277, "isOffset": false, "isSlot": false, "src": "13245:6:12", "valueSize": 1 }, { - "declaration": 6272, + "declaration": 6283, "isOffset": false, "isSlot": false, "src": "13125:2:12", "valueSize": 1 }, { - "declaration": 6272, + "declaration": 6283, "isOffset": false, "isSlot": false, "src": "13186:2:12", "valueSize": 1 } ], - "id": 6277, + "id": 6288, "nodeType": "InlineAssembly", "src": "12648:685:12" } ] }, "documentation": { - "id": 6264, + "id": 6275, "nodeType": "StructuredDocumentation", "src": "12324:112:12", "text": "@dev Returns whether the signature (`r`, `vs`) is valid for `hash`\n for an ERC1271 `signer` contract." }, - "id": 6279, + "id": 6290, "implemented": true, "kind": "function", "modifiers": [], @@ -198825,17 +198715,17 @@ "nameLocation": "12450:26:12", "nodeType": "FunctionDefinition", "parameters": { - "id": 6273, + "id": 6284, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6266, + "id": 6277, "mutability": "mutable", "name": "signer", "nameLocation": "12485:6:12", "nodeType": "VariableDeclaration", - "scope": 6279, + "scope": 6290, "src": "12477:14:12", "stateVariable": false, "storageLocation": "default", @@ -198844,7 +198734,7 @@ "typeString": "address" }, "typeName": { - "id": 6265, + "id": 6276, "name": "address", "nodeType": "ElementaryTypeName", "src": "12477:7:12", @@ -198858,12 +198748,12 @@ }, { "constant": false, - "id": 6268, + "id": 6279, "mutability": "mutable", "name": "hash", "nameLocation": "12501:4:12", "nodeType": "VariableDeclaration", - "scope": 6279, + "scope": 6290, "src": "12493:12:12", "stateVariable": false, "storageLocation": "default", @@ -198872,7 +198762,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 6267, + "id": 6278, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "12493:7:12", @@ -198885,12 +198775,12 @@ }, { "constant": false, - "id": 6270, + "id": 6281, "mutability": "mutable", "name": "r", "nameLocation": "12515:1:12", "nodeType": "VariableDeclaration", - "scope": 6279, + "scope": 6290, "src": "12507:9:12", "stateVariable": false, "storageLocation": "default", @@ -198899,7 +198789,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 6269, + "id": 6280, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "12507:7:12", @@ -198912,12 +198802,12 @@ }, { "constant": false, - "id": 6272, + "id": 6283, "mutability": "mutable", "name": "vs", "nameLocation": "12526:2:12", "nodeType": "VariableDeclaration", - "scope": 6279, + "scope": 6290, "src": "12518:10:12", "stateVariable": false, "storageLocation": "default", @@ -198926,7 +198816,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 6271, + "id": 6282, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "12518:7:12", @@ -198941,17 +198831,17 @@ "src": "12476:53:12" }, "returnParameters": { - "id": 6276, + "id": 6287, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6275, + "id": 6286, "mutability": "mutable", "name": "isValid", "nameLocation": "12582:7:12", "nodeType": "VariableDeclaration", - "scope": 6279, + "scope": 6290, "src": "12577:12:12", "stateVariable": false, "storageLocation": "default", @@ -198960,7 +198850,7 @@ "typeString": "bool" }, "typeName": { - "id": 6274, + "id": 6285, "name": "bool", "nodeType": "ElementaryTypeName", "src": "12577:4:12", @@ -198974,7 +198864,7 @@ ], "src": "12576:14:12" }, - "scope": 6354, + "scope": 6365, "src": "12441:898:12", "stateMutability": "view", "virtual": false, @@ -198982,7 +198872,7 @@ }, { "body": { - "id": 6296, + "id": 6307, "nodeType": "Block", "src": "13628:707:12", "statements": [ @@ -199578,75 +199468,75 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 6284, + "declaration": 6295, "isOffset": false, "isSlot": false, "src": "13884:4:12", "valueSize": 1 }, { - "declaration": 6293, + "declaration": 6304, "isOffset": false, "isSlot": false, "src": "14212:7:12", "valueSize": 1 }, { - "declaration": 6293, + "declaration": 6304, "isOffset": false, "isSlot": false, "src": "14279:7:12", "valueSize": 1 }, { - "declaration": 6293, + "declaration": 6304, "isOffset": false, "isSlot": false, "src": "14311:7:12", "valueSize": 1 }, { - "declaration": 6288, + "declaration": 6299, "isOffset": false, "isSlot": false, "src": "14100:1:12", "valueSize": 1 }, { - "declaration": 6290, + "declaration": 6301, "isOffset": false, "isSlot": false, "src": "14144:1:12", "valueSize": 1 }, { - "declaration": 6282, + "declaration": 6293, "isOffset": false, "isSlot": false, "src": "14241:6:12", "valueSize": 1 }, { - "declaration": 6286, + "declaration": 6297, "isOffset": false, "isSlot": false, "src": "14189:1:12", "valueSize": 1 } ], - "id": 6295, + "id": 6306, "nodeType": "InlineAssembly", "src": "13681:648:12" } ] }, "documentation": { - "id": 6280, + "id": 6291, "nodeType": "StructuredDocumentation", "src": "13345:116:12", "text": "@dev Returns whether the signature (`v`, `r`, `s`) is valid for `hash`\n for an ERC1271 `signer` contract." }, - "id": 6297, + "id": 6308, "implemented": true, "kind": "function", "modifiers": [], @@ -199654,17 +199544,17 @@ "nameLocation": "13475:26:12", "nodeType": "FunctionDefinition", "parameters": { - "id": 6291, + "id": 6302, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6282, + "id": 6293, "mutability": "mutable", "name": "signer", "nameLocation": "13510:6:12", "nodeType": "VariableDeclaration", - "scope": 6297, + "scope": 6308, "src": "13502:14:12", "stateVariable": false, "storageLocation": "default", @@ -199673,7 +199563,7 @@ "typeString": "address" }, "typeName": { - "id": 6281, + "id": 6292, "name": "address", "nodeType": "ElementaryTypeName", "src": "13502:7:12", @@ -199687,12 +199577,12 @@ }, { "constant": false, - "id": 6284, + "id": 6295, "mutability": "mutable", "name": "hash", "nameLocation": "13526:4:12", "nodeType": "VariableDeclaration", - "scope": 6297, + "scope": 6308, "src": "13518:12:12", "stateVariable": false, "storageLocation": "default", @@ -199701,7 +199591,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 6283, + "id": 6294, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "13518:7:12", @@ -199714,12 +199604,12 @@ }, { "constant": false, - "id": 6286, + "id": 6297, "mutability": "mutable", "name": "v", "nameLocation": "13538:1:12", "nodeType": "VariableDeclaration", - "scope": 6297, + "scope": 6308, "src": "13532:7:12", "stateVariable": false, "storageLocation": "default", @@ -199728,7 +199618,7 @@ "typeString": "uint8" }, "typeName": { - "id": 6285, + "id": 6296, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "13532:5:12", @@ -199741,12 +199631,12 @@ }, { "constant": false, - "id": 6288, + "id": 6299, "mutability": "mutable", "name": "r", "nameLocation": "13549:1:12", "nodeType": "VariableDeclaration", - "scope": 6297, + "scope": 6308, "src": "13541:9:12", "stateVariable": false, "storageLocation": "default", @@ -199755,7 +199645,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 6287, + "id": 6298, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "13541:7:12", @@ -199768,12 +199658,12 @@ }, { "constant": false, - "id": 6290, + "id": 6301, "mutability": "mutable", "name": "s", "nameLocation": "13560:1:12", "nodeType": "VariableDeclaration", - "scope": 6297, + "scope": 6308, "src": "13552:9:12", "stateVariable": false, "storageLocation": "default", @@ -199782,7 +199672,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 6289, + "id": 6300, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "13552:7:12", @@ -199797,17 +199687,17 @@ "src": "13501:61:12" }, "returnParameters": { - "id": 6294, + "id": 6305, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6293, + "id": 6304, "mutability": "mutable", "name": "isValid", "nameLocation": "13615:7:12", "nodeType": "VariableDeclaration", - "scope": 6297, + "scope": 6308, "src": "13610:12:12", "stateVariable": false, "storageLocation": "default", @@ -199816,7 +199706,7 @@ "typeString": "bool" }, "typeName": { - "id": 6292, + "id": 6303, "name": "bool", "nodeType": "ElementaryTypeName", "src": "13610:4:12", @@ -199830,7 +199720,7 @@ ], "src": "13609:14:12" }, - "scope": 6354, + "scope": 6365, "src": "13466:869:12", "stateMutability": "view", "virtual": false, @@ -199838,7 +199728,7 @@ }, { "body": { - "id": 6310, + "id": 6321, "nodeType": "Block", "src": "15568:3267:12", "statements": [ @@ -202189,194 +202079,194 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 6302, + "declaration": 6313, "isOffset": false, "isSlot": false, "src": "16684:4:12", "valueSize": 1 }, { - "declaration": 6302, + "declaration": 6313, "isOffset": false, "isSlot": false, "src": "16913:4:12", "valueSize": 1 }, { - "declaration": 6302, + "declaration": 6313, "isOffset": false, "isSlot": false, "src": "17115:4:12", "valueSize": 1 }, { - "declaration": 6302, + "declaration": 6313, "isOffset": false, "isSlot": false, "src": "18420:4:12", "valueSize": 1 }, { - "declaration": 6307, + "declaration": 6318, "isOffset": false, "isSlot": false, "src": "16581:7:12", "valueSize": 1 }, { - "declaration": 6307, + "declaration": 6318, "isOffset": false, "isSlot": false, "src": "16644:7:12", "valueSize": 1 }, { - "declaration": 6307, + "declaration": 6318, "isOffset": false, "isSlot": false, "src": "16873:7:12", "valueSize": 1 }, { - "declaration": 6307, + "declaration": 6318, "isOffset": false, "isSlot": false, "src": "16971:7:12", "valueSize": 1 }, { - "declaration": 6307, + "declaration": 6318, "isOffset": false, "isSlot": false, "src": "17703:7:12", "valueSize": 1 }, { - "declaration": 6307, + "declaration": 6318, "isOffset": false, "isSlot": false, "src": "17861:7:12", "valueSize": 1 }, { - "declaration": 6307, + "declaration": 6318, "isOffset": false, "isSlot": false, "src": "18593:7:12", "valueSize": 1 }, { - "declaration": 6304, + "declaration": 6315, "isOffset": false, "isSlot": false, "src": "16469:9:12", "valueSize": 1 }, { - "declaration": 6304, + "declaration": 6315, "isOffset": false, "isSlot": false, "src": "16545:9:12", "valueSize": 1 }, { - "declaration": 6304, + "declaration": 6315, "isOffset": false, "isSlot": false, "src": "16690:9:12", "valueSize": 1 }, { - "declaration": 6304, + "declaration": 6315, "isOffset": false, "isSlot": false, "src": "16816:9:12", "valueSize": 1 }, { - "declaration": 6304, + "declaration": 6315, "isOffset": false, "isSlot": false, "src": "17539:9:12", "valueSize": 1 }, { - "declaration": 6304, + "declaration": 6315, "isOffset": false, "isSlot": false, "src": "17966:9:12", "valueSize": 1 }, { - "declaration": 6304, + "declaration": 6315, "isOffset": false, "isSlot": false, "src": "18204:9:12", "valueSize": 1 }, { - "declaration": 6304, + "declaration": 6315, "isOffset": false, "isSlot": false, "src": "18275:9:12", "valueSize": 1 }, { - "declaration": 6304, + "declaration": 6315, "isOffset": false, "isSlot": false, "src": "18465:9:12", "valueSize": 1 }, { - "declaration": 6300, + "declaration": 6311, "isOffset": false, "isSlot": false, "src": "16433:6:12", "valueSize": 1 }, { - "declaration": 6300, + "declaration": 6311, "isOffset": false, "isSlot": false, "src": "16676:6:12", "valueSize": 1 }, { - "declaration": 6300, + "declaration": 6311, "isOffset": false, "isSlot": false, "src": "16905:6:12", "valueSize": 1 }, { - "declaration": 6300, + "declaration": 6311, "isOffset": false, "isSlot": false, "src": "17070:6:12", "valueSize": 1 }, { - "declaration": 6300, + "declaration": 6311, "isOffset": false, "isSlot": false, "src": "18637:6:12", "valueSize": 1 } ], - "id": 6309, + "id": 6320, "nodeType": "InlineAssembly", "src": "15621:3208:12" } ] }, "documentation": { - "id": 6298, + "id": 6309, "nodeType": "StructuredDocumentation", "src": "14765:630:12", "text": "@dev Returns whether `signature` is valid for `hash`.\n If the signature is postfixed with the ERC6492 magic number, it will attempt to\n deploy / prepare the `signer` smart account before doing a regular ERC1271 check.\n Note: This function is NOT reentrancy safe.\n The verifier must be deployed.\n Otherwise, the function will return false if `signer` is not yet deployed / prepared.\n See: https://gist.github.com/Vectorized/011d6becff6e0a73e42fe100f8d7ef04\n With a dedicated verifier, this function is safe to use in contracts\n that have been granted special permissions." }, - "id": 6311, + "id": 6322, "implemented": true, "kind": "function", "modifiers": [], @@ -202384,17 +202274,17 @@ "nameLocation": "15409:42:12", "nodeType": "FunctionDefinition", "parameters": { - "id": 6305, + "id": 6316, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6300, + "id": 6311, "mutability": "mutable", "name": "signer", "nameLocation": "15469:6:12", "nodeType": "VariableDeclaration", - "scope": 6311, + "scope": 6322, "src": "15461:14:12", "stateVariable": false, "storageLocation": "default", @@ -202403,7 +202293,7 @@ "typeString": "address" }, "typeName": { - "id": 6299, + "id": 6310, "name": "address", "nodeType": "ElementaryTypeName", "src": "15461:7:12", @@ -202417,12 +202307,12 @@ }, { "constant": false, - "id": 6302, + "id": 6313, "mutability": "mutable", "name": "hash", "nameLocation": "15493:4:12", "nodeType": "VariableDeclaration", - "scope": 6311, + "scope": 6322, "src": "15485:12:12", "stateVariable": false, "storageLocation": "default", @@ -202431,7 +202321,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 6301, + "id": 6312, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "15485:7:12", @@ -202444,12 +202334,12 @@ }, { "constant": false, - "id": 6304, + "id": 6315, "mutability": "mutable", "name": "signature", "nameLocation": "15520:9:12", "nodeType": "VariableDeclaration", - "scope": 6311, + "scope": 6322, "src": "15507:22:12", "stateVariable": false, "storageLocation": "memory", @@ -202458,7 +202348,7 @@ "typeString": "bytes" }, "typeName": { - "id": 6303, + "id": 6314, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "15507:5:12", @@ -202473,17 +202363,17 @@ "src": "15451:84:12" }, "returnParameters": { - "id": 6308, + "id": 6319, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6307, + "id": 6318, "mutability": "mutable", "name": "isValid", "nameLocation": "15559:7:12", "nodeType": "VariableDeclaration", - "scope": 6311, + "scope": 6322, "src": "15554:12:12", "stateVariable": false, "storageLocation": "default", @@ -202492,7 +202382,7 @@ "typeString": "bool" }, "typeName": { - "id": 6306, + "id": 6317, "name": "bool", "nodeType": "ElementaryTypeName", "src": "15554:4:12", @@ -202506,7 +202396,7 @@ ], "src": "15553:14:12" }, - "scope": 6354, + "scope": 6365, "src": "15400:3435:12", "stateMutability": "nonpayable", "virtual": false, @@ -202514,7 +202404,7 @@ }, { "body": { - "id": 6324, + "id": 6335, "nodeType": "Block", "src": "19555:3324:12", "statements": [ @@ -204880,194 +204770,194 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 6316, + "declaration": 6327, "isOffset": false, "isSlot": false, "src": "20671:4:12", "valueSize": 1 }, { - "declaration": 6316, + "declaration": 6327, "isOffset": false, "isSlot": false, "src": "20900:4:12", "valueSize": 1 }, { - "declaration": 6316, + "declaration": 6327, "isOffset": false, "isSlot": false, "src": "21102:4:12", "valueSize": 1 }, { - "declaration": 6316, + "declaration": 6327, "isOffset": false, "isSlot": false, "src": "22464:4:12", "valueSize": 1 }, { - "declaration": 6321, + "declaration": 6332, "isOffset": false, "isSlot": false, "src": "20568:7:12", "valueSize": 1 }, { - "declaration": 6321, + "declaration": 6332, "isOffset": false, "isSlot": false, "src": "20631:7:12", "valueSize": 1 }, { - "declaration": 6321, + "declaration": 6332, "isOffset": false, "isSlot": false, "src": "20860:7:12", "valueSize": 1 }, { - "declaration": 6321, + "declaration": 6332, "isOffset": false, "isSlot": false, "src": "20958:7:12", "valueSize": 1 }, { - "declaration": 6321, + "declaration": 6332, "isOffset": false, "isSlot": false, "src": "21706:7:12", "valueSize": 1 }, { - "declaration": 6321, + "declaration": 6332, "isOffset": false, "isSlot": false, "src": "21905:7:12", "valueSize": 1 }, { - "declaration": 6321, + "declaration": 6332, "isOffset": false, "isSlot": false, "src": "22637:7:12", "valueSize": 1 }, { - "declaration": 6318, + "declaration": 6329, "isOffset": false, "isSlot": false, "src": "20456:9:12", "valueSize": 1 }, { - "declaration": 6318, + "declaration": 6329, "isOffset": false, "isSlot": false, "src": "20532:9:12", "valueSize": 1 }, { - "declaration": 6318, + "declaration": 6329, "isOffset": false, "isSlot": false, "src": "20677:9:12", "valueSize": 1 }, { - "declaration": 6318, + "declaration": 6329, "isOffset": false, "isSlot": false, "src": "20803:9:12", "valueSize": 1 }, { - "declaration": 6318, + "declaration": 6329, "isOffset": false, "isSlot": false, "src": "21560:9:12", "valueSize": 1 }, { - "declaration": 6318, + "declaration": 6329, "isOffset": false, "isSlot": false, "src": "22010:9:12", "valueSize": 1 }, { - "declaration": 6318, + "declaration": 6329, "isOffset": false, "isSlot": false, "src": "22248:9:12", "valueSize": 1 }, { - "declaration": 6318, + "declaration": 6329, "isOffset": false, "isSlot": false, "src": "22319:9:12", "valueSize": 1 }, { - "declaration": 6318, + "declaration": 6329, "isOffset": false, "isSlot": false, "src": "22509:9:12", "valueSize": 1 }, { - "declaration": 6314, + "declaration": 6325, "isOffset": false, "isSlot": false, "src": "20420:6:12", "valueSize": 1 }, { - "declaration": 6314, + "declaration": 6325, "isOffset": false, "isSlot": false, "src": "20663:6:12", "valueSize": 1 }, { - "declaration": 6314, + "declaration": 6325, "isOffset": false, "isSlot": false, "src": "20892:6:12", "valueSize": 1 }, { - "declaration": 6314, + "declaration": 6325, "isOffset": false, "isSlot": false, "src": "21057:6:12", "valueSize": 1 }, { - "declaration": 6314, + "declaration": 6325, "isOffset": false, "isSlot": false, "src": "22681:6:12", "valueSize": 1 } ], - "id": 6323, + "id": 6334, "nodeType": "InlineAssembly", "src": "19608:3265:12" } ] }, "documentation": { - "id": 6312, + "id": 6323, "nodeType": "StructuredDocumentation", "src": "18841:567:12", "text": "@dev Returns whether `signature` is valid for `hash`.\n If the signature is postfixed with the ERC6492 magic number, it will attempt\n to use a reverting verifier to deploy / prepare the `signer` smart account\n and do a `isValidSignature` check via the reverting verifier.\n Note: This function is reentrancy safe.\n The reverting verifier must be deployed.\n Otherwise, the function will return false if `signer` is not yet deployed / prepared.\n See: https://gist.github.com/Vectorized/846a474c855eee9e441506676800a9ad" }, - "id": 6325, + "id": 6336, "implemented": true, "kind": "function", "modifiers": [], @@ -205075,17 +204965,17 @@ "nameLocation": "19422:26:12", "nodeType": "FunctionDefinition", "parameters": { - "id": 6319, + "id": 6330, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6314, + "id": 6325, "mutability": "mutable", "name": "signer", "nameLocation": "19457:6:12", "nodeType": "VariableDeclaration", - "scope": 6325, + "scope": 6336, "src": "19449:14:12", "stateVariable": false, "storageLocation": "default", @@ -205094,7 +204984,7 @@ "typeString": "address" }, "typeName": { - "id": 6313, + "id": 6324, "name": "address", "nodeType": "ElementaryTypeName", "src": "19449:7:12", @@ -205108,12 +204998,12 @@ }, { "constant": false, - "id": 6316, + "id": 6327, "mutability": "mutable", "name": "hash", "nameLocation": "19473:4:12", "nodeType": "VariableDeclaration", - "scope": 6325, + "scope": 6336, "src": "19465:12:12", "stateVariable": false, "storageLocation": "default", @@ -205122,7 +205012,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 6315, + "id": 6326, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "19465:7:12", @@ -205135,12 +205025,12 @@ }, { "constant": false, - "id": 6318, + "id": 6329, "mutability": "mutable", "name": "signature", "nameLocation": "19492:9:12", "nodeType": "VariableDeclaration", - "scope": 6325, + "scope": 6336, "src": "19479:22:12", "stateVariable": false, "storageLocation": "memory", @@ -205149,7 +205039,7 @@ "typeString": "bytes" }, "typeName": { - "id": 6317, + "id": 6328, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "19479:5:12", @@ -205164,17 +205054,17 @@ "src": "19448:54:12" }, "returnParameters": { - "id": 6322, + "id": 6333, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6321, + "id": 6332, "mutability": "mutable", "name": "isValid", "nameLocation": "19542:7:12", "nodeType": "VariableDeclaration", - "scope": 6325, + "scope": 6336, "src": "19537:12:12", "stateVariable": false, "storageLocation": "default", @@ -205183,7 +205073,7 @@ "typeString": "bool" }, "typeName": { - "id": 6320, + "id": 6331, "name": "bool", "nodeType": "ElementaryTypeName", "src": "19537:4:12", @@ -205197,7 +205087,7 @@ ], "src": "19536:14:12" }, - "scope": 6354, + "scope": 6365, "src": "19413:3466:12", "stateMutability": "nonpayable", "virtual": false, @@ -205205,7 +205095,7 @@ }, { "body": { - "id": 6334, + "id": 6345, "nodeType": "Block", "src": "23500:324:12", "statements": [ @@ -205330,33 +205220,33 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 6328, + "declaration": 6339, "isOffset": false, "isSlot": false, "src": "23589:4:12", "valueSize": 1 }, { - "declaration": 6331, + "declaration": 6342, "isOffset": false, "isSlot": false, "src": "23740:6:12", "valueSize": 1 } ], - "id": 6333, + "id": 6344, "nodeType": "InlineAssembly", "src": "23553:265:12" } ] }, "documentation": { - "id": 6326, + "id": 6337, "nodeType": "StructuredDocumentation", "src": "23168:242:12", "text": "@dev Returns an Ethereum Signed Message, created from a `hash`.\n This produces a hash corresponding to the one signed with the\n [`eth_sign`](https://eth.wiki/json-rpc/API#eth_sign)\n JSON-RPC method as part of EIP-191." }, - "id": 6335, + "id": 6346, "implemented": true, "kind": "function", "modifiers": [], @@ -205364,17 +205254,17 @@ "nameLocation": "23424:22:12", "nodeType": "FunctionDefinition", "parameters": { - "id": 6329, + "id": 6340, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6328, + "id": 6339, "mutability": "mutable", "name": "hash", "nameLocation": "23455:4:12", "nodeType": "VariableDeclaration", - "scope": 6335, + "scope": 6346, "src": "23447:12:12", "stateVariable": false, "storageLocation": "default", @@ -205383,7 +205273,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 6327, + "id": 6338, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "23447:7:12", @@ -205398,17 +205288,17 @@ "src": "23446:14:12" }, "returnParameters": { - "id": 6332, + "id": 6343, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6331, + "id": 6342, "mutability": "mutable", "name": "result", "nameLocation": "23492:6:12", "nodeType": "VariableDeclaration", - "scope": 6335, + "scope": 6346, "src": "23484:14:12", "stateVariable": false, "storageLocation": "default", @@ -205417,7 +205307,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 6330, + "id": 6341, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "23484:7:12", @@ -205431,7 +205321,7 @@ ], "src": "23483:16:12" }, - "scope": 6354, + "scope": 6365, "src": "23415:409:12", "stateMutability": "pure", "virtual": false, @@ -205439,7 +205329,7 @@ }, { "body": { - "id": 6344, + "id": 6355, "nodeType": "Block", "src": "24217:1019:12", "statements": [ @@ -206132,54 +206022,54 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 6341, + "declaration": 6352, "isOffset": false, "isSlot": false, "src": "25108:6:12", "valueSize": 1 }, { - "declaration": 6338, + "declaration": 6349, "isOffset": false, "isSlot": false, "src": "24314:1:12", "valueSize": 1 }, { - "declaration": 6338, + "declaration": 6349, "isOffset": false, "isSlot": false, "src": "25033:1:12", "valueSize": 1 }, { - "declaration": 6338, + "declaration": 6349, "isOffset": false, "isSlot": false, "src": "25132:1:12", "valueSize": 1 }, { - "declaration": 6338, + "declaration": 6349, "isOffset": false, "isSlot": false, "src": "25186:1:12", "valueSize": 1 } ], - "id": 6343, + "id": 6354, "nodeType": "InlineAssembly", "src": "24270:960:12" } ] }, "documentation": { - "id": 6336, + "id": 6347, "nodeType": "StructuredDocumentation", "src": "23830:295:12", "text": "@dev Returns an Ethereum Signed Message, created from `s`.\n This produces a hash corresponding to the one signed with the\n [`eth_sign`](https://eth.wiki/json-rpc/API#eth_sign)\n JSON-RPC method as part of EIP-191.\n Note: Supports lengths of `s` up to 999999 bytes." }, - "id": 6345, + "id": 6356, "implemented": true, "kind": "function", "modifiers": [], @@ -206187,17 +206077,17 @@ "nameLocation": "24139:22:12", "nodeType": "FunctionDefinition", "parameters": { - "id": 6339, + "id": 6350, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6338, + "id": 6349, "mutability": "mutable", "name": "s", "nameLocation": "24175:1:12", "nodeType": "VariableDeclaration", - "scope": 6345, + "scope": 6356, "src": "24162:14:12", "stateVariable": false, "storageLocation": "memory", @@ -206206,7 +206096,7 @@ "typeString": "bytes" }, "typeName": { - "id": 6337, + "id": 6348, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "24162:5:12", @@ -206221,17 +206111,17 @@ "src": "24161:16:12" }, "returnParameters": { - "id": 6342, + "id": 6353, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6341, + "id": 6352, "mutability": "mutable", "name": "result", "nameLocation": "24209:6:12", "nodeType": "VariableDeclaration", - "scope": 6345, + "scope": 6356, "src": "24201:14:12", "stateVariable": false, "storageLocation": "default", @@ -206240,7 +206130,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 6340, + "id": 6351, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "24201:7:12", @@ -206254,7 +206144,7 @@ ], "src": "24200:16:12" }, - "scope": 6354, + "scope": 6365, "src": "24130:1106:12", "stateMutability": "pure", "virtual": false, @@ -206262,7 +206152,7 @@ }, { "body": { - "id": 6352, + "id": 6363, "nodeType": "Block", "src": "25646:113:12", "statements": [ @@ -206299,7 +206189,7 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 6349, + "declaration": 6360, "isOffset": false, "isSlot": false, "src": "25722:16:12", @@ -206307,19 +206197,19 @@ "valueSize": 1 } ], - "id": 6351, + "id": 6362, "nodeType": "InlineAssembly", "src": "25699:54:12" } ] }, "documentation": { - "id": 6346, + "id": 6357, "nodeType": "StructuredDocumentation", "src": "25525:41:12", "text": "@dev Returns an empty calldata bytes." }, - "id": 6353, + "id": 6364, "implemented": true, "kind": "function", "modifiers": [], @@ -206327,23 +206217,23 @@ "nameLocation": "25580:14:12", "nodeType": "FunctionDefinition", "parameters": { - "id": 6347, + "id": 6358, "nodeType": "ParameterList", "parameters": [], "src": "25594:2:12" }, "returnParameters": { - "id": 6350, + "id": 6361, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6349, + "id": 6360, "mutability": "mutable", "name": "signature", "nameLocation": "25635:9:12", "nodeType": "VariableDeclaration", - "scope": 6353, + "scope": 6364, "src": "25620:24:12", "stateVariable": false, "storageLocation": "calldata", @@ -206352,7 +206242,7 @@ "typeString": "bytes" }, "typeName": { - "id": 6348, + "id": 6359, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "25620:5:12", @@ -206366,14 +206256,14 @@ ], "src": "25619:26:12" }, - "scope": 6354, + "scope": 6365, "src": "25571:188:12", "stateMutability": "pure", "virtual": false, "visibility": "internal" } ], - "scope": 6355, + "scope": 6366, "src": "1438:24323:12", "usedErrors": [], "usedEvents": [] @@ -206388,18 +206278,18 @@ "absolutePath": "solady/utils/UUPSUpgradeable.sol", "exportedSymbols": { "CallContextChecker": [ - 2572 + 2583 ], "UUPSUpgradeable": [ - 6411 + 6422 ] }, - "id": 6412, + "id": 6423, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 6356, + "id": 6367, "literals": [ "solidity", "^", @@ -206412,20 +206302,20 @@ { "absolutePath": "solady/utils/CallContextChecker.sol", "file": "./CallContextChecker.sol", - "id": 6358, + "id": 6369, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 6412, - "sourceUnit": 2573, + "scope": 6423, + "sourceUnit": 2584, "src": "57:60:13", "symbolAliases": [ { "foreign": { - "id": 6357, + "id": 6368, "name": "CallContextChecker", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2572, + "referencedDeclaration": 2583, "src": "65:18:13", "typeDescriptions": {} }, @@ -206439,16 +206329,16 @@ "baseContracts": [ { "baseName": { - "id": 6360, + "id": 6371, "name": "CallContextChecker", "nameLocations": [ "739:18:13" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 2572, + "referencedDeclaration": 2583, "src": "739:18:13" }, - "id": 6361, + "id": 6372, "nodeType": "InheritanceSpecifier", "src": "739:18:13" } @@ -206457,16 +206347,16 @@ "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 6359, + "id": 6370, "nodeType": "StructuredDocumentation", "src": "119:583:13", "text": "@notice UUPS proxy mixin.\n @author Solady (https://github.com/vectorized/solady/blob/main/src/utils/UUPSUpgradeable.sol)\n @author Modified from OpenZeppelin\n (https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/proxy/utils/UUPSUpgradeable.sol)\n @dev Note:\n - This implementation is intended to be used with ERC1967 proxies.\n See: `LibClone.deployERC1967` and related functions.\n - This implementation is NOT compatible with legacy OpenZeppelin proxies\n which do not store the implementation at `_ERC1967_IMPLEMENTATION_SLOT`." }, "fullyImplemented": false, - "id": 6411, + "id": 6422, "linearizedBaseContracts": [ - 6411, - 2572 + 6422, + 2583 ], "name": "UUPSUpgradeable", "nameLocation": "720:15:13", @@ -206474,18 +206364,18 @@ "nodes": [ { "documentation": { - "id": 6362, + "id": 6373, "nodeType": "StructuredDocumentation", "src": "1047:28:13", "text": "@dev The upgrade failed." }, "errorSelector": "55299b49", - "id": 6364, + "id": 6375, "name": "UpgradeFailed", "nameLocation": "1086:13:13", "nodeType": "ErrorDefinition", "parameters": { - "id": 6363, + "id": 6374, "nodeType": "ParameterList", "parameters": [], "src": "1099:2:13" @@ -206495,29 +206385,29 @@ { "anonymous": false, "documentation": { - "id": 6365, + "id": 6376, "nodeType": "StructuredDocumentation", "src": "1391:61:13", "text": "@dev Emitted when the proxy's implementation is upgraded." }, "eventSelector": "bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", - "id": 6369, + "id": 6380, "name": "Upgraded", "nameLocation": "1463:8:13", "nodeType": "EventDefinition", "parameters": { - "id": 6368, + "id": 6379, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6367, + "id": 6378, "indexed": true, "mutability": "mutable", "name": "implementation", "nameLocation": "1488:14:13", "nodeType": "VariableDeclaration", - "scope": 6369, + "scope": 6380, "src": "1472:30:13", "stateVariable": false, "storageLocation": "default", @@ -206526,7 +206416,7 @@ "typeString": "address" }, "typeName": { - "id": 6366, + "id": 6377, "name": "address", "nodeType": "ElementaryTypeName", "src": "1472:7:13", @@ -206546,17 +206436,17 @@ { "constant": true, "documentation": { - "id": 6370, + "id": 6381, "nodeType": "StructuredDocumentation", "src": "1510:49:13", "text": "@dev `keccak256(bytes(\"Upgraded(address)\"))`." }, - "id": 6373, + "id": 6384, "mutability": "constant", "name": "_UPGRADED_EVENT_SIGNATURE", "nameLocation": "1589:25:13", "nodeType": "VariableDeclaration", - "scope": 6411, + "scope": 6422, "src": "1564:127:13", "stateVariable": true, "storageLocation": "default", @@ -206565,7 +206455,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6371, + "id": 6382, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1564:7:13", @@ -206576,7 +206466,7 @@ }, "value": { "hexValue": "307862633763643735613230656532376664396164656261623332303431663735353231346462633662666661393063633032323562333964613265356332643362", - "id": 6372, + "id": 6383, "isConstant": false, "isLValue": false, "isPure": true, @@ -206595,17 +206485,17 @@ { "constant": true, "documentation": { - "id": 6374, + "id": 6385, "nodeType": "StructuredDocumentation", "src": "1981:137:13", "text": "@dev The ERC-1967 storage slot for the implementation in the proxy.\n `uint256(keccak256(\"eip1967.proxy.implementation\")) - 1`." }, - "id": 6377, + "id": 6388, "mutability": "constant", "name": "_ERC1967_IMPLEMENTATION_SLOT", "nameLocation": "2149:28:13", "nodeType": "VariableDeclaration", - "scope": 6411, + "scope": 6422, "src": "2123:131:13", "stateVariable": true, "storageLocation": "default", @@ -206614,7 +206504,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 6375, + "id": 6386, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2123:7:13", @@ -206625,7 +206515,7 @@ }, "value": { "hexValue": "307833363038393461313362613161333231303636376338323834393264623938646361336532303736636333373335613932306133636135303564333832626263", - "id": 6376, + "id": 6387, "isConstant": false, "isLValue": false, "isPure": true, @@ -206643,12 +206533,12 @@ }, { "documentation": { - "id": 6378, + "id": 6389, "nodeType": "StructuredDocumentation", "src": "2544:251:13", "text": "@dev Please override this function to check if `msg.sender` is authorized\n to upgrade the proxy to `newImplementation`, reverting if not.\n ```\n function _authorizeUpgrade(address) internal override onlyOwner {}\n ```" }, - "id": 6383, + "id": 6394, "implemented": false, "kind": "function", "modifiers": [], @@ -206656,17 +206546,17 @@ "nameLocation": "2809:17:13", "nodeType": "FunctionDefinition", "parameters": { - "id": 6381, + "id": 6392, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6380, + "id": 6391, "mutability": "mutable", "name": "newImplementation", "nameLocation": "2835:17:13", "nodeType": "VariableDeclaration", - "scope": 6383, + "scope": 6394, "src": "2827:25:13", "stateVariable": false, "storageLocation": "default", @@ -206675,7 +206565,7 @@ "typeString": "address" }, "typeName": { - "id": 6379, + "id": 6390, "name": "address", "nodeType": "ElementaryTypeName", "src": "2827:7:13", @@ -206691,12 +206581,12 @@ "src": "2826:27:13" }, "returnParameters": { - "id": 6382, + "id": 6393, "nodeType": "ParameterList", "parameters": [], "src": "2870:0:13" }, - "scope": 6411, + "scope": 6422, "src": "2800:71:13", "stateMutability": "nonpayable", "virtual": true, @@ -206704,52 +206594,52 @@ }, { "body": { - "id": 6393, + "id": 6404, "nodeType": "Block", "src": "3229:151:13", "statements": [ { "expression": { - "id": 6391, + "id": 6402, "name": "_ERC1967_IMPLEMENTATION_SLOT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6377, + "referencedDeclaration": 6388, "src": "3345:28:13", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 6390, - "id": 6392, + "functionReturnParameters": 6401, + "id": 6403, "nodeType": "Return", "src": "3338:35:13" } ] }, "documentation": { - "id": 6384, + "id": 6395, "nodeType": "StructuredDocumentation", "src": "2877:271:13", "text": "@dev Returns the storage slot used by the implementation,\n as specified in [ERC1822](https://eips.ethereum.org/EIPS/eip-1822).\n Note: The `notDelegated` modifier prevents accidental upgrades to\n an implementation that is a proxy contract." }, "functionSelector": "52d1902d", - "id": 6394, + "id": 6405, "implemented": true, "kind": "function", "modifiers": [ { - "id": 6387, + "id": 6398, "kind": "modifierInvocation", "modifierName": { - "id": 6386, + "id": 6397, "name": "notDelegated", "nameLocations": [ "3198:12:13" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 2566, + "referencedDeclaration": 2577, "src": "3198:12:13" }, "nodeType": "ModifierInvocation", @@ -206760,23 +206650,23 @@ "nameLocation": "3162:13:13", "nodeType": "FunctionDefinition", "parameters": { - "id": 6385, + "id": 6396, "nodeType": "ParameterList", "parameters": [], "src": "3175:2:13" }, "returnParameters": { - "id": 6390, + "id": 6401, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6389, + "id": 6400, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 6394, + "scope": 6405, "src": "3220:7:13", "stateVariable": false, "storageLocation": "default", @@ -206785,7 +206675,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 6388, + "id": 6399, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "3220:7:13", @@ -206799,7 +206689,7 @@ ], "src": "3219:9:13" }, - "scope": 6411, + "scope": 6422, "src": "3153:227:13", "stateMutability": "view", "virtual": true, @@ -206807,7 +206697,7 @@ }, { "body": { - "id": 6409, + "id": 6420, "nodeType": "Block", "src": "3729:1475:13", "statements": [ @@ -206815,11 +206705,11 @@ "expression": { "arguments": [ { - "id": 6405, + "id": 6416, "name": "newImplementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6397, + "referencedDeclaration": 6408, "src": "3757:17:13", "typeDescriptions": { "typeIdentifier": "t_address", @@ -206834,18 +206724,18 @@ "typeString": "address" } ], - "id": 6404, + "id": 6415, "name": "_authorizeUpgrade", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6383, + "referencedDeclaration": 6394, "src": "3739:17:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 6406, + "id": 6417, "isConstant": false, "isLValue": false, "isPure": false, @@ -206861,7 +206751,7 @@ "typeString": "tuple()" } }, - "id": 6407, + "id": 6418, "nodeType": "ExpressionStatement", "src": "3739:36:13" }, @@ -207555,21 +207445,21 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 6377, + "declaration": 6388, "isOffset": false, "isSlot": false, "src": "4056:28:13", "valueSize": 1 }, { - "declaration": 6373, + "declaration": 6384, "isOffset": false, "isSlot": false, "src": "4456:25:13", "valueSize": 1 }, { - "declaration": 6399, + "declaration": 6410, "isOffset": false, "isSlot": false, "src": "4675:11:13", @@ -207577,7 +207467,7 @@ "valueSize": 1 }, { - "declaration": 6399, + "declaration": 6410, "isOffset": false, "isSlot": false, "src": "4851:11:13", @@ -207585,7 +207475,7 @@ "valueSize": 1 }, { - "declaration": 6399, + "declaration": 6410, "isOffset": false, "isSlot": false, "src": "4932:11:13", @@ -207593,7 +207483,7 @@ "valueSize": 1 }, { - "declaration": 6399, + "declaration": 6410, "isOffset": true, "isSlot": false, "src": "4838:11:13", @@ -207601,76 +207491,76 @@ "valueSize": 1 }, { - "declaration": 6397, + "declaration": 6408, "isOffset": false, "isSlot": false, "src": "3851:17:13", "valueSize": 1 }, { - "declaration": 6397, + "declaration": 6408, "isOffset": false, "isSlot": false, "src": "3888:17:13", "valueSize": 1 }, { - "declaration": 6397, + "declaration": 6408, "isOffset": false, "isSlot": false, "src": "4216:17:13", "valueSize": 1 }, { - "declaration": 6397, + "declaration": 6408, "isOffset": false, "isSlot": false, "src": "4483:17:13", "valueSize": 1 }, { - "declaration": 6397, + "declaration": 6408, "isOffset": false, "isSlot": false, "src": "4524:17:13", "valueSize": 1 }, { - "declaration": 6397, + "declaration": 6408, "isOffset": false, "isSlot": false, "src": "4910:17:13", "valueSize": 1 } ], - "id": 6408, + "id": 6419, "nodeType": "InlineAssembly", "src": "3828:1370:13" } ] }, "documentation": { - "id": 6395, + "id": 6406, "nodeType": "StructuredDocumentation", "src": "3386:195:13", "text": "@dev Upgrades the proxy's implementation to `newImplementation`.\n Emits a {Upgraded} event.\n Note: Passing in empty `data` skips the delegatecall to `newImplementation`." }, "functionSelector": "4f1ef286", - "id": 6410, + "id": 6421, "implemented": true, "kind": "function", "modifiers": [ { - "id": 6402, + "id": 6413, "kind": "modifierInvocation", "modifierName": { - "id": 6401, + "id": 6412, "name": "onlyProxy", "nameLocations": [ "3715:9:13" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 2558, + "referencedDeclaration": 2569, "src": "3715:9:13" }, "nodeType": "ModifierInvocation", @@ -207681,17 +207571,17 @@ "nameLocation": "3595:16:13", "nodeType": "FunctionDefinition", "parameters": { - "id": 6400, + "id": 6411, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6397, + "id": 6408, "mutability": "mutable", "name": "newImplementation", "nameLocation": "3620:17:13", "nodeType": "VariableDeclaration", - "scope": 6410, + "scope": 6421, "src": "3612:25:13", "stateVariable": false, "storageLocation": "default", @@ -207700,7 +207590,7 @@ "typeString": "address" }, "typeName": { - "id": 6396, + "id": 6407, "name": "address", "nodeType": "ElementaryTypeName", "src": "3612:7:13", @@ -207714,12 +207604,12 @@ }, { "constant": false, - "id": 6399, + "id": 6410, "mutability": "mutable", "name": "data", "nameLocation": "3654:4:13", "nodeType": "VariableDeclaration", - "scope": 6410, + "scope": 6421, "src": "3639:19:13", "stateVariable": false, "storageLocation": "calldata", @@ -207728,7 +207618,7 @@ "typeString": "bytes" }, "typeName": { - "id": 6398, + "id": 6409, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "3639:5:13", @@ -207743,26 +207633,26 @@ "src": "3611:48:13" }, "returnParameters": { - "id": 6403, + "id": 6414, "nodeType": "ParameterList", "parameters": [], "src": "3729:0:13" }, - "scope": 6411, + "scope": 6422, "src": "3586:1618:13", "stateMutability": "payable", "virtual": true, "visibility": "public" } ], - "scope": 6412, + "scope": 6423, "src": "702:4504:13", "usedErrors": [ - 2454, - 6364 + 2465, + 6375 ], "usedEvents": [ - 6369 + 6380 ] } ], @@ -207775,21 +207665,21 @@ "absolutePath": "src/AuthenticatedStaticCaller.sol", "exportedSymbols": { "AuthenticatedStaticCaller": [ - 6521 + 6532 ], "ERC1271": [ - 6715 + 6726 ], "StaticCall": [ - 6424 + 6435 ] }, - "id": 6522, + "id": 6533, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 6413, + "id": 6424, "literals": [ "solidity", "^", @@ -207802,20 +207692,20 @@ { "absolutePath": "src/ERC1271.sol", "file": "./ERC1271.sol", - "id": 6415, + "id": 6426, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 6522, - "sourceUnit": 6716, + "scope": 6533, + "sourceUnit": 6727, "src": "57:38:14", "symbolAliases": [ { "foreign": { - "id": 6414, + "id": 6425, "name": "ERC1271", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6715, + "referencedDeclaration": 6726, "src": "65:7:14", "typeDescriptions": {} }, @@ -207826,16 +207716,16 @@ }, { "canonicalName": "StaticCall", - "id": 6424, + "id": 6435, "members": [ { "constant": false, - "id": 6417, + "id": 6428, "mutability": "mutable", "name": "target", "nameLocation": "129:6:14", "nodeType": "VariableDeclaration", - "scope": 6424, + "scope": 6435, "src": "121:14:14", "stateVariable": false, "storageLocation": "default", @@ -207844,7 +207734,7 @@ "typeString": "address" }, "typeName": { - "id": 6416, + "id": 6427, "name": "address", "nodeType": "ElementaryTypeName", "src": "121:7:14", @@ -207858,12 +207748,12 @@ }, { "constant": false, - "id": 6419, + "id": 6430, "mutability": "mutable", "name": "data", "nameLocation": "147:4:14", "nodeType": "VariableDeclaration", - "scope": 6424, + "scope": 6435, "src": "141:10:14", "stateVariable": false, "storageLocation": "default", @@ -207872,7 +207762,7 @@ "typeString": "bytes" }, "typeName": { - "id": 6418, + "id": 6429, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "141:5:14", @@ -207885,12 +207775,12 @@ }, { "constant": false, - "id": 6421, + "id": 6432, "mutability": "mutable", "name": "signedAt", "nameLocation": "165:8:14", "nodeType": "VariableDeclaration", - "scope": 6424, + "scope": 6435, "src": "157:16:14", "stateVariable": false, "storageLocation": "default", @@ -207899,7 +207789,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6420, + "id": 6431, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "157:7:14", @@ -207912,12 +207802,12 @@ }, { "constant": false, - "id": 6423, + "id": 6434, "mutability": "mutable", "name": "signature", "nameLocation": "185:9:14", "nodeType": "VariableDeclaration", - "scope": 6424, + "scope": 6435, "src": "179:15:14", "stateVariable": false, "storageLocation": "default", @@ -207926,7 +207816,7 @@ "typeString": "bytes" }, "typeName": { - "id": 6422, + "id": 6433, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "179:5:14", @@ -207941,7 +207831,7 @@ "name": "StaticCall", "nameLocation": "104:10:14", "nodeType": "StructDefinition", - "scope": 6522, + "scope": 6533, "src": "97:100:14", "visibility": "public" }, @@ -207950,16 +207840,16 @@ "baseContracts": [ { "baseName": { - "id": 6425, + "id": 6436, "name": "ERC1271", "nameLocations": [ "246:7:14" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 6715, + "referencedDeclaration": 6726, "src": "246:7:14" }, - "id": 6426, + "id": 6437, "nodeType": "InheritanceSpecifier", "src": "246:7:14" } @@ -207968,10 +207858,10 @@ "contractDependencies": [], "contractKind": "contract", "fullyImplemented": false, - "id": 6521, + "id": 6532, "linearizedBaseContracts": [ - 6521, - 6715 + 6532, + 6726 ], "name": "AuthenticatedStaticCaller", "nameLocation": "217:25:14", @@ -207979,22 +207869,22 @@ "nodes": [ { "errorSelector": "f88f0490", - "id": 6432, + "id": 6443, "name": "SignatureExpired", "nameLocation": "266:16:14", "nodeType": "ErrorDefinition", "parameters": { - "id": 6431, + "id": 6442, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6428, + "id": 6439, "mutability": "mutable", "name": "expiredAt", "nameLocation": "291:9:14", "nodeType": "VariableDeclaration", - "scope": 6432, + "scope": 6443, "src": "283:17:14", "stateVariable": false, "storageLocation": "default", @@ -208003,7 +207893,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6427, + "id": 6438, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "283:7:14", @@ -208016,12 +207906,12 @@ }, { "constant": false, - "id": 6430, + "id": 6441, "mutability": "mutable", "name": "currentTimestamp", "nameLocation": "310:16:14", "nodeType": "VariableDeclaration", - "scope": 6432, + "scope": 6443, "src": "302:24:14", "stateVariable": false, "storageLocation": "default", @@ -208030,7 +207920,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6429, + "id": 6440, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "302:7:14", @@ -208048,12 +207938,12 @@ }, { "errorSelector": "8baa579f", - "id": 6434, + "id": 6445, "name": "InvalidSignature", "nameLocation": "339:16:14", "nodeType": "ErrorDefinition", "parameters": { - "id": 6433, + "id": 6444, "nodeType": "ParameterList", "parameters": [], "src": "355:2:14" @@ -208062,12 +207952,12 @@ }, { "constant": true, - "id": 6437, + "id": 6448, "mutability": "constant", "name": "signatureLifetime", "nameLocation": "417:17:14", "nodeType": "VariableDeclaration", - "scope": 6521, + "scope": 6532, "src": "400:47:14", "stateVariable": true, "storageLocation": "default", @@ -208076,7 +207966,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6435, + "id": 6446, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "400:7:14", @@ -208087,7 +207977,7 @@ }, "value": { "hexValue": "3330", - "id": 6436, + "id": 6447, "isConstant": false, "isLValue": false, "isPure": true, @@ -208106,32 +207996,32 @@ }, { "body": { - "id": 6444, + "id": 6455, "nodeType": "Block", "src": "518:41:14", "statements": [ { "expression": { - "id": 6442, + "id": 6453, "name": "signatureLifetime", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6437, + "referencedDeclaration": 6448, "src": "535:17:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 6441, - "id": 6443, + "functionReturnParameters": 6452, + "id": 6454, "nodeType": "Return", "src": "528:24:14" } ] }, "functionSelector": "17452caa", - "id": 6445, + "id": 6456, "implemented": true, "kind": "function", "modifiers": [], @@ -208139,23 +208029,23 @@ "nameLocation": "463:20:14", "nodeType": "FunctionDefinition", "parameters": { - "id": 6438, + "id": 6449, "nodeType": "ParameterList", "parameters": [], "src": "483:2:14" }, "returnParameters": { - "id": 6441, + "id": 6452, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6440, + "id": 6451, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 6445, + "scope": 6456, "src": "509:7:14", "stateVariable": false, "storageLocation": "default", @@ -208164,7 +208054,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6439, + "id": 6450, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "509:7:14", @@ -208178,7 +208068,7 @@ ], "src": "508:9:14" }, - "scope": 6521, + "scope": 6532, "src": "454:105:14", "stateMutability": "view", "virtual": false, @@ -208186,7 +208076,7 @@ }, { "body": { - "id": 6519, + "id": 6530, "nodeType": "Block", "src": "654:628:14", "statements": [ @@ -208196,7 +208086,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6459, + "id": 6470, "isConstant": false, "isLValue": false, "isPure": false, @@ -208206,25 +208096,25 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6456, + "id": 6467, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 6453, + "id": 6464, "name": "call", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6448, + "referencedDeclaration": 6459, "src": "668:4:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_StaticCall_$6424_calldata_ptr", + "typeIdentifier": "t_struct$_StaticCall_$6435_calldata_ptr", "typeString": "struct StaticCall calldata" } }, - "id": 6454, + "id": 6465, "isConstant": false, "isLValue": false, "isPure": false, @@ -208232,7 +208122,7 @@ "memberLocation": "673:8:14", "memberName": "signedAt", "nodeType": "MemberAccess", - "referencedDeclaration": 6421, + "referencedDeclaration": 6432, "src": "668:13:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -208242,11 +208132,11 @@ "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { - "id": 6455, + "id": 6466, "name": "signatureLifetime", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6437, + "referencedDeclaration": 6448, "src": "684:17:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -208263,7 +208153,7 @@ "operator": "<", "rightExpression": { "expression": { - "id": 6457, + "id": 6468, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -208274,7 +208164,7 @@ "typeString": "block" } }, - "id": 6458, + "id": 6469, "isConstant": false, "isLValue": false, "isPure": false, @@ -208294,11 +208184,11 @@ "typeString": "bool" } }, - "id": 6470, + "id": 6481, "nodeType": "IfStatement", "src": "664:157:14", "trueBody": { - "id": 6469, + "id": 6480, "nodeType": "Block", "src": "721:100:14", "statements": [ @@ -208310,25 +208200,25 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6464, + "id": 6475, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 6461, + "id": 6472, "name": "call", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6448, + "referencedDeclaration": 6459, "src": "759:4:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_StaticCall_$6424_calldata_ptr", + "typeIdentifier": "t_struct$_StaticCall_$6435_calldata_ptr", "typeString": "struct StaticCall calldata" } }, - "id": 6462, + "id": 6473, "isConstant": false, "isLValue": false, "isPure": false, @@ -208336,7 +208226,7 @@ "memberLocation": "764:8:14", "memberName": "signedAt", "nodeType": "MemberAccess", - "referencedDeclaration": 6421, + "referencedDeclaration": 6432, "src": "759:13:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -208346,11 +208236,11 @@ "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { - "id": 6463, + "id": 6474, "name": "signatureLifetime", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6437, + "referencedDeclaration": 6448, "src": "775:17:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -208365,7 +208255,7 @@ }, { "expression": { - "id": 6465, + "id": 6476, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -208376,7 +208266,7 @@ "typeString": "block" } }, - "id": 6466, + "id": 6477, "isConstant": false, "isLValue": false, "isPure": false, @@ -208402,18 +208292,18 @@ "typeString": "uint256" } ], - "id": 6460, + "id": 6471, "name": "SignatureExpired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6432, + "referencedDeclaration": 6443, "src": "742:16:14", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$_t_error_$", "typeString": "function (uint256,uint256) pure returns (error)" } }, - "id": 6467, + "id": 6478, "isConstant": false, "isLValue": false, "isPure": false, @@ -208429,7 +208319,7 @@ "typeString": "error" } }, - "id": 6468, + "id": 6479, "nodeType": "RevertStatement", "src": "735:75:14" } @@ -208438,17 +208328,17 @@ }, { "assignments": [ - 6472 + 6483 ], "declarations": [ { "constant": false, - "id": 6472, + "id": 6483, "mutability": "mutable", "name": "hash", "nameLocation": "838:4:14", "nodeType": "VariableDeclaration", - "scope": 6519, + "scope": 6530, "src": "830:12:14", "stateVariable": false, "storageLocation": "default", @@ -208457,7 +208347,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 6471, + "id": 6482, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "830:7:14", @@ -208469,7 +208359,7 @@ "visibility": "internal" } ], - "id": 6487, + "id": 6498, "initialValue": { "arguments": [ { @@ -208477,18 +208367,18 @@ { "expression": { "expression": { - "id": 6477, + "id": 6488, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, "src": "868:4:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_AuthenticatedStaticCaller_$6521", + "typeIdentifier": "t_contract$_AuthenticatedStaticCaller_$6532", "typeString": "contract AuthenticatedStaticCaller" } }, - "id": 6478, + "id": 6489, "isConstant": false, "isLValue": false, "isPure": false, @@ -208496,14 +208386,14 @@ "memberLocation": "873:16:14", "memberName": "signedStaticCall", "nodeType": "MemberAccess", - "referencedDeclaration": 6520, + "referencedDeclaration": 6531, "src": "868:21:14", "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_struct$_StaticCall_$6424_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeIdentifier": "t_function_external_view$_t_struct$_StaticCall_$6435_memory_ptr_$returns$_t_bytes_memory_ptr_$", "typeString": "function (struct StaticCall memory) view external returns (bytes memory)" } }, - "id": 6479, + "id": 6490, "isConstant": false, "isLValue": false, "isPure": true, @@ -208521,18 +208411,18 @@ "arguments": [ { "expression": { - "id": 6482, + "id": 6493, "name": "call", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6448, + "referencedDeclaration": 6459, "src": "908:4:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_StaticCall_$6424_calldata_ptr", + "typeIdentifier": "t_struct$_StaticCall_$6435_calldata_ptr", "typeString": "struct StaticCall calldata" } }, - "id": 6483, + "id": 6494, "isConstant": false, "isLValue": false, "isPure": false, @@ -208540,7 +208430,7 @@ "memberLocation": "913:8:14", "memberName": "signedAt", "nodeType": "MemberAccess", - "referencedDeclaration": 6421, + "referencedDeclaration": 6432, "src": "908:13:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -208555,7 +208445,7 @@ "typeString": "uint256" } ], - "id": 6481, + "id": 6492, "isConstant": false, "isLValue": false, "isPure": true, @@ -208567,14 +208457,14 @@ "typeString": "type(bytes32)" }, "typeName": { - "id": 6480, + "id": 6491, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "900:7:14", "typeDescriptions": {} } }, - "id": 6484, + "id": 6495, "isConstant": false, "isLValue": false, "isPure": false, @@ -208603,7 +208493,7 @@ } ], "expression": { - "id": 6475, + "id": 6486, "isConstant": false, "isLValue": false, "isPure": true, @@ -208615,14 +208505,14 @@ "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 6474, + "id": 6485, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "855:5:14", "typeDescriptions": {} } }, - "id": 6476, + "id": 6487, "isConstant": false, "isLValue": false, "isPure": false, @@ -208636,7 +208526,7 @@ "typeString": "function () pure returns (bytes memory)" } }, - "id": 6485, + "id": 6496, "isConstant": false, "isLValue": false, "isPure": false, @@ -208660,7 +208550,7 @@ "typeString": "bytes memory" } ], - "id": 6473, + "id": 6484, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -208671,7 +208561,7 @@ "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 6486, + "id": 6497, "isConstant": false, "isLValue": false, "isPure": false, @@ -208692,7 +208582,7 @@ }, { "condition": { - "id": 6495, + "id": 6506, "isConstant": false, "isLValue": false, "isPure": false, @@ -208706,11 +208596,11 @@ { "arguments": [ { - "id": 6490, + "id": 6501, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6472, + "referencedDeclaration": 6483, "src": "972:4:14", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -208725,18 +208615,18 @@ "typeString": "bytes32" } ], - "id": 6489, + "id": 6500, "name": "replaySafeHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6617, + "referencedDeclaration": 6628, "src": "957:14:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", "typeString": "function (bytes32) view returns (bytes32)" } }, - "id": 6491, + "id": 6502, "isConstant": false, "isLValue": false, "isPure": false, @@ -208754,18 +208644,18 @@ }, { "expression": { - "id": 6492, + "id": 6503, "name": "call", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6448, + "referencedDeclaration": 6459, "src": "979:4:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_StaticCall_$6424_calldata_ptr", + "typeIdentifier": "t_struct$_StaticCall_$6435_calldata_ptr", "typeString": "struct StaticCall calldata" } }, - "id": 6493, + "id": 6504, "isConstant": false, "isLValue": false, "isPure": false, @@ -208773,7 +208663,7 @@ "memberLocation": "984:9:14", "memberName": "signature", "nodeType": "MemberAccess", - "referencedDeclaration": 6423, + "referencedDeclaration": 6434, "src": "979:14:14", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", @@ -208792,18 +208682,18 @@ "typeString": "bytes calldata" } ], - "id": 6488, + "id": 6499, "name": "_isValidSignature", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6714, + "referencedDeclaration": 6725, "src": "939:17:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes_calldata_ptr_$returns$_t_bool_$", "typeString": "function (bytes32,bytes calldata) view returns (bool)" } }, - "id": 6494, + "id": 6505, "isConstant": false, "isLValue": false, "isPure": false, @@ -208824,11 +208714,11 @@ "typeString": "bool" } }, - "id": 6500, + "id": 6511, "nodeType": "IfStatement", "src": "934:112:14", "trueBody": { - "id": 6499, + "id": 6510, "nodeType": "Block", "src": "996:50:14", "statements": [ @@ -208837,18 +208727,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 6496, + "id": 6507, "name": "InvalidSignature", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6434, + "referencedDeclaration": 6445, "src": "1017:16:14", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$__$returns$_t_error_$", "typeString": "function () pure returns (error)" } }, - "id": 6497, + "id": 6508, "isConstant": false, "isLValue": false, "isPure": false, @@ -208864,7 +208754,7 @@ "typeString": "error" } }, - "id": 6498, + "id": 6509, "nodeType": "RevertStatement", "src": "1010:25:14" } @@ -208873,18 +208763,18 @@ }, { "assignments": [ - 6502, - 6504 + 6513, + 6515 ], "declarations": [ { "constant": false, - "id": 6502, + "id": 6513, "mutability": "mutable", "name": "success", "nameLocation": "1061:7:14", "nodeType": "VariableDeclaration", - "scope": 6519, + "scope": 6530, "src": "1056:12:14", "stateVariable": false, "storageLocation": "default", @@ -208893,7 +208783,7 @@ "typeString": "bool" }, "typeName": { - "id": 6501, + "id": 6512, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1056:4:14", @@ -208906,12 +208796,12 @@ }, { "constant": false, - "id": 6504, + "id": 6515, "mutability": "mutable", "name": "result", "nameLocation": "1083:6:14", "nodeType": "VariableDeclaration", - "scope": 6519, + "scope": 6530, "src": "1070:19:14", "stateVariable": false, "storageLocation": "memory", @@ -208920,7 +208810,7 @@ "typeString": "bytes" }, "typeName": { - "id": 6503, + "id": 6514, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "1070:5:14", @@ -208932,23 +208822,23 @@ "visibility": "internal" } ], - "id": 6511, + "id": 6522, "initialValue": { "arguments": [ { "expression": { - "id": 6508, + "id": 6519, "name": "call", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6448, + "referencedDeclaration": 6459, "src": "1116:4:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_StaticCall_$6424_calldata_ptr", + "typeIdentifier": "t_struct$_StaticCall_$6435_calldata_ptr", "typeString": "struct StaticCall calldata" } }, - "id": 6509, + "id": 6520, "isConstant": false, "isLValue": false, "isPure": false, @@ -208956,7 +208846,7 @@ "memberLocation": "1121:4:14", "memberName": "data", "nodeType": "MemberAccess", - "referencedDeclaration": 6419, + "referencedDeclaration": 6430, "src": "1116:9:14", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", @@ -208973,18 +208863,18 @@ ], "expression": { "expression": { - "id": 6505, + "id": 6516, "name": "call", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6448, + "referencedDeclaration": 6459, "src": "1093:4:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_StaticCall_$6424_calldata_ptr", + "typeIdentifier": "t_struct$_StaticCall_$6435_calldata_ptr", "typeString": "struct StaticCall calldata" } }, - "id": 6506, + "id": 6517, "isConstant": false, "isLValue": false, "isPure": false, @@ -208992,14 +208882,14 @@ "memberLocation": "1098:6:14", "memberName": "target", "nodeType": "MemberAccess", - "referencedDeclaration": 6417, + "referencedDeclaration": 6428, "src": "1093:11:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 6507, + "id": 6518, "isConstant": false, "isLValue": false, "isPure": false, @@ -209013,7 +208903,7 @@ "typeString": "function (bytes memory) view returns (bool,bytes memory)" } }, - "id": 6510, + "id": 6521, "isConstant": false, "isLValue": false, "isPure": false, @@ -209034,7 +208924,7 @@ }, { "condition": { - "id": 6513, + "id": 6524, "isConstant": false, "isLValue": false, "isPure": false, @@ -209044,11 +208934,11 @@ "prefix": true, "src": "1140:8:14", "subExpression": { - "id": 6512, + "id": 6523, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6502, + "referencedDeclaration": 6513, "src": "1141:7:14", "typeDescriptions": { "typeIdentifier": "t_bool", @@ -209060,11 +208950,11 @@ "typeString": "bool" } }, - "id": 6516, + "id": 6527, "nodeType": "IfStatement", "src": "1136:117:14", "trueBody": { - "id": 6515, + "id": 6526, "nodeType": "Block", "src": "1150:103:14", "statements": [ @@ -209143,21 +209033,21 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 6504, + "declaration": 6515, "isOffset": false, "isSlot": false, "src": "1202:6:14", "valueSize": 1 }, { - "declaration": 6504, + "declaration": 6515, "isOffset": false, "isSlot": false, "src": "1221:6:14", "valueSize": 1 } ], - "id": 6514, + "id": 6525, "nodeType": "InlineAssembly", "src": "1164:79:14" } @@ -209166,26 +209056,26 @@ }, { "expression": { - "id": 6517, + "id": 6528, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6504, + "referencedDeclaration": 6515, "src": "1269:6:14", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "functionReturnParameters": 6452, - "id": 6518, + "functionReturnParameters": 6463, + "id": 6529, "nodeType": "Return", "src": "1262:13:14" } ] }, "functionSelector": "737bebdd", - "id": 6520, + "id": 6531, "implemented": true, "kind": "function", "modifiers": [], @@ -209193,41 +209083,41 @@ "nameLocation": "574:16:14", "nodeType": "FunctionDefinition", "parameters": { - "id": 6449, + "id": 6460, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6448, + "id": 6459, "mutability": "mutable", "name": "call", "nameLocation": "611:4:14", "nodeType": "VariableDeclaration", - "scope": 6520, + "scope": 6531, "src": "591:24:14", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { - "typeIdentifier": "t_struct$_StaticCall_$6424_calldata_ptr", + "typeIdentifier": "t_struct$_StaticCall_$6435_calldata_ptr", "typeString": "struct StaticCall" }, "typeName": { - "id": 6447, + "id": 6458, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 6446, + "id": 6457, "name": "StaticCall", "nameLocations": [ "591:10:14" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 6424, + "referencedDeclaration": 6435, "src": "591:10:14" }, - "referencedDeclaration": 6424, + "referencedDeclaration": 6435, "src": "591:10:14", "typeDescriptions": { - "typeIdentifier": "t_struct$_StaticCall_$6424_storage_ptr", + "typeIdentifier": "t_struct$_StaticCall_$6435_storage_ptr", "typeString": "struct StaticCall" } }, @@ -209237,17 +209127,17 @@ "src": "590:26:14" }, "returnParameters": { - "id": 6452, + "id": 6463, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6451, + "id": 6462, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 6520, + "scope": 6531, "src": "640:12:14", "stateVariable": false, "storageLocation": "memory", @@ -209256,7 +209146,7 @@ "typeString": "bytes" }, "typeName": { - "id": 6450, + "id": 6461, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "640:5:14", @@ -209270,18 +209160,18 @@ ], "src": "639:14:14" }, - "scope": 6521, + "scope": 6532, "src": "565:717:14", "stateMutability": "view", "virtual": false, "visibility": "external" } ], - "scope": 6522, + "scope": 6533, "src": "199:1085:14", "usedErrors": [ - 6432, - 6434 + 6443, + 6445 ], "usedEvents": [] } @@ -209295,15 +209185,15 @@ "absolutePath": "src/ERC1271.sol", "exportedSymbols": { "ERC1271": [ - 6715 + 6726 ] }, - "id": 6716, + "id": 6727, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 6523, + "id": 6534, "literals": [ "solidity", "^", @@ -209320,15 +209210,15 @@ "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 6524, + "id": 6535, "nodeType": "StructuredDocumentation", "src": "57:851:15", "text": "@title ERC-1271\n @notice Abstract ERC-1271 implementation (based on Solady's) with guards to handle the same\n signer being used on multiple accounts.\n @dev To prevent the same signature from being validated on different accounts owned by the samer signer,\n we introduce an anti cross-account-replay layer: the original hash is input into a new EIP-712 compliant\n hash. The domain separator of this outer hash contains the chain id and address of this contract, so that\n it cannot be used on two accounts (see `replaySafeHash()` for the implementation details).\n @author Applied Blockchain (https://github.com/appliedblockchain/giano)\n @author Coinbase (https://github.com/coinbase/smart-wallet)\n @author Solady (https://github.com/vectorized/solady/blob/main/src/accounts/ERC1271.sol)" }, "fullyImplemented": false, - "id": 6715, + "id": 6726, "linearizedBaseContracts": [ - 6715 + 6726 ], "name": "ERC1271", "nameLocation": "926:7:15", @@ -209337,17 +209227,17 @@ { "constant": true, "documentation": { - "id": 6525, + "id": 6536, "nodeType": "StructuredDocumentation", "src": "940:409:15", "text": "@dev Precomputed `typeHash` used to produce EIP-712 compliant hash when applying the anti\n cross-account-replay layer.\n The original hash must either be:\n - An EIP-191 hash: keccak256(\"\\x19Ethereum Signed Message:\\n\" || len(someMessage) || someMessage)\n - An EIP-712 hash: keccak256(\"\\x19\\x01\" || someDomainSeparator || hashStruct(someStruct))" }, - "id": 6530, + "id": 6541, "mutability": "constant", "name": "_MESSAGE_TYPEHASH", "nameLocation": "1379:17:15", "nodeType": "VariableDeclaration", - "scope": 6715, + "scope": 6726, "src": "1354:95:15", "stateVariable": true, "storageLocation": "default", @@ -209356,7 +209246,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 6526, + "id": 6537, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1354:7:15", @@ -209369,7 +209259,7 @@ "arguments": [ { "hexValue": "4769616e6f536d61727457616c6c65744d6573736167652862797465733332206861736829", - "id": 6528, + "id": 6539, "isConstant": false, "isLValue": false, "isPure": true, @@ -209391,7 +209281,7 @@ "typeString": "literal_string \"GianoSmartWalletMessage(bytes32 hash)\"" } ], - "id": 6527, + "id": 6538, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -209402,7 +209292,7 @@ "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 6529, + "id": 6540, "isConstant": false, "isLValue": false, "isPure": true, @@ -209422,23 +209312,23 @@ }, { "body": { - "id": 6580, + "id": 6591, "nodeType": "Block", "src": "2491:267:15", "statements": [ { "expression": { - "id": 6551, + "id": 6562, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 6549, + "id": 6560, "name": "fields", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6534, + "referencedDeclaration": 6545, "src": "2501:6:15", "typeDescriptions": { "typeIdentifier": "t_bytes1", @@ -209449,7 +209339,7 @@ "operator": "=", "rightHandSide": { "hexValue": "0f", - "id": 6550, + "id": 6561, "isConstant": false, "isLValue": false, "isPure": true, @@ -209469,13 +209359,13 @@ "typeString": "bytes1" } }, - "id": 6552, + "id": 6563, "nodeType": "ExpressionStatement", "src": "2501:16:15" }, { "expression": { - "id": 6558, + "id": 6569, "isConstant": false, "isLValue": false, "isPure": false, @@ -209483,11 +209373,11 @@ "leftHandSide": { "components": [ { - "id": 6553, + "id": 6564, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6536, + "referencedDeclaration": 6547, "src": "2541:4:15", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -209495,11 +209385,11 @@ } }, { - "id": 6554, + "id": 6565, "name": "version", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6538, + "referencedDeclaration": 6549, "src": "2547:7:15", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -209507,7 +209397,7 @@ } } ], - "id": 6555, + "id": 6566, "isConstant": false, "isInlineArray": false, "isLValue": true, @@ -209526,18 +209416,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 6556, + "id": 6567, "name": "_domainNameAndVersion", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6704, + "referencedDeclaration": 6715, "src": "2558:21:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_string_memory_ptr_$_t_string_memory_ptr_$", "typeString": "function () view returns (string memory,string memory)" } }, - "id": 6557, + "id": 6568, "isConstant": false, "isLValue": false, "isPure": false, @@ -209559,23 +209449,23 @@ "typeString": "tuple()" } }, - "id": 6559, + "id": 6570, "nodeType": "ExpressionStatement", "src": "2540:41:15" }, { "expression": { - "id": 6563, + "id": 6574, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 6560, + "id": 6571, "name": "chainId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6540, + "referencedDeclaration": 6551, "src": "2591:7:15", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -209586,7 +209476,7 @@ "operator": "=", "rightHandSide": { "expression": { - "id": 6561, + "id": 6572, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -209597,7 +209487,7 @@ "typeString": "block" } }, - "id": 6562, + "id": 6573, "isConstant": false, "isLValue": false, "isPure": false, @@ -209617,23 +209507,23 @@ "typeString": "uint256" } }, - "id": 6564, + "id": 6575, "nodeType": "ExpressionStatement", "src": "2591:23:15" }, { "expression": { - "id": 6570, + "id": 6581, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 6565, + "id": 6576, "name": "verifyingContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6542, + "referencedDeclaration": 6553, "src": "2624:17:15", "typeDescriptions": { "typeIdentifier": "t_address", @@ -209645,14 +209535,14 @@ "rightHandSide": { "arguments": [ { - "id": 6568, + "id": 6579, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, "src": "2652:4:15", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1271_$6715", + "typeIdentifier": "t_contract$_ERC1271_$6726", "typeString": "contract ERC1271" } } @@ -209660,11 +209550,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_ERC1271_$6715", + "typeIdentifier": "t_contract$_ERC1271_$6726", "typeString": "contract ERC1271" } ], - "id": 6567, + "id": 6578, "isConstant": false, "isLValue": false, "isPure": true, @@ -209676,14 +209566,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 6566, + "id": 6577, "name": "address", "nodeType": "ElementaryTypeName", "src": "2644:7:15", "typeDescriptions": {} } }, - "id": 6569, + "id": 6580, "isConstant": false, "isLValue": false, "isPure": false, @@ -209705,23 +209595,23 @@ "typeString": "address" } }, - "id": 6571, + "id": 6582, "nodeType": "ExpressionStatement", "src": "2624:33:15" }, { "expression": { - "id": 6574, + "id": 6585, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 6572, + "id": 6583, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6544, + "referencedDeclaration": 6555, "src": "2667:4:15", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -209731,11 +209621,11 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 6573, + "id": 6584, "name": "salt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6544, + "referencedDeclaration": 6555, "src": "2674:4:15", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -209748,23 +209638,23 @@ "typeString": "bytes32" } }, - "id": 6575, + "id": 6586, "nodeType": "ExpressionStatement", "src": "2667:11:15" }, { "expression": { - "id": 6578, + "id": 6589, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 6576, + "id": 6587, "name": "extensions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6547, + "referencedDeclaration": 6558, "src": "2705:10:15", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -209774,11 +209664,11 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 6577, + "id": 6588, "name": "extensions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6547, + "referencedDeclaration": 6558, "src": "2718:10:15", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -209791,20 +209681,20 @@ "typeString": "uint256[] memory" } }, - "id": 6579, + "id": 6590, "nodeType": "ExpressionStatement", "src": "2705:23:15" } ] }, "documentation": { - "id": 6531, + "id": 6542, "nodeType": "StructuredDocumentation", "src": "1456:700:15", "text": "@notice Returns information about the `EIP712Domain` used to create EIP-712 compliant hashes.\n @dev Follows ERC-5267 (see https://eips.ethereum.org/EIPS/eip-5267).\n @return fields The bitmap of used fields.\n @return name The value of the `EIP712Domain.name` field.\n @return version The value of the `EIP712Domain.version` field.\n @return chainId The value of the `EIP712Domain.chainId` field.\n @return verifyingContract The value of the `EIP712Domain.verifyingContract` field.\n @return salt The value of the `EIP712Domain.salt` field.\n @return extensions The list of EIP numbers, that extends EIP-712 with new domain fields." }, "functionSelector": "84b0196e", - "id": 6581, + "id": 6592, "implemented": true, "kind": "function", "modifiers": [], @@ -209812,23 +209702,23 @@ "nameLocation": "2170:12:15", "nodeType": "FunctionDefinition", "parameters": { - "id": 6532, + "id": 6543, "nodeType": "ParameterList", "parameters": [], "src": "2182:2:15" }, "returnParameters": { - "id": 6548, + "id": 6559, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6534, + "id": 6545, "mutability": "mutable", "name": "fields", "nameLocation": "2268:6:15", "nodeType": "VariableDeclaration", - "scope": 6581, + "scope": 6592, "src": "2261:13:15", "stateVariable": false, "storageLocation": "default", @@ -209837,7 +209727,7 @@ "typeString": "bytes1" }, "typeName": { - "id": 6533, + "id": 6544, "name": "bytes1", "nodeType": "ElementaryTypeName", "src": "2261:6:15", @@ -209850,12 +209740,12 @@ }, { "constant": false, - "id": 6536, + "id": 6547, "mutability": "mutable", "name": "name", "nameLocation": "2302:4:15", "nodeType": "VariableDeclaration", - "scope": 6581, + "scope": 6592, "src": "2288:18:15", "stateVariable": false, "storageLocation": "memory", @@ -209864,7 +209754,7 @@ "typeString": "string" }, "typeName": { - "id": 6535, + "id": 6546, "name": "string", "nodeType": "ElementaryTypeName", "src": "2288:6:15", @@ -209877,12 +209767,12 @@ }, { "constant": false, - "id": 6538, + "id": 6549, "mutability": "mutable", "name": "version", "nameLocation": "2334:7:15", "nodeType": "VariableDeclaration", - "scope": 6581, + "scope": 6592, "src": "2320:21:15", "stateVariable": false, "storageLocation": "memory", @@ -209891,7 +209781,7 @@ "typeString": "string" }, "typeName": { - "id": 6537, + "id": 6548, "name": "string", "nodeType": "ElementaryTypeName", "src": "2320:6:15", @@ -209904,12 +209794,12 @@ }, { "constant": false, - "id": 6540, + "id": 6551, "mutability": "mutable", "name": "chainId", "nameLocation": "2363:7:15", "nodeType": "VariableDeclaration", - "scope": 6581, + "scope": 6592, "src": "2355:15:15", "stateVariable": false, "storageLocation": "default", @@ -209918,7 +209808,7 @@ "typeString": "uint256" }, "typeName": { - "id": 6539, + "id": 6550, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2355:7:15", @@ -209931,12 +209821,12 @@ }, { "constant": false, - "id": 6542, + "id": 6553, "mutability": "mutable", "name": "verifyingContract", "nameLocation": "2392:17:15", "nodeType": "VariableDeclaration", - "scope": 6581, + "scope": 6592, "src": "2384:25:15", "stateVariable": false, "storageLocation": "default", @@ -209945,7 +209835,7 @@ "typeString": "address" }, "typeName": { - "id": 6541, + "id": 6552, "name": "address", "nodeType": "ElementaryTypeName", "src": "2384:7:15", @@ -209959,12 +209849,12 @@ }, { "constant": false, - "id": 6544, + "id": 6555, "mutability": "mutable", "name": "salt", "nameLocation": "2431:4:15", "nodeType": "VariableDeclaration", - "scope": 6581, + "scope": 6592, "src": "2423:12:15", "stateVariable": false, "storageLocation": "default", @@ -209973,7 +209863,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 6543, + "id": 6554, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2423:7:15", @@ -209986,12 +209876,12 @@ }, { "constant": false, - "id": 6547, + "id": 6558, "mutability": "mutable", "name": "extensions", "nameLocation": "2466:10:15", "nodeType": "VariableDeclaration", - "scope": 6581, + "scope": 6592, "src": "2449:27:15", "stateVariable": false, "storageLocation": "memory", @@ -210001,7 +209891,7 @@ }, "typeName": { "baseType": { - "id": 6545, + "id": 6556, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2449:7:15", @@ -210010,7 +209900,7 @@ "typeString": "uint256" } }, - "id": 6546, + "id": 6557, "nodeType": "ArrayTypeName", "src": "2449:9:15", "typeDescriptions": { @@ -210023,7 +209913,7 @@ ], "src": "2247:239:15" }, - "scope": 6715, + "scope": 6726, "src": "2161:597:15", "stateMutability": "view", "virtual": true, @@ -210031,7 +209921,7 @@ }, { "body": { - "id": 6603, + "id": 6614, "nodeType": "Block", "src": "3501:229:15", "statements": [ @@ -210041,11 +209931,11 @@ { "arguments": [ { - "id": 6593, + "id": 6604, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6584, + "referencedDeclaration": 6595, "src": "3555:4:15", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -210060,18 +209950,18 @@ "typeString": "bytes32" } ], - "id": 6592, + "id": 6603, "name": "replaySafeHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6617, + "referencedDeclaration": 6628, "src": "3540:14:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", "typeString": "function (bytes32) view returns (bytes32)" } }, - "id": 6594, + "id": 6605, "isConstant": false, "isLValue": false, "isPure": false, @@ -210088,11 +209978,11 @@ } }, { - "id": 6595, + "id": 6606, "name": "signature", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6586, + "referencedDeclaration": 6597, "src": "3573:9:15", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", @@ -210111,18 +210001,18 @@ "typeString": "bytes calldata" } ], - "id": 6591, + "id": 6602, "name": "_isValidSignature", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6714, + "referencedDeclaration": 6725, "src": "3515:17:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes_calldata_ptr_$returns$_t_bool_$", "typeString": "function (bytes32,bytes calldata) view returns (bool)" } }, - "id": 6596, + "id": 6607, "isConstant": false, "isLValue": false, "isPure": false, @@ -210144,18 +210034,18 @@ "typeString": "bool" } }, - "id": 6600, + "id": 6611, "nodeType": "IfStatement", "src": "3511:185:15", "trueBody": { - "id": 6599, + "id": 6610, "nodeType": "Block", "src": "3586:110:15", "statements": [ { "expression": { "hexValue": "30783136323662613765", - "id": 6597, + "id": 6608, "isConstant": false, "isLValue": false, "isPure": true, @@ -210169,8 +210059,8 @@ }, "value": "0x1626ba7e" }, - "functionReturnParameters": 6590, - "id": 6598, + "functionReturnParameters": 6601, + "id": 6609, "nodeType": "Return", "src": "3668:17:15" } @@ -210180,7 +210070,7 @@ { "expression": { "hexValue": "30786666666666666666", - "id": 6601, + "id": 6612, "isConstant": false, "isLValue": false, "isPure": true, @@ -210194,21 +210084,21 @@ }, "value": "0xffffffff" }, - "functionReturnParameters": 6590, - "id": 6602, + "functionReturnParameters": 6601, + "id": 6613, "nodeType": "Return", "src": "3706:17:15" } ] }, "documentation": { - "id": 6582, + "id": 6593, "nodeType": "StructuredDocumentation", "src": "2764:622:15", "text": "@notice Validates the `signature` against the given `hash`.\n @dev This implementation follows ERC-1271. See https://eips.ethereum.org/EIPS/eip-1271.\n @dev IMPORTANT: Signature verification is performed on the hash produced AFTER applying the anti\n cross-account-replay layer on the given `hash` (i.e., verification is run on the replay-safe\n hash version).\n @param hash The original hash.\n @param signature The signature of the replay-safe hash to validate.\n @return result `0x1626ba7e` if validation succeeded, else `0xffffffff`." }, "functionSelector": "1626ba7e", - "id": 6604, + "id": 6615, "implemented": true, "kind": "function", "modifiers": [], @@ -210216,17 +210106,17 @@ "nameLocation": "3400:16:15", "nodeType": "FunctionDefinition", "parameters": { - "id": 6587, + "id": 6598, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6584, + "id": 6595, "mutability": "mutable", "name": "hash", "nameLocation": "3425:4:15", "nodeType": "VariableDeclaration", - "scope": 6604, + "scope": 6615, "src": "3417:12:15", "stateVariable": false, "storageLocation": "default", @@ -210235,7 +210125,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 6583, + "id": 6594, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "3417:7:15", @@ -210248,12 +210138,12 @@ }, { "constant": false, - "id": 6586, + "id": 6597, "mutability": "mutable", "name": "signature", "nameLocation": "3446:9:15", "nodeType": "VariableDeclaration", - "scope": 6604, + "scope": 6615, "src": "3431:24:15", "stateVariable": false, "storageLocation": "calldata", @@ -210262,7 +210152,7 @@ "typeString": "bytes" }, "typeName": { - "id": 6585, + "id": 6596, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "3431:5:15", @@ -210277,17 +210167,17 @@ "src": "3416:40:15" }, "returnParameters": { - "id": 6590, + "id": 6601, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6589, + "id": 6600, "mutability": "mutable", "name": "result", "nameLocation": "3493:6:15", "nodeType": "VariableDeclaration", - "scope": 6604, + "scope": 6615, "src": "3486:13:15", "stateVariable": false, "storageLocation": "default", @@ -210296,7 +210186,7 @@ "typeString": "bytes4" }, "typeName": { - "id": 6588, + "id": 6599, "name": "bytes4", "nodeType": "ElementaryTypeName", "src": "3486:6:15", @@ -210310,7 +210200,7 @@ ], "src": "3485:15:15" }, - "scope": 6715, + "scope": 6726, "src": "3391:339:15", "stateMutability": "view", "virtual": true, @@ -210318,7 +210208,7 @@ }, { "body": { - "id": 6616, + "id": 6627, "nodeType": "Block", "src": "4282:41:15", "statements": [ @@ -210326,11 +210216,11 @@ "expression": { "arguments": [ { - "id": 6613, + "id": 6624, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6607, + "referencedDeclaration": 6618, "src": "4311:4:15", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -210345,18 +210235,18 @@ "typeString": "bytes32" } ], - "id": 6612, + "id": 6623, "name": "_eip712Hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6679, + "referencedDeclaration": 6690, "src": "4299:11:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", "typeString": "function (bytes32) view returns (bytes32)" } }, - "id": 6614, + "id": 6625, "isConstant": false, "isLValue": false, "isPure": false, @@ -210372,21 +210262,21 @@ "typeString": "bytes32" } }, - "functionReturnParameters": 6611, - "id": 6615, + "functionReturnParameters": 6622, + "id": 6626, "nodeType": "Return", "src": "4292:24:15" } ] }, "documentation": { - "id": 6605, + "id": 6616, "nodeType": "StructuredDocumentation", "src": "3736:465:15", "text": "@notice Wrapper around `_eip712Hash()` to produce a replay-safe hash fron the given `hash`.\n @dev The returned EIP-712 compliant replay-safe hash is the result of:\n keccak256(\n \\x19\\x01 ||\n this.domainSeparator ||\n hashStruct(GianoSmartWalletMessage({ hash: `hash`}))\n )\n @param hash The original hash.\n @return The corresponding replay-safe hash." }, "functionSelector": "ce1506be", - "id": 6617, + "id": 6628, "implemented": true, "kind": "function", "modifiers": [], @@ -210394,17 +210284,17 @@ "nameLocation": "4215:14:15", "nodeType": "FunctionDefinition", "parameters": { - "id": 6608, + "id": 6619, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6607, + "id": 6618, "mutability": "mutable", "name": "hash", "nameLocation": "4238:4:15", "nodeType": "VariableDeclaration", - "scope": 6617, + "scope": 6628, "src": "4230:12:15", "stateVariable": false, "storageLocation": "default", @@ -210413,7 +210303,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 6606, + "id": 6617, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "4230:7:15", @@ -210428,17 +210318,17 @@ "src": "4229:14:15" }, "returnParameters": { - "id": 6611, + "id": 6622, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6610, + "id": 6621, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 6617, + "scope": 6628, "src": "4273:7:15", "stateVariable": false, "storageLocation": "default", @@ -210447,7 +210337,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 6609, + "id": 6620, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "4273:7:15", @@ -210461,7 +210351,7 @@ ], "src": "4272:9:15" }, - "scope": 6715, + "scope": 6726, "src": "4206:117:15", "stateMutability": "view", "virtual": true, @@ -210469,24 +210359,24 @@ }, { "body": { - "id": 6657, + "id": 6668, "nodeType": "Block", "src": "4698:418:15", "statements": [ { "assignments": [ - 6624, - 6626 + 6635, + 6637 ], "declarations": [ { "constant": false, - "id": 6624, + "id": 6635, "mutability": "mutable", "name": "name", "nameLocation": "4723:4:15", "nodeType": "VariableDeclaration", - "scope": 6657, + "scope": 6668, "src": "4709:18:15", "stateVariable": false, "storageLocation": "memory", @@ -210495,7 +210385,7 @@ "typeString": "string" }, "typeName": { - "id": 6623, + "id": 6634, "name": "string", "nodeType": "ElementaryTypeName", "src": "4709:6:15", @@ -210508,12 +210398,12 @@ }, { "constant": false, - "id": 6626, + "id": 6637, "mutability": "mutable", "name": "version", "nameLocation": "4743:7:15", "nodeType": "VariableDeclaration", - "scope": 6657, + "scope": 6668, "src": "4729:21:15", "stateVariable": false, "storageLocation": "memory", @@ -210522,7 +210412,7 @@ "typeString": "string" }, "typeName": { - "id": 6625, + "id": 6636, "name": "string", "nodeType": "ElementaryTypeName", "src": "4729:6:15", @@ -210534,23 +210424,23 @@ "visibility": "internal" } ], - "id": 6629, + "id": 6640, "initialValue": { "arguments": [], "expression": { "argumentTypes": [], - "id": 6627, + "id": 6638, "name": "_domainNameAndVersion", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6704, + "referencedDeclaration": 6715, "src": "4754:21:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_string_memory_ptr_$_t_string_memory_ptr_$", "typeString": "function () view returns (string memory,string memory)" } }, - "id": 6628, + "id": 6639, "isConstant": false, "isLValue": false, "isPure": false, @@ -210578,7 +210468,7 @@ "arguments": [ { "hexValue": "454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429", - "id": 6634, + "id": 6645, "isConstant": false, "isLValue": false, "isPure": true, @@ -210600,7 +210490,7 @@ "typeString": "literal_string \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\"" } ], - "id": 6633, + "id": 6644, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -210611,7 +210501,7 @@ "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 6635, + "id": 6646, "isConstant": false, "isLValue": false, "isPure": true, @@ -210632,11 +210522,11 @@ { "arguments": [ { - "id": 6639, + "id": 6650, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6624, + "referencedDeclaration": 6635, "src": "4974:4:15", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -210651,7 +210541,7 @@ "typeString": "string memory" } ], - "id": 6638, + "id": 6649, "isConstant": false, "isLValue": false, "isPure": true, @@ -210663,14 +210553,14 @@ "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 6637, + "id": 6648, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "4968:5:15", "typeDescriptions": {} } }, - "id": 6640, + "id": 6651, "isConstant": false, "isLValue": false, "isPure": false, @@ -210694,7 +210584,7 @@ "typeString": "bytes memory" } ], - "id": 6636, + "id": 6647, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -210705,7 +210595,7 @@ "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 6641, + "id": 6652, "isConstant": false, "isLValue": false, "isPure": false, @@ -210726,11 +210616,11 @@ { "arguments": [ { - "id": 6645, + "id": 6656, "name": "version", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6626, + "referencedDeclaration": 6637, "src": "5014:7:15", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -210745,7 +210635,7 @@ "typeString": "string memory" } ], - "id": 6644, + "id": 6655, "isConstant": false, "isLValue": false, "isPure": true, @@ -210757,14 +210647,14 @@ "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 6643, + "id": 6654, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "5008:5:15", "typeDescriptions": {} } }, - "id": 6646, + "id": 6657, "isConstant": false, "isLValue": false, "isPure": false, @@ -210788,7 +210678,7 @@ "typeString": "bytes memory" } ], - "id": 6642, + "id": 6653, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -210799,7 +210689,7 @@ "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 6647, + "id": 6658, "isConstant": false, "isLValue": false, "isPure": false, @@ -210817,7 +210707,7 @@ }, { "expression": { - "id": 6648, + "id": 6659, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -210828,7 +210718,7 @@ "typeString": "block" } }, - "id": 6649, + "id": 6660, "isConstant": false, "isLValue": false, "isPure": false, @@ -210845,14 +210735,14 @@ { "arguments": [ { - "id": 6652, + "id": 6663, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, "src": "5080:4:15", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1271_$6715", + "typeIdentifier": "t_contract$_ERC1271_$6726", "typeString": "contract ERC1271" } } @@ -210860,11 +210750,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_ERC1271_$6715", + "typeIdentifier": "t_contract$_ERC1271_$6726", "typeString": "contract ERC1271" } ], - "id": 6651, + "id": 6662, "isConstant": false, "isLValue": false, "isPure": true, @@ -210876,14 +210766,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 6650, + "id": 6661, "name": "address", "nodeType": "ElementaryTypeName", "src": "5072:7:15", "typeDescriptions": {} } }, - "id": 6653, + "id": 6664, "isConstant": false, "isLValue": false, "isPure": false, @@ -210924,7 +210814,7 @@ } ], "expression": { - "id": 6631, + "id": 6642, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -210935,7 +210825,7 @@ "typeString": "abi" } }, - "id": 6632, + "id": 6643, "isConstant": false, "isLValue": false, "isPure": true, @@ -210949,7 +210839,7 @@ "typeString": "function () pure returns (bytes memory)" } }, - "id": 6654, + "id": 6665, "isConstant": false, "isLValue": false, "isPure": false, @@ -210973,7 +210863,7 @@ "typeString": "bytes memory" } ], - "id": 6630, + "id": 6641, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -210984,7 +210874,7 @@ "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 6655, + "id": 6666, "isConstant": false, "isLValue": false, "isPure": false, @@ -211000,21 +210890,21 @@ "typeString": "bytes32" } }, - "functionReturnParameters": 6622, - "id": 6656, + "functionReturnParameters": 6633, + "id": 6667, "nodeType": "Return", "src": "4787:322:15" } ] }, "documentation": { - "id": 6618, + "id": 6629, "nodeType": "StructuredDocumentation", "src": "4329:307:15", "text": "@notice Returns the `domainSeparator` used to create EIP-712 compliant hashes.\n @dev Implements domainSeparator = hashStruct(eip712Domain).\n See https://eips.ethereum.org/EIPS/eip-712#definition-of-domainseparator.\n @return The 32 bytes domain separator result." }, "functionSelector": "f698da25", - "id": 6658, + "id": 6669, "implemented": true, "kind": "function", "modifiers": [], @@ -211022,23 +210912,23 @@ "nameLocation": "4650:15:15", "nodeType": "FunctionDefinition", "parameters": { - "id": 6619, + "id": 6630, "nodeType": "ParameterList", "parameters": [], "src": "4665:2:15" }, "returnParameters": { - "id": 6622, + "id": 6633, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6621, + "id": 6632, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 6658, + "scope": 6669, "src": "4689:7:15", "stateVariable": false, "storageLocation": "default", @@ -211047,7 +210937,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 6620, + "id": 6631, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "4689:7:15", @@ -211061,7 +210951,7 @@ ], "src": "4688:9:15" }, - "scope": 6715, + "scope": 6726, "src": "4641:475:15", "stateMutability": "view", "virtual": false, @@ -211069,7 +210959,7 @@ }, { "body": { - "id": 6678, + "id": 6689, "nodeType": "Block", "src": "5665:101:15", "statements": [ @@ -211080,7 +210970,7 @@ "arguments": [ { "hexValue": "1901", - "id": 6669, + "id": 6680, "isConstant": false, "isLValue": false, "isPure": true, @@ -211098,18 +210988,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 6670, + "id": 6681, "name": "domainSeparator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6658, + "referencedDeclaration": 6669, "src": "5721:15:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_bytes32_$", "typeString": "function () view returns (bytes32)" } }, - "id": 6671, + "id": 6682, "isConstant": false, "isLValue": false, "isPure": false, @@ -211128,11 +211018,11 @@ { "arguments": [ { - "id": 6673, + "id": 6684, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6661, + "referencedDeclaration": 6672, "src": "5752:4:15", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -211147,18 +211037,18 @@ "typeString": "bytes32" } ], - "id": 6672, + "id": 6683, "name": "_hashStruct", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6696, + "referencedDeclaration": 6707, "src": "5740:11:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", "typeString": "function (bytes32) view returns (bytes32)" } }, - "id": 6674, + "id": 6685, "isConstant": false, "isLValue": false, "isPure": false, @@ -211191,7 +211081,7 @@ } ], "expression": { - "id": 6667, + "id": 6678, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -211202,7 +211092,7 @@ "typeString": "abi" } }, - "id": 6668, + "id": 6679, "isConstant": false, "isLValue": false, "isPure": true, @@ -211216,7 +211106,7 @@ "typeString": "function () pure returns (bytes memory)" } }, - "id": 6675, + "id": 6686, "isConstant": false, "isLValue": false, "isPure": false, @@ -211240,7 +211130,7 @@ "typeString": "bytes memory" } ], - "id": 6666, + "id": 6677, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -211251,7 +211141,7 @@ "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 6676, + "id": 6687, "isConstant": false, "isLValue": false, "isPure": false, @@ -211267,20 +211157,20 @@ "typeString": "bytes32" } }, - "functionReturnParameters": 6665, - "id": 6677, + "functionReturnParameters": 6676, + "id": 6688, "nodeType": "Return", "src": "5675:84:15" } ] }, "documentation": { - "id": 6659, + "id": 6670, "nodeType": "StructuredDocumentation", "src": "5546:39:15", "text": "@return The resulting EIP-712 hash." }, - "id": 6679, + "id": 6690, "implemented": true, "kind": "function", "modifiers": [], @@ -211288,17 +211178,17 @@ "nameLocation": "5599:11:15", "nodeType": "FunctionDefinition", "parameters": { - "id": 6662, + "id": 6673, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6661, + "id": 6672, "mutability": "mutable", "name": "hash", "nameLocation": "5619:4:15", "nodeType": "VariableDeclaration", - "scope": 6679, + "scope": 6690, "src": "5611:12:15", "stateVariable": false, "storageLocation": "default", @@ -211307,7 +211197,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 6660, + "id": 6671, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "5611:7:15", @@ -211322,17 +211212,17 @@ "src": "5610:14:15" }, "returnParameters": { - "id": 6665, + "id": 6676, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6664, + "id": 6675, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 6679, + "scope": 6690, "src": "5656:7:15", "stateVariable": false, "storageLocation": "default", @@ -211341,7 +211231,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 6663, + "id": 6674, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "5656:7:15", @@ -211355,7 +211245,7 @@ ], "src": "5655:9:15" }, - "scope": 6715, + "scope": 6726, "src": "5590:176:15", "stateMutability": "view", "virtual": true, @@ -211363,7 +211253,7 @@ }, { "body": { - "id": 6695, + "id": 6706, "nodeType": "Block", "src": "6284:70:15", "statements": [ @@ -211373,11 +211263,11 @@ { "arguments": [ { - "id": 6690, + "id": 6701, "name": "_MESSAGE_TYPEHASH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6530, + "referencedDeclaration": 6541, "src": "6322:17:15", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -211385,11 +211275,11 @@ } }, { - "id": 6691, + "id": 6702, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6682, + "referencedDeclaration": 6693, "src": "6341:4:15", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -211409,7 +211299,7 @@ } ], "expression": { - "id": 6688, + "id": 6699, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -211420,7 +211310,7 @@ "typeString": "abi" } }, - "id": 6689, + "id": 6700, "isConstant": false, "isLValue": false, "isPure": true, @@ -211434,7 +211324,7 @@ "typeString": "function () pure returns (bytes memory)" } }, - "id": 6692, + "id": 6703, "isConstant": false, "isLValue": false, "isPure": false, @@ -211458,7 +211348,7 @@ "typeString": "bytes memory" } ], - "id": 6687, + "id": 6698, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -211469,7 +211359,7 @@ "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 6693, + "id": 6704, "isConstant": false, "isLValue": false, "isPure": false, @@ -211485,20 +211375,20 @@ "typeString": "bytes32" } }, - "functionReturnParameters": 6686, - "id": 6694, + "functionReturnParameters": 6697, + "id": 6705, "nodeType": "Return", "src": "6294:53:15" } ] }, "documentation": { - "id": 6680, + "id": 6691, "nodeType": "StructuredDocumentation", "src": "5772:432:15", "text": "@notice Returns the EIP-712 `hashStruct` result of the `GianoSmartWalletMessage(bytes32 hash)` data\n structure.\n @dev Implements hashStruct(s : 𝕊) = keccak256(typeHash || encodeData(s)).\n @dev See https://eips.ethereum.org/EIPS/eip-712#definition-of-hashstruct.\n @param hash The `GianoSmartWalletMessage.hash` field.\n @return The EIP-712 `hashStruct` result." }, - "id": 6696, + "id": 6707, "implemented": true, "kind": "function", "modifiers": [], @@ -211506,17 +211396,17 @@ "nameLocation": "6218:11:15", "nodeType": "FunctionDefinition", "parameters": { - "id": 6683, + "id": 6694, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6682, + "id": 6693, "mutability": "mutable", "name": "hash", "nameLocation": "6238:4:15", "nodeType": "VariableDeclaration", - "scope": 6696, + "scope": 6707, "src": "6230:12:15", "stateVariable": false, "storageLocation": "default", @@ -211525,7 +211415,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 6681, + "id": 6692, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "6230:7:15", @@ -211540,17 +211430,17 @@ "src": "6229:14:15" }, "returnParameters": { - "id": 6686, + "id": 6697, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6685, + "id": 6696, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 6696, + "scope": 6707, "src": "6275:7:15", "stateVariable": false, "storageLocation": "default", @@ -211559,7 +211449,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 6684, + "id": 6695, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "6275:7:15", @@ -211573,7 +211463,7 @@ ], "src": "6274:9:15" }, - "scope": 6715, + "scope": 6726, "src": "6209:145:15", "stateMutability": "view", "virtual": true, @@ -211581,12 +211471,12 @@ }, { "documentation": { - "id": 6697, + "id": 6708, "nodeType": "StructuredDocumentation", "src": "6360:295:15", "text": "@notice Returns the domain name and version to use when creating EIP-712 signatures.\n @dev MUST be defined by the implementation.\n @return name The user readable name of signing domain.\n @return version The current major version of the signing domain." }, - "id": 6704, + "id": 6715, "implemented": false, "kind": "function", "modifiers": [], @@ -211594,23 +211484,23 @@ "nameLocation": "6669:21:15", "nodeType": "FunctionDefinition", "parameters": { - "id": 6698, + "id": 6709, "nodeType": "ParameterList", "parameters": [], "src": "6690:2:15" }, "returnParameters": { - "id": 6703, + "id": 6714, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6700, + "id": 6711, "mutability": "mutable", "name": "name", "nameLocation": "6738:4:15", "nodeType": "VariableDeclaration", - "scope": 6704, + "scope": 6715, "src": "6724:18:15", "stateVariable": false, "storageLocation": "memory", @@ -211619,7 +211509,7 @@ "typeString": "string" }, "typeName": { - "id": 6699, + "id": 6710, "name": "string", "nodeType": "ElementaryTypeName", "src": "6724:6:15", @@ -211632,12 +211522,12 @@ }, { "constant": false, - "id": 6702, + "id": 6713, "mutability": "mutable", "name": "version", "nameLocation": "6758:7:15", "nodeType": "VariableDeclaration", - "scope": 6704, + "scope": 6715, "src": "6744:21:15", "stateVariable": false, "storageLocation": "memory", @@ -211646,7 +211536,7 @@ "typeString": "string" }, "typeName": { - "id": 6701, + "id": 6712, "name": "string", "nodeType": "ElementaryTypeName", "src": "6744:6:15", @@ -211660,7 +211550,7 @@ ], "src": "6723:43:15" }, - "scope": 6715, + "scope": 6726, "src": "6660:107:15", "stateMutability": "view", "virtual": true, @@ -211668,12 +211558,12 @@ }, { "documentation": { - "id": 6705, + "id": 6716, "nodeType": "StructuredDocumentation", "src": "6773:339:15", "text": "@notice Validates the `signature` against the given `hash`.\n @dev MUST be defined by the implementation.\n @param hash The hash whose signature has been performed on.\n @param signature The signature associated with `hash`.\n @return `true` is the signature is valid, else `false`." }, - "id": 6714, + "id": 6725, "implemented": false, "kind": "function", "modifiers": [], @@ -211681,17 +211571,17 @@ "nameLocation": "7126:17:15", "nodeType": "FunctionDefinition", "parameters": { - "id": 6710, + "id": 6721, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6707, + "id": 6718, "mutability": "mutable", "name": "hash", "nameLocation": "7152:4:15", "nodeType": "VariableDeclaration", - "scope": 6714, + "scope": 6725, "src": "7144:12:15", "stateVariable": false, "storageLocation": "default", @@ -211700,7 +211590,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 6706, + "id": 6717, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "7144:7:15", @@ -211713,12 +211603,12 @@ }, { "constant": false, - "id": 6709, + "id": 6720, "mutability": "mutable", "name": "signature", "nameLocation": "7173:9:15", "nodeType": "VariableDeclaration", - "scope": 6714, + "scope": 6725, "src": "7158:24:15", "stateVariable": false, "storageLocation": "calldata", @@ -211727,7 +211617,7 @@ "typeString": "bytes" }, "typeName": { - "id": 6708, + "id": 6719, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "7158:5:15", @@ -211742,17 +211632,17 @@ "src": "7143:40:15" }, "returnParameters": { - "id": 6713, + "id": 6724, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6712, + "id": 6723, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 6714, + "scope": 6725, "src": "7215:4:15", "stateVariable": false, "storageLocation": "default", @@ -211761,7 +211651,7 @@ "typeString": "bool" }, "typeName": { - "id": 6711, + "id": 6722, "name": "bool", "nodeType": "ElementaryTypeName", "src": "7215:4:15", @@ -211775,14 +211665,14 @@ ], "src": "7214:6:15" }, - "scope": 6715, + "scope": 6726, "src": "7117:104:15", "stateMutability": "view", "virtual": true, "visibility": "internal" } ], - "scope": 6716, + "scope": 6727, "src": "908:6315:15", "usedErrors": [], "usedEvents": [] @@ -211797,45 +211687,45 @@ "absolutePath": "src/GianoSmartWallet.sol", "exportedSymbols": { "AuthenticatedStaticCaller": [ - 6521 + 6532 ], "ERC1271": [ - 6715 + 6726 ], "GianoSmartWallet": [ - 7317 + 7398 ], "IAccount": [ - 541 + 552 ], "MultiOwnable": [ - 7992 + 8101 ], "PackedUserOperation": [ - 563 + 574 ], "Receiver": [ - 2448 + 2459 ], "SignatureCheckerLib": [ - 6354 + 6365 ], "UUPSUpgradeable": [ - 6411 + 6422 ], "UserOperationLib": [ - 524 + 535 ], "WebAuthn": [ - 8369 + 8478 ] }, - "id": 7318, + "id": 7399, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 6717, + "id": 6728, "literals": [ "solidity", "0.8", @@ -211847,20 +211737,20 @@ { "absolutePath": "@account-abstraction/contracts/interfaces/IAccount.sol", "file": "@account-abstraction/contracts/interfaces/IAccount.sol", - "id": 6719, + "id": 6730, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 7318, - "sourceUnit": 542, + "scope": 7399, + "sourceUnit": 553, "src": "57:80:16", "symbolAliases": [ { "foreign": { - "id": 6718, + "id": 6729, "name": "IAccount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 541, + "referencedDeclaration": 552, "src": "65:8:16", "typeDescriptions": {} }, @@ -211872,20 +211762,20 @@ { "absolutePath": "@account-abstraction/contracts/interfaces/PackedUserOperation.sol", "file": "@account-abstraction/contracts/interfaces/PackedUserOperation.sol", - "id": 6721, + "id": 6732, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 7318, - "sourceUnit": 564, + "scope": 7399, + "sourceUnit": 575, "src": "139:102:16", "symbolAliases": [ { "foreign": { - "id": 6720, + "id": 6731, "name": "PackedUserOperation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 563, + "referencedDeclaration": 574, "src": "147:19:16", "typeDescriptions": {} }, @@ -211897,20 +211787,20 @@ { "absolutePath": "@account-abstraction/contracts/core/UserOperationLib.sol", "file": "@account-abstraction/contracts/core/UserOperationLib.sol", - "id": 6723, + "id": 6734, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 7318, - "sourceUnit": 525, + "scope": 7399, + "sourceUnit": 536, "src": "242:90:16", "symbolAliases": [ { "foreign": { - "id": 6722, + "id": 6733, "name": "UserOperationLib", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 524, + "referencedDeclaration": 535, "src": "250:16:16", "typeDescriptions": {} }, @@ -211922,20 +211812,20 @@ { "absolutePath": "solady/accounts/Receiver.sol", "file": "solady/accounts/Receiver.sol", - "id": 6725, + "id": 6736, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 7318, - "sourceUnit": 2449, + "scope": 7399, + "sourceUnit": 2460, "src": "333:54:16", "symbolAliases": [ { "foreign": { - "id": 6724, + "id": 6735, "name": "Receiver", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2448, + "referencedDeclaration": 2459, "src": "341:8:16", "typeDescriptions": {} }, @@ -211947,20 +211837,20 @@ { "absolutePath": "solady/utils/SignatureCheckerLib.sol", "file": "solady/utils/SignatureCheckerLib.sol", - "id": 6727, + "id": 6738, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 7318, - "sourceUnit": 6355, + "scope": 7399, + "sourceUnit": 6366, "src": "388:73:16", "symbolAliases": [ { "foreign": { - "id": 6726, + "id": 6737, "name": "SignatureCheckerLib", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6354, + "referencedDeclaration": 6365, "src": "396:19:16", "typeDescriptions": {} }, @@ -211972,20 +211862,20 @@ { "absolutePath": "solady/utils/UUPSUpgradeable.sol", "file": "solady/utils/UUPSUpgradeable.sol", - "id": 6729, + "id": 6740, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 7318, - "sourceUnit": 6412, + "scope": 7399, + "sourceUnit": 6423, "src": "462:65:16", "symbolAliases": [ { "foreign": { - "id": 6728, + "id": 6739, "name": "UUPSUpgradeable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6411, + "referencedDeclaration": 6422, "src": "470:15:16", "typeDescriptions": {} }, @@ -211997,20 +211887,20 @@ { "absolutePath": "webauthn-sol/WebAuthn.sol", "file": "webauthn-sol/WebAuthn.sol", - "id": 6731, + "id": 6742, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 7318, - "sourceUnit": 8370, + "scope": 7399, + "sourceUnit": 8479, "src": "528:51:16", "symbolAliases": [ { "foreign": { - "id": 6730, + "id": 6741, "name": "WebAuthn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8369, + "referencedDeclaration": 8478, "src": "536:8:16", "typeDescriptions": {} }, @@ -212022,20 +211912,20 @@ { "absolutePath": "src/AuthenticatedStaticCaller.sol", "file": "./AuthenticatedStaticCaller.sol", - "id": 6733, + "id": 6744, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 7318, - "sourceUnit": 6522, + "scope": 7399, + "sourceUnit": 6533, "src": "580:74:16", "symbolAliases": [ { "foreign": { - "id": 6732, + "id": 6743, "name": "AuthenticatedStaticCaller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6521, + "referencedDeclaration": 6532, "src": "588:25:16", "typeDescriptions": {} }, @@ -212047,20 +211937,20 @@ { "absolutePath": "src/ERC1271.sol", "file": "./ERC1271.sol", - "id": 6735, + "id": 6746, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 7318, - "sourceUnit": 6716, + "scope": 7399, + "sourceUnit": 6727, "src": "656:38:16", "symbolAliases": [ { "foreign": { - "id": 6734, + "id": 6745, "name": "ERC1271", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6715, + "referencedDeclaration": 6726, "src": "664:7:16", "typeDescriptions": {} }, @@ -212072,20 +211962,20 @@ { "absolutePath": "src/MultiOwnable.sol", "file": "./MultiOwnable.sol", - "id": 6737, + "id": 6748, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 7318, - "sourceUnit": 7993, + "scope": 7399, + "sourceUnit": 8102, "src": "695:48:16", "symbolAliases": [ { "foreign": { - "id": 6736, + "id": 6747, "name": "MultiOwnable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7992, + "referencedDeclaration": 8101, "src": "703:12:16", "typeDescriptions": {} }, @@ -212099,91 +211989,91 @@ "baseContracts": [ { "baseName": { - "id": 6739, + "id": 6750, "name": "ERC1271", "nameLocations": [ "1224:7:16" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 6715, + "referencedDeclaration": 6726, "src": "1224:7:16" }, - "id": 6740, + "id": 6751, "nodeType": "InheritanceSpecifier", "src": "1224:7:16" }, { "baseName": { - "id": 6741, + "id": 6752, "name": "IAccount", "nameLocations": [ "1233:8:16" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 541, + "referencedDeclaration": 552, "src": "1233:8:16" }, - "id": 6742, + "id": 6753, "nodeType": "InheritanceSpecifier", "src": "1233:8:16" }, { "baseName": { - "id": 6743, + "id": 6754, "name": "MultiOwnable", "nameLocations": [ "1243:12:16" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 7992, + "referencedDeclaration": 8101, "src": "1243:12:16" }, - "id": 6744, + "id": 6755, "nodeType": "InheritanceSpecifier", "src": "1243:12:16" }, { "baseName": { - "id": 6745, + "id": 6756, "name": "UUPSUpgradeable", "nameLocations": [ "1257:15:16" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 6411, + "referencedDeclaration": 6422, "src": "1257:15:16" }, - "id": 6746, + "id": 6757, "nodeType": "InheritanceSpecifier", "src": "1257:15:16" }, { "baseName": { - "id": 6747, + "id": 6758, "name": "Receiver", "nameLocations": [ "1274:8:16" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 2448, + "referencedDeclaration": 2459, "src": "1274:8:16" }, - "id": 6748, + "id": 6759, "nodeType": "InheritanceSpecifier", "src": "1274:8:16" }, { "baseName": { - "id": 6749, + "id": 6760, "name": "AuthenticatedStaticCaller", "nameLocations": [ "1284:25:16" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 6521, + "referencedDeclaration": 6532, "src": "1284:25:16" }, - "id": 6750, + "id": 6761, "nodeType": "InheritanceSpecifier", "src": "1284:25:16" } @@ -212192,25 +212082,25 @@ "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 6738, + "id": 6749, "nodeType": "StructuredDocumentation", "src": "745:450:16", "text": "@title Giano Smart Wallet\n @notice ERC-4337-compatible smart account, based on Solady's ERC4337 account implementation\n with inspiration from Alchemy's LightAccount and Daimo's DaimoAccount.\n @author Applied Blockchain (https://github.com/appliedblockchain/giano)\n @author Coinbase (https://github.com/coinbase/smart-wallet)\n @author Solady (https://github.com/vectorized/solady/blob/main/src/accounts/ERC4337.sol)" }, "fullyImplemented": true, - "id": 7317, + "id": 7398, "internalFunctionIDs": { - "6410": 1 + "6421": 1 }, "linearizedBaseContracts": [ - 7317, - 6521, - 2448, - 6411, - 2572, - 7992, - 541, - 6715 + 7398, + 6532, + 2459, + 6422, + 2583, + 8101, + 552, + 6726 ], "name": "GianoSmartWallet", "nameLocation": "1204:16:16", @@ -212219,49 +212109,49 @@ { "canonicalName": "GianoSmartWallet.SignatureWrapper", "documentation": { - "id": 6751, + "id": 6762, "nodeType": "StructuredDocumentation", "src": "1316:126:16", "text": "@notice A wrapper struct used for signature validation so that callers\n can identify the owner that signed." }, - "id": 6758, + "id": 6769, "members": [ { "constant": false, - "id": 6754, + "id": 6765, "mutability": "mutable", - "name": "ownerIndex", - "nameLocation": "1574:10:16", + "name": "ownerBytes", + "nameLocation": "1599:10:16", "nodeType": "VariableDeclaration", - "scope": 6758, - "src": "1566:18:16", + "scope": 6769, + "src": "1593:16:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" }, "typeName": { - "id": 6753, - "name": "uint256", + "id": 6764, + "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1566:7:16", + "src": "1593:5:16", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" } }, "visibility": "internal" }, { "constant": false, - "id": 6757, + "id": 6768, "mutability": "mutable", "name": "signatureData", - "nameLocation": "1823:13:16", + "nameLocation": "1818:13:16", "nodeType": "VariableDeclaration", - "scope": 6758, - "src": "1817:19:16", + "scope": 6769, + "src": "1812:19:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -212269,10 +212159,10 @@ "typeString": "bytes" }, "typeName": { - "id": 6756, + "id": 6767, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1817:5:16", + "src": "1812:5:16", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -212284,29 +212174,29 @@ "name": "SignatureWrapper", "nameLocation": "1454:16:16", "nodeType": "StructDefinition", - "scope": 7317, - "src": "1447:396:16", + "scope": 7398, + "src": "1447:391:16", "visibility": "public" }, { "canonicalName": "GianoSmartWallet.Call", "documentation": { - "id": 6759, + "id": 6770, "nodeType": "StructuredDocumentation", - "src": "1849:38:16", + "src": "1844:38:16", "text": "@notice Represents a call to make." }, - "id": 6769, + "id": 6780, "members": [ { "constant": false, - "id": 6762, + "id": 6773, "mutability": "mutable", "name": "target", - "nameLocation": "1960:6:16", + "nameLocation": "1955:6:16", "nodeType": "VariableDeclaration", - "scope": 6769, - "src": "1952:14:16", + "scope": 6780, + "src": "1947:14:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -212314,10 +212204,10 @@ "typeString": "address" }, "typeName": { - "id": 6761, + "id": 6772, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1952:7:16", + "src": "1947:7:16", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -212328,13 +212218,13 @@ }, { "constant": false, - "id": 6765, + "id": 6776, "mutability": "mutable", "name": "value", - "nameLocation": "2041:5:16", + "nameLocation": "2036:5:16", "nodeType": "VariableDeclaration", - "scope": 6769, - "src": "2033:13:16", + "scope": 6780, + "src": "2028:13:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -212342,10 +212232,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6764, + "id": 6775, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2033:7:16", + "src": "2028:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -212355,13 +212245,13 @@ }, { "constant": false, - "id": 6768, + "id": 6779, "mutability": "mutable", "name": "data", - "nameLocation": "2101:4:16", + "nameLocation": "2096:4:16", "nodeType": "VariableDeclaration", - "scope": 6769, - "src": "2095:10:16", + "scope": 6780, + "src": "2090:10:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -212369,10 +212259,10 @@ "typeString": "bytes" }, "typeName": { - "id": 6767, + "id": 6778, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "2095:5:16", + "src": "2090:5:16", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -212382,28 +212272,28 @@ } ], "name": "Call", - "nameLocation": "1899:4:16", + "nameLocation": "1894:4:16", "nodeType": "StructDefinition", - "scope": 7317, - "src": "1892:220:16", + "scope": 7398, + "src": "1887:220:16", "visibility": "public" }, { "constant": true, "documentation": { - "id": 6770, + "id": 6781, "nodeType": "StructuredDocumentation", - "src": "2118:495:16", + "src": "2113:495:16", "text": "@notice Reserved nonce key (upper 192 bits of `UserOperation.nonce`) for cross-chain replayable\n transactions.\n @dev MUST BE the `UserOperation.nonce` key when `UserOperation.calldata` is calling\n `executeWithoutChainIdValidation`and MUST NOT BE `UserOperation.nonce` key when `UserOperation.calldata` is\n NOT calling `executeWithoutChainIdValidation`.\n @dev Helps enforce sequential sequencing of replayable transactions." }, "functionSelector": "88ce4c7c", - "id": 6773, + "id": 6784, "mutability": "constant", "name": "REPLAYABLE_NONCE_KEY", - "nameLocation": "2642:20:16", + "nameLocation": "2637:20:16", "nodeType": "VariableDeclaration", - "scope": 7317, - "src": "2618:51:16", + "scope": 7398, + "src": "2613:51:16", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -212411,10 +212301,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6771, + "id": 6782, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2618:7:16", + "src": "2613:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -212422,14 +212312,14 @@ }, "value": { "hexValue": "38343533", - "id": 6772, + "id": 6783, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2665:4:16", + "src": "2660:4:16", "typeDescriptions": { "typeIdentifier": "t_rational_8453_by_1", "typeString": "int_const 8453" @@ -212440,49 +212330,49 @@ }, { "documentation": { - "id": 6774, + "id": 6785, "nodeType": "StructuredDocumentation", - "src": "2676:98:16", + "src": "2671:98:16", "text": "@notice Thrown when `initialize` is called but the account already has had at least one owner." }, "errorSelector": "5daa87a0", - "id": 6776, + "id": 6787, "name": "Initialized", - "nameLocation": "2785:11:16", + "nameLocation": "2780:11:16", "nodeType": "ErrorDefinition", "parameters": { - "id": 6775, + "id": 6786, "nodeType": "ParameterList", "parameters": [], - "src": "2796:2:16" + "src": "2791:2:16" }, - "src": "2779:20:16" + "src": "2774:20:16" }, { "documentation": { - "id": 6777, + "id": 6788, "nodeType": "StructuredDocumentation", - "src": "2805:201:16", + "src": "2800:201:16", "text": "@notice Thrown when a call is passed to `executeWithoutChainIdValidation` that is not allowed by\n `canSkipChainIdValidation`\n @param selector The selector of the call." }, "errorSelector": "3b06e146", - "id": 6781, + "id": 6792, "name": "SelectorNotAllowed", - "nameLocation": "3017:18:16", + "nameLocation": "3012:18:16", "nodeType": "ErrorDefinition", "parameters": { - "id": 6780, + "id": 6791, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6779, + "id": 6790, "mutability": "mutable", "name": "selector", - "nameLocation": "3043:8:16", + "nameLocation": "3038:8:16", "nodeType": "VariableDeclaration", - "scope": 6781, - "src": "3036:15:16", + "scope": 6792, + "src": "3031:15:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -212490,10 +212380,10 @@ "typeString": "bytes4" }, "typeName": { - "id": 6778, + "id": 6789, "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "3036:6:16", + "src": "3031:6:16", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -212502,35 +212392,35 @@ "visibility": "internal" } ], - "src": "3035:17:16" + "src": "3030:17:16" }, - "src": "3011:42:16" + "src": "3006:42:16" }, { "documentation": { - "id": 6782, + "id": 6793, "nodeType": "StructuredDocumentation", - "src": "3059:374:16", + "src": "3054:374:16", "text": "@notice Thrown in validateUserOp if the key of `UserOperation.nonce` does not match the calldata.\n @dev Calls to `this.executeWithoutChainIdValidation` MUST use `REPLAYABLE_NONCE_KEY` and\n calls NOT to `this.executeWithoutChainIdValidation` MUST NOT use `REPLAYABLE_NONCE_KEY`.\n @param key The invalid `UserOperation.nonce` key." }, "errorSelector": "2ef37813", - "id": 6786, + "id": 6797, "name": "InvalidNonceKey", - "nameLocation": "3444:15:16", + "nameLocation": "3439:15:16", "nodeType": "ErrorDefinition", "parameters": { - "id": 6785, + "id": 6796, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6784, + "id": 6795, "mutability": "mutable", "name": "key", - "nameLocation": "3468:3:16", + "nameLocation": "3463:3:16", "nodeType": "VariableDeclaration", - "scope": 6786, - "src": "3460:11:16", + "scope": 6797, + "src": "3455:11:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -212538,10 +212428,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6783, + "id": 6794, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3460:7:16", + "src": "3455:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -212550,15 +212440,64 @@ "visibility": "internal" } ], - "src": "3459:13:16" + "src": "3454:13:16" }, - "src": "3438:35:16" + "src": "3433:35:16" + }, + { + "documentation": { + "id": 6798, + "nodeType": "StructuredDocumentation", + "src": "3474:179:16", + "text": "@notice Thrown when an upgrade is attempted to an implementation that does not exist.\n @param implementation The address of the implementation that has no code." + }, + "errorSelector": "0c760937", + "id": 6802, + "name": "InvalidImplementation", + "nameLocation": "3664:21:16", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 6801, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6800, + "mutability": "mutable", + "name": "implementation", + "nameLocation": "3694:14:16", + "nodeType": "VariableDeclaration", + "scope": 6802, + "src": "3686:22:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6799, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3686:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3685:24:16" + }, + "src": "3658:52:16" }, { "body": { - "id": 6800, + "id": 6816, "nodeType": "Block", - "src": "3574:106:16", + "src": "3811:106:16", "statements": [ { "condition": { @@ -212566,33 +212505,33 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 6793, + "id": 6809, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 6789, + "id": 6805, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "3588:3:16", + "src": "3825:3:16", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 6790, + "id": 6806, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "3592:6:16", + "memberLocation": "3829:6:16", "memberName": "sender", "nodeType": "MemberAccess", - "src": "3588:10:16", + "src": "3825:10:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -212604,18 +212543,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 6791, + "id": 6807, "name": "entryPoint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7069, - "src": "3602:10:16", + "referencedDeclaration": 7148, + "src": "3839:10:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 6792, + "id": 6808, "isConstant": false, "isLValue": false, "isPure": false, @@ -212624,44 +212563,44 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3602:12:16", + "src": "3839:12:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "3588:26:16", + "src": "3825:26:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 6798, + "id": 6814, "nodeType": "IfStatement", - "src": "3584:78:16", + "src": "3821:78:16", "trueBody": { - "id": 6797, + "id": 6813, "nodeType": "Block", - "src": "3616:46:16", + "src": "3853:46:16", "statements": [ { "errorCall": { "arguments": [], "expression": { "argumentTypes": [], - "id": 6794, + "id": 6810, "name": "Unauthorized", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7484, - "src": "3637:12:16", + "referencedDeclaration": 7593, + "src": "3874:12:16", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$__$returns$_t_error_$", "typeString": "function () pure returns (error)" } }, - "id": 6795, + "id": 6811, "isConstant": false, "isLValue": false, "isPure": false, @@ -212670,52 +212609,52 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3637:14:16", + "src": "3874:14:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_error", "typeString": "error" } }, - "id": 6796, + "id": 6812, "nodeType": "RevertStatement", - "src": "3630:21:16" + "src": "3867:21:16" } ] } }, { - "id": 6799, + "id": 6815, "nodeType": "PlaceholderStatement", - "src": "3672:1:16" + "src": "3909:1:16" } ] }, "documentation": { - "id": 6787, + "id": 6803, "nodeType": "StructuredDocumentation", - "src": "3479:56:16", + "src": "3716:56:16", "text": "@notice Reverts if the caller is not the EntryPoint." }, - "id": 6801, + "id": 6817, "name": "onlyEntryPoint", - "nameLocation": "3549:14:16", + "nameLocation": "3786:14:16", "nodeType": "ModifierDefinition", "parameters": { - "id": 6788, + "id": 6804, "nodeType": "ParameterList", "parameters": [], - "src": "3563:2:16" + "src": "3800:2:16" }, - "src": "3540:140:16", + "src": "3777:140:16", "virtual": true, "visibility": "internal" }, { "body": { - "id": 6815, + "id": 6831, "nodeType": "Block", - "src": "3827:98:16", + "src": "4064:98:16", "statements": [ { "condition": { @@ -212723,33 +212662,33 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 6808, + "id": 6824, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 6804, + "id": 6820, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "3841:3:16", + "src": "4078:3:16", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 6805, + "id": 6821, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "3845:6:16", + "memberLocation": "4082:6:16", "memberName": "sender", "nodeType": "MemberAccess", - "src": "3841:10:16", + "src": "4078:10:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -212761,18 +212700,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 6806, + "id": 6822, "name": "entryPoint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7069, - "src": "3855:10:16", + "referencedDeclaration": 7148, + "src": "4092:10:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 6807, + "id": 6823, "isConstant": false, "isLValue": false, "isPure": false, @@ -212781,44 +212720,44 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3855:12:16", + "src": "4092:12:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "3841:26:16", + "src": "4078:26:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 6813, + "id": 6829, "nodeType": "IfStatement", - "src": "3837:70:16", + "src": "4074:70:16", "trueBody": { - "id": 6812, + "id": 6828, "nodeType": "Block", - "src": "3869:38:16", + "src": "4106:38:16", "statements": [ { "expression": { "arguments": [], "expression": { "argumentTypes": [], - "id": 6809, + "id": 6825, "name": "_checkOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7982, - "src": "3883:11:16", + "referencedDeclaration": 8091, + "src": "4120:11:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$__$", "typeString": "function () view" } }, - "id": 6810, + "id": 6826, "isConstant": false, "isLValue": false, "isPure": false, @@ -212827,69 +212766,69 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3883:13:16", + "src": "4120:13:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6811, + "id": 6827, "nodeType": "ExpressionStatement", - "src": "3883:13:16" + "src": "4120:13:16" } ] } }, { - "id": 6814, + "id": 6830, "nodeType": "PlaceholderStatement", - "src": "3917:1:16" + "src": "4154:1:16" } ] }, "documentation": { - "id": 6802, + "id": 6818, "nodeType": "StructuredDocumentation", - "src": "3686:95:16", + "src": "3923:95:16", "text": "@notice Reverts if the caller is neither the EntryPoint, the owner, nor the account itself." }, - "id": 6816, + "id": 6832, "name": "onlyEntryPointOrOwner", - "nameLocation": "3795:21:16", + "nameLocation": "4032:21:16", "nodeType": "ModifierDefinition", "parameters": { - "id": 6803, + "id": 6819, "nodeType": "ParameterList", "parameters": [], - "src": "3816:2:16" + "src": "4053:2:16" }, - "src": "3786:139:16", + "src": "4023:139:16", "virtual": true, "visibility": "internal" }, { "body": { - "id": 6823, + "id": 6839, "nodeType": "Block", - "src": "4586:303:16", + "src": "4823:303:16", "statements": [ { - "id": 6821, + "id": 6837, "nodeType": "PlaceholderStatement", - "src": "4596:1:16" + "src": "4833:1:16" }, { "AST": { - "nativeSrc": "4633:250:16", + "nativeSrc": "4870:250:16", "nodeType": "YulBlock", - "src": "4633:250:16", + "src": "4870:250:16", "statements": [ { "body": { - "nativeSrc": "4670:203:16", + "nativeSrc": "4907:203:16", "nodeType": "YulBlock", - "src": "4670:203:16", + "src": "4907:203:16", "statements": [ { "expression": { @@ -212900,49 +212839,49 @@ "arguments": [], "functionName": { "name": "gas", - "nativeSrc": "4785:3:16", + "nativeSrc": "5022:3:16", "nodeType": "YulIdentifier", - "src": "4785:3:16" + "src": "5022:3:16" }, - "nativeSrc": "4785:5:16", + "nativeSrc": "5022:5:16", "nodeType": "YulFunctionCall", - "src": "4785:5:16" + "src": "5022:5:16" }, { "arguments": [], "functionName": { "name": "caller", - "nativeSrc": "4792:6:16", + "nativeSrc": "5029:6:16", "nodeType": "YulIdentifier", - "src": "4792:6:16" + "src": "5029:6:16" }, - "nativeSrc": "4792:8:16", + "nativeSrc": "5029:8:16", "nodeType": "YulFunctionCall", - "src": "4792:8:16" + "src": "5029:8:16" }, { "name": "missingAccountFunds", - "nativeSrc": "4802:19:16", + "nativeSrc": "5039:19:16", "nodeType": "YulIdentifier", - "src": "4802:19:16" + "src": "5039:19:16" }, { "arguments": [], "functionName": { "name": "codesize", - "nativeSrc": "4823:8:16", + "nativeSrc": "5060:8:16", "nodeType": "YulIdentifier", - "src": "4823:8:16" + "src": "5060:8:16" }, - "nativeSrc": "4823:10:16", + "nativeSrc": "5060:10:16", "nodeType": "YulFunctionCall", - "src": "4823:10:16" + "src": "5060:10:16" }, { "kind": "number", - "nativeSrc": "4835:4:16", + "nativeSrc": "5072:4:16", "nodeType": "YulLiteral", - "src": "4835:4:16", + "src": "5072:4:16", "type": "", "value": "0x00" }, @@ -212950,111 +212889,111 @@ "arguments": [], "functionName": { "name": "codesize", - "nativeSrc": "4841:8:16", + "nativeSrc": "5078:8:16", "nodeType": "YulIdentifier", - "src": "4841:8:16" + "src": "5078:8:16" }, - "nativeSrc": "4841:10:16", + "nativeSrc": "5078:10:16", "nodeType": "YulFunctionCall", - "src": "4841:10:16" + "src": "5078:10:16" }, { "kind": "number", - "nativeSrc": "4853:4:16", + "nativeSrc": "5090:4:16", "nodeType": "YulLiteral", - "src": "4853:4:16", + "src": "5090:4:16", "type": "", "value": "0x00" } ], "functionName": { "name": "call", - "nativeSrc": "4780:4:16", + "nativeSrc": "5017:4:16", "nodeType": "YulIdentifier", - "src": "4780:4:16" + "src": "5017:4:16" }, - "nativeSrc": "4780:78:16", + "nativeSrc": "5017:78:16", "nodeType": "YulFunctionCall", - "src": "4780:78:16" + "src": "5017:78:16" } ], "functionName": { "name": "pop", - "nativeSrc": "4776:3:16", + "nativeSrc": "5013:3:16", "nodeType": "YulIdentifier", - "src": "4776:3:16" + "src": "5013:3:16" }, - "nativeSrc": "4776:83:16", + "nativeSrc": "5013:83:16", "nodeType": "YulFunctionCall", - "src": "4776:83:16" + "src": "5013:83:16" }, - "nativeSrc": "4776:83:16", + "nativeSrc": "5013:83:16", "nodeType": "YulExpressionStatement", - "src": "4776:83:16" + "src": "5013:83:16" } ] }, "condition": { "name": "missingAccountFunds", - "nativeSrc": "4650:19:16", + "nativeSrc": "4887:19:16", "nodeType": "YulIdentifier", - "src": "4650:19:16" + "src": "4887:19:16" }, - "nativeSrc": "4647:226:16", + "nativeSrc": "4884:226:16", "nodeType": "YulIf", - "src": "4647:226:16" + "src": "4884:226:16" } ] }, "evmVersion": "paris", "externalReferences": [ { - "declaration": 6819, + "declaration": 6835, "isOffset": false, "isSlot": false, - "src": "4650:19:16", + "src": "4887:19:16", "valueSize": 1 }, { - "declaration": 6819, + "declaration": 6835, "isOffset": false, "isSlot": false, - "src": "4802:19:16", + "src": "5039:19:16", "valueSize": 1 } ], "flags": [ "memory-safe" ], - "id": 6822, + "id": 6838, "nodeType": "InlineAssembly", - "src": "4608:275:16" + "src": "4845:275:16" } ] }, "documentation": { - "id": 6817, + "id": 6833, "nodeType": "StructuredDocumentation", - "src": "3931:593:16", + "src": "4168:593:16", "text": "@notice Sends to the EntryPoint (i.e. `msg.sender`) the missing funds for this transaction.\n @dev Subclass MAY override this modifier for better funds management (e.g. send to the\n EntryPoint more than the minimum required, so that in future transactions it will not\n be required to send again).\n @param missingAccountFunds The minimum value this modifier should send the EntryPoint which\n MAY be zero, in case there is enough deposit, or the userOp has a\n paymaster." }, - "id": 6824, + "id": 6840, "name": "payPrefund", - "nameLocation": "4538:10:16", + "nameLocation": "4775:10:16", "nodeType": "ModifierDefinition", "parameters": { - "id": 6820, + "id": 6836, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6819, + "id": 6835, "mutability": "mutable", "name": "missingAccountFunds", - "nameLocation": "4557:19:16", + "nameLocation": "4794:19:16", "nodeType": "VariableDeclaration", - "scope": 6824, - "src": "4549:27:16", + "scope": 6840, + "src": "4786:27:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -213062,10 +213001,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6818, + "id": 6834, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4549:7:16", + "src": "4786:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -213074,32 +213013,32 @@ "visibility": "internal" } ], - "src": "4548:29:16" + "src": "4785:29:16" }, - "src": "4529:360:16", + "src": "4766:360:16", "virtual": true, "visibility": "internal" }, { "body": { - "id": 6854, + "id": 6870, "nodeType": "Block", - "src": "4909:243:16", + "src": "5146:243:16", "statements": [ { "assignments": [ - 6831 + 6847 ], "declarations": [ { "constant": false, - "id": 6831, + "id": 6847, "mutability": "mutable", "name": "owners", - "nameLocation": "5043:6:16", + "nameLocation": "5280:6:16", "nodeType": "VariableDeclaration", - "scope": 6854, - "src": "5028:21:16", + "scope": 6870, + "src": "5265:21:16", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -213108,18 +213047,18 @@ }, "typeName": { "baseType": { - "id": 6829, + "id": 6845, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "5028:5:16", + "src": "5265:5:16", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, - "id": 6830, + "id": 6846, "nodeType": "ArrayTypeName", - "src": "5028:7:16", + "src": "5265:7:16", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", "typeString": "bytes[]" @@ -213128,19 +213067,19 @@ "visibility": "internal" } ], - "id": 6837, + "id": 6853, "initialValue": { "arguments": [ { "hexValue": "31", - "id": 6835, + "id": 6851, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5064:1:16", + "src": "5301:1:16", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -213155,38 +213094,38 @@ "typeString": "int_const 1" } ], - "id": 6834, + "id": 6850, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", - "src": "5052:11:16", + "src": "5289:11:16", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$", "typeString": "function (uint256) pure returns (bytes memory[] memory)" }, "typeName": { "baseType": { - "id": 6832, + "id": 6848, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "5056:5:16", + "src": "5293:5:16", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, - "id": 6833, + "id": 6849, "nodeType": "ArrayTypeName", - "src": "5056:7:16", + "src": "5293:7:16", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", "typeString": "bytes[]" } } }, - "id": 6836, + "id": 6852, "isConstant": false, "isLValue": false, "isPure": true, @@ -213195,7 +213134,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5052:14:16", + "src": "5289:14:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", @@ -213203,39 +213142,39 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "5028:38:16" + "src": "5265:38:16" }, { "expression": { - "id": 6848, + "id": 6864, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 6838, + "id": 6854, "name": "owners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6831, - "src": "5076:6:16", + "referencedDeclaration": 6847, + "src": "5313:6:16", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", "typeString": "bytes memory[] memory" } }, - "id": 6840, + "id": 6856, "indexExpression": { "hexValue": "30", - "id": 6839, + "id": 6855, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5083:1:16", + "src": "5320:1:16", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -213247,7 +213186,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "5076:9:16", + "src": "5313:9:16", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -213261,14 +213200,14 @@ "arguments": [ { "hexValue": "30", - "id": 6845, + "id": 6861, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5107:1:16", + "src": "5344:1:16", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -213283,26 +213222,26 @@ "typeString": "int_const 0" } ], - "id": 6844, + "id": 6860, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "5099:7:16", + "src": "5336:7:16", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 6843, + "id": 6859, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5099:7:16", + "src": "5336:7:16", "typeDescriptions": {} } }, - "id": 6846, + "id": 6862, "isConstant": false, "isLValue": false, "isPure": true, @@ -213311,7 +213250,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5099:10:16", + "src": "5336:10:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -213327,32 +213266,32 @@ } ], "expression": { - "id": 6841, + "id": 6857, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "5088:3:16", + "src": "5325:3:16", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 6842, + "id": 6858, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "5092:6:16", + "memberLocation": "5329:6:16", "memberName": "encode", "nodeType": "MemberAccess", - "src": "5088:10:16", + "src": "5325:10:16", "typeDescriptions": { "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 6847, + "id": 6863, "isConstant": false, "isLValue": false, "isPure": true, @@ -213361,33 +213300,33 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5088:22:16", + "src": "5325:22:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "src": "5076:34:16", + "src": "5313:34:16", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 6849, + "id": 6865, "nodeType": "ExpressionStatement", - "src": "5076:34:16" + "src": "5313:34:16" }, { "expression": { "arguments": [ { - "id": 6851, + "id": 6867, "name": "owners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6831, - "src": "5138:6:16", + "referencedDeclaration": 6847, + "src": "5375:6:16", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", "typeString": "bytes memory[] memory" @@ -213401,18 +213340,18 @@ "typeString": "bytes memory[] memory" } ], - "id": 6850, + "id": 6866, "name": "_initializeOwners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7847, - "src": "5120:17:16", + "referencedDeclaration": 7956, + "src": "5357:17:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$returns$__$", "typeString": "function (bytes memory[] memory)" } }, - "id": 6852, + "id": 6868, "isConstant": false, "isLValue": false, "isPure": false, @@ -213421,20 +213360,20 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5120:25:16", + "src": "5357:25:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6853, + "id": 6869, "nodeType": "ExpressionStatement", - "src": "5120:25:16" + "src": "5357:25:16" } ] }, - "id": 6855, + "id": 6871, "implemented": true, "kind": "constructor", "modifiers": [], @@ -213442,28 +213381,28 @@ "nameLocation": "-1:-1:-1", "nodeType": "FunctionDefinition", "parameters": { - "id": 6825, + "id": 6841, "nodeType": "ParameterList", "parameters": [], - "src": "4906:2:16" + "src": "5143:2:16" }, "returnParameters": { - "id": 6826, + "id": 6842, "nodeType": "ParameterList", "parameters": [], - "src": "4909:0:16" + "src": "5146:0:16" }, - "scope": 7317, - "src": "4895:257:16", + "scope": 7398, + "src": "5132:257:16", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { - "id": 6875, + "id": 6891, "nodeType": "Block", - "src": "5619:124:16", + "src": "5856:124:16", "statements": [ { "condition": { @@ -213471,7 +213410,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6865, + "id": 6881, "isConstant": false, "isLValue": false, "isPure": false, @@ -213480,18 +213419,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 6862, + "id": 6878, "name": "nextOwnerIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7721, - "src": "5633:14:16", + "referencedDeclaration": 7830, + "src": "5870:14:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", "typeString": "function () view returns (uint256)" } }, - "id": 6863, + "id": 6879, "isConstant": false, "isLValue": false, "isPure": false, @@ -213500,7 +213439,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5633:16:16", + "src": "5870:16:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -213511,51 +213450,51 @@ "operator": "!=", "rightExpression": { "hexValue": "30", - "id": 6864, + "id": 6880, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5653:1:16", + "src": "5890:1:16", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "5633:21:16", + "src": "5870:21:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 6870, + "id": 6886, "nodeType": "IfStatement", - "src": "5629:72:16", + "src": "5866:72:16", "trueBody": { - "id": 6869, + "id": 6885, "nodeType": "Block", - "src": "5656:45:16", + "src": "5893:45:16", "statements": [ { "errorCall": { "arguments": [], "expression": { "argumentTypes": [], - "id": 6866, + "id": 6882, "name": "Initialized", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6776, - "src": "5677:11:16", + "referencedDeclaration": 6787, + "src": "5914:11:16", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$__$returns$_t_error_$", "typeString": "function () pure returns (error)" } }, - "id": 6867, + "id": 6883, "isConstant": false, "isLValue": false, "isPure": false, @@ -213564,16 +213503,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5677:13:16", + "src": "5914:13:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_error", "typeString": "error" } }, - "id": 6868, + "id": 6884, "nodeType": "RevertStatement", - "src": "5670:20:16" + "src": "5907:20:16" } ] } @@ -213582,12 +213521,12 @@ "expression": { "arguments": [ { - "id": 6872, + "id": 6888, "name": "owners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6859, - "src": "5729:6:16", + "referencedDeclaration": 6875, + "src": "5966:6:16", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", "typeString": "bytes calldata[] calldata" @@ -213601,18 +213540,18 @@ "typeString": "bytes calldata[] calldata" } ], - "id": 6871, + "id": 6887, "name": "_initializeOwners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7847, - "src": "5711:17:16", + "referencedDeclaration": 7956, + "src": "5948:17:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$returns$__$", "typeString": "function (bytes memory[] memory)" } }, - "id": 6873, + "id": 6889, "isConstant": false, "isLValue": false, "isPure": false, @@ -213621,46 +213560,46 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5711:25:16", + "src": "5948:25:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6874, + "id": 6890, "nodeType": "ExpressionStatement", - "src": "5711:25:16" + "src": "5948:25:16" } ] }, "documentation": { - "id": 6856, + "id": 6872, "nodeType": "StructuredDocumentation", - "src": "5158:386:16", + "src": "5395:386:16", "text": "@notice Initializes the account with the `owners`.\n @dev Reverts if the account has had at least one owner, i.e. has been initialized.\n @param owners Array of initial owners for this account. Each item should be\n an ABI encoded Ethereum address, i.e. 32 bytes with 12 leading 0 bytes,\n or a 64 byte public key." }, "functionSelector": "6f2de70e", - "id": 6876, + "id": 6892, "implemented": true, "kind": "function", "modifiers": [], "name": "initialize", - "nameLocation": "5558:10:16", + "nameLocation": "5795:10:16", "nodeType": "FunctionDefinition", "parameters": { - "id": 6860, + "id": 6876, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6859, + "id": 6875, "mutability": "mutable", "name": "owners", - "nameLocation": "5586:6:16", + "nameLocation": "5823:6:16", "nodeType": "VariableDeclaration", - "scope": 6876, - "src": "5569:23:16", + "scope": 6892, + "src": "5806:23:16", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -213669,18 +213608,18 @@ }, "typeName": { "baseType": { - "id": 6857, + "id": 6873, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "5569:5:16", + "src": "5806:5:16", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, - "id": 6858, + "id": 6874, "nodeType": "ArrayTypeName", - "src": "5569:7:16", + "src": "5806:7:16", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", "typeString": "bytes[]" @@ -213689,43 +213628,43 @@ "visibility": "internal" } ], - "src": "5568:25:16" + "src": "5805:25:16" }, "returnParameters": { - "id": 6861, + "id": 6877, "nodeType": "ParameterList", "parameters": [], - "src": "5619:0:16" + "src": "5856:0:16" }, - "scope": 7317, - "src": "5549:194:16", + "scope": 7398, + "src": "5786:194:16", "stateMutability": "payable", "virtual": true, "visibility": "external" }, { "baseFunctions": [ - 540 + 551 ], "body": { - "id": 6948, + "id": 7027, "nodeType": "Block", - "src": "7285:643:16", + "src": "7522:1461:16", "statements": [ { "assignments": [ - 6895 + 6911 ], "declarations": [ { "constant": false, - "id": 6895, + "id": 6911, "mutability": "mutable", "name": "key", - "nameLocation": "7303:3:16", + "nameLocation": "7540:3:16", "nodeType": "VariableDeclaration", - "scope": 6948, - "src": "7295:11:16", + "scope": 7027, + "src": "7532:11:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -213733,10 +213672,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6894, + "id": 6910, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7295:7:16", + "src": "7532:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -213745,40 +213684,40 @@ "visibility": "internal" } ], - "id": 6900, + "id": 6916, "initialValue": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6899, + "id": 6915, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 6896, + "id": 6912, "name": "userOp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6880, - "src": "7309:6:16", + "referencedDeclaration": 6896, + "src": "7546:6:16", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$574_calldata_ptr", "typeString": "struct PackedUserOperation calldata" } }, - "id": 6897, + "id": 6913, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "7316:5:16", + "memberLocation": "7553:5:16", "memberName": "nonce", "nodeType": "MemberAccess", - "referencedDeclaration": 548, - "src": "7309:12:16", + "referencedDeclaration": 559, + "src": "7546:12:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -213788,28 +213727,28 @@ "operator": ">>", "rightExpression": { "hexValue": "3634", - "id": 6898, + "id": 6914, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7325:2:16", + "src": "7562:2:16", "typeDescriptions": { "typeIdentifier": "t_rational_64_by_1", "typeString": "int_const 64" }, "value": "64" }, - "src": "7309:18:16", + "src": "7546:18:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "7295:32:16" + "src": "7532:32:16" }, { "condition": { @@ -213817,7 +213756,7 @@ "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, - "id": 6909, + "id": 6925, "isConstant": false, "isLValue": false, "isPure": false, @@ -213826,27 +213765,27 @@ "arguments": [ { "expression": { - "id": 6903, + "id": 6919, "name": "userOp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6880, - "src": "7349:6:16", + "referencedDeclaration": 6896, + "src": "7586:6:16", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$574_calldata_ptr", "typeString": "struct PackedUserOperation calldata" } }, - "id": 6904, + "id": 6920, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "7356:8:16", + "memberLocation": "7593:8:16", "memberName": "callData", "nodeType": "MemberAccess", - "referencedDeclaration": 552, - "src": "7349:15:16", + "referencedDeclaration": 563, + "src": "7586:15:16", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -213860,26 +213799,26 @@ "typeString": "bytes calldata" } ], - "id": 6902, + "id": 6918, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7342:6:16", + "src": "7579:6:16", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes4_$", "typeString": "type(bytes4)" }, "typeName": { - "id": 6901, + "id": 6917, "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "7342:6:16", + "src": "7579:6:16", "typeDescriptions": {} } }, - "id": 6905, + "id": 6921, "isConstant": false, "isLValue": false, "isPure": false, @@ -213888,7 +213827,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7342:23:16", + "src": "7579:23:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes4", @@ -213900,56 +213839,56 @@ "rightExpression": { "expression": { "expression": { - "id": 6906, + "id": 6922, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, - "src": "7369:4:16", + "src": "7606:4:16", "typeDescriptions": { - "typeIdentifier": "t_contract$_GianoSmartWallet_$7317", + "typeIdentifier": "t_contract$_GianoSmartWallet_$7398", "typeString": "contract GianoSmartWallet" } }, - "id": 6907, + "id": 6923, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "7374:31:16", + "memberLocation": "7611:31:16", "memberName": "executeWithoutChainIdValidation", "nodeType": "MemberAccess", - "referencedDeclaration": 7003, - "src": "7369:36:16", + "referencedDeclaration": 7082, + "src": "7606:36:16", "typeDescriptions": { "typeIdentifier": "t_function_external_payable$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$returns$__$", "typeString": "function (bytes memory[] memory) payable external" } }, - "id": 6908, + "id": 6924, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "7406:8:16", + "memberLocation": "7643:8:16", "memberName": "selector", "nodeType": "MemberAccess", - "src": "7369:45:16", + "src": "7606:45:16", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, - "src": "7342:72:16", + "src": "7579:72:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 6935, + "id": 7014, "nodeType": "Block", - "src": "7601:117:16", + "src": "8656:117:16", "statements": [ { "condition": { @@ -213957,18 +213896,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6928, + "id": 7007, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 6926, + "id": 7005, "name": "key", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6895, - "src": "7619:3:16", + "referencedDeclaration": 6911, + "src": "8674:3:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -213977,41 +213916,41 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 6927, + "id": 7006, "name": "REPLAYABLE_NONCE_KEY", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6773, - "src": "7626:20:16", + "referencedDeclaration": 6784, + "src": "8681:20:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7619:27:16", + "src": "8674:27:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 6934, + "id": 7013, "nodeType": "IfStatement", - "src": "7615:93:16", + "src": "8670:93:16", "trueBody": { - "id": 6933, + "id": 7012, "nodeType": "Block", - "src": "7648:60:16", + "src": "8703:60:16", "statements": [ { "errorCall": { "arguments": [ { - "id": 6930, + "id": 7009, "name": "key", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6895, - "src": "7689:3:16", + "referencedDeclaration": 6911, + "src": "8744:3:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -214025,18 +213964,18 @@ "typeString": "uint256" } ], - "id": 6929, + "id": 7008, "name": "InvalidNonceKey", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6786, - "src": "7673:15:16", + "referencedDeclaration": 6797, + "src": "8728:15:16", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_uint256_$returns$_t_error_$", "typeString": "function (uint256) pure returns (error)" } }, - "id": 6931, + "id": 7010, "isConstant": false, "isLValue": false, "isPure": false, @@ -214045,44 +213984,44 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7673:20:16", + "src": "8728:20:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_error", "typeString": "error" } }, - "id": 6932, + "id": 7011, "nodeType": "RevertStatement", - "src": "7666:27:16" + "src": "8721:27:16" } ] } } ] }, - "id": 6936, + "id": 7015, "nodeType": "IfStatement", - "src": "7338:380:16", + "src": "7575:1198:16", "trueBody": { - "id": 6925, + "id": 7004, "nodeType": "Block", - "src": "7416:179:16", + "src": "7653:997:16", "statements": [ { "expression": { - "id": 6914, + "id": 6930, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 6910, + "id": 6926, "name": "userOpHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6882, - "src": "7430:10:16", + "referencedDeclaration": 6898, + "src": "7667:10:16", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -214093,14 +214032,14 @@ "rightHandSide": { "arguments": [ { - "id": 6912, + "id": 6928, "name": "userOp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6880, - "src": "7471:6:16", + "referencedDeclaration": 6896, + "src": "7708:6:16", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$574_calldata_ptr", "typeString": "struct PackedUserOperation calldata" } } @@ -214108,22 +214047,22 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$574_calldata_ptr", "typeString": "struct PackedUserOperation calldata" } ], - "id": 6911, + "id": 6927, "name": "getUserOpHashWithoutChainId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7095, - "src": "7443:27:16", + "referencedDeclaration": 7170, + "src": "7680:27:16", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_PackedUserOperation_$563_calldata_ptr_$returns$_t_bytes32_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_PackedUserOperation_$574_calldata_ptr_$returns$_t_bytes32_$", "typeString": "function (struct PackedUserOperation calldata) view returns (bytes32)" } }, - "id": 6913, + "id": 6929, "isConstant": false, "isLValue": false, "isPure": false, @@ -214132,22 +214071,22 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7443:35:16", + "src": "7680:35:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "7430:48:16", + "src": "7667:48:16", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 6915, + "id": 6931, "nodeType": "ExpressionStatement", - "src": "7430:48:16" + "src": "7667:48:16" }, { "condition": { @@ -214155,18 +214094,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6918, + "id": 6934, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 6916, + "id": 6932, "name": "key", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6895, - "src": "7496:3:16", + "referencedDeclaration": 6911, + "src": "7733:3:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -214175,41 +214114,41 @@ "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { - "id": 6917, + "id": 6933, "name": "REPLAYABLE_NONCE_KEY", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6773, - "src": "7503:20:16", + "referencedDeclaration": 6784, + "src": "7740:20:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7496:27:16", + "src": "7733:27:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 6924, + "id": 6940, "nodeType": "IfStatement", - "src": "7492:93:16", + "src": "7729:93:16", "trueBody": { - "id": 6923, + "id": 6939, "nodeType": "Block", - "src": "7525:60:16", + "src": "7762:60:16", "statements": [ { "errorCall": { "arguments": [ { - "id": 6920, + "id": 6936, "name": "key", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6895, - "src": "7566:3:16", + "referencedDeclaration": 6911, + "src": "7803:3:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -214223,18 +214162,18 @@ "typeString": "uint256" } ], - "id": 6919, + "id": 6935, "name": "InvalidNonceKey", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6786, - "src": "7550:15:16", + "referencedDeclaration": 6797, + "src": "7787:15:16", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_uint256_$returns$_t_error_$", "typeString": "function (uint256) pure returns (error)" } }, - "id": 6921, + "id": 6937, "isConstant": false, "isLValue": false, "isPure": false, @@ -214243,19 +214182,874 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7550:20:16", + "src": "7787:20:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_error", "typeString": "error" } }, - "id": 6922, + "id": 6938, "nodeType": "RevertStatement", - "src": "7543:27:16" + "src": "7780:27:16" } ] } + }, + { + "assignments": [ + 6945 + ], + "declarations": [ + { + "constant": false, + "id": 6945, + "mutability": "mutable", + "name": "calls", + "nameLocation": "7940:5:16", + "nodeType": "VariableDeclaration", + "scope": 7004, + "src": "7925:20:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes[]" + }, + "typeName": { + "baseType": { + "id": 6943, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7925:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "id": 6944, + "nodeType": "ArrayTypeName", + "src": "7925:7:16", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", + "typeString": "bytes[]" + } + }, + "visibility": "internal" + } + ], + "id": 6957, + "initialValue": { + "arguments": [ + { + "baseExpression": { + "expression": { + "id": 6948, + "name": "userOp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6896, + "src": "7959:6:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PackedUserOperation_$574_calldata_ptr", + "typeString": "struct PackedUserOperation calldata" + } + }, + "id": 6949, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7966:8:16", + "memberName": "callData", + "nodeType": "MemberAccess", + "referencedDeclaration": 563, + "src": "7959:15:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 6951, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexRangeAccess", + "src": "7959:19:16", + "startExpression": { + "hexValue": "34", + "id": 6950, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7975:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr_slice", + "typeString": "bytes calldata slice" + } + }, + { + "components": [ + { + "baseExpression": { + "id": 6953, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7981:5:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 6952, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7981:5:16", + "typeDescriptions": {} + } + }, + "id": 6954, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7981:7:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$", + "typeString": "type(bytes memory[] memory)" + } + } + ], + "id": 6955, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "7980:9:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$", + "typeString": "type(bytes memory[] memory)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr_slice", + "typeString": "bytes calldata slice" + }, + { + "typeIdentifier": "t_type$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$", + "typeString": "type(bytes memory[] memory)" + } + ], + "expression": { + "id": 6946, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "7948:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6947, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "7952:6:16", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "7948:10:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 6956, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7948:42:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7925:65:16" + }, + { + "body": { + "id": 7002, + "nodeType": "Block", + "src": "8043:597:16", + "statements": [ + { + "assignments": [ + 6969 + ], + "declarations": [ + { + "constant": false, + "id": 6969, + "mutability": "mutable", + "name": "callData", + "nameLocation": "8074:8:16", + "nodeType": "VariableDeclaration", + "scope": 7002, + "src": "8061:21:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6968, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8061:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 6973, + "initialValue": { + "baseExpression": { + "id": 6970, + "name": "calls", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6945, + "src": "8085:5:16", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + } + }, + "id": 6972, + "indexExpression": { + "id": 6971, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6959, + "src": "8091:1:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8085:8:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8061:32:16" + }, + { + "assignments": [ + 6975 + ], + "declarations": [ + { + "constant": false, + "id": 6975, + "mutability": "mutable", + "name": "selector", + "nameLocation": "8118:8:16", + "nodeType": "VariableDeclaration", + "scope": 7002, + "src": "8111:15:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 6974, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "8111:6:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "id": 6980, + "initialValue": { + "arguments": [ + { + "id": 6978, + "name": "callData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6969, + "src": "8136:8:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6977, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8129:6:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes4_$", + "typeString": "type(bytes4)" + }, + "typeName": { + "id": 6976, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "8129:6:16", + "typeDescriptions": {} + } + }, + "id": 6979, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8129:16:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8111:34:16" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 6985, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6981, + "name": "selector", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6975, + "src": "8168:8:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "expression": { + "id": 6982, + "name": "UUPSUpgradeable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6422, + "src": "8180:15:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_UUPSUpgradeable_$6422_$", + "typeString": "type(contract UUPSUpgradeable)" + } + }, + "id": 6983, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8196:16:16", + "memberName": "upgradeToAndCall", + "nodeType": "MemberAccess", + "referencedDeclaration": 6421, + "src": "8180:32:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_calldata_ptr_$returns$__$", + "typeString": "function (address,bytes calldata)" + } + }, + "id": 6984, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "8213:8:16", + "memberName": "selector", + "nodeType": "MemberAccess", + "src": "8180:41:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "8168:53:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7001, + "nodeType": "IfStatement", + "src": "8164:462:16", + "trueBody": { + "id": 7000, + "nodeType": "Block", + "src": "8223:403:16", + "statements": [ + { + "assignments": [ + 6987 + ], + "declarations": [ + { + "constant": false, + "id": 6987, + "mutability": "mutable", + "name": "newImplementation", + "nameLocation": "8253:17:16", + "nodeType": "VariableDeclaration", + "scope": 7000, + "src": "8245:25:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6986, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8245:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 6988, + "nodeType": "VariableDeclarationStatement", + "src": "8245:25:16" + }, + { + "AST": { + "nativeSrc": "8301:198:16", + "nodeType": "YulBlock", + "src": "8301:198:16", + "statements": [ + { + "nativeSrc": "8432:45:16", + "nodeType": "YulAssignment", + "src": "8432:45:16", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "callData", + "nativeSrc": "8463:8:16", + "nodeType": "YulIdentifier", + "src": "8463:8:16" + }, + { + "kind": "number", + "nativeSrc": "8473:2:16", + "nodeType": "YulLiteral", + "src": "8473:2:16", + "type": "", + "value": "36" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8459:3:16", + "nodeType": "YulIdentifier", + "src": "8459:3:16" + }, + "nativeSrc": "8459:17:16", + "nodeType": "YulFunctionCall", + "src": "8459:17:16" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "8453:5:16", + "nodeType": "YulIdentifier", + "src": "8453:5:16" + }, + "nativeSrc": "8453:24:16", + "nodeType": "YulFunctionCall", + "src": "8453:24:16" + }, + "variableNames": [ + { + "name": "newImplementation", + "nativeSrc": "8432:17:16", + "nodeType": "YulIdentifier", + "src": "8432:17:16" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 6969, + "isOffset": false, + "isSlot": false, + "src": "8463:8:16", + "valueSize": 1 + }, + { + "declaration": 6987, + "isOffset": false, + "isSlot": false, + "src": "8432:17:16", + "valueSize": 1 + } + ], + "id": 6989, + "nodeType": "InlineAssembly", + "src": "8292:207:16" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6994, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 6990, + "name": "newImplementation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6987, + "src": "8524:17:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6991, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8542:4:16", + "memberName": "code", + "nodeType": "MemberAccess", + "src": "8524:22:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 6992, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8547:6:16", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "8524:29:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 6993, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8557:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "8524:34:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6999, + "nodeType": "IfStatement", + "src": "8520:87:16", + "trueBody": { + "errorCall": { + "arguments": [ + { + "id": 6996, + "name": "newImplementation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6987, + "src": "8589:17:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6995, + "name": "InvalidImplementation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6802, + "src": "8567:21:16", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$_t_error_$", + "typeString": "function (address) pure returns (error)" + } + }, + "id": 6997, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8567:40:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_error", + "typeString": "error" + } + }, + "id": 6998, + "nodeType": "RevertStatement", + "src": "8560:47:16" + } + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6964, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6961, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6959, + "src": "8020:1:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 6962, + "name": "calls", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6945, + "src": "8024:5:16", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes memory[] memory" + } + }, + "id": 6963, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8030:6:16", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "8024:12:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8020:16:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7003, + "initializationExpression": { + "assignments": [ + 6959 + ], + "declarations": [ + { + "constant": false, + "id": 6959, + "mutability": "mutable", + "name": "i", + "nameLocation": "8017:1:16", + "nodeType": "VariableDeclaration", + "scope": 7003, + "src": "8009:9:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6958, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8009:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 6960, + "nodeType": "VariableDeclarationStatement", + "src": "8009:9:16" + }, + "isSimpleCounterLoop": true, + "loopExpression": { + "expression": { + "id": 6966, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "8038:3:16", + "subExpression": { + "id": 6965, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6959, + "src": "8038:1:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6967, + "nodeType": "ExpressionStatement", + "src": "8038:3:16" + }, + "nodeType": "ForStatement", + "src": "8004:636:16" } ] } @@ -214264,12 +215058,12 @@ "condition": { "arguments": [ { - "id": 6938, + "id": 7017, "name": "userOpHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6882, - "src": "7814:10:16", + "referencedDeclaration": 6898, + "src": "8869:10:16", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -214277,27 +215071,27 @@ }, { "expression": { - "id": 6939, + "id": 7018, "name": "userOp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6880, - "src": "7826:6:16", + "referencedDeclaration": 6896, + "src": "8881:6:16", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$574_calldata_ptr", "typeString": "struct PackedUserOperation calldata" } }, - "id": 6940, + "id": 7019, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "7833:9:16", + "memberLocation": "8888:9:16", "memberName": "signature", "nodeType": "MemberAccess", - "referencedDeclaration": 562, - "src": "7826:16:16", + "referencedDeclaration": 573, + "src": "8881:16:16", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -214315,20 +215109,20 @@ "typeString": "bytes calldata" } ], - "id": 6937, + "id": 7016, "name": "_isValidSignature", "nodeType": "Identifier", "overloadedDeclarations": [ - 7290 + 7371 ], - "referencedDeclaration": 7290, - "src": "7796:17:16", + "referencedDeclaration": 7371, + "src": "8851:17:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes_calldata_ptr_$returns$_t_bool_$", "typeString": "function (bytes32,bytes calldata) view returns (bool)" } }, - "id": 6941, + "id": 7020, "isConstant": false, "isLValue": false, "isPure": false, @@ -214337,42 +215131,42 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7796:47:16", + "src": "8851:47:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 6945, + "id": 7024, "nodeType": "IfStatement", - "src": "7792:86:16", + "src": "8847:86:16", "trueBody": { - "id": 6944, + "id": 7023, "nodeType": "Block", - "src": "7845:33:16", + "src": "8900:33:16", "statements": [ { "expression": { "hexValue": "30", - "id": 6942, + "id": 7021, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7866:1:16", + "src": "8921:1:16", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "functionReturnParameters": 6893, - "id": 6943, + "functionReturnParameters": 6909, + "id": 7022, "nodeType": "Return", - "src": "7859:8:16" + "src": "8914:8:16" } ] } @@ -214380,124 +215174,124 @@ { "expression": { "hexValue": "31", - "id": 6946, + "id": 7025, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7920:1:16", + "src": "8975:1:16", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "functionReturnParameters": 6893, - "id": 6947, + "functionReturnParameters": 6909, + "id": 7026, "nodeType": "Return", - "src": "7913:8:16" + "src": "8968:8:16" } ] }, "documentation": { - "id": 6877, + "id": 6893, "nodeType": "StructuredDocumentation", - "src": "5749:1294:16", + "src": "5986:1294:16", "text": "@inheritdoc IAccount\n @notice ERC-4337 `validateUserOp` method. The EntryPoint will\n call `UserOperation.sender.call(UserOperation.callData)` only if this validation call returns\n successfully.\n @dev Signature failure should be reported by returning 1 (see: `this._isValidSignature`). This\n allows making a \"simulation call\" without a valid signature. Other failures (e.g. invalid signature format)\n should still revert to signal failure.\n @dev Reverts if the `UserOperation.nonce` key is invalid for `UserOperation.calldata`.\n @dev Reverts if the signature format is incorrect or invalid for owner type.\n @param userOp The `UserOperation` to validate.\n @param userOpHash The `UserOperation` hash, as computed by `EntryPoint.getUserOpHash(UserOperation)`.\n @param missingAccountFunds The missing account funds that must be deposited on the Entrypoint.\n @return validationData The encoded `ValidationData` structure:\n `(uint256(validAfter) << (160 + 48)) | (uint256(validUntil) << 160) | (success ? 0 : 1)`\n where `validUntil` is 0 (indefinite) and `validAfter` is 0." }, "functionSelector": "19822f7c", - "id": 6949, + "id": 7028, "implemented": true, "kind": "function", "modifiers": [ { - "id": 6887, + "id": 6903, "kind": "modifierInvocation", "modifierName": { - "id": 6886, + "id": 6902, "name": "onlyEntryPoint", "nameLocations": [ - "7205:14:16" + "7442:14:16" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 6801, - "src": "7205:14:16" + "referencedDeclaration": 6817, + "src": "7442:14:16" }, "nodeType": "ModifierInvocation", - "src": "7205:14:16" + "src": "7442:14:16" }, { "arguments": [ { - "id": 6889, + "id": 6905, "name": "missingAccountFunds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6884, - "src": "7231:19:16", + "referencedDeclaration": 6900, + "src": "7468:19:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 6890, + "id": 6906, "kind": "modifierInvocation", "modifierName": { - "id": 6888, + "id": 6904, "name": "payPrefund", "nameLocations": [ - "7220:10:16" + "7457:10:16" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 6824, - "src": "7220:10:16" + "referencedDeclaration": 6840, + "src": "7457:10:16" }, "nodeType": "ModifierInvocation", - "src": "7220:31:16" + "src": "7457:31:16" } ], "name": "validateUserOp", - "nameLocation": "7057:14:16", + "nameLocation": "7294:14:16", "nodeType": "FunctionDefinition", "parameters": { - "id": 6885, + "id": 6901, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6880, + "id": 6896, "mutability": "mutable", "name": "userOp", - "nameLocation": "7110:6:16", + "nameLocation": "7347:6:16", "nodeType": "VariableDeclaration", - "scope": 6949, - "src": "7081:35:16", + "scope": 7028, + "src": "7318:35:16", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$574_calldata_ptr", "typeString": "struct PackedUserOperation" }, "typeName": { - "id": 6879, + "id": 6895, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 6878, + "id": 6894, "name": "PackedUserOperation", "nameLocations": [ - "7081:19:16" + "7318:19:16" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 563, - "src": "7081:19:16" + "referencedDeclaration": 574, + "src": "7318:19:16" }, - "referencedDeclaration": 563, - "src": "7081:19:16", + "referencedDeclaration": 574, + "src": "7318:19:16", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_storage_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$574_storage_ptr", "typeString": "struct PackedUserOperation" } }, @@ -214505,13 +215299,13 @@ }, { "constant": false, - "id": 6882, + "id": 6898, "mutability": "mutable", "name": "userOpHash", - "nameLocation": "7134:10:16", + "nameLocation": "7371:10:16", "nodeType": "VariableDeclaration", - "scope": 6949, - "src": "7126:18:16", + "scope": 7028, + "src": "7363:18:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -214519,10 +215313,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 6881, + "id": 6897, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7126:7:16", + "src": "7363:7:16", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -214532,13 +215326,13 @@ }, { "constant": false, - "id": 6884, + "id": 6900, "mutability": "mutable", "name": "missingAccountFunds", - "nameLocation": "7162:19:16", + "nameLocation": "7399:19:16", "nodeType": "VariableDeclaration", - "scope": 6949, - "src": "7154:27:16", + "scope": 7028, + "src": "7391:27:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -214546,10 +215340,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6883, + "id": 6899, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7154:7:16", + "src": "7391:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -214558,21 +215352,21 @@ "visibility": "internal" } ], - "src": "7071:116:16" + "src": "7308:116:16" }, "returnParameters": { - "id": 6893, + "id": 6909, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6892, + "id": 6908, "mutability": "mutable", "name": "validationData", - "nameLocation": "7269:14:16", + "nameLocation": "7506:14:16", "nodeType": "VariableDeclaration", - "scope": 6949, - "src": "7261:22:16", + "scope": 7028, + "src": "7498:22:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -214580,10 +215374,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6891, + "id": 6907, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7261:7:16", + "src": "7498:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -214592,40 +215386,40 @@ "visibility": "internal" } ], - "src": "7260:24:16" + "src": "7497:24:16" }, - "scope": 7317, - "src": "7048:880:16", + "scope": 7398, + "src": "7285:1698:16", "stateMutability": "nonpayable", "virtual": true, "visibility": "external" }, { "body": { - "id": 7002, + "id": 7081, "nodeType": "Block", - "src": "8697:320:16", + "src": "9752:320:16", "statements": [ { "body": { - "id": 7000, + "id": 7079, "nodeType": "Block", - "src": "8746:265:16", + "src": "9801:265:16", "statements": [ { "assignments": [ - 6969 + 7048 ], "declarations": [ { "constant": false, - "id": 6969, + "id": 7048, "mutability": "mutable", "name": "call", - "nameLocation": "8775:4:16", + "nameLocation": "9830:4:16", "nodeType": "VariableDeclaration", - "scope": 7000, - "src": "8760:19:16", + "scope": 7079, + "src": "9815:19:16", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -214633,10 +215427,10 @@ "typeString": "bytes" }, "typeName": { - "id": 6968, + "id": 7047, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "8760:5:16", + "src": "9815:5:16", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -214645,28 +215439,28 @@ "visibility": "internal" } ], - "id": 6973, + "id": 7052, "initialValue": { "baseExpression": { - "id": 6970, + "id": 7049, "name": "calls", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6953, - "src": "8782:5:16", + "referencedDeclaration": 7032, + "src": "9837:5:16", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", "typeString": "bytes calldata[] calldata" } }, - "id": 6972, + "id": 7051, "indexExpression": { - "id": 6971, + "id": 7050, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6959, - "src": "8788:1:16", + "referencedDeclaration": 7038, + "src": "9843:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -214677,29 +215471,29 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8782:8:16", + "src": "9837:8:16", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" } }, "nodeType": "VariableDeclarationStatement", - "src": "8760:30:16" + "src": "9815:30:16" }, { "assignments": [ - 6975 + 7054 ], "declarations": [ { "constant": false, - "id": 6975, + "id": 7054, "mutability": "mutable", "name": "selector", - "nameLocation": "8811:8:16", + "nameLocation": "9866:8:16", "nodeType": "VariableDeclaration", - "scope": 7000, - "src": "8804:15:16", + "scope": 7079, + "src": "9859:15:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -214707,10 +215501,10 @@ "typeString": "bytes4" }, "typeName": { - "id": 6974, + "id": 7053, "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "8804:6:16", + "src": "9859:6:16", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -214719,16 +215513,16 @@ "visibility": "internal" } ], - "id": 6980, + "id": 7059, "initialValue": { "arguments": [ { - "id": 6978, + "id": 7057, "name": "call", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6969, - "src": "8829:4:16", + "referencedDeclaration": 7048, + "src": "9884:4:16", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -214742,26 +215536,26 @@ "typeString": "bytes calldata" } ], - "id": 6977, + "id": 7056, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "8822:6:16", + "src": "9877:6:16", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes4_$", "typeString": "type(bytes4)" }, "typeName": { - "id": 6976, + "id": 7055, "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "8822:6:16", + "src": "9877:6:16", "typeDescriptions": {} } }, - "id": 6979, + "id": 7058, "isConstant": false, "isLValue": false, "isPure": false, @@ -214770,7 +215564,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8822:12:16", + "src": "9877:12:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes4", @@ -214778,11 +215572,11 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "8804:30:16" + "src": "9859:30:16" }, { "condition": { - "id": 6984, + "id": 7063, "isConstant": false, "isLValue": false, "isPure": false, @@ -214790,16 +215584,16 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "8852:35:16", + "src": "9907:35:16", "subExpression": { "arguments": [ { - "id": 6982, + "id": 7061, "name": "selector", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6975, - "src": "8878:8:16", + "referencedDeclaration": 7054, + "src": "9933:8:16", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -214813,18 +215607,18 @@ "typeString": "bytes4" } ], - "id": 6981, + "id": 7060, "name": "canSkipChainIdValidation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7147, - "src": "8853:24:16", + "referencedDeclaration": 7222, + "src": "9908:24:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes4_$returns$_t_bool_$", "typeString": "function (bytes4) pure returns (bool)" } }, - "id": 6983, + "id": 7062, "isConstant": false, "isLValue": false, "isPure": false, @@ -214833,7 +215627,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8853:34:16", + "src": "9908:34:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -214845,24 +215639,24 @@ "typeString": "bool" } }, - "id": 6990, + "id": 7069, "nodeType": "IfStatement", - "src": "8848:109:16", + "src": "9903:109:16", "trueBody": { - "id": 6989, + "id": 7068, "nodeType": "Block", - "src": "8889:68:16", + "src": "9944:68:16", "statements": [ { "errorCall": { "arguments": [ { - "id": 6986, + "id": 7065, "name": "selector", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6975, - "src": "8933:8:16", + "referencedDeclaration": 7054, + "src": "9988:8:16", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -214876,18 +215670,18 @@ "typeString": "bytes4" } ], - "id": 6985, + "id": 7064, "name": "SelectorNotAllowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6781, - "src": "8914:18:16", + "referencedDeclaration": 6792, + "src": "9969:18:16", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_bytes4_$returns$_t_error_$", "typeString": "function (bytes4) pure returns (error)" } }, - "id": 6987, + "id": 7066, "isConstant": false, "isLValue": false, "isPure": false, @@ -214896,16 +215690,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8914:28:16", + "src": "9969:28:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_error", "typeString": "error" } }, - "id": 6988, + "id": 7067, "nodeType": "RevertStatement", - "src": "8907:35:16" + "src": "9962:35:16" } ] } @@ -214916,14 +215710,14 @@ { "arguments": [ { - "id": 6994, + "id": 7073, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, - "src": "8985:4:16", + "src": "10040:4:16", "typeDescriptions": { - "typeIdentifier": "t_contract$_GianoSmartWallet_$7317", + "typeIdentifier": "t_contract$_GianoSmartWallet_$7398", "typeString": "contract GianoSmartWallet" } } @@ -214931,30 +215725,30 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_GianoSmartWallet_$7317", + "typeIdentifier": "t_contract$_GianoSmartWallet_$7398", "typeString": "contract GianoSmartWallet" } ], - "id": 6993, + "id": 7072, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "8977:7:16", + "src": "10032:7:16", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 6992, + "id": 7071, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8977:7:16", + "src": "10032:7:16", "typeDescriptions": {} } }, - "id": 6995, + "id": 7074, "isConstant": false, "isLValue": false, "isPure": false, @@ -214963,7 +215757,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8977:13:16", + "src": "10032:13:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -214972,14 +215766,14 @@ }, { "hexValue": "30", - "id": 6996, + "id": 7075, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8992:1:16", + "src": "10047:1:16", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -214987,12 +215781,12 @@ "value": "0" }, { - "id": 6997, + "id": 7076, "name": "call", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6969, - "src": "8995:4:16", + "referencedDeclaration": 7048, + "src": "10050:4:16", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -215014,18 +215808,18 @@ "typeString": "bytes calldata" } ], - "id": 6991, + "id": 7070, "name": "_call", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7174, - "src": "8971:5:16", + "referencedDeclaration": 7249, + "src": "10026:5:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (address,uint256,bytes memory)" } }, - "id": 6998, + "id": 7077, "isConstant": false, "isLValue": false, "isPure": false, @@ -215034,16 +215828,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8971:29:16", + "src": "10026:29:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 6999, + "id": 7078, "nodeType": "ExpressionStatement", - "src": "8971:29:16" + "src": "10026:29:16" } ] }, @@ -215052,18 +215846,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 6964, + "id": 7043, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 6961, + "id": 7040, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6959, - "src": "8723:1:16", + "referencedDeclaration": 7038, + "src": "9778:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -215073,52 +215867,52 @@ "operator": "<", "rightExpression": { "expression": { - "id": 6962, + "id": 7041, "name": "calls", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6953, - "src": "8727:5:16", + "referencedDeclaration": 7032, + "src": "9782:5:16", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", "typeString": "bytes calldata[] calldata" } }, - "id": 6963, + "id": 7042, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "8733:6:16", + "memberLocation": "9788:6:16", "memberName": "length", "nodeType": "MemberAccess", - "src": "8727:12:16", + "src": "9782:12:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8723:16:16", + "src": "9778:16:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 7001, + "id": 7080, "initializationExpression": { "assignments": [ - 6959 + 7038 ], "declarations": [ { "constant": false, - "id": 6959, + "id": 7038, "mutability": "mutable", "name": "i", - "nameLocation": "8720:1:16", + "nameLocation": "9775:1:16", "nodeType": "VariableDeclaration", - "scope": 7001, - "src": "8712:9:16", + "scope": 7080, + "src": "9767:9:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -215126,10 +215920,10 @@ "typeString": "uint256" }, "typeName": { - "id": 6958, + "id": 7037, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8712:7:16", + "src": "9767:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -215138,14 +215932,14 @@ "visibility": "internal" } ], - "id": 6960, + "id": 7039, "nodeType": "VariableDeclarationStatement", - "src": "8712:9:16" + "src": "9767:9:16" }, "isSimpleCounterLoop": true, "loopExpression": { "expression": { - "id": 6966, + "id": 7045, "isConstant": false, "isLValue": false, "isPure": false, @@ -215153,14 +215947,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "8741:3:16", + "src": "9796:3:16", "subExpression": { - "id": 6965, + "id": 7044, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6959, - "src": "8741:1:16", + "referencedDeclaration": 7038, + "src": "9796:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -215171,59 +215965,59 @@ "typeString": "uint256" } }, - "id": 6967, + "id": 7046, "nodeType": "ExpressionStatement", - "src": "8741:3:16" + "src": "9796:3:16" }, "nodeType": "ForStatement", - "src": "8707:304:16" + "src": "9762:304:16" } ] }, "documentation": { - "id": 6950, + "id": 7029, "nodeType": "StructuredDocumentation", - "src": "7934:653:16", + "src": "8989:653:16", "text": "@notice Executes `calls` on this account (i.e. self call).\n @dev Can only be called by the Entrypoint.\n @dev Reverts if the given call is not authorized to skip the chain ID validtion.\n @dev `validateUserOp()` will recompute the `userOpHash` without the chain ID before validating\n it if the `UserOperation.calldata` is calling this function. This allows certain UserOperations\n to be replayed for all accounts sharing the same address across chains. E.g. This may be\n useful for syncing owner changes.\n @param calls An array of calldata to use for separate self calls." }, "functionSelector": "2c2abd1e", - "id": 7003, + "id": 7082, "implemented": true, "kind": "function", "modifiers": [ { - "id": 6956, + "id": 7035, "kind": "modifierInvocation", "modifierName": { - "id": 6955, + "id": 7034, "name": "onlyEntryPoint", "nameLocations": [ - "8682:14:16" + "9737:14:16" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 6801, - "src": "8682:14:16" + "referencedDeclaration": 6817, + "src": "9737:14:16" }, "nodeType": "ModifierInvocation", - "src": "8682:14:16" + "src": "9737:14:16" } ], "name": "executeWithoutChainIdValidation", - "nameLocation": "8601:31:16", + "nameLocation": "9656:31:16", "nodeType": "FunctionDefinition", "parameters": { - "id": 6954, + "id": 7033, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 6953, + "id": 7032, "mutability": "mutable", "name": "calls", - "nameLocation": "8650:5:16", + "nameLocation": "9705:5:16", "nodeType": "VariableDeclaration", - "scope": 7003, - "src": "8633:22:16", + "scope": 7082, + "src": "9688:22:16", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -215232,18 +216026,18 @@ }, "typeName": { "baseType": { - "id": 6951, + "id": 7030, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "8633:5:16", + "src": "9688:5:16", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, - "id": 6952, + "id": 7031, "nodeType": "ArrayTypeName", - "src": "8633:7:16", + "src": "9688:7:16", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", "typeString": "bytes[]" @@ -215252,60 +216046,60 @@ "visibility": "internal" } ], - "src": "8632:24:16" + "src": "9687:24:16" }, "returnParameters": { - "id": 6957, + "id": 7036, "nodeType": "ParameterList", "parameters": [], - "src": "8697:0:16" + "src": "9752:0:16" }, - "scope": 7317, - "src": "8592:425:16", + "scope": 7398, + "src": "9647:425:16", "stateMutability": "payable", "virtual": true, "visibility": "external" }, { "body": { - "id": 7021, + "id": 7100, "nodeType": "Block", - "src": "9454:43:16", + "src": "10509:43:16", "statements": [ { "expression": { "arguments": [ { - "id": 7016, + "id": 7095, "name": "target", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7006, - "src": "9470:6:16", + "referencedDeclaration": 7085, + "src": "10525:6:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 7017, + "id": 7096, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7008, - "src": "9478:5:16", + "referencedDeclaration": 7087, + "src": "10533:5:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 7018, + "id": 7097, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7010, - "src": "9485:4:16", + "referencedDeclaration": 7089, + "src": "10540:4:16", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -215327,18 +216121,18 @@ "typeString": "bytes calldata" } ], - "id": 7015, + "id": 7094, "name": "_call", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7174, - "src": "9464:5:16", + "referencedDeclaration": 7249, + "src": "10519:5:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (address,uint256,bytes memory)" } }, - "id": 7019, + "id": 7098, "isConstant": false, "isLValue": false, "isPure": false, @@ -215347,63 +216141,63 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "9464:26:16", + "src": "10519:26:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7020, + "id": 7099, "nodeType": "ExpressionStatement", - "src": "9464:26:16" + "src": "10519:26:16" } ] }, "documentation": { - "id": 7004, + "id": 7083, "nodeType": "StructuredDocumentation", - "src": "9023:310:16", + "src": "10078:310:16", "text": "@notice Executes the given call from this account.\n @dev Can only be called by the Entrypoint or an owner of this account (including itself).\n @param target The address to call.\n @param value The value to send with the call.\n @param data The data of the call." }, "functionSelector": "b61d27f6", - "id": 7022, + "id": 7101, "implemented": true, "kind": "function", "modifiers": [ { - "id": 7013, + "id": 7092, "kind": "modifierInvocation", "modifierName": { - "id": 7012, + "id": 7091, "name": "onlyEntryPointOrOwner", "nameLocations": [ - "9432:21:16" + "10487:21:16" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 6816, - "src": "9432:21:16" + "referencedDeclaration": 6832, + "src": "10487:21:16" }, "nodeType": "ModifierInvocation", - "src": "9432:21:16" + "src": "10487:21:16" } ], "name": "execute", - "nameLocation": "9347:7:16", + "nameLocation": "10402:7:16", "nodeType": "FunctionDefinition", "parameters": { - "id": 7011, + "id": 7090, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7006, + "id": 7085, "mutability": "mutable", "name": "target", - "nameLocation": "9363:6:16", + "nameLocation": "10418:6:16", "nodeType": "VariableDeclaration", - "scope": 7022, - "src": "9355:14:16", + "scope": 7101, + "src": "10410:14:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -215411,10 +216205,10 @@ "typeString": "address" }, "typeName": { - "id": 7005, + "id": 7084, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9355:7:16", + "src": "10410:7:16", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -215425,13 +216219,13 @@ }, { "constant": false, - "id": 7008, + "id": 7087, "mutability": "mutable", "name": "value", - "nameLocation": "9379:5:16", + "nameLocation": "10434:5:16", "nodeType": "VariableDeclaration", - "scope": 7022, - "src": "9371:13:16", + "scope": 7101, + "src": "10426:13:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -215439,10 +216233,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7007, + "id": 7086, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9371:7:16", + "src": "10426:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -215452,13 +216246,13 @@ }, { "constant": false, - "id": 7010, + "id": 7089, "mutability": "mutable", "name": "data", - "nameLocation": "9401:4:16", + "nameLocation": "10456:4:16", "nodeType": "VariableDeclaration", - "scope": 7022, - "src": "9386:19:16", + "scope": 7101, + "src": "10441:19:16", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -215466,10 +216260,10 @@ "typeString": "bytes" }, "typeName": { - "id": 7009, + "id": 7088, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "9386:5:16", + "src": "10441:5:16", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -215478,31 +216272,31 @@ "visibility": "internal" } ], - "src": "9354:52:16" + "src": "10409:52:16" }, "returnParameters": { - "id": 7014, + "id": 7093, "nodeType": "ParameterList", "parameters": [], - "src": "9454:0:16" + "src": "10509:0:16" }, - "scope": 7317, - "src": "9338:159:16", + "scope": 7398, + "src": "10393:159:16", "stateMutability": "payable", "virtual": true, "visibility": "external" }, { "body": { - "id": 7059, + "id": 7138, "nodeType": "Block", - "src": "9805:133:16", + "src": "10860:133:16", "statements": [ { "body": { - "id": 7057, + "id": 7136, "nodeType": "Block", - "src": "9854:78:16", + "src": "10909:78:16", "statements": [ { "expression": { @@ -215510,25 +216304,25 @@ { "expression": { "baseExpression": { - "id": 7043, + "id": 7122, "name": "calls", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7027, - "src": "9874:5:16", + "referencedDeclaration": 7106, + "src": "10929:5:16", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Call_$6769_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_Call_$6780_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct GianoSmartWallet.Call calldata[] calldata" } }, - "id": 7045, + "id": 7124, "indexExpression": { - "id": 7044, + "id": 7123, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7033, - "src": "9880:1:16", + "referencedDeclaration": 7112, + "src": "10935:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -215539,22 +216333,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9874:8:16", + "src": "10929:8:16", "typeDescriptions": { - "typeIdentifier": "t_struct$_Call_$6769_calldata_ptr", + "typeIdentifier": "t_struct$_Call_$6780_calldata_ptr", "typeString": "struct GianoSmartWallet.Call calldata" } }, - "id": 7046, + "id": 7125, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "9883:6:16", + "memberLocation": "10938:6:16", "memberName": "target", "nodeType": "MemberAccess", - "referencedDeclaration": 6762, - "src": "9874:15:16", + "referencedDeclaration": 6773, + "src": "10929:15:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -215563,25 +216357,25 @@ { "expression": { "baseExpression": { - "id": 7047, + "id": 7126, "name": "calls", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7027, - "src": "9891:5:16", + "referencedDeclaration": 7106, + "src": "10946:5:16", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Call_$6769_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_Call_$6780_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct GianoSmartWallet.Call calldata[] calldata" } }, - "id": 7049, + "id": 7128, "indexExpression": { - "id": 7048, + "id": 7127, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7033, - "src": "9897:1:16", + "referencedDeclaration": 7112, + "src": "10952:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -215592,22 +216386,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9891:8:16", + "src": "10946:8:16", "typeDescriptions": { - "typeIdentifier": "t_struct$_Call_$6769_calldata_ptr", + "typeIdentifier": "t_struct$_Call_$6780_calldata_ptr", "typeString": "struct GianoSmartWallet.Call calldata" } }, - "id": 7050, + "id": 7129, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "9900:5:16", + "memberLocation": "10955:5:16", "memberName": "value", "nodeType": "MemberAccess", - "referencedDeclaration": 6765, - "src": "9891:14:16", + "referencedDeclaration": 6776, + "src": "10946:14:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -215616,25 +216410,25 @@ { "expression": { "baseExpression": { - "id": 7051, + "id": 7130, "name": "calls", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7027, - "src": "9907:5:16", + "referencedDeclaration": 7106, + "src": "10962:5:16", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Call_$6769_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_Call_$6780_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct GianoSmartWallet.Call calldata[] calldata" } }, - "id": 7053, + "id": 7132, "indexExpression": { - "id": 7052, + "id": 7131, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7033, - "src": "9913:1:16", + "referencedDeclaration": 7112, + "src": "10968:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -215645,22 +216439,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9907:8:16", + "src": "10962:8:16", "typeDescriptions": { - "typeIdentifier": "t_struct$_Call_$6769_calldata_ptr", + "typeIdentifier": "t_struct$_Call_$6780_calldata_ptr", "typeString": "struct GianoSmartWallet.Call calldata" } }, - "id": 7054, + "id": 7133, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "9916:4:16", + "memberLocation": "10971:4:16", "memberName": "data", "nodeType": "MemberAccess", - "referencedDeclaration": 6768, - "src": "9907:13:16", + "referencedDeclaration": 6779, + "src": "10962:13:16", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -215682,18 +216476,18 @@ "typeString": "bytes calldata" } ], - "id": 7042, + "id": 7121, "name": "_call", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7174, - "src": "9868:5:16", + "referencedDeclaration": 7249, + "src": "10923:5:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (address,uint256,bytes memory)" } }, - "id": 7055, + "id": 7134, "isConstant": false, "isLValue": false, "isPure": false, @@ -215702,16 +216496,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "9868:53:16", + "src": "10923:53:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7056, + "id": 7135, "nodeType": "ExpressionStatement", - "src": "9868:53:16" + "src": "10923:53:16" } ] }, @@ -215720,18 +216514,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7038, + "id": 7117, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 7035, + "id": 7114, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7033, - "src": "9831:1:16", + "referencedDeclaration": 7112, + "src": "10886:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -215741,52 +216535,52 @@ "operator": "<", "rightExpression": { "expression": { - "id": 7036, + "id": 7115, "name": "calls", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7027, - "src": "9835:5:16", + "referencedDeclaration": 7106, + "src": "10890:5:16", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Call_$6769_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_Call_$6780_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct GianoSmartWallet.Call calldata[] calldata" } }, - "id": 7037, + "id": 7116, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "9841:6:16", + "memberLocation": "10896:6:16", "memberName": "length", "nodeType": "MemberAccess", - "src": "9835:12:16", + "src": "10890:12:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9831:16:16", + "src": "10886:16:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 7058, + "id": 7137, "initializationExpression": { "assignments": [ - 7033 + 7112 ], "declarations": [ { "constant": false, - "id": 7033, + "id": 7112, "mutability": "mutable", "name": "i", - "nameLocation": "9828:1:16", + "nameLocation": "10883:1:16", "nodeType": "VariableDeclaration", - "scope": 7058, - "src": "9820:9:16", + "scope": 7137, + "src": "10875:9:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -215794,10 +216588,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7032, + "id": 7111, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9820:7:16", + "src": "10875:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -215806,14 +216600,14 @@ "visibility": "internal" } ], - "id": 7034, + "id": 7113, "nodeType": "VariableDeclarationStatement", - "src": "9820:9:16" + "src": "10875:9:16" }, "isSimpleCounterLoop": true, "loopExpression": { "expression": { - "id": 7040, + "id": 7119, "isConstant": false, "isLValue": false, "isPure": false, @@ -215821,14 +216615,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "9849:3:16", + "src": "10904:3:16", "subExpression": { - "id": 7039, + "id": 7118, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7033, - "src": "9849:1:16", + "referencedDeclaration": 7112, + "src": "10904:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -215839,174 +216633,174 @@ "typeString": "uint256" } }, - "id": 7041, + "id": 7120, "nodeType": "ExpressionStatement", - "src": "9849:3:16" + "src": "10904:3:16" }, "nodeType": "ForStatement", - "src": "9815:117:16" + "src": "10870:117:16" } ] }, "documentation": { - "id": 7023, + "id": 7102, "nodeType": "StructuredDocumentation", - "src": "9503:205:16", + "src": "10558:205:16", "text": "@notice Executes batch of `Call`s.\n @dev Can only be called by the Entrypoint or an owner of this account (including itself).\n @param calls The list of `Call`s to execute." }, "functionSelector": "34fcd5be", - "id": 7060, + "id": 7139, "implemented": true, "kind": "function", "modifiers": [ { - "id": 7030, + "id": 7109, "kind": "modifierInvocation", "modifierName": { - "id": 7029, + "id": 7108, "name": "onlyEntryPointOrOwner", "nameLocations": [ - "9783:21:16" + "10838:21:16" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 6816, - "src": "9783:21:16" + "referencedDeclaration": 6832, + "src": "10838:21:16" }, "nodeType": "ModifierInvocation", - "src": "9783:21:16" + "src": "10838:21:16" } ], "name": "executeBatch", - "nameLocation": "9722:12:16", + "nameLocation": "10777:12:16", "nodeType": "FunctionDefinition", "parameters": { - "id": 7028, + "id": 7107, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7027, + "id": 7106, "mutability": "mutable", "name": "calls", - "nameLocation": "9751:5:16", + "nameLocation": "10806:5:16", "nodeType": "VariableDeclaration", - "scope": 7060, - "src": "9735:21:16", + "scope": 7139, + "src": "10790:21:16", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Call_$6769_calldata_ptr_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_struct$_Call_$6780_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct GianoSmartWallet.Call[]" }, "typeName": { "baseType": { - "id": 7025, + "id": 7104, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 7024, + "id": 7103, "name": "Call", "nameLocations": [ - "9735:4:16" + "10790:4:16" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 6769, - "src": "9735:4:16" + "referencedDeclaration": 6780, + "src": "10790:4:16" }, - "referencedDeclaration": 6769, - "src": "9735:4:16", + "referencedDeclaration": 6780, + "src": "10790:4:16", "typeDescriptions": { - "typeIdentifier": "t_struct$_Call_$6769_storage_ptr", + "typeIdentifier": "t_struct$_Call_$6780_storage_ptr", "typeString": "struct GianoSmartWallet.Call" } }, - "id": 7026, + "id": 7105, "nodeType": "ArrayTypeName", - "src": "9735:6:16", + "src": "10790:6:16", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Call_$6769_storage_$dyn_storage_ptr", + "typeIdentifier": "t_array$_t_struct$_Call_$6780_storage_$dyn_storage_ptr", "typeString": "struct GianoSmartWallet.Call[]" } }, "visibility": "internal" } ], - "src": "9734:23:16" + "src": "10789:23:16" }, "returnParameters": { - "id": 7031, + "id": 7110, "nodeType": "ParameterList", "parameters": [], - "src": "9805:0:16" + "src": "10860:0:16" }, - "scope": 7317, - "src": "9713:225:16", + "scope": 7398, + "src": "10768:225:16", "stateMutability": "payable", "virtual": true, "visibility": "external" }, { "body": { - "id": 7068, + "id": 7147, "nodeType": "Block", - "src": "10123:66:16", + "src": "11178:66:16", "statements": [ { "expression": { - "hexValue": "307834333337303834443945323535466630373032343631434638383935434539453362354666313038", - "id": 7066, + "hexValue": "307830303030303030303731373237446532324535453964384241663065644163366633376461303332", + "id": 7145, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10140:42:16", + "src": "11195:42:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, - "value": "0x4337084D9E255Ff0702461CF8895CE9E3b5Ff108" + "value": "0x0000000071727De22E5E9d8BAf0edAc6f37da032" }, - "functionReturnParameters": 7065, - "id": 7067, + "functionReturnParameters": 7144, + "id": 7146, "nodeType": "Return", - "src": "10133:49:16" + "src": "11188:49:16" } ] }, "documentation": { - "id": 7061, + "id": 7140, "nodeType": "StructuredDocumentation", - "src": "9944:114:16", - "text": "@notice Returns the address of the EntryPoint v0.8.\n @return The address of the EntryPoint v0.8" + "src": "10999:114:16", + "text": "@notice Returns the address of the EntryPoint v0.7.\n @return The address of the EntryPoint v0.7" }, "functionSelector": "b0d691fe", - "id": 7069, + "id": 7148, "implemented": true, "kind": "function", "modifiers": [], "name": "entryPoint", - "nameLocation": "10072:10:16", + "nameLocation": "11127:10:16", "nodeType": "FunctionDefinition", "parameters": { - "id": 7062, + "id": 7141, "nodeType": "ParameterList", "parameters": [], - "src": "10082:2:16" + "src": "11137:2:16" }, "returnParameters": { - "id": 7065, + "id": 7144, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7064, + "id": 7143, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 7069, - "src": "10114:7:16", + "scope": 7148, + "src": "11169:7:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -216014,10 +216808,10 @@ "typeString": "address" }, "typeName": { - "id": 7063, + "id": 7142, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10114:7:16", + "src": "11169:7:16", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -216027,19 +216821,19 @@ "visibility": "internal" } ], - "src": "10113:9:16" + "src": "11168:9:16" }, - "scope": 7317, - "src": "10063:126:16", + "scope": 7398, + "src": "11118:126:16", "stateMutability": "view", "virtual": true, "visibility": "public" }, { "body": { - "id": 7094, + "id": 7169, "nodeType": "Block", - "src": "10695:102:16", + "src": "11750:90:16", "statements": [ { "expression": { @@ -216049,118 +216843,53 @@ { "arguments": [ { - "id": 7083, + "id": 7162, "name": "userOp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7073, - "src": "10755:6:16", + "referencedDeclaration": 7152, + "src": "11810:6:16", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$574_calldata_ptr", "typeString": "struct PackedUserOperation calldata" } - }, - { - "arguments": [ - { - "hexValue": "30", - "id": 7086, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10771:1:16", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 7085, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10763:7:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 7084, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "10763:7:16", - "typeDescriptions": {} - } - }, - "id": 7087, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10763:10:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$574_calldata_ptr", "typeString": "struct PackedUserOperation calldata" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" } ], "expression": { - "id": 7081, + "id": 7160, "name": "UserOperationLib", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 524, - "src": "10733:16:16", + "referencedDeclaration": 535, + "src": "11788:16:16", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UserOperationLib_$524_$", + "typeIdentifier": "t_type$_t_contract$_UserOperationLib_$535_$", "typeString": "type(library UserOperationLib)" } }, - "id": 7082, + "id": 7161, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "10750:4:16", + "memberLocation": "11805:4:16", "memberName": "hash", "nodeType": "MemberAccess", - "referencedDeclaration": 523, - "src": "10733:21:16", + "referencedDeclaration": 534, + "src": "11788:21:16", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_PackedUserOperation_$563_calldata_ptr_$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (struct PackedUserOperation calldata,bytes32) pure returns (bytes32)" + "typeIdentifier": "t_function_internal_pure$_t_struct$_PackedUserOperation_$574_calldata_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct PackedUserOperation calldata) pure returns (bytes32)" } }, - "id": 7088, + "id": 7163, "isConstant": false, "isLValue": false, "isPure": false, @@ -216169,7 +216898,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "10733:41:16", + "src": "11788:29:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -216180,18 +216909,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 7089, + "id": 7164, "name": "entryPoint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7069, - "src": "10776:10:16", + "referencedDeclaration": 7148, + "src": "11819:10:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 7090, + "id": 7165, "isConstant": false, "isLValue": false, "isPure": false, @@ -216200,7 +216929,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "10776:12:16", + "src": "11819:12:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -216220,32 +216949,32 @@ } ], "expression": { - "id": 7079, + "id": 7158, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "10722:3:16", + "src": "11777:3:16", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 7080, + "id": 7159, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "10726:6:16", + "memberLocation": "11781:6:16", "memberName": "encode", "nodeType": "MemberAccess", - "src": "10722:10:16", + "src": "11777:10:16", "typeDescriptions": { "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 7091, + "id": 7166, "isConstant": false, "isLValue": false, "isPure": false, @@ -216254,7 +216983,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "10722:67:16", + "src": "11777:55:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -216269,18 +216998,18 @@ "typeString": "bytes memory" } ], - "id": 7078, + "id": 7157, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "10712:9:16", + "src": "11767:9:16", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 7092, + "id": 7167, "isConstant": false, "isLValue": false, "isPure": false, @@ -216289,91 +217018,91 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "10712:78:16", + "src": "11767:66:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 7077, - "id": 7093, + "functionReturnParameters": 7156, + "id": 7168, "nodeType": "Return", - "src": "10705:85:16" + "src": "11760:73:16" } ] }, "documentation": { - "id": 7070, + "id": 7149, "nodeType": "StructuredDocumentation", - "src": "10195:383:16", + "src": "11250:383:16", "text": "@notice Computes the hash of the `UserOperation` in the same way as EntryPoint v0.6, but\n leaves out the chain ID.\n @dev This allows accounts to sign a hash that can be used on many chains.\n @param userOp The `UserOperation` to compute the hash for.\n @return The `UserOperation` hash, which does not depend on chain ID." }, "functionSelector": "a05bd44e", - "id": 7095, + "id": 7170, "implemented": true, "kind": "function", "modifiers": [], "name": "getUserOpHashWithoutChainId", - "nameLocation": "10592:27:16", + "nameLocation": "11647:27:16", "nodeType": "FunctionDefinition", "parameters": { - "id": 7074, + "id": 7153, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7073, + "id": 7152, "mutability": "mutable", "name": "userOp", - "nameLocation": "10649:6:16", + "nameLocation": "11704:6:16", "nodeType": "VariableDeclaration", - "scope": 7095, - "src": "10620:35:16", + "scope": 7170, + "src": "11675:35:16", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_calldata_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$574_calldata_ptr", "typeString": "struct PackedUserOperation" }, "typeName": { - "id": 7072, + "id": 7151, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 7071, + "id": 7150, "name": "PackedUserOperation", "nameLocations": [ - "10620:19:16" + "11675:19:16" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 563, - "src": "10620:19:16" + "referencedDeclaration": 574, + "src": "11675:19:16" }, - "referencedDeclaration": 563, - "src": "10620:19:16", + "referencedDeclaration": 574, + "src": "11675:19:16", "typeDescriptions": { - "typeIdentifier": "t_struct$_PackedUserOperation_$563_storage_ptr", + "typeIdentifier": "t_struct$_PackedUserOperation_$574_storage_ptr", "typeString": "struct PackedUserOperation" } }, "visibility": "internal" } ], - "src": "10619:37:16" + "src": "11674:37:16" }, "returnParameters": { - "id": 7077, + "id": 7156, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7076, + "id": 7155, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 7095, - "src": "10686:7:16", + "scope": 7170, + "src": "11741:7:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -216381,10 +217110,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7075, + "id": 7154, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10686:7:16", + "src": "11741:7:16", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -216393,55 +217122,55 @@ "visibility": "internal" } ], - "src": "10685:9:16" + "src": "11740:9:16" }, - "scope": 7317, - "src": "10583:214:16", + "scope": 7398, + "src": "11638:202:16", "stateMutability": "view", "virtual": true, "visibility": "public" }, { "body": { - "id": 7102, + "id": 7177, "nodeType": "Block", - "src": "10992:89:16", + "src": "12035:89:16", "statements": [ { "AST": { - "nativeSrc": "11011:64:16", + "nativeSrc": "12054:64:16", "nodeType": "YulBlock", - "src": "11011:64:16", + "src": "12054:64:16", "statements": [ { - "nativeSrc": "11025:40:16", + "nativeSrc": "12068:40:16", "nodeType": "YulAssignment", - "src": "11025:40:16", + "src": "12068:40:16", "value": { "arguments": [ { "name": "_ERC1967_IMPLEMENTATION_SLOT", - "nativeSrc": "11036:28:16", + "nativeSrc": "12079:28:16", "nodeType": "YulIdentifier", - "src": "11036:28:16" + "src": "12079:28:16" } ], "functionName": { "name": "sload", - "nativeSrc": "11030:5:16", + "nativeSrc": "12073:5:16", "nodeType": "YulIdentifier", - "src": "11030:5:16" + "src": "12073:5:16" }, - "nativeSrc": "11030:35:16", + "nativeSrc": "12073:35:16", "nodeType": "YulFunctionCall", - "src": "11030:35:16" + "src": "12073:35:16" }, "variableNames": [ { "name": "$", - "nativeSrc": "11025:1:16", + "nativeSrc": "12068:1:16", "nodeType": "YulIdentifier", - "src": "11025:1:16" + "src": "12068:1:16" } ] } @@ -216450,59 +217179,59 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 7099, + "declaration": 7174, "isOffset": false, "isSlot": false, - "src": "11025:1:16", + "src": "12068:1:16", "valueSize": 1 }, { - "declaration": 6377, + "declaration": 6388, "isOffset": false, "isSlot": false, - "src": "11036:28:16", + "src": "12079:28:16", "valueSize": 1 } ], - "id": 7101, + "id": 7176, "nodeType": "InlineAssembly", - "src": "11002:73:16" + "src": "12045:73:16" } ] }, "documentation": { - "id": 7096, + "id": 7171, "nodeType": "StructuredDocumentation", - "src": "10803:126:16", + "src": "11846:126:16", "text": "@notice Returns the implementation of the ERC1967 proxy.\n @return $ The address of implementation contract." }, "functionSelector": "5c60da1b", - "id": 7103, + "id": 7178, "implemented": true, "kind": "function", "modifiers": [], "name": "implementation", - "nameLocation": "10943:14:16", + "nameLocation": "11986:14:16", "nodeType": "FunctionDefinition", "parameters": { - "id": 7097, + "id": 7172, "nodeType": "ParameterList", "parameters": [], - "src": "10957:2:16" + "src": "12000:2:16" }, "returnParameters": { - "id": 7100, + "id": 7175, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7099, + "id": 7174, "mutability": "mutable", "name": "$", - "nameLocation": "10989:1:16", + "nameLocation": "12032:1:16", "nodeType": "VariableDeclaration", - "scope": 7103, - "src": "10981:9:16", + "scope": 7178, + "src": "12024:9:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -216510,10 +217239,10 @@ "typeString": "address" }, "typeName": { - "id": 7098, + "id": 7173, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10981:7:16", + "src": "12024:7:16", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -216523,19 +217252,19 @@ "visibility": "internal" } ], - "src": "10980:11:16" + "src": "12023:11:16" }, - "scope": 7317, - "src": "10934:147:16", + "scope": 7398, + "src": "11977:147:16", "stateMutability": "view", "virtual": false, "visibility": "public" }, { "body": { - "id": 7146, + "id": 7221, "nodeType": "Block", - "src": "11463:460:16", + "src": "12506:460:16", "statements": [ { "condition": { @@ -216543,7 +217272,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 7139, + "id": 7214, "isConstant": false, "isLValue": false, "isPure": false, @@ -216553,7 +217282,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 7133, + "id": 7208, "isConstant": false, "isLValue": false, "isPure": false, @@ -216563,7 +217292,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 7127, + "id": 7202, "isConstant": false, "isLValue": false, "isPure": false, @@ -216573,7 +217302,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 7121, + "id": 7196, "isConstant": false, "isLValue": false, "isPure": false, @@ -216583,18 +217312,18 @@ "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, - "id": 7115, + "id": 7190, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 7111, + "id": 7186, "name": "functionSelector", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7106, - "src": "11490:16:16", + "referencedDeclaration": 7181, + "src": "12533:16:16", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -216605,47 +217334,47 @@ "rightExpression": { "expression": { "expression": { - "id": 7112, + "id": 7187, "name": "MultiOwnable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7992, - "src": "11510:12:16", + "referencedDeclaration": 8101, + "src": "12553:12:16", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MultiOwnable_$7992_$", + "typeIdentifier": "t_type$_t_contract$_MultiOwnable_$8101_$", "typeString": "type(contract MultiOwnable)" } }, - "id": 7113, + "id": 7188, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "11523:17:16", + "memberLocation": "12566:17:16", "memberName": "addOwnerPublicKey", "nodeType": "MemberAccess", - "referencedDeclaration": 7586, - "src": "11510:30:16", + "referencedDeclaration": 7695, + "src": "12553:30:16", "typeDescriptions": { "typeIdentifier": "t_function_declaration_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", "typeString": "function MultiOwnable.addOwnerPublicKey(bytes32,bytes32)" } }, - "id": 7114, + "id": 7189, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "11541:8:16", + "memberLocation": "12584:8:16", "memberName": "selector", "nodeType": "MemberAccess", - "src": "11510:39:16", + "src": "12553:39:16", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, - "src": "11490:59:16", + "src": "12533:59:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -216658,18 +217387,18 @@ "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, - "id": 7120, + "id": 7195, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 7116, + "id": 7191, "name": "functionSelector", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7106, - "src": "11565:16:16", + "referencedDeclaration": 7181, + "src": "12608:16:16", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -216680,53 +217409,53 @@ "rightExpression": { "expression": { "expression": { - "id": 7117, + "id": 7192, "name": "MultiOwnable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7992, - "src": "11585:12:16", + "referencedDeclaration": 8101, + "src": "12628:12:16", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MultiOwnable_$7992_$", + "typeIdentifier": "t_type$_t_contract$_MultiOwnable_$8101_$", "typeString": "type(contract MultiOwnable)" } }, - "id": 7118, + "id": 7193, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "11598:15:16", + "memberLocation": "12641:15:16", "memberName": "addOwnerAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 7563, - "src": "11585:28:16", + "referencedDeclaration": 7672, + "src": "12628:28:16", "typeDescriptions": { "typeIdentifier": "t_function_declaration_nonpayable$_t_address_$returns$__$", "typeString": "function MultiOwnable.addOwnerAddress(address)" } }, - "id": 7119, + "id": 7194, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "11614:8:16", + "memberLocation": "12657:8:16", "memberName": "selector", "nodeType": "MemberAccess", - "src": "11585:37:16", + "src": "12628:37:16", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, - "src": "11565:57:16", + "src": "12608:57:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "11490:132:16", + "src": "12533:132:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -216739,18 +217468,18 @@ "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, - "id": 7126, + "id": 7201, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 7122, + "id": 7197, "name": "functionSelector", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7106, - "src": "11638:16:16", + "referencedDeclaration": 7181, + "src": "12681:16:16", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -216761,53 +217490,53 @@ "rightExpression": { "expression": { "expression": { - "id": 7123, + "id": 7198, "name": "MultiOwnable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7992, - "src": "11658:12:16", + "referencedDeclaration": 8101, + "src": "12701:12:16", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MultiOwnable_$7992_$", + "typeIdentifier": "t_type$_t_contract$_MultiOwnable_$8101_$", "typeString": "type(contract MultiOwnable)" } }, - "id": 7124, + "id": 7199, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "11671:18:16", + "memberLocation": "12714:18:16", "memberName": "removeOwnerAtIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 7611, - "src": "11658:31:16", + "referencedDeclaration": 7720, + "src": "12701:31:16", "typeDescriptions": { "typeIdentifier": "t_function_declaration_nonpayable$_t_uint256_$_t_bytes_calldata_ptr_$returns$__$", "typeString": "function MultiOwnable.removeOwnerAtIndex(uint256,bytes calldata)" } }, - "id": 7125, + "id": 7200, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "11690:8:16", + "memberLocation": "12733:8:16", "memberName": "selector", "nodeType": "MemberAccess", - "src": "11658:40:16", + "src": "12701:40:16", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, - "src": "11638:60:16", + "src": "12681:60:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "11490:208:16", + "src": "12533:208:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -216820,18 +217549,18 @@ "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, - "id": 7132, + "id": 7207, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 7128, + "id": 7203, "name": "functionSelector", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7106, - "src": "11714:16:16", + "referencedDeclaration": 7181, + "src": "12757:16:16", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -216842,53 +217571,53 @@ "rightExpression": { "expression": { "expression": { - "id": 7129, + "id": 7204, "name": "MultiOwnable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7992, - "src": "11734:12:16", + "referencedDeclaration": 8101, + "src": "12777:12:16", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MultiOwnable_$7992_$", + "typeIdentifier": "t_type$_t_contract$_MultiOwnable_$8101_$", "typeString": "type(contract MultiOwnable)" } }, - "id": 7130, + "id": 7205, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "11747:15:16", + "memberLocation": "12790:15:16", "memberName": "removeLastOwner", "nodeType": "MemberAccess", - "referencedDeclaration": 7641, - "src": "11734:28:16", + "referencedDeclaration": 7750, + "src": "12777:28:16", "typeDescriptions": { "typeIdentifier": "t_function_declaration_nonpayable$_t_uint256_$_t_bytes_calldata_ptr_$returns$__$", "typeString": "function MultiOwnable.removeLastOwner(uint256,bytes calldata)" } }, - "id": 7131, + "id": 7206, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "11763:8:16", + "memberLocation": "12806:8:16", "memberName": "selector", "nodeType": "MemberAccess", - "src": "11734:37:16", + "src": "12777:37:16", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, - "src": "11714:57:16", + "src": "12757:57:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "11490:281:16", + "src": "12533:281:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -216901,18 +217630,18 @@ "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, - "id": 7138, + "id": 7213, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 7134, + "id": 7209, "name": "functionSelector", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7106, - "src": "11787:16:16", + "referencedDeclaration": 7181, + "src": "12830:16:16", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -216923,87 +217652,87 @@ "rightExpression": { "expression": { "expression": { - "id": 7135, + "id": 7210, "name": "UUPSUpgradeable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "11807:15:16", + "referencedDeclaration": 6422, + "src": "12850:15:16", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_UUPSUpgradeable_$6411_$", + "typeIdentifier": "t_type$_t_contract$_UUPSUpgradeable_$6422_$", "typeString": "type(contract UUPSUpgradeable)" } }, - "id": 7136, + "id": 7211, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "11823:16:16", + "memberLocation": "12866:16:16", "memberName": "upgradeToAndCall", "nodeType": "MemberAccess", - "referencedDeclaration": 6410, - "src": "11807:32:16", + "referencedDeclaration": 6421, + "src": "12850:32:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_calldata_ptr_$returns$__$", "typeString": "function (address,bytes calldata)" } }, - "id": 7137, + "id": 7212, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "11840:8:16", + "memberLocation": "12883:8:16", "memberName": "selector", "nodeType": "MemberAccess", - "src": "11807:41:16", + "src": "12850:41:16", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, - "src": "11787:61:16", + "src": "12830:61:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "11490:358:16", + "src": "12533:358:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 7143, + "id": 7218, "nodeType": "IfStatement", - "src": "11473:422:16", + "src": "12516:422:16", "trueBody": { - "id": 7142, + "id": 7217, "nodeType": "Block", - "src": "11859:36:16", + "src": "12902:36:16", "statements": [ { "expression": { "hexValue": "74727565", - "id": 7140, + "id": 7215, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "11880:4:16", + "src": "12923:4:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "functionReturnParameters": 7110, - "id": 7141, + "functionReturnParameters": 7185, + "id": 7216, "nodeType": "Return", - "src": "11873:11:16" + "src": "12916:11:16" } ] } @@ -217011,54 +217740,54 @@ { "expression": { "hexValue": "66616c7365", - "id": 7144, + "id": 7219, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "11911:5:16", + "src": "12954:5:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, - "functionReturnParameters": 7110, - "id": 7145, + "functionReturnParameters": 7185, + "id": 7220, "nodeType": "Return", - "src": "11904:12:16" + "src": "12947:12:16" } ] }, "documentation": { - "id": 7104, + "id": 7179, "nodeType": "StructuredDocumentation", - "src": "11271:101:16", + "src": "12314:101:16", "text": "@return `true` is the function selector is allowed to skip the chain ID validation, else `false`." }, "functionSelector": "9f9bcb34", - "id": 7147, + "id": 7222, "implemented": true, "kind": "function", "modifiers": [], "name": "canSkipChainIdValidation", - "nameLocation": "11386:24:16", + "nameLocation": "12429:24:16", "nodeType": "FunctionDefinition", "parameters": { - "id": 7107, + "id": 7182, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7106, + "id": 7181, "mutability": "mutable", "name": "functionSelector", - "nameLocation": "11418:16:16", + "nameLocation": "12461:16:16", "nodeType": "VariableDeclaration", - "scope": 7147, - "src": "11411:23:16", + "scope": 7222, + "src": "12454:23:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -217066,10 +217795,10 @@ "typeString": "bytes4" }, "typeName": { - "id": 7105, + "id": 7180, "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "11411:6:16", + "src": "12454:6:16", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -217078,21 +217807,21 @@ "visibility": "internal" } ], - "src": "11410:25:16" + "src": "12453:25:16" }, "returnParameters": { - "id": 7110, + "id": 7185, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7109, + "id": 7184, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 7147, - "src": "11457:4:16", + "scope": 7222, + "src": "12500:4:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -217100,10 +217829,10 @@ "typeString": "bool" }, "typeName": { - "id": 7108, + "id": 7183, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "11457:4:16", + "src": "12500:4:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -217112,35 +217841,35 @@ "visibility": "internal" } ], - "src": "11456:6:16" + "src": "12499:6:16" }, - "scope": 7317, - "src": "11377:546:16", + "scope": 7398, + "src": "12420:546:16", "stateMutability": "pure", "virtual": false, "visibility": "public" }, { "body": { - "id": 7173, + "id": 7248, "nodeType": "Block", - "src": "12434:228:16", + "src": "13477:228:16", "statements": [ { "assignments": [ - 7158, - 7160 + 7233, + 7235 ], "declarations": [ { "constant": false, - "id": 7158, + "id": 7233, "mutability": "mutable", "name": "success", - "nameLocation": "12450:7:16", + "nameLocation": "13493:7:16", "nodeType": "VariableDeclaration", - "scope": 7173, - "src": "12445:12:16", + "scope": 7248, + "src": "13488:12:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -217148,10 +217877,10 @@ "typeString": "bool" }, "typeName": { - "id": 7157, + "id": 7232, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "12445:4:16", + "src": "13488:4:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -217161,553 +217890,13 @@ }, { "constant": false, - "id": 7160, + "id": 7235, "mutability": "mutable", "name": "result", - "nameLocation": "12472:6:16", - "nodeType": "VariableDeclaration", - "scope": 7173, - "src": "12459:19:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 7159, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "12459:5:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "id": 7167, - "initialValue": { - "arguments": [ - { - "id": 7165, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7154, - "src": "12508:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "id": 7161, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7150, - "src": "12482:6:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 7162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12489:4:16", - "memberName": "call", - "nodeType": "MemberAccess", - "src": "12482:11:16", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 7164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "id": 7163, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7152, - "src": "12501:5:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "src": "12482:25:16", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 7166, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12482:31:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12444:69:16" - }, - { - "condition": { - "id": 7169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "12527:8:16", - "subExpression": { - "id": 7168, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7158, - "src": "12528:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7172, - "nodeType": "IfStatement", - "src": "12523:133:16", - "trueBody": { - "id": 7171, - "nodeType": "Block", - "src": "12537:119:16", - "statements": [ - { - "AST": { - "nativeSrc": "12576:70:16", - "nodeType": "YulBlock", - "src": "12576:70:16", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "result", - "nativeSrc": "12605:6:16", - "nodeType": "YulIdentifier", - "src": "12605:6:16" - }, - { - "kind": "number", - "nativeSrc": "12613:2:16", - "nodeType": "YulLiteral", - "src": "12613:2:16", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nativeSrc": "12601:3:16", - "nodeType": "YulIdentifier", - "src": "12601:3:16" - }, - "nativeSrc": "12601:15:16", - "nodeType": "YulFunctionCall", - "src": "12601:15:16" - }, - { - "arguments": [ - { - "name": "result", - "nativeSrc": "12624:6:16", - "nodeType": "YulIdentifier", - "src": "12624:6:16" - } - ], - "functionName": { - "name": "mload", - "nativeSrc": "12618:5:16", - "nodeType": "YulIdentifier", - "src": "12618:5:16" - }, - "nativeSrc": "12618:13:16", - "nodeType": "YulFunctionCall", - "src": "12618:13:16" - } - ], - "functionName": { - "name": "revert", - "nativeSrc": "12594:6:16", - "nodeType": "YulIdentifier", - "src": "12594:6:16" - }, - "nativeSrc": "12594:38:16", - "nodeType": "YulFunctionCall", - "src": "12594:38:16" - }, - "nativeSrc": "12594:38:16", - "nodeType": "YulExpressionStatement", - "src": "12594:38:16" - } - ] - }, - "evmVersion": "paris", - "externalReferences": [ - { - "declaration": 7160, - "isOffset": false, - "isSlot": false, - "src": "12605:6:16", - "valueSize": 1 - }, - { - "declaration": 7160, - "isOffset": false, - "isSlot": false, - "src": "12624:6:16", - "valueSize": 1 - } - ], - "flags": [ - "memory-safe" - ], - "id": 7170, - "nodeType": "InlineAssembly", - "src": "12551:95:16" - } - ] - } - } - ] - }, - "documentation": { - "id": 7148, - "nodeType": "StructuredDocumentation", - "src": "11929:426:16", - "text": "@notice Executes the given call from this account.\n @dev Reverts if the call reverted.\n @dev Implementation taken from\n https://github.com/alchemyplatform/light-account/blob/43f625afdda544d5e5af9c370c9f4be0943e4e90/src/common/BaseLightAccount.sol#L125\n @param target The target call address.\n @param value The call value to user.\n @param data The raw call data." - }, - "id": 7174, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_call", - "nameLocation": "12369:5:16", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 7155, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7150, - "mutability": "mutable", - "name": "target", - "nameLocation": "12383:6:16", - "nodeType": "VariableDeclaration", - "scope": 7174, - "src": "12375:14:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7149, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12375:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7152, - "mutability": "mutable", - "name": "value", - "nameLocation": "12399:5:16", - "nodeType": "VariableDeclaration", - "scope": 7174, - "src": "12391:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7151, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12391:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 7154, - "mutability": "mutable", - "name": "data", - "nameLocation": "12419:4:16", - "nodeType": "VariableDeclaration", - "scope": 7174, - "src": "12406:17:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 7153, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "12406:5:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "12374:50:16" - }, - "returnParameters": { - "id": 7156, - "nodeType": "ParameterList", - "parameters": [], - "src": "12434:0:16" - }, - "scope": 7317, - "src": "12360:302:16", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "baseFunctions": [ - 6714 - ], - "body": { - "id": 7289, - "nodeType": "Block", - "src": "13076:1194:16", - "statements": [ - { - "assignments": [ - 7187 - ], - "declarations": [ - { - "constant": false, - "id": 7187, - "mutability": "mutable", - "name": "sigWrapper", - "nameLocation": "13110:10:16", - "nodeType": "VariableDeclaration", - "scope": 7289, - "src": "13086:34:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SignatureWrapper_$6758_memory_ptr", - "typeString": "struct GianoSmartWallet.SignatureWrapper" - }, - "typeName": { - "id": 7186, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 7185, - "name": "SignatureWrapper", - "nameLocations": [ - "13086:16:16" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 6758, - "src": "13086:16:16" - }, - "referencedDeclaration": 6758, - "src": "13086:16:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SignatureWrapper_$6758_storage_ptr", - "typeString": "struct GianoSmartWallet.SignatureWrapper" - } - }, - "visibility": "internal" - } - ], - "id": 7194, - "initialValue": { - "arguments": [ - { - "id": 7190, - "name": "signature", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7179, - "src": "13134:9:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - { - "components": [ - { - "id": 7191, - "name": "SignatureWrapper", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6758, - "src": "13146:16:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_SignatureWrapper_$6758_storage_ptr_$", - "typeString": "type(struct GianoSmartWallet.SignatureWrapper storage pointer)" - } - } - ], - "id": 7192, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13145:18:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_SignatureWrapper_$6758_storage_ptr_$", - "typeString": "type(struct GianoSmartWallet.SignatureWrapper storage pointer)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - }, - { - "typeIdentifier": "t_type$_t_struct$_SignatureWrapper_$6758_storage_ptr_$", - "typeString": "type(struct GianoSmartWallet.SignatureWrapper storage pointer)" - } - ], - "expression": { - "id": 7188, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "13123:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 7189, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "13127:6:16", - "memberName": "decode", - "nodeType": "MemberAccess", - "src": "13123:10:16", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 7193, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13123:41:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_SignatureWrapper_$6758_memory_ptr", - "typeString": "struct GianoSmartWallet.SignatureWrapper memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13086:78:16" - }, - { - "assignments": [ - 7196 - ], - "declarations": [ - { - "constant": false, - "id": 7196, - "mutability": "mutable", - "name": "ownerBytes", - "nameLocation": "13187:10:16", + "nameLocation": "13515:6:16", "nodeType": "VariableDeclaration", - "scope": 7289, - "src": "13174:23:16", + "scope": 7248, + "src": "13502:19:16", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -217715,10 +217904,10 @@ "typeString": "bytes" }, "typeName": { - "id": 7195, + "id": 7234, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "13174:5:16", + "src": "13502:5:16", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -217727,57 +217916,495 @@ "visibility": "internal" } ], - "id": 7201, + "id": 7242, "initialValue": { "arguments": [ { + "id": 7240, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7229, + "src": "13551:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], "expression": { - "id": 7198, - "name": "sigWrapper", + "id": 7236, + "name": "target", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7187, - "src": "13213:10:16", + "referencedDeclaration": 7225, + "src": "13525:6:16", "typeDescriptions": { - "typeIdentifier": "t_struct$_SignatureWrapper_$6758_memory_ptr", - "typeString": "struct GianoSmartWallet.SignatureWrapper memory" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 7199, + "id": 7237, "isConstant": false, - "isLValue": true, + "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "13224:10:16", - "memberName": "ownerIndex", + "memberLocation": "13532:4:16", + "memberName": "call", "nodeType": "MemberAccess", - "referencedDeclaration": 6754, - "src": "13213:21:16", + "src": "13525:11:16", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 7239, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "id": 7238, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7227, + "src": "13544:5:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "src": "13525:25:16", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 7241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13525:31:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13487:69:16" + }, + { + "condition": { + "id": 7244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "13570:8:16", + "subExpression": { + "id": 7243, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7233, + "src": "13571:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7247, + "nodeType": "IfStatement", + "src": "13566:133:16", + "trueBody": { + "id": 7246, + "nodeType": "Block", + "src": "13580:119:16", + "statements": [ + { + "AST": { + "nativeSrc": "13619:70:16", + "nodeType": "YulBlock", + "src": "13619:70:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "result", + "nativeSrc": "13648:6:16", + "nodeType": "YulIdentifier", + "src": "13648:6:16" + }, + { + "kind": "number", + "nativeSrc": "13656:2:16", + "nodeType": "YulLiteral", + "src": "13656:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13644:3:16", + "nodeType": "YulIdentifier", + "src": "13644:3:16" + }, + "nativeSrc": "13644:15:16", + "nodeType": "YulFunctionCall", + "src": "13644:15:16" + }, + { + "arguments": [ + { + "name": "result", + "nativeSrc": "13667:6:16", + "nodeType": "YulIdentifier", + "src": "13667:6:16" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "13661:5:16", + "nodeType": "YulIdentifier", + "src": "13661:5:16" + }, + "nativeSrc": "13661:13:16", + "nodeType": "YulFunctionCall", + "src": "13661:13:16" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "13637:6:16", + "nodeType": "YulIdentifier", + "src": "13637:6:16" + }, + "nativeSrc": "13637:38:16", + "nodeType": "YulFunctionCall", + "src": "13637:38:16" + }, + "nativeSrc": "13637:38:16", + "nodeType": "YulExpressionStatement", + "src": "13637:38:16" + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 7235, + "isOffset": false, + "isSlot": false, + "src": "13648:6:16", + "valueSize": 1 + }, + { + "declaration": 7235, + "isOffset": false, + "isSlot": false, + "src": "13667:6:16", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 7245, + "nodeType": "InlineAssembly", + "src": "13594:95:16" + } + ] + } + } + ] + }, + "documentation": { + "id": 7223, + "nodeType": "StructuredDocumentation", + "src": "12972:426:16", + "text": "@notice Executes the given call from this account.\n @dev Reverts if the call reverted.\n @dev Implementation taken from\n https://github.com/alchemyplatform/light-account/blob/43f625afdda544d5e5af9c370c9f4be0943e4e90/src/common/BaseLightAccount.sol#L125\n @param target The target call address.\n @param value The call value to user.\n @param data The raw call data." + }, + "id": 7249, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_call", + "nameLocation": "13412:5:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7230, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7225, + "mutability": "mutable", + "name": "target", + "nameLocation": "13426:6:16", + "nodeType": "VariableDeclaration", + "scope": 7249, + "src": "13418:14:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7224, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13418:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7227, + "mutability": "mutable", + "name": "value", + "nameLocation": "13442:5:16", + "nodeType": "VariableDeclaration", + "scope": 7249, + "src": "13434:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7226, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13434:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7229, + "mutability": "mutable", + "name": "data", + "nameLocation": "13462:4:16", + "nodeType": "VariableDeclaration", + "scope": 7249, + "src": "13449:17:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 7228, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "13449:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "13417:50:16" + }, + "returnParameters": { + "id": 7231, + "nodeType": "ParameterList", + "parameters": [], + "src": "13477:0:16" + }, + "scope": 7398, + "src": "13403:302:16", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "baseFunctions": [ + 6725 + ], + "body": { + "id": 7370, + "nodeType": "Block", + "src": "14110:1336:16", + "statements": [ + { + "assignments": [ + 7262 + ], + "declarations": [ + { + "constant": false, + "id": 7262, + "mutability": "mutable", + "name": "sigWrapper", + "nameLocation": "14144:10:16", + "nodeType": "VariableDeclaration", + "scope": 7370, + "src": "14120:34:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignatureWrapper_$6769_memory_ptr", + "typeString": "struct GianoSmartWallet.SignatureWrapper" + }, + "typeName": { + "id": 7261, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7260, + "name": "SignatureWrapper", + "nameLocations": [ + "14120:16:16" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6769, + "src": "14120:16:16" + }, + "referencedDeclaration": 6769, + "src": "14120:16:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignatureWrapper_$6769_storage_ptr", + "typeString": "struct GianoSmartWallet.SignatureWrapper" + } + }, + "visibility": "internal" + } + ], + "id": 7269, + "initialValue": { + "arguments": [ + { + "id": 7265, + "name": "signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7254, + "src": "14168:9:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + { + "components": [ + { + "id": 7266, + "name": "SignatureWrapper", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6769, + "src": "14180:16:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_SignatureWrapper_$6769_storage_ptr_$", + "typeString": "type(struct GianoSmartWallet.SignatureWrapper storage pointer)" + } + } + ], + "id": 7267, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "14179:18:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_SignatureWrapper_$6769_storage_ptr_$", + "typeString": "type(struct GianoSmartWallet.SignatureWrapper storage pointer)" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + }, + { + "typeIdentifier": "t_type$_t_struct$_SignatureWrapper_$6769_storage_ptr_$", + "typeString": "type(struct GianoSmartWallet.SignatureWrapper storage pointer)" } ], - "id": 7197, - "name": "ownerAtIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7710, - "src": "13200:12:16", + "expression": { + "id": 7263, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "14157:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7264, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "14161:6:16", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "14157:10:16", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (uint256) view returns (bytes memory)" + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" } }, - "id": 7200, + "id": 7268, "isConstant": false, "isLValue": false, "isPure": false, @@ -217786,15 +218413,178 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "13200:35:16", + "src": "14157:41:16", "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignatureWrapper_$6769_memory_ptr", + "typeString": "struct GianoSmartWallet.SignatureWrapper memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14120:78:16" + }, + { + "assignments": [ + 7271 + ], + "declarations": [ + { + "constant": false, + "id": 7271, + "mutability": "mutable", + "name": "ownerBytes", + "nameLocation": "14221:10:16", + "nodeType": "VariableDeclaration", + "scope": 7370, + "src": "14208:23:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 7270, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "14208:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 7274, + "initialValue": { + "expression": { + "id": 7272, + "name": "sigWrapper", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7262, + "src": "14234:10:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SignatureWrapper_$6769_memory_ptr", + "typeString": "struct GianoSmartWallet.SignatureWrapper memory" + } + }, + "id": 7273, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14245:10:16", + "memberName": "ownerBytes", + "nodeType": "MemberAccess", + "referencedDeclaration": 6765, + "src": "14234:21:16", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "13174:61:16" + "src": "14208:47:16" + }, + { + "condition": { + "id": 7278, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "14348:25:16", + "subExpression": { + "arguments": [ + { + "id": 7276, + "name": "ownerBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7271, + "src": "14362:10:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7275, + "name": "isOwnerBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7804, + "src": "14349:12:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$_t_bool_$", + "typeString": "function (bytes memory) view returns (bool)" + } + }, + "id": 7277, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14349:24:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7282, + "nodeType": "IfStatement", + "src": "14344:68:16", + "trueBody": { + "id": 7281, + "nodeType": "Block", + "src": "14375:37:16", + "statements": [ + { + "expression": { + "hexValue": "66616c7365", + "id": 7279, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14396:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 7259, + "id": 7280, + "nodeType": "Return", + "src": "14389:12:16" + } + ] + } }, { "condition": { @@ -217802,33 +218592,33 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7205, + "id": 7286, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 7202, + "id": 7283, "name": "ownerBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7196, - "src": "13250:10:16", + "referencedDeclaration": 7271, + "src": "14426:10:16", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 7203, + "id": 7284, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "13261:6:16", + "memberLocation": "14437:6:16", "memberName": "length", "nodeType": "MemberAccess", - "src": "13250:17:16", + "src": "14426:17:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -217838,33 +218628,33 @@ "operator": "==", "rightExpression": { "hexValue": "3332", - "id": 7204, + "id": 7285, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "13271:2:16", + "src": "14447:2:16", "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" }, "value": "32" }, - "src": "13250:23:16", + "src": "14426:23:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 7238, + "id": 7319, "nodeType": "IfStatement", - "src": "13246:604:16", + "src": "14422:604:16", "trueBody": { - "id": 7237, + "id": 7318, "nodeType": "Block", - "src": "13275:575:16", + "src": "14451:575:16", "statements": [ { "condition": { @@ -217872,7 +218662,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7218, + "id": 7299, "isConstant": false, "isLValue": false, "isPure": false, @@ -217882,12 +218672,12 @@ { "arguments": [ { - "id": 7210, + "id": 7291, "name": "ownerBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7196, - "src": "13309:10:16", + "referencedDeclaration": 7271, + "src": "14485:10:16", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -217901,26 +218691,26 @@ "typeString": "bytes memory" } ], - "id": 7209, + "id": 7290, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "13301:7:16", + "src": "14477:7:16", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": { - "id": 7208, + "id": 7289, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13301:7:16", + "src": "14477:7:16", "typeDescriptions": {} } }, - "id": 7211, + "id": 7292, "isConstant": false, "isLValue": false, "isPure": false, @@ -217929,7 +218719,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "13301:19:16", + "src": "14477:19:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -217944,26 +218734,26 @@ "typeString": "bytes32" } ], - "id": 7207, + "id": 7288, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "13293:7:16", + "src": "14469:7:16", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 7206, + "id": 7287, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13293:7:16", + "src": "14469:7:16", "typeDescriptions": {} } }, - "id": 7212, + "id": 7293, "isConstant": false, "isLValue": false, "isPure": false, @@ -217972,7 +218762,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "13293:28:16", + "src": "14469:28:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -217985,22 +218775,22 @@ "expression": { "arguments": [ { - "id": 7215, + "id": 7296, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "13329:7:16", + "src": "14505:7:16", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint160_$", "typeString": "type(uint160)" }, "typeName": { - "id": 7214, + "id": 7295, "name": "uint160", "nodeType": "ElementaryTypeName", - "src": "13329:7:16", + "src": "14505:7:16", "typeDescriptions": {} } } @@ -218012,18 +218802,18 @@ "typeString": "type(uint160)" } ], - "id": 7213, + "id": 7294, "name": "type", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -27, - "src": "13324:4:16", + "src": "14500:4:16", "typeDescriptions": { "typeIdentifier": "t_function_metatype_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 7216, + "id": 7297, "isConstant": false, "isLValue": false, "isPure": true, @@ -218032,51 +218822,51 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "13324:13:16", + "src": "14500:13:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_magic_meta_type_t_uint160", "typeString": "type(uint160)" } }, - "id": 7217, + "id": 7298, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "13338:3:16", + "memberLocation": "14514:3:16", "memberName": "max", "nodeType": "MemberAccess", - "src": "13324:17:16", + "src": "14500:17:16", "typeDescriptions": { "typeIdentifier": "t_uint160", "typeString": "uint160" } }, - "src": "13293:48:16", + "src": "14469:48:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 7224, + "id": 7305, "nodeType": "IfStatement", - "src": "13289:318:16", + "src": "14465:318:16", "trueBody": { - "id": 7223, + "id": 7304, "nodeType": "Block", - "src": "13343:264:16", + "src": "14519:264:16", "statements": [ { "errorCall": { "arguments": [ { - "id": 7220, + "id": 7301, "name": "ownerBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7196, - "src": "13581:10:16", + "referencedDeclaration": 7271, + "src": "14757:10:16", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -218090,18 +218880,18 @@ "typeString": "bytes memory" } ], - "id": 7219, + "id": 7300, "name": "InvalidEthereumAddressOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7513, - "src": "13553:27:16", + "referencedDeclaration": 7622, + "src": "14729:27:16", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_bytes_memory_ptr_$returns$_t_error_$", "typeString": "function (bytes memory) pure returns (error)" } }, - "id": 7221, + "id": 7302, "isConstant": false, "isLValue": false, "isPure": false, @@ -218110,34 +218900,34 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "13553:39:16", + "src": "14729:39:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_error", "typeString": "error" } }, - "id": 7222, + "id": 7303, "nodeType": "RevertStatement", - "src": "13546:46:16" + "src": "14722:46:16" } ] } }, { "assignments": [ - 7226 + 7307 ], "declarations": [ { "constant": false, - "id": 7226, + "id": 7307, "mutability": "mutable", "name": "owner", - "nameLocation": "13629:5:16", + "nameLocation": "14805:5:16", "nodeType": "VariableDeclaration", - "scope": 7237, - "src": "13621:13:16", + "scope": 7318, + "src": "14797:13:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -218145,10 +218935,10 @@ "typeString": "address" }, "typeName": { - "id": 7225, + "id": 7306, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13621:7:16", + "src": "14797:7:16", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -218158,66 +218948,66 @@ "visibility": "internal" } ], - "id": 7227, + "id": 7308, "nodeType": "VariableDeclarationStatement", - "src": "13621:13:16" + "src": "14797:13:16" }, { "AST": { - "nativeSrc": "13673:67:16", + "nativeSrc": "14849:67:16", "nodeType": "YulBlock", - "src": "13673:67:16", + "src": "14849:67:16", "statements": [ { - "nativeSrc": "13691:35:16", + "nativeSrc": "14867:35:16", "nodeType": "YulAssignment", - "src": "13691:35:16", + "src": "14867:35:16", "value": { "arguments": [ { "arguments": [ { "name": "ownerBytes", - "nativeSrc": "13710:10:16", + "nativeSrc": "14886:10:16", "nodeType": "YulIdentifier", - "src": "13710:10:16" + "src": "14886:10:16" }, { "kind": "number", - "nativeSrc": "13722:2:16", + "nativeSrc": "14898:2:16", "nodeType": "YulLiteral", - "src": "13722:2:16", + "src": "14898:2:16", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "13706:3:16", + "nativeSrc": "14882:3:16", "nodeType": "YulIdentifier", - "src": "13706:3:16" + "src": "14882:3:16" }, - "nativeSrc": "13706:19:16", + "nativeSrc": "14882:19:16", "nodeType": "YulFunctionCall", - "src": "13706:19:16" + "src": "14882:19:16" } ], "functionName": { "name": "mload", - "nativeSrc": "13700:5:16", + "nativeSrc": "14876:5:16", "nodeType": "YulIdentifier", - "src": "13700:5:16" + "src": "14876:5:16" }, - "nativeSrc": "13700:26:16", + "nativeSrc": "14876:26:16", "nodeType": "YulFunctionCall", - "src": "13700:26:16" + "src": "14876:26:16" }, "variableNames": [ { "name": "owner", - "nativeSrc": "13691:5:16", + "nativeSrc": "14867:5:16", "nodeType": "YulIdentifier", - "src": "13691:5:16" + "src": "14867:5:16" } ] } @@ -218226,49 +219016,49 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 7226, + "declaration": 7307, "isOffset": false, "isSlot": false, - "src": "13691:5:16", + "src": "14867:5:16", "valueSize": 1 }, { - "declaration": 7196, + "declaration": 7271, "isOffset": false, "isSlot": false, - "src": "13710:10:16", + "src": "14886:10:16", "valueSize": 1 } ], "flags": [ "memory-safe" ], - "id": 7228, + "id": 7309, "nodeType": "InlineAssembly", - "src": "13648:92:16" + "src": "14824:92:16" }, { "expression": { "arguments": [ { - "id": 7231, + "id": 7312, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7226, - "src": "13801:5:16", + "referencedDeclaration": 7307, + "src": "14977:5:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 7232, + "id": 7313, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7177, - "src": "13808:4:16", + "referencedDeclaration": 7252, + "src": "14984:4:16", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -218276,27 +219066,27 @@ }, { "expression": { - "id": 7233, + "id": 7314, "name": "sigWrapper", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7187, - "src": "13814:10:16", + "referencedDeclaration": 7262, + "src": "14990:10:16", "typeDescriptions": { - "typeIdentifier": "t_struct$_SignatureWrapper_$6758_memory_ptr", + "typeIdentifier": "t_struct$_SignatureWrapper_$6769_memory_ptr", "typeString": "struct GianoSmartWallet.SignatureWrapper memory" } }, - "id": 7234, + "id": 7315, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "13825:13:16", + "memberLocation": "15001:13:16", "memberName": "signatureData", "nodeType": "MemberAccess", - "referencedDeclaration": 6757, - "src": "13814:24:16", + "referencedDeclaration": 6768, + "src": "14990:24:16", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -218319,33 +219109,33 @@ } ], "expression": { - "id": 7229, + "id": 7310, "name": "SignatureCheckerLib", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6354, - "src": "13761:19:16", + "referencedDeclaration": 6365, + "src": "14937:19:16", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_SignatureCheckerLib_$6354_$", + "typeIdentifier": "t_type$_t_contract$_SignatureCheckerLib_$6365_$", "typeString": "type(library SignatureCheckerLib)" } }, - "id": 7230, + "id": 7311, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "13781:19:16", + "memberLocation": "14957:19:16", "memberName": "isValidSignatureNow", "nodeType": "MemberAccess", - "referencedDeclaration": 6160, - "src": "13761:39:16", + "referencedDeclaration": 6171, + "src": "14937:39:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_bool_$", "typeString": "function (address,bytes32,bytes memory) view returns (bool)" } }, - "id": 7235, + "id": 7316, "isConstant": false, "isLValue": false, "isPure": false, @@ -218354,17 +219144,17 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "13761:78:16", + "src": "14937:78:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 7184, - "id": 7236, + "functionReturnParameters": 7259, + "id": 7317, "nodeType": "Return", - "src": "13754:85:16" + "src": "14930:85:16" } ] } @@ -218375,33 +219165,33 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7242, + "id": 7323, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 7239, + "id": 7320, "name": "ownerBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7196, - "src": "13864:10:16", + "referencedDeclaration": 7271, + "src": "15040:10:16", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 7240, + "id": 7321, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "13875:6:16", + "memberLocation": "15051:6:16", "memberName": "length", "nodeType": "MemberAccess", - "src": "13864:17:16", + "src": "15040:17:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -218411,49 +219201,49 @@ "operator": "==", "rightExpression": { "hexValue": "3634", - "id": 7241, + "id": 7322, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "13885:2:16", + "src": "15061:2:16", "typeDescriptions": { "typeIdentifier": "t_rational_64_by_1", "typeString": "int_const 64" }, "value": "64" }, - "src": "13864:23:16", + "src": "15040:23:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 7284, + "id": 7365, "nodeType": "IfStatement", - "src": "13860:351:16", + "src": "15036:351:16", "trueBody": { - "id": 7283, + "id": 7364, "nodeType": "Block", - "src": "13889:322:16", + "src": "15065:322:16", "statements": [ { "assignments": [ - 7244, - 7246 + 7325, + 7327 ], "declarations": [ { "constant": false, - "id": 7244, + "id": 7325, "mutability": "mutable", "name": "x", - "nameLocation": "13912:1:16", + "nameLocation": "15088:1:16", "nodeType": "VariableDeclaration", - "scope": 7283, - "src": "13904:9:16", + "scope": 7364, + "src": "15080:9:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -218461,10 +219251,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7243, + "id": 7324, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13904:7:16", + "src": "15080:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -218474,13 +219264,13 @@ }, { "constant": false, - "id": 7246, + "id": 7327, "mutability": "mutable", "name": "y", - "nameLocation": "13923:1:16", + "nameLocation": "15099:1:16", "nodeType": "VariableDeclaration", - "scope": 7283, - "src": "13915:9:16", + "scope": 7364, + "src": "15091:9:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -218488,10 +219278,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7245, + "id": 7326, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13915:7:16", + "src": "15091:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -218500,16 +219290,16 @@ "visibility": "internal" } ], - "id": 7256, + "id": 7337, "initialValue": { "arguments": [ { - "id": 7249, + "id": 7330, "name": "ownerBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7196, - "src": "13939:10:16", + "referencedDeclaration": 7271, + "src": "15115:10:16", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -218518,54 +219308,54 @@ { "components": [ { - "id": 7251, + "id": 7332, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "13952:7:16", + "src": "15128:7:16", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 7250, + "id": 7331, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13952:7:16", + "src": "15128:7:16", "typeDescriptions": {} } }, { - "id": 7253, + "id": 7334, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "13961:7:16", + "src": "15137:7:16", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 7252, + "id": 7333, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13961:7:16", + "src": "15137:7:16", "typeDescriptions": {} } } ], - "id": 7254, + "id": 7335, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "13951:18:16", + "src": "15127:18:16", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_type$_t_uint256_$_$_t_type$_t_uint256_$_$", "typeString": "tuple(type(uint256),type(uint256))" @@ -218584,32 +219374,32 @@ } ], "expression": { - "id": 7247, + "id": 7328, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "13928:3:16", + "src": "15104:3:16", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 7248, + "id": 7329, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "13932:6:16", + "memberLocation": "15108:6:16", "memberName": "decode", "nodeType": "MemberAccess", - "src": "13928:10:16", + "src": "15104:10:16", "typeDescriptions": { "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 7255, + "id": 7336, "isConstant": false, "isLValue": false, "isPure": false, @@ -218618,7 +219408,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "13928:42:16", + "src": "15104:42:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", @@ -218626,78 +219416,78 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "13903:67:16" + "src": "15079:67:16" }, { "assignments": [ - 7261 + 7342 ], "declarations": [ { "constant": false, - "id": 7261, + "id": 7342, "mutability": "mutable", "name": "auth", - "nameLocation": "14014:4:16", + "nameLocation": "15190:4:16", "nodeType": "VariableDeclaration", - "scope": 7283, - "src": "13985:33:16", + "scope": 7364, + "src": "15161:33:16", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8143_memory_ptr", + "typeIdentifier": "t_struct$_WebAuthnAuth_$8252_memory_ptr", "typeString": "struct WebAuthn.WebAuthnAuth" }, "typeName": { - "id": 7260, + "id": 7341, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 7259, + "id": 7340, "name": "WebAuthn.WebAuthnAuth", "nameLocations": [ - "13985:8:16", - "13994:12:16" + "15161:8:16", + "15170:12:16" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 8143, - "src": "13985:21:16" + "referencedDeclaration": 8252, + "src": "15161:21:16" }, - "referencedDeclaration": 8143, - "src": "13985:21:16", + "referencedDeclaration": 8252, + "src": "15161:21:16", "typeDescriptions": { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8143_storage_ptr", + "typeIdentifier": "t_struct$_WebAuthnAuth_$8252_storage_ptr", "typeString": "struct WebAuthn.WebAuthnAuth" } }, "visibility": "internal" } ], - "id": 7270, + "id": 7351, "initialValue": { "arguments": [ { "expression": { - "id": 7264, + "id": 7345, "name": "sigWrapper", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7187, - "src": "14032:10:16", + "referencedDeclaration": 7262, + "src": "15208:10:16", "typeDescriptions": { - "typeIdentifier": "t_struct$_SignatureWrapper_$6758_memory_ptr", + "typeIdentifier": "t_struct$_SignatureWrapper_$6769_memory_ptr", "typeString": "struct GianoSmartWallet.SignatureWrapper memory" } }, - "id": 7265, + "id": 7346, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "14043:13:16", + "memberLocation": "15219:13:16", "memberName": "signatureData", "nodeType": "MemberAccess", - "referencedDeclaration": 6757, - "src": "14032:24:16", + "referencedDeclaration": 6768, + "src": "15208:24:16", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -218707,43 +219497,43 @@ "components": [ { "expression": { - "id": 7266, + "id": 7347, "name": "WebAuthn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8369, - "src": "14059:8:16", + "referencedDeclaration": 8478, + "src": "15235:8:16", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WebAuthn_$8369_$", + "typeIdentifier": "t_type$_t_contract$_WebAuthn_$8478_$", "typeString": "type(library WebAuthn)" } }, - "id": 7267, + "id": 7348, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "14068:12:16", + "memberLocation": "15244:12:16", "memberName": "WebAuthnAuth", "nodeType": "MemberAccess", - "referencedDeclaration": 8143, - "src": "14059:21:16", + "referencedDeclaration": 8252, + "src": "15235:21:16", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_WebAuthnAuth_$8143_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_WebAuthnAuth_$8252_storage_ptr_$", "typeString": "type(struct WebAuthn.WebAuthnAuth storage pointer)" } } ], - "id": 7268, + "id": 7349, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "14058:23:16", + "src": "15234:23:16", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_WebAuthnAuth_$8143_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_WebAuthnAuth_$8252_storage_ptr_$", "typeString": "type(struct WebAuthn.WebAuthnAuth storage pointer)" } } @@ -218755,37 +219545,37 @@ "typeString": "bytes memory" }, { - "typeIdentifier": "t_type$_t_struct$_WebAuthnAuth_$8143_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_WebAuthnAuth_$8252_storage_ptr_$", "typeString": "type(struct WebAuthn.WebAuthnAuth storage pointer)" } ], "expression": { - "id": 7262, + "id": 7343, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "14021:3:16", + "src": "15197:3:16", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 7263, + "id": 7344, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "14025:6:16", + "memberLocation": "15201:6:16", "memberName": "decode", "nodeType": "MemberAccess", - "src": "14021:10:16", + "src": "15197:10:16", "typeDescriptions": { "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 7269, + "id": 7350, "isConstant": false, "isLValue": false, "isPure": false, @@ -218794,15 +219584,15 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "14021:61:16", + "src": "15197:61:16", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8143_memory_ptr", + "typeIdentifier": "t_struct$_WebAuthnAuth_$8252_memory_ptr", "typeString": "struct WebAuthn.WebAuthnAuth memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "13985:97:16" + "src": "15161:97:16" }, { "expression": { @@ -218810,12 +219600,12 @@ { "arguments": [ { - "id": 7275, + "id": 7356, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7177, - "src": "14143:4:16", + "referencedDeclaration": 7252, + "src": "15319:4:16", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -218830,32 +219620,32 @@ } ], "expression": { - "id": 7273, + "id": 7354, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "14132:3:16", + "src": "15308:3:16", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 7274, + "id": 7355, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "14136:6:16", + "memberLocation": "15312:6:16", "memberName": "encode", "nodeType": "MemberAccess", - "src": "14132:10:16", + "src": "15308:10:16", "typeDescriptions": { "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 7276, + "id": 7357, "isConstant": false, "isLValue": false, "isPure": false, @@ -218864,7 +219654,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "14132:16:16", + "src": "15308:16:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -218873,14 +219663,14 @@ }, { "hexValue": "66616c7365", - "id": 7277, + "id": 7358, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "14161:5:16", + "src": "15337:5:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -218888,36 +219678,36 @@ "value": "false" }, { - "id": 7278, + "id": 7359, "name": "auth", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7261, - "src": "14182:4:16", + "referencedDeclaration": 7342, + "src": "15358:4:16", "typeDescriptions": { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8143_memory_ptr", + "typeIdentifier": "t_struct$_WebAuthnAuth_$8252_memory_ptr", "typeString": "struct WebAuthn.WebAuthnAuth memory" } }, { - "id": 7279, + "id": 7360, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7244, - "src": "14191:1:16", + "referencedDeclaration": 7325, + "src": "15367:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 7280, + "id": 7361, "name": "y", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7246, - "src": "14197:1:16", + "referencedDeclaration": 7327, + "src": "15373:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -218935,7 +219725,7 @@ "typeString": "bool" }, { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8143_memory_ptr", + "typeIdentifier": "t_struct$_WebAuthnAuth_$8252_memory_ptr", "typeString": "struct WebAuthn.WebAuthnAuth memory" }, { @@ -218948,44 +219738,44 @@ } ], "expression": { - "id": 7271, + "id": 7352, "name": "WebAuthn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8369, - "src": "14104:8:16", + "referencedDeclaration": 8478, + "src": "15280:8:16", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_WebAuthn_$8369_$", + "typeIdentifier": "t_type$_t_contract$_WebAuthn_$8478_$", "typeString": "type(library WebAuthn)" } }, - "id": 7272, + "id": 7353, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "14113:6:16", + "memberLocation": "15289:6:16", "memberName": "verify", "nodeType": "MemberAccess", - "referencedDeclaration": 8368, - "src": "14104:15:16", + "referencedDeclaration": 8477, + "src": "15280:15:16", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$_t_bool_$_t_struct$_WebAuthnAuth_$8143_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$_t_bool_$_t_struct$_WebAuthnAuth_$8252_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_bool_$", "typeString": "function (bytes memory,bool,struct WebAuthn.WebAuthnAuth memory,uint256,uint256) view returns (bool)" } }, - "id": 7281, + "id": 7362, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [ - "14121:9:16", - "14150:9:16", - "14168:12:16", - "14188:1:16", - "14194:1:16" + "15297:9:16", + "15326:9:16", + "15344:12:16", + "15364:1:16", + "15370:1:16" ], "names": [ "challenge", @@ -218995,17 +219785,17 @@ "y" ], "nodeType": "FunctionCall", - "src": "14104:96:16", + "src": "15280:96:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 7184, - "id": 7282, + "functionReturnParameters": 7259, + "id": 7363, "nodeType": "Return", - "src": "14097:103:16" + "src": "15273:103:16" } ] } @@ -219014,12 +219804,12 @@ "errorCall": { "arguments": [ { - "id": 7286, + "id": 7367, "name": "ownerBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7196, - "src": "14252:10:16", + "referencedDeclaration": 7271, + "src": "15428:10:16", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -219033,18 +219823,18 @@ "typeString": "bytes memory" } ], - "id": 7285, + "id": 7366, "name": "InvalidOwnerBytesLength", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7508, - "src": "14228:23:16", + "referencedDeclaration": 7617, + "src": "15404:23:16", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_bytes_memory_ptr_$returns$_t_error_$", "typeString": "function (bytes memory) pure returns (error)" } }, - "id": 7287, + "id": 7368, "isConstant": false, "isLValue": false, "isPure": false, @@ -219053,51 +219843,51 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "14228:35:16", + "src": "15404:35:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_error", "typeString": "error" } }, - "id": 7288, + "id": 7369, "nodeType": "RevertStatement", - "src": "14221:42:16" + "src": "15397:42:16" } ] }, "documentation": { - "id": 7175, + "id": 7250, "nodeType": "StructuredDocumentation", - "src": "12668:290:16", - "text": "@inheritdoc ERC1271\n @dev Used by both `ERC1271.isValidSignature` AND `IAccount.validateUserOp` signature validation.\n @dev Reverts if owner at `ownerIndex` is not compatible with `signature` format.\n @param signature ABI encoded `SignatureWrapper`." + "src": "13711:281:16", + "text": "@inheritdoc ERC1271\n @dev Used by both `ERC1271.isValidSignature` AND `IAccount.validateUserOp` signature validation.\n @dev Reverts if `ownerBytes` is not compatible with `signature` format.\n @param signature ABI encoded `SignatureWrapper`." }, - "id": 7290, + "id": 7371, "implemented": true, "kind": "function", "modifiers": [], "name": "_isValidSignature", - "nameLocation": "12972:17:16", + "nameLocation": "14006:17:16", "nodeType": "FunctionDefinition", "overrides": { - "id": 7181, + "id": 7256, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "13052:8:16" + "src": "14086:8:16" }, "parameters": { - "id": 7180, + "id": 7255, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7177, + "id": 7252, "mutability": "mutable", "name": "hash", - "nameLocation": "12998:4:16", + "nameLocation": "14032:4:16", "nodeType": "VariableDeclaration", - "scope": 7290, - "src": "12990:12:16", + "scope": 7371, + "src": "14024:12:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -219105,10 +219895,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7176, + "id": 7251, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12990:7:16", + "src": "14024:7:16", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -219118,13 +219908,13 @@ }, { "constant": false, - "id": 7179, + "id": 7254, "mutability": "mutable", "name": "signature", - "nameLocation": "13019:9:16", + "nameLocation": "14053:9:16", "nodeType": "VariableDeclaration", - "scope": 7290, - "src": "13004:24:16", + "scope": 7371, + "src": "14038:24:16", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -219132,10 +219922,10 @@ "typeString": "bytes" }, "typeName": { - "id": 7178, + "id": 7253, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "13004:5:16", + "src": "14038:5:16", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -219144,21 +219934,21 @@ "visibility": "internal" } ], - "src": "12989:40:16" + "src": "14023:40:16" }, "returnParameters": { - "id": 7184, + "id": 7259, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7183, + "id": 7258, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 7290, - "src": "13070:4:16", + "scope": 7371, + "src": "14104:4:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -219166,10 +219956,10 @@ "typeString": "bool" }, "typeName": { - "id": 7182, + "id": 7257, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "13070:4:16", + "src": "14104:4:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -219178,84 +219968,84 @@ "visibility": "internal" } ], - "src": "13069:6:16" + "src": "14103:6:16" }, - "scope": 7317, - "src": "12963:1307:16", + "scope": 7398, + "src": "13997:1449:16", "stateMutability": "view", "virtual": true, "visibility": "internal" }, { "baseFunctions": [ - 6383 + 6394 ], "body": { - "id": 7300, + "id": 7381, "nodeType": "Block", - "src": "14546:2:16", + "src": "15722:2:16", "statements": [] }, "documentation": { - "id": 7291, + "id": 7372, "nodeType": "StructuredDocumentation", - "src": "14276:171:16", + "src": "15452:171:16", "text": "@inheritdoc UUPSUpgradeable\n @dev Authorization logic is only based on the `msg.sender` being an owner of this account,\n or `address(this)`." }, - "id": 7301, + "id": 7382, "implemented": true, "kind": "function", "modifiers": [ { - "id": 7298, + "id": 7379, "kind": "modifierInvocation", "modifierName": { - "id": 7297, + "id": 7378, "name": "onlyOwner", "nameLocations": [ - "14536:9:16" + "15712:9:16" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 7543, - "src": "14536:9:16" + "referencedDeclaration": 7652, + "src": "15712:9:16" }, "nodeType": "ModifierInvocation", - "src": "14536:9:16" + "src": "15712:9:16" } ], "name": "_authorizeUpgrade", - "nameLocation": "14461:17:16", + "nameLocation": "15637:17:16", "nodeType": "FunctionDefinition", "overrides": { - "id": 7296, + "id": 7377, "nodeType": "OverrideSpecifier", "overrides": [ { - "id": 7295, + "id": 7376, "name": "UUPSUpgradeable", "nameLocations": [ - "14519:15:16" + "15695:15:16" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 6411, - "src": "14519:15:16" + "referencedDeclaration": 6422, + "src": "15695:15:16" } ], - "src": "14510:25:16" + "src": "15686:25:16" }, "parameters": { - "id": 7294, + "id": 7375, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7293, + "id": 7374, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 7301, - "src": "14479:7:16", + "scope": 7382, + "src": "15655:7:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -219263,10 +220053,10 @@ "typeString": "address" }, "typeName": { - "id": 7292, + "id": 7373, "name": "address", "nodeType": "ElementaryTypeName", - "src": "14479:7:16", + "src": "15655:7:16", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -219276,42 +220066,42 @@ "visibility": "internal" } ], - "src": "14478:9:16" + "src": "15654:9:16" }, "returnParameters": { - "id": 7299, + "id": 7380, "nodeType": "ParameterList", "parameters": [], - "src": "14546:0:16" + "src": "15722:0:16" }, - "scope": 7317, - "src": "14452:96:16", + "scope": 7398, + "src": "15628:96:16", "stateMutability": "view", "virtual": true, "visibility": "internal" }, { "baseFunctions": [ - 6704 + 6715 ], "body": { - "id": 7315, + "id": 7396, "nodeType": "Block", - "src": "14686:51:16", + "src": "15862:51:16", "statements": [ { "expression": { "components": [ { "hexValue": "4769616e6f20536d6172742057616c6c6574", - "id": 7311, + "id": 7392, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14704:20:16", + "src": "15880:20:16", "typeDescriptions": { "typeIdentifier": "t_stringliteral_321a444b6eee393fdfbee13e3222c9c543be2342dd1ac24e520dc15d09993511", "typeString": "literal_string \"Giano Smart Wallet\"" @@ -219320,14 +220110,14 @@ }, { "hexValue": "31", - "id": 7312, + "id": 7393, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14726:3:16", + "src": "15902:3:16", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6", "typeString": "literal_string \"1\"" @@ -219335,75 +220125,75 @@ "value": "1" } ], - "id": 7313, + "id": 7394, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "14703:27:16", + "src": "15879:27:16", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_stringliteral_321a444b6eee393fdfbee13e3222c9c543be2342dd1ac24e520dc15d09993511_$_t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6_$", "typeString": "tuple(literal_string \"Giano Smart Wallet\",literal_string \"1\")" } }, - "functionReturnParameters": 7310, - "id": 7314, + "functionReturnParameters": 7391, + "id": 7395, "nodeType": "Return", - "src": "14696:34:16" + "src": "15872:34:16" } ] }, "documentation": { - "id": 7302, + "id": 7383, "nodeType": "StructuredDocumentation", - "src": "14554:23:16", + "src": "15730:23:16", "text": "@inheritdoc ERC1271" }, - "id": 7316, + "id": 7397, "implemented": true, "kind": "function", "modifiers": [], "name": "_domainNameAndVersion", - "nameLocation": "14591:21:16", + "nameLocation": "15767:21:16", "nodeType": "FunctionDefinition", "overrides": { - "id": 7305, + "id": 7386, "nodeType": "OverrideSpecifier", "overrides": [ { - "id": 7304, + "id": 7385, "name": "ERC1271", "nameLocations": [ - "14638:7:16" + "15814:7:16" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 6715, - "src": "14638:7:16" + "referencedDeclaration": 6726, + "src": "15814:7:16" } ], - "src": "14629:17:16" + "src": "15805:17:16" }, "parameters": { - "id": 7303, + "id": 7384, "nodeType": "ParameterList", "parameters": [], - "src": "14612:2:16" + "src": "15788:2:16" }, "returnParameters": { - "id": 7310, + "id": 7391, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7307, + "id": 7388, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 7316, - "src": "14656:13:16", + "scope": 7397, + "src": "15832:13:16", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -219411,10 +220201,10 @@ "typeString": "string" }, "typeName": { - "id": 7306, + "id": 7387, "name": "string", "nodeType": "ElementaryTypeName", - "src": "14656:6:16", + "src": "15832:6:16", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -219424,13 +220214,13 @@ }, { "constant": false, - "id": 7309, + "id": 7390, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 7316, - "src": "14671:13:16", + "scope": 7397, + "src": "15847:13:16", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -219438,10 +220228,10 @@ "typeString": "string" }, "typeName": { - "id": 7308, + "id": 7389, "name": "string", "nodeType": "ElementaryTypeName", - "src": "14671:6:16", + "src": "15847:6:16", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -219450,43 +220240,44 @@ "visibility": "internal" } ], - "src": "14655:30:16" + "src": "15831:30:16" }, - "scope": 7317, - "src": "14582:155:16", + "scope": 7398, + "src": "15758:155:16", "stateMutability": "pure", "virtual": false, "visibility": "internal" } ], - "scope": 7318, - "src": "1195:13544:16", + "scope": 7399, + "src": "1195:14720:16", "usedErrors": [ - 2399, - 2454, - 6364, - 6432, - 6434, - 6776, - 6781, - 6786, - 7484, - 7489, - 7494, - 7503, - 7508, - 7513, - 7516, - 7521 + 2410, + 2465, + 6375, + 6443, + 6445, + 6787, + 6792, + 6797, + 6802, + 7593, + 7598, + 7603, + 7612, + 7617, + 7622, + 7625, + 7630 ], "usedEvents": [ - 6369, - 7528, - 7535 + 6380, + 7637, + 7644 ] } ], - "src": "32:14708:16" + "src": "32:15884:16" }, "id": 16 }, @@ -219495,21 +220286,21 @@ "absolutePath": "src/GianoSmartWalletFactory.sol", "exportedSymbols": { "GianoSmartWallet": [ - 7317 + 7398 ], "GianoSmartWalletFactory": [ - 7456 + 7565 ], "LibClone": [ - 5093 + 5104 ] }, - "id": 7457, + "id": 7566, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 7319, + "id": 7400, "literals": [ "solidity", "^", @@ -219522,20 +220313,20 @@ { "absolutePath": "src/GianoSmartWallet.sol", "file": "./GianoSmartWallet.sol", - "id": 7321, + "id": 7402, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 7457, - "sourceUnit": 7318, + "scope": 7566, + "sourceUnit": 7399, "src": "57:56:17", "symbolAliases": [ { "foreign": { - "id": 7320, + "id": 7401, "name": "GianoSmartWallet", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7317, + "referencedDeclaration": 7398, "src": "65:16:17", "typeDescriptions": {} }, @@ -219547,20 +220338,20 @@ { "absolutePath": "solady/utils/LibClone.sol", "file": "solady/utils/LibClone.sol", - "id": 7323, + "id": 7404, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 7457, - "sourceUnit": 5094, + "scope": 7566, + "sourceUnit": 5105, "src": "114:51:17", "symbolAliases": [ { "foreign": { - "id": 7322, + "id": 7403, "name": "LibClone", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5093, + "referencedDeclaration": 5104, "src": "122:8:17", "typeDescriptions": {} }, @@ -219576,15 +220367,15 @@ "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 7324, + "id": 7405, "nodeType": "StructuredDocumentation", "src": "167:358:17", "text": "@title Giano Smart Wallet Factory\n @notice GianoSmartWallet factory, based on Solady's ERC4337Factory.\n @author Applied Blockchain (https://github.com/appliedblockchain/giano)\n @author Coinbase (https://github.com/coinbase/smart-wallet)\n @author Solady (https://github.com/vectorized/solady/blob/main/src/accounts/ERC4337Factory.sol)" }, "fullyImplemented": true, - "id": 7456, + "id": 7565, "linearizedBaseContracts": [ - 7456 + 7565 ], "name": "GianoSmartWalletFactory", "nameLocation": "534:23:17", @@ -219593,18 +220384,18 @@ { "constant": false, "documentation": { - "id": 7325, + "id": 7406, "nodeType": "StructuredDocumentation", "src": "564:91:17", "text": "@notice Address of the ERC-4337 implementation used as implementation for new accounts." }, "functionSelector": "5c60da1b", - "id": 7327, + "id": 7408, "mutability": "immutable", "name": "implementation", "nameLocation": "685:14:17", "nodeType": "VariableDeclaration", - "scope": 7456, + "scope": 7565, "src": "660:39:17", "stateVariable": true, "storageLocation": "default", @@ -219613,7 +220404,7 @@ "typeString": "address" }, "typeName": { - "id": 7326, + "id": 7407, "name": "address", "nodeType": "ElementaryTypeName", "src": "660:7:17", @@ -219626,45 +220417,298 @@ "visibility": "public" }, { + "anonymous": false, "documentation": { - "id": 7328, + "id": 7409, "nodeType": "StructuredDocumentation", - "src": "706:92:17", + "src": "706:219:17", + "text": "@notice Emitted when a new account is created.\n @param account The address of the created account.\n @param owners Array of initial owners.\n @param nonce The nonce of the created account." + }, + "eventSelector": "f8e246d8281c915feaf5c1ffd75d9a144f6dbdbbf545e286088661b19d8028f4", + "id": 7418, + "name": "AccountCreated", + "nameLocation": "936:14:17", + "nodeType": "EventDefinition", + "parameters": { + "id": 7417, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7411, + "indexed": true, + "mutability": "mutable", + "name": "account", + "nameLocation": "967:7:17", + "nodeType": "VariableDeclaration", + "scope": 7418, + "src": "951:23:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7410, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "951:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7414, + "indexed": false, + "mutability": "mutable", + "name": "owners", + "nameLocation": "984:6:17", + "nodeType": "VariableDeclaration", + "scope": 7418, + "src": "976:14:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", + "typeString": "bytes[]" + }, + "typeName": { + "baseType": { + "id": 7412, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "976:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "id": 7413, + "nodeType": "ArrayTypeName", + "src": "976:7:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", + "typeString": "bytes[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7416, + "indexed": false, + "mutability": "mutable", + "name": "nonce", + "nameLocation": "1000:5:17", + "nodeType": "VariableDeclaration", + "scope": 7418, + "src": "992:13:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7415, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "992:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "950:56:17" + }, + "src": "930:77:17" + }, + { + "documentation": { + "id": 7419, + "nodeType": "StructuredDocumentation", + "src": "1013:88:17", + "text": "@notice Thrown when trying to construct with an implementation that is not deployed." + }, + "errorSelector": "870dfeb7", + "id": 7421, + "name": "ImplementationUndeployed", + "nameLocation": "1112:24:17", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 7420, + "nodeType": "ParameterList", + "parameters": [], + "src": "1136:2:17" + }, + "src": "1106:33:17" + }, + { + "documentation": { + "id": 7422, + "nodeType": "StructuredDocumentation", + "src": "1146:92:17", "text": "@notice Thrown when trying to create a new `GianoSmartWallet` account without any owner." }, "errorSelector": "3c776be1", - "id": 7330, + "id": 7424, "name": "OwnerRequired", - "nameLocation": "809:13:17", + "nameLocation": "1249:13:17", "nodeType": "ErrorDefinition", "parameters": { - "id": 7329, + "id": 7423, "nodeType": "ParameterList", "parameters": [], - "src": "822:2:17" + "src": "1262:2:17" }, - "src": "803:22:17" + "src": "1243:22:17" }, { "body": { - "id": 7340, + "id": 7443, "nodeType": "Block", - "src": "1146:49:17", + "src": "1586:130:17", "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7434, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 7430, + "name": "implementation_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7427, + "src": "1600:15:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 7431, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1616:4:17", + "memberName": "code", + "nodeType": "MemberAccess", + "src": "1600:20:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 7432, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1621:6:17", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1600:27:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 7433, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1631:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1600:32:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7438, + "nodeType": "IfStatement", + "src": "1596:71:17", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7435, + "name": "ImplementationUndeployed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7421, + "src": "1641:24:17", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$_t_error_$", + "typeString": "function () pure returns (error)" + } + }, + "id": 7436, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1641:26:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_error", + "typeString": "error" + } + }, + "id": 7437, + "nodeType": "RevertStatement", + "src": "1634:33:17" + } + }, { "expression": { - "id": 7338, + "id": 7441, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 7336, + "id": 7439, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7327, - "src": "1156:14:17", + "referencedDeclaration": 7408, + "src": "1677:14:17", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -219673,36 +220717,36 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 7337, + "id": 7440, "name": "implementation_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7333, - "src": "1173:15:17", + "referencedDeclaration": 7427, + "src": "1694:15:17", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1156:32:17", + "src": "1677:32:17", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 7339, + "id": 7442, "nodeType": "ExpressionStatement", - "src": "1156:32:17" + "src": "1677:32:17" } ] }, "documentation": { - "id": 7331, + "id": 7425, "nodeType": "StructuredDocumentation", - "src": "831:265:17", + "src": "1271:265:17", "text": "@notice Factory constructor used to initialize the implementation address to use for future\n GianoSmartWallet deployments.\n @param implementation_ The address of the GianoSmartWallet implementation which new accounts will proxy to." }, - "id": 7341, + "id": 7444, "implemented": true, "kind": "constructor", "modifiers": [], @@ -219710,18 +220754,18 @@ "nameLocation": "-1:-1:-1", "nodeType": "FunctionDefinition", "parameters": { - "id": 7334, + "id": 7428, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7333, + "id": 7427, "mutability": "mutable", "name": "implementation_", - "nameLocation": "1121:15:17", + "nameLocation": "1561:15:17", "nodeType": "VariableDeclaration", - "scope": 7341, - "src": "1113:23:17", + "scope": 7444, + "src": "1553:23:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -219729,10 +220773,10 @@ "typeString": "address" }, "typeName": { - "id": 7332, + "id": 7426, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1113:7:17", + "src": "1553:7:17", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -219742,25 +220786,25 @@ "visibility": "internal" } ], - "src": "1112:25:17" + "src": "1552:25:17" }, "returnParameters": { - "id": 7335, + "id": 7429, "nodeType": "ParameterList", "parameters": [], - "src": "1146:0:17" + "src": "1586:0:17" }, - "scope": 7456, - "src": "1101:94:17", + "scope": 7565, + "src": "1541:175:17", "stateMutability": "payable", "virtual": false, "visibility": "public" }, { "body": { - "id": 7396, + "id": 7505, "nodeType": "Block", - "src": "2067:379:17", + "src": "2588:443:17", "statements": [ { "condition": { @@ -219768,33 +220812,33 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7356, + "id": 7459, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 7353, + "id": 7456, "name": "owners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7345, - "src": "2081:6:17", + "referencedDeclaration": 7448, + "src": "2602:6:17", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", "typeString": "bytes calldata[] calldata" } }, - "id": 7354, + "id": 7457, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "2088:6:17", + "memberLocation": "2609:6:17", "memberName": "length", "nodeType": "MemberAccess", - "src": "2081:13:17", + "src": "2602:13:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -219804,51 +220848,51 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 7355, + "id": 7458, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2098:1:17", + "src": "2619:1:17", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "2081:18:17", + "src": "2602:18:17", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 7361, + "id": 7464, "nodeType": "IfStatement", - "src": "2077:71:17", + "src": "2598:71:17", "trueBody": { - "id": 7360, + "id": 7463, "nodeType": "Block", - "src": "2101:47:17", + "src": "2622:47:17", "statements": [ { "errorCall": { "arguments": [], "expression": { "argumentTypes": [], - "id": 7357, + "id": 7460, "name": "OwnerRequired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7330, - "src": "2122:13:17", + "referencedDeclaration": 7424, + "src": "2643:13:17", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$__$returns$_t_error_$", "typeString": "function () pure returns (error)" } }, - "id": 7358, + "id": 7461, "isConstant": false, "isLValue": false, "isPure": false, @@ -219857,35 +220901,35 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2122:15:17", + "src": "2643:15:17", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_error", "typeString": "error" } }, - "id": 7359, + "id": 7462, "nodeType": "RevertStatement", - "src": "2115:22:17" + "src": "2636:22:17" } ] } }, { "assignments": [ - 7363, - 7365 + 7466, + 7468 ], "declarations": [ { "constant": false, - "id": 7363, + "id": 7466, "mutability": "mutable", "name": "alreadyDeployed", - "nameLocation": "2164:15:17", + "nameLocation": "2685:15:17", "nodeType": "VariableDeclaration", - "scope": 7396, - "src": "2159:20:17", + "scope": 7505, + "src": "2680:20:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -219893,10 +220937,10 @@ "typeString": "bool" }, "typeName": { - "id": 7362, + "id": 7465, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2159:4:17", + "src": "2680:4:17", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -219906,13 +220950,13 @@ }, { "constant": false, - "id": 7365, + "id": 7468, "mutability": "mutable", "name": "accountAddress", - "nameLocation": "2189:14:17", + "nameLocation": "2710:14:17", "nodeType": "VariableDeclaration", - "scope": 7396, - "src": "2181:22:17", + "scope": 7505, + "src": "2702:22:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -219920,10 +220964,10 @@ "typeString": "address" }, "typeName": { - "id": 7364, + "id": 7467, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2181:7:17", + "src": "2702:7:17", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -219933,43 +220977,43 @@ "visibility": "internal" } ], - "id": 7376, + "id": 7479, "initialValue": { "arguments": [ { "expression": { - "id": 7368, + "id": 7471, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "2243:3:17", + "src": "2764:3:17", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 7369, + "id": 7472, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "2247:5:17", + "memberLocation": "2768:5:17", "memberName": "value", "nodeType": "MemberAccess", - "src": "2243:9:17", + "src": "2764:9:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 7370, + "id": 7473, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7327, - "src": "2254:14:17", + "referencedDeclaration": 7408, + "src": "2775:14:17", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -219978,24 +221022,24 @@ { "arguments": [ { - "id": 7372, + "id": 7475, "name": "owners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7345, - "src": "2279:6:17", + "referencedDeclaration": 7448, + "src": "2800:6:17", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", "typeString": "bytes calldata[] calldata" } }, { - "id": 7373, + "id": 7476, "name": "nonce", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7347, - "src": "2287:5:17", + "referencedDeclaration": 7450, + "src": "2808:5:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -220013,18 +221057,18 @@ "typeString": "uint256" } ], - "id": 7371, + "id": 7474, "name": "_getSalt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7455, - "src": "2270:8:17", + "referencedDeclaration": 7564, + "src": "2791:8:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr_$_t_uint256_$returns$_t_bytes32_$", "typeString": "function (bytes calldata[] calldata,uint256) pure returns (bytes32)" } }, - "id": 7374, + "id": 7477, "isConstant": false, "isLValue": false, "isPure": false, @@ -220033,7 +221077,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2270:23:17", + "src": "2791:23:17", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -220057,33 +221101,33 @@ } ], "expression": { - "id": 7366, + "id": 7469, "name": "LibClone", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5093, - "src": "2207:8:17", + "referencedDeclaration": 5104, + "src": "2728:8:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibClone_$5093_$", + "typeIdentifier": "t_type$_t_contract$_LibClone_$5104_$", "typeString": "type(library LibClone)" } }, - "id": 7367, + "id": 7470, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "2216:26:17", + "memberLocation": "2737:26:17", "memberName": "createDeterministicERC1967", "nodeType": "MemberAccess", - "referencedDeclaration": 3631, - "src": "2207:35:17", + "referencedDeclaration": 3642, + "src": "2728:35:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes32_$returns$_t_bool_$_t_address_$", "typeString": "function (uint256,address,bytes32) returns (bool,address)" } }, - "id": 7375, + "id": 7478, "isConstant": false, "isLValue": false, "isPure": false, @@ -220092,7 +221136,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2207:87:17", + "src": "2728:87:17", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_address_$", @@ -220100,24 +221144,24 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "2158:136:17" + "src": "2679:136:17" }, { "expression": { - "id": 7384, + "id": 7487, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 7377, + "id": 7480, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7351, - "src": "2305:7:17", + "referencedDeclaration": 7454, + "src": "2826:7:17", "typeDescriptions": { - "typeIdentifier": "t_contract$_GianoSmartWallet_$7317", + "typeIdentifier": "t_contract$_GianoSmartWallet_$7398", "typeString": "contract GianoSmartWallet" } }, @@ -220128,12 +221172,12 @@ { "arguments": [ { - "id": 7381, + "id": 7484, "name": "accountAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7365, - "src": "2340:14:17", + "referencedDeclaration": 7468, + "src": "2861:14:17", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -220147,27 +221191,27 @@ "typeString": "address" } ], - "id": 7380, + "id": 7483, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2332:8:17", + "src": "2853:8:17", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_payable_$", "typeString": "type(address payable)" }, "typeName": { - "id": 7379, + "id": 7482, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2332:8:17", + "src": "2853:8:17", "stateMutability": "payable", "typeDescriptions": {} } }, - "id": 7382, + "id": 7485, "isConstant": false, "isLValue": false, "isPure": false, @@ -220176,7 +221220,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2332:23:17", + "src": "2853:23:17", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -220191,18 +221235,18 @@ "typeString": "address payable" } ], - "id": 7378, + "id": 7481, "name": "GianoSmartWallet", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7317, - "src": "2315:16:17", + "referencedDeclaration": 7398, + "src": "2836:16:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_GianoSmartWallet_$7317_$", + "typeIdentifier": "t_type$_t_contract$_GianoSmartWallet_$7398_$", "typeString": "type(contract GianoSmartWallet)" } }, - "id": 7383, + "id": 7486, "isConstant": false, "isLValue": false, "isPure": false, @@ -220211,26 +221255,26 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2315:41:17", + "src": "2836:41:17", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_GianoSmartWallet_$7317", + "typeIdentifier": "t_contract$_GianoSmartWallet_$7398", "typeString": "contract GianoSmartWallet" } }, - "src": "2305:51:17", + "src": "2826:51:17", "typeDescriptions": { - "typeIdentifier": "t_contract$_GianoSmartWallet_$7317", + "typeIdentifier": "t_contract$_GianoSmartWallet_$7398", "typeString": "contract GianoSmartWallet" } }, - "id": 7385, + "id": 7488, "nodeType": "ExpressionStatement", - "src": "2305:51:17" + "src": "2826:51:17" }, { "condition": { - "id": 7387, + "id": 7490, "isConstant": false, "isLValue": false, "isPure": false, @@ -220238,14 +221282,14 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "2371:16:17", + "src": "2892:16:17", "subExpression": { - "id": 7386, + "id": 7489, "name": "alreadyDeployed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7363, - "src": "2372:15:17", + "referencedDeclaration": 7466, + "src": "2893:15:17", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -220256,24 +221300,110 @@ "typeString": "bool" } }, - "id": 7395, + "id": 7504, "nodeType": "IfStatement", - "src": "2367:73:17", + "src": "2888:137:17", "trueBody": { - "id": 7394, + "id": 7503, "nodeType": "Block", - "src": "2389:51:17", + "src": "2910:115:17", "statements": [ + { + "eventCall": { + "arguments": [ + { + "id": 7492, + "name": "accountAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7468, + "src": "2944:14:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7493, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7448, + "src": "2960:6:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", + "typeString": "bytes calldata[] calldata" + } + }, + { + "id": 7494, + "name": "nonce", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7450, + "src": "2968:5:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", + "typeString": "bytes calldata[] calldata" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7491, + "name": "AccountCreated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7418, + "src": "2929:14:17", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (address,bytes memory[] memory,uint256)" + } + }, + "id": 7495, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2929:45:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7496, + "nodeType": "EmitStatement", + "src": "2924:50:17" + }, { "expression": { "arguments": [ { - "id": 7391, + "id": 7500, "name": "owners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7345, - "src": "2422:6:17", + "referencedDeclaration": 7448, + "src": "3007:6:17", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", "typeString": "bytes calldata[] calldata" @@ -220288,33 +221418,33 @@ } ], "expression": { - "id": 7388, + "id": 7497, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7351, - "src": "2403:7:17", + "referencedDeclaration": 7454, + "src": "2988:7:17", "typeDescriptions": { - "typeIdentifier": "t_contract$_GianoSmartWallet_$7317", + "typeIdentifier": "t_contract$_GianoSmartWallet_$7398", "typeString": "contract GianoSmartWallet" } }, - "id": 7390, + "id": 7499, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "2411:10:17", + "memberLocation": "2996:10:17", "memberName": "initialize", "nodeType": "MemberAccess", - "referencedDeclaration": 6876, - "src": "2403:18:17", + "referencedDeclaration": 6892, + "src": "2988:18:17", "typeDescriptions": { "typeIdentifier": "t_function_external_payable$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$returns$__$", "typeString": "function (bytes memory[] memory) payable external" } }, - "id": 7392, + "id": 7501, "isConstant": false, "isLValue": false, "isPure": false, @@ -220323,16 +221453,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2403:26:17", + "src": "2988:26:17", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 7393, + "id": 7502, "nodeType": "ExpressionStatement", - "src": "2403:26:17" + "src": "2988:26:17" } ] } @@ -220340,32 +221470,32 @@ ] }, "documentation": { - "id": 7342, + "id": 7445, "nodeType": "StructuredDocumentation", - "src": "1201:738:17", + "src": "1722:738:17", "text": "@notice Returns the deterministic address for a GianoSmartWallet created with `owners` and `nonce`\n deploys and initializes contract if it has not yet been created.\n @dev Deployed as a ERC-1967 proxy that's implementation is `this.implementation`.\n @param owners Array of initial owners. Each item should be an ABI encoded address or 64 byte public key.\n @param nonce The nonce of the account, a caller defined value which allows multiple accounts\n with the same `owners` to exist at different addresses.\n @return account The address of the ERC-1967 proxy created with inputs `owners`, `nonce`, and\n `this.implementation`." }, "functionSelector": "3ffba36f", - "id": 7397, + "id": 7506, "implemented": true, "kind": "function", "modifiers": [], "name": "createAccount", - "nameLocation": "1953:13:17", + "nameLocation": "2474:13:17", "nodeType": "FunctionDefinition", "parameters": { - "id": 7348, + "id": 7451, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7345, + "id": 7448, "mutability": "mutable", "name": "owners", - "nameLocation": "1984:6:17", + "nameLocation": "2505:6:17", "nodeType": "VariableDeclaration", - "scope": 7397, - "src": "1967:23:17", + "scope": 7506, + "src": "2488:23:17", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -220374,18 +221504,18 @@ }, "typeName": { "baseType": { - "id": 7343, + "id": 7446, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1967:5:17", + "src": "2488:5:17", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, - "id": 7344, + "id": 7447, "nodeType": "ArrayTypeName", - "src": "1967:7:17", + "src": "2488:7:17", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", "typeString": "bytes[]" @@ -220395,13 +221525,13 @@ }, { "constant": false, - "id": 7347, + "id": 7450, "mutability": "mutable", "name": "nonce", - "nameLocation": "2000:5:17", + "nameLocation": "2521:5:17", "nodeType": "VariableDeclaration", - "scope": 7397, - "src": "1992:13:17", + "scope": 7506, + "src": "2513:13:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -220409,10 +221539,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7346, + "id": 7449, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1992:7:17", + "src": "2513:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -220421,63 +221551,63 @@ "visibility": "internal" } ], - "src": "1966:40:17" + "src": "2487:40:17" }, "returnParameters": { - "id": 7352, + "id": 7455, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7351, + "id": 7454, "mutability": "mutable", "name": "account", - "nameLocation": "2058:7:17", + "nameLocation": "2579:7:17", "nodeType": "VariableDeclaration", - "scope": 7397, - "src": "2041:24:17", + "scope": 7506, + "src": "2562:24:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_GianoSmartWallet_$7317", + "typeIdentifier": "t_contract$_GianoSmartWallet_$7398", "typeString": "contract GianoSmartWallet" }, "typeName": { - "id": 7350, + "id": 7453, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 7349, + "id": 7452, "name": "GianoSmartWallet", "nameLocations": [ - "2041:16:17" + "2562:16:17" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 7317, - "src": "2041:16:17" + "referencedDeclaration": 7398, + "src": "2562:16:17" }, - "referencedDeclaration": 7317, - "src": "2041:16:17", + "referencedDeclaration": 7398, + "src": "2562:16:17", "typeDescriptions": { - "typeIdentifier": "t_contract$_GianoSmartWallet_$7317", + "typeIdentifier": "t_contract$_GianoSmartWallet_$7398", "typeString": "contract GianoSmartWallet" } }, "visibility": "internal" } ], - "src": "2040:26:17" + "src": "2561:26:17" }, - "scope": 7456, - "src": "1944:502:17", + "scope": 7565, + "src": "2465:566:17", "stateMutability": "payable", "virtual": true, "visibility": "external" }, { "body": { - "id": 7422, + "id": 7531, "nodeType": "Block", - "src": "2901:116:17", + "src": "3486:116:17", "statements": [ { "expression": { @@ -220486,18 +221616,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 7410, + "id": 7519, "name": "initCodeHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7435, - "src": "2955:12:17", + "referencedDeclaration": 7544, + "src": "3540:12:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_bytes32_$", "typeString": "function () view returns (bytes32)" } }, - "id": 7411, + "id": 7520, "isConstant": false, "isLValue": false, "isPure": false, @@ -220506,7 +221636,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2955:14:17", + "src": "3540:14:17", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -220516,24 +221646,24 @@ { "arguments": [ { - "id": 7413, + "id": 7522, "name": "owners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7401, - "src": "2980:6:17", + "referencedDeclaration": 7510, + "src": "3565:6:17", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", "typeString": "bytes calldata[] calldata" } }, { - "id": 7414, + "id": 7523, "name": "nonce", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7403, - "src": "2988:5:17", + "referencedDeclaration": 7512, + "src": "3573:5:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -220551,18 +221681,18 @@ "typeString": "uint256" } ], - "id": 7412, + "id": 7521, "name": "_getSalt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7455, - "src": "2971:8:17", + "referencedDeclaration": 7564, + "src": "3556:8:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr_$_t_uint256_$returns$_t_bytes32_$", "typeString": "function (bytes calldata[] calldata,uint256) pure returns (bytes32)" } }, - "id": 7415, + "id": 7524, "isConstant": false, "isLValue": false, "isPure": false, @@ -220571,7 +221701,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2971:23:17", + "src": "3556:23:17", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -220581,14 +221711,14 @@ { "arguments": [ { - "id": 7418, + "id": 7527, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, - "src": "3004:4:17", + "src": "3589:4:17", "typeDescriptions": { - "typeIdentifier": "t_contract$_GianoSmartWalletFactory_$7456", + "typeIdentifier": "t_contract$_GianoSmartWalletFactory_$7565", "typeString": "contract GianoSmartWalletFactory" } } @@ -220596,30 +221726,30 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_GianoSmartWalletFactory_$7456", + "typeIdentifier": "t_contract$_GianoSmartWalletFactory_$7565", "typeString": "contract GianoSmartWalletFactory" } ], - "id": 7417, + "id": 7526, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2996:7:17", + "src": "3581:7:17", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 7416, + "id": 7525, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2996:7:17", + "src": "3581:7:17", "typeDescriptions": {} } }, - "id": 7419, + "id": 7528, "isConstant": false, "isLValue": false, "isPure": false, @@ -220628,7 +221758,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2996:13:17", + "src": "3581:13:17", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -220652,33 +221782,33 @@ } ], "expression": { - "id": 7408, + "id": 7517, "name": "LibClone", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5093, - "src": "2918:8:17", + "referencedDeclaration": 5104, + "src": "3503:8:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibClone_$5093_$", + "typeIdentifier": "t_type$_t_contract$_LibClone_$5104_$", "typeString": "type(library LibClone)" } }, - "id": 7409, + "id": 7518, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "2927:27:17", + "memberLocation": "3512:27:17", "memberName": "predictDeterministicAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 5070, - "src": "2918:36:17", + "referencedDeclaration": 5081, + "src": "3503:36:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_address_$", "typeString": "function (bytes32,bytes32,address) pure returns (address)" } }, - "id": 7420, + "id": 7529, "isConstant": false, "isLValue": false, "isPure": false, @@ -220687,47 +221817,47 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2918:92:17", + "src": "3503:92:17", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 7407, - "id": 7421, + "functionReturnParameters": 7516, + "id": 7530, "nodeType": "Return", - "src": "2911:99:17" + "src": "3496:99:17" } ] }, "documentation": { - "id": 7398, + "id": 7507, "nodeType": "StructuredDocumentation", - "src": "2452:352:17", + "src": "3037:352:17", "text": "@notice Returns the deterministic address of the account that would be created by `createAccount`.\n @param owners Array of initial owners. Each item should be an ABI encoded address or 64 byte public key.\n @param nonce The nonce provided to `createAccount()`.\n @return The predicted account deployment address." }, "functionSelector": "250b1b41", - "id": 7423, + "id": 7532, "implemented": true, "kind": "function", "modifiers": [], "name": "getAddress", - "nameLocation": "2818:10:17", + "nameLocation": "3403:10:17", "nodeType": "FunctionDefinition", "parameters": { - "id": 7404, + "id": 7513, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7401, + "id": 7510, "mutability": "mutable", "name": "owners", - "nameLocation": "2846:6:17", + "nameLocation": "3431:6:17", "nodeType": "VariableDeclaration", - "scope": 7423, - "src": "2829:23:17", + "scope": 7532, + "src": "3414:23:17", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -220736,18 +221866,18 @@ }, "typeName": { "baseType": { - "id": 7399, + "id": 7508, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "2829:5:17", + "src": "3414:5:17", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, - "id": 7400, + "id": 7509, "nodeType": "ArrayTypeName", - "src": "2829:7:17", + "src": "3414:7:17", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", "typeString": "bytes[]" @@ -220757,13 +221887,13 @@ }, { "constant": false, - "id": 7403, + "id": 7512, "mutability": "mutable", "name": "nonce", - "nameLocation": "2862:5:17", + "nameLocation": "3447:5:17", "nodeType": "VariableDeclaration", - "scope": 7423, - "src": "2854:13:17", + "scope": 7532, + "src": "3439:13:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -220771,10 +221901,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7402, + "id": 7511, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2854:7:17", + "src": "3439:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -220783,21 +221913,21 @@ "visibility": "internal" } ], - "src": "2828:40:17" + "src": "3413:40:17" }, "returnParameters": { - "id": 7407, + "id": 7516, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7406, + "id": 7515, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 7423, - "src": "2892:7:17", + "scope": 7532, + "src": "3477:7:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -220805,10 +221935,10 @@ "typeString": "address" }, "typeName": { - "id": 7405, + "id": 7514, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2892:7:17", + "src": "3477:7:17", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -220818,30 +221948,30 @@ "visibility": "internal" } ], - "src": "2891:9:17" + "src": "3476:9:17" }, - "scope": 7456, - "src": "2809:208:17", + "scope": 7565, + "src": "3394:208:17", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "body": { - "id": 7434, + "id": 7543, "nodeType": "Block", - "src": "3288:68:17", + "src": "3873:68:17", "statements": [ { "expression": { "arguments": [ { - "id": 7431, + "id": 7540, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7327, - "src": "3334:14:17", + "referencedDeclaration": 7408, + "src": "3919:14:17", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -220856,33 +221986,33 @@ } ], "expression": { - "id": 7429, + "id": 7538, "name": "LibClone", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5093, - "src": "3305:8:17", + "referencedDeclaration": 5104, + "src": "3890:8:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibClone_$5093_$", + "typeIdentifier": "t_type$_t_contract$_LibClone_$5104_$", "typeString": "type(library LibClone)" } }, - "id": 7430, + "id": 7539, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "3314:19:17", + "memberLocation": "3899:19:17", "memberName": "initCodeHashERC1967", "nodeType": "MemberAccess", - "referencedDeclaration": 3651, - "src": "3305:28:17", + "referencedDeclaration": 3662, + "src": "3890:28:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_bytes32_$", "typeString": "function (address) pure returns (bytes32)" } }, - "id": 7432, + "id": 7541, "isConstant": false, "isLValue": false, "isPure": false, @@ -220891,53 +222021,53 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3305:44:17", + "src": "3890:44:17", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 7428, - "id": 7433, + "functionReturnParameters": 7537, + "id": 7542, "nodeType": "Return", - "src": "3298:51:17" + "src": "3883:51:17" } ] }, "documentation": { - "id": 7424, + "id": 7533, "nodeType": "StructuredDocumentation", - "src": "3023:198:17", + "src": "3608:198:17", "text": "@notice Returns the initialization code hash of the account:\n a ERC1967 proxy that's implementation is `this.implementation`.\n @return The initialization code hash." }, "functionSelector": "db4c545e", - "id": 7435, + "id": 7544, "implemented": true, "kind": "function", "modifiers": [], "name": "initCodeHash", - "nameLocation": "3235:12:17", + "nameLocation": "3820:12:17", "nodeType": "FunctionDefinition", "parameters": { - "id": 7425, + "id": 7534, "nodeType": "ParameterList", "parameters": [], - "src": "3247:2:17" + "src": "3832:2:17" }, "returnParameters": { - "id": 7428, + "id": 7537, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7427, + "id": 7536, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 7435, - "src": "3279:7:17", + "scope": 7544, + "src": "3864:7:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -220945,10 +222075,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7426, + "id": 7535, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3279:7:17", + "src": "3864:7:17", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -220957,19 +222087,19 @@ "visibility": "internal" } ], - "src": "3278:9:17" + "src": "3863:9:17" }, - "scope": 7456, - "src": "3226:130:17", + "scope": 7565, + "src": "3811:130:17", "stateMutability": "view", "virtual": true, "visibility": "public" }, { "body": { - "id": 7454, + "id": 7563, "nodeType": "Block", - "src": "3763:60:17", + "src": "4348:60:17", "statements": [ { "expression": { @@ -220977,24 +222107,24 @@ { "arguments": [ { - "id": 7449, + "id": 7558, "name": "owners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7439, - "src": "3801:6:17", + "referencedDeclaration": 7548, + "src": "4386:6:17", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", "typeString": "bytes calldata[] calldata" } }, { - "id": 7450, + "id": 7559, "name": "nonce", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7441, - "src": "3809:5:17", + "referencedDeclaration": 7550, + "src": "4394:5:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -221013,32 +222143,32 @@ } ], "expression": { - "id": 7447, + "id": 7556, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "3790:3:17", + "src": "4375:3:17", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 7448, + "id": 7557, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "3794:6:17", + "memberLocation": "4379:6:17", "memberName": "encode", "nodeType": "MemberAccess", - "src": "3790:10:17", + "src": "4375:10:17", "typeDescriptions": { "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 7451, + "id": 7560, "isConstant": false, "isLValue": false, "isPure": false, @@ -221047,7 +222177,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3790:25:17", + "src": "4375:25:17", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -221062,18 +222192,18 @@ "typeString": "bytes memory" } ], - "id": 7446, + "id": 7555, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "3780:9:17", + "src": "4365:9:17", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 7452, + "id": 7561, "isConstant": false, "isLValue": false, "isPure": false, @@ -221082,46 +222212,46 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3780:36:17", + "src": "4365:36:17", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 7445, - "id": 7453, + "functionReturnParameters": 7554, + "id": 7562, "nodeType": "Return", - "src": "3773:43:17" + "src": "4358:43:17" } ] }, "documentation": { - "id": 7436, + "id": 7545, "nodeType": "StructuredDocumentation", - "src": "3362:306:17", + "src": "3947:306:17", "text": "@notice Returns the create2 salt for `LibClone.predictDeterministicAddress`\n @param owners Array of initial owners. Each item should be an ABI encoded address or 64 byte public key.\n @param nonce The nonce provided to `createAccount()`.\n @return The computed salt." }, - "id": 7455, + "id": 7564, "implemented": true, "kind": "function", "modifiers": [], "name": "_getSalt", - "nameLocation": "3682:8:17", + "nameLocation": "4267:8:17", "nodeType": "FunctionDefinition", "parameters": { - "id": 7442, + "id": 7551, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7439, + "id": 7548, "mutability": "mutable", "name": "owners", - "nameLocation": "3708:6:17", + "nameLocation": "4293:6:17", "nodeType": "VariableDeclaration", - "scope": 7455, - "src": "3691:23:17", + "scope": 7564, + "src": "4276:23:17", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -221130,18 +222260,18 @@ }, "typeName": { "baseType": { - "id": 7437, + "id": 7546, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "3691:5:17", + "src": "4276:5:17", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, - "id": 7438, + "id": 7547, "nodeType": "ArrayTypeName", - "src": "3691:7:17", + "src": "4276:7:17", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", "typeString": "bytes[]" @@ -221151,13 +222281,13 @@ }, { "constant": false, - "id": 7441, + "id": 7550, "mutability": "mutable", "name": "nonce", - "nameLocation": "3724:5:17", + "nameLocation": "4309:5:17", "nodeType": "VariableDeclaration", - "scope": 7455, - "src": "3716:13:17", + "scope": 7564, + "src": "4301:13:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -221165,10 +222295,10 @@ "typeString": "uint256" }, "typeName": { - "id": 7440, + "id": 7549, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3716:7:17", + "src": "4301:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -221177,21 +222307,21 @@ "visibility": "internal" } ], - "src": "3690:40:17" + "src": "4275:40:17" }, "returnParameters": { - "id": 7445, + "id": 7554, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7444, + "id": 7553, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 7455, - "src": "3754:7:17", + "scope": 7564, + "src": "4339:7:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -221199,10 +222329,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 7443, + "id": 7552, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3754:7:17", + "src": "4339:7:17", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -221211,24 +222341,27 @@ "visibility": "internal" } ], - "src": "3753:9:17" + "src": "4338:9:17" }, - "scope": 7456, - "src": "3673:150:17", + "scope": 7565, + "src": "4258:150:17", "stateMutability": "pure", "virtual": false, "visibility": "internal" } ], - "scope": 7457, - "src": "525:3300:17", + "scope": 7566, + "src": "525:3885:17", "usedErrors": [ - 7330 + 7421, + 7424 ], - "usedEvents": [] + "usedEvents": [ + 7418 + ] } ], - "src": "32:3794:17" + "src": "32:4379:17" }, "id": 17 }, @@ -221237,18 +222370,18 @@ "absolutePath": "src/MultiOwnable.sol", "exportedSymbols": { "MultiOwnable": [ - 7992 + 8101 ], "MultiOwnableStorage": [ - 7476 + 7585 ] }, - "id": 7993, + "id": 8102, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 7458, + "id": 7567, "literals": [ "solidity", "^", @@ -221261,21 +222394,21 @@ { "canonicalName": "MultiOwnableStorage", "documentation": { - "id": 7459, + "id": 7568, "nodeType": "StructuredDocumentation", "src": "58:130:18", "text": "@notice Storage layout used by this contract.\n @custom:storage-location erc7201:appliedblockchain.storage.MultiOwnable" }, - "id": 7476, + "id": 7585, "members": [ { "constant": false, - "id": 7462, + "id": 7571, "mutability": "mutable", "name": "nextOwnerIndex", "nameLocation": "285:14:18", "nodeType": "VariableDeclaration", - "scope": 7476, + "scope": 7585, "src": "277:22:18", "stateVariable": false, "storageLocation": "default", @@ -221284,7 +222417,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7461, + "id": 7570, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "277:7:18", @@ -221297,12 +222430,12 @@ }, { "constant": false, - "id": 7465, + "id": 7574, "mutability": "mutable", "name": "removedOwnersCount", "nameLocation": "374:18:18", "nodeType": "VariableDeclaration", - "scope": 7476, + "scope": 7585, "src": "366:26:18", "stateVariable": false, "storageLocation": "default", @@ -221311,7 +222444,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7464, + "id": 7573, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "366:7:18", @@ -221324,12 +222457,12 @@ }, { "constant": false, - "id": 7470, + "id": 7579, "mutability": "mutable", "name": "ownerAtIndex", "nameLocation": "989:12:18", "nodeType": "VariableDeclaration", - "scope": 7476, + "scope": 7585, "src": "951:50:18", "stateVariable": false, "storageLocation": "default", @@ -221338,11 +222471,11 @@ "typeString": "mapping(uint256 => bytes)" }, "typeName": { - "id": 7469, + "id": 7578, "keyName": "index", "keyNameLocation": "967:5:18", "keyType": { - "id": 7467, + "id": 7576, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "959:7:18", @@ -221360,7 +222493,7 @@ "valueName": "owner", "valueNameLocation": "982:5:18", "valueType": { - "id": 7468, + "id": 7577, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "976:5:18", @@ -221374,12 +222507,12 @@ }, { "constant": false, - "id": 7475, + "id": 7584, "mutability": "mutable", "name": "isOwner", "nameLocation": "1164:7:18", "nodeType": "VariableDeclaration", - "scope": 7476, + "scope": 7585, "src": "1125:46:18", "stateVariable": false, "storageLocation": "default", @@ -221388,11 +222521,11 @@ "typeString": "mapping(bytes => bool)" }, "typeName": { - "id": 7474, + "id": 7583, "keyName": "bytes_", "keyNameLocation": "1139:6:18", "keyType": { - "id": 7472, + "id": 7581, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "1133:5:18", @@ -221410,7 +222543,7 @@ "valueName": "isOwner_", "valueNameLocation": "1154:8:18", "valueType": { - "id": 7473, + "id": 7582, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1149:4:18", @@ -221426,7 +222559,7 @@ "name": "MultiOwnableStorage", "nameLocation": "195:19:18", "nodeType": "StructDefinition", - "scope": 7993, + "scope": 8102, "src": "188:986:18", "visibility": "public" }, @@ -221437,15 +222570,15 @@ "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 7477, + "id": 7586, "nodeType": "StructuredDocumentation", "src": "1176:251:18", "text": "@title Multi Ownable\n @notice Auth contract allowing multiple owners, each identified as bytes.\n @author Applied Blockchain (https://github.com/appliedblockchain/giano)\n @author Coinbase (https://github.com/coinbase/smart-wallet)" }, "fullyImplemented": true, - "id": 7992, + "id": 8101, "linearizedBaseContracts": [ - 7992 + 8101 ], "name": "MultiOwnable", "nameLocation": "1436:12:18", @@ -221454,17 +222587,17 @@ { "constant": true, "documentation": { - "id": 7478, + "id": 7587, "nodeType": "StructuredDocumentation", "src": "1455:293:18", "text": "@dev Slot for the `MultiOwnableStorage` struct in storage.\n Computed from\n keccak256(abi.encode(uint256(keccak256(\"appliedblockchain.storage.MultiOwnable\")) - 1)) & ~bytes32(uint256(0xff))\n Follows ERC-7201 (see https://eips.ethereum.org/EIPS/eip-7201)." }, - "id": 7481, + "id": 7590, "mutability": "constant", "name": "MUTLI_OWNABLE_STORAGE_LOCATION", "nameLocation": "1778:30:18", "nodeType": "VariableDeclaration", - "scope": 7992, + "scope": 8101, "src": "1753:132:18", "stateVariable": true, "storageLocation": "default", @@ -221473,7 +222606,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 7479, + "id": 7588, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1753:7:18", @@ -221484,7 +222617,7 @@ }, "value": { "hexValue": "307830363237663732616630653666343132313935623064386163626534333862323830393064643534356237643233333166636366373737323335363166353030", - "id": 7480, + "id": 7589, "isConstant": false, "isLValue": false, "isPure": true, @@ -221502,18 +222635,18 @@ }, { "documentation": { - "id": 7482, + "id": 7591, "nodeType": "StructuredDocumentation", "src": "1892:101:18", "text": "@notice Thrown when the `msg.sender` is not an owner and is trying to call a privileged function." }, "errorSelector": "82b42900", - "id": 7484, + "id": 7593, "name": "Unauthorized", "nameLocation": "2004:12:18", "nodeType": "ErrorDefinition", "parameters": { - "id": 7483, + "id": 7592, "nodeType": "ParameterList", "parameters": [], "src": "2016:2:18" @@ -221522,28 +222655,28 @@ }, { "documentation": { - "id": 7485, + "id": 7594, "nodeType": "StructuredDocumentation", "src": "2025:112:18", "text": "@notice Thrown when trying to add an already registered owner.\n @param owner The owner bytes." }, "errorSelector": "8d16255a", - "id": 7489, + "id": 7598, "name": "AlreadyOwner", "nameLocation": "2148:12:18", "nodeType": "ErrorDefinition", "parameters": { - "id": 7488, + "id": 7597, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7487, + "id": 7596, "mutability": "mutable", "name": "owner", "nameLocation": "2167:5:18", "nodeType": "VariableDeclaration", - "scope": 7489, + "scope": 7598, "src": "2161:11:18", "stateVariable": false, "storageLocation": "default", @@ -221552,7 +222685,7 @@ "typeString": "bytes" }, "typeName": { - "id": 7486, + "id": 7595, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "2161:5:18", @@ -221570,28 +222703,28 @@ }, { "documentation": { - "id": 7490, + "id": 7599, "nodeType": "StructuredDocumentation", "src": "2180:139:18", "text": "@notice Thrown when trying to remove an owner from an index that is empty.\n @param index The targeted index for removal." }, "errorSelector": "68188e7a", - "id": 7494, + "id": 7603, "name": "NoOwnerAtIndex", "nameLocation": "2330:14:18", "nodeType": "ErrorDefinition", "parameters": { - "id": 7493, + "id": 7602, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7492, + "id": 7601, "mutability": "mutable", "name": "index", "nameLocation": "2353:5:18", "nodeType": "VariableDeclaration", - "scope": 7494, + "scope": 7603, "src": "2345:13:18", "stateVariable": false, "storageLocation": "default", @@ -221600,7 +222733,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7491, + "id": 7600, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2345:7:18", @@ -221618,28 +222751,28 @@ }, { "documentation": { - "id": 7495, + "id": 7604, "nodeType": "StructuredDocumentation", "src": "2366:276:18", "text": "@notice Thrown when `owner` argument does not match owner found at index.\n @param index The index of the owner to be removed.\n @param expectedOwner The owner passed in the remove call.\n @param actualOwner The actual owner at `index`." }, "errorSelector": "781f2e39", - "id": 7503, + "id": 7612, "name": "WrongOwnerAtIndex", "nameLocation": "2653:17:18", "nodeType": "ErrorDefinition", "parameters": { - "id": 7502, + "id": 7611, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7497, + "id": 7606, "mutability": "mutable", "name": "index", "nameLocation": "2679:5:18", "nodeType": "VariableDeclaration", - "scope": 7503, + "scope": 7612, "src": "2671:13:18", "stateVariable": false, "storageLocation": "default", @@ -221648,7 +222781,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7496, + "id": 7605, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2671:7:18", @@ -221661,12 +222794,12 @@ }, { "constant": false, - "id": 7499, + "id": 7608, "mutability": "mutable", "name": "expectedOwner", "nameLocation": "2692:13:18", "nodeType": "VariableDeclaration", - "scope": 7503, + "scope": 7612, "src": "2686:19:18", "stateVariable": false, "storageLocation": "default", @@ -221675,7 +222808,7 @@ "typeString": "bytes" }, "typeName": { - "id": 7498, + "id": 7607, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "2686:5:18", @@ -221688,12 +222821,12 @@ }, { "constant": false, - "id": 7501, + "id": 7610, "mutability": "mutable", "name": "actualOwner", "nameLocation": "2713:11:18", "nodeType": "VariableDeclaration", - "scope": 7503, + "scope": 7612, "src": "2707:17:18", "stateVariable": false, "storageLocation": "default", @@ -221702,7 +222835,7 @@ "typeString": "bytes" }, "typeName": { - "id": 7500, + "id": 7609, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "2707:5:18", @@ -221720,28 +222853,28 @@ }, { "documentation": { - "id": 7504, + "id": 7613, "nodeType": "StructuredDocumentation", "src": "2732:173:18", "text": "@notice Thrown when a provided owner is neither 64 bytes long (for public key)\n nor a ABI encoded address.\n @param owner The invalid owner." }, "errorSelector": "4eeab722", - "id": 7508, + "id": 7617, "name": "InvalidOwnerBytesLength", "nameLocation": "2916:23:18", "nodeType": "ErrorDefinition", "parameters": { - "id": 7507, + "id": 7616, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7506, + "id": 7615, "mutability": "mutable", "name": "owner", "nameLocation": "2946:5:18", "nodeType": "VariableDeclaration", - "scope": 7508, + "scope": 7617, "src": "2940:11:18", "stateVariable": false, "storageLocation": "default", @@ -221750,7 +222883,7 @@ "typeString": "bytes" }, "typeName": { - "id": 7505, + "id": 7614, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "2940:5:18", @@ -221768,28 +222901,28 @@ }, { "documentation": { - "id": 7509, + "id": 7618, "nodeType": "StructuredDocumentation", "src": "2959:142:18", "text": "@notice Thrown if a provided owner is 32 bytes long but does not fit in an `address` type.\n @param owner The invalid owner." }, "errorSelector": "bff1ac65", - "id": 7513, + "id": 7622, "name": "InvalidEthereumAddressOwner", "nameLocation": "3112:27:18", "nodeType": "ErrorDefinition", "parameters": { - "id": 7512, + "id": 7621, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7511, + "id": 7620, "mutability": "mutable", "name": "owner", "nameLocation": "3146:5:18", "nodeType": "VariableDeclaration", - "scope": 7513, + "scope": 7622, "src": "3140:11:18", "stateVariable": false, "storageLocation": "default", @@ -221798,7 +222931,7 @@ "typeString": "bytes" }, "typeName": { - "id": 7510, + "id": 7619, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "3140:5:18", @@ -221816,18 +222949,18 @@ }, { "documentation": { - "id": 7514, + "id": 7623, "nodeType": "StructuredDocumentation", "src": "3159:89:18", "text": "@notice Thrown when removeOwnerAtIndex is called and there is only one current owner." }, "errorSelector": "948bf897", - "id": 7516, + "id": 7625, "name": "LastOwner", "nameLocation": "3259:9:18", "nodeType": "ErrorDefinition", "parameters": { - "id": 7515, + "id": 7624, "nodeType": "ParameterList", "parameters": [], "src": "3268:2:18" @@ -221836,28 +222969,28 @@ }, { "documentation": { - "id": 7517, + "id": 7626, "nodeType": "StructuredDocumentation", "src": "3277:160:18", "text": "@notice Thrown when removeLastOwner is called and there is more than one current owner.\n @param ownersRemaining The number of current owners." }, "errorSelector": "823f1aa8", - "id": 7521, + "id": 7630, "name": "NotLastOwner", "nameLocation": "3448:12:18", "nodeType": "ErrorDefinition", "parameters": { - "id": 7520, + "id": 7629, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7519, + "id": 7628, "mutability": "mutable", "name": "ownersRemaining", "nameLocation": "3469:15:18", "nodeType": "VariableDeclaration", - "scope": 7521, + "scope": 7630, "src": "3461:23:18", "stateVariable": false, "storageLocation": "default", @@ -221866,7 +222999,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7518, + "id": 7627, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3461:7:18", @@ -221885,29 +223018,29 @@ { "anonymous": false, "documentation": { - "id": 7522, + "id": 7631, "nodeType": "StructuredDocumentation", "src": "3492:154:18", "text": "@notice Emitted when a new owner is registered.\n @param index The owner index of the owner added.\n @param owner The owner added." }, "eventSelector": "38109edc26e166b5579352ce56a50813177eb25208fd90d61f2f378386220220", - "id": 7528, + "id": 7637, "name": "AddOwner", "nameLocation": "3657:8:18", "nodeType": "EventDefinition", "parameters": { - "id": 7527, + "id": 7636, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7524, + "id": 7633, "indexed": true, "mutability": "mutable", "name": "index", "nameLocation": "3682:5:18", "nodeType": "VariableDeclaration", - "scope": 7528, + "scope": 7637, "src": "3666:21:18", "stateVariable": false, "storageLocation": "default", @@ -221916,7 +223049,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7523, + "id": 7632, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3666:7:18", @@ -221929,13 +223062,13 @@ }, { "constant": false, - "id": 7526, + "id": 7635, "indexed": false, "mutability": "mutable", "name": "owner", "nameLocation": "3695:5:18", "nodeType": "VariableDeclaration", - "scope": 7528, + "scope": 7637, "src": "3689:11:18", "stateVariable": false, "storageLocation": "default", @@ -221944,7 +223077,7 @@ "typeString": "bytes" }, "typeName": { - "id": 7525, + "id": 7634, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "3689:5:18", @@ -221963,29 +223096,29 @@ { "anonymous": false, "documentation": { - "id": 7529, + "id": 7638, "nodeType": "StructuredDocumentation", "src": "3708:152:18", "text": "@notice Emitted when an owner is removed.\n @param index The owner index of the owner removed.\n @param owner The owner removed." }, "eventSelector": "cf95bbfe6f870f8cc40482dc3dccdafd268f0e9ce0a4f24ea1bea9be64e505ff", - "id": 7535, + "id": 7644, "name": "RemoveOwner", "nameLocation": "3871:11:18", "nodeType": "EventDefinition", "parameters": { - "id": 7534, + "id": 7643, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7531, + "id": 7640, "indexed": true, "mutability": "mutable", "name": "index", "nameLocation": "3899:5:18", "nodeType": "VariableDeclaration", - "scope": 7535, + "scope": 7644, "src": "3883:21:18", "stateVariable": false, "storageLocation": "default", @@ -221994,7 +223127,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7530, + "id": 7639, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3883:7:18", @@ -222007,13 +223140,13 @@ }, { "constant": false, - "id": 7533, + "id": 7642, "indexed": false, "mutability": "mutable", "name": "owner", "nameLocation": "3912:5:18", "nodeType": "VariableDeclaration", - "scope": 7535, + "scope": 7644, "src": "3906:11:18", "stateVariable": false, "storageLocation": "default", @@ -222022,7 +223155,7 @@ "typeString": "bytes" }, "typeName": { - "id": 7532, + "id": 7641, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "3906:5:18", @@ -222040,7 +223173,7 @@ }, { "body": { - "id": 7542, + "id": 7651, "nodeType": "Block", "src": "4037:41:18", "statements": [ @@ -222049,18 +223182,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 7538, + "id": 7647, "name": "_checkOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7982, + "referencedDeclaration": 8091, "src": "4047:11:18", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$__$", "typeString": "function () view" } }, - "id": 7539, + "id": 7648, "isConstant": false, "isLValue": false, "isPure": false, @@ -222076,29 +223209,29 @@ "typeString": "tuple()" } }, - "id": 7540, + "id": 7649, "nodeType": "ExpressionStatement", "src": "4047:13:18" }, { - "id": 7541, + "id": 7650, "nodeType": "PlaceholderStatement", "src": "4070:1:18" } ] }, "documentation": { - "id": 7536, + "id": 7645, "nodeType": "StructuredDocumentation", "src": "3925:78:18", "text": "@notice Access control modifier ensuring the caller is an authorized owner" }, - "id": 7543, + "id": 7652, "name": "onlyOwner", "nameLocation": "4017:9:18", "nodeType": "ModifierDefinition", "parameters": { - "id": 7537, + "id": 7646, "nodeType": "ParameterList", "parameters": [], "src": "4026:2:18" @@ -222109,7 +223242,7 @@ }, { "body": { - "id": 7562, + "id": 7671, "nodeType": "Block", "src": "4250:96:18", "statements": [ @@ -222119,11 +223252,11 @@ { "arguments": [ { - "id": 7554, + "id": 7663, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7546, + "referencedDeclaration": 7655, "src": "4288:5:18", "typeDescriptions": { "typeIdentifier": "t_address", @@ -222139,7 +223272,7 @@ } ], "expression": { - "id": 7552, + "id": 7661, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -222150,7 +223283,7 @@ "typeString": "abi" } }, - "id": 7553, + "id": 7662, "isConstant": false, "isLValue": false, "isPure": true, @@ -222164,7 +223297,7 @@ "typeString": "function () pure returns (bytes memory)" } }, - "id": 7555, + "id": 7664, "isConstant": false, "isLValue": false, "isPure": false, @@ -222181,7 +223314,7 @@ } }, { - "id": 7559, + "id": 7668, "isConstant": false, "isLValue": false, "isPure": false, @@ -222195,18 +223328,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 7556, + "id": 7665, "name": "_getMultiOwnableStorage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7991, + "referencedDeclaration": 8100, "src": "4296:23:18", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_MultiOwnableStorage_$7476_storage_ptr_$", + "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_MultiOwnableStorage_$7585_storage_ptr_$", "typeString": "function () pure returns (struct MultiOwnableStorage storage pointer)" } }, - "id": 7557, + "id": 7666, "isConstant": false, "isLValue": false, "isPure": false, @@ -222218,11 +223351,11 @@ "src": "4296:25:18", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7476_storage_ptr", + "typeIdentifier": "t_struct$_MultiOwnableStorage_$7585_storage_ptr", "typeString": "struct MultiOwnableStorage storage pointer" } }, - "id": 7558, + "id": 7667, "isConstant": false, "isLValue": true, "isPure": false, @@ -222230,7 +223363,7 @@ "memberLocation": "4322:14:18", "memberName": "nextOwnerIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 7462, + "referencedDeclaration": 7571, "src": "4296:40:18", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -222254,18 +223387,18 @@ "typeString": "uint256" } ], - "id": 7551, + "id": 7660, "name": "_addOwnerAtIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7891, + "referencedDeclaration": 8000, "src": "4260:16:18", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_uint256_$returns$__$", "typeString": "function (bytes memory,uint256)" } }, - "id": 7560, + "id": 7669, "isConstant": false, "isLValue": false, "isPure": false, @@ -222281,34 +223414,34 @@ "typeString": "tuple()" } }, - "id": 7561, + "id": 7670, "nodeType": "ExpressionStatement", "src": "4260:79:18" } ] }, "documentation": { - "id": 7544, + "id": 7653, "nodeType": "StructuredDocumentation", "src": "4084:94:18", "text": "@notice Adds a new Ethereum-address owner.\n @param owner The owner address." }, "functionSelector": "0f0f3f24", - "id": 7563, + "id": 7672, "implemented": true, "kind": "function", "modifiers": [ { - "id": 7549, + "id": 7658, "kind": "modifierInvocation", "modifierName": { - "id": 7548, + "id": 7657, "name": "onlyOwner", "nameLocations": [ "4240:9:18" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 7543, + "referencedDeclaration": 7652, "src": "4240:9:18" }, "nodeType": "ModifierInvocation", @@ -222319,17 +223452,17 @@ "nameLocation": "4192:15:18", "nodeType": "FunctionDefinition", "parameters": { - "id": 7547, + "id": 7656, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7546, + "id": 7655, "mutability": "mutable", "name": "owner", "nameLocation": "4216:5:18", "nodeType": "VariableDeclaration", - "scope": 7563, + "scope": 7672, "src": "4208:13:18", "stateVariable": false, "storageLocation": "default", @@ -222338,7 +223471,7 @@ "typeString": "address" }, "typeName": { - "id": 7545, + "id": 7654, "name": "address", "nodeType": "ElementaryTypeName", "src": "4208:7:18", @@ -222354,12 +223487,12 @@ "src": "4207:15:18" }, "returnParameters": { - "id": 7550, + "id": 7659, "nodeType": "ParameterList", "parameters": [], "src": "4250:0:18" }, - "scope": 7992, + "scope": 8101, "src": "4183:163:18", "stateMutability": "nonpayable", "virtual": true, @@ -222367,7 +223500,7 @@ }, { "body": { - "id": 7585, + "id": 7694, "nodeType": "Block", "src": "4585:95:18", "statements": [ @@ -222377,11 +223510,11 @@ { "arguments": [ { - "id": 7576, + "id": 7685, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7566, + "referencedDeclaration": 7675, "src": "4623:1:18", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -222389,11 +223522,11 @@ } }, { - "id": 7577, + "id": 7686, "name": "y", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7568, + "referencedDeclaration": 7677, "src": "4626:1:18", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -222413,7 +223546,7 @@ } ], "expression": { - "id": 7574, + "id": 7683, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -222424,7 +223557,7 @@ "typeString": "abi" } }, - "id": 7575, + "id": 7684, "isConstant": false, "isLValue": false, "isPure": true, @@ -222438,7 +223571,7 @@ "typeString": "function () pure returns (bytes memory)" } }, - "id": 7578, + "id": 7687, "isConstant": false, "isLValue": false, "isPure": false, @@ -222455,7 +223588,7 @@ } }, { - "id": 7582, + "id": 7691, "isConstant": false, "isLValue": false, "isPure": false, @@ -222469,18 +223602,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 7579, + "id": 7688, "name": "_getMultiOwnableStorage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7991, + "referencedDeclaration": 8100, "src": "4630:23:18", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_MultiOwnableStorage_$7476_storage_ptr_$", + "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_MultiOwnableStorage_$7585_storage_ptr_$", "typeString": "function () pure returns (struct MultiOwnableStorage storage pointer)" } }, - "id": 7580, + "id": 7689, "isConstant": false, "isLValue": false, "isPure": false, @@ -222492,11 +223625,11 @@ "src": "4630:25:18", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7476_storage_ptr", + "typeIdentifier": "t_struct$_MultiOwnableStorage_$7585_storage_ptr", "typeString": "struct MultiOwnableStorage storage pointer" } }, - "id": 7581, + "id": 7690, "isConstant": false, "isLValue": true, "isPure": false, @@ -222504,7 +223637,7 @@ "memberLocation": "4656:14:18", "memberName": "nextOwnerIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 7462, + "referencedDeclaration": 7571, "src": "4630:40:18", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -222528,18 +223661,18 @@ "typeString": "uint256" } ], - "id": 7573, + "id": 7682, "name": "_addOwnerAtIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7891, + "referencedDeclaration": 8000, "src": "4595:16:18", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_uint256_$returns$__$", "typeString": "function (bytes memory,uint256)" } }, - "id": 7583, + "id": 7692, "isConstant": false, "isLValue": false, "isPure": false, @@ -222555,34 +223688,34 @@ "typeString": "tuple()" } }, - "id": 7584, + "id": 7693, "nodeType": "ExpressionStatement", "src": "4595:78:18" } ] }, "documentation": { - "id": 7564, + "id": 7673, "nodeType": "StructuredDocumentation", "src": "4352:152:18", "text": "@notice Adds a new public-key owner.\n @param x The owner public key x coordinate.\n @param y The owner public key y coordinate." }, "functionSelector": "29565e3b", - "id": 7586, + "id": 7695, "implemented": true, "kind": "function", "modifiers": [ { - "id": 7571, + "id": 7680, "kind": "modifierInvocation", "modifierName": { - "id": 7570, + "id": 7679, "name": "onlyOwner", "nameLocations": [ "4575:9:18" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 7543, + "referencedDeclaration": 7652, "src": "4575:9:18" }, "nodeType": "ModifierInvocation", @@ -222593,17 +223726,17 @@ "nameLocation": "4518:17:18", "nodeType": "FunctionDefinition", "parameters": { - "id": 7569, + "id": 7678, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7566, + "id": 7675, "mutability": "mutable", "name": "x", "nameLocation": "4544:1:18", "nodeType": "VariableDeclaration", - "scope": 7586, + "scope": 7695, "src": "4536:9:18", "stateVariable": false, "storageLocation": "default", @@ -222612,7 +223745,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 7565, + "id": 7674, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "4536:7:18", @@ -222625,12 +223758,12 @@ }, { "constant": false, - "id": 7568, + "id": 7677, "mutability": "mutable", "name": "y", "nameLocation": "4555:1:18", "nodeType": "VariableDeclaration", - "scope": 7586, + "scope": 7695, "src": "4547:9:18", "stateVariable": false, "storageLocation": "default", @@ -222639,7 +223772,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 7567, + "id": 7676, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "4547:7:18", @@ -222654,12 +223787,12 @@ "src": "4535:22:18" }, "returnParameters": { - "id": 7572, + "id": 7681, "nodeType": "ParameterList", "parameters": [], "src": "4585:0:18" }, - "scope": 7992, + "scope": 8101, "src": "4509:171:18", "stateMutability": "nonpayable", "virtual": true, @@ -222667,7 +223800,7 @@ }, { "body": { - "id": 7610, + "id": 7719, "nodeType": "Block", "src": "5170:126:18", "statements": [ @@ -222677,7 +223810,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7599, + "id": 7708, "isConstant": false, "isLValue": false, "isPure": false, @@ -222686,18 +223819,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 7596, + "id": 7705, "name": "ownerCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7740, + "referencedDeclaration": 7849, "src": "5184:10:18", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", "typeString": "function () view returns (uint256)" } }, - "id": 7597, + "id": 7706, "isConstant": false, "isLValue": false, "isPure": false, @@ -222717,7 +223850,7 @@ "operator": "==", "rightExpression": { "hexValue": "31", - "id": 7598, + "id": 7707, "isConstant": false, "isLValue": false, "isPure": true, @@ -222737,11 +223870,11 @@ "typeString": "bool" } }, - "id": 7604, + "id": 7713, "nodeType": "IfStatement", "src": "5180:66:18", "trueBody": { - "id": 7603, + "id": 7712, "nodeType": "Block", "src": "5203:43:18", "statements": [ @@ -222750,18 +223883,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 7600, + "id": 7709, "name": "LastOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7516, + "referencedDeclaration": 7625, "src": "5224:9:18", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$__$returns$_t_error_$", "typeString": "function () pure returns (error)" } }, - "id": 7601, + "id": 7710, "isConstant": false, "isLValue": false, "isPure": false, @@ -222777,7 +223910,7 @@ "typeString": "error" } }, - "id": 7602, + "id": 7711, "nodeType": "RevertStatement", "src": "5217:18:18" } @@ -222788,11 +223921,11 @@ "expression": { "arguments": [ { - "id": 7606, + "id": 7715, "name": "index", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7589, + "referencedDeclaration": 7698, "src": "5276:5:18", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -222800,11 +223933,11 @@ } }, { - "id": 7607, + "id": 7716, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7591, + "referencedDeclaration": 7700, "src": "5283:5:18", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", @@ -222823,18 +223956,18 @@ "typeString": "bytes calldata" } ], - "id": 7605, + "id": 7714, "name": "_removeOwnerAtIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7958, + "referencedDeclaration": 8067, "src": "5256:19:18", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_bytes_calldata_ptr_$returns$__$", "typeString": "function (uint256,bytes calldata)" } }, - "id": 7608, + "id": 7717, "isConstant": false, "isLValue": false, "isPure": false, @@ -222850,34 +223983,34 @@ "typeString": "tuple()" } }, - "id": 7609, + "id": 7718, "nodeType": "ExpressionStatement", "src": "5256:33:18" } ] }, "documentation": { - "id": 7587, + "id": 7696, "nodeType": "StructuredDocumentation", "src": "4686:387:18", "text": "@notice Removes owner at the given `index`.\n @dev Reverts if the owner is not registered at `index`.\n @dev Reverts if there is currently only one owner.\n @dev Reverts if `owner` does not match bytes found at `index`.\n @param index The index of the owner to be removed.\n @param owner The ABI encoded bytes of the owner to be removed." }, "functionSelector": "89625b57", - "id": 7611, + "id": 7720, "implemented": true, "kind": "function", "modifiers": [ { - "id": 7594, + "id": 7703, "kind": "modifierInvocation", "modifierName": { - "id": 7593, + "id": 7702, "name": "onlyOwner", "nameLocations": [ "5160:9:18" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 7543, + "referencedDeclaration": 7652, "src": "5160:9:18" }, "nodeType": "ModifierInvocation", @@ -222888,17 +224021,17 @@ "nameLocation": "5087:18:18", "nodeType": "FunctionDefinition", "parameters": { - "id": 7592, + "id": 7701, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7589, + "id": 7698, "mutability": "mutable", "name": "index", "nameLocation": "5114:5:18", "nodeType": "VariableDeclaration", - "scope": 7611, + "scope": 7720, "src": "5106:13:18", "stateVariable": false, "storageLocation": "default", @@ -222907,7 +224040,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7588, + "id": 7697, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5106:7:18", @@ -222920,12 +224053,12 @@ }, { "constant": false, - "id": 7591, + "id": 7700, "mutability": "mutable", "name": "owner", "nameLocation": "5136:5:18", "nodeType": "VariableDeclaration", - "scope": 7611, + "scope": 7720, "src": "5121:20:18", "stateVariable": false, "storageLocation": "calldata", @@ -222934,7 +224067,7 @@ "typeString": "bytes" }, "typeName": { - "id": 7590, + "id": 7699, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "5121:5:18", @@ -222949,12 +224082,12 @@ "src": "5105:37:18" }, "returnParameters": { - "id": 7595, + "id": 7704, "nodeType": "ParameterList", "parameters": [], "src": "5170:0:18" }, - "scope": 7992, + "scope": 8101, "src": "5078:218:18", "stateMutability": "nonpayable", "virtual": true, @@ -222962,23 +224095,23 @@ }, { "body": { - "id": 7640, + "id": 7749, "nodeType": "Block", "src": "5828:194:18", "statements": [ { "assignments": [ - 7622 + 7731 ], "declarations": [ { "constant": false, - "id": 7622, + "id": 7731, "mutability": "mutable", "name": "ownersRemaining", "nameLocation": "5846:15:18", "nodeType": "VariableDeclaration", - "scope": 7640, + "scope": 7749, "src": "5838:23:18", "stateVariable": false, "storageLocation": "default", @@ -222987,7 +224120,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7621, + "id": 7730, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5838:7:18", @@ -222999,23 +224132,23 @@ "visibility": "internal" } ], - "id": 7625, + "id": 7734, "initialValue": { "arguments": [], "expression": { "argumentTypes": [], - "id": 7623, + "id": 7732, "name": "ownerCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7740, + "referencedDeclaration": 7849, "src": "5864:10:18", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", "typeString": "function () view returns (uint256)" } }, - "id": 7624, + "id": 7733, "isConstant": false, "isLValue": false, "isPure": false, @@ -223040,17 +224173,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7628, + "id": 7737, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 7626, + "id": 7735, "name": "ownersRemaining", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7622, + "referencedDeclaration": 7731, "src": "5890:15:18", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -223061,7 +224194,7 @@ "operator": ">", "rightExpression": { "hexValue": "31", - "id": 7627, + "id": 7736, "isConstant": false, "isLValue": false, "isPure": true, @@ -223081,11 +224214,11 @@ "typeString": "bool" } }, - "id": 7634, + "id": 7743, "nodeType": "IfStatement", "src": "5886:86:18", "trueBody": { - "id": 7633, + "id": 7742, "nodeType": "Block", "src": "5911:61:18", "statements": [ @@ -223093,11 +224226,11 @@ "errorCall": { "arguments": [ { - "id": 7630, + "id": 7739, "name": "ownersRemaining", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7622, + "referencedDeclaration": 7731, "src": "5945:15:18", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -223112,18 +224245,18 @@ "typeString": "uint256" } ], - "id": 7629, + "id": 7738, "name": "NotLastOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7521, + "referencedDeclaration": 7630, "src": "5932:12:18", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_uint256_$returns$_t_error_$", "typeString": "function (uint256) pure returns (error)" } }, - "id": 7631, + "id": 7740, "isConstant": false, "isLValue": false, "isPure": false, @@ -223139,7 +224272,7 @@ "typeString": "error" } }, - "id": 7632, + "id": 7741, "nodeType": "RevertStatement", "src": "5925:36:18" } @@ -223150,11 +224283,11 @@ "expression": { "arguments": [ { - "id": 7636, + "id": 7745, "name": "index", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7614, + "referencedDeclaration": 7723, "src": "6002:5:18", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -223162,11 +224295,11 @@ } }, { - "id": 7637, + "id": 7746, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7616, + "referencedDeclaration": 7725, "src": "6009:5:18", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", @@ -223185,18 +224318,18 @@ "typeString": "bytes calldata" } ], - "id": 7635, + "id": 7744, "name": "_removeOwnerAtIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7958, + "referencedDeclaration": 8067, "src": "5982:19:18", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_bytes_calldata_ptr_$returns$__$", "typeString": "function (uint256,bytes calldata)" } }, - "id": 7638, + "id": 7747, "isConstant": false, "isLValue": false, "isPure": false, @@ -223212,34 +224345,34 @@ "typeString": "tuple()" } }, - "id": 7639, + "id": 7748, "nodeType": "ExpressionStatement", "src": "5982:33:18" } ] }, "documentation": { - "id": 7612, + "id": 7721, "nodeType": "StructuredDocumentation", "src": "5302:432:18", "text": "@notice Removes owner at the given `index`, which should be the only current owner.\n @dev Reverts if the owner is not registered at `index`.\n @dev Reverts if there is currently more than one owner.\n @dev Reverts if `owner` does not match bytes found at `index`.\n @param index The index of the owner to be removed.\n @param owner The ABI encoded bytes of the owner to be removed." }, "functionSelector": "b8197367", - "id": 7641, + "id": 7750, "implemented": true, "kind": "function", "modifiers": [ { - "id": 7619, + "id": 7728, "kind": "modifierInvocation", "modifierName": { - "id": 7618, + "id": 7727, "name": "onlyOwner", "nameLocations": [ "5818:9:18" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 7543, + "referencedDeclaration": 7652, "src": "5818:9:18" }, "nodeType": "ModifierInvocation", @@ -223250,17 +224383,17 @@ "nameLocation": "5748:15:18", "nodeType": "FunctionDefinition", "parameters": { - "id": 7617, + "id": 7726, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7614, + "id": 7723, "mutability": "mutable", "name": "index", "nameLocation": "5772:5:18", "nodeType": "VariableDeclaration", - "scope": 7641, + "scope": 7750, "src": "5764:13:18", "stateVariable": false, "storageLocation": "default", @@ -223269,7 +224402,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7613, + "id": 7722, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5764:7:18", @@ -223282,12 +224415,12 @@ }, { "constant": false, - "id": 7616, + "id": 7725, "mutability": "mutable", "name": "owner", "nameLocation": "5794:5:18", "nodeType": "VariableDeclaration", - "scope": 7641, + "scope": 7750, "src": "5779:20:18", "stateVariable": false, "storageLocation": "calldata", @@ -223296,7 +224429,7 @@ "typeString": "bytes" }, "typeName": { - "id": 7615, + "id": 7724, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "5779:5:18", @@ -223311,12 +224444,12 @@ "src": "5763:37:18" }, "returnParameters": { - "id": 7620, + "id": 7729, "nodeType": "ParameterList", "parameters": [], "src": "5828:0:18" }, - "scope": 7992, + "scope": 8101, "src": "5739:283:18", "stateMutability": "nonpayable", "virtual": true, @@ -223324,7 +224457,7 @@ }, { "body": { - "id": 7658, + "id": 7767, "nodeType": "Block", "src": "6315:78:18", "statements": [ @@ -223335,18 +224468,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 7649, + "id": 7758, "name": "_getMultiOwnableStorage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7991, + "referencedDeclaration": 8100, "src": "6332:23:18", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_MultiOwnableStorage_$7476_storage_ptr_$", + "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_MultiOwnableStorage_$7585_storage_ptr_$", "typeString": "function () pure returns (struct MultiOwnableStorage storage pointer)" } }, - "id": 7650, + "id": 7759, "isConstant": false, "isLValue": false, "isPure": false, @@ -223358,11 +224491,11 @@ "src": "6332:25:18", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7476_storage_ptr", + "typeIdentifier": "t_struct$_MultiOwnableStorage_$7585_storage_ptr", "typeString": "struct MultiOwnableStorage storage pointer" } }, - "id": 7651, + "id": 7760, "isConstant": false, "isLValue": true, "isPure": false, @@ -223370,22 +224503,22 @@ "memberLocation": "6358:7:18", "memberName": "isOwner", "nodeType": "MemberAccess", - "referencedDeclaration": 7475, + "referencedDeclaration": 7584, "src": "6332:33:18", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes_memory_ptr_$_t_bool_$", "typeString": "mapping(bytes memory => bool)" } }, - "id": 7656, + "id": 7765, "indexExpression": { "arguments": [ { - "id": 7654, + "id": 7763, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7644, + "referencedDeclaration": 7753, "src": "6377:7:18", "typeDescriptions": { "typeIdentifier": "t_address", @@ -223401,7 +224534,7 @@ } ], "expression": { - "id": 7652, + "id": 7761, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -223412,7 +224545,7 @@ "typeString": "abi" } }, - "id": 7653, + "id": 7762, "isConstant": false, "isLValue": false, "isPure": true, @@ -223426,7 +224559,7 @@ "typeString": "function () pure returns (bytes memory)" } }, - "id": 7655, + "id": 7764, "isConstant": false, "isLValue": false, "isPure": false, @@ -223453,21 +224586,21 @@ "typeString": "bool" } }, - "functionReturnParameters": 7648, - "id": 7657, + "functionReturnParameters": 7757, + "id": 7766, "nodeType": "Return", "src": "6325:61:18" } ] }, "documentation": { - "id": 7642, + "id": 7751, "nodeType": "StructuredDocumentation", "src": "6028:206:18", "text": "@notice Checks if the given `account` address is registered as owner.\n @param account The account address to check.\n @return `true` if the account is an owner else `false`." }, "functionSelector": "a2e1a8d8", - "id": 7659, + "id": 7768, "implemented": true, "kind": "function", "modifiers": [], @@ -223475,17 +224608,17 @@ "nameLocation": "6248:14:18", "nodeType": "FunctionDefinition", "parameters": { - "id": 7645, + "id": 7754, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7644, + "id": 7753, "mutability": "mutable", "name": "account", "nameLocation": "6271:7:18", "nodeType": "VariableDeclaration", - "scope": 7659, + "scope": 7768, "src": "6263:15:18", "stateVariable": false, "storageLocation": "default", @@ -223494,7 +224627,7 @@ "typeString": "address" }, "typeName": { - "id": 7643, + "id": 7752, "name": "address", "nodeType": "ElementaryTypeName", "src": "6263:7:18", @@ -223510,17 +224643,17 @@ "src": "6262:17:18" }, "returnParameters": { - "id": 7648, + "id": 7757, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7647, + "id": 7756, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 7659, + "scope": 7768, "src": "6309:4:18", "stateVariable": false, "storageLocation": "default", @@ -223529,7 +224662,7 @@ "typeString": "bool" }, "typeName": { - "id": 7646, + "id": 7755, "name": "bool", "nodeType": "ElementaryTypeName", "src": "6309:4:18", @@ -223543,7 +224676,7 @@ ], "src": "6308:6:18" }, - "scope": 7992, + "scope": 8101, "src": "6239:154:18", "stateMutability": "view", "virtual": true, @@ -223551,7 +224684,7 @@ }, { "body": { - "id": 7679, + "id": 7788, "nodeType": "Block", "src": "6734:75:18", "statements": [ @@ -223562,18 +224695,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 7669, + "id": 7778, "name": "_getMultiOwnableStorage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7991, + "referencedDeclaration": 8100, "src": "6751:23:18", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_MultiOwnableStorage_$7476_storage_ptr_$", + "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_MultiOwnableStorage_$7585_storage_ptr_$", "typeString": "function () pure returns (struct MultiOwnableStorage storage pointer)" } }, - "id": 7670, + "id": 7779, "isConstant": false, "isLValue": false, "isPure": false, @@ -223585,11 +224718,11 @@ "src": "6751:25:18", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7476_storage_ptr", + "typeIdentifier": "t_struct$_MultiOwnableStorage_$7585_storage_ptr", "typeString": "struct MultiOwnableStorage storage pointer" } }, - "id": 7671, + "id": 7780, "isConstant": false, "isLValue": true, "isPure": false, @@ -223597,22 +224730,22 @@ "memberLocation": "6777:7:18", "memberName": "isOwner", "nodeType": "MemberAccess", - "referencedDeclaration": 7475, + "referencedDeclaration": 7584, "src": "6751:33:18", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes_memory_ptr_$_t_bool_$", "typeString": "mapping(bytes memory => bool)" } }, - "id": 7677, + "id": 7786, "indexExpression": { "arguments": [ { - "id": 7674, + "id": 7783, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7662, + "referencedDeclaration": 7771, "src": "6796:1:18", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -223620,11 +224753,11 @@ } }, { - "id": 7675, + "id": 7784, "name": "y", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7664, + "referencedDeclaration": 7773, "src": "6799:1:18", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -223644,7 +224777,7 @@ } ], "expression": { - "id": 7672, + "id": 7781, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -223655,7 +224788,7 @@ "typeString": "abi" } }, - "id": 7673, + "id": 7782, "isConstant": false, "isLValue": false, "isPure": true, @@ -223669,7 +224802,7 @@ "typeString": "function () pure returns (bytes memory)" } }, - "id": 7676, + "id": 7785, "isConstant": false, "isLValue": false, "isPure": false, @@ -223696,21 +224829,21 @@ "typeString": "bool" } }, - "functionReturnParameters": 7668, - "id": 7678, + "functionReturnParameters": 7777, + "id": 7787, "nodeType": "Return", "src": "6744:58:18" } ] }, "documentation": { - "id": 7660, + "id": 7769, "nodeType": "StructuredDocumentation", "src": "6399:247:18", "text": "@notice Checks if the given `x`, `y` public key is registered as owner.\n @param x The public key x coordinate.\n @param y The public key y coordinate.\n @return `true` if the account is an owner else `false`." }, "functionSelector": "066a1eb7", - "id": 7680, + "id": 7789, "implemented": true, "kind": "function", "modifiers": [], @@ -223718,17 +224851,17 @@ "nameLocation": "6660:16:18", "nodeType": "FunctionDefinition", "parameters": { - "id": 7665, + "id": 7774, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7662, + "id": 7771, "mutability": "mutable", "name": "x", "nameLocation": "6685:1:18", "nodeType": "VariableDeclaration", - "scope": 7680, + "scope": 7789, "src": "6677:9:18", "stateVariable": false, "storageLocation": "default", @@ -223737,7 +224870,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 7661, + "id": 7770, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "6677:7:18", @@ -223750,12 +224883,12 @@ }, { "constant": false, - "id": 7664, + "id": 7773, "mutability": "mutable", "name": "y", "nameLocation": "6696:1:18", "nodeType": "VariableDeclaration", - "scope": 7680, + "scope": 7789, "src": "6688:9:18", "stateVariable": false, "storageLocation": "default", @@ -223764,7 +224897,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 7663, + "id": 7772, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "6688:7:18", @@ -223779,17 +224912,17 @@ "src": "6676:22:18" }, "returnParameters": { - "id": 7668, + "id": 7777, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7667, + "id": 7776, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 7680, + "scope": 7789, "src": "6728:4:18", "stateVariable": false, "storageLocation": "default", @@ -223798,7 +224931,7 @@ "typeString": "bool" }, "typeName": { - "id": 7666, + "id": 7775, "name": "bool", "nodeType": "ElementaryTypeName", "src": "6728:4:18", @@ -223812,7 +224945,7 @@ ], "src": "6727:6:18" }, - "scope": 7992, + "scope": 8101, "src": "6651:158:18", "stateMutability": "view", "virtual": true, @@ -223820,7 +224953,7 @@ }, { "body": { - "id": 7694, + "id": 7803, "nodeType": "Block", "src": "7131:66:18", "statements": [ @@ -223831,18 +224964,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 7688, + "id": 7797, "name": "_getMultiOwnableStorage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7991, + "referencedDeclaration": 8100, "src": "7148:23:18", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_MultiOwnableStorage_$7476_storage_ptr_$", + "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_MultiOwnableStorage_$7585_storage_ptr_$", "typeString": "function () pure returns (struct MultiOwnableStorage storage pointer)" } }, - "id": 7689, + "id": 7798, "isConstant": false, "isLValue": false, "isPure": false, @@ -223854,11 +224987,11 @@ "src": "7148:25:18", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7476_storage_ptr", + "typeIdentifier": "t_struct$_MultiOwnableStorage_$7585_storage_ptr", "typeString": "struct MultiOwnableStorage storage pointer" } }, - "id": 7690, + "id": 7799, "isConstant": false, "isLValue": true, "isPure": false, @@ -223866,20 +224999,20 @@ "memberLocation": "7174:7:18", "memberName": "isOwner", "nodeType": "MemberAccess", - "referencedDeclaration": 7475, + "referencedDeclaration": 7584, "src": "7148:33:18", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes_memory_ptr_$_t_bool_$", "typeString": "mapping(bytes memory => bool)" } }, - "id": 7692, + "id": 7801, "indexExpression": { - "id": 7691, + "id": 7800, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7683, + "referencedDeclaration": 7792, "src": "7182:7:18", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -223897,21 +225030,21 @@ "typeString": "bool" } }, - "functionReturnParameters": 7687, - "id": 7693, + "functionReturnParameters": 7796, + "id": 7802, "nodeType": "Return", "src": "7141:49:18" } ] }, "documentation": { - "id": 7681, + "id": 7790, "nodeType": "StructuredDocumentation", "src": "6815:232:18", "text": "@notice Checks if the given `account` bytes is registered as owner.\n @param account The account, should be ABI encoded address or public key.\n @return `true` if the account is an owner else `false`." }, "functionSelector": "1ca5393f", - "id": 7695, + "id": 7804, "implemented": true, "kind": "function", "modifiers": [], @@ -223919,17 +225052,17 @@ "nameLocation": "7061:12:18", "nodeType": "FunctionDefinition", "parameters": { - "id": 7684, + "id": 7793, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7683, + "id": 7792, "mutability": "mutable", "name": "account", "nameLocation": "7087:7:18", "nodeType": "VariableDeclaration", - "scope": 7695, + "scope": 7804, "src": "7074:20:18", "stateVariable": false, "storageLocation": "memory", @@ -223938,7 +225071,7 @@ "typeString": "bytes" }, "typeName": { - "id": 7682, + "id": 7791, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "7074:5:18", @@ -223953,17 +225086,17 @@ "src": "7073:22:18" }, "returnParameters": { - "id": 7687, + "id": 7796, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7686, + "id": 7795, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 7695, + "scope": 7804, "src": "7125:4:18", "stateVariable": false, "storageLocation": "default", @@ -223972,7 +225105,7 @@ "typeString": "bool" }, "typeName": { - "id": 7685, + "id": 7794, "name": "bool", "nodeType": "ElementaryTypeName", "src": "7125:4:18", @@ -223986,7 +225119,7 @@ ], "src": "7124:6:18" }, - "scope": 7992, + "scope": 8101, "src": "7052:145:18", "stateMutability": "view", "virtual": true, @@ -223994,7 +225127,7 @@ }, { "body": { - "id": 7709, + "id": 7818, "nodeType": "Block", "src": "7486:69:18", "statements": [ @@ -224005,18 +225138,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 7703, + "id": 7812, "name": "_getMultiOwnableStorage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7991, + "referencedDeclaration": 8100, "src": "7503:23:18", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_MultiOwnableStorage_$7476_storage_ptr_$", + "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_MultiOwnableStorage_$7585_storage_ptr_$", "typeString": "function () pure returns (struct MultiOwnableStorage storage pointer)" } }, - "id": 7704, + "id": 7813, "isConstant": false, "isLValue": false, "isPure": false, @@ -224028,11 +225161,11 @@ "src": "7503:25:18", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7476_storage_ptr", + "typeIdentifier": "t_struct$_MultiOwnableStorage_$7585_storage_ptr", "typeString": "struct MultiOwnableStorage storage pointer" } }, - "id": 7705, + "id": 7814, "isConstant": false, "isLValue": true, "isPure": false, @@ -224040,20 +225173,20 @@ "memberLocation": "7529:12:18", "memberName": "ownerAtIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 7470, + "referencedDeclaration": 7579, "src": "7503:38:18", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes_storage_$", "typeString": "mapping(uint256 => bytes storage ref)" } }, - "id": 7707, + "id": 7816, "indexExpression": { - "id": 7706, + "id": 7815, "name": "index", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7698, + "referencedDeclaration": 7807, "src": "7542:5:18", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -224071,21 +225204,21 @@ "typeString": "bytes storage ref" } }, - "functionReturnParameters": 7702, - "id": 7708, + "functionReturnParameters": 7811, + "id": 7817, "nodeType": "Return", "src": "7496:52:18" } ] }, "documentation": { - "id": 7696, + "id": 7805, "nodeType": "StructuredDocumentation", "src": "7203:198:18", "text": "@notice Returns the owner bytes at the given `index`.\n @param index The index to lookup.\n @return The owner bytes (empty if no owner is registered at this `index`)." }, "functionSelector": "8ea69029", - "id": 7710, + "id": 7819, "implemented": true, "kind": "function", "modifiers": [], @@ -224093,17 +225226,17 @@ "nameLocation": "7415:12:18", "nodeType": "FunctionDefinition", "parameters": { - "id": 7699, + "id": 7808, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7698, + "id": 7807, "mutability": "mutable", "name": "index", "nameLocation": "7436:5:18", "nodeType": "VariableDeclaration", - "scope": 7710, + "scope": 7819, "src": "7428:13:18", "stateVariable": false, "storageLocation": "default", @@ -224112,7 +225245,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7697, + "id": 7806, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "7428:7:18", @@ -224127,17 +225260,17 @@ "src": "7427:15:18" }, "returnParameters": { - "id": 7702, + "id": 7811, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7701, + "id": 7810, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 7710, + "scope": 7819, "src": "7472:12:18", "stateVariable": false, "storageLocation": "memory", @@ -224146,7 +225279,7 @@ "typeString": "bytes" }, "typeName": { - "id": 7700, + "id": 7809, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "7472:5:18", @@ -224160,7 +225293,7 @@ ], "src": "7471:14:18" }, - "scope": 7992, + "scope": 8101, "src": "7406:149:18", "stateMutability": "view", "virtual": true, @@ -224168,7 +225301,7 @@ }, { "body": { - "id": 7720, + "id": 7829, "nodeType": "Block", "src": "7779:64:18", "statements": [ @@ -224178,18 +225311,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 7716, + "id": 7825, "name": "_getMultiOwnableStorage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7991, + "referencedDeclaration": 8100, "src": "7796:23:18", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_MultiOwnableStorage_$7476_storage_ptr_$", + "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_MultiOwnableStorage_$7585_storage_ptr_$", "typeString": "function () pure returns (struct MultiOwnableStorage storage pointer)" } }, - "id": 7717, + "id": 7826, "isConstant": false, "isLValue": false, "isPure": false, @@ -224201,11 +225334,11 @@ "src": "7796:25:18", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7476_storage_ptr", + "typeIdentifier": "t_struct$_MultiOwnableStorage_$7585_storage_ptr", "typeString": "struct MultiOwnableStorage storage pointer" } }, - "id": 7718, + "id": 7827, "isConstant": false, "isLValue": true, "isPure": false, @@ -224213,28 +225346,28 @@ "memberLocation": "7822:14:18", "memberName": "nextOwnerIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 7462, + "referencedDeclaration": 7571, "src": "7796:40:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 7715, - "id": 7719, + "functionReturnParameters": 7824, + "id": 7828, "nodeType": "Return", "src": "7789:47:18" } ] }, "documentation": { - "id": 7711, + "id": 7820, "nodeType": "StructuredDocumentation", "src": "7561:149:18", "text": "@notice Returns the next index that will be used to add a new owner.\n @return The next index that will be used to add a new owner." }, "functionSelector": "d948fd2e", - "id": 7721, + "id": 7830, "implemented": true, "kind": "function", "modifiers": [], @@ -224242,23 +225375,23 @@ "nameLocation": "7724:14:18", "nodeType": "FunctionDefinition", "parameters": { - "id": 7712, + "id": 7821, "nodeType": "ParameterList", "parameters": [], "src": "7738:2:18" }, "returnParameters": { - "id": 7715, + "id": 7824, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7714, + "id": 7823, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 7721, + "scope": 7830, "src": "7770:7:18", "stateVariable": false, "storageLocation": "default", @@ -224267,7 +225400,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7713, + "id": 7822, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "7770:7:18", @@ -224281,7 +225414,7 @@ ], "src": "7769:9:18" }, - "scope": 7992, + "scope": 8101, "src": "7715:128:18", "stateMutability": "view", "virtual": true, @@ -224289,70 +225422,70 @@ }, { "body": { - "id": 7739, + "id": 7848, "nodeType": "Block", "src": "8010:130:18", "statements": [ { "assignments": [ - 7729 + 7838 ], "declarations": [ { "constant": false, - "id": 7729, + "id": 7838, "mutability": "mutable", "name": "$", "nameLocation": "8048:1:18", "nodeType": "VariableDeclaration", - "scope": 7739, + "scope": 7848, "src": "8020:29:18", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7476_storage_ptr", + "typeIdentifier": "t_struct$_MultiOwnableStorage_$7585_storage_ptr", "typeString": "struct MultiOwnableStorage" }, "typeName": { - "id": 7728, + "id": 7837, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 7727, + "id": 7836, "name": "MultiOwnableStorage", "nameLocations": [ "8020:19:18" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 7476, + "referencedDeclaration": 7585, "src": "8020:19:18" }, - "referencedDeclaration": 7476, + "referencedDeclaration": 7585, "src": "8020:19:18", "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7476_storage_ptr", + "typeIdentifier": "t_struct$_MultiOwnableStorage_$7585_storage_ptr", "typeString": "struct MultiOwnableStorage" } }, "visibility": "internal" } ], - "id": 7732, + "id": 7841, "initialValue": { "arguments": [], "expression": { "argumentTypes": [], - "id": 7730, + "id": 7839, "name": "_getMultiOwnableStorage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7991, + "referencedDeclaration": 8100, "src": "8052:23:18", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_MultiOwnableStorage_$7476_storage_ptr_$", + "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_MultiOwnableStorage_$7585_storage_ptr_$", "typeString": "function () pure returns (struct MultiOwnableStorage storage pointer)" } }, - "id": 7731, + "id": 7840, "isConstant": false, "isLValue": false, "isPure": false, @@ -224364,7 +225497,7 @@ "src": "8052:25:18", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7476_storage_ptr", + "typeIdentifier": "t_struct$_MultiOwnableStorage_$7585_storage_ptr", "typeString": "struct MultiOwnableStorage storage pointer" } }, @@ -224377,25 +225510,25 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7737, + "id": 7846, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 7733, + "id": 7842, "name": "$", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7729, + "referencedDeclaration": 7838, "src": "8094:1:18", "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7476_storage_ptr", + "typeIdentifier": "t_struct$_MultiOwnableStorage_$7585_storage_ptr", "typeString": "struct MultiOwnableStorage storage pointer" } }, - "id": 7734, + "id": 7843, "isConstant": false, "isLValue": true, "isPure": false, @@ -224403,7 +225536,7 @@ "memberLocation": "8096:14:18", "memberName": "nextOwnerIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 7462, + "referencedDeclaration": 7571, "src": "8094:16:18", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -224414,18 +225547,18 @@ "operator": "-", "rightExpression": { "expression": { - "id": 7735, + "id": 7844, "name": "$", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7729, + "referencedDeclaration": 7838, "src": "8113:1:18", "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7476_storage_ptr", + "typeIdentifier": "t_struct$_MultiOwnableStorage_$7585_storage_ptr", "typeString": "struct MultiOwnableStorage storage pointer" } }, - "id": 7736, + "id": 7845, "isConstant": false, "isLValue": true, "isPure": false, @@ -224433,7 +225566,7 @@ "memberLocation": "8115:18:18", "memberName": "removedOwnersCount", "nodeType": "MemberAccess", - "referencedDeclaration": 7465, + "referencedDeclaration": 7574, "src": "8113:20:18", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -224446,21 +225579,21 @@ "typeString": "uint256" } }, - "functionReturnParameters": 7726, - "id": 7738, + "functionReturnParameters": 7835, + "id": 7847, "nodeType": "Return", "src": "8087:46:18" } ] }, "documentation": { - "id": 7722, + "id": 7831, "nodeType": "StructuredDocumentation", "src": "7849:96:18", "text": "@notice Returns the current number of owners\n @return The current owner count" }, "functionSelector": "0db02622", - "id": 7740, + "id": 7849, "implemented": true, "kind": "function", "modifiers": [], @@ -224468,23 +225601,23 @@ "nameLocation": "7959:10:18", "nodeType": "FunctionDefinition", "parameters": { - "id": 7723, + "id": 7832, "nodeType": "ParameterList", "parameters": [], "src": "7969:2:18" }, "returnParameters": { - "id": 7726, + "id": 7835, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7725, + "id": 7834, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 7740, + "scope": 7849, "src": "8001:7:18", "stateVariable": false, "storageLocation": "default", @@ -224493,7 +225626,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7724, + "id": 7833, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8001:7:18", @@ -224507,7 +225640,7 @@ ], "src": "8000:9:18" }, - "scope": 7992, + "scope": 8101, "src": "7950:190:18", "stateMutability": "view", "virtual": true, @@ -224515,7 +225648,7 @@ }, { "body": { - "id": 7750, + "id": 7859, "nodeType": "Block", "src": "8417:68:18", "statements": [ @@ -224525,18 +225658,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 7746, + "id": 7855, "name": "_getMultiOwnableStorage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7991, + "referencedDeclaration": 8100, "src": "8434:23:18", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_MultiOwnableStorage_$7476_storage_ptr_$", + "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_MultiOwnableStorage_$7585_storage_ptr_$", "typeString": "function () pure returns (struct MultiOwnableStorage storage pointer)" } }, - "id": 7747, + "id": 7856, "isConstant": false, "isLValue": false, "isPure": false, @@ -224548,11 +225681,11 @@ "src": "8434:25:18", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7476_storage_ptr", + "typeIdentifier": "t_struct$_MultiOwnableStorage_$7585_storage_ptr", "typeString": "struct MultiOwnableStorage storage pointer" } }, - "id": 7748, + "id": 7857, "isConstant": false, "isLValue": true, "isPure": false, @@ -224560,28 +225693,28 @@ "memberLocation": "8460:18:18", "memberName": "removedOwnersCount", "nodeType": "MemberAccess", - "referencedDeclaration": 7465, + "referencedDeclaration": 7574, "src": "8434:44:18", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 7745, - "id": 7749, + "functionReturnParameters": 7854, + "id": 7858, "nodeType": "Return", "src": "8427:51:18" } ] }, "documentation": { - "id": 7741, + "id": 7850, "nodeType": "StructuredDocumentation", "src": "8146:198:18", "text": "@notice Tracks the number of owners removed\n @dev Used with `this.nextOwnerIndex` to avoid removing all owners\n @return The number of owners that have been removed." }, "functionSelector": "36d9cf9b", - "id": 7751, + "id": 7860, "implemented": true, "kind": "function", "modifiers": [], @@ -224589,23 +225722,23 @@ "nameLocation": "8358:18:18", "nodeType": "FunctionDefinition", "parameters": { - "id": 7742, + "id": 7851, "nodeType": "ParameterList", "parameters": [], "src": "8376:2:18" }, "returnParameters": { - "id": 7745, + "id": 7854, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7744, + "id": 7853, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 7751, + "scope": 7860, "src": "8408:7:18", "stateVariable": false, "storageLocation": "default", @@ -224614,7 +225747,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7743, + "id": 7852, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8408:7:18", @@ -224628,7 +225761,7 @@ ], "src": "8407:9:18" }, - "scope": 7992, + "scope": 8101, "src": "8349:136:18", "stateMutability": "view", "virtual": true, @@ -224636,70 +225769,70 @@ }, { "body": { - "id": 7846, + "id": 7955, "nodeType": "Block", "src": "8862:603:18", "statements": [ { "assignments": [ - 7760 + 7869 ], "declarations": [ { "constant": false, - "id": 7760, + "id": 7869, "mutability": "mutable", "name": "$", "nameLocation": "8900:1:18", "nodeType": "VariableDeclaration", - "scope": 7846, + "scope": 7955, "src": "8872:29:18", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7476_storage_ptr", + "typeIdentifier": "t_struct$_MultiOwnableStorage_$7585_storage_ptr", "typeString": "struct MultiOwnableStorage" }, "typeName": { - "id": 7759, + "id": 7868, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 7758, + "id": 7867, "name": "MultiOwnableStorage", "nameLocations": [ "8872:19:18" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 7476, + "referencedDeclaration": 7585, "src": "8872:19:18" }, - "referencedDeclaration": 7476, + "referencedDeclaration": 7585, "src": "8872:19:18", "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7476_storage_ptr", + "typeIdentifier": "t_struct$_MultiOwnableStorage_$7585_storage_ptr", "typeString": "struct MultiOwnableStorage" } }, "visibility": "internal" } ], - "id": 7763, + "id": 7872, "initialValue": { "arguments": [], "expression": { "argumentTypes": [], - "id": 7761, + "id": 7870, "name": "_getMultiOwnableStorage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7991, + "referencedDeclaration": 8100, "src": "8904:23:18", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_MultiOwnableStorage_$7476_storage_ptr_$", + "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_MultiOwnableStorage_$7585_storage_ptr_$", "typeString": "function () pure returns (struct MultiOwnableStorage storage pointer)" } }, - "id": 7762, + "id": 7871, "isConstant": false, "isLValue": false, "isPure": false, @@ -224711,7 +225844,7 @@ "src": "8904:25:18", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7476_storage_ptr", + "typeIdentifier": "t_struct$_MultiOwnableStorage_$7585_storage_ptr", "typeString": "struct MultiOwnableStorage storage pointer" } }, @@ -224720,17 +225853,17 @@ }, { "assignments": [ - 7765 + 7874 ], "declarations": [ { "constant": false, - "id": 7765, + "id": 7874, "mutability": "mutable", "name": "nextOwnerIndex_", "nameLocation": "8947:15:18", "nodeType": "VariableDeclaration", - "scope": 7846, + "scope": 7955, "src": "8939:23:18", "stateVariable": false, "storageLocation": "default", @@ -224739,7 +225872,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7764, + "id": 7873, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8939:7:18", @@ -224751,21 +225884,21 @@ "visibility": "internal" } ], - "id": 7768, + "id": 7877, "initialValue": { "expression": { - "id": 7766, + "id": 7875, "name": "$", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7760, + "referencedDeclaration": 7869, "src": "8965:1:18", "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7476_storage_ptr", + "typeIdentifier": "t_struct$_MultiOwnableStorage_$7585_storage_ptr", "typeString": "struct MultiOwnableStorage storage pointer" } }, - "id": 7767, + "id": 7876, "isConstant": false, "isLValue": true, "isPure": false, @@ -224773,7 +225906,7 @@ "memberLocation": "8967:14:18", "memberName": "nextOwnerIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 7462, + "referencedDeclaration": 7571, "src": "8965:16:18", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -224785,7 +225918,7 @@ }, { "body": { - "id": 7838, + "id": 7947, "nodeType": "Block", "src": "9031:384:18", "statements": [ @@ -224795,7 +225928,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 7791, + "id": 7900, "isConstant": false, "isLValue": false, "isPure": false, @@ -224805,7 +225938,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7784, + "id": 7893, "isConstant": false, "isLValue": false, "isPure": false, @@ -224813,24 +225946,24 @@ "leftExpression": { "expression": { "baseExpression": { - "id": 7779, + "id": 7888, "name": "owners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7755, + "referencedDeclaration": 7864, "src": "9049:6:18", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", "typeString": "bytes memory[] memory" } }, - "id": 7781, + "id": 7890, "indexExpression": { - "id": 7780, + "id": 7889, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7770, + "referencedDeclaration": 7879, "src": "9056:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -224848,7 +225981,7 @@ "typeString": "bytes memory" } }, - "id": 7782, + "id": 7891, "isConstant": false, "isLValue": false, "isPure": false, @@ -224866,7 +225999,7 @@ "operator": "!=", "rightExpression": { "hexValue": "3332", - "id": 7783, + "id": 7892, "isConstant": false, "isLValue": false, "isPure": true, @@ -224893,7 +226026,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7790, + "id": 7899, "isConstant": false, "isLValue": false, "isPure": false, @@ -224901,24 +226034,24 @@ "leftExpression": { "expression": { "baseExpression": { - "id": 7785, + "id": 7894, "name": "owners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7755, + "referencedDeclaration": 7864, "src": "9075:6:18", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", "typeString": "bytes memory[] memory" } }, - "id": 7787, + "id": 7896, "indexExpression": { - "id": 7786, + "id": 7895, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7770, + "referencedDeclaration": 7879, "src": "9082:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -224936,7 +226069,7 @@ "typeString": "bytes memory" } }, - "id": 7788, + "id": 7897, "isConstant": false, "isLValue": false, "isPure": false, @@ -224954,7 +226087,7 @@ "operator": "!=", "rightExpression": { "hexValue": "3634", - "id": 7789, + "id": 7898, "isConstant": false, "isLValue": false, "isPure": true, @@ -224980,11 +226113,11 @@ "typeString": "bool" } }, - "id": 7799, + "id": 7908, "nodeType": "IfStatement", "src": "9045:128:18", "trueBody": { - "id": 7798, + "id": 7907, "nodeType": "Block", "src": "9099:74:18", "statements": [ @@ -224993,24 +226126,24 @@ "arguments": [ { "baseExpression": { - "id": 7793, + "id": 7902, "name": "owners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7755, + "referencedDeclaration": 7864, "src": "9148:6:18", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", "typeString": "bytes memory[] memory" } }, - "id": 7795, + "id": 7904, "indexExpression": { - "id": 7794, + "id": 7903, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7770, + "referencedDeclaration": 7879, "src": "9155:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -225036,18 +226169,18 @@ "typeString": "bytes memory" } ], - "id": 7792, + "id": 7901, "name": "InvalidOwnerBytesLength", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7508, + "referencedDeclaration": 7617, "src": "9124:23:18", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_bytes_memory_ptr_$returns$_t_error_$", "typeString": "function (bytes memory) pure returns (error)" } }, - "id": 7796, + "id": 7905, "isConstant": false, "isLValue": false, "isPure": false, @@ -225063,7 +226196,7 @@ "typeString": "error" } }, - "id": 7797, + "id": 7906, "nodeType": "RevertStatement", "src": "9117:41:18" } @@ -225076,7 +226209,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 7821, + "id": 7930, "isConstant": false, "isLValue": false, "isPure": false, @@ -225086,7 +226219,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7805, + "id": 7914, "isConstant": false, "isLValue": false, "isPure": false, @@ -225094,24 +226227,24 @@ "leftExpression": { "expression": { "baseExpression": { - "id": 7800, + "id": 7909, "name": "owners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7755, + "referencedDeclaration": 7864, "src": "9191:6:18", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", "typeString": "bytes memory[] memory" } }, - "id": 7802, + "id": 7911, "indexExpression": { - "id": 7801, + "id": 7910, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7770, + "referencedDeclaration": 7879, "src": "9198:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -225129,7 +226262,7 @@ "typeString": "bytes memory" } }, - "id": 7803, + "id": 7912, "isConstant": false, "isLValue": false, "isPure": false, @@ -225147,7 +226280,7 @@ "operator": "==", "rightExpression": { "hexValue": "3332", - "id": 7804, + "id": 7913, "isConstant": false, "isLValue": false, "isPure": true, @@ -225174,7 +226307,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7820, + "id": 7929, "isConstant": false, "isLValue": false, "isPure": false, @@ -225185,24 +226318,24 @@ "arguments": [ { "baseExpression": { - "id": 7810, + "id": 7919, "name": "owners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7755, + "referencedDeclaration": 7864, "src": "9233:6:18", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", "typeString": "bytes memory[] memory" } }, - "id": 7812, + "id": 7921, "indexExpression": { - "id": 7811, + "id": 7920, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7770, + "referencedDeclaration": 7879, "src": "9240:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -225228,7 +226361,7 @@ "typeString": "bytes memory" } ], - "id": 7809, + "id": 7918, "isConstant": false, "isLValue": false, "isPure": true, @@ -225240,14 +226373,14 @@ "typeString": "type(bytes32)" }, "typeName": { - "id": 7808, + "id": 7917, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "9225:7:18", "typeDescriptions": {} } }, - "id": 7813, + "id": 7922, "isConstant": false, "isLValue": false, "isPure": false, @@ -225271,7 +226404,7 @@ "typeString": "bytes32" } ], - "id": 7807, + "id": 7916, "isConstant": false, "isLValue": false, "isPure": true, @@ -225283,14 +226416,14 @@ "typeString": "type(uint256)" }, "typeName": { - "id": 7806, + "id": 7915, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "9217:7:18", "typeDescriptions": {} } }, - "id": 7814, + "id": 7923, "isConstant": false, "isLValue": false, "isPure": false, @@ -225312,7 +226445,7 @@ "expression": { "arguments": [ { - "id": 7817, + "id": 7926, "isConstant": false, "isLValue": false, "isPure": true, @@ -225324,7 +226457,7 @@ "typeString": "type(uint160)" }, "typeName": { - "id": 7816, + "id": 7925, "name": "uint160", "nodeType": "ElementaryTypeName", "src": "9252:7:18", @@ -225339,7 +226472,7 @@ "typeString": "type(uint160)" } ], - "id": 7815, + "id": 7924, "name": "type", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -225350,7 +226483,7 @@ "typeString": "function () pure" } }, - "id": 7818, + "id": 7927, "isConstant": false, "isLValue": false, "isPure": true, @@ -225366,7 +226499,7 @@ "typeString": "type(uint160)" } }, - "id": 7819, + "id": 7928, "isConstant": false, "isLValue": false, "isPure": true, @@ -225392,11 +226525,11 @@ "typeString": "bool" } }, - "id": 7829, + "id": 7938, "nodeType": "IfStatement", "src": "9187:157:18", "trueBody": { - "id": 7828, + "id": 7937, "nodeType": "Block", "src": "9266:78:18", "statements": [ @@ -225405,24 +226538,24 @@ "arguments": [ { "baseExpression": { - "id": 7823, + "id": 7932, "name": "owners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7755, + "referencedDeclaration": 7864, "src": "9319:6:18", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", "typeString": "bytes memory[] memory" } }, - "id": 7825, + "id": 7934, "indexExpression": { - "id": 7824, + "id": 7933, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7770, + "referencedDeclaration": 7879, "src": "9326:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -225448,18 +226581,18 @@ "typeString": "bytes memory" } ], - "id": 7822, + "id": 7931, "name": "InvalidEthereumAddressOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7513, + "referencedDeclaration": 7622, "src": "9291:27:18", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_bytes_memory_ptr_$returns$_t_error_$", "typeString": "function (bytes memory) pure returns (error)" } }, - "id": 7826, + "id": 7935, "isConstant": false, "isLValue": false, "isPure": false, @@ -225475,7 +226608,7 @@ "typeString": "error" } }, - "id": 7827, + "id": 7936, "nodeType": "RevertStatement", "src": "9284:45:18" } @@ -225487,24 +226620,24 @@ "arguments": [ { "baseExpression": { - "id": 7831, + "id": 7940, "name": "owners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7755, + "referencedDeclaration": 7864, "src": "9375:6:18", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", "typeString": "bytes memory[] memory" } }, - "id": 7833, + "id": 7942, "indexExpression": { - "id": 7832, + "id": 7941, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7770, + "referencedDeclaration": 7879, "src": "9382:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -225523,7 +226656,7 @@ } }, { - "id": 7835, + "id": 7944, "isConstant": false, "isLValue": false, "isPure": false, @@ -225533,11 +226666,11 @@ "prefix": false, "src": "9386:17:18", "subExpression": { - "id": 7834, + "id": 7943, "name": "nextOwnerIndex_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7765, + "referencedDeclaration": 7874, "src": "9386:15:18", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -225561,18 +226694,18 @@ "typeString": "uint256" } ], - "id": 7830, + "id": 7939, "name": "_addOwnerAtIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7891, + "referencedDeclaration": 8000, "src": "9358:16:18", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_uint256_$returns$__$", "typeString": "function (bytes memory,uint256)" } }, - "id": 7836, + "id": 7945, "isConstant": false, "isLValue": false, "isPure": false, @@ -225588,7 +226721,7 @@ "typeString": "tuple()" } }, - "id": 7837, + "id": 7946, "nodeType": "ExpressionStatement", "src": "9358:46:18" } @@ -225599,17 +226732,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7775, + "id": 7884, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 7772, + "id": 7881, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7770, + "referencedDeclaration": 7879, "src": "9007:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -225620,18 +226753,18 @@ "operator": "<", "rightExpression": { "expression": { - "id": 7773, + "id": 7882, "name": "owners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7755, + "referencedDeclaration": 7864, "src": "9011:6:18", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", "typeString": "bytes memory[] memory" } }, - "id": 7774, + "id": 7883, "isConstant": false, "isLValue": false, "isPure": false, @@ -225651,20 +226784,20 @@ "typeString": "bool" } }, - "id": 7839, + "id": 7948, "initializationExpression": { "assignments": [ - 7770 + 7879 ], "declarations": [ { "constant": false, - "id": 7770, + "id": 7879, "mutability": "mutable", "name": "i", "nameLocation": "9004:1:18", "nodeType": "VariableDeclaration", - "scope": 7839, + "scope": 7948, "src": "8996:9:18", "stateVariable": false, "storageLocation": "default", @@ -225673,7 +226806,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7769, + "id": 7878, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "8996:7:18", @@ -225685,14 +226818,14 @@ "visibility": "internal" } ], - "id": 7771, + "id": 7880, "nodeType": "VariableDeclarationStatement", "src": "8996:9:18" }, "isSimpleCounterLoop": true, "loopExpression": { "expression": { - "id": 7777, + "id": 7886, "isConstant": false, "isLValue": false, "isPure": false, @@ -225702,11 +226835,11 @@ "prefix": false, "src": "9026:3:18", "subExpression": { - "id": 7776, + "id": 7885, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7770, + "referencedDeclaration": 7879, "src": "9026:1:18", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -225718,7 +226851,7 @@ "typeString": "uint256" } }, - "id": 7778, + "id": 7887, "nodeType": "ExpressionStatement", "src": "9026:3:18" }, @@ -225727,25 +226860,25 @@ }, { "expression": { - "id": 7844, + "id": 7953, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 7840, + "id": 7949, "name": "$", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7760, + "referencedDeclaration": 7869, "src": "9424:1:18", "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7476_storage_ptr", + "typeIdentifier": "t_struct$_MultiOwnableStorage_$7585_storage_ptr", "typeString": "struct MultiOwnableStorage storage pointer" } }, - "id": 7842, + "id": 7951, "isConstant": false, "isLValue": true, "isPure": false, @@ -225753,7 +226886,7 @@ "memberLocation": "9426:14:18", "memberName": "nextOwnerIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 7462, + "referencedDeclaration": 7571, "src": "9424:16:18", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -225763,11 +226896,11 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 7843, + "id": 7952, "name": "nextOwnerIndex_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7765, + "referencedDeclaration": 7874, "src": "9443:15:18", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -225780,19 +226913,19 @@ "typeString": "uint256" } }, - "id": 7845, + "id": 7954, "nodeType": "ExpressionStatement", "src": "9424:34:18" } ] }, "documentation": { - "id": 7752, + "id": 7861, "nodeType": "StructuredDocumentation", "src": "8491:299:18", "text": "@notice Initialize the owners of this contract.\n @dev Intended to be called contract is first deployed and never again.\n @dev Reverts if a provided owner is neither 64 bytes long (for public key) nor a valid address.\n @param owners The initial set of owners." }, - "id": 7847, + "id": 7956, "implemented": true, "kind": "function", "modifiers": [], @@ -225800,17 +226933,17 @@ "nameLocation": "8804:17:18", "nodeType": "FunctionDefinition", "parameters": { - "id": 7756, + "id": 7865, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7755, + "id": 7864, "mutability": "mutable", "name": "owners", "nameLocation": "8837:6:18", "nodeType": "VariableDeclaration", - "scope": 7847, + "scope": 7956, "src": "8822:21:18", "stateVariable": false, "storageLocation": "memory", @@ -225820,7 +226953,7 @@ }, "typeName": { "baseType": { - "id": 7753, + "id": 7862, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "8822:5:18", @@ -225829,7 +226962,7 @@ "typeString": "bytes" } }, - "id": 7754, + "id": 7863, "nodeType": "ArrayTypeName", "src": "8822:7:18", "typeDescriptions": { @@ -225843,12 +226976,12 @@ "src": "8821:23:18" }, "returnParameters": { - "id": 7757, + "id": 7866, "nodeType": "ParameterList", "parameters": [], "src": "8862:0:18" }, - "scope": 7992, + "scope": 8101, "src": "8795:670:18", "stateMutability": "nonpayable", "virtual": true, @@ -225856,7 +226989,7 @@ }, { "body": { - "id": 7890, + "id": 7999, "nodeType": "Block", "src": "9782:246:18", "statements": [ @@ -225864,11 +226997,11 @@ "condition": { "arguments": [ { - "id": 7856, + "id": 7965, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7850, + "referencedDeclaration": 7959, "src": "9809:5:18", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -225883,18 +227016,18 @@ "typeString": "bytes memory" } ], - "id": 7855, + "id": 7964, "name": "isOwnerBytes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7695, + "referencedDeclaration": 7804, "src": "9796:12:18", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$_t_bool_$", "typeString": "function (bytes memory) view returns (bool)" } }, - "id": 7857, + "id": 7966, "isConstant": false, "isLValue": false, "isPure": false, @@ -225910,18 +227043,18 @@ "typeString": "bool" } }, - "id": 7862, + "id": 7971, "nodeType": "IfStatement", "src": "9792:51:18", "trueBody": { "errorCall": { "arguments": [ { - "id": 7859, + "id": 7968, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7850, + "referencedDeclaration": 7959, "src": "9837:5:18", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -225936,18 +227069,18 @@ "typeString": "bytes memory" } ], - "id": 7858, + "id": 7967, "name": "AlreadyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7489, + "referencedDeclaration": 7598, "src": "9824:12:18", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_bytes_memory_ptr_$returns$_t_error_$", "typeString": "function (bytes memory) pure returns (error)" } }, - "id": 7860, + "id": 7969, "isConstant": false, "isLValue": false, "isPure": false, @@ -225963,71 +227096,71 @@ "typeString": "error" } }, - "id": 7861, + "id": 7970, "nodeType": "RevertStatement", "src": "9817:26:18" } }, { "assignments": [ - 7865 + 7974 ], "declarations": [ { "constant": false, - "id": 7865, + "id": 7974, "mutability": "mutable", "name": "$", "nameLocation": "9882:1:18", "nodeType": "VariableDeclaration", - "scope": 7890, + "scope": 7999, "src": "9854:29:18", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7476_storage_ptr", + "typeIdentifier": "t_struct$_MultiOwnableStorage_$7585_storage_ptr", "typeString": "struct MultiOwnableStorage" }, "typeName": { - "id": 7864, + "id": 7973, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 7863, + "id": 7972, "name": "MultiOwnableStorage", "nameLocations": [ "9854:19:18" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 7476, + "referencedDeclaration": 7585, "src": "9854:19:18" }, - "referencedDeclaration": 7476, + "referencedDeclaration": 7585, "src": "9854:19:18", "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7476_storage_ptr", + "typeIdentifier": "t_struct$_MultiOwnableStorage_$7585_storage_ptr", "typeString": "struct MultiOwnableStorage" } }, "visibility": "internal" } ], - "id": 7868, + "id": 7977, "initialValue": { "arguments": [], "expression": { "argumentTypes": [], - "id": 7866, + "id": 7975, "name": "_getMultiOwnableStorage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7991, + "referencedDeclaration": 8100, "src": "9886:23:18", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_MultiOwnableStorage_$7476_storage_ptr_$", + "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_MultiOwnableStorage_$7585_storage_ptr_$", "typeString": "function () pure returns (struct MultiOwnableStorage storage pointer)" } }, - "id": 7867, + "id": 7976, "isConstant": false, "isLValue": false, "isPure": false, @@ -226039,7 +227172,7 @@ "src": "9886:25:18", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7476_storage_ptr", + "typeIdentifier": "t_struct$_MultiOwnableStorage_$7585_storage_ptr", "typeString": "struct MultiOwnableStorage storage pointer" } }, @@ -226048,7 +227181,7 @@ }, { "expression": { - "id": 7875, + "id": 7984, "isConstant": false, "isLValue": false, "isPure": false, @@ -226056,18 +227189,18 @@ "leftHandSide": { "baseExpression": { "expression": { - "id": 7869, + "id": 7978, "name": "$", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7865, + "referencedDeclaration": 7974, "src": "9921:1:18", "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7476_storage_ptr", + "typeIdentifier": "t_struct$_MultiOwnableStorage_$7585_storage_ptr", "typeString": "struct MultiOwnableStorage storage pointer" } }, - "id": 7872, + "id": 7981, "isConstant": false, "isLValue": true, "isPure": false, @@ -226075,20 +227208,20 @@ "memberLocation": "9923:7:18", "memberName": "isOwner", "nodeType": "MemberAccess", - "referencedDeclaration": 7475, + "referencedDeclaration": 7584, "src": "9921:9:18", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes_memory_ptr_$_t_bool_$", "typeString": "mapping(bytes memory => bool)" } }, - "id": 7873, + "id": 7982, "indexExpression": { - "id": 7871, + "id": 7980, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7850, + "referencedDeclaration": 7959, "src": "9931:5:18", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -226110,7 +227243,7 @@ "operator": "=", "rightHandSide": { "hexValue": "74727565", - "id": 7874, + "id": 7983, "isConstant": false, "isLValue": false, "isPure": true, @@ -226130,13 +227263,13 @@ "typeString": "bool" } }, - "id": 7876, + "id": 7985, "nodeType": "ExpressionStatement", "src": "9921:23:18" }, { "expression": { - "id": 7883, + "id": 7992, "isConstant": false, "isLValue": false, "isPure": false, @@ -226144,18 +227277,18 @@ "leftHandSide": { "baseExpression": { "expression": { - "id": 7877, + "id": 7986, "name": "$", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7865, + "referencedDeclaration": 7974, "src": "9954:1:18", "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7476_storage_ptr", + "typeIdentifier": "t_struct$_MultiOwnableStorage_$7585_storage_ptr", "typeString": "struct MultiOwnableStorage storage pointer" } }, - "id": 7880, + "id": 7989, "isConstant": false, "isLValue": true, "isPure": false, @@ -226163,20 +227296,20 @@ "memberLocation": "9956:12:18", "memberName": "ownerAtIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 7470, + "referencedDeclaration": 7579, "src": "9954:14:18", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes_storage_$", "typeString": "mapping(uint256 => bytes storage ref)" } }, - "id": 7881, + "id": 7990, "indexExpression": { - "id": 7879, + "id": 7988, "name": "index", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7852, + "referencedDeclaration": 7961, "src": "9969:5:18", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -226197,11 +227330,11 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 7882, + "id": 7991, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7850, + "referencedDeclaration": 7959, "src": "9978:5:18", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -226214,7 +227347,7 @@ "typeString": "bytes storage ref" } }, - "id": 7884, + "id": 7993, "nodeType": "ExpressionStatement", "src": "9954:29:18" }, @@ -226222,11 +227355,11 @@ "eventCall": { "arguments": [ { - "id": 7886, + "id": 7995, "name": "index", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7852, + "referencedDeclaration": 7961, "src": "10008:5:18", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -226234,11 +227367,11 @@ } }, { - "id": 7887, + "id": 7996, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7850, + "referencedDeclaration": 7959, "src": "10015:5:18", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -226257,18 +227390,18 @@ "typeString": "bytes memory" } ], - "id": 7885, + "id": 7994, "name": "AddOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7528, + "referencedDeclaration": 7637, "src": "9999:8:18", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (uint256,bytes memory)" } }, - "id": 7888, + "id": 7997, "isConstant": false, "isLValue": false, "isPure": false, @@ -226284,19 +227417,19 @@ "typeString": "tuple()" } }, - "id": 7889, + "id": 7998, "nodeType": "EmitStatement", "src": "9994:27:18" } ] }, "documentation": { - "id": 7848, + "id": 7957, "nodeType": "StructuredDocumentation", "src": "9471:228:18", "text": "@notice Adds an owner at the given `index`.\n @dev Reverts if `owner` is already registered as an owner.\n @param owner The owner raw bytes to register.\n @param index The index to write to." }, - "id": 7891, + "id": 8000, "implemented": true, "kind": "function", "modifiers": [], @@ -226304,17 +227437,17 @@ "nameLocation": "9713:16:18", "nodeType": "FunctionDefinition", "parameters": { - "id": 7853, + "id": 7962, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7850, + "id": 7959, "mutability": "mutable", "name": "owner", "nameLocation": "9743:5:18", "nodeType": "VariableDeclaration", - "scope": 7891, + "scope": 8000, "src": "9730:18:18", "stateVariable": false, "storageLocation": "memory", @@ -226323,7 +227456,7 @@ "typeString": "bytes" }, "typeName": { - "id": 7849, + "id": 7958, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "9730:5:18", @@ -226336,12 +227469,12 @@ }, { "constant": false, - "id": 7852, + "id": 7961, "mutability": "mutable", "name": "index", "nameLocation": "9758:5:18", "nodeType": "VariableDeclaration", - "scope": 7891, + "scope": 8000, "src": "9750:13:18", "stateVariable": false, "storageLocation": "default", @@ -226350,7 +227483,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7851, + "id": 7960, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "9750:7:18", @@ -226365,12 +227498,12 @@ "src": "9729:35:18" }, "returnParameters": { - "id": 7854, + "id": 7963, "nodeType": "ParameterList", "parameters": [], "src": "9782:0:18" }, - "scope": 7992, + "scope": 8101, "src": "9704:324:18", "stateMutability": "nonpayable", "virtual": true, @@ -226378,23 +227511,23 @@ }, { "body": { - "id": 7957, + "id": 8066, "nodeType": "Block", "src": "10450:492:18", "statements": [ { "assignments": [ - 7900 + 8009 ], "declarations": [ { "constant": false, - "id": 7900, + "id": 8009, "mutability": "mutable", "name": "owner_", "nameLocation": "10473:6:18", "nodeType": "VariableDeclaration", - "scope": 7957, + "scope": 8066, "src": "10460:19:18", "stateVariable": false, "storageLocation": "memory", @@ -226403,7 +227536,7 @@ "typeString": "bytes" }, "typeName": { - "id": 7899, + "id": 8008, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "10460:5:18", @@ -226415,15 +227548,15 @@ "visibility": "internal" } ], - "id": 7904, + "id": 8013, "initialValue": { "arguments": [ { - "id": 7902, + "id": 8011, "name": "index", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7894, + "referencedDeclaration": 8003, "src": "10495:5:18", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -226438,18 +227571,18 @@ "typeString": "uint256" } ], - "id": 7901, + "id": 8010, "name": "ownerAtIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7710, + "referencedDeclaration": 7819, "src": "10482:12:18", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bytes_memory_ptr_$", "typeString": "function (uint256) view returns (bytes memory)" } }, - "id": 7903, + "id": 8012, "isConstant": false, "isLValue": false, "isPure": false, @@ -226474,25 +227607,25 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 7908, + "id": 8017, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 7905, + "id": 8014, "name": "owner_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7900, + "referencedDeclaration": 8009, "src": "10515:6:18", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 7906, + "id": 8015, "isConstant": false, "isLValue": false, "isPure": false, @@ -226510,7 +227643,7 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 7907, + "id": 8016, "isConstant": false, "isLValue": false, "isPure": true, @@ -226530,18 +227663,18 @@ "typeString": "bool" } }, - "id": 7913, + "id": 8022, "nodeType": "IfStatement", "src": "10511:52:18", "trueBody": { "errorCall": { "arguments": [ { - "id": 7910, + "id": 8019, "name": "index", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7894, + "referencedDeclaration": 8003, "src": "10557:5:18", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -226556,18 +227689,18 @@ "typeString": "uint256" } ], - "id": 7909, + "id": 8018, "name": "NoOwnerAtIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7494, + "referencedDeclaration": 7603, "src": "10542:14:18", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_uint256_$returns$_t_error_$", "typeString": "function (uint256) pure returns (error)" } }, - "id": 7911, + "id": 8020, "isConstant": false, "isLValue": false, "isPure": false, @@ -226583,7 +227716,7 @@ "typeString": "error" } }, - "id": 7912, + "id": 8021, "nodeType": "RevertStatement", "src": "10535:28:18" } @@ -226594,7 +227727,7 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 7920, + "id": 8029, "isConstant": false, "isLValue": false, "isPure": false, @@ -226602,11 +227735,11 @@ "leftExpression": { "arguments": [ { - "id": 7915, + "id": 8024, "name": "owner_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7900, + "referencedDeclaration": 8009, "src": "10587:6:18", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -226621,7 +227754,7 @@ "typeString": "bytes memory" } ], - "id": 7914, + "id": 8023, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -226632,7 +227765,7 @@ "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 7916, + "id": 8025, "isConstant": false, "isLValue": false, "isPure": false, @@ -226653,11 +227786,11 @@ "rightExpression": { "arguments": [ { - "id": 7918, + "id": 8027, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7896, + "referencedDeclaration": 8005, "src": "10608:5:18", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", @@ -226672,7 +227805,7 @@ "typeString": "bytes calldata" } ], - "id": 7917, + "id": 8026, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -226683,7 +227816,7 @@ "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 7919, + "id": 8028, "isConstant": false, "isLValue": false, "isPure": false, @@ -226705,11 +227838,11 @@ "typeString": "bool" } }, - "id": 7928, + "id": 8037, "nodeType": "IfStatement", "src": "10573:151:18", "trueBody": { - "id": 7927, + "id": 8036, "nodeType": "Block", "src": "10616:108:18", "statements": [ @@ -226717,11 +227850,11 @@ "errorCall": { "arguments": [ { - "id": 7922, + "id": 8031, "name": "index", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7894, + "referencedDeclaration": 8003, "src": "10663:5:18", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -226729,11 +227862,11 @@ } }, { - "id": 7923, + "id": 8032, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7896, + "referencedDeclaration": 8005, "src": "10685:5:18", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", @@ -226741,11 +227874,11 @@ } }, { - "id": 7924, + "id": 8033, "name": "owner_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7900, + "referencedDeclaration": 8009, "src": "10705:6:18", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -226768,18 +227901,18 @@ "typeString": "bytes memory" } ], - "id": 7921, + "id": 8030, "name": "WrongOwnerAtIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7503, + "referencedDeclaration": 7612, "src": "10637:17:18", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_error_$", "typeString": "function (uint256,bytes memory,bytes memory) pure returns (error)" } }, - "id": 7925, + "id": 8034, "isConstant": false, "isLValue": false, "isPure": false, @@ -226803,7 +227936,7 @@ "typeString": "error" } }, - "id": 7926, + "id": 8035, "nodeType": "RevertStatement", "src": "10630:83:18" } @@ -226812,64 +227945,64 @@ }, { "assignments": [ - 7931 + 8040 ], "declarations": [ { "constant": false, - "id": 7931, + "id": 8040, "mutability": "mutable", "name": "$", "nameLocation": "10762:1:18", "nodeType": "VariableDeclaration", - "scope": 7957, + "scope": 8066, "src": "10734:29:18", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7476_storage_ptr", + "typeIdentifier": "t_struct$_MultiOwnableStorage_$7585_storage_ptr", "typeString": "struct MultiOwnableStorage" }, "typeName": { - "id": 7930, + "id": 8039, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 7929, + "id": 8038, "name": "MultiOwnableStorage", "nameLocations": [ "10734:19:18" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 7476, + "referencedDeclaration": 7585, "src": "10734:19:18" }, - "referencedDeclaration": 7476, + "referencedDeclaration": 7585, "src": "10734:19:18", "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7476_storage_ptr", + "typeIdentifier": "t_struct$_MultiOwnableStorage_$7585_storage_ptr", "typeString": "struct MultiOwnableStorage" } }, "visibility": "internal" } ], - "id": 7934, + "id": 8043, "initialValue": { "arguments": [], "expression": { "argumentTypes": [], - "id": 7932, + "id": 8041, "name": "_getMultiOwnableStorage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7991, + "referencedDeclaration": 8100, "src": "10766:23:18", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_MultiOwnableStorage_$7476_storage_ptr_$", + "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_MultiOwnableStorage_$7585_storage_ptr_$", "typeString": "function () pure returns (struct MultiOwnableStorage storage pointer)" } }, - "id": 7933, + "id": 8042, "isConstant": false, "isLValue": false, "isPure": false, @@ -226881,7 +228014,7 @@ "src": "10766:25:18", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7476_storage_ptr", + "typeIdentifier": "t_struct$_MultiOwnableStorage_$7585_storage_ptr", "typeString": "struct MultiOwnableStorage storage pointer" } }, @@ -226890,7 +228023,7 @@ }, { "expression": { - "id": 7939, + "id": 8048, "isConstant": false, "isLValue": false, "isPure": false, @@ -226902,18 +228035,18 @@ "subExpression": { "baseExpression": { "expression": { - "id": 7935, + "id": 8044, "name": "$", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7931, + "referencedDeclaration": 8040, "src": "10808:1:18", "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7476_storage_ptr", + "typeIdentifier": "t_struct$_MultiOwnableStorage_$7585_storage_ptr", "typeString": "struct MultiOwnableStorage storage pointer" } }, - "id": 7936, + "id": 8045, "isConstant": false, "isLValue": true, "isPure": false, @@ -226921,20 +228054,20 @@ "memberLocation": "10810:7:18", "memberName": "isOwner", "nodeType": "MemberAccess", - "referencedDeclaration": 7475, + "referencedDeclaration": 7584, "src": "10808:9:18", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes_memory_ptr_$_t_bool_$", "typeString": "mapping(bytes memory => bool)" } }, - "id": 7938, + "id": 8047, "indexExpression": { - "id": 7937, + "id": 8046, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7896, + "referencedDeclaration": 8005, "src": "10818:5:18", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", @@ -226957,13 +228090,13 @@ "typeString": "tuple()" } }, - "id": 7940, + "id": 8049, "nodeType": "ExpressionStatement", "src": "10801:23:18" }, { "expression": { - "id": 7945, + "id": 8054, "isConstant": false, "isLValue": false, "isPure": false, @@ -226975,18 +228108,18 @@ "subExpression": { "baseExpression": { "expression": { - "id": 7941, + "id": 8050, "name": "$", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7931, + "referencedDeclaration": 8040, "src": "10841:1:18", "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7476_storage_ptr", + "typeIdentifier": "t_struct$_MultiOwnableStorage_$7585_storage_ptr", "typeString": "struct MultiOwnableStorage storage pointer" } }, - "id": 7942, + "id": 8051, "isConstant": false, "isLValue": true, "isPure": false, @@ -226994,20 +228127,20 @@ "memberLocation": "10843:12:18", "memberName": "ownerAtIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 7470, + "referencedDeclaration": 7579, "src": "10841:14:18", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes_storage_$", "typeString": "mapping(uint256 => bytes storage ref)" } }, - "id": 7944, + "id": 8053, "indexExpression": { - "id": 7943, + "id": 8052, "name": "index", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7894, + "referencedDeclaration": 8003, "src": "10856:5:18", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -227030,13 +228163,13 @@ "typeString": "tuple()" } }, - "id": 7946, + "id": 8055, "nodeType": "ExpressionStatement", "src": "10834:28:18" }, { "expression": { - "id": 7950, + "id": 8059, "isConstant": false, "isLValue": false, "isPure": false, @@ -227047,18 +228180,18 @@ "src": "10872:22:18", "subExpression": { "expression": { - "id": 7947, + "id": 8056, "name": "$", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7931, + "referencedDeclaration": 8040, "src": "10872:1:18", "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7476_storage_ptr", + "typeIdentifier": "t_struct$_MultiOwnableStorage_$7585_storage_ptr", "typeString": "struct MultiOwnableStorage storage pointer" } }, - "id": 7949, + "id": 8058, "isConstant": false, "isLValue": true, "isPure": false, @@ -227066,7 +228199,7 @@ "memberLocation": "10874:18:18", "memberName": "removedOwnersCount", "nodeType": "MemberAccess", - "referencedDeclaration": 7465, + "referencedDeclaration": 7574, "src": "10872:20:18", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -227078,7 +228211,7 @@ "typeString": "uint256" } }, - "id": 7951, + "id": 8060, "nodeType": "ExpressionStatement", "src": "10872:22:18" }, @@ -227086,11 +228219,11 @@ "eventCall": { "arguments": [ { - "id": 7953, + "id": 8062, "name": "index", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7894, + "referencedDeclaration": 8003, "src": "10922:5:18", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -227098,11 +228231,11 @@ } }, { - "id": 7954, + "id": 8063, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7896, + "referencedDeclaration": 8005, "src": "10929:5:18", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", @@ -227121,18 +228254,18 @@ "typeString": "bytes calldata" } ], - "id": 7952, + "id": 8061, "name": "RemoveOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7535, + "referencedDeclaration": 7644, "src": "10910:11:18", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (uint256,bytes memory)" } }, - "id": 7955, + "id": 8064, "isConstant": false, "isLValue": false, "isPure": false, @@ -227148,19 +228281,19 @@ "typeString": "tuple()" } }, - "id": 7956, + "id": 8065, "nodeType": "EmitStatement", "src": "10905:30:18" } ] }, "documentation": { - "id": 7892, + "id": 8001, "nodeType": "StructuredDocumentation", "src": "10034:328:18", "text": "@notice Removes owner at the given `index`.\n @dev Reverts if the owner is not registered at `index`.\n @dev Reverts if `owner` does not match bytes found at `index`.\n @param index The index of the owner to be removed.\n @param owner The ABI encoded bytes of the owner to be removed." }, - "id": 7958, + "id": 8067, "implemented": true, "kind": "function", "modifiers": [], @@ -227168,17 +228301,17 @@ "nameLocation": "10376:19:18", "nodeType": "FunctionDefinition", "parameters": { - "id": 7897, + "id": 8006, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7894, + "id": 8003, "mutability": "mutable", "name": "index", "nameLocation": "10404:5:18", "nodeType": "VariableDeclaration", - "scope": 7958, + "scope": 8067, "src": "10396:13:18", "stateVariable": false, "storageLocation": "default", @@ -227187,7 +228320,7 @@ "typeString": "uint256" }, "typeName": { - "id": 7893, + "id": 8002, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "10396:7:18", @@ -227200,12 +228333,12 @@ }, { "constant": false, - "id": 7896, + "id": 8005, "mutability": "mutable", "name": "owner", "nameLocation": "10426:5:18", "nodeType": "VariableDeclaration", - "scope": 7958, + "scope": 8067, "src": "10411:20:18", "stateVariable": false, "storageLocation": "calldata", @@ -227214,7 +228347,7 @@ "typeString": "bytes" }, "typeName": { - "id": 7895, + "id": 8004, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "10411:5:18", @@ -227229,12 +228362,12 @@ "src": "10395:37:18" }, "returnParameters": { - "id": 7898, + "id": 8007, "nodeType": "ParameterList", "parameters": [], "src": "10450:0:18" }, - "scope": 7992, + "scope": 8101, "src": "10367:575:18", "stateMutability": "nonpayable", "virtual": true, @@ -227242,7 +228375,7 @@ }, { "body": { - "id": 7981, + "id": 8090, "nodeType": "Block", "src": "11165:144:18", "statements": [ @@ -227252,7 +228385,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 7974, + "id": 8083, "isConstant": false, "isLValue": false, "isPure": false, @@ -227261,7 +228394,7 @@ "arguments": [ { "expression": { - "id": 7963, + "id": 8072, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -227272,7 +228405,7 @@ "typeString": "msg" } }, - "id": 7964, + "id": 8073, "isConstant": false, "isLValue": false, "isPure": false, @@ -227294,18 +228427,18 @@ "typeString": "address" } ], - "id": 7962, + "id": 8071, "name": "isOwnerAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7659, + "referencedDeclaration": 7768, "src": "11179:14:18", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", "typeString": "function (address) view returns (bool)" } }, - "id": 7965, + "id": 8074, "isConstant": false, "isLValue": false, "isPure": false, @@ -227330,14 +228463,14 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 7972, + "id": 8081, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 7966, + "id": 8075, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -227348,7 +228481,7 @@ "typeString": "msg" } }, - "id": 7967, + "id": 8076, "isConstant": false, "isLValue": false, "isPure": false, @@ -227367,14 +228500,14 @@ "rightExpression": { "arguments": [ { - "id": 7970, + "id": 8079, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, "src": "11232:4:18", "typeDescriptions": { - "typeIdentifier": "t_contract$_MultiOwnable_$7992", + "typeIdentifier": "t_contract$_MultiOwnable_$8101", "typeString": "contract MultiOwnable" } } @@ -227382,11 +228515,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_MultiOwnable_$7992", + "typeIdentifier": "t_contract$_MultiOwnable_$8101", "typeString": "contract MultiOwnable" } ], - "id": 7969, + "id": 8078, "isConstant": false, "isLValue": false, "isPure": true, @@ -227398,14 +228531,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 7968, + "id": 8077, "name": "address", "nodeType": "ElementaryTypeName", "src": "11224:7:18", "typeDescriptions": {} } }, - "id": 7971, + "id": 8080, "isConstant": false, "isLValue": false, "isPure": false, @@ -227428,7 +228561,7 @@ } } ], - "id": 7973, + "id": 8082, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -227447,17 +228580,17 @@ "typeString": "bool" } }, - "id": 7977, + "id": 8086, "nodeType": "IfStatement", "src": "11175:96:18", "trueBody": { - "id": 7976, + "id": 8085, "nodeType": "Block", "src": "11240:31:18", "statements": [ { - "functionReturnParameters": 7961, - "id": 7975, + "functionReturnParameters": 8070, + "id": 8084, "nodeType": "Return", "src": "11254:7:18" } @@ -227469,18 +228602,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 7978, + "id": 8087, "name": "Unauthorized", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7484, + "referencedDeclaration": 7593, "src": "11288:12:18", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$__$returns$_t_error_$", "typeString": "function () pure returns (error)" } }, - "id": 7979, + "id": 8088, "isConstant": false, "isLValue": false, "isPure": false, @@ -227496,19 +228629,19 @@ "typeString": "error" } }, - "id": 7980, + "id": 8089, "nodeType": "RevertStatement", "src": "11281:21:18" } ] }, "documentation": { - "id": 7959, + "id": 8068, "nodeType": "StructuredDocumentation", "src": "10948:167:18", "text": "@notice Checks if the sender is an owner of this contract or the contract itself.\n @dev Revert if the sender is not an owner fo the contract itself." }, - "id": 7982, + "id": 8091, "implemented": true, "kind": "function", "modifiers": [], @@ -227516,18 +228649,18 @@ "nameLocation": "11129:11:18", "nodeType": "FunctionDefinition", "parameters": { - "id": 7960, + "id": 8069, "nodeType": "ParameterList", "parameters": [], "src": "11140:2:18" }, "returnParameters": { - "id": 7961, + "id": 8070, "nodeType": "ParameterList", "parameters": [], "src": "11165:0:18" }, - "scope": 7992, + "scope": 8101, "src": "11120:189:18", "stateMutability": "view", "virtual": true, @@ -227535,7 +228668,7 @@ }, { "body": { - "id": 7990, + "id": 8099, "nodeType": "Block", "src": "11583:105:18", "statements": [ @@ -227569,7 +228702,7 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 7987, + "declaration": 8096, "isOffset": false, "isSlot": true, "src": "11632:6:18", @@ -227577,7 +228710,7 @@ "valueSize": 1 }, { - "declaration": 7481, + "declaration": 7590, "isOffset": false, "isSlot": false, "src": "11642:30:18", @@ -227587,19 +228720,19 @@ "flags": [ "memory-safe" ], - "id": 7989, + "id": 8098, "nodeType": "InlineAssembly", "src": "11593:89:18" } ] }, "documentation": { - "id": 7983, + "id": 8092, "nodeType": "StructuredDocumentation", "src": "11315:174:18", "text": "@notice Helper function to get a storage reference to the `MultiOwnableStorage` struct.\n @return $ A storage reference to the `MultiOwnableStorage` struct." }, - "id": 7991, + "id": 8100, "implemented": true, "kind": "function", "modifiers": [], @@ -227607,47 +228740,47 @@ "nameLocation": "11503:23:18", "nodeType": "FunctionDefinition", "parameters": { - "id": 7984, + "id": 8093, "nodeType": "ParameterList", "parameters": [], "src": "11526:2:18" }, "returnParameters": { - "id": 7988, + "id": 8097, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 7987, + "id": 8096, "mutability": "mutable", "name": "$", "nameLocation": "11580:1:18", "nodeType": "VariableDeclaration", - "scope": 7991, + "scope": 8100, "src": "11552:29:18", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7476_storage_ptr", + "typeIdentifier": "t_struct$_MultiOwnableStorage_$7585_storage_ptr", "typeString": "struct MultiOwnableStorage" }, "typeName": { - "id": 7986, + "id": 8095, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 7985, + "id": 8094, "name": "MultiOwnableStorage", "nameLocations": [ "11552:19:18" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 7476, + "referencedDeclaration": 7585, "src": "11552:19:18" }, - "referencedDeclaration": 7476, + "referencedDeclaration": 7585, "src": "11552:19:18", "typeDescriptions": { - "typeIdentifier": "t_struct$_MultiOwnableStorage_$7476_storage_ptr", + "typeIdentifier": "t_struct$_MultiOwnableStorage_$7585_storage_ptr", "typeString": "struct MultiOwnableStorage" } }, @@ -227656,28 +228789,28 @@ ], "src": "11551:31:18" }, - "scope": 7992, + "scope": 8101, "src": "11494:194:18", "stateMutability": "pure", "virtual": false, "visibility": "internal" } ], - "scope": 7993, + "scope": 8102, "src": "1427:10263:18", "usedErrors": [ - 7484, - 7489, - 7494, - 7503, - 7508, - 7513, - 7516, - 7521 + 7593, + 7598, + 7603, + 7612, + 7617, + 7622, + 7625, + 7630 ], "usedEvents": [ - 7528, - 7535 + 7637, + 7644 ] } ], @@ -227690,18 +228823,18 @@ "absolutePath": "src/utils/ERC1271InputGenerator.sol", "exportedSymbols": { "ERC1271InputGenerator": [ - 8110 + 8219 ], "GianoSmartWallet": [ - 7317 + 7398 ] }, - "id": 8111, + "id": 8220, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 7994, + "id": 8103, "literals": [ "solidity", "^", @@ -227714,20 +228847,20 @@ { "absolutePath": "src/GianoSmartWallet.sol", "file": "../GianoSmartWallet.sol", - "id": 7996, + "id": 8105, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 8111, - "sourceUnit": 7318, + "scope": 8220, + "sourceUnit": 7399, "src": "57:57:19", "symbolAliases": [ { "foreign": { - "id": 7995, + "id": 8104, "name": "GianoSmartWallet", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 7317, + "referencedDeclaration": 7398, "src": "65:16:19", "typeDescriptions": {} }, @@ -227743,15 +228876,15 @@ "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 7997, + "id": 8106, "nodeType": "StructuredDocumentation", "src": "116:716:19", "text": "@title ERC1271 Input Generator\n @notice Helper contract for generating an ERC-1271 input hash to sign for deployed and undeployed\n GianoSmartWallet. May be useful for generating ERC-6492 compliant signatures.\n Inspired by Ambire's DeploylessUniversalSigValidator\n https://github.com/AmbireTech/signature-validator/blob/d5f84f5fc00bfdf79b80205b983a8258b6d1b3ea/contracts/DeploylessUniversalSigValidator.sol.\n @dev This contract is not meant to ever actually be deployed, only mock deployed and used via a static eth_call.\n @author Applied Blockchain (https://github.com/appliedblockchain/giano)\n @author Coinbase (https://github.com/coinbase/smart-wallet)" }, "fullyImplemented": true, - "id": 8110, + "id": 8219, "linearizedBaseContracts": [ - 8110 + 8219 ], "name": "ERC1271InputGenerator", "nameLocation": "841:21:19", @@ -227759,18 +228892,18 @@ "nodes": [ { "documentation": { - "id": 7998, + "id": 8107, "nodeType": "StructuredDocumentation", "src": "869:78:19", "text": "@notice Thrown when call to `accountFactory` with `factoryCalldata` fails." }, "errorSelector": "128aaaa0", - "id": 8000, + "id": 8109, "name": "AccountDeploymentFailed", "nameLocation": "958:23:19", "nodeType": "ErrorDefinition", "parameters": { - "id": 7999, + "id": 8108, "nodeType": "ParameterList", "parameters": [], "src": "981:2:19" @@ -227779,28 +228912,28 @@ }, { "documentation": { - "id": 8001, + "id": 8110, "nodeType": "StructuredDocumentation", "src": "990:216:19", "text": "@notice Thrown when the address returned from call to `accountFactory` does not\n match passed account\n @param account The passed account\n @param returned The returned account" }, "errorSelector": "c8624383", - "id": 8007, + "id": 8116, "name": "ReturnedAddressDoesNotMatchAccount", "nameLocation": "1217:34:19", "nodeType": "ErrorDefinition", "parameters": { - "id": 8006, + "id": 8115, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8003, + "id": 8112, "mutability": "mutable", "name": "account", "nameLocation": "1260:7:19", "nodeType": "VariableDeclaration", - "scope": 8007, + "scope": 8116, "src": "1252:15:19", "stateVariable": false, "storageLocation": "default", @@ -227809,7 +228942,7 @@ "typeString": "address" }, "typeName": { - "id": 8002, + "id": 8111, "name": "address", "nodeType": "ElementaryTypeName", "src": "1252:7:19", @@ -227823,12 +228956,12 @@ }, { "constant": false, - "id": 8005, + "id": 8114, "mutability": "mutable", "name": "returned", "nameLocation": "1277:8:19", "nodeType": "VariableDeclaration", - "scope": 8007, + "scope": 8116, "src": "1269:16:19", "stateVariable": false, "storageLocation": "default", @@ -227837,7 +228970,7 @@ "typeString": "address" }, "typeName": { - "id": 8004, + "id": 8113, "name": "address", "nodeType": "ElementaryTypeName", "src": "1269:7:19", @@ -227856,23 +228989,23 @@ }, { "body": { - "id": 8030, + "id": 8139, "nodeType": "Block", "src": "2162:632:19", "statements": [ { "assignments": [ - 8021 + 8130 ], "declarations": [ { "constant": false, - "id": 8021, + "id": 8130, "mutability": "mutable", "name": "replaySafeHash", "nameLocation": "2518:14:19", "nodeType": "VariableDeclaration", - "scope": 8030, + "scope": 8139, "src": "2510:22:19", "stateVariable": false, "storageLocation": "default", @@ -227881,7 +229014,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 8020, + "id": 8129, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2510:7:19", @@ -227893,27 +229026,27 @@ "visibility": "internal" } ], - "id": 8028, + "id": 8137, "initialValue": { "arguments": [ { - "id": 8023, + "id": 8132, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8011, + "referencedDeclaration": 8120, "src": "2562:7:19", "typeDescriptions": { - "typeIdentifier": "t_contract$_GianoSmartWallet_$7317", + "typeIdentifier": "t_contract$_GianoSmartWallet_$7398", "typeString": "contract GianoSmartWallet" } }, { - "id": 8024, + "id": 8133, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8013, + "referencedDeclaration": 8122, "src": "2571:4:19", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -227921,11 +229054,11 @@ } }, { - "id": 8025, + "id": 8134, "name": "accountFactory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8015, + "referencedDeclaration": 8124, "src": "2577:14:19", "typeDescriptions": { "typeIdentifier": "t_address", @@ -227933,11 +229066,11 @@ } }, { - "id": 8026, + "id": 8135, "name": "factoryCalldata", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8017, + "referencedDeclaration": 8126, "src": "2593:15:19", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -227948,7 +229081,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_GianoSmartWallet_$7317", + "typeIdentifier": "t_contract$_GianoSmartWallet_$7398", "typeString": "contract GianoSmartWallet" }, { @@ -227964,18 +229097,18 @@ "typeString": "bytes memory" } ], - "id": 8022, + "id": 8131, "name": "_gianoSmartWallet1271Input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8109, + "referencedDeclaration": 8218, "src": "2535:26:19", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_GianoSmartWallet_$7317_$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_GianoSmartWallet_$7398_$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (contract GianoSmartWallet,bytes32,address,bytes memory) returns (bytes32)" } }, - "id": 8027, + "id": 8136, "isConstant": false, "isLValue": false, "isPure": false, @@ -228071,26 +229204,26 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 8021, + "declaration": 8130, "isOffset": false, "isSlot": false, "src": "2693:14:19", "valueSize": 1 } ], - "id": 8029, + "id": 8138, "nodeType": "InlineAssembly", "src": "2619:169:19" } ] }, "documentation": { - "id": 8008, + "id": 8117, "nodeType": "StructuredDocumentation", "src": "1293:758:19", "text": "@notice Computes and returns the expected ERC-1271 replay-safe hash for a GianoSmartWallet.\n @dev `accountFactory` can be any address if the account is already deployed.\n @dev `factoryCalldata` can be 0x if the account is already deployed.\n @dev If calling with solidity, the `replaySafeHash` will be `.code`.\n @param account The account that will receive the ERC-1271 `isValidSignature` call.\n @param hash The hash the wallet was asked to sign.\n @param accountFactory The factory that will be used to deploy the account (if not already deployed).\n @param factoryCalldata The calldata that will be used to deploy the account (if not already deployed)." }, - "id": 8031, + "id": 8140, "implemented": true, "kind": "constructor", "modifiers": [], @@ -228098,41 +229231,41 @@ "nameLocation": "-1:-1:-1", "nodeType": "FunctionDefinition", "parameters": { - "id": 8018, + "id": 8127, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8011, + "id": 8120, "mutability": "mutable", "name": "account", "nameLocation": "2085:7:19", "nodeType": "VariableDeclaration", - "scope": 8031, + "scope": 8140, "src": "2068:24:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_GianoSmartWallet_$7317", + "typeIdentifier": "t_contract$_GianoSmartWallet_$7398", "typeString": "contract GianoSmartWallet" }, "typeName": { - "id": 8010, + "id": 8119, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 8009, + "id": 8118, "name": "GianoSmartWallet", "nameLocations": [ "2068:16:19" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 7317, + "referencedDeclaration": 7398, "src": "2068:16:19" }, - "referencedDeclaration": 7317, + "referencedDeclaration": 7398, "src": "2068:16:19", "typeDescriptions": { - "typeIdentifier": "t_contract$_GianoSmartWallet_$7317", + "typeIdentifier": "t_contract$_GianoSmartWallet_$7398", "typeString": "contract GianoSmartWallet" } }, @@ -228140,12 +229273,12 @@ }, { "constant": false, - "id": 8013, + "id": 8122, "mutability": "mutable", "name": "hash", "nameLocation": "2102:4:19", "nodeType": "VariableDeclaration", - "scope": 8031, + "scope": 8140, "src": "2094:12:19", "stateVariable": false, "storageLocation": "default", @@ -228154,7 +229287,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 8012, + "id": 8121, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2094:7:19", @@ -228167,12 +229300,12 @@ }, { "constant": false, - "id": 8015, + "id": 8124, "mutability": "mutable", "name": "accountFactory", "nameLocation": "2116:14:19", "nodeType": "VariableDeclaration", - "scope": 8031, + "scope": 8140, "src": "2108:22:19", "stateVariable": false, "storageLocation": "default", @@ -228181,7 +229314,7 @@ "typeString": "address" }, "typeName": { - "id": 8014, + "id": 8123, "name": "address", "nodeType": "ElementaryTypeName", "src": "2108:7:19", @@ -228195,12 +229328,12 @@ }, { "constant": false, - "id": 8017, + "id": 8126, "mutability": "mutable", "name": "factoryCalldata", "nameLocation": "2145:15:19", "nodeType": "VariableDeclaration", - "scope": 8031, + "scope": 8140, "src": "2132:28:19", "stateVariable": false, "storageLocation": "memory", @@ -228209,7 +229342,7 @@ "typeString": "bytes" }, "typeName": { - "id": 8016, + "id": 8125, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "2132:5:19", @@ -228224,12 +229357,12 @@ "src": "2067:94:19" }, "returnParameters": { - "id": 8019, + "id": 8128, "nodeType": "ParameterList", "parameters": [], "src": "2162:0:19" }, - "scope": 8110, + "scope": 8219, "src": "2056:738:19", "stateMutability": "nonpayable", "virtual": false, @@ -228237,7 +229370,7 @@ }, { "body": { - "id": 8108, + "id": 8217, "nodeType": "Block", "src": "3769:717:19", "statements": [ @@ -228247,7 +229380,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8053, + "id": 8162, "isConstant": false, "isLValue": false, "isPure": false, @@ -228257,14 +229390,14 @@ "expression": { "arguments": [ { - "id": 8048, + "id": 8157, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8035, + "referencedDeclaration": 8144, "src": "3870:7:19", "typeDescriptions": { - "typeIdentifier": "t_contract$_GianoSmartWallet_$7317", + "typeIdentifier": "t_contract$_GianoSmartWallet_$7398", "typeString": "contract GianoSmartWallet" } } @@ -228272,11 +229405,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_GianoSmartWallet_$7317", + "typeIdentifier": "t_contract$_GianoSmartWallet_$7398", "typeString": "contract GianoSmartWallet" } ], - "id": 8047, + "id": 8156, "isConstant": false, "isLValue": false, "isPure": true, @@ -228288,14 +229421,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 8046, + "id": 8155, "name": "address", "nodeType": "ElementaryTypeName", "src": "3862:7:19", "typeDescriptions": {} } }, - "id": 8049, + "id": 8158, "isConstant": false, "isLValue": false, "isPure": false, @@ -228311,7 +229444,7 @@ "typeString": "address" } }, - "id": 8050, + "id": 8159, "isConstant": false, "isLValue": false, "isPure": false, @@ -228325,7 +229458,7 @@ "typeString": "bytes memory" } }, - "id": 8051, + "id": 8160, "isConstant": false, "isLValue": false, "isPure": false, @@ -228343,7 +229476,7 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 8052, + "id": 8161, "isConstant": false, "isLValue": false, "isPure": true, @@ -228363,11 +229496,11 @@ "typeString": "bool" } }, - "id": 8060, + "id": 8169, "nodeType": "IfStatement", "src": "3858:98:19", "trueBody": { - "id": 8059, + "id": 8168, "nodeType": "Block", "src": "3896:60:19", "statements": [ @@ -228375,11 +229508,11 @@ "expression": { "arguments": [ { - "id": 8056, + "id": 8165, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8037, + "referencedDeclaration": 8146, "src": "3940:4:19", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -228395,18 +229528,18 @@ } ], "expression": { - "id": 8054, + "id": 8163, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8035, + "referencedDeclaration": 8144, "src": "3917:7:19", "typeDescriptions": { - "typeIdentifier": "t_contract$_GianoSmartWallet_$7317", + "typeIdentifier": "t_contract$_GianoSmartWallet_$7398", "typeString": "contract GianoSmartWallet" } }, - "id": 8055, + "id": 8164, "isConstant": false, "isLValue": false, "isPure": false, @@ -228414,14 +229547,14 @@ "memberLocation": "3925:14:19", "memberName": "replaySafeHash", "nodeType": "MemberAccess", - "referencedDeclaration": 6617, + "referencedDeclaration": 6628, "src": "3917:22:19", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", "typeString": "function (bytes32) view external returns (bytes32)" } }, - "id": 8057, + "id": 8166, "isConstant": false, "isLValue": false, "isPure": false, @@ -228437,8 +229570,8 @@ "typeString": "bytes32" } }, - "functionReturnParameters": 8045, - "id": 8058, + "functionReturnParameters": 8154, + "id": 8167, "nodeType": "Return", "src": "3910:35:19" } @@ -228447,18 +229580,18 @@ }, { "assignments": [ - 8062, - 8064 + 8171, + 8173 ], "declarations": [ { "constant": false, - "id": 8062, + "id": 8171, "mutability": "mutable", "name": "success", "nameLocation": "4003:7:19", "nodeType": "VariableDeclaration", - "scope": 8108, + "scope": 8217, "src": "3998:12:19", "stateVariable": false, "storageLocation": "default", @@ -228467,7 +229600,7 @@ "typeString": "bool" }, "typeName": { - "id": 8061, + "id": 8170, "name": "bool", "nodeType": "ElementaryTypeName", "src": "3998:4:19", @@ -228480,12 +229613,12 @@ }, { "constant": false, - "id": 8064, + "id": 8173, "mutability": "mutable", "name": "result", "nameLocation": "4025:6:19", "nodeType": "VariableDeclaration", - "scope": 8108, + "scope": 8217, "src": "4012:19:19", "stateVariable": false, "storageLocation": "memory", @@ -228494,7 +229627,7 @@ "typeString": "bytes" }, "typeName": { - "id": 8063, + "id": 8172, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "4012:5:19", @@ -228506,15 +229639,15 @@ "visibility": "internal" } ], - "id": 8069, + "id": 8178, "initialValue": { "arguments": [ { - "id": 8067, + "id": 8176, "name": "factoryCalldata", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8041, + "referencedDeclaration": 8150, "src": "4055:15:19", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -228530,18 +229663,18 @@ } ], "expression": { - "id": 8065, + "id": 8174, "name": "accountFactory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8039, + "referencedDeclaration": 8148, "src": "4035:14:19", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 8066, + "id": 8175, "isConstant": false, "isLValue": false, "isPure": false, @@ -228555,7 +229688,7 @@ "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 8068, + "id": 8177, "isConstant": false, "isLValue": false, "isPure": false, @@ -228576,7 +229709,7 @@ }, { "condition": { - "id": 8071, + "id": 8180, "isConstant": false, "isLValue": false, "isPure": false, @@ -228586,11 +229719,11 @@ "prefix": true, "src": "4085:8:19", "subExpression": { - "id": 8070, + "id": 8179, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8062, + "referencedDeclaration": 8171, "src": "4086:7:19", "typeDescriptions": { "typeIdentifier": "t_bool", @@ -228602,11 +229735,11 @@ "typeString": "bool" } }, - "id": 8076, + "id": 8185, "nodeType": "IfStatement", "src": "4081:71:19", "trueBody": { - "id": 8075, + "id": 8184, "nodeType": "Block", "src": "4095:57:19", "statements": [ @@ -228615,18 +229748,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 8072, + "id": 8181, "name": "AccountDeploymentFailed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8000, + "referencedDeclaration": 8109, "src": "4116:23:19", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$__$returns$_t_error_$", "typeString": "function () pure returns (error)" } }, - "id": 8073, + "id": 8182, "isConstant": false, "isLValue": false, "isPure": false, @@ -228642,7 +229775,7 @@ "typeString": "error" } }, - "id": 8074, + "id": 8183, "nodeType": "RevertStatement", "src": "4109:32:19" } @@ -228651,17 +229784,17 @@ }, { "assignments": [ - 8078 + 8187 ], "declarations": [ { "constant": false, - "id": 8078, + "id": 8187, "mutability": "mutable", "name": "returnAddress", "nameLocation": "4170:13:19", "nodeType": "VariableDeclaration", - "scope": 8108, + "scope": 8217, "src": "4162:21:19", "stateVariable": false, "storageLocation": "default", @@ -228670,7 +229803,7 @@ "typeString": "address" }, "typeName": { - "id": 8077, + "id": 8186, "name": "address", "nodeType": "ElementaryTypeName", "src": "4162:7:19", @@ -228683,15 +229816,15 @@ "visibility": "internal" } ], - "id": 8086, + "id": 8195, "initialValue": { "arguments": [ { - "id": 8081, + "id": 8190, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8064, + "referencedDeclaration": 8173, "src": "4197:6:19", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -228701,7 +229834,7 @@ { "components": [ { - "id": 8083, + "id": 8192, "isConstant": false, "isLValue": false, "isPure": true, @@ -228713,7 +229846,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 8082, + "id": 8191, "name": "address", "nodeType": "ElementaryTypeName", "src": "4206:7:19", @@ -228721,7 +229854,7 @@ } } ], - "id": 8084, + "id": 8193, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -228747,7 +229880,7 @@ } ], "expression": { - "id": 8079, + "id": 8188, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -228758,7 +229891,7 @@ "typeString": "abi" } }, - "id": 8080, + "id": 8189, "isConstant": false, "isLValue": false, "isPure": true, @@ -228772,7 +229905,7 @@ "typeString": "function () pure" } }, - "id": 8085, + "id": 8194, "isConstant": false, "isLValue": false, "isPure": false, @@ -228797,17 +229930,17 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 8092, + "id": 8201, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 8087, + "id": 8196, "name": "returnAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8078, + "referencedDeclaration": 8187, "src": "4229:13:19", "typeDescriptions": { "typeIdentifier": "t_address", @@ -228819,14 +229952,14 @@ "rightExpression": { "arguments": [ { - "id": 8090, + "id": 8199, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8035, + "referencedDeclaration": 8144, "src": "4254:7:19", "typeDescriptions": { - "typeIdentifier": "t_contract$_GianoSmartWallet_$7317", + "typeIdentifier": "t_contract$_GianoSmartWallet_$7398", "typeString": "contract GianoSmartWallet" } } @@ -228834,11 +229967,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_GianoSmartWallet_$7317", + "typeIdentifier": "t_contract$_GianoSmartWallet_$7398", "typeString": "contract GianoSmartWallet" } ], - "id": 8089, + "id": 8198, "isConstant": false, "isLValue": false, "isPure": true, @@ -228850,14 +229983,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 8088, + "id": 8197, "name": "address", "nodeType": "ElementaryTypeName", "src": "4246:7:19", "typeDescriptions": {} } }, - "id": 8091, + "id": 8200, "isConstant": false, "isLValue": false, "isPure": false, @@ -228879,11 +230012,11 @@ "typeString": "bool" } }, - "id": 8102, + "id": 8211, "nodeType": "IfStatement", "src": "4225:138:19", "trueBody": { - "id": 8101, + "id": 8210, "nodeType": "Block", "src": "4264:99:19", "statements": [ @@ -228893,14 +230026,14 @@ { "arguments": [ { - "id": 8096, + "id": 8205, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8035, + "referencedDeclaration": 8144, "src": "4328:7:19", "typeDescriptions": { - "typeIdentifier": "t_contract$_GianoSmartWallet_$7317", + "typeIdentifier": "t_contract$_GianoSmartWallet_$7398", "typeString": "contract GianoSmartWallet" } } @@ -228908,11 +230041,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_GianoSmartWallet_$7317", + "typeIdentifier": "t_contract$_GianoSmartWallet_$7398", "typeString": "contract GianoSmartWallet" } ], - "id": 8095, + "id": 8204, "isConstant": false, "isLValue": false, "isPure": true, @@ -228924,14 +230057,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 8094, + "id": 8203, "name": "address", "nodeType": "ElementaryTypeName", "src": "4320:7:19", "typeDescriptions": {} } }, - "id": 8097, + "id": 8206, "isConstant": false, "isLValue": false, "isPure": false, @@ -228948,11 +230081,11 @@ } }, { - "id": 8098, + "id": 8207, "name": "returnAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8078, + "referencedDeclaration": 8187, "src": "4338:13:19", "typeDescriptions": { "typeIdentifier": "t_address", @@ -228971,18 +230104,18 @@ "typeString": "address" } ], - "id": 8093, + "id": 8202, "name": "ReturnedAddressDoesNotMatchAccount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8007, + "referencedDeclaration": 8116, "src": "4285:34:19", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_address_$_t_address_$returns$_t_error_$", "typeString": "function (address,address) pure returns (error)" } }, - "id": 8099, + "id": 8208, "isConstant": false, "isLValue": false, "isPure": false, @@ -228998,7 +230131,7 @@ "typeString": "error" } }, - "id": 8100, + "id": 8209, "nodeType": "RevertStatement", "src": "4278:74:19" } @@ -229009,11 +230142,11 @@ "expression": { "arguments": [ { - "id": 8105, + "id": 8214, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8037, + "referencedDeclaration": 8146, "src": "4474:4:19", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -229029,18 +230162,18 @@ } ], "expression": { - "id": 8103, + "id": 8212, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8035, + "referencedDeclaration": 8144, "src": "4451:7:19", "typeDescriptions": { - "typeIdentifier": "t_contract$_GianoSmartWallet_$7317", + "typeIdentifier": "t_contract$_GianoSmartWallet_$7398", "typeString": "contract GianoSmartWallet" } }, - "id": 8104, + "id": 8213, "isConstant": false, "isLValue": false, "isPure": false, @@ -229048,14 +230181,14 @@ "memberLocation": "4459:14:19", "memberName": "replaySafeHash", "nodeType": "MemberAccess", - "referencedDeclaration": 6617, + "referencedDeclaration": 6628, "src": "4451:22:19", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", "typeString": "function (bytes32) view external returns (bytes32)" } }, - "id": 8106, + "id": 8215, "isConstant": false, "isLValue": false, "isPure": false, @@ -229071,20 +230204,20 @@ "typeString": "bytes32" } }, - "functionReturnParameters": 8045, - "id": 8107, + "functionReturnParameters": 8154, + "id": 8216, "nodeType": "Return", "src": "4444:35:19" } ] }, "documentation": { - "id": 8032, + "id": 8141, "nodeType": "StructuredDocumentation", "src": "2800:769:19", "text": "@notice Helper method to get a replay-safe hash from the given `account` by calling its `replaySafeHash()`\n method.\n @dev Deploys the account if not already deployed before calling `replaySafeHash` on it.\n @dev Implements ERC-6492, see https://eips.ethereum.org/EIPS/eip-6492.\n @param account The account that will receive the ERC-1271 `isValidSignature` call.\n @param hash The hash the wallet was asked to sign.\n @param accountFactory The factory that will be used to deploy the account (if not already deployed).\n @param factoryCalldata The calldata that will be used to deploy the account (if not already deployed).\n @return The replay-safe hash." }, - "id": 8109, + "id": 8218, "implemented": true, "kind": "function", "modifiers": [], @@ -229092,41 +230225,41 @@ "nameLocation": "3583:26:19", "nodeType": "FunctionDefinition", "parameters": { - "id": 8042, + "id": 8151, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8035, + "id": 8144, "mutability": "mutable", "name": "account", "nameLocation": "3636:7:19", "nodeType": "VariableDeclaration", - "scope": 8109, + "scope": 8218, "src": "3619:24:19", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_GianoSmartWallet_$7317", + "typeIdentifier": "t_contract$_GianoSmartWallet_$7398", "typeString": "contract GianoSmartWallet" }, "typeName": { - "id": 8034, + "id": 8143, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 8033, + "id": 8142, "name": "GianoSmartWallet", "nameLocations": [ "3619:16:19" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 7317, + "referencedDeclaration": 7398, "src": "3619:16:19" }, - "referencedDeclaration": 7317, + "referencedDeclaration": 7398, "src": "3619:16:19", "typeDescriptions": { - "typeIdentifier": "t_contract$_GianoSmartWallet_$7317", + "typeIdentifier": "t_contract$_GianoSmartWallet_$7398", "typeString": "contract GianoSmartWallet" } }, @@ -229134,12 +230267,12 @@ }, { "constant": false, - "id": 8037, + "id": 8146, "mutability": "mutable", "name": "hash", "nameLocation": "3661:4:19", "nodeType": "VariableDeclaration", - "scope": 8109, + "scope": 8218, "src": "3653:12:19", "stateVariable": false, "storageLocation": "default", @@ -229148,7 +230281,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 8036, + "id": 8145, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "3653:7:19", @@ -229161,12 +230294,12 @@ }, { "constant": false, - "id": 8039, + "id": 8148, "mutability": "mutable", "name": "accountFactory", "nameLocation": "3683:14:19", "nodeType": "VariableDeclaration", - "scope": 8109, + "scope": 8218, "src": "3675:22:19", "stateVariable": false, "storageLocation": "default", @@ -229175,7 +230308,7 @@ "typeString": "address" }, "typeName": { - "id": 8038, + "id": 8147, "name": "address", "nodeType": "ElementaryTypeName", "src": "3675:7:19", @@ -229189,12 +230322,12 @@ }, { "constant": false, - "id": 8041, + "id": 8150, "mutability": "mutable", "name": "factoryCalldata", "nameLocation": "3720:15:19", "nodeType": "VariableDeclaration", - "scope": 8109, + "scope": 8218, "src": "3707:28:19", "stateVariable": false, "storageLocation": "memory", @@ -229203,7 +230336,7 @@ "typeString": "bytes" }, "typeName": { - "id": 8040, + "id": 8149, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "3707:5:19", @@ -229218,17 +230351,17 @@ "src": "3609:132:19" }, "returnParameters": { - "id": 8045, + "id": 8154, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8044, + "id": 8153, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 8109, + "scope": 8218, "src": "3760:7:19", "stateVariable": false, "storageLocation": "default", @@ -229237,7 +230370,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 8043, + "id": 8152, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "3760:7:19", @@ -229251,18 +230384,18 @@ ], "src": "3759:9:19" }, - "scope": 8110, + "scope": 8219, "src": "3574:912:19", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" } ], - "scope": 8111, + "scope": 8220, "src": "832:3656:19", "usedErrors": [ - 8000, - 8007 + 8109, + 8116 ], "usedEvents": [] } @@ -229276,27 +230409,27 @@ "absolutePath": "webauthn-sol/WebAuthn.sol", "exportedSymbols": { "Base64": [ - 2393 + 2404 ], "FCL_Elliptic_ZZ": [ - 2298 + 2309 ], "FCL_ecdsa": [ - 957 + 968 ], "LibString": [ - 6134 + 6145 ], "WebAuthn": [ - 8369 + 8478 ] }, - "id": 8370, + "id": 8479, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 8112, + "id": 8221, "literals": [ "solidity", "^", @@ -229309,20 +230442,20 @@ { "absolutePath": "FreshCryptoLib/FCL_ecdsa.sol", "file": "FreshCryptoLib/FCL_ecdsa.sol", - "id": 8114, + "id": 8223, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 8370, - "sourceUnit": 958, + "scope": 8479, + "sourceUnit": 969, "src": "57:55:20", "symbolAliases": [ { "foreign": { - "id": 8113, + "id": 8222, "name": "FCL_ecdsa", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 957, + "referencedDeclaration": 968, "src": "65:9:20", "typeDescriptions": {} }, @@ -229334,20 +230467,20 @@ { "absolutePath": "FreshCryptoLib/FCL_elliptic.sol", "file": "FreshCryptoLib/FCL_elliptic.sol", - "id": 8116, + "id": 8225, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 8370, - "sourceUnit": 2299, + "scope": 8479, + "sourceUnit": 2310, "src": "113:64:20", "symbolAliases": [ { "foreign": { - "id": 8115, + "id": 8224, "name": "FCL_Elliptic_ZZ", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2298, + "referencedDeclaration": 2309, "src": "121:15:20", "typeDescriptions": {} }, @@ -229359,20 +230492,20 @@ { "absolutePath": "openzeppelin-contracts/contracts/utils/Base64.sol", "file": "openzeppelin-contracts/contracts/utils/Base64.sol", - "id": 8118, + "id": 8227, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 8370, - "sourceUnit": 2394, + "scope": 8479, + "sourceUnit": 2405, "src": "178:73:20", "symbolAliases": [ { "foreign": { - "id": 8117, + "id": 8226, "name": "Base64", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2393, + "referencedDeclaration": 2404, "src": "186:6:20", "typeDescriptions": {} }, @@ -229384,20 +230517,20 @@ { "absolutePath": "solady/utils/LibString.sol", "file": "solady/utils/LibString.sol", - "id": 8120, + "id": 8229, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 8370, - "sourceUnit": 6135, + "scope": 8479, + "sourceUnit": 6146, "src": "252:53:20", "symbolAliases": [ { "foreign": { - "id": 8119, + "id": 8228, "name": "LibString", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 6134, + "referencedDeclaration": 6145, "src": "260:9:20", "typeDescriptions": {} }, @@ -229413,15 +230546,15 @@ "contractDependencies": [], "contractKind": "library", "documentation": { - "id": 8121, + "id": 8230, "nodeType": "StructuredDocumentation", "src": "307:454:20", "text": "@title WebAuthn\n @notice A library for verifying WebAuthn Authentication Assertions, built off the work\n of Daimo.\n @dev Attempts to use the RIP-7212 precompile for signature verification.\n If precompile verification fails, it falls back to FreshCryptoLib.\n @author Coinbase (https://github.com/base-org/webauthn-sol)\n @author Daimo (https://github.com/daimo-eth/p256-verifier/blob/master/src/WebAuthn.sol)" }, "fullyImplemented": true, - "id": 8369, + "id": 8478, "linearizedBaseContracts": [ - 8369 + 8478 ], "name": "WebAuthn", "nameLocation": "769:8:20", @@ -229429,21 +230562,21 @@ "nodes": [ { "global": false, - "id": 8124, + "id": 8233, "libraryName": { - "id": 8122, + "id": 8231, "name": "LibString", "nameLocations": [ "790:9:20" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 6134, + "referencedDeclaration": 6145, "src": "790:9:20" }, "nodeType": "UsingForDirective", "src": "784:27:20", "typeName": { - "id": 8123, + "id": 8232, "name": "string", "nodeType": "ElementaryTypeName", "src": "804:6:20", @@ -229455,16 +230588,16 @@ }, { "canonicalName": "WebAuthn.WebAuthnAuth", - "id": 8143, + "id": 8252, "members": [ { "constant": false, - "id": 8127, + "id": 8236, "mutability": "mutable", "name": "authenticatorData", "nameLocation": "1012:17:20", "nodeType": "VariableDeclaration", - "scope": 8143, + "scope": 8252, "src": "1006:23:20", "stateVariable": false, "storageLocation": "default", @@ -229473,7 +230606,7 @@ "typeString": "bytes" }, "typeName": { - "id": 8126, + "id": 8235, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "1006:5:20", @@ -229486,12 +230619,12 @@ }, { "constant": false, - "id": 8130, + "id": 8239, "mutability": "mutable", "name": "clientDataJSON", "nameLocation": "1191:14:20", "nodeType": "VariableDeclaration", - "scope": 8143, + "scope": 8252, "src": "1184:21:20", "stateVariable": false, "storageLocation": "default", @@ -229500,7 +230633,7 @@ "typeString": "string" }, "typeName": { - "id": 8129, + "id": 8238, "name": "string", "nodeType": "ElementaryTypeName", "src": "1184:6:20", @@ -229513,12 +230646,12 @@ }, { "constant": false, - "id": 8133, + "id": 8242, "mutability": "mutable", "name": "challengeIndex", "nameLocation": "1305:14:20", "nodeType": "VariableDeclaration", - "scope": 8143, + "scope": 8252, "src": "1297:22:20", "stateVariable": false, "storageLocation": "default", @@ -229527,7 +230660,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8132, + "id": 8241, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1297:7:20", @@ -229540,12 +230673,12 @@ }, { "constant": false, - "id": 8136, + "id": 8245, "mutability": "mutable", "name": "typeIndex", "nameLocation": "1414:9:20", "nodeType": "VariableDeclaration", - "scope": 8143, + "scope": 8252, "src": "1406:17:20", "stateVariable": false, "storageLocation": "default", @@ -229554,7 +230687,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8135, + "id": 8244, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1406:7:20", @@ -229567,12 +230700,12 @@ }, { "constant": false, - "id": 8139, + "id": 8248, "mutability": "mutable", "name": "r", "nameLocation": "1493:1:20", "nodeType": "VariableDeclaration", - "scope": 8143, + "scope": 8252, "src": "1485:9:20", "stateVariable": false, "storageLocation": "default", @@ -229581,7 +230714,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8138, + "id": 8247, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1485:7:20", @@ -229594,12 +230727,12 @@ }, { "constant": false, - "id": 8142, + "id": 8251, "mutability": "mutable", "name": "s", "nameLocation": "1564:1:20", "nodeType": "VariableDeclaration", - "scope": 8143, + "scope": 8252, "src": "1556:9:20", "stateVariable": false, "storageLocation": "default", @@ -229608,7 +230741,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8141, + "id": 8250, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1556:7:20", @@ -229623,24 +230756,24 @@ "name": "WebAuthnAuth", "nameLocation": "824:12:20", "nodeType": "StructDefinition", - "scope": 8369, + "scope": 8478, "src": "817:755:20", "visibility": "public" }, { "constant": true, "documentation": { - "id": 8144, + "id": 8253, "nodeType": "StructuredDocumentation", "src": "1578:147:20", "text": "@dev Bit 0 of the authenticator data struct, corresponding to the \"User Present\" bit.\n See https://www.w3.org/TR/webauthn-2/#flags." }, - "id": 8147, + "id": 8256, "mutability": "constant", "name": "_AUTH_DATA_FLAGS_UP", "nameLocation": "1754:19:20", "nodeType": "VariableDeclaration", - "scope": 8369, + "scope": 8478, "src": "1730:50:20", "stateVariable": true, "storageLocation": "default", @@ -229649,7 +230782,7 @@ "typeString": "bytes1" }, "typeName": { - "id": 8145, + "id": 8254, "name": "bytes1", "nodeType": "ElementaryTypeName", "src": "1730:6:20", @@ -229660,7 +230793,7 @@ }, "value": { "hexValue": "30783031", - "id": 8146, + "id": 8255, "isConstant": false, "isLValue": false, "isPure": true, @@ -229679,17 +230812,17 @@ { "constant": true, "documentation": { - "id": 8148, + "id": 8257, "nodeType": "StructuredDocumentation", "src": "1787:148:20", "text": "@dev Bit 2 of the authenticator data struct, corresponding to the \"User Verified\" bit.\n See https://www.w3.org/TR/webauthn-2/#flags." }, - "id": 8151, + "id": 8260, "mutability": "constant", "name": "_AUTH_DATA_FLAGS_UV", "nameLocation": "1964:19:20", "nodeType": "VariableDeclaration", - "scope": 8369, + "scope": 8478, "src": "1940:50:20", "stateVariable": true, "storageLocation": "default", @@ -229698,7 +230831,7 @@ "typeString": "bytes1" }, "typeName": { - "id": 8149, + "id": 8258, "name": "bytes1", "nodeType": "ElementaryTypeName", "src": "1940:6:20", @@ -229709,7 +230842,7 @@ }, "value": { "hexValue": "30783034", - "id": 8150, + "id": 8259, "isConstant": false, "isLValue": false, "isPure": true, @@ -229728,17 +230861,17 @@ { "constant": true, "documentation": { - "id": 8152, + "id": 8261, "nodeType": "StructuredDocumentation", "src": "1997:89:20", "text": "@dev Secp256r1 curve order / 2 used as guard to prevent signature malleability issue." }, - "id": 8158, + "id": 8267, "mutability": "constant", "name": "_P256_N_DIV_2", "nameLocation": "2116:13:20", "nodeType": "VariableDeclaration", - "scope": 8369, + "scope": 8478, "src": "2091:62:20", "stateVariable": true, "storageLocation": "default", @@ -229747,7 +230880,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8153, + "id": 8262, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2091:7:20", @@ -229761,25 +230894,25 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8157, + "id": 8266, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "expression": { - "id": 8154, + "id": 8263, "name": "FCL_Elliptic_ZZ", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2298, + "referencedDeclaration": 2309, "src": "2132:15:20", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2298_$", + "typeIdentifier": "t_type$_t_contract$_FCL_Elliptic_ZZ_$2309_$", "typeString": "type(library FCL_Elliptic_ZZ)" } }, - "id": 8155, + "id": 8264, "isConstant": false, "isLValue": false, "isPure": true, @@ -229787,7 +230920,7 @@ "memberLocation": "2148:1:20", "memberName": "n", "nodeType": "MemberAccess", - "referencedDeclaration": 980, + "referencedDeclaration": 991, "src": "2132:17:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -229798,7 +230931,7 @@ "operator": "/", "rightExpression": { "hexValue": "32", - "id": 8156, + "id": 8265, "isConstant": false, "isLValue": false, "isPure": true, @@ -229823,17 +230956,17 @@ { "constant": true, "documentation": { - "id": 8159, + "id": 8268, "nodeType": "StructuredDocumentation", "src": "2160:194:20", "text": "@dev The precompiled contract address to use for signature verification in the “secp256r1” elliptic curve.\n See https://github.com/ethereum/RIPs/blob/master/RIPS/rip-7212.md." }, - "id": 8165, + "id": 8274, "mutability": "constant", "name": "_VERIFIER", "nameLocation": "2384:9:20", "nodeType": "VariableDeclaration", - "scope": 8369, + "scope": 8478, "src": "2359:51:20", "stateVariable": true, "storageLocation": "default", @@ -229842,7 +230975,7 @@ "typeString": "address" }, "typeName": { - "id": 8160, + "id": 8269, "name": "address", "nodeType": "ElementaryTypeName", "src": "2359:7:20", @@ -229856,7 +230989,7 @@ "arguments": [ { "hexValue": "3078313030", - "id": 8163, + "id": 8272, "isConstant": false, "isLValue": false, "isPure": true, @@ -229878,7 +231011,7 @@ "typeString": "int_const 256" } ], - "id": 8162, + "id": 8271, "isConstant": false, "isLValue": false, "isPure": true, @@ -229890,14 +231023,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 8161, + "id": 8270, "name": "address", "nodeType": "ElementaryTypeName", "src": "2396:7:20", "typeDescriptions": {} } }, - "id": 8164, + "id": 8273, "isConstant": false, "isLValue": false, "isPure": true, @@ -229918,17 +231051,17 @@ { "constant": true, "documentation": { - "id": 8166, + "id": 8275, "nodeType": "StructuredDocumentation", "src": "2417:174:20", "text": "@dev The expected type (hash) in the client data JSON when verifying assertion signatures.\n See https://www.w3.org/TR/webauthn-2/#dom-collectedclientdata-type" }, - "id": 8171, + "id": 8280, "mutability": "constant", "name": "_EXPECTED_TYPE_HASH", "nameLocation": "2621:19:20", "nodeType": "VariableDeclaration", - "scope": 8369, + "scope": 8478, "src": "2596:81:20", "stateVariable": true, "storageLocation": "default", @@ -229937,7 +231070,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 8167, + "id": 8276, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2596:7:20", @@ -229950,7 +231083,7 @@ "arguments": [ { "hexValue": "2274797065223a22776562617574686e2e67657422", - "id": 8169, + "id": 8278, "isConstant": false, "isLValue": false, "isPure": true, @@ -229972,7 +231105,7 @@ "typeString": "literal_string \"\"type\":\"webauthn.get\"\"" } ], - "id": 8168, + "id": 8277, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -229983,7 +231116,7 @@ "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 8170, + "id": 8279, "isConstant": false, "isLValue": false, "isPure": true, @@ -230003,9 +231136,9 @@ }, { "body": { - "id": 8367, + "id": 8476, "nodeType": "Block", - "src": "6852:2753:20", + "src": "6880:2765:20", "statements": [ { "condition": { @@ -230013,34 +231146,34 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8191, + "id": 8300, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 8188, + "id": 8297, "name": "webAuthnAuth", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8179, - "src": "6866:12:20", + "referencedDeclaration": 8288, + "src": "6894:12:20", "typeDescriptions": { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8143_memory_ptr", + "typeIdentifier": "t_struct$_WebAuthnAuth_$8252_memory_ptr", "typeString": "struct WebAuthn.WebAuthnAuth memory" } }, - "id": 8189, + "id": 8298, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "6879:1:20", + "memberLocation": "6907:1:20", "memberName": "s", "nodeType": "MemberAccess", - "referencedDeclaration": 8142, - "src": "6866:14:20", + "referencedDeclaration": 8251, + "src": "6894:14:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -230049,70 +231182,70 @@ "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { - "id": 8190, + "id": 8299, "name": "_P256_N_DIV_2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8158, - "src": "6883:13:20", + "referencedDeclaration": 8267, + "src": "6911:13:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6866:30:20", + "src": "6894:30:20", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 8195, + "id": 8304, "nodeType": "IfStatement", - "src": "6862:125:20", + "src": "6890:125:20", "trueBody": { - "id": 8194, + "id": 8303, "nodeType": "Block", - "src": "6898:89:20", + "src": "6926:89:20", "statements": [ { "expression": { "hexValue": "66616c7365", - "id": 8192, + "id": 8301, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "6971:5:20", + "src": "6999:5:20", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, - "functionReturnParameters": 8187, - "id": 8193, + "functionReturnParameters": 8296, + "id": 8302, "nodeType": "Return", - "src": "6964:12:20" + "src": "6992:12:20" } ] } }, { "assignments": [ - 8197 + 8306 ], "declarations": [ { "constant": false, - "id": 8197, + "id": 8306, "mutability": "mutable", "name": "_type", - "nameLocation": "7142:5:20", + "nameLocation": "7170:5:20", "nodeType": "VariableDeclaration", - "scope": 8367, - "src": "7128:19:20", + "scope": 8476, + "src": "7156:19:20", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -230120,10 +231253,10 @@ "typeString": "string" }, "typeName": { - "id": 8196, + "id": 8305, "name": "string", "nodeType": "ElementaryTypeName", - "src": "7128:6:20", + "src": "7156:6:20", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -230132,32 +231265,32 @@ "visibility": "internal" } ], - "id": 8208, + "id": 8317, "initialValue": { "arguments": [ { "expression": { - "id": 8201, + "id": 8310, "name": "webAuthnAuth", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8179, - "src": "7184:12:20", + "referencedDeclaration": 8288, + "src": "7212:12:20", "typeDescriptions": { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8143_memory_ptr", + "typeIdentifier": "t_struct$_WebAuthnAuth_$8252_memory_ptr", "typeString": "struct WebAuthn.WebAuthnAuth memory" } }, - "id": 8202, + "id": 8311, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "7197:9:20", + "memberLocation": "7225:9:20", "memberName": "typeIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 8136, - "src": "7184:22:20", + "referencedDeclaration": 8245, + "src": "7212:22:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -230168,34 +231301,34 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8206, + "id": 8315, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 8203, + "id": 8312, "name": "webAuthnAuth", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8179, - "src": "7208:12:20", + "referencedDeclaration": 8288, + "src": "7236:12:20", "typeDescriptions": { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8143_memory_ptr", + "typeIdentifier": "t_struct$_WebAuthnAuth_$8252_memory_ptr", "typeString": "struct WebAuthn.WebAuthnAuth memory" } }, - "id": 8204, + "id": 8313, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "7221:9:20", + "memberLocation": "7249:9:20", "memberName": "typeIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 8136, - "src": "7208:22:20", + "referencedDeclaration": 8245, + "src": "7236:22:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -230205,21 +231338,21 @@ "operator": "+", "rightExpression": { "hexValue": "3231", - "id": 8205, + "id": 8314, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7233:2:20", + "src": "7261:2:20", "typeDescriptions": { "typeIdentifier": "t_rational_21_by_1", "typeString": "int_const 21" }, "value": "21" }, - "src": "7208:27:20", + "src": "7236:27:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -230239,48 +231372,48 @@ ], "expression": { "expression": { - "id": 8198, + "id": 8307, "name": "webAuthnAuth", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8179, - "src": "7150:12:20", + "referencedDeclaration": 8288, + "src": "7178:12:20", "typeDescriptions": { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8143_memory_ptr", + "typeIdentifier": "t_struct$_WebAuthnAuth_$8252_memory_ptr", "typeString": "struct WebAuthn.WebAuthnAuth memory" } }, - "id": 8199, + "id": 8308, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "7163:14:20", + "memberLocation": "7191:14:20", "memberName": "clientDataJSON", "nodeType": "MemberAccess", - "referencedDeclaration": 8130, - "src": "7150:27:20", + "referencedDeclaration": 8239, + "src": "7178:27:20", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 8200, + "id": 8309, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "7178:5:20", + "memberLocation": "7206:5:20", "memberName": "slice", "nodeType": "MemberAccess", - "referencedDeclaration": 5804, - "src": "7150:33:20", + "referencedDeclaration": 5815, + "src": "7178:33:20", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$attached_to$_t_string_memory_ptr_$", "typeString": "function (string memory,uint256,uint256) pure returns (string memory)" } }, - "id": 8207, + "id": 8316, "isConstant": false, "isLValue": false, "isPure": false, @@ -230289,7 +231422,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7150:86:20", + "src": "7178:86:20", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -230297,7 +231430,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "7128:108:20" + "src": "7156:108:20" }, { "condition": { @@ -230305,7 +231438,7 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 8216, + "id": 8325, "isConstant": false, "isLValue": false, "isPure": false, @@ -230315,12 +231448,12 @@ { "arguments": [ { - "id": 8212, + "id": 8321, "name": "_type", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8197, - "src": "7266:5:20", + "referencedDeclaration": 8306, + "src": "7294:5:20", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -230334,26 +231467,26 @@ "typeString": "string memory" } ], - "id": 8211, + "id": 8320, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7260:5:20", + "src": "7288:5:20", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 8210, + "id": 8319, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "7260:5:20", + "src": "7288:5:20", "typeDescriptions": {} } }, - "id": 8213, + "id": 8322, "isConstant": false, "isLValue": false, "isPure": false, @@ -230362,7 +231495,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7260:12:20", + "src": "7288:12:20", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -230377,18 +231510,18 @@ "typeString": "bytes memory" } ], - "id": 8209, + "id": 8318, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "7250:9:20", + "src": "7278:9:20", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 8214, + "id": 8323, "isConstant": false, "isLValue": false, "isPure": false, @@ -230397,7 +231530,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7250:23:20", + "src": "7278:23:20", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -230407,70 +231540,70 @@ "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { - "id": 8215, + "id": 8324, "name": "_EXPECTED_TYPE_HASH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8171, - "src": "7277:19:20", + "referencedDeclaration": 8280, + "src": "7305:19:20", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "7250:46:20", + "src": "7278:46:20", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 8220, + "id": 8329, "nodeType": "IfStatement", - "src": "7246:89:20", + "src": "7274:89:20", "trueBody": { - "id": 8219, + "id": 8328, "nodeType": "Block", - "src": "7298:37:20", + "src": "7326:37:20", "statements": [ { "expression": { "hexValue": "66616c7365", - "id": 8217, + "id": 8326, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "7319:5:20", + "src": "7347:5:20", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, - "functionReturnParameters": 8187, - "id": 8218, + "functionReturnParameters": 8296, + "id": 8327, "nodeType": "Return", - "src": "7312:12:20" + "src": "7340:12:20" } ] } }, { "assignments": [ - 8222 + 8331 ], "declarations": [ { "constant": false, - "id": 8222, + "id": 8331, "mutability": "mutable", "name": "expectedChallenge", - "nameLocation": "7462:17:20", + "nameLocation": "7490:17:20", "nodeType": "VariableDeclaration", - "scope": 8367, - "src": "7449:30:20", + "scope": 8476, + "src": "7477:30:20", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -230478,10 +231611,10 @@ "typeString": "bytes" }, "typeName": { - "id": 8221, + "id": 8330, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "7449:5:20", + "src": "7477:5:20", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -230490,21 +231623,21 @@ "visibility": "internal" } ], - "id": 8236, + "id": 8345, "initialValue": { "arguments": [ { "arguments": [ { "hexValue": "226368616c6c656e6765223a22", - "id": 8228, + "id": 8337, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7502:15:20", + "src": "7530:15:20", "typeDescriptions": { "typeIdentifier": "t_stringliteral_113c04afa71755a4031625b892f63ab93216801f92d9b727f651dde51622cc9b", "typeString": "literal_string \"\"challenge\":\"\"" @@ -230514,12 +231647,12 @@ { "arguments": [ { - "id": 8231, + "id": 8340, "name": "challenge", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8174, - "src": "7536:9:20", + "referencedDeclaration": 8283, + "src": "7564:9:20", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -230534,33 +231667,33 @@ } ], "expression": { - "id": 8229, + "id": 8338, "name": "Base64", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2393, - "src": "7519:6:20", + "referencedDeclaration": 2404, + "src": "7547:6:20", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Base64_$2393_$", + "typeIdentifier": "t_type$_t_contract$_Base64_$2404_$", "typeString": "type(library Base64)" } }, - "id": 8230, + "id": 8339, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "7526:9:20", + "memberLocation": "7554:9:20", "memberName": "encodeURL", "nodeType": "MemberAccess", - "referencedDeclaration": 2338, - "src": "7519:16:20", + "referencedDeclaration": 2349, + "src": "7547:16:20", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (bytes memory) pure returns (string memory)" } }, - "id": 8232, + "id": 8341, "isConstant": false, "isLValue": false, "isPure": false, @@ -230569,7 +231702,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7519:27:20", + "src": "7547:27:20", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -230578,14 +231711,14 @@ }, { "hexValue": "22", - "id": 8233, + "id": 8342, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7548:3:20", + "src": "7576:3:20", "typeDescriptions": { "typeIdentifier": "t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0", "typeString": "literal_string \"\"\"" @@ -230609,40 +231742,40 @@ } ], "expression": { - "id": 8226, + "id": 8335, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7488:6:20", + "src": "7516:6:20", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { - "id": 8225, + "id": 8334, "name": "string", "nodeType": "ElementaryTypeName", - "src": "7488:6:20", + "src": "7516:6:20", "typeDescriptions": {} } }, - "id": 8227, + "id": 8336, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "7495:6:20", + "memberLocation": "7523:6:20", "memberName": "concat", "nodeType": "MemberAccess", - "src": "7488:13:20", + "src": "7516:13:20", "typeDescriptions": { "typeIdentifier": "t_function_stringconcat_pure$__$returns$_t_string_memory_ptr_$", "typeString": "function () pure returns (string memory)" } }, - "id": 8234, + "id": 8343, "isConstant": false, "isLValue": false, "isPure": false, @@ -230651,7 +231784,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7488:64:20", + "src": "7516:64:20", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -230666,26 +231799,26 @@ "typeString": "string memory" } ], - "id": 8224, + "id": 8333, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7482:5:20", + "src": "7510:5:20", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 8223, + "id": 8332, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "7482:5:20", + "src": "7510:5:20", "typeDescriptions": {} } }, - "id": 8235, + "id": 8344, "isConstant": false, "isLValue": false, "isPure": false, @@ -230694,7 +231827,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7482:71:20", + "src": "7510:71:20", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -230702,22 +231835,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "7449:104:20" + "src": "7477:104:20" }, { "assignments": [ - 8238 + 8347 ], "declarations": [ { "constant": false, - "id": 8238, + "id": 8347, "mutability": "mutable", "name": "actualChallenge", - "nameLocation": "7577:15:20", + "nameLocation": "7605:15:20", "nodeType": "VariableDeclaration", - "scope": 8367, - "src": "7563:29:20", + "scope": 8476, + "src": "7591:29:20", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -230725,10 +231858,10 @@ "typeString": "string" }, "typeName": { - "id": 8237, + "id": 8346, "name": "string", "nodeType": "ElementaryTypeName", - "src": "7563:6:20", + "src": "7591:6:20", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -230737,32 +231870,32 @@ "visibility": "internal" } ], - "id": 8250, + "id": 8359, "initialValue": { "arguments": [ { "expression": { - "id": 8242, + "id": 8351, "name": "webAuthnAuth", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8179, - "src": "7629:12:20", + "referencedDeclaration": 8288, + "src": "7669:12:20", "typeDescriptions": { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8143_memory_ptr", + "typeIdentifier": "t_struct$_WebAuthnAuth_$8252_memory_ptr", "typeString": "struct WebAuthn.WebAuthnAuth memory" } }, - "id": 8243, + "id": 8352, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "7642:14:20", + "memberLocation": "7682:14:20", "memberName": "challengeIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 8133, - "src": "7629:27:20", + "referencedDeclaration": 8242, + "src": "7669:27:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -230773,34 +231906,34 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8248, + "id": 8357, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 8244, + "id": 8353, "name": "webAuthnAuth", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8179, - "src": "7658:12:20", + "referencedDeclaration": 8288, + "src": "7698:12:20", "typeDescriptions": { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8143_memory_ptr", + "typeIdentifier": "t_struct$_WebAuthnAuth_$8252_memory_ptr", "typeString": "struct WebAuthn.WebAuthnAuth memory" } }, - "id": 8245, + "id": 8354, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "7671:14:20", + "memberLocation": "7711:14:20", "memberName": "challengeIndex", "nodeType": "MemberAccess", - "referencedDeclaration": 8133, - "src": "7658:27:20", + "referencedDeclaration": 8242, + "src": "7698:27:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -230810,32 +231943,32 @@ "operator": "+", "rightExpression": { "expression": { - "id": 8246, + "id": 8355, "name": "expectedChallenge", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8222, - "src": "7688:17:20", + "referencedDeclaration": 8331, + "src": "7728:17:20", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 8247, + "id": 8356, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "7706:6:20", + "memberLocation": "7746:6:20", "memberName": "length", "nodeType": "MemberAccess", - "src": "7688:24:20", + "src": "7728:24:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7658:54:20", + "src": "7698:54:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -230855,48 +231988,48 @@ ], "expression": { "expression": { - "id": 8239, + "id": 8348, "name": "webAuthnAuth", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8179, - "src": "7595:12:20", + "referencedDeclaration": 8288, + "src": "7635:12:20", "typeDescriptions": { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8143_memory_ptr", + "typeIdentifier": "t_struct$_WebAuthnAuth_$8252_memory_ptr", "typeString": "struct WebAuthn.WebAuthnAuth memory" } }, - "id": 8240, + "id": 8349, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "7608:14:20", + "memberLocation": "7648:14:20", "memberName": "clientDataJSON", "nodeType": "MemberAccess", - "referencedDeclaration": 8130, - "src": "7595:27:20", + "referencedDeclaration": 8239, + "src": "7635:27:20", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 8241, + "id": 8350, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "7623:5:20", + "memberLocation": "7663:5:20", "memberName": "slice", "nodeType": "MemberAccess", - "referencedDeclaration": 5804, - "src": "7595:33:20", + "referencedDeclaration": 5815, + "src": "7635:33:20", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$attached_to$_t_string_memory_ptr_$", "typeString": "function (string memory,uint256,uint256) pure returns (string memory)" } }, - "id": 8249, + "id": 8358, "isConstant": false, "isLValue": false, "isPure": false, @@ -230905,7 +232038,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7595:118:20", + "src": "7635:118:20", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -230913,7 +232046,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "7563:150:20" + "src": "7591:162:20" }, { "condition": { @@ -230921,7 +232054,7 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 8260, + "id": 8369, "isConstant": false, "isLValue": false, "isPure": false, @@ -230931,12 +232064,12 @@ { "arguments": [ { - "id": 8254, + "id": 8363, "name": "actualChallenge", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8238, - "src": "7743:15:20", + "referencedDeclaration": 8347, + "src": "7783:15:20", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -230950,26 +232083,26 @@ "typeString": "string memory" } ], - "id": 8253, + "id": 8362, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7737:5:20", + "src": "7777:5:20", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 8252, + "id": 8361, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "7737:5:20", + "src": "7777:5:20", "typeDescriptions": {} } }, - "id": 8255, + "id": 8364, "isConstant": false, "isLValue": false, "isPure": false, @@ -230978,7 +232111,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7737:22:20", + "src": "7777:22:20", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -230993,18 +232126,18 @@ "typeString": "bytes memory" } ], - "id": 8251, + "id": 8360, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "7727:9:20", + "src": "7767:9:20", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 8256, + "id": 8365, "isConstant": false, "isLValue": false, "isPure": false, @@ -231013,7 +232146,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7727:33:20", + "src": "7767:33:20", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -231025,12 +232158,12 @@ "rightExpression": { "arguments": [ { - "id": 8258, + "id": 8367, "name": "expectedChallenge", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8222, - "src": "7774:17:20", + "referencedDeclaration": 8331, + "src": "7814:17:20", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -231044,18 +232177,18 @@ "typeString": "bytes memory" } ], - "id": 8257, + "id": 8366, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "7764:9:20", + "src": "7804:9:20", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 8259, + "id": 8368, "isConstant": false, "isLValue": false, "isPure": false, @@ -231064,48 +232197,48 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7764:28:20", + "src": "7804:28:20", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "7727:65:20", + "src": "7767:65:20", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 8264, + "id": 8373, "nodeType": "IfStatement", - "src": "7723:108:20", + "src": "7763:108:20", "trueBody": { - "id": 8263, + "id": 8372, "nodeType": "Block", - "src": "7794:37:20", + "src": "7834:37:20", "statements": [ { "expression": { "hexValue": "66616c7365", - "id": 8261, + "id": 8370, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "7815:5:20", + "src": "7855:5:20", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, - "functionReturnParameters": 8187, - "id": 8262, + "functionReturnParameters": 8296, + "id": 8371, "nodeType": "Return", - "src": "7808:12:20" + "src": "7848:12:20" } ] } @@ -231116,7 +232249,7 @@ "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, - "id": 8272, + "id": 8381, "isConstant": false, "isLValue": false, "isPure": false, @@ -231126,7 +232259,7 @@ "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, - "id": 8270, + "id": 8379, "isConstant": false, "isLValue": false, "isPure": false, @@ -231134,43 +232267,43 @@ "leftExpression": { "baseExpression": { "expression": { - "id": 8265, + "id": 8374, "name": "webAuthnAuth", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8179, - "src": "7947:12:20", + "referencedDeclaration": 8288, + "src": "7987:12:20", "typeDescriptions": { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8143_memory_ptr", + "typeIdentifier": "t_struct$_WebAuthnAuth_$8252_memory_ptr", "typeString": "struct WebAuthn.WebAuthnAuth memory" } }, - "id": 8266, + "id": 8375, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "7960:17:20", + "memberLocation": "8000:17:20", "memberName": "authenticatorData", "nodeType": "MemberAccess", - "referencedDeclaration": 8127, - "src": "7947:30:20", + "referencedDeclaration": 8236, + "src": "7987:30:20", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 8268, + "id": 8377, "indexExpression": { "hexValue": "3332", - "id": 8267, + "id": 8376, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7978:2:20", + "src": "8018:2:20", "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" @@ -231182,7 +232315,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7947:34:20", + "src": "7987:34:20", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -231191,18 +232324,18 @@ "nodeType": "BinaryOperation", "operator": "&", "rightExpression": { - "id": 8269, + "id": 8378, "name": "_AUTH_DATA_FLAGS_UP", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8147, - "src": "7984:19:20", + "referencedDeclaration": 8256, + "src": "8024:19:20", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, - "src": "7947:56:20", + "src": "7987:56:20", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -231211,52 +232344,52 @@ "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { - "id": 8271, + "id": 8380, "name": "_AUTH_DATA_FLAGS_UP", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8147, - "src": "8007:19:20", + "referencedDeclaration": 8256, + "src": "8047:19:20", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, - "src": "7947:79:20", + "src": "7987:79:20", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 8276, + "id": 8385, "nodeType": "IfStatement", - "src": "7943:122:20", + "src": "7983:122:20", "trueBody": { - "id": 8275, + "id": 8384, "nodeType": "Block", - "src": "8028:37:20", + "src": "8068:37:20", "statements": [ { "expression": { "hexValue": "66616c7365", - "id": 8273, + "id": 8382, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "8049:5:20", + "src": "8089:5:20", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, - "functionReturnParameters": 8187, - "id": 8274, + "functionReturnParameters": 8296, + "id": 8383, "nodeType": "Return", - "src": "8042:12:20" + "src": "8082:12:20" } ] } @@ -231267,18 +232400,18 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 8287, + "id": 8396, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 8277, + "id": 8386, "name": "requireUV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8176, - "src": "8229:9:20", + "referencedDeclaration": 8285, + "src": "8269:9:20", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -231291,7 +232424,7 @@ "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, - "id": 8286, + "id": 8395, "isConstant": false, "isLValue": false, "isPure": false, @@ -231303,7 +232436,7 @@ "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, - "id": 8283, + "id": 8392, "isConstant": false, "isLValue": false, "isPure": false, @@ -231311,43 +232444,43 @@ "leftExpression": { "baseExpression": { "expression": { - "id": 8278, + "id": 8387, "name": "webAuthnAuth", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8179, - "src": "8243:12:20", + "referencedDeclaration": 8288, + "src": "8283:12:20", "typeDescriptions": { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8143_memory_ptr", + "typeIdentifier": "t_struct$_WebAuthnAuth_$8252_memory_ptr", "typeString": "struct WebAuthn.WebAuthnAuth memory" } }, - "id": 8279, + "id": 8388, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "8256:17:20", + "memberLocation": "8296:17:20", "memberName": "authenticatorData", "nodeType": "MemberAccess", - "referencedDeclaration": 8127, - "src": "8243:30:20", + "referencedDeclaration": 8236, + "src": "8283:30:20", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 8281, + "id": 8390, "indexExpression": { "hexValue": "3332", - "id": 8280, + "id": 8389, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8274:2:20", + "src": "8314:2:20", "typeDescriptions": { "typeIdentifier": "t_rational_32_by_1", "typeString": "int_const 32" @@ -231359,7 +232492,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8243:34:20", + "src": "8283:34:20", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -231368,32 +232501,32 @@ "nodeType": "BinaryOperation", "operator": "&", "rightExpression": { - "id": 8282, + "id": 8391, "name": "_AUTH_DATA_FLAGS_UV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8151, - "src": "8280:19:20", + "referencedDeclaration": 8260, + "src": "8320:19:20", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, - "src": "8243:56:20", + "src": "8283:56:20", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } } ], - "id": 8284, + "id": 8393, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "8242:58:20", + "src": "8282:58:20", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -231402,76 +232535,76 @@ "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { - "id": 8285, + "id": 8394, "name": "_AUTH_DATA_FLAGS_UV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8151, - "src": "8304:19:20", + "referencedDeclaration": 8260, + "src": "8344:19:20", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, - "src": "8242:81:20", + "src": "8282:81:20", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "8229:94:20", + "src": "8269:94:20", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 8291, + "id": 8400, "nodeType": "IfStatement", - "src": "8225:137:20", + "src": "8265:137:20", "trueBody": { - "id": 8290, + "id": 8399, "nodeType": "Block", - "src": "8325:37:20", + "src": "8365:37:20", "statements": [ { "expression": { "hexValue": "66616c7365", - "id": 8288, + "id": 8397, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "8346:5:20", + "src": "8386:5:20", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, - "functionReturnParameters": 8187, - "id": 8289, + "functionReturnParameters": 8296, + "id": 8398, "nodeType": "Return", - "src": "8339:12:20" + "src": "8379:12:20" } ] } }, { "assignments": [ - 8293 + 8402 ], "declarations": [ { "constant": false, - "id": 8293, + "id": 8402, "mutability": "mutable", "name": "clientDataJSONHash", - "nameLocation": "8489:18:20", + "nameLocation": "8529:18:20", "nodeType": "VariableDeclaration", - "scope": 8367, - "src": "8481:26:20", + "scope": 8476, + "src": "8521:26:20", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -231479,10 +232612,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 8292, + "id": 8401, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8481:7:20", + "src": "8521:7:20", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -231491,34 +232624,34 @@ "visibility": "internal" } ], - "id": 8301, + "id": 8410, "initialValue": { "arguments": [ { "arguments": [ { "expression": { - "id": 8297, + "id": 8406, "name": "webAuthnAuth", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8179, - "src": "8523:12:20", + "referencedDeclaration": 8288, + "src": "8563:12:20", "typeDescriptions": { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8143_memory_ptr", + "typeIdentifier": "t_struct$_WebAuthnAuth_$8252_memory_ptr", "typeString": "struct WebAuthn.WebAuthnAuth memory" } }, - "id": 8298, + "id": 8407, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "8536:14:20", + "memberLocation": "8576:14:20", "memberName": "clientDataJSON", "nodeType": "MemberAccess", - "referencedDeclaration": 8130, - "src": "8523:27:20", + "referencedDeclaration": 8239, + "src": "8563:27:20", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -231532,26 +232665,26 @@ "typeString": "string memory" } ], - "id": 8296, + "id": 8405, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "8517:5:20", + "src": "8557:5:20", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 8295, + "id": 8404, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "8517:5:20", + "src": "8557:5:20", "typeDescriptions": {} } }, - "id": 8299, + "id": 8408, "isConstant": false, "isLValue": false, "isPure": false, @@ -231560,7 +232693,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8517:34:20", + "src": "8557:34:20", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -231575,18 +232708,18 @@ "typeString": "bytes memory" } ], - "id": 8294, + "id": 8403, "name": "sha256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -22, - "src": "8510:6:20", + "src": "8550:6:20", "typeDescriptions": { "typeIdentifier": "t_function_sha256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 8300, + "id": 8409, "isConstant": false, "isLValue": false, "isPure": false, @@ -231595,7 +232728,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8510:42:20", + "src": "8550:42:20", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -231603,22 +232736,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "8481:71:20" + "src": "8521:71:20" }, { "assignments": [ - 8303 + 8412 ], "declarations": [ { "constant": false, - "id": 8303, + "id": 8412, "mutability": "mutable", "name": "messageHash", - "nameLocation": "8717:11:20", + "nameLocation": "8757:11:20", "nodeType": "VariableDeclaration", - "scope": 8367, - "src": "8709:19:20", + "scope": 8476, + "src": "8749:19:20", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -231626,10 +232759,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 8302, + "id": 8411, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8709:7:20", + "src": "8749:7:20", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -231638,46 +232771,46 @@ "visibility": "internal" } ], - "id": 8312, + "id": 8421, "initialValue": { "arguments": [ { "arguments": [ { "expression": { - "id": 8307, + "id": 8416, "name": "webAuthnAuth", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8179, - "src": "8755:12:20", + "referencedDeclaration": 8288, + "src": "8795:12:20", "typeDescriptions": { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8143_memory_ptr", + "typeIdentifier": "t_struct$_WebAuthnAuth_$8252_memory_ptr", "typeString": "struct WebAuthn.WebAuthnAuth memory" } }, - "id": 8308, + "id": 8417, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "8768:17:20", + "memberLocation": "8808:17:20", "memberName": "authenticatorData", "nodeType": "MemberAccess", - "referencedDeclaration": 8127, - "src": "8755:30:20", + "referencedDeclaration": 8236, + "src": "8795:30:20", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { - "id": 8309, + "id": 8418, "name": "clientDataJSONHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8293, - "src": "8787:18:20", + "referencedDeclaration": 8402, + "src": "8827:18:20", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -231696,32 +232829,32 @@ } ], "expression": { - "id": 8305, + "id": 8414, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "8738:3:20", + "src": "8778:3:20", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 8306, + "id": 8415, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "8742:12:20", + "memberLocation": "8782:12:20", "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "8738:16:20", + "src": "8778:16:20", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 8310, + "id": 8419, "isConstant": false, "isLValue": false, "isPure": false, @@ -231730,7 +232863,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8738:68:20", + "src": "8778:68:20", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -231745,18 +232878,18 @@ "typeString": "bytes memory" } ], - "id": 8304, + "id": 8413, "name": "sha256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -22, - "src": "8731:6:20", + "src": "8771:6:20", "typeDescriptions": { "typeIdentifier": "t_function_sha256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 8311, + "id": 8420, "isConstant": false, "isLValue": false, "isPure": false, @@ -231765,7 +232898,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8731:76:20", + "src": "8771:76:20", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -231773,22 +232906,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "8709:98:20" + "src": "8749:98:20" }, { "assignments": [ - 8314 + 8423 ], "declarations": [ { "constant": false, - "id": 8314, + "id": 8423, "mutability": "mutable", "name": "args", - "nameLocation": "8830:4:20", + "nameLocation": "8870:4:20", "nodeType": "VariableDeclaration", - "scope": 8367, - "src": "8817:17:20", + "scope": 8476, + "src": "8857:17:20", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -231796,10 +232929,10 @@ "typeString": "bytes" }, "typeName": { - "id": 8313, + "id": 8422, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "8817:5:20", + "src": "8857:5:20", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -231808,16 +232941,16 @@ "visibility": "internal" } ], - "id": 8325, + "id": 8434, "initialValue": { "arguments": [ { - "id": 8317, + "id": 8426, "name": "messageHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8303, - "src": "8848:11:20", + "referencedDeclaration": 8412, + "src": "8888:11:20", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -231825,27 +232958,27 @@ }, { "expression": { - "id": 8318, + "id": 8427, "name": "webAuthnAuth", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8179, - "src": "8861:12:20", + "referencedDeclaration": 8288, + "src": "8901:12:20", "typeDescriptions": { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8143_memory_ptr", + "typeIdentifier": "t_struct$_WebAuthnAuth_$8252_memory_ptr", "typeString": "struct WebAuthn.WebAuthnAuth memory" } }, - "id": 8319, + "id": 8428, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "8874:1:20", + "memberLocation": "8914:1:20", "memberName": "r", "nodeType": "MemberAccess", - "referencedDeclaration": 8139, - "src": "8861:14:20", + "referencedDeclaration": 8248, + "src": "8901:14:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -231853,51 +232986,51 @@ }, { "expression": { - "id": 8320, + "id": 8429, "name": "webAuthnAuth", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8179, - "src": "8877:12:20", + "referencedDeclaration": 8288, + "src": "8917:12:20", "typeDescriptions": { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8143_memory_ptr", + "typeIdentifier": "t_struct$_WebAuthnAuth_$8252_memory_ptr", "typeString": "struct WebAuthn.WebAuthnAuth memory" } }, - "id": 8321, + "id": 8430, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "8890:1:20", + "memberLocation": "8930:1:20", "memberName": "s", "nodeType": "MemberAccess", - "referencedDeclaration": 8142, - "src": "8877:14:20", + "referencedDeclaration": 8251, + "src": "8917:14:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 8322, + "id": 8431, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8181, - "src": "8893:1:20", + "referencedDeclaration": 8290, + "src": "8933:1:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 8323, + "id": 8432, "name": "y", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8183, - "src": "8896:1:20", + "referencedDeclaration": 8292, + "src": "8936:1:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -231928,32 +233061,32 @@ } ], "expression": { - "id": 8315, + "id": 8424, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "8837:3:20", + "src": "8877:3:20", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 8316, + "id": 8425, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "8841:6:20", + "memberLocation": "8881:6:20", "memberName": "encode", "nodeType": "MemberAccess", - "src": "8837:10:20", + "src": "8877:10:20", "typeDescriptions": { "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 8324, + "id": 8433, "isConstant": false, "isLValue": false, "isPure": false, @@ -231962,7 +233095,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8837:61:20", + "src": "8877:61:20", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -231970,23 +233103,23 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "8817:81:20" + "src": "8857:81:20" }, { "assignments": [ - 8327, - 8329 + 8436, + 8438 ], "declarations": [ { "constant": false, - "id": 8327, + "id": 8436, "mutability": "mutable", "name": "success", - "nameLocation": "8961:7:20", + "nameLocation": "9001:7:20", "nodeType": "VariableDeclaration", - "scope": 8367, - "src": "8956:12:20", + "scope": 8476, + "src": "8996:12:20", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -231994,10 +233127,10 @@ "typeString": "bool" }, "typeName": { - "id": 8326, + "id": 8435, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "8956:4:20", + "src": "8996:4:20", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -232007,13 +233140,13 @@ }, { "constant": false, - "id": 8329, + "id": 8438, "mutability": "mutable", "name": "ret", - "nameLocation": "8983:3:20", + "nameLocation": "9023:3:20", "nodeType": "VariableDeclaration", - "scope": 8367, - "src": "8970:16:20", + "scope": 8476, + "src": "9010:16:20", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -232021,10 +233154,10 @@ "typeString": "bytes" }, "typeName": { - "id": 8328, + "id": 8437, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "8970:5:20", + "src": "9010:5:20", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -232033,16 +233166,16 @@ "visibility": "internal" } ], - "id": 8334, + "id": 8443, "initialValue": { "arguments": [ { - "id": 8332, + "id": 8441, "name": "args", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8314, - "src": "9011:4:20", + "referencedDeclaration": 8423, + "src": "9051:4:20", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -232057,32 +233190,32 @@ } ], "expression": { - "id": 8330, + "id": 8439, "name": "_VERIFIER", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8165, - "src": "8990:9:20", + "referencedDeclaration": 8274, + "src": "9030:9:20", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 8331, + "id": 8440, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "9000:10:20", + "memberLocation": "9040:10:20", "memberName": "staticcall", "nodeType": "MemberAccess", - "src": "8990:20:20", + "src": "9030:20:20", "typeDescriptions": { "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "function (bytes memory) view returns (bool,bytes memory)" } }, - "id": 8333, + "id": 8442, "isConstant": false, "isLValue": false, "isPure": false, @@ -232091,7 +233224,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8990:26:20", + "src": "9030:26:20", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", @@ -232099,22 +233232,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "8955:61:20" + "src": "8995:61:20" }, { "assignments": [ - 8336 + 8445 ], "declarations": [ { "constant": false, - "id": 8336, + "id": 8445, "mutability": "mutable", "name": "valid", - "nameLocation": "9415:5:20", + "nameLocation": "9455:5:20", "nodeType": "VariableDeclaration", - "scope": 8367, - "src": "9410:10:20", + "scope": 8476, + "src": "9450:10:20", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -232122,10 +233255,10 @@ "typeString": "bool" }, "typeName": { - "id": 8335, + "id": 8444, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "9410:4:20", + "src": "9450:4:20", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -232134,39 +233267,39 @@ "visibility": "internal" } ], - "id": 8341, + "id": 8450, "initialValue": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8340, + "id": 8449, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 8337, + "id": 8446, "name": "ret", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8329, - "src": "9423:3:20", + "referencedDeclaration": 8438, + "src": "9463:3:20", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 8338, + "id": 8447, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "9427:6:20", + "memberLocation": "9467:6:20", "memberName": "length", "nodeType": "MemberAccess", - "src": "9423:10:20", + "src": "9463:10:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -232176,28 +233309,28 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 8339, + "id": 8448, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9436:1:20", + "src": "9476:1:20", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "9423:14:20", + "src": "9463:14:20", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "VariableDeclarationStatement", - "src": "9410:27:20" + "src": "9450:27:20" }, { "condition": { @@ -232205,18 +233338,18 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 8344, + "id": 8453, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 8342, + "id": 8451, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8327, - "src": "9451:7:20", + "referencedDeclaration": 8436, + "src": "9491:7:20", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -232225,33 +233358,33 @@ "nodeType": "BinaryOperation", "operator": "&&", "rightExpression": { - "id": 8343, + "id": 8452, "name": "valid", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8336, - "src": "9462:5:20", + "referencedDeclaration": 8445, + "src": "9502:5:20", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "9451:16:20", + "src": "9491:16:20", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 8355, + "id": 8464, "nodeType": "IfStatement", - "src": "9447:60:20", + "src": "9487:60:20", "trueBody": { "expression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 8353, + "id": 8462, "isConstant": false, "isLValue": false, "isPure": false, @@ -232259,12 +233392,12 @@ "leftExpression": { "arguments": [ { - "id": 8347, + "id": 8456, "name": "ret", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8329, - "src": "9487:3:20", + "referencedDeclaration": 8438, + "src": "9527:3:20", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -232273,34 +233406,34 @@ { "components": [ { - "id": 8349, + "id": 8458, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "9493:7:20", + "src": "9533:7:20", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 8348, + "id": 8457, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9493:7:20", + "src": "9533:7:20", "typeDescriptions": {} } } ], - "id": 8350, + "id": 8459, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "9492:9:20", + "src": "9532:9:20", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" @@ -232319,32 +233452,32 @@ } ], "expression": { - "id": 8345, + "id": 8454, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "9476:3:20", + "src": "9516:3:20", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 8346, + "id": 8455, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "9480:6:20", + "memberLocation": "9520:6:20", "memberName": "decode", "nodeType": "MemberAccess", - "src": "9476:10:20", + "src": "9516:10:20", "typeDescriptions": { "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 8351, + "id": 8460, "isConstant": false, "isLValue": false, "isPure": false, @@ -232353,7 +233486,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "9476:26:20", + "src": "9516:26:20", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -232364,42 +233497,42 @@ "operator": "==", "rightExpression": { "hexValue": "31", - "id": 8352, + "id": 8461, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9506:1:20", + "src": "9546:1:20", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "9476:31:20", + "src": "9516:31:20", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 8187, - "id": 8354, + "functionReturnParameters": 8296, + "id": 8463, "nodeType": "Return", - "src": "9469:38:20" + "src": "9509:38:20" } }, { "expression": { "arguments": [ { - "id": 8358, + "id": 8467, "name": "messageHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8303, - "src": "9548:11:20", + "referencedDeclaration": 8412, + "src": "9588:11:20", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -232407,27 +233540,27 @@ }, { "expression": { - "id": 8359, + "id": 8468, "name": "webAuthnAuth", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8179, - "src": "9561:12:20", + "referencedDeclaration": 8288, + "src": "9601:12:20", "typeDescriptions": { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8143_memory_ptr", + "typeIdentifier": "t_struct$_WebAuthnAuth_$8252_memory_ptr", "typeString": "struct WebAuthn.WebAuthnAuth memory" } }, - "id": 8360, + "id": 8469, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "9574:1:20", + "memberLocation": "9614:1:20", "memberName": "r", "nodeType": "MemberAccess", - "referencedDeclaration": 8139, - "src": "9561:14:20", + "referencedDeclaration": 8248, + "src": "9601:14:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -232435,51 +233568,51 @@ }, { "expression": { - "id": 8361, + "id": 8470, "name": "webAuthnAuth", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8179, - "src": "9577:12:20", + "referencedDeclaration": 8288, + "src": "9617:12:20", "typeDescriptions": { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8143_memory_ptr", + "typeIdentifier": "t_struct$_WebAuthnAuth_$8252_memory_ptr", "typeString": "struct WebAuthn.WebAuthnAuth memory" } }, - "id": 8362, + "id": 8471, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "9590:1:20", + "memberLocation": "9630:1:20", "memberName": "s", "nodeType": "MemberAccess", - "referencedDeclaration": 8142, - "src": "9577:14:20", + "referencedDeclaration": 8251, + "src": "9617:14:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 8363, + "id": 8472, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8181, - "src": "9593:1:20", + "referencedDeclaration": 8290, + "src": "9633:1:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 8364, + "id": 8473, "name": "y", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 8183, - "src": "9596:1:20", + "referencedDeclaration": 8292, + "src": "9636:1:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -232510,33 +233643,33 @@ } ], "expression": { - "id": 8356, + "id": 8465, "name": "FCL_ecdsa", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 957, - "src": "9525:9:20", + "referencedDeclaration": 968, + "src": "9565:9:20", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FCL_ecdsa_$957_$", + "typeIdentifier": "t_type$_t_contract$_FCL_ecdsa_$968_$", "typeString": "type(library FCL_ecdsa)" } }, - "id": 8357, + "id": 8466, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "9535:12:20", + "memberLocation": "9575:12:20", "memberName": "ecdsa_verify", "nodeType": "MemberAccess", - "referencedDeclaration": 674, - "src": "9525:22:20", + "referencedDeclaration": 685, + "src": "9565:22:20", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_bool_$", "typeString": "function (bytes32,uint256,uint256,uint256,uint256) view returns (bool)" } }, - "id": 8365, + "id": 8474, "isConstant": false, "isLValue": false, "isPure": false, @@ -232545,27 +233678,27 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "9525:73:20", + "src": "9565:73:20", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 8187, - "id": 8366, + "functionReturnParameters": 8296, + "id": 8475, "nodeType": "Return", - "src": "9518:80:20" + "src": "9558:80:20" } ] }, "documentation": { - "id": 8172, + "id": 8281, "nodeType": "StructuredDocumentation", "src": "2684:4022:20", "text": "\n @notice Verifies a Webauthn Authentication Assertion as described\n in https://www.w3.org/TR/webauthn-2/#sctn-verifying-assertion.\n @dev We do not verify all the steps as described in the specification, only ones relevant to our context.\n Please carefully read through this list before usage.\n Specifically, we do verify the following:\n - Verify that authenticatorData (which comes from the authenticator, such as iCloud Keychain) indicates\n a well-formed assertion with the user present bit set. If `requireUV` is set, checks that the authenticator\n enforced user verification. User verification should be required if, and only if, options.userVerification\n is set to required in the request.\n - Verifies that the client JSON is of type \"webauthn.get\", i.e. the client was responding to a request to\n assert authentication.\n - Verifies that the client JSON contains the requested challenge.\n - Verifies that (r, s) constitute a valid signature over both the authenicatorData and client JSON, for public\n key (x, y).\n We make some assumptions about the particular use case of this verifier, so we do NOT verify the following:\n - Does NOT verify that the origin in the `clientDataJSON` matches the Relying Party's origin: tt is considered\n the authenticator's responsibility to ensure that the user is interacting with the correct RP. This is\n enforced by most high quality authenticators properly, particularly the iCloud Keychain and Google Password\n Manager were tested.\n - Does NOT verify That `topOrigin` in `clientDataJSON` is well-formed: We assume it would never be present, i.e.\n the credentials are never used in a cross-origin/iframe context. The website/app set up should disallow\n cross-origin usage of the credentials. This is the default behaviour for created credentials in common settings.\n - Does NOT verify that the `rpIdHash` in `authenticatorData` is the SHA-256 hash of the RP ID expected by the Relying\n Party: this means that we rely on the authenticator to properly enforce credentials to be used only by the correct RP.\n This is generally enforced with features like Apple App Site Association and Google Asset Links. To protect from\n edge cases in which a previously-linked RP ID is removed from the authorised RP IDs, we recommend that messages\n signed by the authenticator include some expiry mechanism.\n - Does NOT verify the credential backup state: this assumes the credential backup state is NOT used as part of Relying\n Party business logic or policy.\n - Does NOT verify the values of the client extension outputs: this assumes that the Relying Party does not use client\n extension outputs.\n - Does NOT verify the signature counter: signature counters are intended to enable risk scoring for the Relying Party.\n This assumes risk scoring is not used as part of Relying Party business logic or policy.\n - Does NOT verify the attestation object: this assumes that response.attestationObject is NOT present in the response,\n i.e. the RP does not intend to verify an attestation.\n @param challenge The challenge that was provided by the relying party.\n @param requireUV A boolean indicating whether user verification is required.\n @param webAuthnAuth The `WebAuthnAuth` struct.\n @param x The x coordinate of the public key.\n @param y The y coordinate of the public key.\n @return `true` if the authentication assertion passed validation, else `false`." }, - "id": 8368, + "id": 8477, "implemented": true, "kind": "function", "modifiers": [], @@ -232573,17 +233706,17 @@ "nameLocation": "6720:6:20", "nodeType": "FunctionDefinition", "parameters": { - "id": 8184, + "id": 8293, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8174, + "id": 8283, "mutability": "mutable", "name": "challenge", "nameLocation": "6740:9:20", "nodeType": "VariableDeclaration", - "scope": 8368, + "scope": 8477, "src": "6727:22:20", "stateVariable": false, "storageLocation": "memory", @@ -232592,7 +233725,7 @@ "typeString": "bytes" }, "typeName": { - "id": 8173, + "id": 8282, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "6727:5:20", @@ -232605,12 +233738,12 @@ }, { "constant": false, - "id": 8176, + "id": 8285, "mutability": "mutable", "name": "requireUV", "nameLocation": "6756:9:20", "nodeType": "VariableDeclaration", - "scope": 8368, + "scope": 8477, "src": "6751:14:20", "stateVariable": false, "storageLocation": "default", @@ -232619,7 +233752,7 @@ "typeString": "bool" }, "typeName": { - "id": 8175, + "id": 8284, "name": "bool", "nodeType": "ElementaryTypeName", "src": "6751:4:20", @@ -232632,36 +233765,36 @@ }, { "constant": false, - "id": 8179, + "id": 8288, "mutability": "mutable", "name": "webAuthnAuth", "nameLocation": "6787:12:20", "nodeType": "VariableDeclaration", - "scope": 8368, + "scope": 8477, "src": "6767:32:20", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8143_memory_ptr", + "typeIdentifier": "t_struct$_WebAuthnAuth_$8252_memory_ptr", "typeString": "struct WebAuthn.WebAuthnAuth" }, "typeName": { - "id": 8178, + "id": 8287, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 8177, + "id": 8286, "name": "WebAuthnAuth", "nameLocations": [ "6767:12:20" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 8143, + "referencedDeclaration": 8252, "src": "6767:12:20" }, - "referencedDeclaration": 8143, + "referencedDeclaration": 8252, "src": "6767:12:20", "typeDescriptions": { - "typeIdentifier": "t_struct$_WebAuthnAuth_$8143_storage_ptr", + "typeIdentifier": "t_struct$_WebAuthnAuth_$8252_storage_ptr", "typeString": "struct WebAuthn.WebAuthnAuth" } }, @@ -232669,12 +233802,12 @@ }, { "constant": false, - "id": 8181, + "id": 8290, "mutability": "mutable", "name": "x", "nameLocation": "6809:1:20", "nodeType": "VariableDeclaration", - "scope": 8368, + "scope": 8477, "src": "6801:9:20", "stateVariable": false, "storageLocation": "default", @@ -232683,7 +233816,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8180, + "id": 8289, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "6801:7:20", @@ -232696,12 +233829,12 @@ }, { "constant": false, - "id": 8183, + "id": 8292, "mutability": "mutable", "name": "y", "nameLocation": "6820:1:20", "nodeType": "VariableDeclaration", - "scope": 8368, + "scope": 8477, "src": "6812:9:20", "stateVariable": false, "storageLocation": "default", @@ -232710,7 +233843,7 @@ "typeString": "uint256" }, "typeName": { - "id": 8182, + "id": 8291, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "6812:7:20", @@ -232725,18 +233858,18 @@ "src": "6726:96:20" }, "returnParameters": { - "id": 8187, + "id": 8296, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 8186, + "id": 8295, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 8368, - "src": "6846:4:20", + "scope": 8477, + "src": "6870:4:20", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -232744,10 +233877,10 @@ "typeString": "bool" }, "typeName": { - "id": 8185, + "id": 8294, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "6846:4:20", + "src": "6870:4:20", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -232756,22 +233889,22 @@ "visibility": "internal" } ], - "src": "6845:6:20" + "src": "6869:6:20" }, - "scope": 8369, - "src": "6711:2894:20", + "scope": 8478, + "src": "6711:2934:20", "stateMutability": "view", "virtual": false, "visibility": "internal" } ], - "scope": 8370, - "src": "761:8846:20", + "scope": 8479, + "src": "761:8886:20", "usedErrors": [], "usedEvents": [] } ], - "src": "32:9576:20" + "src": "32:9616:20" }, "id": 20 } @@ -232825,18 +233958,18 @@ "functionDebugData": {}, "generatedSources": [], "linkReferences": {}, - "object": "6080806040523460175760b79081601d823930815050f35b600080fdfe6080806040526004361015601257600080fd5b60003560e01c90816325093e1b14606d57508063b29a8ff41460575763ede3150214603c57600080fd5b6000366003190112605257602060405160348152f35b600080fd5b6000366003190112605257602060405160148152f35b600036600319011260525780602460209252f3fea26469706673582212209661a61d84c2589e8888a66724dfc0094c2890a0d563100b16fe5cab892be50564736f6c634300081c0033", - "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE CALLVALUE PUSH1 0x17 JUMPI PUSH1 0xB7 SWAP1 DUP2 PUSH1 0x1D DUP3 CODECOPY ADDRESS DUP2 POP POP RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH1 0x12 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0x25093E1B EQ PUSH1 0x6D JUMPI POP DUP1 PUSH4 0xB29A8FF4 EQ PUSH1 0x57 JUMPI PUSH4 0xEDE31502 EQ PUSH1 0x3C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH1 0x52 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x34 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH1 0x52 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x14 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH1 0x52 JUMPI DUP1 PUSH1 0x24 PUSH1 0x20 SWAP3 MSTORE RETURN INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP7 PUSH2 0xA61D DUP5 0xC2 PC SWAP15 DUP9 DUP9 0xA6 PUSH8 0x24DFC0094C2890A0 0xD5 PUSH4 0x100B16FE TLOAD 0xAB DUP10 0x2B 0xE5 SDIV PUSH5 0x736F6C6343 STOP ADDMOD SHR STOP CALLER ", - "sourceMap": "278:4766:1:-:0;;;;;;;;;;;;;;;;;;;;;" + "object": "6080806040523460175760b79081601d823930815050f35b600080fdfe6080806040526004361015601257600080fd5b60003560e01c90816325093e1b14606d57508063b29a8ff41460575763ede3150214603c57600080fd5b6000366003190112605257602060405160348152f35b600080fd5b6000366003190112605257602060405160148152f35b600036600319011260525780602460209252f3fea2646970667358221220166b7ff4ece83787ecc206c6105839c9ad1f5fdfa666c52d9b16237a82630bcf64736f6c634300081c0033", + "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE CALLVALUE PUSH1 0x17 JUMPI PUSH1 0xB7 SWAP1 DUP2 PUSH1 0x1D DUP3 CODECOPY ADDRESS DUP2 POP POP RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH1 0x12 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0x25093E1B EQ PUSH1 0x6D JUMPI POP DUP1 PUSH4 0xB29A8FF4 EQ PUSH1 0x57 JUMPI PUSH4 0xEDE31502 EQ PUSH1 0x3C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH1 0x52 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x34 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH1 0x52 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x14 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH1 0x52 JUMPI DUP1 PUSH1 0x24 PUSH1 0x20 SWAP3 MSTORE RETURN INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 AND PUSH12 0x7FF4ECE83787ECC206C61058 CODECOPY 0xC9 0xAD 0x1F PUSH0 0xDF 0xA6 PUSH7 0xC52D9B16237A82 PUSH4 0xBCF6473 PUSH16 0x6C634300081C00330000000000000000 ", + "sourceMap": "282:4714:1:-:0;;;;;;;;;;;;;;;;;;;;;" }, "deployedBytecode": { "functionDebugData": {}, "generatedSources": [], "immutableReferences": {}, "linkReferences": {}, - "object": "6080806040526004361015601257600080fd5b60003560e01c90816325093e1b14606d57508063b29a8ff41460575763ede3150214603c57600080fd5b6000366003190112605257602060405160348152f35b600080fd5b6000366003190112605257602060405160148152f35b600036600319011260525780602460209252f3fea26469706673582212209661a61d84c2589e8888a66724dfc0094c2890a0d563100b16fe5cab892be50564736f6c634300081c0033", - "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH1 0x12 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0x25093E1B EQ PUSH1 0x6D JUMPI POP DUP1 PUSH4 0xB29A8FF4 EQ PUSH1 0x57 JUMPI PUSH4 0xEDE31502 EQ PUSH1 0x3C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH1 0x52 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x34 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH1 0x52 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x14 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH1 0x52 JUMPI DUP1 PUSH1 0x24 PUSH1 0x20 SWAP3 MSTORE RETURN INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP7 PUSH2 0xA61D DUP5 0xC2 PC SWAP15 DUP9 DUP9 0xA6 PUSH8 0x24DFC0094C2890A0 0xD5 PUSH4 0x100B16FE TLOAD 0xAB DUP10 0x2B 0xE5 SDIV PUSH5 0x736F6C6343 STOP ADDMOD SHR STOP CALLER ", - "sourceMap": "278:4766:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;278:4766:1;;;;;;;486:2;278:4766;;;;;;;;;;-1:-1:-1;;278:4766:1;;;;;;;368:2;278:4766;;;;;;-1:-1:-1;;278:4766:1;;;;;430:2;278:4766;;;" + "object": "6080806040526004361015601257600080fd5b60003560e01c90816325093e1b14606d57508063b29a8ff41460575763ede3150214603c57600080fd5b6000366003190112605257602060405160348152f35b600080fd5b6000366003190112605257602060405160148152f35b600036600319011260525780602460209252f3fea2646970667358221220166b7ff4ece83787ecc206c6105839c9ad1f5fdfa666c52d9b16237a82630bcf64736f6c634300081c0033", + "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH1 0x12 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR SWAP1 DUP2 PUSH4 0x25093E1B EQ PUSH1 0x6D JUMPI POP DUP1 PUSH4 0xB29A8FF4 EQ PUSH1 0x57 JUMPI PUSH4 0xEDE31502 EQ PUSH1 0x3C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH1 0x52 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x34 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH1 0x52 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x14 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH1 0x52 JUMPI DUP1 PUSH1 0x24 PUSH1 0x20 SWAP3 MSTORE RETURN INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 AND PUSH12 0x7FF4ECE83787ECC206C61058 CODECOPY 0xC9 0xAD 0x1F PUSH0 0xDF 0xA6 PUSH7 0xC52D9B16237A82 PUSH4 0xBCF6473 PUSH16 0x6C634300081C00330000000000000000 ", + "sourceMap": "282:4714:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;282:4714:1;;;;;;;490:2;282:4714;;;;;;;;;;-1:-1:-1;;282:4714:1;;;;;;;372:2;282:4714;;;;;;-1:-1:-1;;282:4714:1;;;;;434:2;282:4714;;;" }, "methodIdentifiers": { "PAYMASTER_DATA_OFFSET()": "ede31502", @@ -232844,7 +233977,7 @@ "PAYMASTER_VALIDATION_GAS_OFFSET()": "b29a8ff4" } }, - "metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"PAYMASTER_DATA_OFFSET\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PAYMASTER_POSTOP_GAS_OFFSET\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PAYMASTER_VALIDATION_GAS_OFFSET\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Utility functions helpful when working with UserOperation structs.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"@account-abstraction/contracts/core/UserOperationLib.sol\":\"UserOperationLib\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@account-abstraction/contracts/core/Helpers.sol\":{\"keccak256\":\"0x42b948af5fa14a96149611595df1186800c7558b2de8762e4b45a7c45c16f65e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://737a7908131ece48a5df1faaa3d0be79c42792379c27f5615dae6aa14cd68c2f\",\"dweb:/ipfs/QmPAxGMDxuek7XWSUVfZpvYE8bustfsjTDVDK8hmE88e1f\"]},\"@account-abstraction/contracts/core/UserOperationLib.sol\":{\"keccak256\":\"0x2d3450fa3906422b6fdbbe7f2a2a9e36d6f3751bfa9cd80af88befd6a5be78c1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://292a0ef5295d7f2016e99d2c228958f7f6de94f5bd9652d8696af15af0094a99\",\"dweb:/ipfs/QmVg4fhkZbUB7AopGcaVPmTdvChq7W9ga8fjrc3XaJNTM2\"]},\"@account-abstraction/contracts/interfaces/PackedUserOperation.sol\":{\"keccak256\":\"0xb15188e25e45fe73097e279675b6c0beccbd4133ead2260f8f0c4ba840046800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d14c1edd1e95d37c26e54bb34305e2cc9dedc46eb75ec91caeb777678e8ea79\",\"dweb:/ipfs/QmcCL2syVtV7W3XvYx3si84MPkbEJKqEN8hjFNhAPoDDhK\"]}},\"version\":1}" + "metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"PAYMASTER_DATA_OFFSET\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PAYMASTER_POSTOP_GAS_OFFSET\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PAYMASTER_VALIDATION_GAS_OFFSET\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Utility functions helpful when working with UserOperation structs.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"@account-abstraction/contracts/core/UserOperationLib.sol\":\"UserOperationLib\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@account-abstraction/contracts/core/Helpers.sol\":{\"keccak256\":\"0x6247e011a6cb0b263b3aa098822977181674d91b62e5bdfe04c6e66f72da25d6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ca829a69b3fbc74fec8e140d42a2bf93bc3512609272f031c846470f61f0ab7e\",\"dweb:/ipfs/QmP3r3MBgAN39KeVB1rCGJWwcBcotNt26ALtAR54poQ1Jc\"]},\"@account-abstraction/contracts/core/UserOperationLib.sol\":{\"keccak256\":\"0x9d50ece985d35f82e33e5da417595c86fac10449e3d10895d08363d33aad454b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b1d11cc364c8bf7ed5388268c895b5ffed16e87dfbcb320ddeeba5e7974315dc\",\"dweb:/ipfs/QmYSpvjxEjweietQrYZagwQ52ipy7eXx4rwvnTzXKeGeMS\"]},\"@account-abstraction/contracts/interfaces/PackedUserOperation.sol\":{\"keccak256\":\"0x1129b46381db68eddbc5cb49e50664667b66b03c480453858e7b25eabe444359\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://499a948aba60480dba6e25c763b8d918f1c246eb7a3302e04f493e080f3295be\",\"dweb:/ipfs/QmeRhhswf4NACcBKam2PyjpTP2ddSm648kah5kkQJsvwz3\"]}},\"version\":1}" } }, "@account-abstraction/contracts/interfaces/IAccount.sol": { @@ -232949,7 +234082,7 @@ "validateUserOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),bytes32,uint256)": "19822f7c" } }, - "metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation\",\"name\":\"userOp\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"missingAccountFunds\",\"type\":\"uint256\"}],\"name\":\"validateUserOp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"validationData\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"validateUserOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),bytes32,uint256)\":{\"details\":\"Must validate caller is the entryPoint. Must validate the signature and nonce\",\"params\":{\"missingAccountFunds\":\"- Missing funds on the account's deposit in the entrypoint. This is the minimum amount to transfer to the sender(entryPoint) to be able to make the call. The excess is left as a deposit in the entrypoint for future calls. Can be withdrawn anytime using \\\"entryPoint.withdrawTo()\\\". In case there is a paymaster in the request (or the current deposit is high enough), this value will be zero.\",\"userOp\":\"- The operation that is about to be executed.\",\"userOpHash\":\"- Hash of the user's request data. can be used as the basis for signature.\"},\"returns\":{\"validationData\":\" - Packaged ValidationData structure. use `_packValidationData` and `_unpackValidationData` to encode and decode. <20-byte> aggregatorOrSigFail - 0 for valid signature, 1 to mark signature failure, otherwise, an address of an \\\"aggregator\\\" contract. <6-byte> validUntil - Last timestamp this operation is valid at, or 0 for \\\"indefinitely\\\" <6-byte> validAfter - First timestamp this operation is valid If an account doesn't use time-range, it is enough to return SIG_VALIDATION_FAILED value (1) for signature failure. Note that the validation code cannot use block.timestamp (or block.number) directly.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"validateUserOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),bytes32,uint256)\":{\"notice\":\"Validate user's signature and nonce the entryPoint will make the call to the recipient only if this validation call returns successfully. signature failure should be reported by returning SIG_VALIDATION_FAILED (1). This allows making a \\\"simulation call\\\" without a valid signature Other failures (e.g. nonce mismatch, or invalid signature format) should still revert to signal failure.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@account-abstraction/contracts/interfaces/IAccount.sol\":\"IAccount\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@account-abstraction/contracts/interfaces/IAccount.sol\":{\"keccak256\":\"0x1030b464b49ce80da46b5b6c9af357c2d526f308de61391db6a4ec767d33b864\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://671945f8e18e7305797312b5a209506be3c9bd1d9b9b561c1e8863bccfa61319\",\"dweb:/ipfs/QmVanLK5Aenrb7J94doiE1C9oHwo86jvv8NrpDeNHwvnii\"]},\"@account-abstraction/contracts/interfaces/PackedUserOperation.sol\":{\"keccak256\":\"0xb15188e25e45fe73097e279675b6c0beccbd4133ead2260f8f0c4ba840046800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d14c1edd1e95d37c26e54bb34305e2cc9dedc46eb75ec91caeb777678e8ea79\",\"dweb:/ipfs/QmcCL2syVtV7W3XvYx3si84MPkbEJKqEN8hjFNhAPoDDhK\"]}},\"version\":1}" + "metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation\",\"name\":\"userOp\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"missingAccountFunds\",\"type\":\"uint256\"}],\"name\":\"validateUserOp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"validationData\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"validateUserOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),bytes32,uint256)\":{\"details\":\"Must validate caller is the entryPoint. Must validate the signature and nonce\",\"params\":{\"missingAccountFunds\":\"- Missing funds on the account's deposit in the entrypoint. This is the minimum amount to transfer to the sender(entryPoint) to be able to make the call. The excess is left as a deposit in the entrypoint for future calls. Can be withdrawn anytime using \\\"entryPoint.withdrawTo()\\\". In case there is a paymaster in the request (or the current deposit is high enough), this value will be zero.\",\"userOp\":\"- The operation that is about to be executed.\",\"userOpHash\":\"- Hash of the user's request data. can be used as the basis for signature.\"},\"returns\":{\"validationData\":\" - Packaged ValidationData structure. use `_packValidationData` and `_unpackValidationData` to encode and decode. <20-byte> sigAuthorizer - 0 for valid signature, 1 to mark signature failure, otherwise, an address of an \\\"authorizer\\\" contract. <6-byte> validUntil - Last timestamp this operation is valid. 0 for \\\"indefinite\\\" <6-byte> validAfter - First timestamp this operation is valid If an account doesn't use time-range, it is enough to return SIG_VALIDATION_FAILED value (1) for signature failure. Note that the validation code cannot use block.timestamp (or block.number) directly.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"validateUserOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),bytes32,uint256)\":{\"notice\":\"Validate user's signature and nonce the entryPoint will make the call to the recipient only if this validation call returns successfully. signature failure should be reported by returning SIG_VALIDATION_FAILED (1). This allows making a \\\"simulation call\\\" without a valid signature Other failures (e.g. nonce mismatch, or invalid signature format) should still revert to signal failure.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@account-abstraction/contracts/interfaces/IAccount.sol\":\"IAccount\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@account-abstraction/contracts/interfaces/IAccount.sol\":{\"keccak256\":\"0x38710bec0cb20ff4ceef46a80475b5bdabc27b7efd2687fd473db68332f61b78\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://dea7a723e1ef852e8764e69914a345d2e8bc5e13facfc9d5c29d791cb4ab0020\",\"dweb:/ipfs/QmU8dYgyF4DBJXFqjwLAtnE3q8q259ChfoEk9a6wyhHzEP\"]},\"@account-abstraction/contracts/interfaces/PackedUserOperation.sol\":{\"keccak256\":\"0x1129b46381db68eddbc5cb49e50664667b66b03c480453858e7b25eabe444359\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://499a948aba60480dba6e25c763b8d918f1c246eb7a3302e04f493e080f3295be\",\"dweb:/ipfs/QmeRhhswf4NACcBKam2PyjpTP2ddSm648kah5kkQJsvwz3\"]}},\"version\":1}" } }, "FreshCryptoLib/FCL_ecdsa.sol": { @@ -233701,6 +234834,17 @@ "name": "InvalidEthereumAddressOwner", "type": "error" }, + { + "inputs": [ + { + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "InvalidImplementation", + "type": "error" + }, { "inputs": [ { @@ -234570,26 +235714,38 @@ }, "generatedSources": [], "linkReferences": {}, - "object": "60a0604052346103de57306080526040805161001b82826103e3565b60018152601f19820160005b8181106103cd5750508151600060208201526020815261004783826103e3565b61005082610406565b5261005a81610406565b507f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f5005460005b825181101561038c5760206100958285610429565b5151141580610377575b6103505760206100af8285610429565b51511480610312575b6102eb576100c68184610429565b51918060001981146102d5576001019260ff6100e18261048c565b54166102b5576100f08161048c565b805460ff1916600117905560008281527f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f50260205286902081516001600160401b03811161029f578154600181811c91168015610295575b602082101461027f57601f8111610237575b506020601f82116001146101bc579260008051602061336a83398151915292826101a89360019897966000916101b1575b50600019600383901b1c191690881b1790555b885191829182610460565b0390a201610080565b90508301513861018a565b601f1982169083600052806000209160005b81811061021f57508360019897969360008051602061336a83398151915296936101a8968b9410610206575b5050811b01905561019d565b85015160001960f88460031b161c1916905538806101fa565b9192602060018192868a0151815501940192016101ce565b826000526020600020601f830160051c81019160208410610275575b601f0160051c01905b8181106102695750610159565b6000815560010161025c565b9091508190610253565b634e487b7160e01b600052602260045260246000fd5b90607f1690610147565b634e487b7160e01b600052604160045260246000fd5b855163468b12ad60e11b81529081906102d19060048301610460565b0390fd5b634e487b7160e01b600052601160045260246000fd5b836102f96102d19285610429565b51905163bff1ac6560e01b815291829160048301610460565b5061031d8184610429565b5160208151910151906020811061033e575b506001600160a01b03106100b8565b6000199060200360031b1b163861032f565b8361035e6102d19285610429565b5190516327755b9160e11b815291829160048301610460565b50836103838285610429565b5151141561009f565b83827f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f5005551612e9890816104d2823960805181818161077801526108660152f35b806060602080938601015201610027565b600080fd5b601f909101601f19168101906001600160401b0382119082101761029f57604052565b8051156104135760200190565b634e487b7160e01b600052603260045260246000fd5b80518210156104135760209160051b010190565b60005b8381106104505750506000910152565b8181015183820152602001610440565b60409160208252610480815180928160208601526020868601910161043d565b601f01601f1916010190565b60206104a591816040519382858094519384920161043d565b81017f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f5038152030190209056fe60806040526004361015610015575b3661146457005b60003560e01c8063066a1eb7146101e55780630db02622146101e05780630f0f3f24146101db5780631626ba7e146101d657806317452caa146101d157806319822f7c146101cc5780631ca5393f146101c757806329565e3b146101c25780632c2abd1e146101bd57806334fcd5be146101b857806336d9cf9b146101b35780634f1ef286146101ae57806352d1902d146101a95780635c60da1b146101a45780636f2de70e1461019f578063737bebdd1461019a57806384b0196e1461019557806388ce4c7c1461019057806389625b571461018b5780638ea69029146101865780639f9bcb3414610181578063a05bd44e1461017c578063a2e1a8d814610177578063b0d691fe14610172578063b61d27f61461016d578063b819736714610168578063ce1506be14610163578063d948fd2e1461015e5763f698da250361000e57610e07565b610ddc565b610dbe565b610d77565b610d07565b610cd8565b610cb1565b610c77565b610c3d565b610c0a565b610bca565b610b7a565b610ad9565b6109d3565b6108d8565b6108a2565b610852565b61073d565b610712565b61067b565b6105cf565b610531565b6104fa565b6103a1565b610375565b610323565b61027d565b610249565b3461024457604036600319011261024457602060ff6102386004356102336024359161022560405193849288840160209093929193604081019481520152565b03601f198101835282610453565b610e39565b54166040519015158152f35b600080fd5b34610244576000366003190112610244576020610264610ec1565b604051908152f35b6001600160a01b0381160361024457565b34610244576020366003190112610244576102f460043561029d8161026c565b6102a561149c565b6040519060018060a01b03166020820152602081526102c5604082610453565b600080516020612de383398151915254906102df82610eed565b600080516020612de383398151915255611525565b005b9181601f84011215610244578235916001600160401b038311610244576020838186019501011161024457565b34610244576040366003190112610244576004356024356001600160401b0381116102445760209161035c6103629236906004016102f6565b91610efc565b6040516001600160e01b03199091168152f35b346102445760003660031901126102445760206040516107088152f35b90816101209103126102445790565b34610244576060366003190112610244576004356001600160401b038111610244576103d1903690600401610392565b604435602435734337084d9e255ff0702461cf8895ce9e3b5ff10719330161042d57610401829161041894610f92565b9161041c575b506040519081529081906020820190565b0390f35b60009081803892335af15038610407565b6282b42960e81b60005260046000fd5b634e487b7160e01b600052604160045260246000fd5b90601f801991011681019081106001600160401b0382111761047457604052565b61043d565b6040519061048860c083610453565b565b6001600160401b03811161047457601f01601f191660200190565b9291926104b18261048a565b916104bf6040519384610453565b829481845281830111610244578281602093846000960137010152565b9080601f83011215610244578160206104f7933591016104a5565b90565b34610244576020366003190112610244576004356001600160401b0381116102445760ff61023861023360209336906004016104dc565b34610244576040366003190112610244576102f46024356102c560043561055661149c565b6040805160208101929092528101929092528160608101610225565b906020600319830112610244576004356001600160401b0381116102445760040160009280601f830112156105cb578135936001600160401b0385116105c857506020808301928560051b010111610244579190565b80fd5b8380fd5b6105d836610572565b90734337084d9e255ff0702461cf8895ce9e3b5ff108330361042d5760005b828110156102f45760006106108260051b840184610f2a565b61061a8183610f5c565b6106238161123c565b1561065f575082916106369136916104a5565b60208151910182305af1610648611105565b901561065757506001016105f7565b602081519101fd5b631d8370a360e11b84526001600160e01b031916600452602483fd5b61068436610572565b90734337084d9e255ff0702461cf8895ce9e3b5ff1083303610705575b60005b8281106106ad57005b806106ff6106be6001938686611053565b356106c88161026c565b60206106d5848888611053565b01356106f96106f26106e8868a8a611053565b6040810190610f2a565b36916104a5565b91611921565b016106a4565b61070d61149c565b6106a1565b34610244576000366003190112610244576020600080516020612e4383398151915254604051908152f35b6040366003190112610244576004356107558161026c565b6024356001600160401b038111610244576107749036906004016102f6565b90917f00000000000000000000000000000000000000000000000000000000000000003014610844576107a561149c565b60018060a01b03163d6000526352d1902d600152600080516020612e23833981519152602060016004601d855afa510361083657807fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28181600080516020612e238339815191525561081757005b816000926040519485378338925af41561082d57005b3d6000823e3d90fd5b6355299b496001526004601dfd5b639f03a0266000526004601cfd5b3461024457600036600319011261024457307f000000000000000000000000000000000000000000000000000000000000000003610844576020604051600080516020612e238339815191528152f35b3461024457600036600319011261024457600080516020612e23833981519152546040516001600160a01b039091168152602090f35b6108e136610572565b600080516020612de383398151915254610969576001600160401b038111610474578060051b91604051916109196020850184610453565b825260208201928101903682116102445780935b82851061093d576102f484611955565b84356001600160401b0381116102445760209161095e8392369086016104dc565b81520194019361092d565b6302ed543d60e51b60005260046000fd5b60005b83811061098d5750506000910152565b818101518382015260200161097d565b906020916109b68151809281855285808601910161097a565b601f01601f1916010190565b9060206104f792818152019061099d565b34610244576020366003190112610244576004356001600160401b038111610244578060040160806003198336030112610244576044820135610a1581611084565b4211610ab257610a4c610a39610a2d610a50936110bc565b60208151910120611cd8565b610a466064860185610f2a565b91611840565b1590565b610aa157600091610a6f826024610a67869561107a565b930190610f2a565b90610a7f604051809381936110e2565b03915afa610a8b611105565b90156106575761041890604051918291826109c2565b638baa579f60e01b60005260046000fd5b610abe610ad591611084565b630f88f04960e41b60005260045242602452604490565b6000fd5b3461024457600036600319011261024457610b19610b27610af8611a67565b604092919251938493600f60f81b855260e0602086015260e085019061099d565b90838203604085015261099d565b466060830152306080830152600060a083015281810360c0830152602060605191828152019060809060005b818110610b61575050500390f35b8251845285945060209384019390920191600101610b53565b346102445760003660031901126102445760206040516121058152f35b9060406003198301126102445760043591602435906001600160401b03821161024457610bc6916004016102f6565b9091565b3461024457610bd836610b97565b90610be161149c565b6001610beb610ec1565b14610bf9576102f492611bc1565b63948bf89760e01b60005260046000fd5b3461024457602036600319011261024457610418610c2960043561116f565b60405191829160208352602083019061099d565b34610244576020366003190112610244576004356001600160e01b03198116810361024457610c6d60209161123c565b6040519015158152f35b34610244576020366003190112610244576004356001600160401b03811161024457610264610cac6020923690600401610392565b6112bf565b34610244576020366003190112610244576020610c6d600435610cd38161026c565b6113d5565b34610244576000366003190112610244576020604051734337084d9e255ff0702461cf8895ce9e3b5ff1088152f35b606036600319011261024457600435610d1f8161026c565b604435906024356001600160401b038311610244576106f9610d486102f49436906004016102f6565b734337084d9e255ff0702461cf8895ce9e3b5ff1083303610d6a5736916104a5565b610d7261149c565b6106f2565b3461024457610d8536610b97565b90610d8e61149c565b610d96610ec1565b9260018411610da9576102f49350611bc1565b83631047e35560e31b60005260045260246000fd5b34610244576020366003190112610244576020610264600435611cd8565b34610244576000366003190112610244576020600080516020612de383398151915254604051908152f35b346102445760003660031901126102445760206102646113fb565b90610e356020928281519485920161097a565b0190565b6020610e5291816040519382858094519384920161097a565b81017f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f50381520301902090565b634e487b7160e01b600052601160045260246000fd5b600080516020612e038339815191520390600080516020612e038339815191528211610ebc57565b610e7e565b600080516020612de383398151915254600080516020612e43833981519152548103908111610ebc5790565b6000198114610ebc5760010190565b90610f0a610f0f9392611cd8565b611840565b610f1f576001600160e01b031990565b630b135d3f60e11b90565b903590601e198136030182121561024457018035906001600160401b0382116102445760200191813603831361024457565b356001600160e01b0319811692919060048210610f77575050565b6001600160e01b031960049290920360031b82901b16169150565b602081013560401c91610fa86060830183610f2a565b6316155e8f60e11b916001600160e01b031991610fc491610f5c565b16036110155750610fd4816112bf565b916121058103611001575090610a46610ff3925b610100810190610f2a565b610ffc57600190565b600090565b632ef3781360e01b60005260045260246000fd5b916121058114611001575090610a46610ff392610fe8565b61103860ff91610e39565b541690565b634e487b7160e01b600052603260045260246000fd5b91908110156110755760051b81013590605e1981360301821215610244570190565b61103d565b356104f78161026c565b906107088201809211610ebc57565b9060158201809211610ebc57565b9060028201809211610ebc57565b91908201809211610ebc57565b906040519163737bebdd60e01b6020840152602483015260248252610488604483610453565b908092918237016000815290565b604051906110ff602083610453565b60008252565b3d15611130573d906111168261048a565b916111246040519384610453565b82523d6000602084013e565b606090565b90600182811c92168015611165575b602083101461114f57565b634e487b7160e01b600052602260045260246000fd5b91607f1691611144565b6000527f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f5026020526040600020604051908160008254926111ae84611135565b808452936001811690811561121a57506001146111d3575b506104f792500382610453565b90506000929192526020600020906000915b8183106111fe5750509060206104f792820101386111c6565b60209193508060019154838588010152019101909183926111e5565b9050602092506104f794915060ff191682840152151560051b820101386111c6565b63ffffffff60e01b166329565e3b60e01b81149081156112ae575b811561129d575b811561128c575b811561127b575b5061127657600090565b600190565b63278f794360e11b1490503861126c565b63b819736760e01b81149150611265565b6389625b5760e01b8114915061125e565b6303c3cfc960e21b81149150611257565b8035906112cb8261026c565b61139860208201356102256112e36040850185610f2a565b908160405191823720936113036112fd6060830183610f2a565b90612239565b90608081013560a0820135906113256112fd60c08501359460e0810190610f2a565b93604051988997602089019b8c949192610100969399989794919961012087019a7f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e885260018060a01b0316602088015260408701526060860152608085015260a084015260c083015260e08201520152565b5190206040805160208101928352734337084d9e255ff0702461cf8895ce9e3b5ff108918101919091526113cf8160608101610225565b51902090565b61103860ff916040519060018060a01b0316602082015260208152610233604082610453565b611403611a67565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526113cf60c082610453565b60003560e01c63bc197c81811463f23a6e6182141763150b7a0282141761149357633c10b94e6000526004601cfd5b6020526020603cf35b6114a5336113d5565b80156114c0575b610488576282b42960e81b60005260046000fd5b503033146114ac565b8181106114d4575050565b600081556001016114c9565b9190601f81116114ef57505050565b610488926000526020600020906020601f840160051c8301931061151b575b601f0160051c01906114c9565b909150819061150e565b61152e8161102d565b61169c5761153b81610e39565b600160ff19825416179055816000527f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f502602052604060002081516001600160401b03811161047457611597816115918454611135565b846114e0565b6020601f821160011461160b57916115ec827f38109edc26e166b5579352ce56a50813177eb25208fd90d61f2f37838622022095936115fb95600091611600575b508160011b916000199060031b1c19161790565b90555b604051918291826109c2565b0390a2565b9050840151386115d8565b601f1982169061162084600052602060002090565b9160005b8181106116845750926115fb9492600192827f38109edc26e166b5579352ce56a50813177eb25208fd90d61f2f37838622022098961061166b575b5050811b0190556115ef565b85015160001960f88460031b161c19169055388061165f565b9192602060018192868a015181550194019201611624565b60405163468b12ad60e11b81529081906116b990600483016109c2565b0390fd5b602081830312610244578035906001600160401b03821161024457016040818303126102445760405191604083018381106001600160401b03821117610474576040528135835260208201356001600160401b0381116102445761172192016104dc565b602082015290565b60208151910151906020811061173d575090565b6000199060200360031b1b1690565b9190826040910312610244576020825192015190565b81601f82011215610244576020815191019061177d8161048a565b9261178b6040519485610453565b81845281830111610244576104f791602084019061097a565b602081830312610244578051906001600160401b03821161024457019060c082820312610244576117d3610479565b9180516001600160401b03811161024457826117f0918301611762565b835260208101516001600160401b0381116102445760a092611813918301611762565b6020840152604081015160408401526060810151606084015260808101516080840152015160a082015290565b92919061184f918101906116bd565b9061185a825161116f565b9160208351146118d8578251936040851461188a576040516327755b9160e11b8152806116b986600483016109c2565b6102256118d36118be6118aa8760208080999b6104f79b0101910161174c565b9690950151602080825183010191016117a4565b92604051928391602083019190602083019252565b611eda565b91929091906001600160a01b036118ee85611729565b11611906576020806104f79495015192015191611d4d565b60405163bff1ac6560e01b8152806116b986600483016109c2565b916000928392602083519301915af1611938611105565b90156106575750565b80518210156110755760209160051b010190565b90600080516020612de38339815191525460005b8351811015611a5257602061197e8286611941565b5151141580611a3c575b611a155760206119988286611941565b515114806119f3575b6119cc57806119c66119b560019387611941565b51936119c081610eed565b94611525565b01611969565b6119d96116b99185611941565b5160405163bff1ac6560e01b8152918291600483016109c2565b506001600160a01b03611a0f611a098387611941565b51611729565b116119a1565b611a226116b99185611941565b516040516327755b9160e11b8152918291600483016109c2565b506040611a498286611941565b51511415611988565b50600080516020612de3833981519152559050565b6040908151611a768382610453565b601281527111da585b9bc814db585c9d0815d85b1b195d60721b602082015291611aa281519182610453565b60018152603160f81b602082015290565b908060209392818452848401376000828201840152601f01601f1916010190565b92916104f79492611af2928552606060208601526060850191611ab3565b91604081840391015261099d565b60209082604051938492833781017f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f50381520301902090565b600281901b91906001600160fe1b03811603610ebc57565b611b5a8154611135565b9081611b64575050565b81601f60009311600114611b76575055565b81835260208320611b9291601f0160051c8101906001016114c9565b808252602082209081548360011b9084198560031b1c191617905555565b9160206104f7938181520191611ab3565b9190611bcc8361116f565b805115611cc25780516020820120611be53685856104a5565b6020815191012003611ca357509081611c2c611c22837fcf95bbfe6f870f8cc40482dc3dccdafd268f0e9ce0a4f24ea1bea9be64e505ff95611b00565b805460ff19169055565b611c67611c62856000527f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f502602052604060002090565b611b50565b611c94611c82600080516020612e4383398151915254610eed565b600080516020612e4383398151915255565b6115fb60405192839283611bb0565b60405163781f2e3960e01b81529384936116b993909160048601611ad4565b63340c473d60e11b600052600484905260246000fd5b611ce06113fb565b9060405160208101917f37f248f492286ab572e2a1ee0bd5315f2aae54a08b5871b294d657f3a1f1d0078352604082015260408152611d20606082610453565b51902060405190602082019261190160f01b845260228301526042820152604281526113cf606282610453565b9091600091906001600160a01b03821615611e375760405192600484019460248501956044860192853b15611db757509186939160209593630b135d3f60e11b8852526040845281518501809260045afa9360443d01915afa9151630b135d3f60e11b1491161690565b979650509050815180604014611e1257604114611dd45750505050565b602092939550606082015160001a835260408201516060525b60005201516040526020600160806000825afa511860601b3d11916000606052604052565b506020929395506040820151601b8160ff1c01845260018060ff1b0316606052611ded565b50505050600090565b906104886001602d60405180956c1131b430b63632b733b2911d1160991b6020830152611e76815180926020868601910161097a565b8101601160f91b838201520301601e19810185520183610453565b8051602010156110755760400190565b6040513d6000823e3d90fd5b6020929190611ec384928281519485920161097a565b019081520190565b90816020910312610244575190565b92919060009360a082019485517f7fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a8106120b75760208301917fff1a2a9176d650e4a99dedb58f1793003935130579fe17b5a3f698ac5b00e634611f4c84516060870151611f4681611093565b91612244565b60208151910120036120c057611f64611f69916120ca565b611e40565b611f7e83516040860151611f468451826110af565b602081519101209060208151910120036120b757600160f81b600160f81b611fb7611fa98651611e91565b516001600160f81b03191690565b16036120b757611fd4602092600092505160405191828092610e22565b039060025afa156120b2576020600061200a8151611ffe8551610225604051938492888401611ead565b60405191828092610e22565b039060025afa156120b257608060005191019360008086518561205d85516102258a60405194859360208501978c899192608093969594919660a084019784526020840152604083015260608201520152565b51906101005afa9461206d611105565b805196806120a9575b61208957506104f7955051905191612131565b6001966120a59650810160209081019550019250611ecb915050565b1490565b50861515612076565b611ea1565b94505050505090565b5094505050505090565b6040516104f7916120dc606083610453565b604082527f4142434445464748494a4b4c4d4e4f505152535455565758595a61626364656660208301527f6768696a6b6c6d6e6f707172737475767778797a303132333435363738392d5f60408301526122f0565b939190929383158015612221575b8015612219575b8015612201575b6121f75761215b8386612398565b156121f75760405191602083526020808401526020604084015260608301527fffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254f6080830152600080516020612e0383398151915260a083015260208260c0816005600019fa1561024457600080516020612e03833981519152946121f193866121eb945181818909940991612473565b91610e94565b90081590565b5050505050600090565b50600080516020612e0383398151915282101561214d565b508115612146565b50600080516020612e0383398151915284101561213f565b816040519182372090565b8051606094939290838111156122b6575b818111156122ae575b5082811061226b57505050565b6040519450918290039101601f8201601f19165b8181015185820152601f1901908115612298579061227f565b5050604081840160006020820152016040528252565b90503861225e565b925082612255565b906122c88261048a565b6122d56040519182610453565b82815280926122e6601f199161048a565b0190602036910137565b9081511561238e579061231d61231861231161230c8451611b38565b6110a1565b6003900490565b6122be565b91602083019082805101906020820192835194600085525b83811061234457505050505290565b600360049101916001603f845182828260121c16880101518453828282600c1c16880101518385015382828260061c16880101516002850153168501015160038201530190612335565b50506104f76110f0565b600160601b63ffffffff60c01b0319811080159061245b575b801561244a575b61244357600160601b63ffffffff60c01b0319907f5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b908290817fffffffff00000001000000000000000000000000fffffffffffffffffffffffc820990600160601b63ffffffff60c01b0319908181800909080890600160601b63ffffffff60c01b03199080091490565b5050600090565b50801580156123b8575081156123b8565b50600160601b63ffffffff60c01b03198210156123b1565b9092600092908360ff81841580612a6a575b612a5f576124938887612a72565b929091821580612a57575b612a1c575b5085811c60028660fe1c16015b15612a0357600186821c16600286831c60011b1601600181146129b8575b600281146129ab575b60031461299e575b600198600019919091019694959489949392915b88600019116125715750505050505050505060405191606083015260208252602080830152602060408301526002600160601b0363ffffffff60c01b03196080830152600163ffffffff60601b0360601b1960a083015260208260c0816005600019fa15610244579051600160601b63ffffffff60c01b0319910990565b909192939495969798600163ffffffff60601b0360601b198660020990600160601b63ffffffff60c01b0319828009600160601b63ffffffff60c01b031981830992600160601b63ffffffff60c01b03199082900991600160601b63ffffffff60c01b03199081908f8281830891600160601b63ffffffff60c01b031991820390080960030998600160601b63ffffffff60c01b03199083099c600160601b63ffffffff60c01b0319910991600160601b63ffffffff60c01b031980826002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b03198b80090898600160601b63ffffffff60c01b031991829081038b08900996600160601b63ffffffff60c01b03199088908290840908968b60028c60018d841c16921c60011b160180156129815760018114612936575b6002811461292b575b600314612922575b821561290f57600160601b63ffffffff60c01b031990889082908f90090890600160601b63ffffffff60c01b031990898203908290859009089781156127d5575b600160601b63ffffffff60c01b031989800998600160601b63ffffffff60c01b0319908a0992600160601b63ffffffff60c01b0319908a90099c600160601b63ffffffff60c01b03199084900998600160601b63ffffffff60c01b03199109600160601b63ffffffff60c01b031980826002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b031985810381868009080897600160601b63ffffffff60c01b03199384910991600160601b63ffffffff60c01b03199182908a82039008090894985b6000190197969594939291906124f3565b886126f8579a91975090959050600160601b63ffffffff60c01b0319816002600160601b0363ffffffff60c01b0319099a600160601b63ffffffff60c01b03198c8009600160601b63ffffffff60c01b0319818d099c600160601b63ffffffff60c01b0319908290099b600160601b63ffffffff60c01b031990818b8103820890600160601b63ffffffff60c01b0319908c900809600160601b63ffffffff60c01b03199060030991600160601b63ffffffff60c01b0319908d0998600160601b63ffffffff60c01b031991099b600160601b63ffffffff60c01b031980826002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b0319848009089b600160601b63ffffffff60c01b03199384910991600160601b63ffffffff60c01b03199182908e82039008900908946127c4565b60019c50909a8c985090965090506127c4565b505083856126b7565b8592508491506126af565b7f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29692507f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f591506126a6565b50505099959894600163ffffffff60601b0360601b1903946127c4565b92508096509581926124df565b96975087968994506124d7565b7f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29698507f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f594506124ce565b60001901600186821c16600286831c60011b16016124b0565b9495600080516020612e038339815191529196820390089484861580612a4f575b156124a3579850505050505050505090565b506001612a3d565b50831561249e565b965050505050505090565b508315612485565b91907f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2967f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5918015612c265784610bc69495831480612c1d575b15612c085750600160601b63ffffffff60c01b0319905082600209600160601b63ffffffff60c01b031981800992600160601b63ffffffff60c01b031984840991600160601b63ffffffff60c01b03199085900992600160601b63ffffffff60c01b0319908190816001820890600160601b63ffffffff60c01b0319907fffffffff00000001000000000000000000000000fffffffffffffffffffffffe900809600309600160601b63ffffffff60c01b031980846002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b03198380090892600160601b63ffffffff60c01b03196001860995600160601b63ffffffff60c01b0319906001900994600160601b63ffffffff60c01b031993849109600160601b63ffffffff60c01b03199081039290918290868203900890090890612d48565b909192612c1493612c2c565b92909190612d48565b50818414612acb565b50925090565b9193908015612d3f57600160601b63ffffffff60c01b03199081039384908290600190090893600160601b63ffffffff60c01b031990838203908290600190090892600160601b63ffffffff60c01b031984800993600160601b63ffffffff60c01b031990850992600160601b63ffffffff60c01b03199085900994600160601b63ffffffff60c01b031980876002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b031986810381858009080895600160601b63ffffffff60c01b031992839086900991600160601b63ffffffff60c01b03199182908982039008090892600160601b63ffffffff60c01b03199060010991600160601b63ffffffff60c01b03199060010990565b50600191508190565b91909260405190602082526020808301526020604083015260608201526002600160601b0363ffffffff60c01b03196080820152600163ffffffff60601b0360601b1960a082015260208160c0816005600019fa15610244575192600160601b63ffffffff60c01b03199084900992600160601b63ffffffff60c01b03199109600160601b63ffffffff60c01b031991908290800990099156fe0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f500ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f501a26469706673582212208cd714406382f3c7ba67b9e97711d79104255fac724c6724be98e47e28a08f4464736f6c634300081c003338109edc26e166b5579352ce56a50813177eb25208fd90d61f2f378386220220", - "opcodes": "PUSH1 0xA0 PUSH1 0x40 MSTORE CALLVALUE PUSH2 0x3DE JUMPI ADDRESS PUSH1 0x80 MSTORE PUSH1 0x40 DUP1 MLOAD PUSH2 0x1B DUP3 DUP3 PUSH2 0x3E3 JUMP JUMPDEST PUSH1 0x1 DUP2 MSTORE PUSH1 0x1F NOT DUP3 ADD PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH2 0x3CD JUMPI POP POP DUP2 MLOAD PUSH1 0x0 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x20 DUP2 MSTORE PUSH2 0x47 DUP4 DUP3 PUSH2 0x3E3 JUMP JUMPDEST PUSH2 0x50 DUP3 PUSH2 0x406 JUMP JUMPDEST MSTORE PUSH2 0x5A DUP2 PUSH2 0x406 JUMP JUMPDEST POP PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F500 SLOAD PUSH1 0x0 JUMPDEST DUP3 MLOAD DUP2 LT ISZERO PUSH2 0x38C JUMPI PUSH1 0x20 PUSH2 0x95 DUP3 DUP6 PUSH2 0x429 JUMP JUMPDEST MLOAD MLOAD EQ ISZERO DUP1 PUSH2 0x377 JUMPI JUMPDEST PUSH2 0x350 JUMPI PUSH1 0x20 PUSH2 0xAF DUP3 DUP6 PUSH2 0x429 JUMP JUMPDEST MLOAD MLOAD EQ DUP1 PUSH2 0x312 JUMPI JUMPDEST PUSH2 0x2EB JUMPI PUSH2 0xC6 DUP2 DUP5 PUSH2 0x429 JUMP JUMPDEST MLOAD SWAP2 DUP1 PUSH1 0x0 NOT DUP2 EQ PUSH2 0x2D5 JUMPI PUSH1 0x1 ADD SWAP3 PUSH1 0xFF PUSH2 0xE1 DUP3 PUSH2 0x48C JUMP JUMPDEST SLOAD AND PUSH2 0x2B5 JUMPI PUSH2 0xF0 DUP2 PUSH2 0x48C JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH1 0x0 DUP3 DUP2 MSTORE PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F502 PUSH1 0x20 MSTORE DUP7 SWAP1 KECCAK256 DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x29F JUMPI DUP2 SLOAD PUSH1 0x1 DUP2 DUP2 SHR SWAP2 AND DUP1 ISZERO PUSH2 0x295 JUMPI JUMPDEST PUSH1 0x20 DUP3 LT EQ PUSH2 0x27F JUMPI PUSH1 0x1F DUP2 GT PUSH2 0x237 JUMPI JUMPDEST POP PUSH1 0x20 PUSH1 0x1F DUP3 GT PUSH1 0x1 EQ PUSH2 0x1BC JUMPI SWAP3 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x336A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP3 DUP3 PUSH2 0x1A8 SWAP4 PUSH1 0x1 SWAP9 SWAP8 SWAP7 PUSH1 0x0 SWAP2 PUSH2 0x1B1 JUMPI JUMPDEST POP PUSH1 0x0 NOT PUSH1 0x3 DUP4 SWAP1 SHL SHR NOT AND SWAP1 DUP9 SHL OR SWAP1 SSTORE JUMPDEST DUP9 MLOAD SWAP2 DUP3 SWAP2 DUP3 PUSH2 0x460 JUMP JUMPDEST SUB SWAP1 LOG2 ADD PUSH2 0x80 JUMP JUMPDEST SWAP1 POP DUP4 ADD MLOAD CODESIZE PUSH2 0x18A JUMP JUMPDEST PUSH1 0x1F NOT DUP3 AND SWAP1 DUP4 PUSH1 0x0 MSTORE DUP1 PUSH1 0x0 KECCAK256 SWAP2 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH2 0x21F JUMPI POP DUP4 PUSH1 0x1 SWAP9 SWAP8 SWAP7 SWAP4 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x336A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP7 SWAP4 PUSH2 0x1A8 SWAP7 DUP12 SWAP5 LT PUSH2 0x206 JUMPI JUMPDEST POP POP DUP2 SHL ADD SWAP1 SSTORE PUSH2 0x19D JUMP JUMPDEST DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 PUSH2 0x1FA JUMP JUMPDEST SWAP2 SWAP3 PUSH1 0x20 PUSH1 0x1 DUP2 SWAP3 DUP7 DUP11 ADD MLOAD DUP2 SSTORE ADD SWAP5 ADD SWAP3 ADD PUSH2 0x1CE JUMP JUMPDEST DUP3 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 PUSH1 0x1F DUP4 ADD PUSH1 0x5 SHR DUP2 ADD SWAP2 PUSH1 0x20 DUP5 LT PUSH2 0x275 JUMPI JUMPDEST PUSH1 0x1F ADD PUSH1 0x5 SHR ADD SWAP1 JUMPDEST DUP2 DUP2 LT PUSH2 0x269 JUMPI POP PUSH2 0x159 JUMP JUMPDEST PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x25C JUMP JUMPDEST SWAP1 SWAP2 POP DUP2 SWAP1 PUSH2 0x253 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x7F AND SWAP1 PUSH2 0x147 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP6 MLOAD PUSH4 0x468B12AD PUSH1 0xE1 SHL DUP2 MSTORE SWAP1 DUP2 SWAP1 PUSH2 0x2D1 SWAP1 PUSH1 0x4 DUP4 ADD PUSH2 0x460 JUMP JUMPDEST SUB SWAP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP4 PUSH2 0x2F9 PUSH2 0x2D1 SWAP3 DUP6 PUSH2 0x429 JUMP JUMPDEST MLOAD SWAP1 MLOAD PUSH4 0xBFF1AC65 PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 DUP3 SWAP2 PUSH1 0x4 DUP4 ADD PUSH2 0x460 JUMP JUMPDEST POP PUSH2 0x31D DUP2 DUP5 PUSH2 0x429 JUMP JUMPDEST MLOAD PUSH1 0x20 DUP2 MLOAD SWAP2 ADD MLOAD SWAP1 PUSH1 0x20 DUP2 LT PUSH2 0x33E JUMPI JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB LT PUSH2 0xB8 JUMP JUMPDEST PUSH1 0x0 NOT SWAP1 PUSH1 0x20 SUB PUSH1 0x3 SHL SHL AND CODESIZE PUSH2 0x32F JUMP JUMPDEST DUP4 PUSH2 0x35E PUSH2 0x2D1 SWAP3 DUP6 PUSH2 0x429 JUMP JUMPDEST MLOAD SWAP1 MLOAD PUSH4 0x27755B91 PUSH1 0xE1 SHL DUP2 MSTORE SWAP2 DUP3 SWAP2 PUSH1 0x4 DUP4 ADD PUSH2 0x460 JUMP JUMPDEST POP DUP4 PUSH2 0x383 DUP3 DUP6 PUSH2 0x429 JUMP JUMPDEST MLOAD MLOAD EQ ISZERO PUSH2 0x9F JUMP JUMPDEST DUP4 DUP3 PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F500 SSTORE MLOAD PUSH2 0x2E98 SWAP1 DUP2 PUSH2 0x4D2 DUP3 CODECOPY PUSH1 0x80 MLOAD DUP2 DUP2 DUP2 PUSH2 0x778 ADD MSTORE PUSH2 0x866 ADD MSTORE RETURN JUMPDEST DUP1 PUSH1 0x60 PUSH1 0x20 DUP1 SWAP4 DUP7 ADD ADD MSTORE ADD PUSH2 0x27 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1F SWAP1 SWAP2 ADD PUSH1 0x1F NOT AND DUP2 ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT SWAP1 DUP3 LT OR PUSH2 0x29F JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x413 JUMPI PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 MLOAD DUP3 LT ISZERO PUSH2 0x413 JUMPI PUSH1 0x20 SWAP2 PUSH1 0x5 SHL ADD ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0x450 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x440 JUMP JUMPDEST PUSH1 0x40 SWAP2 PUSH1 0x20 DUP3 MSTORE PUSH2 0x480 DUP2 MLOAD DUP1 SWAP3 DUP2 PUSH1 0x20 DUP7 ADD MSTORE PUSH1 0x20 DUP7 DUP7 ADD SWAP2 ADD PUSH2 0x43D JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND ADD ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 PUSH2 0x4A5 SWAP2 DUP2 PUSH1 0x40 MLOAD SWAP4 DUP3 DUP6 DUP1 SWAP5 MLOAD SWAP4 DUP5 SWAP3 ADD PUSH2 0x43D JUMP JUMPDEST DUP2 ADD PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F503 DUP2 MSTORE SUB ADD SWAP1 KECCAK256 SWAP1 JUMP INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x15 JUMPI JUMPDEST CALLDATASIZE PUSH2 0x1464 JUMPI STOP JUMPDEST PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x66A1EB7 EQ PUSH2 0x1E5 JUMPI DUP1 PUSH4 0xDB02622 EQ PUSH2 0x1E0 JUMPI DUP1 PUSH4 0xF0F3F24 EQ PUSH2 0x1DB JUMPI DUP1 PUSH4 0x1626BA7E EQ PUSH2 0x1D6 JUMPI DUP1 PUSH4 0x17452CAA EQ PUSH2 0x1D1 JUMPI DUP1 PUSH4 0x19822F7C EQ PUSH2 0x1CC JUMPI DUP1 PUSH4 0x1CA5393F EQ PUSH2 0x1C7 JUMPI DUP1 PUSH4 0x29565E3B EQ PUSH2 0x1C2 JUMPI DUP1 PUSH4 0x2C2ABD1E EQ PUSH2 0x1BD JUMPI DUP1 PUSH4 0x34FCD5BE EQ PUSH2 0x1B8 JUMPI DUP1 PUSH4 0x36D9CF9B EQ PUSH2 0x1B3 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x1AE JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x1A9 JUMPI DUP1 PUSH4 0x5C60DA1B EQ PUSH2 0x1A4 JUMPI DUP1 PUSH4 0x6F2DE70E EQ PUSH2 0x19F JUMPI DUP1 PUSH4 0x737BEBDD EQ PUSH2 0x19A JUMPI DUP1 PUSH4 0x84B0196E EQ PUSH2 0x195 JUMPI DUP1 PUSH4 0x88CE4C7C EQ PUSH2 0x190 JUMPI DUP1 PUSH4 0x89625B57 EQ PUSH2 0x18B JUMPI DUP1 PUSH4 0x8EA69029 EQ PUSH2 0x186 JUMPI DUP1 PUSH4 0x9F9BCB34 EQ PUSH2 0x181 JUMPI DUP1 PUSH4 0xA05BD44E EQ PUSH2 0x17C JUMPI DUP1 PUSH4 0xA2E1A8D8 EQ PUSH2 0x177 JUMPI DUP1 PUSH4 0xB0D691FE EQ PUSH2 0x172 JUMPI DUP1 PUSH4 0xB61D27F6 EQ PUSH2 0x16D JUMPI DUP1 PUSH4 0xB8197367 EQ PUSH2 0x168 JUMPI DUP1 PUSH4 0xCE1506BE EQ PUSH2 0x163 JUMPI DUP1 PUSH4 0xD948FD2E EQ PUSH2 0x15E JUMPI PUSH4 0xF698DA25 SUB PUSH2 0xE JUMPI PUSH2 0xE07 JUMP JUMPDEST PUSH2 0xDDC JUMP JUMPDEST PUSH2 0xDBE JUMP JUMPDEST PUSH2 0xD77 JUMP JUMPDEST PUSH2 0xD07 JUMP JUMPDEST PUSH2 0xCD8 JUMP JUMPDEST PUSH2 0xCB1 JUMP JUMPDEST PUSH2 0xC77 JUMP JUMPDEST PUSH2 0xC3D JUMP JUMPDEST PUSH2 0xC0A JUMP JUMPDEST PUSH2 0xBCA JUMP JUMPDEST PUSH2 0xB7A JUMP JUMPDEST PUSH2 0xAD9 JUMP JUMPDEST PUSH2 0x9D3 JUMP JUMPDEST PUSH2 0x8D8 JUMP JUMPDEST PUSH2 0x8A2 JUMP JUMPDEST PUSH2 0x852 JUMP JUMPDEST PUSH2 0x73D JUMP JUMPDEST PUSH2 0x712 JUMP JUMPDEST PUSH2 0x67B JUMP JUMPDEST PUSH2 0x5CF JUMP JUMPDEST PUSH2 0x531 JUMP JUMPDEST PUSH2 0x4FA JUMP JUMPDEST PUSH2 0x3A1 JUMP JUMPDEST PUSH2 0x375 JUMP JUMPDEST PUSH2 0x323 JUMP JUMPDEST PUSH2 0x27D JUMP JUMPDEST PUSH2 0x249 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH1 0xFF PUSH2 0x238 PUSH1 0x4 CALLDATALOAD PUSH2 0x233 PUSH1 0x24 CALLDATALOAD SWAP2 PUSH2 0x225 PUSH1 0x40 MLOAD SWAP4 DUP5 SWAP3 DUP9 DUP5 ADD PUSH1 0x20 SWAP1 SWAP4 SWAP3 SWAP2 SWAP4 PUSH1 0x40 DUP2 ADD SWAP5 DUP2 MSTORE ADD MSTORE JUMP JUMPDEST SUB PUSH1 0x1F NOT DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x453 JUMP JUMPDEST PUSH2 0xE39 JUMP JUMPDEST SLOAD AND PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH2 0x264 PUSH2 0xEC1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND SUB PUSH2 0x244 JUMPI JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH2 0x2F4 PUSH1 0x4 CALLDATALOAD PUSH2 0x29D DUP2 PUSH2 0x26C JUMP JUMPDEST PUSH2 0x2A5 PUSH2 0x149C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x20 DUP2 MSTORE PUSH2 0x2C5 PUSH1 0x40 DUP3 PUSH2 0x453 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DE3 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD SWAP1 PUSH2 0x2DF DUP3 PUSH2 0xEED JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DE3 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SSTORE PUSH2 0x1525 JUMP JUMPDEST STOP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0x244 JUMPI DUP3 CALLDATALOAD SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 GT PUSH2 0x244 JUMPI PUSH1 0x20 DUP4 DUP2 DUP7 ADD SWAP6 ADD ADD GT PUSH2 0x244 JUMPI JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x24 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH1 0x20 SWAP2 PUSH2 0x35C PUSH2 0x362 SWAP3 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x2F6 JUMP JUMPDEST SWAP2 PUSH2 0xEFC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP2 AND DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH2 0x708 DUP2 MSTORE RETURN JUMPDEST SWAP1 DUP2 PUSH2 0x120 SWAP2 SUB SLT PUSH2 0x244 JUMPI SWAP1 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x60 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH2 0x3D1 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x392 JUMP JUMPDEST PUSH1 0x44 CALLDATALOAD PUSH1 0x24 CALLDATALOAD PUSH20 0x4337084D9E255FF0702461CF8895CE9E3B5FF107 NOT CALLER ADD PUSH2 0x42D JUMPI PUSH2 0x401 DUP3 SWAP2 PUSH2 0x418 SWAP5 PUSH2 0xF92 JUMP JUMPDEST SWAP2 PUSH2 0x41C JUMPI JUMPDEST POP PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE SWAP1 DUP2 SWAP1 PUSH1 0x20 DUP3 ADD SWAP1 JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 SWAP1 DUP2 DUP1 CODESIZE SWAP3 CALLER GAS CALL POP CODESIZE PUSH2 0x407 JUMP JUMPDEST PUSH3 0x82B429 PUSH1 0xE8 SHL PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x1F DUP1 NOT SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT OR PUSH2 0x474 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH2 0x43D JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x488 PUSH1 0xC0 DUP4 PUSH2 0x453 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x474 JUMPI PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP3 SWAP2 SWAP3 PUSH2 0x4B1 DUP3 PUSH2 0x48A JUMP JUMPDEST SWAP2 PUSH2 0x4BF PUSH1 0x40 MLOAD SWAP4 DUP5 PUSH2 0x453 JUMP JUMPDEST DUP3 SWAP5 DUP2 DUP5 MSTORE DUP2 DUP4 ADD GT PUSH2 0x244 JUMPI DUP3 DUP2 PUSH1 0x20 SWAP4 DUP5 PUSH1 0x0 SWAP7 ADD CALLDATACOPY ADD ADD MSTORE JUMP JUMPDEST SWAP1 DUP1 PUSH1 0x1F DUP4 ADD SLT ISZERO PUSH2 0x244 JUMPI DUP2 PUSH1 0x20 PUSH2 0x4F7 SWAP4 CALLDATALOAD SWAP2 ADD PUSH2 0x4A5 JUMP JUMPDEST SWAP1 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH1 0xFF PUSH2 0x238 PUSH2 0x233 PUSH1 0x20 SWAP4 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x4DC JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH2 0x2F4 PUSH1 0x24 CALLDATALOAD PUSH2 0x2C5 PUSH1 0x4 CALLDATALOAD PUSH2 0x556 PUSH2 0x149C JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE DUP2 PUSH1 0x60 DUP2 ADD PUSH2 0x225 JUMP JUMPDEST SWAP1 PUSH1 0x20 PUSH1 0x3 NOT DUP4 ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH1 0x4 ADD PUSH1 0x0 SWAP3 DUP1 PUSH1 0x1F DUP4 ADD SLT ISZERO PUSH2 0x5CB JUMPI DUP2 CALLDATALOAD SWAP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP6 GT PUSH2 0x5C8 JUMPI POP PUSH1 0x20 DUP1 DUP4 ADD SWAP3 DUP6 PUSH1 0x5 SHL ADD ADD GT PUSH2 0x244 JUMPI SWAP2 SWAP1 JUMP JUMPDEST DUP1 REVERT JUMPDEST DUP4 DUP1 REVERT JUMPDEST PUSH2 0x5D8 CALLDATASIZE PUSH2 0x572 JUMP JUMPDEST SWAP1 PUSH20 0x4337084D9E255FF0702461CF8895CE9E3B5FF108 CALLER SUB PUSH2 0x42D JUMPI PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x2F4 JUMPI PUSH1 0x0 PUSH2 0x610 DUP3 PUSH1 0x5 SHL DUP5 ADD DUP5 PUSH2 0xF2A JUMP JUMPDEST PUSH2 0x61A DUP2 DUP4 PUSH2 0xF5C JUMP JUMPDEST PUSH2 0x623 DUP2 PUSH2 0x123C JUMP JUMPDEST ISZERO PUSH2 0x65F JUMPI POP DUP3 SWAP2 PUSH2 0x636 SWAP2 CALLDATASIZE SWAP2 PUSH2 0x4A5 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD DUP3 ADDRESS GAS CALL PUSH2 0x648 PUSH2 0x1105 JUMP JUMPDEST SWAP1 ISZERO PUSH2 0x657 JUMPI POP PUSH1 0x1 ADD PUSH2 0x5F7 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD REVERT JUMPDEST PUSH4 0x1D8370A3 PUSH1 0xE1 SHL DUP5 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH1 0x4 MSTORE PUSH1 0x24 DUP4 REVERT JUMPDEST PUSH2 0x684 CALLDATASIZE PUSH2 0x572 JUMP JUMPDEST SWAP1 PUSH20 0x4337084D9E255FF0702461CF8895CE9E3B5FF108 CALLER SUB PUSH2 0x705 JUMPI JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT PUSH2 0x6AD JUMPI STOP JUMPDEST DUP1 PUSH2 0x6FF PUSH2 0x6BE PUSH1 0x1 SWAP4 DUP7 DUP7 PUSH2 0x1053 JUMP JUMPDEST CALLDATALOAD PUSH2 0x6C8 DUP2 PUSH2 0x26C JUMP JUMPDEST PUSH1 0x20 PUSH2 0x6D5 DUP5 DUP9 DUP9 PUSH2 0x1053 JUMP JUMPDEST ADD CALLDATALOAD PUSH2 0x6F9 PUSH2 0x6F2 PUSH2 0x6E8 DUP7 DUP11 DUP11 PUSH2 0x1053 JUMP JUMPDEST PUSH1 0x40 DUP2 ADD SWAP1 PUSH2 0xF2A JUMP JUMPDEST CALLDATASIZE SWAP2 PUSH2 0x4A5 JUMP JUMPDEST SWAP2 PUSH2 0x1921 JUMP JUMPDEST ADD PUSH2 0x6A4 JUMP JUMPDEST PUSH2 0x70D PUSH2 0x149C JUMP JUMPDEST PUSH2 0x6A1 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E43 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0x755 DUP2 PUSH2 0x26C JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH2 0x774 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x2F6 JUMP JUMPDEST SWAP1 SWAP2 PUSH32 0x0 ADDRESS EQ PUSH2 0x844 JUMPI PUSH2 0x7A5 PUSH2 0x149C JUMP JUMPDEST PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB AND RETURNDATASIZE PUSH1 0x0 MSTORE PUSH4 0x52D1902D PUSH1 0x1 MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E23 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x20 PUSH1 0x1 PUSH1 0x4 PUSH1 0x1D DUP6 GAS STATICCALL MLOAD SUB PUSH2 0x836 JUMPI DUP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B PUSH1 0x0 DUP1 LOG2 DUP2 DUP2 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E23 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SSTORE PUSH2 0x817 JUMPI STOP JUMPDEST DUP2 PUSH1 0x0 SWAP3 PUSH1 0x40 MLOAD SWAP5 DUP6 CALLDATACOPY DUP4 CODESIZE SWAP3 GAS DELEGATECALL ISZERO PUSH2 0x82D JUMPI STOP JUMPDEST RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH4 0x55299B49 PUSH1 0x1 MSTORE PUSH1 0x4 PUSH1 0x1D REVERT JUMPDEST PUSH4 0x9F03A026 PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x1C REVERT JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI ADDRESS PUSH32 0x0 SUB PUSH2 0x844 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E23 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E23 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 SWAP1 RETURN JUMPDEST PUSH2 0x8E1 CALLDATASIZE PUSH2 0x572 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DE3 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH2 0x969 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x474 JUMPI DUP1 PUSH1 0x5 SHL SWAP2 PUSH1 0x40 MLOAD SWAP2 PUSH2 0x919 PUSH1 0x20 DUP6 ADD DUP5 PUSH2 0x453 JUMP JUMPDEST DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP3 DUP2 ADD SWAP1 CALLDATASIZE DUP3 GT PUSH2 0x244 JUMPI DUP1 SWAP4 JUMPDEST DUP3 DUP6 LT PUSH2 0x93D JUMPI PUSH2 0x2F4 DUP5 PUSH2 0x1955 JUMP JUMPDEST DUP5 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH1 0x20 SWAP2 PUSH2 0x95E DUP4 SWAP3 CALLDATASIZE SWAP1 DUP7 ADD PUSH2 0x4DC JUMP JUMPDEST DUP2 MSTORE ADD SWAP5 ADD SWAP4 PUSH2 0x92D JUMP JUMPDEST PUSH4 0x2ED543D PUSH1 0xE5 SHL PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0x98D JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x97D JUMP JUMPDEST SWAP1 PUSH1 0x20 SWAP2 PUSH2 0x9B6 DUP2 MLOAD DUP1 SWAP3 DUP2 DUP6 MSTORE DUP6 DUP1 DUP7 ADD SWAP2 ADD PUSH2 0x97A JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND ADD ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x20 PUSH2 0x4F7 SWAP3 DUP2 DUP2 MSTORE ADD SWAP1 PUSH2 0x99D JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI DUP1 PUSH1 0x4 ADD PUSH1 0x80 PUSH1 0x3 NOT DUP4 CALLDATASIZE SUB ADD SLT PUSH2 0x244 JUMPI PUSH1 0x44 DUP3 ADD CALLDATALOAD PUSH2 0xA15 DUP2 PUSH2 0x1084 JUMP JUMPDEST TIMESTAMP GT PUSH2 0xAB2 JUMPI PUSH2 0xA4C PUSH2 0xA39 PUSH2 0xA2D PUSH2 0xA50 SWAP4 PUSH2 0x10BC JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 PUSH2 0x1CD8 JUMP JUMPDEST PUSH2 0xA46 PUSH1 0x64 DUP7 ADD DUP6 PUSH2 0xF2A JUMP JUMPDEST SWAP2 PUSH2 0x1840 JUMP JUMPDEST ISZERO SWAP1 JUMP JUMPDEST PUSH2 0xAA1 JUMPI PUSH1 0x0 SWAP2 PUSH2 0xA6F DUP3 PUSH1 0x24 PUSH2 0xA67 DUP7 SWAP6 PUSH2 0x107A JUMP JUMPDEST SWAP4 ADD SWAP1 PUSH2 0xF2A JUMP JUMPDEST SWAP1 PUSH2 0xA7F PUSH1 0x40 MLOAD DUP1 SWAP4 DUP2 SWAP4 PUSH2 0x10E2 JUMP JUMPDEST SUB SWAP2 GAS STATICCALL PUSH2 0xA8B PUSH2 0x1105 JUMP JUMPDEST SWAP1 ISZERO PUSH2 0x657 JUMPI PUSH2 0x418 SWAP1 PUSH1 0x40 MLOAD SWAP2 DUP3 SWAP2 DUP3 PUSH2 0x9C2 JUMP JUMPDEST PUSH4 0x8BAA579F PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x0 REVERT JUMPDEST PUSH2 0xABE PUSH2 0xAD5 SWAP2 PUSH2 0x1084 JUMP JUMPDEST PUSH4 0xF88F049 PUSH1 0xE4 SHL PUSH1 0x0 MSTORE PUSH1 0x4 MSTORE TIMESTAMP PUSH1 0x24 MSTORE PUSH1 0x44 SWAP1 JUMP JUMPDEST PUSH1 0x0 REVERT JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH2 0xB19 PUSH2 0xB27 PUSH2 0xAF8 PUSH2 0x1A67 JUMP JUMPDEST PUSH1 0x40 SWAP3 SWAP2 SWAP3 MLOAD SWAP4 DUP5 SWAP4 PUSH1 0xF PUSH1 0xF8 SHL DUP6 MSTORE PUSH1 0xE0 PUSH1 0x20 DUP7 ADD MSTORE PUSH1 0xE0 DUP6 ADD SWAP1 PUSH2 0x99D JUMP JUMPDEST SWAP1 DUP4 DUP3 SUB PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0x99D JUMP JUMPDEST CHAINID PUSH1 0x60 DUP4 ADD MSTORE ADDRESS PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0x0 PUSH1 0xA0 DUP4 ADD MSTORE DUP2 DUP2 SUB PUSH1 0xC0 DUP4 ADD MSTORE PUSH1 0x20 PUSH1 0x60 MLOAD SWAP2 DUP3 DUP2 MSTORE ADD SWAP1 PUSH1 0x80 SWAP1 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH2 0xB61 JUMPI POP POP POP SUB SWAP1 RETURN JUMPDEST DUP3 MLOAD DUP5 MSTORE DUP6 SWAP5 POP PUSH1 0x20 SWAP4 DUP5 ADD SWAP4 SWAP1 SWAP3 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0xB53 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH2 0x2105 DUP2 MSTORE RETURN JUMPDEST SWAP1 PUSH1 0x40 PUSH1 0x3 NOT DUP4 ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD SWAP2 PUSH1 0x24 CALLDATALOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH2 0x244 JUMPI PUSH2 0xBC6 SWAP2 PUSH1 0x4 ADD PUSH2 0x2F6 JUMP JUMPDEST SWAP1 SWAP2 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH2 0xBD8 CALLDATASIZE PUSH2 0xB97 JUMP JUMPDEST SWAP1 PUSH2 0xBE1 PUSH2 0x149C JUMP JUMPDEST PUSH1 0x1 PUSH2 0xBEB PUSH2 0xEC1 JUMP JUMPDEST EQ PUSH2 0xBF9 JUMPI PUSH2 0x2F4 SWAP3 PUSH2 0x1BC1 JUMP JUMPDEST PUSH4 0x948BF897 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x0 REVERT JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH2 0x418 PUSH2 0xC29 PUSH1 0x4 CALLDATALOAD PUSH2 0x116F JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 SWAP2 PUSH1 0x20 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP1 PUSH2 0x99D JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 SUB PUSH2 0x244 JUMPI PUSH2 0xC6D PUSH1 0x20 SWAP2 PUSH2 0x123C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH2 0x264 PUSH2 0xCAC PUSH1 0x20 SWAP3 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x392 JUMP JUMPDEST PUSH2 0x12BF JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH2 0xC6D PUSH1 0x4 CALLDATALOAD PUSH2 0xCD3 DUP2 PUSH2 0x26C JUMP JUMPDEST PUSH2 0x13D5 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH20 0x4337084D9E255FF0702461CF8895CE9E3B5FF108 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x60 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0xD1F DUP2 PUSH2 0x26C JUMP JUMPDEST PUSH1 0x44 CALLDATALOAD SWAP1 PUSH1 0x24 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 GT PUSH2 0x244 JUMPI PUSH2 0x6F9 PUSH2 0xD48 PUSH2 0x2F4 SWAP5 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x2F6 JUMP JUMPDEST PUSH20 0x4337084D9E255FF0702461CF8895CE9E3B5FF108 CALLER SUB PUSH2 0xD6A JUMPI CALLDATASIZE SWAP2 PUSH2 0x4A5 JUMP JUMPDEST PUSH2 0xD72 PUSH2 0x149C JUMP JUMPDEST PUSH2 0x6F2 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH2 0xD85 CALLDATASIZE PUSH2 0xB97 JUMP JUMPDEST SWAP1 PUSH2 0xD8E PUSH2 0x149C JUMP JUMPDEST PUSH2 0xD96 PUSH2 0xEC1 JUMP JUMPDEST SWAP3 PUSH1 0x1 DUP5 GT PUSH2 0xDA9 JUMPI PUSH2 0x2F4 SWAP4 POP PUSH2 0x1BC1 JUMP JUMPDEST DUP4 PUSH4 0x1047E355 PUSH1 0xE3 SHL PUSH1 0x0 MSTORE PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH2 0x264 PUSH1 0x4 CALLDATALOAD PUSH2 0x1CD8 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DE3 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH2 0x264 PUSH2 0x13FB JUMP JUMPDEST SWAP1 PUSH2 0xE35 PUSH1 0x20 SWAP3 DUP3 DUP2 MLOAD SWAP5 DUP6 SWAP3 ADD PUSH2 0x97A JUMP JUMPDEST ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 PUSH2 0xE52 SWAP2 DUP2 PUSH1 0x40 MLOAD SWAP4 DUP3 DUP6 DUP1 SWAP5 MLOAD SWAP4 DUP5 SWAP3 ADD PUSH2 0x97A JUMP JUMPDEST DUP2 ADD PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F503 DUP2 MSTORE SUB ADD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E03 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SUB SWAP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E03 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP3 GT PUSH2 0xEBC JUMPI JUMP JUMPDEST PUSH2 0xE7E JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DE3 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E43 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD DUP2 SUB SWAP1 DUP2 GT PUSH2 0xEBC JUMPI SWAP1 JUMP JUMPDEST PUSH1 0x0 NOT DUP2 EQ PUSH2 0xEBC JUMPI PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH2 0xF0A PUSH2 0xF0F SWAP4 SWAP3 PUSH2 0x1CD8 JUMP JUMPDEST PUSH2 0x1840 JUMP JUMPDEST PUSH2 0xF1F JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 JUMP JUMPDEST PUSH4 0xB135D3F PUSH1 0xE1 SHL SWAP1 JUMP JUMPDEST SWAP1 CALLDATALOAD SWAP1 PUSH1 0x1E NOT DUP2 CALLDATASIZE SUB ADD DUP3 SLT ISZERO PUSH2 0x244 JUMPI ADD DUP1 CALLDATALOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH2 0x244 JUMPI PUSH1 0x20 ADD SWAP2 DUP2 CALLDATASIZE SUB DUP4 SGT PUSH2 0x244 JUMPI JUMP JUMPDEST CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND SWAP3 SWAP2 SWAP1 PUSH1 0x4 DUP3 LT PUSH2 0xF77 JUMPI POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0x4 SWAP3 SWAP1 SWAP3 SUB PUSH1 0x3 SHL DUP3 SWAP1 SHL AND AND SWAP2 POP JUMP JUMPDEST PUSH1 0x20 DUP2 ADD CALLDATALOAD PUSH1 0x40 SHR SWAP2 PUSH2 0xFA8 PUSH1 0x60 DUP4 ADD DUP4 PUSH2 0xF2A JUMP JUMPDEST PUSH4 0x16155E8F PUSH1 0xE1 SHL SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP2 PUSH2 0xFC4 SWAP2 PUSH2 0xF5C JUMP JUMPDEST AND SUB PUSH2 0x1015 JUMPI POP PUSH2 0xFD4 DUP2 PUSH2 0x12BF JUMP JUMPDEST SWAP2 PUSH2 0x2105 DUP2 SUB PUSH2 0x1001 JUMPI POP SWAP1 PUSH2 0xA46 PUSH2 0xFF3 SWAP3 JUMPDEST PUSH2 0x100 DUP2 ADD SWAP1 PUSH2 0xF2A JUMP JUMPDEST PUSH2 0xFFC JUMPI PUSH1 0x1 SWAP1 JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH4 0x2EF37813 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH2 0x2105 DUP2 EQ PUSH2 0x1001 JUMPI POP SWAP1 PUSH2 0xA46 PUSH2 0xFF3 SWAP3 PUSH2 0xFE8 JUMP JUMPDEST PUSH2 0x1038 PUSH1 0xFF SWAP2 PUSH2 0xE39 JUMP JUMPDEST SLOAD AND SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 SWAP1 DUP2 LT ISZERO PUSH2 0x1075 JUMPI PUSH1 0x5 SHL DUP2 ADD CALLDATALOAD SWAP1 PUSH1 0x5E NOT DUP2 CALLDATASIZE SUB ADD DUP3 SLT ISZERO PUSH2 0x244 JUMPI ADD SWAP1 JUMP JUMPDEST PUSH2 0x103D JUMP JUMPDEST CALLDATALOAD PUSH2 0x4F7 DUP2 PUSH2 0x26C JUMP JUMPDEST SWAP1 PUSH2 0x708 DUP3 ADD DUP1 SWAP3 GT PUSH2 0xEBC JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x15 DUP3 ADD DUP1 SWAP3 GT PUSH2 0xEBC JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x2 DUP3 ADD DUP1 SWAP3 GT PUSH2 0xEBC JUMPI JUMP JUMPDEST SWAP2 SWAP1 DUP3 ADD DUP1 SWAP3 GT PUSH2 0xEBC JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x40 MLOAD SWAP2 PUSH4 0x737BEBDD PUSH1 0xE0 SHL PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x24 DUP3 MSTORE PUSH2 0x488 PUSH1 0x44 DUP4 PUSH2 0x453 JUMP JUMPDEST SWAP1 DUP1 SWAP3 SWAP2 DUP3 CALLDATACOPY ADD PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x10FF PUSH1 0x20 DUP4 PUSH2 0x453 JUMP JUMPDEST PUSH1 0x0 DUP3 MSTORE JUMP JUMPDEST RETURNDATASIZE ISZERO PUSH2 0x1130 JUMPI RETURNDATASIZE SWAP1 PUSH2 0x1116 DUP3 PUSH2 0x48A JUMP JUMPDEST SWAP2 PUSH2 0x1124 PUSH1 0x40 MLOAD SWAP4 DUP5 PUSH2 0x453 JUMP JUMPDEST DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY JUMP JUMPDEST PUSH1 0x60 SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH2 0x1165 JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH2 0x114F JUMPI JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH2 0x1144 JUMP JUMPDEST PUSH1 0x0 MSTORE PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F502 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD SWAP1 DUP2 PUSH1 0x0 DUP3 SLOAD SWAP3 PUSH2 0x11AE DUP5 PUSH2 0x1135 JUMP JUMPDEST DUP1 DUP5 MSTORE SWAP4 PUSH1 0x1 DUP2 AND SWAP1 DUP2 ISZERO PUSH2 0x121A JUMPI POP PUSH1 0x1 EQ PUSH2 0x11D3 JUMPI JUMPDEST POP PUSH2 0x4F7 SWAP3 POP SUB DUP3 PUSH2 0x453 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 SWAP3 SWAP2 SWAP3 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x0 SWAP2 JUMPDEST DUP2 DUP4 LT PUSH2 0x11FE JUMPI POP POP SWAP1 PUSH1 0x20 PUSH2 0x4F7 SWAP3 DUP3 ADD ADD CODESIZE PUSH2 0x11C6 JUMP JUMPDEST PUSH1 0x20 SWAP2 SWAP4 POP DUP1 PUSH1 0x1 SWAP2 SLOAD DUP4 DUP6 DUP9 ADD ADD MSTORE ADD SWAP2 ADD SWAP1 SWAP2 DUP4 SWAP3 PUSH2 0x11E5 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 SWAP3 POP PUSH2 0x4F7 SWAP5 SWAP2 POP PUSH1 0xFF NOT AND DUP3 DUP5 ADD MSTORE ISZERO ISZERO PUSH1 0x5 SHL DUP3 ADD ADD CODESIZE PUSH2 0x11C6 JUMP JUMPDEST PUSH4 0xFFFFFFFF PUSH1 0xE0 SHL AND PUSH4 0x29565E3B PUSH1 0xE0 SHL DUP2 EQ SWAP1 DUP2 ISZERO PUSH2 0x12AE JUMPI JUMPDEST DUP2 ISZERO PUSH2 0x129D JUMPI JUMPDEST DUP2 ISZERO PUSH2 0x128C JUMPI JUMPDEST DUP2 ISZERO PUSH2 0x127B JUMPI JUMPDEST POP PUSH2 0x1276 JUMPI PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH1 0x1 SWAP1 JUMP JUMPDEST PUSH4 0x278F7943 PUSH1 0xE1 SHL EQ SWAP1 POP CODESIZE PUSH2 0x126C JUMP JUMPDEST PUSH4 0xB8197367 PUSH1 0xE0 SHL DUP2 EQ SWAP2 POP PUSH2 0x1265 JUMP JUMPDEST PUSH4 0x89625B57 PUSH1 0xE0 SHL DUP2 EQ SWAP2 POP PUSH2 0x125E JUMP JUMPDEST PUSH4 0x3C3CFC9 PUSH1 0xE2 SHL DUP2 EQ SWAP2 POP PUSH2 0x1257 JUMP JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH2 0x12CB DUP3 PUSH2 0x26C JUMP JUMPDEST PUSH2 0x1398 PUSH1 0x20 DUP3 ADD CALLDATALOAD PUSH2 0x225 PUSH2 0x12E3 PUSH1 0x40 DUP6 ADD DUP6 PUSH2 0xF2A JUMP JUMPDEST SWAP1 DUP2 PUSH1 0x40 MLOAD SWAP2 DUP3 CALLDATACOPY KECCAK256 SWAP4 PUSH2 0x1303 PUSH2 0x12FD PUSH1 0x60 DUP4 ADD DUP4 PUSH2 0xF2A JUMP JUMPDEST SWAP1 PUSH2 0x2239 JUMP JUMPDEST SWAP1 PUSH1 0x80 DUP2 ADD CALLDATALOAD PUSH1 0xA0 DUP3 ADD CALLDATALOAD SWAP1 PUSH2 0x1325 PUSH2 0x12FD PUSH1 0xC0 DUP6 ADD CALLDATALOAD SWAP5 PUSH1 0xE0 DUP2 ADD SWAP1 PUSH2 0xF2A JUMP JUMPDEST SWAP4 PUSH1 0x40 MLOAD SWAP9 DUP10 SWAP8 PUSH1 0x20 DUP10 ADD SWAP12 DUP13 SWAP5 SWAP2 SWAP3 PUSH2 0x100 SWAP7 SWAP4 SWAP10 SWAP9 SWAP8 SWAP5 SWAP2 SWAP10 PUSH2 0x120 DUP8 ADD SWAP11 PUSH32 0x29A0BCA4AF4BE3421398DA00295E58E6D7DE38CB492214754CB6A47507DD6F8E DUP9 MSTORE PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP9 ADD MSTORE PUSH1 0x40 DUP8 ADD MSTORE PUSH1 0x60 DUP7 ADD MSTORE PUSH1 0x80 DUP6 ADD MSTORE PUSH1 0xA0 DUP5 ADD MSTORE PUSH1 0xC0 DUP4 ADD MSTORE PUSH1 0xE0 DUP3 ADD MSTORE ADD MSTORE JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP3 DUP4 MSTORE PUSH20 0x4337084D9E255FF0702461CF8895CE9E3B5FF108 SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH2 0x13CF DUP2 PUSH1 0x60 DUP2 ADD PUSH2 0x225 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x1038 PUSH1 0xFF SWAP2 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x20 DUP2 MSTORE PUSH2 0x233 PUSH1 0x40 DUP3 PUSH2 0x453 JUMP JUMPDEST PUSH2 0x1403 PUSH2 0x1A67 JUMP JUMPDEST SWAP1 PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SWAP1 PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 ADD SWAP3 PUSH32 0x8B73C3C69BB8FE3D512ECC4CF759CC79239F7B179B0FFACAA9A75D522B39400F DUP5 MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE CHAINID PUSH1 0x80 DUP3 ADD MSTORE ADDRESS PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xA0 DUP2 MSTORE PUSH2 0x13CF PUSH1 0xC0 DUP3 PUSH2 0x453 JUMP JUMPDEST PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR PUSH4 0xBC197C81 DUP2 EQ PUSH4 0xF23A6E61 DUP3 EQ OR PUSH4 0x150B7A02 DUP3 EQ OR PUSH2 0x1493 JUMPI PUSH4 0x3C10B94E PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x1C REVERT JUMPDEST PUSH1 0x20 MSTORE PUSH1 0x20 PUSH1 0x3C RETURN JUMPDEST PUSH2 0x14A5 CALLER PUSH2 0x13D5 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x14C0 JUMPI JUMPDEST PUSH2 0x488 JUMPI PUSH3 0x82B429 PUSH1 0xE8 SHL PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x0 REVERT JUMPDEST POP ADDRESS CALLER EQ PUSH2 0x14AC JUMP JUMPDEST DUP2 DUP2 LT PUSH2 0x14D4 JUMPI POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x14C9 JUMP JUMPDEST SWAP2 SWAP1 PUSH1 0x1F DUP2 GT PUSH2 0x14EF JUMPI POP POP POP JUMP JUMPDEST PUSH2 0x488 SWAP3 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x20 PUSH1 0x1F DUP5 ADD PUSH1 0x5 SHR DUP4 ADD SWAP4 LT PUSH2 0x151B JUMPI JUMPDEST PUSH1 0x1F ADD PUSH1 0x5 SHR ADD SWAP1 PUSH2 0x14C9 JUMP JUMPDEST SWAP1 SWAP2 POP DUP2 SWAP1 PUSH2 0x150E JUMP JUMPDEST PUSH2 0x152E DUP2 PUSH2 0x102D JUMP JUMPDEST PUSH2 0x169C JUMPI PUSH2 0x153B DUP2 PUSH2 0xE39 JUMP JUMPDEST PUSH1 0x1 PUSH1 0xFF NOT DUP3 SLOAD AND OR SWAP1 SSTORE DUP2 PUSH1 0x0 MSTORE PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F502 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x474 JUMPI PUSH2 0x1597 DUP2 PUSH2 0x1591 DUP5 SLOAD PUSH2 0x1135 JUMP JUMPDEST DUP5 PUSH2 0x14E0 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x1F DUP3 GT PUSH1 0x1 EQ PUSH2 0x160B JUMPI SWAP2 PUSH2 0x15EC DUP3 PUSH32 0x38109EDC26E166B5579352CE56A50813177EB25208FD90D61F2F378386220220 SWAP6 SWAP4 PUSH2 0x15FB SWAP6 PUSH1 0x0 SWAP2 PUSH2 0x1600 JUMPI JUMPDEST POP DUP2 PUSH1 0x1 SHL SWAP2 PUSH1 0x0 NOT SWAP1 PUSH1 0x3 SHL SHR NOT AND OR SWAP1 JUMP JUMPDEST SWAP1 SSTORE JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 SWAP2 DUP3 PUSH2 0x9C2 JUMP JUMPDEST SUB SWAP1 LOG2 JUMP JUMPDEST SWAP1 POP DUP5 ADD MLOAD CODESIZE PUSH2 0x15D8 JUMP JUMPDEST PUSH1 0x1F NOT DUP3 AND SWAP1 PUSH2 0x1620 DUP5 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP2 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH2 0x1684 JUMPI POP SWAP3 PUSH2 0x15FB SWAP5 SWAP3 PUSH1 0x1 SWAP3 DUP3 PUSH32 0x38109EDC26E166B5579352CE56A50813177EB25208FD90D61F2F378386220220 SWAP9 SWAP7 LT PUSH2 0x166B JUMPI JUMPDEST POP POP DUP2 SHL ADD SWAP1 SSTORE PUSH2 0x15EF JUMP JUMPDEST DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 PUSH2 0x165F JUMP JUMPDEST SWAP2 SWAP3 PUSH1 0x20 PUSH1 0x1 DUP2 SWAP3 DUP7 DUP11 ADD MLOAD DUP2 SSTORE ADD SWAP5 ADD SWAP3 ADD PUSH2 0x1624 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x468B12AD PUSH1 0xE1 SHL DUP2 MSTORE SWAP1 DUP2 SWAP1 PUSH2 0x16B9 SWAP1 PUSH1 0x4 DUP4 ADD PUSH2 0x9C2 JUMP JUMPDEST SUB SWAP1 REVERT JUMPDEST PUSH1 0x20 DUP2 DUP4 SUB SLT PUSH2 0x244 JUMPI DUP1 CALLDATALOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH2 0x244 JUMPI ADD PUSH1 0x40 DUP2 DUP4 SUB SLT PUSH2 0x244 JUMPI PUSH1 0x40 MLOAD SWAP2 PUSH1 0x40 DUP4 ADD DUP4 DUP2 LT PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT OR PUSH2 0x474 JUMPI PUSH1 0x40 MSTORE DUP2 CALLDATALOAD DUP4 MSTORE PUSH1 0x20 DUP3 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH2 0x1721 SWAP3 ADD PUSH2 0x4DC JUMP JUMPDEST PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD MLOAD SWAP1 PUSH1 0x20 DUP2 LT PUSH2 0x173D JUMPI POP SWAP1 JUMP JUMPDEST PUSH1 0x0 NOT SWAP1 PUSH1 0x20 SUB PUSH1 0x3 SHL SHL AND SWAP1 JUMP JUMPDEST SWAP2 SWAP1 DUP3 PUSH1 0x40 SWAP2 SUB SLT PUSH2 0x244 JUMPI PUSH1 0x20 DUP3 MLOAD SWAP3 ADD MLOAD SWAP1 JUMP JUMPDEST DUP2 PUSH1 0x1F DUP3 ADD SLT ISZERO PUSH2 0x244 JUMPI PUSH1 0x20 DUP2 MLOAD SWAP2 ADD SWAP1 PUSH2 0x177D DUP2 PUSH2 0x48A JUMP JUMPDEST SWAP3 PUSH2 0x178B PUSH1 0x40 MLOAD SWAP5 DUP6 PUSH2 0x453 JUMP JUMPDEST DUP2 DUP5 MSTORE DUP2 DUP4 ADD GT PUSH2 0x244 JUMPI PUSH2 0x4F7 SWAP2 PUSH1 0x20 DUP5 ADD SWAP1 PUSH2 0x97A JUMP JUMPDEST PUSH1 0x20 DUP2 DUP4 SUB SLT PUSH2 0x244 JUMPI DUP1 MLOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH2 0x244 JUMPI ADD SWAP1 PUSH1 0xC0 DUP3 DUP3 SUB SLT PUSH2 0x244 JUMPI PUSH2 0x17D3 PUSH2 0x479 JUMP JUMPDEST SWAP2 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI DUP3 PUSH2 0x17F0 SWAP2 DUP4 ADD PUSH2 0x1762 JUMP JUMPDEST DUP4 MSTORE PUSH1 0x20 DUP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH1 0xA0 SWAP3 PUSH2 0x1813 SWAP2 DUP4 ADD PUSH2 0x1762 JUMP JUMPDEST PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x40 DUP2 ADD MLOAD PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x60 DUP2 ADD MLOAD PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP2 ADD MLOAD PUSH1 0x80 DUP5 ADD MSTORE ADD MLOAD PUSH1 0xA0 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST SWAP3 SWAP2 SWAP1 PUSH2 0x184F SWAP2 DUP2 ADD SWAP1 PUSH2 0x16BD JUMP JUMPDEST SWAP1 PUSH2 0x185A DUP3 MLOAD PUSH2 0x116F JUMP JUMPDEST SWAP2 PUSH1 0x20 DUP4 MLOAD EQ PUSH2 0x18D8 JUMPI DUP3 MLOAD SWAP4 PUSH1 0x40 DUP6 EQ PUSH2 0x188A JUMPI PUSH1 0x40 MLOAD PUSH4 0x27755B91 PUSH1 0xE1 SHL DUP2 MSTORE DUP1 PUSH2 0x16B9 DUP7 PUSH1 0x4 DUP4 ADD PUSH2 0x9C2 JUMP JUMPDEST PUSH2 0x225 PUSH2 0x18D3 PUSH2 0x18BE PUSH2 0x18AA DUP8 PUSH1 0x20 DUP1 DUP1 SWAP10 SWAP12 PUSH2 0x4F7 SWAP12 ADD ADD SWAP2 ADD PUSH2 0x174C JUMP JUMPDEST SWAP7 SWAP1 SWAP6 ADD MLOAD PUSH1 0x20 DUP1 DUP3 MLOAD DUP4 ADD ADD SWAP2 ADD PUSH2 0x17A4 JUMP JUMPDEST SWAP3 PUSH1 0x40 MLOAD SWAP3 DUP4 SWAP2 PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 PUSH1 0x20 DUP4 ADD SWAP3 MSTORE JUMP JUMPDEST PUSH2 0x1EDA JUMP JUMPDEST SWAP2 SWAP3 SWAP1 SWAP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH2 0x18EE DUP6 PUSH2 0x1729 JUMP JUMPDEST GT PUSH2 0x1906 JUMPI PUSH1 0x20 DUP1 PUSH2 0x4F7 SWAP5 SWAP6 ADD MLOAD SWAP3 ADD MLOAD SWAP2 PUSH2 0x1D4D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xBFF1AC65 PUSH1 0xE0 SHL DUP2 MSTORE DUP1 PUSH2 0x16B9 DUP7 PUSH1 0x4 DUP4 ADD PUSH2 0x9C2 JUMP JUMPDEST SWAP2 PUSH1 0x0 SWAP3 DUP4 SWAP3 PUSH1 0x20 DUP4 MLOAD SWAP4 ADD SWAP2 GAS CALL PUSH2 0x1938 PUSH2 0x1105 JUMP JUMPDEST SWAP1 ISZERO PUSH2 0x657 JUMPI POP JUMP JUMPDEST DUP1 MLOAD DUP3 LT ISZERO PUSH2 0x1075 JUMPI PUSH1 0x20 SWAP2 PUSH1 0x5 SHL ADD ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DE3 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x0 JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH2 0x1A52 JUMPI PUSH1 0x20 PUSH2 0x197E DUP3 DUP7 PUSH2 0x1941 JUMP JUMPDEST MLOAD MLOAD EQ ISZERO DUP1 PUSH2 0x1A3C JUMPI JUMPDEST PUSH2 0x1A15 JUMPI PUSH1 0x20 PUSH2 0x1998 DUP3 DUP7 PUSH2 0x1941 JUMP JUMPDEST MLOAD MLOAD EQ DUP1 PUSH2 0x19F3 JUMPI JUMPDEST PUSH2 0x19CC JUMPI DUP1 PUSH2 0x19C6 PUSH2 0x19B5 PUSH1 0x1 SWAP4 DUP8 PUSH2 0x1941 JUMP JUMPDEST MLOAD SWAP4 PUSH2 0x19C0 DUP2 PUSH2 0xEED JUMP JUMPDEST SWAP5 PUSH2 0x1525 JUMP JUMPDEST ADD PUSH2 0x1969 JUMP JUMPDEST PUSH2 0x19D9 PUSH2 0x16B9 SWAP2 DUP6 PUSH2 0x1941 JUMP JUMPDEST MLOAD PUSH1 0x40 MLOAD PUSH4 0xBFF1AC65 PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 DUP3 SWAP2 PUSH1 0x4 DUP4 ADD PUSH2 0x9C2 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH2 0x1A0F PUSH2 0x1A09 DUP4 DUP8 PUSH2 0x1941 JUMP JUMPDEST MLOAD PUSH2 0x1729 JUMP JUMPDEST GT PUSH2 0x19A1 JUMP JUMPDEST PUSH2 0x1A22 PUSH2 0x16B9 SWAP2 DUP6 PUSH2 0x1941 JUMP JUMPDEST MLOAD PUSH1 0x40 MLOAD PUSH4 0x27755B91 PUSH1 0xE1 SHL DUP2 MSTORE SWAP2 DUP3 SWAP2 PUSH1 0x4 DUP4 ADD PUSH2 0x9C2 JUMP JUMPDEST POP PUSH1 0x40 PUSH2 0x1A49 DUP3 DUP7 PUSH2 0x1941 JUMP JUMPDEST MLOAD MLOAD EQ ISZERO PUSH2 0x1988 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DE3 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SSTORE SWAP1 POP JUMP JUMPDEST PUSH1 0x40 SWAP1 DUP2 MLOAD PUSH2 0x1A76 DUP4 DUP3 PUSH2 0x453 JUMP JUMPDEST PUSH1 0x12 DUP2 MSTORE PUSH18 0x11DA585B9BC814DB585C9D0815D85B1B195D PUSH1 0x72 SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP2 PUSH2 0x1AA2 DUP2 MLOAD SWAP2 DUP3 PUSH2 0x453 JUMP JUMPDEST PUSH1 0x1 DUP2 MSTORE PUSH1 0x31 PUSH1 0xF8 SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST SWAP1 DUP1 PUSH1 0x20 SWAP4 SWAP3 DUP2 DUP5 MSTORE DUP5 DUP5 ADD CALLDATACOPY PUSH1 0x0 DUP3 DUP3 ADD DUP5 ADD MSTORE PUSH1 0x1F ADD PUSH1 0x1F NOT AND ADD ADD SWAP1 JUMP JUMPDEST SWAP3 SWAP2 PUSH2 0x4F7 SWAP5 SWAP3 PUSH2 0x1AF2 SWAP3 DUP6 MSTORE PUSH1 0x60 PUSH1 0x20 DUP7 ADD MSTORE PUSH1 0x60 DUP6 ADD SWAP2 PUSH2 0x1AB3 JUMP JUMPDEST SWAP2 PUSH1 0x40 DUP2 DUP5 SUB SWAP2 ADD MSTORE PUSH2 0x99D JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP3 PUSH1 0x40 MLOAD SWAP4 DUP5 SWAP3 DUP4 CALLDATACOPY DUP2 ADD PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F503 DUP2 MSTORE SUB ADD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x2 DUP2 SWAP1 SHL SWAP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xFE SHL SUB DUP2 AND SUB PUSH2 0xEBC JUMPI JUMP JUMPDEST PUSH2 0x1B5A DUP2 SLOAD PUSH2 0x1135 JUMP JUMPDEST SWAP1 DUP2 PUSH2 0x1B64 JUMPI POP POP JUMP JUMPDEST DUP2 PUSH1 0x1F PUSH1 0x0 SWAP4 GT PUSH1 0x1 EQ PUSH2 0x1B76 JUMPI POP SSTORE JUMP JUMPDEST DUP2 DUP4 MSTORE PUSH1 0x20 DUP4 KECCAK256 PUSH2 0x1B92 SWAP2 PUSH1 0x1F ADD PUSH1 0x5 SHR DUP2 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x14C9 JUMP JUMPDEST DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 KECCAK256 SWAP1 DUP2 SLOAD DUP4 PUSH1 0x1 SHL SWAP1 DUP5 NOT DUP6 PUSH1 0x3 SHL SHR NOT AND OR SWAP1 SSTORE SSTORE JUMP JUMPDEST SWAP2 PUSH1 0x20 PUSH2 0x4F7 SWAP4 DUP2 DUP2 MSTORE ADD SWAP2 PUSH2 0x1AB3 JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x1BCC DUP4 PUSH2 0x116F JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x1CC2 JUMPI DUP1 MLOAD PUSH1 0x20 DUP3 ADD KECCAK256 PUSH2 0x1BE5 CALLDATASIZE DUP6 DUP6 PUSH2 0x4A5 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SUB PUSH2 0x1CA3 JUMPI POP SWAP1 DUP2 PUSH2 0x1C2C PUSH2 0x1C22 DUP4 PUSH32 0xCF95BBFE6F870F8CC40482DC3DCCDAFD268F0E9CE0A4F24EA1BEA9BE64E505FF SWAP6 PUSH2 0x1B00 JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x1C67 PUSH2 0x1C62 DUP6 PUSH1 0x0 MSTORE PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F502 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x1B50 JUMP JUMPDEST PUSH2 0x1C94 PUSH2 0x1C82 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E43 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH2 0xEED JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E43 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SSTORE JUMP JUMPDEST PUSH2 0x15FB PUSH1 0x40 MLOAD SWAP3 DUP4 SWAP3 DUP4 PUSH2 0x1BB0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x781F2E39 PUSH1 0xE0 SHL DUP2 MSTORE SWAP4 DUP5 SWAP4 PUSH2 0x16B9 SWAP4 SWAP1 SWAP2 PUSH1 0x4 DUP7 ADD PUSH2 0x1AD4 JUMP JUMPDEST PUSH4 0x340C473D PUSH1 0xE1 SHL PUSH1 0x0 MSTORE PUSH1 0x4 DUP5 SWAP1 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1CE0 PUSH2 0x13FB JUMP JUMPDEST SWAP1 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 ADD SWAP2 PUSH32 0x37F248F492286AB572E2A1EE0BD5315F2AAE54A08B5871B294D657F3A1F1D007 DUP4 MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP2 MSTORE PUSH2 0x1D20 PUSH1 0x60 DUP3 PUSH2 0x453 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 ADD SWAP3 PUSH2 0x1901 PUSH1 0xF0 SHL DUP5 MSTORE PUSH1 0x22 DUP4 ADD MSTORE PUSH1 0x42 DUP3 ADD MSTORE PUSH1 0x42 DUP2 MSTORE PUSH2 0x13CF PUSH1 0x62 DUP3 PUSH2 0x453 JUMP JUMPDEST SWAP1 SWAP2 PUSH1 0x0 SWAP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND ISZERO PUSH2 0x1E37 JUMPI PUSH1 0x40 MLOAD SWAP3 PUSH1 0x4 DUP5 ADD SWAP5 PUSH1 0x24 DUP6 ADD SWAP6 PUSH1 0x44 DUP7 ADD SWAP3 DUP6 EXTCODESIZE ISZERO PUSH2 0x1DB7 JUMPI POP SWAP2 DUP7 SWAP4 SWAP2 PUSH1 0x20 SWAP6 SWAP4 PUSH4 0xB135D3F PUSH1 0xE1 SHL DUP9 MSTORE MSTORE PUSH1 0x40 DUP5 MSTORE DUP2 MLOAD DUP6 ADD DUP1 SWAP3 PUSH1 0x4 GAS STATICCALL SWAP4 PUSH1 0x44 RETURNDATASIZE ADD SWAP2 GAS STATICCALL SWAP2 MLOAD PUSH4 0xB135D3F PUSH1 0xE1 SHL EQ SWAP2 AND AND SWAP1 JUMP JUMPDEST SWAP8 SWAP7 POP POP SWAP1 POP DUP2 MLOAD DUP1 PUSH1 0x40 EQ PUSH2 0x1E12 JUMPI PUSH1 0x41 EQ PUSH2 0x1DD4 JUMPI POP POP POP POP JUMP JUMPDEST PUSH1 0x20 SWAP3 SWAP4 SWAP6 POP PUSH1 0x60 DUP3 ADD MLOAD PUSH1 0x0 BYTE DUP4 MSTORE PUSH1 0x40 DUP3 ADD MLOAD PUSH1 0x60 MSTORE JUMPDEST PUSH1 0x0 MSTORE ADD MLOAD PUSH1 0x40 MSTORE PUSH1 0x20 PUSH1 0x1 PUSH1 0x80 PUSH1 0x0 DUP3 GAS STATICCALL MLOAD XOR PUSH1 0x60 SHL RETURNDATASIZE GT SWAP2 PUSH1 0x0 PUSH1 0x60 MSTORE PUSH1 0x40 MSTORE JUMP JUMPDEST POP PUSH1 0x20 SWAP3 SWAP4 SWAP6 POP PUSH1 0x40 DUP3 ADD MLOAD PUSH1 0x1B DUP2 PUSH1 0xFF SHR ADD DUP5 MSTORE PUSH1 0x1 DUP1 PUSH1 0xFF SHL SUB AND PUSH1 0x60 MSTORE PUSH2 0x1DED JUMP JUMPDEST POP POP POP POP PUSH1 0x0 SWAP1 JUMP JUMPDEST SWAP1 PUSH2 0x488 PUSH1 0x1 PUSH1 0x2D PUSH1 0x40 MLOAD DUP1 SWAP6 PUSH13 0x1131B430B63632B733B2911D11 PUSH1 0x99 SHL PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1E76 DUP2 MLOAD DUP1 SWAP3 PUSH1 0x20 DUP7 DUP7 ADD SWAP2 ADD PUSH2 0x97A JUMP JUMPDEST DUP2 ADD PUSH1 0x11 PUSH1 0xF9 SHL DUP4 DUP3 ADD MSTORE SUB ADD PUSH1 0x1E NOT DUP2 ADD DUP6 MSTORE ADD DUP4 PUSH2 0x453 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x20 LT ISZERO PUSH2 0x1075 JUMPI PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x20 SWAP3 SWAP2 SWAP1 PUSH2 0x1EC3 DUP5 SWAP3 DUP3 DUP2 MLOAD SWAP5 DUP6 SWAP3 ADD PUSH2 0x97A JUMP JUMPDEST ADD SWAP1 DUP2 MSTORE ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 PUSH1 0x20 SWAP2 SUB SLT PUSH2 0x244 JUMPI MLOAD SWAP1 JUMP JUMPDEST SWAP3 SWAP2 SWAP1 PUSH1 0x0 SWAP4 PUSH1 0xA0 DUP3 ADD SWAP5 DUP6 MLOAD PUSH32 0x7FFFFFFF800000007FFFFFFFFFFFFFFFDE737D56D38BCF4279DCE5617E3192A8 LT PUSH2 0x20B7 JUMPI PUSH1 0x20 DUP4 ADD SWAP2 PUSH32 0xFF1A2A9176D650E4A99DEDB58F1793003935130579FE17B5A3F698AC5B00E634 PUSH2 0x1F4C DUP5 MLOAD PUSH1 0x60 DUP8 ADD MLOAD PUSH2 0x1F46 DUP2 PUSH2 0x1093 JUMP JUMPDEST SWAP2 PUSH2 0x2244 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SUB PUSH2 0x20C0 JUMPI PUSH2 0x1F64 PUSH2 0x1F69 SWAP2 PUSH2 0x20CA JUMP JUMPDEST PUSH2 0x1E40 JUMP JUMPDEST PUSH2 0x1F7E DUP4 MLOAD PUSH1 0x40 DUP7 ADD MLOAD PUSH2 0x1F46 DUP5 MLOAD DUP3 PUSH2 0x10AF JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SWAP1 PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SUB PUSH2 0x20B7 JUMPI PUSH1 0x1 PUSH1 0xF8 SHL PUSH1 0x1 PUSH1 0xF8 SHL PUSH2 0x1FB7 PUSH2 0x1FA9 DUP7 MLOAD PUSH2 0x1E91 JUMP JUMPDEST MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 JUMP JUMPDEST AND SUB PUSH2 0x20B7 JUMPI PUSH2 0x1FD4 PUSH1 0x20 SWAP3 PUSH1 0x0 SWAP3 POP MLOAD PUSH1 0x40 MLOAD SWAP2 DUP3 DUP1 SWAP3 PUSH2 0xE22 JUMP JUMPDEST SUB SWAP1 PUSH1 0x2 GAS STATICCALL ISZERO PUSH2 0x20B2 JUMPI PUSH1 0x20 PUSH1 0x0 PUSH2 0x200A DUP2 MLOAD PUSH2 0x1FFE DUP6 MLOAD PUSH2 0x225 PUSH1 0x40 MLOAD SWAP4 DUP5 SWAP3 DUP9 DUP5 ADD PUSH2 0x1EAD JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 DUP1 SWAP3 PUSH2 0xE22 JUMP JUMPDEST SUB SWAP1 PUSH1 0x2 GAS STATICCALL ISZERO PUSH2 0x20B2 JUMPI PUSH1 0x80 PUSH1 0x0 MLOAD SWAP2 ADD SWAP4 PUSH1 0x0 DUP1 DUP7 MLOAD DUP6 PUSH2 0x205D DUP6 MLOAD PUSH2 0x225 DUP11 PUSH1 0x40 MLOAD SWAP5 DUP6 SWAP4 PUSH1 0x20 DUP6 ADD SWAP8 DUP13 DUP10 SWAP2 SWAP3 PUSH1 0x80 SWAP4 SWAP7 SWAP6 SWAP5 SWAP2 SWAP7 PUSH1 0xA0 DUP5 ADD SWAP8 DUP5 MSTORE PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE ADD MSTORE JUMP JUMPDEST MLOAD SWAP1 PUSH2 0x100 GAS STATICCALL SWAP5 PUSH2 0x206D PUSH2 0x1105 JUMP JUMPDEST DUP1 MLOAD SWAP7 DUP1 PUSH2 0x20A9 JUMPI JUMPDEST PUSH2 0x2089 JUMPI POP PUSH2 0x4F7 SWAP6 POP MLOAD SWAP1 MLOAD SWAP2 PUSH2 0x2131 JUMP JUMPDEST PUSH1 0x1 SWAP7 PUSH2 0x20A5 SWAP7 POP DUP2 ADD PUSH1 0x20 SWAP1 DUP2 ADD SWAP6 POP ADD SWAP3 POP PUSH2 0x1ECB SWAP2 POP POP JUMP JUMPDEST EQ SWAP1 JUMP JUMPDEST POP DUP7 ISZERO ISZERO PUSH2 0x2076 JUMP JUMPDEST PUSH2 0x1EA1 JUMP JUMPDEST SWAP5 POP POP POP POP POP SWAP1 JUMP JUMPDEST POP SWAP5 POP POP POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x4F7 SWAP2 PUSH2 0x20DC PUSH1 0x60 DUP4 PUSH2 0x453 JUMP JUMPDEST PUSH1 0x40 DUP3 MSTORE PUSH32 0x4142434445464748494A4B4C4D4E4F505152535455565758595A616263646566 PUSH1 0x20 DUP4 ADD MSTORE PUSH32 0x6768696A6B6C6D6E6F707172737475767778797A303132333435363738392D5F PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x22F0 JUMP JUMPDEST SWAP4 SWAP2 SWAP1 SWAP3 SWAP4 DUP4 ISZERO DUP1 ISZERO PUSH2 0x2221 JUMPI JUMPDEST DUP1 ISZERO PUSH2 0x2219 JUMPI JUMPDEST DUP1 ISZERO PUSH2 0x2201 JUMPI JUMPDEST PUSH2 0x21F7 JUMPI PUSH2 0x215B DUP4 DUP7 PUSH2 0x2398 JUMP JUMPDEST ISZERO PUSH2 0x21F7 JUMPI PUSH1 0x40 MLOAD SWAP2 PUSH1 0x20 DUP4 MSTORE PUSH1 0x20 DUP1 DUP5 ADD MSTORE PUSH1 0x20 PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x60 DUP4 ADD MSTORE PUSH32 0xFFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC63254F PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E03 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0xA0 DUP4 ADD MSTORE PUSH1 0x20 DUP3 PUSH1 0xC0 DUP2 PUSH1 0x5 PUSH1 0x0 NOT STATICCALL ISZERO PUSH2 0x244 JUMPI PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E03 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP5 PUSH2 0x21F1 SWAP4 DUP7 PUSH2 0x21EB SWAP5 MLOAD DUP2 DUP2 DUP10 MULMOD SWAP5 MULMOD SWAP2 PUSH2 0x2473 JUMP JUMPDEST SWAP2 PUSH2 0xE94 JUMP JUMPDEST SWAP1 ADDMOD ISZERO SWAP1 JUMP JUMPDEST POP POP POP POP POP PUSH1 0x0 SWAP1 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E03 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP3 LT ISZERO PUSH2 0x214D JUMP JUMPDEST POP DUP2 ISZERO PUSH2 0x2146 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E03 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP5 LT ISZERO PUSH2 0x213F JUMP JUMPDEST DUP2 PUSH1 0x40 MLOAD SWAP2 DUP3 CALLDATACOPY KECCAK256 SWAP1 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x60 SWAP5 SWAP4 SWAP3 SWAP1 DUP4 DUP2 GT ISZERO PUSH2 0x22B6 JUMPI JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x22AE JUMPI JUMPDEST POP DUP3 DUP2 LT PUSH2 0x226B JUMPI POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP5 POP SWAP2 DUP3 SWAP1 SUB SWAP2 ADD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND JUMPDEST DUP2 DUP2 ADD MLOAD DUP6 DUP3 ADD MSTORE PUSH1 0x1F NOT ADD SWAP1 DUP2 ISZERO PUSH2 0x2298 JUMPI SWAP1 PUSH2 0x227F JUMP JUMPDEST POP POP PUSH1 0x40 DUP2 DUP5 ADD PUSH1 0x0 PUSH1 0x20 DUP3 ADD MSTORE ADD PUSH1 0x40 MSTORE DUP3 MSTORE JUMP JUMPDEST SWAP1 POP CODESIZE PUSH2 0x225E JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x2255 JUMP JUMPDEST SWAP1 PUSH2 0x22C8 DUP3 PUSH2 0x48A JUMP JUMPDEST PUSH2 0x22D5 PUSH1 0x40 MLOAD SWAP2 DUP3 PUSH2 0x453 JUMP JUMPDEST DUP3 DUP2 MSTORE DUP1 SWAP3 PUSH2 0x22E6 PUSH1 0x1F NOT SWAP2 PUSH2 0x48A JUMP JUMPDEST ADD SWAP1 PUSH1 0x20 CALLDATASIZE SWAP2 ADD CALLDATACOPY JUMP JUMPDEST SWAP1 DUP2 MLOAD ISZERO PUSH2 0x238E JUMPI SWAP1 PUSH2 0x231D PUSH2 0x2318 PUSH2 0x2311 PUSH2 0x230C DUP5 MLOAD PUSH2 0x1B38 JUMP JUMPDEST PUSH2 0x10A1 JUMP JUMPDEST PUSH1 0x3 SWAP1 DIV SWAP1 JUMP JUMPDEST PUSH2 0x22BE JUMP JUMPDEST SWAP2 PUSH1 0x20 DUP4 ADD SWAP1 DUP3 DUP1 MLOAD ADD SWAP1 PUSH1 0x20 DUP3 ADD SWAP3 DUP4 MLOAD SWAP5 PUSH1 0x0 DUP6 MSTORE JUMPDEST DUP4 DUP2 LT PUSH2 0x2344 JUMPI POP POP POP POP MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x4 SWAP2 ADD SWAP2 PUSH1 0x1 PUSH1 0x3F DUP5 MLOAD DUP3 DUP3 DUP3 PUSH1 0x12 SHR AND DUP9 ADD ADD MLOAD DUP5 MSTORE8 DUP3 DUP3 DUP3 PUSH1 0xC SHR AND DUP9 ADD ADD MLOAD DUP4 DUP6 ADD MSTORE8 DUP3 DUP3 DUP3 PUSH1 0x6 SHR AND DUP9 ADD ADD MLOAD PUSH1 0x2 DUP6 ADD MSTORE8 AND DUP6 ADD ADD MLOAD PUSH1 0x3 DUP3 ADD MSTORE8 ADD SWAP1 PUSH2 0x2335 JUMP JUMPDEST POP POP PUSH2 0x4F7 PUSH2 0x10F0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 LT DUP1 ISZERO SWAP1 PUSH2 0x245B JUMPI JUMPDEST DUP1 ISZERO PUSH2 0x244A JUMPI JUMPDEST PUSH2 0x2443 JUMPI PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH32 0x5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B SWAP1 DUP3 SWAP1 DUP2 PUSH32 0xFFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC DUP3 MULMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 DUP2 DUP1 MULMOD MULMOD ADDMOD ADDMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP1 MULMOD EQ SWAP1 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP1 JUMP JUMPDEST POP DUP1 ISZERO DUP1 ISZERO PUSH2 0x23B8 JUMPI POP DUP2 ISZERO PUSH2 0x23B8 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP3 LT ISZERO PUSH2 0x23B1 JUMP JUMPDEST SWAP1 SWAP3 PUSH1 0x0 SWAP3 SWAP1 DUP4 PUSH1 0xFF DUP2 DUP5 ISZERO DUP1 PUSH2 0x2A6A JUMPI JUMPDEST PUSH2 0x2A5F JUMPI PUSH2 0x2493 DUP9 DUP8 PUSH2 0x2A72 JUMP JUMPDEST SWAP3 SWAP1 SWAP2 DUP3 ISZERO DUP1 PUSH2 0x2A57 JUMPI JUMPDEST PUSH2 0x2A1C JUMPI JUMPDEST POP DUP6 DUP2 SHR PUSH1 0x2 DUP7 PUSH1 0xFE SHR AND ADD JUMPDEST ISZERO PUSH2 0x2A03 JUMPI PUSH1 0x1 DUP7 DUP3 SHR AND PUSH1 0x2 DUP7 DUP4 SHR PUSH1 0x1 SHL AND ADD PUSH1 0x1 DUP2 EQ PUSH2 0x29B8 JUMPI JUMPDEST PUSH1 0x2 DUP2 EQ PUSH2 0x29AB JUMPI JUMPDEST PUSH1 0x3 EQ PUSH2 0x299E JUMPI JUMPDEST PUSH1 0x1 SWAP9 PUSH1 0x0 NOT SWAP2 SWAP1 SWAP2 ADD SWAP7 SWAP5 SWAP6 SWAP5 DUP10 SWAP5 SWAP4 SWAP3 SWAP2 JUMPDEST DUP9 PUSH1 0x0 NOT GT PUSH2 0x2571 JUMPI POP POP POP POP POP POP POP POP POP PUSH1 0x40 MLOAD SWAP2 PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x20 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD MSTORE PUSH1 0x20 PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH1 0x60 SHL SUB PUSH1 0x60 SHL NOT PUSH1 0xA0 DUP4 ADD MSTORE PUSH1 0x20 DUP3 PUSH1 0xC0 DUP2 PUSH1 0x5 PUSH1 0x0 NOT STATICCALL ISZERO PUSH2 0x244 JUMPI SWAP1 MLOAD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD SWAP1 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 SWAP6 SWAP7 SWAP8 SWAP9 PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH1 0x60 SHL SUB PUSH1 0x60 SHL NOT DUP7 PUSH1 0x2 MULMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP3 DUP1 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 DUP4 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP3 SWAP1 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 SWAP1 DUP16 DUP3 DUP2 DUP4 ADDMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SUB SWAP1 ADDMOD MULMOD PUSH1 0x3 MULMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP4 MULMOD SWAP13 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP3 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP12 DUP1 MULMOD ADDMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SWAP1 DUP2 SUB DUP12 ADDMOD SWAP1 MULMOD SWAP7 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP9 SWAP1 DUP3 SWAP1 DUP5 MULMOD ADDMOD SWAP7 DUP12 PUSH1 0x2 DUP13 PUSH1 0x1 DUP14 DUP5 SHR AND SWAP3 SHR PUSH1 0x1 SHL AND ADD DUP1 ISZERO PUSH2 0x2981 JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x2936 JUMPI JUMPDEST PUSH1 0x2 DUP2 EQ PUSH2 0x292B JUMPI JUMPDEST PUSH1 0x3 EQ PUSH2 0x2922 JUMPI JUMPDEST DUP3 ISZERO PUSH2 0x290F JUMPI PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP9 SWAP1 DUP3 SWAP1 DUP16 SWAP1 MULMOD ADDMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP10 DUP3 SUB SWAP1 DUP3 SWAP1 DUP6 SWAP1 MULMOD ADDMOD SWAP8 DUP2 ISZERO PUSH2 0x27D5 JUMPI JUMPDEST PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP10 DUP1 MULMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP11 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP11 SWAP1 MULMOD SWAP13 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP5 SWAP1 MULMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP3 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP6 DUP2 SUB DUP2 DUP7 DUP1 MULMOD ADDMOD ADDMOD SWAP8 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP4 DUP5 SWAP2 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SWAP1 DUP11 DUP3 SUB SWAP1 ADDMOD MULMOD ADDMOD SWAP5 SWAP9 JUMPDEST PUSH1 0x0 NOT ADD SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x24F3 JUMP JUMPDEST DUP9 PUSH2 0x26F8 JUMPI SWAP11 SWAP2 SWAP8 POP SWAP1 SWAP6 SWAP1 POP PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD SWAP11 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP13 DUP1 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 DUP14 MULMOD SWAP13 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP3 SWAP1 MULMOD SWAP12 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 DUP12 DUP2 SUB DUP3 ADDMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP13 SWAP1 ADDMOD MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH1 0x3 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP14 MULMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD SWAP12 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP3 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP5 DUP1 MULMOD ADDMOD SWAP12 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP4 DUP5 SWAP2 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SWAP1 DUP15 DUP3 SUB SWAP1 ADDMOD SWAP1 MULMOD ADDMOD SWAP5 PUSH2 0x27C4 JUMP JUMPDEST PUSH1 0x1 SWAP13 POP SWAP1 SWAP11 DUP13 SWAP9 POP SWAP1 SWAP7 POP SWAP1 POP PUSH2 0x27C4 JUMP JUMPDEST POP POP DUP4 DUP6 PUSH2 0x26B7 JUMP JUMPDEST DUP6 SWAP3 POP DUP5 SWAP2 POP PUSH2 0x26AF JUMP JUMPDEST PUSH32 0x6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296 SWAP3 POP PUSH32 0x4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5 SWAP2 POP PUSH2 0x26A6 JUMP JUMPDEST POP POP POP SWAP10 SWAP6 SWAP9 SWAP5 PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH1 0x60 SHL SUB PUSH1 0x60 SHL NOT SUB SWAP5 PUSH2 0x27C4 JUMP JUMPDEST SWAP3 POP DUP1 SWAP7 POP SWAP6 DUP2 SWAP3 PUSH2 0x24DF JUMP JUMPDEST SWAP7 SWAP8 POP DUP8 SWAP7 DUP10 SWAP5 POP PUSH2 0x24D7 JUMP JUMPDEST PUSH32 0x6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296 SWAP9 POP PUSH32 0x4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5 SWAP5 POP PUSH2 0x24CE JUMP JUMPDEST PUSH1 0x0 NOT ADD PUSH1 0x1 DUP7 DUP3 SHR AND PUSH1 0x2 DUP7 DUP4 SHR PUSH1 0x1 SHL AND ADD PUSH2 0x24B0 JUMP JUMPDEST SWAP5 SWAP6 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E03 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP2 SWAP7 DUP3 SUB SWAP1 ADDMOD SWAP5 DUP5 DUP7 ISZERO DUP1 PUSH2 0x2A4F JUMPI JUMPDEST ISZERO PUSH2 0x24A3 JUMPI SWAP9 POP POP POP POP POP POP POP POP POP SWAP1 JUMP JUMPDEST POP PUSH1 0x1 PUSH2 0x2A3D JUMP JUMPDEST POP DUP4 ISZERO PUSH2 0x249E JUMP JUMPDEST SWAP7 POP POP POP POP POP POP POP SWAP1 JUMP JUMPDEST POP DUP4 ISZERO PUSH2 0x2485 JUMP JUMPDEST SWAP2 SWAP1 PUSH32 0x6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296 PUSH32 0x4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5 SWAP2 DUP1 ISZERO PUSH2 0x2C26 JUMPI DUP5 PUSH2 0xBC6 SWAP5 SWAP6 DUP4 EQ DUP1 PUSH2 0x2C1D JUMPI JUMPDEST ISZERO PUSH2 0x2C08 JUMPI POP PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 POP DUP3 PUSH1 0x2 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 DUP1 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP5 DUP5 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP6 SWAP1 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 SWAP1 DUP2 PUSH1 0x1 DUP3 ADDMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH32 0xFFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFE SWAP1 ADDMOD MULMOD PUSH1 0x3 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP5 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP4 DUP1 MULMOD ADDMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT PUSH1 0x1 DUP7 MULMOD SWAP6 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH1 0x1 SWAP1 MULMOD SWAP5 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP4 DUP5 SWAP2 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 SUB SWAP3 SWAP1 SWAP2 DUP3 SWAP1 DUP7 DUP3 SUB SWAP1 ADDMOD SWAP1 MULMOD ADDMOD SWAP1 PUSH2 0x2D48 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 PUSH2 0x2C14 SWAP4 PUSH2 0x2C2C JUMP JUMPDEST SWAP3 SWAP1 SWAP2 SWAP1 PUSH2 0x2D48 JUMP JUMPDEST POP DUP2 DUP5 EQ PUSH2 0x2ACB JUMP JUMPDEST POP SWAP3 POP SWAP1 JUMP JUMPDEST SWAP2 SWAP4 SWAP1 DUP1 ISZERO PUSH2 0x2D3F JUMPI PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 SUB SWAP4 DUP5 SWAP1 DUP3 SWAP1 PUSH1 0x1 SWAP1 MULMOD ADDMOD SWAP4 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP4 DUP3 SUB SWAP1 DUP3 SWAP1 PUSH1 0x1 SWAP1 MULMOD ADDMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP5 DUP1 MULMOD SWAP4 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP6 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP6 SWAP1 MULMOD SWAP5 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP8 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP7 DUP2 SUB DUP2 DUP6 DUP1 MULMOD ADDMOD ADDMOD SWAP6 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP3 DUP4 SWAP1 DUP7 SWAP1 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SWAP1 DUP10 DUP3 SUB SWAP1 ADDMOD MULMOD ADDMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH1 0x1 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH1 0x1 MULMOD SWAP1 JUMP JUMPDEST POP PUSH1 0x1 SWAP2 POP DUP2 SWAP1 JUMP JUMPDEST SWAP2 SWAP1 SWAP3 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD MSTORE PUSH1 0x20 PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH1 0x60 SHL SUB PUSH1 0x60 SHL NOT PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0x20 DUP2 PUSH1 0xC0 DUP2 PUSH1 0x5 PUSH1 0x0 NOT STATICCALL ISZERO PUSH2 0x244 JUMPI MLOAD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP5 SWAP1 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 SWAP1 DUP3 SWAP1 DUP1 MULMOD SWAP1 MULMOD SWAP2 JUMP INVALID MOD 0x27 0xF7 0x2A CREATE 0xE6 DELEGATECALL SLT NOT JUMPDEST 0xD DUP11 0xCB 0xE4 CODESIZE 0xB2 DUP1 SWAP1 0xDD SLOAD JUMPDEST PUSH30 0x2331FCCF77723561F500FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAAD 0xA7 OR SWAP15 DUP5 RETURN 0xB9 0xCA 0xC2 0xFC PUSH4 0x25513608 SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBC0627F72AF0E6F412195B0D DUP11 0xCB 0xE4 CODESIZE 0xB2 DUP1 SWAP1 0xDD SLOAD JUMPDEST PUSH30 0x2331FCCF77723561F501A26469706673582212208CD714406382F3C7BA67 0xB9 0xE9 PUSH24 0x11D79104255FAC724C6724BE98E47E28A08F4464736F6C63 NUMBER STOP ADDMOD SHR STOP CALLER CODESIZE LT SWAP15 0xDC 0x26 0xE1 PUSH7 0xB5579352CE56A5 ADDMOD SGT OR PUSH31 0xB25208FD90D61F2F3783862202200000000000000000000000000000000000 ", - "sourceMap": "1195:13544:16:-:0;;;;;;1279:4:8;1255:31;;1195:13544:16;;;;;;;:::i;:::-;5064:1;1195:13544;;-1:-1:-1;;1195:13544:16;;-1:-1:-1;1195:13544:16;;;;;;;;;;-1:-1:-1;1195:13544:16;5088:22;;1195:13544;;5088:22;;;;;;:::i;:::-;5076:34;;;:::i;:::-;;;;;:::i;:::-;;11593:89:18;1195:13544:16;-1:-1:-1;9026:3:18;1195:13544:16;;9007:17:18;;;;;1195:13544:16;9049:9:18;;;;:::i;:::-;;1195:13544:16;9049:22:18;;:48;;;9026:3;9045:128;;1195:13544:16;9191:9:18;;;;:::i;:::-;;1195:13544:16;9191:22:18;:73;;;9026:3;9187:157;;9375:9;;;;:::i;:::-;;;9386:17;-1:-1:-1;;1195:13544:16;;;;5064:1;1195:13544;;;;;;:::i;:::-;;;9792:51:18;;1195:13544:16;;;:::i;:::-;;;-1:-1:-1;;1195:13544:16;5064:1;1195:13544;;;-1:-1:-1;1195:13544:16;;;9954:14:18;1195:13544:16;;;;;;;-1:-1:-1;;;;;1195:13544:16;;;;;;5064:1;1195:13544;;;;;;;;;9026:3:18;1195:13544:16;;;;;;;;;;;9026:3:18;1195:13544:16;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1195:13544:16;;9999:22:18;1195:13544:16;5064:1;1195:13544;;;-1:-1:-1;1195:13544:16;;;;-1:-1:-1;;;7148:33:18;1195:13544:16;;;;;;;;;;;;;;;9999:22:18;;;;;:::i;:::-;;;;1195:13544:16;8996:9:18;;1195:13544:16;;;;;;;;;;;;;;;;-1:-1:-1;1195:13544:16;;-1:-1:-1;1195:13544:16;;-1:-1:-1;1195:13544:16;;;;;;;;5064:1;1195:13544;;;;-1:-1:-1;;;;;;;;;;;1195:13544:16;;9999:22:18;1195:13544:16;;;;;;;;;;;;;;;;;;;;;;;;7148:33:18;1195:13544:16;;;;;;;;;;;;;;;5064:1;1195:13544;;;;;;;;;;;;;;;;;-1:-1:-1;1195:13544:16;;-1:-1:-1;1195:13544:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1195:13544:16;;5064:1;1195:13544;;;;;;-1:-1:-1;1195:13544:16;;;;;;;;-1:-1:-1;1195:13544:16;;;;;-1:-1:-1;1195:13544:16;;;;;;;;;;;;-1:-1:-1;1195:13544:16;;;;;-1:-1:-1;1195:13544:16;9792:51:18;1195:13544:16;;-1:-1:-1;;;9824:19:18;;1195:13544:16;;;9824:19:18;;;;;;:::i;:::-;;;;1195:13544:16;;;;-1:-1:-1;1195:13544:16;;;;;-1:-1:-1;1195:13544:16;9187:157:18;9319:9;;9291:38;9319:9;;;:::i;:::-;;1195:13544:16;;-1:-1:-1;;;9291:38:18;;1195:13544:16;;;9291:38:18;;;;:::i;9191:73::-;9233:9;;;;;:::i;:::-;;1195:13544:16;;;;;;;;;;;;9191:73:18;-1:-1:-1;;;;;;;9191:73:18;;1195:13544:16;;;;;;7148:33:18;1195:13544:16;;;;;;9045:128:18;9148:9;;9124:34;9148:9;;;:::i;:::-;;1195:13544:16;;-1:-1:-1;;;9124:34:18;;1195:13544:16;;;9124:34:18;;;;:::i;9049:48::-;9075:9;;;;;;:::i;:::-;;1195:13544:16;9075:22:18;;9049:48;;9007:17;;;11593:89;1195:13544:16;;;;;;;;1255:31:8;1195:13544:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1195:13544:16;;;;-1:-1:-1;;;;;1195:13544:16;;;;;;;;;;:::o;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;1195:13544:16;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;1195:13544:16;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;7148:33:18;1195:13544:16;;;;;;;:::o" + "object": "60a0604052346103de57306080526040805161001b82826103e3565b60018152601f19820160005b8181106103cd5750508151600060208201526020815261004783826103e3565b61005082610406565b5261005a81610406565b507f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f5005460005b825181101561038c5760206100958285610429565b5151141580610377575b6103505760206100af8285610429565b51511480610312575b6102eb576100c68184610429565b51918060001981146102d5576001019260ff6100e18261048c565b54166102b5576100f08161048c565b805460ff1916600117905560008281527f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f50260205286902081516001600160401b03811161029f578154600181811c91168015610295575b602082101461027f57601f8111610237575b506020601f82116001146101bc579260008051602061346683398151915292826101a89360019897966000916101b1575b50600019600383901b1c191690881b1790555b885191829182610460565b0390a201610080565b90508301513861018a565b601f1982169083600052806000209160005b81811061021f57508360019897969360008051602061346683398151915296936101a8968b9410610206575b5050811b01905561019d565b85015160001960f88460031b161c1916905538806101fa565b9192602060018192868a0151815501940192016101ce565b826000526020600020601f830160051c81019160208410610275575b601f0160051c01905b8181106102695750610159565b6000815560010161025c565b9091508190610253565b634e487b7160e01b600052602260045260246000fd5b90607f1690610147565b634e487b7160e01b600052604160045260246000fd5b855163468b12ad60e11b81529081906102d19060048301610460565b0390fd5b634e487b7160e01b600052601160045260246000fd5b836102f96102d19285610429565b51905163bff1ac6560e01b815291829160048301610460565b5061031d8184610429565b5160208151910151906020811061033e575b506001600160a01b03106100b8565b6000199060200360031b1b163861032f565b8361035e6102d19285610429565b5190516327755b9160e11b815291829160048301610460565b50836103838285610429565b5151141561009f565b83827f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f5005551612f9490816104d2823960805181818161076c015261085a0152f35b806060602080938601015201610027565b600080fd5b601f909101601f19168101906001600160401b0382119082101761029f57604052565b8051156104135760200190565b634e487b7160e01b600052603260045260246000fd5b80518210156104135760209160051b010190565b60005b8381106104505750506000910152565b8181015183820152602001610440565b60409160208252610480815180928160208601526020868601910161043d565b601f01601f1916010190565b60206104a591816040519382858094519384920161043d565b81017f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f5038152030190209056fe60806040526004361015610015575b3661165f57005b60003560e01c8063066a1eb7146101e55780630db02622146101e05780630f0f3f24146101db5780631626ba7e146101d657806317452caa146101d157806319822f7c146101cc5780631ca5393f146101c757806329565e3b146101c25780632c2abd1e146101bd57806334fcd5be146101b857806336d9cf9b146101b35780634f1ef286146101ae57806352d1902d146101a95780635c60da1b146101a45780636f2de70e1461019f578063737bebdd1461019a57806384b0196e1461019557806388ce4c7c1461019057806389625b571461018b5780638ea69029146101865780639f9bcb3414610181578063a05bd44e1461017c578063a2e1a8d814610177578063b0d691fe14610172578063b61d27f61461016d578063b819736714610168578063ce1506be14610163578063d948fd2e1461015e5763f698da250361000e57610e93565b610e68565b610e4a565b610e03565b610d97565b610d6c565b610d45565b610d0b565b610cd1565b610c9e565b610c5e565b610c0e565b610b6d565b610a67565b6108cc565b610896565b610846565b610731565b610706565b610673565b6105cb565b61052d565b6104f6565b6103a1565b610375565b610323565b61027d565b610249565b3461024457604036600319011261024457602060ff6102386004356102336024359161022560405193849288840160209093929193604081019481520152565b03601f19810183528261044f565b610ec5565b54166040519015158152f35b600080fd5b34610244576000366003190112610244576020610264610f4d565b604051908152f35b6001600160a01b0381160361024457565b34610244576020366003190112610244576102f460043561029d8161026c565b6102a5611697565b6040519060018060a01b03166020820152602081526102c560408261044f565b600080516020612edf83398151915254906102df82610f79565b600080516020612edf83398151915255611720565b005b9181601f84011215610244578235916001600160401b038311610244576020838186019501011161024457565b34610244576040366003190112610244576004356024356001600160401b0381116102445760209161035c6103629236906004016102f6565b91610f88565b6040516001600160e01b03199091168152f35b346102445760003660031901126102445760206040516107088152f35b90816101209103126102445790565b34610244576060366003190112610244576004356001600160401b038111610244576103d1903690600401610392565b6044356024356f71727de22e5e9d8baf0edac6f37da031193301610429576103fd829161041494611137565b91610418575b506040519081529081906020820190565b0390f35b60009081803892335af15038610403565b6282b42960e81b60005260046000fd5b634e487b7160e01b600052604160045260246000fd5b90601f801991011681019081106001600160401b0382111761047057604052565b610439565b6040519061048460c08361044f565b565b6001600160401b03811161047057601f01601f191660200190565b9291926104ad82610486565b916104bb604051938461044f565b829481845281830111610244578281602093846000960137010152565b9080601f83011215610244578160206104f3933591016104a1565b90565b34610244576020366003190112610244576004356001600160401b0381116102445760ff61023861023360209336906004016104d8565b34610244576040366003190112610244576102f46024356102c5600435610552611697565b6040805160208101929092528101929092528160608101610225565b906020600319830112610244576004356001600160401b0381116102445760040160009280601f830112156105c7578135936001600160401b0385116105c457506020808301928560051b010111610244579190565b80fd5b8380fd5b6105d43661056e565b906f71727de22e5e9d8baf0edac6f37da03233036104295760005b828110156102f45760006106088260051b840184610fb6565b6106128183610fe8565b61061b81611460565b156106575750829161062e9136916104a1565b60208151910182305af1610640611329565b901561064f57506001016105ef565b602081519101fd5b631d8370a360e11b84526001600160e01b031916600452602483fd5b61067c3661056e565b906f71727de22e5e9d8baf0edac6f37da03233036106f9575b60005b8281106106a157005b806106f36106b2600193868661127c565b356106bc8161026c565b60206106c984888861127c565b01356106ed6106e66106dc868a8a61127c565b6040810190610fb6565b36916104a1565b91611b43565b01610698565b610701611697565b610695565b34610244576000366003190112610244576020600080516020612f3f83398151915254604051908152f35b6040366003190112610244576004356107498161026c565b6024356001600160401b038111610244576107689036906004016102f6565b90917f0000000000000000000000000000000000000000000000000000000000000000301461083857610799611697565b60018060a01b03163d6000526352d1902d600152600080516020612f1f833981519152602060016004601d855afa510361082a57807fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28181600080516020612f1f8339815191525561080b57005b816000926040519485378338925af41561082157005b3d6000823e3d90fd5b6355299b496001526004601dfd5b639f03a0266000526004601cfd5b3461024457600036600319011261024457307f000000000000000000000000000000000000000000000000000000000000000003610838576020604051600080516020612f1f8339815191528152f35b3461024457600036600319011261024457600080516020612f1f833981519152546040516001600160a01b039091168152602090f35b6108d53661056e565b600080516020612edf8339815191525491826109fd576108f691369161103b565b9060005b82518110156109e757602061090f82856110fc565b51511415806109d1575b6109aa57602061092982856110fc565b51511480610988575b61095d5780610957610946600193866110fc565b519361095181610f79565b94611720565b016108fa565b61096a61098491846110fc565b5160405163bff1ac6560e01b815291829160048301610a56565b0390fd5b506001600160a01b036109a461099e83866110fc565b5161193a565b11610932565b6109b761098491846110fc565b516040516327755b9160e11b815291829160048301610a56565b5060406109de82856110fc565b51511415610919565b6102f482600080516020612edf83398151915255565b6302ed543d60e51b60005260046000fd5b60005b838110610a215750506000910152565b8181015183820152602001610a11565b90602091610a4a81518092818552858086019101610a0e565b601f01601f1916010190565b9060206104f3928181520190610a31565b34610244576020366003190112610244576004356001600160401b038111610244578060040160806003198336030112610244576044820135610aa9816112a8565b4211610b4657610ae0610acd610ac1610ae4936112e0565b60208151910120611dd4565b610ada6064860185610fb6565b91611a51565b1590565b610b3557600091610b03826024610afb869561129e565b930190610fb6565b90610b1360405180938193611306565b03915afa610b1f611329565b901561064f576104149060405191829182610a56565b638baa579f60e01b60005260046000fd5b610b52610b69916112a8565b630f88f04960e41b60005260045242602452604490565b6000fd5b3461024457600036600319011261024457610bad610bbb610b8c611b63565b604092919251938493600f60f81b855260e0602086015260e0850190610a31565b908382036040850152610a31565b466060830152306080830152600060a083015281810360c0830152602060605191828152019060809060005b818110610bf5575050500390f35b8251845285945060209384019390920191600101610be7565b346102445760003660031901126102445760206040516121058152f35b9060406003198301126102445760043591602435906001600160401b03821161024457610c5a916004016102f6565b9091565b3461024457610c6c36610c2b565b90610c75611697565b6001610c7f610f4d565b14610c8d576102f492611cbd565b63948bf89760e01b60005260046000fd5b3461024457602036600319011261024457610414610cbd600435611393565b604051918291602083526020830190610a31565b34610244576020366003190112610244576004356001600160e01b03198116810361024457610d01602091611460565b6040519015158152f35b34610244576020366003190112610244576004356001600160401b03811161024457610264610d406020923690600401610392565b6114e3565b34610244576020366003190112610244576020610d01600435610d678161026c565b6115d0565b346102445760003660031901126102445760206040516f71727de22e5e9d8baf0edac6f37da0328152f35b606036600319011261024457600435610daf8161026c565b604435906024356001600160401b038311610244576106ed610dd86102f49436906004016102f6565b6f71727de22e5e9d8baf0edac6f37da0323303610df65736916104a1565b610dfe611697565b6106e6565b3461024457610e1136610c2b565b90610e1a611697565b610e22610f4d565b9260018411610e35576102f49350611cbd565b83631047e35560e31b60005260045260246000fd5b34610244576020366003190112610244576020610264600435611dd4565b34610244576000366003190112610244576020600080516020612edf83398151915254604051908152f35b346102445760003660031901126102445760206102646115f6565b90610ec160209282815194859201610a0e565b0190565b6020610ede918160405193828580945193849201610a0e565b81017f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f50381520301902090565b634e487b7160e01b600052601160045260246000fd5b600080516020612eff8339815191520390600080516020612eff8339815191528211610f4857565b610f0a565b600080516020612edf83398151915254600080516020612f3f833981519152548103908111610f485790565b6000198114610f485760010190565b90610f96610f9b9392611dd4565b611a51565b610fab576001600160e01b031990565b630b135d3f60e11b90565b903590601e198136030182121561024457018035906001600160401b0382116102445760200191813603831361024457565b356001600160e01b0319811692919060048210611003575050565b6001600160e01b031960049290920360031b82901b16169150565b909291928360041161024457831161024457600401916003190190565b929190926001600160401b038411610470578360051b9060206040516110638285018261044f565b8096815201918101918383116102445781905b838210611084575050505050565b81356001600160401b038111610244576020916110a487849387016104d8565b815201910190611076565b602081830312610244578035906001600160401b03821161024457019080601f83011215610244578160206104f39335910161103b565b634e487b7160e01b600052603260045260246000fd5b80518210156111105760209160051b010190565b6110e6565b80516020909101516001600160e01b0319811692919060048210611003575050565b91602083013560401c9160608401906111508286610fb6565b6316155e8f60e11b916001600160e01b03199161116c91610fe8565b160361124f575061117c846114e3565b92612105810361123b575061119e6111976111a69286610fb6565b809161101e565b8101906110af565b9160005b8351811015611215576111bd81856110fc565b5163278f794360e11b6111df6111d283611115565b6001600160e01b03191690565b146111ee575b506001016111aa565b60240151803b6111e557630c76093760e01b6000526001600160a01b031660045260246000fd5b50909261122d9250610ada905b610100810190610fb6565b61123657600190565b600090565b632ef3781360e01b60005260045260246000fd5b929050612105819492941461123b575090610ada61122d92611222565b61127760ff91610ec5565b541690565b91908110156111105760051b81013590605e1981360301821215610244570190565b356104f38161026c565b906107088201809211610f4857565b9060158201809211610f4857565b9060028201809211610f4857565b91908201809211610f4857565b906040519163737bebdd60e01b602084015260248301526024825261048460448361044f565b908092918237016000815290565b6040519061132360208361044f565b60008252565b3d15611354573d9061133a82610486565b91611348604051938461044f565b82523d6000602084013e565b606090565b90600182811c92168015611389575b602083101461137357565b634e487b7160e01b600052602260045260246000fd5b91607f1691611368565b6000527f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f5026020526040600020604051908160008254926113d284611359565b808452936001811690811561143e57506001146113f7575b506104f39250038261044f565b90506000929192526020600020906000915b8183106114225750509060206104f392820101386113ea565b6020919350806001915483858801015201910190918392611409565b9050602092506104f394915060ff191682840152151560051b820101386113ea565b63ffffffff60e01b166329565e3b60e01b81149081156114d2575b81156114c1575b81156114b0575b811561149f575b5061149a57600090565b600190565b63278f794360e11b14905038611490565b63b819736760e01b81149150611489565b6389625b5760e01b81149150611482565b6303c3cfc960e21b8114915061147b565b60208101356115976114f86040840184610fb6565b908160405191823720916102256115126060860186610fb6565b90816040519182372060c086013560a0870135608088013561154061153a60e08b018b610fb6565b90612335565b604080519a356001600160a01b031660208c01908152908b019790975260608a0198909852608089019390935260a088019290925260c087019190915260e086015261010085019390935292918290610120820190565b51902060408051602081019283526f71727de22e5e9d8baf0edac6f37da032918101919091526115ca8160608101610225565b51902090565b61127760ff916040519060018060a01b031660208201526020815261023360408261044f565b6115fe611b63565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526115ca60c08261044f565b60003560e01c63bc197c81811463f23a6e6182141763150b7a0282141761168e57633c10b94e6000526004601cfd5b6020526020603cf35b6116a0336115d0565b80156116bb575b610484576282b42960e81b60005260046000fd5b503033146116a7565b8181106116cf575050565b600081556001016116c4565b9190601f81116116ea57505050565b610484926000526020600020906020601f840160051c83019310611716575b601f0160051c01906116c4565b9091508190611709565b6117298161126c565b6118975761173681610ec5565b600160ff19825416179055816000527f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f502602052604060002081516001600160401b038111610470576117928161178c8454611359565b846116db565b6020601f821160011461180657916117e7827f38109edc26e166b5579352ce56a50813177eb25208fd90d61f2f37838622022095936117f6956000916117fb575b508160011b916000199060031b1c19161790565b90555b60405191829182610a56565b0390a2565b9050840151386117d3565b601f1982169061181b84600052602060002090565b9160005b81811061187f5750926117f69492600192827f38109edc26e166b5579352ce56a50813177eb25208fd90d61f2f378386220220989610611866575b5050811b0190556117ea565b85015160001960f88460031b161c19169055388061185a565b9192602060018192868a01518155019401920161181f565b60405163468b12ad60e11b81529081906109849060048301610a56565b602081830312610244578035906001600160401b03821161024457016040818303126102445760405191604083018381106001600160401b038211176104705760405281356001600160401b03811161024457816119139184016104d8565b835260208201356001600160401b0381116102445761193292016104d8565b602082015290565b60208151910151906020811061194e575090565b6000199060200360031b1b1690565b9190826040910312610244576020825192015190565b81601f82011215610244576020815191019061198e81610486565b9261199c604051948561044f565b81845281830111610244576104f3916020840190610a0e565b602081830312610244578051906001600160401b03821161024457019060c082820312610244576119e4610475565b9180516001600160401b0381116102445782611a01918301611973565b835260208101516001600160401b0381116102445760a092611a24918301611973565b6020840152604081015160408401526060810151606084015260808101516080840152015160a082015290565b929190611a60918101906118b4565b90815191611a70610ae08461126c565b611b3a576020835114611af15782519360408514611aa3576040516327755b9160e11b8152806109848660048301610a56565b610225611aec611ad7611ac38760208080999b6104f39b0101910161195d565b9690950151602080825183010191016119b5565b92604051928391602083019190602083019252565b611fd6565b91929091906001600160a01b03611b078561193a565b11611b1f576020806104f39495015192015191611e49565b60405163bff1ac6560e01b8152806109848660048301610a56565b50915050600090565b916000928392602083519301915af1611b5a611329565b901561064f5750565b6040908151611b72838261044f565b601281527111da585b9bc814db585c9d0815d85b1b195d60721b602082015291611b9e8151918261044f565b60018152603160f81b602082015290565b908060209392818452848401376000828201840152601f01601f1916010190565b92916104f39492611bee928552606060208601526060850191611baf565b916040818403910152610a31565b60209082604051938492833781017f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f50381520301902090565b600281901b91906001600160fe1b03811603610f4857565b611c568154611359565b9081611c60575050565b81601f60009311600114611c72575055565b81835260208320611c8e91601f0160051c8101906001016116c4565b808252602082209081548360011b9084198560031b1c191617905555565b9160206104f3938181520191611baf565b9190611cc883611393565b805115611dbe5780516020820120611ce13685856104a1565b6020815191012003611d9f57509081611d28611d1e837fcf95bbfe6f870f8cc40482dc3dccdafd268f0e9ce0a4f24ea1bea9be64e505ff95611bfc565b805460ff19169055565b611d63611d5e856000527f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f502602052604060002090565b611c4c565b611d90611d7e600080516020612f3f83398151915254610f79565b600080516020612f3f83398151915255565b6117f660405192839283611cac565b60405163781f2e3960e01b815293849361098493909160048601611bd0565b63340c473d60e11b600052600484905260246000fd5b611ddc6115f6565b9060405160208101917f37f248f492286ab572e2a1ee0bd5315f2aae54a08b5871b294d657f3a1f1d0078352604082015260408152611e1c60608261044f565b51902060405190602082019261190160f01b845260228301526042820152604281526115ca60628261044f565b9091600091906001600160a01b03821615611f335760405192600484019460248501956044860192853b15611eb357509186939160209593630b135d3f60e11b8852526040845281518501809260045afa9360443d01915afa9151630b135d3f60e11b1491161690565b979650509050815180604014611f0e57604114611ed05750505050565b602092939550606082015160001a835260408201516060525b60005201516040526020600160806000825afa511860601b3d11916000606052604052565b506020929395506040820151601b8160ff1c01845260018060ff1b0316606052611ee9565b50505050600090565b906104846001602d60405180956c1131b430b63632b733b2911d1160991b6020830152611f728151809260208686019101610a0e565b8101601160f91b838201520301601e1981018552018361044f565b8051602010156111105760400190565b6040513d6000823e3d90fd5b6020929190611fbf849282815194859201610a0e565b019081520190565b90816020910312610244575190565b92919060009360a082019485517f7fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a8106121b35760208301917fff1a2a9176d650e4a99dedb58f1793003935130579fe17b5a3f698ac5b00e63461204884516060870151612042816112b7565b91612340565b60208151910120036121bc57612060612065916121c6565b611f3c565b61207a835160408601516120428451826112d3565b602081519101209060208151910120036121b357600160f81b600160f81b6120b36120a58651611f8d565b516001600160f81b03191690565b16036121b3576120d0602092600092505160405191828092610eae565b039060025afa156121ae576020600061210681516120fa8551610225604051938492888401611fa9565b60405191828092610eae565b039060025afa156121ae57608060005191019360008086518561215985516102258a60405194859360208501978c899192608093969594919660a084019784526020840152604083015260608201520152565b51906101005afa94612169611329565b805196806121a5575b61218557506104f395505190519161222d565b6001966121a19650810160209081019550019250611fc7915050565b1490565b50861515612172565b611f9d565b94505050505090565b5094505050505090565b6040516104f3916121d860608361044f565b604082527f4142434445464748494a4b4c4d4e4f505152535455565758595a61626364656660208301527f6768696a6b6c6d6e6f707172737475767778797a303132333435363738392d5f60408301526123ec565b93919092938315801561231d575b8015612315575b80156122fd575b6122f3576122578386612494565b156122f35760405191602083526020808401526020604084015260608301527fffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254f6080830152600080516020612eff83398151915260a083015260208260c0816005600019fa1561024457600080516020612eff833981519152946122ed93866122e794518181890994099161256f565b91610f20565b90081590565b5050505050600090565b50600080516020612eff833981519152821015612249565b508115612242565b50600080516020612eff83398151915284101561223b565b816040519182372090565b8051606094939290838111156123b2575b818111156123aa575b5082811061236757505050565b6040519450918290039101601f8201601f19165b8181015185820152601f1901908115612394579061237b565b5050604081840160006020820152016040528252565b90503861235a565b925082612351565b906123c482610486565b6123d1604051918261044f565b82815280926123e2601f1991610486565b0190602036910137565b9081511561248a579061241961241461240d6124088451611c34565b6112c5565b6003900490565b6123ba565b91602083019082805101906020820192835194600085525b83811061244057505050505290565b600360049101916001603f845182828260121c16880101518453828282600c1c16880101518385015382828260061c16880101516002850153168501015160038201530190612431565b50506104f3611314565b600160601b63ffffffff60c01b03198110801590612557575b8015612546575b61253f57600160601b63ffffffff60c01b0319907f5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b908290817fffffffff00000001000000000000000000000000fffffffffffffffffffffffc820990600160601b63ffffffff60c01b0319908181800909080890600160601b63ffffffff60c01b03199080091490565b5050600090565b50801580156124b4575081156124b4565b50600160601b63ffffffff60c01b03198210156124ad565b9092600092908360ff81841580612b66575b612b5b5761258f8887612b6e565b929091821580612b53575b612b18575b5085811c60028660fe1c16015b15612aff57600186821c16600286831c60011b160160018114612ab4575b60028114612aa7575b600314612a9a575b600198600019919091019694959489949392915b886000191161266d5750505050505050505060405191606083015260208252602080830152602060408301526002600160601b0363ffffffff60c01b03196080830152600163ffffffff60601b0360601b1960a083015260208260c0816005600019fa15610244579051600160601b63ffffffff60c01b0319910990565b909192939495969798600163ffffffff60601b0360601b198660020990600160601b63ffffffff60c01b0319828009600160601b63ffffffff60c01b031981830992600160601b63ffffffff60c01b03199082900991600160601b63ffffffff60c01b03199081908f8281830891600160601b63ffffffff60c01b031991820390080960030998600160601b63ffffffff60c01b03199083099c600160601b63ffffffff60c01b0319910991600160601b63ffffffff60c01b031980826002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b03198b80090898600160601b63ffffffff60c01b031991829081038b08900996600160601b63ffffffff60c01b03199088908290840908968b60028c60018d841c16921c60011b16018015612a7d5760018114612a32575b60028114612a27575b600314612a1e575b8215612a0b57600160601b63ffffffff60c01b031990889082908f90090890600160601b63ffffffff60c01b031990898203908290859009089781156128d1575b600160601b63ffffffff60c01b031989800998600160601b63ffffffff60c01b0319908a0992600160601b63ffffffff60c01b0319908a90099c600160601b63ffffffff60c01b03199084900998600160601b63ffffffff60c01b03199109600160601b63ffffffff60c01b031980826002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b031985810381868009080897600160601b63ffffffff60c01b03199384910991600160601b63ffffffff60c01b03199182908a82039008090894985b6000190197969594939291906125ef565b886127f4579a91975090959050600160601b63ffffffff60c01b0319816002600160601b0363ffffffff60c01b0319099a600160601b63ffffffff60c01b03198c8009600160601b63ffffffff60c01b0319818d099c600160601b63ffffffff60c01b0319908290099b600160601b63ffffffff60c01b031990818b8103820890600160601b63ffffffff60c01b0319908c900809600160601b63ffffffff60c01b03199060030991600160601b63ffffffff60c01b0319908d0998600160601b63ffffffff60c01b031991099b600160601b63ffffffff60c01b031980826002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b0319848009089b600160601b63ffffffff60c01b03199384910991600160601b63ffffffff60c01b03199182908e82039008900908946128c0565b60019c50909a8c985090965090506128c0565b505083856127b3565b8592508491506127ab565b7f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29692507f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f591506127a2565b50505099959894600163ffffffff60601b0360601b1903946128c0565b92508096509581926125db565b96975087968994506125d3565b7f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29698507f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f594506125ca565b60001901600186821c16600286831c60011b16016125ac565b9495600080516020612eff8339815191529196820390089484861580612b4b575b1561259f579850505050505050505090565b506001612b39565b50831561259a565b965050505050505090565b508315612581565b91907f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2967f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5918015612d225784610c5a9495831480612d19575b15612d045750600160601b63ffffffff60c01b0319905082600209600160601b63ffffffff60c01b031981800992600160601b63ffffffff60c01b031984840991600160601b63ffffffff60c01b03199085900992600160601b63ffffffff60c01b0319908190816001820890600160601b63ffffffff60c01b0319907fffffffff00000001000000000000000000000000fffffffffffffffffffffffe900809600309600160601b63ffffffff60c01b031980846002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b03198380090892600160601b63ffffffff60c01b03196001860995600160601b63ffffffff60c01b0319906001900994600160601b63ffffffff60c01b031993849109600160601b63ffffffff60c01b03199081039290918290868203900890090890612e44565b909192612d1093612d28565b92909190612e44565b50818414612bc7565b50925090565b9193908015612e3b57600160601b63ffffffff60c01b03199081039384908290600190090893600160601b63ffffffff60c01b031990838203908290600190090892600160601b63ffffffff60c01b031984800993600160601b63ffffffff60c01b031990850992600160601b63ffffffff60c01b03199085900994600160601b63ffffffff60c01b031980876002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b031986810381858009080895600160601b63ffffffff60c01b031992839086900991600160601b63ffffffff60c01b03199182908982039008090892600160601b63ffffffff60c01b03199060010991600160601b63ffffffff60c01b03199060010990565b50600191508190565b91909260405190602082526020808301526020604083015260608201526002600160601b0363ffffffff60c01b03196080820152600163ffffffff60601b0360601b1960a082015260208160c0816005600019fa15610244575192600160601b63ffffffff60c01b03199084900992600160601b63ffffffff60c01b03199109600160601b63ffffffff60c01b031991908290800990099156fe0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f500ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f501a2646970667358221220890c9d20b5fc4df99bded2544912158a1d933f168e2e843d0c1a15a2ff32ce8c64736f6c634300081c003338109edc26e166b5579352ce56a50813177eb25208fd90d61f2f378386220220", + "opcodes": "PUSH1 0xA0 PUSH1 0x40 MSTORE CALLVALUE PUSH2 0x3DE JUMPI ADDRESS PUSH1 0x80 MSTORE PUSH1 0x40 DUP1 MLOAD PUSH2 0x1B DUP3 DUP3 PUSH2 0x3E3 JUMP JUMPDEST PUSH1 0x1 DUP2 MSTORE PUSH1 0x1F NOT DUP3 ADD PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH2 0x3CD JUMPI POP POP DUP2 MLOAD PUSH1 0x0 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x20 DUP2 MSTORE PUSH2 0x47 DUP4 DUP3 PUSH2 0x3E3 JUMP JUMPDEST PUSH2 0x50 DUP3 PUSH2 0x406 JUMP JUMPDEST MSTORE PUSH2 0x5A DUP2 PUSH2 0x406 JUMP JUMPDEST POP PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F500 SLOAD PUSH1 0x0 JUMPDEST DUP3 MLOAD DUP2 LT ISZERO PUSH2 0x38C JUMPI PUSH1 0x20 PUSH2 0x95 DUP3 DUP6 PUSH2 0x429 JUMP JUMPDEST MLOAD MLOAD EQ ISZERO DUP1 PUSH2 0x377 JUMPI JUMPDEST PUSH2 0x350 JUMPI PUSH1 0x20 PUSH2 0xAF DUP3 DUP6 PUSH2 0x429 JUMP JUMPDEST MLOAD MLOAD EQ DUP1 PUSH2 0x312 JUMPI JUMPDEST PUSH2 0x2EB JUMPI PUSH2 0xC6 DUP2 DUP5 PUSH2 0x429 JUMP JUMPDEST MLOAD SWAP2 DUP1 PUSH1 0x0 NOT DUP2 EQ PUSH2 0x2D5 JUMPI PUSH1 0x1 ADD SWAP3 PUSH1 0xFF PUSH2 0xE1 DUP3 PUSH2 0x48C JUMP JUMPDEST SLOAD AND PUSH2 0x2B5 JUMPI PUSH2 0xF0 DUP2 PUSH2 0x48C JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH1 0x0 DUP3 DUP2 MSTORE PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F502 PUSH1 0x20 MSTORE DUP7 SWAP1 KECCAK256 DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x29F JUMPI DUP2 SLOAD PUSH1 0x1 DUP2 DUP2 SHR SWAP2 AND DUP1 ISZERO PUSH2 0x295 JUMPI JUMPDEST PUSH1 0x20 DUP3 LT EQ PUSH2 0x27F JUMPI PUSH1 0x1F DUP2 GT PUSH2 0x237 JUMPI JUMPDEST POP PUSH1 0x20 PUSH1 0x1F DUP3 GT PUSH1 0x1 EQ PUSH2 0x1BC JUMPI SWAP3 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x3466 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP3 DUP3 PUSH2 0x1A8 SWAP4 PUSH1 0x1 SWAP9 SWAP8 SWAP7 PUSH1 0x0 SWAP2 PUSH2 0x1B1 JUMPI JUMPDEST POP PUSH1 0x0 NOT PUSH1 0x3 DUP4 SWAP1 SHL SHR NOT AND SWAP1 DUP9 SHL OR SWAP1 SSTORE JUMPDEST DUP9 MLOAD SWAP2 DUP3 SWAP2 DUP3 PUSH2 0x460 JUMP JUMPDEST SUB SWAP1 LOG2 ADD PUSH2 0x80 JUMP JUMPDEST SWAP1 POP DUP4 ADD MLOAD CODESIZE PUSH2 0x18A JUMP JUMPDEST PUSH1 0x1F NOT DUP3 AND SWAP1 DUP4 PUSH1 0x0 MSTORE DUP1 PUSH1 0x0 KECCAK256 SWAP2 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH2 0x21F JUMPI POP DUP4 PUSH1 0x1 SWAP9 SWAP8 SWAP7 SWAP4 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x3466 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP7 SWAP4 PUSH2 0x1A8 SWAP7 DUP12 SWAP5 LT PUSH2 0x206 JUMPI JUMPDEST POP POP DUP2 SHL ADD SWAP1 SSTORE PUSH2 0x19D JUMP JUMPDEST DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 PUSH2 0x1FA JUMP JUMPDEST SWAP2 SWAP3 PUSH1 0x20 PUSH1 0x1 DUP2 SWAP3 DUP7 DUP11 ADD MLOAD DUP2 SSTORE ADD SWAP5 ADD SWAP3 ADD PUSH2 0x1CE JUMP JUMPDEST DUP3 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 PUSH1 0x1F DUP4 ADD PUSH1 0x5 SHR DUP2 ADD SWAP2 PUSH1 0x20 DUP5 LT PUSH2 0x275 JUMPI JUMPDEST PUSH1 0x1F ADD PUSH1 0x5 SHR ADD SWAP1 JUMPDEST DUP2 DUP2 LT PUSH2 0x269 JUMPI POP PUSH2 0x159 JUMP JUMPDEST PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x25C JUMP JUMPDEST SWAP1 SWAP2 POP DUP2 SWAP1 PUSH2 0x253 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x7F AND SWAP1 PUSH2 0x147 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP6 MLOAD PUSH4 0x468B12AD PUSH1 0xE1 SHL DUP2 MSTORE SWAP1 DUP2 SWAP1 PUSH2 0x2D1 SWAP1 PUSH1 0x4 DUP4 ADD PUSH2 0x460 JUMP JUMPDEST SUB SWAP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP4 PUSH2 0x2F9 PUSH2 0x2D1 SWAP3 DUP6 PUSH2 0x429 JUMP JUMPDEST MLOAD SWAP1 MLOAD PUSH4 0xBFF1AC65 PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 DUP3 SWAP2 PUSH1 0x4 DUP4 ADD PUSH2 0x460 JUMP JUMPDEST POP PUSH2 0x31D DUP2 DUP5 PUSH2 0x429 JUMP JUMPDEST MLOAD PUSH1 0x20 DUP2 MLOAD SWAP2 ADD MLOAD SWAP1 PUSH1 0x20 DUP2 LT PUSH2 0x33E JUMPI JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB LT PUSH2 0xB8 JUMP JUMPDEST PUSH1 0x0 NOT SWAP1 PUSH1 0x20 SUB PUSH1 0x3 SHL SHL AND CODESIZE PUSH2 0x32F JUMP JUMPDEST DUP4 PUSH2 0x35E PUSH2 0x2D1 SWAP3 DUP6 PUSH2 0x429 JUMP JUMPDEST MLOAD SWAP1 MLOAD PUSH4 0x27755B91 PUSH1 0xE1 SHL DUP2 MSTORE SWAP2 DUP3 SWAP2 PUSH1 0x4 DUP4 ADD PUSH2 0x460 JUMP JUMPDEST POP DUP4 PUSH2 0x383 DUP3 DUP6 PUSH2 0x429 JUMP JUMPDEST MLOAD MLOAD EQ ISZERO PUSH2 0x9F JUMP JUMPDEST DUP4 DUP3 PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F500 SSTORE MLOAD PUSH2 0x2F94 SWAP1 DUP2 PUSH2 0x4D2 DUP3 CODECOPY PUSH1 0x80 MLOAD DUP2 DUP2 DUP2 PUSH2 0x76C ADD MSTORE PUSH2 0x85A ADD MSTORE RETURN JUMPDEST DUP1 PUSH1 0x60 PUSH1 0x20 DUP1 SWAP4 DUP7 ADD ADD MSTORE ADD PUSH2 0x27 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1F SWAP1 SWAP2 ADD PUSH1 0x1F NOT AND DUP2 ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT SWAP1 DUP3 LT OR PUSH2 0x29F JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x413 JUMPI PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 MLOAD DUP3 LT ISZERO PUSH2 0x413 JUMPI PUSH1 0x20 SWAP2 PUSH1 0x5 SHL ADD ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0x450 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x440 JUMP JUMPDEST PUSH1 0x40 SWAP2 PUSH1 0x20 DUP3 MSTORE PUSH2 0x480 DUP2 MLOAD DUP1 SWAP3 DUP2 PUSH1 0x20 DUP7 ADD MSTORE PUSH1 0x20 DUP7 DUP7 ADD SWAP2 ADD PUSH2 0x43D JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND ADD ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 PUSH2 0x4A5 SWAP2 DUP2 PUSH1 0x40 MLOAD SWAP4 DUP3 DUP6 DUP1 SWAP5 MLOAD SWAP4 DUP5 SWAP3 ADD PUSH2 0x43D JUMP JUMPDEST DUP2 ADD PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F503 DUP2 MSTORE SUB ADD SWAP1 KECCAK256 SWAP1 JUMP INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x15 JUMPI JUMPDEST CALLDATASIZE PUSH2 0x165F JUMPI STOP JUMPDEST PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x66A1EB7 EQ PUSH2 0x1E5 JUMPI DUP1 PUSH4 0xDB02622 EQ PUSH2 0x1E0 JUMPI DUP1 PUSH4 0xF0F3F24 EQ PUSH2 0x1DB JUMPI DUP1 PUSH4 0x1626BA7E EQ PUSH2 0x1D6 JUMPI DUP1 PUSH4 0x17452CAA EQ PUSH2 0x1D1 JUMPI DUP1 PUSH4 0x19822F7C EQ PUSH2 0x1CC JUMPI DUP1 PUSH4 0x1CA5393F EQ PUSH2 0x1C7 JUMPI DUP1 PUSH4 0x29565E3B EQ PUSH2 0x1C2 JUMPI DUP1 PUSH4 0x2C2ABD1E EQ PUSH2 0x1BD JUMPI DUP1 PUSH4 0x34FCD5BE EQ PUSH2 0x1B8 JUMPI DUP1 PUSH4 0x36D9CF9B EQ PUSH2 0x1B3 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x1AE JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x1A9 JUMPI DUP1 PUSH4 0x5C60DA1B EQ PUSH2 0x1A4 JUMPI DUP1 PUSH4 0x6F2DE70E EQ PUSH2 0x19F JUMPI DUP1 PUSH4 0x737BEBDD EQ PUSH2 0x19A JUMPI DUP1 PUSH4 0x84B0196E EQ PUSH2 0x195 JUMPI DUP1 PUSH4 0x88CE4C7C EQ PUSH2 0x190 JUMPI DUP1 PUSH4 0x89625B57 EQ PUSH2 0x18B JUMPI DUP1 PUSH4 0x8EA69029 EQ PUSH2 0x186 JUMPI DUP1 PUSH4 0x9F9BCB34 EQ PUSH2 0x181 JUMPI DUP1 PUSH4 0xA05BD44E EQ PUSH2 0x17C JUMPI DUP1 PUSH4 0xA2E1A8D8 EQ PUSH2 0x177 JUMPI DUP1 PUSH4 0xB0D691FE EQ PUSH2 0x172 JUMPI DUP1 PUSH4 0xB61D27F6 EQ PUSH2 0x16D JUMPI DUP1 PUSH4 0xB8197367 EQ PUSH2 0x168 JUMPI DUP1 PUSH4 0xCE1506BE EQ PUSH2 0x163 JUMPI DUP1 PUSH4 0xD948FD2E EQ PUSH2 0x15E JUMPI PUSH4 0xF698DA25 SUB PUSH2 0xE JUMPI PUSH2 0xE93 JUMP JUMPDEST PUSH2 0xE68 JUMP JUMPDEST PUSH2 0xE4A JUMP JUMPDEST PUSH2 0xE03 JUMP JUMPDEST PUSH2 0xD97 JUMP JUMPDEST PUSH2 0xD6C JUMP JUMPDEST PUSH2 0xD45 JUMP JUMPDEST PUSH2 0xD0B JUMP JUMPDEST PUSH2 0xCD1 JUMP JUMPDEST PUSH2 0xC9E JUMP JUMPDEST PUSH2 0xC5E JUMP JUMPDEST PUSH2 0xC0E JUMP JUMPDEST PUSH2 0xB6D JUMP JUMPDEST PUSH2 0xA67 JUMP JUMPDEST PUSH2 0x8CC JUMP JUMPDEST PUSH2 0x896 JUMP JUMPDEST PUSH2 0x846 JUMP JUMPDEST PUSH2 0x731 JUMP JUMPDEST PUSH2 0x706 JUMP JUMPDEST PUSH2 0x673 JUMP JUMPDEST PUSH2 0x5CB JUMP JUMPDEST PUSH2 0x52D JUMP JUMPDEST PUSH2 0x4F6 JUMP JUMPDEST PUSH2 0x3A1 JUMP JUMPDEST PUSH2 0x375 JUMP JUMPDEST PUSH2 0x323 JUMP JUMPDEST PUSH2 0x27D JUMP JUMPDEST PUSH2 0x249 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH1 0xFF PUSH2 0x238 PUSH1 0x4 CALLDATALOAD PUSH2 0x233 PUSH1 0x24 CALLDATALOAD SWAP2 PUSH2 0x225 PUSH1 0x40 MLOAD SWAP4 DUP5 SWAP3 DUP9 DUP5 ADD PUSH1 0x20 SWAP1 SWAP4 SWAP3 SWAP2 SWAP4 PUSH1 0x40 DUP2 ADD SWAP5 DUP2 MSTORE ADD MSTORE JUMP JUMPDEST SUB PUSH1 0x1F NOT DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x44F JUMP JUMPDEST PUSH2 0xEC5 JUMP JUMPDEST SLOAD AND PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH2 0x264 PUSH2 0xF4D JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND SUB PUSH2 0x244 JUMPI JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH2 0x2F4 PUSH1 0x4 CALLDATALOAD PUSH2 0x29D DUP2 PUSH2 0x26C JUMP JUMPDEST PUSH2 0x2A5 PUSH2 0x1697 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x20 DUP2 MSTORE PUSH2 0x2C5 PUSH1 0x40 DUP3 PUSH2 0x44F JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2EDF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD SWAP1 PUSH2 0x2DF DUP3 PUSH2 0xF79 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2EDF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SSTORE PUSH2 0x1720 JUMP JUMPDEST STOP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0x244 JUMPI DUP3 CALLDATALOAD SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 GT PUSH2 0x244 JUMPI PUSH1 0x20 DUP4 DUP2 DUP7 ADD SWAP6 ADD ADD GT PUSH2 0x244 JUMPI JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x24 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH1 0x20 SWAP2 PUSH2 0x35C PUSH2 0x362 SWAP3 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x2F6 JUMP JUMPDEST SWAP2 PUSH2 0xF88 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP2 AND DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH2 0x708 DUP2 MSTORE RETURN JUMPDEST SWAP1 DUP2 PUSH2 0x120 SWAP2 SUB SLT PUSH2 0x244 JUMPI SWAP1 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x60 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH2 0x3D1 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x392 JUMP JUMPDEST PUSH1 0x44 CALLDATALOAD PUSH1 0x24 CALLDATALOAD PUSH16 0x71727DE22E5E9D8BAF0EDAC6F37DA031 NOT CALLER ADD PUSH2 0x429 JUMPI PUSH2 0x3FD DUP3 SWAP2 PUSH2 0x414 SWAP5 PUSH2 0x1137 JUMP JUMPDEST SWAP2 PUSH2 0x418 JUMPI JUMPDEST POP PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE SWAP1 DUP2 SWAP1 PUSH1 0x20 DUP3 ADD SWAP1 JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 SWAP1 DUP2 DUP1 CODESIZE SWAP3 CALLER GAS CALL POP CODESIZE PUSH2 0x403 JUMP JUMPDEST PUSH3 0x82B429 PUSH1 0xE8 SHL PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x1F DUP1 NOT SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT OR PUSH2 0x470 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH2 0x439 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x484 PUSH1 0xC0 DUP4 PUSH2 0x44F JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x470 JUMPI PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP3 SWAP2 SWAP3 PUSH2 0x4AD DUP3 PUSH2 0x486 JUMP JUMPDEST SWAP2 PUSH2 0x4BB PUSH1 0x40 MLOAD SWAP4 DUP5 PUSH2 0x44F JUMP JUMPDEST DUP3 SWAP5 DUP2 DUP5 MSTORE DUP2 DUP4 ADD GT PUSH2 0x244 JUMPI DUP3 DUP2 PUSH1 0x20 SWAP4 DUP5 PUSH1 0x0 SWAP7 ADD CALLDATACOPY ADD ADD MSTORE JUMP JUMPDEST SWAP1 DUP1 PUSH1 0x1F DUP4 ADD SLT ISZERO PUSH2 0x244 JUMPI DUP2 PUSH1 0x20 PUSH2 0x4F3 SWAP4 CALLDATALOAD SWAP2 ADD PUSH2 0x4A1 JUMP JUMPDEST SWAP1 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH1 0xFF PUSH2 0x238 PUSH2 0x233 PUSH1 0x20 SWAP4 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x4D8 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH2 0x2F4 PUSH1 0x24 CALLDATALOAD PUSH2 0x2C5 PUSH1 0x4 CALLDATALOAD PUSH2 0x552 PUSH2 0x1697 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE DUP2 PUSH1 0x60 DUP2 ADD PUSH2 0x225 JUMP JUMPDEST SWAP1 PUSH1 0x20 PUSH1 0x3 NOT DUP4 ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH1 0x4 ADD PUSH1 0x0 SWAP3 DUP1 PUSH1 0x1F DUP4 ADD SLT ISZERO PUSH2 0x5C7 JUMPI DUP2 CALLDATALOAD SWAP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP6 GT PUSH2 0x5C4 JUMPI POP PUSH1 0x20 DUP1 DUP4 ADD SWAP3 DUP6 PUSH1 0x5 SHL ADD ADD GT PUSH2 0x244 JUMPI SWAP2 SWAP1 JUMP JUMPDEST DUP1 REVERT JUMPDEST DUP4 DUP1 REVERT JUMPDEST PUSH2 0x5D4 CALLDATASIZE PUSH2 0x56E JUMP JUMPDEST SWAP1 PUSH16 0x71727DE22E5E9D8BAF0EDAC6F37DA032 CALLER SUB PUSH2 0x429 JUMPI PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x2F4 JUMPI PUSH1 0x0 PUSH2 0x608 DUP3 PUSH1 0x5 SHL DUP5 ADD DUP5 PUSH2 0xFB6 JUMP JUMPDEST PUSH2 0x612 DUP2 DUP4 PUSH2 0xFE8 JUMP JUMPDEST PUSH2 0x61B DUP2 PUSH2 0x1460 JUMP JUMPDEST ISZERO PUSH2 0x657 JUMPI POP DUP3 SWAP2 PUSH2 0x62E SWAP2 CALLDATASIZE SWAP2 PUSH2 0x4A1 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD DUP3 ADDRESS GAS CALL PUSH2 0x640 PUSH2 0x1329 JUMP JUMPDEST SWAP1 ISZERO PUSH2 0x64F JUMPI POP PUSH1 0x1 ADD PUSH2 0x5EF JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD REVERT JUMPDEST PUSH4 0x1D8370A3 PUSH1 0xE1 SHL DUP5 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH1 0x4 MSTORE PUSH1 0x24 DUP4 REVERT JUMPDEST PUSH2 0x67C CALLDATASIZE PUSH2 0x56E JUMP JUMPDEST SWAP1 PUSH16 0x71727DE22E5E9D8BAF0EDAC6F37DA032 CALLER SUB PUSH2 0x6F9 JUMPI JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT PUSH2 0x6A1 JUMPI STOP JUMPDEST DUP1 PUSH2 0x6F3 PUSH2 0x6B2 PUSH1 0x1 SWAP4 DUP7 DUP7 PUSH2 0x127C JUMP JUMPDEST CALLDATALOAD PUSH2 0x6BC DUP2 PUSH2 0x26C JUMP JUMPDEST PUSH1 0x20 PUSH2 0x6C9 DUP5 DUP9 DUP9 PUSH2 0x127C JUMP JUMPDEST ADD CALLDATALOAD PUSH2 0x6ED PUSH2 0x6E6 PUSH2 0x6DC DUP7 DUP11 DUP11 PUSH2 0x127C JUMP JUMPDEST PUSH1 0x40 DUP2 ADD SWAP1 PUSH2 0xFB6 JUMP JUMPDEST CALLDATASIZE SWAP2 PUSH2 0x4A1 JUMP JUMPDEST SWAP2 PUSH2 0x1B43 JUMP JUMPDEST ADD PUSH2 0x698 JUMP JUMPDEST PUSH2 0x701 PUSH2 0x1697 JUMP JUMPDEST PUSH2 0x695 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2F3F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0x749 DUP2 PUSH2 0x26C JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH2 0x768 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x2F6 JUMP JUMPDEST SWAP1 SWAP2 PUSH32 0x0 ADDRESS EQ PUSH2 0x838 JUMPI PUSH2 0x799 PUSH2 0x1697 JUMP JUMPDEST PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB AND RETURNDATASIZE PUSH1 0x0 MSTORE PUSH4 0x52D1902D PUSH1 0x1 MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2F1F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x20 PUSH1 0x1 PUSH1 0x4 PUSH1 0x1D DUP6 GAS STATICCALL MLOAD SUB PUSH2 0x82A JUMPI DUP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B PUSH1 0x0 DUP1 LOG2 DUP2 DUP2 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2F1F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SSTORE PUSH2 0x80B JUMPI STOP JUMPDEST DUP2 PUSH1 0x0 SWAP3 PUSH1 0x40 MLOAD SWAP5 DUP6 CALLDATACOPY DUP4 CODESIZE SWAP3 GAS DELEGATECALL ISZERO PUSH2 0x821 JUMPI STOP JUMPDEST RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH4 0x55299B49 PUSH1 0x1 MSTORE PUSH1 0x4 PUSH1 0x1D REVERT JUMPDEST PUSH4 0x9F03A026 PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x1C REVERT JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI ADDRESS PUSH32 0x0 SUB PUSH2 0x838 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2F1F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2F1F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 SWAP1 RETURN JUMPDEST PUSH2 0x8D5 CALLDATASIZE PUSH2 0x56E JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2EDF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD SWAP2 DUP3 PUSH2 0x9FD JUMPI PUSH2 0x8F6 SWAP2 CALLDATASIZE SWAP2 PUSH2 0x103B JUMP JUMPDEST SWAP1 PUSH1 0x0 JUMPDEST DUP3 MLOAD DUP2 LT ISZERO PUSH2 0x9E7 JUMPI PUSH1 0x20 PUSH2 0x90F DUP3 DUP6 PUSH2 0x10FC JUMP JUMPDEST MLOAD MLOAD EQ ISZERO DUP1 PUSH2 0x9D1 JUMPI JUMPDEST PUSH2 0x9AA JUMPI PUSH1 0x20 PUSH2 0x929 DUP3 DUP6 PUSH2 0x10FC JUMP JUMPDEST MLOAD MLOAD EQ DUP1 PUSH2 0x988 JUMPI JUMPDEST PUSH2 0x95D JUMPI DUP1 PUSH2 0x957 PUSH2 0x946 PUSH1 0x1 SWAP4 DUP7 PUSH2 0x10FC JUMP JUMPDEST MLOAD SWAP4 PUSH2 0x951 DUP2 PUSH2 0xF79 JUMP JUMPDEST SWAP5 PUSH2 0x1720 JUMP JUMPDEST ADD PUSH2 0x8FA JUMP JUMPDEST PUSH2 0x96A PUSH2 0x984 SWAP2 DUP5 PUSH2 0x10FC JUMP JUMPDEST MLOAD PUSH1 0x40 MLOAD PUSH4 0xBFF1AC65 PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 DUP3 SWAP2 PUSH1 0x4 DUP4 ADD PUSH2 0xA56 JUMP JUMPDEST SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH2 0x9A4 PUSH2 0x99E DUP4 DUP7 PUSH2 0x10FC JUMP JUMPDEST MLOAD PUSH2 0x193A JUMP JUMPDEST GT PUSH2 0x932 JUMP JUMPDEST PUSH2 0x9B7 PUSH2 0x984 SWAP2 DUP5 PUSH2 0x10FC JUMP JUMPDEST MLOAD PUSH1 0x40 MLOAD PUSH4 0x27755B91 PUSH1 0xE1 SHL DUP2 MSTORE SWAP2 DUP3 SWAP2 PUSH1 0x4 DUP4 ADD PUSH2 0xA56 JUMP JUMPDEST POP PUSH1 0x40 PUSH2 0x9DE DUP3 DUP6 PUSH2 0x10FC JUMP JUMPDEST MLOAD MLOAD EQ ISZERO PUSH2 0x919 JUMP JUMPDEST PUSH2 0x2F4 DUP3 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2EDF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SSTORE JUMP JUMPDEST PUSH4 0x2ED543D PUSH1 0xE5 SHL PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0xA21 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0xA11 JUMP JUMPDEST SWAP1 PUSH1 0x20 SWAP2 PUSH2 0xA4A DUP2 MLOAD DUP1 SWAP3 DUP2 DUP6 MSTORE DUP6 DUP1 DUP7 ADD SWAP2 ADD PUSH2 0xA0E JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND ADD ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x20 PUSH2 0x4F3 SWAP3 DUP2 DUP2 MSTORE ADD SWAP1 PUSH2 0xA31 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI DUP1 PUSH1 0x4 ADD PUSH1 0x80 PUSH1 0x3 NOT DUP4 CALLDATASIZE SUB ADD SLT PUSH2 0x244 JUMPI PUSH1 0x44 DUP3 ADD CALLDATALOAD PUSH2 0xAA9 DUP2 PUSH2 0x12A8 JUMP JUMPDEST TIMESTAMP GT PUSH2 0xB46 JUMPI PUSH2 0xAE0 PUSH2 0xACD PUSH2 0xAC1 PUSH2 0xAE4 SWAP4 PUSH2 0x12E0 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 PUSH2 0x1DD4 JUMP JUMPDEST PUSH2 0xADA PUSH1 0x64 DUP7 ADD DUP6 PUSH2 0xFB6 JUMP JUMPDEST SWAP2 PUSH2 0x1A51 JUMP JUMPDEST ISZERO SWAP1 JUMP JUMPDEST PUSH2 0xB35 JUMPI PUSH1 0x0 SWAP2 PUSH2 0xB03 DUP3 PUSH1 0x24 PUSH2 0xAFB DUP7 SWAP6 PUSH2 0x129E JUMP JUMPDEST SWAP4 ADD SWAP1 PUSH2 0xFB6 JUMP JUMPDEST SWAP1 PUSH2 0xB13 PUSH1 0x40 MLOAD DUP1 SWAP4 DUP2 SWAP4 PUSH2 0x1306 JUMP JUMPDEST SUB SWAP2 GAS STATICCALL PUSH2 0xB1F PUSH2 0x1329 JUMP JUMPDEST SWAP1 ISZERO PUSH2 0x64F JUMPI PUSH2 0x414 SWAP1 PUSH1 0x40 MLOAD SWAP2 DUP3 SWAP2 DUP3 PUSH2 0xA56 JUMP JUMPDEST PUSH4 0x8BAA579F PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x0 REVERT JUMPDEST PUSH2 0xB52 PUSH2 0xB69 SWAP2 PUSH2 0x12A8 JUMP JUMPDEST PUSH4 0xF88F049 PUSH1 0xE4 SHL PUSH1 0x0 MSTORE PUSH1 0x4 MSTORE TIMESTAMP PUSH1 0x24 MSTORE PUSH1 0x44 SWAP1 JUMP JUMPDEST PUSH1 0x0 REVERT JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH2 0xBAD PUSH2 0xBBB PUSH2 0xB8C PUSH2 0x1B63 JUMP JUMPDEST PUSH1 0x40 SWAP3 SWAP2 SWAP3 MLOAD SWAP4 DUP5 SWAP4 PUSH1 0xF PUSH1 0xF8 SHL DUP6 MSTORE PUSH1 0xE0 PUSH1 0x20 DUP7 ADD MSTORE PUSH1 0xE0 DUP6 ADD SWAP1 PUSH2 0xA31 JUMP JUMPDEST SWAP1 DUP4 DUP3 SUB PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0xA31 JUMP JUMPDEST CHAINID PUSH1 0x60 DUP4 ADD MSTORE ADDRESS PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0x0 PUSH1 0xA0 DUP4 ADD MSTORE DUP2 DUP2 SUB PUSH1 0xC0 DUP4 ADD MSTORE PUSH1 0x20 PUSH1 0x60 MLOAD SWAP2 DUP3 DUP2 MSTORE ADD SWAP1 PUSH1 0x80 SWAP1 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH2 0xBF5 JUMPI POP POP POP SUB SWAP1 RETURN JUMPDEST DUP3 MLOAD DUP5 MSTORE DUP6 SWAP5 POP PUSH1 0x20 SWAP4 DUP5 ADD SWAP4 SWAP1 SWAP3 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0xBE7 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH2 0x2105 DUP2 MSTORE RETURN JUMPDEST SWAP1 PUSH1 0x40 PUSH1 0x3 NOT DUP4 ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD SWAP2 PUSH1 0x24 CALLDATALOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH2 0x244 JUMPI PUSH2 0xC5A SWAP2 PUSH1 0x4 ADD PUSH2 0x2F6 JUMP JUMPDEST SWAP1 SWAP2 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH2 0xC6C CALLDATASIZE PUSH2 0xC2B JUMP JUMPDEST SWAP1 PUSH2 0xC75 PUSH2 0x1697 JUMP JUMPDEST PUSH1 0x1 PUSH2 0xC7F PUSH2 0xF4D JUMP JUMPDEST EQ PUSH2 0xC8D JUMPI PUSH2 0x2F4 SWAP3 PUSH2 0x1CBD JUMP JUMPDEST PUSH4 0x948BF897 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x0 REVERT JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH2 0x414 PUSH2 0xCBD PUSH1 0x4 CALLDATALOAD PUSH2 0x1393 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 SWAP2 PUSH1 0x20 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP1 PUSH2 0xA31 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 SUB PUSH2 0x244 JUMPI PUSH2 0xD01 PUSH1 0x20 SWAP2 PUSH2 0x1460 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH2 0x264 PUSH2 0xD40 PUSH1 0x20 SWAP3 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x392 JUMP JUMPDEST PUSH2 0x14E3 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH2 0xD01 PUSH1 0x4 CALLDATALOAD PUSH2 0xD67 DUP2 PUSH2 0x26C JUMP JUMPDEST PUSH2 0x15D0 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH16 0x71727DE22E5E9D8BAF0EDAC6F37DA032 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x60 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0xDAF DUP2 PUSH2 0x26C JUMP JUMPDEST PUSH1 0x44 CALLDATALOAD SWAP1 PUSH1 0x24 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 GT PUSH2 0x244 JUMPI PUSH2 0x6ED PUSH2 0xDD8 PUSH2 0x2F4 SWAP5 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x2F6 JUMP JUMPDEST PUSH16 0x71727DE22E5E9D8BAF0EDAC6F37DA032 CALLER SUB PUSH2 0xDF6 JUMPI CALLDATASIZE SWAP2 PUSH2 0x4A1 JUMP JUMPDEST PUSH2 0xDFE PUSH2 0x1697 JUMP JUMPDEST PUSH2 0x6E6 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH2 0xE11 CALLDATASIZE PUSH2 0xC2B JUMP JUMPDEST SWAP1 PUSH2 0xE1A PUSH2 0x1697 JUMP JUMPDEST PUSH2 0xE22 PUSH2 0xF4D JUMP JUMPDEST SWAP3 PUSH1 0x1 DUP5 GT PUSH2 0xE35 JUMPI PUSH2 0x2F4 SWAP4 POP PUSH2 0x1CBD JUMP JUMPDEST DUP4 PUSH4 0x1047E355 PUSH1 0xE3 SHL PUSH1 0x0 MSTORE PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH2 0x264 PUSH1 0x4 CALLDATALOAD PUSH2 0x1DD4 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2EDF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH2 0x264 PUSH2 0x15F6 JUMP JUMPDEST SWAP1 PUSH2 0xEC1 PUSH1 0x20 SWAP3 DUP3 DUP2 MLOAD SWAP5 DUP6 SWAP3 ADD PUSH2 0xA0E JUMP JUMPDEST ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 PUSH2 0xEDE SWAP2 DUP2 PUSH1 0x40 MLOAD SWAP4 DUP3 DUP6 DUP1 SWAP5 MLOAD SWAP4 DUP5 SWAP3 ADD PUSH2 0xA0E JUMP JUMPDEST DUP2 ADD PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F503 DUP2 MSTORE SUB ADD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2EFF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SUB SWAP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2EFF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP3 GT PUSH2 0xF48 JUMPI JUMP JUMPDEST PUSH2 0xF0A JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2EDF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2F3F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD DUP2 SUB SWAP1 DUP2 GT PUSH2 0xF48 JUMPI SWAP1 JUMP JUMPDEST PUSH1 0x0 NOT DUP2 EQ PUSH2 0xF48 JUMPI PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH2 0xF96 PUSH2 0xF9B SWAP4 SWAP3 PUSH2 0x1DD4 JUMP JUMPDEST PUSH2 0x1A51 JUMP JUMPDEST PUSH2 0xFAB JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 JUMP JUMPDEST PUSH4 0xB135D3F PUSH1 0xE1 SHL SWAP1 JUMP JUMPDEST SWAP1 CALLDATALOAD SWAP1 PUSH1 0x1E NOT DUP2 CALLDATASIZE SUB ADD DUP3 SLT ISZERO PUSH2 0x244 JUMPI ADD DUP1 CALLDATALOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH2 0x244 JUMPI PUSH1 0x20 ADD SWAP2 DUP2 CALLDATASIZE SUB DUP4 SGT PUSH2 0x244 JUMPI JUMP JUMPDEST CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND SWAP3 SWAP2 SWAP1 PUSH1 0x4 DUP3 LT PUSH2 0x1003 JUMPI POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0x4 SWAP3 SWAP1 SWAP3 SUB PUSH1 0x3 SHL DUP3 SWAP1 SHL AND AND SWAP2 POP JUMP JUMPDEST SWAP1 SWAP3 SWAP2 SWAP3 DUP4 PUSH1 0x4 GT PUSH2 0x244 JUMPI DUP4 GT PUSH2 0x244 JUMPI PUSH1 0x4 ADD SWAP2 PUSH1 0x3 NOT ADD SWAP1 JUMP JUMPDEST SWAP3 SWAP2 SWAP1 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP5 GT PUSH2 0x470 JUMPI DUP4 PUSH1 0x5 SHL SWAP1 PUSH1 0x20 PUSH1 0x40 MLOAD PUSH2 0x1063 DUP3 DUP6 ADD DUP3 PUSH2 0x44F JUMP JUMPDEST DUP1 SWAP7 DUP2 MSTORE ADD SWAP2 DUP2 ADD SWAP2 DUP4 DUP4 GT PUSH2 0x244 JUMPI DUP2 SWAP1 JUMPDEST DUP4 DUP3 LT PUSH2 0x1084 JUMPI POP POP POP POP POP JUMP JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH1 0x20 SWAP2 PUSH2 0x10A4 DUP8 DUP5 SWAP4 DUP8 ADD PUSH2 0x4D8 JUMP JUMPDEST DUP2 MSTORE ADD SWAP2 ADD SWAP1 PUSH2 0x1076 JUMP JUMPDEST PUSH1 0x20 DUP2 DUP4 SUB SLT PUSH2 0x244 JUMPI DUP1 CALLDATALOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH2 0x244 JUMPI ADD SWAP1 DUP1 PUSH1 0x1F DUP4 ADD SLT ISZERO PUSH2 0x244 JUMPI DUP2 PUSH1 0x20 PUSH2 0x4F3 SWAP4 CALLDATALOAD SWAP2 ADD PUSH2 0x103B JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 MLOAD DUP3 LT ISZERO PUSH2 0x1110 JUMPI PUSH1 0x20 SWAP2 PUSH1 0x5 SHL ADD ADD SWAP1 JUMP JUMPDEST PUSH2 0x10E6 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x20 SWAP1 SWAP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND SWAP3 SWAP2 SWAP1 PUSH1 0x4 DUP3 LT PUSH2 0x1003 JUMPI POP POP JUMP JUMPDEST SWAP2 PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x40 SHR SWAP2 PUSH1 0x60 DUP5 ADD SWAP1 PUSH2 0x1150 DUP3 DUP7 PUSH2 0xFB6 JUMP JUMPDEST PUSH4 0x16155E8F PUSH1 0xE1 SHL SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP2 PUSH2 0x116C SWAP2 PUSH2 0xFE8 JUMP JUMPDEST AND SUB PUSH2 0x124F JUMPI POP PUSH2 0x117C DUP5 PUSH2 0x14E3 JUMP JUMPDEST SWAP3 PUSH2 0x2105 DUP2 SUB PUSH2 0x123B JUMPI POP PUSH2 0x119E PUSH2 0x1197 PUSH2 0x11A6 SWAP3 DUP7 PUSH2 0xFB6 JUMP JUMPDEST DUP1 SWAP2 PUSH2 0x101E JUMP JUMPDEST DUP2 ADD SWAP1 PUSH2 0x10AF JUMP JUMPDEST SWAP2 PUSH1 0x0 JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH2 0x1215 JUMPI PUSH2 0x11BD DUP2 DUP6 PUSH2 0x10FC JUMP JUMPDEST MLOAD PUSH4 0x278F7943 PUSH1 0xE1 SHL PUSH2 0x11DF PUSH2 0x11D2 DUP4 PUSH2 0x1115 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND SWAP1 JUMP JUMPDEST EQ PUSH2 0x11EE JUMPI JUMPDEST POP PUSH1 0x1 ADD PUSH2 0x11AA JUMP JUMPDEST PUSH1 0x24 ADD MLOAD DUP1 EXTCODESIZE PUSH2 0x11E5 JUMPI PUSH4 0xC760937 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP1 SWAP3 PUSH2 0x122D SWAP3 POP PUSH2 0xADA SWAP1 JUMPDEST PUSH2 0x100 DUP2 ADD SWAP1 PUSH2 0xFB6 JUMP JUMPDEST PUSH2 0x1236 JUMPI PUSH1 0x1 SWAP1 JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH4 0x2EF37813 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP3 SWAP1 POP PUSH2 0x2105 DUP2 SWAP5 SWAP3 SWAP5 EQ PUSH2 0x123B JUMPI POP SWAP1 PUSH2 0xADA PUSH2 0x122D SWAP3 PUSH2 0x1222 JUMP JUMPDEST PUSH2 0x1277 PUSH1 0xFF SWAP2 PUSH2 0xEC5 JUMP JUMPDEST SLOAD AND SWAP1 JUMP JUMPDEST SWAP2 SWAP1 DUP2 LT ISZERO PUSH2 0x1110 JUMPI PUSH1 0x5 SHL DUP2 ADD CALLDATALOAD SWAP1 PUSH1 0x5E NOT DUP2 CALLDATASIZE SUB ADD DUP3 SLT ISZERO PUSH2 0x244 JUMPI ADD SWAP1 JUMP JUMPDEST CALLDATALOAD PUSH2 0x4F3 DUP2 PUSH2 0x26C JUMP JUMPDEST SWAP1 PUSH2 0x708 DUP3 ADD DUP1 SWAP3 GT PUSH2 0xF48 JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x15 DUP3 ADD DUP1 SWAP3 GT PUSH2 0xF48 JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x2 DUP3 ADD DUP1 SWAP3 GT PUSH2 0xF48 JUMPI JUMP JUMPDEST SWAP2 SWAP1 DUP3 ADD DUP1 SWAP3 GT PUSH2 0xF48 JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x40 MLOAD SWAP2 PUSH4 0x737BEBDD PUSH1 0xE0 SHL PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x24 DUP3 MSTORE PUSH2 0x484 PUSH1 0x44 DUP4 PUSH2 0x44F JUMP JUMPDEST SWAP1 DUP1 SWAP3 SWAP2 DUP3 CALLDATACOPY ADD PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x1323 PUSH1 0x20 DUP4 PUSH2 0x44F JUMP JUMPDEST PUSH1 0x0 DUP3 MSTORE JUMP JUMPDEST RETURNDATASIZE ISZERO PUSH2 0x1354 JUMPI RETURNDATASIZE SWAP1 PUSH2 0x133A DUP3 PUSH2 0x486 JUMP JUMPDEST SWAP2 PUSH2 0x1348 PUSH1 0x40 MLOAD SWAP4 DUP5 PUSH2 0x44F JUMP JUMPDEST DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY JUMP JUMPDEST PUSH1 0x60 SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH2 0x1389 JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH2 0x1373 JUMPI JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH2 0x1368 JUMP JUMPDEST PUSH1 0x0 MSTORE PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F502 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD SWAP1 DUP2 PUSH1 0x0 DUP3 SLOAD SWAP3 PUSH2 0x13D2 DUP5 PUSH2 0x1359 JUMP JUMPDEST DUP1 DUP5 MSTORE SWAP4 PUSH1 0x1 DUP2 AND SWAP1 DUP2 ISZERO PUSH2 0x143E JUMPI POP PUSH1 0x1 EQ PUSH2 0x13F7 JUMPI JUMPDEST POP PUSH2 0x4F3 SWAP3 POP SUB DUP3 PUSH2 0x44F JUMP JUMPDEST SWAP1 POP PUSH1 0x0 SWAP3 SWAP2 SWAP3 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x0 SWAP2 JUMPDEST DUP2 DUP4 LT PUSH2 0x1422 JUMPI POP POP SWAP1 PUSH1 0x20 PUSH2 0x4F3 SWAP3 DUP3 ADD ADD CODESIZE PUSH2 0x13EA JUMP JUMPDEST PUSH1 0x20 SWAP2 SWAP4 POP DUP1 PUSH1 0x1 SWAP2 SLOAD DUP4 DUP6 DUP9 ADD ADD MSTORE ADD SWAP2 ADD SWAP1 SWAP2 DUP4 SWAP3 PUSH2 0x1409 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 SWAP3 POP PUSH2 0x4F3 SWAP5 SWAP2 POP PUSH1 0xFF NOT AND DUP3 DUP5 ADD MSTORE ISZERO ISZERO PUSH1 0x5 SHL DUP3 ADD ADD CODESIZE PUSH2 0x13EA JUMP JUMPDEST PUSH4 0xFFFFFFFF PUSH1 0xE0 SHL AND PUSH4 0x29565E3B PUSH1 0xE0 SHL DUP2 EQ SWAP1 DUP2 ISZERO PUSH2 0x14D2 JUMPI JUMPDEST DUP2 ISZERO PUSH2 0x14C1 JUMPI JUMPDEST DUP2 ISZERO PUSH2 0x14B0 JUMPI JUMPDEST DUP2 ISZERO PUSH2 0x149F JUMPI JUMPDEST POP PUSH2 0x149A JUMPI PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH1 0x1 SWAP1 JUMP JUMPDEST PUSH4 0x278F7943 PUSH1 0xE1 SHL EQ SWAP1 POP CODESIZE PUSH2 0x1490 JUMP JUMPDEST PUSH4 0xB8197367 PUSH1 0xE0 SHL DUP2 EQ SWAP2 POP PUSH2 0x1489 JUMP JUMPDEST PUSH4 0x89625B57 PUSH1 0xE0 SHL DUP2 EQ SWAP2 POP PUSH2 0x1482 JUMP JUMPDEST PUSH4 0x3C3CFC9 PUSH1 0xE2 SHL DUP2 EQ SWAP2 POP PUSH2 0x147B JUMP JUMPDEST PUSH1 0x20 DUP2 ADD CALLDATALOAD PUSH2 0x1597 PUSH2 0x14F8 PUSH1 0x40 DUP5 ADD DUP5 PUSH2 0xFB6 JUMP JUMPDEST SWAP1 DUP2 PUSH1 0x40 MLOAD SWAP2 DUP3 CALLDATACOPY KECCAK256 SWAP2 PUSH2 0x225 PUSH2 0x1512 PUSH1 0x60 DUP7 ADD DUP7 PUSH2 0xFB6 JUMP JUMPDEST SWAP1 DUP2 PUSH1 0x40 MLOAD SWAP2 DUP3 CALLDATACOPY KECCAK256 PUSH1 0xC0 DUP7 ADD CALLDATALOAD PUSH1 0xA0 DUP8 ADD CALLDATALOAD PUSH1 0x80 DUP9 ADD CALLDATALOAD PUSH2 0x1540 PUSH2 0x153A PUSH1 0xE0 DUP12 ADD DUP12 PUSH2 0xFB6 JUMP JUMPDEST SWAP1 PUSH2 0x2335 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP11 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP13 ADD SWAP1 DUP2 MSTORE SWAP1 DUP12 ADD SWAP8 SWAP1 SWAP8 MSTORE PUSH1 0x60 DUP11 ADD SWAP9 SWAP1 SWAP9 MSTORE PUSH1 0x80 DUP10 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0xA0 DUP9 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0xC0 DUP8 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0xE0 DUP7 ADD MSTORE PUSH2 0x100 DUP6 ADD SWAP4 SWAP1 SWAP4 MSTORE SWAP3 SWAP2 DUP3 SWAP1 PUSH2 0x120 DUP3 ADD SWAP1 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP3 DUP4 MSTORE PUSH16 0x71727DE22E5E9D8BAF0EDAC6F37DA032 SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH2 0x15CA DUP2 PUSH1 0x60 DUP2 ADD PUSH2 0x225 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x1277 PUSH1 0xFF SWAP2 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x20 DUP2 MSTORE PUSH2 0x233 PUSH1 0x40 DUP3 PUSH2 0x44F JUMP JUMPDEST PUSH2 0x15FE PUSH2 0x1B63 JUMP JUMPDEST SWAP1 PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SWAP1 PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 ADD SWAP3 PUSH32 0x8B73C3C69BB8FE3D512ECC4CF759CC79239F7B179B0FFACAA9A75D522B39400F DUP5 MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE CHAINID PUSH1 0x80 DUP3 ADD MSTORE ADDRESS PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xA0 DUP2 MSTORE PUSH2 0x15CA PUSH1 0xC0 DUP3 PUSH2 0x44F JUMP JUMPDEST PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR PUSH4 0xBC197C81 DUP2 EQ PUSH4 0xF23A6E61 DUP3 EQ OR PUSH4 0x150B7A02 DUP3 EQ OR PUSH2 0x168E JUMPI PUSH4 0x3C10B94E PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x1C REVERT JUMPDEST PUSH1 0x20 MSTORE PUSH1 0x20 PUSH1 0x3C RETURN JUMPDEST PUSH2 0x16A0 CALLER PUSH2 0x15D0 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x16BB JUMPI JUMPDEST PUSH2 0x484 JUMPI PUSH3 0x82B429 PUSH1 0xE8 SHL PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x0 REVERT JUMPDEST POP ADDRESS CALLER EQ PUSH2 0x16A7 JUMP JUMPDEST DUP2 DUP2 LT PUSH2 0x16CF JUMPI POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x16C4 JUMP JUMPDEST SWAP2 SWAP1 PUSH1 0x1F DUP2 GT PUSH2 0x16EA JUMPI POP POP POP JUMP JUMPDEST PUSH2 0x484 SWAP3 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x20 PUSH1 0x1F DUP5 ADD PUSH1 0x5 SHR DUP4 ADD SWAP4 LT PUSH2 0x1716 JUMPI JUMPDEST PUSH1 0x1F ADD PUSH1 0x5 SHR ADD SWAP1 PUSH2 0x16C4 JUMP JUMPDEST SWAP1 SWAP2 POP DUP2 SWAP1 PUSH2 0x1709 JUMP JUMPDEST PUSH2 0x1729 DUP2 PUSH2 0x126C JUMP JUMPDEST PUSH2 0x1897 JUMPI PUSH2 0x1736 DUP2 PUSH2 0xEC5 JUMP JUMPDEST PUSH1 0x1 PUSH1 0xFF NOT DUP3 SLOAD AND OR SWAP1 SSTORE DUP2 PUSH1 0x0 MSTORE PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F502 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x470 JUMPI PUSH2 0x1792 DUP2 PUSH2 0x178C DUP5 SLOAD PUSH2 0x1359 JUMP JUMPDEST DUP5 PUSH2 0x16DB JUMP JUMPDEST PUSH1 0x20 PUSH1 0x1F DUP3 GT PUSH1 0x1 EQ PUSH2 0x1806 JUMPI SWAP2 PUSH2 0x17E7 DUP3 PUSH32 0x38109EDC26E166B5579352CE56A50813177EB25208FD90D61F2F378386220220 SWAP6 SWAP4 PUSH2 0x17F6 SWAP6 PUSH1 0x0 SWAP2 PUSH2 0x17FB JUMPI JUMPDEST POP DUP2 PUSH1 0x1 SHL SWAP2 PUSH1 0x0 NOT SWAP1 PUSH1 0x3 SHL SHR NOT AND OR SWAP1 JUMP JUMPDEST SWAP1 SSTORE JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 SWAP2 DUP3 PUSH2 0xA56 JUMP JUMPDEST SUB SWAP1 LOG2 JUMP JUMPDEST SWAP1 POP DUP5 ADD MLOAD CODESIZE PUSH2 0x17D3 JUMP JUMPDEST PUSH1 0x1F NOT DUP3 AND SWAP1 PUSH2 0x181B DUP5 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP2 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH2 0x187F JUMPI POP SWAP3 PUSH2 0x17F6 SWAP5 SWAP3 PUSH1 0x1 SWAP3 DUP3 PUSH32 0x38109EDC26E166B5579352CE56A50813177EB25208FD90D61F2F378386220220 SWAP9 SWAP7 LT PUSH2 0x1866 JUMPI JUMPDEST POP POP DUP2 SHL ADD SWAP1 SSTORE PUSH2 0x17EA JUMP JUMPDEST DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 PUSH2 0x185A JUMP JUMPDEST SWAP2 SWAP3 PUSH1 0x20 PUSH1 0x1 DUP2 SWAP3 DUP7 DUP11 ADD MLOAD DUP2 SSTORE ADD SWAP5 ADD SWAP3 ADD PUSH2 0x181F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x468B12AD PUSH1 0xE1 SHL DUP2 MSTORE SWAP1 DUP2 SWAP1 PUSH2 0x984 SWAP1 PUSH1 0x4 DUP4 ADD PUSH2 0xA56 JUMP JUMPDEST PUSH1 0x20 DUP2 DUP4 SUB SLT PUSH2 0x244 JUMPI DUP1 CALLDATALOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH2 0x244 JUMPI ADD PUSH1 0x40 DUP2 DUP4 SUB SLT PUSH2 0x244 JUMPI PUSH1 0x40 MLOAD SWAP2 PUSH1 0x40 DUP4 ADD DUP4 DUP2 LT PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT OR PUSH2 0x470 JUMPI PUSH1 0x40 MSTORE DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI DUP2 PUSH2 0x1913 SWAP2 DUP5 ADD PUSH2 0x4D8 JUMP JUMPDEST DUP4 MSTORE PUSH1 0x20 DUP3 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH2 0x1932 SWAP3 ADD PUSH2 0x4D8 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD MLOAD SWAP1 PUSH1 0x20 DUP2 LT PUSH2 0x194E JUMPI POP SWAP1 JUMP JUMPDEST PUSH1 0x0 NOT SWAP1 PUSH1 0x20 SUB PUSH1 0x3 SHL SHL AND SWAP1 JUMP JUMPDEST SWAP2 SWAP1 DUP3 PUSH1 0x40 SWAP2 SUB SLT PUSH2 0x244 JUMPI PUSH1 0x20 DUP3 MLOAD SWAP3 ADD MLOAD SWAP1 JUMP JUMPDEST DUP2 PUSH1 0x1F DUP3 ADD SLT ISZERO PUSH2 0x244 JUMPI PUSH1 0x20 DUP2 MLOAD SWAP2 ADD SWAP1 PUSH2 0x198E DUP2 PUSH2 0x486 JUMP JUMPDEST SWAP3 PUSH2 0x199C PUSH1 0x40 MLOAD SWAP5 DUP6 PUSH2 0x44F JUMP JUMPDEST DUP2 DUP5 MSTORE DUP2 DUP4 ADD GT PUSH2 0x244 JUMPI PUSH2 0x4F3 SWAP2 PUSH1 0x20 DUP5 ADD SWAP1 PUSH2 0xA0E JUMP JUMPDEST PUSH1 0x20 DUP2 DUP4 SUB SLT PUSH2 0x244 JUMPI DUP1 MLOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH2 0x244 JUMPI ADD SWAP1 PUSH1 0xC0 DUP3 DUP3 SUB SLT PUSH2 0x244 JUMPI PUSH2 0x19E4 PUSH2 0x475 JUMP JUMPDEST SWAP2 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI DUP3 PUSH2 0x1A01 SWAP2 DUP4 ADD PUSH2 0x1973 JUMP JUMPDEST DUP4 MSTORE PUSH1 0x20 DUP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH1 0xA0 SWAP3 PUSH2 0x1A24 SWAP2 DUP4 ADD PUSH2 0x1973 JUMP JUMPDEST PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x40 DUP2 ADD MLOAD PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x60 DUP2 ADD MLOAD PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP2 ADD MLOAD PUSH1 0x80 DUP5 ADD MSTORE ADD MLOAD PUSH1 0xA0 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST SWAP3 SWAP2 SWAP1 PUSH2 0x1A60 SWAP2 DUP2 ADD SWAP1 PUSH2 0x18B4 JUMP JUMPDEST SWAP1 DUP2 MLOAD SWAP2 PUSH2 0x1A70 PUSH2 0xAE0 DUP5 PUSH2 0x126C JUMP JUMPDEST PUSH2 0x1B3A JUMPI PUSH1 0x20 DUP4 MLOAD EQ PUSH2 0x1AF1 JUMPI DUP3 MLOAD SWAP4 PUSH1 0x40 DUP6 EQ PUSH2 0x1AA3 JUMPI PUSH1 0x40 MLOAD PUSH4 0x27755B91 PUSH1 0xE1 SHL DUP2 MSTORE DUP1 PUSH2 0x984 DUP7 PUSH1 0x4 DUP4 ADD PUSH2 0xA56 JUMP JUMPDEST PUSH2 0x225 PUSH2 0x1AEC PUSH2 0x1AD7 PUSH2 0x1AC3 DUP8 PUSH1 0x20 DUP1 DUP1 SWAP10 SWAP12 PUSH2 0x4F3 SWAP12 ADD ADD SWAP2 ADD PUSH2 0x195D JUMP JUMPDEST SWAP7 SWAP1 SWAP6 ADD MLOAD PUSH1 0x20 DUP1 DUP3 MLOAD DUP4 ADD ADD SWAP2 ADD PUSH2 0x19B5 JUMP JUMPDEST SWAP3 PUSH1 0x40 MLOAD SWAP3 DUP4 SWAP2 PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 PUSH1 0x20 DUP4 ADD SWAP3 MSTORE JUMP JUMPDEST PUSH2 0x1FD6 JUMP JUMPDEST SWAP2 SWAP3 SWAP1 SWAP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH2 0x1B07 DUP6 PUSH2 0x193A JUMP JUMPDEST GT PUSH2 0x1B1F JUMPI PUSH1 0x20 DUP1 PUSH2 0x4F3 SWAP5 SWAP6 ADD MLOAD SWAP3 ADD MLOAD SWAP2 PUSH2 0x1E49 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xBFF1AC65 PUSH1 0xE0 SHL DUP2 MSTORE DUP1 PUSH2 0x984 DUP7 PUSH1 0x4 DUP4 ADD PUSH2 0xA56 JUMP JUMPDEST POP SWAP2 POP POP PUSH1 0x0 SWAP1 JUMP JUMPDEST SWAP2 PUSH1 0x0 SWAP3 DUP4 SWAP3 PUSH1 0x20 DUP4 MLOAD SWAP4 ADD SWAP2 GAS CALL PUSH2 0x1B5A PUSH2 0x1329 JUMP JUMPDEST SWAP1 ISZERO PUSH2 0x64F JUMPI POP JUMP JUMPDEST PUSH1 0x40 SWAP1 DUP2 MLOAD PUSH2 0x1B72 DUP4 DUP3 PUSH2 0x44F JUMP JUMPDEST PUSH1 0x12 DUP2 MSTORE PUSH18 0x11DA585B9BC814DB585C9D0815D85B1B195D PUSH1 0x72 SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP2 PUSH2 0x1B9E DUP2 MLOAD SWAP2 DUP3 PUSH2 0x44F JUMP JUMPDEST PUSH1 0x1 DUP2 MSTORE PUSH1 0x31 PUSH1 0xF8 SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST SWAP1 DUP1 PUSH1 0x20 SWAP4 SWAP3 DUP2 DUP5 MSTORE DUP5 DUP5 ADD CALLDATACOPY PUSH1 0x0 DUP3 DUP3 ADD DUP5 ADD MSTORE PUSH1 0x1F ADD PUSH1 0x1F NOT AND ADD ADD SWAP1 JUMP JUMPDEST SWAP3 SWAP2 PUSH2 0x4F3 SWAP5 SWAP3 PUSH2 0x1BEE SWAP3 DUP6 MSTORE PUSH1 0x60 PUSH1 0x20 DUP7 ADD MSTORE PUSH1 0x60 DUP6 ADD SWAP2 PUSH2 0x1BAF JUMP JUMPDEST SWAP2 PUSH1 0x40 DUP2 DUP5 SUB SWAP2 ADD MSTORE PUSH2 0xA31 JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP3 PUSH1 0x40 MLOAD SWAP4 DUP5 SWAP3 DUP4 CALLDATACOPY DUP2 ADD PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F503 DUP2 MSTORE SUB ADD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x2 DUP2 SWAP1 SHL SWAP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xFE SHL SUB DUP2 AND SUB PUSH2 0xF48 JUMPI JUMP JUMPDEST PUSH2 0x1C56 DUP2 SLOAD PUSH2 0x1359 JUMP JUMPDEST SWAP1 DUP2 PUSH2 0x1C60 JUMPI POP POP JUMP JUMPDEST DUP2 PUSH1 0x1F PUSH1 0x0 SWAP4 GT PUSH1 0x1 EQ PUSH2 0x1C72 JUMPI POP SSTORE JUMP JUMPDEST DUP2 DUP4 MSTORE PUSH1 0x20 DUP4 KECCAK256 PUSH2 0x1C8E SWAP2 PUSH1 0x1F ADD PUSH1 0x5 SHR DUP2 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x16C4 JUMP JUMPDEST DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 KECCAK256 SWAP1 DUP2 SLOAD DUP4 PUSH1 0x1 SHL SWAP1 DUP5 NOT DUP6 PUSH1 0x3 SHL SHR NOT AND OR SWAP1 SSTORE SSTORE JUMP JUMPDEST SWAP2 PUSH1 0x20 PUSH2 0x4F3 SWAP4 DUP2 DUP2 MSTORE ADD SWAP2 PUSH2 0x1BAF JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x1CC8 DUP4 PUSH2 0x1393 JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x1DBE JUMPI DUP1 MLOAD PUSH1 0x20 DUP3 ADD KECCAK256 PUSH2 0x1CE1 CALLDATASIZE DUP6 DUP6 PUSH2 0x4A1 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SUB PUSH2 0x1D9F JUMPI POP SWAP1 DUP2 PUSH2 0x1D28 PUSH2 0x1D1E DUP4 PUSH32 0xCF95BBFE6F870F8CC40482DC3DCCDAFD268F0E9CE0A4F24EA1BEA9BE64E505FF SWAP6 PUSH2 0x1BFC JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x1D63 PUSH2 0x1D5E DUP6 PUSH1 0x0 MSTORE PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F502 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x1C4C JUMP JUMPDEST PUSH2 0x1D90 PUSH2 0x1D7E PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2F3F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH2 0xF79 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2F3F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SSTORE JUMP JUMPDEST PUSH2 0x17F6 PUSH1 0x40 MLOAD SWAP3 DUP4 SWAP3 DUP4 PUSH2 0x1CAC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x781F2E39 PUSH1 0xE0 SHL DUP2 MSTORE SWAP4 DUP5 SWAP4 PUSH2 0x984 SWAP4 SWAP1 SWAP2 PUSH1 0x4 DUP7 ADD PUSH2 0x1BD0 JUMP JUMPDEST PUSH4 0x340C473D PUSH1 0xE1 SHL PUSH1 0x0 MSTORE PUSH1 0x4 DUP5 SWAP1 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1DDC PUSH2 0x15F6 JUMP JUMPDEST SWAP1 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 ADD SWAP2 PUSH32 0x37F248F492286AB572E2A1EE0BD5315F2AAE54A08B5871B294D657F3A1F1D007 DUP4 MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP2 MSTORE PUSH2 0x1E1C PUSH1 0x60 DUP3 PUSH2 0x44F JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 ADD SWAP3 PUSH2 0x1901 PUSH1 0xF0 SHL DUP5 MSTORE PUSH1 0x22 DUP4 ADD MSTORE PUSH1 0x42 DUP3 ADD MSTORE PUSH1 0x42 DUP2 MSTORE PUSH2 0x15CA PUSH1 0x62 DUP3 PUSH2 0x44F JUMP JUMPDEST SWAP1 SWAP2 PUSH1 0x0 SWAP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND ISZERO PUSH2 0x1F33 JUMPI PUSH1 0x40 MLOAD SWAP3 PUSH1 0x4 DUP5 ADD SWAP5 PUSH1 0x24 DUP6 ADD SWAP6 PUSH1 0x44 DUP7 ADD SWAP3 DUP6 EXTCODESIZE ISZERO PUSH2 0x1EB3 JUMPI POP SWAP2 DUP7 SWAP4 SWAP2 PUSH1 0x20 SWAP6 SWAP4 PUSH4 0xB135D3F PUSH1 0xE1 SHL DUP9 MSTORE MSTORE PUSH1 0x40 DUP5 MSTORE DUP2 MLOAD DUP6 ADD DUP1 SWAP3 PUSH1 0x4 GAS STATICCALL SWAP4 PUSH1 0x44 RETURNDATASIZE ADD SWAP2 GAS STATICCALL SWAP2 MLOAD PUSH4 0xB135D3F PUSH1 0xE1 SHL EQ SWAP2 AND AND SWAP1 JUMP JUMPDEST SWAP8 SWAP7 POP POP SWAP1 POP DUP2 MLOAD DUP1 PUSH1 0x40 EQ PUSH2 0x1F0E JUMPI PUSH1 0x41 EQ PUSH2 0x1ED0 JUMPI POP POP POP POP JUMP JUMPDEST PUSH1 0x20 SWAP3 SWAP4 SWAP6 POP PUSH1 0x60 DUP3 ADD MLOAD PUSH1 0x0 BYTE DUP4 MSTORE PUSH1 0x40 DUP3 ADD MLOAD PUSH1 0x60 MSTORE JUMPDEST PUSH1 0x0 MSTORE ADD MLOAD PUSH1 0x40 MSTORE PUSH1 0x20 PUSH1 0x1 PUSH1 0x80 PUSH1 0x0 DUP3 GAS STATICCALL MLOAD XOR PUSH1 0x60 SHL RETURNDATASIZE GT SWAP2 PUSH1 0x0 PUSH1 0x60 MSTORE PUSH1 0x40 MSTORE JUMP JUMPDEST POP PUSH1 0x20 SWAP3 SWAP4 SWAP6 POP PUSH1 0x40 DUP3 ADD MLOAD PUSH1 0x1B DUP2 PUSH1 0xFF SHR ADD DUP5 MSTORE PUSH1 0x1 DUP1 PUSH1 0xFF SHL SUB AND PUSH1 0x60 MSTORE PUSH2 0x1EE9 JUMP JUMPDEST POP POP POP POP PUSH1 0x0 SWAP1 JUMP JUMPDEST SWAP1 PUSH2 0x484 PUSH1 0x1 PUSH1 0x2D PUSH1 0x40 MLOAD DUP1 SWAP6 PUSH13 0x1131B430B63632B733B2911D11 PUSH1 0x99 SHL PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1F72 DUP2 MLOAD DUP1 SWAP3 PUSH1 0x20 DUP7 DUP7 ADD SWAP2 ADD PUSH2 0xA0E JUMP JUMPDEST DUP2 ADD PUSH1 0x11 PUSH1 0xF9 SHL DUP4 DUP3 ADD MSTORE SUB ADD PUSH1 0x1E NOT DUP2 ADD DUP6 MSTORE ADD DUP4 PUSH2 0x44F JUMP JUMPDEST DUP1 MLOAD PUSH1 0x20 LT ISZERO PUSH2 0x1110 JUMPI PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x20 SWAP3 SWAP2 SWAP1 PUSH2 0x1FBF DUP5 SWAP3 DUP3 DUP2 MLOAD SWAP5 DUP6 SWAP3 ADD PUSH2 0xA0E JUMP JUMPDEST ADD SWAP1 DUP2 MSTORE ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 PUSH1 0x20 SWAP2 SUB SLT PUSH2 0x244 JUMPI MLOAD SWAP1 JUMP JUMPDEST SWAP3 SWAP2 SWAP1 PUSH1 0x0 SWAP4 PUSH1 0xA0 DUP3 ADD SWAP5 DUP6 MLOAD PUSH32 0x7FFFFFFF800000007FFFFFFFFFFFFFFFDE737D56D38BCF4279DCE5617E3192A8 LT PUSH2 0x21B3 JUMPI PUSH1 0x20 DUP4 ADD SWAP2 PUSH32 0xFF1A2A9176D650E4A99DEDB58F1793003935130579FE17B5A3F698AC5B00E634 PUSH2 0x2048 DUP5 MLOAD PUSH1 0x60 DUP8 ADD MLOAD PUSH2 0x2042 DUP2 PUSH2 0x12B7 JUMP JUMPDEST SWAP2 PUSH2 0x2340 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SUB PUSH2 0x21BC JUMPI PUSH2 0x2060 PUSH2 0x2065 SWAP2 PUSH2 0x21C6 JUMP JUMPDEST PUSH2 0x1F3C JUMP JUMPDEST PUSH2 0x207A DUP4 MLOAD PUSH1 0x40 DUP7 ADD MLOAD PUSH2 0x2042 DUP5 MLOAD DUP3 PUSH2 0x12D3 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SWAP1 PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SUB PUSH2 0x21B3 JUMPI PUSH1 0x1 PUSH1 0xF8 SHL PUSH1 0x1 PUSH1 0xF8 SHL PUSH2 0x20B3 PUSH2 0x20A5 DUP7 MLOAD PUSH2 0x1F8D JUMP JUMPDEST MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 JUMP JUMPDEST AND SUB PUSH2 0x21B3 JUMPI PUSH2 0x20D0 PUSH1 0x20 SWAP3 PUSH1 0x0 SWAP3 POP MLOAD PUSH1 0x40 MLOAD SWAP2 DUP3 DUP1 SWAP3 PUSH2 0xEAE JUMP JUMPDEST SUB SWAP1 PUSH1 0x2 GAS STATICCALL ISZERO PUSH2 0x21AE JUMPI PUSH1 0x20 PUSH1 0x0 PUSH2 0x2106 DUP2 MLOAD PUSH2 0x20FA DUP6 MLOAD PUSH2 0x225 PUSH1 0x40 MLOAD SWAP4 DUP5 SWAP3 DUP9 DUP5 ADD PUSH2 0x1FA9 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 DUP1 SWAP3 PUSH2 0xEAE JUMP JUMPDEST SUB SWAP1 PUSH1 0x2 GAS STATICCALL ISZERO PUSH2 0x21AE JUMPI PUSH1 0x80 PUSH1 0x0 MLOAD SWAP2 ADD SWAP4 PUSH1 0x0 DUP1 DUP7 MLOAD DUP6 PUSH2 0x2159 DUP6 MLOAD PUSH2 0x225 DUP11 PUSH1 0x40 MLOAD SWAP5 DUP6 SWAP4 PUSH1 0x20 DUP6 ADD SWAP8 DUP13 DUP10 SWAP2 SWAP3 PUSH1 0x80 SWAP4 SWAP7 SWAP6 SWAP5 SWAP2 SWAP7 PUSH1 0xA0 DUP5 ADD SWAP8 DUP5 MSTORE PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE ADD MSTORE JUMP JUMPDEST MLOAD SWAP1 PUSH2 0x100 GAS STATICCALL SWAP5 PUSH2 0x2169 PUSH2 0x1329 JUMP JUMPDEST DUP1 MLOAD SWAP7 DUP1 PUSH2 0x21A5 JUMPI JUMPDEST PUSH2 0x2185 JUMPI POP PUSH2 0x4F3 SWAP6 POP MLOAD SWAP1 MLOAD SWAP2 PUSH2 0x222D JUMP JUMPDEST PUSH1 0x1 SWAP7 PUSH2 0x21A1 SWAP7 POP DUP2 ADD PUSH1 0x20 SWAP1 DUP2 ADD SWAP6 POP ADD SWAP3 POP PUSH2 0x1FC7 SWAP2 POP POP JUMP JUMPDEST EQ SWAP1 JUMP JUMPDEST POP DUP7 ISZERO ISZERO PUSH2 0x2172 JUMP JUMPDEST PUSH2 0x1F9D JUMP JUMPDEST SWAP5 POP POP POP POP POP SWAP1 JUMP JUMPDEST POP SWAP5 POP POP POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x4F3 SWAP2 PUSH2 0x21D8 PUSH1 0x60 DUP4 PUSH2 0x44F JUMP JUMPDEST PUSH1 0x40 DUP3 MSTORE PUSH32 0x4142434445464748494A4B4C4D4E4F505152535455565758595A616263646566 PUSH1 0x20 DUP4 ADD MSTORE PUSH32 0x6768696A6B6C6D6E6F707172737475767778797A303132333435363738392D5F PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x23EC JUMP JUMPDEST SWAP4 SWAP2 SWAP1 SWAP3 SWAP4 DUP4 ISZERO DUP1 ISZERO PUSH2 0x231D JUMPI JUMPDEST DUP1 ISZERO PUSH2 0x2315 JUMPI JUMPDEST DUP1 ISZERO PUSH2 0x22FD JUMPI JUMPDEST PUSH2 0x22F3 JUMPI PUSH2 0x2257 DUP4 DUP7 PUSH2 0x2494 JUMP JUMPDEST ISZERO PUSH2 0x22F3 JUMPI PUSH1 0x40 MLOAD SWAP2 PUSH1 0x20 DUP4 MSTORE PUSH1 0x20 DUP1 DUP5 ADD MSTORE PUSH1 0x20 PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x60 DUP4 ADD MSTORE PUSH32 0xFFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC63254F PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2EFF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0xA0 DUP4 ADD MSTORE PUSH1 0x20 DUP3 PUSH1 0xC0 DUP2 PUSH1 0x5 PUSH1 0x0 NOT STATICCALL ISZERO PUSH2 0x244 JUMPI PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2EFF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP5 PUSH2 0x22ED SWAP4 DUP7 PUSH2 0x22E7 SWAP5 MLOAD DUP2 DUP2 DUP10 MULMOD SWAP5 MULMOD SWAP2 PUSH2 0x256F JUMP JUMPDEST SWAP2 PUSH2 0xF20 JUMP JUMPDEST SWAP1 ADDMOD ISZERO SWAP1 JUMP JUMPDEST POP POP POP POP POP PUSH1 0x0 SWAP1 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2EFF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP3 LT ISZERO PUSH2 0x2249 JUMP JUMPDEST POP DUP2 ISZERO PUSH2 0x2242 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2EFF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP5 LT ISZERO PUSH2 0x223B JUMP JUMPDEST DUP2 PUSH1 0x40 MLOAD SWAP2 DUP3 CALLDATACOPY KECCAK256 SWAP1 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x60 SWAP5 SWAP4 SWAP3 SWAP1 DUP4 DUP2 GT ISZERO PUSH2 0x23B2 JUMPI JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x23AA JUMPI JUMPDEST POP DUP3 DUP2 LT PUSH2 0x2367 JUMPI POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP5 POP SWAP2 DUP3 SWAP1 SUB SWAP2 ADD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND JUMPDEST DUP2 DUP2 ADD MLOAD DUP6 DUP3 ADD MSTORE PUSH1 0x1F NOT ADD SWAP1 DUP2 ISZERO PUSH2 0x2394 JUMPI SWAP1 PUSH2 0x237B JUMP JUMPDEST POP POP PUSH1 0x40 DUP2 DUP5 ADD PUSH1 0x0 PUSH1 0x20 DUP3 ADD MSTORE ADD PUSH1 0x40 MSTORE DUP3 MSTORE JUMP JUMPDEST SWAP1 POP CODESIZE PUSH2 0x235A JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x2351 JUMP JUMPDEST SWAP1 PUSH2 0x23C4 DUP3 PUSH2 0x486 JUMP JUMPDEST PUSH2 0x23D1 PUSH1 0x40 MLOAD SWAP2 DUP3 PUSH2 0x44F JUMP JUMPDEST DUP3 DUP2 MSTORE DUP1 SWAP3 PUSH2 0x23E2 PUSH1 0x1F NOT SWAP2 PUSH2 0x486 JUMP JUMPDEST ADD SWAP1 PUSH1 0x20 CALLDATASIZE SWAP2 ADD CALLDATACOPY JUMP JUMPDEST SWAP1 DUP2 MLOAD ISZERO PUSH2 0x248A JUMPI SWAP1 PUSH2 0x2419 PUSH2 0x2414 PUSH2 0x240D PUSH2 0x2408 DUP5 MLOAD PUSH2 0x1C34 JUMP JUMPDEST PUSH2 0x12C5 JUMP JUMPDEST PUSH1 0x3 SWAP1 DIV SWAP1 JUMP JUMPDEST PUSH2 0x23BA JUMP JUMPDEST SWAP2 PUSH1 0x20 DUP4 ADD SWAP1 DUP3 DUP1 MLOAD ADD SWAP1 PUSH1 0x20 DUP3 ADD SWAP3 DUP4 MLOAD SWAP5 PUSH1 0x0 DUP6 MSTORE JUMPDEST DUP4 DUP2 LT PUSH2 0x2440 JUMPI POP POP POP POP MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x4 SWAP2 ADD SWAP2 PUSH1 0x1 PUSH1 0x3F DUP5 MLOAD DUP3 DUP3 DUP3 PUSH1 0x12 SHR AND DUP9 ADD ADD MLOAD DUP5 MSTORE8 DUP3 DUP3 DUP3 PUSH1 0xC SHR AND DUP9 ADD ADD MLOAD DUP4 DUP6 ADD MSTORE8 DUP3 DUP3 DUP3 PUSH1 0x6 SHR AND DUP9 ADD ADD MLOAD PUSH1 0x2 DUP6 ADD MSTORE8 AND DUP6 ADD ADD MLOAD PUSH1 0x3 DUP3 ADD MSTORE8 ADD SWAP1 PUSH2 0x2431 JUMP JUMPDEST POP POP PUSH2 0x4F3 PUSH2 0x1314 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 LT DUP1 ISZERO SWAP1 PUSH2 0x2557 JUMPI JUMPDEST DUP1 ISZERO PUSH2 0x2546 JUMPI JUMPDEST PUSH2 0x253F JUMPI PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH32 0x5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B SWAP1 DUP3 SWAP1 DUP2 PUSH32 0xFFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC DUP3 MULMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 DUP2 DUP1 MULMOD MULMOD ADDMOD ADDMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP1 MULMOD EQ SWAP1 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP1 JUMP JUMPDEST POP DUP1 ISZERO DUP1 ISZERO PUSH2 0x24B4 JUMPI POP DUP2 ISZERO PUSH2 0x24B4 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP3 LT ISZERO PUSH2 0x24AD JUMP JUMPDEST SWAP1 SWAP3 PUSH1 0x0 SWAP3 SWAP1 DUP4 PUSH1 0xFF DUP2 DUP5 ISZERO DUP1 PUSH2 0x2B66 JUMPI JUMPDEST PUSH2 0x2B5B JUMPI PUSH2 0x258F DUP9 DUP8 PUSH2 0x2B6E JUMP JUMPDEST SWAP3 SWAP1 SWAP2 DUP3 ISZERO DUP1 PUSH2 0x2B53 JUMPI JUMPDEST PUSH2 0x2B18 JUMPI JUMPDEST POP DUP6 DUP2 SHR PUSH1 0x2 DUP7 PUSH1 0xFE SHR AND ADD JUMPDEST ISZERO PUSH2 0x2AFF JUMPI PUSH1 0x1 DUP7 DUP3 SHR AND PUSH1 0x2 DUP7 DUP4 SHR PUSH1 0x1 SHL AND ADD PUSH1 0x1 DUP2 EQ PUSH2 0x2AB4 JUMPI JUMPDEST PUSH1 0x2 DUP2 EQ PUSH2 0x2AA7 JUMPI JUMPDEST PUSH1 0x3 EQ PUSH2 0x2A9A JUMPI JUMPDEST PUSH1 0x1 SWAP9 PUSH1 0x0 NOT SWAP2 SWAP1 SWAP2 ADD SWAP7 SWAP5 SWAP6 SWAP5 DUP10 SWAP5 SWAP4 SWAP3 SWAP2 JUMPDEST DUP9 PUSH1 0x0 NOT GT PUSH2 0x266D JUMPI POP POP POP POP POP POP POP POP POP PUSH1 0x40 MLOAD SWAP2 PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x20 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD MSTORE PUSH1 0x20 PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH1 0x60 SHL SUB PUSH1 0x60 SHL NOT PUSH1 0xA0 DUP4 ADD MSTORE PUSH1 0x20 DUP3 PUSH1 0xC0 DUP2 PUSH1 0x5 PUSH1 0x0 NOT STATICCALL ISZERO PUSH2 0x244 JUMPI SWAP1 MLOAD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD SWAP1 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 SWAP6 SWAP7 SWAP8 SWAP9 PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH1 0x60 SHL SUB PUSH1 0x60 SHL NOT DUP7 PUSH1 0x2 MULMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP3 DUP1 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 DUP4 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP3 SWAP1 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 SWAP1 DUP16 DUP3 DUP2 DUP4 ADDMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SUB SWAP1 ADDMOD MULMOD PUSH1 0x3 MULMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP4 MULMOD SWAP13 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP3 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP12 DUP1 MULMOD ADDMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SWAP1 DUP2 SUB DUP12 ADDMOD SWAP1 MULMOD SWAP7 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP9 SWAP1 DUP3 SWAP1 DUP5 MULMOD ADDMOD SWAP7 DUP12 PUSH1 0x2 DUP13 PUSH1 0x1 DUP14 DUP5 SHR AND SWAP3 SHR PUSH1 0x1 SHL AND ADD DUP1 ISZERO PUSH2 0x2A7D JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x2A32 JUMPI JUMPDEST PUSH1 0x2 DUP2 EQ PUSH2 0x2A27 JUMPI JUMPDEST PUSH1 0x3 EQ PUSH2 0x2A1E JUMPI JUMPDEST DUP3 ISZERO PUSH2 0x2A0B JUMPI PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP9 SWAP1 DUP3 SWAP1 DUP16 SWAP1 MULMOD ADDMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP10 DUP3 SUB SWAP1 DUP3 SWAP1 DUP6 SWAP1 MULMOD ADDMOD SWAP8 DUP2 ISZERO PUSH2 0x28D1 JUMPI JUMPDEST PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP10 DUP1 MULMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP11 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP11 SWAP1 MULMOD SWAP13 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP5 SWAP1 MULMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP3 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP6 DUP2 SUB DUP2 DUP7 DUP1 MULMOD ADDMOD ADDMOD SWAP8 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP4 DUP5 SWAP2 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SWAP1 DUP11 DUP3 SUB SWAP1 ADDMOD MULMOD ADDMOD SWAP5 SWAP9 JUMPDEST PUSH1 0x0 NOT ADD SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x25EF JUMP JUMPDEST DUP9 PUSH2 0x27F4 JUMPI SWAP11 SWAP2 SWAP8 POP SWAP1 SWAP6 SWAP1 POP PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD SWAP11 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP13 DUP1 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 DUP14 MULMOD SWAP13 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP3 SWAP1 MULMOD SWAP12 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 DUP12 DUP2 SUB DUP3 ADDMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP13 SWAP1 ADDMOD MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH1 0x3 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP14 MULMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD SWAP12 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP3 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP5 DUP1 MULMOD ADDMOD SWAP12 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP4 DUP5 SWAP2 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SWAP1 DUP15 DUP3 SUB SWAP1 ADDMOD SWAP1 MULMOD ADDMOD SWAP5 PUSH2 0x28C0 JUMP JUMPDEST PUSH1 0x1 SWAP13 POP SWAP1 SWAP11 DUP13 SWAP9 POP SWAP1 SWAP7 POP SWAP1 POP PUSH2 0x28C0 JUMP JUMPDEST POP POP DUP4 DUP6 PUSH2 0x27B3 JUMP JUMPDEST DUP6 SWAP3 POP DUP5 SWAP2 POP PUSH2 0x27AB JUMP JUMPDEST PUSH32 0x6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296 SWAP3 POP PUSH32 0x4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5 SWAP2 POP PUSH2 0x27A2 JUMP JUMPDEST POP POP POP SWAP10 SWAP6 SWAP9 SWAP5 PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH1 0x60 SHL SUB PUSH1 0x60 SHL NOT SUB SWAP5 PUSH2 0x28C0 JUMP JUMPDEST SWAP3 POP DUP1 SWAP7 POP SWAP6 DUP2 SWAP3 PUSH2 0x25DB JUMP JUMPDEST SWAP7 SWAP8 POP DUP8 SWAP7 DUP10 SWAP5 POP PUSH2 0x25D3 JUMP JUMPDEST PUSH32 0x6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296 SWAP9 POP PUSH32 0x4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5 SWAP5 POP PUSH2 0x25CA JUMP JUMPDEST PUSH1 0x0 NOT ADD PUSH1 0x1 DUP7 DUP3 SHR AND PUSH1 0x2 DUP7 DUP4 SHR PUSH1 0x1 SHL AND ADD PUSH2 0x25AC JUMP JUMPDEST SWAP5 SWAP6 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2EFF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP2 SWAP7 DUP3 SUB SWAP1 ADDMOD SWAP5 DUP5 DUP7 ISZERO DUP1 PUSH2 0x2B4B JUMPI JUMPDEST ISZERO PUSH2 0x259F JUMPI SWAP9 POP POP POP POP POP POP POP POP POP SWAP1 JUMP JUMPDEST POP PUSH1 0x1 PUSH2 0x2B39 JUMP JUMPDEST POP DUP4 ISZERO PUSH2 0x259A JUMP JUMPDEST SWAP7 POP POP POP POP POP POP POP SWAP1 JUMP JUMPDEST POP DUP4 ISZERO PUSH2 0x2581 JUMP JUMPDEST SWAP2 SWAP1 PUSH32 0x6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296 PUSH32 0x4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5 SWAP2 DUP1 ISZERO PUSH2 0x2D22 JUMPI DUP5 PUSH2 0xC5A SWAP5 SWAP6 DUP4 EQ DUP1 PUSH2 0x2D19 JUMPI JUMPDEST ISZERO PUSH2 0x2D04 JUMPI POP PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 POP DUP3 PUSH1 0x2 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 DUP1 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP5 DUP5 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP6 SWAP1 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 SWAP1 DUP2 PUSH1 0x1 DUP3 ADDMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH32 0xFFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFE SWAP1 ADDMOD MULMOD PUSH1 0x3 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP5 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP4 DUP1 MULMOD ADDMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT PUSH1 0x1 DUP7 MULMOD SWAP6 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH1 0x1 SWAP1 MULMOD SWAP5 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP4 DUP5 SWAP2 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 SUB SWAP3 SWAP1 SWAP2 DUP3 SWAP1 DUP7 DUP3 SUB SWAP1 ADDMOD SWAP1 MULMOD ADDMOD SWAP1 PUSH2 0x2E44 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 PUSH2 0x2D10 SWAP4 PUSH2 0x2D28 JUMP JUMPDEST SWAP3 SWAP1 SWAP2 SWAP1 PUSH2 0x2E44 JUMP JUMPDEST POP DUP2 DUP5 EQ PUSH2 0x2BC7 JUMP JUMPDEST POP SWAP3 POP SWAP1 JUMP JUMPDEST SWAP2 SWAP4 SWAP1 DUP1 ISZERO PUSH2 0x2E3B JUMPI PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 SUB SWAP4 DUP5 SWAP1 DUP3 SWAP1 PUSH1 0x1 SWAP1 MULMOD ADDMOD SWAP4 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP4 DUP3 SUB SWAP1 DUP3 SWAP1 PUSH1 0x1 SWAP1 MULMOD ADDMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP5 DUP1 MULMOD SWAP4 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP6 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP6 SWAP1 MULMOD SWAP5 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP8 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP7 DUP2 SUB DUP2 DUP6 DUP1 MULMOD ADDMOD ADDMOD SWAP6 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP3 DUP4 SWAP1 DUP7 SWAP1 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SWAP1 DUP10 DUP3 SUB SWAP1 ADDMOD MULMOD ADDMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH1 0x1 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH1 0x1 MULMOD SWAP1 JUMP JUMPDEST POP PUSH1 0x1 SWAP2 POP DUP2 SWAP1 JUMP JUMPDEST SWAP2 SWAP1 SWAP3 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD MSTORE PUSH1 0x20 PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH1 0x60 SHL SUB PUSH1 0x60 SHL NOT PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0x20 DUP2 PUSH1 0xC0 DUP2 PUSH1 0x5 PUSH1 0x0 NOT STATICCALL ISZERO PUSH2 0x244 JUMPI MLOAD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP5 SWAP1 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 SWAP1 DUP3 SWAP1 DUP1 MULMOD SWAP1 MULMOD SWAP2 JUMP INVALID MOD 0x27 0xF7 0x2A CREATE 0xE6 DELEGATECALL SLT NOT JUMPDEST 0xD DUP11 0xCB 0xE4 CODESIZE 0xB2 DUP1 SWAP1 0xDD SLOAD JUMPDEST PUSH30 0x2331FCCF77723561F500FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAAD 0xA7 OR SWAP15 DUP5 RETURN 0xB9 0xCA 0xC2 0xFC PUSH4 0x25513608 SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBC0627F72AF0E6F412195B0D DUP11 0xCB 0xE4 CODESIZE 0xB2 DUP1 SWAP1 0xDD SLOAD JUMPDEST PUSH30 0x2331FCCF77723561F501A2646970667358221220890C9D20B5FC4DF99BDE 0xD2 SLOAD BLOBHASH SLT ISZERO DUP11 SAR SWAP4 EXTCODEHASH AND DUP15 0x2E DUP5 RETURNDATASIZE 0xC BYTE ISZERO LOG2 SELFDESTRUCT ORIGIN 0xCE DUP13 PUSH5 0x736F6C6343 STOP ADDMOD SHR STOP CALLER CODESIZE LT SWAP15 0xDC 0x26 0xE1 PUSH7 0xB5579352CE56A5 ADDMOD SGT OR PUSH31 0xB25208FD90D61F2F3783862202200000000000000000000000000000000000 ", + "sourceMap": "1195:14720:16:-:0;;;;;;1279:4:8;1255:31;;1195:14720:16;;;;;;;:::i;:::-;5301:1;1195:14720;;-1:-1:-1;;1195:14720:16;;-1:-1:-1;1195:14720:16;;;;;;;;;;-1:-1:-1;1195:14720:16;5325:22;;1195:14720;;5325:22;;;;;;:::i;:::-;5313:34;;;:::i;:::-;;;;;:::i;:::-;;11593:89:18;1195:14720:16;-1:-1:-1;9026:3:18;1195:14720:16;;9007:17:18;;;;;1195:14720:16;9049:9:18;;;;:::i;:::-;;1195:14720:16;9049:22:18;;:48;;;9026:3;9045:128;;1195:14720:16;9191:9:18;;;;:::i;:::-;;1195:14720:16;9191:22:18;:73;;;9026:3;9187:157;;9375:9;;;;:::i;:::-;;;9386:17;-1:-1:-1;;1195:14720:16;;;;5301:1;1195:14720;;;;;;:::i;:::-;;;9792:51:18;;1195:14720:16;;;:::i;:::-;;;-1:-1:-1;;1195:14720:16;5301:1;1195:14720;;;-1:-1:-1;1195:14720:16;;;9954:14:18;1195:14720:16;;;;;;;-1:-1:-1;;;;;1195:14720:16;;;;;;5301:1;1195:14720;;;;;;;;;9026:3:18;1195:14720:16;;;;;;;;;;;9026:3:18;1195:14720:16;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1195:14720:16;;9999:22:18;1195:14720:16;5301:1;1195:14720;;;-1:-1:-1;1195:14720:16;;;;-1:-1:-1;;;7148:33:18;1195:14720:16;;;;;;;;;;;;;;;9999:22:18;;;;;:::i;:::-;;;;1195:14720:16;8996:9:18;;1195:14720:16;;;;;;;;;;;;;;;;-1:-1:-1;1195:14720:16;;-1:-1:-1;1195:14720:16;;-1:-1:-1;1195:14720:16;;;;;;;;5301:1;1195:14720;;;;-1:-1:-1;;;;;;;;;;;1195:14720:16;;9999:22:18;1195:14720:16;;;;;;;;;;;;;;;;;;;;;;;;7148:33:18;1195:14720:16;;;;;;;;;;;;;;;5301:1;1195:14720;;;;;;;;;;;;;;;;;-1:-1:-1;1195:14720:16;;-1:-1:-1;1195:14720:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1195:14720:16;;5301:1;1195:14720;;;;;;-1:-1:-1;1195:14720:16;;;;;;;;-1:-1:-1;1195:14720:16;;;;;-1:-1:-1;1195:14720:16;;;;;;;;;;;;-1:-1:-1;1195:14720:16;;;;;-1:-1:-1;1195:14720:16;9792:51:18;1195:14720:16;;-1:-1:-1;;;9824:19:18;;1195:14720:16;;;9824:19:18;;;;;;:::i;:::-;;;;1195:14720:16;;;;-1:-1:-1;1195:14720:16;;;;;-1:-1:-1;1195:14720:16;9187:157:18;9319:9;;9291:38;9319:9;;;:::i;:::-;;1195:14720:16;;-1:-1:-1;;;9291:38:18;;1195:14720:16;;;9291:38:18;;;;:::i;9191:73::-;9233:9;;;;;:::i;:::-;;1195:14720:16;;;;;;;;;;;;9191:73:18;-1:-1:-1;;;;;;;9191:73:18;;1195:14720:16;;;;;;7148:33:18;1195:14720:16;;;;;;9045:128:18;9148:9;;9124:34;9148:9;;;:::i;:::-;;1195:14720:16;;-1:-1:-1;;;9124:34:18;;1195:14720:16;;;9124:34:18;;;;:::i;9049:48::-;9075:9;;;;;;:::i;:::-;;1195:14720:16;9075:22:18;;9049:48;;9007:17;;;11593:89;1195:14720:16;;;;;;;;1255:31:8;1195:14720:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1195:14720:16;;;;-1:-1:-1;;;;;1195:14720:16;;;;;;;;;;:::o;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;1195:14720:16;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;1195:14720:16;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;7148:33:18;1195:14720:16;;;;;;;:::o" }, "deployedBytecode": { "functionDebugData": { "abi_decode_array_bytes_calldata_dyn_calldata": { - "entryPoint": 1394, + "entryPoint": 1390, "id": null, "parameterSlots": 1, "returnSlots": 2 }, + "abi_decode_array_bytes_dyn": { + "entryPoint": 4271, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_available_length_array_bytes_dyn": { + "entryPoint": 4155, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, "abi_decode_available_length_bytes": { - "entryPoint": 1189, + "entryPoint": 1185, "id": null, "parameterSlots": 3, "returnSlots": 1 }, "abi_decode_bytes": { - "entryPoint": 1244, + "entryPoint": 1240, "id": null, "parameterSlots": 2, "returnSlots": 1 @@ -234607,7 +235763,7 @@ "returnSlots": 2 }, "abi_decode_bytes_fromMemory": { - "entryPoint": 5986, + "entryPoint": 6515, "id": null, "parameterSlots": 2, "returnSlots": 1 @@ -234619,13 +235775,13 @@ "returnSlots": 1 }, "abi_decode_struct_SignatureWrapper": { - "entryPoint": 5821, + "entryPoint": 6324, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_struct_WebAuthnAuth_fromMemory": { - "entryPoint": 6052, + "entryPoint": 6581, "id": null, "parameterSlots": 2, "returnSlots": 1 @@ -234637,39 +235793,45 @@ "returnSlots": 1 }, "abi_decode_uint256_fromMemory": { - "entryPoint": 7883, + "entryPoint": 8135, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_uint256t_bytes_calldata": { - "entryPoint": 2967, + "entryPoint": 3115, "id": null, "parameterSlots": 1, "returnSlots": 3 }, "abi_decode_uint256t_uint256_fromMemory": { - "entryPoint": 5964, + "entryPoint": 6493, "id": null, "parameterSlots": 2, "returnSlots": 2 }, - "abi_encode_bytes": { - "entryPoint": 2498, + "abi_encode_address": { + "entryPoint": null, "id": null, - "parameterSlots": 2, + "parameterSlots": 1, "returnSlots": 1 }, - "abi_encode_bytes32_address": { + "abi_encode_address_uint256_bytes32_bytes32_bytes32_uint256_bytes32_bytes32": { "entryPoint": null, "id": null, + "parameterSlots": 9, + "returnSlots": 1 + }, + "abi_encode_bytes": { + "entryPoint": 2646, + "id": null, "parameterSlots": 2, "returnSlots": 1 }, - "abi_encode_bytes32_address_uint256_bytes32_bytes32_bytes32_uint256_bytes32_bytes32": { + "abi_encode_bytes32_address": { "entryPoint": null, "id": null, - "parameterSlots": 9, + "parameterSlots": 2, "returnSlots": 1 }, "abi_encode_bytes32_bytes32": { @@ -234685,37 +235847,37 @@ "returnSlots": 1 }, "abi_encode_bytes_calldata": { - "entryPoint": 7088, + "entryPoint": 7340, "id": null, "parameterSlots": 3, "returnSlots": 1 }, "abi_encode_bytes_calldata_ptr": { - "entryPoint": 4322, + "entryPoint": 4870, "id": null, "parameterSlots": 3, "returnSlots": 1 }, "abi_encode_bytes_calldata_to_bytes": { - "entryPoint": 6835, + "entryPoint": 7087, "id": null, "parameterSlots": 3, "returnSlots": 1 }, "abi_encode_bytes_memory_ptr": { - "entryPoint": 3618, + "entryPoint": 3758, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_encode_bytes_to_bytes": { - "entryPoint": 2461, + "entryPoint": 2609, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_encode_packed_bytes_bytes32": { - "entryPoint": 7853, + "entryPoint": 8105, "id": null, "parameterSlots": 3, "returnSlots": 1 @@ -234726,14 +235888,14 @@ "parameterSlots": 2, "returnSlots": 1 }, - "abi_encode_uint256_11204": { + "abi_encode_uint256_11558": { "entryPoint": null, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "abi_encode_uint256_bytes_calldata_bytes": { - "entryPoint": 6868, + "entryPoint": 7120, "id": null, "parameterSlots": 5, "returnSlots": 1 @@ -234745,31 +235907,31 @@ "returnSlots": 1 }, "access_calldata_tail_bytes_calldata": { - "entryPoint": 3882, + "entryPoint": 4022, "id": null, "parameterSlots": 2, "returnSlots": 2 }, "allocate_and_zero_memory_array_string": { - "entryPoint": 8894, + "entryPoint": 9146, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "allocate_memory": { - "entryPoint": 1145, + "entryPoint": 1141, "id": null, "parameterSlots": 0, "returnSlots": 1 }, "allocate_memory_array_bytes": { - "entryPoint": 4336, + "entryPoint": 4884, "id": null, "parameterSlots": 0, "returnSlots": 1 }, "array_allocation_size_bytes": { - "entryPoint": 1162, + "entryPoint": 1158, "id": null, "parameterSlots": 1, "returnSlots": 1 @@ -234781,37 +235943,43 @@ "returnSlots": 1 }, "bytes_concat_bytes4_bytes32": { - "entryPoint": 4284, + "entryPoint": 4832, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "calldata_array_index_access_struct_Call_calldata_dyn_calldata": { - "entryPoint": 4179, + "entryPoint": 4732, "id": null, "parameterSlots": 3, "returnSlots": 1 }, + "calldata_array_index_range_access_bytes_calldata": { + "entryPoint": 4126, + "id": null, + "parameterSlots": 3, + "returnSlots": 2 + }, "checked_add_uint256": { - "entryPoint": 4271, + "entryPoint": 4819, "id": null, "parameterSlots": 2, "returnSlots": 1 }, - "checked_add_uint256_11193": { - "entryPoint": 4228, + "checked_add_uint256_11547": { + "entryPoint": 4776, "id": null, "parameterSlots": 1, "returnSlots": 1 }, - "checked_add_uint256_11243": { - "entryPoint": 4243, + "checked_add_uint256_11598": { + "entryPoint": 4791, "id": null, "parameterSlots": 1, "returnSlots": 1 }, - "checked_add_uint256_11253": { - "entryPoint": 4257, + "checked_add_uint256_11607": { + "entryPoint": 4805, "id": null, "parameterSlots": 1, "returnSlots": 1 @@ -234823,19 +235991,19 @@ "returnSlots": 1 }, "checked_mul_uint256": { - "entryPoint": 6968, + "entryPoint": 7220, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "checked_sub_uint256": { - "entryPoint": 3732, + "entryPoint": 3872, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "clean_up_bytearray_end_slots_bytes_storage": { - "entryPoint": 5344, + "entryPoint": 5851, "id": null, "parameterSlots": 3, "returnSlots": 0 @@ -234846,32 +236014,44 @@ "parameterSlots": 1, "returnSlots": 1 }, + "cleanup_bytes4": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, "clear_storage_range_bytes1": { - "entryPoint": 5321, + "entryPoint": 5828, "id": null, "parameterSlots": 2, "returnSlots": 0 }, "convert_bytes_to_fixedbytes_from_bytes_calldata_to_bytes4": { - "entryPoint": 3932, + "entryPoint": 4072, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "convert_bytes_to_fixedbytes_from_bytes_to_bytes32": { - "entryPoint": 5929, + "entryPoint": 6458, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "convert_bytes_to_fixedbytes_from_bytes_to_bytes4": { + "entryPoint": 4373, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "copy_memory_to_memory_with_cleanup": { - "entryPoint": 2426, + "entryPoint": 2574, "id": null, "parameterSlots": 3, "returnSlots": 0 }, "external_fun_REPLAYABLE_NONCE_KEY": { - "entryPoint": 2938, + "entryPoint": 3086, "id": null, "parameterSlots": 0, "returnSlots": 0 @@ -234883,49 +236063,49 @@ "returnSlots": 0 }, "external_fun_addOwnerPublicKey": { - "entryPoint": 1329, + "entryPoint": 1325, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "external_fun_canSkipChainIdValidation": { - "entryPoint": 3133, + "entryPoint": 3281, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "external_fun_domainSeparator": { - "entryPoint": 3591, + "entryPoint": 3731, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "external_fun_eip712Domain": { - "entryPoint": 2777, + "entryPoint": 2925, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "external_fun_entryPoint": { - "entryPoint": 3288, + "entryPoint": 3436, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "external_fun_execute": { - "entryPoint": 3335, + "entryPoint": 3479, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "external_fun_executeBatch": { - "entryPoint": 1659, + "entryPoint": 1651, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "external_fun_executeWithoutChainIdValidation": { - "entryPoint": 1487, + "entryPoint": 1483, "id": null, "parameterSlots": 0, "returnSlots": 0 @@ -234937,31 +236117,31 @@ "returnSlots": 0 }, "external_fun_getUserOpHashWithoutChainId": { - "entryPoint": 3191, + "entryPoint": 3339, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "external_fun_implementation": { - "entryPoint": 2210, + "entryPoint": 2198, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "external_fun_initialize": { - "entryPoint": 2264, + "entryPoint": 2252, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "external_fun_isOwnerAddress": { - "entryPoint": 3249, + "entryPoint": 3397, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "external_fun_isOwnerBytes": { - "entryPoint": 1274, + "entryPoint": 1270, "id": null, "parameterSlots": 0, "returnSlots": 0 @@ -234979,13 +236159,13 @@ "returnSlots": 0 }, "external_fun_nextOwnerIndex": { - "entryPoint": 3548, + "entryPoint": 3688, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "external_fun_ownerAtIndex": { - "entryPoint": 3082, + "entryPoint": 3230, "id": null, "parameterSlots": 0, "returnSlots": 0 @@ -234997,43 +236177,43 @@ "returnSlots": 0 }, "external_fun_proxiableUUID": { - "entryPoint": 2130, + "entryPoint": 2118, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "external_fun_removeLastOwner": { - "entryPoint": 3447, + "entryPoint": 3587, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "external_fun_removeOwnerAtIndex": { - "entryPoint": 3018, + "entryPoint": 3166, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "external_fun_removedOwnersCount": { - "entryPoint": 1810, + "entryPoint": 1798, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "external_fun_replaySafeHash": { - "entryPoint": 3518, + "entryPoint": 3658, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "external_fun_signedStaticCall": { - "entryPoint": 2515, + "entryPoint": 2663, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "external_fun_upgradeToAndCall": { - "entryPoint": 1853, + "entryPoint": 1841, "id": null, "parameterSlots": 0, "returnSlots": 0 @@ -235045,13 +236225,13 @@ "returnSlots": 0 }, "extract_byte_array_length": { - "entryPoint": 4405, + "entryPoint": 4953, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "extract_returndata": { - "entryPoint": 4357, + "entryPoint": 4905, "id": null, "parameterSlots": 0, "returnSlots": 1 @@ -235063,193 +236243,187 @@ "returnSlots": 1 }, "finalize_allocation": { - "entryPoint": 1107, + "entryPoint": 1103, "id": null, "parameterSlots": 2, "returnSlots": 0 }, "fun__isValidSignature": { - "entryPoint": 6208, - "id": 7290, + "entryPoint": 6737, + "id": 7371, "parameterSlots": 3, "returnSlots": 1 }, "fun_addOwnerAtIndex": { - "entryPoint": 5413, - "id": 7891, + "entryPoint": 5920, + "id": 8000, "parameterSlots": 2, "returnSlots": 0 }, "fun_call": { - "entryPoint": 6433, - "id": 7174, + "entryPoint": 6979, + "id": 7249, "parameterSlots": 3, "returnSlots": 0 }, "fun_calldataKeccak": { - "entryPoint": 8761, + "entryPoint": 9013, "id": 160, "parameterSlots": 2, "returnSlots": 1 }, "fun_canSkipChainIdValidation": { - "entryPoint": 4668, - "id": 7147, + "entryPoint": 5216, + "id": 7222, "parameterSlots": 1, "returnSlots": 1 }, "fun_checkOwner": { - "entryPoint": 5276, - "id": 7982, + "entryPoint": 5783, + "id": 8091, "parameterSlots": 0, "returnSlots": 0 }, "fun_domainNameAndVersion": { - "entryPoint": 6759, - "id": 7316, + "entryPoint": 7011, + "id": 7397, "parameterSlots": 0, "returnSlots": 2 }, "fun_domainSeparator": { - "entryPoint": 5115, - "id": 6658, + "entryPoint": 5622, + "id": 6669, "parameterSlots": 0, "returnSlots": 1 }, "fun_ecAff_add": { - "entryPoint": 10866, - "id": 1762, + "entryPoint": 11118, + "id": 1773, "parameterSlots": 2, "returnSlots": 2 }, "fun_ecAff_isOnCurve": { - "entryPoint": 9112, - "id": 1674, + "entryPoint": 9364, + "id": 1685, "parameterSlots": 2, "returnSlots": 1 }, "fun_ecZZ_AddN": { - "entryPoint": 11308, - "id": 1533, + "entryPoint": 11560, + "id": 1544, "parameterSlots": 4, "returnSlots": 4 }, "fun_ecZZ_SetAff": { - "entryPoint": 11592, - "id": 1460, + "entryPoint": 11844, + "id": 1471, "parameterSlots": 4, "returnSlots": 2 }, "fun_ecZZ_mulmuladd_S_asm": { - "entryPoint": 9331, - "id": 1856, + "entryPoint": 9583, + "id": 1867, "parameterSlots": 4, "returnSlots": 1 }, "fun_ecdsa_verify": { - "entryPoint": 8497, - "id": 674, + "entryPoint": 8749, + "id": 685, "parameterSlots": 5, "returnSlots": 1 }, "fun_eip712Hash": { - "entryPoint": 7384, - "id": 6679, + "entryPoint": 7636, + "id": 6690, "parameterSlots": 1, "returnSlots": 1 }, "fun_encode": { - "entryPoint": 8944, - "id": 2392, + "entryPoint": 9196, + "id": 2403, "parameterSlots": 2, "returnSlots": 1 }, "fun_encodeURL": { - "entryPoint": 8394, - "id": 2338, + "entryPoint": 8646, + "id": 2349, "parameterSlots": 1, "returnSlots": 1 }, "fun_getUserOpHashWithoutChainId": { - "entryPoint": 4799, - "id": 7095, + "entryPoint": 5347, + "id": 7170, "parameterSlots": 1, "returnSlots": 1 }, - "fun_initializeOwners": { - "entryPoint": 6485, - "id": 7847, - "parameterSlots": 1, - "returnSlots": 0 - }, "fun_isOwnerAddress": { - "entryPoint": 5077, - "id": 7659, + "entryPoint": 5584, + "id": 7768, "parameterSlots": 1, "returnSlots": 1 }, "fun_isOwnerBytes": { - "entryPoint": 4141, - "id": 7695, + "entryPoint": 4716, + "id": 7804, "parameterSlots": 1, "returnSlots": 1 }, "fun_isValidSignature": { - "entryPoint": 3836, - "id": 6604, + "entryPoint": 3976, + "id": 6615, "parameterSlots": 3, "returnSlots": 1 }, "fun_isValidSignatureNow": { - "entryPoint": 7501, - "id": 6160, + "entryPoint": 7753, + "id": 6171, "parameterSlots": 3, "returnSlots": 1 }, "fun_onImplementation": { "entryPoint": null, - "id": 2507, + "id": 2518, "parameterSlots": 0, "returnSlots": 1 }, "fun_ownerAtIndex": { - "entryPoint": 4463, - "id": 7710, + "entryPoint": 5011, + "id": 7819, "parameterSlots": 1, "returnSlots": 1 }, "fun_ownerCount": { - "entryPoint": 3777, - "id": 7740, + "entryPoint": 3917, + "id": 7849, "parameterSlots": 0, "returnSlots": 1 }, "fun_removeOwnerAtIndex": { - "entryPoint": 7105, - "id": 7958, + "entryPoint": 7357, + "id": 8067, "parameterSlots": 3, "returnSlots": 0 }, "fun_slice": { - "entryPoint": 8772, - "id": 2835, + "entryPoint": 9024, + "id": 2846, "parameterSlots": 3, "returnSlots": 1 }, "fun_validateUserOp_inner": { - "entryPoint": 3986, + "entryPoint": 4407, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "fun_verify": { - "entryPoint": 7898, - "id": 8368, + "entryPoint": 8150, + "id": 8477, "parameterSlots": 4, "returnSlots": 1 }, "increment_uint256": { - "entryPoint": 3821, + "entryPoint": 3961, "id": null, "parameterSlots": 1, "returnSlots": 1 @@ -235261,55 +236435,55 @@ "returnSlots": 1 }, "memory_array_index_access_bytes": { - "entryPoint": 7825, + "entryPoint": 8077, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "memory_array_index_access_bytes_dyn": { - "entryPoint": 6465, + "entryPoint": 4348, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "modifier_receiverFallback": { - "entryPoint": 5220, - "id": 2428, + "entryPoint": 5727, + "id": 2439, "parameterSlots": 0, "returnSlots": 0 }, "packed_hashed_bytes_calldata_uint256_to_bytes_uint": { - "entryPoint": 6912, + "entryPoint": 7164, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "packed_hashed_bytes_uint256_to_bytes_uint": { - "entryPoint": 3641, + "entryPoint": 3781, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "panic_error_0x11": { - "entryPoint": 3710, + "entryPoint": 3850, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "panic_error_0x32": { - "entryPoint": 4157, + "entryPoint": 4326, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "panic_error_0x41": { - "entryPoint": 1085, + "entryPoint": 1081, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "read_from_calldatat_address": { - "entryPoint": 4218, + "entryPoint": 4766, "id": null, "parameterSlots": 1, "returnSlots": 1 @@ -235321,19 +236495,25 @@ "returnSlots": 1 }, "revert_forward": { - "entryPoint": 7841, + "entryPoint": 8093, "id": null, "parameterSlots": 0, "returnSlots": 0 }, + "shift_right_uint256_uint8": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, "storage_set_to_zero_bytes": { - "entryPoint": 6992, + "entryPoint": 7244, "id": null, "parameterSlots": 1, "returnSlots": 0 }, "string_concat_stringliteral_113c_string_stringliteral_6e9f": { - "entryPoint": 7744, + "entryPoint": 7996, "id": null, "parameterSlots": 1, "returnSlots": 1 @@ -235350,7 +236530,7 @@ "parameterSlots": 1, "returnSlots": 0 }, - "update_storage_value_offset_uint256_to_uint256_11223": { + "update_storage_value_offset_uint256_to_uint256_11546": { "entryPoint": null, "id": null, "parameterSlots": 1, @@ -235365,21 +236545,21 @@ }, "generatedSources": [], "immutableReferences": { - "2467": [ + "2478": [ { "length": 32, - "start": 1912 + "start": 1900 }, { "length": 32, - "start": 2150 + "start": 2138 } ] }, "linkReferences": {}, - "object": "60806040526004361015610015575b3661146457005b60003560e01c8063066a1eb7146101e55780630db02622146101e05780630f0f3f24146101db5780631626ba7e146101d657806317452caa146101d157806319822f7c146101cc5780631ca5393f146101c757806329565e3b146101c25780632c2abd1e146101bd57806334fcd5be146101b857806336d9cf9b146101b35780634f1ef286146101ae57806352d1902d146101a95780635c60da1b146101a45780636f2de70e1461019f578063737bebdd1461019a57806384b0196e1461019557806388ce4c7c1461019057806389625b571461018b5780638ea69029146101865780639f9bcb3414610181578063a05bd44e1461017c578063a2e1a8d814610177578063b0d691fe14610172578063b61d27f61461016d578063b819736714610168578063ce1506be14610163578063d948fd2e1461015e5763f698da250361000e57610e07565b610ddc565b610dbe565b610d77565b610d07565b610cd8565b610cb1565b610c77565b610c3d565b610c0a565b610bca565b610b7a565b610ad9565b6109d3565b6108d8565b6108a2565b610852565b61073d565b610712565b61067b565b6105cf565b610531565b6104fa565b6103a1565b610375565b610323565b61027d565b610249565b3461024457604036600319011261024457602060ff6102386004356102336024359161022560405193849288840160209093929193604081019481520152565b03601f198101835282610453565b610e39565b54166040519015158152f35b600080fd5b34610244576000366003190112610244576020610264610ec1565b604051908152f35b6001600160a01b0381160361024457565b34610244576020366003190112610244576102f460043561029d8161026c565b6102a561149c565b6040519060018060a01b03166020820152602081526102c5604082610453565b600080516020612de383398151915254906102df82610eed565b600080516020612de383398151915255611525565b005b9181601f84011215610244578235916001600160401b038311610244576020838186019501011161024457565b34610244576040366003190112610244576004356024356001600160401b0381116102445760209161035c6103629236906004016102f6565b91610efc565b6040516001600160e01b03199091168152f35b346102445760003660031901126102445760206040516107088152f35b90816101209103126102445790565b34610244576060366003190112610244576004356001600160401b038111610244576103d1903690600401610392565b604435602435734337084d9e255ff0702461cf8895ce9e3b5ff10719330161042d57610401829161041894610f92565b9161041c575b506040519081529081906020820190565b0390f35b60009081803892335af15038610407565b6282b42960e81b60005260046000fd5b634e487b7160e01b600052604160045260246000fd5b90601f801991011681019081106001600160401b0382111761047457604052565b61043d565b6040519061048860c083610453565b565b6001600160401b03811161047457601f01601f191660200190565b9291926104b18261048a565b916104bf6040519384610453565b829481845281830111610244578281602093846000960137010152565b9080601f83011215610244578160206104f7933591016104a5565b90565b34610244576020366003190112610244576004356001600160401b0381116102445760ff61023861023360209336906004016104dc565b34610244576040366003190112610244576102f46024356102c560043561055661149c565b6040805160208101929092528101929092528160608101610225565b906020600319830112610244576004356001600160401b0381116102445760040160009280601f830112156105cb578135936001600160401b0385116105c857506020808301928560051b010111610244579190565b80fd5b8380fd5b6105d836610572565b90734337084d9e255ff0702461cf8895ce9e3b5ff108330361042d5760005b828110156102f45760006106108260051b840184610f2a565b61061a8183610f5c565b6106238161123c565b1561065f575082916106369136916104a5565b60208151910182305af1610648611105565b901561065757506001016105f7565b602081519101fd5b631d8370a360e11b84526001600160e01b031916600452602483fd5b61068436610572565b90734337084d9e255ff0702461cf8895ce9e3b5ff1083303610705575b60005b8281106106ad57005b806106ff6106be6001938686611053565b356106c88161026c565b60206106d5848888611053565b01356106f96106f26106e8868a8a611053565b6040810190610f2a565b36916104a5565b91611921565b016106a4565b61070d61149c565b6106a1565b34610244576000366003190112610244576020600080516020612e4383398151915254604051908152f35b6040366003190112610244576004356107558161026c565b6024356001600160401b038111610244576107749036906004016102f6565b90917f00000000000000000000000000000000000000000000000000000000000000003014610844576107a561149c565b60018060a01b03163d6000526352d1902d600152600080516020612e23833981519152602060016004601d855afa510361083657807fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28181600080516020612e238339815191525561081757005b816000926040519485378338925af41561082d57005b3d6000823e3d90fd5b6355299b496001526004601dfd5b639f03a0266000526004601cfd5b3461024457600036600319011261024457307f000000000000000000000000000000000000000000000000000000000000000003610844576020604051600080516020612e238339815191528152f35b3461024457600036600319011261024457600080516020612e23833981519152546040516001600160a01b039091168152602090f35b6108e136610572565b600080516020612de383398151915254610969576001600160401b038111610474578060051b91604051916109196020850184610453565b825260208201928101903682116102445780935b82851061093d576102f484611955565b84356001600160401b0381116102445760209161095e8392369086016104dc565b81520194019361092d565b6302ed543d60e51b60005260046000fd5b60005b83811061098d5750506000910152565b818101518382015260200161097d565b906020916109b68151809281855285808601910161097a565b601f01601f1916010190565b9060206104f792818152019061099d565b34610244576020366003190112610244576004356001600160401b038111610244578060040160806003198336030112610244576044820135610a1581611084565b4211610ab257610a4c610a39610a2d610a50936110bc565b60208151910120611cd8565b610a466064860185610f2a565b91611840565b1590565b610aa157600091610a6f826024610a67869561107a565b930190610f2a565b90610a7f604051809381936110e2565b03915afa610a8b611105565b90156106575761041890604051918291826109c2565b638baa579f60e01b60005260046000fd5b610abe610ad591611084565b630f88f04960e41b60005260045242602452604490565b6000fd5b3461024457600036600319011261024457610b19610b27610af8611a67565b604092919251938493600f60f81b855260e0602086015260e085019061099d565b90838203604085015261099d565b466060830152306080830152600060a083015281810360c0830152602060605191828152019060809060005b818110610b61575050500390f35b8251845285945060209384019390920191600101610b53565b346102445760003660031901126102445760206040516121058152f35b9060406003198301126102445760043591602435906001600160401b03821161024457610bc6916004016102f6565b9091565b3461024457610bd836610b97565b90610be161149c565b6001610beb610ec1565b14610bf9576102f492611bc1565b63948bf89760e01b60005260046000fd5b3461024457602036600319011261024457610418610c2960043561116f565b60405191829160208352602083019061099d565b34610244576020366003190112610244576004356001600160e01b03198116810361024457610c6d60209161123c565b6040519015158152f35b34610244576020366003190112610244576004356001600160401b03811161024457610264610cac6020923690600401610392565b6112bf565b34610244576020366003190112610244576020610c6d600435610cd38161026c565b6113d5565b34610244576000366003190112610244576020604051734337084d9e255ff0702461cf8895ce9e3b5ff1088152f35b606036600319011261024457600435610d1f8161026c565b604435906024356001600160401b038311610244576106f9610d486102f49436906004016102f6565b734337084d9e255ff0702461cf8895ce9e3b5ff1083303610d6a5736916104a5565b610d7261149c565b6106f2565b3461024457610d8536610b97565b90610d8e61149c565b610d96610ec1565b9260018411610da9576102f49350611bc1565b83631047e35560e31b60005260045260246000fd5b34610244576020366003190112610244576020610264600435611cd8565b34610244576000366003190112610244576020600080516020612de383398151915254604051908152f35b346102445760003660031901126102445760206102646113fb565b90610e356020928281519485920161097a565b0190565b6020610e5291816040519382858094519384920161097a565b81017f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f50381520301902090565b634e487b7160e01b600052601160045260246000fd5b600080516020612e038339815191520390600080516020612e038339815191528211610ebc57565b610e7e565b600080516020612de383398151915254600080516020612e43833981519152548103908111610ebc5790565b6000198114610ebc5760010190565b90610f0a610f0f9392611cd8565b611840565b610f1f576001600160e01b031990565b630b135d3f60e11b90565b903590601e198136030182121561024457018035906001600160401b0382116102445760200191813603831361024457565b356001600160e01b0319811692919060048210610f77575050565b6001600160e01b031960049290920360031b82901b16169150565b602081013560401c91610fa86060830183610f2a565b6316155e8f60e11b916001600160e01b031991610fc491610f5c565b16036110155750610fd4816112bf565b916121058103611001575090610a46610ff3925b610100810190610f2a565b610ffc57600190565b600090565b632ef3781360e01b60005260045260246000fd5b916121058114611001575090610a46610ff392610fe8565b61103860ff91610e39565b541690565b634e487b7160e01b600052603260045260246000fd5b91908110156110755760051b81013590605e1981360301821215610244570190565b61103d565b356104f78161026c565b906107088201809211610ebc57565b9060158201809211610ebc57565b9060028201809211610ebc57565b91908201809211610ebc57565b906040519163737bebdd60e01b6020840152602483015260248252610488604483610453565b908092918237016000815290565b604051906110ff602083610453565b60008252565b3d15611130573d906111168261048a565b916111246040519384610453565b82523d6000602084013e565b606090565b90600182811c92168015611165575b602083101461114f57565b634e487b7160e01b600052602260045260246000fd5b91607f1691611144565b6000527f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f5026020526040600020604051908160008254926111ae84611135565b808452936001811690811561121a57506001146111d3575b506104f792500382610453565b90506000929192526020600020906000915b8183106111fe5750509060206104f792820101386111c6565b60209193508060019154838588010152019101909183926111e5565b9050602092506104f794915060ff191682840152151560051b820101386111c6565b63ffffffff60e01b166329565e3b60e01b81149081156112ae575b811561129d575b811561128c575b811561127b575b5061127657600090565b600190565b63278f794360e11b1490503861126c565b63b819736760e01b81149150611265565b6389625b5760e01b8114915061125e565b6303c3cfc960e21b81149150611257565b8035906112cb8261026c565b61139860208201356102256112e36040850185610f2a565b908160405191823720936113036112fd6060830183610f2a565b90612239565b90608081013560a0820135906113256112fd60c08501359460e0810190610f2a565b93604051988997602089019b8c949192610100969399989794919961012087019a7f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e885260018060a01b0316602088015260408701526060860152608085015260a084015260c083015260e08201520152565b5190206040805160208101928352734337084d9e255ff0702461cf8895ce9e3b5ff108918101919091526113cf8160608101610225565b51902090565b61103860ff916040519060018060a01b0316602082015260208152610233604082610453565b611403611a67565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526113cf60c082610453565b60003560e01c63bc197c81811463f23a6e6182141763150b7a0282141761149357633c10b94e6000526004601cfd5b6020526020603cf35b6114a5336113d5565b80156114c0575b610488576282b42960e81b60005260046000fd5b503033146114ac565b8181106114d4575050565b600081556001016114c9565b9190601f81116114ef57505050565b610488926000526020600020906020601f840160051c8301931061151b575b601f0160051c01906114c9565b909150819061150e565b61152e8161102d565b61169c5761153b81610e39565b600160ff19825416179055816000527f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f502602052604060002081516001600160401b03811161047457611597816115918454611135565b846114e0565b6020601f821160011461160b57916115ec827f38109edc26e166b5579352ce56a50813177eb25208fd90d61f2f37838622022095936115fb95600091611600575b508160011b916000199060031b1c19161790565b90555b604051918291826109c2565b0390a2565b9050840151386115d8565b601f1982169061162084600052602060002090565b9160005b8181106116845750926115fb9492600192827f38109edc26e166b5579352ce56a50813177eb25208fd90d61f2f37838622022098961061166b575b5050811b0190556115ef565b85015160001960f88460031b161c19169055388061165f565b9192602060018192868a015181550194019201611624565b60405163468b12ad60e11b81529081906116b990600483016109c2565b0390fd5b602081830312610244578035906001600160401b03821161024457016040818303126102445760405191604083018381106001600160401b03821117610474576040528135835260208201356001600160401b0381116102445761172192016104dc565b602082015290565b60208151910151906020811061173d575090565b6000199060200360031b1b1690565b9190826040910312610244576020825192015190565b81601f82011215610244576020815191019061177d8161048a565b9261178b6040519485610453565b81845281830111610244576104f791602084019061097a565b602081830312610244578051906001600160401b03821161024457019060c082820312610244576117d3610479565b9180516001600160401b03811161024457826117f0918301611762565b835260208101516001600160401b0381116102445760a092611813918301611762565b6020840152604081015160408401526060810151606084015260808101516080840152015160a082015290565b92919061184f918101906116bd565b9061185a825161116f565b9160208351146118d8578251936040851461188a576040516327755b9160e11b8152806116b986600483016109c2565b6102256118d36118be6118aa8760208080999b6104f79b0101910161174c565b9690950151602080825183010191016117a4565b92604051928391602083019190602083019252565b611eda565b91929091906001600160a01b036118ee85611729565b11611906576020806104f79495015192015191611d4d565b60405163bff1ac6560e01b8152806116b986600483016109c2565b916000928392602083519301915af1611938611105565b90156106575750565b80518210156110755760209160051b010190565b90600080516020612de38339815191525460005b8351811015611a5257602061197e8286611941565b5151141580611a3c575b611a155760206119988286611941565b515114806119f3575b6119cc57806119c66119b560019387611941565b51936119c081610eed565b94611525565b01611969565b6119d96116b99185611941565b5160405163bff1ac6560e01b8152918291600483016109c2565b506001600160a01b03611a0f611a098387611941565b51611729565b116119a1565b611a226116b99185611941565b516040516327755b9160e11b8152918291600483016109c2565b506040611a498286611941565b51511415611988565b50600080516020612de3833981519152559050565b6040908151611a768382610453565b601281527111da585b9bc814db585c9d0815d85b1b195d60721b602082015291611aa281519182610453565b60018152603160f81b602082015290565b908060209392818452848401376000828201840152601f01601f1916010190565b92916104f79492611af2928552606060208601526060850191611ab3565b91604081840391015261099d565b60209082604051938492833781017f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f50381520301902090565b600281901b91906001600160fe1b03811603610ebc57565b611b5a8154611135565b9081611b64575050565b81601f60009311600114611b76575055565b81835260208320611b9291601f0160051c8101906001016114c9565b808252602082209081548360011b9084198560031b1c191617905555565b9160206104f7938181520191611ab3565b9190611bcc8361116f565b805115611cc25780516020820120611be53685856104a5565b6020815191012003611ca357509081611c2c611c22837fcf95bbfe6f870f8cc40482dc3dccdafd268f0e9ce0a4f24ea1bea9be64e505ff95611b00565b805460ff19169055565b611c67611c62856000527f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f502602052604060002090565b611b50565b611c94611c82600080516020612e4383398151915254610eed565b600080516020612e4383398151915255565b6115fb60405192839283611bb0565b60405163781f2e3960e01b81529384936116b993909160048601611ad4565b63340c473d60e11b600052600484905260246000fd5b611ce06113fb565b9060405160208101917f37f248f492286ab572e2a1ee0bd5315f2aae54a08b5871b294d657f3a1f1d0078352604082015260408152611d20606082610453565b51902060405190602082019261190160f01b845260228301526042820152604281526113cf606282610453565b9091600091906001600160a01b03821615611e375760405192600484019460248501956044860192853b15611db757509186939160209593630b135d3f60e11b8852526040845281518501809260045afa9360443d01915afa9151630b135d3f60e11b1491161690565b979650509050815180604014611e1257604114611dd45750505050565b602092939550606082015160001a835260408201516060525b60005201516040526020600160806000825afa511860601b3d11916000606052604052565b506020929395506040820151601b8160ff1c01845260018060ff1b0316606052611ded565b50505050600090565b906104886001602d60405180956c1131b430b63632b733b2911d1160991b6020830152611e76815180926020868601910161097a565b8101601160f91b838201520301601e19810185520183610453565b8051602010156110755760400190565b6040513d6000823e3d90fd5b6020929190611ec384928281519485920161097a565b019081520190565b90816020910312610244575190565b92919060009360a082019485517f7fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a8106120b75760208301917fff1a2a9176d650e4a99dedb58f1793003935130579fe17b5a3f698ac5b00e634611f4c84516060870151611f4681611093565b91612244565b60208151910120036120c057611f64611f69916120ca565b611e40565b611f7e83516040860151611f468451826110af565b602081519101209060208151910120036120b757600160f81b600160f81b611fb7611fa98651611e91565b516001600160f81b03191690565b16036120b757611fd4602092600092505160405191828092610e22565b039060025afa156120b2576020600061200a8151611ffe8551610225604051938492888401611ead565b60405191828092610e22565b039060025afa156120b257608060005191019360008086518561205d85516102258a60405194859360208501978c899192608093969594919660a084019784526020840152604083015260608201520152565b51906101005afa9461206d611105565b805196806120a9575b61208957506104f7955051905191612131565b6001966120a59650810160209081019550019250611ecb915050565b1490565b50861515612076565b611ea1565b94505050505090565b5094505050505090565b6040516104f7916120dc606083610453565b604082527f4142434445464748494a4b4c4d4e4f505152535455565758595a61626364656660208301527f6768696a6b6c6d6e6f707172737475767778797a303132333435363738392d5f60408301526122f0565b939190929383158015612221575b8015612219575b8015612201575b6121f75761215b8386612398565b156121f75760405191602083526020808401526020604084015260608301527fffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254f6080830152600080516020612e0383398151915260a083015260208260c0816005600019fa1561024457600080516020612e03833981519152946121f193866121eb945181818909940991612473565b91610e94565b90081590565b5050505050600090565b50600080516020612e0383398151915282101561214d565b508115612146565b50600080516020612e0383398151915284101561213f565b816040519182372090565b8051606094939290838111156122b6575b818111156122ae575b5082811061226b57505050565b6040519450918290039101601f8201601f19165b8181015185820152601f1901908115612298579061227f565b5050604081840160006020820152016040528252565b90503861225e565b925082612255565b906122c88261048a565b6122d56040519182610453565b82815280926122e6601f199161048a565b0190602036910137565b9081511561238e579061231d61231861231161230c8451611b38565b6110a1565b6003900490565b6122be565b91602083019082805101906020820192835194600085525b83811061234457505050505290565b600360049101916001603f845182828260121c16880101518453828282600c1c16880101518385015382828260061c16880101516002850153168501015160038201530190612335565b50506104f76110f0565b600160601b63ffffffff60c01b0319811080159061245b575b801561244a575b61244357600160601b63ffffffff60c01b0319907f5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b908290817fffffffff00000001000000000000000000000000fffffffffffffffffffffffc820990600160601b63ffffffff60c01b0319908181800909080890600160601b63ffffffff60c01b03199080091490565b5050600090565b50801580156123b8575081156123b8565b50600160601b63ffffffff60c01b03198210156123b1565b9092600092908360ff81841580612a6a575b612a5f576124938887612a72565b929091821580612a57575b612a1c575b5085811c60028660fe1c16015b15612a0357600186821c16600286831c60011b1601600181146129b8575b600281146129ab575b60031461299e575b600198600019919091019694959489949392915b88600019116125715750505050505050505060405191606083015260208252602080830152602060408301526002600160601b0363ffffffff60c01b03196080830152600163ffffffff60601b0360601b1960a083015260208260c0816005600019fa15610244579051600160601b63ffffffff60c01b0319910990565b909192939495969798600163ffffffff60601b0360601b198660020990600160601b63ffffffff60c01b0319828009600160601b63ffffffff60c01b031981830992600160601b63ffffffff60c01b03199082900991600160601b63ffffffff60c01b03199081908f8281830891600160601b63ffffffff60c01b031991820390080960030998600160601b63ffffffff60c01b03199083099c600160601b63ffffffff60c01b0319910991600160601b63ffffffff60c01b031980826002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b03198b80090898600160601b63ffffffff60c01b031991829081038b08900996600160601b63ffffffff60c01b03199088908290840908968b60028c60018d841c16921c60011b160180156129815760018114612936575b6002811461292b575b600314612922575b821561290f57600160601b63ffffffff60c01b031990889082908f90090890600160601b63ffffffff60c01b031990898203908290859009089781156127d5575b600160601b63ffffffff60c01b031989800998600160601b63ffffffff60c01b0319908a0992600160601b63ffffffff60c01b0319908a90099c600160601b63ffffffff60c01b03199084900998600160601b63ffffffff60c01b03199109600160601b63ffffffff60c01b031980826002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b031985810381868009080897600160601b63ffffffff60c01b03199384910991600160601b63ffffffff60c01b03199182908a82039008090894985b6000190197969594939291906124f3565b886126f8579a91975090959050600160601b63ffffffff60c01b0319816002600160601b0363ffffffff60c01b0319099a600160601b63ffffffff60c01b03198c8009600160601b63ffffffff60c01b0319818d099c600160601b63ffffffff60c01b0319908290099b600160601b63ffffffff60c01b031990818b8103820890600160601b63ffffffff60c01b0319908c900809600160601b63ffffffff60c01b03199060030991600160601b63ffffffff60c01b0319908d0998600160601b63ffffffff60c01b031991099b600160601b63ffffffff60c01b031980826002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b0319848009089b600160601b63ffffffff60c01b03199384910991600160601b63ffffffff60c01b03199182908e82039008900908946127c4565b60019c50909a8c985090965090506127c4565b505083856126b7565b8592508491506126af565b7f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29692507f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f591506126a6565b50505099959894600163ffffffff60601b0360601b1903946127c4565b92508096509581926124df565b96975087968994506124d7565b7f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29698507f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f594506124ce565b60001901600186821c16600286831c60011b16016124b0565b9495600080516020612e038339815191529196820390089484861580612a4f575b156124a3579850505050505050505090565b506001612a3d565b50831561249e565b965050505050505090565b508315612485565b91907f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2967f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5918015612c265784610bc69495831480612c1d575b15612c085750600160601b63ffffffff60c01b0319905082600209600160601b63ffffffff60c01b031981800992600160601b63ffffffff60c01b031984840991600160601b63ffffffff60c01b03199085900992600160601b63ffffffff60c01b0319908190816001820890600160601b63ffffffff60c01b0319907fffffffff00000001000000000000000000000000fffffffffffffffffffffffe900809600309600160601b63ffffffff60c01b031980846002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b03198380090892600160601b63ffffffff60c01b03196001860995600160601b63ffffffff60c01b0319906001900994600160601b63ffffffff60c01b031993849109600160601b63ffffffff60c01b03199081039290918290868203900890090890612d48565b909192612c1493612c2c565b92909190612d48565b50818414612acb565b50925090565b9193908015612d3f57600160601b63ffffffff60c01b03199081039384908290600190090893600160601b63ffffffff60c01b031990838203908290600190090892600160601b63ffffffff60c01b031984800993600160601b63ffffffff60c01b031990850992600160601b63ffffffff60c01b03199085900994600160601b63ffffffff60c01b031980876002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b031986810381858009080895600160601b63ffffffff60c01b031992839086900991600160601b63ffffffff60c01b03199182908982039008090892600160601b63ffffffff60c01b03199060010991600160601b63ffffffff60c01b03199060010990565b50600191508190565b91909260405190602082526020808301526020604083015260608201526002600160601b0363ffffffff60c01b03196080820152600163ffffffff60601b0360601b1960a082015260208160c0816005600019fa15610244575192600160601b63ffffffff60c01b03199084900992600160601b63ffffffff60c01b03199109600160601b63ffffffff60c01b031991908290800990099156fe0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f500ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f501a26469706673582212208cd714406382f3c7ba67b9e97711d79104255fac724c6724be98e47e28a08f4464736f6c634300081c0033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x15 JUMPI JUMPDEST CALLDATASIZE PUSH2 0x1464 JUMPI STOP JUMPDEST PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x66A1EB7 EQ PUSH2 0x1E5 JUMPI DUP1 PUSH4 0xDB02622 EQ PUSH2 0x1E0 JUMPI DUP1 PUSH4 0xF0F3F24 EQ PUSH2 0x1DB JUMPI DUP1 PUSH4 0x1626BA7E EQ PUSH2 0x1D6 JUMPI DUP1 PUSH4 0x17452CAA EQ PUSH2 0x1D1 JUMPI DUP1 PUSH4 0x19822F7C EQ PUSH2 0x1CC JUMPI DUP1 PUSH4 0x1CA5393F EQ PUSH2 0x1C7 JUMPI DUP1 PUSH4 0x29565E3B EQ PUSH2 0x1C2 JUMPI DUP1 PUSH4 0x2C2ABD1E EQ PUSH2 0x1BD JUMPI DUP1 PUSH4 0x34FCD5BE EQ PUSH2 0x1B8 JUMPI DUP1 PUSH4 0x36D9CF9B EQ PUSH2 0x1B3 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x1AE JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x1A9 JUMPI DUP1 PUSH4 0x5C60DA1B EQ PUSH2 0x1A4 JUMPI DUP1 PUSH4 0x6F2DE70E EQ PUSH2 0x19F JUMPI DUP1 PUSH4 0x737BEBDD EQ PUSH2 0x19A JUMPI DUP1 PUSH4 0x84B0196E EQ PUSH2 0x195 JUMPI DUP1 PUSH4 0x88CE4C7C EQ PUSH2 0x190 JUMPI DUP1 PUSH4 0x89625B57 EQ PUSH2 0x18B JUMPI DUP1 PUSH4 0x8EA69029 EQ PUSH2 0x186 JUMPI DUP1 PUSH4 0x9F9BCB34 EQ PUSH2 0x181 JUMPI DUP1 PUSH4 0xA05BD44E EQ PUSH2 0x17C JUMPI DUP1 PUSH4 0xA2E1A8D8 EQ PUSH2 0x177 JUMPI DUP1 PUSH4 0xB0D691FE EQ PUSH2 0x172 JUMPI DUP1 PUSH4 0xB61D27F6 EQ PUSH2 0x16D JUMPI DUP1 PUSH4 0xB8197367 EQ PUSH2 0x168 JUMPI DUP1 PUSH4 0xCE1506BE EQ PUSH2 0x163 JUMPI DUP1 PUSH4 0xD948FD2E EQ PUSH2 0x15E JUMPI PUSH4 0xF698DA25 SUB PUSH2 0xE JUMPI PUSH2 0xE07 JUMP JUMPDEST PUSH2 0xDDC JUMP JUMPDEST PUSH2 0xDBE JUMP JUMPDEST PUSH2 0xD77 JUMP JUMPDEST PUSH2 0xD07 JUMP JUMPDEST PUSH2 0xCD8 JUMP JUMPDEST PUSH2 0xCB1 JUMP JUMPDEST PUSH2 0xC77 JUMP JUMPDEST PUSH2 0xC3D JUMP JUMPDEST PUSH2 0xC0A JUMP JUMPDEST PUSH2 0xBCA JUMP JUMPDEST PUSH2 0xB7A JUMP JUMPDEST PUSH2 0xAD9 JUMP JUMPDEST PUSH2 0x9D3 JUMP JUMPDEST PUSH2 0x8D8 JUMP JUMPDEST PUSH2 0x8A2 JUMP JUMPDEST PUSH2 0x852 JUMP JUMPDEST PUSH2 0x73D JUMP JUMPDEST PUSH2 0x712 JUMP JUMPDEST PUSH2 0x67B JUMP JUMPDEST PUSH2 0x5CF JUMP JUMPDEST PUSH2 0x531 JUMP JUMPDEST PUSH2 0x4FA JUMP JUMPDEST PUSH2 0x3A1 JUMP JUMPDEST PUSH2 0x375 JUMP JUMPDEST PUSH2 0x323 JUMP JUMPDEST PUSH2 0x27D JUMP JUMPDEST PUSH2 0x249 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH1 0xFF PUSH2 0x238 PUSH1 0x4 CALLDATALOAD PUSH2 0x233 PUSH1 0x24 CALLDATALOAD SWAP2 PUSH2 0x225 PUSH1 0x40 MLOAD SWAP4 DUP5 SWAP3 DUP9 DUP5 ADD PUSH1 0x20 SWAP1 SWAP4 SWAP3 SWAP2 SWAP4 PUSH1 0x40 DUP2 ADD SWAP5 DUP2 MSTORE ADD MSTORE JUMP JUMPDEST SUB PUSH1 0x1F NOT DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x453 JUMP JUMPDEST PUSH2 0xE39 JUMP JUMPDEST SLOAD AND PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH2 0x264 PUSH2 0xEC1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND SUB PUSH2 0x244 JUMPI JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH2 0x2F4 PUSH1 0x4 CALLDATALOAD PUSH2 0x29D DUP2 PUSH2 0x26C JUMP JUMPDEST PUSH2 0x2A5 PUSH2 0x149C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x20 DUP2 MSTORE PUSH2 0x2C5 PUSH1 0x40 DUP3 PUSH2 0x453 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DE3 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD SWAP1 PUSH2 0x2DF DUP3 PUSH2 0xEED JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DE3 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SSTORE PUSH2 0x1525 JUMP JUMPDEST STOP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0x244 JUMPI DUP3 CALLDATALOAD SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 GT PUSH2 0x244 JUMPI PUSH1 0x20 DUP4 DUP2 DUP7 ADD SWAP6 ADD ADD GT PUSH2 0x244 JUMPI JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x24 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH1 0x20 SWAP2 PUSH2 0x35C PUSH2 0x362 SWAP3 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x2F6 JUMP JUMPDEST SWAP2 PUSH2 0xEFC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP2 AND DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH2 0x708 DUP2 MSTORE RETURN JUMPDEST SWAP1 DUP2 PUSH2 0x120 SWAP2 SUB SLT PUSH2 0x244 JUMPI SWAP1 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x60 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH2 0x3D1 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x392 JUMP JUMPDEST PUSH1 0x44 CALLDATALOAD PUSH1 0x24 CALLDATALOAD PUSH20 0x4337084D9E255FF0702461CF8895CE9E3B5FF107 NOT CALLER ADD PUSH2 0x42D JUMPI PUSH2 0x401 DUP3 SWAP2 PUSH2 0x418 SWAP5 PUSH2 0xF92 JUMP JUMPDEST SWAP2 PUSH2 0x41C JUMPI JUMPDEST POP PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE SWAP1 DUP2 SWAP1 PUSH1 0x20 DUP3 ADD SWAP1 JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 SWAP1 DUP2 DUP1 CODESIZE SWAP3 CALLER GAS CALL POP CODESIZE PUSH2 0x407 JUMP JUMPDEST PUSH3 0x82B429 PUSH1 0xE8 SHL PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x1F DUP1 NOT SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT OR PUSH2 0x474 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH2 0x43D JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x488 PUSH1 0xC0 DUP4 PUSH2 0x453 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x474 JUMPI PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP3 SWAP2 SWAP3 PUSH2 0x4B1 DUP3 PUSH2 0x48A JUMP JUMPDEST SWAP2 PUSH2 0x4BF PUSH1 0x40 MLOAD SWAP4 DUP5 PUSH2 0x453 JUMP JUMPDEST DUP3 SWAP5 DUP2 DUP5 MSTORE DUP2 DUP4 ADD GT PUSH2 0x244 JUMPI DUP3 DUP2 PUSH1 0x20 SWAP4 DUP5 PUSH1 0x0 SWAP7 ADD CALLDATACOPY ADD ADD MSTORE JUMP JUMPDEST SWAP1 DUP1 PUSH1 0x1F DUP4 ADD SLT ISZERO PUSH2 0x244 JUMPI DUP2 PUSH1 0x20 PUSH2 0x4F7 SWAP4 CALLDATALOAD SWAP2 ADD PUSH2 0x4A5 JUMP JUMPDEST SWAP1 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH1 0xFF PUSH2 0x238 PUSH2 0x233 PUSH1 0x20 SWAP4 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x4DC JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH2 0x2F4 PUSH1 0x24 CALLDATALOAD PUSH2 0x2C5 PUSH1 0x4 CALLDATALOAD PUSH2 0x556 PUSH2 0x149C JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE DUP2 PUSH1 0x60 DUP2 ADD PUSH2 0x225 JUMP JUMPDEST SWAP1 PUSH1 0x20 PUSH1 0x3 NOT DUP4 ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH1 0x4 ADD PUSH1 0x0 SWAP3 DUP1 PUSH1 0x1F DUP4 ADD SLT ISZERO PUSH2 0x5CB JUMPI DUP2 CALLDATALOAD SWAP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP6 GT PUSH2 0x5C8 JUMPI POP PUSH1 0x20 DUP1 DUP4 ADD SWAP3 DUP6 PUSH1 0x5 SHL ADD ADD GT PUSH2 0x244 JUMPI SWAP2 SWAP1 JUMP JUMPDEST DUP1 REVERT JUMPDEST DUP4 DUP1 REVERT JUMPDEST PUSH2 0x5D8 CALLDATASIZE PUSH2 0x572 JUMP JUMPDEST SWAP1 PUSH20 0x4337084D9E255FF0702461CF8895CE9E3B5FF108 CALLER SUB PUSH2 0x42D JUMPI PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x2F4 JUMPI PUSH1 0x0 PUSH2 0x610 DUP3 PUSH1 0x5 SHL DUP5 ADD DUP5 PUSH2 0xF2A JUMP JUMPDEST PUSH2 0x61A DUP2 DUP4 PUSH2 0xF5C JUMP JUMPDEST PUSH2 0x623 DUP2 PUSH2 0x123C JUMP JUMPDEST ISZERO PUSH2 0x65F JUMPI POP DUP3 SWAP2 PUSH2 0x636 SWAP2 CALLDATASIZE SWAP2 PUSH2 0x4A5 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD DUP3 ADDRESS GAS CALL PUSH2 0x648 PUSH2 0x1105 JUMP JUMPDEST SWAP1 ISZERO PUSH2 0x657 JUMPI POP PUSH1 0x1 ADD PUSH2 0x5F7 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD REVERT JUMPDEST PUSH4 0x1D8370A3 PUSH1 0xE1 SHL DUP5 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH1 0x4 MSTORE PUSH1 0x24 DUP4 REVERT JUMPDEST PUSH2 0x684 CALLDATASIZE PUSH2 0x572 JUMP JUMPDEST SWAP1 PUSH20 0x4337084D9E255FF0702461CF8895CE9E3B5FF108 CALLER SUB PUSH2 0x705 JUMPI JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT PUSH2 0x6AD JUMPI STOP JUMPDEST DUP1 PUSH2 0x6FF PUSH2 0x6BE PUSH1 0x1 SWAP4 DUP7 DUP7 PUSH2 0x1053 JUMP JUMPDEST CALLDATALOAD PUSH2 0x6C8 DUP2 PUSH2 0x26C JUMP JUMPDEST PUSH1 0x20 PUSH2 0x6D5 DUP5 DUP9 DUP9 PUSH2 0x1053 JUMP JUMPDEST ADD CALLDATALOAD PUSH2 0x6F9 PUSH2 0x6F2 PUSH2 0x6E8 DUP7 DUP11 DUP11 PUSH2 0x1053 JUMP JUMPDEST PUSH1 0x40 DUP2 ADD SWAP1 PUSH2 0xF2A JUMP JUMPDEST CALLDATASIZE SWAP2 PUSH2 0x4A5 JUMP JUMPDEST SWAP2 PUSH2 0x1921 JUMP JUMPDEST ADD PUSH2 0x6A4 JUMP JUMPDEST PUSH2 0x70D PUSH2 0x149C JUMP JUMPDEST PUSH2 0x6A1 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E43 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0x755 DUP2 PUSH2 0x26C JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH2 0x774 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x2F6 JUMP JUMPDEST SWAP1 SWAP2 PUSH32 0x0 ADDRESS EQ PUSH2 0x844 JUMPI PUSH2 0x7A5 PUSH2 0x149C JUMP JUMPDEST PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB AND RETURNDATASIZE PUSH1 0x0 MSTORE PUSH4 0x52D1902D PUSH1 0x1 MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E23 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x20 PUSH1 0x1 PUSH1 0x4 PUSH1 0x1D DUP6 GAS STATICCALL MLOAD SUB PUSH2 0x836 JUMPI DUP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B PUSH1 0x0 DUP1 LOG2 DUP2 DUP2 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E23 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SSTORE PUSH2 0x817 JUMPI STOP JUMPDEST DUP2 PUSH1 0x0 SWAP3 PUSH1 0x40 MLOAD SWAP5 DUP6 CALLDATACOPY DUP4 CODESIZE SWAP3 GAS DELEGATECALL ISZERO PUSH2 0x82D JUMPI STOP JUMPDEST RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH4 0x55299B49 PUSH1 0x1 MSTORE PUSH1 0x4 PUSH1 0x1D REVERT JUMPDEST PUSH4 0x9F03A026 PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x1C REVERT JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI ADDRESS PUSH32 0x0 SUB PUSH2 0x844 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E23 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E23 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 SWAP1 RETURN JUMPDEST PUSH2 0x8E1 CALLDATASIZE PUSH2 0x572 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DE3 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH2 0x969 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x474 JUMPI DUP1 PUSH1 0x5 SHL SWAP2 PUSH1 0x40 MLOAD SWAP2 PUSH2 0x919 PUSH1 0x20 DUP6 ADD DUP5 PUSH2 0x453 JUMP JUMPDEST DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP3 DUP2 ADD SWAP1 CALLDATASIZE DUP3 GT PUSH2 0x244 JUMPI DUP1 SWAP4 JUMPDEST DUP3 DUP6 LT PUSH2 0x93D JUMPI PUSH2 0x2F4 DUP5 PUSH2 0x1955 JUMP JUMPDEST DUP5 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH1 0x20 SWAP2 PUSH2 0x95E DUP4 SWAP3 CALLDATASIZE SWAP1 DUP7 ADD PUSH2 0x4DC JUMP JUMPDEST DUP2 MSTORE ADD SWAP5 ADD SWAP4 PUSH2 0x92D JUMP JUMPDEST PUSH4 0x2ED543D PUSH1 0xE5 SHL PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0x98D JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x97D JUMP JUMPDEST SWAP1 PUSH1 0x20 SWAP2 PUSH2 0x9B6 DUP2 MLOAD DUP1 SWAP3 DUP2 DUP6 MSTORE DUP6 DUP1 DUP7 ADD SWAP2 ADD PUSH2 0x97A JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND ADD ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x20 PUSH2 0x4F7 SWAP3 DUP2 DUP2 MSTORE ADD SWAP1 PUSH2 0x99D JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI DUP1 PUSH1 0x4 ADD PUSH1 0x80 PUSH1 0x3 NOT DUP4 CALLDATASIZE SUB ADD SLT PUSH2 0x244 JUMPI PUSH1 0x44 DUP3 ADD CALLDATALOAD PUSH2 0xA15 DUP2 PUSH2 0x1084 JUMP JUMPDEST TIMESTAMP GT PUSH2 0xAB2 JUMPI PUSH2 0xA4C PUSH2 0xA39 PUSH2 0xA2D PUSH2 0xA50 SWAP4 PUSH2 0x10BC JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 PUSH2 0x1CD8 JUMP JUMPDEST PUSH2 0xA46 PUSH1 0x64 DUP7 ADD DUP6 PUSH2 0xF2A JUMP JUMPDEST SWAP2 PUSH2 0x1840 JUMP JUMPDEST ISZERO SWAP1 JUMP JUMPDEST PUSH2 0xAA1 JUMPI PUSH1 0x0 SWAP2 PUSH2 0xA6F DUP3 PUSH1 0x24 PUSH2 0xA67 DUP7 SWAP6 PUSH2 0x107A JUMP JUMPDEST SWAP4 ADD SWAP1 PUSH2 0xF2A JUMP JUMPDEST SWAP1 PUSH2 0xA7F PUSH1 0x40 MLOAD DUP1 SWAP4 DUP2 SWAP4 PUSH2 0x10E2 JUMP JUMPDEST SUB SWAP2 GAS STATICCALL PUSH2 0xA8B PUSH2 0x1105 JUMP JUMPDEST SWAP1 ISZERO PUSH2 0x657 JUMPI PUSH2 0x418 SWAP1 PUSH1 0x40 MLOAD SWAP2 DUP3 SWAP2 DUP3 PUSH2 0x9C2 JUMP JUMPDEST PUSH4 0x8BAA579F PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x0 REVERT JUMPDEST PUSH2 0xABE PUSH2 0xAD5 SWAP2 PUSH2 0x1084 JUMP JUMPDEST PUSH4 0xF88F049 PUSH1 0xE4 SHL PUSH1 0x0 MSTORE PUSH1 0x4 MSTORE TIMESTAMP PUSH1 0x24 MSTORE PUSH1 0x44 SWAP1 JUMP JUMPDEST PUSH1 0x0 REVERT JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH2 0xB19 PUSH2 0xB27 PUSH2 0xAF8 PUSH2 0x1A67 JUMP JUMPDEST PUSH1 0x40 SWAP3 SWAP2 SWAP3 MLOAD SWAP4 DUP5 SWAP4 PUSH1 0xF PUSH1 0xF8 SHL DUP6 MSTORE PUSH1 0xE0 PUSH1 0x20 DUP7 ADD MSTORE PUSH1 0xE0 DUP6 ADD SWAP1 PUSH2 0x99D JUMP JUMPDEST SWAP1 DUP4 DUP3 SUB PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0x99D JUMP JUMPDEST CHAINID PUSH1 0x60 DUP4 ADD MSTORE ADDRESS PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0x0 PUSH1 0xA0 DUP4 ADD MSTORE DUP2 DUP2 SUB PUSH1 0xC0 DUP4 ADD MSTORE PUSH1 0x20 PUSH1 0x60 MLOAD SWAP2 DUP3 DUP2 MSTORE ADD SWAP1 PUSH1 0x80 SWAP1 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH2 0xB61 JUMPI POP POP POP SUB SWAP1 RETURN JUMPDEST DUP3 MLOAD DUP5 MSTORE DUP6 SWAP5 POP PUSH1 0x20 SWAP4 DUP5 ADD SWAP4 SWAP1 SWAP3 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0xB53 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH2 0x2105 DUP2 MSTORE RETURN JUMPDEST SWAP1 PUSH1 0x40 PUSH1 0x3 NOT DUP4 ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD SWAP2 PUSH1 0x24 CALLDATALOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH2 0x244 JUMPI PUSH2 0xBC6 SWAP2 PUSH1 0x4 ADD PUSH2 0x2F6 JUMP JUMPDEST SWAP1 SWAP2 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH2 0xBD8 CALLDATASIZE PUSH2 0xB97 JUMP JUMPDEST SWAP1 PUSH2 0xBE1 PUSH2 0x149C JUMP JUMPDEST PUSH1 0x1 PUSH2 0xBEB PUSH2 0xEC1 JUMP JUMPDEST EQ PUSH2 0xBF9 JUMPI PUSH2 0x2F4 SWAP3 PUSH2 0x1BC1 JUMP JUMPDEST PUSH4 0x948BF897 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x0 REVERT JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH2 0x418 PUSH2 0xC29 PUSH1 0x4 CALLDATALOAD PUSH2 0x116F JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 SWAP2 PUSH1 0x20 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP1 PUSH2 0x99D JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 SUB PUSH2 0x244 JUMPI PUSH2 0xC6D PUSH1 0x20 SWAP2 PUSH2 0x123C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH2 0x264 PUSH2 0xCAC PUSH1 0x20 SWAP3 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x392 JUMP JUMPDEST PUSH2 0x12BF JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH2 0xC6D PUSH1 0x4 CALLDATALOAD PUSH2 0xCD3 DUP2 PUSH2 0x26C JUMP JUMPDEST PUSH2 0x13D5 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH20 0x4337084D9E255FF0702461CF8895CE9E3B5FF108 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x60 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0xD1F DUP2 PUSH2 0x26C JUMP JUMPDEST PUSH1 0x44 CALLDATALOAD SWAP1 PUSH1 0x24 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 GT PUSH2 0x244 JUMPI PUSH2 0x6F9 PUSH2 0xD48 PUSH2 0x2F4 SWAP5 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x2F6 JUMP JUMPDEST PUSH20 0x4337084D9E255FF0702461CF8895CE9E3B5FF108 CALLER SUB PUSH2 0xD6A JUMPI CALLDATASIZE SWAP2 PUSH2 0x4A5 JUMP JUMPDEST PUSH2 0xD72 PUSH2 0x149C JUMP JUMPDEST PUSH2 0x6F2 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH2 0xD85 CALLDATASIZE PUSH2 0xB97 JUMP JUMPDEST SWAP1 PUSH2 0xD8E PUSH2 0x149C JUMP JUMPDEST PUSH2 0xD96 PUSH2 0xEC1 JUMP JUMPDEST SWAP3 PUSH1 0x1 DUP5 GT PUSH2 0xDA9 JUMPI PUSH2 0x2F4 SWAP4 POP PUSH2 0x1BC1 JUMP JUMPDEST DUP4 PUSH4 0x1047E355 PUSH1 0xE3 SHL PUSH1 0x0 MSTORE PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH2 0x264 PUSH1 0x4 CALLDATALOAD PUSH2 0x1CD8 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DE3 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH2 0x264 PUSH2 0x13FB JUMP JUMPDEST SWAP1 PUSH2 0xE35 PUSH1 0x20 SWAP3 DUP3 DUP2 MLOAD SWAP5 DUP6 SWAP3 ADD PUSH2 0x97A JUMP JUMPDEST ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 PUSH2 0xE52 SWAP2 DUP2 PUSH1 0x40 MLOAD SWAP4 DUP3 DUP6 DUP1 SWAP5 MLOAD SWAP4 DUP5 SWAP3 ADD PUSH2 0x97A JUMP JUMPDEST DUP2 ADD PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F503 DUP2 MSTORE SUB ADD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E03 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SUB SWAP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E03 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP3 GT PUSH2 0xEBC JUMPI JUMP JUMPDEST PUSH2 0xE7E JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DE3 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E43 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD DUP2 SUB SWAP1 DUP2 GT PUSH2 0xEBC JUMPI SWAP1 JUMP JUMPDEST PUSH1 0x0 NOT DUP2 EQ PUSH2 0xEBC JUMPI PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH2 0xF0A PUSH2 0xF0F SWAP4 SWAP3 PUSH2 0x1CD8 JUMP JUMPDEST PUSH2 0x1840 JUMP JUMPDEST PUSH2 0xF1F JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 JUMP JUMPDEST PUSH4 0xB135D3F PUSH1 0xE1 SHL SWAP1 JUMP JUMPDEST SWAP1 CALLDATALOAD SWAP1 PUSH1 0x1E NOT DUP2 CALLDATASIZE SUB ADD DUP3 SLT ISZERO PUSH2 0x244 JUMPI ADD DUP1 CALLDATALOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH2 0x244 JUMPI PUSH1 0x20 ADD SWAP2 DUP2 CALLDATASIZE SUB DUP4 SGT PUSH2 0x244 JUMPI JUMP JUMPDEST CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND SWAP3 SWAP2 SWAP1 PUSH1 0x4 DUP3 LT PUSH2 0xF77 JUMPI POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0x4 SWAP3 SWAP1 SWAP3 SUB PUSH1 0x3 SHL DUP3 SWAP1 SHL AND AND SWAP2 POP JUMP JUMPDEST PUSH1 0x20 DUP2 ADD CALLDATALOAD PUSH1 0x40 SHR SWAP2 PUSH2 0xFA8 PUSH1 0x60 DUP4 ADD DUP4 PUSH2 0xF2A JUMP JUMPDEST PUSH4 0x16155E8F PUSH1 0xE1 SHL SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP2 PUSH2 0xFC4 SWAP2 PUSH2 0xF5C JUMP JUMPDEST AND SUB PUSH2 0x1015 JUMPI POP PUSH2 0xFD4 DUP2 PUSH2 0x12BF JUMP JUMPDEST SWAP2 PUSH2 0x2105 DUP2 SUB PUSH2 0x1001 JUMPI POP SWAP1 PUSH2 0xA46 PUSH2 0xFF3 SWAP3 JUMPDEST PUSH2 0x100 DUP2 ADD SWAP1 PUSH2 0xF2A JUMP JUMPDEST PUSH2 0xFFC JUMPI PUSH1 0x1 SWAP1 JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH4 0x2EF37813 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH2 0x2105 DUP2 EQ PUSH2 0x1001 JUMPI POP SWAP1 PUSH2 0xA46 PUSH2 0xFF3 SWAP3 PUSH2 0xFE8 JUMP JUMPDEST PUSH2 0x1038 PUSH1 0xFF SWAP2 PUSH2 0xE39 JUMP JUMPDEST SLOAD AND SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 SWAP1 DUP2 LT ISZERO PUSH2 0x1075 JUMPI PUSH1 0x5 SHL DUP2 ADD CALLDATALOAD SWAP1 PUSH1 0x5E NOT DUP2 CALLDATASIZE SUB ADD DUP3 SLT ISZERO PUSH2 0x244 JUMPI ADD SWAP1 JUMP JUMPDEST PUSH2 0x103D JUMP JUMPDEST CALLDATALOAD PUSH2 0x4F7 DUP2 PUSH2 0x26C JUMP JUMPDEST SWAP1 PUSH2 0x708 DUP3 ADD DUP1 SWAP3 GT PUSH2 0xEBC JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x15 DUP3 ADD DUP1 SWAP3 GT PUSH2 0xEBC JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x2 DUP3 ADD DUP1 SWAP3 GT PUSH2 0xEBC JUMPI JUMP JUMPDEST SWAP2 SWAP1 DUP3 ADD DUP1 SWAP3 GT PUSH2 0xEBC JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x40 MLOAD SWAP2 PUSH4 0x737BEBDD PUSH1 0xE0 SHL PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x24 DUP3 MSTORE PUSH2 0x488 PUSH1 0x44 DUP4 PUSH2 0x453 JUMP JUMPDEST SWAP1 DUP1 SWAP3 SWAP2 DUP3 CALLDATACOPY ADD PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x10FF PUSH1 0x20 DUP4 PUSH2 0x453 JUMP JUMPDEST PUSH1 0x0 DUP3 MSTORE JUMP JUMPDEST RETURNDATASIZE ISZERO PUSH2 0x1130 JUMPI RETURNDATASIZE SWAP1 PUSH2 0x1116 DUP3 PUSH2 0x48A JUMP JUMPDEST SWAP2 PUSH2 0x1124 PUSH1 0x40 MLOAD SWAP4 DUP5 PUSH2 0x453 JUMP JUMPDEST DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY JUMP JUMPDEST PUSH1 0x60 SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH2 0x1165 JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH2 0x114F JUMPI JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH2 0x1144 JUMP JUMPDEST PUSH1 0x0 MSTORE PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F502 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD SWAP1 DUP2 PUSH1 0x0 DUP3 SLOAD SWAP3 PUSH2 0x11AE DUP5 PUSH2 0x1135 JUMP JUMPDEST DUP1 DUP5 MSTORE SWAP4 PUSH1 0x1 DUP2 AND SWAP1 DUP2 ISZERO PUSH2 0x121A JUMPI POP PUSH1 0x1 EQ PUSH2 0x11D3 JUMPI JUMPDEST POP PUSH2 0x4F7 SWAP3 POP SUB DUP3 PUSH2 0x453 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 SWAP3 SWAP2 SWAP3 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x0 SWAP2 JUMPDEST DUP2 DUP4 LT PUSH2 0x11FE JUMPI POP POP SWAP1 PUSH1 0x20 PUSH2 0x4F7 SWAP3 DUP3 ADD ADD CODESIZE PUSH2 0x11C6 JUMP JUMPDEST PUSH1 0x20 SWAP2 SWAP4 POP DUP1 PUSH1 0x1 SWAP2 SLOAD DUP4 DUP6 DUP9 ADD ADD MSTORE ADD SWAP2 ADD SWAP1 SWAP2 DUP4 SWAP3 PUSH2 0x11E5 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 SWAP3 POP PUSH2 0x4F7 SWAP5 SWAP2 POP PUSH1 0xFF NOT AND DUP3 DUP5 ADD MSTORE ISZERO ISZERO PUSH1 0x5 SHL DUP3 ADD ADD CODESIZE PUSH2 0x11C6 JUMP JUMPDEST PUSH4 0xFFFFFFFF PUSH1 0xE0 SHL AND PUSH4 0x29565E3B PUSH1 0xE0 SHL DUP2 EQ SWAP1 DUP2 ISZERO PUSH2 0x12AE JUMPI JUMPDEST DUP2 ISZERO PUSH2 0x129D JUMPI JUMPDEST DUP2 ISZERO PUSH2 0x128C JUMPI JUMPDEST DUP2 ISZERO PUSH2 0x127B JUMPI JUMPDEST POP PUSH2 0x1276 JUMPI PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH1 0x1 SWAP1 JUMP JUMPDEST PUSH4 0x278F7943 PUSH1 0xE1 SHL EQ SWAP1 POP CODESIZE PUSH2 0x126C JUMP JUMPDEST PUSH4 0xB8197367 PUSH1 0xE0 SHL DUP2 EQ SWAP2 POP PUSH2 0x1265 JUMP JUMPDEST PUSH4 0x89625B57 PUSH1 0xE0 SHL DUP2 EQ SWAP2 POP PUSH2 0x125E JUMP JUMPDEST PUSH4 0x3C3CFC9 PUSH1 0xE2 SHL DUP2 EQ SWAP2 POP PUSH2 0x1257 JUMP JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH2 0x12CB DUP3 PUSH2 0x26C JUMP JUMPDEST PUSH2 0x1398 PUSH1 0x20 DUP3 ADD CALLDATALOAD PUSH2 0x225 PUSH2 0x12E3 PUSH1 0x40 DUP6 ADD DUP6 PUSH2 0xF2A JUMP JUMPDEST SWAP1 DUP2 PUSH1 0x40 MLOAD SWAP2 DUP3 CALLDATACOPY KECCAK256 SWAP4 PUSH2 0x1303 PUSH2 0x12FD PUSH1 0x60 DUP4 ADD DUP4 PUSH2 0xF2A JUMP JUMPDEST SWAP1 PUSH2 0x2239 JUMP JUMPDEST SWAP1 PUSH1 0x80 DUP2 ADD CALLDATALOAD PUSH1 0xA0 DUP3 ADD CALLDATALOAD SWAP1 PUSH2 0x1325 PUSH2 0x12FD PUSH1 0xC0 DUP6 ADD CALLDATALOAD SWAP5 PUSH1 0xE0 DUP2 ADD SWAP1 PUSH2 0xF2A JUMP JUMPDEST SWAP4 PUSH1 0x40 MLOAD SWAP9 DUP10 SWAP8 PUSH1 0x20 DUP10 ADD SWAP12 DUP13 SWAP5 SWAP2 SWAP3 PUSH2 0x100 SWAP7 SWAP4 SWAP10 SWAP9 SWAP8 SWAP5 SWAP2 SWAP10 PUSH2 0x120 DUP8 ADD SWAP11 PUSH32 0x29A0BCA4AF4BE3421398DA00295E58E6D7DE38CB492214754CB6A47507DD6F8E DUP9 MSTORE PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP9 ADD MSTORE PUSH1 0x40 DUP8 ADD MSTORE PUSH1 0x60 DUP7 ADD MSTORE PUSH1 0x80 DUP6 ADD MSTORE PUSH1 0xA0 DUP5 ADD MSTORE PUSH1 0xC0 DUP4 ADD MSTORE PUSH1 0xE0 DUP3 ADD MSTORE ADD MSTORE JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP3 DUP4 MSTORE PUSH20 0x4337084D9E255FF0702461CF8895CE9E3B5FF108 SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH2 0x13CF DUP2 PUSH1 0x60 DUP2 ADD PUSH2 0x225 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x1038 PUSH1 0xFF SWAP2 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x20 DUP2 MSTORE PUSH2 0x233 PUSH1 0x40 DUP3 PUSH2 0x453 JUMP JUMPDEST PUSH2 0x1403 PUSH2 0x1A67 JUMP JUMPDEST SWAP1 PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SWAP1 PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 ADD SWAP3 PUSH32 0x8B73C3C69BB8FE3D512ECC4CF759CC79239F7B179B0FFACAA9A75D522B39400F DUP5 MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE CHAINID PUSH1 0x80 DUP3 ADD MSTORE ADDRESS PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xA0 DUP2 MSTORE PUSH2 0x13CF PUSH1 0xC0 DUP3 PUSH2 0x453 JUMP JUMPDEST PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR PUSH4 0xBC197C81 DUP2 EQ PUSH4 0xF23A6E61 DUP3 EQ OR PUSH4 0x150B7A02 DUP3 EQ OR PUSH2 0x1493 JUMPI PUSH4 0x3C10B94E PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x1C REVERT JUMPDEST PUSH1 0x20 MSTORE PUSH1 0x20 PUSH1 0x3C RETURN JUMPDEST PUSH2 0x14A5 CALLER PUSH2 0x13D5 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x14C0 JUMPI JUMPDEST PUSH2 0x488 JUMPI PUSH3 0x82B429 PUSH1 0xE8 SHL PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x0 REVERT JUMPDEST POP ADDRESS CALLER EQ PUSH2 0x14AC JUMP JUMPDEST DUP2 DUP2 LT PUSH2 0x14D4 JUMPI POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x14C9 JUMP JUMPDEST SWAP2 SWAP1 PUSH1 0x1F DUP2 GT PUSH2 0x14EF JUMPI POP POP POP JUMP JUMPDEST PUSH2 0x488 SWAP3 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x20 PUSH1 0x1F DUP5 ADD PUSH1 0x5 SHR DUP4 ADD SWAP4 LT PUSH2 0x151B JUMPI JUMPDEST PUSH1 0x1F ADD PUSH1 0x5 SHR ADD SWAP1 PUSH2 0x14C9 JUMP JUMPDEST SWAP1 SWAP2 POP DUP2 SWAP1 PUSH2 0x150E JUMP JUMPDEST PUSH2 0x152E DUP2 PUSH2 0x102D JUMP JUMPDEST PUSH2 0x169C JUMPI PUSH2 0x153B DUP2 PUSH2 0xE39 JUMP JUMPDEST PUSH1 0x1 PUSH1 0xFF NOT DUP3 SLOAD AND OR SWAP1 SSTORE DUP2 PUSH1 0x0 MSTORE PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F502 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x474 JUMPI PUSH2 0x1597 DUP2 PUSH2 0x1591 DUP5 SLOAD PUSH2 0x1135 JUMP JUMPDEST DUP5 PUSH2 0x14E0 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x1F DUP3 GT PUSH1 0x1 EQ PUSH2 0x160B JUMPI SWAP2 PUSH2 0x15EC DUP3 PUSH32 0x38109EDC26E166B5579352CE56A50813177EB25208FD90D61F2F378386220220 SWAP6 SWAP4 PUSH2 0x15FB SWAP6 PUSH1 0x0 SWAP2 PUSH2 0x1600 JUMPI JUMPDEST POP DUP2 PUSH1 0x1 SHL SWAP2 PUSH1 0x0 NOT SWAP1 PUSH1 0x3 SHL SHR NOT AND OR SWAP1 JUMP JUMPDEST SWAP1 SSTORE JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 SWAP2 DUP3 PUSH2 0x9C2 JUMP JUMPDEST SUB SWAP1 LOG2 JUMP JUMPDEST SWAP1 POP DUP5 ADD MLOAD CODESIZE PUSH2 0x15D8 JUMP JUMPDEST PUSH1 0x1F NOT DUP3 AND SWAP1 PUSH2 0x1620 DUP5 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP2 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH2 0x1684 JUMPI POP SWAP3 PUSH2 0x15FB SWAP5 SWAP3 PUSH1 0x1 SWAP3 DUP3 PUSH32 0x38109EDC26E166B5579352CE56A50813177EB25208FD90D61F2F378386220220 SWAP9 SWAP7 LT PUSH2 0x166B JUMPI JUMPDEST POP POP DUP2 SHL ADD SWAP1 SSTORE PUSH2 0x15EF JUMP JUMPDEST DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 PUSH2 0x165F JUMP JUMPDEST SWAP2 SWAP3 PUSH1 0x20 PUSH1 0x1 DUP2 SWAP3 DUP7 DUP11 ADD MLOAD DUP2 SSTORE ADD SWAP5 ADD SWAP3 ADD PUSH2 0x1624 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x468B12AD PUSH1 0xE1 SHL DUP2 MSTORE SWAP1 DUP2 SWAP1 PUSH2 0x16B9 SWAP1 PUSH1 0x4 DUP4 ADD PUSH2 0x9C2 JUMP JUMPDEST SUB SWAP1 REVERT JUMPDEST PUSH1 0x20 DUP2 DUP4 SUB SLT PUSH2 0x244 JUMPI DUP1 CALLDATALOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH2 0x244 JUMPI ADD PUSH1 0x40 DUP2 DUP4 SUB SLT PUSH2 0x244 JUMPI PUSH1 0x40 MLOAD SWAP2 PUSH1 0x40 DUP4 ADD DUP4 DUP2 LT PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT OR PUSH2 0x474 JUMPI PUSH1 0x40 MSTORE DUP2 CALLDATALOAD DUP4 MSTORE PUSH1 0x20 DUP3 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH2 0x1721 SWAP3 ADD PUSH2 0x4DC JUMP JUMPDEST PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD MLOAD SWAP1 PUSH1 0x20 DUP2 LT PUSH2 0x173D JUMPI POP SWAP1 JUMP JUMPDEST PUSH1 0x0 NOT SWAP1 PUSH1 0x20 SUB PUSH1 0x3 SHL SHL AND SWAP1 JUMP JUMPDEST SWAP2 SWAP1 DUP3 PUSH1 0x40 SWAP2 SUB SLT PUSH2 0x244 JUMPI PUSH1 0x20 DUP3 MLOAD SWAP3 ADD MLOAD SWAP1 JUMP JUMPDEST DUP2 PUSH1 0x1F DUP3 ADD SLT ISZERO PUSH2 0x244 JUMPI PUSH1 0x20 DUP2 MLOAD SWAP2 ADD SWAP1 PUSH2 0x177D DUP2 PUSH2 0x48A JUMP JUMPDEST SWAP3 PUSH2 0x178B PUSH1 0x40 MLOAD SWAP5 DUP6 PUSH2 0x453 JUMP JUMPDEST DUP2 DUP5 MSTORE DUP2 DUP4 ADD GT PUSH2 0x244 JUMPI PUSH2 0x4F7 SWAP2 PUSH1 0x20 DUP5 ADD SWAP1 PUSH2 0x97A JUMP JUMPDEST PUSH1 0x20 DUP2 DUP4 SUB SLT PUSH2 0x244 JUMPI DUP1 MLOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH2 0x244 JUMPI ADD SWAP1 PUSH1 0xC0 DUP3 DUP3 SUB SLT PUSH2 0x244 JUMPI PUSH2 0x17D3 PUSH2 0x479 JUMP JUMPDEST SWAP2 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI DUP3 PUSH2 0x17F0 SWAP2 DUP4 ADD PUSH2 0x1762 JUMP JUMPDEST DUP4 MSTORE PUSH1 0x20 DUP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH1 0xA0 SWAP3 PUSH2 0x1813 SWAP2 DUP4 ADD PUSH2 0x1762 JUMP JUMPDEST PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x40 DUP2 ADD MLOAD PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x60 DUP2 ADD MLOAD PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP2 ADD MLOAD PUSH1 0x80 DUP5 ADD MSTORE ADD MLOAD PUSH1 0xA0 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST SWAP3 SWAP2 SWAP1 PUSH2 0x184F SWAP2 DUP2 ADD SWAP1 PUSH2 0x16BD JUMP JUMPDEST SWAP1 PUSH2 0x185A DUP3 MLOAD PUSH2 0x116F JUMP JUMPDEST SWAP2 PUSH1 0x20 DUP4 MLOAD EQ PUSH2 0x18D8 JUMPI DUP3 MLOAD SWAP4 PUSH1 0x40 DUP6 EQ PUSH2 0x188A JUMPI PUSH1 0x40 MLOAD PUSH4 0x27755B91 PUSH1 0xE1 SHL DUP2 MSTORE DUP1 PUSH2 0x16B9 DUP7 PUSH1 0x4 DUP4 ADD PUSH2 0x9C2 JUMP JUMPDEST PUSH2 0x225 PUSH2 0x18D3 PUSH2 0x18BE PUSH2 0x18AA DUP8 PUSH1 0x20 DUP1 DUP1 SWAP10 SWAP12 PUSH2 0x4F7 SWAP12 ADD ADD SWAP2 ADD PUSH2 0x174C JUMP JUMPDEST SWAP7 SWAP1 SWAP6 ADD MLOAD PUSH1 0x20 DUP1 DUP3 MLOAD DUP4 ADD ADD SWAP2 ADD PUSH2 0x17A4 JUMP JUMPDEST SWAP3 PUSH1 0x40 MLOAD SWAP3 DUP4 SWAP2 PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 PUSH1 0x20 DUP4 ADD SWAP3 MSTORE JUMP JUMPDEST PUSH2 0x1EDA JUMP JUMPDEST SWAP2 SWAP3 SWAP1 SWAP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH2 0x18EE DUP6 PUSH2 0x1729 JUMP JUMPDEST GT PUSH2 0x1906 JUMPI PUSH1 0x20 DUP1 PUSH2 0x4F7 SWAP5 SWAP6 ADD MLOAD SWAP3 ADD MLOAD SWAP2 PUSH2 0x1D4D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xBFF1AC65 PUSH1 0xE0 SHL DUP2 MSTORE DUP1 PUSH2 0x16B9 DUP7 PUSH1 0x4 DUP4 ADD PUSH2 0x9C2 JUMP JUMPDEST SWAP2 PUSH1 0x0 SWAP3 DUP4 SWAP3 PUSH1 0x20 DUP4 MLOAD SWAP4 ADD SWAP2 GAS CALL PUSH2 0x1938 PUSH2 0x1105 JUMP JUMPDEST SWAP1 ISZERO PUSH2 0x657 JUMPI POP JUMP JUMPDEST DUP1 MLOAD DUP3 LT ISZERO PUSH2 0x1075 JUMPI PUSH1 0x20 SWAP2 PUSH1 0x5 SHL ADD ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DE3 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x0 JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH2 0x1A52 JUMPI PUSH1 0x20 PUSH2 0x197E DUP3 DUP7 PUSH2 0x1941 JUMP JUMPDEST MLOAD MLOAD EQ ISZERO DUP1 PUSH2 0x1A3C JUMPI JUMPDEST PUSH2 0x1A15 JUMPI PUSH1 0x20 PUSH2 0x1998 DUP3 DUP7 PUSH2 0x1941 JUMP JUMPDEST MLOAD MLOAD EQ DUP1 PUSH2 0x19F3 JUMPI JUMPDEST PUSH2 0x19CC JUMPI DUP1 PUSH2 0x19C6 PUSH2 0x19B5 PUSH1 0x1 SWAP4 DUP8 PUSH2 0x1941 JUMP JUMPDEST MLOAD SWAP4 PUSH2 0x19C0 DUP2 PUSH2 0xEED JUMP JUMPDEST SWAP5 PUSH2 0x1525 JUMP JUMPDEST ADD PUSH2 0x1969 JUMP JUMPDEST PUSH2 0x19D9 PUSH2 0x16B9 SWAP2 DUP6 PUSH2 0x1941 JUMP JUMPDEST MLOAD PUSH1 0x40 MLOAD PUSH4 0xBFF1AC65 PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 DUP3 SWAP2 PUSH1 0x4 DUP4 ADD PUSH2 0x9C2 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH2 0x1A0F PUSH2 0x1A09 DUP4 DUP8 PUSH2 0x1941 JUMP JUMPDEST MLOAD PUSH2 0x1729 JUMP JUMPDEST GT PUSH2 0x19A1 JUMP JUMPDEST PUSH2 0x1A22 PUSH2 0x16B9 SWAP2 DUP6 PUSH2 0x1941 JUMP JUMPDEST MLOAD PUSH1 0x40 MLOAD PUSH4 0x27755B91 PUSH1 0xE1 SHL DUP2 MSTORE SWAP2 DUP3 SWAP2 PUSH1 0x4 DUP4 ADD PUSH2 0x9C2 JUMP JUMPDEST POP PUSH1 0x40 PUSH2 0x1A49 DUP3 DUP7 PUSH2 0x1941 JUMP JUMPDEST MLOAD MLOAD EQ ISZERO PUSH2 0x1988 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2DE3 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SSTORE SWAP1 POP JUMP JUMPDEST PUSH1 0x40 SWAP1 DUP2 MLOAD PUSH2 0x1A76 DUP4 DUP3 PUSH2 0x453 JUMP JUMPDEST PUSH1 0x12 DUP2 MSTORE PUSH18 0x11DA585B9BC814DB585C9D0815D85B1B195D PUSH1 0x72 SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP2 PUSH2 0x1AA2 DUP2 MLOAD SWAP2 DUP3 PUSH2 0x453 JUMP JUMPDEST PUSH1 0x1 DUP2 MSTORE PUSH1 0x31 PUSH1 0xF8 SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST SWAP1 DUP1 PUSH1 0x20 SWAP4 SWAP3 DUP2 DUP5 MSTORE DUP5 DUP5 ADD CALLDATACOPY PUSH1 0x0 DUP3 DUP3 ADD DUP5 ADD MSTORE PUSH1 0x1F ADD PUSH1 0x1F NOT AND ADD ADD SWAP1 JUMP JUMPDEST SWAP3 SWAP2 PUSH2 0x4F7 SWAP5 SWAP3 PUSH2 0x1AF2 SWAP3 DUP6 MSTORE PUSH1 0x60 PUSH1 0x20 DUP7 ADD MSTORE PUSH1 0x60 DUP6 ADD SWAP2 PUSH2 0x1AB3 JUMP JUMPDEST SWAP2 PUSH1 0x40 DUP2 DUP5 SUB SWAP2 ADD MSTORE PUSH2 0x99D JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP3 PUSH1 0x40 MLOAD SWAP4 DUP5 SWAP3 DUP4 CALLDATACOPY DUP2 ADD PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F503 DUP2 MSTORE SUB ADD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x2 DUP2 SWAP1 SHL SWAP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xFE SHL SUB DUP2 AND SUB PUSH2 0xEBC JUMPI JUMP JUMPDEST PUSH2 0x1B5A DUP2 SLOAD PUSH2 0x1135 JUMP JUMPDEST SWAP1 DUP2 PUSH2 0x1B64 JUMPI POP POP JUMP JUMPDEST DUP2 PUSH1 0x1F PUSH1 0x0 SWAP4 GT PUSH1 0x1 EQ PUSH2 0x1B76 JUMPI POP SSTORE JUMP JUMPDEST DUP2 DUP4 MSTORE PUSH1 0x20 DUP4 KECCAK256 PUSH2 0x1B92 SWAP2 PUSH1 0x1F ADD PUSH1 0x5 SHR DUP2 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x14C9 JUMP JUMPDEST DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 KECCAK256 SWAP1 DUP2 SLOAD DUP4 PUSH1 0x1 SHL SWAP1 DUP5 NOT DUP6 PUSH1 0x3 SHL SHR NOT AND OR SWAP1 SSTORE SSTORE JUMP JUMPDEST SWAP2 PUSH1 0x20 PUSH2 0x4F7 SWAP4 DUP2 DUP2 MSTORE ADD SWAP2 PUSH2 0x1AB3 JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x1BCC DUP4 PUSH2 0x116F JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x1CC2 JUMPI DUP1 MLOAD PUSH1 0x20 DUP3 ADD KECCAK256 PUSH2 0x1BE5 CALLDATASIZE DUP6 DUP6 PUSH2 0x4A5 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SUB PUSH2 0x1CA3 JUMPI POP SWAP1 DUP2 PUSH2 0x1C2C PUSH2 0x1C22 DUP4 PUSH32 0xCF95BBFE6F870F8CC40482DC3DCCDAFD268F0E9CE0A4F24EA1BEA9BE64E505FF SWAP6 PUSH2 0x1B00 JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x1C67 PUSH2 0x1C62 DUP6 PUSH1 0x0 MSTORE PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F502 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x1B50 JUMP JUMPDEST PUSH2 0x1C94 PUSH2 0x1C82 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E43 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH2 0xEED JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E43 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SSTORE JUMP JUMPDEST PUSH2 0x15FB PUSH1 0x40 MLOAD SWAP3 DUP4 SWAP3 DUP4 PUSH2 0x1BB0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x781F2E39 PUSH1 0xE0 SHL DUP2 MSTORE SWAP4 DUP5 SWAP4 PUSH2 0x16B9 SWAP4 SWAP1 SWAP2 PUSH1 0x4 DUP7 ADD PUSH2 0x1AD4 JUMP JUMPDEST PUSH4 0x340C473D PUSH1 0xE1 SHL PUSH1 0x0 MSTORE PUSH1 0x4 DUP5 SWAP1 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1CE0 PUSH2 0x13FB JUMP JUMPDEST SWAP1 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 ADD SWAP2 PUSH32 0x37F248F492286AB572E2A1EE0BD5315F2AAE54A08B5871B294D657F3A1F1D007 DUP4 MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP2 MSTORE PUSH2 0x1D20 PUSH1 0x60 DUP3 PUSH2 0x453 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 ADD SWAP3 PUSH2 0x1901 PUSH1 0xF0 SHL DUP5 MSTORE PUSH1 0x22 DUP4 ADD MSTORE PUSH1 0x42 DUP3 ADD MSTORE PUSH1 0x42 DUP2 MSTORE PUSH2 0x13CF PUSH1 0x62 DUP3 PUSH2 0x453 JUMP JUMPDEST SWAP1 SWAP2 PUSH1 0x0 SWAP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND ISZERO PUSH2 0x1E37 JUMPI PUSH1 0x40 MLOAD SWAP3 PUSH1 0x4 DUP5 ADD SWAP5 PUSH1 0x24 DUP6 ADD SWAP6 PUSH1 0x44 DUP7 ADD SWAP3 DUP6 EXTCODESIZE ISZERO PUSH2 0x1DB7 JUMPI POP SWAP2 DUP7 SWAP4 SWAP2 PUSH1 0x20 SWAP6 SWAP4 PUSH4 0xB135D3F PUSH1 0xE1 SHL DUP9 MSTORE MSTORE PUSH1 0x40 DUP5 MSTORE DUP2 MLOAD DUP6 ADD DUP1 SWAP3 PUSH1 0x4 GAS STATICCALL SWAP4 PUSH1 0x44 RETURNDATASIZE ADD SWAP2 GAS STATICCALL SWAP2 MLOAD PUSH4 0xB135D3F PUSH1 0xE1 SHL EQ SWAP2 AND AND SWAP1 JUMP JUMPDEST SWAP8 SWAP7 POP POP SWAP1 POP DUP2 MLOAD DUP1 PUSH1 0x40 EQ PUSH2 0x1E12 JUMPI PUSH1 0x41 EQ PUSH2 0x1DD4 JUMPI POP POP POP POP JUMP JUMPDEST PUSH1 0x20 SWAP3 SWAP4 SWAP6 POP PUSH1 0x60 DUP3 ADD MLOAD PUSH1 0x0 BYTE DUP4 MSTORE PUSH1 0x40 DUP3 ADD MLOAD PUSH1 0x60 MSTORE JUMPDEST PUSH1 0x0 MSTORE ADD MLOAD PUSH1 0x40 MSTORE PUSH1 0x20 PUSH1 0x1 PUSH1 0x80 PUSH1 0x0 DUP3 GAS STATICCALL MLOAD XOR PUSH1 0x60 SHL RETURNDATASIZE GT SWAP2 PUSH1 0x0 PUSH1 0x60 MSTORE PUSH1 0x40 MSTORE JUMP JUMPDEST POP PUSH1 0x20 SWAP3 SWAP4 SWAP6 POP PUSH1 0x40 DUP3 ADD MLOAD PUSH1 0x1B DUP2 PUSH1 0xFF SHR ADD DUP5 MSTORE PUSH1 0x1 DUP1 PUSH1 0xFF SHL SUB AND PUSH1 0x60 MSTORE PUSH2 0x1DED JUMP JUMPDEST POP POP POP POP PUSH1 0x0 SWAP1 JUMP JUMPDEST SWAP1 PUSH2 0x488 PUSH1 0x1 PUSH1 0x2D PUSH1 0x40 MLOAD DUP1 SWAP6 PUSH13 0x1131B430B63632B733B2911D11 PUSH1 0x99 SHL PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1E76 DUP2 MLOAD DUP1 SWAP3 PUSH1 0x20 DUP7 DUP7 ADD SWAP2 ADD PUSH2 0x97A JUMP JUMPDEST DUP2 ADD PUSH1 0x11 PUSH1 0xF9 SHL DUP4 DUP3 ADD MSTORE SUB ADD PUSH1 0x1E NOT DUP2 ADD DUP6 MSTORE ADD DUP4 PUSH2 0x453 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x20 LT ISZERO PUSH2 0x1075 JUMPI PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x20 SWAP3 SWAP2 SWAP1 PUSH2 0x1EC3 DUP5 SWAP3 DUP3 DUP2 MLOAD SWAP5 DUP6 SWAP3 ADD PUSH2 0x97A JUMP JUMPDEST ADD SWAP1 DUP2 MSTORE ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 PUSH1 0x20 SWAP2 SUB SLT PUSH2 0x244 JUMPI MLOAD SWAP1 JUMP JUMPDEST SWAP3 SWAP2 SWAP1 PUSH1 0x0 SWAP4 PUSH1 0xA0 DUP3 ADD SWAP5 DUP6 MLOAD PUSH32 0x7FFFFFFF800000007FFFFFFFFFFFFFFFDE737D56D38BCF4279DCE5617E3192A8 LT PUSH2 0x20B7 JUMPI PUSH1 0x20 DUP4 ADD SWAP2 PUSH32 0xFF1A2A9176D650E4A99DEDB58F1793003935130579FE17B5A3F698AC5B00E634 PUSH2 0x1F4C DUP5 MLOAD PUSH1 0x60 DUP8 ADD MLOAD PUSH2 0x1F46 DUP2 PUSH2 0x1093 JUMP JUMPDEST SWAP2 PUSH2 0x2244 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SUB PUSH2 0x20C0 JUMPI PUSH2 0x1F64 PUSH2 0x1F69 SWAP2 PUSH2 0x20CA JUMP JUMPDEST PUSH2 0x1E40 JUMP JUMPDEST PUSH2 0x1F7E DUP4 MLOAD PUSH1 0x40 DUP7 ADD MLOAD PUSH2 0x1F46 DUP5 MLOAD DUP3 PUSH2 0x10AF JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SWAP1 PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SUB PUSH2 0x20B7 JUMPI PUSH1 0x1 PUSH1 0xF8 SHL PUSH1 0x1 PUSH1 0xF8 SHL PUSH2 0x1FB7 PUSH2 0x1FA9 DUP7 MLOAD PUSH2 0x1E91 JUMP JUMPDEST MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 JUMP JUMPDEST AND SUB PUSH2 0x20B7 JUMPI PUSH2 0x1FD4 PUSH1 0x20 SWAP3 PUSH1 0x0 SWAP3 POP MLOAD PUSH1 0x40 MLOAD SWAP2 DUP3 DUP1 SWAP3 PUSH2 0xE22 JUMP JUMPDEST SUB SWAP1 PUSH1 0x2 GAS STATICCALL ISZERO PUSH2 0x20B2 JUMPI PUSH1 0x20 PUSH1 0x0 PUSH2 0x200A DUP2 MLOAD PUSH2 0x1FFE DUP6 MLOAD PUSH2 0x225 PUSH1 0x40 MLOAD SWAP4 DUP5 SWAP3 DUP9 DUP5 ADD PUSH2 0x1EAD JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 DUP1 SWAP3 PUSH2 0xE22 JUMP JUMPDEST SUB SWAP1 PUSH1 0x2 GAS STATICCALL ISZERO PUSH2 0x20B2 JUMPI PUSH1 0x80 PUSH1 0x0 MLOAD SWAP2 ADD SWAP4 PUSH1 0x0 DUP1 DUP7 MLOAD DUP6 PUSH2 0x205D DUP6 MLOAD PUSH2 0x225 DUP11 PUSH1 0x40 MLOAD SWAP5 DUP6 SWAP4 PUSH1 0x20 DUP6 ADD SWAP8 DUP13 DUP10 SWAP2 SWAP3 PUSH1 0x80 SWAP4 SWAP7 SWAP6 SWAP5 SWAP2 SWAP7 PUSH1 0xA0 DUP5 ADD SWAP8 DUP5 MSTORE PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE ADD MSTORE JUMP JUMPDEST MLOAD SWAP1 PUSH2 0x100 GAS STATICCALL SWAP5 PUSH2 0x206D PUSH2 0x1105 JUMP JUMPDEST DUP1 MLOAD SWAP7 DUP1 PUSH2 0x20A9 JUMPI JUMPDEST PUSH2 0x2089 JUMPI POP PUSH2 0x4F7 SWAP6 POP MLOAD SWAP1 MLOAD SWAP2 PUSH2 0x2131 JUMP JUMPDEST PUSH1 0x1 SWAP7 PUSH2 0x20A5 SWAP7 POP DUP2 ADD PUSH1 0x20 SWAP1 DUP2 ADD SWAP6 POP ADD SWAP3 POP PUSH2 0x1ECB SWAP2 POP POP JUMP JUMPDEST EQ SWAP1 JUMP JUMPDEST POP DUP7 ISZERO ISZERO PUSH2 0x2076 JUMP JUMPDEST PUSH2 0x1EA1 JUMP JUMPDEST SWAP5 POP POP POP POP POP SWAP1 JUMP JUMPDEST POP SWAP5 POP POP POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x4F7 SWAP2 PUSH2 0x20DC PUSH1 0x60 DUP4 PUSH2 0x453 JUMP JUMPDEST PUSH1 0x40 DUP3 MSTORE PUSH32 0x4142434445464748494A4B4C4D4E4F505152535455565758595A616263646566 PUSH1 0x20 DUP4 ADD MSTORE PUSH32 0x6768696A6B6C6D6E6F707172737475767778797A303132333435363738392D5F PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x22F0 JUMP JUMPDEST SWAP4 SWAP2 SWAP1 SWAP3 SWAP4 DUP4 ISZERO DUP1 ISZERO PUSH2 0x2221 JUMPI JUMPDEST DUP1 ISZERO PUSH2 0x2219 JUMPI JUMPDEST DUP1 ISZERO PUSH2 0x2201 JUMPI JUMPDEST PUSH2 0x21F7 JUMPI PUSH2 0x215B DUP4 DUP7 PUSH2 0x2398 JUMP JUMPDEST ISZERO PUSH2 0x21F7 JUMPI PUSH1 0x40 MLOAD SWAP2 PUSH1 0x20 DUP4 MSTORE PUSH1 0x20 DUP1 DUP5 ADD MSTORE PUSH1 0x20 PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x60 DUP4 ADD MSTORE PUSH32 0xFFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC63254F PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E03 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0xA0 DUP4 ADD MSTORE PUSH1 0x20 DUP3 PUSH1 0xC0 DUP2 PUSH1 0x5 PUSH1 0x0 NOT STATICCALL ISZERO PUSH2 0x244 JUMPI PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E03 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP5 PUSH2 0x21F1 SWAP4 DUP7 PUSH2 0x21EB SWAP5 MLOAD DUP2 DUP2 DUP10 MULMOD SWAP5 MULMOD SWAP2 PUSH2 0x2473 JUMP JUMPDEST SWAP2 PUSH2 0xE94 JUMP JUMPDEST SWAP1 ADDMOD ISZERO SWAP1 JUMP JUMPDEST POP POP POP POP POP PUSH1 0x0 SWAP1 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E03 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP3 LT ISZERO PUSH2 0x214D JUMP JUMPDEST POP DUP2 ISZERO PUSH2 0x2146 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E03 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP5 LT ISZERO PUSH2 0x213F JUMP JUMPDEST DUP2 PUSH1 0x40 MLOAD SWAP2 DUP3 CALLDATACOPY KECCAK256 SWAP1 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x60 SWAP5 SWAP4 SWAP3 SWAP1 DUP4 DUP2 GT ISZERO PUSH2 0x22B6 JUMPI JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x22AE JUMPI JUMPDEST POP DUP3 DUP2 LT PUSH2 0x226B JUMPI POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP5 POP SWAP2 DUP3 SWAP1 SUB SWAP2 ADD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND JUMPDEST DUP2 DUP2 ADD MLOAD DUP6 DUP3 ADD MSTORE PUSH1 0x1F NOT ADD SWAP1 DUP2 ISZERO PUSH2 0x2298 JUMPI SWAP1 PUSH2 0x227F JUMP JUMPDEST POP POP PUSH1 0x40 DUP2 DUP5 ADD PUSH1 0x0 PUSH1 0x20 DUP3 ADD MSTORE ADD PUSH1 0x40 MSTORE DUP3 MSTORE JUMP JUMPDEST SWAP1 POP CODESIZE PUSH2 0x225E JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x2255 JUMP JUMPDEST SWAP1 PUSH2 0x22C8 DUP3 PUSH2 0x48A JUMP JUMPDEST PUSH2 0x22D5 PUSH1 0x40 MLOAD SWAP2 DUP3 PUSH2 0x453 JUMP JUMPDEST DUP3 DUP2 MSTORE DUP1 SWAP3 PUSH2 0x22E6 PUSH1 0x1F NOT SWAP2 PUSH2 0x48A JUMP JUMPDEST ADD SWAP1 PUSH1 0x20 CALLDATASIZE SWAP2 ADD CALLDATACOPY JUMP JUMPDEST SWAP1 DUP2 MLOAD ISZERO PUSH2 0x238E JUMPI SWAP1 PUSH2 0x231D PUSH2 0x2318 PUSH2 0x2311 PUSH2 0x230C DUP5 MLOAD PUSH2 0x1B38 JUMP JUMPDEST PUSH2 0x10A1 JUMP JUMPDEST PUSH1 0x3 SWAP1 DIV SWAP1 JUMP JUMPDEST PUSH2 0x22BE JUMP JUMPDEST SWAP2 PUSH1 0x20 DUP4 ADD SWAP1 DUP3 DUP1 MLOAD ADD SWAP1 PUSH1 0x20 DUP3 ADD SWAP3 DUP4 MLOAD SWAP5 PUSH1 0x0 DUP6 MSTORE JUMPDEST DUP4 DUP2 LT PUSH2 0x2344 JUMPI POP POP POP POP MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x4 SWAP2 ADD SWAP2 PUSH1 0x1 PUSH1 0x3F DUP5 MLOAD DUP3 DUP3 DUP3 PUSH1 0x12 SHR AND DUP9 ADD ADD MLOAD DUP5 MSTORE8 DUP3 DUP3 DUP3 PUSH1 0xC SHR AND DUP9 ADD ADD MLOAD DUP4 DUP6 ADD MSTORE8 DUP3 DUP3 DUP3 PUSH1 0x6 SHR AND DUP9 ADD ADD MLOAD PUSH1 0x2 DUP6 ADD MSTORE8 AND DUP6 ADD ADD MLOAD PUSH1 0x3 DUP3 ADD MSTORE8 ADD SWAP1 PUSH2 0x2335 JUMP JUMPDEST POP POP PUSH2 0x4F7 PUSH2 0x10F0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 LT DUP1 ISZERO SWAP1 PUSH2 0x245B JUMPI JUMPDEST DUP1 ISZERO PUSH2 0x244A JUMPI JUMPDEST PUSH2 0x2443 JUMPI PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH32 0x5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B SWAP1 DUP3 SWAP1 DUP2 PUSH32 0xFFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC DUP3 MULMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 DUP2 DUP1 MULMOD MULMOD ADDMOD ADDMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP1 MULMOD EQ SWAP1 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP1 JUMP JUMPDEST POP DUP1 ISZERO DUP1 ISZERO PUSH2 0x23B8 JUMPI POP DUP2 ISZERO PUSH2 0x23B8 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP3 LT ISZERO PUSH2 0x23B1 JUMP JUMPDEST SWAP1 SWAP3 PUSH1 0x0 SWAP3 SWAP1 DUP4 PUSH1 0xFF DUP2 DUP5 ISZERO DUP1 PUSH2 0x2A6A JUMPI JUMPDEST PUSH2 0x2A5F JUMPI PUSH2 0x2493 DUP9 DUP8 PUSH2 0x2A72 JUMP JUMPDEST SWAP3 SWAP1 SWAP2 DUP3 ISZERO DUP1 PUSH2 0x2A57 JUMPI JUMPDEST PUSH2 0x2A1C JUMPI JUMPDEST POP DUP6 DUP2 SHR PUSH1 0x2 DUP7 PUSH1 0xFE SHR AND ADD JUMPDEST ISZERO PUSH2 0x2A03 JUMPI PUSH1 0x1 DUP7 DUP3 SHR AND PUSH1 0x2 DUP7 DUP4 SHR PUSH1 0x1 SHL AND ADD PUSH1 0x1 DUP2 EQ PUSH2 0x29B8 JUMPI JUMPDEST PUSH1 0x2 DUP2 EQ PUSH2 0x29AB JUMPI JUMPDEST PUSH1 0x3 EQ PUSH2 0x299E JUMPI JUMPDEST PUSH1 0x1 SWAP9 PUSH1 0x0 NOT SWAP2 SWAP1 SWAP2 ADD SWAP7 SWAP5 SWAP6 SWAP5 DUP10 SWAP5 SWAP4 SWAP3 SWAP2 JUMPDEST DUP9 PUSH1 0x0 NOT GT PUSH2 0x2571 JUMPI POP POP POP POP POP POP POP POP POP PUSH1 0x40 MLOAD SWAP2 PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x20 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD MSTORE PUSH1 0x20 PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH1 0x60 SHL SUB PUSH1 0x60 SHL NOT PUSH1 0xA0 DUP4 ADD MSTORE PUSH1 0x20 DUP3 PUSH1 0xC0 DUP2 PUSH1 0x5 PUSH1 0x0 NOT STATICCALL ISZERO PUSH2 0x244 JUMPI SWAP1 MLOAD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD SWAP1 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 SWAP6 SWAP7 SWAP8 SWAP9 PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH1 0x60 SHL SUB PUSH1 0x60 SHL NOT DUP7 PUSH1 0x2 MULMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP3 DUP1 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 DUP4 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP3 SWAP1 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 SWAP1 DUP16 DUP3 DUP2 DUP4 ADDMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SUB SWAP1 ADDMOD MULMOD PUSH1 0x3 MULMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP4 MULMOD SWAP13 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP3 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP12 DUP1 MULMOD ADDMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SWAP1 DUP2 SUB DUP12 ADDMOD SWAP1 MULMOD SWAP7 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP9 SWAP1 DUP3 SWAP1 DUP5 MULMOD ADDMOD SWAP7 DUP12 PUSH1 0x2 DUP13 PUSH1 0x1 DUP14 DUP5 SHR AND SWAP3 SHR PUSH1 0x1 SHL AND ADD DUP1 ISZERO PUSH2 0x2981 JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x2936 JUMPI JUMPDEST PUSH1 0x2 DUP2 EQ PUSH2 0x292B JUMPI JUMPDEST PUSH1 0x3 EQ PUSH2 0x2922 JUMPI JUMPDEST DUP3 ISZERO PUSH2 0x290F JUMPI PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP9 SWAP1 DUP3 SWAP1 DUP16 SWAP1 MULMOD ADDMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP10 DUP3 SUB SWAP1 DUP3 SWAP1 DUP6 SWAP1 MULMOD ADDMOD SWAP8 DUP2 ISZERO PUSH2 0x27D5 JUMPI JUMPDEST PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP10 DUP1 MULMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP11 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP11 SWAP1 MULMOD SWAP13 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP5 SWAP1 MULMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP3 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP6 DUP2 SUB DUP2 DUP7 DUP1 MULMOD ADDMOD ADDMOD SWAP8 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP4 DUP5 SWAP2 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SWAP1 DUP11 DUP3 SUB SWAP1 ADDMOD MULMOD ADDMOD SWAP5 SWAP9 JUMPDEST PUSH1 0x0 NOT ADD SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x24F3 JUMP JUMPDEST DUP9 PUSH2 0x26F8 JUMPI SWAP11 SWAP2 SWAP8 POP SWAP1 SWAP6 SWAP1 POP PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD SWAP11 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP13 DUP1 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 DUP14 MULMOD SWAP13 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP3 SWAP1 MULMOD SWAP12 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 DUP12 DUP2 SUB DUP3 ADDMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP13 SWAP1 ADDMOD MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH1 0x3 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP14 MULMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD SWAP12 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP3 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP5 DUP1 MULMOD ADDMOD SWAP12 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP4 DUP5 SWAP2 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SWAP1 DUP15 DUP3 SUB SWAP1 ADDMOD SWAP1 MULMOD ADDMOD SWAP5 PUSH2 0x27C4 JUMP JUMPDEST PUSH1 0x1 SWAP13 POP SWAP1 SWAP11 DUP13 SWAP9 POP SWAP1 SWAP7 POP SWAP1 POP PUSH2 0x27C4 JUMP JUMPDEST POP POP DUP4 DUP6 PUSH2 0x26B7 JUMP JUMPDEST DUP6 SWAP3 POP DUP5 SWAP2 POP PUSH2 0x26AF JUMP JUMPDEST PUSH32 0x6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296 SWAP3 POP PUSH32 0x4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5 SWAP2 POP PUSH2 0x26A6 JUMP JUMPDEST POP POP POP SWAP10 SWAP6 SWAP9 SWAP5 PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH1 0x60 SHL SUB PUSH1 0x60 SHL NOT SUB SWAP5 PUSH2 0x27C4 JUMP JUMPDEST SWAP3 POP DUP1 SWAP7 POP SWAP6 DUP2 SWAP3 PUSH2 0x24DF JUMP JUMPDEST SWAP7 SWAP8 POP DUP8 SWAP7 DUP10 SWAP5 POP PUSH2 0x24D7 JUMP JUMPDEST PUSH32 0x6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296 SWAP9 POP PUSH32 0x4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5 SWAP5 POP PUSH2 0x24CE JUMP JUMPDEST PUSH1 0x0 NOT ADD PUSH1 0x1 DUP7 DUP3 SHR AND PUSH1 0x2 DUP7 DUP4 SHR PUSH1 0x1 SHL AND ADD PUSH2 0x24B0 JUMP JUMPDEST SWAP5 SWAP6 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E03 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP2 SWAP7 DUP3 SUB SWAP1 ADDMOD SWAP5 DUP5 DUP7 ISZERO DUP1 PUSH2 0x2A4F JUMPI JUMPDEST ISZERO PUSH2 0x24A3 JUMPI SWAP9 POP POP POP POP POP POP POP POP POP SWAP1 JUMP JUMPDEST POP PUSH1 0x1 PUSH2 0x2A3D JUMP JUMPDEST POP DUP4 ISZERO PUSH2 0x249E JUMP JUMPDEST SWAP7 POP POP POP POP POP POP POP SWAP1 JUMP JUMPDEST POP DUP4 ISZERO PUSH2 0x2485 JUMP JUMPDEST SWAP2 SWAP1 PUSH32 0x6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296 PUSH32 0x4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5 SWAP2 DUP1 ISZERO PUSH2 0x2C26 JUMPI DUP5 PUSH2 0xBC6 SWAP5 SWAP6 DUP4 EQ DUP1 PUSH2 0x2C1D JUMPI JUMPDEST ISZERO PUSH2 0x2C08 JUMPI POP PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 POP DUP3 PUSH1 0x2 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 DUP1 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP5 DUP5 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP6 SWAP1 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 SWAP1 DUP2 PUSH1 0x1 DUP3 ADDMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH32 0xFFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFE SWAP1 ADDMOD MULMOD PUSH1 0x3 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP5 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP4 DUP1 MULMOD ADDMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT PUSH1 0x1 DUP7 MULMOD SWAP6 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH1 0x1 SWAP1 MULMOD SWAP5 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP4 DUP5 SWAP2 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 SUB SWAP3 SWAP1 SWAP2 DUP3 SWAP1 DUP7 DUP3 SUB SWAP1 ADDMOD SWAP1 MULMOD ADDMOD SWAP1 PUSH2 0x2D48 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 PUSH2 0x2C14 SWAP4 PUSH2 0x2C2C JUMP JUMPDEST SWAP3 SWAP1 SWAP2 SWAP1 PUSH2 0x2D48 JUMP JUMPDEST POP DUP2 DUP5 EQ PUSH2 0x2ACB JUMP JUMPDEST POP SWAP3 POP SWAP1 JUMP JUMPDEST SWAP2 SWAP4 SWAP1 DUP1 ISZERO PUSH2 0x2D3F JUMPI PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 SUB SWAP4 DUP5 SWAP1 DUP3 SWAP1 PUSH1 0x1 SWAP1 MULMOD ADDMOD SWAP4 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP4 DUP3 SUB SWAP1 DUP3 SWAP1 PUSH1 0x1 SWAP1 MULMOD ADDMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP5 DUP1 MULMOD SWAP4 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP6 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP6 SWAP1 MULMOD SWAP5 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP8 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP7 DUP2 SUB DUP2 DUP6 DUP1 MULMOD ADDMOD ADDMOD SWAP6 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP3 DUP4 SWAP1 DUP7 SWAP1 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SWAP1 DUP10 DUP3 SUB SWAP1 ADDMOD MULMOD ADDMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH1 0x1 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH1 0x1 MULMOD SWAP1 JUMP JUMPDEST POP PUSH1 0x1 SWAP2 POP DUP2 SWAP1 JUMP JUMPDEST SWAP2 SWAP1 SWAP3 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD MSTORE PUSH1 0x20 PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH1 0x60 SHL SUB PUSH1 0x60 SHL NOT PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0x20 DUP2 PUSH1 0xC0 DUP2 PUSH1 0x5 PUSH1 0x0 NOT STATICCALL ISZERO PUSH2 0x244 JUMPI MLOAD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP5 SWAP1 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 SWAP1 DUP3 SWAP1 DUP1 MULMOD SWAP1 MULMOD SWAP2 JUMP INVALID MOD 0x27 0xF7 0x2A CREATE 0xE6 DELEGATECALL SLT NOT JUMPDEST 0xD DUP11 0xCB 0xE4 CODESIZE 0xB2 DUP1 SWAP1 0xDD SLOAD JUMPDEST PUSH30 0x2331FCCF77723561F500FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAAD 0xA7 OR SWAP15 DUP5 RETURN 0xB9 0xCA 0xC2 0xFC PUSH4 0x25513608 SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBC0627F72AF0E6F412195B0D DUP11 0xCB 0xE4 CODESIZE 0xB2 DUP1 SWAP1 0xDD SLOAD JUMPDEST PUSH30 0x2331FCCF77723561F501A26469706673582212208CD714406382F3C7BA67 0xB9 0xE9 PUSH24 0x11D79104255FAC724C6724BE98E47E28A08F4464736F6C63 NUMBER STOP ADDMOD SHR STOP CALLER ", - "sourceMap": "1195:13544:16:-:0;;;;;;;;;-1:-1:-1;1195:13544:16;1266:232:7;1195:13544:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1195:13544:16;;;;;;;;;6785:16:18;1195:13544:16;;;6785:16:18;1195:13544:16;;6785:16:18;;;;;;1195:13544:16;;;;;;;;;;;;;;;6785:16:18;;;;;;;;;;:::i;:::-;1195:13544:16;:::i;:::-;;;;;;;;;;;;-1:-1:-1;1195:13544:16;;;;;;;;-1:-1:-1;;1195:13544:16;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;1195:13544:16;;;;;:::o;:::-;;;;;;-1:-1:-1;;1195:13544:16;;;;4296:42:18;1195:13544:16;;;;;:::i;:::-;4008:70:18;;:::i;:::-;1195:13544:16;;;;;;;;;;4277:17:18;;1195:13544:16;;4277:17:18;;;1195:13544:16;4277:17:18;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1195:13544:16;4296:42:18;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1195:13544:16;4296:42:18;:::i;:::-;1195:13544:16;;;;;;;;;;;;;;-1:-1:-1;;;;;1195:13544:16;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1195:13544:16;;;;;;;;-1:-1:-1;;;;;1195:13544:16;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;-1:-1:-1;;;;;;1195:13544:16;;;;;;;;;;;;-1:-1:-1;;1195:13544:16;;;;;;;437:10:14;1195:13544:16;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1195:13544:16;;;;;;-1:-1:-1;;;;;1195:13544:16;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;3588:10:16;:26;3584:78;;7048:880;;;1195:13544;7048:880;;:::i;:::-;4608:275;;;1195:13544;-1:-1:-1;1195:13544:16;;;;;;;;;;;;;;;;;4608:275;-1:-1:-1;4608:275:16;;;;3588:10;;4608:275;;;;;;3584:78;3637:14;;;-1:-1:-1;3637:14:16;1195:13544;-1:-1:-1;3637:14:16;1195:13544;;;;;;;;;;;;;;;6785:16:18;;1195:13544:16;;;;;;;;-1:-1:-1;;;;;1195:13544:16;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;:::i;:::-;:::o;:::-;-1:-1:-1;;;;;1195:13544:16;;;;;;-1:-1:-1;;1195:13544:16;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;1195:13544:16;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;-1:-1:-1;;1195:13544:16;;;;;;-1:-1:-1;;;;;1195:13544:16;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1195:13544:16;;;;4630:42:18;1195:13544:16;;4612:16:18;1195:13544:16;;4008:70:18;;:::i;:::-;1195:13544:16;;;;4612:16:18;;1195:13544:16;;;;;;;;;;;;;;4612:16:18;1195:13544:16;;;;-1:-1:-1;;1195:13544:16;;;;;;;-1:-1:-1;;;;;1195:13544:16;;;;;;-1:-1:-1;1195:13544:16;;;;;;;;;;;;-1:-1:-1;;;;;1195:13544:16;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;3588:10;10140:42;3588:10;:26;3584:78;;-1:-1:-1;8741:3:16;8723:16;;;;;;-1:-1:-1;1195:13544:16;;;;;;;;:::i;:::-;8822:12;;;;:::i;:::-;8853:34;;;:::i;:::-;8852:35;8848:109;;1195:13544;;;;;;;;:::i;:::-;12482:31;;;;;8985:4;;12482:31;;;;:::i;:::-;12527:8;;12523:133;;8741:3;1195:13544;;8712:9;;12523:133;12482:31;12551:95;;;;;8848:109;-1:-1:-1;;;8914:28:16;;-1:-1:-1;;;;;;1195:13544:16;;;;8914:28;;1195:13544;;;;:::i;:::-;3841:10;10140:42;3841:10;:26;3837:70;;1195:13544;-1:-1:-1;9831:16:16;;;;;;1195:13544;9849:3;9874:8;9868:53;9874:8;1195:13544;9874:8;;;;:::i;:::-;1195:13544;;;;:::i;:::-;9891:14;:8;;;;;:::i;:::-;:14;1195:13544;;9907:13;:8;;;;;:::i;:::-;:13;;;;;:::i;:::-;1195:13544;;;:::i;:::-;9868:53;;:::i;:::-;1195:13544;9820:9;;3837:70;;;:::i;:::-;;;1195:13544;;;;;;-1:-1:-1;;1195:13544:16;;;;;-1:-1:-1;;;;;;;;;;;1195:13544:16;;;;;;;;;;-1:-1:-1;;1195:13544:16;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1195:13544:16;;;;;;;;;;;:::i;:::-;3080:19:8;;2661:6;2687:4;2661:32;3076:57;;4008:70:18;;:::i;:::-;1195:13544:16;;;;;3828:1370:13;;-1:-1:-1;3828:1370:13;;;;-1:-1:-1;;;;;;;;;;;1195:13544:16;3828:1370:13;1195:13544:16;3828:1370:13;;;;;;;;;;-1:-1:-1;3828:1370:13;;;;-1:-1:-1;;;;;;;;;;;3828:1370:13;;;1195:13544:16;3828:1370:13;;-1:-1:-1;3828:1370:13;1195:13544:16;3828:1370:13;;;;;;;;;;;;1195:13544:16;3828:1370:13;;-1:-1:-1;3828:1370:13;;;;;;;;;1195:13544:16;3828:1370:13;;3076:57:8;4365:120;-1:-1:-1;4365:120:8;1195:13544:16;4365:120:8;;1195:13544:16;;;;;;-1:-1:-1;;1195:13544:16;;;;2687:4:8;2661:6;:32;3340:58;;1195:13544:16;;;-1:-1:-1;;;;;;;;;;;1195:13544:16;;;;;;;;;-1:-1:-1;;1195:13544:16;;;;-1:-1:-1;;;;;;;;;;;11002:73:16;1195:13544;;-1:-1:-1;;;;;1195:13544:16;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1195:13544:16;5629:72;;-1:-1:-1;;;;;1195:13544:16;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5711:25;;;:::i;1195:13544::-;;;-1:-1:-1;;;;;1195:13544:16;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;5629:72;5677:13;;;-1:-1:-1;5677:13:16;1195:13544;-1:-1:-1;5677:13:16;1195:13544;;;;;;;;-1:-1:-1;;1195:13544:16;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;1195:13544:16;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1195:13544:16;;;;;;-1:-1:-1;;;;;1195:13544:16;;;;;;;;;;;;;;;;;668:13:14;;;1195:13544:16;668:33:14;;;:::i;:::-;704:15;-1:-1:-1;664:157:14;;939:55;4299:17:15;855:68:14;938:56;855:68;;:::i;:::-;1195:13544:16;;;;;845:79:14;4299:17:15;:::i;:::-;979:14:14;;;;;;:::i;:::-;939:55;;:::i;:::-;938:56;;1195:13544:16;938:56:14;934:112;;-1:-1:-1;1093:11:14;1116:9;1093:11;1116:9;1093:11;;;;:::i;:::-;1116:9;;;;:::i;:::-;1195:13544:16;;668:13:14;1195:13544:16;;;;;;:::i;:::-;1093:33:14;;;;;;:::i;:::-;1140:8;;1136:117;;1195:13544:16;;668:13:14;1195:13544:16;;;;;;:::i;934:112:14:-;1017:18;;;-1:-1:-1;1017:18:14;1195:13544:16;-1:-1:-1;1017:18:14;664:157;759:33;742:68;759:33;;:::i;:::-;-1:-1:-1;;;;742:68:14;1195:13544:16;;704:15:14;1195:13544:16;;;;;742:68:14;-1:-1:-1;742:68:14;1195:13544:16;;;;;;-1:-1:-1;;1195:13544:16;;;;;;2558:23:15;;:::i;:::-;1195:13544:16;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;2601:13:15;1195:13544:16;;;;2652:4:15;1195:13544:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1195:13544:16;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1195:13544:16;;;;;;;2665:4;1195:13544;;;;;;-1:-1:-1;;1195:13544:16;;;;;;;;;;;-1:-1:-1;;;;;1195:13544:16;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;:::i;:::-;4008:70:18;;;:::i;:::-;5200:1;5184:12;;:::i;:::-;:17;5180:66;;5283:5;;;:::i;5180:66::-;5224:11;;;;;1195:13544:16;5224:11:18;;1195:13544:16;;;;;;-1:-1:-1;;1195:13544:16;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1195:13544:16;;;;;;-1:-1:-1;;;;;;1195:13544:16;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;1195:13544:16;;;;;;-1:-1:-1;;;;;1195:13544:16;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1195:13544:16;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1195:13544:16;;;;;;;10140:42;1195:13544;;;;;;-1:-1:-1;;1195:13544:16;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;1195:13544:16;;;;;;9464:26;1195:13544;;;;;;:::i;:::-;10140:42;3841:10;:26;3837:70;;1195:13544;;;:::i;3837:70::-;;;:::i;:::-;;;1195:13544;;;;;;;:::i;:::-;4008:70:18;;;:::i;:::-;5864:12;;:::i;:::-;5890:19;5908:1;5890:19;;5886:86;;6009:5;;;;:::i;5886:86::-;5932:29;;;;;;1195:13544:16;;;5932:29:18;;1195:13544:16;;;;;;-1:-1:-1;;1195:13544:16;;;;;4299:17:15;1195:13544:16;;4299:17:15;:::i;1195:13544:16:-;;;;;;-1:-1:-1;;1195:13544:16;;;;;-1:-1:-1;;;;;;;;;;;1195:13544:16;;;;;;;;;;;;;-1:-1:-1;;1195:13544:16;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;6751:33:18;1195:13544:16;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1195:13544:16;;-1:-1:-1;;;;;;;;;;;1195:13544:16;;;;:::o;:::-;;:::i;7950:190:18:-;-1:-1:-1;;;;;;;;;;;1195:13544:16;-1:-1:-1;;;;;;;;;;;1195:13544:16;;;;;;;;7950:190:18;:::o;1195:13544:16:-;-1:-1:-1;;1195:13544:16;;;;;;;:::o;3391:339:15:-;;4299:17;3515:69;3391:339;;4299:17;:::i;:::-;3515:69;:::i;:::-;3511:185;;-1:-1:-1;;;;;;1195:13544:16;3391:339:15:o;3511:185::-;-1:-1:-1;;;1195:13544:16;3668:17:15:o;1195:13544:16:-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1195:13544:16;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;;;;;;1195:13544:16;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;1195:13544:16;;;;;;;;;;;;;-1:-1:-1;1195:13544:16:o;7048:880::-;7309:12;;;1195:13544;;;7349:15;;;;;;;:::i;:::-;-1:-1:-1;;;1195:13544:16;-1:-1:-1;;;;;;1195:13544:16;7342:23;;;:::i;:::-;1195:13544;7342:72;1195:13544;;7443:35;;;;:::i;:::-;7496:27;2665:4;7496:27;;7492:93;;7338:380;;7826:16;7796:47;7338:380;;7826:16;;;;;:::i;7796:47::-;7792:86;;7920:1;7048:880;:::o;7792:86::-;7866:1;7859:8;:::o;7492:93::-;-1:-1:-1;;;7550:20:16;;7673;1195:13544;;-1:-1:-1;742:68:14;7338:380:16;7619:27;2665:4;7619:27;;7615:93;;7338:380;;7826:16;7796:47;7338:380;;;7052:145:18;1195:13544:16;;7052:145:18;1195:13544:16;:::i;:::-;;;7052:145:18;:::o;1195:13544:16:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;:::i;:::-;;437:10:14;1195:13544:16;;;;;;;:::o;:::-;;7233:2:20;1195:13544:16;;;;;;;:::o;:::-;;2566:1:6;1195:13544:16;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::o;:::-;;;;;;;;:::i;:::-;1530:1:6;1195:13544:16;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;1195:13544:16;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;7406:149:18;-1:-1:-1;1195:13544:16;7503:38:18;1195:13544:16;;;-1:-1:-1;1195:13544:16;;;;;-1:-1:-1;1195:13544:16;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;1195:13544:16;;;;;-1:-1:-1;1195:13544:16;;-1:-1:-1;1195:13544:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11377:546;1195:13544;;;;11510:39;;;11490:59;;:132;;;;;11377:546;11490:208;;;;11377:546;11490:281;;;;11377:546;11490:358;;;;11377:546;11473:422;;;1195:13544;11377:546;:::o;11473:422::-;11880:4;11873:11;:::o;11490:358::-;-1:-1:-1;;;11787:61:16;;-1:-1:-1;11490:358:16;;;:281;-1:-1:-1;;;11714:57:16;;;-1:-1:-1;11490:281:16;;:208;-1:-1:-1;;;11638:60:16;;;-1:-1:-1;11490:208:16;;:132;-1:-1:-1;;;11565:57:16;;;-1:-1:-1;11490:132:16;;10583:214;1195:13544;;;;;;:::i;:::-;2162:233:1;1707:12;;;1195:13544:16;2162:233:1;1818:15;;;;;;:::i;:::-;3287:193:0;;1818:15:1;3287:193:0;;;;;1882:15:1;1867:31;1882:15;;;;;;:::i;:::-;1867:31;;:::i;:::-;1935:23;;;;1195:13544:16;1997:25:1;;;1195:13544:16;2050:14:1;2105:39;2120:23;2050:14;;;1195:13544:16;2120:23:1;;;;;;:::i;2105:39::-;1195:13544:16;1818:15:1;1195:13544:16;2162:233:1;;;1707:12;2162:233;;;;1065:197;;;;;;;;;;;;;;;1195:13544:16;1065:197:1;1195:13544:16;;;;;;;;1065:197:1;;;1195:13544:16;1065:197:1;;;1195:13544:16;1065:197:1;;;1195:13544:16;1065:197:1;;;1195:13544:16;1065:197:1;;;1195:13544:16;1065:197:1;;;1195:13544:16;1065:197:1;;;1195:13544:16;1065:197:1;1195:13544:16;1065:197:1;2162:233;1195:13544:16;4988:47:1;;1818:15;1195:13544:16;;1707:12:1;10722:67:16;;1195:13544;;;10140:42;1195:13544;;;;;;;10722:67;1195:13544;;;;10722:67;1195:13544;10722:67;1195:13544;10712:78;;10583:214;:::o;6239:154:18:-;1195:13544:16;;6239:154:18;1195:13544:16;;;;;;;;;6366:19:18;;;1195:13544:16;6366:19:18;;;;1195:13544:16;6366:19:18;;:::i;4641:475:15:-;4754:23;;:::i;:::-;1195:13544:16;;;;;;4958:22:15;1195:13544:16;;;;;;4998:25:15;1195:13544:16;;4817:282:15;1195:13544:16;4817:282:15;;1195:13544:16;4845:95:15;1195:13544:16;;;;;;;;;;5041:13:15;1195:13544:16;;;;5080:4:15;1195:13544:16;;;;;4817:282:15;;;;;;:::i;1579:906:7:-;1757:663;;;;;;;;;;;;;;;;;1372:120;1757:663;1372:120;;;;1757:663;;;;;;11120:189:18;11179:26;11194:10;11179:26;:::i;:::-;:59;;;;11120:189;11175:96;;3637:14:16;;;11288::18;;;;;11179:59;11232:4;;11194:10;11210:27;11179:59;;1195:13544:16;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;1195:13544:16;;-1:-1:-1;1195:13544:16;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;1195:13544:16;;;;9704:324:18;9796:19;;;:::i;:::-;9792:51;;1195:13544:16;;;:::i;:::-;9940:4:18;1195:13544:16;;;;;;;;;;;9954:14:18;1195:13544:16;;;;;;;-1:-1:-1;;;;;1195:13544:16;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;9999:22:18;1195:13544:16;;9999:22:18;1195:13544:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;9999:22:18;;;;;:::i;:::-;;;;9704:324::o;1195:13544:16:-;;;;;;;;;;6785:16:18;;1195:13544:16;;;;;;;;;;;;;;;;;;;;;;;9999:22:18;1195:13544:16;;9940:4:18;1195:13544:16;;9999:22:18;1195:13544:16;;;;;;;;;;;;;;;;;;;;;;;9921:9:18;1195:13544:16;;;;;;;;;;;;;;;9940:4:18;1195:13544:16;;;;;;;;;;;;;;;9792:51:18;1195:13544:16;;-1:-1:-1;;;9824:19:18;;1195:13544:16;;;9824:19:18;;;;;;:::i;:::-;;;;1195:13544:16;;;;;;;;;;;-1:-1:-1;;;;;1195:13544:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1195:13544:16;;;;;;;;;;;;;;;-1:-1:-1;;;;;1195:13544:16;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;1195:13544:16;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;1195:13544:16;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;1195:13544:16;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;12963:1307::-;;;;13123:41;12963:1307;13123:41;;;;:::i;:::-;1195:13544;13200:35;1195:13544;;13200:35;:::i;:::-;1195:13544;13271:2;1195:13544;;13250:23;13246:604;;1195:13544;;13864:23;13885:2;13864:23;;13860:351;;13885:2;1195:13544;-1:-1:-1;;;14228:35:16;;1195:13544;14228:35;1195:13544;14228:35;;;;:::i;13860:351::-;14132:16;;14021:61;13928:42;;13271:2;13928:42;;;;14104:96;13928:42;;;;;;:::i;:::-;14032:24;;;;;13271:2;1195:13544;;;14021:61;;;;;;:::i;:::-;1195:13544;13885:2;1195:13544;14132:16;;;13271:2;14132:16;;1195:13544;;;;;;;;14132:16;14104:96;:::i;13246:604::-;1195:13544;;;;;-1:-1:-1;;;;;13301:19:16;1195:13544;13301:19;:::i;:::-;13293:48;13289:318;;13271:2;13648:92;13761:78;13648:92;;;;13814:24;;;13761:78;;:::i;13289:318::-;1195:13544;;-1:-1:-1;;;13553:39:16;;1195:13544;13553:39;1195:13544;13553:39;;;;:::i;12360:302::-;;12482:31;12360:302;;;12482:31;;;;;;;;;;:::i;:::-;12527:8;;12523:133;;12360:302;:::o;1195:13544::-;;;;;;;;;;;;;;;:::o;8795:670:18:-;;-1:-1:-1;;;;;;;;;;;1195:13544:16;-1:-1:-1;9026:3:18;1195:13544:16;;9007:17:18;;;;;9069:2;9049:9;;;;:::i;:::-;;1195:13544:16;9049:22:18;;:48;;;9026:3;9045:128;;9069:2;9191:9;;;;:::i;:::-;;1195:13544:16;9191:22:18;:73;;;9026:3;9187:157;;9375:9;9386:17;9375:9;1195:13544:16;9375:9:18;;;:::i;:::-;;9386:17;;;;:::i;:::-;;;:::i;:::-;1195:13544:16;8996:9:18;;9187:157;9319:9;9291:38;9319:9;;;:::i;:::-;;1195:13544:16;;-1:-1:-1;;;9291:38:18;;1195:13544:16;;;9291:38:18;;;;:::i;9191:73::-;-1:-1:-1;;;;;;9225:18:18;9233:9;;;;:::i;:::-;;9225:18;:::i;:::-;9217:47;9191:73;;9045:128;9148:9;9124:34;9148:9;;;:::i;:::-;;1195:13544:16;;-1:-1:-1;;;9124:34:18;;1195:13544:16;;;9124:34:18;;;;:::i;9049:48::-;9075:9;9095:2;9075:9;;;;:::i;:::-;;1195:13544:16;9075:22:18;;9049:48;;9007:17;-1:-1:-1;;;;;;;;;;;;1195:13544:16;9007:17:18;-1:-1:-1;1195:13544:16:o;14582:155::-;1195:13544;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;1195:13544:16;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;1195:13544:16;;;;14582:155;:::o;1195:13544::-;;;;;;;;;;;;;-1:-1:-1;1195:13544:16;;;;;;;;-1:-1:-1;;1195:13544:16;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;10808:9:18;1195:13544:16;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1195:13544:16;;;;;:::o;:::-;;;;;:::i;:::-;;;;;;;:::o;:::-;;;-1:-1:-1;1195:13544:16;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::i;10367:575:18:-;;;10482:19;;;:::i;:::-;1195:13544:16;;10515:18:18;10511:52;;1195:13544:16;;;;;10577:17:18;1195:13544:16;;;;;:::i;:::-;;;;;;10598:16:18;10577:37;10573:151;;1195:13544:16;;;;;;10910:25:18;1195:13544:16;;:::i;:::-;;;-1:-1:-1;;1195:13544:16;;;;;10834:28:18;10841:21;;1195:13544:16;;10841:14:18;1195:13544:16;;;;;;;10841:21:18;10834:28;:::i;:::-;10872:22;;-1:-1:-1;;;;;;;;;;;1195:13544:16;10872:22:18;:::i;:::-;-1:-1:-1;;;;;;;;;;;1195:13544:16;;10872:22:18;10910:25;1195:13544:16;;10910:25:18;;;;;:::i;10573:151::-;1195:13544:16;;-1:-1:-1;;;10637:76:18;;1195:13544:16;;;10637:76:18;;1195:13544:16;;10637:76:18;;;;:::i;10511:52::-;-1:-1:-1;;;10532:1:18;10542:21;7673:20:16;1195:13544;;;;-1:-1:-1;742:68:14;5590:176:15;5721:17;;:::i;:::-;1195:13544:16;;;6311:35:15;;;1195:13544:16;1399:50:15;1195:13544:16;;;;;;;6311:35:15;;;;;;:::i;:::-;1195:13544:16;6301:46:15;;1195:13544:16;;5692:66:15;6311:35;5692:66;;1195:13544:16;;;;;;;;;;;;;;;5692:66:15;;;;;;:::i;1956:2062:12:-;;;1195:13544:16;;1956:2062:12;-1:-1:-1;;;;;1195:13544:16;;2118:20:12;2114:40;;2207:1805;;;;;;;;;;;;;;;;;;;;1195:13544:16;;;;;2207:1805:12;1195:13544:16;;;;;2207:1805:12;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2207:1805:12;;;;;1956:2062::o;2207:1805::-;;;;;;;;;;;;;;;1195:13544:16;;;2207:1805:12;;;;1956:2062::o;2207:1805::-;;;;;;;;;;1195:13544:16;2207:1805:12;;;;;;;;;;1195:13544:16;2207:1805:12;;;;;;;;1195:13544:16;2207:1805:12;;;;;;;;;;1195:13544:16;2207:1805:12;;;;1956:2062::o;2207:1805::-;;;;;;;;;;;;;;;;;;1195:13544:16;2207:1805:12;;;;;;;;;2114:40;2140:14;;;;1195:13544:16;2140:14:12;:::o;2643:34:20:-;;;;;1195:13544:16;;2643:34:20;;;;;;;;;1195:13544:16;;;2643:34:20;;;;;;1195:13544:16;;;:::i;:::-;;;2643:34:20;;;1195:13544:16;;;2643:34:20;;;1195:13544:16;;2643:34:20;;;;;;;:::i;:::-;1195:13544:16;;7150:27:20;2643:34;;;;;;;:::o;1986:4::-;1195:13544:16;;1986:4:20;;;;;;;;1195:13544:16;1986:4:20;;;1195:13544:16;1986:4:20;;1195:13544:16;;;;;;;;:::i;:::-;;;;;1986:4:20;;:::o;2396:14::-;;;;;;;;;1195:13544:16;2396:14:20;:::o;6711:2894::-;;;;1195:13544:16;6846:4:20;6866:14;;;1195:13544:16;;;2162:66:5;-1:-1:-1;6862:125:20;;7150:27;;;;2643:34;28057:42:11;7150:27:20;;7184:22;;;1195:13544:16;7208:27:20;;;:::i;:::-;28057:42:11;;:::i;:::-;7150:27:20;1195:13544:16;;;;7250:23:20;:46;7246:89;;7519:27;7488:64;7519:27;;:::i;:::-;7488:64;:::i;:::-;28057:42:11;7595:27:20;;7629;;;1195:13544:16;7658:54:20;1195:13544:16;;7658:54:20;;:::i;28057:42:11:-;7150:27:20;1195:13544:16;;;;7727:33:20;1195:13544:16;7150:27:20;1195:13544:16;;;;7764:28:20;7727:65;7723:108;;1195:13544:16;2643:34:20;;1195:13544:16;2643:34:20;;7947;;:30;;:34;:::i;:::-;2643;-1:-1:-1;;;;;;1195:13544:16;;2643:34:20;7947;:56;:79;7943:122;;1986:4;7150:27;8225:137;-1:-1:-1;8225:137:20;8523:27;;7629;1195:13544:16;1986:4:20;;;;;:::i;:::-;8510:42;;;;;;;;7150:27;-1:-1:-1;1986:4:20;8510:42;;8738:68;8755:30;;8738:68;7629:27;1195:13544:16;8738:68:20;;;;;;;:::i;:::-;7629:27;1195:13544:16;1986:4:20;;;;;:::i;:::-;8731:76;;8510:42;8731:76;;;;;8861:14;-1:-1:-1;8731:76:20;8861:14;;1195:13544:16;-1:-1:-1;1195:13544:16;;;;8837:61:20;1195:13544:16;;8837:61:20;1195:13544:16;7629:27:20;1195:13544:16;8837:61:20;;;7150:27;8837:61;;;;;1986:4;;;;;;;;;;;;1195:13544:16;;;1986:4:20;;;1195:13544:16;1986:4:20;;;1195:13544:16;1986:4:20;;;1195:13544:16;1986:4:20;1195:13544:16;1986:4:20;8837:61;8990:26;;2404:5;8990:26;;;;;:::i;:::-;1195:13544:16;;9451:16:20;;;;6711:2894;9447:60;;1195:13544:16;9525:73:20;1195:13544:16;;;;;9525:73:20;;:::i;9447:60::-;1776:4;;9476:26;;-1:-1:-1;9476:26:20;;7150:27;9476:26;;;;-1:-1:-1;9476:26:20;;-1:-1:-1;9476:26:20;;-1:-1:-1;;9476:26:20:i;:::-;:31;9469:38;:::o;9451:16::-;9423:14;;;;9451:16;;8731:76;;:::i;7943:122::-;8042:12;;;;;;;:::o;7246:89::-;7312:12;;;;;;;;:::o;985:132:6:-;1195:13544:16;;1078:32:6;;1195:13544:16;;;;:::i;:::-;;;;;;;;;;;;;;1078:32:6;:::i;1562:703:4:-;;;;;;1691:6;;:32;;;;1562:703;1691:42;;;;1562:703;1691:68;;;;1562:703;1687:111;;1821:39;;;;:::i;:::-;1820:40;1816:83;;3235:647:5;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3235:647:5;;;;;1195:13544:16;3235:647:5;1195:13544:16;3235:647:5;1195:13544:16;;3235:647:5;;;;-1:-1:-1;;;;;;;;;;;3235:647:5;2222:3:4;3235:647:5;;2132:64:4;3235:647:5;;2062:34:4;;;;1984:49;;2132:64;;:::i;:::-;2222:3;;:::i;:::-;2211:18;;2251:7;1562:703;:::o;1816:83::-;1876:12;;;;;1195:13544:16;1876:12:4;:::o;1691:68::-;1737:22;-1:-1:-1;;;;;;;;;;;1737:22:4;;;1691:68;;:42;1727:6;;;1691:42;;:32;1701:22;-1:-1:-1;;;;;;;;;;;1701:22:4;;;1691:32;;3205:281:0;3287:193;;;;;;;3205:281;:::o;16753:1115:9:-;16943:919;;1195:13544:16;;16753:1115:9;;;16943:919;;;;;;16753:1115;16943:919;;;;;;16753:1115;16943:919;;;;;;16753:1115;;;:::o;16943:919::-;;;;-1:-1:-1;16943:919:9;;;;;;6785:16:18;16943:919:9;;-1:-1:-1;;16943:919:9;;;;;;;;;;-1:-1:-1;;16943:919:9;;;;;;;;;;;;;;;;;;;;;;;;;;16753:1115::o;16943:919::-;;;;;;;;-1:-1:-1;16943:919:9;;;1195:13544:16;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;6785:16:18;1195:13544:16;6785:16:18;;1195:13544:16;;:::i;:::-;;;;;;;;:::o;1186:4022:6:-;;1195:13544:16;;1515:16:6;1511:31;;2503:69;2606:24;2547:25;2548:19;:15;1195:13544:16;;2548:15:6;:::i;:::-;:19;:::i;:::-;2571:1;2162:66:5;;;;2547:25:6;2606:24;:::i;:::-;2641:2537;;;;;;;;;;;;;;;;;1104:5;2641:2537;;;;;;;;;;;;;1186:4022;:::o;2641:2537::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1511:31;1195:13544:16;;;;:::i;12684:438:5:-;-1:-1:-1;;;;;;;;12774:6:5;;;;;:16;;12684:438;12774:42;;;;12684:438;12770:85;;-1:-1:-1;;;;;;;;1531:66:5;1802;;1531;;;1666;1531;12990:15;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;;12966:15;12959:29;12952:57;13039:17;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;12902:15;13095:10;12684:438;:::o;12770:85::-;12832:12;;1195:13544:16;12832:12:5;:::o;12774:42::-;12796:6;;;12795:20;;12774:42;12795:20;12808:6;;;12774:42;;:16;-1:-1:-1;;;;;;;;;12784:6:5;;;12774:16;;13895:6587;;;1195:13544:16;;13895:6587:5;1195:13544:16;14174:3:5;1195:13544:16;14256:13:5;;;:30;;13895:6587;14252:44;;14322:25;;;;:::i;:::-;14366:5;;;;;14365:16;;;13895:6587;14362:211;;13895:6587;14586:5830;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;14586:5830:5;;;;;1195:13544:16;;;14586:5830:5;;1195:13544:16;;;14586:5830:5;1195:13544:16;;;14586:5830:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;14586:5830:5;;;;-1:-1:-1;;;;;1531:66:5;;;14586:5830;;;;;1195:13544:16;14586:5830:5;1195:13544:16;14586:5830:5;1195:13544:16;;14586:5830:5;;;;;;-1:-1:-1;;;;;;;;1531:66:5;14586:5830;13895:6587;:::o;14586:5830::-;1531:66;;;;;;;;;-1:-1:-1;;;;;1531:66:5;;;14586:5830;;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;14586:5830;-1:-1:-1;;;;;;;;14586:5830:5;;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;;;;;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:5;14586:5830;;;;;;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;14586:5830;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;-1:-1:-1;;;;;;;;;;14586:5830:5;-1:-1:-1;;;;;;;;14586:5830:5;;;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;14586:5830;;1531:66;14586:5830;;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;;;14586:5830;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;1531:66:5;;;;;;;14586:5830;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;14586:5830;;;;1531:66;;;;14586:5830;;;;;;;;-1:-1:-1;;;;;;;;14586:5830:5;;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:5;14586:5830;-1:-1:-1;;;;;;;;1531:66:5;14586:5830;-1:-1:-1;;;;;;;;;;14586:5830:5;-1:-1:-1;;;;;;;;14586:5830:5;;;1531:66;14586:5830;;;;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;14586:5830;;;;;;;;;;-1:-1:-1;;14586:5830:5;;;;;;;;;;;;;;;1531:66;;;-1:-1:-1;1531:66:5;;;-1:-1:-1;;;;;;;;;1531:66:5;-1:-1:-1;;;;;;;;;;14586:5830:5;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;14586:5830;-1:-1:-1;;;;;;;;14586:5830:5;;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;14586:5830;;;1531:66;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;14586:5830;;-1:-1:-1;;;;;;;;1531:66:5;14586:5830;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;14586:5830;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;-1:-1:-1;;;;;;;;;;14586:5830:5;-1:-1:-1;;;;;;;;14586:5830:5;;;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;14586:5830;;;;;;;;;;;;;;-1:-1:-1;14586:5830:5;;;;-1:-1:-1;14586:5830:5;;-1:-1:-1;14586:5830:5;-1:-1:-1;14586:5830:5;;;;;;;;;;;;-1:-1:-1;14586:5830:5;;-1:-1:-1;14586:5830:5;;;1938:66;;-1:-1:-1;2032:66:5;;-1:-1:-1;14586:5830:5;;;1531:66;;;;;;;-1:-1:-1;;;;;1531:66:5;;;14586:5830;;;;;;;;;;;;;;;;;;-1:-1:-1;14586:5830:5;;;;-1:-1:-1;14586:5830:5;;;1938:66;;-1:-1:-1;2032:66:5;;-1:-1:-1;14586:5830:5;;;1195:13544:16;;14586:5830:5;;;;;;;;;;;;;;;;14362:211;2032:66;;-1:-1:-1;;;;;;;;;;;2032:66:5;;;;14437:31;;14486:10;;14518:13;;:30;;;14362:211;14514:44;14362:211;14514:44;14550:8;;;;;;;;;;;:::o;14518:30::-;;14535:13;14518:30;;14365:16;14375:5;;;14365:16;;14252:44;14288:8;;;;;;;;;:::o;14256:30::-;14273:13;;;14256:30;;13224:499;;;1938:66;2032;13342:11;12535:6;;13437:41;;13492:6;13686:30;13492:6;;;;13491:18;;;13224:499;13488:181;;;-1:-1:-1;;;;;;;;;1531:66:5;-1:-1:-1;9612:681:5;;;-1:-1:-1;;;;;;;;9612:681:5;;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;9612:681;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;9612:681;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;;13563:1;1531:66;9612:681;1531:66;-1:-1:-1;;;;;;;;1531:66:5;9612:681;;;;;;-1:-1:-1;;;;;;;;1531:66:5;9612:681;-1:-1:-1;;;;;;;;;;9612:681:5;-1:-1:-1;;;;;;;;9612:681:5;;;;1531:66;-1:-1:-1;;;;;;;;13563:1:5;9612:681;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;13563:1;;9612:681;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;9612:681;-1:-1:-1;;;;;;;;9612:681:5;;;;1531:66;;;;9612:681;;;;;;;;13525:42;13686:30;:::i;13488:181::-;13627:31;;;;;;:::i;:::-;13605:53;;;;13686:30;:::i;13491:18::-;13502:6;;;;13491:18;;13437:41;-1:-1:-1;13463:15:5;-1:-1:-1;13463:15:5;:::o;10559:1073::-;;;;10790:7;;10786:67;;-1:-1:-1;;;;;;;;10867:673:5;;;;;;1531:66;;13645:1;;10867:673;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;10867:673;;;;1531:66;;13645:1;;10867:673;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;10867:673;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;10867:673;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;10867:673;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;-1:-1:-1;;;;;;;;;;10867:673:5;-1:-1:-1;;;;;;;;10867:673:5;;;1531:66;10867:673;;;;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;;;10867:673;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;10867:673;;;;;;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;13645:1;10867:673;1531:66;-1:-1:-1;;;;;;;;1531:66:5;13645:1;10867:673;10559:1073;:::o;10786:67::-;-1:-1:-1;13645:1:5;;-1:-1:-1;13645:1:5;;10817:21::o;8954:351::-;;;;4081:643;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;4081:643:5;;;;-1:-1:-1;;;;;1531:66:5;;;4081:643;;;;;1195:13544:16;4081:643:5;1195:13544:16;4081:643:5;1195:13544:16;;4081:643:5;;;;;;-1:-1:-1;;;;;;;;1531:66:5;4081:643;;9135:20;1531:66;-1:-1:-1;;;;;;;;1531:66:5;9186:21;-1:-1:-1;;;;;;;;1531:66:5;;;;;9232:17;9271:20;;8954:351;:::o" + "object": "60806040526004361015610015575b3661165f57005b60003560e01c8063066a1eb7146101e55780630db02622146101e05780630f0f3f24146101db5780631626ba7e146101d657806317452caa146101d157806319822f7c146101cc5780631ca5393f146101c757806329565e3b146101c25780632c2abd1e146101bd57806334fcd5be146101b857806336d9cf9b146101b35780634f1ef286146101ae57806352d1902d146101a95780635c60da1b146101a45780636f2de70e1461019f578063737bebdd1461019a57806384b0196e1461019557806388ce4c7c1461019057806389625b571461018b5780638ea69029146101865780639f9bcb3414610181578063a05bd44e1461017c578063a2e1a8d814610177578063b0d691fe14610172578063b61d27f61461016d578063b819736714610168578063ce1506be14610163578063d948fd2e1461015e5763f698da250361000e57610e93565b610e68565b610e4a565b610e03565b610d97565b610d6c565b610d45565b610d0b565b610cd1565b610c9e565b610c5e565b610c0e565b610b6d565b610a67565b6108cc565b610896565b610846565b610731565b610706565b610673565b6105cb565b61052d565b6104f6565b6103a1565b610375565b610323565b61027d565b610249565b3461024457604036600319011261024457602060ff6102386004356102336024359161022560405193849288840160209093929193604081019481520152565b03601f19810183528261044f565b610ec5565b54166040519015158152f35b600080fd5b34610244576000366003190112610244576020610264610f4d565b604051908152f35b6001600160a01b0381160361024457565b34610244576020366003190112610244576102f460043561029d8161026c565b6102a5611697565b6040519060018060a01b03166020820152602081526102c560408261044f565b600080516020612edf83398151915254906102df82610f79565b600080516020612edf83398151915255611720565b005b9181601f84011215610244578235916001600160401b038311610244576020838186019501011161024457565b34610244576040366003190112610244576004356024356001600160401b0381116102445760209161035c6103629236906004016102f6565b91610f88565b6040516001600160e01b03199091168152f35b346102445760003660031901126102445760206040516107088152f35b90816101209103126102445790565b34610244576060366003190112610244576004356001600160401b038111610244576103d1903690600401610392565b6044356024356f71727de22e5e9d8baf0edac6f37da031193301610429576103fd829161041494611137565b91610418575b506040519081529081906020820190565b0390f35b60009081803892335af15038610403565b6282b42960e81b60005260046000fd5b634e487b7160e01b600052604160045260246000fd5b90601f801991011681019081106001600160401b0382111761047057604052565b610439565b6040519061048460c08361044f565b565b6001600160401b03811161047057601f01601f191660200190565b9291926104ad82610486565b916104bb604051938461044f565b829481845281830111610244578281602093846000960137010152565b9080601f83011215610244578160206104f3933591016104a1565b90565b34610244576020366003190112610244576004356001600160401b0381116102445760ff61023861023360209336906004016104d8565b34610244576040366003190112610244576102f46024356102c5600435610552611697565b6040805160208101929092528101929092528160608101610225565b906020600319830112610244576004356001600160401b0381116102445760040160009280601f830112156105c7578135936001600160401b0385116105c457506020808301928560051b010111610244579190565b80fd5b8380fd5b6105d43661056e565b906f71727de22e5e9d8baf0edac6f37da03233036104295760005b828110156102f45760006106088260051b840184610fb6565b6106128183610fe8565b61061b81611460565b156106575750829161062e9136916104a1565b60208151910182305af1610640611329565b901561064f57506001016105ef565b602081519101fd5b631d8370a360e11b84526001600160e01b031916600452602483fd5b61067c3661056e565b906f71727de22e5e9d8baf0edac6f37da03233036106f9575b60005b8281106106a157005b806106f36106b2600193868661127c565b356106bc8161026c565b60206106c984888861127c565b01356106ed6106e66106dc868a8a61127c565b6040810190610fb6565b36916104a1565b91611b43565b01610698565b610701611697565b610695565b34610244576000366003190112610244576020600080516020612f3f83398151915254604051908152f35b6040366003190112610244576004356107498161026c565b6024356001600160401b038111610244576107689036906004016102f6565b90917f0000000000000000000000000000000000000000000000000000000000000000301461083857610799611697565b60018060a01b03163d6000526352d1902d600152600080516020612f1f833981519152602060016004601d855afa510361082a57807fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28181600080516020612f1f8339815191525561080b57005b816000926040519485378338925af41561082157005b3d6000823e3d90fd5b6355299b496001526004601dfd5b639f03a0266000526004601cfd5b3461024457600036600319011261024457307f000000000000000000000000000000000000000000000000000000000000000003610838576020604051600080516020612f1f8339815191528152f35b3461024457600036600319011261024457600080516020612f1f833981519152546040516001600160a01b039091168152602090f35b6108d53661056e565b600080516020612edf8339815191525491826109fd576108f691369161103b565b9060005b82518110156109e757602061090f82856110fc565b51511415806109d1575b6109aa57602061092982856110fc565b51511480610988575b61095d5780610957610946600193866110fc565b519361095181610f79565b94611720565b016108fa565b61096a61098491846110fc565b5160405163bff1ac6560e01b815291829160048301610a56565b0390fd5b506001600160a01b036109a461099e83866110fc565b5161193a565b11610932565b6109b761098491846110fc565b516040516327755b9160e11b815291829160048301610a56565b5060406109de82856110fc565b51511415610919565b6102f482600080516020612edf83398151915255565b6302ed543d60e51b60005260046000fd5b60005b838110610a215750506000910152565b8181015183820152602001610a11565b90602091610a4a81518092818552858086019101610a0e565b601f01601f1916010190565b9060206104f3928181520190610a31565b34610244576020366003190112610244576004356001600160401b038111610244578060040160806003198336030112610244576044820135610aa9816112a8565b4211610b4657610ae0610acd610ac1610ae4936112e0565b60208151910120611dd4565b610ada6064860185610fb6565b91611a51565b1590565b610b3557600091610b03826024610afb869561129e565b930190610fb6565b90610b1360405180938193611306565b03915afa610b1f611329565b901561064f576104149060405191829182610a56565b638baa579f60e01b60005260046000fd5b610b52610b69916112a8565b630f88f04960e41b60005260045242602452604490565b6000fd5b3461024457600036600319011261024457610bad610bbb610b8c611b63565b604092919251938493600f60f81b855260e0602086015260e0850190610a31565b908382036040850152610a31565b466060830152306080830152600060a083015281810360c0830152602060605191828152019060809060005b818110610bf5575050500390f35b8251845285945060209384019390920191600101610be7565b346102445760003660031901126102445760206040516121058152f35b9060406003198301126102445760043591602435906001600160401b03821161024457610c5a916004016102f6565b9091565b3461024457610c6c36610c2b565b90610c75611697565b6001610c7f610f4d565b14610c8d576102f492611cbd565b63948bf89760e01b60005260046000fd5b3461024457602036600319011261024457610414610cbd600435611393565b604051918291602083526020830190610a31565b34610244576020366003190112610244576004356001600160e01b03198116810361024457610d01602091611460565b6040519015158152f35b34610244576020366003190112610244576004356001600160401b03811161024457610264610d406020923690600401610392565b6114e3565b34610244576020366003190112610244576020610d01600435610d678161026c565b6115d0565b346102445760003660031901126102445760206040516f71727de22e5e9d8baf0edac6f37da0328152f35b606036600319011261024457600435610daf8161026c565b604435906024356001600160401b038311610244576106ed610dd86102f49436906004016102f6565b6f71727de22e5e9d8baf0edac6f37da0323303610df65736916104a1565b610dfe611697565b6106e6565b3461024457610e1136610c2b565b90610e1a611697565b610e22610f4d565b9260018411610e35576102f49350611cbd565b83631047e35560e31b60005260045260246000fd5b34610244576020366003190112610244576020610264600435611dd4565b34610244576000366003190112610244576020600080516020612edf83398151915254604051908152f35b346102445760003660031901126102445760206102646115f6565b90610ec160209282815194859201610a0e565b0190565b6020610ede918160405193828580945193849201610a0e565b81017f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f50381520301902090565b634e487b7160e01b600052601160045260246000fd5b600080516020612eff8339815191520390600080516020612eff8339815191528211610f4857565b610f0a565b600080516020612edf83398151915254600080516020612f3f833981519152548103908111610f485790565b6000198114610f485760010190565b90610f96610f9b9392611dd4565b611a51565b610fab576001600160e01b031990565b630b135d3f60e11b90565b903590601e198136030182121561024457018035906001600160401b0382116102445760200191813603831361024457565b356001600160e01b0319811692919060048210611003575050565b6001600160e01b031960049290920360031b82901b16169150565b909291928360041161024457831161024457600401916003190190565b929190926001600160401b038411610470578360051b9060206040516110638285018261044f565b8096815201918101918383116102445781905b838210611084575050505050565b81356001600160401b038111610244576020916110a487849387016104d8565b815201910190611076565b602081830312610244578035906001600160401b03821161024457019080601f83011215610244578160206104f39335910161103b565b634e487b7160e01b600052603260045260246000fd5b80518210156111105760209160051b010190565b6110e6565b80516020909101516001600160e01b0319811692919060048210611003575050565b91602083013560401c9160608401906111508286610fb6565b6316155e8f60e11b916001600160e01b03199161116c91610fe8565b160361124f575061117c846114e3565b92612105810361123b575061119e6111976111a69286610fb6565b809161101e565b8101906110af565b9160005b8351811015611215576111bd81856110fc565b5163278f794360e11b6111df6111d283611115565b6001600160e01b03191690565b146111ee575b506001016111aa565b60240151803b6111e557630c76093760e01b6000526001600160a01b031660045260246000fd5b50909261122d9250610ada905b610100810190610fb6565b61123657600190565b600090565b632ef3781360e01b60005260045260246000fd5b929050612105819492941461123b575090610ada61122d92611222565b61127760ff91610ec5565b541690565b91908110156111105760051b81013590605e1981360301821215610244570190565b356104f38161026c565b906107088201809211610f4857565b9060158201809211610f4857565b9060028201809211610f4857565b91908201809211610f4857565b906040519163737bebdd60e01b602084015260248301526024825261048460448361044f565b908092918237016000815290565b6040519061132360208361044f565b60008252565b3d15611354573d9061133a82610486565b91611348604051938461044f565b82523d6000602084013e565b606090565b90600182811c92168015611389575b602083101461137357565b634e487b7160e01b600052602260045260246000fd5b91607f1691611368565b6000527f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f5026020526040600020604051908160008254926113d284611359565b808452936001811690811561143e57506001146113f7575b506104f39250038261044f565b90506000929192526020600020906000915b8183106114225750509060206104f392820101386113ea565b6020919350806001915483858801015201910190918392611409565b9050602092506104f394915060ff191682840152151560051b820101386113ea565b63ffffffff60e01b166329565e3b60e01b81149081156114d2575b81156114c1575b81156114b0575b811561149f575b5061149a57600090565b600190565b63278f794360e11b14905038611490565b63b819736760e01b81149150611489565b6389625b5760e01b81149150611482565b6303c3cfc960e21b8114915061147b565b60208101356115976114f86040840184610fb6565b908160405191823720916102256115126060860186610fb6565b90816040519182372060c086013560a0870135608088013561154061153a60e08b018b610fb6565b90612335565b604080519a356001600160a01b031660208c01908152908b019790975260608a0198909852608089019390935260a088019290925260c087019190915260e086015261010085019390935292918290610120820190565b51902060408051602081019283526f71727de22e5e9d8baf0edac6f37da032918101919091526115ca8160608101610225565b51902090565b61127760ff916040519060018060a01b031660208201526020815261023360408261044f565b6115fe611b63565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526115ca60c08261044f565b60003560e01c63bc197c81811463f23a6e6182141763150b7a0282141761168e57633c10b94e6000526004601cfd5b6020526020603cf35b6116a0336115d0565b80156116bb575b610484576282b42960e81b60005260046000fd5b503033146116a7565b8181106116cf575050565b600081556001016116c4565b9190601f81116116ea57505050565b610484926000526020600020906020601f840160051c83019310611716575b601f0160051c01906116c4565b9091508190611709565b6117298161126c565b6118975761173681610ec5565b600160ff19825416179055816000527f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f502602052604060002081516001600160401b038111610470576117928161178c8454611359565b846116db565b6020601f821160011461180657916117e7827f38109edc26e166b5579352ce56a50813177eb25208fd90d61f2f37838622022095936117f6956000916117fb575b508160011b916000199060031b1c19161790565b90555b60405191829182610a56565b0390a2565b9050840151386117d3565b601f1982169061181b84600052602060002090565b9160005b81811061187f5750926117f69492600192827f38109edc26e166b5579352ce56a50813177eb25208fd90d61f2f378386220220989610611866575b5050811b0190556117ea565b85015160001960f88460031b161c19169055388061185a565b9192602060018192868a01518155019401920161181f565b60405163468b12ad60e11b81529081906109849060048301610a56565b602081830312610244578035906001600160401b03821161024457016040818303126102445760405191604083018381106001600160401b038211176104705760405281356001600160401b03811161024457816119139184016104d8565b835260208201356001600160401b0381116102445761193292016104d8565b602082015290565b60208151910151906020811061194e575090565b6000199060200360031b1b1690565b9190826040910312610244576020825192015190565b81601f82011215610244576020815191019061198e81610486565b9261199c604051948561044f565b81845281830111610244576104f3916020840190610a0e565b602081830312610244578051906001600160401b03821161024457019060c082820312610244576119e4610475565b9180516001600160401b0381116102445782611a01918301611973565b835260208101516001600160401b0381116102445760a092611a24918301611973565b6020840152604081015160408401526060810151606084015260808101516080840152015160a082015290565b929190611a60918101906118b4565b90815191611a70610ae08461126c565b611b3a576020835114611af15782519360408514611aa3576040516327755b9160e11b8152806109848660048301610a56565b610225611aec611ad7611ac38760208080999b6104f39b0101910161195d565b9690950151602080825183010191016119b5565b92604051928391602083019190602083019252565b611fd6565b91929091906001600160a01b03611b078561193a565b11611b1f576020806104f39495015192015191611e49565b60405163bff1ac6560e01b8152806109848660048301610a56565b50915050600090565b916000928392602083519301915af1611b5a611329565b901561064f5750565b6040908151611b72838261044f565b601281527111da585b9bc814db585c9d0815d85b1b195d60721b602082015291611b9e8151918261044f565b60018152603160f81b602082015290565b908060209392818452848401376000828201840152601f01601f1916010190565b92916104f39492611bee928552606060208601526060850191611baf565b916040818403910152610a31565b60209082604051938492833781017f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f50381520301902090565b600281901b91906001600160fe1b03811603610f4857565b611c568154611359565b9081611c60575050565b81601f60009311600114611c72575055565b81835260208320611c8e91601f0160051c8101906001016116c4565b808252602082209081548360011b9084198560031b1c191617905555565b9160206104f3938181520191611baf565b9190611cc883611393565b805115611dbe5780516020820120611ce13685856104a1565b6020815191012003611d9f57509081611d28611d1e837fcf95bbfe6f870f8cc40482dc3dccdafd268f0e9ce0a4f24ea1bea9be64e505ff95611bfc565b805460ff19169055565b611d63611d5e856000527f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f502602052604060002090565b611c4c565b611d90611d7e600080516020612f3f83398151915254610f79565b600080516020612f3f83398151915255565b6117f660405192839283611cac565b60405163781f2e3960e01b815293849361098493909160048601611bd0565b63340c473d60e11b600052600484905260246000fd5b611ddc6115f6565b9060405160208101917f37f248f492286ab572e2a1ee0bd5315f2aae54a08b5871b294d657f3a1f1d0078352604082015260408152611e1c60608261044f565b51902060405190602082019261190160f01b845260228301526042820152604281526115ca60628261044f565b9091600091906001600160a01b03821615611f335760405192600484019460248501956044860192853b15611eb357509186939160209593630b135d3f60e11b8852526040845281518501809260045afa9360443d01915afa9151630b135d3f60e11b1491161690565b979650509050815180604014611f0e57604114611ed05750505050565b602092939550606082015160001a835260408201516060525b60005201516040526020600160806000825afa511860601b3d11916000606052604052565b506020929395506040820151601b8160ff1c01845260018060ff1b0316606052611ee9565b50505050600090565b906104846001602d60405180956c1131b430b63632b733b2911d1160991b6020830152611f728151809260208686019101610a0e565b8101601160f91b838201520301601e1981018552018361044f565b8051602010156111105760400190565b6040513d6000823e3d90fd5b6020929190611fbf849282815194859201610a0e565b019081520190565b90816020910312610244575190565b92919060009360a082019485517f7fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a8106121b35760208301917fff1a2a9176d650e4a99dedb58f1793003935130579fe17b5a3f698ac5b00e63461204884516060870151612042816112b7565b91612340565b60208151910120036121bc57612060612065916121c6565b611f3c565b61207a835160408601516120428451826112d3565b602081519101209060208151910120036121b357600160f81b600160f81b6120b36120a58651611f8d565b516001600160f81b03191690565b16036121b3576120d0602092600092505160405191828092610eae565b039060025afa156121ae576020600061210681516120fa8551610225604051938492888401611fa9565b60405191828092610eae565b039060025afa156121ae57608060005191019360008086518561215985516102258a60405194859360208501978c899192608093969594919660a084019784526020840152604083015260608201520152565b51906101005afa94612169611329565b805196806121a5575b61218557506104f395505190519161222d565b6001966121a19650810160209081019550019250611fc7915050565b1490565b50861515612172565b611f9d565b94505050505090565b5094505050505090565b6040516104f3916121d860608361044f565b604082527f4142434445464748494a4b4c4d4e4f505152535455565758595a61626364656660208301527f6768696a6b6c6d6e6f707172737475767778797a303132333435363738392d5f60408301526123ec565b93919092938315801561231d575b8015612315575b80156122fd575b6122f3576122578386612494565b156122f35760405191602083526020808401526020604084015260608301527fffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254f6080830152600080516020612eff83398151915260a083015260208260c0816005600019fa1561024457600080516020612eff833981519152946122ed93866122e794518181890994099161256f565b91610f20565b90081590565b5050505050600090565b50600080516020612eff833981519152821015612249565b508115612242565b50600080516020612eff83398151915284101561223b565b816040519182372090565b8051606094939290838111156123b2575b818111156123aa575b5082811061236757505050565b6040519450918290039101601f8201601f19165b8181015185820152601f1901908115612394579061237b565b5050604081840160006020820152016040528252565b90503861235a565b925082612351565b906123c482610486565b6123d1604051918261044f565b82815280926123e2601f1991610486565b0190602036910137565b9081511561248a579061241961241461240d6124088451611c34565b6112c5565b6003900490565b6123ba565b91602083019082805101906020820192835194600085525b83811061244057505050505290565b600360049101916001603f845182828260121c16880101518453828282600c1c16880101518385015382828260061c16880101516002850153168501015160038201530190612431565b50506104f3611314565b600160601b63ffffffff60c01b03198110801590612557575b8015612546575b61253f57600160601b63ffffffff60c01b0319907f5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b908290817fffffffff00000001000000000000000000000000fffffffffffffffffffffffc820990600160601b63ffffffff60c01b0319908181800909080890600160601b63ffffffff60c01b03199080091490565b5050600090565b50801580156124b4575081156124b4565b50600160601b63ffffffff60c01b03198210156124ad565b9092600092908360ff81841580612b66575b612b5b5761258f8887612b6e565b929091821580612b53575b612b18575b5085811c60028660fe1c16015b15612aff57600186821c16600286831c60011b160160018114612ab4575b60028114612aa7575b600314612a9a575b600198600019919091019694959489949392915b886000191161266d5750505050505050505060405191606083015260208252602080830152602060408301526002600160601b0363ffffffff60c01b03196080830152600163ffffffff60601b0360601b1960a083015260208260c0816005600019fa15610244579051600160601b63ffffffff60c01b0319910990565b909192939495969798600163ffffffff60601b0360601b198660020990600160601b63ffffffff60c01b0319828009600160601b63ffffffff60c01b031981830992600160601b63ffffffff60c01b03199082900991600160601b63ffffffff60c01b03199081908f8281830891600160601b63ffffffff60c01b031991820390080960030998600160601b63ffffffff60c01b03199083099c600160601b63ffffffff60c01b0319910991600160601b63ffffffff60c01b031980826002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b03198b80090898600160601b63ffffffff60c01b031991829081038b08900996600160601b63ffffffff60c01b03199088908290840908968b60028c60018d841c16921c60011b16018015612a7d5760018114612a32575b60028114612a27575b600314612a1e575b8215612a0b57600160601b63ffffffff60c01b031990889082908f90090890600160601b63ffffffff60c01b031990898203908290859009089781156128d1575b600160601b63ffffffff60c01b031989800998600160601b63ffffffff60c01b0319908a0992600160601b63ffffffff60c01b0319908a90099c600160601b63ffffffff60c01b03199084900998600160601b63ffffffff60c01b03199109600160601b63ffffffff60c01b031980826002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b031985810381868009080897600160601b63ffffffff60c01b03199384910991600160601b63ffffffff60c01b03199182908a82039008090894985b6000190197969594939291906125ef565b886127f4579a91975090959050600160601b63ffffffff60c01b0319816002600160601b0363ffffffff60c01b0319099a600160601b63ffffffff60c01b03198c8009600160601b63ffffffff60c01b0319818d099c600160601b63ffffffff60c01b0319908290099b600160601b63ffffffff60c01b031990818b8103820890600160601b63ffffffff60c01b0319908c900809600160601b63ffffffff60c01b03199060030991600160601b63ffffffff60c01b0319908d0998600160601b63ffffffff60c01b031991099b600160601b63ffffffff60c01b031980826002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b0319848009089b600160601b63ffffffff60c01b03199384910991600160601b63ffffffff60c01b03199182908e82039008900908946128c0565b60019c50909a8c985090965090506128c0565b505083856127b3565b8592508491506127ab565b7f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29692507f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f591506127a2565b50505099959894600163ffffffff60601b0360601b1903946128c0565b92508096509581926125db565b96975087968994506125d3565b7f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29698507f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f594506125ca565b60001901600186821c16600286831c60011b16016125ac565b9495600080516020612eff8339815191529196820390089484861580612b4b575b1561259f579850505050505050505090565b506001612b39565b50831561259a565b965050505050505090565b508315612581565b91907f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2967f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5918015612d225784610c5a9495831480612d19575b15612d045750600160601b63ffffffff60c01b0319905082600209600160601b63ffffffff60c01b031981800992600160601b63ffffffff60c01b031984840991600160601b63ffffffff60c01b03199085900992600160601b63ffffffff60c01b0319908190816001820890600160601b63ffffffff60c01b0319907fffffffff00000001000000000000000000000000fffffffffffffffffffffffe900809600309600160601b63ffffffff60c01b031980846002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b03198380090892600160601b63ffffffff60c01b03196001860995600160601b63ffffffff60c01b0319906001900994600160601b63ffffffff60c01b031993849109600160601b63ffffffff60c01b03199081039290918290868203900890090890612e44565b909192612d1093612d28565b92909190612e44565b50818414612bc7565b50925090565b9193908015612e3b57600160601b63ffffffff60c01b03199081039384908290600190090893600160601b63ffffffff60c01b031990838203908290600190090892600160601b63ffffffff60c01b031984800993600160601b63ffffffff60c01b031990850992600160601b63ffffffff60c01b03199085900994600160601b63ffffffff60c01b031980876002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b031986810381858009080895600160601b63ffffffff60c01b031992839086900991600160601b63ffffffff60c01b03199182908982039008090892600160601b63ffffffff60c01b03199060010991600160601b63ffffffff60c01b03199060010990565b50600191508190565b91909260405190602082526020808301526020604083015260608201526002600160601b0363ffffffff60c01b03196080820152600163ffffffff60601b0360601b1960a082015260208160c0816005600019fa15610244575192600160601b63ffffffff60c01b03199084900992600160601b63ffffffff60c01b03199109600160601b63ffffffff60c01b031991908290800990099156fe0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f500ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f501a2646970667358221220890c9d20b5fc4df99bded2544912158a1d933f168e2e843d0c1a15a2ff32ce8c64736f6c634300081c0033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x15 JUMPI JUMPDEST CALLDATASIZE PUSH2 0x165F JUMPI STOP JUMPDEST PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x66A1EB7 EQ PUSH2 0x1E5 JUMPI DUP1 PUSH4 0xDB02622 EQ PUSH2 0x1E0 JUMPI DUP1 PUSH4 0xF0F3F24 EQ PUSH2 0x1DB JUMPI DUP1 PUSH4 0x1626BA7E EQ PUSH2 0x1D6 JUMPI DUP1 PUSH4 0x17452CAA EQ PUSH2 0x1D1 JUMPI DUP1 PUSH4 0x19822F7C EQ PUSH2 0x1CC JUMPI DUP1 PUSH4 0x1CA5393F EQ PUSH2 0x1C7 JUMPI DUP1 PUSH4 0x29565E3B EQ PUSH2 0x1C2 JUMPI DUP1 PUSH4 0x2C2ABD1E EQ PUSH2 0x1BD JUMPI DUP1 PUSH4 0x34FCD5BE EQ PUSH2 0x1B8 JUMPI DUP1 PUSH4 0x36D9CF9B EQ PUSH2 0x1B3 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x1AE JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x1A9 JUMPI DUP1 PUSH4 0x5C60DA1B EQ PUSH2 0x1A4 JUMPI DUP1 PUSH4 0x6F2DE70E EQ PUSH2 0x19F JUMPI DUP1 PUSH4 0x737BEBDD EQ PUSH2 0x19A JUMPI DUP1 PUSH4 0x84B0196E EQ PUSH2 0x195 JUMPI DUP1 PUSH4 0x88CE4C7C EQ PUSH2 0x190 JUMPI DUP1 PUSH4 0x89625B57 EQ PUSH2 0x18B JUMPI DUP1 PUSH4 0x8EA69029 EQ PUSH2 0x186 JUMPI DUP1 PUSH4 0x9F9BCB34 EQ PUSH2 0x181 JUMPI DUP1 PUSH4 0xA05BD44E EQ PUSH2 0x17C JUMPI DUP1 PUSH4 0xA2E1A8D8 EQ PUSH2 0x177 JUMPI DUP1 PUSH4 0xB0D691FE EQ PUSH2 0x172 JUMPI DUP1 PUSH4 0xB61D27F6 EQ PUSH2 0x16D JUMPI DUP1 PUSH4 0xB8197367 EQ PUSH2 0x168 JUMPI DUP1 PUSH4 0xCE1506BE EQ PUSH2 0x163 JUMPI DUP1 PUSH4 0xD948FD2E EQ PUSH2 0x15E JUMPI PUSH4 0xF698DA25 SUB PUSH2 0xE JUMPI PUSH2 0xE93 JUMP JUMPDEST PUSH2 0xE68 JUMP JUMPDEST PUSH2 0xE4A JUMP JUMPDEST PUSH2 0xE03 JUMP JUMPDEST PUSH2 0xD97 JUMP JUMPDEST PUSH2 0xD6C JUMP JUMPDEST PUSH2 0xD45 JUMP JUMPDEST PUSH2 0xD0B JUMP JUMPDEST PUSH2 0xCD1 JUMP JUMPDEST PUSH2 0xC9E JUMP JUMPDEST PUSH2 0xC5E JUMP JUMPDEST PUSH2 0xC0E JUMP JUMPDEST PUSH2 0xB6D JUMP JUMPDEST PUSH2 0xA67 JUMP JUMPDEST PUSH2 0x8CC JUMP JUMPDEST PUSH2 0x896 JUMP JUMPDEST PUSH2 0x846 JUMP JUMPDEST PUSH2 0x731 JUMP JUMPDEST PUSH2 0x706 JUMP JUMPDEST PUSH2 0x673 JUMP JUMPDEST PUSH2 0x5CB JUMP JUMPDEST PUSH2 0x52D JUMP JUMPDEST PUSH2 0x4F6 JUMP JUMPDEST PUSH2 0x3A1 JUMP JUMPDEST PUSH2 0x375 JUMP JUMPDEST PUSH2 0x323 JUMP JUMPDEST PUSH2 0x27D JUMP JUMPDEST PUSH2 0x249 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH1 0xFF PUSH2 0x238 PUSH1 0x4 CALLDATALOAD PUSH2 0x233 PUSH1 0x24 CALLDATALOAD SWAP2 PUSH2 0x225 PUSH1 0x40 MLOAD SWAP4 DUP5 SWAP3 DUP9 DUP5 ADD PUSH1 0x20 SWAP1 SWAP4 SWAP3 SWAP2 SWAP4 PUSH1 0x40 DUP2 ADD SWAP5 DUP2 MSTORE ADD MSTORE JUMP JUMPDEST SUB PUSH1 0x1F NOT DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x44F JUMP JUMPDEST PUSH2 0xEC5 JUMP JUMPDEST SLOAD AND PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH2 0x264 PUSH2 0xF4D JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND SUB PUSH2 0x244 JUMPI JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH2 0x2F4 PUSH1 0x4 CALLDATALOAD PUSH2 0x29D DUP2 PUSH2 0x26C JUMP JUMPDEST PUSH2 0x2A5 PUSH2 0x1697 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x20 DUP2 MSTORE PUSH2 0x2C5 PUSH1 0x40 DUP3 PUSH2 0x44F JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2EDF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD SWAP1 PUSH2 0x2DF DUP3 PUSH2 0xF79 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2EDF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SSTORE PUSH2 0x1720 JUMP JUMPDEST STOP JUMPDEST SWAP2 DUP2 PUSH1 0x1F DUP5 ADD SLT ISZERO PUSH2 0x244 JUMPI DUP3 CALLDATALOAD SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 GT PUSH2 0x244 JUMPI PUSH1 0x20 DUP4 DUP2 DUP7 ADD SWAP6 ADD ADD GT PUSH2 0x244 JUMPI JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x24 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH1 0x20 SWAP2 PUSH2 0x35C PUSH2 0x362 SWAP3 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x2F6 JUMP JUMPDEST SWAP2 PUSH2 0xF88 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP2 AND DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH2 0x708 DUP2 MSTORE RETURN JUMPDEST SWAP1 DUP2 PUSH2 0x120 SWAP2 SUB SLT PUSH2 0x244 JUMPI SWAP1 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x60 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH2 0x3D1 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x392 JUMP JUMPDEST PUSH1 0x44 CALLDATALOAD PUSH1 0x24 CALLDATALOAD PUSH16 0x71727DE22E5E9D8BAF0EDAC6F37DA031 NOT CALLER ADD PUSH2 0x429 JUMPI PUSH2 0x3FD DUP3 SWAP2 PUSH2 0x414 SWAP5 PUSH2 0x1137 JUMP JUMPDEST SWAP2 PUSH2 0x418 JUMPI JUMPDEST POP PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE SWAP1 DUP2 SWAP1 PUSH1 0x20 DUP3 ADD SWAP1 JUMP JUMPDEST SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 SWAP1 DUP2 DUP1 CODESIZE SWAP3 CALLER GAS CALL POP CODESIZE PUSH2 0x403 JUMP JUMPDEST PUSH3 0x82B429 PUSH1 0xE8 SHL PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x1F DUP1 NOT SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT OR PUSH2 0x470 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH2 0x439 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x484 PUSH1 0xC0 DUP4 PUSH2 0x44F JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x470 JUMPI PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST SWAP3 SWAP2 SWAP3 PUSH2 0x4AD DUP3 PUSH2 0x486 JUMP JUMPDEST SWAP2 PUSH2 0x4BB PUSH1 0x40 MLOAD SWAP4 DUP5 PUSH2 0x44F JUMP JUMPDEST DUP3 SWAP5 DUP2 DUP5 MSTORE DUP2 DUP4 ADD GT PUSH2 0x244 JUMPI DUP3 DUP2 PUSH1 0x20 SWAP4 DUP5 PUSH1 0x0 SWAP7 ADD CALLDATACOPY ADD ADD MSTORE JUMP JUMPDEST SWAP1 DUP1 PUSH1 0x1F DUP4 ADD SLT ISZERO PUSH2 0x244 JUMPI DUP2 PUSH1 0x20 PUSH2 0x4F3 SWAP4 CALLDATALOAD SWAP2 ADD PUSH2 0x4A1 JUMP JUMPDEST SWAP1 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH1 0xFF PUSH2 0x238 PUSH2 0x233 PUSH1 0x20 SWAP4 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x4D8 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH2 0x2F4 PUSH1 0x24 CALLDATALOAD PUSH2 0x2C5 PUSH1 0x4 CALLDATALOAD PUSH2 0x552 PUSH2 0x1697 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE DUP2 PUSH1 0x60 DUP2 ADD PUSH2 0x225 JUMP JUMPDEST SWAP1 PUSH1 0x20 PUSH1 0x3 NOT DUP4 ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH1 0x4 ADD PUSH1 0x0 SWAP3 DUP1 PUSH1 0x1F DUP4 ADD SLT ISZERO PUSH2 0x5C7 JUMPI DUP2 CALLDATALOAD SWAP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP6 GT PUSH2 0x5C4 JUMPI POP PUSH1 0x20 DUP1 DUP4 ADD SWAP3 DUP6 PUSH1 0x5 SHL ADD ADD GT PUSH2 0x244 JUMPI SWAP2 SWAP1 JUMP JUMPDEST DUP1 REVERT JUMPDEST DUP4 DUP1 REVERT JUMPDEST PUSH2 0x5D4 CALLDATASIZE PUSH2 0x56E JUMP JUMPDEST SWAP1 PUSH16 0x71727DE22E5E9D8BAF0EDAC6F37DA032 CALLER SUB PUSH2 0x429 JUMPI PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x2F4 JUMPI PUSH1 0x0 PUSH2 0x608 DUP3 PUSH1 0x5 SHL DUP5 ADD DUP5 PUSH2 0xFB6 JUMP JUMPDEST PUSH2 0x612 DUP2 DUP4 PUSH2 0xFE8 JUMP JUMPDEST PUSH2 0x61B DUP2 PUSH2 0x1460 JUMP JUMPDEST ISZERO PUSH2 0x657 JUMPI POP DUP3 SWAP2 PUSH2 0x62E SWAP2 CALLDATASIZE SWAP2 PUSH2 0x4A1 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD DUP3 ADDRESS GAS CALL PUSH2 0x640 PUSH2 0x1329 JUMP JUMPDEST SWAP1 ISZERO PUSH2 0x64F JUMPI POP PUSH1 0x1 ADD PUSH2 0x5EF JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD REVERT JUMPDEST PUSH4 0x1D8370A3 PUSH1 0xE1 SHL DUP5 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH1 0x4 MSTORE PUSH1 0x24 DUP4 REVERT JUMPDEST PUSH2 0x67C CALLDATASIZE PUSH2 0x56E JUMP JUMPDEST SWAP1 PUSH16 0x71727DE22E5E9D8BAF0EDAC6F37DA032 CALLER SUB PUSH2 0x6F9 JUMPI JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT PUSH2 0x6A1 JUMPI STOP JUMPDEST DUP1 PUSH2 0x6F3 PUSH2 0x6B2 PUSH1 0x1 SWAP4 DUP7 DUP7 PUSH2 0x127C JUMP JUMPDEST CALLDATALOAD PUSH2 0x6BC DUP2 PUSH2 0x26C JUMP JUMPDEST PUSH1 0x20 PUSH2 0x6C9 DUP5 DUP9 DUP9 PUSH2 0x127C JUMP JUMPDEST ADD CALLDATALOAD PUSH2 0x6ED PUSH2 0x6E6 PUSH2 0x6DC DUP7 DUP11 DUP11 PUSH2 0x127C JUMP JUMPDEST PUSH1 0x40 DUP2 ADD SWAP1 PUSH2 0xFB6 JUMP JUMPDEST CALLDATASIZE SWAP2 PUSH2 0x4A1 JUMP JUMPDEST SWAP2 PUSH2 0x1B43 JUMP JUMPDEST ADD PUSH2 0x698 JUMP JUMPDEST PUSH2 0x701 PUSH2 0x1697 JUMP JUMPDEST PUSH2 0x695 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2F3F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x40 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0x749 DUP2 PUSH2 0x26C JUMP JUMPDEST PUSH1 0x24 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH2 0x768 SWAP1 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x2F6 JUMP JUMPDEST SWAP1 SWAP2 PUSH32 0x0 ADDRESS EQ PUSH2 0x838 JUMPI PUSH2 0x799 PUSH2 0x1697 JUMP JUMPDEST PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB AND RETURNDATASIZE PUSH1 0x0 MSTORE PUSH4 0x52D1902D PUSH1 0x1 MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2F1F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x20 PUSH1 0x1 PUSH1 0x4 PUSH1 0x1D DUP6 GAS STATICCALL MLOAD SUB PUSH2 0x82A JUMPI DUP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B PUSH1 0x0 DUP1 LOG2 DUP2 DUP2 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2F1F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SSTORE PUSH2 0x80B JUMPI STOP JUMPDEST DUP2 PUSH1 0x0 SWAP3 PUSH1 0x40 MLOAD SWAP5 DUP6 CALLDATACOPY DUP4 CODESIZE SWAP3 GAS DELEGATECALL ISZERO PUSH2 0x821 JUMPI STOP JUMPDEST RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH4 0x55299B49 PUSH1 0x1 MSTORE PUSH1 0x4 PUSH1 0x1D REVERT JUMPDEST PUSH4 0x9F03A026 PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x1C REVERT JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI ADDRESS PUSH32 0x0 SUB PUSH2 0x838 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2F1F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2F1F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 SWAP1 RETURN JUMPDEST PUSH2 0x8D5 CALLDATASIZE PUSH2 0x56E JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2EDF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD SWAP2 DUP3 PUSH2 0x9FD JUMPI PUSH2 0x8F6 SWAP2 CALLDATASIZE SWAP2 PUSH2 0x103B JUMP JUMPDEST SWAP1 PUSH1 0x0 JUMPDEST DUP3 MLOAD DUP2 LT ISZERO PUSH2 0x9E7 JUMPI PUSH1 0x20 PUSH2 0x90F DUP3 DUP6 PUSH2 0x10FC JUMP JUMPDEST MLOAD MLOAD EQ ISZERO DUP1 PUSH2 0x9D1 JUMPI JUMPDEST PUSH2 0x9AA JUMPI PUSH1 0x20 PUSH2 0x929 DUP3 DUP6 PUSH2 0x10FC JUMP JUMPDEST MLOAD MLOAD EQ DUP1 PUSH2 0x988 JUMPI JUMPDEST PUSH2 0x95D JUMPI DUP1 PUSH2 0x957 PUSH2 0x946 PUSH1 0x1 SWAP4 DUP7 PUSH2 0x10FC JUMP JUMPDEST MLOAD SWAP4 PUSH2 0x951 DUP2 PUSH2 0xF79 JUMP JUMPDEST SWAP5 PUSH2 0x1720 JUMP JUMPDEST ADD PUSH2 0x8FA JUMP JUMPDEST PUSH2 0x96A PUSH2 0x984 SWAP2 DUP5 PUSH2 0x10FC JUMP JUMPDEST MLOAD PUSH1 0x40 MLOAD PUSH4 0xBFF1AC65 PUSH1 0xE0 SHL DUP2 MSTORE SWAP2 DUP3 SWAP2 PUSH1 0x4 DUP4 ADD PUSH2 0xA56 JUMP JUMPDEST SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH2 0x9A4 PUSH2 0x99E DUP4 DUP7 PUSH2 0x10FC JUMP JUMPDEST MLOAD PUSH2 0x193A JUMP JUMPDEST GT PUSH2 0x932 JUMP JUMPDEST PUSH2 0x9B7 PUSH2 0x984 SWAP2 DUP5 PUSH2 0x10FC JUMP JUMPDEST MLOAD PUSH1 0x40 MLOAD PUSH4 0x27755B91 PUSH1 0xE1 SHL DUP2 MSTORE SWAP2 DUP3 SWAP2 PUSH1 0x4 DUP4 ADD PUSH2 0xA56 JUMP JUMPDEST POP PUSH1 0x40 PUSH2 0x9DE DUP3 DUP6 PUSH2 0x10FC JUMP JUMPDEST MLOAD MLOAD EQ ISZERO PUSH2 0x919 JUMP JUMPDEST PUSH2 0x2F4 DUP3 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2EDF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SSTORE JUMP JUMPDEST PUSH4 0x2ED543D PUSH1 0xE5 SHL PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT PUSH2 0xA21 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0xA11 JUMP JUMPDEST SWAP1 PUSH1 0x20 SWAP2 PUSH2 0xA4A DUP2 MLOAD DUP1 SWAP3 DUP2 DUP6 MSTORE DUP6 DUP1 DUP7 ADD SWAP2 ADD PUSH2 0xA0E JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND ADD ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x20 PUSH2 0x4F3 SWAP3 DUP2 DUP2 MSTORE ADD SWAP1 PUSH2 0xA31 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI DUP1 PUSH1 0x4 ADD PUSH1 0x80 PUSH1 0x3 NOT DUP4 CALLDATASIZE SUB ADD SLT PUSH2 0x244 JUMPI PUSH1 0x44 DUP3 ADD CALLDATALOAD PUSH2 0xAA9 DUP2 PUSH2 0x12A8 JUMP JUMPDEST TIMESTAMP GT PUSH2 0xB46 JUMPI PUSH2 0xAE0 PUSH2 0xACD PUSH2 0xAC1 PUSH2 0xAE4 SWAP4 PUSH2 0x12E0 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 PUSH2 0x1DD4 JUMP JUMPDEST PUSH2 0xADA PUSH1 0x64 DUP7 ADD DUP6 PUSH2 0xFB6 JUMP JUMPDEST SWAP2 PUSH2 0x1A51 JUMP JUMPDEST ISZERO SWAP1 JUMP JUMPDEST PUSH2 0xB35 JUMPI PUSH1 0x0 SWAP2 PUSH2 0xB03 DUP3 PUSH1 0x24 PUSH2 0xAFB DUP7 SWAP6 PUSH2 0x129E JUMP JUMPDEST SWAP4 ADD SWAP1 PUSH2 0xFB6 JUMP JUMPDEST SWAP1 PUSH2 0xB13 PUSH1 0x40 MLOAD DUP1 SWAP4 DUP2 SWAP4 PUSH2 0x1306 JUMP JUMPDEST SUB SWAP2 GAS STATICCALL PUSH2 0xB1F PUSH2 0x1329 JUMP JUMPDEST SWAP1 ISZERO PUSH2 0x64F JUMPI PUSH2 0x414 SWAP1 PUSH1 0x40 MLOAD SWAP2 DUP3 SWAP2 DUP3 PUSH2 0xA56 JUMP JUMPDEST PUSH4 0x8BAA579F PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x0 REVERT JUMPDEST PUSH2 0xB52 PUSH2 0xB69 SWAP2 PUSH2 0x12A8 JUMP JUMPDEST PUSH4 0xF88F049 PUSH1 0xE4 SHL PUSH1 0x0 MSTORE PUSH1 0x4 MSTORE TIMESTAMP PUSH1 0x24 MSTORE PUSH1 0x44 SWAP1 JUMP JUMPDEST PUSH1 0x0 REVERT JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH2 0xBAD PUSH2 0xBBB PUSH2 0xB8C PUSH2 0x1B63 JUMP JUMPDEST PUSH1 0x40 SWAP3 SWAP2 SWAP3 MLOAD SWAP4 DUP5 SWAP4 PUSH1 0xF PUSH1 0xF8 SHL DUP6 MSTORE PUSH1 0xE0 PUSH1 0x20 DUP7 ADD MSTORE PUSH1 0xE0 DUP6 ADD SWAP1 PUSH2 0xA31 JUMP JUMPDEST SWAP1 DUP4 DUP3 SUB PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0xA31 JUMP JUMPDEST CHAINID PUSH1 0x60 DUP4 ADD MSTORE ADDRESS PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0x0 PUSH1 0xA0 DUP4 ADD MSTORE DUP2 DUP2 SUB PUSH1 0xC0 DUP4 ADD MSTORE PUSH1 0x20 PUSH1 0x60 MLOAD SWAP2 DUP3 DUP2 MSTORE ADD SWAP1 PUSH1 0x80 SWAP1 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH2 0xBF5 JUMPI POP POP POP SUB SWAP1 RETURN JUMPDEST DUP3 MLOAD DUP5 MSTORE DUP6 SWAP5 POP PUSH1 0x20 SWAP4 DUP5 ADD SWAP4 SWAP1 SWAP3 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0xBE7 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH2 0x2105 DUP2 MSTORE RETURN JUMPDEST SWAP1 PUSH1 0x40 PUSH1 0x3 NOT DUP4 ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD SWAP2 PUSH1 0x24 CALLDATALOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH2 0x244 JUMPI PUSH2 0xC5A SWAP2 PUSH1 0x4 ADD PUSH2 0x2F6 JUMP JUMPDEST SWAP1 SWAP2 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH2 0xC6C CALLDATASIZE PUSH2 0xC2B JUMP JUMPDEST SWAP1 PUSH2 0xC75 PUSH2 0x1697 JUMP JUMPDEST PUSH1 0x1 PUSH2 0xC7F PUSH2 0xF4D JUMP JUMPDEST EQ PUSH2 0xC8D JUMPI PUSH2 0x2F4 SWAP3 PUSH2 0x1CBD JUMP JUMPDEST PUSH4 0x948BF897 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x0 REVERT JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH2 0x414 PUSH2 0xCBD PUSH1 0x4 CALLDATALOAD PUSH2 0x1393 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 SWAP2 PUSH1 0x20 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP1 PUSH2 0xA31 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 SUB PUSH2 0x244 JUMPI PUSH2 0xD01 PUSH1 0x20 SWAP2 PUSH2 0x1460 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH2 0x264 PUSH2 0xD40 PUSH1 0x20 SWAP3 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x392 JUMP JUMPDEST PUSH2 0x14E3 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH2 0xD01 PUSH1 0x4 CALLDATALOAD PUSH2 0xD67 DUP2 PUSH2 0x26C JUMP JUMPDEST PUSH2 0x15D0 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH1 0x40 MLOAD PUSH16 0x71727DE22E5E9D8BAF0EDAC6F37DA032 DUP2 MSTORE RETURN JUMPDEST PUSH1 0x60 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x4 CALLDATALOAD PUSH2 0xDAF DUP2 PUSH2 0x26C JUMP JUMPDEST PUSH1 0x44 CALLDATALOAD SWAP1 PUSH1 0x24 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 GT PUSH2 0x244 JUMPI PUSH2 0x6ED PUSH2 0xDD8 PUSH2 0x2F4 SWAP5 CALLDATASIZE SWAP1 PUSH1 0x4 ADD PUSH2 0x2F6 JUMP JUMPDEST PUSH16 0x71727DE22E5E9D8BAF0EDAC6F37DA032 CALLER SUB PUSH2 0xDF6 JUMPI CALLDATASIZE SWAP2 PUSH2 0x4A1 JUMP JUMPDEST PUSH2 0xDFE PUSH2 0x1697 JUMP JUMPDEST PUSH2 0x6E6 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH2 0xE11 CALLDATASIZE PUSH2 0xC2B JUMP JUMPDEST SWAP1 PUSH2 0xE1A PUSH2 0x1697 JUMP JUMPDEST PUSH2 0xE22 PUSH2 0xF4D JUMP JUMPDEST SWAP3 PUSH1 0x1 DUP5 GT PUSH2 0xE35 JUMPI PUSH2 0x2F4 SWAP4 POP PUSH2 0x1CBD JUMP JUMPDEST DUP4 PUSH4 0x1047E355 PUSH1 0xE3 SHL PUSH1 0x0 MSTORE PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x20 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH2 0x264 PUSH1 0x4 CALLDATALOAD PUSH2 0x1DD4 JUMP JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2EDF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST CALLVALUE PUSH2 0x244 JUMPI PUSH1 0x0 CALLDATASIZE PUSH1 0x3 NOT ADD SLT PUSH2 0x244 JUMPI PUSH1 0x20 PUSH2 0x264 PUSH2 0x15F6 JUMP JUMPDEST SWAP1 PUSH2 0xEC1 PUSH1 0x20 SWAP3 DUP3 DUP2 MLOAD SWAP5 DUP6 SWAP3 ADD PUSH2 0xA0E JUMP JUMPDEST ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 PUSH2 0xEDE SWAP2 DUP2 PUSH1 0x40 MLOAD SWAP4 DUP3 DUP6 DUP1 SWAP5 MLOAD SWAP4 DUP5 SWAP3 ADD PUSH2 0xA0E JUMP JUMPDEST DUP2 ADD PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F503 DUP2 MSTORE SUB ADD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2EFF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SUB SWAP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2EFF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP3 GT PUSH2 0xF48 JUMPI JUMP JUMPDEST PUSH2 0xF0A JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2EDF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2F3F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD DUP2 SUB SWAP1 DUP2 GT PUSH2 0xF48 JUMPI SWAP1 JUMP JUMPDEST PUSH1 0x0 NOT DUP2 EQ PUSH2 0xF48 JUMPI PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST SWAP1 PUSH2 0xF96 PUSH2 0xF9B SWAP4 SWAP3 PUSH2 0x1DD4 JUMP JUMPDEST PUSH2 0x1A51 JUMP JUMPDEST PUSH2 0xFAB JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 JUMP JUMPDEST PUSH4 0xB135D3F PUSH1 0xE1 SHL SWAP1 JUMP JUMPDEST SWAP1 CALLDATALOAD SWAP1 PUSH1 0x1E NOT DUP2 CALLDATASIZE SUB ADD DUP3 SLT ISZERO PUSH2 0x244 JUMPI ADD DUP1 CALLDATALOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH2 0x244 JUMPI PUSH1 0x20 ADD SWAP2 DUP2 CALLDATASIZE SUB DUP4 SGT PUSH2 0x244 JUMPI JUMP JUMPDEST CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND SWAP3 SWAP2 SWAP1 PUSH1 0x4 DUP3 LT PUSH2 0x1003 JUMPI POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0x4 SWAP3 SWAP1 SWAP3 SUB PUSH1 0x3 SHL DUP3 SWAP1 SHL AND AND SWAP2 POP JUMP JUMPDEST SWAP1 SWAP3 SWAP2 SWAP3 DUP4 PUSH1 0x4 GT PUSH2 0x244 JUMPI DUP4 GT PUSH2 0x244 JUMPI PUSH1 0x4 ADD SWAP2 PUSH1 0x3 NOT ADD SWAP1 JUMP JUMPDEST SWAP3 SWAP2 SWAP1 SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP5 GT PUSH2 0x470 JUMPI DUP4 PUSH1 0x5 SHL SWAP1 PUSH1 0x20 PUSH1 0x40 MLOAD PUSH2 0x1063 DUP3 DUP6 ADD DUP3 PUSH2 0x44F JUMP JUMPDEST DUP1 SWAP7 DUP2 MSTORE ADD SWAP2 DUP2 ADD SWAP2 DUP4 DUP4 GT PUSH2 0x244 JUMPI DUP2 SWAP1 JUMPDEST DUP4 DUP3 LT PUSH2 0x1084 JUMPI POP POP POP POP POP JUMP JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH1 0x20 SWAP2 PUSH2 0x10A4 DUP8 DUP5 SWAP4 DUP8 ADD PUSH2 0x4D8 JUMP JUMPDEST DUP2 MSTORE ADD SWAP2 ADD SWAP1 PUSH2 0x1076 JUMP JUMPDEST PUSH1 0x20 DUP2 DUP4 SUB SLT PUSH2 0x244 JUMPI DUP1 CALLDATALOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH2 0x244 JUMPI ADD SWAP1 DUP1 PUSH1 0x1F DUP4 ADD SLT ISZERO PUSH2 0x244 JUMPI DUP2 PUSH1 0x20 PUSH2 0x4F3 SWAP4 CALLDATALOAD SWAP2 ADD PUSH2 0x103B JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 MLOAD DUP3 LT ISZERO PUSH2 0x1110 JUMPI PUSH1 0x20 SWAP2 PUSH1 0x5 SHL ADD ADD SWAP1 JUMP JUMPDEST PUSH2 0x10E6 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x20 SWAP1 SWAP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND SWAP3 SWAP2 SWAP1 PUSH1 0x4 DUP3 LT PUSH2 0x1003 JUMPI POP POP JUMP JUMPDEST SWAP2 PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x40 SHR SWAP2 PUSH1 0x60 DUP5 ADD SWAP1 PUSH2 0x1150 DUP3 DUP7 PUSH2 0xFB6 JUMP JUMPDEST PUSH4 0x16155E8F PUSH1 0xE1 SHL SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP2 PUSH2 0x116C SWAP2 PUSH2 0xFE8 JUMP JUMPDEST AND SUB PUSH2 0x124F JUMPI POP PUSH2 0x117C DUP5 PUSH2 0x14E3 JUMP JUMPDEST SWAP3 PUSH2 0x2105 DUP2 SUB PUSH2 0x123B JUMPI POP PUSH2 0x119E PUSH2 0x1197 PUSH2 0x11A6 SWAP3 DUP7 PUSH2 0xFB6 JUMP JUMPDEST DUP1 SWAP2 PUSH2 0x101E JUMP JUMPDEST DUP2 ADD SWAP1 PUSH2 0x10AF JUMP JUMPDEST SWAP2 PUSH1 0x0 JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH2 0x1215 JUMPI PUSH2 0x11BD DUP2 DUP6 PUSH2 0x10FC JUMP JUMPDEST MLOAD PUSH4 0x278F7943 PUSH1 0xE1 SHL PUSH2 0x11DF PUSH2 0x11D2 DUP4 PUSH2 0x1115 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND SWAP1 JUMP JUMPDEST EQ PUSH2 0x11EE JUMPI JUMPDEST POP PUSH1 0x1 ADD PUSH2 0x11AA JUMP JUMPDEST PUSH1 0x24 ADD MLOAD DUP1 EXTCODESIZE PUSH2 0x11E5 JUMPI PUSH4 0xC760937 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP1 SWAP3 PUSH2 0x122D SWAP3 POP PUSH2 0xADA SWAP1 JUMPDEST PUSH2 0x100 DUP2 ADD SWAP1 PUSH2 0xFB6 JUMP JUMPDEST PUSH2 0x1236 JUMPI PUSH1 0x1 SWAP1 JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH4 0x2EF37813 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP3 SWAP1 POP PUSH2 0x2105 DUP2 SWAP5 SWAP3 SWAP5 EQ PUSH2 0x123B JUMPI POP SWAP1 PUSH2 0xADA PUSH2 0x122D SWAP3 PUSH2 0x1222 JUMP JUMPDEST PUSH2 0x1277 PUSH1 0xFF SWAP2 PUSH2 0xEC5 JUMP JUMPDEST SLOAD AND SWAP1 JUMP JUMPDEST SWAP2 SWAP1 DUP2 LT ISZERO PUSH2 0x1110 JUMPI PUSH1 0x5 SHL DUP2 ADD CALLDATALOAD SWAP1 PUSH1 0x5E NOT DUP2 CALLDATASIZE SUB ADD DUP3 SLT ISZERO PUSH2 0x244 JUMPI ADD SWAP1 JUMP JUMPDEST CALLDATALOAD PUSH2 0x4F3 DUP2 PUSH2 0x26C JUMP JUMPDEST SWAP1 PUSH2 0x708 DUP3 ADD DUP1 SWAP3 GT PUSH2 0xF48 JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x15 DUP3 ADD DUP1 SWAP3 GT PUSH2 0xF48 JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x2 DUP3 ADD DUP1 SWAP3 GT PUSH2 0xF48 JUMPI JUMP JUMPDEST SWAP2 SWAP1 DUP3 ADD DUP1 SWAP3 GT PUSH2 0xF48 JUMPI JUMP JUMPDEST SWAP1 PUSH1 0x40 MLOAD SWAP2 PUSH4 0x737BEBDD PUSH1 0xE0 SHL PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x24 DUP3 MSTORE PUSH2 0x484 PUSH1 0x44 DUP4 PUSH2 0x44F JUMP JUMPDEST SWAP1 DUP1 SWAP3 SWAP2 DUP3 CALLDATACOPY ADD PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 PUSH2 0x1323 PUSH1 0x20 DUP4 PUSH2 0x44F JUMP JUMPDEST PUSH1 0x0 DUP3 MSTORE JUMP JUMPDEST RETURNDATASIZE ISZERO PUSH2 0x1354 JUMPI RETURNDATASIZE SWAP1 PUSH2 0x133A DUP3 PUSH2 0x486 JUMP JUMPDEST SWAP2 PUSH2 0x1348 PUSH1 0x40 MLOAD SWAP4 DUP5 PUSH2 0x44F JUMP JUMPDEST DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY JUMP JUMPDEST PUSH1 0x60 SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x1 DUP3 DUP2 SHR SWAP3 AND DUP1 ISZERO PUSH2 0x1389 JUMPI JUMPDEST PUSH1 0x20 DUP4 LT EQ PUSH2 0x1373 JUMPI JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 PUSH1 0x7F AND SWAP2 PUSH2 0x1368 JUMP JUMPDEST PUSH1 0x0 MSTORE PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F502 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD SWAP1 DUP2 PUSH1 0x0 DUP3 SLOAD SWAP3 PUSH2 0x13D2 DUP5 PUSH2 0x1359 JUMP JUMPDEST DUP1 DUP5 MSTORE SWAP4 PUSH1 0x1 DUP2 AND SWAP1 DUP2 ISZERO PUSH2 0x143E JUMPI POP PUSH1 0x1 EQ PUSH2 0x13F7 JUMPI JUMPDEST POP PUSH2 0x4F3 SWAP3 POP SUB DUP3 PUSH2 0x44F JUMP JUMPDEST SWAP1 POP PUSH1 0x0 SWAP3 SWAP2 SWAP3 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x0 SWAP2 JUMPDEST DUP2 DUP4 LT PUSH2 0x1422 JUMPI POP POP SWAP1 PUSH1 0x20 PUSH2 0x4F3 SWAP3 DUP3 ADD ADD CODESIZE PUSH2 0x13EA JUMP JUMPDEST PUSH1 0x20 SWAP2 SWAP4 POP DUP1 PUSH1 0x1 SWAP2 SLOAD DUP4 DUP6 DUP9 ADD ADD MSTORE ADD SWAP2 ADD SWAP1 SWAP2 DUP4 SWAP3 PUSH2 0x1409 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 SWAP3 POP PUSH2 0x4F3 SWAP5 SWAP2 POP PUSH1 0xFF NOT AND DUP3 DUP5 ADD MSTORE ISZERO ISZERO PUSH1 0x5 SHL DUP3 ADD ADD CODESIZE PUSH2 0x13EA JUMP JUMPDEST PUSH4 0xFFFFFFFF PUSH1 0xE0 SHL AND PUSH4 0x29565E3B PUSH1 0xE0 SHL DUP2 EQ SWAP1 DUP2 ISZERO PUSH2 0x14D2 JUMPI JUMPDEST DUP2 ISZERO PUSH2 0x14C1 JUMPI JUMPDEST DUP2 ISZERO PUSH2 0x14B0 JUMPI JUMPDEST DUP2 ISZERO PUSH2 0x149F JUMPI JUMPDEST POP PUSH2 0x149A JUMPI PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH1 0x1 SWAP1 JUMP JUMPDEST PUSH4 0x278F7943 PUSH1 0xE1 SHL EQ SWAP1 POP CODESIZE PUSH2 0x1490 JUMP JUMPDEST PUSH4 0xB8197367 PUSH1 0xE0 SHL DUP2 EQ SWAP2 POP PUSH2 0x1489 JUMP JUMPDEST PUSH4 0x89625B57 PUSH1 0xE0 SHL DUP2 EQ SWAP2 POP PUSH2 0x1482 JUMP JUMPDEST PUSH4 0x3C3CFC9 PUSH1 0xE2 SHL DUP2 EQ SWAP2 POP PUSH2 0x147B JUMP JUMPDEST PUSH1 0x20 DUP2 ADD CALLDATALOAD PUSH2 0x1597 PUSH2 0x14F8 PUSH1 0x40 DUP5 ADD DUP5 PUSH2 0xFB6 JUMP JUMPDEST SWAP1 DUP2 PUSH1 0x40 MLOAD SWAP2 DUP3 CALLDATACOPY KECCAK256 SWAP2 PUSH2 0x225 PUSH2 0x1512 PUSH1 0x60 DUP7 ADD DUP7 PUSH2 0xFB6 JUMP JUMPDEST SWAP1 DUP2 PUSH1 0x40 MLOAD SWAP2 DUP3 CALLDATACOPY KECCAK256 PUSH1 0xC0 DUP7 ADD CALLDATALOAD PUSH1 0xA0 DUP8 ADD CALLDATALOAD PUSH1 0x80 DUP9 ADD CALLDATALOAD PUSH2 0x1540 PUSH2 0x153A PUSH1 0xE0 DUP12 ADD DUP12 PUSH2 0xFB6 JUMP JUMPDEST SWAP1 PUSH2 0x2335 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP11 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP13 ADD SWAP1 DUP2 MSTORE SWAP1 DUP12 ADD SWAP8 SWAP1 SWAP8 MSTORE PUSH1 0x60 DUP11 ADD SWAP9 SWAP1 SWAP9 MSTORE PUSH1 0x80 DUP10 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0xA0 DUP9 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0xC0 DUP8 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0xE0 DUP7 ADD MSTORE PUSH2 0x100 DUP6 ADD SWAP4 SWAP1 SWAP4 MSTORE SWAP3 SWAP2 DUP3 SWAP1 PUSH2 0x120 DUP3 ADD SWAP1 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP3 DUP4 MSTORE PUSH16 0x71727DE22E5E9D8BAF0EDAC6F37DA032 SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH2 0x15CA DUP2 PUSH1 0x60 DUP2 ADD PUSH2 0x225 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x1277 PUSH1 0xFF SWAP2 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x20 DUP2 MSTORE PUSH2 0x233 PUSH1 0x40 DUP3 PUSH2 0x44F JUMP JUMPDEST PUSH2 0x15FE PUSH2 0x1B63 JUMP JUMPDEST SWAP1 PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SWAP1 PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 ADD SWAP3 PUSH32 0x8B73C3C69BB8FE3D512ECC4CF759CC79239F7B179B0FFACAA9A75D522B39400F DUP5 MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE CHAINID PUSH1 0x80 DUP3 ADD MSTORE ADDRESS PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xA0 DUP2 MSTORE PUSH2 0x15CA PUSH1 0xC0 DUP3 PUSH2 0x44F JUMP JUMPDEST PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR PUSH4 0xBC197C81 DUP2 EQ PUSH4 0xF23A6E61 DUP3 EQ OR PUSH4 0x150B7A02 DUP3 EQ OR PUSH2 0x168E JUMPI PUSH4 0x3C10B94E PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x1C REVERT JUMPDEST PUSH1 0x20 MSTORE PUSH1 0x20 PUSH1 0x3C RETURN JUMPDEST PUSH2 0x16A0 CALLER PUSH2 0x15D0 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x16BB JUMPI JUMPDEST PUSH2 0x484 JUMPI PUSH3 0x82B429 PUSH1 0xE8 SHL PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x0 REVERT JUMPDEST POP ADDRESS CALLER EQ PUSH2 0x16A7 JUMP JUMPDEST DUP2 DUP2 LT PUSH2 0x16CF JUMPI POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x16C4 JUMP JUMPDEST SWAP2 SWAP1 PUSH1 0x1F DUP2 GT PUSH2 0x16EA JUMPI POP POP POP JUMP JUMPDEST PUSH2 0x484 SWAP3 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x20 PUSH1 0x1F DUP5 ADD PUSH1 0x5 SHR DUP4 ADD SWAP4 LT PUSH2 0x1716 JUMPI JUMPDEST PUSH1 0x1F ADD PUSH1 0x5 SHR ADD SWAP1 PUSH2 0x16C4 JUMP JUMPDEST SWAP1 SWAP2 POP DUP2 SWAP1 PUSH2 0x1709 JUMP JUMPDEST PUSH2 0x1729 DUP2 PUSH2 0x126C JUMP JUMPDEST PUSH2 0x1897 JUMPI PUSH2 0x1736 DUP2 PUSH2 0xEC5 JUMP JUMPDEST PUSH1 0x1 PUSH1 0xFF NOT DUP3 SLOAD AND OR SWAP1 SSTORE DUP2 PUSH1 0x0 MSTORE PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F502 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x470 JUMPI PUSH2 0x1792 DUP2 PUSH2 0x178C DUP5 SLOAD PUSH2 0x1359 JUMP JUMPDEST DUP5 PUSH2 0x16DB JUMP JUMPDEST PUSH1 0x20 PUSH1 0x1F DUP3 GT PUSH1 0x1 EQ PUSH2 0x1806 JUMPI SWAP2 PUSH2 0x17E7 DUP3 PUSH32 0x38109EDC26E166B5579352CE56A50813177EB25208FD90D61F2F378386220220 SWAP6 SWAP4 PUSH2 0x17F6 SWAP6 PUSH1 0x0 SWAP2 PUSH2 0x17FB JUMPI JUMPDEST POP DUP2 PUSH1 0x1 SHL SWAP2 PUSH1 0x0 NOT SWAP1 PUSH1 0x3 SHL SHR NOT AND OR SWAP1 JUMP JUMPDEST SWAP1 SSTORE JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 SWAP2 DUP3 PUSH2 0xA56 JUMP JUMPDEST SUB SWAP1 LOG2 JUMP JUMPDEST SWAP1 POP DUP5 ADD MLOAD CODESIZE PUSH2 0x17D3 JUMP JUMPDEST PUSH1 0x1F NOT DUP3 AND SWAP1 PUSH2 0x181B DUP5 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST SWAP2 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT PUSH2 0x187F JUMPI POP SWAP3 PUSH2 0x17F6 SWAP5 SWAP3 PUSH1 0x1 SWAP3 DUP3 PUSH32 0x38109EDC26E166B5579352CE56A50813177EB25208FD90D61F2F378386220220 SWAP9 SWAP7 LT PUSH2 0x1866 JUMPI JUMPDEST POP POP DUP2 SHL ADD SWAP1 SSTORE PUSH2 0x17EA JUMP JUMPDEST DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 DUP5 PUSH1 0x3 SHL AND SHR NOT AND SWAP1 SSTORE CODESIZE DUP1 PUSH2 0x185A JUMP JUMPDEST SWAP2 SWAP3 PUSH1 0x20 PUSH1 0x1 DUP2 SWAP3 DUP7 DUP11 ADD MLOAD DUP2 SSTORE ADD SWAP5 ADD SWAP3 ADD PUSH2 0x181F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x468B12AD PUSH1 0xE1 SHL DUP2 MSTORE SWAP1 DUP2 SWAP1 PUSH2 0x984 SWAP1 PUSH1 0x4 DUP4 ADD PUSH2 0xA56 JUMP JUMPDEST PUSH1 0x20 DUP2 DUP4 SUB SLT PUSH2 0x244 JUMPI DUP1 CALLDATALOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH2 0x244 JUMPI ADD PUSH1 0x40 DUP2 DUP4 SUB SLT PUSH2 0x244 JUMPI PUSH1 0x40 MLOAD SWAP2 PUSH1 0x40 DUP4 ADD DUP4 DUP2 LT PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT OR PUSH2 0x470 JUMPI PUSH1 0x40 MSTORE DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI DUP2 PUSH2 0x1913 SWAP2 DUP5 ADD PUSH2 0x4D8 JUMP JUMPDEST DUP4 MSTORE PUSH1 0x20 DUP3 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH2 0x1932 SWAP3 ADD PUSH2 0x4D8 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD MLOAD SWAP1 PUSH1 0x20 DUP2 LT PUSH2 0x194E JUMPI POP SWAP1 JUMP JUMPDEST PUSH1 0x0 NOT SWAP1 PUSH1 0x20 SUB PUSH1 0x3 SHL SHL AND SWAP1 JUMP JUMPDEST SWAP2 SWAP1 DUP3 PUSH1 0x40 SWAP2 SUB SLT PUSH2 0x244 JUMPI PUSH1 0x20 DUP3 MLOAD SWAP3 ADD MLOAD SWAP1 JUMP JUMPDEST DUP2 PUSH1 0x1F DUP3 ADD SLT ISZERO PUSH2 0x244 JUMPI PUSH1 0x20 DUP2 MLOAD SWAP2 ADD SWAP1 PUSH2 0x198E DUP2 PUSH2 0x486 JUMP JUMPDEST SWAP3 PUSH2 0x199C PUSH1 0x40 MLOAD SWAP5 DUP6 PUSH2 0x44F JUMP JUMPDEST DUP2 DUP5 MSTORE DUP2 DUP4 ADD GT PUSH2 0x244 JUMPI PUSH2 0x4F3 SWAP2 PUSH1 0x20 DUP5 ADD SWAP1 PUSH2 0xA0E JUMP JUMPDEST PUSH1 0x20 DUP2 DUP4 SUB SLT PUSH2 0x244 JUMPI DUP1 MLOAD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT PUSH2 0x244 JUMPI ADD SWAP1 PUSH1 0xC0 DUP3 DUP3 SUB SLT PUSH2 0x244 JUMPI PUSH2 0x19E4 PUSH2 0x475 JUMP JUMPDEST SWAP2 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI DUP3 PUSH2 0x1A01 SWAP2 DUP4 ADD PUSH2 0x1973 JUMP JUMPDEST DUP4 MSTORE PUSH1 0x20 DUP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT PUSH2 0x244 JUMPI PUSH1 0xA0 SWAP3 PUSH2 0x1A24 SWAP2 DUP4 ADD PUSH2 0x1973 JUMP JUMPDEST PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x40 DUP2 ADD MLOAD PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x60 DUP2 ADD MLOAD PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP2 ADD MLOAD PUSH1 0x80 DUP5 ADD MSTORE ADD MLOAD PUSH1 0xA0 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST SWAP3 SWAP2 SWAP1 PUSH2 0x1A60 SWAP2 DUP2 ADD SWAP1 PUSH2 0x18B4 JUMP JUMPDEST SWAP1 DUP2 MLOAD SWAP2 PUSH2 0x1A70 PUSH2 0xAE0 DUP5 PUSH2 0x126C JUMP JUMPDEST PUSH2 0x1B3A JUMPI PUSH1 0x20 DUP4 MLOAD EQ PUSH2 0x1AF1 JUMPI DUP3 MLOAD SWAP4 PUSH1 0x40 DUP6 EQ PUSH2 0x1AA3 JUMPI PUSH1 0x40 MLOAD PUSH4 0x27755B91 PUSH1 0xE1 SHL DUP2 MSTORE DUP1 PUSH2 0x984 DUP7 PUSH1 0x4 DUP4 ADD PUSH2 0xA56 JUMP JUMPDEST PUSH2 0x225 PUSH2 0x1AEC PUSH2 0x1AD7 PUSH2 0x1AC3 DUP8 PUSH1 0x20 DUP1 DUP1 SWAP10 SWAP12 PUSH2 0x4F3 SWAP12 ADD ADD SWAP2 ADD PUSH2 0x195D JUMP JUMPDEST SWAP7 SWAP1 SWAP6 ADD MLOAD PUSH1 0x20 DUP1 DUP3 MLOAD DUP4 ADD ADD SWAP2 ADD PUSH2 0x19B5 JUMP JUMPDEST SWAP3 PUSH1 0x40 MLOAD SWAP3 DUP4 SWAP2 PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 PUSH1 0x20 DUP4 ADD SWAP3 MSTORE JUMP JUMPDEST PUSH2 0x1FD6 JUMP JUMPDEST SWAP2 SWAP3 SWAP1 SWAP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH2 0x1B07 DUP6 PUSH2 0x193A JUMP JUMPDEST GT PUSH2 0x1B1F JUMPI PUSH1 0x20 DUP1 PUSH2 0x4F3 SWAP5 SWAP6 ADD MLOAD SWAP3 ADD MLOAD SWAP2 PUSH2 0x1E49 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xBFF1AC65 PUSH1 0xE0 SHL DUP2 MSTORE DUP1 PUSH2 0x984 DUP7 PUSH1 0x4 DUP4 ADD PUSH2 0xA56 JUMP JUMPDEST POP SWAP2 POP POP PUSH1 0x0 SWAP1 JUMP JUMPDEST SWAP2 PUSH1 0x0 SWAP3 DUP4 SWAP3 PUSH1 0x20 DUP4 MLOAD SWAP4 ADD SWAP2 GAS CALL PUSH2 0x1B5A PUSH2 0x1329 JUMP JUMPDEST SWAP1 ISZERO PUSH2 0x64F JUMPI POP JUMP JUMPDEST PUSH1 0x40 SWAP1 DUP2 MLOAD PUSH2 0x1B72 DUP4 DUP3 PUSH2 0x44F JUMP JUMPDEST PUSH1 0x12 DUP2 MSTORE PUSH18 0x11DA585B9BC814DB585C9D0815D85B1B195D PUSH1 0x72 SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP2 PUSH2 0x1B9E DUP2 MLOAD SWAP2 DUP3 PUSH2 0x44F JUMP JUMPDEST PUSH1 0x1 DUP2 MSTORE PUSH1 0x31 PUSH1 0xF8 SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST SWAP1 DUP1 PUSH1 0x20 SWAP4 SWAP3 DUP2 DUP5 MSTORE DUP5 DUP5 ADD CALLDATACOPY PUSH1 0x0 DUP3 DUP3 ADD DUP5 ADD MSTORE PUSH1 0x1F ADD PUSH1 0x1F NOT AND ADD ADD SWAP1 JUMP JUMPDEST SWAP3 SWAP2 PUSH2 0x4F3 SWAP5 SWAP3 PUSH2 0x1BEE SWAP3 DUP6 MSTORE PUSH1 0x60 PUSH1 0x20 DUP7 ADD MSTORE PUSH1 0x60 DUP6 ADD SWAP2 PUSH2 0x1BAF JUMP JUMPDEST SWAP2 PUSH1 0x40 DUP2 DUP5 SUB SWAP2 ADD MSTORE PUSH2 0xA31 JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP3 PUSH1 0x40 MLOAD SWAP4 DUP5 SWAP3 DUP4 CALLDATACOPY DUP2 ADD PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F503 DUP2 MSTORE SUB ADD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST PUSH1 0x2 DUP2 SWAP1 SHL SWAP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xFE SHL SUB DUP2 AND SUB PUSH2 0xF48 JUMPI JUMP JUMPDEST PUSH2 0x1C56 DUP2 SLOAD PUSH2 0x1359 JUMP JUMPDEST SWAP1 DUP2 PUSH2 0x1C60 JUMPI POP POP JUMP JUMPDEST DUP2 PUSH1 0x1F PUSH1 0x0 SWAP4 GT PUSH1 0x1 EQ PUSH2 0x1C72 JUMPI POP SSTORE JUMP JUMPDEST DUP2 DUP4 MSTORE PUSH1 0x20 DUP4 KECCAK256 PUSH2 0x1C8E SWAP2 PUSH1 0x1F ADD PUSH1 0x5 SHR DUP2 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x16C4 JUMP JUMPDEST DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 KECCAK256 SWAP1 DUP2 SLOAD DUP4 PUSH1 0x1 SHL SWAP1 DUP5 NOT DUP6 PUSH1 0x3 SHL SHR NOT AND OR SWAP1 SSTORE SSTORE JUMP JUMPDEST SWAP2 PUSH1 0x20 PUSH2 0x4F3 SWAP4 DUP2 DUP2 MSTORE ADD SWAP2 PUSH2 0x1BAF JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x1CC8 DUP4 PUSH2 0x1393 JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x1DBE JUMPI DUP1 MLOAD PUSH1 0x20 DUP3 ADD KECCAK256 PUSH2 0x1CE1 CALLDATASIZE DUP6 DUP6 PUSH2 0x4A1 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SUB PUSH2 0x1D9F JUMPI POP SWAP1 DUP2 PUSH2 0x1D28 PUSH2 0x1D1E DUP4 PUSH32 0xCF95BBFE6F870F8CC40482DC3DCCDAFD268F0E9CE0A4F24EA1BEA9BE64E505FF SWAP6 PUSH2 0x1BFC JUMP JUMPDEST DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x1D63 PUSH2 0x1D5E DUP6 PUSH1 0x0 MSTORE PUSH32 0x627F72AF0E6F412195B0D8ACBE438B28090DD545B7D2331FCCF77723561F502 PUSH1 0x20 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 SWAP1 JUMP JUMPDEST PUSH2 0x1C4C JUMP JUMPDEST PUSH2 0x1D90 PUSH2 0x1D7E PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2F3F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH2 0xF79 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2F3F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SSTORE JUMP JUMPDEST PUSH2 0x17F6 PUSH1 0x40 MLOAD SWAP3 DUP4 SWAP3 DUP4 PUSH2 0x1CAC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x781F2E39 PUSH1 0xE0 SHL DUP2 MSTORE SWAP4 DUP5 SWAP4 PUSH2 0x984 SWAP4 SWAP1 SWAP2 PUSH1 0x4 DUP7 ADD PUSH2 0x1BD0 JUMP JUMPDEST PUSH4 0x340C473D PUSH1 0xE1 SHL PUSH1 0x0 MSTORE PUSH1 0x4 DUP5 SWAP1 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1DDC PUSH2 0x15F6 JUMP JUMPDEST SWAP1 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 ADD SWAP2 PUSH32 0x37F248F492286AB572E2A1EE0BD5315F2AAE54A08B5871B294D657F3A1F1D007 DUP4 MSTORE PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x40 DUP2 MSTORE PUSH2 0x1E1C PUSH1 0x60 DUP3 PUSH2 0x44F JUMP JUMPDEST MLOAD SWAP1 KECCAK256 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 ADD SWAP3 PUSH2 0x1901 PUSH1 0xF0 SHL DUP5 MSTORE PUSH1 0x22 DUP4 ADD MSTORE PUSH1 0x42 DUP3 ADD MSTORE PUSH1 0x42 DUP2 MSTORE PUSH2 0x15CA PUSH1 0x62 DUP3 PUSH2 0x44F JUMP JUMPDEST SWAP1 SWAP2 PUSH1 0x0 SWAP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND ISZERO PUSH2 0x1F33 JUMPI PUSH1 0x40 MLOAD SWAP3 PUSH1 0x4 DUP5 ADD SWAP5 PUSH1 0x24 DUP6 ADD SWAP6 PUSH1 0x44 DUP7 ADD SWAP3 DUP6 EXTCODESIZE ISZERO PUSH2 0x1EB3 JUMPI POP SWAP2 DUP7 SWAP4 SWAP2 PUSH1 0x20 SWAP6 SWAP4 PUSH4 0xB135D3F PUSH1 0xE1 SHL DUP9 MSTORE MSTORE PUSH1 0x40 DUP5 MSTORE DUP2 MLOAD DUP6 ADD DUP1 SWAP3 PUSH1 0x4 GAS STATICCALL SWAP4 PUSH1 0x44 RETURNDATASIZE ADD SWAP2 GAS STATICCALL SWAP2 MLOAD PUSH4 0xB135D3F PUSH1 0xE1 SHL EQ SWAP2 AND AND SWAP1 JUMP JUMPDEST SWAP8 SWAP7 POP POP SWAP1 POP DUP2 MLOAD DUP1 PUSH1 0x40 EQ PUSH2 0x1F0E JUMPI PUSH1 0x41 EQ PUSH2 0x1ED0 JUMPI POP POP POP POP JUMP JUMPDEST PUSH1 0x20 SWAP3 SWAP4 SWAP6 POP PUSH1 0x60 DUP3 ADD MLOAD PUSH1 0x0 BYTE DUP4 MSTORE PUSH1 0x40 DUP3 ADD MLOAD PUSH1 0x60 MSTORE JUMPDEST PUSH1 0x0 MSTORE ADD MLOAD PUSH1 0x40 MSTORE PUSH1 0x20 PUSH1 0x1 PUSH1 0x80 PUSH1 0x0 DUP3 GAS STATICCALL MLOAD XOR PUSH1 0x60 SHL RETURNDATASIZE GT SWAP2 PUSH1 0x0 PUSH1 0x60 MSTORE PUSH1 0x40 MSTORE JUMP JUMPDEST POP PUSH1 0x20 SWAP3 SWAP4 SWAP6 POP PUSH1 0x40 DUP3 ADD MLOAD PUSH1 0x1B DUP2 PUSH1 0xFF SHR ADD DUP5 MSTORE PUSH1 0x1 DUP1 PUSH1 0xFF SHL SUB AND PUSH1 0x60 MSTORE PUSH2 0x1EE9 JUMP JUMPDEST POP POP POP POP PUSH1 0x0 SWAP1 JUMP JUMPDEST SWAP1 PUSH2 0x484 PUSH1 0x1 PUSH1 0x2D PUSH1 0x40 MLOAD DUP1 SWAP6 PUSH13 0x1131B430B63632B733B2911D11 PUSH1 0x99 SHL PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1F72 DUP2 MLOAD DUP1 SWAP3 PUSH1 0x20 DUP7 DUP7 ADD SWAP2 ADD PUSH2 0xA0E JUMP JUMPDEST DUP2 ADD PUSH1 0x11 PUSH1 0xF9 SHL DUP4 DUP3 ADD MSTORE SUB ADD PUSH1 0x1E NOT DUP2 ADD DUP6 MSTORE ADD DUP4 PUSH2 0x44F JUMP JUMPDEST DUP1 MLOAD PUSH1 0x20 LT ISZERO PUSH2 0x1110 JUMPI PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST PUSH1 0x20 SWAP3 SWAP2 SWAP1 PUSH2 0x1FBF DUP5 SWAP3 DUP3 DUP2 MLOAD SWAP5 DUP6 SWAP3 ADD PUSH2 0xA0E JUMP JUMPDEST ADD SWAP1 DUP2 MSTORE ADD SWAP1 JUMP JUMPDEST SWAP1 DUP2 PUSH1 0x20 SWAP2 SUB SLT PUSH2 0x244 JUMPI MLOAD SWAP1 JUMP JUMPDEST SWAP3 SWAP2 SWAP1 PUSH1 0x0 SWAP4 PUSH1 0xA0 DUP3 ADD SWAP5 DUP6 MLOAD PUSH32 0x7FFFFFFF800000007FFFFFFFFFFFFFFFDE737D56D38BCF4279DCE5617E3192A8 LT PUSH2 0x21B3 JUMPI PUSH1 0x20 DUP4 ADD SWAP2 PUSH32 0xFF1A2A9176D650E4A99DEDB58F1793003935130579FE17B5A3F698AC5B00E634 PUSH2 0x2048 DUP5 MLOAD PUSH1 0x60 DUP8 ADD MLOAD PUSH2 0x2042 DUP2 PUSH2 0x12B7 JUMP JUMPDEST SWAP2 PUSH2 0x2340 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SUB PUSH2 0x21BC JUMPI PUSH2 0x2060 PUSH2 0x2065 SWAP2 PUSH2 0x21C6 JUMP JUMPDEST PUSH2 0x1F3C JUMP JUMPDEST PUSH2 0x207A DUP4 MLOAD PUSH1 0x40 DUP7 ADD MLOAD PUSH2 0x2042 DUP5 MLOAD DUP3 PUSH2 0x12D3 JUMP JUMPDEST PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SWAP1 PUSH1 0x20 DUP2 MLOAD SWAP2 ADD KECCAK256 SUB PUSH2 0x21B3 JUMPI PUSH1 0x1 PUSH1 0xF8 SHL PUSH1 0x1 PUSH1 0xF8 SHL PUSH2 0x20B3 PUSH2 0x20A5 DUP7 MLOAD PUSH2 0x1F8D JUMP JUMPDEST MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 JUMP JUMPDEST AND SUB PUSH2 0x21B3 JUMPI PUSH2 0x20D0 PUSH1 0x20 SWAP3 PUSH1 0x0 SWAP3 POP MLOAD PUSH1 0x40 MLOAD SWAP2 DUP3 DUP1 SWAP3 PUSH2 0xEAE JUMP JUMPDEST SUB SWAP1 PUSH1 0x2 GAS STATICCALL ISZERO PUSH2 0x21AE JUMPI PUSH1 0x20 PUSH1 0x0 PUSH2 0x2106 DUP2 MLOAD PUSH2 0x20FA DUP6 MLOAD PUSH2 0x225 PUSH1 0x40 MLOAD SWAP4 DUP5 SWAP3 DUP9 DUP5 ADD PUSH2 0x1FA9 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 DUP3 DUP1 SWAP3 PUSH2 0xEAE JUMP JUMPDEST SUB SWAP1 PUSH1 0x2 GAS STATICCALL ISZERO PUSH2 0x21AE JUMPI PUSH1 0x80 PUSH1 0x0 MLOAD SWAP2 ADD SWAP4 PUSH1 0x0 DUP1 DUP7 MLOAD DUP6 PUSH2 0x2159 DUP6 MLOAD PUSH2 0x225 DUP11 PUSH1 0x40 MLOAD SWAP5 DUP6 SWAP4 PUSH1 0x20 DUP6 ADD SWAP8 DUP13 DUP10 SWAP2 SWAP3 PUSH1 0x80 SWAP4 SWAP7 SWAP6 SWAP5 SWAP2 SWAP7 PUSH1 0xA0 DUP5 ADD SWAP8 DUP5 MSTORE PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE ADD MSTORE JUMP JUMPDEST MLOAD SWAP1 PUSH2 0x100 GAS STATICCALL SWAP5 PUSH2 0x2169 PUSH2 0x1329 JUMP JUMPDEST DUP1 MLOAD SWAP7 DUP1 PUSH2 0x21A5 JUMPI JUMPDEST PUSH2 0x2185 JUMPI POP PUSH2 0x4F3 SWAP6 POP MLOAD SWAP1 MLOAD SWAP2 PUSH2 0x222D JUMP JUMPDEST PUSH1 0x1 SWAP7 PUSH2 0x21A1 SWAP7 POP DUP2 ADD PUSH1 0x20 SWAP1 DUP2 ADD SWAP6 POP ADD SWAP3 POP PUSH2 0x1FC7 SWAP2 POP POP JUMP JUMPDEST EQ SWAP1 JUMP JUMPDEST POP DUP7 ISZERO ISZERO PUSH2 0x2172 JUMP JUMPDEST PUSH2 0x1F9D JUMP JUMPDEST SWAP5 POP POP POP POP POP SWAP1 JUMP JUMPDEST POP SWAP5 POP POP POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x4F3 SWAP2 PUSH2 0x21D8 PUSH1 0x60 DUP4 PUSH2 0x44F JUMP JUMPDEST PUSH1 0x40 DUP3 MSTORE PUSH32 0x4142434445464748494A4B4C4D4E4F505152535455565758595A616263646566 PUSH1 0x20 DUP4 ADD MSTORE PUSH32 0x6768696A6B6C6D6E6F707172737475767778797A303132333435363738392D5F PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x23EC JUMP JUMPDEST SWAP4 SWAP2 SWAP1 SWAP3 SWAP4 DUP4 ISZERO DUP1 ISZERO PUSH2 0x231D JUMPI JUMPDEST DUP1 ISZERO PUSH2 0x2315 JUMPI JUMPDEST DUP1 ISZERO PUSH2 0x22FD JUMPI JUMPDEST PUSH2 0x22F3 JUMPI PUSH2 0x2257 DUP4 DUP7 PUSH2 0x2494 JUMP JUMPDEST ISZERO PUSH2 0x22F3 JUMPI PUSH1 0x40 MLOAD SWAP2 PUSH1 0x20 DUP4 MSTORE PUSH1 0x20 DUP1 DUP5 ADD MSTORE PUSH1 0x20 PUSH1 0x40 DUP5 ADD MSTORE PUSH1 0x60 DUP4 ADD MSTORE PUSH32 0xFFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC63254F PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2EFF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0xA0 DUP4 ADD MSTORE PUSH1 0x20 DUP3 PUSH1 0xC0 DUP2 PUSH1 0x5 PUSH1 0x0 NOT STATICCALL ISZERO PUSH2 0x244 JUMPI PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2EFF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP5 PUSH2 0x22ED SWAP4 DUP7 PUSH2 0x22E7 SWAP5 MLOAD DUP2 DUP2 DUP10 MULMOD SWAP5 MULMOD SWAP2 PUSH2 0x256F JUMP JUMPDEST SWAP2 PUSH2 0xF20 JUMP JUMPDEST SWAP1 ADDMOD ISZERO SWAP1 JUMP JUMPDEST POP POP POP POP POP PUSH1 0x0 SWAP1 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2EFF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP3 LT ISZERO PUSH2 0x2249 JUMP JUMPDEST POP DUP2 ISZERO PUSH2 0x2242 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2EFF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP5 LT ISZERO PUSH2 0x223B JUMP JUMPDEST DUP2 PUSH1 0x40 MLOAD SWAP2 DUP3 CALLDATACOPY KECCAK256 SWAP1 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x60 SWAP5 SWAP4 SWAP3 SWAP1 DUP4 DUP2 GT ISZERO PUSH2 0x23B2 JUMPI JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x23AA JUMPI JUMPDEST POP DUP3 DUP2 LT PUSH2 0x2367 JUMPI POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP5 POP SWAP2 DUP3 SWAP1 SUB SWAP2 ADD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND JUMPDEST DUP2 DUP2 ADD MLOAD DUP6 DUP3 ADD MSTORE PUSH1 0x1F NOT ADD SWAP1 DUP2 ISZERO PUSH2 0x2394 JUMPI SWAP1 PUSH2 0x237B JUMP JUMPDEST POP POP PUSH1 0x40 DUP2 DUP5 ADD PUSH1 0x0 PUSH1 0x20 DUP3 ADD MSTORE ADD PUSH1 0x40 MSTORE DUP3 MSTORE JUMP JUMPDEST SWAP1 POP CODESIZE PUSH2 0x235A JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x2351 JUMP JUMPDEST SWAP1 PUSH2 0x23C4 DUP3 PUSH2 0x486 JUMP JUMPDEST PUSH2 0x23D1 PUSH1 0x40 MLOAD SWAP2 DUP3 PUSH2 0x44F JUMP JUMPDEST DUP3 DUP2 MSTORE DUP1 SWAP3 PUSH2 0x23E2 PUSH1 0x1F NOT SWAP2 PUSH2 0x486 JUMP JUMPDEST ADD SWAP1 PUSH1 0x20 CALLDATASIZE SWAP2 ADD CALLDATACOPY JUMP JUMPDEST SWAP1 DUP2 MLOAD ISZERO PUSH2 0x248A JUMPI SWAP1 PUSH2 0x2419 PUSH2 0x2414 PUSH2 0x240D PUSH2 0x2408 DUP5 MLOAD PUSH2 0x1C34 JUMP JUMPDEST PUSH2 0x12C5 JUMP JUMPDEST PUSH1 0x3 SWAP1 DIV SWAP1 JUMP JUMPDEST PUSH2 0x23BA JUMP JUMPDEST SWAP2 PUSH1 0x20 DUP4 ADD SWAP1 DUP3 DUP1 MLOAD ADD SWAP1 PUSH1 0x20 DUP3 ADD SWAP3 DUP4 MLOAD SWAP5 PUSH1 0x0 DUP6 MSTORE JUMPDEST DUP4 DUP2 LT PUSH2 0x2440 JUMPI POP POP POP POP MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x4 SWAP2 ADD SWAP2 PUSH1 0x1 PUSH1 0x3F DUP5 MLOAD DUP3 DUP3 DUP3 PUSH1 0x12 SHR AND DUP9 ADD ADD MLOAD DUP5 MSTORE8 DUP3 DUP3 DUP3 PUSH1 0xC SHR AND DUP9 ADD ADD MLOAD DUP4 DUP6 ADD MSTORE8 DUP3 DUP3 DUP3 PUSH1 0x6 SHR AND DUP9 ADD ADD MLOAD PUSH1 0x2 DUP6 ADD MSTORE8 AND DUP6 ADD ADD MLOAD PUSH1 0x3 DUP3 ADD MSTORE8 ADD SWAP1 PUSH2 0x2431 JUMP JUMPDEST POP POP PUSH2 0x4F3 PUSH2 0x1314 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 LT DUP1 ISZERO SWAP1 PUSH2 0x2557 JUMPI JUMPDEST DUP1 ISZERO PUSH2 0x2546 JUMPI JUMPDEST PUSH2 0x253F JUMPI PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH32 0x5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B SWAP1 DUP3 SWAP1 DUP2 PUSH32 0xFFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC DUP3 MULMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 DUP2 DUP1 MULMOD MULMOD ADDMOD ADDMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP1 MULMOD EQ SWAP1 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP1 JUMP JUMPDEST POP DUP1 ISZERO DUP1 ISZERO PUSH2 0x24B4 JUMPI POP DUP2 ISZERO PUSH2 0x24B4 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP3 LT ISZERO PUSH2 0x24AD JUMP JUMPDEST SWAP1 SWAP3 PUSH1 0x0 SWAP3 SWAP1 DUP4 PUSH1 0xFF DUP2 DUP5 ISZERO DUP1 PUSH2 0x2B66 JUMPI JUMPDEST PUSH2 0x2B5B JUMPI PUSH2 0x258F DUP9 DUP8 PUSH2 0x2B6E JUMP JUMPDEST SWAP3 SWAP1 SWAP2 DUP3 ISZERO DUP1 PUSH2 0x2B53 JUMPI JUMPDEST PUSH2 0x2B18 JUMPI JUMPDEST POP DUP6 DUP2 SHR PUSH1 0x2 DUP7 PUSH1 0xFE SHR AND ADD JUMPDEST ISZERO PUSH2 0x2AFF JUMPI PUSH1 0x1 DUP7 DUP3 SHR AND PUSH1 0x2 DUP7 DUP4 SHR PUSH1 0x1 SHL AND ADD PUSH1 0x1 DUP2 EQ PUSH2 0x2AB4 JUMPI JUMPDEST PUSH1 0x2 DUP2 EQ PUSH2 0x2AA7 JUMPI JUMPDEST PUSH1 0x3 EQ PUSH2 0x2A9A JUMPI JUMPDEST PUSH1 0x1 SWAP9 PUSH1 0x0 NOT SWAP2 SWAP1 SWAP2 ADD SWAP7 SWAP5 SWAP6 SWAP5 DUP10 SWAP5 SWAP4 SWAP3 SWAP2 JUMPDEST DUP9 PUSH1 0x0 NOT GT PUSH2 0x266D JUMPI POP POP POP POP POP POP POP POP POP PUSH1 0x40 MLOAD SWAP2 PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x20 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD MSTORE PUSH1 0x20 PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH1 0x60 SHL SUB PUSH1 0x60 SHL NOT PUSH1 0xA0 DUP4 ADD MSTORE PUSH1 0x20 DUP3 PUSH1 0xC0 DUP2 PUSH1 0x5 PUSH1 0x0 NOT STATICCALL ISZERO PUSH2 0x244 JUMPI SWAP1 MLOAD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD SWAP1 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 SWAP6 SWAP7 SWAP8 SWAP9 PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH1 0x60 SHL SUB PUSH1 0x60 SHL NOT DUP7 PUSH1 0x2 MULMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP3 DUP1 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 DUP4 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP3 SWAP1 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 SWAP1 DUP16 DUP3 DUP2 DUP4 ADDMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SUB SWAP1 ADDMOD MULMOD PUSH1 0x3 MULMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP4 MULMOD SWAP13 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP3 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP12 DUP1 MULMOD ADDMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SWAP1 DUP2 SUB DUP12 ADDMOD SWAP1 MULMOD SWAP7 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP9 SWAP1 DUP3 SWAP1 DUP5 MULMOD ADDMOD SWAP7 DUP12 PUSH1 0x2 DUP13 PUSH1 0x1 DUP14 DUP5 SHR AND SWAP3 SHR PUSH1 0x1 SHL AND ADD DUP1 ISZERO PUSH2 0x2A7D JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x2A32 JUMPI JUMPDEST PUSH1 0x2 DUP2 EQ PUSH2 0x2A27 JUMPI JUMPDEST PUSH1 0x3 EQ PUSH2 0x2A1E JUMPI JUMPDEST DUP3 ISZERO PUSH2 0x2A0B JUMPI PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP9 SWAP1 DUP3 SWAP1 DUP16 SWAP1 MULMOD ADDMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP10 DUP3 SUB SWAP1 DUP3 SWAP1 DUP6 SWAP1 MULMOD ADDMOD SWAP8 DUP2 ISZERO PUSH2 0x28D1 JUMPI JUMPDEST PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP10 DUP1 MULMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP11 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP11 SWAP1 MULMOD SWAP13 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP5 SWAP1 MULMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP3 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP6 DUP2 SUB DUP2 DUP7 DUP1 MULMOD ADDMOD ADDMOD SWAP8 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP4 DUP5 SWAP2 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SWAP1 DUP11 DUP3 SUB SWAP1 ADDMOD MULMOD ADDMOD SWAP5 SWAP9 JUMPDEST PUSH1 0x0 NOT ADD SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x25EF JUMP JUMPDEST DUP9 PUSH2 0x27F4 JUMPI SWAP11 SWAP2 SWAP8 POP SWAP1 SWAP6 SWAP1 POP PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD SWAP11 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP13 DUP1 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 DUP14 MULMOD SWAP13 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP3 SWAP1 MULMOD SWAP12 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 DUP12 DUP2 SUB DUP3 ADDMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP13 SWAP1 ADDMOD MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH1 0x3 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP14 MULMOD SWAP9 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD SWAP12 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP3 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP5 DUP1 MULMOD ADDMOD SWAP12 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP4 DUP5 SWAP2 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SWAP1 DUP15 DUP3 SUB SWAP1 ADDMOD SWAP1 MULMOD ADDMOD SWAP5 PUSH2 0x28C0 JUMP JUMPDEST PUSH1 0x1 SWAP13 POP SWAP1 SWAP11 DUP13 SWAP9 POP SWAP1 SWAP7 POP SWAP1 POP PUSH2 0x28C0 JUMP JUMPDEST POP POP DUP4 DUP6 PUSH2 0x27B3 JUMP JUMPDEST DUP6 SWAP3 POP DUP5 SWAP2 POP PUSH2 0x27AB JUMP JUMPDEST PUSH32 0x6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296 SWAP3 POP PUSH32 0x4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5 SWAP2 POP PUSH2 0x27A2 JUMP JUMPDEST POP POP POP SWAP10 SWAP6 SWAP9 SWAP5 PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH1 0x60 SHL SUB PUSH1 0x60 SHL NOT SUB SWAP5 PUSH2 0x28C0 JUMP JUMPDEST SWAP3 POP DUP1 SWAP7 POP SWAP6 DUP2 SWAP3 PUSH2 0x25DB JUMP JUMPDEST SWAP7 SWAP8 POP DUP8 SWAP7 DUP10 SWAP5 POP PUSH2 0x25D3 JUMP JUMPDEST PUSH32 0x6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296 SWAP9 POP PUSH32 0x4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5 SWAP5 POP PUSH2 0x25CA JUMP JUMPDEST PUSH1 0x0 NOT ADD PUSH1 0x1 DUP7 DUP3 SHR AND PUSH1 0x2 DUP7 DUP4 SHR PUSH1 0x1 SHL AND ADD PUSH2 0x25AC JUMP JUMPDEST SWAP5 SWAP6 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2EFF DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP2 SWAP7 DUP3 SUB SWAP1 ADDMOD SWAP5 DUP5 DUP7 ISZERO DUP1 PUSH2 0x2B4B JUMPI JUMPDEST ISZERO PUSH2 0x259F JUMPI SWAP9 POP POP POP POP POP POP POP POP POP SWAP1 JUMP JUMPDEST POP PUSH1 0x1 PUSH2 0x2B39 JUMP JUMPDEST POP DUP4 ISZERO PUSH2 0x259A JUMP JUMPDEST SWAP7 POP POP POP POP POP POP POP SWAP1 JUMP JUMPDEST POP DUP4 ISZERO PUSH2 0x2581 JUMP JUMPDEST SWAP2 SWAP1 PUSH32 0x6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296 PUSH32 0x4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5 SWAP2 DUP1 ISZERO PUSH2 0x2D22 JUMPI DUP5 PUSH2 0xC5A SWAP5 SWAP6 DUP4 EQ DUP1 PUSH2 0x2D19 JUMPI JUMPDEST ISZERO PUSH2 0x2D04 JUMPI POP PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 POP DUP3 PUSH1 0x2 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP2 DUP1 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP5 DUP5 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP6 SWAP1 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 SWAP1 DUP2 PUSH1 0x1 DUP3 ADDMOD SWAP1 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH32 0xFFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFE SWAP1 ADDMOD MULMOD PUSH1 0x3 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP5 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP4 DUP1 MULMOD ADDMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT PUSH1 0x1 DUP7 MULMOD SWAP6 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH1 0x1 SWAP1 MULMOD SWAP5 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP4 DUP5 SWAP2 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 SUB SWAP3 SWAP1 SWAP2 DUP3 SWAP1 DUP7 DUP3 SUB SWAP1 ADDMOD SWAP1 MULMOD ADDMOD SWAP1 PUSH2 0x2E44 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 PUSH2 0x2D10 SWAP4 PUSH2 0x2D28 JUMP JUMPDEST SWAP3 SWAP1 SWAP2 SWAP1 PUSH2 0x2E44 JUMP JUMPDEST POP DUP2 DUP5 EQ PUSH2 0x2BC7 JUMP JUMPDEST POP SWAP3 POP SWAP1 JUMP JUMPDEST SWAP2 SWAP4 SWAP1 DUP1 ISZERO PUSH2 0x2E3B JUMPI PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP2 SUB SWAP4 DUP5 SWAP1 DUP3 SWAP1 PUSH1 0x1 SWAP1 MULMOD ADDMOD SWAP4 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP4 DUP3 SUB SWAP1 DUP3 SWAP1 PUSH1 0x1 SWAP1 MULMOD ADDMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP5 DUP1 MULMOD SWAP4 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP6 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP6 SWAP1 MULMOD SWAP5 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP1 DUP8 PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT DUP7 DUP2 SUB DUP2 DUP6 DUP1 MULMOD ADDMOD ADDMOD SWAP6 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP3 DUP4 SWAP1 DUP7 SWAP1 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 DUP3 SWAP1 DUP10 DUP3 SUB SWAP1 ADDMOD MULMOD ADDMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH1 0x1 MULMOD SWAP2 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 PUSH1 0x1 MULMOD SWAP1 JUMP JUMPDEST POP PUSH1 0x1 SWAP2 POP DUP2 SWAP1 JUMP JUMPDEST SWAP2 SWAP1 SWAP3 PUSH1 0x40 MLOAD SWAP1 PUSH1 0x20 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD MSTORE PUSH1 0x20 PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x2 PUSH1 0x1 PUSH1 0x60 SHL SUB PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH1 0x60 SHL SUB PUSH1 0x60 SHL NOT PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0x20 DUP2 PUSH1 0xC0 DUP2 PUSH1 0x5 PUSH1 0x0 NOT STATICCALL ISZERO PUSH2 0x244 JUMPI MLOAD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP1 DUP5 SWAP1 MULMOD SWAP3 PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 MULMOD PUSH1 0x1 PUSH1 0x60 SHL PUSH4 0xFFFFFFFF PUSH1 0xC0 SHL SUB NOT SWAP2 SWAP1 DUP3 SWAP1 DUP1 MULMOD SWAP1 MULMOD SWAP2 JUMP INVALID MOD 0x27 0xF7 0x2A CREATE 0xE6 DELEGATECALL SLT NOT JUMPDEST 0xD DUP11 0xCB 0xE4 CODESIZE 0xB2 DUP1 SWAP1 0xDD SLOAD JUMPDEST PUSH30 0x2331FCCF77723561F500FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAAD 0xA7 OR SWAP15 DUP5 RETURN 0xB9 0xCA 0xC2 0xFC PUSH4 0x25513608 SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBC0627F72AF0E6F412195B0D DUP11 0xCB 0xE4 CODESIZE 0xB2 DUP1 SWAP1 0xDD SLOAD JUMPDEST PUSH30 0x2331FCCF77723561F501A2646970667358221220890C9D20B5FC4DF99BDE 0xD2 SLOAD BLOBHASH SLT ISZERO DUP11 SAR SWAP4 EXTCODEHASH AND DUP15 0x2E DUP5 RETURNDATASIZE 0xC BYTE ISZERO LOG2 SELFDESTRUCT ORIGIN 0xCE DUP13 PUSH5 0x736F6C6343 STOP ADDMOD SHR STOP CALLER ", + "sourceMap": "1195:14720:16:-:0;;;;;;;;;-1:-1:-1;1195:14720:16;1266:232:7;1195:14720:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1195:14720:16;;;;;;;;;6785:16:18;1195:14720:16;;;6785:16:18;1195:14720:16;;6785:16:18;;;;;;1195:14720:16;;;;;;;;;;;;;;;6785:16:18;;;;;;;;;;:::i;:::-;1195:14720:16;:::i;:::-;;;;;;;;;;;;-1:-1:-1;1195:14720:16;;;;;;;;-1:-1:-1;;1195:14720:16;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;1195:14720:16;;;;;:::o;:::-;;;;;;-1:-1:-1;;1195:14720:16;;;;4296:42:18;1195:14720:16;;;;;:::i;:::-;4008:70:18;;:::i;:::-;1195:14720:16;;;;;;;;;;4277:17:18;;1195:14720:16;;4277:17:18;;;1195:14720:16;4277:17:18;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1195:14720:16;4296:42:18;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1195:14720:16;4296:42:18;:::i;:::-;1195:14720:16;;;;;;;;;;;;;;-1:-1:-1;;;;;1195:14720:16;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1195:14720:16;;;;;;;;-1:-1:-1;;;;;1195:14720:16;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;-1:-1:-1;;;;;;1195:14720:16;;;;;;;;;;;;-1:-1:-1;;1195:14720:16;;;;;;;437:10:14;1195:14720:16;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1195:14720:16;;;;;;-1:-1:-1;;;;;1195:14720:16;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;3825:10:16;:26;3821:78;;7285:1698;;;1195:14720;7285:1698;;:::i;:::-;4845:275;;;1195:14720;-1:-1:-1;1195:14720:16;;;;;;;;;;;;;;;;;4845:275;-1:-1:-1;4845:275:16;;;;3825:10;;4845:275;;;;;;3821:78;3874:14;;;-1:-1:-1;3874:14:16;1195:14720;-1:-1:-1;3874:14:16;1195:14720;;;;;;;;;;;;;;;6785:16:18;;1195:14720:16;;;;;;;;-1:-1:-1;;;;;1195:14720:16;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;:::i;:::-;:::o;:::-;-1:-1:-1;;;;;1195:14720:16;;;;;;-1:-1:-1;;1195:14720:16;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;1195:14720:16;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;-1:-1:-1;;1195:14720:16;;;;;;-1:-1:-1;;;;;1195:14720:16;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1195:14720:16;;;;4630:42:18;1195:14720:16;;4612:16:18;1195:14720:16;;4008:70:18;;:::i;:::-;1195:14720:16;;;;4612:16:18;;1195:14720:16;;;;;;;;;;;;;;4612:16:18;1195:14720:16;;;;-1:-1:-1;;1195:14720:16;;;;;;;-1:-1:-1;;;;;1195:14720:16;;;;;;-1:-1:-1;1195:14720:16;;;;;;;;;;;;-1:-1:-1;;;;;1195:14720:16;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;3825:10;11195:42;3825:10;:26;3821:78;;-1:-1:-1;9796:3:16;9778:16;;;;;;-1:-1:-1;1195:14720:16;;;;;;;;:::i;:::-;9877:12;;;;:::i;:::-;9908:34;;;:::i;:::-;9907:35;9903:109;;1195:14720;;;;;;;;:::i;:::-;13525:31;;;;;10040:4;;13525:31;;;;:::i;:::-;13570:8;;13566:133;;9796:3;1195:14720;;9767:9;;13566:133;13525:31;13594:95;;;;;9903:109;-1:-1:-1;;;9969:28:16;;-1:-1:-1;;;;;;1195:14720:16;;;;9969:28;;1195:14720;;;;:::i;:::-;4078:10;11195:42;4078:10;:26;4074:70;;1195:14720;-1:-1:-1;10886:16:16;;;;;;1195:14720;10904:3;10929:8;10923:53;10929:8;1195:14720;10929:8;;;;:::i;:::-;1195:14720;;;;:::i;:::-;10946:14;:8;;;;;:::i;:::-;:14;1195:14720;;10962:13;:8;;;;;:::i;:::-;:13;;;;;:::i;:::-;1195:14720;;;:::i;:::-;10923:53;;:::i;:::-;1195:14720;10875:9;;4074:70;;;:::i;:::-;;;1195:14720;;;;;;-1:-1:-1;;1195:14720:16;;;;;-1:-1:-1;;;;;;;;;;;1195:14720:16;;;;;;;;;;-1:-1:-1;;1195:14720:16;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1195:14720:16;;;;;;;;;;;:::i;:::-;3080:19:8;;2661:6;2687:4;2661:32;3076:57;;4008:70:18;;:::i;:::-;1195:14720:16;;;;;3828:1370:13;;-1:-1:-1;3828:1370:13;;;;-1:-1:-1;;;;;;;;;;;1195:14720:16;3828:1370:13;1195:14720:16;3828:1370:13;;;;;;;;;;-1:-1:-1;3828:1370:13;;;;-1:-1:-1;;;;;;;;;;;3828:1370:13;;;1195:14720:16;3828:1370:13;;-1:-1:-1;3828:1370:13;1195:14720:16;3828:1370:13;;;;;;;;;;;;1195:14720:16;3828:1370:13;;-1:-1:-1;3828:1370:13;;;;;;;;;1195:14720:16;3828:1370:13;;3076:57:8;4365:120;-1:-1:-1;4365:120:8;1195:14720:16;4365:120:8;;1195:14720:16;;;;;;-1:-1:-1;;1195:14720:16;;;;2687:4:8;2661:6;:32;3340:58;;1195:14720:16;;;-1:-1:-1;;;;;;;;;;;1195:14720:16;;;;;;;;;-1:-1:-1;;1195:14720:16;;;;-1:-1:-1;;;;;;;;;;;12045:73:16;1195:14720;;-1:-1:-1;;;;;1195:14720:16;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1195:14720:16;5870:21;;5866:72;;1195:14720;;;;;:::i;:::-;8939:42:18;-1:-1:-1;9026:3:18;1195:14720:16;;9007:17:18;;;;;9069:2;9049:9;;;;:::i;:::-;;1195:14720:16;9049:22:18;;:48;;;9026:3;9045:128;;9069:2;9191:9;;;;:::i;:::-;;1195:14720:16;9191:22:18;:73;;;9026:3;9187:157;;9375:9;9386:17;9375:9;1195:14720:16;9375:9:18;;;:::i;:::-;;9386:17;;;;:::i;:::-;;;:::i;:::-;1195:14720:16;8996:9:18;;9187:157;9319:9;9291:38;9319:9;;;:::i;:::-;;1195:14720:16;;-1:-1:-1;;;9291:38:18;;1195:14720:16;;;;9291:38:18;;;:::i;:::-;;;;9191:73;-1:-1:-1;;;;;;9225:18:18;9233:9;;;;:::i;:::-;;9225:18;:::i;:::-;9217:47;9191:73;;9045:128;9148:9;9124:34;9148:9;;;:::i;:::-;;1195:14720:16;;-1:-1:-1;;;9124:34:18;;1195:14720:16;;;;9124:34:18;;;:::i;9049:48::-;9075:9;9095:2;9075:9;;;;:::i;:::-;;1195:14720:16;9075:22:18;;9049:48;;9007:17;9424:34;9007:17;-1:-1:-1;;;;;;;;;;;1195:14720:16;;5866:72;5914:13;;;-1:-1:-1;5914:13:16;1195:14720;-1:-1:-1;5914:13:16;1195:14720;;;;;;;;-1:-1:-1;;1195:14720:16;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;1195:14720:16;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1195:14720:16;;;;;;-1:-1:-1;;;;;1195:14720:16;;;;;;;;;;;;;;;;;668:13:14;;;1195:14720:16;668:33:14;;;:::i;:::-;704:15;-1:-1:-1;664:157:14;;939:55;4299:17:15;855:68:14;938:56;855:68;;:::i;:::-;1195:14720:16;;;;;845:79:14;4299:17:15;:::i;:::-;979:14:14;;;;;;:::i;:::-;939:55;;:::i;:::-;938:56;;1195:14720:16;938:56:14;934:112;;-1:-1:-1;1093:11:14;1116:9;1093:11;1116:9;1093:11;;;;:::i;:::-;1116:9;;;;:::i;:::-;1195:14720:16;;668:13:14;1195:14720:16;;;;;;:::i;:::-;1093:33:14;;;;;;:::i;:::-;1140:8;;1136:117;;1195:14720:16;;668:13:14;1195:14720:16;;;;;;:::i;934:112:14:-;1017:18;;;-1:-1:-1;1017:18:14;1195:14720:16;-1:-1:-1;1017:18:14;664:157;759:33;742:68;759:33;;:::i;:::-;-1:-1:-1;;;;742:68:14;1195:14720:16;;704:15:14;1195:14720:16;;;;;742:68:14;-1:-1:-1;742:68:14;1195:14720:16;;;;;;-1:-1:-1;;1195:14720:16;;;;;;2558:23:15;;:::i;:::-;1195:14720:16;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;2601:13:15;1195:14720:16;;;;2652:4:15;1195:14720:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1195:14720:16;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1195:14720:16;;;;;;;2660:4;1195:14720;;;;;;-1:-1:-1;;1195:14720:16;;;;;;;;;;;-1:-1:-1;;;;;1195:14720:16;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;:::i;:::-;4008:70:18;;;:::i;:::-;5200:1;5184:12;;:::i;:::-;:17;5180:66;;5283:5;;;:::i;5180:66::-;5224:11;;;;;1195:14720:16;5224:11:18;;1195:14720:16;;;;;;-1:-1:-1;;1195:14720:16;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1195:14720:16;;;;;;-1:-1:-1;;;;;;1195:14720:16;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;1195:14720:16;;;;;;-1:-1:-1;;;;;1195:14720:16;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1195:14720:16;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1195:14720:16;;;;;;;11195:42;1195:14720;;;;;;-1:-1:-1;;1195:14720:16;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;1195:14720:16;;;;;;10519:26;1195:14720;;;;;;:::i;:::-;11195:42;4078:10;:26;4074:70;;1195:14720;;;:::i;4074:70::-;;;:::i;:::-;;;1195:14720;;;;;;;:::i;:::-;4008:70:18;;;:::i;:::-;5864:12;;:::i;:::-;5890:19;5908:1;5890:19;;5886:86;;6009:5;;;;:::i;5886:86::-;5932:29;;;;;;1195:14720:16;;;5932:29:18;;1195:14720:16;;;;;;-1:-1:-1;;1195:14720:16;;;;;4299:17:15;1195:14720:16;;4299:17:15;:::i;1195:14720:16:-;;;;;;-1:-1:-1;;1195:14720:16;;;;;-1:-1:-1;;;;;;;;;;;1195:14720:16;;;;;;;;;;;;;-1:-1:-1;;1195:14720:16;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;6751:33:18;1195:14720:16;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1195:14720:16;;-1:-1:-1;;;;;;;;;;;1195:14720:16;;;;:::o;:::-;;:::i;7950:190:18:-;-1:-1:-1;;;;;;;;;;;1195:14720:16;-1:-1:-1;;;;;;;;;;;1195:14720:16;;;;;;;;7950:190:18;:::o;1195:14720:16:-;-1:-1:-1;;1195:14720:16;;;;;;;:::o;3391:339:15:-;;4299:17;3515:69;3391:339;;4299:17;:::i;:::-;3515:69;:::i;:::-;3511:185;;-1:-1:-1;;;;;;1195:14720:16;3391:339:15:o;3511:185::-;-1:-1:-1;;;1195:14720:16;3668:17:15:o;1195:14720:16:-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1195:14720:16;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;;;;;;1195:14720:16;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;1195:14720:16;;;;;;;;;;;;;-1:-1:-1;1195:14720:16:o;:::-;;;;;;7975:1;1195:14720;;;;;;;7975:1;1195:14720;;-1:-1:-1;;1195:14720:16;;:::o;:::-;;;;;-1:-1:-1;;;;;1195:14720:16;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;;;1195:14720:16;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1195:14720:16;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;;1195:14720:16;;;;;;;;;;;;:::o;7285:1698::-;;7546:12;;;1195:14720;;;7586:15;;;;;;;;;:::i;:::-;-1:-1:-1;;;1195:14720:16;-1:-1:-1;;;;;;1195:14720:16;7579:23;;;:::i;:::-;1195:14720;7579:72;1195:14720;;7680:35;;;;:::i;:::-;7733:27;2660:4;7733:27;;7729:93;;7959:15;:19;:15;7948:42;7959:15;;;:::i;:::-;:19;;;:::i;:::-;7948:42;;;;:::i;:::-;8009:9;-1:-1:-1;8038:3:16;1195:14720;;8020:16;;;;;8085:8;;;;:::i;:::-;;-1:-1:-1;;;8168:53:16;8129:16;8085:8;8129:16;:::i;:::-;-1:-1:-1;;;;;;1195:14720:16;;;8168:53;;8164:462;;8038:3;;1195:14720;;8009:9;;8164:462;8292:207;;;8524:29;;8164:462;8520:87;-1:-1:-1;;;;8567:40:16;-1:-1:-1;;;;;1195:14720:16;7975:1;1195:14720;;-1:-1:-1;742:68:14;8020:16:16;;;;8851:47;8020:16;;8881;8020;7575:1198;8881:16;;;;;:::i;8851:47::-;8847:86;;8975:1;7285:1698;:::o;8847:86::-;8921:1;8914:8;:::o;7729:93::-;-1:-1:-1;;;7787:20:16;;8728;1195:14720;;-1:-1:-1;742:68:14;7575:1198:16;8674:27;;;2660:4;8674:27;;;;;8670:93;;7575:1198;;8881:16;8851:47;7575:1198;;;7052:145:18;1195:14720:16;;7052:145:18;1195:14720:16;:::i;:::-;;;7052:145:18;:::o;1195:14720:16:-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;:::i;:::-;;437:10:14;1195:14720:16;;;;;;;:::o;:::-;;7261:2:20;1195:14720:16;;;;;;;:::o;:::-;;2566:1:6;1195:14720:16;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::o;:::-;;;;;;;;:::i;:::-;1530:1:6;1195:14720:16;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;1195:14720:16;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;7406:149:18;-1:-1:-1;1195:14720:16;7503:38:18;1195:14720:16;;;-1:-1:-1;1195:14720:16;;;;;-1:-1:-1;1195:14720:16;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;1195:14720:16;;;;;-1:-1:-1;1195:14720:16;;-1:-1:-1;1195:14720:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12420:546;1195:14720;;;;12553:39;;;12533:59;;:132;;;;;12420:546;12533:208;;;;12420:546;12533:281;;;;12420:546;12533:358;;;;12420:546;12516:422;;;1195:14720;12420:546;:::o;12516:422::-;12923:4;12916:11;:::o;12533:358::-;-1:-1:-1;;;12830:61:16;;-1:-1:-1;12533:358:16;;;:281;-1:-1:-1;;;12757:57:16;;;-1:-1:-1;12533:281:16;;:208;-1:-1:-1;;;12681:60:16;;;-1:-1:-1;12533:208:16;;:132;-1:-1:-1;;;12608:57:16;;;-1:-1:-1;12533:132:16;;11638:202;1938:12:1;;;1195:14720:16;2342:180:1;1998:15;;;;;;:::i;:::-;2961:193:0;;1998:15:1;2961:193:0;;;;;2062:15:1;2342:180;2062:15;;;;;;:::i;:::-;2961:193:0;;1998:15:1;2961:193:0;;;;;2230:14:1;;;1195:14720:16;2177:25:1;;;1195:14720:16;2115:23:1;;;1195:14720:16;2285:39:1;2300:23;;;;2115;2300;:::i;:::-;2285:39;;:::i;:::-;1998:15;1195:14720:16;;823:61:1;;-1:-1:-1;;;;;1195:14720:16;1938:12:1;2342:180;;1195:14720:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2342:180:1;1195:14720:16;;;;;;;;2342:180:1;1195:14720:16;4962:25:1;;1998:15;1195:14720:16;;1938:12:1;11777:55:16;;1195:14720;;;11195:42;1195:14720;;;;;;;11777:55;1195:14720;;;;11777:55;1195:14720;11777:55;1195:14720;11767:66;;11638:202;:::o;6239:154:18:-;1195:14720:16;;6239:154:18;1195:14720:16;;;;;;;;;6366:19:18;;;1195:14720:16;6366:19:18;;;;1195:14720:16;6366:19:18;;:::i;4641:475:15:-;4754:23;;:::i;:::-;1195:14720:16;;;;;;4958:22:15;1195:14720:16;;;;;;4998:25:15;1195:14720:16;;4817:282:15;1195:14720:16;4817:282:15;;1195:14720:16;4845:95:15;1195:14720:16;;;;;;;;;;5041:13:15;1195:14720:16;;;;5080:4:15;1195:14720:16;;;;;4817:282:15;;;;;;:::i;1579:906:7:-;1757:663;;;;;;;;;;;;;;;;;1372:120;1757:663;1372:120;;;;1757:663;;;;;;11120:189:18;11179:26;11194:10;11179:26;:::i;:::-;:59;;;;11120:189;11175:96;;3874:14:16;;;11288::18;;;;;11179:59;11232:4;;11194:10;11210:27;11179:59;;1195:14720:16;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;1195:14720:16;;-1:-1:-1;1195:14720:16;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;1195:14720:16;;;;9704:324:18;9796:19;;;:::i;:::-;9792:51;;1195:14720:16;;;:::i;:::-;9940:4:18;1195:14720:16;;;;;;;;;;;9954:14:18;1195:14720:16;;;;;;;-1:-1:-1;;;;;1195:14720:16;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;9999:22:18;1195:14720:16;;9999:22:18;1195:14720:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;9999:22:18;;;;;:::i;:::-;;;;9704:324::o;1195:14720:16:-;;;;;;;;;;6785:16:18;;1195:14720:16;;;;;;;;;;;;;;;;;;;;;;;9999:22:18;1195:14720:16;;9940:4:18;1195:14720:16;;9999:22:18;1195:14720:16;;;;;;;;;;;;;;;;;;;;;;;9921:9:18;1195:14720:16;;;;;;;;;;;;;;;9940:4:18;1195:14720:16;;;;;;;;;;;;;;;9792:51:18;1195:14720:16;;-1:-1:-1;;;9824:19:18;;1195:14720:16;;;9824:19:18;;;;;;:::i;1195:14720:16:-;;;;;;;;;;;-1:-1:-1;;;;;1195:14720:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1195:14720:16;;;;;;;;;-1:-1:-1;;;;;1195:14720:16;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;1195:14720:16;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;1195:14720:16;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;1195:14720:16;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;1195:14720:16;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;13997:1449::-;;;;14157:41;13997:1449;14157:41;;;;:::i;:::-;14234:21;;;14349:24;14348:25;14349:24;;;:::i;14348:25::-;14344:68;;14447:2;1195:14720;;14426:23;14422:604;;1195:14720;;15040:23;15061:2;15040:23;;15036:351;;15061:2;1195:14720;-1:-1:-1;;;15404:35:16;;1195:14720;15404:35;1195:14720;15404:35;;;;:::i;15036:351::-;15308:16;;15197:61;15104:42;;14447:2;15104:42;;;;15280:96;15104:42;;;;;;:::i;:::-;15208:24;;;;;14447:2;1195:14720;;;15197:61;;;;;;:::i;:::-;1195:14720;15061:2;1195:14720;15308:16;;;14447:2;15308:16;;1195:14720;;;;;;;;15308:16;15280:96;:::i;14422:604::-;1195:14720;;;;;-1:-1:-1;;;;;14477:19:16;1195:14720;14477:19;:::i;:::-;14469:48;14465:318;;14447:2;14824:92;14937:78;14824:92;;;;14990:24;;;14937:78;;:::i;14465:318::-;1195:14720;;-1:-1:-1;;;14729:39:16;;1195:14720;14729:39;1195:14720;14729:39;;;;:::i;14344:68::-;14389:12;;;;1195:14720;14389:12;:::o;13403:302::-;;13525:31;13403:302;;;13525:31;;;;;;;;;;:::i;:::-;13570:8;;13566:133;;13403:302;:::o;15758:155::-;1195:14720;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;1195:14720:16;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;1195:14720:16;;;;15758:155;:::o;1195:14720::-;;;;;;;;;;;;;-1:-1:-1;1195:14720:16;;;;;;;;-1:-1:-1;;1195:14720:16;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;10808:9:18;1195:14720:16;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;1195:14720:16;;;;;:::o;:::-;;;;;:::i;:::-;;;;;;;:::o;:::-;;;-1:-1:-1;1195:14720:16;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::i;10367:575:18:-;;;10482:19;;;:::i;:::-;1195:14720:16;;10515:18:18;10511:52;;1195:14720:16;;;;;10577:17:18;1195:14720:16;;;;;:::i;:::-;;;;;;10598:16:18;10577:37;10573:151;;1195:14720:16;;;;;;10910:25:18;1195:14720:16;;:::i;:::-;;;-1:-1:-1;;1195:14720:16;;;;;10834:28:18;10841:21;;1195:14720:16;;10841:14:18;1195:14720:16;;;;;;;10841:21:18;10834:28;:::i;:::-;10872:22;;-1:-1:-1;;;;;;;;;;;1195:14720:16;10872:22:18;:::i;:::-;-1:-1:-1;;;;;;;;;;;1195:14720:16;;10872:22:18;10910:25;1195:14720:16;;10910:25:18;;;;;:::i;10573:151::-;1195:14720:16;;-1:-1:-1;;;10637:76:18;;1195:14720:16;;;10637:76:18;;1195:14720:16;;10637:76:18;;;;:::i;10511:52::-;-1:-1:-1;;;10532:1:18;10542:21;8728:20:16;1195:14720;;;;-1:-1:-1;742:68:14;5590:176:15;5721:17;;:::i;:::-;1195:14720:16;;;6311:35:15;;;1195:14720:16;1399:50:15;1195:14720:16;;;;;;;6311:35:15;;;;;;:::i;:::-;1195:14720:16;6301:46:15;;1195:14720:16;;5692:66:15;6311:35;5692:66;;1195:14720:16;;;;;;;;;;;;;;;5692:66:15;;;;;;:::i;1956:2062:12:-;;;1195:14720:16;;1956:2062:12;-1:-1:-1;;;;;1195:14720:16;;2118:20:12;2114:40;;2207:1805;;;;;;;;;;;;;;;;;;;;1195:14720:16;;;;;2207:1805:12;1195:14720:16;;;;;2207:1805:12;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2207:1805:12;;;;;1956:2062::o;2207:1805::-;;;;;;;;;;;;;;;1195:14720:16;;;2207:1805:12;;;;1956:2062::o;2207:1805::-;;;;;;;;;;1195:14720:16;2207:1805:12;;;;;;;;;;1195:14720:16;2207:1805:12;;;;;;;;1195:14720:16;2207:1805:12;;;;;;;;;;1195:14720:16;2207:1805:12;;;;1956:2062::o;2207:1805::-;;;;;;;;;;;;;;;;;;1195:14720:16;2207:1805:12;;;;;;;;;2114:40;2140:14;;;;1195:14720:16;2140:14:12;:::o;2643:34:20:-;;;;;1195:14720:16;;2643:34:20;;;;;;;;;1195:14720:16;;;2643:34:20;;;;;;1195:14720:16;;;:::i;:::-;;;2643:34:20;;;1195:14720:16;;;2643:34:20;;;1195:14720:16;;2643:34:20;;;;;;;:::i;:::-;1195:14720:16;;7178:27:20;2643:34;;;;;;;:::o;1986:4::-;1195:14720:16;;1986:4:20;;;;;;;;1195:14720:16;1986:4:20;;;1195:14720:16;1986:4:20;;1195:14720:16;;;;;;;;:::i;:::-;;;;;1986:4:20;;:::o;2396:14::-;;;;;;;;;1195:14720:16;2396:14:20;:::o;6711:2934::-;;;;1195:14720:16;6870:4:20;6894:14;;;1195:14720:16;;;2162:66:5;-1:-1:-1;6890:125:20;;7178:27;;;;2643:34;28057:42:11;7178:27:20;;7212:22;;;1195:14720:16;7236:27:20;;;:::i;:::-;28057:42:11;;:::i;:::-;7178:27:20;1195:14720:16;;;;7278:23:20;:46;7274:89;;7547:27;7516:64;7547:27;;:::i;:::-;7516:64;:::i;:::-;28057:42:11;7635:27:20;;7669;;;1195:14720:16;7698:54:20;1195:14720:16;;7698:54:20;;:::i;28057:42:11:-;7178:27:20;1195:14720:16;;;;7767:33:20;1195:14720:16;7178:27:20;1195:14720:16;;;;7804:28:20;7767:65;7763:108;;1195:14720:16;2643:34:20;;1195:14720:16;2643:34:20;;7987;;:30;;:34;:::i;:::-;2643;-1:-1:-1;;;;;;1195:14720:16;;2643:34:20;7987;:56;:79;7983:122;;1986:4;7178:27;8265:137;-1:-1:-1;8265:137:20;8563:27;;7669;1195:14720:16;1986:4:20;;;;;:::i;:::-;8550:42;;;;;;;;7178:27;-1:-1:-1;1986:4:20;8550:42;;8778:68;8795:30;;8778:68;7669:27;1195:14720:16;8778:68:20;;;;;;;:::i;:::-;7669:27;1195:14720:16;1986:4:20;;;;;:::i;:::-;8771:76;;8550:42;8771:76;;;;;8901:14;-1:-1:-1;8771:76:20;8901:14;;1195:14720:16;-1:-1:-1;1195:14720:16;;;;8877:61:20;1195:14720:16;;8877:61:20;1195:14720:16;7669:27:20;1195:14720:16;8877:61:20;;;7178:27;8877:61;;;;;1986:4;;;;;;;;;;;;1195:14720:16;;;1986:4:20;;;1195:14720:16;1986:4:20;;;1195:14720:16;1986:4:20;;;1195:14720:16;1986:4:20;1195:14720:16;1986:4:20;8877:61;9030:26;;2404:5;9030:26;;;;;:::i;:::-;1195:14720:16;;9491:16:20;;;;6711:2934;9487:60;;1195:14720:16;9565:73:20;1195:14720:16;;;;;9565:73:20;;:::i;9487:60::-;1776:4;;9516:26;;-1:-1:-1;9516:26:20;;7178:27;9516:26;;;;-1:-1:-1;9516:26:20;;-1:-1:-1;9516:26:20;;-1:-1:-1;;9516:26:20:i;:::-;:31;9509:38;:::o;9491:16::-;9463:14;;;;9491:16;;8771:76;;:::i;7983:122::-;8082:12;;;;;;;:::o;7274:89::-;7340:12;;;;;;;;:::o;985:132:6:-;1195:14720:16;;1078:32:6;;1195:14720:16;;;;:::i;:::-;;;;;;;;;;;;;;1078:32:6;:::i;1562:703:4:-;;;;;;1691:6;;:32;;;;1562:703;1691:42;;;;1562:703;1691:68;;;;1562:703;1687:111;;1821:39;;;;:::i;:::-;1820:40;1816:83;;3235:647:5;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3235:647:5;;;;;1195:14720:16;3235:647:5;1195:14720:16;3235:647:5;1195:14720:16;;3235:647:5;;;;-1:-1:-1;;;;;;;;;;;3235:647:5;2222:3:4;3235:647:5;;2132:64:4;3235:647:5;;2062:34:4;;;;1984:49;;2132:64;;:::i;:::-;2222:3;;:::i;:::-;2211:18;;2251:7;1562:703;:::o;1816:83::-;1876:12;;;;;1195:14720:16;1876:12:4;:::o;1691:68::-;1737:22;-1:-1:-1;;;;;;;;;;;1737:22:4;;;1691:68;;:42;1727:6;;;1691:42;;:32;1701:22;-1:-1:-1;;;;;;;;;;;1701:22:4;;;1691:32;;2879:281:0;2961:193;;;;;;;2879:281;:::o;16753:1115:9:-;16943:919;;1195:14720:16;;16753:1115:9;;;16943:919;;;;;;16753:1115;16943:919;;;;;;16753:1115;16943:919;;;;;;16753:1115;;;:::o;16943:919::-;;;;-1:-1:-1;16943:919:9;;;;;;6785:16:18;16943:919:9;;-1:-1:-1;;16943:919:9;;;;;;;;;;-1:-1:-1;;16943:919:9;;;;;;;;;;;;;;;;;;;;;;;;;;16753:1115::o;16943:919::-;;;;;;;;-1:-1:-1;16943:919:9;;;1195:14720:16;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;6785:16:18;1195:14720:16;6785:16:18;;1195:14720:16;;:::i;:::-;;;;;;;;:::o;1186:4022:6:-;;1195:14720:16;;1515:16:6;1511:31;;2503:69;2606:24;2547:25;2548:19;:15;1195:14720:16;;2548:15:6;:::i;:::-;:19;:::i;:::-;2571:1;2162:66:5;;;;2547:25:6;2606:24;:::i;:::-;2641:2537;;;;;;;;;;;;;;;;;1104:5;2641:2537;;;;;;;;;;;;;1186:4022;:::o;2641:2537::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1511:31;1195:14720:16;;;;:::i;12684:438:5:-;-1:-1:-1;;;;;;;;12774:6:5;;;;;:16;;12684:438;12774:42;;;;12684:438;12770:85;;-1:-1:-1;;;;;;;;1531:66:5;1802;;1531;;;1666;1531;12990:15;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;;12966:15;12959:29;12952:57;13039:17;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;12902:15;13095:10;12684:438;:::o;12770:85::-;12832:12;;1195:14720:16;12832:12:5;:::o;12774:42::-;12796:6;;;12795:20;;12774:42;12795:20;12808:6;;;12774:42;;:16;-1:-1:-1;;;;;;;;;12784:6:5;;;12774:16;;13895:6587;;;1195:14720:16;;13895:6587:5;1195:14720:16;14174:3:5;1195:14720:16;14256:13:5;;;:30;;13895:6587;14252:44;;14322:25;;;;:::i;:::-;14366:5;;;;;14365:16;;;13895:6587;14362:211;;13895:6587;14586:5830;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;14586:5830:5;;;;;1195:14720:16;;;14586:5830:5;;1195:14720:16;;;14586:5830:5;1195:14720:16;;;14586:5830:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;14586:5830:5;;;;-1:-1:-1;;;;;1531:66:5;;;14586:5830;;;;;1195:14720:16;14586:5830:5;1195:14720:16;14586:5830:5;1195:14720:16;;14586:5830:5;;;;;;-1:-1:-1;;;;;;;;1531:66:5;14586:5830;13895:6587;:::o;14586:5830::-;1531:66;;;;;;;;;-1:-1:-1;;;;;1531:66:5;;;14586:5830;;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;14586:5830;-1:-1:-1;;;;;;;;14586:5830:5;;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;;;;;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:5;14586:5830;;;;;;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;14586:5830;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;-1:-1:-1;;;;;;;;;;14586:5830:5;-1:-1:-1;;;;;;;;14586:5830:5;;;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;14586:5830;;1531:66;14586:5830;;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;;;14586:5830;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;1531:66:5;;;;;;;14586:5830;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;14586:5830;;;;1531:66;;;;14586:5830;;;;;;;;-1:-1:-1;;;;;;;;14586:5830:5;;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:5;14586:5830;-1:-1:-1;;;;;;;;1531:66:5;14586:5830;-1:-1:-1;;;;;;;;;;14586:5830:5;-1:-1:-1;;;;;;;;14586:5830:5;;;1531:66;14586:5830;;;;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;14586:5830;;;;;;;;;;-1:-1:-1;;14586:5830:5;;;;;;;;;;;;;;;1531:66;;;-1:-1:-1;1531:66:5;;;-1:-1:-1;;;;;;;;;1531:66:5;-1:-1:-1;;;;;;;;;;14586:5830:5;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;14586:5830;-1:-1:-1;;;;;;;;14586:5830:5;;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;14586:5830;;;1531:66;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;14586:5830;;-1:-1:-1;;;;;;;;1531:66:5;14586:5830;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;14586:5830;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;-1:-1:-1;;;;;;;;;;14586:5830:5;-1:-1:-1;;;;;;;;14586:5830:5;;;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;14586:5830;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;14586:5830;;;;;;;;;;;;;;-1:-1:-1;14586:5830:5;;;;-1:-1:-1;14586:5830:5;;-1:-1:-1;14586:5830:5;-1:-1:-1;14586:5830:5;;;;;;;;;;;;-1:-1:-1;14586:5830:5;;-1:-1:-1;14586:5830:5;;;1938:66;;-1:-1:-1;2032:66:5;;-1:-1:-1;14586:5830:5;;;1531:66;;;;;;;-1:-1:-1;;;;;1531:66:5;;;14586:5830;;;;;;;;;;;;;;;;;;-1:-1:-1;14586:5830:5;;;;-1:-1:-1;14586:5830:5;;;1938:66;;-1:-1:-1;2032:66:5;;-1:-1:-1;14586:5830:5;;;1195:14720:16;;14586:5830:5;;;;;;;;;;;;;;;;14362:211;2032:66;;-1:-1:-1;;;;;;;;;;;2032:66:5;;;;14437:31;;14486:10;;14518:13;;:30;;;14362:211;14514:44;14362:211;14514:44;14550:8;;;;;;;;;;;:::o;14518:30::-;;14535:13;14518:30;;14365:16;14375:5;;;14365:16;;14252:44;14288:8;;;;;;;;;:::o;14256:30::-;14273:13;;;14256:30;;13224:499;;;1938:66;2032;13342:11;12535:6;;13437:41;;13492:6;13686:30;13492:6;;;;13491:18;;;13224:499;13488:181;;;-1:-1:-1;;;;;;;;;1531:66:5;-1:-1:-1;9612:681:5;;;-1:-1:-1;;;;;;;;9612:681:5;;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;9612:681;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;9612:681;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;;13563:1;1531:66;9612:681;1531:66;-1:-1:-1;;;;;;;;1531:66:5;9612:681;;;;;;-1:-1:-1;;;;;;;;1531:66:5;9612:681;-1:-1:-1;;;;;;;;;;9612:681:5;-1:-1:-1;;;;;;;;9612:681:5;;;;1531:66;-1:-1:-1;;;;;;;;13563:1:5;9612:681;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;13563:1;;9612:681;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;9612:681;-1:-1:-1;;;;;;;;9612:681:5;;;;1531:66;;;;9612:681;;;;;;;;13525:42;13686:30;:::i;13488:181::-;13627:31;;;;;;:::i;:::-;13605:53;;;;13686:30;:::i;13491:18::-;13502:6;;;;13491:18;;13437:41;-1:-1:-1;13463:15:5;-1:-1:-1;13463:15:5;:::o;10559:1073::-;;;;10790:7;;10786:67;;-1:-1:-1;;;;;;;;10867:673:5;;;;;;1531:66;;13645:1;;10867:673;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;10867:673;;;;1531:66;;13645:1;;10867:673;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;10867:673;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;10867:673;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;10867:673;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;-1:-1:-1;;;;;;;;;;10867:673:5;-1:-1:-1;;;;;;;;10867:673:5;;;1531:66;10867:673;;;;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;;;10867:673;1531:66;-1:-1:-1;;;;;;;;1531:66:5;;;10867:673;;;;;;;1531:66;-1:-1:-1;;;;;;;;1531:66:5;13645:1;10867:673;1531:66;-1:-1:-1;;;;;;;;1531:66:5;13645:1;10867:673;10559:1073;:::o;10786:67::-;-1:-1:-1;13645:1:5;;-1:-1:-1;13645:1:5;;10817:21::o;8954:351::-;;;;4081:643;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;4081:643:5;;;;-1:-1:-1;;;;;1531:66:5;;;4081:643;;;;;1195:14720:16;4081:643:5;1195:14720:16;4081:643:5;1195:14720:16;;4081:643:5;;;;;;-1:-1:-1;;;;;;;;1531:66:5;4081:643;;9135:20;1531:66;-1:-1:-1;;;;;;;;1531:66:5;9186:21;-1:-1:-1;;;;;;;;1531:66:5;;;;;9232:17;9271:20;;8954:351;:::o" }, "methodIdentifiers": { "REPLAYABLE_NONCE_KEY()": "88ce4c7c", @@ -235413,7 +236593,7 @@ "validateUserOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),bytes32,uint256)": "19822f7c" } }, - "metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"owner\",\"type\":\"bytes\"}],\"name\":\"AlreadyOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FnSelectorNotRecognized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Initialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"owner\",\"type\":\"bytes\"}],\"name\":\"InvalidEthereumAddressOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"key\",\"type\":\"uint256\"}],\"name\":\"InvalidNonceKey\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"owner\",\"type\":\"bytes\"}],\"name\":\"InvalidOwnerBytesLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSignature\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"LastOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"NoOwnerAtIndex\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"ownersRemaining\",\"type\":\"uint256\"}],\"name\":\"NotLastOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"selector\",\"type\":\"bytes4\"}],\"name\":\"SelectorNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expiredAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentTimestamp\",\"type\":\"uint256\"}],\"name\":\"SignatureExpired\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UpgradeFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"expectedOwner\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"actualOwner\",\"type\":\"bytes\"}],\"name\":\"WrongOwnerAtIndex\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"owner\",\"type\":\"bytes\"}],\"name\":\"AddOwner\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"owner\",\"type\":\"bytes\"}],\"name\":\"RemoveOwner\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"REPLAYABLE_NONCE_KEY\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"addOwnerAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"x\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"y\",\"type\":\"bytes32\"}],\"name\":\"addOwnerPublicKey\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"canSkipChainIdValidation\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"domainSeparator\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"entryPoint\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"execute\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct GianoSmartWallet.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"executeBatch\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"calls\",\"type\":\"bytes[]\"}],\"name\":\"executeWithoutChainIdValidation\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSignatureLifetime\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation\",\"name\":\"userOp\",\"type\":\"tuple\"}],\"name\":\"getUserOpHashWithoutChainId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"$\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"owners\",\"type\":\"bytes[]\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isOwnerAddress\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"account\",\"type\":\"bytes\"}],\"name\":\"isOwnerBytes\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"x\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"y\",\"type\":\"bytes32\"}],\"name\":\"isOwnerPublicKey\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"isValidSignature\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"result\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextOwnerIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"ownerAtIndex\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ownerCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"owner\",\"type\":\"bytes\"}],\"name\":\"removeLastOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"owner\",\"type\":\"bytes\"}],\"name\":\"removeOwnerAtIndex\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"removedOwnersCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"}],\"name\":\"replaySafeHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"signedAt\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct StaticCall\",\"name\":\"call\",\"type\":\"tuple\"}],\"name\":\"signedStaticCall\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation\",\"name\":\"userOp\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"missingAccountFunds\",\"type\":\"uint256\"}],\"name\":\"validateUserOp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"validationData\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"author\":\"Applied Blockchain (https://github.com/appliedblockchain/giano)Coinbase (https://github.com/coinbase/smart-wallet)Solady (https://github.com/vectorized/solady/blob/main/src/accounts/ERC4337.sol)\",\"errors\":{\"AlreadyOwner(bytes)\":[{\"params\":{\"owner\":\"The owner bytes.\"}}],\"FnSelectorNotRecognized()\":[{\"details\":\"The function selector is not recognized.\"}],\"InvalidEthereumAddressOwner(bytes)\":[{\"params\":{\"owner\":\"The invalid owner.\"}}],\"InvalidNonceKey(uint256)\":[{\"details\":\"Calls to `this.executeWithoutChainIdValidation` MUST use `REPLAYABLE_NONCE_KEY` and calls NOT to `this.executeWithoutChainIdValidation` MUST NOT use `REPLAYABLE_NONCE_KEY`.\",\"params\":{\"key\":\"The invalid `UserOperation.nonce` key.\"}}],\"InvalidOwnerBytesLength(bytes)\":[{\"params\":{\"owner\":\"The invalid owner.\"}}],\"NoOwnerAtIndex(uint256)\":[{\"params\":{\"index\":\"The targeted index for removal.\"}}],\"NotLastOwner(uint256)\":[{\"params\":{\"ownersRemaining\":\"The number of current owners.\"}}],\"SelectorNotAllowed(bytes4)\":[{\"params\":{\"selector\":\"The selector of the call.\"}}],\"UnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized call context.\"}],\"UpgradeFailed()\":[{\"details\":\"The upgrade failed.\"}],\"WrongOwnerAtIndex(uint256,bytes,bytes)\":[{\"params\":{\"actualOwner\":\"The actual owner at `index`.\",\"expectedOwner\":\"The owner passed in the remove call.\",\"index\":\"The index of the owner to be removed.\"}}]},\"events\":{\"AddOwner(uint256,bytes)\":{\"params\":{\"index\":\"The owner index of the owner added.\",\"owner\":\"The owner added.\"}},\"RemoveOwner(uint256,bytes)\":{\"params\":{\"index\":\"The owner index of the owner removed.\",\"owner\":\"The owner removed.\"}},\"Upgraded(address)\":{\"details\":\"Emitted when the proxy's implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"addOwnerAddress(address)\":{\"params\":{\"owner\":\"The owner address.\"}},\"addOwnerPublicKey(bytes32,bytes32)\":{\"params\":{\"x\":\"The owner public key x coordinate.\",\"y\":\"The owner public key y coordinate.\"}},\"canSkipChainIdValidation(bytes4)\":{\"returns\":{\"_0\":\"`true` is the function selector is allowed to skip the chain ID validation, else `false`.\"}},\"domainSeparator()\":{\"details\":\"Implements domainSeparator = hashStruct(eip712Domain). See https://eips.ethereum.org/EIPS/eip-712#definition-of-domainseparator.\",\"returns\":{\"_0\":\"The 32 bytes domain separator result.\"}},\"eip712Domain()\":{\"details\":\"Follows ERC-5267 (see https://eips.ethereum.org/EIPS/eip-5267).\",\"returns\":{\"chainId\":\"The value of the `EIP712Domain.chainId` field.\",\"extensions\":\"The list of EIP numbers, that extends EIP-712 with new domain fields.\",\"fields\":\"The bitmap of used fields.\",\"name\":\"The value of the `EIP712Domain.name` field.\",\"salt\":\"The value of the `EIP712Domain.salt` field.\",\"verifyingContract\":\"The value of the `EIP712Domain.verifyingContract` field.\",\"version\":\"The value of the `EIP712Domain.version` field.\"}},\"entryPoint()\":{\"returns\":{\"_0\":\"The address of the EntryPoint v0.8\"}},\"execute(address,uint256,bytes)\":{\"details\":\"Can only be called by the Entrypoint or an owner of this account (including itself).\",\"params\":{\"data\":\"The data of the call.\",\"target\":\"The address to call.\",\"value\":\"The value to send with the call.\"}},\"executeBatch((address,uint256,bytes)[])\":{\"details\":\"Can only be called by the Entrypoint or an owner of this account (including itself).\",\"params\":{\"calls\":\"The list of `Call`s to execute.\"}},\"executeWithoutChainIdValidation(bytes[])\":{\"details\":\"Can only be called by the Entrypoint.Reverts if the given call is not authorized to skip the chain ID validtion.`validateUserOp()` will recompute the `userOpHash` without the chain ID before validating it if the `UserOperation.calldata` is calling this function. This allows certain UserOperations to be replayed for all accounts sharing the same address across chains. E.g. This may be useful for syncing owner changes.\",\"params\":{\"calls\":\"An array of calldata to use for separate self calls.\"}},\"getUserOpHashWithoutChainId((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))\":{\"details\":\"This allows accounts to sign a hash that can be used on many chains.\",\"params\":{\"userOp\":\"The `UserOperation` to compute the hash for.\"},\"returns\":{\"_0\":\"The `UserOperation` hash, which does not depend on chain ID.\"}},\"implementation()\":{\"returns\":{\"$\":\"The address of implementation contract.\"}},\"initialize(bytes[])\":{\"details\":\"Reverts if the account has had at least one owner, i.e. has been initialized.\",\"params\":{\"owners\":\"Array of initial owners for this account. Each item should be an ABI encoded Ethereum address, i.e. 32 bytes with 12 leading 0 bytes, or a 64 byte public key.\"}},\"isOwnerAddress(address)\":{\"params\":{\"account\":\"The account address to check.\"},\"returns\":{\"_0\":\"`true` if the account is an owner else `false`.\"}},\"isOwnerBytes(bytes)\":{\"params\":{\"account\":\"The account, should be ABI encoded address or public key.\"},\"returns\":{\"_0\":\"`true` if the account is an owner else `false`.\"}},\"isOwnerPublicKey(bytes32,bytes32)\":{\"params\":{\"x\":\"The public key x coordinate.\",\"y\":\"The public key y coordinate.\"},\"returns\":{\"_0\":\"`true` if the account is an owner else `false`.\"}},\"isValidSignature(bytes32,bytes)\":{\"details\":\"This implementation follows ERC-1271. See https://eips.ethereum.org/EIPS/eip-1271.IMPORTANT: Signature verification is performed on the hash produced AFTER applying the anti cross-account-replay layer on the given `hash` (i.e., verification is run on the replay-safe hash version).\",\"params\":{\"hash\":\"The original hash.\",\"signature\":\"The signature of the replay-safe hash to validate.\"},\"returns\":{\"result\":\"`0x1626ba7e` if validation succeeded, else `0xffffffff`.\"}},\"nextOwnerIndex()\":{\"returns\":{\"_0\":\"The next index that will be used to add a new owner.\"}},\"ownerAtIndex(uint256)\":{\"params\":{\"index\":\"The index to lookup.\"},\"returns\":{\"_0\":\"The owner bytes (empty if no owner is registered at this `index`).\"}},\"ownerCount()\":{\"returns\":{\"_0\":\"The current owner count\"}},\"proxiableUUID()\":{\"details\":\"Returns the storage slot used by the implementation, as specified in [ERC1822](https://eips.ethereum.org/EIPS/eip-1822). Note: The `notDelegated` modifier prevents accidental upgrades to an implementation that is a proxy contract.\"},\"removeLastOwner(uint256,bytes)\":{\"details\":\"Reverts if the owner is not registered at `index`.Reverts if there is currently more than one owner.Reverts if `owner` does not match bytes found at `index`.\",\"params\":{\"index\":\"The index of the owner to be removed.\",\"owner\":\"The ABI encoded bytes of the owner to be removed.\"}},\"removeOwnerAtIndex(uint256,bytes)\":{\"details\":\"Reverts if the owner is not registered at `index`.Reverts if there is currently only one owner.Reverts if `owner` does not match bytes found at `index`.\",\"params\":{\"index\":\"The index of the owner to be removed.\",\"owner\":\"The ABI encoded bytes of the owner to be removed.\"}},\"removedOwnersCount()\":{\"details\":\"Used with `this.nextOwnerIndex` to avoid removing all owners\",\"returns\":{\"_0\":\"The number of owners that have been removed.\"}},\"replaySafeHash(bytes32)\":{\"details\":\"The returned EIP-712 compliant replay-safe hash is the result of: keccak256( \\\\x19\\\\x01 || this.domainSeparator || hashStruct(GianoSmartWalletMessage({ hash: `hash`})) )\",\"params\":{\"hash\":\"The original hash.\"},\"returns\":{\"_0\":\"The corresponding replay-safe hash.\"}},\"upgradeToAndCall(address,bytes)\":{\"details\":\"Upgrades the proxy's implementation to `newImplementation`. Emits a {Upgraded} event. Note: Passing in empty `data` skips the delegatecall to `newImplementation`.\"},\"validateUserOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),bytes32,uint256)\":{\"details\":\"Signature failure should be reported by returning 1 (see: `this._isValidSignature`). This allows making a \\\"simulation call\\\" without a valid signature. Other failures (e.g. invalid signature format) should still revert to signal failure.Reverts if the `UserOperation.nonce` key is invalid for `UserOperation.calldata`.Reverts if the signature format is incorrect or invalid for owner type.\",\"params\":{\"missingAccountFunds\":\"The missing account funds that must be deposited on the Entrypoint.\",\"userOp\":\"The `UserOperation` to validate.\",\"userOpHash\":\"The `UserOperation` hash, as computed by `EntryPoint.getUserOpHash(UserOperation)`.\"},\"returns\":{\"validationData\":\"The encoded `ValidationData` structure: `(uint256(validAfter) << (160 + 48)) | (uint256(validUntil) << 160) | (success ? 0 : 1)` where `validUntil` is 0 (indefinite) and `validAfter` is 0.\"}}},\"stateVariables\":{\"REPLAYABLE_NONCE_KEY\":{\"details\":\"MUST BE the `UserOperation.nonce` key when `UserOperation.calldata` is calling `executeWithoutChainIdValidation`and MUST NOT BE `UserOperation.nonce` key when `UserOperation.calldata` is NOT calling `executeWithoutChainIdValidation`.Helps enforce sequential sequencing of replayable transactions.\"}},\"title\":\"Giano Smart Wallet\",\"version\":1},\"userdoc\":{\"errors\":{\"AlreadyOwner(bytes)\":[{\"notice\":\"Thrown when trying to add an already registered owner.\"}],\"Initialized()\":[{\"notice\":\"Thrown when `initialize` is called but the account already has had at least one owner.\"}],\"InvalidEthereumAddressOwner(bytes)\":[{\"notice\":\"Thrown if a provided owner is 32 bytes long but does not fit in an `address` type.\"}],\"InvalidNonceKey(uint256)\":[{\"notice\":\"Thrown in validateUserOp if the key of `UserOperation.nonce` does not match the calldata.\"}],\"InvalidOwnerBytesLength(bytes)\":[{\"notice\":\"Thrown when a provided owner is neither 64 bytes long (for public key) nor a ABI encoded address.\"}],\"LastOwner()\":[{\"notice\":\"Thrown when removeOwnerAtIndex is called and there is only one current owner.\"}],\"NoOwnerAtIndex(uint256)\":[{\"notice\":\"Thrown when trying to remove an owner from an index that is empty.\"}],\"NotLastOwner(uint256)\":[{\"notice\":\"Thrown when removeLastOwner is called and there is more than one current owner.\"}],\"SelectorNotAllowed(bytes4)\":[{\"notice\":\"Thrown when a call is passed to `executeWithoutChainIdValidation` that is not allowed by `canSkipChainIdValidation`\"}],\"Unauthorized()\":[{\"notice\":\"Thrown when the `msg.sender` is not an owner and is trying to call a privileged function.\"}],\"WrongOwnerAtIndex(uint256,bytes,bytes)\":[{\"notice\":\"Thrown when `owner` argument does not match owner found at index.\"}]},\"events\":{\"AddOwner(uint256,bytes)\":{\"notice\":\"Emitted when a new owner is registered.\"},\"RemoveOwner(uint256,bytes)\":{\"notice\":\"Emitted when an owner is removed.\"}},\"kind\":\"user\",\"methods\":{\"REPLAYABLE_NONCE_KEY()\":{\"notice\":\"Reserved nonce key (upper 192 bits of `UserOperation.nonce`) for cross-chain replayable transactions.\"},\"addOwnerAddress(address)\":{\"notice\":\"Adds a new Ethereum-address owner.\"},\"addOwnerPublicKey(bytes32,bytes32)\":{\"notice\":\"Adds a new public-key owner.\"},\"domainSeparator()\":{\"notice\":\"Returns the `domainSeparator` used to create EIP-712 compliant hashes.\"},\"eip712Domain()\":{\"notice\":\"Returns information about the `EIP712Domain` used to create EIP-712 compliant hashes.\"},\"entryPoint()\":{\"notice\":\"Returns the address of the EntryPoint v0.8.\"},\"execute(address,uint256,bytes)\":{\"notice\":\"Executes the given call from this account.\"},\"executeBatch((address,uint256,bytes)[])\":{\"notice\":\"Executes batch of `Call`s.\"},\"executeWithoutChainIdValidation(bytes[])\":{\"notice\":\"Executes `calls` on this account (i.e. self call).\"},\"getUserOpHashWithoutChainId((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))\":{\"notice\":\"Computes the hash of the `UserOperation` in the same way as EntryPoint v0.6, but leaves out the chain ID.\"},\"implementation()\":{\"notice\":\"Returns the implementation of the ERC1967 proxy.\"},\"initialize(bytes[])\":{\"notice\":\"Initializes the account with the `owners`.\"},\"isOwnerAddress(address)\":{\"notice\":\"Checks if the given `account` address is registered as owner.\"},\"isOwnerBytes(bytes)\":{\"notice\":\"Checks if the given `account` bytes is registered as owner.\"},\"isOwnerPublicKey(bytes32,bytes32)\":{\"notice\":\"Checks if the given `x`, `y` public key is registered as owner.\"},\"isValidSignature(bytes32,bytes)\":{\"notice\":\"Validates the `signature` against the given `hash`.\"},\"nextOwnerIndex()\":{\"notice\":\"Returns the next index that will be used to add a new owner.\"},\"ownerAtIndex(uint256)\":{\"notice\":\"Returns the owner bytes at the given `index`.\"},\"ownerCount()\":{\"notice\":\"Returns the current number of owners\"},\"removeLastOwner(uint256,bytes)\":{\"notice\":\"Removes owner at the given `index`, which should be the only current owner.\"},\"removeOwnerAtIndex(uint256,bytes)\":{\"notice\":\"Removes owner at the given `index`.\"},\"removedOwnersCount()\":{\"notice\":\"Tracks the number of owners removed\"},\"replaySafeHash(bytes32)\":{\"notice\":\"Wrapper around `_eip712Hash()` to produce a replay-safe hash fron the given `hash`.\"},\"validateUserOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),bytes32,uint256)\":{\"notice\":\"ERC-4337 `validateUserOp` method. The EntryPoint will call `UserOperation.sender.call(UserOperation.callData)` only if this validation call returns successfully.\"}},\"notice\":\"ERC-4337-compatible smart account, based on Solady's ERC4337 account implementation with inspiration from Alchemy's LightAccount and Daimo's DaimoAccount.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/GianoSmartWallet.sol\":\"GianoSmartWallet\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@account-abstraction/contracts/core/Helpers.sol\":{\"keccak256\":\"0x42b948af5fa14a96149611595df1186800c7558b2de8762e4b45a7c45c16f65e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://737a7908131ece48a5df1faaa3d0be79c42792379c27f5615dae6aa14cd68c2f\",\"dweb:/ipfs/QmPAxGMDxuek7XWSUVfZpvYE8bustfsjTDVDK8hmE88e1f\"]},\"@account-abstraction/contracts/core/UserOperationLib.sol\":{\"keccak256\":\"0x2d3450fa3906422b6fdbbe7f2a2a9e36d6f3751bfa9cd80af88befd6a5be78c1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://292a0ef5295d7f2016e99d2c228958f7f6de94f5bd9652d8696af15af0094a99\",\"dweb:/ipfs/QmVg4fhkZbUB7AopGcaVPmTdvChq7W9ga8fjrc3XaJNTM2\"]},\"@account-abstraction/contracts/interfaces/IAccount.sol\":{\"keccak256\":\"0x1030b464b49ce80da46b5b6c9af357c2d526f308de61391db6a4ec767d33b864\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://671945f8e18e7305797312b5a209506be3c9bd1d9b9b561c1e8863bccfa61319\",\"dweb:/ipfs/QmVanLK5Aenrb7J94doiE1C9oHwo86jvv8NrpDeNHwvnii\"]},\"@account-abstraction/contracts/interfaces/PackedUserOperation.sol\":{\"keccak256\":\"0xb15188e25e45fe73097e279675b6c0beccbd4133ead2260f8f0c4ba840046800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d14c1edd1e95d37c26e54bb34305e2cc9dedc46eb75ec91caeb777678e8ea79\",\"dweb:/ipfs/QmcCL2syVtV7W3XvYx3si84MPkbEJKqEN8hjFNhAPoDDhK\"]},\"FreshCryptoLib/FCL_ecdsa.sol\":{\"keccak256\":\"0x679d2e9a655cd7e156a0cfc24de0aca88d4e0b34a8e0dfe6a599f23af092f5a2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db31eb84c6f854f076d2501e3d8b5a606fb4924168bdfc6fc3de84e67ed8a80d\",\"dweb:/ipfs/QmWGAmc7B4aT6Ki52uF9QmPQKWipaptit7r3JknBHjUGfe\"]},\"FreshCryptoLib/FCL_elliptic.sol\":{\"keccak256\":\"0xac7bb3260a446851f45b8cb71e31d64ca469d7711ed04662092a9554f1283a38\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f9b0dc5a2306ad3f3a0ff4a5b947fe49422181e97c163ea237fc8bfc6736429d\",\"dweb:/ipfs/QmeruF7BvG5BNnqwqwdshoVXuXqXtajbUYB19KwPynHrQE\"]},\"openzeppelin-contracts/contracts/utils/Base64.sol\":{\"keccak256\":\"0xbee2b819e1b4bf569ffc1b1b9d560b4abd6a589575f3093edaab9244de18a0c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e478c0e9bbf3eb8cd3b7784f9b397603e34747f9ffd16571ed1d89ce102de389\",\"dweb:/ipfs/QmZ6zXpwy5xRxx9RkodJmDZSUTeEqPQUanAC5TUoYqW2VR\"]},\"solady/accounts/Receiver.sol\":{\"keccak256\":\"0xc879aa81dd5639f5fd97b31acd91658ffe33ae4b72b70ed7bd701c37addce43b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2e03a8d37d48644857d94f7432c1e2272bfd19649dfe80aba8f979f157f71f00\",\"dweb:/ipfs/QmWWS34bNWhiZgLXS9gtD8N2dxreRsVXxhvQRKqd4wKUuU\"]},\"solady/utils/CallContextChecker.sol\":{\"keccak256\":\"0xc54c743a03f4909826712e9c6b683ca95e8b0c120c55284a9e3572621ebd734b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3d3138009aba3d2fd310636f3cc1d6029e970c57ddb74693bebf2a02d3e6f12d\",\"dweb:/ipfs/QmauMpcVDyQqVnAUF75DXy831LvtxyFS7GND7kge1Zgw55\"]},\"solady/utils/LibBytes.sol\":{\"keccak256\":\"0x320c3c933df51e8fd6f1fc96de721c8cc6f1be1d4c586c11f1c472a23b86eba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cec71f42247eda74535c6e695a2ac194268a342594a26c090bafd04434698b20\",\"dweb:/ipfs/QmXA8Qaw6DdWujdrNHMHpDLNGG4QCgC859ozivrxkxp7Ea\"]},\"solady/utils/LibString.sol\":{\"keccak256\":\"0x8a6b219f6ccda90c08e2debae62618d78d6f0cef086eb6c9503793d7f12815dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d1301acbf7371cb51ab01fe3bee8a9b732ee0bcf6cc0db20ed5a3fb9241d675e\",\"dweb:/ipfs/QmXuM4tSfPDeFRvP3nEQmuezp1yEm4HxyWtU41FjiCdxAG\"]},\"solady/utils/SignatureCheckerLib.sol\":{\"keccak256\":\"0x098c7eb88b3048f227b240e0e5bf1da4a8f7622b30f6d7c06416bfcab3225e77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c2766f652916c5d6433665fb1c3b2f04c3d9292a35c12e0f8d7c71dd6438cb\",\"dweb:/ipfs/QmWTMwN2RDZUUPg7KkH1qFBjTSh84Zw8bbYwRBCQUtLN2h\"]},\"solady/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x63899eaf1a24713464b8084ada33a83c4b7db789fe83ae22f016e39646bee361\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://617fa735ffa8ba31051745614a508abd69d2cfc1b1bc1eb3c772865db5f7ce65\",\"dweb:/ipfs/QmR1pQbHPyXcLbFm2vHrXBs1qRFrGC22gF7wWYamYy8aaE\"]},\"src/AuthenticatedStaticCaller.sol\":{\"keccak256\":\"0x06bb6bea86630eda0e5920c4fe4a5d51e89d18072faf7c4b5d7ae8ca82b87b94\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2920f02558ea8bbe8ca21cbe1bcbbea7d3c4d7f0d3e812cde706f95c53b399aa\",\"dweb:/ipfs/QmaNpbMazUf1n6hpXSMq7RDJix7ipPiALKE93fMmBtbS4A\"]},\"src/ERC1271.sol\":{\"keccak256\":\"0x75c3fe08b6e1789dab7714196704f425d1afea21d725fcb6c418a70ef5bf6fad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dd292bcf9b1891abb517323636493499dbdd00bebc1f759c07fb26e103a1b71d\",\"dweb:/ipfs/QmWMT3C54pakfUCTkcPzFQAvE8nRnPqDDpFaDhY5A9fpEp\"]},\"src/GianoSmartWallet.sol\":{\"keccak256\":\"0x8b2f9e6a083aeb3bb05134b51187905197f44824f17b1e1679e42256c257bb2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88028395730ab7595b3c357bdb85f4efc6541ffcac62e239bd575ba8c95d9fa7\",\"dweb:/ipfs/QmXKaRrTW2JT6mXJ9ytY9s9yPsVg9rqLy343bW3rSmrJgS\"]},\"src/MultiOwnable.sol\":{\"keccak256\":\"0x46a9fa25c7de87b56df47b67d61b6efd96ed3f382c5d440d04de55fa23bccadd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75ac03bdfdddec29b0b1f4f9c33add4b5b9d5400b1a54691a544a59ac710de5c\",\"dweb:/ipfs/QmXajkF7z8rqmDE89H4uVaKCDyQsdwphif8BHZLLu9MQ5k\"]},\"webauthn-sol/WebAuthn.sol\":{\"keccak256\":\"0x5f38c750d900e5b5f22264ce71ead4a52528d24c52ff82928949833a5b2cea9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c373620c40cb0ddf0e347d3d6426dd9e34b8eb62ee83844372b48689f62dee5c\",\"dweb:/ipfs/QmdxkcQtgQZfKg8LZ3H5XuWhd1e1c4raa44oMnSGHgayt5\"]}},\"version\":1}" + "metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"owner\",\"type\":\"bytes\"}],\"name\":\"AlreadyOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FnSelectorNotRecognized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Initialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"owner\",\"type\":\"bytes\"}],\"name\":\"InvalidEthereumAddressOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"key\",\"type\":\"uint256\"}],\"name\":\"InvalidNonceKey\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"owner\",\"type\":\"bytes\"}],\"name\":\"InvalidOwnerBytesLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSignature\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"LastOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"NoOwnerAtIndex\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"ownersRemaining\",\"type\":\"uint256\"}],\"name\":\"NotLastOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"selector\",\"type\":\"bytes4\"}],\"name\":\"SelectorNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expiredAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentTimestamp\",\"type\":\"uint256\"}],\"name\":\"SignatureExpired\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UpgradeFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"expectedOwner\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"actualOwner\",\"type\":\"bytes\"}],\"name\":\"WrongOwnerAtIndex\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"owner\",\"type\":\"bytes\"}],\"name\":\"AddOwner\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"owner\",\"type\":\"bytes\"}],\"name\":\"RemoveOwner\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"REPLAYABLE_NONCE_KEY\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"addOwnerAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"x\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"y\",\"type\":\"bytes32\"}],\"name\":\"addOwnerPublicKey\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"canSkipChainIdValidation\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"domainSeparator\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"entryPoint\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"execute\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct GianoSmartWallet.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"executeBatch\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"calls\",\"type\":\"bytes[]\"}],\"name\":\"executeWithoutChainIdValidation\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSignatureLifetime\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation\",\"name\":\"userOp\",\"type\":\"tuple\"}],\"name\":\"getUserOpHashWithoutChainId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"$\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"owners\",\"type\":\"bytes[]\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isOwnerAddress\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"account\",\"type\":\"bytes\"}],\"name\":\"isOwnerBytes\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"x\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"y\",\"type\":\"bytes32\"}],\"name\":\"isOwnerPublicKey\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"isValidSignature\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"result\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextOwnerIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"ownerAtIndex\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ownerCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"owner\",\"type\":\"bytes\"}],\"name\":\"removeLastOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"owner\",\"type\":\"bytes\"}],\"name\":\"removeOwnerAtIndex\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"removedOwnersCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"}],\"name\":\"replaySafeHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"signedAt\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct StaticCall\",\"name\":\"call\",\"type\":\"tuple\"}],\"name\":\"signedStaticCall\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation\",\"name\":\"userOp\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"missingAccountFunds\",\"type\":\"uint256\"}],\"name\":\"validateUserOp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"validationData\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"author\":\"Applied Blockchain (https://github.com/appliedblockchain/giano)Coinbase (https://github.com/coinbase/smart-wallet)Solady (https://github.com/vectorized/solady/blob/main/src/accounts/ERC4337.sol)\",\"errors\":{\"AlreadyOwner(bytes)\":[{\"params\":{\"owner\":\"The owner bytes.\"}}],\"FnSelectorNotRecognized()\":[{\"details\":\"The function selector is not recognized.\"}],\"InvalidEthereumAddressOwner(bytes)\":[{\"params\":{\"owner\":\"The invalid owner.\"}}],\"InvalidImplementation(address)\":[{\"params\":{\"implementation\":\"The address of the implementation that has no code.\"}}],\"InvalidNonceKey(uint256)\":[{\"details\":\"Calls to `this.executeWithoutChainIdValidation` MUST use `REPLAYABLE_NONCE_KEY` and calls NOT to `this.executeWithoutChainIdValidation` MUST NOT use `REPLAYABLE_NONCE_KEY`.\",\"params\":{\"key\":\"The invalid `UserOperation.nonce` key.\"}}],\"InvalidOwnerBytesLength(bytes)\":[{\"params\":{\"owner\":\"The invalid owner.\"}}],\"NoOwnerAtIndex(uint256)\":[{\"params\":{\"index\":\"The targeted index for removal.\"}}],\"NotLastOwner(uint256)\":[{\"params\":{\"ownersRemaining\":\"The number of current owners.\"}}],\"SelectorNotAllowed(bytes4)\":[{\"params\":{\"selector\":\"The selector of the call.\"}}],\"UnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized call context.\"}],\"UpgradeFailed()\":[{\"details\":\"The upgrade failed.\"}],\"WrongOwnerAtIndex(uint256,bytes,bytes)\":[{\"params\":{\"actualOwner\":\"The actual owner at `index`.\",\"expectedOwner\":\"The owner passed in the remove call.\",\"index\":\"The index of the owner to be removed.\"}}]},\"events\":{\"AddOwner(uint256,bytes)\":{\"params\":{\"index\":\"The owner index of the owner added.\",\"owner\":\"The owner added.\"}},\"RemoveOwner(uint256,bytes)\":{\"params\":{\"index\":\"The owner index of the owner removed.\",\"owner\":\"The owner removed.\"}},\"Upgraded(address)\":{\"details\":\"Emitted when the proxy's implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"addOwnerAddress(address)\":{\"params\":{\"owner\":\"The owner address.\"}},\"addOwnerPublicKey(bytes32,bytes32)\":{\"params\":{\"x\":\"The owner public key x coordinate.\",\"y\":\"The owner public key y coordinate.\"}},\"canSkipChainIdValidation(bytes4)\":{\"returns\":{\"_0\":\"`true` is the function selector is allowed to skip the chain ID validation, else `false`.\"}},\"domainSeparator()\":{\"details\":\"Implements domainSeparator = hashStruct(eip712Domain). See https://eips.ethereum.org/EIPS/eip-712#definition-of-domainseparator.\",\"returns\":{\"_0\":\"The 32 bytes domain separator result.\"}},\"eip712Domain()\":{\"details\":\"Follows ERC-5267 (see https://eips.ethereum.org/EIPS/eip-5267).\",\"returns\":{\"chainId\":\"The value of the `EIP712Domain.chainId` field.\",\"extensions\":\"The list of EIP numbers, that extends EIP-712 with new domain fields.\",\"fields\":\"The bitmap of used fields.\",\"name\":\"The value of the `EIP712Domain.name` field.\",\"salt\":\"The value of the `EIP712Domain.salt` field.\",\"verifyingContract\":\"The value of the `EIP712Domain.verifyingContract` field.\",\"version\":\"The value of the `EIP712Domain.version` field.\"}},\"entryPoint()\":{\"returns\":{\"_0\":\"The address of the EntryPoint v0.7\"}},\"execute(address,uint256,bytes)\":{\"details\":\"Can only be called by the Entrypoint or an owner of this account (including itself).\",\"params\":{\"data\":\"The data of the call.\",\"target\":\"The address to call.\",\"value\":\"The value to send with the call.\"}},\"executeBatch((address,uint256,bytes)[])\":{\"details\":\"Can only be called by the Entrypoint or an owner of this account (including itself).\",\"params\":{\"calls\":\"The list of `Call`s to execute.\"}},\"executeWithoutChainIdValidation(bytes[])\":{\"details\":\"Can only be called by the Entrypoint.Reverts if the given call is not authorized to skip the chain ID validtion.`validateUserOp()` will recompute the `userOpHash` without the chain ID before validating it if the `UserOperation.calldata` is calling this function. This allows certain UserOperations to be replayed for all accounts sharing the same address across chains. E.g. This may be useful for syncing owner changes.\",\"params\":{\"calls\":\"An array of calldata to use for separate self calls.\"}},\"getUserOpHashWithoutChainId((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))\":{\"details\":\"This allows accounts to sign a hash that can be used on many chains.\",\"params\":{\"userOp\":\"The `UserOperation` to compute the hash for.\"},\"returns\":{\"_0\":\"The `UserOperation` hash, which does not depend on chain ID.\"}},\"implementation()\":{\"returns\":{\"$\":\"The address of implementation contract.\"}},\"initialize(bytes[])\":{\"details\":\"Reverts if the account has had at least one owner, i.e. has been initialized.\",\"params\":{\"owners\":\"Array of initial owners for this account. Each item should be an ABI encoded Ethereum address, i.e. 32 bytes with 12 leading 0 bytes, or a 64 byte public key.\"}},\"isOwnerAddress(address)\":{\"params\":{\"account\":\"The account address to check.\"},\"returns\":{\"_0\":\"`true` if the account is an owner else `false`.\"}},\"isOwnerBytes(bytes)\":{\"params\":{\"account\":\"The account, should be ABI encoded address or public key.\"},\"returns\":{\"_0\":\"`true` if the account is an owner else `false`.\"}},\"isOwnerPublicKey(bytes32,bytes32)\":{\"params\":{\"x\":\"The public key x coordinate.\",\"y\":\"The public key y coordinate.\"},\"returns\":{\"_0\":\"`true` if the account is an owner else `false`.\"}},\"isValidSignature(bytes32,bytes)\":{\"details\":\"This implementation follows ERC-1271. See https://eips.ethereum.org/EIPS/eip-1271.IMPORTANT: Signature verification is performed on the hash produced AFTER applying the anti cross-account-replay layer on the given `hash` (i.e., verification is run on the replay-safe hash version).\",\"params\":{\"hash\":\"The original hash.\",\"signature\":\"The signature of the replay-safe hash to validate.\"},\"returns\":{\"result\":\"`0x1626ba7e` if validation succeeded, else `0xffffffff`.\"}},\"nextOwnerIndex()\":{\"returns\":{\"_0\":\"The next index that will be used to add a new owner.\"}},\"ownerAtIndex(uint256)\":{\"params\":{\"index\":\"The index to lookup.\"},\"returns\":{\"_0\":\"The owner bytes (empty if no owner is registered at this `index`).\"}},\"ownerCount()\":{\"returns\":{\"_0\":\"The current owner count\"}},\"proxiableUUID()\":{\"details\":\"Returns the storage slot used by the implementation, as specified in [ERC1822](https://eips.ethereum.org/EIPS/eip-1822). Note: The `notDelegated` modifier prevents accidental upgrades to an implementation that is a proxy contract.\"},\"removeLastOwner(uint256,bytes)\":{\"details\":\"Reverts if the owner is not registered at `index`.Reverts if there is currently more than one owner.Reverts if `owner` does not match bytes found at `index`.\",\"params\":{\"index\":\"The index of the owner to be removed.\",\"owner\":\"The ABI encoded bytes of the owner to be removed.\"}},\"removeOwnerAtIndex(uint256,bytes)\":{\"details\":\"Reverts if the owner is not registered at `index`.Reverts if there is currently only one owner.Reverts if `owner` does not match bytes found at `index`.\",\"params\":{\"index\":\"The index of the owner to be removed.\",\"owner\":\"The ABI encoded bytes of the owner to be removed.\"}},\"removedOwnersCount()\":{\"details\":\"Used with `this.nextOwnerIndex` to avoid removing all owners\",\"returns\":{\"_0\":\"The number of owners that have been removed.\"}},\"replaySafeHash(bytes32)\":{\"details\":\"The returned EIP-712 compliant replay-safe hash is the result of: keccak256( \\\\x19\\\\x01 || this.domainSeparator || hashStruct(GianoSmartWalletMessage({ hash: `hash`})) )\",\"params\":{\"hash\":\"The original hash.\"},\"returns\":{\"_0\":\"The corresponding replay-safe hash.\"}},\"upgradeToAndCall(address,bytes)\":{\"details\":\"Upgrades the proxy's implementation to `newImplementation`. Emits a {Upgraded} event. Note: Passing in empty `data` skips the delegatecall to `newImplementation`.\"},\"validateUserOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),bytes32,uint256)\":{\"details\":\"Signature failure should be reported by returning 1 (see: `this._isValidSignature`). This allows making a \\\"simulation call\\\" without a valid signature. Other failures (e.g. invalid signature format) should still revert to signal failure.Reverts if the `UserOperation.nonce` key is invalid for `UserOperation.calldata`.Reverts if the signature format is incorrect or invalid for owner type.\",\"params\":{\"missingAccountFunds\":\"The missing account funds that must be deposited on the Entrypoint.\",\"userOp\":\"The `UserOperation` to validate.\",\"userOpHash\":\"The `UserOperation` hash, as computed by `EntryPoint.getUserOpHash(UserOperation)`.\"},\"returns\":{\"validationData\":\"The encoded `ValidationData` structure: `(uint256(validAfter) << (160 + 48)) | (uint256(validUntil) << 160) | (success ? 0 : 1)` where `validUntil` is 0 (indefinite) and `validAfter` is 0.\"}}},\"stateVariables\":{\"REPLAYABLE_NONCE_KEY\":{\"details\":\"MUST BE the `UserOperation.nonce` key when `UserOperation.calldata` is calling `executeWithoutChainIdValidation`and MUST NOT BE `UserOperation.nonce` key when `UserOperation.calldata` is NOT calling `executeWithoutChainIdValidation`.Helps enforce sequential sequencing of replayable transactions.\"}},\"title\":\"Giano Smart Wallet\",\"version\":1},\"userdoc\":{\"errors\":{\"AlreadyOwner(bytes)\":[{\"notice\":\"Thrown when trying to add an already registered owner.\"}],\"Initialized()\":[{\"notice\":\"Thrown when `initialize` is called but the account already has had at least one owner.\"}],\"InvalidEthereumAddressOwner(bytes)\":[{\"notice\":\"Thrown if a provided owner is 32 bytes long but does not fit in an `address` type.\"}],\"InvalidImplementation(address)\":[{\"notice\":\"Thrown when an upgrade is attempted to an implementation that does not exist.\"}],\"InvalidNonceKey(uint256)\":[{\"notice\":\"Thrown in validateUserOp if the key of `UserOperation.nonce` does not match the calldata.\"}],\"InvalidOwnerBytesLength(bytes)\":[{\"notice\":\"Thrown when a provided owner is neither 64 bytes long (for public key) nor a ABI encoded address.\"}],\"LastOwner()\":[{\"notice\":\"Thrown when removeOwnerAtIndex is called and there is only one current owner.\"}],\"NoOwnerAtIndex(uint256)\":[{\"notice\":\"Thrown when trying to remove an owner from an index that is empty.\"}],\"NotLastOwner(uint256)\":[{\"notice\":\"Thrown when removeLastOwner is called and there is more than one current owner.\"}],\"SelectorNotAllowed(bytes4)\":[{\"notice\":\"Thrown when a call is passed to `executeWithoutChainIdValidation` that is not allowed by `canSkipChainIdValidation`\"}],\"Unauthorized()\":[{\"notice\":\"Thrown when the `msg.sender` is not an owner and is trying to call a privileged function.\"}],\"WrongOwnerAtIndex(uint256,bytes,bytes)\":[{\"notice\":\"Thrown when `owner` argument does not match owner found at index.\"}]},\"events\":{\"AddOwner(uint256,bytes)\":{\"notice\":\"Emitted when a new owner is registered.\"},\"RemoveOwner(uint256,bytes)\":{\"notice\":\"Emitted when an owner is removed.\"}},\"kind\":\"user\",\"methods\":{\"REPLAYABLE_NONCE_KEY()\":{\"notice\":\"Reserved nonce key (upper 192 bits of `UserOperation.nonce`) for cross-chain replayable transactions.\"},\"addOwnerAddress(address)\":{\"notice\":\"Adds a new Ethereum-address owner.\"},\"addOwnerPublicKey(bytes32,bytes32)\":{\"notice\":\"Adds a new public-key owner.\"},\"domainSeparator()\":{\"notice\":\"Returns the `domainSeparator` used to create EIP-712 compliant hashes.\"},\"eip712Domain()\":{\"notice\":\"Returns information about the `EIP712Domain` used to create EIP-712 compliant hashes.\"},\"entryPoint()\":{\"notice\":\"Returns the address of the EntryPoint v0.7.\"},\"execute(address,uint256,bytes)\":{\"notice\":\"Executes the given call from this account.\"},\"executeBatch((address,uint256,bytes)[])\":{\"notice\":\"Executes batch of `Call`s.\"},\"executeWithoutChainIdValidation(bytes[])\":{\"notice\":\"Executes `calls` on this account (i.e. self call).\"},\"getUserOpHashWithoutChainId((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))\":{\"notice\":\"Computes the hash of the `UserOperation` in the same way as EntryPoint v0.6, but leaves out the chain ID.\"},\"implementation()\":{\"notice\":\"Returns the implementation of the ERC1967 proxy.\"},\"initialize(bytes[])\":{\"notice\":\"Initializes the account with the `owners`.\"},\"isOwnerAddress(address)\":{\"notice\":\"Checks if the given `account` address is registered as owner.\"},\"isOwnerBytes(bytes)\":{\"notice\":\"Checks if the given `account` bytes is registered as owner.\"},\"isOwnerPublicKey(bytes32,bytes32)\":{\"notice\":\"Checks if the given `x`, `y` public key is registered as owner.\"},\"isValidSignature(bytes32,bytes)\":{\"notice\":\"Validates the `signature` against the given `hash`.\"},\"nextOwnerIndex()\":{\"notice\":\"Returns the next index that will be used to add a new owner.\"},\"ownerAtIndex(uint256)\":{\"notice\":\"Returns the owner bytes at the given `index`.\"},\"ownerCount()\":{\"notice\":\"Returns the current number of owners\"},\"removeLastOwner(uint256,bytes)\":{\"notice\":\"Removes owner at the given `index`, which should be the only current owner.\"},\"removeOwnerAtIndex(uint256,bytes)\":{\"notice\":\"Removes owner at the given `index`.\"},\"removedOwnersCount()\":{\"notice\":\"Tracks the number of owners removed\"},\"replaySafeHash(bytes32)\":{\"notice\":\"Wrapper around `_eip712Hash()` to produce a replay-safe hash fron the given `hash`.\"},\"validateUserOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),bytes32,uint256)\":{\"notice\":\"ERC-4337 `validateUserOp` method. The EntryPoint will call `UserOperation.sender.call(UserOperation.callData)` only if this validation call returns successfully.\"}},\"notice\":\"ERC-4337-compatible smart account, based on Solady's ERC4337 account implementation with inspiration from Alchemy's LightAccount and Daimo's DaimoAccount.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/GianoSmartWallet.sol\":\"GianoSmartWallet\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@account-abstraction/contracts/core/Helpers.sol\":{\"keccak256\":\"0x6247e011a6cb0b263b3aa098822977181674d91b62e5bdfe04c6e66f72da25d6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ca829a69b3fbc74fec8e140d42a2bf93bc3512609272f031c846470f61f0ab7e\",\"dweb:/ipfs/QmP3r3MBgAN39KeVB1rCGJWwcBcotNt26ALtAR54poQ1Jc\"]},\"@account-abstraction/contracts/core/UserOperationLib.sol\":{\"keccak256\":\"0x9d50ece985d35f82e33e5da417595c86fac10449e3d10895d08363d33aad454b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b1d11cc364c8bf7ed5388268c895b5ffed16e87dfbcb320ddeeba5e7974315dc\",\"dweb:/ipfs/QmYSpvjxEjweietQrYZagwQ52ipy7eXx4rwvnTzXKeGeMS\"]},\"@account-abstraction/contracts/interfaces/IAccount.sol\":{\"keccak256\":\"0x38710bec0cb20ff4ceef46a80475b5bdabc27b7efd2687fd473db68332f61b78\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://dea7a723e1ef852e8764e69914a345d2e8bc5e13facfc9d5c29d791cb4ab0020\",\"dweb:/ipfs/QmU8dYgyF4DBJXFqjwLAtnE3q8q259ChfoEk9a6wyhHzEP\"]},\"@account-abstraction/contracts/interfaces/PackedUserOperation.sol\":{\"keccak256\":\"0x1129b46381db68eddbc5cb49e50664667b66b03c480453858e7b25eabe444359\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://499a948aba60480dba6e25c763b8d918f1c246eb7a3302e04f493e080f3295be\",\"dweb:/ipfs/QmeRhhswf4NACcBKam2PyjpTP2ddSm648kah5kkQJsvwz3\"]},\"FreshCryptoLib/FCL_ecdsa.sol\":{\"keccak256\":\"0x679d2e9a655cd7e156a0cfc24de0aca88d4e0b34a8e0dfe6a599f23af092f5a2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db31eb84c6f854f076d2501e3d8b5a606fb4924168bdfc6fc3de84e67ed8a80d\",\"dweb:/ipfs/QmWGAmc7B4aT6Ki52uF9QmPQKWipaptit7r3JknBHjUGfe\"]},\"FreshCryptoLib/FCL_elliptic.sol\":{\"keccak256\":\"0xac7bb3260a446851f45b8cb71e31d64ca469d7711ed04662092a9554f1283a38\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f9b0dc5a2306ad3f3a0ff4a5b947fe49422181e97c163ea237fc8bfc6736429d\",\"dweb:/ipfs/QmeruF7BvG5BNnqwqwdshoVXuXqXtajbUYB19KwPynHrQE\"]},\"openzeppelin-contracts/contracts/utils/Base64.sol\":{\"keccak256\":\"0xbee2b819e1b4bf569ffc1b1b9d560b4abd6a589575f3093edaab9244de18a0c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e478c0e9bbf3eb8cd3b7784f9b397603e34747f9ffd16571ed1d89ce102de389\",\"dweb:/ipfs/QmZ6zXpwy5xRxx9RkodJmDZSUTeEqPQUanAC5TUoYqW2VR\"]},\"solady/accounts/Receiver.sol\":{\"keccak256\":\"0xc879aa81dd5639f5fd97b31acd91658ffe33ae4b72b70ed7bd701c37addce43b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2e03a8d37d48644857d94f7432c1e2272bfd19649dfe80aba8f979f157f71f00\",\"dweb:/ipfs/QmWWS34bNWhiZgLXS9gtD8N2dxreRsVXxhvQRKqd4wKUuU\"]},\"solady/utils/CallContextChecker.sol\":{\"keccak256\":\"0xc54c743a03f4909826712e9c6b683ca95e8b0c120c55284a9e3572621ebd734b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3d3138009aba3d2fd310636f3cc1d6029e970c57ddb74693bebf2a02d3e6f12d\",\"dweb:/ipfs/QmauMpcVDyQqVnAUF75DXy831LvtxyFS7GND7kge1Zgw55\"]},\"solady/utils/LibBytes.sol\":{\"keccak256\":\"0x320c3c933df51e8fd6f1fc96de721c8cc6f1be1d4c586c11f1c472a23b86eba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cec71f42247eda74535c6e695a2ac194268a342594a26c090bafd04434698b20\",\"dweb:/ipfs/QmXA8Qaw6DdWujdrNHMHpDLNGG4QCgC859ozivrxkxp7Ea\"]},\"solady/utils/LibString.sol\":{\"keccak256\":\"0x8a6b219f6ccda90c08e2debae62618d78d6f0cef086eb6c9503793d7f12815dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d1301acbf7371cb51ab01fe3bee8a9b732ee0bcf6cc0db20ed5a3fb9241d675e\",\"dweb:/ipfs/QmXuM4tSfPDeFRvP3nEQmuezp1yEm4HxyWtU41FjiCdxAG\"]},\"solady/utils/SignatureCheckerLib.sol\":{\"keccak256\":\"0x098c7eb88b3048f227b240e0e5bf1da4a8f7622b30f6d7c06416bfcab3225e77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c2766f652916c5d6433665fb1c3b2f04c3d9292a35c12e0f8d7c71dd6438cb\",\"dweb:/ipfs/QmWTMwN2RDZUUPg7KkH1qFBjTSh84Zw8bbYwRBCQUtLN2h\"]},\"solady/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x63899eaf1a24713464b8084ada33a83c4b7db789fe83ae22f016e39646bee361\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://617fa735ffa8ba31051745614a508abd69d2cfc1b1bc1eb3c772865db5f7ce65\",\"dweb:/ipfs/QmR1pQbHPyXcLbFm2vHrXBs1qRFrGC22gF7wWYamYy8aaE\"]},\"src/AuthenticatedStaticCaller.sol\":{\"keccak256\":\"0x06bb6bea86630eda0e5920c4fe4a5d51e89d18072faf7c4b5d7ae8ca82b87b94\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2920f02558ea8bbe8ca21cbe1bcbbea7d3c4d7f0d3e812cde706f95c53b399aa\",\"dweb:/ipfs/QmaNpbMazUf1n6hpXSMq7RDJix7ipPiALKE93fMmBtbS4A\"]},\"src/ERC1271.sol\":{\"keccak256\":\"0x75c3fe08b6e1789dab7714196704f425d1afea21d725fcb6c418a70ef5bf6fad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dd292bcf9b1891abb517323636493499dbdd00bebc1f759c07fb26e103a1b71d\",\"dweb:/ipfs/QmWMT3C54pakfUCTkcPzFQAvE8nRnPqDDpFaDhY5A9fpEp\"]},\"src/GianoSmartWallet.sol\":{\"keccak256\":\"0x10f35f381fe7d934aa2f83dde5f50a69efbe49600679cb8cd7777fb07931e4e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a93eeba861ccaf70dfe6d9ed594f5ae55d37ee9feab8e4867c95657b36ae1b51\",\"dweb:/ipfs/QmTPuS5LuaW2Fx3QAXoUD4gSErZ8CoRQKFk8Nsy3vMe2PV\"]},\"src/MultiOwnable.sol\":{\"keccak256\":\"0x46a9fa25c7de87b56df47b67d61b6efd96ed3f382c5d440d04de55fa23bccadd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75ac03bdfdddec29b0b1f4f9c33add4b5b9d5400b1a54691a544a59ac710de5c\",\"dweb:/ipfs/QmXajkF7z8rqmDE89H4uVaKCDyQsdwphif8BHZLLu9MQ5k\"]},\"webauthn-sol/WebAuthn.sol\":{\"keccak256\":\"0x8b940975249f72155110e5e5b4611fc9031330538183862b9d8f12ea7c30ad25\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://433957720c13a834b9aab98a5054e9dabe5c660a1a3fb267e6ad1a22b99b68ed\",\"dweb:/ipfs/QmTkQxCCf8kDAHa6rBwLT2mxFXN3tSAWyx4rLmgcLkFkRh\"]}},\"version\":1}" } }, "src/GianoSmartWalletFactory.sol": { @@ -235430,11 +236610,41 @@ "stateMutability": "payable", "type": "constructor" }, + { + "inputs": [], + "name": "ImplementationUndeployed", + "type": "error" + }, { "inputs": [], "name": "OwnerRequired", "type": "error" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes[]", + "name": "owners", + "type": "bytes[]" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + } + ], + "name": "AccountCreated", + "type": "event" + }, { "inputs": [ { @@ -235515,46 +236725,52 @@ "functionDebugData": {}, "generatedSources": [], "linkReferences": {}, - "object": "60a0601f61059938819003918201601f19168301916001600160401b0383118484101761007d5780849260209460405283398101031261007857516001600160a01b0381168103610078576080526040516105059081610094823960805181818160600152818160a501528181610148015261029d0152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561001257600080fd5b6000803560e01c8063250b1b411461027f5780633ffba36f146100d45780635c60da1b1461008f5763db4c545e1461004957600080fd5b3461008c578060031936011261008c5760206100847f000000000000000000000000000000000000000000000000000000000000000061045c565b604051908152f35b80fd5b503461008c578060031936011261008c576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b506100de366102f1565b81939115610270576100f1908484610420565b918193604051947fcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f36060527f5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e20766040526160096020527f0000000000000000000000000000000000000000000000000000000000000000601e5268603d3d8160223d3973600a52605f60212060358701523060581b865260ff86538460158701526055862090341595823b1561025457505060019461024f578338818034855af115610242575b604086905260608490526001600160a01b031693156101dc575b602084604051908152f35b833b1561023e578461020684938293633796f38760e11b8452602060048501526024840191610386565b038183865af192831561023157602093610221575b806101d1565b8161022b9161034e565b3861021b565b50604051903d90823e3d90fd5b8280fd5b63b12d13eb84526004601cfd5b6101b7565b91509450605f602134f5806101b757633011642584526004601cfd5b633c776be160e01b8252600482fd5b503461008c576020906102c7610294366102f1565b906102c19392937f000000000000000000000000000000000000000000000000000000000000000061045c565b93610420565b9060ff83536035523060601b60015260155260558120906035526040519060018060a01b03168152f35b9060406003198301126103495760043567ffffffffffffffff811161034957826023820112156103495780600401359267ffffffffffffffff84116103495760248460051b8301011161034957602401919060243590565b600080fd5b90601f8019910116810190811067ffffffffffffffff82111761037057604052565b634e487b7160e01b600052604160045260246000fd5b90602083828152019060208160051b85010193836000915b8383106103ae5750505050505090565b909192939495601f198282030186528635601e1984360301811215610349578301906020823592019167ffffffffffffffff8111610349578036038313610349576020828280600196849695859652848401376000828201840152601f01601f1916010198019601949301919061039e565b6104569061044292936040519384926020840196604088526060850191610386565b90604083015203601f19810183528261034e565b51902090565b90604051917fcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f36060527f5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e2076604052616009602052601e5268603d3d8160223d3973600a52605f60212091604052600060605256fea2646970667358221220aca1690760d35ff090008a25cfd17e2f330af514cf0c18f0ab083e74a711295b64736f6c634300081c0033", - "opcodes": "PUSH1 0xA0 PUSH1 0x1F PUSH2 0x599 CODESIZE DUP2 SWAP1 SUB SWAP2 DUP3 ADD PUSH1 0x1F NOT AND DUP4 ADD SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 GT DUP5 DUP5 LT OR PUSH2 0x7D JUMPI DUP1 DUP5 SWAP3 PUSH1 0x20 SWAP5 PUSH1 0x40 MSTORE DUP4 CODECOPY DUP2 ADD SUB SLT PUSH2 0x78 JUMPI MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 SUB PUSH2 0x78 JUMPI PUSH1 0x80 MSTORE PUSH1 0x40 MLOAD PUSH2 0x505 SWAP1 DUP2 PUSH2 0x94 DUP3 CODECOPY PUSH1 0x80 MLOAD DUP2 DUP2 DUP2 PUSH1 0x60 ADD MSTORE DUP2 DUP2 PUSH1 0xA5 ADD MSTORE DUP2 DUP2 PUSH2 0x148 ADD MSTORE PUSH2 0x29D ADD MSTORE RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x12 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x250B1B41 EQ PUSH2 0x27F JUMPI DUP1 PUSH4 0x3FFBA36F EQ PUSH2 0xD4 JUMPI DUP1 PUSH4 0x5C60DA1B EQ PUSH2 0x8F JUMPI PUSH4 0xDB4C545E EQ PUSH2 0x49 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x8C JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x8C JUMPI PUSH1 0x20 PUSH2 0x84 PUSH32 0x0 PUSH2 0x45C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0x8C JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x8C JUMPI PUSH1 0x40 MLOAD PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 SWAP1 RETURN JUMPDEST POP PUSH2 0xDE CALLDATASIZE PUSH2 0x2F1 JUMP JUMPDEST DUP2 SWAP4 SWAP2 ISZERO PUSH2 0x270 JUMPI PUSH2 0xF1 SWAP1 DUP5 DUP5 PUSH2 0x420 JUMP JUMPDEST SWAP2 DUP2 SWAP4 PUSH1 0x40 MLOAD SWAP5 PUSH32 0xCC3735A920A3CA505D382BBC545AF43D6000803E6038573D6000FD5B3D6000F3 PUSH1 0x60 MSTORE PUSH32 0x5155F3363D3D373D3D363D7F360894A13BA1A3210667C828492DB98DCA3E2076 PUSH1 0x40 MSTORE PUSH2 0x6009 PUSH1 0x20 MSTORE PUSH32 0x0 PUSH1 0x1E MSTORE PUSH9 0x603D3D8160223D3973 PUSH1 0xA MSTORE PUSH1 0x5F PUSH1 0x21 KECCAK256 PUSH1 0x35 DUP8 ADD MSTORE ADDRESS PUSH1 0x58 SHL DUP7 MSTORE PUSH1 0xFF DUP7 MSTORE8 DUP5 PUSH1 0x15 DUP8 ADD MSTORE PUSH1 0x55 DUP7 KECCAK256 SWAP1 CALLVALUE ISZERO SWAP6 DUP3 EXTCODESIZE ISZERO PUSH2 0x254 JUMPI POP POP PUSH1 0x1 SWAP5 PUSH2 0x24F JUMPI DUP4 CODESIZE DUP2 DUP1 CALLVALUE DUP6 GAS CALL ISZERO PUSH2 0x242 JUMPI JUMPDEST PUSH1 0x40 DUP7 SWAP1 MSTORE PUSH1 0x60 DUP5 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP4 ISZERO PUSH2 0x1DC JUMPI JUMPDEST PUSH1 0x20 DUP5 PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP4 EXTCODESIZE ISZERO PUSH2 0x23E JUMPI DUP5 PUSH2 0x206 DUP5 SWAP4 DUP3 SWAP4 PUSH4 0x3796F387 PUSH1 0xE1 SHL DUP5 MSTORE PUSH1 0x20 PUSH1 0x4 DUP6 ADD MSTORE PUSH1 0x24 DUP5 ADD SWAP2 PUSH2 0x386 JUMP JUMPDEST SUB DUP2 DUP4 DUP7 GAS CALL SWAP3 DUP4 ISZERO PUSH2 0x231 JUMPI PUSH1 0x20 SWAP4 PUSH2 0x221 JUMPI JUMPDEST DUP1 PUSH2 0x1D1 JUMP JUMPDEST DUP2 PUSH2 0x22B SWAP2 PUSH2 0x34E JUMP JUMPDEST CODESIZE PUSH2 0x21B JUMP JUMPDEST POP PUSH1 0x40 MLOAD SWAP1 RETURNDATASIZE SWAP1 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP3 DUP1 REVERT JUMPDEST PUSH4 0xB12D13EB DUP5 MSTORE PUSH1 0x4 PUSH1 0x1C REVERT JUMPDEST PUSH2 0x1B7 JUMP JUMPDEST SWAP2 POP SWAP5 POP PUSH1 0x5F PUSH1 0x21 CALLVALUE CREATE2 DUP1 PUSH2 0x1B7 JUMPI PUSH4 0x30116425 DUP5 MSTORE PUSH1 0x4 PUSH1 0x1C REVERT JUMPDEST PUSH4 0x3C776BE1 PUSH1 0xE0 SHL DUP3 MSTORE PUSH1 0x4 DUP3 REVERT JUMPDEST POP CALLVALUE PUSH2 0x8C JUMPI PUSH1 0x20 SWAP1 PUSH2 0x2C7 PUSH2 0x294 CALLDATASIZE PUSH2 0x2F1 JUMP JUMPDEST SWAP1 PUSH2 0x2C1 SWAP4 SWAP3 SWAP4 PUSH32 0x0 PUSH2 0x45C JUMP JUMPDEST SWAP4 PUSH2 0x420 JUMP JUMPDEST SWAP1 PUSH1 0xFF DUP4 MSTORE8 PUSH1 0x35 MSTORE ADDRESS PUSH1 0x60 SHL PUSH1 0x1 MSTORE PUSH1 0x15 MSTORE PUSH1 0x55 DUP2 KECCAK256 SWAP1 PUSH1 0x35 MSTORE PUSH1 0x40 MLOAD SWAP1 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE RETURN JUMPDEST SWAP1 PUSH1 0x40 PUSH1 0x3 NOT DUP4 ADD SLT PUSH2 0x349 JUMPI PUSH1 0x4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x349 JUMPI DUP3 PUSH1 0x23 DUP3 ADD SLT ISZERO PUSH2 0x349 JUMPI DUP1 PUSH1 0x4 ADD CALLDATALOAD SWAP3 PUSH8 0xFFFFFFFFFFFFFFFF DUP5 GT PUSH2 0x349 JUMPI PUSH1 0x24 DUP5 PUSH1 0x5 SHL DUP4 ADD ADD GT PUSH2 0x349 JUMPI PUSH1 0x24 ADD SWAP2 SWAP1 PUSH1 0x24 CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x1F DUP1 NOT SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x370 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x20 DUP4 DUP3 DUP2 MSTORE ADD SWAP1 PUSH1 0x20 DUP2 PUSH1 0x5 SHL DUP6 ADD ADD SWAP4 DUP4 PUSH1 0x0 SWAP2 JUMPDEST DUP4 DUP4 LT PUSH2 0x3AE JUMPI POP POP POP POP POP POP SWAP1 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 SWAP6 PUSH1 0x1F NOT DUP3 DUP3 SUB ADD DUP7 MSTORE DUP7 CALLDATALOAD PUSH1 0x1E NOT DUP5 CALLDATASIZE SUB ADD DUP2 SLT ISZERO PUSH2 0x349 JUMPI DUP4 ADD SWAP1 PUSH1 0x20 DUP3 CALLDATALOAD SWAP3 ADD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x349 JUMPI DUP1 CALLDATASIZE SUB DUP4 SGT PUSH2 0x349 JUMPI PUSH1 0x20 DUP3 DUP3 DUP1 PUSH1 0x1 SWAP7 DUP5 SWAP7 SWAP6 DUP6 SWAP7 MSTORE DUP5 DUP5 ADD CALLDATACOPY PUSH1 0x0 DUP3 DUP3 ADD DUP5 ADD MSTORE PUSH1 0x1F ADD PUSH1 0x1F NOT AND ADD ADD SWAP9 ADD SWAP7 ADD SWAP5 SWAP4 ADD SWAP2 SWAP1 PUSH2 0x39E JUMP JUMPDEST PUSH2 0x456 SWAP1 PUSH2 0x442 SWAP3 SWAP4 PUSH1 0x40 MLOAD SWAP4 DUP5 SWAP3 PUSH1 0x20 DUP5 ADD SWAP7 PUSH1 0x40 DUP9 MSTORE PUSH1 0x60 DUP6 ADD SWAP2 PUSH2 0x386 JUMP JUMPDEST SWAP1 PUSH1 0x40 DUP4 ADD MSTORE SUB PUSH1 0x1F NOT DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x34E JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x40 MLOAD SWAP2 PUSH32 0xCC3735A920A3CA505D382BBC545AF43D6000803E6038573D6000FD5B3D6000F3 PUSH1 0x60 MSTORE PUSH32 0x5155F3363D3D373D3D363D7F360894A13BA1A3210667C828492DB98DCA3E2076 PUSH1 0x40 MSTORE PUSH2 0x6009 PUSH1 0x20 MSTORE PUSH1 0x1E MSTORE PUSH9 0x603D3D8160223D3973 PUSH1 0xA MSTORE PUSH1 0x5F PUSH1 0x21 KECCAK256 SWAP2 PUSH1 0x40 MSTORE PUSH1 0x0 PUSH1 0x60 MSTORE JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xAC LOG1 PUSH10 0x760D35FF090008A25CF 0xD1 PUSH31 0x2F330AF514CF0C18F0AB083E74A711295B64736F6C634300081C0033000000 ", - "sourceMap": "525:3300:17:-:0;;;;;;;;;;-1:-1:-1;;525:3300:17;;;;-1:-1:-1;;;;;525:3300:17;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;525:3300:17;;;;;;1156:32;;525:3300;;;;;;;;1156:32;525:3300;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;525:3300:17;;;;;;-1:-1:-1;525:3300:17;;;;;-1:-1:-1;525:3300:17" + "object": "60a0601f6105fc38819003918201601f19168301916001600160401b038311848410176100955780849260209460405283398101031261009057516001600160a01b038116810361009057803b1561007f5760805260405161055090816100ac823960805181818160600152818160a50152818161014801526102d90152f35b63870dfeb760e01b60005260046000fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561001257600080fd5b6000803560e01c8063250b1b41146102bb5780633ffba36f146100d45780635c60da1b1461008f5763db4c545e1461004957600080fd5b3461008c578060031936011261008c5760206100847f00000000000000000000000000000000000000000000000000000000000000006104a7565b604051908152f35b80fd5b503461008c578060031936011261008c576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b506100de3661032d565b919080156102ac576100f1838284610479565b928490604051917fcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f36060527f5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e20766040526160096020527f0000000000000000000000000000000000000000000000000000000000000000601e5268603d3d8160223d3973600a52605f60212060358401523060581b835260ff83538560158401526055832090341596823b1561029057505060019561028b578638818034855af11561027e575b604083905260608790526001600160a01b031694156101dc575b602085604051908152f35b818061020c7ff8e246d8281c915feaf5c1ffd75d9a144f6dbdbbf545e286088661b19d8028f49386888a97610424565b0390a2823b1561027a57604051633796f38760e11b81526020600482015293918291859182916102419160248401919061038a565b038183865af192831561026d5760209361025d575b80806101d1565b8161026791610441565b38610256565b50604051903d90823e3d90fd5b8380fd5b63b12d13eb87526004601cfd5b6101b7565b91509550605f602134f5806101b757633011642587526004601cfd5b633c776be160e01b8452600484fd5b503461008c576020906103036102d03661032d565b906102fd9392937f00000000000000000000000000000000000000000000000000000000000000006104a7565b93610479565b9060ff83536035523060601b60015260155260558120906035526040519060018060a01b03168152f35b9060406003198301126103855760043567ffffffffffffffff811161038557826023820112156103855780600401359267ffffffffffffffff84116103855760248460051b8301011161038557602401919060243590565b600080fd5b90602083828152019060208160051b85010193836000915b8383106103b25750505050505090565b909192939495601f198282030186528635601e1984360301811215610385578301906020823592019167ffffffffffffffff8111610385578036038313610385576020828280600196849695859652848401376000828201840152601f01601f191601019801960194930191906103a2565b93929160209161043c9160408752604087019161038a565b930152565b90601f8019910116810190811067ffffffffffffffff82111761046357604052565b634e487b7160e01b600052604160045260246000fd5b91906104a190610493604051938492602084019687610424565b03601f198101835282610441565b51902090565b90604051917fcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f36060527f5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e2076604052616009602052601e5268603d3d8160223d3973600a52605f60212091604052600060605256fea26469706673582212209043ac39e0deda770cb1183dbc33f14b238e32f625441a810092deac30b2a90e64736f6c634300081c0033", + "opcodes": "PUSH1 0xA0 PUSH1 0x1F PUSH2 0x5FC CODESIZE DUP2 SWAP1 SUB SWAP2 DUP3 ADD PUSH1 0x1F NOT AND DUP4 ADD SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP4 GT DUP5 DUP5 LT OR PUSH2 0x95 JUMPI DUP1 DUP5 SWAP3 PUSH1 0x20 SWAP5 PUSH1 0x40 MSTORE DUP4 CODECOPY DUP2 ADD SUB SLT PUSH2 0x90 JUMPI MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 SUB PUSH2 0x90 JUMPI DUP1 EXTCODESIZE ISZERO PUSH2 0x7F JUMPI PUSH1 0x80 MSTORE PUSH1 0x40 MLOAD PUSH2 0x550 SWAP1 DUP2 PUSH2 0xAC DUP3 CODECOPY PUSH1 0x80 MLOAD DUP2 DUP2 DUP2 PUSH1 0x60 ADD MSTORE DUP2 DUP2 PUSH1 0xA5 ADD MSTORE DUP2 DUP2 PUSH2 0x148 ADD MSTORE PUSH2 0x2D9 ADD MSTORE RETURN JUMPDEST PUSH4 0x870DFEB7 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x4 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x12 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x250B1B41 EQ PUSH2 0x2BB JUMPI DUP1 PUSH4 0x3FFBA36F EQ PUSH2 0xD4 JUMPI DUP1 PUSH4 0x5C60DA1B EQ PUSH2 0x8F JUMPI PUSH4 0xDB4C545E EQ PUSH2 0x49 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x8C JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x8C JUMPI PUSH1 0x20 PUSH2 0x84 PUSH32 0x0 PUSH2 0x4A7 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0x8C JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x8C JUMPI PUSH1 0x40 MLOAD PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 SWAP1 RETURN JUMPDEST POP PUSH2 0xDE CALLDATASIZE PUSH2 0x32D JUMP JUMPDEST SWAP2 SWAP1 DUP1 ISZERO PUSH2 0x2AC JUMPI PUSH2 0xF1 DUP4 DUP3 DUP5 PUSH2 0x479 JUMP JUMPDEST SWAP3 DUP5 SWAP1 PUSH1 0x40 MLOAD SWAP2 PUSH32 0xCC3735A920A3CA505D382BBC545AF43D6000803E6038573D6000FD5B3D6000F3 PUSH1 0x60 MSTORE PUSH32 0x5155F3363D3D373D3D363D7F360894A13BA1A3210667C828492DB98DCA3E2076 PUSH1 0x40 MSTORE PUSH2 0x6009 PUSH1 0x20 MSTORE PUSH32 0x0 PUSH1 0x1E MSTORE PUSH9 0x603D3D8160223D3973 PUSH1 0xA MSTORE PUSH1 0x5F PUSH1 0x21 KECCAK256 PUSH1 0x35 DUP5 ADD MSTORE ADDRESS PUSH1 0x58 SHL DUP4 MSTORE PUSH1 0xFF DUP4 MSTORE8 DUP6 PUSH1 0x15 DUP5 ADD MSTORE PUSH1 0x55 DUP4 KECCAK256 SWAP1 CALLVALUE ISZERO SWAP7 DUP3 EXTCODESIZE ISZERO PUSH2 0x290 JUMPI POP POP PUSH1 0x1 SWAP6 PUSH2 0x28B JUMPI DUP7 CODESIZE DUP2 DUP1 CALLVALUE DUP6 GAS CALL ISZERO PUSH2 0x27E JUMPI JUMPDEST PUSH1 0x40 DUP4 SWAP1 MSTORE PUSH1 0x60 DUP8 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP5 ISZERO PUSH2 0x1DC JUMPI JUMPDEST PUSH1 0x20 DUP6 PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP2 DUP1 PUSH2 0x20C PUSH32 0xF8E246D8281C915FEAF5C1FFD75D9A144F6DBDBBF545E286088661B19D8028F4 SWAP4 DUP7 DUP9 DUP11 SWAP8 PUSH2 0x424 JUMP JUMPDEST SUB SWAP1 LOG2 DUP3 EXTCODESIZE ISZERO PUSH2 0x27A JUMPI PUSH1 0x40 MLOAD PUSH4 0x3796F387 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE SWAP4 SWAP2 DUP3 SWAP2 DUP6 SWAP2 DUP3 SWAP2 PUSH2 0x241 SWAP2 PUSH1 0x24 DUP5 ADD SWAP2 SWAP1 PUSH2 0x38A JUMP JUMPDEST SUB DUP2 DUP4 DUP7 GAS CALL SWAP3 DUP4 ISZERO PUSH2 0x26D JUMPI PUSH1 0x20 SWAP4 PUSH2 0x25D JUMPI JUMPDEST DUP1 DUP1 PUSH2 0x1D1 JUMP JUMPDEST DUP2 PUSH2 0x267 SWAP2 PUSH2 0x441 JUMP JUMPDEST CODESIZE PUSH2 0x256 JUMP JUMPDEST POP PUSH1 0x40 MLOAD SWAP1 RETURNDATASIZE SWAP1 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP4 DUP1 REVERT JUMPDEST PUSH4 0xB12D13EB DUP8 MSTORE PUSH1 0x4 PUSH1 0x1C REVERT JUMPDEST PUSH2 0x1B7 JUMP JUMPDEST SWAP2 POP SWAP6 POP PUSH1 0x5F PUSH1 0x21 CALLVALUE CREATE2 DUP1 PUSH2 0x1B7 JUMPI PUSH4 0x30116425 DUP8 MSTORE PUSH1 0x4 PUSH1 0x1C REVERT JUMPDEST PUSH4 0x3C776BE1 PUSH1 0xE0 SHL DUP5 MSTORE PUSH1 0x4 DUP5 REVERT JUMPDEST POP CALLVALUE PUSH2 0x8C JUMPI PUSH1 0x20 SWAP1 PUSH2 0x303 PUSH2 0x2D0 CALLDATASIZE PUSH2 0x32D JUMP JUMPDEST SWAP1 PUSH2 0x2FD SWAP4 SWAP3 SWAP4 PUSH32 0x0 PUSH2 0x4A7 JUMP JUMPDEST SWAP4 PUSH2 0x479 JUMP JUMPDEST SWAP1 PUSH1 0xFF DUP4 MSTORE8 PUSH1 0x35 MSTORE ADDRESS PUSH1 0x60 SHL PUSH1 0x1 MSTORE PUSH1 0x15 MSTORE PUSH1 0x55 DUP2 KECCAK256 SWAP1 PUSH1 0x35 MSTORE PUSH1 0x40 MLOAD SWAP1 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE RETURN JUMPDEST SWAP1 PUSH1 0x40 PUSH1 0x3 NOT DUP4 ADD SLT PUSH2 0x385 JUMPI PUSH1 0x4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x385 JUMPI DUP3 PUSH1 0x23 DUP3 ADD SLT ISZERO PUSH2 0x385 JUMPI DUP1 PUSH1 0x4 ADD CALLDATALOAD SWAP3 PUSH8 0xFFFFFFFFFFFFFFFF DUP5 GT PUSH2 0x385 JUMPI PUSH1 0x24 DUP5 PUSH1 0x5 SHL DUP4 ADD ADD GT PUSH2 0x385 JUMPI PUSH1 0x24 ADD SWAP2 SWAP1 PUSH1 0x24 CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x20 DUP4 DUP3 DUP2 MSTORE ADD SWAP1 PUSH1 0x20 DUP2 PUSH1 0x5 SHL DUP6 ADD ADD SWAP4 DUP4 PUSH1 0x0 SWAP2 JUMPDEST DUP4 DUP4 LT PUSH2 0x3B2 JUMPI POP POP POP POP POP POP SWAP1 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 SWAP6 PUSH1 0x1F NOT DUP3 DUP3 SUB ADD DUP7 MSTORE DUP7 CALLDATALOAD PUSH1 0x1E NOT DUP5 CALLDATASIZE SUB ADD DUP2 SLT ISZERO PUSH2 0x385 JUMPI DUP4 ADD SWAP1 PUSH1 0x20 DUP3 CALLDATALOAD SWAP3 ADD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x385 JUMPI DUP1 CALLDATASIZE SUB DUP4 SGT PUSH2 0x385 JUMPI PUSH1 0x20 DUP3 DUP3 DUP1 PUSH1 0x1 SWAP7 DUP5 SWAP7 SWAP6 DUP6 SWAP7 MSTORE DUP5 DUP5 ADD CALLDATACOPY PUSH1 0x0 DUP3 DUP3 ADD DUP5 ADD MSTORE PUSH1 0x1F ADD PUSH1 0x1F NOT AND ADD ADD SWAP9 ADD SWAP7 ADD SWAP5 SWAP4 ADD SWAP2 SWAP1 PUSH2 0x3A2 JUMP JUMPDEST SWAP4 SWAP3 SWAP2 PUSH1 0x20 SWAP2 PUSH2 0x43C SWAP2 PUSH1 0x40 DUP8 MSTORE PUSH1 0x40 DUP8 ADD SWAP2 PUSH2 0x38A JUMP JUMPDEST SWAP4 ADD MSTORE JUMP JUMPDEST SWAP1 PUSH1 0x1F DUP1 NOT SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x463 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 SWAP1 PUSH2 0x4A1 SWAP1 PUSH2 0x493 PUSH1 0x40 MLOAD SWAP4 DUP5 SWAP3 PUSH1 0x20 DUP5 ADD SWAP7 DUP8 PUSH2 0x424 JUMP JUMPDEST SUB PUSH1 0x1F NOT DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x441 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x40 MLOAD SWAP2 PUSH32 0xCC3735A920A3CA505D382BBC545AF43D6000803E6038573D6000FD5B3D6000F3 PUSH1 0x60 MSTORE PUSH32 0x5155F3363D3D373D3D363D7F360894A13BA1A3210667C828492DB98DCA3E2076 PUSH1 0x40 MSTORE PUSH2 0x6009 PUSH1 0x20 MSTORE PUSH1 0x1E MSTORE PUSH9 0x603D3D8160223D3973 PUSH1 0xA MSTORE PUSH1 0x5F PUSH1 0x21 KECCAK256 SWAP2 PUSH1 0x40 MSTORE PUSH1 0x0 PUSH1 0x60 MSTORE JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP1 NUMBER 0xAC CODECOPY 0xE0 0xDE 0xDA PUSH24 0xCB1183DBC33F14B238E32F625441A810092DEAC30B2A90E PUSH5 0x736F6C6343 STOP ADDMOD SHR STOP CALLER ", + "sourceMap": "525:3885:17:-:0;;;;;;;;;;-1:-1:-1;;525:3885:17;;;;-1:-1:-1;;;;;525:3885:17;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;525:3885:17;;;;;;1600:27;;:32;1596:71;;1677:32;;525:3885;;;;;;;;1677:32;525:3885;;;;;;;;;;;;;;;;;;;;;1596:71;1641:26;;;-1:-1:-1;1641:26:17;;-1:-1:-1;1641:26:17;525:3885;-1:-1:-1;525:3885:17;;;;;;-1:-1:-1;525:3885:17;;;;;-1:-1:-1;525:3885:17" }, "deployedBytecode": { "functionDebugData": { "abi_decode_array_bytes_calldata_dyn_calldatat_uint256": { - "entryPoint": 753, + "entryPoint": 813, "id": null, "parameterSlots": 1, "returnSlots": 3 }, "abi_encode_array_bytes_calldata_dyn_calldata": { - "entryPoint": 902, + "entryPoint": 906, "id": null, "parameterSlots": 3, "returnSlots": 1 }, + "abi_encode_array_bytes_calldata_dyn_calldata_uint256": { + "entryPoint": 1060, + "id": null, + "parameterSlots": 4, + "returnSlots": 1 + }, "finalize_allocation": { - "entryPoint": 846, + "entryPoint": 1089, "id": null, "parameterSlots": 2, "returnSlots": 0 }, "fun_getSalt": { - "entryPoint": 1056, - "id": 7455, + "entryPoint": 1145, + "id": 7564, "parameterSlots": 3, "returnSlots": 1 }, "fun_initCodeHashERC1967": { - "entryPoint": 1116, - "id": 3651, + "entryPoint": 1191, + "id": 3662, "parameterSlots": 1, "returnSlots": 1 } }, "generatedSources": [], "immutableReferences": { - "7327": [ + "7408": [ { "length": 32, "start": 96 @@ -235569,14 +236785,14 @@ }, { "length": 32, - "start": 669 + "start": 729 } ] }, "linkReferences": {}, - "object": "6080604052600436101561001257600080fd5b6000803560e01c8063250b1b411461027f5780633ffba36f146100d45780635c60da1b1461008f5763db4c545e1461004957600080fd5b3461008c578060031936011261008c5760206100847f000000000000000000000000000000000000000000000000000000000000000061045c565b604051908152f35b80fd5b503461008c578060031936011261008c576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b506100de366102f1565b81939115610270576100f1908484610420565b918193604051947fcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f36060527f5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e20766040526160096020527f0000000000000000000000000000000000000000000000000000000000000000601e5268603d3d8160223d3973600a52605f60212060358701523060581b865260ff86538460158701526055862090341595823b1561025457505060019461024f578338818034855af115610242575b604086905260608490526001600160a01b031693156101dc575b602084604051908152f35b833b1561023e578461020684938293633796f38760e11b8452602060048501526024840191610386565b038183865af192831561023157602093610221575b806101d1565b8161022b9161034e565b3861021b565b50604051903d90823e3d90fd5b8280fd5b63b12d13eb84526004601cfd5b6101b7565b91509450605f602134f5806101b757633011642584526004601cfd5b633c776be160e01b8252600482fd5b503461008c576020906102c7610294366102f1565b906102c19392937f000000000000000000000000000000000000000000000000000000000000000061045c565b93610420565b9060ff83536035523060601b60015260155260558120906035526040519060018060a01b03168152f35b9060406003198301126103495760043567ffffffffffffffff811161034957826023820112156103495780600401359267ffffffffffffffff84116103495760248460051b8301011161034957602401919060243590565b600080fd5b90601f8019910116810190811067ffffffffffffffff82111761037057604052565b634e487b7160e01b600052604160045260246000fd5b90602083828152019060208160051b85010193836000915b8383106103ae5750505050505090565b909192939495601f198282030186528635601e1984360301811215610349578301906020823592019167ffffffffffffffff8111610349578036038313610349576020828280600196849695859652848401376000828201840152601f01601f1916010198019601949301919061039e565b6104569061044292936040519384926020840196604088526060850191610386565b90604083015203601f19810183528261034e565b51902090565b90604051917fcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f36060527f5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e2076604052616009602052601e5268603d3d8160223d3973600a52605f60212091604052600060605256fea2646970667358221220aca1690760d35ff090008a25cfd17e2f330af514cf0c18f0ab083e74a711295b64736f6c634300081c0033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x12 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x250B1B41 EQ PUSH2 0x27F JUMPI DUP1 PUSH4 0x3FFBA36F EQ PUSH2 0xD4 JUMPI DUP1 PUSH4 0x5C60DA1B EQ PUSH2 0x8F JUMPI PUSH4 0xDB4C545E EQ PUSH2 0x49 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x8C JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x8C JUMPI PUSH1 0x20 PUSH2 0x84 PUSH32 0x0 PUSH2 0x45C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0x8C JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x8C JUMPI PUSH1 0x40 MLOAD PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 SWAP1 RETURN JUMPDEST POP PUSH2 0xDE CALLDATASIZE PUSH2 0x2F1 JUMP JUMPDEST DUP2 SWAP4 SWAP2 ISZERO PUSH2 0x270 JUMPI PUSH2 0xF1 SWAP1 DUP5 DUP5 PUSH2 0x420 JUMP JUMPDEST SWAP2 DUP2 SWAP4 PUSH1 0x40 MLOAD SWAP5 PUSH32 0xCC3735A920A3CA505D382BBC545AF43D6000803E6038573D6000FD5B3D6000F3 PUSH1 0x60 MSTORE PUSH32 0x5155F3363D3D373D3D363D7F360894A13BA1A3210667C828492DB98DCA3E2076 PUSH1 0x40 MSTORE PUSH2 0x6009 PUSH1 0x20 MSTORE PUSH32 0x0 PUSH1 0x1E MSTORE PUSH9 0x603D3D8160223D3973 PUSH1 0xA MSTORE PUSH1 0x5F PUSH1 0x21 KECCAK256 PUSH1 0x35 DUP8 ADD MSTORE ADDRESS PUSH1 0x58 SHL DUP7 MSTORE PUSH1 0xFF DUP7 MSTORE8 DUP5 PUSH1 0x15 DUP8 ADD MSTORE PUSH1 0x55 DUP7 KECCAK256 SWAP1 CALLVALUE ISZERO SWAP6 DUP3 EXTCODESIZE ISZERO PUSH2 0x254 JUMPI POP POP PUSH1 0x1 SWAP5 PUSH2 0x24F JUMPI DUP4 CODESIZE DUP2 DUP1 CALLVALUE DUP6 GAS CALL ISZERO PUSH2 0x242 JUMPI JUMPDEST PUSH1 0x40 DUP7 SWAP1 MSTORE PUSH1 0x60 DUP5 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP4 ISZERO PUSH2 0x1DC JUMPI JUMPDEST PUSH1 0x20 DUP5 PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP4 EXTCODESIZE ISZERO PUSH2 0x23E JUMPI DUP5 PUSH2 0x206 DUP5 SWAP4 DUP3 SWAP4 PUSH4 0x3796F387 PUSH1 0xE1 SHL DUP5 MSTORE PUSH1 0x20 PUSH1 0x4 DUP6 ADD MSTORE PUSH1 0x24 DUP5 ADD SWAP2 PUSH2 0x386 JUMP JUMPDEST SUB DUP2 DUP4 DUP7 GAS CALL SWAP3 DUP4 ISZERO PUSH2 0x231 JUMPI PUSH1 0x20 SWAP4 PUSH2 0x221 JUMPI JUMPDEST DUP1 PUSH2 0x1D1 JUMP JUMPDEST DUP2 PUSH2 0x22B SWAP2 PUSH2 0x34E JUMP JUMPDEST CODESIZE PUSH2 0x21B JUMP JUMPDEST POP PUSH1 0x40 MLOAD SWAP1 RETURNDATASIZE SWAP1 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP3 DUP1 REVERT JUMPDEST PUSH4 0xB12D13EB DUP5 MSTORE PUSH1 0x4 PUSH1 0x1C REVERT JUMPDEST PUSH2 0x1B7 JUMP JUMPDEST SWAP2 POP SWAP5 POP PUSH1 0x5F PUSH1 0x21 CALLVALUE CREATE2 DUP1 PUSH2 0x1B7 JUMPI PUSH4 0x30116425 DUP5 MSTORE PUSH1 0x4 PUSH1 0x1C REVERT JUMPDEST PUSH4 0x3C776BE1 PUSH1 0xE0 SHL DUP3 MSTORE PUSH1 0x4 DUP3 REVERT JUMPDEST POP CALLVALUE PUSH2 0x8C JUMPI PUSH1 0x20 SWAP1 PUSH2 0x2C7 PUSH2 0x294 CALLDATASIZE PUSH2 0x2F1 JUMP JUMPDEST SWAP1 PUSH2 0x2C1 SWAP4 SWAP3 SWAP4 PUSH32 0x0 PUSH2 0x45C JUMP JUMPDEST SWAP4 PUSH2 0x420 JUMP JUMPDEST SWAP1 PUSH1 0xFF DUP4 MSTORE8 PUSH1 0x35 MSTORE ADDRESS PUSH1 0x60 SHL PUSH1 0x1 MSTORE PUSH1 0x15 MSTORE PUSH1 0x55 DUP2 KECCAK256 SWAP1 PUSH1 0x35 MSTORE PUSH1 0x40 MLOAD SWAP1 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE RETURN JUMPDEST SWAP1 PUSH1 0x40 PUSH1 0x3 NOT DUP4 ADD SLT PUSH2 0x349 JUMPI PUSH1 0x4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x349 JUMPI DUP3 PUSH1 0x23 DUP3 ADD SLT ISZERO PUSH2 0x349 JUMPI DUP1 PUSH1 0x4 ADD CALLDATALOAD SWAP3 PUSH8 0xFFFFFFFFFFFFFFFF DUP5 GT PUSH2 0x349 JUMPI PUSH1 0x24 DUP5 PUSH1 0x5 SHL DUP4 ADD ADD GT PUSH2 0x349 JUMPI PUSH1 0x24 ADD SWAP2 SWAP1 PUSH1 0x24 CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x1F DUP1 NOT SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x370 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 PUSH1 0x20 DUP4 DUP3 DUP2 MSTORE ADD SWAP1 PUSH1 0x20 DUP2 PUSH1 0x5 SHL DUP6 ADD ADD SWAP4 DUP4 PUSH1 0x0 SWAP2 JUMPDEST DUP4 DUP4 LT PUSH2 0x3AE JUMPI POP POP POP POP POP POP SWAP1 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 SWAP6 PUSH1 0x1F NOT DUP3 DUP3 SUB ADD DUP7 MSTORE DUP7 CALLDATALOAD PUSH1 0x1E NOT DUP5 CALLDATASIZE SUB ADD DUP2 SLT ISZERO PUSH2 0x349 JUMPI DUP4 ADD SWAP1 PUSH1 0x20 DUP3 CALLDATALOAD SWAP3 ADD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x349 JUMPI DUP1 CALLDATASIZE SUB DUP4 SGT PUSH2 0x349 JUMPI PUSH1 0x20 DUP3 DUP3 DUP1 PUSH1 0x1 SWAP7 DUP5 SWAP7 SWAP6 DUP6 SWAP7 MSTORE DUP5 DUP5 ADD CALLDATACOPY PUSH1 0x0 DUP3 DUP3 ADD DUP5 ADD MSTORE PUSH1 0x1F ADD PUSH1 0x1F NOT AND ADD ADD SWAP9 ADD SWAP7 ADD SWAP5 SWAP4 ADD SWAP2 SWAP1 PUSH2 0x39E JUMP JUMPDEST PUSH2 0x456 SWAP1 PUSH2 0x442 SWAP3 SWAP4 PUSH1 0x40 MLOAD SWAP4 DUP5 SWAP3 PUSH1 0x20 DUP5 ADD SWAP7 PUSH1 0x40 DUP9 MSTORE PUSH1 0x60 DUP6 ADD SWAP2 PUSH2 0x386 JUMP JUMPDEST SWAP1 PUSH1 0x40 DUP4 ADD MSTORE SUB PUSH1 0x1F NOT DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x34E JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x40 MLOAD SWAP2 PUSH32 0xCC3735A920A3CA505D382BBC545AF43D6000803E6038573D6000FD5B3D6000F3 PUSH1 0x60 MSTORE PUSH32 0x5155F3363D3D373D3D363D7F360894A13BA1A3210667C828492DB98DCA3E2076 PUSH1 0x40 MSTORE PUSH2 0x6009 PUSH1 0x20 MSTORE PUSH1 0x1E MSTORE PUSH9 0x603D3D8160223D3973 PUSH1 0xA MSTORE PUSH1 0x5F PUSH1 0x21 KECCAK256 SWAP2 PUSH1 0x40 MSTORE PUSH1 0x0 PUSH1 0x60 MSTORE JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xAC LOG1 PUSH10 0x760D35FF090008A25CF 0xD1 PUSH31 0x2F330AF514CF0C18F0AB083E74A711295B64736F6C634300081C0033000000 ", - "sourceMap": "525:3300:17:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;49637:1499:10;525:3300:17;49637:1499:10;;;525:3300:17;;;;;;;;;;;;;;;;;;;;3305:44;3334:14;3305:44;:::i;:::-;525:3300;;;;;;;;;;;;;;;;;;;;;;;;660:39;-1:-1:-1;;;;;525:3300:17;;;;;;;;;;;:::i;:::-;2081:18;;;;2077:71;;2270:23;;;;;:::i;:::-;2207:87;49540:20:10;49637:1499;525:3300:17;49637:1499:10;;;;;;525:3300:17;49637:1499:10;;;;2254:14:17;49637:1499:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;2243:9:17;;49637:1499:10;;;;;;;;;;;;;;;2243:9:17;;;49637:1499:10;;;;;;;525:3300:17;49637:1499:10;;;;;;;-1:-1:-1;;;;;525:3300:17;;2371:16;2367:73;;49637:1499:10;;525:3300:17;;;;;;;2367:73;2403:26;;;;;525:3300;;;;;;;;;2403:26;;49637:1499:10;525:3300:17;2403:26;;525:3300;;;;;;:::i;:::-;2403:26;;;;;;;;;;;49637:1499:10;2403:26:17;;;2367:73;;;;2403:26;;;;;:::i;:::-;;;;;525:3300;;;;;;;;;;;2403:26;525:3300;;;49637:1499:10;;;;525:3300:17;49637:1499:10;;;;;;2243:9:17;;;;49637:1499:10;;2243:9:17;49637:1499:10;;;;;;;525:3300:17;49637:1499:10;;2077:71:17;-1:-1:-1;;;2122:15:17;;525:3300;2122:15;;525:3300;;;;;;;2971:23;525:3300;;;:::i;:::-;3334:14;3305:44;3334:14;;;;3305:44;:::i;:::-;2971:23;;:::i;:::-;155145:366:10;;;;;;3004:4:17;155145:366:10;;;;;;;;;;;;525:3300:17;;;;;;;;;;;;;;;-1:-1:-1;;525:3300:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;525:3300:17;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;525:3300:17;;;;;-1:-1:-1;525:3300:17;;;;;;;;;;;;;;;;;;;-1:-1:-1;525:3300:17;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;525:3300:17;;;;;;;;-1:-1:-1;;525:3300:17;;;;;;;;;;;;;;3673:150;3790:25;3673:150;525:3300;3673:150;;525:3300;;3790:25;;;;;;525:3300;;;;;;;;;:::i;:::-;;;;;;3790:25;525:3300;;3790:25;;;;;;:::i;:::-;525:3300;3780:36;;3673:150;:::o;51982:703:10:-;;52125:554;;;;;;;;;;;;;;;;;;;;;;;;;;51982:703::o" + "object": "6080604052600436101561001257600080fd5b6000803560e01c8063250b1b41146102bb5780633ffba36f146100d45780635c60da1b1461008f5763db4c545e1461004957600080fd5b3461008c578060031936011261008c5760206100847f00000000000000000000000000000000000000000000000000000000000000006104a7565b604051908152f35b80fd5b503461008c578060031936011261008c576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b506100de3661032d565b919080156102ac576100f1838284610479565b928490604051917fcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f36060527f5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e20766040526160096020527f0000000000000000000000000000000000000000000000000000000000000000601e5268603d3d8160223d3973600a52605f60212060358401523060581b835260ff83538560158401526055832090341596823b1561029057505060019561028b578638818034855af11561027e575b604083905260608790526001600160a01b031694156101dc575b602085604051908152f35b818061020c7ff8e246d8281c915feaf5c1ffd75d9a144f6dbdbbf545e286088661b19d8028f49386888a97610424565b0390a2823b1561027a57604051633796f38760e11b81526020600482015293918291859182916102419160248401919061038a565b038183865af192831561026d5760209361025d575b80806101d1565b8161026791610441565b38610256565b50604051903d90823e3d90fd5b8380fd5b63b12d13eb87526004601cfd5b6101b7565b91509550605f602134f5806101b757633011642587526004601cfd5b633c776be160e01b8452600484fd5b503461008c576020906103036102d03661032d565b906102fd9392937f00000000000000000000000000000000000000000000000000000000000000006104a7565b93610479565b9060ff83536035523060601b60015260155260558120906035526040519060018060a01b03168152f35b9060406003198301126103855760043567ffffffffffffffff811161038557826023820112156103855780600401359267ffffffffffffffff84116103855760248460051b8301011161038557602401919060243590565b600080fd5b90602083828152019060208160051b85010193836000915b8383106103b25750505050505090565b909192939495601f198282030186528635601e1984360301811215610385578301906020823592019167ffffffffffffffff8111610385578036038313610385576020828280600196849695859652848401376000828201840152601f01601f191601019801960194930191906103a2565b93929160209161043c9160408752604087019161038a565b930152565b90601f8019910116810190811067ffffffffffffffff82111761046357604052565b634e487b7160e01b600052604160045260246000fd5b91906104a190610493604051938492602084019687610424565b03601f198101835282610441565b51902090565b90604051917fcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f36060527f5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e2076604052616009602052601e5268603d3d8160223d3973600a52605f60212091604052600060605256fea26469706673582212209043ac39e0deda770cb1183dbc33f14b238e32f625441a810092deac30b2a90e64736f6c634300081c0033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT ISZERO PUSH2 0x12 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x250B1B41 EQ PUSH2 0x2BB JUMPI DUP1 PUSH4 0x3FFBA36F EQ PUSH2 0xD4 JUMPI DUP1 PUSH4 0x5C60DA1B EQ PUSH2 0x8F JUMPI PUSH4 0xDB4C545E EQ PUSH2 0x49 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE PUSH2 0x8C JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x8C JUMPI PUSH1 0x20 PUSH2 0x84 PUSH32 0x0 PUSH2 0x4A7 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP1 REVERT JUMPDEST POP CALLVALUE PUSH2 0x8C JUMPI DUP1 PUSH1 0x3 NOT CALLDATASIZE ADD SLT PUSH2 0x8C JUMPI PUSH1 0x40 MLOAD PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 SWAP1 RETURN JUMPDEST POP PUSH2 0xDE CALLDATASIZE PUSH2 0x32D JUMP JUMPDEST SWAP2 SWAP1 DUP1 ISZERO PUSH2 0x2AC JUMPI PUSH2 0xF1 DUP4 DUP3 DUP5 PUSH2 0x479 JUMP JUMPDEST SWAP3 DUP5 SWAP1 PUSH1 0x40 MLOAD SWAP2 PUSH32 0xCC3735A920A3CA505D382BBC545AF43D6000803E6038573D6000FD5B3D6000F3 PUSH1 0x60 MSTORE PUSH32 0x5155F3363D3D373D3D363D7F360894A13BA1A3210667C828492DB98DCA3E2076 PUSH1 0x40 MSTORE PUSH2 0x6009 PUSH1 0x20 MSTORE PUSH32 0x0 PUSH1 0x1E MSTORE PUSH9 0x603D3D8160223D3973 PUSH1 0xA MSTORE PUSH1 0x5F PUSH1 0x21 KECCAK256 PUSH1 0x35 DUP5 ADD MSTORE ADDRESS PUSH1 0x58 SHL DUP4 MSTORE PUSH1 0xFF DUP4 MSTORE8 DUP6 PUSH1 0x15 DUP5 ADD MSTORE PUSH1 0x55 DUP4 KECCAK256 SWAP1 CALLVALUE ISZERO SWAP7 DUP3 EXTCODESIZE ISZERO PUSH2 0x290 JUMPI POP POP PUSH1 0x1 SWAP6 PUSH2 0x28B JUMPI DUP7 CODESIZE DUP2 DUP1 CALLVALUE DUP6 GAS CALL ISZERO PUSH2 0x27E JUMPI JUMPDEST PUSH1 0x40 DUP4 SWAP1 MSTORE PUSH1 0x60 DUP8 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP5 ISZERO PUSH2 0x1DC JUMPI JUMPDEST PUSH1 0x20 DUP6 PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE RETURN JUMPDEST DUP2 DUP1 PUSH2 0x20C PUSH32 0xF8E246D8281C915FEAF5C1FFD75D9A144F6DBDBBF545E286088661B19D8028F4 SWAP4 DUP7 DUP9 DUP11 SWAP8 PUSH2 0x424 JUMP JUMPDEST SUB SWAP1 LOG2 DUP3 EXTCODESIZE ISZERO PUSH2 0x27A JUMPI PUSH1 0x40 MLOAD PUSH4 0x3796F387 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE SWAP4 SWAP2 DUP3 SWAP2 DUP6 SWAP2 DUP3 SWAP2 PUSH2 0x241 SWAP2 PUSH1 0x24 DUP5 ADD SWAP2 SWAP1 PUSH2 0x38A JUMP JUMPDEST SUB DUP2 DUP4 DUP7 GAS CALL SWAP3 DUP4 ISZERO PUSH2 0x26D JUMPI PUSH1 0x20 SWAP4 PUSH2 0x25D JUMPI JUMPDEST DUP1 DUP1 PUSH2 0x1D1 JUMP JUMPDEST DUP2 PUSH2 0x267 SWAP2 PUSH2 0x441 JUMP JUMPDEST CODESIZE PUSH2 0x256 JUMP JUMPDEST POP PUSH1 0x40 MLOAD SWAP1 RETURNDATASIZE SWAP1 DUP3 RETURNDATACOPY RETURNDATASIZE SWAP1 REVERT JUMPDEST DUP4 DUP1 REVERT JUMPDEST PUSH4 0xB12D13EB DUP8 MSTORE PUSH1 0x4 PUSH1 0x1C REVERT JUMPDEST PUSH2 0x1B7 JUMP JUMPDEST SWAP2 POP SWAP6 POP PUSH1 0x5F PUSH1 0x21 CALLVALUE CREATE2 DUP1 PUSH2 0x1B7 JUMPI PUSH4 0x30116425 DUP8 MSTORE PUSH1 0x4 PUSH1 0x1C REVERT JUMPDEST PUSH4 0x3C776BE1 PUSH1 0xE0 SHL DUP5 MSTORE PUSH1 0x4 DUP5 REVERT JUMPDEST POP CALLVALUE PUSH2 0x8C JUMPI PUSH1 0x20 SWAP1 PUSH2 0x303 PUSH2 0x2D0 CALLDATASIZE PUSH2 0x32D JUMP JUMPDEST SWAP1 PUSH2 0x2FD SWAP4 SWAP3 SWAP4 PUSH32 0x0 PUSH2 0x4A7 JUMP JUMPDEST SWAP4 PUSH2 0x479 JUMP JUMPDEST SWAP1 PUSH1 0xFF DUP4 MSTORE8 PUSH1 0x35 MSTORE ADDRESS PUSH1 0x60 SHL PUSH1 0x1 MSTORE PUSH1 0x15 MSTORE PUSH1 0x55 DUP2 KECCAK256 SWAP1 PUSH1 0x35 MSTORE PUSH1 0x40 MLOAD SWAP1 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE RETURN JUMPDEST SWAP1 PUSH1 0x40 PUSH1 0x3 NOT DUP4 ADD SLT PUSH2 0x385 JUMPI PUSH1 0x4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x385 JUMPI DUP3 PUSH1 0x23 DUP3 ADD SLT ISZERO PUSH2 0x385 JUMPI DUP1 PUSH1 0x4 ADD CALLDATALOAD SWAP3 PUSH8 0xFFFFFFFFFFFFFFFF DUP5 GT PUSH2 0x385 JUMPI PUSH1 0x24 DUP5 PUSH1 0x5 SHL DUP4 ADD ADD GT PUSH2 0x385 JUMPI PUSH1 0x24 ADD SWAP2 SWAP1 PUSH1 0x24 CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x20 DUP4 DUP3 DUP2 MSTORE ADD SWAP1 PUSH1 0x20 DUP2 PUSH1 0x5 SHL DUP6 ADD ADD SWAP4 DUP4 PUSH1 0x0 SWAP2 JUMPDEST DUP4 DUP4 LT PUSH2 0x3B2 JUMPI POP POP POP POP POP POP SWAP1 JUMP JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 SWAP5 SWAP6 PUSH1 0x1F NOT DUP3 DUP3 SUB ADD DUP7 MSTORE DUP7 CALLDATALOAD PUSH1 0x1E NOT DUP5 CALLDATASIZE SUB ADD DUP2 SLT ISZERO PUSH2 0x385 JUMPI DUP4 ADD SWAP1 PUSH1 0x20 DUP3 CALLDATALOAD SWAP3 ADD SWAP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x385 JUMPI DUP1 CALLDATASIZE SUB DUP4 SGT PUSH2 0x385 JUMPI PUSH1 0x20 DUP3 DUP3 DUP1 PUSH1 0x1 SWAP7 DUP5 SWAP7 SWAP6 DUP6 SWAP7 MSTORE DUP5 DUP5 ADD CALLDATACOPY PUSH1 0x0 DUP3 DUP3 ADD DUP5 ADD MSTORE PUSH1 0x1F ADD PUSH1 0x1F NOT AND ADD ADD SWAP9 ADD SWAP7 ADD SWAP5 SWAP4 ADD SWAP2 SWAP1 PUSH2 0x3A2 JUMP JUMPDEST SWAP4 SWAP3 SWAP2 PUSH1 0x20 SWAP2 PUSH2 0x43C SWAP2 PUSH1 0x40 DUP8 MSTORE PUSH1 0x40 DUP8 ADD SWAP2 PUSH2 0x38A JUMP JUMPDEST SWAP4 ADD MSTORE JUMP JUMPDEST SWAP1 PUSH1 0x1F DUP1 NOT SWAP2 ADD AND DUP2 ADD SWAP1 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR PUSH2 0x463 JUMPI PUSH1 0x40 MSTORE JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP2 SWAP1 PUSH2 0x4A1 SWAP1 PUSH2 0x493 PUSH1 0x40 MLOAD SWAP4 DUP5 SWAP3 PUSH1 0x20 DUP5 ADD SWAP7 DUP8 PUSH2 0x424 JUMP JUMPDEST SUB PUSH1 0x1F NOT DUP2 ADD DUP4 MSTORE DUP3 PUSH2 0x441 JUMP JUMPDEST MLOAD SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST SWAP1 PUSH1 0x40 MLOAD SWAP2 PUSH32 0xCC3735A920A3CA505D382BBC545AF43D6000803E6038573D6000FD5B3D6000F3 PUSH1 0x60 MSTORE PUSH32 0x5155F3363D3D373D3D363D7F360894A13BA1A3210667C828492DB98DCA3E2076 PUSH1 0x40 MSTORE PUSH2 0x6009 PUSH1 0x20 MSTORE PUSH1 0x1E MSTORE PUSH9 0x603D3D8160223D3973 PUSH1 0xA MSTORE PUSH1 0x5F PUSH1 0x21 KECCAK256 SWAP2 PUSH1 0x40 MSTORE PUSH1 0x0 PUSH1 0x60 MSTORE JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP1 NUMBER 0xAC CODECOPY 0xE0 0xDE 0xDA PUSH24 0xCB1183DBC33F14B238E32F625441A810092DEAC30B2A90E PUSH5 0x736F6C6343 STOP ADDMOD SHR STOP CALLER ", + "sourceMap": "525:3885:17:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;49637:1499:10;525:3885:17;49637:1499:10;;;525:3885:17;;;;;;;;;;;;;;;;;;;;3890:44;3919:14;3890:44;:::i;:::-;525:3885;;;;;;;;;;;;;;;;;;;;;;;;660:39;-1:-1:-1;;;;;525:3885:17;;;;;;;;;;;:::i;:::-;2602:18;;;;2598:71;;2791:23;;;;;:::i;:::-;2728:87;49540:20:10;49637:1499;525:3885:17;49637:1499:10;;;;;;525:3885:17;49637:1499:10;;;;2775:14:17;49637:1499:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;2764:9:17;;49637:1499:10;;;;;;;;;;;;;;;2764:9:17;;;49637:1499:10;;;;;;;525:3885:17;49637:1499:10;;;;;;;-1:-1:-1;;;;;525:3885:17;;2892:16;2888:137;;49637:1499:10;;525:3885:17;;;;;;;2888:137;2929:45;;;;;;;;;;:::i;:::-;;;;2988:26;;;;;525:3885;;-1:-1:-1;;;2988:26:17;;49637:1499:10;525:3885:17;2988:26;;525:3885;;;;;;;;;;;;;;;;;:::i;:::-;2988:26;;;;;;;;;;;49637:1499:10;2988:26:17;;;2888:137;;;;;2988:26;;;;;:::i;:::-;;;;;525:3885;;;;;;;;;;;2988:26;525:3885;;;49637:1499:10;;;;525:3885:17;49637:1499:10;;;;;;2764:9:17;;;;49637:1499:10;;2764:9:17;49637:1499:10;;;;;;;525:3885:17;49637:1499:10;;2598:71:17;-1:-1:-1;;;2643:15:17;;525:3885;2643:15;;525:3885;;;;;;;3556:23;525:3885;;;:::i;:::-;3919:14;3890:44;3919:14;;;;3890:44;:::i;:::-;3556:23;;:::i;:::-;155145:366:10;;;;;;3589:4:17;155145:366:10;;;;;;;;;;;;525:3885:17;;;;;;;;;;;;;;;-1:-1:-1;;525:3885:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;525:3885:17;;;;;;;;;;;;;;;;;;;;-1:-1:-1;525:3885:17;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;525:3885:17;;;;;;;;-1:-1:-1;;525:3885:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;525:3885:17;;;;;-1:-1:-1;525:3885:17;4258:150;;;4375:25;4258:150;4375:25;525:3885;;4375:25;;;;;;;;;:::i;:::-;;525:3885;;4375:25;;;;;;:::i;:::-;525:3885;4365:36;;4258:150;:::o;51982:703:10:-;;52125:554;;;;;;;;;;;;;;;;;;;;;;;;;;51982:703::o" }, "methodIdentifiers": { "createAccount(bytes[],uint256)": "3ffba36f", @@ -235585,7 +236801,7 @@ "initCodeHash()": "db4c545e" } }, - "metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation_\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"OwnerRequired\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"owners\",\"type\":\"bytes[]\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"createAccount\",\"outputs\":[{\"internalType\":\"contract GianoSmartWallet\",\"name\":\"account\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"owners\",\"type\":\"bytes[]\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"getAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initCodeHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Applied Blockchain (https://github.com/appliedblockchain/giano)Coinbase (https://github.com/coinbase/smart-wallet)Solady (https://github.com/vectorized/solady/blob/main/src/accounts/ERC4337Factory.sol)\",\"kind\":\"dev\",\"methods\":{\"constructor\":{\"params\":{\"implementation_\":\"The address of the GianoSmartWallet implementation which new accounts will proxy to.\"}},\"createAccount(bytes[],uint256)\":{\"details\":\"Deployed as a ERC-1967 proxy that's implementation is `this.implementation`.\",\"params\":{\"nonce\":\"The nonce of the account, a caller defined value which allows multiple accounts with the same `owners` to exist at different addresses.\",\"owners\":\"Array of initial owners. Each item should be an ABI encoded address or 64 byte public key.\"},\"returns\":{\"account\":\"The address of the ERC-1967 proxy created with inputs `owners`, `nonce`, and `this.implementation`.\"}},\"getAddress(bytes[],uint256)\":{\"params\":{\"nonce\":\"The nonce provided to `createAccount()`.\",\"owners\":\"Array of initial owners. Each item should be an ABI encoded address or 64 byte public key.\"},\"returns\":{\"_0\":\"The predicted account deployment address.\"}},\"initCodeHash()\":{\"returns\":{\"_0\":\"The initialization code hash.\"}}},\"title\":\"Giano Smart Wallet Factory\",\"version\":1},\"userdoc\":{\"errors\":{\"OwnerRequired()\":[{\"notice\":\"Thrown when trying to create a new `GianoSmartWallet` account without any owner.\"}]},\"kind\":\"user\",\"methods\":{\"constructor\":{\"notice\":\"Factory constructor used to initialize the implementation address to use for future GianoSmartWallet deployments.\"},\"createAccount(bytes[],uint256)\":{\"notice\":\"Returns the deterministic address for a GianoSmartWallet created with `owners` and `nonce` deploys and initializes contract if it has not yet been created.\"},\"getAddress(bytes[],uint256)\":{\"notice\":\"Returns the deterministic address of the account that would be created by `createAccount`.\"},\"implementation()\":{\"notice\":\"Address of the ERC-4337 implementation used as implementation for new accounts.\"},\"initCodeHash()\":{\"notice\":\"Returns the initialization code hash of the account: a ERC1967 proxy that's implementation is `this.implementation`.\"}},\"notice\":\"GianoSmartWallet factory, based on Solady's ERC4337Factory.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/GianoSmartWalletFactory.sol\":\"GianoSmartWalletFactory\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@account-abstraction/contracts/core/Helpers.sol\":{\"keccak256\":\"0x42b948af5fa14a96149611595df1186800c7558b2de8762e4b45a7c45c16f65e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://737a7908131ece48a5df1faaa3d0be79c42792379c27f5615dae6aa14cd68c2f\",\"dweb:/ipfs/QmPAxGMDxuek7XWSUVfZpvYE8bustfsjTDVDK8hmE88e1f\"]},\"@account-abstraction/contracts/core/UserOperationLib.sol\":{\"keccak256\":\"0x2d3450fa3906422b6fdbbe7f2a2a9e36d6f3751bfa9cd80af88befd6a5be78c1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://292a0ef5295d7f2016e99d2c228958f7f6de94f5bd9652d8696af15af0094a99\",\"dweb:/ipfs/QmVg4fhkZbUB7AopGcaVPmTdvChq7W9ga8fjrc3XaJNTM2\"]},\"@account-abstraction/contracts/interfaces/IAccount.sol\":{\"keccak256\":\"0x1030b464b49ce80da46b5b6c9af357c2d526f308de61391db6a4ec767d33b864\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://671945f8e18e7305797312b5a209506be3c9bd1d9b9b561c1e8863bccfa61319\",\"dweb:/ipfs/QmVanLK5Aenrb7J94doiE1C9oHwo86jvv8NrpDeNHwvnii\"]},\"@account-abstraction/contracts/interfaces/PackedUserOperation.sol\":{\"keccak256\":\"0xb15188e25e45fe73097e279675b6c0beccbd4133ead2260f8f0c4ba840046800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d14c1edd1e95d37c26e54bb34305e2cc9dedc46eb75ec91caeb777678e8ea79\",\"dweb:/ipfs/QmcCL2syVtV7W3XvYx3si84MPkbEJKqEN8hjFNhAPoDDhK\"]},\"FreshCryptoLib/FCL_ecdsa.sol\":{\"keccak256\":\"0x679d2e9a655cd7e156a0cfc24de0aca88d4e0b34a8e0dfe6a599f23af092f5a2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db31eb84c6f854f076d2501e3d8b5a606fb4924168bdfc6fc3de84e67ed8a80d\",\"dweb:/ipfs/QmWGAmc7B4aT6Ki52uF9QmPQKWipaptit7r3JknBHjUGfe\"]},\"FreshCryptoLib/FCL_elliptic.sol\":{\"keccak256\":\"0xac7bb3260a446851f45b8cb71e31d64ca469d7711ed04662092a9554f1283a38\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f9b0dc5a2306ad3f3a0ff4a5b947fe49422181e97c163ea237fc8bfc6736429d\",\"dweb:/ipfs/QmeruF7BvG5BNnqwqwdshoVXuXqXtajbUYB19KwPynHrQE\"]},\"openzeppelin-contracts/contracts/utils/Base64.sol\":{\"keccak256\":\"0xbee2b819e1b4bf569ffc1b1b9d560b4abd6a589575f3093edaab9244de18a0c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e478c0e9bbf3eb8cd3b7784f9b397603e34747f9ffd16571ed1d89ce102de389\",\"dweb:/ipfs/QmZ6zXpwy5xRxx9RkodJmDZSUTeEqPQUanAC5TUoYqW2VR\"]},\"solady/accounts/Receiver.sol\":{\"keccak256\":\"0xc879aa81dd5639f5fd97b31acd91658ffe33ae4b72b70ed7bd701c37addce43b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2e03a8d37d48644857d94f7432c1e2272bfd19649dfe80aba8f979f157f71f00\",\"dweb:/ipfs/QmWWS34bNWhiZgLXS9gtD8N2dxreRsVXxhvQRKqd4wKUuU\"]},\"solady/utils/CallContextChecker.sol\":{\"keccak256\":\"0xc54c743a03f4909826712e9c6b683ca95e8b0c120c55284a9e3572621ebd734b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3d3138009aba3d2fd310636f3cc1d6029e970c57ddb74693bebf2a02d3e6f12d\",\"dweb:/ipfs/QmauMpcVDyQqVnAUF75DXy831LvtxyFS7GND7kge1Zgw55\"]},\"solady/utils/LibBytes.sol\":{\"keccak256\":\"0x320c3c933df51e8fd6f1fc96de721c8cc6f1be1d4c586c11f1c472a23b86eba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cec71f42247eda74535c6e695a2ac194268a342594a26c090bafd04434698b20\",\"dweb:/ipfs/QmXA8Qaw6DdWujdrNHMHpDLNGG4QCgC859ozivrxkxp7Ea\"]},\"solady/utils/LibClone.sol\":{\"keccak256\":\"0x1b96fd03a3948155bd2fe95dc4980930c759b174026e18f11bc8e88d55ae030e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://64998d16472a127031ee6a796ed9afcf13dd662afd30eb4d3e2a42c2bc9fd204\",\"dweb:/ipfs/QmTXHGy9t8YTW96tjiZ8RBqmijXUTqc1JznEBqHv8Duc4A\"]},\"solady/utils/LibString.sol\":{\"keccak256\":\"0x8a6b219f6ccda90c08e2debae62618d78d6f0cef086eb6c9503793d7f12815dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d1301acbf7371cb51ab01fe3bee8a9b732ee0bcf6cc0db20ed5a3fb9241d675e\",\"dweb:/ipfs/QmXuM4tSfPDeFRvP3nEQmuezp1yEm4HxyWtU41FjiCdxAG\"]},\"solady/utils/SignatureCheckerLib.sol\":{\"keccak256\":\"0x098c7eb88b3048f227b240e0e5bf1da4a8f7622b30f6d7c06416bfcab3225e77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c2766f652916c5d6433665fb1c3b2f04c3d9292a35c12e0f8d7c71dd6438cb\",\"dweb:/ipfs/QmWTMwN2RDZUUPg7KkH1qFBjTSh84Zw8bbYwRBCQUtLN2h\"]},\"solady/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x63899eaf1a24713464b8084ada33a83c4b7db789fe83ae22f016e39646bee361\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://617fa735ffa8ba31051745614a508abd69d2cfc1b1bc1eb3c772865db5f7ce65\",\"dweb:/ipfs/QmR1pQbHPyXcLbFm2vHrXBs1qRFrGC22gF7wWYamYy8aaE\"]},\"src/AuthenticatedStaticCaller.sol\":{\"keccak256\":\"0x06bb6bea86630eda0e5920c4fe4a5d51e89d18072faf7c4b5d7ae8ca82b87b94\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2920f02558ea8bbe8ca21cbe1bcbbea7d3c4d7f0d3e812cde706f95c53b399aa\",\"dweb:/ipfs/QmaNpbMazUf1n6hpXSMq7RDJix7ipPiALKE93fMmBtbS4A\"]},\"src/ERC1271.sol\":{\"keccak256\":\"0x75c3fe08b6e1789dab7714196704f425d1afea21d725fcb6c418a70ef5bf6fad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dd292bcf9b1891abb517323636493499dbdd00bebc1f759c07fb26e103a1b71d\",\"dweb:/ipfs/QmWMT3C54pakfUCTkcPzFQAvE8nRnPqDDpFaDhY5A9fpEp\"]},\"src/GianoSmartWallet.sol\":{\"keccak256\":\"0x8b2f9e6a083aeb3bb05134b51187905197f44824f17b1e1679e42256c257bb2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88028395730ab7595b3c357bdb85f4efc6541ffcac62e239bd575ba8c95d9fa7\",\"dweb:/ipfs/QmXKaRrTW2JT6mXJ9ytY9s9yPsVg9rqLy343bW3rSmrJgS\"]},\"src/GianoSmartWalletFactory.sol\":{\"keccak256\":\"0x8de2602d660e3c08494bcaf47ca829f15f480b2ae694ffc5aee9b73ef2b345dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df540e04c53187d82437f5be045ec3417190610eec42f5c66e06a8bed1923cc3\",\"dweb:/ipfs/QmSdQ9oPP7PnHHnKqygvjamFqbpUfqZBuEgEoGFHoTzbUv\"]},\"src/MultiOwnable.sol\":{\"keccak256\":\"0x46a9fa25c7de87b56df47b67d61b6efd96ed3f382c5d440d04de55fa23bccadd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75ac03bdfdddec29b0b1f4f9c33add4b5b9d5400b1a54691a544a59ac710de5c\",\"dweb:/ipfs/QmXajkF7z8rqmDE89H4uVaKCDyQsdwphif8BHZLLu9MQ5k\"]},\"webauthn-sol/WebAuthn.sol\":{\"keccak256\":\"0x5f38c750d900e5b5f22264ce71ead4a52528d24c52ff82928949833a5b2cea9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c373620c40cb0ddf0e347d3d6426dd9e34b8eb62ee83844372b48689f62dee5c\",\"dweb:/ipfs/QmdxkcQtgQZfKg8LZ3H5XuWhd1e1c4raa44oMnSGHgayt5\"]}},\"version\":1}" + "metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation_\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"ImplementationUndeployed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OwnerRequired\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes[]\",\"name\":\"owners\",\"type\":\"bytes[]\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"AccountCreated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"owners\",\"type\":\"bytes[]\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"createAccount\",\"outputs\":[{\"internalType\":\"contract GianoSmartWallet\",\"name\":\"account\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"owners\",\"type\":\"bytes[]\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"getAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initCodeHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Applied Blockchain (https://github.com/appliedblockchain/giano)Coinbase (https://github.com/coinbase/smart-wallet)Solady (https://github.com/vectorized/solady/blob/main/src/accounts/ERC4337Factory.sol)\",\"events\":{\"AccountCreated(address,bytes[],uint256)\":{\"params\":{\"account\":\"The address of the created account.\",\"nonce\":\"The nonce of the created account.\",\"owners\":\"Array of initial owners.\"}}},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"params\":{\"implementation_\":\"The address of the GianoSmartWallet implementation which new accounts will proxy to.\"}},\"createAccount(bytes[],uint256)\":{\"details\":\"Deployed as a ERC-1967 proxy that's implementation is `this.implementation`.\",\"params\":{\"nonce\":\"The nonce of the account, a caller defined value which allows multiple accounts with the same `owners` to exist at different addresses.\",\"owners\":\"Array of initial owners. Each item should be an ABI encoded address or 64 byte public key.\"},\"returns\":{\"account\":\"The address of the ERC-1967 proxy created with inputs `owners`, `nonce`, and `this.implementation`.\"}},\"getAddress(bytes[],uint256)\":{\"params\":{\"nonce\":\"The nonce provided to `createAccount()`.\",\"owners\":\"Array of initial owners. Each item should be an ABI encoded address or 64 byte public key.\"},\"returns\":{\"_0\":\"The predicted account deployment address.\"}},\"initCodeHash()\":{\"returns\":{\"_0\":\"The initialization code hash.\"}}},\"title\":\"Giano Smart Wallet Factory\",\"version\":1},\"userdoc\":{\"errors\":{\"ImplementationUndeployed()\":[{\"notice\":\"Thrown when trying to construct with an implementation that is not deployed.\"}],\"OwnerRequired()\":[{\"notice\":\"Thrown when trying to create a new `GianoSmartWallet` account without any owner.\"}]},\"events\":{\"AccountCreated(address,bytes[],uint256)\":{\"notice\":\"Emitted when a new account is created.\"}},\"kind\":\"user\",\"methods\":{\"constructor\":{\"notice\":\"Factory constructor used to initialize the implementation address to use for future GianoSmartWallet deployments.\"},\"createAccount(bytes[],uint256)\":{\"notice\":\"Returns the deterministic address for a GianoSmartWallet created with `owners` and `nonce` deploys and initializes contract if it has not yet been created.\"},\"getAddress(bytes[],uint256)\":{\"notice\":\"Returns the deterministic address of the account that would be created by `createAccount`.\"},\"implementation()\":{\"notice\":\"Address of the ERC-4337 implementation used as implementation for new accounts.\"},\"initCodeHash()\":{\"notice\":\"Returns the initialization code hash of the account: a ERC1967 proxy that's implementation is `this.implementation`.\"}},\"notice\":\"GianoSmartWallet factory, based on Solady's ERC4337Factory.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/GianoSmartWalletFactory.sol\":\"GianoSmartWalletFactory\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@account-abstraction/contracts/core/Helpers.sol\":{\"keccak256\":\"0x6247e011a6cb0b263b3aa098822977181674d91b62e5bdfe04c6e66f72da25d6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ca829a69b3fbc74fec8e140d42a2bf93bc3512609272f031c846470f61f0ab7e\",\"dweb:/ipfs/QmP3r3MBgAN39KeVB1rCGJWwcBcotNt26ALtAR54poQ1Jc\"]},\"@account-abstraction/contracts/core/UserOperationLib.sol\":{\"keccak256\":\"0x9d50ece985d35f82e33e5da417595c86fac10449e3d10895d08363d33aad454b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b1d11cc364c8bf7ed5388268c895b5ffed16e87dfbcb320ddeeba5e7974315dc\",\"dweb:/ipfs/QmYSpvjxEjweietQrYZagwQ52ipy7eXx4rwvnTzXKeGeMS\"]},\"@account-abstraction/contracts/interfaces/IAccount.sol\":{\"keccak256\":\"0x38710bec0cb20ff4ceef46a80475b5bdabc27b7efd2687fd473db68332f61b78\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://dea7a723e1ef852e8764e69914a345d2e8bc5e13facfc9d5c29d791cb4ab0020\",\"dweb:/ipfs/QmU8dYgyF4DBJXFqjwLAtnE3q8q259ChfoEk9a6wyhHzEP\"]},\"@account-abstraction/contracts/interfaces/PackedUserOperation.sol\":{\"keccak256\":\"0x1129b46381db68eddbc5cb49e50664667b66b03c480453858e7b25eabe444359\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://499a948aba60480dba6e25c763b8d918f1c246eb7a3302e04f493e080f3295be\",\"dweb:/ipfs/QmeRhhswf4NACcBKam2PyjpTP2ddSm648kah5kkQJsvwz3\"]},\"FreshCryptoLib/FCL_ecdsa.sol\":{\"keccak256\":\"0x679d2e9a655cd7e156a0cfc24de0aca88d4e0b34a8e0dfe6a599f23af092f5a2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db31eb84c6f854f076d2501e3d8b5a606fb4924168bdfc6fc3de84e67ed8a80d\",\"dweb:/ipfs/QmWGAmc7B4aT6Ki52uF9QmPQKWipaptit7r3JknBHjUGfe\"]},\"FreshCryptoLib/FCL_elliptic.sol\":{\"keccak256\":\"0xac7bb3260a446851f45b8cb71e31d64ca469d7711ed04662092a9554f1283a38\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f9b0dc5a2306ad3f3a0ff4a5b947fe49422181e97c163ea237fc8bfc6736429d\",\"dweb:/ipfs/QmeruF7BvG5BNnqwqwdshoVXuXqXtajbUYB19KwPynHrQE\"]},\"openzeppelin-contracts/contracts/utils/Base64.sol\":{\"keccak256\":\"0xbee2b819e1b4bf569ffc1b1b9d560b4abd6a589575f3093edaab9244de18a0c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e478c0e9bbf3eb8cd3b7784f9b397603e34747f9ffd16571ed1d89ce102de389\",\"dweb:/ipfs/QmZ6zXpwy5xRxx9RkodJmDZSUTeEqPQUanAC5TUoYqW2VR\"]},\"solady/accounts/Receiver.sol\":{\"keccak256\":\"0xc879aa81dd5639f5fd97b31acd91658ffe33ae4b72b70ed7bd701c37addce43b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2e03a8d37d48644857d94f7432c1e2272bfd19649dfe80aba8f979f157f71f00\",\"dweb:/ipfs/QmWWS34bNWhiZgLXS9gtD8N2dxreRsVXxhvQRKqd4wKUuU\"]},\"solady/utils/CallContextChecker.sol\":{\"keccak256\":\"0xc54c743a03f4909826712e9c6b683ca95e8b0c120c55284a9e3572621ebd734b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3d3138009aba3d2fd310636f3cc1d6029e970c57ddb74693bebf2a02d3e6f12d\",\"dweb:/ipfs/QmauMpcVDyQqVnAUF75DXy831LvtxyFS7GND7kge1Zgw55\"]},\"solady/utils/LibBytes.sol\":{\"keccak256\":\"0x320c3c933df51e8fd6f1fc96de721c8cc6f1be1d4c586c11f1c472a23b86eba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cec71f42247eda74535c6e695a2ac194268a342594a26c090bafd04434698b20\",\"dweb:/ipfs/QmXA8Qaw6DdWujdrNHMHpDLNGG4QCgC859ozivrxkxp7Ea\"]},\"solady/utils/LibClone.sol\":{\"keccak256\":\"0x1b96fd03a3948155bd2fe95dc4980930c759b174026e18f11bc8e88d55ae030e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://64998d16472a127031ee6a796ed9afcf13dd662afd30eb4d3e2a42c2bc9fd204\",\"dweb:/ipfs/QmTXHGy9t8YTW96tjiZ8RBqmijXUTqc1JznEBqHv8Duc4A\"]},\"solady/utils/LibString.sol\":{\"keccak256\":\"0x8a6b219f6ccda90c08e2debae62618d78d6f0cef086eb6c9503793d7f12815dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d1301acbf7371cb51ab01fe3bee8a9b732ee0bcf6cc0db20ed5a3fb9241d675e\",\"dweb:/ipfs/QmXuM4tSfPDeFRvP3nEQmuezp1yEm4HxyWtU41FjiCdxAG\"]},\"solady/utils/SignatureCheckerLib.sol\":{\"keccak256\":\"0x098c7eb88b3048f227b240e0e5bf1da4a8f7622b30f6d7c06416bfcab3225e77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c2766f652916c5d6433665fb1c3b2f04c3d9292a35c12e0f8d7c71dd6438cb\",\"dweb:/ipfs/QmWTMwN2RDZUUPg7KkH1qFBjTSh84Zw8bbYwRBCQUtLN2h\"]},\"solady/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x63899eaf1a24713464b8084ada33a83c4b7db789fe83ae22f016e39646bee361\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://617fa735ffa8ba31051745614a508abd69d2cfc1b1bc1eb3c772865db5f7ce65\",\"dweb:/ipfs/QmR1pQbHPyXcLbFm2vHrXBs1qRFrGC22gF7wWYamYy8aaE\"]},\"src/AuthenticatedStaticCaller.sol\":{\"keccak256\":\"0x06bb6bea86630eda0e5920c4fe4a5d51e89d18072faf7c4b5d7ae8ca82b87b94\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2920f02558ea8bbe8ca21cbe1bcbbea7d3c4d7f0d3e812cde706f95c53b399aa\",\"dweb:/ipfs/QmaNpbMazUf1n6hpXSMq7RDJix7ipPiALKE93fMmBtbS4A\"]},\"src/ERC1271.sol\":{\"keccak256\":\"0x75c3fe08b6e1789dab7714196704f425d1afea21d725fcb6c418a70ef5bf6fad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dd292bcf9b1891abb517323636493499dbdd00bebc1f759c07fb26e103a1b71d\",\"dweb:/ipfs/QmWMT3C54pakfUCTkcPzFQAvE8nRnPqDDpFaDhY5A9fpEp\"]},\"src/GianoSmartWallet.sol\":{\"keccak256\":\"0x10f35f381fe7d934aa2f83dde5f50a69efbe49600679cb8cd7777fb07931e4e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a93eeba861ccaf70dfe6d9ed594f5ae55d37ee9feab8e4867c95657b36ae1b51\",\"dweb:/ipfs/QmTPuS5LuaW2Fx3QAXoUD4gSErZ8CoRQKFk8Nsy3vMe2PV\"]},\"src/GianoSmartWalletFactory.sol\":{\"keccak256\":\"0x047319a845313e24dd7d80263618e28075e3bb9ee3bbfbe68cbc2d3784e88114\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://14f9fcac74018f75d8f1ddc5aa790f4a93797fbcbb3c047f391142896ca69324\",\"dweb:/ipfs/QmZhpKteqQgt7Wt72pN7Ae9mk5J2W3k6cteaFbFzDBMcU9\"]},\"src/MultiOwnable.sol\":{\"keccak256\":\"0x46a9fa25c7de87b56df47b67d61b6efd96ed3f382c5d440d04de55fa23bccadd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75ac03bdfdddec29b0b1f4f9c33add4b5b9d5400b1a54691a544a59ac710de5c\",\"dweb:/ipfs/QmXajkF7z8rqmDE89H4uVaKCDyQsdwphif8BHZLLu9MQ5k\"]},\"webauthn-sol/WebAuthn.sol\":{\"keccak256\":\"0x8b940975249f72155110e5e5b4611fc9031330538183862b9d8f12ea7c30ad25\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://433957720c13a834b9aab98a5054e9dabe5c660a1a3fb267e6ad1a22b99b68ed\",\"dweb:/ipfs/QmTkQxCCf8kDAHa6rBwLT2mxFXN3tSAWyx4rLmgcLkFkRh\"]}},\"version\":1}" } }, "src/MultiOwnable.sol": { @@ -235970,37 +237186,37 @@ }, "fun_addOwnerAtIndex": { "entryPoint": 1673, - "id": 7891, + "id": 8000, "parameterSlots": 2, "returnSlots": 0 }, "fun_checkOwner": { "entryPoint": 1603, - "id": 7982, + "id": 8091, "parameterSlots": 0, "returnSlots": 0 }, "fun_isOwnerAddress": { "entryPoint": 1560, - "id": 7659, + "id": 7768, "parameterSlots": 1, "returnSlots": 1 }, "fun_ownerAtIndex": { "entryPoint": 1352, - "id": 7710, + "id": 7819, "parameterSlots": 1, "returnSlots": 1 }, "fun_ownerCount": { "entryPoint": 1213, - "id": 7740, + "id": 7849, "parameterSlots": 0, "returnSlots": 1 }, "fun_removeOwnerAtIndex": { "entryPoint": 2182, - "id": 7958, + "id": 8067, "parameterSlots": 3, "returnSlots": 0 }, @@ -236127,7 +237343,7 @@ }, "constructor_ERC1271InputGenerator": { "entryPoint": 336, - "id": 8031, + "id": 8140, "parameterSlots": 4, "returnSlots": 0 }, @@ -236157,7 +237373,7 @@ }, "fun_gianoSmartWallet1271Input": { "entryPoint": 456, - "id": 8109, + "id": 8218, "parameterSlots": 4, "returnSlots": 1 }, @@ -236191,13 +237407,13 @@ "generatedSources": [], "immutableReferences": {}, "linkReferences": {}, - "object": "600080fdfea26469706673582212201a53cd226198d5631bd6d907d5e4244b369f4600ef1ce907e0032aa0bfead4dc64736f6c634300081c0033", - "opcodes": "PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 BYTE MSTORE8 0xCD 0x22 PUSH2 0x98D5 PUSH4 0x1BD6D907 0xD5 0xE4 0x24 0x4B CALLDATASIZE SWAP16 CHAINID STOP 0xEF SHR 0xE9 SMOD 0xE0 SUB 0x2A LOG0 0xBF 0xEA 0xD4 0xDC PUSH5 0x736F6C6343 STOP ADDMOD SHR STOP CALLER ", + "object": "600080fdfea264697066735822122075b85d684d26100df94357202e9674d7360d22dd0f45f66c918a469fd3c920c764736f6c634300081c0033", + "opcodes": "PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH22 0xB85D684D26100DF94357202E9674D7360D22DD0F45F6 PUSH13 0x918A469FD3C920C764736F6C63 NUMBER STOP ADDMOD SHR STOP CALLER ", "sourceMap": "832:3656:19:-:0;;" }, "methodIdentifiers": {} }, - "metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract GianoSmartWallet\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"accountFactory\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"factoryCalldata\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccountDeploymentFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"returned\",\"type\":\"address\"}],\"name\":\"ReturnedAddressDoesNotMatchAccount\",\"type\":\"error\"}],\"devdoc\":{\"author\":\"Applied Blockchain (https://github.com/appliedblockchain/giano)Coinbase (https://github.com/coinbase/smart-wallet)\",\"details\":\"This contract is not meant to ever actually be deployed, only mock deployed and used via a static eth_call.\",\"errors\":{\"ReturnedAddressDoesNotMatchAccount(address,address)\":[{\"params\":{\"account\":\"The passed account\",\"returned\":\"The returned account\"}}]},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"`accountFactory` can be any address if the account is already deployed.`factoryCalldata` can be 0x if the account is already deployed.If calling with solidity, the `replaySafeHash` will be `.code`.\",\"params\":{\"account\":\"The account that will receive the ERC-1271 `isValidSignature` call.\",\"accountFactory\":\"The factory that will be used to deploy the account (if not already deployed).\",\"factoryCalldata\":\"The calldata that will be used to deploy the account (if not already deployed).\",\"hash\":\"The hash the wallet was asked to sign.\"}}},\"title\":\"ERC1271 Input Generator\",\"version\":1},\"userdoc\":{\"errors\":{\"AccountDeploymentFailed()\":[{\"notice\":\"Thrown when call to `accountFactory` with `factoryCalldata` fails.\"}],\"ReturnedAddressDoesNotMatchAccount(address,address)\":[{\"notice\":\"Thrown when the address returned from call to `accountFactory` does not match passed account\"}]},\"kind\":\"user\",\"methods\":{\"constructor\":{\"notice\":\"Computes and returns the expected ERC-1271 replay-safe hash for a GianoSmartWallet.\"}},\"notice\":\"Helper contract for generating an ERC-1271 input hash to sign for deployed and undeployed GianoSmartWallet. May be useful for generating ERC-6492 compliant signatures. Inspired by Ambire's DeploylessUniversalSigValidator https://github.com/AmbireTech/signature-validator/blob/d5f84f5fc00bfdf79b80205b983a8258b6d1b3ea/contracts/DeploylessUniversalSigValidator.sol.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/utils/ERC1271InputGenerator.sol\":\"ERC1271InputGenerator\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@account-abstraction/contracts/core/Helpers.sol\":{\"keccak256\":\"0x42b948af5fa14a96149611595df1186800c7558b2de8762e4b45a7c45c16f65e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://737a7908131ece48a5df1faaa3d0be79c42792379c27f5615dae6aa14cd68c2f\",\"dweb:/ipfs/QmPAxGMDxuek7XWSUVfZpvYE8bustfsjTDVDK8hmE88e1f\"]},\"@account-abstraction/contracts/core/UserOperationLib.sol\":{\"keccak256\":\"0x2d3450fa3906422b6fdbbe7f2a2a9e36d6f3751bfa9cd80af88befd6a5be78c1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://292a0ef5295d7f2016e99d2c228958f7f6de94f5bd9652d8696af15af0094a99\",\"dweb:/ipfs/QmVg4fhkZbUB7AopGcaVPmTdvChq7W9ga8fjrc3XaJNTM2\"]},\"@account-abstraction/contracts/interfaces/IAccount.sol\":{\"keccak256\":\"0x1030b464b49ce80da46b5b6c9af357c2d526f308de61391db6a4ec767d33b864\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://671945f8e18e7305797312b5a209506be3c9bd1d9b9b561c1e8863bccfa61319\",\"dweb:/ipfs/QmVanLK5Aenrb7J94doiE1C9oHwo86jvv8NrpDeNHwvnii\"]},\"@account-abstraction/contracts/interfaces/PackedUserOperation.sol\":{\"keccak256\":\"0xb15188e25e45fe73097e279675b6c0beccbd4133ead2260f8f0c4ba840046800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d14c1edd1e95d37c26e54bb34305e2cc9dedc46eb75ec91caeb777678e8ea79\",\"dweb:/ipfs/QmcCL2syVtV7W3XvYx3si84MPkbEJKqEN8hjFNhAPoDDhK\"]},\"FreshCryptoLib/FCL_ecdsa.sol\":{\"keccak256\":\"0x679d2e9a655cd7e156a0cfc24de0aca88d4e0b34a8e0dfe6a599f23af092f5a2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db31eb84c6f854f076d2501e3d8b5a606fb4924168bdfc6fc3de84e67ed8a80d\",\"dweb:/ipfs/QmWGAmc7B4aT6Ki52uF9QmPQKWipaptit7r3JknBHjUGfe\"]},\"FreshCryptoLib/FCL_elliptic.sol\":{\"keccak256\":\"0xac7bb3260a446851f45b8cb71e31d64ca469d7711ed04662092a9554f1283a38\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f9b0dc5a2306ad3f3a0ff4a5b947fe49422181e97c163ea237fc8bfc6736429d\",\"dweb:/ipfs/QmeruF7BvG5BNnqwqwdshoVXuXqXtajbUYB19KwPynHrQE\"]},\"openzeppelin-contracts/contracts/utils/Base64.sol\":{\"keccak256\":\"0xbee2b819e1b4bf569ffc1b1b9d560b4abd6a589575f3093edaab9244de18a0c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e478c0e9bbf3eb8cd3b7784f9b397603e34747f9ffd16571ed1d89ce102de389\",\"dweb:/ipfs/QmZ6zXpwy5xRxx9RkodJmDZSUTeEqPQUanAC5TUoYqW2VR\"]},\"solady/accounts/Receiver.sol\":{\"keccak256\":\"0xc879aa81dd5639f5fd97b31acd91658ffe33ae4b72b70ed7bd701c37addce43b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2e03a8d37d48644857d94f7432c1e2272bfd19649dfe80aba8f979f157f71f00\",\"dweb:/ipfs/QmWWS34bNWhiZgLXS9gtD8N2dxreRsVXxhvQRKqd4wKUuU\"]},\"solady/utils/CallContextChecker.sol\":{\"keccak256\":\"0xc54c743a03f4909826712e9c6b683ca95e8b0c120c55284a9e3572621ebd734b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3d3138009aba3d2fd310636f3cc1d6029e970c57ddb74693bebf2a02d3e6f12d\",\"dweb:/ipfs/QmauMpcVDyQqVnAUF75DXy831LvtxyFS7GND7kge1Zgw55\"]},\"solady/utils/LibBytes.sol\":{\"keccak256\":\"0x320c3c933df51e8fd6f1fc96de721c8cc6f1be1d4c586c11f1c472a23b86eba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cec71f42247eda74535c6e695a2ac194268a342594a26c090bafd04434698b20\",\"dweb:/ipfs/QmXA8Qaw6DdWujdrNHMHpDLNGG4QCgC859ozivrxkxp7Ea\"]},\"solady/utils/LibString.sol\":{\"keccak256\":\"0x8a6b219f6ccda90c08e2debae62618d78d6f0cef086eb6c9503793d7f12815dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d1301acbf7371cb51ab01fe3bee8a9b732ee0bcf6cc0db20ed5a3fb9241d675e\",\"dweb:/ipfs/QmXuM4tSfPDeFRvP3nEQmuezp1yEm4HxyWtU41FjiCdxAG\"]},\"solady/utils/SignatureCheckerLib.sol\":{\"keccak256\":\"0x098c7eb88b3048f227b240e0e5bf1da4a8f7622b30f6d7c06416bfcab3225e77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c2766f652916c5d6433665fb1c3b2f04c3d9292a35c12e0f8d7c71dd6438cb\",\"dweb:/ipfs/QmWTMwN2RDZUUPg7KkH1qFBjTSh84Zw8bbYwRBCQUtLN2h\"]},\"solady/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x63899eaf1a24713464b8084ada33a83c4b7db789fe83ae22f016e39646bee361\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://617fa735ffa8ba31051745614a508abd69d2cfc1b1bc1eb3c772865db5f7ce65\",\"dweb:/ipfs/QmR1pQbHPyXcLbFm2vHrXBs1qRFrGC22gF7wWYamYy8aaE\"]},\"src/AuthenticatedStaticCaller.sol\":{\"keccak256\":\"0x06bb6bea86630eda0e5920c4fe4a5d51e89d18072faf7c4b5d7ae8ca82b87b94\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2920f02558ea8bbe8ca21cbe1bcbbea7d3c4d7f0d3e812cde706f95c53b399aa\",\"dweb:/ipfs/QmaNpbMazUf1n6hpXSMq7RDJix7ipPiALKE93fMmBtbS4A\"]},\"src/ERC1271.sol\":{\"keccak256\":\"0x75c3fe08b6e1789dab7714196704f425d1afea21d725fcb6c418a70ef5bf6fad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dd292bcf9b1891abb517323636493499dbdd00bebc1f759c07fb26e103a1b71d\",\"dweb:/ipfs/QmWMT3C54pakfUCTkcPzFQAvE8nRnPqDDpFaDhY5A9fpEp\"]},\"src/GianoSmartWallet.sol\":{\"keccak256\":\"0x8b2f9e6a083aeb3bb05134b51187905197f44824f17b1e1679e42256c257bb2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88028395730ab7595b3c357bdb85f4efc6541ffcac62e239bd575ba8c95d9fa7\",\"dweb:/ipfs/QmXKaRrTW2JT6mXJ9ytY9s9yPsVg9rqLy343bW3rSmrJgS\"]},\"src/MultiOwnable.sol\":{\"keccak256\":\"0x46a9fa25c7de87b56df47b67d61b6efd96ed3f382c5d440d04de55fa23bccadd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75ac03bdfdddec29b0b1f4f9c33add4b5b9d5400b1a54691a544a59ac710de5c\",\"dweb:/ipfs/QmXajkF7z8rqmDE89H4uVaKCDyQsdwphif8BHZLLu9MQ5k\"]},\"src/utils/ERC1271InputGenerator.sol\":{\"keccak256\":\"0xeedc1d0ae56555659e3c4242955fdb0ee3b4ab24495bcd58ed5fdf2711fcf62e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://83fad6dad1f69c6dcddacfd647bd6c329995a36614ab076d4a7d45b7a863e1ef\",\"dweb:/ipfs/QmanbjcevRe7YYv4hdofu59vuudwVLJaCXofjHY7wXiDPT\"]},\"webauthn-sol/WebAuthn.sol\":{\"keccak256\":\"0x5f38c750d900e5b5f22264ce71ead4a52528d24c52ff82928949833a5b2cea9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c373620c40cb0ddf0e347d3d6426dd9e34b8eb62ee83844372b48689f62dee5c\",\"dweb:/ipfs/QmdxkcQtgQZfKg8LZ3H5XuWhd1e1c4raa44oMnSGHgayt5\"]}},\"version\":1}" + "metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract GianoSmartWallet\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"accountFactory\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"factoryCalldata\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccountDeploymentFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"returned\",\"type\":\"address\"}],\"name\":\"ReturnedAddressDoesNotMatchAccount\",\"type\":\"error\"}],\"devdoc\":{\"author\":\"Applied Blockchain (https://github.com/appliedblockchain/giano)Coinbase (https://github.com/coinbase/smart-wallet)\",\"details\":\"This contract is not meant to ever actually be deployed, only mock deployed and used via a static eth_call.\",\"errors\":{\"ReturnedAddressDoesNotMatchAccount(address,address)\":[{\"params\":{\"account\":\"The passed account\",\"returned\":\"The returned account\"}}]},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"`accountFactory` can be any address if the account is already deployed.`factoryCalldata` can be 0x if the account is already deployed.If calling with solidity, the `replaySafeHash` will be `.code`.\",\"params\":{\"account\":\"The account that will receive the ERC-1271 `isValidSignature` call.\",\"accountFactory\":\"The factory that will be used to deploy the account (if not already deployed).\",\"factoryCalldata\":\"The calldata that will be used to deploy the account (if not already deployed).\",\"hash\":\"The hash the wallet was asked to sign.\"}}},\"title\":\"ERC1271 Input Generator\",\"version\":1},\"userdoc\":{\"errors\":{\"AccountDeploymentFailed()\":[{\"notice\":\"Thrown when call to `accountFactory` with `factoryCalldata` fails.\"}],\"ReturnedAddressDoesNotMatchAccount(address,address)\":[{\"notice\":\"Thrown when the address returned from call to `accountFactory` does not match passed account\"}]},\"kind\":\"user\",\"methods\":{\"constructor\":{\"notice\":\"Computes and returns the expected ERC-1271 replay-safe hash for a GianoSmartWallet.\"}},\"notice\":\"Helper contract for generating an ERC-1271 input hash to sign for deployed and undeployed GianoSmartWallet. May be useful for generating ERC-6492 compliant signatures. Inspired by Ambire's DeploylessUniversalSigValidator https://github.com/AmbireTech/signature-validator/blob/d5f84f5fc00bfdf79b80205b983a8258b6d1b3ea/contracts/DeploylessUniversalSigValidator.sol.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/utils/ERC1271InputGenerator.sol\":\"ERC1271InputGenerator\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@account-abstraction/contracts/core/Helpers.sol\":{\"keccak256\":\"0x6247e011a6cb0b263b3aa098822977181674d91b62e5bdfe04c6e66f72da25d6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ca829a69b3fbc74fec8e140d42a2bf93bc3512609272f031c846470f61f0ab7e\",\"dweb:/ipfs/QmP3r3MBgAN39KeVB1rCGJWwcBcotNt26ALtAR54poQ1Jc\"]},\"@account-abstraction/contracts/core/UserOperationLib.sol\":{\"keccak256\":\"0x9d50ece985d35f82e33e5da417595c86fac10449e3d10895d08363d33aad454b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b1d11cc364c8bf7ed5388268c895b5ffed16e87dfbcb320ddeeba5e7974315dc\",\"dweb:/ipfs/QmYSpvjxEjweietQrYZagwQ52ipy7eXx4rwvnTzXKeGeMS\"]},\"@account-abstraction/contracts/interfaces/IAccount.sol\":{\"keccak256\":\"0x38710bec0cb20ff4ceef46a80475b5bdabc27b7efd2687fd473db68332f61b78\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://dea7a723e1ef852e8764e69914a345d2e8bc5e13facfc9d5c29d791cb4ab0020\",\"dweb:/ipfs/QmU8dYgyF4DBJXFqjwLAtnE3q8q259ChfoEk9a6wyhHzEP\"]},\"@account-abstraction/contracts/interfaces/PackedUserOperation.sol\":{\"keccak256\":\"0x1129b46381db68eddbc5cb49e50664667b66b03c480453858e7b25eabe444359\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://499a948aba60480dba6e25c763b8d918f1c246eb7a3302e04f493e080f3295be\",\"dweb:/ipfs/QmeRhhswf4NACcBKam2PyjpTP2ddSm648kah5kkQJsvwz3\"]},\"FreshCryptoLib/FCL_ecdsa.sol\":{\"keccak256\":\"0x679d2e9a655cd7e156a0cfc24de0aca88d4e0b34a8e0dfe6a599f23af092f5a2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db31eb84c6f854f076d2501e3d8b5a606fb4924168bdfc6fc3de84e67ed8a80d\",\"dweb:/ipfs/QmWGAmc7B4aT6Ki52uF9QmPQKWipaptit7r3JknBHjUGfe\"]},\"FreshCryptoLib/FCL_elliptic.sol\":{\"keccak256\":\"0xac7bb3260a446851f45b8cb71e31d64ca469d7711ed04662092a9554f1283a38\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f9b0dc5a2306ad3f3a0ff4a5b947fe49422181e97c163ea237fc8bfc6736429d\",\"dweb:/ipfs/QmeruF7BvG5BNnqwqwdshoVXuXqXtajbUYB19KwPynHrQE\"]},\"openzeppelin-contracts/contracts/utils/Base64.sol\":{\"keccak256\":\"0xbee2b819e1b4bf569ffc1b1b9d560b4abd6a589575f3093edaab9244de18a0c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e478c0e9bbf3eb8cd3b7784f9b397603e34747f9ffd16571ed1d89ce102de389\",\"dweb:/ipfs/QmZ6zXpwy5xRxx9RkodJmDZSUTeEqPQUanAC5TUoYqW2VR\"]},\"solady/accounts/Receiver.sol\":{\"keccak256\":\"0xc879aa81dd5639f5fd97b31acd91658ffe33ae4b72b70ed7bd701c37addce43b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2e03a8d37d48644857d94f7432c1e2272bfd19649dfe80aba8f979f157f71f00\",\"dweb:/ipfs/QmWWS34bNWhiZgLXS9gtD8N2dxreRsVXxhvQRKqd4wKUuU\"]},\"solady/utils/CallContextChecker.sol\":{\"keccak256\":\"0xc54c743a03f4909826712e9c6b683ca95e8b0c120c55284a9e3572621ebd734b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3d3138009aba3d2fd310636f3cc1d6029e970c57ddb74693bebf2a02d3e6f12d\",\"dweb:/ipfs/QmauMpcVDyQqVnAUF75DXy831LvtxyFS7GND7kge1Zgw55\"]},\"solady/utils/LibBytes.sol\":{\"keccak256\":\"0x320c3c933df51e8fd6f1fc96de721c8cc6f1be1d4c586c11f1c472a23b86eba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cec71f42247eda74535c6e695a2ac194268a342594a26c090bafd04434698b20\",\"dweb:/ipfs/QmXA8Qaw6DdWujdrNHMHpDLNGG4QCgC859ozivrxkxp7Ea\"]},\"solady/utils/LibString.sol\":{\"keccak256\":\"0x8a6b219f6ccda90c08e2debae62618d78d6f0cef086eb6c9503793d7f12815dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d1301acbf7371cb51ab01fe3bee8a9b732ee0bcf6cc0db20ed5a3fb9241d675e\",\"dweb:/ipfs/QmXuM4tSfPDeFRvP3nEQmuezp1yEm4HxyWtU41FjiCdxAG\"]},\"solady/utils/SignatureCheckerLib.sol\":{\"keccak256\":\"0x098c7eb88b3048f227b240e0e5bf1da4a8f7622b30f6d7c06416bfcab3225e77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c2766f652916c5d6433665fb1c3b2f04c3d9292a35c12e0f8d7c71dd6438cb\",\"dweb:/ipfs/QmWTMwN2RDZUUPg7KkH1qFBjTSh84Zw8bbYwRBCQUtLN2h\"]},\"solady/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x63899eaf1a24713464b8084ada33a83c4b7db789fe83ae22f016e39646bee361\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://617fa735ffa8ba31051745614a508abd69d2cfc1b1bc1eb3c772865db5f7ce65\",\"dweb:/ipfs/QmR1pQbHPyXcLbFm2vHrXBs1qRFrGC22gF7wWYamYy8aaE\"]},\"src/AuthenticatedStaticCaller.sol\":{\"keccak256\":\"0x06bb6bea86630eda0e5920c4fe4a5d51e89d18072faf7c4b5d7ae8ca82b87b94\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2920f02558ea8bbe8ca21cbe1bcbbea7d3c4d7f0d3e812cde706f95c53b399aa\",\"dweb:/ipfs/QmaNpbMazUf1n6hpXSMq7RDJix7ipPiALKE93fMmBtbS4A\"]},\"src/ERC1271.sol\":{\"keccak256\":\"0x75c3fe08b6e1789dab7714196704f425d1afea21d725fcb6c418a70ef5bf6fad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dd292bcf9b1891abb517323636493499dbdd00bebc1f759c07fb26e103a1b71d\",\"dweb:/ipfs/QmWMT3C54pakfUCTkcPzFQAvE8nRnPqDDpFaDhY5A9fpEp\"]},\"src/GianoSmartWallet.sol\":{\"keccak256\":\"0x10f35f381fe7d934aa2f83dde5f50a69efbe49600679cb8cd7777fb07931e4e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a93eeba861ccaf70dfe6d9ed594f5ae55d37ee9feab8e4867c95657b36ae1b51\",\"dweb:/ipfs/QmTPuS5LuaW2Fx3QAXoUD4gSErZ8CoRQKFk8Nsy3vMe2PV\"]},\"src/MultiOwnable.sol\":{\"keccak256\":\"0x46a9fa25c7de87b56df47b67d61b6efd96ed3f382c5d440d04de55fa23bccadd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75ac03bdfdddec29b0b1f4f9c33add4b5b9d5400b1a54691a544a59ac710de5c\",\"dweb:/ipfs/QmXajkF7z8rqmDE89H4uVaKCDyQsdwphif8BHZLLu9MQ5k\"]},\"src/utils/ERC1271InputGenerator.sol\":{\"keccak256\":\"0xeedc1d0ae56555659e3c4242955fdb0ee3b4ab24495bcd58ed5fdf2711fcf62e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://83fad6dad1f69c6dcddacfd647bd6c329995a36614ab076d4a7d45b7a863e1ef\",\"dweb:/ipfs/QmanbjcevRe7YYv4hdofu59vuudwVLJaCXofjHY7wXiDPT\"]},\"webauthn-sol/WebAuthn.sol\":{\"keccak256\":\"0x8b940975249f72155110e5e5b4611fc9031330538183862b9d8f12ea7c30ad25\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://433957720c13a834b9aab98a5054e9dabe5c660a1a3fb267e6ad1a22b99b68ed\",\"dweb:/ipfs/QmTkQxCCf8kDAHa6rBwLT2mxFXN3tSAWyx4rLmgcLkFkRh\"]}},\"version\":1}" } }, "webauthn-sol/WebAuthn.sol": { @@ -236208,22 +237424,22 @@ "functionDebugData": {}, "generatedSources": [], "linkReferences": {}, - "object": "60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea264697066735822122070b461e86c866b1d7affe1ca3d40373d8da22f3518d2e3a52e1c0018b7b7c9a864736f6c634300081c0033", - "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE CALLVALUE PUSH1 0x17 JUMPI PUSH1 0x3A SWAP1 DUP2 PUSH1 0x1D DUP3 CODECOPY ADDRESS DUP2 POP POP RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH17 0xB461E86C866B1D7AFFE1CA3D40373D8DA2 0x2F CALLDATALOAD XOR 0xD2 0xE3 0xA5 0x2E SHR STOP XOR 0xB7 0xB7 0xC9 0xA8 PUSH5 0x736F6C6343 STOP ADDMOD SHR STOP CALLER ", - "sourceMap": "761:8846:20:-:0;;;;;;;;;;;;;;;;;;;;;" + "object": "60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea264697066735822122005e34eb23fb9c6a050d1789ffaa8d1e291a45b310524f395a5b9cd0ff332741b64736f6c634300081c0033", + "opcodes": "PUSH1 0x80 DUP1 PUSH1 0x40 MSTORE CALLVALUE PUSH1 0x17 JUMPI PUSH1 0x3A SWAP1 DUP2 PUSH1 0x1D DUP3 CODECOPY ADDRESS DUP2 POP POP RETURN JUMPDEST PUSH1 0x0 DUP1 REVERT INVALID PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SDIV 0xE3 0x4E 0xB2 EXTCODEHASH 0xB9 0xC6 LOG0 POP 0xD1 PUSH25 0x9FFAA8D1E291A45B310524F395A5B9CD0FF332741B64736F6C PUSH4 0x4300081C STOP CALLER ", + "sourceMap": "761:8886:20:-:0;;;;;;;;;;;;;;;;;;;;;" }, "deployedBytecode": { "functionDebugData": {}, "generatedSources": [], "immutableReferences": {}, "linkReferences": {}, - "object": "600080fdfea264697066735822122070b461e86c866b1d7affe1ca3d40373d8da22f3518d2e3a52e1c0018b7b7c9a864736f6c634300081c0033", - "opcodes": "PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH17 0xB461E86C866B1D7AFFE1CA3D40373D8DA2 0x2F CALLDATALOAD XOR 0xD2 0xE3 0xA5 0x2E SHR STOP XOR 0xB7 0xB7 0xC9 0xA8 PUSH5 0x736F6C6343 STOP ADDMOD SHR STOP CALLER ", - "sourceMap": "761:8846:20:-:0;;" + "object": "600080fdfea264697066735822122005e34eb23fb9c6a050d1789ffaa8d1e291a45b310524f395a5b9cd0ff332741b64736f6c634300081c0033", + "opcodes": "PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SDIV 0xE3 0x4E 0xB2 EXTCODEHASH 0xB9 0xC6 LOG0 POP 0xD1 PUSH25 0x9FFAA8D1E291A45B310524F395A5B9CD0FF332741B64736F6C PUSH4 0x4300081C STOP CALLER ", + "sourceMap": "761:8886:20:-:0;;" }, "methodIdentifiers": {} }, - "metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Coinbase (https://github.com/base-org/webauthn-sol)Daimo (https://github.com/daimo-eth/p256-verifier/blob/master/src/WebAuthn.sol)\",\"details\":\"Attempts to use the RIP-7212 precompile for signature verification. If precompile verification fails, it falls back to FreshCryptoLib.\",\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"_AUTH_DATA_FLAGS_UP\":{\"details\":\"Bit 0 of the authenticator data struct, corresponding to the \\\"User Present\\\" bit. See https://www.w3.org/TR/webauthn-2/#flags.\"},\"_AUTH_DATA_FLAGS_UV\":{\"details\":\"Bit 2 of the authenticator data struct, corresponding to the \\\"User Verified\\\" bit. See https://www.w3.org/TR/webauthn-2/#flags.\"},\"_EXPECTED_TYPE_HASH\":{\"details\":\"The expected type (hash) in the client data JSON when verifying assertion signatures. See https://www.w3.org/TR/webauthn-2/#dom-collectedclientdata-type\"},\"_P256_N_DIV_2\":{\"details\":\"Secp256r1 curve order / 2 used as guard to prevent signature malleability issue.\"},\"_VERIFIER\":{\"details\":\"The precompiled contract address to use for signature verification in the \\u201csecp256r1\\u201d elliptic curve. See https://github.com/ethereum/RIPs/blob/master/RIPS/rip-7212.md.\"}},\"title\":\"WebAuthn\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A library for verifying WebAuthn Authentication Assertions, built off the work of Daimo.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"webauthn-sol/WebAuthn.sol\":\"WebAuthn\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"FreshCryptoLib/FCL_ecdsa.sol\":{\"keccak256\":\"0x679d2e9a655cd7e156a0cfc24de0aca88d4e0b34a8e0dfe6a599f23af092f5a2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db31eb84c6f854f076d2501e3d8b5a606fb4924168bdfc6fc3de84e67ed8a80d\",\"dweb:/ipfs/QmWGAmc7B4aT6Ki52uF9QmPQKWipaptit7r3JknBHjUGfe\"]},\"FreshCryptoLib/FCL_elliptic.sol\":{\"keccak256\":\"0xac7bb3260a446851f45b8cb71e31d64ca469d7711ed04662092a9554f1283a38\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f9b0dc5a2306ad3f3a0ff4a5b947fe49422181e97c163ea237fc8bfc6736429d\",\"dweb:/ipfs/QmeruF7BvG5BNnqwqwdshoVXuXqXtajbUYB19KwPynHrQE\"]},\"openzeppelin-contracts/contracts/utils/Base64.sol\":{\"keccak256\":\"0xbee2b819e1b4bf569ffc1b1b9d560b4abd6a589575f3093edaab9244de18a0c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e478c0e9bbf3eb8cd3b7784f9b397603e34747f9ffd16571ed1d89ce102de389\",\"dweb:/ipfs/QmZ6zXpwy5xRxx9RkodJmDZSUTeEqPQUanAC5TUoYqW2VR\"]},\"solady/utils/LibBytes.sol\":{\"keccak256\":\"0x320c3c933df51e8fd6f1fc96de721c8cc6f1be1d4c586c11f1c472a23b86eba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cec71f42247eda74535c6e695a2ac194268a342594a26c090bafd04434698b20\",\"dweb:/ipfs/QmXA8Qaw6DdWujdrNHMHpDLNGG4QCgC859ozivrxkxp7Ea\"]},\"solady/utils/LibString.sol\":{\"keccak256\":\"0x8a6b219f6ccda90c08e2debae62618d78d6f0cef086eb6c9503793d7f12815dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d1301acbf7371cb51ab01fe3bee8a9b732ee0bcf6cc0db20ed5a3fb9241d675e\",\"dweb:/ipfs/QmXuM4tSfPDeFRvP3nEQmuezp1yEm4HxyWtU41FjiCdxAG\"]},\"webauthn-sol/WebAuthn.sol\":{\"keccak256\":\"0x5f38c750d900e5b5f22264ce71ead4a52528d24c52ff82928949833a5b2cea9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c373620c40cb0ddf0e347d3d6426dd9e34b8eb62ee83844372b48689f62dee5c\",\"dweb:/ipfs/QmdxkcQtgQZfKg8LZ3H5XuWhd1e1c4raa44oMnSGHgayt5\"]}},\"version\":1}" + "metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Coinbase (https://github.com/base-org/webauthn-sol)Daimo (https://github.com/daimo-eth/p256-verifier/blob/master/src/WebAuthn.sol)\",\"details\":\"Attempts to use the RIP-7212 precompile for signature verification. If precompile verification fails, it falls back to FreshCryptoLib.\",\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"_AUTH_DATA_FLAGS_UP\":{\"details\":\"Bit 0 of the authenticator data struct, corresponding to the \\\"User Present\\\" bit. See https://www.w3.org/TR/webauthn-2/#flags.\"},\"_AUTH_DATA_FLAGS_UV\":{\"details\":\"Bit 2 of the authenticator data struct, corresponding to the \\\"User Verified\\\" bit. See https://www.w3.org/TR/webauthn-2/#flags.\"},\"_EXPECTED_TYPE_HASH\":{\"details\":\"The expected type (hash) in the client data JSON when verifying assertion signatures. See https://www.w3.org/TR/webauthn-2/#dom-collectedclientdata-type\"},\"_P256_N_DIV_2\":{\"details\":\"Secp256r1 curve order / 2 used as guard to prevent signature malleability issue.\"},\"_VERIFIER\":{\"details\":\"The precompiled contract address to use for signature verification in the \\u201csecp256r1\\u201d elliptic curve. See https://github.com/ethereum/RIPs/blob/master/RIPS/rip-7212.md.\"}},\"title\":\"WebAuthn\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A library for verifying WebAuthn Authentication Assertions, built off the work of Daimo.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"webauthn-sol/WebAuthn.sol\":\"WebAuthn\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"FreshCryptoLib/FCL_ecdsa.sol\":{\"keccak256\":\"0x679d2e9a655cd7e156a0cfc24de0aca88d4e0b34a8e0dfe6a599f23af092f5a2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db31eb84c6f854f076d2501e3d8b5a606fb4924168bdfc6fc3de84e67ed8a80d\",\"dweb:/ipfs/QmWGAmc7B4aT6Ki52uF9QmPQKWipaptit7r3JknBHjUGfe\"]},\"FreshCryptoLib/FCL_elliptic.sol\":{\"keccak256\":\"0xac7bb3260a446851f45b8cb71e31d64ca469d7711ed04662092a9554f1283a38\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f9b0dc5a2306ad3f3a0ff4a5b947fe49422181e97c163ea237fc8bfc6736429d\",\"dweb:/ipfs/QmeruF7BvG5BNnqwqwdshoVXuXqXtajbUYB19KwPynHrQE\"]},\"openzeppelin-contracts/contracts/utils/Base64.sol\":{\"keccak256\":\"0xbee2b819e1b4bf569ffc1b1b9d560b4abd6a589575f3093edaab9244de18a0c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e478c0e9bbf3eb8cd3b7784f9b397603e34747f9ffd16571ed1d89ce102de389\",\"dweb:/ipfs/QmZ6zXpwy5xRxx9RkodJmDZSUTeEqPQUanAC5TUoYqW2VR\"]},\"solady/utils/LibBytes.sol\":{\"keccak256\":\"0x320c3c933df51e8fd6f1fc96de721c8cc6f1be1d4c586c11f1c472a23b86eba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cec71f42247eda74535c6e695a2ac194268a342594a26c090bafd04434698b20\",\"dweb:/ipfs/QmXA8Qaw6DdWujdrNHMHpDLNGG4QCgC859ozivrxkxp7Ea\"]},\"solady/utils/LibString.sol\":{\"keccak256\":\"0x8a6b219f6ccda90c08e2debae62618d78d6f0cef086eb6c9503793d7f12815dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d1301acbf7371cb51ab01fe3bee8a9b732ee0bcf6cc0db20ed5a3fb9241d675e\",\"dweb:/ipfs/QmXuM4tSfPDeFRvP3nEQmuezp1yEm4HxyWtU41FjiCdxAG\"]},\"webauthn-sol/WebAuthn.sol\":{\"keccak256\":\"0x8b940975249f72155110e5e5b4611fc9031330538183862b9d8f12ea7c30ad25\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://433957720c13a834b9aab98a5054e9dabe5c660a1a3fb267e6ad1a22b99b68ed\",\"dweb:/ipfs/QmTkQxCCf8kDAHa6rBwLT2mxFXN3tSAWyx4rLmgcLkFkRh\"]}},\"version\":1}" } } } diff --git a/packages/contracts/ignition/deployments/chain-381185/deployed_addresses.json b/packages/contracts/ignition/deployments/chain-381185/deployed_addresses.json index 791d6cc..01e99f1 100644 --- a/packages/contracts/ignition/deployments/chain-381185/deployed_addresses.json +++ b/packages/contracts/ignition/deployments/chain-381185/deployed_addresses.json @@ -1,5 +1,6 @@ { - "CredentialKeyMapper#CredentialKeyMapper": "0x297406bb0c4cBDB6A722Cf2728c5592eEd774195", - "GianoAccountFactory#GianoSmartWallet": "0x20D4f4f71E7E50FE3a1CC51DfFAC2260741adb2D", - "GianoAccountFactory#GianoSmartWalletFactory": "0xC932321e8A7DceE09C7F793d0796885aC080DFa5" + "GianoAccountFactory#GianoSmartWallet": "0x95DF1A132Dd445DE98A308BC56B814D0b57EBF1C", + "GianoAccountFactory#GianoSmartWalletFactory": "0x3451C87749FE28Af2995f644aBc8d5B1c61A6191", + "Testing#PermissivePaymaster": "0x10fa47FdaC8115Ef25e824AEAd78b009931FA73B", + "Testing#PrivateERC20": "0x42945BBB6a4C3BD022309741aadeb7976526C739" } diff --git a/packages/contracts/ignition/deployments/chain-381185/journal.jsonl b/packages/contracts/ignition/deployments/chain-381185/journal.jsonl index ac4e3bb..3e7dda6 100644 --- a/packages/contracts/ignition/deployments/chain-381185/journal.jsonl +++ b/packages/contracts/ignition/deployments/chain-381185/journal.jsonl @@ -1,20 +1,32 @@ {"chainId":381185,"type":"DEPLOYMENT_INITIALIZE"} -{"artifactId":"CredentialKeyMapper#CredentialKeyMapper","constructorArgs":[],"contractName":"CredentialKeyMapper","dependencies":[],"from":"0x10997dda78c76126c2ce9355d7630508acd33ab6","futureId":"CredentialKeyMapper#CredentialKeyMapper","futureType":"NAMED_ARTIFACT_CONTRACT_DEPLOYMENT","libraries":{},"strategy":"create2","strategyConfig":{"salt":"0x0000000000000000000000000000000000000000000000000000000000000000"},"type":"DEPLOYMENT_EXECUTION_STATE_INITIALIZE","value":{"_kind":"bigint","value":"0"}} -{"futureId":"CredentialKeyMapper#CredentialKeyMapper","networkInteraction":{"data":"0x263076680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000014f5608080604052346015576114da908161001b8239f35b600080fdfe6080604052600436101561001257600080fd5b60003560e01c8063185d0dcd146100475780631874cc361461004257637415a7251461003d57600080fd5b610120565b6100bf565b346100ba5760203660031901126100ba5760043561006560c0604052565b6000608052600060a05260005260006020526100b6604060002060016040519161008e836101d6565b8054835201546020820152604051918291829190916020806040830194805184520151910152565b0390f35b600080fd5b346100ba5760403660031901126100ba5760243560043567ffffffffffffffff82116100ba57366023830112156100ba5781600401359067ffffffffffffffff82116100ba5736602483850101116100ba57602461011e93019061022a565b005b346100ba5760603660031901126100ba5760043560403660231901126100ba578060005260006020526040600020546101ac57602435801580156101a2575b6101895761011e61017a836000526000602052604060002090565b60243581556001604435910155565b6339b4a3c160e01b600052600452604480356024526000fd5b506044351561015f565b6377864e4b60e11b60005260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff8211176101f257604052565b6101c0565b90601f8019910116810190811067ffffffffffffffff8211176101f257604052565b6040519061022860c0836101f7565b565b6040516020810190630c3a661b60e11b8252826024820152602481526102516044826101f7565b5190209181600052600060205260406000205493826000526000602052600160406000200154908201916020818403126100ba5780359067ffffffffffffffff82116100ba57019460c0868403126100ba576102ab610219565b863567ffffffffffffffff81116100ba57846102c8918901610388565b815260208701359667ffffffffffffffff88116100ba5761034a6103609760a0836102fe61034f996102289d61033c9701610388565b6020870152604081013560408701526060810135606087015260808101356080870152013560a0850152604051928391602083019190602083019252565b03601f1981018352826101f7565b610540565b506000526000602052604060002090565b60016000918281550155565b67ffffffffffffffff81116101f257601f01601f191660200190565b81601f820112156100ba576020813591016103a28261036c565b926103b060405194856101f7565b828452828201116100ba5781600092602092838601378301015290565b634e487b7160e01b600052601160045260246000fd5b90601582018092116103f157565b6103cd565b90600282018092116103f157565b919082018092116103f157565b60005b8381106104245750506000910152565b8181015183820152602001610414565b9061044760209282815194859201610411565b0190565b906102286001602d60405180956c1131b430b63632b733b2911d1160991b60208301526104818151809260208686019101610411565b8101601160f91b838201520301601e198101855201836101f7565b8051602010156104ac5760400190565b634e487b7160e01b600052603260045260246000fd5b6040513d6000823e3d90fd5b60209291906104e4849282815194859201610411565b019081520190565b604051906104fb6020836101f7565b60008252565b3d1561052c573d906105128261036c565b9161052060405193846101f7565b82523d6000602084013e565b606090565b908160209103126100ba575190565b92919060009360a082019485517f7fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a8106107205760208301917fff1a2a9176d650e4a99dedb58f1793003935130579fe17b5a3f698ac5b00e6346105b2845160608701516105ac816103e3565b916108ca565b6020815191012003610729576105ca6105cf91610733565b61044b565b6105e4835160408601516105ac845182610404565b6020815191012090602081519101200361072057600160f81b600160f81b61061d61060f865161049c565b516001600160f81b03191690565b16036107205761063a602092600092505160405191828092610434565b039060025afa1561071b57602060006106708151610664855161033c6040519384928884016104ce565b60405191828092610434565b039060025afa1561071b5760806000519101936000808651856106c3855161033c8a60405194859360208501978c899192608093969594919660a084019784526020840152604083015260608201520152565b51906101005afa946106d3610501565b80519680610712575b6106f257506106ef9550519051916107c2565b90565b60019661070e9650810160209081019550019250610531915050565b1490565b508615156106dc565b6104c2565b94505050505090565b5094505050505090565b6040516106ef916107456060836101f7565b604082527f4142434445464748494a4b4c4d4e4f505152535455565758595a61626364656660208301527f6768696a6b6c6d6e6f707172737475767778797a303132333435363738392d5f604083015261098e565b600080516020611485833981519152039060008051602061148583398151915282116103f157565b9391909293831580156108b2575b80156108aa575b8015610892575b610888576107ec8386610a36565b156108885760405191602083526020808401526020604084015260608301527fffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254f608083015260008051602061148583398151915260a083015260208260c0816005600019fa156100ba5760008051602061148583398151915294610882938661087c945181818909940991610b11565b9161079a565b90081590565b5050505050600090565b506000805160206114858339815191528210156107de565b5081156107d7565b506000805160206114858339815191528410156107d0565b80516060949392908381111561093c575b81811115610934575b508281106108f157505050565b6040519450918290039101601f8201601f19165b8181015185820152601f190190811561091e5790610905565b5050604081840160006020820152016040528252565b9050386108e4565b9250826108db565b600281901b91906001600160fe1b038116036103f157565b906109668261036c565b61097360405191826101f7565b8281528092610984601f199161036c565b0190602036910137565b90815115610a2c57906109bb6109b66109af6109aa8451610944565b6103f6565b6003900490565b61095c565b91602083019082805101906020820192835194600085525b8381106109e257505050505290565b600360049101916001603f845182828260121c16880101518453828282600c1c16880101518385015382828260061c168801015160028501531685010151600382015301906109d3565b50506106ef6104ec565b600160601b63ffffffff60c01b03198110801590610af9575b8015610ae8575b610ae157600160601b63ffffffff60c01b0319907f5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b908290817fffffffff00000001000000000000000000000000fffffffffffffffffffffffc820990600160601b63ffffffff60c01b0319908181800909080890600160601b63ffffffff60c01b03199080091490565b5050600090565b5080158015610a5657508115610a56565b50600160601b63ffffffff60c01b0319821015610a4f565b9092600092908360ff81841580611108575b6110fd57610b318887611110565b9290918215806110f5575b6110ba575b5085811c60028660fe1c16015b156110a157600186821c16600286831c60011b160160018114611056575b60028114611049575b60031461103c575b600198600019919091019694959489949392915b8860001911610c0f5750505050505050505060405191606083015260208252602080830152602060408301526002600160601b0363ffffffff60c01b03196080830152600163ffffffff60601b0360601b1960a083015260208260c0816005600019fa156100ba579051600160601b63ffffffff60c01b0319910990565b909192939495969798600163ffffffff60601b0360601b198660020990600160601b63ffffffff60c01b0319828009600160601b63ffffffff60c01b031981830992600160601b63ffffffff60c01b03199082900991600160601b63ffffffff60c01b03199081908f8281830891600160601b63ffffffff60c01b031991820390080960030998600160601b63ffffffff60c01b03199083099c600160601b63ffffffff60c01b0319910991600160601b63ffffffff60c01b031980826002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b03198b80090898600160601b63ffffffff60c01b031991829081038b08900996600160601b63ffffffff60c01b03199088908290840908968b60028c60018d841c16921c60011b1601801561101f5760018114610fd4575b60028114610fc9575b600314610fc0575b8215610fad57600160601b63ffffffff60c01b031990889082908f90090890600160601b63ffffffff60c01b03199089820390829085900908978115610e73575b600160601b63ffffffff60c01b031989800998600160601b63ffffffff60c01b0319908a0992600160601b63ffffffff60c01b0319908a90099c600160601b63ffffffff60c01b03199084900998600160601b63ffffffff60c01b03199109600160601b63ffffffff60c01b031980826002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b031985810381868009080897600160601b63ffffffff60c01b03199384910991600160601b63ffffffff60c01b03199182908a82039008090894985b600019019796959493929190610b91565b88610d96579a91975090959050600160601b63ffffffff60c01b0319816002600160601b0363ffffffff60c01b0319099a600160601b63ffffffff60c01b03198c8009600160601b63ffffffff60c01b0319818d099c600160601b63ffffffff60c01b0319908290099b600160601b63ffffffff60c01b031990818b8103820890600160601b63ffffffff60c01b0319908c900809600160601b63ffffffff60c01b03199060030991600160601b63ffffffff60c01b0319908d0998600160601b63ffffffff60c01b031991099b600160601b63ffffffff60c01b031980826002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b0319848009089b600160601b63ffffffff60c01b03199384910991600160601b63ffffffff60c01b03199182908e8203900890090894610e62565b60019c50909a8c98509096509050610e62565b50508385610d55565b859250849150610d4d565b7f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29692507f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f59150610d44565b50505099959894600163ffffffff60601b0360601b190394610e62565b9250809650958192610b7d565b9697508796899450610b75565b7f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29698507f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f59450610b6c565b60001901600186821c16600286831c60011b1601610b4e565b949560008051602061148583398151915291968203900894848615806110ed575b15610b41579850505050505050505090565b5060016110db565b508315610b3c565b965050505050505090565b508315610b23565b91907f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2967f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f59180156112c857846112a694958314806112bf575b156112aa5750600160601b63ffffffff60c01b0319905082600209600160601b63ffffffff60c01b031981800992600160601b63ffffffff60c01b031984840991600160601b63ffffffff60c01b03199085900992600160601b63ffffffff60c01b0319908190816001820890600160601b63ffffffff60c01b0319907fffffffff00000001000000000000000000000000fffffffffffffffffffffffe900809600309600160601b63ffffffff60c01b031980846002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b03198380090892600160601b63ffffffff60c01b03196001860995600160601b63ffffffff60c01b0319906001900994600160601b63ffffffff60c01b031993849109600160601b63ffffffff60c01b031990810392909182908682039008900908906113ea565b9091565b9091926112b6936112ce565b929091906113ea565b50818414611169565b50925090565b91939080156113e157600160601b63ffffffff60c01b03199081039384908290600190090893600160601b63ffffffff60c01b031990838203908290600190090892600160601b63ffffffff60c01b031984800993600160601b63ffffffff60c01b031990850992600160601b63ffffffff60c01b03199085900994600160601b63ffffffff60c01b031980876002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b031986810381858009080895600160601b63ffffffff60c01b031992839086900991600160601b63ffffffff60c01b03199182908982039008090892600160601b63ffffffff60c01b03199060010991600160601b63ffffffff60c01b03199060010990565b50600191508190565b91909260405190602082526020808301526020604083015260608201526002600160601b0363ffffffff60c01b03196080820152600163ffffffff60601b0360601b1960a082015260208160c0816005600019fa156100ba575192600160601b63ffffffff60c01b03199084900992600160601b63ffffffff60c01b03199109600160601b63ffffffff60c01b031991908290800990099156feffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551a2646970667358221220e47add3c302cfd7450ab0d91737d23a225224a244a6c5360ba690ffd4fc2e63d64736f6c634300081c00330000000000000000000000","id":1,"to":"0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed","type":"ONCHAIN_INTERACTION","value":{"_kind":"bigint","value":"0"}},"type":"NETWORK_INTERACTION_REQUEST"} -{"futureId":"CredentialKeyMapper#CredentialKeyMapper","networkInteractionId":1,"nonce":0,"type":"TRANSACTION_PREPARE_SEND"} -{"futureId":"CredentialKeyMapper#CredentialKeyMapper","networkInteractionId":1,"nonce":0,"transaction":{"fees":{"maxFeePerGas":{"_kind":"bigint","value":"1000502"},"maxPriorityFeePerGas":{"_kind":"bigint","value":"1000000"}},"hash":"0x0bff028212e0ed57dee89d4de018daa9ca05920ebf3cd055e61d274b5473b01f"},"type":"TRANSACTION_SEND"} -{"artifactId":"GianoAccountFactory#GianoSmartWallet","constructorArgs":[],"contractName":"GianoSmartWallet","dependencies":[],"from":"0x10997dda78c76126c2ce9355d7630508acd33ab6","futureId":"GianoAccountFactory#GianoSmartWallet","futureType":"NAMED_ARTIFACT_CONTRACT_DEPLOYMENT","libraries":{},"strategy":"create2","strategyConfig":{"salt":"0x0000000000000000000000000000000000000000000000000000000000000000"},"type":"DEPLOYMENT_EXECUTION_STATE_INITIALIZE","value":{"_kind":"bigint","value":"0"}} -{"futureId":"GianoAccountFactory#GianoSmartWallet","networkInteraction":{"data":"0x2630766800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000338a60a0604052346103de57306080526040805161001b82826103e3565b60018152601f19820160005b8181106103cd5750508151600060208201526020815261004783826103e3565b61005082610406565b5261005a81610406565b507f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f5005460005b825181101561038c5760206100958285610429565b5151141580610377575b6103505760206100af8285610429565b51511480610312575b6102eb576100c68184610429565b51918060001981146102d5576001019260ff6100e18261048c565b54166102b5576100f08161048c565b805460ff1916600117905560008281527f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f50260205286902081516001600160401b03811161029f578154600181811c91168015610295575b602082101461027f57601f8111610237575b506020601f82116001146101bc579260008051602061336a83398151915292826101a89360019897966000916101b1575b50600019600383901b1c191690881b1790555b885191829182610460565b0390a201610080565b90508301513861018a565b601f1982169083600052806000209160005b81811061021f57508360019897969360008051602061336a83398151915296936101a8968b9410610206575b5050811b01905561019d565b85015160001960f88460031b161c1916905538806101fa565b9192602060018192868a0151815501940192016101ce565b826000526020600020601f830160051c81019160208410610275575b601f0160051c01905b8181106102695750610159565b6000815560010161025c565b9091508190610253565b634e487b7160e01b600052602260045260246000fd5b90607f1690610147565b634e487b7160e01b600052604160045260246000fd5b855163468b12ad60e11b81529081906102d19060048301610460565b0390fd5b634e487b7160e01b600052601160045260246000fd5b836102f96102d19285610429565b51905163bff1ac6560e01b815291829160048301610460565b5061031d8184610429565b5160208151910151906020811061033e575b506001600160a01b03106100b8565b6000199060200360031b1b163861032f565b8361035e6102d19285610429565b5190516327755b9160e11b815291829160048301610460565b50836103838285610429565b5151141561009f565b83827f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f5005551612e9890816104d2823960805181818161077801526108660152f35b806060602080938601015201610027565b600080fd5b601f909101601f19168101906001600160401b0382119082101761029f57604052565b8051156104135760200190565b634e487b7160e01b600052603260045260246000fd5b80518210156104135760209160051b010190565b60005b8381106104505750506000910152565b8181015183820152602001610440565b60409160208252610480815180928160208601526020868601910161043d565b601f01601f1916010190565b60206104a591816040519382858094519384920161043d565b81017f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f5038152030190209056fe60806040526004361015610015575b3661146457005b60003560e01c8063066a1eb7146101e55780630db02622146101e05780630f0f3f24146101db5780631626ba7e146101d657806317452caa146101d157806319822f7c146101cc5780631ca5393f146101c757806329565e3b146101c25780632c2abd1e146101bd57806334fcd5be146101b857806336d9cf9b146101b35780634f1ef286146101ae57806352d1902d146101a95780635c60da1b146101a45780636f2de70e1461019f578063737bebdd1461019a57806384b0196e1461019557806388ce4c7c1461019057806389625b571461018b5780638ea69029146101865780639f9bcb3414610181578063a05bd44e1461017c578063a2e1a8d814610177578063b0d691fe14610172578063b61d27f61461016d578063b819736714610168578063ce1506be14610163578063d948fd2e1461015e5763f698da250361000e57610e07565b610ddc565b610dbe565b610d77565b610d07565b610cd8565b610cb1565b610c77565b610c3d565b610c0a565b610bca565b610b7a565b610ad9565b6109d3565b6108d8565b6108a2565b610852565b61073d565b610712565b61067b565b6105cf565b610531565b6104fa565b6103a1565b610375565b610323565b61027d565b610249565b3461024457604036600319011261024457602060ff6102386004356102336024359161022560405193849288840160209093929193604081019481520152565b03601f198101835282610453565b610e39565b54166040519015158152f35b600080fd5b34610244576000366003190112610244576020610264610ec1565b604051908152f35b6001600160a01b0381160361024457565b34610244576020366003190112610244576102f460043561029d8161026c565b6102a561149c565b6040519060018060a01b03166020820152602081526102c5604082610453565b600080516020612de383398151915254906102df82610eed565b600080516020612de383398151915255611525565b005b9181601f84011215610244578235916001600160401b038311610244576020838186019501011161024457565b34610244576040366003190112610244576004356024356001600160401b0381116102445760209161035c6103629236906004016102f6565b91610efc565b6040516001600160e01b03199091168152f35b346102445760003660031901126102445760206040516107088152f35b90816101209103126102445790565b34610244576060366003190112610244576004356001600160401b038111610244576103d1903690600401610392565b604435602435734337084d9e255ff0702461cf8895ce9e3b5ff10719330161042d57610401829161041894610f92565b9161041c575b506040519081529081906020820190565b0390f35b60009081803892335af15038610407565b6282b42960e81b60005260046000fd5b634e487b7160e01b600052604160045260246000fd5b90601f801991011681019081106001600160401b0382111761047457604052565b61043d565b6040519061048860c083610453565b565b6001600160401b03811161047457601f01601f191660200190565b9291926104b18261048a565b916104bf6040519384610453565b829481845281830111610244578281602093846000960137010152565b9080601f83011215610244578160206104f7933591016104a5565b90565b34610244576020366003190112610244576004356001600160401b0381116102445760ff61023861023360209336906004016104dc565b34610244576040366003190112610244576102f46024356102c560043561055661149c565b6040805160208101929092528101929092528160608101610225565b906020600319830112610244576004356001600160401b0381116102445760040160009280601f830112156105cb578135936001600160401b0385116105c857506020808301928560051b010111610244579190565b80fd5b8380fd5b6105d836610572565b90734337084d9e255ff0702461cf8895ce9e3b5ff108330361042d5760005b828110156102f45760006106108260051b840184610f2a565b61061a8183610f5c565b6106238161123c565b1561065f575082916106369136916104a5565b60208151910182305af1610648611105565b901561065757506001016105f7565b602081519101fd5b631d8370a360e11b84526001600160e01b031916600452602483fd5b61068436610572565b90734337084d9e255ff0702461cf8895ce9e3b5ff1083303610705575b60005b8281106106ad57005b806106ff6106be6001938686611053565b356106c88161026c565b60206106d5848888611053565b01356106f96106f26106e8868a8a611053565b6040810190610f2a565b36916104a5565b91611921565b016106a4565b61070d61149c565b6106a1565b34610244576000366003190112610244576020600080516020612e4383398151915254604051908152f35b6040366003190112610244576004356107558161026c565b6024356001600160401b038111610244576107749036906004016102f6565b90917f00000000000000000000000000000000000000000000000000000000000000003014610844576107a561149c565b60018060a01b03163d6000526352d1902d600152600080516020612e23833981519152602060016004601d855afa510361083657807fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28181600080516020612e238339815191525561081757005b816000926040519485378338925af41561082d57005b3d6000823e3d90fd5b6355299b496001526004601dfd5b639f03a0266000526004601cfd5b3461024457600036600319011261024457307f000000000000000000000000000000000000000000000000000000000000000003610844576020604051600080516020612e238339815191528152f35b3461024457600036600319011261024457600080516020612e23833981519152546040516001600160a01b039091168152602090f35b6108e136610572565b600080516020612de383398151915254610969576001600160401b038111610474578060051b91604051916109196020850184610453565b825260208201928101903682116102445780935b82851061093d576102f484611955565b84356001600160401b0381116102445760209161095e8392369086016104dc565b81520194019361092d565b6302ed543d60e51b60005260046000fd5b60005b83811061098d5750506000910152565b818101518382015260200161097d565b906020916109b68151809281855285808601910161097a565b601f01601f1916010190565b9060206104f792818152019061099d565b34610244576020366003190112610244576004356001600160401b038111610244578060040160806003198336030112610244576044820135610a1581611084565b4211610ab257610a4c610a39610a2d610a50936110bc565b60208151910120611cd8565b610a466064860185610f2a565b91611840565b1590565b610aa157600091610a6f826024610a67869561107a565b930190610f2a565b90610a7f604051809381936110e2565b03915afa610a8b611105565b90156106575761041890604051918291826109c2565b638baa579f60e01b60005260046000fd5b610abe610ad591611084565b630f88f04960e41b60005260045242602452604490565b6000fd5b3461024457600036600319011261024457610b19610b27610af8611a67565b604092919251938493600f60f81b855260e0602086015260e085019061099d565b90838203604085015261099d565b466060830152306080830152600060a083015281810360c0830152602060605191828152019060809060005b818110610b61575050500390f35b8251845285945060209384019390920191600101610b53565b346102445760003660031901126102445760206040516121058152f35b9060406003198301126102445760043591602435906001600160401b03821161024457610bc6916004016102f6565b9091565b3461024457610bd836610b97565b90610be161149c565b6001610beb610ec1565b14610bf9576102f492611bc1565b63948bf89760e01b60005260046000fd5b3461024457602036600319011261024457610418610c2960043561116f565b60405191829160208352602083019061099d565b34610244576020366003190112610244576004356001600160e01b03198116810361024457610c6d60209161123c565b6040519015158152f35b34610244576020366003190112610244576004356001600160401b03811161024457610264610cac6020923690600401610392565b6112bf565b34610244576020366003190112610244576020610c6d600435610cd38161026c565b6113d5565b34610244576000366003190112610244576020604051734337084d9e255ff0702461cf8895ce9e3b5ff1088152f35b606036600319011261024457600435610d1f8161026c565b604435906024356001600160401b038311610244576106f9610d486102f49436906004016102f6565b734337084d9e255ff0702461cf8895ce9e3b5ff1083303610d6a5736916104a5565b610d7261149c565b6106f2565b3461024457610d8536610b97565b90610d8e61149c565b610d96610ec1565b9260018411610da9576102f49350611bc1565b83631047e35560e31b60005260045260246000fd5b34610244576020366003190112610244576020610264600435611cd8565b34610244576000366003190112610244576020600080516020612de383398151915254604051908152f35b346102445760003660031901126102445760206102646113fb565b90610e356020928281519485920161097a565b0190565b6020610e5291816040519382858094519384920161097a565b81017f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f50381520301902090565b634e487b7160e01b600052601160045260246000fd5b600080516020612e038339815191520390600080516020612e038339815191528211610ebc57565b610e7e565b600080516020612de383398151915254600080516020612e43833981519152548103908111610ebc5790565b6000198114610ebc5760010190565b90610f0a610f0f9392611cd8565b611840565b610f1f576001600160e01b031990565b630b135d3f60e11b90565b903590601e198136030182121561024457018035906001600160401b0382116102445760200191813603831361024457565b356001600160e01b0319811692919060048210610f77575050565b6001600160e01b031960049290920360031b82901b16169150565b602081013560401c91610fa86060830183610f2a565b6316155e8f60e11b916001600160e01b031991610fc491610f5c565b16036110155750610fd4816112bf565b916121058103611001575090610a46610ff3925b610100810190610f2a565b610ffc57600190565b600090565b632ef3781360e01b60005260045260246000fd5b916121058114611001575090610a46610ff392610fe8565b61103860ff91610e39565b541690565b634e487b7160e01b600052603260045260246000fd5b91908110156110755760051b81013590605e1981360301821215610244570190565b61103d565b356104f78161026c565b906107088201809211610ebc57565b9060158201809211610ebc57565b9060028201809211610ebc57565b91908201809211610ebc57565b906040519163737bebdd60e01b6020840152602483015260248252610488604483610453565b908092918237016000815290565b604051906110ff602083610453565b60008252565b3d15611130573d906111168261048a565b916111246040519384610453565b82523d6000602084013e565b606090565b90600182811c92168015611165575b602083101461114f57565b634e487b7160e01b600052602260045260246000fd5b91607f1691611144565b6000527f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f5026020526040600020604051908160008254926111ae84611135565b808452936001811690811561121a57506001146111d3575b506104f792500382610453565b90506000929192526020600020906000915b8183106111fe5750509060206104f792820101386111c6565b60209193508060019154838588010152019101909183926111e5565b9050602092506104f794915060ff191682840152151560051b820101386111c6565b63ffffffff60e01b166329565e3b60e01b81149081156112ae575b811561129d575b811561128c575b811561127b575b5061127657600090565b600190565b63278f794360e11b1490503861126c565b63b819736760e01b81149150611265565b6389625b5760e01b8114915061125e565b6303c3cfc960e21b81149150611257565b8035906112cb8261026c565b61139860208201356102256112e36040850185610f2a565b908160405191823720936113036112fd6060830183610f2a565b90612239565b90608081013560a0820135906113256112fd60c08501359460e0810190610f2a565b93604051988997602089019b8c949192610100969399989794919961012087019a7f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e885260018060a01b0316602088015260408701526060860152608085015260a084015260c083015260e08201520152565b5190206040805160208101928352734337084d9e255ff0702461cf8895ce9e3b5ff108918101919091526113cf8160608101610225565b51902090565b61103860ff916040519060018060a01b0316602082015260208152610233604082610453565b611403611a67565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526113cf60c082610453565b60003560e01c63bc197c81811463f23a6e6182141763150b7a0282141761149357633c10b94e6000526004601cfd5b6020526020603cf35b6114a5336113d5565b80156114c0575b610488576282b42960e81b60005260046000fd5b503033146114ac565b8181106114d4575050565b600081556001016114c9565b9190601f81116114ef57505050565b610488926000526020600020906020601f840160051c8301931061151b575b601f0160051c01906114c9565b909150819061150e565b61152e8161102d565b61169c5761153b81610e39565b600160ff19825416179055816000527f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f502602052604060002081516001600160401b03811161047457611597816115918454611135565b846114e0565b6020601f821160011461160b57916115ec827f38109edc26e166b5579352ce56a50813177eb25208fd90d61f2f37838622022095936115fb95600091611600575b508160011b916000199060031b1c19161790565b90555b604051918291826109c2565b0390a2565b9050840151386115d8565b601f1982169061162084600052602060002090565b9160005b8181106116845750926115fb9492600192827f38109edc26e166b5579352ce56a50813177eb25208fd90d61f2f37838622022098961061166b575b5050811b0190556115ef565b85015160001960f88460031b161c19169055388061165f565b9192602060018192868a015181550194019201611624565b60405163468b12ad60e11b81529081906116b990600483016109c2565b0390fd5b602081830312610244578035906001600160401b03821161024457016040818303126102445760405191604083018381106001600160401b03821117610474576040528135835260208201356001600160401b0381116102445761172192016104dc565b602082015290565b60208151910151906020811061173d575090565b6000199060200360031b1b1690565b9190826040910312610244576020825192015190565b81601f82011215610244576020815191019061177d8161048a565b9261178b6040519485610453565b81845281830111610244576104f791602084019061097a565b602081830312610244578051906001600160401b03821161024457019060c082820312610244576117d3610479565b9180516001600160401b03811161024457826117f0918301611762565b835260208101516001600160401b0381116102445760a092611813918301611762565b6020840152604081015160408401526060810151606084015260808101516080840152015160a082015290565b92919061184f918101906116bd565b9061185a825161116f565b9160208351146118d8578251936040851461188a576040516327755b9160e11b8152806116b986600483016109c2565b6102256118d36118be6118aa8760208080999b6104f79b0101910161174c565b9690950151602080825183010191016117a4565b92604051928391602083019190602083019252565b611eda565b91929091906001600160a01b036118ee85611729565b11611906576020806104f79495015192015191611d4d565b60405163bff1ac6560e01b8152806116b986600483016109c2565b916000928392602083519301915af1611938611105565b90156106575750565b80518210156110755760209160051b010190565b90600080516020612de38339815191525460005b8351811015611a5257602061197e8286611941565b5151141580611a3c575b611a155760206119988286611941565b515114806119f3575b6119cc57806119c66119b560019387611941565b51936119c081610eed565b94611525565b01611969565b6119d96116b99185611941565b5160405163bff1ac6560e01b8152918291600483016109c2565b506001600160a01b03611a0f611a098387611941565b51611729565b116119a1565b611a226116b99185611941565b516040516327755b9160e11b8152918291600483016109c2565b506040611a498286611941565b51511415611988565b50600080516020612de3833981519152559050565b6040908151611a768382610453565b601281527111da585b9bc814db585c9d0815d85b1b195d60721b602082015291611aa281519182610453565b60018152603160f81b602082015290565b908060209392818452848401376000828201840152601f01601f1916010190565b92916104f79492611af2928552606060208601526060850191611ab3565b91604081840391015261099d565b60209082604051938492833781017f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f50381520301902090565b600281901b91906001600160fe1b03811603610ebc57565b611b5a8154611135565b9081611b64575050565b81601f60009311600114611b76575055565b81835260208320611b9291601f0160051c8101906001016114c9565b808252602082209081548360011b9084198560031b1c191617905555565b9160206104f7938181520191611ab3565b9190611bcc8361116f565b805115611cc25780516020820120611be53685856104a5565b6020815191012003611ca357509081611c2c611c22837fcf95bbfe6f870f8cc40482dc3dccdafd268f0e9ce0a4f24ea1bea9be64e505ff95611b00565b805460ff19169055565b611c67611c62856000527f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f502602052604060002090565b611b50565b611c94611c82600080516020612e4383398151915254610eed565b600080516020612e4383398151915255565b6115fb60405192839283611bb0565b60405163781f2e3960e01b81529384936116b993909160048601611ad4565b63340c473d60e11b600052600484905260246000fd5b611ce06113fb565b9060405160208101917f37f248f492286ab572e2a1ee0bd5315f2aae54a08b5871b294d657f3a1f1d0078352604082015260408152611d20606082610453565b51902060405190602082019261190160f01b845260228301526042820152604281526113cf606282610453565b9091600091906001600160a01b03821615611e375760405192600484019460248501956044860192853b15611db757509186939160209593630b135d3f60e11b8852526040845281518501809260045afa9360443d01915afa9151630b135d3f60e11b1491161690565b979650509050815180604014611e1257604114611dd45750505050565b602092939550606082015160001a835260408201516060525b60005201516040526020600160806000825afa511860601b3d11916000606052604052565b506020929395506040820151601b8160ff1c01845260018060ff1b0316606052611ded565b50505050600090565b906104886001602d60405180956c1131b430b63632b733b2911d1160991b6020830152611e76815180926020868601910161097a565b8101601160f91b838201520301601e19810185520183610453565b8051602010156110755760400190565b6040513d6000823e3d90fd5b6020929190611ec384928281519485920161097a565b019081520190565b90816020910312610244575190565b92919060009360a082019485517f7fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a8106120b75760208301917fff1a2a9176d650e4a99dedb58f1793003935130579fe17b5a3f698ac5b00e634611f4c84516060870151611f4681611093565b91612244565b60208151910120036120c057611f64611f69916120ca565b611e40565b611f7e83516040860151611f468451826110af565b602081519101209060208151910120036120b757600160f81b600160f81b611fb7611fa98651611e91565b516001600160f81b03191690565b16036120b757611fd4602092600092505160405191828092610e22565b039060025afa156120b2576020600061200a8151611ffe8551610225604051938492888401611ead565b60405191828092610e22565b039060025afa156120b257608060005191019360008086518561205d85516102258a60405194859360208501978c899192608093969594919660a084019784526020840152604083015260608201520152565b51906101005afa9461206d611105565b805196806120a9575b61208957506104f7955051905191612131565b6001966120a59650810160209081019550019250611ecb915050565b1490565b50861515612076565b611ea1565b94505050505090565b5094505050505090565b6040516104f7916120dc606083610453565b604082527f4142434445464748494a4b4c4d4e4f505152535455565758595a61626364656660208301527f6768696a6b6c6d6e6f707172737475767778797a303132333435363738392d5f60408301526122f0565b939190929383158015612221575b8015612219575b8015612201575b6121f75761215b8386612398565b156121f75760405191602083526020808401526020604084015260608301527fffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254f6080830152600080516020612e0383398151915260a083015260208260c0816005600019fa1561024457600080516020612e03833981519152946121f193866121eb945181818909940991612473565b91610e94565b90081590565b5050505050600090565b50600080516020612e0383398151915282101561214d565b508115612146565b50600080516020612e0383398151915284101561213f565b816040519182372090565b8051606094939290838111156122b6575b818111156122ae575b5082811061226b57505050565b6040519450918290039101601f8201601f19165b8181015185820152601f1901908115612298579061227f565b5050604081840160006020820152016040528252565b90503861225e565b925082612255565b906122c88261048a565b6122d56040519182610453565b82815280926122e6601f199161048a565b0190602036910137565b9081511561238e579061231d61231861231161230c8451611b38565b6110a1565b6003900490565b6122be565b91602083019082805101906020820192835194600085525b83811061234457505050505290565b600360049101916001603f845182828260121c16880101518453828282600c1c16880101518385015382828260061c16880101516002850153168501015160038201530190612335565b50506104f76110f0565b600160601b63ffffffff60c01b0319811080159061245b575b801561244a575b61244357600160601b63ffffffff60c01b0319907f5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b908290817fffffffff00000001000000000000000000000000fffffffffffffffffffffffc820990600160601b63ffffffff60c01b0319908181800909080890600160601b63ffffffff60c01b03199080091490565b5050600090565b50801580156123b8575081156123b8565b50600160601b63ffffffff60c01b03198210156123b1565b9092600092908360ff81841580612a6a575b612a5f576124938887612a72565b929091821580612a57575b612a1c575b5085811c60028660fe1c16015b15612a0357600186821c16600286831c60011b1601600181146129b8575b600281146129ab575b60031461299e575b600198600019919091019694959489949392915b88600019116125715750505050505050505060405191606083015260208252602080830152602060408301526002600160601b0363ffffffff60c01b03196080830152600163ffffffff60601b0360601b1960a083015260208260c0816005600019fa15610244579051600160601b63ffffffff60c01b0319910990565b909192939495969798600163ffffffff60601b0360601b198660020990600160601b63ffffffff60c01b0319828009600160601b63ffffffff60c01b031981830992600160601b63ffffffff60c01b03199082900991600160601b63ffffffff60c01b03199081908f8281830891600160601b63ffffffff60c01b031991820390080960030998600160601b63ffffffff60c01b03199083099c600160601b63ffffffff60c01b0319910991600160601b63ffffffff60c01b031980826002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b03198b80090898600160601b63ffffffff60c01b031991829081038b08900996600160601b63ffffffff60c01b03199088908290840908968b60028c60018d841c16921c60011b160180156129815760018114612936575b6002811461292b575b600314612922575b821561290f57600160601b63ffffffff60c01b031990889082908f90090890600160601b63ffffffff60c01b031990898203908290859009089781156127d5575b600160601b63ffffffff60c01b031989800998600160601b63ffffffff60c01b0319908a0992600160601b63ffffffff60c01b0319908a90099c600160601b63ffffffff60c01b03199084900998600160601b63ffffffff60c01b03199109600160601b63ffffffff60c01b031980826002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b031985810381868009080897600160601b63ffffffff60c01b03199384910991600160601b63ffffffff60c01b03199182908a82039008090894985b6000190197969594939291906124f3565b886126f8579a91975090959050600160601b63ffffffff60c01b0319816002600160601b0363ffffffff60c01b0319099a600160601b63ffffffff60c01b03198c8009600160601b63ffffffff60c01b0319818d099c600160601b63ffffffff60c01b0319908290099b600160601b63ffffffff60c01b031990818b8103820890600160601b63ffffffff60c01b0319908c900809600160601b63ffffffff60c01b03199060030991600160601b63ffffffff60c01b0319908d0998600160601b63ffffffff60c01b031991099b600160601b63ffffffff60c01b031980826002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b0319848009089b600160601b63ffffffff60c01b03199384910991600160601b63ffffffff60c01b03199182908e82039008900908946127c4565b60019c50909a8c985090965090506127c4565b505083856126b7565b8592508491506126af565b7f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29692507f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f591506126a6565b50505099959894600163ffffffff60601b0360601b1903946127c4565b92508096509581926124df565b96975087968994506124d7565b7f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29698507f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f594506124ce565b60001901600186821c16600286831c60011b16016124b0565b9495600080516020612e038339815191529196820390089484861580612a4f575b156124a3579850505050505050505090565b506001612a3d565b50831561249e565b965050505050505090565b508315612485565b91907f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2967f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5918015612c265784610bc69495831480612c1d575b15612c085750600160601b63ffffffff60c01b0319905082600209600160601b63ffffffff60c01b031981800992600160601b63ffffffff60c01b031984840991600160601b63ffffffff60c01b03199085900992600160601b63ffffffff60c01b0319908190816001820890600160601b63ffffffff60c01b0319907fffffffff00000001000000000000000000000000fffffffffffffffffffffffe900809600309600160601b63ffffffff60c01b031980846002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b03198380090892600160601b63ffffffff60c01b03196001860995600160601b63ffffffff60c01b0319906001900994600160601b63ffffffff60c01b031993849109600160601b63ffffffff60c01b03199081039290918290868203900890090890612d48565b909192612c1493612c2c565b92909190612d48565b50818414612acb565b50925090565b9193908015612d3f57600160601b63ffffffff60c01b03199081039384908290600190090893600160601b63ffffffff60c01b031990838203908290600190090892600160601b63ffffffff60c01b031984800993600160601b63ffffffff60c01b031990850992600160601b63ffffffff60c01b03199085900994600160601b63ffffffff60c01b031980876002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b031986810381858009080895600160601b63ffffffff60c01b031992839086900991600160601b63ffffffff60c01b03199182908982039008090892600160601b63ffffffff60c01b03199060010991600160601b63ffffffff60c01b03199060010990565b50600191508190565b91909260405190602082526020808301526020604083015260608201526002600160601b0363ffffffff60c01b03196080820152600163ffffffff60601b0360601b1960a082015260208160c0816005600019fa15610244575192600160601b63ffffffff60c01b03199084900992600160601b63ffffffff60c01b03199109600160601b63ffffffff60c01b031991908290800990099156fe0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f500ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f501a26469706673582212208cd714406382f3c7ba67b9e97711d79104255fac724c6724be98e47e28a08f4464736f6c634300081c003338109edc26e166b5579352ce56a50813177eb25208fd90d61f2f37838622022000000000000000000000000000000000000000000000","id":1,"to":"0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed","type":"ONCHAIN_INTERACTION","value":{"_kind":"bigint","value":"0"}},"type":"NETWORK_INTERACTION_REQUEST"} -{"futureId":"GianoAccountFactory#GianoSmartWallet","networkInteractionId":1,"nonce":1,"type":"TRANSACTION_PREPARE_SEND"} -{"futureId":"GianoAccountFactory#GianoSmartWallet","networkInteractionId":1,"nonce":1,"transaction":{"fees":{"maxFeePerGas":{"_kind":"bigint","value":"1000502"},"maxPriorityFeePerGas":{"_kind":"bigint","value":"1000000"}},"hash":"0x053bace51be74f9bb7f18de1748fe38d205346310203a6fae5b253af8e13e642"},"type":"TRANSACTION_SEND"} -{"futureId":"CredentialKeyMapper#CredentialKeyMapper","hash":"0x0bff028212e0ed57dee89d4de018daa9ca05920ebf3cd055e61d274b5473b01f","networkInteractionId":1,"receipt":{"blockHash":"0x599bd09109d5bc2812a15cf8868b856aa947ca939540f1fee4933e1b28f0f194","blockNumber":718962,"logs":[{"address":"0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed","data":"0x","logIndex":0,"topics":["0xb8fda7e00c6b06a2b54e58521bc5894fee35f1090e5a3bb6390bfe2b98b497f7","0x000000000000000000000000297406bb0c4cbdb6a722cf2728c5592eed774195","0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563"]}],"status":"SUCCESS"},"type":"TRANSACTION_CONFIRM"} -{"futureId":"CredentialKeyMapper#CredentialKeyMapper","result":{"address":"0x297406bb0c4cBDB6A722Cf2728c5592eEd774195","type":"SUCCESS"},"type":"DEPLOYMENT_EXECUTION_STATE_COMPLETE"} -{"futureId":"GianoAccountFactory#GianoSmartWallet","hash":"0x053bace51be74f9bb7f18de1748fe38d205346310203a6fae5b253af8e13e642","networkInteractionId":1,"receipt":{"blockHash":"0x275e5de6d54db98b5f24f38ccd459510953835e04fd43379f06f4c436b33ac6b","blockNumber":718963,"logs":[{"address":"0x20D4f4f71E7E50FE3a1CC51DfFAC2260741adb2D","data":"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000","logIndex":0,"topics":["0x38109edc26e166b5579352ce56a50813177eb25208fd90d61f2f378386220220","0x0000000000000000000000000000000000000000000000000000000000000000"]},{"address":"0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed","data":"0x","logIndex":1,"topics":["0xb8fda7e00c6b06a2b54e58521bc5894fee35f1090e5a3bb6390bfe2b98b497f7","0x00000000000000000000000020d4f4f71e7e50fe3a1cc51dffac2260741adb2d","0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563"]}],"status":"SUCCESS"},"type":"TRANSACTION_CONFIRM"} -{"futureId":"GianoAccountFactory#GianoSmartWallet","result":{"address":"0x20D4f4f71E7E50FE3a1CC51DfFAC2260741adb2D","type":"SUCCESS"},"type":"DEPLOYMENT_EXECUTION_STATE_COMPLETE"} -{"artifactId":"GianoAccountFactory#GianoSmartWalletFactory","constructorArgs":["0x20D4f4f71E7E50FE3a1CC51DfFAC2260741adb2D"],"contractName":"GianoSmartWalletFactory","dependencies":["GianoAccountFactory#GianoSmartWallet"],"from":"0x10997dda78c76126c2ce9355d7630508acd33ab6","futureId":"GianoAccountFactory#GianoSmartWalletFactory","futureType":"NAMED_ARTIFACT_CONTRACT_DEPLOYMENT","libraries":{},"strategy":"create2","strategyConfig":{"salt":"0x0000000000000000000000000000000000000000000000000000000000000000"},"type":"DEPLOYMENT_EXECUTION_STATE_INITIALIZE","value":{"_kind":"bigint","value":"0"}} -{"futureId":"GianoAccountFactory#GianoSmartWalletFactory","networkInteraction":{"data":"0x263076680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000005b960a0601f61059938819003918201601f19168301916001600160401b0383118484101761007d5780849260209460405283398101031261007857516001600160a01b0381168103610078576080526040516105059081610094823960805181818160600152818160a501528181610148015261029d0152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561001257600080fd5b6000803560e01c8063250b1b411461027f5780633ffba36f146100d45780635c60da1b1461008f5763db4c545e1461004957600080fd5b3461008c578060031936011261008c5760206100847f000000000000000000000000000000000000000000000000000000000000000061045c565b604051908152f35b80fd5b503461008c578060031936011261008c576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b506100de366102f1565b81939115610270576100f1908484610420565b918193604051947fcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f36060527f5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e20766040526160096020527f0000000000000000000000000000000000000000000000000000000000000000601e5268603d3d8160223d3973600a52605f60212060358701523060581b865260ff86538460158701526055862090341595823b1561025457505060019461024f578338818034855af115610242575b604086905260608490526001600160a01b031693156101dc575b602084604051908152f35b833b1561023e578461020684938293633796f38760e11b8452602060048501526024840191610386565b038183865af192831561023157602093610221575b806101d1565b8161022b9161034e565b3861021b565b50604051903d90823e3d90fd5b8280fd5b63b12d13eb84526004601cfd5b6101b7565b91509450605f602134f5806101b757633011642584526004601cfd5b633c776be160e01b8252600482fd5b503461008c576020906102c7610294366102f1565b906102c19392937f000000000000000000000000000000000000000000000000000000000000000061045c565b93610420565b9060ff83536035523060601b60015260155260558120906035526040519060018060a01b03168152f35b9060406003198301126103495760043567ffffffffffffffff811161034957826023820112156103495780600401359267ffffffffffffffff84116103495760248460051b8301011161034957602401919060243590565b600080fd5b90601f8019910116810190811067ffffffffffffffff82111761037057604052565b634e487b7160e01b600052604160045260246000fd5b90602083828152019060208160051b85010193836000915b8383106103ae5750505050505090565b909192939495601f198282030186528635601e1984360301811215610349578301906020823592019167ffffffffffffffff8111610349578036038313610349576020828280600196849695859652848401376000828201840152601f01601f1916010198019601949301919061039e565b6104569061044292936040519384926020840196604088526060850191610386565b90604083015203601f19810183528261034e565b51902090565b90604051917fcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f36060527f5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e2076604052616009602052601e5268603d3d8160223d3973600a52605f60212091604052600060605256fea2646970667358221220aca1690760d35ff090008a25cfd17e2f330af514cf0c18f0ab083e74a711295b64736f6c634300081c003300000000000000000000000020d4f4f71e7e50fe3a1cc51dffac2260741adb2d00000000000000","id":1,"to":"0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed","type":"ONCHAIN_INTERACTION","value":{"_kind":"bigint","value":"0"}},"type":"NETWORK_INTERACTION_REQUEST"} -{"futureId":"GianoAccountFactory#GianoSmartWalletFactory","networkInteractionId":1,"nonce":2,"type":"TRANSACTION_PREPARE_SEND"} -{"futureId":"GianoAccountFactory#GianoSmartWalletFactory","networkInteractionId":1,"nonce":2,"transaction":{"fees":{"maxFeePerGas":{"_kind":"bigint","value":"1000502"},"maxPriorityFeePerGas":{"_kind":"bigint","value":"1000000"}},"hash":"0xbf3abc443daa562e9f054287f1a74a1029e1f348843850e1bbde77103bfd3e83"},"type":"TRANSACTION_SEND"} -{"futureId":"GianoAccountFactory#GianoSmartWalletFactory","hash":"0xbf3abc443daa562e9f054287f1a74a1029e1f348843850e1bbde77103bfd3e83","networkInteractionId":1,"receipt":{"blockHash":"0xb65b8b62ff171bfb4c26fea8e426d9f4641adf4412c75e18856c6fc1cd36305e","blockNumber":718969,"logs":[{"address":"0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed","data":"0x","logIndex":0,"topics":["0xb8fda7e00c6b06a2b54e58521bc5894fee35f1090e5a3bb6390bfe2b98b497f7","0x000000000000000000000000c932321e8a7dcee09c7f793d0796885ac080dfa5","0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563"]}],"status":"SUCCESS"},"type":"TRANSACTION_CONFIRM"} -{"futureId":"GianoAccountFactory#GianoSmartWalletFactory","result":{"address":"0xC932321e8A7DceE09C7F793d0796885aC080DFa5","type":"SUCCESS"},"type":"DEPLOYMENT_EXECUTION_STATE_COMPLETE"} \ No newline at end of file +{"artifactId":"GianoAccountFactory#GianoSmartWallet","constructorArgs":[],"contractName":"GianoSmartWallet","dependencies":[],"from":"0x7abe7bd7889041e46f21491feba3c2117aba8d20","futureId":"GianoAccountFactory#GianoSmartWallet","futureType":"NAMED_ARTIFACT_CONTRACT_DEPLOYMENT","libraries":{},"strategy":"create2","strategyConfig":{"salt":"0xABC00000000000000000000000000000000000000000000000000000000000AB"},"type":"DEPLOYMENT_EXECUTION_STATE_INITIALIZE","value":{"_kind":"bigint","value":"0"}} +{"futureId":"GianoAccountFactory#GianoSmartWallet","networkInteraction":{"data":"0x26307668abc00000000000000000000000000000000000000000000000000000000000ab0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000348660a0604052346103de57306080526040805161001b82826103e3565b60018152601f19820160005b8181106103cd5750508151600060208201526020815261004783826103e3565b61005082610406565b5261005a81610406565b507f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f5005460005b825181101561038c5760206100958285610429565b5151141580610377575b6103505760206100af8285610429565b51511480610312575b6102eb576100c68184610429565b51918060001981146102d5576001019260ff6100e18261048c565b54166102b5576100f08161048c565b805460ff1916600117905560008281527f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f50260205286902081516001600160401b03811161029f578154600181811c91168015610295575b602082101461027f57601f8111610237575b506020601f82116001146101bc579260008051602061346683398151915292826101a89360019897966000916101b1575b50600019600383901b1c191690881b1790555b885191829182610460565b0390a201610080565b90508301513861018a565b601f1982169083600052806000209160005b81811061021f57508360019897969360008051602061346683398151915296936101a8968b9410610206575b5050811b01905561019d565b85015160001960f88460031b161c1916905538806101fa565b9192602060018192868a0151815501940192016101ce565b826000526020600020601f830160051c81019160208410610275575b601f0160051c01905b8181106102695750610159565b6000815560010161025c565b9091508190610253565b634e487b7160e01b600052602260045260246000fd5b90607f1690610147565b634e487b7160e01b600052604160045260246000fd5b855163468b12ad60e11b81529081906102d19060048301610460565b0390fd5b634e487b7160e01b600052601160045260246000fd5b836102f96102d19285610429565b51905163bff1ac6560e01b815291829160048301610460565b5061031d8184610429565b5160208151910151906020811061033e575b506001600160a01b03106100b8565b6000199060200360031b1b163861032f565b8361035e6102d19285610429565b5190516327755b9160e11b815291829160048301610460565b50836103838285610429565b5151141561009f565b83827f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f5005551612f9490816104d2823960805181818161076c015261085a0152f35b806060602080938601015201610027565b600080fd5b601f909101601f19168101906001600160401b0382119082101761029f57604052565b8051156104135760200190565b634e487b7160e01b600052603260045260246000fd5b80518210156104135760209160051b010190565b60005b8381106104505750506000910152565b8181015183820152602001610440565b60409160208252610480815180928160208601526020868601910161043d565b601f01601f1916010190565b60206104a591816040519382858094519384920161043d565b81017f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f5038152030190209056fe60806040526004361015610015575b3661165f57005b60003560e01c8063066a1eb7146101e55780630db02622146101e05780630f0f3f24146101db5780631626ba7e146101d657806317452caa146101d157806319822f7c146101cc5780631ca5393f146101c757806329565e3b146101c25780632c2abd1e146101bd57806334fcd5be146101b857806336d9cf9b146101b35780634f1ef286146101ae57806352d1902d146101a95780635c60da1b146101a45780636f2de70e1461019f578063737bebdd1461019a57806384b0196e1461019557806388ce4c7c1461019057806389625b571461018b5780638ea69029146101865780639f9bcb3414610181578063a05bd44e1461017c578063a2e1a8d814610177578063b0d691fe14610172578063b61d27f61461016d578063b819736714610168578063ce1506be14610163578063d948fd2e1461015e5763f698da250361000e57610e93565b610e68565b610e4a565b610e03565b610d97565b610d6c565b610d45565b610d0b565b610cd1565b610c9e565b610c5e565b610c0e565b610b6d565b610a67565b6108cc565b610896565b610846565b610731565b610706565b610673565b6105cb565b61052d565b6104f6565b6103a1565b610375565b610323565b61027d565b610249565b3461024457604036600319011261024457602060ff6102386004356102336024359161022560405193849288840160209093929193604081019481520152565b03601f19810183528261044f565b610ec5565b54166040519015158152f35b600080fd5b34610244576000366003190112610244576020610264610f4d565b604051908152f35b6001600160a01b0381160361024457565b34610244576020366003190112610244576102f460043561029d8161026c565b6102a5611697565b6040519060018060a01b03166020820152602081526102c560408261044f565b600080516020612edf83398151915254906102df82610f79565b600080516020612edf83398151915255611720565b005b9181601f84011215610244578235916001600160401b038311610244576020838186019501011161024457565b34610244576040366003190112610244576004356024356001600160401b0381116102445760209161035c6103629236906004016102f6565b91610f88565b6040516001600160e01b03199091168152f35b346102445760003660031901126102445760206040516107088152f35b90816101209103126102445790565b34610244576060366003190112610244576004356001600160401b038111610244576103d1903690600401610392565b6044356024356f71727de22e5e9d8baf0edac6f37da031193301610429576103fd829161041494611137565b91610418575b506040519081529081906020820190565b0390f35b60009081803892335af15038610403565b6282b42960e81b60005260046000fd5b634e487b7160e01b600052604160045260246000fd5b90601f801991011681019081106001600160401b0382111761047057604052565b610439565b6040519061048460c08361044f565b565b6001600160401b03811161047057601f01601f191660200190565b9291926104ad82610486565b916104bb604051938461044f565b829481845281830111610244578281602093846000960137010152565b9080601f83011215610244578160206104f3933591016104a1565b90565b34610244576020366003190112610244576004356001600160401b0381116102445760ff61023861023360209336906004016104d8565b34610244576040366003190112610244576102f46024356102c5600435610552611697565b6040805160208101929092528101929092528160608101610225565b906020600319830112610244576004356001600160401b0381116102445760040160009280601f830112156105c7578135936001600160401b0385116105c457506020808301928560051b010111610244579190565b80fd5b8380fd5b6105d43661056e565b906f71727de22e5e9d8baf0edac6f37da03233036104295760005b828110156102f45760006106088260051b840184610fb6565b6106128183610fe8565b61061b81611460565b156106575750829161062e9136916104a1565b60208151910182305af1610640611329565b901561064f57506001016105ef565b602081519101fd5b631d8370a360e11b84526001600160e01b031916600452602483fd5b61067c3661056e565b906f71727de22e5e9d8baf0edac6f37da03233036106f9575b60005b8281106106a157005b806106f36106b2600193868661127c565b356106bc8161026c565b60206106c984888861127c565b01356106ed6106e66106dc868a8a61127c565b6040810190610fb6565b36916104a1565b91611b43565b01610698565b610701611697565b610695565b34610244576000366003190112610244576020600080516020612f3f83398151915254604051908152f35b6040366003190112610244576004356107498161026c565b6024356001600160401b038111610244576107689036906004016102f6565b90917f0000000000000000000000000000000000000000000000000000000000000000301461083857610799611697565b60018060a01b03163d6000526352d1902d600152600080516020612f1f833981519152602060016004601d855afa510361082a57807fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28181600080516020612f1f8339815191525561080b57005b816000926040519485378338925af41561082157005b3d6000823e3d90fd5b6355299b496001526004601dfd5b639f03a0266000526004601cfd5b3461024457600036600319011261024457307f000000000000000000000000000000000000000000000000000000000000000003610838576020604051600080516020612f1f8339815191528152f35b3461024457600036600319011261024457600080516020612f1f833981519152546040516001600160a01b039091168152602090f35b6108d53661056e565b600080516020612edf8339815191525491826109fd576108f691369161103b565b9060005b82518110156109e757602061090f82856110fc565b51511415806109d1575b6109aa57602061092982856110fc565b51511480610988575b61095d5780610957610946600193866110fc565b519361095181610f79565b94611720565b016108fa565b61096a61098491846110fc565b5160405163bff1ac6560e01b815291829160048301610a56565b0390fd5b506001600160a01b036109a461099e83866110fc565b5161193a565b11610932565b6109b761098491846110fc565b516040516327755b9160e11b815291829160048301610a56565b5060406109de82856110fc565b51511415610919565b6102f482600080516020612edf83398151915255565b6302ed543d60e51b60005260046000fd5b60005b838110610a215750506000910152565b8181015183820152602001610a11565b90602091610a4a81518092818552858086019101610a0e565b601f01601f1916010190565b9060206104f3928181520190610a31565b34610244576020366003190112610244576004356001600160401b038111610244578060040160806003198336030112610244576044820135610aa9816112a8565b4211610b4657610ae0610acd610ac1610ae4936112e0565b60208151910120611dd4565b610ada6064860185610fb6565b91611a51565b1590565b610b3557600091610b03826024610afb869561129e565b930190610fb6565b90610b1360405180938193611306565b03915afa610b1f611329565b901561064f576104149060405191829182610a56565b638baa579f60e01b60005260046000fd5b610b52610b69916112a8565b630f88f04960e41b60005260045242602452604490565b6000fd5b3461024457600036600319011261024457610bad610bbb610b8c611b63565b604092919251938493600f60f81b855260e0602086015260e0850190610a31565b908382036040850152610a31565b466060830152306080830152600060a083015281810360c0830152602060605191828152019060809060005b818110610bf5575050500390f35b8251845285945060209384019390920191600101610be7565b346102445760003660031901126102445760206040516121058152f35b9060406003198301126102445760043591602435906001600160401b03821161024457610c5a916004016102f6565b9091565b3461024457610c6c36610c2b565b90610c75611697565b6001610c7f610f4d565b14610c8d576102f492611cbd565b63948bf89760e01b60005260046000fd5b3461024457602036600319011261024457610414610cbd600435611393565b604051918291602083526020830190610a31565b34610244576020366003190112610244576004356001600160e01b03198116810361024457610d01602091611460565b6040519015158152f35b34610244576020366003190112610244576004356001600160401b03811161024457610264610d406020923690600401610392565b6114e3565b34610244576020366003190112610244576020610d01600435610d678161026c565b6115d0565b346102445760003660031901126102445760206040516f71727de22e5e9d8baf0edac6f37da0328152f35b606036600319011261024457600435610daf8161026c565b604435906024356001600160401b038311610244576106ed610dd86102f49436906004016102f6565b6f71727de22e5e9d8baf0edac6f37da0323303610df65736916104a1565b610dfe611697565b6106e6565b3461024457610e1136610c2b565b90610e1a611697565b610e22610f4d565b9260018411610e35576102f49350611cbd565b83631047e35560e31b60005260045260246000fd5b34610244576020366003190112610244576020610264600435611dd4565b34610244576000366003190112610244576020600080516020612edf83398151915254604051908152f35b346102445760003660031901126102445760206102646115f6565b90610ec160209282815194859201610a0e565b0190565b6020610ede918160405193828580945193849201610a0e565b81017f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f50381520301902090565b634e487b7160e01b600052601160045260246000fd5b600080516020612eff8339815191520390600080516020612eff8339815191528211610f4857565b610f0a565b600080516020612edf83398151915254600080516020612f3f833981519152548103908111610f485790565b6000198114610f485760010190565b90610f96610f9b9392611dd4565b611a51565b610fab576001600160e01b031990565b630b135d3f60e11b90565b903590601e198136030182121561024457018035906001600160401b0382116102445760200191813603831361024457565b356001600160e01b0319811692919060048210611003575050565b6001600160e01b031960049290920360031b82901b16169150565b909291928360041161024457831161024457600401916003190190565b929190926001600160401b038411610470578360051b9060206040516110638285018261044f565b8096815201918101918383116102445781905b838210611084575050505050565b81356001600160401b038111610244576020916110a487849387016104d8565b815201910190611076565b602081830312610244578035906001600160401b03821161024457019080601f83011215610244578160206104f39335910161103b565b634e487b7160e01b600052603260045260246000fd5b80518210156111105760209160051b010190565b6110e6565b80516020909101516001600160e01b0319811692919060048210611003575050565b91602083013560401c9160608401906111508286610fb6565b6316155e8f60e11b916001600160e01b03199161116c91610fe8565b160361124f575061117c846114e3565b92612105810361123b575061119e6111976111a69286610fb6565b809161101e565b8101906110af565b9160005b8351811015611215576111bd81856110fc565b5163278f794360e11b6111df6111d283611115565b6001600160e01b03191690565b146111ee575b506001016111aa565b60240151803b6111e557630c76093760e01b6000526001600160a01b031660045260246000fd5b50909261122d9250610ada905b610100810190610fb6565b61123657600190565b600090565b632ef3781360e01b60005260045260246000fd5b929050612105819492941461123b575090610ada61122d92611222565b61127760ff91610ec5565b541690565b91908110156111105760051b81013590605e1981360301821215610244570190565b356104f38161026c565b906107088201809211610f4857565b9060158201809211610f4857565b9060028201809211610f4857565b91908201809211610f4857565b906040519163737bebdd60e01b602084015260248301526024825261048460448361044f565b908092918237016000815290565b6040519061132360208361044f565b60008252565b3d15611354573d9061133a82610486565b91611348604051938461044f565b82523d6000602084013e565b606090565b90600182811c92168015611389575b602083101461137357565b634e487b7160e01b600052602260045260246000fd5b91607f1691611368565b6000527f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f5026020526040600020604051908160008254926113d284611359565b808452936001811690811561143e57506001146113f7575b506104f39250038261044f565b90506000929192526020600020906000915b8183106114225750509060206104f392820101386113ea565b6020919350806001915483858801015201910190918392611409565b9050602092506104f394915060ff191682840152151560051b820101386113ea565b63ffffffff60e01b166329565e3b60e01b81149081156114d2575b81156114c1575b81156114b0575b811561149f575b5061149a57600090565b600190565b63278f794360e11b14905038611490565b63b819736760e01b81149150611489565b6389625b5760e01b81149150611482565b6303c3cfc960e21b8114915061147b565b60208101356115976114f86040840184610fb6565b908160405191823720916102256115126060860186610fb6565b90816040519182372060c086013560a0870135608088013561154061153a60e08b018b610fb6565b90612335565b604080519a356001600160a01b031660208c01908152908b019790975260608a0198909852608089019390935260a088019290925260c087019190915260e086015261010085019390935292918290610120820190565b51902060408051602081019283526f71727de22e5e9d8baf0edac6f37da032918101919091526115ca8160608101610225565b51902090565b61127760ff916040519060018060a01b031660208201526020815261023360408261044f565b6115fe611b63565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526115ca60c08261044f565b60003560e01c63bc197c81811463f23a6e6182141763150b7a0282141761168e57633c10b94e6000526004601cfd5b6020526020603cf35b6116a0336115d0565b80156116bb575b610484576282b42960e81b60005260046000fd5b503033146116a7565b8181106116cf575050565b600081556001016116c4565b9190601f81116116ea57505050565b610484926000526020600020906020601f840160051c83019310611716575b601f0160051c01906116c4565b9091508190611709565b6117298161126c565b6118975761173681610ec5565b600160ff19825416179055816000527f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f502602052604060002081516001600160401b038111610470576117928161178c8454611359565b846116db565b6020601f821160011461180657916117e7827f38109edc26e166b5579352ce56a50813177eb25208fd90d61f2f37838622022095936117f6956000916117fb575b508160011b916000199060031b1c19161790565b90555b60405191829182610a56565b0390a2565b9050840151386117d3565b601f1982169061181b84600052602060002090565b9160005b81811061187f5750926117f69492600192827f38109edc26e166b5579352ce56a50813177eb25208fd90d61f2f378386220220989610611866575b5050811b0190556117ea565b85015160001960f88460031b161c19169055388061185a565b9192602060018192868a01518155019401920161181f565b60405163468b12ad60e11b81529081906109849060048301610a56565b602081830312610244578035906001600160401b03821161024457016040818303126102445760405191604083018381106001600160401b038211176104705760405281356001600160401b03811161024457816119139184016104d8565b835260208201356001600160401b0381116102445761193292016104d8565b602082015290565b60208151910151906020811061194e575090565b6000199060200360031b1b1690565b9190826040910312610244576020825192015190565b81601f82011215610244576020815191019061198e81610486565b9261199c604051948561044f565b81845281830111610244576104f3916020840190610a0e565b602081830312610244578051906001600160401b03821161024457019060c082820312610244576119e4610475565b9180516001600160401b0381116102445782611a01918301611973565b835260208101516001600160401b0381116102445760a092611a24918301611973565b6020840152604081015160408401526060810151606084015260808101516080840152015160a082015290565b929190611a60918101906118b4565b90815191611a70610ae08461126c565b611b3a576020835114611af15782519360408514611aa3576040516327755b9160e11b8152806109848660048301610a56565b610225611aec611ad7611ac38760208080999b6104f39b0101910161195d565b9690950151602080825183010191016119b5565b92604051928391602083019190602083019252565b611fd6565b91929091906001600160a01b03611b078561193a565b11611b1f576020806104f39495015192015191611e49565b60405163bff1ac6560e01b8152806109848660048301610a56565b50915050600090565b916000928392602083519301915af1611b5a611329565b901561064f5750565b6040908151611b72838261044f565b601281527111da585b9bc814db585c9d0815d85b1b195d60721b602082015291611b9e8151918261044f565b60018152603160f81b602082015290565b908060209392818452848401376000828201840152601f01601f1916010190565b92916104f39492611bee928552606060208601526060850191611baf565b916040818403910152610a31565b60209082604051938492833781017f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f50381520301902090565b600281901b91906001600160fe1b03811603610f4857565b611c568154611359565b9081611c60575050565b81601f60009311600114611c72575055565b81835260208320611c8e91601f0160051c8101906001016116c4565b808252602082209081548360011b9084198560031b1c191617905555565b9160206104f3938181520191611baf565b9190611cc883611393565b805115611dbe5780516020820120611ce13685856104a1565b6020815191012003611d9f57509081611d28611d1e837fcf95bbfe6f870f8cc40482dc3dccdafd268f0e9ce0a4f24ea1bea9be64e505ff95611bfc565b805460ff19169055565b611d63611d5e856000527f0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f502602052604060002090565b611c4c565b611d90611d7e600080516020612f3f83398151915254610f79565b600080516020612f3f83398151915255565b6117f660405192839283611cac565b60405163781f2e3960e01b815293849361098493909160048601611bd0565b63340c473d60e11b600052600484905260246000fd5b611ddc6115f6565b9060405160208101917f37f248f492286ab572e2a1ee0bd5315f2aae54a08b5871b294d657f3a1f1d0078352604082015260408152611e1c60608261044f565b51902060405190602082019261190160f01b845260228301526042820152604281526115ca60628261044f565b9091600091906001600160a01b03821615611f335760405192600484019460248501956044860192853b15611eb357509186939160209593630b135d3f60e11b8852526040845281518501809260045afa9360443d01915afa9151630b135d3f60e11b1491161690565b979650509050815180604014611f0e57604114611ed05750505050565b602092939550606082015160001a835260408201516060525b60005201516040526020600160806000825afa511860601b3d11916000606052604052565b506020929395506040820151601b8160ff1c01845260018060ff1b0316606052611ee9565b50505050600090565b906104846001602d60405180956c1131b430b63632b733b2911d1160991b6020830152611f728151809260208686019101610a0e565b8101601160f91b838201520301601e1981018552018361044f565b8051602010156111105760400190565b6040513d6000823e3d90fd5b6020929190611fbf849282815194859201610a0e565b019081520190565b90816020910312610244575190565b92919060009360a082019485517f7fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a8106121b35760208301917fff1a2a9176d650e4a99dedb58f1793003935130579fe17b5a3f698ac5b00e63461204884516060870151612042816112b7565b91612340565b60208151910120036121bc57612060612065916121c6565b611f3c565b61207a835160408601516120428451826112d3565b602081519101209060208151910120036121b357600160f81b600160f81b6120b36120a58651611f8d565b516001600160f81b03191690565b16036121b3576120d0602092600092505160405191828092610eae565b039060025afa156121ae576020600061210681516120fa8551610225604051938492888401611fa9565b60405191828092610eae565b039060025afa156121ae57608060005191019360008086518561215985516102258a60405194859360208501978c899192608093969594919660a084019784526020840152604083015260608201520152565b51906101005afa94612169611329565b805196806121a5575b61218557506104f395505190519161222d565b6001966121a19650810160209081019550019250611fc7915050565b1490565b50861515612172565b611f9d565b94505050505090565b5094505050505090565b6040516104f3916121d860608361044f565b604082527f4142434445464748494a4b4c4d4e4f505152535455565758595a61626364656660208301527f6768696a6b6c6d6e6f707172737475767778797a303132333435363738392d5f60408301526123ec565b93919092938315801561231d575b8015612315575b80156122fd575b6122f3576122578386612494565b156122f35760405191602083526020808401526020604084015260608301527fffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254f6080830152600080516020612eff83398151915260a083015260208260c0816005600019fa1561024457600080516020612eff833981519152946122ed93866122e794518181890994099161256f565b91610f20565b90081590565b5050505050600090565b50600080516020612eff833981519152821015612249565b508115612242565b50600080516020612eff83398151915284101561223b565b816040519182372090565b8051606094939290838111156123b2575b818111156123aa575b5082811061236757505050565b6040519450918290039101601f8201601f19165b8181015185820152601f1901908115612394579061237b565b5050604081840160006020820152016040528252565b90503861235a565b925082612351565b906123c482610486565b6123d1604051918261044f565b82815280926123e2601f1991610486565b0190602036910137565b9081511561248a579061241961241461240d6124088451611c34565b6112c5565b6003900490565b6123ba565b91602083019082805101906020820192835194600085525b83811061244057505050505290565b600360049101916001603f845182828260121c16880101518453828282600c1c16880101518385015382828260061c16880101516002850153168501015160038201530190612431565b50506104f3611314565b600160601b63ffffffff60c01b03198110801590612557575b8015612546575b61253f57600160601b63ffffffff60c01b0319907f5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b908290817fffffffff00000001000000000000000000000000fffffffffffffffffffffffc820990600160601b63ffffffff60c01b0319908181800909080890600160601b63ffffffff60c01b03199080091490565b5050600090565b50801580156124b4575081156124b4565b50600160601b63ffffffff60c01b03198210156124ad565b9092600092908360ff81841580612b66575b612b5b5761258f8887612b6e565b929091821580612b53575b612b18575b5085811c60028660fe1c16015b15612aff57600186821c16600286831c60011b160160018114612ab4575b60028114612aa7575b600314612a9a575b600198600019919091019694959489949392915b886000191161266d5750505050505050505060405191606083015260208252602080830152602060408301526002600160601b0363ffffffff60c01b03196080830152600163ffffffff60601b0360601b1960a083015260208260c0816005600019fa15610244579051600160601b63ffffffff60c01b0319910990565b909192939495969798600163ffffffff60601b0360601b198660020990600160601b63ffffffff60c01b0319828009600160601b63ffffffff60c01b031981830992600160601b63ffffffff60c01b03199082900991600160601b63ffffffff60c01b03199081908f8281830891600160601b63ffffffff60c01b031991820390080960030998600160601b63ffffffff60c01b03199083099c600160601b63ffffffff60c01b0319910991600160601b63ffffffff60c01b031980826002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b03198b80090898600160601b63ffffffff60c01b031991829081038b08900996600160601b63ffffffff60c01b03199088908290840908968b60028c60018d841c16921c60011b16018015612a7d5760018114612a32575b60028114612a27575b600314612a1e575b8215612a0b57600160601b63ffffffff60c01b031990889082908f90090890600160601b63ffffffff60c01b031990898203908290859009089781156128d1575b600160601b63ffffffff60c01b031989800998600160601b63ffffffff60c01b0319908a0992600160601b63ffffffff60c01b0319908a90099c600160601b63ffffffff60c01b03199084900998600160601b63ffffffff60c01b03199109600160601b63ffffffff60c01b031980826002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b031985810381868009080897600160601b63ffffffff60c01b03199384910991600160601b63ffffffff60c01b03199182908a82039008090894985b6000190197969594939291906125ef565b886127f4579a91975090959050600160601b63ffffffff60c01b0319816002600160601b0363ffffffff60c01b0319099a600160601b63ffffffff60c01b03198c8009600160601b63ffffffff60c01b0319818d099c600160601b63ffffffff60c01b0319908290099b600160601b63ffffffff60c01b031990818b8103820890600160601b63ffffffff60c01b0319908c900809600160601b63ffffffff60c01b03199060030991600160601b63ffffffff60c01b0319908d0998600160601b63ffffffff60c01b031991099b600160601b63ffffffff60c01b031980826002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b0319848009089b600160601b63ffffffff60c01b03199384910991600160601b63ffffffff60c01b03199182908e82039008900908946128c0565b60019c50909a8c985090965090506128c0565b505083856127b3565b8592508491506127ab565b7f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29692507f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f591506127a2565b50505099959894600163ffffffff60601b0360601b1903946128c0565b92508096509581926125db565b96975087968994506125d3565b7f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29698507f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f594506125ca565b60001901600186821c16600286831c60011b16016125ac565b9495600080516020612eff8339815191529196820390089484861580612b4b575b1561259f579850505050505050505090565b506001612b39565b50831561259a565b965050505050505090565b508315612581565b91907f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2967f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5918015612d225784610c5a9495831480612d19575b15612d045750600160601b63ffffffff60c01b0319905082600209600160601b63ffffffff60c01b031981800992600160601b63ffffffff60c01b031984840991600160601b63ffffffff60c01b03199085900992600160601b63ffffffff60c01b0319908190816001820890600160601b63ffffffff60c01b0319907fffffffff00000001000000000000000000000000fffffffffffffffffffffffe900809600309600160601b63ffffffff60c01b031980846002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b03198380090892600160601b63ffffffff60c01b03196001860995600160601b63ffffffff60c01b0319906001900994600160601b63ffffffff60c01b031993849109600160601b63ffffffff60c01b03199081039290918290868203900890090890612e44565b909192612d1093612d28565b92909190612e44565b50818414612bc7565b50925090565b9193908015612e3b57600160601b63ffffffff60c01b03199081039384908290600190090893600160601b63ffffffff60c01b031990838203908290600190090892600160601b63ffffffff60c01b031984800993600160601b63ffffffff60c01b031990850992600160601b63ffffffff60c01b03199085900994600160601b63ffffffff60c01b031980876002600160601b0363ffffffff60c01b031909600160601b63ffffffff60c01b031986810381858009080895600160601b63ffffffff60c01b031992839086900991600160601b63ffffffff60c01b03199182908982039008090892600160601b63ffffffff60c01b03199060010991600160601b63ffffffff60c01b03199060010990565b50600191508190565b91909260405190602082526020808301526020604083015260608201526002600160601b0363ffffffff60c01b03196080820152600163ffffffff60601b0360601b1960a082015260208160c0816005600019fa15610244575192600160601b63ffffffff60c01b03199084900992600160601b63ffffffff60c01b03199109600160601b63ffffffff60c01b031991908290800990099156fe0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f500ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc0627f72af0e6f412195b0d8acbe438b28090dd545b7d2331fccf77723561f501a2646970667358221220890c9d20b5fc4df99bded2544912158a1d933f168e2e843d0c1a15a2ff32ce8c64736f6c634300081c003338109edc26e166b5579352ce56a50813177eb25208fd90d61f2f3783862202200000000000000000000000000000000000000000000000000000","id":1,"to":"0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed","type":"ONCHAIN_INTERACTION","value":{"_kind":"bigint","value":"0"}},"type":"NETWORK_INTERACTION_REQUEST"} +{"futureId":"GianoAccountFactory#GianoSmartWallet","networkInteractionId":1,"nonce":15,"type":"TRANSACTION_PREPARE_SEND"} +{"futureId":"GianoAccountFactory#GianoSmartWallet","networkInteractionId":1,"nonce":15,"transaction":{"fees":{"maxFeePerGas":{"_kind":"bigint","value":"1000502"},"maxPriorityFeePerGas":{"_kind":"bigint","value":"1000000"}},"hash":"0xa96b496649ab1ae19f34cf94895b2d5e7f85d11191007c18c4a61b139959dd2b"},"type":"TRANSACTION_SEND"} +{"futureId":"GianoAccountFactory#GianoSmartWallet","hash":"0xa96b496649ab1ae19f34cf94895b2d5e7f85d11191007c18c4a61b139959dd2b","networkInteractionId":1,"receipt":{"blockHash":"0x4bc7bbbfb62e9bfa3c531b4d3fca1d5c48ca95507b2ca987e9479d4f4ab3bfed","blockNumber":3569680,"logs":[{"address":"0x95DF1A132Dd445DE98A308BC56B814D0b57EBF1C","data":"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000","logIndex":0,"topics":["0x38109edc26e166b5579352ce56a50813177eb25208fd90d61f2f378386220220","0x0000000000000000000000000000000000000000000000000000000000000000"]},{"address":"0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed","data":"0x","logIndex":1,"topics":["0xb8fda7e00c6b06a2b54e58521bc5894fee35f1090e5a3bb6390bfe2b98b497f7","0x00000000000000000000000095df1a132dd445de98a308bc56b814d0b57ebf1c","0xcab6a1f198f3723343506595dc1327034cda0670d523fa17ad92221b20c6c7e4"]}],"status":"SUCCESS"},"type":"TRANSACTION_CONFIRM"} +{"futureId":"GianoAccountFactory#GianoSmartWallet","result":{"address":"0x95DF1A132Dd445DE98A308BC56B814D0b57EBF1C","type":"SUCCESS"},"type":"DEPLOYMENT_EXECUTION_STATE_COMPLETE"} +{"artifactId":"GianoAccountFactory#GianoSmartWalletFactory","constructorArgs":["0x95DF1A132Dd445DE98A308BC56B814D0b57EBF1C"],"contractName":"GianoSmartWalletFactory","dependencies":["GianoAccountFactory#GianoSmartWallet"],"from":"0x7abe7bd7889041e46f21491feba3c2117aba8d20","futureId":"GianoAccountFactory#GianoSmartWalletFactory","futureType":"NAMED_ARTIFACT_CONTRACT_DEPLOYMENT","libraries":{},"strategy":"create2","strategyConfig":{"salt":"0xABC00000000000000000000000000000000000000000000000000000000000AB"},"type":"DEPLOYMENT_EXECUTION_STATE_INITIALIZE","value":{"_kind":"bigint","value":"0"}} +{"futureId":"GianoAccountFactory#GianoSmartWalletFactory","networkInteraction":{"data":"0x26307668abc00000000000000000000000000000000000000000000000000000000000ab0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000061c60a0601f6105fc38819003918201601f19168301916001600160401b038311848410176100955780849260209460405283398101031261009057516001600160a01b038116810361009057803b1561007f5760805260405161055090816100ac823960805181818160600152818160a50152818161014801526102d90152f35b63870dfeb760e01b60005260046000fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561001257600080fd5b6000803560e01c8063250b1b41146102bb5780633ffba36f146100d45780635c60da1b1461008f5763db4c545e1461004957600080fd5b3461008c578060031936011261008c5760206100847f00000000000000000000000000000000000000000000000000000000000000006104a7565b604051908152f35b80fd5b503461008c578060031936011261008c576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b506100de3661032d565b919080156102ac576100f1838284610479565b928490604051917fcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f36060527f5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e20766040526160096020527f0000000000000000000000000000000000000000000000000000000000000000601e5268603d3d8160223d3973600a52605f60212060358401523060581b835260ff83538560158401526055832090341596823b1561029057505060019561028b578638818034855af11561027e575b604083905260608790526001600160a01b031694156101dc575b602085604051908152f35b818061020c7ff8e246d8281c915feaf5c1ffd75d9a144f6dbdbbf545e286088661b19d8028f49386888a97610424565b0390a2823b1561027a57604051633796f38760e11b81526020600482015293918291859182916102419160248401919061038a565b038183865af192831561026d5760209361025d575b80806101d1565b8161026791610441565b38610256565b50604051903d90823e3d90fd5b8380fd5b63b12d13eb87526004601cfd5b6101b7565b91509550605f602134f5806101b757633011642587526004601cfd5b633c776be160e01b8452600484fd5b503461008c576020906103036102d03661032d565b906102fd9392937f00000000000000000000000000000000000000000000000000000000000000006104a7565b93610479565b9060ff83536035523060601b60015260155260558120906035526040519060018060a01b03168152f35b9060406003198301126103855760043567ffffffffffffffff811161038557826023820112156103855780600401359267ffffffffffffffff84116103855760248460051b8301011161038557602401919060243590565b600080fd5b90602083828152019060208160051b85010193836000915b8383106103b25750505050505090565b909192939495601f198282030186528635601e1984360301811215610385578301906020823592019167ffffffffffffffff8111610385578036038313610385576020828280600196849695859652848401376000828201840152601f01601f191601019801960194930191906103a2565b93929160209161043c9160408752604087019161038a565b930152565b90601f8019910116810190811067ffffffffffffffff82111761046357604052565b634e487b7160e01b600052604160045260246000fd5b91906104a190610493604051938492602084019687610424565b03601f198101835282610441565b51902090565b90604051917fcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f36060527f5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e2076604052616009602052601e5268603d3d8160223d3973600a52605f60212091604052600060605256fea26469706673582212209043ac39e0deda770cb1183dbc33f14b238e32f625441a810092deac30b2a90e64736f6c634300081c003300000000000000000000000095df1a132dd445de98a308bc56b814d0b57ebf1c00000000","id":1,"to":"0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed","type":"ONCHAIN_INTERACTION","value":{"_kind":"bigint","value":"0"}},"type":"NETWORK_INTERACTION_REQUEST"} +{"futureId":"GianoAccountFactory#GianoSmartWalletFactory","networkInteractionId":1,"nonce":16,"type":"TRANSACTION_PREPARE_SEND"} +{"futureId":"GianoAccountFactory#GianoSmartWalletFactory","networkInteractionId":1,"nonce":16,"transaction":{"fees":{"maxFeePerGas":{"_kind":"bigint","value":"1000502"},"maxPriorityFeePerGas":{"_kind":"bigint","value":"1000000"}},"hash":"0xe470e66ef48031a485e6e382a7412870408717e5440f8c4d15a3788ba4b94197"},"type":"TRANSACTION_SEND"} +{"futureId":"GianoAccountFactory#GianoSmartWalletFactory","hash":"0xe470e66ef48031a485e6e382a7412870408717e5440f8c4d15a3788ba4b94197","networkInteractionId":1,"receipt":{"blockHash":"0x83bf7e88479b45e983955289721f5060522dc8cc5618fb15a52fc8b47fb284d7","blockNumber":3569686,"logs":[{"address":"0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed","data":"0x","logIndex":0,"topics":["0xb8fda7e00c6b06a2b54e58521bc5894fee35f1090e5a3bb6390bfe2b98b497f7","0x0000000000000000000000003451c87749fe28af2995f644abc8d5b1c61a6191","0xcab6a1f198f3723343506595dc1327034cda0670d523fa17ad92221b20c6c7e4"]}],"status":"SUCCESS"},"type":"TRANSACTION_CONFIRM"} +{"futureId":"GianoAccountFactory#GianoSmartWalletFactory","result":{"address":"0x3451C87749FE28Af2995f644aBc8d5B1c61A6191","type":"SUCCESS"},"type":"DEPLOYMENT_EXECUTION_STATE_COMPLETE"} +{"artifactId":"Testing#PermissivePaymaster","constructorArgs":["0x0000000071727De22E5E9d8BAf0edAc6f37da032"],"contractName":"PermissivePaymaster","dependencies":[],"from":"0x7abe7bd7889041e46f21491feba3c2117aba8d20","futureId":"Testing#PermissivePaymaster","futureType":"NAMED_ARTIFACT_CONTRACT_DEPLOYMENT","libraries":{},"strategy":"create2","strategyConfig":{"salt":"0xABC00000000000000000000000000000000000000000000000000000000000AB"},"type":"DEPLOYMENT_EXECUTION_STATE_INITIALIZE","value":{"_kind":"bigint","value":"0"}} +{"futureId":"Testing#PermissivePaymaster","networkInteraction":{"data":"0x26307668abc00000000000000000000000000000000000000000000000000000000000ab00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000a6a60a080604052346101c257602081610a4a803803809161001f82856101c7565b8339810103126101c257516001600160a01b038116908190036101c25733156101ac5760008054336001600160a01b03198216811783556040519290916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a36301ffc9a760e01b815263122a0e9b60e31b6004820152602081602481855afa9081156101a05760009161015e575b501561011957608052604051610849908161020182396080518181816101840152818161022d015281816102c601528181610333015281816103ec015281816104c8015281816105a20152818161063a0152818161070601526107a60152f35b60405162461bcd60e51b815260206004820152601e60248201527f49456e747279506f696e7420696e74657266616365206d69736d6174636800006044820152606490fd5b6020813d602011610198575b81610177602093836101c7565b8101031261019457519081151582036101915750386100b9565b80fd5b5080fd5b3d915061016a565b6040513d6000823e3d90fd5b631e4fbdf760e01b600052600060045260246000fd5b600080fd5b601f909101601f19168101906001600160401b038211908210176101ea57604052565b634e487b7160e01b600052604160045260246000fdfe60806040526004361015610023575b361561001957600080fd5b610021610704565b005b6000803560e01c80630396cb6014610612578063205c28781461057d57806352b7512c1461048a578063715018a6146104305780637c627b21146103895780638da5cb5b14610362578063b0d691fe1461031d578063bb9fe6bf146102aa578063c23a5cea14610208578063c399ec8814610158578063d0e30db0146101415763f2fde38b146100b3575061000e565b3461013e57602036600319011261013e576004356001600160a01b0381169081900361013c576100e161077b565b80156101285781546001600160a01b03198116821783556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b631e4fbdf760e01b82526004829052602482fd5b505b80fd5b508060031936011261013e57610155610704565b80f35b503461013e578060031936011261013e576040516370a0823160e01b81523060048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9081156101fd5782916101c7575b602082604051908152f35b90506020813d6020116101f5575b816101e2602093836106cc565b8101031261013c576020915051386101bc565b3d91506101d5565b6040513d84823e3d90fd5b503461013e57602036600319011261013e57806102236106b1565b61022b61077b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690813b156102a65760405163611d2e7560e11b81526001600160a01b0390911660048201529082908290602490829084905af180156101fd576102955750f35b8161029f916106cc565b61013e5780f35b5050fd5b503461013e578060031936011261013e576102c361077b565b807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316803b1561031a5781809160046040518094819363bb9fe6bf60e01b83525af180156101fd576102955750f35b50fd5b503461013e578060031936011261013e576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b503461013e578060031936011261013e57546040516001600160a01b039091168152602090f35b503461013e57608036600319011261013e576003600435101561013e5760243567ffffffffffffffff811161013c573660238201121561013c57806004013567ffffffffffffffff811161042c573691016024011161013e576103ea6107a4565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361041d5780f35b6301048f7b60e71b8152600490fd5b8280fd5b503461013e578060031936011261013e5761044961077b565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b503461013e57606036600319011261013e5760043567ffffffffffffffff811161013c5761012090600319903603011261013e576104c66107a4565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361041d576040516020810181811067ffffffffffffffff82111761056957604052818152604051809260408252825192836040840152815b84811061055157505091826060938483850101526020830152601f80199101168101030190f35b6020828201810151606088840101528694500161052a565b634e487b7160e01b83526041600452602483fd5b503461013e57604036600319011261013e57806105986106b1565b6105a061077b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690813b156102a65760405163040b850f60e31b81526001600160a01b03909116600482015260248035908201529082908290604490829084905af180156101fd576102955750f35b50602036600319011261013e5760043563ffffffff811680910361013c5761063861077b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316908290823b1561013c578190602460405180958193621cb65b60e51b8352600483015234905af180156106a4576106965780f35b61069f916106cc565b388180f35b50604051903d90823e3d90fd5b600435906001600160a01b03821682036106c757565b600080fd5b90601f8019910116810190811067ffffffffffffffff8211176106ee57604052565b634e487b7160e01b600052604160045260246000fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316803b156106c75760006024916040519283809263b760faf960e01b825230600483015234905af1801561076f576107625750565b600061076d916106cc565b565b6040513d6000823e3d90fd5b6000546001600160a01b0316330361078f57565b63118cdaa760e01b6000523360045260246000fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036107d657565b60405162461bcd60e51b815260206004820152601560248201527414d95b99195c881b9bdd08115b9d1c9e541bda5b9d605a1b6044820152606490fdfea2646970667358221220336a0b056c4d5efa9b0144ace1b8c5977a2d69f3676412f91987dcca3af4b8cd64736f6c634300081c00330000000000000000000000000000000071727de22e5e9d8baf0edac6f37da03200000000000000000000000000000000000000000000","id":1,"to":"0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed","type":"ONCHAIN_INTERACTION","value":{"_kind":"bigint","value":"0"}},"type":"NETWORK_INTERACTION_REQUEST"} +{"futureId":"Testing#PermissivePaymaster","networkInteractionId":1,"nonce":17,"type":"TRANSACTION_PREPARE_SEND"} +{"futureId":"Testing#PermissivePaymaster","networkInteractionId":1,"nonce":17,"transaction":{"fees":{"maxFeePerGas":{"_kind":"bigint","value":"1000502"},"maxPriorityFeePerGas":{"_kind":"bigint","value":"1000000"}},"hash":"0xbff694851bd222b01c795ff5d634d1bc056f809797dd954af800a722a99caa3b"},"type":"TRANSACTION_SEND"} +{"artifactId":"Testing#PrivateERC20","constructorArgs":[{"_kind":"bigint","value":"100000000000000"}],"contractName":"PrivateERC20","dependencies":[],"from":"0x7abe7bd7889041e46f21491feba3c2117aba8d20","futureId":"Testing#PrivateERC20","futureType":"NAMED_ARTIFACT_CONTRACT_DEPLOYMENT","libraries":{},"strategy":"create2","strategyConfig":{"salt":"0xABC00000000000000000000000000000000000000000000000000000000000AB"},"type":"DEPLOYMENT_EXECUTION_STATE_INITIALIZE","value":{"_kind":"bigint","value":"0"}} +{"futureId":"Testing#PrivateERC20","networkInteraction":{"data":"0x26307668abc00000000000000000000000000000000000000000000000000000000000ab00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000b416080604052346103af57610b216020813803918261001c816103b4565b9384928339810103126103af575161003460406103b4565b90600d82526c05072697661746520455243323609c1b602083015261005960406103b4565b600381526228229960e91b602082015282519091906001600160401b0381116102b857600354600181811c911680156103a5575b602082101461029857601f8111610340575b506020601f82116001146102d957819293946000926102ce575b50508160011b916000199060031b1c1916176003555b81516001600160401b0381116102b857600454600181811c911680156102ae575b602082101461029857601f8111610233575b50602092601f82116001146101ce57928192936000926101c3575b50508160011b916000199060031b1c1916176004555b33156101ad5760025481810180911161019757600255600033815280602052604081208281540190556040519182527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203393a360405161074790816103da8239f35b634e487b7160e01b600052601160045260246000fd5b63ec442f0560e01b600052600060045260246000fd5b01519050388061011d565b601f198216936004600052806000209160005b86811061021b5750836001959610610202575b505050811b01600455610133565b015160001960f88460031b161c191690553880806101f4565b919260206001819286850151815501940192016101e1565b60046000527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f830160051c8101916020841061028e575b601f0160051c01905b8181106102825750610102565b60008155600101610275565b909150819061026c565b634e487b7160e01b600052602260045260246000fd5b90607f16906100f0565b634e487b7160e01b600052604160045260246000fd5b0151905038806100b9565b601f198216906003600052806000209160005b8181106103285750958360019596971061030f575b505050811b016003556100cf565b015160001960f88460031b161c19169055388080610301565b9192602060018192868b0151815501940192016102ec565b60036000527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f830160051c8101916020841061039b575b601f0160051c01905b81811061038f575061009f565b60008155600101610382565b9091508190610379565b90607f169061008d565b600080fd5b6040519190601f01601f191682016001600160401b038111838210176102b85760405256fe608080604052600436101561001357600080fd5b60003560e01c90816306fdde031461051a57508063095ea7b31461049457806318160ddd1461047657806323b872dd14610389578063313ce5671461036d578063356adc001461031457806370a08231146102da57806395d89b41146101b9578063a0712d681461011f578063a9059cbb146100ee5763dd62ed3e1461009857600080fd5b346100e95760403660031901126100e9576100b1610636565b6100b961064c565b6001600160a01b039182166000908152600160209081526040808320949093168252928352819020549051908152f35b600080fd5b346100e95760403660031901126100e95761011461010a610636565b6024359033610662565b602060405160018152f35b346100e95760203660031901126100e95760043533156101a35760025481810180911161018d576002556000903382528160205260408220818154019055604051908152817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203393a380f35b634e487b7160e01b600052601160045260246000fd5b63ec442f0560e01b600052600060045260246000fd5b346100e95760003660031901126100e95760405160006004548060011c906001811680156102d0575b6020831081146102bc578285529081156102a05750600114610249575b50819003601f01601f191681019067ffffffffffffffff8211818310176102335761022f829182604052826105ed565b0390f35b634e487b7160e01b600052604160045260246000fd5b905060046000527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b6000905b82821061028a575060209150820101826101ff565b6001816020925483858801015201910190610275565b90506020925060ff191682840152151560051b820101826101ff565b634e487b7160e01b84526022600452602484fd5b91607f16916101e2565b346100e95760203660031901126100e9576001600160a01b036102fb610636565b1660005260006020526020604060002054604051908152f35b346100e95760203660031901126100e9576001600160a01b03610335610636565b163381036103555760005260006020526020604060002054604051908152f35b63295a81c160e01b6000526004523360245260446000fd5b346100e95760003660031901126100e957602060405160128152f35b346100e95760603660031901126100e9576103a2610636565b6103aa61064c565b6001600160a01b03821660008181526001602090815260408083203384529091529020549092604435929160001981106103ea575b506101149350610662565b83811061045957841561044357331561042d57610114946000526001602052604060002060018060a01b03331660005260205283604060002091039055846103df565b634a1406b160e11b600052600060045260246000fd5b63e602df0560e01b600052600060045260246000fd5b8390637dc7a0d960e11b6000523360045260245260445260646000fd5b346100e95760003660031901126100e9576020600254604051908152f35b346100e95760403660031901126100e9576104ad610636565b602435903315610443576001600160a01b031690811561042d57336000526001602052604060002082600052602052806040600020556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b346100e95760003660031901126100e95760006003548060011c906001811680156105e3575b6020831081146102bc578285529081156102a0575060011461058c5750819003601f01601f191681019067ffffffffffffffff8211818310176102335761022f829182604052826105ed565b905060036000527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b6000905b8282106105cd575060209150820101826101ff565b60018160209254838588010152019101906105b8565b91607f1691610540565b91909160208152825180602083015260005b818110610620575060409293506000838284010152601f8019910116010190565b80602080928701015160408286010152016105ff565b600435906001600160a01b03821682036100e957565b602435906001600160a01b03821682036100e957565b6001600160a01b03169081156106fb576001600160a01b03169182156101a35760008281528060205260408120548281106106e15791604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815280845220818154019055604051908152a3565b916064928463391434e360e21b8452600452602452604452fd5b634b637e8f60e11b600052600060045260246000fdfea264697066735822122043357c10239d108382e843ba6fa027502b9442d5de4746f5199e9c7e095fd29564736f6c634300081c003300000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000000000000000","id":1,"to":"0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed","type":"ONCHAIN_INTERACTION","value":{"_kind":"bigint","value":"0"}},"type":"NETWORK_INTERACTION_REQUEST"} +{"futureId":"Testing#PrivateERC20","networkInteractionId":1,"nonce":18,"type":"TRANSACTION_PREPARE_SEND"} +{"futureId":"Testing#PrivateERC20","networkInteractionId":1,"nonce":18,"transaction":{"fees":{"maxFeePerGas":{"_kind":"bigint","value":"1000502"},"maxPriorityFeePerGas":{"_kind":"bigint","value":"1000000"}},"hash":"0xd1c6dd1ce6fb7f66587f3b8b5ba3feb89a4b57c6db8054e748206f4cd71fe502"},"type":"TRANSACTION_SEND"} +{"futureId":"Testing#PermissivePaymaster","hash":"0xbff694851bd222b01c795ff5d634d1bc056f809797dd954af800a722a99caa3b","networkInteractionId":1,"receipt":{"blockHash":"0x5df34ed92cb35b0b7eaa4dc5333ca89afd09be17a9d219c40ce9ca256b6fdb34","blockNumber":3569701,"logs":[{"address":"0x10fa47FdaC8115Ef25e824AEAd78b009931FA73B","data":"0x","logIndex":0,"topics":["0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0","0x0000000000000000000000000000000000000000000000000000000000000000","0x000000000000000000000000ba5ed099633d3b313e4d5f7bdc1305d3c28ba5ed"]},{"address":"0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed","data":"0x","logIndex":1,"topics":["0xb8fda7e00c6b06a2b54e58521bc5894fee35f1090e5a3bb6390bfe2b98b497f7","0x00000000000000000000000010fa47fdac8115ef25e824aead78b009931fa73b","0xcab6a1f198f3723343506595dc1327034cda0670d523fa17ad92221b20c6c7e4"]}],"status":"SUCCESS"},"type":"TRANSACTION_CONFIRM"} +{"futureId":"Testing#PermissivePaymaster","result":{"address":"0x10fa47FdaC8115Ef25e824AEAd78b009931FA73B","type":"SUCCESS"},"type":"DEPLOYMENT_EXECUTION_STATE_COMPLETE"} +{"futureId":"Testing#PrivateERC20","hash":"0xd1c6dd1ce6fb7f66587f3b8b5ba3feb89a4b57c6db8054e748206f4cd71fe502","networkInteractionId":1,"receipt":{"blockHash":"0xc852714af510259aae8f4e236ad06de6539b131b529ec681b1f07dc5c52e679e","blockNumber":3569702,"logs":[{"address":"0x42945BBB6a4C3BD022309741aadeb7976526C739","data":"0x00000000000000000000000000000000000000000000000000005af3107a4000","logIndex":0,"topics":["0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","0x0000000000000000000000000000000000000000000000000000000000000000","0x000000000000000000000000ba5ed099633d3b313e4d5f7bdc1305d3c28ba5ed"]},{"address":"0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed","data":"0x","logIndex":1,"topics":["0xb8fda7e00c6b06a2b54e58521bc5894fee35f1090e5a3bb6390bfe2b98b497f7","0x00000000000000000000000042945bbb6a4c3bd022309741aadeb7976526c739","0xcab6a1f198f3723343506595dc1327034cda0670d523fa17ad92221b20c6c7e4"]}],"status":"SUCCESS"},"type":"TRANSACTION_CONFIRM"} +{"futureId":"Testing#PrivateERC20","result":{"address":"0x42945BBB6a4C3BD022309741aadeb7976526C739","type":"SUCCESS"},"type":"DEPLOYMENT_EXECUTION_STATE_COMPLETE"} +{"data":"0x","dependencies":["Testing#PermissivePaymaster"],"from":"0x7abe7bd7889041e46f21491feba3c2117aba8d20","futureId":"Testing#fundPaymaster","strategy":"create2","strategyConfig":{"salt":"0xABC00000000000000000000000000000000000000000000000000000000000AB"},"to":"0x10fa47FdaC8115Ef25e824AEAd78b009931FA73B","type":"SEND_DATA_EXECUTION_STATE_INITIALIZE","value":{"_kind":"bigint","value":"40000000000000000"}} +{"futureId":"Testing#fundPaymaster","networkInteraction":{"data":"0x","id":1,"to":"0x10fa47FdaC8115Ef25e824AEAd78b009931FA73B","type":"ONCHAIN_INTERACTION","value":{"_kind":"bigint","value":"40000000000000000"}},"type":"NETWORK_INTERACTION_REQUEST"} +{"futureId":"Testing#fundPaymaster","networkInteractionId":1,"nonce":19,"type":"TRANSACTION_PREPARE_SEND"} +{"futureId":"Testing#fundPaymaster","networkInteractionId":1,"nonce":19,"transaction":{"fees":{"maxFeePerGas":{"_kind":"bigint","value":"1000502"},"maxPriorityFeePerGas":{"_kind":"bigint","value":"1000000"}},"hash":"0x07648b088481545ead88a66a2a77636eba7022f4ed437abf98d753f7e16b9a65"},"type":"TRANSACTION_SEND"} +{"futureId":"Testing#fundPaymaster","hash":"0x07648b088481545ead88a66a2a77636eba7022f4ed437abf98d753f7e16b9a65","networkInteractionId":1,"receipt":{"blockHash":"0x821e40ff72f20f5dcc4bf38fe89c9a0068d52e29f1bddd39bf541f221dae246a","blockNumber":3569708,"logs":[{"address":"0x0000000071727De22E5E9d8BAf0edAc6f37da032","data":"0x000000000000000000000000000000000000000000000000008e1bc9bf040000","logIndex":0,"topics":["0x2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4","0x00000000000000000000000010fa47fdac8115ef25e824aead78b009931fa73b"]}],"status":"SUCCESS"},"type":"TRANSACTION_CONFIRM"} +{"futureId":"Testing#fundPaymaster","result":{"type":"SUCCESS"},"type":"SEND_DATA_EXECUTION_STATE_COMPLETE"} \ No newline at end of file From bb575fab246f3bd834b74f1800cf717d22e40fdf Mon Sep 17 00:00:00 2001 From: zeluisping Date: Tue, 19 Aug 2025 00:10:42 +0100 Subject: [PATCH 04/16] restore original create2 salt --- packages/contracts/hardhat.config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/contracts/hardhat.config.ts b/packages/contracts/hardhat.config.ts index 80093d9..70b84ad 100644 --- a/packages/contracts/hardhat.config.ts +++ b/packages/contracts/hardhat.config.ts @@ -68,7 +68,7 @@ const config: HardhatUserConfig = { ignition: { strategyConfig: { create2: { - salt: '0xABC00000000000000000000000000000000000000000000000000000000000AB', + salt: '0xAB000000000000000000000000000000000000000000000000000000000000AB', }, }, }, From 3b7c9d7d7f9a0991d098af7678d8fa3f1b7db795 Mon Sep 17 00:00:00 2001 From: zeluisping Date: Tue, 19 Aug 2025 00:15:09 +0100 Subject: [PATCH 05/16] pair up entrypoint abi with other entrypoint constants --- packages/connector/src/giano-entry-point.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/connector/src/giano-entry-point.ts b/packages/connector/src/giano-entry-point.ts index faa35fb..b6a7f44 100644 --- a/packages/connector/src/giano-entry-point.ts +++ b/packages/connector/src/giano-entry-point.ts @@ -1,7 +1,13 @@ -import { entryPoint07Address, EntryPointVersion } from 'viem/account-abstraction' +import { + entryPoint07Abi, + entryPoint07Address, + EntryPointVersion, +} from 'viem/account-abstraction' export const GianoEntryPointVersion = '0.7' satisfies EntryPointVersion export type GianoEntryPointVersion = typeof GianoEntryPointVersion +export const GianoEntryPointAbi = entryPoint07Abi + export const GianoEntryPointAddress = entryPoint07Address export type GianoEntryPointAddress = typeof GianoEntryPointAddress From dcca63e0133209782832afd0f0b207e86a4bc1a7 Mon Sep 17 00:00:00 2001 From: zeluisping Date: Tue, 19 Aug 2025 00:16:22 +0100 Subject: [PATCH 06/16] fix implementation to use entrypoint constants + GianoSmartAccount type --- .../src/account/toGianoSmartAccount.ts | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/packages/connector/src/account/toGianoSmartAccount.ts b/packages/connector/src/account/toGianoSmartAccount.ts index 448f20e..c49fb1d 100644 --- a/packages/connector/src/account/toGianoSmartAccount.ts +++ b/packages/connector/src/account/toGianoSmartAccount.ts @@ -21,9 +21,13 @@ import { toHex, } from 'viem'; import type { SmartAccount, SmartAccountImplementation, UserOperation, WebAuthnAccount } from 'viem/account-abstraction'; -import { entryPoint07Abi } from 'viem/account-abstraction'; -import { entryPoint07Address, getUserOperationHash, toSmartAccount } from 'viem/account-abstraction'; +import { getUserOperationHash, toSmartAccount } from 'viem/account-abstraction'; import { readContract } from 'viem/actions'; +import { + GianoEntryPointAbi, + GianoEntryPointAddress, + GianoEntryPointVersion, +} from '../giano-entry-point' export type ToGianoSmartAccountParameters = { address?: Address | undefined; @@ -36,7 +40,11 @@ export type ToGianoSmartAccountParameters = { export type ToGianoSmartAccountReturnType = Prettify>; export type GianoSmartAccountImplementation = Assign< - SmartAccountImplementation, + SmartAccountImplementation< + typeof GianoEntryPointAbi, + GianoEntryPointVersion, + { abi: typeof abi; factory: { abi: typeof factoryAbi; address: Address } } + >, { decodeCalls: NonNullable; sign: NonNullable; @@ -66,9 +74,9 @@ export async function toGianoSmartAccount(parameters: ToGianoSmartAccountParamet let address = parameters.address; const entryPoint = { - abi: entryPoint07Abi, - address: entryPoint07Address, - version: '0.7', + abi: GianoEntryPointAbi, + address: GianoEntryPointAddress, + version: GianoEntryPointVersion, } as const; const factory = { abi: factoryAbi, @@ -268,6 +276,8 @@ export async function toGianoSmartAccount(parameters: ToGianoSmartAccountParamet }); } +export type GianoSmartAccount = Awaited> + ///////////////////////////////////////////////////////////////////////////////////////////// // Utilities ///////////////////////////////////////////////////////////////////////////////////////////// From 98b78af52158859655f64913725fe98040e93b74 Mon Sep 17 00:00:00 2001 From: zeluisping Date: Tue, 19 Aug 2025 00:26:34 +0100 Subject: [PATCH 07/16] add an extensible root error type for giano --- packages/connector/src/giano-error.ts | 60 +++++++++++++++++++++++++++ packages/connector/src/index-node.ts | 1 + packages/connector/src/index-web.ts | 1 + 3 files changed, 62 insertions(+) create mode 100644 packages/connector/src/giano-error.ts diff --git a/packages/connector/src/giano-error.ts b/packages/connector/src/giano-error.ts new file mode 100644 index 0000000..89d0d69 --- /dev/null +++ b/packages/connector/src/giano-error.ts @@ -0,0 +1,60 @@ +export type GianoErrorOptions = { + cause?: unknown +} + +/** + * Base error class for all Giano-related errors. + * + * Automatically handles proper prototype chain setup and error naming for subclasses. + * Supports modern error chaining with the `cause` option for better debugging. + * + * @example + * ```typescript + * // Basic usage + * throw new GianoError('Something went wrong') + * + * // With error chaining + * try { + * await someOperation() + * } catch (originalError) { + * throw new GianoError('Operation failed', { cause: originalError }) + * } + * + * // Creating custom error types (zero boilerplate) + * export class GianoCustomError extends GianoError {} + * + * // instanceof checks work correctly + * try { + * throw new GianoCustomError('test') + * } catch (error) { + * console.log(error instanceof GianoError) // true + * console.log(error instanceof GianoCustomError) // true + * console.log(error.name) // "GianoCustomError" + * } + * ``` + */ +export class GianoError extends Error { + public readonly name: string + public readonly cause?: unknown + + /** + * Creates a new GianoError instance. + * + * @param message - The error message + * @param options - Additional options + * @param options.cause - The underlying cause of this error (for error chaining) + */ + constructor(message: string, options?: GianoErrorOptions) { + super(message) + this.name = this.constructor.name + this.cause = options?.cause + + // Ensure proper prototype chain for instanceof checks + Object.setPrototypeOf(this, this.constructor.prototype) + + // Capture stack trace if available (Node.js) + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor as any) + } + } +} diff --git a/packages/connector/src/index-node.ts b/packages/connector/src/index-node.ts index 5c8c5be..19c53c2 100644 --- a/packages/connector/src/index-node.ts +++ b/packages/connector/src/index-node.ts @@ -1,6 +1,7 @@ // Node.js-specific exports without wagmi dependencies export * from './account'; export * from './giano-entry-point'; +export * from './giano-error'; export * from './gianoWallet'; export * from './provider'; export * from './provider-injection'; diff --git a/packages/connector/src/index-web.ts b/packages/connector/src/index-web.ts index eedbf46..957925a 100644 --- a/packages/connector/src/index-web.ts +++ b/packages/connector/src/index-web.ts @@ -2,6 +2,7 @@ export * from './account'; export * from './connector'; export * from './giano-entry-point'; +export * from './giano-error'; export * from './gianoWallet'; export * from './provider'; export * from './provider-injection'; From 46e403c17950918dac904d99e59487aa278aa2c0 Mon Sep 17 00:00:00 2001 From: zeluisping Date: Tue, 19 Aug 2025 00:31:18 +0100 Subject: [PATCH 08/16] extract smart account deployment check logic from provider --- .../connector/src/account/deployment/index.ts | 1 + .../deployment/is-smart-account-deployed.ts | 55 +++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 packages/connector/src/account/deployment/index.ts create mode 100644 packages/connector/src/account/deployment/is-smart-account-deployed.ts diff --git a/packages/connector/src/account/deployment/index.ts b/packages/connector/src/account/deployment/index.ts new file mode 100644 index 0000000..9da7e17 --- /dev/null +++ b/packages/connector/src/account/deployment/index.ts @@ -0,0 +1 @@ +export * from './is-smart-account-deployed' diff --git a/packages/connector/src/account/deployment/is-smart-account-deployed.ts b/packages/connector/src/account/deployment/is-smart-account-deployed.ts new file mode 100644 index 0000000..1e13d28 --- /dev/null +++ b/packages/connector/src/account/deployment/is-smart-account-deployed.ts @@ -0,0 +1,55 @@ +import { PublicClient } from 'viem' +import { SmartAccount } from 'viem/account-abstraction' + +/** + * Checks whether a smart account is deployed on the blockchain. + * + * This function determines deployment status by examining the bytecode at the + * smart account's address. A smart account is considered deployed if there is + * non-empty bytecode at its address (anything other than undefined or '0x'). + * + * @param client - The public client instance used to interact with the blockchain. + * This client is used to fetch the bytecode at the smart account's + * address. + * @param smartAccount - The smart account instance to check for deployment. + * The function will get the account's address and check + * if bytecode exists at that address. + * + * @returns A Promise that resolves to `true` if the smart account is deployed + * (has bytecode at its address), `false` otherwise. + * + * @throws May throw errors from the underlying client operations, such as: + * - Network connectivity issues + * - Invalid address errors + * - RPC provider errors + * + * @example + * ```typescript + * import { createPublicClient, http } from 'viem' + * import { mainnet } from 'viem/chains' + * + * const client = createPublicClient({ + * chain: mainnet, + * transport: http() + * }) + * + * const smartAccount = // ... your configured smart account + * + * const isDeployed = await isSmartAccountDeployed(client, smartAccount) + * + * if (isDeployed) { + * console.log('Smart account is already deployed') + * } else { + * console.log('Smart account needs to be deployed') + * } + * ``` + */ +export const isSmartAccountDeployed = async ( + client: PublicClient, + smartAccount: SmartAccount, +): Promise => { + const address = await smartAccount.getAddress() + const code = await client!.getCode({ address }) + + return code !== undefined && code !== '0x' +} From 3afffa7c0e336f3ccfca05a23791f8b637f736f5 Mon Sep 17 00:00:00 2001 From: zeluisping Date: Tue, 19 Aug 2025 00:40:11 +0100 Subject: [PATCH 09/16] implement an account deployment wait using the "is deployed" check --- .../src/account/deployment/errors.ts | 16 +++ .../connector/src/account/deployment/index.ts | 1 + .../wait-for-smart-account-deployment.ts | 130 ++++++++++++++++++ 3 files changed, 147 insertions(+) create mode 100644 packages/connector/src/account/deployment/errors.ts create mode 100644 packages/connector/src/account/deployment/wait-for-smart-account-deployment.ts diff --git a/packages/connector/src/account/deployment/errors.ts b/packages/connector/src/account/deployment/errors.ts new file mode 100644 index 0000000..ccaa168 --- /dev/null +++ b/packages/connector/src/account/deployment/errors.ts @@ -0,0 +1,16 @@ +import { GianoError, GianoErrorOptions } from '../../giano-error' + +export class SmartAccountDeploymentError extends GianoError {} + +export class WaitForSmartAccountDeploymentError extends SmartAccountDeploymentError {} + +export class WaitForSmartAccountDeploymentTimeoutError extends WaitForSmartAccountDeploymentError { + constructor( + /** The timeout value in milliseconds. */ + readonly timeout: number, + options?: GianoErrorOptions, + ) { + const message = `Timeout waiting for smart account deployment after ${timeout}ms` + super(message, options) + } +} diff --git a/packages/connector/src/account/deployment/index.ts b/packages/connector/src/account/deployment/index.ts index 9da7e17..14de6ab 100644 --- a/packages/connector/src/account/deployment/index.ts +++ b/packages/connector/src/account/deployment/index.ts @@ -1 +1,2 @@ export * from './is-smart-account-deployed' +export * from './wait-for-smart-account-deployment' diff --git a/packages/connector/src/account/deployment/wait-for-smart-account-deployment.ts b/packages/connector/src/account/deployment/wait-for-smart-account-deployment.ts new file mode 100644 index 0000000..58e66f3 --- /dev/null +++ b/packages/connector/src/account/deployment/wait-for-smart-account-deployment.ts @@ -0,0 +1,130 @@ +import { PublicClient } from 'viem' +import { SmartAccount } from 'viem/account-abstraction' +import { + WaitForSmartAccountDeploymentError, + WaitForSmartAccountDeploymentTimeoutError, +} from './errors' +import { isSmartAccountDeployed } from './is-smart-account-deployed' + +const DEFAULT_TIMEOUT_MS = 120_000 + +export type WaitForSmartAccountDeploymentParameters = { + /** The smart account to wait for. */ + smartAccount: SmartAccount + /** + * Polling frequency (in ms). Defaults to the client's pollingInterval config. + * @default client.pollingInterval + */ + pollingInterval?: number | undefined + /** + * Optional timeout (in ms) to wait before stopping polling. + * Defaults to {@link DEFAULT_TIMEOUT_MS}. + */ + timeout?: number | undefined +} + +/** + * Waits for a smart account to be deployed on the blockchain using polling. + * + * This function continuously polls the blockchain to check if the smart account + * has been deployed by examining its bytecode. It will poll immediately upon + * calling, then continue polling at the specified interval until either the + * account is deployed, an error occurs, or the timeout is reached. + * + * @param client - The public client instance used to interact with the blockchain. + * The client's pollingInterval is used as the default polling frequency. + * @param parameters - Configuration object containing the smart account to wait for + * and optional polling/timeout settings. + * + * @returns A Promise that resolves when the smart account is confirmed to be + * deployed on the blockchain (has bytecode at its address). + * + * @throws {WaitForSmartAccountDeploymentTimeoutError} When the specified timeout + * is reached before the smart account is deployed. + * @throws {WaitForSmartAccountDeploymentError} When there's an error checking + * the deployment status during the polling process. + * + * @example + * ```typescript + * import { createPublicClient, http } from 'viem' + * import { mainnet } from 'viem/chains' + * + * const client = createPublicClient({ + * chain: mainnet, + * transport: http() + * }) + * + * const smartAccount = // ... your configured smart account + * + * try { + * // Wait with default settings (default timeout, client's polling interval) + * await waitForSmartAccountDeployment(client, { smartAccount }) + * console.log('Smart account deployment confirmed') + * + * // Wait with custom settings + * await waitForSmartAccountDeployment(client, { + * smartAccount, + * pollingInterval: 1000, // Check every second + * timeout: 60000 // 1 minute timeout + * }) + * } catch (error) { + * if (error instanceof WaitForSmartAccountDeploymentTimeoutError) { + * console.error('Deployment timed out after', error.timeout, 'ms') + * } else { + * console.error('Failed to wait for deployment:', error) + * } + * } + * ``` + */ +export function waitForSmartAccountDeployment( + client: PublicClient, + parameters: WaitForSmartAccountDeploymentParameters, +): Promise { + const { + smartAccount, + pollingInterval = client.pollingInterval, + timeout = DEFAULT_TIMEOUT_MS, + } = parameters + + let timeoutId: NodeJS.Timeout | undefined + let intervalId: NodeJS.Timeout | undefined + + const cleanup = () => { + if (timeoutId) clearTimeout(timeoutId) + if (intervalId) clearInterval(intervalId) + } + + return new Promise((resolve, reject) => { + if (timeout) { + timeoutId = setTimeout(() => { + cleanup() + reject(new WaitForSmartAccountDeploymentTimeoutError(timeout)) + }, timeout) + } + + const poll = async () => { + try { + const isDeployed = await isSmartAccountDeployed(client, smartAccount) + + if (isDeployed) { + cleanup() + resolve() + return + } + } catch (error) { + cleanup() + reject(new WaitForSmartAccountDeploymentError( + 'Failed to check smart account deployment status', + { cause: error } + )) + } + } + + poll() + intervalId = setInterval(poll, pollingInterval) + }) +} + +export type WaitForSmartAccountDeploymentErrorType = + | WaitForSmartAccountDeploymentError + | WaitForSmartAccountDeploymentTimeoutError From 27c541535ac77b948affd910dd0d5c36218e95af Mon Sep 17 00:00:00 2001 From: zeluisping Date: Tue, 19 Aug 2025 00:42:17 +0100 Subject: [PATCH 10/16] extract and adapt smart account ensured deployment from provider --- .../ensure-smart-account-is-deployed.ts | 91 +++++++++++++++++++ .../connector/src/account/deployment/index.ts | 2 + packages/connector/src/account/index.ts | 1 + 3 files changed, 94 insertions(+) create mode 100644 packages/connector/src/account/deployment/ensure-smart-account-is-deployed.ts diff --git a/packages/connector/src/account/deployment/ensure-smart-account-is-deployed.ts b/packages/connector/src/account/deployment/ensure-smart-account-is-deployed.ts new file mode 100644 index 0000000..db80a2a --- /dev/null +++ b/packages/connector/src/account/deployment/ensure-smart-account-is-deployed.ts @@ -0,0 +1,91 @@ +import { EIP1474Methods, PublicClient } from "viem" +import { SmartAccount } from 'viem/account-abstraction' +import { ProviderRequestMethod } from '../../provider' +import { SmartAccountDeploymentError, WaitForSmartAccountDeploymentError } from './errors' +import { isSmartAccountDeployed } from './is-smart-account-deployed' +import { waitForSmartAccountDeployment, WaitForSmartAccountDeploymentErrorType } from './wait-for-smart-account-deployment' + +/** + * Ensures that a smart account is deployed on the blockchain. + * + * This function checks if the smart account is already deployed, and if not, + * it initiates deployment by sending a minimal transaction to the account address. + * The deployment process uses a simple transaction with zero value and empty data + * to trigger the account's creation through the account abstraction infrastructure. + * + * @param smartAccount - The smart account instance to deploy. This should be a + * configured SmartAccount that can provide its address and + * deployment information. + * @param client - The public client instance used to interact with the blockchain. + * This client is used to check deployment status and wait for + * deployment confirmation. + * @param eth_sendTransaction - The provider method for sending transactions. + * This is used to send the deployment transaction + * that triggers smart account creation. + * + * @returns A Promise that resolves when the smart account is confirmed to be + * deployed on the blockchain. + * + * @throws {WaitForSmartAccountDeploymentErrorType} When there's an error during + * the deployment waiting process, including timeout errors or deployment + * status checking failures. + * @throws {SmartAccountDeploymentError} When deployment fails for any other + * reason, such as transaction sending failures or unexpected errors. + * + * @example + * ```typescript + * import { createPublicClient, http } from 'viem' + * import { mainnet } from 'viem/chains' + * + * const client = createPublicClient({ + * chain: mainnet, + * transport: http() + * }) + * + * const smartAccount = // ... your configured smart account + * const sendTransaction = // ... your provider's eth_sendTransaction method + * + * try { + * await ensureSmartAccountIsDeployed(smartAccount, client, sendTransaction) + * console.log('Smart account is now deployed') + * } catch (error) { + * console.error('Failed to deploy smart account:', error) + * } + * ``` + */ +export const ensureSmartAccountIsDeployed = async ( + smartAccount: SmartAccount, + client: PublicClient, + eth_sendTransaction: ProviderRequestMethod, +): Promise => { + try { + const isDeployed = await isSmartAccountDeployed(client, smartAccount) + + if (isDeployed) { + return + } + + // Send a minimal transaction with zero value and empty data + // to trigger the account abstraction deployment process + await eth_sendTransaction([{ + to: await smartAccount.getAddress(), + value: '0x0', + data: '0x', + }]) + + // We check the account code directly instead of using the user-op hash + // to support privacy-enabled bundlers that require signatures for read calls. + // Since the smart account isn't deployed yet, the bundler can't verify signatures + // using the smart account's ERC-4337 signature verification logic. + await waitForSmartAccountDeployment(client, { smartAccount }) + } catch (error) { + if (error instanceof WaitForSmartAccountDeploymentError) { + throw error + } + + throw new SmartAccountDeploymentError( + 'Failed to deploy smart account', + { cause: error } + ) + } +} diff --git a/packages/connector/src/account/deployment/index.ts b/packages/connector/src/account/deployment/index.ts index 14de6ab..fd77a97 100644 --- a/packages/connector/src/account/deployment/index.ts +++ b/packages/connector/src/account/deployment/index.ts @@ -1,2 +1,4 @@ +export * from './ensure-smart-account-is-deployed' +export * from './errors' export * from './is-smart-account-deployed' export * from './wait-for-smart-account-deployment' diff --git a/packages/connector/src/account/index.ts b/packages/connector/src/account/index.ts index 33b75fd..4ab8fc7 100644 --- a/packages/connector/src/account/index.ts +++ b/packages/connector/src/account/index.ts @@ -1,2 +1,3 @@ +export * from './deployment' export * from './get-web-authn-account' export * from './toGianoSmartAccount' From 002dac4eb66da33640463ad9364b4b74774991cb Mon Sep 17 00:00:00 2001 From: zeluisping Date: Fri, 22 Aug 2025 17:27:02 +0100 Subject: [PATCH 11/16] use new account deployment related methods --- packages/connector/src/provider.ts | 59 +++++++----------------------- 1 file changed, 13 insertions(+), 46 deletions(-) diff --git a/packages/connector/src/provider.ts b/packages/connector/src/provider.ts index 5c8fc03..25dfea4 100644 --- a/packages/connector/src/provider.ts +++ b/packages/connector/src/provider.ts @@ -31,6 +31,7 @@ import { import { withValidation } from './provider-injection/_with-validation' import { v4 as uuidv4 } from 'uuid'; import { getWebAuthnAccount } from './account' +import { ensureSmartAccountIsDeployed, isSmartAccountDeployed } from './account/deployment' export enum ChainType { HARDHAT = 0, // NOTE: This is just a placeholder for now @@ -137,19 +138,6 @@ export const createGianoProvider = (options: CreateGianoProviderParams) => { return await injection.submitUserOperation(signedUserOp); }; - const ensureAccountDeployed = async (): Promise => { - if (!smartAccount) return false; - - try { - const accountAddress = await smartAccount.getAddress(); - const accountCode = await client!.getCode({ address: accountAddress }); - return !!(accountCode && accountCode !== '0x'); - } catch (error) { - console.warn('Failed to check account deployment status:', error); - return false; - } - }; - const emit = (event: E, payload: Parameters[0]) => { eventListeners[event]?.forEach((listener) => listener(payload)); }; @@ -171,14 +159,14 @@ export const createGianoProvider = (options: CreateGianoProviderParams) => { console.warn('Smart account not available, falling back to regular call') return client!.request({ method: 'eth_call', params: [call, blockTag] }) } - + // Check if the account is deployed before attempting authenticated calls - const isDeployed = await ensureAccountDeployed() + const isDeployed = await isSmartAccountDeployed(client!, smartAccount) if (!isDeployed) { console.warn('Smart account not deployed yet, falling back to regular call') return client!.request({ method: 'eth_call', params: [call, blockTag] }) } - + // if the lifetime of the static signature is not known, fetch and cache it if (staticSignatureLifetime === 0n) { staticSignatureLifetime = await client!.readContract({ @@ -309,36 +297,15 @@ export const createGianoProvider = (options: CreateGianoProviderParams) => { const xyVector = extractXYCoords(credential.publicKey); - // Check if the smart account is already deployed - const accountAddress = await smartAccount.getAddress(); - const accountCode = await client!.getCode({ address: accountAddress }); - const isDeployed = accountCode && accountCode !== '0x'; - - // NOTE: this is needed to deploy the smart account if we want to use it for read calls right away - // if not, the account will be deployed on the first actual transaction - if (!isDeployed) { - // Deploy the smart account with a minimal transaction - // Option 1: Send 0 ETH to self (minimal deployment transaction) - const deploymentTx = { - to: accountAddress, - value: '0x0', - data: '0x', // Empty data - }; - - try { - console.log('Deploying smart account...'); - const deploymentHash = await methods.eth_sendTransaction([deploymentTx]); - console.log('Smart account deployment submitted with hash:', deploymentHash); - - // Wait for the deployment transaction to be confirmed - const deploymentReceipt = await bundler.waitForUserOperationReceipt({ hash: deploymentHash }); - console.log('Smart account deployed successfully:', deploymentReceipt); - } catch (error) { - console.warn('Failed to deploy smart account:', error); - // If deployment fails, the account will be deployed on the first actual transaction - } - } else { - console.log('Smart account already deployed'); + // NOTE: it is needed to deploy the smart account if we want to + // use it for read calls or to receive funds right away, if not, + // the account will be deployed on the first actual transaction + try { + await ensureSmartAccountIsDeployed( + smartAccount, client!, methods.eth_sendTransaction, + ) + } catch (error) { + console.error('Failed to ensure smart account is deployed:', error) } // Always call the injection callback regardless of deployment status From 38982a5b0f94c18a33133eb948eb0faf0d900398 Mon Sep 17 00:00:00 2001 From: zeluisping Date: Fri, 22 Aug 2025 17:30:00 +0100 Subject: [PATCH 12/16] move getAddress call closer to usage of returned value --- packages/connector/src/provider.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/connector/src/provider.ts b/packages/connector/src/provider.ts index 25dfea4..dbd119f 100644 --- a/packages/connector/src/provider.ts +++ b/packages/connector/src/provider.ts @@ -293,7 +293,6 @@ export const createGianoProvider = (options: CreateGianoProviderParams) => { owners: [toWebAuthnAccount({ credential })], factoryAddress: gianoSmartWalletFactoryAddress, }); - const smartAccountAddress = await smartAccount.getAddress(); const xyVector = extractXYCoords(credential.publicKey); @@ -311,6 +310,8 @@ export const createGianoProvider = (options: CreateGianoProviderParams) => { // Always call the injection callback regardless of deployment status await injection.onCredentialKey(credential.raw.rawId, xyVector); + const smartAccountAddress = await smartAccount.getAddress(); + emit('connect', { chainId: `0x${chain!.id.toString(16)}` }); emit('accountsChanged', [smartAccountAddress]); return [smartAccountAddress]; From 752def5101fcff0ed5245678b9ed01360b9d1a06 Mon Sep 17 00:00:00 2001 From: zeluisping Date: Fri, 22 Aug 2025 17:31:00 +0100 Subject: [PATCH 13/16] add proper typings to provider methods and fix all errors --- packages/connector/src/provider.ts | 154 +++++++++++++++++++++-------- 1 file changed, 114 insertions(+), 40 deletions(-) diff --git a/packages/connector/src/provider.ts b/packages/connector/src/provider.ts index dbd119f..fa3437e 100644 --- a/packages/connector/src/provider.ts +++ b/packages/connector/src/provider.ts @@ -19,7 +19,7 @@ import type { UserOperationReceipt, } from 'viem/account-abstraction'; import { createWebAuthnCredential, toWebAuthnAccount } from 'viem/account-abstraction'; -import type { EIP1193EventMap, EIP1193Parameters, EIP1193RequestFn } from 'viem/types/eip1193'; +import type { EIP1193EventMap, EIP1193Parameters, EIP1193RequestFn, EIP1474Methods } from 'viem/types/eip1193'; import type { GianoSmartAccountImplementation } from './account'; import { toGianoSmartAccount } from './account'; import { GianoEntryPointAddress, GianoEntryPointVersion } from './giano-entry-point' @@ -32,11 +32,22 @@ import { withValidation } from './provider-injection/_with-validation' import { v4 as uuidv4 } from 'uuid'; import { getWebAuthnAccount } from './account' import { ensureSmartAccountIsDeployed, isSmartAccountDeployed } from './account/deployment' +import { GianoError } from './giano-error' +import { TransactionRequest } from 'viem' +import { ExactPartial } from 'viem' +import { RpcTransactionRequest } from 'viem' export enum ChainType { HARDHAT = 0, // NOTE: This is just a placeholder for now } +type PrepareUserOperationOptions = Partial< + Omit< + SendUserOperationParameters, undefined, TransactionRequest[]>, + 'account' | 'calls' | 'callData' + > +> + export const isChainType = (x: unknown): x is ChainType => { return typeof x === 'number' && Object.values(ChainType).includes(x) } @@ -62,11 +73,53 @@ type EventListeners = { [E in keyof EIP1193EventMap]: Set>; }; -type GianoProviderCustomMethods = [{ - Method: 'waitForUserOperationReceipt'; - Parameters: [hash: Hash]; - ReturnType: UserOperationReceipt; -}] +type GianoProviderCustomMethods = [ + { + Method: 'waitForUserOperationReceipt' + Parameters: [hash: Hash] + ReturnType: UserOperationReceipt + }, + { + Method: 'signed_eth_call' + Parameters: readonly [call: ExactPartial] + ReturnType: Hex + }, + { + Method: 'eth_prepareUserOperation' + Parameters: [calls: Call[], options?: PrepareUserOperationOptions] + ReturnType: UserOperation + }, + { + Method: 'eth_signUserOperation' + Parameters: [userOp: UserOperation] + ReturnType: Hex + }, + { + Method: 'eth_sendSignedUserOperation' + Parameters: [signedUserOp: UserOperation] + ReturnType: Hash + }, +] + +export type ProviderRequestMethod< + T extends EIP1474Methods | GianoProviderCustomMethods, + Name extends T[number]['Method'] +> = ( + params: Extract< + T[number], + { Method: Name } + >['Parameters'] +) => Promise['ReturnType']> + +/** + * EIP1474 methods as optional + * Giano custom methods as required + **/ +type GianoProviderMethodsMap = Partial<{ + [T in EIP1474Methods[number] as T['Method']]: ProviderRequestMethod +}> & Required<{ + [T in GianoProviderCustomMethods[number] as T['Method']]: ProviderRequestMethod +}> export type GianoProvider = EIP1193Provider & { request: EIP1193RequestFn @@ -93,7 +146,7 @@ export const createGianoProvider = (options: CreateGianoProviderParams) => { const eventListeners: Partial = {}; const submitUserOperation = async ( - userOpRequest: SendUserOperationParameters, undefined, Call[]> & { + userOpRequest: SendUserOperationParameters, undefined, TransactionRequest[]> & { account: SmartAccount } ) => { @@ -142,29 +195,30 @@ export const createGianoProvider = (options: CreateGianoProviderParams) => { eventListeners[event]?.forEach((listener) => listener(payload)); }; - const methods: Record any> = { + const methods = { eth_accounts: async () => { return smartAccount ? [await smartAccount.getAddress()] : []; }, eth_chainId: async () => { return `0x${chain!.id.toString(16)}`; }, - eth_call: async ([call, blockTag]) => { - console.log('eth_call', { call, blockTag }); - return client!.request({ method: 'eth_call', params: [call, blockTag] }); + eth_call: async (params) => { + console.log('eth_call', params) + + return client!.request({ method: 'eth_call', params }) }, - signed_eth_call: async ([call, blockTag]) => { + signed_eth_call: async (params) => { // Check if smartAccount is available before proceeding with authenticated calls if (!smartAccount) { console.warn('Smart account not available, falling back to regular call') - return client!.request({ method: 'eth_call', params: [call, blockTag] }) + return client!.request({ method: 'eth_call', params }) } // Check if the account is deployed before attempting authenticated calls const isDeployed = await isSmartAccountDeployed(client!, smartAccount) if (!isDeployed) { console.warn('Smart account not deployed yet, falling back to regular call') - return client!.request({ method: 'eth_call', params: [call, blockTag] }) + return client!.request({ method: 'eth_call', params }) } // if the lifetime of the static signature is not known, fetch and cache it @@ -182,33 +236,52 @@ export const createGianoProvider = (options: CreateGianoProviderParams) => { staticSignature = signature staticSignatureSignedAt = signedAt } + + const [transaction] = params + + if (!transaction.to) { + throw new GianoError('signed_eth_call: `transaction.to` is required') + } + if (!transaction.data) { + throw new GianoError('signed_eth_call: `transaction.data` is required') + } + // encode the intended call and forward it to the Giano account contract const result = await client!.readContract({ abi: smartAccount.abi, address: smartAccount.address, functionName: 'signedStaticCall', - args: [{ target: call.to, data: call.data!, signedAt: BigInt(staticSignatureSignedAt), signature: staticSignature }], + args: [{ + target: transaction.to, + data: transaction.data, + signedAt: BigInt(staticSignatureSignedAt), + signature: staticSignature, + }], }) return result }, - wallet_addEthereumChain: () => { + wallet_addEthereumChain: async ([chain]) => { //TODO: implement + return null }, - wallet_revokePermissions: () => { - smartAccount = null; + wallet_revokePermissions: async ([permissions]) => { + // ignoring permissions, revoking all + // we only support one connected account per provider instance + smartAccount = null emit('accountsChanged', []) emit('disconnect', { code: 4900, name: 'Disconnected', message: 'User disconnected', details: 'User disconnected', - }); + }) + + return null }, - wallet_switchEthereumChain: (params) => { - const [{ chainId: chainIdHex }] = params; + wallet_switchEthereumChain: async ([{ chainId: chainIdHex }]) => { const chainId = parseInt(chainIdHex, 16); if (chainId === chain?.id) { - return; + return null } const newChain = chains.find((chain) => chain.id === chainId); if (!newChain) { @@ -223,7 +296,8 @@ export const createGianoProvider = (options: CreateGianoProviderParams) => { transport = newTransport; client = createPublicClient({ transport, chain }); - emit('chainChanged', `0x${chainId.toString(16)}`); + emit('chainChanged', `0x${chainId.toString(16)}`) + return null }, eth_requestAccounts: async () => { if (smartAccount) { @@ -316,12 +390,24 @@ export const createGianoProvider = (options: CreateGianoProviderParams) => { emit('accountsChanged', [smartAccountAddress]); return [smartAccountAddress]; }, - eth_sendTransaction: async (calls: Call[]): Promise => { + eth_sendTransaction: async ([transaction]) => { if (!smartAccount) { - throw new Error('Giano not connected'); + throw new GianoError('Giano not connected') } - return await submitUserOperation({ calls, account: smartAccount }); + if (!transaction.to) { + throw new GianoError('eth_sendTransaction: `to` field is required'); + } + + const calls: Call[] = [{ + to: transaction.to, + value: transaction.value === undefined + ? 0n + : BigInt(transaction.value), + data: transaction.data ?? '0x', + }] + + return await submitUserOperation({ calls, account: smartAccount }) }, waitForUserOperationReceipt: async ([hash]: [Hash]) => { return bundler.waitForUserOperationReceipt({ hash }); @@ -351,18 +437,6 @@ export const createGianoProvider = (options: CreateGianoProviderParams) => { // eth_sign expects raw message hash, not prefixed return smartAccount.signMessage({ message }); }, - eth_signTypedData: async ([address, typedData]: [Address, any]) => { - console.log('eth_signTypedData', { address, typedData }); - if (!smartAccount) { - throw new Error('Giano not connected'); - } - const accountAddress = await smartAccount.getAddress(); - if (address.toLowerCase() !== accountAddress.toLowerCase()) { - throw new Error('Address mismatch'); - } - - return smartAccount.signTypedData(typedData); - }, eth_signTypedData_v4: async ([address, typedData]: [Address, string]) => { console.log('eth_signTypedData_v4', { address, typedData }); if (!smartAccount) { @@ -396,7 +470,7 @@ export const createGianoProvider = (options: CreateGianoProviderParams) => { ...signedUserOp }); }, - eth_prepareUserOperation: async ([calls, options = {}]: [Call[], any]) => { + eth_prepareUserOperation: async ([calls, options = {}]) => { console.log('eth_prepareUserOperation', { calls, options }); if (!smartAccount) { throw new Error('Giano not connected'); @@ -425,7 +499,7 @@ export const createGianoProvider = (options: CreateGianoProviderParams) => { maxPriorityFeePerGas: options.maxPriorityFeePerGas || parseGwei('400'), }; }, - }; + } satisfies GianoProviderMethodsMap methods.wallet_switchEthereumChain([{ chainId: initialChainId.toString(16) }]); From 7672ee777c9da4ae900e521e3c5889edf9df6aea Mon Sep 17 00:00:00 2001 From: zeluisping Date: Fri, 22 Aug 2025 17:32:19 +0100 Subject: [PATCH 14/16] add sdr configurations for frontend example --- services/custom-example/.env-sdr-testnet | 6 +++ services/custom-example/src/wagmi.ts | 60 +++++++++++++++++++++++- 2 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 services/custom-example/.env-sdr-testnet diff --git a/services/custom-example/.env-sdr-testnet b/services/custom-example/.env-sdr-testnet new file mode 100644 index 0000000..e50f76a --- /dev/null +++ b/services/custom-example/.env-sdr-testnet @@ -0,0 +1,6 @@ +NEXT_PUBLIC_GIANO_SMART_WALLET_FACTORY_ADDRESS=0x6b15618d20dB7D70e9dE2Ff90B68Ad0996Bc116c +NEXT_PUBLIC_CONFIG_KEY=sdr-testnet +NEXT_PUBLIC_BUNDLER_RPC_URL=http://51.38.208.86:14337/rpc +NEXT_PUBLIC_PRIVATE_ERC20_ADDRESS=0xdEB42467d0BB4CfB86bcB6c431B42104bEe97863 +NEXT_PUBLIC_PAYMASTER_ADDRESS=0x1251DCe5637971E36179e18f2B4Ecf82c277A56b +SDR_EOA_PRIVATE_KEY=0x0000000000000000000000000000000000000000000000000000000000000000 diff --git a/services/custom-example/src/wagmi.ts b/services/custom-example/src/wagmi.ts index 26dc69c..c72f0fa 100644 --- a/services/custom-example/src/wagmi.ts +++ b/services/custom-example/src/wagmi.ts @@ -1,7 +1,11 @@ import { createGianoConnector, createGianoProvider } from '@appliedblockchain/giano-connector'; import type { Address, Hex, Transport } from 'viem'; import { custom, http, parseGwei } from 'viem'; -import type { BundlerClient, GetPaymasterDataReturnType, GetPaymasterStubDataReturnType, PaymasterActions } from 'viem/account-abstraction'; +import type { + BundlerClient, + GetPaymasterDataReturnType, + GetPaymasterStubDataReturnType, +} from 'viem/account-abstraction' import { createBundlerClient } from 'viem/account-abstraction'; import { createConfig } from 'wagmi'; import type { Chain } from 'wagmi/chains'; @@ -20,6 +24,29 @@ type ConfigMap = Record< } >; +const sdrTestNet = { + id: 381185, + name: 'SilentDataRollup Testnet', + testnet: true, + nativeCurrency: { + // this should be same as ethereum + name: 'Ether', + symbol: 'ETH', + decimals: 18, + }, + rpcUrls: { + default: { + http: ['https://testnet.silentdata.com/ec7e8b3eb491df99357e4cb7903cbc21'], + }, + }, + blockExplorers: { + default: { + name: 'SilentDataRollup Explorer', + url: 'https://explorer-testnet.rollup.silentdata.com/', + }, + }, +} satisfies Chain; + // TODO this is creating creating instances for all options unnecessarily const configMap: ConfigMap = { hardhat: { @@ -66,6 +93,37 @@ const configMap: ConfigMap = { paymaster: true, }), }, + 'sdr-testnet': { + chain: sdrTestNet, + transport: http(), + bundler: createBundlerClient({ + chain: sdrTestNet, + transport: http(envConfig.bundlerRpcUrl), + paymaster: { + getPaymasterData: async () => ({ + paymaster: envConfig.paymasterAddress as Address, + paymasterData: '0x', + paymasterVerificationGasLimit: BigInt(100_000), + paymasterPostOpGasLimit: BigInt(80_000), + }), + getPaymasterStubData: async () => ({ + paymaster: envConfig.paymasterAddress as Address, + paymasterData: '0x', + paymasterVerificationGasLimit: BigInt(100_000), + paymasterPostOpGasLimit: BigInt(80_000), + isFinal: true, + }), + }, + userOperation: { + estimateFeesPerGas: async () => { + return { + maxFeePerGas: parseGwei('200'), + maxPriorityFeePerGas: parseGwei('400'), + }; + }, + }, + }), + }, }; const rpcs = { From f2c8e33b6097be45458d3ddaffd04570a1f12330 Mon Sep 17 00:00:00 2001 From: zeluisping Date: Mon, 3 Nov 2025 11:00:21 +0000 Subject: [PATCH 15/16] chore: update pnpm version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index cd7a4f8..6005272 100644 --- a/package.json +++ b/package.json @@ -21,5 +21,5 @@ "npm-run-all": "^4.1.5", "tsup": "^8.3.5" }, - "packageManager": "pnpm@9.9.0+sha512.60c18acd138bff695d339be6ad13f7e936eea6745660d4cc4a776d5247c540d0edee1a563695c183a66eb917ef88f2b4feb1fc25f32a7adcadc7aaf3438e99c1" + "packageManager": "pnpm@10.20.0" } From d841662d7cff91d8ff17318d26a20d98430a239c Mon Sep 17 00:00:00 2001 From: zeluisping Date: Mon, 3 Nov 2025 11:00:36 +0000 Subject: [PATCH 16/16] chore: update to latest sdr packages 1.0.8 --- packages/contracts/package.json | 4 ++-- pnpm-lock.yaml | 39 +++++++++++++++++++-------------- 2 files changed, 24 insertions(+), 19 deletions(-) diff --git a/packages/contracts/package.json b/packages/contracts/package.json index 5bcc2ab..01b4dac 100644 --- a/packages/contracts/package.json +++ b/packages/contracts/package.json @@ -24,8 +24,8 @@ "types": "dist/index.d.ts", "devDependencies": { "@account-abstraction/contracts": "0.7.0", - "@appliedblockchain/silentdatarollup-core": "^1.0.3", - "@appliedblockchain/silentdatarollup-hardhat-plugin": "^1.0.3", + "@appliedblockchain/silentdatarollup-core": "^1.0.8", + "@appliedblockchain/silentdatarollup-hardhat-plugin": "^1.0.8", "@nomicfoundation/ethereumjs-util": "^9.0.4", "@nomicfoundation/hardhat-chai-matchers": "^2.0.2", "@nomicfoundation/hardhat-ethers": "^3.0.5", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f425a85..8073628 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -61,11 +61,11 @@ importers: specifier: 0.7.0 version: 0.7.0 '@appliedblockchain/silentdatarollup-core': - specifier: ^1.0.3 - version: 1.0.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + specifier: ^1.0.8 + version: 1.0.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@appliedblockchain/silentdatarollup-hardhat-plugin': - specifier: ^1.0.3 - version: 1.0.3(bufferutil@4.0.9)(ethers@6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10) + specifier: ^1.0.8 + version: 1.0.8(bufferutil@4.0.9)(ethers@6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10) '@nomicfoundation/ethereumjs-util': specifier: ^9.0.4 version: 9.0.4 @@ -89,7 +89,7 @@ importers: version: 1.0.12(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)) '@nomicfoundation/hardhat-toolbox': specifier: ^5.0.0 - version: 5.0.0(a5bv3rhc7zwc5e3ixgdc6q4a2i) + version: 5.0.0(4921e5d5c79dbe70bbc62cba7578acf9) '@nomicfoundation/hardhat-verify': specifier: ^2.0.6 version: 2.0.13(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)) @@ -233,16 +233,16 @@ packages: resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} engines: {node: '>=10'} - '@appliedblockchain/silentdatarollup-core@1.0.3': - resolution: {integrity: sha512-WM5nc0UML0OXRZD4/KqVwBdye5BXWEtIomb7UPlIp4E692FLtmtwv8YxBBWQVXG14iDNaCZ1SSUonswSwPik1Q==} + '@appliedblockchain/silentdatarollup-core@1.0.8': + resolution: {integrity: sha512-+F4eZqqj/h7rNuX3AvKzk6apg9HROITybxp+yRXKcwR9t3e0gYgXF947cz8nWiS0xD1PX7u7QfjGdiWlBBpiyA==} engines: {node: '>=18.0.0'} - '@appliedblockchain/silentdatarollup-hardhat-plugin@1.0.3': - resolution: {integrity: sha512-J98UcfW/a6gEizwta9cxhmgNlKd/ndHRfXsTxzNqtXmf5ft+J/GfjF/7fu8jpltj/BVrcRnY2+YmD3KUOjvkHQ==} + '@appliedblockchain/silentdatarollup-hardhat-plugin@1.0.8': + resolution: {integrity: sha512-8PlIqU/5IBp673oDiympzJ0ntySSgQBoNbQkr90BmSDqOPTDYBYxnnSv73LBY1X+aU1VjLIjOP5PLc1GYa5Qhw==} engines: {node: '>=18.0.0'} peerDependencies: - ethers: 6.13.2 - hardhat: 2.22.10 + ethers: ^6.0.0 + hardhat: ^2.0.0 '@babel/code-frame@7.27.1': resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} @@ -3913,6 +3913,9 @@ packages: resolution: {integrity: sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==} engines: {node: '>=4.0.0'} + find-root@1.1.0: + resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} + find-up@2.1.0: resolution: {integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==} engines: {node: '>=4'} @@ -6895,7 +6898,7 @@ snapshots: '@alloc/quick-lru@5.2.0': {} - '@appliedblockchain/silentdatarollup-core@1.0.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@appliedblockchain/silentdatarollup-core@1.0.8(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: debug: 4.3.7 ethers: 6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) @@ -6904,9 +6907,9 @@ snapshots: - supports-color - utf-8-validate - '@appliedblockchain/silentdatarollup-hardhat-plugin@1.0.3(bufferutil@4.0.9)(ethers@6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10)': + '@appliedblockchain/silentdatarollup-hardhat-plugin@1.0.8(bufferutil@4.0.9)(ethers@6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10)': dependencies: - '@appliedblockchain/silentdatarollup-core': 1.0.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@appliedblockchain/silentdatarollup-core': 1.0.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@nomicfoundation/hardhat-ethers': 3.0.8(ethers@6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)) debug: 4.3.7 ethers: 6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) @@ -8131,7 +8134,7 @@ snapshots: ethereumjs-util: 7.1.5 hardhat: 2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10) - '@nomicfoundation/hardhat-toolbox@5.0.0(a5bv3rhc7zwc5e3ixgdc6q4a2i)': + '@nomicfoundation/hardhat-toolbox@5.0.0(4921e5d5c79dbe70bbc62cba7578acf9)': dependencies: '@nomicfoundation/hardhat-chai-matchers': 2.0.8(@nomicfoundation/hardhat-ethers@3.0.8(ethers@6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)))(chai@4.5.0)(ethers@6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)) '@nomicfoundation/hardhat-ethers': 3.0.8(ethers@6.13.2(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.22.10(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.11.24)(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)) @@ -12048,7 +12051,7 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@8.32.1(eslint@8.57.1)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.31.0)(eslint@8.57.1))(eslint@8.57.1): + eslint-module-utils@2.12.0(@typescript-eslint/parser@8.32.1(eslint@8.57.1)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@8.57.1): dependencies: debug: 3.2.7 optionalDependencies: @@ -12076,7 +12079,7 @@ snapshots: doctrine: 2.1.0 eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.32.1(eslint@8.57.1)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.31.0)(eslint@8.57.1))(eslint@8.57.1) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.32.1(eslint@8.57.1)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@8.57.1) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 @@ -12614,6 +12617,8 @@ snapshots: dependencies: array-back: 3.1.0 + find-root@1.1.0: {} + find-up@2.1.0: dependencies: locate-path: 2.0.0